(57)【要約】【課題】対向機器との間でコンフリクトが発生した場合に、コンフリクトを解消してファイルの送受信が可能なファイル送受信装置およびファイル送受信方法を提供すること。【解決手段】ファイル送受信装置は、近接無線通信において、対向機器との間でコンフリクトが発生した場合に前記対向機器との接続を切断し、前記対向機器と再接続後、自装置のモードとしてマスタおよびスレーブを切り替える制御を行う通信方向管理部を持つ。また、前記通信方向管理部からのモードの指示に従い、マスタまたはスレーブとして、前記対向機器との間でファイルの送信または受信または送受信を行うアプリケーション部と、を持つ。【選択図】図１
2015177267.tif 000002
【特許請求の範囲】
【請求項１】
近接無線通信において、対向機器との間でコンフリクトが発生した場合に前記対向機器との接続を切断し、前記対向機器と再接続後、自装置のモードとしてマスタおよびスレーブを切り替える制御を行う通信方向管理部と、
前記通信方向管理部からのモードの指示に従い、マスタまたはスレーブとして、前記対向機器との間でファイルの送信または受信または送受信を行うアプリケーション部と、
を備えるファイル送受信装置。
【請求項２】
前記通信方向管理部は、コンフリクト発生後に前記対向機器から前記対向機器を識別可能な識別情報を取得して接続を切断し、前記対向機器の識別情報と自装置の識別情報とを比較した結果に基づいて、再接続時の自装置のモードを決定する、
請求項１に記載のファイル送受信装置。
【請求項３】
前記通信方向管理部は、前記対向機器との接続切断後、再接続時の自装置のモードをスレーブとし、前記対向機器から接続要求を受信しない場合は、自装置で設定した時間経過後にマスタモードに切り替える、
請求項１に記載のファイル送受信装置。
【請求項４】
前記通信方向管理部は、コンフリクト発生後に前記対向機器から前記対向機器を識別可能な識別情報を取得して接続を切断し、再接続処理において前記対向機器から再度識別情報を取得し、取得した識別情報が一致した場合に、前記アプリケーション部に対して接続確立を通知する、
請求項１，２または３に記載のファイル送受信装置。
【請求項５】
前記通信方向管理部は、前記アプリケーション部において、マスタまたはスレーブの一方のモードの処理を完了後、他方のモードに切り替える制御を行う、
請求項１から４に記載のファイル送受信装置。
【請求項６】
前記通信方向管理部は、自装置のモードがマスタの場合に、前記アプリケーション部でマスタ処理完了後に前記対向機器との接続を切断する制御を行う、
請求項５に記載のファイル送受信装置。
【請求項７】
前記通信方向管理部は、コンフリクト発生後に前記対向機器から取得する前記対向機器の仕様情報に基づいて、前記対向機器が自装置と再接続後にマスタおよびスレーブのモードを切り替える機能を有していない場合、再接続時の自装置のモードをスレーブとする、
請求項１から６に記載のファイル送受信装置。
【請求項８】
さらに、
前記対向機器から取得した転送条件情報に基づいて、自装置で設定した条件に一致するファイルのみを送信または受信する制御を行う転送条件情報管理部、
を備える請求項１から７に記載のファイル送受信装置。
【請求項９】
前記転送条件情報を、前記対向機器が複数のホストデバイスと接続する場合に、各ホストデバイスを識別可能な識別情報とする、
請求項８に記載のファイル送受信装置。
【請求項１０】
前記近接無線通信を、ＴｒａｎｓｆｅｒＪｅｔとする、
請求項１から９に記載のファイル送受信装置。
【請求項１１】
さらに、
前記対向機器の識別情報と、送信および受信したファイルの情報と、を含む転送履歴リストを作成する転送履歴保存処理部と、
前記対向機器から取得した前記対向機器で作成された転送履歴リストと、自装置の転送履歴リストと、を比較した結果に基づいて、前記対向機器へ未送信のファイルを送信対象のファイルとして設定する転送履歴比較部と、
を備える請求項１から１０に記載のファイル送受信装置。
【請求項１２】
さらに、
前記対向機器の識別情報と、送信および受信したファイルの情報と、を含む転送履歴リストを作成する転送履歴保存処理部と、
前記対向機器から取得した前記対向機器で作成された転送履歴リストと、自装置の転送履歴リストと、を比較した結果に基づいて、前記対向機器に対して、自装置で未受信のファイルの送信を要求する転送履歴比較部と、
を備える請求項１から１０に記載のファイル送受信装置。
【請求項１３】
さらに、
前記対向機器から複数回のファイル受信で取得した前記ファイルを構成するパケットを保存するパケット保存部と、
前記パケット保存部に保存されたパケットから前記ファイルを復元する復元処理部と、
を備え、
前記転送履歴保存処理部は、前記転送履歴リストに、前記ファイルを構成するパケットのうち、送信または受信が成功したパケットの情報を記録する、
請求項１１または１２に記載のファイル送受信装置。
【請求項１４】
前記転送履歴比較部は、前記対向機器との接続確立後、前記対向機器から前記対向機器で作成された転送履歴リストを取得する、
請求項１１から１３に記載のファイル送受信装置。
【請求項１５】
ホストデバイスと接続可能な場合に、
さらに、
前記ホストデバイスが利用可能なレジスタ部と、
送信中または受信中のファイルのファイルサイズおよび送信済みまたは受信済みのファイルサイズの情報を、前記レジスタ部に記憶するレジスタ管理部と、
を備える請求項１１から１４に記載のファイル送受信装置。
【請求項１６】
近接無線通信において、ファイルの送信または受信または送受信が可能な対向機器との間でコンフリクトが発生した場合に、前記対向機器との接続を切断する切断ステップと、
自装置のモードをマスタまたはスレーブとして前記対向機器と再接続する再接続ステップと、
前記マスタまたはスレーブの一方のモードの処理を完了後、他方のモードに切り替えるモード切り替えステップと、
を含むファイル送受信方法。
【請求項１７】
前記再接続ステップでは、コンフリクト発生後に前記対向機器から前記対向機器を識別可能な識別情報を取得して接続を切断し、前記対向機器の識別情報と自装置の識別情報とを比較した結果に基づいて、再接続時の自装置のモードを決定する、
請求項１６に記載のファイル送受信方法。
【請求項１８】
前記再接続ステップでは、前記対向機器との接続切断後、再接続時の自装置のモードを
スレーブとし、前記対向機器から接続要求を受信しない場合は、自装置で設定した時間経過後にマスタモードに切り替える、
請求項１６に記載のファイル送受信方法。
【請求項１９】
さらに、
前記対向機器の識別情報と、送信および受信したファイルの情報と、を含む転送履歴リストを作成する転送履歴作成ステップと、
前記対向機器から取得した前記対向機器で作成された転送履歴リストと、自装置の転送履歴リストと、を比較した結果に基づいて、前記対向機器へ未送信のファイルを送信対象のファイルとして設定する送信ファイル選別ステップと、
を含む請求項１５，１６または１７に記載のファイル送受信方法。
【請求項２０】
さらに、
前記対向機器の識別情報と、送信および受信したファイルの情報と、を含む転送履歴リストを作成する転送履歴作成ステップと、
前記対向機器から取得した前記対向機器で作成された転送履歴リストと、自装置の転送履歴リストと、を比較した結果に基づいて、前記対向機器に対して、自装置で受信していないファイルの送信を要求する受信ファイル選別ステップと、
を含む請求項１５，１６または１７に記載のファイル送受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ファイル送受信装置およびファイル送受信方法に関する。
【背景技術】
【０００２】
従来、近距離無線通信でデータ通信を行う場合、一般的にマスタ（Ｍａｓｔｅｒ）機器からスレーブ（Ｓｌａｖｅ）機器に対して処理要求を発行している。近接無線通信技術の１つであるＴｒａｎｓｆｅｒＪｅｔ（商標）では、相互機器のＰｒｉｏｒｉｔｙは接続待機時のモードによって決定する。マスタで接続待ちの機器がスレーブで接続待ちの機器と接続すると、マスタ機器はＨｉｇｈ  Ｐｒｉｏｒｉｔｙとなり、スレーブ機器はＬｏｗ  Ｐｒｉｏｒｉｔｙとなって接続確立できる。なお、接続待機時のモードがダイナミック（Ｄｙｎａｍｉｃ）の機器は、相手機器がマスタの場合は自機器がＬｏｗ  Ｐｒｉｏｒｉｔｙとなり、相手機器がスレーブの場合は自機器がＨｉｇｈ  Ｐｒｉｏｒｉｔｙとなり、相手機器に合わせて自機器のＰｒｉｏｒｉｔｙを決定する。
【０００３】
しかしながら、従来技術では、ファイル送信要求を持ったマスタ機器同士またはダイナミック機器同士が近接すると、どちらがＨｉｇｈ  Ｐｒｉｏｒｉｔｙ機器になるかの判断がつかず、接続確立できずにコンフリクトが発生する。そのため、同じモード同士の機器間でＯＢＥＸプロトコル等を利用した通信機能を動作させることができない、という問題がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−９１７６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一つの実施形態は、対向機器との間でコンフリクトが発生した場合に、コンフリクトを解消してファイルの送受信が可能なファイル送受信装置およびファイル送受信方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの実施形態によれば、ファイル送受信装置は、近接無線通信において、対向機器との間でコンフリクトが発生した場合に前記対向機器との接続を切断し、前記対向機器と再接続後、自装置のモードとしてマスタおよびスレーブを切り替える制御を行う通信方向管理部を持つ。また、前記通信方向管理部からのモードの指示に従い、マスタまたはスレーブとして、前記対向機器との間でファイルの送信または受信または送受信を行うアプリケーション部と、を持つ。
【図面の簡単な説明】
【０００７】
【図１】図１は、第１の実施形態の通信デバイスの構成例を示す図である。
【図２】図２は、ＴｒａｎｓｆｅｒＪｅｔの階層モデルを示す図である。
【図３】図３は、第１の実施形態のファイル送受信処理を示すフローチャートである。
【図４】図４は、ＴｒａｎｓｆｅｒＪｅｔにおけるデータフレームの構成例を示す図である。
【図５】図５は、第１の実施形態における双方向通信の処理を示すフローチャートである。
【図６】図６は、デバイスＡ，Ｂ間のファイル送受信処理を示すシーケンス図である。
【図７】図７は、各デバイスのモード遷移を示す図である。
【図８】図８は、通信デバイスにおける通信状態の表示例を示す図である。
【図９】図９は、通信デバイスにおける双方向通信完了後の表示例を示す図である。
【図１０】図１０は、第２の実施形態における双方向通信の処理を示すフローチャートである。
【図１１】図１１は、第３の実施形態における片方向通信の処理を示すフローチャートである。
【図１２】図１２は、各デバイスのモード遷移を示す図である。
【図１３】図１３は、通信デバイスにおける片方向通信完了後の表示例を示す図である。
【図１４】図１４は、第４の実施形態の通信デバイスおよびホストデバイスの構成例を示す図である。
【図１５】図１５は、第４の実施形態のデバイスおよび接続相手管理テーブルの構成例を示す図である。
【図１６】図１６は、第４の実施形態のデバイスおよび送信リストテーブルの構成例を示す図である。
【図１７】図１７は、通信デバイスにおける双方向通信完了後の表示例を示す図である。
【図１８】図１８は、第５の実施形態のデバイスおよび接続相手管理テーブルの構成例を示す図である。
【図１９】図１９は、第５の実施形態のデバイスおよび送信リストテーブルの構成例を示す図である。
【図２０】図２０は、基本的な差分転送方法を示す図である。
【図２１】図２１は、第６の実施形態の通信デバイスの構成例を示す図である。
【図２２】図２２は、第６の実施形態の差分転送制御部の構成例を示す図である。
【図２３】図２３は、デバイスＡを中心としたファイル転送可能な関係を示す図である。
【図２４】図２４は、デバイスＡにおける転送履歴保存部の転送履歴リストの構成例を示す図である。
【図２５】図２５は、デバイスＢにおける転送履歴保存部の転送履歴リストの構成例を示す図である。
【図２６】図２６は、第６の実施形態のファイル転送処理を示すフローチャートである。
【図２７】図２７は、送信機器および受信機器との間で送受信される情報を示す図である。
【図２８】図２８は、低レベルの転送履歴リストの構成例を示す図である。
【図２９】図２９は、第７の実施形態のファイル転送処理を示すフローチャートである。
【図３０】図３０は、未送信ファイルを探す処理を示す図である。
【図３１】図３１は、各デバイスのファイルリストおよび転送履歴リストの遷移を示す図である。
【図３２】図３２は、転送途中で中断されたファイル（ｊ）の構成例を示す図である。
【図３３】図３３は、第９の実施形態の通信デバイスおよびホストデバイスの構成例を示す図である。
【図３４】図３４は、第９の実施形態の差分転送制御部の構成例を示す図である。
【図３５】図３５は、通信デバイスの構成を簡易化した図である。
【図３６】図３６は、通信デバイスおよびホストデバイスの構成を簡略化した図である。
【図３７】図３７は、通信デバイスおよびホストデバイスの構成を簡略化した図である。
【図３８】図３８は、通信デバイスおよびホストデバイスのレジスタの利用状態を示す図である。
【図３９】図３９は、レジスタマップの構成例を示す図である。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、実施形態にかかるファイル送受信装置およびファイル送受信方法を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
【０００９】
（第１の実施形態）
図１は、本実施形態の通信デバイス１の構成例を示す図である。ファイル送受信装置である通信デバイス１は、ユーザＩ／Ｆ部１０と、アプリケーション部１１と、通信方向管理部１２と、転送条件情報管理部１３と、通信制御部１４と、接続相手管理テーブル１５と、送信リストテーブル１６と、を備える。
【００１０】
ユーザＩ／Ｆ部１０は、通信開始、ユーザー名登録、接続相手管理テーブル１５の入力、送信データのカテゴリ分類など、ユーザーからの処理とのインターフェースとなる。
【００１１】
アプリケーション部１１は、マスタ処理およびスレーブ処理を実行し、ファイルの送信、受信などの動作全体の管理などを行う。
【００１２】
通信方向管理部１２は、自機器と対向機器が同一モードのためコンフリクトが発生した場合に、ＵＩＤ（ユニークＩＤ）の比較、乱数の生成等を行い、自機器のモード（マスタまたはスレーブ）を決定する。また、通信方向管理部１２は、単一方向の（一方のモードでの）通信完了後に、自機器のモードをマスタからスレーブに、またはスレーブからマスタに切り替える。
【００１３】
転送条件情報管理部１３は、接続確立後に対向機器の転送条件情報を取得、管理して、送受信する対象のファイルを決定する。
【００１４】
通信制御部１４は、接続要求・接続応答・切断要求等のデータフレームの送信・受信を行う。
【００１５】
接続相手管理テーブル１５は、ユーザーが入力した接続相手となる対向機器の情報を登録するテーブルである。
【００１６】
送信リストテーブル１６は、対向機器と接続時に送信するファイルとそのファイルが所属するカテゴリを登録するテーブルである。
【００１７】
本実施形態では、近距離無線通信でデータ通信を行う場合の一例として、通信デバイス１が、ＴｒａｎｓｆｅｒＪｅｔ（商標）によりファイルを対向機器との間で送受信する場合について説明する。ＴｒａｎｓｆｅｒＪｅｔでは、マスタ、ダイナミック、スレーブのモードがあるが、以降の説明では、マスタおよびスレーブを用いて説明し、マスタがＨｉｇｈ  Ｐｒｉｏｒｉｔｙ、スレーブがＬｏｗ  Ｐｒｉｏｒｉｔｙとする。ここで、ＴｒａｎｓｆｅｒＪｅｔの階層モデルについて簡単に説明する。図２は、ＴｒａｎｓｆｅｒＪｅｔの階層モデルを示す図である。通信デバイス１であるデバイスＡ，Ｂが接続する際にコ
ンフリクトが発生する様子を示すものである。ＴｒａｎｓｆｅｒＪｅｔの階層モデルは大きく分けて、アプリケーション層、セッション層、データリンク層の３階層に分けることができる。
【００１８】
アプリケーション層からマスタとしての接続が要求されると、データリンク層では、接続要求データフレームを送信する。データリンク層では、自機器のモードがマスタ／スレーブどちらであっても、相手デバイスが送信してくるデータフレームを受信することが可能である。ただし、プライオリティが等しいマスタのデバイス同士が、お互い接続要求データフレームを受け取っても、セッション層では、コンフリクトと認識して正しく接続することはできない。このように、アプリケーション層では、マスタとして接続要求して他マスタと近接させると、コンフリクト通知を受け取り、プロトコル通信を行えない。また、セッション層では、マスタ同士が接続要求を受信するとコンフリクト状態となり、正しく接続確立ができない。なお、データリンク層では、上位層がコンフリクト状態であっても、各デバイスがお互いのデータフレームを送受信することができる。
【００１９】
つづいて、通信デバイス１において、対向機器である通信デバイス１との接続の際にコンフリクトが発生した場合に、コンフリクトを解消してファイル送受信を行う双方向通信の動作について説明する。通信デバイス１であるデバイスＡ（ＵＩＤ：０ｘ２２２２２２２２）およびデバイスＢ（ＵＩＤ：０ｘ１１１１１１１１）が、初期状態としてともにマスタモード（またはともにダイナミックモード）で接続待受け状態であり、各機器ともに接続要求のデータフレームを送信している状態とする。
【００２０】
図３は、本実施形態のファイル送受信処理を示すフローチャートである。以下のフローチャートに示す手順で各機器のモードを切り替えることにより、お互いが順番にマスタおよびスレーブとなり、お互いが所望のファイルを送信することが可能となる。なお、デバイスＡの対向機器はデバイスＢであり、デバイスＢの対向機器はデバイスＡとなる。
【００２１】
まず、デバイスＡ，Ｂでは、ユーザーが通信開始すると、アプリケーション部１１が、自機器のモードをマスタと設定して接続を開始し、通信制御部１４が、接続要求データフレームの送信を開始する（ステップＳ１０１）。通信制御部１４は、対向機器が送信する接続要求データフレームを受信しない間、すなわち、対向機器を検出しない間は（ステップＳ１０２：Ｎｏ）、接続要求データフレームを定期的に送信し続ける（ステップＳ１０１）。
【００２２】
つぎに、デバイスＡ，Ｂを近接させる。デバイスＡ，Ｂでは、通信制御部１４が、対向機器が送信する接続要求データフレームを受信、すなわち、対向機器を検出すると（ステップＳ１０２：Ｙｅｓ）、受信した接続要求データフレームの中身を解析する。接続要求データフレームには要求発行元機器のプライオリティが記載されているため、通信制御部１４は、自機器のプライオリティと比較する（ステップＳ１０３）。
【００２３】
自機器のプライオリティと対向機器のプライオリティとが異なる場合、すなわち、一方がマスタで他方がスレーブ、一方がマスタで他方がダイナミック等の場合（ステップＳ１０３：Ｎｏ）、プライオリティの低い機器が接続応答データフレームを返して接続を確立させる。例えば、デバイスＡがマスタ、デバイスＢがスレーブであった場合には、デバイスＢからデバイスＡへ接続応答データフレームを返す。デバイスＡは、デバイスＢから接続応答データフレームを受信していない場合は（ステップＳ１０４：Ｎｏ）、接続応答データフレームを待ち（ステップＳ１０５）、ステップＳ１０４へ戻る。デバイスＡは、デバイスＢから接続応答データフレームを受信すると（ステップＳ１０４：Ｙｅｓ）、マスタとして接続して接続確立を通知し（ステップＳ１０６）、Ｐｕｓｈ送信、Ｐｕｌｌ受信等のマスタ処理を実行し（ステップＳ１０７）、対向機器との通信を終了する（ステップ
Ｓ１１４）。なお、ステップＳ１０３：ＮｏからステップＳ１０７までは従来同様の一般的な処理のため、詳細な説明については省略する。
【００２４】
自機器のプライオリティと対向機器のプライオリティとが同一（ともにマスタ、またはともにダイナミック）の場合（ステップＳ１０３：Ｙｅｓ）、デバイスＡ，Ｂでは、通信制御部１４が、コンフリクト発生を通知する（ステップＳ１０８）。
【００２５】
デバイスＡ，Ｂでは、通信方向管理部１２が、コンフリクト発生通知を受け取ると、対向機器の接続要求データフレームからＵＩＤ情報を読み出して記憶する（ステップＳ１０９）。図４は、ＴｒａｎｓｆｅｒＪｅｔにおけるデータフレームの構成例を示す図である。ＴｒａｎｓｆｅｒＪｅｔのデータリンク層で送受信されるデータフレームは、本実施の形態の双方向通信の動作に対応しているかどうかを確認可能なバージョン情報（仕様情報）を示すＬｉＣＣ  ｖｅｒｓｉｏｎと、データフレーム種別を示すＬｉＣＣと、リザーブ情報を示すＲｅｓｅｒｖｅｄと、送信元デバイスのＵＩＤを示すＯｗｎ  ＵＩＤと、データフレームの情報であるＬｉＣＣ  Ｉｎｆｏｒｍａｔｉｏｎと、から構成される。デバイスＡ，Ｂでは、対向機器とデータリンク層で接続されていれば、対向機器からＵＩＤ情報、バージョン情報を取得することができる。デバイスＡでは、対向機器であるデバイスＢからＵＩＤ「０ｘ１１１１１１１１」を取得し、デバイスＢでは、対向機器であるデバイスＡからＵＩＤ「０ｘ２２２２２２２２」を取得する。
【００２６】
デバイスＡ，Ｂでは、通信方向管理部１２が、切断要求データフレームを送信し、対向機器との接続を一旦切断する（ステップＳ１１０）。
【００２７】
デバイスＡ，Ｂでは、通信方向管理部１２が、切断後、対向機器から受信した接続要求データフレームのバージョン情報を確認し、対向機器も本実施形態の双方向通信の動作に対応しているかどうかを確認する（ステップＳ１１１）。
【００２８】
デバイスＡ，Ｂでは、対向機器が本実施形態の双方向通信の動作に対応している場合（ステップＳ１１１：Ｙｅｓ）、双方向通信処理を行って（ステップＳ１１２）、対向機器との通信を終了する（ステップＳ１１４）。一方、デバイスＡ，Ｂでは、対向機器が本実施形態の双方向通信の動作に対応していない場合（ステップＳ１１１：Ｎｏ）、片方向通信処理を行って（ステップＳ１１３）、対向機器との通信を終了する（ステップＳ１１４）。
【００２９】
本実施形態では、双方向通信（ステップＳ１１２）の動作について説明する。図５は、本実施形態における双方向通信の処理を示すフローチャートである。ここでは、デバイスＡを中心に説明する。
【００３０】
デバイスＡ，Ｂでは、通信方向管理部１２が、自機器のＵＩＤと前回接続時の対向機器のＵＩＤとを比較し、ＵＩＤが大きい機器が先にマスタとなり、小さい機器が先にスレーブとなる（ステップＳ２０１）。デバイスＡでは、デバイスＡのＵＩＤ＞デバイスＢのＵＩＤのため（ステップＳ２０１：Ｙｅｓ）、通信方向管理部１２が、自機器がマスタになることを決定する。一方、デバイスＢでは、デバイスＡのＵＩＤ＞デバイスＢのＵＩＤのため（ステップＳ２０１：Ｎｏ）、通信方向管理部１２が、自機器がスレーブになることを決定する。
【００３１】
デバイスＡでは、通信制御部１４が、接続要求データフレームを送信し（ステップＳ２０２）、デバイスＢから接続応答データフレームを受信していない場合は（ステップＳ２０３：Ｎｏ）、接続応答データフレームを受信するまで定期的に接続要求データフレームを送信し続ける（ステップＳ２０２）。
【００３２】
デバイスＡでは、通信制御部１４が、デバイスＢから接続応答データフレームを受信すると（ステップＳ２０３：Ｙｅｓ）、接続応答データフレームに含まれるＵＩＤと前回接続時の対向機器のＵＩＤとを比較する（ステップＳ２０４）。通信制御部１４は、ＵＩＤが一致しない場合は（ステップＳ２０４：Ｎｏ）、双方向通信を終了し、ＵＩＤが一致した場合は（ステップＳ２０４：Ｙｅｓ）、接続確立したことをアプリケーション部１１に通知する（ステップＳ２０５）。アプリケーション部１１は、マスタとして接続を行う（ステップＳ２０５）。
【００３３】
デバイスＡでは、転送条件情報管理部１３が、スレーブ側のデバイスＢから転送条件情報を取得し（ステップＳ２０６）、取得した情報に基づいてスレーブ側のデバイスＢに対するマスタ処理を確定する。具体的には送信するファイルの選別等を行うが、詳細については後述する実施形態において説明する。
【００３４】
デバイスＡでは、アプリケーション部１１が、転送条件情報管理部１３で確定されたマスタ処理に従って、Ｐｕｓｈ送信、Ｐｕｌｌ受信等のマスタ処理を実行する（ステップＳ２０７）。
【００３５】
マスタ処理が完了すると、デバイスＡでは、通信方向管理部１２が、スレーブ側のデバイスＢ（対向機器）に対して、マスタ処理終了通知とともに、切断要求データフレームを送信し、対向機器との接続を一旦切断する（ステップＳ２０８）。
【００３６】
通信方向管理部１２は、マスタ側、スレーブ側の双方向通信の処理を完了したかどうかを確認する（ステップＳ２０９）。マスタ側、スレーブ側の双方向通信の処理を完了していない場合（ステップＳ２０９：Ｎｏ）、通信方向管理部１２が、まだ完了していないモード、ここではアプリケーション部１１のモードとしてスレーブを設定し、通信制御部１４では、スレーブモードで接続待ち状態になる（ステップＳ２１０）。なお、通信方向管理部１２は、双方向通信の処理が完了した場合には（ステップＳ２０９：Ｙｅｓ）、双方向通信を終了する。
【００３７】
デバイスＡでは、通信制御部１４が、デバイスＢから接続要求データフレームを受信するまで待機し（ステップＳ２１１：Ｎｏ）、接続要求データフレームを受信すると（ステップＳ２１１：Ｙｅｓ）、接続応答データフレームを送信する（ステップＳ２１２）。
【００３８】
デバイスＡでは、通信制御部１４が、デバイスＢからの接続要求データフレームに含まれるＵＩＤと前回接続時の対向機器のＵＩＤとを比較する（ステップＳ２１３）。通信制御部１４は、ＵＩＤが一致しない場合は（ステップＳ２１３：Ｎｏ）、双方向通信を終了し、ＵＩＤが一致した場合は（ステップＳ２１３：Ｙｅｓ）、接続確立したことをアプリケーション部１１に通知する（ステップＳ２１４）。アプリケーション部１１は、スレーブとして接続を行う（ステップＳ２１４）。
【００３９】
デバイスＡでは、アプリケーション部１１が、スレーブ側の処理（マスタであるデバイスＢからのＰｕｓｈによるデータ受信処理、Ｐｕｌｌによるデータ送信処理等）を実行する（ステップＳ２１５）。
【００４０】
デバイスＡでは、スレーブ処理が完了すると、通信制御部１４が、デバイスＢからの切断要求データフレームを待つ（ステップＳ２１６）。デバイスＢから切断要求データフレームを受信するまで待機し（ステップＳ２１７：Ｎｏ）、切断要求データフレームを受信すると（ステップＳ２１７：Ｙｅｓ）、デバイスＢとの接続を切断する。
【００４１】
通信方向管理部１２は、マスタ側、スレーブ側の双方向通信の処理を完了したかどうかを確認する（ステップＳ２１８）。マスタ側、スレーブ側の双方向通信の処理を完了したため（ステップＳ２１８：Ｙｅｓ）、通信方向管理部１２は、双方向通信を終了する。なお、マスタ側、スレーブ側の双方向通信の処理が完了していない場合（ステップＳ２１８：Ｎｏ）、通信方向管理部１２が、まだ完了していないモード、ここではアプリケーション部１１のモードとしてマスタを設定し、通信制御部１４では、マスタモードとして接続要求データフレームを送信する（ステップＳ２０２）。
【００４２】
このように、デバイスＡでは、ステップＳ２０１〜ステップＳ２１８の順に処理を実行し、双方向通信の処理を終了する。一方、デバイスＢでは、ステップＳ２０１：Ｎｏとなるため、ステップＳ２０１，Ｓ２１０〜Ｓ２１８，Ｓ２０２〜Ｓ２０９の順に処理を実行し、双方向通信の処理を終了する。いずれのデバイスにおいても、マスタ／スレーブを切り替えて対向機器と接続することで、各モードでの通信を実行することができる。
【００４３】
なお、図３に示すファイル送受信処理および図５に示す双方向通信の処理において、デバイスＡ，Ｂが接続を一旦切断して再接続する処理がいくつかあるが、切断中に対向機器が離れてしまった、または、対向機器が故障した等によって再接続できないことも想定される。そのため、デバイスＡ，Ｂでは、再接続処理で一定期間以上対向機器と再接続できなかった場合は、双方向処理を途中終了する。
【００４４】
デバイスＡ，Ｂで実行されるファイル送受信処理を、シーケンス図を用いて説明する。図６は、デバイスＡ，Ｂ間のファイル送受信処理を示すシーケンス図である。ステップＳ３０１は、図３のステップＳ１０１〜Ｓ１１１までの処理に相当し、ステップＳ３０２は、デバイスＡについては図５のステップＳ２０１〜Ｓ２０９、デバイスＢについては図５のステップＳ２０１，Ｓ２１０〜Ｓ２１８に相当し、ステップＳ３０３は、デバイスＡについては図５のステップＳ２０１，Ｓ２１０〜Ｓ２１８、デバイスＢについては図５のステップＳ２０１〜Ｓ２０９に相当する。このように、デバイスＡ，Ｂでは、コンフリクト発生後において、マスタとスレーブを入れ替えて同様の処理を実行することにより、双方向での通信が可能となる。
【００４５】
図７は、各デバイスのモード遷移を示す図である。図６に示すシーケンス図において、各デバイスの状態を抜き出したものである。最初に、状態１として、デバイスＡ，Ｂは、ともにマスタで接続要求を行うので、コンフリクトが発生して通信不可となる。つぎに、ＵＩＤの比較の結果、まず、状態２として、デバイスＡがマスタ、デバイスＢがスレーブとして起動する。この状態でデバイスＡ，Ｂを近接させると接続を確立し、デバイスＡからデータ通信を行う。デバイスＡからのデータ通信が完了すると、モードを入れ替えて、状態３として、デバイスＡがスレーブ、デバイスＢがマスタとして起動する。この状態でデバイスＡ，Ｂを近接させると接続を確立し、デバイスＢからデータ通信を行うことができる。
【００４６】
なお、通信デバイス１では、図１では図示していないが、自機器が備える表示部において、ユーザーに対して現在の通信状態および通信結果を示すことができる。図８は、通信デバイス１における通信状態の表示例を示す図である。例えば、双方向通信処理実行中の通信デバイス１では、最初にスレーブ処理を実行中で、まだマスタ処理を実行していない場合は、マスタとして「未通信」、スレーブとして「通信中」であり、現在スレーブ通信中であることを表示することで、ユーザーに対して、自機器の状態を示すことができる。表示する内容としては、一方のモードが完了していれば「通信完了」とする。また、図９は、通信デバイス１における双方向通信完了後の表示例を示す図である。各デバイスでは、双方向通信処理としてマスタ処理およびスレーブ処理が完了した場合には、マスタとして「通信完了」、スレーブとして「通信完了」であり、双方向通信が完了したことを表示
することで、ユーザーに対して、自機器の状態を示すことができる。表示する内容としては、通信が失敗した場合には「通信失敗」、通信データがない場合には「通信データ無し」と表示する。
【００４７】
また、本実施形態では、２つのデバイスが双方向通信によりマスタ／スレーブを切り替えて通信を行う場合に、上述のように、一旦対向機器との通信を切断し、モードを切り替えてから再度接続する処理を行う。２つのデバイスがマスタ／スレーブを切り替える方法としては、２つのデバイス間で、マスタからスレーブに切り替えた、スレーブからマスタに切り替えた、等のコンファメーション情報の送信により確認する方法がある。しかしながら、一旦通信を切断することで、各デバイスでは、対向機器のモードが切り替わったタイミングを確実に認識することができ、双方のモードが決まった状態でリスタートできる。
【００４８】
また、本実施形態では、対向機器との間でコンフリクトが発生した場合、各デバイスが自動でマスタ／スレーブのモードを切り替えることとしたが、デバイスを操作しているユーザーからの操作を受け付けて、手動によるタイミングで双方向通信を開始してもよい。この場合、ユーザー操作により、一方のデバイスをマスタ、他方のデバイスをスレーブとしてもよい。また、ユーザーは、対向機器との間でコンフリクトが発生していなくても、送信または受信したいファイルがある場合に、手動により双方向通信を開始してもよい。
【００４９】
また、本実施形態では、各デバイスは、対向機器との間でＵＩＤの情報を交換し、ＵＩＤの大きさによってマスタまたはスレーブのモードを決定していたが、モードの決定方法はこれに限定するものではない。各デバイスは、データフレームにより対向機器との間でＵＩＤの情報を交換するが、このデータフレームのＲｅｓｅｒｖｅｄを用いて、ファイルに関する情報、例えば、ファイルの優先度、ファイルサイズ、送受信対象のファイルの有無、ファイルの送受信を希望するのかを示す情報等について、ビットを立てる／クリアする等による情報を含める。各デバイスは、ファイルに関するこれらの情報を用いて、モードを決定してもよい。
【００５０】
また、本実施形態では、近距離無線通信としてＴｒａｎｓｆｅｒＪｅｔによりファイルを送受信する場合について説明したが、一例であり、ＴｒａｎｓｆｅｒＪｅｔに限定するものではない。
【００５１】
第１の実施形態によれば、ファイル送受信装置である通信デバイス１では、同じモードのため対向機器との間でコンフリクトが発生した場合、データリンク層でデータフレームの通信が可能な状態の際に対向機器との間でＵＩＤを送受信し、対向機器のＵＩＤと自機器のＵＩＤとを比較した結果に基づいて、対向機器とは異なるマスタまたはスレーブのモードで起動し、一方のモードでの処理実行後、対向機器とともにモードを切り替え、他方のモードでの処理を実行して、ファイルの送信または受信または送受信を行うこととした。その結果、対向機器との間でコンフリクトが発生した場合においても、コンフリクトを解消して対向機器との間でファイルを送受信できる、という効果を得ることができる。
【００５２】
（第２の実施形態）
本実施形態では、第１の実施形態とは異なる双方向通信（図３のステップＳ１１２）の処理について説明する。なお、通信デバイス１の構成は第１の実施形態と同様であり、また、双方向通信処理以外のファイル送受信処理（図３のフローチャート）は、第１の実施形態と同様である。
【００５３】
図１０は、本実施形態における双方向通信の処理を示すフローチャートである。以下のフローチャートに示す手順で各機器のモードを切り替えることにより、お互いが順番にマ
スタおよびスレーブとなり、お互いが所望のファイルを送信することが可能となる。
【００５４】
デバイスＡ，Ｂでは、通信方向管理部１２が、乱数を生成し（ステップＳ４０１）、接続要求待ち状態となる（ステップＳ４０２）。
【００５５】
デバイスＡ，Ｂでは、通信方向管理部１２が、対向機器から接続要求データフレームを受信しない場合（ステップＳ４０３：Ｎｏ）、生成した乱数に基づく乱数時間が経過するまではこの状態（接続要求待ち状態）を継続し（ステップＳ４０４：Ｎｏ）、乱数時間が経過した場合、すなわち、接続要求待ちの間に対向機器から接続要求データフレームを受信しなかった場合（ステップＳ４０４：Ｙｅｓ）、接続要求待ちを停止した後に（ステップＳ４０５）、自機器のモードをマスタとして設定し直す。ここでは、一例として、デバイスＡが、デバイスＢよりも生成した乱数が小さかった（乱数時間が短い）として、接続要求待ちの間に対向機器から接続要求データフレームを受信しなかった（ステップＳ４０４：Ｙｅｓ）場合について説明する。なお、通信方向管理部１２では、対向機器から接続要求データフレームを受信した場合（ステップＳ４０３：Ｙｅｓ）、ステップＳ４１６の処理へ移行する。
【００５６】
デバイスＡでは、通信制御部１４が、接続要求データフレームを送信し（ステップＳ４０６）、デバイスＢから接続応答データフレームを受信していない場合は（ステップＳ４０７：Ｎｏ）、接続応答データフレームを受信するまで定期的に接続要求データフレームを送信し続ける（ステップＳ４０６）。
【００５７】
デバイスＡでは、通信制御部１４が、デバイスＢから接続応答データフレームを受信すると（ステップＳ４０７：Ｙｅｓ）、接続応答データフレームに含まれるＵＩＤと前回接続時の対向機器のＵＩＤとを比較する（ステップＳ４０８）。通信制御部１４は、ＵＩＤが一致しない場合は（ステップＳ４０８：Ｎｏ）、双方向通信を終了し、ＵＩＤが一致した場合は（ステップＳ４０８：Ｙｅｓ）、接続確立したことをアプリケーション部１１に通知する（ステップＳ４０９）。アプリケーション部１１は、マスタとして接続を行う（ステップＳ４０９）。
【００５８】
デバイスＡでは、転送条件情報管理部１３が、スレーブ側のデバイスＢから転送条件情報を取得し（ステップＳ４１０）、取得した情報に基づいてスレーブ側のデバイスＢに対するマスタ処理を確定する。具体的には送信するファイルの選別等を行うが、詳細については後述する実施形態において説明する。
【００５９】
デバイスＡでは、アプリケーション部１１が、転送条件情報管理部１３で確定されたマスタ処理に従って、Ｐｕｓｈ送信、Ｐｕｌｌ受信等のマスタ処理を実行する（ステップＳ４１１）。
【００６０】
マスタ処理が完了すると、デバイスＡでは、通信方向管理部１２が、スレーブ側のデバイスＢ（対向機器）に対して、マスタ処理終了通知とともに、切断要求データフレームを送信し、対向機器との接続を一旦切断する（ステップＳ４１２）。
【００６１】
通信方向管理部１２は、マスタ側、スレーブ側の双方向通信の処理を完了したかどうかを確認する（ステップＳ４１３）。マスタ側、スレーブ側の双方向通信の処理を完了していないため（ステップＳ４１３：Ｎｏ）、通信方向管理部１２が、まだ完了していないモード、ここではアプリケーション部１１のモードとしてスレーブを設定し、通信制御部１４では、スレーブモードで接続待ち状態になる（ステップＳ４１４）。なお、通信方向管理部１２は、双方向通信の処理が完了した場合には（ステップＳ４１４：Ｙｅｓ）、双方向通信を終了する。
【００６２】
デバイスＡでは、通信制御部１４が、デバイスＢから接続要求データフレームを受信するまで待機し（ステップＳ４１５：Ｎｏ）、接続要求データフレームを受信すると（ステップＳ４１５：Ｙｅｓ）、接続応答データフレームを送信する（ステップＳ４１６）。
【００６３】
デバイスＡでは、通信制御部１４が、デバイスＢからの接続要求データフレームに含まれるＵＩＤと前回接続時の対向機器のＵＩＤとを比較する（ステップＳ４１７）。通信制御部１４は、ＵＩＤが一致しない場合は（ステップＳ４１７：Ｎｏ）、双方向通信を終了し、ＵＩＤが一致した場合は（ステップＳ４１７：Ｙｅｓ）、接続確立したことをアプリケーション部１１に通知する（ステップＳ４１８）。アプリケーション部１１は、スレーブとして接続を行う（ステップＳ４１８）。
【００６４】
デバイスＡでは、アプリケーション部１１が、スレーブ側の処理（マスタであるデバイスＢからのＰｕｓｈによるデータ受信処理、Ｐｕｌｌによるデータ送信処理等）を実行する（ステップＳ４１９）。
【００６５】
デバイスＡでは、スレーブ処理が完了すると、通信制御部１４が、デバイスＢからの切断要求データフレームを待つ（ステップＳ４２０）。デバイスＢから切断要求データフレームを受信するまで待機し（ステップＳ４２１：Ｎｏ）、切断要求データフレームを受信すると（ステップＳ４２１：Ｙｅｓ）、デバイスＢとの接続を切断する。
【００６６】
通信方向管理部１２は、マスタ側、スレーブ側の双方向通信の処理を完了したかどうかを確認する（ステップＳ４２２）。マスタ側、スレーブ側の双方向通信の処理を完了したため（ステップＳ４２２：Ｙｅｓ）、通信方向管理部１２が、双方向通信を終了する。なお、マスタ側、スレーブ側の双方向通信の処理が完了していない場合（ステップＳ４２２：Ｎｏ）、通信方向管理部１２が、まだ完了していないモード、ここではアプリケーション部１１のモードとしてマスタを設定し、通信制御部１４では、マスタモードとして接続要求を送信する（ステップＳ４０６）。
【００６７】
このように、デバイスＡでは、ステップＳ４０１〜ステップＳ４２２の順に処理を実行し、双方向通信の処理を終了する。一方、デバイスＢでは、ステップＳ４０３：Ｎｏとなるため、ステップＳ４０１〜Ｓ４０３，Ｓ４１６〜Ｓ４２２，Ｓ４０６〜Ｓ４１３の順に処理を実行し、双方向通信の処理を終了する。いずれのデバイスにおいても、マスタ／スレーブを切り替えて対向機器と接続することで、各モードでの通信を実行することができる。
【００６８】
なお、図３に示すファイル送受信処理および図１０に示す双方向通信の処理において、デバイスＡ，Ｂが接続を一旦切断して再接続する処理がいくつかあるが、切断中に対向機器が離れてしまった、対向機器が故障した等によって再接続できないことも想定される。そのため、デバイスＡ，Ｂでは、再接続処理で一定期間以上対向機器と再接続できなかった場合は、双方向処理を途中終了する。
【００６９】
本実施の形態におけるデバイスＡ，Ｂで実行されるファイル送受信処理のシーケンス図（図６参照）、各デバイスのモード遷移を示す図（図７参照）、通信デバイスにおける表示例（図８，９参照）は、第１の実施形態と同様である。
【００７０】
なお、本実施形態では、各デバイスにおいて、マスタへの切り替えタイミングを、生成した乱数に基づくこととしたが、これに限定するものではない。各デバイスでマスタへの切り替えタイミングを変えることができればよいので、時間のパラメータとなるものであれば乱数以外のものを用いてもよい。
【００７１】
また、本実施形態の乱数の情報を、各デバイスが、第１の実施形態のように対向機器と交換し、ＵＩＤに替えて乱数の大小により、マスタまたはスレーブを決定してもよい。
【００７２】
第２の実施形態によれば、ファイル送受信装置である通信デバイス１では、同じモードのため対向機器との間でコンフリクトが発生した場合、自機器で乱数を生成し、スレーブで起動後、対向機器から接続要求データフレームを受信せずに乱数時間経過した場合は、マスタモードに切り替えて、対向機器に対して接続要求データフレームを送信してマスタモードでの処理を行い、乱数時間経過前に対向機器から接続要求データフレームを受信した場合は、スレーブモードでの処理を行い、一方のモードでの処理実行後、対向機器とともにモードを切り替え、他方のモードでの処理を実行して通信を行うこととした。その結果、対向機器との間でコンフリクトが発生した場合においても、コンフリクトを解消して対向機器との間でファイルを送受信できる、という効果を得ることができる。
【００７３】
また、第１の実施形態と異なり、対向機器との間で、対向機器を識別するＵＩＤ以外の情報を相互に交換しなくても、双方向通信が可能となる。
【００７４】
（第３の実施形態）
本実施形態では、第１の実施形態における片方向通信（図３のステップＳ１１３）の処理、すなわち、デバイスＡ，Ｂの一方が第１（または第２）の実施形態の双方向通信の動作に対応していない場合（図３のステップＳ１１１：Ｎｏ）について説明する。ここでは、デバイスＡ，Ｂは、ＴｒａｎｓｆｅｒＪｅｔ通信が可能であるが、デバイスＡのみが第１（または第２）の実施形態で説明した双方向通信に対応し、デバイスＢは第１（または第２）の実施形態で説明した双方向通信に非対応とする。
【００７５】
デバイスＢは、双方向通信機能を持たないため、自動でスレーブモードに切り替わることはできない。そのため、双方向通信に対応したデバイスＡがスレーブモードに切り替わることで、コンフリクトが発生した場合でも片方向の通信は実現できる。
【００７６】
図１１は、本実施形態における片方向通信の処理を示すフローチャートである。以下のフローチャートに示す手順により、デバイスＢからデバイスＡへ所望のファイルを送信することが可能となる。片方向通信（ステップＳ１１３）の処理までのファイル送受信処理（図３のステップＳ１０１〜Ｓ１１１）は前述の通りである。
【００７７】
デバイスＡ，Ｂでは、対向機器が本実施形態の双方向通信の動作に対応していない場合（ステップＳ１１１：Ｎｏ）、片方向通信処理を行って（ステップＳ１１３）、対向機器との通信を終了する（ステップＳ１１４）。
【００７８】
このとき、双方向通信の動作に対応しているデバイスＡでは、対向機器のデバイスＢが双方向通信の動作に非対応のため、通信方向管理部１２が、自機器のアプリケーション部１１のモードとしてスレーブを設定し、接続要求待ち状態となる（ステップＳ５０１）。
【００７９】
デバイスＡでは、通信制御部１４が、デバイスＢから接続要求データフレームを受信するまで待機し（ステップＳ５０２：Ｎｏ）、接続要求データフレームを受信すると（ステップＳ５０２：Ｙｅｓ）、接続応答データフレームを送信する（ステップＳ５０３）。
【００８０】
デバイスＡでは、通信制御部１４が、デバイスＢからの接続要求データフレームに含まれるＵＩＤと前回接続時の対向機器のＵＩＤとを比較する（ステップＳ５０４）。通信制御部１４は、ＵＩＤが一致しない場合は（ステップＳ５０４：Ｎｏ）、片方向通信を終了し、ＵＩＤが一致した場合は（ステップＳ５０４：Ｙｅｓ）、接続確立したことをアプリ
ケーション部１１に通知する（ステップＳ５０５）。アプリケーション部１１は、スレーブとして接続を行う（ステップＳ５０５）。
【００８１】
デバイスＡでは、アプリケーション部１１が、スレーブ側の処理（マスタであるデバイスＢからのＰｕｓｈによるデータ受信処理、Ｐｕｌｌによるデータ送信処理等）を実行する（ステップＳ５０６）。
【００８２】
デバイスＡでは、スレーブ処理が完了すると、通信制御部１４が、デバイスＢへ切断処理を送信してデバイスＢとの接続を切断し（ステップＳ５０７）、片方向の処理が完了したので通信を終了する。
【００８３】
図１２は、各デバイスのモード遷移を示す図である。最初に、状態１として、デバイスＡ，Ｂは、ともにマスタで接続要求を行うので、コンフリクトが発生して通信不可となる。このとき、デバイスＡ，Ｂ間でデータフレームが送受信されており、データフレームに含まれるバージョン情報からデバイスＡでは、対向機器のデバイスＢが双方向通信に非対応であることが分かる。そのため、デバイスＡは、状態２として、自機器がスレーブとなることで、マスタであるデバイスＢと接続を確立することができ、デバイスＢからデータ通信を行うことができる。
【００８４】
図１３は、通信デバイス１における片方向通信完了後の表示例を示す図である。デバイスＡでは、片双方向通信処理としてマスタ処理が失敗し、スレーブ処理が完了したので、スレーブ通信のみ完了したことを表示することで、ユーザーに対して、自機器の状態を示すことができる。このとき、対向機器が双方向通信非対応のデバイスであることを通知するエラー表示をしてもよい。
【００８５】
第３の実施形態によれば、ファイル送受信装置である通信デバイス１では、同じモードのため対向機器との間でコンフリクトが発生した場合、対向機器が第１（または第２）の実施形態の双方向通信に対応していない場合、自機器がスレーブのモードで起動し、対向機器をマスタとする片方向の通信のみを行うこととした。その結果、コンフリクトが発生した場合でも、双方向通信非対応のデバイスから双方向通信対応のデバイスの方向への片方向の通信は実現できる、という効果を得ることができる。
【００８６】
（第４の実施形態）
本実施形態では、マスタ機器がスレーブ機器に対してデータを送信する際に、スレーブ機器から取得した転送条件情報によって、送信するファイルを自動で制限する機能について説明する。
【００８７】
具体的には、無線通信機能を有するデバイスとして、リムーバブルデバイス（ＳＤカード、ＳＤＩＯカード、ドングル等）の利用を想定する。無線通信機能を有するデバイスがリムーバブルデバイスの場合、このデバイスは、様々なホストデバイスに差し替えての利用が考えられるため、デバイスが有するＵＩＤでは通信相手（ホストデバイス）での情報が特定できない場合がある。そのため、通信相手の識別にホストデバイス種別とシリアル番号の情報を利用する。
【００８８】
図１４は、本実施形態の通信デバイス１ａおよびホストデバイス２の構成例を示す図である。ファイル送受信装置である通信デバイス１ａは、例えば、前述のようにＳＤカード、ＳＤＩＯカード、ドングル等のリムーバブルデバイスであるが、これらに限定するものではない。また、ホストデバイス２は、例えば、デジタルカメラ、パーソナルコンピュータ（ＰＣ）等であるが、これらに限定するものではない。
【００８９】
通信デバイス１ａは、アプリケーション部１１と、通信方向管理部１２と、転送条件情報管理部１３と、通信制御部１４と、接続相手管理テーブル１５と、送信リストテーブル１６と、ホストデバイスＩ／Ｆ部１７と、を備える。ホストデバイスＩ／Ｆ部１７は、ホストデバイス２との間でデータの送受信を行うインターフェースである。
【００９０】
また、通信デバイス１ａでは、転送条件情報管理部１３は、ホストデバイスＩ／Ｆ部１７を経由して、ホストデバイス２の機器情報管理部２０からホストデバイス２の情報（シリアル番号、ユーザー名等）を取得する。
【００９１】
ホストデバイス２は、ユーザＩ／Ｆ部１０と、機器情報管理部２０と、通信デバイスＩ／Ｆ部２１と、を備える。機器情報管理部２０は、ホストデバイス２のシリアル番号、ユーザーから入力された「ユーザー名」など、ホストデバイス２の情報を管理する。通信デバイスＩ／Ｆ部２１は、通信デバイス１ａとの間でデータの送受信を行うインターフェースである。
【００９２】
つづいて、本実施形態におけるファイルの送信処理について説明する。図１５は、本実施形態のデバイスおよび接続相手管理テーブル１５の構成例を示す図である。一例として、デバイスＡは、図１に示す構成の通信デバイス１であり、デバイスＢは、図１４に示す構成の通信デバイス１ａである。なお、デバイスＡを、図１４に示す構成の通信デバイス１ａにすることも可能である。図１５では、デバイスＢは、４つのホストデバイス２（ホストデバイスＡ，Ｂ，Ｃ，Ｄ）と接続可能であることを示すものである。デバイスＢは、実際にデバイスＡと通信する際には１つのホストデバイス２と接続する。
【００９３】
図１５では、無線通信機能を有するデバイスＡ，Ｂにおいて、デバイスＡが送信側機器（マスタ）、デバイスＢが受信側機器（スレーブ）として動作するものとする。デバイスＢは、リムーバブルデバイスのため様々なホストデバイス２に挿入可能であり、ホストデバイス２に無線通信機能を付加することができる。
【００９４】
まず、マスタ側であるデバイスＡでは、送信を実行する前に、ユーザーＩ／Ｆ部１０を介して、ユーザーからの入力で接続相手管理テーブル１５に、各ホストデバイス２の「ホストデバイス種別」、「ホストデバイスのシリアルＮｏ．」を登録し、そのホストデバイス２がどのカテゴリ（「Ｆａｍｉｌｙ」、「Ｂｕｓｉｎｅｓｓ」、「Ｆｒｉｅｎｄ」、「Ｐｅｒｓｏｎａｌ」等）に属するかを登録する。
【００９５】
デバイスＡの転送条件情報管理部１３は、送信する各ファイルに対して、送信していいカテゴリを設定し、送信リストテーブル１６に登録する。デバイスＡの転送条件情報管理部１３は、各ファイルに対して、送信していいカテゴリを複数選択することができる。
【００９６】
デバイスＢでは、通信デバイス１ａの転送条件情報管理部１３が、ホストデバイスＩ／Ｆ部１７、通信デバイスＩ／Ｆ部２１経由でホストデバイス２の機器情報管理部２０から「ホストデバイス種別」および「ホストデバイスのシリアルＮｏ．」の情報を取得し、転送条件情報として保存しておく。
【００９７】
デバイスＡとデバイスＢの接続が確立すると、マスタ側であるデバイスＡの転送条件情報管理部１３が、スレーブ側のデバイスＢから転送条件情報として、デバイスＢが接続しているホストデバイス２の情報（「ホストデバイス種別」および「ホストデバイスのシリアルＮｏ．」）を取得する。
【００９８】
デバイスＡでは、転送条件情報管理部１３が、取得したホストデバイス２の情報が接続相手管理テーブル１５に含まれていれば、相手機器のカテゴリが特定できるため、送信リ
ストテーブル１６の中からカテゴリが一致するファイルのみを送信する。なお、転送条件情報管理部１３では、カテゴリが「Ｐｅｒｓｏｎａｌ」のホストデバイス２に対しては、全てのファイルを送信するなどの条件を指定して送信することもできる。転送条件情報管理部１３は、取得したホストデバイス２の情報が接続相手管理テーブル１５に含まれていなければ、カテゴリが「Ｇｕｅｓｔ」のファイルのみを送信する。
【００９９】
図１６は、本実施形態のデバイスおよび送信リストテーブル１６の構成例を示す図である。図１６に示す送信リストテーブル１６を持ったデバイスＡでは、リムーバルデバイスであるデバイスＢを各ホストデバイス２に挿した場合に、下記に示すようにファイルを送信する。
【０１００】
デバイスＢをカテゴリが「Ｆｒｉｅｎｄ」として登録されているホストデバイス２（ホストデバイスＡ）に挿して通信した場合、デバイスＡは、Ｎｏ．２，３，６，７のファイルを送信する。
【０１０１】
デバイスＢをカテゴリが「Ｂｕｓｉｎｅｓｓ」として登録されているホストデバイス２（ホストデバイスＢ）に挿して通信した場合、デバイスＡは、Ｎｏ．１のファイルを送信する。
【０１０２】
デバイスＢをカテゴリが「Ｆａｍｉｌｙ」として登録されているホストデバイス２（ホストデバイスＣ）に挿して通信した場合、デバイスＡは、Ｎｏ．４，５，６，７のファイルを送信する。
【０１０３】
デバイスＢをカテゴリが「Ｐｅｒｓｏｎａｌ」として登録されているホストデバイス２（ホストデバイスＤ）に挿して通信した場合、デバイスＡは、全てのファイルを送信する。
【０１０４】
デバイスＢを登録されていないホストデバイス２に挿して通信した場合、デバイスＡは、そのホストデバイス２を「Ｇｕｅｓｔ」として扱い、Ｎｏ．５，６，７のファイルを送信する。
【０１０５】
なお、ここでは、デバイスＡからデバイスＢへファイルを送信する場合について説明したが、デバイスＢからデバイスＡへファイルを送信することも可能である。この場合、一方のデバイスにおいて転送条件に一致するデータ（ファイル）が無い場合には、図１７のように表示してもよい。図１７は、通信デバイス１ａにおける双方向通信完了後の表示例を示す図である。転送条件に一致するデータが無い場合には、その旨のエラー表示を行うことで、ユーザーに対して、自装置の状態を示すことができる。
【０１０６】
第４の実施形態によれば、ファイル送受信装置である通信デバイス１または通信デバイス１ａでは、対向機器が無線通信機能を有するリムーバブルデバイス（通信デバイス１ａ）の場合、様々なホストデバイス２に差し替えての利用が考えられるため、通信相手の識別にホストデバイス２の「ホストデバイス種別」および「ホストデバイスのシリアルＮｏ．」の情報を利用することとした。その結果、接続相手管理テーブル１５および送信リストテーブル１６の設定により、各ホストデバイス２別に送信対象のファイルを設定できる、という効果を得ることができる。
【０１０７】
（第５の実施形態）
本実施形態では、マスタ機器がスレーブ機器に対してデータを送信する際に、スレーブ機器から取得した転送条件情報によって、送信するファイルを自動で制限する機能について、第４の実施形態と異なる方法について説明する。
【０１０８】
本実施形態では、通信相手の識別にユーザー名を利用する。なお、デバイスＢ側の構成は、第４の実施形態で説明した図１４の構成と同様である。
【０１０９】
つづいて、本実施形態におけるファイルの送信処理について説明する。図１８は、本実施形態のデバイスおよび接続相手管理テーブル１５の構成例を示す図である。一例として、デバイスＡは、図１に示す構成の通信デバイス１であり、デバイスＢは、図１４に示す構成の通信デバイス１ａである。なお、デバイスＡを、図１４に示す構成の通信デバイス１ａにすることも可能である。
【０１１０】
まず、マスタ側であるデバイスＡでは、送信を実行する前に、ユーザーＩ／Ｆ部１０を介して、ユーザーからの入力で接続相手管理テーブル１５に、各ホストデバイス２の「ユーザー名」を登録し、そのホストデバイス２がどのカテゴリ（「Ｆａｍｉｌｙ」、「Ｂｕｓｉｎｅｓｓ」、「Ｆｒｉｅｎｄ」、「Ｐｅｒｓｏｎａｌ」等）に属するかを登録する。
【０１１１】
デバイスＡの転送条件情報管理部１３は、送信する各ファイルに対して、送信していいカテゴリを設定し、送信リストテーブル１６に登録する。デバイスＡの転送条件情報管理部１３は、各ファイルに対して、送信していいカテゴリを複数選択することができる。
【０１１２】
デバイスＢでは、ユーザーが各ホストデバイス２のユーザーＩ／Ｆ部１０を介して各ホストデバイス２に「ユーザー名」を登録し、各ホストデバイス２の機器情報管理部２０は、登録されたユーザー名を保存しておく。
【０１１３】
デバイスＢでは、通信デバイス１ａの転送条件情報管理部１３が、ホストデバイスＩ／Ｆ部１７、通信デバイスＩ／Ｆ部２１経由でホストデバイス２の機器情報管理部２０から「ユーザー名」の情報を取得し、転送条件情報として保存しておく。
【０１１４】
デバイスＡとデバイスＢの接続が確立すると、マスタ側であるデバイスＡの転送条件情報管理部１３が、スレーブ側のデバイスＢから転送条件情報として、デバイスＢが接続しているホストデバイス２の情報（「ユーザー名」）を取得する。
【０１１５】
デバイスＡでは、転送条件情報管理部１３が、取得したホストデバイス２の情報が接続相手管理テーブル１５に含まれていれば、相手機器のカテゴリが特定できるため、送信リストテーブル１６の中からカテゴリが一致するファイルのみを送信する。なお、転送条件情報管理部１３では、カテゴリが「Ｐｅｒｓｏｎａｌ」のホストデバイス２に対しては、全てのファイルを送信するなどの条件を指定して送信することもできる。転送条件情報管理部１３は、取得したホストデバイス２の情報が接続相手管理テーブル１５に含まれていなければ、カテゴリが「Ｇｕｅｓｔ」のファイルのみを送信する。
【０１１６】
図１９は、本実施形態のデバイスおよび送信リストテーブル１６の構成例を示す図である。図１９に示す送信リストテーブル１６を持ったデバイスＡでは、リムーバルデバイスであるデバイスＢを各ホストデバイス２に挿した場合に、下記に示すようにファイルを送信する。
【０１１７】
デバイスＢをカテゴリが「Ｆｒｉｅｎｄ」として登録されているホストデバイス２（ホストデバイスＡ）に挿して通信した場合、デバイスＡは、Ｎｏ．２，３，６，７のファイルを送信する。
【０１１８】
デバイスＢをカテゴリが「Ｂｕｓｉｎｅｓｓ」として登録されているホストデバイス２（ホストデバイスＢ）に挿して通信した場合、デバイスＡは、Ｎｏ．１のファイルを送信
する。
【０１１９】
デバイスＢをカテゴリが「Ｆａｍｉｌｙ」として登録されているホストデバイス２（ホストデバイスＣ）に挿して通信した場合、デバイスＡは、Ｎｏ．４，５，６，７のファイルを送信する。
【０１２０】
デバイスＢをカテゴリが「Ｐｅｒｓｏｎａｌ」として登録されているホストデバイス２（ホストデバイスＤ）に挿して通信した場合、デバイスＡは、全てのファイルを送信する。
【０１２１】
デバイスＢを登録されていないホストデバイス２に挿して通信した場合、デバイスＡは、そのホストデバイス２を「Ｇｕｅｓｔ」として扱い、Ｎｏ．５，６，７のファイルを送信する。
【０１２２】
第５の実施形態によれば、ファイル送受信装置である通信デバイス１または通信デバイス１ａでは、対向機器が無線通信機能を有するリムーバブルデバイス（通信デバイス１ａ）の場合、様々なホストデバイス２に差し替えての利用が考えられるため、通信相手の識別にホストデバイス２の「ユーザー名」の情報を利用することとした。その結果、接続相手管理テーブル１５および送信リストテーブル１６の設定により、各ホストデバイス２別に送信対象のファイルを設定できる、という効果を得ることができる。
【０１２３】
（第６の実施形態）
第４および第５の実施形態では、転送条件情報によって送信するファイルを自動で制限する方法について説明した。ここで、近距離無線通信におけるファイル転送の方法は、メディア媒体にある全てのファイルを転送する方法の他に、ある期間のみのファイルを転送する方法などいくつかある。本実施形態および以降の実施形態では、差分転送方法について説明する。なお、第１から第５の実施形態では、ファイル送受信装置である通信デバイスを、デバイスと表現していたが、以降についてはファイルの転送方法についての説明のため、ファイルの送信側と受信側が判別し易いように、送信機器または受信機器と表現することがある。
【０１２４】
図２０は、基本的な差分転送方法を示す図である。送信機器には、１回目の送信時にファイル１〜６、２回目の送信時にファイル１〜１０があるものとする。
【０１２５】
差分転送方法として、送信機器と受信機器があり、送信機器は、同じ受信機器と何度も転送処理をする場合、同じファイルを重複転送しないように、ファイルを送信する前に送信履歴の過去の送信内容と比較して、新しく追加されたファイルだけを送信するという、送信側で選別する方法がある。送信機器は、追加分（ファイル７〜１０）だけを選別して受信機器に送信する。
【０１２６】
また、他の差分転送方法として、送信機器と受信機器があり、互いの転送履歴ファイルを交換したあと、受信機器は、過去の受信内容と比較して送信機器側に追加分のファイルがある場合、送信機器に対して受信したいファイルをリクエストして送信機器から送信させるという、受信側で選別する方法がある。受信機器は、受信したいファイルとして追加分（ファイル７〜１０）を選別してリクエストし、送信機器は、リクエストされたファイル７〜１０を受信機器に送信する。
【０１２７】
図２１は、本実施形態の通信デバイス１ｂの構成例を示す図である。ファイル送受信装置である通信デバイス１ｂは、ユーザーＩ／Ｆ部１０と、アプリケーション部１１と、通信方向管理部１２と、転送条件情報管理部１３と、通信制御部１４と、接続相手管理テー
ブル１５と、送信リストテーブル１６と、差分転送制御部１８と、を備える。差分転送制御部１８は、接続する機器毎の転送履歴（送信情報と受信情報）を作成し、転送完了の都度メモリ領域に保存し、次回転送時にそれぞれの転送履歴を比較することで同じデータを重複転送することが無いように制御する。差分転送制御部１８におけるソフトウェア構成としては、図２に示すアプリケーション層でのアプリケーションとなる。
【０１２８】
図２２は、本実施形態の差分転送制御部１８の構成例を示す図である。差分転送制御部１８は、転送履歴保存処理部３０と、転送履歴保存部３１と、転送履歴比較部３２と、パケット保存部３３と、復元処理部３４と、を備える。
【０１２９】
転送履歴保存処理部３０は、通信デバイス１ｂにおいて図示しない記憶部に記憶されているファイル、他のデバイスとの間で送受信したファイルの情報を転送履歴保存部３１に保存する。
【０１３０】
転送履歴保存部３１は、通信デバイス１ｂにおいて図示しない記憶部に記憶されているファイル、他のデバイスとの間で送受信したファイルの情報を転送履歴リストとして保存する記憶部である。
【０１３１】
転送履歴比較部３２は、転送履歴保存部３１に保存された自機器の転送履歴と対向機器から取得した転送履歴との比較を行う。なお、転送履歴保存部３１については、差分転送制御部１８内に配置せずに、通信デバイス１ｂ内にある図示しない記憶部であって、ファイル等を記憶する記憶部内に配置してもよい。
【０１３２】
パケット保存部３３は、他のデバイスからファイルを受信している際に、そのファイルを構成するパケットのうち受信できないパケットがあった場合に、受信成功したパケットを一時的に保存する。
【０１３３】
復元処理部３４は、パケット保存部３３に保存されているパケットと、新たに受信した当該ファイルを構成する残りのパケットを用いて、ファイルを復元する。
【０１３４】
図２３は、デバイスＡを中心としたファイル転送可能な関係を示す図である。ここでは、通信デバイス１ｂとしてデバイスＡ，Ｂ，Ｃ，Ｄの４つのデバイスがあり、デバイスＡは、他のデバイスＢ，Ｃ，Ｄと相互にファイルを送受信可能とする。
【０１３５】
図２４は、デバイスＡにおける転送履歴保存部３１の転送履歴リストの構成例を示す図である。また、図２５は、デバイスＢにおける転送履歴保存部３１の転送履歴リストの構成例を示す図である。転送履歴リストは、送信または受信の区分と、ファイル送受信対象の相手デバイスＩＤと、送信又は受信したファイル名と、そのファイルについての更新日時、ファイルのサイズ、送信が中断した場合の送信成功したパケット情報を示すパケット、送信済み・未送信・送信禁止・受信禁止等の状態を示すステータスの情報を保存する。
【０１３６】
相手デバイスＩＤは、実際にはＭＡＣアドレスのように１６進数で表し、固有のもののため他に同じものは無い。なお、相手デバイスＩＤは、ＴｒａｎｓｆｅｒＪｅｔではＵＩＤと呼ばれる機器を特定できる固有のＩＤ、上位レベルのユーザー識別ＩＤ、ホストデバイスＩＤ（シリアル番号）等としてもよい。
【０１３７】
また、更新日時は、実際にはＵＴＣ（Coordinated  Universal  Time）などの秒数とし、ここでは分かり易く日付で表現している。なお、更新日時として日付情報は、ファイルが作成された日付となっているが、各デバイスが独自な日付で管理する方法もある。例えば、そのデバイスがファイルを作成した日付、コピーした場合はコピーした日付を用いて
もよい。
【０１３８】
また、ステータスにおいて、送信禁止、受信禁止等については、相手デバイスＩＤ等を用いて、ユーザーが意図的に設定できるものとする。ステータスが送信禁止のファイルについては、送信対象とはしないこととする。
【０１３９】
転送履歴リストは、上記では、送信と受信のカテゴリに分け、それぞれで相手デバイスＩＤ毎に今までの転送履歴をリスト化して１つのファイルとしているが、一例であり、これに限定するものではない。例えば、相手デバイスＩＤ毎にファイルを分け、それぞれに送信と受信の今までの転送履歴がリスト化されている場合など、いくつかのパターンがあるものとする。
【０１４０】
各デバイスでは、相手デバイスＩＤにより各デバイスを識別できることから、複数のデバイスを対象として、ファイルの送受信の履歴を保存することができる。
【０１４１】
つづいて、通信デバイス１ｂにおけるファイル転送の動作について説明する。ここでは、最初に説明した図２０の送信機器および受信機器を用いて、送信側で選別する方法について説明する。図２６は、本実施形態のファイル転送処理を示すフローチャートである。具体的に、送信機器と受信機器との間で既にファイルを送受信しており、その後、デジカメで撮影するなどして送信機器にファイルが追加された場合について説明する。
【０１４２】
まず、送信機器では、転送履歴比較部３２が、接続した受信機器のＩＤを取得し（ステップＳ６０１）、あわせて、受信機器の転送履歴を取得する（ステップＳ６０２）。これらの情報は、送信機器と受信機器が接続する際に、受信機器から送信機器に送信されるデータフレームに含まれているものである。なお、送信機器では、受信機器から取得する転送履歴について、全ての転送履歴ではなく、受信機器での自機器からの受信に関する履歴のみを取得してもよい。
【０１４３】
送信機器では、転送履歴比較部３２が、転送履歴保存部３１から自機器の転送履歴を取得する（ステップＳ６０３）。なお、転送履歴比較部３２では、転送履歴として、全ての転送履歴ではなく、受信機器に対応する自機器の送信に関する転送履歴のみを取得してもよい。
【０１４４】
送信機器では、転送履歴比較部３２が、取得した受信機器の転送履歴と、自機器の転送履歴にある受信機器（受信機器ＩＤ）に対応する転送履歴とを比較する（ステップＳ６０４）。
【０１４５】
転送履歴比較部３２は、未送信ファイルがあるので（ステップＳ６０５：Ｙｅｓ）、未送信ステータスのファイルを送信対象ファイルとして送信リストテーブル１６にセットする。転送履歴比較部３２は、未送信対象ファイルとしてファイル７〜１０があるので、ファイル７から順に送信リストテーブル１６にセットする（ステップＳ６０６）。
【０１４６】
そして、通信制御部１４が、送信リストテーブル１６にセットされた未送信ステータスのファイルを受信機器へ送信する（ステップＳ６０７）。
【０１４７】
送信機器では、転送履歴保存処理部３０が、受信機器へ送信成功したファイルについて、該当する転送履歴保存部３１の転送履歴リストのステータス欄を送信済として更新する（ステップＳ６０８）。
【０１４８】
送信機器では、ステップＳ６０４に戻って、未送信ファイルがある場合は、ステップＳ
６０４〜Ｓ６０８までの処理を繰り返し実行する。送信機器は、ファイル７から順に送信し、ファイル１０を送信するまで繰り返し実行する。ファイル１０の送信が完了すると、転送履歴比較部３２は、未送信ファイルがないので（ステップＳ６０５：Ｎｏ）、ファイルの転送処理を終了する。
【０１４９】
送信機器では、転送履歴保存処理部３０は、複数のファイルを連続して転送して最後に転送履歴リストを更新すると、転送途中で機器が電源ＯＦＦするなどして転送が中断した場合、転送履歴リストに正しい情報が残らない。そのため、転送履歴保存処理部３０は、上記のように、１つのファイルが転送成功するたびに転送履歴リストを更新する。
【０１５０】
なお、受信機器でも、ファイル受信後に、該当する転送履歴保存部３１の転送履歴リストのステータス欄を受信済として更新する（ステップＳ６０８）。
【０１５１】
図２７は、送信機器および受信機器との間で送受信される情報を示す図である。送信機器および受信機器は、互いにＩＤおよび自機器の転送履歴リストの情報を送信する。送信機器は、お互いの転送履歴リストを比較して差分のファイル７〜１０だけを転送する。そして、送信機器および受信機器は、それぞれファイル１〜１０を有することになり、それぞれの転送履歴リストを更新することで、差分なしとなる。
【０１５２】
なお、送信側で選別する方法について具体的に説明したが、受信側で選別する動作について簡単に説明する。図２６に示すフローチャートを参考にすると、受信機器が、ステップＳ６０１〜Ｓ６０５に相当する処理を行う。受信機器が、ステップＳ６０６に相当する処理で、未送信のファイルを選別して、送信機器に対して受信したいファイルをリクエストする。送信機器は、ステップＳ６０７で送信ファイルを送信する。そして、ステップＳ６０８において、受信機器および送信機器は、自機器の転送履歴保存部３１の転送履歴リストのステータス欄を更新する。この場合においても、受信機器および送信機器では、送信側で選別する方法と同様の状態とすることができる。
【０１５３】
第１の実施形態等で説明したように、近接無線通信では、転送するトリガーとして、ユーザーによるボタン操作等は必要なく、送信対象のファイルがあれば、相手機器との接続開始時がトリガーとなる。
【０１５４】
また、各デバイス（例えば、デジカメ）では、上記で説明した他のデバイスからの転送処理以外にも、ＰＣ等からファイルコピーで新規にファイルが追加されることもある。そのため、各デバイスは、他のデバイスとの転送処理の開始前に転送履歴リストを更新し、新規追加ファイルを追加することとする。このとき、新規追加ファイルのステータスは未送信となる。
【０１５５】
また、ＰＣ等からファイルコピーで新規にファイルが追加される場合では、過去の古いファイルが追加されることも想定される。この場合でも、過去の古いファイルは、相手デバイスへ送信していないことから、ステータスは未送信となる。そのため、転送履歴比較部３２は、過去の古いファイルについても、未送信ステータスのファイルとして、送信対象ファイルとして送信リストテーブル１６にセットすることができる。
【０１５６】
第６の実施形態によれば、ファイル送受信装置である通信デバイス１ｂでは、送信機器側と受信機器側でお互いの転送履歴の情報を送受信し、送信機器が受信機器に対して未送信のファイルのみを送信する、または、受信機器が未受信のファイルの送信を送信機器へリクエストし、送信機器がリクエストされたファイルを送信することとした。その結果、同じファイルを何度も重複して送信する事態を回避でき、ファイル転送の時間を短縮し、通信効率を向上できる、という効果を得ることができる。
【０１５７】
（第７の実施形態）
第６の実施形態では、転送履歴保存部３１に保存する転送履歴リストとして、図２４，２５に示すように、相手デバイス毎に各ファイル別にステータスを管理している。しかしながら、対象のファイルまたは対象の相手デバイスが増加すると、転送履歴保存部３１の容量が増大する。また、転送履歴比較部３２でもファイルの検索等に対して高い処理能力が必要とされる。転送履歴リストを使用するデバイスでは、搭載しているＣＰＵ（Central  Processing  Unit）などのハード構成の処理能力次第で、転送履歴リストを検索するスピードが左右される。
【０１５８】
そのため、転送履歴リストの管理レベルを複数設ける。第６の実施形態で説明した転送履歴リストを高レベルとし、本実施形態では、第６の実施形態で説明した転送履歴リストよりも管理レベルが低い低レベルの転送履歴リストを使用する場合について説明する。
【０１５９】
高レベルの転送履歴リストは、管理する情報量が多い場合で、転送した全てのファイルのファイル情報（ファイル名、更新日時、ファイルサイズ、パケット、ステータス）として、過去の転送履歴が全てリスト化されて保存され、ファイル転送のたびに膨大なデータになる（図２４，２５参照）。図２８は、低レベルの転送履歴リストの構成例を示す図である。低レベルの転送履歴リストは、管理する情報量が少ない場合で、例えば、最後に転送したファイル情報だけを転送履歴としてリスト化して転送履歴保存部３１に保存することで、膨大なデータにはならない。これにより、機器の処理能力次第で、管理レベルを使い分けることができる。なお、低レベルの転送履歴リストにおける各項目（相手デバイスＩＤ、更新日時等）の記載方法は、第６の実施形態の（高レベルの）転送履歴リストの記載方法と同様である。
【０１６０】
つづいて、低レベルの転送履歴リストを使用する場合の通信デバイス１ｂにおけるファイル転送の動作について説明する。ここでは、最初に説明した図２０の送信機器を用いて説明する。図２９は、本実施形態のファイル転送処理を示すフローチャートである。
【０１６１】
まず、送信機器では、転送履歴比較部３２が、接続した受信機器のＩＤを取得する（ステップＳ７０１）。ＩＤの情報は、送信機器と受信機器が接続する際に、受信機器から送信機器に送信されるデータフレームに含まれているものである。
【０１６２】
送信機器では、転送履歴比較部３２が、転送履歴保存部３１から自機器の転送履歴を取得する（ステップＳ７０２）。なお、転送履歴比較部３２では、転送履歴として、全ての転送履歴ではなく、受信機器に対応する自機器の送信に関する転送履歴のみを取得してもよい。
【０１６３】
送信機器では、転送履歴比較部３２が、送信対象となるファイル群を日付が古い順に並べてファイルリストを作成する（ステップＳ７０３）。
【０１６４】
送信機器では、転送履歴比較部３２が、ファイルリストから未送信ファイルを検索する（ステップＳ７０４）。転送履歴比較部３２は、具体的に、日付が古い順にリスト化されたファイルリストの中から、転送履歴において対応する送信機器に対して最後に転送成功したファイルと同じものを検索する。同じものがある場合、同じファイルの次のファイルからが新しいファイル、すなわち、未送信のファイルとなる。
【０１６５】
図３０は、未送信ファイルを探す処理を示す図である。ファイルリストとして日時の古い順に並べられたファイル１〜１０がある。転送履歴比較部３２は、転送履歴に記載の最後に転送成功したファイルと、ファイル１から順にファイルリストの情報とを比較する。
具体的に、転送履歴比較部３２は、ファイルリストの中に、転送履歴に記載の最後に転送成功したファイルと同じファイルがあるかどうかを検索する。送信装置では、１回目の送信時にファイル６まで転送しているので、ここではファイル６で一致することになる。そのため、転送履歴比較部３２は、ファイル７以降（ファイル７〜１０）が未送信ファイルとなる（ステップＳ７０５：Ｙｅｓ）。なお、一致するファイルがない場合は、送信装置からこの受信装置に対する送信は新規の送信となるので、全てのファイルが未送信のため、全てのファイルを送信対象ファイルとする。
【０１６６】
転送履歴比較部３２は、未送信ファイルがあるので（ステップＳ７０５：Ｙｅｓ）、未送信ファイルを送信対象ファイルとして送信リストテーブル１６にセットする。転送履歴比較部３２は、未送信対象ファイルとしてファイル７〜１０があるので、ファイル７から順に送信リストテーブル１６にセットする（ステップＳ７０６）。
【０１６７】
そして、通信制御部１４が、送信リストテーブル１６にセットされた未送信ステータスのファイルを受信機器へ送信する（ステップＳ７０７）。
【０１６８】
送信機器では、転送履歴保存処理部３０が、ファイルの送信が成功した受信機器について、該当する転送履歴保存部３１の転送履歴リストのファイル名および当該ファイルについての更新日時等の項目を更新する（ステップＳ７０８）。
【０１６９】
第６の実施形態同様、転送履歴保存処理部３０は、複数のファイルを連続して転送する場合は、ステップＳ７０４〜Ｓ７０８までの処理を繰り返し実行する。送信機器は、ファイル７から順に送信し、ファイル１０を送信するまで繰り返し実行する。ファイル１０の送信が完了すると、転送履歴比較部３２は、未送信ファイルがないので（ステップＳ７０５：Ｎｏ）、ファイルの転送処理を終了する。送信機器では、１つのファイルが転送成功するたびに転送履歴リストを更新する。
【０１７０】
第７の実施形態によれば、ファイル送受信装置である通信デバイス１ｂでは、転送履歴として、最後に送信または受信したファイルの情報のみを保存することとした。その結果、第６の実施形態に対して、転送履歴保存部３１の容量を小さくでき、また、転送履歴比較部３２の処理能力を低くできるため、低コストで実現できる、という効果を得ることができる。
【０１７１】
（第８の実施形態）
本実施形態では、低レベルの転送履歴リストの更新方法について、更新が必要な様々な状況での動作について説明する。
【０１７２】
まず、低レベルの転送履歴リストを使用する場合に、初回転送時に全ファイルを転送し、その後ファイル追加されて、２回目の転送を行う場合について説明する。
【０１７３】
図３１は、各デバイスのファイルリストおよび転送履歴リストの遷移を示す図である。各デバイスの構成は、第６の実施形態（図２１，２２参照）と同様である。図３１に示すデバイスＡ，Ｂ，Ｃは、それぞれファイルの送受信が可能であるが、ここでは、デバイスＡを送信機器、デバイスＢを受信機器とする。なお、各デバイスの転送履歴については、本実施形態の説明で必要な項目を抽出したものとする。
【０１７４】
デバイスＡは、転送履歴比較部３２が、最初の送信時に、デバイスＢと接続して相手デバイスＩＤを取得する。デバイスＡでは、転送履歴比較部３２が、転送履歴リストの送信のカテゴリに「相手デバイスＩＤ」がデバイスＢに相当するデバイスはないので、その時点でファイルリストにある全てのファイル（ａ）〜（ｆ）を送信する制御を行う。
【０１７５】
デバイスＡでは、全てのファイル（ａ）〜（ｆ）をデバイスＢに転送成功したので、転送履歴保存処理部３０が、転送履歴保存部３１の転送履歴リストの送信カテゴリに、デバイスＢのＩＤ（Ｂ）と最後に転送成功したファイル（ｆ）の情報を保存する。このとき、転送途中で中断したファイルはないので、受信成功したパケットを示すパケットの欄には０の送信結果を保存する。
【０１７６】
デバイスＢでは、デバイスＡからファイル（ａ）〜（ｆ）を受信したので、転送履歴保存処理部３０が、転送履歴保存部３１の転送履歴リストの受信カテゴリに、デバイスＡのＩＤ（Ａ）と最後に転送成功したファイル（ｆ）の情報を保存する。このとき、転送途中で中断したファイルはないので、パケットの欄には０の受信結果を保存する。
【０１７７】
その後、デバイスＡに新たにファイル（ｇ）〜（ｊ）の４ファイルが追加されたとする。デバイスＡでは、デバイスＢとの２回目の接続では転送履歴リストにＩＤ＝Ｂがあり、転送成功したファイルの情報としてファイル（ｆ）の情報があるので、次のファイル（ｇ）から送信する。デバイスＡは、ファイル（ｊ）まで送信完了すると、デバイスＡおよびデバイスＢの転送履歴リストには、転送成功したファイルの情報としてファイル（ｊ）の情報が保存される。
【０１７８】
つづいて、低レベルの転送履歴リストを使用する場合に、初回転送時に全ファイルを転送中にデバイス間の接続切断により転送中断し、その後再転送を行う場合について説明する。図３１において、デバイスＢを送信機器、デバイスＡを受信機器とする。
【０１７９】
デバイスＢは、転送履歴比較部３２が、最初の送信時に、デバイスＡと接続して相手デバイスＩＤを取得する。デバイスＢでは、転送履歴比較部３２が、転送履歴リストの送信のカテゴリに「相手デバイスＩＤ」がデバイスＡに相当するデバイスはないので、その時点でファイルリストにある全てのファイル（あ）〜（こ）を送信する制御を行う。
【０１８０】
デバイスＢでは、全てのファイル（あ）〜（こ）をデバイスＡに送信を試みるが、ファイル（い）の転送成功直後に中断したので、転送履歴保存処理部３０が、転送履歴保存部３１の転送履歴リストの送信カテゴリに、デバイスＡのＩＤ（Ａ）と最後に転送成功したファイル（い）の情報を保存する。このとき、転送途中で中断したファイルはないので、パケットの欄には０の送信結果を保存する。
【０１８１】
デバイスＡでは、デバイスＢからファイル（あ）〜（い）を受信したので、転送履歴保存処理部３０が、転送履歴保存部３１の転送履歴リストの受信カテゴリに、デバイスＢのＩＤ（Ｂ）と最後に転送成功したファイル（い）の情報を保存する。このとき、転送途中で中断したファイルはないので、パケットの欄には０の受信結果を保存する。
【０１８２】
その後、デバイスＢは、デバイスＡと再接続すると、ファイルの転送を再開する。デバイスＢでは、転送履歴リストにＩＤ＝Ａがあり、転送成功したファイルの情報としてファイル（い）の情報があるので、次のファイル（う）から送信する。デバイスＢは、ファイル（こ）まで送信完了すると、デバイスＢおよびデバイスＡの転送履歴リストには、転送成功したファイルの情報としてファイル（こ）の情報が保存される。
【０１８３】
つづいて、低レベルの転送履歴リストを使用する場合に、初回転送時に全ファイルを転送中にデバイス間の接続切断により転送中断し、その後パケット単位で再転送を行う場合について説明する。図３１において、デバイスＡを送信機器、デバイスＣを受信機器とする。
【０１８４】
デバイスＡは、転送履歴比較部３２が、最初の送信時に、デバイスＣと接続して相手デバイスＩＤを取得する。デバイスＡでは、転送履歴比較部３２が、転送履歴リストの送信のカテゴリに「相手デバイスＩＤ」がデバイスＣに相当するデバイスはないので、その時点でファイルリストにある全てのファイル（ａ）〜（ｊ）を送信する制御を行う。
【０１８５】
デバイスＡでは、全てのファイル（ａ）〜（ｊ）をデバイスＣに送信を試みるが、ファイル（ｆ）の送信途中で中断したので、転送履歴保存処理部３０が、転送履歴保存部３１の転送履歴リストの送信カテゴリに、デバイスＣのＩＤ（Ｃ）と最後に転送成功したファイル（ｅ）の情報を保存する。このとき、転送途中で中断したファイルがあるので、パケットの欄には途中履歴として３０／１００（成功したパケット数／全パケット数）の送信結果を保存する。例えば、１パケット６４ｋＢ単位で転送したものとする。
【０１８６】
デバイスＣでは、デバイスＡからファイル（ａ）〜（ｅ）を受信したので、転送履歴保存処理部３０が、転送履歴保存部３１の転送履歴リストの受信カテゴリに、デバイスＡのＩＤ（Ａ）と最後に転送成功したファイル（ｅ）の情報を保存する。このとき、転送途中で中断したファイルがあるので、パケットの欄には途中履歴として３０／１００の送信結果を保存する。
【０１８７】
その後、デバイスＡは、デバイスＣと再接続すると、ファイルの転送を再開する。デバイスＡでは、転送履歴リストにＩＤ＝Ｃがあり、転送成功したファイルの情報としてファイル（ｅ）の情報、およびパケットの欄には途中履歴として３０／１００の情報があるので、次のファイル（ｆ）の３１番目のパケットから送信する。デバイスＡは、ファイル（ｊ）まで送信完了すると、デバイスＡおよびデバイスＣの転送履歴リストには、転送成功したファイルの情報としてファイル（ｊ）の情報が保存される。
【０１８８】
図３２は、転送途中で中断されたファイル（ｊ）の構成例を示す図である。デバイスＡでは、ファイル（ｆ）のサイズが１００パケットとすると、中断時点までにパケット１〜３０を送信成功しているので、送信再開後はパケット３１から送信を開始し、パケット３１〜１００を送信する。
【０１８９】
デバイスＣでは、具体的に、差分転送制御部１８において、中断途中までに受信成功しているパケット１〜３０をパケット保存部３３に保存しておき、復元処理部３４が、パケット保存部３３に保存されているパケット１〜３０と送信再開後のパケット３１〜１００を合成することでパケット（ｆ）を復元する。
【０１９０】
つづいて、送信機器または受信機器のデバイスでは、ファイル転送の転送履歴を更新完了する前に電源ＯＦＦされると、送信機器側と受信機器側において転送履歴が一致しないことになる。ここでは、送信機器と受信機器で転送履歴が一致しない場合に、一方の転送履歴を更新して転送履歴を一致させるリカバリの方法について説明する。図３１において、デバイスＢを送信機器、デバイスＣを受信機器とする。
【０１９１】
デバイスＢは、転送履歴比較部３２が、最初の送信時に、デバイスＣと接続して相手デバイスＩＤを取得する。デバイスＢでは、転送履歴比較部３２が、転送履歴リストの送信のカテゴリに「相手デバイスＩＤ」がデバイスＣに相当するデバイスはないので、その時点でファイルリストにある全てのファイル（あ）〜（こ）を送信する制御を行う。このとき、デバイスＢでは、転送履歴保存処理部３０が、ファイルを１つ１つ送信するたびに、送信成功したファイル情報を、転送履歴保存部３１の転送履歴ファイルに更新していく。
【０１９２】
デバイスＣでは、デバイスＢからファイル（あ）〜（こ）を受信すると、転送履歴保存処理部３０が、転送履歴保存部３１の転送履歴リストの受信カテゴリに、デバイスＢのＩ
Ｄ（Ｂ）と最後に転送成功したファイルの情報を保存する。このとき、デバイスＣでは、転送履歴保存処理部３０が、ファイルを１つ１つ受信するたびに、受信成功したファイル情報を、転送履歴保存部３１の転送履歴ファイルに更新していく。
【０１９３】
デバイスＢは、最後のファイル（こ）を送信成功すると、転送履歴リストには、デバイスＣの履歴としてファイル（こ）が送信されたことが記録される。ここで、デバイスＣ側では、最後のファイル（こ）を受信後、転送履歴ファイルを更新中（完了前）にデバイスの電源をＯＦＦされたとする。この場合、デバイスＣでは、転送履歴リストにおいて、デバイスＢからの受信記録には、最後のファイル（こ）ではなく、その前のファイル（け）が記録されることになる。そのため、デバイスＢ，Ｃでは、お互いの転送履歴が一致しないことになる。
【０１９４】
このような場合、デバイスＢおよびデバイスＣは、再度接続し、お互いに転送履歴を交換したときに、転送履歴が一致していないことを認識する。デバイスＣは、デバイスＢから取得した転送履歴の情報に基づいて、ファイル（こ）があるか検索する。該当するファイルが発見できた場合、デバイスＣは、既にファイル（こ）を受信していたものとみなして、転送履歴において最後に受信したファイルをファイル（け）からファイル（こ）に更新する。これにより、どちらの転送履歴も一致することになる。
【０１９５】
第８の実施形態によれば、ファイル送受信装置である通信デバイス１ｂでは、低レベルの転送履歴を使用する場合に、初回のファイル送受信時に転送履歴リストに対向機器についての項目が追加されるが、以降、既にファイルを送受信している対向機器との２回目以降のファイル送受信時では、ファイルの送受信に対して転送履歴リストに保存する情報量は増大せず、該当する対向機器との履歴のみを更新することで対応可能とした。その結果、低レベルの転送履歴を使用する場合では、新たに送受信されたファイルの詳細な情報を保存する必要がないため、転送途中に中断が生じた場合、また、相手側と転送履歴が一致しない場合のようなイレギュラーな事態が発生しても、簡易な処理で更新できる、という効果を得ることができる。
【０１９６】
（第９の実施形態）
第６から第８の実施形態までは、第１から第３の実施形態に対応した図２１に示す通信デバイス１ｂについて説明したが、転送履歴を利用する方法については、第４および第５の実施形態で説明したリムーバブルデバイスの通信デバイスについても対応可能である。
【０１９７】
図３３は、本実施形態の通信デバイス１ｃおよびホストデバイス２の構成例を示す図である。通信デバイス１ｃは、アプリケーション部１１と、通信方向管理部１２と、転送条件情報管理部１３と、通信制御部１４と、接続相手管理テーブル１５と、送信リストテーブル１６と、ホストデバイスＩ／Ｆ部１７と、差分転送制御部１８ａと、を備える。
【０１９８】
図３４は、本実施形態の差分転送制御部１８ａの構成例を示す図である。差分転送制御部１８ａは、転送履歴保存処理部３０と、転送履歴保存部３１と、転送履歴比較部３２と、パケット保存部３３と、復元処理部３４と、レジスタ部３５と、レジスタ管理部３６と、を備える。レジスタ部３５は、通信デバイス１ｃおよびホストデバイス２の双方で利用可能なレジスタである。レジスタ管理部３６は、レジスタ部３５に対して、リード、ライトの処理を行う。
【０１９９】
図３５は、通信デバイス１ｂの構成を簡易化した図である。図３５は、以降で説明する図３６，３７との比較を容易にするため、図２１に示す構成を、通信部分と、転送履歴リストが保存されているメモリと、その他の構成をシステムとして表している。図３５において、通信部分とは、図２１における通信方向管理部１２〜送信リストテーブル１６であ
り、メモリとは、転送履歴保存部３１であり、システムとは、ユーザＩ／Ｆ部１０〜アプリケーション部１１、転送履歴保存処理部３０、転送履歴比較部３２〜復元処理部３４である。図３５では、１つのデバイスでファイル送受信装置を構成しており、ホストデバイスとして機能する。
【０２００】
図３６および図３７は、通信デバイス１ｃおよびホストデバイス２の構成を簡略化した図である。図３６および図３７は、図３３に示す通信デバイス１ｃおよびホストデバイス２の構成を簡易化した図である。図３６において、通信部分とは、図３３における通信方向管理部１２〜送信リストテーブル１６であり、ホストデバイス２のメモリとは、転送履歴保存部３１であり、通信デバイス１ｃ側のメモリとは、転送履歴保存部３１であり、ホストデバイス２のシステムとは、図３３におけるユーザーＩ／Ｆ部１０、機器情報管理部２０、通信デバイスＩ／Ｆ部２１であり、通信デバイス１ｃ側のシステムとは、アプリケーション部１１、ホストデバイスＩ／Ｆ部１７、転送履歴保存処理部３０、転送履歴比較部３２〜レジスタ管理部３６である。
【０２０１】
なお、図３７では、ホストデバイス２のメモリに転送履歴保存部３１を含んでいない点が異なる。すなわち、図３６は、ホストデバイス２側にあるメモリ内と、通信デバイス１ｃのメモリ内の両方に、転送履歴リストが保存されている場合を示す。また、図３７は、通信デバイス１ｃのメモリのみに、転送履歴リストが保存されている場合を示す。
【０２０２】
図３５および図３７に示すように、転送履歴リストが、通信デバイス１ｂのみ、またはリムーバブルデバイスである通信デバイス１ｃのみにある場合は、転送履歴リストに差分が生じることはない。これに対して、図３６に示すように、転送履歴リストが、ホストデバイス２および通信デバイス１ｃの双方にあり、通信デバイス１ｃがホストデバイス２に挿入されている場合は、２つの転送履歴リストの間で差分が生じるおそれがある。そのため、通信デバイス１ｃおよびホストデバイス２では、双方のシステムを通じて、転送履歴リストを同期させることとする。このとき、各転送履歴リストに差分がある場合は、プライオリティが高い方に同期させることとする。
【０２０３】
通信デバイス１ｃおよびホストデバイス２で転送履歴リストを同期させる方法としては、例えば、差分転送制御部１８ａの転送履歴保存処理部３０または転送履歴比較部３２が、ホストデバイスＩ／Ｆ部１７、通信デバイスＩ／Ｆ部２１経由でホストデバイス２側の転送履歴リストの情報を取得し、転送履歴保存部３１の転送履歴リストの内容と比較して、転送履歴保存部３１の転送履歴リストの内容を変更する、またはホストデバイス２に対して、転送履歴リストの内容の変更を通知する、という方法があるが、これに限定するものではない。
【０２０４】
第９の実施形態によれば、リムーバブルデバイスである通信デバイス１ｃとホストデバイス２が接続し、双方に転送履歴リストの情報が保存されている場合には、通信デバイス１ｃとホストデバイス２との間で転送履歴リストの同期をとることとした。その結果、通信デバイス１ｃとホストデバイス２との間で転送履歴リストの差分をなくすことができ、他の通信デバイスとの間でファイルを送受信する場合でも、通信デバイス１ｂと同様に、転送履歴リストに基づいてファイルを管理できる、という効果を得ることができる。
【０２０５】
（第１０の実施形態）
本実施形態では、第９の実施形態と同様、通信デバイス１ｃがホストデバイス２と接続する場合において、通信デバイス１ｃ内のレジスタ情報を、通信デバイス１ｃおよびホストデバイス２の各ソフトウェアが別々に利用する場合について説明する。
【０２０６】
図３８は、通信デバイス１ｃおよびホストデバイス２のレジスタの利用状態を示す図で
ある。ホストデバイス２（例えば、デジカメなど）、メディア媒体である通信デバイス１ｃでは、通信デバイス１ｃのメディア媒体にはレジスタ（レジスタ部３５）と、そのレジスタ情報を利用するソフトウェアＹがあり、また、ホストデバイス２にも、そのレジスタ（レジスタ部３５）の情報を利用する別のソフトウェアＸがあるものとする。
【０２０７】
上記レジスタ（レジスタ部３５）の一部には、転送中のファイルのファイルサイズ情報と、転送中のファイルの転送済み分のファイルサイズ情報を記憶できる領域が用意されているものとする。図３９は、レジスタマップの構成例を示す図である。図３９において、「Ｆｉｌｅ  Ｓｉｚｅ」、「Ｔｒａｎｓｆｅｒｒｅｄ  Ｆｉｌｅ  Ｓｉｚｅ」の部分が、図３８に示すレジスタマップの「ファイルサイズ」および「転送済み分のファイルサイズ」に相当する。
【０２０８】
通信デバイス１ｃのソフトウェアＹでは、ファイルを送受信すると、レジスタに転送中のファイルのファイルサイズ情報と、転送済み分のファイルサイズを記憶させる。送受信完了するまでこの処理が定期的に何度も発生し、ファイルサイズが大きい場合にはこの回数は多くなる。具体的には、差分転送制御部１８ａにおいて、レジスタ管理部３６が、レジスタ部３５（レジスタ）の「ファイルサイズ」および「転送済み分のファイルサイズ」を更新する。
【０２０９】
ホストデバイス２では、送受信発生中にレジスタ情報を取得することにより、転送中ファイルのファイルサイズに対してどれくらい送受信できたのかを判定できることになる。ホストデバイス２では、ＧＵＩ表示することなどにより、転送の進捗度をユーザーに知らせることができる。
【０２１０】
すなわち、ホストデバイス２側のソフトウェアＸでは、別のソフトウェア（この場合、通信デバイス１ｃ内にあるソフトウェアＹ）の転送中のファイルの進捗状況を直接取得することはできないが、通信デバイス１ｃ内にあるレジスタ情報から、転送中のファイルの進捗状況を取得することが可能となる。
【０２１１】
第１０の実施形態によれば、通信デバイス１ｃがレジスタを備えており、通信デバイス１ｃおよびホストデバイス２において各ソフトウェアがともにレジスタを利用する場合に、通信デバイス１ｃ側でレジスタの「ファイルサイズ」および「転送済み分のファイルサイズ」を更新することとした。その結果、ホストデバイス２側では、通信デバイス１ｃ内にあるレジスタ情報を参照することで、通信デバイス１ｃがファイル転送中の進捗状況を取得することが可能となる、という効果を得ることができる。
【０２１２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２１３】
１，１ａ，１ｂ，１ｃ  通信デバイス、２  ホストデバイス、１０  ユーザＩ／Ｆ部、１１  アプリケーション部、１２  通信方向管理部、１３  転送条件情報管理部、１４  通信制御部、１５  接続相手管理テーブル、１６  送信リストテーブル、１７  ホストデバイスＩ／Ｆ部、１８，１８ａ  差分転送制御部、２０  機器情報管理部、２１  通信デバイスＩ／Ｆ部、３０  転送履歴保存処理部、３１  転送履歴保存部、３２  転送履歴比較部、３３  パケット保存部、３４  復元処理部、３５  レジスタ部、３６  レジスタ管
理部。
【図１】
2015177267.tif 000003
【図２】
2015177267.tif 000004
【図３】
2015177267.tif 000005
【図４】
2015177267.tif 000006
【図５】
2015177267.tif 000007
【図６】
2015177267.tif 000008
【図７】
2015177267.tif 000009
【図８】
2015177267.tif 000010
【図９】
2015177267.tif 000011
【図１０】
2015177267.tif 000012
【図１１】
2015177267.tif 000013
【図１２】
2015177267.tif 000014
【図１３】
2015177267.tif 000015
【図１４】
2015177267.tif 000016
【図１５】
2015177267.tif 000017
【図１６】
2015177267.tif 000018
【図１７】
2015177267.tif 000019
【図１８】
2015177267.tif 000020
【図１９】
2015177267.tif 000021
【図２０】
2015177267.tif 000022
【図２１】
2015177267.tif 000023
【図２２】
2015177267.tif 000024
【図２３】
2015177267.tif 000025
【図２４】
2015177267.tif 000026
【図２５】
2015177267.tif 000027
【図２６】
2015177267.tif 000028
【図２７】
2015177267.tif 000029
【図２８】
2015177267.tif 000030
【図２９】
2015177267.tif 000031
【図３０】
2015177267.tif 000032
【図３１】
2015177267.tif 000033
【図３２】
2015177267.tif 000034
【図３３】
2015177267.tif 000035
【図３４】
2015177267.tif 000036
【図３５】
2015177267.tif 000037
【図３６】
2015177267.tif 000038
【図３７】
2015177267.tif 000039
【図３８】
2015177267.tif 000040
【図３９】
2015177267.tif 000041