Patent ID: 8190658

Claim:
A first computing device including a processor and a memory, comprising: a database unit configured to store device information of a second computing device, the device information indicating network devices installed on the second computing device and applications supported by the second computing device, the database unit comprising: a device information database section configured to store the network devices supported by the second computing device, the device information database section further configured to store system configurations and system information of the second computing device; and an interface information database section configured to store information on types and states of application executable on the second computing device, the interface information database section configured to store types of media or mode of media accessible by each application in the second computing device; an interface-determination unit configured to select an application executable on the first computing device from a plurality of applications to communicate with the second computing device based on the stored device information of the second computing device and a state of one or more applications on the first computing device, wherein the interface-determination unit is further configured to reference information in the device information database section and the interface information database section to select the application; a transmission protocol determination unit configured to select a transmission protocol for establishing bidirectional information transmission between the selected application of the first computing device and a counterpart application of the second computing device; and a communication protocol determination unit configured to select a network device on the first computing device and a communication protocol for establishing communicating with the second computing device over the network device based on the stored device information of the second computing device and the device information of the first computing device, wherein the communication protocol determination unit is further configured to automatically download a module or a driver for establishing communication with the second computing device from the second computing device or the Internet; wherein the states of application comprise (i) performance of the application, (ii) a size of information transmitted by the application, and (iii) the state of the transmission protocol.