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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
본 발명은 피투피 통신에서 특정 파일을 전송받고자 하는 노드(이하, '요구 노드'라고 함)에게 해당 파일을 보유하고 있는 노드(이하, '전송 노드'라고 함) 중 최적의 전송 조건을 가진 노드를 검색할 수 있는 기술에 관한 것으로서, 특히 전송 노드의 지역, 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)
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)
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)
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 |
-
2003
- 2003-06-30 KR KR1020030043834A patent/KR100565168B1/en active IP Right Grant
Cited By (9)
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 |