KR20050002456A - Apparatus and method for searching optimal nodes for use in P2P data communication, and computer readable medium on which program for executing the method is recorded - Google Patents

Apparatus and method for searching optimal nodes for use in P2P data communication, and computer readable medium on which program for executing the method is recorded Download PDF

Info

Publication number
KR20050002456A
KR20050002456A KR1020030043834A KR20030043834A KR20050002456A KR 20050002456 A KR20050002456 A KR 20050002456A KR 1020030043834 A KR1020030043834 A KR 1020030043834A KR 20030043834 A KR20030043834 A KR 20030043834A KR 20050002456 A KR20050002456 A KR 20050002456A
Authority
KR
South Korea
Prior art keywords
node
information
optimal
file
requesting
Prior art date
Application number
KR1020030043834A
Other languages
Korean (ko)
Other versions
KR100565168B1 (en
Inventor
노재영
Original Assignee
주식회사 나우콤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 나우콤 filed Critical 주식회사 나우콤
Priority to KR1020030043834A priority Critical patent/KR100565168B1/en
Publication of KR20050002456A publication Critical patent/KR20050002456A/en
Application granted granted Critical
Publication of KR100565168B1 publication Critical patent/KR100565168B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

PURPOSE: A device and a method for searching an optimal node for the P2P(Peer-to-Peer) data communication, and a computer-readable recording medium storing a program for executing the same are provided to shorten a search time and waste no system resource by searching the optimal transfer node with regional information, ISP(Internet Service Provider) information, and line sort information. CONSTITUTION: A node information storage(104) stores node information of the nodes(30) connected through the network. A file information storage(105) stores file information of files stored in a file server(40) connected to a search device(10). A file information receiver(101) receives the file information the including node information of the requesting node from the requesting node(20). An optimal node searcher(102) searches the optimal transfer node by using the file information of the requesting node, the node information stored in the node information storage, and the file information stored in the file information storage. A searched information transmitter(103) transmits a node ID of the determined optimal transfer node to the requesting node.

Description

피투피 데이터 통신을 위한 최적 노드 검색 장치 및 방법, 그리고 이 방법을 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체{Apparatus and method for searching optimal nodes for use in P2P data communication, and computer readable medium on which program for executing the method is recorded}Apparatus and method for searching optimal nodes for use in P2P data communication, and computer readable medium on which program for executing the method is recorded}

본 발명은 피투피 통신에서 특정 파일을 전송받고자 하는 노드(이하, '요구 노드'라고 함)에게 해당 파일을 보유하고 있는 노드(이하, '전송 노드'라고 함) 중 최적의 전송 조건을 가진 노드를 검색할 수 있는 기술에 관한 것으로서, 특히 전송 노드의 지역, ISP 업체, 회선 종류 및 IP 클래스를 바탕으로 최적 전송 노드를 검색하는 최적 노드 검색 장치 및 방법에 관한 것이다.According to the present invention, a node having an optimal transmission condition among nodes holding a corresponding file (hereinafter referred to as a 'transport node') to a node (hereinafter, referred to as a 'request node') to receive a specific file in P2P communication. The present invention relates to a searchable technology, and more particularly, to an apparatus and method for searching for an optimal node based on a region of a transmitting node, an ISP, a circuit type, and an IP class.

전통적인 서버-클라이언트 방식의 파일 전송 방식에서는 한정된 네트워크 밴드로 인해 클라이언트측에서 만족할만한 전송 속도를 보장받지 못한다는 한계가 있었는데 최근에는 이러한 한계를 극복하기 위해 P2P 기반의 서비스가 확산되고 있다. 그러나, 파일 공유의 대표격인 eDonkey를 비롯하여, eMule, 소리바다 등 많은 P2P 서비스 프로그램이 활성화되어 있지만, 사용자 기반의 PC를 이용하여 파일 전송이 수행된다는 점 때문에 네트워크 업/다운 밴드가 극히 제한적일 수 밖에 없어서 이 역시 보다 양질의 파일 전송 서비스를 제공할 수 없다는 문제점이 있었고, 특히 eDonkey나 eMule과 같이 파일 분할 다운로드를 지원하는 경우에는 좀 더 좋은 전송 환경을 제공할 수 있지만 이 경우에도 사용자 리소스의 부담을 초래하기 때문에 이 역시 안정적인 서비스에는 불합리한 점이 많다는 문제점이 있다.In the traditional server-client file transfer method, there is a limitation that the client side cannot guarantee a satisfactory transmission speed due to the limited network band. Recently, P2P-based services have been spread to overcome these limitations. However, although many P2P service programs such as eDonkey, eMule, and Sori Sea, which are representative of file sharing are active, network up / down bands are extremely limited due to the fact that file transfer is performed using a user-based PC. There was a problem that it could not provide a better file transfer service, especially when supporting split file downloads such as eDonkey or eMule can provide a better transfer environment, but also incurs a burden on user resources This also has a problem that there are many irrationalities in stable service.

따라서, 요구 노드는 파일 전송에 가장 최적인 전송 노드를 검색할 필요가 대두되는데 현재는 요구 노드가 특정 파일의 전송을 파일 서버에 요청하면 파일 서버는 특정 파일을 보유하고 있는 전송 노드 리스트를 요구 노드에 전송하고, 요구 노드는 전송 노드 리스트에 포함된 모든 노드에 대해 홉(HOP) 카운트를 계산하거나핑(PING) 신호를 이용하여 최적의 전송 노드를 검색하고 있다. 그러나, 요구 노드에서 직접 최적의 전송 노드를 찾는 것은 상당한 시간이 걸리며 요구 노드의 리소스를 낭비한다는 문제점이 있다.Therefore, the requesting node needs to search for the transport node that is most suitable for file transfer. Currently, when the requesting node requests the file server to transfer a specific file, the file server requests a list of the transport nodes that hold the specific file. The requesting node calculates a hop count for all nodes included in the transmitting node list or searches for an optimal transmitting node using a ping signal. However, finding an optimal transport node directly at the requesting node takes considerable time and wastes resources of the requesting node.

또한, P2P 통신에서는 각 노드들의 한정된 업 밴드를 극복하기 위해 하나의 파일을 다수의 블록으로 분할하여 전송하는 기술(예컨대, eDonkey 또는 FlashGet 프로그램)이 보편화되고 있는 추세인데, 파일을 분할하여 전송하는 방법은 파일을 순차적으로 전송받는 방법에 비해 언제 전송이 완료될지 계산하기가 힘들고 전송이 완료되어야 파일의 내용을 확인할 수 있는 문제점이 있다.In addition, in P2P communication, a technique (eg, an eDonkey or FlashGet program) that divides and transmits a file into a plurality of blocks in order to overcome the limited up band of each node is a general trend. Compared to the method of receiving the files sequentially, it is difficult to calculate when the transmission is completed and there is a problem that the contents of the file can be confirmed when the transmission is completed.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 최적 노드 검색 장치에서 전송 노드의 지역 정보, ISP 업체 정보, 회선 종류 정보 및 IP 클래스 정보를 이용하여 최적의 전송 노드를 검색함으로써 P2P를 통해 연결된 각 요구 노드가 직접 최적 전송 노드를 찾는 것에 비해 검색 시간을 단축하고 요구 노드의 시스템 자원을 낭비하지 않는 최적 노드 검색 장치 및 방법을 제공하는 것이다.The present invention has been made to solve the above problems, and an object of the present invention is to search for the optimal transmission node using the region information, ISP company information, line type information and IP class information of the transmission node in the optimal node search apparatus. It is to provide an optimal node searching apparatus and method that shortens the searching time and does not waste system resources of the requesting node, compared to each requesting node connected through P2P directly looking for the optimal transmitting node.

또한, 본 발명의 다른 목적은 파일을 다수의 블록으로 분할하여 전송 노드의 업로드 속도에 비례하여 파일 블록을 다수의 전송 노드로부터 요구 노드로 전송함으로써 파일을 순차적으로 전송받는 것과 같은 효과를 갖는 최적 노드 검색 장치 및 방법을 제공하는 것이다.In addition, another object of the present invention is to divide the file into a plurality of blocks, the optimum node having the effect of receiving the files sequentially by transmitting the file block from the plurality of transmitting nodes to the requesting node in proportion to the uploading speed of the transmitting node It is to provide a search apparatus and method.

도 1은 본 발명의 실시예에 따른 검색 장치의 구성도.1 is a block diagram of a search apparatus according to an embodiment of the present invention.

도 2는 본 발명의 실시예에 따른 최적 노드 검색 방법의 흐름도.2 is a flowchart of an optimal node search method according to an embodiment of the present invention.

도 3은 도 2의 방법에 대한 구체적인 예를 설명하기 위한 설명도.3 is an explanatory diagram for explaining a specific example of the method of FIG.

도 4는 본 발명의 실시예에 따른 파일 분할 전송 방법을 설명하기 위한 개념도.4 is a conceptual diagram illustrating a file division transmission method according to an embodiment of the present invention.

