Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of transmitting messages between a plurality of servers, each server having a local memory and processor, comprising: connecting each of said plurality of servers to a switch using PCI EXPRESS, said switch comprising a plurality of non-transparent bridges, one of said non-transparent bridges used to connect to a respective one of said plurality of servers, configuring each of said non-transparent bridges to allow said network switch to access at least a portion of said local memory of said server connected to said non-transparent bridge; building a look up table in said network switch associating a destination address with one of said plurality of non-transparent bridges; creating a message in said local memory in a first server, said message having a destination address; using said network switch to read said destination address in said message by accessing said local memory of said first server using a first non-transparent bridge associated with said first server; determining the destination server by looking up said destination address in said look up table; using said network switch to read said message by accessing said local memory of said first server using said first non-transparent bridge; and copying said message to local memory of said destination server by accessing said local memory of said destination server by using a second non-transparent bridge associated with said destination server.
2. The method of claim 1 , wherein said messages comprise IP messages and said destination address comprises an IP address.
3. The method of claim 1 , wherein a direct memory access (DMA) engine located in said network switch is used to read said message from said first server and copy said message to said destination server.
4. The method of claim 1 , wherein said first non-transparent bridge comprises a messaging register to allow communication between said processor of said first server and a processor in said network switch, and said processor of said first server notifies said network switch of the existence of said message using said messaging register.
5. The method of claim 1 , wherein said second non-transparent bridge comprises a messaging register to allow communication between said processor of said destination server and a processor in said network switch, and said network switch notifies said destination server of the existence of said message using said messaging register.
6. The method of claim 1 , wherein said first server, said destination server and said network switch are all attached via a standard network connection, and said processor of said first server notifies said network switch of the existence of said message using said network connection.
7. The method of claim 1 , wherein said first server, said destination server and said network switch are all attached via a standard network connection, and said network switch notifies said destination server of the existence of said message using said network connection.
8. The method of claim 1 , wherein said first server creates a transmit list comprising one or more entries, wherein each of said entries comprises a pointer to the physical address of a message in said local memory.
9. The method of claim 8 , wherein said transmit list comprises a head, indicating next message to be transmitted, and a tail, indicating the last message to be sent.
10. The method of claim 9 , wherein said first server updates said tail and said network switch updates said head.
11. The method of claim 8 , wherein said first server creates a plurality of said transmit lists, wherein said list is associated with a different destination address.
12. The method of claim 1 , wherein said destination server creates a receive list comprising one or more entries, wherein each of said entries comprises a pointer to the physical address in said local memory where a received message is copied.
13. The method of claim 12 , wherein said receive list comprises a head, indicating the location of the next message to be processed by said destination server, and a tail, indicating the last location used to store a received message by said network switch.
14. The method of claim 13 , wherein said destination server updates said head and said network switch updates said tail.
15. The method of claim 13 , wherein said receive list further comprises a free pointer, indicating the location in said local memory of said destination server where said network switch should copy the next message.
16. A system for transmitting messages between a plurality of servers, comprising: a first server having a first local memory, a first processor and a first PCI EXPRESS port, A second server having a second local memory, a second processor and a second PCI EXPRESS port; a third server having a third local memory, a third processor and a third PCI EXPRESS port; a network switch comprising a fourth processor, a fourth local memory, a first non-transparent bridge connected to said first PCI EXPRESS port, a second non-transparent bridge connected to said second PCI EXPRESS port, and a third non-transparent bridge connected to said third PCI EXPRESS port wherein said fourth local memory further comprises computer executable instructions adapted to: configure each of said first, second and third non-transparent bridges to allow said network switch to access at least a portion of said local memory of said first, second and third servers; build a look up table in said fourth local memory associating a destination address with one of said non-transparent bridges; read a destination address in a message in said first local memory by accessing said first local memory by using said first non-transparent bridge; determine the destination server by looking up said destination address in said look up table, wherein said destination server is selected from said second and said third server; read said message by accessing said first local memory of said first server using said first non-transparent bridge; and copy said message to local memory of said destination server by accessing said local memory of said destination server by using said non-transparent bridge associated with said destination server.
17. The system of claim 16 , wherein said messages comprise IP messages and said destination address comprises an IP address.
18. The system of claim 16 , wherein said first non-transparent bridge further comprises at least one messaging register, and said fourth memory further comprises instructions to communicate with said first processor using said messaging register.
19. The system of claim 16 , further comprising a network connection attached to said first server and said network switch, and said fourth memory further comprises instructions to communicate with said first processor using said network connection.
20. The system of claim 16 , wherein said network switch further comprises a PCI EXPRESS port; and further comprising an extension switch, said extension switch comprising a bridge connected to said PCI EXPRESS® port; and at least one non-transparent bridge for connection to a fourth server.
Unknown
June 11, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.