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

Method and system for controlling access to a resource

Assignee: EMC Corp
•
Filing: 1998-04-09
•
Granted: 2002-03-19
•
Expires: 2018-04-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for controlling access of a resource among several users of a resource. A plurality of service queues are established, each service queue handling requests for a predetermined range of the resource. A plurality of time slots are also established, and each service queue has a number of time slots in proportion to the amount of resource handled by that queue. One or more requestors request access to the resource, indicating a desired amount of the resource. Each request is assigned to one of the service queues based on the requested amount of the resource. A reference to the request is inserted in a number of slots associated with the queue to which the requestor was assigned. The references in the slots establish a service order which controls the order and frequency with which a requestor can access the resource. A quota can be established for each requestor to prevent any requestor from using a disproportionate amount of the resource. The method and system of the present invention is highly efficient and provides Quality of Service guarantees for multimedia traffic.

Inventors

  • 👤 Sitaram Dinakar
  • 👤 Krishanu Seal

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 17:36
CPC Classifications
H; H04; H04L; H04L47/00; H04L47/70; H04L47/82; H04L47/822; H04L47/10; H04L47/15; H04L47/24; H04L47/2416; H04L47/80; H04L47/801; H04L47/821

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 274 words
A method for scheduling the use of a resource, comprising: establishing a plurality of service queues, each respective service queue being operative to accept a requestor requesting a predetermined percentage of a resource; establishing a plurality of time slots, the slots being operative to maintain a reference to the requestor of the resource; assigning a predetermined number of slots to each respective service queue; receiving a request for the resource from the requestor, the request including the predetermined percentage of the resource; assigning the requestor to one of the service queues based on the predetermined percentage of the resource needed and the predetermined number of slots associated with the assigned service queue; allocating the reference to the requestor in a number of slots equal to the number of slots assigned to the service queue to which the requestor was assigned; offering access to the resource to the requestor by traversing the slots from a first slot to a last slot and offering access to the resource to the requestor according to the order of the requestor's reference in the traversed slots wherein each slot receives service based on a predetermined slot interval; and establishing a quota increment for each requestor based on the requested amount of the resource, and wherein the offering access to the resource step further comprises determining if the use of the resource will surpass a respective cumulative quota established for the respective requestor, and if so, denying the requestor the use of the resource, and if not, servicing the requestor, and decrementing the respective cumulative quota associated with the requestor by an amount corresponding to the use of the resource.
Claim 2
Independent Claim 274 words
A method for scheduling the use of a resource, comprising: establishing a plurality of service queues, each respective service queue being operative to accept a requestor requesting a predetermined percentage of a resource; establishing a plurality of time slots, the slots being operative to maintain a reference to the requestor of the resource; assigning a predetermined number of slots to each respective service queue; receiving a request for the resource from the requestor, the request including the predetermined percentage of the resource; assigning the requestor to one of the service queues based on the predetermined percentage of the resource needed and the predetermined number of slots associated with the assigned service queue; allocating the reference to the requestor in a number of slots equal to the number of slots assigned to the service queue to which the requestor was assigned; offering access to the resource to the requestor by traversing the slots from a first slot to a last slot and offering access to the resource to the requestor according to the order of the requestor's reference in the traversed slots wherein each slot receives service based on a predetermined slot interval; and establishing a quota increment for each requestor based on the requested amount of the resource, and wherein the offering access to the resource step further comprises determining if the use of the resource will surpass a respective cumulative quota established for the respective requestor, and if so, denying the requestor the use of the resource, and if not, servicing the requestor, and decrementing the respective cumulative quota associated with the requestor by an amount corresponding to the use of the resource.
Claim 3
Dependent Claim 53 words
The method according to claim 1 , wherein the allocating step further comprises determining which of the plurality of slots contains the least amount of additional references to additional requestors, and allocating the reference to the requestor in an optimal slot containing the least amount of the additional references to the additional requestors.
Claim 4
Dependent Claim 30 words
A method according to claim 1 , further comprising incrementing the respective cumulative quota associated with each requestor by an amount equal to the quota increment established for that requestor.
Claim 5
Dependent Claim 30 words
A method according to claim 1 , further comprising determining that a requestor has completed its use of the resource, and establishing a new quota increment for each remaining requestor.
Claim 6
Dependent Claim 32 words
The method according to claim 1 , wherein the resource is a communications channel, and the requestor is a source of a stream of data to be carried over the communications channel.
Claim 7
Dependent Claim 23 words
The method according to claim 5 , wherein the requested predetermined percentage of the resource comprises a desired percentage of the communications channel.
Claim 8
Independent Claim 349 words
A method for scheduling the use of a resource, comprising: establishing a plurality of service queues q i , where i is an integer and ranges from 1 to a finite integer number n corresponding to a last service queue, a second and all subsequent service queues being serviced by a finite integer number of N times as often as service queue q (i−1) ; establishing a plurality of time slots, the total number of slots being a multiple of N (n−1) . assigning each respective service queue a number of the plurality of slots, the ratio of the number of slots assigned to each respective service queue to the total number of slots being the same ratio as the number of times the respective service queue will be serviced to the number of times service queue q n will be serviced; receiving a request for a resource from a requestor, the request including a requested predetermined percentage of the resource; appointing the requestor to one of the plurality of service queues based on the requested predetermined percentage of the resource needed by the requestor; allocating a reference to the requestor in any slots assigned to the queue to which the requestor was appointed; offering access to the resource to the requestor by sequentially traversing the slots of the appointed service queue from a first slot to a last slot and offering access to the resource to the requestor according to the order of the requestor's reference within the traversed slots of the appointed service queue wherein each slot receives service based on a predetermined slot interval; and establishing a quota increment for each requestor based on the requested amount of the resource, and wherein the offering access to the resource step further comprises determining if the use of the resource will surpass a respective cumulative quota established for the respective requestor, and if so, denying the requestor the use of the resource, and if not, servicing the requestor, and decrementing the respective cumulative quota associated with the requestor by an amount corresponding to the use of the resource.
Claim 9
Independent Claim 349 words
A method for scheduling the use of a resource, comprising: establishing a plurality of service queues q i , where i is an integer and ranges from 1 to a finite integer number n corresponding to a last service queue, a second and all subsequent service queues being serviced by a finite integer number of N times as often as service queue q (i−1) ; establishing a plurality of time slots, the total number of slots being a multiple of N (n−1) . assigning each respective service queue a number of the plurality of slots, the ratio of the number of slots assigned to each respective service queue to the total number of slots being the same ratio as the number of times the respective service queue will be serviced to the number of times service queue q n will be serviced; receiving a request for a resource from a requestor, the request including a requested predetermined percentage of the resource; appointing the requestor to one of the plurality of service queues based on the requested predetermined percentage of the resource needed by the requestor; allocating a reference to the requestor in any slots assigned to the queue to which the requestor was appointed; offering access to the resource to the requestor by sequentially traversing the slots of the appointed service queue from a first slot to a last slot and offering access to the resource to the requestor according to the order of the requestor's reference within the traversed slots of the appointed service queue wherein each slot receives service based on a predetermined slot interval; and establishing a quota increment for each requestor based on the requested amount of the resource, and wherein the offering access to the resource step further comprises determining if the use of the resource will surpass a respective cumulative quota established for the respective requestor, and if so, denying the requestor the use of the resource, and if not, servicing the requestor, and decrementing the respective cumulative quota associated with the requestor by an amount corresponding to the use of the resource.
Claim 10
Dependent Claim 59 words
A method according to claim 7 , wherein the slot interval for each queue, and wherein the allocating a reference step further comprises using the slot interval to ensure that each slot in which a reference is allocated is a uniform number of slots away from any other slots in which a reference is allocated for the respective requestor.
Claim 11
Dependent Claim 43 words
The method according to claim 8 , wherein the allocating step further comprises determining which of the plurality of slots is handling the lowest amount of bandwidth, and allocating the reference to the requestor in the slot containing the lowest amount of bandwidth.
Claim 12
Dependent Claim 25 words
A method according to claim 7 , wherein the slot interval S i for a service queue q i is S i =N (n−1) .
Claim 13
Dependent Claim 32 words
The method according to claim 7 , wherein the resource is a communications channel, and the requestor is a source of a stream of data to be carried over the communications channel.
Claim 14
Dependent Claim 23 words
The method according to claim 11 , wherein the requested predetermined percentage of the resource comprises a desired amount of the communications channel.
Claim 15
Independent Claim 191 words
A system for scheduling access to a resource, comprising: a plurality of service queues each respective service queue being operative to accept a requestor requesting a predetermined percentage of a resource; a plurality of time slots, the slots being operative to maintain a reference to the requestor of the resource, and a predetermined number of slots being assigned to each respective service queue wherein each slot is serviced based upon a predetermined slot interval; the requestor being operative to issue a request for the resource, the request including the predetermined percentage of the resource; the system being operative to appoint the requestor to one service queue based on the predetermined percentage of the resource needed and the slots assigned to the service queue; and the system being operative to allocate the reference to the requestor in a number of slots equal to the number of slots assigned to the service queue to which the requestor was appointed, access is given to the requestor of the resource by sequentially traversing the slots from a first slot to a last slot and according to the order of the requestor's reference within each slot.
Claim 16
Independent Claim 191 words
A system for scheduling access to a resource, comprising: a plurality of service queues each respective service queue being operative to accept a requestor requesting a predetermined percentage of a resource; a plurality of time slots, the slots being operative to maintain a reference to the requestor of the resource, and a predetermined number of slots being assigned to each respective service queue wherein each slot is serviced based upon a predetermined slot interval; the requestor being operative to issue a request for the resource, the request including the predetermined percentage of the resource; the system being operative to appoint the requestor to one service queue based on the predetermined percentage of the resource needed and the slots assigned to the service queue; and the system being operative to allocate the reference to the requestor in a number of slots equal to the number of slots assigned to the service queue to which the requestor was appointed, access is given to the requestor of the resource by sequentially traversing the slots from a first slot to a last slot and according to the order of the requestor's reference within each slot.
Claim 17
Dependent Claim 58 words
The system according to claim 13 , wherein the system is further operative to determine which of the plurality of slots contains the least amount of additional references to additional requestors, and wherein at least one optimal reference to the requestor is allocated in the slot containing the least amount of the additional references to the additional requestors.
Claim 18
Dependent Claim 32 words
The system according to claim 13 , wherein the resource is a communications channel, and the requestor is a source of a stream of data to be carried over the communications channel.

References Cited (Backward Citations)

US5936958A Cited
US5390184A Cited
US5533020A Cited
US5917822A Cited
US5870629A Cited
US6134217A Cited
US6091708A Cited
US6101193A Cited
US6137787A Cited
US6072800A Cited
US6104700A Cited
US6072772A Cited
US6067301A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-03-18 2005-09-17 2006-03-19 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-03-18 2009-09-17 2010-03-19 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-03-18 2013-09-17 2014-03-19 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag