Patent US2330982A successfully refreshed from Google Patents.
Patent US8281037B2 successfully refreshed from Google Patents.
← Back to Patent Explorer
US5289470A Expired / Lapsed US ⏱️ 0.0 years remaining

Flexible scheme for buffer space allocation in networking devices

Assignee: International Business Machines Corp
•
Filing: 1992-12-14
•
Granted: 1994-02-22
•
Expires: 2012-12-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for storing a data packet in a networking device. The networking device has a plurality of buffers. Each buffer has a respective size. A predetermined, ordered sequence of buffer sets is established. A buffer is allocated from the plurality of buffers. The allocated buffer is selected from the first set in the ordered sequence. If the packet size does not exceed the allocated buffer size, the entire packet is stored in the allocated buffer. Otherwise, a portion of the data packet sufficient to fill the allocated buffer is stored into the allocated buffer. If the packet size is greater than the size of the allocated buffer, further portions of the data packet are stored into respective further buffers. The further buffers are allocated from the plurality of sets of buffers. The further buffers are allocated so that the sequence of their respective sizes match the predetermined, ordered sequence of sets of buffers.

Inventors

  • 👤 Shu-Ping Chang
  • 👤 Ahmed N. Tantawy

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 07:30
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/0223; G06F12/023; H; H04; H04L; H04L49/00; H04L49/90; H04L49/9084; H04L49/9089; H04L49/9094

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 171 words
A method for storing a data packet having a packet size in a networking device having a plurality of buffers, each buffer having a respective size, comprising the steps of: (a) partitioning the plurality of buffers into a plurality of sets, each set having buffers of a respectively different size; (b) establishing an ordered sequence of sets of buffers, one of said sets being a first set in said ordered sequence; (c) allocating a buffer from said first set for temporary storage of a portion of the data packet, said allocated buffer having a size; (d) storing the portion of the data packet into said allocated buffer; and (e) allocating an additional buffer from an additional one of said plurality of sets of buffers in accordance with said ordered sequence of sets of buffers for temporary storage of a further portion of the data packet and storing the further portion of said data packet into said additional further if said packet size is greater than said size of said allocated buffer.
Claim 2
Independent Claim 171 words
A method for storing a data packet having a packet size in a networking device having a plurality of buffers, each buffer having a respective size, comprising the steps of: (a) partitioning the plurality of buffers into a plurality of sets, each set having buffers of a respectively different size; (b) establishing an ordered sequence of sets of buffers, one of said sets being a first set in said ordered sequence; (c) allocating a buffer from said first set for temporary storage of a portion of the data packet, said allocated buffer having a size; (d) storing the portion of the data packet into said allocated buffer; and (e) allocating an additional buffer from an additional one of said plurality of sets of buffers in accordance with said ordered sequence of sets of buffers for temporary storage of a further portion of the data packet and storing the further portion of said data packet into said additional further if said packet size is greater than said size of said allocated buffer.
Claim 3
Dependent Claim 27 words
A method in accordance with claim 1, wherein step (e) is repeated until all of the portions of said packet are stored within said plurality of buffers.
Claim 4
Dependent Claim 34 words
A method in accordance with claim 1, wherein said portion is equal in size to said size of said allocated buffer if said packet size is greater than said size of said allocated buffer.
Claim 5
Dependent Claim 34 words
A method in accordance with claim 1, wherein the portion is equal in size to the size of the allocated buffer if the packet size is equal to the size of said allocated buffer.
Claim 6
Dependent Claim 31 words
A method in accordance with claim 1, wherein the portion is equal in size to the packet size if said packet size is less than the size of said allocated buffer.
Claim 7
Dependent Claim 31 words
A method in accordance with claim 1, wherein the first set in said ordered sequence includes buffers which are equal in size to the smallest buffer in said plurality of buffers.
Claim 8
Dependent Claim 31 words
A method in accordance with claim 1, wherein the first set in said ordered sequence includes buffers which are equal in size to the largest buffer in said plurality of buffers.
Claim 9
Dependent Claim 29 words
A method in accordance with claim 1, wherein said further portion is equal in size to a difference between said packet size and said size of said allocated buffer.
Claim 10
Dependent Claim 47 words
A method in accordance with claim 1, wherein one of said sets is a second set in said ordered sequence, said second set includes buffers having a respective size, and said further portion is equal in size to said size of said buffers in said second set.
Claim 11
Dependent Claim 34 words
A method in accordance with claim 1, further comprising the step of receiving the data packet by the networking device after the step of allocating the allocated buffer from the first set of buffers.
Claim 12
Dependent Claim 24 words
A method in accordance with claim 1, further comprising the step of waiting until said allocated buffer is full before allocating said additional buffer.
Claim 13
Dependent Claim 30 words
A method in accordance with claim 1, wherein at least one of said sets of buffers is included at least two times in said ordered sequence of sets of buffers.
Claim 14
Dependent Claim 160 words
Apparatus for storing a data packet having a packet size in a networking device, comprising: a plurality of sets of buffers, each set having buffers of a respectively different size; means for establishing an ordered sequence of sets of buffers, one of said sets of buffers being a first set in said ordered sequence; means for allocating a buffer from said first set of buffers for temporary storage of a portion of the data packet, said allocated buffer having a size; means for storing the portion of the data packet into said allocated buffer; and means for allocating an additional buffer from an additional one of said plurality of sets of buffers in accordance with said ordered sequence of sets of buffers for temporary storage of a further portion of the data packet, and for storing the further portion of said data packet into said additional buffer if said packet size is greater than said size of said allocated buffer.
Claim 15
Dependent Claim 160 words
Apparatus for storing a data packet having a packet size in a networking device, comprising: a plurality of sets of buffers, each set having buffers of a respectively different size; means for establishing an ordered sequence of sets of buffers, one of said sets of buffers being a first set in said ordered sequence; means for allocating a buffer from said first set of buffers for temporary storage of a portion of the data packet, said allocated buffer having a size; means for storing the portion of the data packet into said allocated buffer; and means for allocating an additional buffer from an additional one of said plurality of sets of buffers in accordance with said ordered sequence of sets of buffers for temporary storage of a further portion of the data packet, and for storing the further portion of said data packet into said additional buffer if said packet size is greater than said size of said allocated buffer.
Claim 16
Dependent Claim 17 words
Apparatus in accordance with claim 13, wherein said buffer allocating means include a buffer memory management unit.
Claim 17
Dependent Claim 33 words
Apparatus in accordance with claim 13, wherein said networking device is coupled to a plurality of networks which transmit data packets to said networking device and receive data packets from said networking device.
Claim 18
Dependent Claim 34 words
Apparatus in accordance with claim 13, wherein said networking device is coupled to a plurality of host systems which receive data packets from said networking device and transmit data packets to said networking device.

References Cited (Backward Citations)

US4349875A Cited
US4677616A Cited
US4736369A Cited
US4864495A Cited
US4933932A Cited
US5016248A Cited
US5125096A Cited
US5083269A Cited
US5189672A Cited
US5014265A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag