CA2164524A1 - Advanced program-to-program communication server - Google Patents

Advanced program-to-program communication server

Info

Publication number
CA2164524A1
CA2164524A1 CA002164524A CA2164524A CA2164524A1 CA 2164524 A1 CA2164524 A1 CA 2164524A1 CA 002164524 A CA002164524 A CA 002164524A CA 2164524 A CA2164524 A CA 2164524A CA 2164524 A1 CA2164524 A1 CA 2164524A1
Authority
CA
Canada
Prior art keywords
server
program
aps
programs
ibm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002164524A
Other languages
French (fr)
Inventor
George Van Der Sijpt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dow Benelux BV
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2164524A1 publication Critical patent/CA2164524A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Abstract

The present invention provides a system and method for interfacing programs in a first computing environment with programs in a second computing environment. An advanced program-to-program server (APS) enables the data exchange between programs running in client computers with programs running in a different computing environment. An APS controller process creates and manages a plurality of server processes. The server processes establish and provide communications links between the client programs in one computing environment with programs in another computing environment by performing a client server function. The APS provides a single point of control that allows multiple clients to communicate through a single server.

Description

wo gs/oogos 2 1 6 4 5 2 4 PCT/EP94/01949 _ AJvdnced P~vgld~ to-P~oy,a", Communication Server Background of the h~renliGn Field of the l...l~..Lion The present i. ,~enlion relates generally to client servers and more particularly to a client server capable of interfacing programs in one computing eh~;, on".ent with prog, ar,,s in anoll.er computing en~;. ofi...ent.

10 Related Art With the advent of increased computing power at cost-effective prices, today's industry is inaeasing its use of computer solutions for handling its business needs. I lovic\rer, the evolutionary cycle to computeri~alion followed by many in industry has led to an eclectic 15 asso, l..,ent of computer solutions within a given plant. For example, company X may have implel..enled an IBM (International Business Machines~ mainframe to handle all of its business and financial needs and a VAX (available from the Digital Eql~i, ."ent CGr~ora~ion) for conl- olling manufacturing and production operations.
Uptoacertainpoint,thistypeofdiversitypresentsfewproble.,,sforacompany.
20 Each computerized ope- dlion f unctions well independer,lly of the others. I low_ ~/er, as companiesbegin inleyldlillg computerized businessoperationswith independcnlly computerized production operdliGns, inle, rd.i"g difficulties need to be ~esolved. For .u,..plele intey- alion, a company must be able to exchange data from its production computers (e.g., VAX clusters) with data in its business computers (e.g., IBM mainframe). This would allow the 25 co...pany to automate its in~/enlor~ updates, or creation of sh~ ing schedules and the like.
To meet this inley. dlion need, several methods have been d_~eloped to allow such an exchange of data bcl~.aen Jirrt, e"l computing er "il or,l"enl,. For eAa."r'e, one computer manufacturer p- o~ides a gat.~.y that allows VAX machines to interface with IBM
computers and their clones or compatibles. For a VAX to communicate with an IBM via this 30 yd~ r..y, it must use pl op. iela- ~ sorlwa e libraries that allow such communication. For exd.. ,~ le, one could use a DECnet/SNA VMS APPC/LU6.2 proy, ar..ming interface routine, which is an advanced proyl dlll-tO-p~ oy, dlll communication (APPC) routine based on IBM's System ~:el~r~oi k Al.l,ile.lure Logical Unit (LU) 6.2 implementation. Such a routine would allow communications with all IBMs (and their clones) using LU6.2 communications, including 35 personal computers.
P, Vyl ~...s running on a VAX that need to communicate with an IBM prog.ar..
could use the APPC/LU6.2 routines and associated software lil,r,-, ies. I loNever, there are some ,I,GIl~v...ingstothiscoll~enlionalsolution. P~vyl~.rlllllingwiththeAPPCroutinescanbea ~I~E SHEET ~RULE 2~

WO 95/OO90S 2 1 6 4 52~ ~ PCT/EP94/OW9 difficult and time-consuming task and these routines require a suL ,la-.lial allocation of nel~,vc,rk resources and of the computers communications resources. One reason for this is that pr~g, all~S written using APPC require "calls. n Some of the APPC calls require as many as twenty (20) parameters. The parameters specified must be maintained on the VAX. Some parameters 5 must be coordinated with associated definitions on the IBM side as well. Further, because some of these par_...eter, are IBM Griented and some are VAX orienled, system developers require expertise in both en~;. or..-.enl, to handle the calling parameters appropriately.
In this document, the term program ' is used to refer to applications or other types of computer proy.a...s, routines, processes and the like. An application typically 10 cc"--pri,es one or more proy. a~S grouped together to perform a function.
Another problem with the conventional gateway solution is that each VAX
connected to the gateway must have the software library to communicate with the IBM. In other words, each VAX wishing to establish or receive a link to the IBM via the gateway must have a duplicate copy of the software library. This results in additional proble...s associated with manage...enl of the gal.~_y er-~ri- or ,..ent. The parameters mentioned above must be m?- ,~ined and updated on each system i."rle...enled, and often the updates must take place simultaneously. This type of maintenance where numerous systems are involved is a difficult manage-"enttask. Another shG. Ic~---ing is the cost associated with licensing the s~r~.v_re libraries for use on each VAX that is to communicate with the IBM.
Still anc,ll,er sl,Grl~or.. ing of currently available gateway technology is that the IBM mainframe can not initiate a conver~dlion on a VAX unless an LU6.2 session has already been established with the IBM or unless the VAX has established a session with a gale//_y conne.led to the IBM. Acu~l di,19 to comrcnlional wisdom, the IBM can not " look for" and find one of a number of VAXes on the nelv _rk. If the IBM has data that it would like to send to a 25 particular VAX, the IBM cannot send that data unless the VAX first establishes a connection with the IBM.
What is needed is a system and method for interfacing multiple client prog.~.."srunning on multiple client computers with prog,~-".s in another computing en~ on",cnl. The ideal solution should provide a single point of control to alleviate the manage,.ænl proble."s 30 existing in con~e.,lional systems.

Summary of the In~_rllion An advanced proyl ~.."-to-prog,~fi, server (APS) pn~vides a system and method for enabling 35 prog, ..",s in one processing envi, or""en~ to exchange data with p~ ~9, e~lllS running in a di~e,er,l proce,~ing er~ or~"el-t. The APS forms a server relationship to multiple client computers providing a single point for control of communications with one or more computers in another computing en~ri, onr"e"l.
-2-SUBSTITUTE SHEET (RULE 26) A benefit of this client server relationship is that the prog~ .a., of the client systems are only concerned with the issue of which communication features to i..,ple..-el-l at the application level and howto il.-ple..le.-~ those features. They are not concerned with 5 communication session connectivity ta~hni ~ues required to communicate to the other computing el l~;l or.,..anl. Techniques nece"a. y for communication session conoe~ ;ly bal~r.een a client system and the other computing em/;. om..enl are accessed by the client system using APS client routines which are installed on the client system and which provide l,d"",a~enlcommunicationthroughtheAPStotheothercomputingenv;.on",enl. Asaresult,10 a single point of control is provided to pe. rO~... the communications interface bel-veen the two computing envi~ onlne- Il5. This results in significantly reduced requirements for manage"-ent of the communications links.
The APS supplies l. an",zrenl communication services belv~e~n programs in each communications env;. ori---ent. As a result, the prograllls use their own communications 15 techniques to communicate with one another. Simple SAA CPI-C (Systems Application Ar~l,ileclure Common Programming Interface for Communications) callable routines are p~ oJ;ded for the client system to initiate the interface and to interact across the interface once it has been initiated.
The APS establishes and maintains multiple server processes that are used by the20 Pi oyl alllS in a first computing en~il onl..enl to communicate with prog. ams in a second computing environlne.ll. When a proy. dlll in one computing env;, onr..el-t wishes to communicate with anGll-er proy,.3,.. in another computing environment, it requests a session via APS. Upon receipt of such a request, an APS conl.~ller process designates a server process to form this session. The session is estahli.l-ed bel./.a~n a proy.a-., in the first computin 25 er,~ or",.entwith a prcy,a,-, in the second computing en.~i~om"ent. The session can be di.conne.lèd atthe request of either proy-_....
Further features and ad~.d"~agas of the present invention, as well as the structure and oparalion of various embodiments of the present in,/e.,lion, are desc, iLed in detail below with .efe,e"ce to the aompanying d~a~;ny,.

