Abstract: ABSTRACT MODULAR DIGITAL MEDIA CONTROLLER Method and system for providing modular capabilities (110) to a digital media controller (DMC) (102) are described. In one embodiment, one or more modular capability (110) prescribing functionalities are selected from a capability repository (108) based on user requirements. The functionalities are provided to the DMC (102) based on at least one or more library files (130) and at least one setting file (132), wherein each of the library files (130) and setting file (132) correspond to each of the one or more modular capability (110). Further, one or more additional modular capability (110) are selected from the capability repository (108) based on additional requirements of the user. The selected additional modular capability (110) are then provided to the DMC (102) by including at least adding the at least one of additional library files library files (130) and replacing setting file (132) with a new setting file. To be published with Fig. 2
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10, rule 13)
1. Title of the invention: MODULAR DIGITAL MEDIA CONTROLLER
2. Applicant(s)
NAME NATIONALITY ADDRESS
TATA CONSULTANCY
SERVICES LIMITED
Indian Nirmal Building, 9th Floor, Nariman Point,
Mumbai, Maharashtra 400021
India
3. Preamble to the description
COMPLETE SPECIFICATION
The following specification particularly describes the invention and the manner in which it
is to be performed.
1
2
TECHNICAL FIELD
[0001] The present subject matter, in general, relates to a DLNA (Digital Living Network
Alliance) network, and in particular, to a modular Digital Media Controller (DMC) for
controlling devices in a DLNA network.
BACKGROUND
[0002] Generally, various electronic devices, such as computer, television, DVD player,
audio player, laptop, mobile phone, and digital camera are used by users in their day-to-day life
in a home environment. The users want their electronic devices to be connected so that they can
share the content of the electronic devices in the home environment. For example, a user may
want to see a photograph or a video which is stored in the digital camera on the television. In
order to achieve such type of connectivity among the electronic devices various standardization
efforts around home network have been developed, such as DLNA (Digital Living Network
Alliance). DLNA is a standard for controlling home information electronic devices. The DLNA
allows digital media content stored in a personal device, such as a mobile phone, a laptop, to be
shared by other home devices, and thus allows a user to conveniently enjoy digital media
content. Further, the DLNA aims at providing interoperability guidelines based on open industry
standards to make it easier for users to share and enjoy digital content, regardless of
manufacturer and platform type.
[0003] In a DLNA network various electronics devices are classified as a digital media
server (DMS) which is capable of storing digital media content, such as computer, laptop, and
network attached storage; a digital media player (DMP) for executing the digital media contents,
such as TVs, stereos and home theaters, wireless monitors, and game consoles; and a digital
media controller (DMC) for digital media content in the DLNA network The digital media
controller (DMC) provides capability of browsing a digital media server, uploading and
downloading digital media content on the digital media server, controlling the digital media
player, and printing capability. The electronic devices, such as mobile handheld devices, laptops
can be configured to act as a digital media controller (DMC).
3
SUMMARY
[0004] This summary is provided to introduce concepts related to providing modular
capabilities to a digital media controller (DMC) and concepts are further described below in the
detailed description. This summary is not intended to identify essential features of the claimed
subject matter nor is it intended for use in determining or limiting the scope of the claimed
subject matter.
[0005] Method and system for providing modular capabilities to a digital media
controller (DMC) are described. In one embodiment, the method comprises selecting one or
more modular capability from a capability repository based on user requirements, wherein each
of the modular capability prescribes a functionality. Further, the method comprises providing at
least one functionality as prescribed by each of the one or more modular capability to the DMC
based on at least one of library files and at least one setting file, wherein each of the library files
and setting file correspond to each of the one or more modular capability. Furthermore, the
method comprises selecting one or more additional modular capability from a capability
repository based on additional requirements of the user. Furthermore, the method comprises
selecting at least one of additional library files and setting file, wherein the at least one of the
additional library files and the setting file correspond to the additional requirements of the user.
Furthermore, the method comprises providing, based on the selecting, at least one functionality
as prescribed by each of the one or more additional modular capability to the DMC, wherein the
providing further includes at least adding the at least one of additional library files library files
and replacing setting file with a new setting file.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] The detailed description is provided with reference to the accompanying figures.
In the figures, the left-most digit(s) of a reference number identifies the figure in which the
reference number first appears. The same numbers are used throughout the drawings to reference
like features and components.
[0007] Fig. 1 illustrates a network environment implementing a digital media controller,
in accordance with an embodiment of the present subject matter.
4
[0008] Fig. 2 illustrates a method of obtaining modular capabilities in digital media
controller, in accordance with an embodiment of the present subject matter.
DETAILED DESCRIPTION
[0009] A digital media controller (DMC), provided in a digital living network alliance
(DLNA) network, is a device configured to provide a plurality of capabilities. The plurality of
capabilities prescribes a functionality to the DMC. The plurality of capabilities may include a
digital media server (DMS) search and browse capability, an upload controller capability, a
download controller capability, digital media renderer (DMR) search and control capability, and
a printing controller capability.
[0010] Conventionally, a DMC is available to the users in the form of a package. The
package includes a predefined set of capabilities provided to the DMC. Typically, a DMC
provider provides most of the capabilities in the predefined set of capabilities. Since the
capabilities of DMC are predefined and it allows user to perform wide range of tasks in the
DLNA network, the conventional DMC proves to be an expensive media controller. Also, a user
can not select the capabilities based on his requirements. Every user has its own requirements
and a user may not require all the capabilities in the DMC. For example, a printer vendor may
only require printing capabilities in the DMC. But, conventional DMC does not allow the feature
of providing limited set of capabilities to the user as per his requirements.
[0011] Further, if a user has bought a conventional DMC and later on the user
requirements change. In such cases, the conventional DMC does not provide the feature of
adding additional capability in the existing DMC. For example, the conventional DMC is
capable of browsing and playing videos on DMR, but does not provide printing capabilities. A
user may require the printing capability for printing an image. For performing the required task
based on additional requirements, the user has to replace the existing DMC with a whole new
version of DMC. The process of replacing the existing DMC with a new DMC for an additional
capability may prove costly to the user.
[0012] In accordance with the present subject matter a modular digital media controller is
described. According to one embodiment of the present subject matter, the modular digital media
controller allows users to select the desired capabilities in the DMC. For example, a user may
select the capabilities to be provided in the DMC based on his requirements.
5
[0013] Further, in accordance with the present subject matter a modular digital media
controller provides feature of extending the existing capabilities by adding new capabilities in
the existing DMC. For instance, a user with a modular DMC capable of browsing and playing
digital media content, such as videos and images on DMR may add printing capabilities to the
existing modular DMC.
[0014] Generally, a DLNA network may include wide variety of DLNA certified
electronic devices. For example, home networked devices, mobile handheld devices, and mobile
interoperability devices. Based on their functionality home networked devices and mobile
handheld devices are classified as a digital media server (DMS), a digital media player (DMP), a
digital media controller (DMC), a digital media renderer (DMR), and a digital media Printer
(DMPr). The mobile interoperability devices include a mobile interoperability unit (MIU) and a
mobile network connectivity function (M-NCF). The mobile interoperability unit provides
content transformation between required media formats for home network and mobile handheld
devices and the mobile network connectivity function provides a bridge between mobile
handheld device and home network devices. The plurality of capabilities is provided to the DMC
as per user’s requirement in the DLNA network. The plurality of capabilities may include a
digital media server (DMS) search and browse capability, an upload controller capability, a
download controller capability, digital media renderer (DMR) search and control capability, and
a printing controller capability.
[0015] In the DLNA network, the modular DMC allows a user to select the desired
capabilities of the DMC from the plurality of capabilities. There is a separate module for each of
the capability (hereinafter referred as modular capability). Each modular capability has library
files and a setting file associated with it. It would be appreciated that the number of setting file
may be more than one without deviating from the scope of the present subject matter. The library
files include all the required libraries to perform the corresponding capabilities and the setting
file includes a license file, which contains all details about licensed modular capabilities, such as
existing modular capability and new modular capability. The user selects the modular capability
corresponding to his requirements. Based on the selection, the selected modular capabilities are
provided to the DMC in the form of an executable file. Once the executable file for the required
modular capability is executed in the DMC, the selected modular capabilities are provided to the
DMC. All libraries corresponding to the selected modular capabilities are stored in the library
6
files and a new setting file will replace the existing setting file. Whenever a user wants to
perform any task in the DLNA network with the selected modular capabilities, the DMC links to
the required libraries in the library files, after checking the license of the modular capability in
the setting file.
[0016] In one implementation, if the user tries to perform a task corresponding to the
modular capability which is not present in the existing DMC. The modular DMC provides a
feature of adding the required modular capability in the existing DMC. The user can extend the
selected capabilities of the DMC by adding additional modular capabilities to the existing
modular capabilities of the DMC. For instance, a user wants to print an image with the help of a
printer. But, the user has initially selected modular capabilities for browsing and playing songs
and videos. On receiving the instruction for printing, the modular DMC provides an option to
user for adding the modular capability corresponding to the printing capability in the existing
DMC. If the user indicates that he wishes to add the additional modular capabilities, the
additional modular capabilities are added to the existing DMC. New libraries are stored in the
library files and the existing setting file is replaced with a new setting file. The new setting file,
in one implementation, contains all the license files of existing and newly added modular
capabilities.
[0017] Thus, the modular DMC in accordance with the present subject matter helps in
achieving modularity in capabilities of DMC, thus, enabling users to select and extend the
capabilities of the DMC in the DLNA network.
[0018] The manner in which the modular capabilities are selected and extended in the
DMC shall be explained in detail with respect to the Figs. 1-2. While aspects of systems and
methods can be implemented in any number of different computing systems environments,
and/or configurations, the embodiments are described in the context of the following exemplary
system architecture(s). Furthermore, the present description has been provided with
implementations that are specific to certain business functions or certain businesses. It would be
appreciated that other implementations are also covered without deviating from the scope of the
present subject matter.
[0019] Fig. 1 illustrates a network environment 100 implementing a digital media
controller 102, in accordance with an embodiment of the present subject matter. In one
7
implementation, the network environment 100 can be a public network environment, including
thousands of personal computers, laptops, various servers, such as blade servers, and other
computing devices. In another implementation, the network environment 100 can be a private
network environment with a limited number of personal computers, servers, laptops and other
computing devices.
[0020] The digital media controller 102 (hereinafter referred to as DMC 102) is
communicatively connected to a plurality of user devices 104-1, 104-2...104-N, collectively
referred to as the user devices 104 and individually referred to as a user device 104, through the
network 106. In one implementation, the user devices are peripheral devices, such as TV’s,
laptops, computers, mobile phones and printers. The user devices 104 in the given network
environment 100 are DLNA compliant devices.
[0021] The DMC 102 and the user devices 104 may be implemented as any of a variety
of conventional computing devices, including, servers, a desktop personal computer, a notebook
or portable computer, a workstation, a mainframe computer, and a laptop. Further, in one
implementation, the DMC 102 may itself be a distributed or centralized network system in which
different computing devices may host one or more of the hardware or software components of
the DMC 102. In another implementation, the various components of the DMC 102 may be
implemented as a part of the same computing device.
[0022] The DMC 102 may be connected to the user devices 104 over the network 106
through one or more communication links. The communication links between the DMC 102 and
the user devices 104 are enabled through a desired form of communication, for example, via
dial-up modem connections, cable links, digital subscriber lines (DSL), wireless or satellite links,
or any other suitable form of communication.
[0023] The network 106 may be a wireless network, a wired network, or a combination
thereof. The network 106 can also be an individual network or a collection of many such
individual networks, interconnected with each other and functioning as a single large network,
e.g., the internet or an intranet. The network 106 can be implemented as one of the different
types of networks, such as intranet, local area network (LAN), wide area network (WAN), the
internet, and such. The network 106 may either be a dedicated network or a shared network,
which represents an association of the different types of networks that use a variety of protocols,
8
for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet
Protocol (TCP/IP), etc., to communicate with each other. Further, the network 106 may include
network devices, such as network switches, hubs, routers, for providing a link between the DMC
102 and the user devices 104. The network devices within the network 106 may interact with the
DMC 102 and the user devices 104 through the communication links.
[0024] Further, the DMC 102 is also communicatively connected to a back-end server
107. The backend server 107 includes a capability repository 108. The user may select the
capabilities from the capability repository 108. The capability repository 108 includes modular
capability 110-1, 110-2, 110-3...104-N, collectively referred to as the modular capabilities 110
and individually referred to as a modular capability 110. Each of the modular capability 110
corresponds to a capability which can be provided to a DMC 102.
[0025] The capability repository 108 described herein can be either be implemented as an
external repository (as shown in the figure) associated with the DMC 102, or an internal
repository implemented within the DMC 102. In one implementation, the capabilities stored in
the capability repository 108 are modular in nature, i.e., there is a separate module for each of the
modular capability 110.
[0026] Once the modular capabilities 110 from the capability repository 108 are selected
by the user, the DMC 102 processes the selected modular capabilities 110 to control the user
devices 104 and the digital content corresponding to the capability in the DLNA network. For
this purpose, the DMC 102 includes one or more processor(s) 112, a memory 116 coupled to the
processor(s) 112, and interface(s) 114. The processor(s) 112 may be implemented as one or more
microprocessors, microcomputers, microcontrollers, digital signal processors, central processing
units, state machines, logic circuitries, and/or any devices that manipulate signals based on
operational instructions. Among other capabilities, the processor(s) 112 are configured to fetch
and execute computer-readable instructions and data stored in the memory 116.
[0027] The interface(s) 114 may include a variety of software and hardware interfaces,
for example, interface for peripheral device(s), such as a keyboard, a mouse, an external
memory, a printer, etc. Further, the interface(s) 114 may enable the DMC 102 to communicate
over the network 106, and may include one or more ports for connecting the DMC 102 with
other computing devices, such as web servers and external databases. The interface(s) 114 may
9
facilitate multiple communications within a wide variety of protocols and networks, such as a
network, including wired networks, e.g., LAN, cable, etc., and wireless networks, e.g., WLAN,
cellular, satellite, etc.
[0028] The memory 116 may include any computer-readable medium known in the art
including, for example, volatile memory, such as static random access memory (SRAM) and
dynamic random access memory (DRAM), and/or non-volatile memory, such as read only
memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and
magnetic tapes. The memory 116 also includes modules 118 and data 120.
[0029] The modules 118 include routines, programs, objects, components, data
structures, etc., which perform particular tasks or implement particular abstract data types. The
module 118 further includes a selection module 122, an execution module 124, and other
module(s) 126. The other module(s) 126 may include programs or coded instructions that
supplement applications and functions on the DMC 102, for example, programs in the operating
system.
[0030] The data 120, amongst other things, serves as a repository for storing data
processed, received, and generated by one or more of the modules 118. The data 120 includes
selection data 128, library file(s) 130, setting file 132, and other data 134. The setting file 132
may include the basic information about the product, such as product name, company name,
product version, DLNA version, capabilities which the user has licensed and license files
corresponding to each of the licensed capability. The library file(s) 130 may includes libraries of
the different modular capabilities 110. The other data 134 may include data generated as a result
of the execution of one or more modules in the other module(s) 126.
[0031] In operation, the selection module 122 within the DMC 102 allows a user to select
the modular capabilities 110 from the capability repository 108 as per his requirements in the
DLNA network. The capability repository 108 may include various modular capabilities 110 in
modular form, such as a digital media server (DMS) search and browse capability, an upload
controller capability, a download controller capability, digital media renderer (DMR) search and
control capability, a +PR1+ printing controller capability, and a +PR2+ printing controller
capability. The user devices 104 which have capability of storing the digital media content, such
as computer, mobile phones, and laptops can be used as a DMS in the DLNA network. Similarly,
10
the user devices 104 having capability of playing and rendering the digital media content can act
as a DMP and DMR respectively. The DMS search and browse capability allows user to search
for digital media content residing in any device coupled to the DMC 102 and allows user to
browse the digital media content stored in the DMS. The upload controller capability allows user
to upload the digital media content to the DMS. Any device from the user devices 104 can be
configured to act as DMS. Similarly, the download controller capability allows user to download
the digital media content form the DMS to the user devices 104. The DMR search and control
capability allows user to search for the DMR in the DLNA network and to control the DMR
through DMC 102 for rendering the digital media content. The +PR1+ printing allows user to
print the required digital media content which is placed locally on the system on which DMC
resides. Similarly, the +PR2+ printing allows user to print the required digital content placed on
a DMS.
[0032] As mentioned above, the selection module 122 allows the user to select the
desired modular capability 110 based on the requirements of the user. The selection module 122
communicates with the back-end server 107 to locate the required modular capabilities 110 in the
capability repository 108 as per user requirements. In one implementation, the capability
repository 108 may be implemented external to the DMC 102. In such cases, the selection
module 122 can be configured to allow user to log on to a web portal for purchasing or
subscribing the required one or more modular capability 110. The selection module 122 may be
configured to select the required modular capabilities 110 as per the user requirements. The
back-end server 107 in which the capability repository is located stores all the information about
the modular capabilities 110, such as cost of the modular capabilities 110, product code, and
billing receipts. Further, the selection module 122 obtains the information about required
modular capabilities 110 and provides the information to the user. Once the user selects the
required modular capabilities 110, the selection module allows user to make payment and obtain
receipts for the selected modular capabilities 110.
[0033] In another implementation, the capability repository 108 may be internal to the
DMC 102. In such cases, the selection 122 module may be configured to allow user to register
on a web portal by creating a unique ID and password. When user logged on to his account by
using the unique ID and the password, the selection module 122 may provide a list of the
modular capabilities 110 from which the user can select the modular capabilities 110 as per his
11
requirements. Based on the selection, the selection module 122 may obtain the price of modular
capabilities 110 and allow user to make payment for the modular capabilities 110 selected from
the list provided to the user. On receiving the payment, the selection module 122 may provide
the modular capabilities 110 to the DMC and generate receipts for the purchased modular
capabilities 110.
[0034] Further, the selection module 122 obtains the required modular capability 110
from the capability repository 108 after fulfilling the requirements of the back-end server 107.
Each of the modular capability 110 prescribes a functionality which can be provided to the DMC
102. The modular capability 110 includes application programming interface (API) for each of
the functionality. This helps in avoiding multiple initializations of various programs while
performing a task through the API’s in complex base source code. Each of the modular
capability 110 is defined at a new layer of abstraction, i.e., abstraction layer encloses the all
API’s in encapsulated form corresponding to the modular capabilities 110. The addition of an
additional layer of abstraction over the base source code helps developers in quickly developing
new DMC 102 capabilities by reducing the development time and efforts. The selected modular
capabilities 110 are stored in the selection data 128. The modular capabilities 110 come in the
form of the executable file. The execution module 124 executes the obtained executable file
corresponding to the modular capability 110. The corresponding libraries and license files are
stored in the library file(s) 130 and setting file 132 respectively.
[0035] Whenever a user wants to perform some task on the devices in the DLNA
network, the execution module 124 locates the required modular capability 110 in the DMC 102.
The execution module 124 reads the license file to check whether the user is authorized to use
the modular capability 110 or not. If the user is licensed to use the modular capability 110, the
execution module 124 links to the library files 130 corresponding to the required modular
capability 110. Else, the execution module stops the task initiated by the user.
[0036] In such a case, in accordance with one embodiment of the subject matter, the
selection module 122 module provides the feature of extending the capabilities of the DMC 102
to add additional modular capabilities in the DMC 102. The user can further select the additional
modular capability 110 to complete the required task. Further, the modular capabilities 110 are
obtained by the selection module 122. The execution module 124 executes the executable file of
12
additional modular capabilities 110. For example, initially a user may require only DMS search
and browse capability. Accordingly, the selection module 122 obtains the modular capability
corresponding to the DMS search and browse capability. Further, the selected modular capability
110 in the form of executable file is executed by the execution module 124. Now, the user can
perform the DMS search and browse operation with the help of the DMC. After some time the
user may require different capability such as +PR1+ printing controller capability. In such cases,
the DMC 102 stops the task requested by the user because the user is not licensed to use the
requested modular capability. The selection module 122 provides an option to user to buy the
modular capability 110 corresponding to the +PR1+ printing controller capability from the
capability repository. The modular capability 110 obtained as per user requirement is provided to
the DMC 102. Now, the user is enabled to perform the printing of digital media content with the
help of DMC 102.
[0037] Fig. 2 illustrates a method 200 of providing modular capabilities to a digital media
controller (DMC) 102, in accordance with an embodiment of the present subject matter. The
method may be described in the general context of computer executable instructions. Generally,
computer executable instructions can include routines, programs, objects, components, data
structures, procedures, modules, functions, etc., that perform particular functions or implement
particular abstract data types. The method may also be practiced in a distributed computing
environment where functions are performed by remote processing devices that are linked through
a communications network. In a distributed computing environment, computer executable
instructions may be located in both local and remote computer storage media, including memory
storage devices.
[0038] The order in which the method is described is not intended to be construed as a
limitation, and any number of the described method blocks can be combined in any order to
implement the method, or an alternative method. Additionally, individual blocks may be deleted
from the method without departing from the spirit and scope of the subject matter described
herein. Furthermore, the method can be implemented in any suitable hardware, software,
firmware, or combination thereof.
[0039] At block 202, one or more modular capabilities 110 are obtained from a
repository storing the capabilities in modular form. One modular capability 110 may prescribe a
13
functionality the DMC 102 selected from amongst several capabilities as described above. The
one or more modular capabilities 110 obtained are based on user requirements. In one
implementation, the selection module 122 allows user to select the required modular capabilities
and obtains the selected one or more modular capability 110 from the capability repository 108.
[0040] At block 204, the one or more modular capability 110are configured with the
DMC 102. The module corresponding to modular capabilities 110 include setting file 132 and
library files 130. The setting file 132 and library files 130 are stored in the DMC 102. In one
implementation, the execution module 124 executes the executable file corresponding to the
obtained modular capabilities 110. After the execution, the libraries and a license file
corresponding to the obtained modular capabilities are included in the library file 130 and setting
file 132 respectively.
[0041] At block 206, if a user faces some additional requirement, the user can add
modular capabilities 110 based on the additional requirements. In one implementation, the
execution module 124 stops the action because the user is not licensed to use the requested
modular capabilities 110. In such cases, the selection module 122 allows user to selects the
additional modular capabilities 110 to complete the task.
[0042] At block 208, additional modular capabilities 110 are provided to the existing
DMC in order to perform the required task. In one implementation, the execution module 124
executes the executable file of the additional modular capabilities 110. The library files of the
additional modular capabilities 110 gets added to the existing library file(s)130 of the modular
capabilities and the setting file 132 is replaced by a new setting, which includes information
about existing and additional modular capabilities, such as license file and license period.
Further, the execution module 124 locates the new license file corresponding to the required
capabilities and link to the library files 130 to provide the modular capabilities 110 to the DMC
102.
[0043] The systems and methods of the present subject matter enable users to modular
capabilities in their DMC as per their requirements in the DLNA network. Thus, the user can add
newly developed capabilities in the existing DMC instead of replacing the existing version of the
DMC. Further, a user can select the capabilities in the DMC as per his requirements.
14
[0044] Although embodiments for systems and methods for enabling users to add
modular capabilities in their DMC as per their requirements in the DLNA network have been
described in language specific to structural features and/or methods, it is to be understood that
the invention is not necessarily limited to the specific features or methods described. Rather, the
specific features and methods are disclosed as exemplary implementations for adding modular
capabilities to the DMC.
15
I/We claim:
1. A method of providing modular capabilities (110) to a digital media controller (DMC)
(102), the method comprising:
selecting one or more modular capability (110) from a capability repository (108)
based on user requirements, wherein each of the modular capability (110) prescribes a
functionality;
providing at least one functionality as prescribed by each of the one or more
modular capability (110) to the DMC (102) based on at least one of library files (130) and
at least one setting file (132), wherein each of the library files (130) and setting file (132)
correspond to each of the one or more modular capability (110);
on receiving at least one additional requirements, selecting one or more additional
modular capability (110) from a capability repository (108) based on additional
requirements of the user;
selecting at least one of additional library files and setting file, wherein the at least
one of the additional library files and the setting file correspond to the additional
requirements of the user; and
providing, based on the selecting, at least one functionality as prescribed by each
of the one or more additional modular capability (110) to the DMC (102), wherein the
providing further includes at least adding the at least one of additional library files library
files (130) and replacing setting file (132) with a new setting file.
2. The method as claimed in claim 1, wherein each of the one or more modular capability
(110) prescribes the functionality in a DLNA (digital living network alliance) network.
3. The method as claimed in claim 1, wherein the user requirements include controlling
DLNA compliant devices and to share digital media content in the DLNA network.
4. The method as claimed in claim 1, wherein the one or more modular capability (110)
includes search for digital media content stored in a digital media server (DMS), upload
controller capability for uploading digital media content on the DMS, download controller
capability for downloading digital media content to the DLNA compliant devices, digital
media renderer (DMR) search and control capability, and printing controller capability.
16
5. The method as claimed in claim 1, wherein the setting file (132) includes a license file
corresponding to each of the one or more modular capabilities (110).
6. A digital media controller (DMC) (102) comprising:
a processor (112); and
a memory (116) coupled to the processor (112), the memory (116) comprising:
a selection module (122) configured to,
obtain modular capabilities (110) from the capability repository
(108) based on user requirements, wherein each of the modular capability
(110) prescribes a functionality; and
obtain additional modular capabilities (110) to be provided to
DMC (102) based on additional requirements of the user; and
an execution module (124) configured to,
execute the modular capabilities (110);
provide the functionalities prescribed by the modular capabilities
(110) to the DMC (102); and
provide the functionalities prescribed by the additional modular
capabilities (110) to the DMC (102).
7. The DMC (102) as claimed in claim 6, wherein each of the modular capability (110) is
stored in an executable file.
8. The DMC (102) as claimed in claim 7, wherein the executable file on execution stores the
setting file (132) and library files (130) of the corresponding modular capability (110) in the
DMC (102).
9. The DMC (102) as claimed in claim 6, wherein each of the modular capabilities (110) are
selected based on user requirements in a DLNA (digital living network alliance) network.
10. A computer-readable medium having embodied thereon a computer program for
executing a method comprising:
selecting one or more modular capability (110) from a capability repository (108)
based on user requirements in a DLNA (digital living network alliance) network, wherein
each of the modular capability (110) prescribes a functionality;
17
providing at least one functionality prescribed by each of the one or more modular
capability (110) to the DMC (102) based on at least one of library files (130) and a
setting file (132) correspond to each of the one or more modular capability (110);
on receiving at least one additional requirements, selecting one or more additional
modular capability (110) from the capability repository (108) based on additional
requirements of the user;
selecting at least one of additional library files and setting file, wherein the at least
one of the additional library files and the setting file correspond to the additional
requirements of the user; and
providing, based on the selecting, at least one functionality as prescribed by each
of the one or more additional modular capability (110) to the DMC (102), wherein the
providing further includes at least adding the at least one of additional library files to
library files (130) and replacing setting file (132) with a new setting file
| # | Name | Date |
|---|---|---|
| 1 | 837-MUM-2012-RELEVANT DOCUMENTS [26-09-2023(online)].pdf | 2023-09-26 |
| 1 | ABSTRACT1.jpg | 2018-08-11 |
| 2 | 837-MUM-2012-RELEVANT DOCUMENTS [27-09-2022(online)].pdf | 2022-09-27 |
| 2 | 837-MUM-2012-POWER OF ATTORNEY(14-6-2012).pdf | 2018-08-11 |
| 3 | 837-MUM-2012-US(14)-HearingNotice-(HearingDate-01-12-2020).pdf | 2021-10-03 |
| 3 | 837-MUM-2012-FORM 3.PDF | 2018-08-11 |
| 4 | 837-MUM-2012-IntimationOfGrant16-12-2020.pdf | 2020-12-16 |
| 4 | 837-MUM-2012-FORM 2.PDF | 2018-08-11 |
| 5 | 837-MUM-2012-PatentCertificate16-12-2020.pdf | 2020-12-16 |
| 5 | 837-MUM-2012-FORM 18(30-3-2012).pdf | 2018-08-11 |
| 6 | 837-MUM-2012-Written submissions and relevant documents [07-12-2020(online)].pdf | 2020-12-07 |
| 6 | 837-MUM-2012-CORRESPONDENCE(30-3-2012).pdf | 2018-08-11 |
| 7 | 837-MUM-2012-PETITION UNDER RULE 137 [04-12-2020(online)].pdf | 2020-12-04 |
| 7 | 837-MUM-2012-CORRESPONDENCE(14-6-2012).pdf | 2018-08-11 |
| 8 | 837-MUM-2012-Proof of Right [04-12-2020(online)].pdf | 2020-12-04 |
| 8 | 837-MUM-2012-FER.pdf | 2018-09-25 |
| 9 | 837-MUM-2012-OTHERS [25-03-2019(online)].pdf | 2019-03-25 |
| 9 | 837-MUM-2012-Correspondence to notify the Controller [24-11-2020(online)].pdf | 2020-11-24 |
| 10 | 837-MUM-2012-CLAIMS [25-03-2019(online)].pdf | 2019-03-25 |
| 10 | 837-MUM-2012-FER_SER_REPLY [25-03-2019(online)].pdf | 2019-03-25 |
| 11 | 837-MUM-2012-COMPLETE SPECIFICATION [25-03-2019(online)].pdf | 2019-03-25 |
| 11 | 837-MUM-2012-DRAWING [25-03-2019(online)].pdf | 2019-03-25 |
| 12 | 837-MUM-2012-COMPLETE SPECIFICATION [25-03-2019(online)].pdf | 2019-03-25 |
| 12 | 837-MUM-2012-DRAWING [25-03-2019(online)].pdf | 2019-03-25 |
| 13 | 837-MUM-2012-CLAIMS [25-03-2019(online)].pdf | 2019-03-25 |
| 13 | 837-MUM-2012-FER_SER_REPLY [25-03-2019(online)].pdf | 2019-03-25 |
| 14 | 837-MUM-2012-Correspondence to notify the Controller [24-11-2020(online)].pdf | 2020-11-24 |
| 14 | 837-MUM-2012-OTHERS [25-03-2019(online)].pdf | 2019-03-25 |
| 15 | 837-MUM-2012-FER.pdf | 2018-09-25 |
| 15 | 837-MUM-2012-Proof of Right [04-12-2020(online)].pdf | 2020-12-04 |
| 16 | 837-MUM-2012-CORRESPONDENCE(14-6-2012).pdf | 2018-08-11 |
| 16 | 837-MUM-2012-PETITION UNDER RULE 137 [04-12-2020(online)].pdf | 2020-12-04 |
| 17 | 837-MUM-2012-CORRESPONDENCE(30-3-2012).pdf | 2018-08-11 |
| 17 | 837-MUM-2012-Written submissions and relevant documents [07-12-2020(online)].pdf | 2020-12-07 |
| 18 | 837-MUM-2012-FORM 18(30-3-2012).pdf | 2018-08-11 |
| 18 | 837-MUM-2012-PatentCertificate16-12-2020.pdf | 2020-12-16 |
| 19 | 837-MUM-2012-IntimationOfGrant16-12-2020.pdf | 2020-12-16 |
| 19 | 837-MUM-2012-FORM 2.PDF | 2018-08-11 |
| 20 | 837-MUM-2012-US(14)-HearingNotice-(HearingDate-01-12-2020).pdf | 2021-10-03 |
| 20 | 837-MUM-2012-FORM 3.PDF | 2018-08-11 |
| 21 | 837-MUM-2012-RELEVANT DOCUMENTS [27-09-2022(online)].pdf | 2022-09-27 |
| 21 | 837-MUM-2012-POWER OF ATTORNEY(14-6-2012).pdf | 2018-08-11 |
| 22 | ABSTRACT1.jpg | 2018-08-11 |
| 22 | 837-MUM-2012-RELEVANT DOCUMENTS [26-09-2023(online)].pdf | 2023-09-26 |
| 1 | SEARCH_STRATEGY_837MUM2012_18-09-2018.pdf |