도 5는 본 발명의 다른 실시예에 따른 파일 분할 전송 방법을 설명하기 위한 개념도.5 is a conceptual diagram illustrating a file division transmission method according to another embodiment of the present invention.

도 6은 도 5의 전송 방법을 구현하기 위한 검색 장치의 구성도.6 is a block diagram of a search apparatus for implementing the transmission method of FIG.

도 7은 요구 노드의 신호에 따라 최적 전송 노드를 할당할 것인지 요구 노드의 다운로드 정보를 갱신할 것인지를 결정하는 방법의 흐름도.7 is a flowchart of a method for determining whether to allocate an optimal transmitting node or update download information of a requesting node according to a signal of a requesting node.

본 발명은 상기와 같은 목적을 달성하기 위해, 파일을 전송받고자 하는 요구 노드의 요청에 따라 해당 파일을 보유하고 있는 전송 노드 중 최적의 전송 노드를 검색하는 최적 노드 검색 장치에 있어서, 네트워크를 통해 연결된 노드들의 노드 정보를 저장하고 있는 노드 정보 저장부와, 상기 검색 장치에 연결된 파일 서버에 저장되어 있는 파일의 파일 정보를 저장하고 있는 파일 정보 저장부와, 상기 요구 노드로부터 상기 요구 노드의 노드 정보를 포함한 파일 정보를 수신하는 파일 정보 수신부와, 상기 요구 노드의 파일 정보와 상기 노드 정보 저장부 및 상기 파일 정보 저장부에 저장되어 있는 노드 정보 및 파일 정보를 이용하여 최적 전송 노드를 검색하는 최적 노드 검색부와, 상기 검색부에서 결정된 최적 전송 노드의 노드 식별자를 상기 요구 노드로 전송하는 검색 정보 전송부를 포함하되, 상기 노드 정보는 해당 노드의 지역 정보, ISP 업체 정보, 회선 종류 정보 및 IP 클래스 정보를 포함하고, 상기 요구 노드의 파일 정보는 전송받고자 하는 파일의 요구 블록 및 요구 속도를 포함하며, 상기 최적 노드 검색부는, 상기 요구 블록을 보유하고 있고 상기 요구 노드의 노드 정보와 일치하는 노드 정보를 갖는 전송 노드 중에서 IP 클래스 정보, 회선 종류 정보, ISP 업체 정보 및 지역 정보의 순으로 우선 순위를 결정하여 우선 순위가 가장 높은 것을 최적 전송 노드로 결정하는 것을 특징으로 하는 최적 노드 검색 장치 및 이 장치의 기술사상에 대응하는 최적 노드 검색 방법, 그리고 이 방법을 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.In order to achieve the above object, the present invention provides an apparatus for searching for an optimal node, which searches for an optimal transport node among transport nodes holding a file according to a request of a requesting node to receive a file. A node information storage unit storing node information of nodes, a file information storage unit storing file information of a file stored in a file server connected to the search apparatus, and node information of the requesting node from the requesting node. Optimal node search for searching for an optimal transmitting node using a file information receiver for receiving file information, including file information of the requesting node and node information and file information stored in the node information storage unit and the file information storage unit. And a node identifier of the optimum transmitting node determined by the searching unit. And a search information transmitting unit for transmitting the search information, wherein the node information includes region information, ISP company information, line type information, and IP class information of the corresponding node, and the file information of the requesting node includes a request block of a file to be transmitted; The optimal node search unit includes a request rate, and the optimal node search unit includes IP class information, line type information, ISP company information, and local information among transport nodes that hold the request block and have node information that matches the node information of the request node. Record the optimal node search device, the optimal node search method corresponding to the technical idea of the device, and the program for executing the method. Provide a computer readable recording medium.

한편, 상기 최적 노드 검색부는 IP 클래스 정보가 일치하는 전송 노드 중에서 업로드 속도가 상기 요구 속도보다 크거나 같은 경우에는 해당 전송 노드를 최적 전송 노드로 결정하는 것이 바람직하다. 이 때, 상기 업로드 속도가 상기 요구 속도보다 작은 경우에는 상기 요구 노드와 IP 클래스가 일치하는 최후의 전송 노드를 최적 전송 노드로 결정할 수도 있다. 한편, 상기 업로드 속도가 상기 요구 속도보다 작은 경우에는 IP 클래스가 일치하는 전송 노드 중에서 업로드 속도가 가장 높은 노드를 최적 전송 노드로 결정할 수도 있다.On the other hand, the optimal node searcher is to determine the transmission node as the optimal transmission node when the upload speed is greater than or equal to the requested rate among the transmission nodes that match the IP class information. At this time, when the upload speed is smaller than the requested speed, the last forwarding node whose IP matches the requesting node may be determined as an optimal forwarding node. On the other hand, when the upload speed is smaller than the requested rate, the node having the highest upload rate among the transport nodes that match the IP class may be determined as the optimal transport node.

또한, 상기 검색 정보 전송부는 상기 노드 식별자와 함께, 상기 검색부에서 결정된 최적 전송 노드의 업로드 속도에 비례하여 상기 최적 전송 노드가 상기 요구 노드로 전송할 파일 블록의 위치를 결정한 블록 할당 정보를 상기 요구 노드로 전송하는 것이 바람직하다. 이 때, 상기 검색 장치는, 상기 최적 전송 노드에 할당된 파일 블록의 전송이 완료되기 전에 상기 요구 노드와의 접속이 단절되는 시점을 계산하여 상기 단절 시점의 소정 시간 이전에 상기 최적 노드 검색부에 최적 전송 노드를 재할당해줄 것을 요청하는 전송 상태 감시부를 더 포함하는 것이 바람직하다. 또한, 상기 전송 상태 감시부는, 상기 요구 노드로부터의 신호가 최적 전송 노드의 할당 요청인지 다운로드 상태 정보인지를 판단하여 할당 요청인 경우에는 상기 최적 노드 검색부에게 최적 전송 노드의 검색을 요청하고 다운로드 정보인 경우에는 상기 요구 노드의 노드 정보를 갱신하는 것을 특징으로 한다.In addition, the search information transmitting unit together with the node identifier, the requesting node receives block allocation information in which the optimal transmitting node determines the location of the file block to be transmitted to the requesting node in proportion to the uploading speed of the optimal transmitting node determined by the searching unit. It is desirable to send to. At this time, the search apparatus calculates a time point at which the connection with the requesting node is disconnected before the transmission of the file block allocated to the optimal transmission node is completed, and the search result is determined by the optimum node search unit before a predetermined time of the disconnection time point. It is preferable to further include a transmission status monitoring unit for requesting to reassign the optimal transmission node. The transmission state monitoring unit determines whether the signal from the requesting node is an allocation request or download state information of the optimal transmission node, and, if the allocation request is an allocation request, requests the optimal node searcher to search for the optimal transmission node and downloads the information. In the case of, the node information of the requesting node is updated.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention.

도 1에는 본 실시예에 따른 최적 노드 검색 장치의 블록도가 도시되어 있다. 도 1에 따르면, 검색 장치(10)는 파일 정보 수신부(101), 최적 전송 노드검색부(101), 검색 정보 전송부(103), 노드 정보 저장부(104) 및 파일 정보 저장부(105)로 구성되어 있다.1 is a block diagram of an apparatus for searching for an optimal node according to the present embodiment. According to FIG. 1, the search apparatus 10 includes a file information receiver 101, an optimal transmission node searcher 101, a search information transmitter 103, a node information storage 104, and a file information storage 105. Consists of

노드 정보 저장부(104)는 전체 노드들의 노드 정보를 저장하고 있으며, 노드 정보에는 해당 노드의 지역 정보, ISP 업체 정보, 회선 종류 정보, IP 클래스 정보 및 업로드/다운로드 속도 등이 포함된다. 지역 정보는 국가 단위, 시/도 단위(또는 주 단위) 등으로 분류될 수 있으며, ISP 업체 정보는 인터넷 통신 서비스를 제공하는 업체를 지칭하며, 회선 종류는 ADSL, VDSL과 같이 서비스되는 회선의 종류를 말하고, IP 클래스 정보는 해당 노드가 어떤 IP 클래스에 속하는지에 대한 정보를 말한다. 이와 같이 각 정보들을 분류하는 이유는 각 정보의 같고 다름에 따라 각 노드에 대한 접근 속도나 업/다운로드 속도 등의 통신 환경이 크게 달라지기 때문이며, 동일한 정보를 갖고 있는 노드끼리 최상의 통신 환경이 제공될 확률이 높기 때문이다. 파일 정보 저장부(105)는 파일 서버(40)에 저장되어 있는 파일에 관한 정보를 저장하고 있으며, 파일 정보에는 파일의 프로토콜 버전, 파일명, 파일의 크기, 해당 파일을 보유하고 있는 전송 노드의 목록 등의 정보가 포함된다.The node information storage unit 104 stores node information of all nodes, and the node information includes region information of the node, ISP company information, line type information, IP class information, upload / download speed, and the like. The area information can be classified into national unit, state / province (or state), etc. ISP information refers to a company that provides Internet communication services, and line type is a type of serviced line such as ADSL or VDSL. The IP class information refers to information on which IP class the node belongs to. The reason for classifying each information is that the communication environment such as access speed or upload / download speed for each node varies greatly according to the same and different information of each information, and the best communication environment is provided between nodes having the same information. This is because the probability is high. The file information storage unit 105 stores information about a file stored in the file server 40, and the file information includes a protocol version of the file, a file name, a file size, and a list of transfer nodes holding the file. Information such as this is included.

파일 정보 수신부(101)는 요구 노드의 파일 정보를 수신하며, 파일 정보에는 전송받고자 하는 파일의 프로토콜 버전, 파일명, 파일의 크기, 요구 블록, 요구 속도, 노드 정보 등이 포함되며, 노드 정보는 해당 노드의 지역 정보와 해당 노드의 ISP 업체, 회선 종류, IP 클래스 및 해당 노드의 업로드/다운로드 속도를 포함하는 네트워크 정보로 구성된다.The file information receiving unit 101 receives file information of a request node, and the file information includes a protocol version, a file name, a file size, a request block, a request speed, node information, etc. of a file to be transmitted, and node information corresponds to the corresponding node information. It consists of the node's local information and network information including the ISP's ISP, line type, IP class, and upload / download speed of the node.

한편, 파일은 소정 크기(예컨대, 1M 바이트)를 갖는 다수의 블록으로 분할되어 있는데, 요구 노드는 원하는 지점의 파일 블록부터 전송을 요구할 수 있다. 따라서, 요구 블록 정보는 요구 노드가 전송받기를 원하는 파일의 특정 블록의 위치를 의미한다. 요구 속도는 웹상에서 각 노드에게 정책적으로 할당된 속도(예컨대 웹 사이트의 유료 또는 무료 회원에 따라 다운로드 속도를 다르게 책정되는 속도)를 의미하며 요구 노드는 이 때 자신에게 해당하는 정책에 따라 요구 속도가 달라지게 되는 것이다. 또한, 파일 정보를 수신하기 전에 요구 노드의 전송 요구 신호를 검출하여 서버 소켓을 생성하고 생성된 서버 소켓을 요구 노드의 클라이언트 소켓으로 접속함으로써 요구 노드와 검색 장치 사이에 통신 경로가 확보되어 있어야 한다.On the other hand, the file is divided into a plurality of blocks having a predetermined size (for example, 1M bytes), the requesting node can request transmission from the file block of the desired point. Therefore, the request block information means the location of a specific block of a file that the requesting node wants to receive. The demand rate refers to the speed assigned to each node on the web by policy (for example, the speed at which the download rate is set differently depending on the paid or free members of the website). It will be different. In addition, before receiving file information, a communication path must be secured between the requesting node and the retrieval apparatus by detecting a request signal of the requesting node to generate a server socket and connecting the generated server socket to the requesting node's client socket.

최적 전송 노드 검색부(102)는 요구 노드의 파일 정보와 노드 정보 저장부(104)에 저장되어 있는 전송 노드의 노드 정보와 파일 정보 저장부(105)에 저장되어 있는 파일 정보를 이용하여 도 2에 도시된 알고리즘에 따라 최적 전송 노드를 검색하여 검색 정보를 검색 정보 전송부(103)로 전달한다. 도 2에 따르면, 단계(S201)에서는 노드 정보 저장부(104)에 포함된 전체 전송 노드 중 첫 번째 전송 노드(Tn1)의 노드 정보를 읽어오고, 단계(S203)에서는 해당 노드에 요구 블록이 존재하는지를 검사한다. 요구 블록이 존재하면 단계(S205)에서는 요구 노드와 현재 노드의 지역 정보가 일치하는 지를 검사하고, 지역 정보가 일치하면 단계(S207)에서는 최적 노드와 현재 노드를 비교하여 최적 노드를 결정하는데 현재는 첫 번 째 전송 노드에 관한 것이기 때문에 첫 번째 전송 노드가 최적 노드로 결정된다. 단계(S209, S213, S217) 에서는 요구 노드와 현재 노드의 ISP 업체 정보, 회선 종류 정보 및 IP 클래스 정보가 일치하는지를 각각 검사하고 해당 정보가 일치하면 단계(S211, S215, S219)에서 최적 노드와 현재 노드를 비교하여 최적 노드를 결정한다. 현재는 첫 번째 노드에 관한 것이기 때문에 각 정보가 일치할 경우에는 현재 노드가 최적 노드로 결정될 것이다. 한편, 단계(S211, S215, S219)에서는 단계(S204)와 마찬가지로 현재까지의 최적 노드와 현재 노드를 비교하여 최적 노드를 결정하는데, 현재까지의 최적 노드와 현재 노드의 정보가 일치한다면 현재까지의 최적 노드를 새로운 최적 노드로 결정한다.The optimal transmission node retrieval unit 102 uses the file information of the requesting node, the node information of the transmission node stored in the node information storage unit 104, and the file information stored in the file information storage unit 105. FIG. The searcher transmits the search information to the search information transmission unit 103 by searching for an optimal transmission node according to the algorithm shown in FIG. According to FIG. 2, in step S201, node information of the first transmitting node Tn1 among all transmitting nodes included in the node information storage unit 104 is read, and in step S203, a request block exists in the corresponding node. Check if it is. If there is a request block, step S205 checks whether or not the area information of the request node and the current node match, and if the area information matches, step S207 compares the best node and the current node to determine the best node. Since it is about the first transmitting node, the first transmitting node is determined to be the best node. Steps S209, S213, and S217 check whether the ISP company information, line type information, and IP class information of the requesting node and the current node match, and if the information matches, the optimal node and the current node in steps S211, S215, and S219. Compare nodes to determine the best node. Since it is currently about the first node, if the information matches, the current node will be determined as the best node. Meanwhile, in steps S211, S215, and S219, as in step S204, the optimal node is compared with the current node to determine the optimal node. If the information of the optimal node and the current node matches up to the present, the optimal node is determined. Determine the best node as the new best node.

단계(S221)에서는 요구 속도가 해당 노드의 업로드 속도보다 작은지를 검사한다. 만약 요구 속도가 해당 노드의 업로드 속도보다 작다면 더 이상 다른 전송 노드가 필요하지 않기 때문에 단계(S223)로 가서 현재의 해당 노드를 최적 노드로 결정하고 결정된 최적 전송 노드 정보를 검색 정보 전송부(103)로 전송한다. 한편, 요구 속도가 업로드 속도보다 크다면 요구 속도를 만족하기 위해서는 다른 전송 노드가 더 필요하기 때문에 단계(S225)로 진행하여, 최적 노드와 현재 노드 중 보다 큰 업로드 속도를 갖는 전송 노드를 최적 노드로 결정하고 단계(S227)로 진행한다. 따라서 단계(S225)에 의해, 요구 속도보다 더 낮은 업로드 속도를 갖는 노드 중에서 가장 큰 전송 속도를 갖는 전송 노드를 최적 노드로 결정된다. 그러나, 단계(S225)는 가장 높은 업로드 속도를 갖는 전송 노드부터 순차적으로 배치하기 위한 것일 뿐이며 단계(S225)를 생략하여 요구 속도보다 작은 업로드 속도를 갖는 전송 노드 중에서 최후의 전송 노드가 최적 노드로 결정되도록 하여도 무방하다.In step S221, it is checked whether the required speed is smaller than the upload speed of the node. If the required speed is smaller than the upload speed of the corresponding node, since no other transmitting node is needed anymore, go to step S223 and determine the current corresponding node as the optimal node, and determine the determined optimal transmitting node information by the search information transmitting unit 103. To send). On the other hand, if the required speed is larger than the upload speed, another transmission node is needed to satisfy the required speed, and therefore, the process proceeds to step S225, in which the transmission node having the higher upload speed among the optimal node and the current node is the optimal node. The process then proceeds to step S227. Therefore, in step S225, among the nodes having an upload speed lower than the required speed, the transmission node having the largest transmission speed is determined as the optimal node. However, step S225 is only for sequentially arranging the transmission nodes having the highest upload speed, and step S225 is omitted so that the last transmission node is determined to be the optimal node among the transmission nodes having an upload speed smaller than the required speed. You may make it possible.

단계(S227)에서는 현재의 전송 노드가 마지막 전송 노드 인지를 검사하여 마지막 전송 노드가 아니라면 다음 전송 노드의 노드 정보를 가져와 지금까지의 단계를 반복하고, 마지막 전송 노드라면 단계(S223)로 진행하여 지금까지의 최적 전송 노드를 최종적으로 최적 전송 노드로 결정한다.In step S227, it is checked whether the current transmitting node is the last transmitting node. If it is not the last transmitting node, the node information of the next transmitting node is taken and the previous steps are repeated. If the last transmitting node, the process proceeds to step S223. Finally, the optimal transmission node is determined as the optimal transmission node.

도 3에는 도 2의 알고리즘을 이용한 구체적인 예가 도시되어 있는데, 전송 노드가 총 5개이고 제 1 전송 노드(Tn1)는 요구 노드와 회선 종류까지 일치하고, 제 2 전송 노드(Tn2)는 요구 노드와 ISP 업체까지 일치하고, 제 3 전송 노드(Tn3)는 요구 노드와 IP 클래스까지 일치하고 업로드 속도는 200K이고, 제 4 전송 노드(Tn4)는 요구 노드와 IP 클래스까지 일치하고 업로드 속도는 300K이고, 제 5 전송 노드(Tn5)는 요구 노드와 IP 클래스까지 일치하고 업로드 속도는 100K라고 가정한다. 또한, 요구 속도는 500K라고 가정한다.3 illustrates a specific example using the algorithm of FIG. 2, in which there are five transmitting nodes in total, the first transmitting node Tn1 matches the request node and the circuit type, and the second transmitting node Tn2 corresponds to the requesting node and the ISP. The third transmission node Tn3 matches up to the requesting node and the IP class, the upload speed is 200K, the fourth transmission node Tn4 matches up to the requesting node and the IP class, and the upload speed is 300K. It is assumed that the transmitting node Tn5 matches up to the requesting node and the IP class and the upload speed is 100K. In addition, it is assumed that the required speed is 500K.

이 때, 도 2의 알고리즘의 첫 번째 순환에서는 제 1 전송 노드(Tn1)가 최적 노드로 결정될 것이고, 두 번째 순환에서도 회선 종류까지 일치하는 제 1 전송 노드(Tn1)가 ISP 업체까지만 일치하는 제 2 전송 노드(Tn2)보다 우선 순위가 높기 때문에 제 1 전송 노드(Tn1)가 최적 노드로 결정될 것이다. 세 번째 순환에서는 IP 클래스가 회선 종류보다 우선 순위가 높기 때문에 제 3 전송 노드(Tn3)가 최적 노드로 결정될 것이며, 네 번째 순환에서는 제 4 전송 노드(Tn4)가 제 3 전송 노드(Tn3)보다 업로드 속도가 높기 때문에 제 4 전송 노드(Tn4)가 최적 노드로 결정될 것이다. 다섯 번째 순환에서는 제 5 전송 노드(Tn5)가 제 4 전송 노드(Tn3)보다 업로드 속도가 낮기 때문에 최종적으로 제 4 전송 노드(Tn4)가 최적 노드로 결정될 것이다. 이 때, 만약 단계(S225)가 생략된다면 IP 클래스가 일치하는 것 중마지막 전송 노드인 제 5 전송 노드(Tn5)가 최적 노드로 결정될 것이다.At this time, in the first cycle of the algorithm of FIG. 2, the first transport node Tn1 will be determined to be an optimal node, and the second transport node Tn1 that matches up to the circuit type in the second cycle also matches only the ISP company. Since the priority is higher than the transmission node Tn2, the first transmission node Tn1 will be determined to be an optimal node. In the third cycle, since the IP class has a higher priority than the line type, the third transport node Tn3 will be determined to be the best node. In the fourth cycle, the fourth transport node Tn4 will upload more than the third transport node Tn3. Since the speed is high, the fourth transmitting node Tn4 will be determined as the optimal node. In the fifth cycle, since the upload speed of the fifth transmission node Tn5 is lower than that of the fourth transmission node Tn3, the fourth transmission node Tn4 will finally be determined as an optimal node. At this time, if step S225 is omitted, the fifth transmitting node Tn5, which is the last transmitting node of which the IP class matches, will be determined as the optimal node.

검색 정보 전송부(103)는 최적 노드 검색부(102)에서 결정된 최적 노드의 노드 식별자를 요구 노드(20)에게 전송하여 요구 노드(20)가 결정된 최적 전송 노드(30)로부터 파일을 전송받을 수 있도록 한다.The search information transmitter 103 may transmit a node identifier of the optimal node determined by the optimal node searcher 102 to the requesting node 20 so that the requesting node 20 may receive a file from the determined optimal transmission node 30. Make sure

한편, 요구 노드(20)는 최적 노드로 접속하여 파일을 전송받을 준비를 하는데 이 때 최적 노드의 업로드 속도가 요구 속도보다 작다면 또 다른 전송 노드로부터 파일을 분할하여 전송받기 위해 요구 속도에서 현재 최적 노드의 업로드 속도를 뺀 만큼의 속도를 요구 속도로 하여 다시 검색 장치(10)로 파일 정보를 송신하면, 검색 장치(10)에서는 도 2의 알고리즘을 거쳐 새로운 최적 전송 노드 결정하여 요구 노드(20)로 전송한다.On the other hand, the requesting node 20 is connected to the optimal node and is ready to receive a file. At this time, if the uploading speed of the optimal node is smaller than the required speed, the requesting node 20 divides the file from another transmitting node and is currently optimized at the required speed. When file information is transmitted to the retrieval apparatus 10 at a speed equal to the required speed minus the upload speed of the node, the retrieval apparatus 10 determines the new optimal transmission node through the algorithm of FIG. To send.

도 4는 요구 노드(20)의 요구 속도가 800K이고 최적 노드로 결정된 노드가 A, B, C 및 D 노드이며 각각의 업로드 속도가 100K, 300K, 200K 및 200K라고 가정한 경우에 요구 노드(20)가 전송 노드로부터 파일을 분할하여 전송받는 것을 설명하기 위한 도면이다. 도 4에 따르면, n Mbyte의 파일이 1M 단위의 블록으로 분할되어 있고, 각 전송 노드는 업로드 속도에 비례하여 파일 블록이 할당되어 있다. 따라서, 도 4의 경우 A 노드로부터는 파일의 처음 1M 블록을 전송받고, B 노드로부터는 파일의 2M부터 4M까지의 블록을 전송받고, C 노드 및 D 노드로부터는 파일의 5M, 6M 및 7M, 8M를 전송받는다. 이렇게 업로드 속도에 비례하여 분할받는 블록의 크기를 달리함으로써 순차적으로 파일을 다운로드 받는 것과 같은 효과를 얻을 수 있으며, 도 4의 경우 10초 후에는 파일의 1M 내지 8M 블록의 전송이 완료되며, 이후에는 9M 내지 16M 블록까지 블록의 전송이 완료되며, 요구 노드(20)는 이와 같은 방식으로 nM 블록까지 파일을 전송받을 수 있다. 한편, 요구 노드(20)가 전송 노드로부터 파일을 전송받는 도중에 어느 한 전송 노드(예컨대, C 노드)가 어떤 이유에서든지 파일 전송을 할 수 없는 상황이 발생한 경우에는 나머지 전송 노드(예컨대, A, B 및 D 노드)의 업로드 속도에 비례하여 각 전송 노드로부터 전송받을 파일 블록을 재설정한다.4 shows that the request node 20 is assuming that the request speed of the request node 20 is 800K, the nodes determined as optimal nodes are A, B, C, and D nodes, and that the upload speeds are 100K, 300K, 200K, and 200K, respectively. ) Is a diagram for explaining that a file is divided and transmitted from a transmitting node. According to FIG. 4, a file of n Mbytes is divided into blocks of 1M units, and each transmitting node is allocated a file block in proportion to the upload speed. Therefore, in the case of FIG. 4, the first 1M block of the file is transmitted from the node A, the 2M to 4M blocks of the file are received from the node B, and the 5M, 6M and 7M, Receive 8M. By changing the size of the divided blocks in proportion to the upload speed, the same effect as downloading the files sequentially can be obtained. In the case of FIG. 4, transmission of 1M to 8M blocks of the file is completed after 10 seconds. The transmission of blocks is completed from 9M to 16M blocks, and the request node 20 can receive files up to nM blocks in this manner. On the other hand, when a request node 20 receives a file from a transmitting node and a transmitting node (for example, a node C) cannot transmit a file for any reason, the other transmitting node (for example, A and B) occurs. And a file block to be transmitted from each transmitting node in proportion to the upload speed of the node D).

따라서, 여러 개의 전송 노드로부터 파일을 분할하여 전송받을 경우 파일을 순차적으로 전송받는 것과 동일한 효과를 기대하기 위해서는 최적 전송 노드의 업로드 속도에 비례하여 각 전송 노드가 전송해야할 파일 블록의 위치를 결정해 줄 필요가 있는데, 검색 정보 전송부(103)에서는 결정된 최적 노드의 노드 식별자와 함께 업로드 속도를 참조하여 각 최적 노드에서 요구 노드로 전송할 파일 블록을 결정한 블록 할당 정보도 함께 전송한다. 예를 들어, 검색 정보 전송부(103)는, 요구 속도가 800K인 경우에 첫 번째 결정된 최적 노드의 업로드 속도가 100K이면 8개의 파일 블록(총 8Mbyte) 중 처음 1Mbyte(100K/800K)를 전송 블록으로 할당하고, 다음으로 결정된 최적 노드의 업로드 속도가 300K이면 2M 블록 내지 4M 블록까지 총 3Mbyte(300K/800K)를 전송 블록으로 할당하는 방식으로 각 전송 노드가 전송할 파일 블록을 할당한 블록 할당 정보를 노드 식별자와 함께 요구 노드로 전송한다.Therefore, in order to expect the same effect of receiving files sequentially when split files are received from multiple transmitting nodes, the location of the file block to be transmitted by each transmitting node is determined in proportion to the uploading speed of the optimal transmitting node. Although necessary, the retrieval information transmitting unit 103 also transmits block allocation information that determines a file block to be transmitted from each optimal node to the requesting node with reference to the upload speed along with the determined node identifier of the optimal node. For example, the search information transmitter 103 transmits the first 1Mbyte (100K / 800K) of the eight file blocks (8Mbytes in total) if the upload speed of the first optimal node determined when the requested speed is 800K is 100K. If the optimal speed of the next optimal node is 300K, 3Mbytes (300K / 800K) are allocated to the transport blocks, ranging from 2M blocks to 4M blocks. Send it to the requesting node with the node identifier.

도 4는 각 전송 노드가 파일의 전체 블록을 보유하고 있는 경우지만 본 실시예에 따르면 해당 전송 노드에 요구 블록만 존재하면 파일의 전체 블록을 보유하고 있지 않더라도 해당 전송 노드로부터 파일 블록을 전송받을 수 있다.FIG. 4 illustrates that each transport node holds the entire block of the file, but according to the present embodiment, if only a request block exists in the transport node, the transport node can receive the file block from the transport node even if the transport node does not have the entire block of the file. have.

도 5는 현재 파일 서버(40) 또는 다른 전송 노드들로부터 파일을 전송받고 있는 노드로부터 파일을 분할하여 다운로드받는 방법을 설명하기 위한 도면이다. 도 5에 따르면, A 노드 및 B 노드는 각각 100K 및 200K의 속도로 파일 서버로부터 파일을 전송받고 있고, 현재 전송받은 양은 각각 10M 바이트와 2M 바이트이며, 각각의 업로드 속도는 50K와 150K라고 가정한다. 이 때, 요구 노드(20)인 C 노드가 100M 바이트의 파일을 300K의 요구 속도로 전송받으려고 할 경우에 검색 장치(10)에서 결정된 최적 노드가 A 노드 및 B 노드라고 하면, A 노드와 B 노드의 업로드 속도를 합한 값이 요구 속도보다 작기 때문에 나머지 속도분에 대해서는 파일 서버(40)에게 직접 파일을 전송받게 된다. 우선, A 노드의 다운로드 완료 예상 시간은 (100(전체 크기)-10(전송받은 크기))/0.1=90*1024K/100K=921.6초=15.36분이고, B 노드의 다운로드 완료 예상 시간은 (100-2)/0.2=98*1024/200=501.75초 =8.36분이며, C 노드의 다운로드 완료 예상 시간은 (100*1024)/300=341초=5.68분이므로 C 노드는 A, B 모두에게서 파일을 전송받을 수 있다. 한편, C 노드는 51.2초(y=100x+10*1024, y'=300x, x=51.2) 후에는 A 노드의 파일 다운로드 속도를 앞지르게 되어 더 이상 A 노드로부터는 파일을 다운로드 받을 수 없고, 마찬가지로 B 노드로부터는 20.48초 후면 파일을 다운로드 받을 수 없게 된다. 따라서, 검색 장치(10)는 요구 노드(C 노드)가 전송 노드(A 및 B 노드)의 다운로드 속도를 앞지르게 되는 접속 단절 시점을 예상하여 접속 단절 시점 소정 시간 이전에 최적 노드를 다시 할당할 필요가 있다.FIG. 5 is a diagram for describing a method of dividing and downloading a file from a node currently receiving a file from the file server 40 or other transmission nodes. According to FIG. 5, it is assumed that node A and node B are receiving files from the file server at speeds of 100K and 200K, respectively, and that the amount of transmission is 10M bytes and 2M bytes, respectively, and the upload speeds are 50K and 150K, respectively. . At this time, when the node C, which is the request node 20, tries to receive a file of 100M bytes at a request rate of 300K, if the optimal nodes determined by the search apparatus 10 are nodes A and B, then node A and node B Since the sum of upload speeds is smaller than the required speed, the file server 40 is directly sent to the file server 40 for the remaining speed. First, node A's download completion time is (100 (full size) -10 (transmitted size)) / 0.1 = 90 * 1024K / 100K = 921.6 seconds = 15.36 minutes, and node B's download completion time is (100- 2) /0.2=98*1024/200=501.75 seconds = 8.36 minutes, and the estimated time to complete download of node C is (100 * 1024) / 300 = 341 seconds = 5.68 minutes, so node C will download files from both A and B. Can be sent. On the other hand, after C node 51.2 seconds (y = 100x + 10 * 1024, y '= 300x, x = 51.2), the node C surpasses the file download speed of node A and can no longer download files from node A. After 20.48 seconds, it will not be able to download files from node B. Therefore, the search apparatus 10 needs to reassign the optimum node before the connection disconnection time predetermined time in anticipation of the connection disconnection time at which the requesting node (C node) will exceed the download speed of the transmitting nodes (A and B nodes). have.

도 6은 이러한 검색 장치(10')의 구성예가 도시되어 있는데, 도 1의 검색 장치(10)의 구성요소 전부를 포함하며 거기에 전송 상태 감시부(106)가 더 추가되었다. 따라서, 전송 상태 감시부(106)는 요구 노드가 전송 노드에서 접속이 단절되는 시점을 예상하여 그 단절 시점의 소정 시간 이전에 최적 노드 검색부(102)로 최적 노드를 재할당해 줄 것을 요구한다. 이 때, 단절이 예상되는 전송 노드의 업로드 속도를 요구 속도로 하여 재할당을 요청함으로써 단절된 업로드 속도를 확보할 수도 있다. 최적 노드 검색부(102)에서는 도 2의 알고리즘에 따라 새로운 최적 노드를 결정하고 검색 정보 전송부(103)는 새롭게 결정된 최적 노드의 노드 식별자를 요구 노드로 전송하여 단절된 시점 이후부터 새로운 최적 노드로부터 파일 블록을 전송받을 수 있도록 한다.6 shows a configuration example of such a search apparatus 10 ', which includes all of the components of the search apparatus 10 of FIG. 1, and further has a transmission status monitoring unit 106 added thereto. Therefore, the transmission state monitoring unit 106 expects the request node to disconnect from the transmitting node and reassigns the optimum node to the optimal node search unit 102 before a predetermined time of the disconnection time. . In this case, the disconnected upload speed may be secured by requesting reassignment using the upload speed of the forwarding node that is expected to be disconnected as the required speed. The optimal node searching unit 102 determines a new optimal node according to the algorithm of FIG. 2, and the search information transmitting unit 103 transmits the node identifier of the newly determined optimal node to the requesting node so that the file from the new optimal node can be found after disconnection. Allow a block to be sent.

한편, 요구 노드(20)는 검색 장치(10)에게 일차적으로 최적 전송 노드의 할당을 요구하고, 전송 노드를 할당받아 파일을 전송받는 도중에도 수시로 검색 장치(10)에게 자신의 다운로드 상태 정보(예컨대, 파일의 다운로드율, 다운로드 속도 등)를 전달하게 되는데 전송 상태 감시부(106)가 이러한 요구 노드(20)의 전달 정보를 받아 처리한다. 도 7은 요구 노드(20)가 검색 장치(10)에게 전송 노드의 할당을 요청하는지 아니면 다운로드 정보를 전송하는 것인지를 판단하여 전송 노드를 할당하든지 아니면 다운로드 정보를 갱신하는 등의 기능을 수행하는 방법의 흐름도이다. 우선, 검색 장치(10)는 단계(S701)에서 요구 노드(20)로부터의 신호가 최적 전송 노드의 할당 요청인지를 판단하여 할당 요청이면 요구 노드의 파일 정보 수신부(101)에서 파일 정보를 수신하고(S711) 최적 노드 검색부(102)에서 최적 노드를 검색하여(S713) 검색 정보 전송부(103)에서 최적 전송 노드의 식별자와 블록 할당정보를 요구 노드(20)로 전송하며(S715), 할당 요청이 아니라면 단계(S703)로 진행하여 요구 노드(20)로부터의 신호가 다운로드 정보인지를 판단하여 다운로드 정보라면 노드 정보 저장부(104)의 요구 노드 정보를 갱신하고(S705) 단계(S707)로 진행하여 요구 노드(20)의 접속이 끊겼는지를 판단하며, 단계(S703)에서 다운로드 정보가 아닌 경우에도 단계(S707)로 진행하여 요구 노드(20)의 접속이 끊겼는지를 판단한다. 단계(S707)에서 접속이 끊겼다고 판단된 경우에는 단계(S709)로 진행하여 요구 노드(20)와의 서버 소켓을 닫고 노드 정보 저장부(104)에서 요구 노드를 삭제하며, 접속이 끊기지 않은 경우에는 단계(S701)로 진행하여 다시 요구 노드(20)로부터의 신호를 기다린다.Meanwhile, the request node 20 first requests the search apparatus 10 to allocate an optimal transmission node, and at any time even while the transmission node is assigned and receives a file, the requesting node 20 transmits its download status information (eg, to the search apparatus 10). , The download rate of the file, the download speed, etc.), and the transmission state monitoring unit 106 receives and processes the delivery information of the request node 20. FIG. 7 illustrates a method for determining whether the requesting node 20 requests the search apparatus 10 to allocate the transmission node or transmits the download information to allocate the transmission node or update the download information. Is a flow chart. First, the search apparatus 10 determines whether the signal from the requesting node 20 is an allocation request of the optimal transmitting node in step S701 and receives file information from the file information receiving unit 101 of the requesting node if the allocation request is made. (S711) The optimal node searching unit 102 searches for the optimal node (S713), and the search information transmitting unit 103 transmits the identifier and the block allocation information of the optimal transmitting node to the requesting node 20 (S715). If not, the process proceeds to step S703 to determine whether the signal from the requesting node 20 is download information, and if so, updates the requested node information of the node information storage unit 104 (step S705). In step S703, it is determined whether the connection of the request node 20 is disconnected, and in step S703, the flow proceeds to step S707 to determine whether the request node 20 is disconnected. If it is determined in step S707 that the connection is terminated, the flow advances to step S709 to close the server socket with the request node 20 and delete the request node from the node information storage unit 104. The flow advances to step S701 to wait for a signal from the request node 20 again.

이상 본 발명의 실시예에 대해 설명하였지만, 본 발명의 기술 사상의 범위는 이 실시예에 한정되는 것은 아니며, 본 발명의 기술분야에서 통상의 지식을 가진 자라면 본 발명의 기술 사상의 범위를 벗어나지 않고서도 얼마든지 변형예를 도출할 수 있음을 유의해야 한다.Although the embodiments of the present invention have been described above, the scope of the technical idea of the present invention is not limited to this embodiment, and those skilled in the art should not depart from the scope of the technical idea of the present invention. It should be noted that variations can be made without making any difference.

이상과 같이 본 발명에 따르면 최적 노드 검색 장치(10)에서 최적 노드를 검색함으로써 P2P를 통해 연결된 각 노드가 직접 최적 노드를 검색하는 종래의 기술에 비해 검색 시간이 단축되고 사용자 노드의 시스템 자원이 낭비되는 것을 방지하는 효과를 얻을 수 있다.As described above, according to the present invention, the search time is shortened and system resources of the user node are wasted as compared to the conventional technology in which each node connected through P2P directly searches for the optimal node by searching for the optimal node in the optimal node search apparatus 10. It is possible to obtain an effect of preventing the occurrence.

또한, 본 발명에 따르면 파일을 다수의 블록으로 분할하여 전송 노드의 업로드 속도에 비례하여 파일 블록을 다수의 전송 노드로부터 요구 노드로 전송함으로써 파일을 순차적으로 전송받는 것과 같은 효과를 갖는 효과를 얻을 수 있다.In addition, according to the present invention, by dividing a file into a plurality of blocks and transmitting a file block from a plurality of transmitting nodes to a requesting node in proportion to the uploading speed of the transmitting node, the effect of receiving the files sequentially can be obtained. have.

Claims (21)

파일을 전송받고자 하는 요구 노드의 요청에 따라 해당 파일을 보유하고 있는 전송 노드 중 최적의 전송 노드를 검색하는 최적 노드 검색 장치에 있어서,In the optimum node searching apparatus for searching for the optimal transmission node among the transmission nodes holding the file in response to a request of the requesting node to receive the file, 네트워크를 통해 연결된 노드들의 노드 정보를 저장하고 있는 노드 정보 저장부와, 상기 검색 장치에 연결된 파일 서버에 저장되어 있는 파일의 파일 정보를 저장하고 있는 파일 정보 저장부와, 상기 요구 노드로부터 상기 요구 노드의 노드 정보를 포함한 파일 정보를 수신하는 파일 정보 수신부와, 상기 요구 노드의 파일 정보와 상기 노드 정보 저장부 및 상기 파일 정보 저장부에 저장되어 있는 노드 정보 및 파일 정보를 이용하여 최적 전송 노드를 검색하는 최적 노드 검색부와, 상기 검색부에서 결정된 최적 전송 노드의 노드 식별자를 상기 요구 노드로 전송하는 검색 정보 전송부를 포함하며,A node information storage unit storing node information of nodes connected via a network, a file information storage unit storing file information of a file stored in a file server connected to the search apparatus, and the request node from the request node. A file information receiver for receiving file information including node information of the node; and searching for an optimal transmission node using file information of the requesting node, node information and file information stored in the node information storage unit and the file information storage unit; An optimal node searching unit and a search information transmitting unit for transmitting the node identifier of the optimal transmitting node determined by the searching unit to the requesting node, 상기 노드 정보는 해당 노드의 지역 정보, ISP 업체 정보, 회선 종류 정보 및 IP 클래스 정보를 포함하고, 상기 요구 노드의 파일 정보는 전송받고자 하는 파일의 요구 블록 및 요구 속도를 포함하며,The node information includes local node information, ISP company information, line type information, and IP class information of the node, and the file information of the requesting node includes a request block and a request rate of a file to be transmitted. 상기 최적 노드 검색부는, 상기 요구 블록을 보유하고 있고 상기 요구 노드의 노드 정보와 일치하는 노드 정보를 갖는 전송 노드 중에서 IP 클래스 정보, 회선 종류 정보, ISP 업체 정보 및 지역 정보의 순으로 우선 순위를 결정하여 우선 순위가 가장 높은 것을 최적 전송 노드로 결정하는 것을 특징으로 하는 최적 노드 검색 장치.The optimum node retrieval unit determines priority in order of IP class information, line type information, ISP company information, and region information among transmission nodes that hold the request block and have node information that matches the node information of the request node. And determine the best transmission node having the highest priority. 제 1 항에 있어서, 상기 최적 노드 검색부는 IP 클래스 정보가 일치하는 전송 노드 중에서 업로드 속도가 상기 요구 속도보다 크거나 같은 경우에는 해당 전송 노드를 최적 전송 노드로 결정하는 것을 특징으로 하는 최적 노드 검색 장치.2. The apparatus of claim 1, wherein the optimal node searcher determines the corresponding transport node as an optimal transport node when the upload speed is greater than or equal to the required speed among transport nodes with matching IP class information. . 제 2 항에 있어서, 상기 업로드 속도가 상기 요구 속도보다 작은 경우에는 상기 요구 노드와 IP 클래스가 일치하는 최후의 전송 노드를 최적 전송 노드로 결정하는 것을 특징으로 하는 최적 노드 검색 장치.3. The apparatus of claim 2, wherein when the upload rate is smaller than the requested rate, the last transmitting node that matches the requesting node and the IP class is determined as an optimal transmitting node. 제 2 항에 있어서, 상기 업로드 속도가 상기 요구 속도보다 작은 경우에는 IP 클래스가 일치하는 전송 노드 중에서 업로드 속도가 가장 높은 노드를 최적 전송 노드로 결정하는 것을 특징으로 하는 최적 노드 검색 장치.3. The apparatus of claim 2, wherein when the upload rate is smaller than the requested rate, the node having the highest upload rate among the transmission nodes that match the IP class is determined as the optimum transfer node. 제 1 항에 있어서, 상기 검색 정보 전송부는 상기 노드 식별자와 함께, 상기 검색부에서 결정된 최적 전송 노드의 업로드 속도에 비례하여 상기 최적 전송 노드가 상기 요구 노드로 전송할 파일 블록의 위치를 결정한 블록 할당 정보를 상기 요구 노드로 전송하는 것을 특징으로 하는 최적 노드 검색 장치.The block allocation information of claim 1, wherein the search information transmitter determines, together with the node identifier, a location of a file block to be transmitted to the requesting node by the optimal forwarding node in proportion to the uploading speed of the optimal forwarding node determined by the searcher. The node search apparatus, characterized in that for transmitting to the requesting node. 제 5 항에 있어서, 상기 검색 장치는, 상기 최적 전송 노드에 할당된 파일 블록의 전송이 완료되기 전에 상기 요구 노드와의 접속이 단절되는 시점을 계산하여 상기 단절 시점의 소정 시간 이전에 상기 최적 노드 검색부에 최적 전송 노드를 재할당해줄 것을 요청하는 전송 상태 감시부를 더 포함하는 것을 특징으로 하는 최적 노드 검색 장치.The optimal node of claim 5, wherein the search apparatus calculates a time point at which the connection with the requesting node is disconnected before the transmission of the file block allocated to the optimal transmission node is completed, and the predetermined time point before the disconnection time point. And a transmission status monitoring unit for requesting to reassign the optimal transmission node to the searching unit. 제 6 항에 있어서, 상기 전송 상태 감시부는, 상기 요구 노드로부터의 신호가 최적 전송 노드의 할당 요청인지 다운로드 상태 정보인지를 판단하여 할당 요청인 경우에는 상기 최적 노드 검색부에게 최적 전송 노드의 검색을 요청하고 다운로드 정보인 경우에는 상기 요구 노드의 노드 정보를 갱신하는 것을 특징으로 하는 최적 노드 검색 장치.7. The method of claim 6, wherein the transmission state monitoring unit determines whether the signal from the requesting node is an allocation request or download state information of the optimal transmitting node, and if the allocation request is an allocation request, searches for the optimal transmitting node for the optimal node searching unit. And requesting and downloading information, updating node information of the requesting node. 파일을 전송받고자 하는 요구 노드의 요청에 따라 해당 파일을 보유하고 있는 전송 노드 중 최적의 전송 노드를 검색하는 최적 노드 검색 방법에 있어서,In the optimal node search method for searching for the optimal transmission node among the transmission nodes holding the file in response to a request of the requesting node to receive the file, 상기 요구 노드의 노드 정보를 포함한 파일 정보를 수신하는 단계와, 상기 요구 노드의 파일 정보와 상기 전송 노드의 파일 정보 및 노드 정보를 이용하여 최적의 전송 노드를 결정하는 단계와, 상기 결정된 최적 전송 노드의 노드 식별자를 상기 요구 노드로 전송하는 단계를 포함하되,Receiving file information including node information of the requesting node, determining an optimal transmitting node using file information of the requesting node, file information and node information of the transmitting node, and determining the determined optimal transmitting node Transmitting the node identifier of to the requesting node; 상기 노드 정보는 해당 노드의 지역 정보, ISP 업체 정보, 회선 종류 정보 및 IP 클래스 정보를 포함하고, 상기 요구 노드의 파일 정보는 전송받고자 하는 파일의 요구 블록 및 요구 속도를 포함하며,The node information includes local node information, ISP company information, line type information, and IP class information of the node, and the file information of the requesting node includes a request block and a request rate of a file to be transmitted. 상기 최적 노드 검색 단계는, 상기 요구 블록을 보유하고 있고 상기 요구 노드의 노드 정보와 일치하는 노드 정보를 갖는 전송 노드 중에서 IP 클래스 정보, 회선 종류 정보, ISP 업체 정보 및 지역 정보의 순으로 우선 순위를 결정하여 우선 순위가 가장 높은 것을 최적 전송 노드로 결정하는 것을 특징으로 하는 최적 노드 검색 방법.The optimal node searching step prioritizes IP class information, line type information, ISP company information, and region information among transport nodes that have the request block and have node information that matches the node information of the request node. Determining and determining the highest priority node as the optimal transmission node. 제 8 항에 있어서, 상기 최적 노드 검색 단계는 IP 클래스 정보가 일치하는 전송 노드 중에서 업로드 속도가 상기 요구 속도보다 크거나 같은 경우에는 해당 전송 노드를 최적 전송 노드로 결정하는 것을 특징으로 하는 최적 노드 검색 방법.10. The method of claim 8, wherein the step of searching for an optimal node determines that the transport node is an optimal transport node when the upload speed is greater than or equal to the required speed among transport nodes with matching IP class information. Way. 제 9 항에 있어서, 상기 업로드 속도가 상기 요구 속도보다 작은 경우에는 상기 요구 노드와 IP 클래스가 일치하는 최후의 전송 노드를 최적 전송 노드로 결정하는 것을 특징으로 하는 최적 노드 검색 방법.10. The method of claim 9, wherein when the upload rate is smaller than the requested rate, the last transmitting node having the same IP class as the requesting node is determined as an optimal transmitting node. 제 9 항에 있어서, 상기 업로드 속도가 상기 요구 속도보다 작은 경우에는 IP 클래스가 일치하는 전송 노드 중에서 업로드 속도가 가장 높은 노드를 최적 전송 노드로 결정하는 것을 특징으로 하는 최적 노드 검색 방법.10. The method of claim 9, wherein when the upload rate is smaller than the required rate, the node having the highest upload rate among the transmission nodes that match the IP class is determined as the optimal transfer node. 제 8 항에 있어서, 상기 검색 정보 전송 단계는 상기 노드 식별자와 함께, 상기 검색 단계에서 결정된 최적 전송 노드의 업로드 속도에 비례하여 상기 최적 전송 노드가 상기 요구 노드로 전송할 파일 블록의 위치를 결정한 블록 할당 정보를 상기 요구 노드로 더 전송하는 것을 특징으로 하는 최적 노드 검색 방법.10. The method of claim 8, wherein the transmitting of the search information comprises, together with the node identifier, a block allocation in which the optimal transmitting node determines a location of a file block to be transmitted to the requesting node in proportion to the uploading speed of the optimal transmitting node determined in the searching step. And further transmitting information to the requesting node. 제 12 항에 있어서, 상기 검색 방법은, 상기 최적 전송 노드에 할당된 파일 블록의 전송이 완료되기 전에 상기 요구 노드와의 접속이 단절되는 시점을 계산하여 상기 단절 시점의 소정 시간 이전에 상기 최적 노드 검색 단계로 복귀하는 전송 상태 감시 단계를 더 포함하는 것을 특징으로 하는 최적 노드 검색 방법.The optimal node of claim 12, wherein the search method calculates a time point at which the connection with the requesting node is disconnected before the transmission of the file block allocated to the optimal transmission node is completed, and the predetermined time point before the disconnection time point. And a transmission status monitoring step of returning to the searching step. 제 13 항에 있어서, 상기 전송 상태 감시 단계는, 상기 요구 노드로부터의 신호가 최적 전송 노드의 할당 요청인지 다운로드 상태 정보인지를 판단하여 할당 요청인 경우에는 상기 최적 노드 검색 단계로 복귀하고 다운로드 정보인 경우에는 상기 요구 노드의 노드 정보를 갱신하는 단계를 더 포함하는 것을 특징으로 하는 최적 노드 검색 방법.The method according to claim 13, wherein the transmission state monitoring step determines whether the signal from the requesting node is an allocation request or download state information of the optimal transmitting node, and returns to the optimum node searching step when the allocation request is an allocation request. And if necessary, updating the node information of the requesting node. 파일을 전송받고자 하는 요구 노드의 요청에 따라 해당 파일을 보유하고 있는 전송 노드 중 최적의 전송 노드를 검색하는 최적 노드 검색 방법을 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서, 상기 방법은:A computer-readable recording medium having recorded thereon a program for executing an optimal node searching method for searching for an optimal transmitting node among transport nodes holding a file according to a request of a requesting node to receive a file. : 상기 요구 노드의 노드 정보를 포함한 파일 정보를 수신하는 단계와, 상기 요구 노드의 파일 정보와 상기 전송 노드의 파일 정보 및 노드 정보를 이용하여 최적의 전송 노드를 결정하는 단계와, 상기 결정된 최적 전송 노드의 노드 식별자를 상기 요구 노드로 전송하는 단계를 포함하되,Receiving file information including node information of the requesting node, determining an optimal transmitting node using file information of the requesting node, file information and node information of the transmitting node, and determining the determined optimal transmitting node Transmitting the node identifier of to the requesting node; 상기 노드 정보는 해당 노드의 지역 정보, ISP 업체 정보, 회선 종류 정보 및 IP 클래스 정보를 포함하고, 상기 요구 노드의 파일 정보는 전송받고자 하는 파일의 요구 블록 및 요구 속도를 포함하며,The node information includes local node information, ISP company information, line type information, and IP class information of the node, and the file information of the requesting node includes a request block and a request rate of a file to be transmitted. 상기 최적 노드 검색 단계는, 상기 요구 블록을 보유하고 있고 상기 요구 노드의 노드 정보와 일치하는 노드 정보를 갖는 전송 노드 중에서 IP 클래스 정보, 회선 종류 정보, ISP 업체 정보 및 지역 정보의 순으로 우선 순위를 결정하여 우선 순위가 가장 높은 것을 최적 전송 노드로 결정하는 것을 특징으로 하는 기록매체.The optimal node searching step prioritizes IP class information, line type information, ISP company information, and region information among transport nodes that have the request block and have node information that matches the node information of the request node. And determine the optimum transmission node having the highest priority. 제 15 항에 있어서, 상기 최적 노드 검색 단계는 IP 클래스 정보가 일치하는 전송 노드 중에서 업로드 속도가 상기 요구 속도보다 크거나 같은 경우에는 해당 전송 노드를 최적 전송 노드로 결정하는 것을 특징으로 하는 기록매체.16. The recording medium of claim 15, wherein the searching for the optimal node determines that the transmitting node is an optimal transmitting node when the uploading rate is greater than or equal to the required rate among the transmitting nodes having the matching IP class information. 제 16 항에 있어서, 상기 업로드 속도가 상기 요구 속도보다 작은 경우에는 상기 요구 노드와 IP 클래스가 일치하는 최후의 전송 노드를 최적 전송 노드로 결정하는 것을 특징으로 하는 기록매체.17. The recording medium of claim 16, wherein when the uploading speed is lower than the demanding speed, the last transmitting node that matches the requesting node and the IP class is determined as an optimal transmitting node. 제 16 항에 있어서, 상기 업로드 속도가 상기 요구 속도보다 작은 경우에는 IP 클래스가 일치하는 전송 노드 중에서 업로드 속도가 가장 높은 노드를 최적 전송 노드로 결정하는 것을 특징으로 하는 기록매체.17. The recording medium of claim 16, wherein when the upload speed is smaller than the required speed, the node having the highest upload speed among the transmission nodes having the same IP class is determined as the optimal transmission node. 제 15 항에 있어서, 상기 검색 정보 전송 단계는 상기 노드 식별자와 함께, 상기 검색 단계에서 결정된 최적 전송 노드의 업로드 속도에 비례하여 상기 최적 전송 노드가 상기 요구 노드로 전송할 파일 블록의 위치를 결정한 블록 할당 정보를 상기 요구 노드로 더 전송하는 것을 특징으로 하는 기록매체.16. The method of claim 15, wherein the retrieving information transmitting step is a block allocation in which the optimal transmitting node determines a location of a file block to be transmitted to the requesting node in proportion to the upload speed of the optimal transmitting node determined in the retrieving step together with the node identifier. And transmitting the information to the requesting node. 제 19 항에 있어서, 상기 검색 방법은, 상기 최적 전송 노드에 할당된 파일 블록의 전송이 완료되기 전에 상기 요구 노드와의 접속이 단절되는 시점을 계산하여 상기 단절 시점의 소정 시간 이전에 상기 최적 노드 검색 단계로 복귀하는 전송 상태 감시 단계를 더 포함하는 것을 특징으로 하는 기록매체.20. The optimal node of claim 19, wherein the search method calculates a time point at which the connection with the requesting node is disconnected before the transmission of the file block allocated to the optimal transmission node is completed. And a transmission state monitoring step of returning to the searching step. 제 20 항에 있어서, 상기 전송 상태 감시 단계는, 상기 요구 노드로부터의 신호가 최적 전송 노드의 할당 요청인지 다운로드 상태 정보인지를 판단하여 할당 요청인 경우에는 상기 최적 노드 검색 단계로 복귀하고 다운로드 정보인 경우에는 상기 요구 노드의 노드 정보를 갱신하는 단계를 더 포함하는 것을 특징으로 하는 기록매체.21. The method according to claim 20, wherein the transmission state monitoring step determines whether the signal from the requesting node is an allocation request or download state information of the optimal transmission node, and returns to the optimum node search step when the allocation request is made. And if necessary, updating the node information of the requesting node.
KR1020030043834A 2003-06-30 2003-06-30 Apparatus and method for searching optimal nodes for use in P2P data communication, and computer readable medium on which program for executing the method is recorded KR100565168B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030043834A KR100565168B1 (en) 2003-06-30 2003-06-30 Apparatus and method for searching optimal nodes for use in P2P data communication, and computer readable medium on which program for executing the method is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030043834A KR100565168B1 (en) 2003-06-30 2003-06-30 Apparatus and method for searching optimal nodes for use in P2P data communication, and computer readable medium on which program for executing the method is recorded

Publications (2)

Publication Number Publication Date
KR20050002456A true KR20050002456A (en) 2005-01-07
KR100565168B1 KR100565168B1 (en) 2006-03-30

Family

ID=37217977

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030043834A KR100565168B1 (en) 2003-06-30 2003-06-30 Apparatus and method for searching optimal nodes for use in P2P data communication, and computer readable medium on which program for executing the method is recorded

Country Status (1)

Country Link
KR (1) KR100565168B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100804075B1 (en) * 2006-08-18 2008-02-18 임승빈 Method and system for controlling connection between client and server using fragmented data and for receiving/playing data using the same
CN101252518B (en) * 2008-03-18 2010-08-18 腾讯科技(深圳)有限公司 System and method for choosing transfer node in peer-to-peer network
US8180853B2 (en) 2007-04-16 2012-05-15 Samsung Electronics Co., Ltd. Method and apparatus for transmitting data in a peer-to-peer network
CN102868625A (en) * 2011-08-05 2013-01-09 新游网络科技有限公司 Method and device for controlling outer traffic of local area network and computer-readable recording medium recording program embodying the method
KR20150115273A (en) * 2014-04-03 2015-10-14 에스케이텔레콤 주식회사 Method for controlling p2p communication and recording medium recording program therfor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032282A (en) 2000-05-11 2002-01-31 Fujitsu Ltd System and method for distributing contents on network and program product of the system and method
KR100382217B1 (en) * 2000-09-21 2003-04-26 (주)아이씨소프트 method of transmitting data in a pyramid propagation way by establishing a plurality of clients into a hierarchical connection and apparatus for the same
KR100489540B1 (en) * 2001-07-21 2005-05-16 (주)와이즈인터네셔날코리아 Optimum node reference System in data communication network and method therefore
JP2003223378A (en) 2002-01-29 2003-08-08 Fujitsu Ltd Contents delivery network service method and system
KR20050002560A (en) * 2003-06-30 2005-01-07 주식회사 그래텍 A system and a method for providing multimedia contents through P2P network

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100804075B1 (en) * 2006-08-18 2008-02-18 임승빈 Method and system for controlling connection between client and server using fragmented data and for receiving/playing data using the same
WO2008020708A1 (en) * 2006-08-18 2008-02-21 Infobada Co., Ltd. Method and system for controlling connection between client and server using fragmented data and for receiving/playing data using the same
US8180853B2 (en) 2007-04-16 2012-05-15 Samsung Electronics Co., Ltd. Method and apparatus for transmitting data in a peer-to-peer network
US8984096B2 (en) 2007-04-16 2015-03-17 Samsung Electronics Co., Ltd. Method and apparatus for transmitting data in a peer-to-peer network
CN101252518B (en) * 2008-03-18 2010-08-18 腾讯科技(深圳)有限公司 System and method for choosing transfer node in peer-to-peer network
CN102868625A (en) * 2011-08-05 2013-01-09 新游网络科技有限公司 Method and device for controlling outer traffic of local area network and computer-readable recording medium recording program embodying the method
WO2013022181A1 (en) * 2011-08-05 2013-02-14 Neowiz Games Corporation Method and device for controlling outer traffic of local area network and computer-readable recording medium recording program embodying the method
KR101299142B1 (en) * 2011-08-05 2013-08-26 (주)네오위즈게임즈 Method and device for controlling outer traffic of local area network
KR20150115273A (en) * 2014-04-03 2015-10-14 에스케이텔레콤 주식회사 Method for controlling p2p communication and recording medium recording program therfor

Also Published As

Publication number Publication date
KR100565168B1 (en) 2006-03-30

Similar Documents

Publication Publication Date Title
US11194719B2 (en) Cache optimization
CN106130882B (en) The method and apparatus for being used for transmission message
US7580971B1 (en) Method and apparatus for efficient SQL processing in an n-tier architecture
EP1721438B1 (en) Server, method and system for caching data streams
CN100525288C (en) Method and apparatus for large payload distribution in network
KR100576935B1 (en) Ontology-based service discovery system and method for ad hoc networks
US8880698B2 (en) Storage of content data in a peer-to-peer network
US7734820B1 (en) Adaptive caching for a distributed file sharing system
EP2227016B1 (en) A content buffering, querying method and point-to-point media transmitting system
CN109600447B (en) Method, device and system for processing data
US7970856B2 (en) System and method for managing and distributing assets over a network
EP1867137B1 (en) Method and apparatus for efficiently expanding a p2p network
US20090113412A1 (en) Method and apparatus for enhanced synchronization protocol
US20030101267A1 (en) Peer-to-peer caching network
US20060212595A1 (en) Method and computer-readable medium for associating sequence numbers with data blocks for distribution of data in a peer-to-peer network
US8208477B1 (en) Data-dependent overlay network
US20130166739A1 (en) Localization Of Peer To Peer Traffic
US7433928B1 (en) System pre-allocating data object replicas for a distributed file sharing system
JP2003122658A (en) Data distribution method
US20100332506A1 (en) Marking sought after content items on network media devices
KR100565168B1 (en) Apparatus and method for searching optimal nodes for use in P2P data communication, and computer readable medium on which program for executing the method is recorded
WO2009006779A1 (en) Method and system for determining user home index node and home service node
CN114124939A (en) Pre-cache file processing method and device and file pre-cache system
US9137331B2 (en) Adaptive replication
CN116684416A (en) Mirror image distribution method, device and system in network element cluster

Legal Events

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

Payment date: 20130222

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140320

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150212

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170316

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180322

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 15