Peer-to-peer grouping interfaces and methods
First Claim
1. A method of providing an interface for use by an application program in a peer-to-peer computing system to establish peer-to-peer groups and pass data between members of the peer-to-peer groups, comprising the steps of:
- receiving from the application program a peer group startup function call including a requested version of a peer-to-peer grouping infrastructure;
utilizing peer version information to determine an output parameter, the peer version information including an expected version of the peer-to-peer grouping infrastructure and a highest version of the peer-to-peer grouping infrastructure;
providing the output parameter of the peer group startup function call, the output parameter based on the peer version information and pointing to the peer version information;
returning a return value indicating the success or failure of the peer group startup function call;
receiving from the application program a peer-to-peer group management call having a plurality of parameters;
parsing the peer-to-peer group management call to retrieve the plurality of parameters;
imparting the plurality of parameters to the peer version information of the peer-to-peer grouping infrastructure indicated by the output parameter of the peer group startup function call;
returning to the application program a value indicative of the success/failure of the peer-to-peer group management call corresponding to the imparted plurality of parameters;
receiving from the application program a peer group shutdown function call corresponding to the received peer group startup function call, the peer group shutdown function call for cleaning up resources allocated by the received peer group startup function call; and
returning an indication of success or failure of the peer group shutdown function call.
2 Assignments
0 Petitions
Accused Products
Abstract
Application programming interfaces and methods that provide group 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 groups, the retrieval of member and group information, the addition, modification, deletion and management of records (data), the importation and exportation of group data, the direct communication between members, the addition of a security provider to a group, 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 groups. 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.
236 Citations
80 Claims
-
1. A method of providing an interface for use by an application program in a peer-to-peer computing system to establish peer-to-peer groups and pass data between members of the peer-to-peer groups, comprising the steps of:
-
receiving from the application program a peer group startup function call including a requested version of a peer-to-peer grouping infrastructure; utilizing peer version information to determine an output parameter, the peer version information including an expected version of the peer-to-peer grouping infrastructure and a highest version of the peer-to-peer grouping infrastructure; providing the output parameter of the peer group startup function call, the output parameter based on the peer version information and pointing to the peer version information; returning a return value indicating the success or failure of the peer group startup function call; receiving from the application program a peer-to-peer group management call having a plurality of parameters; parsing the peer-to-peer group management call to retrieve the plurality of parameters; imparting the plurality of parameters to the peer version information of the peer-to-peer grouping infrastructure indicated by the output parameter of the peer group startup function call; returning to the application program a value indicative of the success/failure of the peer-to-peer group management call corresponding to the imparted plurality of parameters; receiving from the application program a peer group shutdown function call corresponding to the received peer group startup function call, the peer group shutdown function call for cleaning up resources allocated by the received peer group startup function call; and returning an indication of success or failure of the peer group shutdown function call. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of providing an interface for use by an application program in a peer-to-peer computing system to manage peer-to-peer group and member information, comprising the steps of:
-
receiving from the application program a peer-to-peer group and member information management call having a plurality of parameters; parsing the peer-to-peer group and member information management call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call by; using peer address information, the peer address information including an address of a given node, a port of the given node, and a peer neighbor'"'"'s address; using peer member information corresponding to a member, the peer member information including an indication of a state of the member, a friendly name of the member, a node identification of the member, a count of addresses in the peer member information, a pointer to IP address of the member, attributes of the member, and a time at which the member'"'"'s group credentials expire; and using peer group membership information corresponding to the member, the peer group membership information including a peer name for a peer group, a peer name of an issuer of a group invitation corresponding to the peer group, a peer name of an individual for whom the group invitation is directed, a start and an end time of a validity period of the group invitation, a count of roles for the individual for whom the group invitation is directed, a pointer to peer role identifications of the individual, a count of classifiers associated with the peer group, a pointer to an array of classifiers associated with the peer group, and a pointer to a public key of a subject of the peer group; and returning to the application program a value indicative of the success/failure of the peer-to-peer group and member information management call corresponding to the imparted plurality of parameters. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A method of providing an interface for use by an application program in a peer-to-peer computing system to manage peer-to-peer record management, comprising the steps of:
-
receiving from the application program a peer-to-peer record management call having a plurality of parameters; parsing the peer-to-peer record management call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call by using peer record information corresponding to a record of a member of a peer-to-peer group, the peer record information including a type of the record, an identification of the record, a record version, an identifier of a record creator, one or more flags corresponding to processing to be applied to the record, an identifier of a last changer of the record, a set of attribute-value pairs to be associated with the record, security data for the record, and record data; and returning to the application program a value indicative of the success/failure of the peer-to-peer record management call corresponding to the imparted plurality of parameters. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A method of providing an interface for use by an application program in a peer-to-peer computing system to export a peer-to-peer group database, comprising the steps of:
-
receiving from the application program an export database call having a plurality of parameters comprising a peer-to-peer group handle corresponding to an opened peer-to-peer group to which a member is connected, a path to a file in which data to be exported is to be stored, and a password used to encrypt the peer-to-peer group database; parsing the export database call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call; and returning to the application program a value indicative of the success/failure of the export database call corresponding to the imparted plurality of parameters.
-
-
24. A method of providing an interface for use by an application program in a peer-to-peer computing system to import a file representing a peer-to-peer group database, comprising the steps of:
-
receiving from the application program an import database call having a plurality of parameters comprising a peer-to-peer group handle corresponding to a peer-to-peer group to which a user is unconnected, a path to a file to import, and a password used to decrypt the peer-to-peer group database; parsing the import database call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call; and returning to the application program a value indicative of the success/failure of the import database call corresponding to the imparted plurality of parameters.
-
-
25. A method of providing an interface for use by an application program in a peer-to-peer computing system to manage peer-to-peer groups, comprising the steps of:
-
receiving from the application program a peer-to-peer group utility function call having a plurality of parameters, the peer-to-peer group utility function call including one from the set consisting of;
an enumeration support call operating on a received peer group enumeration handle and a memory support call for freeing data from a grouping API;parsing the peer-to-peer group utility function call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call; and returning to the application program a value indicative of the success/failure of the peer-to-peer group utility function call corresponding to the imparted plurality of parameters. - View Dependent Claims (26, 27, 28, 29)
-
-
30. A method of providing an interface for use by an application program in a peer-to-peer computing system to communicate without flooding between a first and a second group member node of a peer-to-peer group, comprising the steps of:
-
receiving from the application program a peer-to-peer group direct communication management call having a plurality of parameters; parsing the peer-to-peer group direct communication management call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call by utilizing peer communication information corresponding to an opened connection between the first and second group member nodes, the peer communication information including a type of the opened connection, a connection identification of the opened connection, a member identification of the second group member node, a peer identification of the first group member node, and an address of the opened connection; and returning to the application program a value indicative of the success/failure of the peer-to-peer group direct communication management call corresponding to the imparted plurality of parameters. - View Dependent Claims (31, 32, 33, 34)
-
-
35. A method of providing an interface for use by an application program in a peer-to-peer computing system allow the application program to be notified about changes to a peer-to-peer group to which a group member node corresponding to the application program belongs and changes to data associated with the peer-to-peer group, comprising the steps of:
-
ensuring that registration information exists corresponding to the application program, the registration information including an event type for which the application program desires to be notified; receiving from the application program a peer-to-peer events infrastructure management call having a plurality of parameters, the peer-to-peer events infrastructure management call for managing a notification of an event, the event including a change to the peer-to-peer group or a change to the data associated with the peer-to-peer group; parsing the peer-to-peer events infrastructure management call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function; and returning to the application program a value indicative of the success/failure of the peer-to-peer events infrastructure management call corresponding to the imparted plurality of parameters. - View Dependent Claims (36, 37, 38)
-
-
39. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for use by an application program in a peer-to-peer computing system for establishing peer-to-peer groups and passing data between members of the peer-to-peer groups, the steps comprising:
-
receiving from the application program a peer group startup function call including a requested version of a peer-to-peer grouping infrastructure; utilizing peer version information to determine an output parameter, the peer version information including an expected version of the peer-to-peer grouping infrastructure and a highest version of the peer-to-peer grouping infrastructure; providing the output parameter of the peer group startup function call, the output parameter based on the peer version information and pointing to the peer version information; returning a return value indicating the success or failure of the peer group startup function call; receiving from the application program a peer-to-peer group management call having a plurality of parameters; parsing the peer-to-peer group management call to retrieve the plurality of parameters; imparting the plurality of parameters to the peer version information of the peer-to-peer grouping infrastructure indicated by the output parameter of the peer group startup function call; returning to the application program a value indicative of the success/failure of the peer-to-peer group management call corresponding to the imparted plurality of parameters; receiving from the application program a peer group shutdown function call corresponding to the received peer group startup function call, the peer group shutdown function call for cleaning up resources allocated by the received peer group startup function call; and returning an indication of success or failure of the peer group shutdown function call. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for use by an application program in a peer-to-peer computing system for managing peer-to-peer group and member information, comprising:
-
receiving from the application program a peer-to-peer group and member information management call having a plurality of parameters; parsing the peer-to-peer group and member information management call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call by; using peer address information, the peer address information including an address of a given node, a port of the given node, and a peer neighbor'"'"'s address; using peer member information corresponding to a member, the peer member information including an indication of a state of the member, a friendly name of the member, a node identification of the member, a count of addresses in the peer member information, a pointer to IP address of the member, attributes of the member, and a time at which the member'"'"'s group credentials expire; and using peer group membership information corresponding to the member, the peer group membership information including a peer name for a peer group, a peer name of an issuer of a group invitation corresponding to the peer group, a peer name of an individual for whom the group invitation is directed, a start and an end time of a validity period of the group invitation, a count of roles for the individual for whom the group invitation is directed, a pointer to peer role identifications of the individual, a count of classifiers associated with the peer group, a pointer to an array of classifiers associated with the peer group, and a pointer to a public key of a subject of the peer group; and returning to the application program a value indicative of the success/failure of the peer-to-peer group and member information management call corresponding to the imparted plurality of parameters. - View Dependent Claims (49, 50, 51, 52, 53)
-
-
54. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for use by an application program in a peer-to-peer computing system for managing peer-to-peer record management, comprising:
-
receiving from the application program a peer-to-peer record management call having a plurality of parameters; parsing the peer-to-peer record management call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call by using peer record information corresponding to a record of a member of a peer-to-peer group, the peer record information including a type of the record, an identification of the record, a record version, an identifier of a record creator, one or more flags corresponding to processing to be applied to the record, an identifier of a last changer of the record, a set of attribute-value pairs to be associated with the record, security data for the record, and record data; and returning to the application program a value indicative of the success/failure of the peer-to-peer record management call corresponding to the imparted plurality of parameters. - View Dependent Claims (55, 56, 57, 58, 59, 60)
-
-
61. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for use by an application program in a peer-to-peer computing system to export a peer-to-peer group database, comprising:
-
receiving from the application program a-peer-to-peer export database call having a plurality of parameters comprising a group handle corresponding to an opened peer-to-peer group to which a member is connected, and a path to a file in which data to be exported is to be stored, and a password used to encrypt the peer-to-peer group database; parsing the peer-to-peer export database call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call; and returning to the application program a value indicative of the success/failure of the peer-to-peer export database call corresponding to the imparted plurality of parameters.
-
-
62. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for use by an application program in a peer-to-peer computing system to import a file representing a peer-to-peer group database, comprising:
-
receiving from the application program a peer-to-peer import database call having a plurality of parameters comprising a peer-to-peer group handle corresponding to a peer-to-peer peer group to which a user is unconnected, a path to a file to import and a password used to decrypt the peer-to-peer group database; parsing the peer-to-peer import database call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call; and returning to the application program a value indicative of the success/failure of the peer-to-peer import database call corresponding to the imparted plurality of parameters.
-
-
63. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for use by an application program in a peer-to-peer computing system for managing peer-to-peer groups, comprising:
-
receiving from the application program a peer-to-peer group utility function call having a plurality of parameters, the peer-to-peer group utility function call including one from the set consisting of;
an enumeration support call operating on a received peer group enumeration handle and a memory support call for freeing data from a grouping API;parsing the peer-to-peer group utility function call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call; and returning to the application program a value indicative of the success/failure of the peer-to-peer group utility function call corresponding to the imparted plurality of parameters. - View Dependent Claims (64, 65, 66, 67)
-
-
68. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for use by an application program in a peer-to-peer computing system to communicate without flooding between a first and a second group member node of a peer-to-peer group, comprising:
-
receiving from the application program a peer-to-peer group direct communication management call having a plurality of parameters; parsing the peer-to-peer group direct communication management call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call by utilizing peer communication information corresponding to an opened connection between the first and the second group member nodes, the peer communication information including a type of the opened connection, a connection identification of the opened connection, a member identification of the second group member node, a peer identification of the first group member node, and an address of the opened connection; and returning to the application program a value indicative of the success/failure of the peer-to-peer group direct communication management call corresponding to the imparted plurality of parameters. - View Dependent Claims (69, 70, 71, 72)
-
-
73. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for use by an application program in a peer-to-peer computing system to allow the application program to be notified about changes to a peer-to-peer group to which a group member node corresponding to the application program belongs and changes to data associated with the peer-to-peer group, comprising:
-
ensuring that registration information exists corresponding to the application program, the registration information including an event type for which the application program desires to be notified; receiving from the application program a peer-to-peer events infrastructure management call having a plurality of parameters, the peer-to-peer events infrastructure management call for managing a notification of an event, the event including a change to the peer-to-peer group or a change to the data associated with the peer-to-peer group; parsing the peer-to-peer events infrastructure management call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function; and returning to the application program a value indicative of the success/failure of the peer-to-peer events infrastructure management call corresponding to the imparted plurality of parameters. - View Dependent Claims (74, 75, 76)
-
-
77. A method of providing an interface for use by an application program in a peer-to-peer computing system to manage time associated with a peer-to-peer group, comprising the steps of:
-
receiving from the application program a group peer time to universal time call having a plurality of parameters, the plurality of call parameters including a group handle corresponding to the peer-to-peer group and a group peer time corresponding to the peer-to- peer group; parsing the group peer time to universal time call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call; and returning to the application program a value indicative of the success/failure of the group peer time to universal time call corresponding to the imparted plurality of parameters, including the universal time corresponding to the group peer time if the value is indicative of success.
-
-
78. A method of providing an interface for use by an application program in a peer-to-peer computing system to manage time associated with a peer-to-peer group comprising the steps of:
-
receiving from the application program a group universal time to peer time call having a plurality of parameters, the plurality of parameters including a group handle corresponding to the peer-to-peer group and a group universal time; parsing the group universal time to peer time call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by peer group startup function call; and returning to the application program a value indicative of the success/failure of the group universal time to peer time call corresponding to the imparted plurality of parameters, including the peer time corresponding to the group universal time if the value is indicative of success.
-
-
79. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for use by an application program in a peer-to-peer computing system to manage time associated with a peer-to-peer group, comprising the steps of:
-
receiving from the application program a group peer time to universal time call having a plurality of parameters, the plurality of call parameters including a group handle corresponding to the peer-to-peer group and a group peer time corresponding to the peer-to- peer group; parsing the group peer time to universal time call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call; and returning to the application program a value indicative of the success/failure of the group peer time to universal time call corresponding to the plurality of parameters, including the universal time corresponding to the group peer time if the value is indicative of success.
-
-
80. A computer-readable storage medium tangibly embodying a program of instruction executable by a computer for performing steps to provide an interface for use by an application program in a peer-to-peer computing system to manage time associated with a peer-to-peer group, comprising the steps of:
-
receiving from the application program a group universal time to peer time call having a plurality of parameters, the plurality of call parameters including a group handle corresponding to the peer-to-peer group and a group universal time corresponding to the peer-to-peer group; parsing the group universal time to peer time call to retrieve the plurality of parameters; imparting the plurality of parameters to a version of a peer-to-peer grouping infrastructure established by a peer group startup function call; and returning to the application program a value indicative of the success/failure of the group universal time to peer time call corresponding to the plurality of parameters, including the peer time corresponding to the group universal time if the value is indicative of success.
-
Specification