Patent ID: 8438294

Claim:
A mobile data processing system, comprising: a memory for storing program code; a processor for processing the program code to generate an application framework including a first application programming interface (API) implementing component that implements an API, wherein the API exposes one or more functions to an API-calling component, the functions including a peer-to-peer (“P2P”) connection function for establishing a P2P communication connection with another data processing system, wherein upon calling of the P2P connection function, the application framework performs the operations of: transmitting a connection request to a first network service to establish a P2P connection with one or more other mobile data processing systems, the connection request including NAT traversal data needed to traverse a NAT device to communicate with the mobile data processing system; receiving a connection data structure from the network service, the connection data structure including NAT traversal data for each of the one or more other mobile data processing systems; attaching connection data for the mobile data processing system to the connection data structure and transmitting the connection data structure with the connection data to a connection data exchange service; and receiving connection data of the one or more other mobile data processing systems from the connection data exchange service; and using the connection data to establish P2P connections with the one or more other mobile data processing systems.