← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag