Method and apparatus for accelerating data transmission in a network communication system
First Claim
1. A computer-implement method, comprising:
- at a second network node having one or more processors and memory storing programs executed by the one or more processors, wherein the second network node is a transit network node that is communicatively connected between a first network node and a third network node, and wherein the first network node is a predetermined downstream network node of the second network node, and the second network node is a predetermined downstream network node of the third network node;
receiving a first download request for a first data object including a plurality of data packets from the first network node through a first transport layer protocol connection established between the first network node and the second network node;
determining whether the first data object is locally stored at the second network node or not;
in accordance with a determination that the first data object is not locally stored at the second network node;
establishing a second transport layer protocol connection between the second network node and the third network node;
sending a second download request for the first data object to the third network node through the second transport layer protocol connection; and
establishing a mapping relationship between the first transport layer protocol connection and the second transport layer protocol connection, comprising;
associating (1) the first transport layer protocol connection between the first network node and the second network node and (2) the second transport layer protocol connection between the second network node and the third network node with (3) transmission of data packets of the first data object, such that data packets of the first data object received by the second network node from the third network node through the second transport layer protocol are transmitted to the first network node from the second network node through the first transport layer protocol; and
storing, at the second network node, the mapping relationship including an association specific to a project related to transmitting the data packets of the first data object and a timestamp field including time information of the second network node receiving the first download request from the first network node; and
receiving N1 data packets of the first data object from the third network node through the second transport layer protocol connection, the N1 data packets being an incomplete portion of the first data object;
while continuing receiving more packets of the first data object from the third network node;
determining whether a total amount of data in the N1 data packets of the first data object exceeds a predefined data amount threshold;
continuing to receive more packets of the first data object until the total amount of data in the N1 data packets of the first data object exceeds the predefined data amount threshold, comprising;
checking the established mapping relationship to identify the first transport layer protocol connection between the first network node and the second network node, based on the association established in the mapping relationship and specific to the project related to transmitting the data packets of the first data object and that the N1 data packets of the first data object are received by the second network node from the third network node through the second transport layer protocol connection; and
starting transmitting the data in the N1 data packets of the first data object from the second network node to the first network node through the identified first transport layer protocol connection according to the association established in the mapping relationship between the first transport layer protocol connection, the second transport layer protocol connection, and the transmission of data packets of the first data object, without performing data integrity check to any of the received N1 data packets.
1 Assignment
0 Petitions
Accused Products
Abstract
A second network node receives a first download request from a first network node. After determining that the first data object requested by the first node is not locally stored at the second network node, the second node sends a second download request for the first data object to a third network node and records a mapping relationship for the three network nodes. After receiving N1 data packets from the third network node and determining that a total amount of data in the N1 data packets corresponding to the first data object exceeds a predefined data amount threshold, the second node starts transmitting the data in the N1 data packets corresponding to the first data object to the first network node according to the recorded mapping relationship.
-
Citations
18 Claims
-
1. A computer-implement method, comprising:
at a second network node having one or more processors and memory storing programs executed by the one or more processors, wherein the second network node is a transit network node that is communicatively connected between a first network node and a third network node, and wherein the first network node is a predetermined downstream network node of the second network node, and the second network node is a predetermined downstream network node of the third network node; receiving a first download request for a first data object including a plurality of data packets from the first network node through a first transport layer protocol connection established between the first network node and the second network node; determining whether the first data object is locally stored at the second network node or not; in accordance with a determination that the first data object is not locally stored at the second network node; establishing a second transport layer protocol connection between the second network node and the third network node; sending a second download request for the first data object to the third network node through the second transport layer protocol connection; and establishing a mapping relationship between the first transport layer protocol connection and the second transport layer protocol connection, comprising; associating (1) the first transport layer protocol connection between the first network node and the second network node and (2) the second transport layer protocol connection between the second network node and the third network node with (3) transmission of data packets of the first data object, such that data packets of the first data object received by the second network node from the third network node through the second transport layer protocol are transmitted to the first network node from the second network node through the first transport layer protocol; and storing, at the second network node, the mapping relationship including an association specific to a project related to transmitting the data packets of the first data object and a timestamp field including time information of the second network node receiving the first download request from the first network node; and receiving N1 data packets of the first data object from the third network node through the second transport layer protocol connection, the N1 data packets being an incomplete portion of the first data object; while continuing receiving more packets of the first data object from the third network node; determining whether a total amount of data in the N1 data packets of the first data object exceeds a predefined data amount threshold; continuing to receive more packets of the first data object until the total amount of data in the N1 data packets of the first data object exceeds the predefined data amount threshold, comprising; checking the established mapping relationship to identify the first transport layer protocol connection between the first network node and the second network node, based on the association established in the mapping relationship and specific to the project related to transmitting the data packets of the first data object and that the N1 data packets of the first data object are received by the second network node from the third network node through the second transport layer protocol connection; and starting transmitting the data in the N1 data packets of the first data object from the second network node to the first network node through the identified first transport layer protocol connection according to the association established in the mapping relationship between the first transport layer protocol connection, the second transport layer protocol connection, and the transmission of data packets of the first data object, without performing data integrity check to any of the received N1 data packets. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A computer system acting as a second node, comprising:
-
one or more processors; memory; and one or more programs modules stored in the memory and configured for execution by the one or more processors, the one or more program modules including instruction for; receiving a first download request for a first data object including a plurality of data packets from a first network node through a first transport layer protocol connection established between the first network node and the second network node, wherein the second network node is a transit network node that is communicatively connected between the first network node and a third network node, and wherein the first network node is a predetermined downstream network node of the second network node, and the second network node is a predetermined downstream network node of the third network node; determining whether the first data object is locally stored at the second network node or not; in accordance with a determination that the first data object is not locally stored at the second network node; establishing a second transport layer protocol connection between the second network node and the third network node; sending a second download request for the first data object to the third network node through the second transport layer protocol connection; and establishing a mapping relationship between the first transport layer protocol connection and the second transport layer protocol connection, comprising; associating (1) the first transport layer protocol connection between the first network node and the second network node and (2) the second transport layer protocol connection between the second network node and the third network node with (3) transmission of data packets of the first data object, such that data packets of the first data object received by the second network node from the third network node through the second transport layer protocol are transmitted to the first network node from the second network node through the first transport layer protocol; and storing, at the second network node, the mapping relationship including an association specific to a project related to transmitting the data packets of the first data object and a timestamp field including time information of the second network node receiving the first download request from the first network node; and receiving N1 data packets of the first data object from the third network node through the second transport layer protocol connection, the N1 data packets being an incomplete portion of the first data object; while continuing receiving more packets of the first data object from the third network node; determining whether a total amount of data in the N1 data packets of the first data object exceeds a predefined data amount threshold; continuing to receive more packets of the first data object until the total amount of data in the N1 data packets of the first data object exceeds a predefined data amount threshold, comprising; checking the established mapping relationship to identify the first transport layer protocol connection between the first network node and the second network node, based on the association established in the mapping relationship and specific to the project related to transmitting the data packets of the first data object and that the N1 data packets of the first data object are received by the second network node from the third network node through the second transport layer protocol connection; and starting transmitting the data in the N1 data packets of the first data object from the second network node to the first network node through the identified first transport layer protocol connection according to the association established in the mapping relationship between the first transport layer protocol connection and the second transport layer protocol connection, and the transmission of data packets of the first data object, without performing data integrity check to any of the received N1 data packets. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer readable storage medium having stored therein one or more instructions, which, when executed by a computer system acting as a second node, cause the computer system to perform the following instructions:
-
receiving a first download request for a first data object including a plurality of data packets from a first network node through a first transport layer protocol connection established between the first network node and the second network node, wherein the second network node is a transit network node that is communicatively connected between the first network node and a third network node, and wherein the first network node is a predetermined downstream network node of the second network node, and the second network node is a predetermined downstream network node of the third network node; determining whether the first data object is locally stored at the second network node or not; in accordance with a determination that the first data object is not locally stored at the second network node; establishing a second transport layer protocol connection between the second network node and the third network node; sending a second download request for the first data object to the third network node through the second transport layer protocol connection; and establishing a mapping relationship between the first transport layer protocol connection and the second transport layer protocol connection, comprising; associating (1) the first transport layer protocol connection between the first network node and the second network node and (2) the second transport layer protocol connection between the second network node and the third network node with (3) transmission of data packets of the first data object, such that data packets of the first data object received by the second network node from the third network node through the second transport layer protocol are transmitted to the first network node from the second network node through the first transport layer protocol; and storing, at the second network node, the mapping relationship including an association specific to a project related to transmitting the data packets of the first data object and a timestamp field including time information of the second network node receiving the first download request from the first network node; and receiving N1 data packets of the first data object from the third network node through the second transport layer protocol connection, the N1 data packets being an incomplete portion of the first data object; while continuing receiving more packets of the first data object from the third network node; determining whether a total amount of data in the N1 data packets of the first data object exceeds a predefined data amount threshold; continuing to receive more packets of the first data object until the total amount of data in the N1 data packets of the first data object exceeds a predefined data amount threshold, comprising; checking the established mapping relationship to identify the first transport layer protocol connection between the first network node and the second network node, based on the association established in the mapping relationship and specific to the project related to transmitting the data packets of the first data object and that the N1 data packets of the first data object are received by the second network node from the third network node through the second transport layer protocol connection; and starting transmitting the data in the N1 data packets of the first data object from the second network node to the first network node through the identified first transport layer protocol connection according to the association established in the mapping relationship between the first transport layer protocol connection, the second transport layer protocol connection, and the transmission of data packets of the first data object, without performing data integrity check to any of the received N1 data packets. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification