WO2006046446A1 - 送信機器、受信機器、およびファイル転送システム - Google Patents

送信機器、受信機器、およびファイル転送システム Download PDF

Info

Publication number
WO2006046446A1
WO2006046446A1 PCT/JP2005/019189 JP2005019189W WO2006046446A1 WO 2006046446 A1 WO2006046446 A1 WO 2006046446A1 JP 2005019189 W JP2005019189 W JP 2005019189W WO 2006046446 A1 WO2006046446 A1 WO 2006046446A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
size
data
file transfer
stored
Prior art date
Application number
PCT/JP2005/019189
Other languages
English (en)
French (fr)
Inventor
Toshiharu Koshino
Hideaki Takechi
Takumi Tanabe
Yousuke Suzuki
Naonori Kato
Original Assignee
Matsushita Electric Industrial Co., Ltd.
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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to JP2006543029A priority Critical patent/JPWO2006046446A1/ja
Priority to EP05795248A priority patent/EP1806877A1/en
Priority to US11/666,094 priority patent/US20080091830A1/en
Publication of WO2006046446A1 publication Critical patent/WO2006046446A1/ja

Links

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

Definitions

  • Transmission device reception device, and file transfer system
  • the present invention relates to a transmitting device, a receiving device, and a file transfer system for performing file transfer via a network.
  • IP Internet Protocol
  • IETF Internet Engaging Task Force
  • One application program in the Internet or home network is an application program for transferring files between home appliances and PCs.
  • An example application program for transferring files is an application program that provides a dubbing function such as transferring to a PC to edit a TV program recorded on a DVD recorder, or transferring a recorded MPEG2 file between DVD recorders. .
  • HTTP Text Transfer Protocol
  • FTP File Transfer Protocol
  • TCP Transmission Control Protocol
  • TCP includes a procedure for detecting and retransmitting a packet error and a procedure for detecting and retransmitting a missing packet. Even if it happens, the file transfer can be guaranteed.
  • TCP's retransmission procedure is also limited. For example, a failure in a transmission path, a transmission source device (hereinafter referred to as “source device”), or a reception destination device (hereinafter referred to as "sink device"). If transfer interruption is extended for a long time due to the problem of TCP connection time-out, the problem is that the file transfer after that can not be performed.
  • the device's convenience includes the case where it is necessary to interrupt the file transfer to execute other functions of the device as well as the failure.
  • the DVD recorder may interrupt file transfer to execute timer recording.
  • HTTP includes a procedure for solving the above-mentioned problem, and even if the transfer interruption lasts for an arbitrarily long time, the TCP connection is made again, and the location of the transfer point before the interruption is directly A sequence is defined that can resume file transfer later. This sequence is explained using Fig.1.
  • FIG. 1 is a diagram showing an example of a communication sequence related to resumption of file transfer in a file transfer system including a conventional source device and sink device.
  • the communication sequence shown in FIG. 1 is a communication sequence in the file transfer system for performing file transfer from the source device 1001 to the sink device 1002.
  • TCP connection is disconnected in the middle of file transfer.
  • the sink device 1002 issues an HTTP GET request to the source device 1001 (S 101).
  • the source device 1001 responds to this request with "200 OK" (S102), and transmits a 1000-byte file (S103). Thereafter, a communication failure occurs and the TCP connection is disconnected (S 104).
  • the sink device 1002 can wait for the communication failure to recover, reconnect TCP at any time, and resume the transfer.
  • the sink device 1002 sends an HTTP GET request with a Range header added to the source device 1001 (S 106), and requests data from the first byte of the transfer target file to the 500th byte. It is done by
  • the source device 1001 is a range specified by the sink device 1002 (here, 500—999 It is a byte. Data is transmitted according to (S 107, S 108), and the sink device 1002 stores the received data (S 109). As a result, it is possible to acquire only untransferred data that can not retransmit transferred data by resuming transfer.
  • An application program that acquires files efficiently by acquiring from the continuation of acquired data, for example, when downloading of a large file of several meganeuts or more placed on a server on the Internet fails. Used in
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2002-288162
  • the HTTP POST method is usually used when the source device tries to transmit any file voluntarily without a request from the sink device. Be Therefore, when communication between the source device and the sink device is interrupted, the file transmission must first be performed after communication resumes, and the problem of wasting resources and time for file transfer is wasted. There is.
  • the present invention relates to a file transfer system in which a file transfer is interrupted for a long time in a file transfer system in which files are transferred from a sending device to a receiving device voluntarily in consideration of the above problems.
  • An object of the present invention is to provide a transmitter, a receiver and a file transfer system for efficiently performing processing.
  • a file transfer system of the present invention is a file transfer system for transferring a file to a receiving device receiving the file via a network. And the receiving device receives from the transmitting device, storage means for storing file data constituting the file, and storage for obtaining a stored size which is a size of the file data stored in the storage means.
  • the transmission device comprises: reception size acquisition means, and reception control means for transmitting the stored size acquired by the stored size acquisition means to the transmission device when the stored size is inquired.
  • the device comprises: transmission means for transmitting file data to the receiving device; detection means for detecting interruption of the file transfer; An inquiry means for inquiring the storage device of the stored data size after the interruption of the file transfer is detected by the detection means; and a stored data size to which the reception device responds in response to the inquiry by the inquiry means And transmission control means for causing the transmission means to transmit the remaining file data constituting the file.
  • the transmitting device of the present invention is a transmitting device for transferring a file to a receiving device via a network, and the transmitting means for transmitting file data constituting the file to the receiving device.
  • detection means for detecting the interruption of the file transfer, and after the interruption of the file transfer is detected by the detection means, stored data which is the size of the file data to be stored in the receiving device.
  • the remaining file data constituting the file is transmitted based on the inquiry means for inquiring the size and the stored data size to which the receiving device responds in response to the inquiry by the inquiry means.
  • transmission control means for causing the communication means to transmit.
  • the receiving device is a receiving device that receives a file transmitted from a transmitting device via a network, and stores file data forming the file received from the transmitting device.
  • a storage means a stored size acquisition means for acquiring a stored size which is a size of file data stored in the storage means, and the transmitting device force when the stored size is inquired, the stored size acquisition means And a reception control unit that transmits the stored size acquired by the transmission device to the transmission device.
  • the transmission device can inquire of the reception device of the stored size after interruption of the file transfer.
  • the receiving device can also send the stored size to the transmitting device as a response to the query.
  • the sending device can send only the remaining file data to be sent to the receiving device by being informed of the stored size.
  • the transmitting device upon resuming interrupted file transfer, the transmitting device only needs to transmit the remaining file data that is necessary for the receiving device, which need not to transmit file data first. Also, the receiving device does not receive redundant and unnecessary file data. Therefore, in the processing related to file transfer in the transmitting device and the receiving device, the processing related to file transfer that does not cause unnecessary processing and unnecessary consumption of resources even when interruption for a long time occurs is efficient. Can be performed.
  • the reception control means further transmits an interruption request for requesting interruption of file transfer to the transmitting device, and the interruption request is received by the receiving device.
  • the information processing apparatus includes start time information indicating a start time to resume file transfer, and time period information indicating an end time to receive the file transfer by the receiving device, and the detection unit detects the interruption of the file transfer by receiving the interruption request.
  • the transmission control means may cause the transmission means to transmit the remaining file data during the permission period from the start time.
  • the transmission control means is Furthermore, before transmitting the file data, the transmitting unit notifies the receiving device of a holding period of the file data in the receiving device, and Shin control hand stage, further, the file data is stored in the storage means, and said file de It is assumed that all file data constituting the file is not received from the transmitting device before the data retention period has elapsed, and in the case where the file data stored in the storage means is deleted. It is also good.
  • the transmitting device and the receiving device can exchange information on the file transfer period with each other.
  • each of the transmitting device and the receiving device does not wastefully consume the resources of the respective devices, which need not be prepared for resumption of the file transfer, when the file transfer is interrupted by the other device.
  • processing relating to file transfer can be executed efficiently.
  • the present invention is realized as a method including the file transfer system of the present invention, the transmitter and the receiver, and the respective characteristic components of the receiver as steps, or a program including the steps. Or, it can be realized as a recording medium such as a CD-ROM or the like in which the program is stored, or as an integrated circuit.
  • the program can also be distributed via a transmission medium such as a communication network.
  • the processing relating to file transfer can be efficiently performed even if the file transfer is interrupted for a long time. It is possible to provide a transmitter, receiver and file transfer system to implement.
  • a file transfer interruption occurs.
  • the sending device can know the size of saved data even after TCP connection time-out.
  • the transmitting device can transfer data following the stored data at the receiving device to the receiving device.
  • the transmitting device when transferring a certain file, the transmitting device does not receive useless data, and the receiving device does not receive useless data transmission.
  • the present invention provides a method and means for performing a restart of the restartable period in the interruption / resumption procedure, and makes it clear that the source and sink devices should be able to restart again. be able to. In this way, it is possible to eliminate waste in resources such as memory and media of the source device and sink device in file transfer. This also makes it possible to execute file transfer processing efficiently.
  • FIG. 1 is a diagram showing an example of a communication sequence related to resumption of file transfer in a file transfer system constituted by a conventional source device and sink device.
  • FIG. 2 is a diagram showing a device configuration of a file transfer system according to an embodiment of the present invention.
  • FIG. 3 is a functional block showing a functional configuration of a source device according to the embodiment of the present invention.
  • FIG. 4 is a functional block diagram showing a functional configuration of the sink device according to the embodiment of the present invention.
  • FIG. 5 shows a basic communication sequence in the file transfer system according to the embodiment of the present invention.
  • FIG. 6 is a diagram showing the contents of each parameter sent to the source device sink device.
  • FIG. 7 is a file transfer system according to the embodiment of the file transfer system. Which shows an example of the communication sequence when
  • FIG. 8 is a diagram showing an example of a communication sequence when file transfer is interrupted due to the sink device in the file transfer system of the embodiment.
  • FIG. 9 is a diagram showing another example of the communication sequence when file transfer is interrupted due to the sink device in the file transfer system of the embodiment.
  • FIG. 10 shows a communication sequence when file transfer is resumed in the file transfer system of the embodiment.
  • FIG. 11 is a diagram showing an example of a communication sequence when file transfer is canceled by the convenience of the source device before transmission of file data is started in the file transfer system of the embodiment.
  • FIG. 12 shows transmission of file data in the file transfer system of the embodiment. Figure showing an example of communication sequence when file transfer is canceled due to the convenience of the source device
  • FIG. 13 is a diagram showing an example of a communication sequence when file transfer is canceled due to the convenience of the sink device before transmission of file data is started in the file transfer system of the embodiment.
  • FIG. 14 shows an example of a communication sequence when file transfer is canceled due to the convenience of the sink device during transmission of file data in the file transfer system of the embodiment.
  • FIG. 15 is a diagram showing the communication sequence of the file transfer system in which the source device divides and transfers files to the sink device.
  • FIG. 16 is a diagram showing a communication sequence in the case where the file transfer is interrupted due to the circumstances of the source device before transmission of one file data after division in the file transfer system for dividing and transferring files.
  • FIG. 17 is a diagram showing a communication sequence in the case where the transfer is interrupted for convenience of the sink device when the sink device receives the POST request in the file transfer system for dividing and transferring files.
  • FIG. 18 shows a communication sequence in the case where file transfer is canceled due to the convenience of the sink device in the file transfer system for dividing and transferring files.
  • FIG. 2 is a diagram showing an apparatus configuration of the file transfer system according to the embodiment of this invention.
  • the file transfer system is a system for transferring a file from the source device 101 to the sink device 102.
  • the source device 101 and the sink device 102 are connected to the broadband router 301 to configure a home network.
  • Broadband router 301 is connected to the Internet 302, but it is fine.
  • Each of the source device 101 and the sink device 102 incorporates storage media, and can store files such as audio visual (AV) content.
  • the source device 101 includes a file storage unit 705, and the sink device 102 includes a file storage unit 804.
  • the source device 101 stores the file 303 in the file storage unit 705, and transfers this file to the sink device 102 via the home network.
  • the sink device 102 stores the file 303 received by the source device in the file storage unit 804.
  • both the sink device 102 and the source device 101 conform to the UPnP-AV standard issued by the Universal Plug and Play Forum, and the sink device 102 has a Contents Directory Service (CDS) server function.
  • Source device 101 implements the Control Point function to access the CDS server.
  • CDS Contents Directory Service
  • FIG. 3 is a functional block diagram showing a functional configuration of the source device 101 according to the embodiment of this invention.
  • the source device 101 is an example of the transmitting device of the present invention.
  • Source device The illustration and description of the Control Point function and the like originally provided for the 101 is omitted, and the illustration and the description of the characteristic components of the source device 101 will be omitted.
  • 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.
  • the components in the area surrounded by dotted lines in the figure are components that perform main processing related to file transfer.
  • the user interface 701 is an interface for receiving an input such as an instruction from a user and providing information to the user by video or the like.
  • a network interface 706 is an interface that exchanges information with the sink device 102 via the home network.
  • the file storage unit 705 is a storage device for storing files such as AV content as described above.
  • the file transmission control unit 702 is a control unit that controls transmission of a file to the sink device 102, and includes an inquiry unit 708.
  • the inquiry unit 708 is a processing unit that inquires the sink device 102 of the size of the stored data when restarting the interrupted file transfer.
  • the above-mentioned stored data size refers to the file data that constitutes the file that the sink device 102 has received and saved in file transfer from the source device 101 to the sink device 102 (hereinafter referred to simply as “file data”).
  • File data also referred to as data. That is, if the file size is 1000 bytes, the saved data size will be a value between 0 and 1000 bytes.
  • “suspending file transfer” means that processing required for file transfer is interrupted only when transmission or reception of file data is interrupted after file data transmission is started. Also includes.
  • the file control unit 703 is a control unit that controls reading of a file from the file storage unit 705.
  • the communication control unit 704 is a control unit that controls communication via the home network by controlling the network interface 706. Communication control unit 704 and network interface The phase 706 and the transmission means of the transmission apparatus of the present invention realize the function of transmitting information. Further, the communication control unit 704 has an interruption detection unit 707.
  • the interruption detection unit 707 is a processing unit that detects interruption of file transfer.
  • 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 also read from the file storage unit 705, and the network interface 706 is controlled to be sent to the sink device 102.
  • FIG. 4 is a functional block diagram showing a functional configuration of the sink device 102 according to the embodiment of this invention.
  • the sink device 102 is an example of the receiving device of the present invention.
  • the illustration and description of the CDS / Sano 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 illustrated and described.
  • 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 components in the area surrounded by the dotted line in the figure are components that perform main processing related to file transfer.
  • a network interface 805 is an interface that exchanges information with the source device 101 via the home network.
  • the file storage unit 804 is an example of storage means in the receiving device of the present invention, and as described above, is a storage device for storing a file received from the source device 101.
  • the file reception control unit 801 is a control unit that controls reception of a file transmitted from the source device 101.
  • the file control unit 802 is a control unit that controls reading of a file from the file storage unit 804, and includes a saved size acquisition unit 806.
  • the stored size acquisition unit 806 is a processing unit that acquires the stored data size from the file storage unit 804. The acquired saved data size is transmitted to the source device 101 under the control of the file reception control unit 801.
  • the communication control unit 803 is a control unit that controls communication via the home network by controlling the network interface 805.
  • FIG. 5 is a diagram showing a basic communication sequence in the file transfer system according to the 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 the spontaneous file transfer of the source device 101.
  • the broadband router 301 Communication between the source device 101 and the sink device 102 is relayed by the broadband router 301.
  • the broadband router 301 since the operation of the broadband router 301 is not involved in the features of the present invention, the illustration and the description of the operation will be omitted hereinafter.
  • the source device 101 sends a CDS: CreateObject request specified by the UPnP-AV standard (S501).
  • the CreateObject request is a request to generate an object obj indicating a logical file, whereby a new object is generated in the file storage unit 804 of the sink device 102.
  • the location of the generated object in the directory structure and metadata such as the file name indicating the object are determined.
  • This metadata includes Uniform Resource Identifiers (URI) on the sink device 102 where the file entity is to be stored.
  • the sink device 102 transmits a CDS: CreateObject response including this UR I to the source device as a file transfer destination address (S 502).
  • the source device 101 sends an HTTP request of the POST method (hereinafter, “POST request”) to the sink device 102 (S 503).
  • POST request an HTTP request of the POST method
  • 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 interrupted, and sends it.
  • FIG. 6 is a diagram showing the contents of each parameter sent from the source device 101 to the sink device 102.
  • [byte-range] is a byte range of data to be transmitted.
  • Beitle An index is information indicating the start position and end position 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. Each unit is a byte.
  • the sink device 102 is notified of not only the source device power but also the range of data to be transmitted, as well as 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. Note that, in the present embodiment, when transmitting one file to the sink device 102, transmission is performed collectively without division. In the case of dividing the file for transmission, it will be described later with reference to FIG.
  • [Restart -time] is a transmission restart permission time.
  • the transmission resumption permission time is information indicating the pause time until the file transfer operation is resumed after the suspension, and the unit is seconds.
  • [Lifetime] is a file retention period.
  • the file holding period is information indicating the time for which the sink device 102 should hold 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 file data until the period indicated by [lifetime] has elapsed. Also, when [lifetime] is notified and incomplete file data is received, if the remaining file data is not received before the period shown in [lifetime] elapses, the incomplete file data is received. I am obliged to keep it.
  • the sink device 102 retains unnecessary resources for file transfer that can not be completed. There is no need to leave. Therefore, resources can be efficiently managed in the sink device 102, and maintenance such as deletion of unnecessary objects by the user is unnecessary.
  • the source device 101 designates the start position of the data to be transmitted: 0th byte, the end position: 999th byte, and the file size: 1000 bytes. This means transmitting one file at a time as described above. In addition, pause time: 1200 seconds (20 minutes), file retention period: 1800 seconds (30 minutes) are also specified. [0069] Note that [suspend-req] indicating a transfer suspension request is 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.
  • URI included in the CreateObject response received from the sink device 102 is described.
  • the sink device 102 can associate the specific object with the received file data.
  • the POST request is appended with "Expect: 100-continue".
  • the sink device checks whether the sent POST request can be accepted by the above-mentioned URI according to RFC2616.
  • the source device 101 transmits a file to the sink device 102 by receiving the “100 Continue” status from the sink device 102 (S 505).
  • File data is stored in Entity Body of POS T request and sent.
  • the sink device 102 stores the received file data in the file storage unit 804. If it takes time to store the file in the file storage unit 804 after completion of file reception, for example, if the storage is not completed within 20 seconds, the sink device 102 transmits "102 Processing" specified in RFC 2518. (S506) The source device 101 is notified that storage processing is in progress. The sink device 102 transmits '201 Created' every time the storage is completed, and notifies the source device 101 that the storage is completed (S507).
  • the file transfer from the source device 101 to the sink device 102 is completed by the operation of each device described above.
  • the communication sequence shown in FIG. 5 is a basic communication sequence in which interruption does not occur in the middle of file transfer. There may also be interruption of transfer. Therefore, the communication sequence and the operation of each device when interruption occurs in the middle of file transfer will be described below with reference to FIGS. 7 to 9. Also, the communication sequence and the operation of each device when resuming file transfer will be described using FIG.
  • FIG. 7 is a diagram showing an example of a communication sequence when file transfer is interrupted due to the convenience of the source device 101 in the file transfer system of the embodiment. The operation of each device when file transfer is interrupted due to the convenience of the source device 101 during transmission of file data from the source device 101 to the sink device 102 will be described using FIG.
  • the source device 101 and the sink device 102 perform CDS: CreateObject request and response communication as in the communication sequence of FIG. After this, the source device 101 sends a POST request to the sink device 102 (S 503). The sink device 102 transmits "100 Continue” status to the source device 101 as a response to the POST request (S504). The source device 101 starts transmission of 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.
  • the factor for interrupting file transfer is, for example, deletion from the file transfer file storage unit 705 being transferred by the user's operation.
  • the source device 101 further transmits a POST request packet including [suspend ⁇ req] and [lifetime] to the sink device 102 (S 707).
  • [suspend-req] is information indicating a file transfer suspension request, as shown in FIG. That is, the sink device 102 can know that the file transfer is interrupted by receiving [suspend ⁇ req].
  • [Lifetime] is information indicating the time for which the sink device 102 should hold file data as described above. In this case, the source device 101 resumes file transfer within that time. It also means that. The sink device 102 may delete the received and stored file data after the file holding period has elapsed.
  • the RST packet and the POST request packet are generated by the file transmission control unit 702 and transmitted to the sink device 102.
  • POST request it refers to a POST request packet as an entity.
  • the interruption detecting unit 707 detects that the file transfer has been interrupted by detecting that the TCP connection has been disconnected.
  • the sink device 102 When the sink device 102 receives the above POST request, the sink device 102 sends back “200 OK” (S 70).
  • the source device 101 executes the file transfer restart operation, which will be described later with reference to FIG. 11, after there is no cause for interrupting the file transfer.
  • file transfer is interrupted after the start of file data transmission and before file transfer is completed due to the convenience of source device 101. .
  • FIG. 8 is a diagram showing an example of a communication sequence when file transfer is interrupted due to the convenience of the sink device 102 in the file transfer system of the embodiment.
  • the source device 101 and the sink device 102 perform CDS: CreateObject request and response communication. After this, the source device 101 sends a POST request to the sink device 102 (S 503). The operation up to this point is the same as the communication sequence shown in FIG.
  • the sink device 102 is in a state where it can not perform file reception processing, and transmits “503 Service Unavailable” status as a response to the POST request.
  • the state in which file reception processing can not be performed is, for example, a state in which the file storage unit 804 has no free space.
  • the sink device 102 indicates in the status packet the start of file transfer restart.
  • the source device 101 executes the file transfer restart operation described later with reference to FIG. 11 after the time indicated by“ retry— after ”has elapsed.
  • the source device 101 After the sink device 102 is notified of the size and the like of the file transferred by the POST request, and before the transmission of the file data is started, the file transfer is interrupted by the convenience of the sink device 102.
  • FIG. 9 is a diagram showing another example of a communication sequence when file transfer is interrupted due to the convenience of the sink device 102 in the file transfer system according to the embodiment.
  • the source device 101 and the sink device 102 perform CDS: CreateObject request and response communication.
  • the source device 101 sends an HTTP request of the POST method to the sink device 102 (S 503).
  • the sink device 102 transmits the "100 Continue" status to the source device 101 as a response to the HTTP request (S504).
  • the source device 101 starts transmission of 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.
  • the sink device 102 a factor for interrupting file transfer occurs, and an RST packet is sent. As a result, the TCP connection used for file transfer is disconnected (S906).
  • the factor for interrupting the file transfer is, for example, the need to read another file from the file storage unit 804, and the file data to be received can not be stored.
  • the file transmission control unit 702 of the source device 101 transmits a POST request to the sink device 102 again (S 907).
  • the sink device 102 transmits “503 Service Unavailable” status to the source device 101 as a response to the POST request (S 908).
  • the status packet contains the above [retry— after].
  • the “503 Service Unavailable” accompanied by this [retry— after] is a file transfer interruption request from the sink device 102.
  • the interruption detection unit 707 of the source device 101 detects the interruption request to detect interruption of the file transfer.
  • Source device 101 has passed the time indicated by "retry— after" After that, the file transfer restart operation described later with reference to FIG. 11 is executed.
  • file transfer is interrupted by a factor on the sink device 102 side after the start of transmission of file data and before the completion of transmission.
  • FIG. 10 is a diagram showing a communication sequence at the time of resuming file transfer in the file transfer system of the embodiment.
  • the interruption detection unit 707 of the source device 101 detects that the file transfer has been interrupted (S 1000).
  • file transmission is interrupted depending on the type and content of packets to be transmitted or received, regardless of whether the interruption of file transfer is due to the convenience of the source device 101 or the convenience of the sink device 102. Can be detected.
  • the source device 101 suspends the file transfer due to its own circumstances, the source device 101 suspends the file transfer after the factor of the suspension disappears, or when the file transfer is suspended due to the convenience of the sink device 102. After the time shown in [retry— after] transmitted from the sink device 102 has elapsed, the following operation is performed.
  • the source device 101 transmits a CDS: Browse request to the sink device 102 (S 1001), and inquires of the sink device 102 about the file storage size.
  • the inquiry unit 708 includes a notification request of the stored data size in the CDS: ROWSE request generated by the file transmission control unit 702 of the source device 101.
  • the CDS: Browse request is sent to the sink device 102 via the network interface 706.
  • the sink device 102 When the sink device 102 receives the above-described CDS: Browse request, the sink device 102 transmits a CDS: Browse response including the stored data size to the source device 101 (S 1002).
  • the stored size acquisition unit 806 acquires the data size of the file data constituting the file, which is stored in the file storage unit 804. Furthermore, the file reception control unit 801 generates a CDS: Browse response including the data size acquired by the stored size acquisition unit 806. Generated CDS: Browse response is net ⁇ It is transmitted to the source device 101 via a single interface 805.
  • the file transmission control unit 702 of the source device 101 determines the start position of the file to be transferred according to the received saved data size, and reads the file data from the file storage unit 705.
  • the file size is 1000 bytes and the stored data size notified from the sink device 102 is 400 bytes.
  • the file data stored in the sink device 102 is file data up to 0 399 eyes and so on.
  • the file transmission control unit 702 reads the file data up to the remaining 400th byte such as the 999th file from the file storage unit 705 via the file control unit 703.
  • “remaining file data” refers to the remaining file data excluding the file data stored in the sink device 102 from the file data to be transferred, as described above.
  • the source device 101 transmits, to the sink device 102, a POST request including [byte range] indicating the data range and the file size (S 1003).
  • the sink device 102 transmits “100 Continue” status to the source device 101 as a response to the POST request (S 1004).
  • the file transmission control unit 702 of the source device 101 causes the communication control unit 704 to transmit the remaining file data read from the file storage unit 705. (S1005).
  • the file control unit 802 of the sink device 102 combines the received file data with the file data saved before interruption based on the data range shown in [byte-range], and reconstructs the original file. .
  • the source device 101 can inquire of the sink device 102 about the stored data size when restarting the interrupted file transfer. Also, the sink device 102 according to the embodiment of this invention can notify the stored data size to the source device 101 in response to the inquiry.
  • the source device 101 only needs to transmit only the remaining file data for which the file transfer does not need to be reworked again.
  • the sink device 102 can not receive file data redundantly. That is, with the source device 101, the sink device 102, and the file transfer system according to the embodiment of this invention, in the spontaneous file transfer from the source device 101, the interruption longer than the specified timeout time of the TCP connection is Even if it occurs, the process related to file transfer can be executed efficiently.
  • each device when file transfer is interrupted may not be interrupted due to the convenience of the source device 101 or the sink device 102. In some cases, it may be necessary to cancel.
  • Each of the source device 101 and the sink device 102 according to the embodiment of this invention can notify each other when stopping file transfer.
  • the communication sequence and the operation of each device relating to the cancellation of the file transfer will be described below with reference to FIGS.
  • FIG. 11 is a diagram showing an example of a communication sequence when file transfer is canceled due to the convenience of the source device 101 before transmission of file data is started in the file transfer system according to the embodiment. It is. The operation of each device when execution of file transfer is canceled due to the convenience of the source device 101 before file transfer is started will be described using FIG.
  • the source device 101 and the sink device 102 perform the CDS: CreateObject request and response communication as in the communication sequence of FIG. 5 (S501, S502). After this, before the source device 101 transmits a POST request, it is assumed that an event such as cancellation instruction of file transfer is given by the user in the source device 101 or deletion of a file to be transferred occurs. .
  • the source device 101 transmits a CDS: DestroyObject request to the sink device 102 in place of the POST request in order to cancel file transfer (S 1103).
  • Sink device 102 receives CDS: DestroyObject, CDS: CreateObject request Delete the object created according to (S501). Further, in order to notify that the object has been deleted, a CDS: DestroyObject response is returned to the source device 101 (S 1104).
  • the sink device 102 deletes the object created for storing the file. . That is, objects that are wasted in the sink device 102 are deleted promptly.
  • FIG. 12 is a diagram showing an example of a communication sequence when file transfer is canceled due to the convenience of the source device 101 during transmission of file data in the file transfer system of the embodiment.
  • the source device 101 and the sink device 102 perform CDS: CreateObject request and response communication as in the communication sequence of FIG. After this, the source device 101 sends a POST request to the sink device 102 (S 503). The sink device 102 transmits "100 Continue” status to the source device 101 as a response to the POST request (S504). The source device 101 starts transmission of 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.
  • the source device 101 transmits a RST packet of TCP to cancel the file transfer (S1206). This disconnects the TCP connection used for file transfer.
  • the source device 101 further sends a CDS: DestroyObject request to the sink device 102 (S1207). O
  • the sink device 102 deletes the received file data in response to the CDS: DestroyObject request, and the CDS: DestroyObject response Transmission to the source device 101 (S1208).
  • the sink device 102 deletes the received and saved file data. In other words, incomplete file data that is wasted in the sink device 102 is promptly deleted.
  • FIG. 13 is a diagram showing an example of a communication sequence when file transfer is canceled due to the convenience of the sink device 102 before transmission of file data is started in the file transfer system according to the embodiment. is there.
  • the source device 101 and the sink device 102 perform CDS: CreateObject request and response communication. After this, the source device 101 transmits a POST request to the sink device 102 (S 503). The operation up to this point is the same as in Figure 5.
  • the sink device 102 transmits “404 Not Found” status to the source device 101 as a response to the POST request (S1304).
  • the source device 101 cancels the process relating to the file transfer according to “404 Not Found”.
  • the source device 101 cancels the process related to the file transfer by the notification of the sink device 102. In other words, the source device 101 does not continue unnecessary processing.
  • FIG. 14 shows that the file transfer system according to the embodiment transmits file data during transmission.
  • FIG. 10 is a diagram showing an example of a communication sequence when file transfer is canceled due to the convenience of the sink device.
  • the source device 101 and the sink device 102 perform CDS: CreateObject request and response communication as in FIG. After that, the source device 101 sends a POST request to the sink device 102 (S 503). The sink device 102 transmits “100 Continue” status to the source device 101 as a response to the POST request (S 504). The source device 101 starts transmission of 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.
  • the sink device 102 a factor for interrupting the file transfer occurs, and the TCP RST packet is transmitted (S1406). This disconnects the TCP connection used for file transfer.
  • the source device 101 transmits a POST request again to the sink device 102 (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 cancels the file transfer process in response to "404 Not Found".
  • the source device 101 is a sink device.
  • the process related to the file transfer is canceled by the notification from 102. That is, the source device 101 does not continue unnecessary processing.
  • the source device 101 and the sink device 102 stop file transfer, it is a waste of resources, regardless of the convenience of which device the stop is due to. Processing for stopping file transfer is performed so that consumption and unnecessary processing do not occur.
  • the source device 101 refers to the sink device 102 when the file transfer is interrupted.
  • the parameters to be sent the parameters shown in Fig. 6 were added to the HTTP request packet and sent.
  • the sink device 102 can obtain such information from the message header of the POST request transmitted from the source device 101.
  • the source device 101 when transferring a file to the sink device 102, transfers the file in a batch. In the meantime, the source device 101 can divide the file and send it to the sink device 102 for each division unit. For example, when there is a limit to the data size that can be received by a single POST request, the method of transmitting file data in units of division by the source device 101 is effective.
  • FIG. 15 is a diagram showing a communication sequence of the file transfer system in which the source device 101 divides and transfers files to the sink device 102. The operation of each device when the source device 101 divides and transfers a file will be described with reference to FIG. It is assumed that the source device 101 uses the above-defined header UploadTransportlnfo. Dlna. Org, as described above, to notify the sink device 102 of the range of file data to be transmitted.
  • the source device 101 Before transferring the file, the source device 101 transmits a CDS: Create Object request to the sink device 102 (SI 503).
  • the sink device 102 creates an object according to the CDS: CreateObject request, and transmits a CDS: CreateObject response to the source device 101 (S 1504).
  • the source device 101 determines the size for dividing and transferring the file.
  • the size of the divisional transfer can be arbitrarily determined in consideration of interruption of transfer, frequency of restart, transfer size which is wasted at interruption, overhead by division, etc.
  • the 1000-byte file is divided into file data up to the first 0-th byte and up to 499th file, and file data of the next 500th-row and third 999th file (S1505). This file division is performed by the file transmission control unit 702 of the source device.
  • the source device 101 starts file transfer. Specifically, the source device 101 sends a POST request (SI 506).
  • a POST request has an independently defined header, UploadTransportlnfo.dlna. Org: [byte-range], [lifetime]; 3 ⁇ 4.
  • [byte—range] is information indicating the range of data included in the Entity Body part of HTTP following the header and the total size of the file, and the range of data “0—499”
  • the total size of "1000" is specified.
  • [lifetime] specifies the content retention period, and in this case "1800" in seconds, that is, 30 minutes is specified.
  • the sink device 102 transmits “100 Continue” to the source device 101 as a response to the POST request (S1507).
  • the source device 101 transmits file data of the data range notified to the sink device 102 (S1508). Specifically, the file data is stored in the Entity Body of the POST request and sent. The scope of the file included in Entity Body is only 500 bytes of "0-499" as mentioned above.
  • the sink device 102 starts storing in the file storage unit 804. After the start of the storage, if the storage can not be completed within about 20 seconds, for example, because the writing speed to the file storage unit 804 is slow, “102 Processing” is transmitted (S1509). Thereafter, when the storage of the received file data is completed (S1510), “201 Created” is transmitted to the source device 101 (S1511) to notify that the transfer data has been stored.
  • the source device 101 and the sink device 102 transmit the POST request from the source device 101 to the sink device 102 (S1506), and the notification of storage completion from the sink device 102 to the source device 101, etc.
  • the next division unit 5 Transfer of fly-nore data up to the 999th eye with the 00th eye power is performed (S 1512 to S 1517).
  • the source device 101 stores “500— 999 Z 1000” in [byte—r ange] of the UploadTransportlnfo. Dlna. Org header, and notifies the sink device 102.
  • the sink device 102 interprets this, appends the file data (S 1515) to be received thereafter to the file data of the 499th byte such as the 0th unity force which is already stored, and stores it in the file storage unit 804.
  • the source device 101 can receive the sink device 102 as shown in the communication sequence of FIG. By querying the stored data size, only the remaining file data to be sent will be sent. For example, in the communication sequence of FIG. 15, it is assumed that the file transfer is interrupted during the transmission of the first 500 bytes and 200 bytes have been stored in the sink device 102 by then. In this case, the source device 101 acquires that the stored data size is “200” by inquiring the sink device 102. Thereafter, the source device 101 transmits the remaining 300 bytes to the sink device 102.
  • the file data being transmitted is retransmitted. For example, in the communication sequence shown in FIG. 15, if the file transfer is interrupted during the subsequent transmission of 500 bytes and the source device 101 can not obtain the saved data size from the sink device 102, the subsequent 500 bytes Send from the beginning.
  • the source device 101 since it is confirmed that the first 500 bytes have already been stored in the sink device 102 by “201 Created” from the sink device 102, the source device 101 only records the latter 500 bytes. I'll send it again.
  • the method of dividing and transmitting the file to be transferred is not limited to the case where the sink device 102 is limited in the data size that can be received by one POST request, as well as the file. It is also effective for efficient transfer.
  • the sink device 102 can determine whether the received file data is a part of file data constituting a file or all file data constituting a file.
  • the received file data is specified from the source device 101 as described above.
  • the sink device 102 may delete it after a predetermined period has elapsed, based on the above-mentioned [byte-rang e].
  • the file Data may be deleted.
  • the header name for notifying the sink device 102 of these [byte range] and [lifetime] etc. may be a header name other than UploadTransportlnfo. Dlna. Org.
  • the header naming method defined in Digital Living Network Alliance (DLNA) ". Dlna. Org” is used as a suffix to avoid accidental coincidence with any other header name.
  • DLNA Digital Living Network Alliance
  • a 1000-byte file is divided into 500 bytes. Although it is divided into two, it is possible to arbitrarily divide other than that which is naturally limited to the divided unit.
  • file transfer may be interrupted or canceled due to the circumstances of the source device 101 or the sink device 102. Therefore, the communication sequence and the operation of each device in the case where file transfer is interrupted before transmission of file data which is one divided fragment will be described below with reference to FIG. 16 and FIG. The communication sequence and the operation of each device when the file transfer is interrupted will be described with reference to FIG.
  • FIG. 16 is a diagram showing a communication sequence in the case where file transfer is interrupted due to the circumstances of the source device 101 before transmission of one file data after division in the file transfer system for dividing and transferring files. It is.
  • the source device 101 stores an UploadTransportlnfo. Dlna. Org header including [suspend] indicating suspension of processing in the message header of the POST request, and transmits it to the sink device 102 (S1606).
  • the source device 101 can explicitly notify the sink device 102 of suspension by the field value indicating [suspend] which is a keyword included in this UploadTransportlnfo. Dlna. Org: header. In this case, the Entity Body of the POST request is not sent. Also, as in the communication sequence of FIG. 15, [lifetime] is also included in the above header, and for example, “1800”, that is, 30 minutes, is specified in seconds.
  • the sink device 102 transmits “200 OK” (S1607) to indicate that the interruption has been accepted.
  • the sink device 102 can take an appropriate action such as sleeping the unnecessary transfer process, so generation of unnecessary processing occurs.
  • uploading is resumed using UploadTransportlnfo. Dlna. Org: the [lifetime] of the header.
  • the source device 101 can optionally perform within a fixed 30 minutes. If the source device 101 can not resume transfer within 30 minutes, it is also possible to re-extend the transfer resume period by sending UploadTmnsportlnfo. Dlna. Org: suspend again.
  • FIG. 17 shows the sink device 1 in the file transfer system for dividing and transferring files.
  • FIG. 18 is a diagram showing a communication sequence in the case where file transfer is interrupted due to the convenience of the sink device 102 when 02 receives a POST request.
  • the sink device 102 that has received the POST request (S1506) is not in a state where it can perform file transfer because data is being read from the file storage unit 804 or the like.
  • the sink device 102 transmits “503 Service Unavailable” to the source device 101 as a response to the POST request (S 1707), and notifies the source device 101 that it is not in a state where file transfer can be performed.
  • the sink device 102 notifies the expected time that transfer can be started by storing a Retry-After: header in a response message including "503 Service Unavailable". That is, the "Retry-After:” header is information indicating when to resume file transfer. Furthermore, UploadTransportExpirelnfo. D lna. Org, which is a header defined uniquely, notifies the period during which restart is possible by storing the header.
  • the header is a header for indicating the end of accepting the file transfer.
  • “1800" that is, 30 minutes, is specified in seconds. In this case, it indicates that the file transfer is accepted until 30 minutes after the sink device 102 transmits the response message (S1707).
  • the object created in response to the CDS: CreateObject request (S1 503) from the source device 101 is deleted.
  • the Retry-After header defined in RFC 2616 is generally not a guarantee for restarting the service.
  • Retry-After The possibility that the service can be resumed even if retrying is performed at intervals shorter than the period indicated in the header. To notify that it is thin and reduce the polling load on the other device.
  • the source device 101 restarts the transfer within 20 minutes indicated by the UploadTransportExpirelnfo. Dlna. Org: header after 20 minutes indicated by the Retry-After: header with respect to the sink device 102. If possible, perform the subsequent file data transmission.
  • the source device 101 is configured by the “Retry – After:” header, and “UploadTransportExpirelnfo. Dlna. The source device 101 is notified of the start and end times to retry file transfer.
  • the source device 101 does not perform unnecessary retries. As a result, wasteful use of resources in the source device 101 and on the transmission path can be prevented.
  • FIG. 18 is a diagram showing a communication sequence in the case where the file transfer is canceled due to the convenience of the sink device 102 in the file transfer system for dividing and transferring the file.
  • the sink device 102 In the communication sequence of FIG. 18, after the source device 101 transmits a CDS: CreateObject request (S 1503), the sink device 102 notifies the source device 101 that it is not ready to transfer files, etc.
  • the steps up to (S 1707) are as described using FIG. 15 and FIG.
  • the sink device 102 interrupts the file transfer. It is assumed that when the source device 101 retries the file transfer (S1808), the sink device 102 wants to cancel the file transfer without restarting the file transfer.
  • the reason for this is, for example, when there is no possibility that the file transfer can be resumed because the file storage unit 804 has run out of free space, or the transfer itself causes problems in the operation of the sink device 102. Etc.
  • the sink device 102 transmits "404 Not Found” as a response (S 180 9), and the destination URI resource, that is, obje ct for saving transmitted file data is deleted. Indicates that it is no longer usable. Note that due to the difference between the timers of the source device 101 and the sink device 102, the same sequence may occur even when the source device 101 retries with respect to the URI already deleted from the sink device 102.
  • the present invention is not limited to the above-described example of managing file transfer per UPnP-AV object unit, and is applicable to the case of simply transmitting a file to a predetermined URI.
  • the source device 101 or sink device 102 may interrupt or cancel the transfer to the other device. It can be notified. As a result, a device that has been notified of an interruption or cancellation will not continue processing for file transfer that would otherwise be wasted.
  • the power described in the case of transmitting a file by the HTTP POST method is not limited to this, and the present invention is also applicable to PUT methods and file transfer protocols other than HTTP to which similar handshake sequences can be applied. is there.
  • FIG. 16 to FIG. 18 show communication sequences in the case where the file transfer after the file data division is not transmitted even once is interrupted or canceled.
  • the operation of each device at the time of the interruption or cancellation of the file transfer described with reference to FIGS. 16 to 18 is that the file data is transmitted once or more, and the next file data is transmitted. It is the same even if it is interrupted or canceled before being
  • the sending device, receiving device, and file transfer system of the present invention are useful in a file transfer system for transferring files between any devices connected to a network. This is particularly effective when resuming transfer from the beginning when there is a lot of waste when interrupting and resuming transfers that are large in file size.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

 本発明は、送信機器から自発的に受信機器へファイルを転送するファイル転送システムにおいて、ファイル転送が長時間にわたり中断される場合であっても、ファイル転送に係る処理を効率的に実行するための送信機器、受信機器およびファイル転送システムを提供する。  本発明のファイル転送システムにおいて、受信機器であるシンク機器は、送信機器であるソース機器から受信する、ファイルを構成するファイルデータを保存し、ソース機器から保存済サイズを問い合わせられると、保存済サイズをソース機器に送信する。また、ソース機器は、ファイル転送の中断を検出し、ファイル転送を中断が検出した後に、シンク機器に保存済データサイズを問い合わせる。更に、その問い合わせに応じてシンク機器が応答した保存済データサイズに基づき、ファイルを構成する残りのファイルデータを送信する。

Description

明 細 書
送信機器、受信機器、およびファイル転送システム
技術分野
[0001] 本発明はネットワークを介してファイル転送を行うための送信機器、受信機器およ びフアイル転送システムに関する。
背景技術
[0002] 近年、 xDSLや光ファイバ一などのブロードバンド環境が整ったことにより、企業、 一般家庭を問わずインターネット接続が急速に普及してきている。また、家庭内のパ 一ソナルコンピュータ(PC)や家電機器を Ethernet (登録商標)や無線 LANなどで 接続するホームネットワーク環境も一般ィ匕してきている。この様な状況の中で、 PCだ けでなく、テレビや DVDレコーダ、エアコン、冷蔵庫のような家電も Internet Engin eering Task Force (IETF)により定義される Internet Protocol (IP)により相互 に接続できるようになつてきて 、る。
[0003] インターネットやホームネットワークにおけるアプリケーションプログラムの 1つとして 、家電機器、 PC間でファイルを転送するアプリケーションプログラムがある。ファイル を転送するアプリケーションプログラムの例として、 DVDレコーダに録画した TV番組 を編集するために PCに転送したり、 DVDレコーダ間で録画した MPEG2ファイルを 転送するなどのダビング機能を提供するアプリケーションプログラムがある。
[0004] この様なファイル転送を行うプロトコルでは一般的に、ファイルの転送が誤り無く行 われることが要求される一方で、リアルタイムの転送は必ずしも要求されない。 IPにお いてファイル転送を行う代表的なプロトコルとしては、 RFC2616で定義される Hyper
Text Transfer Protocol (HTTP)や、 RFC959で定義される File Transfer Protocol (FTP)等が存在する。これらのプロトコルは!、ずれも RFC793で定義され る Transmission Control Protocol (TCP)の再送機能によって転送の信頼性を 確保している。
[0005] すなわち、 TCPはパケットのエラーを検出して再送する手順と、欠落したパケットを 検出して再送する手順を含んでおり、そのために伝送路上でエラーやパケット欠落 が起こっても正し 、ファイルの転送が保障できる。一方で TCPの再送手順には限界 もあり、例えば伝送路の障害や、送信元の機器 (以下、「ソース機器」という。)や、受 信先の機器 (以下、「シンク機器」という。)の都合により転送の中断が長時間に渡つ た場合、 TCP接続力タイムアウトにより切断されてしまい、それ以後のファイル転送が 行えなくなるという課題が存在した。ここでの機器の都合には障害のほか、機器の他 の機能を実行するためにファイル転送を中断せざるを得ない場合を含む。例えば、 D VDレコーダがタイマー録画を実行するためにファイル転送を中断する場合などが挙 げられる。
[0006] HTTPには上述の課題を解決するための手順が含まれており、転送の中断が任意 の長時間に渡った場合でも、再度 TCP接続を行って、中断前に転送した位置の直 後からファイル転送を再開できるシーケンスが定義されている。本シーケンスを図 1を 用いて説明する。
[0007] 図 1は、従来のソース機器およびシンク機器により構成されるファイル転送システム におけるファイル転送の再開に係る通信シーケンスの一例を示す図である。
[0008] 図 1に示す通信シーケンスは、ソース機器 1001からシンク機器 1002に対してファ ィル転送を行うためのファイル転送システムにおける通信シーケンスである。また、フ アイル転送の途中で TCP接続が切断される場合を想定している。
[0009] まず、シンク機器 1002はソース機器 1001に対し、 HTTP GETリクエストを発行 する(S101)。ソース機器 1001は本リクエストに対し、 "200 OK"を応答し(S102) 、 1000バイトのファイルを送信する(S103)。その後、通信障害が発生し、 TCP接続 が切断される(S 104)。
[0010] ここで、 TCP接続が切断されるまでにシンク機器 1002には 500バイトのデータが保 存できていたと想定する(S105)。シンク機器 1002は、通信障害が回復するのを待 ち、任意の時点で TCPの再接続を行い、転送を再開することができる。転送の再開 はシンク機器 1002がソース機器 1001に対し、 Rangeヘッダを追加した HTTP GE Tリクエストを送信し(S 106)、転送対象のファイルの先頭から 500バイト目以降のデ ータを要求することにより行われる。
[0011] ソース機器 1001は、シンク機器 1002から指定された Range (ここでは 500— 999 バイト目である。)に従ってデータを送信し (S 107、 S 108)、シンク機器 1002は受信 したデータを保存する(S 109)。これにより、転送済みのデータを再送することなぐ 未転送のデータのみを転送の再開によって取得することが可能である。この様な手 順力 例えばインターネット上のサーバに配置される数メガノイト以上もの大きなファ ィルのダウンロードが失敗した場合に、取得済みのデータの続きから取得することで 効率よくファイルを取得するアプリケーションプログラムで使用されている。
[0012] HTTPの GETメソッドを利用し、データの提供を行う技術につ!ヽても開示されて!ヽ る (例えば、特許文献 1参照)。
特許文献 1 :特開 2002— 288162号公報
発明の開示
発明が解決しょうとする課題
[0013] しかしながら、上記従来の HTTPのファイル転送の中断、再開手順は、 HTTPの G ETメソッドでは使用できるが POSTメソッドでは使用できな ヽと 、う課題が存在する。 インターネット上のサーバから PCにファイルをダウンロードする場合は HTTPの GET メソッドが使用されるためこの様な制約は問題にはならない。
[0014] しかし、ネットワークに接続される任意の機器間でファイルを転送する場合において 、ソース機器が任意のファイルをシンク機器の要求なしに自発的に送信しょうとする 場合は通常 HTTP POSTメソッドが用いられる。そのため、ソース機器とシンク機器 との間の通信が中断した場合には、通信の再開後にファイルの送信を最初力も行わ なければならず、ファイル転送のためのリソースや時間を無駄に消費するという課題 がある。
[0015] この課題はより一般的にいうと、ソース側力 自発的にデータを送信することをトリガ としてプッシュ型のフロー制御を行うファイル転送プロトコルにお 、ては、シンク側から リクエストを発行するプル型のフロー制御と異なり、通信の中断があった場合に、効率 的なファイル転送を行う手順が存在しなカゝつたという課題である。
[0016] さらに、前述の HTTPの GETメソッドにおけるファイル転送の中断、再開手順にお いても、再開の可能な期間が規定されておらず、従ってサーバ上に長期間公開され るファイルを不特定多数の PCがダウンロードする用途には適する力 ネットワークに 接続される任意の機器間でファイルを転送する場合にぉ ヽて、ソース機器およびシ ンク機器がいつまで再開を可能な状態に維持すべきか明確で無い。そのため、ソー ス機器およびシンク機器においてリソースの無駄が生じることとなる。
[0017] 本発明は、上記課題を考慮し、送信機器から自発的に受信機器へファイルを転送 するファイル転送システムにおいて、ファイル転送が長時間にわたり中断される場合 であっても、ファイル転送に係る処理を効率的に実行するための送信機器、受信機 器およびファイル転送システムを提供することを目的とする。
課題を解決するための手段
[0018] 上記目的を達成するために、本発明のファイル転送システムは、ネットワークを介し 、ファイルを送信する送信機器カゝら前記ファイルを受信する受信機器へのファイル転 送を行うファイル転送システムであって、前記受信機器は、前記送信機器から受信す る、前記ファイルを構成するファイルデータを保存する保存手段と、前記保存手段に 保存済みのファイルデータのサイズである保存済サイズを取得する保存済サイズ取 得手段と、前記送信機器力 前記保存済サイズを問い合わせられると、前記保存済 サイズ取得手段により取得された前記保存済サイズを前記送信機器に送信する受信 制御手段とを備え、前記送信機器は、ファイルデータを前記受信機器に送信する送 信手段と、前記ファイル転送の中断を検出する検出手段と、前記検出手段により前 記ファイル転送の中断が検出された後に、前記受信機器に前記保存済データサイズ を問い合わせる問合せ手段と、前記問合せ手段による問い合わせに応じて前記受 信機器が応答した保存済データサイズに基づき、前記ファイルを構成する残りのファ ィルデータを前記送信手段に送信させる送信制御手段とを備える。
[0019] また、本発明の送信機器は、ネットワークを介し、受信機器へファイルを転送するフ アイル転送を行う送信機器であって、前記ファイルを構成するファイルデータを前記 受信機器に送信する送信手段と、前記ファイル転送の中断を検出する検出手段と、 前記検出手段により前記ファイル転送の中断が検出された後に、前記受信機器に保 存されて!/ヽるファイルデータのサイズである保存済データサイズを問 ヽ合わせる問合 せ手段と、前記問合せ手段による問い合わせに応じて前記受信機器が応答した保 存済データサイズに基づき、前記ファイルを構成する残りのファイルデータを前記送 信手段に送信させる送信制御手段とを備える。
[0020] また、本発明の受信機器は、ネットワークを介し、送信機器から送信されるファイル を受信する受信機器であって、前記送信機器から受信する、前記ファイルを構成す るファイルデータを保存する保存手段と、前記保存手段に保存済みのファイルデー タのサイズである保存済サイズを取得する保存済サイズ取得手段と、前記送信機器 力 前記保存済サイズを問い合わせられると、前記保存済サイズ取得手段により取 得された前記保存済サイズを前記送信機器に送信する受信制御手段とを備える。
[0021] このように、本発明によれば、送信機器は、ファイル転送の中断後、受信機器に保 存済サイズを問い合わせることができる。また受信機器は、その問い合わせへの応答 として保存済サイズを送信機器に送信することができる。送信機器は、保存済サイズ を知らされることにより、受信機器に送信すべき残りのファイルデータのみを送信する ことができる。
[0022] つまり、中断されたファイル転送の再開に際し、送信機器は、ファイルデータの送信 を最初力 行う必要がなぐ受信機器にとって必要な残りのファイルデータのみを送 信すればよい。また、受信機器は、重複する無駄なファイルデータを受信することが ない。従って、送信機器および受信機器におけるファイル転送に係る処理において、 長時間にわたる中断が発生した場合においても、無駄な処理やリソースの無駄な消 費が発生することがなぐファイル転送に係る処理を効率的に実行することができる。
[0023] また、本発明のファイル転送システムにおいて、前記受信制御手段は、更に、フアイ ル転送の中断を要求する中断要求を前記送信機器へ送信し、前記中断要求は、前 記受信機器が前記ファイル転送を再開する始期を示す始期情報と、前記受信機器 が前記ファイル転送を受け入れる終期を示す期間情報とを含み、前記検出手段は、 前記中断要求を受信することで前記ファイル転送の中断を検出し、前記送信制御手 段は、前記始期から前記許可期間の間に前記残りのファイルデータを前記送信手段 に送信させるとしてもよぐまた、本発明のファイル転送システムにおいて、前記送信 制御手段は、更に、前記送信手段がファイルデータを送信する前に、前記ファイルデ ータの前記受信機器における保持期間を前記受信機器に通知し、前記受信制御手 段は、更に、前記ファイルデータが前記保存手段に保存され、かつ、前記ファイルデ ータの保持期間が経過する前に、前記ファイルを構成する全てのファイルデータを前 記送信機器から受信しな 、場合、前記保存手段に保存されて!ヽる前記ファイルデー タを削除するとしてもよい。
[0024] このように、送信機器と受信機器とは互いに、ファイル転送を行う期間についての情 報をやりとりすることができる。これにより、送信機器および受信機器のそれぞれは、 相手機器によりファイル転送が中断された場合、いつまでもファイル転送の再開に備 えておく必要がなぐそれぞれの機器のリソースを無駄に消費することがない。つまり 、ファイル転送に係る処理を効率的に実行することができる。
[0025] 更に、本発明は、本発明のファイル転送システム、送信機器および受信機器それ ぞれの特徴的な構成部をステップとする方法として実現したり、それらのステップを含 むプログラムとして実現したり、そのプログラムが格納された、 CD— ROM等の記録 媒体として実現したり、集積回路として実現することもできる。プログラムは、通信ネッ トワーク等の伝送媒体を介して流通させることもできる。 発明の効果
[0026] 本発明は、送信機器から自発的に受信機器へファイルを転送するファイル転送シ ステムにおいて、ファイル転送が長時間にわたり中断される場合であっても、ファイル 転送に係る処理を効率的に実行するための送信機器、受信機器およびファイル転送 システムを提供することができる。
[0027] 例えば、ファイルを HTTPの POSTメソッドを用いて送信するソース機器と、ソース 機器カゝらファイルを受信するシンク機器とにより構成されるファイル転送システムにお いて、ファイル転送の中断が発生し、 TCP接続力タイムアウトした後であっても、送信 機器は保存済みのデータサイズを知ることができる。従って、送信機器は、受信機器 おいて保存済みのデータに続くデータを受信機器に転送することができる。
[0028] つまり、あるファイルを転送する場合、送信機器にお!ヽては、無駄なデータ送信を 行うことがなぐ受信機器においては、無駄なデータを受信することがない。
[0029] 結果として、ソース側力 データを送送信することをトリガとしてプッシュ型のフロー 制御を行うファイル転送プロトコルにお 、ても、リソースや時間などの無駄を発生させ ることなぐファイル転送に係る処理を効率的に実行することができる。 [0030] 更に、中断、再開手順において再開の可能な期間をノヽンドシェイクする方法および 手段を提供し、ソース機器およびシンク機器カ^、つまで再開を可能な状態に維持す べきか明確にすることができる。これにより、ファイル転送におけるソース機器および シンク機器のメモリやメディア等のリソースにおける無駄を無くすことができる。このこと によってもファイル転送に係る処理を効率的に実行することができる。
図面の簡単な説明
[0031] [図 1]図 1は、従来のソース機器およびシンク機器により構成されるファイル転送シス テムにおけるファイル転送の再開に係る通信シーケンスの一例を示す図
[図 2]図 2は、本発明の実施の形態のファイル転送システムの機器構成を示す図 [図 3]図 3は、本発明の実施の形態のソース機器の機能的な構成を示す機能ブロック 図
[図 4]図 4は、本発明の実施の形態のシンク機器の機能的な構成を示す機能ブロック 図
[図 5]図 5は、本発明の実施の形態のファイル転送システムにおける基本の通信シー ケンスを示す図
[図 6]図 6は、ソース機器カゝらシンク機器に送付される各パラメータの内容を示す図 [図 7]図 7は、実施の形態のファイル転送システムにおいて、ソース機器の都合により ファイル転送が中断される際の通信シーケンスの一例を示す図
[図 8]図 8は、実施の形態のファイル転送システムにおいて、シンク機器の都合により ファイル転送が中断される際の通信シーケンスの一例を示す図
[図 9]図 9は、実施の形態のファイル転送システムにおいて、シンク機器の都合により ファイル転送が中断される際の通信シーケンスの別の一例を示す図
[図 10]図 10は、実施の形態のファイル転送システムにおいて、ファイル転送を再開す る際の通信シーケンスを示す図
[図 11]図 11は、実施の形態のファイル転送システムにおいて、ファイルデータの送信 が開始される前に、ソース機器の都合によりファイル転送が中止される際の通信シー ケンスの一例を示す図
[図 12]図 12は、実施の形態のファイル転送システムにおいて、ファイルデータの送信 中に、ソース機器の都合によりファイル転送が中止される際の通信シーケンスの一例 を示す図
[図 13]図 13は、実施の形態のファイル転送システムにおいて、ファイルデータの送信 が開始される前に、シンク機器の都合によりファイル転送が中止される際の通信シー ケンスの一例示す図
[図 14]図 14は、実施の形態のファイル転送システムにおいて、ファイルデータの送信 中に、シンク機器の都合によりファイル転送が中止される際の通信シーケンスの一例 示す図
[図 15]図 15は、ソース機器がシンク機器にファイルを分割して転送するファイル転送 システムの通信シーケンスを示す図
[図 16]図 16は、ファイルを分割して転送するファイル転送システムにおいて、分割後 の 1つのファイルデータの送信前に、ソース機器の都合によりファイル転送が中断さ れる場合の通信シーケンスを示す図
[図 17]図 17は、ファイルを分割して転送するファイル転送システムにおいて、シンク 機器が POSTリクエストを受信した際に、シンク機器の都合により転送が中断される 場合の通信シーケンスを示す図
[図 18]図 18は、ファイルを分割して転送するファイル転送システムにおいて、シンク 機器の都合によりファイル転送が中止される場合の通信シーケンスを示す図 符号の説明
101 ソース機器
102 シンク機器
701 ユーザインターフェース
702 ファイル送信制御部
703、 802 ファイル制御部
704、 803 通信制御部
705、 804 ファイル蓄積部
706 、 805 ネットワークインターフェース
707 中断検出部 708 問合せ部
801 ファイル受信制御部
806 保存済サイズ取得部
発明を実施するための最良の形態
[0033] 以下、本発明を実施するための最良の形態について図面を用いて説明する。
まず、本発明の実施の形態のファイル転送システムの構成を図 2〜図 4を用 ヽて説 明する。
[0034] 図 2は、本発明の実施の形態のファイル転送システムの機器構成を示す図である。
本発明の実施の形態のファイル転送システムは、ソース機器 101からシンク機器 102 へファイルを転送するためのシステムである。
[0035] 図 2に示すように、ソース機器 101およびシンク機器 102はブロードバンドルータ 30 1に接続されてホームネットワークを構成する。ブロードバンドルータ 301はインター ネット 302に接続されて 、ても良 ヽ。
[0036] ソース機器 101とシンク機器 102は各々蓄積メディアを内蔵し、 Audio Visual (A V)コンテンツ等のファイルを蓄積することができる。具体的には、ソース機器 101は、 ファイル蓄積部 705を備え、シンク機器 102は、ファイル蓄積部 804を備える。
[0037] この様な機器の例としてネットワーク接続端子を備えた DVDZHDDノヽイブリツドレ コーダなどが上げられる。本実施の形態の初期状態ではソース機器 101がファイル 蓄積部 705にファイル 303を蓄積しており、本ファイルをホームネットワークを介して シンク機器 102に転送する。シンク機器 102はソース機器カゝら受信したファイル 303 をファイル蓄積部 804に蓄積する。
[0038] なお、本実施の形態ではシンク機器 102、ソース機器 101ともにユニバーサルプラ グアンドプレイフォーラムの発行する UPnP— AV規格に準拠しており、シンク機器 1 02は Contents Directory Service (CDS)サーバ機能を実装しており、ソース機 器 101は CDSサーバにアクセスする Control Point機能を実装しているものとする
[0039] 図 3は、本発明の実施の形態のソース機器 101の機能的な構成を示す機能ブロッ ク図である。ソース機器 101は、本発明の送信機器の一例である。なお、ソース機器 101について、本来備えられている Control Point機能等の図示および説明は省 略し、ソース機器 101にお 、て特徴的な構成部にっ 、てのみ図示および説明を行な
[0040] 図 3に示すように、ソース機器 101は、ユーザインターフェース 701、ファイル送信 制御部 702、ファイル制御部 703、通信制御部 704、ファイル蓄積部 705、およびネ ットワークインターフェース 706を備える。図中の点線で囲まれた領域にある構成部 は、ファイル転送に係る主要な処理を行う構成部である。
[0041] ユーザインターフェース 701は、ユーザからの指示等の入力を受け付け、また、ュ 一ザに映像等で情報を提供するインターフェースである。ネットワークインターフエ一 ス 706は、ホームネットワークを介してシンク機器 102との情報のやり取りを行うインタ 一フェースである。
[0042] ファイル蓄積部 705は、上述のように、 AVコンテンツ等のファイルを蓄積する記憶 装置である。
[0043] ファイル送信制御部 702は、ファイルのシンク機器 102への送信を制御する制御部 であり、問合せ部 708を有する。問合せ部 708は、中断されたファイル転送を再開す る際に、シンク機器 102に、保存済データサイズを問い合わせる処理部である。
[0044] なお、上記の保存済データサイズとは、ソース機器 101からシンク機器 102へのフ アイル転送において、シンク機器 102が受信し保存した、当該ファイルを構成するフ アイルデータ(以下、単に「データ」ともいう。)の容量のことを指す。つまり、ファイルサ ィズが 1000バイトである場合、保存済データサイズは 0バイトから 1000バイトの間の 値となる。
[0045] また、「ファイル転送の中断」とは、ファイルデータの送信が開始されて以降にフアイ ルデータの送信または受信が中断される場合だけでなぐファイル転送に必要な処 理が中断される場合も含む。
[0046] ファイル制御部 703は、ファイル蓄積部 705からのファイルの読出しを制御する制 御部である。
[0047] 通信制御部 704は、ネットワークインターフェース 706を制御することでホームネット ワークを介した通信を制御する制御部である。通信制御部 704とネットワークインター フェース 706とにより本発明の送信機器における送信手段が有する、情報を送信す る機能が実現される。また、通信制御部 704は、中断検出部 707を有する。中断検 出部 707は、ファイル転送の中断を検出する処理部である。
[0048] ソース機器 101は、ユーザインターフェース 701を制御して 705に蓄積したファイル の一覧リストを表示する。ユーザが一覧リストの中力も選択したファイルを、ファイル蓄 積部 705から読出し、ネットワークインターフェース 706を制御して、シンク機器 102 に送付する。
[0049] 図 4は、本発明の実施の形態のシンク機器 102の機能的な構成を示す機能ブロッ ク図である。シンク機器 102は、本発明の受信機器の一例である。なお、シンク機器 1 02につ 、て、本来備えられて 、る CDSサーノ機能等の図示および説明は省略し、 シンク機器 102において特徴的な構成部についてのみ図示および説明を行なう。
[0050] 図 4に示すように、シンク機器 102は、ファイル受信制御部 801、ファイル制御部 80 2、通信制御部 803、ファイル蓄積部 804、およびネットワークインターフェース 805を 備える。図中の点線で囲まれた領域にある構成部は、ファイル転送に係る主要な処 理を行う構成部である。
[0051] ネットワークインターフェース 805は、ホームネットワークを介してソース機器 101と の情報のやり取りを行うインターフェースである。
[0052] ファイル蓄積部 804は、本発明の受信機器における保存手段の一例であり、上述 のように、ソース機器 101から受信するファイルを蓄積する記憶装置である。
[0053] ファイル受信制御部 801は、ソース機器 101から送信されるファイルの受信を制御 する制御部である。
[0054] ファイル制御部 802は、ファイル蓄積部 804からのファイルの読出しを制御する制 御部であり、保存済サイズ取得部 806を有する。保存済サイズ取得部 806は、フアイ ル蓄積部 804から保存済データサイズを取得する処理部である。取得された保存済 データサイズは、ファイル受信制御部 801の制御により、ソース機器 101へ送信され る。
[0055] 通信制御部 803は、ネットワークインターフェース 805を制御することでホームネット ワークを介した通信を制御する制御部である。 [0056] 次に、以上のように構成されたソース機器 101およびシンク機器 102により構成され るファイル転送システムにおけるソース機器 101およびシンク機器 102の動作を図 5 力 図 14を参照して説明する。
[0057] まず、基本の通信シーケンスにおける各機器の動作を図 5および図 6を用いて説明 する。
[0058] 図 5は、本発明の実施の形態のファイル転送システムにおける基本の通信シーケン スを示す図である。図 5に示すように、本実施の形態では、ソース機器 101からシンク 機器 102への通信によりファイル転送が開始される。つまり、図 5は、ソース機器 101 力もの自発的なファイル転送における通信シーケンス図である。
[0059] なお、ソース機器 101とシンク機器 102との間の通信は、ブロードバンドルータ 301 により中継される。し力しながら、ブロードバンドルータ 301の動作は本発明の特徴に 関与しないため、以下、その図示および動作の説明は省略する。
[0060] ソース機器 101は、 UPnP—AV規格で規定された CDS : CreateObjectリクエスト を送付する(S501)。ここで CreateObjectリクエストは論理的なファイルを示す obje ctを生成するリクエストであり、これによつてシンク機器 102のファイル蓄積部 804内 に、新規に objectが生成される。その際、生成される objectのディレクトリ構造上の 位置や、その objectを示すファイル名等のメタデータが決定される。このメタデータに はファイル実体を保存すべきシンク機器 102上の Uniform Resource Identifiers (URI)が含まれている。シンク機器 102は、ファイルの転送先アドレスとして、この UR Iを含んだ CDS: CreateObjectレスポンスをソース機器に送信する(S502)。
[0061] ソース機器 101は、 POSTメソッドの HTTPリクエスト(以下、「POSTリクエスト」 t ヽ う。)をシンク機器 102に送付する(S503)。この際、ソース機器 101は、ファイル転送 が中断した場合にシンク機器 102が参照すべきパラメータとして、図 6に示すパラメ一 タを POSTリクエストに付加して送付する。具体的には、パラメータとして [byte— ran ge]、 [restart— time]、および [lifetime]の 3つを送付する。
[0062] 図 6は、ソース機器 101からシンク機器 102に送付される各パラメータの内容を示す 図である。
[0063] 図 6に示すように、 [byte—range]は送信するデータのバイトレンジである。バイトレ ンジとは、送信するファイルデータの範囲であるデータ範囲の先頭位置と終端位置を 示す情報、およびファイルの総サイズであるファイルサイズを示す情報である。また、 単位はそれぞれバイトである。
[0064] つまり、シンク機器 102は、ソース機器力も送信されるデータの範囲だけでなくファ ィルの総サイズも通知される。そのため、受信したファイルデータ力 あるファイルを 構成する一部のファイルデータであるのカゝ、または、あるファイルを構成する全てのフ アイルデータであるのかを判断することができる。なお、本実施の形態においては、 1 つのファイルをシンク機器 102に送信する場合、分割せずに一括して送信する。ファ ィルを分割して送信する場合にっ ヽては図 15を用いて後述する。
[0065] [restart -time]は、送信再開許可時間である。送信再開許可時間とは、中断後 にファイル転送動作を再開するまでの一時停止時間を示す情報であり、単位は秒で ある。
[0066] [lifetime]は、ファイル保持期間である。ファイル保持期間とは、シンク機器 102が objectまたはファイルデータを保持しておくべき時間を示す情報であり、単位は秒で ある。シンク機器 102は、 [lifetime]に示される期間が経過するまでに、ファイルデー タを受信しない場合、作成した objectを保持しておく義務が無い。また、 [lifetime] を通知され、完結していないファイルデータを受信した場合、 [lifetime]に示される 期間が経過するまでに、残りのファイルデータを受信しない場合、完結していないフ アイルデータを保持しておく義務がな 、。
[0067] これにより、ソース機器 101が接続不能になったり転送対象のファイルを消失してし まったような場合でも、シンク機器 102は、完了できないファイル転送のための無駄な リソースを保持しておく必要が無い。そのため、シンク機器 102においてリソースを効 率よく管理でき、ユーザの手による不要な objectの削除などのメンテナンスも不要で ある。
[0068] 図 5の通信シーケンスでは、ソース機器 101は、送信するデータの先頭位置: 0バイ ト目、終端位置: 999バイト目およびファイルサイズ: 1000バイトを指定している。これ は、上述のように、 1つのファイルを一括して送信することを意味する。さらに、一時停 止時間: 1200秒 (20分)、ファイル保持期間: 1800秒 (30分)も指定している。 [0069] なお、転送中断要求を示す [suspend— req]は、図 5の通信シーケンスにおいては 使用されて 、な 、。 [suspend— req]をシンク機器 102に送付する場合にっ 、ては、 図 7を用いて後述する。
[0070] また、ソース機器 101からシンク機器 102に送信される POSTリクエストで指定する URIとして、シンク機器 102から受信した CreateObjectレスポンスに含まれて!/、た U RIが記述される。これにより、シンク機器 102は特定の objectと、受信したファイルデ ータを対応させることができる。
[0071] さらに、 POSTリクエストには Expect : 100— continueが付カ卩される。これにより、 シンク機器は RFC2616に従い、送信された POSTリクエストを上記 URIで受け入れ ることができるかのチェックを行う。
[0072] チェックの結果、受け入れ可能であれば応答として" 100 Continue"を返す(S50 4)。なお、ソース機器 101からの POSTリクエストを受け入れることができない場合や 、 POSTリクエストを解釈することができな 、場合にはデータの転送の前にソース機 器に通知することができる。従ってソース機器 101は、無駄なデータ送信を回避する ことができる。
[0073] ソース機器 101は" 100 Continue"ステータスをシンク機器 102から受信すること により、ファイルをシンク機器 102に送信する(S505)。なお、ファイルデータは POS Tリクエストの Entity Bodyに格納されて送信される。
[0074] シンク機器 102は、受信したファイルデータをファイル蓄積部 804に蓄積する。シン ク機器 102は、ファイルの受信完了後に、ファイル蓄積部 804へのファイル蓄積処理 に時間を要する場合、例えば 20秒以内に蓄積が完了しない場合、 RFC2518で規 定される" 102 Processing"を送信し (S506)、蓄積処理中である旨をソース機器 1 01に通知する。シンク機器 102は、蓄積を完了するど' 201 Created"を送信し、ソ ース機器 101に蓄積完了である旨を通知する(S507)。
[0075] 以上の各機器の動作により、ソース機器 101からシンク機器 102へのファイル転送 が完了する。
[0076] なお、図 5に示す通信シーケンスは、ファイル転送の途中で中断が発生しない基本 の通信シーケンスである力 ソース機器 101またはシンク機器 102の都合によりフアイ ル転送の中断が生じる場合もある。そこで、以下に、ファイル転送の途中で中断が発 生する場合の通信シーケンスおよび各機器の動作を、図 7〜図 9を用いて説明する。 また、ファイル転送を再開する際の通信シーケンスおよび各機器の動作を図 10を用 いて説明する。
[0077] 図 7は、実施の形態のファイル転送システムにおいて、ソース機器 101の都合により ファイル転送が中断される際の通信シーケンスの一例を示す図である。図 7を用いて 、ソース機器 101からシンク機器 102へのファイルデータの送信中に、ソース機器 10 1の都合によりファイル転送が中断される際の各機器の動作を説明する。
[0078] ソース機器 101およびシンク機器 102は、図 5の通信シーケンスと同様に、 CDS : C reateObjectリクエストおよびレスポンス通信を行う。この後、ソース機器 101は、 PO STリクエストをシンク機器 102に送付する(S503)。シンク機器 102は、 POSTリクェ ストの応答として" 100 Continue"ステータスをソース機器 101に送信する(S504) 。ソース機器 101は、ファイルデータのシンク機器 102への送信を開始する(S505) 。シンク機器 102は、受信したファイルデータをファイル蓄積部 804に蓄積する。ここ までの動作は、図 5に示す通信シーケンスと同様である。
[0079] ここでソース機器 101において、ファイル転送を中断する要因が発生し、 TCP接続 を切断するための RSTパケットを送付する。これにより、ファイル転送に利用している TCP接続は切断される (S706)。
[0080] ファイル転送を中断する要因とは、例えば、ユーザの操作により、転送中のファイル 力 Sファイル蓄積部 705から削除されたなどである。
[0081] ソース機器 101は、さらに、 [suspend— req]および [lifetime]を含めた POSTリク ェストパケットをシンク機器 102に送信する(S707)。 [suspend— req]は図 6に示す ように、ファイル転送の中断要求を示す情報である。つまり、シンク機器 102は [susp end— req]を受信することにより、ファイル転送が中断されることを知ることができる。 また、 [lifetime]は、上述のようにシンク機器 102がファイルデータを保持しておくべ き時間を示す情報であり、この場合は、ソース機器 101が、その時間内にファイル転 送を再開することをも意味する。シンク機器 102は、ファイル保持期間が経過した後 は、受信し保存済みの当該ファイルデータを削除してもよい。 [0082] なお、上述のファイル転送の中断に係る処理において、 RSTパケットおよび POST リクエストパケットはファイル送信制御部 702により生成されシンク機器 102に送信さ れる。以下、単に「POSTリクエスト」という場合、実体としては POSTリクエストパケット のことを指す。
[0083] また、中断検出部 707は、 TCP接続が切断されたことを検出することで、ファイル転 送が中断されたことを検出する。
[0084] シンク機器 102は、上記 POSTリクエストを受け取ると" 200 OK"を返信する(S70
8)。ソース機器 101は、ファイル転送を中断する要因がなくなった後に、図 11を用い て後述するファイル転送の再開動作を実行する。
[0085] このようにして、本実施の形態のファイル転送システムにお 、て、ファイルデータの 送信の開始後かつファイル転送が完了する前に、ソース機器 101の都合によりフアイ ル転送が中断される。
[0086] 次に、シンク機器 102が POSTリクエストを受信した際に、シンク機器 102の都合に よりファイル転送が中断される場合の各機器の動作を図 8を用いて説明する。
[0087] 図 8は、実施の形態のファイル転送システムにおいて、シンク機器 102の都合により ファイル転送が中断される際の通信シーケンスの一例を示す図である。
[0088] ソース機器 101およびシンク機器 102は、図 5の通信シーケンスと同様に、 CDS : C reateObjectリクエストおよびレスポンス通信を行う。この後、ソース機器 101は、 PO STリクエストをシンク機器 102に送付する(S503)。ここまでの動作は、図 5に示す通 信シーケンスと同様である。
[0089] ここで、シンク機器 102は、ファイルの受信処理を行えな 、状態であり、 POSTリク ェストに対する応答として" 503 Service Unavailable"ステータスを送信する。フ アイルの受信処理を行えない状態とは、例えば、ファイル蓄積部 804の空き容量がな い状態などである。
[0090] シンク機器 102は、ステータスパケットにファイル転送を再開する始期を示す" retry
& 61:"を含めて応答する(3804)。ソース機器 101は、 "retry— after"に示される 時間を経過した後に、図 11を用いて後述するファイル転送の再開動作を実行する。
[0091] このようにして、本実施の形態のファイル転送システムにおいて、ソース機器 101か らシンク機器 102に、 POSTリクエストにより転送されるファイルのサイズ等が通知され た後、かつファイルデータの送信が開始される前に、シンク機器 102の都合によりフ アイル転送が中断される。
[0092] 次に、ソース機器 101からシンク機器 102へのファイルデータの送信中に、シンク機 器 102側の要因によりファイル転送を中断する際の各機器の動作を図 9を用いて説 明する。
[0093] 図 9は、実施の形態のファイル転送システムにおいて、シンク機器 102の都合により ファイル転送が中断される際の通信シーケンスの別の一例を示す図である。
[0094] ソース機器 101およびシンク機器 102は、図 5の通信シーケンスと同様に、 CDS : C reateObjectリクエストおよびレスポンス通信を行う。この後、ソース機器 101は、 PO STメソッドの HTTPリクエストをシンク機器 102に送付する(S503)。シンク機器 102 は、 HTTPリクエストの応答として" 100 Continue"ステータスをソース機器 101に 送信する(S504)。ソース機器 101は、ファイルデータのシンク機器 102への送信を 開始する(S505)。シンク機器 102は、受信したファイルデータをファイル蓄積部 804 に蓄積する。ここまでの動作は、図 5に示す通信シーケンスと同様である。
[0095] ここでシンク機器 102において、ファイル転送を中断する要因が発生し、 RSTパケ ットを送付する。これにより、ファイル転送に利用している TCP接続は切断される(S9 06)。ファイル転送を中断する要因とは、例えば、ファイル蓄積部 804から別のフアイ ルを読み出す必要が生じ、受信するファイルデータを蓄積できな 、などである。
[0096] TCP接続がシンク機器により切断されると、ソース機器 101のファイル送信制御部 7 02は、再び POSTリクエストをシンク機器 102に送信する(S907)。
[0097] シンク機器 102は、 POSTリクエストへの応答として" 503 Service Unavailable" ステータスをソース機器 101へ送信する(S908)。ステータスパケットには上述の [re try— after]が含められる。
[0098] この [retry— after]を伴う" 503 Service Unavailable"は、シンク機器 102から のファイル転送の中断要求である。
[0099] ソース機器 101の中断検出部 707は、この中断要求を検出することで、ファイル転 送の中断を検出する。ソース機器 101は、 "retry— after"に示される時間を経過し た後に、図 11を用いて後述するファイル転送の再開動作を実行する。
[0100] このようにして、本実施の形態のファイル転送システムにおいて、ファイルデータの 送信の開始後かつ送信が完了する前に、シンク機器 102側の要因によりファイル転 送が中断される。
[0101] 次に、図 7〜図 9を用いて説明したファイル転送の中断後に、ファイル転送を再開 する際の各機器の動作を図 10を用いて説明する。
[0102] 図 10は、実施の形態のファイル転送システムにおいて、ファイル転送を再開する際 の通信シーケンスを示す図である。
[0103] ソース機器 101の中断検出部 707は、ファイル転送が中断されたことを検出する(S 1000)。なお、中断検出部 707は、ファイル転送の中断がソース機器 101の都合に よるもの力、シンク機器 102の都合によるものかを問わず、送受信するパケットの種類 および内容等から、ファイル転送が中断されたことを検出することができる。
[0104] ソース機器 101は、自身の都合によりファイル転送を中断した場合は、その中断の 要因がなくなった後で、また、シンク機器 102の都合によりファイル転送が中断された 場合は、中断の際にシンク機器 102から送信された [retry— after]に示される時間 が経過した後で、以下の動作を行う。
[0105] ソース機器 101は、 CDS : Browseリクエストをシンク機器 102に送信し(S 1001)、 シンク機器 102に対してファイルの保存サイズを問い合わせる。
[0106] 具体的には、ソース機器 101のファイル送信制御部 702により生成される CDS : Br owseリクエストに、問合せ部 708によって、保存済データサイズの通知要求が含めら れる。その CDS : Browseリクエストは、ネットワークインターフェース 706を介しシンク 機器 102へ送信される。
[0107] シンク機器 102は、上記 CDS : Browseリクエストを受け取ると保存済データサイズ を含めた CDS: Browseレスポンスをソース機器 101に送信する(S1002)。
[0108] 具体的には、保存済サイズ取得部 806が、ファイル蓄積部 804に保存されている、 当該ファイルを構成するファイルデータのデータサイズを取得する。更に、ファイル受 信制御部 801が、保存済サイズ取得部 806により取得されたデータサイズを含めた C DS : Browseレスポンスを生成する。生成された CDS : Browseレスポンスは、ネットヮ 一クインターフェース 805を介しソース機器 101に送信される。
[0109] ソース機器 101のファイル送信制御部 702は、受信した保存済データサイズに応じ て転送すべきファイルの先頭位置を決定し、ファイル蓄積部 705からファイルデータ を読み出す。
[0110] 例えば、ファイルサイズが 1000バイトであり、シンク機器 102から通知された保存済 データサイズが 400バイトである場合を想定する。この場合、シンク機器 102に保存さ れているファイルデータは、 0ノイト目力ら 399ノイト目までのファイルデータである。 従って、ファイル送信制御部 702は、残りの 400バイト目力ら 999ノイト目までのファ ィルデータを、ファイル制御部 703を介しファイル蓄積部 705から読み出す。以下、「 残りのファイルデータ」という場合、上述のように、転送対象のファイルデータから、シ ンク機器 102に保存済みのファイルデータを除いた、残りのファイルデータのことを指 す。
[0111] ソース機器 101は、データ範囲とファイルサイズとを示す [byte— range]等を含む POSTリクエストをシンク機器 102に送信する(S 1003)。シンク機器 102は、 POSTリ タエストへの応答として" 100 Continue"ステータスをソース機器 101に送信する(S 1004)。
[0112] ソース機器 101のファイル送信制御部 702は、ファイル蓄積部 705から読み出した 残りのファイルデータを通信制御部 704に送信させる。(S1005)。シンク機器 102の ファイル制御部 802は、 [byte—range]に示されるデータ範囲に基づき、受信したフ アイルデータと中断前に保存済みのファイルデータとを結合し、元のファイルに再構 築する。
[0113] このように、本発明の実施の形態のソース機器 101は、中断されたファイル転送を 再開する際に、シンク機器 102に保存済データサイズを問い合わせることができる。 また、本発明の実施の形態のシンク機器 102はその問合せに応じ、保存済データサ ィズをソース機器 101に通知することができる。
[0114] これにより、ソース機器 101は、ファイル転送を最初力もやり直す必要がなぐ残りの ファイルデータのみを送信するのみでよい。またシンク機器 102は、ファイルデータを 重複して受信することがな 、。 [0115] つまり、本発明の実施の形態のソース機器 101、シンク機器 102およびファイル転 送システムにより、ソース機器 101からの自発的なファイル転送において、規定され た TCP接続のタイムアウト時間より長い中断が生じた場合であっても、ファイル転送 に係る処理を効率的に実行することができる。
[0116] さらに、転送を再開可能な時間を機器間で通知できるので、不要な転送再開試行 動作を抑制でき、機器の通信負荷を低減できると!ヽぅ効果を有する。
[0117] なお、ファイル転送途中でネットワークの通信経路が断絶した場合、ソース機器 10 1の中断検出部 707が通信経路の断絶を検出すると、図 10の通信シーケンスに示す ファイル転送の再開動作が開始される。
[0118] また、図 7〜図 9を用いてファイル転送が中断される場合の通信シーケンスおよび 各機器の動作を説明したが、ソース機器 101またはシンク機器 102の都合により、フ アイル転送を中断ではなぐ中止する必要が生じる場合もある。本発明の実施の形態 のソース機器 101およびシンク機器 102のそれぞれは、ファイル転送を中止する場 合、互いの機器に通知することができる。以下に、ファイル転送の中止に係る通信シ 一ケンスおよび各機器の動作を、図 11〜図 14を用いて説明する。
[0119] 図 11は、実施の形態のファイル転送システムにおいて、ファイルデータの送信が開 始される前に、ソース機器 101の都合によりファイル転送が中止される際の通信シー ケンスの一例を示す図である。図 11を用いて、ファイル転送が開始される前に、ソー ス機器 101の都合によりファイル転送の実行が中止される際の各機器の動作を説明 する。
[0120] ソース機器 101およびシンク機器 102は、図 5の通信シーケンスと同様に、 CDS : C reateObjectリクエストおよびレスポンス通信を行う(S501、 S502)。この後、ソース 機器 101が POSTリクエストを送信する前に、ソース機器 101において、ユーザにより ファイル転送のキャンセル指示がなされる、または、転送対象のファイルが削除される などの事象が発生したと想定する。
[0121] この場合、ソース機器 101は、ファイル転送を中止するために、 POSTリクエストに 替えて CDS: DestroyObjectリクエストをシンク機器 102に送信する(S 1103)。シン ク機器 102は、 CDS : DestroyObjectを受信すると、 CDS : CreateObjectリクエスト (S501)に応じて作成した objectを削除する。更に、 objectを削除した旨を通知する ために、ソース機器 101に CDS: DestroyObjectレスポンスを応答する(S 1104)。
[0122] このように、ファイル転送が開始される前に、ソース機器 101の都合により、ファイル 転送が中止された場合、シンク機器 102では、ファイルを保存するために作成された objectが削除される。つまり、シンク機器 102において無駄となる objectは速やかに 削除される。
[0123] 次に、ソース機器 101からシンク機器 102へのファイルデータの送信中にソース機 器 101の都合によりファイル転送が中止される際の各機器の動作を図 12を用いて説 明する。
[0124] 図 12は、実施の形態のファイル転送システムにおいて、ファイルデータの送信中に 、ソース機器 101の都合によりファイル転送が中止される際の通信シーケンスの一例 を示す図である。
[0125] ソース機器 101およびシンク機器 102は、図 5の通信シーケンスと同様に、 CDS : C reateObjectリクエストおよびレスポンス通信を行う。この後、ソース機器 101は、 PO STリクエストをシンク機器 102に送付する(S503)。シンク機器 102は、 POSTリクェ ストの応答として" 100 Continue"ステータスをソース機器 101に送信する(S504) 。ソース機器 101は、ファイルデータのシンク機器 102への送信を開始する(S505) 。シンク機器 102は、受信したファイルデータをファイル蓄積部 804に蓄積する。ここ までの動作は、図 5に示す通信シーケンスと同様である。
[0126] ここで、ソース機器 101が POSTリクエストを送信する前に、ソース機器 101におい て、ユーザによりファイル転送のキャンセル指示がなされる、または、転送対象のファ ィルが削除されるなどの事象が発生したと想定する。
[0127] ソース機器 101は、ファイル転送を中止するために、 TCPの RSTパケットを送信す る(S1206)。これにより、ファイル転送に利用している TCP接続が切断される。ソー ス機器 101は、さらに、 CDS : DestroyObjectリクエストをシンク機器 102に送信する (S1207) oシンク機器 102は、 CDS : DestroyObjectリクエストに応じて、受信済み のファイルデータを削除し、 CDS: DestroyObjectレスポンスをソース機器 101へ送 信する(S 1208)。 [0128] このように、ファイルデータの送信が開始された後に、ソース機器 101の都合により 、ファイル転送が中止された場合、シンク機器 102では、受信し保存済みのファイル データは削除される。つまり、シンク機器 102において無駄となる、完結していないフ アイルデータは速やかに削除される。
[0129] 次に、シンク機器 102が POSTリクエストを受信した際に、シンク機器 102の都合に よりファイル転送が中止される際の各機器の動作を図 13を用いて説明する。
[0130] 図 13は、実施の形態のファイル転送システムにおいて、ファイルデータの送信が開 始される前に、シンク機器 102の都合によりファイル転送が中止される際の通信シー ケンスの一例示す図である。
[0131] ソース機器 101およびシンク機器 102は、図 5の通信シーケンスと同様に、 CDS : C reateObjectリクエストおよびレスポンス通信を行う。この後、ソース機器 101は、 PO STリクエストをシンク機器 102に送信する(S503)。ここまでの動作は、図 5と同様で ある。
[0132] ここで、シンク機器 102にお!/、て、ソース機器 101からの CDS: CreateObjectリク ェストに応じて作成された objectが消失したなどの理由により、ファイル転送を中止 する必要が生じた場合を想定する。
[0133] この場合、シンク機器 102は、 POSTリクエストへの応答として" 404 Not Found "ステータスをソース機器 101へ送信する(S1304)。ソース機器 101は、 "404 Not Found"に応じてファイル転送に係る処理を中止する。
[0134] このように、ソース機器 101からシンク機器 102に、 POSTリクエストによりファイルサ ィズ等が通知された後、かつファイルデータの送信が開始される前に、シンク機器 10 2の都合により、ファイル転送が中止された場合、ソース機器 101は、シンク機器 102 力もの通知によりファイル転送に係る処理を中止する。つまり、ソース機器 101は不 要な処理を継続することがな 、。
[0135] 次に、シンク機器 102の都合により、ソース機器 101からシンク機器 102へのフアイ ルデータの送信中にファイル転送が中止される際の各機器の動作を図 14を用いて 説明する。
[0136] 図 14は、実施の形態のファイル転送システムにおいて、ファイルデータの送信中に 、シンク機器の都合によりファイル転送が中止される際の通信シーケンスの一例示す 図である。
[0137] ソース機器 101およびシンク機器 102は、図 5と同様に、 CDS : CreateObjectリク ェストおよびレスポンス通信を行う。この後、ソース機器 101は、 POSTリクエストをシ ンク機器 102に送付する(S503)。シンク機器 102は、 POSTリクエストへの応答とし て" 100 Continue"ステータスをソース機器 101へ送信する(S504)。ソース機器 1 01は、ファイルデータのシンク機器 102への送信を開始する(S505)。シンク機器 10 2は、受信したファイルデータをファイル蓄積部 804に蓄積する。ここまでの動作は、 図 5に示す通信シーケンスと同様である。
[0138] ここで、シンク機器 102において、ファイル転送を中止する要因が発生し、 TCPの R STパケットを送信する(S 1406)。これにより、ファイル転送に利用している TCP接続 が切断される。ソース機器 101は、 TCP接続の切断を検出すると、再び POSTリクェ ストをシンク機器 102に送信する(S1407)。シンク機器は、 POSTリクエストへの応答 として" 404 Not Found"ステータスをソース機器 101へ送信する(S1408)。ソー ス機器 101は" 404 Not Found"に応じてファイル転送に係る処理を中止する。
[0139] このように、ソース機器 101からシンク機器 102へのファイルデータの送信が開始さ れた後に、シンク機器 102の都合により、ファイル転送が中止された場合、ソース機 器 101は、シンク機器 102からの通知によりファイル転送に係る処理を中止する。つ まり、ソース機器 101は不要な処理を継続することがない。
[0140] このように、本発明の実施の形態のソース機器 101およびシンク機器 102は、フアイ ル転送を中止する場合、その中止がどちらの機器の都合によるものであっても、無駄 なリソースの消費および無駄な処理が発生しないように、ファイル転送の中止のため の処理が行われる。
[0141] なお、上述の実施の形態において、プッシュ型のフロー制御を行うファイル転送プ ロトコルとして HTTPの POSTメソッドによりファイル転送を行う場合を説明した。しか しながら、 POSTメソッド以外であってもよぐ例えば、 PUTメソッドであっても上記効 果が失われるものではな!/、。
[0142] また、ソース機器 101は、ファイル転送が中断した場合にシンク機器 102が参照す べきパラメータとして、図 6に示すパラメータを HTTPリクエストパケットに付加して送 付するとした。
[0143] このパラメータを付与する具体的な方法として、独自に定義したヘッダを POSTリク ェストのメッセージヘッダとして含ませる方法がある。
[0144] 例えば、 POSTリクエストに、独自に定義したヘッダである UploadTransportlnfo . dlna. org : [byte— range]を付与し、 HTTPの Entity Body部に含まれるデータ の範囲および総サイズを格納する。また、 [lifetime]等の必要な情報を含ませる。シ ンク機器 102は、ソース機器 101から送信された POSTリクエストのメッセージヘッダ から、これらの情報を取得することができる。
[0145] また、上述の実施の形態においては、 POSTリクエストに [byte— range]、 [restar t-time]、および [lifetime]の 3つのパラメータを付カ卩して送付する構成を説明した 。しかしながら [restart— time]のみを付カ卩してもよ!ヽ。
[0146] なお、 UploadTransportlnfo. dlna. org以外の、 HTTPで当然使用されるその 他のヘッダについては本発明の特徴に関係しないため図示および説明を省略する。
[0147] また、上述の実施の形態において、ソース機器 101は、ファイルをシンク機器 102 に転送する場合、一括して転送するとした。し力しながら、ソース機器 101は、フアイ ルを分割し、分割単位毎にシンク機器 102に送付することもできる。シンク機器 102 力 S1回の POSTリクエストで受信可能なデータサイズに制限がある場合など、ソース機 器 101が分割単位毎にファイルデータを送信する方法は有効である。
[0148] 図 15は、ソース機器 101がシンク機器 102にファイルを分割して転送するファイル 転送システムの通信シーケンスを示す図である。図 15を用いて、ソース機器 101がフ アイルを分割して転送する際の各機器の動作を説明する。なお、ソース機器 101は、 送信するファイルデータの範囲等をシンク機器 102に通知するために、上述の、独自 に定義したヘッダ UploadTransportlnfo. dlna. orgを使用すると想定する。
[0149] ソース機器 101はファイルの転送に先立って、シンク機器 102に対し CDS: Create Objectリクエストを送信する(SI 503)。シンク機器 102は、 CDS : CreateObjectリク ェストに従い、 objectを作成し、 CDS : CreateObjectレスポンスをソース機器 101に 送信する(S 1504)。 [0150] ソース機器 101はファイルを分割転送するサイズを決定する。分割転送のサイズは 転送の中断、再開の頻度、中断時に無駄になる転送サイズ、分割によるオーバへッ ド等を勘案して任意に決定することができる。ここでは 1000バイトのファイルを、最初 の 0バイト目力ら 499ノイト目までのファイルデータと、次の 500ノイト目力ら 999ノ ィ ト目のファイルデータとに分割する(S1505)。このファイルの分割はソース機器のフ アイル送信制御部 702が行う。
[0151] ソース機器 101はファイル転送を開始する。具体的には、ソース機器 101は POST リクエストを送信する(SI 506)。 POSTリクエストには、独自に定義したヘッダである、 UploadTransportlnf o . dlna. org : [byte— range]、 [lifetime];¾ .まれる。ここ での [byte— range]は、ヘッダ以下に続く HTTPの Entity Body部に含まれるデ ータの範囲と、ファイルの総サイズを示す情報であり、データの範囲" 0—499"とファ ィルの総サイズである" 1000"が指定される。 [lifetime]ではコンテンツの保持期間 を指定しており、ここでは秒単位で" 1800"つまり、 30分を指定している。
[0152] シンク機器 102は、上記 POSTリクエストへの応答として" 100 Continue"をソー ス機器 101へ送信する(S1507)。
[0153] ソース機器 101は、シンク機器 102に通知したデータ範囲のファイルデータを送信 する(S1508)。具体的には POSTリクエストの Entity Bodyに当該ファイルデータ を格納して送信する。 Entity Bodyに含まれるファイルの範囲は、上述のように" 0 —499"の 500バイト分のみである。
[0154] シンク機器 102はこの 500バイト分のファイルデータを受信するとファイル蓄積部 80 4への保存を開始する。保存の開始後、ファイル蓄積部 804への書き込み速度が遅 いなど、概ね 20秒以内に保存を完了できない場合、 "102 Processing"を送信す る(S1509)。その後、受信したファイルデータの保存が完了すると(S1510)、 "201 Created"をソース機器 101へ送信し(S1511)、転送データが保存されたことを通 知する。
[0155] 次に、ソース機器 101とシンク機器 102は、上述のソース機器 101からシンク機器 1 02への POSTリクエストの送信(S1506)力ら、シンク機器 102からソース機器 101へ の保存完了の通知(S1511)と同様の動作シーケンスにより、次の分割単位である 5 00ノ イト目力ら 999ノ イト目までのフアイノレデータの転送を行う(S1512〜S1517)。
[0156] 即ち、ソース機器 101は、 UploadTransportlnfo. dlna. orgヘッダの [byte— r ange]に" 500— 999Z1000"を格納しシンク機器 102に通知する。シンク機器 102 はこれを解釈し、その後に受信するファイルデータ(S 1515)を、すでに保存されてい る 0ノイト目力ら 499Byte目のファイルデータにアペンドしてファイル蓄積部 804に保 存する。
[0157] このようにして、 POSTメソッドを用いてファイルを送信するプッシュ型のフロー制御 でもファイルを分割して送信を行うことが可能となる。
[0158] なお、このようにファイルが分割して転送される場合にぉ 、ても、ファイル転送が中 断された場合、ソース機器 101は、図 10の通信シーケンスに示すように、シンク機器 102に保存済データサイズを問い合わせることで、送信すべき残りのファイルデータ のみを送信する。例えば、図 15の通信シーケンスにおいて、最初の 500バイトの送 信中にファイル転送が中断され、それまでにシンク機器 102に 200バイトが保存され ていた場合を想定する。この場合、ソース機器 101は、シンク機器 102に問い合わせ ることにより保存済データサイズが" 200"であることを取得する。その後、ソース機器 101は残りの 300バイトをシンク機器 102に送信する。
[0159] また、伝送路上のエラー等により、保存済データサイズを取得できな力つた場合、 送信途中であったファイルデータを再送信する。例えば、図 15の通信シーケンスに おいて、後の 500バイトの送信中にファイル転送が中断され、ソース機器 101がシン ク機器 102から保存済データサイズを取得できな力つた場合、後の 500バイトを最初 から送信する。
[0160] つまり、最初の 500バイトは、シンク機器 102からの" 201 Created"によりシンク機 器 102に保存済みであることが確認できているため、ソース機器 101は、後の 500バ イトのみを再送信すればよ 、。
[0161] このように、転送対象のファイルを分割して送信する方法は、上述のように、シンク 機器 102が 1回の POSTリクエストで受信可能なデータサイズに制限がある場合のみ ならず、ファイル転送の効率化に対しても有効である。
[0162] また、分割されたファイルデータがシンク機器 102に送信される前に POSTリクエス トでファイルの総サイズがシンク機器 102に通知される。そのため、シンク機器 102は 、受信したファイルデータ力 あるファイルを構成する一部のファイルデータであるの 力 または、あるファイルを構成する全てのファイルデータであるのかが判断できる。
[0163] 例えば、ファイルデータの送信に先立って通知される [byte— range]が" 0—499 Z1000"であれば、その後に受信したファイルデータはあるファイルを構成する一部 のファイルデータであると判断できる。また、 [byte— range]が" 0— 999/1000"で あれば、その後に受信したファイルデータはあるファイルを構成する全てのファイル データであると判断できる。
[0164] これにより、例えば、 [byte—range]が" 0—499Z1000"と指定されたファイルデ ータを受信し保存した後に、残りのファイルデータを受信しない場合、保存済みのフ アイルデータは完結していないファイルデータであると判断できる。そこで、所定の期 間後に削除、またはユーザに保存を継続するかを確認するなどの処置を行うことがで きる。
[0165] 受信したファイルデータについては、上述のように、ソース機器 101から指定される
[lifetime]に示される保持期間を越えることをもって削除することも可能である。そこ で、シンク機器 102は、 [lifetime]が指定されていない場合に、上記の [byte—rang e]に基づく判断により、所定期間の経過後に削除してもよい。また、 [lifetime]に示 される保持期間を越え、かつ、 [byte— range]に示される情報から、当該ファイルデ ータが完結して ヽな 、ファイルデータであると判断できる場合、そのファイルデータを 削除してもよい。
[0166] なお、これら [byte— range]および [lifetime]等をシンク機器 102へ通知するため のヘッダの名前は、 UploadTransportlnfo. dlna. org以外のヘッダ名でもかまわ ない。さらに本実施の形態では Digital Living Network Alliance (DLNA)で 定義するヘッダ命名手法に従い". dlna. org"を接尾語として用い、他の任意のへッ ダ名との偶然の一致を回避している。し力しながら、これに限らず、例えば HTTPの 独自拡張ヘッダであることを示す接頭語" X—"を用いて、 "X— UploadTransportl nfo"等と定義しても力まわな 、。
[0167] また、図 15に示す通信シーケンスにおいては 1000バイトのファイルを 500バイトず つ 2分割したが、当然にその分割単位に限定されるものではなぐ任意の分割が可能 である。
[0168] また、ソース機器 101からシンク機器 102へファイルを分割して転送するファイル転 送システムにおいても、ソース機器 101またはシンク機器 102の都合によりファイル転 送が中断または中止される場合がある。そこで、以下に、分割された 1つの断片であ るファイルデータの送信前にファイル転送が中断される場合の通信シーケンスおよび 各機器の動作を、図 16および図 17を用いて説明する。また、ファイル転送が中止さ れる場合の通信シーケンスおよび各機器の動作を図 18を用いて説明する。
[0169] 図 16は、ファイルを分割して転送するファイル転送システムにおいて、分割後の 1 つのファイルデータの送信前に、ソース機器 101の都合によりファイル転送が中断さ れる場合の通信シーケンスを示す図である。
[0170] 図 16の通信シーケンスにおいて CDS : CreateObjectリクエストを送信(S1503)し てから、転送対象のファイルを分割(S 1505)までは、図 15を用いて説明した通りで あり説明を省略する。
[0171] ここで、ソース機器 101において、ユーザのキャンセル指示等によりファイルの転送 を中断する場合を想定する。この場合、ソース機器 101は、 POSTリクエストのメッセ ージヘッダに、処理の保留を示す [suspend]を含む UploadTransportlnfo. dlna . orgヘッダを格納しシンク機器 102に送信する(S1606)。
[0172] ソース機器 101は、この UploadTransportlnfo. dlna. org :ヘッダに含まれるキー ワードである [suspend]を示すフィールド値によってシンク機器 102に明示的に中断 を通知することができる。なお、この場合、 POSTリクエストの Entity Bodyは送信さ れない。また、図 15の通信シーケンスと同様に、 [lifetime]も上記ヘッダに含まれ、 例えば、秒単位で" 1800"、つまり 30分が指定される。
[0173] シンク機器 102は" 200 OK"を送信し(S1607)、中断を了解したことを示す。
[0174] 本手順によれば単に TCP切断などにより中断した場合と比較すると、シンク機器 10 2で不要な転送プロセスをスリープさせるなど、適切な対処を行うことができるため、無 駄な処理の発生を抑止する効果がある。
[0175] なお、転送の再開は UploadTransportlnfo. dlna. org :ヘッダの [lifetime]で指 定した 30分以内にソース機器 101が任意に行うことができる。なお、 30分以内にソー ス機器 101が転送の再開を行えないような場合、再度 UploadTmnsportlnfo. dlna . org : suspendを送信することにより、転送再開期間の再延長を行うことも可能である
[0176] 次に、ファイルを分割して転送するファイル転送システムにおいて、シンク機器 102 力 SPOSTリクエストを受信した際に、シンク機器 102の都合によりファイル転送が中断 される場合の各機器の動作を図 17を用いて説明する。
[0177] 図 17は、ファイルを分割して転送するファイル転送システムにおいて、シンク機器 1
02が POSTリクエストを受信した際に、シンク機器 102の都合によりファイル転送が中 断される場合の通信シーケンスを示す図である。
[0178] 図 17の通信シーケンスにおいて、ソース機器 101が、 CDS : CreateObjectリクェ ストを送信(S 1503)してから、送信するファイルデータの範囲等を POSTリクエストに より通知する(S1506)までは、図 15を用いて説明した通りであり説明を省略する。
[0179] ここで、上記 POSTリクエスト(S1506)を受信したシンク機器 102が、ファイル蓄積 部 804からデータを読出し中であるなどの理由により、ファイル転送を行える状態に 無い場合を想定する。
[0180] この場合、シンク機器 102は、 POSTリクエストへの応答として" 503 Service Un available"をソース機器 101へ送信し(S1707)、ファイル転送を行える状態に無い ことをソース機器 101に通知する。
[0181] また、シンク機器 102は、 "503 Service Unavailable"を含むレスポンスメッセ一 ジに Retry— After:ヘッダを格納することによって転送を開始できる見込みの時間 を通知する。つまり、 Retry— After:ヘッダは、ファイル転送を再開する始期を示す 情報である。さらに、独自に定義したヘッダである UploadTransportExpirelnfo. d lna. org :ヘッダを格納することによって、再開が可能である期間を通知する。
[0182] UploadTransportExpirelnfo . dlna. org :ヘッダは、ファイル転送を受け入れる 終期を示すためのヘッダである。図 17の通信シーケンスでは秒単位で" 1800"、つ まり 30分が指定されている。この場合、シンク機器 102が上記レスポンスメッセージを 送信 (S1707)してから 30分後まではファイル転送を受け入れることを示す。具体的 には、 30分が経過すると、ソース機器 101からの CDS : CreateObjectリクエスト(S1 503)に応じて作成された objectが削除される。なお、すでに一部のファイルデータ を受信し保存した後に、ファイル転送を中断した場合、完結していないファイルデー タがファイル蓄積部 804に保存されているため、そのファイルデータが削除される。
[0183] ここで、 RFC2616で定義される Retry— After:ヘッダは一般にサービスの再開を 保障するものではなぐ Retry— After:ヘッダに示される期間より短い間隔でリトライ を行ってもサービスが再開できる見込みが薄いことを通知して相手機器のポーリング 負荷を抑制するためのものである。
[0184] 従って、ソース機器 101はシンク機器 102に対し、 Retry— After:ヘッダにより示さ れる 20分以降、 UploadTransportExpirelnfo. dlna. org :ヘッダにより示される 3 0分以内にリトライを行って、転送の再開が可能である力確認を行い、可能であれば 続きのファイルデータの送信を行う。
[0185] このように、シンク機器 102が自身の都合によりファイル転送を中断する場合、 Retr y— After:へッタと、 UploadTransportExpirelnfo. dlna. org :へッタとにより、ソ ース機器 101がファイル転送をリトライすべき始期と終期とがソース機器 101に通知さ れる。
[0186] これにより、ソース機器 101は、無駄なリトライをすることがない。結果として、ソース 機器 101内および伝送路上でのリソースの無駄な使用を防ぐことができる。
[0187] 次に、ファイルを分割して転送するファイル転送システムにお 、て、ファイル転送が 中止される場合の一例として、シンク機器 102の都合によりファイル転送が中止され る場合の通信シーケンスおよび各機器の動作を図 18を用いて説明する。
[0188] 図 18は、ファイルを分割して転送するファイル転送システムにおいて、シンク機器 1 02の都合によりファイル転送が中止される場合の通信シーケンスを示す図である。
[0189] 図 18の通信シーケンスにおいて、ソース機器 101が、 CDS : CreateObjectリクェ ストを送信(S1503)してから、シンク機器 102が、ファイル転送を行える状態に無い こと等をソース機器 101に通知する(S 1707)までは、図 15および図 17を用 、て説 明した通りであり説明を省略する。
[0190] 図 18の通信シーケンスにおいて、シンク機器 102は、ー且、ファイル転送を中断す るための通知(S1707)を行っている力 ソース機器 101がファイル転送のリトライ(S 1808)を行った際に、シンク機器 102がファイル転送を再開せずに中止したい理由 あつたと想定する。
[0191] この様な理由としては、例えばファイル蓄積部 804の空き容量がなくなつたため、当 面転送を再開できる見込みが無い場合や、転送を行うとシンク機器 102の動作自体 に支障をきたす場合などがあげられる。
[0192] このような場合、シンク機器 102は" 404 Not Found"を応答として送信し(S 180 9)、送信先の URIリソース、つまり、送信されるファイルデータを保存するための obje ctが削除されて最早使用可能で無いことを示す。なお、ソース機器 101とシンク機器 102とのタイマーの違いにより、ソース機器 101が既にシンク機器 102から削除され た URIに対してリトライを行った場合にも同様のシーケンスとなる場合がある。
[0193] なお、ソース機器 101からファイル転送を中止する場合、タイムアウトするまで所定 の URIにリトライを行わない方法や、 UPnP—AVの CDS : DestroyObjectを発行し てシンク機器 102から明示的にオブジェクトとそれに関連する URIを削除する方法な どがある。
[0194] 以上 UPnP—AVのオブジェクト単位でファイル転送を管理する例で説明した力 こ れに限らず、単に所定の URIに対してファイル送信を行う場合にも適用可能である。
[0195] このように、ファイルを分割して転送するファイル転送システムであっても、ファイル 転送が中断または中止された場合には、ソース機器 101またはシンク機器 102が中 断または中止を相手機器に通知することができる。これにより、中断または中止を通 知された機器は、無駄となるファイル転送のための処理を継続することがな 、。
[0196] なお、 HTTPの POSTメソッドによりファイルを送信する場合を説明した力 これに 限らず、 PUTメソッド、さらには同様のハンドシェイクシーケンスが適用可能な HTTP 以外のファイル転送プロトコルへも適用が可能である。
[0197] また、図 16〜図 18では、分割後のファイルデータが 1回も送信されることなぐファ ィル転送が中断または中止される場合の通信シーケンスを示している。しかしながら 、図 16〜図 18を用いて説明したファイル転送の中断または中止の際の各機器の動 作は、 1回以上ファイルデータが送信された後、かつ、次のファイルデータが送信さ れる前に中断または中止される場合でも同じである。
産業上の利用可能性
本発明の送信機器、受信機器、およびファイル転送システム、は、ネットワークに接 続される任意の機器間でファイルを転送するファイル転送システムにおいて有用であ る。特にファイルのサイズが大きぐ転送を中断して再開する際に、転送を初めからや り直すと無駄が多い場合に効果を発揮する。

Claims

請求の範囲
[1] ネットワークを介し、ファイルを送信する送信機器から前記ファイルを受信する受信 機器へのファイル転送を行うファイル転送システムであって、
前記受信機器は、
前記送信機器から受信する、前記ファイルを構成するファイルデータを保存する保 存手段と、
前記保存手段に保存済みのファイルデータのサイズである保存済サイズを取得す る保存済サイズ取得手段と、
前記送信機器から前記保存済サイズを問!ヽ合わせられると、前記保存済サイズ取 得手段により取得された前記保存済サイズを前記送信機器に送信する受信制御手 段とを備え、
前記送信機器は、
ファイルデータを前記受信機器に送信する送信手段と、
前記ファイル転送の中断を検出する検出手段と、
前記検出手段により前記ファイル転送の中断が検出された後に、前記受信機器に 前記保存済データサイズを問い合わせる問合せ手段と、
前記問合せ手段による問い合わせに応じて前記受信機器が応答した保存済デー タサイズに基づき、前記ファイルを構成する残りのファイルデータを前記送信手段に 送信させる送信制御手段とを備える
ファイル転送システム。
[2] 前記送信手段は、 Hyper Text Transfer Protocol (HTTP)の POSTメソッド または PUTメソッドを使用して前記ファイルを前記受信機器に送信する
請求項 1記載のファイル転送システム。
[3] 前記送信制御手段は、更に、前記送信手段がファイルデータを送信する前に、前 記ファイルデータの前記ファイルにおける範囲であるデータ範囲を前記受信機器に 通知し、
前記受信機器は、更に、前記データ範囲に基づき、前記保存手段に保存されてい るファイルデータと、前記データ範囲が通知された後に受信したファイルデータとを 結合するファイル制御手段を備える
請求項 1記載のファイル転送システム。
[4] 前記送信制御手段は、前記データ範囲とともに前記ファイルの総サイズを前記受 信機器に通知する
請求項 3記載のファイル転送システム。
[5] 前記送信制御手段は、更に、前記ファイルを所定のサイズのファイルデータに分割 し、
前記送信手段は、前記送信制御手段により分割されたファイルデータを前記受信 機器に送信する
請求項 4記載のファイル転送システム。
[6] 前記受信制御手段は、更に、ファイル転送の中断を要求する中断要求を前記送信 機器へ送信し、
前記中断要求は、前記受信機器が前記ファイル転送を再開する始期を示す始期 情報と、前記受信機器が前記ファイル転送を受け入れる終期を示す期間情報とを含 み、
前記検出手段は、前記中断要求を受信することで前記ファイル転送の中断を検出 し、
前記送信制御手段は、前記始期から前記許可期間の間に前記残りのファイルデー タを前記送信手段に送信させる
請求項 1記載のファイル転送システム。
[7] 前記送信制御手段は、更に、前記送信手段がファイルデータを送信する前に、前 記ファイルデータの前記受信機器における保持期間を前記受信機器に通知し、 前記受信制御手段は、更に、前記ファイルデータが前記保存手段に保存され、か つ、前記ファイルデータの保持期間が経過する前に、前記ファイルを構成する全ての ファイルデータを前記送信機器から受信しな ヽ場合、前記保存手段に保存されて 、 る前記ファイルデータを削除する
請求項 1記載のファイル転送システム。
[8] 前記送信機器と前記受信機器とは Transmission Control Protocol (TCP)接 続によりファイル転送を行 、、
前記検出手段は、前記送信制御手段が、ファイルデータの送信中に前記 TCP接 続を切断したことを検出することで前記ファイル転送の中断を検出し、
前記送信制御手段は、更に、前記 TCP接続の切断後に、ファイルデータの前記受 信機器における保持期間を前記受信機器に通知し、
前記受信制御手段は、更に、前記送信機器から通知された前記保持期間が経過 する前に、前記ファイルを構成する全てのファイルデータを前記送信機器から受信し ない場合、前記保存手段に保存されているファイルデータを削除する
請求項 1記載のファイル転送システム。
[9] 前記送信機器と前記受信機器とは Transmission Control Protocol (TCP)接 続によりファイル転送を行 、、
前記送信制御手段は、更に、前記 TCP接続が前記受信機器により切断されると、 ファイル転送の許可を得るための転送要求を前記受信機器に送信し、
前記受信制御手段は、更に、前記転送要求への応答として前記ファイル転送の中 断を要求する中断要求を前記送信機器に送信し、
前記検出手段は、前記中断要求を受信することにより前記ファイル転送の中断を検 出する
請求項 1記載のファイル転送システム。
[10] ネットワークを介し、受信機器へファイルを転送するファイル転送を行う送信機器で あって、
前記ファイルを構成するファイルデータを前記受信機器に送信する送信手段と、 前記ファイル転送の中断を検出する検出手段と、
前記検出手段により前記ファイル転送の中断が検出された後に、前記受信機器に 保存されて ヽるファイルデータのサイズである保存済データサイズを問 ヽ合わせる問 合せ手段と、
前記問合せ手段による問い合わせに応じて前記受信機器が応答した保存済デー タサイズに基づき、前記ファイルを構成する残りのファイルデータを前記送信手段に 送信させる送信制御手段と を備える送信機器。
[11] ネットワークを介し、送信機器カゝら送信されるファイルを受信する受信機器であって 前記送信機器から受信する、前記ファイルを構成するファイルデータを保存する保 存手段と、
前記保存手段に保存済みのファイルデータのサイズである保存済サイズを取得す る保存済サイズ取得手段と、
前記送信機器から前記保存済サイズを問!ヽ合わせられると、前記保存済サイズ取 得手段により取得された前記保存済サイズを前記送信機器に送信する受信制御手 段と
を備える受信機器。
[12] ネットワークを介し、受信機器へファイルを転送するファイル転送を行うための送信 方法であって、
前記ファイルを構成するファイルデータを前記受信機器に送信する送信ステップと 前記ファイル転送の中断を検出する検出ステップと、
前記検出手段により前記ファイル転送の中断が検出された後に、前記受信機器に 保存されて ヽるファイルデータのサイズである保存済データサイズを問 ヽ合わせる問 合せステップと、
前記問合せ手段による問い合わせに応じて前記受信機器が応答した保存済デー タサイズに基づき、前記ファイルを構成する残りのファイルデータを前記受信機器に 送信する送信制御ステップと
を含む送信方法。
[13] ネットワークを介し、送信機器から送信されるファイルを受信するための受信方法で あって、
前記送信機器から受信する、前記ファイルを構成するファイルデータを保存手段に 保存する保存ステップと、
前記保存手段に保存済みのファイルデータのサイズである保存済サイズを取得す る保存済サイズ取得ステップと、
前記送信機器から前記保存済サイズを問!ヽ合わせられると、前記保存済サイズ取 得手段により取得された前記保存済サイズを前記送信機器に送信する受信制御ス テツプと
を含む受信方法。
[14] ネットワークを介し、受信機器へファイルを転送するファイル転送を行うためのプロ グラムであって、
前記ファイルを構成するファイルデータを前記受信機器に送信する送信ステップと 前記ファイル転送の中断を検出する検出ステップと、
前記検出手段により前記ファイル転送の中断が検出された後に、前記受信機器に 保存されて ヽるファイルデータのサイズである保存済データサイズを問 ヽ合わせる問 合せステップと、
前記問合せ手段による問い合わせに応じて前記受信機器が応答した保存済デー タサイズに基づき、前記ファイルを構成する残りのファイルデータを前記受信機器に 送信する送信制御ステップと
をコンピュータに実行させるためのプログラム。
[15] ネットワークを介し、送信機器から送信されるファイルを受信するためのプログラム であって、
前記送信機器から受信する、前記ファイルを構成するファイルデータを保存手段に 保存する保存ステップと、
前記保存手段に保存済みのファイルデータのサイズである保存済サイズを取得す る保存済サイズ取得ステップと、
前記送信機器から前記保存済サイズを問!ヽ合わせられると、前記保存済サイズ取 得手段により取得された前記保存済サイズを前記送信機器に送信する受信制御ス テツプと
をコンピュータに実行させるためのプログラム。
PCT/JP2005/019189 2004-10-26 2005-10-19 送信機器、受信機器、およびファイル転送システム WO2006046446A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006543029A JPWO2006046446A1 (ja) 2004-10-26 2005-10-19 送信機器、受信機器、およびファイル転送システム
EP05795248A EP1806877A1 (en) 2004-10-26 2005-10-19 Transmitting device, receiving device, and file forwarding system
US11/666,094 US20080091830A1 (en) 2004-10-26 2005-10-19 Transmitting Apparatus, Receiving Apparatus, and File Transfer System

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004310316 2004-10-26
JP2004-310316 2004-10-26

Publications (1)

Publication Number Publication Date
WO2006046446A1 true WO2006046446A1 (ja) 2006-05-04

Family

ID=36227688

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/019189 WO2006046446A1 (ja) 2004-10-26 2005-10-19 送信機器、受信機器、およびファイル転送システム

Country Status (6)

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

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305049A (ja) * 2006-05-15 2007-11-22 Nippon Telegr & Teleph Corp <Ntt> ファイル転送システム、ファイル転送プログラムおよびファイル転送方法
JP2008210379A (ja) * 2007-01-30 2008-09-11 Sony Corp コンテンツ伝送システム、コンテンツ送信装置および方法、コンテンツ受信装置および方法、プログラム、並びに記録媒体
CN101827404A (zh) * 2010-04-09 2010-09-08 无锡泛联物联网科技股份有限公司 无线传感网中多移动sink接入控制方法
JP2011086264A (ja) * 2009-10-19 2011-04-28 Canon Inc 情報処理装置、及びその制御方法
CN101389017B (zh) * 2007-09-14 2011-11-30 中兴通讯股份有限公司 一种移动流媒体直播业务中保存媒体文件的方法
CN103677810A (zh) * 2013-11-21 2014-03-26 金蝶软件(中国)有限公司 业务移动应用系统及其应用方法
US8788697B2 (en) 2006-02-13 2014-07-22 Panasonic Corporation File transmitting apparatus, file transmitting method, file receiving apparatus, file receiving method, and file transfer system
JP2014149813A (ja) * 2013-01-31 2014-08-21 Naver Corp モバイル端末で大容量のファイルが添付されたメールを送信する方法およびシステム
JP2017163451A (ja) * 2016-03-11 2017-09-14 株式会社リコー 通信システム及び通信方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070260747A1 (en) * 2006-03-10 2007-11-08 Jan Samzelius Protecting Electronic File Transfer from Unauthorized Access or Copying
JP5233175B2 (ja) * 2007-06-08 2013-07-10 ソニー株式会社 コンテンツ配信システム、配信サーバ、端末及びコンテンツ配信方法
US8910240B1 (en) * 2007-11-12 2014-12-09 Google Inc. Mapping content using uniform resource identifiers
CN101656991B (zh) 2008-08-18 2013-03-20 华为技术有限公司 消息发送过程中切换终端的方法及设备
JP5231942B2 (ja) * 2008-10-29 2013-07-10 キヤノン株式会社 画像処理装置およびその制御方法、並びにシステム、プログラム
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
US8763009B2 (en) 2010-04-17 2014-06-24 Code Systems Corporation Method of hosting a first application in a second application
CN102316129B (zh) * 2010-07-01 2013-08-21 江苏大学 一种嵌入式设备与远程数据库进行数据交换的方法
US8782106B2 (en) 2010-07-02 2014-07-15 Code Systems Corporation Method and system for managing execution of virtual applications
CN102456052B (zh) * 2010-11-02 2013-04-10 江苏大学 一种嵌入式设备与数据库数据同步方法
CN102801754A (zh) * 2011-05-24 2012-11-28 英业达集团(天津)电子技术有限公司 一种断点续传的方法及系统
JP5319753B2 (ja) * 2011-10-31 2013-10-16 株式会社東芝 コンテンツ送信装置及びコンテンツ受信装置
JP5947540B2 (ja) * 2011-11-07 2016-07-06 株式会社スクウェア・エニックス・ホールディングス 管理装置、管理装置の制御方法
KR101332170B1 (ko) * 2011-11-09 2013-11-25 에스케이텔레콤 주식회사 Http를 이용한 파일 전송 시스템, 그의 메시지 서버, 단말 및 방법
CN104580285A (zh) * 2013-10-15 2015-04-29 镇江雅迅软件有限责任公司 一种基于http协议断点续传文件的实现方法
US9934475B2 (en) * 2015-05-13 2018-04-03 Bank Of America Corporation Managing enterprise data movement using a heuristic data movement detection engine

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242640A (ja) * 1998-02-25 1999-09-07 Kdd Corp ファイル転送方法
JP2001007975A (ja) * 1999-06-18 2001-01-12 Ricoh Co Ltd 画像通信装置およびその制御方法
JP2004015081A (ja) * 2002-06-03 2004-01-15 Chori Joho System Co Ltd 通信制御システム
JP2004236005A (ja) * 2003-01-30 2004-08-19 Murata Mach Ltd 画像通信装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3605242B2 (ja) * 1996-11-12 2004-12-22 富士通株式会社 データ送信装置、データ受信装置、およびデータファイル記憶媒体
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
EP1037431A4 (en) * 1998-10-05 2005-06-15 Matsushita Electric Ind Co Ltd DATA TRANSFER METHOD AND DATA TRANSFER SYSTEM
KR100605880B1 (ko) * 2004-02-25 2006-08-01 삼성전자주식회사 클라이언트와 서버 간의 메시지 파일 송신 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242640A (ja) * 1998-02-25 1999-09-07 Kdd Corp ファイル転送方法
JP2001007975A (ja) * 1999-06-18 2001-01-12 Ricoh Co Ltd 画像通信装置およびその制御方法
JP2004015081A (ja) * 2002-06-03 2004-01-15 Chori Joho System Co Ltd 通信制御システム
JP2004236005A (ja) * 2003-01-30 2004-08-19 Murata Mach Ltd 画像通信装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TAKAHASHI O. ET AL: "Idoki Muke Push Protocol no Teian to Hyoka", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 43, no. 10, 2002, pages 3107 - 3118, XP003007275 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788697B2 (en) 2006-02-13 2014-07-22 Panasonic Corporation File transmitting apparatus, file transmitting method, file receiving apparatus, file receiving method, and file transfer system
JP2007305049A (ja) * 2006-05-15 2007-11-22 Nippon Telegr & Teleph Corp <Ntt> ファイル転送システム、ファイル転送プログラムおよびファイル転送方法
JP2008210379A (ja) * 2007-01-30 2008-09-11 Sony Corp コンテンツ伝送システム、コンテンツ送信装置および方法、コンテンツ受信装置および方法、プログラム、並びに記録媒体
US8635369B2 (en) 2007-01-30 2014-01-21 Sony Corporation Content transmission system, content sending apparatus and method, content reception apparatus and method, program, and recording media
CN101389017B (zh) * 2007-09-14 2011-11-30 中兴通讯股份有限公司 一种移动流媒体直播业务中保存媒体文件的方法
JP2011086264A (ja) * 2009-10-19 2011-04-28 Canon Inc 情報処理装置、及びその制御方法
CN101827404A (zh) * 2010-04-09 2010-09-08 无锡泛联物联网科技股份有限公司 无线传感网中多移动sink接入控制方法
JP2014149813A (ja) * 2013-01-31 2014-08-21 Naver Corp モバイル端末で大容量のファイルが添付されたメールを送信する方法およびシステム
CN103677810A (zh) * 2013-11-21 2014-03-26 金蝶软件(中国)有限公司 业务移动应用系统及其应用方法
CN103677810B (zh) * 2013-11-21 2018-06-01 金蝶软件(中国)有限公司 业务移动应用系统及其应用方法
JP2017163451A (ja) * 2016-03-11 2017-09-14 株式会社リコー 通信システム及び通信方法

Also Published As

Publication number Publication date
JPWO2006046446A1 (ja) 2008-05-22
EP1806877A1 (en) 2007-07-11
US20080091830A1 (en) 2008-04-17
CN101048989A (zh) 2007-10-03
KR20070083649A (ko) 2007-08-24

Similar Documents

Publication Publication Date Title
WO2006046446A1 (ja) 送信機器、受信機器、およびファイル転送システム
US7698392B2 (en) Method and system for establishing a user-friendly data transfer service application executing within a heterogeneous distributed service application execution environment
WO2006046445A1 (ja) ファイル転送システム、送信機器及び受信装置
US7904550B2 (en) Information processing control apparatus, method of delivering information through network, and program for it
KR101037941B1 (ko) 홈 네트워크 장치를 이용한 홈 간 컨텐츠 공유 장치 및방법
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
JP5170777B2 (ja) コンテンツの再生端末及び記録端末を切り替える方法、制御端末及びプログラム
US7818438B2 (en) Control apparatus and control method
EP2168311B1 (en) Upnp control point and method of handling upnp control request
JP2005174319A (ja) ネットワーク上でサービスを共有するための装置及び方法
JP5540593B2 (ja) 制御装置、画像処理装置、制御方法およびプログラム
US8296432B2 (en) Communication apparatus, distribution apparatus, control method, recording medium and system
JP4886712B2 (ja) アクセス制御システム、アクセス制御方法、アクセス制御装置およびアクセス制御プログラム
JP2002312225A (ja) データ管理装置及びデータ管理方法
JP2008102870A (ja) コンテンツ管理システム、コンテンツ供給装置、及びコンテンツ管理方法、プログラム、記憶媒体
JP2006025291A (ja) 省電力制御方法
JP2005167891A (ja) コンテンツサーバ、コンテンツ受信装置、プログラム及び記憶媒体
JP6101312B2 (ja) 通信装置及びその制御方法及びプログラム
JP4102344B2 (ja) 通信制御装置、方法及びプログラム
JP5775562B2 (ja) 情報処理装置及びその制御方法、及び、プログラム
JP4449378B2 (ja) 情報処理装置ならびにその名前空間構成装置および方法
JP2006339747A (ja) 記録装置の遠隔操作方法
JP2000165474A (ja) データ通信装置および方法ならびにデータ通信プログラムを記録した記録媒体
JP2013132001A (ja) コンテンツ送信装置、コンテンツ送信方法、コンテンツ送信装置の制御プログラム、コンテンツ受信装置、コンテンツ受信方法、コンテンツ受信装置の制御プログラム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BW BY BZ CA CH CN CO CR CU CZ DK DM DZ EC EE EG ES FI GB GD GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV LY MD MG MK MN MW MX MZ NA NG NO NZ OM PG PH PL PT RO RU SC SD SG SK SL SM SY TJ TM TN TR TT TZ UG US UZ VC VN YU ZA ZM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SZ TZ UG ZM ZW AM AZ BY KG MD RU TJ TM AT BE BG CH CY DE DK EE ES FI FR GB GR HU IE IS IT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW MR NE SN TD TG

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006543029

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020077008171

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 11666094

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2005795248

Country of ref document: EP

Ref document number: 200580036865.2

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2005795248

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2005795248

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11666094

Country of ref document: US