KR100508157B1 - 다중 에이전트 구조의 클라이언트와 서버 시스템 간의블록데이터 전송 방법 - Google Patents
다중 에이전트 구조의 클라이언트와 서버 시스템 간의블록데이터 전송 방법 Download PDFInfo
- Publication number
- KR100508157B1 KR100508157B1 KR10-2003-0020366A KR20030020366A KR100508157B1 KR 100508157 B1 KR100508157 B1 KR 100508157B1 KR 20030020366 A KR20030020366 A KR 20030020366A KR 100508157 B1 KR100508157 B1 KR 100508157B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- agent
- console
- amount
- transmission
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
본 발명에서는 각각의 에이전트가 자신이 전송해야 할 데이터의 양으로부터 한번의 연결로 콘솔에 보낼 데이터의 송신요구량을 동적으로 결정한다. 에이전트는 보내야 할 데이터가 콘솔로 다 전송될 때까지 데이터를 일괄적으로 전송한다. 한번에 전송할 데이터양은 남아있는 로그의 양을 기대전송회수로 나눈 값이 된다. 마지막 데이터 블록을 전송하고 나서, 에이전트는 EOF를 전송한다. 콘솔은 EOF가 올 때까지 하나의 에이전트로부터 계속해서 데이터를 수신하여 저장한다. EOF를 수신한 콘솔은 다른 에이전트로 데이터 전송을 의뢰하게 된다.
Description
본 발명은 다중 에이전트 구조의 클라이언트-서버 시스템간의 블록 데이터 전송 방법에 관한 것으로서, 더욱 상세하게는 에이전트에서 발생한 대량의 전송 데이터를 전송 데이터 양에 따른 부하를 측정하여 효율적으로 전송하는 방법에 관한 것이다.
도 1과 같은 구조의 랜(LAN) 환경에서 운용되는 다수의 에이전트(A1, A2, ..., An)와 하나의 콘솔(C1)에서 각각의 에이전트(Ai)는 자신이 관리하는 네트워크(Ni)와 서버들에서 발생하는 데이터(로그) 정보를 콘솔(C1)로 실시간으로 전송하고자 한다. 종래에는, 이러한 경우에 콘솔(C1)이 다수의 에이전트를 관리하기 위해 콘솔(C1)과 에이전트(A1, A2, ..., An) 간에 일정 단위의 데이터(Di)를 전송할 때마다 전송에 필요한 연결을 맺고 끊는 것(송신, 승인)을 반복함으로써 전체 데이터(D1, D2, ..., Dm)를 전송한다. 또한, 콘솔(C1)은 여러 에이전트에 대한 시간 분배를 위하여 데이터 전송에 주어진 일정한 시간이 지나면, 데이터 전송을 위한 연결을 다시 시도하여여 한다.
이 과정을 도 2를 참조하여 설명한다.
우선, 콘솔(C1)에서 특정 에이전트(Ai)에게 데이터 전송을 의뢰하면(201), 해당 에이전트(Ai)는 이를 수신하고 데이터 전송 요청을 승인하게 된다(203). 다음으로, 에이전트(Ai)는 전송할 데이터가 있는지를 확인한 후(205), 해당 데이터(250)를 일정한 용량의 단위 데이터로 나누어 순차적으로 클라이언트로 전송한다(207,..,211).
각 단위 데이터의 전송 과정은 다음과 같다. 먼저, 에이전트(Ai)에서 데이터(Di)를 전송하면, 콘솔(C1)은 해당 데이터가 수신되었음을 확인하는 응답신호(Ack)를 해당 에이전트(Ai)로 전송한다. 응답신호를 수신한 에이전트(Ai)는 다음번 단위 데이터(Di+1)를 전송한다. 이와 같은 과정을 반복함으로써 전송할 데이터(250)를 여러 번에 나누어 전송하게 된다.
한편, 콘솔(C1)은 여러 에이전트들에 대한 시간 분배를 위해 하나의 에이전트의 데이터 전송에 필요한 시간을 제한한다. 즉, 하나의 에이전트와 데이터 전송중에 해당 에이전트에 대해서 주어진 시간(given_time)이 경과하였는지를 확인하고(213), 주어진 시간이 지나지 않았으면 데이터 수신을 계속하고(215), 주어진 시간이 지났으면 일단 연결되었던 에이전트와의 연결을 끊고 데이터 전송을 위한 연결을 다시 시도한다(201).
따라서, 만약 특정 에이전트에 전송해야 할 대용량의 데이터가 존재할 경우에, 이에 상응하여 전송 시간이 상당하게 소요되어 반복적인 전송 시간의 획득이 필요하게 된다. 상술한 바와 같이 전송 시간의 획득을 위해서는 일정한 전송 시간의 종료 후, 에이전트와 콘솔간의 끊음/접속을 반복하여야 하는 번거로움이 있게 되어 데이터 전송에 소요되는 시간이 낭비되게 된다.
상기와 같은 문제점을 해결하기 위한 본 발명은, 데이터 전송에 있어 전송 시간에 구애받지 않고 에이전트에 발생한 요구 데이터에 따라 콘솔과의 접속을 동적으로 유지함으로써 효율적인 데이터 전송이 이루어지도록 하는 데이터 전송 방법을 제공하는 데에 그 목적이 있다.
위와 같은 목적을 달성하기 위한 본 발명의 블록데이터 전송방법은, 콘솔에서 특정 에이전트로 데이터 전송을 의뢰하는 단계와, 상기 특정 에이전트에서 데이터 전송 요청을 수락하고 송신 데이터를 결정하는 단계와, 상기 송신할 데이터를 소정의 횟수로 나누어 한 번에 송신할 송신 데이터의 양을 결정하는 단계와, 에이전트에서 송신할 데이터를 상기 송신 데이터의 양만큼씩 소정의 횟수로 연속적으로 콘솔로 전송하는 단계와, 에이전트에서 데이터 전송을 완료한 경우 콘솔로 EOF를 송신하고, 콘솔에서 상기 EOF를 수신한 경우 데이터 전송을 종료하는 단계를 구비하는 특징이 있다. 여기서, 상기 송신 데이터의 양이 소정의 데이터 양을 넘어서는 경우에는 상기 소정의 데이터양을 상기 송신 데이터의 양으로 정할 수 있다.본 발명에서는 각각의 에이전트가 자신이 전송해야 할 데이터의 양으로부터 한번의 연결로 콘솔에 보낼 데이터의 송신요구량을 동적으로 결정한다. 에이전트는 보내야 할 데이터가 콘솔로 다 전송될 때까지 데이터를 일괄적으로 전송하며 한 번에 전송할 데이터양은 남아있는 로그의 양을 기대전송회수로 나눈 값이 된다. 마지막 데이터 블록을 전송하고 나서 에이전트는 콘솔로 EOF를 전송하는데, 콘솔은 이와 같은 EOF가 올 때까지 하나의 에이전트로부터 계속해서 데이터를 수신하여 저장한다. EOF를 수신한 콘솔은 다른 에이전트로 데이터 전송을 의뢰하게 된다.
이하, 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
도 3은 본 발명의 방법에 따른 에이전트에서 콘솔로의 데이터 전송 흐름을 보여주는 흐름도이다.
우선, 콘솔(C1)이 특정 에이전트(Ai)에게 데이터 전송을 의뢰하면(301), 해당 에이전트(Ai)는 이를 수신하고 데이터 전송 요청을 승인하게 된다(303). 다음으로, 에이전트(Ai)는 전송할 데이터가 있는지를 확인한다(305). 송신할 데이터가 있으면, 에이전트(Ai)는 한번에 송신할 데이터의 양(송신요구량)을 결정한다(307). 송신요구량은 다음의 식에 의해 계산한다.
여기에서 기대전송회수는 정수값을 가지며, 사용자가 정의하여 사용한다. 예를 들어, 기대전송회수가 1인 경우에는 남아있는 로그의 양을 1회에 모두 전송하게 되며, 10인 경우에는 10회로 나누어 전송하게 된다.
한번에 송신할 데이터의 양이 정해지면, 에이전트(Ai)는 한번에 송신요구량씩 기대전송회수만큼 데이터를 전송한다(309, 311). 모든 데이터를 전송하고 나면, 에이전트(Ai)는 EOF을 전송한다(313).
콘솔(C1)은 데이터 전송을 의뢰한 에이전트(Ai)로부터 데이터를 수신하면서(315) 수신한 데이터가 EOF인지를 확인한다(317). 수신한 데이터가 EOF이면, 콘솔(C1)은 현재의 에이전트(Ai)와의 데이터 통신을 종료하고 다음번 에이전트(Ai+1)에게 데이터 전송을 의뢰하게 된다.
한편, 이상의 설명에서는 로그 데이터의 양에 상관없이 로그 데이터를 기대전송회수만큼 나누어서 전송하도록 하였지만, 특정 에이전트의 로그 데이터의 양이 많아서 해당 에이전트와의 데이터 통신을 위하여 다른 에이전트와의 데이터 통신이 많이 밀리는 것을 방지하기 위하여, 한번에 송신할 데이터양을 결정할 때 수학식 1에 의해 계산된 양이 일정량 이상이 되지 않도록 제한할 수도 있다. 즉, 최대 송신요구량을 100으로 설정한 상태에서, 현재의 로그의 양이 1000이고 기대전송회수가 5라면, 수학식 1에 따르면 송신요구량은 200이 된다. 이는 최대 송신요구량을 넘어서는 것이므로, 한번에 100씩 5회를 전송하면 결국, 콘솔과의 1회의 통신로 설정후 500에 해당하는 데이터를 보내게 된다. 그후 콘솔이 다른 에이전트와의 통신을 마치고 다시 이 에이전트로 데이터 전송을 의뢰하면, 이 에이전트는 남아있는 로그를 전송하게 된다.
이상, 본 발명을 몇가지 예를 들어 설명하였지만, 본 발명은 특정 실시예에 한정되는 것은 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면, 본 발명의 사상에서 벗어나지 않으면서 많은 수정과 변형을 가할 수 있음을 이해할 것이다.
본 발명에 따르면, 에이전트에서 전송할 데이터의 양의 많고 적음에 따라 한번에 전송하는 데이터의 양을 조절하여 일정한 회수만큼 데이터를 전송함으로써 한번의 데이터 전송로 설정후에 모든 데이터를 전송할 수 있으므로, 데이터 전송 효율이 높아진다.
또한, 모든 데이터를 전송한 다음에 EOF를 보내어 데이터의 전송 종료를 알림으로써, 한번의 데이터 전송시마다 콘솔로부터 응답신호를 받는 과정이 없어지므로 데이터 전송 효율이 높아진다.
도 1은 다중 에이전트 구조의 클라이언트와 서버 시스템의 구성을 보여주는 네트워크 다아아그램이다.
도 2는 종래 기술의 에이전트에서 콘솔로의 데이터 전송 흐름을 보여주는 흐름도이다.
도 3은 본 발명의 방법에 따른 에이전트에서 콘솔로의 데이터 전송 흐름을 보여주는 흐름도이다.
Claims (3)
- 삭제
- 하나의 콘솔과 다수의 에이전트 사이에서 블록데이터를 전송하는 방법에 있어서,콘솔에서 특정 에이전트로 데이터 전송을 의뢰하는 단계와,상기 특정 에이전트에서 데이터 전송 요청을 수락하고 송신 데이터를 결정하는 단계와,상기 송신할 데이터를 소정의 횟수로 나누어 한 번에 송신할 송신 데이터의 양을 결정하는 단계와,에이전트에서 송신할 데이터를 상기 송신 데이터의 양만큼씩 소정의 횟수로 연속적으로 콘솔로 전송하는 단계와,에이전트에서 데이터 전송을 완료한 경우 콘솔로 EOF를 송신하고, 콘솔에서 상기 EOF를 수신한 경우 데이터 전송을 종료하는 단계를 구비하는 블록데이터 전송방법.
- 제2항에 있어서,상기 송신 데이터의 양이 소정의 데이터 양을 넘어서는 경우에는 상기 소정의 데이터양을 상기 송신 데이터의 양으로 정하는 것을 특징으로 하는 블록데이터 전송방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0020366A KR100508157B1 (ko) | 2003-04-01 | 2003-04-01 | 다중 에이전트 구조의 클라이언트와 서버 시스템 간의블록데이터 전송 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0020366A KR100508157B1 (ko) | 2003-04-01 | 2003-04-01 | 다중 에이전트 구조의 클라이언트와 서버 시스템 간의블록데이터 전송 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040085613A KR20040085613A (ko) | 2004-10-08 |
KR100508157B1 true KR100508157B1 (ko) | 2005-08-17 |
Family
ID=37368577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-0020366A KR100508157B1 (ko) | 2003-04-01 | 2003-04-01 | 다중 에이전트 구조의 클라이언트와 서버 시스템 간의블록데이터 전송 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100508157B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110264763A1 (en) * | 2010-04-23 | 2011-10-27 | Yu Chun-Ta | Method for retrieving object from device management client and associated device management system |
-
2003
- 2003-04-01 KR KR10-2003-0020366A patent/KR100508157B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20040085613A (ko) | 2004-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6006017A (en) | System for determining the frequency of repetitions of polling active stations relative to the polling of inactive stations | |
EP0074864A2 (en) | System and method for name-lookup in a local area network data communication system | |
CN110808948B (zh) | 远程过程调用方法、装置及系统 | |
JPS6048638A (ja) | サ−ビス要求を探知するためのポ−リング方法 | |
CN1175031A (zh) | 代理服务器装置、代理服务器系统和服务器装置 | |
CN101242330A (zh) | 电子设备、管理服务器及其控制方法 | |
JPS63500764A (ja) | 優先ランダム分割及び競合検出を備えたパケット交換ロ−カル回路綱 | |
US7206882B2 (en) | Triggered communication network for CANOpen networks | |
CN101449539B (zh) | 配置连接的方法、无线电信网和移动终端 | |
CN101510872B (zh) | 远程用户拨号认证服务客户端、服务器、发送/接收方法 | |
KR100508157B1 (ko) | 다중 에이전트 구조의 클라이언트와 서버 시스템 간의블록데이터 전송 방법 | |
US6859895B2 (en) | Method of monitoring life-or-death state of host computer connected to network and life-and-death monitoring system | |
US6557034B1 (en) | Communication control device transmitting data based on internal bus speed of receiving computer | |
CA2414039A1 (en) | Auto-detecting universal appliance communication controller | |
CN109831467B (zh) | 数据传输方法、设备及系统 | |
CN114443537B (zh) | 一种pcie信号发送端参数配置方法、装置、设备及介质 | |
US7020156B2 (en) | Multiple device communications | |
KR100274848B1 (ko) | 망관리 시스템에서의 망관리 방법 | |
JP2002229886A (ja) | データ送受信方法 | |
KR100901703B1 (ko) | 개방형 비동기 응용 서비스 이벤트 처리 방법 및 이를구현한 개방형 웹서비스 게이트웨이 | |
CN117640220A (zh) | 一种数据传输安全管理方法及装置 | |
US20050101179A1 (en) | Apparatus for and method of channel resource management | |
KR100282057B1 (ko) | 단말기간의 마스터/슬레이브 결정시 듀타임값설정 방법 | |
JPH11316717A (ja) | データ転送方式 | |
KR100773678B1 (ko) | 가상 네트워크 형성을 위한 단말기 |
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 | ||
LAPS | Lapse due to unpaid annual fee |