Peer-to-peer communication system
First Claim
1. A computer-readable medium having computer-executable components comprising:
- (a) a communication component for sending and receiving messages using at least one of a plurality of messaging providers;
(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 the transmission or receipt of data.
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.
14 Citations
20 Claims
-
1. A computer-readable medium having computer-executable components comprising:
-
(a) a communication component for sending and receiving messages using at least one of a plurality of messaging providers;
(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 the transmission or receipt of data. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of communicating between an application having a first component on a first peer and a second component on a second peer, comprising the acts:
-
(a) providing data from the first component to a first store-and-forward messaging client on the first peer;
(b) selecting with the first store-and-forward messaging client at least one messaging provider from a plurality of messaging providers;
(c) transmitting the data using the at least one selected messaging provider to a second store-and-forward messaging client on the second peer; and
(d) providing the data from the second store-and-forward messaging client to the second component. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A peer-to-peer communication system, comprising:
-
(a) a plurality of messaging providers;
(b) a first peer coupled to at least a portion of the plurality of messaging providers comprising 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;
(c) a second peer, coupled to at least a portion of the plurality of messaging providers comprising 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 (15, 16, 17, 18, 19, 20)
-
Specification