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

System for automatically releasing a dead lock state in a data processing system

Assignee: Fujitsu Ltd
•
Filing: 1980-12-08
•
Granted: 1983-09-06
•
Expires: 2000-12-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A dead lock releasing method automatically releases a dead lock state in a data processing system, wherein a plurality of kinds of tasks selectively use a plurality of common resources. When one task X occupies a resource A and, in this state, the task is to occupy a resource B, if the resource B is occupied by another task Y, the task X is placed in a waiting state. When the task X is placed in a waiting state based on the occupation of the resource B by the task Y and the task Y, which is to occupy the resource A, is placed in a waiting state based on the occupation of the resource A by the task X, the task X and the task Y are placed in a dead lock state. When the dead lock state is caused between the tasks X and Y, the occupation of the resource A by the task X is released and the processing of the task Y is carried out. Then the processing of the task X is carried out.

Inventors

  • 👤 Ryoichi Kikuchi

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 19:34
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52; G06F9/524

Claims Analysis

Total Claims: 15
Claim 1
Independent Claim 458 words
A method for automatically releasing a dead lock state in a data processing system having a CPU for performing tasks, and having a memory, including resources commonly used by the tasks, a before image data buffer having portions respectively corresponding to the tasks, and a waiting task control table including registration tables respectively corresponding to the tasks, each of the registration tables comprising a head pointer portion, a tail pointer portion, a next pointer portion and a parent pointer portion, said method comprising the steps of: (a) storing waiting state information in the waiting task control table to indicate which of the tasks are in a waiting state due to the occupation of one of the resources by the other tasks, said storing step (a) comprising the sub-steps of: (i) writing, in the head pointer portions of the respective registration tables, the entry address of the registration table corresponding to the first one of the tasks placed in a waiting state by the task corresponding to the respective registration table; (ii) writing, in the tail pointer portions of the respective registration tables, the entry address of the registration table corresponding to the task most recently placed in a waiting state by the task corresponding to the respective registration table; (iii) writing, in the next pointer portions of the respective registration table, the entry address of the registration table corresponding to the task placed in a waiting state by the same occupying task after the task corresponding to the respective registration table; (iv) writing, in the parent pointer portions of the respective registration tables, the entry address of the registration table corresponding to the occupying task which is keeping the task corresponding to the respective registration table in the waiting state; (b) storing before image data in the respective before image data buffer portion corresponding to a task which is modifying one of the resources; (c) examining, for a selected task most recently placed in a waiting state, the waiting state information for the other tasks, by reading the contents of the registration tables respectively corresponding to the other tasks; (d) determining whether the waiting state information for the other tasks indicates that the waiting state of at least one of the other tasks is due to the occupation of a resource by the selected task; (e) releasing the resource occupied by the selected task when said determining step (d) indicates that at least one of the other tasks is in a waiting state due to the occupation of a resource by the selected task; (f) processing the at least one of the other tasks in accordance with the contents of the respective before image data buffer portion corresponding to the selected task; and (g) processing the selected task.
Claim 2
Independent Claim 458 words
A method for automatically releasing a dead lock state in a data processing system having a CPU for performing tasks, and having a memory, including resources commonly used by the tasks, a before image data buffer having portions respectively corresponding to the tasks, and a waiting task control table including registration tables respectively corresponding to the tasks, each of the registration tables comprising a head pointer portion, a tail pointer portion, a next pointer portion and a parent pointer portion, said method comprising the steps of: (a) storing waiting state information in the waiting task control table to indicate which of the tasks are in a waiting state due to the occupation of one of the resources by the other tasks, said storing step (a) comprising the sub-steps of: (i) writing, in the head pointer portions of the respective registration tables, the entry address of the registration table corresponding to the first one of the tasks placed in a waiting state by the task corresponding to the respective registration table; (ii) writing, in the tail pointer portions of the respective registration tables, the entry address of the registration table corresponding to the task most recently placed in a waiting state by the task corresponding to the respective registration table; (iii) writing, in the next pointer portions of the respective registration table, the entry address of the registration table corresponding to the task placed in a waiting state by the same occupying task after the task corresponding to the respective registration table; (iv) writing, in the parent pointer portions of the respective registration tables, the entry address of the registration table corresponding to the occupying task which is keeping the task corresponding to the respective registration table in the waiting state; (b) storing before image data in the respective before image data buffer portion corresponding to a task which is modifying one of the resources; (c) examining, for a selected task most recently placed in a waiting state, the waiting state information for the other tasks, by reading the contents of the registration tables respectively corresponding to the other tasks; (d) determining whether the waiting state information for the other tasks indicates that the waiting state of at least one of the other tasks is due to the occupation of a resource by the selected task; (e) releasing the resource occupied by the selected task when said determining step (d) indicates that at least one of the other tasks is in a waiting state due to the occupation of a resource by the selected task; (f) processing the at least one of the other tasks in accordance with the contents of the respective before image data buffer portion corresponding to the selected task; and (g) processing the selected task.
Claim 3
Independent Claim 239 words
A method for automatically releasing a dead lock state in a data processing system having a CPU for performing tasks, and having a memory, including resources commonly used by the tasks, a waiting task control table and a before image data buffer, comprising the steps of: (a) storing waiting state information in the waiting task control table to indicate which of the tasks are in a waiting state due to the occupation of one of the resources by the other tasks; (b) storing before image data in the storing before image data buffer every time the contents of one of the resources is to be modified by one of the tasks; (c) examining, for a selected task most recently placed in a waiting state, the waiting state information for the other tasks, by reading the contents of the waiting task control table; (d) determining whether the waiting state information for the other tasks indicates that the waiting state of at least one of the other tasks is due to the occupation of a resource by the selected task; (e) releasing the resource occupied by the selected task when said determining step (d) indicates that at least one of the other tasks is in a waiting state due to the occupation of a resource by the selected task; and (f) processing the at least one of the other tasks in accordance with the contents of the before image data buffer.
Claim 4
Independent Claim 239 words
A method for automatically releasing a dead lock state in a data processing system having a CPU for performing tasks, and having a memory, including resources commonly used by the tasks, a waiting task control table and a before image data buffer, comprising the steps of: (a) storing waiting state information in the waiting task control table to indicate which of the tasks are in a waiting state due to the occupation of one of the resources by the other tasks; (b) storing before image data in the storing before image data buffer every time the contents of one of the resources is to be modified by one of the tasks; (c) examining, for a selected task most recently placed in a waiting state, the waiting state information for the other tasks, by reading the contents of the waiting task control table; (d) determining whether the waiting state information for the other tasks indicates that the waiting state of at least one of the other tasks is due to the occupation of a resource by the selected task; (e) releasing the resource occupied by the selected task when said determining step (d) indicates that at least one of the other tasks is in a waiting state due to the occupation of a resource by the selected task; and (f) processing the at least one of the other tasks in accordance with the contents of the before image data buffer.
Claim 5
Dependent Claim 154 words
A method for automatically releasing a dead lock state in a data processing system as set forth in claim 2, wherein the waiting task control table includes registration tables respectively corresponding to each of the tasks, wherein each of the registration tables includes a holding task pointer and a waiting task pointer, wherein the waiting state information includes first and second waiting state data, and wherein said storing step (a) comprises the sub-steps of: (i) storing first waiting state data for the tasks in the respective, corresponding holding task pointers, the first waiting state data indicating which of the other tasks is keeping a respective one of the tasks in a waiting state; and (ii) storing second waiting state data for the tasks in the respective, corresponding waiting task pointers, the second waiting state data indicating which of the tasks is being kept in a waiting state by a respective one of the tasks.
Claim 6
Dependent Claim 69 words
A method for automatically releasing a dead lock state in a data processing system as set forth in claim 3, wherein the waiting task control table includes a key table having portions respectively, corresponding to the resources, and wherein said method further comprises the step of: (g) storing occupation information in the key table portions, indicating that one of the tasks is occupying respective, corresponding ones of the resources.
Claim 7
Dependent Claim 48 words
A method for automatically releasing a dead lock state in a data processing system as set forth in claim 4, wherein said storing step (g) comprises storing occupation information, indicating which of the respective tasks is occupying each of the resources, in the respective, corresponding key table portions.
Claim 8
Dependent Claim 69 words
A method for automatically releasing a dead lock state in a data processing system as set forth in claim 2, wherein the waiting task control table includes a key table having portions respectively, corresponding to the resources, and wherein said method further comprises the step of: (g) storing occupation information in the key table portions, indicating that one of the tasks is occupying respective, corresponding ones of the resources.
Claim 9
Dependent Claim 48 words
A method for automatically releasing a dead lock state in a data processing system as set forth in claim 6, wherein said storing step (g) comprises storing occupation information, indicating which of the respective tasks is occupying each of the resources, in the respective, corresponding key table portions.
Claim 10
Dependent Claim 58 words
A method for automatically releasing a dead lock state in a data processing system as set forth in claim 6, wherein the memory further comprises a holding queue table, and wherein said method further comprises the step of: (h) storing task information in the holding queue table for each of the tasks which is in a waiting state.
Claim 11
Dependent Claim 84 words
A method for automatically releasing a dead lock state in a data processing system as set forth in claim 8, wherein each of the key table portions includes an address storing portion, and wherein said method further comprises the step of: (i) storing a holding address in the respective address storing portion corresponding to the resource for which a respective task is waiting, the holding address corresponding to the address in the holding queue table which stores task information for the respective waiting task.
Claim 12
Dependent Claim 53 words
A method for automatically releasing a dead lock state in a data processing system as set forth in claim 4, wherein the memory further comprises a holding queue table, and wherein said method further comprises the step of: (h) storing task information for each of the tasks which is in a waiting state.
Claim 13
Dependent Claim 84 words
A method for automatically releasing a dead lock state in a data processing system as set forth in claim 10, wherein each of the key table portions includes an address storing portion, and wherein said method further comprises the step of: (i) storing a holding address in the respective address storing portion corresponding to the resource for which a respective task is waiting, the holding address corresponding to the address in the holding queue table which stores task information for the respective waiting task.
Claim 14
Dependent Claim 58 words
A method for automatically releasing a dead lock state in a data processing system as set forth in claim 3, wherein the memory further comprises a holding queue table and wherein said method further comprises the step of: (g) storing task information in the holding queue table for each of the tasks which is in a waiting state.
Claim 15
Dependent Claim 101 words
A method for automatically releasing a dead lock state in a data processing system as set forth in claim 12, wherein the waiting task control table includes a key table having portions, respectively corresponding to the resources, wherein each of the key table portions includes an address storing portion, and wherein said method further comprises the step of: (h) storing a holding address in the respective address storing portion corresponding to the resource for which a respective task is waiting, the holding address corresponding to the address in the holding queue table which stores task information for the respective waiting task.

References Cited (Backward Citations)

US3639912A Cited
US3889237A Cited
US4084228A Cited
US4047161A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1986-09-05 1987-03-07 1987-09-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1990-09-05 1991-03-07 1991-09-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1994-09-05 1995-03-07 1995-09-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag