KR100556716B1 - System and method for distribution information sharing among nodes connected each other via network - Google Patents
System and method for distribution information sharing among nodes connected each other via network Download PDFInfo
- Publication number
- KR100556716B1 KR100556716B1 KR1020030020555A KR20030020555A KR100556716B1 KR 100556716 B1 KR100556716 B1 KR 100556716B1 KR 1020030020555 A KR1020030020555 A KR 1020030020555A KR 20030020555 A KR20030020555 A KR 20030020555A KR 100556716 B1 KR100556716 B1 KR 100556716B1
- Authority
- KR
- South Korea
- Prior art keywords
- terminal
- terminals
- mobile agent
- network
- task
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 네트워크 상에서 서로 연결된 각 단말간에 정보(data)를 검색, 전송, 공유하는 등의 작업을 수행함에 있어서, 각 단말을 이동하면서 각종 작업을 처리하는 이동 에이전트(mobile agent)를 사용하여, 단말측, 서버측 및 네트워크 전체의 부담을 대폭적으로 경감하는 동시에 종래의 기술에 비하여 효율적인 작업 처리가 가능한 네트워크상에서 서로 연결된 복수 단말간의 분산 정보 공유 방법 및 시스템에 관한 것으로서, 네트워크를 통해 서로 연결된 복수개의 단말들 중 하나인 제1단말이 네트워크를 통해 상기 단말들 중 또 다른 단말인 제2단말에 접속하여 상기 제2단말에 접속되어 있는 모든 단말들의 IP 주소를 제공받는 IP 주소 제공 단계와, 상기 제1단말이 상기 제공받은 IP 주소에 의거하여 소정 기준에 따라 직접 접속할 적어도 어느 하나 이상의 제3단말을 선택하는 직접 연결 대상 선택 단계와, 상기 제1단말이 상기 선택된 제3단말측으로 소정 작업을 수행하도록 설정된 이동 에이전트를 전송하는 이동 에이전트 전송 단계와, 상기 이동 에이전트가 상기 제3단말에서 상기 설정된 소정 작업을 수행하는 작업 수행 단계와, 상기 제3단말에서 상기 수행된 작업의 결과를 상기 제1단말로 전송하는 작업 결과 전송 단계를 구비한다.The present invention uses a mobile agent that processes various tasks while moving each terminal in performing tasks such as searching, transmitting, and sharing information (data) between terminals connected to each other on a network. The present invention relates to a distributed information sharing method and system among a plurality of terminals connected to each other on a network which can greatly reduce the burden on the side, the server side, and the network as a whole, and at the same time, which is more efficient than the conventional technology. An IP address providing step of receiving one of an IP address of all terminals connected to the second terminal by accessing a second terminal, which is another terminal among the terminals, through a network; At least one or more terminals to be directly connected according to a predetermined criterion based on the provided IP address A direct connection target selection step of selecting a third terminal, a mobile agent transmission step of transmitting a mobile agent configured to perform a predetermined task by the first terminal to the selected third terminal side, and the mobile agent at the third terminal A task execution step of performing the predetermined task; and a task result transmission step of transmitting a result of the task performed in the third terminal to the first terminal.
P2P, 모바일 에이전트P2P, Mobile Agent
Description
도 1은 종래의 혼합형 P2P방법을 설명하기 위한 도면,1 is a view for explaining a conventional hybrid P2P method,
도 2는 종래의 순수 P2P 방법을 설명하기 위한 도면,2 is a view for explaining a conventional pure P2P method,
도 3은 본 발명의 시스템(10)의 구성의 일실시예를 나타낸 블록도,3 is a block diagram showing an embodiment of the configuration of the
도 4는 단말과 시스템의 구체적인 구성 및 연결관계를 나타낸 구성도,4 is a block diagram showing a specific configuration and connection between the terminal and the system;
도 5는 메시지 송수신 처리를 설명하기 위한 도면,5 is a diagram for explaining message transmission and reception processing;
도 6은 메시지 형식의 일예를 나타낸 도면,6 is a diagram illustrating an example of a message format;
도 7은 이벤트 처리 과정을 나타낸 도면,7 is a diagram illustrating an event processing process;
도 8 내지 도 11은 본 발명의 방법의 실시예들을 나타낸 흐름도이다.8-11 are flowcharts illustrating embodiments of the method of the present invention.
<도면 주요 부분의 부호에 대한 설명><Description of Signs of Major Parts of Drawings>
11...IP 서버, 12...모니터 서버,11 ... IP server, 12 ... monitor server,
13...에이전트 서버, 14...모바일 에이전트13 ... Agent Server, 14 ... Mobile Agent
본 발명은 네트워크상에서의 정보 공유 방법 및 시스템에 관한 것으로서, 보다 상세하게 설명하면, 네트워크 상에서 서로 연결된 각 단말간에 분산된 정보(data, information)를 검색, 전송, 공유하는 등의 작업을 수행함에 있어서, 각 단말을 이동하면서 각종 작업을 처리하는 이동 에이전트(mobile agent)를 사용하여, 단말측, 서버측 및 네트워크 전체의 부담을 대폭적으로 경감하는 동시에 종래의 기술에 비하여 효율적인 작업 처리가 가능한 네트워크상에서 서로 연결된 복수 단말간의 분산 정보 공유 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for sharing information on a network. More specifically, the present invention relates to a method for searching, transmitting, and sharing information (data, information) distributed between terminals connected to each other on a network. By using a mobile agent that handles various tasks while moving each terminal, the burden on the terminal side, the server side, and the entire network can be greatly reduced, and at the same time, the network can be efficiently processed compared to the conventional technology. A method and system for sharing distributed information among a plurality of connected terminals.
네트워크를 통해 연결된 단말간에서 원하는 정보를 검색하고 전송하는 등의 작업을 수행하는 방법으로서 단말간의 직접 연결을 통해 특정 작업을 수행하는 이른바 P2P(Peer to Peer) 모델이 제시되고 있다. P2P라는 용어의 의미는 경우에 따라 조금씩 다르게 사용되고 있는 경우가 있으나, 본 명세서에서는 네트워크상의 클라이언트(client, node)간에 서버의 경유를 통해 연결되거나 또는 서버의 경유없이 직접 연결되어 양 클라이언트가 서로의 자원을 공유하고 특정 작업을 수행하는 모델을 의미하는 것으로 사용한다.As a method of performing a task such as searching for and transmitting desired information between terminals connected through a network, a so-called peer-to-peer model for performing a specific task through a direct connection between terminals has been proposed. Although the meaning of the term P2P may be used slightly differently in some cases, in the present specification, both clients (clients, nodes) on a network are connected through a server or directly without a server, so that both clients connect to each other's resources. Use it to mean a model that shares and performs certain tasks.
종래 제안되고 있는 P2P 모델은 최초 연결시 필요한 상대방 또는 정보를 찾기 위해 서버를 경유하는 혼합형(Hybrid) P2P와 중앙 서버의 개입 없이 직접 클라 이언트간에 연결되는 순수(Pure) P2P 2가지로 크게 대별할 수 있다.The P2P model proposed in the prior art can be roughly classified into two types, a hybrid P2P via a server to find a counterpart or information required for the first connection, and a pure P2P connected directly between clients without the intervention of a central server. have.
도 1은 혼합형 P2P방법을 설명하기 위한 도면이다. 1 is a view for explaining a hybrid P2P method.
도 1a, 1b, 1c를 참조하면, 중앙서버(11)와 통신망(12)을 통해 연결된 다수의 단말들(13, 14, 15)을 포함한다. 각 단말들(13, 14, 15)은 중앙서버(11)를 통해서 연결되어 상호간에 필요한 정보를 주고받을 수 있도록 연결된다. 여기서, 제 1 및 제 3단말(13, 14, 15)은 중앙서버(11)에 자신의 IP 주소 및 공유 자료 목록을 등록한다. 그 중, 제 1단말(13)은 중앙서버(11)로 필요한 자료를 요청하는 자료요청자이며, 중앙서버(11)로부터 자료를 보유한 제 3단말(15)의 자료 목록과 IP주소를 제공받아 제 3단말(15)로 자료를 요청한다. 그리고, 제 1단말(13)은 제 3단말(15)로부터 필요한 자료를 확보한다. 또한, 제 3단말(15)은 제 1단말(13)의 자료 요청시에 원하는 자료를 제 1단말(13)로 제공하는 자료제공자로 설정한다. 그리고, 중앙서버(11)는 검색을 위한 인덱스를 지원하고 P2P 참여자인 제 1 및 제 3단말의 인덱스(IP주소, 자료명 등)를 유지하는 인덱스서버의 역할을 한다. 1A, 1B, and 1C, a plurality of
도 1a를 참조하면, 각 단말들(13, 14, 15)은 P2P에 참여하기 위해 P2P 프로그램을 다운받아 실행하고 자신이 서비스할 디렉토리의 위치를 입력한다. 중앙서버(11)는 각 단말들(13, 14, 15)이 오픈한 디렉토리내의 파일 목록을 분석해 인덱스를 저장한다. 즉, 중앙서버(11)는 P2P 참여자인 제 1 및 제 3단말(13, 14, 15)로부터 IP주소와 디렉토리내에 저장된 자료 목록을 받아 등록하여 인덱스(index)를 부여한다. 이렇게 등록된 각 단말들(13, 14, 15)이 제공한 자료는 각 단말들(13, 14, 15)간에 공유할 수 있는 공유자료가 된다. Referring to FIG. 1A, each of the
도 1b를 참조하면, 제 1단말(13)은 중앙서버(11)로 통신망을 통해 자료를 요청한다. 그러면, 중앙서버(11)는 저장된 인덱스를 검색하여 검색한 결과를 제 1단말(13)로 전송한다. 여기서 중앙서버(11)는 검색결과 요청자료를 보관하고 있는 제 3단말(15)의 IP주소와 자료명을 제공한다. 이때 중앙서버(11)는 제 3단말(15)의 온라인 접속 여부 및 회선속도 등의 다양한 부가정보를 함께 제공할 수 있다. Referring to FIG. 1B, the
도 1c를 참조하면, 제 1단말(13)은 중앙서버(11)로부터 자료를 보관하고 있는 제 3단말(15)의 IP주소를 이용해 제 3단말(15)에 접속한다. 이후는 중앙서버(11)의 개입이 이루어지지 않으며, 제 1단말(13)은 제 3단말(15)로 원하는 자료를 요청하게 된다. 그리고, 제 3단말(15)은 제 1단말(13)이 요청한 자료를 제 1단말(13)로 전송한다. Referring to FIG. 1C, the
이러한 혼합형 P2P방법은 검색을 위한 인덱스서비스를 지원하고 기타 사용자의 온라인 접속 여부 등 부가정보를 제공한다. 또한, 혼합형 P2P방법은 웹방식의 서비스에 비해 중앙서버의 역할이 최소화되기 때문에 서버의 부담이 없으면서도 많은 사용자를 수용할 수 있다. The hybrid P2P method supports an index service for searching and provides additional information such as whether other users are online. In addition, the hybrid P2P method can accommodate a large number of users without burdening the server because the role of the central server is minimized as compared to the web type service.
현재, 이러한 혼합형 P2P를 사용하는 대표적인 서비스는 음악파일을 공유하는 냅스터와 소리바다이다. Currently, representative services using such a mixed P2P are Napster and Sori Sea, which share music files.
냅스터는 MP3파일 목록을 만들어 제공하고 서로의 컴퓨터를 연결해주는 서버를 운영한다. 사용자는 냅스터의 프로그램을 다운로드받아 인스톨하고 자신의 컴퓨터에 공유 디렉토리를 지정한다. 냅스터는 공유 디렉토리에서 MP3로 끝나는 모 든 확장자를 찾아낸 후 이용자 ID와 MP3음악 리스트를 냅스터 중앙서버로 가져간후, MP3파일 목록을 보관한다. 사용자는 가수이름, 음악곡명, 키워드 등으로 검색하여 일치한 음악을 찾아 요청(클릭)하면 그 음악을 보유하고 있는 컴퓨터와 자동으로 연결되어 다운로드가 가능하다. Napster runs a server that creates and provides a list of MP3 files and connects each other's computers. You download and install Napster's program and specify a shared directory on your computer. Napster finds all extensions ending with MP3 in the shared directory, imports the user ID and MP3 music list to the Napster central server, and keeps a list of MP3 files. When a user searches for a matched music by searching for a singer's name, a music song's name or a keyword, and requests (clicks), the user is automatically connected to the computer holding the music and can be downloaded.
소리바다는 냅스터와 유사한 MP3파일 교환 서비스로 사용자끼리 서로의 PC에 들어 있는 MP3를 검색하고 편리하게 다운로드할 수 있다. 다운로드가 끝나지 않은 상태에서도 실시간으로 음악을 즐길 수 있으면, 가수와 제목별 검색, 채팅도 가능하다. Soribada is a Napster-like MP3 file exchange service that allows users to search and conveniently download MP3s from each other's PCs. If you can enjoy music in real time even if the download is not finished, you can search by singer, title, and chat.
혼합형 P2P를 사용하는 또 다른 서비스는 전자상거래에 이용하는 오프너이다. Another service that uses hybrid P2P is an opener for e-commerce.
사용자는 오프너서비스를 제공하는 오픈포유(Open4u) 서버에 접속하여 P2P프로그램을 다운로드받아 설치한다. 구매자는 이 프로그램을 이용해 자신이 구매하고자하는 물품의 사양을 적어 메시지로 보낸다. 오픈포유서버는 구매자가 요청하는 사양의 물품을 제공할 수 있는 판매자의 IP주소를 구매자에게 전달한다. 구매자는 판매자의 IP주소를 이용해 P2P방식으로 각 판매자에게 견적요구서를 보내다. 그러면, 판매자는 견적서를 구매자에게 보내고 구매자는 견적서중의 하나를 선택하여 전자상거래가 이루어 진다. 여기서, 오픈포유서버는 최종 거래가 어느 조건으로 설립되었는지에 대한 정보만 확보하고 두 당사자간의 거래에는 개입하지 않는다. A user connects to an Open4u server that provides an opener service, downloads and installs a P2P program. The buyer uses this program to write down the specifications of the item they want to purchase and send it in a message. The Open Fore Server delivers to the buyer the IP address of the seller who can provide the item with the buyer's specifications. The buyer sends the quotation to each seller in a peer-to-peer manner using the seller's IP address. Then, the seller sends the quotation to the buyer, and the buyer selects one of the quotations and the e-commerce is made. Here, the Open Foreclosure Server only secures information on which conditions the final transaction was established and does not intervene in the transaction between the two parties.
하지만, 이러한 혼합형 P2P의 경우는 중앙서버에 의해 정보의 검색이 이루어 지므로 온라인상의 사용자가 많을 경우 중앙서버에 과중한 검색 로드가 걸릴 수 있으며, 이 경우 중앙서버의 증설로 추가의 설비비가 발생하는 문제점이 있었다. 또한, 중앙서버가 동작하지 않으면 모든 시스템이 동작하지 않는 문제점이 있었다. 혼합형 P2P는 또한, 중앙서버가 공유 정보의 집중식(centralized) 중개자의 역할을 하므로 저작권법에 위반될 수 있는 문제점이 있었다. However, in the case of such mixed P2P, the information is searched by the central server, so if there are many users online, the heavy load of the search may be heavy on the central server, and in this case, additional equipment cost is caused by the expansion of the central server. there was. In addition, there was a problem that all the systems do not operate if the central server does not work. Hybrid P2P also has a problem that the central server acts as a centralized mediator of shared information, which may violate copyright law.
한편, 도 2는 일반적인 순수형 P2P방법을 설명하기 위한 도면이다.2 is a diagram for explaining a general pure P2P method.
도 2a와 2b를 참조하면, 통신망(21)을 통해 다수의 단말들(22, 23, 24)이 연결되어 있다. 각 단말들(22, 23, 24)은 중앙서버가 관리하는 정보가 없이 통신망(21)을 통해 상호간에 필요한 자료를 주고받을 수 있다. 즉, 제 1 내지 제 3단말(22, 23, 24)은 설치하는 프로그램 자체에 검색기능을 내장하고 있어 보유하고 있는 IP주소를 가진 해당 단말에 직접 연결하여 자료를 주고받을 수 있다. 제 1단말(22)은 최소 하나 이상의 IP주소를 가지고 있다고 가정한다. 즉, 제 1단말(22)이 제 2단말(23)의 IP주소를 기 저장하고 있다는 가정하에, 제 1단말(22)은 제 2단말(23)로 필요한 자료를 요청하는 자료요청자이다. 제 2단말(23)은 제 1단말(22)로부터 자료요청을 받아 해당 자료가 보유되지 않은 경우 제 3단말(24)로 요청자료를 중개하는 중개자이다. 즉, 제 2단말(23)은 제 1단말(22)로부터 요청받은 자료가 없으므로, 요청자료를 제 3단말(24)의 IP로 전송하여 중개한다. 제 3단말(24)은 요청한 자료를 보유하고 있으므로, 보유에 대한 메시지를 제 1단말(22)로 전송하는 자료제공자이다. 따라서, 제 1단말(22)은 제 3단말의 자료 보유에 대한 메시지를 수신하여 제 3단말(24)로 자료를 요청한다. 그러면, 제 3단말(24)은 제 1단말(22)이 요청한 자료를 제 1단말(22)로 정송한다. 2A and 2B, a plurality of
도 2a를 참조하면, 제 1단말(22)은 기저장하고 있는 제 2단말(23)의 IP주소를 이용해 자료를 요청한다. 제 2단말(23)은 제 1단말(22)이 요청한 자료를 보유하는 경우는 목록명을 전송해준다. 그러나, 요청한 자료를 보유하지 않는 경우 제 2단말(23)은 제 3단말(24)로 자료 요청을 중개한다. 제 3단말(24)은 제 2단말(23)로부터 수신된 자료요청에 대한 자료를 보유하는 경우 자신의 IP주소와 해당 자료명을 제2 단말(23)로 전송하고 제2단말(23)은 다시 자료 요청자인 제 1단말(22)로 전송한다. Referring to FIG. 2A, the first terminal 22 requests data using the IP address of the
도 2b를 참조하면, 제 1단말(22)은 제 3단말(24)의 IP주소를 이용하여 제 3단말(24)과 접속하여 자료를 요청한다. 그러면, 제 3단말(24)은 제 1단말(22)이 요청한 자료를 제 1단말(22)로 전송한다. Referring to FIG. 2B, the
현재, 이러한 순수형 P2P를 사용하는 대표적인 서비스는 파일을 공유하는 누텔라이다.Currently, a representative service using such pure P2P is Nutella, which shares files.
누텔라(Gnutella)는 윈앰프(winamp)로 유명한 널소프트사의 서비스이다. 누텔라 소프트웨어 패키지중 하나를 웹을 통해 다운로드 받아 설치하여 컴퓨터를 서벤트(servent : server와 client의 합성어)로 만든다. 그리고 누텔라 네트웍 상의 다른 서벤트를 찾아서 서로 접속한다. 이들 서벤트의 주소는 여러 웹사이트, 채팅룸에서 찾을 수 있다. 누텔라는 이미지, 텍스트, 소프트웨어, MP3 등 여러 형태의 파일을 공유 할 수 있다. Gnutella is a Nullsoft service renowned for its winamp. Download and install one of the Gnutella software packages from the web to make the computer a server (servent: a combination of server and client). It finds other services on the Nutella network and connects them together. The addresses of these events can be found on various websites and chat rooms. Gnutella can share many types of files, including images, text, software, and MP3s.
하지만, 이러한 순수형 P2P의 경우는 메시지에 포함된 TTL(time to live)값 에 의해 메시지 전달의 깊이가 결정되는데 이러한 TTL값이 크면 대량의 메시지가 트리(tree) 형태로 전파되므로 스팸 형태의 메시지 발송이 우려되는 문제점이 있었다. 반면, TTL값이 작으면 전체 가입자에 대한 검색이 이루어지지 않아 원하는 정보에 대한 검색이 이루어지지 않는 문제점이 있었다. 또한, 중앙서버의 부재로 인하여 가입자에 대한 서비스 갱신이 어려우며, 장애에 대한 복구가 어려운 문제점이 있었다. 그리고, 최초의 검색대상인 사용자(peer)의 IP주소를 사용자가 찾아서 설정해야 하는 불편함이 있었다.However, in the case of pure P2P, the depth of message delivery is determined by the time to live (TTL) value included in the message. If this TTL value is large, a large amount of messages are propagated in the form of a tree. There was a problem that shipping is concerned. On the other hand, if the TTL value is small, there is a problem that the search for the desired information is not performed because the search for the entire subscriber is not performed. In addition, due to the absence of a central server it is difficult to update the service to the subscriber, there was a problem that is difficult to recover from the failure. In addition, there was an inconvenience that the user must find and set the IP address of the user (peer) that is the first search target.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 이동 에이전트를 사용함으로써 작업 수행시 부분적으로 네트워크가 차단되어도 무방하므로 네트워크 대역폭을 효율적으로 사용할 수 있는 동시에 네트워크의 부하를 현저하게 경감할 수 있는, 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산 정보 공유 방법 및 시스템을 제공하는 것을 목적으로 한다.
The present invention is to solve the above problems, the network may be partly blocked when performing the operation by using a mobile agent can effectively use the network bandwidth and at the same time significantly reduce the load on the network, the network An object of the present invention is to provide a method and system for sharing distributed information among a plurality of terminals connected to each other through a network.
이하, 첨부 도면을 참조하여 본 발명에 의한 실시예들을 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
우선, 도 3은 본 발명의 시스템(10)의 구성의 일실시예를 나타낸 블록도이 다. 도 1에 나타낸 바와 같이, 본 실시예에 따른 시스템(10)은 네트워크를 통해 연결된 단말에 구비되며, 각각 연결되는 단말들의 접속을 관리하고 접속된 단말로 각 단말의 IP 주소를 전송하는 IP 서버(11)와, 사용자 인터페이스를 제공하는 모니터 서버(12)와, 모바일 에이전트(14)의 생성 및 소멸을 관리하며, 모바일 에이전트(14)를 특정 단말로 전송하여 소정의 작업을 수행토록 하는 에이전트 서버(13)와, 상기 에이전트 서버(13)에 의해 네트워크를 통해 단말간을 이동하며 지정된 작업을 수행하는 이동 에이전트(14)를 포함한다.First, FIG. 3 is a block diagram showing an embodiment of the configuration of the
도 4는 이러한 단말과 시스템의 구체적인 구성 및 연결관계를 나타낸 구성도이다. 도 4에 나타낸 바와 같이, IP 서버(11)는 단말이 네트워크에 접속(on-line)할 때 자신에게 접속하는 각 단말(10)을 관리하며 단말의 요청에 따라 자신에게 연결된 단말의 IP 주소를 요청한 단말측으로 제공한다. 이러한 역할을 수행하는 단말을 일반적인 단말(피어,peer)과 구별하여 슈퍼피어(super peer)라고 칭하는 것으로 정의한다. 이러한 슈퍼피어로서의 역할을 수행하는 단말은 부하의 분산을 위해 자신에게 접속하여 등록하는 단말 개수의 상한선을 설정할 수 있으며 이 경우 소정 기준에 따라 다른 단말을 슈퍼피어로 지정할 수 있다.4 is a diagram illustrating a specific configuration and connection relationship between the terminal and the system. As shown in FIG. 4, the
한편, 도 3 및 도 4의 모니터 서버(12)는 모바일 에이전트를 생성하고 모바일 에이전트가 작업을 수행할 때 필요한 여러 가지 환경을 사용자가 설정할 수 있도록 하는 인터페이스를 제공한다. 모바일 에이전트가 작업을 수행함에 있어서 필요한 환경은 여정 리스트 , 응답 리스트, 여정 모드, 응답 모드 등이 있으며 이에 대해 구체적인 것은 후술한다. 또한 모니터 서버는 에이전트 서버(13)로부터 모바일 에이전트의 상태를 전달받아 사용자가 확인할 수 있도록 하는 기능도 수행한다.Meanwhile, the
도 3 및 도 4의 에이전트 서버(13)는 모바일 에이전트(14)의 생성, 소멸, 이동 및 정보 전송 작업을 관리한다. 또한 단말간의 각종 메시지 전달도 에이전트 서버(13)를 통해 이루어진다.The
도 3 및 도 4의 모바일 에이전트(14)는 네트워크를 통해 연결된 단말(10)간을 이동하며 특정한 작업을 수행하는데 기본적으로 생성, 이동, 작업 수행, 응답 및 소멸의 5가지 단계의 주기를 갖는 것이 일반적이다. 즉, 에이전트 서버(13)에 의해 생성되어 다른 단말로 이동하여 소정 작업을 수행하고 다른 단말로 응답을 한 후 소멸하게 된다.The
모바일 에이전트(mobile agent)의 개념에 대해 좀 더 상세하게 설명하면 다음과 같다. 일반적으로 에이전트(agent)라 함은 유저를 대신하여 유저가 하고자 하는 작업을 대행하는 프로그램을 의미한다. 이러한 에이전트는 정적(static) 에이전트와 모바일(동적, mobile) 에이전트로 구별되며, 정적 에이전트는 유저 호스트에 고정되어 주로 메시지 통신 기반으로 다른 단말 또는 에이전트와 작업을 수행하며, 모바일 에이전트는 특정 호스트에 고정되지 않고 네트워크상에서 노드간을 옮겨 다니면서 작업을 수행하는 점에서 양자가 차이가 있다.The concept of a mobile agent will be described in more detail as follows. In general, an agent refers to a program that acts on behalf of a user. These agents are classified into static agents and mobile agents. Static agents are fixed to user hosts, and work with other terminals or agents based mainly on message communication. Mobile agents are fixed to specific hosts. There is a difference between them in that they perform tasks by moving from node to node in the network.
간단하게 말하면, 모바일 에이전트는 네트워크상에서 자유롭게 이동하면서 특정 작업을 수행하는 프로그램을 말한다. 이러한 모바일 에이전트의 개념과 유사한 것으로서 Java applet을 들 수 있는데, 이러한 Java applet은 웹 브라우저가 요 구할 때 서버가 특정 code를 전송하고 JVM(Java Virtual Machine)이 코드를 수행한다. 모바일 에이전트는 네트워크에 연결된 단말간을 옮겨 다니면서 작업을 수행하는데 단말간의 네트워크 연결 상태를 유지할 필요가 없다는 점을 또 다른 특징으로 한다. 즉, 모바일 에이전트가 A 단말에서 B 단말로 이동한 후, 네트워크 연결 상태는 단절되도 무방하며 B 단말에서 특정 작업을 수행한 후 결과를 전송할 때 A 단말로 네트워크 연결을 요청하는 등의 방법을 사용하므로 단말간의 연결 상태가 계속될 필요는 없게 된다. 이하에서 모바일 에이전트는 간단하게 에이전트라고도 표기한다.In simple terms, a mobile agent is a program that performs certain tasks while moving freely on the network. A similar concept to the mobile agent is a Java applet, in which the server sends specific code when a web browser requests it, and the Java virtual machine executes the code. The mobile agent has another feature of not having to maintain a network connection between terminals in order to perform tasks while moving between terminals connected to a network. That is, after the mobile agent moves from the terminal A to the terminal B, the network connection state may be disconnected and a method of requesting the network connection to the terminal A when transmitting a result after performing a specific task in the terminal B is used. The connection state between the terminals does not need to continue. Hereinafter, the mobile agent is simply referred to as an agent.
한편, 본 시스템에서의 서버간 또는 모바일 에이전트간의 통신은 메시지를 통해 처리된다. 이러한 메시지 처리는 도 4에 도시한 메시지 핸들러(message handler) 및 핸들 메시지(handle message) 모듈에 의해 이루어진다. 메시지의 송수신 및 처리는 도 5에 도시한 바와 같이 ReceiveMessageThread, ListenThread, SendMessageThread의 3개의 thread에 의해 이루어진다. ListenThread와 ReceiveThread 사이에는 속도 균형을 위한 유한한 크기의 통신 버퍼가 존재한다.On the other hand, communication between servers or mobile agents in the present system is processed through messages. This message processing is performed by the message handler and handle message module shown in FIG. As shown in FIG. 5, transmission and reception of a message are performed by three threads of ReceiveMessageThread, ListenThread, and SendMessageThread. There is a finite size communication buffer for speed balancing between ListenThread and ReceiveThread.
IP 서버(11)는 활성화된 단말의 에이전트 서버들의 등록 또는 해지를 위한 메시지 처리에만 사용되며 에이전트 서버 없이 직접 IP 서버에 의해 통신이 이루어지지만 그 외의 경우에는 에이전트 서버(13)를 통해 모든 통신이 이루어진다. The
이러한 메시지의 형식의 일예를 도 6에 나타내었다. 도 6에 나타낸 바와 같 이, 메시지는 sender, receiver, kind, info-1, info-2, info-3 등 6개의 필드로 구성된다. sender와 receiver는 메시지를 송수신하는 노드의 이름(혹은 IP 주소)과 송수신 시에 사용하는 포트 번호, 송수신하는 에이전트의 이름으로 구성된 Address 객체이다. 메시지의 kind는 의미를 가지는 메시지 유형을 나타내며, info-1부터 info-3은 모두 메시지에 포함된 정보 내용 필드로 각각 String, Object, byte[] 형으로 정의되어 있다.An example of the format of such a message is shown in FIG. 6. As shown in Figure 6, the message is composed of six fields, such as sender, receiver, kind, info-1, info-2, info-3. The sender and receiver are Address objects consisting of the name (or IP address) of the node sending and receiving messages, the port number used for sending and receiving messages, and the name of the agent sending and receiving messages. The kind of message represents a message type that has meaning. Info-1 through info-3 are all information content fields included in the message, and are defined as String, Object, and byte [] types, respectively.
한편, 에이전트 서버(13)에 의해 관리되는 모바일 에이전트(14)의 이동과 소멸은 미리 정의된 이벤트에 따라 이루어지는데 이러한 이벤트의 관리는 이벤트 핸들러(Event Handler)에 의해 처리된다. 이러한 처리 과정을 도 7에 나타내었다. 도 7에 나타낸 바와 같이, 모바일 에이전트는 이동이나 소멸시에 에이전트 서버(13)에게 DISPATCH_REQUEST와 DESTROY_REQUEST 이벤트를 각각 보내고, 에이전트 서버(13)의 이벤트 핸들러는 이벤트에 따라 에이전트를 이동시키거나 소멸시킨다. 또한 에이전트 서버(13)는 모니터 서버(12)로 이러한 이벤트를 통해 에이전트가 이동 혹은 소멸되었음을 알린다. 모니터 서버(12)에서는 PlaceEventHandler가 이벤트를 받아 처리한다.On the other hand, the movement and destruction of the
또한, 각 단말의 시스템(10)은 라우팅(routing) 모듈을 포함할 수 있다. 라우팅 모듈은 에이전트가 이동할 때 발생할 수 있는 여러 상황에 따라 몇 가지의 이동 방식을 설정하기 위한 것으로서, 예컨대 단순 디스패치(simple dispatch), 동적 디스패치(dynamic dispatch), 다중 디스패치(multiple dispatch) 등과 같이 이동 방식을 다르게 지정할 수 있다. 이러한 이동방식은 모니터 서버(12)가 제공하는 사용자 인터페이스를 통해 사용자에 의해 지정되거나 형상(configuration) 파일에 명시될 수 있다. 이동 방식의 구체적인 설명에 대해서는 후술한다.In addition, the
한편, 각 단말의 시스템(10)은 응답(reply) 모듈을 구비할 수 있다. 응답 모듈은 모바일 에이전트가 작업을 완료한 후 결과를 응답할 시점에서 발생할 수 있는 여러 상황에 따라 몇 가지 응답 방식을 설정하기 위한 것으로서, 예컨대 고정 응답(fixed reply), 동적 응답(dynamic reply), 다중 응답(multiple reply) 등과 같이 응답 방식을 다르게 지정할 수 있다. 응답 방식도 모니터 서버(12)가 제공하는 사용자 인터페이스를 통해 사용자에 의해 지정되거나 형상(configuration) 파일에 명시될 수 있다. 응답 방식의 구체적인 설명 또한 후술한다.Meanwhile, the
이 밖에, 도 3 및 도 4의 시스템(10)은 에이전트 테이블, 에이전트 서버 테이블, 여정 리스트, 응답 리스트 등을 포함할 수 있다.In addition, the
에이전트 테이블은 에이전트 서버(13)가 생성된 에이전트 혹은 이동되어 온 에이전트에 대한 정보를 저장 관리하기 위한 데이터 구조이다. 에이전트 서버(13)는 에이전트 테이블을 이용하여 현재 에이전트 서버(13)상에서 수행되고 있는 에이전트들에게 메시지 처리, 작업 수행 등 각 에이전트가 해야 할 일을 분배한다. 에이전트가 다른 에이전트 서버(13)로 이동하거나 소멸되면 에이전트 테이블에서 삭 제된다. The agent table is a data structure for the
에이전트 서버 테이블은 온라인되어 등록되는 단말 즉 에이전트 서버(13)의 IP 주소를 저장하는 테이블이며, 에이전트 서버(13)가 오프라인 되면 IP 주소를 테이블에서 삭제한다.The agent server table is a table that stores the IP address of the terminal that is online and registered, that is, the
여정 리스트(Priority Itinereray List)는 에이전트가 이동할 때 에이전트가 방문해야 할 노드의 주소를 우선순위별로 저장하고 있는 데이터 구조이다. 이 데이터는 에이전트의 라우팅을 위해 우선적으로 설정되어야 한다. 이 자료는 사용자에 의해 설정될 수 있으나, 일반적으로 IP 서버(11)에 의해 제공받는 것이 바람직하다.The Priority Itinereray List is a data structure that stores the addresses of nodes that agents should visit when they move. This data should be configured first for agent routing. This data can be set by the user, but it is generally preferred to be provided by the
응답 리스트(Priority Reply List)는 각 시스템(10)에서 에이전트가 작업을 완료한 후 결과를 응답해야 할 노드를 우선순위별로 저장하고 있는 데이터구조이다. 이 데이터는 에이전트가 결과를, 자신을 보낸 노드가 아닌 다른 노드로 해야 할 경우가 있기 때문이다. 이 데이터는 에이전트의 이동전에 사용자에 의해 설정될 수 있으며, 아무 설정이 없는 경우 자신을 보낸 노드로 자동 설정된다.The Priority Reply List is a data structure that stores, in priority order, nodes to which the agent should reply after completing the work in each
다음으로, 이상에서 설명한 바와 같은 시스템(10)에 의해 본 발명에 의한 방법의 실시예들에 대해 도 8 이하를 참조하여 설명한다.Next, embodiments of the method according to the present invention by the
도 8은 본 발명에 의한 방법의 일실시예를 나타낸 흐름도이다.8 is a flowchart illustrating one embodiment of a method according to the present invention.
우선, 네트워크를 통해 서로 연결된 복수개의 단말로서 도 3 및 도 4에서 설 명한 바와 같은 시스템(10)을 구비하는 단말들 중 어느 하나인 제1단말이 네트워크를 통해 상기 단말들 중 또 다른 단말인 제2단말에 접속하여 상기 제2단말에 접속되어 있는 모든 단말들의 IP 주소를 제공받는다(S100). 이는 앞서 설명한 바와 같이 슈퍼피어에 다른 피어가 접속하는 것으로서, 제2 단말의 IP 서버에 제1 단말의 에이전트 서버가 접속하여 등록하고 다른 피어의 IP 주소를 제공받는 것을 의미한다.First, a first terminal, which is one of the terminals having the
다음으로, 상기 제1단말이 상기 제공받은 IP 주소에 의거하여 소정 기준에 따라 직접 접속할 적어도 어느 하나 이상의 제3단말을 선택한다(S110). 연결할 제3 단말의 선택은 여러 가지 설정에 따라 다양하게 이루어질 수 있으며, 앞서 설명한 여정 리스트를 참조하여 이루어질 수 있다.Next, the first terminal selects at least one or more third terminals to be directly connected according to a predetermined criterion based on the provided IP address (S110). Selection of the third terminal to be connected may be variously made according to various settings, and may be made by referring to the itinerary list described above.
연결할 제3단말이 선택되면, 상기 제1단말은 선택된 제3단말측으로 자료 검색 요청 등 소정 작업을 수행하도록 설정된 모바일 에이전트를 전송(dispatch)한다(S120). When a third terminal to be connected is selected, the first terminal dispatches a mobile agent set to perform a predetermined task such as a data retrieval request to the selected third terminal side (S120).
제3 단말로 모바일 에이전트가 이동되면, 제1 단말과의 네트워크 접속을 유지할 필요가 없으므로 연결 상태를 종료할 수 있다. 제1 단말과의 네트워크 연결은 에이전트의 작업 수행후 복구시킬 수 있다. When the mobile agent is moved to the third terminal, the connection state can be terminated because there is no need to maintain a network connection with the first terminal. The network connection with the first terminal may be restored after performing the agent's work.
다음으로, 모바일 에이전트는 제3단말에서 임의의 작업을 수행하게 된다(S130). 에이전트가 수행하는 작업은 여러 가지가 있으나 대표적인 것으로서는 제1 단말이 원하는 정보를 검색하는 것이다. 예컨대, 특정 이름의 파일을 제3 단말에 저장되어 있는가를 검색하는 등 제1단말이 원하는 데이터를 제3단말이 가지고 있는가를 검색할 수 있다. Next, the mobile agent performs any task in the third terminal (S130). There are various tasks performed by the agent, but the representative one is to search for information desired by the first terminal. For example, it is possible to search whether the third terminal has data desired by the first terminal, such as searching whether a file having a specific name is stored in the third terminal.
에이전트가 작업 수행을 완료하면, 제3단말에서 수행된 작업의 결과를 제1단말로 전송한다(S140). When the agent completes the task, the agent transmits the result of the task performed in the third terminal to the first terminal (S140).
제1단말은 작업 결과에 따라 필요한 경우 제3단말로 또는 다른 단말로 에이전트를 다시 전송하여 동일 작업 또는 다른 작업을 수행하도록 할 수 있다. 예컨대, 제1단말이 특정한 데이터를 제3단말에서 검색하도록 하였으나 제3단말에 그러한 데이터가 없다는 결과를 전송받으면 다른 단말로 에이전트를 재전송하여 검색을 재 수행하도록 할 수 있다. 만약, 제3단말에 그러한 데이터가 존재한다는 결과를 전송받으면 제3단말로 그 데이터를 자기 자신에게 전송하도록 하는 작업을 지시할 수도 있다.If necessary, the first terminal may retransmit the agent to the third terminal or another terminal to perform the same task or another task if necessary. For example, when the first terminal searches for specific data in the third terminal but receives the result that there is no such data in the third terminal, the first terminal may retransmit the agent to another terminal to perform the search again. If the third terminal receives a result that such data exists, the third terminal may instruct the third terminal to transmit the data to itself.
도 9는 본 발명에 따른 방법의 다른 실시예를 나타낸 흐름도이다. 도 9의 실시예는 앞서 설명한 단순 디스패치에 대한 것으로서, 제1단말이 미리 여정리스트에 설정된 단말 목록에 따라 모든 단말에 순차적으로 접속하면서 가장 먼저 접속 가능한 것으로 판단되는 단말로 에이전트를 전송하고 작업을 수행한 후, 작업 결과를 제1 단말로 다시 전송하는 경우에 대한 것이다.9 is a flow chart showing another embodiment of the method according to the invention. The embodiment of FIG. 9 relates to the simple dispatch described above, and transmits an agent to a terminal that is determined to be accessible first while the first terminal sequentially accesses all terminals according to the terminal list set in the journey list in advance. After that, the operation result is transmitted to the first terminal again.
우선, 도 8에서 설명한 단계(S100)과 같이 제1단말이 네트워크를 통해 제2단말에 접속하여 제2단말에 접속되어 있는 모든 단말들의 IP 주소를 제공받는다(S200).First, as in step S100 described with reference to FIG. 8, the first terminal accesses the second terminal through a network to receive IP addresses of all terminals connected to the second terminal (S200).
그리고, 제1단말은 미리 설정된 리스트에 포함된 단말들에 순차적으로 접속하면서 접속 가능한지를 판단한다(S210). 리스트의 단말에 접속하는 순서는 리스트의 맨 앞으로부터 순차적으로 접속할 수도 있고 랜덤하게 선택할 수도 있다. 접속 가능 여부는 소정 신호를 타단말측으로 전송하여 타단말로부터 소정 시간 내에 응답(승인(ack)) 신호를 받도록 하는 등의 방법을 사용한다.In operation S210, the first terminal determines whether it is accessible while sequentially accessing terminals included in the preset list. The order of accessing the terminals of the list may be sequentially connected from the beginning of the list or may be randomly selected. Whether or not the connection is possible may be achieved by transmitting a predetermined signal to the other terminal to receive a response (ack) signal within a predetermined time from the other terminal.
다음으로, 상기 단계(S210)에서 가장 먼저 접속 가능하다고 판단되는 단말을 직접 접속할 제3단말로 선택한다(S220). 이 과정은 예컨대, 리스트의 맨 앞으로부터 순차적으로 접속하게 되는 경우 리스트의 맨 앞의 단말이 응답(승인) 신호를 보내면 리스트의 다른 단말은 접속 가능 여부를 판단할 필요도 없이 이루어지게 된다.Next, in step S210, the terminal that is determined to be accessible first is selected as a third terminal to directly access (S220). For example, this process is performed when the first terminal of the list sends a response (acknowledgment) signal in the case of sequentially accessing from the beginning of the list, without the need for determining whether the other terminals of the list can be accessed.
연결할 제3단말이 선택되면, 제1단말은 선택된 제3단말측으로 소정 작업을 수행하도록 설정된 에이전트를 전송(dispatch)하고(S230), 에이전트는 제3단말에서 설정된 소정 작업을 수행한다(S240). 그리고, 작업 수행이 완료되면, 제3단말은 수행된 작업의 결과를 제1단말로 전송한다(S250).When the third terminal to be connected is selected, the first terminal dispatches an agent set to perform a predetermined task to the selected third terminal side (S230), and the agent performs a predetermined task set in the third terminal (S240). When the work is completed, the third terminal transmits the result of the performed work to the first terminal (S250).
도 10은 본 발명에 따른 방법의 또 다른 실시예를 나타낸 흐름도이다. 도 10의 실시예는 앞서 설명한 동적 디스패치, 즉 에이전트를 제3단말로 전송할 때 이동할 여정 리스트를 함께 가지고 가도록 하고 제3단말에서의 작업 수행후 결과를 제1단말로 전송한 후 여정 리스트에 따라 다른 단말로 바로 이동하는 경우에 대한 것이다.10 is a flow chart showing yet another embodiment of a method according to the invention. In the embodiment of FIG. 10, the dynamic dispatch described above, that is, bringing a list of journeys to be moved when the agent is transmitted to the third terminal and transmitting the result to the first terminal after performing the operation in the third terminal may be different according to the journey list. This is for the case of directly moving to the terminal.
우선, 도 8의 단계(S100)과 같이 제1단말이 네트워크를 통해 제2단말에 접속하여 제2단말에 접속되어 있는 모든 단말들의 IP 주소를 제공받고(S300), 제1단말은 설정된 여정 리스트 정보로부터 소정 기준에 따라 직접 연결할 제3단말을 선택한다(S310).First, as shown in step S100 of FIG. 8, the first terminal accesses the second terminal through a network, receives IP addresses of all terminals connected to the second terminal (S300), and the first terminal sets the itinerary list. A third terminal to be directly connected is selected from the information according to a predetermined criterion (S310).
제3단말이 선택되면, 제3단말로 소정 작업을 수행하도록 설정된 에이전트를 상기 여정 리스트 정보와 함께 전송한다(S320).When the third terminal is selected, the agent is set to perform a predetermined task with the third terminal and transmits the itinerary list information together (S320).
에이전트가 제3단말로 전송되면, 제3단말에서 상기 설정된 소정 작업을 수행하고(S330), 제3단말에서 수행된 작업의 결과를 제1단말로 전송한다(S340).When the agent is transmitted to the third terminal, the predetermined terminal performs the predetermined task (S330), and transmits the result of the task performed in the third terminal to the first terminal (S340).
작업 결과를 제1단말로 전송한 후, 에이전트는 제3단말에서 리스트 정보에 의거하여 리스트 중에서 다음으로 이동할 다른 단말을 제3단말로 선택하고(S350), 리스트가 종료될 때까지 상기 이동 에이전트 전송 단계, 상기 작업 수행 단계, 상기 작업 결과 전송 단계를 반복하게 된다. After transmitting the work result to the first terminal, the agent selects another terminal to move to next in the list as the third terminal based on the list information in the third terminal (S350), and transmits the mobile agent until the list ends. The step, performing the job and transmitting the job result are repeated.
한편, 에이전트는 제3단말에서 작업을 수행한 이후에 다른 단말로 이동하는 것으로 설명하였으나 수행 속도의 향상을 위해서 제3단말에서 작업을 수행하기 이전에 또는 작업을 수행하면서 동일한 에이전트를 복제(clone 생성)하여 다른 단말로 전송할 수도 있다.On the other hand, the agent is described as moving to another terminal after performing the operation in the third terminal, but to improve the execution speed to clone the same agent before or during the operation in the third terminal (clone creation) May be transmitted to another terminal.
도 11은 본 발명의 방법의 또 다른 실시예를 나타낸 흐름도이다. 도 11의 실시예는 도 8의 실시예와 유사하나 작업 결과를 자신을 보낸 단말로 무조건적으로 보내는 것이 아니라 응답 리스트에 따라 작업 결과를 전송할 다른 단말을 선택하고 그 단말로 결과를 전송하는 경우에 대한 것이다. 11 is a flowchart illustrating yet another embodiment of the method of the present invention. The embodiment of FIG. 11 is similar to the embodiment of FIG. 8, but instead of unconditionally sending a work result to a terminal to which the sender sends the work result, another terminal to send the work result is selected according to the response list and the result is transmitted to the terminal. will be.
우선, 도 8의 단계(S100)과 같이 제1단말이 네트워크를 통해 제2단말에 접속하여 제2단말에 접속되어 있는 모든 단말들의 IP 주소를 제공받고(S400), 제1단말은 상기 제공받은 IP 주소에 의거하여 소정 기준에 따라 직접 접속할 적어도 어느 하나 이상의 제3단말을 선택한다(S410).First, as shown in step S100 of FIG. 8, a first terminal accesses a second terminal through a network and receives IP addresses of all terminals connected to the second terminal (S400). Based on the IP address, at least one third terminal to be directly connected according to a predetermined criterion is selected (S410).
그리고, 제1단말은 선택된 제3단말측으로 소정 작업을 수행하도록 설정된 에이전트를 전송하고(S420), 에이전트가 상기 제3단말에서 상기 설정된 소정 작업을 수행한다(S430).The first terminal transmits an agent set to perform a predetermined task to the selected third terminal side (S420), and the agent performs the predetermined task set in the third terminal (S430).
작업 수행이 완료되면, 제3단말은 미리 설정된 응답 리스트에 따라 수행된 작업 결과를 전송할 단말을 선택하고(S440), 상기 선택된 단말로 작업 결과를 전송하게 된다(S450).When the execution of the work is completed, the third terminal selects a terminal to transmit the performed work result according to a preset response list (S440), and transmits the work result to the selected terminal (S450).
한편 상기 단계(S440)에서 작업 결과를 전송할 단말을 선택함에 있어서의 기준은 여러 가지를 사용할 수 있다. 예컨대, 가장 먼저 접속할 수 있는 단말을 선택하거나, 접속 가능한 모든 단말을 작업 결과를 전송하는 단말로 선택하여 접속 가능한 모든 단말로 동시에 또는 순차적으로 작업 결과를 전송하도록 할 수도 있다.Meanwhile, in selecting the terminal to transmit the work result in step S440, various criteria may be used. For example, the first terminal that can be accessed may be selected, or all accessible terminals may be selected as a terminal that transmits a work result to transmit the work results simultaneously or sequentially to all accessible terminals.
이상에서, 본 발명에 따른 실시예들을 설명하였으나 본 발명이 이러한 실시예에 한정되는 것이 아님은 물론이며 본 발명이 개시하고 있는 권리범위는 첨부하는 특허청구범위를 참조하여 여러 가지의 변형, 수정 태양을 포함하여 해석하여야 할 것이다.In the above, embodiments of the present invention have been described, but the present invention is not limited to these embodiments, and the scope of the present invention is disclosed in various modifications and modifications with reference to the appended claims. It should be interpreted to include.
본 발명에 의하면, 이동 에이전트를 사용함으로써 작업 수행시 부분적으로 네트워크가 차단되어도 무방하므로 네트워크 대역폭을 효율적으로 사용할 수 있는 동시에 네트워크의 부하를 현저하게 경감할 수 있는, 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산 정보 공유 방법 및 시스템을 제공할 수 있다.According to the present invention, since a network may be partially blocked when a task is performed by using a mobile agent, a plurality of terminals connected to each other through a network, which can efficiently use network bandwidth and significantly reduce the load on the network. It is possible to provide a distributed information sharing method and system therebetween.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030020555A KR100556716B1 (en) | 2003-04-01 | 2003-04-01 | System and method for distribution information sharing among nodes connected each other via network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030020555A KR100556716B1 (en) | 2003-04-01 | 2003-04-01 | System and method for distribution information sharing among nodes connected each other via network |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040085758A KR20040085758A (en) | 2004-10-08 |
KR100556716B1 true KR100556716B1 (en) | 2006-03-10 |
Family
ID=37368696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030020555A KR100556716B1 (en) | 2003-04-01 | 2003-04-01 | System and method for distribution information sharing among nodes connected each other via network |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100556716B1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100714504B1 (en) * | 2006-01-25 | 2007-05-04 | 피어컴 주식회사 | System and method for searching contents in personal terminals using wired and wireless internet |
KR100828920B1 (en) * | 2007-02-14 | 2008-05-13 | 주식회사 대우일렉트로닉스 | Method and apparatus for file sharing by using mobile ip in a mobile communication system |
KR101224827B1 (en) * | 2008-06-13 | 2013-01-22 | 재단법인서울대학교산학협력재단 | A network system and method thereof with dacon |
KR102066945B1 (en) * | 2014-08-11 | 2020-01-16 | 한화정밀기계 주식회사 | Operating method of communication terminal |
-
2003
- 2003-04-01 KR KR1020030020555A patent/KR100556716B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20040085758A (en) | 2004-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100722916B1 (en) | Method and apparatus for activity-based collaboration by a computer system equipped with a communications manager | |
US7756836B2 (en) | Peer-to-peer file sharing | |
US7136927B2 (en) | Peer-to-peer resource resolution | |
US7484225B2 (en) | System and method for describing and identifying abstract software modules in peer-to-peer network environments | |
US7487509B2 (en) | System and method for providing multiple embodiments of abstract software modules in peer-to-peer network environments | |
US8195742B2 (en) | Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups | |
US7533161B2 (en) | System and method for multiplatform implementation of abstract software modules in peer-to-peer network environments | |
US20030145093A1 (en) | System and method for peer-to-peer file exchange mechanism from multiple sources | |
KR19980041908A (en) | Computerized resource name deriving mechanism | |
KR101220614B1 (en) | Peer to peer gateway | |
KR20000028677A (en) | method, apparatus and program storage device for a client and adaptive synchronization and transformation server | |
JPH04230567A (en) | Dispersed type constitution profile for computing system | |
WO2001080014A2 (en) | System and method for on-network storage services | |
JP4504609B2 (en) | High performance client server communication system | |
KR100556716B1 (en) | System and method for distribution information sharing among nodes connected each other via network | |
US7945615B1 (en) | Distributed shared persistent objects | |
WO2000079362A2 (en) | Distributed virtual web cache implemented entirely in software | |
US20030061359A1 (en) | Distributed processing system | |
KR20010048347A (en) | Integrated browser and server system on internet | |
KR20030041637A (en) | System and Method for Connecting between Visitors in Website Automatically | |
KR100649961B1 (en) | Method and apparatus for providing distributed hybrid peer to peer network | |
JP2001092731A (en) | Method for distributing data | |
JP2001175620A (en) | Sharing system and network system for temporary storage area | |
Lindgren et al. | Peer-to-peer technology |
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: 20130212 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140206 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150114 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160406 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |