Patent ID: 8060594

Claim:
A method, comprising: receiving a request for a communications link from an application executing on a handheld device; accessing a device API component to configure device hardware to implement the communications link; establishing a wireless communications link with a server; automatically implementing, at a first time, a first protocol between a client communications component of the handheld device and the server based on a type of the wireless communications link and a type of the handheld device, the communications link being established via the client communications component functioning with the device API component to configure hardware of the handheld device, the client communications component including a hardware abstraction component for translating between the client communications component and device specific hardware functions of the handheld device, the hardware abstraction component is configured to enable the client communications component to implement a stable communications API when installed on multiple different device types; and automatically implementing, at a second time after the first time, a second protocol, different from the first protocol, between the client communications component and the server based on a quality of the wireless communications link at the second time, the first protocol and the second protocol are each one of a socket full-duplex connection protocol, a socket half duplex connection protocol, an HTTP tunneling protocol, and an HTTP polling protocol.