JP2010061377A - 制御装置およびサービス提供装置 - Google Patents

制御装置およびサービス提供装置 Download PDF

Info

Publication number
JP2010061377A
JP2010061377A JP2008226168A JP2008226168A JP2010061377A JP 2010061377 A JP2010061377 A JP 2010061377A JP 2008226168 A JP2008226168 A JP 2008226168A JP 2008226168 A JP2008226168 A JP 2008226168A JP 2010061377 A JP2010061377 A JP 2010061377A
Authority
JP
Japan
Prior art keywords
service
upnp
upnp device
control point
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2008226168A
Other languages
English (en)
Inventor
Kazuyuki Shibuya
和行 澁谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Corp filed Critical Olympus Corp
Priority to JP2008226168A priority Critical patent/JP2010061377A/ja
Publication of JP2010061377A publication Critical patent/JP2010061377A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】UPnPコントロール・ポイントが利用対象とするUPnPデバイスの切替を迅速に行うことができる制御装置およびサービス提供装置を提供する。
【解決手段】DSC10は、UPnPデバイスが提供するサービスの利用を行うUPnPコントロール・ポイント150を有する。UPnPコントロール・ポイント150は、第1のUPnPデバイスが提供するサービスの利用中に、第1のUPnPデバイスに対して、第2のUPnPデバイスへの切替を要求する。また、UPnPコントロール・ポイント150は、この要求に対する肯定的な応答を第1のUPnPデバイスから得た後、第2のUPnPデバイスが提供するサービスの利用に係る制御を行う。
【選択図】図3

Description

本発明は、UPnPデバイスが提供するサービスの利用を行うUPnPコントロール・ポイントとして動作する制御装置に関する。また、本発明は、制御装置に対してサービスの提供を行うUPnPデバイスを有するサービス提供装置に関する。
近年、複数のサービスを提供する装置が増えてきている。それら複数のサービスの中から、ユーザは、サービスの制御を行う制御装置を通じて、所望のサービスまたはサービスセットを利用することができる。例えばプリンタ装置では、プリントに関するサービスセットを提供することが可能である。さらに、コンテンツが記録されたメモリーカードをメモリーカードスロットに挿入することで、メディアサーバに関するサービスセットを提供することが可能となってきている。
従来、サービスの提供およびサービスの制御に関して、例えばUPnP(Universal Plug and Play)のような相互接続技術が利用されている。特許文献1では、このUPnPに基づき、装置内の構成に関してこれから発生する変化を、制御装置であるUPnPコントロール・ポイント側へ通知する技術が開示されている。これにより、UPnPコントロール・ポイント側でサービスまたはデバイスの切替タイミングを把握することができるようになっている。
特表2006−519431号公報
しかしながら、従来のUPnPおよび特許文献1においては、UPnPコントロール・ポイント側からサービスの切替を明示することができない。このため、以下の問題が生じる。サービスを提供可能なUPnPデバイスを有する装置が装置単体で複数のサービスを有していても、装置自身で利用できるリソースが少ない、あるいは、装置が有するユーザインターフェースの仕様上の制限等により、複数のサービスまたはサービスセットをユーザに対して同時に提供できない場合がある。そのような状況では、UPnPコントロール・ポイント側が、あるサービスまたはサービスセットを利用していて、別のサービスまたはサービスセットを利用しようとするときに、サービスや装置の動作状況によっては、UPnPコントロール・ポイント側のユーザを長時間待機させることになってしまい、これがユーザの不満となる。
一方、第1のUPnPコントロール・ポイントが利用対象のサービスを第1のUPnPデバイスから第2のUPnPデバイスへと切り替え、その後、第2のUPnPコントロール・ポイントが第1のUPnPデバイスのサービスを利用しようとした場合には以下の問題が生じる。第1のUPnPデバイスは、第1のUPnPコントロール・ポイントからの制御のために割いていたリソースを、サービスの切替の明示がないためにすぐに解放することができない。このため、第1のUPnPデバイスのリソースが少ない場合には、第1のUPnPデバイスは、第2のUPnPコントロール・ポイントから要求される制御を実行することができないまま第2のUPnPコントロール・ポイント側のユーザを長時間待機させることになってしまい、これがユーザの不満となる。
本発明は、上述した課題に鑑みてなされたものであって、UPnPコントロール・ポイントが利用対象とするUPnPデバイスの切替を迅速に行うことができる制御装置およびサービス提供装置を提供することを目的とする。
本発明は、上記の課題を解決するためになされたもので、UPnPデバイスが提供するサービスの利用を行うUPnPコントロール・ポイントとして動作する制御装置であって、第1のUPnPデバイスが提供するサービスの利用中に、前記第1のUPnPデバイスに対して、第2のUPnPデバイスへの切替を要求する要求部と、前記要求部が行った要求に対する肯定的な応答を前記第1のUPnPデバイスから得た後、前記第2のUPnPデバイスが提供するサービスの利用に係る制御を行う制御部とを具備することを特徴とする制御装置である。
また、本発明の制御装置は、UPnPデバイスからサービス情報を取得する取得部をさらに具備し、前記要求部は、前記取得部によって前記第2のUPnPデバイスから前記サービス情報が取得されている場合に、前記第2のUPnPデバイスへの切替を要求することを特徴とする。
また、本発明の制御装置において、前記要求部は、前記第1のUPnPデバイスに対して、利用中のサービス毎に前記第2のUPnPデバイスへの切替を要求し、前記制御部は、前記要求部が要求を行った全てのサービスから肯定的な応答を得た後、前記第2のUPnPデバイスが提供するサービスの利用に係る制御を行うことを特徴とする。
また、本発明の制御装置は、前記要求部が行った要求に対する肯定的な応答を前記第1のUPnPデバイスから得た後、前記第1のUPnPデバイスに対して、前記第1のUPnPデバイスが提供するサービスの利用を解除する通知を行う通知部をさらに具備することを特徴とする。
また、本発明の制御装置において、利用するサービスを提供するUPnPデバイスを備える装置と、中継端末を介さず、直接通信することで、当該サービスの利用を行うことを特徴とする。
また、本発明は、UPnPコントロール・ポイントとして動作する制御装置に対してサービスの提供を行うUPnPデバイスとして動作するサービス提供装置であって、前記制御装置へのサービスの提供中に、当該制御装置から、サービスを提供中のUPnPデバイスとは異なるUPnPデバイスへの切替の要求を受け付ける要求受付部と、前記要求を行った前記制御装置に対して、当該要求に対する肯定的な応答、または、当該要求に対する否定的な応答を行う応答部とを具備することを特徴とするサービス提供装置である。
本発明によれば、制御装置が、利用中のサービスを提供するUPnPデバイスに対して、利用中のサービスとは異なるサービスを提供するUPnPデバイスへの切替を要求することによって、UPnPコントロール・ポイントが利用対象とするUPnPデバイスの切替を迅速に行うことができる。
以下、図面を参照し、本発明の実施形態を説明する。本実施形態では、UPnPコントロール・ポイントの機能を有する制御装置の一例として、デジタルスチルカメラを用いて説明する。これに限らず、PC、携帯電話、PDA、光ディスク・HDDレコーダ、TV、ゲーム機、ビデオカメラなど、ネットワークに接続可能であって、UPnPコントロール・ポイントの機能を有しうる装置を制御装置として使用することが可能である。
一方、本実施形態では、サービス提供装置の一例として、印刷に係るサービスを提供するUPnPデバイスを有するプリンタを用いて説明する。これに限らず、PC、携帯電話、デジタルカメラなど、ネットワークに接続可能であって、UPnPデバイスを有しうるUPnPデバイス装置をサービス提供装置として使用することが可能である。
図1は、本発明の一実施形態によるデジタルスチルカメラ(以下、DSCと略記する)およびプリンタの構成を示している。DSC10は、UPnPコントロール・ポイントの機能を有する制御装置として動作する。プリンタ30は、ネットワーク20を介してDSC10と接続されており、UPnPデバイスを有するサービス提供装置として動作する。図2はDSC10およびプリンタ30の背面を示している。
図1に示すように、DSC10は、CPU101、入力インターフェース部102、ROM103、RAM104、表示部105、外部I/F(外部インターフェース)106、ファイル管理部107、記録部108、圧縮伸張エンジン109、撮像部110を備える。
CPU101は、ROM103に格納されている制御プログラムに従い、RAM104を作業領域に用いて各種制御を行う。また、このCPU101は、有線あるいは無線のネットワークプロトコルにより、外部I/F106を介してネットワーク20に接続し、外部のプリンタ30と通信できるようになっている。外部のプリンタ30との通信時に送受信するデータは、RAM104に格納される。
入力インターフェース部102は、ユーザがDSC10に対する操作入力を行うためのスイッチ、ボタン、キー、ダイヤル等の操作入力部である。また、この入力インターフェース部102は、表示部105に重ねられたタッチパネル等であってもよい。表示部105は、画像や操作メニュー等を表示することが可能である。ファイル管理部107は、CPU101からの指示に従い、記録部108に記録されるファイルを管理する。
記録部108は、半導体メモリ、磁気メモリ、磁気ディスク、光ディスク、光磁気ディスク等の不揮発性の記録媒体、あるいはそれらに限らず、情報を記録することができる不揮発性の記録媒体であり、また上記記録媒体の組み合わせであってもよい。さらには、記録部108が単数の記録媒体のみから構成される必要は無く、記録部108が複数の記録媒体から構成されていても構わない。
圧縮伸張エンジン109は、画像の圧縮および伸張を行う。撮像部110は、被写体像を撮像し撮像データを生成する。
このような構成のDSC10では、撮影時には、入力インターフェース部102に入力された指示に従って、CPU101が撮像部110から撮像データを取り込む。さらに、CPU101は、図2に示すように、撮像データに基づく画像を表示部105に表示するとともに、RAM104内に撮像データを格納する。そして、CPU101が圧縮伸張エンジン109に圧縮指示を行うと、圧縮伸張エンジン109は、上記RAM104内の撮像データを、CPU101が指定するフォーマットの画像へと圧縮する。圧縮された画像は、CPU101からの指示により、ファイル管理部107を通して記録部108に記録される。
このように記録部108に記録された画像の再生時には、まずCPU101からの指示により、ファイル管理部107を通して記録部108内の画像が読み出され、圧縮伸張エンジン109により、記録されているフォーマットに従い画像が伸張される。伸張された画像は表示部105に表示される。また、撮像時あるいは再生時のDSC10および画像に係る設定を行うための設定画面が表示部105に表示された状態で、ユーザは入力インターフェース102を用いてDSC10の設定を行うことが可能である。
一方、プリンタ30は、CPU301、ROM302、RAM303、圧縮伸張エンジン304、外部I/F305、ファイル管理部306、記録部307、入力インターフェース部308、表示部309、印刷部310を備える。
CPU301は、ROM302に格納されている制御プログラムに従い、RAM303を作業領域に用いて各種制御を行う。また、CPU301は、有線あるいは無線のネットワークプロトコルにより、外部I/F305を介してネットワーク20に接続し、外部のDSC10と通信できるようになっている。外部のDSC10との通信時に送受信するデータはRAM303に格納される。受信したデータが画像であり、この画像を記録する場合には、記録部307に画像が記録される。一方で、受信したデータに基づき印刷する場合には、CPU301からの指示により、RAM303に格納された受信データからレイアウトや画像等が読み出され、印刷部310により印刷が行われる。
圧縮伸張エンジン304は、画像の圧縮および伸張を行う。ファイル管理部306は、CPU301からの指示に従い、記録部307に記録されるファイルを管理する。記録部307は記録媒体であり、前述した記録部108に関する説明と同様の説明が記録部307にも適用される。
入力インターフェース部308は、ユーザがプリンタ30に対する操作入力を行うための操作入力部であり、前述した入力インターフェース部102に関する説明と同様の説明が入力インターフェース部308にも適用される。表示部309は、画像や操作メニュー等を表示することが可能である。
記録部307に記録された画像の再生時には、まずCPU301からの指示により、ファイル管理部306を通して記録部307内の画像が読み出され、圧縮伸張エンジン304により、記録されているフォーマットに従い画像が伸張される。伸張された画像は表示部309に表示される。
DSC10とプリンタ30との通信は、アクセスポイント等の中継端末を介するインフラストラクチャモードで行われてもよいし、あるいは中継端末を介さず互いに直接通信するアドホックモードで行われてもよい。
次に、DSC10とプリンタ30が有するUPnPの機能を説明する。図3に示すようにDSC10は、UPnPコントロール・ポイント150(要求部、制御部、取得部、通知部に対応)を内部に有する。プリンタ30は、UPnPプリンタデバイス320(要求受付部、応答部に対応)とUPnPメディアサーバデバイス330(要求受付部、応答部に対応)とを内部に有する。以下、UPnPプリンタデバイス320とUPnPメディアサーバデバイス330とを含めてUPnPデバイスと呼ぶことにする。UPnPコントロール・ポイント150、UPnPプリンタデバイス320、UPnPメディアサーバデバイス330の各機能は、CPU101またはCPU301が制御プログラムに従って実行するソフトウェア処理により実現される。
UPnPプリンタデバイス320はさらにPrintBasicサービス321とPrintEnhancedサービス322を有する。PrintBasicサービス321は、文書の印刷に関する基本的な印刷サービスを提供する。PrintEnhancedサービス322は、より拡張されたレイアウトの指定等のサービスを提供する。
UPnPメディアサーバデバイス330はさらにContentDirectoryサービス331とConnectionManagerサービス332を有する。ContentDirectoryサービス331は、ディレクトリ上でコンテンツを管理するサービスを提供する。ConnectionManagerサービス332は、コンテンツを通信するための接続に関するサービスを提供する。
UPnPコントロール・ポイント150は、UPnPプリンタデバイス320に対して、PrintBasicサービス321または/およびPrintEnhancedサービス322を制御することで、プリンタ30に印刷させることができる。一方、UPnPコントロール・ポイント150は、UPnPメディアサーバデバイス330に対して、ContentDirectoryサービス331または/およびConnectionManagerサービス332を制御することで、プリンタ30の記録部307に記録されているコンテンツをDSC10上で再生することができる。
次に、DSC10の動作を説明する。図4および図5はDSC10の動作の手順を示している。ステップS103〜S118は従来のUPnPコントロール・ポイントの処理ステップである。DSC10の電源がオンになると、UPnPコントロール・ポイント150は、ネットワークに接続済みであるか否かを判定する(ステップS101)。ネットワークに接続済みでない場合、UPnPコントロール・ポイント150はネットワークへの接続を確立する(ステップS102)。この後、処理はステップS103に進む。
一方、ネットワークに接続済みである場合、UPnPコントロール・ポイント150は、ネットワーク上のUPnPデバイスを発見するためのM−SEARCHを送信する(ステップS103)。続いて、UPnPコントロール・ポイント150は、M−SEARCHに対する応答(M−SEARCH Response)を受信したか否かを判定する(ステップS104)。応答を受信していない場合、UPnPコントロール・ポイント150は、UPnPデバイスからネットワーク参加通知(ssdp:alive)を受信したか否かを判定する(ステップS105)。ネットワーク参加通知を受信していない場合、処理はステップS104に戻る。
一方、M−SEARCHに対する応答またはネットワーク参加通知を受信した場合、UPnPコントロール・ポイント150は、M−SEARCHに対する応答またはネットワーク参加通知により発見したUPnPデバイスから、そのUPnPデバイスの情報(製造者情報や、UPnPデバイスが有するサービスの基本的な情報等)を含むDevice Description(デバイス情報)を取得するためのDevice Description取得要求(デバイス情報要求、HTTP GET)を送信する(ステップS106)。続いて、UPnPコントロール・ポイント150は、Device Descriptionを受信したか否かを判定する(ステップS107)。Device Descriptionを受信していない場合、処理はステップS107に戻り、再度判定が行われる。
一方、Device Descriptionを受信した場合、UPnPコントロール・ポイント150は、UPnPデバイスが提供するサービスの具体的な制御内容等に関するサービス情報を含むService Description(サービス情報)を取得するためのService Description取得要求(サービス情報要求、HTTP GET)を送信する(ステップS108)。このService Description取得要求はサービス毎に送信される。続いて、UPnPコントロール・ポイント150は、Service Descriptionを受信したか否かを判定する(ステップS109)。Service Descriptionを受信していない場合、処理はステップS109に戻り、再度判定が行われる。
一方、Service Descriptionを受信した場合、UPnPコントロール・ポイント150は、Service Descriptionに含まれるサービス情報をRAM104に記憶する(ステップS110)。続いて、UPnPコントロール・ポイント150は、Service Description取得要求の送信先である全てのサービスからService Descriptionを受信したか否かを判定する(ステップS111)。Service Descriptionを受信していないサービスがある場合、Service Descriptionの受信を待つため、処理はステップS109に戻る。
一方、全てのサービスからService Descriptionを受信した場合、UPnPコントロール・ポイント150は、Device Description取得要求の送信先である全てのUPnPデバイスからDevice Descriptionを受信したか否かを判定する(ステップS112)。Device Descriptionを受信していないUPnPデバイスがある場合、Device Descriptionの受信を待つため、処理はステップS107に戻る。
一方、全てのUPnPデバイスからDevice Descriptionを受信した場合、UPnPコントロール・ポイント150は制御対象のUPnPデバイスを選択する(ステップS113)。このとき、図6に示すように、利用可能なUPnPデバイスの一覧がDSC10の表示部105に表示され、ユーザは所望のUPnPデバイスを選択することが可能となる。利用したいUPnPデバイスの情報が入力インターフェース部102に入力されると、UPnPコントロール・ポイント150は、入力された情報に基づいて制御対象のUPnPデバイスを選択する。
制御対象のUPnPデバイスの選択後、UPnPコントロール・ポイント150は、制御対象のUPnPデバイス内の必要なサービスに対して、サービスの状態変化によるイベント通知を登録するためのSubscribe(イベント登録)を送信する(ステップS114)。続いて、UPnPコントロール・ポイント150は、サービスにおけるイベントの発生を通知するNotifyを受信したか否かを判定する(ステップS115)。Notifyを受信した場合、処理はステップS119に進む。
一方、Notifyを受信していない場合、UPnPコントロール・ポイント150は、ユーザからの指示等によりUPnPデバイスに対する何らかの制御を行うためのActionを発行するか否かを判定する(ステップS116)。Actionを発行する必要がない場合、処理はステップS119に進む。
一方、Actionを発行する必要がある場合、UPnPコントロール・ポイント150は、制御対象のUPnPデバイスにActionを送信する(ステップS117)。続いて、UPnPコントロール・ポイント150は、Actionに対する応答を受信したか否かを判定する(ステップS118)。応答を受信していない場合、処理はステップS118に戻り、再度判定が行われる。
一方、応答を受信した場合、UPnPコントロール・ポイント150は、制御対象のUPnPデバイスを変更するか否かを判定する(ステップS119)。このとき、図6に示したように、利用可能なUPnPデバイスの一覧がDSC10の表示部105に表示され、ユーザは、現在利用中のUPnPデバイスとは異なるUPnPデバイスを切替先のUPnPデバイスとして選択することが可能となる。現在利用中のUPnPデバイスから他のUPnPデバイスへの切替指示が入力インターフェース部102に入力されず、制御対象のUPnPデバイスを変更する必要がない場合、処理はステップS115に戻る。
一方、現在利用中のUPnPデバイスから他のUPnPデバイスへの切替指示が入力インターフェース部102に入力されると、UPnPコントロール・ポイント150は、入力された切替指示に基づいて、それまで制御対象としていたUPnPデバイス内に存在する各サービスに対して、切替準備要求Actionを送信する(ステップS120)。
続いて、UPnPコントロール・ポイント150は、切替準備要求Actionに対応して切替準備の完了を通知する切替準備完了Notifyを受信したか否かを判定する(ステップS121)。切替準備完了Notifyを受信した場合、処理はステップS125に進む。
一方、切替準備完了Notifyを受信していない場合、UPnPコントロール・ポイント150は、ステップS120で送信した切替準備要求Actionの応答を受信したか否かを判定する(ステップS122)。応答を受信していない場合、処理はステップS121に戻る。一方、応答を受信している場合、UPnPコントロール・ポイント150は、その応答が正常応答であるか否かを判定する(ステップS123)。応答が正常応答である場合、処理はステップS125に進む。
一方、応答が正常応答でない場合、UPnPコントロール・ポイント150は、応答が所定のエラー応答であるか否かを判定する(ステップS124)。応答がエラー応答でない場合、処理はステップS119に戻る。一方、応答がエラー応答であった場合、処理はステップS121に戻る。
後述するように、切替準備要求Actionを受信したUPnPデバイスは、切替準備要求Actionの受信時に既に切替可能な状態であれば、切替準備応答を正常応答としてDSC10へ送信する。また、切替準備要求Actionの受信時に切替可能な状態でなければ、UPnPデバイスは切替準備応答としてエラー応答をDSC10へ送信し、その後、切替可能な状態になったときに切替準備完了NotifyをDSC10へ送信する。
切替準備完了Notifyまたは正常応答の切替準備応答を受信した場合、UPnPコントロール・ポイント150は、その送信元のサービスの切替準備が完了していることをRAM104に記憶する(ステップS125)。続いて、UPnPコントロール・ポイント150は、切替準備要求Actionの送信先のサービスの全てに関して切替準備が完了したか否かを判定する(ステップS126)。切替準備が完了していないサービスがある場合、処理はステップS121に戻る。
一方、切替準備要求Actionの送信先のサービスの全てに関して切替準備が完了した場合、UPnPコントロール・ポイント150は、ステップS120で切替準備要求Actionを送信した各サービスに対して、登録されているイベントの解除を通知するためのUnsubscribe(イベント登録解除)を送信する(ステップS127)。Unsubuscribeを受信したUPnPデバイスにおいてイベントの登録が解除されることで、サービスの利用が解除される。
ステップS127の後、処理はステップS114に戻り、UPnPコントロール・ポイント150は、切替先のUPnPデバイス内の必要なサービスに対してSubscribeを送信する。その後、上記と同様の処理が実行される。
次に、プリンタ30の動作を説明する。図7および図8はプリンタ30の動作の手順を示している。ステップS204〜S218は従来のUPnPデバイスの処理ステップである。プリンタ30の電源がオンになると、プリンタ30内のUPnPデバイスは、各サービスに関する切替待ちフラグを全てOFFに設定する(ステップS201)。
続いて、UPnPデバイスは、ネットワークに接続済みであるか否かを判定する(ステップS202)。ネットワークに接続済みでない場合、UPnPデバイスはネットワークへの接続を確立する(ステップS203)。この後、処理はステップS204に進む。
一方、ネットワークに接続済みである場合、プリンタ30内の各UPnPデバイスおよび各UPnPデバイス内のサービスはネットワーク参加通知(ssdp:alive)をUPnPコントロール・ポイントへ送信する(ステップS204)。続いて、UPnPデバイスは、UPnPコントロール・ポイントからM−SEARCHを受信したか否かを判定する(ステップS205)。M−SEARCHを受信していない場合、処理はステップS207へ進む。一方、M−SEARCHを受信した場合、UPnPデバイスは、M−SEARCHに対する応答をUPnPコントロール・ポイントへ送信する(ステップS206)。続いて、処理はステップS207に進む。
処理がステップS207に進んだ場合、UPnPデバイスは、UPnPコントロール・ポイントからDevice Description取得要求(デバイス情報要求)を受信したか否かを判定する(ステップS207)。Device Description取得要求を受信していない場合、処理はステップS209へ進む。一方、Device Description取得要求を受信した場合、UPnPデバイスは応答としてDevice DescriptionをUPnPコントロール・ポイントへ送信する(ステップS208)。続いて、処理はステップS209に進む。
処理がステップS209に進んだ場合、UPnPデバイス内のサービスは、UPnPコントロール・ポイントからService Description取得要求(サービス情報要求)を受信したか否かを判定する(ステップS209)。Service Description取得要求を受信していない場合、処理はステップS211へ進む。一方、Service Description取得要求を受信した場合、UPnPデバイス内のサービスは応答としてService DescriptionをUPnPコントロール・ポイントへ送信する(ステップS210)。続いて、処理はステップS211に進む。
処理がステップS211に進んだ場合、UPnPデバイス内のサービスは、UPnPコントロール・ポイントからSubscribe(イベント登録)を受信したか否かを判定する(ステップS211)。Subscribeを受信していない場合、処理はステップS215に進む。
一方、Subscribeを受信した場合、UPnPデバイス内のサービスは、Subscribeに対する応答をUPnPコントロール・ポイントへ送信する(ステップS212)。続いて、UPnPデバイス内のサービスは、SubscribeにSID(Service ID)が付与されているか否かを判定する(ステップS213)。SIDが付与されていないSubscribeは、初期イベントを登録するためのSubscribeであり、SIDが付与されているSubscribeは、登録されているイベントの状態を更新するためのSubscribeである。SubscribeにSIDが付与されている場合、処理はステップS215に進む。一方、SubscribeにサービスIDが付与されていない場合、UPnPデバイス内のサービスは、初期状態を通知するための初期イベントをUPnPコントロール・ポイントへ送信する(ステップS214)。続いて、処理はステップS215に進む。
処理がステップS215に進んだ場合、UPnPデバイス内のサービスは、UPnPコントロール・ポイントからUnsubscribe(イベント登録解除)を受信したか否かを判定する(ステップS215)。Unsubscribeを受信していない場合、処理はステップ217に進む。一方、Unsubscribeを受信した場合、UPnPデバイス内のサービスは、Unsubscribeに対する応答をUPnPコントロール・ポイントへ送信する(ステップS216)。続いて、処理はステップS217に進む。
処理がステップS217に進んだ場合、UPnPデバイス内のサービスは、サービス内の状態変化の有無を判定する(ステップS217)。サービス内の状態変化がない場合、処理はステップ219に進む。一方、サービス内の状態変化がある場合、UPnPデバイス内のサービスは、状態変化を通知するためのNotifyをUPnPコントロール・ポイントへ送信する(ステップS218)。続いて、処理はステップS219に進む。
処理がステップS219に進んだ場合、UPnPデバイス内のサービスは切替待ちフラグがONに設定されており、かつ自身のサービスから他のサービスへ切替可能な状態であるか否かを判定する(ステップS219)。切替待ちフラグがONに設定されており、かつ自身のサービスから他のサービスへ切替可能な状態である場合、UPnPデバイス内のサービスは切替準備完了NotifyをUPnPコントロール・ポイントへ送信する(ステップS220)。切替準備完了Notifyの送信後、UPnPデバイス内のサービスは切替待ちフラグをOFFに設定する(ステップS221)。続いて、処理はステップS222に進む。
一方、切替待ちフラグがOFFに設定されている場合、または自身のサービスから他のサービスへ切替可能な状態でない場合、UPnPデバイス内のサービスはUPnPコントロール・ポイントからActionを受信したか否かを判定する(ステップS222)。Actionを受信していない場合、処理はステップS205に戻る。一方、Actionを受信した場合、UPnPデバイス内のサービスは、受信したActionが切替準備要求Actionであるか否かを判定する(ステップS223)。受信したActionが切替準備要求Actionでない場合、UPnPデバイス内のサービスは、Actionに対する応答をUPnPコントロール・ポイントへ送信する(ステップS224)。続いて、処理はステップS205に戻る。
一方、受信したActionが切替準備要求Actionである場合、UPnPデバイス内のサービスは、自身のサービスから他のサービスへ切替可能な状態であるか否かを判定する(ステップS225)。自身のサービスから他のサービスへ切替可能な状態である場合、UPnPデバイス内のサービスは切替準備応答として正常応答をUPnPコントロール・ポイントへ送信する(ステップS226)。続いて、処理はステップS205に戻る。
一方、自身のサービスから他のサービスへ切替可能な状態でない場合、UPnPデバイス内のサービスは切替準備応答として所定のエラー応答をUPnPコントロール・ポイントへ送信する(ステップS227)。エラー応答の送信後、UPnPデバイス内のサービスは切替待ちフラグをONに設定する(ステップS228)。続いて、処理はステップS205に戻る。
次に、DSC10とプリンタ30との間で行われる通信の例を説明する。図9は、この通信の手順を示している。プリンタ30内の各UPnPデバイス(UPnPプリンタデバイス320、UPnPメディアサーバデバイス330)および各UPnPデバイス内のサービス(PrintBasicサービス321、PrintEnhancedサービス322、ContentDirectoryサービス331、ConnectionManagerサービス332)はネットワーク参加通知(ssdp:alive)をネットワーク上にマルチキャストする(ステップS204に対応)。
一方、DSC10内のUPnPコントロール・ポイント150は、ネットワークに参加すると、ネットワーク上にM−SEARCHをマルチキャストする(ステップS103に対応)。UPnPプリンタデバイス320とUPnPメディアサーバデバイス330は、M−SEARCHを受信すると、M−SEARCHレスポンスをUPnPコントロール・ポイント150へ送信する(ステップS205,S206に対応)。
UPnPコントロール・ポイント150は、M−SEARCHレスポンスを受信すると、M−SEARCHレスポンス内に記述されている情報に基づき、UPnPプリンタデバイス320とUPnPメディアサーバデバイス330に対してDevice Description取得要求(HTTP GET)を送信する(ステップS104,S106に対応)。
UPnPプリンタデバイス320とUPnPメディアサーバデバイス330は、Device Description取得要求を受信すると、それぞれのUPnPデバイスに関するDevice DescriptionをUPnPコントロール・ポイント150へ送信する(ステップS207,S208に対応)。
UPnPコントロール・ポイント150は、UPnPプリンタデバイス320とUPnPメディアサーバデバイス330からDevice Descriptionを受信すると、Device Description内に記述されている情報に基づき、PrintBasicサービス321、PrintEnhancedサービス322、ContentDirectoryサービス331、ConnectionManagerサービス332に対してService Description取得要求(HTTP GET)を送信する(ステップS107,S108に対応)。
PrintBasicサービス321、PrintEnhancedサービス322、ContentDirectoryサービス331、ConnectionManagerサービス332は、Service Description取得要求を受信すると、それぞれのサービスに関するService DescriptionをUPnPコントロール・ポイント150へ送信する(ステップS209,S210に対応)。
UPnPコントロール・ポイント150は、PrintBasicサービス321、PrintEnhancedサービス322、ContentDirectoryサービス331、ConnectionManagerサービス332からService Descriptionを受信すると、それぞれのService Description内に記述されている情報を記憶する(ステップS109,S110に対応)。
上記のように、UPnPコントロール・ポイント150は、UPnPプリンタデバイス320とUPnPメディアサーバデバイス330からDevice Descriptionを受信し、PrintBasicサービス321、PrintEnhancedサービス322、ContentDirectoryサービス331、ConnectionManagerサービス332からService Descriptionを受信する。受信の確認はステップS111,S112に対応している。
制御対象のUPnPデバイスとしてUPnPプリンタデバイス320が選択されると、UPnPコントロール・ポイント150は、UPnPプリンタデバイス320内のサービスであるPrintBasicサービス321とPrintEnhancedサービス322に対してSubscribeを送信する(ステップS113,S114に対応)。
その後、UPnPコントロール・ポイント150とPrintBasicサービス321、PrintEnhancedサービス322との間で、Action、Action応答、イベント(Notify)が送受信される(ステップS115〜S118,S214,S217,S218,S222〜S224に対応)。
例えば、ユーザがUPnPプリンタデバイス320からUPnPメディアサーバデバイス330へと制御対象を変更したい場合(ステップS119に対応)、UPnPコントロール・ポイント150は、現在制御対象としているUPnPプリンタデバイス320内の各サービスであるPrintBasicサービス321とPrintEnhancedサービス322に対して切替準備要求Actionを送信する(ステップS120に対応)。
PrintBasicサービス321とPrintEnhancedサービス322は、切替準備要求Actionを受信すると(ステップS223に対応)、それぞれのサービスに関して、サービスを終了して他のサービスへ移行可能であるかどうかを判断する(ステップS225に対応)。例えば、切替準備要求Actionの受信時点において、PrintBasicサービス321では即移行可能であり、PrintEnhancedサービス322では即移行可能でないとする。その場合、PrintBasicサービス321は切替準備要求Actionの応答を正常応答で送信し(ステップS226に対応)、PrintEnhancedサービス322は切替準備要求Actionの応答を所定のエラー応答で送信する(ステップS227,S228に対応)。
その後、PrintEnhancedサービス322は、他のサービスへ移行が可能となったときに、切替準備完了Notifyを送信する(ステップS220に対応)。
UPnPコントロール・ポイント150は、PrintBasicサービス321から受信した切替準備要求Actionの正常応答(ステップS123に対応)、PrintEnhancedサービス322から受信した切替準備要求Actionのエラー応答(ステップS124に対応)と切替準備完了Notifyの受信(ステップS121に対応)により、PrintBasicサービス321とPrintEnhancedサービス322とで切替準備が完了していると判断し(ステップS125,S126に対応)、それぞれのサービスへUnsubscribeを送信してから(ステップS127に対応)、新たに制御対象としたいサービスであるContentDirectoryサービス331とConnectionManagerサービス332に対してSubscribeを送信する(ステップS114に対応)。
次に、UPnPコントロール・ポイントとUPnPデバイス、UPnPデバイス内のサービスとの間で送受信される各種メッセージの内容例を説明する。図10はService Descirptionの内容例を示している。符号1000が示す部分では切替準備要求Actionの定義が記述されている。また、符号1010が示す部分では切替準備完了Notifyの定義が記述されている。
図11は切替準備要求Actionの内容例を示している。符号1100が示す部分では、切替準備要求Actionであることを示す内容が記述されている。図12は切替準備要求Actionの応答(正常応答の場合)の内容例を示している。符号1200が示す部分では、切替準備要求Actionの正常応答であることを示す内容が記述されている。
図13は切替準備要求Actionの応答(エラー応答の場合)の内容例を示している。符号1300が示す部分では、切替準備要求Actionのエラー応答であることを示す内容が記述されている。図14は切替準備完了Notifyの内容例を示している。符号1400が示す部分では、切替準備完了Notifyであることを示す内容が記述されている。
上述したように、本実施形態によれば、利用中のサービスとは異なるサービスを提供するUPnPデバイスへの切替の要求が発生した時点で、UPnPコントロール・ポイントが、利用中のサービスを提供するUPnPデバイスに対してUPnPデバイスの切替を要求することによって、利用対象とするUPnPデバイスの切替を迅速に行うことができる。したがって、UPnPコントロール・ポイントが第1のUPnPデバイスのサービスを利用しており、第1のUPnPデバイスのサービスから第2のUPnPデバイスのサービスへ利用を切り替えようとしている場合に、UPnPコントロール・ポイントはUPnPコントロール・ポイント側のユーザを長時間待機させることなく、第2のUPnPデバイスのサービスを利用することができる。
また、本実施形態では、同一のサービス提供装置内で利用対象のUPnPデバイスを切り替える例を説明したが、異なるサービス提供装置の間で利用対象のUPnPデバイスを切り替えるようにしてもよい。この場合の手順も、本実施形態で説明した手順と同様である。したがって、サービスを提供する第1のUPnPデバイスが、そのサービスを利用している第1のUPnPコントロール・ポイントから、第2のUPnPデバイスへの切替要求を受けた場合に、リソースを迅速に解放することが可能となる。これによって、第2のUPnPコントロール・ポイントが第1のUPnPデバイスのサービスを利用しようとしている場合に、第2のUPnPコントロール・ポイントは第2のUPnPコントロール・ポイント側のユーザを長時間待機させることなく、第1のUPnPデバイスのサービスを利用することができる。
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
本発明の一実施形態によるデジタルスチルカメラおよびプリンタの構成を示すブロック図である。 本発明の一実施形態によるデジタルスチルカメラおよびプリンタの背面図である。 本発明の一実施形態によるデジタルスチルカメラおよびプリンタが有するUPnPの機能を示す機能構成図である。 本発明の一実施形態によるデジタルスチルカメラの動作の手順を示すフローチャートである。 本発明の一実施形態によるデジタルスチルカメラの動作の手順を示すフローチャートである。 本発明の一実施形態におけるUPnPデバイスの選択方法を説明するための参考図である。 本発明の一実施形態によるプリンタの動作の手順を示すフローチャートである。 本発明の一実施形態によるプリンタの動作の手順を示すフローチャートである。 本発明の一実施形態によるデジタルスチルカメラとプリンタの間で行われる通信の手順を示すシーケンス図である。 本発明の一実施形態におけるメッセージの内容例を示す参考図である。 本発明の一実施形態におけるメッセージの内容例を示す参考図である。 本発明の一実施形態におけるメッセージの内容例を示す参考図である。 本発明の一実施形態におけるメッセージの内容例を示す参考図である。 本発明の一実施形態におけるメッセージの内容例を示す参考図である。
符号の説明
10・・・DSC、20・・・ネットワーク、30・・・プリンタ、101,301・・・CPU、102,308・・・入力インターフェース部、103,302・・・ROM、104,303・・・RAM、105,309・・・表示部、106,305・・・外部I/F、107,306・・・ファイル管理部、108,307・・・記録部、109,304・・・圧縮伸張エンジン、110・・・撮像部、150・・・UPnPコントロール・ポイント、310・・・印刷部、320・・・UPnPプリンタデバイス、330・・・UPnPメディアサーバデバイス、321・・・PrintBasicサービス、322・・・PrintEnhancedサービス、331・・・ContentDirectoryサービス、332・・・ConnectionManagerサービス

