Server architecture for network resource information routing
First Claim
1. A server for disseminating resource information over a network, the server comprising:
- a processor;
a memory;
a media service module stored in the memory and executed on the processor to operate in a first user context to facilitate administrative access and control of the server to share resource information over the network, wherein the first user context is a clamped-down user context that provides an associated first level of access, the first level of access comprising;
monitoring for new devices added to the network;
detecting announcements generated by new rendering devices added to the network;
specifying the sharing of resource information, wherein the resource information comprises a resource metadata part and a resource content part, wherein the resource content part comprises media content and the resource metadata part describes attributes of the resource content part;
a supplemental module stored in the memory and executed on the processor to operate in a second user context to facilitate an additional administrative access and control of the server to assist the media service module in sharing resource information over the network, wherein the second user context is a local system user context that provides an associated second level of access to resource information, wherein the second level of access is greater than the first level of access, wherein the second user context is operable to grant the first user context permission to access resource information associated with the second level of access;
logic to provide multiple instances of a configuration and control panel module associated with multiple respective users that are logged onto the server, wherein;
the multiple instances of the configuration and control panel module exist at the same time;
the multiple respective users are logged onto the server at the same time;
each respective user comprises an administrative user that performs administrative functions on the server comprising specifying the sharing of resource information;
each respective user is permitted to start up at most one instance of the configuration and control panel module in a particular terminal service session;
a private application program interface (API) facilitates communication between each instance of the configuration and control panel module and the media service module; and
each instance of the configuration and control panel module is required to provide a callback object to the media service module, wherein the media service module notifies each instance of the configuration and control panel module of a unique client ID by using the associated provided callback object, wherein the requiring to provide the call back object to the media service module prevents a rogue application from masquerading as an instance of the configuration and control panel module and accessing the media service module via the private API; and
logic to notify the callback object of concurrently active instances of the configuration and control panel module, when any instance of the configuration and control panel module modifies global data.
2 Assignments
0 Petitions
Accused Products
Abstract
A media server in a Universal Plug and Play (UPnP) network includes a resource sharing service to govern the distribution of media resource information to rendering devices. The media server includes: a media service module operating in a clamped down user context (e.g., a local service user context) and configured to share resource information over the network; a supplemental module operating in a local system user context and configured to assist the media service module in sharing resource information over the network; and a control panel module operating in a logged on user context and configured to interact with a user via a user interface display. The local system user context provides a higher level of access to media server resources compared to the clamped down user context. The media server also provides fast user switching (FUS) functionality that allows multiple users to have respective instances of the control panel module pending at the same time. Further, the media server includes a mechanism to prevent rogue applications from masquerading as the control panel module and thereby gaining unauthorized access to the media service module.
83 Citations
39 Claims
-
1. A server for disseminating resource information over a network, the server comprising:
-
a processor; a memory; a media service module stored in the memory and executed on the processor to operate in a first user context to facilitate administrative access and control of the server to share resource information over the network, wherein the first user context is a clamped-down user context that provides an associated first level of access, the first level of access comprising; monitoring for new devices added to the network; detecting announcements generated by new rendering devices added to the network; specifying the sharing of resource information, wherein the resource information comprises a resource metadata part and a resource content part, wherein the resource content part comprises media content and the resource metadata part describes attributes of the resource content part; a supplemental module stored in the memory and executed on the processor to operate in a second user context to facilitate an additional administrative access and control of the server to assist the media service module in sharing resource information over the network, wherein the second user context is a local system user context that provides an associated second level of access to resource information, wherein the second level of access is greater than the first level of access, wherein the second user context is operable to grant the first user context permission to access resource information associated with the second level of access; logic to provide multiple instances of a configuration and control panel module associated with multiple respective users that are logged onto the server, wherein; the multiple instances of the configuration and control panel module exist at the same time; the multiple respective users are logged onto the server at the same time; each respective user comprises an administrative user that performs administrative functions on the server comprising specifying the sharing of resource information; each respective user is permitted to start up at most one instance of the configuration and control panel module in a particular terminal service session; a private application program interface (API) facilitates communication between each instance of the configuration and control panel module and the media service module; and each instance of the configuration and control panel module is required to provide a callback object to the media service module, wherein the media service module notifies each instance of the configuration and control panel module of a unique client ID by using the associated provided callback object, wherein the requiring to provide the call back object to the media service module prevents a rogue application from masquerading as an instance of the configuration and control panel module and accessing the media service module via the private API; and logic to notify the callback object of concurrently active instances of the configuration and control panel module, when any instance of the configuration and control panel module modifies global data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A server for disseminating resource information over a network, the server comprising:
-
a processor; a memory; a media service module stored in the memory and configured to be executed on the processor to operate in a first user context to facilitate administrative access and control of the server, and configured to share resource information over the network, wherein the first user context is a clamped-down user context that provides an associated first level of access, the first level of access comprising; monitoring for new devices added to the network; detecting announcements generated by new rendering devices added to the network; responding to a request for resource information presentation to a rendering device made by a control point device coupled to the network; specifying the sharing of individual parts of resource information, wherein the individual parts of resource information comprise resource metadata parts and resource content parts; a private application program interface (API) to facilitate communications between an administrative configuration and control panel module and the media service module; a supplemental module stored in the memory and configured to be executed on the processor to operate in a second user context to facilitate an additional administrative access and control of the server, and configured to assist the media service module in sharing resource information over the network, wherein; the second user context is a local system user context that provides an associated second level of access to resource information; the second level of access is greater than the first level of access; the second user context is operable to grant the first user context permission to access resource information associated with the second level of access, the second level of access comprising; reading of stored resource information; deleting of stored resource information; and writing to stored resource information; in response to an event, the second user context starts an administrative configuration and control panel module to operate in a third user context configured to interact with a user, wherein; upon startup, the administrative configuration and control panel module is required to call an initialize method in the media service module and provide a required call back object to the media service module, wherein the media service module uses the callback object to supply a client ID to the administrative configuration and control panel module, wherein when the private API is reverse-engineered, thereby facilitating a rogue application to masquerade as an administrative configuration and control panel module to maliciously access the media service module, the requirement that the rogue application provide the callback object to the media service module presents an additional hurdle to the rogue application, preventing the rogue application from accessing the media service module; when the administrative configuration and control panel module attempts to interact with the media service module on another occasion, the administrative configuration and control panel module provides its client ID to the media service module for verification of the authenticity of the administrative configuration and control panel module; and the administrative configuration and control panel module facilitates a user to perform functions on the server, the functions comprising; processing the addition and/or removal of devices to the network; managing resources having resource information to be shared out over the network and distribution criteria which govern the dissemination of the resource information; specifying distribution criteria for resource content parts and resource metadata parts of the resource information; starting and/or stopping the server; and starting and/or stopping resource sharing functionality provided by the server for sharing out resource information.
-
Specification