KR20020068234A - System and Method of P2P service - Google Patents
System and Method of P2P service Download PDFInfo
- Publication number
- KR20020068234A KR20020068234A KR1020010009407A KR20010009407A KR20020068234A KR 20020068234 A KR20020068234 A KR 20020068234A KR 1020010009407 A KR1020010009407 A KR 1020010009407A KR 20010009407 A KR20010009407 A KR 20010009407A KR 20020068234 A KR20020068234 A KR 20020068234A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- information
- level
- program
- users
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 238000002716 delivery method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
본 발명은 인터넷과 같은 개방형 네트워크를 기반으로 한 P2P 서비스 방법 및 시스템에 관한 것이다.The present invention relates to a P2P service method and system based on an open network such as the Internet.
보다 상세하게는 순수 P2P(Peer to Peer) 서비스 형태인 그누텔라(Gnutella)방식의 P2P 서비스에서는 서비스 사용자가 상호 P2P 네트웍의 상태를 유지 및 이용하기 위하여 네트웍 대역의 과다 사용하는 문제가 발생하는데 이를 해결하는 새로운 형태의 P2P 서비스방법 및 이를 수행하기 위한 시스템에 관한 것이다.More specifically, in the Gnutella-type P2P service, which is a pure peer-to-peer service, there is a problem that service users overuse the network band in order to maintain and use the state of mutual P2P networks. It relates to a new type of P2P service method and a system for performing the same.
최근 등장한 다양한 인터넷 서비스 중 P2P 서비스가 가장 주목을 받고 있다. P2P는 'peer to peer'의 준말로 P2P 서비스는 컴퓨터(PC)와 컴퓨터(PC)를 직접 연결해 서버 없이도 파일을 공유할 수 있는 신기술로, peer 가 친구나 동료를 의미하듯이 인터넷을 통해 다른 이용자들의 컴퓨터(PC)에 직접 접속하여 각종 정보와 파일을 공유할 수 있도록 해주는 서비스를 말한다. 기존의 웹 검색으로는 웹사이트에서만 정보를 검색하고 웹사이트에 등록된 정보와 파일을 이용할 수 있었지만 이 방식은 웹사이트는 물론 개인이나 기업이 보유한 데이터 베이스를 포괄적으로 검색, 해당 정보를 곧바로 자신의 컴퓨터로 옮겨 올 수 있다는 장점이 있다.P2P service is receiving the most attention among various internet services that have appeared recently. P2P is short for 'peer to peer', and P2P service is a new technology that allows users to share files without a server by connecting PC and PC directly. It is a service that allows users to directly access their computers (PCs) and share various information and files. Traditional web searches have only allowed you to search for information on a website and use information and files that are registered on the website, but this method provides a comprehensive search of the database of individuals and companies, as well as the website, and directly retrieves that information. The advantage is that it can be moved to a computer.
이러한 P2P 서비스는 1999년 5월 미국 냅스터(www.napster.com)라는 사이트가 개인들이 각자 보유하고 있는 음악파일(MP3)들을 인터넷을 통해 공유 할 수 있게 해주는 서비스를 시작함으로 등장하였고 냅스터는 서비스를 시작한 이후 폭발적인 인기를 얻고 있다. 음악파일을 공유하는 냅스터가 인기를 끌자 개인이 가지고 있는 모든 파일을 공유할 수 있는 서비스인 글로벌스케이프의 '큐드MX'와 널소프트의 '그누텔라'등이 등장하였다. 국내에서는 '넵스터'와 비슷한 서비스를 해주는 '소리바다'(www.soribada.co.kr)와 모든 파일을 공유할 수 있는 씨프렌드(www.seefriend.co.kr)등의 사이트가 운영중이다.This P2P service appeared in May 1999 when a site called Napster, USA (www.napster.com) launched a service that allows individuals to share their own music files (MP3) over the Internet. Since its inception, it has been exploding in popularity. As Napster, which shares music files, became popular, Globalscape's 'Cue MX', a service that allows users to share all files, and 'Gnutella', Nullsoft, appeared. In Korea, there are sites such as 'Sori Sea' (www.soribada.co.kr) which provides similar service to 'Nepster' and Seafriend (www.seefriend.co.kr) which can share all files.
그누텔라와 같은 순수 P2P 서비스 방식은 중앙서버에 의존하는 냅스터와는 달리 사용자 PC에 설치되어 있는 프로그램 자체가 검색기능을 내장하고 있어 특정 파일을 보유하고 있는 IP 주소를 가진 해당 컴퓨터에 직접 연결하여 자료를 찾아내는 형식이다. 예를 들면 이용자 A가 알고 있는 이용자 B에게 자료를 요청하면 이용자 B의 P2P 프로그램은 자료를 보유하고 있는 경우 자신의 자료를 보내주거나, 자료를 보유하지 않은 경우 다른 사용자 C에게 요청자료에 대한 메시지를 전달하게 된다. 그누텔라의 경우 메시지에 포함된 TTL(Time To Live) 값에 의해 메시지 전달의 깊이가 결정된다. 예를 들면 TTL이 2인 경우 이용자 B(TTL=1)가 알고 있는 이용자 C(TTL=0)에게 메시지를 전달한디, 이용자 C는 자신의 TTL이 0이므로 자신이 보유한 다른 이용자에게 메시지를 전달하지 않는다. 만약 TTL을 무한대로 하였다면 이러한 P2P프로그램이 설치된 전세계의 모든 사용자에게 메시지가 전달되게 되는 것이다. 그림 1은 TTL=3일 때 그누텔라의 메시지 전달방식과 TTL을 나타낸 것이다.Unlike Napster, which relies on a central server, the pure P2P service method such as Gnutella has a built-in search function for the program installed in the user's PC, so it connects directly to the computer with the IP address that holds a specific file. It is a form to find. For example, if user A requests data from user B that user A knows, user B's P2P program will send his own data if he has the data, or if he does not have the data, he will send another user C a message about the requested data. Will be delivered. In Gnutella, the depth of message delivery is determined by the time to live (TTL) value included in the message. For example, if TTL is 2, user B (TTL = 1) forwards the message to user C (TTL = 0), but user C does not forward the message to another user because his TTL is 0. Do not. If the TTL is set to infinity, the message is delivered to all users around the world who have these P2P programs installed. Figure 1 shows Gnutella's message delivery method and TTL when TTL = 3.
현재 나와있는 그누텔라 타입의 P2P 서비스는 네트웍 대역을 과다하게 사용할 위험이 내재되어 있다. 만약, 각 그누텔라가 10개의 연결된 그누텔라를 알고 있고, 처음 그누텔라가 TTL이 6인 핑 메시지를 보낸다면 10의 6승인 일백만개의 메시지가 인터넷을 돌아다닌다는 계산이 나온다.The Gnutella-type P2P service that is currently available has an inherent risk of excessive network bandwidth. If each Gnutella knows 10 connected Gnutellas, and the first time Gnutella sends a ping message with a TTL of 6, a calculation is made that one million messages with 10 6 approvals roam the Internet.
이러한 문제는 사용자와 연결된 모든 컴퓨터에 푸시(push)패킷 브로드캐스트를 전송하도록 클라이언트 소프트웨어에 코드화 하였기 때문에 발생한다. P2P 클라이언트는 해당 네트웍상의 다른 컴퓨터들을 이용해 계속 사용 가능한 리소스를 점검하는 네트웍 프로토콜을 갖고 있는 것이다.This problem occurs because you coded your client software to send push packet broadcasts to all computers connected to you. The peer-to-peer client has a network protocol that checks for available resources using other computers on the network.
P2P 기술을 적용하면 서버의 부하는 줄어들 수 있지만 네트웍 부하는 오히려 심해 질 수 있기 때문에 이러한 네트웍 상의 부하를 최소화하고 효율적인 네트웍의 구축을 달성 할 수 있는 새로운 개념의 P2P 서비스가 요구되고 있다.The application of P2P technology can reduce the load on the server, but the network load can be severe. Therefore, a new concept of P2P service is required to minimize the load on the network and achieve the construction of an efficient network.
본 발명은 상기와 같은 문제점을 해결하기 위하여 창출된 것으로서, 인터넷과 같은 개방형 네트워크를 이용한 P2P 서비스에서 서비스 이용 희망자가 자신의 단말기에 P2P 프로그램을 설치할 때 P2P 프로그램은 이용 희망자의 접속환경과 단말기의 성능에 따라 이용자 등급을 나누고 P2P 서비스접속할 때 하위 등급 이용자는 상위 등급의 이용자에게만 접속하도록 하여 네트웍상의 다른 컴퓨터들을 이용해 계속 사용 가능한 리소스를 점검하기 위한 메시지를 감소시켜 네트웍 부하를 최소화 할 수 있는 인터넷과 같은 개방형 네트워크를 기반으로 한 P2P 서비스 방법 및 시스템을 제공하는데 그 목적이 있다. 그림 2에 본 발명에 의한 P2P 서비스 구조(a)와 그누텔라 방식에 의한 구조(b)을 나타내었다.The present invention has been made to solve the above problems, and when a service user installs a P2P program on his or her terminal in a P2P service using an open network such as the Internet, the P2P program is connected to the user's connection environment and performance of the terminal. According to the classification of users, and when accessing P2P service, lower level users should be connected only to higher level users, reducing the message to check the resources that are still available using other computers on the network, such as the Internet, which can minimize the network load. The purpose is to provide a P2P service method and system based on an open network. Figure 2 shows the structure of the P2P service structure (a) and the structure of the Gnutella method (b) according to the present invention.
도 1은 그누텔라의 메시지 전달 방식을 나타낸 도식도 이다.1 is a schematic diagram illustrating a message delivery method of Gnutella.
도 2은 본 발명에 의한 P2P 서비스의 구조(a)와 그누텔라 방식에 의한 구조(b)를 개략적으로 도시한 도식도이다.2 is a schematic diagram showing the structure (a) of the P2P service according to the present invention and the structure (b) by the Gnutella method.
도 3은 본 발명에 의한 P2P 서비스 시스템의 실시 예를 블록도로 도시한 것이다.3 is a block diagram illustrating an embodiment of a P2P service system according to the present invention.
도 4은 본 발명에 의한 P2P 서비스 방법을 설명을 하기 위하여 개략적인 진행으로 도시 한 것이다..4 is a schematic process diagram illustrating a P2P service method according to the present invention.
도 5은 본 방법에 의한 서비스 방법을 개략적인 진행을 흐름도로 도시 한 것이다.5 is a flowchart illustrating a schematic process of a service method according to the present method.
도 6은 사용자가 본 발명의 방법으로 제공되는 P2P 서비스를 이용하여 찾고자 하는 파일을 검색하는 과정을 도시한 것이다.6 illustrates a process of searching for a file to be searched by a user using a P2P service provided by the method of the present invention.
이하 도면을 참조하여 상세히 설명한다. 그러나, 이들 도면은 예시적인 목적일 뿐 본 발명이 이에 한정되는 것은 아니다.Hereinafter, with reference to the drawings will be described in detail. However, these drawings are for illustrative purposes only and the present invention is not limited thereto.
도 3는 본 발명에 따른 P2P 시스템의 구성을 도시한 것으로서, 이용자 단말기(100), 인터넷 접속망(120), P2P 프로그램(130)을 포함하여 이루어진다.3 illustrates a configuration of a P2P system according to the present invention, and includes a user terminal 100, an internet access network 120, and a P2P program 130.
본 발명에 의한 인터넷과 같은 개방형 네트워크를 기반으로 한 P2P 시스템은, 단말기와, 상기 단말기들 사이를 연결하는 개방형 네트워크를 이용한 P2P 운용시스템에 있어서, 단말기(100)란 인터넷과 같은 개방형 네트워크와 접속이 가능하고 P2P 프로그램(130)이 설치된 컴퓨터나 전용 단말기, 핸드폰과 같은 장치를 말한다. 이때 필요에 따라 인터넷망을 통해 단말기와 연결하고 각 단말기들의 접속 여부 및 위치 정보 등을 관리하는 운영 서버가 있을 수 있다.In a P2P system based on an open network such as the Internet according to the present invention, in a P2P operation system using a terminal and an open network connecting the terminals, the terminal 100 is connected to an open network such as the Internet. Possible and refers to a device, such as a computer or a dedicated terminal, a mobile phone installed with a P2P program (130). At this time, there may be an operation server that connects with terminals through the Internet network and manages whether or not each terminal is connected and location information as necessary.
상기에서 P2P 프로그램(130)은 기본적으로는 그누텔라와 유사한 기능 및 사용 방법을 가지고 있다. 그러나 본 발명에 의한 P2P 프로그램은 그누텔라에는 없는 다음과 같은 기능과 운용 방법이 있다. 이용자가 단말기에 P2P 프로그램 설치하면 P2P 프로그램은 이용자의 단말기의 성능 및 개방형 네트웍의 접속 환경에 따라 자체 기준에 의해 등급을 설정하게 된다. 이때 단말기의 성능 및 접속환경이 좋은 순서대로 A, B, C, D...등급과 같이 나눌 수 있다. 등급이 높을수록 단말기에 직, 간접으로 접속할 수 있는 사용자의 수가 많아지며 각 등급별 인원 분포는 등급이 낮아질수록 많아지는 형태를 취한다. 예를 들면 최상위 등급(A등급) 사용자가 10명이라면 B등급 사용자는 100명, C등급 사용자는 1,000명과 같이 구성될 수 있다.In the above, the P2P program 130 basically has a function and a method of use similar to those of Gnutella. However, the P2P program according to the present invention has the following functions and operation methods that Gnutella does not have. When a user installs a P2P program on a terminal, the P2P program sets the rating based on its own criteria according to the performance of the user's terminal and the connection environment of the open network. At this time, the performance and connection environment of the terminal can be divided into A, B, C, D ... The higher the rating, the more the number of users who can access the terminal directly or indirectly, and the distribution of personnel for each rating increases as the rating gets lower. For example, if there are 10 top-level (class A) users, 100 class B users and 1,000 class C users may be configured.
최상위 등급(A등급)으로 분류된 이용자를 제외한 나머지 이용자(B, C, D...등급)는 P2P 서비스에 접속할때 P2P 프로그램(130)을 통해 자신보다 상위 단계의 이용자와만 접속이 가능하며 최상위 등급 아래에 있는 각 P2P 서비스 이용자와 계속 연결된 상태를 유지하면서 핑(ping), 퐁(pong) 메시지를 주고받으면서 IP주소, 공유파일에 대한 정보등을 교환한다. 퐁 메시지에는 IP주소, 포트, 파일의 수, 파일 용량등이 포함되어 있으며 이 정보들은 각 사용자의 컴퓨터나 최상위 등급의 사용자의 컴퓨터에 임시 저장하게 된다. 그리고 연결된 다른 사용자의 P2P 프로그램으로부터 검색 요청이 있을 때 이 메시지는 일단 최상위 등급 사용자에게 전달된 후 다시 최상위 등급의 사용자에게 직접 연결된 각 하위 사용자들에게 전달되는데 이 메시지를 받은 하위 사용자는 자신의 공유디렉토리에 해당 파일이 있는지 확인하고, 해당 파일이 있으면 자신의 자료를 보내고, 없는 경우 자신과 직접 연결된 하위 등급의 다른 이용자에게 요청 파일에 대한 메시지를 전달하게 된다.The remaining users (B, C, D ... grades), except the users classified as the highest level (grade A), can access only the users higher than themselves through the P2P program 130 when accessing the P2P service. It keeps connected with each P2P service user below the top level and exchanges ping and pong messages while exchanging information about IP addresses and shared files. Pong messages include the IP address, port, number of files, file size, etc. This information is stored temporarily on each user's computer or on the top-level user's computer. When a search request is made from another connected user's P2P program, this message is delivered to the top-level user and then to each sub-user directly connected to the top-level user, who receives this message. It checks if the file exists in the file, if it exists, sends its data, and if it doesn't, it sends a message about the request file to other lower-level users directly connected to it.
최상위 등급(A등급) 사용자로 지정 받은 사용자는 단말기의 성능 및 접속환경이 가장 우수한 사용자 집단을 말하며 P2P 서비스에 접속할 때 다른 최상위 등급의 사용자와 연결을 하게 되며 하위 등급의 이용자들로부터 접속을 받고 ping과 pong 메시지를 통해 연결된 사용자들의 IP주소, 포트, 공유 파일의 수등을 받아 저장하게 된다. 그리고 자신과 연결된 사용자로부터 검색 메시지가 오게 되면 검색정보를 직접 연결하고 있는 하위 사용자들에게 메시지를 보내게 된다. 그러나 경우에 따라 P2P 프로그램 설치할 때 최상위 등급의 사용자로 분류를 받지 못하는 중간 단계의 사용자도 최상위등급의 사용자의 역할을 할 수 있다. 예를 들면 도 4의 이용자 D1이 초기접속할 때 TTL을 2로 설정했다면 B1이 최상위 등급의 사용자 역할을 하게된다. 도 4에 본 발명에 의한 P2P 서비스의 연결 구조를 나타내었다.The user designated as the highest class (class A) user refers to the group of users who have the best performance and access environment of the terminal. When connecting to the P2P service, the user is connected with other top class users and receives access from the lower class users. The pong message is used to save the connected users' IP addresses, ports, and the number of shared files. When a search message comes from a user connected to the user, a message is sent to the lower users who directly connect the search information. However, in some cases, intermediate users who are not classified as top-level users when installing P2P programs can also serve as top-level users. For example, if the user D1 of FIG. 4 initially sets TTL to 2, B1 serves as the user of the highest level. 4 shows a connection structure of a P2P service according to the present invention.
사용자(C1)가 P2P 서비스에 접속할 때 상위등급의 사용자를 찾아 접속하는 방법은 다음과 같다. 먼저 임의로 선택된 다른 사용자(C2)의 IP주소를 P2P 프로그램에 입력을 한다. 사용자(C1)의 P2P 프로그램은 입력된 IP주소의 다른 사용자(C2)에게 접속 요청메시지를 보내고, 메시지를 받은 다른 사용자(C2)는 메시지를 보낸 사용자(C1)가 자신보다 높거나 같은 등급의 사용자 여부를 판단하고 자신보다 높거니 같은 등급의 사용자라면 자신(C2)에게 접속시키지 않고 자신과 연결된 상위 등급의 또 다른 사용자(B1)에게 메시지를 보내게 된다. 그러면 또 다른 사용자(B1)도 사용자(C1)의 등급을 확인하여 자신보다 낮은 경우 접속을 하게 된다. 이 경우에는 사용자(C1)는 또다른 사용자(B1)에게 접속되어 P2P 서비스를 이용하게 되는 것이다.When a user C1 accesses a P2P service, a method of finding and accessing a higher level user is as follows. First, the IP address of another user C2, which is randomly selected, is input to the P2P program. P2P program of user C1 sends a connection request message to another user C2 of the inputted IP address, and another user C2 who receives the message is a user whose sender C1 is higher than or equal to the user. If it is determined that the user is of the same level or higher than the user, the message is sent to another user B1 of the higher level connected with the user without accessing the user C2. Then, another user B1 checks the grade of the user C1 and connects when the user B1 is lower than himself. In this case, the user C1 is connected to another user B1 to use the P2P service.
본 발명에 의한 P2P 서비스 방법은, 사용희망자가 자신의 단말기에 P2P 프로그램을 설치하는 단계; P2P 프로그램이 접속 환경 및 단말기 성능에 따라 사용희망자에게 등급을 부여하는 단계; 사용자(D1)가 하나 이상의 다른 사용자의 IP를 입력하는 단계; 다른 사용자에게 메시지를 보내는 단계; 다른 사용자가 상위 등급(C2)의 사용자라면 P2P 서비스에 연결되는 단계; 상위등급 사용자(C2)가 자신이 직접 접속하고 있는 상위 등급 사용자(B1)에게 사용자(D1)의 접속 메시지를 보내는 단계; 메시지가 최상위 등급 사용자(A1)에게 전달되고 이 정보가 저장되는 단계; 사용자(D1)가 P2P 프로그램에 찾고자하는 파일 정보를 입력하는 단계; P2P 프로그램에 의해 찾고자 하는 파일 정보 및 사용자의 IP주소, 포트정보, ID가 상위 등급의 사용자(C2)에게 전달되는 단계; 상위 등급의 사용자(C2)는 자신의 P2P 프로그램과 연결된 상위 등급의 사용자(B1)에게 해당 정보를 전송하는 단계; 최상위 등급의 사용자(A1)에게 정보가 전송되는 단계; 파일 정보를 전송 받은 최상위 등급(A1)의 사용자는 자신과 직접 연결된 사용자들(A2, B1, B2, B3)에게 해당 검색 정보를 전송하는 단계; 해당 정보를 전송 받은 하위 등급 사용자(B3)는 자신의 공유 디렉토리를 검색하여 해당 파일이 있는지 확인하고 해당 파일이 있으면 자신의 자료를 올려보내고 자신과 연결된 하위 등급의 사용자(C3)에게 정보를 전송하는 단계; 해당 정보를 전송 받은 하위 등급 사용자(C3)는 자신의 공유 디렉토리를 검색하여 해당 파일이 있는지 확인하고 해당 파일이 있으면 자신의 자료를 보내는 단계; 최상위 등급의 사용자(A1)에게 검색 정보가 전달되고 검색결과와 최상위 등급 사용자에게 저장된 사용자 접속정보를 사용자(D1)에게 내려보내는 단계; 사용자(D1)은 다른 사용자들로부터 보내온 검색 결과보고 적당한 사용자를 선택하여 접속 한 후 해당파일을 가져오는 단계를 포함하는 것을 특징으로 한다.P2P service method according to the present invention, the user wishes to install a P2P program on its own terminal; Giving a rating to the user using the P2P program according to the connection environment and the terminal performance; The user D1 entering an IP of at least one other user; Sending a message to another user; If another user is a user of a higher level (C2), connecting to a P2P service; Sending, by the higher-level user C2, the access message of the user D1 to the higher-level user B1 to which he or she is directly connected; The message is delivered to the top-level user A1 and this information is stored; Inputting file information that the user D1 wants to find in a P2P program; Transmitting file information to be searched by the P2P program, the user's IP address, port information, and ID to a higher-level user C2; A higher level user C2 transmitting the corresponding information to a higher level user B1 connected with his / her P2P program; Transmitting information to the highest level user A1; The user of the highest level A1 who has received the file information transmits the corresponding search information to the users A2, B1, B2, and B3 directly connected to the user; The lower level user (B3) who received the information searches the shared directory to see if the file exists, and if the file exists, uploads its data and sends the information to the lower level user (C3) associated with it. step; The lower level user C3, having received the information, searches for his / her shared directory to see if the file exists, and if the file exists, sending his data; Transmitting search information to the highest level user A1 and sending down the search result and user access information stored to the highest level user to the user D1; User (D1) is characterized in that it comprises a step of importing the file after connecting to select the appropriate user to see the search results sent from other users.
도 5는 본 발명을 나타낸 도 4을 설명하기 위한 흐름도 이다. 도 4와 5를 참조하여 본 발명의 방법을 설명하면 다음과 같다.5 is a flowchart for explaining FIG. 4 illustrating the present invention. The method of the present invention will be described with reference to FIGS. 4 and 5 as follows.
파일 수신 희망자 'D1'는 자신의 단말기에서 P2P 프로그램을 설치한다(501단계). 설치된 P2P 프로그램은 사용자 'D1'의 접속환경을 판단하여 정해진 규칙에 따라 등급을 부여한다.(502단계) 부여된 등급은 P2P 프로그램에 저장된다.The file receiving applicant 'D1' installs a P2P program in his terminal (step 501). The installed P2P program determines a connection environment of the user 'D1' and assigns a grade according to a predetermined rule. (Step 502) The assigned grade is stored in the P2P program.
임의로 선택된 다른 사용자(C2)의 IP주소를 P2P 프로그램에 입력을 한다. 사용자(D1)의 P2P 프로그램은 입력된 IP 주소의 사용자인 다른 사용자(C2)에게 자신의 등급 및 IP주소가 포함된 접속 메시지를 보내고 만약 다른 사용자(C2)가 P2P 서비스에 연결된 상태라면, 메시지는 다른 사용자(C2)의 P2P 프로그램에 접수된다(503단계). 이때 다수의 IP 주소를 입력 할 수 있다.Input the randomly selected IP address of another user (C2) to P2P program. The P2P program of the user D1 sends an access message including its class and IP address to another user C2, the user of the inputted IP address, and if the other user C2 is connected to the P2P service, the message is sent. It is received in the P2P program of the other user C2 (step 503). You can enter multiple IP addresses.
메시지를 받은 다른 사용자(C2)의 P2P 프로그램은 메시지를 보낸 사용자(D1)의 등급 정보를 파악하여 자신보다 높거나 같은 등급의 사용자면 자신과 연결된 상위 등급의 또 다른 사용자(B1)에게 메시지를 보내고, 자신보다 낮은 등급의 사용자라면 사용자(D1)는 다른 사용자(C2)에게 연결되어 P2P 서비스에 접속을 하게 된다.(504단계) 이때 자신의 단말기에 접속할 수 있는 접속자의 최대 수는 단말기 및 접속환경에 따라 각 등급마다 한정할수 있다.The peer-to-peer program of the other user (C2) who received the message grasps the rating information of the user (D1) who sent the message and sends a message to another user (B1) of the higher level associated with the user if the user is higher than or equal to the user. If the user of the lower level than the user (D1) is connected to the other user (C2) to access the P2P service (step 504), the maximum number of users that can access the terminal is the terminal and the connection environment It can be limited to each class according to.
일단 접속이 되면 상위단계의 P2P 이용자와 계속 연결된 상태를 유지하면서 핑(ping), 퐁(pong) 메시지를 주고받으면서 연결상태, IP주소, 공유파일에 대한 정보등을 교환하게 된다. 이때 이러한 정보는 각 P2P프로그램에 임시저장 되거나 최상위 등급의 사용자(A1)의 컴퓨터에 저장된다. 정보교환의 범위는 직접 연결된 최상위 등급의 사용자까지이다.(도 4에서 part A 참조) 그러나 사용자의 필요에 따라 검색 정보는 다른 최상위 등급의 사용자(A2, A3, A4)에게도 전달 될 수 있다. 그리고 최상위 등급의 사용자는 최상위 등급의 사용자들끼리 연결상태, IP주소, 공유파일에 대한 정보등을 교환하게 된다.(505단계)Once connected, it exchanges information about connection status, IP address, and shared file while exchanging ping and pong messages while remaining connected with the upper level P2P user. At this time, this information is temporarily stored in each P2P program or stored in the computer of the user A1 of the highest level. The scope of the information exchange is up to the highest-level users directly connected (see part A in FIG. 4). However, depending on the needs of the users, the search information can be transmitted to other top-level users A2, A3 and A4. The highest level user exchanges information about connection status, IP address, and shared file among users of the highest level (step 505).
사용자(D1)는 찾고자 하는 파일의 정보를 P2P 프로그램에 입력을 하여 검색을 요청한다(506단계).The user D1 inputs information of a file to be searched into a P2P program to request a search (step 506).
찾고자 하는 파일 정보와 사용자(D1)의 단말기 정보(검색 요청정보)는 연결된 다른 상위 사용자(C2, B1)를 통해 최상위 등급의 사용자(A1)에게 까지 전달되게 되며 최상위 등급의 사용자(A1)는 자신과 연결된 다른 사용자들(B2, B3)에게 검색 요청 정보를 전달하게 된다(507단계). 이때 사용자(D1)가 찾고자 하는 파일 정보를 입력할 때 사용자(D1)의 선택에 따라 사용자(D1)가 포함되어 있는 최상위 등급의 사용자(A1)는 다른 최상위 사용자(A2, A3...)에게 해당 정보를 전달하여 검색 대상 범위를 확장 할 수 있다. 이 방법은 기존의 그누텔라에서 사용하는 TTL 방법을 활용하면 쉽게 달성 할 수 있다.The file information to be searched for and the terminal information (search request information) of the user D1 are transmitted to the user A1 of the highest level through other connected upper users C2 and B1, and the user A1 of the highest level The search request information is transmitted to the other users B2 and B3 connected with each other (step 507). At this time, when the user D1 inputs file information to be searched, the user A1 of the highest level including the user D1 is selected to other top users A2, A3 ... according to the selection of the user D1. By passing the information, you can expand the scope of search. This method can be easily achieved by using the existing TTL method used by Gnutella.
검색 요청 정보를 받은 이용자(A. B. C)들의 P2P 프로그램은 자신의 공유디렉토리에 해당 파일이 있는지 검색을 하고 하위 등급의 사용자에게 검색 요청 정보를 전달하게 된다. 검색결과 해당 파일이 있으면 최상의 등급사용자(A1)에게 전달되고 검색된 정보들은 상위등급 사용자들(B1, C2)을 통해 사용자(D1)에게 찾고자 하는 파일을 가진 사용자들의 IP주소, 포트, ID를 보내게 된다.(508단계)P2P programs of users (A. B. C) who received the search request information search for the file in their shared directory and deliver the search request information to lower-level users. As a result of the search, if the file is found, it is sent to the highest class user (A1), and the retrieved information is sent to the user (D1) through the upper class users (B1, C2) to send the IP address, port, and ID of the user whose file is to be found. (Step 508)
사용자(D1)는 찾고있는 파일을 가지고 있는 다른 사용자들이 보내온 정보를 보고 선택, 접속하여 파일을 내려 받게 된다.(509단계)The user D1 views, selects, and accesses information sent by other users who have the file being searched for and downloads the file (step 509).
도 6에서 본 서비스에서 사용자가 원하는 파일을 검색하는 방법에 대한 개략적인 전개 방법을 나타내었다. (a)는 사용자(E1)가 P2P 서비스를 이용하여 특정 파일의 검색을 요청하는 단계. (b)는 이 정보를 수신한 최상위 등급 사용자(A1)이 연결된 사용자들에게 검색 정보를 내려 보내는 단계; (c)는 각 P2P 프로그램이 검색 결과를 올려 보내는 단계; (d)는 최상위 등급 사용자에게 모여진 검색 결과를 사용자(E1)에게 보내는 단계를 나타내고 있다.6 shows a schematic deployment method for a method for searching for a file desired by a user in the present service. (a) the user E1 requesting to search for a specific file using a P2P service. (b) sending down the search information to the connected users of the highest level user A1 who has received this information; (c) step in which each P2P program uploads a search result; (d) shows a step of sending the search results gathered to the top-level users to the user E1.
이상, 본 발명에 의하면 인터넷과 같은 개방형 네트워크를 이용한 P2P 서비스 시스템에서 서비스 이용 희망자가 자신의 단말기에 P2P 프로그램을 설치할 때 P2P 프로그램은 이용 희망자의 접속환경과 단말기의 성능에 따라 이용자 등급을 나누고 P2P 서비스에 접속할 때 하위 등급 이용자는 상위 등급의 이용자에게만 접속하도록 하고 넥트웍 상에서 최상위 등급의 이용자 단위로 검색 및 다른 컴퓨터들을이용해 계속 사용 가능한 리소스를 점검하도록 하여 넥트웍안에서 불필요한 메시지를 줄여서 기존의 순수 P2P 방식에 비해 네트웍 부하를 최소화 할 수 있다.As described above, according to the present invention, in a P2P service system using an open network such as the Internet, when a service user installs a P2P program on his / her terminal, the P2P program divides user ratings according to the access environment of the user and the performance of the terminal. When accessing the network, lower level users should access only the upper level users, search by the highest level user on the network, and check available resources using other computers to reduce unnecessary messages in the network. Compared to this, network load can be minimized.
기존의 그누텔라 방법에서는 검색을 위하여 사용자에게 연결되는 접속자 수가 XN으로 증가하여 과도한 접속자로 인하여 네트웍의 부하가 증가되었으나 본 발명의 방법은 배수로 증가하기 때문에 과도한 접속자 발생을 최소화 하여 네트웍 부하를 감소 시킬 수 있다.In the existing Gnutella method, the number of accessors connected to the user for searching increased to X N , and the network load increased due to excessive accessors. However, since the method of the present invention increases in multiples, the network load can be reduced by minimizing the occurrence of excessive accessors. have.
구체적인 예를 들면 검색 대상이 5,000개 정도가 적당하다고 할 때 그누텔라에서 5개의 연결된 그누텔라를 알고 있고 TTL이 6으로 하면 15,625개의 컴퓨터가 검색되게 되지만(TTL을 5로 하면 3,125개 밖에 검색되지 않는다.) 본 방법에서는 사용자가 속해 있는 최상위 등급의 사용자에게 직,간접으로 연결된 400명이 연결된 사용자 집단(도 4에서 Part A)이라고 할때 최상위 등급의 사용자가 같은 규모의 다른 최상위 등급의 사용자 12명에게 검색 메시지를 보내면 검색대상은 5,200(400×13)개가 되기 때문에 불필요한 네트웍 부하를 줄일 수 있다.For example, if 5,000 search targets are appropriate, Gnutella knows five connected Gnutellas, and if TTL is 6, 15,625 computers will be searched (with TTL 5, only 3,125 will be searched). In this method, if a user group (part A in FIG. 4) is connected to 400 users connected directly or indirectly to the highest level user to which the user belongs, the highest level user searches for 12 users of other top level users of the same size. If you send, the search target is 5,200 (400 × 13), which can reduce unnecessary network load.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010009407A KR20020068234A (en) | 2001-02-20 | 2001-02-20 | System and Method of P2P service |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010009407A KR20020068234A (en) | 2001-02-20 | 2001-02-20 | System and Method of P2P service |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20020068234A true KR20020068234A (en) | 2002-08-27 |
Family
ID=27695420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020010009407A KR20020068234A (en) | 2001-02-20 | 2001-02-20 | System and Method of P2P service |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20020068234A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007089351A1 (en) * | 2006-01-30 | 2007-08-09 | Microsoft Corporation | Automated file distribution |
CN100386998C (en) * | 2006-03-10 | 2008-05-07 | 清华大学 | Overal-node maitaining method in reciprocal network |
KR100954963B1 (en) * | 2003-06-30 | 2010-04-23 | 주식회사 케이티 | Peer to peer contact information search method and system |
-
2001
- 2001-02-20 KR KR1020010009407A patent/KR20020068234A/en not_active Application Discontinuation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100954963B1 (en) * | 2003-06-30 | 2010-04-23 | 주식회사 케이티 | Peer to peer contact information search method and system |
WO2007089351A1 (en) * | 2006-01-30 | 2007-08-09 | Microsoft Corporation | Automated file distribution |
CN101336430B (en) * | 2006-01-30 | 2010-09-01 | 微软公司 | Automated file distribution |
US8150987B2 (en) | 2006-01-30 | 2012-04-03 | Microsoft Corporation | Automated peer-to-peer file distribution |
US8862665B2 (en) | 2006-01-30 | 2014-10-14 | Microsoft Corporation | Automated file distribution |
CN100386998C (en) * | 2006-03-10 | 2008-05-07 | 清华大学 | Overal-node maitaining method in reciprocal network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106031130B (en) | Content distribution network framework with edge proxies | |
KR101424362B1 (en) | Chunked downloads over a content delivery network | |
US8139483B2 (en) | Network traffic control in peer-to-peer environments | |
US7894828B2 (en) | System and method for establishing peer-to-peer bandwidth sharing ad hoc networks | |
EP2058980B1 (en) | A method, system and device for establishing a peer to peer connection in a p2p network | |
US8798016B2 (en) | Method for improving peer to peer network communication | |
US20030145093A1 (en) | System and method for peer-to-peer file exchange mechanism from multiple sources | |
US8140645B2 (en) | Index server support to file sharing applications | |
US20070038774A1 (en) | Translating Switch and Method | |
US20030101267A1 (en) | Peer-to-peer caching network | |
KR20090080051A (en) | Virtual peer for a content sharing system | |
KR20060057525A (en) | System and method for selecting data providers | |
WO2001084801A2 (en) | System and method for controlling access to content carried in a caching architecture | |
IL159201A (en) | Path optimizer for peer to peer networks | |
KR20060017820A (en) | System and method for user notification | |
WO2001080014A2 (en) | System and method for on-network storage services | |
JP2004523854A (en) | Method and computer system for selecting an edge server computer | |
Nordström et al. | Haggle: Opportunistic mobile content sharing using search | |
US20110078312A1 (en) | Method and system for monitoring incoming connection requests in a Peer-to-Peer network | |
US8244867B2 (en) | System and method for the location of caches | |
US7739364B2 (en) | Method and apparatus for dynamically reconfiguring a server system | |
US7565405B2 (en) | Method and apparatus for providing data storage in peer-to-peer networks | |
KR20050084760A (en) | Information processing device, information processing method, and computer program | |
US7454394B2 (en) | Caching for end-user systems to reduce usage of access links to a communication network | |
KR20020068234A (en) | System and Method of P2P service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |