Virtualizing the operation of intelligent network interface circuitry
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
H04B-003/36
H04L-012/28
H04L-012/56
출원번호
US-0081392
(2011-04-06)
등록번호
US-8686838
(2014-04-01)
발명자
/ 주소
Eiriksson, Asgeir Thor
Michailidis, Dimitrios
Noureddine, Wael
출원인 / 주소
Chelsio Communications, Inc.
대리인 / 주소
Beyer Law Group LLP
인용정보
피인용 횟수 :
4인용 특허 :
118
초록▼
The present invention is in the field of virtualization of Network Interface Cards and Controllers (NIC) that connect to for example a host computer that can have multiple functions and OS's (referred to as guest functions and guest-OS's) running on it simultaneously and, in particular, relates to t
The present invention is in the field of virtualization of Network Interface Cards and Controllers (NIC) that connect to for example a host computer that can have multiple functions and OS's (referred to as guest functions and guest-OS's) running on it simultaneously and, in particular, relates to the virtualization of the operation of a single NIC such that it can be used simultaneously by multiple guests in such a manner that memory references due to the network traffic originating from and destined to a particular guest is kept separate from other network traffic, and that allows the Media Access Controller (MAC) within the NIC to operate such that it only accepts network packets that are destined to one of the guest-functions or guest-OS's, and the MAC is not required to operate in promiscuous mode where it accepts all incoming packets in order to implement the virtualization features.
대표청구항▼
1. A method of operating network interface circuitry, wherein the network interface circuitry is configured to couple a host computer, executing at least one operating system, to a network to facilitate communication over the network between the host computer and at least one peer, the method compri
1. A method of operating network interface circuitry, wherein the network interface circuitry is configured to couple a host computer, executing at least one operating system, to a network to facilitate communication over the network between the host computer and at least one peer, the method comprising: by the network interface circuitry, receiving data from a plurality of guest functions operating on the host in conjunction with the at least one operating system;processing the received data and classifying the received data at least based on from which guest function at least a particular portion of the received data was received;protocol processing with the at least one peer, including controlling the protocol processing for the received data based at least in part on a desired transmission rate characteristic for the classification of the received data, to control the protocol processing to encapsulate the data received from the host from the particular guest function into packets such that the packets are provided from the network interface device to the network with the desired transmission rate characteristic for the classification of the received data; andtransmitting the packets including the received data out to the network at a nominal rate associated with the classification with which the received data has been classified. 2. The method of claim 1, wherein: the protocol processing includes at least layer 3 protocol processing. 3. The method of claim 1, wherein: the protocol processing includes TCP processing. 4. The method of claim 1, wherein: the desired transmission rate characteristic indicate at least one of a group consisting of at least one desired shaping characteristic and at least one desired pacing characteristic. 5. The method of claim 1, wherein: controlling the protocol processing with the at least one peer such that the protocol processing for the received data is based at least in part on a desired transmission rate characteristic for the classification of the received data includes controlling the protocol processing at least in part on an estimate of an amount of data to be transmitted for the particular guest function and the desired transmission rate for the classification of the particular guest function, to regulate a rate at which the protocol processing mechanism operates for the particular guest function to encapsulate the received data, received from that particular guest function, into packets to be transmitted to the network. 6. The method of claim 1, wherein: the protocol processing step includes processing information received from the network and, based in part thereon, controlling the protocol processing. 7. The method of claim 1, wherein: the protocol processing step includes processing information received from the network, and,the method further comprises determining whether transmission of the received data to the at least one peer should not be deferred, based on a result of processing the information received from the network. 8. The method of claim 7, wherein: the protocol processing step includes TCP, anddetermining whether transmission of the received data to the at least one peer should not be deferred includes processing the information received from the network to determine if at least part of the received data, to be transmitted to the peer, has previously been transmitted. 9. Network interface circuitry configured to couple a host computer, executing at least one operating system, to a network to facilitate communication over the network between the host computer and at least one peer, the network interface circuitry configured to: receiving data from a plurality of guest functions operating on the host in conjunction with the at least one operating system;process the received data and classify the received data at least based on from which guest function at least a particular portion of the received data was received;protocol process with the at least one peer, including controlling the protocol processing for the received data based at least in part on a desired transmission rate characteristic for the classification of the received data, to control the protocol processing to encapsulate the data received from the host from the particular guest function into packets such that the packets are provided from the network interface device to the network with the desired transmission rate characteristic for the classification of the received data; andtransmit the packets including the received data out to the network at a nominal rate associated with the classification with which the received data has been classified. 10. The network interface circuitry of claim 9, wherein: the protocol processing includes at least layer 3 protocol processing. 11. The network interface circuitry of claim 9, wherein: the protocol processing includes TCP processing. 12. The network interface circuitry of claim 9, wherein: the desired transmission rate characteristic indicate at least one of a group consisting of at least one desired shaping characteristic and at least one desired pacing characteristic. 13. The network interface circuitry of claim 9, wherein: controlling the protocol processing with the at least one peer such that the protocol processing for the received data is based at least in part on a desired transmission rate characteristic for the classification of the received data includes controlling the protocol processing at least in part on an estimate of an amount of data to be transmitted for the particular guest function and the desired transmission rate for the classification of the particular guest function, to regulate a rate at which the protocol processing mechanism operates for the particular guest function to encapsulate the received data, received from that particular guest function, into packets to be transmitted to the network. 14. The network interface circuitry of claim 9, wherein: controlling the protocol processing includes processing information received from the network and, based in part thereon, controlling the protocol processing. 15. The network interface circuitry of claim 9, wherein: controlling the protocol processing includes processing information received from the network, and,the network interface circuitry is further configured to determine whether transmission of the received data to the at least one peer should not be deferred, based on a result of processing the information received from the network. 16. The network interface circuitry of claim 15, wherein: the protocol processing includes TCP, andbeing configured to determine whether transmission of the received data to the at least one peer should not be deferred includes being configured to process the information received from the network to determine if at least part of the received data, to be transmitted to the peer, has previously been transmitted.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (118)
Wang, Yi-Min; Hunt, Galen C.; Forin, Alessandro, Accelerating a distributed component architecture over a network using a modified RPC communication.
Freimuth,Douglas Morgan; Hu,Elbert C.; Mraz,Ronald; Nahum,Erich M.; Pradhan,Prashant; Sahu,Sambit; Tracey,John Michael, Apparatus and method for supporting received data processing in an offload of network protocol processing.
Philbrick,Clive M.; Boucher,Laurence B.; Starr,Daryl D., Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket.
Boucher, Laurence B.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A.; Philbrick, Clive M.; Starr, Daryl D., Fast-path apparatus for receiving data corresponding to a TCP connection.
Boucher,Laurence B.; Blightman,Stephen E. J.; Craft,Peter K.; Higgen,David A.; Philbrick,Clive M.; Starr,Daryl D., Fast-path apparatus for receiving data corresponding to a TCP connection.
Boucher,Laurence B.; Blightman,Stephen E. J.; Craft,Peter K.; Higgen,David A.; Philbrick,Clive M.; Starr,Daryl D., Fast-path processing for receiving data on TCP connection offload devices.
Michailidis, Dimitrios; Noureddine, Wael; Marti, Felix A.; Eiriksson, Asgeir Thor, Intelligent network adaptor with adaptive direct data placement scheme.
Laurence B. Boucher ; Stephen E. J. Blightman ; Peter K. Craft ; David A. Higgen ; Clive M. Philbrick ; Daryl D. Starr, Intelligent network interface device and system for accelerated communication.
Boucher, Laurence B.; Philbrick, Clive M.; Starr, Daryl D.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A., Intelligent network interface system and method for accelerated protocol processing.
Boucher Laurence B. ; Blightman Stephen E. J. ; Craft Peter K. ; Higgen David A. ; Philbrick Clive M. ; Starr Daryl D., Intelligent network interface system method for protocol processing.
Laurence B. Boucher ; Stephen E. J. Blightman ; Peter K. Craft ; David A. Higgen ; Clive M. Philbrick ; Daryl D. Starr, Intelligent network interfaced device and system for accelerated communication.
Blackmore,Robert S.; Gildea,Kevin J.; Govindaraju,Rama K.; Shah,Gautam H., Mechanisms for efficient message passing with copy avoidance in a distributed system using advanced network devices.
Hussain, Muhammad R.; Kessler, Richard E.; Masood, Faisal; Sanzone, Robert A.; Badr, Imran, Method and apparatus for reducing host overhead in a socket server implementation.
Hussain, Muhammad R.; Kessler, Richard E.; Masood, Faisal; Sanzone, Robert A.; Badr, Imran, Method and apparatus for reducing host overhead in a socket server implementation.
Sin,Jin hyun; Mun,Byung in; Cho,Song yean; Yoo,Hyuck; Yoo,See hwan; Choi,Jin hee, Method for adjusting a transmission rate to obtain the optimum transmission rate in a mobile ad hoc network environment.
Freimuth, Douglas Morgan; Hu, Elbert C.; Mraz, Ronald; Nahum, Erich M.; Pradhan, Prashant; Sahu, Sambit, Method for supporting connection establishment in an offload of network protocol processing.
Eiriksson, Asgeir Thor; Chen, Shenze; Kaplan, Patricio Fernando; Smith, George E., Method for using a protocol language to avoid separate channels for control messages involving encapsulated payload data messages.
Hariguchi, Yoichi; Panigrahy, Rina; Sharma, Samar; Nagaraj, Ashwath, Methods and apparatus for mapping ranges of values into unique values of particular use for range matching operations using an associative memory.
Pandya, Mihir A.; Whisenhunt, Gary L., Microprocessor having a content addressable memory (CAM) device as a functional unit therein and method of operation.
Griswold,Doug; Bexten,Ron, Mobile data communications apparatus, methods and computer program products implementing cellular wireless data communications via a wireless local area network.
Blightman,Stephen E. J.; Starr,Daryl D.; Philbrick,Clive M., Network interface device for error detection using partial CRCS of variable length message portions.
Boucher, Laurence B.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A.; Philbrick, Clive M.; Starr, Daryl D., Obtaining a destination address so that a network interface device can write network data without headers directly into host memory.
Boucher Laurence B. ; Blightman Stephen E. J. ; Craft Peter K. ; Higgen David A. ; Philbrick Clive M. ; Starr Daryl D., Passing a communication control block from host to a local device such that a message is processed on the device.
Boucher Laurence B. ; Blightman Stephen E. J. ; Craft Peter K. ; Higgen David A. ; Philbrick Clive M. ; Starr Daryl D., Passing a communication control block from host to a local device such that a message is processed on the device.
Laurence B. Boucher ; Stephen E. J. Blightman ; Peter K. Craft ; David A. Higgen ; Clive M. Philbrick ; Daryl D. Starr, Passing a communication control block to a local device such that a message is processed on the device.
Charles E. Narad ; Kevin Fall ; Neil MacAvoy ; Pradip Shankar ; Leonard M. Rand ; Jerry J. Hall, Platform permitting execution of multiple network infrastructure applications.
Craft, Peter K.; Philbrick, Clive M.; Boucher, Laurence B.; Starr, Daryl D.; Blightman, Stephen E. J.; Higgen, David A., Port aggregation for network connections that are offloaded to network interface devices.
Craft, Peter K.; Philbrick, Clive M.; Boucher, Laurence B.; Higgen, David A., Protocol processing stack for use with intelligent network interface device.
Craft, Peter K.; Philbrick, Clive M.; Boucher, Laurence B.; Higgen, David A., Protocol processing stack for use with intelligent network interface device.
Peter K. Craft ; Olive M. Philbrick ; Laurence B. Boucher ; David A. Higgen, Protocol processing stack for use with intelligent network interface device.
Beach Robert (Los Altos CA) Bryers Mark (San Jose CA) Cox Casey (Palo Alto CA) Fall Richard (Palo Alto CA) Finn Norman (San Jose CA) Laird Douglas (San Jose CA), Protocol processor.
Blightman,Stephen E. J.; Boucher,Laurence B.; Craft,Peter K.; Higgen,David A.; Philbrick,Clive M.; Starr,Daryl D., Reducing delays associated with inserting a checksum into a network message.
Eiriksson, Asgeir Thor; Chen, Shenze; Kaplan, Patricio Fernando; Smith, George E., Scalable direct memory access using validation of host and scatter gather engine (SGE) generation indications.
Cross, Patricia C.; Connery, Glenn W.; Duguay, Christopher J., System and method for operating a network adapter when an associated network computing system is in a low-power state.
Anand Sanjay ; Brandon Kyle ; Srinavas Nk ; Hyder Jameel, System for querying a peripheral device to determine its processing capabilities and then offloading specific processing tasks from a host to the peripheral device when needed.
Philbrick,Clive M.; Boucher,Laurence B.; Blightman,Stephen E. J.; Craft,Peter K.; Higgen,David A.; Starr,Daryl D., TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism.
Laurence B. Boucher ; Stephen E. J. Blightman ; Peter K. Craft ; David A. Higgen ; Clive M. Philbrick ; Daryl D. Starr, TCP/IP offload network interface device.
Boucher, Laurence B.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A.; Philbrick, Clive M.; Starr, Daryl D., Transmit fast-path processing on TCP/IP offload network interface device.
Ramaswamy, Kumar; Lin, Cher-Wen; Rettberg, Randall David; Rahman, Mizanur Mohammed, User-level dedicated interface for IP applications in a data packet switching and load balancing system.
Marquardt, Ronald R.; Paczkowski, Lyle Walter; Rajagopal, Arun, Efficient hardware trust verification in data communication systems that comprise network interface cards, central processing units, and data memory buffers.
Marquardt, Ronald R.; Paczkowski, Lyle Walter; Rajagopal, Arun, Efficient hardware trust verification in data communication systems that comprise network interface cards, central processing units, and data memory buffers.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.