Programmable presence virtualization
First Claim
1. A method for supporting a presence virtualization query, wherein the method comprises:
- receiving a virtual query from a client, wherein the virtual query is specified in terms of a membership set of one or more members, wherein the membership set comprises a list of presentity uniform resource identifiers (URIs) and a separate transformation function, defined over a set of one or more presence documents of the one or more members in the membership set;
redirecting, via a virtual presence server, the query to a destination virtual presentity URI whose presence state comprises an aggregation of the one or more presence documents of the list of URIs in the membership set and a corresponding query element (QE) object that manages subscriptions for the URI;
adding, via the QE for the destination virtual presentity URI, the client as a watcher for the destination virtual presentity URI;
applying, via the virtual presence server, transformation logic specified by the watcher client and notifying a corresponding client of a resulting output; and
ensuring that there exists a destination virtual presentity URI and a corresponding QE by determining if an existing virtual presentity URI corresponds to a subscription for retrieving the one or more presence documents of each member in the membership set.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for supporting a presence virtualization query are provided. The techniques include receiving a virtual query from a client, the virtual query specified in terms of a membership set of members, wherein the membership set comprises a list of presentity uniform resource identifiers (URIs) and a separate transformation function, defined over a set of presence documents of the members in the membership set, redirecting the query to a destination virtual presentity URI whose presence state comprises an aggregation of the presence documents of the list of URIs in the membership set and a corresponding query element (QE) object that manages subscriptions for the URI, adding the client as a watcher for the destination virtual presentity URI, and applying transformation logic specified by the watcher client and notifying a corresponding client of a resulting output.
-
Citations
22 Claims
-
1. A method for supporting a presence virtualization query, wherein the method comprises:
-
receiving a virtual query from a client, wherein the virtual query is specified in terms of a membership set of one or more members, wherein the membership set comprises a list of presentity uniform resource identifiers (URIs) and a separate transformation function, defined over a set of one or more presence documents of the one or more members in the membership set; redirecting, via a virtual presence server, the query to a destination virtual presentity URI whose presence state comprises an aggregation of the one or more presence documents of the list of URIs in the membership set and a corresponding query element (QE) object that manages subscriptions for the URI; adding, via the QE for the destination virtual presentity URI, the client as a watcher for the destination virtual presentity URI; applying, via the virtual presence server, transformation logic specified by the watcher client and notifying a corresponding client of a resulting output; and ensuring that there exists a destination virtual presentity URI and a corresponding QE by determining if an existing virtual presentity URI corresponds to a subscription for retrieving the one or more presence documents of each member in the membership set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for a virtual presence server to support presence virtualization queries, the system comprising:
-
a virtual presence server (VPS) to provide one or more answers to subscription-style structured virtual presence queries from a plurality of clients, the VPS comprising a table representing a mapping between each unique membership set of one or more presentities, a corresponding virtual presentity uniform resource identifiers (URI) and a query element (QE) responsible for subscriptions to the URI; a set of one or more query elements (QEs) contained in the VPS, each QE associated with a URI and containing a table of a list of one or more clients whose transformations are expressed over an aggregated presence document of the URI and a specific transformation logic pertaining to each client, and wherein existence of a destination virtual presentity URI and a corresponding QE is ensured by determining if an existing virtual presentity URI corresponds to a subscription for retrieving the one or more presence documents of each member in the membership set; and a set of one or more presence clients that issue virtual presence queries that are structured to contain a membership set containing a list of one or more presentity URIs, and a separate transformation function defined over a set of presence documents of each member in the membership set.
-
-
12. A computer program product comprising a non-transitory computer readable recordable storage medium including computer useable program code for supporting a presence virtualization query, the computer program product including:
-
computer useable program code for receiving a virtual query from a client, wherein the virtual query is specified in terms of a membership set of one or more members, wherein the membership set comprises a list of presentity uniform resource identifiers (URIs) and a separate transformation function, defined over a set of one or more presence documents of the one or more members in the membership set; computer useable program code for redirecting, via a virtual presence server, the query to a destination virtual presentity URI whose presence state comprises an aggregation of the one or more presence documents of the list of URIs in the membership set and a corresponding query element (QE) object that manages subscriptions for the URI; computer useable program code for adding, via the QE for the destination virtual presentity URI, the client as a watcher for the destination virtual presentity URI; and computer useable program code for applying, via the virtual presence server, transformation logic specified by the watcher client and notifying a corresponding client of a resulting output; and computer useable program code for ensuring that there exists a destination virtual presentity URI and a corresponding QE by determining if an existing virtual presentity URI corresponds to a subscription for retrieving the one or more presence documents of each member in the membership set. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A system for supporting a presence virtualization query comprising:
-
a memory; and at least one processor coupled to the memory and operative to; receive a virtual query from a client, wherein the virtual query is specified in terms of a membership set of one or more members, wherein the membership set comprises a list of presentity uniform resource identifiers (URIs) and a separate transformation function, defined over a set of one or more presence documents of the one or more members in the membership set; redirect, via a virtual presence server, the query to a destination virtual presentity URI whose presence state comprises an aggregation of the one or more presence documents of the list of URIs in the membership set and a corresponding query element (QE) object that manages subscriptions for the URI; add, via the QE for the destination virtual presentity URI, the client as a watcher for the destination virtual presentity URI; apply, via the virtual presence server, transformation logic specified by the watcher client and notifying a corresponding client of a resulting output; and ensure that there exists a destination virtual presentity URI and a corresponding QE by determining if an existing virtual presentity URI corresponds to a subscription for retrieving the one or more presence documents of each member in the membership set. - View Dependent Claims (19, 20, 21, 22)
-
Specification