(57)【特許請求の範囲】
【請求項１】
ファイルを他の装置に送信するファイル送信装置であって、
前記ファイルを蓄積する蓄積手段と、
前記ファイルの取得要求を前記他の装置から受信する受信手段と、
前記蓄積手段に蓄積されている前記ファイルのうち、前記受信手段によって受信された前記ファイルの取得要求において指定される範囲のデータを前記他の装置に送信する送信手段と、
前記蓄積手段に蓄積されている前記ファイルのうち、前記送信手段によって送信された範囲のデータを削除する機能と、使用不可にする機能との両方を備えており、いずれかを選択的に実行し、前記蓄積手段に蓄積されている前記ファイルのうち、前記送信手段によって送信された範囲のデータを削除した場合、前記蓄積手段に蓄積されている前記ファイルのうち、削除されない範囲である第１使用可能範囲を算出し、前記蓄積手段に蓄積されている前記ファイルのうち、前記送信手段によって送信された範囲のデータを使用不可にした場合、前記蓄積手段に蓄積されている前記ファイルのうち、使用不可にされない範囲である第２使用可能範囲を算出する制限手段と、
前記制御手段によって算出された、前記第１使用可能範囲又は前記第２使用可能範囲を前記他の装置に通知する通知手段と
を備えることを特徴とするファイル送信装置。
【請求項２】
前記制御手段は、前記蓄積手段に蓄積されている前記ファイルのうち、前記送信手段によって送信された範囲のデータを削除した場合、削除した後の前記ファイルのサイズである第１全体サイズを算出し、前記蓄積手段に蓄積されている前記ファイルのうち、前記送信手段によって送信された範囲のデータを使用不可にした場合、使用不可にした後の前記ファイルのサイズである第２全体サイズを算出し、
前記通知手段は、前記制限手段によって算出された、前記第１全体サイズ又は前記第２全体サイズを前記他の装置に通知する
ことを特徴とする請求項１に記載のファイル送信装置。
【請求項３】
前記受信手段は、前記ファイルの取得要求を前記他の装置とは別の装置から受信し、
前記通知手段は、前記他の装置を特定することが可能な情報を前記別の装置に通知する
ことを特徴とする請求項１に記載のファイル送信装置。
【請求項４】
前記通知手段は、前記第１使用可能範囲及び前記第２使用可能範囲のいずれかを選択的に前記別の装置に通知する
ことを特徴とする請求項３に記載のファイル送信装置。
【請求項５】
前記通知手段は、前記蓄積手段に蓄積されている前記ファイルのうち、前記他の装置に送信済みの範囲を前記別の装置に通知する
ことを特徴とする請求項３に記載のファイル送信装置。
【請求項６】
ファイルを他の装置から受信するファイル受信装置であって、
前記ファイルのうち、前記他の装置によって削除も使用不可にもされない範囲である使用可能範囲の通知を前記他の装置から受け付ける受付手段と、
前記使用可能範囲に含まれる任意の範囲を指定して、前記ファイルの取得要求を前記他の装置に送信する送信手段と、
前記ファイルの取得要求において指定される範囲のデータを前記他の装置から受信する受信手段と、
前記受信手段によって受信されたデータを蓄積する蓄積手段と
を備え、
前記受付手段は、前記他の装置とは別の装置を特定することが可能な情報を前記他の装置から受け付け、
前記送信手段は、前記別の装置に前記ファイルの取得要求を送信する
ことを特徴とするファイル受信装置。
【請求項７】
前記受付手段は、前記使用可能範囲を前記他の装置から受け付け、
前記送信手段は、前記使用可能範囲に含まれる任意の範囲を指定して、前記ファイルの取得要求を前記他の装置に送信する
ことを特徴とする請求項６に記載のファイル受信装置。
【請求項８】
前記受付手段は、前記ファイルのうち、前記別の装置に送信済みの範囲を前記他の装置から受け付け、
前記送信手段は、前記送信済みの範囲に含まれる任意の範囲を指定して、前記ファイルの取得要求を前記別の装置に送信する
ことを特徴とする請求項６に記載のファイル受信装置。
【請求項９】
コンピュータが、ファイルを他の装置に送信するファイル送信方法であって、
前記コンピュータが、前記ファイルを蓄積する蓄積ステップと、
前記コンピュータが、前記ファイルの取得要求を前記他の装置から受信する受信ステップと、
前記コンピュータが、蓄積されている前記ファイルのうち、前記受信ステップにおいて受信された前記ファイルの取得要求において指定される範囲のデータを前記他の装置に送信する送信ステップと、
前記コンピュータが、蓄積されている前記ファイルのうち、前記送信ステップにおいて送信された範囲のデータを削除する処理と、使用不可にする処理とのいずれかを選択的に実行し、蓄積されている前記ファイルのうち、前記送信ステップにおいて送信された範囲のデータを削除した場合、蓄積されている前記ファイルのうち、削除されない範囲である第１使用可能範囲を算出し、蓄積されている前記ファイルのうち、前記送信ステップにおいて送信された範囲のデータを使用不可にした場合、蓄積されている前記ファイルのうち、使用不可にされない範囲である第２使用可能範囲を算出する制限ステップと、
前記コンピュータが、前記制御ステップで算出された、前記第１使用可能範囲又は前記第２使用可能範囲を前記他の装置に通知する通知ステップと
を含むことを特徴とするファイル送信方法。
【請求項１０】
ファイルを他の装置に送信するためのプログラムであって、
前記ファイルを蓄積する蓄積ステップと、
前記ファイルの取得要求を前記他の装置から受信する受信ステップと、
蓄積されている前記ファイルのうち、前記受信ステップにおいて受信された前記ファイルの取得要求において指定される範囲のデータを前記他の装置に送信する送信ステップと、
蓄積されている前記ファイルのうち、前記送信ステップにおいて送信された範囲のデータを削除する処理と、使用不可にする処理とのいずれかを選択的に実行し、蓄積されている前記ファイルのうち、前記送信ステップにおいて送信された範囲のデータを削除した場合、蓄積されている前記ファイルのうち、削除されない範囲である第１使用可能範囲を算出し、蓄積されている前記ファイルのうち、前記送信ステップにおいて送信された範囲のデータを使用不可にした場合、蓄積されている前記ファイルのうち、使用不可にされない範囲である第２使用可能範囲を算出する制限ステップと、
前記制御ステップで算出された、前記第１使用可能範囲又は前記第２使用可能範囲を前記他の装置に通知する通知ステップと
をコンピュータに実行させるためのプログラム。
【請求項１１】
ファイルを送信するファイル送信装置からファイルを受信するファイル受信装置にファイルを転送するファイル転送システムであって、
前記ファイル送信装置は、
前記ファイルを蓄積する蓄積手段と、
前記ファイルの取得要求を前記ファイル受信装置から受信する受信手段と、
前記蓄積手段に蓄積されている前記ファイルのうち、前記受信手段によって受信された前記ファイルの取得要求において指定される範囲のデータを前記ファイル受信装置に送信する送信手段と、
前記蓄積手段に蓄積されている前記ファイルのうち、前記送信手段によって送信された範囲のデータを削除する機能と、使用不可にする機能との両方を備えており、いずれかを選択的に実行し、前記蓄積手段に蓄積されている前記ファイルのうち、前記送信手段によって送信された範囲のデータを削除した場合、前記蓄積手段に蓄積されている前記ファイルのうち、削除されない範囲である第１使用可能範囲を算出し、前記蓄積手段に蓄積されている前記ファイルのうち、前記送信手段によって送信された範囲のデータを使用不可にした場合、前記蓄積手段に蓄積されている前記ファイルのうち、使用不可にされない範囲である第２使用可能範囲を算出する制限手段と、
前記制御手段によって算出された、前記第１使用可能範囲又は前記第２使用可能範囲を前記ファイル受信装置に通知する通知手段とを備え、
前記ファイル受信装置は、
前記通知手段により通知された、前記第１使用可能範囲又は前記第２使用可能範囲を前記ファイル送信装置から受け付ける受付手段と、
前記受付手段が受け付けた、前記第１使用可能範囲又は前記第２使用可能範囲に含まれる任意の範囲を指定して、前記ファイルの取得要求を前記ファイル送信装置に送信する送信手段と、
前記ファイルの取得要求において指定される範囲のデータを前記ファイル送信装置から受信する受信手段と、
前記受信手段によって受信されたデータを蓄積する蓄積手段とを備える
ことを特徴とするファイル転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、家電機器やPC間でファイルを転送するファイル転送システムに関し、特に、一世代コピー可能なファイルを分割して転送するファイル転送システムに関する。
【背景技術】
【０００２】
近年、xDSLや光ファイバーなどのブロードバンド環境が整ったことにより、企業、一般家庭を問わずインターネット接続が急速に普及してきている。また、家庭内のPCや家電機器をEthernet(登録商標)や無線LANなどで接続するホームネットワーク環境も一般化してきている。この様な中で、パーソナルコンピュータ(PC)だけでなく、テレビやDVDレコーダ、エアコン、冷蔵庫のような家電機器も相互に接続できるようになってきている。
【０００３】
インターネットやホームネットワークにおけるアプリケーションの一つとして、家電機器やPC間でファイルを転送するアプリケーションがある。例えば、DVDレコーダに録画したTV番組をPCに転送して編集を行ったり、録画したMPEG2ファイルをDVDレコーダ間で転送してダビングしたりする例などがある。
【０００４】
従来、このようなファイル転送を利用した不正コピーを防止するための技術として、DTCP(Digital Transmission Content Protection)が存在する。DTCPでは、利用許諾情報として、コピーを完全に禁止するCopy Never、一世代だけコピーを許可するCopy One Generation、コピーを自由に行えるCopy Freeを規定している（例えば、非特許文献１参照）。特に、Copy One Generationに関しては、ファイルの転送元の機器(ソース機器)が転送済みのファイルを即座に削除もしくは使用不可にするという条件の下で、一世代のコピー後も、他の機器(シンク機器)に前記ファイルを転送することを許可している。そのため、Copy One Generationのファイルに関しては、ソース機器が前記条件を厳守することにより、機器間のファイル転送を実現することができる。なお、Copy One Generationのファイルは、一世代コピー後はCopy No Moreのファイルに変更される。
【非特許文献１】Digital Transmission Content Protection Specification Volume 1 (Informational Version), Hitachi, Ltd, Intel Corporation, Matsushita Electric Industrial Co., Ltd., Sony Corporation, Toshiba Corporation, Revision 1.4, February 28, 2005.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ソース機器に蓄積されているファイルのサイズが大きい場合は、ネットワークの利用効率を考慮し、ファイルを複数に分割して転送する形態を用いる。例えば、シンク機器は、ＨＴＴＰ（Hyper Text Transfer Protocol）のＧＥＴリクエストのＲａｎｇｅヘッダにおいてファイルの範囲を指定し、このＧＥＴリクエストを受けたソース機器は、指定された範囲のデータをシンク機器に転送する。これによって、ソース機器に蓄積されているファイルを複数に分割してシンク機器に転送することが可能となる。しかしながら、このような形態によって一世代コピー可能なファイルを転送する場合は、ソース機器が転送済みのファイルを削除するか使用不可にするかによって、ソース機器に蓄積されているファイルのサイズに差が生じることになる。
【０００６】
図２５は、転送済みのファイルを削除する方式と使用不可にする方式の概略を示す図である。ファイルを複数に分割して転送する形態では、一度にファイルの全部を削除または使用不可にするのではなく、ファイルの一部（転送済みの部分）を削除または使用不可にすることになるが、ここでは簡単のため「転送済みのファイル」を削除または使用不可にすると表現する。
【０００７】
この図に示されるように、全体で1000byteのファイル１０２を100byte単位でソース機器１０１がシンク機器１１０に転送する場合を考える。ファイル１０２の先頭から100byte分のデータ転送が済んだ場合、転送済みのファイルを削除する方式では、図２５(a)に示されるようにソース機器１０１には900byte分のデータが残存する。他方、転送済みのファイルを使用不可にする方式では、図２５(b)に示されるようにソース機器１０１には1000byte分のデータが残存する。
【０００８】
このように、転送済みのファイルを削除する方式と使用不可にする方式とでは、転送後におけるファイルサイズに差が生じるため、それ以降は、シンク機器１１０からのファイル転送要求方法が異なることになる。すなわち、転送済みのファイルを削除する方式では、図２５(a)に示されるように、シンク機器１１０は、常にファイルの先頭１０７を基点としてファイル転送を要求する必要がある。他方、転送済みのファイルを使用不可にする方式では、図２５(b)に示されるように、シンク機器１１０は、ファイルの先頭１２３ではなく前回取得した続き１２１を基点としてファイル転送を要求する必要がある。
【０００９】
しかしながら、現状では、ソース機器が転送済みのファイルを削除する方式を採用しているのか使用不可にする方式を採用しているのかをシンク機器側で特定することができない。そのため、ファイルを複数に分割して転送する形態によると、シンク機器が2回目以降のファイル転送を要求することができないという問題がある。
【００１０】
本発明は、前記課題を解決するものであって、ファイルを複数に分割して転送する形態において、ソース機器が転送済みのファイルを削除する方式と使用不可にする方式のいずれを採用している場合でも、シンク機器が2回目以降のファイル転送を要求することが可能なファイル転送システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
前記目的を達成するために、本発明に係るファイル送信装置は、他の装置（シンク機器）にファイルを送信するファイル送信装置（ソース機器）であって、前記ファイルを蓄積する蓄積手段と、前記ファイルの取得要求を前記他の装置から受信する受信手段と、前記蓄積手段に蓄積されている前記ファイルのうち、前記受信手段によって受信された前記ファイルの取得要求において指定される範囲のデータを前記他の装置に送信する送信手段と、前記蓄積手段に蓄積されている前記ファイルのうち、前記送信手段によって送信された範囲のデータを削除または使用不可にする制限手段と、前記蓄積手段に蓄積されている前記ファイルのうち、前記制限手段によって削除も使用不可にもされない範囲である使用可能範囲を前記他の装置に通知する通知手段とを備える。これによって、前記ファイルのうち、前記制限手段によって削除も使用不可にもされない範囲である使用可能範囲が前記他の装置に通知されるので、前記他の装置は、誤った範囲を指定することなく2回目以降のファイル転送を要求することが可能となる。
【００１２】
ここで、前記通知手段は、前記制限手段によって削除または使用不可にされた後の前記ファイルの全体サイズを前記他の装置に通知してもよい。これによって、前記他の装置側で制限後のファイルの全体サイズの情報を用いた処理をすることが可能となる。
【００１３】
また、前記通知手段は、前記制限手段によって削除または使用不可にされる前の前記ファイルの全体サイズを前記他の装置に通知してもよい。これによって、前記他の装置側で制限前のファイルの全体サイズの情報を用いた処理をすることが可能となる。
【００１４】
また、前記ファイル送信装置は、さらに、前記使用可能範囲の問い合わせを前記他の装置から受け付ける受付手段を備え、前記通知手段は、前記受付手段によって前記問い合わせが受け付けられた場合、前記使用可能範囲を前記他の装置に通知してもよい。これによって、前記他の装置がダウンしたことによって前記他の装置側で一時的に保持していた情報が消えてしまった場合でも、前記他の装置は、前記ファイル送信装置に問い合わせをすることによって、消えてしまった情報を再び取得することが可能である。
【００１５】
また、前記受信手段は、前記ファイルの取得要求を前記他の装置とは別の装置から受信し、前記通知手段は、前記他の装置を特定することが可能な情報を前記別の装置に通知してもよい。これによって、前記別の装置は、前記他の装置にファイル転送を要求することが可能となる。
【００１６】
また、前記通知手段は、前記使用可能範囲を前記別の装置に通知してもよい。これによって、前記別の装置は、誤った範囲を指定することなく前記ファイル送信装置にファイル転送を要求することが可能となる。
【００１７】
また、前記通知手段は、前記蓄積手段に蓄積されている前記ファイルのうち、前記他の装置に送信済みの範囲を前記別の装置に通知してもよい。これによって、前記別の装置は、誤った範囲を指定することなく前記他の装置にファイル転送を要求することが可能となる。
【００１８】
他方、前記目的を達成するために、本発明に係るファイル送信装置は、他の装置（ソース機器）からファイルを受信するファイル受信装置（シンク機器）であって、前記ファイルのうち、前記他の装置によって削除も使用不可にもされない範囲である使用可能範囲の通知を前記他の装置から受け付ける受付手段と、前記使用可能範囲に含まれる任意の範囲を指定して、前記ファイルの取得要求を前記他の装置に送信する送信手段と、前記ファイルの取得要求において指定される範囲のデータを前記他の装置から受信する受信手段と、前記受信手段によって受信されたデータを蓄積する蓄積手段とを備える。これによって、前記ファイル受信装置は、前記ファイルのうち、使用可能範囲に含まれる任意の範囲を指定することができるので、誤った範囲を指定することなく2回目以降のファイル転送を要求することが可能となる。
【００１９】
ここで、前記受付手段は、前記他の装置において削除または使用不可にされた後の前記ファイルの全体サイズを前記他の装置から受け付けてもよい。これによって、前記ファイル受信装置側で制限後のファイルの全体サイズの情報を用いた処理をすることが可能となる。
【００２０】
また、前記受付手段は、前記他の装置において削除または使用不可にされる前の前記ファイルの全体サイズを前記他の装置から受け付けてもよい。これによって、前記ファイル受信装置側で制限前のファイルの全体サイズの情報を用いた処理をすることが可能となる。
【００２１】
また、前記ファイル受信装置は、さらに、前記使用可能範囲を前記他の装置に問い合わせる問い合わせ手段を備え、前記受付手段は、前記問い合わせ手段によって問い合わせがされた場合、前記使用可能範囲の通知を前記他の装置から受け付けてもよい。これによって、前記ファイル受信装置がダウンしたことによって前記ファイル受信装置側で一時的に保持していた情報が消えてしまった場合でも、前記ファイル受信装置は、前記他の装置に問い合わせをすることによって、消えてしまった情報を再び取得することが可能である。
【００２２】
また、前記受付手段は、前記他の装置（ソース機器）とは別の装置を特定することが可能な情報を前記他の装置から受け付け、前記送信手段は、前記別の装置に前記ファイルの取得要求を送信してもよい。これによって、前記ファイル受信装置が前記他の装置に前記ファイルの取得要求を送信した際に前記他の装置が前記別の装置にファイルを転送中でも、前記ファイル受信装置は、前記別の装置にファイル転送を要求することが可能となる。
【００２３】
また、前記受付手段は、前記使用可能範囲を前記他の装置から受け付け、前記送信手段は、前記使用可能範囲に含まれる任意の範囲を指定して、前記ファイルの取得要求を前記他の装置に送信してもよい。これによって、前記ファイル受信装置は、前記ファイル受信装置が前記他の装置に前記ファイルの取得要求を送信した際に前記他の装置が前記別の装置にファイルを転送中でも、誤った範囲を指定することなく前記他の装置にファイル転送を要求することが可能となる。
【００２４】
また、前記受付手段は、前記ファイルのうち、前記別の装置に送信済みの範囲を前記他の装置から受け付け、前記送信手段は、前記送信済みの範囲に含まれる任意の範囲を指定して、前記ファイルの取得要求を前記別の装置に送信してもよい。これによって、前記ファイル受信装置は、前記ファイル受信装置が前記他の装置に前記ファイルの取得要求を送信した際に前記他の装置が前記別の装置にファイルを転送中でも、誤った範囲を指定することなく前記別の装置にファイル転送を要求することが可能となる。
【００２５】
なお、本発明は、このようなファイル送信装置又はファイル受信装置として実現することができるだけでなく、このようなファイル送信装置からファイル受信装置にファイルを転送するファイル転送システムとして実現したり、このようなファイル送信装置又はファイル受信装置が備える特徴的な手段をステップとするファイル送信方法又はファイル受信方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明の効果】
【００２６】
以上の説明から明らかなように、本発明に係るファイル転送システムによれば、ファイルを複数に分割して転送する形態において、ファイル送信装置が転送済みのファイルを削除する方式と使用不可にする方式のいずれを採用している場合でも、削除も使用不可にもされない範囲である使用可能範囲がファイル受信装置に通知される。これによって、ファイル受信装置は、誤った範囲を指定することなく2回目以降のファイル転送を要求することが可能となる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００２８】
（実施の形態１）
図１は、本実施の形態１におけるファイル転送システムの利用環境を示す図である。この図に示されるように、本ファイル転送システムは、ソース機器１０１とシンク機器１１０とを備えている。ソース機器１０１とシンク機器１１０とは、ブロードバンドルータ２０２に接続されてホームネットワークを構成している。ブロードバンドルータ２０２は、インターネット２０３に接続されていてもよい。ソース機器１０１は、蓄積メディア２０１に蓄積しているファイルをシンク機器１１０に送信するセットトップボックス等である。シンク機器１１０は、ファイルをソース機器１０１から受信して蓄積メディア２０１に蓄積するＤＶＤ／ＨＤＤハイブリッドレコーダ等である。
【００２９】
本実施の形態１の初期状態では、一世代コピー可能なファイルをソース機器１０１が蓄積しており、そのファイルをシンク機器１１０に転送するものとする。ソース機器１０１に蓄積されるファイルの生成方法は特に限定されるものではない。例えば、ネットワークを通じて外部から受信することもできるし、あるいはソース機器１０１内で作成することもできる。ファイルの種類に関しては、動画・静止画・音楽など様々な種類が考えられる。ネットワークに関しても、インターネットやホームネットワークなど様々な形態が考えられる。ソース機器１０１やシンク機器１１０がネットワークへ接続する形態に関しても、有線や無線など様々な形態が考えられる。
【００３０】
次に、ファイルの転送（ＭＯＶＥ）に関して説明する。
DTCPでは、ファイルに関する利用許諾情報として、EMI(Encryption Mode Indicator)を利用する。EMIは、ファイルのコピーを禁止するCopy Never、一世代のみコピーを許可するCopy One Generation、自由にコピーを許可するCopy Freeの値を持つ。Copy One Generationのファイルは、一世代コピー後はCopy No Moreのファイルに変更される。
【００３１】
Copy One Generationのファイルについては、一世代コピー後に他の機器に対して二世代目のコピーを実行すること（ダビング）は許可されていない。しかしながら、他の機器にファイルを転送する際にソース機器からファイルを削除しながらファイルを転送すること（ＭＯＶＥ）は許可されている。すなわち、Copy One Generationのファイルを転送した場合、ソース機器は、そのファイルを即座に削除もしくは使用不可にする必要がある。ファイルを削除するとは、ソース機器の蓄積メディアからファイルを完全に消去することをいう。ファイルを使用不可にするとは、ソース機器の蓄積メディアにファイルは存在するが、そのファイルを何らかの方法でアクセスできない状態に変化させていることをいう。ファイルを削除する方法及び使用不可にする方法に関しては、本発明の主旨とは異なるため詳述しない。
【００３２】
図２は、本実施の形態1におけるソース機器及びシンク機器の内部構成を示す図である。
【００３３】
この図に示されるように、ソース機器１０１は、機能的には、蓄積部３０１と、ファイル管理部３０２と、受信部３０３と、送信部３０４と、通知部３０５と、受付部３０６と、通信部３０７とを備えている。蓄積部３０１は、ファイルを蓄積するハードディスク等である。通信部３０７は、ネットワークを介してシンク機器１１０と通信する通信インターフェイスであり、受信部３０３・送信部３０４・通知部３０５・受付部３０６のそれぞれと接続されている。受信部３０３は、ファイル取得要求をシンク機器１１０から受信してファイル管理部３０２に通知する。送信部３０４は、蓄積部３０１に蓄積されているファイルのうち、受信部３０３によって受信されたファイル取得要求において指定される範囲のデータをシンク機器１１０に送信する。ファイル管理部３０２は、本発明に係る制限手段の一例であり、蓄積部３０１に蓄積されているファイルのうち、送信部３０４によって送信された範囲のデータを削除または使用不可にする等、蓄積部３０１に蓄積されているファイルを管理している。通知部３０５は、蓄積部３０１に蓄積されているファイルのうち、ファイル管理部３０２によって削除も使用不可にもされない範囲である使用可能範囲をシンク機器１１０に通知する。受付部３０６は、前記使用可能範囲の問い合わせをシンク機器１１０から受け付けてファイル管理部３０２に通知する。なお、ファイル管理部３０２によって管理されているファイルの情報（以下「ファイル管理情報」という）は、必要に応じて送信部３０４や通知部３０５に通知される。
【００３４】
他方、シンク機器１１０は、機能的には、通信部３１１と、受信部３１２と、送信部３１３と、問い合わせ部３１４と、受付部３１５と、ファイル管理部３１６と、蓄積部３１７と、入力部３１８とを備えている。通信部３１１は、ネットワークを介してソース機器１０１と通信する通信インターフェイスである。受付部３１５は、ファイルの使用可能範囲の通知をソース機器１０１から受け付けてファイル管理部３１６に通知する。送信部３１３は、前記使用可能範囲に含まれる任意の範囲を指定して、ファイル取得要求をソース機器１０１に送信する。受信部３１２は、ファイル取得要求において指定される範囲のデータをソース機器１０１から受信してファイル管理部３１６に渡す。蓄積部３１７は、受信部３１２によって受信されたデータを蓄積するハードディスク等である。問い合わせ部３１４は、前記使用可能範囲をソース機器１０１に問い合わせる。ファイル管理部３１６は、蓄積部３１７に蓄積されているファイルを管理している。入力部３１８は、ユーザからの指示を入力してファイル管理部３１６に通知するボタン等である。なお、ファイル管理部３１６によって管理されているファイルの情報は、必要に応じて送信部３１３や問い合わせ部３１４に通知される。
【００３５】
図３(a)及び図３(b)は、ソース機器１０１のファイル管理部３０２が管理しているファイル管理情報を示す図である。図３(a)は、転送済みのファイルを削除するソース機器１０１のファイル管理部３０２が管理しているファイル管理情報を示し、図３(b)は、転送済みのファイルを使用不可にするソース機器１０１のファイル管理部３０２が管理しているファイル管理情報を示している。ソース機器１０１は、1000byteのファイルA及び2000byteのファイルBを蓄積している。ここでは、ファイルAの先頭から100byte分のデータをシンク機器１１０に送信した後の状態を示している。
【００３６】
この図に示されるように、ファイル管理部３０２は、蓄積部３０１に蓄積されているファイルに関して、「全体サイズ」と「使用可能範囲」とを管理している。
【００３７】
「全体サイズ」は、蓄積部３０１に蓄積されている各々のファイルのサイズである。シンク機器１１０にファイルを転送する前の状態では、ファイルAに関しては1000byte、ファイルBに関しては2000byteの値が入力されている。ソース機器１０１が転送済みのファイルを削除する場合、ファイルＡの「全体サイズ」は、図３(a)に示されるように、ファイルＡの先頭から100byte分のデータ転送が済んだときに100byte減少して900byteになる。他方、ソース機器１０１が転送済みのファイルを使用不可にする場合、ファイルＡの「全体サイズ」は、図３(b)に示されるように、ファイルＡの先頭から100byte分のデータ転送が済んだ後も1000byteのままで変化しない。
【００３８】
「使用可能範囲」は、蓄積部３０１に蓄積されているファイルの使用可能範囲を示している。ソース機器１０１が転送済みのファイルを削除する場合、ファイルの使用可能範囲の先頭を示す基点は削除後のファイルの先頭に移動するため、「使用可能範囲」は常に「0−全体サイズ」となる。ここでは、ファイルＡの先頭から100byte分のデータ転送が済んでいるため、図３(a)に示されるように「使用可能範囲」は「0-900byte」となる。他方、ソース機器１０１が転送済みのファイルを使用不可にする場合、ファイルの先頭は変化しないが、ファイルの使用可能範囲の先頭を示す基点はファイルの先頭から100byteの位置に移動する。すなわち、「使用可能範囲」は、使用不可に変更されている範囲以外であるため「転送済みのファイルサイズ-全体サイズ」となる。ここでは、ファイルＡの先頭から100byte分のデータ転送が済んでいるため、「使用可能範囲」は、図３(b)に示されるように「100-1000byte」となる。
【００３９】
図４(a)及び図４(b)は、ソース機器１０１のファイル管理部３０２が管理している別のファイル管理情報を示す図である。図４(a)は、転送済みのファイルを削除するソース機器１０１のファイル管理部３０２が管理しているファイル管理情報を示し、図４(b)は、転送済みのファイルを使用不可にするソース機器１０１のファイル管理部３０２が管理しているファイル管理情報を示している。ここでは、シンク機器１１０がファイルＡの100byteから200byteの範囲のデータ転送を要求した場合を想定している。ソース機器１０１が転送済みのファイルを削除する場合のファイル管理情報は、図４(a)に示されるように図３(a)と同様であるため説明を割愛する。他方、ソース機器１０１が転送済みのファイルを使用不可にする場合において、ファイルＡの100byteから200byteの範囲のデータが転送されたときは、ファイルＡの100byteから200byteの範囲のデータが使用不可になる。従って、図４(b)に示されるように、ファイルＡの「使用可能範囲」は、図３(b)とは異なり「0-100,200-1000byte」となる。「全体サイズ」については、図３(b)と同様であるため説明を割愛する。
【００４０】
図５(a)及び図５(b)は、ソース機器１０１のファイル管理部３０２が管理している別のファイル管理情報を示す図である。図５(a)は、転送済みのファイルを削除するソース機器１０１のファイル管理部３０２が管理しているファイル管理情報を示し、図５(b)は、転送済みのファイルを使用不可にするソース機器１０１のファイル管理部３０２が管理しているファイル管理情報を示している。ここでは、ソース機器１０１のファイル管理部３０２は、「全体サイズ」「使用可能範囲」に加えて「転送前サイズ」を管理している。「転送前サイズ」とは、転送前のファイルの全体サイズ、すなわちソース機器１０１のファイル管理部３０２によって削除または使用不可にされる前のファイルの全体サイズである。図５(a)に示されるように、ソース機器１０１が転送済みのファイルを削除する場合、ファイルＡの先頭から100byte分のデータ転送が済んだときに「全体サイズ」は900byteとなるが、「転送前サイズ」は1000byteのままである。このように転送前サイズを管理すれば、ソース機器１０１が転送済みのファイルを削除する場合でも、本来のファイルの全体サイズをシンク機器１１０に通知することができ、シンク機器１１０側で転送前サイズを用いた処理を実行することが可能となる。
【００４１】
図６(a)及び図６(b)は、ソース機器１０１の通知部３０５が作成する情報（以下、「ファイル詳細情報」という）を示す図である。図６(a)は、転送済みのファイルを削除するソース機器１０１の通知部３０５が作成するファイル詳細情報を示し、図６(b)は、転送済みのファイルを使用不可にするソース機器１０１の通知部３０５が作成するファイル詳細情報を示している。通知部３０５は、ファイル管理部３０２によって管理されているファイル管理情報に基づいてファイル詳細情報を作成し、作成したファイル詳細情報をシンク機器１１０に通知する。
【００４２】
ファイル詳細情報に含まれる「全体サイズ」及び「使用可能範囲」は、ファイル管理情報に含まれるそれらと同じである。すなわち、「全体サイズ」は、蓄積部３０１に蓄積されている各々のファイルのサイズであり、「使用可能範囲」は、蓄積部３０１に蓄積されているファイルの使用可能範囲である。ここでは、ソース機器１０１がファイルAを100byte送信した後にシンク機器１１０に対して通知するファイル詳細情報を示している。ソース機器１０１が転送済みのファイルを削除する場合、図６(a)に示されるように、ファイルＡの「全体サイズ」は、ファイルＡの先頭から100byte分のデータ転送が済んだときに100byte減少して900byteになり、「使用可能範囲」は、基点が削除後のファイルの先頭に移動するため「0-900byte」となる。他方、ソース機器１０１が転送済みのファイルを使用不可にする場合、図６(b)に示されるように、ファイルＡの「全体サイズ」は、ファイルの転送前後で変化しないが、「使用可能範囲」は、基点がファイルの先頭から100byteの位置に移動するため「100-1000byte」となる。
【００４３】
通知部３０５は、送信部３０４がファイルをシンク機器１１０に送信する場合、そのファイルに関する「全体サイズ」及び「使用可能範囲」を含んだファイル詳細情報を作成してシンク機器１１０に通知する。また、受付部３０６がシンク機器１１０の問い合わせ部３１４から問い合わせを受け付けた場合も同様のファイル詳細情報を作成してシンク機器１１０に通知する。ファイル詳細情報をシンク機器１１０に通知する形態は限定されるものではないが、HTTP(Hyper Text Transmission Protocol)の拡張ヘッダとして通知することが望ましい。シンク機器１１０からの問い合わせの形態も限定されるものではなく、例えば、ソース機器１０１が解釈可能なコマンドを送信する形態でもよい。このように、「使用可能範囲」等のファイル詳細情報をシンク機器１１０から問い合わせる手法は、ソース機器１０１からシンク機器１１０にファイルを転送している途中にシンク機器１１０がダウンしてしまった場合に有効である。すなわち、シンク機器１１０がダウンすると、シンク機器１１０側で一時的に保持していたファイル詳細情報が消えてしまう。この場合でも、シンク機器１１０は、ソース機器１０１に問い合わせをすることによって、消えてしまったファイル詳細情報を再び取得することが可能である。
【００４４】
ファイル詳細情報を通知されたシンク機器１１０は、「全体サイズ」と「使用可能範囲」とが同様の場合は、転送済みのファイルがソース機器１０１によって削除されると判断することができ、逆に、「全体サイズ」と「使用可能範囲」とが異なる場合は、転送済みのファイルがソース機器１０１によって使用不可にされると判断することができる。
【００４５】
図７(a)及び図７(b)は、シンク機器１１０の送信部３１３が作成するファイル取得要求を示す図である。図７(a)は、転送済みのファイルをソース機器１０１が削除する場合にシンク機器１１０の送信部３１３が作成するファイル取得要求を示し、図７(b)は、転送済みのファイルをソース機器１０１が使用不可にする場合にシンク機器１１０の送信部３１３が作成するファイル取得要求を示している。ここでは、ファイルＡの先頭から100byte分のデータを受信したシンク機器１１０が、さらにファイルAの100byteから200byteの範囲を取得要求する場合を想定している。
【００４６】
「ファイル」は、取得要求するファイルのファイル名を示している。ここでは、ファイルAを取得要求する場合を示している。「範囲」は、取得要求するファイルの範囲を示している。ソース機器１０１が転送済みのファイルを削除する場合、図７(a)に示されるように、常に基点が0となるため、取得要求するファイルＡの範囲も「0-100byte」となる。他方、ソース機器１０１が転送済みのファイルを使用不可にする場合、図７(b)に示されるように、基点はファイルＡの先頭から取得したサイズだけ移動するため、取得要求するファイルＡの範囲は「100-200byte」となる。ファイル取得要求は、HTTPを利用して送信されることが望ましい。
【００４７】
図８は、転送済みのファイルを削除するソース機器１０１とシンク機器１１０間のシーケンス図である。以下、HTTPを利用してファイルを転送する方法について説明するが、転送の方法はこれに限定されるものではない。
【００４８】
まず、シンク機器１１０は、ファイルAの取得要求としてHTTPのGETリクエストをソース機器１０１に送信する(S701)。このファイル取得要求には、取得範囲を示す「Range」ヘッダが含まれる。ここでは、0-100byteの範囲を取得するために「Range：0-100」が指定される。
【００４９】
次に、ソース機器１０１は、ファイルＡの取得応答としてHTTPの200OKをシンク機器１１０に送信する(S702)。このファイル取得応答には、ファイルＡの使用可能範囲を示す「Usable-Range」ヘッダが含まれる。この「Usable−Range」ヘッダは、今回新たに追加されたヘッダであり、「Usable-Range：(使用可能範囲)/(全体サイズ)」という形態で記述される。ソース機器１０１は、ファイルＡの先頭から100byte分のデータ転送が済むとその範囲のデータを削除するため、「Usable−Range」ヘッダには「Usable-Range：0-900/900」が指定される。また、ソース機器１０１は、ファイル取得要求において指定された範囲「Range：0-100byte」のデータをシンク機器１１０に送信する(S703)。
【００５０】
次に、シンク機器１１０は、ファイルＡの続きを取得するために、再びファイルAの取得要求としてHTTPのGETリクエストをソース機器１０１に送信する(S704)。ソース機器１０１からの「Usable-Range」ヘッダには「Usable-Range：0-900/900」が指定されている。そこで、シンク機器１１０は、現在使用可能なファイルＡの範囲は「0-900byte」であると判断して再び「Range：0-100byte」を指定する。
【００５１】
次に、ソース機器１０１は、ファイルＡの取得応答としてHTTPの200OKをシンク機器１１０に送信する(S705)。ソース機器１０１は、ファイルＡの100byteから200byteの範囲のデータ転送が済むとその範囲のデータを再び削除するため、「Usable−Range」ヘッダには「Usable-Range：0-800/800」が指定される。また、ソース機器１０１は、ファイル取得要求において指定された範囲「Range：0-100byte」のデータを再びシンク機器１１０に送信する(S706)。
【００５２】
以降、同様の処理が繰り返される。シンク機器１１０は、ソース機器１０１からの「Usable-Range」ヘッダが「Usable-Range：0-0/0」になると、すなわち「Usable-Range：L-M/N」中のＬとＭが両方０になると、ファイルＡの全部を取得したと判断して処理を終了する。あるいは、「Usable-Range：L-M/N」中のＮが０になると、ファイルＡの全部を取得したと判断して処理を終了してもよい。
【００５３】
図９は、転送済みのファイルを使用不可にするソース機器１０１とシンク機器１１０間のシーケンス図である。ここでも、HTTPを利用してファイルを転送する方法について説明するが、転送の方法はこれに限定されるものではない。
【００５４】
まず、シンク機器１１０は、ファイルAの取得要求としてHTTPのGETリクエストをソース機器１０１に送信する(S801)。このファイル取得要求には、0-100byteの範囲を取得するために「Range：0-100byte」が指定される。
【００５５】
次に、ソース機器１０１は、ファイルＡの取得応答としてHTTPの200OKをシンク機器１１０に送信する(S802)。ソース機器１０１は、ファイルＡの先頭から100byte分のデータ転送が済むとその範囲のデータを使用不可にするため、「Usable−Range」ヘッダには「Usable-Range：100-1000/1000」が指定される。また、ソース機器１０１は、ファイル取得要求において指定された範囲「Range：0-100byte」のデータをシンク機器１１０に送信する (S803)。
【００５６】
次に、シンク機器１１０は、ファイルＡの続きを取得するために、再びファイルＡの取得要求としてHTTPのGETリクエストをソース機器１０１に送信する(S804)。ソース機器１０１からの「Usable-Range」ヘッダには「Usable-Range：100-1000/1000」が指定されている。そこで、シンク機器１１０は、現在使用可能なファイルＡの範囲は「100-1000byte」であると判断して「Range：100-200byte」を指定する。
【００５７】
次に、ソース機器１０１は、ファイルＡの取得応答としてHTTPの200OKをシンク機器１１０に送信する(S805)。ソース機器１０１は、ファイルＡの100byteから200byteの範囲のデータ転送が済むとその範囲のデータを再び使用不可にするため、「Usable−Range」ヘッダには「Usable-Range：200-1000/1000」が指定される。また、ソース機器１０１は、ファイル取得要求において指定された範囲「Range：100-200byte」のデータをシンク機器１１０に送信する (S806)。
【００５８】
以降、同様の処理が繰り返される。シンク機器１１０は、ソース機器１０１からの「Usable-Range」ヘッダが「Usable-Range：1000-1000/1000」になると、すなわち「Usable-Range：L-M/N」中のＬとＭが同じ値になると、ファイルＡの全部を取得したと判断して処理を終了する。あるいは、「Usable-Range：L-M/N」中のＬとＮが同じ値になると、ファイルＡの全部を取得したと判断して処理を終了してもよい。
【００５９】
次に、ソース機器１０１の動作を詳細に説明する。
図１０は、本実施の形態1におけるソース機器１０１の詳細動作を示す図である。
【００６０】
受信部３０３は、ファイル取得要求を待ち受けており(S901)、ファイル取得要求をシンク機器１１０から受信すると、その旨をファイル管理部３０２に通知する(S902)。ファイル管理部３０２は、ファイル取得要求とともに、取得要求されたファイルの「全体サイズ」及び「使用可能範囲」をファイル管理情報の中から抽出して通知部３０５に渡す。
【００６１】
通知部３０５は、「全体サイズ」及び「使用可能範囲」を含んだファイル詳細情報を作成する(S903)。このとき、ソース機器１０１が転送済みのファイルを削除する場合、ファイル取得要求において指定される範囲に基づいて「ファイルの全体サイズ」を減算するとともに「使用可能範囲」を変更する。他方、ソース機器１０１が転送済みのファイルを使用不可にする場合、ファイル取得要求において指定される範囲に基づいて「使用可能範囲」のみを変更する。そして、このファイル詳細情報と一致する内容にファイル管理情報を更新するようにファイル管理部３０２に指示するとともに(S904)、このファイル詳細情報をファイル取得応答に含めてシンク機器１１０に通知する (S905)。
【００６２】
ファイル管理部３０２は、ファイル取得応答後、取得要求された範囲のデータを送信部３０４に渡すとともに、その範囲のデータを削除または使用不可にする(S906)。送信部３０４は、取得要求された範囲のデータをシンク機器１１０に送信する (S907)。
【００６３】
次に、シンク機器１１０の動作を詳細に説明する。
図１１は、本実施の形態1におけるシンク機器１１０の詳細動作を示す図である。
【００６４】
入力部３１８からユーザがファイルの転送指示を入力すると、この転送指示はファイル管理部３１６を介して送信部３１３に通知される。送信部３１３は、「ファイル名」及び「範囲」を含んだファイル取得要求を作成してソース機器１０１に送信する(S1001→S1002)。
【００６５】
受信部３１２は、ファイル取得応答及びファイルをソース機器１０１から受信するとファイル管理部３１６に渡す(S1003)。ファイル管理部３１６は、ファイル取得応答を送信部３１３に渡すとともにファイルを蓄積部３１７に渡し、蓄積部３１７はファイルを蓄積する(S1004)。
【００６６】
送信部３１３は、ファイル取得応答を解析することによって、ファイルの全部を受信しているかどうかを判断する。そして、受信していない部分が存在する場合は、ファイル取得応答に含まれる「全体サイズ」及び「使用可能範囲」に基づいて新たなファイル取得要求を作成し、ソース機器１０１に送信する(S1005でNO→S1006)。このような処理を繰り返し、ファイルの全部について受信が完了すると処理を終了する(S1005でYES)。
【００６７】
以上のように、本実施の形態１におけるファイル転送システムによれば、シンク機器はソース機器に蓄積されているファイルの状態を把握した上でファイルを取得要求することができる。これによって、ソース機器が転送済みのファイルを削除する方式と使用不可にする方式のいずれを採用している場合でも、シンク機器は、誤った範囲を指定することなく2回目以降のファイル転送を要求することが可能となる。
【００６８】
（実施の形態2）
前記実施の形態１では、１台のソース機器１０１と１台のシンク機器１１０との間でファイルAを転送する形態を例示したが、ソース機器１０１からシンク機器１１０にファイルＡを転送している途中、ソース機器１０１が別のシンク機器１３０１からファイルＡの取得要求を受信する場合がある。この場合、ソース機器１０１に蓄積されていたファイルＡは削除または使用不可にされているので、ソース機器１０１から別のシンク機器１３０１にファイルＡを転送することはできない。
【００６９】
以下、本実施の形態２におけるファイル転送システムの構成を前記実施の形態１と異なる点を中心に説明する。ここでは、ソース機器１０１が1000byteのファイルＡを100byte単位でシンク機器１１０に転送している途中、ソース機器１０１が別のシンク機器１３０１からファイルＡの取得要求を受信した場合を想定して説明する。
【００７０】
図１２は、本実施の形態２におけるファイル転送システムの利用環境を示す図である。ネットワークに別のシンク機器１３０１が追加された点以外は、前記実施の形態１と同じである。このシンク機器１３０１は、シンク機器１１０と同様、ファイルをソース機器から受信して蓄積メディア２０１に蓄積するＤＶＤ／ＨＤＤハイブリッドレコーダ等である。
【００７１】
図１３は、本実施の形態２におけるソース機器及びシンク機器の内部構成を示す図である。
【００７２】
この図に示されるように、ソース機器１０１は、機能的には、蓄積部３０１と、転送先管理部１４０１と、ファイル管理部１４０２と、受信部３０３と、送信部３０４と、通知部１４０３と、受付部３０６と、通信部３０７とを備えている。蓄積部３０１と、受信部３０３と、送信部３０４と、受付部３０６と、通信部３０７とは、前記実施の形態1と同様であるため説明を割愛する。転送先管理部１４０１は、ファイルＡの転送先であるシンク機器１１０に関する情報である転送先情報を管理している。ファイル管理部１４０２は、「全体サイズ」と「使用可能範囲」とに加えて「転送範囲」を含んだファイル管理情報を管理している。「転送範囲」は、ソース機器１０１からシンク機器１１０に転送済みのファイルＡの範囲を示している。通知部１４０３は、「全体サイズ」と「使用可能範囲」とに加えて「転送先情報」と「転送範囲」とを含んだファイル詳細情報を作成する。
【００７３】
他方、シンク機器１１０は、機能的には、通信部３１１と、受信部３１２と、送信部１４１０と、問い合わせ部３１４と、受付部３１５と、ファイル管理部３１６と、蓄積部３１７と、入力部３１８とを備えている。通信部３１１と、受信部３１２と、問い合わせ部３１４と、受付部３１５と、ファイル管理部３１６と、蓄積部３１７と、入力部３１８とは、前記実施の形態1と同様であるため説明を割愛する。送信部１４１０は、前記実施の形態1の機能に加えて、ソース機器１０１から受信するファイル詳細情報に「転送先情報」が含まれている場合にその転送先からファイルを取得する機能を備えている。
【００７４】
なお、本実施の形態２では、２台のシンク機器、すなわちシンク機器１１０と別のシンク機器１３０１とが登場するが、これらシンク機器１１０・１３０１の機能は同じである。また、シンク機器１１０から別のシンク機器１３０１にファイルが転送される場合は、転送元であるシンク機器１１０のことを「ソース機器」という場合がある。
【００７５】
図１４は、ソース機器１０１の転送先管理部１４０１が管理している転送先情報を示す図である。「ファイル名」は、ソース機器１０１が蓄積しているファイルのうち転送中のファイルのファイル名を示している。ここでは、ソース機器１０１からシンク機器１１０にファイルＡが転送されている場合を想定しているため、「ファイル名」にはファイルAが指定される。「転送先情報」には、ファイルＡの転送先であるシンク機器１１０のアドレス情報が指定される。「転送先情報」は、シンク機器１１０のアドレス情報に限らず、シンク機器１１０を特定することが可能な情報であればよい。
【００７６】
図１５(a)及び図１５(b)は、ソース機器１０１のファイル管理部１４０２が管理しているファイル管理情報を示す図である。図１５ (a)は、転送済みのファイルを削除するソース機器１０１のファイル管理部１４０２が管理しているファイル管理情報を示し、図１５ (b)は、転送済みのファイルを使用不可にするソース機器１０１のファイル管理部１４０２が管理しているファイル管理情報を示している。ここでも、ファイルAの先頭から100byte分のデータをシンク機器１１０に送信した後の状態を前提としている。「全体サイズ」及び「使用可能範囲」に関しては、前記実施の形態1と同様であるため説明を割愛する。「転送範囲」は、ソース機器１０１からシンク機器１１０に転送済みのファイルの範囲を示している。ここでは、ファイルＡの先頭から100byte分のデータ転送が済んでいるため、「転送範囲」は「0-100byte」となる。
【００７７】
図１６(a)及び図１６(b)は、ソース機器１０１の通知部１４０３が作成するファイル詳細情報を示す図である。図１６(a)は、転送済みのファイルを削除するソース機器１０１の通知部１４０３が作成するファイル詳細情報を示し、図１６(b)は、転送済みのファイルを使用不可にするソース機器１０１の通知部１４０３が作成するファイル詳細情報を示している。ここでは、ソース機器１０１がファイルＡをシンク機器１１０に転送している途中、ソース機器１０１が別のシンク機器１３０１からファイルＡの取得要求を受信した場合に、別のシンク機器１３０１に通知されるファイル詳細情報を示している。「全体サイズ」及び「使用可能範囲」については、前記実施の形態1と同様であるため説明を割愛する。「転送先情報」は、転送中であるファイルの転送先であるシンク機器に関する情報が入力される。「転送範囲」は、そのシンク機器に対して既に転送済みのファイルの範囲が入力される。
【００７８】
ソース機器１０１が転送済みのファイルを削除する場合、図１６(a)に示されるように、前記実施の形態１と同様、「全体サイズ」は900byteとなり、「使用可能範囲」は「0-900byte」となる。「転送先情報」には、シンク機器１１０のアドレス情報である「AAA.BBB.CCC.DDD」が入力される。「転送範囲」には、既にシンク機器１１０に対して転送済みのファイルＡの範囲「0-100byte」が入力される。他方、ソース機器１０１が転送済みのファイルを使用不可にする場合、図１６(b)に示されるように、前記実施の形態１と同様、「全体サイズ」は、ファイルの送出前後で変化していない。「使用可能範囲」と「転送先情報」と「転送範囲」とは、図１６(a)と同様であるため説明を割愛する。
【００７９】
通知部１４０３は、「全体サイズ」と「使用可能範囲」と「転送先情報」と「転送範囲」とを含んだファイル詳細情報を作成してシンク機器１３０１に通知する。また、受付部３０６がシンク機器１３０１の問い合わせ部３１４から問い合わせを受け付けた場合も同様のファイル詳細情報を作成してシンク機器１３０１に通知する。ファイル詳細情報をシンク機器１３０１に通知する形態は限定されるものではないが、HTTPの拡張ヘッダとして通知することが望ましい。ファイル詳細情報を通知されたシンク機器１３０１は、「転送先情報」と「転送範囲」とを解析することによって新たにファイル取得要求を作成する。そして、このファイルＡの取得要求をシンク機器１１０またはソース機器１０１に送信することによって、ファイルＡの全部を取得する。なお、シンク機器１３０１がファイルＡの全部を取得する形態の詳細については後述する。
【００８０】
図１７は、転送済みのファイルを削除するソース機器１０１とシンク機器１３０１間のシーケンス図である。ここでも、ソース機器１０１からシンク機器１１０にファイルＡを転送している途中、ソース機器１０１が別のシンク機器１３０１からファイルＡの取得要求を受信した場合を想定している。
【００８１】
ステップS701に関しては、前記実施の形態1と同様であるため説明を割愛する。
次に、ソース機器１０１は、ファイルＡの取得応答としてHTTPの301 Moved Permanently をシンク機器１３０１に送信する(S180１)。このファイル取得応答には、転送先の情報を示す「Location」ヘッダ、ファイルＡの使用可能範囲を示す「Usable-Range」ヘッダ、転送済みのファイルの範囲を示す「Transmit-Range」ヘッダが含まれる。「Usable−Range」は、前記実施の形態1と同様であるため説明を割愛する。「Transmit−Range」ヘッダは、「Transmit-Range：(転送済みのファイル範囲)」という形態で記述される。「Location」ヘッダは、「Location：（転送先であるシンク機器のアドレス情報）」という形態で記述される。ここでは、ソース機器１０１からシンク機器１１０にファイルＡの先頭から100byte分のデータが転送されたときに、ソース機器１０１が別のシンク機器１３０１からファイルＡの取得要求を受信した場合を想定しているので、「Transmit−Range」ヘッダには「Transmit-Range：0-100」が入力され、「Location」ヘッダには「Location：http://AAA.BBB.CCC.DDD」が入力される。
【００８２】
図１８は、転送済みのファイルを使用不可にするソース機器１０１とシンク機器１３０１間のシーケンス図である。ここでも、ソース機器１０１からシンク機器１１０にファイルＡを転送している途中、ソース機器１０１が別のシンク機器１３０１からファイルＡの取得要求を受信した場合を想定している。
【００８３】
ステップS801に関しては、前記実施の形態1と同様であるため説明を割愛する。
次に、ソース機器１０１は、ファイルＡの取得応答としてHTTPの301 Moved Permanentlyをシンク機器１３０１に送信する(S190１)。このファイル取得応答にも、「Location」ヘッダ、「Usable-Range」ヘッダ、「Transmit-Range」ヘッダが含まれる。ここでも、ソース機器１０１からシンク機器１１０にファイルＡの先頭から100byte分のデータが転送されたときに、ソース機器１０１が別のシンク機器１３０１からファイルＡの取得要求を受信した場合を想定しているので、「Transmit−Range」ヘッダには「Transmit-Range：0-100」が入力され、「Location」ヘッダには「Location：http://AAA.BBB.CCC.DDD」が入力される。
【００８４】
次に、ソース機器１０１の動作を詳細に説明する。
図１９及び図２０は、本実施の形態2におけるソース機器の詳細動作を示す図である。
【００８５】
ステップS901〜S902に関しては、前記実施の形態1と同様であるため説明を割愛する。
ここで、ファイルＡの取得要求を受信した場合、ファイル管理部３０２は、この取得要求が転送中のシンク機器からの取得要求であるかどうか、すなわち、現在転送中であるファイルＡの転送先であるシンク機器１１０からの取得要求であるかどうかを判定する。そして、転送中のシンク機器１１０からの取得要求である場合は（S2001でＹｅｓ）、前記実施の形態１と同様、ファイル詳細情報を作成し（S903）、ファイル管理情報を更新し（S904）、ファイル詳細情報をシンク機器１１０に通知し（S905）、取得要求において指定される範囲のデータを削除又は使用不可にし（S906）、その範囲のデータをシンク機器１１０に送信する（S907）。ただし、本実施の形態２におけるファイル管理情報には「転送範囲」が含まれるので、この「転送範囲」も「0-100byte」など適切な範囲に更新される（S904）。その後、転送先管理部１４０１は、転送先情報としてシンク機器１１０のアドレス情報を登録する（S2002）。
【００８６】
他方、ファイルＡの転送先であるシンク機器１１０からの取得要求でない場合（S2001でＮｏ）、通知部１４０３は、ファイル詳細情報を作成する(S2101)。このファイル詳細情報には、ファイル管理部１４０２から取得した「全体サイズ」「使用可能範囲」「転送範囲」と、転送先管理部１４０１から取得した「転送先情報」とが含まれる。通信部３０７は、通知部１４０３が作成したファイル詳細情報をシンク機器１３０１に通知する(S2102)。
【００８７】
次に、シンク機器の動作を詳細に説明する。
図２１は、本実施の形態２におけるシンク機器の詳細動作を示す図である。
【００８８】
S1001〜S1003に関しては、前記実施の形態１と同様であるため説明を割愛する。取得要求したファイルが既に転送されている場合 (S2201でＹｅｓ)、送信部１４１０は、新たなファイル取得要求を作成する(S2202)。このファイル取得要求は、後述するように、送信部１４１０によってシンク機器１１０またはソース機器１０１に送信される(S1002)。
【００８９】
ここで、取得要求したファイルが既に転送されている場合 (S2201でＹｅｓ)とは、通信部３１１が受信したファイル詳細情報に「転送先情報」が含まれている場合を意味する。すなわち、ステップS2201でＹｅｓの判定がされる場合にいう「シンク機器」は、最初に取得要求を出したシンク機器１１０ではなく、後から取得要求を出したシンク機器１３０１である。
【００９０】
他方、取得要求したファイルが既に転送されていない場合 (S2201でＮｏ)とは、通信部３１１が受信したファイル詳細情報に「転送先情報」が含まれていない場合を意味する。すなわち、ステップS2201でＮｏの判定がされる場合にいう「シンク機器」は、後から取得要求を出したシンク機器１３０１ではなく、最初に取得要求を出したシンク機器１１０である。このシンク機器１１０の動作は、前記実施の形態１と同様であるため説明を割愛する。
【００９１】
以下、シンク機器１３０１がファイルＡの全部を取得する形態について詳細に説明する。
【００９２】
図２２は、シンク機器１３０１がファイルＡの全部を取得する第１の形態を示す図である。ここでは、簡単のためファイルＡの全体サイズは200byteであるとし、100byte単位でデータを転送する場合を想定して説明する。
【００９３】
まず、図２２（Ａ）に示されるように、ファイルＡの先頭から100byte分のデータａ１をソース機器１０１からシンク機器１１０に転送している途中（Ｓ１）、ソース機器１０１が別のシンク機器１３０１からファイルＡの取得要求を受信したとする（Ｓ２）。
【００９４】
この場合、ソース機器１０１は、図２２（Ｂ）に示されるように、残部のデータａ２をシンク機器１１０に送信するとともに（Ｓ３）、ファイル取得応答をシンク機器１３０１に通知する（Ｓ４）。このファイル取得応答には、少なくとも、シンク機器１１０のアドレス情報を示す「Location」ヘッダが含まれる。なお、図２２（Ｂ）中の×印は、データａ１が削除又は使用不可にされた状態であることを意味している（他図についても同様）。
【００９５】
これによって、シンク機器１３０１は、図２２（Ｃ）に示されるように、ファイルＡの取得要求をシンク機器１１０に送信する（Ｓ５）。取得要求を受けたシンク機器１１０は、図２２（Ｄ）に示されるように、ファイルＡの先頭から100byte分のデータａ１をシンク機器１３０１に送信する（Ｓ６）。残部のデータａ２についてもステップＳ５及びＳ６と同様の処理が行われる。その結果、図２２（Ｅ）に示されるように、シンク機器１３０１はファイルＡの全部を取得することになる。
【００９６】
図２３は、シンク機器１３０１がファイルＡの全部を取得する第２の形態を示す図である。
【００９７】
ここでも、図２３（Ａ）に示されるように、ファイルＡの先頭から100byte分のデータａ１をソース機器１０１からシンク機器１１０に転送している途中（Ｓ１１）、ソース機器１０１が別のシンク機器１３０１からファイルＡの取得要求を受信したとする（Ｓ１２）。
【００９８】
この場合、ソース機器１０１は、図２３（Ｂ）に示されるように、残部のデータａ２をシンク機器１３０１に送信するとともに、ファイル取得応答をシンク機器１３０１に通知する（Ｓ１３）。このファイル取得応答には、ファイルＡの使用可能範囲を示す「Usable-Range」ヘッダ、シンク機器１１０のアドレス情報を示す「Location」ヘッダ、シンク機器１１０に転送済みのファイルＡの範囲を示す「Transmit-Range」ヘッダが含まれる。
【００９９】
これによって、シンク機器１３０１は、図２３（Ｃ）に示されるように、ファイルＡの取得要求をシンク機器１１０に送信する（Ｓ１４）。この取得要求では、ファイル取得応答に含まれる「Transmit-Range」に基づいて、ファイルＡの適切な範囲「0-100byte」を指定することができる。これによって、シンク機器１１０は、図２３（Ｄ）に示されるように、ファイルＡの先頭から100byte分のデータａ１をシンク機器１３０１に送信する（Ｓ１５）。その結果、図２３（Ｅ）に示されるように、シンク機器１３０１はファイルＡの全部を取得することになる。
【０１００】
図２４は、シンク機器１３０１がファイルＡの全部を取得する第３の形態を示す図である。
【０１０１】
ここでは、図２４（Ａ）に示されるように、ファイルＡの先頭から100byte分のデータａ１をソース機器１０１に、その残部のデータａ２をシンク機器１１０に蓄積している状況を想定している。このような状況は、例えば、午後７時から９時までに放送されたテレビ番組をソース機器１０１に蓄積していたところ、午後７時から８時までの部分をシンク機器１１０に転送した場合などに起こり得る。この場合、ソース機器１０１のファイル管理部１４０２は、ファイルＡの転送範囲が「午後７時から８時までの部分」である旨の情報を管理し、ソース機器１０１の転送先管理部１４０１は、ファイルＡの転送先がシンク機器１１０である旨の情報を管理することになる。
【０１０２】
このような状況で、ソース機器１０１がシンク機器１３０１からファイルＡの取得要求を受信したとする（Ｓ２１）。この場合、ソース機器１０１は、図２４（Ｂ）に示されるように、残部のデータａ２をシンク機器１３０１に送信するとともに、ファイル取得応答をシンク機器１３０１に通知する（Ｓ２２）。このファイル取得応答には、ファイルＡの使用可能範囲を示す「Usable-Range」ヘッダ、シンク機器１１０のアドレス情報を示す「Location」ヘッダ、シンク機器１１０に転送済みのファイルＡの範囲を示す「Transmit-Range」ヘッダが含まれる。
【０１０３】
これによって、シンク機器１３０１は、図２４（Ｃ）に示されるように、ファイルＡの取得要求をシンク機器１１０に送信する（Ｓ２３）。この取得要求では、ファイル取得応答に含まれる「Transmit-Range」に基づいて、ファイルＡの適切な範囲「0-100byte」を指定することができる。これによって、シンク機器１１０は、図２４（Ｄ）に示されるように、ファイルＡの先頭から100byte分のデータａ１をシンク機器１３０１に送信する（Ｓ２４）。その結果、図２４（Ｅ）に示されるように、シンク機器１３０１はファイルＡの全部を取得することになる。
【０１０４】
以上のように、本実施の形態２におけるファイル転送システムによれば、ソース機器１０１からシンク機器１１０にファイルＡを転送している途中、ソース機器１０１が別のシンク機器１３０１からファイルＡの取得要求を受信した場合でも、シンク機器１３０１に対して、転送先であるシンク機器１１０のアドレス情報と転送済みのファイルの範囲とが通知される。これによって、シンク機器１３０１は、ソース機器１０１に取得要求したファイルＡの全部を取得することが可能となる。
【０１０５】
また、ファイルＡの一部をソース機器１０１に蓄積し、その残部をシンク機器１１０に蓄積している場合でも、シンク機器１３０１に対して、転送先であるシンク機器１１０のアドレス情報と転送済みのファイルの範囲とが通知される。これによって、シンク機器１３０１は、ソース機器１０１に取得要求したファイルＡの全部を取得することが可能となる。
【０１０６】
なお、前記の説明では、ファイルＡの使用可能範囲とともにファイルＡの全体サイズをソース機器１０１からシンク機器１１０に通知することとしているが、ファイルＡの全体サイズをソース機器１０１からシンク機器１１０に通知することは必ずしも必要でない。例えば、「Usable-Range」ヘッダの記述形態は、「Usable-Range：(使用可能範囲)/(全体サイズ)」という記述形態でなく、「Usable-Range：(使用可能範囲)」という記述形態でもよい。少なくとも「使用可能範囲」をシンク機器に通知すれば、シンク機器は、誤った範囲を指定することなく2回目以降のファイル転送を要求することが可能となるからである。
【０１０７】
もちろん、シンク機器側でファイルＡを再生する際にファイルＡの全体サイズの情報が必要となる場合は、前記のように、ファイルＡの使用可能範囲とともにファイルＡの全体サイズをソース機器１０１からシンク機器１１０に通知すればよい。ただし、ここでいう「全体サイズ」は、ソース機器１０１によって削除又は使用不可にされた後のファイルの全体サイズである。ソース機器１０１によって削除又は使用不可にされる前のファイルの全体サイズの情報がシンク機器側で必要な場合は、前記「転送前サイズ」をソース機器１０１からシンク機器１１０に通知すればよい。
【産業上の利用可能性】
【０１０８】
本発明に係るファイル転送システムは、一世代コピー可能なファイルを分割して転送することが必要な家電機器やＰＣ等の用途にも適用することができる。
【図面の簡単な説明】
【０１０９】
【図１】本実施の形態１におけるファイル転送システムの利用環境を示す図
【図２】本実施の形態1におけるソース機器及びシンク機器の内部構成を示す図
【図３】ソース機器のファイル管理部が管理しているファイル管理情報を示す図
【図４】ソース機器のファイル管理部が管理している別のファイル管理情報を示す図
【図５】ソース機器のファイル管理部が管理している別のファイル管理情報を示す図
【図６】ソース機器の通知部が作成するファイル詳細情報を示す図
【図７】シンク機器の送信部が作成するファイル取得要求を示す図
【図８】転送済みのファイルを削除するソース機器とシンク機器間のシーケンス図
【図９】転送済みのファイルを使用不可にするソース機器とシンク機器間のシーケンス図
【図１０】本実施の形態1におけるソース機器の詳細動作を示す図
【図１１】本実施の形態1におけるシンク機器の詳細動作を示す図
【図１２】本実施の形態２におけるファイル転送システムの利用環境を示す図
【図１３】本実施の形態２におけるソース機器及びシンク機器の内部構成を示す図
【図１４】ソース機器の転送先管理部が管理している転送先情報を示す図
【図１５】ソース機器のファイル管理部が管理しているファイル管理情報を示す図
【図１６】ソース機器の通知部が作成するファイル詳細情報を示す図
【図１７】転送済みのファイルを削除するソース機器とシンク機器間のシーケンス図
【図１８】転送済みのファイルを使用不可にするソース機器とシンク機器間のシーケンス図
【図１９】本実施の形態2におけるソース機器の詳細動作を示す図
【図２０】本実施の形態2におけるソース機器の詳細動作を示す図
【図２１】本実施の形態２におけるシンク機器の詳細動作を示す図
【図２２】シンク機器がファイルの全部を取得する第１の形態を示す図
【図２３】シンク機器がファイルの全部を取得する第２の形態を示す図
【図２４】シンク機器がファイルの全部を取得する第３の形態を示す図
【図２５】転送済みのファイルを削除する方式と使用不可にする方式の概略を示す図
【符号の説明】
【０１１０】
１０１  ソース機器（ファイル送信装置）
３０１  ソース機器の蓄積部
３０２  ソース機器のファイル管理部（制限手段）
３０３  ソース機器の受信部
３０４  ソース機器の送信部
３０５  ソース機器の通知部
３０６  ソース機器の受付部
３０７  ソース機器の通信部
１４０１  ソース機器の転送先管理部
１４０２  ソース機器のファイル管理部
１４０３  ソース機器の通知部
１１０  シンク機器
３１１  シンク機器の通信部
３１２  シンク機器の受信部
３１３  シンク機器の送信部
３１４  シンク機器の問い合わせ部
３１５  シンク機器の受付部
３１６  シンク機器のファイル管理部
３１７  シンク機器の蓄積部
３１８  シンク機器の入力部
１４１０  シンク機器の送信部
Ａ      ファイル
【図１】
0004754982.tif 000002
【図２】
0004754982.tif 000003
【図３】
0004754982.tif 000004
【図４】
0004754982.tif 000005
【図５】
0004754982.tif 000006
【図６】
0004754982.tif 000007
【図７】
0004754982.tif 000008
【図８】
0004754982.tif 000009
【図９】
0004754982.tif 000010
【図１０】
0004754982.tif 000011
【図１１】
0004754982.tif 000012
【図１２】
0004754982.tif 000013
【図１３】
0004754982.tif 000014
【図１４】
0004754982.tif 000015
【図１５】
0004754982.tif 000016
【図１６】
0004754982.tif 000017
【図１７】
0004754982.tif 000018
【図１８】
0004754982.tif 000019
【図１９】
0004754982.tif 000020
【図２０】
0004754982.tif 000021
【図２１】
0004754982.tif 000022
【図２２】
0004754982.tif 000023
【図２３】
0004754982.tif 000024
【図２４】
0004754982.tif 000025
【図２５】
0004754982.tif 000026