(57)【要約】【課題】  通信装置から相手方装置との通信セッションの切断ができない場合、１台の相手方装置に通信装置の通信に関する資源を占有されてしまうという課題があった。【解決手段】  通信装置は、通信セッションを確立している第１の装置から、通信セッションを維持すべき状態を示す信号を受信し、第１の装置との間で通信セッションを確立中に第１の装置から信号を所定期間受信していない間に、第２の装置から通信セッションの確立要求を受信した場合、第１の装置との通信セッションを切断する。【選択図】  図４
2013123212.tif 000002
【特許請求の範囲】
【請求項１】
通信セッションを確立している第１の装置から、前記通信セッションを維持すべき状態を示す信号を受信する受信手段と、
前記第１の装置との間で前記通信セッションを確立中に、前記第１の装置から前記信号を所定期間受信していない間に、第２の装置から通信セッションの確立要求を受信した場合、前記第１の装置との通信セッションを切断する制御手段と、
を有することを特徴とする通信装置。
【請求項２】
前記制御手段は、前記第１の装置から前記信号が受信されてから前記所定期間が経過する前に前記第２装置からの前記要求を受信した場合、前記第１の装置との通信セッションを維持する、ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制御手段は、前記第１の装置から前記信号が受信されてから前記所定期間が経過する前に前記第２装置からの前記要求を受信した場合、前記第２の装置との通信セッションは確立しない、ことを特徴とする請求項１又は請求項２に記載の通信装置。
【請求項４】
前記第１の装置との間で前記通信セッションを確立中に前記第１の装置から前記信号を所定期間受信していない間に、第２の装置から通信セッションの確立要求を受信した場合、前記第２の装置との通信に使われる通信プロトコルに応じて、前記制御手段は、前記第１の装置との通信セッションを切断する、ことを特徴とする請求項１に記載の通信装置。
【請求項５】
前記第１の装置との間で前記通信セッションを確立中に前記第１の装置から前記信号を所定期間受信していない間に、第２の装置から通信セッションの確立要求を受信した場合、前記第２の装置との間の所定の処理に用いられるデータの確定状況に応じて、前記制御手段は、前記第１の装置との通信セッションを切断する、ことを特徴とする請求項１に記載の通信装置。
【請求項６】
前記制御手段が確立中の前記通信セッションを切断する場合、前記第１の装置へその切断の理由を通知する通知手段をさらに有する、
ことを特徴とする請求項１から５のいずれか１項に記載の通信装置。
【請求項７】
前記通知手段は、前記切断の理由に加えて、前記通信セッションの再接続のための情報を、前記第１の装置へ通知する、
ことを特徴とする請求項６に記載の通信装置。
【請求項８】
前記第１の装置との間で前記通信セッションを確立中に通信セッションの確立要求を他の装置から受信した場合に、前記第１の装置との間の前記通信セッションにおいて、送受信の対象となるデータが決定されているか否かを判定する判定手段と、
前記判定手段により、前記第１の装置との間の前記通信セッションにおいて、送受信の対象となるデータが決定されていると判定した場合に、前記他の装置に前記第１の装置との間の前記通信セッションの維持を通知する通知手段と、
をさらに有することを特徴とする請求項１に記載の通信装置。
【請求項９】
前記通信装置は、前記第１の装置との間の前記通信セッションにおけるデータの送受信が完了した場合に、当該通信セッションを切断する、
ことを特徴とする請求項８に記載の通信装置。
【請求項１０】
通信の相手方装置とデータを送受信するために通信セッションを確立する確立手段と、
ユーザの操作があったか否かを判定する判定手段と、
前記相手方装置との前記通信セッションの確立中に、前記判定手段がユーザの操作があったと判定した場合、その通信セッションを維持すべき状態を示す信号を前記相手方装置へ送信する送信手段と、
を有することを特徴とする通信装置。
【請求項１１】
前記送信手段は、前記信号を所定の間隔で送信する、ことを特徴とする請求項１０に記載の通信装置。
【請求項１２】
前記判定手段は、前記送信手段が前記信号を送信するタイミングより前の所定期間においてユーザの操作があったか否かを判定し、
前記判定手段が前記所定期間においてユーザの操作がなかったと判定した場合、前記送信手段は前記タイミングにおいて前記信号を送信しない、
ことを特徴とする請求項１１に記載の通信装置。
【請求項１３】
前記判定手段は、前記通信装置を含む装置において通信を伴うアプリケーションに関してユーザが操作を行ったかを判定する請求項１０から１２のいずれか１項に記載の通信装置。
【請求項１４】
前記判定手段は、前記通信装置のインタフェースを介してユーザの操作を検出した場合に、ユーザの操作があったと判定する、
ことを特徴とする請求項１０から１３のいずれか１項に記載の通信装置。
【請求項１５】
前記判定手段は、前記通信装置が省電力モードでない場合に、ユーザの操作があったと判定する、
ことを特徴とする請求項１０から１４のいずれか１項に記載の通信装置。
【請求項１６】
前記通信装置が傾きを検出する検出手段をさらに有し、
前記判定手段は、前記検出手段が前記通信装置の傾きの変化を検出した場合、ユーザの操作があったと判定する、
ことを特徴とする請求項１０から１５のいずれか１項に記載の通信装置。
【請求項１７】
前記相手方装置が前記通信セッションを切断する場合に通知する切断の理由を受信する受信手段と、
前記切断の理由をユーザに対して表示する表示手段と、
をさらに有する、
ことを特徴とする請求項１０から１６のいずれか１項に記載の通信装置。
【請求項１８】
前記受信手段は、前記切断の理由に加えて前記通信セッションの再接続のための情報を受信し、
前記確立手段は、その再接続のための情報に基づいて、前記相手方装置との通信セッションを確立する、
ことを特徴とする請求項１７に記載の通信装置。
【請求項１９】
通信装置における制御方法であって、
通信セッションを確立している第１の装置から、前記通信セッションを維持すべき状態を示す信号を受信する受信工程と、
前記第１の装置との間で前記通信セッションを確立中に前記第１の装置から前記信号を所定期間受信していない間に、第２の装置から通信セッションの確立要求を受信した場合、確立中の前記通信セッションを切断する制御工程と、
を有する制御方法。
【請求項２０】
通信装置における制御方法であって、
ユーザの操作があったか否かを判定する判定工程と、
相手方装置との通信セッションの確立中に、ユーザの操作があったと判定した場合、その通信セッションを維持すべき状態を示す信号を前記相手方装置へ送信する送信工程と、  を有することを特徴とする制御方法。
【請求項２１】
コンピュータを請求項１から１８のいずれか１項に記載の通信装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータの送受信のための通信セッションの確立および切断を制御する通信装置、制御方法、およびプログラムに関する。
【背景技術】
【０００２】
ＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）とＴＣＰ（Ｔｒａｎｓｆｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）とを接続するためのプロトコルとして、ＰＴＰ−ＩＰ（ＰＴＰ  ｏｖｅｒ  ＴＣＰ／ＩＰ）がある。特許文献１には、ＵＳＢ（ユニバーサルシリアルバス）を用いず、ＰＴＰ−ＩＰを用いて無線接続でダイレクトプリントを行う技術が記載されている。特許文献１には、無線接続でダイレクトプリントを行う装置において、画像出力装置であるプリンタが画像入力装置であるデジタルカメラとの接続を切断する前にデジタルカメラ側から接続を切断した場合でも、プリンタの動作を保証する技術も記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１０９５９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、デジタルカメラからの切断を前提としており、プリンタ側からの切断制御については触れられていない。一方、無線接続でダイレクトプリントを行う装置において、装置やプロトコルの制約によって、プリントデータを送受信するための通信セッションを複数同時に確立できない場合がある。その場合、プリンタからデジタルカメラとの通信セッションの切断ができない場合、１台のデジタルカメラがプリンタの通信資源を占有し、ひいては印刷資源を占有してしまうという課題がある。
【０００５】
本発明は上記課題に鑑みてなされたものであり、１つのデジタルカメラのような相手方装置によって、プリンタのような通信装置における通信資源、そして印刷などのアプリケーション実行のための資源が占有されることを防ぐ技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明による通信装置は、通信の相手方装置とデータを送受信するための通信セッションの確立および切断を制御する制御手段と、前記相手方装置から、前記通信セッションを維持すべき状態を示す制御コマンドを受信する受信手段と、を有し、前記相手方装置との間で前記通信セッションを確立中に、前記受信手段が所定時間内にその相手方装置から前記制御コマンドを受信しなかった場合、前記制御手段は確立中の前記通信セッションを切断する、ことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、通信装置における通信資源が１つの相手方装置によって占有されることを防ぐ通信装置、制御方法、およびプログラムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態１、２、３における装置間を接続するネットワーク構成を示す概略図。
【図２】本発明に係る機能を搭載したプリンタの機能ブロック構成例を示す図。
【図３】本発明に係る機能を搭載したデジタルカメラの機能ブロック構成例を示す図。
【図４】実施形態１におけるプリンタと複数のデジタルカメラとの間の処理を示すシーケンス図。
【図５】実施形態１におけるプリンタの動作を表すフローチャート。
【図６】実施形態１、２、３におけるデジタルカメラの動作を表すフローチャート。
【図７】実施形態２におけるプリンタと複数のデジタルカメラとの間の処理を示すシーケンス図。
【図８】実施形態２におけるプリンタの動作を表すフローチャート。
【図９】実施形態３におけるプリンタと複数のデジタルカメラとの間の処理を示すシーケンス図。
【図１０】実施形態３におけるプリンタの動作を表すフローチャート。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。なお、以下に説明する本発明の実施形態は一例であって、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、以下では、ＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮシステムを用いた例について説明するが、通信形態は必ずしもＩＥＥＥ８０２．１１準拠の無線ＬＡＮには限らない。
【００１０】
＜＜実施形態１＞＞
（ネットワーク構成）
図１は本実施形態に係る装置間を接続するネットワーク構成を示す概略図である。図においては、画像出力装置であるプリンタ１０は、画像入力装置であるデジタルカメラ２０及び３０と通信を行い、デジタルカメラ２０及び３０から取得した画像を例えばプリントして出力する。アクセスポイント４０はインフラストラクチャモードでネットワーク５０を構築し、プリンタ１０とデジタルカメラ２０及び３０は、アクセスポイント４０を介して、無線ＬＡＮで互いに接続されているものとする。本実施形態の説明においては、画像出力装置としてプリンタ１０、画像入力装置としてデジタルカメラ２０及び３０を用いる場合について説明するが、これに限られない。例えば、画像入力装置はスキャナなどであってもよく、画像出力装置はディスプレイなどであってもよい。また、プリンタ１０とデジタルカメラ２０及び３０は、通信を行う通信装置と考えることができる。以下では、主としてこの通信装置としての機能に着目して説明を行う。
【００１１】
なお、プリンタ１０とデジタルカメラ２０及びデジタルカメラ３０はアクセスポイント４０を介して、ダイレクトプリントを実行することが可能である。本実施形態では、アクセスポイント４０を介するネットワークでのダイレクトプリントについて説明を行うが、各装置がアクセスポイント４０を介さないアドホックネットワークにより直接無線接続されていてもよい。また、本実施形態では、ダイレクトプリントを行う印刷プロトコルとして、ＰＴＰ−ＩＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  ＴＣＰ／ＩＰ）を用いる場合について説明を行うが、これに限られない。例えば、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いるようにしてもよい。
【００１２】
以下では、プリンタ１０とデジタルカメラ２０が、アクセスポイント４０を介してダイレクトプリントを行うための通信セッションを確立した後に、もう１つのデジタルカメラ３０がプリンタ１０へ通信セッション確立を要求した場合について説明を行う。
【００１３】
（プリンタの構成）
図２は本実施形態におけるプリンタの主要部の構成を示すブロック図である。図２に示すように、プリンタ１０は、例えば、通信制御部２０１、通信部２０２、通信セッション監視部２０３、プリンタ機能部２０４、ＣＰＵ２０５、ＲＡＭ２０６、ＲＯＭ２０７、及びインタフェース制御管理部２０８を備える。
【００１４】
通信制御部２０１は、通信部２０２における無線ＬＡＮなどの下位通信レイヤ、及びＴＣＰ／ＩＰやＰＴＰ、ＰＴＰ−ＩＰなどの上位通信レイヤの通信セッションの確立、切断の制御及び管理を行う。通信部２０２は、通信制御部２０１の制御にしたがって、他の装置、例えばデジタルカメラ２０又は３０やアクセスポイント４０との間の無線通信を行う。
【００１５】
通信制御部２０１は通信部２０２を制御し、アクセスポイント４０を介してデジタルカメラ２０またはデジタルカメラ３０と無線接続による通信路を確立する。そして、通信制御部２０１は、確立した通信路上で印刷プロトコルを用いて、デジタルカメラ２０又はデジタルカメラ３０との間で印刷画像を送受信する。また、通信制御部２０１は、プリンタ側から通信セッションを切断する場合、切断理由や通信セッションの再接続に必要な情報（例えば通信セッション再開時間に関する情報）を通信部２０２を介して相手方装置へ通知する。さらに、通信制御部２０１は、通信セッション監視部２０３を制御して、通信セッションの状態を監視する。通信セッションの状態の監視は、相手方装置から送信される制御コマンドを受信することにより行われる。
【００１６】
プリンタ機能部２０４は、プリントを実行する上で必要な各種プリンタ機能の制御を行う。各種プリンタ機能とは、画像処理制御、プリンタ用紙の給紙及び排紙制御、プリンタの印字制御などである。プリンタ機能部２０４はプリントエンジン（不図示）の制御を行い、通信部２０２で受信した画像データの印刷処理を管理する。また、プリンタ機能部２０４はアイドルや実行など印刷処理状態を管理する。
【００１７】
ＣＰＵ２０５はプリンタ１０全体の制御を司る。ＲＡＭ２０６はＣＰＵ２０５のワークエリアとして使用される。ＲＯＭ２０７はＣＰＵ２０５による処理手順などのプログラムを記憶する。インタフェース制御管理部２０８は、ユーザの各種操作を受け付けてアプリケーションの表示や実行などを行うユーザインタフェース（不図示）の制御や、ＵＳＢやＩＥＥＥ１３９４や無線ＬＡＮなどの通信インタフェース（不図示）の制御を行う。
【００１８】
（デジタルカメラの構成）
図３は本実施形態におけるデジタルカメラ２０及びデジタルカメラ３０の主要部の構成を示すブロック図である。図３に示すように、デジタルカメラ２０及び３０は、通信制御部３０１、通信部３０２、カメラ機能部３０３、加速度センサー制御管理部３０４を備える。また、デジタルカメラ２０及び３０は、装置全体の制御を司るＣＰＵ３０５と、ＣＰＵ３０５のワークエリアとして使用されるＲＡＭ３０６と、ＣＰＵ３０５による処理手順などのプログラムを記憶するＲＯＭ３０７とを備える。さらに、ユーザの各種操作を受け付けてアプリケーションの表示や実行などを行うユーザインタフェース（不図示）の制御や、ＵＳＢやＩＥＥＥ１３９４や無線ＬＡＮなどの通信インタフェース（不図示）の制御を行うインタフェース制御管理部３０８を備える。
【００１９】
通信制御部３０１は、通信部３０２における無線ＬＡＮなどの下位通信レイヤ、及びＴＣＰ／ＩＰやＰＴＰ、ＰＴＰ−ＩＰなどの上位通信レイヤの通信セッションの確立、切断の制御及び管理を行う。通信部３０２は、通信制御部３０１の制御にしたがって、他の装置、例えばプリンタ１０やアクセスポイント４０との間の無線通信を行う。
【００２０】
通信制御部３０１は通信部３０２を制御し、アクセスポイント４０を介してプリンタ１０と無線接続による通信路を確立する。そして、通信制御部３０１は、確立した通信路上で印刷プロトコルを用いて、プリンタ１０との間で印刷画像を送受信する。また、通信制御部３０１は、通信部３０２を介して、プリンタ１０から通知された通信セッションの切断理由や通信セッションの再接続に必要な情報（例えば通信セッション再開時間や通信セッション再接続要求に係る処理手順等）を受信する。さらに、通信制御部３０１は、通信部３０２を介して、通信セッションの状態をプリンタ１０へ通知するための制御コマンドの送信を行う。制御コマンドは、例えば、デジタルカメラ２０またはデジタルカメラ３０において、ユーザが印刷アプリケーションを操作している場合に定期的に送信される。なお、デジタルカメラ２０またはデジタルカメラ３０は、自らが省電力状態ではない場合や、加速度センサーにより装置の傾きの変化を検出した場合にユーザが操作を行っていると判断し、制御コマンドを送信するようにしてもよい。なお、本説明では通信セッションの状態通知及び状態管理に利用する信号を制御コマンドを例に説明するが、通知信号等のその他の所定の信号であってもよい。
【００２１】
カメラ機能部３０３は、デジタルカメラに必要な各種機能の制御を行う。デジタルカメラに必要な各種機能は、例えば、撮像制御や、画像の符号化及び復号化などの各種画像処理制御の機能を含む。カメラ機能部３０３は、デジタルカメラ２０又はデジタルカメラ３０を省電力モードに遷移させるか否かの判定及び制御をも実行してもよい。例えば、カメラ機能部３０３は、所定の期間においてユーザ操作がないことを検出した場合に、省電力モードに遷移させてもよい。加速度センサー制御管理部３０４は、ジャイロなどでデジタルカメラ２０またはデジタルカメラ３０が傾きを検出し、その傾きに所定量以上の変化があったか否かを判定することにより、例えばユーザが操作を行っているか否かを判定する。
【００２２】
なお、上述のプリンタ１０と、デジタルカメラ２０及び３０の機能ブロック図は１つの実施形態例を示すものであって、必ずしも上述の機能ブロックの全てを有していなければいけないわけではない。例えば、デジタルカメラ２０及び３０は、加速度センサー制御管理部３０４を備えなくてもよい。また、上述の機能ブロックは、一部がハードウェアにより実装され、残りをソフトウェアによって実装してもよい。また、全てを専用のハードウェアを用意して実装してもよい。
【００２３】
（プリンタとデジタルカメラの動作）
続いて、プリンタ１０とデジタルカメラ２０またはデジタルカメラ３０との間で行われる通信セッションの確立と切断の動作について、図４のシーケンス図を用いて説明する。図４では、まずプリンタ１０とデジタルカメラ２０とがアクセスポイント４０を介してダイレクトプリントを行うための通信セッションを確立する。デジタルカメラ２０のインタフェース制御管理部３０８は、ダイレクトプリントの利用を開始するためのユーザ操作を受け付け、ダイレクトプリントを開始する（Ｆ４０１）。なお、インタフェース制御管理部３０８は、通信制御部３０１へユーザ操作を受け付け、ダイレクトプリントを開始する旨を通知する。通信制御部に３０１は、プリントデータを送受信する通信路を確立するため、通信部３０２を制御して、プリンタ１０に対して通信セッションの確立要求を送信する（Ｆ４０２）。
【００２４】
なお、本実施形態ではプリンタ１０とデジタルカメラ２０及びデジタルカメラ３０はアクセスポイント４０への無線ＬＡＮ接続を既に完了しているものとして説明する。ただし、この時点で無線ＬＡＮ接続は完了していなくてもよく、通信セッションの確立要求により、無線ＬＡＮなどの下位通信レイヤからＴＣＰ／ＩＰやＰＴＰ、ＰＴＰ−ＩＰなどの上位通信レイヤの接続を一括して行うようにしてもよい。また、本実施形態では通信セッションはＰＴＰ−ＩＰの接続として説明を行うがそれ以外の通信プロトコルでもよい。
【００２５】
プリンタ１０がデジタルカメラ２０からの通信セッション確立要求（Ｆ４０２）を通信部２０２で受信すると、プリンタ１０の通信制御部２０１は、デジタルカメラ２０に対して通信セッション確立要求応答を返信する（Ｆ４０３）。そして、デジタルカメラ２０とプリンタ１０との間で通信セッションが確立される（Ｆ４０４）。プリンタ１０とデジタルカメラ２０との間の通信セッションの確立後、プリンタ１０の通信制御部２０１は、通信セッション監視部２０３を制御して、通信セッションの状態の監視を開始する（Ｆ４０５）。なお、通信セッション監視部２０３は、通信セッションが維持されていることを示す場合に送信される制御コマンドの受信を監視することで、通信セッションの状態を監視する。
【００２６】
一方、デジタルカメラ２０の通信制御部３０１は、通信部３０２を制御して、プリンタ１０に対して制御コマンドを送信する（Ｆ４０６）。ここで、制御コマンドは、例えば、ユーザが印刷アプリケーションを操作している場合に所定間隔で送信され、所定期間ユーザの操作がない場合には送信を停止する。すなわち、制御コマンドを定期的に送信している場合は、通信セッションの状態は接続が維持されるべき状態であり、制御コマンドの送信を停止している場合は、通信セッションの状態は切断可能な状態である。このようにして、制御コマンドにより、通信セッションの状態をプリンタ１０へ通知することができる。なお、デジタルカメラ２０が省電力状態ではない場合や、加速度センサー制御管理部３０４で装置の傾きの変化に基づいて装置の動きを検出した場合は、ユーザが操作を行っていると判断して、制御コマンドを送信するようにしてもよい。
【００２７】
プリンタ１０は、デジタルカメラ２０から送信された制御コマンドを通信部２０２で受信して、通信セッション監視部２０３により検知する（Ｆ４０７）。プリンタ１０の通信セッション監視部２０３は、所定間隔で制御コマンドを受信しているか否かで確立した通信セッションが利用されているか否か、すなわち、その通信セッションが切断してよい状態にあるか否かを判定する。
【００２８】
デジタルカメラ２０は、ユーザ操作などで選択されたプリントの対象となる撮像データ等の画像データ（以下、プリントデータと呼ぶ）を、通信部３０２を介してプリンタ１０へ送信する（Ｆ４０８）。プリンタ１０は、通信部２０２を介して、デジタルカメラ２０からのプリントデータを受信し、プリントデータ送信結果をデジタルカメラ２０へ通知する（Ｆ４０９）。そして、プリンタ１０は、受信したプリントデータの印刷が可能である場合、プリンタ機能部２０４によりそのプリントデータの印刷を実行する（Ｆ４１０）。デジタルカメラ２０は、全てのプリントデータの送信完了後など、インタフェース制御管理部３０８がユーザ操作を検知しなくなると、制御コマンドの送信を停止する（Ｆ４１１）。なお、通信制御部３０１が制御コマンドを定期的に送信している場合、インタフェース制御管理部３０８は、その制御コマンドの送信タイミングより前の所定期間においてユーザ操作があったか否かを検出してもよい。そして、ある送信タイミングより前の所定期間においてユーザ操作がなければ、通信制御部３０１は、その送信タイミングにおいては制御コマンドを送信しないようにしてもよい。
【００２９】
ここで、この状態において、デジタルカメラ３０のユーザが、ダイレクトプリントの利用を開始するためにデジタルカメラ３０を操作した場合について説明する。まず、デジタルカメラ３０のインタフェース制御管理部３０８は、ダイレクトプリントの利用を開始するためのユーザ操作を受け付け、ダイレクトプリントを開始する（Ｆ４１２）。なお、インタフェース制御管理部３０８は、ユーザ操作を受け付け、ダイレクトプリントを開始する旨を、通信制御部３０１へ通知する。デジタルカメラ３０の通信制御部３０１は、プリントデータを送受信する通信路を確立するため、通信部３０２を制御して、プリンタ１０に対して通信セッションの確立要求を送信する（Ｆ４１３）。通信セッションの確立要求は、例えば、ダイレクトプリントアプリケーション開始時に送信される場合と、印刷するデータを決定後に送信される場合とがある。本実施例では、ダイレクトプリントアプリケーション開始時に、通信セッションの確立要求を送信する場合について説明する。印刷するデータを決定後に通信セッションの確立要求を送信する場合については、実施形態２で説明する。
【００３０】
プリンタ１０は、デジタルカメラ３０からの通信セッション確立要求（Ｆ４１３）を通信部２０２で受信すると、プリンタ１０の通信制御部２０１は、自らが現在通信セッションを確立中であるか否かを判定する。そして、通信セッションが確立中である場合に、通信セッション監視部２０３がデジタルカメラ２０から制御コマンドを所定の時間間隔で受信し続けているかを判定する。また、プリンタ１０は、その所定の時間間隔分の時間だけ制御コマンドを受信するかどうかを監視し、１つでも制御コマンドを受信したか否かを判定する。プリンタ１０の通信制御部２０１は、所定の時間間隔で制御コマンドを受信し続けなかった状態、または、制御コマンドを所定期間受信しなかった状態で他の装置から通信セッション確立要求を受信すると、通信セッションを切断してよいと判定する。そして、この場合、現在通信セッションを確立している第１の装置（デジタルカメラ２０）以外の第２の装置（デジタルカメラ３０）の通信セッションの確立要求に対応するため、確立中の通信セッションの切断を決定する（Ｆ４１４）。
【００３１】
なお、通信制御部２０１は、所定期間内に制御コマンドを受信した場合は、受信した通信セッション確立要求に対応する通信プロトコルの情報を参照する。通信プロトコルの情報は、プリントデータの送受信を行うための通信路の確立後に、即時にプリントデータが転送できるプロトコルか否かを判定するために使われる。この詳細については、後に実施形態２で説明するものとし、本シーケンスでは、所定期間内に制御コマンドを受信しなかった場合について説明する。
【００３２】
通信制御部２０１は、通信セッションの切断を決定した場合、通信部２０２を制御して、デジタルカメラ２０に対して通信セッション切断理由や通信セッションの再接続に必要な情報を通信セッション切断として報知する（Ｆ４１５）。通信セッションの再接続に必要な情報とは、例えば通信セッション再開時間に関する情報である。デジタルカメラ２０は、通信部３０２を介して、プリンタ１０からの通信セッション切断情報の受信と、プリンタ１０への通信セッション切断応答の返信を行う（Ｆ４１６）。プリンタ１０の通信制御部２０１は、通信セッション切断応答（Ｆ４１６）を受信すると、通信セッションを切断する（Ｆ４１７）。そして、デジタルカメラ２０は、印刷アプリケーションの状態を遷移させる（Ｆ４１８）。この時、デジタルカメラ２０は、プリンタ１０から受信した通信セッション切断情報を参照して、所定時間後に通信セッションの再開処理を行ってもよい。この場合、デジタルカメラ２０は、例えば、通信セッション切断情報に含まれる通信セッションの再開時間まで無線通信機能をパワーセーブ状態とし、再開時間の経過後に通信セッションの再接続処理を行う。また、デジタルカメラ２０は、プリンタ１０が通信セッション確立要求を定期的にポーリングするのを待ち受ける状態となってもよいし、印刷アプリケーションを終了してもよい。また、プリンタ１０が通信セッションの確立要求を送出する場合は、デジタルカメラ２０はその要求を待ち受ける状態となってもよい。
【００３３】
プリンタ１０は、デジタルカメラ２０との通信セッションの切断（Ｆ４１７）の後、通信部２０２を介して、もう一方のデジタルカメラ３０に対し通信セッション確立要求応答を返す（Ｆ４１９）。そして、デジタルカメラ３０とプリンタ１０は通信セッションを確立する（Ｆ４２０）。プリンタ１０は、デジタルカメラ３０と通信セッションを確立すると、通信セッション監視部２０３による通信セッションの状態の監視を開始する（Ｆ４２１）。通信セッション監視部２０３は、通信セッションが維持されていることを示す場合に送信される制御コマンドの受信を監視することで、通信セッションの状態を監視する。
【００３４】
デジタルカメラ３０の通信制御部３０１は、通信部３０２を制御して、プリンタ１０に対して制御コマンドを送信する（Ｆ４２２）。制御コマンドは、例えば、ユーザが印刷アプリケーションを操作している場合に所定時間間隔で定期的に送信され、所定期間ユーザの操作がない場合には送信を停止する。なお、デジタルカメラ３０が省電力状態ではない場合や、加速度センサー制御管理部３０４で装置の傾きの変化を検知することにより装置の動きを検出した場合は、ユーザが操作を行っていると判断して、制御コマンドを送信するようにしてもよい。また、デジタルカメラ３０が送信する制御コマンドの信号に通信セッションの状態を示す情報を付加してもよい。例えば、所定の期間において通信セッションを維持しない、または所定期間にわたってユーザの操作がない等の判断情報を制御コマンドの信号に含めてもよい。この場合、プリンタ１０は受信した制御コマンドの信号を解析し、解析結果に応じて通信セッションの状態、すなわち、通信セッションの状態が、接続が維持されるべき状態であるか、それとも切断可能な状態であるかを判定してもよい。
【００３５】
プリンタ１０は、通信部２０２を介してデジタルカメラ３０から送信された制御コマンドを受信して、通信セッション監視部２０３はその制御コマンドを検知する。プリンタ１０の通信セッション監視部２０３は、所定間隔で制御コマンドを受信しているか否かで確立した通信セッションが利用されているか否か、すなわち、その通信セッションが切断してよい状態にあるか否かを判定する（Ｆ４２３）。
【００３６】
デジタルカメラ３０は、ユーザ操作などで選択されたプリントデータを、通信部３０２を介してプリンタ１０へ送信する（Ｆ４２４）。プリンタ１０は、デジタルカメラ３０からのプリントデータを通信部２０２で受信すると、通信部２０２を介してデジタルカメラ３０へプリントデータ送信結果を送信する（Ｆ４２５）。プリンタ１０は、受信したプリントデータの印刷が可能である場合、プリンタ機能部２０４によりそのプリントデータの印刷を実行する（Ｆ４２６）。
【００３７】
以上の動作により、プリンタ１０とデジタルカメラ２０が通信をする状況において、プリンタ１０は、デジタルカメラ２０との間の通信セッションの状態（切断できる状態か、など）を把握して、自らが主導して通信セッションを切断することが可能となる。これにより、１つのデジタルカメラ２０により、プリンタ１０の通信資源が占有されることを防ぐことが可能となる。また、このときに切断理由などの情報をデジタルカメラ２０へ通知することにより、デジタルカメラ２０は、通知された情報に基づいて、その後の必要な制御を実行することが可能となる。また、プリンタ１０が主導して通信セッションの切断をすることで、プリンタ１０という印刷資源をデジタルカメラ２０と他のデジタルカメラ３０とで共有することが可能となる。
【００３８】
（プリンタの動作）
図５は、本実施形態におけるプリンタ１０の動作処理フローを示す図である。処理が開始されると、まず、通信制御部２０１が通信部２０２を介して、通信セッション確立要求の送信元の通信装置（本実施形態ではデジタルカメラ２０）へ通信セッション確立要求応答を送信する。これにより、プリンタ１０は、その通信装置（デジタルカメラ２０）との間の通信セッションを確立する（Ｓ５０１）。通信セッションの確立後、通信セッション監視部２０３は、デジタルカメラ２０から送信された制御コマンドの受信状態を監視する（Ｓ５０２）。すなわち、通信セッション監視部２０３は、通信部２０２を介して制御コマンドを受信したか否かを判定する。なお、プリンタ１０は、制御コマンドを所定期間内に受信しているか否かを判定することにより、確立した通信セッションが利用されているか否か、すなわち、通信セッションを切断可能であるか否かの判断を行うことができる。
【００３９】
一方、通信制御部２０１は、制御コマンドの受信状態の監視中に、プリントデータを送受信する通信路を確立するための通信セッションの確立要求を通信部２０２を介して受信したか否かを判定する（Ｓ５０３）。すなわち、現在通信セッションを確立中の相手方装置以外の他の装置から通信セッションの確立要求を受信したか否かを判定する。そして、プリンタ１０は、通信セッションの確立要求を受信しなかった場合（Ｓ５０３でＮＯ）、所定期間内に制御コマンドを受信したか否かを判定する（Ｓ５０７）。そして所定期間内に制御コマンドを受信した場合は（Ｓ５０７でＹＥＳ）、次に、印刷データを受信しているか否かを判断する（Ｓ５０８）。そして、印刷データを受信している場合は（Ｓ５０８でＹＥＳ）、印刷を実行する（Ｓ５０９）。一方で、所定期間内に制御コマンドを受信しなかった場合（Ｓ５０７でＮＯ）、印刷データを受信していない場合（Ｓ５０８でＮＯ）、又は印刷処理が完了した場合（Ｓ５０９）、制御コマンドの受信状態の監視に戻る（Ｓ５０２）。
【００４０】
プリンタ１０は、通信セッションの確立要求を受信した場合（Ｓ５０３でＹＥＳ）、通信セッション監視部２０３において、現在通信セッションを確立中の相手方装置（デジタルカメラ２０）からの制御コマンドの受信状態を確認する（Ｓ５０４）。そして、プリンタ１０は、所定期間内において制御コマンドを受信したか否かにより、確立した通信セッションが現在利用されているか否かを判定する。プリンタ１０は、所定期間内に制御コマンドを受信していなかった場合（Ｓ５０４でＮＯ）、確立中の通信セッションが利用されていないため切断可能であると判定し、実行中の通信セッションの切断を決定する（Ｓ５０５）。この場合、プリンタ１０の通信制御部２０１は、通信部２０２を介して、通信セッション切断理由や通信セッションの再接続に必要な情報を現在通信セッションを確立中の相手方装置（デジタルカメラ２０）へ報知する（Ｓ５０６）。ここで、切断理由は、例えば、制御コマンドが受信されなかったことや新規に通信セッションの確立要求があったこと等を示すエラーコードであり、再接続に必要な情報は、例えば、再接続が可能か否かを示す情報や、再接続が可能となる時間の情報である。プリンタ１０は、現在確立中の通信セッションの切断を完了すると、デジタルカメラ３０からの通信セッションの確立要求があった場合には、その要求に応じて、通信セッションを確立する（Ｓ５０１）。
【００４１】
一方、Ｓ５０４において所定期間内に制御コマンドを受信していた場合（Ｓ５０４でＹＥＳ）、プリンタ１０は、通信セッションの開始要求を送信した装置（デジタルカメラ３０）に対してＢＵＳＹ情報を送信し（Ｓ５１０）、通信セッションの確立を拒絶する。なお、ＢＵＳＹ情報は、例えば、通信セッションを実行中のため新規に通信セッションを確立できない旨を示す、エラーコードが含まれる。プリンタ１０は、通信制御部２０１によりＢＵＳＹ情報を送信後、通信セッション監視部２０３により制御コマンドの監視を継続する（Ｓ５０２）。
【００４２】
以上の動作により、通信セッションを確立中の相手の装置から所定期間内に制御コマンドを受信せず、実行中の通信セッションが使用されていないと判定できる場合に、その通信セッションを切断することで、通信資源を他の装置に開放することができる。また、これにより、不必要に複数の装置（デジタルカメラ２０、３０）と通信を行う装置（プリンタ１０）の資源が、１つの装置（デジタルカメラ２０）占有されることを防ぐことが可能となる。また、プリンタ１０から通信セッションを切断する場合、デジタルカメラ２０に通信セッション切断理由や通信セッションの再接続に必要な情報を報知することにより、デジタルカメラ２０のその後に実行すべき動作を定めることができる。これにより、デジタルカメラ２０の動作が不安定になることを防ぐことができる。
【００４３】
（デジタルカメラの動作）
図６は、本実施形態におけるデジタルカメラ２０の動作処理フローを示す図である。ユーザが、デジタルカメラ２０のインタフェース制御管理部３０８を介してダイレクトプリントの利用を開始するための操作を行うことにより、処理が開始する（Ｓ６０１）。処理が開始されると、通信制御部３０１は、通信部３０２を制御して、プリンタ１０に対してプリントデータを送受信する通信路を確立するための通信セッションの確立要求を送信する（Ｓ６０２）。なお、通信セッションの確立要求は、例えば、ダイレクトプリントアプリケーション開始時に送信される場合（印刷するデータの決定前）と、印刷するデータを決定後に送信される場合とがある。本実施形態では、ダイレクトプリントアプリケーション開始時に、通信セッションの確立要求を送信する場合について説明を行う。印刷するデータを決定後に通信セッションの確立要求を送信する場合については、実施形態２で説明する。
【００４４】
続いて、通信制御部３０１は、対向装置（本実施形態ではプリンタ１０）から通信セッション確立要求応答を受信したか否かを判断する（Ｓ６０３）。対向装置から通信セッション確立要求応答を受信すると（Ｓ６０３でＹＥＳ）、通信セッションが確立する（Ｓ６０４）。一方、対向装置から通信セッション確立要求応答を受信しない場合（Ｓ６０３でＮＯ）、デジタルカメラ２０はエラー処理を行う（Ｓ６１６）。エラー処理では、例えば、インタフェース制御管理部３０８がユーザインターフェースにエラーを表示する。
【００４５】
通信セッションを確立（Ｓ６０４）後、通信制御部３０１は、対向装置（プリンタ１０）から通信セッション切断情報を受信したか否かを判断する（Ｓ６０５）。ここで、通信セッション切断情報とは、通信セッション切断理由や通信セッションの再接続に必要な情報が含まれる。通信セッションの再接続に必要な情報とは、例えば、通信セッション再開時間を通知する情報である。通信セッション切断情報を受信していない場合（Ｓ６０５のＹＥＳ）、インタフェース制御管理部３０８は、印刷アプリケーションの状態を判定する（Ｓ６０６）。なお、印刷アプリケーションの状態の判定とは、例えば、ユーザがそのアプリケーションの操作（例えば、印刷するプリントデータの選択など）を実行しているか否かの判定である。ユーザがアプリケーションを操作している状態であるとインタフェース制御管理部３０８が判定すると（Ｓ６０６でＹＥＳ）、通信セッションを維持すべき状態であることを通知するために、通信制御部３０１は制御コマンドを送信する（Ｓ６０７）。なお、デジタルカメラ２０が省電力状態ではない場合や、加速度センサー制御管理部３０４が装置の傾きの変化や動きを検出した場合は、ユーザが操作を行っていると判定し（Ｓ６０６でＹＥＳ）、制御コマンドを送信するようにしてもよい（Ｓ６０７）。そして、通信制御部３０１は、制御コマンドを対向装置（プリンタ１０）へ送信後、プリントする対象となるプリントデータをその対向装置に送信する（Ｓ６０８）。
【００４６】
なお、制御コマンドの送信は、ユーザ操作があるたびに行ってもよく、所定の時間間隔で定期的に制御コマンドを送信するようにしてもよい。なお、所定の時間間隔で定期的に制御コマンドを送信する場合は、送信タイミングよりその所定の時間間隔分だけ前の時刻から送信タイミングまでの間にユーザ操作があったか否かにより、制御コマンドを送信するか否かを決めてもよい。すなわち、送信タイミングまでの所定の時間間隔において、ユーザ操作が検出されなければ、制御コマンドの送信を中止してもよい。これにより、操作があるたびに制御コマンドを送信し、電力を無駄に消費することを防ぐことが可能となる。
【００４７】
一方、ユーザがアプリケーションを操作していない状態であるとインタフェース制御管理部３０８が判断した場合（Ｓ６０６でＮＯ）、デジタルカメラ２０は、印刷アプリケーションを終了するか否かを判断する（Ｓ６０９）。同様に、Ｓ６０８でプリントデータを送信した後にも、デジタルカメラ２０は、印刷アプリケーションを終了するか否かを判断する（Ｓ６０９）。印刷アプリケーションを終了するか否かの判断は、インタフェース制御管理部３０８が、ユーザによるさらなるアプリケーションの操作を検知したかに基づいて判断する。例えば、プリントデータの送信後に、ユーザからのさらなるアプリケーションの操作を検知した場合は、デジタルカメラ２０は印刷アプリケーションを続行すると判断する（Ｓ６０９でＮＯ）。そして、この場合、デジタルカメラ２０は、切断情報を受信したか否かの判定に処理を戻す（Ｓ６０５）。一方、プリントデータの送信後に、ユーザからのアプリケーションの操作を検知しなくなった場合は、デジタルカメラ２０は、印刷アプリケーションを終了するように判断する（Ｓ６０９でＹＥＳ）。そして、通信制御部３０１は通信セッションの切断処理を行う（Ｓ６１０）。
【００４８】
なお、上述の説明では、ユーザ操作があった場合に（Ｓ６０６でＹＥＳ）、制御コマンドを送信し（Ｓ６０７）、その後プリントデータの送信を行う（Ｓ６０８）としているが、これに限られない。例えば、転送されるべきプリントデータが決定していない場合は、プリントデータの送信（Ｓ６０８）を省略してもよい。この場合、制御コマンドの送信（Ｓ６０７）の後、印刷アプリケーションを終了するか否かの判定（Ｓ６０９）へ移行する。そして、例えばプリントデータを未選択で、まだアプリケーションを終了しない場合は、切断情報を受信したかの判定（Ｓ６０５）とユーザ操作の監視を継続する（Ｓ６０６）。
【００４９】
Ｓ６０５において、通信セッション切断情報を受信した場合（Ｓ６０５のＹＥＳ）、通信制御部３０１は、通信セッション切断応答を送信する（Ｓ６１１）。デジタルカメラ２０が通信セッション切断応答を送信することにより、対向装置（プリンタ１０）との間の通信セッションは切断される（Ｓ６１２）。そして、デジタルカメラ２０は、対向装置（プリンタ１０）から受信した通信セッション切断情報を参照する（Ｓ６１３）。通信セッション切断情報には、上述のように、制御コマンドが未送信であったこと、新規通信セッション確立要求があったこと等の切断理由を示すエラーコードと、再接続可能か否かや再接続可能になる時間などを示す再接続に必要な情報が含まれる。
【００５０】
通信制御部３０１は、参照した通信セッション切断情報に基づいて、対向装置（プリンタ１０）と通信セッションの再接続可能か否かを判断する（Ｓ６１４）。対向装置（プリンタ１０）と通信セッションの再接続が可能と判断した場合（Ｓ６１４でＹＥＳ）、デジタルカメラ２０は印刷アプリケーションの状態を遷移させる（Ｓ６１５）。具体的には、通信セッションの再接続モードや印刷アプリケーションの終了モード、他のアプリケーションのバックグラウンドでの実行モードなどへ、アプリケーションの状態を遷移させる。この時、デジタルカメラ２０は、プリンタ１０から受信した通信セッション切断情報を参照して、通信セッションの再開処理を行ってもよい。例えば、通信セッション再開時間までパワーセーブ状態とし、再開時間経過後に通信セッション再接続処理などを行ってもよい。また、通信セッション確立要求を定期的にポーリングしてもよいし、印刷アプリケーションを終了してもよい。一方、通信セッションの再接続ができないと判断した場合（Ｓ６１４でＮＯ）、デジタルカメラ２０はエラー処理を行う。エラー処理では、例えばインタフェース制御管理部３０８がユーザインターフェースにエラーを表示する（Ｓ６１６）。
【００５１】
なお、上述の説明の通信セッションの確立要求と制御コマンドは、例えば、プリンタ１０における通信セッションの状態を通知させるコマンドであってもよい。この場合、プリンタ１０からの通信セッション確立要求応答は、例えば、新しい通信セッションの確立を許可できる状態である場合には、その旨を示す情報を含んでもよい。また、新しい通信を許可できない場合は、上述の通り、エラーコードを送信する。さらに、プリンタ１０が制御コマンドに対して常に応答を返すようにしてもよい。例えば、プリンタ１０は、デジタルカメラ２０からの制御コマンドとして、プリンタ１０の状態を通知させるコマンドを受信した場合、通信セッションの維持に同意する場合は、その旨を伝えるメッセージをデジタルカメラ２０へ返信してもよい。また、通信セッションを切断する場合は、上述の通り、切断情報を送信する。これにより、プリンタ１０とデジタルカメラ２０または３０との間で通信セッションの維持管理を行うための情報を常に共有でき、より高精度に通信セッションを管理することができるようになる。
【００５２】
以上の動作により、デジタルカメラ２０は、プリンタ１０との通信セッションの確立後に、制御コマンドを介して、通信セッションを維持すべきか否かをプリンタ１０へ通知することができる。これにより、プリンタ１０は、通信セッションを無駄に維持することなく、使用されない通信セッションを他の装置（デジタルカメラ３０）へ解放することが可能となる。また、デジタルカメラ２０は、プリンタ１０から、通信セッション切断情報を受信すると、その情報から通信セッション切断理由や通信セッションの再接続に必要な情報を抽出し、自らのその後の制御のために、アプリケーションの状態を遷移させる。これにより、通信セッションがプリンタ１０から切断された場合であっても、デジタルカメラ２０は自らの置かれた状況を把握し、その後の動作を決定することが可能となる。これにより、デジタルカメラ２０は、通信セッション切断後に、適切な動作を実行することができるようになる。
【００５３】
なお、上述の説明では、デジタルカメラ２０及び３０がプリンタ１０へデータを送信する例について説明したが、これに限られない。１つの通信装置に対して複数の通信装置が接続することが想定されるネットワークであれば、本実施形態を適用可能である。すなわち、通信装置（プリンタ１０）に対して、通信セッションを確立中の相手方装置（デジタルカメラ２０）がある場合に、他の装置（デジタルカメラ３０）が通信セッションの確立要求を送信する状況であれば、本実施形態を適用することができる。なお、デジタルカメラ２０及び３０とプリンタ１０との間の通信以外の場合では、アプリケーションは、当然に、印刷アプリケーションでなくてもよい。その場合、上述の相手方装置や他の装置は、通信セッションに関係するアプリケーションに関して、ユーザの操作があったかを判定し、それに基づいて制御コマンドを通信装置へ送信してもよい。
＜＜実施形態２＞＞
実施形態１では、所定期間内に制御コマンドを受信しない場合の通信セッション切断方法について説明を行った。本実施形態においては、受信した通信セッション確立要求に対応する通信プロトコルの情報に応じた、通信セッション切断方法について説明を行う。通信プロトコルの情報は、プリントデータの送受信を行うための通信路の確立後に、即時にプリントデータが転送できるプロトコルか否かを判定するために使われる。
【００５４】
なお、本実施形態におけるネットワーク構成、プリンタの構成、及びデジタルカメラの構成は実施形態１と同様であるため、ここでは説明を省略する。
【００５５】
（プリンタとデジタルカメラの動作）
プリンタ１０とデジタルカメラ２０またはデジタルカメラ３０との間で行われる通信セッションの確立と切断の動作について、図７のシーケンス図を用いて説明する。なお、Ｆ４０１からＦ４１０までは実施形態１と同じ処理シーケンスのため、ここでは説明を省略する。
【００５６】
ここで、デジタルカメラ２０とプリンタ１０が通信セッションを確立している状態において、デジタルカメラ３０のユーザが、ダイレクトプリントの利用を開始するためにデジタルカメラ３０を操作したとする。デジタルカメラ３０のインタフェース制御管理部３０８は、ダイレクトプリントの利用を開始するためのユーザ操作を受け付け、ダイレクトプリントを開始する（Ｆ７０１）。デジタルカメラ３０のインタフェース制御管理部３０８は、印刷するデータがユーザ操作によって決定されると（Ｆ７０２）、ダイレクトプリントを開始する旨を通信制御部３０１へ通知する。通信制御部３０１は、プリントデータを送受信する通信路を確立するため、通信部３０２を制御して、プリンタ１０に対して通信セッションの確立要求を送信する（Ｆ７０３）。
【００５７】
プリンタ１０においては、通信部２０２がデジタルカメラ３０からの通信セッション確立要求（Ｆ７０３）を受信すると、通信制御部２０１は、自らが現在通信セッションを確立中であるか否かを判定する。そして、通信セッションが確立中である場合に、通信セッション監視部２０３がデジタルカメラ２０から制御コマンドを所定の時間間隔で受信し続けているかを判定する。また、プリンタ１０は、その所定の時間間隔分の時間だけ、制御コマンドを受信したかどうかを監視し、１つでも制御コマンドを受信したか否かを判定する。
【００５８】
プリンタ１０は、所定の時間間隔で制御コマンドを受信し続けなかった状態、又は所定期間内に１つも制御コマンドを受信しなかった状態で、他の装置から通信セッション確立要求を受信すると、現在確立中の通信セッションを切断してよいと判定する。すなわち、この場合、現在通信セッションを確立している相手方装置（例えば、デジタルカメラ２０）以外の装置（デジタルカメラ３０）からの、通信セッションの確立要求に対応するため、確立中の通信セッションの切断を決定する（Ｆ７０４）。通信セッション切断判定（Ｆ７０４）後の、デジタルカメラとプリンタの処理シーケンスは、実施形態１の図４Ｆ４１５からＦ４２６と同じ処理シーケンスのため、ここでは説明を省略する。
【００５９】
一方、所定期間内に制御コマンドを受信した場合であっても切断の決定（Ｆ７０４）を行う場合がある。この場合について、以下、説明を行う。
【００６０】
プリンタ１０は、所定期間内に制御コマンドを受信した場合は、受信した通信セッション確立要求に対応する通信プロトコルの情報を参照する。ここで、通信プロトコルの情報とは、例えば、通信セッションの確立後にすぐにプリントデータの転送を実行できるプロトコルであるか否かを特定することができる情報である。例えば、ある通信プロトコル（第１の通信プロトコルとする）は、通信セッションの確立後、ユーザが写真を選択する不定の時間が生じるため、セッションを確立しても通信が行われない時間が生じうる。このため、第１の通信プロトコルは、通信セッションの確立後、プリントデータの転送の実行までの時間（またはその期待値）が所定値以上、すなわちすぐにプリントデータの転送ができないプロトコルと特定できる。一方、ＰＣにおいてファイルを選択して印刷ボタンを押下した場合などは、送信すべきプリントデータが通信セッションの確立の前に確定しているため、通信セッションの確立後、すぐにプリントデータの転送が可能となる。このため、このようなＰＣによる印刷は通信セッションの確立後、即座にプリントデータの転送ができる別のプロトコル（第２の通信プロトコルとする）であると特定できる。したがって、所定期間内にカメラ２０から制御コマンドを受信した場合であっても、第２の通信プロトコルにより通信セッションの確立要求を受信すると、カメラ２０との通信セッションを切断する。そして、要求された第２の通信プロトコルの通信セッションを確立する。また、カメラ３０が第１の通信プロトコルにより通信セッションの確立を要求した場合であっても印刷データを決定した状態であれば、カメラ２０との通信セッションを切断し、カメラ３０との通信セッションを確立してもよい。
【００６１】
ここで、プロトコルの情報は、上述のような判断を可能とするために、プリントデータの確定状況の情報、すなわち、プリントデータが確定しているか否かの情報を含んでもよい。また、通信プロトコルの情報を用いずに、プリントデータの確定状況の情報を参照し、その確定状況の情報に応じて通信セッションの切断を判断してもよい。
【００６２】
このため、プリンタ１０は、通信プロトコルの情報に基づいて、通信セッションの確立要求を送信した通信装置（デジタルカメラ３０）で、その確立要求の時点で転送すべきデータ（プリントデータ）が定まっているかを判定する。この判定は、例えば通信プロトコルが第１の通信プロトコルである場合は、通信セッションの確立要求の時点では転送すべき画像データが定まっていないものと特定できる。一方、通信プロトコルが、ＰＣにより印刷対象を定めた後に通信セッションを確立する第２の通信プロトコルでは、通信セッションの確立要求の時点で転送すべき画像データが定まっていると特定することができる。また、通信プロトコルの指定だけでは転送すべきデータが決定されているか否かが不定な場合は、その転送すべきデータは定まっていないものとして扱ってもよい。また、例えば通信プロトコルの情報に代えて、転送すべきプリントデータが決定しているか否かを直接的に特定する情報を含めてもよい。さらに、転送すべきプリントデータのサイズなどの、データの転送にかかる実時間を推定可能とするための情報を含めてもよい。
【００６３】
以上の動作により、プリンタ１０とデジタルカメラ２０が通信をする状況において、プリンタ１０は、デジタルカメラ２０との間の通信セッションの状態（切断できる状態か、など）を把握して、自らが主導して通信セッションを切断することが可能となる。これにより、プリンタ１０の通信資源が１つのデジタルカメラ２０により占有されることを防ぐことが可能となり、この結果、プリンタ１０という印刷資源をデジタルカメラ２０と他のデジタルカメラ３０とで共有することが可能となる。また、このときに切断理由などの情報をデジタルカメラ２０へ通知することにより、デジタルカメラ２０は、通知された情報に基づいて、その後の必要な制御を実行することが可能となる。
【００６４】
さらに、所定期間内に制御コマンドを受信した場合でも、新たな通信セッションが無駄に通信資源を占有するおそれがない場合は、実行中の通信セッションを切断し、その新たな通信セッションに通信資源を割り当てることができる。また、この場合、新しい通信セッションによる通信資源の占有時間が短いことを保証できるため、デジタルカメラ２０は通信セッションの再接続をすぐ実行できる。この結果、効率的に１つの装置（プリンタ１０）と複数の装置（デジタルカメラ２０、３０）との間の通信セッションを確立し、資源を共有することが可能となる。
【００６５】
（デジタルカメラの動作）
デジタルカメラの動作については、通信セッション開始要求の送信タイミング（印刷データを決定してから、通信セッションの確立要求を送信する）以外は、実施形態１と同様の処理フローのため、説明を省略する。
【００６６】
（プリンタの動作）
図８は、本実施形態におけるプリンタ１０の動作処理フローを示す図である。本フローにおいては、Ｓ５０１〜Ｓ５１０の動作は実施形態１と同様であるため、説明を省略し、差分について説明する。
【００６７】
本実施形態では、Ｓ５０４において所定期間内に制御コマンドを受信していた場合（Ｓ５０４でＹＥＳ）に、通信制御部２０１が、通信セッション確立要求に含まれる通信プロトコルの情報を参照する（Ｓ８０１）。ここで、通信プロトコルの情報とは、例えば、通信セッションの確立後にすぐにプリントデータの転送を実行できるプロトコルであるか否かを特定することができる情報である。例えば、ある通信プロトコル（第１の通信プロトコルとする）は、通信セッションの確立後、ユーザが写真を選択する不定の時間が生じるため、セッションを確立しても通信が行われない時間が生じうる。このため、第１の通信プロトコルは、通信セッションの確立後、プリントデータの転送の実行までの時間（またはその期待値）が所定値以上、すなわちすぐにプリントデータの転送ができないプロトコルと特定できる。一方、ＰＣにおいてファイルを選択して印刷ボタンを押下した場合などは、送信すべきプリントデータが通信セッションの確立の前に定まっているため、通信セッションの確立後、すぐにプリントデータの転送が可能となる。このため、このようなＰＣによる印刷は通信セッションの確立後、即座にプリントデータの転送ができる別のプロトコル（第２の通信プロトコルとする）であると特定できる。
【００６８】
このため、プリンタ１０は、通信プロトコルの情報に基づいて、通信セッションの確立要求を送信した通信装置（デジタルカメラ３０）で、その確立要求の時点で転送すべきデータ（プリントデータ）が定まっているかを判定する（Ｓ８０２）。なお、この判定は、例えば通信プロトコルが第１の通信プロトコルである場合は、通信セッションの確立要求の時点では転送すべき画像データが定まっていないものと特定できる。一方、通信プロトコルが、ＰＣにより印刷対象を定めた後に通信セッションを確立する第２の通信プロトコルでは、通信セッションの確立要求の時点で転送すべき画像データが定まっていると特定することができる。また、通信プロトコルの指定だけでは転送すべきデータが決定されているか否かが不定な場合は、その転送すべきデータは定まっていないものとして扱ってもよい。また、例えば通信プロトコルの情報に代えて、転送すべきプリントデータが決定しているか否かを直接的に特定する情報を含めてもよい。さらに、転送すべきプリントデータのサイズなどの、データの転送にかかる実時間を推定可能とするための情報を含めてもよい。
【００６９】
ここで、通信セッションの確立要求の時点で転送すべきデータ（プリントデータ）が決定されている場合（Ｓ８０２でＹＥＳ）、新しい通信セッションによって通信資源が無駄に確保される時間がないか十分に短いと判定できる。このため、この場合は、プリンタ１０は実行中の通信セッションを切断する（Ｓ５０５）。Ｓ５０５以降の処理フローは、実施形態１の図５と同様である。
【００７０】
一方、通信セッションの確立要求の時点で転送すべきデータ（プリントデータ）が決定されていないと判定された場合（Ｓ８０２でＮＯ）、新しい通信セッションによって通信資源が無駄に占有される時間が長時間に及ぶ可能性があると判定できる。このため、この場合、プリンタ１０は、実行中の通信セッションを切断せずに維持する。そして、通信セッションの開始要求を送信した装置（デジタルカメラ３０）に対してＢＵＳＹ情報を送信し（Ｓ５１０）、通信セッションの確立を拒絶する。なお、プリンタ１０はデータの転送にかかる実時間を推定し、その推定値に基づいて確立中の通信セッションを切断するか否かを判定してもよい。Ｓ５１０以降の処理フローは、実施形態１と同様である。
【００７１】
なお、Ｓ８０２では、通信プロトコルの情報に基づいて、例えば、通信セッションの確立後にプリントデータの転送が実行されるまでの時間の期待値が所定値以下であるかを判定してもよい。なお、この判定は、通信セッション確立後に、セッションの確立要求を送信してきた装置（デジタルカメラ３０）が通信資源を無駄に確保すると考えられる時間の期待値が所定値以下であるかを判定することと等価である。この場合、通信セッションの確立後にプリントデータの転送が実行されるまでの時間の期待値が所定値以下である場合に、現在確立中の通信セッションを切断する（Ｓ５０５）。また、通信セッションの確立後にプリントデータの転送が実行されるまでの時間の期待値が所定値より大きい場合は、現在の通信セッションを切断せず、デジタルカメラ３０に対して、ＢＵＳＹ情報を送信する（Ｓ５１０）。
【００７２】
また、Ｓ８０２では、通信プロトコルの情報や、それに伴う転送すべきデータの情報に基づいて、データの転送にかかる実時間を推定し、その推定値が所定値以下であるかを判定してもよい。例えば、送信すべきデータが定まっていて、そのデータのサイズが極めて大きくデータ転送に多大な時間がかかる場合は、現在の通信セッションを優先して切断しないようにしてもよい。一方、データのサイズが十分小さくデータ転送にかかる時間が所定値以下である場合は、現在の通信セッションを切断し、新しい通信セッションによってそのデータを先に転送させてもよい。
【００７３】
以上の動作により、所定期間内に制御コマンドを受信した場合でも、新たな通信セッションが無駄に通信資源を占有するおそれがない場合は、実行中の通信セッションを切断し、その新たな通信セッションに通信資源を割り当てることができる。また、この場合、新しい通信セッションによる通信資源の占有時間が短いことを保証できるため、デジタルカメラ２０は通信セッションの再接続をすぐ実行できる。この結果、効率的に１つの装置（プリンタ１０）と複数の装置（デジタルカメラ２０、３０）との間の通信セッションを確立し、資源を共有することが可能となる。
【００７４】
＜＜実施形態３＞＞
（ネットワーク構成）
本実施形態においては、受信した通信セッション確立要求に対応する通信プロトコルの情報に応じた、もう１つの通信セッション切断方法について説明を行う。通信プロトコルの情報は、プリントデータの送受信を行うための通信路の確立後に、即時にプリントデータが転送できるプロトコルか否かを判定するために使われる。
【００７５】
なお、本実施形態におけるネットワーク構成、プリンタの構成、及びデジタルカメラの構成は実施形態１と同様であるため、ここでは説明を省略する。
【００７６】
（プリンタとデジタルカメラの動作）
本実施形態に係る、プリンタ１０とデジタルカメラ２０またはデジタルカメラ３０との間で行われる通信セッションの確立と切断の動作について、図９のシーケンス図を用いて説明する。まず、デジタルカメラ３０のインタフェース制御管理部３０８は、ダイレクトプリントの利用を開始するためのユーザ操作を受け付け、ダイレクトプリントを開始する（Ｆ９０１）。デジタルカメラ３０のインタフェース制御管理部３０８は、印刷するデータがユーザ操作により決定されると（Ｆ９０２）、ダイレクトプリントを開始する旨を通信制御部３０１へ通知する。デジタルカメラ３０の通信制御部３０１は、プリントデータを送受信する通信路を確立するため、通信部３０２を制御して、プリンタ１０に対して通信セッションの確立要求を送信する（Ｆ９０３）。
【００７７】
なお、本実施形態ではプリンタ１０とデジタルカメラ２０及びデジタルカメラ３０はアクセスポイント４０への無線ＬＡＮ接続を既に完了しているものとして説明する。ただし、この時点で無線ＬＡＮ接続は完了していなくてもよく、通信セッションの確立要求により、無線ＬＡＮなどの下位通信レイヤからＴＣＰ／ＩＰやＰＴＰ、ＰＴＰ−ＩＰなどの上位通信レイヤの接続を一括して行うようにしてもよい。また、本実施形態では通信セッションはＰＴＰ−ＩＰの接続として説明を行うがそれ以外の通信プロトコルでもよい。
【００７８】
プリンタ１０においては、通信部２０２がデジタルカメラ２０からの通信セッション確立要求（Ｆ９０３）を受信すると、通信制御部２０１は、デジタルカメラ２０に対して通信セッション確立要求応答を返信する（Ｆ９０４）。そして、デジタルカメラ２０とプリンタ１０との間で通信セッションが確立される（Ｆ９０５）。プリンタ１０とデジタルカメラ２０との間の通信セッションの確立後、プリンタ１０の通信制御部２０１は、通信セッション監視部２０３を制御して、通信セッションの状態の監視を開始する（Ｆ９０６）。
【００７９】
ここで、この状態において、デジタルカメラ３０のユーザが、ダイレクトプリントの利用を開始するためにデジタルカメラ３０を操作した場合について説明する。まず、デジタルカメラ３０のインタフェース制御管理部３０８は、ダイレクトプリントの利用を開始するためのユーザ操作を受け付け、ダイレクトプリントを開始する（Ｆ９０７）。なお、インタフェース制御管理部３０８は、ユーザ操作を受け付け、ダイレクトプリントを開始する旨を通信制御部３０１へ通知する。デジタルカメラ３０の通信制御部３０１は、プリントデータを送受信する通信路を確立するため、通信部３０２を制御して、プリンタ１０に対して通信セッションの確立要求を送信する（Ｆ９０８）。通信セッションの確立要求は、例えば、ダイレクトプリントアプリケーション開始時に送信される場合と、印刷するデータを決定後に送信される場合とがある。
【００８０】
プリンタ１０は、通信制御部２０１によって、通信セッション確立要求を受信した場合は、現在確立している通信セッションの通信プロトコルの情報を参照する。ここで、通信プロトコルの情報とは、例えば、通信セッションの確立後にすぐにプリントデータの転送を実行できるプロトコルであるか否かを特定することができる情報である。この特定方法については、実施形態２と同様であるため、詳細な説明は省略する。
【００８１】
プリンタ１０は、通信プロトコルの情報に基づいて、現在確立している通信セッションにおいて転送すべきデータ（プリントデータ）が定まっている通信プロトコルか否かを判定する。現在確立している通信セッションにおいて転送すべきデータ（プリントデータ）が定まっている通信プロトコルの場合は、現在の通信セッションを維持することを決定する。現在確立している通信セッションにおいて転送すべきデータ（プリントデータ）が定まっていない通信プロトコルの場合は、実施形態１及び２と同様にしてで、通信セッションを切断するか否かを判定する（Ｆ９０９）。
【００８２】
プリンタ１０では、通信部２０２がデジタルカメラ３０からの通信セッション確立要求を受信すると（Ｆ９０８）、通信制御部２０１は、現在確立中の通信セッションの通信プロトコルが転送すべきデータ（プリントデータ）が定まっているものかを判定する。現在確立している通信セッションの通信プロトコルが、転送すべきデータ（プリントデータ）が定まっている通信プロトコルである場合は、通信セッション確立要求を送信した装置（デジタルカメラ３０）に対して、ＢＵＳＹであることを通知する（Ｆ９１０）。なお、ＢＵＳＹであることの通知とは、すなわち、現在確立中の通信セッションを維持する旨を通知である。
【００８３】
デジタルカメラ３０は、通信部３０２を介して、プリンタ１０からのＢＵＳＹ情報を受信すると、プリンタ１０の通信セッションが空くまでＷａｉｔ状態に遷移する（Ｆ９１１）。この時、デジタルカメラ３０は、所定時間後に通信セッションの再開処理を行ってもよい。この場合、デジタルカメラ３０は、例えば、通信セッションの再開時間まで無線通信機能をパワーセーブ状態とし、再開時間の経過後に通信セッションの再接続処理を行う。また、デジタルカメラ３０は、プリンタ１０が通信セッション確立要求を定期的にポーリングするのを待ち受ける状態となってもよいし、印刷アプリケーションを終了してもよい。また、プリンタ１０が通信セッションの確立要求を送出する場合は、デジタルカメラ２０はその要求を待ち受ける状態となってもよい。
【００８４】
デジタルカメラ２０は、ユーザ操作などで選択されたプリントデータを、通信部３０２を介してプリンタ１０へ送信する（Ｆ９１２）。プリンタ１０は、デジタルカメラ２０からのプリントデータを通信部２０２で受信すると、通信部２０２を介してデジタルカメラ２０へプリントデータ送信結果を送信する（Ｆ９１３）。プリンタ１０は、受信したプリントデータの印刷が可能である場合、プリンタ機能部２０４によりそのプリントデータの印刷を実行する（Ｆ９１４）。プリンタ１０は、デジタルカメラ２０との通信セッションの切断（Ｆ９１５）の後、通信部２０２を介して、もう一方のデジタルカメラ３０に対してａｃｃｅｐｔ、すなわち通信セッションの確立を促すメッセージを通知する（Ｆ９１５）。そして、デジタルカメラ３０はＷａｉｔ状態を解除して（Ｆ９１７）、プリンタ１０と通信セッションを確立する。プリンタ１０とデジタルカメラ３０の通信セッション確立フローは、実施形態１で説明した図４のＦ４１９からＦ４２６までと同様のため説明は省略する。
【００８５】
以上の動作により、現在の通信セッションが無駄に通信資源を占有するおそれがない場合は、実行中の通信セッションを維持し、通信セッション切断後に、新たな通信セッションに通信資源を割り当てることができる。また、この場合、通信セッションによる通信資源の占有時間が短いことを保証できるため、効率的に１つの装置（プリンタ１０）と複数の装置（デジタルカメラ２０、３０）との間の通信セッションを確立し、資源を共有することが可能となる。
【００８６】
（デジタルカメラの動作）
デジタルカメラの動作については、実施形態１の図６と同様の処理フローのため、説明を省略する。
【００８７】
（プリンタの動作）
図１０は、本実施形態におけるプリンタ１０の動作処理フローを示す図である。処理が開始されると、まず、通信制御部２０１が通信部２０２を介して、通信セッション確立要求の送信元の通信装置（本実施形態ではデジタルカメラ２０）へ通信セッション確立要求応答を送信する。これにより、プリンタ１０は、その通信装置（デジタルカメラ２０）との間の通信セッションを確立する（Ｓ１００１）。プリンタ１０は、通信制御部２０１によって、通信セッション確立要求を受信した場合は、現在確立している通信セッションの通信プロトコルの情報を参照する。ここで、通信プロトコルの情報とは、例えば、通信セッションの確立後にすぐにプリントデータの転送を実行できるプロトコルであるか否かを特定することができる情報であり、この詳細については上述の説明と同様であるため詳細な説明を省略する。
【００８８】
次にプリンタ１０は、印刷データを受信しているか否かを判断する（Ｓ１００２）。印刷データを受信している場合は（Ｓ１００２でＹＥＳ）、印刷を実行する（Ｓ１００３）。プリンタ１０は、印刷を実行すると、確立している通信セッションの切断を行う（Ｓ１００４）。
【００８９】
一方、通信制御部２０１は、印刷実行中に、他の通信装置（デジタルカメラ３０）から通信路を確立するための通信セッションの確立要求を、通信部２０２を介して受信したか否かを判定する（Ｓ１００５）。すなわち、印刷処理を保留にしていた通信装置が存在するか否かを判断する。
【００９０】
プリンタ１０は、印刷実行中に、他の通信装置（デジタルカメラ３０）から通信路を確立するための通信セッションの確立要求を受信していた場合（Ｓ１００５でＹＥＳ）、もう一方のデジタルカメラ３０に対しａｃｃｅｐｔを通知する（Ｓ１００６）。すなわち、印刷処理保留にしていた通信装置に対して、通信セッションに空きが生じたことを通知する。プリンタ１０は、デジタルカメラ３０に対しａｃｃｅｐｔを通知後に、デジタルカメラ３０と通信セッションの確立を行い（Ｓ１００７）、印刷処理を実行する。
【００９１】
一方で、プリンタ１０は、Ｓ１００２で印刷データを受信しているか否かを判断した際に、印刷データを受信していない場合（Ｓ１００２でＮＯ）、他の通信装置（デジタルカメラ３０）から通信セッションの確立要求を受信したかを判断する（Ｓ１００８）。すなわち、印刷処理が完了していない時に、他の通信装置（デジタルカメラ３０）から通信セッションの確立要求を受信したかを判断する。
【００９２】
プリンタ１０は、通信プロトコルの情報に基づいて、現在確立している通信セッションにおいて転送すべきデータ（プリントデータ）が定まっている通信プロトコルか否かを判定する。現在確立している通信セッションにおいて転送すべきデータ（プリントデータ）が定まっている通信プロトコルの場合は、現在の通信セッションを維持することを決定する。そして、この場合、通信セッション確立要求を送信した装置（デジタルカメラ３０）に対して、ＢＵＳＹであること、すなわち現在確立中の通信セッションを維持する旨を通知する（Ｓ１００９）。
【００９３】
以上の動作により、現在の通信セッションが無駄に通信資源を占有するおそれがない場合は、実行中の通信セッションを維持して、通信セッション切断後に、新たな通信セッションに通信資源を割り当てることができる。また、この場合、通信セッションによる通信資源の占有時間が短いことを保証できるため、効率的に１つの装置（プリンタ１０）と複数の装置（デジタルカメラ２０、３０）との間の通信セッションを確立し、資源を共有することが可能となる。
【００９４】
＜＜その他の実施形態＞＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013123212.tif 000003
【図２】
2013123212.tif 000004
【図３】
2013123212.tif 000005
【図４】
2013123212.tif 000006
【図５】
2013123212.tif 000007
【図６】
2013123212.tif 000008
【図７】
2013123212.tif 000009
【図８】
2013123212.tif 000010
【図９】
2013123212.tif 000011
【図１０】
2013123212.tif 000012