Data transfer between endpoints using a multipath connection

US10097465B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10097465-B2
Application numberUS-201615176179-A
CountryUS
Kind codeB2
Filing dateJun 8, 2016
Priority dateDec 8, 2015
Publication dateOct 9, 2018
Grant dateOct 9, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Example methods are provided to perform data transfer between a first endpoint and a second endpoint. The method may comprise detecting an elephant flow of data from an application executing on the first endpoint for transfer to the second endpoint; and splitting the elephant flow to obtain first packets and second packets. The first endpoint may have cognizance of a first path and a second path between a first network interface of the first endpoint and a second network interface of the second endpoint. The method may comprise establishing a first subflow and a second subflow of a multipath connection with the second endpoint; and sending, over the first network interface, the first packets on the first subflow and the second packets on the second subflow to the second network interface.

First claim

Opening claim text (preview).

We claim: 1. A method for a first endpoint to perform data transfer between the first endpoint and a second endpoint using a multipath connection, the method comprising: detecting an elephant flow of data from an application executing on the first endpoint for transfer to the second endpoint; splitting the elephant flow to obtain first packets and second packets, wherein the first endpoint has cognizance of a first path and a second path between a first network interface of the first endpoint and a second network interface of the second endpoint; establishing, over the first network interface, a first subflow of a multipath connection with the second endpoint to send the first packets, wherein the first subflow is identified by a first set of tuples that includes a network address of the first network interface and a first port number; establishing, over the first network interface, a second subflow of the multipath connection to send the second packets, wherein the second subflow is identified by a second set of tuples that includes the network address and a second port number; and sending, over the first network interface, the first packets on the first subflow and the second packets on the second subflow to the second network interface, wherein the first packets travel on the first path based on the first set of tuples and the second packets on the second path based on the second set of tuples. 2. The method of claim 1 , wherein the method further comprises: configuring the first endpoint to operate in a network-cognizant mode in which the first endpoint has cognizance of multiple paths between the first network interface and the second network interface, wherein the multiple paths include the first path and the second path. 3. The method of claim 2 , wherein configuring the first endpoint to operate in the network-cognizant mode comprises: based on a total number of the multiple paths, setting a maximum number of subflows of the multipath connection. 4. The method of claim 3 , wherein the method further comprises: determining that establishing a third subflow of the multipath connection does not exceed the maximum number of subflows; and based on cognizance of a third path between the first network interface and the second network interface, splitting the elephant flow to obtain third packets. 5. The method of claim 4 , wherein the first endpoint is a multi-homed device with multiple network interfaces that include the first network interface and a further network interface. 6. The method of claim 5 , wherein the method further comprises: establishing, over the further network interface, a third subflow of the multipath connection to send the third packets, wherein the third subflow is configured with a third set of tuples that includes the network address and a third port number; and sending, over the further network interface, the third packets on the third subflow, wherein the third packets travel on the third path based on the third set of tuples to the second network interface. 7. The method of claim 1 , wherein detecting the elephant flow comprises: detecting the elephant flow based on one or more of the following: an amount of data associated with the elephant flow, a duration associated with the elephant flow, a data transfer rate associated with the elephant flow and an attribute associated with the application. 8. The method of claim 1 , wherein the first path and second path are equal-cost paths provided by a leaf switch that connects the first endpoint to a first spine switch and a second spine switch in a data center environment, the leaf switch performing Equal Cost Multipath (ECMP) routing to select the first spine switch for the first packets based on the first set of tuples and second spine switch for the second packets based on the second set of tuples. 9. A non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by a processor of a computing device, cause the processor to perform a method to transfer data between a first endpoint supported by the computing device and a second endpoint, the method comprising: detecting an elephant flow of data from an application executing on the first endpoint for transfer to the second endpoint; splitting the elephant flow to obtain first packets and second packets, wherein the first endpoint has cognizance of a first path and a second path between a first network interface of the first endpoint and a second network interface of the second endpoint; establishing, over the first network interface, a first subflow of a multipath connection with the second endpoint to send the first packets, wherein the first subflow is identified by a first set of tuples that includes a network address of the first network interface and a first port number; establishing, over the first network interface, a second subflow of the multipath connection to send the second packets, wherein the second subflow is identified by a second set of tuples that includes the network address and a second port number; and sending, over the first network interface, the first packets on the first subflow and the second packets on the second subflow to the second network interface, wherein the first packets travel on the first path based on the first set of tuples and the second packets on the second path based on the second set of tuples. 10. The non-transitory computer-readable storage medium of claim 9 , wherein the method further comprises: configuring the first endpoint to operate in a network-cognizant mode in which the first endpoint has cognizance of multiple paths between the first network interface and the second network interface, wherein the multiple paths include the first path and the second path. 11. The non-transitory computer-readable storage medium of claim 10 , wherein configuring the first endpoint to operate in the network-cognizant mode comprises: based on a total number of the multiple paths, setting a maximum number of subflows of the multipath connection. 12. The non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises: determining that establishing a third subflow of the multipath connection does not exceed the maximum number of subflows; and based on cognizance of a third path between the first network interface and the second network interface, splitting the elephant flow to obtain third packets. 13. The non-transitory computer-readable storage medium of claim 12 , wherein the first endpoint is a multi-homed device with multiple network interfaces that include the first network interface and a further network interface. 14. The non-transitory computer-readable storage medium of claim 13 , wherein the method further comprises: establishing, over the further network interface, a third subflow of the multipath connection to send the third packets, wherein the third subflow is configured with a third set of tuples that includes the network address and a third port number; and sending, over the further network interface, the third packets on the third subflow, wherein the third packets travel on the third path based on the third set of tuples to the second network interface. 15. The non-transitory computer-readable storage medium of claim 9 , wherein detecting the elephant flow comprises: detecting the elephant flow based on one or more of the following: an amount of data associated with the elephant flow, a duration associated with the elephant flow, a data transfer rate associated with the elephant flow and an attribute associated with the applicat

Assignees

Inventors

Classifications

  • involving identification of individual flows · CPC title

  • Multipath · CPC title

  • in the transport layer [OSI layer 4] (H04L69/16 takes precedence) · CPC title

  • In-band adaptation of TCP data exchange; In-band control procedures · CPC title

  • for supporting traffic characterised by the type of applications · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10097465B2 cover?
Example methods are provided to perform data transfer between a first endpoint and a second endpoint. The method may comprise detecting an elephant flow of data from an application executing on the first endpoint for transfer to the second endpoint; and splitting the elephant flow to obtain first packets and second packets. The first endpoint may have cognizance of a first path and a second pat…
Who is the assignee on this patent?
Nicira Inc, Nicira Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/125. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Oct 09 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).