Patentable/Patents/US-7009967
US-7009967

Systems and methods for transmitting data packets

PublishedMarch 7, 2006
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical 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.

Patent Claims
26 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. 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.

2

2. The method of claim 1 , wherein the at least one portion of the acknowledgement sequence number includes an incremented version of the at least one portion of the sequence number transmitted to the receiving device and the determining step further includes identifying the next segment to transmit based on the incremented version.

3

3. The method of claim 1 , wherein the transmitting step includes transmitting the data packet using transmission control protocol/Internet protocol (TCP/IP).

4

4. The method of claim 1 , further comprising: repeating the transmitting, receiving and determining steps for additional segments of the data until all the segments of the data have been transmitted.

5

5. The method of claim 1 , wherein the transmitting step includes transmitting the data packet without storing information identifying the segment being transmitted to the receiving device.

6

6. The method of claim 1 , wherein the plurality of portions includes a least significant portion, wherein the partitioning step includes setting the length of the least significant portion based on the length of the segments transmitted.

7

7. The method of claim 6 , wherein the setting step includes: setting the length of the least significant portion to n bits when the length of the segments transmitted is 2 n bits.

8

8. 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.

9

9. The system of claim 8 , wherein the at least one portion of the acknowledgement sequence number includes an incremented version of the at least one portion of the sequence number transmitted to the receiving device and wherein when determining, the processor: identifies the next segment to transmit based on the incremented at least one portion of the sequence number.

10

10. The system of claim 8 , wherein when transmitting, the processor: transmits the data packet using transmission control protocol/Internet protocol (TCP/IP).

11

11. The system of claim 8 , wherein the processor is further configured to: repeat the transmitting, receiving and determining for additional segments of the data until all the segments of the data have been transmitted and acknowledged.

12

12. The system of claim 8 , wherein when transmitting, the processor: transmits the data packet without storing information identifying the segment being transmitted to the receiving device.

13

13. The system of claim 8 , wherein the plurality of portions includes a first portion, and the processor is further configured to: set the length of the first portion based on the length of the segments transmitted.

14

14. The system of claim 13 , wherein when setting, the processor is configured to: set the length of the first portion to n bits when the length of the segments transmitted is 2 n bits.

15

15. 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.

16

16. The computer-readable medium of claim 15 , wherein the at least one portion of the acknowledgement sequence number includes an incremented version of the at least one portion of the sequence number transmitted to the receiving device and wherein the determining includes identifying the next segment to transmit based on the incremented at least one portion of the sequence number.

17

17. The computer-readable medium of claim 15 , wherein the transmitting includes: transmitting the data packet using transmission control protocol/Internet protocol (TCP/IP).

18

18. The computer-readable medium of claim 15 , including instructions for causing the processor to perform the further steps of: repeating the transmitting, receiving and determining for additional segments of the data until all the segments of the data have been transmitted.

19

19. The computer-readable medium of claim 15 , wherein the transmitting includes: transmitting the data packet without storing information identifying the segment being transmitted to the receiving device.

20

20. The computer-readable medium of claim 15 , wherein the plurality of portions includes a least significant portion, the computer-readable medium including instructions for causing said processor to perform the further steps of: setting the length of the least significant portion based on the length of the segments transmitted.

21

21. The computer-readable medium of claim 20 , wherein the setting includes: setting the length of the least significant portion to n bits when the length of the segments transmitted is 2 n bits.

22

22. 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.

23

23. 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.

24

24. The method of claim 1 , wherein the data represents at least one of a data file, a data message and application generated data.

25

25. The system of claim 8 , wherein the data represents at least one of a data file, a data message and application generated data.

26

26. The computer-readable medium of claim 15 , wherein the data represents at least one of a data file, a data message and application generated data.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

August 4, 2000

Publication Date

March 7, 2006

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Systems and methods for transmitting data packets” (US-7009967). https://patentable.app/patents/US-7009967

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.