(57)【特許請求の範囲】
【請求項１】
外部デバイスと近接されることで前記外部デバイスとピアツーピア形式により無線通信を実行する無線通信デバイスを有する電子機器であって、
表示を制御する表示手段と、
ユーザ操作に応じた入力を制御する入力手段と、
前記入力に基づいて、複数のファイルを含むグループを選択する選択手段と、
前記無線通信デバイスによる前記外部デバイスとの無線通信の開始後、前記外部デバイスからファイルの論理的な記録場所を示すデータを取得せずに、前記選択手段により選択されたグループに対応する識別情報を、プッシュプロトコルを用いて前記外部デバイスに送信する第１の送信手段と、
前記識別情報を送信した後、前記グループに含まれる複数のファイルのそれぞれを、前記プッシュプロトコルを用いて前記外部デバイスへ送信する第２の送信手段と
を有する電子機器。
【請求項２】
前記選択手段は、前記入力に基づいて、複数のグループを選択し、
前記第１の送信手段は、複数のグループのそれぞれについて前記識別情報を送信し、
前記第２の送信手段は、前記第１の送信手段により前記識別情報が送信される毎に、送信された識別情報に対応するグループに含まれる複数のファイルを送信する請求項１記載の電子機器。
【請求項３】
前記識別情報は、前記複数のファイルを格納するフォルダのフォルダ名とする請求項１記載または請求項２記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、近接無線通信を実行する電子機器に関する。
【背景技術】
【０００２】
近年、近接無線通信を利用して電子機器間でファイルの送受信が行われている。特許文献１に記載された通信システムでは、サーバ装置（例えばＤＶＤレコーダやハードディスクレコーダ）から携帯端末に向けて近距離通信によりコンテンツのデータを転送する。通信システムでは、サーバ装置と携帯端末との距離が所定以下の場合に通信が可能となり、通信可能範囲を外れると通信が不可能な状態になる。したがって、例えばサーバ装置の位置が固定されている場合には、ユーザが携帯端末を手で持ち、携帯端末をサーバ装置に所定以上近づけることにより近距離通信が可能な状態にし、また携帯端末をサーバ装置から遠ざけると近距離通信ができない状態にすることができる。
【０００３】
そこで、特許文献１に記載された通信システムでは、ユーザが、携帯端末をサーバ装置の通信領域内に存在させ続けることにより継続して複数のファイルを受信させ、携帯端末をサーバ装置の通信領域外に出すことによりファイルの受信を中断させることにより、煩わしい操作なしで、簡単に、必要な数のファイル（コンテンツのデータなど）だけをサーバ装置から携帯端末に取り込むことができるようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−０２７６６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された通信システムでは、ユーザがサーバ装置と携帯端末との距離を変える操作をすることによって、ファイルの受信と中断とを制御して、必要な数のファイルだけをサーバ装置から携帯端末に送信することができる。
【０００６】
しかしながら、従来技術においては、複数のファイルをサーバ装置から携帯端末に対して送信する場合、単に連続してファイルを送信して携帯端末において記憶させているに過ぎない。
【０００７】
従って、例えば複数のファイルによって１つの意味あるデータ、例えば複数のファイルから構成される動画コンテンツなどを送信する場合に、単純に複数のファイルを送信してしまうと、受信側の端末において複数のファイルの関連が不明となり意味をなさなくなってしまう。
【０００８】
また、複数のファイルを送信する前に、複数のファイルを関連付けるための操作をユーザがすることも可能であるが、近距離無線通信を利用することによる高速性や簡易性が失われてしまう。
【０００９】
本発明は上述の事情を考慮してなされたものであり、近距離無線通信を利用したデータ通信の高速性を損なうことなく、関連のある複数のファイルを簡単に送信することが可能な電子機器を提供することを目的とする。
【課題を解決するための手段】
【００１０】
実施形態によれば電子機器は、外部デバイスと近接されることで前記外部デバイスとピアツーピア形式により無線通信を実行する無線通信デバイスを有する電子機器であって、表示を制御する表示手段と、ユーザ操作に応じた入力を制御する入力手段と、前記入力に基づいて、複数のファイルを含むグループを選択する選択手段と、前記無線通信デバイスによる前記外部デバイスとの無線通信の開始後、前記外部デバイスからファイルの論理的な記録場所を示すデータを取得せずに、前記選択手段により選択されたグループに対応する識別情報を、プッシュプロトコルを用いて前記外部デバイスに送信する第１の送信手段と、前記識別情報を送信した後、前記グループに含まれる複数のファイルのそれぞれを、前記プッシュプロトコルを用いて前記外部デバイスへ送信する第２の送信手段とを有する。
【発明の効果】
【００１１】
本発明によれば、近距離無線通信を利用したデータ通信の高速性を損なうことなく、関連のある複数のファイルを簡単に送信することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る電子機器の外観構成を示す図。
【図２】本実施形態における電子機器の機能構成を示すブロック図。
【図３】本実施形態における近接無線通信を制御するためのソフトウェアアーキテクチャを示す図。
【図４】本実施形態におけるCONNECT OperationのCONNECT Requestにおいて使用されるField及びHeaderを示す図。
【図５】本実施形態におけるCONNECT OperationのCONNECT Responseにおいて使用されるField及びHeaderを示。
【図６】本実施形態におけるDISCONNECT OperationのDISCONNECT Requestで使用されるField及びHeaderを示す図。
【図７】本実施形態におけるDISCONNECT OperationのDISCONNECT Responseで使用されるField及びHeaderを示す図。
【図８】本実施形態におけるPUT OperationのPUT Requestで使用するField及びHeaderを示す図。
【図９】本実施形態におけるPUT OperationのPUT Responseで使用するField及びHeaderを示す図。
【図１０】本実施形態におけるGET OperationのGET Requestで使用するField及びHeaderを示す図。
【図１１】本実施形態におけるGET OperationのGET Responseで使用するField及びHeaderを示す図。
【図１２】本実施形態におけるABORT OperationのABORT Requestで使用するField及びHeaderを示す図。
【図１３】本実施形態におけるABORT OperationのABORT Responseで使用するField及びHeaderを示す図。
【図１４】本実施形態におけるSETPATH OperationのSETPATH Requestで使用するField及びHeaderを示す図。
【図１５】本実施形態におけるSETPATH OperationのSETPATH Responseで使用するField及びHeaderを示す図。
【図１６】本実施形態における近距離無線通信によりデータ通信を行うクライアントとサーバのそれぞれにおいて、プッシュプロトコルクラスで使用されるオペレーションを示す図。
【図１７】本実施形態におけるプッシュプロトコルクラスで使用されるHeader IDを示す図。
【図１８】本実施形態におけるプッシュプロトコルクラスによりサービスを提供する手続きを示す図。
【図１９】本実施形態におけるプッシュプロトコルクラスの「Connect」手続きを示す図。
【図２０】本実施形態におけるプッシュプロトコルクラスの「Get Capabilities」手続きを示す図。
【図２１】本実施形態におけるプッシュプロトコルクラスの「Set Path」手続きを示す図。
【図２２】本実施形態におけるプッシュプロトコルクラスの「Push Object」手続きを示す図。
【図２３】本実施形態におけるプッシュプロトコルクラスの「Get Default Object」手続きを示す図。
【図２４】本実施形態におけるプッシュプロトコルクラスの「Disconnect」手続きを示す図。
【図２５】本実施形態における近距離無線通信によりデータ通信を行うクライアントとサーバのそれぞれにおいて、ファイルトランスファープロトコルクラスで使用されるオペレーションを示す図。
【図２６】本実施形態におけるファイルトランスファープロトコルクラスで使用されるHeader IDを示す図。
【図２７】本実施形態におけるファイルトランスファープロトコルクラスによりサービスを提供する手続きを示す図。
【図２８】本実施形態におけるファイルトランスファープロトコルクラスの「Connect」手続きを示す図。
【図２９】本実施形態におけるファイルトランスファープロトコルクラスの「Get Folder Listing」手続きを示す図。
【図３０】本実施形態におけるファイルトランスファープロトコルクラスの「Set Path」手続きを示す図。
【図３１】本実施形態におけるファイルトランスファープロトコルクラスの「Put Object」手続きを示す図。
【図３２】本実施形態におけるファイルトランスファープロトコルクラスの「Get Object」手続きを示す図。
【図３３】本実施形態におけるファイルトランスファープロトコルクラスの「Disconnect」手続きを示す図。
【図３４】本実施形態におけるファイルの送受信を行うクライアントとサーバとの間で実行されるシーケンスを示す図。
【図３５】本実施形態におけるアプリケーション／ＯＢＥＸサーバの動作を示すフローチャート。
【図３６】本実施形態におけるデジタルカメラからパーソナルコンピュータに対して複数のファイルを送信した場合のファイルのグループ化を示す図。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施形態について説明する。  
図１は、本発明の実施形態に係る電子機器の外観構成を示す図である。図１に示す電子機器は、例えばノートブック型のパーソナルコンピュータ１０、デジタルカメラ２５として実現されている。なお、本実施形態における電子機器としては、例えばデジタルビデオカメラ、携帯電話機、ＰＤＡ（personal digital assistant）、オーディオ／ビデオプレーヤ、カーナビゲーション装置、テレビ、ビデオレコーダ等として実現される。すなわち、本実施形態における電子機器は、プログラムを実行するプロセッサが搭載された機器であれば良い。
【００１４】
本実施形態における電子機器（パーソナルコンピュータ１０、デジタルカメラ２５）には近接無線通信機能が搭載されており、他の電子機器と近接されることによりデータ通信を実行することができる。本実施形態では、近距離無線通信によるファイル転送において、送信側の通信コマンドが特定のフォルダ指定コマンドであった場合、受信側はそれ以降に送信される送信コマンドにより添付されてくるファイルに特定の識別するための属性情報を生成し、送信側からのファイル送信コマンドを受信した場合、先に生成した属性情報と共にファイルを格納する。
【００１５】
図１において、パーソナルコンピュータ１０のディスプレイユニットを開いた状態を示している。パーソナルコンピュータ１０は、コンピュータ本体１１と、ディスプレイユニット１２とから構成されている。ディスプレイユニット１２には、ＬＣＤ（Liquid Crystal Display）１７から構成される表示装置が組み込まれている。
【００１６】
ディスプレイユニット１２は、コンピュータ本体１１に対し、コンピュータ本体１１の上面が露出される開放位置とコンピュータ本体１１の上面を覆う閉塞位置との間を回動自在に取り付けられている。コンピュータ本体１１は薄い箱形の筐体を有しており、その上面にはキーボード１３、パワーオン／パワーオフするためのパワーボタン１４、入力操作パネル１５、タッチパッド１６、およびスピーカ１８Ａ，１８Ｂなどが配置されている。
【００１７】
入力操作パネル１５は、押されたボタンに対応するイベントを入力する入力装置であり、複数の機能をそれぞれ起動するための複数のボタンを備えている。
【００１８】
さらに、コンピュータ本体１１の上面部には、近接無線通信用アンテナ２１が配設されている。パーソナルコンピュータ１０には、他の電子機器と近接させた状態で無線通信を行う近接無線通信機能が搭載されており、近接無線通信用アンテナ２１を通じて他の電子機器とデータ通信を実行する。
【００１９】
一方、図１に示すデジタルカメラ２５は、パーソナルコンピュータ１０と近接させた状態で無線通信を行う近接無線通信機能が搭載されている。デジタルカメラ２５には、例えば裏面側筐体に操作ボタン２７、ディスプレイ２８の他に、近接無線通信用アンテナ２６が配設されている。
【００２０】
パーソナルコンピュータ１０とデジタルカメラ２５は、ユーザによってデジタルカメラ２５の近接無線通信用アンテナ２６がパーソナルコンピュータ１０の近接無線通信用アンテナ２１に近接させるという操作（タッチ操作とも云う）が行われると、近接無線通信機能によってデータ通信を開始することができる。
【００２１】
図２は、本実施形態における電子機器の機能構成を示すブロック図である。図２に示す電子機器は、例えばパーソナルコンピュータ１０であり、システム制御部１０１、ＲＯＭ１０２、ＲＡＭ１０３、近接無線通信デバイス１０４、電源制御部１０５、ＡＣアダプタ１０６、バッテリ１０７、入力部１０８、表示部１０９、及び記録部１１０を有している。
【００２２】
システム制御部１０１は、電子機器１０内の各部の動作を制御する。システム制御部１０１は、ＣＰＵ１０１ａを備え、ＲＯＭ１０２、ＲＡＭ１０３、近接無線通信デバイス１０４、電源制御部１０５、入力部１０８、表示部１０９、及び記録部１１０と接続される。
【００２３】
ＣＰＵ１０１ａは、ＲＯＭ１０２に格納された命令群およびデータをＲＡＭ１０３へロードし、必要な処理を実行するプロセッサである。ＲＡＭ１０３には、各種のユーザアプリケーションプログラム１０３ａや近接無線通信を制御するための近接無線通信制御プログラム１０３ｂがロードされる。ＣＰＵ１０１ａは、ＲＡＭ１０３にロードされた近接無線通信制御プログラム１０３ｂを実行することにより、外部デバイスとのファイル伝送を行うファイル伝送モジュールとして機能し、近接無線通信デバイス１０４を制御する。
【００２４】
近接無線通信デバイス１０４は、近接無線通信を実行する通信モジュールである。近接無線通信デバイス１０４は、近接無線通信デバイス１０４から所定の距離内に存在する、近接無線通信機能を有する他のデバイス（外部デバイス）との無線接続を確立し、そしてファイルのようなデータの伝送を開始する。近接無線通信デバイス１０４と外部デバイスとの間の近接無線通信は、ピアツーピア形式で実行される。通信可能距離は例えば３ｃｍである。近接無線通信デバイス１０４と外部デバイスとの間の無線接続は、近接無線通信デバイス１０４と外部デバイスとが近接状態である場合、つまり近接無線通信デバイス１０４と外部デバイスとの間の距離が通信可能距離（例えば３ｃｍ）以内に接近した場合にのみ可能となる。近接無線通信デバイス１０４と外部デバイスとが通信可能距離以内に接近した時、近接無線通信デバイス１０４と外部デバイスとの間の無線接続が確立される。そして、例えば、ユーザによって明示的に指定されたデータファイル、または予め決められた同期対象データファイル等のデータの伝送が近接無線通信デバイス１０４と外部デバイスとの間で実行される。
【００２５】
近接無線通信においては、誘導電界が用いられる。近接無線通信方式としては、例えばTransferJetを使用し得る。TransferJetは、超広帯域無線（ＵＷＢ（Ultra Wideband）を利用した近接無線通信方式であり、高速データ転送を実現することができる。
【００２６】
近接無線通信デバイス１０４はアンテナ１０４ｂ（近接無線通信用アンテナ２１）に接続されている。アンテナ１０４ｂはカプラと称される電極であり、誘導電界を用いた無線信号により、外部デバイスに対するデータの送受信を行う。外部デバイスがアンテナ１０４ｂから通信可能距離（例えば３ｃｍ）以内の範囲内に接近した場合、近接無線通信デバイス１０４および外部デバイスそれぞれのアンテナ（カプラ）間が誘導電界によって結合され、これによって近接無線通信デバイス１０４と外部デバイスとの間の無線通信が実行可能となる。なお、近接無線通信デバイス１０４およびアンテナ１０４ｂは、一つのモジュールとして実現し得る。
【００２７】
電源制御部１０５は、ＡＣアダプタ１０６を介して外部から供給される電力、またはバッテリ１０７から供給される電力を用いて、電子機器１０内の各部に電力を供給する。換言すれば、電子機器１０は、ＡＣ商用電源のような外部電源、またはバッテリ１０７によって駆動される。ＡＣアダプタ１０６は電子機器１０内に設けることも出来る。
【００２８】
入力部１０８は、キーボード１３やタッチパッド１６、その他のボタンなど入力デバイスからの入力を制御する。
【００２９】
表示部１０９は、ＬＣＤ１７における表示を制御する。
【００３０】
記録部１１０は、ハードディスクやフラッシュメモリなどの記録メディアによりデータを記録する。記録部１１０には、アプリケーションプログラムの実行により各種のファイルが記録される。記録部１１０に記録されたファイルは、他の電子機器との近接無線通信による送受信の対象となる。記録部１１０では、例えば論理的に構成されたフォルダに分類されてファイルが記録される。
【００３１】
なお、デジタルカメラ２５等の他の電子機器においても、図２に示すブロック図と同等のモジュールを有し、近接無線通信制御プログラム１０３ｂをＣＰＵ１０１ａによって実行することによって近接無線通信（外部デバイスとのファイル伝送を行うファイル伝送モジュールとして機能）を実現するものとして詳細な説明を省略する。
【００３２】
次に、図３を参照して、本実施形態における近接無線通信を制御するためのソフトウェアアーキテクチャ（ファイル伝送モジュール）について説明する。  
図３に示すソフトウェアアーキテクチャは、近接無線通信を制御するためのプロトコルスタックの階層構造を示している。プロトコルスタックは、物理層（ＰＨＹ２２４）、コネクション層（ＣＮＬ２２３）、プロトコル変換層（ＰＣＬ（Protocol Conversion Layer） ＯＢＥＸ（object Exchange）アダプタ２２０、ＰＣＬコントローラ２２１）、アプリケーション層（アプリケーション２０１，２０２、ＯＢＥＸプロトコル２０３、アプリケーションマネージャ２０４）から構成されている。例えば、コネクション層（ＣＮＬ）、プロトコル変換層（ＰＣＬ）、アプリケーション層は、通信制御プログラム１０３ｂによって実現し得る。
【００３３】
物理層（ＰＨＹ２２４）は、物理的なデータ転送を制御する層であり、ＯＳＩ参照モデル内の物理層に対応する。物理層（ＰＨＹ２２４）の一部の機能または全ての機能は、近接無線通信デバイス１０４内のハードウェアを用いて実現することもできる。
【００３４】
物理層（ＰＨＹ２２４）は、コネクション層（ＣＮＬ２２３）からのデータを無線信号に変換する。コネクション層（ＣＮＬ２２３）は、ＯＳＩ参照モデル内のデータリンク層およびトランスポート層に対応しており、物理層（ＰＨＹ２２４）を制御してデータ通信を実行する。コネクション層（ＣＮＬ２２３）は、プロトコル変換層（ＰＣＬ ＯＢＥＸ アダプタ２２０）から接続要求、または外部デバイスからの接続要求に応じて、近接状態に設定されている近接無線通信デバイス１０４と外部デバイスとの間の接続（ＣＮＬ接続）を確立する処理を実行する。
【００３５】
プロトコル変換層（ＰＣＬ ＯＢＥＸアダプタ２２０）は、ＯＳＩ参照モデル内のセッション層およびプレゼンテーション層に対応しており、アプリケーション層と、電子機器間の接続の確立および解除を制御するためのコネクション層（ＣＮＬ２２３）との間に位置する。プロトコル変換層（ＰＣＬ ＯＢＥＸアダプタ２２０）は、アプリケーション層内の各アプリケーション（通信プログラム）の制御とコネクション層（ＣＮＬ２２３）の制御を行う。
【００３６】
より具体的には、プロトコル変換層（ＰＣＬ ＯＢＥＸアダプタ２２０）は、アプリケーション層の各通信プログラムが扱うアプリケーションプロトコル（例えば、ＯＢＥＸプロトコル２０３、ＳＣＳＩ、他の汎用プロトコル等）に対応したデータ（ユーザデータ）を特定の伝送用データ形式に変換するための変換処理を実行する。この変換処理により、どの通信プログラムによって送受信されるデータも、コネクション層（ＣＮＬ２２３）が扱うことが可能なパケット（特定の伝送用データ形式のデータ）に変換される。このプロトコル変換層（ＰＣＬ ＯＢＥＸアダプタ２２０）は、様々なアプリケーションプロトコルを近接無線通信で利用することを可能にする。
【００３７】
また、プロトコル変換層（ＰＣＬ）は、通信相手のデバイスとの間でサービス情報（各デバイスが提供可能なサービスを示す情報）およびセッション情報（確立／切断対象のセッションに関する情報）を交換する処理、さらに、アプリケーションの起動、コネクションの管理、およびセッションの管理等を行う。
【００３８】
ユーザアプリケーション層は、ＯＢＥＸプロトコル２０３、ＳＣＳＩ、他の汎用プロトコル等の幾つかのアプリケーションプロトコルにそれぞれ対応した複数の通信プログラムを含んでいる。本実施形態においては、図３に示すＯＢＥＸプロトコル２０３によりデータを送受信する場合について説明する。
【００３９】
ＯＢＥＸプロトコル２０３は、アプリケーションマネージャ２０４で制御されるＰＣＬコントローラ２２１により、ＣＮＬ接続確立を行い、ＰＣＬ ＯＢＥＸアダプタ２２０を通して通信を行う。ＯＢＥＸプロトコル２０３では、ＯＢＥＸアプリケーションが相互にデータの送受信を実行可能とするためのアプリケーション規定（以下、プロトコルクラスと称する）が定義されている。各アプリケーション２０１，２０２は、プロトコルクラスに従ったＯＢＥＸプロトコル手順を利用することで、データファイル等のオブジェクトの送受信を行うことができる。本実施形態におけるＯＢＥＸプロトコル２０３では、基本プロトコルクラスとして、ファイルトランスファープロトコルクラス２０６とプッシュプロトコルクラス２１２とが定義されている。
【００４０】
プッシュプロトコルクラス２１２は、クライアントからサーバへ１つまたは複数のファイルを送信するために使用される。プッシュプロトコルクラス２１２では、クライアント（例えばデジタルカメラ２５）が任意のファイルをＰＵＴして、サーバ（例えばパーソナルコンピュータ１０）に渡すための手続き（機能）が定義されている。プッシュプロトコルクラス２１２では、近接無線通信（TransferJet）によってファイルを送信する前に必要な手続きを簡略化して、ユーザによる操作負担を軽減すると共に、高速なデータ通信を実現することができる。プッシュプロトコルクラス２１２におけるＩＮＢＯＸサービス２１４は、既知の「IrDA Object Exchange Protocol Version 1.4」の仕様書に記載のＩＮＢＯＸサービス（INBOX Service)をベースにした手続きを実行するものとして詳細な説明を省略する。キャパビリティサービス２１６は、サーバ側の能力を示すデータを取得するために使用される。
【００４１】
また、ファイルトランスファープロトコルクラス２０６は、クライアントとサーバとの間で１つまたは複数のファイルの送信／受信を行うために使用される。ファイルトランスファープロトコルクラス２０６は、ＦＴＰ（File Transfer Protocol）相当のファイル転送およびファイル・フォルダ操作をサポートするための手続きが定義されている。
【００４２】
ファイルトランスファープロトコルクラス２０６では、プッシュプロトコルクラス２１２を利用したファイルの転送とは異なり、ファイルを送信する前にファイルの送信先（サーバ）のフォルダ及びファイルを示すデータ（フォルダ情報）を、フォルダブラウジングサービス２１０によりサーバから取得する。そして、フォルダ情報に基づいてファイルの送信先に対してフォルダの移動（作成）を行って、ファイルを送信することができる。ファイルトランスファープロトコルクラス２０６は、既知の「IrDA Object Exchange Protocol Version 1.4」に記載のフォルダブラウジングサービス（Folder Browsing Service)をベースにした手続きであり、サーバに対して、SETPATHオペレーションにより、操作対象フォルダを指定する、また、操作対象フォルダ内に含まれるファイル及びフォルダ情報をFolder Listing Objectという形式でサーバから取得し、操作する対象ファイルまたはフォルダを指定することを可能とする。フォルダブラウジングサービス２１０は、既知資料に準拠した動作のため詳細な説明を省略する。
【００４３】
なお、ファイルトランスファープロトコルクラス２０６は、図３に示すように、プッシュプロトコルクラス２１２を包含する関係にあり、ファイルトランスファープロトコルクラス２０６を利用したファイルの送信時においても、ＩＮＢＯＸサービス２１４及びキャパビリティサービス２１６を使用することが可能である。
【００４４】
図３におけるアプリケーション２０１，２０２は、ＯＢＥＸプロトコル２０３に対応している。各アプリケーション２０１，２０２は、ＯＢＥＸプロトコル２０３を通じて、プロトコル変換層（ＰＣＬ）に対してセッションの開始／終了を要求する処理、およびプロトコル変換層（ＰＣＬ）を介してデータを送受信する処理を実行する。
【００４５】
アプリケーション２０１は、ＯＢＥＸプロトコル２０３のプッシュプロトコル２１２を利用して、１つまたは複数のファイルをサーバに転送する。アプリケーション２０２は、ＯＢＥＸプロトコル２０３を利用して、１つまたは複数のファイルをサーバとの間で送信／受信する。
【００４６】
以下、ＯＢＥＸプロトコル２０３の詳細について説明する。ここでは、ＰＣＬ ＯＢＥＸアダプタ２２０を介した通信におけるＯＢＥＸオブジェクト及びプロトコルについて説明する。
【００４７】
（１）ＯＢＥＸオブジェクト
ＯＢＥＸプロトコル２０３において取り扱うオブジェクト（データ）は、「IrDA Object Exchange Protocol Version 1.4」の仕様書内で定義される「ＯＢＥＸ Object Model」に準拠するものとする。ここでは、「IrDA Object Exchange Protocol Version 1.4」で定義されるオブジェクト形式の内、以下の３つのオブジェクト（ａ）（ｂ）（ｃ）を扱うものとする。
【００４８】
（ａ）「Folder Listing Object」
「Folder Listing Object」は、フォルダブラウジングサービス２１０の実行時に、サーバ側フォルダ及びファイルの詳細を得るために使用される。基本形式は「IrDA Object Exchange Protocol Version 1.4」に準拠する。
【００４９】
（ｂ）「Generic File Object」
「Generic File Object」は、汎用的なファイルオブジェクト交換を行うために使用される。基本形式は「IrDA Object Exchange Protocol Version 1.4」に準拠する。このオブジェクトに付随するTYPEヘッダには、メディアの種類により「IrDA Object Exchange Protocol Version 1.4」 に準拠した値を指定する。
【００５０】
（ｃ）「Capability Object」
「Capability Object」は、サーバ側能力を取得するために使用される。基本形式は「IrDA Object Exchange Protocol Version 1.4」に準拠する。
【００５１】
（２）プロトコル
ＯＢＥＸプロトコル２０３は、「ＰＣＬ ＯＢＥＸ Adapter Specification」で定義されるControl primitiveを用いて、ＰＣＬセッションを確立し、そのセッション上をＰＣＬ ＯＢＥＸ Service Primitiveを用いて、「IrDA Object Exchange Protocol Version 1.4」で定義されるＯＢＥＸオペレーションを行う。
【００５２】
ＯＢＥＸ Application プロトコルクラスにおいては、以下に説明する範囲のオペレーション（ａ）（ｂ）（ｃ）（ｄ）（ｅ）（ｆ）を用いて通信を行う。なお、ファイルトランスファープロトコルクラス２０６とプッシュプロトコルクラス２１２のそれぞれにおいて使用するオペレーション（コマンド）については後述する（図１６、図２５）。
【００５３】
（ａ）CONNECT Operation  
図４は、CONNECT OperationのCONNECT Requestにおいて使用されるField及びHeaderを示している。また、図５は、CONNECT OperationのCONNECT Responseにおいて使用されるField及びHeaderを示している。図４及び図５に示すHeaderについては、後述するファイルトランスファープロトコルクラス２０６とプッシュプロトコルクラス２１２で定義される記述に従うものとする。
【００５４】
（ｂ）DISCONNECT Operation  
図６は、DISCONNECT OperationのDISCONNECT Requestで使用されるField及びHeaderを示している。図７は、DISCONNECT OperationのDISCONNECT Responseで使用されるField及びHeaderを示している。図６及び図７に示すHeaderについては、後述するファイルトランスファープロトコルクラス２０６とプッシュプロトコルクラス２１２で定義される記述に従うものとする。
【００５５】
（ｃ）PUT Operation  
図８は、PUT OperationのPUT Requestで使用するField及びHeaderを示している。図９は、PUT OperationのPUT Responseで使用するField及びHeaderを示している。図８及び図９に示すHeaderについては、後述するファイルトランスファープロトコルクラス２０６とプッシュプロトコルクラス２１２で定義される記述に従うものとする。
【００５６】
（ｄ）GET Operation  
図１０は、GET OperationのGET Requestで使用するField及びHeaderを示している。図１１は、GET OperationのGET Responseで使用するField及びHeaderを示している。図１０及び図１１に示すHeaderについては、後述するファイルトランスファープロトコルクラス２０６とプッシュプロトコルクラス２１２で定義される記述に従うものとする。
【００５７】
（ｅ）ABORT Operation  
図１２は、ABORT OperationのABORT Requestで使用するField及びHeaderを示している。図１３は、ABORT OperationのABORT Responseで使用するField及びHeaderを示している。図１２及び図１３に示すHeaderについては、後述するファイルトランスファープロトコルクラス２０６とプッシュプロトコルクラス２１２で定義される記述に従うものとする。
【００５８】
（ｆ）SETPATH Operation  
図１４は、SETPATH OperationのSETPATH Requestで使用するField及びHeaderを示している。図１５は、SETPATH OperationのSETPATH Responseで使用するField及びHeaderを示している。図１４及び図１５に示すHeaderについては、後述するファイルトランスファープロトコルクラス２０６とプッシュプロトコルクラス２１２で定義される記述に従うものとする。
【００５９】
次に、プッシュプロトコルクラス２１２の詳細について説明する。  
プッシュプロトコルクラス２１２は、クライアントからサーバへ１つまたは複数のファイルを送信するために、例えばアプリケーション２０１により使用される。プッシュプロトコルクラス２１２により送信されるオブジェクトの形式（Contents Format）は、「Generic File Object」により定義される。
【００６０】
図１６には、近距離無線通信によりデータ通信を行うクライアントとサーバのそれぞれにおいて、プッシュプロトコルクラス２１２で使用されるオペレーションを示し、また図１７にはプッシュプロトコルクラス２１２で使用されるHeader IDを示している。
【００６１】
図１８は、プッシュプロトコルクラス２１２によりサービスを提供する手続きを示している。また、図１９〜図２４には、図１８に示す各手続きにおけるシーケンス例を示している。  
クライアントにおいて、プッシュプロトコルクラス２１２は、例えばアプリケーション２０１によりファイルの送信要求があった場合に、ユーザによるタッチ操作に応じて、ＣＮＬ２２３及びＰＣＬ ＯＢＥＸアダプタ２２０を通じて近距離無線通信が可能な状態となると、図１９に示すCONNECTオペレーションによる「Connect」手続きにより、サーバのアプリケーションとの接続を行う。プッシュプロトコルクラス２１２は、サーバのアプリケーションと接続されると、ファイルの送信に先立ち、図２０に示すGETオペレーションによる「Get Capabilities」手続きによりサーバ能力の取得を行う。なお、「Get Capabilities」手続きは、任意に実行されるものとする。
【００６２】
次に、プッシュプロトコルクラス２１２は、送信しようとするファイル（オブジェクト）を識別するためのデータをサーバに送信するために、図２１に示すSETPATHオペレーションによる「Set Path」手続きを行う。SETPATHオペレーションでは、ファイル（オブジェクト）を識別するためのデータとして、例えば図２１に示すように、ヘッダデータとして「フォルダネーム」をサーバに通知する。なお、本実施形態においては、SETPATHオペレーションは、サーバに対してフォルダ作成を強制するものではないものとする。
【００６３】
プッシュプロトコルクラス２１２は、SETPATHオペレーションの後、サーバに通知した「フォルダネーム」に対応する共通グループ（フォルダ）のファイルを、図２２に示すPUTオペレーションによる「Push Object」手続きにより送信する。ここで、共通グループに複数のファイルが存在する場合には、各ファイルに対するPUTオペレーション（ファイル送信）を繰り返して実行する。
【００６４】
また、複数のグループ（フォルダ）が送信対象として選択されている場合には、各グループのそれぞれに対して、「Set Path」手続きと「Push Object」手続きを繰り返して実行する。
【００６５】
また、プッシュプロトコルクラス２１２は、必要に応じて、図２３に示すGETオペレーションにより「Get Default Object」手続きを実行する。プッシュプロトコルクラス２１２は、GETオペレーションのタイプヘッダにより、取得要求の対象とするデータ（オブジェクト）を指定する。これにより、サーバは、指定されたタイプヘッダに応じて適切なオブジェクトを決定して、クライアントに対して送信する。例えば、サーバ側が提供するイメージデータ（例えば、サーバにおいて画面キャプチャされたイメージデータ）を受信することができる。
【００６６】
プッシュプロトコルクラス２１２は、ファイル（オブジェクト）の送信が完了すると、図２４に示すDISCONNECTオペレーションにより「Disconnect」手続きを実行する。
【００６７】
本実施形態におけるプッシュプロトコルクラス２１２では、クライアントからサーバに対して、複数のファイルを送信する場合において、ユーザが煩わしい操作をすることなく、「Set Path」と「Push Object」の手続きにより複数のファイルをサーバに送信して、サーバにおいて複数のファイルをグループ化させることができる。なお、複数のファイルをクライアントからサーバに送信する具体的な動作については後述する（図３４、図３５、図３６）。
【００６８】
次に、ファイルトランスファープロトコルクラス２０６の詳細について説明する。  
ファイルトランスファープロトコルクラス２０６は、クライアントとサーバへとの間において、１つまたは複数のファイルを送信/受信を行うために、例えばアプリケーション２０２により使用される。ファイルトランスファープロトコルクラス２０６により送信されるオブジェクトの形式（Contents Format）は、「Generic File Object」により定義される。
【００６９】
図２５には、近距離無線通信によりデータ通信を行うクライアントとサーバのそれぞれにおいて、ファイルトランスファープロトコルクラス２０６で使用されるオペレーションを示し、また図２６にはファイルトランスファープロトコルクラス２０６で使用されるHeader IDを示している。
【００７０】
図２７は、ファイルトランスファープロトコルクラス２０６によりサービスを提供する手続きを示している。また、図２８〜図３３には、図２７に示す各手続きにおけるシーケンス例を示している。  
クライアントにおいて、ファイルトランスファープロトコルクラス２０６は、例えばアプリケーション２０２によりファイルの送信要求があった場合に、ユーザによるタッチ操作に応じて、ＣＮＬ２２３及びＰＣＬ ＯＢＥＸアダプタ２２０を通じて近距離無線通信が可能な状態となると、図２８に示すCONNECTオペレーションによる「Connect」手続きにより、サーバのアプリケーションとの接続を行う。ファイルトランスファープロトコルクラス２０６は、サーバと接続されると、ファイルの送信に先立ち、図２９に示すGETオペレーションによる「Get Folder Listing」手続きにより、サーバにおけるファイルの送信先のフォルダ及びファイルを示すデータ（フォルダ情報）を取得する。
【００７１】
次に、ファイルトランスファープロトコルクラス２０６は、フォルダの移動（作成）を行うために、図３０に示すSETPATHオペレーションによる「Set Path」手続きを行う。SETPATHオペレーションでは、「Get Folder Listing」手続きにより取得したフォルダ情報に基づき、例えば図３０に示すように、ヘッダデータとして「フォルダネーム」をサーバに通知する。ファイルトランスファープロトコルクラス２０６によるSETPATHオペレーションでは、プッシュプロトコルクラス２１２とは異なり、フォルダブラウジングサービス２１０に準拠した動作を行う。
【００７２】
すなわち、プッシュプロトコルクラス２１２では、クライアントからの一方向の送信処理行うことに対して、ファイルトランスファープロトコルクラス２０６では、任意のフォルダに対してファイルを送信可能な反面、サーバから情報を取得しつつ、ファイル送信を行うため、処理が煩雑になり、高速なファイル転送には不向きである。
【００７３】
ファイルトランスファープロトコルクラス２０６は、SETPATHオペレーションの後、図３１に示す、PUTオペレーションによる「Put Object」手続きにより送信する（または削除）。ここで、送信対象とする複数のファイルが存在する場合には、各ファイルに対するPUTオペレーション（ファイル送信）を繰り返して実行する。
【００７４】
また、ファイルトランスファープロトコルクラス２０６は、必要に応じて、図３２に示すGETオペレーションにより「Get Object」手続きを実行する。ファイルトランスファープロトコルクラス２０６は、GETオペレーションのタイプヘッダにより、取得要求の対象とするデータ（オブジェクト）のファイルネームを指定する。
【００７５】
ファイルトランスファープロトコルクラス２０６は、ファイル（オブジェクト）の送信が完了すると、図３３に示すDISCONNECTオペレーションにより「Disconnect」手続きを実行する。
【００７６】
次に、本実施形態における電子機器のファイル送信の動作について説明する。ここでは、アプリケーション２０１がプッシュプロトコルクラス２１２を用いて複数のファイルをサーバに送信する具体的な動作について説明する。
【００７７】
図３４は、ファイルの送受信を行うクライアントとサーバとの間で実行されるシーケンスを示す図である。ここでは、例えば、ファイルを送信するクライアントをデジタルカメラ２５、ファイルを受信するサーバをパーソナルコンピュータ１０として説明する。デジタルカメラ２５においては、例えば動画の撮影が行われて、動画タイトルが記録されているものとする。この動画タイトルは、例えば複数のファイルから構成されている。従って、この動画タイトルをパーソナルコンピュータ１０に送信する場合に、動画タイトルに含まれる複数のファイルを関連付ける必要がある。
【００７８】
本実施形態におけるＯＢＥＸプロトコル２０３のプッシュプロトコルクラス２１２は、デジタルカメラ２５からパーソナルコンピュータ１０に送信する複数のファイルをグループ化するための特別な手続きを事前に行うことなく、図１８に示す手続きによって複数のファイルをグループ化する。
【００７９】
図３４において、アプリケーション／ＯＢＥＸクライアント３００は、デジタルカメラ２５におけるアプリケーション２０１及びＯＢＥＸプロトコル２０３に相当し、ＰＣＬ−ＣＴＬ３０１は、ＰＣＬコントローラ２２１に相当し、ＰＣＬ−ＯＢＥＸ３０２は、ＰＣＬ ＯＢＥＸアダプタ２２０に相当するものとする。同様に、アプリケーション／ＯＢＥＸサーバ４００は、パーソナルコンピュータ１０におけるアプリケーション２０１及びＯＢＥＸプロトコル２０３に相当し、ＰＣＬ−ＣＴＬ４０１は、ＰＣＬコントローラ２２１に相当し、ＰＣＬ−ＯＢＥＸ４０２は、ＰＣＬ ＯＢＥＸアダプタ２２０に相当するものとする。
【００８０】
まず、デジタルカメラ２５では、アプリケーションによる処理によって、パーソナルコンピュータ１０への送信対象とするファイルの選択と送信要求がユーザ操作に応じて実行される（Ｓ１）。例えば、デジタルカメラ２５に記録された複数の動画タイトルから、パーソナルコンピュータ１０への送信対象とするファイルがユーザ操作によって選択されたものとする。ここでは、動画ファイルが記録されたフォルダの選択、あるいは複数のファイルから構成された動画タイトルが指定されることにより、複数のファイルが送信対象として選択されたものとする。なお、ここでは動画ファイルを例にしているが、その他のファイル（オブジェクト）が送信対象として選択されても良い。
【００８１】
アプリケーション／ＯＢＥＸクライアント３００は、ＰＣＬ−ＣＴＬ３０１（ＰＣＬコントローラ２２１）に対して、プッシュプロトコルクラス２１２によるファイルの送信を要求する（Ｓ２）。
【００８２】
ここで、デジタルカメラ２５は、ファイルの送信先とする電子機器（パーソナルコンピュータ１０）と近接無線通信が可能となるまで接続待機状態となる。また、パーソナルコンピュータ１０においても、近接無線通信による接続待機状態にあるものとする。
【００８３】
ここで、ユーザによって、デジタルカメラ２５をパーソナルコンピュータ１０に近接させるタッチ操作が行われたものとする（Ｓ３）。すなわち、デジタルカメラ２５の近接無線通信用アンテナ２６とパーソナルコンピュータ１０の近接無線通信用アンテナ２１との距離が近接無線通信が可能となるまで近接されたものとする（例えば３ｃｍ程度）。
【００８４】
近接無線通信が可能な状態になると、デジタルカメラ２５のＰＣＬ−ＣＴＬ３０１とパーソナルコンピュータ１０のＰＣＬ−ＣＴＬ４０１との間で、物理的な接続の確立と、アプリケーションのプロトコルに対応したＰＣＬアダプタ（通信アダプタ）の種類の調整を行う（Ｓ４）。
【００８５】
すなわち、デジタルカメラ２５のＰＣＬ−ＣＴＬ３０１（ＰＣＬコントローラ２２１）は、ＣＮＬ２２３を用いて、近接状態にあるパーソナルコンピュータ１０（近接無線通信デバイス１０４）との間の（物理的な）接続を確立する処理を実行する。同様にして、パーソナルコンピュータ１０のＰＣＬ−ＣＴＬ４０１もデジタルカメラ２５との間の（物理的な）接続を確立する処理を実行する。
【００８６】
また、ＰＣＬ−ＣＴＬ３０１（ＰＣＬコントローラ２２１）は、ネゴシエーション処理を実行して、確立すべきセッションに関するセッション情報、例えば、使用される通信アダプタを示す情報、アプリケーションが伝送するデータの種類を示す情報、およびアプリケーションを識別する情報等を含むセッション情報をＰＣＬ−ＣＴＬ４０１に送信する。ＰＣＬ−ＣＴＬ４０１（ＰＣＬコントローラ２２１）は、ＰＣＬ−ＣＴＬ３０１からのセッション情報に基づいて、新規セッション開始要求を送信したアプリケーション２０１のプロトコルに対応した通信アダプタ、ここではＰＣＬ ＯＢＥＸアダプタ２２０を起動して、アプリケーション２０１が近接無線通信デバイス１０４を介して外部デバイスのアプリケーションと通信するために使用されるセッションを確立する。さらに、ＰＣＬ−ＣＴＬ４０１は、アプリケーションを識別する情報に応じて、デジタルカメラ２５のアプリケーション２０１と同一のＯＢＥＸプロトコル２０３に対応したアプリケーションを起動する。
【００８７】
パーソナルコンピュータ１０のＰＣＬ−ＣＴＬ４０１は、セッションが確立されると、アプリケーション／ＯＢＥＸサーバ４００に対してプッシュプロトコルクラス２１２によるファイルの送信を要求する（Ｓ５）。また、ＰＣＬ−ＣＴＬ４０１は、ＰＣＬ−ＯＢＥＸ４０２（ＰＣＬ ＯＢＥＸアダプタ２２０）に対して、ＯＢＥＸプロトコル２０３による通信開始を要求する（Ｓ６）。同様に、デジタルカメラ２５においても、また、ＰＣＬ−ＣＴＬ３０１は、ＰＣＬ−ＯＢＥＸ３０２（ＰＣＬ ＯＢＥＸアダプタ２２０）に対して、ＯＢＥＸプロトコル２０３による通信開始を要求する（Ｓ７）。
【００８８】
アプリケーション／ＯＢＥＸクライアント３００とアプリケーション／ＯＢＥＸサーバ４００（プッシュプロトコルクラス２１２）は、ＰＣＬ−ＯＢＥＸ３０２，４０２を介して、図１９に示すCONNECTオペレーションによる「Connect」手続きを実行する（Ｓ８〜Ｓ１１）。
【００８９】
以下、アプリケーション／ＯＢＥＸクライアント３００とアプリケーション／ＯＢＥＸサーバ４００は、図１８に示すプッシュプロトコルクラス２１２によるサービスを提供する手続きに従って動作する。
【００９０】
すなわち、アプリケーション／ＯＢＥＸクライアント３００は、アプリケーション／ＯＢＥＸサーバ４００から、図２０に示すGETオペレーションによる「Get Capabilities」手続きによりサーバ能力の取得を行う（Ｓ１２）。
【００９１】
その後、アプリケーション／ＯＢＥＸクライアント３００（プッシュプロトコルクラス２１２）は、送信しようとするファイルを識別するためのデータをサーバに送信するために、図２１に示すSETPATHオペレーションによる「Set Path」手続きを行う（Ｓ１３）。SETPATHオペレーションでは、ファイル（オブジェクト）を識別するためのデータとして、例えば図２１に示すように、ヘッダデータとして「フォルダネーム」をサーバに通知する。アプリケーション／ＯＢＥＸサーバ４００（プッシュプロトコルクラス２１２）は、SETPATHオペレーションに対して、常にSUCCESSオペレーションにより応答する。
【００９２】
アプリケーション／ＯＢＥＸクライアント３００は、SETPATHオペレーションの後、アプリケーション／ＯＢＥＸサーバ４００に通知した「フォルダネーム」に対応する共通グループ（フォルダ）のファイルを、図２２に示す、PUTオペレーションによる「Push Object」手続きにより送信する（Ｓ１４）。ここで、共通グループに複数のファイルが存在する場合には、各ファイルに対するPUTオペレーション（ファイル送信）を繰り返して実行する（Ｓ１５）。また、複数のグループについてファイルを送信する場合など、必要に応じて、SETPATHオペレーションとPUTオペレーション（ファイル送信）を繰り返して実行する。
【００９３】
サーバ側のアプリケーション／ＯＢＥＸサーバ４００は、アプリケーション／ＯＢＥＸクライアント３００から送信された複数のファイルをグループ化して格納する。以下、サーバ側におけるクライアントから受信した複数のファイルをグループ化して格納する手順について説明する。
【００９４】
図３５は、アプリケーション／ＯＢＥＸサーバ４００の動作を示すフローチャートである。  
アプリケーション／ＯＢＥＸサーバ４００は、クライアント（アプリケーション／ＯＢＥＸクライアント３００）からSETPATHオペレーション（フォルダ指定コマンド）により、送信対象とするファイルに対応するフォルダネームが受信されると（ステップＡ１，Ａ２）、SETPATHオペレーションの後のPUTオペレーション（ファイル送信コマンド）により送信されてくるファイルを識別するための属性情報を、SETPATHオペレーションにより受信したフォルダネームに基づいて生成する（ステップＡ３）。
【００９５】
アプリケーション／ＯＢＥＸサーバ４００は、PUTオペレーション（ファイル送信コマンド）によりファイルが受信されると（ステップＡ４、Ｙｅｓ）、ステップＡ３において生成した現在の属性情報と共に、送付されてきたファイルを格納する（ステップＡ５）。その後、共通グループに複数のファイルが存在する場合には、アプリケーション／ＯＢＥＸサーバ４００は、PUTオペレーション（ファイル送信コマンド）によってクライアントから送信される複数のファイルをそれぞれ受信して、共通する属性情報と共に格納する（ステップＡ４，Ａ５）。
【００９６】
さらに、別グループに含まれる複数のファイルがクライアントから送信される場合には、アプリケーション／ＯＢＥＸサーバ４００は、新たにSETPATHオペレーション（フォルダ指定コマンド）により別グループのファイルを識別するための「フォルダネーム」を受信し、前述と同様にして属性情報を生成する（ステップＡ２，Ａ３）。そして、属性情報と共に、その後、PUTオペレーション（ファイル送信コマンド）により送信されてきたファイルとを格納する。
【００９７】
なお、アプリケーション／ＯＢＥＸサーバ４００は、その他のコマンド（例えば、図１８、図２３に示すGETオペレーションによる「Get Default Object」手続き）が受信された場合には、そのコマンドに応じた処理を実行する（ステップＡ６）。
【００９８】
図３６は、デジタルカメラ２５からパーソナルコンピュータ１０に対して複数のファイルを送信した場合のファイルのグループ化を示す図である。
【００９９】
例えば、デジタルカメラ２５では、フォルダＡ，Ｂ，Ｃ（あるいは動画タイトルなど）が送信対象としてユーザにより選択されたものとする。フォルダＡには、図３６に示すように、複数のファイルＡ１，Ａ２，…，Ａｋが含まれている。同様にして、フォルダＢには、複数のファイルＢ１，Ｂ２，…，Ｂｍが含まれ、フォルダＣには、複数のファイルＣ１，Ｃ２，…，Ｃｎが含まれている。
【０１００】
デジタルカメラ２５からプッシュプロトコルクラス２１２による手続きによりファイルが送信される場合、SETPATHオペレーション（フォルダ指定コマンド）によりフォルダＡに対応するフォルダネームをサーバに通知する。
【０１０１】
パーソナルコンピュータ１０では、アプリケーション／ＯＢＥＸサーバ４００は、フォルダＡに対応するフォルダネームに基づいて、例えば属性情報「ＩＤＡ」を生成し、この属性情報「ＩＤＡ」と共に、PUTオペレーション（ファイル送信コマンド）により送信されてきたファイルＡ１，Ａ２，…，Ａｋを格納する。これにより、パーソナルコンピュータ１０では、属性情報「ＩＤＡ」により複数のファイルＡ１，Ａ２，…，Ａｋをグループ化して、関連するファイルとして意味づけて管理することができる。
【０１０２】
同様にして、パーソナルコンピュータ１０では、属性情報「ＩＤＢ」により複数のファイルＢ１，Ｂ２，…，Ｂｍをグループ化した格納し、属性情報「ＩＤＣ」により複数のファイルＣ１，Ｃ２，…，Ｃｎをグループ化して格納することができる。
【０１０３】
こうして、デジタルカメラ２５からパーソナルコンピュータ１０へのファイルの送信が完了すると、アプリケーション／ＯＢＥＸクライアント３００とアプリケーション／ＯＢＥＸサーバ４００（プッシュプロトコルクラス２１２）は、ＰＣＬ−ＯＢＥＸ３０２，４０２を介して、図２４に示すDISCONNECTオペレーションによる「Disconnect」手続きを実行する（Ｓ１６〜Ｓ２０）。
【０１０４】
また、ＰＣＬ−ＣＴＬ３０１は、ＰＣＬ−ＯＢＥＸ３０２（ＰＣＬ ＯＢＥＸアダプタ２２０）に対して、ＯＢＥＸプロトコル２０３による通信終了を要求する（Ｓ２１）。同様に、パーソナルコンピュータ１０においても、また、ＰＣＬ−ＣＴＬ４０１は、ＰＣＬ−ＯＢＥＸ４０２（ＰＣＬ ＯＢＥＸアダプタ２２０）に対して、ＯＢＥＸプロトコル２０３による通信終了を要求する（Ｓ２２）。
【０１０５】
そして、デジタルカメラ２５のＰＣＬ−ＣＴＬ３０１とパーソナルコンピュータ１０のＰＣＬ−ＣＴＬ４０１との間で、アプリケーションのプロトコルに対応したＰＣＬアダプタ（通信アダプタ）を停止させ、近距離無線通信を切断する（Ｓ２３）。
【０１０６】
このようにして、クライアント（デジタルカメラ２５）からサーバ（パーソナルコンピュータ１０）に対して複数のファイルを送信する場合に、ＯＢＥＸプロトコル２０３のプッシュプロトコルクラス２１２による手続きを実行することで、ユーザによる複数のファイルを関連付ける操作やファイルの送信先（サーバ）に対するファイルの格納先の指定、あるいはファイルの構成が記録されたリストを予め作成するといったことを行うことなく、サーバにおいて複数のファイルをグループ化して格納させることができる。すなわち、複数のファイルを関連付けるための煩雑なユーザ操作をすることなく、機器間を近接させるタッチ操作だけで高速な近距離無線通信による複数のファイルの転送を実現することができる。また、サーバ（パーソナルコンピュータ１０）では、各ファイルと共に記録された属性情報を参照することにより、共通グループに属する複数のファイルを識別することができ、例えば１つの意味あるデータ（例えば動画コンテンツ）として処理することが可能となる。
【０１０７】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【０１０８】
また、前述した実施の形態において記載した処理は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリなどの記録媒体に書き込んで各種装置に提供することができる。また、通信媒体により伝送して各種装置に提供することも可能である。コンピュータは、記録媒体に記録されたプログラムを読み込み、または通信媒体を介してプログラムを受信し、このプログラムによって動作が制御されることにより、上述した処理を実行する。
【符号の説明】
【０１０９】
１０…パーソナルコンピュータ、２５…デジタルカメラ、２１，２６…近接無線通信用アンテナ、１０１ａ…ＣＰＵ、１０４…近接無線通信デバイス、２０１，２０２…アプリケーション、２０３…ＯＢＥＸプロトコル、２０４…アプリケーションマネージャ、２０６…ファイルトランスファープロトコルクラス、２１０…フォルダブラウジングサービス、２１４…ＩＮＢＯＸサービス、２１６…キャパビリティサービス、２２０…ＰＣＬ ＯＢＥＸアダプタ、２２１…ＰＣＬコントローラ、２２３…ＣＮＬ、２２４…ＰＨＹ。
【図１】
0005433801.tif 000002
【図２】
0005433801.tif 000003
【図３】
0005433801.tif 000004
【図４】
0005433801.tif 000005
【図５】
0005433801.tif 000006
【図６】
0005433801.tif 000007
【図７】
0005433801.tif 000008
【図８】
0005433801.tif 000009
【図９】
0005433801.tif 000010
【図１０】
0005433801.tif 000011
【図１１】
0005433801.tif 000012
【図１２】
0005433801.tif 000013
【図１３】
0005433801.tif 000014
【図１４】
0005433801.tif 000015
【図１５】
0005433801.tif 000016
【図１６】
0005433801.tif 000017
【図１７】
0005433801.tif 000018
【図１８】
0005433801.tif 000019
【図１９】
0005433801.tif 000020
【図２０】
0005433801.tif 000021
【図２１】
0005433801.tif 000022
【図２２】
0005433801.tif 000023
【図２３】
0005433801.tif 000024
【図２４】
0005433801.tif 000025
【図２５】
0005433801.tif 000026
【図２６】
0005433801.tif 000027
【図２７】
0005433801.tif 000028
【図２８】
0005433801.tif 000029
【図２９】
0005433801.tif 000030
【図３０】
0005433801.tif 000031
【図３１】
0005433801.tif 000032
【図３２】
0005433801.tif 000033
【図３３】
0005433801.tif 000034
【図３４】
0005433801.tif 000035
【図３５】
0005433801.tif 000036
【図３６】
0005433801.tif 000037