KR100327112B1 - Method for maintenancing consistency of corba object in distributed object system - Google Patents

Method for maintenancing consistency of corba object in distributed object system Download PDF

Info

Publication number
KR100327112B1
KR100327112B1 KR1019990061898A KR19990061898A KR100327112B1 KR 100327112 B1 KR100327112 B1 KR 100327112B1 KR 1019990061898 A KR1019990061898 A KR 1019990061898A KR 19990061898 A KR19990061898 A KR 19990061898A KR 100327112 B1 KR100327112 B1 KR 100327112B1
Authority
KR
South Korea
Prior art keywords
message
function
function call
client
group member
Prior art date
Application number
KR1019990061898A
Other languages
Korean (ko)
Other versions
KR20010063804A (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 KR1019990061898A priority Critical patent/KR100327112B1/en
Publication of KR20010063804A publication Critical patent/KR20010063804A/en
Application granted granted Critical
Publication of KR100327112B1 publication Critical patent/KR100327112B1/en

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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 분산객체 시스템에서의 객체 일관성 유지방법에 관한 것으로, 클라이언트와 서버 객체사이에는 전송제어 프로토콜 / 인터넷 프로토콜을 사용하고, 서버 객체 그룹간에는 멀티캐스트 프로토콜을 사용하여, 클라이언트에 연결된 서버 객체만이 해당 클라이언트의 함수 호출에 대한 응답 및 외부함수를 호출할 수 있도록 하는 분산객체 시스템에서의 객체 일관성 유지 방법을 제공하기 위하여, 제 1 객체 그룹 멤버가 클라이언트로부터 전송제어 프로토콜 / 인터넷 프로토콜을 통하여 함수 호출 메세지를 수신하는 제 1 단계; 상기 제 1 객체 그룹 멤버가 상기 함수 호출 메세지에 클라이언트 정보를 추가하여 멀티캐스트 프로토콜을 이용하여 그룹 멤버에게 전송하는 제 2 단계; 상기 함수 호출 메세지를 수신한 상기 제 1 객체 그룹 멤버가 객체 호출을 시작하고, 서버 객체의 멤버 함수를 호출하는 제 3 단계; 및 상기 제 1 객체 그룹 멤버가 외부 함수 수행결과 응답 메세지를 수신하고, 상기 멤버 함수 수행 결과를 전송제어 프로토콜 / 인터넷 프로토콜을 이용하여 상기 클라이언트로 전송하는 제 4 단계를 포함하며, 분산객체 시스템 등에 이용됨.The present invention relates to a method for maintaining object consistency in a distributed object system, wherein a server object connected to a client is used by using a transmission control protocol / internet protocol between a client and a server object and a multicast protocol between server object groups. In order to provide a method for maintaining object consistency in a distributed object system that allows an external function to be called and a response to a function call of a corresponding client, a first object group member receives a function call message from a client through a transmission control protocol / Internet protocol. Receiving a first step; A second step of adding, by the first object group member, client information to the function call message to a group member using a multicast protocol; A third step of the first object group member receiving the function call message starting an object call and calling a member function of a server object; And a fourth step of receiving, by the first object group member, an external function execution result response message, and transmitting the result of performing the member function to the client using a transmission control protocol / Internet protocol, and used for a distributed object system. .

Description

분산객체 시스템에서의 객체 일관성 유지방법{METHOD FOR MAINTENANCING CONSISTENCY OF CORBA OBJECT IN DISTRIBUTED OBJECT SYSTEM}Object consistency in distributed object systems {METHOD FOR MAINTENANCING CONSISTENCY OF CORBA OBJECT IN DISTRIBUTED OBJECT SYSTEM}

본 발명은 객체그룹을 지원하는 분산객체 시스템에서 객체 그룹을 구성하는 멤버들의 상태를 일관성 있게 유지하기 위한 분산객체 시스템에서의 객체 일관성 유지 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention provides a method of maintaining object consistency in a distributed object system for maintaining a consistent state of members constituting an object group in a distributed object system supporting an object group, and a computer-readable recording program for realizing the method. It relates to a recording medium.

일반적으로 코르바(CORBA : Common Object Request Broker Architecture)는 분산객체 시스템의 표준규격으로 클라이언트-서버 모델(client-server model)을 사용한다. 그리고, 클라이언트들은 원격 프로시저 호출(RPC : Remote Procedure Call)을 통해 원격노드에 존재하는 서버 객체를 공유한다.In general, CORBA (Common Object Request Broker Architecture) uses a client-server model as a standard for distributed object systems. Clients share server objects that exist on remote nodes through remote procedure calls (RPCs).

코르바는 프로그래밍 인스턴스(programming instance)뿐 아니라, 클라이언트가 서버 객체에 접속하는 방법 및 클라이언트가 서버 객체의 멤버 함수를 호출하기 위하여 요구되는 자료구조의 표현형식 및 통신규약을 정의함으로써, 서로 다른 제품들 사이에 상호운용이 가능하도록 한다.In addition to programming instances, CORVA defines different types of products by defining how the client connects to the server object and the representation and communication protocols of the data structures required for the client to call the member functions of the server object. Enable interoperability between them.

그러나, 상기한 바와 같은 클라이언트-서버 모델은, 하나의 서버를 다수의 클라이언트가 공유하기 때문에 서버 객체가 수행되는 컴퓨터에 오류가 발생할 경우, 클라이언트들은 더 이상 서비스를 받을 수 없다.However, in the client-server model as described above, since a single server is shared by a plurality of clients, when an error occurs in the computer where the server object is executed, the clients can no longer be served.

상기와 같은 문제점을 해결하기 위해, 동일한 서버 객체들을 서로 다른 컴퓨터에서 수행시키는 방법이 사용되고 있다. 즉, 다수의 동일한 서버 객체가 서로 다른 컴퓨터에서 수행되므로 임의의 서버 객체에 고장이 발생하더라도 다른 서버 객체에서 클라이언트에 대한 서비스를 수행할 수 있음을 의미한다.In order to solve the above problem, a method of executing the same server objects on different computers is used. That is, since a plurality of the same server object is performed on different computers, even if a failure occurs in any server object, it means that the other server object can perform services for the client.

이와 같이, 서로 다른 컴퓨터에서 수행되면서 동일한 상태를 유지하는 객체들을 객체 그룹이라 하며, 상기 객체 그룹을 구성하는 각각의 객체들을 그룹의 멤버라 한다. 상기 객체 그룹을 지원하기 위해 각 멤버 상태의 일관성을 유지하는 방법이 필요하게 되었다.As such, objects that are executed on different computers and maintain the same state are called object groups, and each object constituting the object group is called a member of the group. There is a need for a method of maintaining the consistency of each member state to support the object group.

이에 따라, 각 멤버의 상태를 일관성 있게 유지하기 위하여 능동복제(active replication or state machine approach)방법과 수동복제(passive replication or primary-backup approach)방법이 사용되고 있다.Accordingly, active replication or state machine approach and passive replication or primary-backup approach are used to maintain the state of each member consistently.

상기 능동복제 방법은, 모든 멤버들이 동일한 상태에서 시작하여 동일한 순서의 메세지를 수행하는 경우에는 항상 동일한 결과를 유지할 수 있는 방법이고, 수동복제 방법은, 하나의 대표적인 객체(primary)와 상기 대표 객체가 고장이 발생할 경우에 대체할 백업 객체들로 구성되며, 클라이언트에 대한 서비스 및 백업 객체들의 상태를 유지가 상기 대표 객체에 의해 수행되는 방법이다.The active replication method is a method in which all members start in the same state and always maintain the same result when performing the same sequence of messages. In the manual replication method, one representative object and one representative object Consists of backup objects to replace in case of failure, maintaining the state of the service and backup objects for the client is a method performed by the representative object.

그러나, 상기한 바와 같은 분산객체 시스템에서의 객체 일관성 유지 방법은, 클라이언트가 서버 객체의 함수를 호출한 경우, 각 멤버 객체들이 모두 응답을 수행하면, 클라이언트가 다중응답을 수신하게 되며, 호출된 서버 객체의 멤버 함수가 수행중에 다른 서버 객체의 함수를 호출하는 경우, 모든 멤버 함수가 이를 수행하면, 다중호출이 발생하여 원치 않는 결과를 획득하게 되는 문제가 있다.However, in the method of maintaining object consistency in the distributed object system as described above, when the client calls a function of the server object, if each member object performs a response, the client receives a multi-response, and the called server If a member function of an object calls a function of another server object while executing, there is a problem that if all member functions execute this, multiple calls occur to obtain an unwanted result.

종래에는 상기한 바와 같은, 원격 프로시저 호출에 의한 다중호출 및 다중응답을 방지하기 위하여 논리시간(logical time)을 사용한다.Conventionally, logical time is used to prevent multiple calls and multiple responses by remote procedure calls, as described above.

그러나, 종래의 논리시간을 이용한 분산시스템에서 객체의 일관성 유지방법은, 논리시간을 지원하기 위하여 추가적인 기능을 필요하게 되고, 논리시간을 유지하기 위한 추가적인 메세지 전송이 많아 작업수행 속도가 저하되는 문제가 있다.However, in the distributed system using the logical time, the method of maintaining the consistency of the object requires an additional function to support the logical time, and there is a problem that the task execution speed is lowered because there are many additional message transmissions to maintain the logical time. have.

따라서, 본 발명은, 상기와 같은 문제점을 해결하기 위해 안출된 것으로, 클라이언트와 서버 객체사이에는 전송제어 프로토콜 / 인터넷 프로토콜(TCP/IP : Transport Control Protocol/Internet Protocol)을 사용하고, 서버 객체 그룹간에는 멀티캐스트 프로토콜(multicast protocol)을 사용하여, 클라이언트에 연결된 서버 객체만이 해당 클라이언트의 함수 호출에 대한 응답 및 외부함수를 호출할 수 있도록 하는 분산객체 시스템에서의 객체 일관성 유지 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above problems, and uses a Transport Control Protocol / Internet Protocol (TCP / IP) between a client and a server object, and between server object groups. Using a multicast protocol to realize the method and the method of maintaining object consistency in a distributed object system such that only server objects connected to a client can call external functions and responses to client function calls. Its purpose is to provide a computer readable recording medium having recorded thereon a program.

도 1 은 본 발명이 적용되는 분산객체 시스템에서의 객체 일관성 유지시스템의 일실시예 구성도.1 is a diagram illustrating an embodiment of an object consistency maintaining system in a distributed object system to which the present invention is applied.

도 2 는 본 발명에 따른 분산객체 시스템에서의 객체 일관성 유지방법에 대한 일실시예 처리 흐름도.2 is a flowchart illustrating an embodiment of a method for maintaining object consistency in a distributed object system according to the present invention.

도 3 은 상기 도 2 의 서버객체의 멤버함수를 호출하는 서브루틴의 일실시예 상세 흐름도.FIG. 3 is a detailed flowchart of one embodiment of a subroutine calling a member function of the server object of FIG.

도 4 는 본 발명에 따른 분산객체 시스템에서의 객체 일관성 유지방법에 대한 일실시예 설명도.4 is a diagram illustrating an embodiment of a method for maintaining object consistency in a distributed object system according to the present invention.

도 5 는 본 발명에 따른 함수호출 메세지 및 응답메세지의 일실시예 예시도.Figure 5 illustrates an embodiment of a function call message and response message according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

110 : 클라이언트 111 : 클라이언트 객체110: client 111: client object

112 : 객체 중개자112: object mediator

113, 124, 134, 144 : 운영체제 및 하위계층 통신규약113, 124, 134, 144: operating system and lower layer communication protocols

120 : 제 1 객체 그룹 멤버120: first object group member

121, 131 : 제 1 및 제 2 멤버 서버 객체121, 131: First and second member server objects

122 : 제 1 멤버 객체 중개자 123 : 제 1 멤버 객체그룹 관리자122: first member object intermediary 123: first member object group manager

130 : 제 2 객체 그룹 멤버 132 : 제 2 멤버 객체 중개자130: second object group member 132: second member object mediator

133 : 제 2 멤버 객체그룹 관리자 140 : 외부 서버 객체133: second member object group manager 140: external server object

141 : 서버 객체 142 : 외부 객체 중개자141: server object 142: external object intermediary

143 : 외부 객체그룹 관리자143: external object group manager

상기 목적을 달성하기 위한 본 발명의 방법은, 분산객체 시스템에 적용되는 객체 일관성 유지 방법에 있어서, 제 1 객체 그룹 멤버가 클라이언트로부터 전송제어 프로토콜 / 인터넷 프로토콜(TCP/IP : Transport Control Protocol/Internet Protocol)을 통하여 함수 호출 메세지를 수신하는 제 1 단계; 상기 제 1 객체 그룹 멤버가 상기 함수 호출 메세지에 클라이언트 정보를 추가하여 멀티캐스트 프로토콜을 이용하여 그룹 멤버에게 전송하는 제 2 단계; 상기 함수 호출 메세지를 수신한 상기 제 1 객체 그룹 멤버가 객체 호출을 시작하고, 서버 객체의 멤버 함수를 호출하는 제 3 단계; 및 상기 제 1 객체 그룹 멤버가 외부 함수 수행결과 응답 메세지를 수신하고, 상기 멤버 함수 수행 결과를 전송제어 프로토콜 / 인터넷 프로토콜을 이용하여 상기 클라이언트로 전송하는 제 4 단계를 포함한다.In order to achieve the above object, the method of the present invention provides a method for maintaining object consistency applied to a distributed object system, wherein the first object group member transmits a transport control protocol / Internet protocol from a client (TCP / IP). Receiving a function call message via e); A second step of adding, by the first object group member, client information to the function call message to a group member using a multicast protocol; A third step of the first object group member receiving the function call message starting an object call and calling a member function of a server object; And a fourth step of receiving, by the first object group member, an external function execution result response message and transmitting the member function execution result to the client using a transmission control protocol / Internet protocol.

또한, 본 발명은, 마이크로 프로세서를 구비한 분산객체 시스템에서의 객체 일관성 유지 시스템에, 제 1 객체 그룹 멤버가 클라이언트로부터 전송제어 프로토콜 / 인터넷 프로토콜(TCP/IP : Transport Control Protocol/Internet Protocol)을 통하여 함수 호출 메세지를 수신하는 제 1 기능; 상기 제 1 객체 그룹 멤버가 상기 함수 호출 메세지에 클라이언트 정보를 추가하여 멀티캐스트 프로토콜을 이용하여 그룹 멤버에게 전송하는 제 2 기능; 상기 함수 호출 메세지를 수신한 상기 제 1 객체 그룹 멤버가 객체 호출을 시작하고, 서버 객체의 멤버 함수를 호출하는 제 3 기능; 및 상기 제 1 객체 그룹 멤버가 외부 함수 수행결과 응답 메세지를 수신하고, 상기 멤버 함수 수행 결과를 전송제어 프로토콜 / 인터넷 프로토콜을 이용하여 상기 클라이언트로 전송하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.In addition, the present invention provides a system for maintaining object consistency in a distributed object system having a microprocessor, in which a first object group member receives a transport control protocol / Internet protocol (TCP / IP) from a client. A first function of receiving a function call message; A second function of adding, by the first object group member, client information to the function call message to a group member using a multicast protocol; A third function of the first object group member receiving the function call message initiating an object call and calling a member function of a server object; And a program for realizing a fourth function of receiving, by the first object group member, an external function execution result response message, and transmitting the member function execution result to the client using a transmission control protocol / Internet protocol. Provide a readable recording medium.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 본 발명이 적용되는 본 발명이 적용되는 분산객체 시스템에서의 객체 일관성 유지시스템의 일실시예 구성도이다.1 is a configuration diagram of an object coherence maintaining system in a distributed object system to which the present invention is applied.

도면에 도시된 바와 같이, 본 발명이 적용되는 분산객체 시스템에서의 객체 일관성 유지시스템은, 함수 호출 메세지를 전송하는 클라이언트(110)와, 상기 클라이언트의 함수 호출 메세지를 수신하여 외부함수를 호출하는 제 1 객체그룹 멤버(120)와, 상기 제 1 객체그룹 멤버(120)로부터 상기 클라이언트(110)의 정보가 추가된 함수호출 메세지를 수신하는 제 2 객체그룹 멤버(130)와, 상기 제 1 객체그룹 멤버(120)로부터 상기 클라이언트(110)의 정보가 추가된 함수 호출 메세지를 수신하여 함수를 수행하고 그 결과를 전송하는 외부 서버 객체(140)를 구비한다.As shown in the drawing, the object consistency maintaining system in the distributed object system to which the present invention is applied includes a client 110 that transmits a function call message, and an external function that receives a function call message of the client and calls an external function. A first object group member 120, a second object group member 130 for receiving a function call message to which the information of the client 110 has been added from the first object group member 120, and the first object group; The server 120 includes an external server object 140 that receives a function call message to which the information of the client 110 is added, performs a function, and transmits a result.

상기 클라이언트(110)는 멤버 함수가 호출되는 클라이언트 객체(111)와, 상기 멤버 함수 호출을 메세지로 변환하는 객체 중개자(112)와, 상기 멤버 함수 호출 메세지를 상기 제 1 객체그룹 멤버(120)로 전송제어 프로토콜 / 인터넷프로토콜(TCP/IP : Transport Control Protocol/Internet Protocol)을 사용하여 전송하는 운영체제 및 하위계층 통신규약(213)을 포함한다.The client 110 may include a client object 111 for which a member function is called, an object broker 112 for converting the member function call into a message, and the member function call message to the first object group member 120. An operating system and a lower layer communication protocol 213 for transmitting using a transport control protocol / Internet protocol (TCP / IP) are included.

그리고, 상기 제 1 및 제 2 객체그룹 멤버(120, 130)는, 외부 함수가 호출되는 제 1 및 제 2 멤버 서버 객체(121, 131)와, 상기 외부 함수 호출을 메세지로 변환하는 제 1 및 제 2 객체 중개자(122, 132)와, 상기 외부 함수 호출 메세지에 상기 클라이언트(110)의 정보를 추가하여 운영체제 및 하위계층 통신규약(124, 134)를 통해 멀티캐스트 프로토콜을 이용하여 전송하는 제 1 및 제 2 멤버 객체그룹 관리자(123, 133)를 포함한다.The first and second object group members 120 and 130 may include first and second member server objects 121 and 131 for which an external function is called, and first and second messages for converting the external function call into a message. A first object that adds information of the client 110 to the second object intermediary 122 and 132 and the external function call message and transmits the information using the multicast protocol through an operating system and a lower layer communication protocol 124 and 134. And second member object group managers 123 and 133.

또한, 상기 외부 서버 객체(140)는 호출된 함수를 수행하는 서버객체(141)와, 상기 함수 수행 결과를 메세지로 구성하는 외부 객체 중개자(142)와, 상기 함수 수행 결과 메세지를 운영체제 및 하위계층 통신규약(144)을 통해 멀티캐스트 프로토콜을 이용하여 전송하는 외부 객체그룹 관리자(143)를 포함한다.In addition, the external server object 140 includes a server object 141 that executes the called function, an external object intermediary 142 constituting the result of performing the function as a message, and an operating system and a lower layer of the function execution result message. The external object group manager 143 transmits using the multicast protocol through the communication protocol 144.

첨부된 도 2 는 본 발명에 따른 분산객체 시스템에서의 객체 일관성 유지방법에 대한 일실시예 처리 흐름도이다.2 is a flowchart illustrating a method for maintaining object consistency in a distributed object system according to the present invention.

먼저, 상기 제 1 객체 그룹 멤버(120)는 상기 클라이언트(110)로부터 전송제어 프로토콜 / 인터넷 프로토콜(TCP/IP : Transport Control Protocol/Internet Protocol)을 통하여 함수 호출 메세지를 수신하고(300), 상기 함수 호출 메세지에 클라이언트 정보를 추가하여 멀티캐스트 프로토콜을 이용하여 그룹 멤버에게 전송한다(302).First, the first object group member 120 receives a function call message from the client 110 through a transport control protocol / Internet protocol (TCP / IP) (300), and the function Client information is added to the paging message and transmitted to the group member using the multicast protocol (302).

상기 함수 호출 메세지를 수신한 제 1 객체 그룹 멤버(120) 및 제 2 객체 그룹 멤버(130)는 객체 호출을 시작하고(304), 상기 함수 호출 메세지가 나에게 접속된 클라이언트의 메세지인가를 판단한다(306).Receiving the function call message, the first object group member 120 and the second object group member 130 start an object call 304, and determine whether the function call message is a message of a client connected to me. (306).

상기 판단결과(306), 나에게 접속된 클라이언트의 메세지가 아니면, 외부함수 호출방지 큐에 스레드(thread)를 등록하고(308), 서버 객체의 멤버 함수 호출한다(310).As a result of the determination 306, if it is not a message of the client connected to me, a thread is registered in the external function call prevention queue (308), and the member function of the server object is called (310).

상기 판단결과(306), 나에게 접속된 클라이언트의 메세지이면, 다중호출을 방지하기 위하여 외부함수 호출 큐에 스레드를 등록하고(312), 상기 310 과정을 수행한다.As a result of the determination 306, if it is a message of a client connected to me, a thread is registered in the external function call queue (312) to prevent multiple calls, and the process 310 is performed.

그리고, 상기 제 1 객체 그룹 멤버(120)는 외부 함수 수행결과 응답 메세지를 수신하고, 상기 응답 메세지가 나에게 접속된 클라이언트의 메세지인가를 판단한다(314).The first object group member 120 receives an external function execution result response message and determines whether the response message is a message of a client connected to me (314).

상기 판단결과(314), 나에게 접속된 클라이언트의 메세지이면, 상기 외부함수 호출 큐에 등록된 스레드를 제거하고(316), 상기 멤버 함수 수행 결과를 전송제어 프로토콜 / 인터넷 프로토콜(TCP/IP : Transport Control Protocol/Internet Protocol)을 이용하여 상기 클라이언트(110)로 전송한다(318).If the determination result 314, if the message of the client connected to me, the thread registered in the external function call queue is removed (316), and the result of performing the member function is transmitted to the transmission control protocol / Internet protocol (TCP / IP: Transport). Control Protocol / Internet Protocol) is transmitted to the client 110 (318).

상기 판단결과(314), 나에게 접속된 클라이언트의 메세지가 아니면, 상기 외부함수 호출 방지 큐에 등록된 스레드를 제거한다(318).If it is not the message of the client connected to me, the determination result 314 removes the thread registered in the external function call prevention queue (318).

첨부된 도 3 은 상기 도 2 의 서버객체의 멤버함수를 호출하는 서브루틴의 일실시예 상세 흐름도이다.3 is a detailed flowchart illustrating an example of a subroutine that calls a member function of the server object of FIG. 2.

먼저, 현재의 스레드가 외부함수 호출 방지 큐에 등록되었는가를판단한다(300).First, it is determined whether the current thread is registered in the external function call prevention queue (300).

상기 판단결과(300), 외부함수 호출 방지 큐에 등록되지 않았으면, 외부함수를 호출하여 수행하고(302), 수행결과 값을 수신한 후(404), 현재의 스레드가 외부 함수 호출 큐에 등록되었는가를 판단한다(306).If the determination result 300 is not registered in the external function call prevention queue, the external function is called by the execution function 302 and after receiving the execution result value (404), the current thread is registered in the external function call queue. It is determined whether or not (306).

상기 판단결과(306), 외부함수 호출 큐에 등록되었으면, 외부함수 호출 결과 값을 그룹 멤버에 멀티캐스트 프로토콜을 이용하여 전송한다(308).If the determination result 306 is registered in the external function call queue, the external function call result value is transmitted to the group member using the multicast protocol (308).

상기 판단결과(300), 외부함수 호출 방지 큐에 등록되었으면, 외부함수 호출이 완료될 때까지 대기한다(410).If the determination result 300 is registered in the external function call prevention queue, it waits until the external function call is completed (410).

첨부된 도 4 는 본 발명에 따른 분산객체 시스템에서의 객체 일관성 유지방법에 대한 일실시예 설명도이다.4 is a diagram illustrating an embodiment of a method for maintaining object consistency in a distributed object system according to the present invention.

도면에 도시된 바와 같이, 상기 클라이언트(110)가 자신과 연결된 제 1 객체 그룹 멤버(120)에 함수 호출 메세지를 전송하면(400), 상기 제 1 객체 그룹 멤버(120)는 상기 함수 호출 메세지에 클라이언트 정보를 추가하여 변환된 함수 호출 메세지를 멀티캐스트 프로토콜을 이용하여 그룹 멤버에게 전송한다(502). 이때, 상기 변환된 함수 호출 메세지를 자신도 수신할 수 있다.As shown in the figure, when the client 110 transmits a function call message to the first object group member 120 connected thereto (400), the first object group member 120 is connected to the function call message. The client information is added, and the converted function call message is transmitted to the group member using the multicast protocol (502). In this case, the converted function call message may also receive itself.

상기 변환된 함수 호출 메세지를 수신한 상기 제 1 및 제 2 객체 그룹 멤버(120, 130)는 멤버 함수를 수행하고(504), 상기 함수 호출 메세지가 자신과 연결된 클라이언트가 전송한 메세지인가를 판단하여 상기 제 2 객체 그룹 멤버(130)는 함수 수행을 대기하고(506), 상기 제 1 객체 그룹 멤버(120)는 서버 객체의 멤버 함수 호출 메세지를 상기 외부 서버 객체(140)로 전송하고(508), 함수 수행을대기한다(510).Upon receiving the converted function call message, the first and second object group members 120 and 130 perform member functions (504), and determine whether the function call message is a message sent by a client connected to the same. The second object group member 130 waits for function execution (506), and the first object group member 120 transmits a member function call message of a server object to the external server object 140 (508). In operation 510, the function waits.

상기 외부 서버 객체(140)는, 외부함수를 수행하고(512), 그 결과 응답 메세지를 상기 제 1 객체 그룹 멤버(120)에 전송한다(514).The external server object 140 performs an external function (512) and, as a result, transmits a response message to the first object group member 120 (514).

상기 응답 메세지를 수신한 제 1 객체 그룹 멤버(120)는 대기상태에서 벗어나(516), 함수 수행을 지속한다(522).Receiving the response message, the first object group member 120 exits from the waiting state (516) and continues performing the function (522).

그리고, 상기 제 2 객체 그룹 멤버(130)에 상기 응답 메세지를 전송하고(518), 상기 제 2 객체 그룹 멤버(130)도 대기상태에서 벗어나(520), 함수 수행을 지속한다(522).The response message is transmitted to the second object group member 130 (518), and the second object group member 130 also exits from the standby state (520) and continues to perform the function (522).

상기 제 1 객체 그룹 멤버(120)는 함수 호출 결과 응답 메세지(524)를 상기 클라이언트(110)를 전송하고, 상기 제 1 객체 그룹 멤버(120) 및 제 2 객체 그룹 멤버(130)는 함수 수행을 종료한다(526).The first object group member 120 transmits a function call result response message 524 to the client 110, and the first object group member 120 and the second object group member 130 perform a function. It ends (526).

첨부된 도 5 는 본 발명에 따른 함수 호출 메세지 및 응답 메세지의 일실시예 예시도이다.5 is a diagram illustrating an embodiment of a function call message and a response message according to the present invention.

도면에서 (a)는 함수 호출 메세지의 구성도로서, 메세지 프로토콜 아이디, 버전번호, 바이트 순서, 메세지 타입, 소스 노드 주소, 소스 프로세스 아이디, 메세지 사이즈, 함수 호출 번호, 결과 값 필요유무, 객체 그룹 이름, 객체 멤버 함수 이름 및 함수의 매개 변수를 포함하며, (b)는 응답 메세지의 구성도로서, 메세지 프로토콜 아이디, 버전번호, 바이트 순서, 메세지 타입, 소스 노드 주소, 소스 프로세스 아이디, 메세지 사이즈, 함수 호출 번호, 객체 그룹 이름, 객체 멤버 함수 이름 및 결과 값을 포함한다.In the figure, (a) is a diagram of a function call message. The message protocol ID, version number, byte order, message type, source node address, source process ID, message size, function call number, result value required, and object group name. , Object member function name and function parameters, and (b) is a schematic diagram of the response message, including message protocol ID, version number, byte order, message type, source node address, source process ID, message size, and function. It contains the call number, object group name, object member function name, and result value.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited to the drawing.

상기와 같은 본 발명은, 클라이언트와 서버 객체사이에는 전송제어 프로토콜 / 인터넷 프로토콜(TCP/IP : Transport Control Protocol/Internet Protocol)을 사용하고, 서버 객체 그룹간에는 멀티캐스트 프로토콜(multicast protocol)을 사용하여, 클라이언트에 연결된 서버 객체만이 해당 클라이언트의 함수 호출에 대한 응답 및 외부함수를 호출할 수 있도록 하여 다중호출 및 다중응답을 해결함으로써, 분산객체의 일관성을 유지할 수 있는 효과가 있다.As described above, the present invention uses a transport control protocol / Internet protocol (TCP / IP) between a client and a server object, and uses a multicast protocol between server object groups. Only the server object connected to the client can call the response and external function on the function call of the client to solve the multiple calls and multiple responses, thereby maintaining the consistency of the distributed object.

Claims (7)

분산객체 시스템에 적용되는 객체 일관성 유지 방법에 있어서,In the object consistency method applied to the distributed object system, 제 1 객체 그룹 멤버가 클라이언트로부터 전송제어 프로토콜 / 인터넷 프로토콜(TCP/IP : Transport Control Protocol/Internet Protocol)을 통하여 함수 호출 메세지를 수신하는 제 1 단계;A first step in which a first object group member receives a function call message from a client via a transport control protocol / Internet protocol (TCP / IP); 상기 제 1 객체 그룹 멤버가 상기 함수 호출 메세지에 클라이언트 정보를 추가하여 멀티캐스트 프로토콜을 이용하여 그룹 멤버에게 전송하는 제 2 단계;A second step of adding, by the first object group member, client information to the function call message to a group member using a multicast protocol; 상기 함수 호출 메세지를 수신한 상기 제 1 객체 그룹 멤버가 객체 호출을 시작하고, 서버 객체의 멤버 함수를 호출하는 제 3 단계; 및A third step of the first object group member receiving the function call message starting an object call and calling a member function of a server object; And 상기 제 1 객체 그룹 멤버가 외부 함수 수행결과 응답 메세지를 수신하고, 상기 멤버 함수 수행 결과를 전송제어 프로토콜 / 인터넷 프로토콜을 이용하여 상기 클라이언트로 전송하는 제 4 단계A fourth step of receiving, by the first object group member, an external function execution result response message and transmitting the result of performing the member function to the client using a transmission control protocol / Internet protocol; 를 포함하는 분산객체 시스템에서의 객체 일관성 유지 방법.Object consistency maintenance method in a distributed object system comprising a. 제 1 항에 있어서,The method of claim 1, 상기 함수 호출 메세지는,The function call message is 메세지 프로토콜 아이디, 버전번호, 바이트 순서, 메세지 타입, 소스 노드 주소, 소스 프로세스 아이디, 메세지 사이즈, 함수 호출 번호, 결과 값 필요유무,객체 그룹 이름, 객체 멤버 함수 이름 및 함수의 매개 변수를 포함하는 것을 특징으로 하는 분산객체 시스템에서의 객체 일관성 유지 방법.Including the message protocol ID, version number, byte order, message type, source node address, source process ID, message size, function call number, result value required, object group name, object member function name and function parameters A method for maintaining object consistency in a distributed object system. 제 1 항에 있어서,The method of claim 1, 상기 응답 메세지는,The response message is, 메세지 프로토콜 아이디, 버전번호, 바이트 순서, 메세지 타입, 소스 노드 주소, 소스 프로세스 아이디, 메세지 사이즈, 함수 호출 번호, 객체 그룹 이름, 객체 멤버 함수 이름 및 결과 값을 포함하는 것을 특징으로 하는 분산객체 시스템에서의 객체 일관성 유지 방법.In a distributed object system, which includes message protocol ID, version number, byte order, message type, source node address, source process ID, message size, function call number, object group name, object member function name, and result value. To maintain object consistency. 제 1 항 내지 제 3 항중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 제 3 단계는,The third step, 상기 함수 호출 메세지를 수신한 상기 제 1 및 제 2 객체 그룹 멤버가 객체 호출을 시작하는 제 5 단계;A fifth step of initiating an object call by the first and second object group members receiving the function call message; 상기 제 1 및 제 2 객체 그룹 멤버가 상기 함수 호출 메세지가 나에게 접속된 클라이언트의 메세지인가를 판단하는 제 6 단계;A sixth step of determining, by the first and second object group members, whether the function call message is a message of a client connected to me; 상기 제 6 단계의 판단결과, 나에게 접속된 클라이언트의 메세지가 아니면, 외부함수 호출방지 큐에 스레드(thread)를 등록하고, 서버 객체의 멤버 함수를 호출하는 제 7 단계; 및A seventh step of registering a thread in an external function call prevention queue and calling a member function of a server object if the message of the client connected to me is not a message of the client connected to me; And 상기 제 6 단계의 판단결과, 나에게 접속된 클라이언트의 메세지이면, 외부함수 호출 큐에 스레드를 등록하고, 서버 객체의 멤버 함수를 호출하는 제 8 단계를 포함하는 분산객체 시스템에서의 객체 일관성 유지 방법.In the determination result of the sixth step, if it is a message of a client connected to me, an eighth step of registering a thread in an external function call queue and calling a member function of a server object, the method of maintaining object consistency in a distributed object system . 제 1 항 내지 제 3 항중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 제 4 단계는,The fourth step, 상기 제 1 객체 그룹 멤버가 외부 함수 수행결과 응답 메세지를 수신하고, 상기 응답 메세지가 나에게 접속된 클라이언트의 메세지인가를 판단하는 제 9 단계;A ninth step of receiving, by the first object group member, an external function execution result response message, and determining whether the response message is a message of a client connected to me; 상기 제 9 단계의 판단결과, 나에게 접속된 클라이언트의 메세지이면, 상기 외부함수 호출 큐에 등록된 스레드를 제거하고, 상기 멤버 함수 수행 결과를 전송제어 프로토콜 / 인터넷 프로토콜을 이용하여 상기 클라이언트로 전송하는 제 10 단계; 및As a result of the determination in the ninth step, if the message is from the client connected to me, the thread registered in the external function call queue is removed, and the result of performing the member function is transmitted to the client using a transmission control protocol / Internet protocol. Tenth step; And 상기 제 9 단계의 판단결과, 나에게 접속된 클라이언트의 메세지가 아니면, 상기 외부함수 호출 방지 큐에 등록된 스레드를 제거하는 제 11 단계를 포함하는 분산객체 시스템에서의 객체 일관성 유지 방법.And an eleventh step of removing a thread registered in the external function call prevention queue if it is not a message of a client connected to me as a result of the determination of the ninth step. 제 4 항에 있어서,The method of claim 4, wherein 상기 제 7 단계는,The seventh step, 외부 서버 객체가 현재의 스레드가 외부함수 호출 방지 큐에 등록되었는가를 확인하여, 외부함수 호출 방지 큐에 등록되지 않았으면, 외부함수를 호출하여 수행하고, 수행결과 값을 수신한 후, 현재의 스레드가 외부 함수 호출 큐에 등록되었는가를 판단하는 제 9 단계;If the external server object checks whether the current thread is registered in the external function call prevention queue and if it is not registered in the external function call prevention queue, it executes by calling the external function, receives the result value, and then the current thread. A ninth step of judging whether or not is registered in the external function call queue; 상기 제 9 단계의 판단결과, 외부함수 호출 큐에 등록되었으면, 외부함수 호출 결과 값을 그룹 멤버에 멀티캐스트 프로토콜을 이용하여 전송하는 제 10 단계;A tenth step of transmitting an external function call result value to a group member by using a multicast protocol when it is registered in the external function call queue as a result of the determination of the ninth step; 상기 제 9 단계의 판단결과(300), 외부함수 호출 방지 큐에 등록되었으면, 외부함수 호출이 완료될 때까지 대기하는 제 11 단계를 포함하는 분산객체 시스템에서의 객체 일관성 유지 방법.And an eleventh step of waiting until the external function call is completed when the result of the determination of the ninth step is registered in the external function call prevention queue. 마이크로 프로세서를 구비한 분산객체 시스템에서의 객체 일관성 유지 시스템에,In the object consistency maintaining system in a distributed object system with a microprocessor, 제 1 객체 그룹 멤버가 클라이언트로부터 전송제어 프로토콜 / 인터넷 프로토콜(TCP/IP : Transport Control Protocol/Internet Protocol)을 통하여 함수 호출 메세지를 수신하는 제 1 기능;A first function for the first object group member to receive a function call message from a client via a Transport Control Protocol / Internet Protocol (TCP / IP); 상기 제 1 객체 그룹 멤버가 상기 함수 호출 메세지에 클라이언트 정보를 추가하여 멀티캐스트 프로토콜을 이용하여 그룹 멤버에게 전송하는 제 2 기능;A second function of adding, by the first object group member, client information to the function call message to a group member using a multicast protocol; 상기 함수 호출 메세지를 수신한 상기 제 1 객체 그룹 멤버가 객체 호출을 시작하고, 서버 객체의 멤버 함수를 호출하는 제 3 기능; 및A third function of the first object group member receiving the function call message initiating an object call and calling a member function of a server object; And 상기 제 1 객체 그룹 멤버가 외부 함수 수행결과 응답 메세지를 수신하고, 상기 멤버 함수 수행 결과를 전송제어 프로토콜 / 인터넷 프로토콜을 이용하여 상기 클라이언트로 전송하는 제 4 기능A fourth function of receiving, by the first object group member, an external function execution result response message and transmitting the member function execution result to the client using a transmission control protocol / Internet protocol 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this.
KR1019990061898A 1999-12-24 1999-12-24 Method for maintenancing consistency of corba object in distributed object system KR100327112B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990061898A KR100327112B1 (en) 1999-12-24 1999-12-24 Method for maintenancing consistency of corba object in distributed object system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990061898A KR100327112B1 (en) 1999-12-24 1999-12-24 Method for maintenancing consistency of corba object in distributed object system

Publications (2)

Publication Number Publication Date
KR20010063804A KR20010063804A (en) 2001-07-09
KR100327112B1 true KR100327112B1 (en) 2002-03-06

Family

ID=19629461

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990061898A KR100327112B1 (en) 1999-12-24 1999-12-24 Method for maintenancing consistency of corba object in distributed object system

Country Status (1)

Country Link
KR (1) KR100327112B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105153A (en) * 1993-08-24 1995-04-21 Kawatetsu Joho Syst Kk Method for file transfer between different kinds of computers
WO1997037303A1 (en) * 1996-04-01 1997-10-09 Openconnect Systems Incorporated Web/emulator server and web browser terminal emulator for persistent connection to a legacy host system operation
KR0146657B1 (en) * 1994-12-07 1998-09-15 양승택 Control method of server process for client/server computing
KR19990068813A (en) * 1999-06-23 1999-09-06 현승렬 Java Middleware System and Its Operation Method
KR20000024947A (en) * 1998-10-02 2000-05-06 윤종용 Data communication apparatus and method between wap terminal and wap server

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105153A (en) * 1993-08-24 1995-04-21 Kawatetsu Joho Syst Kk Method for file transfer between different kinds of computers
KR0146657B1 (en) * 1994-12-07 1998-09-15 양승택 Control method of server process for client/server computing
WO1997037303A1 (en) * 1996-04-01 1997-10-09 Openconnect Systems Incorporated Web/emulator server and web browser terminal emulator for persistent connection to a legacy host system operation
KR20000024947A (en) * 1998-10-02 2000-05-06 윤종용 Data communication apparatus and method between wap terminal and wap server
KR19990068813A (en) * 1999-06-23 1999-09-06 현승렬 Java Middleware System and Its Operation Method

Also Published As

Publication number Publication date
KR20010063804A (en) 2001-07-09

Similar Documents

Publication Publication Date Title
KR100359366B1 (en) Method and appratus for providing awareness-triggered push
CN107454092B (en) OPCUA and DDS protocol signal conversion device, communication system and communication method
US7076691B1 (en) Robust indication processing failure mode handling
US7886295B2 (en) Connection manager, method, system and program product for centrally managing computer applications
EP1056007A2 (en) System and method of exchanging information between software modules
EP1744519B1 (en) Information exchange system, management server, and method for reducing the network load
US20080243900A1 (en) Dynamic and Real-Time Discovery of Computing Resources
EP1401169A1 (en) Method and system using a Meta service selector for deploying services over a plurality of networks
JP2006072978A (en) Service request device, service providing device, service request method, service providing method, service request program, service providing program, and recording medium
JP2010009380A (en) Bus system
JP4410608B2 (en) Web service providing method
EP3703342B1 (en) Dynamic load balancing in network centric process control systems
US20020042847A1 (en) Method for a network management system for processing event information, as well as management object, discriminator object and managed object for it
KR100327112B1 (en) Method for maintenancing consistency of corba object in distributed object system
US20050131954A1 (en) Data processing system having services for providing functionalities
US20040226022A1 (en) Method and apparatus for providing a client-side local proxy object for a distributed object-oriented system
JPH10116257A (en) Decentralized media processing server, and communication network using the same
CN114945023B (en) Network connection multiplexing method, device, equipment and medium
US7529837B2 (en) Device and method for changing instruction description, and storage medium storing program for changing instruction
JP3984181B2 (en) Error information notification and processing method
KR20040001291A (en) Server And Method For Interworking System In Network Element Management
KR100487120B1 (en) System and Method of Automatically Recovery Call Connection on Communicating between Client and Sever based CORBA
JP2000311094A (en) Communication method between remote objects
US7437735B2 (en) Hierarchical event filtering for storage server
JPH08335211A (en) Decentralized object environment execution system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20080214

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee