Secure wireless transfer of data between different computing devices
First Claim
Patent Images
1. A method of downloading data from a first computing device over a wireless channel to a second computing device, the method comprising the steps of:
- a) initializing a data session over the wireless channel between the first computing device and the second computing device; and
b) evaluating transmission characteristics of the wireless channel for said data session, including an available bandwidth for data transmissions; and
c) determining a packet size to be used for data packets transferring data to the second computing device during said data session; and
d) notifying the second computing device of a number of packets (N) to be sent to the second computing device; and
e) counting said data packets when they are successfully received at the second computing device during said data session;
f) generating a completion signal when all of said number of packets a are received during said data session; and
g) re-initializing said data session to start a second data session if said data session is interrupted before said number of packets (N) are received at the second computing device;
h) wherein during said second data session only packets that were not originally successfully received are transferred from the first computing device to the second computing device.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a system and method for transmitting data securely over a wireless network between two different computing devices. The deficiencies of limited wireless bandwidth and frequent connection “breaks” in the wireless network are overcome through intelligent packetization schemes.
207 Citations
60 Claims
-
1. A method of downloading data from a first computing device over a wireless channel to a second computing device, the method comprising the steps of:
-
a) initializing a data session over the wireless channel between the first computing device and the second computing device; and
b) evaluating transmission characteristics of the wireless channel for said data session, including an available bandwidth for data transmissions; and
c) determining a packet size to be used for data packets transferring data to the second computing device during said data session; and
d) notifying the second computing device of a number of packets (N) to be sent to the second computing device; and
e) counting said data packets when they are successfully received at the second computing device during said data session;
f) generating a completion signal when all of said number of packets a are received during said data session; and
g) re-initializing said data session to start a second data session if said data session is interrupted before said number of packets (N) are received at the second computing device;
h) wherein during said second data session only packets that were not originally successfully received are transferred from the first computing device to the second computing device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of installing a software application from a server to a wireless client device through a channel, the method comprising the steps of:
-
a) initializing a data link over the channel between the wireless client device and the server;
b) evaluating transmission bandwidth of said data link;
c) identifying characteristics of the wireless client device, including computing, memory and power resources available to such device;
d) determining an optimal packet size for transferring data to such device based on steps (b) and (c);
e) transferring the software application over the data link using said optimal packet size to the wireless client device so that the software application can be installed on such device. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method of providing an alert message to a user of a wireless client device through a channel, the method comprising the steps of:
-
a) receiving an alert message at a server, said alert message including any or all of the following;
(1) a message for a user of the wireless client device;
(2) a command to be executed by the wireless client device;
(3) data to be used by the wireless device while executing said command;
wherein said alert message is associated with a particular type of wireless client device and/or a particular type of user of a particular wireless client device;
b) processing said alert message at said server for propagation to one or more of said particular type of wireless client devices, said processing including formatting said alert message so that it can be displayed and/or executed if necessary on said particular type of wireless client device; and
c) transmitting said alert message to said particular type of wireless client device in response to a request for a data transmission through the channel from such particular type of wireless client device. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method of uploading a software application to a server for distribution to a wireless client device, the method comprising the steps of:
-
a) processing the software application to generate a device-specific version of the software application, said device-specific version of the software application being customized for a particular mobile client device;
b) initiating an upload session over the Internet between a first computer storing the device-specific version of software application and the server using a web-based interface;
c) transmitting device identification information from said first computer to the server to identify a class of mobile client devices suitable for receiving the device specific version of the software application;
d) transmitting device state information from said first computer to the server to identify computing resources and/or memory resources required by said class of mobile client devices to implement said device specific version of the software application. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A mobile computing device configured for executing a software application installation routine comprising:
-
a first communication software module adapted for receiving data packets over a wireless channel to a remote server; and
a second software application listing module for identifying a software application available for download from said remote server and for making a request to said remote server for said software application; and
a third packet handling software module adapted for;
a) configuring computing and memory resources of the mobile computing device to accommodate data packets associated with said software application; and
b) processing said data packets associated with said software application as they are received over the wireless channel; and
c) determining if all data packets associated with said software application have been received; and
d) installing the software application on the mobile computing device when all of said data packets for said software application are received. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A packet processing system for communicating data from a first computing device to a second computing device over a wireless channel comprising:
-
a) a communications transceiver for transmitting and receiving data packets associated with a data session over the wireless channel; and
b) a data session initialization routine executing on the packet processing system, said data session initialization routine being adapted for setting up a data link over the wireless channel to communicate a data file between the first computing device and the second computing device; and
c) wherein said data session initialization routine receives device resource information concerning the second computing device;
d) further wherein said data session initialization routine determines an approximate bandwidth available for said data session over the wireless channel; and
e) a packet transfer routine for formatting said data file into a sequence of N separate data packets, said packet transfer routine using a packet size based on said device resource information and said approximate bandwidth. - View Dependent Claims (35, 36, 37, 38, 39, 40)
-
-
41. A computing system configured as a wireless internet server and comprising:
-
a) a communications routine for transmitting and receiving data packets associated with a data session with a client computing device over the wireless channel; and
b) a data session initialization routine for setting up a data ink over the wireless channel to transfer a data file to said client computing device; and
c) a device recognition routine for identifying a device ID associated with said client computing device; and
d) wherein said device ID is used by the computing system with a lookup table to determine appropriate transmission parameters to be used for said data session based on device characteristics for said client computing device;
e) a packet transfer routine for formatting said data file into a sequence of data packets for transmission by said communications routine, said packet transfer routine using said appropriate transmission parameters to determine a nominal packet format to be used for said data session; and
f) wherein said data file includes one of the following;
(1) a software application executable on said client computing device; and
/or (2) an alarm message intended for a user of the client computing device. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
-
-
53. A system for distributing data over a wireless channel comprising:
-
a) a client device for initiating a data session and providing a request for a data file; and
b) a server device for responding to said request for said data file, and setting up a data link over the wireless channel to said client device; and
c) a packet transmission system coupled to said server device, for formatting said data file into data packets, said data packets having a format derived from analyzing device characteristics of said client device and transmission characteristics of the wireless channel; and
d) a packet receive system coupled to said client device for unpacking said data packets into a format suitable for use on said client device, said packet receive system being further configured for re-initiating a separate data session in the event said data file is not completely received.
-
- 54. The system of claim 54, wherein said packet receive system causes only data packets that were not received during said data session to be transferred during said separate data session.
Specification