APPARATUS AND METHOD FOR MANAGING PEER-TO-PEER CONNECTIONS BETWEEN DIFFERENT SERVICE PROVIDERS
First Claim
1. A computer-implemented method comprising:
- receiving a request at a first service provider to locate a first user, the request including an identification (ID) code for the first user;
querying a registration database to determine if the first user is registered with the first service provider;
if the user is not registered with the first service provider, then querying a plurality of bloom filters, each bloom filter associated with a different service provider;
receiving a positive or negative response from each of the bloom filters, a positive response indicating that the first user may or may not be registered with the service providers associated with those respective bloom filters, and a negative response indicating with certainty that the first user is not registered with the service providers associated with those respective bloom filters; and
transmitting a request to locate the first user only to those service providers for which a positive response has been received.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment of the invention, service providers generate bloom filters with the user ID codes of registered users and exchange the bloom filters with one another. In response to a request to locate a first user, a first service provider will query its own registration database to determine if the first user is registered with the first service provider. If the first user is not registered with the first service provider, then the first service provider will query its bloom filters to identify other service providers with which the first user may be registered. A positive response from a bloom filter indicates that the first user may or may not be registered with the service provider associated with that bloom filter, and a negative response indicates with certainty that the first user is not registered with the service provider associated with that bloom filter.
91 Citations
24 Claims
-
1. A computer-implemented method comprising:
-
receiving a request at a first service provider to locate a first user, the request including an identification (ID) code for the first user; querying a registration database to determine if the first user is registered with the first service provider; if the user is not registered with the first service provider, then querying a plurality of bloom filters, each bloom filter associated with a different service provider; receiving a positive or negative response from each of the bloom filters, a positive response indicating that the first user may or may not be registered with the service providers associated with those respective bloom filters, and a negative response indicating with certainty that the first user is not registered with the service providers associated with those respective bloom filters; and transmitting a request to locate the first user only to those service providers for which a positive response has been received. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method comprising:
-
receiving a plurality of updates to a user registration database, the updates including new identification (ID) codes associated with new users registered with a first service provider; using the new ID codes and a plurality of existing ID codes associated with existing users already registered with the first service provider to generate a bloom filter; and transmitting the new bloom filter to each of a plurality of other service providers, the bloom filter usable by the plurality of other service providers to determine with certainty that certain ID codes do not identify users registered with the first service provider. - View Dependent Claims (11, 12)
-
-
13. A machine-readable medium having program code stored thereon which, when executed by one or more machines, causes the machines to perform the operations of:
-
receiving a request at a first service provider to locate a first user, the request including an identification (ID) code for the first user; querying a registration database to determine if the first user is registered with the first service provider; if the user is not registered with the first service provider, then querying a plurality of bloom filters, each bloom filter associated with a different service provider; receiving a positive or negative response from each of the bloom filters, a positive response indicating that the first user may or may not be registered with the service providers associated with those respective bloom filters, and a negative response indicating with certainty that the first user is not registered with the service providers associated with those respective bloom filters; and transmitting a request to locate the first user only to those service providers for which a positive response has been received. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A machine-readable medium having program code stored thereon which, when executed by one or more machines, causes the machines to perform the operations of:
-
receiving a plurality of updates to a user registration database, the updates including new identification (ID) codes associated with new users registered with a first service provider; using the new ID codes and a plurality of existing ID codes associated with existing users already registered with the first service provider to generate a bloom filter; and transmitting the new bloom filter to each of a plurality of other service providers, the bloom filter usable by the plurality of other service providers to determine with certainty that certain ID codes do not identify users registered with the first service provider. - View Dependent Claims (23, 24)
-
Specification