Claims (6)

  1. UPnPデバイスが提供するサービスの利用を行うUPnPコントロール・ポイントとして動作する制御装置であって、
    第1のUPnPデバイスが提供するサービスの利用中に、前記第1のUPnPデバイスに対して、第2のUPnPデバイスへの切替を要求する要求部と、
    前記要求部が行った要求に対する肯定的な応答を前記第1のUPnPデバイスから得た後、前記第2のUPnPデバイスが提供するサービスの利用に係る制御を行う制御部と、
    を具備することを特徴とする制御装置。
  2. UPnPデバイスからサービス情報を取得する取得部をさらに具備し、
    前記要求部は、前記取得部によって前記第2のUPnPデバイスから前記サービス情報が取得されている場合に、前記第2のUPnPデバイスへの切替を要求する
    ことを特徴とする請求項1に記載の制御装置。
  3. 前記要求部は、前記第1のUPnPデバイスに対して、利用中のサービス毎に前記第2のUPnPデバイスへの切替を要求し、
    前記制御部は、前記要求部が要求を行った全てのサービスから肯定的な応答を得た後、前記第2のUPnPデバイスが提供するサービスの利用に係る制御を行う
    ことを特徴とする請求項1に記載の制御装置。
  4. 前記要求部が行った要求に対する肯定的な応答を前記第1のUPnPデバイスから得た後、前記第1のUPnPデバイスに対して、前記第1のUPnPデバイスが提供するサービスの利用を解除する通知を行う通知部をさらに具備することを特徴とする請求項1に記載の制御装置。
  5. 利用するサービスを提供するUPnPデバイスを備える装置と、中継端末を介さず、直接通信することで、当該サービスの利用を行うことを特徴とする請求項1に記載の制御装置。
  6. UPnPコントロール・ポイントとして動作する制御装置に対してサービスの提供を行うUPnPデバイスとして動作するサービス提供装置であって、
    前記制御装置へのサービスの提供中に、当該制御装置から、サービスを提供中のUPnPデバイスとは異なるUPnPデバイスへの切替の要求を受け付ける要求受付部と、
    前記要求を行った前記制御装置に対して、当該要求に対する肯定的な応答、または、当該要求に対する否定的な応答を行う応答部と、
    を具備することを特徴とするサービス提供装置。
JP2008226168A 2008-09-03 2008-09-03 制御装置およびサービス提供装置 Withdrawn JP2010061377A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008226168A JP2010061377A (ja) 2008-09-03 2008-09-03 制御装置およびサービス提供装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008226168A JP2010061377A (ja) 2008-09-03 2008-09-03 制御装置およびサービス提供装置

Publications (1)

Publication Number Publication Date
JP2010061377A true JP2010061377A (ja) 2010-03-18

Family

ID=42188114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008226168A Withdrawn JP2010061377A (ja) 2008-09-03 2008-09-03 制御装置およびサービス提供装置

Country Status (1)

Country Link
JP (1) JP2010061377A (ja)

Similar Documents

Publication Publication Date Title
US7688791B2 (en) Communications apparatus, image sensing apparatus and control method therefor
US8810669B2 (en) Image input device having different wireless communication states, control method and program therefor
US9104361B2 (en) Computer program and data processing apparatus for controlling and displaying a status of an image processing apparatus
US8228808B2 (en) Information communication device and method for selecting protocol
EP2246791A1 (en) Communication terminal and method for controlling connection of communication device
JP2015115925A (ja) プリンタおよび印刷システム
JP2006260354A (ja) 画像形成システム、画像形成装置、端末装置及び端末装置のドライバの更新方法
US9872241B2 (en) Communication device, method for controlling communication device, and program for service search performed in communication layers
JP2013118533A5 (ja) 通信装置およびその制御方法
US20220286731A1 (en) Multimedia apparatus and cast method
US11057951B2 (en) Communication apparatus, method of controlling communication apparatus, and non-transitory computer-readable storage medium
JP2013118534A5 (ja) 通信装置およびその制御方法
KR20190020624A (ko) 정보 처리장치, 제어방법 및 기록매체
US7936475B2 (en) Image display system
US20080049252A1 (en) Image saving system, scanner device, and image saving method
JP5171392B2 (ja) 通信システム、情報保有装置、および管理装置
US20110078609A1 (en) Service using device
JP5837189B2 (ja) ローカル装置へのシェアドアクセス
JP2008236150A (ja) 無線情報処理装置
JP2010061377A (ja) 制御装置およびサービス提供装置
JP2002099473A (ja) ネットワーク上のサービス情報収集方法、ネットワーク上のサービス情報収集装置及びネットワーク上のサービス情報収集プログラムを格納した記録媒体
JP2010026780A (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP4678842B2 (ja) 撮像装置
JP2010186316A (ja) サービス利用装置、デジタルカメラ、サービス提供装置、および通信システム
JP5804794B2 (ja) 通信装置、通信装置の制御方法、および、プログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20111206