Brief Des~-iplioo of the D~ v;ny~

Thepresent;..~erilionwill bedesuiLedwith lefelencetotheacco.npanying d~ ;..gs. Inthed~ N;ngs,likelefe.encenumbersindicateidenticalorfunctionallysimilar 35 ele.-.èi,l,. Additionally, the left-most digit(s) of a le~er~:nce number identifies the d~ ing in which the ererence number f irst appears.
FIG. 1 is a high-level block diagram of the APS according to the present invention and its surrounding envirori---ent.
-3-~smu~ SHEET (RULE 26) WO 95100905 2 1 6 4 5 2 4 PCT/EPg4lolg49 Fl6. 2 is a functional block diagram illu~L~dling the functionality of the APS
a.co~ ' ~9 to the present in.~ehlion.
FIG. 3 isa flowchart illu~lld~ii.g a method for interfacing client plc,y..,,,-s in a first computing environ",e..l to progl dlllS in a second computing en-i- or....e..l.
FIG. 4 is a flow chart illu,l,aling the specific exa."FI~ of a DECserver processestablishing and imple."enling a session with a specified IBM prog,~m.
FIG. 5 is a flow chart illu~lldlillg the specific eAa--,ple of an IBM server process establishing and ;",ple",enli..g a session with a specified client program.
FIG. 6 is a block diagram illu,l,d~ing an example implementation of the APS
10 according to the present invenlion.
FIG. 7 is a flow chart illu~lldling a scenario in which proy, _."s in a businessenvironment use the APS to communicate with programs in a manufacturing environment.
FIG. 8 is a block diagram illu,l, dlin9 internal i"le, ra.es belwaen an APS controller process and APS server proce"es.
FIG. 9 is a diagram iillJ~lldlin9 the routines used to interface the APS to two computing er,-;,or""enl,.

Detailed De,u i~,lion of the In~l_nlion The present in,/enlion, an advanced prog,a",-to-proy,3." server (APS), is a system and method for enabling a data exchange belwe~n proy, alllS running in two different p,o.e,singen,/;lol-",e"l~. Specifically,theAPSallowsoneormoreclientsinonecomputing en~l;, ofi",ent to inle, race to one or more hosts in a second computing env;. or",.enl.
Ac.o.d ~9 to a p,ere"ed e",bQ ' ,.ent, the APS pro~lides a communi dlions 25 interface through which multiple VAXes can communicate with multiple IBM mai"r,~."es.
More specifically, in this embodiment, the server allows multiple VAXes to i"te, ra.e via DECnet to communicate with the IBM using LU6.2 communications.
Portions of this patent document discuss the APS in terms of the p~ e~e" ed VAX
and IBM e",bod;.--ent. I loJ~ r, it would be obvious to a person skilled in the ~el~ nl art how 30 the APS can be used to i,.le, rd.e other computer env;. on."ents using other communications nelw_ rl.~"landarJ~ and protocols.
The APS system is designed according to a client-server concept. That is, communications to the IBM prog. ~,--s are handled by the APS, and client systems (VAXes) use the APS system to exchange information, which can include data and statuses, with the IBM
35 plog- d~. A benefit of this client server relationship is that the prog. ~ ...",er, of the client systems are only concerned with the issue of which level communication features to implement attheapplication level and howto ;",ple."enlthose features. They are notconcerned with communication session connectivity techniques required to communicate to the other
-4-SUBSrlTUTE SHEET (Rl~E 26)
5 2 1 6 4 5 ~ 4 PCTIEP94/01949 computing en-;l or,..~enl. The client system facilitates techniques necessary for communication session conne~ ;ly by calling supplied APS client routines which are CPI-C based routines.
TheseroutinesprovidetransparentcommunicationsthroughtheAPStothelBMprog.as.
Because most of the communications functions are handled by the APS it is easy for client 5 p, uyl al 1 IS to communicate with the IBM .
A high-level block diagram of the APS system and its en~/;, Gr.",ent are illustrated inFlG. 1. Refer-ingnowtoFlG. 1,APS102pro~lidesasessionwherebyAPSclientprGy,a",s104 running in a VAX/VMS environment 106 communicate with IBM proy.~ms 108 (such as LU6.2 programs) running in an IBM er.v;, on,nenl 110 (e.g., one or more IBM ma;r,r,a,.,es). APS 102 allows multiple APS client prog, dU15 104 running on one or more VAXes 106 to communicate with one or more IBM proyl~.ri,s 108 running in one or more IBM machines.
A DECnet/SNA gateway 1 12 pi o "ides the interface between a DECnet 122 communications en~/;. unr..enl and an IBM SNA 124 communications environ",enl. Gateway 112isillustratedinFlG. 1 andins~hse(luentFlGs.asasepa.aleUbox.'' Itshouldbenotedthat this sepa. alion of ydl~y 112 from APS 102 is a functional separation and not necessarily a logical or physical separalion. In other words, gateway 112 and APS 102 can execute on the same p. o.e"or. All functions of gal~ y 112 can be pe. ro. ,,,ed by the same machine that executes APS 102 functions, thus obviating the need for a separate physical gatev,~_,r 112.
Gateway 112 handles c.~nv~. ~ions neces,dry to go from one set of prolocols to 20 anGIl.er. A message format conve. ,ion con~/e. 1~ mes~ages to an applopliate format and size for the computing env; or r,ent which the "~csiage is enle, ing. An address 1- an,lalion translates the acld~ e"es associated with a ."ci,zge to the address structure required by the destination nel~_rk. A protocol conve~,ion replaces control information from one computing er.~;ror.i..ent with control information required to pe. rur,.. comparable functions in the other 25 er..l;,onr,.ent. This cc.,-.~e.,ion typicallyallowsforservicessuch as messagesey",enlalion and reassembly, data flow control, and error dele.liGn and recovery.
An APS controller process 132 is the heart of APS 102. APS controller process 132 manages other APS server proce"es 134 within APS 102. APS server pl oce"es 134 handle IB M
linksthrough LU6.2. DECnetsessionsareestablishedand utilizedbyAPSconl,ollerprocess 132 30 and by each APS server process 134. APS server pl oce"es 134 are managed by APS controller process 132 and are used to establish the communications sessions bel~_en APS client p.oy.a...s 104and proy._...s 108.
APS 102 s~pplie~ communications services bt~ vcen IBM progr~.."s 108 and client p- oy- ~ -. . .s 104. Because these services are designed to be transparent to the prog, ~. "s, neither 35 IBM proyl ar..s 108 nor client proy. all~S 104 are aware" that they are communicating via an inle,...ed;aryAPSsystem 102. Each pruy.~." 108,104 uses itsown local communications facilities (e.g., CICS ,ldle",enl, or CPI-C routines to the IBM. The VAX uses APS client routines which are CPI-C compliant).

SUBSTITUTE SHEET (RULE 26) wo gs/oogos 2 1 6 4 5 2 4 - ~EP94/01949 APS 102 p. oJides session mull, leAj~ 19 functionality. This functionality facilitates the use of an LU6.2 session with an IBM 110 by a large number of different client p. og, _..,s 104 over a given period of time. Conv_.,dlionswith an IBM proy.a.., 108 occur in asequential manner such that a f irst conversation be Lw.e n a f irst client progr.l" . 104 and an IBM prGy, arl~
108isfullyterminatedbeforethenextconversationbelweenasubsequentclientproy,d"~ 104 and the same IBM p, og, dlll 108 jS initiated. In this regard, one of the key primary functions of APS102isthattheLU6.2sessionsarepermanentsessionswhicharenotre-esldblijl,edaslBM
110hascon~e,,dlionswithmorethanoneclientp,oy,dl"104. Thisenablesmoreaccurate system balancing and tuning of IBM 110 because the ope, a~ing system is not frequently 10 dive. ~ed to the task of managing a variable session load or to the pe, ic ' c and time-consuming task of managing LU6.2 conne.~ and disconne.~
Another key function, derived from this multiplexing functionality, is that the LU6.2 session can be used and shared by multiple VAX clients 106. As a result, each client system 106 does not need to devote the resources and time to the task of establishing the LU6.2 15 sessionsinordertofacilitateaconvt.,d~ionwithanlBMprog,."" 108. Asecondbenefitwhich accrues to clients 106 is derived from the rapid fee-~back indicating full utilization of existing LU6.2 sessions to a particular IBM 110 machine for a particular application. Such feedback can be used as a feedback event to query for anotl.e~ IBM 110 machine or to redirect resources to anG~I-er task on client system 106.
By limiting the number of sessions that are active for any particular IBM 110, client systems 106 are arrO..Ied rapid re",onse from the IBM 110 when they are connected. An additional key function pl olided by APS 102 is ~rar.,~aren~ fail over to alternative APS 102 interfaces at the time of conversation initiation so that an IBM prGg. dr. . 108 can be reached via an alternative path without the need for the client appl ication prog. a m 104 to facil itate the 25 initiation of a link to an alternative APS 102.
The alternative path can be another APS 102 which could use another gateway 112 to reach the IBM. Note that a large number of alternative APS 102 can be defined.
Transparent fail over can be prolided for the IBM side as well. This feature is enabled by defining permanent LU sessions from multiple APSs 102 to the same lBM proy~ am 30 30108 (see FIG. 6for an e,.dr..r'e). If the DECnet path from one APS 102 to a client 106 should not be available, or the APS 102 itself is un~ ' le, another APS 102 may be used to reach the client system 106. The functionality for sele ~ing an alternative APS 102 needs to be built in each IBM prog,d", 108 if desired.
Another fail over function p, ovide-d by APS 102 is that the APS server processes 35 134 can try to establish their LU sessions via another gateway 1 12 or via an alternative LU on the same ya~J._J 112 in case they are not able to est~hli.l, their LU session through their primary LU on yd~J~_J 112.

SUBSTITUTE SHEET (RULE 2S) APS 102 also ~rovides means bywhich IBM ploy.a,. M 08 can establish a conversationwithaclientp,og.d..,104residenton anyclientsystem 106(with installedAPS
client routines and DECnet routines) via DECnet 122. When an IBM program 108 requests a conversation with a client program 104 via APS 102, APS 102 triggers the requested client 5 pr~y~ d~M 04 via DECnet 122.
A further primary function of APS 10Z is to provide and enable a group of e~enlially simultaneous come~ ~lions to be established wl erei-, a proy. ~... in one en~;.or.,.-entcanhavecon,/c.,dlionswithmultiplepl~y.~.ri.sle,identintheother en.~;. ofi-.-ent. These sessions can be directed toward a single client p~ og, dr" 104 or to several 10 clientproy.d...s104OnoneormoreVAX106machines. Similarly,APS102cankeepseveral sessions open to one or more IBM pros;.~..,s 108 in one or more IBM 110 machines.
Several alternative embodiments can be implemented to enable the multiple session scenarios. In one embodi...ent, a client pros.d...104A can establish many individual conversations with IBM 110 via APS 102. For each conver,dliGn established, one DECserver process 206 is designated to enable the sessions necessary for the conversation.In an alternative e...bodi...ent, an IBM pr~g-~....108 can request a conve.,dlion via an IBM server process 208 to a client prog.dr..104. The client prog. ~....104 then further establishes individual conveKations with IBM 110 via APS 102 using DECserver processes 206.
For each individual conver,dlion established, one APS server process 134 is designated to 20 enable the nece"a~y sessions.
In an addilional alternative e,..bodir..enl, a single IBM prog.~ ...108 could request a group of con~er,dlions with dirre~enl client pr~y.~....s 104B by using a group of affiliated IBM
server pfocesses 208 to cc nne-l to the different client prog. d..lS 104B. For each individual ~C~h.~_. ,alion ectahli.l -ed in this scenario, one IBM server process 208 is designated to enable 25 the sessions necessary for that con ~or,dlion.
Foreachoftheseembodi -enl"itshouldbenotedthatanAPSclientplog.a,..
104 can have only one active session requested by an IBM program 108 at one time.
In all cases, APS 102 ~onne.l, to an available LU session at the request of a client p- oy~ ar.~ 104 through the use of a single DECserver process 206 which will be solely dedicated 30 to rd.ilildli--g that conver,dlion until that convcr,dtiGn is terminated. Also, APS 102 .~nne.l~
toaclientprogram104BattherequestofanlBMproy.a...108throughtheuseofasinglelBM
server process 208 which will be solely dedicated to facilitating that c~hJersdlion until that conversation is terminated. However, in one e..~t~d- .enl, an APS client prog. ~...104 can have only one active session requested by an IBM program 108 at one time.
APS 102 provides logging and control functionality as well. APS 102 logs all of its activities and generates system alerts if pr~ble...s arise. Also, ~lali,lical data is gdll-ered and compiled byAPS 102.

~IrlU~ SHEET (RULE 26) WO 95/00905 2 1 6 4 5 2 4 ~ PCT/EP94/01949 One adJ;lional function p~o~/ided byAPS 102 is character ~,dnsldlion. VAX
systems communicate using American Standard Code for Information Interchange (ASCII) which is a seven-bit character code. IBM, on the other hand, uses an eight-bit code known as EBCDIC (e.~lended binary character decimal interchange code). Thererore, exchanging 5 character data between the IBM and the VAXes may require character translation. Off-the-shelf products are available for the VAX to support an ASCII to/from EBCDIC conversion.
I lo~ l, these products only support standard character sets. APS 102 provides a conv~. ,ion feature to provide character translation to a broad range of characters including multi-national or other chard-lers. Therefore, proy,_."s 104, 108 need not pe, rO.,.. character l,dnslalion to 10 .on~or,.. to their communication partners.
FIG. 2 is a functional block diagram illu,lldling the functionality discussed above and aJdi~ional functionality of APS 1 02. Referring to Fl6. 2, APS controller process 132 is the heart of APS 102. APS cor,l.oll~r process 132 manages all other APS proce"es 134 and has its own DECnet sessions.
Acc~"d .gtoaplefer,ede..,bodi...ent,APScontrollerprocess132isapermanent DECnet process, SU~pG. li~ ~9 multiple logical DECnet sessions. Two types of server pl ocesses 134 are p,O~/ided in the p~e~erlecl embodiment. These are DECserver proce"es 206 and IBM server processes 208. In alternative embodiments, otherserver proces,es 134 may be p,O~idêd depending on the computing e~ or""er, l, to be inle, raced and their associated 20 communications protocols, ,ldndald~ and routines.
Ac.on ' ~9 to one embod;..,enl, server processes 134 are created at start-up of APS
102. If more sessions are required such that addilional server processes 134 are required, a manage."ent utility 214 is provided to allow a user to aeate the additional server processes 134. Alternative embodiments may be contemplated including an ell~h2 ~ "enl wherein APS
25 controller process 132 creates additional server proce"es 134 when needed or deletes server p~ oce"es 134 when an excessive amount is present.
In a p~efer,èd embodiment, server processes 134 are class-specific proce"es. In otherwords,serverprocesses 134pointtospecificlBM prog,L.,.s 108Ortoaspecifictypeof IBM
prc yl al l l 108. For C~d- - lF 10, suppose a purchasing and order system is an IB M p, og, L. - 1 108 with 30 which a client proy. dm 104 wishes to communicate. A specific server process 134 class is e,lablished to communicate with that prog~ L... and a specific server process 134 within that class is used to cstahl;sh a session with the purchasing and order system. To acco,..,..odate a class type of system, several server p~ ocesses 134 for each type of class (that has an anticipated use)willbeestablishedsothattheyareavailablewhenaclientprog,d,,, 104Amakesarequest.
Two types of client pros.d.. , 104A, 104B are illustrated for purposes of describing thefunctionalityof APS 102. Clientproy,~." 104AisaVAXp~oyl~llthatisrequesting connectiontoan IBM prcy,dlll 108. Clientprog,dll, 104B isaVAXprogrd",thatisactivatedby in lBM prog, d", 108 requesting conneclion. Although FlG. 2 depicts only two client programs SUBSTITUTE SHEET (RULE 26) 1040ntwoclientsystems106,accordingtothepresentinventionmultipleproyl~llls1o4 ,e,idenl on one or more client systems 106 can communicate with prog, a",s in one or more IBM
systems.
Agiven numberof logical unitsessionswiththe IBM prog,ar,.s 108(established by 5 server proct"es 134) are maintained at all times. One logical unit session is used by one server process 134 to allow a client program 104A to communicate with an IBM pr og-~r,.108.
[slabli,l.edlogicalunitsessionscanalsobeusedbylBMp,oy,a".s108tocommunicatewith client p- oy~ all-s 104B. Having logical unit sessions established in advance provides a per~u..,,anceadvantagebecauseclientp,oyldrlls104Adonothavetowaitfo~anLU6.2session 10 to be established by DECserver process 206 when service is requested.
Because system and n~. ork limitations will likely limit the number of availableserver processes 134, a situation may arise where a server process 134 is not available to support arequestingproy-d-,,(eitheraclientproylalll1o4AoranlBMprogram1o8). Inthissituation, requesting program 104A, or 108 will have to wait until a server process 134 becomes av3il?L~le.
In a p. ~re~- td embodiment, an APS client routine 922 (FIG.9) d~e~llpl:~ conne.~ion via another APS 102 if one is av~ ble To enable IBM prog,a".108to initiate a conJer~d~ion with a client proy.a.-- 1048, a logical unit session must already be established by an IBM server process 208.
A manage."enl utility 214 pro~ides an interface that allows ope..,tor control of20 APS 102 via a terminal 262. Some of the capabilities provided by manage",er.~ utility 214 are to allow operd~ol ~ to create additional server proce,ses 134 and allow opera~or~ to manage APS
102 processesand functions.
Amoniluringutility216isp.ovidedtopulldatafromcontrolsection212,format the data into reports and screens, and send the formatted data to a terminal 262. This allows a 25 human ope- alor to llOfiilor the ope~ dliOn of APS 102. Note that moni~oring utility Z16 could be i",~ le.,.en~ed as a subset or subsystem of manage",ent utility 214.
A control section 212 serves as the main wc,rld..g area for APS 102. Control section 212 also serves as a store for global data and makes this data available to server procts,es 134, manage."ent utility 214, monitoring utility 216, and to APS coi.~-oller process 30 132. Additionally, a control file 210 is pro~ided wherein APS 102 stores permanent def initions.
Itshouldbenotedthatthear.l-i~ uredepi ~edanddescribedwithrespectto FIG. 2 was chosen to best illustrate the functionality of the present in~e"~ion. Numerous alternative physical and/or logical architectures could be chosen to i",ple."en~ the desired fu",~ionali~y. Itwould be appa,ent to a person skilled in the .~leJ_nl art howsu ch al~l .,.d~i~/e 35 ar.l-i~ ureswould be i..,ple."enled.
A method for interfacing a client p~ Oyl alllS 1 04A to an IBM p- oyl al 1l 108 through DECserver process 206 is depLled in FIG.3. Refer. ing now to FIGS.2 and 3, this method will now be des~. iLed. This description is pr~ided in terms of client prog, arll 104A in a first SUBSTITUTE SHEET (R!JLE 20) computing en~;.ofi...enl requesting connection to prog,ar..108 in a second computing environment.
In a step 302 when APS 102 is started, a specified number of DECserver proce"es 206 are created. The number of DECserver processes 206 created is chosen based on projected 5 link requi er,.enl~, and the number of those are defined in control file 210. Enough are created so that there is typically a DECserver process 206 available when a prog. a".104A, requests a conne~lion to a proy.. 108. For each DECserver process 206 created, a logical unit session is established with an IBM ployldm 108.
In a step 303, DECserver process 206 waits for a service request. When a service is 10 requested by a prog, _r.. 104A, APS controller process 132 receives the request from proy. _...
104A. This request is made via an inlerd.li~/e session 242. This inte. a~live session 242-is active during the time that client proy. . .104A is req uesting a session.
In a step 304, APS controller process 132 determines whether a DECserver process206 is available. Note, in a system using classes of DECserver pl oce,ses 206, the real determination is wheli-er a DECserver process 206 of the correct class to handle the desired session is available. If a DECserver process 206 is available, it is allocated to requesting prog,d,--104AbyAPScofil,oll~process132inastep306. Alsoinstep306,APScontrollerprocess132 assigns a unique session ID, informs the designaled DECserver process 206 of the ID, and sends conne.lion information to requesting proy- dlll 104A. At this time, interactive session 242 is 20 terminated.
In a step 308, requesting prog, .A.,1104A establishes a session 244 directly with the designated DECserver process 206. In a step 309, the con~/e.,alion belwec.) client application 104A and IB M pl ogl _. " 108 occurs via the ,,ueci ~ied DECserver process 206. Requesting p. og, _." 104A, begins transmitting data to ~,eciried program 108 in the second computer 25 en~/i, on."enl. Once the session is established, APS controller process 132 is not actively involved in the communication ~elwe~n requesting prog, _r.,104A, and s~ecitied prog, ar" 108.
While the con~le. ,dlion e,ldbl;,hed in step 309 is active, APS 102 pe, ~ur-"s all data con 1/cr,ions nece"d- y to allow requesting progr_. Il 104A to comm unicate with ",eci fied proy,ar" 108. ForeA_mple,APS 102 receivesdatafrom requesting p,og,.. 104Avia DECnet.
30 Whenthisdataistransmittedto,l,eciriedlBMproy.a...108,itistransmittedusingAPSLU6.2 routines that provide communications co",palil,le with the IBM environment. In this scenario, a characterco""_r,ion from ASCII to EBCDIC can be performed byAPS 102 aswell.
When the communication is completed, either prog. a." can de-allocate the conversation through DECserver process 206 in a step 314. In response, in a step 316, DECserver 35 process206dc allccatestheconversationtoplog,dr" 108(ortoclientproy,_." 104A)and informsAPS~unl-,Jl'e process132thatitisreadytoacceptanewconve.,alionrequest. Note thatDECserverprocess206canalsoterminateeithersession. Oncethecon~e.,dlionandthe SUBSTITUTE SHEET (R!JLE 26) wo gs/oogos 2 1 6 4 5 2 4 PCT/EY94/01949 _ DECnet session are terminated, DECserver process 206 returns to the status indicated in step 303.
If, in step 304, APS controller process 132 determines that no DECserver process206 is a;_ 1- ' le to handle the requested session, APS controller process 132 informs requesting - 5 p~c,g.~.. 104Ainastep310. Inastep312,requestingproy.ar.,104Atriestoconnectviaa backup APS 102 if one or more are available. Accoi Jing to a p~ efer,ed embodiment, client routines 922 (FIG. 9) must initiate the operation of looking for another APS 102.
The method described above with respect to F~G.3 will now be further illustratedby way of a specific example. When a .unne.lion to an IBM prog. all.108 is requested by a VAX
10 clientp.oy-.,r,- 104A,APScontrollerprocess1321OoksforanavailableDECserverprocess206Of the approp- iale class. If a DECserver process 206 is available, APS conl.,Jllcr process 132 -llorates it to the requesting client ,c,- uy- _... 104A, assigns a unique session ID, notifies the DECserver process 206 of the ID, and sends connection information to requesting client pl c,y- _. - 104A. Requesting client pl ogl L.-- 104A then establishes a DECnet session directly with the desigr aled DECserver process 206. In response, the DECserver process 206 establishes a cor~ . ,alion with ,,~ e-ci rie-d p- og- _..- 108 and proy. d --- 104A communicates with pl og. arll 108 by way of that DECserver con~e. ~lion.
When client p. uyl _...104A has completed its commun. Iion, it disconne-l~ the DECnet session to DECserver process 206. DECserver process 206 deal locates the con~/er,alion 20 tolBMprog-_.-- 108,andinformsAPScontrollerprocess132thatitisreadytoacceptanewconversationrequest. If IBMproy.a...108terminatesthecon1~ersdlion,DECserverprocess206 terminates the session to client prog, all.104A.
Additionally, the DECnet session and the LU session to DECserver process 206 canbe Ji,_onne.led by DECserver process 206. This happens in the event of an error.
As cli~r~csed above, in step 309 DECserver process 206 establishes a con~_. ,dlion with the speci~ied IBM proylalll 108. FIG.4 is a flow diagram illu~llalil)g the stepsfollowed by DECserver process 206 in e~labli~l,in9~maintainin9 and terminating this conne.lion. FIG. 4 is discussed in terms of DECserver process 206 establishing a session and facilitates a subsequent .ori~ler,dlion with a speciried IBM proy.a...108. Based on the following discussion, itwould be 30 obvious to a person skilled in the releJ_nt art how the method discussed with respect to FIG. 4 also applies to the more general case of a server process establishing a communication for a prc.y._...inafirstcomputingenJ;.or,..enttocommunicatetoaprog.~r..inasecond computing en~lirori,..enl.
Refe" i"g now to FlGs.1,2 and 4, in a step 402, DECseNer process 206 establishes35 an LU session to specified IBM prog.a...108. In one embodiment, thissession is initially e,~blished at the start-up of APS 102 and subsequently at the startup of each server process 134.

SUBSTITUTE SHEET (RIJLE 26) WO 95/00905 2 f 645~4 PCT/EP94/01949 In a step 404, DECserver process 206 receives a DECnet conne.Lion request from APS client pl oyl allM 04A following the initial interaction with APS controller process 132.
Clientprog,a",104Aisrequestingconne~liontoas,uecitiedlBMproy,a",108. ~nastep406,in ~e,~,onse to this request, a con./~. ,dlion is allocated to specitied IBM program 108.
Now that the necessary conneclions are es~ablisl ,ed, data is l,an,te, red between client p- oy. ~..-, 104A and IBM proy, .flll 108 in a step 408. This llarlstèr takes place independenlly of APS controller process 132. To accomplish this transmit, APS 102 uses APS
DECnetroutinestol-afi,rerdatawithclientp.oy.a,.,104AviaDECnet122. APS102alsousesAPPC/LU6.2 routines to llan,rer data to a specitied IBM program 108. Alternative 10 e.,-~' ,lenl~maybeconsideredwllêr~inotherroutinesareusedtoretrieveandlortransmit data to/from other computing er,viron",enl~.
If the LU6.2 session terminates prematurely (box 409), server process 134 attempts to ree,~-bli~l, the LU6.2 session in a step 410. In a p~erer.ed embod;",el-t, the ~-llell,pl~ are made periodically after a ~ eciriêd time-out period. The operation of re-establishing a necc j~. y LU6.2 session is 1. .In~,uarenl to the user of client prog, ar" 202A. The time-out period is chosen so that server process 134 has the opportunity to reestablish communications without e--~,anJing system resources indefinitely. But, if an LU6.2 session is lost, DECserver process 206 terminatesthesessiontoclientploy.am 104Aandbothsessionswillneedtobere-established before a conv_.,dlion can be re-initiated. Note, in this case, DECserver process 206 must 20 l e~.labli h the LU6.2 session prior to being available for other sessions to client pl oy, al"S 104A.
Client proy, ar" 104A must pe- io-Ji~lly query for the re-established DECserver process 206 or seek an alternative DECserver 206 process.
If asessionbel~ tnclientproy,_." 104andserverprocess134islost,the conversation to IBM proy,a",108 will be terminated. I IDww~r, the LU6.2 session to IBM
25 P~ o YI _." 108 will not be terminated. The affected DECserver process 206 will be available for the next requesting client proy. _." 104.
If the session does not terminate prematurely, DECserver 206 terminates the .ul, .~_r,dlion at the request of either client p. oy, al 1 l 1 04A or IBM proy, dfi,108 in a step 412.
Either IBM proy,d--,108 orVAX client plOg-_." 104A mayterminate the conversation aswell.
A second example will now be des~. il,ed to illustrate what occurs when an IBM
plOg,aU,108requestsconnecliontoaVAXprog.a",1040. BecausetheLU(logical unit)session must have been established by APS 102, conne.lion requests by an IB M prc,yl _. " 108 can only occur on active LU sessions. IBM server process 208 keeps track of its established session and waitsuntilanlBMproy,afi,108requestsacon~.,dlion. Whenthisours,lBMserverprocess 208 es' ' ' shes a DECnet session to the specified client prog, ar" 104B. Once this session is active, both the IBM proy-_.-,108 and the client plog, .~I.M04B can send and receive data and status messages (i.e., they can carry on a con~l~r,alion over the sessions). Additionally, both SUBSTITUTE SHEET (RULE 2S) WO 95/00905 PCTIEP94/0194g IBM proy-a-,- 108 and VAX program 104B can de-allocate the con~er,alion. When this occurs, IBM server process 208 leaves the LU session active and waits for anc,ll.er conver~dlion request.
The process followed by IBM server process 208 in connecting IBM-program 108 to client p-oy-_..- 104B accor.:' ~g to a prerer.ed embodi."ent, will now be des~. ibed. FIG. 5 is a - 5 flowchart illu,l~ lg the method followed by IBM seNer process 208 in establishing such a conne-lion. Re~el ~ g now to Fl6s. 1,2 and 5, in a step 502, IBM server process 208 establishes a permanent LU session to IBM program 108.
Inastep504,1BMserverprocess208receivesarequestfromlBMproy,ar,. 108for conne~lion to client prog, ~ ." 104B. In a step 506, IBM server process 208 establishes a DECnet 10 sessiontothe,,ue~iriedclientp~og,a", 104B.
Once the conversation is established, llall~rer of data and statuses can occur belwe~n IBM prOgf<,.l M 08 and client progla", 1040 in a step 508. This l,ar,,rer takes place inclependenlly of APS controller process 132. IBM server process 208 pe, rOr~s communications and/orprotocol con~/er,ionsnece..a.yto l,ar,,terdata bel~vc~n requesting IBM prog,a", 108 and specified client proylalll 104B. In a p~efer,èd embodiment, APPC/LU6.2 routines are used to llan,rèl data with IBM prog, all, 108, and DECnet routines are used to llan~rer data via DECnet 122 with speci ried client prog, dll M 04B. Alternative embod;",er, l, may be considered v"her~i., other commu".c Iions routines are used to l, ar,,rer data bêlween requesting p, og, a. " 108 and spe-i ried prog, ~." 1 04B. If the LU6.2 session terminates prematurely (box 20 509), IBM server process 208 attempts to reestablish the LU6.2 session in a step 510. In a p,efe"ed e",bodi",enl, the dlle"~pl~ are made periodically after a ",e.iried time-out period.

TheOpelaliOl)Oflee~lablijh )ganece~sa,yLU6.2sêssionisl,dri~.a~ehltotheuserofclient p,oyla." 1040. Thetime-outperiod ischosensothatlBMserverprocess208hasthe opportunity to ree,ldblish communiQtions without expanding system resources indefinitely.
25 But,ifanLU6.2sessionislost,1BMserverprocess208terminatesthesessiontoclientprc,y,a", 1040 and both sessions will need to be re-established before a con,ler~dlion can be re-initiated.
Note, in this case IBM server process 208 must reestablish the LU6.2 session prior to being ava ' ' le for other sessions to client proy, ~.."s 1048.
IBM p, oy, all, 108 must periodically query the re-established IBM server process 30 208 or seek an alternative IBM server process 208.
If the session does not terminate prematurely, in a step 512, IBM server process 208terminatesthecommunicationlinkattherequestofeitherlBMproy,~."1080rclient p, Oyl _." 1 04B, leaving the LU session established.
The primary function of APS 102 is to provide a communications illlel tace 35 bel~ en pl Oyl alllS running in different computing enJi, or""ents. To help illustrate this functionalityfurther,AP5102willbediscussedintermsofanexa",FleAPSen~;,onl"entin which p, oyl ~.-,s running in two di r~trei~l computing env;. or".,ents can communicate via APS
102. FIG. 6 is a block diagram illu~ll alil 19 the use of APS 102 in an example env;l on",enl.

SUBSrlTUTE S~IEET (RULE 26) wo gs/~s 2 1 6 4 5 2 4 PCT/EP94/01949 Rere" i"g now to FI6. 6, this environment and the role played by APS 102 therein will be described. Note that the en-il or""enl depicted is merely one ex~ le of the numerous enJ;.on,--enl, in which APS 102 may be ;" ,~le."enlad.
An IB M mainframe 602 (or other system that can implement APPC) runs business 5 p, oyl dlllS 642 to manage the business aspects of a company that manufactures and sells a product. Business ploy,d",s running on the IBM mainframe pe, ~Gr", functionssuch as i"~/enlory calculation, order scheduling, customer billing, and the like.
A plurality of DEC VAXes 604 are used to control manufacturing of the company s products. Manufacturing prog, .,l "s 644 running on VAXes 604 inle, race to and monitor the 10 manufacturing process.
In order to inley, ale the computerized business enJ;. ~,r,l"ent of the company with the computerized manufacturing en~/i, onl"ent, it is necessary that the business proy~ clms 642 communicate with the manufacturing pl Ogl all,s 644. Conventional wisdom dictates that to achieve such communication, a DECnet/SNA gateway 112 be provided to inter race IBM
m~ ,t.~....e 602 with DEC VAX 604.
Also, accor d ng to conventional wisdom, for each VAX 604 to be inle, (dced, separate DECnet/SNA VMS APPC/LU6.2 routines are required for each VAX 604. For large plants having numerous manufacturing production or process-control VAXes 604, the con.re.- liGnal solution requires multiple copies of these routines. This can lead to difficulties from a 20 management pe, ,~,e~ e, as ~iec~ssed in the background section of this document. This can also lead to an inefficient use of network resources.
Ac.ord ~9 to the present i"~nlion, APS 102 inlel races multiple VAXes 604, or otherDECnetsystems,viaasinglegate~_l112. InapreferredemtQ' "enl,asecondAPS102 is also furnished to provide the en~;, onr"enl with redundancy and additional capacity. A box is drawn around each pair of 9dle~ 112 and APS 102 to illustrate that the gateway functionality could be included in APS 102.
APS102inthisen~/;.or""enlwillbefurtherdescribedthroughtheuseofasimple scenario. In this scenario, business prog.d",s 642 generate a production order request in ,e,ponse to a product order. This production order request is to be communicated to manufacturing proy, dlllS 644 on VAX 604 so that the product can be produced in the manufacturing en~;, on",er,l. In response, manufacturing proy, _." 644 will need to communicate with business proyl all, 642 to report changes in ir,ventory based on raw materials used and products produced, and to report other production-related data. FIG.7 is a rlo~_l,a, l thatwill be used to illustrate the steps i-,~olv~d in ~dll~;n9 outthis scena. io.
Rere, . ing now to FlGs.6 and 7, in a step 702, business proy, d"~ 642 running on IBM mainframe 602 generales a production order and wishes to transmit it to manufacturing p, oyl _." 644 running on VAX 604. In step 704, business program 642 ~:,ldabli,hes a connection with manufacturing p, oy, dll,644. According to convenlional wisdom, using a DECnet/SNA

SUBSTITU~E S~i~ET (RULE 2 2 1 6 4 5 2 4 ~/E~/~1949 gal~J)_y 112 i..le. raced directly to a VAX 604, this could not be accomplished because business p.Oyl .A.II 642 could not establish a conne.lion to VAX 604. However, accor." ~9 to the present in~/e. .lion, because APS 102 has already established an LU session with IBM mainframe 602 via 9dl_~r/_y 112, business P,os,.,." 642 can establish a com~er,dlion with manufacturing program 5 644, as discu~secl above with respect to FIG. 5.
Once this connection is established, business program 642 transmits the production order to manufacturing program 644 in a step 706. Again, this l.ar,,rer is conducted in accordance with the ",elhod~ discussed with respect to FIG. 5. Upon receipt of the production order, manufacturing prog,~,.., 644 carries out the production of the requested 10 product in a step 708.
Manufacturing prog. a...644 now would like to communicate production information to business p, uy, ~",s 642. This information includes information such as raw materials used and quantity of products produced. To communicate this information, manufacturing prc.g, ~,." 644 establishes a connection with business prog. a", 642 via APS 102 in astep710. ThisisaccomplishedbyAPS102establishingconnectiontobusinessprog,a",s642as di~cucced above with respect to FIG. 4. In a step 712, production prc,y. ~.hl 644 sends the en~o- y and prûduction information to business pruy, dr"s 642 via APS 102.
Note that through the use of APS 102, multiple communication links can be eC~h' ched to allow commun ~ tiGns belween multiple manufacturing proy,~r"s 644 and 20 multiple business prog, dlllS 642. Also, APS 102 allows business proy, dr"s 642 to initiate a communication l,drsa.lion with any one of multiple manufacturing proy, ~Ams 644. This second feature prolided by APS 102 was previously unavailable using the cc n~/enlional wisdom of gal~ _y 112 (except for some limited capability if a prior link with a gate ~ray by a client had been established by the client).
Also note that in this enJ;. Gn",enl, DEC VAXes 604 are configured as clients toUPS 102. As illustrated in FIG. 6, communications between APS 102 and client VAXes 604 is via DECnet 122. Comm~"~icalions belwcen gal~ va) 112 and IBM mainframe 602 are via IBM
communications protocol SNA.
Communications betJ~een APS controller process 132 and server processes 134 are illustrated in FIG.8. Interface routines 802 are provided to enable server pl oces~es 134 to communicate with APS controller process 132. Several mailboxes 804,806,808,810 are p~ ovided to facilitate exchange of ",es~ages, commands, and requests bel~e~n APS controller process 132 and server pro.esses 134. There is one server process mailbox 804 for each APS server process 134. Server process m~ilhoxes 804, and cor,l-~ r manage",ent mailbox 806, allow 35 ,-sy.,.lonous ope.alion of cor,t.oller process 132 and server processes 134. Messages, commands, and requests can be deposiled in mailboxet, 804,806 and at any time and el- ;eved and p- oceed by the destination process 132,134 at a later point in time.

SUBSTITUTE SH~E T (~ULE 26) Server process mailbox 804 stores commands and messages sent by controller process 132 and fo~ v:. ~ds them to server processes 134. Such messages can include information such as the session ID, and other connection information.
A co.,~- Jll~r manage...ent mailbox 806 is provided to store ..essages from APS5 serverp.oce,ses 134andfrom managementutility214. Thesemessagesarethenforwardedto controller process 132. An e~a---~l~ of these messages are request to retrieve information from control file 210.
APScofil-~,llerprocess 132communicatestomanage,..entutility214viaa manage---enl utility mailbox 810.
A process termination mailbox 808 stores termination messages 822 generated by VAX/VMS regarding termination of a server proeesses 134 and forw_rd, them to controller process 132. Such termination messages are created when a server process dies or exits.
Controller process 132 acts on this by re~l~d~ing terminated server process 134. VMS
termination mesca~es 822 are illustrated using a dashed line to illustrate that they actually 15 come from VMS and not f rom server process(es) 134.
As mentioned above, in a pre~er~ed e..,ba liment, APS 102 is imple...e.-led suchthat it forms a client-server relationship with VAXes 106. The connection between one APS
serverprocess134andoneVAX106isillustratedinFlG.9. ReferringtoFlG.9,aclientproy-an-104, running in VAX 106, has routines that enable communications with APS 102. APS client 20 routines 922 are routines that allow progn~...104 to communicate with APS 102. APS client routines 922 can include calls that are callable by any proy. all. language running on VAX 106.
A list of these routines is illustrated in Table 1.
APS client routines 922 support multiple con~l~r~lions with APS 102, and provide automatic backup server selection. This feature allows APS client routines 922 to select a seconda~ APS
25 102(oroneofanumberofotheravailableAPSs102)intheeventthatprimaryAPS102failsor is .Jtl-e. v/;5e unavailable or no server process 134 is available in the appropriate class. APS client DECnet routines 924 exist in VAX 106. APS DECnet routines 925 exist in APS 102. APS client DECnet routines 924 and APS DECnet routines 925 enable communications via DECnet 122.
APS client routines 906, re,ident in APS 102, perform the functionality necessary 30 to est '~I;.I. the server-client relationship between APS 102 and at least one VAX 106.
Server process 134 provides the connectivity between VAX 106 and the IBM
proylal~towhichitcommunicates. Serverprocess134isdic~uccedinmoredetailabovewith rererence to FIGS.1 through 5.
APS LU6.2 routines 928 and DEC LU6.2 routines 926 provide the communications 35 protocols nece"a- y for APS 102 to communicate via a DECnet/SNA 9d~aVJay to an IBM LU6.2 proyl al~. APS LU6.2 routines provide communications capabilities to an IBM prog.a.... DEC

SUBSllTUTE SHEET ~RULE 26) WO 95/00905 2 ~ 6 4 5 2 4 PCT/EP94/01949 ..

APS CLIENT
PROGRAM ROUTINES
CPI-C Compliant Routines APS_CMA Accept incoming CCP conversation APS_CMIN init conversation to be 0 IT allocated APS_CMSS Set syncrhonization level L
APS_CMA Allocate conversation APS_CMA Send data END
APS_CMR Receive data or status CV
APS_CMS Set deallocation type DT
APS_CMD Deallocate conversation EAL
APS_CMD Reqeust confirmation EAL
APS_CMC Issue confirm FM
APS_CMC Send error FMD
- APS_CMS Request to send ERR
APS_CMR Test request to send TS received SUBSrlllJTE ~;HEET ~RULE 263 wo gs/oogo~ 2 1 6 4 ~ 2 4 PCTIEP94tO1949 APS CLIENT
PROGRAM ROUTINES
APS_CMT Extract syncrhonization RTS level APS_CME Additional APS 102 Client SL Routines APS_RejectConvers ation APS_De~me Timeout APS_SetTraceOptions APS_DefineServerNodes LU6.2 routines 926 are used by the APS LU6.2 routines 924 and provide a communications capability to the DEC gdle~
Because of the layered design, in an alternative embodiment, the client-server relationship herein described, could be replaced or aug",enled to implement anoll-er dedicated function such asfile l~ -,rer.
While various embodi".enl, of the present invention have been des~, ibed above, it should be u- de. ~lood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary em~Q~i .enl,.

~mU~E SHEET (RULE 2B~

Claims (25)

Claims
1. A program-to-program server apparatus for interfacing at least one of a plurality of programs in a first computing environment with at least one of a plurality of programs in a second computing environment, comprising:
at least one server process configured to provide a communications session between the first computing environment and the second computing environment, whereby a first program in one of said first and second computing environment can establish a session with said server process and communicate with a second program in the other of said first and second computing environments, said communication taking place via said server process; and a controller process, coupled to said server process, configured to receive a connection request from said first program and to allocate a communications task to one of said server processes upon receipt of said connection request.
2. The apparatus of claim 1, further comprising a control section, coupled to said controller process, configured to store global data, and to provide said global data to said server processes and said controller process.
3. The apparatus of claims 1 or 2, further comprising a control file, coupled to said controller process, configured to store permanent definitions for use by said controller process and to define the number of server processes available.
4. The apparatus of claims 1 to 3, further comprising a management utility, coupled to said controller process, configured to provide an interface for operator control of the server.
5. The apparatus of claim 4, wherein said management utility is further configured to allow operators to create additional server processes
6. The apparatus of claims 2 to 5, further comprising a monitoring utility, coupled to said control section, configured to retrieve data from said control section, format the data into reports and screens, and send said formated data to a user terminal, whereby a human operator can monitor the operation of the program-to-program server apparatus.
7. The apparatus of claims 1 to 6, further comprising a gateway, coupled to said server processes, configured to provide a communications interface between said first and second computing environments.
8. The apparatus of claims 1 to 7, further comprising:

a server process mailbox, coupled to said controller process and to said server process, configured to store commands and first messages originated by said controller process and to forward said stored commands and first messages to said server process;
a controller management mailbox, coupled to said controller process and to said server process, configured to store second messages from said server process and forward said second messages to said controller process; and a process termination mailbox, coupled to said controller process and to said server process, configured to store termination messages from said server process and forward said termination messages to said controller process.
9. A method for interfacing at least one of a plurality of programs in a first computing environment with at least one of a plurality of programs in a second computing environment, comprising the steps of:
(a) allocating a server process to a first program in one of the first and second computing environments, said first program requesting a session with a second program in the other of the first and second computing environments;
(b) establishing a first session between said first program and said allocated server process;
and (c) establishing a second session between said second program and said allocated server process;
wherein said first and second sessions have a conversation between said first program and said second program.
10. The method of claim 9, further comprising the step of receiving a request from said first program for a conversation with said second program.
11. The method of claims 9 or 10, wherein said step (a) comprises the steps of:
determining whether one of a plurality of server processes is available to provide the session requested by said first program;
allocating said server process to said first program if said server process is available; and informing said first program that a server process is not available if one of said plurality of server processes is not available.
12. The method of claims 9 to 11, further comprising the step of deallocating the session of said first and second programs.
13. The method of claim 12, wherein said session is deallocated in response to a termination request received from one of said first and second programs.
14. The method of claims 9 to 13, further comprising the step of creating said plurality of server processes.
15. The method of claim 14, wherein said server processes are initially created by said controller process.
16. The method of claim 14, wherein said server processes are created when said requesting program requests connection to said specified program.
17. The method of claims 12 to 16, further comprising the step of attempting to reestablish said session if said session terminates prematurely.
18. The method of claims 9 to 17, further comprising the step of performing protocol conversions necessary to effectuate communications between said first and second programs.
19. An integrated plant environment system, comprising:
a business computing environment, comprising at least one computer system configured to run business programs that manage business aspects of the plant;
a plurality of second computing systems, configured to run manufacturing programs that control production of products, wherein said first and second computing systems are not of the same computing environment;
a gateway configured to allow communication between said business programs and said production programs running on one of said plurality of second computing systems; and an advanced program-to-program server, configured to establish a server/client relationship such that production programs in each of said plurality of second computing systems can communicate with said business programs in said first computing system via said gateway.
20. A program-to-program server apparatus for interfacing at least one IBM program in an IBM
environment with at least one DEC program in a DEC environment, comprising:
a server process, configured to establish and maintain at least one logical unit session allowing said IBM program to initiate a conversation with said DEC program; and a controller process, coupled to said server process, configured to accept connection requests from said DEC and IBM programs and to allocate a server process to a program requesting connection.
21. The server apparatus of claim 20, further comprising first means, coupled to said controller process, for storing global data and for providing said global data to said first, second and third means.
22. The server apparatus of claim 21, further comprising second means, coupled to said first means, for storing permanent definitions for use by said controller process.
23. The server apparatus of claim 20, further comprising:
first means, coupled to said controller process and to said server process, for storing commands and first messages originated by said controller process and for forwarding said stored commands and first messages to said server process;
second means, coupled to said controller process and to said server process for storing second messages from said server process and for forwarding said second messages to said controller process; and third means, coupled to said controller for and to said server process, for storing termination messages from said server process and forwarding said termination messages to said controller process.
24. A computer integrated manufacturing environment system, comprising:
an IBM computing environment, configured to run business programs that manage business aspects of a manufacturing plant;
a DEC computing environment, configured to run manufacturing programs that control product manufacturing; and an advanced program-to-program server, configured to establish a server/client relationship such that said manufacturing programs can communicate with said business programs, wherein said advanced program-to-program server comprises:
a server process, configured to establish and maintain at least one logical unit session allowing said business program to initiate a conversation with said manufacturing program; and a controller process, coupled to said server process, configured to accept connection requests from said business and manufacturing programs and to allocate a server process to a program requesting connection.
25. The system of claim 24, further comprising:
gateway configured to allow communications between said business programs and said production programs.
CA002164524A 1993-06-28 1994-06-15 Advanced program-to-program communication server Abandoned CA2164524A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8390293A 1993-06-28 1993-06-28
US08/083,902 1993-06-28
PCT/EP1994/001949 WO1995000905A1 (en) 1993-06-28 1994-06-15 Advanced program-to-program communication server

Publications (1)

Publication Number Publication Date
CA2164524A1 true CA2164524A1 (en) 1995-01-05

Family

ID=22181391

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002164524A Abandoned CA2164524A1 (en) 1993-06-28 1994-06-15 Advanced program-to-program communication server

Country Status (10)

Country Link
US (1) US5802293A (en)
EP (1) EP0706685B1 (en)
JP (1) JPH08511889A (en)
KR (1) KR100343517B1 (en)
AU (1) AU7185494A (en)
CA (1) CA2164524A1 (en)
DE (1) DE69407185T2 (en)
ES (1) ES2111941T3 (en)
HK (1) HK1005347A1 (en)
WO (1) WO1995000905A1 (en)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485369A (en) 1993-09-28 1996-01-16 Tandata Corporation Logistics system for automating tansportation of goods
US5758084A (en) * 1995-02-27 1998-05-26 Hewlett-Packard Company Apparatus for parallel client/server communication having data structures which stored values indicative of connection state and advancing the connection state of established connections
GB2313524A (en) * 1996-05-24 1997-11-26 Ibm Providing communications links in a computer network
US6460020B1 (en) 1996-12-30 2002-10-01 De Technologies, Inc. Universal shopping center for international operation
US6161123A (en) * 1997-05-06 2000-12-12 Intermec Ip Corporation Providing reliable communication over an unreliable transport layer in a hand-held device using a persistent session
US6574239B1 (en) * 1998-10-07 2003-06-03 Eric Morgan Dowling Virtual connection of a remote unit to a server
US6381616B1 (en) * 1999-03-24 2002-04-30 Microsoft Corporation System and method for speeding up heterogeneous data access using predicate conversion
US6965855B1 (en) 1999-05-17 2005-11-15 General Electric Company Methods and apparatus for system and device design and control
US7814208B2 (en) * 2000-04-11 2010-10-12 Science Applications International Corporation System and method for projecting content beyond firewalls
US8600783B2 (en) 2000-08-18 2013-12-03 The Crawford Group, Inc. Business to business computer system for communicating and processing rental car reservations using web services
US7275038B1 (en) * 2000-08-18 2007-09-25 The Crawford Group, Inc. Web enabled business to business operating system for rental car services
US7899690B1 (en) 2000-08-18 2011-03-01 The Crawford Group, Inc. Extended web enabled business to business computer system for rental vehicle services
FR2813679B1 (en) * 2000-09-01 2006-09-29 Airsys Atm S A MULTIPROCESS COMPUTING SYSTEM
US8108231B2 (en) 2002-06-14 2012-01-31 The Crawford Group, Inc. Method and apparatus for improved customer direct on-line reservation of rental vehicles
US20040039612A1 (en) 2002-06-14 2004-02-26 Neil Fitzgerald Method and apparatus for customer direct on-line reservation of rental vehicles
JP4532946B2 (en) * 2004-03-19 2010-08-25 株式会社日立製作所 Application replacement method and program
US7761864B2 (en) 2005-08-09 2010-07-20 Intermec Ip Corp. Method, apparatus and article to load new instructions on processor based devices, for example, automatic data collection devices
US8271309B2 (en) 2006-03-16 2012-09-18 The Crawford Group, Inc. Method and system for providing and administering online rental vehicle reservation booking services
US7757116B2 (en) * 2007-04-04 2010-07-13 Vision Solutions, Inc. Method and system for coordinated multiple cluster failover
KR100909955B1 (en) * 2007-12-17 2009-07-30 한국전자통신연구원 System and method to use service continuously by using heterogeneous terminals
US9081613B2 (en) 2010-11-02 2015-07-14 International Business Machines Corporation Unified resource manager providing a single point of control
US8959220B2 (en) 2010-11-02 2015-02-17 International Business Machines Corporation Managing a workload of a plurality of virtual servers of a computing environment
US9253016B2 (en) 2010-11-02 2016-02-02 International Business Machines Corporation Management of a data network of a computing environment
US8966020B2 (en) 2010-11-02 2015-02-24 International Business Machines Corporation Integration of heterogeneous computing systems into a hybrid computing system
US8984109B2 (en) 2010-11-02 2015-03-17 International Business Machines Corporation Ensemble having one or more computing systems and a controller thereof
US10296968B2 (en) 2012-12-07 2019-05-21 United Parcel Service Of America, Inc. Website augmentation including conversion of regional content
CN104657124A (en) * 2013-11-25 2015-05-27 中国直升机设计研究所 Method for integrating PDM system based on XML RPC
US9965466B2 (en) 2014-07-16 2018-05-08 United Parcel Service Of America, Inc. Language content translation
TWI742774B (en) * 2020-07-22 2021-10-11 財團法人國家實驗研究院 System for computing and method for arranging nodes thereof

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61121153A (en) * 1984-11-19 1986-06-09 Nec Corp Inter-processor communication control system
US5218713A (en) * 1985-06-17 1993-06-08 International Business Machines Corporation Distributed data management mechanism for handling a data stream
US4739398A (en) * 1986-05-02 1988-04-19 Control Data Corporation Method, apparatus and system for recognizing broadcast segments
US4914619A (en) * 1987-10-19 1990-04-03 International Business Machines Corporation Apparatus and method for interconnecting an application of a transparent services access facility to remote source
US5218697A (en) * 1990-04-18 1993-06-08 Microsoft Corporation Method and system for networking computers having varying file architectures
AU639802B2 (en) * 1990-08-14 1993-08-05 Oracle International Corporation Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment
AU631749B2 (en) * 1990-09-14 1992-12-03 Digital Equipment Corporation System and method for communication between windowing environments
JPH0727504B2 (en) * 1990-12-10 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレイション System for defining network configuration, method for generating configuration parameters for network, and system for configuring network
US5291416A (en) * 1991-03-08 1994-03-01 Software Algoritms Incorporated Event feedback for numerically controlled machine tool and network implementation thereof
US5317568A (en) * 1991-04-11 1994-05-31 Galileo International Partnership Method and apparatus for managing and facilitating communications in a distributed hetergeneous network
US5586240A (en) * 1992-03-11 1996-12-17 Genesis Software, Inc. Image generation and retrieval system integrated with arbitrary application using layered interface
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments

Also Published As

Publication number Publication date
EP0706685B1 (en) 1997-12-03
DE69407185T2 (en) 1998-06-10
KR960703249A (en) 1996-06-19
JPH08511889A (en) 1996-12-10
DE69407185D1 (en) 1998-01-15
HK1005347A1 (en) 1998-12-31
EP0706685A1 (en) 1996-04-17
US5802293A (en) 1998-09-01
ES2111941T3 (en) 1998-03-16
AU7185494A (en) 1995-01-17
WO1995000905A1 (en) 1995-01-05
KR100343517B1 (en) 2002-11-29

Similar Documents

Publication Publication Date Title
CA2164524A1 (en) Advanced program-to-program communication server
CN112799789A (en) Node cluster management method, device, equipment and storage medium
CN1050916C (en) System for implementation-independent interface specification
CN100353714C (en) Method for realizing Web service automatic test
EP0312739B1 (en) Apparatus and method for interconnecting an application of a transparent services access facility to a remote source
EP1170662A3 (en) Apparatus and method for dynamically allocating computer resources based on service contract with user
US7085805B1 (en) Remote device management in grouped server environment
US20100077250A1 (en) Virtualization based high availability cluster system and method for managing failure in virtualization based high availability cluster system
WO1999023784A3 (en) Distributed web application server
CN103777950B (en) Gridding method for resolving AOS (Advanced Orbiting System) telemetering data
CN110071965B (en) Data center management system based on cloud platform
WO2021159831A1 (en) Programming platform user code running method, platform, node, device and medium
CN113489805B (en) Butt joint method, device, equipment and storage medium of cloud desktop system
CN108563455A (en) Middleware portion arranging method, system and equipment in a kind of K-UX operating systems
CN113938516A (en) Method and system for synchronously realizing transaction processing of heterogeneous system
CA1196424A (en) Electronic document distribution network with dynamic document interchange protocol generation
CN101631134A (en) Network message exchange service manager for distributed type computing environment
CN110532060A (en) A kind of hybrid network environmental data collecting method and system
CN105933136B (en) A kind of resource regulating method and system
US6314462B1 (en) Sub-entry point interface architecture for change management in a computer network
CN116089079A (en) Big data-based computer resource allocation management system and method
CN113238928B (en) End cloud collaborative evaluation system for audio and video big data task
Simon Peer-to-peer network management in an IBM SNA network
CN113419745A (en) Application instance number management method and device, electronic equipment and computer readable medium
CN114090242A (en) Model training method, device, equipment, storage medium and program product

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued