Method and system for tracking software components
First Claim
1. A method in a computer system for tracking a state of an entity for a client, the state of the entity being up or down, the method comprising:
- receiving a request from the client to track the state of the entity;
watching the state of the entity to detect when the entity enters the up state;
when entity enters the up state, performing a behavior specified by the client to be performed when the entity enters the up state;
monitoring the state of the entity to detect when the entity enters the down state;
when the entity enters the down state, performing a behavior specified by the client to be performed when the entity enters the down state;
receiving a request from the client for a reference to the entity; and
in response to receiving the request for a reference to the entity, when the entity is in the up state, providing to the client the reference to the entity; and
when the entity is in the down state, notifying the client that no reference to the entity is being provided.
2 Assignments
0 Petitions
Accused Products
Abstract
A method system for tracking the state of an entity (e.g., an object) on behalf of a client (e.g., an application program). The states of an entity include up and down. The tracking system of the present invention receives a request from a client to track the state of an entity. The tracking system then watches the state of the entity to detect when the entity enters the up state. When the entity enters the up state, the tracking system performs a behavior that is specified by the client to be performed when the entity enters the up state. When the entity is in the up state, the tracking system monitors the state of the entity to detect when the entity enters the down state. When the entity enters the down state, the tracking system performs a behavior that is specified by the client to be performed when the entity enters the down state. When the tracking system receives a request from the client for a pointer to the entity, the tracking system determines the current state of the entity and either provides a pointer to the entity or indicates that a pointer is not being provided.
28 Citations
76 Claims
-
1. A method in a computer system for tracking a state of an entity for a client, the state of the entity being up or down, the method comprising:
-
receiving a request from the client to track the state of the entity;
watching the state of the entity to detect when the entity enters the up state;
when entity enters the up state, performing a behavior specified by the client to be performed when the entity enters the up state;
monitoring the state of the entity to detect when the entity enters the down state;
when the entity enters the down state, performing a behavior specified by the client to be performed when the entity enters the down state;
receiving a request from the client for a reference to the entity; and
in response to receiving the request for a reference to the entity, when the entity is in the up state, providing to the client the reference to the entity; and
when the entity is in the down state, notifying the client that no reference to the entity is being provided. - View Dependent Claims (2, 3, 4, 5, 6)
receiving a notification that the state of the entity has changed;
retrieving a reference to the entity;
when a reference to the entity was previously retrieved, determining whether the newly retrieved reference corresponds to a different occurrence of the entity and, if so, performing the behavior specified by the client to be performed when the entity enters the down state followed by performing the behavior specified by the client to be performed when the client enters the up state.
-
-
3. The method of claim 2 wherein the determining of whether the newly retrieved reference corresponds to a different occurrence of the entity includes checking a time of creation associated with the references.
-
4. The method of claim 2 wherein the determining of whether the newly retrieved reference corresponds to a different occurrence of the entity includes checking unique occurrence identifiers associated with the references.
-
5. The method of claim 2 wherein the retrieving of the reference includes providing a name of the entity.
-
6. The method of claim 2 wherein the entity is an object and the reference is a pointer to the object.
-
7. A computer system for tracking a state of an entity, the system comprising:
-
a client component that registers when an entity is to be tracked, that provides a client behavior to be performed when the entity changes state, and that requests a reference to the entity;
an entity tracking component that receives the registration from the client component to track the entity, that when requested by the client component provides a reference to the entity, that requests a reference to the entity, and that provides a tracking behavior to be performed when the entity changes state that effects the performing of the client behavior provided by the client component; and
an entity manager that when the entity changes state performs the tracking behavior provided by the entity tracking component and that when requested by the entity tracking component provides a reference to the entity.
-
-
8. A computer system for tracking a state of an entity, the system comprising:
-
a registration component that receives a registration from a client to track the entity, the registration indicating a behavior to perform when the entity changes state;
a reference component that retrieves a reference from an entity manager when the reference is in an up state and that provides to the client a reference to the entity when requested by the client; and
a notification component that requests to be notified when the entity changes state and that when a notification is received performs the indicated behavior. - View Dependent Claims (9)
-
-
10. A method in a system for tracking a state of an object in a distributed object environment, the method comprising:
-
registering to be notified when the state of the object changes; and
when the state of the object changes, receiving a notification, performing a behavior associated with the change in state and receiving a behavioral reference to the object. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for tracking at least two states of an object on behalf of a client by a tracking system, comprising:
-
receiving by the tracking system a request from the client to track the at least two states of the object;
watching the state of the object to detect when the object changes state;
when the object enters the first state, first performing at least one behavior that is specified by the client to be performed when the object enters the first state; and
when the object enters the second state, second performing at least one behavior that is specified by the client to be performed when the object enters the second state. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
upon receiving by the tracking system a request from the client for a reference to the object, determining the current state of the object; and
one of (1) providing a reference to the object to the client and (2) indicating that a reference is not being provided to the client.
-
-
24. A method according to claim 23, wherein the reference allows a client to access the behavior of the object.
-
25. A method according to claim 23, wherein the reference is a behavioral reference and the behavior is accessed by invoking a function of the object using the behavioral reference.
-
26. A method according to claim 25, wherein the behavioral reference includes at least one of a pointer reference and a message identification.
-
27. A method according to claim 18, wherein said at least one behavior of said first and second performing includes notification of the client.
-
28. A computer readable medium comprising computer executable instructions for performing the method of claim 18.
-
29. A modulated data signal carrying computer executable instructions for performing the method of claim 18.
-
30. A computing device comprising means for performing the method of claim 18.
-
31. In a distributed computing environment, a method for tracking the state of an object on behalf of a client by a tracking system having at least four possible states, comprising:
-
initially waiting for a client to register an interest in the object;
receiving a request from a client to register an interest in the object; and
upon receiving said request, entering by the tracking system into the state of initializing a reference to the object and initializing a reference to the object for use by the tracking system in communicating with the object, wherein said at least four states include waiting for a client to register an interest in the object, initializing a reference to the object, watching for the object to enter the up state and monitoring the object to enter the down state. - View Dependent Claims (32, 33)
-
-
34. An object tracking system including:
-
a communications bus;
at least one bus management component;
at least one server node and at least one client node, wherein said at least one server node, said at least one client node and said at least one bus management component are interconnected via said communications bus, and wherein each of said at least one client node includes at least one client resource for requesting access to at least one server resource of said at least one server resource;
wherein the at least one bus management component receives a notification from said at least one server node when a resource of said at least one server node one of (1) comes up and (2) goes down, whereby said at least one bus management component tracks all of the resources as they come up and go down. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. A method of communicating between a client node and a resource manager in a tracking system having a communications bus, at least one bus management component, at least one server node and at least one client node, wherein said at least one server node, said at least one client node and said at least one bus management component are interconnected via said communications bus, and wherein each of said at least one client node includes at least one client resource for requesting access to at least one server resource of said at least one server resource, wherein each of said at least one client node includes a resource tracking system and a resource manager, comprising:
-
transmitting a message from a client node to a resource manager to request at least one of (1) watching a resource, (2) stopping of watching a resource, (3) monitoring a resource, (4) stopping of monitoring a resource and (5) finding a resource; and
notifying the client by the resource manager that the resource has one of (1) come up or (2) gone down by sending messages to the client. - View Dependent Claims (48, 49, 50)
-
-
51. A resource tracking system including:
-
a communications bus;
at least one bus management component each including a bus manager object that has a first watched resource table and a first resource directory;
at least one server node and at least one client node including a plurality of clients, wherein said at least one server node, said at least one client node and said at least one bus management component are interconnected via said communications bus, and wherein each of said at least one client nodes includes at least one client resource for requesting access to at least one server resource of said at least one server resource, wherein each of said at least one client nodes includes a resource tracking system and a resource manager, which resource manager includes a second watched resource table, a process/resource list and a second resource directory;
wherein the second watched resource table includes an indication of each resource for which a client located at a client node of the at least one client node has requested to watch along with an indication of the requesting client and wherein the second resource directory includes an identification of each resource that is currently up at the client node. - View Dependent Claims (52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66)
-
-
67. A method of monitoring a resource by a client node in a tracking system having a communications bus, at least one bus management component, at least one server node and at least one client node, wherein said at least one server node, said at least one client node and said at least one bus management component are interconnected via said communications bus, and wherein each of said at least one client nodes includes at least one client resource for requesting access to at least one server resource of said at least one server resource, wherein each of said at least one client nodes includes a resource manager and a first monitor resource component having a monitor resource table and a client connection table and wherein each of said at least one server nodes includes a second monitor resource component having a watched resource table and a resource directory, comprising:
-
a first monitor resource component of a client node communicating with a second monitor resource component of a server node on a peer to peer basis to implement node to node monitoring of at least one resource; and
pursuant to said communicating, upon a request from the client node to the server node to begin monitoring a resource, sending by the client node a monitor resource message to the resource manager and upon a request from the client node to the server node to stop monitoring a resource, sending by the client node a stop monitoring resource message to the resource manager. - View Dependent Claims (68, 69, 70, 71, 72, 73, 74, 75, 76)
receiving by the client node a request to monitor a resource from a client on the client node;
in response to said receiving, utilizing a reference to the resource transmitted to the client node by the client to identify the server node at which the resource is located; and
sending a connect client message to the server node if a connection is not already established.
-
-
69. A method according to claim 68, wherein the connect client message includes a behavioral reference to an interface of the client node and a client context for the server node from the client'"'"'s perspective.
-
70. A method according to claim 67, wherein the monitor resource table includes a mapping from resources being monitored to the clients that requested to monitor the resources.
-
71. A method according to claim 67, wherein the client connection table includes the identification of the server node to which the client nodes is connected along with the client context and the server context for the server and client node implicated by said communicating.
-
72. A method according to claim 67, wherein the server connection table includes behavioral references to the client nodes to which the server node is connected along with the client context and the server context of said communicating.
-
73. A method according to claim 67, wherein a server node of said at least one server node is also a client node of said at least one client node.
-
74. A computer readable medium comprising computer executable instructions for performing the method of claim 67.
-
75. A modulated data signal carrying computer executable instructions for performing the method of claim 67.
-
76. A computing device comprising means for performing the method of claim 67.
Specification