Systems and methods for providing a session layer connection between two or more network endpoints. Session layer connections created and maintained using embodiments of the present disclosure use endpoint identifiers (EIDs) and allow for session layer continuity when a lower-layer connection is broken because of network failures or the movement of an endpoint from one network connection to another.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for a first network element to establish a session layer connection with a second network element, the method comprising: receiving a request from an application layer of the first network element to listen for a session layer connection request, wherein the first network element is identified by a first endpoint identifier (EID); instructing a transport layer of the first network element to listen for a request for a new transport layer connection; receiving a first transport layer connection request from the second network element, wherein the first transport layer connection request comprises a first internet protocol (IP) address and wherein the second network element is identified by a second EID; establishing a first transport layer connection with the second network element; receiving a first session layer connection request from the second network element, wherein the first session layer connection request comprises a session identifier (ID) and the second EID; establishing a session layer connection with the second network element; receiving a first plurality of session layer messages from the second network element via the session layer connection; forwarding the first plurality of session layer messages to the application layer; receiving a second plurality of session layer messages from the application layer with instructions to send the second plurality of session layer messages to the second network element; sending the second plurality of session layer messages to the second network element via the session layer connection; maintaining a local message sequence number associated with the session layer connection; inserting the local message sequence number into each of the second plurality of session layer messages; incrementing the local message sequence number after sending each session layer message; maintaining a local message acknowledgement number associated with the session layer connection; and updating the local message acknowledgement number according to a received message acknowledgement number extracted from each of the first plurality of session layer messages.
2. The method of claim 1 , wherein establishing the session layer connection further comprises sending a session layer confirmation message to the second network element via the first transport layer connection.
3. The method of claim 1 , wherein establishing the session layer connection further comprises: receiving credential information from the second network element via the first transport layer connection; and authenticating the credential information.
4. The method of claim 1 , further comprising: receiving a second transport layer connection request from the second network element, wherein the second transport layer connection request comprises the first IP address; establishing a second transport layer connection with the second network element; receiving a second session layer resynchronization request from the second network element, wherein the second session layer resynchronization request comprises the session ID and the second EID; reestablishing the session layer connection with the second network element; and resynchronizing the session layer connection according to the local message sequence number and the local message acknowledgement number.
5. The method of claim 1 , further comprising: receiving a second transport layer connection request from the second network element, wherein the second transport layer connection request comprises a second IP address; establishing a second transport layer connection with the second network element; receiving a second session layer resynchronization request from the second network element, wherein the second session layer resynchronization request comprises the session ID and the second EID; reestablishing the session layer connection with the second network element; and resynchronizing the session layer connection according to the local message sequence number and the local message acknowledgement number.
6. The method of claim 1 , wherein each of the first plurality of session layer messages comprises a session header and wherein the session header comprises the session ID, the first EID, the second EID, a message sequence number and a message acknowledgement number.
7. A first network element comprising: a memory for storing programming logic to implement an application layer, a session layer, a transport layer, a network layer, and a network access layer; a network interface coupled with a second network element via an internet, wherein the first network element is identified on the internet by a first endpoint identifier (EID) and wherein the second network element is identified on the internet by a second EID; and a processor coupled to the memory and the network interface, wherein the processor is configured to: receive a request from the application layer of the first network element to listen for a session layer connection request; instruct the transport layer of the first network element to listen for a request for a new transport layer connection; receive a transport layer connection request, via the network interface, from the second network element; establish a transport layer connection, via the network interface, with the second network element; receive a session layer connection request, via the network interface, from the second network element, wherein the session layer connection request comprises a session identifier (ID); establish a session layer connection, via the network interface, with the second network element; receive a first plurality of session layer messages from the second network element via the session layer connection; each of the first plurality of session layer messages comprising a session header, the session header including the session ID, the first EID, the second EID, a message sequence number, and a message acknowledgement number; forward the first plurality of session layer messages to the application layer of the first network element; receive a second plurality of session layer messages from the application layer of the first network element with instructions to send the second plurality of session layer messages to the second network element; and send the second plurality of session layer messages to the second network element via the session layer connection.
8. The first network element of claim 7 , wherein the memory comprises a local message sequence number and a local message acknowledgement number and wherein the processor is further configured to: insert the local message sequence number into each of the second plurality of session layer messages; increment the local message sequence number after sending each session layer message; and update the local message acknowledgement number according to a receive message acknowledgement number extracted from each of the first plurality of session layer messages.
9. The first network element of claim 8 , wherein the processor is further configured to: receive a second transport layer connection request from the second network element, wherein the second transport layer connection request comprises a first internet protocol (IP) address; establish a second transport layer connection with the second network element; receive a second session layer resynchronization request from the second network element, wherein the second session layer resynchronization request comprises the session ID and the second EID; reestablish the session layer connection with the second network element; and resynchronize the session layer connection according to the local message sequence number and the local message acknowledgement number.
10. The first network element of claim 8 , wherein the processor is further configured to: receive a second transport layer connection request from the second network element, wherein the second transport layer connection request comprises a second internet protocol (IP) address; establish a second transport layer connection with the second network element; receive a second session layer resynchronization request from the second network element, wherein the second session layer connection request comprises the session ID and the second EID; reestablish the session layer connection with the second network element; and resynchronize the session layer connection according to the local message sequence number and the local message acknowledgement number.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 20, 2017
September 3, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.