KR20070083649A - Transmitting device, receiving device, and file forwarding system - Google Patents

Transmitting device, receiving device, and file forwarding system Download PDF

Info

Publication number
KR20070083649A
KR20070083649A KR1020077008171A KR20077008171A KR20070083649A KR 20070083649 A KR20070083649 A KR 20070083649A KR 1020077008171 A KR1020077008171 A KR 1020077008171A KR 20077008171 A KR20077008171 A KR 20077008171A KR 20070083649 A KR20070083649 A KR 20070083649A
Authority
KR
South Korea
Prior art keywords
file
transmitting
size
data
file transfer
Prior art date
Application number
KR1020077008171A
Other languages
Korean (ko)
Inventor
도시하루 고시노
히데아키 다케치
다쿠미 다나베
요우스케 스즈키
나오노리 가토
Original Assignee
마쯔시다덴기산교 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마쯔시다덴기산교 가부시키가이샤 filed Critical 마쯔시다덴기산교 가부시키가이샤
Publication of KR20070083649A publication Critical patent/KR20070083649A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Abstract

A transmitting device, a receiving device, and a file forwarding system for effectively executing processes related to a file forwarding even if the file forwarding is interrupted for a longtime in the file forwarding system in which the transmitting device voluntarily forwards a file to the receiving device. In a file forwarding system, a sink device, which is a receiving device, stores file data, which constitutes a file, received from a source device, which is a transmitting device, and, when receiving an inquiry about the size of the stored data from the source device, notifies the source device of the size of the stored data. Having detected an interruption of the file forwarding, the source device inquires the sink device of the size of the stored data. Further, the source device transmits file data, which constitutes the remaining part of the file, in accordance with the size of the stored data notified of by the sink device in response to that inquiry.

Description

송신 기기, 수신 기기 및 파일 전송 시스템 {TRANSMITTING DEVICE, RECEIVING DEVICE, AND FILE FORWARDING SYSTEM}Sending, receiving and file transfer systems {TRANSMITTING DEVICE, RECEIVING DEVICE, AND FILE FORWARDING SYSTEM}

본 발명은 네트워크를 통하여 파일 전송을 행하기 위한 송신 기기, 수신 기기 및 파일 전송 시스템에 관한 것이다.The present invention relates to a transmitting device, a receiving device, and a file transfer system for performing file transfer over a network.

최근, xDSL이나 광섬유 등의 브로드밴드 환경이 갖추어짐으로써 기업, 일반 가정을 불문하고 인터넷 접속이 급속히 보급되어 오고 있다. 또한, 가정 내의 퍼스널 컴퓨터(PC)나 가전 기기를 Ethernet(등록 상표)이나 무선 LAN 등으로 접속하는 홈 네트워크 환경도 일반화하고 있다. 이와 같은 상황 속에서 PC 뿐만 아니라 텔레비전이나 DVD 레코더, 에어콘, 냉장고와 같은 가전도 Internet Engineering Task Force(IETF)에 의해 정의되는 Internet Protocol(IP)에 의해 서로 접속할 수 있도록 되고 있다.In recent years, broadband environments such as xDSL and optical fiber have been established, and internet access has been rapidly spreading regardless of businesses and general households. In addition, a home network environment in which a personal computer (PC) or home appliance in a home is connected by Ethernet (registered trademark), a wireless LAN, or the like is also generalized. Under these circumstances, not only PCs, but also home appliances such as televisions, DVD recorders, air conditioners and refrigerators can be connected to each other by the Internet Protocol (IP) defined by the Internet Engineering Task Force (IETF).

인터넷이나 홈 네트워크에서의 어플리케이션 프로그램의 하나로서 가전 기기, PC 사이에 파일을 전송하는 어플리케이션 프로그램이 있다. 파일을 전송하는 어플리케이션 프로그램의 예로서 DVD 레코더에 녹화한 TV 프로그램을 편집하기 위해서 PC에 전송하거나 DVD 레코더 사이에서 녹화한 MPEG2 파일을 전송하는 등의 더빙 기능을 제공하는 어플리케이션 프로그램이 있다. One application program in the Internet or a home network is an application program for transferring files between home appliances and PCs. An example of an application program for transferring a file is an application program that provides a dubbing function such as transferring a recorded MPEG2 file between a DVD recorder or a PC to edit a TV program recorded on a DVD recorder.

이러한 파일 전송을 행하는 프로토콜에서는 일반적으로 파일의 전송이 잘못없이 행해지는 것이 요구되는 한편, 리얼타임의 전송은 반드시 요구되지 않는다. IP에 있어서 파일 전송을 행하는 대표적인 프로토콜로서는, RFC2616에서 정의되는 Hyper Text Transfer Protocol(HTTP)이나, RFC959에서 정의되는 File Transfer Protocol(FTP) 등이 존재한다. 이들의 프로토콜은 모두 RFC793에서 정의되는 Transmission Control Protocol(TCP)의 재송 기능에 의해서 전송의 신뢰성을 확보하고 있다.While such file transfer protocols generally require file transfers without error, real-time transfers are not necessarily required. Representative protocols for file transfer in IP include Hyper Text Transfer Protocol (HTTP) defined in RFC2616, File Transfer Protocol (FTP) defined in RFC959, and the like. All of these protocols secure transmission reliability by retransmission function of Transmission Control Protocol (TCP) defined in RFC793.

즉, TCP는 패킷의 에러를 검출하여 재송하는 순서와, 결핍된 패킷을 검출하여 재송하는 순서를 포함하고 있고, 그 때문에 전송로 상에서 에러나 패킷 결핍이 일어나도 올바른 파일의 전송을 보장할 수 있다. 한편으로 TCP의 재송 순서에는 한계도 있고, 예를 들어 전송로의 장애나 송신원의 기기(이하, 「소스 기기」라고 함)나, 수신처의 기기(이하, 「싱크 기기」라고 함)의 사정에 의해 전송의 중단이 장시간에 걸친 경우, TCP 접속이 타임 아웃에 의해 절단되고, 그 이후의 파일 전송을 행할 수 없게 된다는 과제가 존재하였다. 여기서의 기기의 사정에는 장애 외에, 기기의 다른 기능을 실행하기 위해서 파일 전송을 중단해야 하는 경우를 포함한다. 예를 들어, DVD 레코더가 타이머 녹화를 실행하기 위해서 파일 전송을 중단하는 경우 등을 들 수 있다.In other words, TCP includes a sequence of detecting and retransmitting an error of a packet and a sequence of detecting and retransmitting a missing packet, thereby ensuring correct file transfer even if an error or packet deficiency occurs on a transmission path. On the other hand, TCP retransmission procedures have limitations, for example, in the case of a disturbance in a transmission path, a device of a sender (hereinafter referred to as a "source device"), or a device of a destination (hereinafter referred to as a "sink device"). If the interruption of the transmission takes a long time, the problem is that the TCP connection is disconnected by the timeout and the subsequent file transfer cannot be performed. In this case, the device includes a case where the file transfer must be stopped in order to perform other functions of the device, in addition to the failure. For example, the DVD recorder interrupts file transfer in order to perform timer recording.

HTTP에는 전술한 과제를 해결하기 위한 순서가 포함되어 있고, 전송의 중단이 임의의 장시간에 걸친 경우라도 재차 TCP 접속을 행하여 중단 전에 전송한 위치의 직후부터 파일 전송을 재개할 수 있는 시퀀스가 정의되어 있다. 본 시퀀스를 도 1을 이용하여 설명한다.HTTP includes a procedure for solving the above-described problems, and a sequence is defined in which a file connection can be resumed immediately after the position transmitted before the interruption by performing a TCP connection again even if the interruption of the transmission takes a long time. have. This sequence will be described with reference to FIG. 1.

도 1은, 종래의 소스 기기 및 싱크 기기에 의해 구성되는 파일 전송 시스템에서의 파일 전송의 재개에 따른 통신 시퀀스의 일례를 나타내는 도면이다.1 is a diagram showing an example of a communication sequence in accordance with the resumption of file transfer in a file transfer system constituted by a conventional source device and a sink device.

도 1에 나타내는 통신 시퀀스는, 소스 기기(1001)로부터 싱크 기기(1002)에 대해서 파일 전송을 행하기 위한 파일 전송 시스템에서의 통신 시퀀스이다. 또한, 파일 전송의 도중에 TCP 접속이 절단되는 경우를 상정하고 있다.The communication sequence shown in FIG. 1 is a communication sequence in a file transfer system for performing file transfer from the source device 1001 to the sink device 1002. It is also assumed that the TCP connection is disconnected during the file transfer.

우선, 싱크 기기(1002)는 소스 기기(1001)에 대해, HTTP GET 리퀘스트를 발행한다(S101). 소스 기기(1001)는 본 리퀘스트에 대해, “200 OK"를 응답하고(S102), 1000바이트의 파일을 송신한다(S103). 그 후, 통신 장애가 발생하여 TCP 접속이 절단된다(S104).First, the sink device 1002 issues an HTTP GET request to the source device 1001 (S101). The source device 1001 responds to this request with "200 OK" (S102), and transmits a file of 1000 bytes (S103). After that, a communication failure occurs and the TCP connection is disconnected (S104).

여기서, TCP 접속이 절단될 때까지 싱크 기기(1002)에는 500바이트의 데이터를 저장할 수 있었다고 상정한다(S105). 싱크 기기(1002)는 통신 장애가 회복되는 것을 기다려, 임의의 시점에서 TCP의 재접속을 행하여 전송을 재개할 수 있다. 전송의 재개는 싱크 기기(1002)가 소스 기기(1001)에 대하여, Range 헤더를 추가한 HTTP GET 리퀘스트를 송신하고(S106), 전송 대상의 파일의 선두로부터 500바이트째 이후의 데이터를 요구함으로써 행해진다.Here, it is assumed that 500 bytes of data can be stored in the sink device 1002 until the TCP connection is disconnected (S105). The sink device 1002 may wait for the communication failure to recover and may reconnect TCP at any time to resume transmission. Resumption of transmission is performed by the sink device 1002 sending an HTTP GET request to the source device 1001 with the Range header added (S106), and requesting data 500 bytes or more from the beginning of the file to be transferred. All.

소스 기기(1001)는 싱크 기기(1002)로부터 지정된 Range(여기에서는500-999바이트째임)에 따라서 데이터를 송신하고(S107, S108), 싱크 기기(1002)는 수신한 데이터를 저장한다(S109). 이것에 의해, 전송이 완료된 데이터를 재송하지 않고 미전송인 데이터만을 전송의 재개에 의해서 취득하는 것이 가능하다. 이러한 순서 가, 예를 들어 인터넷 상의 서버에 배치되는 수 메가바이트 이상인 큰 파일의 다운로드가 실패한 경우에, 취득이 완료된 데이터의 계속으로부터 취득함으로써 효율적으로 파일을 취득하는 어플리케이션 프로그램으로 사용되고 있다.The source device 1001 transmits data according to the designated range (here, 500-999 bytes) from the sink device 1002 (S107, S108), and the sink device 1002 stores the received data (S109). . In this way, it is possible to acquire only untransmitted data by resuming transmission without retransmitting the completed data. Such a procedure is used in an application program for efficiently acquiring a file by acquiring from the continuation of the acquired data when the downloading of a large file of several megabytes or more disposed on a server on the Internet fails.

HTTP의 GET 메소드를 이용하여 데이터의 제공을 행하는 기술에 대해서도 개시되어 있다(예를 들어, 특허 문헌 1 참조).The technique of providing data using the GET method of HTTP is also disclosed (for example, refer patent document 1).

특허 문헌 1 : 일본 공개특허공보 2002-288162호Patent Document 1: Japanese Unexamined Patent Publication No. 2002-288162

그러나, 상기 종래의 HTTP의 파일 전송의 중단, 재개 순서는 HTTP의 GET 메소드에서는 사용할 수 있지만, POST 메소드에서는 사용할 수 없다는 과제가 존재한다. 인터넷 상의 서버로부터 PC에 파일을 다운로드하는 경우는 HTTP의 GET 메소드가 사용되기 때문에 이러한 제약은 문제는 되지 않는다.However, although the above-described conventional interruption and resumption of file transfer in HTTP can be used in the HTTP GET method, there is a problem that it cannot be used in the POST method. This restriction is not a problem because the GET method of HTTP is used when downloading a file from a server on the Internet to a PC.

그러나, 네트워크에 접속되는 임의의 기기 사이에 파일을 전송하는 경우에 있어서, 소스 기기가 임의의 파일을 싱크 기기의 요구없이 자발적으로 송신하고자 하는 경우에는 통상 HTTP POST 메소드가 이용된다. 그 때문에, 소스 기기와 싱크 기기 사이의 통신이 중단된 경우에는, 통신의 재개 후에 파일의 송신을 최초부터 행해야 하고, 파일 전송을 위한 리소스나 시간을 쓸데없이 소비한다는 과제가 있다.However, in the case of transferring a file between any devices connected to the network, the HTTP POST method is usually used when the source device wants to voluntarily send any file without the request of the sink device. Therefore, when the communication between the source device and the sink device is interrupted, there is a problem that the file must be transmitted from the beginning after the communication is resumed, and the resources and time for the file transfer are unnecessarily consumed.

이 과제는 보다 일반적으로 말하면, 소스측으로부터 자발적으로 데이터를 송신하는 것을 트리거로 하여 푸시형의 플로우 제어를 행하는 파일 전송 프로토콜에 있어서는, 싱크측으로부터 리퀘스트를 발행하는 풀형의 플로우 제어와 달리, 통신의 중단이 있는 경우에 효율적인 파일 전송을 행하는 순서가 존재하지 않았다는 과 제이다.More generally, the problem is that in a file transfer protocol in which a push type flow control is triggered by spontaneous transmission of data from a source side, unlike a flow type flow control that issues a request from a sink side, The problem is that there is no order for efficient file transfer in the case of an interruption.

또한, 전술의 HTTP의 GET 메소드에서의 파일 전송의 중단, 재개 순서에 있어서도, 재개가 가능한 기간이 규정되어 있지 않고, 따라서 서버 상에 장기간 공개되는 파일을 불특정 다수의 PC가 다운로드하는 용도에는 적합하지만, 네트워크에 접속되는 임의의 기기 사이에서 파일을 전송하는 경우에 있어서, 소스 기기 및 싱크 기기가 언제까지 재개를 가능한 상태로 유지할지가 명확하지 않다. 그 때문에, 소스 기기 및 싱크 기기에 있어서 리소스의 낭비가 생기게 된다.In addition, even in the order of interruption and resumption of file transfer in the above-described HTTP GET method, a period in which resumption is possible is not specified. In the case of transferring a file between any devices connected to the network, it is not clear how long the source device and the sink device will remain in a possible state. Therefore, a waste of resources occurs in the source device and the sink device.

본 발명은 상기 과제를 고려하여, 송신 기기로부터 자발적으로 수신 기기로 파일을 전송하는 파일 전송 시스템에 있어서, 파일 전송이 장시간에 걸쳐 중단되는 경우라도, 파일 전송에 따른 처리를 효율적으로 실행하기 위한 송신 기기, 수신 기기 및 파일 전송 시스템을 제공하는 것을 목적으로 한다. SUMMARY OF THE INVENTION In view of the above problems, the present invention provides a file transfer system for transmitting a file from a transmitting device to a receiving device voluntarily, even when the file transfer is interrupted for a long time, a transmission for efficiently executing the processing according to the file transfer. An object is to provide a device, a receiving device, and a file transfer system.

상기 목적을 달성하기 위해서, 본 발명의 파일 전송 시스템은, 네트워크를 통하여 파일을 송신하는 송신 기기로부터 상기 파일을 수신하는 수신 기기로의 파일 전송을 행하는 파일 전송 시스템으로서, 상기 수신 기기는 상기 송신 기기로부터 수신하는, 상기 파일을 구성하는 파일 데이터를 저장하는 저장 수단과, 상기 저장 수단에 저장이 완료된 파일 데이터의 사이즈인 저장 완료 사이즈를 취득하는 저장 완료 사이즈 취득 수단과, 상기 송신 기기로부터 상기 저장 완료 사이즈가 문의되면, 상기 저장 완료 사이즈 취득 수단에 의해 취득된 상기 저장 완료 사이즈를 상기 송신 기기에 송신하는 수신 제어 수단을 구비하고, 상기 송신 기기는 파일 데이터를 상기 수신 기기에 송신하는 송신 수단과, 상기 파일 전송의 중단을 검출하는 검출 수단과, 상기 검출 수단에 의해 상기 파일 전송의 중단이 검출된 후에, 상기 수신 기기에 상기 저장 완료 데이터 사이즈를 문의하는 문의 수단과, 상기 문의 수단에 의한 문의에 따라 상기 수신 기기가 응답한 저장 완료 데이터 사이즈에 의거하여 상기 파일을 구성하는 나머지의 파일 데이터를 상기 송신 수단에 송신시키는 송신 제어 수단을 구비한다.In order to achieve the above object, the file transfer system of the present invention is a file transfer system that performs file transfer from a transmitting device transmitting a file through a network to a receiving device receiving the file, wherein the receiving device is the transmitting device. Storage means for storing file data constituting the file, received from a storage completion size acquiring means for acquiring a storage completion size which is a size of file data that has been stored in the storage means, and the storage completion from the transmitting device; A receiving control means for transmitting the stored completed size acquired by the stored completed size obtaining means to the transmitting device when the size is inquired, wherein the transmitting device includes transmitting means for transmitting file data to the receiving device; Detection means for detecting interruption of the file transfer, and the search; On the basis of the inquiry means for inquiring the storage device of the stored data size after the interruption of the file transfer is detected by the export means, and the size of the storage data that the receiving device responds to in response to the inquiry by the inquiry means. And transmission control means for transmitting the remaining file data constituting the file to the transmission means.

또한, 본 발명의 송신 기기는 네트워크를 통하여 수신 기기로 파일을 전송하는 파일 전송을 행하는 송신 기기로서, 상기 파일을 구성하는 파일 데이터를 상기 수신 기기에 송신하는 송신 수단과, 상기 파일 전송의 중단을 검출하는 검출 수단과, 상기 검출 수단에 의해 상기 파일 전송의 중단이 검출된 후에 상기 수신 기기에 저장되어 있는 파일 데이터의 사이즈인 저장 완료 데이터 사이즈를 문의하는 문의 수단과, 상기 문의 수단에 의한 문의에 따라 상기 수신 기기가 응답한 저장 완료 데이터 사이즈에 의거하여 상기 파일을 구성하는 나머지의 파일 데이터를 상기 송신 수단에 송신시키는 송신 제어 수단을 구비한다.Further, the transmitting device of the present invention is a transmitting device which transmits a file to a receiving device via a network, comprising: transmitting means for transmitting file data constituting the file to the receiving device, and stopping the file transfer. Detection means for detecting, inquiry means for inquiring a completed data size which is the size of file data stored in the receiving device after the interruption of the file transfer is detected by the detection means, and an inquiry by the inquiry means. And transmitting control means for transmitting the remaining file data constituting the file to the transmitting means based on the stored completed data size responded by the receiving device.

또한, 본 발명의 수신 기기는, 네트워크를 통하여 송신 기기로부터 송신되는 파일을 수신하는 수신 기기로서, 상기 송신 기기로부터 수신하는, 상기 파일을 구성하는 파일 데이터를 저장하는 저장 수단과, 상기 저장 수단에 저장이 완료된 파일 데이터의 사이즈인 저장 완료 사이즈를 취득하는 저장 완료 사이즈 취득 수단과, 상기 송신 기기로부터 상기 저장 완료 사이즈가 문의되면 상기 저장 완료 사이즈 취득 수단에 의해 취득된 상기 저장 완료 사이즈를 상기 송신 기기에 송신하는 수신 제어 수단을 구비한다.Moreover, the receiving device of the present invention is a receiving device that receives a file transmitted from a transmitting device via a network, and includes: storage means for storing file data constituting the file received from the transmitting device; Storage completion size acquiring means for acquiring a storage completion size which is a size of file data for which storage has been completed; and the storage completion size acquired by the storage completion size acquiring means when the storage completion size is inquired from the transmitting device. And reception control means for transmitting to the receiver.

