Peer-to peer graphing interfaces and methods
First Claim
1. A method of providing an interface between an application program and a server process to manage peer-to-peer graphs, comprising the steps of:
- receiving from the application program a graph and node information management call having a plurality of call parameters, the graph and node information management call selected from a group consisting of;
a get node information call having the plurality of call parameters comprising a get node graph handle, a node identification of a node about which information is desired, a pointer to a peer node information data structure containing information about the node;
a set node attributes call having the plurality of call parameters comprising a set node graph handle and a string representing attributes to associate with a node to be set;
a get graph properties call having the plurality of call parameters comprising a get graph properties graph handle and a pointer to graph properties;
set graph status call having the plurality of call parameters comprising a group handle and a set of peer graph status flags that are currently set as the status of the group corresponding to the group handle;
a set graph properties call having the plurality of call parameters comprising a set graph properties graph handle and a pointer to a graph properties data structure; and
a convert system from graph time call having the plurality of call parameters comprising a convert time graph handle, a pointer to a graph time to be converted, and a pointer to a local system time derived from the graph time;
parsing the graph and node information management call to retrieve the plurality of call parameters; and
returning to the application program a value indicative of the success/failure of the graph and node information management call.
2 Assignments
0 Petitions
Accused Products
Abstract
Application programming interfaces and methods that provide graph management in a peer-to-peer (P2P) network are provided. More specifically, new and improved P2P application programming interfaces (APIs) and methods for the creation and access of graphs, the retrieval of node and graph information, the addition, modification, deletion and management of records (data), the importation and exportation of graph data, the direct communication between graph nodes, the addition of a security provider to a graph, the setting and retrieval of presence information, the registering for event notifications, and other utility and support functions are presented. Each of these interfaces utilize various parameters that are passed in from an application program that uses these interfaces to manage and utilize graphs. The interfaces return a value that indicates the success or failure of the function. For failures, the interfaces provide an indication as to the problem resulting in the failure.
-
Citations
10 Claims
-
1. A method of providing an interface between an application program and a server process to manage peer-to-peer graphs, comprising the steps of:
-
receiving from the application program a graph and node information management call having a plurality of call parameters, the graph and node information management call selected from a group consisting of; a get node information call having the plurality of call parameters comprising a get node graph handle, a node identification of a node about which information is desired, a pointer to a peer node information data structure containing information about the node; a set node attributes call having the plurality of call parameters comprising a set node graph handle and a string representing attributes to associate with a node to be set; a get graph properties call having the plurality of call parameters comprising a get graph properties graph handle and a pointer to graph properties; set graph status call having the plurality of call parameters comprising a group handle and a set of peer graph status flags that are currently set as the status of the group corresponding to the group handle; a set graph properties call having the plurality of call parameters comprising a set graph properties graph handle and a pointer to a graph properties data structure; and a convert system from graph time call having the plurality of call parameters comprising a convert time graph handle, a pointer to a graph time to be converted, and a pointer to a local system time derived from the graph time; parsing the graph and node information management call to retrieve the plurality of call parameters; and returning to the application program a value indicative of the success/failure of the graph and node information management call.
-
-
2. A method of providing an interface between an application program and a server process to manage peer-to-peer graphs, comprising the steps of:
-
receiving from the application program a record management call having a plurality of call parameters, the record management call selected from the group consisting of; an add record call having the plurality of call parameters comprising an add record graph handle, a pointer to record data, and a pointer to a record identification that uniquely identifies a record in a graph; an update record call having the plurality of call parameters comprising an update record graph handle and a pointer to new data to associate with a record to update; a delete record call having a plurality of call parameters comprising a delete record graph handle, a pointer to a record identification of a record to delete, and an indication of whether the record to delete is in a local database; a get record call having the plurality of call parameters comprising a get record graph handle, a pointer to a record identification of a record to retrieve, and a pointer to the retrieved record; an enumerate records call having the plurality of call parameters comprising an enumerate records graph handle, a pointer to a type of record over which to iterate, a pointer to a peer identification for which records are to be iterated, and a handle to the iteration; a search records call having a plurality of call parameters comprising a search records graph handle, an XML string describing a query, and an enumeration handle; and a validate deferred records call having the plurality of call parameters comprising a validate deferred records graph handle, a count of records in an array of record identifications that should be re-validated, and the array of record identifications that should be re-validated; parsing the record management call to retrieve the plurality of call parameters; and returning to the application program a value indicative of the success/failure of the record management call.
-
-
3. A method of providing an interface between an application program and a server process to manage peer-to-peer graphs, comprising the steps of:
-
receiving from the application program a graph utility function call having a plurality of call parameters, the graph utility function call selected from a group consisting of; a get next item call having the plurality of call parameters comprising an enumeration handle a count of a number of items to read and a pointer to an array of items to be read; an end enumeration call having the plurality of call parameters comprising a handle to an enumeration to cleanup; a get item count call having the plurality of call parameters comprising a graph handle and a count of a number of records in an enumeration; and a free data call having the plurality of call parameters comprising a pointer to an item to be freed; parsing the graph utility function call to retrieve the plurality of call parameters; and returning to the application program a value indicative of the success/failure of the graph utility function call.
-
-
4. A method of providing an interface between an application program and a server process to manage peer-to-peer graphs, comprising the steps of:
-
receiving from the application program a graph direct communication management call having a plurality of call parameters, the graph direct communication management call selected from a group consisting of; an open direct connection call having the plurality of call parameters comprising a open direct connection graph handle, an unique identification of a person to whom to connect at a given address, a pointer to a structure containing details about the person to whom to connect, and a connection identification of the direct connection; a close direct connection call having the plurality of call parameters comprising a close direct connection graph handle, and an identification of a neighbor from whom to disconnect; a send data call having the plurality of call parameters comprising a send data graph handle, a unique identifier for the connection on which to send data, an application defined type of data to be sent, a count of bytes of the data, and the data to send to a receiving neighbor; and an enumerate connections call having the plurality of call parameters comprising an enumerate connections graph handle, a type of connection to enumerate, and a pointer to an enumeration of the connections; parsing the graph direct communication management call to retrieve the plurality of call parameters; and returning to the application program a value indicative of the success/failure of the graph direct communication management call.
-
-
5. A method of providing an interface between an application program and a server process to manage peer-to-peer graphs, comprising the steps of:
-
receiving from the application program an events infrastructure management call having a plurality of call parameters, the events infrastructure management call selected from a group consisting of; a register event call having the plurality of call parameters comprising a register event graph handle, an event handle to be signaled on a new event, a count of peer event registration structures, an array of peer event registration structures containing data about notifications being requested, a pointer to a peer event handle that can be used in a call to un-register a notification; an un-register event call the plurality of call parameters comprising a peer event handle of the event to un-register; and a get event data call having the plurality of call parameters comprising a get peer event handle, and a pointer to event data; parsing the events infrastructure management call to retrieve the plurality of call parameters; and returning to the application program a value indicative of the success/failure of the events infrastructure management call.
-
-
6. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for managing peer-to-peer graphs, comprising:
-
receiving from the application program a graph management call having a plurality of call parameters, the graph management call selected from the group consisting of; a graph create call having the plurality of call parameters comprising properties of a graph, a name of a database to associate with the graph at a time of creation, information about a security provider for the graph, and a handle to the graph to be created; a graph open call having the plurality of call parameters comprising a first unique identifier of a graph to be opened, a second unique identifier for a person opening the graph, information about a security provider for the graph, a count of record types in an array, the array of record types indicating an order in which records are to be synchronized, and a handle to the graph to be opened; a graph listen call having the plurality of call parameters comprising a handle to a graph on which to listen, an IPv6 scope on which to listen, an IPv6 scope identifier on which to listen, and a port on which to listen; a graph connect call having the plurality of call parameters comprising a handle of a graph to which to connect, a unique identification of a person to whom to connect at an IP address, a pointer to a data structure containing information about the person, and a pointer to a connection identification; a graph close call having the plurality of call parameters comprising a handle to a graph from which to disconnect; and a graph delete call having the plurality of call parameters comprising a name of a graph from which to delete data, a peer identification from which to delete the data, and a name of a database associated with a graph to delete; parsing the graph management call to retrieve the plurality of call parameters; and returning to the application program a value indicative of the success/failure of the graph management call.
-
-
7. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for managing peer-to-peer graphs, comprising:
-
receiving from the application program a graph and node information management call having a plurality of call parameters, the graph and node information management call selected from a group consisting of; a get node information call having the plurality of call parameters comprising a get node graph handle, a node identification of a node about which information is desired, and a pointer to a peer node information data structure containing information about the node; a set node attributes call having the plurality of call parameters comprising a set node graph handle and a string representing attributes to associate with the node; a get graph properties call having the plurality of call parameters comprising a get graph properties graph handle, and a pointer to the graph properties; a get graph status call having the plurality of call parameters comprising a group handle, a set of peer graph status flags that are currently set as the status of a group corresponding to the group handle; a set graph properties call having a plurality of call parameters comprising a set graph properties graph handle, and a pointer to a graph properties data structure; and a convert system from graph time call having a plurality of call parameters comprising a convert from graph time graph handle, a pointer to the graph time to be converted, and a pointer to the local system time derived from the graph time; parsing the graph and node information management call to retrieve the plurality of call parameters; and returning to the application program a value indicative of the success/failure of the graph and node information management call.
-
-
8. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for managing peer-to-peer graphs, comprising:
-
receiving from the application program a record management call having a plurality of call parameters, the record management call selected from a group consisting of; an add record call having the plurality of call parameters comprising an add record graph handle, a pointer to record data, and a pointer to a record identification that uniquely identifies a record in a graph; an update record call having the plurality of call parameters comprising an update record graph handle and a pointer to new data to associate with a record to update; a delete record call having the plurality of call parameters comprising a delete record graph handle, a pointer to a record identification of a record to delete, and an indication of whether the record to delete is in a local database; a get record call having the plurality of call parameters comprising a get record graph handle, a pointer to a record identification of a record to retrieve, and a pointer to the retrieved record; an enumerate records call having the plurality of call parameters comprising an enumerate records graph handle, a pointer to a type of record over which to iterate, a pointer to a peer identification for which records are to be iterated, and a handle to the iteration; a search records call having the plurality of call parameters comprising a search records graph handle, an XML string describing a query, and an enumeration handle; a validate deferred records call having the plurality of call parameters comprising a validate deferred records graph handle, a count of records in an array of record identifications that should be re-validated, and the array of record identifications that should be re-validated; parsing the record management call to retrieve the plurality of call parameters; and returning to the application program a value indicative of the success/failure of the record management call.
-
-
9. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for managing peer-to-peer graphs, comprising:
-
receiving from the application program a graph direct communication management call having a plurality of call parameters, the graph direct communication management call selected from a group consisting of; an open direct connection call having the plurality of call parameters comprising an open direct connection graph handle, an unique identification of a person to whom to connect at a given address, a pointer to a structure containing details about the person to whom to connect, and a connection identification of the direct connection; a close direct connection call having the plurality of call parameters comprising a close direct connection graph handle and an identification of a neighbor from whom to disconnect; a send data call having the plurality of call parameters comprising a send data call graph handle, a unique identifier for the connection on which to send data, an application defined type of data to be sent, a count of bytes of the data, and the data to send to the neighbor; and an enumerate connections call having the plurality of call parameters comprising an enumerate connections graph handle, a type of connection to enumerate, and a pointer to an enumeration of the connections; parsing the graph direct communication management call to retrieve the plurality of call parameters; and returning to the application program a value indicative of the success/failure of the graph direct communication management call.
-
-
10. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for managing peer-to-peer graphs, comprising:
-
receiving from the application program an events infrastructure management call having a plurality of call parameters, the events infrastructure management call selected from a group consisting of; a register event call having the plurality of call parameters comprising a register event graph handle, an event handle to be signaled on a new event, a count of peer event registration structures, an array of peer event registration structures containing data about notifications being requested, a pointer to a peer event handle that can be used in a call to un-register a notification; un-register event call having the plurality of call parameters comprising an un-register peer event handle of the event to un-register; and a get event data call having the plurality of call parameters comprising a get peer event handle, and a pointer to event data; parsing the events infrastructure management call to retrieve the plurality of call parameters; and returning to the application program a value indicative of the success/failure of the events infrastructure management call.
-
Specification