KR100408592B1 - 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스정합 장치 및 방법 - Google Patents

분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스정합 장치 및 방법 Download PDF

Info

Publication number
KR100408592B1
KR100408592B1 KR10-2001-0036620A KR20010036620A KR100408592B1 KR 100408592 B1 KR100408592 B1 KR 100408592B1 KR 20010036620 A KR20010036620 A KR 20010036620A KR 100408592 B1 KR100408592 B1 KR 100408592B1
Authority
KR
South Korea
Prior art keywords
server
ior
naming
client
implementation
Prior art date
Application number
KR10-2001-0036620A
Other languages
English (en)
Other versions
KR20030000585A (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 엘지전자 주식회사
Priority to KR10-2001-0036620A priority Critical patent/KR100408592B1/ko
Publication of KR20030000585A publication Critical patent/KR20030000585A/ko
Application granted granted Critical
Publication of KR100408592B1 publication Critical patent/KR100408592B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Abstract

본 발명은 분산 처리 시스템의 클라이언트에서 동작에 필요한 구현 객체의 이름을 서버로 전달하여 해당되는 구현 객체의 IOR(Interoperable Object Reference)을 리턴받고, 이를 통해 해당 클라이언트와 서버간의 코바 통신이 가능하도록 한 분산 처리 시스템에서 IOR을 이용한 네이밍 서비스 정합 장치 및 방법에 관한 것으로, 종래에는 네이밍 서비스를 통해 구현 객체의 레퍼런스를 획득하여 통신을 수행하는 경우 서로다른 네이밍 도출 모듈을 각각 구현해야 하는 단점이 있으며, 이들간의 호환성에도 문제가 발생할 수 있다. 또한, 서버 측으로부터 전송되는 각각의 구현 객체에 대한 IOR 파일에 저장되어 있는 스트링 형태의 IOR 정보를 사용하여 클라이언트가 구현 객체의 레퍼런스를 획득하여 통신을 수행하는 경우에는 호환성에 대한 문제는 해결할 수 있으나, 구현 객체를 필요로 할 때마다 해당되는 IOR 파일을 클라이언트로 전송해야 하는 단점이 있으며, 이로 인해 초기 연결 설정시 클라이언트의 성능을 저하시킨다는 단점이 있다.
따라서, 본 발명은 이기종의 코바 서버와 클라이언트간의 네이밍 서비스를 IOR을 이용하여 중재해 줌으로써, 해당 클라이언트는 이기종의 코바 서버에 대해 추가적인 구현없이 접근할 수 있으며, 실제 동작에 필요한 객체 레퍼런스를 획득하기 위해 IOR 파일을 매번 FTP로 전송받을 필요없이 객체 이름으로 IOR을 리턴받아 서버의 객체 메소드를 호출해서 통신을 수행할 수 있게 된다.
또한, 본 발명은 클라이언트의 실제 동작에 필요한 객체 레퍼런스를 획득하기 위해 IOR 파일을 매번 전송받을 필요가 없으므로 성능 향상의 효과를 얻을 수 있게 된다.

Description

분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스 정합 장치 및 방법{Interface Apparatus And Method Of Naming Service Using IOR In Distributed Processing System}
본 발명은 분산 처리 시스템에서 IOR(Interoperable Object Reference)을 이용한 네이밍 서비스 정합에 관한 것으로, 특히 클라이언트에서 동작에 필요한 구현 객체의 이름을 서버로 전달하여 해당되는 구현 객체의 IOR을 리턴받고, 이를 통해 해당 클라이언트와 서버간의 코바 통신이 가능하도록 한 분산 처리 시스템에서 IOR을 이용한 네이밍 서비스 정합 장치 및 방법에 관한 것이다.
일반적으로, 네트워크 환경을 바탕으로 원격지에 있는 시스템간의 연동 작업을 통해 서로의 자원을 공유하거나 필요한 정보를 주고받는 등 일련의 상호 작용을 하는 분산 환경에 있어서, 제조사별로 구분되는 이기종 플랫폼(Platform)과 서로 다른 언어(Java나 C++ 등과 같은 비객체 지향 언어)로 작성된 어플리케이션 즉, 메소드(Method)간의 자유로운 액세스가 가능하도록 분산 객체가 서로 통신하는 명세를 정의하고 있는 CORBA(Common Object Request Broker Architecture, 이하, '코바'라 칭함)를 이용한 분산 처리 시스템에서의 서버와 클라이언트간 통신은IDL(Interface Definition Language)에서 정의된 인터페이스를 서버 객체인 구현 객체(Implementation Object)로 구현한 후, 해당 서버에 위치한 구현 객체의 레퍼런스(Reference)를 클라이언트가 획득해서 마치 자신의 메소드를 호출하는 것과 동일하게 원격지 서버의 객체 메소드를 호출하여 통신을 수행하게 된다.
이때, 해당 클라이언트는 네이밍 서비스(Naming Service) 즉, 자신이 호출하고자 하는 메소드를 포함하고 있는 객체에 접근 가능하도록 등록되어 있는 이름을 사용하여 구현 객체의 레퍼런스를 획득하게 되는데, 이러한 네이밍 서비스는 상용 코바 플랫폼마다 사용 방식이나 제공되는 API(Application Programming Interface)가 상이하며, 해당 클라이언트에서 이기종의 코바 플랫폼과 통신을 수행하기 위해서는 각기 다른 방식의 구현이 필요하다.
그리고, 각 제조사 즉, 벤더(Vendor)의 플랫폼별로 고유한 네이밍 서비스를 사용하는 경우 호환성 문제로 인해 IOR(Interoperable Object Reference)을 이용하여 객체의 레퍼런스를 획득하게 되는데, 여기서, IOR은 객체에 대한 정보를 문자열 형태로 표시하며, ORB(Object Request Broker) 벤더간에 공통적으로 사용하는 것으로 이기종 플랫폼간의 ORB 통신을 위해서는 반드시 필요하다.
따라서, 해당 IOR을 클라이언트와 코바 서버간의 통신에 사용하는 경우에는 서버가 제공하는 객체의 IOR을 파일 형태로 저장한 후, 클라이언트는 원격지의 IOR 파일을 수신하여 해당 파일에 저장되어 있는 스트링(String) 형태의 IOR 정보를 통해 객체를 획득하는 방법을 사용할 수 있는데, 이러한 종래의 객체 획득 방법은 획득해야 할 객체 즉, 동작에 필요한 객체가 많은 경우 해당되는 IOR 파일 자체를 필요시마다 수신해야 하는 문제점이 있었고, 각각의 IOR 파일 이름을 모두 명시하여 구현해야 하는 문제점이 있었다.
한편, 전술한 코바 서버와 클라이언트로 구분되는 종래의 코바 플랫폼 하에서 해당 클라이언트는 자신이 필요로 하는 구현 객체의 레퍼런스를 획득하기 위해 네이밍 서비스를 사용하거나, POA(Portable Object Adaptor)를 사용하게 되는데, 일반적인 경우 네이밍 서비스를 사용하게 되며, 이러한 네이밍 서비스에 대한 시나리오를 살펴보면 첨부된 도면 도 1과 같이, 먼저 코바 서버(12)는 네이밍 서버(10)의 리포지터리(Repository)(13)에 구현 객체의 레퍼런스를 등록해야 하며, 이러한 상태에서 해당 클라이언트(11)는 필요한 구현 객체의 이름을 코바 플랫폼에서 제공하는 네이밍 서버(10)의 메소드에 스트링 형태의 파라미터로 전달한 후, 해당 네이밍 서버(10)로부터 리턴(return) 값으로 전달되는 객체 레퍼런스를 획득하여 코바 서버(12)의 객체를 사용하게 된다.
예를 들어, 첨부된 도면 도 2와 같이 코바 환경에서 하나의 서버 시스템 측에 구축된 이기종 플랫폼(네이밍 서버 X(코바 X), 네이밍 서버 Y(코바 Y))을 클라이언트(A, B)가 공유하여 통신하는 경우 종래의 방법을 사용하여 통신을 수행하기 위해서는 객체 레퍼런스 획득에 필요한 구현 즉, 네이밍 도출(resolution) 모듈(모듈 X, 모듈 Y)이 각각의 클라이언트(A, B)에 모두 필요하다는 단점이 있었다. 여기서, 도 2는 이기종 플랫폼이 하나의 서버 시스템에 구축된 예를 도시하였으나, 해당 이기종 플랫폼은 각각의 서버 시스템에 별도로 구축된 경우에도 위와 동일하다.
따라서, 전술한 단점을 해결하기 위해 종래에는 첨부된 도면 도 3과 같이 각구현 객체(X0, Y0)의 IOR을 이용하여 객체 레퍼런스를 획득하는 방법을 사용하였는데, 이는 각각의 서버(X0, Y0)가 FTP(File Transfer Protocol)에 따라 각각의 구현 객체에 대한 IOR 파일(X, Y)을 필요시마다 독립적으로 클라이언트에 전달해야 하는 단점이 있었다.
전술한 종래의 클라이언트와 코바 서버로 구성되는 분산 처리 시스템에서 해당 클라이언트와 서버가 분산 객체를 통해 통신하기 위해서는 먼저, 코바 서버는 클라이언트에게 제공하는 서비스 인터페이스를 위한 IDL(Interface Definition Language)을 정의하고 있어야 하며, 해당 IDL을 컴파일하여 생성된 스켈레톤(Skeleton) 코드와 스터브(Stub) 코드를 통해 인터넷 ORB간 프로토콜(IIOP ; Internet Inter ORB Protocol)에 따라 통신을 수행하게 된다.
이때, 각각의 코바 서버에서는 IDL에 정의한 각각의 메소드에 대한 구현이 이루어지며, 이러한 구현 객체를 클라이언트가 사용하기 위해 네이밍 서비스를 이용하게 되는데, 이를 위해서는 서버의 구현 객체에 대한 접근이 가능하도록 코바 데몬(Daemon) 프로세스에 각각의 구현 객체를 특정 이름으로 등록하는 절차가 필요하다.
그리고, 전술한 필요성에 의해 등록된 구현 객체에 대해 네이밍 서버는 이름을 도출(Resolution)하는 API 형태의 메소드를 클라이언트에 제공하며, 해당 클라이언트의 구현 코드에서는 API 형태로 제공되는 메소드를 사용하여 해당되는 구현 객체의 레퍼런스를 획득하게 된다.
이후, 획득한 구현 객체의 메소드에 대해 호출이 이루어지면, 코바 데몬 프로세스는 해당되는 구현 객체가 있는 특정 서버 프로세스를 실행시키고 클라이언트와 서버간에 연결을 맺어주는 동작을 하게 된다.
즉, 첨부된 도면 도 4와 같이, 해당 서버(12)는 코바 데몬 프로세스에 의해 실행되는 경우 하나 이상의 구현 객체를 생성한 후, 해당 구현 객체의 레퍼런스를 특정 이름으로 네이밍 서버(10)에 등록하게 된다(스텝 S1).
이에, 클라이언트(11)가 네이밍 서버(10)에 등록된 구현 객체를 획득하기 위해 특정 이름을 API에 파라미터 형식으로 서버(12)에 전달하게 되면(스텝 S2), 해당되는 구현 객체의 레퍼런스가 서버(12)에 의해 리턴되고(스텝 S3), 해당 클라이언트(11)는 리턴된 구현 객체의 레퍼런스에 대한 메소드를 서버(12)에서 호출하여 필요한 작업을 수행하게 된다(스텝 S4).
전술한 바와 같이, 종래의 분산 처리 시스템에서 클라이언트와 서버간의 통신을 수행하기 위한 방법으로는 네이밍 서비스를 통해 구현 객체의 레퍼런스를 획득하여 통신을 수행하는 방법이 있는데, 이는 이기종 코바 플랫폼의 경우 서로다른 모듈을 각각 구현해야 하는 단점이 있으며, 이들간의 호환성에도 문제가 발생할 수 있다.
또한, 해당 클라이언트와 서버간의 통신을 수행하기 위한 다른 방법으로 서버 측으로부터 전송되는 각각의 구현 객체에 대한 IOR 파일에 저장되어 있는 스트링 형태의 IOR 정보를 사용하여 클라이언트가 구현 객체의 레퍼런스를 획득하여 통신을 수행하는 방법이 있는데, 이는 네이밍 서비스를 사용하는 방법의 문제점인 호환성에 대한 문제는 해결할 수 있으나, 구현 객체를 필요로 할 때마다 해당되는IOR 파일을 클라이언트로 전송해야 하는 단점이 있으며, 이로 인해 초기 연결 설정시 클라이언트의 성능을 저하시킨다는 단점이 있다.
본 발명은 전술한 바와 같은 문제점을 해결하기 위한 것으로 그 목적은, 분산 처리 시스템에서 클라이언트가 이기종의 코바 서버에 대해 추가적인 구현없이 접근할 수 있도록 이기종의 코바 서버와 클라이언트간의 네이밍 서비스를 IOR을 이용하여 중재해 주는 데 있다.
또한, 본 발명의 다른 목적은, 이기종의 코바 서버와 클라이언트간의 네이밍 서비스를 IOR을 이용하여 중재해 줌으로써, 클라이언트 측에서 실제 동작에 필요한 객체 레퍼런스를 획득하기 위해 IOR 파일을 매번 FTP로 전송받을 필요가 없도록 함과 동시에 이로 인한 성능 저하를 방지하는 데 있다.
도 1은 종래의 분산 처리 시스템에서 네이밍 서비스에 대한 시나리오를 설명하기 위한 구성 블록도.
도 2는 종래의 분산 처리 시스템에서 이기종 플랫폼이 하나의 서버 시스템에 구축된 경우의 네이밍 서비스 정합을 설명하기 위한 구성 블록도.
도 3은 종래의 분산 처리 시스템에서 각 구현 객체의 IOR 파일 전송을 이용한 네이밍 서비스 정합을 설명하기 위한 구성 블록도.
도 4는 종래의 분산 처리 시스템에서 클라이언트와 서버간의 통신 수행을 설명하기 위한 구성 블록도.
도 5는 본 발명에 따른 네이밍 정합 서버를 포함한 분산 처리 시스템에서 IOR을 이용한 네이밍 서비스 정합을 설명하기 위한 구성 블록도.
도 6은 본 발명에 따른 분산 처리 시스템에서 IOR을 이용한 네이밍 서비스 정합 방법을 구현하기 위한 동작 순서도.
도 7은 본 발명에 따른 분산 처리 시스템에서 코바 서버와 클라이언트간의 네이밍 서비스 정합 동작을 의사 코드로 구현한 예를 도시한 도면.
* 도면의 주요 부분에 대한 부호의 설명 *
50 : 클라이언트 60 : 네이밍 정합 서버
70 : 네이밍 서버 80A~80C : 코바 서버
상술한 바와 같은 목적을 달성하기 위한 본 발명의 특징은, 이기종의 서버와 클라이언트가 상호 연동하는 분산 처리 시스템에 있어서, 상기 클라이언트 측에서 실제 동작에 필요한 구현 객체에 대한 이름을 전달받는 경우 해당되는 구현 객체의 메소드를 네이밍 서버로부터 반환받은 후에 이를 IOR 정보로 변환하여 클라이언트에 리턴해 주는 네이밍 정합 서버를 포함하는 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스 정합 장치를 제공하는 데 있다.
여기서, 상기 클라이언트는 구현 객체에 대한 이름을 상기 네이밍 정합 서버로 전달하여 해당되는 IOR 정보를 리턴받은 후에 이를 객체 레퍼런스로 변환하여 실제 동작에 필요한 구현 객체의 메소드를 해당되는 서버로부터 호출해서 통신을 수행하는 것을 특징으로 하며, 상기 네이밍 정합 서버는 최초 구동되는 클라이언트가 네이밍 정합 서버 자신의 객체 레퍼런스를 획득할 수 있도록 IDL로 정의된 자신의 구현 객체에 대한 IOR 정보를 포함하고 있는 파일을 생성하여 특정 디렉토리 또는 로컬 메모리에 저장하여 관리하는 것을 특징으로 한다.
나아가, 상기 클라이언트는 최초 구동시에 서버 시스템 측의 특정 디렉토리 또는 로컬 메모리에 위치하고 있는 네이밍 정합 서버에 대한 IOR 파일을 FTP로 전송받아 상기 네이밍 정합 서버에 대한 객체 레퍼런스를 획득하는 것을 특징으로 한다.
본 발명의 다른 특징은, 이기종의 서버와 클라이언트가 상호 연동하는 분산 처리 시스템의 네이밍 서비스 정합 방법에 있어서, 상기 클라이언트 측에서 네이밍 정합 서버의 IOR 메소드를 호출하여 실제 동작에 필요한 구현 객체의 이름을 스트링 형태의 파라미터로 전달하는 과정과; 네이밍 서버로부터 구현 객체의 메소드를 반환받은 후에 IOR 정보로 변환하여 상기 클라이언트에게 리턴해 주는 과정과; 상기 IOR 정보를 다시 객체 레퍼런스로 변환한 후에 상기 서버의 해당되는 구현 객체 메소드를 호출하여 통신을 수행하는 과정을 포함하는 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스 정합 방법을 제공하는 데 있다.
그리고, 상술한 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스 장법은, 상기 서버 측에서 IDL에 정의한 각가의 메소드에 대해 구현 객체를 생성하는 경우 자신들이 생성한 구현 객체의 레퍼런스를 네이밍 서버의 리포지터리에 등록하는 과정을 더 포함하는 것을 특징으로 하며, 또한, 상기 네이밍 정합 서버의 최초 구동시에 IDL로 정의된 자신의 구현 객체에 대한 IOR 파일을 생성하여 특정 디렉토리 또는 로컬 메모리에 저장하는 과정과; 상기 클라이언트의 구동시에 상기 네이밍 정합 서버에 저장되어 있는 IOR 파일을 FTP로 전송받는 과정과; 전송받은 IOR 파일에 저장되어 있는 스트링 형태의 IOR 정보를 객체로 변환하여 상기 네이밍 정합 서버의 객체 레퍼런스를 획득하는 과정을 더 포함하는 것을 특징으로 한다.
이하, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.
본 발명은 이기종 플랫폼 하에서 종래의 네이밍 서비스를 이용하는 경우에 발생하는 호환성의 문제나 클라이언트의 성능 저하 문제를 해결하기 위해 이기종의 코바 서버와 클라이언트간의 네이밍 서비스를 IOR을 이용하여 중재해 주는 프로세스인 네이밍 정합 서버를 제공하고자 한다. 여기서, IOR은 코바 플랫폼에 관계없이 객체를 표시하는 구문(Syntax)으로 사용 가능하도록 표준화되어 있으므로, 해당 네이밍 정합 서버는 자신이 관리하는 객체의 이름을 IOR 스트링으로 변환시켜 클라이언트에 반환하는 API를 제공하게 된다.
상술한 네이밍 정합 서버를 포함하는 본 발명에 따른 분산 처리 시스템은 첨부한 도면 도 5에 도시한 바와 같이, 해당 네이밍 정합 서버(60)가 클라이언트(50)와 네이밍 서버(70) 사이에 구현되며, 각각의 코바 서버(80A~80C)는 자신들이 생성한 구현 객체의 레퍼런스를 네이밍 서버(70)에 특정 이름으로 등록해야 하고, 해당 네이밍 서버(70)는 일종의 코바 서버로서, 클라이언트(50)와 통신하는 코바 서버(80A~80C)에 의해 등록되는 객체 레퍼런스를 리포지터리에 계층 구조로 저장하여 관리한다.
그리고, 해당 네이밍 정합 서버(60)는 클라이언트(50)에서 필요로 하는 구현 객체에 대한 이름을 전달받는 경우 해당되는 구현 객체의 메소드를 네이밍 서버(70)로부터 반환받은 후에 이를 IOR 스티링 정보로 변환하여 클라이언트(50)에 리턴해 준다.
이때, 해당 클라이언트(50)는 자신의 동작에 필요한 구현 객체에 대한 이름을 네이밍 정합 서버(60)로 전달하여 해당되는 IOR 스트링 정보를 리턴받은 후에 이를 객체 레퍼런스로 변환하여 실제 동작에 필요한 구현 객체의 메소드를 해당되는 코바 서버(80A~80C)로부터 호출해서 통신을 수행한다.
또한, 해당 클라이언트(50)는 최초 구동시 네이밍 정합 서버(60)에 대한 객체 레퍼런스를 획득하기 위해 서버 시스템 측의 특정 디렉토리(또는 로컬 메모리)에 위치하고 있는 네이밍 정합 서버(60)의 IOR 스트링 정보가 저장되어 있는 파일을 FTP로 전송받아야 하며, 이를 위해 네이밍 정합 서버(60)는 IDL로 정의된 자신의 구현 객체에 대한 IOR 파일을 생성하여 특정 디렉토리(또는 로컬 메모리)에 저장하고 있어야 한다.
이와 같이 구성된 본 발명에 따른 분산 처리 시스템에서 IOR을 이용한 네이밍 서비스 정합 절차를 첨부한 도면 도 6을 참조하여 상세하게 설명하면 다음과 같다.
먼저, 각각의 코바 서버(80A~80C)는 IDL에 정의한 각각의 메소드에 대해 구현 객체를 생성하는 경우 클라이언트(50)가 이를 사용할 수 있도록 자신들이 생성한 구현 객체의 레퍼런스를 네이밍 서버(70)에 특정 이름을 이용하여 등록함으로써(스텝 S61), 해당 네이밍 서버(70)는 특정 이름을 이용하여 코바 서버(80A~80C)에 의해 등록되는 객체 레퍼런스를 리포지터리에 계층 구조로 저장하여 관리하게 된다.
그리고, 일종의 코바 서버로 구현되는 네이밍 정합 서버(60)는 이기종의 코바 서버(80A~80C)와 클라이언트(50)간의 네이밍 서비스를 중재해 주기 위해 IDL이 선언되어야 하고, 해당되는 IDL 파일의 컴파일 후에 생성되는 스켈레톤 코드를 링크하여 컴파일되어야 하며, 해당 클라이언트(50) 측에서도 네이밍 정합 서버(60)와 동일한 IDL 파일을 컴파일해야 하는데, 자바로 구현된 클라이언트의 경우에는 헬퍼(Helper), 홀더(Holder), 오퍼레이션 자바(Operation Java) 파일에서 생성되는 클래스 파일을 링크시켜야 하며, 해당 클래스 파일에 있는 메소드들은 실제 구현될 클라이언트에서 획득하여 라이브러리 함수로 사용된다.
여기서, 해당 네이밍 정합 서버(60)의 IDL은 아래와 같이 선언할 수 있다.
module IORAdaptor
{
interface ConnSvr
{
short getIOR(in string objectName, //Name of object
out string ior //return IOR string
)
};
};
또한, 해당 네이밍 정합 서버(60)는 최초 구동시에 IDL로 정의된 자신의 구현 객체에 대한 IOR 파일을 생성한 후, 이를 특정 디렉토리에 저장하여 관리함으로써(스텝 S62), 클라이언트(50)가 객체 이름을 이용하여 네이밍 정합 서버(60)를 통해 IOR을 획득해서 자신의 동작에 필요한 코바 서버(80A~80C)의 객체 레퍼런스를 획득할 수 있게 된다.
즉, 해당 네이밍 정합 서버(60)가 자신의 IOR 파일을 특정 디렉토리에 저장하여 관리하게 되면, 해당 클라이언트(50)는 최초 구동시에 네이밍 정합 서버(60)의 특정 디렉토리에 위치하고 있는 IOR 파일을 FTP로 전송받은 후, 전송받은 IOR 파일에 저장되어 있는 스트링 형태의 IOR 정보를 객체로 변환하여 네이밍 정합 서버(60)의 객체 레퍼런스를 획득하게 된다(스텝 S63).
이에, 해당 클라이언트(50)는 획득한 네이밍 정합 서버(60)의 객체 레퍼런스를 이용하여 구현 객체의 레퍼런스를 획득하기 위해 네이밍 정합 서버(60)에서 제공하는 IOR 메소드를 호출하게 되는데(스텝 S64), 해당 메소드 호출시 실제 동작에 필요한 구현 객체의 이름을 스트링 형태의 파라미터로 네이밍 정합 서버(60)에 전달하게 된다.
그리고, 구현 객체의 이름을 스트링 형태의 파라미터로 전달받은 해당 네이밍 정합 서버(60)는 자신이 관리하는 서버 시스템의 네이밍 서버(70)에 요청하여 클라이언트(50)가 실제 동작에 필요로 하는 구현 객체의 메소드를 반환받은 후, 이를 IOR 스트링 정보로 변환하여 클라이언트에게 리턴해 주게 되는데(스텝 S65), 이러한 네이밍 정합 서버(60)의 동작을 의사 코드(Pseudo code)로 구현하면 아래와 같다.
CORBA::Short ConnSvrImpl:: getIOR (
const char*objectName,
char*ior)
{
try {
get Naming prefix Name;
Object obj=resolveName(objectName);
ior=convertNameToIOR(obj)
}
catch {
handling exception;
}
}
한편, 실제 동작에 필요한 구현 객체의 레퍼런스에 해당되는 IOR 스트링 정보를 리턴받은 클라이언트(50)는 IOR 스트링 정보를 다시 객체 레퍼런스로 변환한 후(스텝 S66), 해당 객체 레퍼런스로 코바 서버(80A~80C)의 해당되는 구현 객체 메소드를 호출하여 통신을 수행하게 된다(스텝 S67).
이때, 해당 코바 서버(80A~80C)와 클라이언트(50)간의 네이밍 서비스 정합 동작은 첨부한 도면 도 7과 같이 의사 코드로 구현할 수 있는데, 여기서 상단부는 클라이언트(50)가 네이밍 정합 서버(60)에 대한 IOR 스트링 정보를 특정 폴더에 파일로 저장하는 동작을 구현한 것이고, 하단부는 네이밍 정합 서버(60)에 대한 IOR 스트링 정보를 이용하여 네이밍 정합 서버(60)를 통해 실제 동작에 필요한 객체 이름에 해당되는 코바 서버(80A~80C)에 대한 IOR을 획득해서 해당 코바 서버(80A~80C)의 객체 레퍼런스를 획득하는 동작을 구현한 것이다.
또한, 본 발명에 따른 실시예는 상술한 것으로 한정되지 않고, 본 발명과 관련하여 통상의 지식을 가진자에게 자명한 범위내에서 여러 가지의 대안, 수정 및 변경하여 실시할 수 있다.
이상과 같이, 본 발명은 이기종의 코바 서버와 클라이언트간의 네이밍 서비스를 IOR을 이용하여 중재해 줌으로써, 해당 클라이언트는 이기종의 코바 서버에 대해 추가적인 구현없이 접근할 수 있으며, 실제 동작에 필요한 객체 레퍼런스를 획득하기 위해 IOR 파일을 매번 FTP로 전송받을 필요없이 객체 이름으로 IOR을 리턴받아 서버의 객체 메소드를 호출해서 통신을 수행할 수 있게 된다.
또한, 본 발명은 클라이언트의 실제 동작에 필요한 객체 레퍼런스를 획득하기 위해 IOR 파일을 매번 전송받을 필요가 없으므로 성능 향상의 효과를 얻을 수 있게 된다.

Claims (7)

  1. 이기종의 서버와 클라이언트가 상호 연동하는 분산 처리 시스템에 있어서,
    상기 클라이언트 측에서 실제 동작에 필요한 구현 객체에 대한 이름을 전달받는 경우 해당되는 구현 객체의 메소드를 네이밍 서버로부터 반환받은 후에 이를 IOR 정보로 변환하여 클라이언트에 리턴해 주는 네이밍 정합 서버를 포함하는 것을 특징으로 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스 정합 장치.
  2. 제 1항에 있어서,
    상기 클라이언트는, 구현 객체에 대한 이름을 상기 네이밍 정합 서버로 전달하여 해당되는 IOR 정보를 리턴받은 후에 이를 객체 레퍼런스로 변환하여 실제 동작에 필요한 구현 객체의 메소드를 해당되는 서버로부터 호출해서 통신을 수행하는 것을 특징으로 하는 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스 정합 장치.
  3. 제 1항에 있어서,
    상기 네이밍 정합 서버는, 최초 구동되는 클라이언트가 네이밍 정합 서버 자신의 객체 레퍼런스를 획득할 수 있도록 IDL로 정의된 자신의 구현 객체에 대한IOR 정보를 포함하고 있는 파일을 생성하여 특정 디렉토리 또는 로컬 메모리에 저장하여 관리하는 것을 특징으로 하는 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스 정합 장치.
  4. 제 1항 내지 3항중 어느 한 항에 있어서,
    상기 클라이언트는, 최초 구동시에 서버 시스템 측의 특정 디렉토리 또는 로컬 메모리에 위치하고 있는 네이밍 정합 서버에 대한 IOR 파일을 FTP로 전송받아 상기 네이밍 정합 서버에 대한 객체 레퍼런스를 획득하는 것을 특징으로 하는 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스 정합 장치.
  5. 이기종의 서버와 클라이언트가 상호 연동하는 분산 처리 시스템의 네이밍 서비스 정합 방법에 있어서,
    상기 클라이언트 측에서 네이밍 정합 서버의 IOR 메소드를 호출하여 실제 동작에 필요한 구현 객체의 이름을 스트링 형태의 파라미터로 전달하는 과정과;
    네이밍 서버로부터 구현 객체의 메소드를 반환받은 후에 IOR 정보로 변환하여 상기 클라이언트에게 리턴해 주는 과정과;
    상기 IOR 정보를 다시 객체 레퍼런스로 변환한 후에 상기 서버의 해당되는 구현 객체 메소드를 호출하여 통신을 수행하는 과정을 포함하는 것을 특징으로 하는 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스 정합 방법.
  6. 제 5항에 있어서,
    상기 서버 측에서 IDL에 정의한 각가의 메소드에 대해 구현 객체를 생성하는 경우 자신들이 생성한 구현 객체의 레퍼런스를 네이밍 서버의 리포지터리에 등록하는 과정을 더 포함하는 것을 특징으로 하는 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스 정합 방법.
  7. 제 5항에 있어서,
    상기 네이밍 정합 서버의 최초 구동시에 IDL로 정의된 자신의 구현 객체에 대한 IOR 파일을 생성하여 특정 디렉토리 또는 로컬 메모리에 저장하는 과정과;
    상기 클라이언트의 구동시에 상기 네이밍 정합 서버에 저장되어 있는 IOR 파일을 FTP로 전송받는 과정과;
    전송받은 IOR 파일에 저장되어 있는 스트링 형태의 IOR 정보를 객체로 변환하여 상기 네이밍 정합 서버의 객체 레퍼런스를 획득하는 과정을 더 포함하는 것을 특징으로 하는 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스 정합 방법.
KR10-2001-0036620A 2001-06-26 2001-06-26 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스정합 장치 및 방법 KR100408592B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0036620A KR100408592B1 (ko) 2001-06-26 2001-06-26 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스정합 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0036620A KR100408592B1 (ko) 2001-06-26 2001-06-26 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스정합 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20030000585A KR20030000585A (ko) 2003-01-06
KR100408592B1 true KR100408592B1 (ko) 2003-12-06

Family

ID=27711182

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0036620A KR100408592B1 (ko) 2001-06-26 2001-06-26 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스정합 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100408592B1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990051286A (ko) * 1997-12-19 1999-07-05 이계철 이기종 시스템에서의 데이터 처리 방법
US5983233A (en) * 1996-08-20 1999-11-09 Alcatel Alsthom Compagnie Generale D'electricite Process for managing the naming of objects, process for mapping an object name to a CORBA object reference, program module, computer unit, and computer system
JP2000067010A (ja) * 1998-08-19 2000-03-03 Nippon Telegr & Teleph Corp <Ntt> 分散オブジェクト名前付けサービス装置
KR20010018286A (ko) * 1999-08-18 2001-03-05 홍상복 이기종 피엘씨간의 데이터 전송 및 공유 방법
JP2001092766A (ja) * 1999-09-20 2001-04-06 Hitachi Ltd クライアントサーバシステムおよびネーミングサービス方法
KR20010093465A (ko) * 2000-03-29 2001-10-29 윤종용 코버플락시모듈을 이용한 다양한 프로토콜 공통 서비스를위한 분산객체 지향 통신시스템 및 그 방법
KR20020094281A (ko) * 2001-06-08 2002-12-18 엘지전자 주식회사 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스정합 장치 및 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983233A (en) * 1996-08-20 1999-11-09 Alcatel Alsthom Compagnie Generale D'electricite Process for managing the naming of objects, process for mapping an object name to a CORBA object reference, program module, computer unit, and computer system
KR19990051286A (ko) * 1997-12-19 1999-07-05 이계철 이기종 시스템에서의 데이터 처리 방법
JP2000067010A (ja) * 1998-08-19 2000-03-03 Nippon Telegr & Teleph Corp <Ntt> 分散オブジェクト名前付けサービス装置
KR20010018286A (ko) * 1999-08-18 2001-03-05 홍상복 이기종 피엘씨간의 데이터 전송 및 공유 방법
JP2001092766A (ja) * 1999-09-20 2001-04-06 Hitachi Ltd クライアントサーバシステムおよびネーミングサービス方法
KR20010093465A (ko) * 2000-03-29 2001-10-29 윤종용 코버플락시모듈을 이용한 다양한 프로토콜 공통 서비스를위한 분산객체 지향 통신시스템 및 그 방법
KR20020094281A (ko) * 2001-06-08 2002-12-18 엘지전자 주식회사 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스정합 장치 및 방법

Also Published As

Publication number Publication date
KR20030000585A (ko) 2003-01-06

Similar Documents

Publication Publication Date Title
US7444619B2 (en) Inter-process communication using different programming languages
AU691031B2 (en) System and method for providing interoperability among heterogeneous object systems
JP3519920B2 (ja) オブジェクトのネーミングを管理するための方法、オブジェクトの物理corbaアドレス上でオブジェクトの論理アドレスを表示するための方法およびコンピュータシステム
Vinoski Distributed object computing with CORBA
US6959307B2 (en) Process and system for a client object to perform a remote method invocation of a method in a server object
US6446137B1 (en) Remote procedure call system and method for RPC mechanism independent client and server interfaces interoperable with any of a plurality of remote procedure call backends
US7203946B2 (en) System and method for intercepting, instrumenting and characterizing usage of an application programming interface
JP2000515278A (ja) 非同期式にオブジェクトを呼出し、処理するための方法および装置
JPH08263292A (ja) オブジェクト指向プログラミング・インターフェース及びマップする方法
CA2171685A1 (en) Methods and apparatus for managing computer processes
JP4042527B2 (ja) 呼出規約変換処理の生成方法
Mazumdar Inter-domain management between CORBA and SNMP: Web-based management—CORBA/SNMP gateway approach
US7472399B2 (en) Method and system for a client invoking on an interface defined in a first notation to invoke an object having an interface defined in a second notation
KR100408592B1 (ko) 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스정합 장치 및 방법
KR100380974B1 (ko) 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스정합 장치 및 방법
KR20020004941A (ko) 인텔리전트 에이전트에서의 다이나믹 커맨드 확장성을위한 방법 및 장치
Arulanthu et al. Applying C++, Patterns, and Components to Develop an IDL Compiler for CORBA AMI Callbacks
CN1984149A (zh) 一种基于消息的分布式系统以及在其中通信的方法
US6898792B1 (en) Foreign object definition information repository
Veiga et al. Incremental replication for mobility support in OBIWAN
Debusmann et al. Generic performance instrumentation of EJB applications for service-level management
EP1122644A1 (en) A method and system for dynamically dispatching function calls from a first execution environment to a second execution environment
AU718930B2 (en) Procedure for supporting the generation of an object in a computer system
Jeong et al. CORBS/CMIP: gateway service scheme for CORBA/TMN integration
Krishna et al. Enhancing real-time CORBA predictability and performance

Legal Events

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

Payment date: 20111011

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee