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

Scheduling mechanism for network adapter to minimize latency and guarantee background processing time

Assignee: Enterasys Networks Inc
•
Filing: 1992-09-15
•
Granted: 1995-04-04
•
Expires: 2012-09-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Method and apparatus for scheduling operations of a network adapter in such a way as to minimize latency in processing received data packets, while still guaranteeing time for processing necessary background tasks. The method includes executing a polling loop in which repeated tests are made for the presence of receive data to process, but only a limited amount of receive data processing is performed before checking for background processing that needs to be performed. The polling loop ensures that immediate attention is given to processing of receive data, without the inherent latency of interrupt processing, but still gives periodic opportunities for background processing. Background processing is performed for a guaranteed minimum processing time before permitting a return to receive processing. Background processing may be performed without a guaranteed minimum processing time, but only when there is currently no receive processing to do.

Inventors

  • 👤 Kadangode K. Ramakrishnan
  • 👤 David Sawyer
  • 👤 Phillip J. Weeks
  • 👤 Douglas M. Washabaugh

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 05:48
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4812; G06F9/4843; G06F9/4881

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 133 words
A method for scheduling operations of a network adapter, comprising the steps of: executing a polling loop, including checking for received data processing to perform, performing a limited amount of any received data processing that needs to be performed, and then identifying any background processing tasks that need to be performed; executing background processing tasks, if any are identified in the polling loop, wherein there is a guaranteed maximum time that can pass without execution of background processing, and wherein there is a guaranteed predetermined minimum background processing execution time before a return to ongoing received data processing; and returning to the polling loop no later than upon expiration of said predetermined minimum background processing time; whereby latency in processing received data is minimized, while still guaranteeing processing time for necessary background tasks.
Claim 2
Independent Claim 133 words
A method for scheduling operations of a network adapter, comprising the steps of: executing a polling loop, including checking for received data processing to perform, performing a limited amount of any received data processing that needs to be performed, and then identifying any background processing tasks that need to be performed; executing background processing tasks, if any are identified in the polling loop, wherein there is a guaranteed maximum time that can pass without execution of background processing, and wherein there is a guaranteed predetermined minimum background processing execution time before a return to ongoing received data processing; and returning to the polling loop no later than upon expiration of said predetermined minimum background processing time; whereby latency in processing received data is minimized, while still guaranteeing processing time for necessary background tasks.
Claim 3
Dependent Claim 32 words
A method as defined in claim 1, wherein: the step of identifying background tasks includes checking for the presence of tasks already in progress, and checking for the occurrence of timer interrupts.
Claim 4
Dependent Claim 60 words
A method as defined in claim 1, wherein: the step of identifying background tasks includes counting receive buffers processed, wherein a check is made for ongoing background processing after processing a preselected number of buffers of received data, where processing said preselected number of buffers has a duration corresponding to a selected time interval for periodically checking for background processing.
Claim 5
Dependent Claim 41 words
A method as defined in claim 1, wherein: if there are any background processing tasks awaiting execution and if there is no receive processing to do, the method further comprises executing the background tasks, but without any guaranteed minimum processing time.
Claim 6
Independent Claim 106 words
A method for scheduling operations of a network adapter, comprising the steps of: executing a polling loop, including checking for received data processing to perform, performing a limited amount of any received data processing that needs to be performed, and identifying any timer related or other background processing tasks that need to be performed; executing background processing tasks, if any are identified in the polling loop; and returning to the polling loop from any background processing tasks no later than upon expiration of a predetermined minimum background processing time; whereby latency in processing received data is minimized, while still guaranteeing processing time for necessary background tasks.
Claim 7
Independent Claim 106 words
A method for scheduling operations of a network adapter, comprising the steps of: executing a polling loop, including checking for received data processing to perform, performing a limited amount of any received data processing that needs to be performed, and identifying any timer related or other background processing tasks that need to be performed; executing background processing tasks, if any are identified in the polling loop; and returning to the polling loop from any background processing tasks no later than upon expiration of a predetermined minimum background processing time; whereby latency in processing received data is minimized, while still guaranteeing processing time for necessary background tasks.
Claim 8
Dependent Claim 62 words
A method as defined in claim 5, wherein: the step of performing a limited amount of received data processing includes counting a first preselected number of buffers of received data processed before attempting to identify any background processing tasks awaiting execution, wherein processing no more than the preselected number of buffers provides a maximum time between successive attempts to identify background tasks.
Claim 9
Dependent Claim 43 words
A method as defined in claim 6, wherein: the step of identifying background tasks includes counting a second preselected number of receive buffers processed, wherein a transfer is made to background processing after processing the second preselected number of buffers of received data.
Claim 10
Dependent Claim 136 words
Apparatus for scheduling operations of a network adapter, comprising: means for executing a polling loop, including means for checking for received data processing to perform, means for performing a limited amount of any received data processing that needs to be performed, and means operative after the means for performing a limited amount of received data processing, for identifying any background processing tasks that need to be performed; means for executing background processing tasks, if any are identified in the polling loop, wherein a predetermined minimum background processing execution time is guaranteed before a return to ongoing received data processing; and means for returning to the polling loop no later than upon expiration of said predetermined minimum background processing time; whereby latency in processing received data is minimized, while still guaranteeing processing time for necessary background tasks.
Claim 11
Dependent Claim 136 words
Apparatus for scheduling operations of a network adapter, comprising: means for executing a polling loop, including means for checking for received data processing to perform, means for performing a limited amount of any received data processing that needs to be performed, and means operative after the means for performing a limited amount of received data processing, for identifying any background processing tasks that need to be performed; means for executing background processing tasks, if any are identified in the polling loop, wherein a predetermined minimum background processing execution time is guaranteed before a return to ongoing received data processing; and means for returning to the polling loop no later than upon expiration of said predetermined minimum background processing time; whereby latency in processing received data is minimized, while still guaranteeing processing time for necessary background tasks.
Claim 12
Dependent Claim 35 words
Apparatus as defined in claim 8, wherein: the means for identifying background tasks includes means for checking for the presence of tasks already in progress, and means for checking for the occurrence of timer interrupts.
Claim 13
Dependent Claim 38 words
Apparatus as defined in claim 8, wherein: the means for identifying background tasks includes means for counting receive buffers processed, wherein a transfer is made to background processing after processing a preselected number of buffers of received data.
Claim 14
Dependent Claim 41 words
Apparatus as defined in claim 8, and further comprising: means operable only if there are any background processing tasks awaiting execution and if there is no receive processing to do, for executing the background tasks without any guaranteed minimum processing time.
Claim 15
Independent Claim 118 words
A method for scheduling operations of a network adapter, comprising the steps of: executing a polling loop, including checking for received data processing to perform, performing a limited amount of any received data processing that needs to be performed, and then identifying any background processing tasks that need to be performed; executing background processing tasks, if any are identified in the polling loop, wherein there is a guaranteed time interval where no receive interrupts are processed, said interrupts indicating reception of new received data; and, returning to said polling loop no later than upon expiration of a predetermined background processing time; whereby latency in processing received data is minimized, while still guaranteeing processing time for necessary background tasks.
Claim 16
Independent Claim 118 words
A method for scheduling operations of a network adapter, comprising the steps of: executing a polling loop, including checking for received data processing to perform, performing a limited amount of any received data processing that needs to be performed, and then identifying any background processing tasks that need to be performed; executing background processing tasks, if any are identified in the polling loop, wherein there is a guaranteed time interval where no receive interrupts are processed, said interrupts indicating reception of new received data; and, returning to said polling loop no later than upon expiration of a predetermined background processing time; whereby latency in processing received data is minimized, while still guaranteeing processing time for necessary background tasks.
Claim 17
Dependent Claim 29 words
A method as defined in claim 12, wherein: if background processing completes before said guaranteed time interval, processing of received data is returned to by forcing a receive interrupt.

References Cited (Backward Citations)

US3905025A Cited
US4314334A Cited
US4658351A Cited
US5193189A Cited
US5142675A Cited
US5161223A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag