(57)【要約】【課題】サービス提供装置が提供するサービスを実行するサービス利用装置において、実行中であるサービスの停止が通知されても、該通知とは異なるプロトコルで同様のサービスの提供情報が取得されていれば、該サービスの実行を継続する。【解決手段】サービス提供装置によるサービスの提供および提供停止の情報を複数のプロトコルにより取得し、提供されたサービスを、該サービス提供を通知したプロトコルの情報とともに管理しておく。第1のプロトコルによってあるサービスの停止情報を取得した場合、まず第1のプロトコルに関する該サービスの情報を管理対象から除外する(S701)。このとき、該サービスが実行中であれば(S702)、該サービスの提供が第2のプロトコルで取得されているか否かを判定し(S703)、取得されていれば該サービスの実行を継続する(S704)。【選択図】  図5
2014164347.tif 000002
【特許請求の範囲】
【請求項１】
サービス提供装置が提供するサービスを利用するサービス利用装置であって、
サービス提供装置によるサービスの提供および提供停止の情報を複数のプロトコルにより取得する取得手段と、
前記サービス提供装置によって提供中であるサービスを、該サービスの提供情報を取得したプロトコルの情報とともに管理する管理手段と、
前記サービス提供装置によって提供中であるサービスの利用処理を行う利用処理手段と、
前記利用処理手段がサービスの利用処理を実行中に前記取得手段が第1のプロトコルにより該サービスの提供停止の情報を取得した場合に、該サービスの利用処理の継続を、前記管理手段における第2のプロトコルで提供情報が取得されたサービスの管理内容に応じて制御する制御手段と、
を有することを特徴とするサービス利用装置。
【請求項２】
前記管理手段は、前記取得手段が前記サービスの提供停止の情報を取得した場合に、該情報を取得したプロトコルによって該サービスの提供情報が取得されたという情報を管理対象から外すことを特徴とする請求項1に記載のサービス利用装置。
【請求項３】
前記制御手段は、前記利用処理手段が第1のサービスの利用処理を実行中に前記取得手段が前記第1のプロトコルにより該第1のサービスの提供停止の情報を取得した場合に、前記管理手段において該第1のサービスの提供情報が前記第2のプロトコルにより取得されたとして管理されていれば、該第1のサービスの利用処理を継続することを特徴とする請求項1または2に記載のサービス利用装置。
【請求項４】
前記制御手段はさらに、前記管理手段において前記第1のサービスと同様の機能を提供する第2のサービスの提供情報が前記第2のプロトコルにより取得されたとして管理されていれば、該第1のサービスの利用処理を停止して該第2のサービスの利用処理を実行することを特徴とする請求項3に記載のサービス利用装置。
【請求項５】
前記制御手段はさらに、前記管理手段において前記第2のサービスの提供情報が管理されていなければ、前記第1のサービスの利用処理を停止することを特徴とする請求項4に記載のサービス利用装置。
【請求項６】
前記制御手段は、前記第1のサービスの利用処理を停止した場合、該停止の情報をユーザに通知することを特徴とする請求項5に記載のサービス利用装置。
【請求項７】
前記第2のサービスは、前記第1のサービスと異なる処理手順によって前記第1のサービスと同様の機能を提供するサービスであることを特徴とする請求項4乃至6のいずれか1項に記載のサービス利用装置。
【請求項８】
取得手段、管理手段、利用処理手段、および制御手段を有し、サービス提供装置が提供するサービスを利用するサービス利用装置の制御方法であって、
前記取得手段が、サービス提供装置によるサービスの提供および提供停止の情報を複数のプロトコルにより取得し、
前記管理手段が、前記サービス提供装置によって提供中であるサービスを、該サービスの提供情報を取得したプロトコルの情報とともに管理し、
前記利用処理手段が、前記サービス提供装置によって提供中であるサービスの利用処理を行い、
前記制御手段が、前記利用処理手段がサービスの利用処理を実行中に前記取得手段が第1のプロトコルにより該サービスの提供停止の情報を取得した場合に、該サービスの利用処理の継続を、前記管理手段における第2のプロトコルで提供情報が取得されたサービスの管理内容に応じて制御することを特徴とするサービス利用装置の制御方法。
【請求項９】
コンピュータ装置で実行されることにより、該コンピュータ装置を請求項1乃至7のいずれか1項に記載のサービス利用装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信プロトコルを用いて、他の装置が提供するサービスの情報を検索し、検出したサービスを利用するサービス利用装置およびその制御方法に関する。
【背景技術】
【０００２】
通信機器が無線ネットワークを介して、他の通信機器が提供するサービスを検索し、また他の通信機器に自機器が提供するサービスを通知するための通信プロトコル(サービス発見プロトコル)が知られている。例えば、Universal Plug and Play(UPnP)や、Multicast Domain Name System(mDNS)等である。上記のサービス発見プロトコルは並存しているのが現状であり、広く接続性を保つためには、1つの通信機器が複数のサービス発見プロトコルをサポートする必要がある。すなわち、サービス提供装置では1つのサービスを複数のサービス発見プロトコルで広告し、サービス利用装置では利用したいサービスを複数のサービス発見プロトコルで検索しなければならない。
【０００３】
また現状においては、同一の機能を実現できる複数のサービスが存在する。例えば、プリンタが提供する「ネットワーク印刷」機能について、サービス(実行手順)として種々の通信プロトコルが定義されている。例えば、IPP(Internet Printing Protocol)や、PTP-IP(Picture Transfer Protocol over TCP/IP networks)等が知られている。このようなサービス実行手順に関しても併存しているのが現状であり、広く接続性を保つためには、サービス提供装置、サービス利用装置共に、複数のサービス実行手順を実装する必要がある。
【０００４】
以上のような状況下において、1つの機能を複数のサービス発見プロトコルを用いて検索するサービス利用装置においては、同一のサービス提供装置が提供する同一の機能を、複数のサービス発見プロトコルで発見する可能性がある。そのためサービス利用装置では、実際には同一の機能を持つサービスを、あたかも複数の機能があるかのように誤認識してしまう可能性がある。
【０００５】
このような問題を解決するための技術として、異なるプロトコル間で同一のサービス属性情報を用いることで、発見したサービスが同一のサービスであるか否かを判断する手法が提示されている(例えば、特許文献1参照)。また該技術によれば、同一のサービスを複数発見した場合は、その中の1つのサービスを選択して実行する手法についても提示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2004-248072号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般にサービス提供装置は、サービス利用装置でのサービス実行状態に依らず、サービスの提供を停止することが可能であり、サービス発見プロトコルによるサービスの通知も、サービス利用装置の状態とは非同期に停止することができる。例えば、PTP-IPサービスとIPPサービスを提供するプリンタ(サービス提供装置)は、何らかの契機(ユーザ操作など)によっていずれか一方のサービスの提供を停止することができる。
【０００８】
サービス提供装置はまた、1つのサービスを複数のサービス発見プロトコルで通知している場合、サービスの提供は継続したまま、いずれかのサービス発見プロトコルによる通知のみを停止することも可能である。例えば、PTP-IPサービスを提供するプリンタ(サービス提供装置)がUPnPとmDNSでこれを通知する場合であれば、該プリンタはPTP-IPサービスの提供を継続したまま、UPnPによるサービス通知のみを停止することができる。この場合、プリンタはサービス利用装置に対し、UPnPによるサービスの消滅を通知する。
【０００９】
一方、上記従来のサービス利用装置においては、サービス発見プロトコルによるサービスの消滅を検知した場合、当該サービスの提供が停止されたと判断していた。例えば、サービス利用装置がPTP-IPサービスをUPnP、mDNSの双方で発見した場合に、UPnP、mDNSのいずれかによってサービスが消滅したことを検知すると、PTP-IPサービスが停止されたものと判断してしまう。このように、実際にはPTP-IPサービスの提供は継続されているにも関わらず、サービス利用装置がPTP-IPサービスを継続利用できなくなってしまうという問題があった。
【００１０】
また、サービス提供装置が同一の機能を有する複数のサービスを提供している場合について考える。例えば、「ネットワーク印刷」機能についてPTP-IPサービスとIPPサービスを提供するプリンタ(サービス提供装置)と、このネットワーク印刷機能を利用して画像を印刷するデジタルカメラ(サービス利用装置)を考える。このようなユースケースにおいて、一般的にユーザはデジタルカメラで「画像を印刷する」ことを意識するのであって、印刷する手段(PTP-IPで印刷するかIPPで印刷するか)については意識しない。上記特許文献1に記載の技術においては、このような状況でデジタルカメラはPTP-IPとIPPが同一の機能を持つサービスであることを認識し、いずれか一方のサービスを利用して画像のネットワーク印刷を行うことができる。
【００１１】
しかしながら上記特許文献1においては、サービスが消滅する際の動作については考慮されていないため、以下のような問題があった。例えば上記の例においてデジタルカメラがPTP-IPを選択して印刷している最中に、プリンタがPTP-IPサービスのみを停止した場合、IPPを使用した印刷が可能であるにもかかわらず、デジタルカメラは印刷処理が失敗したと判断してしまう。
【００１２】
本発明は上記課題に鑑みてなされたものであり、サービス提供装置が提供するサービスを実行するサービス利用装置において、以下の機能を実現することを目的とする。すなわち、実行中であるサービスの提供停止が通知された場合に、該停止を通知したものとは異なる通信プロトコルで同様のサービスの提供情報が取得されていれば、該サービスの実行を継続可能とすることを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するための一手段として、本発明のサービス利用装置は以下の構成を備える。すなわち、サービス提供装置が提供するサービスを利用するサービス利用装置であって、サービス提供装置によるサービスの提供および提供停止の情報を複数のプロトコルにより取得する取得手段と、前記サービス提供装置によって提供中であるサービスを、該サービスの提供情報を取得したプロトコルの情報とともに管理する管理手段と、前記サービス提供装置によって提供中であるサービスの利用処理を行う利用処理手段と、前記利用処理手段がサービスの利用処理を実行中に前記取得手段が第1のプロトコルにより該サービスの提供停止の情報を取得した場合に、該サービスの利用処理の継続を、前記管理手段における第2のプロトコルで提供情報が取得されたサービスの管理内容に応じて制御する制御手段と、を有することを特徴とする
【発明の効果】
【００１４】
本発明によれば、サービス利用装置において、実行中であるサービスの提供停止が通知された場合に、該停止を通知したものとは異なる通信プロトコルで同様のサービスの提供情報が取得されていれば、該サービスの実行が継続可能となる。
【図面の簡単な説明】
【００１５】
【図１】実施形態におけるサービス利用装置の構成例を示すブロック図、
【図２】実施形態におけるサービス提供装置の構成例を示すブロック図、
【図３】サービス利用装置におけるサービス検索開始処理を示すフローチャート、
【図４】サービス利用装置におけるサービス発見処理を示すフローチャート、
【図５】サービス利用装置におけるサービス消滅検知処理を示すフローチャート、
【図６】サービス利用装置におけるサービス管理テーブルの構成例を示す図、
【図７】実施形態における通信シーケンス例を示す図、
【図８】サービス利用装置におけるUI例を示す図、である。
【発明を実施するための形態】
【００１６】
以下、本発明実施形態について、図面を参照して説明する。なお、以下の実施の形態は特許請求の範囲に関わる本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１７】
＜第1実施形態＞
本実施形態では、サービス利用装置が、複数の通信プロトコルを用いて、サービス提供装置が提供するサービスの情報を検索し、検出したサービスを利用する情報通信システムについて説明する。
【００１８】
●サービス利用装置の構成
図1(a)は、本実施形態におけるサービス利用装置のハードウェア構成例を示すブロック図である。以下、本実施形態ではサービス利用装置としてデジタルカメラ100を想定する。
【００１９】
図1(a)において、101は表示部、102は操作部であり、アプリケーションの表示や実行等を行う。103は被写体の光学像を撮像する撮像部である。104は撮像部103から出力された撮像画像を所定フォーマットの画像データに変換し、画像データに透かしデータを付与する等、各種画像処理を施す画像処理部である。105は画像処理部104から出力された画像データに対して、所定の高能率符号化(例えば、DCT変換、量子化後に可変長符号化)を行う符号化／復号化部である。以下、符号化／復号化部105では、JPEG(Joint Photographic Experts Group)方式を用いた圧縮符号化を行うとする。符号化／復号化部105はまた、記録再生部106から再生された圧縮画像データを伸長復号化し、その画像データを画像処理部104に供給する。106は圧縮符号化された画像データを不図示の記録媒体に記録再生する記録再生部である。107は記憶部であり、無線通信ネットワーク情報、データ送受信情報、通信機器情報、撮影画像情報、等の各種データを記憶、管理する。108は電源部である。109は時間を計測する計時部である。110はデジタルカメラ100の全体を制御する制御部である。111は制御命令つまりプログラムが格納されているROMであり、112はRAMである。115は無線LAN通信を行うアンテナ、113はアンテナ115を制御する無線LANアンテナ制御部である。114は通信インタフェース部(以下、通信I/Fと表記)である。通信I/F114はネットワークの検索、構築、接続、管理など通信処理を行う。
【００２０】
上記図1(a)に示した構成からなるデジタルカメラ100について、その機能構成であるカメラ機能200を図1(b)に示す。デジタルカメラ100におけるカメラ機能200は、ROM111にプログラムとして記憶され、制御部110によって実行される。なお、カメラ機能200に含まれる一部乃至全部がハードウェア化されていても良い。
【００２１】
図1(b)において、210はUPnP検索処理部であり、Universal Plug and Play(UPnP)によって外部装置が提供するサービスの情報を検索および取得する。またUPnP検索処理部210は、発見したサービスの消滅監視も行う。220はmDNS検索処理部であり、Multicast Domain Name System(mDNS)によって外部装置が提供するサービスの情報を検索および取得する。またmDNS検索処理部220は、発見したサービスの消滅監視も行う。本実施形態ではUPnP検索処理部210およびmDNS検索処理部220の双方が、無線LAN通信を用いて印刷を行う機能をサポートするプリントサービスAおよびプリントサービスBの検索処理を行うとする。
【００２２】
230はサービス利用処理部であり、UPnP検索処理部210、mDNS検索処理部220が発見したサービスの機能を実行する。サービス利用処理部230は、さらにプリントサービスAの機能を実行するプリントサービスA処理部231と、プリントサービスBの機能を実行するプリントサービスB処理部232に細分化される。ここで、本実施形態における第1のサービスであるプリントサービスAと、第2のサービスであるプリントサービスBとは同一の機能(例えば、写真を印刷する機能)をサポートするが、その処理手順が異なる。ここでは、プリントサービスAとプリントサービスBのそれぞれにおける具体的な手順については規定しない。各プリントサービスに対応する標準的な手法としては、PTP(Picture Transfer Protocol)やLPR(Line PRinter daemon protocol)等が挙げられる。また、SMB(Server Message Block)やBIP(Basic Imaging Profile)等も適用可能である。
【００２３】
●サービス提供装置の構成
図2(a)は、本実施形態におけるサービス提供装置のハードウェア構成を示すブロック図である。以下、本実施形態ではサービス提供装置としてプリンタ300を想定する。
【００２４】
図2(a)において、301は表示部、302は操作部であり、アプリケーションの表示や実行等を行う。303はプリント処理部であり、用紙に画像を印刷する。なお、プリント処理部303としては如何なる印刷方式を用いても良いが、本実施形態では熱エネルギーによってインク液滴を記録紙等の記録媒体上に吐出するインクジェット方式による印刷方式を想定する。304は電源部、305は時間を計測する計時部である。306はプリンタ300の全体を制御する制御部である。307は制御命令つまりプログラムが格納されているROM、308はRAMである。311は無線LAN通信を行うアンテナ、310はアンテナ311を制御する無線LANアンテナ制御部である。309は通信I/Fである。通信I/F309はネットワークの検索、構築、接続、管理など通信処理を行う。
【００２５】
上記図2(a)に示した構成からなるプリンタ300について、その機能構成であるプリンタ機能400を図2(b)に示す。プリンタ300におけるプリンタ機能400は、ROM307にプログラムとして記憶され、制御部306によって実行される。なお、プリンタ機能400に含まれる一部乃至全部がハードウェア化されていても良い。
【００２６】
図2(b)において、410はUPnP検索処理部であり、UPnPによってプリンタ300が提供するサービスの情報を通知する。UPnP処理部410は、SSDP(Simple Service Discovery Protocol)のNOTIFYメッセージで、自身のサービス情報を通知する。またUPnP処理部410は、サービス利用装置が送信するサービス情報要求メッセージ(SSDPのM-Searchメッセージ)に対して、応答メッセージ(SSDPのResponseメッセージ)で自身のサービス情報を通知する。420はmDNS処理部であり、mDNSによってプリンタ300が提供するサービスの情報を通知する。mDNS処理部420は、mDNSのAnnounceメッセージで、自身のサービス情報を通知する。またmDNS処理部420は、サービス利用装置が送信するサービス情報要求メッセージ(mDNSのQueryメッセージ)に対して、応答メッセージ(mDNSのResponseメッセージ)で自身のサービス情報を通知する。プリンタ300においては、UPnPによってプリントサービスAおよびプリントサービスBを通知し、mDNSでプリントサービスAを通知するものとする。
【００２７】
430はプリントサービス処理部であり、無線LAN通信を用いてサービス利用装置から印刷の要求を受け取り、実際に印刷処理を実行する。プリントサービス処理部430は、プリント処理部431、プリントサービスAインタフェース(I/F)432、プリントサービスB I/F433で構成される。プリント処理部431は、印刷データをプリント処理部303に渡して、実際の印刷処理を制御する。プリントサービスA I/F432、プリントサービスB I/F433は、それぞれプリントサービスA/Bが定めるフォーマットで、外部のサービス利用装置と通信を行う。プリントサービスA I/F432、プリントサービスB I/F433は、サービス利用装置から受信した印刷データをプリント処理部431に渡し、プリント処理部431から取得した印刷処理結果をサービス利用装置に返す。
【００２８】
●カメラ動作
以下、本実施形態におけるデジタルカメラ100の動作について、図3、図4、図5のフローチャートを用いて説明する。
【００２９】
・サービス検索開始
図3は、デジタルカメラ100において、プリントサービスの検索を開始した際の動作を示すフローチャートである。この処理は、デジタルカメラ100においてユーザが写真を印刷するための操作を行ったことを契機として実施されるものと想定する。
【００３０】
本処理が開始されるとデジタルカメラ100は、UPnPを用いてプリントサービスAまたはプリントサービスBを提供するプリンタの検索処理を開始する(S501,S502)。デジタルカメラ100はさらに、mDNSを用いてプリントサービスAを提供するプリンタの検索処理を開始する(S503)。
【００３１】
・サービス発見
図4は、デジタルカメラ100が図3で開始したサービス検索処理によってサービスを発見した際の動作を示すフローチャートである。
【００３２】
デジタルカメラ100は、UPnPまたはmDNSでサービスを発見すると、発見したサービスの情報をサービス管理テーブルに記憶する(S601)。サービス管理テーブルは、サービス提供装置によって提供中である、すなわちデジタルカメラ100が利用可能なサービスを管理するためのテーブルであり、その構成例を図6に示す。図6において、801はデジタルカメラ100が発見したサービスを提供するサービス提供装置の識別子、802はサービスを発見した発見手法、803は発見したサービスの種別、を示す。本実施形態では、発見手法802としてUPnPまたはmDNSが、サービス種別803としてプリントサービスAまたはプリントサービスBが指定される。
【００３３】
次にデジタルカメラ100は、発見したサービスがプリントサービスAであるか否かを判定する(S602)。プリントサービスAであれば、実際のプリント処理が開始されているか否かを判定する(S603)。未だプリント処理が開始されていなければ、プリントサービスAの手順でプリント処理を開始する(S604)。一方、すでにプリント処理が開始されている場合には、既に開始されているプリント処理を継続する。ここで、仮に開始されているプリント処理がプリントサービスBの手順によるものであったとしても、デジタルカメラ100はすでに開始されている(プリントサービスBの手順による)プリント処理を継続する。
【００３４】
S602において、発見したサービスがプリントサービスAでなければ、さらにプリントサービスBであるか否かを判定する(S605)。プリントサービスBであれば、実際のプリント処理が開始されているか否かを判定する(S606)。未だプリント処理が開始されていなければ、プリントサービスBの手順でプリント処理を開始する(S607)。一方、すでにプリント処理が開始されている場合には、既に開始されているプリント処理を継続する。ここで、仮に開始されているプリント処理がプリントサービスAの手順によるものであったとしても、デジタルカメラ100はすでに開始されている(プリントサービスAの手順による)プリント処理を継続する。
【００３５】
・サービス消滅検知
図5は、デジタルカメラ100でプリント処理を実行中に、UPnPまたはmDNSによってプリントサービスの消滅を検知した際の動作を示すフローチャートである。
【００３６】
デジタルカメラ100はサービスの消滅を検知すると、S601で記憶したサービス管理テーブルから、該消滅を検知したプロトコルに対応するレコードを削除することで、管理対象から外す(S701)。例えば、UPnPによってプリントサービスAの消滅が検知された場合、サービス管理テーブルにおいて発見手法802が"UPnP"であり、サービス種別803が"プリントサービスA"であるレコードNo.1のレコードを削除する。
【００３７】
続いてデジタルカメラ100は、消滅したサービスの手順でプリント処理を実行中であるか否かを判定する(S702)。当該プリント処理を実行中であれば、デジタルカメラ100はサービス管理テーブルを検索して、レコードが削除されたサービスと同一のサービスが別のプロトコルで発見されているか否かを判定する(S703)。消滅したサービスと同一のサービスが別のプロトコルで発見されていれば、デジタルカメラ100は実行中のプリント処理を継続する(S704)。例えばS701でサービス管理テーブルからレコードNo.1が削除された際に、プリントサービスAが実行中であれば、レコードNo.3から、サービス消滅を通知したUPnPとは異なるmDNSによってプリントサービスAが発見されていることが分かる。したがって、プリントサービスAによるプリント処理は継続される。
【００３８】
一方、S703で消滅したサービスと同一のサービスが別のプロトコルで発見されていない場合には、デジタルカメラ100は再度サービス管理テーブルを検索し、消滅したサービスと異なるプリントサービスが発見されているか判定する(S705)。消滅したサービスと異なるプリントサービスが発見されていれば、デジタルカメラ100は実行中のプリント処理を停止して、発見されているサービスの手順でプリント処理をやり直す(S706)。例えばS701でサービス管理テーブルからレコードNo.2が削除された際に、プリントサービスBが実行中であった場合、サービス消滅を通知したmDNSとは異なるUPnPによってプリントサービスBは発見されていない。しかしながら、レコードNo.1,3から他のプリントサービスAが発見されていることが分かるため、実行中であるプリントサービスBによるプリント処理を停止して、プリントサービスAの手順でプリント処理をやり直す。
【００３９】
一方、S705で消滅を検知したサービス以外のプリントサービスを発見していなければ、デジタルカメラ100はプリント処理を停止し(S707)、プリント処理に失敗した旨をユーザに通知する(S708)。
【００４０】
なお、本実施形態において、S704によるプリント継続状態、およびS706によるプリント再実行状態では、プリントサービスが消滅した旨、またはプリント処理をやり直した旨をユーザに通知しない。すなわちデジタルカメラ100においては、最終的にプリント処理が成功した、または失敗した、のいずれかのみをユーザに通知する。
【００４１】
●プリントUI
以下、デジタルカメラ100においてプリント処理を行う際のユーザインタフェース(UI)例を図8(a)〜図8(d)に示し、説明する。なお、図8(a)〜図8(d)は、デジタルカメラ100の背面に具備されたタッチパネル画面に表示されるUI例を示す。
【００４２】
図8(a)は、デジタルカメラ100でユーザが写真の印刷を開始する際のUI例である。ユーザは該UIに表示される写真1001を印刷する際、印刷メニュー1002内に表示される「はい」ボタン1003をタッチすることで、印刷処理が開始される。すなわち、「はい」ボタン1003がタッチされたことを契機に、図3のフローチャートに示す処理が開始され、UIは図8(b)に示す状態に遷移する。図8(b)は、プリント処理が開始された後(図3の動作が実施された後)、プリント処理が完了するまで表示されるUI例であり、プリント処理が実行中であることをユーザに示す。デジタルカメラ100は、プリント処理が正常に完了すると図8(c)に示すようなUIを表示し、プリント処理が正常に完了した旨をユーザに通知する。一方、プリント処理に失敗した場合には図8(d)に示すようなUIを表示し、プリント処理に失敗した旨をユーザに通知する。
【００４３】
●通信シーケンス
次に、本実施形態におけるデジタルカメラ100とプリンタ300の間の通信シーケンスの一例について、図7を用いて説明する。初期状態として、デジタルカメラ100とプリンタ300は無線LANによって接続済みであるとする。
【００４４】
まずプリンタ300において、ユーザがプリントサービスを開始するための操作を行う(S901)。この操作が行われると、プリンタ300はプリントサービスA・Bのサービス通知を開始する(S902,S905)。このとき、mDNSおよびUPnPでプリントサービスAのサービス情報通知を開始し(S903,S904)、UPnPでプリントサービスBのサービス情報通知を開始する(S906)。
【００４５】
一方、デジタルカメラ100において、ユーザが印刷処理を開始するための操作を行うと(S907)、デジタルカメラ100はプリントサービスA,Bのサービス検索を開始する(S908)。デジタルカメラ100は、mDNSによるプリントサービスAのサービス情報通知を受信すると(S909)、mDNSでプリントサービスAを発見したことをサービス管理テーブルに記憶する(S910)。その後、プリントサービスAの手順で印刷処理を開始する(S911)。なお、実際の処理ではデジタルカメラ100がS910でプリントサービスAを発見したことをプリンタ300に通知するシーケンスが発生するが、図7ではこのようなデジタルカメラ100からプリンタ300への通知シーケンスの表記を割愛している。
【００４６】
続いてデジタルカメラ100は、UPnPによるプリントサービスA・Bのサービス情報通知を受信すると(S912,S914)、それぞれのサービスをUPnPで発見したことをサービス管理テーブルに記憶する(S913,S915)。なお、この時点でデジタルカメラ100は、S911で開始したプリントサービスAの手順による印刷処理を継続している。
【００４７】
次に、プリンタ300において、mDNSによるプリントサービスAの通知処理を停止する。この処理は、プリンタ300でのボタン操作等によるユーザ操作を契機として行われるか、またはプリンタ300で動作するプログラムによって自動的に行われる。mDNSによるプリントサービスAの通知を停止する際、プリンタ300はmDNSによるプリントサービスAが消滅した旨を示すmDNSのメッセージ(サービス消滅通知)を送信する(S917)。このmDNSのサービス消滅通知を受信したデジタルカメラ100は、S910で記憶したサービス管理テーブルのレコードを削除する(S918)。この時点で、サービス管理テーブルにはS913で記憶したUPnPで発見したプリントサービスAの情報が残っているため、デジタルカメラ100はS911で開始したプリントサービスAの手順による印刷処理を継続する(S919)。
【００４８】
次に、プリンタ300において、プリントサービスAの処理を停止する(S920)。この処理もS916と同様、プリンタ300におけるボタン操作等によるユーザ操作を契機として行われるか、プリンタ300で動作するプログラムによって自動的に行われる。プリンタ300はプリントサービスAの処理を停止する際、プリントサービスAが消滅した旨を通知するUPnPのメッセージ(サービス消滅通知)を送信する(S921)。このUPnPのサービス消滅通知を受信したデジタルカメラ100は、S913で記憶したサービス管理テーブルのレコードを削除する(S922)。この時点で、サービス管理テーブルにはプリントサービスAの情報が残っていないため、デジタルカメラ100はプリントサービスAの手順による印刷処理を停止する(S923)。しかしながら、この時点でサービス管理テーブルにS915で記憶したプリントサービスBの情報が残っているので、デジタルカメラ100はプリントサービスBの手順で印刷処理を開始する(S924)。
【００４９】
次に、プリンタ300において、プリントサービスBの処理も停止する(S925)と、プリンタ300はリントサービスBが消滅した旨を通知するUPnPのメッセージ(サービス消滅通知)を送信する(S926)。このUPnPのサービス消滅通知を受信したデジタルカメラ100は、S915で記憶したサービス管理テーブルのレコードを削除する(S927)。この時点で、サービス管理テーブルにはプリントサービスBの情報が残っていないため、デジタルカメラ100はプリントサービスBの手順による印刷処理を停止する(S928)。この時点で、サービス管理テーブルにはプリント処理に関するサービスの情報が残っていないため、デジタルカメラ100は印刷処理に失敗したと判断し、ユーザに印刷の失敗を通知する(S929)。
【００５０】
図7に示す通信シーケンスでは、印刷に失敗する例を示したが、S911で印刷処理を開始してからS926でサービス消滅通知を受信するまでの間に、いずれかのプリントサービスの手順で印刷完了すれば、デジタルカメラ100は印刷に成功したと判断する。
【００５１】
以上説明したように本実施形態によれば、サービス提供装置によるサービスの提供および提供停止の情報を複数のプロトコルにより取得し、提供中であるサービスを、その提供情報を取得したプロトコルの情報とともに管理する。そして、サービスの利用中に第1のプロトコルにより該サービスの提供停止の情報を取得した場合、該サービス利用の継続を、第2のプロトコルで提供情報が取得されたサービスの管理内容に応じて制御する。これにより例えば、サービス利用装置であるデジタルカメラにおいて、同一のサービスを複数のサービス発見プロトコルで発見した際に、いずれかのサービス発見プロトコルでサービスの消滅を検知しても、サービスの利用を継続することができる。また、同一の機能で異なる実行手順のサービスを複数発見した際、いずれかのサービスの消滅を検知しても、ユーザの操作なしに他の同一機能のサービスを利用することで、サービス利用の継続がなされる。
【００５２】
なお、本実施形態では複数のサービス通知プロトコルとしてUPnPとmDNSを例として説明したが、本発明におけるサービス通知プロトコルはこの例に限定されない。また本実施形態では、サービス提供装置およびサービス利用装置がサポートするサービス通知プロトコルを2種類としたが、3種類以上のサービス通知プロトコルを使用しても良い。
【００５３】
また、本実施形態ではサービスの種別としてプリントサービスを例として説明したが、本発明におけるサービスとはプリントサービスに限るものではない。
【００５４】
また、本実施形態におけるサービス利用装置(デジタルカメラ)は、無線LANでサービス提供装置(プリンタ)との通信を行う、すなわち無線LAN通信上でのメッセージでサービスの発見・消滅検知を行う例を示したが、本発明はこの例に限定されない。例えば、有線LAN、Bluetooth(登録商標)、USB、ワイヤレスUSB、ZigBee等のいずれか、または複数を用いて、サービス利用装置とサービス提供装置を接続しても良い。また、サービス利用装置がサービスの消滅を検知する方法も、上記通信の切断、メッセージ受信のタイムアウト、ユーザ操作等を契機に、サービスの消滅を検知するものであっても良い。
【００５５】
＜他の実施形態＞
本発明は、上述した実施形態の機能(例えば、上記の各部の処理を各工程に対応させたフローチャートにより示される処理)を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が、コンピュータが読み取り可能に記憶媒体に格納されたプログラムコードを読み出し実行することにより、上述した実施形態の機能を実現する。
【図１】
2014164347.tif 000003
【図２】
2014164347.tif 000004
【図３】
2014164347.tif 000005
【図４】
2014164347.tif 000006
【図５】
2014164347.tif 000007
【図６】
2014164347.tif 000008
【図７】
2014164347.tif 000009
【図８】
2014164347.tif 000010