Mechanism for decentralized entity presence
First Claim
1. A network system, comprising:
- two or more nodes each configured to implement an instance of a presence service on a network, wherein the presence service instances are configured to cooperatively form a presence service view on the network, wherein each presence service instance in the presence service view is configured to locally store presence information received from one or more entities coupled to the presence service instance and to distribute an index of the locally stored presence information to one or more other presence service instances in the presence service view;
an entity configured to couple to one of the presence service instances, wherein the entity is further configured to provide presence information corresponding to the entity to the presence service instance to publish the entity as present on the network; and
an edge node configured to send a query for the entity to another one of the presence service instances in the presence service view;
wherein the presence service instances in the presence service view are configured to route the query through the presence service view to the entity in accordance with the distributed indexes; and
wherein, in response to the entity receiving the query, the edge node and the entity are configured to communicate directly, without going through any of the presence service instances, to negotiate a contract for the edge node accessing the entity.
2 Assignments
0 Petitions
Accused Products
Abstract
System and method for decentralized entity presence are described. Presence services may collaborate to form a presence service view on the network. A node providing an entity on the network may provide an entity advertisement to a presence service to advertise the entity'"'"'s presence on the network. The presence information may be indexed locally by a presence service, and the indexes may be shared with one or more other presence services within the presence service view. A presence service may accept queries from nodes for a specific entity, and walk the query within the presence service view to locate the target entity. The query may then be forwarded to the node advertising the presence entity. The node providing the entity may respond directly to the querying node without going through the presence service. A presence contract may then be negotiated between the nodes without going through the presence service.
-
Citations
38 Claims
-
1. A network system, comprising:
-
two or more nodes each configured to implement an instance of a presence service on a network, wherein the presence service instances are configured to cooperatively form a presence service view on the network, wherein each presence service instance in the presence service view is configured to locally store presence information received from one or more entities coupled to the presence service instance and to distribute an index of the locally stored presence information to one or more other presence service instances in the presence service view; an entity configured to couple to one of the presence service instances, wherein the entity is further configured to provide presence information corresponding to the entity to the presence service instance to publish the entity as present on the network; and an edge node configured to send a query for the entity to another one of the presence service instances in the presence service view; wherein the presence service instances in the presence service view are configured to route the query through the presence service view to the entity in accordance with the distributed indexes; and wherein, in response to the entity receiving the query, the edge node and the entity are configured to communicate directly, without going through any of the presence service instances, to negotiate a contract for the edge node accessing the entity. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A network system, comprising:
-
a plurality of nodes each configured to implement an instance of a presence service on a network, wherein the presence service instances are configured to cooperatively form a presence service view on the network; a plurality of entities each configured to couple to one of the presence service instances, wherein each entity is further configured to provide presence information corresponding to the entity to a presence service instance to which it is coupled to publish the entity as present on the network; wherein each presence service instance is configured to; locally store presence information received from one or more of the plurality of entities coupled to the presence service instance; and distribute an index of the locally stored presence information to at least one other of the presence service instances in the presence service view; an edge node configured to send a query for a particular one of the plurality of entities to one of the presence service instances in the presence service view; wherein the presence service instances in the presence service view are configured to route the query through the presence service view to the particular one of the plurality of entities according to the distributed indexes; and wherein, in response to the particular one of the plurality of entities receiving the query, the edge node and the particular one of the plurality of entities are configured to communicate directly, without going through any of the presence service instances, to negotiate a contract for the edge node accessing the entity. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A node, comprising:
-
a processor; and a memory comprising program instructions, wherein the program instructions are executable by the processor to implement a presence service configured to; cooperate with one or more other presence services on other nodes to form a presence service view on a network; receive presence information corresponding to an entity coupled to the node, wherein the received presence information publishes the entity as present on the network; locally store the presence information corresponding to the entity; and distribute an index of the locally stored presence information to at least one other presence service in the presence service view; receive a query originating from a particular node on the network for the entity coupled to the node via the presence service view, wherein the query is routed to the entity through the presence service view according to the distributed index; and forward the query to the entity; wherein, in response to the entity receiving the query, the particular node and the entity are configured to communicate directly, without going through any of the presence service instances, to negotiate a contract for the particular node accessing the entity. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A network system, comprising:
-
means for distributing presence information for entities on a network among a plurality instances of a presence service, wherein the presence information for an entity publishes the entity as present on the network wherein the presence service instances are configured to cooperatively form a presence service view on the network and wherein each presence service instance is configured to locally store presence information received from one or more entities coupled to the presence service instance and to distribute an index of the locally stored presence information to one or more other presence service instances; means for routing queries for particular entities from edge nodes on the network through the plurality of presence service instances to the particular entities on the network using the distributed presence information; and means for directly, without going through any of the presence service instances, negotiating contracts between the edge nodes and the particular entities in response to said queries.
-
-
23. A method, comprising:
-
a presence service instance on a node in a network cooperating with one or more other presence service instances on other nodes to form a presence service view on the network; the presence service instance receiving presence information for an entity coupled to the node, wherein the received presence information publishes the entity as present on the network; the presence service instance locally storing the presence information received from the entity; the presence service instance distributing an index of the locally stored presence information to at least one other presence service instance in the presence service view; routing a query from another node on the network through the presence service view to the entity coupled to the node according to the distributed index; and in response to the entity receiving the query, the other node and the entity communicating directly, without going through any of the presence service instances, to negotiate a contract for the other node accessing the entity. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
-
-
31. A computer-accessible storage medium storing program instructions, wherein the program instructions are computer-executable to implement:
-
instantiating a presence service on each of multiple nodes on a network; the presence service instances cooperating to form a presence service view on the network; one of the presence service instances receiving presence information for an entity coupled to the node on which the presence service instance resides, wherein the received presence information publishes the entity as present on the network; the presence service instance locally storing the presence information received from the entity; the presence service instance distributing an index of the locally stored presence information to at least one other presence service instance in the presence service view; routing a query originating from another node on the network through the presence service view to the entity coupled to the node according to the distributed index; and wherein, in response to the entity receiving the query, the other node and the entity communicate directly, without going through any of the presence service instances, to negotiate a contract for the other node accessing the entity. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38)
-
Specification