System for updating a set of instantiated content providers based on changes in content provider directory without interruption of a network information services
First Claim
1. A method of modifying content served by a networked information service, the method comprising:
- instantiating a set of one or more content provider classes, the set of instantiated content providers based on encoded representations thereof in a content provider directory;
(a) supplying a client application with content corresponding to the instantiated content providers;
updating the set of instantiated content providers without interruption of the networked information service, the updated set of instantiated content providers based on changes to content provider directory; and
thereafter (b) supplying the client application with content corresponding to the updated set of instantiated content providers.
2 Assignments
0 Petitions
Accused Products
Abstract
A content provider manager has been develop for use in an information services such as a portal or desktop application to provide for “pluggable” content that may be modified simply through changes to the set of content provider components encoded in a repository therefor. Content providers served to clients (e.g., browsers) by an information service are dynamically loaded and instantiated within the execution environment of the information service in correspondence with changes in the repository. In some configurations, a single repository provides a mechanism for additions to, removals from and/or changes in the set of content providing components served by multiple information service installations. Although the techniques described are more generally applicable, they are particularly useful in implementations of dynamic content applications, including user customizable web portal and personalized desktop, e.g., webtop, applications, wherein a suite of content provider interfaces are provided and the content provider interfaces are separately supported, maintained, owned, licensed, etc. or provide content for which a given user or client application may be separately authorized, configured, enabled or licensed.
158 Citations
32 Claims
-
1. A method of modifying content served by a networked information service, the method comprising:
-
instantiating a set of one or more content provider classes, the set of instantiated content providers based on encoded representations thereof in a content provider directory;
(a) supplying a client application with content corresponding to the instantiated content providers;
updating the set of instantiated content providers without interruption of the networked information service, the updated set of instantiated content providers based on changes to content provider directory; and
thereafter (b) supplying the client application with content corresponding to the updated set of instantiated content providers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
wherein the (a) and the (b) supplyings include content supplied by then instantiated content providers responsive to requests from the client application. -
3. A method as in claim 1,
wherein the client application includes a browser; - and
wherein the (a) and the (b) supplyings include content supplied by then instantiated content providers and organized in accordance with user preferences as at least one page for display by the browser.
- and
-
4. A method as in claim 1, wherein the updating includes:
-
for each new content provider, instantiating a corresponding new class; and
adding the corresponding instantiated class to a list of content providers available to the networked information service; and
for each removed content provider, destroying a corresponding previously instantiated class; and
removing the corresponding previously instantiated class from the list of content providers available to the networked information service.
-
-
5. A method as in claim 4, wherein the updating includes:
-
for each modified content provider, destroying a corresponding previously instantiated class; and
re-instantiating a corresponding new class.
-
-
6. A method as in claim 1, further comprising:
periodically examining the content provider directory for a change to the content providers encoded therein.
-
7. A method as in claim 1,
wherein the content providers are encoded as compressed archives of implementing classes and markup language templates; -
wherein the updating includes expanding each new compressed archive and instantiating the implementing classes encoded therein; and
wherein the (b) supplying includes organizing presentation of content to the client application in accordance with corresponding ones of the markup language templates.
-
-
8. A method as in claim 1, further comprising:
selecting subsets of the instantiated content providers for the (a) and the (b) supplying to the client application based on a corresponding user'"'"'s access limitations and preferences.
-
-
9. A method of updating content served by an information resource without interrupting operation thereof, the method comprising:
-
instantiating in accordance with a content repository, a set of software objects implementing respective content sources;
adding to, and removing from, the set of instantiated software objects in correspondence with additions to, and deletions from, the content repository, the instantiated software objects executable by the information resource without recompilation of the information resource and without a service interrupting restart thereof;
in response to a request from a client application, selecting for execution those of the set of software objects consistent with associated user parameters;
executing the selected software objects; and
supplying the client application with content sourced from the selected software objects. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
wherein the client application includes a web browser; wherein the information resource includes a web portal; and
wherein the content supplying includes organizing content from the selected software objects and supplying the organized content to the web browser as a web page.
-
-
11. A method as in claim 9, further comprising:
adding to, and deleting from, the content repository.
-
12. A method as in claim 9,
wherein the content repository includes a file system directory. -
13. A method as in claim 9,
wherein the content repository includes a data store physically separated from the information resource but accessible via a communications network. -
14. A method as in claim 9,
wherein the content repository encodes instantiable representations of the software objects. -
15. A method as in claim 9,
wherein the content repository is shared amongst the information resource and a second information resource. -
16. A method as in claim 15,
wherein at least two of the content repository, the information resource and the second information resource are physically dispersed. -
17. A method as in claim 9,
wherein the user parameters include permissions and preferences particular to a user. -
18. A method as in claim 9, further comprising:
-
periodically checking the content repository for changes thereto; and
performing the adding to, and removing from, in response to a content repository change detected during the periodic checking.
-
-
19. A method of providing a dynamically variable set of content instances in an information resource environment, the method comprising:
-
predefining at least one repository for encoding one or more content instances of the set of content instances;
responsive to addition to the set of content instances of an encoding for a first content instance, instantiating the first content instance within the information resource environment without interruption thereof; and
thereafter, presenting the first content instance as part of the information resource environment. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
periodically checking the at least one repository for the addition.
-
-
21. A method as in claim 19,
wherein the instantiating without interruption is without information resource environment recompilation and without a service interrupting restart of the information resource environment. -
22. A method as in claim 19, further comprising:
-
responsive to removal from the set of content instances of an encoding for a second content instance, dissociating the second content instance from the information resource environment without interruption thereof; and
thereafter, presenting the information resource environment without the second content instance.
-
-
23. A method as in claim 19, further comprising:
-
responsive to modification of an encoding for a third content instance, reinstantiating the third instance within the information resource environment based on the modified encoding, the reinstantiating being without interruption of the information resource environment; and
thereafter, presenting a modified third content instance as part of the information resource environment.
-
-
24. A method as in claim 19,
wherein the information resource environment includes a network service for selecting from the set of content instances and presenting selected content in accordance with a desktop paradigm; - and
wherein the selecting is in accordance with a particular user'"'"'s access limitations and preferences.
- and
-
25. A method as in claim 19,
wherein the repository includes a file system directory; - and
wherein the one or more content instances are encoded as one or more content provider archive files in the file system directory.
- and
-
26. A method as in claim 19,
wherein the information resource environment includes a desktop service executing on a web server; - and
wherein the desktop service supplies a client browser with a customized set of content providers.
- and
-
27. A networked information system comprising:
-
a content manager service responsive to client requests for access to content providers, the content manager instantiating a set of the content providers encoded in a repository therefor; and
means for updating the set of instantiated content providers in correspondence with changes in the repository and without interrupting client request servicing by the content manager.
-
-
28. A computer program product encoded in at least one computer readable medium, the computer program product comprising:
-
content provider manager code executable on one or more computers as a content provider manager service to maintain a time-varying set of instantiated content provider objects in correspondence with a content provider repository; and
information service code executable to service incoming requests for information content, the interface code servicing the incoming requests with information content from the time-varying set of instantiated content provider objects, wherein changes to the time-varying set of instantiated content provider objects are supported without a service interrupting recompilation or restart of the information service code. - View Dependent Claims (29, 30, 31, 32)
at least one instantiable encoding of a content provider object.
-
-
30. A computer program product as recited in claim 28,
wherein the information service code implements a web portal service; -
wherein the incoming requests are from web browsers; and
wherein the content provider manager service manages pluggable content for the web portal service.
-
-
31. A computer program product as recited in claim 28,
wherein the information service code implements a desktop service; - and
wherein the content provider manager service manages pluggable content therefor.
- and
-
32. A computer program product as recited in claim 28,
wherein the at least one computer readable medium is selected from the set of a disk, tape or other magnetic, optical, or electronic storage medium and a network, wireline, wireless or other communications medium.
Specification