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

Method and apparatus for concurrency with critical regions

Assignee: Individual
•
Filing: 1996-02-27
•
Granted: 1998-01-13
•
Expires: 2016-02-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Allows concurrency for user program and device operations for user program's device request (10), by returning immediately to user program (16) when device becomes busy (12), switching back to device driver (12) when the device becomes idle (19), and after device driver postprocessing, continue user program where interrupted (19). This disclosure discusses various problems including synchronization associated to above method.

Inventors

  • 👤 Horio Shoichi

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 04:55
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/10; G06F13/105

Claims Analysis

Total Claims: 4
Claim 1
Independent Claim 350 words
A method for concurrency on a digital computer having a memory, devices, driver softwares, and user softwares, wherein each of said devices having busy period and idle period in turn, each of said user softwares having a user context and means for issuing a request to a driver software selected from said driver softwares, said request having a user context save area, a driver context save area, and a driver context area in said memory, and a request identifier that identifies said request, said driver software having critical regions, and each of said critical regions having a request identifier storage area for storing predetermined number of said request identifier in memory, comprising steps of (a) receiving said request, saving said user context into said user context save area, making a driver context from said driver context area, driving said devices, and restoring said user context from said user context save area, (b) detecting said start of busy period of said devices, saving said driver context into said driver context save area, and restoring said user context from said user context save area, (c) detecting said start of idle period of said devices, saving said user context into said user context save area, and restoring said driver context from said driver context save area, (d) detecting said start of each of critical regions, adding said request identifier to said request identifier storage area, and detecting said area having more than one member, saving said driver context into said driver context save area, and restoring said user context from said user context save area, and (e) detecting said end of each of critical regions, removing said request identifier from said request identifier storage area, and detecting said area having at least one member, selecting a stored request identifier from said request identifier storage area, saving said user context into the user context save area of the request identified by said stored request identifier, and restoring said driver context from the driver context save area of the request identified by said stored request identifier, whereby said user softwares operating concurrently with said devices.
Claim 2
Independent Claim 350 words
A method for concurrency on a digital computer having a memory, devices, driver softwares, and user softwares, wherein each of said devices having busy period and idle period in turn, each of said user softwares having a user context and means for issuing a request to a driver software selected from said driver softwares, said request having a user context save area, a driver context save area, and a driver context area in said memory, and a request identifier that identifies said request, said driver software having critical regions, and each of said critical regions having a request identifier storage area for storing predetermined number of said request identifier in memory, comprising steps of (a) receiving said request, saving said user context into said user context save area, making a driver context from said driver context area, driving said devices, and restoring said user context from said user context save area, (b) detecting said start of busy period of said devices, saving said driver context into said driver context save area, and restoring said user context from said user context save area, (c) detecting said start of idle period of said devices, saving said user context into said user context save area, and restoring said driver context from said driver context save area, (d) detecting said start of each of critical regions, adding said request identifier to said request identifier storage area, and detecting said area having more than one member, saving said driver context into said driver context save area, and restoring said user context from said user context save area, and (e) detecting said end of each of critical regions, removing said request identifier from said request identifier storage area, and detecting said area having at least one member, selecting a stored request identifier from said request identifier storage area, saving said user context into the user context save area of the request identified by said stored request identifier, and restoring said driver context from the driver context save area of the request identified by said stored request identifier, whereby said user softwares operating concurrently with said devices.
Claim 3
Dependent Claim 347 words
Apparatus on a digital computer having a memory, devices, driver softwares, and user softwares, wherein each of said devices having busy period and idle period in turn, each of said user softwares having a user context and means for issuing a request to a driver software selected from said driver softwares, said request having a user context save area, a driver context save area, and a driver context area in said memory, and a request identifier that identifies said request, said driver software having critical regions, and each of said critical regions having a request identifier storage area for storing predetermined number of said request identifier in memory, comprising means for (a) receiving said request, saving said user context into said user context save area, making a driver context from said driver context area, driving said devices, and restoring said user context from said user context save area, (b) detecting said start of busy period of said devices, saving said driver context into said driver context save area, and restoring said user context from said user context save area, (c) detecting said start of idle period of said devices, saving said user context into said user context save area, and restoring said driver context from said driver context save area, (d) detecting said start of each of critical regions, adding said request identifier to said request identifier storage area, and detecting said area having more than one member, saving said driver context into said driver context save area, and restoring said user context from said user context save area, and (e) detecting said end of each of critical regions, removing said request identifier from said request identifier storage area, and detecting said area having at least one member, selecting a stored request identifier from said request identifier storage area, saving said user context into the user context save area of the request identified by said stored request identifier, and restoring said driver context from the driver context save area of the request identified by said stored request identifier, whereby said user softwares operating concurrently with said devices.
Claim 4
Dependent Claim 347 words
Apparatus on a digital computer having a memory, devices, driver softwares, and user softwares, wherein each of said devices having busy period and idle period in turn, each of said user softwares having a user context and means for issuing a request to a driver software selected from said driver softwares, said request having a user context save area, a driver context save area, and a driver context area in said memory, and a request identifier that identifies said request, said driver software having critical regions, and each of said critical regions having a request identifier storage area for storing predetermined number of said request identifier in memory, comprising means for (a) receiving said request, saving said user context into said user context save area, making a driver context from said driver context area, driving said devices, and restoring said user context from said user context save area, (b) detecting said start of busy period of said devices, saving said driver context into said driver context save area, and restoring said user context from said user context save area, (c) detecting said start of idle period of said devices, saving said user context into said user context save area, and restoring said driver context from said driver context save area, (d) detecting said start of each of critical regions, adding said request identifier to said request identifier storage area, and detecting said area having more than one member, saving said driver context into said driver context save area, and restoring said user context from said user context save area, and (e) detecting said end of each of critical regions, removing said request identifier from said request identifier storage area, and detecting said area having at least one member, selecting a stored request identifier from said request identifier storage area, saving said user context into the user context save area of the request identified by said stored request identifier, and restoring said driver context from the driver context save area of the request identified by said stored request identifier, whereby said user softwares operating concurrently with said devices.

References Cited (Backward Citations)

US4972312A Cited
US5057997A Cited
US5127098A Cited
US5428779A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-01-12 2001-07-14 2002-01-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-01-12 2005-07-14 2006-01-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-01-12 2009-07-14 2010-01-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag