US2003212735A1PendingUtilityA1

Method and apparatus for providing an integrated network of processors

Assignee: NVIDIA CORPPriority: May 13, 2002Filed: May 13, 2002Published: Nov 13, 2003
Est. expiryMay 13, 2022(expired)· nominal 20-yr term from priority
H04L 67/1097H04L 69/12H04L 69/329
47
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A novel network architecture that integrates the functions of an internet protocol (IP) router into a network processing unit (NPU) that resides in a host computer's chipset such that the host computer's resources are perceived as separate network appliances. The NPU appears logically separate from the host computer even though, in one embodiment, it is sharing the same chip.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . Method for providing a distributed network of processing units, said method comprising: 
 a) providing a network processing unit; and    b) providing at least one host, wherein said at least one host comprises a central processing unit (CPU) and a plurality of auxiliary processing units, wherein said central processing unit is loaded with a host operating system and wherein said plurality of auxiliary processing units bypass said host operating system and communicate directly with each other via said network processing unit.    
     
     
         2 . The method of  claim 1 , wherein said plurality of auxiliary processing units employ a network protocol to communicate with said network processing unit.  
     
     
         3 . The method of  claim 2 , wherein each of said plurality of auxiliary processing units communicates with said network processing unit via a media access controller (MAC).  
     
     
         4 . The method of  claim 2 , wherein said network protocol is Transmission Control Protocol/Internet Protocol (TCP/IP).  
     
     
         5 . The method of  claim 2 , wherein said network protocol is User Datagram Protocol (UDP).  
     
     
         6 . The method of  claim 1 , wherein each of said plurality of auxiliary processing units is perceived as a separate network appliance.  
     
     
         7 . The method of  claim 1 , wherein one of said plurality of auxiliary processing units is an auxiliary storage processing unit.  
     
     
         8 . The method of  claim 1 , wherein one of said plurality of auxiliary processing units is an auxiliary audio processing unit.  
     
     
         9 . The method of  claim 1 , wherein one of said plurality of auxiliary processing units is an auxiliary graphics processing unit.  
     
     
         10 . The method of  claim 1 , wherein one of said plurality of auxiliary processing units is an auxiliary video processing unit.  
     
     
         11 . The method of  claim 1 , wherein one of said plurality of auxiliary processing units is an auxiliary physics processing unit.  
     
     
         12 . The method of  claim 1 , wherein said at least one host is a virtual host.  
     
     
         13 . The method of  claim 1 , wherein said at least one host comprises a plurality of virtual hosts, where at least two of said plurality of virtual hosts are loaded with a separate operating system.  
     
     
         14 . The method of  claim 13 , wherein each of said plurality of virtual hosts is capable of accessing said plurality of auxiliary processing units via said network processing unit.  
     
     
         15 . The method of  claim 1 , wherein said plurality of auxiliary processing units comprise an auxiliary storage processing unit, an auxiliary audio processing unit, an auxiliary graphics processing unit, and an auxiliary video processing unit.  
     
     
         16 . A distributed network of processing units, said network comprising: 
 a network processing unit; and    at least one host, wherein said at least one host comprises a central processing unit (CPU) and a plurality of auxiliary processing units, wherein said central processing unit is loaded with a host operating system and wherein said plurality of auxiliary processing units bypass said host operating system and communicate directly with each other via said network processing unit.    
     
     
         17 . The network of  claim 16 , wherein said plurality of auxiliary processing units employ a network protocol to communicate with said network processing unit.  
     
     
         18 . The network of  claim 17 , wherein each of said plurality of auxiliary processing units communicates with said network processing unit via a media access controller (MAC).  
     
     
         19 . The network of  claim 17 , wherein said network protocol is Transmission Control Protocol/Internet Protocol (TCP/IP).  
     
     
         20 . The network of  claim 17 , wherein said network protocol is User Datagram Protocol (UDP).  
     
     
         21 . The network of  claim 16 , wherein each of said plurality of auxiliary processing units is perceived as a separate network appliance.  
     
     
         22 . The network of  claim 16 , wherein one of said plurality of auxiliary processing units is an auxiliary storage processing unit.  
     
     
         23 . The network of  claim 16 , wherein one of said plurality of auxiliary processing units is an auxiliary audio processing unit.  
     
     
         24 . The network of  claim 16 , wherein one of said plurality of auxiliary processing units is an auxiliary graphics processing unit.  
     
     
         25 . The network of  claim 16 , wherein one of said plurality of auxiliary processing units is an auxiliary video processing unit.  
     
     
         26 . The network of  claim 16 , wherein one of said plurality of auxiliary processing units is an auxiliary physics processing unit.  
     
     
         27 . The network of  claim 16 , wherein said at least one host is a virtual host.  
     
     
         28 . The network of  claim 16 , wherein said at least one host comprises a plurality of virtual hosts, where at least two of said plurality of virtual hosts are loaded with a separate operating system.  
     
     
         29 . The network of  claim 28 , wherein each of said plurality of virtual hosts is capable of accessing said plurality of auxiliary processing units via said network processing unit.  
     
     
         30 . The network of  claim 16 , wherein said plurality of auxiliary processing units comprise an auxiliary storage processing unit, an auxiliary audio processing unit, an auxiliary graphics processing unit, and an auxiliary video processing unit.  
     
     
         31 . The network of  claim 16 , wherein said network processing unit is implemented on a chipset.  
     
     
         32 . The network of  claim 31 , wherein at least one of said plurality of auxiliary processing units is implemented on a chipset.  
     
     
         33 . Method for providing a distributed network of processing units, said method comprising: 
 a) providing a network processing unit;    b) providing at least one host, wherein said at least one host comprises a central processing unit (CPU) loaded with a host operating system; and    c) providing a plurality of auxiliary processing units, wherein said plurality of auxiliary processing units bypass said host operating system and communicate directly with each other via said network processing unit.    
     
     
         34 . The method of  claim 33 , wherein said plurality of auxiliary processing units employ a network protocol to communicate with said network processing unit.  
     
     
         35 . The method of  claim 34 , wherein each of said plurality of auxiliary processing units communicates with said network processing unit via a media access controller (MAC).  
     
     
         36 . The method of  claim 34 , wherein said network protocol is Transmission Control Protocol/Internet Protocol (TCP/IP).  
     
     
         37 . The method of  claim 34 , wherein said network protocol is User Datagram Protocol (UDP).  
     
     
         38 . The method of  claim 33 , wherein each of said plurality of auxiliary processing units is perceived as a separate network appliance.  
     
     
         39 . The method of  claim 33 , wherein one of said plurality of auxiliary processing units is an auxiliary storage processing unit.  
     
     
         40 . The method of  claim 33 , wherein one of said plurality of auxiliary processing units is an auxiliary audio processing unit.  
     
     
         41 . The method of  claim 33 , wherein one of said plurality of auxiliary processing units is an auxiliary graphics processing unit.  
     
     
         42 . The method of  claim 33 , wherein one of said plurality of auxiliary processing units is an auxiliary video processing unit.  
     
     
         43 . The method of  claim 33 , wherein one of said plurality of auxiliary processing units is an auxiliary physics processing unit.  
     
     
         44 . The method of  claim 33 , wherein said at least one host is a virtual host.  
     
     
         45 . The method of  claim 33 , wherein said at least one host comprises a plurality of virtual hosts, where at least two of said plurality of virtual hosts are loaded with a separate operating system.  
     
     
         46 . The method of  claim 45 , wherein each of said plurality of virtual hosts is capable of accessing said plurality of auxiliary processing units via said network processing unit.  
     
     
         47 . A distributed network of processing units, said network comprising: 
 a network processing unit;    at least one host, wherein said at least one host comprises a central processing unit (CPU) loaded with a host operating system; and    a plurality of auxiliary processing units, wherein said plurality of auxiliary processing units bypass said host operating system and communicate directly with each other via said network processing unit.    
     
     
         48 . The network of  claim 47 , wherein said plurality of auxiliary processing units employ a network protocol to communicate with said network processing unit.  
     
     
         49 . The network of  claim 48 , wherein each of said plurality of auxiliary processing units communicates with said network processing unit via a media access controller (MAC).  
     
     
         50 . The network of  claim 48 , wherein said network protocol is Transmission Control Protocol/Internet Protocol (TCP/IP).  
     
     
         51 . The network of  claim 48 , wherein said network protocol is User Datagram Protocol (UDP).  
     
     
         52 . The network of  claim 37 , wherein each of said plurality of auxiliary processing units is perceived as a separate network appliance.  
     
     
         53 . The network of  claim 47 , wherein one of said plurality of auxiliary processing units is an auxiliary storage processing unit.  
     
     
         54 . The network of  claim 47 , wherein one of said plurality of auxiliary processing units is an auxiliary audio processing unit.  
     
     
         55 . The network of  claim 47 , wherein one of said plurality of auxiliary processing units is an auxiliary graphics processing unit.  
     
     
         56 . The network of  claim 47 , wherein one of said plurality of auxiliary processing units is an auxiliary video processing unit.  
     
     
         57 . The network of  claim 47 , wherein one of said plurality of auxiliary processing units is an auxiliary physics processing unit.  
     
     
         58 . The network of  claim 47 , wherein said at least one host is a virtual host.  
     
     
         59 . The network of  claim 47 , wherein said at least one host comprises a plurality of virtual hosts, where at least two of said plurality of virtual hosts are loaded with a separate operating system.  
     
     
         60 . The network of  claim 59 , wherein each of said plurality of virtual hosts is capable of accessing said plurality of auxiliary processing units via said network processing unit.  
     
     
         61 . The network of  claim 47 , wherein said network processing unit is implemented on a chipset.  
     
     
         62 . The network of  claim 61 , wherein at least one of said plurality of auxiliary processing units is implemented on a chipset.  
     
     
         63 . Method for providing a distributed network of processing units and host resources, said method comprising: 
 a) providing a network processing unit; and    b) providing at least one host, wherein said at least one host comprises a central processing unit (CPU) loaded with a host operating system and a plurality of host resources, wherein each of said plurality of host resources is accessible directly by said central processing unit and via said network processing unit.    
     
     
         64 . The method of  claim 63 , wherein one of said plurality of host resources is a storage device.  
     
     
         65 . The method of  claim 63 , wherein one of said plurality of host resources is a read only memory (ROM).  
     
     
         66 . The method of  claim 63 , wherein one of said plurality of host resources is a random access memory (RAM).  
     
     
         67 . A distributed network of processing units and host resources, said network comprising: 
 a network processing unit; and    at least one host, wherein said at least one host comprises a central processing unit (CPU) loaded with a host operating system and a plurality of host resources, wherein each of said plurality of host resources is accessible directly by said central processing unit and via said network processing unit.    
     
     
         68 . The network of  claim 67 , wherein one of said plurality of host resources is a storage device.  
     
     
         69 . The network of  claim 67 , wherein one of said plurality of host resources is a read only memory (ROM).  
     
     
         70 . The network of  claim 67 , wherein one of said plurality of host resources is a random access memory (RAM).  
     
     
         71 . Method for providing a distributed network of processing units and host resources, said method comprising: 
 a) providing a first network processing unit;    b) providing a first host comprising a first central processing unit (CPU) loaded with a first host operating system and a plurality of first host resources;    c) providing a second network processing unit; and    d) providing a second host comprising a second central processing unit (CPU) loaded with a second host operating system and a plurality of second host resources, wherein each of said plurality of first host resources is accessible via said first and second network processing units by bypassing said first host operating system.    
     
     
         72 . The method of  claim 71 , wherein each of said plurality of second host resources is accessible via said first and second network processing units by bypassing said second host operating system.  
     
     
         73 . The method of  claim 71 , further comprising: 
 e) forwarding a media stream in real time from one of said plurality of first host resources to said second host operating system.    
     
     
         74 . The method of  claim 71 , wherein said plurality of first host resources comprise at least one auxiliary processing unit.  
     
     
         75 . The method of  claim 74 , wherein said at least one auxiliary processing unit is an auxiliary storage processing unit.  
     
     
         76 . The method of  claim 74 , wherein said at least one auxiliary processing unit is an auxiliary audio processing unit.  
     
     
         77 . The method of  claim 74 , wherein said at least one auxiliary processing unit is an auxiliary graphics processing unit.  
     
     
         78 . The method of  claim 74 , wherein said at least one auxiliary processing unit is an auxiliary video processing unit.  
     
     
         79 . The method of  claim 74 , wherein said at least one auxiliary processing unit is an auxiliary physics processing unit.  
     
     
         80 . A distributed network of processing units and host resources, said network comprising: 
 a first network processing unit;    a first host comprising a first central processing unit (CPU) loaded with a first host operating system and a plurality of first host resources;    a second network processing unit; and    a second host comprising a second central processing unit (CPU) loaded with a second host operating system and a plurality of second host resources, wherein each of said plurality of first host resources is accessible via said first and second network processing units by bypassing said first host operating system.    
     
     
         81 . The network of  claim 80 , wherein each of said plurality of second host resources is accessible via said first and second network processing units by bypassing said second host operating system.  
     
     
         82 . The network of  claim 80 , wherein one of said plurality of first host resources forwards a media stream in real time to said second host operating system.  
     
     
         83 . The network of  claim 80 , wherein said plurality of first host resources comprise at least one auxiliary processing unit.  
     
     
         84 . The network of  claim 83 , wherein said at least one auxiliary processing unit is an auxiliary storage processing unit.  
     
     
         85 . The network of  claim 83 , wherein said at least one auxiliary processing unit is an auxiliary audio processing unit.  
     
     
         86 . The network of  claim 83 , wherein said at least one auxiliary processing unit is an auxiliary graphics processing unit.  
     
     
         87 . The network of  claim 83 , wherein said at least one auxiliary processing unit is an auxiliary video processing unit.  
     
     
         88 . The network of  claim 83 , wherein said at least one auxiliary processing unit is an auxiliary physics processing unit.  
     
     
         89 . Method for providing a distributed network of processing units, said method comprising: 
 a) providing a network processing unit; and    b) providing at least one host, wherein said at least one host comprises a central processing unit (CPU) and at least one auxiliary processing unit, wherein said central processing unit is loaded with a host operating system and wherein said at least one auxiliary processing unit bypasses said host operating system and communicates directly with said network processing unit.    
     
     
         90 . The method of  claim 89 , wherein said at least one auxiliary processing unit employs a network protocol to communicate with said network processing unit.  
     
     
         91 . The method of  claim 90 , wherein said at least one auxiliary processing unit communicates with said network processing unit via a media access controller (MAC).  
     
     
         92 . A distributed network of processing units, said network comprising: 
 a network processing unit; and    at least one host, wherein said at least one host comprises a central processing unit (CPU) and at least one auxiliary processing unit, wherein said central processing unit is loaded with a host operating system and wherein said at least one auxiliary processing unit bypasses said host operating system and communicates directly with said network processing unit.    
     
     
         93 . The network of  claim 92 , wherein said at least one auxiliary processing unit employs a network protocol to communicate with said network processing unit.  
     
     
         94 . The network of  claim 93 , wherein said at least one auxiliary processing unit communicates with said network processing unit via a media access controller (MAC).  
     
     
         95 . Method for providing a distributed network of processing units for interacting with at least one host that comprises a central processing unit (CPU) and, wherein said central processing unit is loaded with a host operating system, said method comprising: 
 a) providing a network processing unit; and    b) providing at least one auxiliary processing unit, wherein said network processing unit and said at least one auxiliary processing unit bypass said host operating system and communicate directly with each other.    
     
     
         96 . The method of  claim 95 , wherein said at least one auxiliary processing unit comprises two auxiliary processing units that bypass said host operating system and communicate directly with each other through said network processing unit.  
     
     
         97 . The method of  claim 95 , wherein said at least one auxiliary processing unit employs a network protocol to communicate with said network processing unit.  
     
     
         98 . The method of  claim 97 , wherein said at least one auxiliary processing unit communicates with said network processing unit via a media access controller (MAC).  
     
     
         99 . The method of  claim 97 , wherein said network protocol is Transmission Control Protocol/Internet Protocol (TCP/IP).  
     
     
         100 . The method of  claim 97 , wherein said network protocol is User Datagram Protocol (UDP).  
     
     
         101 . The method of  claim 95 , wherein said at least one auxiliary processing unit is perceived as a separate network appliance.  
     
     
         102 . The method of  claim 95 , wherein said at least one auxiliary processing unit is an auxiliary storage processing unit.  
     
     
         103 . The method of  claim 95 , wherein said at least one auxiliary processing unit is an auxiliary audio processing unit.  
     
     
         104 . The method of  claim 95 , wherein said at least one auxiliary processing unit is an auxiliary graphics processing unit.  
     
     
         105 . The method of  claim 95 , wherein said at least one auxiliary processing unit is an auxiliary video processing unit.  
     
     
         106 . The method of  claim 95 , wherein said at least one auxiliary processing unit is an auxiliary physics processing unit.  
     
     
         107 . The method of  claim 95 , wherein said at least one host is a virtual host.  
     
     
         108 . The method of  claim 95 , wherein said at least one host comprises a plurality of virtual hosts, where at least two of said plurality of virtual hosts are loaded with a separate operating system.  
     
     
         109 . The method of  claim 108 , wherein each of said plurality of virtual hosts is capable of accessing said plurality of auxiliary processing units via said network processing unit.  
     
     
         110 . The method of  claim 95 , wherein said at least one auxiliary processing unit comprises an auxiliary storage processing unit, an auxiliary audio processing unit, an auxiliary graphics processing unit, and an auxiliary video processing unit.  
     
     
         111 . A distributed network of processing units for interacting with at least one host that comprises a central processing unit (CPU) and, wherein said central processing unit is loaded with a host operating system, said network comprising: 
 a network processing unit; and    at least one auxiliary processing unit, wherein said network processing unit and said at least one auxiliary processing unit bypass said host operating system and communicate directly with each other.    
     
     
         112 . The network of  claim 111 , wherein said at least one auxiliary processing unit comprises two auxiliary processing units that bypass said host operating system and communicate directly with each other through said network processing unit.  
     
     
         113 . The network of  claim 111 , wherein said at least one auxiliary processing unit employs a network protocol to communicate with said network processing unit.  
     
     
         114 . The network of  claim 113 , wherein said at least one auxiliary processing unit communicates with said network processing unit via a media access controller (MAC).  
     
     
         115 . The network of  claim 113 , wherein said network protocol is Transmission Control Protocol/Internet Protocol (TCP/IP).  
     
     
         116 . The network of  claim 113 , wherein said network protocol is User Datagram Protocol (UDP).  
     
     
         117 . The network of  claim 111 , wherein said at least one auxiliary processing unit is perceived as a separate network appliance.  
     
     
         118 . The network of  claim 111 , wherein said at least one auxiliary processing unit is an auxiliary storage processing unit.  
     
     
         119 . The network of  claim 111 , wherein said at least one auxiliary processing unit is an auxiliary audio processing unit.  
     
     
         120 . The network of  claim 111 , wherein said at least one auxiliary processing unit is an auxiliary graphics processing unit.  
     
     
         121 . The network of  claim 111 , wherein said at least one auxiliary processing unit is an auxiliary video processing unit.  
     
     
         122 . The network of  claim 111 , wherein said at least one auxiliary processing unit is an auxiliary physics processing unit.  
     
     
         123 . The network of  claim 111 , wherein said at least one host is a virtual host.  
     
     
         124 . The network of  claim 111 , wherein said at least one host comprises a plurality of virtual hosts, where at least two of said plurality of virtual hosts are loaded with a separate operating system.  
     
     
         125 . The network of  claim 124 , wherein each of said plurality of virtual hosts is capable of accessing said at least one auxiliary processing unit via said network processing unit.  
     
     
         126 . The network of  claim 111 , wherein said at least one auxiliary processing unit comprises an auxiliary storage processing unit, an auxiliary audio processing unit, an auxiliary graphics processing unit, and an auxiliary video processing unit.  
     
     
         127 . The network of  claim 111 , wherein said network processing unit is implemented on a chipset.  
     
     
         128 . The network of  claim 127 , wherein said at least one of said plurality of auxiliary processing units is implemented on a chipset.  
     
     
         129 . Method for providing a distributed network of processing units, said method comprising: 
 a) providing a network processing unit; and    b) providing at least one host, wherein said at least one host comprises a central processing unit (CPU) and a plurality of auxiliary processing units, wherein said central processing unit is loaded with a host operating system and wherein said plurality of auxiliary processing units bypass said host operating system and communicate directly with each other via said network processing unit, wherein said plurality of auxiliary processing units employ Transmission Control Protocol/Internet Protocol (TCP/IP) to communicate with said network processing unit.    
     
     
         130 . Method for providing a distributed network of processing units, said method comprising: 
 a) providing a network processing unit; and    b) providing at least one host, wherein said at least one host comprises a central processing unit (CPU) and a plurality of auxiliary processing units, wherein said central processing unit is loaded with a host operating system and wherein said plurality of auxiliary processing units bypass said host operating system and communicate directly with each other via said network processing unit, wherein said plurality of auxiliary processing units employ User Datagram Protocol (UDP) to communicate with said network processing unit.    
     
     
         131 . A distributed network of processing units, said network comprising: 
 a network processing unit; and    at least one host, wherein said at least one host comprises a central processing unit (CPU) and a plurality of auxiliary processing units, wherein said central processing unit is loaded with a host operating system and wherein said plurality of auxiliary processing units bypass said host operating system and communicate directly with each other via said network processing unit, wherein said plurality of auxiliary processing units employ Transmission Control Protocol/Internet Protocol (TCP/IP) to communicate with said network processing unit.    
     
     
         132 . A distributed network of processing units, said network comprising: 
 a network processing unit; and    at least one host, wherein said at least one host comprises a central processing unit (CPU) and a plurality of auxiliary processing units, wherein said central processing unit is loaded with a host operating system and wherein said plurality of auxiliary processing units bypass said host operating system and communicate directly with each other via said network processing unit, wherein said plurality of auxiliary processing units employ User Datagram Protocol (UDP) to communicate with said network processing unit.

Join the waitlist — get patent alerts

Track US2003212735A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.