이렇게, 본 발명에 의하면 송신 기기는 파일 전송의 중단 후, 수신 기기에 저장 완료 사이즈를 문의할 수 있다. 또한 수신 기기는 그 문의에 대한 응답으로서 저장 완료 사이즈를 송신 기기에 송신할 수 있다. 송신 기기는 저장 완료 사이즈를 알게 됨으로써, 수신 기기에 송신해야 할 나머지의 파일 데이터만을 송신할 수 있다.Thus, according to the present invention, the transmission device can inquire the reception device of the storage completion size after the file transfer is stopped. The receiving device can also send the stored completion size to the transmitting device in response to the inquiry. By knowing the storage completion size, the transmitting device can transmit only the remaining file data to be transmitted to the receiving device.

즉, 중단된 파일 전송의 재개 시에 있어서, 송신 기기는 파일 데이터의 송신을 최초부터 행할 필요가 없고, 수신 기기에 있어서 필요한 나머지의 파일 데이터만을 송신하면 좋다. 또한, 수신 기기는 중복되는 쓸데없는 파일 데이터를 수신하지 않는다. 따라서, 송신 기기 및 수신 기기에서의 파일 전송에 따른 처리에 있어서, 장시간에 걸친 중단이 발생한 경우에 있어서도 쓸데없는 처리나 리소스의 쓸데없는 소비가 발생하지 않고, 파일 전송에 따른 처리를 효율적으로 실행할 수 있다. That is, in resuming the interrupted file transfer, the transmitting device does not need to transmit the file data from the beginning, but only the remaining file data necessary for the receiving device may be transmitted. In addition, the receiving device does not receive duplicate useless file data. Therefore, in the processing according to the file transfer in the transmitting device and the receiving device, even when a long time interruption occurs, the processing according to the file transfer can be efficiently executed without wasteful processing or unnecessary consumption of resources. have.

또한, 본 발명의 파일 전송 시스템에 있어서, 상기 수신 제어 수단은 또한, 파일 전송의 중단을 요구하는 중단 요구를 상기 송신 기기에 송신하고, 상기 중단 요구는 상기 수신 기기가 상기 파일 전송을 재개하는 시기(始期)를 나타내는 시기 정보와, 상기 수신 기기가 상기 파일 전송을 받아들이는 종기를 나타내는 기간 정보를 포함하고, 상기 검출 수단은 상기 중단 요구를 수신함으로써 상기 파일 전송의 중단을 검출하고, 상기 송신 제어 수단은 상기 시기부터 상기 허가 기간 사이에 상기 나머지의 파일 데이터를 상기 송신 수단에 송신시킨다고 해도 좋고, 또한 본 발명의 파일 전송 시스템에 있어서 상기 송신 제어 수단은 또한, 상기 송신 수단이 파일 데이터를 송신하기 전에 상기 파일 데이터의 상기 수신 기기에서의 유지 기간을 상기 수신 기기에 통지하고, 상기 수신 제어 수단은 또한 상기 파일 데이터가 상기 저장 수단에 저장되고 또한 상기 파일 데이터의 유지 기간이 경과하기 전에, 상기 파일을 구성하는 모든 파일 데이터를 상기 송신 기기로부터 수신하지 않는 경우, 상기 저장 수단에 저장되어 있는 상기 파일 데이터를 삭제한다고 해도 좋다.Further, in the file transfer system of the present invention, the reception control means also sends a suspension request to the transmitting device requesting the suspension of the file transfer, and the interruption request is when the receiving device resumes the file transfer. Time information indicating (iii) and period information indicating a boil that the receiving device accepts the file transfer, and the detecting means detects the interruption of the file transfer by receiving the interruption request, and controls the transmission. The means may transmit the remaining file data to the transmitting means between the time period and the permission period, and in the file transfer system of the present invention, the transmission control means may further transmit the file data. The retention period of the file data at the receiving device before is sent to the receiving device. And notifying, the reception control means also does not receive all the file data constituting the file from the transmitting device before the file data is stored in the storage means and the retention period of the file data has elapsed. The file data stored in the storage means may be deleted.

이와 같이, 송신 기기와 수신 기기는 서로 파일 전송을 행하는 기간에 대한 정보를 교환할 수 있다. 이것에 의해, 송신 기기 및 수신 기기의 각각은 상대 기기에 의해 파일 전송이 중단된 경우, 언제까지나 파일 전송의 재개에 준비해 둘 필요가 없고, 각각의 기기의 리소스를 쓸데없이 소비하지 않는다. 즉, 파일 전송에 따른 처리를 효율적으로 실행할 수 있다.In this manner, the transmitting device and the receiving device can exchange information on the period of time for performing file transfer with each other. As a result, when the file transfer is interrupted by the external device, each of the transmitting device and the receiving device does not need to be prepared for resumption of file transfer forever, and does not waste resources of each device. In other words, the processing according to the file transfer can be executed efficiently.

또한, 본 발명은 본 발명의 파일 전송 시스템, 송신 기기 및 수신 기기 각각의 특징적인 구성부를 단계로 하는 방법으로서 실현하거나, 그러한 단계를 포함하는 프로그램으로서 실현하거나, 그 프로그램이 저장된, CD-ROM 등의 기록 매체로서 실현되거나 집적 회로로서 실현할 수도 있다. 프로그램은 통신 네트워크 등의 전송 매체를 통하여 유통시킬 수도 있다.Further, the present invention can be realized as a method comprising steps of characteristic components of each of the file transfer system, the transmitting device, and the receiving device of the present invention, implemented as a program including such steps, a CD-ROM, or the like stored therein. Can be realized as a recording medium or as an integrated circuit. The program may be distributed through a transmission medium such as a communication network.

본 발명은, 송신 기기로부터 자발적으로 수신 기기에 파일을 전송하는 파일 전송 시스템에 있어서, 파일 전송이 장시간에 걸쳐 중단되는 경우라도, 파일 전송에 따른 처리를 효율적으로 실행하기 위한 송신 기기, 수신 기기 및 파일 전송 시스템을 제공할 수 있다. The present invention provides a file transfer system that voluntarily transfers a file from a transmitting device to a receiving device, wherein the transmission device, the receiving device, and the device for efficiently executing the processing according to the file transfer even if the file transfer is interrupted for a long time; A file transfer system can be provided.

예를 들어, 파일을 HTTP의 POST 메소드를 이용하여 송신하는 소스 기기와, 소스 기기로부터 파일을 수신하는 싱크 기기에 의해 구성되는 파일 전송 시스템에 있어서, 파일 전송의 중단이 발생하고, TCP 접속이 타임 아웃한 후라도 송신 기기는 저장이 완료된 데이터 사이즈를 알 수 있다. 따라서, 송신 기기는 수신 기기에있어서 저장이 완료된 데이터에 계속되는 데이터를 수신 기기에 전송할 수 있다.For example, in a file transfer system constituted by a source device that transmits a file using an HTTP POST method and a sink device that receives a file from the source device, interruption of file transfer occurs and a TCP connection is timed. Even after out, the transmitting device can know the data size of the storing. Therefore, the transmitting device can transmit data following the data that has been stored in the receiving device to the receiving device.

즉, 어느 파일을 전송하는 경우, 송신 기기에 있어서는 쓸데없는 데이터 송신을 행하지 않고, 수신 기기에 있어서는 쓸데없는 데이터를 수신하지 않는다. In other words, when a file is transmitted, no unnecessary data transmission is performed by the transmitting device, and no unnecessary data is received by the receiving device.

결과적으로, 소스측으로부터 데이터를 송신하는 것을 트리거로 하여 푸시형의 플로우 제어를 행하는 파일 전송 프로토콜에 있어서도, 리소스나 시간 등의 낭비를 발생시키지 않고 파일 전송에 따른 처리를 효율적으로 실행할 수 있다.As a result, even in the file transfer protocol for performing push-type flow control by triggering the transmission of data from the source side, the processing according to the file transfer can be efficiently executed without generating waste of resources or time.

또한, 중단, 재개 순서에 있어서 재개의 가능한 기간을 핸드쉐이크 하는 방법 및 수단을 제공하고, 소스 기기 및 싱크 기기가 언제까지 재개를 가능한 상태로 유지해야할 것인가 명확하게 할 수 있다. 이것에 의해, 파일 전송에서의 소스 기기 및 싱크 기기의 메모리나 미디어 등의 리소스에서의 낭비를 없앨 수 있다. 이것에 의해서도 파일 전송에 따른 처리를 효율적으로 실행할 수 있다. It is also possible to provide a method and means for shaking a possible period of resumption in the sequence of suspend and resume, and to clarify how long the source device and the sink device should remain in a resumable state. This can eliminate waste of resources such as memory and media of the source device and the sink device in file transfer. This also makes it possible to efficiently execute the process associated with file transfer.

도 1은 종래의 소스 기기 및 싱크 기기에 의해 구성되는 파일 전송 시스템에서의 파일 전송의 재개에 따른 통신 시퀀스의 일례를 나타내는 도면,1 is a view showing an example of a communication sequence according to the resumption of file transfer in a file transfer system constituted by a conventional source device and a sink device;

도 2는 본 발명의 실시의 형태의 파일 전송 시스템의 기기 구성을 나타내는 도면,2 is a diagram showing a device configuration of a file transfer system according to an embodiment of the present invention;

도 3은 본 발명의 실시의 형태의 소스 기기의 기능적인 구성을 나타내는 기 능 블록도,3 is a functional block diagram showing a functional configuration of a source device according to an embodiment of the present invention;

도 4는 본 발명의 실시의 형태의 싱크 기기의 기능적인 구성을 나타내는 기능 블록도,4 is a functional block diagram showing a functional configuration of a sink device according to an embodiment of the present invention;

도 5는 본 발명의 실시의 형태의 파일 전송 시스템에서의 기본의 통신 시퀀스를 나타내는 도면,5 is a diagram showing a basic communication sequence in the file transfer system according to the embodiment of the present invention;

도 6은 소스 기기로부터 싱크 기기에 송부되는 각 파라미터의 내용을 나타내는 도면,6 is a diagram showing the contents of each parameter sent from the source device to the sink device;

도 7은 실시의 형태의 파일 전송 시스템에 있어서, 소스 기기의 사정에 의해 파일 전송이 중단될 때의 통신 시퀀스의 일례를 나타내는 도면,7 is a diagram showing an example of a communication sequence when file transfer is interrupted due to a source device in the file transfer system according to the embodiment;

도 8은 실시의 형태의 파일 전송 시스템에 있어서 싱크 기기의 사정에 의해 파일 전송이 중단될 때의 통신 시퀀스의 일례를 나타내는 도면,8 is a diagram showing an example of a communication sequence when file transfer is interrupted due to the situation of a sink device in the file transfer system according to the embodiment;

도 9는 실시의 형태의 파일 전송 시스템에 있어서 싱크 기기의 사정에 의해 파일 전송이 중단될 때의 통신 시퀀스의 다른 일례를 나타내는 도면,9 is a diagram showing another example of a communication sequence when file transfer is interrupted due to the situation of a sink device in the file transfer system according to the embodiment;

도 10은 실시의 형태의 파일 전송 시스템에 있어서 파일 전송을 재개할 때의 통신 시퀀스를 나타내는 도면,10 is a diagram showing a communication sequence when resuming file transfer in the file transfer system according to the embodiment;

도 11은 실시의 형태의 파일 전송 시스템에 있어서 파일 데이터의 송신이 개시되기 전에, 소스 기기의 사정에 의해 파일 전송이 중지될 때의 통신 시퀀스의 일례를 나타내는 도면,11 is a diagram showing an example of a communication sequence when file transfer is stopped due to a source device before transmission of file data is started in the file transfer system according to the embodiment;

도 12는 실시의 형태의 파일 전송 시스템에 있어서 파일 데이터의 송신 중에 소스 기기의 사정에 의해 파일 전송이 중지될 때의 통신 시퀀스의 일례를 나타내는 도면,12 is a diagram showing an example of a communication sequence when file transfer is stopped due to a source device during transmission of file data in the file transfer system according to the embodiment;

도 13은 실시의 형태의 파일 전송 시스템에 있어서, 파일 데이터의 송신이 개시되기 전에, 싱크 기기의 사정에 의해 파일 전송이 중지될 때의 통신 시퀀스의 일례를 나타내는 도면,13 is a diagram showing an example of a communication sequence when file transfer is stopped due to a sink device before the file data transmission starts in the file transfer system according to the embodiment;

도 14는 실시의 형태의 파일 전송 시스템에 있어서, 파일 데이터의 송신 중에 싱크 기기의 사정에 의해 파일 전송이 중지될 때의 통신 시퀀스의 일례를 나타내는 도면,14 is a diagram showing an example of a communication sequence when file transfer is stopped due to the situation of a sink device in the file transfer system of the embodiment;

도 15는 소스 기기가 싱크 기기에 파일을 분할하여 전송하는 파일 전송 시스템의 통신 시퀀스를 나타내는 도면,15 is a diagram illustrating a communication sequence of a file transfer system in which a source device divides and transmits a file to a sink device;

도 16은 파일을 분할하여 전송하는 파일 전송 시스템에 있어서, 분할 후의 하나의 파일 데이터의 송신 전에 소스 기기의 사정에 의해 파일 전송이 중단되는 경우의 통신 시퀀스를 나타내는 도면, FIG. 16 is a diagram illustrating a communication sequence in a case where a file transfer is interrupted due to a source device before transmission of one file data after division in a file transfer system for dividing and transmitting a file; FIG.

도 17은 파일을 분할하여 전송하는 파일 전송 시스템에 있어서, 싱크 기기가 POST 리퀘스트를 수신했을 때에 싱크 기기의 사정에 의해 전송이 중단되는 경우의 통신 시퀀스를 나타내는 도면,FIG. 17 is a diagram illustrating a communication sequence in a case where a transmission is interrupted due to the situation of a sink device when a sink device receives a POST request in a file transfer system that divides and transmits a file; FIG.

도 18은 파일을 분할하여 전송하는 파일 전송 시스템에 있어서, 싱크 기기의 사정에 의해 파일 전송이 중지되는 경우의 통신 시퀀스를 나타내는 도면.Fig. 18 is a diagram showing a communication sequence when file transfer is stopped due to the situation of a sink device in a file transfer system for dividing and transferring a file.

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

101 : 소스 기기 102 : 싱크 기기 101: source device 102: sink device

701 : 사용자 인터페이스 702 : 파일 송신 제어부 701: user interface 702: file transmission control unit

703, 802 : 파일 제어부 704, 803 : 통신 제어부 703 and 802: File control unit 704 and 803: Communication control unit

705, 804 : 파일 축적부 706, 805 : 네트워크 인터페이스 705, 804: file accumulator 706, 805: network interface

707 : 중단 검출부 708 : 문의부 707: interruption detection unit 708: inquiry unit

801 : 파일 수신 제어부 806 : 저장 완료 사이즈 취득부 801: File reception control unit 806: Save completion size acquisition unit

이하, 본 발명을 실시하기 위한 최선의 형태에 대해 도면을 이용하여 설명한다.EMBODIMENT OF THE INVENTION Hereinafter, the best form for implementing this invention is demonstrated using drawing.

우선, 본 발명의 실시의 형태의 파일 전송 시스템의 구성을 도 2~도 4를 이용하여 설명한다.First, the structure of the file transfer system of embodiment of this invention is demonstrated using FIGS.

도 2는 본 발명의 실시의 형태의 파일 전송 시스템의 기기 구성을 나타내는 도면이다. 본 발명의 실시의 형태의 파일 전송 시스템은 소스 기기(101)로부터 싱크 기기(102)로 파일을 전송하기 위한 시스템이다.2 is a diagram illustrating a device configuration of a file transfer system according to an embodiment of the present invention. The file transfer system according to the embodiment of the present invention is a system for transferring files from the source device 101 to the sink device 102.

도 2에 나타내는 바와 같이, 소스 기기(101) 및 싱크 기기(102)는 브로드밴드 라우터(301)에 접속되어 홈 네트워크를 구성한다. 브로드밴드 라우터(301)는 인터넷(302)에 접속되어 있어도 좋다.As shown in FIG. 2, the source device 101 and the sink device 102 are connected to the broadband router 301 to form a home network. The broadband router 301 may be connected to the internet 302.

소스 기기(101)와 싱크 기기(102)는 각각 축적 미디어를 내장하고, Audio Visual(AV) 컨텐츠 등의 파일을 축적할 수 있다. 구체적으로는, 소스 기기(101)는 파일 축적부(705)를 구비하고 싱크 기기(102)는 파일 축적부(804)를 구비한다.The source device 101 and the sink device 102 each have built-in storage media, and can store files such as Audio Visual (AV) content. Specifically, the source device 101 includes a file accumulator 705 and the sink device 102 includes a file accumulator 804.

이러한 기기의 예로서 네트워크 접속 단자를 구비한 DVD/HDD 하이브리드 레코더 등을 들 수 있다. 본 실시의 형태의 시기 상태에서는 소스 기기(101)가 파일 축적부(705)에 파일(303)을 축적하고 있고, 본 파일을 홈 네트워크를 통하여 싱크 기기(102)에 전송한다. 싱크 기기(102)는 소스 기기로부터 수신한 파일(303)을 파일 축적부(804)에 축적한다.An example of such a device is a DVD / HDD hybrid recorder having a network connection terminal. In the timing state of this embodiment, the source device 101 accumulates the file 303 in the file accumulator 705 and transmits the file to the sink device 102 via the home network. The sink device 102 accumulates the file 303 received from the source device in the file accumulator 804.

또한, 본 실시의 형태에서는 싱크 기기(102), 소스 기기(101) 모두 유니버설 플러그 앤 플레이 포럼이 발행하는 UPnP-AV 규격에 준거하고 있고, 싱크 기기(102)는 Contents Directory Service(CDS) 서버 기능을 실장하고 있으며, 소스 기기(101)는 CDS 서버에 액세스하는 Control Point 기능을 실장하고 있는 것으로 한다. In the present embodiment, both the sink device 102 and the source device 101 comply with the UPnP-AV standard issued by the Universal Plug and Play Forum, and the sink device 102 functions as a Contents Directory Service (CDS) server. It is assumed that the source device 101 implements a Control Point function for accessing the CDS server.

도 3은 본 발명의 실시의 형태의 소스 기기(101)의 기능적인 구성을 나타내는 기능 블록도이다. 소스 기기(101)는 본 발명의 송신 기기의 일례이다. 또한, 소스 기기(101)에 대해서, 본래 구비되어 있는 Control Point 기능 등의 도시 및 설명은 생략하고, 소스 기기(101)에 있어서 특징적인 구성부에 대해서만 도시 및 설명을 행한다. 3 is a functional block diagram showing the functional configuration of the source apparatus 101 of the embodiment of the present invention. The source device 101 is an example of the transmission device of the present invention. In addition, illustration and description of the control point function etc. which are originally provided with respect to the source apparatus 101 are abbreviate | omitted, and only the characteristic structure part of the source apparatus 101 is illustrated and demonstrated.

도 3에 나타내는 바와 같이, 소스 기기(101)는 사용자 인터페이스(701), 파일 송신 제어부(702), 파일 제어부(703), 통신 제어부(704), 파일 축적부(705) 및 네트워크 인터페이스(706)를 구비한다. 도면 중의 점선으로 둘러싸인 영역에 있는 구성부는 파일 전송에 따른 주요한 처리를 행하는 구성부이다.As shown in FIG. 3, the source device 101 includes a user interface 701, a file transmission control unit 702, a file control unit 703, a communication control unit 704, a file storage unit 705, and a network interface 706. It is provided. The component part in the area | region enclosed by the dotted line in a figure is a component part which performs the main process according to a file transfer.

사용자 인터페이스(701)는 사용자로부터의 지시 등의 입력을 접수하고, 또한 사용자에게 영상 등으로 정보를 제공하는 인터페이스이다. 네트워크 인터페이스(706)는 홈 네트워크를 통하여 싱크 기기(102)와의 정보의 교환을 행하는 인터페이스이다. The user interface 701 is an interface that receives an input such as an instruction from a user and provides information to the user as an image. The network interface 706 is an interface for exchanging information with the sink device 102 via the home network.

파일 축적부(705)는 전술과 같이 AV 컨텐츠 등의 파일을 축적하는 기억 장치이다.The file accumulator 705 is a memory device that accumulates files such as AV contents as described above.

파일 송신 제어부(702)는 파일의 싱크 기기(102)에의 송신을 제어하는 제어부이며, 문의부(708)를 가진다. 문의부(708)는 중단된 파일 전송을 재개할 때에, 싱크 기기(102)에 저장 완료 데이터 사이즈를 문의하는 처리부이다. The file transmission control unit 702 is a control unit that controls transmission of a file to the sink device 102, and has a query unit 708. The inquiry unit 708 is a processing unit that inquires the sink device 102 of the stored data size when resuming the interrupted file transfer.

또한, 상기의 저장 완료 데이터 사이즈란, 소스 기기(101)로부터 싱크 기기(102)로의 파일 전송에 있어서, 싱크 기기(102)가 수신하여 저장한, 해당 파일을 구성하는 파일 데이터(이하, 단순히 「데이터」라고도 함)의 용량을 가리킨다. 즉, 파일 사이즈가 1000바이트인 경우, 저장 완료 데이터 사이즈는 0바이트로부터 1000바이트 사이의 값이 된다.In addition, in the file transfer from the source device 101 to the sink device 102, the stored data size described above means that the file data constituting the file received and stored by the sink device 102 (hereinafter, simply “ Data ”). That is, when the file size is 1000 bytes, the stored data size becomes a value between 0 bytes and 1000 bytes.

또한, 「파일 전송의 중단」이란, 파일 데이터의 송신이 개시된 이후에 파일 데이터의 송신 또는 수신이 중단되는 경우뿐만 아니라, 파일 전송에 필요한 처리가 중단되는 경우도 포함한다.The term "interruption of file transfer" includes not only the case where the transmission or reception of the file data is stopped after the transmission of the file data is started, but also the case where the processing required for the file transfer is interrupted.

파일 제어부(703)는 파일 축적부(705)로부터의 파일의 독출을 제어하는 제어부이다.The file control unit 703 is a control unit that controls reading of a file from the file accumulation unit 705.

통신 제어부(704)는 네트워크 인터페이스(706)를 제어함으로써 홈 네트워크를 통한 통신을 제어하는 제어부이다. 통신 제어부(704)와 네트워크 인터페이스(706)에 의해 본 발명의 송신 기기에서의 송신 수단이 가지는, 정보를 송신하는 기능이 실현된다. 또한, 통신 제어부(704)는 중단 검출부(707)를 가진다. 중단 검출부(707)는 파일 전송의 중단을 검출하는 처리부이다.The communication control unit 704 is a control unit for controlling communication via the home network by controlling the network interface 706. By the communication control unit 704 and the network interface 706, a function for transmitting information that the transmission means in the transmission device of the present invention has is realized. The communication control unit 704 also has an interruption detection unit 707. The interruption detector 707 is a processor that detects the interruption of the file transfer.

소스 기기(101)는 사용자 인터페이스(701)를 제어하여 705에 축적한 파일의 일람 리스트를 표시한다. 사용자가 일람 리스트 중에서 선택한 파일을 파일 축적부(705)로부터 독출하고, 네트워크 인터페이스(706)를 제어하여 싱크 기기(102)에 송부한다.The source device 101 controls the user interface 701 to display a list of files stored in 705. The file selected by the user from the list is read from the file accumulator 705, and the network interface 706 is controlled and sent to the sink device 102.

도 4는 본 발명의 실시의 형태의 싱크 기기(102)의 기능적인 구성을 나타내는 기능 블록도이다. 싱크 기기(102)는 본 발명의 수신 기기의 일례이다. 또한, 싱크 기기(102)에 대해서, 본래 구비되어 있는 CDS 서버 기능 등의 도시 및 설명은 생략하고, 싱크 기기(102)에 있어서 특징적인 구성부에 대해서만 도시 및 설명을 행한다.4 is a functional block diagram showing a functional configuration of the sink device 102 according to the embodiment of the present invention. The sink device 102 is an example of the receiving device of the present invention. In addition, illustration and description of the CDS server function and the like originally provided for the sink device 102 will be omitted, and only the characteristic components of the sink device 102 will be shown and described.

도 4에 나타내는 바와 같이, 싱크 기기(102)는 파일 수신 제어부(801), 파일 제어부(802), 통신 제어부(803), 파일 축적부(804) 및 네트워크 인터페이스(805)를 구비한다. 도면 안의 점선으로 둘러싸인 영역에 있는 구성부는 파일 전송에 따른 주요한 처리를 행하는 구성부이다.As shown in FIG. 4, the sink device 102 includes a file reception control unit 801, a file control unit 802, a communication control unit 803, a file storage unit 804, and a network interface 805. The component part in the area enclosed by the dotted line in a figure is a component part which performs the main process according to a file transfer.

네트워크 인터페이스(805)는 홈 네트워크를 통하여 소스 기기(101)와의 정보의 교환을 행하는 인터페이스이다. The network interface 805 is an interface for exchanging information with the source device 101 via a home network.

파일 축적부(804)는 본 발명의 수신 기기에서의 저장 수단의 일례이며, 전술한 바와 같이 소스 기기(101)로부터 수신하는 파일을 축적하는 기억 장치이다.The file accumulating unit 804 is an example of storage means in the receiving device of the present invention, and is a storage device that accumulates a file received from the source device 101 as described above.

파일 수신 제어부(801)는 소스 기기(101)로부터 송신되는 파일의 수신을 제어하는 제어부이다. The file reception control unit 801 is a control unit for controlling reception of a file transmitted from the source device 101.

파일 제어부(802)는 파일 축적부(804)로부터의 파일의 독출을 제어하는 제어 부이며, 저장 완료 사이즈 취득부(806)를 가진다. 저장 완료 사이즈 취득부(806)는 파일 축적부(804)로부터 저장 완료 데이터 사이즈를 취득하는 처리부이다. 취득된 저장 완료 데이터 사이즈는 파일 수신 제어부(801)의 제어에 의해 소스 기기(101)에 송신된다.The file control unit 802 is a control unit that controls reading of a file from the file accumulating unit 804 and has a storage completed size obtaining unit 806. The storage completed size acquisition unit 806 is a processing unit that acquires the storage completion data size from the file storage unit 804. The acquired stored data size is transmitted to the source device 101 under the control of the file reception control unit 801.

통신 제어부(803)는 네트워크 인터페이스(805)를 제어함으로써 홈 네트워크를 통한 통신을 제어하는 제어부이다.The communication control unit 803 is a control unit that controls communication via the home network by controlling the network interface 805.

다음에, 이상과 같이 구성된 소스 기기(101) 및 싱크 기기(102)에 의해 구성되는 파일 전송 시스템에서의 소스 기기(101) 및 싱크 기기(102)의 동작을 도 5로부터 도 14를 참조하여 설명한다.Next, operations of the source device 101 and the sink device 102 in the file transfer system constituted by the source device 101 and the sink device 102 configured as described above will be described with reference to FIGS. do.

우선, 기본의 통신 시퀀스에서의 각 기기의 동작을 도 5 및 도 6을 이용하여 설명한다.First, the operation of each device in the basic communication sequence will be described with reference to FIGS. 5 and 6.

도 5는 본 발명의 실시의 형태의 파일 전송 시스템에서의 기본의 통신 시퀀스를 나타내는 도면이다. 도 5에 나타내는 바와 같이, 본 실시의 형태에서는 소스 기기(101)로부터 싱크 기기(102)로의 통신에 의해 파일 전송이 개시된다. 즉, 도 5는 소스 기기(101)로부터의 자발적인 파일 전송에서의 통신 시퀀스도이다. It is a figure which shows the basic communication sequence in the file transfer system of embodiment of this invention. As shown in FIG. 5, in the present embodiment, file transfer is started by communication from the source device 101 to the sink device 102. That is, FIG. 5 is a communication sequence diagram in spontaneous file transfer from the source device 101.

또한, 소스 기기(101)와 싱크 기기(102) 사이의 통신은 브로드밴드 라우터(301)에 의해 중계된다. 그러나, 브로드밴드 라우터(301)의 동작은 본 발명의 특징에 관여하지 않기 때문에, 이하, 그 도시 및 동작의 설명은 생략한다.In addition, communication between the source device 101 and the sink device 102 is relayed by the broadband router 301. However, since the operation of the broadband router 301 is not concerned with the features of the present invention, the description of the illustration and operation will be omitted below.

소스 기기(101)는 UPnP-AV 규격으로 규정된 CDS : CreateObject 리퀘스트를 송부한다(S501). 여기서 CreateObject 리퀘스트는 논리적인 파일을 나타내는 object를 생성하는 리퀘스트이며, 이것에 의해서 싱크 기기(102)의 파일 축적부(804) 내에 신규로 object가 생성된다. 그 때, 생성되는 object의 디렉토리 구조 상의 위치나, 그 object를 나타내는 파일명 등의 메타 데이터가 결정된다. 이 메타 데이터에는 파일 실체를 저장해야 할 싱크 기기(102) 상의 Uniform Resource Identifiers(URI)가 포함되어 있다. 싱크 기기(102)는 파일의 전송처 어드레스로서 이 URI를 포함한 CDS : CreateObject 리스펀스를 소스 기기에 송신한다(S502).The source device 101 sends a CDS: CreateObject request defined in the UPnP-AV standard (S501). Here, the CreateObject request is a request for creating an object representing a logical file, whereby an object is newly created in the file storage unit 804 of the sink device 102. At that time, metadata such as a position on the directory structure of the object to be generated and a file name indicating the object is determined. This metadata includes Uniform Resource Identifiers (URIs) on the sink device 102 where file entities should be stored. The sink device 102 transmits a CDS: CreateObject response including this URI as the destination address of the file to the source device (S502).

소스 기기(101)는 POST 메소드의 HTTP 리퀘스트(이하, 「POST 리퀘스트」라고 함)를 싱크 기기(102)에 송부한다(S503). 이 때, 소스 기기(101)는 파일 전송이 중단된 경우에 싱크 기기(102)가 참조해야 할 파라미터로서, 도 6에 나타내는 파라미터를 POST 리퀘스트에 부가하여 송부한다. 구체적으로는, 파라미터로서 [byte-range], [restart-time] 및 [lifetime]의 세 개를 송부한다.The source device 101 sends an HTTP request (hereinafter referred to as a "POST request") of the POST method to the sink device 102 (S503). At this time, the source device 101 adds the parameter shown in FIG. 6 to the POST request as a parameter to be referred to by the sink device 102 when the file transfer is stopped. Specifically, three of [byte-range], [restart-time] and [lifetime] are sent as parameters.

도 6은 소스 기기(101)로부터 싱크 기기(102)에 송부되는 각 파라미터의 내용을 나타내는 도면이다.6 is a diagram showing the contents of each parameter sent from the source device 101 to the sink device 102.

도 6에 나타내는 바와 같이, [byte-range]는 송신하는 데이터의 바이트 레인지이다. 바이트 레인지란 송신하는 파일 데이터의 범위인 데이터 범위의 선두 위치와 종단 위치를 나타내는 정보 및 파일의 총 사이즈인 파일 사이즈를 나타내는 정보이다. 또한, 단위는 각각 바이트이다.As shown in Fig. 6, [byte-range] is a byte range of data to be transmitted. The byte range is information indicating the start and end positions of the data range, which is the range of the file data to be transmitted, and information indicating the file size, which is the total size of the file. In addition, each unit is a byte.

즉, 싱크 기기(102)는 소스 기기로부터 송신되는 데이터의 범위뿐만 아니라 파일의 총 사이즈도 통지된다. 그 때문에, 수신한 파일 데이터가 어떤 파일을 구성하는 일부의 파일 데이터인지, 또는, 어떤 파일을 구성하는 모든 파일 데이터인 지를 판단할 수 있다. 또한, 본 실시의 형태에 있어서는 1개의 파일을 싱크 기기(102)에 송신하는 경우, 분할하지 않고 일괄하여 송신한다. 파일을 분할하여 송신하는 경우에 대해서는 도 15를 이용하여 후술한다.That is, the sink device 102 is not only informed of the range of data transmitted from the source device but also the total size of the file. Therefore, it is possible to determine whether the received file data is a part of file data constituting a certain file or all file data constituting a certain file. In the present embodiment, when one file is transmitted to the sink device 102, the files are transmitted collectively without being divided. The case where the file is divided and transmitted will be described later with reference to FIG. 15.

[restart-time]은 송신 재개 허가 시간이다. 송신 재개 허가 시간이란, 중단 후에 파일 전송 동작을 재개할 때까지의 일시 정지 시간을 나타내는 정보로서, 단위는 초이다.[restart-time] is a transmission resume permission time. The transmission resumption allowance time is information indicating the pause time until the file transfer operation is resumed after the interruption, and the unit is seconds.

[lifetime]은 파일 유지 기간이다. 파일 유지 기간이란 싱크 기기(102)가 object 또는 파일 데이터를 유지해 두어야 할 시간을 나타내는 정보로서, 단위는 초이다. 싱크 기기(102)는 [lifetime]에 나타나는 기간이 경과하기까지, 파일 데이터를 수신하지 않는 경우, 작성한 object를 유지해 둘 의무가 없다. 또한, [lifetime]이 통지되고 완결되어 있지 않은 파일 데이터를 수신한 경우, [lifetime]에 나타나는 기간이 경과하기까지, 나머지의 파일 데이터를 수신하지 않는 경우, 완결되어 있지 않은 파일 데이터를 유지해 둘 의무가 없다. [lifetime] is the file retention period. The file holding period is information indicating the time when the sink device 102 should hold the object or file data, and the unit is seconds. The sink device 102 is not obliged to hold the created object if it does not receive the file data until the period shown in [lifetime] elapses. In addition, when [lifetime] is notified and the file data that is not completed is received, the file data that is not completed until the time period shown in [lifetime] is not received, and the remaining file data is not received. There is no.

이것에 의해, 소스 기기(101)가 접속 불능이 되거나 전송 대상의 파일을 소실한 경우라도, 싱크 기기(102), 완료할 수 없는 파일 전송을 위한 쓸데없는 리소스를 유지해 둘 필요가 없다. 그 때문에, 싱크 기기(102)에 있어서 리소스를 효율적으로 관리할 수 있고, 사용자의 손에 의한 불필요한 object의 삭제 등의 유지보수도 불필요하다.As a result, even when the source device 101 becomes inaccessible or loses the file to be transferred, the sink device 102 does not need to maintain unnecessary resources for file transfer that cannot be completed. Therefore, the resource can be managed efficiently in the sink device 102, and maintenance such as deletion of unnecessary objects by the user's hand is also unnecessary.

도 5의 통신 시퀀스에서는 소스 기기(101)는 송신하는 데이터의 선두 위치 : 0바이트째, 종단 위치 : 999바이트째 및 파일 사이즈 : 1000바이트를 지정하고 있 다. 이것은, 전술한 바와 같이 1개의 파일을 일괄하여 송신하는 것을 의미한다. 또한, 일시 정지 시간 : 1200초(20분), 파일 유지 기간 : 1800초(30분)도 지정하고 있다.In the communication sequence of FIG. 5, the source device 101 designates the head position: 0 byte, the end position: 999 byte, and the file size: 1000 bytes of the data to be transmitted. This means that one file is collectively transmitted as described above. In addition, a pause time: 1200 seconds (20 minutes) and a file holding period: 1800 seconds (30 minutes) are also specified.

또한, 전송 중단 요구를 나타내는 [suspend-req]는, 도 5의 통신 시퀀스에 있어서는 사용되고 있지 않다. [suspend-req]를 싱크 기기(102)에 송부하는 경우에 대해서는, 도 7을 이용하여 후술한다.In addition, [suspend-req] indicating a request to suspend transmission is not used in the communication sequence of FIG. The case of sending [suspend-req] to the sink device 102 will be described later with reference to FIG.

또한, 소스 기기(101)로부터 싱크 기기(102)에 송신되는 POST 리퀘스트에서 지정하는 URI로서 싱크 기기(102)로부터 수신한 CreateObject 리스펀스에 포함되어 있던 URI가 기술된다. 이것에 의해, 싱크 기기(102)는 특정한 object와 수신한 파일 데이터를 대응시킬 수 있다.In addition, the URI included in the CreateObject response received from the sink device 102 is described as the URI specified in the POST request transmitted from the source device 101 to the sink device 102. As a result, the sink device 102 can associate the specific object with the received file data.

또한, POST 리퀘스트에는 Expect : 100-continue가 부가된다. 이것에 의해, 싱크 기기는 RFC2616에 따라, 송신된 POST 리퀘스트를 상기 URI에서 받아들일 수 있을지의 체크를 행한다.POST requests also have Expect: 100-continue. As a result, the sink device checks whether or not the transmitted POST request can be accepted by the URI according to RFC2616.

체크의 결과, 받아들임이 가능하면 응답으로서 “100 Continue"를 돌려준다(S504). 또한, 소스 기기(101)로부터의 POST 리퀘스트를 받아들일 수 없는 경우나, POST 리퀘스트를 해석할 수 없는 경우에는 데이터의 전송 전에 소스 기기에 통지할 수 있다. 따라서 소스 기기(101)는 쓸데없는 데이터 송신을 회피할 수 있다.If the result of the check is acceptable, the response returns "100 Continue" (S504). If the POST request from the source device 101 cannot be accepted or the POST request cannot be interpreted, the data is returned. The source device 101 can be notified before the transmission of the source device 101. Thus, the source device 101 can avoid unnecessary data transmission.

소스 기기(101)는 “100 Continue" 스테이터스를 싱크 기기(102)로부터 수신함으로써, 파일을 싱크 기기(102)에 송신한다(S505). 또한, 파일 데이터는 POST 리퀘스트의 Entity Body에 저장되어 송신된다. The source device 101 transmits a file to the sink device 102 by receiving the “100 Continue” status from the sink device 102 (S505). The file data is also stored and transmitted in the entity body of the POST request. .

싱크 기기(102)는 수신한 파일 데이터를 파일 축적부(804)에 축적한다. 싱크 기기(102)는 파일의 수신 완료 후에, 파일 축적부(804)로의 파일 축적 처리에 시간을 필요로 하는 경우, 예를 들면 20초 이내에 축적이 완료되지 않은 경우, RFC2518에서 규정되는 “102 Processing"를 송신하고(S506), 축적 처리 중인 취지를 소스 기기(101)에 통지한다. 싱크 기기(102)는 축적을 완료하면 “201 Created"를 송신하고, 소스 기기(101)에 축적 완료인 취지를 통지한다(S507).The sink device 102 accumulates the received file data in the file accumulator 804. When the sink device 102 requires time for file accumulation processing to the file accumulation unit 804 after completion of the reception of the file, for example, when accumulation is not completed within 20 seconds, the “102 Processing” defined in RFC2518 is applied. &Quot; S506, and notifies the source device 101 that the accumulation process is in progress. The sink device 102 transmits " 201 Created &quot; upon completion of the accumulation, and the source device 101 indicates that the accumulation is completed. Notify (S507).

이상의 각 기기의 동작에 의해 소스 기기(101)로부터 싱크 기기(102)로의 파일 전송이 완료된다.The file transfer from the source device 101 to the sink device 102 is completed by the operation of each device described above.

또한, 도 5에 나타내는 통신 시퀀스는 파일 전송의 도중에 중단이 발생하지 않는 기본의 통신 시퀀스이지만, 소스 기기(101) 또는 싱크 기기(102)의 사정에 의해 파일 전송의 중단이 생기는 경우도 있다. 따라서, 이하에, 파일 전송의 도중에 중단이 발생하는 경우의 통신 시퀀스 및 각 기기의 동작을, 도 7~도 9를 이용하여 설명한다. 또한, 파일 전송을 재개할 때의 통신 시퀀스 및 각 기기의 동작을 도 10을 이용하여 설명한다.In addition, although the communication sequence shown in FIG. 5 is a basic communication sequence in which interruption does not occur in the middle of a file transfer, file transfer may be interrupted by the circumstances of the source apparatus 101 or the sink apparatus 102. FIG. Therefore, below, the communication sequence and operation | movement of each apparatus in the case of interruption | interruption in the middle of a file transfer are demonstrated using FIGS. In addition, a communication sequence and operation of each device when resuming file transfer will be described with reference to FIG.

도 7은, 실시의 형태의 파일 전송 시스템에 있어서, 소스 기기(101)의 사정에 의해 파일 전송이 중단될 때의 통신 시퀀스의 일례를 나타내는 도면이다. 도 7을 이용하여 소스 기기(101)로부터 싱크 기기(102)로의 파일 데이터의 송신 중에 소스 기기(101)의 사정에 의해 파일 전송이 중단될 때의 각 기기의 동작을 설명한다.FIG. 7 is a diagram illustrating an example of a communication sequence when file transfer is interrupted due to the circumstances of the source apparatus 101 in the file transfer system according to the embodiment. The operation of each device when file transfer is interrupted due to the circumstances of the source device 101 during transmission of file data from the source device 101 to the sink device 102 will be described with reference to FIG. 7.

소스 기기(101) 및 싱크 기기(102)는, 도 5의 통신 시퀀스와 마찬가지로, CDS : CreateObject 리퀘스트 및 리스펀스 통신을 행한다. 이 후, 소스 기기(101)는 POST 리퀘스트를 싱크 기기(102)에 송부한다(S503). 싱크 기기(102)는 POST 리퀘스트의 응답으로서 “100 Continue" 스테이터스를 소스 기기(101)에 송신한다(S504). 소스 기기(101)는 파일 데이터의 싱크 기기(102)에의 송신을 개시한다(S505). 싱크 기기(102)는 수신한 파일 데이터를 파일 축적부(804)에 축적한다. 여기까지의 동작은, 도 5에 나타내는 통신 시퀀스와 동일하다.The source device 101 and the sink device 102 perform CDS: CreateObject request and response communication similarly to the communication sequence of FIG. 5. Thereafter, the source device 101 sends a POST request to the sink device 102 (S503). The sink device 102 transmits a “100 Continue” status to the source device 101 as a response to the POST request (S504). The source device 101 starts transmitting the file data to the sink device 102 (S505). The sink device 102 stores the received file data in the file storage unit 804. The operation up to this point is the same as the communication sequence shown in FIG.

여기서 소스 기기(101)에 있어서, 파일 전송을 중단하는 요인이 발생하고, TCP 접속을 절단하기 위한 RST 패킷을 송부한다. 이것에 의해, 파일 전송에 이용하고 있는 TCP 접속은 절단된다(S706).Here, the source device 101 causes a factor to interrupt the file transfer, and sends an RST packet to disconnect the TCP connection. As a result, the TCP connection used for file transfer is disconnected (S706).

파일 전송을 중단하는 요인이란, 예를 들어, 사용자의 조작에 의해 전송 중인 파일이 파일 축적부(705)로부터 삭제된 것 등이다. The factor for interrupting file transfer is, for example, that a file being transferred is deleted from the file accumulator 705 by a user's operation.

소스 기기(101)는 또한, [suspend-req] 및 [lifetime]을 포함한 POST 리퀘스트 패킷을 싱크 기기(102)에 송신한다(S707). [suspend-req]는 도 6에 나타내는 바와 같이, 파일 전송의 중단 요구를 나타내는 정보이다. 즉, 싱크 기기(102)는 [suspend-req]를 수신함으로써 파일 전송이 중단되는 것을 알 수 있다. 또한, [lifetime]은 전술한 바와 같이 싱크 기기(102)가 파일 데이터를 유지해 두어야 할 시간을 나타내는 정보이며, 이 경우는 소스 기기(101)가 그 시간 내에 파일 전송을 재개하는 것도 의미한다. 싱크 기기(102)는 파일 유지 기간이 경과한 후에는, 수신하여 저장이 완료된 해당 파일 데이터를 삭제해도 좋다.The source device 101 also transmits a POST request packet including [suspend-req] and [lifetime] to the sink device 102 (S707). [suspend-req] is information indicating a request to suspend file transfer, as shown in FIG. That is, the sink device 102 may know that the file transfer is stopped by receiving [suspend-req]. In addition, [lifetime] is information indicating the time at which the sink device 102 should hold the file data as described above, and in this case, it means that the source device 101 resumes file transfer within that time. After the file retention period has elapsed, the sink device 102 may delete the file data received and stored.

또한, 전술의 파일 전송의 중단에 따른 처리에 있어서, RST 패킷 및 POST 리 퀘스트 패킷은 파일 송신 제어부(702)에 의해 생성되고 싱크 기기(102)에 송신된다. 이하, 단순히 「POST 리퀘스트」라고 하는 경우, 실체로서는 POST 리퀘스트 패킷을 가리킨다.Further, in the processing according to the interruption of the file transfer described above, the RST packet and the POST request packet are generated by the file transmission control unit 702 and transmitted to the sink device 102. Hereinafter, in the case of simply &quot; POST request &quot;, the entity refers to a POST request packet.

또한, 중단 검출부(707)는 TCP 접속이 절단된 것을 검출하는 것으로, 파일 전송이 중단된 것을 검출한다. In addition, the interruption detecting unit 707 detects that the TCP connection is disconnected and detects that the file transfer is interrupted.

싱크 기기(102)는 상기 POST 리퀘스트를 수취하면 “200 OK"를 답장한다(S708). 소스 기기(101)는 파일 전송을 중단하는 요인이 없어진 후에, 도 11을 이용하여 후술하는 파일 전송의 재개 동작을 실행한다. When receiving the POST request, the sink device 102 responds with “200 OK” (S708). After the source device 101 eliminates the factor of interrupting the file transmission, the file device 101 resumes file transmission described later with reference to FIG. Execute the action.

이렇게 하여 본 실시의 형태의 파일 전송 시스템에 있어서, 파일 데이터의 송신의 개시 후 또한 파일 전송이 완료되기 전에 소스 기기(101)의 사정에 의해 파일 전송이 중단된다.In this way, in the file transfer system of the present embodiment, the file transfer is interrupted due to the circumstances of the source apparatus 101 after the start of file data transmission and before the file transfer is completed.

다음에, 싱크 기기(102)가 POST 리퀘스트를 수신했을 때에, 싱크 기기(102)의 사정에 의해 파일 전송이 중단되는 경우의 각 기기의 동작을 도 8을 이용하여 설명한다.Next, when the sink device 102 receives the POST request, the operation of each device when the file transfer is interrupted due to the situation of the sink device 102 will be described with reference to FIG. 8.

도 8은, 실시의 형태의 파일 전송 시스템에 있어서, 싱크 기기(102)의 사정에 의해 파일 전송이 중단될 때의 통신 시퀀스의 일례를 나타내는 도면이다. 8 is a diagram illustrating an example of a communication sequence when file transfer is interrupted due to the situation of the sink device 102 in the file transfer system according to the embodiment.

소스 기기(101) 및 싱크 기기(102)는 도 5의 통신 시퀀스와 마찬가지로, CDS : CreateObject 리퀘스트 및 리스펀스 통신을 행하다. 이 후, 소스 기기(101)는 POST 리퀘스트를 싱크 기기(102)에 송부한다(S503). 여기까지의 동작은, 도 5에 나타내는 통신 시퀀스와 동일하다.The source device 101 and the sink device 102 perform CDS: CreateObject request and response communication similarly to the communication sequence of FIG. Thereafter, the source device 101 sends a POST request to the sink device 102 (S503). The operation so far is the same as the communication sequence shown in FIG. 5.

여기서, 싱크 기기(102)는 파일의 수신 처리를 행할 수 없는 상태이며, POST 리퀘스트에 대한 응답으로서 “503 Service Unavailable" 스테이터스를 송신한다. 파일의 수신 처리를 행할 수 없는 상태란, 예를 들어 파일 축적부(804)의 빈 용량이 없는 상태 등이다.Here, the sink device 102 is in a state in which the file receiving process cannot be performed, and transmits a “503 Service Unavailable” status as a response to the POST request. A state in which the file receiving process cannot be performed is, for example, a file. The storage unit 804 has no empty capacity or the like.

싱크 기기(102)는 스테이터스 패킷에 파일 전송을 재개하는 시기를 나타내는“retry-after"를 포함하여 응답한다(S804). 소스 기기(101)는 “retry-after"에 나타나는 시간을 경과한 후에, 도 11을 이용하여 후술하는 파일 전송의 재개 동작을 실행한다. The sink device 102 responds with the status packet including "retry-after" indicating when to resume file transfer (S804). After the source device 101 has passed the time shown in "retry-after", The file transfer resume operation described later is executed using FIG.

이렇게 하여 본 실시의 형태의 파일 전송 시스템에 있어서, 소스 기기(101)로부터 싱크 기기(102)에, POST 리퀘스트에 의해 전송되는 파일의 사이즈 등이 통지된 후, 또한 파일 데이터의 송신이 개시되기 전에 싱크 기기(102)의 사정에 의해 파일 전송이 중단된다.In this way, in the file transfer system of the present embodiment, after the size of the file transmitted by the POST request and the like are notified from the source device 101 to the sink device 102, and before the transmission of the file data is started. File transfer is interrupted due to the situation of the sink device 102.

다음에, 소스 기기(101)로부터 싱크 기기(102)로의 파일 데이터의 송신 중에, 싱크 기기(102)측의 요인에 의해 파일 전송을 중단할 때의 각 기기의 동작을 도 9를 이용하여 설명한다.Next, the operation of each device when the file transfer is interrupted due to a factor on the sink device 102 side while transmitting the file data from the source device 101 to the sink device 102 will be described with reference to FIG. 9. .

도 9는, 실시의 형태의 파일 전송 시스템에 있어서, 싱크 기기(102)의 사정에 의해 파일 전송이 중단될 때의 통신 시퀀스의 다른 일례를 나타내는 도면이다.9 is a diagram illustrating another example of a communication sequence when file transfer is interrupted due to the situation of the sink device 102 in the file transfer system according to the embodiment.

소스 기기(101) 및 싱크 기기(102)는, 도 5의 통신 시퀀스와 마찬가지로, CDS : CreateObject 리퀘스트 및 리스펀스 통신을 행한다. 이 후, 소스 기기(101)는 POST 메소드의 HTTP 리퀘스트를 싱크 기기(102)에 송부한다(S503). 싱크 기기 (102)는 HTTP 리퀘스트의 응답으로서 “100 Continue" 스테이터스를 소스 기기(101)에 송신한다(S504). 소스 기기(101)는 파일 데이터의 싱크 기기(102)에의 송신을 개시한다(S505). 싱크 기기(102)는 수신한 파일 데이터를 파일 축적부(804)에 축적한다. 여기까지의 동작은, 도 5에 나타내는 통신 시퀀스와 동일하다.The source device 101 and the sink device 102 perform CDS: CreateObject request and response communication similarly to the communication sequence of FIG. 5. After that, the source device 101 sends an HTTP request of the POST method to the sink device 102 (S503). The sink device 102 transmits a “100 Continue” status to the source device 101 as a response to the HTTP request (S504). The source device 101 starts transmitting the file data to the sink device 102 (S505). The sink device 102 stores the received file data in the file storage unit 804. The operation up to this point is the same as the communication sequence shown in FIG.

여기서 싱크 기기(102)에 있어서, 파일 전송을 중단하는 요인이 발생하고, RST 패킷을 송부한다. 이것에 의해, 파일 전송에 이용하고 있는 TCP 접속은 절단된다(S906). 파일 전송을 중단하는 요인이란, 예를 들어 파일 축적부(804)로부터 다른 파일을 독출할 필요가 생겨 수신하는 파일 데이터를 축적할 수 없는 등이다.Here, the sink device 102 causes a factor of stopping file transfer, and sends an RST packet. As a result, the TCP connection used for file transfer is disconnected (S906). The factor that interrupts file transfer is that, for example, it is necessary to read another file from the file accumulator 804 and thus cannot accumulate the received file data.

TCP 접속이 싱크 기기에 의해 절단되면, 소스 기기(101)의 파일 송신 제어부(702)는 다시 POST 리퀘스트를 싱크 기기(102)에 송신한다(S907).When the TCP connection is disconnected by the sink device, the file transmission control unit 702 of the source device 101 transmits a POST request to the sink device 102 again (S907).

싱크 기기(102)는 POST 리퀘스트에의 응답으로서 “503 Service Unavailable" 스테이터스를 소스 기기(101)에 송신한다(S908). 스테이터스 패킷에는 전술의 [retry-after]가 포함된다. The sink device 102 transmits the "503 Service Unavailable" status to the source device 101 as a response to the POST request (S908). The above-mentioned [retry-after] is included in the status packet.

이 [retry-after]를 수반하는 “503 Service Unavailable"는 싱크 기기(102)로부터의 파일 전송의 중단 요구이다. The "503 Service Unavailable" accompanying this [retry-after] is a request for stopping file transfer from the sink device 102.

소스 기기(101)의 중단 검출부(707)는 이 중단 요구를 검출함으로써 파일 전송의 중단을 검출한다. 소스 기기(101)는 “retry-after"에 나타나는 시간을 경과한 후에, 도 11을 이용하여 후술하는 파일 전송의 재개 동작을 실행한다.The interruption detection unit 707 of the source device 101 detects the interruption of the file transfer by detecting the interruption request. After elapse of the time shown in " retry-after &quot;, the source device 101 executes the file transfer resume operation described later with reference to FIG.

이와 같이 하고, 본 실시의 형태의 파일 전송 시스템에 있어서, 파일 데이터의 송신의 개시 후 또한 송신이 완료하기 전에, 싱크 기기(102)측의 요인에 의해 파일 전송이 중단된다.In this way, in the file transfer system of the present embodiment, the file transfer is stopped by the factor on the sink device 102 side after the start of the transmission of the file data and before the transmission is completed.

다음에, 도 7~도 9를 이용하여 설명한 파일 전송의 중단 후에, 파일 전송을 재개할 때의 각 기기의 동작을 도 10을 이용하여 설명한다.Next, the operation of each device at the time of resuming the file transfer after the file transfer described with reference to FIGS. 7 to 9 will be described with reference to FIG. 10.

도 10은 실시의 형태의 파일 전송 시스템에 있어서, 파일 전송을 재개할 때의 통신 시퀀스를 나타내는 도면이다.10 is a diagram showing a communication sequence when resuming file transfer in the file transfer system according to the embodiment.

소스 기기(101)의 중단 검출부(707)는 파일 전송이 중단된 것을 검출한다(S1000). 또한, 중단 검출부(707)는 파일 전송의 중단이 소스 기기(101)의 사정에 의한 것인지, 싱크 기기(102)의 사정에 의한 것인지를 불문하고, 송수신하는 패킷의 종류 및 내용 등으로부터 파일 전송이 중단된 것을 검출할 수 있다.The stop detection unit 707 of the source device 101 detects that the file transfer is stopped (S1000). Further, the interruption detection unit 707 determines whether the file transmission is based on the type and contents of the packet to be transmitted and received, regardless of whether the interruption of the file transmission is due to the situation of the source device 101 or the situation of the sink device 102. The interruption can be detected.

소스 기기(101)는 자신의 사정에 의해 파일 전송을 중단한 경우에는, 그 중단의 요인이 없어진 후에, 또한 싱크 기기(102)의 사정에 의해 파일 전송이 중단된 경우에는, 중단 시에 싱크 기기(102)로부터 송신된 [retry-after]에 나타나는 시간이 경과한 후에 이하의 동작을 행한다.When the source device 101 stops the file transfer due to its own circumstances, the source device 101 stops the transfer of the file, and when the file transfer is stopped due to the situation of the sink device 102, the source device 101 stops the file transfer. The following operation is performed after the time shown in [retry-after] transmitted from 102 has elapsed.

소스 기기(101)는 CDS : Browse 리퀘스트를 싱크 기기(102)에 송신하고(S1001), 싱크 기기(102)에 대해서 파일의 저장 사이즈를 문의한다.The source device 101 sends a CDS: Browse request to the sink device 102 (S1001), and asks the sink device 102 of the file storage size.

구체적으로는, 소스 기기(101)의 파일 송신 제어부(702)에 의해 생성되는 CDS : Browse 리퀘스트에, 문의부(708)에 의해서 저장 완료 데이터 사이즈의 통지 요구가 포함된다. 그 CDS : Browse 리퀘스트는 네트워크 인터페이스(706)를 통하여 싱크 기기(102)에 송신된다.Specifically, the CDS: Browse request generated by the file transmission control unit 702 of the source device 101 includes a notification request of the stored data size by the inquiry unit 708. The CDS: Browse request is sent to the sink device 102 via the network interface 706.

싱크 기기(102)는 상기 CDS : Browse 리퀘스트를 수취하면 저장 완료 데이터 사이즈를 포함한 CDS : Browse 리스펀스를 소스 기기(101)에 송신한다(S1002).When the sink device 102 receives the CDS: Browse request, the sink device 102 transmits a CDS: Browse response including the stored data size to the source device 101 (S1002).

구체적으로는, 저장 완료 사이즈 취득부(806)가 파일 축적부(804)에 저장되어 있는, 해당 파일을 구성하는 파일 데이터의 데이터 사이즈를 취득한다. 또한, 파일 수신 제어부(801)가 저장 완료 사이즈 취득부(806)에 의해 취득된 데이터 사이즈를 포함한 CDS : Browse 리스펀스를 생성한다. 생성된 CDS : Browse 리스펀스는 네트워크 인퍼테이스(805)를 통하여 소스 기기(101)에 송신된다.Specifically, the stored-complete size acquisition unit 806 acquires the data size of the file data constituting the file stored in the file storage unit 804. In addition, the file reception control unit 801 generates a CDS: Browse response including the data size acquired by the storage completion size acquisition unit 806. The generated CDS: Browse response is transmitted to the source device 101 via the network interface 805.

소스 기기(101)의 파일 송신 제어부(702)는 수신한 저장 완료 데이터 사이즈에 따라 전송해야 할 파일의 선두 위치를 결정하고, 파일 축적부(705)로부터 파일 데이터를 독출한다.The file transmission control unit 702 of the source device 101 determines the head position of the file to be transmitted in accordance with the received stored data size, and reads out the file data from the file accumulator 705.

예를 들어, 파일 사이즈가 1000바이트이고, 싱크 기기(102)로부터 통지된 저장 완료 데이터 사이즈가 400바이트인 경우를 상정한다. 이 경우, 싱크 기기(102)에 저장되어 있는 파일 데이터는 0바이트째부터 399바이트째까지의 파일 데이터이다. 따라서, 파일 송신 제어부(702)는 나머지의 400바이트째부터 999바이트째까지의 파일 데이터를 파일 제어부(703)를 통하여 파일 축적부(705)로부터 독출한다. 이하, 「나머지의 파일 데이터」라고 하는 경우, 전술한 바와 같이 전송 대상의 파일 데이터로부터 싱크 기기(102)에 저장이 완료된 파일 데이터를 제외한, 나머지의 파일 데이터를 가리킨다.For example, suppose that the file size is 1000 bytes and the storage completed data size notified from the sink device 102 is 400 bytes. In this case, the file data stored in the sink device 102 is the file data from the 0th byte to the 399th byte. Therefore, the file transmission control unit 702 reads out the remaining file data of the 400th to 999th byte from the file storage unit 705 via the file control unit 703. Hereinafter, in the case of the "rest of file data", the remaining file data except for the file data that has been stored in the sink device 102 from the file data to be transferred is indicated as described above.

소스 기기(101)는 데이터 범위와 파일 사이즈를 가리키는 [byte-range] 등을 포함한 POST 리퀘스트를 싱크 기기(102)에 송신한다(S1003). 싱크 기기(102)는 POST 리퀘스트에의 응답으로서 “100 Continue" 스테이터스를 소스 기기(101)에 송 신한다(S1004).The source device 101 transmits a POST request to the sink device 102 including [byte-range] indicating a data range and a file size (S1003). The sink device 102 transmits the "100 Continue" status to the source device 101 in response to the POST request (S1004).

소스 기기(101)의 파일 송신 제어부(702)는 파일 축적부(705)로부터 독출한 나머지의 파일 데이터를 통신 제어부(704)에 송신시킨다(S1005). 싱크 기기(102)의 파일 제어부(802)는 [byte-range]에 나타나는 데이터 범위에 의거하여, 수신한 파일 데이터와 중단 전에 저장이 완료된 파일 데이터를 결합하여 원래의 파일에 재구축한다.The file transmission control unit 702 of the source device 101 transmits the remaining file data read out from the file accumulation unit 705 to the communication control unit 704 (S1005). Based on the data range shown in [byte-range], the file controller 802 of the sink device 102 combines the received file data with the file data that has been stored before stopping and reconstructs the original file.

이와 같이, 본 발명의 실시의 형태의 소스 기기(101)는 중단된 파일 전송을 재개할 때에, 싱크 기기(102)에 저장 완료 데이터 사이즈를 문의할 수 있다. 또, 본 발명의 실시의 형태의 싱크 기기(102)는 그 문의에 따라 저장 완료 데이터 사이즈를 소스 기기(101)에 통지할 수 있다.In this manner, the source device 101 according to the embodiment of the present invention can query the sink device 102 for the stored data size when resuming the interrupted file transfer. In addition, the sink device 102 according to the embodiment of the present invention can notify the source device 101 of the stored data size according to the inquiry.

이것에 의해, 소스 기기(101)는 파일 전송을 최초부터 다시 할 필요가 없고, 나머지의 파일 데이터만을 송신하는 것 만으로 좋다. 또한 싱크 기기(102)는 파일 데이터를 중복하여 수신하지 않는다.Thereby, the source apparatus 101 does not need to perform file transfer again from the beginning, but only transmits the remaining file data. In addition, the sink device 102 does not receive duplicate file data.

즉, 본 발명의 실시의 형태의 소스 기기(101), 싱크 기기(102) 및 파일 전송 시스템에 의해, 소스 기기(101)로부터의 자발적인 파일 전송에 있어서, 규정된 TCP 접속의 타임 아웃 시간보다 긴 중단이 생긴 경우라도, 파일 전송에 따른 처리를 효율적으로 실행할 수 있다.That is, by the source device 101, the sink device 102, and the file transfer system of the embodiment of the present invention, in spontaneous file transfer from the source device 101, it is longer than the timeout time of the prescribed TCP connection. Even if an interruption occurs, the processing associated with file transfer can be efficiently executed.

또한, 전송을 재개 가능한 시간을 기기 사이에서 통지할 수 있기 때문에 불필요한 전송 재개 시행 동작을 억제할 수 있고 기기의 통신 부하를 저감시킬 수 있다는 효과를 가진다.Moreover, since the time which can resume transmission can be notified between devices, unnecessary transfer resumption trial operation can be suppressed and the communication load of a device can be reduced.

또한, 파일 전송 도중에서 네트워크의 통신 경로가 단절된 경우, 소스 기기(101)의 중단 검출부(707)가 통신 경로의 단절을 검출하면, 도 10의 통신 시퀀스에 나타내는 파일 전송의 재개 동작이 개시된다.When the communication path of the network is cut off during the file transfer, when the interruption detection unit 707 of the source device 101 detects the disconnection of the communication path, the file transfer resume operation shown in the communication sequence of FIG. 10 is started.

또한, 도 7~도 9를 이용하여 파일 전송이 중단되는 경우의 통신 시퀀스 및 각 기기의 동작을 설명했지만, 소스 기기(101) 또는 싱크 기기(102)의 사정에 의해 파일 전송을 중단은 아니라 중지할 필요가 생기는 경우도 있다. 본 발명의 실시의 형태의 소스 기기(101) 및 싱크 기기(102)의 각각은, 파일 전송을 중지하는 경우, 서로의 기기에 통지할 수 있다. 이하에, 파일 전송의 중지에 따른 통신 시퀀스 및 각 기기의 동작을 도 11~도 14를 이용하여 설명한다.In addition, although the communication sequence and operation of each device when the file transfer is interrupted using Figs. 7 to 9 have been described, the file transfer is not interrupted but stopped due to the circumstances of the source device 101 or the sink device 102. You may need to do this. Each of the source device 101 and the sink device 102 of the embodiment of the present invention can notify each other of the devices when the file transfer is stopped. Hereinafter, the communication sequence according to the suspension of file transfer and the operation of each device will be described with reference to FIGS. 11 to 14.

도 11은 실시의 형태의 파일 전송 시스템에 있어서, 파일 데이터의 송신이 개시되기 전에 소스 기기(101)의 사정에 의해 파일 전송이 중지될 때의 통신 시퀀스의 일례를 나타내는 도면이다. 도 11을 이용하여 파일 전송이 개시되기 전에, 소스 기기(101)의 사정에 의해 파일 전송의 실행이 중지될 때의 각 기기의 동작을 설명한다.11 is a diagram showing an example of a communication sequence when file transfer is stopped due to the source device 101 before the file data transmission starts in the file transfer system according to the embodiment. An operation of each device when the execution of the file transfer is stopped due to the circumstances of the source device 101 before the file transfer is started using FIG. 11 will be described.

소스 기기(101) 및 싱크 기기(102)는, 도 5의 통신 시퀀스와 마찬가지로 CDS : CreateObject 리퀘스트 및 리스펀스 통신을 행한다(S501, S502). 이 후, 소스 기기(101)가 POST 리퀘스트를 송신하기 전에 소스 기기(101)에 있어서, 사용자에 의해 파일 전송의 캔슬 지시가 이루어지거나, 또는, 전송 대상의 파일이 삭제되는 등의 사상이 발생했다고 상정한다.The source device 101 and the sink device 102 perform CDS: CreateObject request and response communication similarly to the communication sequence of FIG. 5 (S501 and S502). Subsequently, before the source device 101 transmits the POST request, the source device 101 indicates that a cancellation instruction for file transfer is issued by the user, or a file such as a transfer target is deleted. Imagine.

이 경우, 소스 기기(101)는 파일 전송을 중지하기 위해서 POST 리퀘스트로 바꾸어 CDS : DestroyObject 리퀘스트를 싱크 기기(102)에 송신한다(S1103). 싱크 기기(102)는 CDS : DestroyObject를 수신하면 CDS : CreateObject 리퀘스트(S501)에 따라 작성한 object를 삭제한다. 또한, object를 삭제한 취지를 통지하기 위해서, 소스 기기(101)에 CDS : DestroyObject 리스펀스를 응답한다(S1104).In this case, the source device 101 transmits the CDS: DestroyObject request to the sink device 102 in place of the POST request in order to stop the file transfer (S1103). Upon receiving the CDS: DestroyObject, the sink device 102 deletes the object created according to the CDS: CreateObject request (S501). In addition, in order to notify that the object has been deleted, the source device 101 responds with a CDS: DestroyObject response (S1104).

이와 같이, 파일 전송이 개시되기 전에 소스 기기(101)의 사정에 의해 파일 전송이 중지된 경우, 싱크 기기(102)에서는 파일을 저장하기 위해서 작성된 object가 삭제된다. 즉, 싱크 기기(102)에 있어서 쓸데없는 object는 신속하게 삭제된다.In this manner, when the file transfer is stopped due to the circumstances of the source device 101 before the file transfer starts, the sink device 102 deletes the object created to store the file. In other words, an obsolete object in the sink device 102 is quickly deleted.

다음에, 소스 기기(101)로부터 싱크 기기(102)로의 파일 데이터의 송신 중에 소스 기기(101)의 사정에 의해 파일 전송이 중지될 때의 각 기기의 동작을 도 12를 이용하여 설명한다.Next, the operation of each device when the file transfer is stopped due to the circumstances of the source device 101 during the transmission of the file data from the source device 101 to the sink device 102 will be described with reference to FIG. 12.

도 12는 실시의 형태의 파일 전송 시스템에 있어서, 파일 데이터의 송신 중에 소스 기기(101)의 사정에 의해 파일 전송이 중지될 때의 통신 시퀀스의 일례를 나타내는 도면이다.12 is a diagram showing an example of a communication sequence when file transfer is stopped due to circumstances of the source device 101 during the file data transmission in the file transfer system according to the embodiment.

소스 기기(101) 및 싱크 기기(102)는, 도 5의 통신 시퀀스와 마찬가지로 CDS : CreateObject 리퀘스트 및 리스펀스 통신을 행하다. 이 후, 소스 기기(101)는 POST 리퀘스트를 싱크 기기(102)에 송부한다(S503). 싱크 기기(102)는 POST 리퀘스트의 응답으로서 “100 Continue" 스테이터스를 소스 기기(101)에 송신한다(S504). 소스 기기(101)는 파일 데이터의 싱크 기기(102)로의 송신을 개시한다(S505). 싱크 기기(102)는 수신한 파일 데이터를 파일 축적부(804)에 축적한다. 여기까지의 동작은, 도 5에 나타내는 통신 시퀀스와 동일하다.The source device 101 and the sink device 102 perform CDS: CreateObject request and response communication similarly to the communication sequence of FIG. Thereafter, the source device 101 sends a POST request to the sink device 102 (S503). The sink device 102 transmits a “100 Continue” status to the source device 101 as a response to the POST request (S504). The source device 101 starts transmitting the file data to the sink device 102 (S505). The sink device 102 stores the received file data in the file storage unit 804. The operation up to this point is the same as the communication sequence shown in FIG.

여기서, 소스 기기(101)가 POST 리퀘스트를 송신하기 전에, 소스 기기(101)에 있어서 사용자에 의해 파일 전송의 캔슬 지시가 이루어지거나, 또는, 전송 대상의 파일이 삭제되는 등의 사상이 발생했다고 상정한다. In this case, before the source device 101 transmits the POST request, it is assumed that the source device 101 has a command such as a cancellation of file transfer or a deletion of a file to be transmitted by the user. do.

소스 기기(101)는 파일 전송을 중지하기 위해서, TCP의 RST 패킷을 송신한다(S1206). 이것에 의해, 파일 전송에 이용하고 있는 TCP 접속이 절단된다. 소스 기기(101)는 또한, CDS : DestroyObject 리퀘스트를 싱크 기기(102)에 송신한다(S1207). 싱크 기기(102)는 CDS : DestroyObject 리퀘스트에 따라 수신 완료 파일 데이터를 삭제하고, CDS : DestroyObject 리스펀스를 소스 기기(101)에 송신한다(S1208).In order to stop the file transfer, the source device 101 transmits an RST packet of TCP (S1206). This disconnects the TCP connection used for file transfer. The source device 101 also transmits a CDS: DestroyObject request to the sink device 102 (S1207). The sink device 102 deletes the received file data according to the CDS: DestroyObject request and transmits a CDS: DestroyObject response to the source device 101 (S1208).

이와 같이, 파일 데이터의 송신이 개시된 후에, 소스 기기(101)의 사정에 의해, 파일 전송이 중지된 경우, 싱크 기기(102)에서는 수신하여 저장 완료된 파일 데이터는 삭제된다. 즉, 싱크 기기(102)에 있어서 쓸데없는, 완결되어 있지 않은 파일 데이터는 신속하게 삭제된다.In this way, after the transmission of the file data starts, when the file transfer is stopped due to the circumstances of the source device 101, the file data received and stored in the sink device 102 is deleted. In other words, useless and incomplete file data in the sink device 102 is quickly deleted.

다음에, 싱크 기기(102)가 POST 리퀘스트를 수신했을 때에, 싱크 기기(102)의 사정에 의해 파일 전송이 중지될 때의 각 기기의 동작을 도 13을 이용하여 설명한다.Next, when the sink device 102 receives the POST request, the operation of each device when the file transfer is stopped due to the situation of the sink device 102 will be described with reference to FIG. 13.

도 13은 실시의 형태의 파일 전송 시스템에 있어서, 파일 데이터의 송신이 개시되기 전에 싱크 기기(102)의 사정에 의해 파일 전송이 중지될 때의 통신 시퀀스의 일례를 나타내는 도면이다. 13 is a diagram showing an example of a communication sequence when file transfer is stopped due to the situation of the sink device 102 before the file data transmission is started in the file transfer system according to the embodiment.

소스 기기(101) 및 싱크 기기(102)는 도 5의 통신 시퀀스와 마찬가지로, CDS : CreateObject 리퀘스트 및 리스펀스 통신을 행한다. 이 후, 소스 기기(101)는 POST 리퀘스트를 싱크 기기(102)에 송신한다(S503). 여기까지의 동작은, 도 5와 동일하다.The source device 101 and the sink device 102 perform CDS: CreateObject request and response communication similarly to the communication sequence of FIG. Thereafter, the source device 101 transmits a POST request to the sink device 102 (S503). The operation so far is the same as in FIG. 5.

여기서, 싱크 기기(102)에 있어서, 소스 기기(101)로부터의 CDS : CreateObject 리퀘스트에 따라 작성된 object가 소실되었다는 등의 이유에 의해 파일 전송을 중지할 필요가 생긴 경우를 상정한다.It is assumed here that the sink device 102 needs to suspend file transfer for the reason that the object created according to the CDS: CreateObject request from the source device 101 is lost.

이 경우, 싱크 기기(102)는 POST 리퀘스트로의 응답으로서 “404 Not Found" 스테이터스를 소스 기기(101)에 송신한다(S1304). 소스 기기(101)는 “404 Not Found" 에 따라 파일 전송에 따른 처리를 중지한다.In this case, the sink device 102 transmits a "404 Not Found" status to the source device 101 as a response to the POST request (S1304). The source device 101 transmits a file according to "404 Not Found". Stop processing accordingly.

이와 같이, 소스 기기(101)로부터 싱크 기기(102)에 POST 리퀘스트에 의해 파일 사이즈 등이 통지된 후, 또한 파일 데이터의 송신이 개시되기 전에 싱크 기기(102)의 사정에 의해 파일 전송이 중지된 경우, 소스 기기(101)는 싱크 기기(102)로부터의 통지에 의해 파일 전송에 따른 처리를 중지한다. 즉, 소스 기기(101)는 불필요한 처리를 계속하지 않는다.In this manner, after the file size or the like is notified from the source device 101 to the sink device 102 by the POST request, and before transmission of the file data is started, the file transfer is stopped due to the circumstances of the sink device 102. In this case, the source device 101 stops the process according to the file transfer by the notification from the sink device 102. In other words, the source device 101 does not continue unnecessary processing.

다음에, 싱크 기기(102)의 사정에 의해 소스 기기(101)로부터 싱크 기기(102)로의 파일 데이터의 송신 중에 파일 전송이 중지될 때의 각 기기의 동작을 도 14를 이용하여 설명한다.Next, the operation of each device when file transfer is stopped during transmission of file data from the source device 101 to the sink device 102 due to the situation of the sink device 102 will be described with reference to FIG.

도 14는, 실시의 형태의 파일 전송 시스템에 있어서, 파일 데이터의 송신 중에 싱크 기기의 사정에 의해 파일 전송이 중지될 때의 통신 시퀀스의 일례를 나타 내는 도면이다.14 is a diagram showing an example of a communication sequence when file transfer is stopped due to the situation of the sink device in the file transfer system according to the embodiment.

소스 기기(101) 및 싱크 기기(102)는, 도 5와 동일하게 CDS : CreateObject 리퀘스트 및 리스펀스 통신을 행한다. 이 후, 소스 기기(101)는 POST 리퀘스트를 싱크 기기(102)에 송부한다(S503). 싱크 기기(102)는 POST 리퀘스트로의 응답으로서 “100 Continue" 스테이터스를 소스 기기(101)에 송신한다(S504). 소스 기기(101)는 파일 데이터의 싱크 기기(102)로의 송신을 개시한다(S505). 싱크 기기(102)는 수신한 파일 데이터를 파일 축적부(804)에 축적한다. 여기까지의 동작은, 도 5에 나타내는 통신 시퀀스와 동일하다.The source device 101 and the sink device 102 perform CDS: CreateObject request and response communication similarly to FIG. 5. Thereafter, the source device 101 sends a POST request to the sink device 102 (S503). The sink device 102 transmits a “100 Continue” status to the source device 101 as a response to the POST request (S504). The source device 101 starts transmitting the file data to the sink device 102 ( S505) The sink device 102 stores the received file data in the file storage unit 804. The operation up to this point is the same as the communication sequence shown in FIG.

여기서, 싱크 기기(102)에 있어서 파일 전송을 중지하는 요인이 발생하고 TCP의 RST 패킷을 송신한다(S1406). 이것에 의해, 파일 전송에 이용하고 있는 TCP 접속이 절단된다. 소스 기기(101)는 TCP 접속의 절단을 검출하면, 다시 POST 리퀘스트를 싱크 기기(102)에 송신한다(S1407). 싱크 기기는 POST 리퀘스트로의 응답으로서 “404 Not Found" 스테이터스를 소스 기기(101)로 송신한다(S1408). 소스 기기(101)는 “404 Not Found"에 따라 파일 전송에 따른 처리를 중지한다.Here, the factor of stopping file transfer occurs in the sink device 102 and transmits an RST packet of TCP (S1406). This disconnects the TCP connection used for file transfer. When the source device 101 detects the disconnection of the TCP connection, the source device 101 transmits a POST request to the sink device 102 again (S1407). The sink device transmits a "404 Not Found" status to the source device 101 as a response to the POST request (S1408). The source device 101 stops processing according to file transfer in accordance with "404 Not Found".

이와 같이, 소스 기기(101)로부터 싱크 기기(102)로의 파일 데이터의 송신이 개시된 후에, 싱크 기기(102)의 사정에 의해 파일 전송이 중지된 경우, 소스 기기(101)는 싱크 기기(102)로부터의 통지에 의해 파일 전송에 따른 처리를 중지한다. 즉, 소스 기기(101)는 불필요한 처리를 계속하지 않는다. In this manner, after the transmission of the file data from the source device 101 to the sink device 102 is started, when the file transfer is stopped due to the situation of the sink device 102, the source device 101 is connected to the sink device 102. The notification from the file system stops processing associated with file transfer. In other words, the source device 101 does not continue unnecessary processing.

이와 같이, 본 발명의 실시의 형태의 소스 기기(101) 및 싱크 기기(102)는 파일 전송을 중지하는 경우, 그 중지가 어느 기기의 사정에 의하는 것이라도 쓸데 없는 리소스의 소비 및 쓸데없는 처리가 발생하지 않도록 파일 전송의 중지를 위한 처리가 행해진다. As described above, when the source device 101 and the sink device 102 of the embodiment of the present invention stop the file transfer, the wasteful resource consumption and the wasteful processing, even if the suspension depends on the circumstances of any device. Processing for stopping the file transfer is performed so that does not occur.

또한, 전술의 실시의 형태에 있어서 푸시형의 플로우 제어를 행하는 파일 전송 프로토콜로서 HTTP의 POST 메소드에 의해 파일 전송을 행하는 경우를 설명하였다. 그러나, POST 메소드 이외라도 좋고, 예를 들어 PUT 메소드라도 상기 효과가 없어지는 것은 아니다.In addition, in the above-described embodiment, a case has been described in which a file transfer is performed by an HTTP POST method as a file transfer protocol for push type flow control. However, other than the POST method may be used, for example, the PUT method does not lose the above effect.

또한, 소스 기기(101)는 파일 전송이 중단된 경우에 싱크 기기(102)가 참조하는 파라미터로서 도 6에 나타내는 파라미터를 HTTP 리퀘스트 패킷에 부가하여 송부한다고 하였다.In addition, when the file transfer is interrupted, the source device 101 adds and sends the parameter shown in FIG. 6 to the HTTP request packet as a parameter referred to by the sink device 102.

