KR20060025286A - Data dispersion transmission system for network and method therefore - Google Patents

Data dispersion transmission system for network and method therefore Download PDF

Info

Publication number
KR20060025286A
KR20060025286A KR1020040073663A KR20040073663A KR20060025286A KR 20060025286 A KR20060025286 A KR 20060025286A KR 1020040073663 A KR1020040073663 A KR 1020040073663A KR 20040073663 A KR20040073663 A KR 20040073663A KR 20060025286 A KR20060025286 A KR 20060025286A
Authority
KR
South Korea
Prior art keywords
client
data
clients
list
packet
Prior art date
Application number
KR1020040073663A
Other languages
Korean (ko)
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 KR1020040073663A priority Critical patent/KR20060025286A/en
Publication of KR20060025286A publication Critical patent/KR20060025286A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/40Flow control; Congestion control using split connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 데이터 중계 방식을 통한 데이터 전송시에 전송상태가 양호한 상위 클라이언트를 수시로 검색하여 데이터를 전송받을 클라이언트를 변경함에 의해, 항상 안정된 전송 속도를 유지할 수 있도록 하는 네트워크를 통한 데이터의 분산 전송 시스템과 그 방법을 제공한다. 이를 위해 본 발명은 네트워크를 통해 직접 접속된 상위 클라이언트에 데이터 패킷을 전송하고, 직접 접속된 상위 클라이언트 또는 데이터 패킷을 전송받는 다른 상위 클라이언트의 정보를 포함하는 클라이언트 리스트를 전송하는 서버와, 상기 서버와 직접 접속하거나 다른 상위 클라이언트에 대해 하위 클라이언트로서 접속되고서, 데이터 패킷을 하위 클라이언트에 중계하는 역할을 수행하는 다수의 상위 클라이언트 및, 상기 서버로부터 전송되는 클라이언트 리스트에 포함된 상위 클라이언트에 데이터가 패킷 단위로 분할된 패킷을 순차적으로 요청하여 수신되는 패킷의 전송 조건이 양호한 상위 클라이언트를 선별하고, 선별된 특정 상위 클라이언트를 통해 데이터 패킷을 집중적으로 수신받는 다수의 하위 클라이언트로 구성된 것을 특징으로 한다.The present invention provides a distributed transmission system of data through a network that maintains a stable transmission speed at all times by changing a client to receive data by frequently searching for a higher client having a good transmission state when transmitting data through a data relay method. It provides a way. To this end, the present invention provides a server for transmitting a data packet to an upper client directly connected through a network, and transmitting a client list including information of the upper client directly connected or another upper client receiving the data packet, and the server; Data is packetized to a plurality of upper clients that are directly connected or connected as lower clients to other upper clients, and relay data packets to lower clients, and upper clients included in the client list transmitted from the server. It is characterized by consisting of a plurality of sub-clients to sequentially request the packet divided into the upper client having a good transmission condition of the received packet, and to receive the data packet intensively through the selected specific upper client The.

서버, 클라이언트, 중계, 패킷, 리스트 Server, client, relay, packet, list

Description

네트워크를 통한 데이터의 분산 전송 시스템과 그 방법{DATA DISPERSION TRANSMISSION SYSTEM FOR NETWORK AND METHOD THEREFORE} DATA DISPERSION TRANSMISSION SYSTEM FOR NETWORK AND METHOD THEREFORE}             

도 1은 본 발명에 따른 네트워크를 통한 데이터의 분산 전송 시스템에 대한 구성을 나타낸 도면, 1 is a diagram showing a configuration of a distributed transmission system of data through a network according to the present invention;

도 2는 본 발명의 바람직한 실시예에 따라 클라이언트가 서버 및 중계 클라이언트로부터 클라이언트 리스트를 획득하는 상태를 예시적으로 나타낸 도면, 2 is a diagram illustrating a state in which a client obtains a client list from a server and a relay client according to a preferred embodiment of the present invention;

도 3은 본 발명의 바람직한 실시예에 따라 클라이언트 리스트 내의 중계 클라이언트에 순차적으로 패킷을 요청하여 전송상태가 양호한 상위 클라이언트를 선별하는 상태를 예시적으로 나타낸 도면, FIG. 3 is a diagram illustrating a state in which a request is made to a relay client in a client list sequentially to request a packet to select a higher client having a good transmission state according to an embodiment of the present invention;

도 4는 본 발명의 바람직한 실시예에 따라 복수의 선별된 상위 클라이언트 중에서 전송 상태가 양호한 복수의 중계 클라이언트에 패킷을 요청하여 순차적으로 전송받는 상태를 예시적으로 나타낸 도면, 4 is a diagram illustrating a state in which packets are sequentially transmitted by requesting a packet to a plurality of relay clients having a good transmission state among a plurality of selected upper clients according to a preferred embodiment of the present invention;

도 5는 본 발명의 바람직한 실시예에 따라 서버로부터 갱신적으로 수신받은 클라이언트 리스트와 상위 클라이언트로부터 각각 수신받은 클라이언트 리스트를 분석하여 상위 클라이언트를 갱신 적용하는 상태를 예시적으로 나타낸 도면, FIG. 5 is a diagram exemplarily illustrating a state in which an upper client is updated by analyzing a client list updated from a server and a client list received from a higher client according to an exemplary embodiment of the present invention; FIG.

도 6은 본 발명의 바람직한 실시예에 따라 복수의 상위 클라이언트 중에 특 정 클라이언트의 송신능력이 해제되면, 대기중인 다음 순위의 클라이언트를 적용하는 상태를 예시적으로 나타낸 도면, 6 is a diagram illustrating a state in which a client of a next rank waiting is applied when a transmission capability of a specific client is released from among a plurality of higher clients according to a preferred embodiment of the present invention;

도 7a 및 도 7b는 본 발명에 따른 네트워크를 통한 데이터의 분산 전송 방법에 대한 동작을 설명하는 플로우차트이다. 7A and 7B are flowcharts illustrating an operation of a distributed transmission method of data through a network according to the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

10:데이터 수신부, 15:데이터 처리부,10: data receiving unit, 15: data processing unit,

20:리스트 추출부, 25:데이터 중계부, 20: list extracting unit, 25: data relay unit,

30:데이터 송신부, 35:데이터 송수신 컨트롤부,30: data transmission unit, 35: data transmission and reception control unit,

100:서버, 200,300:클라이언트.100: server, 200, 300: client.

본 발명은 네트워크를 통한 데이터의 분산 전송 시스템과 그 방법에 관한 것으로서, 보다 상세하게는 데이터 중계 시스템에서, 다수의 클라이언트에 대해 전송하고자 하는 특정 데이터의 패킷을 분산적으로 전송할 수 있도록 하는 네트워크를 통한 데이터의 분산 전송 시스템과 그 방법에 관한 것이다.The present invention relates to a distributed transmission system and method of data over a network, and more particularly, in a data relay system, through a network to enable the distributed transmission of packets of specific data to be transmitted to a plurality of clients. A distributed transmission system of data and a method thereof.

종래, 일반적으로 인터넷과 같은 멀티미디어 통신 네트워크를 통한 데이터의 전송 방식은 피어-투-피어(Peer-to-Peer)의 일대일 전송 방식이나 유니캐스트 전송 방식과 같은 서버/클라이언트 개념의 하나의 송신단으로부터 다른 수신단으로 데이터가 송신되도록 되어 있었다. Conventionally, the transmission of data through a multimedia communication network such as the Internet is generally different from one transmitting end of a server / client concept such as peer-to-peer one-to-one transmission or unicast transmission. Data was to be sent to the receiving end.

상기 피어-투-피어 방식의 데이터 중게 시스템의 경우에는 하나의 클라이언트 단말기가 원하는 파일이나 데이터를 전송해 줄 수 있는 클라이언트의 리스트를 보유한 상태에서, 상기 파일 또는 데이터의 패킷중에 특정 부분의 패킷을 리스트 내의 클라이언트에 요청함에 의해 원하는 데이터를 중계받아 수신할 수 있도록 되어 있다. In the case of the peer-to-peer data center system, a packet of a specific part of the file or data packet is listed while a client terminal has a list of clients that can transmit a desired file or data. By requesting a client in the network, desired data can be relayed and received.

그러나, 이러한 피어-투-피어 방식의 데이터 중계 시스템의 경우에는 원하는 파일 또는 데이터를 제공받기 위해 클라이언트 리스트 내의 특정한 상위 클라이언트에 접속하여 지속적으로 데이터를 전송받도록 하고 있기 때문에, 클라이언트 단말기의 시스템 상태나 네트워크의 상태에 따른 불균일적인 데이터의 전송상태에도 불구하고, 데이터의 실질적인 전송 상태에 적응적으로 이루어지지 못하고 지속적으로 특정한 상위 클라이언트를 통해서만 데이터를 전송받을 수 있도록 함으로써, 전체적으로 균일한 전송 속도를 달성하고자 하는 데이터 전송방식에 큰 장애요인으로 작용한다는 문제점이 있다. However, in the case of such a peer-to-peer data relay system, a specific upper client in the client list is continuously connected to receive data or data, and thus data is continuously transmitted. Despite the non-uniform data transmission status according to the state of the data, it is impossible to adapt to the actual transmission status of the data and to continuously receive the data only through a specific upper client, thereby achieving a uniform transmission speed as a whole. There is a problem that it acts as a big obstacle to the data transmission method.

따라서, 본 발명은 상기한 종래의 문제점을 해결하기 위해 이루어진 것으로서, 그 목적은 데이터 중계 방식을 통한 데이터 전송시에 전송상태가 양호한 상위 클라이언트를 수시로 검색하여 데이터를 전송받을 클라이언트를 변경함에 의해, 항상 안정된 전송 속도를 유지할 수 있도록 하는 네트워크를 통한 데이터의 분산 전송 시스템과 그 방법을 제공하는 것이다. Accordingly, the present invention has been made to solve the above-mentioned conventional problems, and its object is always to change the client to receive data by frequently searching for a higher client having a good transmission state when transmitting data through a data relay method. It is to provide a distributed transmission system and method of data through a network that can maintain a stable transmission rate.

본 발명의 다른 목적은 멀티캐스팅 전송방식을 통한 데이터 전송시에 해당 데이터를 패킷 별로 상위 클라이언트에 순차적으로 요청하여 전송 조건이 가장 좋은 상위 클라이언트를 선별함에 의해, 선별된 상위 클라이언트에 나머지 데이터의 패킷을 전송받을 수 있도록 하는 네트워크를 통한 데이터의 분산 전송 시스템과 그 방법을 제공하는 것이다. Another object of the present invention is to select the upper client having the best transmission condition by sequentially requesting the corresponding data for each packet to the upper client during data transmission through the multicasting transmission method, thereby receiving the remaining packets of the data to the selected upper client. It is to provide a distributed transmission system and a method of transmitting data through a network that can be transmitted.

본 발명의 또 다른 목적은 전송 조건이 가장 좋은 상위 클라이언트를 선별하여 데이터 패킷을 전송받는 상태에서, 서버로부터의 갱신된 클라이언트 리스트와 그 클라이언트 리스트 내의 상위 클라이언트로부터 리스트를 수신받아 취합함에 의해, 전송 조건이 좋은 상위 클라이언트를 갱신적으로 선별하여 데이터 패킷을 전송 받을 수 있도록 하는 네트워크를 통한 데이터의 분산 전송 시스템과 그 방법을 제공하는 것이다.
It is still another object of the present invention to select an upper client having the best transmission condition and receive a data packet, thereby receiving and collecting an updated client list from the server and a list from the upper client in the client list, The present invention provides a distributed transmission system and method of data through a network that selectively selects a good upper client and receives a data packet.

상기한 목적을 달성하기 위해 본 발명의 시스템에 따르면, 네트워크를 통해 직접 접속된 상위 클라이언트에 데이터 패킷을 전송하고, 직접 접속된 상위 클라이언트 또는 데이터 패킷을 전송받는 다른 상위 클라이언트의 정보를 포함하는 클라이언트 리스트를 전송하는 서버와, 상기 서버와 직접 접속하거나 다른 상위 클라이언트에 대해 하위 클라이언트로서 접속되고서, 데이터 패킷을 하위 클라이언트에 중계하는 역할을 수행하는 다수의 상위 클라이언트 및, 상기 서버로부터 전송되는 클라이언트 리스트에 포함된 상위 클라이언트에 데이터가 패킷 단위로 분할된 패킷을 순차적으로 요청하여 수신되는 패킷의 전송 조건이 양호한 상위 클라이언트를 선별하고, 선별된 특정 상위 클라이언트를 통해 데이터 패킷을 집중적으로 수신받는 다수의 하위 클라이언트로 구성된 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 시스템을 제공한다.In order to achieve the above object, according to the system of the present invention, a client list that transmits a data packet to a higher client directly connected through a network, and includes information of the upper client directly connected or another upper client receiving the data packet. A plurality of upper clients that are directly connected to the server or connected as a lower client to another upper client, and relay data packets to the lower client, and a client list transmitted from the server. A plurality of lower clients receiving the data packet through the selected upper client by selecting the upper client having good transmission condition of the received packet by sequentially requesting the packet to which the upper client is included in the data divided into packet units It provides a data distribution system of the transmission through the network, characterized in that configured in the client.

상기한 목적을 달성하기 위해 본 발명의 방법에 따르면, 소정 데이터의 전송 요청에 따라 서버로부터 클라이언트 리스트를 수신받는 단계와, 클라이언트에서 상기 서버로부터 수신받은 클라이언트 리스트에 포함된 다수의 상위 클라이언트에 대해 소정 데이터의 패킷을 순차적이고 전반적으로 요청하여 수신되는 각각의 패킷에 대한 전송 속도를 체크하는 단계 및, 상기 체크된 전송 속도를 근거로 최적으로 전 송 조건이 양호한 특정 상위 클라이언트를 선별하여 소정 데이터의 패킷을 집중적으로 요청하고 그에 따른 패킷을 수신받는 단계로 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 방법을 제공한다.In order to achieve the above object, according to the method of the present invention, receiving a client list from a server according to a request for transmission of predetermined data, and for a plurality of higher clients included in the client list received from the server at the client, Requesting a packet of data sequentially and overall, checking a transmission rate for each received packet; and selecting a specific upper client having an optimal transmission condition based on the checked transmission rate and selecting a packet of predetermined data. The present invention provides a distributed transmission method of data through a network, characterized in that the step of intensively requesting and receiving a packet accordingly.

이하, 상기한 바와 같이 구성된 본 발명에 대해 첨부도면을 참조하여 상세히 설명한다.Hereinafter, the present invention configured as described above will be described in detail with reference to the accompanying drawings.

즉, 도 1은 본 발명에 따른 네트워크를 통한 데이터의 분산 전송 시스템에 대한 구성을 나타낸 도면이다. That is, FIG. 1 is a diagram illustrating a configuration of a distributed transmission system of data through a network according to the present invention.

도 1에 도시된 바와 같이, 본 발명에 따른 네트워크를 통한 데이터의 분산 전송 시스템은, 하위로 접속되는 다수의 클라이언트에 원하는 데이터를 패킷 형태로 제공하고, 데이터의 전송을 위해 직접 접속되는 상위 클라이언트에 대한 클라이언트 리스트를 갖추고 있는 서버(100)와, 상기 서버(100)로부터 직접 접속되거나 다른 상위 클라이언트를 중계기로서 접속하여 원하는 데이터 패킷을 수신받고, 서버(100) 및 상위 클라이언트로부터 수신받는 클라이언트 리스트를 기초로 데이터의 전송 조건이 가장 양호한 클라이언트를 선별하여 선별된 클라이언트를 통해 데이터 패킷을 전송받을 수 있도록 이루어진 클라이언트(200,300)로 구성된다. As shown in FIG. 1, a distributed transmission system of data through a network according to an embodiment of the present invention provides a plurality of clients connected to a lower level with desired data in the form of packets and directly to a higher client connected directly for data transmission. A server 100 having a client list for the client and a server connected directly from the server 100 or another upper client as a relay to receive a desired data packet, and based on the client list received from the server 100 and the upper client. The client 200 and 300 are configured to select a client having the best data transmission condition and receive a data packet through the selected client.

상기 서버(100)는 데이터 송신부(50)에서 정보 데이터베이스(55)에 저장되어 있는 다수의 클라이언트에 전송하고자 하는 동영상이나, 오디오, 프로그램 파일, 패치 파일 등과 같은 데이터 파일을 일정 크기의 패킷으로 분할하여 각 패킷에 대해 패킷 번호를 부여하고, 네트워크를 통해 직접 접속되는 다수의 상위 클라이언트 들 또는 해당 데이터 패킷을 중계하는 다수의 중계 클라이언트들에 대한 리스트를 작성하여 해당 상위 클라이언트 뿐만 아니라, 다수의 하위 클라이언트에 제공한다. The server 100 divides a data file, such as a video, an audio, a program file, a patch file, etc., to be transmitted to a plurality of clients stored in the information database 55 by the data transmitter 50 into packets of a predetermined size. It assigns a packet number to each packet and creates a list of a plurality of upper clients that are directly connected through the network, or a plurality of relay clients that relay the data packet, to a plurality of lower clients as well as the upper client. to provide.

여기서, 상기 서버(100)는 리스트 관리부(60)에서 다수의 상위 클라이언트들과 하위 클라이언트들에 클라이언트 리스트(65)를 제공하고 나서, 클라이언트 리스트(65)를 정기적으로 업데이트하여 주기적으로 전송하도록 함에 의해, 하위 클라이언트가 전송 조건이 양호한 상위 클라이언트를 주기적으로 갱신할 수 있도록 한다. In this case, the server 100 provides the client list 65 to the plurality of upper clients and the lower clients in the list manager 60, and then periodically updates the client list 65 to transmit periodically. Therefore, the lower client can periodically update the upper client with a good transmission condition.

상기 서버(100)에서 제공하는 클라이언트 리스트는 데이터를 중계하는 상위 클라이언트의 IP주소와, 포트 번호, 전송받고자 하는 데이터의 패킷번호 정보가 포함되어 있다. The client list provided by the server 100 includes an IP address, a port number, and packet number information of data to be transmitted, of an upper client relaying data.

한편, 상기 클라이언트 리스트에는 상위 클라이언트의 IP주소와, 포트 번호 이외에도, 각 상위 클라이언트의 데이터 패킷 전송 속도 등을 감안한 전송 능력 정보를 포함할 수도 있는 바, 상기 서버(100)에서 각 상위 클라이언트에 대한 데이터 전송 능력을 측정하여 리스트에 포함시킬 수 있도록 하는 것이 바람직하다. In addition, the client list may include transmission capability information in consideration of the data packet transmission speed of each upper client, in addition to the IP address and port number of the upper client. It is desirable to measure the transmission capability so that it can be included in the list.

상기 클라이언트(200)는 중계 클라이언트로서 동작하여 데이터 수신부(15)와 데이터 송신부(20)를 갖춘 데이터 송수신 컨트롤부(10)와, 정보 저장부(25), 데이터 처리부(30), 리스트 관리부(35), 클라이언트 리스트(40)를 포함하여 구성되고, 상기 클라이언트(300)도 상기 클라이언트(200)와 동일하게 데이터 수신부(75)와 데이터 송신부(80)를 갖춘 데이터 송수신 컨트롤부(70)와, 정보 저장부(85), 데이터 처리부(90), 리스트 관리부(95), 클라이언트 리스트(97)를 포함하여 구성된다. The client 200 operates as a relay client and includes a data transmission / reception control unit 10 including a data receiver 15 and a data transmitter 20, an information storage unit 25, a data processor 30, and a list manager 35. And a client list 40, the client 300 also has a data transmission / reception control unit 70 and a data receiver 75 and a data transmitter 80, similarly to the client 200. The storage unit 85 includes a storage unit 85, a data processing unit 90, a list management unit 95, and a client list 97.

상기 클라이언트(200)의 데이터 수신부(15)는 네트워크를 통해 상기 서버(100)와 직접 접속하여 원하는 데이터 패킷을 직접 수신받거나, 하위 클라이언트로서 적용되어 특정 상위 클라이언트로부터 원하는 데이터 패킷을 수신받게 되고, 상기 데이터 송신부(20)는 서버(100) 또는 다른 상위 클라이언트로부터 수신받은 데이터 패킷을 하위 클라이언트로서의 클라이언트(300)로 송신하게 된다. The data receiving unit 15 of the client 200 directly receives the desired data packet by directly connecting with the server 100 through a network, or is applied as a lower client to receive a desired data packet from a specific upper client. The data transmitter 20 transmits the data packet received from the server 100 or another upper client to the client 300 as the lower client.

상기 데이터 처리부(30)는 상기 데이터 수신부(15)를 통해 수신받아 정보 저장부(25)에 저장되는 데이터 패킷을 동영상 데이터 스트림이나, 오디오 데이터 스트림 또는 프로그램 파일 데이터, 패치 파일의 형태로 복원하는 처리를 수행하게 되고, The data processing unit 30 receives the data packet received through the data receiving unit 15 and stores the data packet stored in the information storage unit 25 in the form of a video data stream, audio data stream, program file data, or patch file. Will be performed,

상기 리스트 관리부(35)는 상기 서버(100)의 리스트 관리부(60)로부터 클라이언트 리스트(40)를 수신받아, 상기 서버(100) 또는 상위 클라이언트로부터의 클라이언트 리스트에 포함된 클라이언트에 각 패킷번호 별로 패킷을 순차적으로 요청하여, 수신되는 패킷의 전송 속도에 따라 가장 전송 조건이 양호한 상위 클라이언트를 선별하고, 선별된 상위 클라이언트를 통해 수신받고자 하는 데이터의 패킷이 수신될 수 있도록 관리하는 역할을 수행한다. The list manager 35 receives the client list 40 from the list manager 60 of the server 100, and transmits packets to the clients included in the client list from the server 100 or a higher client for each packet number. Sequentially request, and selects the upper client having the best transmission condition according to the transmission rate of the received packet, and manages the packet of the data to be received through the selected upper client.

도 2는 본 발명의 바람직한 실시예에 따라 클라이언트가 서버 및 중계 클라이언트로부터 클라이언트 리스트를 획득하는 상태를 예시적으로 나타낸 도면으로서, 동 도면에서는 서버(100)에 다수의 클라이언트(C1∼C20)가 직접 접속되고서, 각기 동일한 데이터 또는 파일의 패킷을 수신받아서 하위의 클라인언트에 중계할 수 있는 중계 클라이언트로서의 기능을 담당한다. FIG. 2 is a diagram illustrating a state in which a client acquires a client list from a server and a relay client according to a preferred embodiment of the present invention, in which a plurality of clients C1 to C20 are directly connected to the server 100. When connected, it functions as a relay client that can receive packets of the same data or file and relay them to the lower client.

도 2에서, 상기 서버(100)는 상기 다수의 중계 클라이언트(C1∼C20)가 직접 접속됨에 따라, 그에 따른 클라이언트 리스트(SL)를 작성하여 해당 리스트의 전송을 요청하는 클라이언트(200)에 전송하게 되고, 상기 클라이언트(200)는 상기 서버(100)로부터 수신받은 클라이언트 리스트(SL)에 포함된 다수의 중계 클라이언트(C1∼C20)에 대해 전송받고자 하는 데이터 또는 파일을 패킷 번호 별로 순차적으로 패킷 요청을 수행하고, 각각 수신받는 패킷의 전송 속도에 따라 전송 조건이 양호한 중계 클라이언트를 복수개로 선별하여 해당 데이터 또는 파일의 패킷을 순차적으로 전송받게 된다. In FIG. 2, as the plurality of relay clients C1 to C20 are directly connected, the server 100 creates a client list SL according to the plurality of relay clients C1 to C20 and transmits the same to the client 200 requesting transmission of the corresponding list. The client 200 sequentially requests packet or data for each of the plurality of relay clients C1 to C20 included in the client list SL received from the server 100 for each packet number. Each of the plurality of relay clients having a good transmission condition is selected according to the transmission rate of the received packet, and the packets of the corresponding data or file are sequentially received.

한편, 상기 서버(100)는 시간 경과에 따른 중계 클라이언트의 전송 조건 변동에 따라 주기적으로 클라이언트 리스트를 갱신하여 상기 클라이언트(200)에 전송하게 되고, 상기 다수의 중계 클라이언트(C1∼C20)에서도 상기 서버(100)로부터 전송받은 클라이언트 리스트(Ln)를 상기 클라이언트(200)에 제공한다. Meanwhile, the server 100 periodically updates the client list and transmits the list to the client 200 according to a change in the transmission condition of the relay client over time, and the plurality of relay clients C1 to C20 also receive the server. The client list Ln received from 100 is provided to the client 200.

여기서, 상기 중계 클라이언트(C1∼C20)가 서버(100)에 직접 접속되어 있지는 않지만 상위 클라이언트를 통해 수신받은 패킷을 하위 클라이언트에 중계하는 중계기로서 작용하는 경우에도, 상기 서버(100)로부터 각각 수신받은 클라이언트 리스트를 하위의 클라이언트(200)에 전송하도록 한다. Here, even though the relay clients C1 to C20 are not directly connected to the server 100, even if the relay client C1 to C20 acts as a relay for relaying a packet received through the upper client to the lower client, the relay client C1 to C20 is received from the server 100, respectively. The client list is transmitted to the lower client 200.

다음에, 도 3은 본 발명의 바람직한 실시예에 따라 클라이언트 리스트 내의 중계 클라이언트에 순차적으로 패킷을 요청하여 전송상태가 양호한 상위 클라이언트를 선별하는 상태를 예시적으로 나타낸 도면으로서, 상기 서버(100)에서 전송하고자 하는 파일 또는 데이터는 각각 고유의 패킷번호가 부여되는 다수의 패킷(P1∼Pn)으로 분할되어 있다. Next, FIG. 3 is a diagram exemplarily illustrating a state in which the upper client having a good transmission status is selected by sequentially requesting packets to a relay client in the client list according to a preferred embodiment of the present invention. The file or data to be transmitted is divided into a plurality of packets P1 to Pn each having a unique packet number.

도 3에서, 상기 클라이언트(200)는 1차적으로 상기 서버(100)로부터 수신받은 클라이언트 리스트에 포함되어 있는 다수의 상위 클라이언트(C1∼C20)에 대해 전송받고자 하는 데이터 또는 파일의 패킷을 패킷번호 별로 순차적으로 요청하여 각기 해당되는 패킷(P1∼P20)을 전송받게 되고, 각기 수신되는 패킷(P1∼P20)의 전송 속도를 체크하여 전송 조건이 양호한 복수의 상위 클라이언트(C2,C4,C5,C11,C15)를 선별한다. In FIG. 3, the client 200 primarily packets packets of data or files to be transmitted to a plurality of upper clients C1 to C20 included in the client list received from the server 100, by packet number. By sequentially requesting and receiving the corresponding packets P1 to P20, and checking the transmission rates of the received packets P1 to P20, the plurality of higher-level clients C2, C4, C5, C11, C15) is selected.

한편, 상기 클라이언트(200)는 상기 서버(100)로부터 1차적으로 수신받은 클라이언트 리스트에 각 상위 클라이언트(C1∼C20)에 대한 전송 능력 정보가 포함되어 있는 경우에는, 해당 리스트에 포함된 모든 상위 클라이언트(C1∼C20)에 데이터 패킷을 순차적으로 요청하지 않고서도, 상기 전송 능력 정보를 근거로 전송 조건이 양호한 복수의 상위 클라이언트(C2,C4,C5,C11,C15)를 선별하는 것이 가능하게 된다. On the other hand, if the client 200 includes transmission capability information for each of the upper clients C1 to C20 in the client list primarily received from the server 100, all the upper clients included in the list. It is possible to select a plurality of higher-level clients C2, C4, C5, C11, and C15 having good transmission conditions based on the transmission capability information without sequentially requesting data packets from C1 to C20.

다음에, 도 4는 본 발명의 바람직한 실시예에 따라 복수의 선별된 상위 클라이언트 중에서 전송 상태가 양호한 복수의 중계 클라이언트에 패킷을 요청하여 순차적으로 전송받는 상태를 예시적으로 나타낸 도면이다. Next, FIG. 4 is a diagram exemplarily illustrating a state in which packets are sequentially transmitted by requesting packets to a plurality of relay clients having a good transmission state among a plurality of selected upper clients according to a preferred embodiment of the present invention.

도 4에서, 상기 클라이언트(200)에서는 상기 클라이언트 리스트에 포함된 다수의 클라이언트(C1∼C20)에 대해 데이터 패킷을 순차적으로 전송받음에 의해 선별되는 복수의 상위 클라이언트(C2,C4,C5,C11,C15)에 대해 데이터 패킷을 요청하여 순차적으로 원하는 데이터 패킷(P21∼P44)을 전송받도록 하되, 데이터의 전송 조건이 가장 양호한 특정 상위 클라이언트(C4)에 대해서는 다른 상위 클라이언트(C2,C5,C11,C15)보다 데이터 패킷을 더 전송받도록 한다. In FIG. 4, the client 200 selects a plurality of upper clients C2, C4, C5, C11, which are selected by sequentially receiving data packets for a plurality of clients C1 to C20 included in the client list. C15) requests a data packet so as to receive the desired data packets P21 to P44 sequentially, but the other upper client C2, C5, C11, C15 for the specific upper client C4 having the best data transmission condition. To receive more data packets.

그 상태에서, 상기 클라이언트(200)는 주기적으로 상기 선별된 복수의 상위 클라이언트(C2,C4,C5,C11,C15)에 대해 각 패킷번호 별로 패킷을 순차적으로 요청하여, 수신되는 패킷의 전송 속도를 체크함에 의해 전송 조건이 가장 양호한 클라이언트가 변경되면(예컨대 클라이언트(C4)로부터 클라이언트(C5)로 변경), 해당 변경된 상위 클라이언트(C5)에 데이터 패킷의 전송을 다른 상위 클라이언트보다 더 전송받도록 하게 된다. In this state, the client 200 periodically requests the packets of the selected plurality of upper clients C2, C4, C5, C11, and C15 sequentially for each packet number to determine the transmission rate of the received packets. By checking, if the client having the best transmission condition is changed (for example, from client C4 to client C5), the transmission of the data packet to the corresponding higher client C5 is received more than other upper clients.

한편, 상기 클라이언트(200)에서 각 상위 클라이언트에 대한 전송 조건을 체크하는 주기는 데이터 송수신 컨트롤부(35)를 구동하는 데이터 송수신 관리 프로그램에서 결정된 주기에 따라 고정적으로 진행하는 것이 바람직하고, 해당 클라이언트의 사용자에 대해 주기 조정 메뉴를 제공하여 사용자에 의해 그 주기를 임의적으로 변경시키도록 하는 것도 얼마든지 가능하다. On the other hand, the period of checking the transmission conditions for each upper client in the client 200 is preferably fixed to proceed according to the period determined in the data transmission and reception management program for driving the data transmission and reception control unit 35, It is also possible to provide a period adjustment menu for the user to arbitrarily change the period by the user.

다음에, 도 5는 본 발명의 바람직한 실시예에 따라 서버로부터 갱신적으로 수신받은 클라이언트 리스트와 상위 클라이언트로부터 각각 수신받은 클라이언트 리스트를 분석하여 상위 클라이언트를 갱신 적용하는 상태를 예시적으로 나타낸 도면이다. Next, FIG. 5 is a diagram exemplarily illustrating a state in which an upper client is updated by analyzing a client list updated from a server and a client list received from a higher client according to an exemplary embodiment of the present invention.

도 5에서, 상기 클라이언트(200)는 전송 조건이 양호한 복수의 상위 클라이언트(C2,C4,C5,C11,C15)를 통해서 데이터 패킷을 전송받고 있는 상태에서, 상기 선별된 복수의 상위 클라이언트(C2,C4,C5,C11,C15)에 대해 리스트의 전송을 요청하여 각기 서버(100)로부터 제공받은 클라이언트 리스트(L2,L4,L5,L11,L15)를 수신받게 되고, 상기 서버(100)로부터 주기적으로 클라이언트 리스트(SL)를 제공받게 된다. In FIG. 5, the client 200 receives data packets through a plurality of upper clients C2, C4, C5, C11, and C15 having good transmission conditions, and selects the selected plurality of upper clients C2, C4, C5, C11, and C15 are requested to transmit the list to receive the client list L2, L4, L5, L11, and L15 provided from the server 100, respectively, and periodically from the server 100. You will be provided with a client list (SL).

상기 클라이언트(200)는 이미 보유하고 있는 선별된 복수의 상위 클라이언트(C2,C4,C5,C11,C15)에 대한 클라이언트 리스트를 기초로 상기 복수의 상위 클라이언트(C2,C4,C5,C11,C15)로부터 수신받은 클라이언트 리스트(L2,L4,L5,L11,L15)와 서버(100)로부터 수신받은 클라이언트 리스트(SL)와 비교하여 갱신된 클라이언트 리스트를 생성한다. The client 200 includes the plurality of upper clients C2, C4, C5, C11, and C15 based on the client list of the selected plurality of upper clients C2, C4, C5, C11, and C15. The updated client list is generated by comparing the client list L2, L4, L5, L11 and L15 received from the client list SL received from the server 100.

상기 클라이언트(200)는 상기 갱신된 클라이언트 리스트에 포함되는 다수의 상위 클라이언트에 대해 패킷 번호 별로 패킷을 순차적으로 요청하여 수신되는 패킷의 전송 속도를 체크함에 의해, 전송 속도가 양호한 복수의 상위 클라이언트(C4,C5,C15,C31,C45)를 갱신적으로 선별하여 각 상위 클라이언트에 대해 순차적으로 데이터 패킷을 전송받게 되고, 그 선별된 복수의 상위 클라이언트(C4,C5,C15,C31,C45) 중에서 전송 조건이 가장 양호한 특정 상위 클라이언트(C31)에 대해 데이터 패킷을 더 전송받게 된다. The client 200 sequentially requests the packets for each of the plurality of upper clients included in the updated client list by packet number, and checks the transmission rates of the received packets. , C5, C15, C31, C45) are selectively screened to receive data packets sequentially for each upper client, and among the selected plurality of upper clients C4, C5, C15, C31, C45, transmission conditions The data packet is further received for this best specific upper client C31.

한편, 상기 클라이언트(200)는 상기 복수의 상위 클라이언트(C2,C4,C5,C11,C15)로부터 수신받은 클라이언트 리스트(L2,L4,L5,L11,L15)와, 상기 서버(100)로부터 수신받은 클라이언트 리스트(SL)가 각각 리스트에 포함되어 있는 클라이언트에 대한 전송 능력 정보가 포함되어 있으면, 갱신된 클라이언트 리스트 내의 클라이언트에 대해 패킷을 순차적으로 요청하지 않고서도 상기 전송 능력 정보를 기초로 새로운 복수의 상위 클라이언트(C4,C5,C15,C31,C45)를 선별할 수 있는 것이 가능하도록 하는 것이 바람직하 고, 새롭게 선별된 복수의 상위 클라이언트(C4,C5,C15,C31,C45)에 대해 패킷 번호 별로 순차적으로 패킷을 요청하여 가장 전송 조건이 양호한 상위 클라이언트(C31)를 선출하도록 하는 것이 바람직하다. Meanwhile, the client 200 receives the client list L2, L4, L5, L11, and L15 received from the plurality of upper clients C2, C4, C5, C11, and C15 and the server 100. If the client list SL includes transmission capability information for the clients included in the list, the new plurality of higher ranks based on the transmission capability information without sequentially requesting packets for the clients in the updated client list. Preferably, it is possible to select the clients C4, C5, C15, C31, and C45, and sequentially by packet number for the plurality of newly selected upper clients C4, C5, C15, C31, and C45. It is preferable to request the packet to select the upper client C31 having the best transmission condition.

다음에, 도 6은 본 발명의 바람직한 실시예에 따라 복수의 상위 클라이언트 중에 특정 클라이언트의 송신능력이 해제되면, 대기중인 다음 순위의 클라이언트를 적용하는 상태를 예시적으로 나타낸 도면이다. Next, FIG. 6 is a diagram exemplarily illustrating a state in which a client having a next rank waiting is applied when a transmission capability of a specific client is released among a plurality of higher clients according to a preferred embodiment of the present invention.

도 6에서, 상기 클라이언트(200)는 전송 조건의 양호도에 따라 선별된 복수의 상위 클라이언트(C2,C4,C5,C11,C15) 중에서 특정 상위 클라이언트(C4)가 송신능력을 해제하거나(즉, 네트워크로부터 로그 아웃됨), 송신 능력이 상실된 경우에(즉, 네트워크 이상으로 데이터 전송이 비정상적인 상태), 이미 선별된 클라이언트를 제외하고 클라이언트 리스트 내에 대기중인 다음 순위의 클라이언트(C12)를 적용할 수 있도록 한다. In FIG. 6, the client 200 releases a transmission capability of a specific upper client C4 from among a plurality of upper clients C2, C4, C5, C11, and C15 selected according to the goodness of the transmission condition (that is, Logged out of the network, in the event of a loss of transmission capability (i.e. abnormal data transmission beyond the network), the next available client C12 in the client list can be applied, except for clients that have already been selected. do.

또한, 상기 클라이언트(200)는 특정 상위 클라이언트(C4)가 전송 조건이 가장 양호하여 그 클라이언트(C4)를 통해서 패킷을 집중적으로 전송받는 상태에서, 그 상위 클라이언트(C4)가 송신능력을 해제하거나 송신 능력이 상실되면, 이미 선별된 나머지의 상위 클라이언트(C2,C5,C11,C15) 중에서 다음 순위로 송신조건이 양호한 상위 클라이언트를 지정하여 패킷을 집중적으로 전송받도록 하는 것이 바람직하다. In addition, the client 200 has a specific upper client C4 having the best transmission condition and receives the packet intensively through the client C4, so that the upper client C4 releases or transmits the transmission capability. When the capability is lost, it is preferable to designate the higher client having a good transmission condition in the next rank among the remaining higher clients C2, C5, C11, and C15 that are already selected so as to receive the packets intensively.

이어, 상기한 바와 같이 이루어진 본 발명의 동작에 대해 도 7a 및 도 7b의 플로우차트를 참조하여 상세히 설명한다. Next, the operation of the present invention made as described above will be described in detail with reference to the flowcharts of FIGS. 7A and 7B.

먼저, 클라이언트(200)는 네트워크 상에서 서버(100)에 수신받고자 하는 데이터의 전송을 요청한 상태에서, 해당 서버(100)로부터 클라이언트 리스트를 데이터 수신부(10)를 통해 수신받아서 리스트 추출부(20)를 통해 추출하게 된다(단계 S10).First, the client 200 receives the client list from the server 100 through the data receiving unit 10 while requesting the server 100 to transmit the data to be received from the server 100 on the network. Extract through (step S10).

그 상태에서, 상기 클라이언트(200)의 데이터 송수신 컨트롤부(35)는 상기 서버(100)로부터 수신받은 클라이언트 리스트에 포함되어 있는 다수의 중계 클라이언트에 대해 전송받고자 하는 데이터의 패킷을 패킷번호 별로 전반적이고 순차적으로 요청하여 그에 대한 패킷을 데이터 수신부(10)를 통해 수신받게 된다(단계 S11).In this state, the data transmission / reception control unit 35 of the client 200 transmits a packet of data to be transmitted to a plurality of relay clients included in the client list received from the server 100 by packet number. By sequentially requesting the packet for receiving it through the data receiving unit 10 (step S11).

상기 클라이언트(200)의 데이터 송수신 컨트롤부(35)는 다수의 중계 클라이언트로부터 순차적으로 수신받은 패킷의 전송 속도를 체크하여 전송 조건이 양호한 복수의 상위 클라이언트를 선별하게 되고(단계 S12), 상기 선별된 복수의 상위 클라이언트에 대해 데이터 패킷을 요청하여 원하는 데이터 패킷을 순차적으로 전송받게 되고, 그 복수의 상위 클라이언트 중에서 최적으로 전송 조건이 양호한 특정의 상위 클라이언트에 패킷을 더 수신받게 된다(단계 S13).The data transmission / reception control unit 35 of the client 200 checks the transmission rates of packets sequentially received from the plurality of relay clients to select a plurality of upper clients having good transmission conditions (step S12). Data packets are requested from a plurality of upper clients to receive desired data packets sequentially, and the packets are further received by a specific upper client having a best transmission condition among the plurality of upper clients (step S13).

한편, 상기 클라이언트(35)는 복수의 상위 클라이언트에 대해 데이터 패킷을 순차적으로 수신받고 있는 상태에서, 클라이언트의 검색 주기가 경과되었는 지의 여부를 판단한다(단계 S14).On the other hand, the client 35 determines whether or not the client's search period has elapsed while receiving data packets sequentially for the plurality of upper clients (step S14).

상기 판단 결과, 상기 클라이언트(35)는 상위 클라이언트에 대한 검색 주기 가 경과되었다고 판단되면, 상기 이미 선별된 복수의 상위 클라이언트에 대해 패킷번호 별로 패킷을 전반적이고 순차적으로 요청하고, 그에 따른 패킷을 수신받게 된다(단계 S15).As a result of the determination, when it is determined that the search period for the upper client has elapsed, the client 35 requests the entire plurality of sequentially selected upper clients according to the packet number and sequentially, and receives the packets accordingly. (Step S15).

이에, 상기 클라이언트(200)는 상기 복수의 선별된 상위 클라이언트로부터 수신받은 패킷에 의해 전송 속도를 체크하여 가장 최적으로 전송 조건이 양호한 상위 클라이언트를 선별함에 의해, 최적으로 전송 조건이 양호한 상위 클라이언트가 다른 상위 클라이언트보다 패킷을 더 전송할 수 있도록 한다(단계 S17).Accordingly, the client 200 checks the transmission rate based on the packets received from the plurality of selected upper clients, and selects the upper clients having the best transmission conditions. More packets can be transmitted than the upper client (step S17).

그 다음에, 상기 클라이언트(200)는 상기 서버(100)로부터의 주기적인 리스트 전송에 따라 클라이언트 리스트가 추가적으로 수신되거나, 상기 미리 선별된 복수의 상위 클라이언트로부터 각각 클라이언트 리스트를 수신받는 지의 여부를 판단한다(단계 S18).Next, the client 200 determines whether the client list is additionally received or periodically receives the client list from the plurality of preselected upper clients according to the periodic list transmission from the server 100. (Step S18).

상기 단계 S18의 판단 결과, 상기 클라이언트(200)는 상기 서버(100)로부터의 클라이언트 리스트가 추가적으로 수신되거나, 상기 복수의 선별된 상위 클라이언트로부터 각각 클라이언트 리스트를 수신받고 있다고 판단되면, 이미 보유하고 있는 클라이언트 리스트와 추가적으로 수신받은 각각의 클라이언트 리스트에 포함되어 있는 클라이언트를 비교하게 되고(단계 S19), 그 결과로 각각의 클라이언트 리스트에 포함되어 있는 클라이언트에 대해 갱신된 클라이언트 리스트를 생성한 다음에(단계 S20), 해당 갱신된 클라이언트 리스트내의 각 클라이언트에 대해 패킷번호 별로 순차적으로 패킷을 요청하게 되고, 수신받은 패킷의 전송 속도를 체크함에 의해 전송 조건이 양호한 복수의 상위 클라이언트를 재 선별하게 된다(단계 S21).As a result of the determination of step S18, if it is determined that the client list from the server 100 is additionally received or receives the client list from the plurality of selected higher level clients, the client 200 already holds the client list. The list is compared with the clients included in each additionally received client list (step S19), and as a result, an updated client list is generated for the clients included in each client list (step S20). Then, the packets are sequentially requested for each client in the updated client list by packet number, and the plurality of upper clients having good transmission conditions are reselected by checking the transmission speed of the received packets (step S21).

그 상태에서, 상기 클라이언트(200)는 재 선별된 전송 조건이 양호한 복수의 상위 클라이언트에 대해 데이터 패킷을 요청하여 패킷을 순차적으로 수신받게 되고, 상기 복수의 상위 클라이언트 중에서 최적으로 전송 조건이 양호한 특정의 상위 클라이언트를 지정하여 패킷을 다른 상위 클라이언트보다 더 수신받게 된다(단계 S22).In this state, the client 200 requests data packets from a plurality of upper clients having good reselected transmission conditions, and receives the packets sequentially. The upper client is designated to receive a packet more than other upper clients (step S22).

한편, 상기 클라이언트(200)는 상기 서버(100)로부터 중계 클라이언트를 통해 수신받는 패킷의 데이터에 대한 수신이 완료되었는 지의 여부를 판단하게 되는 바(단계 S23), 해당 데이터의 수신이 완료되지 않았다고 판단되면, 상기 단계 S14에서 단계 S22의 과정을 반복적으로 실행하게 되는 반면에, 해당 데이터의 수신이 완료되었다고 판단되면, 패킷의 수신동작 및 클라이언트 리스트의 수신동작을 종료하게 된다(단계 S24). Meanwhile, the client 200 determines whether the reception of the data of the packet received from the server 100 through the relay client is completed (step S23), and determines that the reception of the data is not completed. In step S14, the process of step S22 is repeatedly executed. If it is determined that reception of the corresponding data is completed, the packet receiving operation and the client list receiving operation are terminated (step S24).

단, 상기 클라이언트(200)가 다른 하위 클라이언트에 대해 데이터를 중계하는 중계 클라이언트로서 동작하는 경우에는, 하위 클라이언트의 패킷 번호에 따른 패킷 요청에 따라 데이터 중계부(25)를 통해 해당 패킷 번호의 패킷을 전송하는 동작이 계속 이루어질 수 있도록 한다. However, when the client 200 operates as a relay client relaying data to another lower client, the packet of the corresponding packet number is transmitted through the data relay unit 25 according to a packet request according to the packet number of the lower client. Allow the sending operation to continue.

한편, 본 발명은 전술한 전형적인 바람직한 실시예들에만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 개량, 변경, 대체 또는 부가하여 실시할 수 있는 것임은 당해 기술분야에 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다. 이러한 개량, 변경, 대체 또는 부가에 의한 실시가 이하의 첨부된 특허청구범위의 범주에 속하는 것이라면 그 기술사상 역시 본 발 명에 속하는 것으로 보아야 한다.On the other hand, the present invention is not limited to the above-described typical preferred embodiments, but can be carried out in various ways without departing from the gist of the present invention, various modifications, alterations, substitutions or additions are common in the art Those who have knowledge will easily understand. If the implementation by such improvement, change, substitution or addition falls within the scope of the appended claims below, the technical idea shall also be regarded as belonging to the present invention.

이상과 같이 본 발명에 따르면, 데이터 중계 시스템에서 데이터의 패킷을 중계 전송하는 경우에, 서버로부터 제공되는 클라이언트 리스트에 의거하여 상위 클라이언트에 대해 전송받고자 하는 데이터의 패킷을 패킷번호 별로 순차적이고 전반적으로 전송받도록 함에 의해, 전송 속도를 체크하여 전송 조건이 양호한 상위 클라이언트를 직접 선출하여 패킷을 순차적으로 전송받을 수 있도록 하고, 주기적으로 선별된 복수의 상위 클라이언트에 대한 데이터 전송 조건을 검색하여 최적으로 전송 조건이 양호한 상위 클라이언트만을 데이터 전송의 중계기로서 활용할 수 있도록 함에 따라, 데이터 패킷의 전송 환경에 대한 변동과 무관하게 항상 균일한 전송 속도로 원하는 데이터 또는 파일을 전송받을 수 있는 것이 가능하고, 네트워크의 과도한 트래픽을 분산시킬 수 있도록 함에 의해 네트워크 부하의 분산 처리가 자동적으로 이루어지는 것이 가능하다는 효과를 갖게 된다. As described above, according to the present invention, in the case of relaying and transmitting a packet of data in the data relay system, the packet of data to be transmitted to the upper client based on the client list provided from the server is sequentially and overall transmitted by packet number. By receiving the transmission rate, the transmission rate is checked to directly select an upper client having a good transmission condition so that the packets can be sequentially received, and the data transmission conditions for a plurality of selected upper clients are periodically searched for optimal transmission conditions. By allowing only good parent clients to be used as relays for data transmission, it is possible to always receive desired data or files at a uniform transmission rate regardless of fluctuations in the transmission environment of data packets, and to avoid excessive traffic on the network. By making it possible to distribute, the effect of distributing network load automatically can be achieved.

Claims (20)

네트워크를 통해 직접 접속된 상위 클라이언트에 데이터 패킷을 전송하고, 직접 접속된 상위 클라이언트 또는 데이터 패킷을 전송받는 다른 상위 클라이언트의 정보를 포함하는 클라이언트 리스트를 전송하는 서버와, A server for transmitting a data packet to an upper client directly connected through a network, and transmitting a client list including information of the upper client directly connected or another upper client receiving the data packet; 상기 서버와 직접 접속하거나 다른 상위 클라이언트에 대해 하위 클라이언트로서 접속되고서, 데이터 패킷을 하위 클라이언트에 중계하는 역할을 수행하는 다수의 상위 클라이언트 및, A plurality of upper clients, which are directly connected to the server or connected as lower clients to other upper clients, and relay data packets to lower clients; 상기 서버로부터 전송되는 클라이언트 리스트에 포함된 상위 클라이언트에 데이터가 패킷 단위로 분할된 패킷을 순차적으로 요청하여 수신되는 패킷의 전송 조건이 양호한 상위 클라이언트를 선별하고, 선별된 복수의 상위 클라이언트를 통해 데이터 패킷을 순차적으로 수신받는 다수의 하위 클라이언트로 구성된 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 시스템.By sequentially requesting packets whose data is divided into packet units from the upper client included in the client list transmitted from the server, the upper client having good transmission condition of the received packet is selected, and the data packet is transmitted through the selected plurality of upper clients. A distributed transmission system of data through a network, characterized in that consisting of a plurality of lower clients sequentially receiving. 제 1 항에 있어서, The method of claim 1, 상기 클라이언트 리스트에는 리스트내에 포함된 상위 클라이언트의 IP주소와, 포트 번호, 전송받고자 하는 데이터의 패킷번호 정보를 포함하는 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 시스템.The client list includes the IP address of the upper client included in the list, a port number, and packet number information of data to be transmitted. 제 1 항에 있어서, The method of claim 1, 상기 클라이언트 리스트에는 상위 클라이언트의 IP주소와, 포트 번호, 전송받고자 하는 데이터의 패킷번호 정보, 각 상위 클라이언트의 데이터 패킷 상태를 감안한 전송 능력 정보를 포함하는 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 시스템.The client list includes the IP address of the upper client, a port number, packet number information of data to be transmitted, and transmission capability information considering data packet states of the upper client. . 제 1 항에 있어서, The method of claim 1, 상기 서버는 클라이언트 리스트를 주기적으로 갱신하여 상위 클라이언트와 하위 클라이언트에 전송하도록 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 시스템.And the server is configured to periodically update the client list and transmit the same to the upper client and the lower client. 제 1 항에 있어서, The method of claim 1, 상기 상위 클라이언트와 하위 클라이언트는, 네트워크를 통해 상기 서버 또는 상위 클라이언트로부터 데이터 패킷을 수신받거나, 상기 서버로부터 클라이언트 리스트를 수신받는 데이터 수신부와, The upper client and the lower client may include a data receiver configured to receive a data packet from the server or the upper client through a network or to receive a client list from the server; 상기 데이터 수신부를 통해 수신받은 데이터 패킷을 원래의 데이터 또는 파일의 형태로 복원하는 처리를 수행하는 데이터 처리부, A data processing unit which performs a process of restoring a data packet received through the data receiving unit to the form of original data or a file; 특정 하위 클라이언트로부터의 데이터 패킷 요청에 따라, 상기 데이터 처리부의 데이터 패킷 중에서 요청하는 패킷을 전송하고, 상위 클라이언트에 수신받고자 하는 순서의 패킷을 요청하는 요청신호를 전송하는 데이터 송신부 및, A data transmitter for transmitting a request packet among data packets of the data processor according to a data packet request from a specific lower client, and transmitting a request signal for requesting packets of a sequence to be received by the upper client; 상기 클라이언트 리스트에 포함된 상위 클라이언트에 패킷을 순차적으로 요 청하여, 수신되는 패킷의 전송 속도에 따라 전송 조건이 양호한 복수의 상위 클라이언트를 선별하고, 선별된 상위 클라이언트를 통해 수신받고자 하는 데이터의 패킷이 수신될 수 있도록 관리하는 리스트 관리부를 포함하여 구성된 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 시스템.By sequentially requesting packets to the upper client included in the client list, the plurality of upper clients having good transmission conditions are selected according to the transmission speed of the received packet, and the packet of data to be received through the selected upper client is received. Distributed transmission system of the data over the network, characterized in that it comprises a list manager for managing to be able to be. 제 1항 또는 제 5 항에 있어서, The method according to claim 1 or 5, 상기 데이터 송신부는 클라이언트 리스트에 포함된 상위 클라이언트에 대해 데이터의 패킷 번호별로 패킷을 순차적으로 요청하도록 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 시스템.The data transmission unit is configured to sequentially request packets for each packet number of the data to the upper client included in the client list. 제 2 항 또는 제 5 항에 있어서, The method according to claim 2 or 5, 상기 리스트 관리부는 상기 클라이언트 리스트에 포함된 다수의 상위 클라이언트에 대해 패킷을 순차적으로 요청하여 수신되는 패킷의 전송 속도에 대한 체크 결과로 전송 조건이 양호한 복수의 상위 클라이언트를 선별하고, The list manager selects a plurality of upper clients having good transmission conditions as a result of checking the transmission rate of the received packet by sequentially requesting packets to a plurality of upper clients included in the client list, 상기 선별된 복수의 상위 클라이언트 중에서 최적으로 전송 조건이 양호한 특정 상위 클라이언트를 선별하도록 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 시스템.A system for distributed transmission of data over a network, characterized in that for selecting a particular upper client having a best transmission condition among the plurality of selected upper clients. 제 2 항 또는 제 5 항에 있어서, The method according to claim 2 or 5, 상기 리스트 관리부는 상기 클라이언트 리스트에 포함된 각 상위 클라이언트 의 전송 능력 정보를 근거로 전송 조건이 양호한 복수의 상위 클라이언트를 선별하고, The list manager selects a plurality of upper clients having good transmission conditions based on the transmission capability information of each upper client included in the client list, 상기 선별된 복수의 상위 클라이언트에 대해 순차적으로 패킷을 요청하여 수신되는 패킷의 전송 속도에 대한 체크의 결과로 최적으로 전송 조건이 양호한 특정 상위 클라이언트를 선별하도록 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 시스템.Distributing data over a network, characterized in that the request is made to sequentially request the plurality of upper clients to select a particular upper client having a good transmission condition as a result of the check on the transmission rate of the received packet. Transmission system. 제 5 항에 있어서, The method of claim 5, wherein 상기 리스트 관리부는 최적으로 전송 조건이 양호한 특정 상위 클라이언트의 선별을 클라이언트 리스트에 포함된 클라이언트를 대상으로 하는 패킷의 순차적인 요청에 의해 주기적으로 수행하도록 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 시스템.The list management unit is configured to periodically perform the selection of a specific upper client having an optimal transmission condition by a sequential request of a packet targeted to a client included in the client list. . 제 5 항에 있어서, The method of claim 5, wherein 상기 리스트 관리부는, 상기 서버에서 제공한 클라이언트 리스트에 포함된 다수의 상위 클라이언트가 보유하고 있는 클라이언트 리스트를 주기적으로 수신받게 되고, The list manager periodically receives a list of clients held by a plurality of higher-level clients included in the client list provided by the server. 자신의 정보를 서버로부터의 클라이언트 리스트를 통해 보유하고 있는 하위 클라이언트에 자신이 보유한 클라이언트 리스트를 전송하도록 구성된 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 시스템.A system for distributed transmission of data over a network, characterized in that it is configured to transmit its own client list to a lower client that has its information via a client list from a server. 소정 데이터의 전송 요청에 따라 서버로부터 클라이언트 리스트를 수신받는 제 1단계와, A first step of receiving a client list from a server according to a request for transmitting predetermined data; 클라이언트에서 상기 서버로부터 수신받은 클라이언트 리스트에 포함된 다수의 상위 클라이언트에 대해 소정 데이터의 패킷을 순차적이고 전반적으로 요청하여 수신되는 각각의 패킷에 대한 전송 속도를 체크하는 제 2단계 및, A second step of checking a transmission rate for each received packet by sequentially requesting a packet of predetermined data to a plurality of higher clients included in the client list received from the server at the client; 상기 체크된 전송 속도를 근거로 전송 조건이 양호한 복수의 상위 클라이언트를 선별하여 소정 데이터의 패킷을 요청하고 그에 따른 패킷을 순차적으로 수신받는 제 3단계로 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 방법.The third step is to select a plurality of upper clients having a good transmission condition based on the checked transmission rate, request a packet of predetermined data, and receive the packets sequentially. Way. 제 11 항에 있어서, The method of claim 11, 상기 제 1단계에서, 상기 클라이언트 리스트는 리스트내에 포함된 상위 클라이언트의 IP주소와, 포트 번호, 전송받고자 하는 데이터의 패킷번호 정보로 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 방법.In the first step, the client list is a distributed transmission method of data over a network, characterized in that the IP address of the upper client included in the list, a port number, packet number information of the data to be transmitted. 제 11 항에 있어서, The method of claim 11, 상기 제 1단계에서, 상기 클라이언트 리스트는 상위 클라이언트의 IP주소와, 포트 번호, 전송받고자 하는 데이터의 패킷번호 정보, 각 상위 클라이언트의 데이터 패킷 상태를 감안한 전송 능력 정보로 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 방법.In the first step, the client list includes an IP address of the upper client, a port number, packet number information of data to be transmitted, and transmission capability information considering data packet states of the upper clients. Distributed transmission method of data. 제 11 항에 있어서, The method of claim 11, 상기 제 2단계는, 상기 클라이언트 리스트에 포함된 다수의 상위 클라이언트에 대해 데이터의 패킷 번호별로 패킷을 순차적으로 요청하도록 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 방법.The second step is a distributed transmission method of data over a network, characterized in that for sequentially requesting a packet for each of the packet number of the data to a plurality of upper clients included in the client list. 제 11 항 또는 제 12 항에 있어서, The method according to claim 11 or 12, 상기 제 3단계는, 상기 클라이언트 리스트에 포함된 다수의 상위 클라이언트에 대해 패킷을 순차적으로 요청하여 수신되는 패킷의 전송 속도에 대한 체크 결과로 전송 조건이 양호한 복수의 상위 클라이언트를 선별하고, In the third step, a plurality of upper clients having good transmission conditions are selected as a result of checking the transmission rate of the received packets by sequentially requesting packets to a plurality of upper clients included in the client list, 상기 선별된 복수의 상위 클라이언트 중에서 최적으로 전송 조건이 양호한 특정 상위 클라이언트를 선별하도록 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 방법.A method for distributed transmission of data over a network, characterized in that the selection is made to select a specific upper client having a best transmission condition among the selected plurality of upper clients. 제 11 항 또는 제 13 항에 있어서, The method according to claim 11 or 13, 상기 제 2단계는, 상기 클라이언트 리스트에 포함된 각 상위 클라이언트의 전송 능력 정보를 근거로 전송 조건이 양호한 복수의 상위 클라이언트를 선별하는 단계와, The second step may include selecting a plurality of upper client having a good transmission condition based on transmission capability information of each upper client included in the client list; 상기 선별된 복수의 상위 클라이언트에 대해 순차적으로 패킷을 요청하여 최 적으로 전송 조건이 양호한 특정 상위 클라이언트를 선별하기 위해 수신되는 패킷의 전송 속도를 각각 체크하는 단계를 포함하여 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 방법.Requesting packets sequentially for the plurality of selected upper clients to check the transmission rates of the received packets in order to select specific upper clients having the best transmission conditions. Distributed transmission method of data through. 제 11 항에 있어서, The method of claim 11, 상기 제 3단계는, 최적으로 전송 조건이 양호한 특정 상위 클라이언트의 선별을 클라이언트 리스트에 포함된 클라이언트를 대상으로 하는 패킷의 순차적인 요청에 의해 주기적으로 수행하는 단계를 더 포함하여 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 방법.The third step may further include periodically performing selection of a specific upper client having a best transmission condition by a sequential request of a packet targeted to a client included in a client list. Distributed transmission method of data through 제 11 항에 있어서, The method of claim 11, 상기 제 3단계는, 상기 서버에서 클라이언트 리스트를 주기적으로 갱신하여 상기 클라이언트에 전송하는 단계를 더 포함하여 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 방법.The third step further comprises the step of periodically updating the client list in the server and transmitting to the client. 제 11 항에 있어서, The method of claim 11, 상기 제 3단계는, 상기 클라이언트에서 서버로부터의 클라이언트 리스트에 포함된 다수의 상위 클라이언트가 보유하고 있는 클라이언트 리스트를 주기적으로 수신받는 단계를 더 포함하여 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 방법.The third step may further include periodically receiving, by the client, a list of clients held by a plurality of higher-level clients included in the client list from the server. . 제 17 항 내지 제 19 항중 어느 한항에 있어서, The method according to any one of claims 17 to 19, 상기 제 3단계는, 이미 보유한 클라이언트 리스트를 기초로 서버로부터의 주기적인 클라이언트 리스트와 다수의 상위 클라이언트로부터의 클라이언트 리스트를 각각 비교하여 갱신된 클라이언트 리스트를 생성하는 단계와, The third step may include: generating an updated client list by comparing the periodic client list from the server with the client list from the plurality of upper clients based on the client list already held; 상기 갱신된 클라이언트 리스트에 포함된 다수의 상위 클라이언트에 대해 패킷을 순차적이고 전반적으로 요청하고, 수신된 패킷의 전송 속도를 체크하는 단계, Requesting packets sequentially and overall for a plurality of upper clients included in the updated client list, and checking a transmission rate of the received packets; 수신된 패킷의 전송 속도 체크 결과로 전송 조건이 양호한 복수의 상위 클라이언트를 선별하여 데이터의 패킷을 순차적으로 요청하고 그에 따른 패킷을 수신받고, 전송 조건이 가장 양호한 특정 상위 클라이언트를 선별하여 다른 상위 클라이언트보다 데이터 패킷을 더 전송받는 단계를 더 포함하여 이루어진 것을 특징으로 하는 네트워크를 통한 데이터의 분산 전송 방법.As a result of checking the transmission rate of the received packet, it selects a plurality of upper clients that have good transmission conditions, sequentially requests packets of data, receives the packets accordingly, selects a specific upper client that has the best transmission conditions, and then selects another upper client. A method for distributed transmission of data over a network, characterized by further comprising receiving a data packet.
KR1020040073663A 2004-09-15 2004-09-15 Data dispersion transmission system for network and method therefore KR20060025286A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040073663A KR20060025286A (en) 2004-09-15 2004-09-15 Data dispersion transmission system for network and method therefore

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040073663A KR20060025286A (en) 2004-09-15 2004-09-15 Data dispersion transmission system for network and method therefore

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020070117028A Division KR20080010368A (en) 2007-11-16 2007-11-16 Data dispersion transmission system for network and method therefore

Publications (1)

Publication Number Publication Date
KR20060025286A true KR20060025286A (en) 2006-03-21

Family

ID=37130829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040073663A KR20060025286A (en) 2004-09-15 2004-09-15 Data dispersion transmission system for network and method therefore

Country Status (1)

Country Link
KR (1) KR20060025286A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100750173B1 (en) * 2005-09-30 2007-08-17 삼성전자주식회사 Method and communication for power line communication
KR100772886B1 (en) * 2006-10-27 2007-11-05 삼성전자주식회사 Apparatus and method for providing network information
KR100793420B1 (en) * 2006-07-12 2008-01-11 임승빈 Method and system for connecting server to client or client to client in network for data transmitting service
US9178632B2 (en) 2008-09-02 2015-11-03 Qualcomm Incorporated Methods and apparatus for an enhanced media content rating system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100750173B1 (en) * 2005-09-30 2007-08-17 삼성전자주식회사 Method and communication for power line communication
KR100793420B1 (en) * 2006-07-12 2008-01-11 임승빈 Method and system for connecting server to client or client to client in network for data transmitting service
KR100772886B1 (en) * 2006-10-27 2007-11-05 삼성전자주식회사 Apparatus and method for providing network information
US7933278B2 (en) 2006-10-27 2011-04-26 Samsung Electronics Co., Ltd. Apparatus and method for providing network information
US9178632B2 (en) 2008-09-02 2015-11-03 Qualcomm Incorporated Methods and apparatus for an enhanced media content rating system

Similar Documents

Publication Publication Date Title
US8059560B2 (en) Tree-type network system, node device, broadcast system, broadcast method, and the like
US8798016B2 (en) Method for improving peer to peer network communication
US8984096B2 (en) Method and apparatus for transmitting data in a peer-to-peer network
US9071655B2 (en) Managing access to digital content sources
US9338096B2 (en) Multicast tree packing for multi-party video conferencing under SDN environment
KR101485610B1 (en) Distributed content delivery system based on network awareness and method thereof
JP4463999B2 (en) Method and apparatus in a communication network
CN111200622B (en) Resource transmission method and device and storage medium
CN103327121A (en) P2P (Peer-to-Peer Network) network resource transmission method and device for same
KR20150108749A (en) Finding services in a service-oriented architecture(soa) network
US7711833B2 (en) Network system, network control method, and program
KR100823732B1 (en) Contents providing system and method for streaming service
US12015546B2 (en) Routing destination evaluation apparatus, routing destination evaluating method and program
US20150026333A1 (en) Network system, network management apparatus and application management apparatus
CN104010046A (en) Server selecting method and system, recording server and measurement servers
KR20060025286A (en) Data dispersion transmission system for network and method therefore
JP4944278B2 (en) Access control method, access control apparatus, and access control program
US20170019322A1 (en) Monitoring server, resolution server, request device, and node selection method
CN109716310A (en) Server unit, transmitting device and program for content distribution system
KR20140125223A (en) Method for collecting information with management interface in contents network based on information centric networking, content network management system, and node apparatus
KR20030027485A (en) Method And Apparatus For Content Routing Of Content Level In The Content Delivery Network
KR20080010368A (en) Data dispersion transmission system for network and method therefore
US20220116324A1 (en) Policy determination apparatus, policy determining method and program
US20030076786A1 (en) Peer to peer network
KR20090036955A (en) Method for file transmission

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
A107 Divisional application of patent
AMND Amendment
E801 Decision on dismissal of amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20071019

Effective date: 20080506