Efficient download mechanism for devices with limited local storage
First Claim
1. A method for downloading information from a second device to a first device, comprising:
- sending a first specified number of identifiably ordered data packets from the second device to the first device;
receiving a first acknowledgment from said first device that a second specified number of said identifiably ordered data packets was received by said first device, wherein said second specified number of said identifiably ordered data packets is less than said first specified number of identifiably ordered data packets; and
sending additional of said identifiably ordered data packets from said second device to said first device, up to said first specified number of identifiably ordered data packets beyond the last of said identifiably ordered data packets acknowledged by said first device.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for downloading data from a one device to another. First, a device broadcasts a discovery packet that informs servers that data desired. Then servers send offer packets to the device, informing it that they are prepared to download data. The device chooses an offer and sends a start packet. The chosen server may then send the device a selected limit of data packets. The device will send acknowledgements to the server before it has received the server'"'"'s selected limit. Upon receiving an acknowledgement, the server may again send up to the limit of data packets before again waiting for acknowledgement. For example, if the server is permitted to send a limit of 8 packets, the device may send an acknowledgement every 4 packets. This shortens download time by allowing server and device to operate simultaneously.
157 Citations
33 Claims
-
1. A method for downloading information from a second device to a first device, comprising:
-
sending a first specified number of identifiably ordered data packets from the second device to the first device;
receiving a first acknowledgment from said first device that a second specified number of said identifiably ordered data packets was received by said first device, wherein said second specified number of said identifiably ordered data packets is less than said first specified number of identifiably ordered data packets; and
sending additional of said identifiably ordered data packets from said second device to said first device, up to said first specified number of identifiably ordered data packets beyond the last of said identifiably ordered data packets acknowledged by said first device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer readable medium comprising computer executable instructions for downloading information from a second device to a first device, the computer executable instructions carrying out a method, the method comprising:
-
establishing a connection with the first device;
generating at least one identifiably ordered data packet including at least one representation of said information;
sequentially transmitting a number of said at least one identifiably ordered data packets to the first device, wherein said number is determined by comparing a number of data packets transmitted to the first device to the sum of the number of identifiably ordered data packets acknowledged by the first device based upon at least one acknowledgment received by the second device and a second predetermined number of data packets. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer readable medium comprising computer executable instructions for receiving information from a server, the computer executable instructions carrying out a method, the method comprising:
-
establishing a connection to a server of at least one server;
receiving from the server at least one identifiably ordered data packet including at least one representation of said information;
when a predetermined number of identifiably ordered data packets are received according to said receiving, transmitting an acknowledgment; and
when the last of the identifiably ordered data packets are received according to said receiving, transmitting a stop packet to signify the end of said receiving. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
-
30. Apparatus for downloading information from one device to another, comprising:
-
means for sending data, wherein said sending includes sending multiple packets of data, up to a specified limit, prior to waiting for acknowledgement of the receipt of said multiple packets of data, after which said means for sending data may send out more data;
means for receiving acknowledgments sent in response to the receipt of data at specified intervals;
means for receiving a message that a packet among said multiple packets of data was not received; and
means for re-sending said packet among said multiple packets of data that was not received.
-
-
31. A computer readable medium comprising computer executable modules including computer executable instructions for downloading information from a second device to a first device, the modules comprising:
-
means for transmitting a first specified number of identifiably ordered data packets from the second device to the first device;
means for receiving a first acknowledgment from said first device that a second specified number of said identifiably ordered data packets was received by said first device, wherein said second specified number of said identifiably ordered data packets is less than said first specified number of identifiably ordered data packets; and
means for transmitting additional of said identifiably ordered data packets from said second device to said first device, up to said first specified number of identifiably ordered data packets beyond the last of said identifiably ordered data packets acknowledged by said first device.
-
-
32. A computer readable medium comprising computer executable modules including computer executable instructions for downloading information from a second device to a first device, the modules comprising:
-
means for establishing a connection with the first device;
means for generating at least one identifiably ordered data packet including at least one representation of said information;
means for sequentially transmitting said at least one identifiably ordered data packet to the first device according to the output of at least one of (A) a means for determining the number of data packets acknowledged by the first device based upon at least one acknowledgment received from the first device, wherein an acknowledgment is sent in response to receiving a first predetermined number of identifiably ordered data packets from the second device and (B) a means for comparing the number of data packets transmitted to the first device to the sum of the number of identifiably ordered data packets acknowledged by the first device based upon at least one acknowledgment received by the second device and a second predetermined number of data packets.
-
-
33. A computer readable medium comprising computer executable modules having computer executable instructions for receiving information from a server, the modules comprising:
-
means for establishing a connection to a server of at least one server;
means for receiving from the server at least one identifiably ordered data packet including at least one representation of said information;
means for transmitting an acknowledgment when a predetermined number of identifiably ordered data packets are received according to said receiving; and
means for transmitting a stop packet to signify the end of said receiving when the last of the identifiably ordered data packets are received according to said receiving.
-
Specification