US4928222A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Enhanced semaphore architecture
Assignee: International Business Machines Corp
•
Filing: 1988-10-31
•
Granted: 1990-05-22
•
Expires: 2008-10-31
Abstract
Abstract An enhanced semaphore architecture, referred to herein as a "fullphore", combines the "P" and "V" operations of a semaphore into a single "S" operation capable of handling both consumer processes and producer processes. A fullphore has a count, a limit, a queue for waiting processes, a wait permitted flag, and a operation flag. The operation flag determines whether the count is incremented or decremented by one. The architecture of the fullphore "S" operation is s(F,OP, WAIT -- PERMITTED), where F is the fullphore to be operated on, OP is +1 for a producer process and -1 for a consumer process, and WAIT -- PERMITTED is YES if the process will wait if necessary and NO if it will not.
Inventors
- 👤 John J. Vriezen
- 👤 Robin N. Niemeyer
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-29 13:00
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52; G06F9/526
Claims Analysis
Total Claims: 6
Claim 1
Independent Claim
45 words
A fullphore for efficiently enforcing mutual exclusion between consumer tasks and producer tasks in a computer system, comprising: a count for incrementing and decrementing responsive to an operation flag; a limit imposed on said count; and a queue for waiting consumer tasks and producer tasks.
Claim 2
Dependent Claim
45 words
A fullphore for efficiently enforcing mutual exclusion between consumer tasks and producer tasks in a computer system, comprising: a count for incrementing and decrementing responsive to an operation flag; a limit imposed on said count; and a queue for waiting consumer tasks and producer tasks.
Claim 3
Dependent Claim
35 words
The fullphore of claim 1, wherein: a consumer task is placed on said queue if a wait permitted flag indicates a consumer task can wait and said count is less than or equal to zero.
Claim 4
Dependent Claim
36 words
The fullphore of claim 1, wherein a producer task is placed on said queue if a wait permitted flag indicates a producer task can wait and said count is greater than or equal to said limit.
Claim 5
Independent Claim
302 words
A method of efficiently enforcing mutual exclusion between producer tasks and consumer tasks in a computer system having a fullphore comprising a count, a limit, and a wait queue, said system also having a fullphore operation comprising a wait permitted flag and an operation flag, said method comprising the steps performed by a computer of: for a producer task: setting said operation flag to an incrementing state; forcing said producer task to fail if said count is greater than equal to said limit and said wait permitted flag is off; incrementing said count and allowing said producer task to wait on said wait queue if said count is greater than or equal to said limit and said wait permitted flag is on, wherein said producer task waits until dispatched by a dispatching step for a consumer task; incrementing said count and completing said producer task if said count is less than or equal to said limit; dispatching a waiting consumer task if said count is greater than said limit, then incrementing said count and completing said producer task; for said consumer task: setting said operation flag to a decrementing state; forcing said consumer task to fail if said count is less than or equal to zero and said wait permitted flag is off; decrementing said count and allowing said consumer task to wait on said wait queue if said count is less than or equal to zero and said wait permitted flag is on, wherein said consumer task waits until dispatched by said dispatching step for said producer task; decrementing said count and completing said consumer task if said consumer task if said count is greater than or equal to zero; dispatching a waiting producer task if said count is less than zero, then decrementing said count and completing said consumer task.
Claim 6
Independent Claim
302 words
A method of efficiently enforcing mutual exclusion between producer tasks and consumer tasks in a computer system having a fullphore comprising a count, a limit, and a wait queue, said system also having a fullphore operation comprising a wait permitted flag and an operation flag, said method comprising the steps performed by a computer of: for a producer task: setting said operation flag to an incrementing state; forcing said producer task to fail if said count is greater than equal to said limit and said wait permitted flag is off; incrementing said count and allowing said producer task to wait on said wait queue if said count is greater than or equal to said limit and said wait permitted flag is on, wherein said producer task waits until dispatched by a dispatching step for a consumer task; incrementing said count and completing said producer task if said count is less than or equal to said limit; dispatching a waiting consumer task if said count is greater than said limit, then incrementing said count and completing said producer task; for said consumer task: setting said operation flag to a decrementing state; forcing said consumer task to fail if said count is less than or equal to zero and said wait permitted flag is off; decrementing said count and allowing said consumer task to wait on said wait queue if said count is less than or equal to zero and said wait permitted flag is on, wherein said consumer task waits until dispatched by said dispatching step for said producer task; decrementing said count and completing said consumer task if said consumer task if said count is greater than or equal to zero; dispatching a waiting producer task if said count is less than zero, then decrementing said count and completing said consumer task.
References Cited (Backward Citations)
US4395757A
Cited
US4316245A
Cited
US4297743A
Cited
US4374409A
Cited
US4320451A
Cited
US4369494A
Cited
US4380798A
Cited
US4412285A
Cited
US4594657A
Cited
US4805106A
Cited
US4722048A
Cited
US4725946A
Cited
US4754398A
Cited
US4780822A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1993-05-21 | 1993-11-20 | 1994-05-22 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1997-05-21 | 1997-11-20 | 1998-05-22 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2001-05-21 | 2001-11-20 | 2002-05-22 | $7700.00 | Window Closed / Lapsed |