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

Method and apparatus for resource arbitration

Assignee: Hewlett Packard Development Co LP
•
Filing: 1992-05-21
•
Granted: 1993-11-30
•
Expires: 2012-05-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides a rapid one-to-one match between requesters that must arbitrate for service from one of a number of servers. Each requester presents a set of requests, and the requesters are indifferent to which server is chosen, no priority existing among the requests seen by a particular server. Requests are presented synchronously to all servers to which access is desired. Each server selects precisely one such request, preferably randomly, and asserts a response signal so stating to all requesters. Each requester then selects precisely one incoming grant responses (if any there are), and de-asserts requests to all other servers. This iteration is repeated for a predetermined number of cycles, at which time substantially most of the requested matches will have been made. The iteration algorithm is preferably implemented with choice units, multiplexers, registers and logic units, all of which may be obtained commercially.

Inventors

  • 👤 Charles P. Thacker

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 04:21
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/54; H04L12/56; H04L12/5601; H04L49/00; H04L49/10; H04L49/104; H04L49/105; H04L49/106; H04L49/15; H04L49/1553; H04L49/1576; H04Q; H04Q11/00; H04Q11/04; H04Q11/0428; H04Q11/0478; H04L2012/5678; H04L2012/5679; H04L2012/5681

Claims Analysis

Total Claims: 31
Claim 1
Independent Claim 227 words
A method of arbitrating requests by a plurality of requesters to a plurality of servers, the method comprising: (a) receiving requests from each of said plurality of requesters, said requests received from each requester comprising a set of requests for access to specified ones of said servers, wherein the set of requests received from at least one of said requesters includes a plurality of simultaneous requests for access to a corresponding plurality of servers; (b) simultaneously communicating each received request to each server to which access is requested; (c) simultaneously, for each requested server, issuing a grant to a selected one of said requests for access to said server; (d) simultaneously communicating to respective ones of said plurality of requesters each said issued grant of a request in said respective requester's set of requests; (e) simultaneously accepting, by each requester whose set of requests includes at least one request for access that has been issued a grant, one said grant; (f) repeating steps (b) through (e) for a predetermined number of iterations, excluding each requester which has already accepted one said grant and excluding each server whose grant was accepted by a requester; wherein said predetermined number of iterations is at least two iterations; and (g) simultaneously granting, to each request for which a grant was issued and accepted, access to the server whose grant was accepted.
Claim 2
Independent Claim 227 words
A method of arbitrating requests by a plurality of requesters to a plurality of servers, the method comprising: (a) receiving requests from each of said plurality of requesters, said requests received from each requester comprising a set of requests for access to specified ones of said servers, wherein the set of requests received from at least one of said requesters includes a plurality of simultaneous requests for access to a corresponding plurality of servers; (b) simultaneously communicating each received request to each server to which access is requested; (c) simultaneously, for each requested server, issuing a grant to a selected one of said requests for access to said server; (d) simultaneously communicating to respective ones of said plurality of requesters each said issued grant of a request in said respective requester's set of requests; (e) simultaneously accepting, by each requester whose set of requests includes at least one request for access that has been issued a grant, one said grant; (f) repeating steps (b) through (e) for a predetermined number of iterations, excluding each requester which has already accepted one said grant and excluding each server whose grant was accepted by a requester; wherein said predetermined number of iterations is at least two iterations; and (g) simultaneously granting, to each request for which a grant was issued and accepted, access to the server whose grant was accepted.
Claim 3
Dependent Claim 39 words
The method of claim 1, wherein no access priority exists among said requests for access to each server and in said step (c) each server randomly selects for grant from among said requests for access to said each server.
Claim 4
Dependent Claim 39 words
The method of claim 1, wherein no access priority exists among said requests for access to each server and in said step (c) each server pseudo-randomly selects for grant from among said requests for access to said each server.
Claim 5
Dependent Claim 16 words
The method of claim 1, wherein each server is indifferent as to which requester it satisfies.
Claim 6
Dependent Claim 32 words
The method of claim 1, wherein each said set of requests includes a plurality of cells, each cell bearing an identification number that designates a server to which said cell requests access.
Claim 7
Dependent Claim 15 words
The method of claim 1, wherein said predetermined number of iterations is five or less.
Claim 8
Dependent Claim 203 words
An arbitration apparatus for requests by a plurality of requesters to a plurality of servers, the arbitration apparatus comprising: request receiving means for receiving requests from each of said plurality of requesters, said requests received from each requester comprising a set of requests for access to specified ones of said plurality of servers, wherein the set of requests received from at least one of said requesters includes a plurality of simultaneous requests for access to a corresponding plurality of servers; requested communication means for simultaneously communicating all received requests for access to each server to which access is requested; a plurality of server means, corresponding to said plurality of servers, for simultaneously issuing a respective grant to a selected one of said requests for access to each respective one of said plurality of servers; grant communication means for simultaneously communicating to respective ones of said plurality of requesters each said issued grant of a request in said respective requester's set of requests; and a plurality of requester means, corresponding to said plurality of requesters, for simultaneously accepting, on behalf of each respective requester whose set of requests includes at least one request for access that has been issued a grant, one said grant.
Claim 9
Dependent Claim 203 words
An arbitration apparatus for requests by a plurality of requesters to a plurality of servers, the arbitration apparatus comprising: request receiving means for receiving requests from each of said plurality of requesters, said requests received from each requester comprising a set of requests for access to specified ones of said plurality of servers, wherein the set of requests received from at least one of said requesters includes a plurality of simultaneous requests for access to a corresponding plurality of servers; requested communication means for simultaneously communicating all received requests for access to each server to which access is requested; a plurality of server means, corresponding to said plurality of servers, for simultaneously issuing a respective grant to a selected one of said requests for access to each respective one of said plurality of servers; grant communication means for simultaneously communicating to respective ones of said plurality of requesters each said issued grant of a request in said respective requester's set of requests; and a plurality of requester means, corresponding to said plurality of requesters, for simultaneously accepting, on behalf of each respective requester whose set of requests includes at least one request for access that has been issued a grant, one said grant.
Claim 10
Dependent Claim 99 words
The arbitration apparatus of claim 7, further including iteration control means for repeating enabling operation of said plurality of server means and said plurality of requester means a predetermined number of iterative cycles wherein said predetermined number of iterative cycles is at least two iterative cycles; each server means including means for continuing to issue a previously issued grant if said previously issued grant was accepted by one of said plurality of requester means, and each requester means including means for continuing to accept a previously accepted grant if said requester means previously received at least one issued grant.
Claim 11
Dependent Claim 17 words
The arbitration apparatus of claim 8, wherein said predetermined number of iterative cycles is five or less.
Claim 12
Dependent Claim 24 words
The arbitration apparatus of claim 7, wherein each server means randomly selects for grant from among said requests for access to said each server.
Claim 13
Dependent Claim 24 words
The arbitration apparatus of claim 7, wherein each server means pseudo-randomly selects for grant from among said requests for access to said each server.
Claim 14
Dependent Claim 18 words
The arbitration apparatus of claim 7, wherein each server means is indifferent as to which requests it satisfies.
Claim 15
Dependent Claim 33 words
The arbitration apparatus of claim 7, wherein each said set of requests includes a plurality of cells, each cell bearing an identification number that designates a server to which said cell requests access.
Claim 16
Independent Claim 223 words
A method of arbitrating requests by a plurality of requesters to a plurality of servers, the method comprising: (a) receiving requests from each of said plurality of requesters, said requests received from each requester comprising a set of requests for access to specified ones of said plurality of servers, wherein the set of requests received from at least one of said requesters includes a plurality of requests for access to a corresponding plurality of servers; (b) communicating each received request to each server to which access is requested; (c) for each requested server, issuing a grant to a selected one of said requests for access to said server; (d) communicating to respective ones of said plurality of requesters each said issued grant of a request in said respective requester's set of requests; (e) accepting, by each requester whose set of requests includes at least one request for access that has been issued a grant, one said grant; (f) repeating steps (b) through (e) for a predetermined number of iterations, excluding each requester which has already accepted one said grant and excluding each server whose grant was accepted by a requester; wherein said predetermined number of iterations is at least two iterations; and (g) granting, to each request for which a grant was issued and accepted, access to the server whose grant was accepted.
Claim 17
Independent Claim 223 words
A method of arbitrating requests by a plurality of requesters to a plurality of servers, the method comprising: (a) receiving requests from each of said plurality of requesters, said requests received from each requester comprising a set of requests for access to specified ones of said plurality of servers, wherein the set of requests received from at least one of said requesters includes a plurality of requests for access to a corresponding plurality of servers; (b) communicating each received request to each server to which access is requested; (c) for each requested server, issuing a grant to a selected one of said requests for access to said server; (d) communicating to respective ones of said plurality of requesters each said issued grant of a request in said respective requester's set of requests; (e) accepting, by each requester whose set of requests includes at least one request for access that has been issued a grant, one said grant; (f) repeating steps (b) through (e) for a predetermined number of iterations, excluding each requester which has already accepted one said grant and excluding each server whose grant was accepted by a requester; wherein said predetermined number of iterations is at least two iterations; and (g) granting, to each request for which a grant was issued and accepted, access to the server whose grant was accepted.
Claim 18
Dependent Claim 39 words
The method of claim 14, wherein no access priority exists among said requests for access to each server and in said step (c) each server randomly selects for grant from among said requests for access to said each server.
Claim 19
Dependent Claim 39 words
The method of claim 14, wherein no access priority exists among said requests for access to each server and in said step (c) each server pseudo-randomly selects for grant from among said requests for access to said each server.
Claim 20
Dependent Claim 198 words
An arbitration apparatus for requests by a plurality of requesters to a plurality of servers, the arbitration apparatus comprising: request receiving means for receiving requests from each of said plurality of requesters, said requests received from each requester comprising a set of requests for access to specified ones of said plurality of servers, wherein the set of requests received from at least one of said requesters includes a plurality of requests for access to a corresponding plurality of servers; request communication means for communicating all received requests for access to each server to which access is requested; a plurality of server means, corresponding to said plurality of servers, for issuing a respective grant to a selected one of said requests for access to each respective one of said plurality of servers; grant communication means for communicating to respective ones of said plurality of requesters each said issued grant of a request in said respective requester's set of requests; and a plurality of requester means, corresponding to said plurality of requesters, for accepting, on behalf of each respective requester whose set of requests includes at least one request for access that has been issued a grant, one said grant.
Claim 21
Dependent Claim 198 words
An arbitration apparatus for requests by a plurality of requesters to a plurality of servers, the arbitration apparatus comprising: request receiving means for receiving requests from each of said plurality of requesters, said requests received from each requester comprising a set of requests for access to specified ones of said plurality of servers, wherein the set of requests received from at least one of said requesters includes a plurality of requests for access to a corresponding plurality of servers; request communication means for communicating all received requests for access to each server to which access is requested; a plurality of server means, corresponding to said plurality of servers, for issuing a respective grant to a selected one of said requests for access to each respective one of said plurality of servers; grant communication means for communicating to respective ones of said plurality of requesters each said issued grant of a request in said respective requester's set of requests; and a plurality of requester means, corresponding to said plurality of requesters, for accepting, on behalf of each respective requester whose set of requests includes at least one request for access that has been issued a grant, one said grant.
Claim 22
Dependent Claim 99 words
The arbitration apparatus of claim 17, further including iteration control means for repeating enabling operation of said plurality of server means and said plurality of requester means a predetermined number of iterative cycles wherein said predetermined number of iterative cycles is at least two iterative cycles; each server means including means for continuing to issue a previously issued grant if said previously issued grant was accepted by one of said plurality of requester means, and each requester means including means for continuing to accept a previously accepted grant if said requester means previously received at least one issued grant.
Claim 23
Dependent Claim 24 words
The arbitration apparatus of claim 17, wherein each server means randomly selects for grant from among said requests for access to said each server.
Claim 24
Dependent Claim 24 words
The arbitration apparatus of claim 17, wherein each server means pseudo-randomly selects for grant from among said requests for access to said each server.
Claim 25
Dependent Claim 267 words
An arbitration apparatus, comprising: N output ports, where N is an integer greater than two; a plurality of input ports for receiving requests, said requests received by each input port comprising a set of requests for access to specified ones of said N output ports, wherein the set of requests received by at least one of said input ports includes a plurality of requests for access to a corresponding plurality of said N output ports; request communication circuitry, coupled to said plurality of input ports, for communication all received requests for access to each server to which access is requested; N request arbiters, each corresponding to one of said N output ports, for issuing a respective grant to a selected one of said requests for access to each respective one of said N output ports; grant communication circuitry, coupled between said N request arbiters and said plurality of input ports, for communicating to respective ones of said plurality of input ports each said issued grant of a request in said respective input port's set of requests; a plurality of grant acceptance circuits, coupled to corresponding ones of said plurality of input ports and to said grant communication circuitry, for accepting, on behalf of each respective input port whose set of requests includes at least one request for access that has been issued a grant, one said grant; and iteration control means for repeatedly enabling operation of said N request arbiters and said plurality of grant acceptance circuits for a predetermined number of iterative cycles wherein said predetermined number of iterative cycles is at least two iterative cycles.
Claim 26
Dependent Claim 267 words
An arbitration apparatus, comprising: N output ports, where N is an integer greater than two; a plurality of input ports for receiving requests, said requests received by each input port comprising a set of requests for access to specified ones of said N output ports, wherein the set of requests received by at least one of said input ports includes a plurality of requests for access to a corresponding plurality of said N output ports; request communication circuitry, coupled to said plurality of input ports, for communication all received requests for access to each server to which access is requested; N request arbiters, each corresponding to one of said N output ports, for issuing a respective grant to a selected one of said requests for access to each respective one of said N output ports; grant communication circuitry, coupled between said N request arbiters and said plurality of input ports, for communicating to respective ones of said plurality of input ports each said issued grant of a request in said respective input port's set of requests; a plurality of grant acceptance circuits, coupled to corresponding ones of said plurality of input ports and to said grant communication circuitry, for accepting, on behalf of each respective input port whose set of requests includes at least one request for access that has been issued a grant, one said grant; and iteration control means for repeatedly enabling operation of said N request arbiters and said plurality of grant acceptance circuits for a predetermined number of iterative cycles wherein said predetermined number of iterative cycles is at least two iterative cycles.
Claim 27
Dependent Claim 81 words
The arbitration apparatus of claim 21, wherein each grant acceptance circuit includes means for retaining a grant accepted during one said iterative cycle through later ones of said iterative cycles, and each request arbiter includes means for preventing issuance of grant to an additional selected one of said requests for access to said respective one of said N output ports after a grant issued by said each request arbiter has been accepted by one of said plurality of grant acceptance circuits.
Claim 28
Dependent Claim 17 words
The arbitration apparatus of claim 22, wherein said predetermined number of iterative cycles is five or less.
Claim 29
Dependent Claim 25 words
The arbitration apparatus of claim 22, wherein each request arbiter randomly selects for grant from among said requests for access to said each output port.
Claim 30
Dependent Claim 25 words
The arbitration apparatus of claim 22, wherein each request arbiter pseudo-randomly selects for grant from among said requests for access to said each output port.
Claim 31
Dependent Claim 37 words
The arbitration apparatus of claim 22, wherein each said set of requests includes a plurality of cells, each cell bearing an identification number that designates one of said N output ports to which said cell requests access.

References Cited (Backward Citations)

US3916380A Cited
US4439826A Cited
US4603416A Cited
US4656622A Cited
US4630260A Cited
US4866702A Cited
US5091905A Cited
US4937817A Cited
US4947390A Cited
US5126999A Cited
US5130975A Cited
US5124978A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-11-29 1997-05-31 1997-11-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-11-29 2001-05-31 2001-11-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-11-29 2005-05-31 2005-11-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag