Patent US1760132A successfully refreshed from Google Patents.
Patent US1040531A successfully refreshed from Google Patents.
Patent US608566A successfully refreshed from Google Patents.
Patent US3142197A successfully refreshed from Google Patents.
Patent US3370310A successfully refreshed from Google Patents.
Patent US5974518A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5974518A Expired / Lapsed US ⏱️ 0.0 years remaining

Smart buffer size adaptation apparatus and method

Assignee: Milgo Solutions Inc
•
Filing: 1997-04-10
•
Granted: 1999-10-26
•
Expires: 2017-04-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Disclosed is a network device having a shared memory, a controller for storing Ethernet frames in frame buffers using data chaining to divide up at least the larger frames over a plurality of same sized buffers in the shared memory, wherein there is a tradeoff between using 1) larger buffers capable of receiving more of or all of the larger frames (more wasted buffer space) or 2) smaller buffers requiring more data chaining (wastes processing time to reassemble the frames) and an Ethernet driver having a buffer size adaptation routine which uses an algorithm to dynamically size the buffers. The algorithm records the average frame size during a window of time and uses the average frame size plus an overshoot to reconfigure the buffers' size, when either of the above two stated problems are occurring because the buffer is too large or too small, but with 1) safeguards built into the algorithm to prevent too frequent reconfigurations and 2) the option of including preferences favoring minimization of one of the above stated problems over the other.

Inventors

  • 👤 Christopher I. Nogradi

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 09:05
CPC Classifications
H; H04; H04L; H04L49/00; H04L49/90; H04L9/00; H04L9/40

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 167 words
A data communication system, comprising: a frame handling device having a driver and a processor for executing said driver; a controller for receiving a plurality of frames of digital signals; a shared memory operable for being accessed by said driver or said controller; said driver including memory dividing means for dividing said shared memory into a number of frame buffers with each of said frame buffers having a fix size; said controller including frame storing means for storing each said frame in one of said frame buffers in response to said frame being equal to or less than the size of said one buffer or in a plurality of said frame buffers in response to said frame exceeding the size of said one buffer; and said memory dividing means including monitoring means for measuring the sizes of said frames over a predetermined period of time and size adjusting means for adjusting said fix size and said number of said frame buffers in response to said monitoring means.
Claim 2
Dependent Claim 167 words
A data communication system, comprising: a frame handling device having a driver and a processor for executing said driver; a controller for receiving a plurality of frames of digital signals; a shared memory operable for being accessed by said driver or said controller; said driver including memory dividing means for dividing said shared memory into a number of frame buffers with each of said frame buffers having a fix size; said controller including frame storing means for storing each said frame in one of said frame buffers in response to said frame being equal to or less than the size of said one buffer or in a plurality of said frame buffers in response to said frame exceeding the size of said one buffer; and said memory dividing means including monitoring means for measuring the sizes of said frames over a predetermined period of time and size adjusting means for adjusting said fix size and said number of said frame buffers in response to said monitoring means.
Claim 3
Dependent Claim 27 words
The data communications system according to claim 1, wherein said monitoring means is operable for determining an average size of said frames over said period of time.
Claim 4
Dependent Claim 63 words
The data communications system according to claim 2, wherein said fixed size of said buffers during said period of time is defined to be a current size and said size adjusting means includes comparison means for comparing said average size to said current size to determine a new said size for said frame buffers and a new said number of said frame buffers.
Claim 5
Dependent Claim 48 words
The data communications system according to claim 3, wherein said size adjusting means is operable to provide said new size to be larger than said current size of said frame buffers in response to said comparison means determining that said average size is greater than said current size.
Claim 6
Dependent Claim 62 words
The data communications system according to claim 3, wherein said size adjusting means is operable to increase said current size of said frame buffers in response to said comparison means determining that said average size is greater than said current size by a predetermined amount, whereby said size adjusting means use of said predetermined amount favors reducing waste of said frame buffers.
Claim 7
Dependent Claim 20 words
The data communications system according to claim 5, wherein said predetermined amount includes a selected portion of said average size.
Claim 8
Dependent Claim 48 words
The data communications system according to claim 3, wherein said size adjusting means is operable to provide said new size which is smaller than said current size of said frame buffers in response to said comparison means determining that said average size is less than said current size.
Claim 9
Dependent Claim 61 words
The data communications system according to claim 3, wherein said size adjusting means is operable to decrease said current size of said frame buffers in response to said comparison means determining that said average size is less than said current size by a predetermined amount whereby said adjusting means use of said predetermined amount favors reducing processing time of said processor.
Claim 10
Dependent Claim 20 words
The data communications system according to claim 8, wherein said predetermined amount includes a selected portion of said average size.
Claim 11
Dependent Claim 34 words
The data communications system according to claim 3, wherein said size adjusting means is operable for increasing said average frame size by a predetermined amount before said comparison means uses said average frame size.
Claim 12
Dependent Claim 18 words
The data communications system according to claim 1, wherein said frame handling device comprises a network access device.
Claim 13
Dependent Claim 32 words
The data communications system according to claim 1, wherein said frame storage means includes means for data chaining to distribute a given said frame over more than one of said frame buffers.
Claim 14
Dependent Claim 33 words
The data communications system according to claim 1, wherein said frame processor includes a main memory and said processor being operable for transferring said frames from said shared memory to said main memory.
Claim 15
Dependent Claim 14 words
The data communications system according to claim 1, wherein said frames are LAN frames.
Claim 16
Dependent Claim 24 words
The data communications system according to claim 14, wherein said local area network frames comprise Ethernet Frames and said controller comprises an Ethernet controller.
Claim 17
Dependent Claim 16 words
The data communications system according to claim 3, wherein said shared memory is a fixed size.
Claim 18
Dependent Claim 45 words
The data communications system according to claim 14, wherein said data communications systems includes a local area network for providing said local area network frames to said controller and said frame handling device consists of a network access device for communications with a primary network.
Claim 19
Dependent Claim 39 words
The data communications system according to claim 3, wherein said controller includes reconfiguration means for redefining, in response to said driver, said shared memory to have said frame buffers with said new size and said new number of buffers.
Claim 20
Dependent Claim 12 words
The method according to claim 1, wherein said frames are LAN frames.
Claim 21
Independent Claim 119 words
A method for data communications, comprising: providing a shared memory operable for being accessed by a driver of a processor or a controller; dividing said shared memory into a number of frame buffers with each of said frame buffers having a fix size; storing each said frame in one of said frame buffers in response to said frame being less than the size of said one buffer or in a plurality of said frame buffers in response to said frame exceeding the size of said one buffer; measuring the sizes of said frames over a predetermined period of time; and adjusting said fix size and said number of said frame buffers in response to said measuring of said sizes.
Claim 22
Independent Claim 119 words
A method for data communications, comprising: providing a shared memory operable for being accessed by a driver of a processor or a controller; dividing said shared memory into a number of frame buffers with each of said frame buffers having a fix size; storing each said frame in one of said frame buffers in response to said frame being less than the size of said one buffer or in a plurality of said frame buffers in response to said frame exceeding the size of said one buffer; measuring the sizes of said frames over a predetermined period of time; and adjusting said fix size and said number of said frame buffers in response to said measuring of said sizes.
Claim 23
Dependent Claim 24 words
The method according to claim 20, wherein said step of measuring including determining an average size of said frames over said period of time.
Claim 24
Dependent Claim 58 words
The method according to claim 21, wherein said fixed size of said buffers during said period of time is defined to be a current size and said step of adjusting includes comparing said average size to said current size to determine a new said size for said frame buffers and a new said number of said frame buffers.
Claim 25
Dependent Claim 41 words
The method according to claim 22, wherein said step of adjusting includes setting said new size to be larger than said current size of said frame buffers in response to determining that said average size is greater than said current size.
Claim 26
Dependent Claim 52 words
The method according to claim 22, wherein said step of adjusting includes increasing said current size of said frame buffers in response to determining that said average size is greater than said current size by a predetermined amount, whereby the use of said predetermined amount favors reducing waste of said frame buffers.
Claim 27
Dependent Claim 18 words
The method according to claim 24, wherein said predetermined amount includes a selected portion of said average size.
Claim 28
Dependent Claim 41 words
The method according to claim 22, wherein said step of adjusting includes setting said new size to be smaller than said current size of said frame buffers in response to determining that said average size is less than said current size.
Claim 29
Dependent Claim 52 words
The method according to claim 22, wherein said step of adjusting includes decreasing said current size of said frame buffers in response to determining that said average size is less than said current size by a predetermined amount, whereby the use of said predetermined amount favors reducing processing time of said processor.
Claim 30
Dependent Claim 18 words
The method according to claim 27, wherein said predetermined amount includes a selected portion of said average size.
Claim 31
Dependent Claim 31 words
The method according to claim 22, wherein said step of adjusting includes increasing said average frame size by a predetermined amount before said step of comparing uses said average frame size.
Claim 32
Dependent Claim 27 words
The method according to claim 22, further including reconfiguring said shared memory to have said frame buffers with said new size and said new number of buffers.

References Cited (Backward Citations)

US5784698A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-10-25 2003-04-26 2003-10-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-10-25 2007-04-26 2007-10-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-10-25 2011-04-26 2011-10-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag