Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Multiuser/Multidevice-Oriented Queueing

IP.com Disclosure Number: IPCOM000047276D
Original Publication Date: 1983-Oct-01
Included in the Prior Art Database: 2005-Feb-07
Document File: 3 page(s) / 45K

Publishing Venue

IBM

Related People

Pence, JW: AUTHOR

Abstract

Peripheral data storage devices of the cyclical and tape type are shared among a large number of users. A queueing system meshes the user requirements along with tape and cyclical access parameters. The queue has two segments for user priority: a wait priority of the highest type and a non-wait of the lower type. A non-wait portion is FIFO (first-in, first-out with respect to each single user's requests; any user's first request will be handled before another user's second request. Device priorities override the user queueing priorities, such as for tape, based upon the current use of the device being accessed. For example, if a tape volume is mounted and currently being accessed, then all requests for access to such tape volume in the queue, regardless of user priorities, are handled before the tape volume is demounted.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 46% of the total text.

Page 1 of 3

Multiuser/Multidevice-Oriented Queueing

Peripheral data storage devices of the cyclical and tape type are shared among a large number of users. A queueing system meshes the user requirements along with tape and cyclical access parameters.

The queue has two segments for user priority: a wait priority of the highest type and a non-wait of the lower type. A non-wait portion is FIFO (first-in, first-out with respect to each single user's requests; any user's first request will be handled before another user's second request. Device priorities override the user queueing priorities, such as for tape, based upon the current use of the device being accessed. For example, if a tape volume is mounted and currently being accessed, then all requests for access to such tape volume in the queue, regardless of user priorities, are handled before the tape volume is demounted. A multiplicity of users, U1, U2, U3, etc., in a host (not shown) share access to a set of resources. These resources consist of programmed tasks as well as peripheral data storage devices, shown as tape units and disk or direct-access storage devices (DASDs). A single queue, shown as a logical queue, controls access of the peripheral devices by the plurality of users.

In practice, the logical queue can be either a singly or doubly linked list with the priorities of the queue being established by the linking. In the queue, the suffix "W" indicates it is a wait access request; that is, the user is waiting for the request to be honored before he can proceed further with his individual process. The remaining access requests having suffixes A, B, C... relate to non-wait access requests, i.e., the requester can proceed without immediate access to the peripheral device for either recording data or receiving data. Each access request is identified by the user with the status suffix. For wait request, each user is entitled to one and only one wait request. Accordingly, user 1's wait request is identified as U1W. The other users have similar wait requests. The non-wait requests are indicated in a FIFO manner, with A indicating the first received request, B the second, and so forth. Therefore, U1A indicates the oldest U1 non-wait request within the logical queue. All of the oldest non-wait requests from all of the users are logically contiguous in the logical queue, as are the second oldest ones (suffix B), and so forth. To select which request an idle task should process next, scan the queue in priority order and select the first entry that does not need a tape that is in use by a currently running task. For a task that has just concluded processing a request that used a tape, scan the entire queue and select the request that uses the currently mounted tape (final tape if multiple tapes were used). If multiple requests will use the tape then select the one having the lowest file sequence number. If there are no requests that will use the currently mounted tape, then let the task termi...