Server-centric high performance network architecture for modular data centers
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
H04L-012/28
H04L-012/721
H04L-012/24
H04L-012/729
H04L-012/933
H04L-012/931
H04L-012/707
H04L-012/863
H04L-012/741
H04L-012/935
출원번호
US-0040819
(2016-02-10)
등록번호
US-9674082
(2017-06-06)
발명자
/ 주소
Guo, Chuanxiong
Wu, Haitao
Lu, Songwu
Shi, Yunfeng
Lv, Guohan
Zhang, Danfeng
Li, Dan
Zhang, Yongguang
출원인 / 주소
Microsoft Technology Licensing, LLC
대리인 / 주소
Lee & Hayes, PLLC
인용정보
피인용 횟수 :
0인용 특허 :
32
초록
Disclosed are systems and methods for network architecture that is a server-centric network architectural design.
대표청구항▼
1. A method comprising: determining multiple flow paths between a source server and a destination computing device of a network architecture;sending, from the source server, one or more first probing packets via a first flow path of the multiple flow paths;sending, from the source server, one or mor
1. A method comprising: determining multiple flow paths between a source server and a destination computing device of a network architecture;sending, from the source server, one or more first probing packets via a first flow path of the multiple flow paths;sending, from the source server, one or more second probing packets via a second flow path of the multiple flow paths;receiving, at the source server, one or more first response packets, the one or more first response packets comprising first bandwidth information associated with the first flow path;receiving, at the source server, one or more second response packets, the one or more second response packets comprising second bandwidth information associated with the second flow path;determining, at the source server and based at least in part on at least one of the first bandwidth information or the second bandwidth information, a flow path of the multiple flow paths for packet flow to traverse; andselecting, at the source server, the flow path for the packet flow to traverse. 2. The method of claim 1, further comprising sending the packet flow to the destination computing device using the flow path. 3. The method of claim 1, wherein determining the flow path comprises determining whether to buffer packets for upcoming flows of packets. 4. The method of claim 1, wherein selecting the flow path comprises selecting the flow path from parallel flow paths of the multiple flow paths. 5. The method of claim 1, wherein selecting the flow path comprises determining that the flow path has maximum available bandwidth among flow paths included in the multiple flow paths. 6. The method of claim 1, wherein the determining the flow path of the multiple flow paths for the packet flow to traverse comprises determining, based at least in part on the first bandwidth information and the second bandwidth information, that the first flow path has roughly a same amount of available bandwidth as the second flow path; and wherein selecting the flow path comprises, in response to determining that the first flow path has roughly the same amount of available bandwidth as the second flow path: determining that the first flow path has a shorter length than the second flow path; andbased at least in part on the first flow path having the shorter length than the second flow path, selecting the first flow path for the packet flow to traverse. 7. The method of claim 1, further comprising: prior to determining the flow path of the multiple flow paths for the packet flow to traverse, selecting a default path for the packet flow to traverse;sending the packet flow to the destination computing device via the default path; andin response to selecting the flow path for the packet flow to traverse, sending the packet flow to the destination computing device using the flow path. 8. The method of claim 1, further comprising: periodically probing the multiple flow paths, the probing comprising: sending, from the source server, one or more probing packets via each of the multiple flow paths; andreceiving, at the source server, one or more response packets, the one or more response packets comprising periodic bandwidth information associated with each of the multiple flow paths;receiving, at the source server, a path failure message indicating that the flow path selected for the packet flow to traverse is unavailable for the packet flow to traverse; andselecting, at the source server, another flow path from the multiple flow paths for the packet flow to traverse based at least in part on the periodic bandwidth information. 9. A system comprising: one or more processors;memory communicatively coupled to the one or more processors;computer-readable instructions stored in the memory and that, when executed by the one or more processors, cause the one or more processors to perform acts comprising: determining a first flow path between a source sever and a first set of servers;determining a second flow path between the source server and a second set of servers;sending, from the source server, one or more first probing packets via the first flow path;sending, from the source server, one or more second probing packets via the second flow path;receiving, at the source server, one or more first response packets, the one or more first response packets comprising first available bandwidth information associated with the first flow path;receiving, at the source server, one or more second response packets, the one or more second response packets comprising second available bandwidth information associated with the second flow path;determining, at the source server and based at least in part on at least one of the first available bandwidth information or the second available bandwidth information, that the first flow path has a first amount of available bandwidth that is greater than a second amount of available bandwidth of the second flow path; andselecting, at the source server, the first flow path for a packet flow to traverse based at least partly on the determining that the first amount of available bandwidth of the first flow path is greater than the second amount of available bandwidth of the second flow path. 10. The system of claim 9, wherein the acts further comprise encoding the first flow path into packet headers associated with the packet flow. 11. The system of claim 9, wherein selecting the first flow path comprises determining that the first flow path and the second flow path are parallel flow paths. 12. The system of claim 9, wherein selecting the first flow path comprises selecting the first flow path and the second flow path for the packet flow to traverse. 13. The system of claim 9, wherein selecting the first flow path comprises determining whether to buffer packets for upcoming flows of packets. 14. The system of claim 9, wherein selecting the first flow path comprises determining that the first flow path is shorter than the second flow path. 15. The system of claim 9, wherein the determining that the first flow path has a first amount of available bandwidth that is greater than a second amount of available bandwidth of the second flow path comprises: analyzing a first bandwidth field of the one or more first response packets to identify the first amount of available bandwidth of the first flow path, the first bandwidth field being populated by a destination computing device; andanalyzing a second bandwidth field of the one or more second response packets to identify the second amount of available bandwidth of the second flow path, the second bandwidth field being populated by the destination computing device. 16. One or more computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform acts comprising: determining multiple flow paths between a source server and a destination computing device of a network architecture;sending, from the source server, one or more first probing packets via a first flow path of the multiple flow paths;sending, from the source server, one or more second probing packets via a second flow path of the multiple flow paths;receiving, at the source server, one or more first response packets, the one or more first response packets comprising first bandwidth information associated with the first flow path;receiving, at the source server, one or more second response packets, the one or more second response packets comprising second bandwidth information associated with the second flow path;determining, at the source server and based at least in part on at least one of the first bandwidth information or the second bandwidth information, that the first flow path has roughly a same amount of available bandwidth as the second flow path;in response to determining that the first flow path has roughly the same amount of available bandwidth as the second flow path: determining that a first length of the first flow path for the packet flow to traverse is shorter than a second length of the second flow path for the packet flow to traverse; andselecting the first flow path for the packet flow to traverse based at least in part on the determining that the first length is shorter than the second length. 17. The one or more computer-readable media of claim 16, the acts further comprising sending the packet flow to a computing device included in the first flow path. 18. The one or more computer-readable media of claim 16, the acts further comprising determining whether to buffer packets for upcoming packet flows. 19. The one or more computer-readable media of claim 16, wherein the first flow path and the second flow path are parallel flow paths of the multiple flow paths. 20. The one or more computer-readable media of claim 16, the acts further comprising determining that the first flow path has highest available bandwidth among the multiple flow paths.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (32)
Lemoff,Brian E.; Lacey,Jonathan P. R., Adaptive path discovery process for routing data packets in a multinode network.
Leonard, Judson S.; Reilly, Matthew H.; Stewart, Lawrence C.; Taylor, Washington, Computer system and method using a kautz-like digraph to interconnect computer nodes and having control back channel between nodes.
Douglas David C. (Concord MA) Earls John J. (Newton MA) Hillis W. Daniel (Cambridge MA) Ganmukhi Mahesh N. (Littleton MA), Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide t.
Mondinelli,Filippo; Borgatti,Michele; Kovacs,Zsolt, Routing procedure and system, corresponding network, such as a network on chip (NOC), and computer program product therefor.
Reed,Coke; Hesse,John, Scalable apparatus and method for increasing throughput in multiple level minimum logic networks using a plurality of control lines.
Arora Sanjeev (Berkeley CA) Knight ; Jr. Thomas F. (Belmont MA) Leighton Frank T. (Newton Center MA) Maggs Bruce M. (Princeton NJ) Upfal Eliezer (Palo Alto CA), Switching networks with expansive and/or dispersive logical clusters for message routing.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.