Peer-to-peer communication system
First Claim
1. A computer-readable medium having computer-executable components for execution on a processor, the computer-executable components comprising:
- (a) a communication component for sending and receiving messages using at least one of a plurality of messaging providers, wherein each messaging provider operates at least a portion of a network infrastructure to provide a messaging service to one or more addressees;
(b) a data store comprising a plurality of entries, each entry comprising a field for storing an indication of an addressee, a field for storing an indication of a messaging provider of the plurality of messaging providers, and an address associated with the addressee in the indicated messaging provider;
(c) a routing component for associating an application with a message received using one of the plurality of messaging providers and providing the message to the associated application; and
(d) a programming interface through which an application may specify a communication related command that causes an interaction between the communication component and the data store for performing a communication function relating to transmission of data, wherein the communication related command identifies an intended addressee, wherein the interaction between the communication component and the data store comprises retrieving from the data store routing information identifying at least one messaging provider and at least one address associated with the intended addressee in the at least one messaging provider, and wherein the identification of the intended addressee does not include an address used by any of the plurality of message providers.
2 Assignments
0 Petitions
Accused Products
Abstract
A peer-to-peer communication system that transmits application data from an application component on one network peer to an application component on another network peer. A programming interface is provided to the communication system to facilitate programming of applications that rely on peer-to-peer communications. The communication system uses messaging providers to which each peer may be connected for purposes other than communications between peer-to-peer application components, thereby reducing the resources a peer-to-peer application requires for communication and making the system advantageous for use in portable electronic devices. Additionally, the communication system uses addresses already assigned in each messaging provider, allowing peer-to-peer communication between peers that may otherwise have been non-addressable.
-
Citations
20 Claims
-
1. A computer-readable medium having computer-executable components for execution on a processor, the computer-executable components comprising:
-
(a) a communication component for sending and receiving messages using at least one of a plurality of messaging providers, wherein each messaging provider operates at least a portion of a network infrastructure to provide a messaging service to one or more addressees; (b) a data store comprising a plurality of entries, each entry comprising a field for storing an indication of an addressee, a field for storing an indication of a messaging provider of the plurality of messaging providers, and an address associated with the addressee in the indicated messaging provider; (c) a routing component for associating an application with a message received using one of the plurality of messaging providers and providing the message to the associated application; and (d) a programming interface through which an application may specify a communication related command that causes an interaction between the communication component and the data store for performing a communication function relating to transmission of data, wherein the communication related command identifies an intended addressee, wherein the interaction between the communication component and the data store comprises retrieving from the data store routing information identifying at least one messaging provider and at least one address associated with the intended addressee in the at least one messaging provider, and wherein the identification of the intended addressee does not include an address used by any of the plurality of message providers. - View Dependent Claims (2, 3, 4, 5, 20)
-
-
6. A method of communicating between a first application component on a first peer and a second application component on a second peer through at least one of a plurality of messaging providers, the method comprising the acts:
-
(a) providing generated application data from the first application component to a first store-and-forward messaging client on the first peer, the generated application data including information identifying an intended addressee, wherein the information identifying the intended addressee does not include an address used by any of the plurality of message providers, the first store-and-forward messaging client comprising; a first communication component for transmitting or receiving data using at least one of the plurality of messaging providers, the first communication component having a first programming interface through which data may be provided for transmission using a messaging provider of the plurality of messaging providers, and through which information from a messaging provider of the plurality of messaging providers may be passed to the first application component;
wherein the generated application data is provided through the first programming interface of the first store-and-forward messaging client; anda datastore comprising a plurality of entries, each entry comprising a field for storing an indication of an addressee a field for storm an indication of a messaging provider of the plurality of messaging providers, and an address associated with the addressee in the indicated messaging provider; (b) selecting with the first store-and-forward messaging client at least one messaging provider from the plurality of messaging providers based on an indication of a messaging provider in one or more entries in the datastore that have an indication of the intended addressee, wherein the at least one messaging provider operates at least a portion of a network infrastructure to provide a messaging service to the first store-and-forward messaging client; and (c) transmitting the generated application data to a second store-and-forward messaging client on the second peer using the selected at least one messaging provider and using an address associated with the addressee for the indicated messaging provider in an entry in the datastore that has an indication of the intended addressee;
wherein the second store-and-forward messaging client on the second peer comprises a second communication component for transmitting or receiving data using at least one of the plurality of messaging providers, the second communication component having a second programming interface through which data may be provided for transmission using a messaging provider of the plurality of messaging providers and through which information from a messaging provider of the plurality of messaging providers may be passed to the second application component. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A peer-to-peer communication system, comprising:
-
(a) a plurality of messaging providers, wherein each messaging provider operates at least a portion of a network infrastructure to provide a messaging service to one or more peers; (b) a first peer coupled to at least a portion of the plurality of messaging providers and comprising a computer-readable medium having computer-executable components comprising; (i) a first communication component for transmitting or receiving data using at least a portion of the plurality of messaging providers, the first communication component having a first programming interface through which data may be provided for transmission using a messaging provider of the plurality of messaging providers and through which information from a messaging provider of the plurality of messaging providers may be passed to an application; (ii) a first application for generating and processing application data, the first application adapted to pass generated application data through the first programming interface and to receive application data for processing through the first programming interface, wherein the generated application data comprises information identifying an intended addressee, and wherein the information identifying an intended addressee does not include an address used by any of the plurality of message providers; (c) a second peer coupled to at least a portion of the plurality of messaging providers and comprising a computer-readable medium having computer-executable components comprising; (i) a second communication component for transmitting or receiving data using at least a portion of the plurality of messaging providers, the second communication component having a second programming interface through which data may be provided for transmission using a messaging provider of the plurality of messaging providers and through which data from a messaging provider of the plurality of messaging providers may be passed to an application; (ii) a second application for generating and processing application data, the second application adapted to pass generated application data through the second programming interface and to receive application data for processing through the second programming interface. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification