Reliable connectionless network protocol
First Claim
1. A method for transferring data from a source node to a destination node over a network, the method comprising the computer-implemented steps of:
- dividing said data into a series of one or more segments;
creating a plurality of packets, wherein each packet of said plurality of packets includes;
first data that allows said destination node to determine whether all segments of said series have been received at said destination node, and second data that allows said destination node to order said segments to reconstruct said data that was divided into said series of one or more segments; and
sending said plurality of packets from said source node to said destination node.
2 Assignments
0 Petitions
Accused Products
Abstract
A reliable connectionless protocol is used in a networking environment. A transport layer receives data for transfer between a source node and a destination node on a network. The transport layer divides the data into predetermined length data packets, and generates a segment header for each data packet. The transport layer generates independent segments by combining each data packet with a corresponding segment header. Consequently, each segment, including the first segment and the last segment, contains a data packet. The independent segments are transferred from the source node to the destination node via the network without establishing a connection. A transport layer on the destination node creates local state upon receipt of the first segment, and extracts the data from the data packets to re-construct the original data. The local state is released when the destination node receives the last segment in the message.
88 Citations
38 Claims
-
1. A method for transferring data from a source node to a destination node over a network, the method comprising the computer-implemented steps of:
-
dividing said data into a series of one or more segments;
creating a plurality of packets, wherein each packet of said plurality of packets includes;
first data that allows said destination node to determine whether all segments of said series have been received at said destination node, and second data that allows said destination node to order said segments to reconstruct said data that was divided into said series of one or more segments; and
sending said plurality of packets from said source node to said destination node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
receiving, at said source node from said destination node, an acknowledgement for each packet that is received by said destination node; and
when said acknowledgement for a particular packet is not received within a predetermined length of time, sending said particular packet from said source node to said destination node.
-
-
15. The method of claim 14, wherein said predetermined length of time is adjusted based on how long after sending each packet said acknowledgement is received.
-
16. A method for transferring data from a source node to a destination node over a network, the method comprising the computer-implemented steps of:
-
receiving, at said destination node from said source node, a plurality of packets, wherein each packet of said plurality of packets includes a segment created by said source node dividing said data into a series of segment;
determining based on first data included in each packet whether all segments of said series have been received at said destination node; and
when all segments of said series have been received, ordering said segments based on second data included in each packet to reconstruct said data that was divided into said series of one or more segments. - View Dependent Claims (17, 18, 19)
initializing, at said destination node, local state information in response to said destination node receiving a first packet of said plurality of packets, wherein said destination node uses said local state information to track additional packets of said plurality of packets that are received, and wherein said destination node uses said local state information to order said segments; and
discarding, at said destination node, said local state information after all packets of said plurality of packets are received.
-
-
18. The method of claim 17, wherein said step of discarding said local state information is performed after a predetermined length of time after all packets of said plurality of packets are received.
-
19. The method of claim 17, further comprising the computer-implemented step of:
-
receiving a duplicate of a particular packet of said plurality of packets, wherein said particular packet has already been received at said destination node; and
discarding said duplicate of said particular packet.
-
-
20. A computer-readable medium carrying one or more sequences of instructions for transferring data from a source node to a destination node over a network, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to:
-
divide said data into a series of one or more segments;
create a plurality of packets, wherein each packet of said plurality of packets includes;
first data that allows said destination node to determine whether all segments of said series have been received at said destination node, and second data that allows said destination node to order said segments to reconstruct said data that was divided into said series of one or more segments; and
send said plurality of packets from said source node to said destination node. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
receive, at said source node from said destination node, an acknowledgement for each packet that is received by said destination node; and
when said acknowledgement for a particular packet is not received within a predetermined length of time, send said particular packet from said source node to said destination node.
-
-
34. The computer-readable medium of claim 33, wherein said predetermined length of time is adjusted based on how long after sending each packet said acknowledgement is received.
-
35. A computer-readable medium carrying one or more sequences of instructions for transferring data from a source node to a destination node over a network, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to:
-
receive, at said destination node from said source node, a plurality of packets, wherein each packet of said plurality of packets includes a segment created by said source node dividing said data into a series of segments;
determine based on first data included in each packet whether all segments of said series have been received at said destination node; and
when all segments of said series have been received, order said segments based on second data included in each packet to reconstruct said data that was divided into said series of one or more segments. - View Dependent Claims (36, 37, 38)
initialize, at said destination node, local state information in response to said destination node receiving a first packet of said plurality of packets, wherein said destination node uses said local state information to track additional packets of said plurality of packets that are received, and wherein said destination node uses said local state information to order said segments; and
discard, at said destination node, said local state information after all packets of said plurality of packets are received.
-
-
37. The computer-readable medium of claim 36, wherein said step of discarding said local state information is performed after a predetermined length of time after all packets of said plurality of packets are received.
-
38. The computer-readable medium of claim 36, further comprising instructions to:
-
receive a duplicate of a particular packet of said plurality of packets, wherein said particular packet has already been received at said destination node; and
discard said duplicate of said particular packet.
-
Specification