KR20030079842A - A method of transferring data - Google Patents

A method of transferring data Download PDF

Info

Publication number
KR20030079842A
KR20030079842A KR1020030056700A KR20030056700A KR20030079842A KR 20030079842 A KR20030079842 A KR 20030079842A KR 1020030056700 A KR1020030056700 A KR 1020030056700A KR 20030056700 A KR20030056700 A KR 20030056700A KR 20030079842 A KR20030079842 A KR 20030079842A
Authority
KR
South Korea
Prior art keywords
data
identifier
terminal
information
receiving
Prior art date
Application number
KR1020030056700A
Other languages
Korean (ko)
Other versions
KR100572232B1 (en
Inventor
김형호
문의선
Original Assignee
주.피어링포탈
김형호
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주.피어링포탈, 김형호 filed Critical 주.피어링포탈
Priority to KR1020030056700A priority Critical patent/KR100572232B1/en
Publication of KR20030079842A publication Critical patent/KR20030079842A/en
Application granted granted Critical
Publication of KR100572232B1 publication Critical patent/KR100572232B1/en

Links

Classifications

    • G06Q50/60
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Abstract

PURPOSE: A method for transmitting data is provided to supply high capacity data including multimedia data such as audio data and video data for a receiver of E-mail. CONSTITUTION: It is judged whether a data identifier for referring to predetermined data is included in E-mail received by a client terminal(401,402). In the case that the data identifier is included in the E-mail, the data identifier is transmitted to an indexing server(403), and connection information with respect to a data supply terminal is requested(404). The connection information with respect to at least one data supply terminal is received from the indexing server(405). The data are requested to the data supply terminal based on the connection information(406). The data are received from the data supply terminal(407). The indexing server is connected to the client terminal through a communication network and maintains connection information with respect to the data supply terminal which stores data. The data identifier includes URL information of a data supply server which outputs the data.

Description

데이터 전송 방법{A METHOD OF TRANSFERRING DATA}Data transfer method {A METHOD OF TRANSFERRING DATA}

본 발명은 전자 우편을 이용한 데이터 전송 방법에 관한 것으로, 더욱 상세하게는 클라이언트 단말기가 데이터 식별자를 포함하는 전자 우편을 수신한 경우 상기 데이터 식별자를 이용하여 데이터 제공 서버를 포함하는 하나 이상의 데이터 제공 단말기로부터 데이터를 수신할 수 있는 데이터 전송 방법에 관한 것이다.The present invention relates to a data transmission method using e-mail, and more particularly, when a client terminal receives an e-mail including a data identifier from one or more data providing terminals including a data providing server using the data identifier. The present invention relates to a data transmission method capable of receiving data.

인터넷이 보편화되면서 전자 우편은 중요한 의사 소통 수단으로 자리 잡았으며, 전자 우편의(또는 전자 우편을 이용한) 서비스 형태는 다양해지고 있다. 도 1은 종래의 전자 우편 서비스를 설명하기 위한 도면이다. 송신 클라이언트(110)에서 작성된 전자 우편은 전자 우편 송신 서버(120)를 통해 전자 우편 수신 서버(130)로 전송되고, 수신 클라이언트(140)는 전자 우편 수신 서버(130)에 접속하여 상기 전자 우편을 제공 받게 된다.As the Internet becomes more common, e-mail has become an important means of communication, and e-mail (or e-mail) services are becoming more diverse. 1 is a view for explaining a conventional e-mail service. The e-mail created by the sending client 110 is transmitted to the e-mail receiving server 130 through the e-mail sending server 120, and the receiving client 140 accesses the e-mail receiving server 130 to receive the e-mail. You will be provided.

종래의 전자 우편은 텍스트 위주로 이루어졌으나, 기술의 발전에 따라 다양한 포맷의 문서를 지원하는 HTML(HyperText Markup Language) 형식의 전자 우편의 사용이 증가하고 있다. 이러한 현상은 특히 아웃룩, 유도라등과 같은 전자 우편 송수신 전용 프로그램을 사용하는 대신, 웹 브라우저를 이용하여 전자 우편을송수신하는 경우가 증가함에 따라 더욱 두드러지고 있다. 또한, 상술한 전자 우편 송수신 전용 프로그램 자체에서도 HTML 형식의 전자 우편을 지원함으로써 그 활용도는 더욱 커지고 있다.Conventional e-mails are mainly text-based, but with the development of technology, e-mails in the form of HTML (HyperText Markup Language), which support various types of documents, are increasing. This is especially true for Outlook , Eudora Instead of using an e-mail transmission / reception program such as the above, it is more prominent as the number of e-mail transmission and reception using a web browser increases. In addition, the above-mentioned e-mail transmission and reception program itself supports the use of e-mail in HTML format.

대부분의 전자 우편 클라이언트 프로그램은 HTML로 작성된 전자 우편을 수신하여 직접 처리할 수 있는 기능을 갖고 있다. 현재 이러한 기능을 이용하여 전자 우편 내에 오디오 데이터를 삽입하여 상기 전자 우편을 수신하는 경우 상기 오디오 데이터가 재생되면서 상기 전자 우편에 포함된 메시지의 배경 음악처럼 사용되도록 하는 전자 우편 서비스, 전자 우편 내에 이미지 데이터를 삽입하여 사용자가 상기 전자 우편을 수신하여 읽는 경우 상기 이미지 데이터를 볼 수 있도록 하는 전자 우편 서비스, 또는 상기 오디오 데이터와 상기 이미지 데이터를 함께 사용하는 전자 우편 서비스가 일반적으로 사용되고 있다. 이와 같이, 기존의 텍스트 위주의 전자 우편이 아닌, 멀티미디어 환경을 제공하는 전자 우편 서비스가 증가하고 있다. 또한, 상기한 오디오 데이터나 이미지 데이터 외에도 전자 우편 내에 동화상과 같은 움직임 효과를 주기 위해 플래시(Flash)를 이용하거나, Moving GIF 등을 이용하여 제한적인 움직임을 보여주는 경우도 증가하고 있다.Most e-mail client programs have the ability to receive and process e-mail written in HTML directly. Currently, when receiving the e-mail by inserting the audio data into the e-mail using such a function, the e-mail service for reproducing the audio data and using it as background music of the message included in the e-mail, image data in the e-mail. An e-mail service for inserting a digit and allowing the user to view the image data when the user receives and reads the e-mail, or an e-mail service that uses the audio data and the image data together is generally used. As such, e-mail services that provide a multimedia environment, rather than conventional text-based e-mail, are increasing. In addition to the above-mentioned audio data or image data, there is an increasing number of cases in which a limited motion is used by using a flash or a moving GIF to give a moving effect such as a moving picture in an e-mail.

한편, 전자 우편의 사용이 보편화 됨에 따라 광고 또는 홍보를 위해 전자 우편을 이용하는 경우도 증가하고 있다. 이때, 광고 효과를 높이기 위해 전자 우편 내에 이미지 데이터를 삽입하는 경우도 있으나, 이미지 데이터 외에 오디오 데이터 또는 비디오 데이터를 삽입하고 상기 전자 우편의 수신자가 전자 우편을 읽는 경우 상기 오디오 데이터 또는 상기 비디오 데이터가 재생되도록 하는 것이 광고 효과를극대화 시킬 수 있을 것이다.Meanwhile, as the use of e-mail is becoming more common, the use of e-mail for advertising or promotion is increasing. In this case, image data may be inserted into an e-mail to enhance an advertisement effect. However, when audio data or video data is inserted in addition to the image data and the recipient of the e-mail reads the e-mail, the audio data or the video data is reproduced. Doing so will maximize advertising effectiveness.

그러나, 상기한 오디오 데이터 또는 비디오 데이터는 단순한 텍스트나 이미지 데이터에 비해 그 용량이 훨씬 크다. 일반적으로 전자 우편을 송수신하는 전자 우편 서버는 하나의 전자 우편으로 전송되는 데이터의 크기에 제한을 두고 있고, 이러한 크기에는 첨부 파일의 크기도 포함된다(전자 우편 송수신 서버의 부하는 전자 우편 내의 텍스트 부분을 처리하는 것보다 첨부 파일을 처리하는 경우에 더 많이 발생함). 게다가, 대다수의 사용자들이 무료로 제공되는 전자 우편 서비스를 이용하여 전자 우편을 송수신하고 있는데, 이러한 무료 전자 우편 서비스는 일회에 전송될 수 있는 데이터의 크기를 제한하고 있을 뿐 아니라 사용자 개인에게 할당되는 저장 공간의 크기 또한 제한하고 있으므로 이러한 멀티미디어 데이터를 전자 우편에 삽입하여 송수신하는 것이 더욱 제한되고 있다.However, the audio or video data described above is much larger than simple text or image data. In general, an e-mail server that sends and receives e-mail has a limitation on the size of data sent in one e-mail, which includes the size of the attachment (the load on the e-mail sending and receiving server is part of the text in the e-mail). More likely to be handled than attachments). In addition, the majority of users send and receive e-mail using a free e-mail service, which not only limits the size of data that can be sent at a time, but also the storage allocated to an individual user. Since the size of the space is also limited, it is more restrictive to insert and receive such multimedia data in electronic mail.

이러한 전송 가능한 데이터 크기의 한계로 인하여, 크기가 큰 오디오 데이터 또는 비디오 데이터를 전자 우편에 삽입, 첨부하여 다른 사용자에게 전송하는 것이 어려워지고 있고, 오디오(비디오)의 음질(화질)을 대폭 낮춤으로써 가능하다는 문제점이 있다. 특히, 오디오 데이터에 비해서도 데이터 용량이 큰 비디오 데이터를 첨부 파일 형태로 수신자에게 전송하는 것은 현 상황에서는 매우 힘들다는 문제점이 있다.Due to the limitation of the size of data that can be transmitted, it is difficult to insert large sized audio data or video data into an e-mail and transmit it to other users, and by greatly reducing the sound quality (quality) of audio (video). There is a problem. In particular, there is a problem that it is very difficult in the current situation to transmit video data having a large data capacity to the receiver in the form of an attachment file even in comparison with audio data.

이와 같은 문제점을 해결하기 위해, 도 2에 도시한 바와 같은 전자 우편 서비스가 제공되고 있다. 도면 부호(210)은 전자 우편을 송신하는 송신 클라이언트 단말기, 도면 부호(240)은 상기 전자 우편을 수신하는 수신 클라이언트 단말기를의미한다. 사용자는 오디오 데이터 등의 데이터를 상기 전자 우편에 첨부하지 않고, 상기 데이터를 저장하고 있는 데이터 제공 서버(203)에 대한 URL을 포함하는 전자 우편을 작성하여 전송하면 상기 전자 우편은 전자 우편 송신 서버(220) 및 전자 우편 수신 서버(230)을 통해 수신 클라이언트(240)로 제공된다. 전자 우편 수신 서버(230)에 접속한 수신 클라이언트(240)는 상기 데이터를 전자 우편 수신 서버(230)에 접속하여 수신하지 않고, 상기 URL을 이용하여 데이터 제공 서버(260)에 접속하여 수신함으로써 상기 데이터를 제공 받는다.In order to solve such a problem, an e-mail service as shown in FIG. 2 is provided. Reference numeral 210 denotes a transmitting client terminal for transmitting an electronic mail, and reference numeral 240 denotes a receiving client terminal for receiving the electronic mail. If a user does not attach data such as audio data to the e-mail, and composes and transmits an e-mail including a URL for the data providing server 203 which stores the data, the e-mail is an e-mail sending server ( 220 and an e-mail receiving server 230 to the receiving client 240. The receiving client 240 connected to the e-mail receiving server 230 does not receive the data by connecting to the e-mail receiving server 230, but accesses and receives the data providing server 260 by using the URL. Get data.

그러나, 상기 전자 우편의 수신인이 많은 경우(특히 광고, 홍보용 전자 우편의 경우 수신인이 불특정 다수인 경우가 많음)에는 데이터 제공 서버(260)에 수신인들의 데이터 요청이 집중되기 때문에 데이터 제공 서버(260)와 네트워크에 많은 부하가 유발된다. 또한, 데이터를 수신하는 사용자로서도 상기 데이터가 전송되기까지 기다려야 하는 시간이 길어지게 되는 문제점이 있다.However, when there are many recipients of the e-mail (especially in the case of advertisements or promotional e-mails, there are many unspecified recipients), the data provision server 260 is because the data requests of the recipients are concentrated on the data provision server 260. And a lot of load on the network. In addition, there is a problem that the user who receives the data has a long time to wait until the data is transmitted.

이와 같은 문제점을 해결하기 위해서, 충분한 용량의 데이터 제공 서버(260)와 네트워크를 이용할 수 있지만, 이러한 경우 상기 장비들을 구비하기 위해 소요되는 비용 부담이 크고, 상기 장비를 구비한 경우에도 사용자들이 상기 데이터를 요청하는 빈도가 일정하지 않기 때문에 많은 수의 사용자들이 상기 데이터를 요청하는 특정 시간대 외에는 상기 장비가 유휴 장비로서 효율적으로 활용되지 못할 수 있다는 문제점이 있다.In order to solve such a problem, a data providing server 260 and a network having a sufficient capacity may be used, but in this case, the cost of providing the equipments is large, and even if the equipment is provided, users may receive the data. Since the frequency of requesting the data is not constant, there is a problem in that the equipment may not be effectively utilized as an idle equipment except for a specific time period when a large number of users request the data.

한편, 상기 특정 시간대가 발생하는 원인은 아래와 같이 설명될 수 있다.On the other hand, the cause of the specific time zone can be described as follows.

i) 전날 수신된 전자 우편 중 읽혀지지 않은 전자 우편은 출근 시간 직후에읽혀지는 경우가 많다.i) Unread e-mails received the day before are often read immediately after work.

ii) 광고, 홍보를 위한 전자 우편은 일과 시간 이후에 발송되어 다음 날 출근 시간 직후에 읽혀지는 경우가 많다.ii) E-mails for advertising and promotion are often sent after work hours and read immediately after work on the following day.

iii) 동시에 다수의 수신에게 전송된 전자 우편은 비슷한 시간에 수신인의 전자 우편 서버에 수신되며 결과적으로 상기 전자 우편의 대부분은 비슷한 시간 대에 읽혀진다.iii) E-mail sent to multiple recipients at the same time is received at the recipient's e-mail server at a similar time, and as a result, most of the e-mail is read in a similar time zone.

따라서, 특정 시간 대에는 전자 우편을 수신한 사용자들로부터 데이터 요청이 폭주하지만 그 외의 시간대에는 상기 요청이 상대적으로 감소하여 상기 특정 시간대 외의 시간에는 상기 구비한 장비는 유휴 장비로 남게 된다.Accordingly, data requests are congested from users who have received e-mail at specific times, but the requests are relatively reduced at other times, leaving the equipment as idle equipment outside the specific time zone.

그런데, 인터넷을 이용한 정보의 검색과 교환에 있어서, 텍스트에 비해 멀티미디어가 차지하는 부분이 점점 커지고 있고, 전자 우편의 경우에도 송신하는 사람의 음성이나 화상이 텍스트를 대체하는 날이 올 것이라고 예측된다. 또한, 음성 또는 화상 형태로 제작된 뉴스나 교육 자료 등을 전자 우편으로 배달하는 일도 빈번해 질 것이다.By the way, in the retrieval and exchange of information using the Internet, multimedia occupies more and more than text, and it is predicted that the day when the voice or image of the sender replaces the text even in the case of electronic mail. In addition, news and educational materials produced in the form of voice or video will be frequently delivered by e-mail.

따라서, 전자 우편을 이용하여 수신자에게 음성 또는 화상을 제공하기 위해 상술한 바와 같은 문제를 해결할 필요성이 커지고 있다. 한편, 상술한 바와 같은 문제점은 오디오 데이터 또는 비디오 데이터 등의 멀티미디어 데이터뿐만 아니라 대용량의 데이터를 전자 우편을 이용하여 전송하는 경우에도 발생 가능하며 이를 위한 해결책도 필요하다.Thus, there is an increasing need to solve the above-mentioned problems in order to provide voice or image to the recipient by using electronic mail. On the other hand, the above-described problem may occur even when transmitting a large amount of data using electronic mail as well as multimedia data such as audio data or video data, and there is a need for a solution.

본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 것으로서, 전자 우편을 이용하여 오디오 데이터, 비디오 데이터 등의 멀티미디어 데이터를 포함하여 대용량의 데이터를 상기 전자 우편의 수신자에게 제공할 수 있는 데이터 전송 방법을 제공하는 것을 목적으로 한다.The present invention has been made to solve the above-mentioned problems of the prior art, the data that can provide a large amount of data to the recipient of the e-mail, including multimedia data such as audio data, video data using e-mail It is an object to provide a transmission method.

또한, 본 발명은 상기 데이터를 저장하고 있는 서버 및 네트워크의 부하를 최소화하고 상기 데이터의 전송 시간을 감소시킬 수 있는 데이터 전송 방법을 제공하는 것을 또 다른 목적으로 한다.Another object of the present invention is to provide a data transmission method capable of minimizing the load on the server and network storing the data and reducing the transmission time of the data.

도 1 및 도 2는 종래의 전자 우편 서비스를 설명하기 위한 도면.1 and 2 are diagrams for explaining a conventional e-mail service.

도 3은 본 발명에 따른 데이터 전송 방법을 수행하는 데이터 제공 시스템을 포함하는 클라이언트 단말기의 네트워크 연결을 도시한 도면.3 is a diagram illustrating a network connection of a client terminal including a data providing system for performing a data transmission method according to the present invention.

도 4는 본 발명의 일실시예에 따른 데이터 전송 방법을 도시한 흐름도.4 is a flowchart illustrating a data transmission method according to an embodiment of the present invention.

도 5는 본 발명의 일실시예에 따른 데이터 전송 방법에 있어서, 클라이언트 단말기로 수신되는 접속 정보의 일례를 도시한 도면.5 is a diagram illustrating an example of connection information received by a client terminal in a data transmission method according to an embodiment of the present invention.

도 6은 본 발명의 일실시예에 따른 데이터 전송 방법에 있어서, 인덱싱 서버로 전송하는 정보의 일례를 도시한 도면6 illustrates an example of information transmitted to an indexing server in a data transmission method according to an embodiment of the present invention.

도 7은 본 발명의 또 다른 실시예에 따른 데이터 전송 방법을 도시한 흐름도.7 is a flowchart illustrating a data transmission method according to another embodiment of the present invention.

도 8은 본 발명의 또 다른 실시예에 따른 데이터 전송 방법을 도시한 흐름도.8 is a flowchart illustrating a data transmission method according to another embodiment of the present invention.

도 9는 본 발명의 또 다른 실시예에 따른 데이터 전송 방법에 있어서, 관리 데이터베이스에 저장되는 데이터 식별자, 접속 정보 및 상기 접속 정보와 연관된 작업 부하 정보의 일례를 도시한 도면.9 is a diagram for one example of a data identifier stored in a management database, connection information, and workload information associated with the connection information in the data transmission method according to another embodiment of the present invention.

도 10은 본 발명의 또 다른 실시예에 따른 데이터 전송 방법을 도시한 흐름도.10 is a flowchart illustrating a data transmission method according to another embodiment of the present invention.

도 11은 본 발명에 따른 데이터 전송 시스템 등을 구성하는 데 채용될 수 있는 범용 컴퓨터 시스템의 내부 블록도.11 is an internal block diagram of a general purpose computer system that may be employed to construct a data transfer system or the like in accordance with the present invention.

상기의 목적을 달성하고, 상술한 종래 기술의 문제점을 해결하기 위하여, 본 발명에 따른 데이터 전송 방법은 클라이언트 단말기가 수신한 전자 우편에 소정의 데이터를 참조하기 위한 데이터 식별자가 포함되어 있는지 여부를 판단하는 단계, 상기 전자 우편에 상기 데이터 식별자가 포함되어 있는 경우, 소정의 인덱싱 서버에 상기 데이터 식별자를 전송하여 데이터 제공 단말기에 대한 접속 정보를 요청하는 단계, 상기 인덱싱 서버로부터 하나 이상의 데이터 제공 단말기에 대한 상기 접속 정보를 수신하는 단계, 상기 접속 정보에 기초하여 상기 데이터 제공 단말기에 상기 데이터를 요청하는 단계, 및 상기 데이터 제공 단말기로부터 상기 데이터를 수신하는 단계를 포함하고, 상기 인덱싱 서버상기 클라이언트 단말기와 통신망을 통해 연결되고, 소정의 데이터를 저장하는 데이터 제공 단말기에 대한 접속 정보를 유지하는 것을 특징으로 한다.In order to achieve the above object and solve the above-mentioned problems of the prior art, the data transmission method according to the present invention determines whether a data identifier for referencing predetermined data is included in an e-mail received by a client terminal. When the electronic mail includes the data identifier, requesting access information for a data providing terminal by transmitting the data identifier to a predetermined indexing server, requesting at least one data providing terminal from the indexing server. Receiving the connection information, requesting the data from the data providing terminal based on the connection information, and receiving the data from the data providing terminal, wherein the indexing server is connected with the client terminal. Connected through a network, It is characterized in that the connection information for the data providing terminal for storing the predetermined data is maintained.

본 발명의 일측에 따르면, 상기 데이터 식별자는 상기 데이터의 출처인 데이터 제공 서버의 URL 정보를 포함할 수 있다.According to one aspect of the invention, the data identifier may include URL information of the data providing server that is the source of the data.

또한, 본 발명의 또 다른 일측에 따르면, 상기 데이터 제공 단말기는 상기 데이터 제공 서버, 또는 상기 데이터 제공 서버로부터 상기 데이터를 수신하여 저장하고 있는 클라이언트 단말기인 것을 특징으로 한다.Further, according to another aspect of the invention, the data providing terminal is characterized in that the data providing server, or a client terminal that receives and stores the data from the data providing server.

또한, 본 발명에 따른 데이터 전송 방법은 소정의 관리 데이터베이스 수단에 데이터 식별자, 및 상기 데이터 식별자에 대응하는 접속 정보 -상기 접속 정보는 데이터를 저장하는 데이터 제공 단말기에 대한 접속 정보임 -를 저장하는 단계, 소정의 클라이언트 단말기로부터 데이터 식별자를 수신하는 단계, 상기 관리 데이터베이스 수단 중에서 상기 수신한 데이터 식별자에 대응하는 접속 정보를 검색하는 단계, 및 상기 검색된 접속 정보를 상기 클라이언트 단말기로 전송하는 단계를 포함하고, 상기 데이터 제공 단말기는 상기 데이터의 출처인 데이터 제공 서버, 또는 상기 데이터 제공 서버로부터 상기 데이터를 수신하여 저장하고 있는 클라이언트 단말기인 것을 특징으로 한다. 또한, 본 발명은 상술한 데이터 전송 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공한다.In addition, the data transmission method according to the present invention comprises the steps of storing a data identifier and connection information corresponding to the data identifier in a predetermined management database means, wherein the connection information is connection information for a data providing terminal that stores data. Receiving a data identifier from a predetermined client terminal, retrieving connection information corresponding to the received data identifier from the management database means, and transmitting the retrieved connection information to the client terminal, The data providing terminal is a data providing server which is a source of the data, or a client terminal that receives and stores the data from the data providing server. The present invention also provides a computer readable recording medium having recorded thereon a program for executing the above-described data transfer method.

이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 구체적으로 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention in detail.

도 3은 본 발명에 따른 데이터 전송 방법을 수행하는 데이터 제공 시스템을 포함하는 클라이언트 단말기(340)의 네트워크 연결을 도시한 도면이다. 본 발명은 전자 우편 내에 멀티미디어 데이터 등의 대용량 데이터가 직접 삽입, 첨부되는 것이 아니라, 소정의 데이터 제공 서버(360)로부터 데이터를 제공 받도록 되어 있는 전자 우편 서비스에서 적용 가능하며, 본 발명을 이용하면 전자 우편을 수신한 사용자는 데이터 제공 서버(360)뿐만 아니라, 상기 데이터를 저장하고 있는 하나 이상의 데이터 제공 단말기(370a 내지 370c)로부터 데이터를 제공 받을 수 있게 된다.3 is a diagram illustrating a network connection of a client terminal 340 including a data providing system for performing a data transmission method according to the present invention. The present invention is applicable to an e-mail service in which a large amount of data such as multimedia data is not directly inserted and attached into an e-mail, but is provided with data from a predetermined data providing server 360. The user who receives the mail can receive data from not only the data providing server 360 but also one or more data providing terminals 370a to 370c storing the data.

이하, 본 발명의 일실시예에 따른 데이터 전송 방법에 대해 설명한다. 도 4는 본 실시예에 따른 데이터 전송 방법을 도시한 흐름도이다.Hereinafter, a data transmission method according to an embodiment of the present invention will be described. 4 is a flowchart illustrating a data transmission method according to the present embodiment.

데이터 전송 시스템은 단계(401)에서 전자 우편 수신 서버(330)로부터 전자 우편을 수신하고, 단계(402)에서 상기 전자 우편에 소정의 데이터를 참조하기 위한 데이터 식별자가 포함되어 있는지 여부를 판단한다.The data transmission system receives an e-mail from the e-mail receiving server 330 in step 401, and determines whether the data e-mail includes a data identifier for referring to predetermined data in step 402.

상기 데이터 식별자는 상기 데이터의 출처인 데이터 제공 서버(360)의 URL 정보를 포함할 수 있다. 상기 전자 우편에 상기 데이터 식별자를 포함시키기 위해 자바 스크립트, 태그 명령어, Active-x 오브젝트 등이 사용될 수 있다. 예를 들면, 상기 데이터 식별자를 상기 전자 우편에 포함시키기 위해 아래와 같은 HTML이 전자 우편 내에 삽입될 수 있다.The data identifier may include URL information of the data providing server 360 that is the source of the data. Javascript, tag commands, Active-x objects, etc. may be used to include the data identifier in the e-mail. For example, the following HTML may be inserted into an e-mail to include the data identifier in the e-mail.

1) 자바 스크립트를 이용한 경우,1) If you are using JavaScript,

<SCRIPT LANGUAGE="JavaScript" SRC=http://www.server.com/ contents/link.asp?data_id=000010488> </SCRIPT><SCRIPT LANGUAGE = "JavaScript" SRC = http: //www.server.com/ contents / link.asp? Data_id = 000010488> </ SCRIPT>

2) 태그 명령을 사용한 경우(bgsound 태그 명령을 사용한 경우)2) When using the tag command (When using the bgsound tag command)

<bgsound src = http://www.server.com/contents/music.asf hidden=true><bgsound src = http://www.server.com/contents/music.asf hidden = true>

3) 태그 명령을 사용한 경우(embed 태그 명령을 사용한 경우)3) When using the tag command (When using the embedded tag command)

<embed src= http://www.server.com/contents/music.asf hidden=ture><embed src = http://www.server.com/contents/music.asf hidden = ture>

4) Active-X 오브젝트를 사용한 경우4) Using Active-X Objects

<OBJECT name="p3playctrl" id="p3plyactrl" classid="clsid:5363A 8A-1FE%-4B3F-95BE-AF0F392DE720"<OBJECT name = "p3playctrl" id = "p3plyactrl" classid = "clsid: 5363A 8A-1FE% -4B3F-95BE-AF0F392DE720"

CODEBASE=http://www.peeringportal.net/activectrl/P3PlayCtrl.cab#version=1,0,0,1>CODEBASE = http: //www.peeringportal.net/activectrl/P3PlayCtrl.cab#version=1,0,0,1>

<PARAM URL="p3tp://www.server.com/contents/kor104234"><PARAM URL = "p3tp: //www.server.com/contents/kor104234">

</OBJECT></ OBJECT>

또한, 본 발명의 또 다른 실시예에 따르면, 상기 데이터 식별자는 상기 데이터에 대해 소정의 아이디 생성 시스템이 생성한 고유의 아이디일 수 있다. 상기 고유 아이디를 데이터 식별자로 사용하는 경우에는 상기 데이터의 출처인 데이터 제공 서버(360) 및 인덱싱 서버(350)는 각 데이터에 대한 각 고유 아이디를 저장하고 있어야 한다. 송신 클라이언트 단말기(310)는 데이터 제공 서버(360)로부터 소정의 데이터에 대응하는 고유 아이디를 제공 받고 상기 고유 아이디를 전자 우편에 삽입하여 전송하는 방법으로, 클라이언트 단말기(340)에 상기 데이터 식별자가 포함된 전자 우편을 송신할 수 있다.In addition, according to another embodiment of the present invention, the data identifier may be a unique ID generated by a predetermined ID generation system for the data. When the unique ID is used as the data identifier, the data providing server 360 and the indexing server 350, which are the sources of the data, should store each unique ID for each data. The transmitting client terminal 310 receives a unique ID corresponding to predetermined data from the data providing server 360 and inserts the unique ID into an e-mail to transmit the data. The data identifier is included in the client terminal 340. Can send e-mail.

단계(402)에서의 판단 결과, 상기 전자 우편에 상기 데이터 식별자가 포함되어 있는 경우, 데이터 전송 시스템은 단계(403)에서 상기 데이터 식별자를 인덱싱 서버(350)로 전송한다. 상기 데이터 식별자를 수신한 인덱싱 서버(350)는단계(404)에서 상기 데이터 식별자에 대응하는 소정의 데이터 제공 단말기에 대한 접속 정보 및 작업 부하 정보를 데이터 전송 시스템으로 전송한다.If it is determined in step 402 that the data identifier is included in the electronic mail, the data transmission system transmits the data identifier to the indexing server 350 in step 403. Receiving the data identifier, the indexing server 350 transmits the connection information and the workload information for the predetermined data providing terminal corresponding to the data identifier in step 404 to the data transmission system.

상기 데이터 제공 단말기는 상기 데이터의 출처인 데이터 제공 서버(360) 뿐 아니라, 데이터 제공 서버(360)로부터 상기 데이터를 수신하여 저장하고 있는 클라이언트 단말기를 포함할 수 있으며, 본 실시예에서의 클라이언트 단말기(340)는 상기 데이터를 수신할 뿐만 아니라 타 클라이언트 단말기에 대해 상기 데이터를 제공하는 데이터 제공 단말기로서의 역할도 수행할 수 있다.The data providing terminal may include a client terminal that receives and stores the data from the data providing server 360 as well as the data providing server 360 that is the source of the data. 340 may not only receive the data, but may also serve as a data providing terminal that provides the data to other client terminals.

한편, 상기 작업 부하 정보는 각 클라이언트 단말기에서 작업 부하 산출 데이터를 측정하는 단계, 및 상기 측정된 작업 부하 산출 데이터에 기초하여 상기 각 클라이언트 단말기의 작업 부하 정보를 계산하는 단계를 통하여 산출되고, 상기 산출된 작업 부하 정보는 인덱싱 서버(350)로 전송된다. 상기 전송된 작업 부하 정보는 소정의 데이터베이스에 상기 각 클라이언트 단말기와 연관하여 각각 저장된다. 이와 같은 구성을 통하여 인덱싱 서버(350)는 각 클라이언트 단말기의 작업 부하 정보를 알 수 있고, 상기 각 클라이언트 단말기는 데이터 수신자 뿐 아니라 데이터 제공자(데이터 제공 단말기)로서 기능한다. 마찬가지로, 데이터 전송 시스템은 클라이언트 단말기(340)의 작업 부하 정보를 산출하여 인덱싱 서버(350)로 전송하여 저장되도록 한다.The workload information is calculated through measuring workload calculation data at each client terminal, and calculating workload information of each client terminal based on the measured workload calculation data. The workload information is transmitted to the indexing server 350. The transmitted workload information is stored in association with each of the client terminals in a predetermined database, respectively. Through such a configuration, the indexing server 350 can know the workload information of each client terminal, and each client terminal functions as a data provider (data providing terminal) as well as a data receiver. Similarly, the data transmission system calculates workload information of the client terminal 340, transmits the information to the indexing server 350, and stores the workload information.

작업 부하 정보를 산출하는 기초가 되는 상기 작업 부하 상출 데이터는, 클라이언트 단말기(340)의 CPU의 부하, 하드 디스크의 작업 부하, 클라이언트 단말기(340)에 접속하여 소정의 데이터를 수신하고 있는 타 클라이언트 단말기의수, 상기 클라이언트 단말기에 접속한 타 클라이언트 단말기에 데이터를 제공한 총 회수, 상기 클라이언트 단말기와 타 클라이언트 단말기 사이의 네트워크 트래픽 중 어느 하나 이상일 수 있으며, 실시예에 따라 일부가 제외되거나 다른 작업 부하 산출 데이터가 포함될 수도 있다.The workload unloading data, which is a basis for calculating workload information, is connected to the load of the CPU of the client terminal 340, the workload of the hard disk, and other client terminals connected to the client terminal 340 to receive predetermined data. The number of times of providing the data to another client terminal connected to the client terminal, the network traffic between the client terminal and the other client terminal, and depending on the embodiment, part of which is excluded or other workload calculation Data may be included.

데이터 전송 시스템은 단계(405)에서 상기 작업 부하 정보에 기초하여 인덱싱 서버(350)으로부터 수신한 접속 정보 중 하나 이상의 접속 정보를 선택한다. 예를 들면, 데이터 전송 시스템이 도 5에 도시한 바와 같은 접속 정보와 작업 부하 정보를 수신한 경우, 데이터 전송 시스템은 데이터 제공 단말기(370c)에 대한 접속 정보를 선택한다. 또는, 데이터 제공 단말기는 하나 이상 선택될 수 있고, 두 개의 접속 정보를 선택하는 경우에는 데이터 제공 단말기(370c)에 대한 접속 정보와 데이터 제공 단말기(370b)에 대한 접속 정보가 선택될 것이다.The data transmission system selects one or more of the connection information received from the indexing server 350 based on the workload information in step 405. For example, when the data transmission system receives the connection information and the workload information as shown in Fig. 5, the data transmission system selects the connection information for the data providing terminal 370c. Alternatively, one or more data providing terminals may be selected, and when two pieces of connection information are selected, connection information for the data providing terminal 370c and connection information for the data providing terminal 370b may be selected.

접속 정보로서 데이터 제공 단말기(370c)의 접속 정보가 선택된 경우, 데이터 전송 시스템은 단계(406)에서 상기 선택된 접속 정보에 기초하여 데이터 제공 단말기(370c)에 상기 데이터를 요청하고, 단계(407)에서 데이터 제공 단말기(370c)로부터 상기 데이터를 수신하여 클라이언트 단말기(340)의 저장 수단에 저장한다.If the connection information of the data providing terminal 370c is selected as the connection information, the data transmission system requests the data from the data providing terminal 370c based on the selected connection information in step 406, and in step 407 The data is received from the data providing terminal 370c and stored in the storage means of the client terminal 340.

이때, 데이터 전송 시스템은 상기 데이터의 전송 속도를 측정하고(단계(408)), 상기 전송 속도가 소정의 임계치 미만인 경우, 데이터 제공 단말기(370c)로부터 상기 데이터의 수신을 중지하고(단계(410)) 데이터 제공 단말기(370c) 외의 데이터 제공 단말기로부터 상기 데이터를 전송 받는다. 상기 소정의 임계치는 소정의 멀티미디어 데이터를 재생하는데 필요한 최소한의 전송 속도를의미하며, 네트워크의 상황 또는 재생되는 멀티미디어 데이터의 종류에 따라 가변적으로 설정하는 것이 가능하다.At this time, the data transmission system measures the transmission rate of the data (step 408), and if the transmission rate is less than a predetermined threshold, stops receiving the data from the data providing terminal 370c (step 410). The data is transmitted from a data providing terminal other than the data providing terminal 370c. The predetermined threshold means a minimum transmission speed required for playing predetermined multimedia data, and can be set variably according to the network situation or the type of multimedia data to be played.

데이터 제공 시스템은 단계(405)로 되돌아가서, 인덱싱 서버(350)로부터 수신한 상기 작업 부하 정보(도 5에 도시함)에 기초하여 데이터 제공 단말기(370c)를 제외하고 작업 부하가 최소인 데이터 제공 단말기(370b)에 대한 접속 정보를 선택하고 데이터의 전송이 완료되기까지 단계(405 내지 410)을 반복한다. 이와 같은 구성을 통하여 데이터의 전송 속도가 임계치 이상인 데이터 제공 단말기로부터 상기 데이터를 제공 받음으로써, 상기 데이터가 전송 완료되기까지 사용자가 기다리는 시간을 감소시킬 수 있다.The data providing system returns to step 405 to provide data with a minimum workload except for the data providing terminal 370c based on the workload information (shown in FIG. 5) received from the indexing server 350. The access information for the terminal 370b is selected and the steps 405 to 410 are repeated until the data transmission is completed. Through such a configuration, by receiving the data from a data providing terminal having a data transmission speed greater than or equal to a threshold value, the user waits until the data is completed.

즉, 본 실시예에 따른 데이터 전송 방법은, 인덱싱 서버(350)로부터 수신한 작업 부하 정보에 기초하여 데이터 제공 단말기(370c)를 선택함으로써 데이터 전송 속도를 1차적으로 보장하고, 상기 작업 부하 정보에 기초하여 선택된 데이터 제공 단말기라 하더라도 실제로 데이터 전송 속도가 임계치보다 낮은 경우에는 다른 데이터 제공 단말기(370b)로부터 데이터를 수신할 수 있도록 함으로써 데이터 전송 속도를 2차적으로 보장하고 있다.That is, in the data transmission method according to the present exemplary embodiment, the data transmission speed is primarily guaranteed by selecting the data providing terminal 370c based on the workload information received from the indexing server 350, and the data transmission rate is guaranteed. Even if the data providing terminal selected on the basis of the data transmission rate is actually lower than the threshold, it is possible to receive data from another data providing terminal 370b, thereby ensuring the data transmission rate secondarily.

상술한 예에서와 같이 상기 작업 부하 정보에 기초하여 선택된 데이터 제공 단말기(370c)로부터의 데이터 전송 속도가 타 데이터 제공 단말기(370b)로부터의 전송 속도 보다 떨어지는 주된 이유는 각 클라이언트 단말기에서의 상기 작업 부하 정보의 산출 시기와, 클라이언트 단말기(340)가 상기 작업 부하 정보를 수신하는 시기 사이의 시간상 차이에서 기인한다. 즉, 데이터 제공 단말기(370c)에서 상기작업 부하 정보를 산출한 후, 데이터 제공 단말기(370c)에서의 작업 부하가 증가한 경우가 발생할 수 있기 때문이다.As in the above example, the main reason that the data transfer rate from the data providing terminal 370c selected based on the workload information is lower than the transfer rate from the other data providing terminal 370b is the workload at each client terminal. This results from a time difference between when the information is computed and when the client terminal 340 receives the workload information. That is, after the workload information is calculated by the data providing terminal 370c, the workload may increase in the data providing terminal 370c.

상술한 바와 같은 시간상 차이를 최소화하기 위해서 상기 각 클라이언트 단말기는 자신의 작업 부하 정보를 산출하여 인덱싱 서버(350)로 전송하는 단계를 반복하며, 작업 부하 정보의 전송 주기는 클라이언트 단말기와 인덱싱 서버 사이의 네트워크 트래픽과 정확한 작업 부하 정보의 제공을 고려하여 적절하게 선택되어야 할 것이다.In order to minimize the difference in time as described above, each client terminal repeats the step of calculating its own workload information and transmitting it to the indexing server 350, and the transmission period of the workload information between the client terminal and the indexing server. Consideration should be given to the provision of network traffic and accurate workload information.

또한, 본 발명의 또 다른 실시예에 따르면, 인덱싱 서버(350)로부터 수신한 각 접속 정보에 기초하여 각 데이터 제공 단말기(370a 내지 370c)로부터 상기 데이터를 각각 수신해 보아도 상기 임계치 이상의 전송 속도로 데이터를 송신하는 데이터 제공 단말기가 존재하지 않는 경우에는, 데이터 전송 시스템은 상기 데이터의 출처인 데이터 제공 서버(360)로부터 직접 상기 데이터를 수신함으로써, 최소한 데이터 제공 서버(360)로부터만 상기 데이터를 수신하는 종래 기술에서와 같은 전송 속도를 보장한다.In addition, according to another embodiment of the present invention, even when receiving the data from each of the data providing terminals (370a to 370c) based on the connection information received from the indexing server 350, respectively, the data at the transmission rate of the threshold value or more If there is no data providing terminal for transmitting the data, the data transmission system receives the data directly from the data providing server 360 which is the source of the data, thereby receiving the data only from the data providing server 360 at least. Guaranteed transmission speed as in the prior art.

데이터 제공 시스템은 단계(411)에서 상기 데이터의 전송이 완료되었는지 여부를 판단하고 상기 데이터의 전송이 완료될 때까지 데이터의 수신 및 저장을 지속적으로 수행한다.The data providing system determines whether or not the transmission of the data is completed in step 411, and continuously receives and stores the data until the transmission of the data is completed.

데이터 전송 시스템은 상기 데이터의 수신 및 저장이 완료된 경우 단계(412)에서 수신, 저장한 상기 데이터가 멀티미디어 데이터인 경우 상기 멀티미디어 데이터를 재생하여 사용자에게 시각적 또는 청각적으로 제공한다. 상기 데이터가 멀티미디어 데이터가 아닌 경우에는 단계(412)는 생략될 수 있다. 이때, 본 발명의 또 다른 실시예에 따르면, 상기 멀티미디어 데이터 전체의 수신 완료되지 않은 경우에도, 이미 수신된 멀티미디어 데이터의 일부를 이용하여 재생이 시작된다. 이때에는 상기 수신 속도가 상기 재생 속도 이상인 것이 보장되면 상기 멀티미디어 데이터는 소리 또는 영상의 끊김 등의 문제 없이 재생될 수 있다.When the reception and storage of the data is completed, the data transmission system reproduces the multimedia data and provides the user visually or aurally when the data received and stored in step 412 is multimedia data. If the data is not multimedia data, step 412 may be omitted. At this time, according to another embodiment of the present invention, even if the reception of the entire multimedia data is not completed, playback is started using a part of the multimedia data already received. In this case, if the reception speed is guaranteed to be equal to or higher than the reproduction speed, the multimedia data may be reproduced without a problem such as interruption of sound or an image.

본 발명의 또 다른 실시예에 따르면, 데이터 전송 시스템은 상기 저장 수단에 저장되어 있는 데이터를 식별하기 위한 데이터 식별자를 인덱싱 서버(350)로 전송하여 인덱싱 서버(350)에서 상기 데이터를 저장하고 있는 데이터 제공 단말기를 파악될 수 있도록 한다. 클라이언트 단말기(340)는 타 클라이언트 단말기에 대해서는 데이터 제공 단말기로서 기능하게 되므로, 데이터 제공 시스템은 클라이언트 단말기(340)의 상기 저장 수단에 저장되어 있는 데이터의 종류를 인덱싱 서버(350)에 알려줄 필요가 있다.According to another embodiment of the present invention, the data transmission system transmits a data identifier for identifying the data stored in the storage means to the indexing server 350 to store the data in the indexing server 350 The providing terminal can be identified. Since the client terminal 340 functions as a data providing terminal for other client terminals, the data providing system needs to inform the indexing server 350 of the type of data stored in the storage means of the client terminal 340. .

이를 위해, 데이터 제공 시스템은 단계(413)에서 상기 저장 수단에 저장된 데이터의 변동 사항을 추적하고, 단계(414, 415 및 416)에서 상기 변동 사항을 감지한 경우 상기 저장 수단에 저장되어 있는 상기 데이터를 검색하여 상기 검색된 데이터에 해당하는 데이터 식별자를 인덱싱 서버(350)로 전송한다.To this end, the data providing system tracks the changes of the data stored in the storage means in step 413, and if the changes are detected in steps 414, 415, and 416, the data stored in the storage means. Search for and transmit a data identifier corresponding to the retrieved data to the indexing server 350.

즉, 데이터 제공 시스템은 상기 저장 수단에 새로운 데이터가 저장되거나 저장되어 있던 기존의 데이터가 삭제될 때마다 이를 감지하여 상기 저장 수단에 실제 저장되어 있는 데이터에 대응하는 데이터 식별자를 인덱싱 서버(350)으로 전송함으로써 인덱싱 서버(350)가 각 클라이언트 단말기에 제공하는 접속 정보가 더욱 정확해 지도록 할 수 있다.That is, the data providing system detects whenever new data is stored in the storage means or existing data stored therein is deleted, and the data identifier corresponding to the data actually stored in the storage means is sent to the indexing server 350. By transmitting, the access information that the indexing server 350 provides to each client terminal can be made more accurate.

한편, 본 발명의 또 다른 실시예에 따르면, 데이터 제공 단말기로부터 수신한 상기 데이터는 클라이언트 단말기(340)의 상기 저장 수단 중 소정의 위치에 소정의 형태로 저장된다. 상기 소정의 폴더는, 웹 브라우저가 MS 익스플로러의 경우 'Internet Temporary Folder' 거나, 특정 어플리케이션에서 이용되는 디폴트 폴더거나, 사용자가 지정한 폴더일 수 있다.On the other hand, according to another embodiment of the present invention, the data received from the data providing terminal is stored in a predetermined form in a predetermined position of the storage means of the client terminal 340. The predetermined folder is a web browser, MS Explorer In the case of 'Internet Temporary Folder', it may be a default folder used by a specific application, or a folder designated by a user.

각 클라이언트 단말기가 본 실시예에 따른 데이터 전송 방법에 따라 수신한 데이터는 일괄적으로 상기 각 클라이언트 단말기의 저장 수단 중 상기 소정의 위치에 소정의 형태로 저장되므로, 데이터 전송 시스템은 상기 데이터에 대응하는 데이터 식별자만을 인덱싱 서버(350)로 전송하면 되고, 상기 데이터가 상기 저장 수단 중 어느 위치에 저장되어 있는지에 대한 위치 데이터를 전송할 필요는 없다.Since the data received by each client terminal according to the data transmission method according to the present embodiment are collectively stored in the predetermined position among the storage means of each client terminal, the data transmission system corresponds to the data. It is only necessary to transmit the data identifier to the indexing server 350, and it is not necessary to transmit the position data on which position of the storage means.

인덱싱 서버(350)로부터 클라이언트 단말기(340)에 대한 접속 정보를 수신한 타 클라이언트 단말기는 클라이언트 단말기(340)에 접속하여 상기 폴더로부터 상기 데이터를 수신할 수 있다.Another client terminal that receives the access information about the client terminal 340 from the indexing server 350 may access the client terminal 340 and receive the data from the folder.

본 발명의 또 다른 실시예에 따르면, 상기 데이터는 상기 저장 수단 중 소정의 위치가 아닌 임의의 위치에 임의의 형태로 저장된다. 이러한 경우에는 데이터 전송 시스템은 상기 데이터에 대한 데이터 식별자 뿐만 아니라 상기 저장 수단 중 데이터가 저장되어 있는 위치에 대한 위치 식별자를 함께 인덱싱 서버(350)에 전송한다. 인덱싱 서버(350)는 상기 데이터 식별자에 대해 타 클라이언트 단말기에 클라이언트 단말기(340)에 대한 접속 정보 및 상기 위치 식별자를 제공하고, 타 클라이언트 단말기는 상기 접속 정보에 기초하여 클라이언트 단말기(340)에 접속하여 상기 위치 식별자를 이용하여 상기 저장 수단 중 상기 위치에서 상기 데이터를 제공 받을 수 있게 된다.According to another embodiment of the present invention, the data is stored in any form at any position other than the predetermined one of the storage means. In this case, the data transmission system transmits not only the data identifier for the data but also the position identifier for the position where the data is stored in the storage means to the indexing server 350. The indexing server 350 provides the other client terminal with connection information about the client terminal 340 and the location identifier with respect to the data identifier, and the other client terminal accesses the client terminal 340 based on the connection information. The data may be provided at the location of the storage means using the location identifier.

한편, 후술하는 바와 같이 상기 데이터는 소정의 순서 정보가 기록된 헤더를 포함하는 하나 이상의 세그먼트로 구성되고, 상기 저장 수단에 상기 데이터 전체가 아니라 상기 데이터의 일부를 구성하는 세그먼트가 저장되어 있는 경우에는, 클라이언트 단말기(340)는 상기 저장 수단에 저장되어 있는 세그먼트가 구성하는 데이터 식별자 외에 상기 세그먼트를 식별하기 위한 세그먼트 식별자를 함께 인덱싱 서버(350)로 전송하여 상기 세그먼트 식별자를 인덱싱 서버(350)에서 관리되도록 할 수 있다. 상기 세그먼트가 상기 저장 수단 중 임의의 위치에 저장되는 경우에는 상기 위치에 대한 위치 식별자가 더 전송되어야 함을 물론이다.On the other hand, as will be described later, when the data is composed of one or more segments including a header in which predetermined order information is recorded, and the segments constituting a part of the data are stored in the storage means instead of the entire data. In addition, the client terminal 340 transmits the segment identifier for identifying the segment together to the indexing server 350 in addition to the data identifier of the segment stored in the storage means, and manages the segment identifier in the indexing server 350. You can do that. Of course, if the segment is stored in any of the storage means, a location identifier for the location should be further transmitted.

또한, 본 발명의 또 다른 실시예에 따르면, 상술한 작업 부하 정보는 클라이언트 단말기(340)가 상기 데이터 식별자를 전송하는 경우에 함께 전송될 수 있다. 이와 같은 구성을 통해 인덱싱 서버(350)와 클라이언트 단말기(340) 사이의 데이터 전송 횟수를 감소시킬 수 있다.In addition, according to another embodiment of the present invention, the aforementioned workload information may be transmitted together when the client terminal 340 transmits the data identifier. This configuration can reduce the number of data transmissions between the indexing server 350 and the client terminal 340.

도 6은 상술한 바와 같이 데이터 전송 시스템이 인덱싱 서버(350)로 전송하는 정보의 일례를 도시한 도면이다. 실시예에 따라, 위치 식별자 또는 세그먼트 식별자는 전송되지 않는 경우도 있고 작업 부하 정보는 데이터 식별자와 별도로 전송되는 경우도 있다.FIG. 6 illustrates an example of information transmitted from the data transmission system to the indexing server 350 as described above. In some embodiments, the location identifier or the segment identifier may not be transmitted, and the workload information may be transmitted separately from the data identifier.

본 발명의 또 다른 실시예에 따르면, 데이터 전송 시스템은 도 7에 도시한바와 같은 단계들을 통해 상기 데이터 식별자를 인덱싱 서버(350)로 전송한다. 단계(701 내지 712)는 도 4에서 도시한 단계(401 내지 412)와 동일하므로 그 도시를 생략하고, 단계(713 내지 단계 720)만을 도시한다.According to another embodiment of the present invention, the data transmission system transmits the data identifier to the indexing server 350 through the steps as shown in FIG. Steps 701 to 712 are the same as steps 401 to 412 shown in FIG. 4, and thus are not shown. Only steps 713 to 720 are shown.

본 실시예에 따르면, 데이터 전송 시스템은 단계(713)에서 최후로 인덱싱 서버(350)로 데이터 식별자를 전송한 이후 소정의 기간이 경과했는지 여부를 판단하고, 상기 기간이 경과한 경우에는 단계(714)에서 상기 저장 공간에 저장되어 있는 데이터를 검색하고, 단계(715)에서 상기 검색된 데이터에 해당하는 데이터 식별자를 인덱싱 서버(350)로 전송한다.According to the present embodiment, the data transmission system determines whether a predetermined period has elapsed since the last data transmission to the indexing server 350 in step 713, and if the period has elapsed, step 714. In step 715, the data stored in the storage space is retrieved, and in step 715, a data identifier corresponding to the retrieved data is transmitted to the indexing server 350.

즉, 본 실시예에 따른 데이터 전송 시스템은 '주기적으로' 상기 저장 수단에 저장되어 있는 데이터를 검색하여 검색된 데이터에 대한 데이터 식별자를 전송하는 방식으로 인덱싱 서버(350)에 저장되는 접속 정보에 대한 갱신이 이루어지도록 한다.That is, the data transmission system according to the present embodiment updates the access information stored in the indexing server 350 in a manner of periodically searching for data stored in the storage means and transmitting a data identifier for the retrieved data. Let this be done.

단계(716 내지 720)은 후술하는 단계(417 내지 421)과 동일하므로 그 설명을 생략한다.Steps 716 to 720 are the same as steps 417 to 421 described later, and thus description thereof is omitted.

본 발명의 또 다른 실시예에 따르면, 데이터 전송 시스템은 단계(417)에서 인덱싱 서버(350)에 대한 클라이언트 단말기(340)의 접속 상태가 변경되는 경우 상기 접속 상태의 변경을 감지한다. 상기 접속 상태에는 클라이언트 단말기(340)가 인덱싱 서버(350)에 대한 '온라인 상태' 또는 '오프라인 상태'를 포함된다.  According to another embodiment of the present invention, when the connection state of the client terminal 340 to the indexing server 350 is changed in step 417, the data transmission system detects the change of the connection state. The connection state includes the client terminal 340 in an 'online state' or an 'offline state' with respect to the indexing server 350.

데이터 전송 시스템은 상기 접속 상태의 변경이 감지되는 경우, 단계(418)에서 인덱싱 서버(350)로 클라이언트 단말기(340)의 접속 상태의 변경을 보고한다.이때, 상기 온라인 상태로의 변경의 보고는 데이터 전송 시스템이 인덱싱 서버(350)에 접속한 이후 이루어질 수 있으며, 상기 오프라인 상태로의 변경의 보고는 클라이언트 단말기(340)가 인덱싱 서버(350)로의 접속을 종료하는 제어 신호가 입력된 경우, 상기 제어 신호의 입력 이후 상기 접속을 종료하기 이전에 이루어질 수 있다.If a change in the connection state is detected, the data transmission system reports the change in the connection state of the client terminal 340 to the indexing server 350 in step 418. At this time, the report of the change to the online state is reported. After the data transmission system connects to the indexing server 350, the report of the change to the offline state may be performed when a control signal for terminating the connection to the indexing server 350 by the client terminal 340 is input. It may be made after the input of the control signal but before terminating the connection.

상기 접속 상태의 보고를 받은 인덱싱 서버(350)는 '온라인 상태에서 오프라인 상태로'의 변경을 보고 받은 경우에는 클라이언트 단말기(340)는 데이터 제공 단말기로서 기능할 수 없음을 인식하고(예를 들면, 클라이언트 단말기(340)에 대한 접속 정보를 삭제함), '오프라인 상태에서 온라인 상태로'의 변경을 보고 받은 경우에는 클라이언트 단말기(340)가 데이터 제공 단말기로 기능할 수 있음을 인식한다(예를 들면, 소정의 데이터 식별자에 대응하는 접속 정보에 클라이언트 단말기(340)에 대한 접속 정보를 추가한다).When the indexing server 350 that receives the report of the connected state receives a change report of 'from online state to offline state', the client terminal 340 recognizes that it cannot function as a data providing terminal (for example, Deletes the access information for the client terminal 340, and recognizes that the client terminal 340 can function as a data providing terminal when the change of the "offline state to online state" has been reported (for example, Adds connection information for the client terminal 340 to the connection information corresponding to the predetermined data identifier).

또한, 본 발명의 또 다른 실시예에 따르면, 데이터 전송 시스템은 단계(419)에서 '오프라인 상태에서 온라인 상태로' 변경을 감지한 경우에는, 상기 저장 공간에 저장되어 있는 데이터를 검색하고, 상기 검색된 데이터에 해당하는 데이터 식별자를 인덱싱 서버(350)로 전송한다(단계(420, 421)).Further, according to another embodiment of the present invention, if the data transmission system detects a change from the offline state to the online state in step 419, the data transmission system searches for the data stored in the storage space, The data identifier corresponding to the data is transmitted to the indexing server 350 (steps 420 and 421).

따라서, 상술한 바와 같이 상기 저장 수단에 저장된 데이터의 변동 사항을 감지한 경우 상기 저장 공간에 저장되어 있는 데이터에 대한 데이터 식별자를 전송하거나, 또는 주기적으로 저장 공간에 저장되어 있는 데이터에 대한 데이터 식별자를 전송하는 것 외에도, 데이터 전송 시스템은 클라이언트 단말기(340)가 인덱싱서버(350)에 대해 오프라인 상태에서 온라인 상태로 변경되는 경우 그 상태에서 상기 저장 공간에 저장되어 있는 데이터에 대한 데이터 식별자를 인덱싱 서버(350)에 전송함으로써, 인덱싱 서버(350)에서 더욱 정확한 접속 정보가 유지될 수 있도록 한다.Therefore, when the change of the data stored in the storage means is detected as described above, the data identifier for the data stored in the storage space is transmitted or the data identifier for the data stored in the storage space is periodically In addition to the data transmission system, when the client terminal 340 changes from an offline state to an online state with respect to the indexing server 350, the data transmission system may provide a data identifier for data stored in the storage space in that state. By transmitting to 350, more accurate connection information can be maintained at the indexing server 350.

한편, 본 발명의 또 다른 실시예에 따르면, 데이터는 소정의 순서 정보가 기록된 헤더를 포함하는 하나 이상의 세그먼트로 구성되고, 인덱싱 서버(350)는 단계(404)에서 하나 이상의 데이터 제공 단말기에 대한 접속 정보 외에 상기 데이터 제공 단말기에 저장되어 있는 세그먼트를 식별할 수 있는 세그먼트 식별자를 데이터 전송 시스템으로 더 전송한다.On the other hand, according to another embodiment of the present invention, the data is composed of one or more segments including a header in which predetermined order information is recorded, and the indexing server 350 in step 404 for one or more data providing terminals. In addition to the access information, a segment identifier for identifying a segment stored in the data providing terminal is further transmitted to the data transmission system.

데이터 전송 시스템은 단계(407)에서 상기 접속 정보 및 상기 세그먼트 식별자에 기초하여 데이터 제공 단말기에 상기 세그먼트를 요청하고, 단계(408)에서 하나 이상의 데이터 제공 단말기로부터 상기 세그먼트를 병렬적으로 수신한다. 상기 세그먼트를 병렬적으로 수신한다는 말은, 각 세그먼트를 복수개의 데이터 제공 단말기로부터 각각 수신한다는 의미뿐 아니라, 상기 순서 정보에 관계없이 상기 세그먼트를 수신한다는 의미도 포함할 수 있다.The data transmission system requests the segment from the data providing terminal in step 407 based on the connection information and the segment identifier, and receives the segment in parallel from one or more data providing terminals in step 408. Receiving the segments in parallel may mean not only receiving each segment from a plurality of data providing terminals, but also receiving the segment regardless of the order information.

데이터 제공 시스템은 상기 세그먼트 식별자에 기초하여 상기 수신한 세그먼트를 조합함으로써 상기 데이터를 생성한다. 상기 데이터가 소정의 순서로 수신되어 저장되지 않는 경우에도, 상기 순서 정보에 기초하여 상기 데이터가 조합될 수 있다.The data providing system generates the data by combining the received segments based on the segment identifiers. Even when the data is not received and stored in a predetermined order, the data may be combined based on the order information.

상술한 세그먼트 개념을 이용한 병렬 전송에 대해서는 2003년 1월 28일에 본출원인과 동일인에 의해 출원된 "멀티미디어 데이터 재생 방법 및 이를 위한 장치(한국특허출원번호 제10-2003-0005614호)"에 상세히 기재되어 있으므로 본 명세서에서는 그 자세한 설명은 생략한다.Parallel transmission using the above-described segment concept is described in detail in "Multimedia data reproduction method and apparatus for same (Korean Patent Application No. 10-2003-0005614), filed by the same person on January 28, 2003". Since it is described, detailed description thereof is omitted in the present specification.

이하, 본 발명의 또 다른 실시예에 따른 데이터 전송 방법에 대해 설명한다. 본 실시예에 따른 데이터 전송 방법은 도 3에서의 인덱싱 서버(350) 측의 데이터 전송 시스템에서 수행된다. 도 8은 본 실시예에 따른 데이터 전송 방법을 도시한 흐름도이다.Hereinafter, a data transmission method according to another embodiment of the present invention will be described. The data transmission method according to the present embodiment is performed in the data transmission system on the indexing server 350 side in FIG. 8 is a flowchart illustrating a data transmission method according to the present embodiment.

데이터 전송 시스템은 단계(801)에서 소정의 관리 데이터베이스 수단에 데이터 식별자, 상기 데이터 식별자에 대응하는 접속 정보 및 상기 접속 정보와 연관된 작업 부하 정보를 저장한다. 상기 접속 정보는 상기 데이터 식별자에 의해 식별되는 데이터를 저장하는 데이터 제공 단말기에 대한 접속 정보이고, 상기 작업 부하 정보는 상기 데이터 제공 단말기에서의 작업 부하에 관한 정보이다. 또한, 본 실시예에 있어서 상기 데이터 식별자는 상기 데이터의 출처인 데이터The data transmission system stores, in step 801, data identifiers, connection information corresponding to the data identifiers, and workload information associated with the connection information in a predetermined management database means. The connection information is connection information for a data providing terminal that stores data identified by the data identifier, and the workload information is information about a workload in the data providing terminal. Further, in the present embodiment, the data identifier is data that is the source of the data.

상기 접속 정보 등은 상기 데이터 제공 단말기로부터 수신하여 저장할 수 있으며, 본 실시예에서 이러한 과정은 주기적으로 이루어진다. 단계(802)에서 상기 데이터 제공 단말기로부터 상기 접속 정보 등을 최종적으로 수신한 시점부터 소정 기간(주기에 해당함)이 경과한 경우, 데이터 전송 시스템은 상기 데이터 제공 단말기로부터 데이터 식별자, 상기 데이터 제공 단말기에 대한 접속 정보 및 상기 데이터 제공 단말기에서의 작업 부하 정보를 수신하며, 데이터 전송 시스템은단계(801)로 되돌아가서 상기 수신한 데이터 식별자, 접속 정보 및 작업 부하 정보를 이용하여 상기 관리 데이터베이스에 저장되는 정보를 갱신한다.The access information and the like may be received and stored from the data providing terminal. In this embodiment, this process is performed periodically. If a predetermined period (corresponding to a period) has elapsed since the last time the connection information or the like is received from the data providing terminal in step 802, the data transmission system sends a data identifier from the data providing terminal to the data providing terminal. Receiving connection information and workload information at the data providing terminal, and the data transmission system returns to step 801 to store information stored in the management database using the received data identifier, connection information, and workload information. Update the.

또한, 상기 기간이 경과했음에도 단계(803)에서의 판단 결과 상기 데이터 식별자, 상기 접속 정보 및 상기 작업 부하 정보가 수신되지 않은 경우에는, 데이터 전송 시스템은 단계(806)에서 상기 데이터 식별자에 대응하는 접속 정보 및 상기 접속 정보와 연관된 작업 부하 정보를 상기 관리 데이터베이스로부터 삭제한다. 이는, 상기 기간이 경과한 후에도 상기 데이터 식별자 등을 전송하지 않는 데이터 제공 단말기는, 데이터 전송 시스템에 대해 오프라인 상태로 되는 등 데이터의 제공(전송) 가능성이 확실하지 않은 상태로 간주하고 상기 접속 정보를 삭제함으로써, 후술하는 클라이언트 단말기(340)에 대한 상기 데이터의 제공을 확실히 하도록 하기 위함이다.In addition, if the data identifier, the connection information and the workload information are not received even after the period has elapsed, the data transmission system connects corresponding to the data identifier in step 806. Information and workload information associated with the connection information are deleted from the management database. This means that the data providing terminal which does not transmit the data identifier or the like even after the period of time has elapsed is regarded as a state in which the possibility of providing (transmitting) the data, such as going offline to the data transmission system, is not certain, This is to ensure the provision of the data to the client terminal 340 which will be described later.

도 9는 상기 관리 데이터베이스에 저장되는 데이터 식별자, 접속 정보 및 상기 접속 정보와 연관된 작업 부하 정보의 일례를 도시한 도면이다. 도 9에서는 작업 부하 정보를 숫자로 표시하고 있으나 이는 예시적인 것에 불과하며 작업 부하 산출 방법에 따라 작업 부하 정보의 표시 방법은 상이해질 수 있다.9 is a diagram illustrating an example of a data identifier, connection information, and workload information associated with the connection information stored in the management database. In FIG. 9, the workload information is displayed numerically, but this is merely exemplary, and the display method of the workload information may be different according to the workload calculation method.

한편, 본 발명의 또 다른 실시예에 따르면, 주기적으로 상기 데이터 식별자 등을 수신하는 단계는 인덱싱 서버(350)의 주기적인 전송 요청에 대해 클라이언트 단말기(360)가 응답하여 상기 데이터 식별자 등을 송신함으로써 이루어진다.On the other hand, according to another embodiment of the present invention, the step of periodically receiving the data identifier and the like by the client terminal 360 in response to the periodic transmission request of the indexing server 350 by transmitting the data identifier and the like Is done.

또한, 데이터 전송 시스템은 단계(804)에서 데이터 제공 단말기의 접속 상태를 수신하고, 단계(805)에서 상기 접속 상태에 기초하여 상기 데이터 제공 단말기의 접속 상태가 '오프라인 상태'로 판단되는 경우에는 단계(806)에서 상기 관리 데이터베이스 수단 중에서 상기 데이터 제공 단말기에 대한 접속 정보 및 상기 접속 정보와 연관된 작업 부하 정보를 삭제한다. 이와 같은 구성에 의해, 데이터를 제공할 수 없는 오프라인 상태의 데이터 제공 단말기에 대한 접속 정보를 클라이언트 단말기(340)에 제공하는 경우를 방지할 수 있다.Further, the data transmission system receives the connection state of the data providing terminal in step 804, and if it is determined in step 805 that the connection state of the data providing terminal is 'offline' based on the connection state. In step 806, the connection information for the data providing terminal and the workload information associated with the connection information are deleted from the management database means. With such a configuration, it is possible to prevent the case where the client terminal 340 provides access information for the data providing terminal in the offline state in which data cannot be provided.

데이터 전송 시스템은 단계(807)에서 클라이언트 단말기(340)로부터 데이터 식별자를 수신하고, 단계(808)에서 상기 관리 데이터베이스 수단 중에서 상기 데이터 식별자에 대응하는 접속 정보를 검색하고 소정의 기준에 의해 상기 검색된 접속 정보 중에서 하나 이상의 접속 정보를 선택하여 단계(811)에서 클라이언트 단말기(340)로 상기 선택된 접속 정보를 전송한다.The data transmission system receives a data identifier from the client terminal 340 in step 807, retrieves connection information corresponding to the data identifier from the management database means in step 808, and retrieves the retrieved connection by a predetermined criterion. One or more pieces of connection information are selected from the information and the selected connection information is transmitted to the client terminal 340 in step 811.

본 발명의 또 다른 실시예에 따르면, 데이터 전송 시스템은 상기 수신한 데이터 식별자에 대응하는 접속 정보를 검색하고 상기 검색된 접속 정보와 연관된 작업 부하 정보에 기초하여 상기 검색된 접속 정보 중에서 하나 이상의 접속 정보를 선택한다.According to another embodiment of the present invention, the data transmission system retrieves the connection information corresponding to the received data identifier and selects one or more connection information among the retrieved connection information based on the workload information associated with the retrieved connection information. do.

도 9를 참조하여 예를 들어 설명하면, 클라이언트 단말기(340)로부터 수신한 데이터 식별자가 "http://www.server.com/contents/kor0S75614.mpeg"인 경우, 상기 데이터 식별자에 대응하는 접속 정보가 각각 '61.83.6.167', '211.174.2.167' 및 '211.28.96.8'(본 실시예에서는 상기 접속 정보로 데이터 제공 단말기의 IP 주소를 사용하고 있음)이고, 상기 각 접속 정보와 연관된 작업 부하 정보는 '21', '35' 및 '78'이다. 데이터 전송 시스템은 상기 작업 부하 정보에 기초하여 접속 정보를 선택하며, 상기 접속 정보를 선택하는 방법으로는, i) 연관된 작업 부하가 최소인 순서로 하나 이상의 접속 정보를 선택하는 방법, ii) 연관된 작업 부하가 소정의 임계치 이상인 접속 정보를 선택하는 방법 등 실시예에 따라 다양한 방법이 사용될 수 있다.For example, referring to FIG. 9, when the data identifier received from the client terminal 340 is "http://www.server.com/contents/kor0S75614.mpeg", the connection information corresponding to the data identifier Are '61 .83.6.167 ',' 211.174.2.167 'and' 211.28.96.8 '(in this embodiment, the IP address of the data providing terminal is used as the access information), and the workload information associated with each of the access information. Are '21', '35' and '78'. The data transmission system selects the connection information based on the workload information, and the method of selecting the connection information includes: i) a method of selecting one or more connection information in the order in which the associated workload is minimal, and ii) the associated job. Various methods may be used according to embodiments, such as a method of selecting connection information whose load is greater than or equal to a predetermined threshold.

본 실시예에서는 연관된 작업 부하가 최소인 데이터 제공 단말기에 대한 접속 정보인 '60.83.6.167'을 선택하도록 한다.In this embodiment, '60 .83.6.167 ', which is access information about a data providing terminal having a minimum associated workload, is selected.

본 발명의 또 다른 실시예에 따르면, 데이터 전송 시스템은 상기 데이터 제공 단말기와 클라이언트 단말기(340) 사이의 네트워크 상의 거리를 산출하고, 상기 산출된 거리에 기초하여 상기 수신한 데이터 식별자에 기초하여 검색된 상기 접속 정보 중에서 하나 이상의 접속 정보를 선택한다.According to another embodiment of the present invention, the data transmission system calculates the distance on the network between the data providing terminal and the client terminal 340, the retrieved based on the received data identifier based on the calculated distance Select one or more pieces of connection information from the connection information.

상기 네트워크 상의 거리는 물리적 거리를 의미하는 것이 아니라, 논리적으로 안정적인 고속의 데이터 통신을 가능하게 하는지 여부를 판단할 수 있도록 하는 척도를 의미한다. 상기 네트워크 상의 거리는 다양한 요소들을 고려하여 산출될 수 있으며, 각 요소들에 대해서는 소정의 가중치가 부여될 수 있다.The distance on the network does not mean a physical distance, but a measure for determining whether to enable logically stable high speed data communication. The distance on the network may be calculated in consideration of various factors, and each element may be given a predetermined weight.

본 발명의 일실시예에 따르면, 상기 요소 중 하나는 IP 맵(IP Map)이다. 일반적으로 국가 혹은 각 ISP(Internet Service Provider)가 사용할 수 있는 IP 주소의 범위가 결정되어 있으며, 상기 IP 맵은 상기 국가 또는 각 ISP와 상기 IP 주소 사이의 연관성을 분석하여 데이터베이스화 한 것이다. 상기 IP 맵에 기초하여, 예를 들면, 한국 지역에서 사용되는 클라이언트 단말기(340)에는 한국 지역에 위치한 데이터 제공 단말기에 대한 접속 정보를 제공하고, 동일한 한국 지역 내에서도 해당 ISP가 KT클라이언트 단말기(340)에는 해당 ISP가 KT인 데이터 제공 단말기에 대한 접속 정보를 제공한다.According to one embodiment of the invention, one of the elements is an IP Map. In general, a range of IP addresses that can be used by a country or each Internet Service Provider (ISP) is determined, and the IP map is a database obtained by analyzing an association between the country or each ISP and the IP address. Based on the IP map, for example, the client terminal 340 used in the Korean region provides the access information for the data providing terminal located in the Korean region, and the ISP of the KT is provided within the same Korean region. The client terminal 340 has a corresponding KT It provides the connection information for the in-data providing terminal.

또한, 상기 IP 맵은 국가 또는 ISP와 같은 거시적인 관점에서뿐만 아니라, 본 실시예에 따른 데이터 전송 방법을 특정 기업 내에서만 사용하고자 하는 경우에는 상기 IP 맵은 본점이나 지점 또는 부서별로 제공될 수도 있다.In addition, the IP map may be provided not only from a macroscopic viewpoint such as a country or an ISP, but also if the data transmission method according to the present embodiment is to be used only within a specific company.

또한, 본 발명의 또 다른 실시예에 따르면, 상기 요소 중 하나는 동일 랜(LAN) 상의 클라이언트인지 여부이다. 동일 랜 상의 클라이언트인지 여부는 IP 브로드캐스트를 이용하여 파악할 수 있으므로, 동일 네트워크 상에 위치하는 클라이언트를 우선적으로 선택하도록 할 수 있다.Further, according to another embodiment of the present invention, one of the elements is whether the client is on the same LAN. Whether the client is on the same LAN can be determined using IP broadcast, so that clients located on the same network can be preferentially selected.

또한, 본 발명의 또 다른 실시예에 따르면, 상기 요소 중 하나는 클라이언트 단말기(340)와 데이터 제공 단말기 사이의 홉(hop) 수이다. 홉 수라 함은 네트워크 상에서 라우터 등의 장치를 몇 번 경유하는지에 관한 것이다. 상기 홉 수가 많을수록 상기 네트워크 상의 거리를 멀게 산출할 수 있다. 이러한 홉 수 뿐 아니라 기지의 다양한 라우팅 프로토콜에 입각한 네트워크 상의 거리를 산출하여 가장 가까운 클라이언트를 우선적으로 선택하도록 할 수 있다.Further, according to another embodiment of the present invention, one of the factors is the number of hops between the client terminal 340 and the data providing terminal. Hop count refers to how many times a device, such as a router, passes through a network. The larger the number of hops, the farther the distance on the network can be calculated. In addition to the number of hops, the distance over the network based on various known routing protocols can be calculated so that the nearest client can be selected first.

한편, 상술한 각 요소에 의해 측정된 네트워크 상의 거리와 무관하게, 실제로 클라이언트 단말기(340)와 선택된 데이터 제공 단말기 사이의 실제 데이터 전송 속도가 중요하므로, 본 발명의 또 다른 실시예에 따르면, 클라이언트 단말기(340)는 인덱싱 서버(350)로부터 수신한 접속 정보에 기초하여 상기 접속 정보에 해당하는 각 데이터 제공 단말기와의 데이터 전송 속도를 측정하여(이때, 상기 데이터가아닌 테스트용 데이터를 사용하여 상기 데이터 전송 속도를 측정할 수 있음), 그 측정 결과에 따라 상기 데이터를 제공 받을 데이터 제공 단말기를 최종적으로 선택할 수 있다.On the other hand, regardless of the distance on the network measured by each of the above factors, the actual data transfer rate between the client terminal 340 and the selected data providing terminal is really important, and according to another embodiment of the present invention, the client terminal 340 measures a data transmission rate with each data providing terminal corresponding to the access information based on the access information received from the indexing server 350 (in this case, the data using test data instead of the data). The transmission rate may be measured), and a data providing terminal to receive the data may be finally selected according to the measurement result.

즉, 데이터 제공 단말기를 선택하는 방법에는 상술한 바와 같이 i) 클라이언트 단말기(340)와 데이터 제공 단말기 사이의 네트워크 상의 거리에 기초하여 선택하는 방법, ii) 테스트 데이터 등을 이용하여 클라이언트 단말기(340)와 데이터 제공 단말기 사이의 실제 데이터 전송 속도를 측정하고 상기 데이터 전송 속도에 기초하여 선택하는 방법, 또는 iii) 상기 i) 및 ii)의 방법을 함께 사용하는 방법 등 다양한 방법이 적용될 수 있다.That is, the method of selecting a data providing terminal includes i) a method of selecting based on a distance on a network between the client terminal 340 and the data providing terminal, and ii) the client terminal 340 using test data. And a method of measuring the actual data transmission rate between the data providing terminal and the data providing terminal and selecting the selected data based on the data transmission rate, or iii) using the method of i) and ii) together.

데이터 제공 시스템은 상술한 방법에 의해 데이터 제공 단말기가 선택되는 경우 단계(811)에서 상기 데이터 제공 단말기에 대한 접속 정보를 클라이언트 단말기(340)로 전송한다.When the data providing terminal is selected by the above-described method, the data providing system transmits connection information about the data providing terminal to the client terminal 340 in step 811.

상기 접속 정보를 제공 받은 클라이언트 단말기(340)는 상기 접속 정보를 이용하여 상기 데이터 제공 단말기에 접속하여 상기 데이터를 수신할 수 있게 된다.The client terminal 340 provided with the access information can access the data providing terminal using the access information to receive the data.

본 발명의 또 다른 실시예에 따르면, 상기 데이터가 유료 데이터인 경우 데이터 전송 시스템은 단계(809)에서 소정의 과금 시스템으로부터 상기 데이터에 대한 과금 정보를 수신하고, 단계(810)에서 상기 과금 정보에 기초하여 상기 데이터에 대한 결제가 완료됐는지 여부를 판단한다. 판단 결과, 상기 데이터에 대한 결제가 완료된 경우에는, 데이터 전송 시스템은 바로 단계(812)에서 상기 데이터에 대한 접속 정보를 클라이언트 단말기(340)로 전송하고, 상기 데이터에 대한 결제가이루어지지 않은 경우에는 상기 데이터에 대한 결제를 수행하도록 하는 단계(811)를 거친 후 단계(812)를 수행한다.According to another embodiment of the present invention, if the data is paid data, the data transmission system receives the charging information for the data from a predetermined charging system in step 809, and in step 810 On the basis of this, it is determined whether the payment for the data is completed. As a result of the determination, when the payment for the data is completed, the data transmission system immediately transmits the access information about the data to the client terminal 340 in step 812, and when the payment for the data is not made Step 812 is performed after step 811 to perform the payment for the data.

상기 데이터에 대한 결제를 수신해야 하는 주체는 실시예에 따라 상기 전자 우편을 송신하는 송신인이 될 수도 있고, 상기 데이터 식별자를 이용하여 상기 데이터를 수신하는 수신인이 될 수도 있다.The subject who needs to receive payment for the data may be a sender for transmitting the electronic mail or a recipient for receiving the data by using the data identifier.

따라서, 상기 데이터를 클라이언트 단말기(340)에 전자 우편을 이용하여 전송하고자 하는 전자 우편 송신자에게 상기 유료 데이터에 대한 결제를 수행하도록 유도할 수 있다.Therefore, the electronic mail sender who wants to transmit the data to the client terminal 340 by using the electronic mail can be induced to perform the payment for the paid data.

한편, 단계(809, 810)은 단계(807)에서 상기 데이터 식별자를 수신한 이후에만 수행되면 되고, 상기 데이터에 대한 결제가 이루어지지 않은 경우에는 단계(808)을 수행하지 않도록 함으로써 데이터 전송 시스템에서의 작업량을 감소시킬 수 있다.On the other hand, steps 809 and 810 need only be performed after receiving the data identifier in step 807, and in the data transmission system by not performing step 808 when payment for the data is not made. Can reduce the work load.

이상, 상기 전자 우편을 수신하는 클라이언트 단말기(340)에서 수행되는 구성을 설명하였다. 이하에서는 상기 데이터 식별자를 포함하는 상기 전자 우편을 송신하는 송신 클라이언트 단말기(310)에서 수행되는 구성을 설명하기로 한다. 물론, 본 실시예에 따른 데이터 전송 방법에 있어서, 클라이언트 단말기(310) 및 송신 클라이언트 단말기(340)는 데이터 식별자를 포함하는 전자 우편의 송신 및 수신을 모두 할 수 있지만, 설명의 편의를 위해 전자 우편을 송신하는 송신 클라이언트 단말기(310)와 상기 전자 우편을 수신하는 클라이언트 단말기(340)로 구분하여 설명한다.In the above, the configuration performed in the client terminal 340 for receiving the electronic mail has been described. Hereinafter, a configuration performed by the transmitting client terminal 310 for transmitting the electronic mail including the data identifier will be described. Of course, in the data transmission method according to the present embodiment, the client terminal 310 and the transmitting client terminal 340 may both transmit and receive an e-mail including a data identifier, but for convenience of explanation, the e-mail It will be described by dividing into a transmitting client terminal 310 for transmitting the client terminal and a client terminal 340 for receiving the electronic mail.

도 10은 본 실시예에 따라 송신 클라이언트 단말기(310) 측에서 수행되는 각 단계를 설명하기 위한 흐름도이다.10 is a flowchart for explaining each step performed at the transmitting client terminal 310 side according to the present embodiment.

단계(1001)에서 송신 클라이언트 단말기(310)는 데이터 제공 서버(360)에 데이터를 업로드하고, 전자 우편에 삽입될 내용의 일부 또는 전부를 송신한다.In step 1001, the transmitting client terminal 310 uploads data to the data providing server 360, and transmits some or all of the content to be inserted into the electronic mail.

데이터 제공 서버(360)는 단계(1002)에서 과금 시스템(도시하지 않음)으로부터 상기 업로드 될 데이터와 관련된 과금 정보를 수신하고, 단계(1003)에서 상기 과금 정보에 기초하여 상기 데이터에 대한 결제가 완료됐는지 여부를 판단한다.The data providing server 360 receives charging information related to the data to be uploaded from a charging system (not shown) in step 1002, and in step 1003, payment for the data is completed based on the charging information. Judge whether or not.

데이터 제공 서버(360)는 판단 결과 상기 데이터에 대한 결제가 완료된 경우에는 단계(1004)에서 송신 클라이언트 단말기(310)로부터 업로드 되는 데이터를 수신하여 저장하고, 단계(1006)에서 상기 내용의 일부 또는 전부를 수신한다. 반대로, 판단 결과 상기 데이터에 대한 결제가 완료되지 않은 경우에는 데이터 제공 서버(360)는 송신 클라이언트 단말기(310)로부터 상기 데이터가 업로드 되는 것을 금지하고(단계1005), 상기 내용의 일부 또는 전부도 수신하지 않는 것이 바람직하다. 또한, 판단 결과 상기 데이터에 대한 결제가 완료되는 경우, 바로 데이터의 업로드를 금지하기 전에 상기 결제에 대한 안내를 제공하는 단계가 더 수행될 수 있다.When the settlement of the data is completed as a result of the determination, the data providing server 360 receives and stores the data uploaded from the transmitting client terminal 310 in step 1004, and in step 1006, some or all of the contents. Receive On the contrary, if the determination is not completed for the data, the data providing server 360 prohibits the data from being uploaded from the transmitting client terminal 310 (step 1005) and receives some or all of the contents. It is desirable not to. In addition, when the settlement of the data is completed as a result of the determination, the step of providing a guide for the settlement may be further performed immediately before prohibiting the upload of the data.

즉, 상기 데이터에 대한 결제를 하지 않은 경우에는 상기 데이터의 업로드 자체가 금지되고, 따라서 상기 데이터 식별자를 포함하는 전자 우편을 송부하고자 하는 사용자는 우선 상기 데이터에 대한 결제를 우선 수행해야만 한다.That is, when the payment for the data is not made, the uploading of the data itself is prohibited, and therefore, a user who wants to send an e-mail including the data identifier must first pay the data.

데이터 제공 서버(360)는 상기 수신한 내용의 일부 또는 전부에 기초하여 키(key)를 생성하고, 상기 생성된 키를 포함하는 데이터 식별자를 생성하여, 송신클라이언트 단말기(310)로 상기 생성된 데이터 식별자를 송신한다(단계(1007 내지 1009)). 또한, 데이터 제공 서버(360)는 데이터베이스 수단에 상기 생성된 데이터 식별자를 상기 데이터와 연관하여 저장한다.The data providing server 360 generates a key based on some or all of the received content, generates a data identifier including the generated key, and transmits the generated data to the transmitting client terminal 310. Send an identifier (steps 1007 to 1009). The data providing server 360 also stores the generated data identifier in association with the data in a database means.

만약, 상기 키를 포함하지 않는 데이터 식별자를 생성하는 경우, 상기 데이터 식별자를 포함하는 전자 우편을 수신한 클라이언트 단말기(340)의 사용자는 상술한 바와 같은 결제 과정 없이 상기 데이터 식별자를 이용할 수 있게 되는 문제점이 있다. 따라서, 본 실시예에 따른 데이터 전송 방법은 전자 우편의 내용(의 일부 또는 전부)에 기반하여 데이터 식별자를 생성하고, 상기 데이터 식별자는 상기 키를 생성하는 기초가 된 상기 전자 우편의 내용과 함께만 상기 데이터를 수신하기 위한 자료로 사용될 수 있도록 함으로써 상기 문제점을 해결하고 있다.If the data identifier does not include the key, the user of the client terminal 340 that has received the e-mail including the data identifier can use the data identifier without the above-described payment process. There is this. Therefore, the data transmission method according to the present embodiment generates a data identifier based on the content (part or all) of the electronic mail, and the data identifier is only together with the contents of the electronic mail on which the key is generated. The problem is solved by allowing the data to be used as data for receiving the data.

송신 클라이언트 단말기(310)는 상기 데이터 식별자를 수신하여 전자 우편에 삽입하고, 상기 전자 우편을 클라이언트 단말기(340)로 전송한다(단계1010 내지 1012)).The transmitting client terminal 310 receives the data identifier, inserts it into an electronic mail, and transmits the electronic mail to the client terminal 340 (steps 1010 to 1012).

상기 키를 포함하는 데이터 식별자가 포함된 전자 우편을 수신한 클라이언트 단말기(340)는 상기 전자 우편의 내용이 상기 키와 부합하는지 여부를 판단하고(이때 데이터 제공 서버(360)에서 상기 키를 생성하기 위해 사용한 알고리즘과 동일한 알고리즘을 사용하여 상기 전자 우편의 내용으로부터 상기 키가 생성되는지 여부를 확인하는 방법이 사용될 수 있음) , 판단 결과 상기 전자 우편의 내용이 상기 키에 부합하는 경우에만 인덱싱 서버(350)에 상기 데이터 식별자를 전송하여 데이터 제공 단말기에 대한 정보를 요청하는 단계(405)를 수행한다.The client terminal 340 receiving the e-mail including the data identifier including the key determines whether the contents of the e-mail correspond to the key (at this time, generating the key from the data providing server 360). A method for checking whether the key is generated from the contents of the e-mail using the same algorithm as the algorithm used for the purpose of the e-mail) can be used. Requesting information on the data providing terminal by transmitting the data identifier to the terminal 405.

만약, 상기 키와 상기 전자 우편의 내용이 부합하지 않는 경우에는, 정당한 사용자라고 볼 수 없으므로 단계(405)가 수행되지 않도록 하는 것이 바람직하다.If the key and the contents of the e-mail do not match, it may not be regarded as a legitimate user, so that step 405 is not performed.

본 발명의 또 다른 실시예에 따르면, 송신 클라이언트 단말기(34)는 상기 데이터를 업로드 하지 않고, 데이터 제공 서버(360)에 이미 저장되어 있는 데이터를 선택할 수 있다.According to another embodiment of the present invention, the transmitting client terminal 34 may select data already stored in the data providing server 360 without uploading the data.

본 실시예에 따르면, 데이터 제공 서버(360)는 상기 데이터베이스 수단에 저장하고 있는 데이터들의 리스트를 송신 클라이언트 단말기(310)에 제공하고(이때 소정의 웹 페이지에 상기 리스트가 표시되도록 하는 방법이 사용될 수 있음), 송신 클라이언트 단말기(310)의 사용자는 상기 리스트에 기초하여 데이터를 선택할 수 있다.According to the present embodiment, the data providing server 360 may provide the transmitting client terminal 310 with a list of data stored in the database means (in this case, the method may be used to display the list on a predetermined web page). The user of the transmitting client terminal 310 may select data based on the list.

송신 클라이언트 단말기로부터 데이터의 선택을 입력 받은 데이터 제공 서버(360)는 상기 선택된 데이터와 연관된 데이터 식별자를 생성한다. 이때, 본 발명의 또 다른 실시예에 따르면, 데이터 제공 서버(360)는 상기 과금 시스템으로부터 상기 데이터에 대한 과금 정보를 수신하고 상기 과금 정보에 기초하여 상기 데이터에 대한 결제가 완료됐는지 여부를 판단하여, 상기 데이터에 대한 결제가 완료된 경우에만 상기 선택된 데이터와 연관된 데이터 식별자를 생성한다. 따라서, 본 실시예에 따른 데이터 전송 방법을 이용하고자 하는 사용자는 해당하는 데이터에 대한 결제를 수행해야 한다.The data providing server 360 receiving the selection of data from the transmitting client terminal generates a data identifier associated with the selected data. At this time, according to another embodiment of the present invention, the data providing server 360 receives the charging information for the data from the charging system and determines whether the payment for the data is completed based on the charging information The data identifier associated with the selected data is generated only when the payment for the data is completed. Therefore, a user who wants to use the data transmission method according to the present embodiment should pay for the corresponding data.

또한, 본 발명의 또 다른 실시예에 따르면, 송신 클라이언트 단말기(310)는 상기 데이터 식별자를 삽입하여 송신하고자 하는 전자 우편의 내용의 일부 또는 전부를 데이터 제공 서버(360)로 송신하고, 데이터 제공 서버(360)는 상기 내용의 일부 또는 전부를 수신하고 이에 기초하여 키를 생성한다. 또한 데이터 제공 서버(360)는 상기 데이터와 연관되고 상기 생성된 키를 포함하는 데이터 식별자를 생성한다.Further, according to another embodiment of the present invention, the transmitting client terminal 310 transmits a part or all of the contents of the electronic mail to be transmitted by inserting the data identifier to the data providing server 360, and the data providing server. 360 receives some or all of the above content and generates a key based thereon. Data providing server 360 also generates a data identifier associated with the data and including the generated key.

상술한 바와 같이 생성된 데이터 식별자는 송신 클라이언트 단말기(310)로 송신되고, 송신 클라이언트 단말기(310)는 상기 데이터 식별자를 상기 전자 우편에 포함시켜 클라이언트 단말기(340)로 송신한다.The data identifier generated as described above is transmitted to the transmitting client terminal 310, and the transmitting client terminal 310 transmits the data identifier to the client terminal 340 in the electronic mail.

상기 키를 포함하는 데이터 식별자가 포함된 전자 우편을 수신한 클라이언트 단말기(340)에서 수행되는 각 단계는 이미 설명했으므로 그에 대한 설명은 생략한다.Since each step performed by the client terminal 340 that has received the electronic mail including the data identifier including the key has already been described, a description thereof will be omitted.

한편, 송신 클라이언트 단말기(310)는 임의의 전자 우편 클라이언트 프로그램을 사용하여 본 실시예에 따른 데이터 전송 방법을 수행할 수 있다. 따라서, 사용자는 임의의 전자 우편 클라이언트 프로그램에서 작성하는 전자 우편에 상기 데이터 식별자를 삽입하기만 하면 되고, 상기 전자 우편 클라이언트 프로그램에 별도의 기능이 구현되어 있을 필요는 없다.On the other hand, the transmitting client terminal 310 may perform the data transmission method according to this embodiment using any electronic mail client program. Therefore, the user only needs to insert the data identifier into an e-mail created by any e-mail client program, and a separate function does not need to be implemented in the e-mail client program.

이하, 본 발명의 또 다른 실시예에 따른 데이터 전송 방법에 대해 설명한다. 본 실시예에 따른 데이터 전송 방법은 인덱싱 서버(350) 측의 데이터 전송 시스템에서 수행되며, 소정의 데이터를 구성하는 세그먼트 단위로 데이터의 저장, 전송 등이 수행되는 것에 특징이 있다.Hereinafter, a data transmission method according to another embodiment of the present invention will be described. The data transmission method according to the present embodiment is performed in the data transmission system on the indexing server 350 side, and is characterized in that data is stored, transmitted, and the like in units of segments constituting predetermined data.

데이터 전송 시스템은 소정의 관리 데이터베이스 수단에 데이터 식별자, 상기 데이터 식별자와 연관된 세그먼트 식별자, 및 상기 세그먼트 식별자에 대응하는 접속 정보를 저장한다. 상기 세그먼트 식별자는 상기 데이터를 구성하는 세그먼트를 식별하지 위한 식별자이고, 상기 세그먼트는 소정의 순서 정보를 기록한 헤더를 포함할 수 있다. 상기 접속 정보는 상기 세그먼트를 저장하는 데이터 제공 단말기에 대한 접속 정보이다.The data transmission system stores data identifiers, segment identifiers associated with the data identifiers, and connection information corresponding to the segment identifiers in predetermined management database means. The segment identifier may be an identifier for identifying a segment constituting the data, and the segment may include a header in which predetermined order information is recorded. The connection information is connection information for a data providing terminal that stores the segment.

데이터 전송 시스템은 클라이언트 단말기(340)로부터 데이터 식별자를 수신하고, 상기 관리 데이터베이스 수단 중에서 상기 수신한 데이터 식별자와 연관된 세그먼트 식별자를 검색한다. 또한, 데이터 전송 시스템은 상기 검색된 세그먼트 식별자 및 상기 세그먼트 식별자에 대응하는 접속 정보를 클라이언트 단말기(340)로 전송한다.The data transmission system receives a data identifier from the client terminal 340, and retrieves a segment identifier associated with the received data identifier from the management database means. In addition, the data transmission system transmits the retrieved segment identifier and the connection information corresponding to the segment identifier to the client terminal 340.

상기 세그먼트 식별자 및 상기 접속 정보를 수신한 클라이언트 단말기(340)는 상기 접속 정보에 기초하여 상기 데이터 제공 단말기에 접속하여 상기 세그먼트 식별자에 대응하는 세그먼트를 수신한다. 클라이언트 단말기(340)는 상기 세그먼트 식별자 및 상기 접속 정보에 기초하여 상기 세그먼트를 상기 데이터 제공 단말기로부터 병렬적으로 수신할 수 있으므로 상기 데이터를 하나의 데이터 제공 단말기로부터 수신하는 경우에 비해 그 전송 시간이 짧아진다.The client terminal 340 which has received the segment identifier and the access information receives the segment corresponding to the segment identifier by accessing the data providing terminal based on the access information. Since the client terminal 340 may receive the segment from the data providing terminal in parallel based on the segment identifier and the access information, the transmission time is shorter than that when receiving the data from one data providing terminal. Lose.

한편, 이상 전자 우편을 통해 데이터를 제공하는 경우에 대해 설명했으나, 웹 페이지의 배경 음악 등으로 사용하기 위한 데이터를 제공하기 위해 유사한 개념이 사용될 수 있다.On the other hand, the above description has been made of the case of providing data through e-mail, but a similar concept may be used to provide data for use as a background music of a web page.

즉, 자신의 홈 페이지의 배경 음악, 배경 이미지 등으로 사용하고자 하는 데이터를 수신하고자 하는 사용자는 데이터 제공 서버(360)에 저장되어 있는 데이터들의 리스트 중에서 데이터를 선택하고, 상기 선택에 응답하여 데이터 제공 서버(350)로부터 상기 데이터와 연관하여 생성된 데이터 식별자를 수신한다.That is, a user who wants to receive data to use as a background music, a background image, etc. of his home page selects data from a list of data stored in the data providing server 360 and provides data in response to the selection. Receive a data identifier generated in association with the data from the server 350.

상기 사용자는 상기 데이터 식별자를 인덱싱 서버(360)로 송신하여 상술한 바와 같은 접속 정보를 제공 받는다(이때, 상기 접속 정보와 연관된 작업 부하 정보를 더 제공 받을 수 있다). 상기 사용자는 상기 접속 정보에 기초하여 데이터 제공 단말기로부터 상기 데이터 식별자와 연관된 데이터를 수신한다. 따라서, 데이터 제공 서버(360)에 과도한 부하가 걸리는 것을 방지하면서 상기 사용자에게 빠른 속도로 상기 데이터가 제공되도록 할 수 있다.The user is provided with the connection information as described above by transmitting the data identifier to the indexing server 360 (in this case, the workload information associated with the connection information may be further provided). The user receives data associated with the data identifier from a data providing terminal based on the connection information. Accordingly, the data may be provided to the user at a high speed while preventing excessive load on the data providing server 360.

또한, 본 발명은 상술한 각 실시예에 따른 데이터 전송 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The present invention also provides a computer readable recording medium having recorded thereon a program for executing the data transfer method according to each of the above-described embodiments. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. The medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, or the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

한편, 도 11은 본 발명에 따른 데이터 전송 시스템 등을 구성하는 데 채용될 수 있는 범용 컴퓨터 시스템의 내부 블록도이다.11 is an internal block diagram of a general-purpose computer system that can be employed to construct a data transmission system and the like according to the present invention.

컴퓨터 시스템(1100)은 램(RAM: Random Access Memory)(1102)과 롬(ROM: Read Only Memory)(1103)을 포함하는 주기억장치와 연결되는 하나 이상의 프로세서(1101)를 포함한다. 프로세서(1101)는 중앙처리장치(CPU)로 불리기도 한다. 본 기술분야에서 널리 알려져 있는 바와 같이, 롬(1103)은 데이터(data)와 명령(instruction)을 단방향성으로 CPU에 전달하는 역할을 하며, 램(1102)은 통상적으로 데이터와 명령을 양방향성으로 전달하는 데 사용된다. 램(1102) 및 롬(1103)은 컴퓨터 판독 가능 매체의 어떠한 적절한 형태를 포함할 수 있다. 대용량 기억장치(Mass Storage)(1104)는 양방향성으로 프로세서(1101)와 연결되어 추가적인 데이터 저장 능력을 제공하며, 상기된 컴퓨터 판독 가능 기록 매체 중 어떠한 것일 수 있다. 대용량 기억장치(1104)는 프로그램, 데이터 등을 저장하는데 사용되며, 통상적으로 주기억장치보다 속도가 느린 하드디스크와 같은 보조기억장치이다. CD 롬(1106)과 같은 특정 대용량 기억장치가 사용될 수도 있다. 프로세서(1101)는 비디오 모니터, 트랙볼, 마우스, 키보드, 마이크로폰, 터치스크린 형 디스플레이, 카드 판독기, 자기 또는 종이 테이프 판독기, 음성 또는 필기 인식기, 조이스틱, 또는 기타 공지된 컴퓨터 입출력장치와 같은 하나 이상의 입출력 인터페이스(1105)와 연결된다. 마지막으로, 프로세서(1101)는 네트워크 인터페이스(1107)를 통하여 유선 또는 무선 통신 네트워크에 연결될 수 있다. 이러한 네트워크 연결을 통하여 상기된 방법의 절차를 수행할 수 있다. 상기된 장치 및 도구는 컴퓨터 하드웨어 및 소프트웨어 기술 분야의 당업자에게 잘 알려져 있다.Computer system 1100 includes one or more processors 1101 connected to a main memory including random access memory (RAM) 1102 and read only memory (ROM) 1103. The processor 1101 is also called a central processing unit (CPU). As is well known in the art, the ROM 1103 serves to pass data and instructions to the CPU unidirectionally, and the RAM 1102 typically transfers data and instructions bidirectionally. Used to. RAM 1102 and ROM 1103 may include any suitable form of computer readable media. Mass storage 1104 is bidirectionally coupled to processor 1101 to provide additional data storage capabilities and may be any of the computer readable recording media described above. The mass storage device 1104 is used to store programs, data, and the like, and is typically an auxiliary memory device such as a hard disk which is slower than the main memory device. Certain mass storage devices such as CD ROM 1106 may be used. The processor 1101 may include one or more input / output interfaces, such as a video monitor, trackball, mouse, keyboard, microphone, touchscreen display, card reader, magnetic or paper tape reader, voice or handwriting reader, joystick, or other known computer input / output device. 1105. Finally, the processor 1101 may be connected to a wired or wireless communication network through the network interface 1107. Through this network connection, the procedure of the method described above can be performed. The apparatus and tools described above are well known to those skilled in the computer hardware and software arts.

상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention.

본 발명에 따르면, 전자 우편을 이용하여 오디오 데이터, 비디오 데이터 등의 멀티미디어 데이터를 포함하여 대용량의 데이터를 상기 전자 우편의 수신자에게 제공할 수 있는 데이터 전송 방법이 제공된다.According to the present invention, there is provided a data transmission method capable of providing a large amount of data to a recipient of the electronic mail, including multimedia data such as audio data, video data, etc. using electronic mail.

또한, 본 발명에 따르면, 상기 데이터의 출처인 데이터 제공 서버 및 네트워크의 부하를 최소화하고 상기 데이터의 전송 시간을 감소시킬 수 있는 데이터 전송 방법이 제공된다.In addition, according to the present invention, there is provided a data transmission method capable of minimizing the load on the data providing server and the network of the data and reducing the transmission time of the data.

특히, 본 발명은 뉴스, 교육 자료, 또는 홍보용으로 발송되는 전자 우편, 또는 커뮤니티, 동창회, 기업 내의 공지용 전자 우편과 같이 전자 우편에 삽입 또는 첨부되는 데이터의 내용이 동일 또는 유사한 경우에 상기 데이터 제공 서버의 부하를 감소시키면서 상기 데이터를 다수의 사용자들에게 효율적으로 제공할 수 있다.In particular, the present invention provides such data when the content of data inserted or attached to an e-mail, such as news, educational material, or e-mail sent for promotional purposes, or e-mail sent in a community, alumni association, or company, is the same or similar. The data can be efficiently provided to multiple users while reducing the load on the server.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.As described above, although the present invention has been described by way of limited embodiments and drawings, the present invention is not limited to the above embodiments, which can be modified by those skilled in the art to which the present invention pertains. Modifications are possible. Accordingly, the spirit of the present invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications thereof will belong to the scope of the present invention.

Claims (34)

데이터 전송 방법에 있어서,In the data transmission method, 클라이언트 단말기가 수신한 전자 우편에 소정의 데이터를 참조하기 위한 데이터 식별자가 포함되어 있는지 여부를 판단하는 단계;Determining whether the electronic mail received by the client terminal includes a data identifier for referring to predetermined data; 상기 전자 우편에 상기 데이터 식별자가 포함되어 있는 경우, 소정의 인덱싱 서버에 상기 데이터 식별자를 전송하여 데이터 제공 단말기에 대한 접속 정보를 요청하는 단계;If the data identifier is included in the electronic mail, requesting access information for a data providing terminal by transmitting the data identifier to a predetermined indexing server; 상기 인덱싱 서버로부터 하나 이상의 데이터 제공 단말기에 대한 상기 접속 정보를 수신하는 단계;Receiving the access information for at least one data providing terminal from the indexing server; 상기 접속 정보에 기초하여 상기 데이터 제공 단말기에 상기 데이터를 요청하는 단계; 및Requesting the data from the data providing terminal based on the access information; And 상기 데이터 제공 단말기로부터 상기 데이터를 수신하는 단계Receiving the data from the data providing terminal 를 포함하고,Including, 상기 인덱싱 서버는 상기 클라이언트 단말기와 통신망을 통해 연결되고, 소정의 데이터를 저장하는 데이터 제공 단말기에 대한 접속 정보를 유지하는 것을 특징으로 하는 데이터 전송 방법.The indexing server is connected to the client terminal through a communication network, the data transmission method, characterized in that to maintain the connection information for the data providing terminal for storing predetermined data. 제1항에 있어서,The method of claim 1, 상기 데이터 식별자는 상기 데이터의 출처인 데이터 제공 서버의 URL 정보를포함하는 것을 특징으로 하는 데이터 전송 방법.And the data identifier includes URL information of a data providing server that is the source of the data. 제2항에 있어서,The method of claim 2, 상기 데이터 제공 단말기는 상기 데이터 제공 서버, 또는 상기 데이터 제공 서버로부터 상기 데이터를 수신하여 저장하고 있는 클라이언트 단말기인 것을 특징으로 하는 데이터 전송 방법.And the data providing terminal is a client terminal which receives and stores the data from the data providing server or the data providing server. 제1항에 있어서,The method of claim 1, 상기 인덱싱 서버로부터 하나 이상의 데이터 제공 단말기에 대한 접속 정보를 수신하는 상기 단계는,Receiving the access information for at least one data providing terminal from the indexing server, 상기 인덱싱 서버로부터 하나 이상의 데이터 제공 단말기에 대한 접속 정보, 및 상기 하나 이상의 데이터 제공 단말기와 연관된 작업 부하 정보를 수신하는 단계를 포함하고,Receiving connection information for at least one data providing terminal and workload information associated with the at least one data providing terminal from the indexing server, 상기 접속 정보에 기초하여 상기 데이터 제공 단말기에 상기 데이터를 요청하는 상기 단계는,The step of requesting the data to the data providing terminal based on the access information, 상기 작업 부하 정보에 기초하여 상기 수신한 접속 정보 중 하나 이상의 접속 정보를 선택하는 단계; 및Selecting one or more pieces of connection information among the received connection information based on the workload information; And 상기 접속 정보에 기초하여 상기 데이터 제공 단말기에 상기 데이터를 요청하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 방법.Requesting the data from the data providing terminal based on the access information. 제4항에 있어서,The method of claim 4, wherein 상기 작업 부하 정보는,The workload information is, 상기 클라이언트 단말기의 작업 부하 산출 데이터를 측정하는 단계; 및Measuring workload calculation data of the client terminal; And 상기 측정된 작업 부하 산출 데이터에 기초하여 상기 클라이언트 단말기의 작업 부하 정보를 계산하는 단계를 통하여 산출되고,Calculating workload information of the client terminal based on the measured workload calculation data; 상기 산출된 작업 부하 정보는 상기 인덱싱 서버로 전송되는 것을 특징으로 하는 데이터 전송 방법.The calculated workload information is transmitted to the indexing server. 제5항에 있어서,The method of claim 5, 상기 작업 부하 산출 데이터는,The workload calculation data, 상기 클라이언트 단말기의 CPU의 부하, 하드 디스크의 작업 부하, 상기 클라이언트 단말기에 접속하여 소정의 데이터를 수신하고 있는 타 클라이언트 단말기의 수, 상기 클라이언트 단말기에 접속한 타 클라이언트 단말기에 데이터를 제공한 총 회수, 상기 클라이언트 단말기와 타 클라이언트 단말기 사이의 네트워크 트래픽 중 어느 하나 이상인 것을 특징으로 하는 데이터 전송 방법.The CPU load of the client terminal, the workload of the hard disk, the number of other client terminals connected to the client terminal to receive predetermined data, the total number of times of providing data to other client terminals connected to the client terminal, And at least one of network traffic between the client terminal and another client terminal. 제1항에 있어서,The method of claim 1, 상기 데이터 제공 단말기로부터 상기 데이터를 수신하는 상기 단계는,The step of receiving the data from the data providing terminal, 상기 하나 이상의 데이터 제공 단말기 중에서 선택된 하나 이상의 데이터 제공 단말기로부터 상기 데이터를 수신하는 단계;Receiving the data from at least one data providing terminal selected from the at least one data providing terminal; 상기 데이터 제공 단말기로부터의 상기 데이터의 전송 속도를 측정하는 단계; 및Measuring a transmission rate of the data from the data providing terminal; And 상기 전송 속도가 소정의 임계치 미만인 경우, 상기 데이터 제공 단말기로부터의 수신을 중지하고 그 외의 데이터 제공 단말기로부터 상기 데이터를 수신하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 방법.Stopping the reception from the data providing terminal and receiving the data from another data providing terminal when the transmission rate is less than a predetermined threshold. 제7항에 있어서,The method of claim 7, wherein 상기 전송 속도가 소정의 임계치 미만인 경우, 상기 데이터 제공 단말기로부터의 수신을 중지하고 그 외의 데이터 제공 단말기로부터 상기 데이터를 수신하는 상기 단계는,If the transmission rate is less than a predetermined threshold, the step of stopping the reception from the data providing terminal and receiving the data from other data providing terminal, 상기 임계치 이상의 전송 속도로 데이터를 전송하는 데이터 제공 단말기가 존재하지 않는 경우, 상기 데이터의 출처인 데이터 제공 서버로부터 상기 데이터를 수신하는 단계Receiving the data from the data providing server that is the source of the data, if there is no data providing terminal for transmitting data at a transmission rate higher than the threshold 를 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method comprising a. 제7항에 있어서,The method of claim 7, wherein 상기 전송 속도가 소정의 임계치 미만인 경우, 상기 데이터 제공 단말기로부터의 수신을 중지하고 그 외의 데이터 제공 단말기로부터 상기 데이터를 수신하는 상기 단계는,If the transmission rate is less than a predetermined threshold, the step of stopping the reception from the data providing terminal and receiving the data from other data providing terminal, 상기 임계치 이상의 전송 속도로 데이터를 전송하는 데이터 제공 단말기가존재하는 않는 경우, 상기 인덱싱 서버로부터 다른 데이터 제공 단말기에 대한 접속 정보를 수신하는 단계; 및Receiving access information for another data providing terminal from the indexing server when there is no data providing terminal for transmitting data at the transmission rate higher than the threshold; And 상기 접속 정보에 기초하여 상기 다른 데이터 제공 단말기로부터 상기 데이터를 수신하는 단계Receiving the data from the other data providing terminal based on the access information 를 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method comprising a. 제1항에 있어서,The method of claim 1, 상기 데이터는 소정의 순서 정보가 기록된 헤더를 포함하는 하나 이상의 세그먼트로 구성되고,The data is composed of one or more segments including a header in which predetermined order information is recorded, 상기 인덱싱 서버로부터 하나 이상의 데이터 제공 단말기에 대한 접속 정보를 수신하는 상기 단계는,Receiving the access information for at least one data providing terminal from the indexing server, 상기 인덱싱 서버로부터 하나 이상의 데이터 제공 단말기에 대한 접속 정보, 및 상기 데이터 제공 단말기에 저장되어 있는 세그먼트를 식별하기 위한 세그먼트 식별자를 수신하는 단계를 포함하고,Receiving access information for at least one data providing terminal from the indexing server and a segment identifier for identifying a segment stored in the data providing terminal, 상기 접속 정보에 기초하여 상기 데이터 제공 단말기에 상기 데이터를 요청하는 상기 단계는,The step of requesting the data to the data providing terminal based on the access information, 상기 접속 정보 및 상기 세그먼트 식별자에 기초하여 상기 데이터 제공 단말기에 상기 세그먼트를 요청하는 단계를 포함하며,Requesting the segment from the data providing terminal based on the access information and the segment identifier; 상기 데이터 제공 단말기로부터 상기 데이터를 수신하는 상기 단계는,The step of receiving the data from the data providing terminal, 상기 하나 이상의 데이터 제공 단말기로부터 상기 세그먼트를 병렬적으로 수신하는 단계를 포함하고,Receiving the segments in parallel from the at least one data providing terminal, 상기 세그먼트 식별자에 기초하여 상기 세그먼트를 조합함으로써 상기 데이터를 생성하는 단계Generating the data by combining the segments based on the segment identifiers 를 더 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method further comprises. 제1항에 있어서,The method of claim 1, 상기 수신한 데이터를 상기 클라이언트 단말기의 저장 수단에 저장하는 단계; 및Storing the received data in storage means of the client terminal; And 상기 저장 수단에 저장되어 있는 데이터를 식별하기 위한 데이터 식별자를 상기 인덱싱 서버에 전송하는 단계Transmitting a data identifier for identifying data stored in the storage means to the indexing server. 를 더 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method further comprises. 제11항에 있어서,The method of claim 11, 상기 인덱싱 서버로 전송하는 상기 단계는,The step of transmitting to the indexing server, 상기 저장 수단에 저장된 상기 데이터의 변동 사항을 추적하는 단계;Tracking changes in the data stored in the storage means; 상기 변동 사항을 감지한 경우, 상기 저장 수단에 저장되어 있는 상기 데이터를 검색하는 단계; 및Retrieving the data stored in the storage means when the change is detected; And 상기 검색된 데이터에 해당하는 데이터 식별자를 상기 인덱싱 서버로 전송하는 단계Transmitting a data identifier corresponding to the retrieved data to the indexing server 를 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method comprising a. 제11항에 있어서,The method of claim 11, 상기 인덱싱 서버로 전송하는 상기 단계는,The step of transmitting to the indexing server, 소정의 주기에 따라 상기 저장 공간에 저장되어 있는 데이터를 검색하는 단계; 및Retrieving data stored in the storage space according to a predetermined period; And 상기 검색된 데이터에 해당하는 데이터 식별자를 상기 인덱싱 서버로 전송하는 단계Transmitting a data identifier corresponding to the retrieved data to the indexing server 를 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method comprising a. 제11항에 있어서,The method of claim 11, 상기 인덱싱 서버에 대한 상기 클라이언트 단말기의 접속 상태 - 상기 접속 상태에는 온라인 상태와 오프라인 상태가 포함됨 - 가 변경되는 경우, 상기 접속 상태의 변경을 감지하는 단계; 및Detecting a change in the connection state when the connection state of the client terminal to the indexing server, the connection state includes an online state and an offline state; And 상기 접속 상태의 변경이 감지되는 경우, 상기 인덱싱 서버로 상기 클라이언트 단말기의 접속 상태의 변경을 보고하는 단계를 더 포함하는 단계를 특징으로 하는 데이터 전송 방법.And when the change of the connection state is detected, reporting the change of the connection state of the client terminal to the indexing server. 제14항에 있어서,The method of claim 14, 상기 인덱싱 서버로 전송하는 상기 단계는,The step of transmitting to the indexing server, 상기 인덱싱 서버에 대해 상기 클라이언트 단말기의 접속 상태가 오프라인상태에서 온라인 상태로의 변경이 감지되는 경우, 상기 저장 공간에 저장되어 있는 데이터를 검색하는 단계; 및Retrieving data stored in the storage space when a change of the connection state of the client terminal from the offline state to the online state with respect to the indexing server is detected; And 상기 검색된 데이터에 해당하는 데이터 식별자를 상기 인덱싱 서버로 전송하는 단계Transmitting a data identifier corresponding to the retrieved data to the indexing server 를 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method comprising a. 제2항에 있어서,The method of claim 2, 소정의 데이터를 상기 데이터 제공 서버로 업로드(Up Load)하는 단계;Uploading predetermined data to the data providing server; 상기 데이터 제공 서버로부터 상기 데이터에 대응하는 데이터 식별자를 수신하는 단계;Receiving a data identifier corresponding to the data from the data providing server; 상기 데이터 식별자를 소정의 전자 우편 내에 삽입하는 단계; 및Inserting the data identifier into a predetermined electronic mail; And 소정의 전자 우편 서버를 통하여 상기 전자 우편을 타 클라이언트 단말기로 전송하는 단계Transmitting the e-mail to another client terminal through a predetermined e-mail server; 를 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method comprising a. 제16항에 있어서,The method of claim 16, 상기 데이터 제공 서버에서는,In the data providing server, 소정의 데이터베이스 수단에 상기 업로드 되는 데이터를 수신하여 저장하는 단계;Receiving and storing the uploaded data in a predetermined database means; 상기 데이터와 연관된 데이터 식별자를 생성하는 단계;Generating a data identifier associated with the data; 상기 데이터베이스 수단에 상기 데이터 식별자를 상기 데이터와 연관하여 저장하는 단계; 및Storing the data identifier in association with the data in the database means; And 상기 데이터 식별자를 상기 클라이언트 단말기로 송신하는 단계Transmitting the data identifier to the client terminal 가 수행되는 것을 특징으로 하는 데이터 전송 방법.The data transmission method, characterized in that is performed. 제17항에 있어서,The method of claim 17, 상기 데이터베이스 수단에 상기 업로드 되는 데이터를 수신하여 저장하는 상기 단계는,The step of receiving and storing the uploaded data in the database means, 소정의 과금 시스템으로부터 상기 데이터에 대한 과금 정보를 수신하는 단계;Receiving charging information for the data from a predetermined charging system; 상기 과금 정보에 기초하여 상기 데이터에 대한 결제가 완료됐는지 여부를 판단하는 단계;Determining whether payment for the data is completed based on the charging information; 상기 데이터에 대한 결제가 완료된 경우 상기 데이터베이스 수단에 상기 업로드 되는 데이터를 수신하여 저장하는 단계Receiving and storing the uploaded data in the database means when payment for the data is completed 를 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method comprising a. 제17항에 있어서,The method of claim 17, 상기 데이터 제공 서버로 전자 우편에 삽입되는 내용의 일부 또는 전부를 송신하는 단계를 더 포함하고,Transmitting some or all of the content inserted into the e-mail to the data providing server; 상기 데이터 제공 서버에서는,In the data providing server, 상기 내용의 일부 또는 전부를 수신하는 단계; 및Receiving some or all of the content; And 상기 내용의 일부 또는 전부에 기초하여 키(key)를 생성하는 단계가 더 수행되고,Further generating a key based on some or all of the above contents, 상기 데이터와 연관된 데이터 식별자를 생성하는 상기 단계는, 상기 데이터와 연관되고 상기 생성된 키를 포함하는 데이터 식별자를 생성하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 방법.Generating a data identifier associated with the data comprises generating a data identifier associated with the data and comprising the generated key. 제2항에 있어서,The method of claim 2, 상기 데이터 제공 서버에 데이터의 선택을 입력하는 단계;Inputting a selection of data to the data providing server; 상기 데이터 제공 서버로부터 상기 선택의 입력에 응답하여 데이터 식별자를 수신하는 단계;Receiving a data identifier in response to the input of the selection from the data providing server; 상기 데이터 식별자를 소정의 전자 우편 내에 삽입하는 단계; 및Inserting the data identifier into a predetermined electronic mail; And 소정의 전자 우편 서버를 통하여 상기 전자 우편을 타 클라이언트 단말기로 전송하는 단계Transmitting the e-mail to another client terminal through a predetermined e-mail server; 를 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method comprising a. 제20항에 있어서,The method of claim 20, 상기 데이터 제공 서버에서는,In the data providing server, 상기 클라이언트 단말기로부터 데이터의 선택을 입력 받는 경우, 상기 선택된 데이터와 연관된 데이터 식별자를 생성하는 단계;Generating a data identifier associated with the selected data when receiving a selection of data from the client terminal; 상기 생성된 데이터 식별자를 상기 클라이언트 단말기로 송신하는 단계Transmitting the generated data identifier to the client terminal 가 수행되는 것을 특징으로 하는 데이터 전송 방법.The data transmission method, characterized in that is performed. 제21항에 있어서,The method of claim 21, 상기 선택된 데이터와 연관된 데이터 식별자를 생성하는 상기 단계는,Generating a data identifier associated with the selected data, 소정의 과금 시스템으로부터 상기 데이터에 대한 과금 정보를 수신하는 단계;Receiving charging information for the data from a predetermined charging system; 상기 과금 정보에 기초하여 상기 데이터에 대한 결제가 완료됐는지 여부를 판단하는 단계; 및Determining whether payment for the data is completed based on the charging information; And 상기 데이터에 대한 결제가 완료된 경우 상기 선택된 데이터와 연관된 데이터 식별자를 생성하는 단계Generating a data identifier associated with the selected data when payment for the data is completed 를 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method comprising a. 제21항에 있어서,The method of claim 21, 상기 데이터 제공 서버로 전자 우편에 삽입되는 내용의 일부 또는 전부를 송신하는 단계를 더 포함하고,Transmitting some or all of the content inserted into the e-mail to the data providing server; 상기 데이터 제공 서버에서는,In the data providing server, 상기 내용의 일부 또는 전부를 수신하는 단계; 및Receiving some or all of the content; And 상기 내용의 일부 또는 전부에 기초하여 키(key)를 생성하는 단계가 더 수행되고,Further generating a key based on some or all of the above contents, 상기 데이터와 연관된 데이터 식별자를 생성하는 상기 단계는,The step of generating a data identifier associated with the data, 상기 데이터와 연관되고 상기 생성된 키를 포함하는 데이터 식별자를 생성하는 단계Generating a data identifier associated with the data and comprising the generated key 를 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method comprising a. 제19항 또는 제23항에 있어서,The method of claim 19 or 23, 상기 전자 우편에 상기 데이터 식별자가 포함되어 있는 경우, 소정의 인덱싱 서버에 상기 데이터 식별자를 전송하여 데이터 제공 단말기에 대한 접속 정보를 요청하는 상기 단계는,When the data identifier is included in the e-mail, the step of transmitting the data identifier to a predetermined indexing server to request access information for a data providing terminal, 상기 데이터 식별자에 포함되어 있는 키에 기초하여 상기 전자 우편의 내용이 상기 키에 부합하는지 여부를 판단하는 단계; 및Determining whether the contents of the electronic mail correspond to the key based on a key included in the data identifier; And 판단 결과, 상기 전자 우편의 내용이 상기 키에 부합하는 경우, 상기 인덱싱 서버에 상기 데이터 식별자를 전송하여 데이터 제공 단말기에 대한 접속 정보를 요청하는 단계As a result of the determination, if the contents of the e-mail correspond to the key, requesting access information for a data providing terminal by transmitting the data identifier to the indexing server; 를 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method comprising a. 데이터 전송 방법에 있어서,In the data transmission method, 소정의 관리 데이터베이스 수단에 데이터 식별자, 및 상기 데이터 식별자에 대응하는 접속 정보 - 상기 접속 정보는 데이터를 저장하는 데이터 제공 단말기에 대한 접속 정보임 - 를 저장하는 단계;Storing a data identifier and connection information corresponding to the data identifier in predetermined management database means, wherein the connection information is connection information for a data providing terminal that stores data; 소정의 클라이언트 단말기로부터 데이터 식별자를 수신하는 단계;Receiving a data identifier from a given client terminal; 상기 관리 데이터베이스 수단 중에서 상기 수신한 데이터 식별자에 대응하는 접속 정보를 검색하는 단계; 및Retrieving connection information corresponding to the received data identifier from the management database means; And 상기 검색된 접속 정보를 상기 클라이언트 단말기로 전송하는 단계를 포함하고,Transmitting the retrieved connection information to the client terminal; 상기 데이터 제공 단말기는 상기 데이터의 출처인 데이터 제공 서버, 또는 상기 데이터 제공 서버로부터 상기 데이터를 수신하여 저장하고 있는 클라이언트 단말기인 것을 특징으로 하는 데이터 전송 방법.And the data providing terminal is a data providing server which is the source of the data, or a client terminal which receives and stores the data from the data providing server. 제25항에 있어서,The method of claim 25, 상기 관리 데이터베이스 수단에 상기 접속 정보와 연관된 작업 부하 정보를 더 저장하는 단계를 더 포함하고,Further storing the workload information associated with the connection information in the management database means, 상기 관리 데이터베이스 수단 중에서 상기 전송 받은 데이터 식별자에 대응하는 접속 정보를 검색하는 단계는,Retrieving access information corresponding to the received data identifier from the management database means, 상기 관리 데이터베이스 수단 중에서 상기 데이터 식별자에 대응하는 접속 정보를 검색하는 단계; 및Retrieving connection information corresponding to the data identifier from the management database means; And 상기 검색된 접속 정보와 연관된 작업 부하 정보에 기초하여, 상기 검색된 접속 정보 중에서 하나 이상의 접속 정보를 선택하는 단계;Selecting one or more connection information from the retrieved connection information based on the workload information associated with the retrieved connection information; 상기 검색된 접속 정보를 상기 클라이언트 단말기로 전송하는 단계는,The step of transmitting the retrieved access information to the client terminal, 상기 선택된 접속 정보를 상기 클라이언트 단말기로 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 방법.And transmitting the selected connection information to the client terminal. 제25항에 있어서,The method of claim 25, 소정의 데이터 제공 단말기로부터 상기 데이터 제공 단말기의 접속 상태 정보를 입력 받는 단계; 및Receiving connection state information of the data providing terminal from a predetermined data providing terminal; And 상기 데이터 제공 단말기의 접속 상태가 오프라인 상태인 경우, 상기 관리 데이터베이스 수단으로부터 상기 데이터 제공 단말기에 대한 접속 정보를 삭제하는 단계Deleting the access information for the data providing terminal from the management database means when the connection state of the data providing terminal is offline; 를 더 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method further comprises. 제25항에 있어서,The method of claim 25, 상기 관리 데이터베이스 수단에 데이터를 식별하기 위한 데이터 식별자, 및 상기 데이터 식별자에 대응하는 접속 정보를 저장하는 단계는,Storing the data identifier for identifying data in the management database means, and the connection information corresponding to the data identifier, 소정의 데이터 제공 단말기로부터 데이터 식별자 및 상기 데이터 제공 단말기에 대한 접속 정보를 수신하는 단계; 및Receiving a data identifier and access information for the data providing terminal from a predetermined data providing terminal; And 상기 관리 데이터베이스 수단에 상기 수신한 데이터 식별자 및 상기 접속 정보를 저장하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 방법.Storing the received data identifier and the access information in the management database means. 제28항에 있어서,The method of claim 28, 소정의 데이터 제공 단말기로부터 데이터 식별자 및 상기 데이터 제공 단말기에 대한 접속 정보를 수신하는 단계는,Receiving a data identifier and access information for the data providing terminal from a predetermined data providing terminal, 상기 데이터 제공 단말기로부터 상기 데이터 식별자 및 상기 데이터 제공 단말기에 대한 접속 정보를 소정 기간마다 수신하는 단계; 및Receiving the data identifier and access information for the data providing terminal from the data providing terminal at predetermined intervals; And 상기 관리 데이터베이스 수단에서 상기 접속 정보에 대응하는 데이터 식별자를 상기 수신한 데이터 식별자로 갱신하는 단계Updating, by the management database means, a data identifier corresponding to the access information with the received data identifier 를 포함하는 것을 특징으로 하는 데이터 전송 방법.Data transmission method comprising a. 제29항에 있어서,The method of claim 29, 소정의 데이터 제공 단말기로부터 데이터 식별자 및 상기 데이터 제공 단말기에 대한 접속 정보를 수신하는 단계는,Receiving a data identifier and access information for the data providing terminal from a predetermined data providing terminal, 상기 소정 기간 경과 후에 상기 접속 정보가 수신되지 않는 경우, 상기 관리 데이터베이스 중에서 상기 데이터 식별자에 대응하는 상기 접속 정보를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 데이터 전송 방법.And deleting the access information corresponding to the data identifier from the management database if the access information is not received after the predetermined period has elapsed. 제25항에 있어서,The method of claim 25, 상기 데이터가 유료 데이터인 경우, 소정의 과금 시스템으로부터 상기 데이터에 대한 과금 정보를 수신하는 단계; 및If the data is paid data, receiving charging information for the data from a predetermined charging system; And 상기 과금 정보에 기초하여 상기 데이터에 대한 결제가 완료됐는지 여부를 판단하는 단계를 더 포함하고,Determining whether the payment for the data is completed based on the charging information; 상기 검색된 접속 정보를 상기 클라이언트 단말기로 전송하는 단계는, 상기데이터에 대한 결제가 완료된 경우에만 상기 검색된 접속 정보를 상기 클라이언트 단말기로 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 방법.And transmitting the retrieved connection information to the client terminal, transmitting the retrieved connection information to the client terminal only when payment for the data is completed. 제25항에 있어서,The method of claim 25, 상기 데이터 제공 단말기와 상기 클라이언트 단말기 사이의 네트워크 상의 거리를 산출하는 단계;Calculating a distance on a network between the data providing terminal and the client terminal; 상기 산출된 거리에 기초하여 상기 검색된 접속 정보 중에서 소정의 기준에 해당하는 접속 정보를 선택하는 단계를 더 포함하고,Selecting access information corresponding to a predetermined criterion from the searched access information based on the calculated distance; 상기 검색된 접속 정보를 상기 클라이언트 단말기로 전송하는 단계는, 상기 선택된 접속 정보를 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 방법.The transmitting of the retrieved connection information to the client terminal comprises transmitting the selected connection information. 데이터 전송 방법에 있어서,In the data transmission method, 소정의 관리 데이터베이스 수단에 데이터 식별자, 상기 데이터 식별자와 연관된 세그먼트 식별자, 및 상기 세그먼트 식별자에 대응하는 접속 정보를 저장하는 단계;Storing data identifiers, segment identifiers associated with the data identifiers, and connection information corresponding to the segment identifiers, in predetermined management database means; 소정의 클라이언트 단말기로부터 데이터 식별자를 수신하는 단계;Receiving a data identifier from a given client terminal; 상기 관리 데이터베이스 수단 중에서 상기 수신한 데이터 식별자와 연관된 세그먼트 식별자를 검색하는 단계; 및Retrieving a segment identifier associated with the received data identifier from the management database means; And 상기 검색된 세그먼트 식별자 및 상기 세그먼트 식별자에 대응하는 접속 정보를 상기 클라이언트 단말기로 전송하는 단계Transmitting the retrieved segment identifier and access information corresponding to the segment identifier to the client terminal. 를 포함하고,Including, 상기 세그먼트 식별자는 상기 데이터를 구성하는 세그먼트를 식별하지 위한 식별자이고, 상기 접속 정보는 상기 세그먼트를 저장하는 데이터 제공 단말기에 대한 접속 정보인 것을 특징으로 하는 데이터 전송 방법.The segment identifier is an identifier for identifying a segment constituting the data, and the access information is access information for a data providing terminal that stores the segment. 제1항 내지 제23항 및 제25항 내지 제33항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.34. A computer readable recording medium having recorded thereon a program for executing the method of any one of claims 1 to 23 and 25 to 33.
KR1020030056700A 2003-08-16 2003-08-16 Data transfer method KR100572232B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030056700A KR100572232B1 (en) 2003-08-16 2003-08-16 Data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030056700A KR100572232B1 (en) 2003-08-16 2003-08-16 Data transfer method

Publications (2)

Publication Number Publication Date
KR20030079842A true KR20030079842A (en) 2003-10-10
KR100572232B1 KR100572232B1 (en) 2006-04-19

Family

ID=32388534

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030056700A KR100572232B1 (en) 2003-08-16 2003-08-16 Data transfer method

Country Status (1)

Country Link
KR (1) KR100572232B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100795835B1 (en) * 2005-11-09 2008-01-17 문의선 Method for controlling data transmission efficiency in network and operation method of client terminal which receives data and indexing server of enabling the method
WO2009084822A2 (en) * 2008-01-03 2009-07-09 Peering Portal Inc. Method for analyzing user scale grasp and service usage data by using indexing server

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101712138B1 (en) 2016-06-08 2017-03-03 라온위즈기술 주식회사 System and method for file control using user server

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100795835B1 (en) * 2005-11-09 2008-01-17 문의선 Method for controlling data transmission efficiency in network and operation method of client terminal which receives data and indexing server of enabling the method
WO2009084822A2 (en) * 2008-01-03 2009-07-09 Peering Portal Inc. Method for analyzing user scale grasp and service usage data by using indexing server
WO2009084822A3 (en) * 2008-01-03 2009-08-20 Peering Portal Inc Method for analyzing user scale grasp and service usage data by using indexing server

Also Published As

Publication number Publication date
KR100572232B1 (en) 2006-04-19

Similar Documents

Publication Publication Date Title
US8463876B2 (en) Partial object distribution in content delivery network
JP2019194917A (en) Content syndication in web-based media via advertisement tagging
US20150149934A1 (en) Composition of Customized Presentations Associated with a Social Media Applicaiton
US20030225796A1 (en) Method and apparatus for peer-to-peer file sharing
US20060282312A1 (en) Advertisements in an alert interface
US20060112143A1 (en) Method and system to facilitate publishing and distribution of digital media
US8103617B2 (en) Distributed directory server, distributed directory system, distributed directory managing method, and program of same
KR20140067881A (en) Method for transmitting packet of node and content owner in content centric network
CN101692238A (en) Auto-selection of media files
CA2448423A1 (en) Method and system for tracking receipt of electronic message
CN101692237A (en) Managing media files using metadata injection
JP2004531984A (en) File delivery method
KR20090003405A (en) File upload system and method
KR20100048867A (en) Apparatus and method for transmitting file and apparatus and method for receiving file
US9131005B2 (en) Broker designation and selection in a publish-subscription environment
KR100572232B1 (en) Data transfer method
US20060155759A1 (en) Scalable cache layer for accessing blog content
JP4543532B2 (en) Information communication system
JP6217075B2 (en) Distribution method, distribution apparatus, and distribution program
KR20060122251A (en) Method of transferring data streaming
WO2006075898A1 (en) Method and system for managing various kinds of keywords by interworking the keywords depending on user authentication
JP2001147870A (en) Advertisement substitute server and advertisement information transmitting method and recording medium recording program
JP2006246421A (en) Information providing control unit, mobile, and information providing system and method
CN111557086B (en) Selecting from a plurality of items matching an interest
US20020078133A1 (en) Information collection apparatus and method

Legal Events

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

Payment date: 20120413

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130412

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee