Server-centric high performance network architecture for modular data centers
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
H04L-012/721
H04L-012/729
H04L-012/933
H04L-012/931
H04L-012/707
H04L-012/863
H04L-012/741
H04L-012/935
H04L-012/24
출원번호
US-0040895
(2016-02-10)
등록번호
US-10129140
(2018-11-13)
발명자
/ 주소
Guo, Chuanxiong
Wu, Haitao
Lu, Songwu
Shi, Yunfeng
Lu, Guohan
Zhang, Danfeng
Li, Dan
Zhang, Yongguang
출원인 / 주소
Microsoft Technology Licensing, LLC
대리인 / 주소
Schwegman Lundberg & Woessner, P.A.
인용정보
피인용 횟수 :
0인용 특허 :
34
초록
Disclosed are systems and methods for network architecture that is a server-centric network architectural design.
대표청구항▼
1. A system comprising: one or more processors;memory communicatively coupled to the one or more processors and storing a forwarding table comprising a plurality of flow path entries; andcomputer-readable instructions stored in the memory and that, when executed by the one or more processors, cause
1. A system comprising: one or more processors;memory communicatively coupled to the one or more processors and storing a forwarding table comprising a plurality of flow path entries; andcomputer-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 flow path entry of the plurality of flow path entries using a next hop array (NHA) value associated with the flow path entry;identifying a flow path corresponding to the flow path entry, the flow path including a next hop of a packet of a packet flow, the flow path defining a path between a set of servers for the packet to traverse, wherein the NHA value comprises a first part indicating which digit of the next hop is different from a current relay server and a second part indicating a value for that digit; andmodifying a packet header of the packet based at least partly on the flow path entry. 2. The system of claim 1, wherein modifying the packet header comprises: identifying an address of a computing device associated with the next hop; andencoding the address into the packet header of the packet. 3. The system of claim 2, wherein modifying the packet header further comprises: determining a status of the computing device associated with the next hop; andbased at least partly on the status, determining to update the packet header of the packet. 4. The system of claim 1, wherein the plurality of flow path entries each comprise at least one of an OutPort field, a Neighbor MAC field, or a ValidFlag field. 5. The system of claim 4, wherein the OutPort field comprises an outgoing port number, the NeighborMAC field comprises an address of a neighboring computing device, and the ValidFlag field comprises an indication of whether the neighboring computing device is available. 6. The system of claim 1, wherein determining the flow path entry comprises performing a single table lookup in the forwarding table. 7. The system of claim 1, the acts further comprising sending the packet to an output port associated with the flow path. 8. The system of claim 1, wherein: the NHA is one byte; andthe forwarding table includes 256 entries, a number of valid entries corresponding to a number of neighbors of a server from which the packet is forwarded. 9. The system of claim 1, wherein modifying the packet header comprises embedding information into the packet, the embedding comprising implementing a forwarding table of a packet forwarding engine using the NHA value as an index. 10. A method comprising: identifying a plurality of flow path entries;selecting a flow path entry from the plurality of flow path entries based at least partly on a next hop array (NHA) value associated with the flow path entry;identifying a flow path corresponding to the flow path entry, the flow path comprising a next hop for a packet of a packet flow to traverse, the flow path defining a path between a set of servers for the packet to traverse, wherein the NHA value comprises a first part indicating which digit of the next hop is different from a current relay server and a second part indicating a value for that digit; andmodifying a packet header of the packet of the packet flow based at least partly on the flow path. 11. The method of claim 10, wherein modifying the packet header of the packet comprises encoding an address associated with the flow path into the packet header of the packet. 12. The method of claim 10, wherein: the flow path comprises an entire flow path for the packet to traverse to reach a destination; andthe modifying the packet header of the packet comprises encoding addresses of multiple computing devices of the entire flow path into the packet header of the packet. 13. The method of claim 10, wherein the plurality of flow path entries each comprise at least one of an OutPort field, a Neighbor MAC filed, or a ValidFlag field. 14. The method of claim 13, wherein the OutPort field comprises an outgoing port number, the NeighborMAC field comprises an address of a neighboring computing device, and the ValidFlag field comprises an indication of whether the neighboring computing device is available. 15. The method of claim 10, further comprising sending the packet to the next hop of the flow path. 16. The method of claim 10, wherein identifying the plurality of flow path entries comprises performing a single table lookup in a forwarding table storing the plurality of flow path entries. 17. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform acts comprising: identifying a first flow path entry corresponding to a first flow path of a network architecture and a second flow path entry corresponding to a second flow path of the network architecture, the first flow path and second flow defining a path between a set of servers for a packet of a packet flow to traverse, the first flow path entry having a first next hop array (NHA) value and the second flow path entry having a second NHA value, wherein the first NHA value comprises a first part indicating which digit of the next hop is different from a current relay server and a second part indicating a value for that digit;selecting the first flow path entry based at least in part on the first NHA value, the first flow path comprising a next hop for the packet of the packet flow to traverse; andmodifying a packet header of the packet of the packet flow based at least partly on the first flow path. 18. The one or more computer-readable media of claim 17, wherein modifying the packet header comprises encoding an address associated with the first flow path into the packet header of the packet. 19. The one or more computer-readable media of claim 17, wherein identifying the first flow path entry and the second flow path entry comprises performing a single lookup in a lookup table storing the first flow path entry and the second flow path entry. 20. The one or more computer-readable media of claim 17, the acts further comprising sending the packet to the next hop of the first flow path. 21. The one or more computer-readable media of claim 17, wherein modifying the packet header comprises: identifying a media access control (MAC) address of a computing device associated with the next hop; andencoding the MAC address into the packer header of the packet. 22. The one or more computer-readable media of claim 21, wherein modifying the packet header further comprises: determining a status of the computing device associated with the next hop; andbased at least partly on the status, determining to update the packet header of the packet.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (34)
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는 부적절한 답변을 할 수 있습니다.