← Back to Patent Explorer
US5799314A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method of controlling mapping of data buffers for heterogenous programs in digital computer system

Assignee: Sun Microsystems Inc
•
Filing: 1995-06-30
•
Granted: 1998-08-25
•
Expires: 2015-06-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer system comprises a plurality of programs, each operating in an operating area such as a virtual machine. The programs are provided with a common data buffer for buffering data for processing by said programs. Each program also has a buffer control including at least one pointer for pointing to a buffer containing data to be processed by the program. One of the programs will initially process the data in the common data buffer and, after it is finished processing, will control the other program's buffer pointer to enable the other program to process the data in the common data buffer. By using the same buffer to contain data to be processed by both programs, the programs can avoid having to copy the data between private buffers maintained for each, which can assist in accelerating through-put by the computer system.

Inventors

  • 👤 Joseph E. Provino
  • 👤 Mark M. Towfigh

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 03:14
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/544

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 287 words
A computer system comprising a plurality of programs each operating in an operating area and a plurality of common data buffers each for buffering data, each program having a buffer control including at least one buffer pointer, each buffer pointer pointing to one of said common data buffers containing data to be processed by the one of said programs associated therewith, one of said programs, after processing the data in one of said common data buffers, thereafter updating another of said programs' buffer pointers to add a buffer pointer pointing to the one of said common data buffers thereby to facilitate processing of the data in the one of said common data buffers by said other of said programs, in which: A. said one of said programs comprises a network protocol control program for receiving data from an application program to be transferred over a network and dividing the received data into one or more blocks each for transmission in a packet over the network, said network protocol control program loading each block of data into an associated one of common data buffers, B. said other of said programs comprises a network driver program which enables each block to be transmitted over said network in an associated packet; and C. said network protocol control program, after loading each respective one of said blocks of data into one of said common data buffers, updating the buffer pointers associated with said network driver program to add a buffer pointer thereto pointing to the one of said common data buffers, the network driver program using its buffer pointers to identify each common data buffer containing data for which it is to generate a said packet for transmission over the network.
Claim 2
Dependent Claim 287 words
A computer system comprising a plurality of programs each operating in an operating area and a plurality of common data buffers each for buffering data, each program having a buffer control including at least one buffer pointer, each buffer pointer pointing to one of said common data buffers containing data to be processed by the one of said programs associated therewith, one of said programs, after processing the data in one of said common data buffers, thereafter updating another of said programs' buffer pointers to add a buffer pointer pointing to the one of said common data buffers thereby to facilitate processing of the data in the one of said common data buffers by said other of said programs, in which: A. said one of said programs comprises a network protocol control program for receiving data from an application program to be transferred over a network and dividing the received data into one or more blocks each for transmission in a packet over the network, said network protocol control program loading each block of data into an associated one of common data buffers, B. said other of said programs comprises a network driver program which enables each block to be transmitted over said network in an associated packet; and C. said network protocol control program, after loading each respective one of said blocks of data into one of said common data buffers, updating the buffer pointers associated with said network driver program to add a buffer pointer thereto pointing to the one of said common data buffers, the network driver program using its buffer pointers to identify each common data buffer containing data for which it is to generate a said packet for transmission over the network.
Claim 3
Dependent Claim 345 words
A computer program product including a computer-readable medium having encoded thereon code devices associated with a program, the code devices enabling the computer system to perform operations in an operational area and in connection with respective ones of a plurality of common data buffers each for buffering data, said computer program product enabling the computer system to establish a buffer control including at least one buffer pointer, each buffer pointer pointing to one of said common data buffers containing data to be processed, said program, after enabling the computer system to process the data in one of said common data buffers, enabling the computer system to update another program's buffer pointers to add a buffer pointer pointing to the one of said common data buffers thereby to facilitate processing of the data in the one of said common data buffers by said computer system under control of said other program, in which: A. said one of said programs comprises a network protocol control program for enabling said computer system to receive data from an application program to be transferred over a network and divide the received data into one or more blocks each for transmission in a packet over the network, said network protocol control program enabling said computer system to load each block of data into an associated one of common data buffers, B. said other of said programs comprises a network driver program which enables said computer system to transmit each block over said network in an associated packet; and C. said network protocol control program, after enabling said computer system to load each respective one of said blocks of data into one of said common data buffers, enables said computer system to update the buffer pointers associated with said network driver program to add a buffer pointer thereto pointing to the one of said common data buffers, the network driver program enabling said computer system to use its buffer pointers to identify each common data buffer containing data for which it is to generate a said packet for transmission over the network.
Claim 4
Dependent Claim 345 words
A computer program product including a computer-readable medium having encoded thereon code devices associated with a program, the code devices enabling the computer system to perform operations in an operational area and in connection with respective ones of a plurality of common data buffers each for buffering data, said computer program product enabling the computer system to establish a buffer control including at least one buffer pointer, each buffer pointer pointing to one of said common data buffers containing data to be processed, said program, after enabling the computer system to process the data in one of said common data buffers, enabling the computer system to update another program's buffer pointers to add a buffer pointer pointing to the one of said common data buffers thereby to facilitate processing of the data in the one of said common data buffers by said computer system under control of said other program, in which: A. said one of said programs comprises a network protocol control program for enabling said computer system to receive data from an application program to be transferred over a network and divide the received data into one or more blocks each for transmission in a packet over the network, said network protocol control program enabling said computer system to load each block of data into an associated one of common data buffers, B. said other of said programs comprises a network driver program which enables said computer system to transmit each block over said network in an associated packet; and C. said network protocol control program, after enabling said computer system to load each respective one of said blocks of data into one of said common data buffers, enables said computer system to update the buffer pointers associated with said network driver program to add a buffer pointer thereto pointing to the one of said common data buffers, the network driver program enabling said computer system to use its buffer pointers to identify each common data buffer containing data for which it is to generate a said packet for transmission over the network.
Claim 5
Independent Claim 332 words
A method of controlling a computer system in response to a program, comprising the steps of A. enabling the computer system to perform operations in connection with the program in an operational area and in connection with one of a plurality of common data buffers each for buffering data, said program enabling the computer system to establish a buffer control including at least one buffer pointer, each for pointing to one of said common data buffers containing data to be processed thereby, and B. after processing of data in a respective one of said common data buffers, updating another programs' buffer pointers to add a buffer pointer pointing to the one of said common data buffers thereby to facilitate processing of the data in the one of said common data buffers by said other of said programs, in which: i. said one of said programs comprises a network protocol control program for enabling said computer system to receive data from an application program to be transferred over a network and divide the received data into one or more blocks each for transmission in a packet over the network, said network protocol control program enabling said computer system to load each block of data into an associated one of common data buffers, ii. said other of said programs comprises a network driver program which enables said computer system to transmit each block over said network in an associated packet; and iii. said network protocol control program, after enabling said computer system to load each respective one of said blocks of data into one of said common data buffers, enables said computer system to update the buffer pointers associated with said network driver program to add a buffer pointer thereto pointing to the one of said common data buffers, the network driver program enabling said computer system to use its buffer pointers to identify each common data buffer containing data for which it is to generate a said packet for transmission over the network.
Claim 6
Independent Claim 332 words
A method of controlling a computer system in response to a program, comprising the steps of A. enabling the computer system to perform operations in connection with the program in an operational area and in connection with one of a plurality of common data buffers each for buffering data, said program enabling the computer system to establish a buffer control including at least one buffer pointer, each for pointing to one of said common data buffers containing data to be processed thereby, and B. after processing of data in a respective one of said common data buffers, updating another programs' buffer pointers to add a buffer pointer pointing to the one of said common data buffers thereby to facilitate processing of the data in the one of said common data buffers by said other of said programs, in which: i. said one of said programs comprises a network protocol control program for enabling said computer system to receive data from an application program to be transferred over a network and divide the received data into one or more blocks each for transmission in a packet over the network, said network protocol control program enabling said computer system to load each block of data into an associated one of common data buffers, ii. said other of said programs comprises a network driver program which enables said computer system to transmit each block over said network in an associated packet; and iii. said network protocol control program, after enabling said computer system to load each respective one of said blocks of data into one of said common data buffers, enables said computer system to update the buffer pointers associated with said network driver program to add a buffer pointer thereto pointing to the one of said common data buffers, the network driver program enabling said computer system to use its buffer pointers to identify each common data buffer containing data for which it is to generate a said packet for transmission over the network.
Claim 7
Dependent Claim 78 words
A method as defined in claim 3 in which the buffer control comprises a linked list configured to include a series of entries, each entry having a buffer pointer field for receiving a buffer pointer, said program, after processing the data in said one of said common data buffers, adding to the linked list associated with said other program a said entry including in the buffer pointer field a pointer to the one of said common data buffers.
Claim 8
Dependent Claim 29 words
A method as defined in claim 4 in which each entry further includes a next entry pointer field for pointing to a next entry in the series of entries.
Claim 9
Dependent Claim 95 words
A computer program product as defined in claim 2 in which the buffer control comprises a linked list configured to include a series of entries, each entry having a buffer pointer field for receiving a buffer pointer, said code devices associated with said program, after enabling the computer system to process the data in said one of said common data buffers, enabling said computer system to add to the linked list associated with said other program a said entry including in the buffer pointer field a pointer to the one of said common data buffers.
Claim 10
Dependent Claim 31 words
A computer program product as defined in claim 6 in which each entry further includes a next entry pointer field for pointing to a next entry in the series of entries.
Claim 11
Dependent Claim 84 words
A computer system as defined in claim 1 in which each buffer control comprises a linked list configured to include a series of entries, each entry having a buffer pointer field for receiving a buffer pointer, said one of said programs, after processing the data in said one of said common data buffers, adding to the linked list associated with said other of said programs a said entry including in the buffer pointer field a pointer to the one of said common data buffers.
Claim 12
Dependent Claim 30 words
A computer system as defined in claim 8 in which each entry further includes a next entry pointer field for pointing to a next entry in the series of entries.

References Cited (Backward Citations)

US4491909A Cited
US5161215A Cited
US5539896A Cited
EP0522224A1 Cited
US5434976A Cited
US5384890A Cited
US5564044A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-08-24 2002-02-23 2002-08-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-08-24 2006-02-23 2006-08-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-08-24 2010-02-23 2010-08-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag