Operating system having a mechanism for handling a group of related processes residing on separate machines
First Claim
1. In a computer network, a method of associating a plurality of related processes residing on separate computers of the computer network so that the related processes can be handled as a single array session, wherein the method is comprised of the steps of:
- initiating a first process running on a first computer of the computer network;
generating a first identifier corresponding to a first array session;
assigning the first identifier to the first process running on the first computer of the computer network which uniquely identifies the first process as belonging to the first array session and the first process having only one unique identifier that is used to identify one specific array session;
spawning a plurality of processes from the first process to help the first process, wherein the plurality of processes run on separate computers of the computer network;
assigning the first identifier to each of the plurality of spawned processes to indicate that each of the plurality of processes belong to a first array session, wherein each of the plurality of spawned processes only have one identifier which is used to uniquely identify one specific array session;
issuing a command by an operating system, wherein the command includes the first unique identifier;
executing the command by all of the plurality of processes running on the separate computers which belong to the first array session and all processes not having the first identifier ignoring the command;
creating a second process from the first process;
assigning a second identifier to the second process, the second identifier uniquely corresponding to a second array session;
spawning a plurality of processes from the second process to help the second process, wherein the plurality of processes spawned by the second process belong to the second array session and are each assigned the second identifier, each of the plurality of processes spawned by the second process having only the second identifier which is used to uniquely identify the second array session;
issuing tasks to either the first array session or the second array session depending on the identifier specified in the task, wherein different tasks can be issued to different array sessions.
7 Assignments
0 Petitions
Accused Products
Abstract
A method of correlating a group of related processes residing on separate computers of a computer network so that they can be treated as a single entity. A single, large program is split up into separate processes and simultaneously run on several different computers. These related, but separate, processes are assigned a unique identifier. When a new process is created, it is assigned the same identifier as that of the process from which it was created, even though the child process might reside on a different computer. If a process determines that it should not belong to its current group, that process can create its own group by requesting that it be assigned a new identifier. Based on the identifiers, it is possible to implement programs that treat related processes as a single entity.
-
Citations
15 Claims
-
1. In a computer network, a method of associating a plurality of related processes residing on separate computers of the computer network so that the related processes can be handled as a single array session, wherein the method is comprised of the steps of:
-
initiating a first process running on a first computer of the computer network;
generating a first identifier corresponding to a first array session;
assigning the first identifier to the first process running on the first computer of the computer network which uniquely identifies the first process as belonging to the first array session and the first process having only one unique identifier that is used to identify one specific array session;
spawning a plurality of processes from the first process to help the first process, wherein the plurality of processes run on separate computers of the computer network;
assigning the first identifier to each of the plurality of spawned processes to indicate that each of the plurality of processes belong to a first array session, wherein each of the plurality of spawned processes only have one identifier which is used to uniquely identify one specific array session;
issuing a command by an operating system, wherein the command includes the first unique identifier;
executing the command by all of the plurality of processes running on the separate computers which belong to the first array session and all processes not having the first identifier ignoring the command;
creating a second process from the first process;
assigning a second identifier to the second process, the second identifier uniquely corresponding to a second array session;
spawning a plurality of processes from the second process to help the second process, wherein the plurality of processes spawned by the second process belong to the second array session and are each assigned the second identifier, each of the plurality of processes spawned by the second process having only the second identifier which is used to uniquely identify the second array session;
issuing tasks to either the first array session or the second array session depending on the identifier specified in the task, wherein different tasks can be issued to different array sessions. - View Dependent Claims (2, 3, 4)
-
-
5. In a computer network having a plurality of computers coupled together, a method of correlating a plurality of processes running on a plurality of the computers so that the processes are treated as one single array session for purposes of executing one or more commands, the method comprising the steps of:
-
executing the processes on separate computers of the computer network;
assigning an identifier to each of the plurality of processes, wherein the processes are correlated according to their respective identifier and each process only has a single identifier which is used to uniquely identify one particular array session to which that particular process belongs;
grouping all processes having a first identifier into a first array session and all processes having a second identifier into a second array session;
issuing a command having a specific identifier which identifies one of the array sessions;
examining each of the processes running on the computers of the computer network to determine all processes belonging to that particular array session;
executing the command for only those processes belonging to that particular array session and executing a different command to a different array session. - View Dependent Claims (6, 7)
allocating a plurality of identifiers so that each group of related processes running on the computer network has an associated identifier that is unique;
storing information pertaining to a configuration of the plurality of processes;
forwarding commands to only those processes having the same identifier.
-
-
7. The method of claim 5 further comprising the step of accounting for resource usage according to the processes that have the unique identifier.
-
8. A method of handling processes running on different computers of a computer network so that the processes are treated as a single array session when performing a same task, wherein the method is comprised of the steps of:
-
creating a group of related processes belonging to a first array session, wherein each of the related processes of the group has only one identifier which uniquely points to the first array session and each of the related processes has no other identifier pointing to a different array session;
changing the identifier for one of the related processes of the first array session to a new identifier, which creates a second array session;
obtaining information pertaining to the related processes based on the identifier;
performing the same task for each process belonging to the first array session according to the information that was obtained;
changing the identifier of one process to assign that process to a different array session;
issuing a command, wherein the command contains a command identifier;
examining each of the processes running on the computers to determine which of the processes contain the command identifier;
selectively executing the command for only those processes of the array session having the command identifier and selectively executing a different command for a different array session. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
generating identifiers that are unique within a local computer;
generating identifiers that are unique through all of the computers of the computer network.
-
-
10. The method of claim 8, wherein the obtaining step obtains a list of processes that have the same identifier.
-
11. The method of claim 8, wherein the obtaining step obtains the identifier corresponding to a particular process.
-
12. The method of claim 8 further comprising the steps of:
-
creating a second process on a second computer from a first process on a first computer;
determining whether the identifier associated with the first process is unique across all of the computers of the computer network;
changing the identifier of the first process if it is not unique;
changing the identifier associated with the second process to the identifier associated with the first process.
-
-
13. The method of claim 8, wherein the task is job control.
-
14. The method of claim 8, wherein the task is checkpointing.
-
15. The method of claim 8, wherein the task is accounting.
Specification