KR100735669B1 - CORBA-based Adaptive Bridging Pool System and Method thereof - Google Patents

CORBA-based Adaptive Bridging Pool System and Method thereof Download PDF

Info

Publication number
KR100735669B1
KR100735669B1 KR1020050116513A KR20050116513A KR100735669B1 KR 100735669 B1 KR100735669 B1 KR 100735669B1 KR 1020050116513 A KR1020050116513 A KR 1020050116513A KR 20050116513 A KR20050116513 A KR 20050116513A KR 100735669 B1 KR100735669 B1 KR 100735669B1
Authority
KR
South Korea
Prior art keywords
bridge
server
middleware
corba
objects
Prior art date
Application number
KR1020050116513A
Other languages
Korean (ko)
Other versions
KR20070058178A (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 KR1020050116513A priority Critical patent/KR100735669B1/en
Publication of KR20070058178A publication Critical patent/KR20070058178A/en
Application granted granted Critical
Publication of KR100735669B1 publication Critical patent/KR100735669B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0233Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor

Abstract

CALM의 MOM의 기능, JADE의 에이전트 시스템 그리고 MICO의 CCM을 통합하고, 다른 미들웨어와 함께 투명하게 연결될 수 있게 하는 CORBA 기반 적응적 브리지 풀 시스템 및 그 방법에 관한 것으로, 에이전트 플랫폼 미들웨어인 JADE의 플랫폼을 구비한 제1의 서버, CCM 미들웨어인 MICO의 플랫폼을 구비한 제2의 서버, 메시지 지향 미들웨어인 CALM의 플랫폼을 구비한 제3의 서버 및 제1의 서버 내지 제3의 서버에 각각 연결된 브리지 서버를 포함하고, 브리지 서버는 동적 브리지와 정적 브리지를 혼용하는 구성을 마련한다.A CORBA-based adaptive bridge pool system and method for integrating CALM's MOM, JADE's agent system, and MICO's CCM and allowing transparent connection with other middleware. A first server, a second server with a platform of MICO, CCM middleware, a third server with a platform of CALM, a message-oriented middleware, and a bridge server connected to the first to third servers, respectively. The bridge server includes a dynamic bridge and a static bridge.

상기와 같은 CORBA 기반 적응적 브리지 풀 시스템 및 그 방법을 이용하는 것에 의해, 대규모 이기종의 분산환경에서 객체가 가진 부하에 따라 효율적인 브리징을 책임지므로, 유비쿼터스 환경 미들웨어에서 다양한 환경의 데이터를 효율적으로 처리할 수 있다. By using the CORBA-based adaptive bridge pool system and the method described above, it is responsible for efficient bridging according to the load of objects in a large heterogeneous distributed environment, so that the ubiquitous environment middleware can efficiently process data of various environments. have.

브리징, 미들웨어, 에이전트, CALM, CORBA Bridging, Middleware, Agents, CALM, CORBA

Description

CORBA 기반 적응적 브리지 폴 시스템 및 그 방법{CORBA-based Adaptive Bridging Pool System and Method thereof}CORBA-based Adaptive Bridging Pool System and Method

도 1은 메인 브리지에서 동적 브리징 동작의 흐름을 나타내는 설명도,1 is an explanatory diagram showing a flow of a dynamic bridging operation in a main bridge;

도 2는 본 발명에 따른 브리지의 아키텍쳐를 나타내는 도면,2 shows the architecture of a bridge according to the invention,

도 3은 본 발명에 따른 성능 평가를 위한 실험 환경을 나타낸 도면,3 is a view showing an experimental environment for performance evaluation according to the present invention;

도 4는 오브젝트 응답 시간의 비교를 나타내는 도면,4 is a diagram illustrating a comparison of an object response time;

도 5는 활성화된 오브젝트의 수가 1000개까지 증가할 때의 특성을 나타낸도면,5 is a diagram showing characteristics when the number of activated objects is increased to 1000;

도 6은 종래의 기술로서 CORBA에서의 그룹 통신 시스템의 일 실시예를 나타낸 블록도.6 is a block diagram illustrating one embodiment of a group communication system in CORBA as a prior art.

본 발명은 CALM(Component-based Autonomic Layered Middleware)에 MOM(Message Oriented Middleware)의 기능을 구현하는 CORBA 기반 적응적 브리지 풀(Adaptive Bridging Pool) 시스템 및 그 방법에 관한 것으로, 특히 CALM의 MOM의 기능, JADE의 에이전트 시스템 그리고 MICO의 CCM을 통합하고, 다른 미들웨어와 함께 투명하게 연결될 수 있게 하는 CORBA 기반 적응적 브리지 풀 시스템 및 그 방법에 관한 것이다.The present invention relates to a CORBA-based Adaptive Bridging Pool (CAB) system and method for implementing the function of Message Oriented Middleware (MOM) in Component-based Autonomic Layered Middleware (CALM), in particular the function of MOLM of CALM, The present invention relates to a CORBA-based adaptive bridge pool system and method for integrating JADE's agent system and MICO's CCM and allowing transparent connection with other middleware.

즉, 본 발명은 이종의 미들웨어간 투명하고 효율적인 연결을 보장하는 적응적 브리징 풀 기술을 CALM에 탑재하고, CALM의 오브젝트들에 대해 최적화된 정적 브리지와 DSI/DII(Dynamic Skeleton Interface/Dynamic Invocation Interface)를 사용하는 동적 브리지를 선택적으로 사용하여 이종의 미들웨어간 효율적 상호 연동을 가능하게 하는 기술에 관한 것이다.That is, the present invention is equipped with an adaptive bridging pool technology that ensures transparent and efficient connection between heterogeneous middleware, and the static bridge and dynamic skeleton interface / dynamic invocation interface (DSI / DII) optimized for the objects of the CALM. The present invention relates to a technology that enables efficient interworking between heterogeneous middlewares by selectively using a dynamic bridge.

일반적으로 시스템 장비는 일반적으로 다양한 기능을 하는 개별적인 응용프로그램(Application Program) 또는 에이전트(Agent)가 모여, 하나의 새로운 시스템 장비가 되는 것으로써, 통신용으로 구성되는 시스템 장비를 티엠엔(TMN) 시스템이라 한다.In general, a system device is a collection of individual application programs or agents having a variety of functions to become a new system equipment, the system equipment configured for communication is called a TMS (TMN) system do.

이러한 티엠엔(TMN) 시스템을 구성하는 각 에이전트(Agent)는 서로 상이한 종류의 프로그램 언어(Language)를 이용하여 구성되며, 상기와 같이 서로 다른 언어를 사용하는 각각의 에이전트가 결합되고 연계되어 동작하도록 하기 위하여서는, 각각의 언어를 연결(Interface) 시켜주는 미들웨어(Middleware)가 필요한다.Each agent constituting the TMN system is configured using a different kind of programming language, and as described above, each agent using a different language is combined and linked to operate. To do this, you need middleware to interface each language.

미들웨어는 소프트웨어 개발자와 운영 체제 특정 애플리케이션 프로그래밍 인터페이스(API)를 격리시키는 것을 돕는 그 자신의 API를 구비한 소프트웨어이다. 미들웨어 계층은 종종 클라이언트 프로세스와 서버 프로세스 사이에 위치한다. 애플리케이션의 미들웨어 계층과 연관된 루트 시간을 측정함으로써 문제를 식별하고 수정하여 개선된 성능 및 가용성을 얻을 수 있다. Middleware is software with its own APIs that help isolate software developers from operating system specific application programming interfaces (APIs). The middleware layer is often located between the client process and the server process. By measuring the root time associated with the middleware layer of the application, problems can be identified and corrected for improved performance and availability.

현재, 미들웨어 애플리케이션과 연관된 루트 시간은 애플리케이션의 코드 자체를 변경함으로써 측정될 수 있다. 이러한 프로시져는 강제적인 것으로 간주된다. 루트 시간을 측정하는 데 사용되는 다른 공지 프로시져들은 다수의 자원에 의존하며, 다수의 컴포넌트 간의 동기화를 필요로 한다.Currently, the root time associated with the middleware application can be measured by changing the code of the application itself. Such a procedure is considered to be mandatory. Other known procedures used to measure root time rely on multiple resources and require synchronization between multiple components.

또한, CORBA(Common Object Request Broker Architecture)는 네트웍에서 분산 프로그램 객체를 생성, 배포, 관리하기 위한 구조와 규격이며, 애플리케이션 객체들 사이에서 투명한 통신 방법을 제공하는 표준으로 알려져 있다. In addition, the CORBA (Common Object Request Broker Architecture) is a structure and specification for creating, distributing, and managing distributed program objects in a network, and is known as a standard for providing a transparent communication method between application objects.

OMG라는 개발자 연합에 의해 제안된 CORBA 표준은 ORB(Object Request Broker)를 사용해 분산 환경에서 이기종 시스템간 통신을 가능하게 한다. ORB를 사용하는 클라이언트는 개발 언어나 위치(로컬 또는 리모트)에 상관없이 투명하게 서버 객체의 메소드를 호출할 수 있다. 또한 CORBA 표준은 각 ORB가 가져야하는 인터페이스들과 서비스들을 명세한다. 그 명세는 인터페이스를 묘사하기 위해 IDL을 포함한다. The CORBA standard, proposed by an alliance of developers called OMG, enables heterogeneous systems to communicate in a distributed environment using the Object Request Broker (ORB). Clients using an ORB can transparently invoke server object methods, regardless of their development language or location (local or remote). The CORBA standard also specifies the interfaces and services that each ORB must have. The specification includes an IDL to describe the interface.

많은 밴더들은 IDL을 C, C++, Java, Smalltalk, Ada, 그리고 COBOL과 같은 개발 언어들과 매핑하기 위한 방법들을 제공한다.Many vendors provide a way to map IDL with development languages such as C, C ++, Java, Smalltalk, Ada, and COBOL.

즉, CORBA의 핵심개념은 ORB이다. 이기종 컴퓨터들의 클라이언트와 서버 네트워크에 대한 ORB 지원이란, 클라이언트 프로그램(객체 자신일 수 있다)이 분산 네트워크에서 서버가 어디 있는지 또는 서버 프로그램이 어떤 인터페이스를 가질지 인식하지 않고서도, 서버 프로그램이나 객체로부터 서비스를 요구할 수 있다는 것 을 의미한다. In other words, the core concept of CORBA is the ORB. ORB support for client and server networks of heterogeneous computers means that a client program (which can be an object itself) services from a server program or an object without knowing where the server is in the distributed network or what interface the server program will have. That means you can ask.

ORB들 간의 요구와 응답을 성립시키기 위해 프로그램들은 GIOP(General Inter-ORB Protocol)를, 인터넷에서는 IIOP를 사용한다. IIOP는 GIOP의 요구와 응답을 각 컴퓨터의 인터넷 TCP 계층으로 대응시킨다. To establish requests and responses between ORBs, programs use the General Inter-ORB Protocol (GIOP) and IIOP on the Internet. IIOP maps GIOP requests and responses to each computer's Internet TCP layer.

CORBA 컴포넌트 모델(CCM)은 DOC 모델을 기반으로 하는 CORBA2.x 미들웨어의 초기 버전에서는 제공되지 않는 표준 컴포넌트 미들웨어 기술이다. CCM 표준은 컴포넌트와 컴포넌트를 명세(specifying), 구현(implementing), 패키징(packaging), 모음(assembling), 그리고 배치(deploying)하기 위한 설치(establishes) 표준의 개념을 지원하기 위해, CORBA2.x 객체 모델을 확장시킨 CORBA 3.x 규격에 의해 정의된다. CORBA Component Model (CCM) is a standard component middleware technology that is not provided in earlier versions of CORBA2.x middleware based on the DOC model. The CCM standard supports CORBA2.x objects to support the notion of an installation standard for specifying, implementing, packaging, assembling, and deploying components and components. Defined by the CORBA 3.x specification, which extends the model.

컴포넌트 기술은 분산, 실시간, 그리고 임베디드(DRE) 애플리케이션의 개발에 있어서 전통적인 ORBs(Object Request Brokers)의 많은 제약을 극복할 수 있다. 컴포넌트 기술은 대규모 DRE 시스템들을 구축하기 위한 특별한 이점들을 가지고 있다.Component technology can overcome many of the limitations of traditional object request brokers (ORBs) in the development of distributed, real-time, and embedded (DRE) applications. Component technology has special advantages for building large scale DRE systems.

이러한 CORBA 컴포넌트 모델은 소프트웨어 컴포넌트들의 혼합(composition)과 재사용(reuse)을 가능하게 하고, 타이밍, 고장 감래(fault-tolerance), 그리고 보안과 같은 DRE 시스템의 핵심 기능이 아닌 환경(configuration)을 가능하게 한다.This CORBA component model enables the composition and reuse of software components and enables configuration that is not a core function of the DRE system, such as timing, fault-tolerance, and security. do.

에이전트는 사용자의 일을 대신해 주는 프로그램이라고 포괄적으로 정의되며, 다른 프로그램과의 구별을 위해 지능형 에이전트(Agent), 자동(Autonomous) 에 이전트라고도 한다.Agents are generically defined as a program that replaces a user's work, and are also known as intelligent agents and autonomous agents to distinguish them from other programs.

에이전트들의 특성은 자율성(autonomy), 지력(intelligence), 이동성(mobility), 그리고 사회적 능력(social ability) 이다. 부가적인 특성으로는 환경의 변화에 반응하기 위한 반응성(reactivity), 잘못된 정보를 금하기 위한 정확성(veracity), 그리고 합리적인 방법을 지원하기 위한 합리성(rationality)이 있다. The characteristics of agents are autonomy, intelligence, mobility, and social ability. Additional features include reactivity to respond to changes in the environment, veracity to prevent false information, and rationality to support rational methods.

에이전트들은 멀티 에이전트(multi-agent)와 모바일 에이전트(mobile-agent)로 나눌 수 있다. 멀티 에이전트는 작업의 완벽함을 이끌어내기 위해 에이전트 간 협력을 요하는 복잡한 동작들(operations)을 다룬다. 모바일 에이전트는 그 동작들을 처리하기 위해 네트워크를 이동한다. 이러한 이유로 모바일 에이전트는 무선 네트워크에서 유용하다.Agents can be divided into multi-agent and mobile-agent. Multi-agents deal with complex operations that require co-operation between agents in order to achieve complete work. The mobile agent travels the network to handle those operations. For this reason, mobile agents are useful in wireless networks.

에이전트 플랫폼들은 다른 에이전트 플랫폼들에 거주하는 에이전트들간 협업을 허락하는 ACL과 KQML과 같은 에이전트 통신 언어들을 지원해야만 한다. 에이전트들은 오토노머스 주변에 애플리케이션을 구성하는 방법과 통신 요소들(communicative elements)을 설계자와 개발자에게 제공하고, 소프트웨어 툴의 구조와 디자인 메타포어(design metaphor)를 지원하기 위한 인프라를 이끈다. 요즘에는 JADE와 Aglet의 두 가지 공통 에이전트 플랫폼들이 존재한다.Agent platforms must support agent communication languages such as ACL and KQML to allow collaboration between agents residing on other agent platforms. Agents provide designers and developers with a way to build applications and communication elements around Autonomous, and lead the infrastructure to support software tool structures and design metaphors. There are now two common agent platforms, JADE and Aglet.

메시지 지향 미들웨어인 CALM(Component-based Autonomic Layered Middleware)는 에이전트들에 유연한 플랫폼을 구축하기 위해 반사적(reflective) 미들웨어와 적응적(adaptive) 미들웨어를 채택하고 개발 툴 들을 제공한다. Component-based Autonomic Layered Middleware (CALM), a message-oriented middleware, adopts reflective and adaptive middleware and provides development tools to build a flexible platform for agents.

그것은 두 개의 내부 레이어, 하나의 외부 레이어, 그리고 효율적 에이전트 기반 애플리케이션 플랫폼을 형성하는 다양한 툴 들로 구성된다. 내부 레이어는 통신 플랫폼 레이어와 에이전트 플랫폼 레이어로 구성된다. It consists of two inner layers, one outer layer, and various tools to form an efficient agent-based application platform. The inner layer consists of a communication platform layer and an agent platform layer.

통신 플랫폼 레이어는 유/무선 환경에서 경량 장치들과 함께 효율적인 통신 프로토콜들을 사용해서 환경과 위치에 기반한 다양한 서비스를 제공할 수 있도록 구성된다. 에이전트 플랫폼 레이어는 서비스의 효율성을 최대화하고, 환경에 적응하며, 다양한 에이전트 시스템들의 이점을 제공하기 위해 컴포넌트들로 구성된다.The communication platform layer is configured to provide various services based on environment and location using efficient communication protocols along with lightweight devices in wired / wireless environment. The agent platform layer consists of components to maximize the efficiency of the service, adapt to the environment, and provide the benefits of various agent systems.

외부 레이어(external layer)는 지능적인 서비스를 제공하기 위해 자가성장(self-growing) 엔진과 온톨로지 기반 상황인지 엔진으로 구성된다. The external layer consists of a self-growing engine and an ontology-based context-aware engine to provide intelligent services.

CALM의 가장 중요한 특징들 중의 하나는 MOM(Message Oriented Middleware)의 기능이다. MOM은 서비스의 소비자가 물리적이고 일시적으로 서비스의 제공자들로부터 독립될 수 있게 한다. 서비스 공급자와 그들의 소비자들 간의 통신은 비동기적이고, 그들은 설계된 메시지 큐들로부터 메시지들을 주고받는 것에 의해 통신할 수 있기 때문에 동시에 유용할 필요가 없다. 대조적으로 RPC는 원격 서비스 실행을 요청하는 동기적 방식이다. 소비자들은 그들이 공급자로부터 응답을 받을 때까지 서비스 실행을 연기시켜야만 한다. One of the most important features of CALM is the functionality of Message Oriented Middleware (MOM). MOM allows consumers of services to be physically and temporarily independent of providers of services. Communication between the service provider and their consumers is asynchronous and need not be useful at the same time because they can communicate by sending and receiving messages from designed message queues. In contrast, RPC is a synchronous way to request remote service execution. Consumers must postpone service execution until they receive a response from the supplier.

또한 이러한 CORBA에 관한 일 예가 "CORBA기반 지능형 에이전트에 관한 연구, 한국OA학회 논문지 제7권 제1C호, 2002년 3월", 대한민국 공개특허공보 2002-0026299호(2002년04월09일), 특허공개공보 2003-0008774호(2003년01월29일), 특허 공개공보 2005-0084519호(2005년08월26일) 등에 개시되어 있다.Also, an example of such CORBA is "A Study on the CORBA-based Intelligent Agent, Korean OA Society Journal No. 7C, March 2002", Korean Patent Application Publication No. 2002-0026299 (April 09, 2002), Patent Publication No. 2003-0008774 (January 29, 2003), Patent Publication No. 2005-0084519 (August 26, 2005) and the like.

즉, 상기 문헌에 있어서는 에이전트 통신 언어를 이용하여 분산된 데이터 베이스에서의 에이전트 기반 모형을 제시하며, 분산된 서로 다른 운영체계, 분산된 이종의 데이터 베이스에서의 정보 공유와 교환이 가능한 CORBA를 이용한 지능형 상품검색 에이전트의 모형을 제시하고 있다.That is, in the above document, an agent-based model is presented in a distributed database using an agent communication language, and intelligent using CORBA capable of sharing and exchanging information in distributed operating systems and distributed heterogeneous databases. A model of a product search agent is presented.

또 상기 공개특허공보 2002-0026299호에는 도 6에 도시된 바와 같이, OCI(Open Communications Interface)를 확장한 코바에서의 그룹 통신 시스템 및 방법에 관한 기술이 개시되어 있다.In addition, Japanese Patent Laid-Open No. 2002-0026299 discloses a technology related to a group communication system and method in a KOBA that extends an OCI (Open Communications Interface) as shown in FIG. 6.

도 6은 CORBA에서의 그룹 통신 시스템의 일 실시예를 나타낸 블록도로서, OS(Operating System, 운영체제)에 독립적인 것은 물론, ORB(Object Request Broker)와 OCI의 수정 없이 기존의 다양한 그룹 통신 프로토콜을 적용할 수 있도록, 네트워크를 통해 연결된 클라이언트 및 다수의 서버를 구비한 CORBA에서의 그룹 통신 시스템에 있어서, 제 1 그룹 통신 OCI의 응용을 제어하는 제 1 애플리 케이션 객체, 제 1 애플리 케이션 객체의 그룹 통신을 위한 제어에 따라 코바의 내부 함수인 다수의 통신 컴포넌트의 함수를 선택적으로 요청하는 제 1 ORB 및 각각의 정보 객체를 가지고 있는 커넥터 팩토리, 커넥터, 커넥터 트랜스포트를 구비하여 제 1 ORB와 네트워크 사이에서 그룹 통신을 위한 다수의 전송 프로토콜을 선택적으로 적용하는 제 1 그룹 통신 OCI를 포함하는 코바에서의 그룹 통신 시스템에 관해 기재되어 있다.FIG. 6 is a block diagram illustrating an embodiment of a group communication system in CORBA, and is independent of an operating system (OS), and various existing group communication protocols without modification of an object request broker (ORB) and an OCI. Applicable, in a group communication system in CORBA having a client and a plurality of servers connected via a network, the group application of the first application object, the first application object to control the application of the first group communication OCI A first ORB for selectively requesting functions of a plurality of communication components, which are internal functions of COVA, and a connector factory, a connector, and a connector transport having respective information objects, according to the control for the first time, between the first ORB and the network. In Cobar including a first group communication OCI that selectively applies multiple transport protocols for group communication It is described on the communication system.

또 상기 공개특허공보 2003-0008774호에는 CORBA 미들웨어를 이용하고, 각 에이전트를 구성하며 다양한 언어로 이루어지는 관리객체를 특정 에이전트로부터 다른 에이전트로 동적 이동시키는 방법이 개시되어 있다.In addition, Korean Patent Laid-Open Publication No. 2003-0008774 discloses a method of dynamically moving a management object using various CORBA middleware, configuring each agent, and comprising various languages from one agent to another.

즉, CORBA 환경과 다수 에이전트로 이루어지는 티엠엔 시스템의 관리객체 이동에 있어서, 에이전트를 구성하는 다수의 관리객체 중에서 특정한 관리객체에 접근이 소정 레벨 이상으로 집중하는지 판단하는 집중과정, 집중과정에서 판단하여 관리객체가 소정 레벨 이상으로 접근이 집중하지 않는 경우, 해당 에이전트를 이루는 관리객체가 갱신, 수정, 백업 되는지 판단하는 갱신과정, 갱신과정에서 해당 에이전트를 이루는 관리객체가 갱신, 수정, 백업 되는 경우, 관리객체를 동일하게 복사하여 다른 에이전트에 이동 등록하고 해당 작업을 처리하는 이동과정, 상기와 같은 과정들을 계속할 것인지 판단하여 계속하는 경우 집중과정으로 귀환하고, 계속하지 않는 경우 종료하는 계속과정, 집중과정에서 판단하여 관리객체에 소정 레벨 이상으로 접근이 집중하는 경우, 관리객체가 등록된 에이전트에 동일한 관리객체를 생성하여 등록하고, 기존의 관리객체와 새로이 등록된 관리객체에서 해당 작업을 분산 처리한 후 계속과정으로 진행하는 분산과정으로 이루어지는 기술레 대해 개시되어 있다.In other words, in the management of a management object in the CORBA environment and the TMS system consisting of a plurality of agents, it is determined in an intensive process and an intensive process of determining whether access to a specific managed object is above a predetermined level among a plurality of managed objects constituting the agent If the management object does not concentrate more than a predetermined level, the update process to determine whether the management object constituting the agent is updated, modified, or backed up, and when the management object constituting the agent is updated, modified, or backed up, Copying the same management object and moving to another agent and registering the move and processing the work, determining whether to continue with the above process returns to the intensive process, if not continue continuing process, intensive process Judging from the house, access to the management object above a certain level In the case of heavy load, the management object creates and registers the same management object in the registered agent, distributes the work in the existing management object and the newly registered management object, and then proceeds to the distributed process. Is disclosed.

또한 상기 공개특허공보 2005-0084519호에는 미들웨어 성능을 모니터하기 위한 시스템에 있어서, 샘플 메시지 및 애플리케이션 메시지를 생성하는 컴퓨터 시스템 및 상기 컴퓨터 시스템에 전기적으로 접속되고, 명령들이 인코딩되어 있는 컴퓨터 메모리를 포함하고, 상기 명령들은 소정의 네트워크 루트를 따라 전송되는 샘플 메시지에 대한 루트 시간을 결정하는 단계, 애플리케이션 메시지가 소정의 네트워 크 루트를 따라 위치하는 적어도 하나의 각각의 큐에 저장되어 있는 시간의 양을 반영하는 적어도 하나의 큐 거주 시간을 결정하는 단계 및 루트 시간 및 적어도 하나의 큐 거주 시간에 따라 미들웨어 응답 시간을 계산하는 단계를 수행하는 미들웨어 성능 모니터 시스템에 대해 개시되어 있다.The publication also discloses a system for monitoring middleware performance, comprising: a computer system for generating sample messages and application messages, and a computer memory electrically connected to the computer system and having instructions encoded therein; Determining the root time for a sample message sent along a given network route, the instructions reflecting the amount of time an application message is stored in at least one respective queue located along a given network route. A method is disclosed for a middleware performance monitor system that determines at least one queue residence time and calculates a middleware response time according to a root time and at least one queue residence time.

그러나, 상술한 문헌 등에 개시된 기술에 있어서, 퍼베이시브 컴퓨팅(Pervasive computing) 시스템은 기존의 컴퓨팅 시스템보다 더 동적인 패러다임이므로, 퍼베이시브 컴퓨팅 패러다임이 곳곳에 존재하는 객체들을 통합하기 위해서는 미들웨어 프레임 워크가 필요하지만, 오버헤드와 복잡성의 증가로 퍼베이시브 컴퓨팅 객체들을 위한 단일 미들웨어의 구현은 매우 어렵다는 문제가 있었다. However, in the technique disclosed in the above-mentioned document, the pervasive computing system is a more dynamic paradigm than the conventional computing system, and therefore, a middleware framework is required to integrate the objects existing in the pervasive computing paradigm. Due to the increased overhead and complexity, the implementation of single middleware for pervasive computing objects has been very difficult.

또, JADE(Java Agent Development Framework)는 CORBA를 완전하게 지원하지 않기 때문에 CORBA기반 미들웨어를 상호 연결하기 위해 브리지를 필요로 한다. JADE는 Java 언어로 완전하게 개발된 소프트웨어 프레임 워크이다. 그러므로 Java를 매핑하는 Java ORB는 JADE를 완전하게 지원한다. 만약 CALM의 애플리케이션이 CCM을 사용하지 않는다면, JADE와 CALM은 브리지 없이 IIOP에 의해 서로 통신할 수 있다. 하지만 Java ORB는 완벽한 CCM 상호 운용성(interoperability)을 지원하지 않기 때문에 브리지 없이 CORBA 컴포넌트에 직접적으로 접근할 수 없다는 문제점이 있다.In addition, the Java Agent Development Framework (JADE) does not fully support CORBA, requiring a bridge to interconnect CORBA-based middleware. JADE is a software framework developed completely in the Java language. Therefore, the Java ORB that maps Java fully supports JADE. If CALM's applications do not use CCM, JADE and CALM can communicate with each other by IIOP without a bridge. However, the Java ORB does not support full CCM interoperability, which means that you can't directly access CORBA components without a bridge.

또한, CORBA 규격에서 CCM은 브리지 없이 IDL 컴파일러를 사용해 낮은 버전 과의 호환성을 지원한다. 하지만 이런 낮은 버전을 지원할 수 있는 ORB 플랫폼 밴더들은 극히 일부이기 때문에 일반적으로 이러한 낮은 버전의 호환성의 사용은 적용될 수 없다. 그리고 다른 이기종 에이전트 플랫폼이나 CCM 플랫폼은 브리지 없이는 직접적으로 CALM의 MOM 기능이나 에이전트 기능을 사용할 수 없다는 문제점이 있었다. Also, in the CORBA specification, CCM uses the IDL compiler without bridges to support backward compatibility. However, the ORB platform vendors that can support these lower versions are only a few, so the use of these lower versions is generally not applicable. Another heterogeneous agent platform or CCM platform has a problem in that it cannot directly use the CAM MOM or agent functions without a bridge.

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위해 이루어진 것으로서, CALM을 기반으로 투명하게 에이전트 플랫폼(JADE)과 CCM 플랫폼(MICO)을 통합하여 이종의 미들웨어 간 상호 운용성, 그리고 투명하고 효율적인 연결을 보장하는 CORBA 기반 적응적 브리지 풀 시스템 및 그 방법을 제공하는 것이다.An object of the present invention is to solve the problems described above, by integrating agent platform (JADE) and CCM platform (MICO) transparently based on CALM to provide interoperability between heterogeneous middleware, and transparent and efficient connection To provide a CORBA-based adaptive bridge pool system and method thereof.

본 발명의 다른 목적은 휴대가능한 인터셉터들을 사용해 동적 브리지와 정적 브리지를 혼용하여 퍼베이시브 객체들 사이에 투명하고 효율적인 연결을 가능하게 하는 CORBA 기반 적응적 브리지 풀 시스템 및 그 방법을 제공하는 것이다.It is another object of the present invention to provide a CORBA-based adaptive bridge pool system and method that uses a portable interceptor to mix a dynamic bridge and a static bridge to enable transparent and efficient connections between pervasive objects.

상기 목적을 달성하기 위해 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템은 네트워크를 통해 연결된 다수의 서버를 구비하고, 이종의 미들웨어간 투명하고 효율적인 연결을 보장하는 CORBA 기반 적응적 브리지 풀 시스템에 있어서, 에이전트 플랫폼 미들웨어인 JADE(Java Agent Development Framework)의 플랫폼을 구비한 제1의 서버, CCM 미들웨어인 MICO의 플랫폼을 구비한 제2의 서버, 메시지 지향 미들웨어인 CALM(Component-based Autonomic Layered Middleware)의 플랫폼을 구비한 제3의 서버 및 상기 제1의 서버 내지 제3의 서버에 각각 연결된 브리지 서버를 포함하고, 상기 브리지 서버는 동적 브리지와 정적 브리지를 혼용하는 것을 특징으로 한다.In order to achieve the above object, the CORBA-based adaptive bridge pool system according to the present invention comprises a plurality of servers connected through a network, CORBA-based adaptive bridge pool system to ensure a transparent and efficient connection between heterogeneous middleware, The first server with the platform of the Java Agent Development Framework (JADE), the agent platform middleware, the second server with the platform of the MICO, the CCM middleware, and the platform of the component-based autonomic layered middleware (CALM), the message-oriented middleware. And a third server including a bridge server and a bridge server connected to the first server to the third server, respectively, wherein the bridge server uses a dynamic bridge and a static bridge.

또 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템에 있어서, 상기 브리지 서버는 휴대가능한 인터셉터를 사용해 동적 브리지와 정적 브리지를 혼용하여 상기 제1의 서버 내지 제3의 서버를 연결하는 것을 특징으로 한다.In the CORBA-based adaptive bridge pool system according to the present invention, the bridge server is characterized by connecting the first server to the third server by using a dynamic bridge and a static bridge by using a portable interceptor.

또 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템에 있어서, 상기 브리지 서버는 휴대가능한 인터셉터를 사용해 상기 제1의 서버 내지 제3의 서버의 요청당 시간 정보를 얻고, 이 정보에 의해 쿨스팟 오브젝트와 핫스팟 오브젝트들을 구분하는 것을 특징으로 한다.In the CORBA-based adaptive bridge pool system according to the present invention, the bridge server obtains time-per-request information of the first server to the third server by using a portable interceptor, and by using the information, The hotspot objects are distinguished.

또 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템에 있어서, 상기 브리지 서버는 상기 쿨스팟 오브젝트로 동적 브리지의 기능을 제공하는 것을 특징으로 한다.In the CORBA-based adaptive bridge pool system according to the present invention, the bridge server is characterized by providing a function of a dynamic bridge to the cool spot object.

또 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템에 있어서, 상기 쿨스팟 오브젝트와 핫스팟 오브젝트들을 구분은 이산 분포(Poisson distribution)를 사용하여 구분하는 것을 특징으로 한다.In addition, in the CORBA-based adaptive bridge pool system according to the present invention, the cool spot object and the hot spot object are distinguished by using a discrete distribution.

또 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템에 있어서, 상기 브리지 서버는 상기 쿨스팟 오브젝트와 핫스팟 오브젝트들을 측정하여 오브젝트의 특성에 맞춘 연결을 최적화하는 것을 특징으로 한다.In the CORBA-based adaptive bridge pool system according to the present invention, the bridge server is characterized by optimizing the connection according to the characteristics of the object by measuring the cool spot object and hot spot objects.

또 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템에 있어서, 상기 브 리지 서버는 기존의 브리지를 팩토리에 저장하여 연결과정의 경과시간을 최적화하는 것을 특징으로 한다.In the CORBA-based adaptive bridge pool system according to the present invention, the bridge server is characterized by optimizing the elapsed time of the connection process by storing the existing bridge in the factory.

또 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템에 있어서, 상기 브리지 서버는 동적 브리지와 온디맨드 브리지를 혼용하여 상기 제1의 서버 내지 제3의 서버를 연결하는 것을 특징으로 한다.In the CORBA-based adaptive bridge pool system according to the present invention, the bridge server is configured to connect the first server to the third server by using a dynamic bridge and an on-demand bridge.

또 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템에 있어서, 상기 브리지 서버는 쿨스팟 오브젝트로 동적 브리지의 기능을 제공하는 것을 특징으로 한다.In addition, in the CORBA-based adaptive bridge pool system according to the present invention, the bridge server is characterized by providing the function of the dynamic bridge as a cool spot object.

또 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템에 있어서, 상기 브리지 서버는 핫스팟의 오브젝트로 상기 온디멘드 브리지의 메커니즘 기반 정적 브리지를 사용하는 것을 특징으로 한다.In the CORBA-based adaptive bridge pool system according to the present invention, the bridge server is characterized by using a mechanism-based static bridge of the on-demand bridge as an object of a hot spot.

또 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템에 있어서, 상기 브리지 서버는 상기 쿨스팟으로부터 핫스팟으로 이동하는 오브젝트에게 정적 브리지를 제공하는 것을 특징으로 한다.In the CORBA-based adaptive bridge pool system according to the present invention, the bridge server is characterized by providing a static bridge to the object moving from the cool spot to the hot spot.

또 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템에 있어서, 상기 브리지 서버는 상기 CALM의 오브젝트들에 대해 최적화된 정적 브리지와 DSI/DII(Dynamic Skeleton Interface/Dynamic Invocation Interface)를 사용하는 동적 브리지를 선택적으로 사용하는 것을 특징으로 한다.In the CORBA-based adaptive bridge pool system according to the present invention, the bridge server selectively selects a static bridge optimized for objects of the CALM and a dynamic bridge using DSI / DII (Dynamic Skeleton Interface / Dynamic Invocation Interface). It is characterized by using as.

또한 상기 목적을 달성하기 위해 본 발명에 따른 CORBA 기반 적응적 브리지 풀 방법은 에이전트 플랫폼 미들웨어인 JADE(Java Agent Development Framework)의 플랫폼을 구비한 제1의 서버, CCM 미들웨어인 MICO의 플랫폼을 구비한 제2의 서버, 메시지 지향 미들웨어인 CALM(Component-based Autonomic Layered Middleware)의 플랫폼을 구비한 제3의 서버 및 상기 제1의 서버 내지 제3의 서버에 각각 연결된 브리지 서버를 포함하는 시스템에서 이종의 미들웨어 간 투명하고 효율적인 연결을 보장하는 CORBA 기반 적응적 브리지 풀 방법에 있어서, 상기 브리지 서버가 휴대가능한 인터셉터를 사용해 동적 브리지와 정적 브리지를 혼용하여 상기 제1의 서버 내지 제3의 서버를 연결하는 것을 특징으로 한다.In addition, to achieve the above object, the CORBA-based adaptive bridge pool method according to the present invention comprises a first server having a platform of JADE (Java Agent Development Framework), which is an agent platform middleware, and a first having a platform of MICO, a CCM middleware. Heterogeneous middleware in a system comprising two servers, a third server having a platform of component-based autonomic layered middleware (CALM), a message-oriented middleware, and a bridge server respectively connected to the first to third servers A CORBA-based adaptive bridge pool method that guarantees transparent and efficient connection between the servers, wherein the bridge server connects the first server to the third server by using a dynamic bridge and a static bridge by using a portable interceptor. It is done.

본 발명의 상기 및 그밖의 목적과 새로운 특징은 본 명세서의 기술 및 첨부 도면에 의해 더욱 명확하게 될 것이다.The above and other objects and novel features of the present invention will become more apparent from the description of the specification and the accompanying drawings.

먼저 본 발명의 개념에 대해 설명한다.First, the concept of the present invention will be described.

현재 브리징 기술로서는 정적 브리지(static bridge), 동적 브리지(dynamic bridge), 그리고 온디맨드 브리지(on-demand bridge)의 세 가지 브리징 기술들이 알려져 있다. Currently, three bridging techniques are known as static bridges, dynamic bridges, and on-demand bridges.

정적 브리지는 각 인터페이스에 대한 마쉘링(marshalling)을 수행하기 위해 정적 프락시와 스텁(stub) 구현을 요한다. 만약 인터페이스로의 어떠한 변화가 있다면, 프락시와 스텁은 이 변화를 반영해야하고, 이와 같이 그 인터페이스는 새로운 인터페이스를 인코드, 디코드, 그리고 호출하기 위해 새로운 프락시와 스텁 코드들을 생성하기 위해 다시 컴파일되어야 한다. 그래서 그 정적 브리지는 바르게 변화하는 상황을 가지는 퍼베이시브(pervasive) 환경에 적당하지 않다. Static bridges require static proxy and stub implementations to perform marshalling for each interface. If there is any change to the interface, the proxy and stub must reflect this change, and thus the interface must be recompiled to generate new proxy and stub codes to encode, decode, and call the new interface. . Thus, the static bridge is not suitable for pervasive environments with correctly changing situations.

한편, 동적 브리지는 런 타임 형태 라이브러리의 일부 형태에 기반하여 모든 데이터 타입들을 마쉘링할 수 있는 일반적 프락시(generic proxy)를 가지고 있기 때문에 재컴파일을 수행하는 정적 브리지의 번거로움을 해소한다. 정보 검색(information look-up)의 이러한 형태는 성능상 효율적일 수 있다. 하지만 일반적으로 동적 브리지들은 정적 브리지만큼 효율적 이지는 않다. 이러한 잠재적 성능에도 불구하고 그 동적 브리지의 일반적 매핑 방법은 정적 브리지의 특정 인터페이스 매핑 방법보다 더 적은 메모리(memory footprint)를 제공한다. 그러므로 동적 브리지는 빠르게 변화하는 상황에 알맞을 수 있다.Dynamic bridges, on the other hand, eliminate the hassle of static bridges because they have a generic proxy that can marshal all data types based on some form of run-time form library. This form of information look-up can be efficient in performance. In general, however, dynamic bridges are not as efficient as static bridges. Despite this potential performance, the general mapping method of the dynamic bridge provides less memory footprint than the static interface mapping method of the static bridge. Therefore, dynamic bridges can be suitable for rapidly changing situations.

브리지의 세 번째 형태는 온디맨드 브리지이다. 여기에서 브리지 팩토리는 보통 브리지되는 클라이언트와 서버의 인터페이스에 기반하는 정적 브리지에 대한 소스 코드를 자동적으로 생성한다. 이러한 정의에 기반해 브리징 코드는 두 미들웨어 도메인 사이의 값들을 변환시켜야 하고, 각 타입들에 대한 매핑 규칙들이 브리지 팩토리로 코드된다. The third form of bridge is an on-demand bridge. Here, the bridge factory automatically generates the source code for the static bridge, which is usually based on the interface of the client and server being bridged. Based on this definition, the bridging code must convert the values between the two middleware domains, and the mapping rules for each type are coded into the bridge factory.

본 발명에서는 효율성을 위해 동적 브리지와 온디맨드 브리지를 혼합한 방법을 제안한다.The present invention proposes a method of mixing a dynamic bridge and an on-demand bridge for efficiency.

이하, 본 발명의 구성을 도면에 따라서 설명한다.EMBODIMENT OF THE INVENTION Hereinafter, the structure of this invention is demonstrated according to drawing.

본 발명에 따른 적응적 브리징 전략은 다음과 같다.An adaptive bridging strategy according to the present invention is as follows.

이 접근에서 오브젝트들을 구현한 모든 서버들은 포터블 인터셉터의 요청당 시간의 양(request per time measurement of the portable interceptor)에 의해 쿨스팟 오브젝트와 핫스팟 오브젝트로 나뉜다. In this approach, all the servers implementing the objects are divided into cool spot objects and hot spot objects by the request per time measurement of the portable interceptor.

쿨스팟에서 오브젝트 요청들은 폭주적이고(bursty), 오브젝트들의 요청당 시간은 높은 값을 갖지 않는다. 한편, 핫스팟에서 오브젝트 요청들은 상대적으로 영속적이고, 오브젝트의 요청당 시간은 매우 높은 값을 갖는다. Object requests in a coolspot are bursty, and the time per request of objects does not have a high value. On the other hand, object requests in hotspots are relatively persistent, and the time per request of the object has a very high value.

이러한 접근에서, 쿨스팟의 오브젝트들은 DII/DSI(Dynamic Skeleton Interface/Dynamic Invocation Interface) 기반 동적 브리지를 사용한다. 한편, 핫스팟의 오브젝트들은 온디멘드 브리지 메커니즘 기반 정적 브리지를 사용한다. 따라서 본 발명에 있어서는 이러한 접근에 의해 처리량(throughput)과 유연성(flexibility) 사이에 효율적인 균형을 얻을 수 있다. In this approach, CoolSpot objects use Dynamic Skeleton Interface / Dynamic Invocation Interface (DII / DSI) based dynamic bridges. On the other hand, hotspot objects use an on-demand bridge mechanism based static bridge. Thus, in the present invention, this approach provides an efficient balance between throughput and flexibility.

이 방법에서 휴대가능한(portable) 인터셉터들은 매우 중요한 역할을 한다. 휴대 가능한 인터셉터들은 메인 브리지로 요청들을 투명하게 라우트한다. 그리고 그 휴대 가능한 인터셉터들은 메인 브리지의 적응적인 판단을 돕기 위해 요청당 시간 정보를 제공한다. 오브젝트에게 제공된 인터셉터들은 메인 브리지들의 순서에 의해 정적 브리지나 동적 브리지를 사용하도록 오브젝트들을 나열한다.Portable interceptors play a very important role in this method. Portable interceptors transparently route requests to the main bridge. The portable interceptors provide time information per request to help the adaptive decision of the main bridge. The interceptors provided to the object list the objects to use either a static bridge or a dynamic bridge by the order of the main bridges.

다음에 본 발명에 따른 온디멘드 브리지 풀 전략에 대해 설명한다.Next, an on-demand bridge pull strategy according to the present invention will be described.

상술한 바와 같이, 핫스팟의 오브젝트들은 자신의 정적 브리지를 사용한다. 이 정적 브리지는 런타임 시 메인 브리지에 의해 만들어진다. 그리고 이미 만들어진 브리지들은 브리지 풀에 저장된다. 메인 브리지는 휴대 가능한 인터셉터에 의해 제공된 정보에 기반하여 그 풀 안의 가장 최적화된 브리지를 런타임시에 활성화시키거나 생성한다. As mentioned above, objects in a hotspot use their static bridges. This static bridge is created by the main bridge at runtime. And already created bridges are stored in the bridge pool. The main bridge activates or creates at runtime the most optimized bridge in its pool based on the information provided by the portable interceptor.

여기에서 브리지 팩토리는 보통 브리지 되기 위한 클라이언트와 서버의 인터 페이스 정의에 기반하여 정적 브리지를 위한 소스 코드를 자동적으로 생성한다. 이 정의들에 기반하는 브리징 코드는 두 미들웨어 도메인들 사이의 값들을 변환시켜야하고, 각 타입들을 위한 매핑 규칙들이 브리지 팩토리로 코드된다.Here, the bridge factory automatically generates the source code for the static bridge based on the client and server interface definitions that would normally be bridged. Bridging code based on these definitions must convert values between the two middleware domains, and the mapping rules for each type are coded into the bridge factory.

다음에 본 발명에 따른 CALM의 적응적 브리징 풀(Adaptive Bridging Pool)의 아키텍쳐에 대해 설명한다.Next, the architecture of the adaptive bridging pool of CALM according to the present invention will be described.

본 발명에 있어서는 성능 평가를 위해 백본 미들웨어로서 CALM, 에이전트 플랫폼 미들웨어로서 JADE(Java Agent Development Framework), CCM 미들웨어로서 MICO의 세 가지 다른 플랫폼들을 연동했다. 본 발명에서는 이와 같은 예를 통해서 설명한다.In the present invention, three different platforms such as CALM as a backbone middleware, Java Agent Development Framework (JADE) as an agent platform middleware, and MICO as a CCM middleware are linked for performance evaluation. In the present invention will be described through such an example.

메인 브리지는 휴대 가능한(portable) 인터셉터들을 사용해 요청당 시간 정보를 얻는다. 이 정보에 의해 메인 브리지는 쿨스팟 오브젝트와 핫스팟 오브젝트들을 구분한다. 이 구분의 한계값(threshold)이 항상 동일한 것은 아니다.The main bridge uses portable interceptors to obtain time information per request. Based on this information, the main bridge distinguishes between cool spot objects and hot spot objects. The threshold for this division is not always the same.

본 발명에서는 반복된 실험을 통해서 경험적 값만큼 그 한계값을 얻었다.In the present invention, the limit value was obtained by empirical value through repeated experiments.

쿨과 핫으로 오브젝트들을 구분하기 위해 다음 식과 같은 이산 분포(Poisson distribution)를 사용한다. To distinguish objects between cool and hot, we use a Poisson distribution like this:

Figure 112005070368801-pat00001
Figure 112005070368801-pat00001

메인 브리지는 휴대 가능한 인터셉터들을 사용해 요청당 시간의 양인 각 오브젝트의 λ 값을 얻는다. 한계값 k는 상술한 바와 같이 항상 동일하지는 않다. The main bridge uses portable interceptors to get the lambda value of each object, which is the amount of time per request. The threshold value k is not always the same as described above.

또 본 발명에 있어서는 이산 분포의 CDF(Cumulative Distribution Function)를 사용하며, 핫스팟은 개념만을 설명하고 쿨스팟을 사용하는데 초점을 맞춘다.In the present invention, the discrete distribution function uses a CDF (Cumulative Distribution Function), and the hot spots focus on using only the cool spots and explaining the concept.

메인 브리지는 쿨스팟 오브젝트들로 동적 브리지의 기능을 제공한다. 모든 내부 플랫폼 통신은 메인 브리지에 의해 라우트된다. The main bridge provides the functionality of a dynamic bridge with cool spot objects. All internal platform communications are routed by the main bridge.

도 1은 메인 브리지에서 동적 브리징 동작의 흐름을 나타내는 도면이다.1 is a diagram illustrating a flow of a dynamic bridging operation in a main bridge.

메인 브리지는 CALM의 오브젝트이고, 그것은 CALM ORB 뿐만 아니라 MICO ORB와 Java ORB 역시 사용한다. 이 구조에 의해 메인 브리지는 일반적이고 동적인 브리징을 제공할 수 있다. 일반적으로 동적 브리지들은 정적 브리지만큼 효율적이지는 않다. 비록 이 성능 요소를 통해 동적 브리지의 일반 매핑(generic mapping)은 정적 브리지의 특정 인터페이스 매핑 보다 더 적은 메모리를 차지한다. The main bridge is an object of CALM, which uses not only the CALM ORB but also the MICO ORB and the Java ORB. This structure allows the main bridge to provide general and dynamic bridging. In general, dynamic bridges are not as efficient as static bridges. Although this performance factor, the generic mapping of the dynamic bridge takes up less memory than the specific interface mapping of the static bridge.

그리고 메인 브리지는 쿨스팟으로부터 핫스팟으로 이동하는 오브젝트에게 정적 브리지를 제공한다. 그래서 그 시스템 안의 핫스팟 오브젝트들은 런타임 시 메인 브리지에 의해 만들어진 정적 브리지들을 사용한다. 정적 브리지를 사용해 핫스팟의 오브젝트들은 효율적인 처리량을 얻을 수 있다. The main bridge then provides a static bridge for objects moving from the coolspot to the hotspot. So hotspot objects in the system use static bridges created by the main bridge at runtime. Using static bridges, hotspot objects can achieve efficient throughput.

그러나 모든 브리지들은 자신의 정적 브리지를 얻을 수 없다. 만약 모든 오브젝트들이 자신의 브리지를 가지고 있다면, 그 브리지들은 매우 큰 메모리와 컴퓨팅 자원을 필요로할 것이다. 그래서 오직 쿨스팟의 오브젝트만이 폭주(bursty)이고, 단지 동적 브리지를 사용해 낮은 요청당 시간 값을 갖는다. However, not all bridges can get their own static bridge. If all objects have their own bridges, they will require very large memory and computing resources. So only objects in the coolspot are bursty, and only have low time-per-request values using dynamic bridges.

본 발명에 따른 브리지의 아키텍쳐는 도 2와 같다. The architecture of the bridge according to the invention is shown in FIG.

인터셉터들은 호출 과정에 삽입되기 위해 시큐리티와 같은 서비스들을 허락 하는 선택적 확장이다. 예를 들어 인터셉터들을 사용해 클라이언트들과 서버들 사이에 통신에 대해 알 수 있고, 만약 ORB의 행동을 효과적으로 변경하길 바란다면 이 통신들을 수정할 수 있다. Interceptors are an optional extension that allows services such as security to be inserted into the calling process. For example, you can use interceptors to learn about communication between clients and servers, and modify these communications if you want to effectively change the behavior of the ORB.

본 발명에서는 각 오브젝트 부하를 측정하기 위해 휴대 가능한 인터셉터들을 사용한다. 휴대 가능한 인터셉터는 오브젝트의 요청당 시간의 양을 측정한다. 그 다음 그 휴대 가능한 인터셉터는 메인 브리지로 이 정보를 전송한다.The present invention uses portable interceptors to measure each object load. The portable interceptor measures the amount of time per request of the object. The portable interceptor then sends this information to the main bridge.

도 3은 본 발명에 따른 성능 평가를 위한 실험 환경을 나타낸 도면이다.3 is a view showing an experimental environment for performance evaluation according to the present invention.

도 3에서, Jade, 에이전트 플랫폼은 두 대의 팬티엄4(3.0 GHz, 1GB RAM) 서버들과 한 대의 SUN(SUN SPARC dual CPU 800MHz, 2GB RAM) 서버로 구성된다. 에이전트 오브젝트들은 이 플랫폼에 적재된다. In Figure 3, Jade, the agent platform consists of two Pentium 4 (3.0 GHz, 1GB RAM) servers and one SUN (SUN SPARC dual CPU 800MHz, 2GB RAM) server. Agent objects are loaded on this platform.

MICO, CCM 플랫폼은 세 대의 팬티엄4(3.0 GHz, 1GB RAM) 서버들로 구성된다. CCM 오브젝트들은 이 플랫폼에 적재된다. The MICO and CCM platforms consist of three Pentium 4 (3.0 GHz, 1GB RAM) servers. CCM objects are loaded on this platform.

CALM 플랫폼은 세 대의 팬티엄 4(3.0 GHz, 1GB RAM) 서버들로 구성된다. 이 플랫폼에는 COS 오브젝트들이 적재된다. 에이전트, CCM, COS 오브젝트들은 단순히 성능 평가를 위해 구현된다. 그리고 이 오브젝트들은 상호연결과 상호운용을 위해서이다. The CALM platform consists of three Pentium 4 (3.0 GHz, 1GB RAM) servers. This platform is loaded with COS objects. Agent, CCM, and COS objects are simply implemented for performance evaluation. And these objects are for interconnection and interoperability.

또 모든 오브젝트들(에이전트, CCM, COM 오브젝트)은 실험 환경에 의해 로드 생성자에 의해 활성화된다. 도 3의 시스템은 CALM, JADE, 그리고 MICO로 구성되며, 그 오브젝트들은 다른 미들웨어를 연결하기 위해 구성된다.All objects (agents, CCM, COM objects) are also activated by the load constructor by the experimental environment. The system of Figure 3 consists of CALM, JADE, and MICO, the objects of which are configured to connect other middleware.

본 발명에서 그 실험은 다른 시나리오를 사용해 수행된다. 1번 시나리오에 서 전체 오브젝트들은 그것 자신의 정적 브리지를 사용한다. 각 오브젝트는 그것 자신의 스텁과 스켈레톤과 함께 다른 플랫폼 안의 오브젝트들로 접근한다.In the present invention the experiment is carried out using different scenarios. In scenario 1, the entire object uses its own static bridge. Each object has its own stubs and skeletons and accesses objects on different platforms.

본 발명에서는 활성화된 오브젝트들의 수를 바꿨고, 각 오브젝트의 응답 시간을 측정했다. 2번 시나리오에서 전체 오브젝트는 동적 브리지를 사용한다. 3번 시나리오에서 메인 브리지는 이산 분포의 PDF를 측정해서 쿨스팟과 핫스팟 오브젝트로 구분한다. In the present invention, the number of activated objects was changed, and the response time of each object was measured. In scenario 2, the entire object uses a dynamic bridge. In scenario 3, the main bridge measures the PDF of the discrete distribution and divides it into coolspot and hotspot objects.

그리고 메인 브리지는 오브젝트에게 특정 정적 브리지를 제공한다. 한편, 동적 브리지는 메인 브리지에 의해 쿨스팟 오브젝트로 제공된다. 그래서 3번 시나리오는 본 발명에 따른 실험이고, 1, 2번 시나리오는 제어 그룹들로서 사용된다. 활성화된 오브젝트들의 요청의 수는 불규칙적으로 결정된다. 쿨스팟 오브젝트인 폭주 요청들을 갖는 활성화된 오브젝트들의 비율, 핫스팟 오브젝트인 영속적 요청들을 갖는 활성화된 오브젝트들의 비율은 로드 생성자의 제어에 의해 같은 비율이다.The main bridge then provides the object with a specific static bridge. Dynamic bridges, on the other hand, are provided as coolspot objects by the main bridge. So scenario 3 is an experiment according to the invention, scenarios 1 and 2 are used as control groups. The number of requests for activated objects is determined irregularly. The ratio of activated objects with runaway requests that are coolspot objects and the ratio of activated objects with persistent requests that are hotspot objects are the same rate under the control of the load creator.

본 발명에서 이산 분포의 CDF(Cumulative Distribution Function)에서 한계값 k는 반복적인 실험에 의해 얻어진 경험적 값이며, K의 최적화된 값은 시스템 클럭 속도와 RAM에 의해 영향을 받는다. In the present invention, the limit value k in the Cumulative Distribution Function (CDF) of the discrete distribution is an empirical value obtained by repeated experiments, and the optimized value of K is affected by the system clock speed and RAM.

도 4는 오브젝트들의 응답시간을 나타내는 도면이다. 4 is a diagram illustrating response times of objects.

응답시간은 휴대 가능한 인터셉터에 의해 계산된다. 1번 시나리오는 하나의 동적 브리지를 사용하는 결과를 보여준다. 상기 이산 분포에서 설명했던 것처럼 전체 오브젝트들은 1번 시나리오에서 DII/DSI에 의해 개발된 동적 브리지를 사용한다. 그러므로 1번 시나리오처럼 그 시스템은 구현하기에 일반적이고 간편하다. 동적 브리지는 좋은 처리량을 갖지 않는 DII/DSI를 사용하기 때문에 브리지의 처리량은 좋지 않다. 그리고 전제 브리지는 단지 하나의 브리지를 사용하기 때문에 병목(bottle neck) 현상이 나타난다. Response time is calculated by a portable interceptor. Scenario 1 shows the result of using one dynamic bridge. As described in the discrete distribution above, the entire objects use a dynamic bridge developed by DII / DSI in scenario # 1. Therefore, as in scenario 1, the system is common and simple to implement. The throughput of the bridge is not good because the dynamic bridge uses DII / DSI which does not have good throughput. And since the whole bridge uses only one bridge, bottle necks appear.

2번 시나리오에서 전체 오브젝트는 자신의 정적 브리지를 사용한다. 그 정적 브리지는 그 오브젝트를 정적으로 다룬다. 그래서 정적 브리지의 처리량은 동적 브리지의 것보다 훨씬 더 좋다. 그리고 두 개의 브리지의 사용은 병목 현상을 피할 수 있다. 그러나 실제로 모든 정적 브리지를 제공하는 것은 빠른 상황 변화를 갖는 퍼베이시브 컴퓨팅 환경에서 불가능하다. 그리고 정적 브리지들이 자신의 메모리와 컴퓨팅 자원을 소모하기 때문에 정적 브리지를 사용하는 폭주 요청을 갖는 오브젝트는 자원을 낭비할 수 있다. 만약 그 시스템이 많은 폭주 오브젝트, 쿨스팟 오브젝트를 갖는다면, 정적 브리지의 사용은 심지어 동적 브리지가 갖는 처리량보다 더 작은 처리량을 가질 수 있다. In scenario 2, the entire object uses its own static bridge. The static bridge handles the object statically. So the throughput of the static bridge is much better than that of the dynamic bridge. And the use of two bridges can avoid bottlenecks. In practice, however, it is not possible to provide all static bridges in a pervasive computing environment with fast situation changes. And because static bridges consume their memory and computing resources, objects with congestion requests using static bridges can waste resources. If the system has many congestion objects, cool spot objects, the use of static bridges may even have less throughput than the dynamic bridge has.

3번 시나리오에서 시스템은 상술한 바와 같이 동적 브리지와 정적 브리지의 혼합된 사용을 허락한다. 이 방법은 빠르게 변화하는 상황을 갖는 퍼베이시브 컴퓨팅 환경에 매우 적응적이다. 그리고 이 방법은 완전 정적 방법보다 더 유연하고, 완전 동적 방법보다 더 효율적이다.In scenario 3, the system allows a mixed use of dynamic and static bridges as described above. This method is very adaptable to pervasive computing environments with rapidly changing situations. And this method is more flexible than the fully static method and more efficient than the fully dynamic method.

도 4의 결과는 정적, 동적 브리징 방법 간의 관계(tradeoff relationship)를 나타낸다. The results in FIG. 4 show the tradeoff relationship between static and dynamic bridging methods.

도 5는 활성화된 오브젝트의 수가 1000개까지 증가할 때의 특성을 나타낸다. 5 shows a characteristic when the number of activated objects increases to 1000. FIG.

1번 시나리오는 오브젝트들의 상황을 고려하지 않고 동적 브리지를 사용해 전체 오브젝트를 다룬다. 이 경우에, 만약 시스템이 단지 폭주 기능이 RPC를 사용한다면, 서버에는 문제가 없으나 큰 크기의 데이터를 전송하는 인터페이스를 오브젝트들이 사용할 때, 동적 브리지는 막대한 오버헤드를 갖는다. 1번 시나리오에서의 응답 시간은 점점 증가된다. Scenario 1 deals with the entire object using a dynamic bridge without considering the context of the objects. In this case, if the system only uses the RPC congestion function, there is no problem with the server, but the dynamic bridge has enormous overhead when objects use an interface that transfers large amounts of data. The response time in scenario 1 increases gradually.

2번 시나리오에서는 전체 오브젝트들이 자신의 정적 브리지를 갖는다. 이 경우에 그 브리지들은 비교적 짧은 응답 시간을 갖는다. 활성화된 오브젝트들의 수가 550 이하일 때의 처리량은 가장 효율적이다. 하지만 550 이상일 때는 복수의 정적 브리지에 의해 소비된 자원들 때문에 처리량이 현저하게 감소한다. 그래서 본 발명에서, 제안된 브리징 풀 기술의 처리량은 활성화된 오브젝트들의 수가 550 미만일 때, 다른 것들보다 더 좋다는 것을 알 수 있다.In scenario 2, the entire object has its own static bridge. In this case the bridges have a relatively short response time. Throughput when the number of activated objects is 550 or less is most efficient. However, above 550, throughput is significantly reduced due to resources consumed by multiple static bridges. So in the present invention, it can be seen that the throughput of the proposed bridging pool technique is better than others, when the number of activated objects is less than 550.

3번 시나리오에서 메인 브리지는 이산 분포의 PDF를 측정해서 쿨스팟과 핫스팟 오브젝트로 구분한다. 그리고 메인 브리지는 오브젝트에게 특정 정적 브리지를 제공한다. 한편, 동적 브리지는 메인 브리지에 의해 쿨스팟 오브젝트로 제공된다. 그래서 3번 시나리오는 본 발명에 따른 실험이고, 1, 2번 시나리오는 제어 그룹들로서 사용된다. 활성화된 오브젝트들의 요청의 수는 불규칙적으로 결정된다. 쿨스팟 오브젝트인 폭주 요청들을 갖는 활성화된 오브젝트들의 비율, 핫스팟 오브젝트인 영속적 요청들을 갖는 활성화된 오브젝트들의 비율은 로드 생성자의 제어에 의해 같은 비율이다.In scenario 3, the main bridge measures the PDF of the discrete distribution and divides it into coolspot and hotspot objects. The main bridge then provides the object with a specific static bridge. Dynamic bridges, on the other hand, are provided as coolspot objects by the main bridge. So scenario 3 is an experiment according to the invention, scenarios 1 and 2 are used as control groups. The number of requests for activated objects is determined irregularly. The ratio of activated objects with congestion requests that are coolspot objects and the ratio of activated objects with persistent requests that are hotspot objects are the same rate under the control of the load creator.

이상 본 발명자에 의해서 이루어진 발명을 상기 실시예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시예에 한정되는 것은 아니고 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.As mentioned above, although the invention made by this inventor was demonstrated concretely according to the said Example, this invention is not limited to the said Example and can be variously changed in the range which does not deviate from the summary.

유비쿼터스 미들웨어는 기존의 미들웨어와는 비교도 할 수 없을 만큼 방대한 양의 정보와 다양한 이기종 환경에서의 동작을 요구한다. 이렇게 방대한 데이터와 다양한 종류의 이기종 환경에서는 효율적인 정보처리와 호환성을 요구한다. Ubiquitous middleware requires vast amounts of information and operation in various heterogeneous environments, which cannot be compared with existing middleware. This vast amount of data and diverse heterogeneous environments require efficient information processing and compatibility.

상술한 바와 같이, CALM에 브리징 풀 기술을 적용하고, 그것을 이용해 컴포넌트 플랫폼과 에이전트 플랫폼을 연결한 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템 및 그 방법에 의하면, 대규모 이기종의 분산환경에서의 객체가 가진 부하에 따라 효율적인 브리징을 책임지므로, 유비쿼터스 환경 미들웨어에서 다양한 환경의 데이터를 효율적으로 처리할 수 있다는 효과가 얻어진다.As described above, according to the CORBA-based adaptive bridge pool system and method according to the present invention applying a bridging pool technology to CALM and connecting a component platform and an agent platform, objects in a large heterogeneous distributed environment are Since it is responsible for efficient bridging according to the load, the ubiquitous environment middleware can efficiently process data in various environments.

또, 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템 및 그 방법에 의하면, 퍼베이시브 컴퓨팅(Pervasive computing) 패러다임에서 곳곳에 존재하는 객체들을 통합하기 위해 필요한 미들웨어 프레임 워크는 오버헤드와 복잡성의 증가 때문에 단일 미들웨어의 구현은 매우 어려우므로, 적응적 브릿징 풀(adaptive bridging pool) 기술을 이용하여 투명하고 효율적으로 다른 미들웨어와의 상호 운용을 가능하게 할 수 있다는 효과가 얻어진다.In addition, according to the CORBA-based adaptive bridge pool system and method according to the present invention, the middleware framework required to integrate the objects existing in the pervasive computing paradigm is a single middleware because of the increased overhead and complexity Since the implementation of is very difficult, the effect of using adaptive bridging pool technology can be transparently and efficiently interoperated with other middleware.

또, 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템 및 그 방법에 의하면, 이기종 환경을 동적으로 판단하여 그 부하를 줄이고 효율성을 재고할 수 있다는 효과가 얻어진다.In addition, according to the CORBA-based adaptive bridge pool system and the method according to the present invention, it is possible to determine the heterogeneous environment dynamically to reduce the load and to reconsider the efficiency.

또한, 본 발명에 따른 CORBA 기반 적응적 브리지 풀 시스템 및 그 방법에 의 하면, 미들웨어나 펌웨어 분야의 이기종 통합 솔루션에서 각 모듈로 개발한 각 부분에 대한 통합이 쉬워지고 통합된 제품 자체의 성능도 높일 수 있으므로, 대규모 분산환경에서의 최적화 솔루션으로 기업화 시킬 수 있다는 효과도 얻어진다In addition, according to the CORBA-based adaptive bridge pool system and the method according to the present invention, it is easy to integrate each part developed by each module in the heterogeneous integration solution in the middleware or firmware field, and the performance of the integrated product itself is also improved. As a result, it can be achieved by optimizing the solution into an optimized solution in a large distributed environment.

Claims (18)

네트워크를 통해 연결된 다수의 서버를 구비하고, 이종의 미들웨어간 투명하고 효율적인 연결을 보장하는 CORBA 기반 적응적 브리지 풀 시스템에 있어서,In a CORBA-based adaptive bridge pool system having multiple servers connected through a network and ensuring transparent and efficient connection between heterogeneous middleware, 에이전트 플랫폼 미들웨어인 JADE(Java Agent Development Framework)의 플랫폼을 구비한 제1의 서버, A first server equipped with a platform of Java Agent Development Framework (JADE), which is an agent platform middleware, CCM 미들웨어인 MICO의 플랫폼을 구비한 제2의 서버,A second server with the platform of MICO, the CCM middleware, 메시지 지향 미들웨어인 CALM(Component-based Autonomic Layered Middleware)의 플랫폼을 구비한 제3의 서버 및A third server with a platform of component-based autonomic layered middleware (CALM), a message-oriented middleware; and 상기 제1의 서버 내지 제3의 서버에 각각 연결된 브리지 서버를 포함하고,A bridge server connected to each of the first server to the third server, 상기 브리지 서버는 동적 브리지와 정적 브리지를 혼용하고,The bridge server mixes a dynamic bridge and a static bridge, 상기 브리지 서버는 휴대가능한 인터셉터를 사용해 상기 제1의 서버 내지 제3의 서버의 요청당 시간 정보를 얻고, 이 정보에 의해 쿨스팟 오브젝트와 핫스팟 오브젝트들을 구분하고,The bridge server obtains time-per-request information of the first to third servers by using a portable interceptor, and distinguishes cool spot objects from hot spot objects based on the information. 상기 쿨스팟 오브젝트와 핫스팟 오브젝트들의 구분은 이산 분포(Poisson distribution)를 사용하여 구분하는 것을 특징으로 하는 CORBA 기반 적응적 브리지 풀 시스템.CORBA-based adaptive bridge pool system, characterized in that the distinction between the hotspot object and the hotspot object using a discrete distribution (Poisson distribution). 제 1항에 있어서,The method of claim 1, 상기 브리지 서버는 휴대가능한 인터셉터를 사용해 동적 브리지와 정적 브리지를 혼용하여 상기 제1의 서버 내지 제3의 서버를 연결하는 것을 특징으로 하는 CORBA 기반 적응적 브리지 풀 시스템.And the bridge server uses a portable interceptor to connect the first to third servers by using a dynamic bridge and a static bridge. 삭제delete 제 2항에 있어서,The method of claim 2, 상기 브리지 서버는 상기 쿨스팟 오브젝트로 동적 브리지의 기능을 제공하는 것을 특징으로 하는 CORBA 기반 적응적 브리지 풀 시스템.And the bridge server provides the functionality of a dynamic bridge to the coolspot object. 삭제delete 제 4항에 있어서,The method of claim 4, wherein 상기 브리지 서버는 상기 쿨스팟 오브젝트와 핫스팟 오브젝트들을 측정하여 오브젝트의 특성에 맞춘 연결을 최적화하는 것을 특징으로 하는 CORBA 기반 적응적 브리지 풀 시스템.And the bridge server measures the coolspot object and the hotspot objects to optimize the connection according to the characteristics of the object. 제 6항에 있어서,The method of claim 6, 상기 브리지 서버는 기존의 브리지를 팩토리에 저장하여 연결과정의 경과시간을 최적화하는 것을 특징으로 하는 CORBA 기반 적응적 브리지 풀 시스템.The bridge server CORBA-based adaptive bridge pool system, characterized in that to store the existing bridge in the factory to optimize the elapsed time of the connection process. 제 1항에 있어서,The method of claim 1, 상기 브리지 서버는 동적 브리지와 온디맨드 브리지를 혼용하여 상기 제1의 서버 내지 제3의 서버를 연결하는 것을 특징으로 하는 CORBA 기반 적응적 브리지 풀 시스템.The bridge server is a CORBA-based adaptive bridge pool system, characterized in that the first server to the third server to connect by using a mixed bridge and dynamic bridge. 제 8항에 있어서,The method of claim 8, 상기 브리지 서버는 쿨스팟 오브젝트로 동적 브리지의 기능을 제공하는 것을 특징으로 하는 CORBA 기반 적응적 브리지 풀 시스템.The bridge server is a CORBA-based adaptive bridge pool system, characterized in that to provide the function of the dynamic bridge to the cool spot object. 제 9항에 있어서,The method of claim 9, 상기 브리지 서버는 핫스팟의 오브젝트로 상기 온디멘드 브리지의 메커니즘 기반 정적 브리지를 사용하는 것을 특징으로 하는 CORBA 기반 적응적 브리지 풀 시스템.And the bridge server uses a mechanism-based static bridge of the on-demand bridge as an object of a hotspot. 제 2항에 있어서,The method of claim 2, 상기 브리지 서버는 상기 쿨스팟으로부터 핫스팟으로 이동하는 오브젝트에게 정적 브리지를 제공하는 것을 특징으로 하는 CORBA 기반 적응적 브리지 풀 시스템.And wherein the bridge server provides a static bridge for objects moving from the coolspot to the hotspot. 제 2항에 있어서,The method of claim 2, 상기 브리지 서버는 상기 CALM의 오브젝트들에 대해 최적화된 정적 브리지와 DSI/DII(Dynamic Skeleton Interface/Dynamic Invocation Interface)를 사용하는 동적 브리지를 선택적으로 사용하는 것을 특징으로 하는 CORBA 기반 적응적 브리지 풀 시스템.And the bridge server selectively uses a static bridge optimized for objects of the CALM and a dynamic bridge using a dynamic skeleton interface / dynamic invocation interface (DSI / DII). 에이전트 플랫폼 미들웨어인 JADE(Java Agent Development Framework)의 플랫폼을 구비한 제1의 서버, CCM 미들웨어인 MICO의 플랫폼을 구비한 제2의 서버, 메시지 지향 미들웨어인 CALM(Component-based Autonomic Layered Middleware)의 플랫폼을 구비한 제3의 서버 및 상기 제1의 서버 내지 제3의 서버에 각각 연결된 브리지 서버를 포함하는 시스템에서 이종의 미들웨어 간 투명하고 효율적인 연결을 보장하는 CORBA 기반 적응적 브리지 풀 방법에 있어서,The first server with the platform of the Java Agent Development Framework (JADE), the agent platform middleware, the second server with the platform of the MICO, the CCM middleware, and the platform of the component-based autonomic layered middleware (CALM), the message-oriented middleware. In the CORBA-based adaptive bridge pool method for ensuring transparent and efficient connection between heterogeneous middleware in a system comprising a third server having a and a bridge server connected to the first server to the third server, respectively, 상기 브리지 서버가 휴대가능한 인터셉터를 사용해 동적 브리지와 정적 브리지를 혼용하여 상기 제1의 서버 내지 제3의 서버를 연결하고,The bridge server uses a portable interceptor to connect the first to third servers by using a dynamic bridge and a static bridge, 상기 브리지 서버는 휴대가능한 인터셉터를 사용해 상기 제1의 서버 내지 제3의 서버의 요청당 시간 정보를 얻고, 이 정보에 의해 쿨스팟 오브젝트와 핫스팟 오브젝트들을 구분하고,The bridge server obtains time-per-request information of the first to third servers by using a portable interceptor, and distinguishes cool spot objects from hot spot objects based on the information. 상기 쿨스팟 오브젝트와 핫스팟 오브젝트들의 구분은 이산 분포(Poisson distribution)를 사용하여 구분하는 것을 특징으로 하는 CORBA 기반 적응적 브리지 풀 방법.The division of the cool spot object and the hot spot object is divided using a distribution distribution (Poisson distribution), CORBA-based adaptive bridge pool method. 삭제delete 제 13항에 있어서,The method of claim 13, 상기 브리지 서버는 상기 쿨스팟 오브젝트로 동적 브리지의 기능을 제공하는 것을 특징으로 하는 CORBA 기반 적응적 브리지 풀 방법.Wherein the bridge server provides the functionality of a dynamic bridge to the coolspot object. 삭제delete 제 15항에 있어서,The method of claim 15, 상기 브리지 서버가 상기 쿨스팟 오브젝트와 핫스팟 오브젝트들을 측정하여 오브젝트의 특성에 맞춘 연결을 최적화하는 것을 특징으로 하는 CORBA 기반 적응적 브리지 풀 방법.And the bridge server measures the cool spot object and the hot spot objects to optimize the connection according to the characteristics of the object. 제 17항에 있어서,The method of claim 17, 상기 브리지 서버가 기존의 브리지를 팩토리에 저장하여 연결과정의 경과시간을 최적화하는 것을 특징으로 하는 CORBA 기반 적응적 브리지 풀 방법.CORBA-based adaptive bridge pool method, characterized in that the bridge server stores the existing bridge in the factory to optimize the elapsed time of the connection process.
KR1020050116513A 2005-12-01 2005-12-01 CORBA-based Adaptive Bridging Pool System and Method thereof KR100735669B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050116513A KR100735669B1 (en) 2005-12-01 2005-12-01 CORBA-based Adaptive Bridging Pool System and Method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050116513A KR100735669B1 (en) 2005-12-01 2005-12-01 CORBA-based Adaptive Bridging Pool System and Method thereof

Publications (2)

Publication Number Publication Date
KR20070058178A KR20070058178A (en) 2007-06-08
KR100735669B1 true KR100735669B1 (en) 2007-07-06

Family

ID=38355157

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050116513A KR100735669B1 (en) 2005-12-01 2005-12-01 CORBA-based Adaptive Bridging Pool System and Method thereof

Country Status (1)

Country Link
KR (1) KR100735669B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100904362B1 (en) * 2007-09-17 2009-06-23 성균관대학교산학협력단 Calm capable of searching agent service through web, agent system using the same and operation method of agent system
KR100929821B1 (en) * 2008-02-26 2009-12-07 성균관대학교산학협력단 Kam-based directory facilitator that can communicate with Jade agent and multi-agent system using the same
KR101148364B1 (en) * 2010-12-06 2012-05-23 중앙대학교 산학협력단 A dynamic integration among heterogeneous middleware, memory management system and the method for controller in cyber-physical system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148698A (en) 1998-11-11 2000-05-30 Hitachi Ltd Distributed object security system
JP2000187599A (en) 1998-12-24 2000-07-04 Hitachi Ltd Method for bridging objects between different reference domains
US20020124113A1 (en) 2001-03-01 2002-09-05 International Business Machines Corporation Method and a bridge for coupling a server and a client of different object types
US20050068913A1 (en) 2003-09-17 2005-03-31 Microsoft Corporation Metaspace: communication middleware for partially connected mobile ad hoc networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148698A (en) 1998-11-11 2000-05-30 Hitachi Ltd Distributed object security system
JP2000187599A (en) 1998-12-24 2000-07-04 Hitachi Ltd Method for bridging objects between different reference domains
US20020124113A1 (en) 2001-03-01 2002-09-05 International Business Machines Corporation Method and a bridge for coupling a server and a client of different object types
US20050068913A1 (en) 2003-09-17 2005-03-31 Microsoft Corporation Metaspace: communication middleware for partially connected mobile ad hoc networks

Also Published As

Publication number Publication date
KR20070058178A (en) 2007-06-08

Similar Documents

Publication Publication Date Title
Stal Using architectural patterns and blueprints for service-oriented architecture
Georgantas et al. Service-oriented distributed applications in the future internet: The case for interaction paradigm interoperability
Ferscha et al. A light-weight component model for peer-to-peer applications
Jamali et al. A actor-based architecture for customizing and controlling agent ensembles
Benatallah et al. Definition and execution of composite web services: The self-serv project
KR100735669B1 (en) CORBA-based Adaptive Bridging Pool System and Method thereof
Ishikawa et al. Toward synthesis of web services and mobile agents
Snelling et al. A unicore globus interoperability layer
Gomaa et al. Reusable component interconnection patterns for distributed software architectures
Kang et al. Android RMI: a user-level remote method invocation mechanism between Android devices
Spiess et al. Integrating sensor networks with business processes
Lee et al. Itinerary-based mobile agent as a basis for distributed OSGi services
Khan et al. Software architecture and algorithm for reliable RPC for geo-distributed mobile computing systems
Rana et al. Service design patterns for computational grids
Bellavista et al. Quality-of-service in data center stream processing for smart city applications
Koukoumpetsos et al. Mobility Patterns: An Alternative Approach to Mobility Management
Kawamura et al. Designing multi-agent systems based on pairwise agent interactions
Hugues et al. A case study of middleware to middleware: Mom and orb interoperability
Li et al. A software architecture for integrative utility management system
Xin et al. An architecture design of a JBI-based enterprise service bus
Ketel A mobile agent based framework for web services
Silis et al. World wide web server technology and interfaces for distributed, high-performance computing systems
Van Thanh Using mobile agents in telecommunications
Fortino et al. High-Level Interoperability between Java-based Mobile Agent Systems.
Cabri et al. A Case Study in Role-based Agent Interactions.

Legal Events

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

Payment date: 20120718

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee