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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000004044 response Effects 0.000 claims abstract description 24
- 230000005540 biological transmission Effects 0.000 claims abstract description 10
- 230000002265 prevention Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000010076 replication Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/465—Distributed 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
본 발명은 객체그룹을 지원하는 분산객체 시스템에서 객체 그룹을 구성하는 멤버들의 상태를 일관성 있게 유지하기 위한 분산객체 시스템에서의 객체 일관성 유지 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.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)
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)
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 |
-
1999
- 1999-12-24 KR KR1019990061898A patent/KR100327112B1/en not_active IP Right Cessation
Patent Citations (5)
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 |