Systems and methods for transmitting data packets
OwnerShrikumar Hariharasubrahmanianinventor
Life of this patent
Estimating the term…
Abstract
Methods and systems for transmitting data packets enable a communication device having limited memory to transmit data files in a packet-based network. The communication device partitions the sequence number field transmitted with a data packet into multiple portions. The communication device then generates a sequence number corresponding to the portions, where at least one portion identifies a particular segment of the data file. The communication device then transmits a data packet including a segment of a data file and the sequence number to a receiving device. When the communication device receives the acknowledgement packet from the receiving device, the communication device may determine which segment of the data file to transmit next.
Claims26
A method for transmitting data as a number of segments in separate packets, each packet including a sequence number field, the method comprising:
- generating a sequence number that includes a plurality of portions, with at least one portion of the sequence number identifying a particular segment of the data within a file, the at least one portion of the sequence number being based on predictable processing performed by the receiving device and the other portions of the sequence number being generated in accordance with a specification of a relevant transmission protocol;
- transmitting to a receiving device a data packet including the particular segment of the data and the associated sequence number;
- receiving a corresponding acknowledgement packet from the receiving device, the acknowledgement packet including an acknowledgment sequence number that is based on the predictable processing of the sequence number in the transmitted packet;
- and
- determining an offset that corresponds to the next segment of the data within the file to transmit based on one or more portions of the received acknowledgment sequence number that correspond to the at least one portion of the associated sequence number.
A system for transmitting data in a network, the data including a number of segments transmitted in separate packets, the system comprising:
- a memory configured to store instructions;
- and
- a processor configured to execute the instructions to:
- generate a sequence number including a plurality of portions, at least one portion indicating a particular segment of the data within a file, the at least one portion of the sequence number being based on predictable processing performed by a receiving device and the other portions of the sequence number being generated in accordance with a specification of a relevant transmission protocol,
- transmit a data packet including the particular segment of the data and the sequence number to the receiving device,
- receive a corresponding acknowledgement packet from the receiving device, the acknowledgement packet including an acknowledgment sequence number that is based on the predictable processing of the sequence number in the transmitted packet, and
- determine an offset to a next segment of the data in the file to transmit based on one or more portions of the acknowledgment sequence number that correspond to the at least one portion of the associated sequence number.
A computer-readable medium having stored thereon a plurality of sequences of instructions, said sequences of instructions including instructions which, when executed by at least one processor, cause said processor to perform the steps of:
- generating a sequence number including a plurality of portions, at least one portion identifying a particular segment of data within a file, the at least one portion of the sequence number being based on predictable processing performed by the receiving device and the other portions of the sequence number being generated in accordance with a specification of a relevant transmission protocol;
- transmitting a data packet including the particular segment of the data and the sequence number to a receiving device;
- receiving corresponding acknowledgement packet from the receiving device, the acknowledgement packet including an acknowledgment sequence number that is based on the predictable processing of the sequence number in the transmitted packet;
- and
- determining an offset to a next segment of the data in the file to transmit based on one or more portions of the acknowledgment sequence number that correspond to the at least one portion of the associated sequence number.
A system for transmitting a data stream as a number of discrete packets, each packet including a sequence number, the system comprising:
- means for generating a sequence number including a plurality of portions, at least one portion identifying a particular segment of the data stream, the at least one portion of the sequence number being based on predictable processing performed by the receiving device and the other portions of the sequence number being generated in accordance with a specification of a relevant transmission protocol;
- means for sending a data packet including a first segment of the data stream and the associated sequence number to a receiving device;
- means for obtaining a corresponding acknowledgement packet from the receiving device, the acknowledgement packet including an acknowledgment sequence number that is based on the predictable processing of the sequence number in the transmitted packet;
- and
- means for determining an offset that corresponds to the next segment of the data stream within the file to transmit based on one or more portions of the received acknowledgment sequence number that correspond to the at least one portion of the associated sequence number.
A method for transmitting a data stream in a number of discrete packets, each packet including a segment of the data stream and at least one header field, the method comprising:
- providing a first function to generate the header field in compliance with a transmission control protocol;
- generating the header field using the first function and including in the header field information that represents an associated file offset the information being generated based on predictable processing performed by a receiving device;
- transmitting to the receiving device a data packet including the segment of the data stream that corresponds to the offset within the file and the header field;
- receiving an acknowledgement packet from the receiving device, the acknowledgment packet including a file offset value that is based on the predictable processing of the associated file;
- applying a second function to a portion of the acknowledgement packet corresponding to the header field;
- and
- identifying file offset information relating to a next data segment from results of applying the second function.
Dependencies are inferred from the claim text.