KR20010001413A - Method for server object invocation within distributed object system by a client application - Google Patents

Method for server object invocation within distributed object system by a client application Download PDF

Info

Publication number
KR20010001413A
KR20010001413A KR1019990020619A KR19990020619A KR20010001413A KR 20010001413 A KR20010001413 A KR 20010001413A KR 1019990020619 A KR1019990020619 A KR 1019990020619A KR 19990020619 A KR19990020619 A KR 19990020619A KR 20010001413 A KR20010001413 A KR 20010001413A
Authority
KR
South Korea
Prior art keywords
server
client
call
remote
application
Prior art date
Application number
KR1019990020619A
Other languages
Korean (ko)
Other versions
KR100366294B1 (en
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 KR1019990020619A priority Critical patent/KR100366294B1/en
Publication of KR20010001413A publication Critical patent/KR20010001413A/en
Application granted granted Critical
Publication of KR100366294B1 publication Critical patent/KR100366294B1/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61LMETHODS OR APPARATUS FOR STERILISING MATERIALS OR OBJECTS IN GENERAL; DISINFECTION, STERILISATION OR DEODORISATION OF AIR; CHEMICAL ASPECTS OF BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES; MATERIALS FOR BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES
    • A61L9/00Disinfection, sterilisation or deodorisation of air
    • A61L9/015Disinfection, sterilisation or deodorisation of air using gaseous or vaporous substances, e.g. ozone
    • A61L9/04Disinfection, sterilisation or deodorisation of air using gaseous or vaporous substances, e.g. ozone using substances evaporated in the air without heating
    • A61L9/12Apparatus, e.g. holders, therefor
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61LMETHODS OR APPARATUS FOR STERILISING MATERIALS OR OBJECTS IN GENERAL; DISINFECTION, STERILISATION OR DEODORISATION OF AIR; CHEMICAL ASPECTS OF BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES; MATERIALS FOR BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES
    • A61L2209/00Aspects relating to disinfection, sterilisation or deodorisation of air
    • A61L2209/10Apparatus features
    • A61L2209/13Dispensing or storing means for active compounds
    • A61L2209/133Replaceable cartridges, refills

Landscapes

  • Health & Medical Sciences (AREA)
  • Epidemiology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

PURPOSE: A method for calling a server object application from a client application in a distributed object system is provided to make a client call a remote object as if the remote object is a self local object under a distributed object system environment, so that a server can support uniform multi-client requests by using an object list and a multi-threaded system to make the client call a correct remote object. CONSTITUTION: A client stores a call-ready object in an object list of a server among many objects of the server, after the server is driven. The client transmits a remote object call message to the server. The server searches the call-ready object requested by the client, and generates a thread for controlling an object calling. The server performs the object calling to transmit a result to the client.

Description

분산 객체 시스템에서 클라이언트 응용이 서버 객체 응용을 호출하는 방법 {Method for server object invocation within distributed object system by a client application}How a client application invokes a server object application in a distributed object system {Method for server object invocation within distributed object system by a client application}

본 발명은 분산 객체 시스템 환경에서 수행 중인 클라이언트 응용(이하 클라이언트)이 서버 응용(이하 서버) 객체를 호출하는 방법에 관한 것이다.The present invention relates to a method for a client application (hereinafter referred to as a client) running in a distributed object system environment to invoke a server application (hereinafter referred to as a server) object.

분산 객체 시스템이란 지역적으로 떨어져 있는 이기종 컴퓨터 시스템들을 컴퓨터 통신망으로 연결하여 사용자에게 하나의 시스템 관점을 제공하며, 객체 지향 응용 개발 환경을 제공하는 것을 말한다.Distributed object system is to connect heterogeneous computer systems that are geographically separated by computer communication network to provide a system perspective to user and to provide object-oriented application development environment.

분산 객체 시스템 환경은 크게 클라이언트와 서버로 구분된다. 분산 객체 시스템에서 제공하는 객체 지향 응용 개발 환경에서 수행되는 서버는 하나 이상의 객체들로 구성한다. 클라이언트는 지리적으로 원격 시스템에 위치한 서버의 특정 객체를 자신의 프로세스 영역 내에 존재하는 객체처럼 호출하여 사용하기를 원한다. 그리고, 서버는 클라이언트의 요청을 처리할 서버 내의 객체를 찾아내고, 이 객체에게 클라이언트의 요청을 전달하여 처리하여야 한다.Distributed object system environment is largely divided into client and server. A server running in the object-oriented application development environment provided by distributed object system is composed of one or more objects. A client wants to invoke and use a particular object on a server geographically located on a remote system as if it were an object within its process area. The server must find an object in the server that will handle the client's request, and deliver the client's request to the object for processing.

현재 이러한 문제를 해결하기 위해 원격 프로시쥬어 호출(Remote Procedure Call)이라는 기법이 존재하는데, 이는 전형적인 함수 호출 방식인 순서적인 응용 환경에는 적합하나 객체들 사이에 메시지 전달 방식으로 이루어지는 객체 지향 환경에는 적합하지 않다.Currently, a technique called remote procedure call exists to solve this problem, which is suitable for an orderly application environment, which is a typical function call method, but not for an object-oriented environment where a message is passed between objects. .

객체 지향 응용 개발 환경과 클라이언트, 서버 구조의 분산 처리 환경을 제공하는 분산 객체 시스템 환경에서는 클라이언트가 원격 객체를 자신의 프로세스 영역 내에 존재하는 객체처럼 호출해서 사용할 수 있는 기법을 제공하는 분산 객체 시스템 환경에 적합한 원격 서버 객체 호출 방법이 필요하다.In the distributed object system environment, which provides an object-oriented application development environment and a distributed processing environment of client and server structures, the distributed object system environment provides a mechanism for a client to call and use a remote object as an object in its own process area. You need a suitable remote server object invocation method.

본 발명은 앞서 설명한 바와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 것으로서, 이기종 시스템들로 구성된 분산 객체 시스템 환경에서 수행 중인 클라이언트가 통신망을 통해 보낸 서비스 요청을 적절한 서버내의 객체에게 전달하여 올바르게 처리하는 일관성 있는 다중 클라이언트 요청 방법에 관한 것이다.The present invention has been made to solve the problems of the prior art as described above, the client running in a distributed object system environment consisting of heterogeneous systems to correctly deliver the service request sent through the communication network to the object in the appropriate server It relates to a consistent multi-client request method.

도 1은 본 발명에 적용되는 분산 객체 시스템의 구성을 나타낸 구성도이고,1 is a block diagram showing the configuration of a distributed object system applied to the present invention,

도 2는 본 발명의 일 실시예에 따른 객체 호출 소프트웨어의 구성 단위들과 이들의 사용 관계를 나타내는 도면이고,2 is a view showing the unit of the object calling software and their use relationship according to an embodiment of the present invention,

도 3은 본 발명의 일 실시예에 따른 분산 객체 시스템 환경의 클라이언트 응용과 서버 객체 응용 사이에서의 동작을 나타내는 도면이고,3 is a diagram illustrating an operation between a client application and a server object application in a distributed object system environment according to an embodiment of the present invention.

도 4a는 본 발명의 일 실시예에 따른 서버 응용 프로그램의 흐름을 나타낸 흐름도이고,4A is a flowchart illustrating a flow of a server application program according to an embodiment of the present invention;

도 4b는 본 발명의 일 실시예에 따른 클라이언트 응용 프로그램의 흐름을 나타낸 흐름도이고,4B is a flowchart illustrating a flow of a client application program according to an embodiment of the present invention.

도 5a 내지 도 5c는 본 발명의 일 실시예에 따른 서버 쪽의 객체 호출 소프트웨어의 흐름을 나타낸 흐름도이고,5A to 5C are flowcharts illustrating a flow of object calling software on a server side according to an embodiment of the present invention;

도 6는 본 발명의 일 실시예에 따른 클라이언트 쪽의 객체 호출 소프트웨어의 흐름을 나타낸 흐름도이다.6 is a flow diagram illustrating the flow of object invocation software on the client side in accordance with one embodiment of the present invention.

앞서 설명한 바와 같은 목적을 달성하기 위한 본 발명에 따르면, 서버와 클라이언트를 포함하는 분산 객체 시스템 환경에서 상기 클라이언트가 상기 서버의 객체 응용을 호출하는 방법에 있어서, 상기 서버가 구동된 후, 상기 서버가 가지고 있는 객체 중 호출 준비가 된 객체를 상기 서버의 객체 리스트에 저장하는 제 1 단계와; 상기 클라이언트가 상기 서버에게 원격 객체 호출 메시지를 전송하는 제 2 단계와; 상기 제 2 단계에서 전송한 원격 객체 호출 메시지를 수신한 상기 서버가 상기 클라이언트가 요구한 객체 호출을 위한 객체를 찾아낸 후, 객체 호출을 제어할 쓰레드를 생성하는 제 3 단계와; 상기 서버 내 객체 호출을 수행하여 그 결과를 상기 클라이언트에게 전달하는 제 4 단계를 포함하여 이루어진 것을 특징으로 하는 분산 객체 시스템에서 클라이언트가 서버 객체 응용을 호출하는 방법이 제공된다.According to the present invention for achieving the object as described above, in a distributed object system environment including a server and a client in a method for the client to call the object application of the server, after the server is running, the server A first step of storing, in the object list of the server, an object ready to be called from among the objects it has; The client sending a remote object call message to the server; A third step of the server receiving the remote object call message transmitted in the second step finding an object for the object call requested by the client, and then creating a thread to control the object call; A method for invoking a server object application by a client in a distributed object system is provided, comprising a fourth step of performing an object call in the server and delivering the result to the client.

또한, 서버와 클라이언트를 포함하는 분산 객체 시스템 환경에서 상기 클라이언트가 상기 서버의 객체 응용을 호출하는 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 상기 서버가 구동된 후, 상기 서버가 가지고 있는 객체 중 호출 준비가 된 객체를 상기 서버의 객체 리스트에 저장하는 제 1 단계와; 상기 서버가 상기 클라이언트의 원격 객체 호출 요청을 처리하기 위하여 호출 대상 객체 리스트를 생성하는 제 2 단계와; 상기 클라이언트 측 객체 요청자를 통하여 상기 클라이언트 프로세스 영역 내의 객체를 호출하는 것과 동일한 방법을 사용하여 상기 클라이언트가 상기 서버에게 원격 객체 호출 메시지를 전송하는 제 3 단계와; 상기 서버가 상기 클라이언트로부터 원격 객체 호출 메시지를 수신하는 제 4 단계와; 상기 제 2 단계에서 생성한 객체 리스트를 이용하며, 다수의 클라이언트의 요구를 처리할 수 있도록 다중 쓰레드(Thread)를 자체적으로 관리하여 객체 호출을 수행하는 제 5 단계와; 상기 서버 내 객체 호출을 수행하여 그 결과를 상기 클라이언트에게 전달하는 제 6 단계를 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공된다.In addition, in a distributed object system environment including a server and a client, a computer-readable recording medium having recorded thereon a program capable of executing a method of invoking an object application of the server, the computer-readable recording medium comprising: A first step of storing, in the object list of the server, an object ready to be called among the objects owned by the server; A second step of the server generating a call object list for processing a remote object call request of the client; A third step of the client sending a remote object call message to the server using the same method as calling an object in the client process area through the client side object requester; A fourth step of the server receiving a remote object call message from the client; A fifth step of using an object list created in the second step and managing an object by managing multiple threads by itself so as to handle requests of a plurality of clients; A computer readable recording medium having recorded thereon a program capable of executing a sixth step of executing an object call in the server and delivering the result to the client is provided.

아래에서, 본 발명에 따른 양호한 일 실시예를 첨부한 도면을 참조로 하여 상세히 설명하겠다.In the following, with reference to the accompanying drawings, a preferred embodiment according to the present invention will be described in detail.

도 1은 본 발명에 적용되는 분산 객체 시스템의 구성을 나타낸 구성도로서, 이를 상세히 설명하면 다음과 같다.1 is a configuration diagram showing a configuration of a distributed object system applied to the present invention.

분산 객체 시스템은 통신망(100)을 통해 연결된 다수의 시스템(110, 120, 130, 140)들로 구성되며 이들 시스템 사이에서 정보 전달이 이루어진다. 시스템들 사이의 정보 전달은 각 시스템에서 수행 중인 응용(112, 122, 132, 142)에 의하여 이루어진다.Distributed object system is composed of a plurality of systems (110, 120, 130, 140) connected through the communication network 100 and the information transfer between these systems. The transfer of information between systems is accomplished by the applications 112, 122, 132, 142 running on each system.

또한, 객체 호출 소프트웨어(113, 123, 133, 134)는 응용(112, 122, 132, 142)과 함께 구동된다. 응용(112, 122, 132, 142)과 함께 구동된 객체 호출 소프트웨어(113, 123, 133, 143)는 이미 각 시스템의 주기억 장치(115, 125, 135, 145)에 탑재되어 있는 운영 체제 및 통신 프로토콜(114, 124, 134, 144)을 통하여 각 시스템(110, 120, 130, 140)의 CPU(111, 121, 131, 141) 상에서 동작하게 된다.In addition, the object calling software 113, 123, 133, 134 is run with the applications 112, 122, 132, 142. The object invocation software 113, 123, 133, 143 driven with the applications 112, 122, 132, 142 is already operating in the main memory 115, 125, 135, 145 of each system. The protocols 114, 124, 134, and 144 operate on the CPUs 111, 121, 131, and 141 of the systems 110, 120, 130, and 140.

도 2는 본 발명의 일 실시예에 따른 객체 호출 소프트웨어의 구성 단위들과 이들의 사용 관계를 나타내는 도면으로서, 이를 상세히 설명하면 다음과 같다.FIG. 2 is a diagram illustrating constituent units of object calling software and their use relationship according to an embodiment of the present invention.

객체 호출 소프트웨어(203, 213)는 객체 요청자(204, 214), 객체 호출자(205, 215), 쓰레드 관리자(206, 216) 및 객체 등록 관리자(207, 217)로 구성된다.The object calling software 203, 213 consists of the object requestor 204, 214, the object caller 205, 215, the thread managers 206, 216, and the object registration managers 207, 217.

클라이언트 응용(202)이 수행되는 시스템을 클라이언트 시스템(200)이라 하고, 서버 응용(212)이 동작하는 시스템을 서버 시스템(210)이라 한다.The system on which the client application 202 is performed is called the client system 200, and the system on which the server application 212 operates is called the server system 210.

클라이언트 시스템(200)의 주기억 장치(209)에 탑재되어 클라이언트 시스템의 CPU(201)상에서 클라이언트 시스템(200)의 운영 체제와 통신 프로토콜(208)과 함께 동작하는 클라이언트 응용(202)은 클라이언트 쪽에서 수행중인 객체 호출 소프트웨어(203)의 객체 요청자(204) 부분에 의하여 서버 응용(212)에게 통신망(100)을 통해 정보(서비스 요청 메시지)를 전달한다.The client application 202 mounted on the main memory device 209 of the client system 200 and operating together with the operating system of the client system 200 and the communication protocol 208 on the CPU 201 of the client system is running on the client side. The object requestor 204 portion of the object calling software 203 conveys information (service request message) to the server application 212 via the communication network 100.

서버 응용(212)은 서버 시스템(210)의 주기억장치(219)에 탑재되어 서버 쪽 운영 체제와 통신 프로토콜(218)과 함께 서버 시스템(210)의 CPU(211)상에서 동작한다.Server application 212 is mounted on main memory 219 of server system 210 and operates on CPU 211 of server system 210 with server-side operating system and communication protocol 218.

클라이언트 응용(202)이 전달한 메시지를 접수한 서버 쪽 객체 호출 소프트웨어(213)는 자신의 객체 호출자(215), 쓰레드 관리자(216) 부분을 이용하여 클라이언트 응용(202)의 요청을 처리한다. 서버쪽에 위치한 객체 등록 관리자(217)는 서버 응용(212)이 자신의 객체를 등록할 때 수행되는 부분이다.The server-side object calling software 213 that receives the message delivered by the client application 202 processes the request of the client application 202 using its object caller 215 and thread manager 216 portions. The object registration manager 217 located on the server side is a part performed when the server application 212 registers its object.

도 3은 본 발명에 적용되는 분산 객체 시스템 환경의 클라이언트 응용과 서버 객체 응용 사이에서의 동작을 나타내는 도면으로서, 이를 상세히 설명하면 다음과 같다.3 is a diagram illustrating an operation between a client application and a server object application in a distributed object system environment according to the present invention.

도 3을 참조하면, 분산 객체 시스템 환경의 클라이언트 응용(202)과 서버 응용(212) 사이에서 객체 호출 소프트웨어(203, 213)가 어떻게 동작하는 지를 알 수 있다.Referring to FIG. 3, it can be seen how object calling software 203, 213 operates between client application 202 and server application 212 in a distributed object system environment.

서버 응용(212)은 자신이 가지고 있는 객체를 객체 등록 관리자(217)를 통하여 객체 리스트(300)에 등록한다. 클라이언트 응용(202)이 클라이언트 쪽 객체 요청자(204)를 통해 객체 호출 메시지를 서버 응용(212)에게 전송한다.The server application 212 registers an object it has in the object list 300 through the object registration manager 217. The client application 202 sends an object call message to the server application 212 via the client side object requestor 204.

서버 쪽 객체 호출자(215)가 클라이언트 쪽에서 보내온 메시지를 접수하여 이를 해석하여 클라이언트 응용(202)이 호출하기를 원하는 객체를 객체 리스트(300)에서 가져온다.The server-side object caller 215 receives the message sent from the client side, interprets it, and retrieves the object from the object list 300 that the client application 202 wants to call.

이어서, 쓰레드 관리자(216)를 통하여 객체 호출을 수행할 쓰레드를 하나 할당받고, 할당받은 쓰레드 상에서 서버 응용(212) 내의 객체 호출을 수행한다. 클라이언트 응용(202)의 요청을 접수한 서버 응용(212) 내의 객체(301)는 처리 결과를 객체 호출자(215)를 통해 클라이언트 쪽으로 전송하다. 서버 쪽에서 응답 결과를 접수한 객체 요청자는 이를 클라이언트 응용(202)에게 전달한다.Subsequently, one thread is allocated through the thread manager 216 to perform the object call, and the object call in the server application 212 is performed on the assigned thread. The object 301 in the server application 212 that receives the request of the client application 202 sends the processing result to the client through the object caller 215. The object requestor, having received the response result on the server side, passes it to the client application 202.

도 4a는 본 발명의 일 실시예에 따른 서버 응용 프로그램의 흐름을 나타낸 흐름도로서, 이를 상세히 설명하면 다음과 같다.4A is a flowchart illustrating a flow of a server application program according to an embodiment of the present invention, which will be described in detail below.

먼저, 스텝 S401에서, 서버 응용 프로그램은 우선 클라이언트에 의해 호출될 객체를 객체 호출 소프트웨어에 등록한 후, 스텝 S402에서, 클라이언트로부터의 요청을 기다리고, 스텝 S403에서, 클라이언트의 요청이 접수되었는지 여부를 판단한다.First, in step S401, the server application program first registers an object to be called by the client in the object calling software, and then, in step S402, waits for a request from the client, and in step S403, determines whether the client's request has been received. .

상기 스텝 S403에서의 판단 결과, 클라이언트의 요청이 접수되면, 스텝 S404에서, 클라이언트가 호출한 객체에 정의된 메소드 중 클라이언트가 요구한 메소드를 수행한다.As a result of the determination in step S403, when the client's request is received, in step S404, the method requested by the client is performed among the methods defined in the object called by the client.

도 4b는 본 발명의 일 실시예에 따른 클라이언트 응용 프로그램의 흐름을 나타낸 흐름도로서, 스텝 S411에서, 클라이언트 응용은 자신이 원하는 서비스를 처리할 객체 내의 특정 메소드를 호출한다.4B is a flowchart illustrating a flow of a client application program according to an embodiment of the present invention. In step S411, the client application calls a specific method in an object to process a service desired by the client application.

도 5a 내지 도 5c는 본 발명의 일 실시예에 따른 서버 쪽의 객체 호출 소프트웨어의 흐름을 나타낸 흐름도로서, 이를 상세히 설명하면 다음과 같다.5A to 5C are flowcharts illustrating a flow of object calling software on a server side according to an embodiment of the present invention.

먼저, 스텝 S501에서, 서버 쪽 객체 호출 소프트웨어가 메시지를 접수하면, 스텝 S502에서, 상기 접수한 메시지가 객체 등록 요청 접수 메시지인지를 판단한다.First, when the server-side object calling software receives a message in step S501, it is determined in step S502 whether the received message is an object registration request accepting message.

상기 스텝 S502에서의 판단 결과, 객체 등록 요청 메시지이면, 스텝 S601에서, 객체 등록을 위하여 객체 식별자를 하나 생성한 후, 스텝 S602에서, 객체 식별자와 객체 쌍을 객체 리스트에 등록하고, 상기 스텝 S501부터 반복 수행한다.As a result of the determination in step S502, if it is an object registration request message, in step S601 one object identifier is generated for object registration, and in step S602, the object identifier and the object pair are registered in the object list, and in step S501, Repeat it.

상기 스텝 S502에서의 판단 결과, 객체 등록 요청 메시지가 아니면, 스텝 S503에서, 접수한 메시지가 객체 호출 메시지인지 여부를 판단한다.As a result of the determination in step S502, if it is not an object registration request message, it is determined in step S503 whether the received message is an object call message.

상기 스텝 S503에서의 판단 결과, 객체 호출 메시지이면, 스텝 S701에서, 객체 호출 메시지를 해석하여 호출 대상 객체의 객체 식별자를 가져온 후, 스텝 S702에서, 호출 대상 객체 식별자를 가지고 객체 리스트를 뒤져 호출 대상 객체를 알아내고, 스텝 S703에서, 쓰레드 관리자를 통하여 호출 대상 객체를 위해 사용될 쓰레드를 하나 할당받는다. 이 때, 새로 할당받은 쓰레드는 수행중인 객체 호출 소프트웨어와 별도의 제어를 가지게 된다.As a result of the determination in step S503, if it is an object call message, in step S701, the object call message is analyzed and an object identifier of the called object is obtained. In step S703, one thread to be used for the object to be called is allocated through the thread manager. At this point, the newly allocated thread has separate control from the running object-calling software.

이어서, 스텝 S704에서, 현재의 제어가 객체 호출을 위해 할당받은 쓰레드의 제어인지 여부를 판단한다.Next, in step S704, it is determined whether the current control is the control of the thread allocated for the object call.

상기 스텝 S704에서의 판단 결과, 객체 호출을 위한 쓰레드의 제어가 아니면, 상기 스텝 S501부터 반복 수행하고, 객체 호출을 위한 쓰레드의 제어이면, 스텝 S705에서, 객체 호출을 위한 요청 메시지를 만든다. 이 때, 이 메시지는 클라이언트 응용이 호출하는 객체 내의 메소드 정보와 전달 매개변수 정보 등을 담는다.As a result of the determination in step S704, if it is not the control of the thread for the object call, the process is repeated from the step S501, and if it is the control of the thread for the object call, in step S705, a request message for the object call is generated. At this point, this message contains method information and delivery parameter information in the object called by the client application.

그 후, 스텝 S706에서, 새로 작성된 요청 메시지를 가지고 해당 객체를 호출한 후, 스텝 S707에서, 호출된 객체는 호출 요청 메시지를 해석하여 메시지가 요구하는 메소드를 수행하여 클라이언트 응용의 요구를 처리한다.Then, in step S706, after calling the object with the newly created request message, in step S707, the called object interprets the call request message and performs a method required by the message to handle the request of the client application.

한편, 상기 스텝 S503에서의 판단 결과, 객체 호출 메시지가 아니면, 스텝 S504에서, 접수한 메시지가 클라이언트로 전송하는 응답, 결과값을 가진 메시지인지 여부를 판단한다.On the other hand, if the determination result in step S503 is not an object call message, in step S504, it is determined whether the received message is a message having a response or a result value sent to the client.

상기 스텝 S504에서의 판단 결과, 응답, 결과값을 가진 메시지이면, 스텝 S505에서, 통신망을 통하여 클라이언트로 전송한 후, 상기 스텝 S501부터 반복 수행하고, 응답, 결과값을 가진 메시지가 아니면, 스텝 S506에서, 오류 처리를 한 후, 상기 스텝 S501부터 반복 수행한다.If the determination result in step S504 is a message with a response or a result value, in step S505, the message is transmitted to the client through a communication network, and the operation is repeated from step S501. In step S501, after the error processing, the process is repeated.

도 6는 본 발명의 일 실시예에 따른 클라이언트 쪽의 객체 호출 소프트웨어의 흐름을 나타낸 흐름도로서, 이를 상세히 설명하면 다음과 같다.6 is a flowchart illustrating a flow of object calling software on a client side according to an embodiment of the present invention.

먼저, 스텝 S801 내지 스텝 S802에서, 클라이언트 쪽 객체 요청자가 메시지 접수를 하였는지 여부를 판단한다.First, in step S801 to step S802, it is determined whether or not the client-side object requester has received a message.

상기 스텝 S802에서의 판단 결과, 메시지 접수를 하였으면, 스텝 S804에서, 호출 대상 객체 식별자를 기본으로 한 객체 호출 메시지를 생성한다. 이때, 이 메시지에는 호출 대상 객체 식별자, 수행될 객체 내 메소드 이름, 전달 매개 변수 등으로 구성된다.As a result of the determination in step S802, when the message is accepted, an object call message based on the call object object identifier is generated in step S804. At this point, this message consists of the object ID to be called, the method name in the object to be executed, and the delivery parameters.

이어서, 스텝 S805에서, 객체 호출 메시지를 통신망을 통하여 서버 응용에게 전송한 후, 상기 스텝 S801부터 반복 수행한다.Subsequently, in step S805, the object call message is transmitted to the server application via the communication network, and then the process is repeated from step S801.

한편 상기 스텝 S802에서의 판단 결과, 메시지 접수를 하지 아니하였으면, 스텝 S803에서, 응답, 결과값 메시지를 수신하였는지 여부를 판단한다.On the other hand, if it is determined in step S802 that no message has been accepted, it is determined in step S803 whether a response or a result value message has been received.

상기 스텝 S803에서의 판단 결과, 응답, 결과값 메시지를 수신하지 아니하였으면, 스텝 S807에서, 오류 처리를 하고, 응답 결과값 메시지를 수신하였으면, 스텝 S806에서, 접수한 응답 메시지를 해석하여 클라이언트 응용이 알 수 있는 형태로 변환하여 클라이언트 응용에게 전달한 후, 상기 스텝 S801부터 반복 수행한다.If the result of the determination in step S803 has not received a response or a result value message, in step S807 an error process is performed, and if a response result value message is received, in step S806 the client application interprets the received response message. After converting the file into a known form and delivering it to the client application, the process is repeated from step S801.

한편, 상기와 같은 본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 기록되어, 컴퓨터에 의하여 처리될 수 있다.On the other hand, the present invention as described above is recorded on a computer-readable recording medium, it can be processed by a computer.

본 발명은 분산 객체 시스템 환경에서 수행하는 클라이언트가 원격 객체를 자신의 지역 객체인 것처럼 호출하여 사용할 수 있도록 함으로써, 서버는 객체 리스트와 다중 쓰레드 기법을 이용하여, 일관성이 있는 다중 클라이언트 요청을 지원하여, 클라이언트가 올바른 원격 객체를 호출할 수 있게 하였다. 따라서, 클라이언트는 자신이 원하는 객체를 지역 객체처럼 호출하여 사용할 수 있으며, 서버는 다중 쓰레드를 고려하지 않고, 일관성 있게 다중 클라이언트의 요청을 처리하는 효과가 있다.According to the present invention, a client running in a distributed object system environment can call and use a remote object as if it is a local object. Thus, the server supports a consistent multi-client request by using an object list and a multi-threaded technique. Allow the client to call the correct remote object. Therefore, the client can call and use the object he wants like a local object, and the server has the effect of handling the requests of multiple clients consistently without considering multiple threads.

이상에서 본 발명에 대한 기술 사상을 첨부 도면과 함께 서술하였지만 이는 본 발명의 가장 양호한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술 분야의 통상의 지식을 가진 자이면 누구나 본 발명의 기술 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.The technical spirit of the present invention has been described above with reference to the accompanying drawings. However, the present invention has been described by way of example only, and is not intended to limit the present invention. In addition, it is obvious that any person skilled in the art may make various modifications and imitations without departing from the scope of the technical idea of the present invention.

Claims (6)

서버와 클라이언트를 포함하는 분산 객체 시스템 환경에서 상기 클라이언트가 상기 서버의 객체 응용을 호출하는 방법에 있어서,In a distributed object system environment including a server and a client, the client calls the object application of the server, 상기 서버가 구동된 후, 상기 서버가 가지고 있는 객체 중 호출 준비가 된 객체를 상기 서버의 객체 리스트에 저장하는 제 1 단계와;A first step of storing, in the object list of the server, an object ready to be called among objects owned by the server after the server is started; 상기 클라이언트가 상기 서버에게 원격 객체 호출 메시지를 전송하는 제 2 단계와;The client sending a remote object call message to the server; 상기 제 2 단계에서 전송한 원격 객체 호출 메시지를 수신한 상기 서버가 상기 클라이언트가 요구한 객체 호출을 위한 객체를 찾아낸 후, 객체 호출을 제어할 쓰레드를 생성하는 제 3 단계와;A third step of the server receiving the remote object call message transmitted in the second step finding an object for the object call requested by the client, and then creating a thread to control the object call; 상기 서버 내 객체 호출을 수행하여 그 결과를 상기 클라이언트에게 전달하는 제 4 단계를 포함하여 이루어진 것을 특징으로 하는 분산 객체 시스템에서 클라이언트가 서버 객체 응용을 호출하는 방법.And a fourth step of performing the object call in the server and delivering the result to the client. 제 1 항에 있어서,The method of claim 1, 상기 서버가 상기 클라이언트의 원격 객체 호출 요청을 처리하기 위하여 호출 대상 객체 리스트를 생성하는 제 4 단계를 더 포함하여 이루어진 것을 특징으로 하는 분산 객체 시스템에서 클라이언트가 서버 객체 응용을 호출하는 방법.And a fourth step of the server generating a call object list for processing the remote object call request of the client. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 제 3 단계는,The third step, 상기 서버가 상기 클라이언트로부터 원격 객체 호출 메시지를 수신하는 제 1 서브 단계와;A first substep of the server receiving a remote object call message from the client; 상기 제 4 단계에서 생성한 객체 리스트를 통하여 호출 대상 객체를 찾아내는 제 2 서브 단계를 포함하여 이루어진 것을 특징으로 하는 분산 객체 시스템에서 클라이언트가 서버 객체 응용을 호출하는 방법.And a second sub-step of finding an object to be called through the object list created in the fourth step. 제 3 항에 있어서,The method of claim 3, wherein 상기 제 2 서브 단계는,The second sub-step, 호출 대상 객체를 찾아낼 때, 다수의 클라이언트의 요구를 처리할 수 있도록 다중 쓰레드(Thread)를 자체적으로 관리하여 객체 호출을 수행하는 서브-서브 단계를 포함하여 이루어진 것을 특징으로 하는 분산 객체 시스템에서 클라이언트가 서버 객체 응용을 호출하는 방법.The client in a distributed object system comprising a sub-sub step of managing an object by executing a multi-thread of itself so as to handle a request of a plurality of clients when finding an object to be called. To call a server object application. 제 1 항에 있어서,The method of claim 1, 상기 제 2 단계는,The second step, 상기 클라이언트가 상기 서버에게 원격 객체를 호출할 때, 상기 클라이언트 측 객체 요청자를 통하여 상기 클라이언트 프로세스 영역 내의 객체를 호출하는 것과 동일한 방법을 사용하는 서브 단계를 포함하여 이루어진 것을 특징으로 하는 분산 객체 시스템에서 클라이언트가 서버 객체 응용을 호출하는 방법.And when the client calls a remote object to the server, using the same method as calling an object in the client process area through the client-side object requester. To call a server object application. 서버와 클라이언트를 포함하는 분산 객체 시스템 환경에서 상기 클라이언트가 상기 서버의 객체 응용을 호출하는 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서,A computer-readable recording medium having recorded thereon a program capable of executing a method for the client to invoke an object application of the server in a distributed object system environment including a server and a client, the method comprising: 상기 서버가 구동된 후, 상기 서버가 가지고 있는 객체 중 호출 준비가 된 객체를 상기 서버의 객체 리스트에 저장하는 제 1 단계와;A first step of storing, in the object list of the server, an object ready to be called among objects owned by the server after the server is started; 상기 서버가 상기 클라이언트의 원격 객체 호출 요청을 처리하기 위하여 호출 대상 객체 리스트를 생성하는 제 2 단계와;A second step of the server generating a call object list for processing a remote object call request of the client; 상기 클라이언트 측 객체 요청자를 통하여 상기 클라이언트 프로세스 영역 내의 객체를 호출하는 것과 동일한 방법을 사용하여 상기 클라이언트가 상기 서버에게 원격 객체 호출 메시지를 전송하는 제 3 단계와;A third step of the client sending a remote object call message to the server using the same method as calling an object in the client process area through the client side object requester; 상기 서버가 상기 클라이언트로부터 원격 객체 호출 메시지를 수신하는 제 4 단계와;A fourth step of the server receiving a remote object call message from the client; 상기 제 2 단계에서 생성한 객체 리스트를 이용하며, 다수의 클라이언트의 요구를 처리할 수 있도록 다중 쓰레드(Thread)를 자체적으로 관리하여 객체 호출을 수행하는 제 5 단계와;A fifth step of using an object list created in the second step and managing an object by managing multiple threads by itself so as to handle requests of a plurality of clients; 상기 서버 내 객체 호출을 수행하여 그 결과를 상기 클라이언트에게 전달하는 제 6 단계를 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program capable of executing a sixth step of performing an object call in the server and delivering the result to the client.
KR1019990020619A 1999-06-04 1999-06-04 Method for server object invocation within distributed object system by a client application KR100366294B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990020619A KR100366294B1 (en) 1999-06-04 1999-06-04 Method for server object invocation within distributed object system by a client application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990020619A KR100366294B1 (en) 1999-06-04 1999-06-04 Method for server object invocation within distributed object system by a client application

Publications (2)

Publication Number Publication Date
KR20010001413A true KR20010001413A (en) 2001-01-05
KR100366294B1 KR100366294B1 (en) 2002-12-31

Family

ID=19590011

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990020619A KR100366294B1 (en) 1999-06-04 1999-06-04 Method for server object invocation within distributed object system by a client application

Country Status (1)

Country Link
KR (1) KR100366294B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100596399B1 (en) * 2003-12-18 2006-07-03 한국전자통신연구원 Method for composing services staticaly in open network and system therefor
KR100959898B1 (en) * 2007-12-27 2010-05-27 주식회사 케이티 Service server and service method with fair load balancing architecture for Internet service

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235098A (en) * 1995-02-22 1996-09-13 Mitsubishi Electric Corp Distributed application commuinication system
JP2968720B2 (en) * 1996-05-22 1999-11-02 中国日本電気ソフトウェア株式会社 Client / server system
JPH104404A (en) * 1996-06-18 1998-01-06 N T T Data Tsushin Kk Multimedia data distribution system
JPH1040157A (en) * 1996-07-25 1998-02-13 Meidensha Corp Object directing data base

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100596399B1 (en) * 2003-12-18 2006-07-03 한국전자통신연구원 Method for composing services staticaly in open network and system therefor
KR100959898B1 (en) * 2007-12-27 2010-05-27 주식회사 케이티 Service server and service method with fair load balancing architecture for Internet service

Also Published As

Publication number Publication date
KR100366294B1 (en) 2002-12-31

Similar Documents

Publication Publication Date Title
JP3853592B2 (en) Distributed web application server
US6195682B1 (en) Concurrent server and method of operation having client-server affinity using exchanged client and server keys
JP4729172B2 (en) Method and apparatus for performing transactions in a stateless web environment that supports a declarative paradigm
KR100612565B1 (en) System and method for combining local and remote windows into a single desktop environment
US5748897A (en) Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US6845505B1 (en) Web request broker controlling multiple processes
EP0817445A2 (en) Apparatus and method for indentifying server computer aggregation topologies
WO2000054149A3 (en) Methods and systems for reduced configuration dependency in thin client applications
KR100772175B1 (en) Network robot system and communication method in network robot system
EP3554037A1 (en) Downlink media transmission control method and related device
KR920008461B1 (en) Process interrupting system and its method
KR100366294B1 (en) Method for server object invocation within distributed object system by a client application
US6209035B1 (en) System and method for establishing communication links and transferring data among a plurality of commication nodes
JP2000200245A (en) System and method for information utilization
JP2002505463A (en) Downloadable smart proxy for processing related to remote processing calls in distributed systems
JPH10260851A (en) Client server system, server allocating method in the system, and server load controlling method in the system
JPH0746287A (en) On-line system
US20030065701A1 (en) Multi-process web server architecture and method, apparatus and system capable of simultaneously handling both an unlimited number of connections and more than one request at a time
JPH04353955A (en) Server client type communication protocol
KR20020019170A (en) Simultaneous multiple file downloads uploads in Internet's FTP
JP2005078339A (en) Wsdl document preparation device and method
JP7260569B2 (en) MEDIA DOWNLINK TRANSMISSION CONTROL METHOD AND RELATED DEVICE
EP1313292A2 (en) Sending notifications through a firewall
JP2000010936A (en) Load distribution device and method
KR100442599B1 (en) Message handling apparatus and method in exchange system using distributed objects of workstation

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

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee