KR20010057371A - 코바(corba)환경에서의 정적 바인딩 방법 - Google Patents

코바(corba)환경에서의 정적 바인딩 방법 Download PDF

Info

Publication number
KR20010057371A
KR20010057371A KR1019990060381A KR19990060381A KR20010057371A KR 20010057371 A KR20010057371 A KR 20010057371A KR 1019990060381 A KR1019990060381 A KR 1019990060381A KR 19990060381 A KR19990060381 A KR 19990060381A KR 20010057371 A KR20010057371 A KR 20010057371A
Authority
KR
South Korea
Prior art keywords
server
binding
client
environment
conference
Prior art date
Application number
KR1019990060381A
Other languages
English (en)
Other versions
KR100587642B1 (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 KR1019990060381A priority Critical patent/KR100587642B1/ko
Publication of KR20010057371A publication Critical patent/KR20010057371A/ko
Application granted granted Critical
Publication of KR100587642B1 publication Critical patent/KR100587642B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 코바(CORBA;Common Object Request Broker Architecture)환경에서 클라이언트 프로그램이 서버 프로그램을 호출할 필요가 생길때마다 해당하는 서버의 객체레퍼런스의 소유여부를 판단하여 그 소유시에는 기존의 객체레퍼런스를 이용하여 그 서버에 바인딩하도록 하도록 된 코바환경에서의 정적 바인딩방법에 관한 것으로, 클라이언트 프로그램이 서버 프로그램을 호출할 필요가 생길 때마다 해당 서버의 객체 컨퍼런스를 알고 있는지를 검사하여 알고 있는 경우에는 기존의 객체 컨퍼런스를 이용함으로써 불필요하게 다시 그 서버에 바인딩하지 않도록 하여 프로그램의 전체적인 성능을 높일 수 있도록 하는 한편, 소프트웨어의 구성관리를 용이하게 할 수 있게 된다.

Description

코바(CORBA)환경에서의 정적 바인딩 방법{Method of static binding in CORBA environment}
본 발명은 네트워크 컴퓨팅분야에 적용되는 코바(CORBA)환경에서의 정적 바인딩방법에 관한 것으로, 보다 상세하게는 소프트웨어의 개발 및 실행환경중의 분산객체환경인 OMG(Object Management Group)의 CORBA(Common Object Request Broker Architecture)를 기반으로 하는 조건에서 객체와 객체간의 통신을 위해 필요한 정적 바인딩이 필요한 경우에만 효율적으로 실시되도록 하기 위한 코바환경에서의 정적 바인딩방법에 관한 것이다.
주지된 바와 같이, 대규모의 소프트웨어 및 컴퓨터 환경이 메인 프레임으로부터 클라이언트/서버환경으로 변화됨에 따라 분산된 네트워크 컴퓨팅 분야에서 클라이언트/서버환경의 하부구조(Infrastructure)로서 OMG의 CORBA가 널리 이용되고 있다.
그 CORBA구조는 소규모의 프로그램으로부터 대규모의 프로젝트의 구현을 위한 프로그램에 이르기까지 다양한 응용분야에 적용되고 있다.
전형적인 코바환경을 설명하기 위해 도 1을 참조하면, 분산된 환경, 즉 상이한 컴퓨팅 노드에 설치된 클라이언트(1)와 서버(2)가 상호 정의된 인터페이스(IDL; Interface Definition Language)에 기초하여 통신을 실행하려는 경우, 양 객체(즉, 클라이언트(1)와 서버(2))의 사이에는 개발자에 대해 원격통신으로 인해 초래되는 복잡성들을 제거해주면서 양 객체 간에 연결을 완성시켜주는 역할을 수행하기 위한 ORB(Object Request Broker)(3)가 개재된다.
여기서, 클라이언트(1)와 서버(2)가 메시지를 교환하기 위해서는 우선적으로 클라이언트(1)가 서버(2)에 바인딩(Binding)되어야만 되는 바, 그 서버(2)에 클라이언트(1)의 바인딩을 위해서는 서버(2)의 등록이름과 그 설치위치(컴퓨팅노드의 닉네임 또는 IP주소)의 인지가 필요하게 되고, 그 서버(2)의 정보(등록이름, 설치위치 등)는 객체레퍼런스(Object Reference)를 통해 총체적으로 알 수 있게 되며, 클라이언트(2)측이 서버(2)의 정보를 알아내는 방법은 다양하게 알려져 있다.
도 2는 클라이언트(1)가 서버(2)에 바인딩하기 위해 필요한 정보의 탐색과 그 탐색된 정보를 이용한 바인딩과정을 설명하기 위한 모식도로서, 동 도면에는 본 발명의 대상으로 되는 정적 바인딩(Static Binding)과, 동적 바인딩(Dynamic Binding) 및, 이름서버(Name server)를 이용한 정적 바인딩이 묘사되어 있다.
먼저, 정적 바인딩에 대해 설명하면 클라이언트 프로그램(10)이 서버프로그램(20; 실행환경에서는 프로세스)의 객체 레퍼런스를 정해진 방법에 따라 알아내고서 그 결과를 이용하여 클라이언트 응용함수(101;OP1)가 클라이언트 스텁(Stub; 103)을 통해 ORB(40)와 서버프로그램(20)의 서버 스텁(또는 Skeleton)(203)을 순차적으로 경유하여 서버의 원하는 오퍼레이션(201)을 호출하게 된다.
여기서, 객체 레퍼런스를 알아내기 위해 서버에 바인딩하는 방법에 따라 클라이언트 프로그램(10)에 직접 입력하거나 이름서버(30)를 이용하게 된다.
그에 대해, 동적 바인딩에 대해 설명하면 정의된 인터페이스(IDL)를 인터페이스저장소(IR; Interface Repository)(50)에 등록하고 클라이언트가 서버를 호출하는 경우에 클라이언트 스텁(103)을 이용하지 않고 인터페이스저장소(50)의 정보를 이용하여 직접 ORB(40)를 거쳐 서버를 호출하게 된다.
그러한 동적 바인딩방법은 대상 응용의 환경이 빈번하게 변화하는 경우에 유용하게 적용될 수 있지만, 그 방법은 응용 대상이 제한적이고 프로그래밍이 정적 바인딩방법에 비해 복잡할 뿐만 아니라, 현재로서는 실행환경에서 그 신뢰성이 완전히 검증되지 않은 상태이기 때문에 널리 이용되지 못하는 실정이다.
그에 반해, 정적 바인딩방법은 프로그래밍이 비교적 간단할 뿐만 아니라 신뢰성이 있기 때문에 대부분의 응용에 이용되고 있기는 하지만, 클라이언트가 서버에 바인딩하는 시점에 따라 프로그램 자체의 성능 및 소프트웨어 구성관리에 상당한 영향을 받게 된다.
또한, 정적 바인딩 중에서 이름서버(30)를 이용하는 방법도 널리 이용되기는 하지만 프로그램의 크기가 커질 뿐만 아니라 이름서버(30)와의 통신으로 인한 부담이 가중된다는 단점이 있다.
본 발명은 상기한 사정을 감안하여 이루어진 것으로, 클라이언트로부터 서버로 통신을 행하는 경우에 필요한 경우에만 바인딩이 실행되도록 함으로써 바인딩의 회수를 최소화하여 응용 프로그램의 불필요한 부담을 경감시키도록 된 코바환경에서의 정적 바인딩방법을 제공함에 그 목적이 있다.
상기한 목적을 달성하기 위해, 본 발명의 바람직한 실시예에 따르면 분산객체환경으로서의 OMG의 CORBA를 기반으로하여 객체와 객체간 통신을 위해 필요한 바인딩을 행하는 방법에 있어서, 객체로서의 서버의 오퍼레이션을 호출할 필요에 따라 바인딩 대상의 서버를 확인하고, 그 확인된 서버의 객체레퍼런스의 소유 여부를 판단하며, 상기 판단결과에 따라 해당하는 서버와의 바인딩을 행하는 단계로 구성된 코바환경에서의 정적 바인딩방법이 제공된다.
바람직하게, 상기 객체레퍼런스의 소유여부는 그 객체레퍼런스가 널(NULL)인 경우에 비소유로 판단하고 그 객체레퍼런스가 널이 아니면 소유로 판단하게 된다.
상기 객체레퍼런스의 소유로 판단되면 그 객체레퍼런스를 기초로 해당하는 서버의 오퍼레이션을 호출하고 비소유로 판단되면 해당하는 서버와 바인드하여 객체레퍼런스를 얻어서 해당하는 서버의 오퍼레이션을 호출하게 된다.
상기한 바와 같이, 본 발명에 따른 코바환경에서의 정적 바인딩방법에 의하면 클라이언트 프로그램이 서버 프로그램을 호출할 필요가 생길때마다 해당하는 서버의 객체레퍼런스의 소유여부를 판단하여 그 소유시에는 기존의 객체레퍼런스를 이용하여 그 서버에 바인딩하도록 함으로써 프로그램의 전체적인 성능을 향상시키게 된다.
도 1은 전형적인 코바(CORBA)환경을 설명하기 위한 개념도,
도 2는 본 발명의 대상으로 되는 정적 바인딩과 동적 바인딩 및 이름서버를 이용한 바인딩을 설명하기 위한 모식도,
도 3은 본 발명에 따른 코바환경에서의 정적 바인딩방법을 설명하기 위해 참조되는 도면,
도 4는 본 발명에 따른 코바환경하에서의 정적 바인딩방법을 설명하기 위한 흐름도이다.
< 도면의 주요부분에 대한 부호의 설명 >
1: 클라이언트, 2: 서버,
10: 클라이언트 프로그램, 20: 서버프로그램,
30: 이름서버, 50: 인터페이스저장소,
103: 클라이언트 스텁, 203: 서버 스텁.
이하, 본 발명에 대해 첨부도면을 참조하여 상세하게 설명한다.
도 3은 본 발명에 따른 코바(CORBA)환경에서의 정적 바인딩 방법을 설명하기 위한 모식도로서, 하나의 클라이언트(C1)가 5개의 서버(S1-S5)와 바인딩해야 하는 경우를 상정하면 필요시에만(즉, 해당 서버에 대한 호출이 필요할 때에만)그 서버와 바인딩여부를 확인하고 바인딩을 시도하도록 설계된다. 이는 다른 서버들에게도 동일하게 적용되어 하나의 서버(S1)가 다른 서버(S3)를 호출하는 경우(이 경우에는 S1이 클라이언트의 역할) S1이 S3의 객체 컨퍼런스를 갖고 있는지의 여부에 따라 바인딩을 하거나 하지 않아도 되게 된다.
그 객체컨퍼런스의 보유 여부에 대해서는 객체 컨퍼런스가 널(NULL)이면 가지지 않는 것이고, 널이 아니면 객체 컨퍼런스를 갖고 있는 것으로 된다. 그러한 방법으로 서버 호출시마다 바인딩하는 방법에 비해 전체적인 프로그램의 효율을 높일 수 있으며, 각 클라이언트와 서버가 활성화(프로세스화)될 때마다 미리 필요한 서버에 모두 바인딩시켜 놓는 방법에 비해 소프트웨어 구성관리가 용이해지게 된다.
도 4는 본 발명에 따른 코바(CORBA)환경에서의 정적 바인딩 방법을 설명하는 흐름도로서, 분산환경에서 클라이언트 프로그램의 처리과정을 나타낸다.
먼저, 서버의 오퍼레이션을 호출할 필요가 생기면(S101), 어떠한 서버와 바인딩해야 하는지를 확인하게 된다(S102). 그 후에, 단계 S102에서 확인된 서버의 객체 컨퍼런스를 자신(클라이언트)이 가지고 있는지를 판단하게 된다(S103). 객체 컨퍼런스를 가지고 있으면 그 컨퍼런스를 이용하여 바로 서버의 원하는 오퍼레이션을 호출하고(S105), 객체 컨퍼런스를 가지고 있지 않으면(바인딩되어 있지 않으면) 해당 서버와 바인드하여 객체 컨퍼런스를 얻어서(S104) 서버의 오퍼레이션을 호출하게 된다.
상기한 바와 같이, 본 발명을 통한 정적 서버 바인딩 방법에 의해 클라이언트 프로그램이 서버 프로그램을 호출할 필요가 생길 때마다 해당 서버의 객체 컨퍼런스를 알고 있는지를 검사하여 알고 있는 경우에는 기존의 객체 컨퍼런스를 이용함으로써 불필요하게 다시 그 서버에 바인딩하지 않도록 하여 프로그램의 전체적인성능을 높일 수 있도록 하는 한편, 소프트웨어의 구성관리를 용이하게 할 수 있게 된다.

Claims (3)

  1. 분산객체환경으로서의 OMG(Object Management Group)의 코바(Common Object Request Broker Architecture)를 기반으로하여 객체와 객체간 통신을 위해 필요한 바인딩을 행하는 방법에 있어서,
    객체로서의 서버의 오퍼레이션을 호출할 필요에 따라 바인딩 대상의 서버를 확인하고,
    그 확인된 서버의 객체레퍼런스의 소유 여부를 판단하며,
    상기 판단결과에 따라 해당하는 서버와의 바인딩을 행하는 단계로 구성된 것을 특징으로 하는 코바환경에서의 정적 바인딩방법.
  2. 제 1 항에 있어서,
    상기 객체레퍼런스의 소유여부는 그 객체레퍼런스가 널(NULL)인 경우에 비소유로 판단하고 그 객체레퍼런스가 널이 아니면 소유로 판단하는 것을 특징으로 하는 코바환경에서의 정적 바인딩방법.
  3. 제 2 항에 있어서,
    상기 객체레퍼런스의 소유로 판단되면 그 객체레퍼런스를 기초로 해당하는 서버의 오퍼레이션을 호출하고 비소유로 판단되면 해당하는 서버와 바인드하여 객체레퍼런스를 얻어서 해당하는 서버의 오퍼레이션을 호출하도록 된 것을 특징으로 하는코바환경에서의 정적바인딩방법.
KR1019990060381A 1999-12-22 1999-12-22 코바(corba)환경에서의 정적 바인딩 방법 KR100587642B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990060381A KR100587642B1 (ko) 1999-12-22 1999-12-22 코바(corba)환경에서의 정적 바인딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990060381A KR100587642B1 (ko) 1999-12-22 1999-12-22 코바(corba)환경에서의 정적 바인딩 방법

Publications (2)

Publication Number Publication Date
KR20010057371A true KR20010057371A (ko) 2001-07-04
KR100587642B1 KR100587642B1 (ko) 2006-06-08

Family

ID=19628111

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990060381A KR100587642B1 (ko) 1999-12-22 1999-12-22 코바(corba)환경에서의 정적 바인딩 방법

Country Status (1)

Country Link
KR (1) KR100587642B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100402424B1 (ko) * 2001-12-27 2003-10-22 주식회사 케이티 공유메모리를 이용한 코바 바인딩 유효성 정보 운용시스템및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374308B1 (en) * 1996-04-23 2002-04-16 Sun Microsystems, Inc. Method and apparatus for interactively connecting distributed objects to a graphic user interface
JPH09330223A (ja) * 1996-06-11 1997-12-22 Nec Corp イベント駆動型サーバへのcorbaによる処理方法と装置
US5864866A (en) * 1997-03-26 1999-01-26 International Business Machines Corporation Apparatus and method for providing externalization in an object-oriented environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100402424B1 (ko) * 2001-12-27 2003-10-22 주식회사 케이티 공유메모리를 이용한 코바 바인딩 유효성 정보 운용시스템및 방법

Also Published As

Publication number Publication date
KR100587642B1 (ko) 2006-06-08

Similar Documents

Publication Publication Date Title
US5818448A (en) Apparatus and method for identifying server computer aggregation topologies
EP0817043B1 (en) Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
EP1949595B1 (en) Method for the construction and execution of a distributed workflow in a communication system
US8122427B2 (en) Decentralized system services
AU746391B2 (en) Method and system for facilitating distributed software development in a distribution unaware manner
CA2308782C (en) Distributed web application server
US8239877B2 (en) Pre-population of meta data cache for resolution of data marshaling issues
JP2001522115A (ja) ウェブアプリケーションサーバにおいて拡張可能な認証機構を実現するための方法および装置
US6643708B1 (en) Systems, methods and computer program products for chaining Java servlets across networks
US7818752B2 (en) Interface for application components
JP3361663B2 (ja) 通信管理方法
KR100587642B1 (ko) 코바(corba)환경에서의 정적 바인딩 방법
Putrycz et al. Using aspect oriented programming to build a portable load balancing service
US7185345B2 (en) Data propagation in an activity service
US7167908B2 (en) Facilitating operation of a multi-processor system via a resolved symbolic constant
KR100305981B1 (ko) 암시적에이전트재배치를사용하여원격네트워크콤포넌트에대한액세스를자동으로로컬라이징하는시스템및방법
US20060161618A1 (en) Abstract mechanism for constructing commands for the command pattern
US6745249B1 (en) Enabling life cycle semantics via naming interfaces
Ram et al. Object migration in CORBA
WO1994028486A1 (en) Method of selecting a server object to service a client object request within a network environment
CN115202904A (zh) 依赖对象共享方法、装置、设备及存储介质
KR100240631B1 (ko) 원격 객체 메소드 호출에서 대리 객체의 입력 및출력 전달 인수 처리 방법
Yang et al. Issues on the RPC paradigms in active networks
Wills The Use of Services in the TILDE Environment
es Alouini et al. Fault-tolerant mobile agents in Mozart

Legal Events

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

Payment date: 20100510

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee