Method and system for enabling dynamic cache structures in a networked environment
First Claim
1. A method of managing shared data elements among a plurality of different client processes in a network environment, comprising the steps of:
- associating at least one of the shared data elements with a Flow, wherein the Flow is a logical stream of data that is only transmitted to ones of the client processes that explicitly subscribe for updates and comprises a Flow Descriptor and a Flow Block;
sending a notification about an existence of said Flow from a server process to the plurality of different client processes;
creating the Flow Descriptor at each one of the plurality of different client processes when each one of the plurality of different client processes receives notification about the existence of said Flow;
transmitting update requests for the at least one of the shared data elements from at least one client process along said Flow so as to request the receipt of update notifications along said Flow;
transmitting update notifications about the at least one of the shared data elements to said at least one client process along said Flow;
delivering a content of said at least one of the shared data elements to at least one application executing within said at least one client process.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems and computer program products are provided for managing shared data elements among a plurality of different client processes in a network environment. Shared data elements are associated with a Flow. A Flow is a logical stream of data that is only transmitted to a client process that explicitly subscribes for updates from the Flow. Update requests for the shared data elements are transmitted from client processes along the Flow so as to request the receipt of update notifications along the Flow. Update notifications are also transmitted about the shared data elements to the client processes along the Flow which have requested update notifications. Content of the shared data elements is, thereby, delivered to applications executing within said at least one client process which have requested updates of the shared data elements.
-
Citations
33 Claims
-
1. A method of managing shared data elements among a plurality of different client processes in a network environment, comprising the steps of:
-
associating at least one of the shared data elements with a Flow, wherein the Flow is a logical stream of data that is only transmitted to ones of the client processes that explicitly subscribe for updates and comprises a Flow Descriptor and a Flow Block;
sending a notification about an existence of said Flow from a server process to the plurality of different client processes;
creating the Flow Descriptor at each one of the plurality of different client processes when each one of the plurality of different client processes receives notification about the existence of said Flow;
transmitting update requests for the at least one of the shared data elements from at least one client process along said Flow so as to request the receipt of update notifications along said Flow;
transmitting update notifications about the at least one of the shared data elements to said at least one client process along said Flow;
delivering a content of said at least one of the shared data elements to at least one application executing within said at least one client process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
deleting said Flow Descriptor at each of the different client processes when each of the different client processes receives a notification from a server process that said Flow no longer exists.
-
-
3. The method of claim 2, further comprising the steps of:
-
each of the different client processes creating said Flow Block when each of the different client processes subscribes to said Flow;
applying delivered updates along said Flow to said Flow Block; and
each of the different client processes deleting said Flow Block when said each of the different client processes unsubscribes to said Flow.
-
-
4. The method of claim 1, wherein said step of delivering a content of said each of the shared data elements comprises the steps of:
-
ensuring that said Flow is currently valid;
retrieving content of said each of the shared data elements locally to said each of the different client processes if said Flow Block has been created; and
retrieving said content of said each of the shared data elements through a server if said Flow Block has not been created.
-
-
5. The method of claim 4, wherein said step of ensuring that said Flow is currently valid comprises the steps of:
-
ensuring validity of a Container within which said Flow was created;
retrieving content of dynamic state information associated with said Container; and
determining whether said Flow is active within said Container.
-
-
6. The method of claim 5, wherein said step of ensuring validity of a Container comprises the steps of:
-
granting validity if said Container is a Session Container; and
ensuring validity of a Container Flow associated with said Container.
-
-
7. The method of claim 1, wherein said Flow is associated with a Container, and wherein said Container is associated with a Container Flow.
-
8. The method of claim 7, further comprising the steps of:
-
transmitting update notifications about creation of a Flow along said Container Flow; and
transmitting update notifications about deletion of a Flow along said Container Flow.
-
-
9. The method of claim 8, wherein said Container is part of a Container hierarchy whose root is a Session Container.
-
10. The method of claim 8, further comprising the step of:
subscribing for notifications of Flow creation and Flow destruction in said Container.
-
11. The method of claim 10, wherein said step of subscribing for notifications causes delivery of notifications about existing Flows in said Container and further comprises the steps of:
-
subscribing for notifications along said Container Flow;
retrieving a list of Flows currently in said Container;
creating a Container Flow Block;
delivering notifications about said Flows currently in said Container; and
locally registering a callback for delivering future notifications.
-
-
12. A system for managing shared data elements among a plurality of different client processes in a network environment, comprising:
-
means for associating at least one of the shared data elements with a Flow, wherein the Flow is a logical stream of data that is only transmitted to ones of the client processes that explicitly subscribe for updates;
means for sending a notification about an existence of said Flow from a server process to the plurality of different client processes;
means for creating the Flow Descriptor at each one of the plurality of different client processes when each one of the plurality of different client processes receives notification about the existence of said Flow;
means for transmitting update requests for the at least one of the shared data elements from at least one client process along said Flow so as to request the receipt of update notifications along said Flow;
means for transmitting update notifications about the at least one of the shared data elements to said at least one client process along said Flow;
means for delivering a content of said at least one of the shared data elements to at least one application executing within said at least one client process. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
means for deleting said Flow Descriptor at each of said client processes when each of said client processes receives a notification from a server process that said Flow no longer exists.
-
-
14. The system of claim 13, further comprising:
-
means for creating said Flow Block by each of said client processes when each of said client processes subscribes to said Flow;
means for applying delivered updates along said Flow to said Flow Block; and
means for deleting said Flow Block by each of said client processes when each of said client processes unsubscribes to said Flow.
-
-
15. The system of claim 12, wherein said means for delivering a content of said each of the shared data elements comprises:
-
means for ensuring that said Flow is currently valid;
means for retrieving content of the shared data elements locally to each of said client processes if said Flow Block has been created; and
means for retrieving said content of the shared data elements through a server if said Flow Block has not been created.
-
-
16. The system of claim 15, wherein said means for ensuring that said Flow is currently valid comprises:
-
means for ensuring the validity of a Container within which said Flow was created;
means for retrieving the content of dynamic state information associated with said Container; and
means for determining whether said Flow is active within said Container.
-
-
17. The system of claim 16, wherein said means for ensuring the validity of a Container comprises:
-
means for granting validity to said Container if said Container is a Session Container; and
means for ensuring the validity of the Container Flow associated with said Container.
-
-
18. The system of claim 12, wherein said each Flow is associated with a Container, and wherein said Container is associated with a Container Flow.
-
19. The system of claim 18, further comprising:
-
means for transmitting update notifications about the creation of a Flow along said Container Flow; and
means for transmitting update notifications about the deletion of a Flow along said Container Flow.
-
-
20. The system of claim 19, wherein said Container is part of a Container hierarchy whose root is a Session Container.
-
21. The system of claim 19, further comprising:
means for subscribing for notifications about Flow creation and Flow destruction in said Container.
-
22. The system of claim 21, wherein said means for subscribing for notifications causes delivery of notifications about existing Flows in said Container and further comprises:
-
means for subscribing for notifications along said Container Flow;
means for retrieving a list of the Flows currently contained in said Container;
means for creating a Container Flow Block;
means for delivering notifications about said Flows current contained in said Container; and
means for locally registering a callback for delivering future notifications.
-
-
23. A computer program product recorded on computer readable medium for managing shared data elements among a plurality of different client processes in a network environment, comprising:
-
computer readable means for associating at least one of the shared data elements with a Flow, wherein the Flow is a logical stream of data that is only transmitted to ones of the client processes that explicitly subscribe for updates;
computer readable means for sending a notification about an existence of said Flow from a server process to the plurality of different client processes;
computer readable means for creating the Flow Descriptor at each one of the plurality of different client processes when each one of the plurality of different client processes receives notification about the existence of said Flow;
computer readable means for transmitting update requests for the at least one of the shared data elements from at least one client process along said Flow so as to request the receipt of update notifications along said Flow;
computer readable means for transmitting update notifications about the at least one of the shared data elements to said at least one client process along said Flow;
computer readable means for delivering a content of said at least one of the shared data elements to at least one application executing within said at least one client process. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
computer readable means for deleting said Flow Descriptor at each of the different client processes when each of said client processes receives a notification from a server process that said Flow no longer exists.
-
-
25. The program product of claim 24, fuirther comprising:
-
computer readable means for creating said Flow Block by each of the different client processes when said each of the different client processes subscribes to said Flow;
computer readable means for applying delivered updates along said Flow to said Flow Block; and
computer readable means for deleting said Flow Block by said each of the different client processes when said each of the different client processes unsubscribes to said Flow.
-
-
26. The program product of claim 23, wherein said computer readable means for delivering a content of said each of the shared data elements comprises:
-
computer readable means for ensuring that said Flow is currently valid;
computer readable means for retrieving content of said each of the shared data elements locally to said each of the different client process if said Flow Block has been created; and
computer readable means for retrieving said content of said each of the shared data elements through a server if said Flow Block has not been created.
-
-
27. The program product of claim 26, wherein said computer readable means for ensuring that said Flow is currently valid comprises:
-
computer readable means for ensuring validity of a Container within which said Flow was created;
computer readable means for retrieving content of dynamic state information associated with said Container; and
computer readable means for determining whether said Flow is active within said Container.
-
-
28. The program product of claim 27, wherein said computer readable means for ensuring validity of a Container comprises:
-
computer readable means for granting validity if said Container is a Session Container; and
computer readable means for ensuring validity of a Container Flow associated with said Container.
-
-
29. The program product of claim 23, wherein said Flow is associated with a Container, and wherein said Container is associated with a Container Flow.
-
30. The program product of claim 29, further comprising:
-
computer readable means for transmitting update notifications about creation of a Flow along said Container Flow; and
computer readable means for transmitting update notifications about deletion of a Flow along said Container Flow.
-
-
31. The program product of claim 30, wherein said Container is part of a Container hierarchy whose root is a Session Container.
-
32. The program product of claim 30, further comprising:
computer readable means for subscribing for notifications of Flow creation and Flow destruction in said Container.
-
33. The program product of claim 32, wherein said computer readable means for subscribing for notifications causes delivery of notifications about existing Flows in said Container and further comprises:
-
computer readable means for subscribing for notifications along said Container Flow;
computer readable means for retrieving a list of Flows currently in said Container;
computer readable means for creating a Container Flow Block;
computer readable means for delivering notifications about said Flows currently in said Container; and
computer readable means for locally registering a callback for delivering future notifications.
-
Specification