KR100380974B1 - 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스정합 장치 및 방법 - Google Patents

분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스정합 장치 및 방법 Download PDF

Info

Publication number
KR100380974B1
KR100380974B1 KR10-2001-0031907A KR20010031907A KR100380974B1 KR 100380974 B1 KR100380974 B1 KR 100380974B1 KR 20010031907 A KR20010031907 A KR 20010031907A KR 100380974 B1 KR100380974 B1 KR 100380974B1
Authority
KR
South Korea
Prior art keywords
server
naming
orb
name
integrated
Prior art date
Application number
KR10-2001-0031907A
Other languages
English (en)
Other versions
KR20020094281A (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-0031907A priority Critical patent/KR100380974B1/ko
Publication of KR20020094281A publication Critical patent/KR20020094281A/ko
Application granted granted Critical
Publication of KR100380974B1 publication Critical patent/KR100380974B1/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
    • G06F9/465Distributed object oriented systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 분산 처리 시스템에서 ORB(Object Request Broker) 내에 사용되는 네이밍 서버에 이기종의 다른 ORB 상에서 동작하는 객체를 등록함으로써, 하나의 네이밍 서버를 통해 이기종의 서버와 클라이언트간 코바(CORBA) 통신이 가능하도록 한 분산 처리 시스템에서 이기종 ORB 지원 네이밍 서비스 정합 장치 및 방법에 관한 것으로, 종래에는 서버 측이 이기종의 ORB를 지원하는 서버인 경우 서로 다른 네이밍 서버를 통해 객체 레퍼런스를 획득해야 하기 때문에 동일한 서비스를 제공하는 각기 다른 프로세스 모듈이 동작하고 있어야 할 뿐 아니라 각각의 서버마다 IOR 파일을 관리해야 하는 문제점이 있었으며, 클라이언트 측에서도 이중으로 구현해야 하는 문제점이 있었다.
따라서, 본 발명은 분산 처리 시스템에서 이기종의 ORB(Object Request Broker) 종류와는 무관하게 각각의 객체 레퍼런스를 통합 네이밍 서버에 등록하여 관리하게 함으로써, 이기종 ORB간의 IOR 파일을 서버나 클라이언트 측에서 관리할 필요가 없으며, 이기종 ORB를 지원하는 서버에 대해 추가적인 구현없이 하나의 통합 네이밍 서버를 통해 접근할 수 있게 된다.

Description

분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스 정합 장치 및 방법{Naming Service Interface Apparatus And Method For Supporting Heterogenous General-Purpose ORB In Distributed Processing System}
본 발명은 분산 처리 시스템의 네이밍 서비스 정합에 관한 것으로, 특히 하나의 ORB(Object Request Broker) 내에 사용되는 네이밍 서버에 이기종의 다른 ORB 상에서 동작하는 객체를 등록함으로써, 하나의 네이밍 서버를 통해 이기종의 서버와 클라이언트간 코바(CORBA) 통신이 가능하도록 한 분산 처리 시스템에서 이기종 ORB 지원 네이밍 서비스 정합 장치 및 방법에 관한 것이다.
일반적으로, 네트워크 환경을 바탕으로 원격지에 있는 시스템간의 연동 작업을 통해 서로의 자원을 공유하거나 필요한 정보를 주고받는 등 일련의 상호 작용을 하는 분산 환경에 있어서, 제조사별로 구분되는 이기종 플랫폼(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)가 공유하여 통신하는 경우 서로 다른 ORB 내에서 동작하는 객체 레퍼런스를 획득하기 위해 각각의 네이밍 서버를 인보킹(invoking)시켜야 하며, 클라이언트(A, B)가 종래의 방법을 사용하여 두 개의 네이밍 서버(X, Y)와 통신을 수행하기 위해서 객체 레퍼런스 획득에 필요한 구현 즉, 네이밍 도출(resolution) 모듈(모듈 X, 모듈 Y)이 각각의 클라이언트(A, B)에 모두 필요하다는 단점이 있었다.
전술한 종래의 코바 기반의 클라이언트와 서버로 구성되는 분산 처리 시스템에서 해당 클라이언트와 서버가 분산 객체를 통해 통신하기 위해서는 먼저, 서버는 클라이언트에게 제공하는 서비스 인터페이스를 위한 IDL(Interface DefinitionLanguage)을 정의하고 있어야 하며, 해당 IDL을 컴파일하여 생성된 스켈레톤(Skeleton) 코드와 스터브(Stub) 코드를 통해 인터넷 ORB간 프로토콜(IIOP ; Internet Inter ORB Protocol)에 따라 통신을 수행하게 된다.
이때, 각각의 서버에서는 IDL에 정의한 각각의 메소드에 대한 구현이 이루어지며, 이러한 구현 객체를 클라이언트가 사용하기 위해 네이밍 서비스를 이용하게 되는데, 이를 위해서는 서버의 구현 객체에 대한 접근이 가능하도록 코바 데몬(Daemon) 프로세스에 각각의 구현 객체를 특정 이름으로 등록하는 절차가 필요하다.
그리고, 전술한 필요성에 의해 등록된 구현 객체에 대해 네이밍 서버는 이름을 도출하는 API 형태의 메소드를 클라이언트에 제공하며, 해당 클라이언트의 구현 코드에서는 API 형태로 제공되는 메소드를 사용하여 해당되는 구현 객체의 레퍼런스를 획득하게 된다.
이후, 획득한 구현 객체의 메소드에 대해 호출이 이루어지면, 코바 데몬 프로세스는 해당되는 구현 객체가 있는 특정 서버 프로세스를 실행시키고 클라이언트와 서버간에 연결을 맺어주는 동작을 하게 된다.
즉, 첨부된 도면 도 3과 같이, 해당 서버(12)는 코바 데몬 프로세스에 의해 실행되는 경우 하나 이상의 구현 객체를 생성한 후, 해당 구현 객체의 레퍼런스를 특정 이름으로 네이밍 서버(10)에 등록하게 된다(스텝 S1).
이에, 클라이언트(11)가 네이밍 서버(10)에 등록된 구현 객체를 획득하기 위해 특정 이름을 API에 파라미터 형식으로 서버(12)에 전달하게 되면(스텝 S2),해당되는 구현 객체의 레퍼런스가 서버(12)에 의해 리턴되고(스텝 S3), 해당 클라이언트(11)는 리턴된 구현 객체의 레퍼런스에 대한 메소드를 서버(12)에서 호출하여 필요한 작업을 수행하게 된다(스텝 S4).
전술한 바와 같이, 종래의 분산 처리 시스템에서는 네이밍 서비스를 통해 구현 객체의 레퍼런스를 획득하여 클라이언트와 서버간의 통신을 수행할 수 있는데, 이때, 서버 측이 이기종의 ORB를 지원하는 서버인 경우 서로 다른 네이밍 서버를 통해 객체 레퍼런스를 획득해야 하기 때문에 동일한 서비스를 제공하는 각기 다른 프로세스 모듈이 동작하고 있어야 할 뿐 아니라 각각의 서버마다 IOR 파일을 관리해야 하는 문제점이 있었으며, 클라이언트 측에서도 이중으로 구현해야 하는 문제점이 있었다.
본 발명은 전술한 바와 같은 문제점을 해결하기 위한 것으로 그 목적은, 분산 처리 시스템에서 하나의 ORB 내에 사용되는 네이밍 서버에 다른 ORB의 객체를 등록함으로써, 클라이언트가 이기종의 ORB를 지원하는 서버에 대해 추가적인 구현없이 하나의 통합 네이밍 서버를 통해 접근 가능하도록 하는 데 있다.
또한, 본 발명의 다른 목적은, 통합 네이밍 서버가 ORB와는 무관하게 각각의 객체 레퍼런스를 관리함으로써, 서버와 클라이언트가 ORB별로 IOR 파일을 관리하지 않고도 클라이언트 측에서 필요로 하는 객체 레퍼런스를 획득하여 서버와의 통신을 수행할 수 있도록 하는데 있다.
도 1은 종래의 분산 처리 시스템에서 네이밍 서비스에 대한 시나리오를 설명하기 위한 구성 블록도.
도 2는 종래의 분산 처리 시스템에서 이기종 플랫폼이 하나의 서버 시스템에 구축된 경우의 네이밍 서비스 정합을 설명하기 위한 구성 블록도.
도 3은 종래의 분산 처리 시스템에서 클라이언트와 서버간의 통신 수행을 설명하기 위한 구성 블록도.
도 4는 본 발명에 따른 통합 네이밍 서버를 포함하는 분산 처리 시스템에서 이기종 ORB 지원 네이밍 서비스 정합을 설명하기 위한 구성 블록도.
도 5는 본 발명에 따른 분산 처리 시스템에서 이기종 ORB를 지원하는 네이밍 서비스 정합을 설명하기 위한 구성 블록도.
도 6은 도 5에 있어 서버의 객체 등록 절차에 대한 상세한 동작 순서도.
* 도면의 주요 부분에 대한 부호의 설명 *
40 : 클라이언트 50 : 서버
55 : 네이밍 서비스 라이브러리 클래스
60 : 통합 네이밍 서버
상술한 바와 같은 목적을 달성하기 위한 본 발명의 특징은, 이기종의 ORB를 지원하는 서버와 클라이언트가 상호 연동하는 분산 처리 시스템에 있어서, 상기 서버의 객체 합성 이름과 해당되는 객체 레퍼런스를 네이밍 컨텍스트 형태로 IOR 파일 상에 저장하여 각 ORB별로 등록, 관리하며, 상기 클라이언트 측으로부터 네이밍 서비스 라이브러리 클래스를 통해 실제 동작에 필요한 객체의 합성 이름을 전달받는 경우 해당되는 ORB의 객체 레퍼런스를 클라이언트에 리턴해 주는 통합 네이밍 서버를 포함하여 이루어진 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스 정합 장치를 제공하는 데 있다.
여기서, 상기 클라이언트는 서버의 네이밍 서비스 라이브러리 클래스를 통해 상기 통합 네이밍 서버에 대한 객체 레퍼런스를 획득하고, 실제 동작에 필요한 객체의 합성 이름을 상기 네이밍 서비스 라이브러리 클래스를 통해 통합 네이밍 서버로 전달하여 해당되는 객체 레퍼런스를 리턴받은 후에 이를 이용하여 객체 메소드를 호출해서 서버와의 통신을 수행하는 것을 특징으로 한다.
그리고, 상기 서버는 네이밍 서비스 라이브러리 클래스를 통해 네이밍 서버의 레퍼런스를 획득한 후, 자신의 ORB와 객체를 논리적으로 합성시킨 객체 합성 이름과 해당되는 바 타입(Var Type)의 객체 파라미터인 ORB 식별자와 서버 식별자 및 객체 식별자를 파라미터로 하는 객체 등록 연산을 호출하여 자신의 객체를 통합 네이밍 서버에 등록하는 것을 특징으로 한다.
한편, 본 발명의 다른 특징은, 이기종의 ORB를 지원하는 서버와 클라이언트가 상호 연동하는 분산 처리 시스템에 있어서, 상기 서버 측에서 네이밍 서비스 라이브러리 클래스를 통해 통합 네이밍 서버의 레퍼런스를 획득하여 네이밍 컨텍스트가 존재하는지를 확인하는 과정과; 네이밍 컨텍스트가 존재하는 경우 상기 통합 네이밍 서버의 컨텍스트 리스트에 자신의 ORB와 객체 이름을 합성시킨 객체 합성 이름으로 객체를 등록하고, 네이밍 컨텍스트가 존재하지 않는 경우 새로운 네이밍 컨텍스트를 생성한 후에 자신의 ORB와 객체 이름을 합성시킨 객체 합성 이름으로 객체를 등록하는 과정과; 상기 클라이언트 측에서 서버의 네이밍 서비스 라이브러리 클래스를 통해 상기 통합 네이밍 서버의 레퍼런스를 획득하여 ORB와 실제 동작에 필요한 객체의 합성 이름을 파라미터로 하는 이름 도출 연산을 수행하는 과정과; 상기 통합 네이밍 서버로부터 객체 레퍼런스 정보를 리턴받아 획득한 후에 상기 서버의 해당되는 객체 메소드를 호출하여 통신을 수행하는 과정을 포함하는 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스 정합 방법을 제공하는데 있다.
이때, 상기 객체 등록 과정은, 상기 통합 네이밍 서버에 존재하는 네이밍 컨텍스트의 네이밍 컨텍스트 리스트를 획득하여 자신이 등록하고자 하는 객체 이름이 존재하는지를 확인하는 단계와; 등록하고자 하는 객체 이름이 존재하는 경우 기존의 객체 이름을 자신의 ORB와 등록하고자 하는 객체 이름을 합성시킨 새로운 객체 합성 이름으로 갱신하여 객체를 등록하고, 등록하고자 하는 객체 이름이 존재하지 않는 경우 자신의 ORB와 바 타입의 객체를 파라미터로 하는 객체 등록 연산을 호출하여 객체를 등록하는 단계를 포함하는 것을 특징으로 한다.
이하, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.
본 발명은 네이밍 네이밍 서비스를 이용하는 경우에 이중성으로 인해 발생하는 성능 저하 문제를 해결하기 위해 서로 다른 ORB의 네이밍 서비스를 정합해 주는 프로세스인 통합 네이밍 서버를 제공하고자 하는데, 서로 다른 제조사(예를 들어, 이빅스(ORBIX), 타오(TAO) 등)에서 제조한 통합 네이밍 서버는 이기종 ORB 내의 객체들의 이름을 표준화되어 있는 IOR 스트링으로 변환시켜 클라이언트에 반환하는 API를 제공하게 된다. 즉, 통합 네이밍 서버는 이기종 ORB의 객체에 대한 클라이언트의 획득 요구가 있을 때 해당 이름을 IOR로 변환시켜 메소드의 출력값으로 클라이언트에 전달한다.
상술한 통합 네이밍 서버를 포함하는 본 발명에 따른 분산 처리 시스템은 첨부한 도면 도 4에 도시한 바와 같이, 통합 네이밍 서버가 클라이언트와 이기종 ORB(A, B)를 지원하는 서버 사이의 네이밍 서비스를 정합해 주는 구조를 갖는데, 해당 서버는 네이밍 서비스 라이브러리 클래스(library class)를 통해 네이밍 서버의 레퍼런스를 획득한 후, 자신의 ORB와 객체를 논리적으로 합성(Logical ANDed)시킨 객체 합성 이름을 통합 네이밍 서버에 등록한다.
즉, 해당 서버는 객체 합성 이름과 해당되는 바 타입(Var Type)의 객체 파라미터인 ORB 식별자와 서버 식별자 및 객체 식별자를 파라미터로 하는 객체 등록(RegisterObject) 연산을 호출하여 자신의 객체를 통합 네이밍 서버에 등록한다.
그리고, 해당 통합 네이밍 서버는 서버의 객체 합성 이름과 해당되는 객체 레퍼런스를 네이밍 컨텍스트(Context) 형태로 IOR 파일 상에 저장하여 각 ORB별로 등록, 관리하며, 클라이언트에서 필요로 하는 구현 객체에 대한 객체 합성 이름을 네이밍 서비스 라이브러리 클래스를 통해 전달받는 경우 해당되는 ORB의 객체 레퍼런스를 클라이언트에 리턴해 준다.
이를 위해 통합 네이밍 서버는 객체 레퍼런스를 객체 이름과 연결하는 바인드(bind) 연산과 객체 레퍼런스를 도출(resolve)하기 위한 연산을 제공하며, 서버와 클라이언트는 라이브러리 클래스 헤더 파일을 링크시키고, 통합 네이밍 서버의 레퍼런스를 획득하여 자신의 객체를 등록하고, 이를 도출할 수 있는 네이밍 서비스 라이브러리 클래스를 제공한다.
또한, 해당 클라이언트는 서버의 네이밍 서비스 라이브러리 클래스를 통해 통합 네이밍 서버에 대한 객체 레퍼런스를 획득하고, 자신의 동작에 필요한 구현 객체에 대한 객체 합성 이름을 네이밍 서비스 라이브러리 클래스를 통해 통합 네이밍 서버로 전달하여 해당되는 객체 레퍼런스를 리턴받은 후에 이를 이용하여 원격지(Remote)의 객체 메소드를 호출해서 통신을 수행한다.
이와 같이 구성된 본 발명에 따른 분산 처리 시스템에서 이기종 ORB를 지원하는 네이밍 서비스 정합 절차를 첨부한 도면 도 5를 참조하여 상세하게 설명하면 다음과 같다.
먼저, 서버는 이기종 ORB를 지원하는 네이밍 서비스를 위해 네이밍 서비스라이브러리 클래스를 이용하여 통합 네이밍 서버의 레퍼런스를 획득한 후(스텝 S51), 해당되는 객체 등록 연산을 호출하여 자신의 ORB와 객체 합성 이름을 통합 네이밍 서버에 등록하게 된다(스텝 S52).
즉, 해당 서버의 객체 등록 절차는 첨부한 도면 도 6과 같이, 하나의 통합 네이밍 서버를 통해 이기종 ORB의 객체 레퍼런스를 관리할 수 있는 네이밍 서비스 라이브러리 클래스를 생성하여 객체화한 후(스텝 S61), 해당되는 통합 네이밍 서버의 레퍼런스를 획득하여(스텝 S62), 네이밍 컨텍스트가 존재하는지를 확인하게 된다(스텝 S63).
이때, 네이밍 컨텍스트가 존재하는 경우 해당 서버는 해당되는 네이밍 컨텍스트 리스트를 획득하여(스텝 S64), 자신이 등록하고자 하는 객체 이름이 존재하는지를 확인한 후(스텝 S65), 객체 이름이 존재하는 경우에는 기존의 객체 이름을 자신의 ORB와 등록하고자 하는 객체 이름을 합성시킨 새로운 객체 합성 이름으로 갱신하여 객체를 등록하게 되고(스텝 S66), 객체 이름이 존재하지 않는 경우에는 ORB와 객체 이름을 합성시킨 객체 합성 이름으로 객체를 등록하게 된다(스텝 S68). 즉, 해당 서버는 자신의 ORB와 바 타입의 객체를 파라미터로 하는 객체 등록 연산을 호출하여 네이밍 서버에 객체를 등록하게 된다.
그리고, 스텝 S63에서 네이밍 컨텍스트가 존재하지 않는 경우에는 새로운 네이밍 컨텍스트를 생성한 후(스텝 S67), 자신의 ORB와 객체 이름을 합성시킨 객체 합성 이름으로 객체를 등록하게 된다(스텝 S68).
이때, 해당 네이밍 서비스 라이브러리 클래스는 내부적으로 통합 네이밍 서버의 레퍼런스를 획득하기 위해서 네임 서비스를 파라미터로 하여 클래스 내의 연산인 초기 레퍼런스 도출(resolve_initial_reference) 연산을 호출하고, 이름과 객체를 연결하기 위해 각각을 파라미터로 하는 바인드 연산을 호출하게 되며, 통합 네이밍 서버는 넘겨받은 객체 합성 이름과 객체 레퍼런스를 네이밍 컨텍스트 형태로 파일 상에 저장하여 등록, 관리하게 된다.
이러한 동작에 의해 서버가 객체를 등록한 상태에서 클라이언트는 통합 네이밍 서버와의 연결을 위해 네이밍 서비스 라이브러리 클래스를 통해 서버에 의해 이미 객체화된 통합 네이밍 서버의 레퍼런스를 획득한 후(스텝 S53), ORB와 객체 합성 이름의 구조체를 파라미터로 하는 이름 도출(resolveName) 연산을 수행하여 즉, 자신의 동작에 필요한 구현 객체에 대한 객체 합성 이름을 통합 네이밍 서버로 전달하여 해당되는 객체 레퍼런스를 리턴받아 획득한 후(스텝 S54)에 이를 이용하여 원격지(Remote)의 객체 메소드를 호출해서 서버와의 통신을 수행하게 된다(스텝 S55).
이때, 해당 네이밍 서비스 라이브러리 클래스는 내부적으로 통합 네이밍 서버의 레퍼런스를 다시 획득하기 위해서 네임 서비스를 파라미터로 하여 클래스 내의 연산인 초기 레퍼런스 도출 연산을 호출하고, 클라이언트가 필요로 하는 객체 레퍼런스를 획득하기 위해 해당 클라이언트가 전달해 준 객체 이름을 파라미터로 하는 도출 연산을 수행하게 된다.
그리고, 통합 네이밍 서버는 도출 연산의 출력값으로 객체 레퍼런스 정보 즉, 해당 객체가 실제로 위치하는 IP 주소, 포트 번호, 해당 객체의 인터페이스 저장소 식별자, 해당 객체를 식별할 수 있는 유일한 객체 키와 IIOP 버전 정보 등을 네이밍 서비스 라이브러리 클래스에 반환해 주게 되며, 해당 네이밍 서비스 라이브러리 클래스는 반환받은 객체 레퍼런스 정보를 다시 클라이언트에게 리턴해 주게 된다. 여기서, 통합 네이밍 서버에 클라이언트로부터 전달받은 객체 이름이 존재하지 않는 경우에는 에러 정보를 리턴해 주게 된다.
이로써, 객체 레퍼런스를 리턴받은 클라이언트는 이를 이용하여 원격지의 객체 메소드를 호출해서 서버와의 통신을 수행하게 되는 것이다. 즉, 해당 통합 네이밍 서버는 ORB에 상관없이 각각의 객체 레퍼런스를 관리함으로써, 서버와 클라이언트가 ORB별로 IOR 파일을 관리할 필요없이 통합 네이밍 서버에 등록하여 필요시 객체 레퍼런스를 획득할 수 있게 된다.
또한, 본 발명에 따른 실시예는 상술한 것으로 한정되지 않고, 본 발명과 관련하여 통상의 지식을 가진자에게 자명한 범위내에서 여러 가지의 대안, 수정 및 변경하여 실시할 수 있다.
이상과 같이, 본 발명은 분산 처리 시스템에서 이기종의 ORB(Object Request Broker) 종류와는 무관하게 각각의 객체 레퍼런스를 통합 네이밍 서버에 등록하여 관리하게 함으로써, 이기종 ORB간의 IOR 파일을 서버나 클라이언트 측에서 관리할 필요가 없으며, 이기종 ORB를 지원하는 서버에 대해 추가적인 구현없이 하나의 통합 네이밍 서버를 통해 접근할 수 있게 된다.

Claims (5)

  1. 이기종의 ORB를 지원하는 서버와 클라이언트가 상호 연동하는 분산 처리 시스템에 있어서,
    상기 서버의 객체 합성 이름과 해당되는 객체 레퍼런스를 네이밍 컨텍스트 형태로 IOR 파일 상에 저장하여 각 ORB별로 등록, 관리하며, 상기 클라이언트 측으로부터 네이밍 서비스 라이브러리 클래스를 통해 실제 동작에 필요한 객체의 합성 이름을 전달받는 경우 해당되는 ORB의 객체 레퍼런스를 클라이언트에 리턴해 주는 통합 네이밍 서버를 포함하여 이루어진 것을 특징으로 하는 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스 정합 장치.
  2. 제 1항에 있어서,
    상기 클라이언트는, 서버의 네이밍 서비스 라이브러리 클래스를 통해 상기 통합 네이밍 서버에 대한 객체 레퍼런스를 획득하고, 실제 동작에 필요한 객체의 합성 이름을 상기 네이밍 서비스 라이브러리 클래스를 통해 통합 네이밍 서버로 전달하여 해당되는 객체 레퍼런스를 리턴받은 후에 이를 이용하여 객체 메소드를 호출해서 서버와의 통신을 수행하는 것을 특징으로 하는 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스 정합 장치.
  3. 제 1항 또는 2항에 있어서,
    상기 서버는, 네이밍 서비스 라이브러리 클래스를 통해 네이밍 서버의 레퍼런스를 획득한 후, 자신의 ORB와 객체를 논리적으로 합성시킨 객체 합성 이름과 해당되는 바 타입(Var Type)의 객체 파라미터인 ORB 식별자와 서버 식별자 및 객체 식별자를 파라미터로 하는 객체 등록 연산을 호출하여 자신의 객체를 통합 네이밍 서버에 등록하는 것을 특징으로 하는 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스 정합 장치.
  4. 이기종의 ORB를 지원하는 서버와 클라이언트가 상호 연동하는 분산 처리 시스템에 있어서,
    상기 서버 측에서 네이밍 서비스 라이브러리 클래스를 통해 통합 네이밍 서버의 레퍼런스를 획득하여 네이밍 컨텍스트가 존재하는지를 확인하는 과정과;
    네이밍 컨텍스트가 존재하는 경우 상기 통합 네이밍 서버의 컨텍스트 리스트에 자신의 ORB와 객체 이름을 합성시킨 객체 합성 이름으로 객체를 등록하고, 네이밍 컨텍스트가 존재하지 않는 경우 새로운 네이밍 컨텍스트를 생성한 후에 자신의 ORB와 객체 이름을 합성시킨 객체 합성 이름으로 객체를 등록하는 과정과;
    상기 클라이언트 측에서 서버의 네이밍 서비스 라이브러리 클래스를 통해 상기 통합 네이밍 서버의 레퍼런스를 획득하여 ORB와 실제 동작에 필요한 객체의 합성 이름을 파라미터로 하는 이름 도출 연산을 수행하는 과정과;
    상기 통합 네이밍 서버로부터 객체 레퍼런스 정보를 리턴받아 획득한 후에 상기 서버의 해당되는 객체 메소드를 호출하여 통신을 수행하는 과정을 포함하는 것을 특징으로 하는 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스 정합 방법.
  5. 제 4항에 있어서,
    상기 객체 등록 과정은, 상기 통합 네이밍 서버에 존재하는 네이밍 컨텍스트의 네이밍 컨텍스트 리스트를 획득하여 자신이 등록하고자 하는 객체 이름이 존재하는지를 확인하는 단계와;
    등록하고자 하는 객체 이름이 존재하는 경우 기존의 객체 이름을 자신의 ORB와 등록하고자 하는 객체 이름을 합성시킨 새로운 객체 합성 이름으로 갱신하여 객체를 등록하고, 등록하고자 하는 객체 이름이 존재하지 않는 경우 자신의 ORB와 바 타입의 객체를 파라미터로 하는 객체 등록 연산을 호출하여 객체를 등록하는 단계를 포함하는 것을 특징으로 하는 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스 정합 방법.
KR10-2001-0031907A 2001-06-08 2001-06-08 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스정합 장치 및 방법 KR100380974B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0031907A KR100380974B1 (ko) 2001-06-08 2001-06-08 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스정합 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0031907A KR100380974B1 (ko) 2001-06-08 2001-06-08 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스정합 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20020094281A KR20020094281A (ko) 2002-12-18
KR100380974B1 true KR100380974B1 (ko) 2003-04-18

Family

ID=27708182

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0031907A KR100380974B1 (ko) 2001-06-08 2001-06-08 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스정합 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100380974B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100408592B1 (ko) * 2001-06-26 2003-12-06 엘지전자 주식회사 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스정합 장치 및 방법
KR100735667B1 (ko) * 2005-12-01 2007-07-06 성균관대학교산학협력단 컨텍스트 지향 이벤트 서비스 시스템 및 그 방법
KR102046919B1 (ko) * 2016-12-15 2019-12-02 한전케이디엔주식회사 미들웨어 장치

Also Published As

Publication number Publication date
KR20020094281A (ko) 2002-12-18

Similar Documents

Publication Publication Date Title
JP3519920B2 (ja) オブジェクトのネーミングを管理するための方法、オブジェクトの物理corbaアドレス上でオブジェクトの論理アドレスを表示するための方法およびコンピュータシステム
US6633923B1 (en) Method and system for dynamic configuration of interceptors in a client-server environment
US6189046B1 (en) Mechanism and method for merging cached location information in a distributed object environment
US8631424B2 (en) Method and system of mapping at least one web service to at least one OSGi service and exposing at least one local service as at least one web service
US6282581B1 (en) Mechanism for resource allocation and for dispatching incoming calls in a distributed object environment
US7444619B2 (en) Inter-process communication using different programming languages
US6282579B1 (en) Method for supporting address interaction between a first entity and a second entity, converter for address interaction, and computer system
US7085851B2 (en) SNMP interface to existing resource management extension-enabled management agents
US7080383B1 (en) System and method for extending functionality of a class object
JP4042527B2 (ja) 呼出規約変換処理の生成方法
CA2248634C (en) Common connector framework
JP3361663B2 (ja) 通信管理方法
KR100380974B1 (ko) 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스정합 장치 및 방법
Mazumdar Inter-domain management between CORBA and SNMP: Web-based management—CORBA/SNMP gateway approach
US20040237092A1 (en) Inter-object communication interface bridge
Festor et al. Integration of WBEM-based Management Agents in the OSI Framework
US6898792B1 (en) Foreign object definition information repository
KR100408592B1 (ko) 분산 처리 시스템에서 아이오알을 이용한 네이밍 서비스정합 장치 및 방법
JP2003157242A (ja) 分散処理システム及び連携用アダプタ並びに分散処理システムにおける連携方法及びプログラム
US20050076343A1 (en) Persistent storage of network management data using object references
AU718930B2 (en) Procedure for supporting the generation of an object in a computer system
US6912714B1 (en) Finding named collections via life cycle interfaces
Jeong et al. CORBS/CMIP: gateway service scheme for CORBA/TMN integration
JP2003015891A (ja) ネットワークシステム、サーバ、クライアント、オブジェクト間通信方法、プロファイルオブジェクト登録方法、プログラム、および記憶媒体
KR100662682B1 (ko) 티엠엔 에이전트의 씨오알비에이 레퍼 처리방법

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: 20120315

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee