US2012221671A1PendingUtilityA1

Controlling Shared Memory

Assignee: CHEN YINGPriority: Feb 28, 2011Filed: Feb 21, 2012Published: Aug 30, 2012
Est. expiryFeb 28, 2031(~4.6 yrs left)· nominal 20-yr term from priority
G06F 9/544G06F 15/167H04L 49/901
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

In view of the characteristics of distributed applications, the present invention proposes a technical solution for applying a shared memory on an NIC comprising: a shared memory configured to provide shared storage space for a task of a distributed application, and a microcontroller. Furthermore, the present invention provides a computer device that includes the above-mentioned NIC, a method for controlling a read/write operation on a shared memory of a NIC, and a method for invoking the NIC. The use of the technical solution provided in the present invention bypasses the processing of network protocol stack, avoids the time delay introduced by the network protocol stack. The present invention does not need to perform TCP/IP encapsulation on the data packet, thus greatly saving additional packet header and packet tail overheads generated from the TCP/IP layer data encapsulation.

Claims

exact text as granted — not AI-modified
1 . A network interface card, comprising:
 a shared memory configured to provide shared storage for tasks of distributed applications, wherein said shared memory can be accessed by a plurality of computing nodes executing a same task; and   a microcontroller configured to control read/write operations on said shared memory.   
     
     
         2 . The network interface card of  claim 1 , wherein said microcontroller is further configured to:
 determine whether said shared memory supports a received read/write request; and   perform the read/write operation to said shared memory when said shared memory supports the received read/write request.   
     
     
         3 . The network interface card of  claim 1 , further comprising:
 a command port, wherein (i) said command port is connected with said microcontroller, and (ii) said command port is configured to transmit a control command to the microcontroller.   
     
     
         4 . The network interface card of  claim 3 , wherein said control command includes fields for controlling said shared memory to perform one of the following operations: read operation, write operation, allocation operation and release operation. 
     
     
         5 . The network interface card of  claim 1 , further comprising:
 a state switch; and   said microcontroller being further configured to determine whether a shared memory is configured on said network interface card according to said state switch.   
     
     
         6 . The network interface card of  claim 5 , wherein a task identification code is stored in said shared memory, and wherein if a shared memory is configured on said network interface card, then said microcontroller is further configured to determine whether said shared memory supports the received read/write request according to said task identification code. 
     
     
         7 . The network interface card of  claim 1 , wherein the frame structure of data stored in said shared memory includes an identifier to indicate that said data is targeted at said shared memory. 
     
     
         8 . The network interface card of  claim 7 , wherein said identifier is recorded in a type field of a physical layer header of said data. 
     
     
         9 . The network interface card of  claim 1 , further comprising:
 a network interface card memory configured to buffer the data read/written by said shared memory.   
     
     
         10 . The network interface card of  claim 1 , wherein said shared memory is further configured to directly perform the read/write operation with a program buffer outside said network interface card. 
     
     
         11 . A computer device, comprising the network interface card of  claim 1 . 
     
     
         12 . A method for controlling a read/write operation on a shared memory of a network interface card, wherein said shared memory is configured to provide shared storage for tasks of a distributed application, and said shared memory is accessed by a plurality of computing nodes executing a same task, said method comprising:
 determining whether a local network interface card is configured with a shared memory supporting said read/write operation; and   performing the read/write operation to the shared memory on the local network interface card when the local network interface card is configured with the shared memory supporting said read/write operation.   
     
     
         13 . The method of  claim 12 , wherein the step of determining whether the local network interface card is configured with the shared memory supporting said read/write operation comprises:
 determining whether the local network interface card is configured with the shared memory according to a state switch on the network interface card.   
     
     
         14 . The method of  claim 13 , wherein the step of determining whether the local network interface card is configured with the shared memory supporting said read/write operation further comprises:
 determining whether the shared memory configured on the local network interface card supports the read/write operation according to a task identification code stored on the shared memory on the local network interface card if the local network interface card is configured with the shared memory.   
     
     
         15 . The method of  claim 12 , further comprising:
 requesting a shared memory on a remote network interface card to perform the read/write operation when there is no shared memory supporting said read/write operation configured on the local network interface card.   
     
     
         16 . The method of  claim 15 , wherein if said read/write operation is a write operation, then said step of requesting a shared memory on a remote network interface card to perform the read/write operation further comprises:
 transmitting data to be written to the shared memory on the remote network interface card.   
     
     
         17 . The method of  claim 15 , wherein if the read/write operation is a read operation, then said step of requesting a shared memory on a remote network interface card to perform the read/write operation further comprises:
 transmitting a data read request to the shared memory on the remote network interface card.   
     
     
         18 . The method of  claim 12 , wherein said network interface card further comprises a network interface card memory, and wherein the step of performing the read/write operation on the shared memory on the local network interface card further comprises:
 performing the read/write operation on the shared memory on the local network interface card through a buffer of the memory of the local network interface card.   
     
     
         19 . The method of  claim 12 , wherein the step of performing the read/write operation on the shared memory on the local network interface card further comprises:
 directly performing said read/write operation between the shared memory on the local network interface card and a program buffer outside the local network interface card.   
     
     
         20 . The method of  claim 12 , further comprises:
 performing physical layer encapsulation on the data to be written if said read/write operation is a write operation.   
     
     
         21 . The method of  claim 12 , further comprises:
 performing physical layer encapsulation on a program buffer address of the program buffer into which the data to be read out is to be written if said read/write operation is a read operation.   
     
     
         22 . A method for invoking a network interface card, the method comprising:
 providing a program buffer of a distributed application;   invoking a language runtime through a dedicated interface on the language runtime;   invoking a device driver module to perform physical layer encapsulation; and   controlling a read/write operation on a shared memory of the network interface card by a method comprising:
 determining whether a local network interface card is configured with a shared memory supporting said read/write operation; and 
 performing the read/write operation to the shared memory on the local network interface card when the local network interface card is configured with the shared memory supporting said read/write operation; 
 wherein said shared memory is configured to provide shared storage for tasks of a distributed application; and 
 wherein said shared memory is accessed by a plurality of computing nodes executing a same task.

Join the waitlist — get patent alerts

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

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