The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Oct. 05, 1999
Filed:
Jun. 30, 1997
Madhusudhan Talluri, Fremont, CA (US);
Marshall C Pease, Mountain View, CA (US);
Sun Microsystems, Inc., Palo Alto, CA (US);
Abstract
In a distributed computer system, a sending node prompts a receiving node to allocate and export to the sending node one or more memory 'segments'. Each allocated segment is sufficiently large to hold multiple receive buffers whose size fall within a predefined range of receive buffer sizes. Once a segment has been allocated and exported, the sending node allocates receive buffers within the segment, using sequentially contiguous portions for successive receive buffers, without any interaction with the receiving node. Messages are transmitted to the receiving node by remotely writing the data portion of each message to an allocated receive buffer and writing a control message with a pointer to the corresponding receive buffer to a message queue in the receiving node. The receiving node processes messages within the portions of the allocated segments specified by each control message and does not keep track of the used and/or unused portions of each segment. Only the sending node keeps track of the unused portions of each allocated segment. As a result, the computational and communication resource overhead associated with allocating receive buffers is substantially reduced. Once the sending node has exhausted a segment, it sends either a segment release message or segment recycle message to the receiving node. Recycling the segment causes the receiving node to re-enable the sending node to use the segment once the receiving node has processed all the messages previously written to receive buffers in the segment.