Computing system arbitrating and selectively providing resource-seeking tasks with takeaway of non-shareable resources
AssigneeInternational Business Machines Corporation
InventorsCuong Minh Le, Jerry Wayne Pence, James Mitchell Ratliff
Life of this patent
Estimating the term…
Abstract
In a computing system with non-shareable resources, use-arbitrating processes are executed on behalf of each task seeking or having access to non-shareable resource. The processes compete according to prescribed rules and priority guidelines, the resolution of which determines access to the non-shareable resource. If application of the priority guidelines permits, a use-requesting task can institute takeaway of a resource from a task that is already using the resource.
Claims30
A method of operating a computing system to arbitrate access among multiple tasks to shared computing resource items, comprising operations of:
- providing a priority matrix identifying different types of tasks, and prescribing different conflict resolution solutions for potential conflicts of various combinations of the different types of tasks for use of the resource items;
- providing an in-use registry identifying the resource items being used and the tasks using such resources;
- responsive to receiving each use-request from a task for access to a targeted resource item, performing use-initiation operations on behalf of the use-requesting task, comprising:
- determining whether the targeted resource item is already in-use by another one of the tasks;
- if the targeted resource item is already in-use, performing preexisting use operations comprising:
- consulting the priority matrix to identify an appropriate conflict resolution solution applicable to the use-requesting task and the task presently using the targeted resource item;
- only if the identified conflict resolution solution allows the use-requesting task to obtain use of the targeted resource item to the exclusion of the task presently using the targeted resource item, submitting a takeaway request and after the task presently using the targeted resource item relinquishes use then entering the use-requesting task into the in-use registry in association with the targeted resource item;
- and
- during use of each resource item by an owning task, performing giveaway operations on behalf of the owning task, comprising:
- detecting arrival of prescribed recovery events;
- responsive to arrival of each recovery event, determining whether any takeaway request is pending for the resource item;
- if any takeaway request is pending, consulting the priority matrix to identify an appropriate conflict resolution solution applicable to the owning task and the task that submitted the takeaway request;
- if the identified conflict resolution solution requires the owning task to surrender the resource item, advising the owning task to relinquish use of the resource item and removing the owning task from the in-use registry.
A signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform operations to arbitrate access among multiple tasks to shared computing resource items, the operations comprising:
- providing a priority matrix identifying different types of tasks, and prescribing different conflict resolution solutions for potential conflicts of various combinations of the different types of tasks for use of the resource items;
- providing an in-use registry identifying the resource items being used and the tasks using such resources;
- responsive to receiving each use-request from a task for access to a targeted resource item, performing use-initiation operations on behalf of the use-requesting task, comprising:
- determining whether the targeted resource item is already in-use by another one of the tasks;
- if the targeted resource item is already in-use, performing preexisting use operations comprising:
- consulting the priority matrix to identify an appropriate conflict resolution solution applicable to the use-requesting task and the task presently using the targeted resource item;
- only if the identified conflict resolution solution allows the use-requesting task to obtain use of the targeted resource item to the exclusion of the task presently using the targeted resource item, submitting a takeaway request and after the task presently using the targeted resource item relinquishes use then entering the use-requesting task into the in-use registry in association with the targeted resource item;
- and
- during use of each resource item by an owning task, performing giveaway operations on behalf of the owning task, comprising:
- detecting arrival of prescribed recovery events;
- responsive to arrival of each recovery event, determining whether any takeaway request is pending for the resource item;
- if any takeaway request is pending, consulting the priority matrix to identify an appropriate conflict resolution solution applicable to the owning task and the task that submitted the takeaway request;
- if the identified conflict resolution solution requires the owning task to surrender the resource item, advising the owning task to relinquish use of the resource item and removing the owning task from the in-use registry.
A logic circuit of multiple interconnected electrically conductive elements configured to perform operations to arbitrate access among multiple tasks to shared computing resource items, the operations comprising:
- providing a priority matrix identifying different types of tasks, and prescribing different conflict resolution solutions for potential conflicts of various combinations of the different types of tasks for use of the resource items;
- providing an in-use registry identifying the resource items being used and the tasks using such resources;
- responsive to receiving each use-request from a task for access to a targeted resource item, performing use-initiation operations on behalf of the use-requesting task, comprising:
- determining whether the targeted resource item is already in-use by another one of the tasks;
- if the targeted resource item is already in-use, performing preexisting use operations comprising:
- consulting the priority matrix to identify an appropriate conflict resolution solution applicable to the use-requesting task and the task presently using the targeted resource item;
- only if the identified conflict resolution solution allows the use-requesting task to obtain use of the targeted resource item to the exclusion of the task presently using the targeted resource item, submitting a takeaway request and after the task presently using the targeted resource item relinquishes use then entering the use-requesting task into the in-use registry in association with the targeted resource item;
- and
- during use of each resource item by an owning task, performing giveaway operations on behalf of the owning task, comprising:
- detecting arrival of prescribed recovery events;
- responsive to arrival of each recovery event, determining whether any takeaway request is pending for the resource item;
- if any takeaway request is pending, consulting the priority matrix to identify an appropriate conflict resolution solution applicable to the owning task and the task that submitted the takeaway request;
- if the identified conflict resolution solution requires the owning task to surrender the resource item, advising the owning task to relinquish use of the resource item and removing the owning task from the in-use registry.
A computing system, comprising:
- multiple computing resource items;
- a priority matrix identifying different types of tasks and prescribing different conflict resolution solutions for potential conflicts of various combinations of the different types of tasks for use of the resource items;
- in-use registry identifying the resource items being used and the tasks using such resources;
- a resource arbitrator configured to perform operations to arbitrate access among multiple tasks to the computing resource items, the operations comprising:
- responsive to receiving each use-request from a task for access to a targeted resource item, performing use-initiation operations on behalf of the use-requesting task, comprising:
- determining whether the targeted resource item is already in-use by another one of the tasks;
- if the targeted resource item is already in-use, performing preexisting use operations comprising:
- consulting the priority matrix to identify an appropriate conflict resolution solution applicable to the use-requesting task and the task presently using the targeted resource item;
- only if the identified conflict resolution solution allows the use-requesting task to obtain use of the targeted resource item to the exclusion of the task presently using the targeted resource item, submitting a takeaway request and after the task presently using the targeted resource item relinquishes use then entering the use-requesting task into the in-use registry in association with the targeted resource item;
- and
- during use of each resource item by an owning task, performing giveaway operations on behalf of the owning task, comprising:
- detecting arrival of prescribed recovery events;
- responsive to arrival of each recovery event, determining whether any takeaway request is pending for the resource item;
- if any takeaway request is pending, consulting the priority matrix to identify an appropriate conflict resolution solution applicable to the owning task and the task that submitted the takeaway request;
- if the identified conflict resolution solution requires the owning task to surrender the resource item, advising the owning task to relinquish use of the resource item and removing the owning task from the in-use registry.
A data storage system, comprising:
- one or more data storage read/write drives;
- multiple removable data storage media removably mountable to the read/write drives;
- a priority matrix identifying different types of tasks and prescribing different conflict resolution solutions for potential conflicts of various combinations of the different types of tasks for use of the storage media;
- an in-use registry identifying the storage media being used and the tasks using such resources;
- a resource arbitrator configured to perform operations to arbitrate access among multiple tasks to the computing storage media, the operations comprising:
- responsive to receiving each use-request from a task for access to a targeted storage medium, performing use-initiation operations on behalf of the use-requesting task, comprising:
- determining whether the targeted storage medium is already in-use by another one of the tasks;
- if the targeted storage medium is already in-use, performing preexisting use operations comprising:
- consulting the priority matrix to identify an appropriate conflict resolution solution applicable to the use-requesting task and the task presently using the targeted storage medium;
- only if the identified conflict resolution solution allows the use-requesting task to obtain use of the targeted storage medium to the exclusion of the task presently using the targeted storage medium, submitting a takeaway request and after the task presently using the targeted resource item relinquishes use and then entering the use-requesting task into the in-use registry in association with the targeted storage medium;
- during use of each storage medium by an owning task, performing giveaway operations on behalf of the owning task, comprising:
- detecting arrival of prescribed recovery events;
- responsive to arrival of each recovery event, determining whether any takeaway request is pending for the resource item;
- if any takeaway request is pending, consulting the priority matrix to identify an appropriate conflict resolution solution applicable to the owning task and the task that submitted the takeaway request;
- if the identified conflict resolution solution requires the owning task to surrender the storage medium, advising the owning task to relinquish use of the storage medium and removing the owning task from the in-use registry.
A computing system, comprising:
- multiple computing resource items;
- priority matrix means for identifying different types of tasks and prescribing different conflict resolution solutions for potential conflicts of various combinations of the different types of tasks for use of the resource items;
- in-use registry means for identifying the resource items being used and the tasks using such resources;
- resource arbitrating means for arbitrating access among multiple tasks to the computing resource items by:
- responsive to receiving each use-request from a task for access to a targeted resource item, performing use-initiation operations on behalf of the use-requesting task, comprising:
- determining whether the targeted resource item is already in-use by another one of the tasks;
- if the targeted resource item is already in-use, performing preexisting use operations comprising:
- consulting the priority matrix means to identify an appropriate conflict resolution solution applicable to the use-requesting task and the task presently using the targeted resource item;
- only if the identified conflict resolution solution allows the use-requesting task to obtain use of the targeted resource item to the exclusion of the task presently using the targeted resource item, submitting a takeaway request and after the task presently using the targeted resource item relinquishes use then entering the use-requesting task into the in-use registry in association with the targeted resource item;
- and
- during use of each resource item by an owning task, performing giveaway operations on behalf of the owning task, comprising:
- detecting arrival of prescribed recovery events;
- responsive to arrival of each recovery event, determining whether any takeaway request is pending for the resource item;
- if any takeaway request is pending, consulting the priority matrix to identify an appropriate conflict resolution solution applicable to the owning task and the task that submitted the takeaway request;
- if the identified conflict resolution solution requires the owning task to surrender the resource item, advising the owning task to relinquish use of the resource item and removing the owning task from the in-use registry.
Dependencies are inferred from the claim text.