System and method for using virtual lanes to alleviate congestion in a fat-tree topology

US9325619B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9325619-B2
Application numberUS-201213671467-A
CountryUS
Kind codeB2
Filing dateNov 7, 2012
Priority dateNov 15, 2011
Publication dateApr 26, 2016
Grant dateApr 26, 2016

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.

A system and method can alleviate congestion in a middleware machine environment with a plurality of switches in a fat-tree topology. The middleware machine environment can support a plurality of end nodes and allows for generating a virtual lane assignment for every pair of source end node and destination end node. Then, the packet flows from a source end node to different destination end nodes sharing a physical link can be distributed across different virtual lanes in order to avoid the head-of-line (HOL) blocking.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for alleviating congestion in a middleware machine environment, comprising: providing a fat-tree topology in a middleware machine environment, wherein the fat-tree topology includes a source leaf switch associated with a plurality of source end nodes, a plurality of destination leaf switches, each associated with one or more destination end nodes, and a central connecting switch that connects the source leaf switch and the destination leaf switches using a plurality of physical links, wherein each physical link includes a plurality of virtual lanes; assigning the plurality of virtual lanes in a particular physical link that connects the source leaf switch and the central connecting switch and is shared by the plurality of destination leaf switches, to different pairs of leaf switches, wherein each of the different pairs of leaf switches represents the source leaf switch and one of the plurality of destination leaf switches; generating an array that contains one or more virtual lanes assigned for each pair of leaf switches; identifying a plurality of packet flows, wherein each packet flows is transmitted between a different source end node and a destination end node associated with a different destination leaf switch; and distributing the plurality of packet flows across the plurality of virtual lanes in the particular physical link, by performing the steps comprising receiving a request to transmit data, from a source end node at the source leaf switch to a destination end node at a destination leaf switch, determining, based on the pairing of the source leaf switch and the destination leaf switch, a particular virtual lane within the particular physical link, for use in transmitting the data, and obtain the particular virtual lane from the array to transmit the data. 2. The method according to claim 1 , wherein each of the plurality of source and destination leaf switches includes a forwarding table containing a list of destination addresses and one or more corresponding ports. 3. The method according to claim 1 , wherein the plurality of virtual lanes in the particular physical link that equals to the number of destination leaf switches. 4. The method according to claim 1 , wherein the plurality of virtual lanes in the particular physical link that equals to the number of destination leaf switches minus one. 5. The method according to claim 1 , wherein at least one of the destination end nodes that receive the plurality of packet flows contributes to a hot-spot. 6. The method according to claim 1 , wherein the central connecting switch is an intermediate switch or a root switch in the fat-tree topology. 7. The method according to claim 1 , wherein the obtaining of the particular virtual lane from the array includes invoking a funciton that takes the addresses of the source left switch and the destination leaf switch. 8. The method according to claim 1 , wherein the obtaining of the particular virtual lane from the array includes querying a communication manager to acqiure a service level in the fat-tree topology, wherein the acquired service level indicates which virtual lane is to be used. 9. A non-transitory machine readable storage medium having instructions stored thereon that when executed cause one or more microprocessors to perform the steps comprising: configuring a fat-tree topology in a middleware machine environment, wherein the fat-tree topology includes a source leaf switch associated with a plurality of source end nodes, a plurality of destination leaf switches, each associated with one or more destination end nodes, and a central connecting switch that connects the source leaf switch and the destination leaf switches using a plurality of physical links, wherein each physical link includes a plurality of virtual lanes; assigning the plurality of virtual lanes in a particular physical link that connects the source leaf switch and the central connecting switch and is shared by the plurality of destination leaf switches, to different pairs of leaf switches, wherein each of the different pairs of leaf switches represents the source leaf switch and one of the plurality of destination leaf switches; generating an array that contains one or more virtual lanes assigned for each pair of leaf switches; identifying a plurality of packet flows, wherein each packet flows is transmitted between a different source end node and a destination end node associated with a different destination leaf switch; and distributing the plurality of packet flows across the plurality of virtual lanes in the particular physical link, by performing the steps comprising receiving a request to transmit data, from a source end node at the source leaf switch to a destination end node at a destination leaf switch, determining, based on the pairing of the source leaf switch and the destination leaf switch, a particular virtual lane within the particular physical link, for use in transmitting the data, and obtain the particular virtual lane from the array to transmit the data. 10. The non-transitory machine readable medium according to claim 9 , wherein the plurality of virtual lanes in the particular physical link that equals to the number of destination leaf switches. 11. The non-transitory machine readable medium according to claim 9 , wherein the plurality of virtual lanes in the particular physical link that equals to the number of destination leaf switches minus one. 12. The non-transitory machine readable medium according to claim 9 , wherein at least one of the destination end nodes that receive the plurality of packet flows contributes to a hot-spot. 13. The non-transitory machine readable medium according to claim 9 , wherein the central connecting switch is an intermediate switch or a root switch in the fat-tree topology. 14. The non-transitory machine readable medium according to claim 9 , wherein the obtaining of the particular virtual lane from the array includes invoking a funciton that takes the addresses of the source left switch and the destination leaf switch. 15. The non-transitory machine readable medium according to claim 9 , wherein the obtaining of the particular virtual lane from the array includes querying a communication manager to acqiure a service level in the fat-tree topology, wherein the acquired service level indicates which virtual lane is to be used. 16. A system for alleviating congestion in a middleware machine environment, comprising: a computer one or more microprocessors; a fat-tree topology in a middleware machine environment executing on the computer, wherein the fat-tree topology includes a source leaf switch associated with a plurality of source end nodes, a plurality of destination leaf switches, each associated with one or more destination end nodes, and a central connecting switch that connects the source leaf switch and each destination leaf switch using a plurality of physical links; wherein the system operates to perform the steps of assigning the plurality of virtual lanes in a particular physical link that connects the source leaf switch and the central connecting switch and is shared by the plurality of destination leaf switches, to different pairs of leaf switches, wherein each of the different pairs of leaf switches represents the source leaf switch and one of the plurality of destination leaf switches; identifying a plurality of packet flows, wherein each packet flows is transmitted between a different source end node and a destination end node associated with a different destination leaf switch; and distributing the pl

Assignees

Inventors

Classifications

  • H04L47/12Primary

    Avoiding congestion; Recovering from congestion · CPC title

  • H04L45/48Primary

    Routing tree calculation · CPC title

  • using multiple routing trees · CPC title

  • using route fault recovery · 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 US9325619B2 cover?
A system and method can alleviate congestion in a middleware machine environment with a plurality of switches in a fat-tree topology. The middleware machine environment can support a plurality of end nodes and allows for generating a virtual lane assignment for every pair of source end node and destination end node. Then, the packet flows from a source end node to different destination end node…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification H04L47/12. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 26 2016 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).