이 파라미터를 부여하는 구체적인 방법으로서 독자적으로 정의한 헤더를 POST 리퀘스트의 메시지 헤더로서 포함시키는 방법이 있다. As a specific method of providing this parameter, there is a method of including a uniquely defined header as a message header of a POST request.

예를 들어, POST 리퀘스트에 독자적으로 정의한 헤더인 UploadTransportInfo.dlna.org:[byte-range]를 부여하고, HTTP의 Entity Body부에 포함되는 데이터의 범위 및 총 사이즈를 저장한다. 또한, [lifetime] 등의 필요한 정보를 포함시킨다. 싱크 기기(102)는 소스 기기(101)로부터 송신된 POST 리퀘스트의 메시지 헤더로부터 이러한 정보를 취득할 수 있다.For example, a uniquely defined header, UploadTransportInfo.dlna.org:[byte-range], is given to a POST request, and the range and total size of data included in the entity body of HTTP are stored. In addition, necessary information such as [lifetime] is included. The sink device 102 can obtain this information from the message header of the POST request sent from the source device 101.

또한, 전술의 실시의 형태에 있어서는 POST 리퀘스트에 [byte-range], [restart-time], 및 [lifetime]의 3개의 파라미터를 부가하여 송부하는 구성을 설명하였다. 그러나 [restart-time]만을 부가해도 좋다. In addition, in the above embodiment, a configuration in which three parameters, [byte-range], [restart-time], and [lifetime], are added to the POST request and described is described. However, only [restart-time] may be added.

또한, UploadTransportInfo. dlna. org 이외의 HTTP에서 당연히 사용되는 그 밖의 헤더에 대해서는 본 발명의 특징에 관계하지 않기 때문에 도시 및 설명을 생략한다.Also, UploadTransportInfo. dlna. Other headers that are naturally used in HTTP other than org are not related to the features of the present invention and are not shown or described.

또한, 전술의 실시의 형태에 있어서, 소스 기기(101)는 파일을 싱크 기기(102)에 전송하는 경우, 일괄하여 전송한다고 하였다. 그러나, 소스 기기(101)는 파일을 분할하고, 분할 단위마다 싱크 기기(102)에 송부할 수도 있다. 싱크 기기(102)가 1회의 POST 리퀘스트로 수신 가능한 데이터 사이즈에 제한이 있는 경우 등, 소스 기기(101)가 분할 단위마다 파일 데이터를 송신하는 방법은 유효하다.In addition, in the above-mentioned embodiment, when the source device 101 transmits a file to the sink device 102, it is said that it transfers collectively. However, the source device 101 may divide the file and send it to the sink device 102 for each division unit. The method in which the source device 101 transmits file data for each division unit is effective, such as when the sink device 102 has a limit on the data size that can be received in one POST request.

도 15는 소스 기기(101)가 싱크 기기(102)에 파일을 분할하여 전송하는 파일 전송 시스템의 통신 시퀀스를 나타내는 도면이다. 도 15를 이용하여, 소스 기기(101)가 파일을 분할하여 전송할 때의 각 기기의 동작을 설명한다. 또한, 소스 기기(101)는 송신하는 파일 데이터의 범위 등을 싱크 기기(102)에 통지하기 위해서, 전술의, 독자적으로 정의한 헤더 UploadTransportInfo. dlna. org를 사용한다고 상정한다.FIG. 15 is a diagram illustrating a communication sequence of a file transfer system in which a source device 101 divides and transmits a file to the sink device 102. An operation of each device when the source device 101 divides and transmits a file will be described with reference to FIG. 15. In addition, in order to notify the sink device 102 of the range of file data to be transmitted, etc., the source device 101 independently defines the header UploadTransportInfo. dlna. Assume that you use org.

소스 기기(101)는 파일의 전송에 앞서, 싱크 기기(102)에 대해 CDS : CreateObject 리퀘스트를 송신한다(S1503). 싱크 기기(102)는 CDS : CreateObject 리퀘스트에 따라 object를 작성하고, CDS : CreateObject 리스펀스를 소스 기기(101)에 송신한다(S1504). The source device 101 transmits a CDS: CreateObject request to the sink device 102 before transmitting the file (S1503). The sink device 102 creates an object according to the CDS: CreateObject request and transmits a CDS: CreateObject response to the source device 101 (S1504).

소스 기기(101)는 파일을 분할 전송하는 사이즈를 결정한다. 분할 전송의 사이즈는 전송의 중단, 재개의 빈도, 중단 시에 쓸모없게 되는 전송 사이즈, 분할에 의한 오버헤드 등을 감안하여 임의로 결정할 수 있다. 여기에서는 1000바이트 의 파일을, 최초의 0바이트째부터 499바이트째까지의 파일 데이터와, 다음의 500바이트째부터 999바이트째의 파일 데이터로 분할한다(S1505). 이 파일의 분할은 소스 기기의 파일 송신 제어부(702)가 행한다.The source device 101 determines the size of the divided transmission of the file. The size of the divided transmission can be arbitrarily determined in consideration of the interruption of the transmission, the frequency of resumption, the transmission size that becomes useless at the time of interruption, the overhead due to the division, and the like. Here, the file of 1000 bytes is divided into file data of the first 0 byte to 499 byte and file data of the next 500 byte to 999 byte (S1505). This file division is performed by the file transmission control unit 702 of the source device.

소스 기기(101)는 파일 전송을 개시한다. 구체적으로는, 소스 기기(101)는 POST 리퀘스트를 송신한다(S1506). POST 리퀘스트에는 독자적으로 정의한 헤더인, UploadTransportInfo. dlna. org: [byte-range], [lifetime]가 포함된다. 여기서의 [byte-range]는 헤더 이하에 계속되는 HTTP의 Entity Body부에 포함되는 데이터의 범위와 파일의 총 사이즈를 나타내는 정보로서, 데이터의 범위 “0-499"와 파일의 총 사이즈인 “1000"가 지정된다. [lifetime]에서는 컨텐츠의 유지 기간을 지정하고 있고, 여기에서는 초 단위로 “1800" 즉, 30분을 지정하고 있다.The source device 101 starts file transfer. Specifically, the source device 101 transmits a POST request (S1506). The POST request has its own custom header, UploadTransportInfo. dlna. org: contains [byte-range], [lifetime]. [Byte-range] is information indicating the range of data and the total size of the file included in the HTTP Entity Body part following the header. The data range "0-499" and the total size of the file "1000" Is specified. In [lifetime], the retention period of the content is specified. Here, "1800" or 30 minutes is specified in seconds.

싱크 기기(102)는 상기 POST 리퀘스트로의 응답으로서 “100 Continue"를 소스 기기(101)에 송신한다(S1507).The sink device 102 transmits "100 Continue" to the source device 101 in response to the POST request (S1507).

소스 기기(101)는 싱크 기기(102)에 통지한 데이터 범위의 파일 데이터를 송신한다(S1508). 구체적으로는 POST 리퀘스트의 Entity Body에 해당 파일 데이터를 저장하여 송신한다. Entity Body에 포함되는 파일의 범위는 전술한 바와 같이 “0-499"의 500바이트분 뿐이다.The source device 101 transmits the file data of the data range notified to the sink device 102 (S1508). Specifically, the file data is stored and transmitted in the entity body of the POST request. As described above, the file included in the entity body is only 500 bytes of "0-499".

싱크 기기(102)는 이 500바이트 분의 파일 데이터를 수신하면 파일 축적부(804)로의 저장을 개시한다. 저장의 개시 후, 파일 축적부(804)로의 기록 속도가 지연되는 등, 대체로 20초 이내에 저장을 완료할 수 없는 경우, “102 Processing"를 송신한다(S1509). 그 후, 수신한 파일 데이터의 저장이 완료되면(S1510), “ 201 Created"를 소스 기기(101)에 송신하고(S1511), 전송 데이터가 저장된 것을 통지한다.When the sink device 102 receives the file data of 500 bytes, the sink device 102 starts storing the file in the file storage unit 804. After the start of storage, when the recording cannot be completed within 20 seconds, for example, the recording speed to the file storing unit 804 is delayed, " 102 Processing " is transmitted (S1509). When the saving is completed (S1510), "201 Created" is transmitted to the source device 101 (S1511), and the transmission data is notified.

다음에, 소스 기기(101)와 싱크 기기(102)는 전술의 소스 기기(101)로부터 싱크 기기(102)로의 POST 리퀘스트의 송신(S1506)으로부터, 싱크 기기(102)로부터 소스 기기(101)로의 저장 완료의 통지(S1511)와 동일한 동작 순서에 의해 다음의 분할 단위인 500바이트째부터 999바이트째까지의 파일 데이터의 전송을 행한다(S1512~S1517).Next, the source device 101 and the sink device 102 transmit the POST request from the source device 101 to the sink device 102 (S1506) from the sink device 102 to the source device 101. By the same operation procedure as the notification of completion of storage (S1511), file data from the 500th byte to the 999th byte, which are the next division units, are transferred (S1512 to S1517).

즉, 소스 기기(101)는 UploadTransportInfo. dlna. org 헤더의 [byte-range]에 “500-999/1000"을 저장하여 싱크 기기(102)에 통지한다. 싱크 기기(102)는 이것을 해석하고, 그 후에 수신하는 파일 데이터(S1515)를, 이미 저장되어 있는 0바이트째부터 499Byte째의 파일 데이터에 어펜드하여 파일 축적부(804)에 저장한다.That is, the source device 101 uploads UploadTransportInfo. dlna. "500-999 / 1000" is stored in the [byte-range] of the org header and notified to the sink device 102. The sink device 102 interprets this, and thereafter already receives the received file data (S1515). The file data is stored in the file accumulator 804 by appending to the stored file data of the 0 th byte to the 499 byte.

이와 같이 하여, POST 메소드를 이용하여 파일을 송신하는 푸시형의 플로우 제어에서도 파일을 분할하여 송신을 행하는 것이 가능해진다.In this manner, even in push type flow control in which a file is transmitted using the POST method, the file can be divided and transmitted.

또한, 이와 같이 파일이 분할되어 전송되는 경우에 있어서도, 파일 전송이 중단된 경우, 소스 기기(101)는, 도 10의 통신 시퀀스에 나타내는 바와 같이, 싱크 기기(102)에 저장 완료 데이터 사이즈를 문의함으로써 송신해야 할 나머지의 파일 데이터만을 송신한다. 예를 들어, 도 15의 통신 시퀀스에 있어서, 최초의 500바이트의 송신 중에 파일 전송이 중단되고, 그때까지 싱크 기기(102)에 200바이트가 저장되어 있던 경우를 상정한다. 이 경우, 소스 기기(101)는 싱크 기기(102)에 문의함으로서 저장 완료 데이터 사이즈가 “200"인 것을 취득한다. 그 후, 소스 기기 (101)는 나머지의 300바이트를 싱크 기기(102)에 송신한다.Also, even in the case where the file is divided and transmitted in this manner, when the file transfer is interrupted, the source device 101 inquires the sink device 102 of the stored data size as shown in the communication sequence of FIG. 10. In this way, only the remaining file data to be transmitted is transmitted. For example, in the communication sequence of FIG. 15, it is assumed that the file transfer is interrupted during the first 500 bytes of transmission, and 200 bytes are stored in the sink device 102 until then. In this case, the source device 101 inquires of the sink device 102 to acquire that the stored data size is "200". Then, the source device 101 sends the remaining 300 bytes to the sink device 102. Send.

또, 전송로 상의 에러 등에 의해, 저장 완료 데이터 사이즈를 취득할 수 없는 경우, 송신 도중이던 파일 데이터를 재송신한다. 예를 들어, 도 15의 통신 시퀀스에 있어서, 후의 500바이트의 송신 중에 파일 전송이 중단되고, 소스 기기(101)가 싱크 기기(102)로부터 저장 완료 데이터 사이즈를 취득할 수 없는 경우, 후의 500바이트를 최초부터 송신한다.If the stored data size cannot be obtained due to an error on the transmission path or the like, the file data that was being transmitted is retransmitted. For example, in the communication sequence of FIG. 15, if the file transfer is interrupted during the transmission of the subsequent 500 bytes, and the source device 101 cannot acquire the stored completed data size from the sink device 102, the subsequent 500 bytes Send from the beginning.

즉, 최초의 500바이트는 싱크 기기(102)로부터의 “201 Created"에 의해 싱크 기기(102)에 저장이 완료된 상태인 것이 확인되어 있기 때문에, 소스 기기(101)는 후의 500바이트만을 재송신하면 좋다.That is, since the first 500 bytes are confirmed to be stored in the sink device 102 by "201 Created" from the sink device 102, the source device 101 may retransmit only the next 500 bytes. .

이와 같이, 전송 대상의 파일을 분할하여 송신하는 방법은, 전술한 바와 같이, 싱크 기기(102)가 1회의 POST 리퀘스트로 수신 가능한 데이터 사이즈에 제한이 있는 경우뿐만 아니라, 파일 전송의 효율화에 대해서도 유효하다. As described above, the method of dividing and transmitting a file to be transmitted is effective not only when the size of data that the sink device 102 can receive in one POST request but also when the file transfer is efficient. Do.

또한, 분할된 파일 데이터가 싱크 기기(102)에 송신되기 전에 POST 리퀘스트에서 파일의 총 사이즈가 싱크 기기(102)에 통지된다. 그 때문에, 싱크 기기(102)는 수신한 파일 데이터가 어떤 파일을 구성하는 일부의 파일 데이터인지, 또는, 어떤 파일을 구성하는 모든 파일 데이터인지를 판단할 수 있다.Further, before the divided file data is transmitted to the sink device 102, the total size of the file is notified to the sink device 102 in the POST request. Therefore, the sink device 102 can determine whether the received file data is a part of file data constituting a certain file or all file data constituting a certain file.

예를 들어, 파일 데이터의 송신에 앞서 통지되는 [byte-range]가 “0-499/1000"이면, 그 후에 수신한 파일 데이터는 어떤 파일을 구성하는 일부의 파일 데이터라고 판단할 수 있다. 또한, [byte-range]가 “0-999/1000"이면, 그 후에 수신한 파일 데이터는 어떤 파일을 구성하는 모든 파일 데이터라고 판단할 수 있 다.For example, if the [byte-range] notified prior to transmission of the file data is "0-499 / 1000", it can be determined that the file data received thereafter is part of the file data constituting a certain file. , If [byte-range] is “0-999 / 1000”, it can be judged that the received file data is all file data constituting a file.

이것에 의해, 예를 들어, [byte-range]가 “0-499/1000"로 지정된 파일 데이터를 수신하여 저장한 후에, 나머지의 파일 데이터를 수신하지 않은 경우, 저장이 완료된 파일 데이터는 완결되어 있지 않은 파일 데이터라고 판단할 수 있다. 따라서, 소정의 기간 후에 삭제, 또는 사용자에게 저장을 계속할지를 확인하는 등의 처치를 행할 수 있다.By this means, for example, if [byte-range] has received and stored the file data specified by "0-499 / 1000", and the remaining file data is not received, the file data that has been saved is completed. It can be determined that the file data is not present, and therefore, such as deleting after a predetermined period of time or confirming whether or not to continue the storage can be performed.

수신한 파일 데이터에 대해서는, 전술한 바와 같이, 소스 기기(101)로부터 지정되는 [lifetime]에 나타나는 유지 기간을 초과함으로써 삭제하는 것도 가능하다. 따라서, 싱크 기기(102)는 [lifetime]이 지정되어 있지 않은 경우에 상기의 [byte-range]에 의거하는 판단에 의해 소정 기간의 경과 후에 삭제해도 좋다. 또한, [lifetime]에 나타나는 유지 기간을 넘고 또한, [byte-range]에 나타나는 정보로부터 해당 파일 데이터가 완결되어 있지 않은 파일 데이터라고 판단할 수 있는 경우, 그 파일 데이터를 삭제해도 좋다.As described above, the received file data can be deleted by exceeding the holding period indicated by [lifetime] specified by the source device 101. Therefore, when [lifetime] is not specified, the sink device 102 may be deleted after a predetermined period has elapsed by the judgment based on the above-described [byte-range]. The file data may be deleted if it is determined that the file data has not been completed since the retention period shown in [lifetime] and from the information shown in [byte-range].

또한, 이들 [byte-range] 및 [lifetime] 등을 싱크 기기(102)에 통지하기 위한 헤더의 이름은 UploadTansportInfo. dlna. org 이외의 헤더명이라도 상관없다. 또한 본 실시의 형태에서는 Digital Living Network Alliance(DLNA)로 정의하는 헤더 명명 수법에 따라 “.dlna. org"를 접미어로서 이용하고, 다른 임의의 헤더명과의 우연의 일치를 회피하고 있다. 그러나, 이것에 한정하지 않고, 예를 들어 HTTP의 독자 확장 헤더인 것을 나타내는 접두어 “X-"를 이용하여 “X-UploadTransportInfo" 등이라 정의해도 상관없다.In addition, the name of the header for notifying the sink device 102 of these [byte-range], [lifetime] and the like is UploadTansportInfo. dlna. It may be a header name other than org. In the present embodiment, in accordance with the header naming scheme defined by Digital Living Network Alliance (DLNA), “.dlna. org "is used as a suffix to avoid accidental matching with any other header name. However, the prefix" X- "is used to indicate that it is, for example, HTTP's own extended header. Or X-UploadTransportInfo ".

또한, 도 15에 나타내는 통신 시퀀스에 있어서는 1000바이트의 파일을 500바이트씩 2분할했지만, 당연하게 그 분할 단위로 한정되는 것은 아니고, 임의의 분할이 가능하다.In addition, in the communication sequence shown in FIG. 15, although the 1000-byte file was divided into two by 500 bytes, it is not necessarily limited to the dividing unit, and arbitrary division is possible.

또한, 소스 기기(101)로부터 싱크 기기(102)로 파일을 분할하여 전송하는 파일 전송 시스템에 있어서도, 소스 기기(101) 또는 싱크 기기(102)의 사정에 의해 파일 전송이 중단 또는 중지되는 경우가 있다. 따라서, 이하에, 분할된 1개의 단편인 파일 데이터의 송신 전에 파일 전송이 중단되는 경우의 통신 시퀀스 및 각 기기의 동작을 도 16 및 도 17을 이용하여 설명한다. 또한, 파일 전송이 중지되는 경우의 통신 시퀀스 및 각 기기의 동작을 도 18을 이용하여 설명한다.Also, even in a file transfer system that divides and transfers a file from the source device 101 to the sink device 102, file transfer is sometimes stopped or stopped due to the circumstances of the source device 101 or the sink device 102. have. Therefore, the communication sequence and operation of each device when the file transfer is interrupted before transmission of the file data, which is one divided fragment, will be described below with reference to FIGS. 16 and 17. In addition, the communication sequence when the file transfer is stopped and the operation of each device will be described with reference to FIG.

도 16은 파일을 분할하여 전송하는 파일 전송 시스템에 있어서, 분할 후의 하나의 파일 데이터의 송신 전에 소스 기기(101)의 사정에 의해 파일 전송이 중단되는 경우의 통신 시퀀스를 나타내는 도면이다.Fig. 16 is a diagram showing a communication sequence in the case where a file transfer is interrupted due to the circumstances of the source device 101 before the transmission of one file data after division in the file transfer system for dividing and transmitting the file.

도 16의 통신 시퀀스에 있어서 CDS : CreateObject 리퀘스트를 송신(S1503)하고 나서, 전송 대상의 파일을 분할(S1505)하기 까지는, 도 15를 이용하여 설명한 대로이며 설명을 생략한다.In the communication sequence shown in FIG. 16, the process of transmitting the CDS: CreateObject request (S1503) and then dividing the file to be transferred (S1505) is as described with reference to FIG. 15 and description thereof is omitted.

여기서, 소스 기기(101)에 있어서, 사용자의 캔슬 지시 등에 의해 파일의 전송을 중단하는 경우를 상정한다. 이 경우, 소스 기기(101)는 POST 리퀘스트의 메시지 헤더에 처리의 보류를 나타내는 [suspend]를 포함한 UploadTransportInfo. dlna. org 헤더를 저장하고 싱크 기기(102)에 송신한다(S1606). It is assumed here that the source device 101 stops the file transfer due to a user cancel instruction or the like. In this case, the source device 101 uploads the UploadTransportInfo. Message containing [suspend] indicating the suspension of processing in the message header of the POST request. dlna. The org header is stored and transmitted to the sink device 102 (S1606).

소스 기기(101)는 이 UploadTransportInfo. dlna. org : 헤더에 포함되는 키 워드인 [suspend]를 나타내는 필드값에 의해서 싱크 기기(102)에 명시적으로 중단을 통지할 수 있다. 또한, 이 경우, POST 리퀘스트의 Entity Body는 송신되지 않는다. 또한, 도 15의 통신 시퀀스와 동일하게, [lifetime]도 상기 헤더에 포함되고 예를 들어, 초단위로 “1800", 즉 30분이 지정된다.The source device 101 sends this UploadTransportInfo. dlna. org: The sink device 102 can be explicitly notified of the suspension by the field value indicating [suspend] which is a keyword included in the header. In this case, the entity body of the POST request is not transmitted. In addition, similar to the communication sequence of FIG. 15, [lifetime] is also included in the header and, for example, "1800", that is, 30 minutes is designated in seconds.

싱크 기기(102)는 “200 OK"를 송신하고(S1607), 중단을 양해한 것을 나타낸다.The sink device 102 transmits "200 OK" (S1607), indicating that the interruption is understood.

본 순서에 의하면 단순히 TCP 절단 등에 의해 중단한 경우와 비교하면, 싱크 기기(102)에서 불필요한 전송 프로세스를 슬립시키는 등, 적절한 대처를 행할 수 있기 때문에, 쓸데없는 처리의 발생을 억제하는 효과가 있다. According to this procedure, compared with the case of simply interrupting by TCP disconnection or the like, the sink device 102 can take an appropriate action such as slipping an unnecessary transfer process, so that there is an effect of suppressing the use of unnecessary processing.

또한, 전송의 재개는 UploadTransportInfo. dlna. org : 헤더의 [lifetime]에서 지정한 30분 이내에 소스 기기(101)가 임의로 행할 수 있다. 또한, 30분 이내에 소스 기기(101)가 전송의 재개를 행할 수 없는 경우, 다시 UploadTransportInfo. dlna. org : suspend를 송신함으로써 전송 재개 기간의 재연장을 행하는 것도 가능하다.In addition, resumption of transmission is performed by UploadTransportInfo. dlna. org: The source device 101 can arbitrarily perform within 30 minutes specified by [lifetime] of the header. If the source device 101 cannot resume transmission within 30 minutes, the UploadTransportInfo. dlna. It is also possible to extend the transmission resumption period by sending org: suspend.

다음에, 파일을 분할하여 전송하는 파일 전송 시스템에 있어서, 싱크 기기(102)가 POST 리퀘스트를 수신했을 때에 싱크 기기(102)의 사정에 의해 파일 전송이 중단되는 경우의 각 기기의 동작을 도 17을 이용하여 설명한다.Next, in the file transfer system that divides and transmits a file, the operation of each device when the file transfer is interrupted due to the situation of the sink device 102 when the sink device 102 receives the POST request is shown in FIG. It will be described using.

도 17은, 파일을 분할하여 전송하는 파일 전송 시스템에 있어서, 싱크 기기(102)가 POST 리퀘스트를 수신했을 때에 싱크 기기(102)의 사정에 의해 파일 전송이 중단되는 경우의 통신 시퀀스를 나타내는 도면이다.FIG. 17 is a diagram illustrating a communication sequence when a file transfer is interrupted due to the situation of the sink device 102 when the sink device 102 receives a POST request in a file transfer system that divides and transmits a file. .

도 17의 통신 시퀀스에 있어서, 소스 기기(101)가 CDS : CreateObject 리퀘스트를 송신(S1503)하고 나서, 송신하는 파일 데이터의 범위 등을 POST 리퀘스트에 의해 통지하기(S1506)까지는, 도 15를 이용하여 설명한 대로이며 설명을 생략한다.In the communication sequence of FIG. 17, until the source device 101 transmits a CDS: CreateObject request (S1503) and then notifies the range of file data to be transmitted, etc., by the POST request (S1506), using FIG. As described, description is omitted.

여기서, 상기 POST 리퀘스트(S1506)를 수신한 싱크 기기(102)가 파일 축적부(804)로부터 데이터를 독출 중이라는 등의 이유에 의해 파일 전송을 행할 수 있는 상태가 아닌 경우를 상정한다.It is assumed here that the sink device 102 that has received the POST request S1506 is not in a state where file transfer can be performed for the reason that data is being read from the file accumulator 804.

이 경우, 싱크 기기(102)는 POST 리퀘스트로의 응답으로서 “503 Service Unavailable"을 소스 기기(101)로 송신하고(S1707), 파일 전송을 행할 수 있는 상태가 아닌 것을 소스 기기(101)에 통지한다.In this case, the sink device 102 transmits "503 Service Unavailable" to the source device 101 as a response to the POST request (S1707), and notifies the source device 101 that it is not in a state capable of file transfer. do.

또한, 싱크 기기(102)는 “503 Service Unavailable"를 포함한 리스펀스 메시지에 Retry-After : 헤더를 저장함으로써 전송을 개시할 수 있는 예상의 시간을 통지한다. 즉, Retry-After : 헤더는, 파일 전송을 재개하는 시기를 나타내는 정보이다. 또한, 독자적으로 정의한 헤더인 UploadTransportExpireInfo. dlna. org: 헤더를 저장함으로써 재개가 가능한 기간을 통지한다.In addition, the sink device 102 notifies the expected time to start the transmission by storing the Retry-After: header in a response message containing “503 Service Unavailable.” That is, the Retry-After: header transmits a file. Information indicating when to resume the data, and notifying of the period in which resumption is possible by storing the header, UploadTransportExpireInfo.dlna.org :, which is an independently defined header.

UploadTransportExpireInfo. dlna. org : 헤더는, 파일 전송을 받아들이는 종기를 나타내기 위한 헤더이다. 도 17의 통신 시퀀스에서는 초 단위로 “1800", 즉 30분이 지정되어 있다. 이 경우, 싱크 기기(102)가 상기 리스펀스 메시지를 송신(S1707)하고 나서 30분 후까지는 파일 전송을 받아들이는 것을 나타낸다. 구체적으로는, 30분이 경과하면 소스 기기(101)로부터의 CDS : CreateObject 리퀘스트(S1503)에 따라 작성된 object가 삭제된다. 또한, 이미 일부의 파일 데이터를 수 신하여 저장한 후에, 파일 전송을 중단한 경우, 완결되어 있지 않은 파일 데이터가 파일 축적부(804)에 저장되어 있기 때문에 그 파일 데이터가 삭제된다. UploadTransportExpireInfo. dlna. The org: header is a header that indicates the end that accepts file transfers. In the communication sequence of Fig. 17, “1800”, that is, 30 minutes is designated in seconds. In this case, it indicates that the sink device 102 accepts the file transfer until 30 minutes after transmitting the response message (S1707). Specifically, after 30 minutes, the object created in response to the CDS: CreateObject request S1503 from the source device 101 is deleted, and the file transfer is interrupted after already receiving and storing some file data. In this case, the file data which has not been completed is stored in the file accumulator 804, and the file data is deleted.

여기서, RFC2616에서 정의되는 Retry-After : 헤더는 일반적으로 서비스의 재개를 보장하는 것이 아니고, Retry-After : 헤더에 나타나는 기간보다 짧은 간격으로 리트라이를 행해도 서비스를 재개할 수 있을 예상이 적은 것을 통지하여 상대 기기의 폴링 부하를 억제하기 위한 것이다. Here, the Retry-After: header defined in RFC2616 does not generally guarantee the resumption of service, and it is unlikely that the retry-After: header can resume service even if the retry is performed at intervals shorter than the period indicated in the Retry-After: header. In order to suppress the polling load of the counterpart device by notifying.

따라서, 소스 기기(101)는 싱크 기기(102)에 대해, Retry-After : 헤더에 의해 나타나는 20분 이후, UploadTransportExpireInfo. dlna. org : 헤더에 의해 나타나는 30분 이내에 리트라이를 행하여 전송의 재개가 가능한지 확인을 행하고, 가능하다면 계속 파일 데이터의 송신을 행한다.Therefore, the source device 101 transmits to the sink device 102 after 20 minutes indicated by the Retry-After: header. dlna. The org: retry is performed within 30 minutes indicated by the header to confirm whether transmission can be resumed, and transmission of file data is continued if possible.

이와 같이, 싱크 기기(102)가 자신의 사정에 의해 파일 전송을 중단하는 경우, Retry-After : 헤더와 UploadTransportExpireInfo. dlna. org : 헤더에 의해, 소스 기기(101)가 파일 전송을 리트라이해야 할 시기와 종기가 소스 기기(101)에 통지된다. As described above, when the sink device 102 stops the file transfer due to its own circumstances, the Retry-After: header and UploadTransportExpireInfo. dlna. The org: header informs the source device 101 of when and when the source device 101 should retry file transfer.

이것에 의해, 소스 기기(101)는 쓸데없는 리트라이를 하지 않는다. 결과적으로, 소스 기기(101) 내 및 전송로 상에서의 리소스의 쓸데없는 사용을 막을 수 있다.As a result, the source device 101 does not perform an unnecessary retry. As a result, unnecessary use of resources in the source device 101 and on the transmission path can be prevented.

다음에, 파일을 분할하여 전송하는 파일 전송 시스템에 있어서, 파일 전송이 중지되는 경우의 일례로서 싱크 기기(102)의 사정에 의해 파일 전송이 중지되는 경우의 통신 시퀀스 및 각 기기의 동작을 도 18을 이용하여 설명한다.Next, in the file transfer system that divides and transfers a file, a communication sequence when the file transfer is stopped due to the situation of the sink device 102 as an example of the case where the file transfer is stopped, and the operation of each device are shown in FIG. 18. It will be described using.

도 18은, 파일을 분할하여 전송하는 파일 전송 시스템에 있어서, 싱크 기기(102)의 사정에 의해 파일 전송이 중지되는 경우의 통신 시퀀스를 나타내는 도면이다.FIG. 18 is a diagram illustrating a communication sequence when file transfer is stopped due to the situation of the sink device 102 in the file transfer system that divides and transmits a file.

도 18의 통신 시퀀스에 있어서, 소스 기기(101)가 CDS : CreateObject 리퀘스트를 송신(S1503)하고 나서, 싱크 기기(102)가 파일 전송을 행할 수 있는 상태에 없는 것 등을 소스 기기(101)에 통지하기(S1707)까지는, 도 15 및 도 17을 이용하여 설명한 대로이며 설명을 생략한다.In the communication sequence of FIG. 18, after the source device 101 transmits a CDS: CreateObject request (S1503), the source device 101 is not in a state where the sink device 102 can perform file transfer. Until notification (S1707), it is as described using FIG. 15 and FIG. 17, and description is abbreviate | omitted.

도 18의 통신 시퀀스에 있어서, 싱크 기기(102)는, 일단, 파일 전송을 중단하기 위한 통지(S1707)를 행하고 있지만, 소스 기기(101)가 파일 전송의 리트라이(S1808)를 행했을 때에, 싱크 기기(102)가 파일 전송을 재개하지 않고 중지하고자 하는 이유가 있었다고 상정한다.In the communication sequence of FIG. 18, the sink device 102 is once notified (S1707) for stopping file transfer. However, when the source device 101 performs a retry of file transfer (S1808), It is assumed that there was a reason for the sink device 102 to stop the file transfer without resuming it.

이러한 이유로서는, 예를 들어 파일 축적부(804)의 빈 용량이 없어졌기 때문에, 당면 전송을 재개할 수 있을 예상이 없는 경우나, 전송을 행하면 싱크 기기(102)의 동작 자체에 지장을 초래하는 경우 등을 들 수 있다.For this reason, for example, since the free space of the file accumulating unit 804 is lost, there is no expectation that the current transfer can be resumed, or the transfer itself causes a problem in the operation of the sink device 102. And the like.

이러한 경우, 싱크 기기(102)는 “404 Not Found"를 응답으로 하여 송신하고(S1809), 송신처의 URI 리소스, 즉, 송신되는 파일 데이터를 저장하기 위한 object가 삭제되어 최조 사용 가능하지 않은 것을 나타낸다. 또한, 소스 기기(101)와 싱크 기기(102)의 타이머의 차이에 의해 소스 기기(101)가 이미 싱크 기기(102)로부터 삭제된 URI에 대해 리트라이를 행한 경우에도 동일한 순서가 되는 경우가 있다.In this case, the sink device 102 transmits in response to "404 Not Found" (S1809), indicating that the URI resource of the transmission destination, i.e., the object for storing the transmitted file data is deleted and is not available at the minimum. In addition, even if the source device 101 retries a URI that has already been deleted from the sink device 102 due to the difference between the timers of the source device 101 and the sink device 102, the same order may occur. have.

또한, 소스 기기(101)로부터 파일 전송을 중지하는 경우, 타임 아웃할 때까 지 소정의 URI에 리트라이를 행하지 않은 방법이나, UPnP-AV의 CDS : DestroyObject를 발행하여 싱크 기기(102)로부터 명시적으로 오브젝트와 그에 따른 URI를 삭제하는 방법 등이 있다.In addition, when the file transfer is stopped from the source device 101, the method does not retry to a predetermined URI until time-out, or it is explicit from the sink device 102 by issuing a CDS: DestroyObject of UPnP-AV. For example, you can delete an object and its URI.

이상 UPnP-AV의 오브젝트 단위로 파일 전송을 관리하는 예로 설명했지만, 이것에 한정하지 않고, 단순히 소정의 URI에 대해서 파일 송신을 행하는 경우에도 적용 가능하다.As described above as an example of managing file transfer on an object basis of UPnP-AV, the present invention is not limited to this, and can be applied to a case where a file transmission is simply performed for a predetermined URI.

이와 같이, 파일을 분할하여 전송하는 파일 전송 시스템이라도, 파일 전송이 중단 또는 중지된 경우에는, 소스 기기(101) 또는 싱크 기기(102)의 중단 또는 중지를 상대 기기에 통지할 수 있다. 이것에 의해, 중단 또는 중지가 통지된 기기는 쓸데없이 되는 파일 전송을 위한 처리를 계속하지 않는다. In this manner, even in a file transfer system that divides and transmits a file, when the file transfer is interrupted or stopped, the external device can be notified of the interruption or suspension of the source device 101 or the sink device 102. As a result, the device notified of the interruption or interruption does not continue processing for unnecessary file transfer.

또한, HTTP의 POST 메소드에 의해 파일을 송신하는 경우를 설명했지만, 이것에 한정하지 않고, PUT 메소드, 나아가서는 동일한 핸드 쉐이크 시퀀스가 적용 가능한 HTTP 이외의 파일 전송 프로토콜에도 적용이 가능하다.In addition, although the case of transmitting a file by the HTTP POST method has been described, the present invention is not limited to this, but can be applied to a file transfer protocol other than HTTP to which the PUT method, and thus the same handshake sequence, can be applied.

또한, 도 16~도 18에서는 분할 후의 파일 데이터가 1회도 송신되지 않고 파일 전송이 중단 또는 중지되는 경우의 통신 시퀀스를 나타내고 있다. 그러나, 도 16~도 18을 이용하여 설명한 파일 전송의 중단 또는 중지 시의 각 기기의 동작은, 1회 이상 파일 데이터가 송신된 후, 또한 다음의 파일 데이터가 송신하기 전에 중단 또는 중지되는 경우에서도 동일하다. 16 to 18 show a communication sequence when the file data after division is not transmitted once but the file transfer is interrupted or stopped. However, the operation of each device at the time of interruption or interruption of the file transfer described with reference to Figs. same.

본 발명의 송신 기기, 수신 기기 및 파일 전송 시스템은 네트워크에 접속되 는 임의의 기기 사이에서 파일을 전송하는 파일 전송 시스템에 있어서 유용하다. 특히 파일의 사이즈가 크고, 전송을 중단하여 재개할 때에 전송을 처음부터 다시 하면 낭비가 많은 경우에 효과를 발휘한다. The transmitting device, the receiving device, and the file transfer system of the present invention are useful in a file transfer system for transferring files between any device connected to a network. Especially when the file size is large and the transfer is restarted from the beginning when the transfer is interrupted and resumed, it is effective when there is much waste.

Claims (15)

네트워크를 통하여, 파일을 송신하는 송신 기기로부터 상기 파일을 수신하는 수신 기기로의 파일 전송을 행하는 파일 전송 시스템으로서,A file transfer system for performing file transfer from a transmitting device transmitting a file to a receiving device receiving the file, via a network, 상기 수신 기기는,The receiving device, 상기 송신 기기로부터 수신하는, 상기 파일을 구성하는 파일 데이터를 저장하는 저장 수단과,Storage means for storing file data constituting the file, received from the transmitting device; 상기 저장 수단에 저장이 완료된 파일 데이터의 사이즈인 저장 완료 사이즈를 취득하는 저장 완료 사이즈 취득 수단과,Storage completion size acquisition means for acquiring a storage completion size which is a size of file data which has been stored in said storage means; 상기 송신 기기로부터 상기 저장 완료 사이즈가 문의되면, 상기 저장 완료 사이즈 취득 수단에 의해 취득된 상기 저장 완료 사이즈를 상기 송신 기기에 송신하는 수신 제어 수단을 구비하고, And receiving control means for transmitting the stored completed size acquired by the stored completed size obtaining means to the transmitting device when the stored completed size is inquired from the transmitting device. 상기 송신 기기는,The transmitting device, 파일 데이터를 상기 수신 기기에 송신하는 송신 수단과, Transmitting means for transmitting file data to the receiving device; 상기 파일 전송의 중단을 검출하는 검출 수단과,Detection means for detecting interruption of the file transfer; 상기 검출 수단에 의해 상기 파일 전송의 중단이 검출된 후에, 상기 수신 기기에 상기 저장 완료 데이터 사이즈를 문의하는 문의 수단과,Inquiring means for inquiring the storage device of the completed data size after the interruption of the file transfer is detected by the detecting means; 상기 문의 수단에 의한 문의에 따라 상기 수신 기기가 응답한 저장 완료 데이터 사이즈에 의거하여, 상기 파일을 구성하는 나머지의 파일 데이터를 상기 송신 수단에 송신시키는 송신 제어 수단을 구비하는 파일 전송 시스템.And transmission control means for transmitting the remaining file data constituting the file to the transmission means based on the size of the stored data that the receiving device responds to in response to the inquiry by the inquiry means. 청구항 1에 있어서, 상기 송신 수단은 Hyper Text Transfer Protocol(HTTP)의 POST 메소드 또는 PUT 메소드를 사용하여 상기 파일을 상기 수신 기기에 송신하는 파일 전송 시스템.The file transfer system according to claim 1, wherein said transmitting means transmits said file to said receiving device using a POST method or a PUT method of Hyper Text Transfer Protocol (HTTP). 청구항 1에 있어서, 상기 송신 제어 수단은 또한, 상기 송신 수단이 파일 데이터를 송신하기 전에 상기 파일 데이터의 상기 파일에서의 범위인 데이터 범위를 상기 수신 기기에 통지하고, The transmission apparatus according to claim 1, wherein the transmission control means further notifies the receiving device of a data range which is a range in the file of the file data before the transmission means transmits file data, 상기 수신 기기는 또한 상기 데이터 범위에 의거하여 상기 저장 수단에 저장되어 있는 파일 데이터와, 상기 데이터 범위가 통지된 후에 수신한 파일 데이터를 결합하는 파일 제어 수단을 구비하는 파일 전송 시스템.And the receiving device further comprises file control means for combining the file data stored in the storage means based on the data range with the file data received after the data range is notified. 청구항 3에 있어서, 상기 송신 제어 수단은 상기 데이터 범위와 함께 상기 파일의 총 사이즈를 상기 수신 기기에 통지하는 파일 전송 시스템.4. The file transfer system according to claim 3, wherein said transmission control means notifies said receiving device of the total size of said file together with said data range. 청구항 4에 있어서, 상기 송신 제어 수단은 또한, 상기 파일을 소정의 사이즈의 파일 데이터로 분할하고,The method according to claim 4, wherein the transmission control means further divides the file into file data of a predetermined size, 상기 송신 수단은 상기 송신 제어 수단에 의해 분할된 파일 데이터를 상기 수신 기기에 송신하는 파일 전송 시스템.And the transmitting means transmits the file data divided by the transmission control means to the receiving device. 청구항 1에 있어서, 상기 수신 제어 수단은 또한, 파일 전송의 중단을 요구하는 중단 요구를 상기 송신 기기에 송신하고,The reception device according to claim 1, wherein the reception control means further transmits a suspension request to the transmitting device requesting the suspension of file transfer, 상기 중단 요구는 상기 수신 기기가 상기 파일 전송을 재개하는 시기(始期)를 나타내는 시기 정보와, 상기 수신 기기가 상기 파일 전송을 받아들이는 종기를 나타내는 기간 정보를 포함하고, The interruption request includes timing information indicating when the receiving device resumes the file transfer, and period information indicating a termination when the receiving device accepts the file transfer, 상기 검출 수단은 상기 중단 요구를 수신함으로써 상기 파일 전송의 중단을 검출하고,The detecting means detects the interruption of the file transfer by receiving the interruption request, 상기 송신 제어 수단은 상기 시기부터 상기 허가 기간의 사이에 상기 나머지의 파일 데이터를 상기 송신 수단에 송신시키는 파일 전송 시스템.And said transmission control means transmits said remaining file data to said transmission means between said time period and said permission period. 청구항 1에 있어서, 상기 송신 제어 수단은 또한, 상기 송신 수단이 파일 데이터를 송신하기 전에 상기 파일 데이터의 상기 수신 기기에서의 유지 기간을 상기 수신 기기에 통지하고, The transmission device according to claim 1, wherein the transmission control means further notifies the receiving device of the holding period of the file data in the receiving device before the transmitting means transmits the file data, 상기 수신 제어 수단은, 또한 상기 파일 데이터가 상기 저장 수단에 저장되고 또한 상기 파일 데이터의 유지 기간이 경과하기 전에 상기 파일을 구성하는 모든 파일 데이터를 상기 송신 기기로부터 수신하지 않는 경우, 상기 저장 수단에 저장되어 있는 상기 파일 데이터를 삭제하는 파일 전송 시스템.The reception control means further includes, when the file data is stored in the storage means and not receiving all file data constituting the file from the transmitting device before the retention period of the file data has elapsed. A file transfer system for deleting the stored file data. 청구항 1에 있어서, 상기 송신 기기와 상기 수신 기기와는 Transmission Control Protocol(TCP) 접속에 의해 파일 전송을 행하고,The method according to claim 1, wherein the transmitting device and the receiving device performs a file transfer by a Transmission Control Protocol (TCP) connection, 상기 검출 수단은 상기 송신 제어 수단이 파일 데이터의 송신 중에 상기 TCP 접속을 절단한 것을 검출함으로써 상기 파일 전송의 중단을 검출하고, The detecting means detects the interruption of the file transfer by detecting that the transmission control means disconnects the TCP connection during transmission of the file data, 상기 송신 제어 수단은, 또한 상기 TCP 접속의 절단 후에 파일 데이터의 상기 수신 기기에서의 유지 기간을 상기 수신 기기에 통지하고, The transmission control means further notifies the receiving device of the holding period of the file data in the receiving device after the disconnection of the TCP connection, 상기 수신 제어 수단은, 또한 상기 송신 기기로부터 통지된 상기 유지 기간이 경과하기 전에, 상기 파일을 구성하는 모든 파일 데이터를 상기 송신 기기로부터 수신하지 않은 경우, 상기 저장 수단에 저장되어 있는 파일 데이터를 삭제하는 파일 전송 시스템.The reception control means further deletes the file data stored in the storage means when all the file data constituting the file is not received from the transmission device before the sustain period notified from the transmission device elapses. File transfer system. 청구항 1에 있어서, 상기 송신 기기와 상기 수신 기기는 Transmission Control Protocol(TCP) 접속에 의해 파일 전송을 행하고,The method according to claim 1, wherein the transmitting device and the receiving device performs a file transfer by a Transmission Control Protocol (TCP) connection, 상기 송신 제어 수단은, 또한 상기 TCP 접속이 상기 수신 기기에 의해 절단되면, 파일 전송의 허가를 얻기 위한 전송 요구를 상기 수신 기기에 송신하고, The transmission control means further transmits a transmission request for obtaining a permission of file transfer to the receiving device when the TCP connection is disconnected by the receiving device, 상기 수신 제어 수단은, 또한 상기 전송 요구에의 응답으로서 상기 파일 전송의 중단을 요구하는 중단 요구를 상기 송신 기기에 송신하며, The reception control means further transmits a stop request to the transmitting device requesting the suspension of the file transfer in response to the transfer request, 상기 검출 수단은 상기 중단 요구를 수신함으로써 상기 파일 전송의 중단을 검출하는 파일 전송 시스템.And the detecting means detects the interruption of the file transfer by receiving the interruption request. 네트워크를 통하여, 수신 기기로 파일을 전송하는 파일 전송을 행하는 송신 기기로서,A transmitting device for performing file transfer for transferring files to a receiving device via a network, 상기 파일을 구성하는 파일 데이터를 상기 수신 기기에 송신하는 송신 수단과, Transmitting means for transmitting file data constituting the file to the receiving device; 상기 파일 전송의 중단을 검출하는 검출 수단과,Detection means for detecting interruption of the file transfer; 상기 검출 수단에 의해 상기 파일 전송의 중단이 검출된 후에 상기 수신 기기에 저장되어 있는 파일 데이터의 사이즈인 저장 완료 데이터 사이즈를 문의하는 문의 수단과,Inquiring means for inquiring a storage completed data size which is a size of file data stored in the receiving device after the interruption of the file transfer is detected by the detecting means; 상기 문의 수단에 의한 문의에 따라 상기 수신 기기가 응답한 저장 완료 데이터 사이즈에 의거하여 상기 파일을 구성하는 나머지의 파일 데이터를 상기 송신 수단에 송신시키는 송신 제어 수단을 구비하는 송신 기기.And transmission control means for transmitting the remaining file data constituting the file to the transmission means based on the size of the completed data that the reception device responds to in response to the inquiry by the inquiry means. 네트워크를 통하여, 송신 기기로부터 송신되는 파일을 수신하는 수신 기기로서,A receiving device that receives a file transmitted from a transmitting device through a network, 상기 송신 기기로부터 수신하는, 상기 파일을 구성하는 파일 데이터를 저장하는 저장 수단과,Storage means for storing file data constituting the file, received from the transmitting device; 상기 저장 수단에 저장이 완료된 파일 데이터의 사이즈인 저장 완료 사이즈를 취득하는 저장 완료 사이즈 취득 수단과,Storage completion size acquisition means for acquiring a storage completion size which is a size of file data which has been stored in said storage means; 상기 송신 기기로부터 상기 저장 완료 사이즈가 문의되면, 상기 저장 완료 사이즈 취득 수단에 의해 취득된 상기 저장 완료 사이즈를 상기 송신 기기에 송신하는 수신 제어 수단을 구비하는 수신 기기.And a reception control means for transmitting the stored completed size acquired by the stored completed size obtaining means to the transmitting device when the stored completed size is inquired from the transmitting device. 네트워크를 통하여, 수신 기기에 파일을 전송하는 파일 전송을 행하기 위한 송신 방법으로서,As a transmission method for performing file transfer which transmits a file to a receiving device via a network, 상기 파일을 구성하는 파일 데이터를 상기 수신 기기에 송신하는 송신 단계와,A transmitting step of transmitting file data constituting the file to the receiving device; 상기 파일 전송의 중단을 검출하는 검출 단계와,A detecting step of detecting interruption of the file transfer; 상기 검출 수단에 의해 상기 파일 전송의 중단이 검출된 후에, 상기 수신 기기에 저장되어 있는 파일 데이터의 사이즈인 저장 완료 데이터 사이즈를 문의하는 문의 단계와,An inquiry step of inquiring of a storage completed data size which is a size of file data stored in the receiving device after the interruption of the file transfer is detected by the detecting means; 상기 문의 수단에 의한 문의에 따라 상기 수신 기기가 응답한 저장 완료 데이터 사이즈에 의거하여 상기 파일을 구성하는 나머지의 파일 데이터를 상기 수신 기기에 송신하는 송신 제어 단계를 포함한 송신 방법.And a transmission control step of transmitting, to the receiving device, the remaining file data constituting the file based on the size of the stored completed data answered by the receiving device in response to the inquiry by the inquiry means. 네트워크를 통하여, 송신 기기로부터 송신되는 파일을 수신하기 위한 수신 방법으로서,As a receiving method for receiving a file transmitted from a transmitting device via a network, 상기 송신 기기로부터 수신하는, 상기 파일을 구성하는 파일 데이터를 저장 수단에 저장하는 저장 단계와, A storing step of storing, in a storage means, file data constituting the file, received from the transmitting device; 상기 저장 수단에 저장이 완료된 파일 데이터의 사이즈인 저장 완료 사이즈를 취득하는 저장 완료 사이즈 취득 단계와,A storage completion size acquisition step of acquiring a storage completion size which is a size of file data which has been stored in the storage means; 상기 송신 기기로부터 상기 저장 완료 사이즈가 문의되면, 상기 저장 완료 사이즈 취득 수단에 의해 취득된 상기 저장 완료 사이즈를 상기 송신 기기에 송신 하는 수신 제어 단계를 포함하는 수신 방법.And a receiving control step of transmitting the stored completed size acquired by the stored completed size obtaining means to the transmitting device when the stored completed size is inquired from the transmitting device. 네트워크를 통하여, 수신 기기에 파일을 전송하는 파일 전송을 행하기 위한 프로그램으로서,A program for performing file transfer to transfer a file to a receiving device via a network, 상기 파일을 구성하는 파일 데이터를 상기 수신 기기에 송신하는 송신 단계와,A transmitting step of transmitting file data constituting the file to the receiving device; 상기 파일 전송의 중단을 검출하는 검출 단계와,A detecting step of detecting interruption of the file transfer; 상기 검출 수단에 의해 상기 파일 전송의 중단이 검출된 후에 상기 수신 기기에 저장되어 있는 파일 데이터의 사이즈인 저장 완료 데이터 사이즈를 문의하는 문의 단계와, An inquiry step of inquiring of a completed data size which is a size of file data stored in the receiving device after the interruption of the file transfer is detected by the detecting means; 상기 문의 수단에 의한 문의에 따라 상기 수신 기기가 응답한 저장 완료 데이터 사이즈에 의거하여 상기 파일을 구성하는 나머지의 파일 데이터를 상기 수신 기기에 송신하는 송신 제어 단계를 컴퓨터에 실행시키기 위한 프로그램.A program for causing a computer to execute a transmission control step of transmitting, to the receiving device, the remaining file data constituting the file based on the size of the completed data that the receiving device responds to in response to the inquiry by the inquiry means. 네트워크를 통하여, 송신 기기로부터 송신되는 파일을 수신하기 위한 프로그램으로서,A program for receiving a file transmitted from a transmitting device via a network, 상기 송신 기기로부터 수신하는, 상기 파일을 구성하는 파일 데이터를 저장 수단에 저장하는 저장 단계와,A storing step of storing, in a storage means, file data constituting the file, received from the transmitting device; 상기 저장 수단에 저장이 완료된 파일 데이터의 사이즈인 저장 완료 사이즈를 취득하는 저장 완료 사이즈 취득 단계와,A storage completion size acquisition step of acquiring a storage completion size which is a size of file data which has been stored in the storage means; 상기 송신 기기로부터 상기 저장 완료 사이즈가 문의되면, 상기 저장 완료 사이즈 취득 수단에 의해 취득된 상기 저장 완료 사이즈를 상기 송신 기기에 송신하는 수신 제어 단계를 컴퓨터에 실행시키기 위한 프로그램.A program for causing a computer to execute a reception control step of transmitting the stored completed size acquired by the stored completed size obtaining means to the transmitting device when the stored completed size is inquired from the transmitting device.
KR1020077008171A 2004-10-26 2005-10-19 Transmitting device, receiving device, and file forwarding system KR20070083649A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00310316 2004-10-26
JP2004310316 2004-10-26

Publications (1)

Publication Number Publication Date
KR20070083649A true KR20070083649A (en) 2007-08-24

Family

ID=36227688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077008171A KR20070083649A (en) 2004-10-26 2005-10-19 Transmitting device, receiving device, and file forwarding system

Country Status (6)

Country Link
US (1) US20080091830A1 (en)
EP (1) EP1806877A1 (en)
JP (1) JPWO2006046446A1 (en)
KR (1) KR20070083649A (en)
CN (1) CN101048989A (en)
WO (1) WO2006046446A1 (en)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4754982B2 (en) 2006-02-13 2011-08-24 パナソニック株式会社 File transfer system
US20070260747A1 (en) * 2006-03-10 2007-11-08 Jan Samzelius Protecting Electronic File Transfer from Unauthorized Access or Copying
JP4530420B2 (en) * 2006-05-15 2010-08-25 日本電信電話株式会社 File transfer system, file transfer program, and file transfer method
EP1959642B1 (en) * 2007-01-30 2015-05-13 Sony Corporation Content transmission system, content sending apparatus and method, content reception apparatus and method, program, and recording media
JP5233175B2 (en) * 2007-06-08 2013-07-10 ソニー株式会社 Content distribution system, distribution server, terminal, and content distribution method
CN101389017B (en) * 2007-09-14 2011-11-30 中兴通讯股份有限公司 Method for storing media file in mobile stream media live service
US8910240B1 (en) * 2007-11-12 2014-12-09 Google Inc. Mapping content using uniform resource identifiers
CN101656991B (en) 2008-08-18 2013-03-20 华为技术有限公司 Method and equipment for switching terminal in message transmitting process
JP5231942B2 (en) * 2008-10-29 2013-07-10 キヤノン株式会社 Image processing apparatus, control method therefor, system, and program
JP5513068B2 (en) * 2009-10-19 2014-06-04 キヤノン株式会社 Information processing apparatus and control method thereof
US9104517B2 (en) 2010-01-27 2015-08-11 Code Systems Corporation System for downloading and executing a virtual application
US9229748B2 (en) 2010-01-29 2016-01-05 Code Systems Corporation Method and system for improving startup performance and interoperability of a virtual application
CN101827404B (en) * 2010-04-09 2012-05-23 无锡泛联物联网科技股份有限公司 Multi-mobile sink access control method in wireless sensor network
US8763009B2 (en) 2010-04-17 2014-06-24 Code Systems Corporation Method of hosting a first application in a second application
CN102316129B (en) * 2010-07-01 2013-08-21 江苏大学 Method of data exchange between embedded device and remote database
US8782106B2 (en) * 2010-07-02 2014-07-15 Code Systems Corporation Method and system for managing execution of virtual applications
CN102456052B (en) * 2010-11-02 2013-04-10 江苏大学 Method for data synchronization between embedded device and database
CN102801754A (en) * 2011-05-24 2012-11-28 英业达集团(天津)电子技术有限公司 Method and system for breakpoint transmission
JP5319753B2 (en) * 2011-10-31 2013-10-16 株式会社東芝 Content transmitting apparatus and content receiving apparatus
JP5947540B2 (en) * 2011-11-07 2016-07-06 株式会社スクウェア・エニックス・ホールディングス Management device and management device control method
KR101332170B1 (en) * 2011-11-09 2013-11-25 에스케이텔레콤 주식회사 System, apparatus, terminal and method for file transfer using HyperText Transfer protocol
KR20140098411A (en) * 2013-01-31 2014-08-08 네이버 주식회사 Method and system for sending e-mail having mass attachment file on mobile device
CN104580285A (en) * 2013-10-15 2015-04-29 镇江雅迅软件有限责任公司 HTTP (hypertext transfer protocol)-based method for realizing continuous file transfer from breakpoints
CN103677810B (en) * 2013-11-21 2018-06-01 金蝶软件(中国)有限公司 Business mobile application system and its application process
US9934475B2 (en) * 2015-05-13 2018-04-03 Bank Of America Corporation Managing enterprise data movement using a heuristic data movement detection engine
JP2017163451A (en) * 2016-03-11 2017-09-14 株式会社リコー Communication system and communication method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3605242B2 (en) * 1996-11-12 2004-12-22 富士通株式会社 Data transmission device, data reception device, and data file storage medium
US5832232A (en) * 1996-12-16 1998-11-03 Intel Corporation Method and apparatus for providing user-based flow control in a network system
US6460087B1 (en) * 1998-02-25 2002-10-01 Kdd Corporation Method of transferring file
JPH11242640A (en) * 1998-02-25 1999-09-07 Kdd Corp File transfer method
EP1037431A4 (en) * 1998-10-05 2005-06-15 Matsushita Electric Ind Co Ltd Data transfer method and data transfer system
JP2001007975A (en) * 1999-06-18 2001-01-12 Ricoh Co Ltd Picture communication device and its control method
JP3645537B2 (en) * 2002-06-03 2005-05-11 蝶理情報システム株式会社 Communication control system
JP2004236005A (en) * 2003-01-30 2004-08-19 Murata Mach Ltd Image communication apparatus
KR100605880B1 (en) * 2004-02-25 2006-08-01 삼성전자주식회사 Method for transmitting message file between client and server

Also Published As

Publication number Publication date
US20080091830A1 (en) 2008-04-17
JPWO2006046446A1 (en) 2008-05-22
CN101048989A (en) 2007-10-03
WO2006046446A1 (en) 2006-05-04
EP1806877A1 (en) 2007-07-11

Similar Documents

Publication Publication Date Title
KR20070083649A (en) Transmitting device, receiving device, and file forwarding system
JPWO2006046445A1 (en) File transfer system, transmitter and receiver
EP1840750B1 (en) Av server
US7698392B2 (en) Method and system for establishing a user-friendly data transfer service application executing within a heterogeneous distributed service application execution environment
US20080209036A1 (en) Information processing control apparatus, method of delivering information through network, and program for it
KR101037941B1 (en) Apparatus and method for sharing contents inter-home using a homenetwork devcie
US8266298B2 (en) Storage medium, uniqueness assurance realizing method, session management method and uniqueness assurance information setting management device
WO2014112207A1 (en) Monitoring system and monitoring camera
US20090265443A1 (en) Network apparatus, content distribution method and computer program product
US20160286595A1 (en) Information processing apparatus and control method thereof, service providing apparatus and control method thereof, information processing system, information processing method, program, and recording medium
EP2168311B1 (en) Upnp control point and method of handling upnp control request
US7818438B2 (en) Control apparatus and control method
JP2002312225A (en) Data managing device and method
JP2007312227A (en) Information processing system and its control method, and program executing the control method
JP2006025291A (en) Method for controlling power saving
US8095651B2 (en) Delayable events in home network
JP6101312B2 (en) COMMUNICATION DEVICE, ITS CONTROL METHOD, AND PROGRAM
JP5775562B2 (en) Information processing apparatus, control method therefor, and program
JP2010056924A (en) Content receiving apparatus and method
KR100674754B1 (en) Method for controlling data stream traffic in home network
JP2006185384A (en) Content server, content receiver, program and recording medium
JP2013132001A (en) Content transmitter, content transmission method, control program of content transmitter, content receiver, content receiving method, and control program of content receiver
JP2010232875A (en) Reproduction device
JP2008226039A (en) INTERNET STORAGE NAME SERVICE (iSNS) METHOD, SERVER AND PROGRAM

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid