US2023188628A1PendingUtilityA1

Invoking a Random Linear Network Coding Communications Protocol

57
Assignee: APS TECH 1 LLCPriority: Oct 2, 2019Filed: Dec 13, 2022Published: Jun 15, 2023
Est. expiryOct 2, 2039(~13.2 yrs left)· nominal 20-yr term from priority
H04L 12/4641H04L 12/4633H04L 69/24H04L 69/08H04L 69/164H04L 47/193H04L 69/22H04L 69/16H04L 1/0076H04L 67/01H04L 69/03
57
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A technology is provided for invoking a random linear network coding (RLNC) communications protocol between a client and server in a network. In one example, a synchronize message requesting a network connection to a server can contain an indication that a client supports the RLNC communications protocol to encode and decode data packets using random linear network coding. The server can analyze the synchronize message for the indication that the client supports the RLNC communications protocol and send an acknowledge message to the client indicating that the server supports the RLNC communications protocol. Thereafter, the server can listen on a communications channel for a connection request sent by the client to communicate with the server using the RLNC communications protocol.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A system for invoking a random linear network coding (RLNC) communications protocol between a client and server in a network, comprising:
 at least one processor;   a memory device including instructions that, when executed by the at least one processor, cause the system to:
 receive a synchronize message sent by the client over the network requesting a network connection to the server; 
 analyze the synchronize message for the indication that the client supports the RLNC communications protocol to determine whether the synchronize message contains an indication that the client supports the RLNC communications protocol to encode and decode data packets using random linear network coding; 
 send an acknowledge message to the client indicating that the server supports the RLNC communications protocol; and 
 listen on a communications channel for the data packets sent by the client to the server using the RLNC communications protocol. 
   
     
     
         2 . The system in  claim 1 , wherein the synchronize message is analyzed to identify an RLNC protocol flag which indicates that the client supports the RLNC communications protocol. 
     
     
         3 . The system in  claim 1 , wherein the synchronize message is analyzed to identify a type-length-value (TLV) included in the synchronize message that has a value indicating that the client supports the RLNC communications protocol. 
     
     
         4 . The system in  claim 1 , wherein the client sets an RLNC protocol flag in a header of the synchronize message to indicate that the client supports the RLNC communications protocol. 
     
     
         5 . The system in  claim 1 , wherein the server analyzes the synchronize message for an RLNC protocol flag that indicates that the client supports the RLNC communications protocol, and sets the RLNC protocol flag in the acknowledge message to indicate that the server supports the RLNC communications protocol. 
     
     
         6 . The system in  claim 1 , wherein the memory device further includes instructions that, when executed by the at least one processor, cause the system to determine whether the client possesses valid authorization to use the RLNC communications protocol to send and receive data packets. 
     
     
         7 . The system in  claim 1 , wherein the memory device further includes instructions that, when executed by the at least one processor, cause the system to:
 receive a finished message sent by the client, where the finished message is sent in response to the client receiving the acknowledge message indicating that the server supports the RLNC communications protocol; and   terminate the network connection with the client.   
     
     
         8 . The system in  claim 1 , wherein data packets sent between the client and the server are encapsulated using a tunneling protocol. 
     
     
         9 . A computer implemented method, comprising:
 receiving a synchronize message from a client requesting a transmission control protocol (TCP) network connection to a server;   analyzing the synchronize message for an indication that the client supports a random linear network coding (RLNC) communications protocol to encode and decode data packets using random linear network coding;   sending an acknowledge message to the client indicating that the server supports the RLNC communications protocol by encoding and decoding data packets using random linear network coding;   terminating the TCP network connection with the client; and   establishing a network connection with the client to use the RLNC communications protocol to send and receive data packets.   
     
     
         10 . The method in  claim 9 , wherein analyzing the synchronize message for the indication that the client supports the RLNC communications protocol further comprises analyzing a header of the synchronize message to identify an RLNC protocol flag which indicates that the client supports the RLNC communications protocol. 
     
     
         11 . The method in  claim 9 , wherein analyzing the synchronize message for the indication that the client supports the RLNC communications protocol further comprises identifying a type-length-value (TLV) included in the synchronize message that has a value indicating that the client supports the RLNC communications protocol. 
     
     
         12 . The method in  claim 9 , wherein terminating the TCP network connection with the client further comprises receiving a finished message sent by the client requesting that the TCP network connection be terminated. 
     
     
         13 . The method in  claim 9 , further comprising opening a network port to allow the network connection with the client and to send and receive data packets using the RLNC communications protocol over the network connection. 
     
     
         14 . The method in  claim 9 , further comprising:
 measuring characteristics of a data stream comprising data packets transmitted between the server and the client; and   analyzing the characteristics of the data stream to determine whether to continue using the RLNC communications protocol to transmit the data stream.   
     
     
         15 . The method in  claim 14 , further comprising:
 sending a message to the client that instructs the client to stop using the RLNC communications protocol; and   sending the data stream using a TCP protocol.   
     
     
         16 . A non-transitory machine readable storage medium including instructions embodied thereon, wherein the instructions, when executed by at least one processor:
 send, by a client, a synchronize message to a server over a network requesting to connect to the server over a network, wherein the synchronize message contains an indication that the client supports a random linear network coding (RLNC) communications protocol to encode and decode data packets using random linear network coding;   receive an acknowledge message from the server containing an indication that the server supports the RLNC communications protocol; and   send the data packets over the network to the server using the RLNC communications protocol.   
     
     
         17 . The non-transitory machine readable storage medium in  claim 16 , wherein the synchronize message and the acknowledge message contain an RLNC protocol flag which indicates support of the RLNC communications protocol. 
     
     
         18 . The non-transitory machine readable storage medium in  claim 17 , wherein the client sets an RLNC protocol flag in a header of the synchronize message to indicate that the client supports the RLNC communications protocol. 
     
     
         19 . The non-transitory machine readable storage medium in  claim 17 , wherein a transmission control protocol (TCP) layer installed on the server is configured to:
 determine, at the server, whether the RLNC protocol flag in the synchronize message received from the client indicates that the client supports the RLNC communications protocol, and   set the RLNC protocol flag in the acknowledge message to indicate that the server supports the RLNC communications protocol when the client supports the RLNC communications protocol.   
     
     
         20 . The non-transitory machine readable storage medium in  claim 16 , wherein the data packets are sent to the server using a user datagram protocol (UDP) communications channel dedicated for transmitting data packets using the RLNC communications protocol.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.