Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an SNA network
First Claim
1. A method for executing first and second distributed application programs in an SNA type data processing network that supports program to program communication in accordance with SNA Logical Unit 6.2 protocols and in which said application programs comprise first parts that are run on one terminal and second parts that are run on the host processor of said network in response to first and second sequential requests to initiate LU 6.2 conversations between said terminal and said host involving respectively said first and second programs, said host processor having a virtual machine type Operating System including a programming module to automatically setup a plurality of virtual machines each with a predefined name during the starting up of said host, said method comprising the following combination of sequential steps;
- A) establishing a virtual machine pool manager which,(i) creates a pool of at least two virtual machines at said host processor that are brought to a run ready state prior to receiving said sequential requests,(ii) manages the dynamic assignments of said run ready virtual machines to concurrently process said LU 6.2 conversations initiated by said sequential requests from said one terminal involving said first and second application programs so that each said request is assigned to a different one of said virtual machines, and(iii) returns said assigned machine to said pool when the conversation being processed is terminated, in a state ready for a new assignment, and said step of establishing including the steps of;
1) providing a pool manager data structure for use by said pool manager in the management of said virtual machines in said pool,2) storing in said data structure a plurality of names for the virtual machines to be setup by said programming module,3) defining a control block having a plurality of fields in said data structure for each said virtual machine that is automatically created including the steps of,(a) designating one said field for storing said name assigned to said virtual machine,(b) designating a second field for indicating the status of said virtual machine, and(c) setting an indicator in said status field to indicate an IDLE status,B) automatically creating each said virtual machine for said pool during said starting up with said programming module and said virtual machine pool manager, including the step of referencing said data structure for the names to be assigned to said virtual machines, whereby said application programs can be executed concurrently on different assigned virtual machines at said host whenever said application programs are being executed concurrently at said terminal.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for processing distributed application programs in SNA type networks including a host system having a virtual machine type Operating System and an Intelligent Work Station (IWS) provided with an Operating System that is capable of running two distributed application programs concurrently, in which two idle virtual machines, from a pool of run ready virtual machines that are created and managed by a Virtual Machine Pool Manager (VMPM), are each assigned to process a different one of the two application programs concurrently to prevent the distributed application programs from being serialized on one virtual machine at the host even though both application programs are being invoked by requests at the IWS terminal involving the same USER ID.
75 Citations
10 Claims
-
1. A method for executing first and second distributed application programs in an SNA type data processing network that supports program to program communication in accordance with SNA Logical Unit 6.2 protocols and in which said application programs comprise first parts that are run on one terminal and second parts that are run on the host processor of said network in response to first and second sequential requests to initiate LU 6.2 conversations between said terminal and said host involving respectively said first and second programs, said host processor having a virtual machine type Operating System including a programming module to automatically setup a plurality of virtual machines each with a predefined name during the starting up of said host, said method comprising the following combination of sequential steps;
-
A) establishing a virtual machine pool manager which, (i) creates a pool of at least two virtual machines at said host processor that are brought to a run ready state prior to receiving said sequential requests, (ii) manages the dynamic assignments of said run ready virtual machines to concurrently process said LU 6.2 conversations initiated by said sequential requests from said one terminal involving said first and second application programs so that each said request is assigned to a different one of said virtual machines, and (iii) returns said assigned machine to said pool when the conversation being processed is terminated, in a state ready for a new assignment, and said step of establishing including the steps of; 1) providing a pool manager data structure for use by said pool manager in the management of said virtual machines in said pool, 2) storing in said data structure a plurality of names for the virtual machines to be setup by said programming module, 3) defining a control block having a plurality of fields in said data structure for each said virtual machine that is automatically created including the steps of, (a) designating one said field for storing said name assigned to said virtual machine, (b) designating a second field for indicating the status of said virtual machine, and (c) setting an indicator in said status field to indicate an IDLE status, B) automatically creating each said virtual machine for said pool during said starting up with said programming module and said virtual machine pool manager, including the step of referencing said data structure for the names to be assigned to said virtual machines, whereby said application programs can be executed concurrently on different assigned virtual machines at said host whenever said application programs are being executed concurrently at said terminal. - View Dependent Claims (2, 3)
-
-
4. A method for executing first and second distributed application programs in an SNA type data processing network that supports program to program communication in accordance with SNA Logical Unit 6.2 protocols and in which said application programs comprise first parts that are run on one terminal and second parts that are run on the host processor of said network in response to first and second sequential requests to initiate LU 6.2 conversations between said terminal and said host involving respectively said first and second programs, said host processor having a virtual machine type Operating System including a programming module to automatically setup a plurality of virtual machines each with a predefined name during the starting up of said host, said method comprising the following combination of sequential steps;
-
A) establishing a virtual machine pool manager which, (1) creates a pool of at least two virtual machines at said host processor that are brought to a run ready state prior to receiving said sequential requests, (2) manages the dynamic assignments of said run ready virtual machines to concurrently process said LU 6.2 conversations initiated by said sequential requests from said one terminal involving said first and second application programs so that each said request is assigned to a different one of said virtual machines, and (3) returns said assigned machine to said pool when the conversation being processed is terminated, in a state ready for a new assignment, and B) providing a pool manager data structure for use by said pool manager in the management of said virtual machines in said pool, said step of establishing including the further steps of; C) storing in said data structure a plurality of names for the virtual machines to be setup by said programming module, D) automatically creating each said virtual machine for said pool during said starting up with said programming module and said virtual machine pool manager, including the step of, (1) referencing said data structure for the names to be assigned to said virtual machines, said step of providing including the further step of, E) defining a control block having a plurality of fields, in said data structure for each said virtual machine that is automatically created in step D) including the step of, (1) designating one said field for storing said name assigned to said virtual machine and designating a second field for indicating the status of said virtual machine, F) setting an indicator in said status field to indicate an IDLE status during said step D, G) issuing a first request from said terminal to said host for an LU 6.2 conversation between said first and second parts of said first application program, said first request including a USERID, an identification of said first application program, and an identification of the Logical Unit to process said first request, H) determining at said host if said first request is to be managed by said virtual machine pool manager by reference to said Logical Unit identification, and I) assigning one of said run ready virtual machines to process a conversation defined by said first request including the steps of; (1) inspecting said data structure to identify the name of a virtual machine in said pool that is not assigned, (2) modifying said first request, by replacing said identification of said Logical Unit with the name of said identified unassigned virtual machine, and (3) updating said data structure to indicate the busy status of said assigned virtual machine, and the current assignment of said virtual machine, whereby said application programs can be executed concurrently on different assigned virtual machines at said host whenever said application programs are being executed concurrently at said terminal. - View Dependent Claims (5, 6, 7, 8, 9, 10)
-
Specification