KR100343517B1 - 확장프로그램간통신서버 - Google Patents

확장프로그램간통신서버 Download PDF

Info

Publication number
KR100343517B1
KR100343517B1 KR1019950705792A KR19950705792A KR100343517B1 KR 100343517 B1 KR100343517 B1 KR 100343517B1 KR 1019950705792 A KR1019950705792 A KR 1019950705792A KR 19950705792 A KR19950705792 A KR 19950705792A KR 100343517 B1 KR100343517 B1 KR 100343517B1
Authority
KR
South Korea
Prior art keywords
program
server
server process
aps
ibm
Prior art date
Application number
KR1019950705792A
Other languages
English (en)
Other versions
KR960703249A (ko
Inventor
게오르게 반 데어 지야프트
Original Assignee
다우 베네룩스 엔. 브이.
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 다우 베네룩스 엔. 브이. filed Critical 다우 베네룩스 엔. 브이.
Publication of KR960703249A publication Critical patent/KR960703249A/ko
Application granted granted Critical
Publication of KR100343517B1 publication Critical patent/KR100343517B1/ko

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

본 발명은, 제1컴퓨터환경의 프로그램과 제2컴퓨터환경의 프로그램의 인터페이스를 취하기 위한 시스템 및 방법을 제공한다. 확장 프로그램간 서버(APS)는 클라이언트 컴퓨터에서 주행하는 프로그램과 다른 컴퓨터환경에서 주행하는 프로그램간의 데이터교환을 가능하게 한다. APS 콘트롤러 프로세스는 다수의 서버프로세스를 생성하고 관리한다. 이 서버프로세스는 클라이언트 서버기능을 실행함으로써, 어떤 컴퓨터환경의 클라이언트 프로그램과 다른 컴퓨터환경의 프로그램 사이에 통신링크를 확립하고 부여한다. APS는 복수의 클라이언트가 단일서버를 통해 통신가능하게 하는 단일 제어포인트를 제공한다.

Description

확장 프로그램간 통신서버
[발명의 분야]
본 발명은 일반적으로 클라이언트 서버에 관한 것으로, 특히 어떤 컴퓨터환경의 프로그램과 다른 컴퓨터환경의 프로그램의 인터페이스를 취할 수 있는 클라이언트 서버에 관한 것이다.
[관련기술]
비용면에서 유리한 가격으로 컴퓨터 성능의 향상이 이루어짐에 따라, 오늘날의 산업은 그 경영상의 필요사항을 처리하기 위해 컴퓨터에 의한 해결책을 점점 이용하고 있다. 그러나, 산업의 대부분이 추구하고 있는 컴퓨터화의 발전사이클은 어떤 공장내에서의 그러한 컴퓨터 해결책의 전자적 분류를 초래하고 있다. 예컨대, X사는 그 비지니스와 재무에 관한 필요사 전부를 처리하기 위한 IBM(International Business Machines)사의 메인프레임과, 제조 및 생산공정을 관리하기 위한 VAX(디지털 이큅먼트사로부터 판매되고 있다)를 소유하고 있을지도 모른다.
어떤 시점까지는, 이러한 상위는 기업에 있어서 거의 문제로 되지 않는다. 각각의 컴퓨터화 경영은 다른 것과는 충분히 독립하여 기능한다. 그러나, 이 종래 해결법에는 몇 개의 결점이 있다. 기업이 컴퓨터화된 비지니스 경영을 독립적으로 컴퓨터화된 생산경영과 통합하려고 착수하면, 인터페이스의 과제를 해결할 필요가 있다. 완전한 통합화를 위해, 기업은 그 생산용 컴퓨터(예컨대, VAX 클러스터)로부터의 데이터를 그 비지니스용 컴퓨터(예컨대, IBM 메인프레임)의 데이터와 교환할 수 있어야만 한다. 그렇게 하면, 기업은 그 재고의 갱신, 출하스케줄의 생성 등을 자동화할 수 있을 것이다.
이러한 통합화의 요구를 충족시키기 위해, 다른 컴퓨터환경간에서 그러한 데이터교환을 가능하게 하기 위해 몇가지 방법이 개발되고 있다. 예컨대, 어떤 컴퓨터 제조업자는 VAX기가 IBM 컴퓨터 및 그 클론(clone)이나 호환기와 인터페이스를 취하도륵 하는 게이트웨이(gateway)를 제공하고 있다. VAX기가 이 게이트웨이를 통해 IBM기와 통신하기 위해서는, 그러한 통신을 가능하게 하는 소유권 주장가능한 소프트웨어 라이브러리를 사용해야만 한다. 예컨대, IBM의 시스템 네트워크 구조 논리유니트(LU) 6.2 구체화에 기초한 확장 프로그램간 통신(APPC: Advanced Program-to-Program Communication) 루틴인 DECnet/SNA VMS APPC/LU6.2 프로그래밍 인터페이스 루틴을 사용할 수 있을 것이다. 이러한 루틴은, 개인용 컴퓨터를 포함하여 모든 IBM기(및 그 클론)와의 LU6.2 통신과의 통신을 가능하게 한다.
IBM 프로그램과 통신할 필요가 있는 VAX에서 주행하는 프로그램은 이 APPC/LU6.2 루틴 및 관계하는 소프트웨어 라이브러리를 사용할 수 있다. 그러나, APPC 루틴에 의한 프로그래밍은 곤란하고 시간이 걸리는 작업으로 되는 경향이 있고, 그들 루틴은 네트워크 자원 및 컴퓨터통신 자원의 상당한 할당을 필요로 한다. 그 하나의 이유는, APPC를 이용하여 기록되는 프로그램이 "콜(call)"을 요하기 때문이다. APPC 콜의 일부 것은 20개나 되는 파라미터를 필요로 한다. 지정된 파라미터는 VAX에서 유지되어야만 한다. 또, 일부 파라미터는 IBM측의 관계하는 정의와일치해야만 한다. 더욱이, 이들 파라미터중 일부는 IBM 지향이고, 일부는 VAX 지향이기 때문에, 시스템 개발자는 콜 파라미터를 적절하게 처리하기 위해 양쪽 환경의 전문지식이 요구된다.
본 명세서에서는, 용어 "프로그램"은 어플리케이션이나 그 외 종류의 컴퓨터 프로그램, 루틴, 프로세스 등을 가리키기 위해 사용된다. 통상, 어플리케이션은 어떤 기능을 실행하기 위해 1개로 통합된 1개 이상의 프로그램을 포함한다.
종래의 게이트웨이에 의한 해결법에 따른 다른 문제는, 게이트웨이에 접속된 각각의 VAX기가 IBM기와 통신하기 위한 소프트웨어 라이브러리를 가져야만 한다는 것이다. 환언하면, 게이트웨이를 매개로 IBM기와의 링크를 확립 또는 수신하고자 하는 각 VAX기는 소프트웨어 라이브러리의 복제를 가져야만 한다. 이것은 게이트웨이 환경의 관리에 관계하는 부가적인 문제를 초래한다. 상술한 파라미터는 실시되는 각 시스템에서 유지 및 갱신되야만 하고, 그 갱신은 종종 동시에 생겨야만 한다. 극히 다수의 시스템이 관여 하는 경우에 이러한 유지는 곤란한 관리작업이다. 다른 결점은, IBM기와 통신하는 각 VAX기에서 사용하기 위한 소프트웨어 라이브러리의 라이센스 계약에 관계하는 비용이다.
현재 이용가능한 게이트웨이 기술의 또 다른 결점은, LU6.2세션이 미리 IBM기로 확립되어 있지 않는 한, 또는 VAX기가 IBM기에 접속된 게이트웨이로 세션을 확립하고 있지 않는 한, IBM 메인프레임은 VAX기에서 회화를 개시할 수 없다는 것이다. 종래 지식에 따르면, IBM기는 네트워크상의 다수의 VAX기중 1대를 "찾아서' 발견할 수 없다. IBM기가 특정의 VAX기로 송신하고자 하는 데이터를 가지고 있는경우, IBM기는 먼저 VAX기가 IBM기와의 접속을 확립하지 않는 한, 그 데이터를 송신할 수 없다.
구해지고 있는 것은, 복수의 클라이언트 컴퓨터에서 주행하는 복수의 클라이언트 프로그램과, 다른 컴퓨터환경의 프로그램의 인터페이스를 취하기 위한 시스템과 방법이다. 이 이상적인 해결법은 종래 시스템에 존재하는 관리문제를 경감시키기 위해 단일 제어포인트를 제공할 것이다.
[발명의 개요]
확장 프로그램간 서버(APS)는, 어떤 처리환경의 프로그램이 다른 처리환경에서 주행하는 프로그램과 데이터를 교환할 수 있도록 하기 위한 시스템 및 방법을 제공한다. 이 APS는, 다른 컴퓨터환경에 있는 1대 이상의 컴퓨터와의 통신제어를 위한 단일 포인트를 부여하는 복수의 클라이언트 컴퓨터와의 서버관계를 형성한다.
이 클라이언트 서버관계의 이점은, 클라이언트 시스템의 프로그래머가 어플리케이션 레벨에서 실시하기 위한 통신기능은 어느 것인가라는 문제 및 그들 기능의 실시방법에만 관여하는 것이다. 그것들은 다른 컴퓨터환경과 통신하기 위해 필요한 통신세션 접속기법에 관여하지 않는다. 클라이언트 시스템과 다른 컴퓨터환경간의 통신세션접속에 필요한 기법은, 클라이언트 시스템에 인스톨되면서 APS를 매개로 다른 컴퓨터환경과 투명(transparent) 통신을 제공하는 APS 클라이언트 루틴을 이용하여 클라이언트 시스템에 의해 억세스된다. 그 결과, 그들 2개의 컴퓨터환경간의 통신인터페이스를 실행하기 위해 단일 제어포인트가 부여된다. 이에 따라, 통신링크의 관리를 위한 필요조건이 현저하게 저감되게 된다.
APS는 각 통신환경의 프로그램간에 투명통신 서비스를 제공한다. 그 결과, 그들 프로그램은 상호통신하기 위해 각자의 통신기법을 사용한다. 단순한 SAA CPI-C(Systems Application Architecture. Common Programming Interface for Communications) 호출가능 루틴은, 그 인터페이스를 기동시키고, 기동하면 인터페이스와 대화하기 위해 클라이언트 시스템에 제공된다.
APS는, 제2컴퓨터환경의 프로그램과 통신하기 위해 제1컴퓨터환경의 프로그램에 의해 사용되는 복수의 서버프로세스를 확립하고 유지한다. 한쪽 컴퓨터환경의 프로그램이 다른 컴퓨터환경의 다른 프로그램과 통신하고자 하면, 그 프로그램은 APS를 매개로 세션을 요구한다. 그러한 요구를 수신하면, APS 콘트롤러 프로세스는 이 세션을 형성하기 위한 서버프로세스를 지명한다. 제1컴퓨터환경의 프로그램과 제2컴퓨터환경의 프로그램간에서 그 세션은 확립된다. 세션은 어느 한쪽의 프로그램의 요구에 의해 절단될 수 있다.
본 발명의 더욱 상세한 특징 및 이익은, 본 발명의 각종 실시예의 구조 및 동작과 더불어 첨부도면에 의해 이하에 상세하게 설명된다.
본 발명은 첨부도면에 의해 설명한다. 도면에서, 동일한 참조번호는 동일 또는 기능적으로 유사한 요소를 나타낸다. 게다가, 참조번호의 최상위 자릿수는 그 참조번호가 최초로 사용된 도면을 나타낸다.
제1도는 본 발명에 따른 APS와 그 주위환경의 고수준 블록도이고,
제2도는 본 발명에 따른 APS의 기능성을 예시하는 기능블록도,
제3도는 제1컴퓨터환경의 클라이언트 프로그램과 제2컴퓨터환경의 프로그램의 인터페이스를 취하기 위한 방법을 예시하는 흐름도,
제4도는 지정된 IBM 프로그램과의 세션을 확립하고 실시하는 DEC 서버프로세스의 특정 실시예를 예시하는 흐름도,
제5도는 지정된 클라이언트 프로그램과의 세션을 확립하고 실시하는 IBM 서버프로세스의 특정 실시예를 예시하는 흐름도,
제6도는 본 발명에 따른 APS의 예시적인 구체화를 예시하는 블록도,
제7도는 비지니스환경의 프로그램이 제조환경의 프로그램과 통신하기 위해 APS를 사용하는 상황을 예시하는 흐름도,
제8도는 APS 콘트롤러 프로세스와 APS 서버프로세스간의 내부 인터페이스를 예시하는 블록도,
제9도는 2개의 컴퓨터환경과 APS의 인터페이스를 취하기 위해 사용되는 루틴을 예시하는 도면이다.
본 발명의 확장 프로그램간 통신서버(APS)는, 2개의 다른 처리환경에서 주행하는 프로그램간의 데이터교환을 가능하게 하는 시스템 및 방법이다. 특히, APS는 어떤 컴퓨터환경의 1개 이상의 클라이언트가 다른 컴퓨터환경의 1개 이상의 호스트 (host)와 인터페이스를 취하는 것을 가능하게 한다.
바람직한 실시예에 따르면, APS는 복수의 VAX가 복수의 IBM 메인프레임과 통신할 수 있도록 하는 통신인터페이스를 부여한다. 보다 상세하게는, 이 실시예에서는, 서버는 복수의 VAX가 LU6.2통신을 사용하는 IBM과 통신하기 위해 DECnet를 매개로 인터페이스를 취하는 것을 가능하게 한다.
이 명세서의 일부는 바람직한 VAX 및 IBM 실시예에 기초하여 APS를 설명하고 있다. 그러나, 당업자에게 있어서, 다른 통신네트워크, 규격 및 프로토콜을 이용하는 다른 컴퓨터환경의 인터페이스를 취하기 위해 APS를 어떻게 사용할 수 있는지는 명백할 것이다.
APS시스템은 클라이언트-서버개념에 따라 설계된다. 즉, IBM 프로그램과의 통신은 APS에 의해 취급되고, 클라이언트 시스템(VAX)은 데이터나 상태(status)를 포함할 수 있는 정보를 IBM 프로그램과 교환하기 위해 APS시스템을 사용한다. 이 클라이언트 서버관계의 이점은, 클라이언트 시스템의 프로그래머가 어플리케이션 레벨에서 실시하기 위한 통신기능은 어떠한 레벨인가라는 문제 및 그들 기능의 실시방법에만 관여한다는 것이다. 그들은 다른 컴퓨터환경과 통신하기 위해 필요한 통신세션 접속기법에 관여하지 않는다. 클라이언트 시스템은, CPI-C에 기초한 루틴인 공급된 APS 클라이언트 루틴을 호출함으로써 통신세션접속에 필요한 기법을 조성한다. 이들 루틴은 IBM 프로그램과의 APS를 매개로 한 투명통신을 제공한다. 통신기능의 대부분이 APS에 의해 취급되기 때문에, 클라이언트 프로그램이 IBM과 통신하는 것은 용이하다.
APS시스템 및 그 환경의 고수준 블록도를 제1도에 나타낸다. 제1도에 의하면, APS(102)는 VAX/VMS환경(106)에서 주행하는 APS 클라이언트 프로그램(104)이IBM환경(110; 예컨대, 1대 이상의 메인프레임)에서 주행하는 IBM프로그램(108; LU6.2프로그램 등)과 통신하는 세션을 제공한다. APS(102)는, 1대 이상의 VAX(106)에서 주행하는 복수의 APS 클라이언트 프로그램(104)이 1대 이상의 IBM기에서 주행하는 1개 이상의 IBM프로그램(108)과 통신할 수 있도록 한다.
DECnet/SNA 게이트웨이(112)는, DECnet(122) 통신환경파 IBM SNA(124) 통신환경간의 인터페이스를 제공한다. 게이트웨이(112)는 제1도 및 이후 도면에서 독립한 "박스"로서 나타내어져 있다. 이와 같이, 게이트웨이(112)가 APS(102)로부터 분리하고 있는 것은 기능적 분리이고, 반드시 논리적 또는 물리적 분리는 아닌 것에 유의해야 한다. 환언하면, 게이트웨이(112)와 APS(102)는 동일 프로세서상에서 실시가능하다. 게이트웨이(112)의 모든 기능은, APS(102) 기능을 실행하고 따라서 분리한 물리 게이트웨이(112)를 불필요하게 하는 동일 기계에 의해 실행될 수 있다.
게이트웨이(112)는, 어떤 프로토콜 세트로부터 다른 세트로 가기 위해 필요한 변환을 처리한다. 메시지 포맷변환은, 그 메시지가 전송되는 곳의 컴퓨터환경에 적절한 포맷 및 크기로 메시지를 변환시킨다. 어드레스 변환은, 메시지에 관계하는 어드레스를 수신처 네트워크가 요구하는 어드레스구조로 변환시킨다. 프로토콜 변환은, 한쪽 컴퓨터환경으로부터의 제어정보를 다른 환경에서 상당하는 기능을 실행하기 위해 필요한 제어정보와 치환한다. 통상, 이 변환은 메시지 분할 및 재조립, 데이터 흐름제어, 에러검출 및 회복 등의 서비스를 고려하고 있다.
APS 콘트롤러 프로세스(132)는 APS(102)의 핵심이다. APS 콘트롤러 프로세스 (132)는, APS(102)내의 다른 APS 서버프로세스(134)를 관리한다. APS 서버프로세스(134)는 LU6.2에 의한 IBM링크를 처리한다. DECnet 세션은, APS 콘트롤러 프로세스 (132) 및 각 APS 서버프로세스(134)에 의해 확립되어 이용된다. APS 서버프로세스 (134)는 APS 콘트롤러 프로세스(132)에 의해 관리되고, APS 클라이언트 프로그램 (104)과 프로그램(108)간의 통신세션을 확립하기 위해 사용된다.
APS(102)는 IBM 프로그램(108)과 클라이언트 프로그램(104)간의 통신서비스를 제공한다. 이들 서비스는 그들 프로그램에 있어서 투명하도록 설계되어 있기 때문에, IBM 프로그램(108)도 클라이언트 프로그램(104) 모두, 각자가 중간에 있는 APS시스템(102)을 매개로 통신하고 있다는 것을 알아차리지 못한다. 각 프로그램 (108, 104)은 각자의 로컬통신기능을 사용한다(예컨대, IBM에 있어서는 CICS 스테이트먼트나 CPI-C루틴. VAX는 CPI-C 준거의 APS 클라이언트 루틴을 사용한다).
APS(102)는 세션 다중화 기능을 제공한다. 이 기능은, 소정의 시간, 다수의 다른 클라이언트 프로그램(104)에 의한 IBM(110)과의 LU6.2세션의 사용을 조성한다. IBM 프로그램(108)과의 회화는, 그 다음의 클라이언트 프로그램(104)과 동일 IBM 프로그램(108)간의 다음의 회화가 개시되기 전에 제1클라이언트 프로그램(104)과 IBM 프로그램(108)간의 제1회화가 완전히 종료되도록 축차적으로 행해진다. 이것에 관해서, APS(102)의 중요한 기본 기능중 하나는, LU6.2세션이, IBM(110)이 복수의 클라이언트 프로그램(104)과 회화할 때에 재확립되지 않는 영구세션이라는 것이다. 이것은, 운영시스템이 변화하는 세션부하를 관리하는 태스크(task) 또는 LU6.2의 접속 및 절단을 관리하는 정기적이고 시간을 소비하는 태스크에 빈번히 관여하지 않기 때문에, IBM(110)의 보다 정확한 시스템 평형화 및 미조정을 가능하게한다.
이 다중화 기능으로부터 유도되는 다른 중요한 기능은, LU6.2 세션이 복수의 VAX 클라이언트 시스템(106)에 의해 사용 및 공용될 수 있다는 것이다. 그 결과, 각 클라이언트 시스템(106)은 IBM 프로그램(108)과의 회화를 조성하기 위해 LU6.2 세션을 확립하는 태스크에 자원 및 시간을 충당시킬 필요가 없어진다. 클라이언트 시스템(106)에 초래되는 다른 이익은, 특정 어플리케이션을 위한 특정 IBM기(110)의 현재 LU6.2 세션의 완전한 이용을 지시하는 고속 피드백으로부터 얻어진다. 이러한 피드백은, 다른 IBM기(110)에 문의하기 위한, 또는 클라이언트 시스템(106)의 다른 태스크에 자원을 재지정하기 위한 피드백 사상으로서 이용될 수 있다.
어떤 특정 IBM(110)에 있어서 액티브한 세션의 수를 제한함으로써, 클라이언트 시스템(106)은 IBM(110)으로부터 그들의 접속시에 고속의 응답을 받는다. APS (102)에 의해 제공되는 또 다른 중요한 기능은, 대체 APS(102)로의 링크의 개시를 조성하기 위해 클아이언트 어플리케이션 프로그램(104)을 필요로 하지 않고 대체 경로를 매개로 IBM 프로그램(108)이 도달될 수 있도록 회화개시시에 대체 APS(102) 인터페이스로의 투명페일오버(transparent fail over) 기능이다.
대체 경로는, IBM에 도달하기 위해 다른 게이트웨이(112)를 사용할 수 있는 다른 APS(102)일 수 있다. 다수의 대체 APS(102)를 정의할 수 있는 것에 유의해주기 바란다.
투명페일오버 기능은 IBM측에 제공될 수도 있다. 이 기능은, 복수의 APS(102)로부터 동일 IBM 프로그램(108)으로의 영구 LU세션을 정의함으로써 사용가능해진다(예컨대, 제6도 참조). 만약 하나의 APS(102)로부터 클라이언트(106)로의 DECnet 경로가 유효하지 않거나, 또는 APS(102) 자체를 사용할 수 없는 경우, 다른 APS(102)는 클라이언트 시스템(106)에 도달하기 위해 사용될 수 있다. 대체 APS(102)를 선택하는 기능은, 소망하는 경우 각 IBM 프로그램(108)에 짜넣어질 필요가 있다.
APS(102)에 의해 제공되는 다른 페일오버기능은, APS 서버프로세스(134)가 그들이 게이트웨이(112)에서 각자의 기본 LU에 의해 각자의 LU세션을 확립할 수 없는 경우에, 다른 게이트웨이(112)를 매개로 또는 동일 게이트웨이(112)에서 대체 LU를 매개로 각자의 LU세션을 확립하려고 하는 시도가 가능한 것이다.
또한, APS(102)는, IBM 프로그램(108)이 어떤 클라이언트 시스템(106)에 존재하는 클라이언트 프로그램(104)과(인스톨된 APS 클라이언트 루틴 및 DECnet루틴과) DECnet(122)를 매개로 회화를 확립할 수 있도록 하는 수단을 제공한다. IBM 프로그램(108)이 APS(102)를 매개로 클라이언트 프로그램(104)과의 회화를 요구하면, APS(102)는 DECnet(122)를 통해 요구된 클라이언트 프로그램(104)을 기동시킨다.
APS(102)의 또 다른 기본 기능은, 어떤 환경의 프로그램이 다른 환경에 존재하는 복수의 프로그램과 회화할 수 있는 1군의 거의 동시의 회화를 확립할 수 있도록 하는 것이다. 이들 세션은, 단일 클라이언트 프로그램(104) 또는 1대 이상의 VAX기(106)의 복수의 클라이언트 프로그램(104)에 대해 향하도록 할 수 있다. 마찬가지로, APS(102)는 1대 이상의 IBM기(110)의 1개 이상의 IBM 프로그램(108)에 대해 복수의 세션을 계속 오픈시키는 것도 가능하다.
이 복수의 세션 상황을 가능하게 하기 위해, 복수의 대체 실시예를 실시 할 수 있다. 1실시예에서는, 클라이언트 프로그램(104A)은, APS(l02)를 매개로 IBM(110)과 다수의 개별 회화를 확립할 수 있다. 확립된 각 회화에 대해, 그 회화에 필요한 세션을 가능하게 하기 위해 1개의 DEC 서버프로세스(206)가 지정된다.
다른 실시예에서는, IBM 프로그램(108)은 IBM 서버프로세스(208)를 매개로 클라이언트 프로그램(104)에게 회화를 요구할 수 있다. 클라이언트 프로그램(104)은 그 후, DEC 서버프로세스(206)를 이용하여 APS(102)를 매개로 IBM(110)과의 개별 회화를 확립한다. 확립된 각각의 개별 회화에 대해, 필요한 세션을 가능하게 하기 위해 1개의 APS 서버프로세스(134)가 지정된다.
또 다른 실시예에서는, 단일 IBM 프로그램(108)이, 다른 클라이언트 프로그램(104B)에 접속하기 위해 1군의 제휴 IBM 서버프로세스(208)를 이용하여, 다른 클라이언트 프로그램(104B)과 1군의 회화를 요구할 수 있다. 이 상황에서 확립된 각각의 개별 회화에 대해, 그 회화에 필요한 세션을 가능하게 하기 위해 1개의 IBM 서버프로세스(208)가 지정된다.
이들 실시예 각각에 대해, APS 클라이언트 프로그램(104)은 한번에 IBM 프로그램(108)에 의해 요구된 액티브한 세션을 단 1개밖에 갖지 않는 점에 유의해야 한다.
모든 경우에 있어서, APS(102)는 그 회화가 종료될 때까지 그 회화를 조성하는 것에 전념하는 단일 DEC 서버프로세스(206)를 이용하여, 클라이언트 프로그램 (104)의 요구시에 사용가능한 LU세션에 접속한다. 또한, APS(102)는 그 회화가 종료될 때까지 그 회화를 조정하는 것에 오로지 전념하는 단일 IBM 서버프로세스 (208)를 이용하여, IBM 프로그램(108)의 요구시에 클라이언트 프로그램(104B)에 접속한다. 그러나, 1실시예에서는, APS 클라이언트 프로그램(104)은 한번에 IBM 프로그램(108)에 의해 요구된 액티브한 세션을 단 1개밖에 가질 수 없다.
APS(102)는 로깅(logging) 및 제어기능도 제공한다. APS(102)는 그 액티비티 (activity) 전부 로그를 취하고, 문제가 발생한 경우에는 시스템 경고를 생성한다. 또한, 통계데이터는 APS(102)에 의해 수집되고 컴파일된다.
APS(102)에 의해 제공되는 하나의 추가 기능은 문자변환이다. VAX시스템은, 7비트 문자코드인 정보교환용 미국표준코드(ASCII)를 이용하여 통신한다. 한편, IBM은 EBCDIC(extended binary character decimal interchange code: 확장 2진화 10진부호)로서 공지된 8비트코드를 사용한다. 따라서, IBM과 VAX간에서 문자데이터를 교환하기 위해서는 문자변환이 필요하게 된다. ASCII-EBCDIC 변환을 서포트하기 위한 VAX용의 기성품은 입수가능하다. 그러나, 이들 제품은 표준문자세트를 서포트하고 있음에 지나지 않는다. APS(102)는, 다국어 또는 그 외의 문자를 포함하는 광범위한 문자로의 문자변환을 행하는 변환기능을 제공한다. 따라서, 프로그램(104, 108)은 각자의 통신파트너에 적응하기 위해 문자변환을 실행할 필요가 없다.
제2도는 APS(102)의 상술 및 추가 기능을 예시하는 기능블록도이다. 제2도에 의하면, APS 콘트롤러 프로세스(132)는 APS(102)의 핵심이다. APS 콘트롤러 프로세스(132)는 그 밖의 모든 APS 프로세스(134)를 관리하고, 자기자신의 DECnet 세션을 갖는다.
바람직한 1실시예에 따르면, APS 콘트롤러 프로세스(132)는 복수의 논리 DECnet세션을 서포트하는 영구 DECnet 프로세스이다. 이 바람직한 실시예에서는 2종류의 서버프로세스(134)가 제공된다. 이들은 DEC 서버프로세스(206)와 IBM 서버프로세스(208)이다. 다른 실시예에서는, 인터페이스되는 컴퓨터환경 및 그들의 관계하는 통신프로토콜, 규격 및 루틴에 따라 다른 서버프로세스(134)가 제공될 수 있다.
1실시예에 따르면, 서버프로세스(134)는 APS(102)의 개시시에 생성된다. 부가적인 서버프로세스(134)가 요구되도록 보다 다수의 세션이 요구되는 경우, 사용자가 추가 서버프로세스(134)를 생성할 수 있도록 관리유틸리티(214)가 제공된다. APS 콘트롤러 프로세스(132)가, 필요한 경우에 추가 서버프로세스(134)를 생성하거나 또는 과잉수가 존재하는 경우에 서버프로세스(134)를 삭제하는 실시예를 포함하는, 다른 실시예를 상정할 수도 있을 것이다.
바람직한 1실시예에서는, 서버프로세스(134)는 클래스 특정 프로세스(class specific process)이다. 환언하면, 서버프로세스(134)는 특정 IBM 프로그램(108) 또는 특정 형식의 IBM 프로그램(108)을 지시한다. 예컨대, 구매 및 주문시스템이, 클라이언트 프로그램(104)이 통신을 원하는 IBM 프로그램(108)이라고 가정하자. 특정 서버프로세스(134) 클래스는 그 프로그램과 통신하기 위해 확립되고, 그 클래스내의 특정 서버프로세스(134)는 구매 및 주문시스템과의 세션을 확립하기 위해 사용된다. 시스템의 클래스 형식에 적응하기 위해, (기대되는 용도를 갖춘) 각 클래스 형식에 대해 복수의 서버프로세스(134)가, 클라이언트 프로그램(104A)이 요구를발했을 때에 사용가능하도륵 확립될 것이다.
APS(102)의 기능을 설명하기 위해 2종류의 클라이언트 프로그램(104A, 104B)이 나타내어져 있다. 클라이언트 프로그램(104A)은 IBM 프로그램(108)과의 접속을 요구하는 VAX프로그램이다. 클라이언트 프로그램(104B)은 접속을 요구하는 IBM 프로그램(108)에 의해 기동되는 VAX프로그램이다. 제2도는 2개의 클라이언트 시스템 (106)의 2개의 클라이언트 프로그램(104) 밖에 도시하고 있지 않지만, 본 발명에 의하면 1개 이상의 클라이언트 시스템(106)에 존재하는 복수의 프로그램(104)이, 1개 이상의 IBM시스템의 프로그램과 통신할 수 있다.
(서버프로세스(134)에 의해 확립된) IBM 프로그램(108)과의 소정 수의 논리유니트세션은 계속 유지된다. 클라이언트 프로그램(104A)이 IBM 프로그램(108)과 통신할 수 있도록 하기 위해, 1개의 서버프로세스(134)에 의해 1개의 논리유리트세션이 사용된다. 또, 확립된 논리유니트세션은 클라이언트 프로그램(104B)과 통신하기 위해 IBM 프로그램(108)에 의해 사용될 수도 있다. 사전에 논리유니트 세션을 확립시키는 것은, 클라이언트 프로그램(104A)이 서비스가 요구되었을 때에 DEC 서버프로세스(206)에 의해 LU6.2세션이 확립되는 것을 기다릴 필요가 없기 때문에, 성능상의 이익을 초래한다.
아마 시스템과 네트워크상의 제약이 사용가능한 서버프로세스(134)의 수를 제한할 것이기 때문에, 요구측 프로그램(클라이언트 프로그램(104A) 또는 IBM 프로그램(108) 어느 한쪽)을 서포트하기 위해 서버프로세스(134)가 사용가능하지 않다는 상황이 발생할 가능성이 있다. 이러한 경우, 요구측 프로그램(104A 또는 108)은서버프로세스(134)가 사용가능하게 될 때까지 기다려야만 할 것이다. 바람직한 실시예에서는, APS 클라이언트 루틴(922; 제9도)이, 어느 1개가 사용가능하면 다른 APS(102)를 통해 접속을 시도한다. IBM 프로그램(108)이 클라이언트 프로그램 (104A)과 회화를 개시할 수 있도록 하기 위해서는 그때까지 논리유니트세션이 IBM서버프로세스(208)에 의해 확립되야만 한다.
관리유틸리티(214)는 단말(262)을 매개로 APS(102)의 오퍼레이터 제어를 가능하게 하는 인터페이스를 제공한다. 관리유틸리티(214)에 의해 제공되는 기능의 일부는, 오퍼레이터가 부가적인 서버프로세스(134)를 생성할 수 있도록 하는 것 및 오퍼레이터가 APS(102) 프로세스 및 기능을 관리할 수 있도록 하는 것이다.
감시유틸리티(216)는 제어섹션(212)으로부터 데이터를 취출(pull)하고, 그 데이터를 보고 및 화면에 포맷하며, 포맷된 데이터를 단말(262)로 전송하기 위해 제공된다. 이에 따라, 인간 오퍼레이터가 APS(102)의 동작을 감시할 수 있다. 감시유틸리티(216)는 관리유틸리티(214)의 서브세트(subset) 또는 서브시스템 (subsystem)으로서 실시할 수도 있다는 점에 유의해야 한다.
제어섹션(212)은 APS(102)의 주요 작업영역으로서 기능한다. 또한, 제어섹션 (212)은 대역데이터의 기억영역으로서도 기능하고, 이 데이터를 서버프로세스 (134), 관리유틸리티(214), 감시유틸리티(216) 및 APS 콘트롤러 프로세스(132)가 사용가능하도록 한다. 더욱이, APS(102)가 영구 정의를 기억하는 장소인 제어파일 (210)이 제공된다.
제2도에 의해 도시 및 설명한 아키텍처는 본 발명의 기능을 가장 잘 예시하기 위해 선택된 것이라는 점에 유의해야 한다. 원하는 기능을 실시하기 위해, 다수의 다른 물리 및/또는 논리 아키텍처를 선택할 수 있다. 이러한 대체 아키텍처를 실시하는 방법은 당업자에게는 명백할 것이다.
DEC 서버프로세스(206)를 매개로 IBM 프로그램(108)과 클라이언트 프로그램 (104A)의 인터페이스를 취하는 방법을 제3도에 나타낸다. 이하에 2도 및 제3도에 언급하면서, 이 방법에 대해 설명한다. 이 설명은, 제2컴퓨터 환경의 프로그램 (108)으로의 접속을 요구하는 제1컴퓨터환경의 클라이언트 프로그램(104A)에 관해 행한다,
APS(102)가 개시되면, 단계 302에서 지정된 수의 DEC 서버프로세스(206)가 생성된다. 생성되는 DEC 서버프로세스(206)의 수는 의도된 링크요구조건에 기초하여 선택되고, 그들 수는 제어파일(210)에서 정의된다. 프로그램(104A)이 프로그램 (108)으로의 접속을 요구했을 때에 사용가능한 DEC 서버프로세스(206)가 통상 존재하도록 충분한 수가 생성된다. 생성된 각 DEC 서버프로세스(206)에 대해, IBM 프로그램(108)과의 논리유니트세션이 확립된다.
단계 303에서는, DEC 서버프로세스(206)가 서비스요구를 기다리고 있다. 프로그램(104A)으로부터 서비스가 요구되면, APS 콘트롤러 프로세스(132)는 프로그램 (104A)으로부터 그 요구를 받아들인다. 이 요구는 회화세션(242)에 의해 행해진다. 이 회화세션(242)은 클라이언트 프로그램(104A)이 세션을 요구하고 있는 동안 액티브하다.
단계 304에서는, APS 콘트롤러 프로세스(132)가 DEC 서버프로세스(206)가 사용가능한지 아닌지를 판정한다. 복수의 클래스의 DEC 서버프로세스(206)를 이용하는 시스템에서는, 실제 판정은 원하는 세션을 처리하기 위해 적정한 클래스의 DEC 서버프로세스(206)가 사용가능한지 아닌지에 대해 행해진다는 점에 유의해야 한다. DEC 서버프로세스(206)가 사용가능하면, 그것이 단계 306에서 APS 콘트롤러 프로세스(132)에 의해 요구측 프로그램(104A)에 할당된다. 또한, 단계 306에서는, APS 콘트롤러 프로세스(132)가 일의의(unique) 세션 ID를 할당하고, 그 ID를 지정된 DEC 서버프로세스(206)에 통지하며, 요구측 프로그램(104A)에 접속정보를 송신한다. 이 시점에서, 회화세션(242)은 종료된다.
단계 308에서는, 요구측 프로그램(104A)이 지정된 DEC 서버프로세스(206)와 직접 세션(244)을 확립한다. 단계 309에서, 클라이언트 어플리케이션(104A)과 IBM 프로그램(108)간의 회화는 지정 DEC 서버프로세스(206)를 매개로 행해진다. 요구측 프로그램(104A)은 제2컴퓨터환경에 있는 지정된 프로그램(108)으로 데이터를 전송하기 시작한다. 한번 세션이 확립되면, APS 콘트롤러 프로세스(132)는 요구측 프로그램(104A)과 지정 프로그램(108)간의 통신에 능동적으로 관여하는 일은 없다.
단계 309에서 확립된 회화가 액티브한 동안, APS(102)는 요구측 프로그램 (104A)이 지정 프로그램(108)과 통신가능하게 하기 위해 필요한 모든 데이터 회화를 실행한다. 예컨대, APS(102)는 DECnet을 통해 요구측 프로그램(104A)으로부터 데이터를 수신한다. 이 데이터가 지정된 IBM 프로그램(108)으로 전송될 때, 그 데이터는 IBM환경에 적합한 통신을 제공하는 APS LU6.2 루틴을 이용하여 전송된다. 이 경우, ASCII로부터 EBCDIC로의 문자 변환은 마찬가지로 APS(102)에 의해 실행될수 있다.
통신이 완료되면, 어느 한쪽의 프로그램은 단계 314에서 DEC 서버프로세스 (206)에 의해 그 회화를 할당해제할 수 있다. 이에 따라, 단계 316에서, DEC 서버프로세스(206)는 프로그램(108; 또는 클라이언트 프로그램(104A))과의 회화를 할당해제하고, 새로운 회화요구를 받아들일 준비가 되어 있는 APS 콘트를러 프로세스 (132)에 통지한다. DEC 서버프로세스(206)는 어느 한쪽의 세션을 종료할 수도 있다는 점에 유의해야 한다. 회화와 DECnet 세션이 종료되면, DEC 서버프로세스(206)는 단계 303에 나타내어진 상태로 복귀한다.
단계 304에서, APS 콘트롤러 프로세스(132)가 요구된 세션을 처리하기 위해 사용가능한 DEC 서버프로세스(206)가 전혀 없다고 판정하면, APS 콘트롤러 프로세스(132)는 단계 310에서 요구측 프로그램(104A)에 통지한다. 단계 312에서, 요구측 프로그램(104A)은 1개 이상의 백업 APS(102)가 사용 가능하면, 백업 APS(102)를 통해 접속을 시도한다. 바람직한 실시예에 따르면, 클라이언트 루틴(922; 제9도)은 다른 APS(102)를 찾는 동작을 개시해야만 한다.
제3도에 관해 상술한 방법은, 이하에서 특정예에 의해 더욱 설명한다. IBM 프로그램(108)으로의 접속이 VAX 클라이언트 프로그램(104A)에 의해 요구된 경우, APS 콘트를러 프로세스(132)는 적절한 클래스의 사용가능한 DEC 서버프로세스(206)를 찾는다. DEC 서버프로세스(206)가 사용가능하면, APS 콘트롤러 프로세스(132)는 그것을 요구측 클라이언트 프로그램(104A)에 할당하고, 일의의 세션 ID를 할당하며, 그 ID를 DEC 서버프로세스(206)에 통지하고, 접속정보를 요구측 클라이언트 프로그램(104A)으로 송신한다. 그 후, 요구측 클라이언트 프로그램(104A)은, 지정된 DEC 서버프로세스(206)와 직접 DECnet 세션을 확립한다. 이에 따라, DEC 서버프로세스(206)는 지정된 프로그램(108)과 회화를 확립하고, 프로그램(104A)은 그 DEC 서버 회화에 의해 프로그램(108)과 통신한다.
클라이언트 프로그램(104A)이 그 통신을 완료하면, 클라이언트 프로그램 (104A)은 DEC서버 프로세서(206)와의 DECnet세션을 절단한다. DEC 서버프로세스 (206)는 IBM 프로그램(108)과의 회화를 할당해제하고, 새로운 회화요구를 받아들일 준비가 되어 있는 APS 콘트롤러 프로세스(132)에 통지한다. IBM 프로그램(108)이 그 회화를 종료한 경우, DEC 서버프로세스(205)는 클라이언트 프로그램(104A)과의 세션을 종료한다.
더욱이, DEC 서버프로세스(206)와의 DECnet 세션과 LU 세션은 DEC 서버프로세스(206)에 의해서도 절단할 수 있다. 이것은 에러의 경우에 발생한다.
상술한 바와 같이, 단계 309에서 DEC 서버프로세스(206)는 지정된 IBM 프로그램(108)과의 회화를 확립한다. 제4도는 이 접속을 확립, 유지 및 종료할 때에 DEC 서버프로세스(206)가 밟아가는 단계를 나타낸 흐름도이다. 제41도는 지정된 IBM 프로그램(108)과의 세션을 확립하고, 이후의 회화를 촉진하는 DEC 서버프로세스(206)에 관해 설명하고 있다. 이하의 설명에 기초하여, 제4도에 따라 설명하는 방법이 또, 제2컴퓨터환경의 프로그램과 통신하기 위해 제1컴퓨터환경의 프로그램을 위해 통신을 확립하는 서버프로세스의 보다 일반적인 경우에 어떻게 하여 적용되는지는 당업자에 있어서 명백할 것이다.
여기에서 제1도와 제2도 및 제4도를 참조하면, 단계 402에 있어서, DEC 서버프로세스(206)는 지정된 IBM 프로그램(108)과 LU세션을 확립한다. 1실시예에서는, 이 세션은 APS(102)의 기동시에 최초로 확립되고, 이후 각 서버프로세스(134)의 기동시에 확립된다.
단계 404에서, DEC 서버프로세스(206)는 APS 콘트롤러 프로세스(132)와의 초기 회화에 이어져 APS 클라이언트 프로그램(104A)으로부터의 DECnet접속요구를 수신한다. 클라이언트 프로그램(104A)은 지정된 IBM프로그램(108)으로의 접속을 요구하고 있다. 단계 406에서는, 이 요구에 따라 지정된 IBM 프로그램(108)에 회화가 할당된다.
필요한 접속이 확립되었기 때문에, 단계 408에서 클라이언트 프로그램(104A)과 IBM 프로그램(108) 사이에서 데이터가 전송된다. 이 전송은 APS 콘트롤러 프로세스(132)와는 독립하여 행해진다. 이 전송을 완수하기 위해, APS(102)는 DECnet (122)를 통해 클라이언트 프로그램(104A)과 데이터를 전송하기 위해 APS DECnet루틴을 사용한다. 또한, APS(102)는 지정 IBM 프로그램(108)으로 데이터를 전송하기 위해 APPC/LU6.2 루틴을 사용한다. 다른 컴퓨터환경과의 사이에서 데이터를 검색 및/또는 전송하기 위해 다른 루틴을 사용하는 다른 실시예를 고려할 수 있을 것이다.
LU6.2 세션이 조기에 종료한 경우(박스 409), 서버프로세스(134)는 단계 410에서 LU6.2 세션을 재확립하려고 시도한다. 바람직한 실시예에서는, 이 시행은 소정의 타임아웃기간후, 주기적으로 행해진다. 필요한 LU6,2 세션을 재확립하고자 하는 동작은 클라이언트 프로그램(202A)의 사용자에 있어서는 명백하다. 타임아웃기간은 서버프로세스(134)가 시스템 자원을 무한히 확장하지 않고 통신을 재확립할 기회를 가질 수 있도록 선택된다. 그러나, LU6.2세션을 잃어버린 경우, DEC 서버프로세스(206)는 클라이언트 프로그램(104A)과의 세션을 종료하고, 양 세션은 회화가 재개가능하게 되기 전에 재확립될 필요가 있다. 이 경우, DEC 서버프로세스(206)는 클라이언트 프로그램(104A)과의 다른 세션에 대해 사용가능하게 되기 전에 LU6.2 세션을 재확립해야만 한다는 점에 유의해주기 바란다. 클라이언트 프로그램(104A)은 재확립된 DEC 서버프로세스(206)에 주기적으로 문의하거나 또는 다른 DEC 서버프로세스(206)를 찾아야만 한다.
클라이언트 프로그램(104)과 서버프로세스(134) 사이의 세션을 잃어버린 경우, IBM 프로그램(108)과의 회화는 종료될 것이다. 그러나, IBM 프로그램(108)과의 LU6.2 세션은 종료되지 않을 것이다. 영향을 받은 DEC 서버프로세스(206)는 다음의 요구측 클라이언트 프로그램(104)에 있어서 사용가능하게 될 것이다.
세션이 조기에 종료하지 않으면, DEC서버프로세스(206)는 단계 412에서 클라이언트 프로그램(104A) 또는 IBM 프로그램(108)의 어느 한쪽의 요구시에 회화를 종료한다. IBM 프로그램(108) 또는 VAX 클라이언트 프로그램(104A)의 어느 한쪽은 회화를 종료할 수도 있다.
다음으로, IBM 프로그램(108)이 VAX프로그램(104B)으로의 접속을 요구했을 때에 발생하는 것을 나타내기 위해 제2예를 설명한다. LU(논리유니트) 세션이 APS(102)에 의해 확립되야만 하기 때문에, IBM 프로그램(108)에 의한 접속요구는액티브한 LU 세션에서만 행할 수 있다. IBM 서버프로세스(208)는 그 확립된 세션을 기록하고 있고, IBM 프로그램(108)이 회화를 요구할 때까지 대기하고 있다. 이 요구가 발생하면, IEM 서버프로세스(208)는 지정된 클라이언트 프로그램(104B)과의 DECnet 세션을 확립한다. 이 세션이 액티브하게 되면, IBM 프로그램(108)과 클라이언트 프로그램(104B) 양자는 데이터 및 상태메시지를 송수신할 수 있다(즉, 양자는 세션에 의해 회화를 행할 수 있다). 더욱이, IBM 프로그램(108)과 VAX 프로그램 (104B) 양자는 그 회화를 할당해제할 수도 있다. 이것이 발생하면, IBM 서버프로세스(208)는 그 LU세션을 액티브하게 해 두고, 다른 회화요구를 기다린다.
다음으로, 바람직한 실시예에 따라 IBM 프로그램(108)을 클라이언트 프로그램(104B)에 접속할 때에 IBM 서버프로세스(208)에 의해 야기되는 프로세스에 대해 설명한다. 제5도는 이러한 접속을 확립할 때에 IBM 서버프로세스(208)에 의해 행해지는 방법을 나타내는 흐름도이다. 여기에서, 제1도와 제2도 및 제5도를 참조하면, 단계 502에 있어서, IBM 서버프로세스(208)는 IBM 프로그램(108)과 영구 LU세션을 확립한다.
단계 504에서, IBM 서버프로세스(208)는 IBM 프로그램(108)으로부터 클라이언트 프로그램(104B)으로의 접속요구를 수신한다. 단계 506에서, IBM 서버프로세스 (208)는 지정 클라이언트 프로그램(104B)과의 DECnet 세션을 확립한다.
회화가 확립되면, 단계 508에서 IBM 프로그램(108)과 클라이언트 프로그램 (104B)간에서 데이터와 상태의 전송이 발생할 수 있다. 이 전송은 APS 콘트롤러 프로세스(132)와는 독립하여 행해진다. IBM 서버프로세스(208)는, 요구측 IBM 프로그램(108)과 지정 클라이언트 프로그램(104B)간에서 데이터를 전송하기 위해 필요한 통신 및/또는 프로토콜 변환을 실행한다. 바람직한 실시예에서는, IBM 프로그램 (108)과의 사이에서 데이터를 전송하기 위해서는 APPC/LU6.2 루틴이 사용되고, DECnet(122)를 매개로 지정 클라이언트 프로그램(104B)과의 사이에서 데이터를 전송하기 위해서는 DECnet 루턴이 사용된다. 요구측 프로그램(108)과 지정 프로그램 (104B)과의 사이에서 데이터를 전송하기 위해 다른 통신루틴을 사용하는 다른 실시예를 고려할 수 도 있다. LU6.2 세션이 조기에 종료한 경우(박스 509), IBM 서버프로세스(208)는 단계 510에서 LU6.2 세션을 재확립하려고 시도한다. 바람직한 실시예에 있어서는, 이 시행은 지정 타임아웃기간 후에 주기적으로 행해진다. 필요한 LU6.2 세션을 재확립하는 그 동작은, 클라이언트 프로그램(104B)의 사용자에 있어서는 분명하다. 타임아웃기간은 IBM 서버프로세스(208)가 시스템 자원을 무한히 확장하지 않고 통신을 재확립할 기회를 가질 수 있도록 선택된다. 그러나, LU6,2세션을 잃어버린 경우, IBM 서버프로세스(208)는 클라이언트 프로그램(104B)과의 세션을 종료하고, 양 세션은 회화가 재개가능하게 되기 전에 재확립될 필요가 있다. 이 경우, IBM 서버프로세스(208)는 클라이언트 프로그램(104B)과의 다른 세션에 대해 사용가능하게 되기 전에 LU6.2 세션을 재확립해야만 한다는 점에 유의해주기 바란다.
IBM 프로그램(108)은 재확립된 IBM 서버프로세스(208)에 주기적으로 문의하거나 또는 다른 IBM 서버프로세스(208)를 찾아야만 한다.
세션이 조기에 종료하지 않으면, IBM 서버프로세스(208)는 단계 512에 있어서, IBM 프로그램(108) 또는 클라이언트 프로그램(104B)의 어느 한쪽의 요구시에 그 LU세션을 확립시킨채 통신링크를 종료한다.
APS(102)의 기본기능은, 다른 컴퓨터환경에서 주행하는 프로그램간의 통신인터페이스를 제공하는 것이다. 이 기능의 상세한 예시를 돕기 위해, 2개의 다른 컴퓨터환경에서 주행하는 프로그램이 APS(102)를 매개로 통신할 수 있는 예시적인 APS환경에 대해 APS(102)를 검토한다. 제6도는 예시 환경에서 APS(102)의 사용을 나타낸 블록도이다. 이하, 제6도를 참조하면서 이 환경 및 거기서 APS(102)가 완수하는 역할에 대해 설명한다. 도시한 환경은 APS(102)가 실시될 수 있는 다수의 환경중의 일례에 지나지 않는다는 점에 유의해주기 바란다.
IBM 메인프레임(602; 또는 APPC를 실시할 수 있는 다른 시스템)은 어떤 제품의 제조 및 판매를 행하는 어떤 회사의 비지니스면을 관리하기 위해 비지니스 프로그램(642)을 주행시킨다. 이 IBM 메인프레임에서 주행하는 비지니스 프로그램은 재고계산, 주문일정계획, 청구서 작성 등의 기능을 실행한다.
이 회사제품의 제조를 관리하기 위해 다수의 DEC VAX(604)가 사용되고 있다. VAX(604)에서 주행하는 제조프로그램(644)은 제조프로세스와의 인터페이스를 취하고, 제조프로세스를 감시한다.
이 회사의 컴퓨터화된 비지니스환경을 컴퓨터화된 제조환경과 통합하기 위해, 비지니스 프로그램(642)은 제조프로그램(644)과 통신할 필요가 있다. 종래의 지식은 이러한 통신을 실현하기 위해서는, IBM 메인프레임(602)과 DEC VAX(604)의 인터페이스를 취하기 위해 DECnet/SNA 게이트웨이(112)를 갖춰야 한다고 교시한다.
또, 종래의 지식에 따르면, 인터페이스되는 각각의 VAX(604)에 대해, 개별 DECnet/SNA VMS APPC/LU6.2 루틴은 각 VAX(604)에 요구된다. 다수의 제조제품 또는 프로세스 관리용 VAX(604)를 갖춘 대규모 플랜트에 있어서, 종래 해결책은 그들 루틴의 다수의 복제물을 필요로 한다. 이것은 본 명세서의 발명의 배경 부분에서 검토한 바와 같이, 관리관점으로부터의 난제를 초래할 수 있다. 이것은 또, 네트워크 자원의 비효율적인 사용에 관계가 있다..
본 발명에 따르면, APS(102)는 단일 게이트웨이(112)를 매개로 다수의 VAX (604) 또는 다른 DECnet 시스템의 인터페이스를 취한다. 바람직한 실시예에서는, 환경에 용장적(redundancy)이고 보조적인 능력을 부여하기 위해, 제2APS(102)도 제공된다. 게이트웨이 기능을 APS(102)에 포함하는 것이 가능한 것을 나타내기 위해, 게이트웨이(112)와 APS(102)의 각 조의 주위에 박스가 표시되어 있다.
이 환경의 APS(102)에 대해 단순한 상정을 이용하여 이하에 상술한다. 이 상정에서는, 비지니스 프로그램(642)은 제품주문에 응답하여 생산지시요구를 생성한다. 이 생산지시요구는, 그 제품이 제조환경에서 제조될 수 있도록 VAX(604)의 제조프로그램(644)으로 전달되야만 한다. 이에 따라, 제조프로그램(644)은 사용하는 원료나 제조하는 제품에 기초하여 재고의 변경을 보고하기 위해, 더욱이 다른 생산관련 데이터를 보고하기 위해 비지니스 프로그램(642)과 통신할 필요가 발생한다. 제7도는 이러한 상정을 실행할 때에 관계하는 단계를 예시하기 위해 이용되는 흐름도이다.
이하, 제6도와 제7도에 언급하면, 단계 702에 있어서, IBM 메인프레임(602)에서 주행하는 비지니스 프로그램(642)이 생산지시를 생성하고, 그것을 VAX(604)에서 주행하는 제조프로그램(644)으로 송신하고자 한다. 단계 704에 있어서, 비지니스 프로그램(642)은 제조프로그램(644)과의 접속을 확립한다. 종래의 지식에 따라 VAX(604)와 직접 인터페이스된 DECnet/SNA 게이트웨이(112)를 이용하면, 비지니스 프로그램(642)은 VAX(604)와의 접속을 확립할 수 없기 때문에 이것은 실현될 수 없을 것이다. 그러나, 본 발명에 따르면, APS(102)가 게이트웨이(112)에 의해 IBM 메인프레임(602)과 LU세션을 이미 확립하고 있기 때문에, 비지니스 프로그램(642)은 제5도에 관해 설명한 바와 같이 제조프로그램(644)과의 회화를 확립할 수 있다.
이 접속이 확립되면, 단계 706에서 비지니스 프로그램(642)은 생산지시를 제조프로그램(644)으로 송신한다. 재차, 이 전송은 제5도에 관해 설명한 방법에 따라 행해진다. 그 생산지시를 수신하면, 제조프로그램(644)은 단계 708에서 요구된 제품의 생산을 실행한다.
다음으로, 제조프로그램(644)은 생산정보를 비지니스 프로그램(642)으로 전달하고자 한다. 이 생산정보에는 사용하는 원료나 생산하는 제품의 수량 등의 정보가 포함된다. 이 정보를 전달하기 위해, 제조프로그램(644)은 단계 710에서 APS (102)를 매개로 비지니스 프로그램(642)과 접속을 확립한다. 이것은 제4도에 관해 상술한 바와 같이, 비지니스 프로그램(642)과 접속을 확립하는 APS(102)에 의해 실현된다. 단계 712에 있어서, 제조프로그램(644)은 APS(102)를 매개로 재고·생산정보를 비지니스 프로그램(642)에 송신한다.
APS(102)를 이용하여, 복수의 제조프로그램(644)과 복수의 비지니스 프로그램(642)간에서의 통신을 가능하게 하기 위해 복수의 통신링크를 확립할 수 있다는 것에 유의해주기 바란다. 또한, APS(102)는 비지니스 프로그램(642)이 복수의 제조프로그램(644)중 어느 하나와 통신 트랜잭션(transaction)을 개시할 수 있도록 한다. APS(102)에 의해 부여되는 이 제2기능은 종래 지식의 게이트웨이(112)를 이용해서는 이용할 수 없는 것이었다(클라이언트에 의한 게이트웨이와의 이전의 링크가 그 클라이언트에 의해 이미 확립되어 있는 경우 일부 한정 기능을 제외한다).
또한, 이 환경에 있어서, DEC VAX(604)는 APS(102)에 있어서 클라이언트로서 구성된다는 점에도 유의해주기 바란다. 제6도에서 예시한 바와 같이, APS(102)와 클라이언트 VAX(604)간의 통신은 DECnet(122)를 통해 행해진다. 게이트웨이(112)와 IBM 메인프레임(602)간의 통신은 IBM 통신프로토콜 SNA를 통해 행해진다.
APS 콘트롤러 프로세스(132)와 서버프로세스(134)간의 통신을 제8도에 나타낸다. 인터페이스 루틴(802)은, 서버프로세스(134)가 APS 콘트롤러 프로세스(132)와 통신할 수 있도록 하기 위해 제공된다. 복수의 메일박스(804, 806, 808, 810)는 APS 콘트롤러 프로세스(132)와 서버프로세스(134)간의 메시지와 코맨드 및 요구의 교환을 조성하기 위해 제공된다. 각 APS서버프로세스(134)에 대해 1개의 서버프로세스 메일박스(804)가 존재한다. 서버프로세스 메일박스(804)와 콘트롤러 관리메일박스(806)는 콘트롤러 프로세스(132)와 서버프로세스(134)의 비동기 동작을 가능하게 한다. 메시지, 코맨드 및 요구는 메일박스(804, 806)에 임의의 시점에 넣어 두고, 후의 시점에서 수신처 프로세스(132, 134)에 의해 검색되고 처리될 수 있다.
서버프로세스 메일박스(804)는 콘트롤러 프로세스(132)에 의해 송신된 코맨드 및 메시지를 격납하고, 그것들을 서버프로세스(134)로 전송한다. 이들 메시지는 세션 ID, 그 외의 접속정보 등의 정보를 포함할 수 있다.
콘트롤러 관리메일박스(806)는 APS 서버프로세스(134)와 관리유틸리티(214)로부터의 메시지를 격납하기 위해 제공된다. 이들 메시지는 후에 콘트롤러 프로세스(132)로 전송된다. 이들 메시지의 일례는 제어파일(210)로부터 정보를 검색하기 위한 요구이다.
APS 콘트롤러 프로세스(132)는 관리유틸리티 메일박스(810)를 통해 관리유틸리티(214)와 통신한다.
프로세스 종료 메일박스(808)는 서버프로세스(134)의 종료에 대해 VAX/VMS에 의해 생성된 종료메시지(822)를 격납하고, 그것들을 콘트롤러 프로세스(132)로 전송한다. 이러한 종료메시지는 서버프로세스가 소멸하거나 빠져나온 경우에 생성된다. 콘트롤러 프로세스(132)는 종료된 서버프로세스(134)를 재생함으로써 이것에 대처한다. VMS 종료메시지(822)는, 그것이 실제로는 서버프로세스(134)로부터는 아니고 VMS로부터 오는 것을 나타내기 위해, 파선으로 나타내어져 있다.
상술한 바와 같이, 바람직한 실시예에서는, APS(102)는 그것이 VAX(106)와 클라이언트-서버 관계를 형성하도록 실시된다. 1개의 APS 서버프로세스(134)와 1개의 VAX(106)의 접속을 제9도에 나타낸다. 제9도에 의하면, VAX(106)에서 주행하는 클라이언트 프로그램(104)은 APS(102)와의 통신을 가능하게 하는 루틴을 갖는다. APS 클라이언트 루틴(922)은 APS(102)와 프로그램(104)이 통신할 수 있도록 하는 루틴이다. APS 클라이언트 루틴(922)은 VAX(106)에서 주행하는 어떤 프로그램언어에 의해 호출가능한 콜을 포함할 수 있다. 이들 루틴의 일람을 표 1에 나타낸다.
APS 클라이언트 루틴(922)은 APS(102)와의 복수의 회화를 서포트하고, 자동백업 서버선택기능을 제공한다. 이 기능은, 기본 APS(102)가 고장나거나 어떤 이유에서 사용할 수 없게 된 경우, 또는 적절한 클래스에서 서버프로세스(134)가 사용불가능하게 된 경우에 APS 클라이언트 루틴(922)이 2차 APS(102; 또는 복수의 다른 사용가능한 APS(102)중 1개)를 선택할 수 있도록 한다. APS 클라이언트 DECnet 루틴(924)은 VAX(106)에 존재한다. APS DECnet 루틴(925)은 APS(102)에 존재한다. APS 클라이언트 DECnet 루틴(924)과 APS DECnet 루틴(925)은 DECnet(122)를 매개로 통신할 수 있다.
APS(102)에 있는 APS 클라이언트 루틴(905)은 APS(102)와 적어도 1개의 VAX (106)간에서 서버-클라이언트 관계를 확립하기 위해 필요한 기능을 실행한다.
서버프로세스(134)는 VAX(106)와 그것이 통신하는 IBM 프로그램간의 접속을 행한다. 서버프로세스(134)에 대해서는 제1도 내지 제5도에 의해 이미 상술하고 있다.
APS LU6.2 루틴(928)과 DEC LU6.2 루틴(926)은 APS(102)가 DECnet/SNA 게이트웨이를 통해 IBM LU6.2 프로그램과 통신하기 위해 필요한 통신프로토콜을 부여한다. APS LU6.2 루틴은 IBM 프로그램과의 통신기능을 제공한다. DEC LU6.2 루틴 (926)은 APS LU6.2루틴(928)에 의해 사용되고, DEC 게이트웨이와의 통신기능을 제공한다.
다른 실시예에서는, 계층설계에 의해 상술한 클라이언트-서버 관계는 파일전송 등의 다른 전용기능을 실시하기 위해 치환 또는 증보될 수도 있다.
이상, 본 발명의 각종 실시예를 설명했지만, 그것들은 예시로서 제시한것에지나지 않고, 어떤 한정적인 것은 아니라는 것을 이해해야만 한다. 따라서, 본 발명의 청구범위는, 상술한 예시 실시예의 어느 것에 의해서도 한정되는 것은 아니다.

Claims (20)

  1. 제1컴퓨터환경의 다수의 프로그램중 적어도 1개와 제2컴퓨터환경의 다수의 프로그램중 적어도 1개의 인터페이스를 취하기 위한 프로그램간 서버장치에 있어서,
    상기 제1컴퓨터환경과 상기 제2컴퓨터환경간의 통신세션을 제공하도록 구성된 적어도 하나의 서버프로세스와,
    상기 서버프로세스에 연결되어, 상기 제1프로그램으로부터의 접속요구를 수신하면서 상기 접속요구를 수신하면 상기 서버프로세스의 하나에 통신태스크를 할당하도록 구성된 콘트롤러 프로세서,
    상기 콘트롤러 프로세스에 연결되어, 대역데이터를 격납하면서 상기 대역데이터를 상기 서버프로세스와 상기 콘트롤러 프로세스에 공급하도록 구성된 제어섹션,
    상기 콘트롤러 프로세스에 연결되어, 상기 콘트롤러 프로세스에 의해 사용되기 위한 영구 정의를 격납하면서 사용가능한 서버프로세스수를 정의하도록 구송된 제어파일 및,
    상기 콘트롤러 프로세스에 연결되어, 상기 서버의 오퍼레이터 제어용의 인터페이스를 제공하도록 구성된 관리유틸리티를 구비하여 구성되고,
    상기 제1 및 제2컴퓨터환경의 한쪽에 있는 제1프로그램은, 상기 서버프로세스와 세션을 확립할 수 있고, 상기 제1 및 제2컴퓨터환경의 다른쪽에 있는 제2프로그램과 통신할 수 있으며, 상기 통신이 상기 서버프로세스를 통해 행해지는 것을 특징으로 하는 프로그램간 서버장치.
  2. 제1항에 있어서, 상기 관리유틸리티는, 더욱이 오퍼레이터가 추가 서버프로세스를 생성할 수 있도록 구성되어 있는 것을 특징으로 하는 프로그램간 서버장치.
  3. 제1항 또는 2항에 있어서, 상기 제어섹션에 연결되어, 상기 제어섹션으로부터 데이터를 취출하고, 상기 데이터를 보고 및 화면에 포맷하며, 상기 포맷된 데이터를 사용자 단말로 송신하고, 이에 따라 인간 오퍼레이터가 프로그램간 서버장치의 동작을 감시할 수 있도록 구성된 감시유틸리티를 더 구비하여 구성된 것을 특징으로 하는 프로그램간 서버장치.
  4. 제1항 또는 제2항에 있어서, 상기 서버프로세스에 연결되어, 상기 제1 및 제2컴퓨터환경간의 통신인터페이스를 제공하도록 구성된 게이트웨이를 더 구비하여 구성된 것을 특징으로 하는 프로그램간 서버장치.
  5. 제3항에 있어서, 상기 콘트롤러 프로세스와 상기 서버프로세스에 연결되어, 코맨드 및 상기 콘트롤러 프로세스에 의해 생긴 제1메시지를 격납하면서 상기 격납된 코맨드 및 제1메시지를 상기 서버프로세스로 전송하도록 구성된 서버프로세스 메일박스와,
    상기 콘트롤러 프로세스와 상기 서버프로세스에 연결되어, 상기 서버프로세스로부의 제2메시지를 격납하면서 상기 제2메시지를 상기 콘트롤러 프로세스로 전송하도록 구성된 콘트롤러 관리 메일박스 및,
    상기 콘트롤러 프로세스와 상기 서버프로세스에 연결되어, 상기 서버프로세스로부터의 종료메시지를 격납하면서 상기 종료메시지를 상기 콘트롤러 프로세스로 전송하도록 구성된 프로세스 종료 메일박스를 더 구비하여 구성된 것을 특징으로 하는 프로그램간 서버장치.
  6. 제1컴퓨터환경의 다수의 프로그램중 적어도 1개와 제2컴퓨터환경의 다수의 프로그램중 적어도 1개의 인터페이스를 취하기 위한 방법에 있어서,
    (a) 상기 제1 및 제2컴퓨터환경의 한쪽에 있는 제1프로그램에 서버프로세스를 할당하고, 상기 제1프로그램이 제1 및 제2컴퓨터환경의 다른 쪽에 있는 제2프로그램과의 세션을 요구하는 단계와,
    (b) 상기 제1프로그램과 상기 할당된 서버프로세스간에서 제1세션을 확립하는 단계 및,
    (c) 상기 제2프로그램과 상기 할당된 서버프로세스간에서 제2세션을 확립하는 단계를 구비하고,
    상기 제1세션과 제2세션은 상기 제1프로그램과 상기 제2프로그램간의 회화를 갖는 것을 특징으로 하는 인터페이스를 취하기 위한 방법.
  7. 제6항에 있어서, 상기 제2프로그램과의 회화를 위해 상기 제1프로그램으로부터의 요구를 수신하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 인터페이스를 취하기 위한 방법.
  8. 제6항에 있어서, 상기 단계 (a)는,
    다수의 서버프로세스중 하나가 상기 제1프로그램에 의해 요구된 세션을 제공하기 위해 사용가능한지 아닌지를 판정하는 단계와,
    상기 서버프로세스가 사용가능한 경우에, 상기 서버프로세스를 상기 제1프로그램에 할당하는 단계 및,
    상기 다수의 서버프로세스중 하나가 사용불능인 경우에, 서버프로세스가 사용불가능한 것을 상기 제1프로그램에 통지하는 단계를 구비하여 이루어진 것을 특징으로 하는 인터페이스를 취하기 위한 방법.
  9. 제6항 또는 제7항에 있어서, 상기 제1 및 제2프로그램의 세션을 할당해제하는 단계를 더 구비하고,
    상기 세션은 상기 제1 및 제2프로그램 중 한쪽으로부터 수신된 종료요구에 응답하여 할당해제되는 것을 특징으로 하는 인터페이스를 취하기 위한 방법.
  10. 제8항에 있어서, 상기 다수의 서버프로세스를 생성하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 인터페이스를 취하기 위한 방법.
  11. 제10항에 있어서, 상기 서버프로세스는 최초로 상기 콘트롤러 프로세스에 의해 생성되는 것을 특징으로 하는 인터페이스를 취하기 위한 방법.
  12. 제10항에 있어서, 상기 서버프로세스는, 상기 요구측 프로그램이 상기 지정된 프로그램에 접속을 요구했을 때에 생성되는 것을 특징으로 하는 인터페이스를 취하기 위한 방법.
  13. 제6항 또는 제8항에 있어서, 상기 세션이 조기에 종료한 경우에 상기 세션을 재확립하려고 시도하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 인터페이스를 취하기 위한 방법.
  14. 제6항 또는 제8항에 있어서, 상기 제1 및 제2프로그램간의 통신을 야기시키기 위해 필요한 프로토콜변환을 실행하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 인터페이스를 취하기 위한 방법.
  15. 통합화 플랜트 환경용 시스템에 있어서, 상기 플랜트의 비지니스면을 관리하는 비지니스 프로그램을 주행시키기 위해 구성된 적어도 하나의 컴퓨터 시스템을 갖춘 제1컴퓨터 시스템과,
    제품의 제조를 관리하는 제조프로그램을 주행시키기 위해 구성된 다수의 제2컴퓨터 시스템,
    상기 비지니스 프로그램과, 상기 다수의 제2컴퓨터 시스템중 하나에서 주행하는 상기 제조프로그램간에서 통신할 수 있도록 구성된 게이트웨이 및,
    상기 다수의 제2컴퓨터시스템 각각에 있는 제조프로그램이 상기 제1컴퓨터시스템의 상기 비지니스 프로그램과 상기 게이트웨이를 매개로 통신할 수 있도록 서버/클라이언트 관계를 구축하기 위해 구성된 확장 프로그램간 서버를 구비하고,
    상기 제1 및 제2컴퓨터 시스템은 동일 컴퓨터환경이 아닌 것을 특징으로 하는 통합화 플랜트환경용 시스템.
  16. IBM 환경에 있는 적어도 하나의 IBM 프로그램과 DEC 환경에 있는 적어도 하나의 DEC 프로그램의 인터페이스를 취하기 위한 프로그램간 서버장치에 있어서,
    상기 IBM 프로그램이 상기 DEC프로그램과 회화를 개시할 수 있도록 하는 적어도 하나의 논리유니트 세션을 확립하고 유지하도록 구성된 서버 프로세스와,
    상기 서버프로세스에 연결되어, 상기 DEC 프로그램 및 IBM 프로그램으로부터의 접속요구를 받아들이면서 접속을 요구하는 프로그램에 서버프로세스를 할당하도록 구성된 콘트롤러 프로세스,
    상기 콘트롤러 프로세스와 상기 서버프로세스에 연결되어, 코맨드 및 상기 콘트롤러 프로세스에 의해 생긴 제1메시지를 격납하면서 상기 격납된 코맨드 및 제1메시지를 상기 서버프로세스로 전송하기 위한 제1수단,
    상기 콘트롤러 프로세스와 상기 서버프로세스에 연결되어, 상기 서버프로세스로부터의 제2메시지를 격납하면서 상기 제2메시지를 상기 콘트롤러 프로세스로 전송하기 위한 제2수단 및,
    상기 콘트롤러 프로세스와 상기 서버프로세스에 연결되어, 상기 서버프로세스로부터의 종료메시지를 격납하면서 상기 종료메시지를 상기 콘트롤러 프로세스로 전송하기 위한 제3수단을 구비하여 구성된 것을 특징으로 하는 프로그램간 서버장치.
  17. 제16항에 있어서, 상기 콘트롤러 프로세스에 연결되어, 대역데이터를 격납하면서 상기 대역데이터를 상기 제1, 제2 및 제3수단에 제공하기 위한 제1수단을 더 구비하여 구성된 것을 특징으로 하는 프로그램간 서버장치.
  18. 제17항에 있어서, 상기 제1수단에 연결되어, 상기 콘트롤러 프로세스에 의해 사용되기 위한 영구 정의를 격납하기 위한 제2수단을 더 구비하여 구성된 것을 특징으로 하는 프로그램간 서버장치.
  19. 컴퓨터 통합화 제조환경용 시스템에 있어서, 제조플랜트의 비지니스면을 관리하는 비지니스 프로그램을 주행시키기 위해 구성된 IBM 컴퓨터환경과,
    제품의 제조를 관리하는 제조프로그램을 주행시키기 위해 구성된 DEC 컴퓨터환경 및,
    상기 제조프로그램이 상기 비지니스 프로그램과 통신할 수 있도록 서버/클라이언트 관계를 구축하기 위해 구성된 확장 프로그램간 서버를 구비하여 구성되고,
    상기 확장 프로그램간 서버가,
    상기 비지니스 프로그램이 상기 제조프로그램과 회화를 개시할 수 있도록 적어도 하나의 논리유니트 세션을 확립하고 유지하도록 구성된 서버프로세스와,
    상기 서버프로세스에 연결되어, 상기 비지니스 프로그램 및 제조프로그램으로부터의 접속요구를 받아들이면서 접속을 요구하는 프로그램에 서버프로세스를 할당하도록 구성된 콘트롤러 프로세서 및,
    상기 비지니스 프로그램과 상기 제조프로그램간의 통신을 가능하게 하도록 구성된 게이트웨이 프로세스를 구비하여 구성된 것을 특징으로 하는 컴퓨터 통합화 제조환경용 시스템.
  20. 제19항에 있어서, 상기 게이트웨이 프로세스는, 분리한 물리 게이트웨이로 제공되는 것을 특징으로 하는 컴퓨터 통합화 제조환경용 시스템.
KR1019950705792A 1993-06-28 1994-06-15 확장프로그램간통신서버 KR100343517B1 (ko)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
KR960703249A KR960703249A (ko) 1996-06-19
KR100343517B1 true KR100343517B1 (ko) 2002-11-29

Family

ID=22181391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950705792A KR100343517B1 (ko) 1993-06-28 1994-06-15 확장프로그램간통신서버

Country Status (10)

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

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
US7899690B1 (en) 2000-08-18 2011-03-01 The Crawford Group, Inc. Extended web enabled business to business computer system for rental vehicle services
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
FR2813679B1 (fr) * 2000-09-01 2006-09-29 Airsys Atm S A Systeme informatique multiprocess
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 (ja) * 2004-03-19 2010-08-25 株式会社日立製作所 アプリケーション入れ替え方法およびそのプログラム
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 (ko) * 2007-12-17 2009-07-30 한국전자통신연구원 이기종 단말기를 이용한 인터넷 서비스 제공 시스템 및 그방법
US9081613B2 (en) 2010-11-02 2015-07-14 International Business Machines Corporation Unified resource manager providing a single point of control
US8984109B2 (en) 2010-11-02 2015-03-17 International Business Machines Corporation Ensemble having one or more computing systems and a controller thereof
US8966020B2 (en) 2010-11-02 2015-02-24 International Business Machines Corporation Integration of heterogeneous computing systems into a hybrid computing system
US9253016B2 (en) 2010-11-02 2016-02-02 International Business Machines Corporation Management of a data network of a computing environment
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
US10296968B2 (en) 2012-12-07 2019-05-21 United Parcel Service Of America, Inc. Website augmentation including conversion of regional content
CN104657124A (zh) * 2013-11-25 2015-05-27 中国直升机设计研究所 一种基于xml rpc集成pdm系统的方法
US9965466B2 (en) 2014-07-16 2018-05-08 United Parcel Service Of America, Inc. Language content translation
TWI742774B (zh) * 2020-07-22 2021-10-11 財團法人國家實驗研究院 運算系統及其主機資源分配方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61121153A (ja) * 1984-11-19 1986-06-09 Nec Corp プロセツサ間通信制御方式
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 (ja) * 1990-12-10 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレイション ネットワークの構成を定義するシステム、ネットワークのための構成パラメータを生成する方法及びネットワークを構成するためのシステム
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
WO1995000905A1 (en) 1995-01-05
DE69407185T2 (de) 1998-06-10
JPH08511889A (ja) 1996-12-10
US5802293A (en) 1998-09-01
ES2111941T3 (es) 1998-03-16
DE69407185D1 (de) 1998-01-15
EP0706685A1 (en) 1996-04-17
AU7185494A (en) 1995-01-17
CA2164524A1 (en) 1995-01-05
KR960703249A (ko) 1996-06-19
HK1005347A1 (en) 1998-12-31

Similar Documents

Publication Publication Date Title
KR100343517B1 (ko) 확장프로그램간통신서버
EP0312739B1 (en) Apparatus and method for interconnecting an application of a transparent services access facility to a remote source
US6192389B1 (en) Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
EP1027796B1 (en) Distributed web application server
EP0248403B1 (en) Distributed interactive processing method in complex system including plural work stations and plural host computers and apparatus using the same
US5790809A (en) Registry communications middleware
US5727142A (en) Method for a non-disruptive host connection switch after detection of an error condition or during a host outage or failure
US6253252B1 (en) Method and apparatus for asynchronously calling and implementing objects
US4274139A (en) Digital telecommunication network having improved data processing systems
US6085217A (en) Method and apparatus for controlling the assignment of units of work to a workload enclave in a client/server system
EP0849921B1 (en) Apparatus and method for dispatching client method calls within a server computer system
EP1027794B1 (en) Method and system for facilitating distributed software development in a distribution unaware manner
JPH02148224A (ja) 時間開始タスクのスケジユーリング方法
JPH10214189A (ja) オブジェクト要求ブローカの異なるインプリメンテーション間で通信を実施するブリッジ
JPH07281974A (ja) ネットワーク内のコンピュータ間でデータを交換するための通信システム
JPH02116955A (ja) ネツトワークにおける端末アドレス通知方法
AU6047898A (en) Web request broker controlling multiple processes
KR100538371B1 (ko) 분산데이터처리환경에 레거시 어플리케이션을 통합시키기위한 방법 및 시스템
US7111063B1 (en) Distributed computer network having a rotating message delivery system suitable for use in load balancing and/or messaging failover
US5913027A (en) Data processing method for a computer system including computers connected via a communication path to each other and computer-readable recording media for use with the computers
Andrade et al. Open online transaction processing with the TUXEDO system
JP2003084992A (ja) クライアントサーバ間のrpc接続プログラム
KR20000037695A (ko) 웹과 응용을 위한 멀티프로토콜 게이트웨이의 구조 및 처리방법
Capitant Image Processing And Networking
MXPA98003869A (es) Soporte logico personalizado de comunicaciones deregistro

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050311

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee