KR100397503B1 - Sequential transaction indexing method between client and agent by using queue - Google Patents
Sequential transaction indexing method between client and agent by using queue Download PDFInfo
- Publication number
- KR100397503B1 KR100397503B1 KR10-2001-0039806A KR20010039806A KR100397503B1 KR 100397503 B1 KR100397503 B1 KR 100397503B1 KR 20010039806 A KR20010039806 A KR 20010039806A KR 100397503 B1 KR100397503 B1 KR 100397503B1
- Authority
- KR
- South Korea
- Prior art keywords
- agent
- queue
- client
- event
- request
- Prior art date
Links
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/466—Transaction processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9036—Common buffer combined with individual queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
Abstract
본 발명은 클라이언트와 NE간의 트랜잭션 처리시 큐를 사용함으로써 비동기 트랜잭션에서 요청에 대한 응답을 기다리지 않고 다음 요청을 순차적으로 받아들여 큐에 저장하고 이에 대한 응답이 해당 타겟으로 정확히 송신되도록 한 것으로, 이러한 본 발명은, 클라이언트와 에이전트간에 입력큐를 구비하여 초기화한 후, 상기 클라이언트에서 발생하는 요청함수를 상기 초기화된 입력큐에 순차적으로 인덱싱하여 저장하고 에이전트가 상기 입력큐에서 요청함수를 폴링하여 요청된 이벤트를 순차적으로 수행하는 단계와; 상기 에이전트는 상기 이벤트의 수행에 따른 응답 메시지를 출력큐에 순차적으로 인덱싱하여 저장함으로써 상기 출력큐의 응답메시지가 수신타겟으로 순차적으로 전달되도록 하는 단계를 포함하되, 상기 클라이언트에 의해 요청된 이벤트 수행시 상기 에이전트는, 네트워크장비에의 엑세스를 요하는 경우이면 해당 네트워크장비를 수신타켓으로 지정하여 상기 이벤트 수행을 위한 요청메세지를 전달하고, 네트워크 장비에의 엑세스를 요하지 않는 경우이면 해당 이벤트를 요청한 클라이언트를 수신타겟으로 지정하여 응답메세지를 상기 큐에 저장하는 것을 특징으로 하는 것이다. 이와 같은 발명에 의하여 에이전트를 통해 이벤트를 처리하는 경우 네트워크장비나 데이터베이스를 거쳐 응답이 올 때까지 기다리는 지연 상황을 방지할 수 있다.The present invention uses a queue when processing a transaction between a client and an NE, so that the next request is sequentially received and stored in the queue without waiting for a response to the request in an asynchronous transaction, and the response is correctly sent to the target. According to the present invention, an input queue between a client and an agent is initialized, and then a request function generated by the client is sequentially indexed and stored in the initialized input queue, and the agent polls the request function in the input queue to request an event. Sequentially performing; And the agent sequentially indexing and storing the response message according to the execution of the event in the output queue so that the response message of the output queue is sequentially delivered to the reception target, when the event requested by the client is performed. If the agent requires access to a network device, the agent designates the network device as a reception target and delivers a request message for performing the event. If the agent does not require access to the network device, the agent requests the client requesting the event. It is characterized by storing a response message in the queue by designating it as a reception target. According to the present invention, when processing an event through an agent, it is possible to prevent a delay situation waiting for a response through a network device or a database.
Description
본 발명은 큐(Queue)를 통한 클라이언트(Client)와 에이전트(Agent)간의 트랜잭션 순차인덱싱 방법에 관한 것으로, 보다 상세하게는 클라이언트와 NE(Network Element)간의 트랜잭션 처리시 큐를 사용함으로써 비동기 트랜잭션에서 요청에 대한 응답을 기다리지 않고 다음 요청을 순차적으로 받아들여 큐에 저장하고 이에 대한 응답이 해당 타겟으로 정확히 송신되도록 하기 위한 큐를 통한 클라이언트와 에이전트간의 트랜잭션 순차인덱싱 방법에 관한 것이다.The present invention relates to a transaction sequential indexing method between a client and an agent through a queue, and more specifically, a request in an asynchronous transaction by using a queue when processing a transaction between a client and a network element (NE). This method relates to a transaction sequential indexing method between a client and an agent through a queue to sequentially receive the next request and store the queue in a queue without waiting for a response to the response.
일반적으로 네트워크상에 분산되어 있는 자원을 효율적으로 운용하기 위하여 서버/클라이언트 시스템을 적용된다. 이러한 서버/클라이언트 시스템상에서 이루어지는 트랜잭션 처리와 관련하여 이하에서는 서버를 에이전트로 칭하기로 한다.In general, a server / client system is applied to efficiently manage resources distributed on a network. Regarding transaction processing performed on such a server / client system, the server will be referred to as an agent hereinafter.
트랜잭션 처리는 클라이언트의 요청에 대하여 에이전트가 해당 트랜잭션을 처리하여 응답을 다시 클라이언트로 전송함으로써 이루어진다. 이때 클라이언트의 요청은 request 이벤트로 처리되며, 에이전트의 응답은 response 이벤트를 통해 처리된다.Transaction processing is performed by the agent processing the transaction in response to the client's request and sending a response back to the client. In this case, the client's request is processed as a request event, and the agent's response is processed through a response event.
트랜잭션 관련 애플리케이션을 분류하면 동기식(Synchronous)과 비동기식(Asynchronous)이 있다. 동기식 애플리케이션은 에이전트가 요청에 대한 응답을 인디케이션 콜백(Indication Callback)내에서 지연없이 처리하는 방식이며, 비동기식 애플리케이션은 에이전트에서 요청을 처리하기 위해 다른 노드를 엑세스하거나 내부에서 시간이 소요되는 경우에 인디케이션 콜백에서 직접 처리하지 않고 차후에 결과를 보내주는 방식이다. 예를 들어 서버에서 클라이언트의 요구를 받아 네트워크 장비인 NE를 엑세스하는 경우나 NE의 공통부에서 채널부의 정보를 엑세스하는 경우 등에 있어서 비동기식 애플리케이션의 적용될 수 있다.There are two categories of transaction-related applications: synchronous and asynchronous. A synchronous application is a way for an agent to process a response to a request without delay within an indication callback, while an asynchronous application can be used when an agent accesses another node or takes some time internally to process a request. Instead of being handled directly by the application callback, the results are sent later. For example, the asynchronous application may be applied when a server accesses an NE, which is a network device in response to a client's request, or when accessing channel information from a common part of the NE.
도1은 클라이언트와 에이전트간 동기식 트랜잭션 흐름도이고, 도2는 클라이언트와 에이전트 및 NE간 비동기식 트랜잭션 흐름도이다.1 is a synchronous transaction flow between a client and an agent, and FIG. 2 is an asynchronous transaction flow between a client and an agent and an NE.
도1에 따르면, request 이벤트가 수행되어 클라이언트(110)로부터에이전트(120)로의 요청이 전달된다. 에이전트(120)는 요청된 이벤트의 수행에 따른 결과를 response 이벤트를 통해 클라이언트(110)로 전달한다. 동기식 애플리케이션의 경우에는 에이전트(120)에서 요청에 대한 응답이 지연되지 않고 인디케이션 콜백내에서 즉시 처리되는 가장 단순한 형태이다. MML(Man Machine Language)은 대부분 동기식 애플리케이션을 통해 처리된다.According to FIG. 1, a request event is performed to transmit a request from the client 110 to the agent 120. The agent 120 delivers the result of performing the requested event to the client 110 through a response event. In the case of a synchronous application, the agent 120 is the simplest form in which the response to the request is processed immediately within the indication callback without delay. MML (Man Machine Language) is handled mostly through synchronous applications.
그리고 도2에 따르면, 클라이언트(210)의 요청에 따른 이벤트 수행시 NE에의 엑세스가 요구되는 경우에 있어서 에이전트(220)는 클라이언트의 요청에 즉시 응답하지 않게 된다. 즉, 클라이언트(210)의 request를 받은 에이전트(220)는 요청된 이벤트의 수행을 위하여 NE(230)로 request를 전달하게 되며, 이때 클라이언트(210)로의 응답은 지연된다. 그래서 NE(230)에서 요청된 이벤트를 처리하여 에이전트(220)로의 응답을 보내면, 에이전트(220)는 클라이언트(210)로의 응답이 가능하게 된다.In addition, according to FIG. 2, when access to the NE is required when performing an event according to the request of the client 210, the agent 220 does not immediately respond to the request of the client. That is, the agent 220 receiving the request of the client 210 transmits the request to the NE 230 to perform the requested event, at which time the response to the client 210 is delayed. Thus, when the NE 230 processes the requested event and sends a response to the agent 220, the agent 220 may respond to the client 210.
이처럼 비동기식 애플리케이션의 경우에는 에이전트에서 요청을 처리하기 위해 다른 노드를 엑세스하거나 내부에서 시간이 소요되는 경우에 인디케이션 콜백에서 직접 처리하지 않고 차후에 결과를 보내주는 형태를 취하게 되는 것이다. 이를 위하여 인디케이션 콜백 이외에 결과를 보내주는 콜백이 사용된다.In the case of an asynchronous application like this, when an agent accesses another node to process a request or when time is spent internally, an indication callback does not directly process the result but sends the result later. To do this, a callback is used that sends the result in addition to the indication callback.
비동기식 애플리케이션에 있어서, 사용자는 ctag와 같은 플래그를 비동기식 MML로 처리되는 트랜잭션에 대한 연결의 도구로 사용하게 된다. 즉, request 함수 호출시 인수로써 제공된 ctag의 내용을 응답함수인 response_callback 함수 수신시 돌려 받게 되며, 에이전트(220)가 ctag에 대한 값을 기억하여 클라이언트(210)로의응답 호출시 제공하게 된다.In an asynchronous application, the user would use a flag such as ctag as a tool for connecting to a transaction processed by asynchronous MML. That is, the contents of the ctag provided as an argument when the request function is called are returned when the response_callback function is received, and the agent 220 stores the value of the ctag and provides the response to the client 210.
그런데 동기식의 경우에는 요청에 대한 이벤트가 지연없이 응답되지만, 비동기식 애플리케이션의 경우에 에이전트는 클라이언트에서 받은 요청이 장비를 거쳐 그 응답이 도달할 때까지 기다린 후 다음 번 요청을 처리하여야만 하는 단점이 있었다.In the synchronous case, the event for the request is replied without delay. In the case of an asynchronous application, the agent has to wait for the request received from the client to pass through the device and then process the next request.
본 발명은 상기한 바와 같은 종래의 문제점을 해소하기 위해 창출된 것으로, 본 발명의 목적은 클라이언트와 NE간의 트랜잭션 처리시 큐를 사용함으로써 비동기 트랜잭션에서 요청에 대한 응답을 기다리지 않고 다음 요청을 순차적으로 받아들여 큐에 저장하고 이에 대한 응답이 해당 타겟으로 정확히 송신되도록 한 큐를 통한 클라이언트와 에이전트간의 트랜잭션 순차인덱싱 방법을 제공하는 데 있다.The present invention was created to solve the above-mentioned conventional problems, and an object of the present invention is to receive a next request sequentially without waiting for a response to the request in an asynchronous transaction by using a queue in the transaction processing between the client and the NE. It is to provide a transaction sequential indexing method between a client and an agent through a queue that is stored in a queue, and a response to the target is sent to the target.
도1은 클라이언트와 에이전트간 동기식 트랜잭션 흐름도.1 is a synchronous transaction flow diagram between a client and an agent.
도2에는 클라이언트와 에이전트 및 NE간 비동기식 트랜잭션 흐름도.2 is an asynchronous transaction flow between a client and an agent and an NE.
도3은 본 발명의 실시예에 따른 큐를 통한 클라이언트와 에이전트간의 트랜잭션 순차인덱싱 방법의 순서도.3 is a flow chart of a transactional sequential indexing method between a client and an agent through a queue according to an embodiment of the present invention.
도4는 본 발명에 따른 트랜잭션 흐름도.4 is a transaction flow diagram in accordance with the present invention.
상기 목적을 달성하기 위하여 발명에 의한 큐를 통한 클라이언트와 에이전트간의 트랜잭션 순차인덱싱 방법은, 클라이언트와 에이전트간에 입력큐를 구비하여 초기화한 후, 상기 클라이언트에서 발생하는 요청함수를 상기 초기화된 입력큐에 순차적으로 인덱싱하여 저장하고 에이전트가 상기 입력큐에서 요청함수를 폴링하여 요청된 이벤트를 순차적으로 수행하는 단계와;상기 에이전트는 상기 이벤트의 수행에 따른 응답 메시지를 출력큐에 순차적으로 인덱싱하여 저장함으로써 상기 출력큐의 응답메시지가 수신타겟으로 순차적으로 전달되도록 하는 단계를 포함하되,상기 클라이언트에 의해 요청된 이벤트 수행시 상기 에이전트는, 네트워크장비에의 엑세스를 요하는 경우이면 해당 네트워크장비를 수신타켓으로 지정하여 상기 이벤트 수행을 위한 요청메세지를 전달하고, 네트워크 장비에의 엑세스를 요하지 않는 경우이면 해당 이벤트를 요청한 클라이언트를 수신타겟으로 지정하여 응답메세지를 상기 큐에 저장하는 것을 특징으로 한다.In order to achieve the above object, a transaction sequential indexing method between a client and an agent through a queue according to the present invention includes an initialization queue having an input queue between the client and the agent, and then sequentially sequencing a request function generated by the client to the initialized input queue. Indexing and storing the agent and polling the request function in the input queue to sequentially perform the requested event; and the agent sequentially indexes and stores a response message according to the execution of the event in the output queue. The response message of the queue is sequentially delivered to the receiving target, wherein when the event requested by the client, if the agent requires access to the network equipment, and designates the network equipment as the receiving target To perform the event Passing the request message and, if the case does not require access to the network devices, specifying a client requests the corresponding event to the receiving target is a response message characterized in that stored in the queue.
본 발명에 있어서 큐는 메모리 영역에 데이터를 순차적으로 기록하고 그 기록된 순서에 따라서 데이터를 엑세스할 수 있도록 된 메모리 구조를 지시한다. 따라서 메모리의 구체적인 구조는 본 발명에 의해 제한되지 않는다.In the present invention, a queue indicates a memory structure in which data is sequentially recorded in a memory area and data can be accessed in accordance with the recorded order. Therefore, the specific structure of the memory is not limited by the present invention.
이하, 첨부도면을 참조하여 본 발명에 따른 바람직한 실시예를 설명한다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.
도3은 본 발명의 실시예에 따른 큐를 통한 클라이언트와 에이전트간의 트랜잭션 순차인덱싱 방법의 순서도이고, 도4는 도3에 따른 트랜잭션 흐름도이다.3 is a flowchart illustrating a transaction sequential indexing method between a client and an agent through a queue according to an exemplary embodiment of the present invention, and FIG. 4 is a flowchart illustrating a transaction according to FIG.
도3에 따르면, 네트워크상의 클라이언트와 에이전트간에 큐를 구비하고 그 큐를 운용하는데 필요한 초기화 단계를 수행하게 된다. 이처럼 큐를 두어 클라이언트로부터의 요청함수가 에이전트에서 직접 처리되지 않고 큐를 통해서 간접적으로 처리되도록 한다(S310).According to FIG. 3, a queue is provided between a client and an agent on a network, and an initialization step required to operate the queue is performed. In this way, the request function from the client is placed so that the queue is indirectly processed through the queue instead of being directly processed by the agent (S310).
큐에의 엑세스 기법은 선입선출이나 후입선출 등이 있으나, 본 발명의 적절한 실시를 위해서는 먼저 발생한 요청함수를 우선적으로 처리하는 선입선출 기법이 적용된 큐를 이용하는 것이 바람직하다.The queue access method includes first-in, first-out, first-out, and the like. However, in order to properly implement the present invention, it is preferable to use a queue to which a first-in, first-out technique that first processes a request function that occurs first is applied.
그리고 도4에 도시된 바와 같이, 큐(430)는 클라이언트(410)의 요청함수를 저장하기 위한 입력큐(432)와 에이전트(440)로부터 클라이언트(410)나 네트워크장비(NE)(420)로 반환되는 응답메시지를 저장하기 위한 출력큐(434)로 구분하여 운용한다.As shown in FIG. 4, the queue 430 is an input queue 432 for storing a request function of the client 410 and an agent 440 from the agent 440 to the client 410 or the network device (NE) 420. It is divided into an output queue 434 for storing the returned response message.
단계 S310의 초기화시 큐(430)의 크기를 설정한다. 큐(430)의 이벤트는 짧은 시간내에 차례대로 보내어진다. 따라서 큐(430)의 크기는 1초 내에 최대로 발생할 수 있는 이벤트의 최대치에 적정의 마진을 합산한 값으로 결정한다.At the initialization of step S310, the size of the queue 430 is set. Events in the queue 430 are sent one after another within a short time. Therefore, the size of the queue 430 is determined as the sum of the margin of the titration and the maximum value of the maximum event that can occur within one second.
단계 S310에서 초기화된 큐(430)는 클라이언트(410)에서 발생되는 요청함수를 전달순서에 따라 순차적으로 인덱싱하여 저장하게 된다. 클라이언트(410)의 요청함수는 입력큐에 저장된다(S320).The queue 430 initialized in step S310 sequentially indexes and stores a request function generated in the client 410 according to the delivery order. The request function of the client 410 is stored in the input queue (S320).
큐와 같은 메모리에는 오버플로우 처리기법이 요구되는데, 사용자는 요청함수 푸쉬(Push)시 'forced'라는 인수를 지정하여 큐가 full 상태일 때의 동작을 지정할 수 있다. 예를 들어, forced=1인 경우에는 가장 오래된 이벤트를 강제로 해제시키고 이벤트를 큐에 푸쉬시키도록 하며, forced=0인 경우에는 패일(fail) 되도록 한다.Overflow processing is required for memory such as a queue, and the user can specify an action when the queue is full by specifying an argument of 'forced' when pushing the request function. For example, if forced = 1, force the oldest event to be released, push the event to the queue, and if forced = 0, fail.
이처럼 클라이언트(410)와 에이전트(440)의 사이에 입력큐(432)와 출력큐(434)를 두어, 클라이언트(410)에서 요청을 보내면 이것을 도착한 순서에 따라 입력큐에 저장한다.As such, the input queue 432 and the output queue 434 are placed between the client 410 and the agent 440, and when the client 410 sends a request, the input queue 432 and the output queue 434 are stored in the input queue in the order of arrival.
그러면, 에이전트(440)는 입력큐(432)를 폴링(Polling)하여 요청함수의 저장순서에 따라 순차적으로 이벤트 처리한다(S330).Then, the agent 440 polls the input queue 432 and processes the events sequentially according to the storage order of the request function (S330).
단계 S330에서 요청함수에 따른 이벤트가 수행되면, 에이전트(440)는 이벤트 수행에 따른 응답메시지를 출력큐(434)에 순차적으로 저장한다. 이때 응답메시지는 해당 이벤트를 요청한 클라이언트에 대한 인덱싱을 포함하여야 한다. 이는 수신타겟이 되며, 해당 응답메시지가 전달될 목적지를 지시하게 된다(S340).When the event according to the request function is performed in step S330, the agent 440 sequentially stores the response message according to the event execution in the output queue 434. In this case, the response message should include indexing for the client that requested the event. This becomes the reception target, and indicates the destination to which the corresponding response message will be delivered (S340).
요청된 이벤트 수행시 네트워크장비(420)에의 엑세스가 요구되지 않는 경우, 단계 S340에서 출력큐(434)에 저장된 응답메시지는 수신타겟으로 지시되는 클라이언트(410)로 전달된다(S380).If access to the network device 420 is not required when the requested event is performed, the response message stored in the output queue 434 in step S340 is delivered to the client 410 indicated as a reception target (S380).
이로써 클라이언트(410)의 요청에 대한 에이전트(440)의 응답이 이루어지게 된다. 본 발명은 이러한 체계로 작용할 수 있다.As a result, the agent 440 responds to the request of the client 410. The present invention can work with this system.
그런데 단계 S330에서 에이전트(440)가 입력큐(432)를 폴링하여 수신한 이벤트 수행시, 종래 비동기식 애플리케이션의 경우에서와 같이 네트워크장비(420)에의 엑세스를 필요로 하는 경우가 있다.However, when performing an event received by the agent 440 by polling the input queue 432 in step S330, there is a case where access to the network device 420 is required as in the case of the conventional asynchronous application.
이러한 경우에 에이전트(440)는 단계 S340에서 해당 네트워크장비(420)를 수신타겟으로 지정하여 출력큐(434)로 요청메시지를 전달한다. 바람직하게는 응답메시지중에서 수신타겟의 타겟아이디(target id)가 포함된 헤더(header)를 별도의 테이블에 저장하여 관리한다.In this case, the agent 440 designates the corresponding network device 420 as a reception target in step S340 and transmits a request message to the output queue 434. Preferably, in the response message, a header including a target ID of a reception target is stored and managed in a separate table.
응답메시지의 헤더 정보를 관리하기 위한 프로그램 모듈을 예시하면 다음과 같다.An example of a program module for managing header information of a response message is as follows.
if(입력큐에 엘리먼트가 존재하면)if (if an element exists in the input queue)
{{
입력큐로부터 popPop from the input queue
요청된 이벤트 수행Perform the requested event
if(응답메시지가 제한된 크기를 넘지 않으면)if (when the response message does not exceed the limited size)
{{
응답메시지의 헤더정보(target id 포함)를 헤더정보 테이블에 저장Store header information (including target id) of response message in header information table
출력큐에 pushPush to output queue
}}
}}
예시된 바와 같은 프로그램 모듈을 적용하게 되면, 출력큐(434)에 저장된 응답메시지는 헤더정보 테이블에서 타겟아이디를 참조하여 해당 타겟으로 보내진다. 이때 타겟은 클라이언트(410)이거나 네트워크장비(420)일 수 있다.When applying the program module as illustrated, the response message stored in the output queue 434 is sent to the target with reference to the target ID in the header information table. In this case, the target may be the client 410 or the network device 420.
그러므로 응답메시지의 타겟아이디를 검색하여 수신타겟이 네트워크장비(420)인지를 판단하는 단계가 요구된다. 이때 수신타겟이 네트워크장비(420)가 아닌 것으로 판정되면, 단계 S380을 수행하여 해당 응답메시지는 클라이언트(410)로 보내지게 된다(S350).Therefore, a step of determining whether the reception target is the network device 420 by searching the target ID of the response message is required. At this time, if it is determined that the reception target is not the network device 420, the corresponding response message is sent to the client 410 by performing step S380 (S350).
단계 S350에서 수신타겟이 네트워크장비(420)임이 판정되면 해당 응답메시지는 네트워크장비(420)로 전달된다. 이러한 응답메시지는 에이전트로부터 네트워크장비(420)로의 이벤트 수행 요청에 해당한다.If it is determined in step S350 that the reception target is the network device 420, the corresponding response message is transmitted to the network device (420). This response message corresponds to an event execution request from the agent to the network device 420.
네트워크장비(420)로 보내진 메시지가 처리되어 그에 대한 응답이 도래하게 되면, 에이전트(440)는 클라이언트(410)를 수신타겟으로 하는 헤더를 구성한다(S360~S370).When the message sent to the network device 420 is processed and a response is received, the agent 440 constructs a header for receiving the client 410 (S360 to S370).
단계 S370이 수행된 후, 에이전트(440)는 단계 S340으로 복귀하여 해당 헤더를 포함하는 응답메시지를 구성하고 출력큐(434)에 저장함으로써 응답메시지가 클라이언트(410)로 전달되도록 한다.After step S370 is performed, the agent 440 returns to step S340 to construct a response message including the corresponding header and store it in the output queue 434 so that the response message is delivered to the client 410.
따라서 에이전트(440)는 클라이언트(410)로부터의 요청을 받아 이를 처리하여 네트워크장비(420)로 보내고, 다시 응답을 받아 클라이언트(410)로 보내는 일련의 과정을 모두 관리하지 않아도 된다. 에이전트(440)는 단지 큐(430)로부터 이벤트를 전달받아 헤더정보와 함께 다시 큐(430)에 넣어주기만 하면 되며, 큐(430)에서 메시지에 포함된 헤더의 타겟아이디 정보를 참조하여 해당 타겟으로 응답메시지를 전달하게 된다.Accordingly, the agent 440 does not have to manage all the processes of receiving the request from the client 410, processing it, sending it to the network device 420, and receiving the response and sending the response back to the client 410. The agent 440 only needs to receive an event from the queue 430 and put it back into the queue 430 together with the header information. The agent 440 refers to the target ID information of the header included in the message to the corresponding target. It will send a response message.
출력큐(434)가 응답메시지를 헤더정보에 따라 수신타겟으로 전달하는 프로그램 모듈을 예시하면 다음과 같다.If the output queue 434 illustrates a program module for transmitting a response message to the receiving target according to the header information as follows.
if(출력큐에 엘리먼트가 있다면)if (if there are elements in the output queue)
{{
출력큐로부터 popPop from the output queue
해당 헤더정보 테이블을 참조하여 타겟아이디가 지시하는 타겟으로 메시지 전달Message is delivered to target indicated by target ID referring to the header information table.
}}
이상 설명한 본 발명의 큐를 통한 클라이언트와 에이전트간의 트랜잭션 순차인덱싱 방법을 적용하게 되면, 서버/클라이언트 시스템에서 클라이언트의 요청을 큐에 저장한 후 이를 순차적으로 엑세스하여 처리함으로써 에이전트가 요청을 받아들이는 과정과 이를 처리하여 내보내는 과정을 서로 독립적으로 운영할 수 있다.When applying the transaction sequential indexing method between the client and the agent through the queue of the present invention described above, the process of accepting the request by the agent by storing the client's request in the queue and sequentially accessing and processing the request from the server and the client; This process can be handled independently of each other.
따라서 본 발명은, 에이전트를 통해 이벤트를 처리하는 경우 네트워크장비나 데이터베이스를 거쳐 응답이 올 때까지 기다린 후 다음 번 요청을 받아들여야 하는 종래의 비동기식 애플리케이션의 지연 문제를 해결하는 효과가 있다.Therefore, the present invention has the effect of solving the delay problem of the conventional asynchronous application that must wait for a response after receiving a response through the network equipment or database when processing the event through the agent.
이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 하기 특허청구범위를 한정하는 것이 아니다.Although the preferred embodiment of the present invention has been described above, the present invention may use various changes, modifications, and equivalents. It is clear that the present invention can be applied in the same manner by appropriately modifying the above embodiments. Therefore, the above description does not limit the scope of the following claims.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0039806A KR100397503B1 (en) | 2001-07-04 | 2001-07-04 | Sequential transaction indexing method between client and agent by using queue |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0039806A KR100397503B1 (en) | 2001-07-04 | 2001-07-04 | Sequential transaction indexing method between client and agent by using queue |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030011392A KR20030011392A (en) | 2003-02-11 |
KR100397503B1 true KR100397503B1 (en) | 2003-09-13 |
Family
ID=27713388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0039806A KR100397503B1 (en) | 2001-07-04 | 2001-07-04 | Sequential transaction indexing method between client and agent by using queue |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100397503B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9558030B2 (en) | 2011-11-09 | 2017-01-31 | Intel Corporation | Method, apparatus, and system to handle transactions received after a configuration change request |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0916417A (en) * | 1995-06-27 | 1997-01-17 | Hitachi Ltd | Method and system for message communication |
KR19990053527A (en) * | 1997-12-24 | 1999-07-15 | 전주범 | Client-server communication method using multilevel priority queue |
KR19990053508A (en) * | 1997-12-24 | 1999-07-15 | 전주범 | Full-duplex communication method between tasks using connection task |
KR19990053526A (en) * | 1997-12-24 | 1999-07-15 | 전주범 | Full duplex communication between tasks using multilevel priority queue |
KR19990053528A (en) * | 1997-12-24 | 1999-07-15 | 전주범 | Multiple resource sharing method in real time system |
-
2001
- 2001-07-04 KR KR10-2001-0039806A patent/KR100397503B1/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0916417A (en) * | 1995-06-27 | 1997-01-17 | Hitachi Ltd | Method and system for message communication |
KR19990053527A (en) * | 1997-12-24 | 1999-07-15 | 전주범 | Client-server communication method using multilevel priority queue |
KR19990053508A (en) * | 1997-12-24 | 1999-07-15 | 전주범 | Full-duplex communication method between tasks using connection task |
KR19990053526A (en) * | 1997-12-24 | 1999-07-15 | 전주범 | Full duplex communication between tasks using multilevel priority queue |
KR19990053528A (en) * | 1997-12-24 | 1999-07-15 | 전주범 | Multiple resource sharing method in real time system |
Also Published As
Publication number | Publication date |
---|---|
KR20030011392A (en) | 2003-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8190743B2 (en) | Most eligible server in a common work queue environment | |
US5787300A (en) | Method and apparatus for interprocess communications in a database environment | |
US8181183B2 (en) | Method, system and program products for managing thread pools of a computing environment to avoid deadlock situations | |
JP3691515B2 (en) | Event distribution apparatus and method in operating system | |
US6557046B1 (en) | Method and system for providing an event system infrastructure | |
US5781741A (en) | Message communications system in a parallel computer | |
US20050138230A1 (en) | Method, apparatus and program product for low latency I/O adapter queuing in a computer system | |
US20040225721A1 (en) | Mirror queue in a shared queue environment | |
KR19980063407A (en) | High-availability computer server system | |
US20040252709A1 (en) | System having a plurality of threads being allocatable to a send or receive queue | |
EP1191438A2 (en) | Web server in-kernel interface to data transport system and cache manager | |
JP3308026B2 (en) | Dual process display server system | |
WO2017032152A1 (en) | Method for writing data into storage device and storage device | |
US6934761B1 (en) | User level web server cache control of in-kernel http cache | |
US9537940B2 (en) | Exchange of information between processing servers | |
US9374416B2 (en) | Universal architecture for client management extensions on monitoring, control, and configuration | |
KR100397503B1 (en) | Sequential transaction indexing method between client and agent by using queue | |
US6668279B1 (en) | User level web server in-kernel network I/O accelerator | |
CN111738721A (en) | Block chain transaction monitoring method and related device | |
CN107277088B (en) | High-concurrency service request processing system and method | |
US20020169881A1 (en) | Method and apparatus for distributed access to services in a network data processing system | |
CN113760986A (en) | Data query method, device, equipment and storage medium | |
JP3950752B2 (en) | apparatus | |
JPS62126457A (en) | Distributed data processing system | |
US8037249B1 (en) | Asynchronous memory access queuing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
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: 20120713 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20130716 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |