Claims Analysis
Total Claims: 25
Claim 1
Independent Claim
227 words
A computer system having a network interface for processing messages for applications executed on the computer system, wherein a message comprises a plurality of packets containing data and header information indicating a channel, the computer system comprising: a buffer list memory for storing, for each application, an indicator of each free buffer available in memory allocated to the application, wherein the indicators are stored as a two-dimensional list of lists for each application, wherein a length of each of the lists in the two-dimensional list of lists corresponds to an anticipated size of an incoming message for the application; and a packet processor, in the network interface, having an input for receiving packets of incoming messages and including: means, operative upon receipt of a message, for accessing the buffer list memory to retrieve one of the lists of the indicators of free buffers from the two-dimensional list for the application indicated by the header information of the packets of the message, and for storing the retrieved indicators in an internal memory, means, operative upon receipt of a packet of the message, for identifying a buffer to be used from the retrieved buffer list, and means for transferring the data in the packet to the identified buffer; and whereby an application can specify where each message received for the application starts in the memory allocated for the application.
Claim 2
Dependent Claim
227 words
A computer system having a network interface for processing messages for applications executed on the computer system, wherein a message comprises a plurality of packets containing data and header information indicating a channel, the computer system comprising: a buffer list memory for storing, for each application, an indicator of each free buffer available in memory allocated to the application, wherein the indicators are stored as a two-dimensional list of lists for each application, wherein a length of each of the lists in the two-dimensional list of lists corresponds to an anticipated size of an incoming message for the application; and a packet processor, in the network interface, having an input for receiving packets of incoming messages and including: means, operative upon receipt of a message, for accessing the buffer list memory to retrieve one of the lists of the indicators of free buffers from the two-dimensional list for the application indicated by the header information of the packets of the message, and for storing the retrieved indicators in an internal memory, means, operative upon receipt of a packet of the message, for identifying a buffer to be used from the retrieved buffer list, and means for transferring the data in the packet to the identified buffer; and whereby an application can specify where each message received for the application starts in the memory allocated for the application.
Claim 3
Dependent Claim
49 words
The computer system of claim 1, wherein a processor able to access the packet processor pre-charges one of the lists in the list of lists with indicators of with specific buffer locations according to data deposit locations desired by an application, whereby the processor controls where data is deposited.
Claim 4
Dependent Claim
31 words
The computer system of claim 1, wherein each list of indicators of free buffers includes an indicator of the location in the buffer list memory of a next list of buffers.
Claim 5
Dependent Claim
50 words
The computer system of claim 1, further comprising: an interrupt code in the buffer list memory and associated with the indicators of free buffers, and wherein the packet processor includes means for reading and evaluating the interrupt code and for generating an interrupt indicating that more buffer lists are needed.
Claim 6
Dependent Claim
41 words
The computer system of claim 4, wherein a processor able to access the packet processor is responsive to the interrupt to identify additional free buffers and to modify the two-dimensional list of lists to include indicators of the additional free buffers.
Claim 7
Dependent Claim
26 words
The computer system of claim 5, wherein an application program running on the processor is responsive to the interrupt to generate more indications of free buffers.
Claim 8
Dependent Claim
18 words
The computer system of claim 4, wherein each list of indications of free buffers includes an interrupt code.
Claim 9
Dependent Claim
51 words
The computer system of claim 1, further comprising: an interrupt code in the buffer list memory and associated with the indicators of free buffers, and wherein the packet processor includes means, for reading and evaluating to the interrupt code and for generating an interrupt indicating that more buffer lists are needed.
Claim 10
Dependent Claim
20 words
The computer system of claim 8, wherein an operating system is responsive to the interrupt to identify additional free buffers.
Claim 11
Dependent Claim
20 words
The computer system of claim 8, wherein an application program is responsive to the interrupt to identify additional free buffers.
Claim 12
Dependent Claim
21 words
The computer system of claim 1, wherein the packet processor is connected to receive packets from an asynchronous transfer mode network.
Claim 13
Dependent Claim
48 words
The computer system of claim 1, further comprising means, in the packet processor and operative when the identified buffer is used and data remains in the packet, for identifying another buffer in the retrieved list and for continuing transfer of data from the packet to the other buffer.
Claim 14
Dependent Claim
29 words
The computer system of claim 1, further comprising means, in the packet processor and operative when a packet is received, for ensuring that indicators of free buffers are available.
Claim 15
Dependent Claim
29 words
The computer system of claim 13, wherein the means for ensuring includes means for generating an interrupt to an application, to request that a free buffer list be provided.
Claim 16
Dependent Claim
35 words
The computer system of claim 1, wherein the means for retrieving a list of the indicators of free buffers includes means for retrieving an indication of a next list of the indicators of free buffers.
Claim 17
Dependent Claim
60 words
The computer system of claim 15, wherein, when there is no indication of the next list, the means for retrieving an indication of the next list generates an interrupt to a processor able to access the packet processor to request that more free buffers be identified and that indicators of the free buffers be stored in the buffer list memory.
Claim 18
Dependent Claim
166 words
A network interface for processing messages comprising packets containing data and header information indicating an application, comprising: a packet processor including an internal buffer list memory for storing indicators of free buffers for storing information from messages received for an application; an external buffer list memory for storing a two-dimensional list of lists, for each application, of indications of free buffers in memory allocated to the application, wherein a length of each of the lists in the two-dimensional list of lists corresponds to an anticipated size of an incoming message for the application; and in the packet processor, means for accessing one of the lists in the two-dimensional list of indications of free buffers for the application indicated in the header information of the packets from the external buffer list memory and for copying the indicators into the internal buffer list of the packet processor; and whereby an application can specify where each message received for the application starts in the memory allocated for the application.
Claim 19
Dependent Claim
166 words
A network interface for processing messages comprising packets containing data and header information indicating an application, comprising: a packet processor including an internal buffer list memory for storing indicators of free buffers for storing information from messages received for an application; an external buffer list memory for storing a two-dimensional list of lists, for each application, of indications of free buffers in memory allocated to the application, wherein a length of each of the lists in the two-dimensional list of lists corresponds to an anticipated size of an incoming message for the application; and in the packet processor, means for accessing one of the lists in the two-dimensional list of indications of free buffers for the application indicated in the header information of the packets from the external buffer list memory and for copying the indicators into the internal buffer list of the packet processor; and whereby an application can specify where each message received for the application starts in the memory allocated for the application.
Claim 20
Independent Claim
171 words
A method for processing messages by a network interface, wherein a message includes packets including data and header information indicating an application, comprising the steps of: storing in a first memory a plurality of indicators of free buffers in application memory for each application in a two-dimensional list of lists of indications, wherein a length of each of the lists in the two-dimensional list of lists corresponds to an anticipated size of an incoming message for the application; receiving a packet of a message; identifying an application for the message from the header information of a packet; retrieving one of the lists of indications of free buffers from the two-dimensional list in memory for the identified application and storing the retrieved list in a second memory; selecting a buffer to be used from the retrieved indications in the second memory; and storing data from the packet into the selected buffer; and whereby an application can specify where each message received for the application starts in the memory allocated for the application.
Claim 21
Independent Claim
171 words
A method for processing messages by a network interface, wherein a message includes packets including data and header information indicating an application, comprising the steps of: storing in a first memory a plurality of indicators of free buffers in application memory for each application in a two-dimensional list of lists of indications, wherein a length of each of the lists in the two-dimensional list of lists corresponds to an anticipated size of an incoming message for the application; receiving a packet of a message; identifying an application for the message from the header information of a packet; retrieving one of the lists of indications of free buffers from the two-dimensional list in memory for the identified application and storing the retrieved list in a second memory; selecting a buffer to be used from the retrieved indications in the second memory; and storing data from the packet into the selected buffer; and whereby an application can specify where each message received for the application starts in the memory allocated for the application.
Claim 22
Dependent Claim
207 words
A computer system for processing messages directed to applications and including a packet containing data and header information indicating an application, comprising: a buffer list memory for storing, for each channel, indicators of free buffers available in memory allocated for the application, wherein the indicators of free buffers stored in the buffer list memory, for each application, are organized as a list of lists of indicators of free buffers, wherein the length of each list corresponds to an anticipated size of incoming message for the application; and a packet processor having an input for receiving packets of the message and including means, operative upon receipt of the message, for accessing the buffer list memory to retrieve one of the lists of indicators of free buffers for the application indicated by the packet and for storing the retrieved indicators in an internal memory, means, operative upon receipt of the packet, for identifying a buffer to be used from the retrieved buffer list by selecting one of the retrieved indicators stored in the internal memory, and means for transferring the data in the packet to the identified buffer; and whereby an application can specify where each message received for the application starts in the memory allocated for the application.
Claim 23
Dependent Claim
207 words
A computer system for processing messages directed to applications and including a packet containing data and header information indicating an application, comprising: a buffer list memory for storing, for each channel, indicators of free buffers available in memory allocated for the application, wherein the indicators of free buffers stored in the buffer list memory, for each application, are organized as a list of lists of indicators of free buffers, wherein the length of each list corresponds to an anticipated size of incoming message for the application; and a packet processor having an input for receiving packets of the message and including means, operative upon receipt of the message, for accessing the buffer list memory to retrieve one of the lists of indicators of free buffers for the application indicated by the packet and for storing the retrieved indicators in an internal memory, means, operative upon receipt of the packet, for identifying a buffer to be used from the retrieved buffer list by selecting one of the retrieved indicators stored in the internal memory, and means for transferring the data in the packet to the identified buffer; and whereby an application can specify where each message received for the application starts in the memory allocated for the application.
Claim 24
Dependent Claim
218 words
A network interface for processing messages containing packets including data and header information indicating an application, comprising: a buffer list memory for storing, for each application, indicators of free buffers available in memory allocated for the application, wherein the indicators are stored as a two-dimensional list of lists including an interrupt code associated with the indicators of free buffers, wherein the length of each list corresponds to an anticipated size of an incoming message for the application; and a packet processor having an input for receiving the packet and including means, operative upon receipt of the packet, for accessing the buffer list memory to retrieve one of the lists of the indicators of free buffers from the two-dimensional list for the application indicated by the header information in packets of the message and for storing the retrieved indicators in an internal memory, means for reading and evaluating the interrupt code and for generating an interrupt indicating that more lists of indicators of free buffers are needed, means, operative upon receipt of the packet, for identifying a buffer to be used from the retrieved list, and means for transferring the data in the packet to the identified buffer; and whereby an application can specify where each message received for the application starts in the memory allocated for the application.
Claim 25
Dependent Claim
218 words
A network interface for processing messages containing packets including data and header information indicating an application, comprising: a buffer list memory for storing, for each application, indicators of free buffers available in memory allocated for the application, wherein the indicators are stored as a two-dimensional list of lists including an interrupt code associated with the indicators of free buffers, wherein the length of each list corresponds to an anticipated size of an incoming message for the application; and a packet processor having an input for receiving the packet and including means, operative upon receipt of the packet, for accessing the buffer list memory to retrieve one of the lists of the indicators of free buffers from the two-dimensional list for the application indicated by the header information in packets of the message and for storing the retrieved indicators in an internal memory, means for reading and evaluating the interrupt code and for generating an interrupt indicating that more lists of indicators of free buffers are needed, means, operative upon receipt of the packet, for identifying a buffer to be used from the retrieved list, and means for transferring the data in the packet to the identified buffer; and whereby an application can specify where each message received for the application starts in the memory allocated for the application.