Computer network interface and network protocol with direct deposit messaging
First Claim
1. A communication system, comprising:
- a sender having a processor which outputs requests that messages be sent at and a network interface connected to the processor which forms a message, in response to a request from the processor;
a receiver comprising a processor controlled by an operating system and connected to a network interface having a memory;
wherein the message formed by the sender contains an operand, an indication of a desired operation and a reference to information in the memory in the network interface of the receiver;
a network, connected between the network interface of the sender and the network interface of the receiver, for communicating the message between the sender and the receiver;
wherein the network interface of the receiver includes an input buffer for receiving the message and means, responsive to the message in the input buffer, for performing the operation indicated by the message according to the operand in the message and the information in the memory in the network interface of the receiver only if the operation is permitted to be performed by the receiver; and
wherein the operand indicates an address in a host memory in the receiver and wherein the action is depositing the message at a location in the host memory in the receiver according to the address in the message and the information in the memory of the network interface of the receiver.
2 Assignments
0 Petitions
Accused Products
Abstract
A network protocol and interface using direct deposit messaging provides low overhead communication in a network of multi-user computers. This system uses both sender-provided and receiver-provided information to process received messages and to deposit data directly in memory and to conditionally interrupt a host processor based on control information. Message processing is separated into data delivery, which bypasses the host processor and operating system, and message actions which may or may not require host processor interaction. In this protocol, a message includes an indication of the operation desired by the sender, an operand specified by the sender and an operand which refers to some information stored at the receiver. The receiver ensures that the desired action is permitted and then, if the action is permitted, performs the action according to both the operand specified by the sender and the state of the receiver. The action may be message delivery, wherein the operands in the message specify values for use in various addressing modes including direct, indirect, post-increment and index modes. The action may also be conditionally generating an interrupt, wherein the operands are used, in combination with the receiver state, to determine whether a message requires immediate or delayed action. The action may also be an operation on a register in the network interface or on other information stored at the receiver.
217 Citations
17 Claims
-
1. A communication system, comprising:
-
a sender having a processor which outputs requests that messages be sent at and a network interface connected to the processor which forms a message, in response to a request from the processor; a receiver comprising a processor controlled by an operating system and connected to a network interface having a memory; wherein the message formed by the sender contains an operand, an indication of a desired operation and a reference to information in the memory in the network interface of the receiver; a network, connected between the network interface of the sender and the network interface of the receiver, for communicating the message between the sender and the receiver; wherein the network interface of the receiver includes an input buffer for receiving the message and means, responsive to the message in the input buffer, for performing the operation indicated by the message according to the operand in the message and the information in the memory in the network interface of the receiver only if the operation is permitted to be performed by the receiver; and wherein the operand indicates an address in a host memory in the receiver and wherein the action is depositing the message at a location in the host memory in the receiver according to the address in the message and the information in the memory of the network interface of the receiver. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for communication in a system having a sender and a receiver interconnected by a network, wherein the receiver has a network interface connected between the network and a host processor and host memory controlled by an operating system, the method comprising the steps of:
-
sending a message from the sender through the network to the receiver, wherein the message includes an operand, an indication of the operation to be performed and a reference to information in a memory of the network interface of the receiver; receiving the message at the receiver; insuring that the operation to be performed for the sender is permitted at the receiver; and if the action is permitted, performing, separate from the processor and operating system, the operation at the receiver according to the operand in the message and the information in the memory of the network interface of the receiver; and wherein the operand indicates an address in a memory in the receiver and wherein the step of performing an operation is the step of depositing the message at a location in the host memory in the receiver according to the address in the message and the information in the memory of the network interface of the receiver. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A communication system for a computer system having a sender and a receiver interconnected by a network, wherein the receiver has a network interface connected between the network and a host processor and host memory controlled by an operating system, the communication system comprising:
-
means, at the sender, for sending over the network to the receiver a message which includes an operand, an indication of an operation to be performed and a reference to information in a memory in the network interface of the receiver; means, in the network interface of the receiver, for receiving the message; means, in the network interface and operative in response to receipt of the message, for determining whether the operation is permitted to be performed at the receiver; and means, in the network interface and operative when the operation is permitted, for obtaining an additional operand using the reference to information in the memory of the network interface of the receiver, and for performing the operation, separate from the host processor and operating system, using the operand in the message and the additional operand; and wherein the operand indicates an address in the host memory in the receiver and wherein the means for performing an operation includes means for depositing the message at a location in the host memory in the receiver according to the address in the message and the information in the memory of the network interface of the receiver. - View Dependent Claims (16, 17)
-
Specification