JP5775562B2 - 情報処理装置及びその制御方法、及び、プログラム - Google Patents

情報処理装置及びその制御方法、及び、プログラム Download PDF

Info

Publication number
JP5775562B2
JP5775562B2 JP2013261818A JP2013261818A JP5775562B2 JP 5775562 B2 JP5775562 B2 JP 5775562B2 JP 2013261818 A JP2013261818 A JP 2013261818A JP 2013261818 A JP2013261818 A JP 2013261818A JP 5775562 B2 JP5775562 B2 JP 5775562B2
Authority
JP
Japan
Prior art keywords
communication
service
information processing
processing apparatus
proxy
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.)
Active
Application number
JP2013261818A
Other languages
English (en)
Other versions
JP2014078263A (ja
Inventor
健介 安間
健介 安間
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013261818A priority Critical patent/JP5775562B2/ja
Publication of JP2014078263A publication Critical patent/JP2014078263A/ja
Application granted granted Critical
Publication of JP5775562B2 publication Critical patent/JP5775562B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、情報処理装置及びその制御方法、及び、プログラムに関する。
近年、宅内の機器を発見し、プラグアンドプレイで利用することができるUPnP(Universal Plug and Play)が注目されている。このUPnPにおいて、サービスを提供するUPnPサービスとサービスを利用するUPnPコントロールポイントが存在する。
ネットワークに接続している場合、UPnPサービスはネットワーク上にサービス内容の公開し、常にUPnPコントロールポイントからの処理を受け付けなくてはならなかった。そこで、利用されない期間はUPnPサービスをスリープさせるUPnP Low Power Deviceという技術が知られている。
また、UPnPコントロールポイントは、既にスリープしているUPnPサービスを発見できないことに鑑み、UPnPサービスのディスクリプションを代理で送信する構成が知られている(特許文献1)。
特開2006−260425号公報
しかしながら、従来技術では、装置がネットワーク的に接続されているため、所望のノード以外のノードから発見されてしまうという問題点があった。
本発明は上記課題に鑑みなされたものであり、他の装置と適切に接続することを可能にする技術を提供することを目的とする。
かかる課題を達成するため、例えば本発明の情報処理装置は以下の構成を有する。すなわち、
第1通信方式により無線通信する第1通信手段と、
前記第1通信方式と異なる第2通信方式により無線通信する第2通信手段と、
所定のサービスを実行可能であることを示す情報を他の情報処理装置に前記第1通信手段により送信する送信手段と、
前記送信手段による送信に応じて、前記所定のサービスの実行要求を前記他の通信装置から前記第1通信手段により受信する受信手段と、
前記他の情報処理装置との間で前記第2通信手段により接続するための通信パラメータを前記第1通信手段による通信により共有する共有手段と、
前記所定のサービスの実行要求が前記受信手段により受信された場合、前記共有手段により共有された前記通信パラメータに基づいて前記第2通信手段により前記他の情報処理装置と接続し、前記第2通信手段による通信を伴う前記所定のサービスを実行する実行手段と、
を有する
本発明によれば、他の装置と適切に接続することを可能にする技術を提供することができる。
ネットワークシステムの構成図である。 代理サービス装置101のハードウェア構成図である。 UPnPサービス提供装置102の構成図である。 代理サービス装置101のモジュール構成図である。 UPnPサービス提供装置102のモジュール構成図である。 代理サービス装置101における代理サービスの開始処理の流れを示すフローチャートである。 UUID記憶部409のエントリを例示する図である。 UPnPサービス提供装置102における代理サービスの開始処理の流れを示すフローチャートである。 代理サービス装置101における代理サービスの終了処理の流れを示すフローチャートである。 UUID記憶部409のエントリを例示する図である。 UPnPコントロールポイント装置103が、UPnPサービス提供装置102を利用する際の動作概略を示す図である。 代理サービス開始処理のシーケンスを示すシーケンスチャートである。 UPnPサービス提供装置102におけるサービス提供の終了処理の流れを示すフローチャートである 代理サービス終了処理のシーケンスを示すシーケンスチャートである。 代理サービス装置101における代理サービスの開始処理の流れを示すフローチャートである。 サービス提供装置102における代理サービスの開始処理の流れを示すフローチャートである。 代理サービス開始処理のシーケンスを示すシーケンスチャートである。 コンテンツ提供処理のシーケンスを示すシーケンスチャートである。
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。また、本実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
<<実施形態1>>
(ネットワーク構成)
本発明の第1の実施形態(実施形態1)について、図面を参照して説明する。図1は、本実施形態に係る情報処理システム(ネットワークシステム)のネットワーク構成図である。
LAN100は、情報の転送経路となるネットワークであり、第1通信路としてのLAN(Local Area Network)である。LAN100は、LANに限らず、WAN(Wide Area Network)、それらの複合でもよい。本実施形態では、LAN100は、Wireless LAN(無線LAN)を利用しているが、これに限られない。例えば、アドホックネットワーク、有線LAN、Bluetooth(登録商標)、Zigbee(登録商標)、UWBなどでもよい。
代理サービス装置101は、LAN100に接続したUPnPのサービスを代理(中継)する代理機能を持つ情報処理装置である。本実施形態では、サービスとしてUPnPを挙げたが、同様に遠隔操作を行うサービスおよびそれらの複合のサービスについても適用できることは、言うまでもない。
UPnPサービス提供装置102は、LAN100に接続し、UPnPのサービスを提供する機能を持つ装置である。UPnPコントロールポイント装置103は、LAN100に接続し、UPnPのサービスを受け取って操作する機能を持つ制御装置である。
Bluetooth104は、代理サービス装置101とUPnPサービス提供装置102のBluetooth接続のネットワークであり、本実施形態では第2通信路として機能する。Bluetooth104は、Bluetoothを利用しているがこれに限らず、例えば、アドホックネットワーク、有線LAN、Wireless LAN、Zigbee、UWBなどで構成してもよい。
本実施形態では、LAN100とBluetooth104は、異なる通信手段を用いているがこれに限られない。すなわち、同一の通信手段の異なるパラメータ、および、モードなどでも実施できることは言うまでもない。
本実施形態では、UPnPサービス提供装置102からLAN100経由でUPnPコントロールポイント装置103に直接提供していたUPnPサービスを、Bluetooth104と代理サービス装置101経由で提供するように切り替える。これにより、LAN100に接続された悪意のある装置からのUPnPサービス提供装置102に対する不正操作(スリープ解除など)を排除することができる。
(代理サービス装置のハードウェア構成)
図2は、本実施形態に係る代理サービス装置101のハードウェア構成図である。本実施形態では、代理サービス装置101は、PC(パーソナルコンピュータ)、ワークステーション、ノートブックPC、パームトップPCなどのコンピュータシステムにより実現される。ただし、代理サービス装置101は、コンピュータを内蔵したテレビ等の各種家電製品、通信機能を有するゲーム機、携帯電話、PHS等を含む他のネットワーク制御装置と通信するための通信機能を有する端末、または、これらの組合せによっても実現できる。
201はコンピュータシステムの制御をつかさどる中央演算装置(以下CPUと記す)である。202はランダムアクセスメモリ(書き込み可能メモリ、以下RAMと記す)であり、CPU201の主メモリ、実行プログラムの領域や該プログラムの実行エリア、並びにデータエリアとして機能する。
203は、CPU201の動作処理手順を記録しているリードオンリーメモリー(読み出し専用メモリ、以下ROMと記す)である。ROM203には、コンピュータシステムの機器制御を行うシステムプログラムである基本ソフト(OS)を記録したプログラムROMとシステムを稼動するために必要な情報などが記録されたデータROMがある。なお、RAM202やROM203の代わりに後述のHDD209を用いてもよい。後述する各種動作は、ROM203等のコンピュータ読取可能な記録媒体に格納されたプログラムをCPU201が実行することにより実行される。
204は、ネットワークインタフェース(以下NETIFと記す)である。NETIF204は、ネットワークを介してコンピュータシステム間のデータ転送を行うための制御や接続状況の診断を行う。NETIFはLAN100(第1通信路)に接続するための第1通信手段と、Bluetooth(第2通信路)に接続するための第2通信手段として機能する。
205は、ビデオRAM(以下VRAMと記す)であり、コンピュータシステムの稼動状態を示す後述するCRT206の画面に表示される画像を展開し、その表示の制御を行う。206は、コンピュータシステムの処理結果などを表示する表示装置であって、例えば、CRT(陰極線管)ディスプレイや液晶パネルディスプレイ等のディスプレイである。以下、CRTと記す。
207は、外部入力装置208からの入力信号を制御するコントローラである。以下、KBC(キーボードコントローラ)と記す。208は、コンピュータシステムの利用者がコンピュータシステムに対して行う操作を受け付けるための外部入力装置であり、例えば、キーボードなどである。以下、KBと記す。
209は、記憶装置を示し、例えば、ハードディスクなどである。アプリケーションプログラムや、画像情報などのデータ保存用に用いられる。以下、HDD209と記す。210は、外部入出力装置であって、例えばフレキシブルディスクドライブ(FDD)、CD−ROMドライブなどのリムーバブルを入出力するものであり、上述したアプリケーションプログラムの媒体からの読み出しなどに用いられる。以下、FDDと記す。なお、HDD209に格納するアプリケーションプログラムやデータをFDD210に格納して使用することも可能である。200は、上述した各ユニット間の接続するための入出力バス(アドレスバス、データバス、及び制御バス)である。
(UPnPサービス提供装置)
本実施形態では、UPnPサービス提供装置102をデジタルカメラとして説明する。図3は、UPnPサービス提供装置102の構成図を表している。UPnPサービス提供装置102は、デジタルカメラ以外に限られず、ネットワーク制御装置と通信するための通信機能を有するどのような端末でも実現可能である。例えば、PC、ワークステーション、ノートブックPC、パームトップPC、コンピュータを内蔵したテレビ等の各種家電製品、通信機能を有するゲーム機、携帯電話、PHS、または、これらの組合せによっても実現可能である。
UPnPサービス提供装置102において、300は被写体の光学像を撮像する撮像部である。301は画像処理部であり、撮像部300から出力された撮像画像を所定フォーマットの画像データに変換し、画像データに透かしデータを付与する。
302は符号化/復号化部であり、画像処理部301から出力された画像データに対して所定の高能率符号化(例えば、DCT変換、量子化後に可変長符号化)を行う。符号化/復号化部302はまた、記録再生部303から再生された圧縮画像データを伸長復号化し、その画像データを画像処理部301に供給する。
また、303は圧縮符号化された画像データを不図示の記録媒体に記録再生する記録再生部であり、304はUPnPサービス提供装置102における処理動作を指示する操作部である。305は制御部であり、UPnPサービス提供装置102を構成する各処理部の動作を制御する。制御部305は、マイクロコンピュータと所定のプログラムコードを記憶可能なメモリとを具備し、UPnPサービスに関する処理、後述の各種動作なども行う。
306は撮像部300にて撮像された画像をEVF(Electric View Finder)や液晶パネル等を用いて表示する表示部である。307は撮像部300にて撮像された画像データなどを通信するインタフェースである。
更に、308はUPnPサービス提供装置102の機能に関する情報が格納されているROMである。本実施形態のUPnPサービス提供装置102は、画像データを符号化する技術として、例えば、JPEG(Joint Photographic Experts Group)方式を用いて圧縮符号化する。
309はネットワークインタフェース(NETIF)である。NETIF309は、ネットワークを介して情報処理装置間のデータ転送を行うための制御や接続状況の診断を行う。
(代理サービス装置のモジュール構成)
図4(a)は、本実施形態の代理サービス装置101のモジュール構成図である。401は第1通信手段としてのWireless LAN制御部であり、LAN100に接続され、Wireless LANの通信処理、および、TCP/IPの通信処理を行う。402は第2通信手段としてのBluetooth制御部であり、Bluetooth104に接続され、Bluetoothの通信処理、および、TCP/IP通信処理を行う。
403はSSDP処理部であり、Wireless LAN制御部401、および、Bluetooth制御部402から、対応するパケットを受信し、SSDPの処理を行う。ここで、SSDPはSimple Service Discovery Protocolの略語であり、ネットワーク上のUPnPデバイスを探索・発見するプロトコルである。SSDP処理部403はまた、SSDPを利用して、サービスの発見、サービスの発見に対する応答、サービスの広告などを行う。本実施形態では、SSDPを利用しているが、これに限らず、ウェブサービスのWS−Discoveryなどの別の手段を利用しても実現できることは言うまでもない。
404はSOAP処理部であり、Wireless LAN制御部401、および、Bluetooth制御部402から、対応するパケットを受信し、SOAPの処理を行う。ここで、SOAPはSimple Object Access Protoclの略語であり、ソフトウェア同士がメッセージ(オブジェクト)を交換するためのプロトコルである。SOAP処理部404はまた、SOAPを利用して、サービスの実行、サービスの受け付けなどを行う。本実施形態では、SOAPを利用しているが、これに限らず、リモートプロシージャコール(RPC)など遠隔のオブジェクトを実行する別の手段を利用してもよいことは言うまでもない。
405は、Wireless LAN制御部401、および、Bluetooth制御部402から、対応するパケットを受信し、GENAの処理を行うGENA処理部である。ここで、GENAはGeneral Event Notification Architectureの略語であり、イベント情報のコントロールを行うためのプロトコルである。GENAを利用して、イベントの通知、イベントのサブスクライブなどを行う。本実施形態では、GENAを利用しているが、これに限らず、WS−Eventing、WS−Notificationなどの別の手段を利用しても実現できることは言うまでもない。
406は代理制御部である。代理制御部406は、SSDP処理部403、SOAP処理部404、および、GENA処理部405を管理して、サービスを代理するかの判断を行う。
407は代理処理部であり、発見したサービスを代理するためのメッセージ作成などを行う。本実施形態における代理処理部407はUPnP処理の代理を行うが、これに限らず、これまでに説明した様々な機能の複合の代理を行ってもよい。本実施形態における代理処理部407は、UPnPサービスを一度全て受信してから、再度送信する代理の方法であるが、これに限らず、メッセージの書き換え(IPアドレスなど)によって代理を行っても良い。また、代理処理部407は、UPnPサービス提供装置102のサービスの情報に関するキャッシュを保持しても良い。
408はUUID判断部であり、Wireless LAN制御部を通じて発見したサービスのUUIDが、Bluetooth制御部を通じて発見したサービスのUUIDと一致しているか判断する。なお、UUIDはUniversal Unique Identifier(汎用一意識別子)の略語である。本実施形態ではUPnPサービスを代理する構成を説明しているため、UUID判断部408はUUIDを判断しているが、これに限らず、他の一意の識別子でもよい。
409はUUID記憶部である。UUID記憶部409は、Wireless LAN制御部を通じて発見したサービスのUUID、および、Bluetooth制御部を通じて発見したサービスのUUIDを管理する。
(UPnPサービス提供装置のモジュール構成)
図5(a)は、本実施形態のUPnPサービス提供装置102のモジュール構成図である。501はWireless LAN制御部であり、LAN100に接続され、Wireless LANの通信処理、および、TCP/IPの通信処理を行う。502はBluetooth制御部であり、Bluetooth104に接続され、Bluetoothの通信処理、および、TCP/IP通信処理を行う。
503はSSDP処理部であり、Wireless LAN制御部501、および、Bluetooth制御部502から、対応するパケットを受信し、SSDPの処理を行う。SSDP処理部503はまた、SSDPを利用して、サービスの発見、サービスの発見に対する応答、サービスの広告などを行う。本実施形態では、SSDPを利用しているが、これに限らず、WS−Discoveryなどの別の手段を利用しても実現できることは言うまでもない。
504はSOAP処理部であり、Wireless LAN制御部501、および、Bluetooth制御部502から、対応するパケットを受信し、SOAPの処理を行う。SOAP処理部504は、SOAPを利用して、サービスの実行、サービスの受け付けなどを行う。本実施形態では、SOAPを利用しているが、これに限らず、リモートプロシージャコールなど遠隔のオブジェクトを実行する別の手段を利用しても実現できることは言うまでもない。
505はGENA処理部であり、Wireless LAN制御部501およびBluetooth制御部502から対応するパケットを受信し、GENAの処理を行う。GENA処理部505はまた、GENAを利用して、イベントの通知、イベントのサブスクライブなどを行う。本実施形態では、GENAを利用しているが、これに限らず、WS−Eventing、WS−Notificationなどの別の手段を利用しても実現できることは言うまでもない。
506はサービス制御部である。サービス制御部506は、SSDP処理部503、および、SOAP処理部504、および、GENA処理部505を管理して、UPnP処理を行う。
(代理サービス装置におけるサービス提供開始処理)
図6は、代理サービス装置101における代理サービスの開始処理の流れを示すフローチャートである。代理サービス装置101、および、UPnPサービス提供装置は、LAN100のみに接続している。
ステップS601において、代理制御部406は、UPnPサービス提供装置102を探索することを決定する。代理制御部406は、SSDP処理部403に対して、LAN100上で、UPnPサービス提供装置102を探索するように依頼する。SSDP処理部403は、Wireless LAN処理部401を通じて、LAN100上に、UPnPサービス提供装置102を探索するSSDPのm−searchメッセージを送信する。UPnPサービス提供装置102は、SSDPのm−searchメッセージを受け取ると、代理サービス装置101にSSDPのresponseメッセージを返信する。SSDP処理部403は、Wireless LAN制御部401を通じて、UPnPサービス提供装置102からSSDPのresponseメッセージを受信する。これにより、SSDP処理部403は、UPnPサービス提供装置102を発見できる。SSDP処理部403は、UPnPサービス提供装置102の探索の結果を代理制御部406に送信する。代理制御部406が、UPnPサービス提供装置102の探索の結果から、発見したと判断すると(ステップS601でYES)、UUID記憶部409にUPnPサービス提供装置102のUUIDを保存し、ステップS602に進む。代理制御部406が、UPnPサービス提供装置102の探索の結果から、未発見と判断すると(ステップS601でNO)、処理を終了する。SSDP処理部403は、UPnPサービス提供装置102から、SSDPのaliveメッセージを受信することで、UPnPサービス提供装置102を発見してもよい。
ステップS602において、代理制御部406は、SOAP処理部404に、UPnPサービス提供装置102宛にUPnPサービスの代理が必要か否かの確認メッセージの送信を依頼する。SOAP処理部404は、Wireless LAN制御部401を通じて、LAN100上のUPnPサービス提供装置102に確認メッセージを送信する。UPnPサービス提供装置102は、代理の必要があるか否かの判断を行い、結果を返信する。SOAP処理部404は、UPnPサービス提供装置102の結果を受信し、代理制御部406に送信する。代理制御部406は、結果に応じて、UPnPサービス提供装置102の代理が必要か否かの判断を行う。代理制御部406が、UPnPサービス提供装置102の代理が必要であると判断した場合(ステップS602でYES)、ステップS603に進む。代理制御部406が、UPnPサービス提供装置102の代理が必要でないと判断した場合(ステップS602でNO)、処理を終了する。
ステップS603において、代理制御部406は、SOAP処理部404にBluetooth104へ接続するためのパラメータを送信する。SOAP処理部404は、Wireless LAN制御部401を通じて、UPnPサービス提供装置102にパラメータを送信し、ステップS604に進む。
ステップS604において、代理制御部406は、Bluetooth制御部402を利用して、Bluetooth104の接続開始処理を行う。そしてステップS605に進む。
ステップS605において、代理制御部406は、Bluetooth制御部402を通じて、UPnPサービス提供装置102と接続できたか否かの判断を行う。代理制御部406は、接続できたと判断すると(ステップS605でYES)ステップS606に進む。代理制御部406は、接続できなかったと判断すると(ステップS605でNO)処理を終了する。
UPnPサービス提供装置102は、Bluetoothによる接続が確立すると、WirelessLANによる接続に対しては通信終了(LAN100からの離脱)を示すbyebyeメッセージを送信する。そこで、ステップS606において、代理サービス装置101の代理制御部406は、LAN100からWireless LAN制御部101を通じて、SSDP処理部403で受信したSSDPのbyebyeメッセージの判断を行う。代理制御部406は、UUID記憶部409に記憶されているUPnPサービス提供装置102のUUIDと合致するSSDPのbyebyeメッセージを受信したかの判断を行う。代理制御部406は、UPnPサービス提供装置102のbyebyeメッセージであると判断すると(ステップS606でYES)、ステップS607に進む。代理制御部406は、UPnPサービス提供装置102のbyebyeメッセージでないと判断すると(ステップS606でNO)、処理を終了する。なお、代理制御部406が処理を実行する前に、byebyeメッセージを受信している場合について説明する。この場合、SSDP処理部403は、UPnPサービス提供装置102のSSDPのalive/byebyeを管理しているので、byebyeメッセージを受信していることを判断することができる。
ステップS607において、代理制御部406は、SSDP処理部403に、Bluetooth104上でUPnPサービス提供装置102を探索するように依頼する。SSDP処理部403は、Bluetooth制御部102を通じて、SSDPのm−searchメッセージを利用して、UPnPサービス提供装置102を探索する。SSDP処理部403は、探索結果を代理制御部406に送信する。代理制御部406は、UUID判断部408を利用して、UUID記憶部409に記憶されたUUIDと同一のものがあるかの判断を行う。代理制御部406は、同一のものがあると判断すると、UPnPサービス提供装置102を発見したと判断する。代理制御部406は、UPnPサービス提供装置102を発見したと判断すると(ステップS607でYES)、ステップS608に進む。代理制御部406は、UPnPサービス提供装置102を発見できなかったと判断すると(ステップS607でNO)、処理を終了する。なお、SSDP処理部403は、UPnPサービス提供装置102から、SSDPのaliveメッセージを受信することで、UPnPサービス提供装置102を発見してもよい。また、代理制御部406は、SSDP処理部403にUUID記憶部409に記憶されたUUIDを鍵にSSDPのm−searchを実行させることで発見してもよい。
ステップS608において、代理制御部406は、代理処理部407にUPnPサービス提供装置102のUPnPサービスの代理を依頼し、処理を終了する。代理処理部407は、SSDP処理部403、SOAP処理部404、GENA処理部405を利用し、UUID記憶部409に記憶された代理がyesのもののみ、UPnPサービスの代理を実行する。この時のUUIDは、UPnPサービス提供装置のUUIDと同じものを利用する。代理処理部407は、Bluetooth104側にはUPnPのコントロールポイントとして、LAN100側にはUPnPサービスとして処理を行う。
なお、図6では、UPnPサービスの代理処理を行う際に、同じUUIDを使用する場合を説明したがこれに限られない。例えば、代理サービス装置101がマッピングを持つことで、異なるUUIDを利用することもできる。
図7(a)は、図6におけるステップS601におけるUUID記憶部409のエントリを例示する図である。図7(a)において、701は装置やサービスのUUIDであり、702は接続中のネットワークである。703はUUID701で識別される装置やサービスの状態であり、704は代理サービスをするか否かに関する情報である。図7(a)の例では、uuid:98765432-1234-abcd-1234-000011112222は、LAN100に接続されたUPnP機器であり、代理サービスを実行しない状態である。uuid:816c5df0-c2ed-11da-9216-0008741e9395は、UPnPサービス提供装置102であり、代理サービスをするか否か未定の状態である。
図7(b)は、図6におけるステップS602において、代理の必要がある場合のUUID記憶部409のエントリを例示する図である。UPnPサービス提供装置102を示すuuid:816c5df0-c2ed-11da-9216-0008741e9395の代理サービスの項目がyesになり、代理サービスを行う状態になる。
図7(c)は、図6におけるステップS606において、UPnPサービス提供装置102のbyebyeを受信した場合のUUID記憶部409のエントリを例示する図である。UPnPサービス提供装置102を示すuuid:816c5df0-c2ed-11da-9216-0008741e9395の状態の項目703がbyebyeになり、LAN100から離脱した状態になる。
図7(d)は、図6におけるステップS607において、UPnPサービス提供装置102のaliveを受信した場合のUUID記憶部409のエントリを例示する図である。UPnPサービス提供装置102を示すuuid:816c5df0-c2ed-11da-9216-0008741e9395が、Bluetooth104上で発見され、エントリに追加された状態になる(1001)。
このように、エントリを管理することで、LAN100に接続したUPnPサービス提供装置102とBluetooth104に接続したUPnPサービス提供装置102が同じものであることがわかる。byebye状態になったエントリは、一定時間後消去されても良い。
(UPnPサービス提供装置におけるサービス提供開始処理)
次に、UPnPサービス提供装置102におけるサービス提供開始処理について図8を参照して説明する。図8は、UPnPサービス提供装置102におけるサービス提供の開始処理の流れを示すフローチャートである。
ステップS1101において、サービス制御部506は、SOAP制御部503を利用し、Wireless LAN制御部501を通じて、代理サービス装置101からUPnPサービスの代理の提案を受信する。UPnPサービスの代理の提案は、代理サービス装置101におけるステップS602で送信されたものである。サービス制御部506は、代理サービス装置101にUPnPサービスの代理を依頼すると判断した場合(ステップS1101でYES)、ステップS1102に進む。サービス制御部506は、代理サービス装置101にUPnPサービスの代理を依頼しないと判断した場合(ステップS1101でNO)、処理を終了する。
ステップS1102において、サービス制御部506は、SOAP制御部503を利用し、Wireless LAN制御部を通じて、代理サービス装置101からBlutooth104のパラメータを受信する。サービス制御部506はBluetooth104のパラメータを記憶領域に保存し、ステップS1103に進む。Bluetooth104のパラメータは、図6のステップS603で代理サービス装置101により送信されたものである。
ステップS1103において、サービス制御部506は、Bluetooth制御部502を利用して、Bluetooth104へ接続を開始する。そして、ステップS1104に進む。
ステップS1104において、サービス制御部506は、Bluetooth制御部502を利用して、UPnPサービス提供装置102が代理サービス装置101とBluetooth104で接続されたか否かの確認を行う。サービス制御部506は、代理サービス装置101とBluetooth104で接続されたと判断すると(ステップS1104でYES)、ステップS1105に進む。サービス制御部506は、代理サービス装置101とBluetooth104で接続されていないと判断すると(ステップS1104でNO)処理を終了する。
ステップS1105において、サービス制御部506は、SSDP処理部503、SOAP処理部504、および、GENA処理部505に対して、LAN100に公開しているUPnPサービスに関連する機能の停止を要求する。SSDP処理部503は、Wireless LAN制御部501を通じて、LAN100にSSDPのbyebyeメッセージを送信する。SOAP処理部506は、Wireless LAN制御部501を通じたLAN100に対するSOAP処理を停止する。GENA処理部507は、Wireless LAN制御部501を通じたLAN100に対するGENA処理を停止する。サービス制御部506は、LAN100に公開しているUPnPサービスに関連する機能が停止したと判断すると、ステップS1106に進む。
ステップS1106において、サービス制御部506は、SSDP処理部503、SOAP処理部504、および、GENA処理部505に対して、Bluetooth104にUPnPサービスを公開するように要求する。要求を受けたSSDP処理部503は、Bluetooth制御部502を通じて、Bluetooth104にSSDPのaliveメッセージを送信する。SOAP処理部504は、Bluetooth制御部502を通じて、Bluetooth104にSOAP処理を開始する。GENA処理部505は、Bluetooth制御部502を通じて、Bluetooth104にGENA処理を開始する。サービス制御部506は、Bluetooth104上でUPnPサービスが起動したと判断すると、ステップS1107に進む。
ステップS1107において、サービス制御部506は、SSDP処理部503を利用し、Wireless LAN制御部101を通じて、LAN100上でSSDPのaliveメッセージを取得する。サービス制御部506は、取得したaliveメッセージに含まれるUUIDが、UPnPサービス提供装置102のUUIDと同一であるかの確認を行う。サービス制御部506が、一定時間内に同一のUUIDを確認できたと判断すると(ステップS1107でYES)、ステップS1108に進む。サービス制御部506が、一定時間内に同一のUUIDを確認できなかったと判断すると(ステップS1107でNO)、ステップS1109に進む。
ステップS1108において、サービス制御部506は、Wireless LAN制御部501を利用して、LAN100の切断を行う。そして、処理を終了する。
ステップS1109において、サービス制御部506は、SSDP処理部503、SOAP処理部504、および、GENA処理部505に対して、Bluetooth104に公開しているUPnPサービスに関連する機能の停止を要求する。SSDP処理部503は、Bluetooth制御部502を通じて、Bluetooth104にSSDPのbyebyeメッセージを送信する。SOAP処理部506は、Bluetooth制御部502を通じたBluetooth104に対するSOAP処理を停止する。GENA処理部507は、Bluetooth制御部502を通じたBluetooth104に対するGENA処理を停止する。サービス制御部506は、Bluetooth104に公開しているUPnPサービスに関連する機能が停止したと判断すると、ステップS1110に進む。
ステップS1110において、サービス制御部506は、SSDP処理部503、SOAP処理部504、および、GENA処理部505に対して、LAN100にUPnPサービスを公開するように要求する。要求を受けたSSDP処理部503は、Wireless LAN制御部501を通じて、LAN100にSSDPのaliveメッセージを送信する。SOAP処理部504は、Wireless LAN制御部501を通じて、LAN100にSOAP処理を開始する。GENA処理部505は、Wireless LAN制御部501を通じて、LAN100にGENA処理を開始する。サービス制御部506は、LAN100上でUPnPサービスが起動したと判断すると、ステップS1111に進む。
ステップS1111において、サービス制御部506は、Bluetooth制御部502を利用して、Bluetooth104の切断を行う。そして、処理を終了する。
(サービス提供開始処理のシーケンス)
次に、図6,図8のフローチャートを参照して説明した処理のシーケンスについて、図12を参照して説明する。図12は、実施形態1に係る代理サービス装置101とUPnPサービス提供装置102における代理サービス開始処理のシーケンスを示すシーケンスチャートである。
F1701において、代理サービス装置101がUPnPサービス提供装置102を発見する。F1702において、代理サービス装置101がUPnPサービス提供装置102にUPnPサービスの代理を行うかの確認を行う。F1703において、代理サービス装置101がUPnPサービス提供装置102にBluetooth104のパラメータを送信する。
F1704において、代理サービス装置101は、UPnPサービス提供装置102に送信したパラメータに応じて、Bluetooth104への接続を開始する。F1705において、UPnPサービス提供装置102は、代理サービス装置101から受信したパラメータに応じて、Bluetooth104への接続を開始する。F1706において、代理サービス装置101、および、UPnPサービス提供装置102は、Bluetooth104への接続を確認する。
F1707において、UPnPサービス提供装置102は、LAN100上のUPnPサービスを停止する。F1708において、UPnPサービス提供装置102は、LAN100上にSSDPのbyebyeメッセージを送信する。
F1709において、代理サービス装置101は、LAN100から受信したbyebyeメッセージがUPnPサービス提供装置102のUUIDを含むbyebyeメッセージであることを確認する。F1710において、UPnPサービス提供装置102は、Bluetooth104上で、UPnPサービスを起動する。F1711において、UPnPサービス提供装置102は、Bluetooth104上にSSDPのaliveメッセージを送信する。
F1712において、代理サービス装置101が、Bluetooth104から受信したaliveメッセージがUPnPサービス提供装置102のUUIDを含むbyebyeメッセージであることを確認する。F1713において、代理サービス装置101は、LAN100でUPnPサービス提供装置102の代理を行う代理サービスを開始する。
F1714において、代理サービス装置101は、LAN100上に、UPnPサービス提供装置102のUUIDを含むaliveメッセージを送信する。F1715において、代理サービス装置101は、UPnPサービス提供装置102は、LAN100上で、UPnPサービス提供装置102のUUIDを含むaliveメッセージを受信した事を確認する。F1716において、UPnPサービス提供装置102は、LAN100の切断を行う。
(代理サービス装置におけるサービス提供終了処理)
次に、代理サービス提供101におけるサービス提供の終了処理について図9を参照して説明する。図9は、代理サービス提供101におけるサービス提供の終了処理の流れを示すフローチャートである。
ステップS1201において、代理制御部406は、SSDP処理部403を利用して、Bluetooth制御部402を通じて、SSDPのbyebyeメッセージを受信し、ステップS1202に進む。
ステップS1202において、代理制御部406は、byebyeメッセージからUUIDを取り出し、取り出したUUIDをUUID判断部408に送信する。UUID判断部408は、UUID記憶部409と受信したUUIDの比較を行い、対応するUPnPサービスがあるかの判断を行う。UUID判断部408は、判断の結果を代理制御部406に送信する。代理制御部406が、受信した判断の結果から、UPnPサービスがあると判断する場合(ステップS1202でYES)、UUID記憶部409のエントリをbyebyeに変更し、ステップS1203に進む。代理制御部406が、受信した判断の結果から、UPnPサービスがないと判断すると(ステップS1202でNO)処理を終了する。
ステップS1203において、代理制御部406は、SSDP処理部403を利用して、Wireless LAN制御部401を通じて、SSDPのbyebyeメッセージを送信し、UPnPサービスを終了する。SSDPのbyebyeメッセージに含まれるUUIDは、サービス提供装置102のUUIDと同じである。
ステップS1204において、代理制御部406は、代理処理部407にUPnPサービス提供装置102のUPnPサービスの代理終了を指示し、ステップS1205に進む。代理制御部406は、UUID記憶部409に記憶されるUPnPサービス提供装置102に関連する情報を消去する。
ステップS1205において、代理制御部406は、UUID記憶部409からエントリを取得し、Bluetooth104のネットワークでaliveのものがあるかの判断を行う。代理制御部406は、Bluetooth制御部402から、Bluetooth接続された機器があるかの情報を取得してもよい。代理制御部406は、Bluetoothに接続された機器があると判断すると(ステップS1205でYES)、処理を終了する。代理制御部406は、Bluetoothに接続された機器がないと判断すると(ステップS1205でNO)、ステップS1206に進む。
ステップS1206において、代理制御部406は、Bluetooth制御部402にBluetooth104からの切断を指示する。Bluetooth制御部402は、Bluetooth104からの切断を行い、処理を終了する。
図10(a)は、ステップS1203におけてUPnPサービス提供装置102のbyebyeを受信した場合のUUID記憶部409のエントリを例示する図である。UPnPサービス提供装置102を示すuuid:816c5df0-c2ed-11da-9216-0008741e9395の状態の項目がbyebyeになり(1301)、Bluetooth104から離脱した状態になる。
図10(b)は、ステップS1204において、UUID記憶部409のエントリを例示する図である。UPnPサービス提供装置102(uuid:816c5df0-c2ed-11da-9216-0008741e9395)に関連する情報が消去された状態になる。
代理サービス装置101が、UPnPサービス提供装置102を再びLAN100に接続すると図6の処理を開始する。また、本実施形態において、UPnPサービス提供装置102に関連する情報を消去したが、UUID記憶部409に記憶されたままの状態にしてもよい。その場合、図9で示した状態からスタートすることもできることは言うまでもない。
(UPnPサービス提供装置におけるサービス提供終了処理)
次に、UPnPサービス提供装置102におけるサービス提供の終了処理について、図13を参照して説明する。図13は、UPnPサービス提供装置102におけるサービス提供の終了処理の流れを示すフローチャートである。
ステップS1801において、サービス制御部506は、SSDP処理部503を利用して、Bluetooth制御部502を通じてBluetooth104にSSDPのbyebyeメッセージを送信する。サービス制御部506は、UPnPサービスを停止するために、SSDP処理部503、SOAP処理部504、GENA処理部505に対して、処理の終了を指示し、ステップS1802に進む。
ステップS1802において、サービス制御部506は、Bluetooth制御部506にBluetooth104からの切断を指示する。Bluetooth制御部506は、Bluetooth104から切断し、処理を終了する。
(代理サービス提供終了処理のシーケンス)
次に、図9,図13のフローチャートを参照して説明した処理のシーケンスについて、図14を参照して説明する。図14は、代理サービス装置101とUPnPサービス提供装置102における代理サービス終了処理のシーケンスを示すシーケンスチャートである。
F1901において、UPnPサービス提供装置102は、Bluetooth104上に、SSDPのbyebyeメッセージを送信する。F1902において、代理サービス装置101は、受信したbyebyeメッセージに含まれるUUIDが代理を行っているUPnPサービスのUUIDのものであるかの判断を行う。F1903において、UPnPサービス提供装置102は、Bluetooth104上のUPnPサービスを停止する。F1904において、代理サービス装置101は、LAN100に、受信したUUIDを含むbyebyeメッセージを送信する。
F1905において、代理サービス装置101は、代理サービスを終了する。F1906において、代理サービス装置は、他の機器がBluetooth104に接続していないことを確認する。F1907において、代理サービス装置は、Bluetooth104から切断する。F1908において、UPnPサービス提供装置102は、Bluetooth104から切断する。
(通常のUPnPサービス)
次に、UPnPコントロールポイント装置103が、直接UPnPサービス提供装置102を利用する際の動作について図11(a)を参照して説明する。図11(a)は、UPnPコントロールポイント装置103が、直接UPnPサービス提供装置102を利用する際の動作概略を示す図である。
M1501において、UPnPコントロールポイント装置103は、UPnPサービス提供装置102にUPnPのSSDP、SOAP、GENAのメッセージを送信することができる。M1502において、UPnPコントロールポイント装置103は、UPnPサービス提供装置102からUPnPのSSDP、SOAP、GENAのメッセージを受信することができる。このように、UPnPサービス提供装置102が、LAN100し、代理サービス装置101を利用しない場合、UPnPの動作と同様になる。
(代理サービス装置を介したUPnPサービス)
次に、UPnPコントロールポイント装置103が、代理サービス装置101を介して、UPnPサービス装置102を利用する際の動作について図11(b)を参照して説明する。図11(b)は、UPnPコントロールポイント装置103が、代理サービス装置101を介して、UPnPサービス装置102を利用する際の動作概略を示す図である。
M1601において、UPnPコントロールポイント装置103は、代理サービス装置101にUPnPのSSDP、SOAP、GENAのメッセージを送信することができる。
M1602において、代理サービス装置101は、各種メッセージを受け取ると、SSDP処理部403、SOAP処理部404、GENA処理部405が処理を行い、代理処理部407が代理処理を行う。代理処理部407は、SSDP処理部403、SOAP処理部404、GENA処理部405を利用して、新たにUPnPサービス提供装置102宛てのSSDP、SOAP、GENAのメッセージを作成し、送信する。
M1603において、代理サービス装置101は、UPnPサービス提供装置102からSSDP、SOAP、GENAのメッセージを受信することができる。
M1604において、代理サービス装置101は、各種メッセージを受け取ると、SSDP処理部403、SOAP処理部404、GENA処理部405が処理を行い、代理処理部407が代理処理を行う。代理処理部407は、SSDP処理部403、SOAP処理部404、GENA処理部405を利用して、新たにUPnPコントロールポイント装置103に宛てたメッセージを作成し、送信する。
ここで、代理サービス装置101が、UPnPサービス提供装置102の代理を行う間の処理について説明する。これは、UPnPサービス提供装置102は、代理サービス101とBluetooth104によって接続している状態である。UPnPサービス提供装置102において、アクセスがないとき、サービス制御部506は、UPnP Low Power Deviceサービスなどの公知のスリープする機構を用いて、スリープすることができる。
代理サービス装置101において、UPnPサービス提供装置102へのアクセスがあった場合について説明する。この場合、代理制御部406は、UPnP Low Power Deviceコントロールポイントなどの公知のスリープを解除する機構を用いて、UPnPサービス提供装置102を起動させることができる。UPnP Low Power Deviceに限らず、WOL(Wake On LAN)と、それを広告、および、操作するメッセージの複合でも実現できる。
このように、UPnPサービス提供装置102は、スリープした際に代理サービス装置101とBluetooth104でのみ接続しているので、LAN100と隔離されている。そのため、LAN100に接続する悪意のあるUPnP Low Power Deviceコントロールポイントなどからのアクセスをネットワーク的に受け付けなくなり、安全になる。例えば、スリープへの移行やスリープの解除を悪意のある装置から受け付けることがなくなる。
更に、代理サービス装置101は、代理処理を行う際に、必要に応じてアクセス制限をしても良い。これにより、代理サービス装置101は、UPnPサービス提供装置102へのアクセスの種類を限定することができる。
以上のように、本実施形態の代理サービス装置101は、UPnPサービス提供装置102がLAN100に存在するか否かを判定し(第1判定)、存在する場合、Bluetooth104を介して該UPnPサービス提供装置102に接続する。そして、代理サービス装置101は、LAN100を介してUPnPコントロールポイント装置103と接続し、UPnPサービス提供装置102とUPnPコントロールポイント装置103との間のサービスを中継する。
従って、代理サービス装置101は、UPnPサービス提供装置をBluetooth104のネットワークに収容することができる。これにより、代理サービス装置101は、UPnPサービス提供装置102をLAN100から隠蔽することができる。このため、UPnPサービス提供装置102は、代理サービス装置101が代理したアクセスのみを受け付ければよくなり、安全になる。更に、本実施形態のように、Wireless LANからBluetoothに移動すると、電力消費を低減できる。
本実施形態の構成を利用することにより、代理サービス装置101は、UPnPサービス提供装置102がBluetooth104ネットワークに接続したことを確認してから、サービスを開始できる。UPnPサービス提供装置102は、途中でエラーが発生した場合、LAN100でサービスを再開することができる。UPnPコントロールポイント装置は、UPnPサービス提供装置102が一度ネットワークから離脱して、新たに参加したように見える。本実施形態によれば、UPnPコントロールポイント装置に既存のUPnPコントロールポイントの機能だけで、UPnPサービス提供装置102を隠蔽することができる。
また、本実施形態の代理サービス装置101は、UPnPサービス提供装置102がBluetooth104に存在するか否かを判定し(第2判定)、存在する場合に、Bluetooth104経由で該UPnPサービス提供装置102に接続する。このため、通信路を切り替えるべき状況を適切に判定して、代理サービスを提供することができる。
また、本実施形態の代理サービス装置101は、LAN100を介したサービスの提供をUPnPサービス提供装置102が停止したことを確認した後に、サービスを中継する。このため、LAN100を介したサービスの提供とBluetooth104を介したサービスの中継とが重複することを防止することができる。
また、本実施形態の代理サービス装置101は、Bluetooth104でUPnPサービス提供装置102に接続するために必要なパラメータを、LAN100を介してUPnPサービス提供装置102に送信する。このため、UPnPサービス提供装置102はBluetooth104に接続して代理サービスを利用するか否かを適切に決定することができる。
<<実施形態2>>
次に本発明の第2の実施形態(実施形態2)について、実施形態1との相違点を中心に図面を参照して説明する。実施形態2における代理サービス装置101は、UPnPサービスの代理を行う代理サービスを持っていることをLAN100上にUPnPを利用して公開する。本実施形態において、代理サービスの公開、および、利用はUPnPを利用して行うが、UPnPに限らず、WS−DiscoveryとSOAPといった別のプロトコルを利用してもよい。
実施形態2におけるUPnPサービス提供装置102は、UPnPサービスの代理を行う代理サービスをLAN100上でUPnPを利用して探索、利用する。代理サービス装置101において、代理制御部406は、代理サービスが可能だと判断すると、SSDP制御部403を利用して、LAN100上に代理サービスに関連するSSDPのaliveメッセージを送信する。更に、代理制御部406は、SSDP制御部403を利用して、LAN100に対し、代理サービスに関連するSSDP処理を開始する。なお、代理サービスの可否は、例えばBluetooth104のようなLAN100以外の通信経路を用いてUPnPサービス提供装置102と通信可能であるかに基づいて判断することができる。
代理制御部406は、代理サービスが不可能だと判断すると、SSDP制御部403を利用して、LAN100上に代理サービスに関連するSSDPのbyebyeメッセージを送信する。更に、代理制御部406は、SSDP制御部403を利用して、代理サービスに関連するSSDP処理を終了する。これにより、UPnP提供装置102は、代理サービスを利用可能な期間のみ、代理サービスを発見することが可能になる。
(代理サービス装置における代理サービス開始処理)
図15は、実施形態2に係る代理サービス装置101における代理サービスの開始処理の流れを示すフローチャートである。図6との差異は、ステップS601、ステップS602、ステップS603が削除され、ステップS2001、ステップS2002が追加されている点である。
ステップS2001において、代理制御部406は、SOAP制御部404を利用して、LAN100上のUPnPサービス提供装置102から、UPnPサービスの代理依頼を受け付ける。この代理依頼には、UPnPサービス提供装置102のUUIDが含まれている。代理制御部406は、UUID記憶部409にUPnPサービス提供装置102のUUIDを保存し、ステップS2002に進む。代理サービス装置101が既に別のUPnPサービス提供装置の代理サービスを行っている場合、代理サービスを拒否してもよい。
ステップS2002において、代理制御部406は、SOAP制御部404を利用して、LAN100上のUPnPサービス提供装置102から、Bluetooth104のパラメータの要求を受け付ける。代理制御部406は、Bluetooth制御部402からBluetooth104のパラメータを取得する。代理制御部404は、SOAP制御部404を利用して、Bluetooth104のパラメータをUPnPサービス提供装置102に返信し、ステップS604に進む。ステップS604以後の動作は、図6を参照して説明した実施形態1と同様であるため、説明を省略する。
(サービス提供装置における代理サービス開始処理)
図16は、実施形態2に係るサービス提供装置102における代理サービスの開始処理の流れを示すフローチャートである。図8との差異は、ステップS1101、ステップS1102が削除され、ステップS2101、ステップS2102、ステップS2103、ステップS2104が追加されている点である。
ステップS2101において、サービス制御部506は、代理サービスを利用するか否かの判断を行う。サービス制御部506が、代理サービスを利用すると判断すると(ステップS2101でYES)、ステップS2102に進む。サービス制御部506が、代理サービスを利用しないと判断すると(ステップS2101でNO)、処理を終了する。
ステップS2102において、サービス制御部506は、SSDP処理部503を利用して、LAN100上の代理サービスを探索する。SSDP処理部503は、Wireless LAN制御部501を通じて、LAN100上に、代理サービスを探索するためにm−searchメッセージを送信する。SSDP処理部503は、代理サービスからのresponseがあるか、または、一定時間内にaliveを受信したかの結果をサービス制御部506に返信する。サービス制御部506が代理サービスを発見したと判断すると(ステップS2102でYES)、ステップS2103に進む。サービス制御部506が代理サービスを発見しなかったと判断すると(ステップS2102でNO)、処理を終了する。
ステップS2103において、サービス制御部506は、SOAP処理部504を利用して、Wireless LAN制御部501を通じて、LAN100上の代理サービス装置101に代理の依頼を行い、ステップS2104に進む。代理依頼には、UPnPサービス提供装置102のUUIDが含まれる。
ステップS2104において、サービス制御部506は、SOAP処理部504を利用して、Wireless LAN制御部501を通じて、LAN100上の代理サービス装置101にLAN100以外の通信パラメータを要求する。代理サービス装置101から通信パラメータを取得すると、サービス制御部506はこの通信パラメータからBluetooth104のパラメータを取得し、ステップS1103に進む。ステップS1103以降の動作は、図8を参照して説明した実施形態1と同様であるため、説明を省略する。
(代理サービス装置とUPnPサービス提供装置における代理サービス開始処理)
図17は、実施形態2に係る代理サービス装置101とUPnPサービス提供装置102における代理サービス開始処理のシーケンスを示すシーケンスチャートである。図12との差異は、F1701、F1702、F1703が削除され、F2201、F2202、F2203が追加されている点である。
F2201において、UPnPサービス提供装置102が代理サービス装置101を発見する。F2202において、UPnPサービス提供装置102が代理サービス装置101にUPnPサービスの代理を依頼する。F2203において、UPnPサービス提供装置102がUPnPサービス提供装置102に通信パラメータを要求する。F1704以降の動作は、実施形態1と同様であるため説明を省略する。
上記のように、本実施形態の代理サービス装置101は、当該代理サービス装置101がサービスを中継する中継機能を有することをLAN100に対して公開する。また、UPnPサービス提供装置102は、中継機能が公開された場合、UPnPコントロールポイント装置103に対する直接のサービス提供をBluetooth104を介した代理サービス装置101に対するサービス提供に切り替える切替処理を行う。
このため、UPnPサービス提供装置102は、複数の代理サービス装置を発見し、その中から最も適した代理サービス装置を利用することができる。例えば、Bluetoothをサポートする通信手段の代理サービスでない場合、別の代理サービスを利用するといったことが可能になる。
また、本実施形態の代理サービス装置101は、中継機能を公開したことに応じてUPnPサービス提供装置102から中継の要求がなされた場合に、サービスを中継する。このため、サービスの中継(代理)を適切なタイミングで開始することができる。
<<実施形態3>>
以下に本発明の第3の実施形態(実施形態3)について、実施形態1、および、実施形態2との相違点を中心に図面を参照して説明する。DLNA(Digital Living Network Alliance)で規定されたDMS(Digital Media Server)は、UPnPをベースに規定されている。本実施形態における代理サービス装置101は、DMSの代理を行う機能を持つ。本実施形態におけるUPnPサービス提供装置102は、DMSを行う機能を持つ。本実施形態におけるUPnPコントロールポイント装置103は、DMP(Digital Media Player)の機能を持つ。
(代理サービス装置のモジュール構成)
図4(b)は、本実施形態の代理サービス装置101のモジュール構成図である。2301は、Wireless LAN制御部401からのコンテンツ要求に応じて、Bluetooth制御部402から、コンテンツを受信する機能を持つコンテンツ処理部である。コンテンツ要求の際に、常にオンデマンドで取得しても良いし、コンテンツ処理部が持つキャッシュを利用してもよい。
代理処理部407は、UPnPサービス提供装置102から提供されたDIDL−Liteに含まれるURLを、代理サービス装置101を表すURLに、書き換える機能を持つ。代理処理部407は、要求があった場合、URLを書き換えたDIDL−Liteを提供する。また、代理処理部407は、代理サービス装置101のコンテンツのURLを対応するUPnPサービス提供装置102のURLに書き換えて提供する。本実施形態では、DIDL−LiteのURLの書き換えを挙げたが、これに限らず、DIDL−Lite以外のメタデータのURLを書き換えても良い。
(サービス提供装置のモジュール構成)
図5(b)は、本実施形態のサービス提供装置102のモジュール構成図である。2401はコンテンツ提供処理部であり、Wireless LAN制御部501、および、Bluetooth制御部502からのコンテンツの要求に応じて、コンテンツを提供する機能を持つ。
実施形態3において、代理サービス装置101がUPnPサービス装置102の代理サービスを行っている場合の例を説明する。代理制御部406は、SOAP処理部404を利用して、Wireless LAN401を通じて、LAN100上のUPnPコントロールポイント装置103から、コンテンツの一覧の要求(Browse)を受信する。これに応じて代理制御部406は、SOAP処理部404を利用し、Bluetooth制御部402を通じて、Bluetooth104上のUPnPサービス提供装置102に、コンテンツ一覧の要求(Browse)を行い、DIDL−Liteを取得する。代理制御部406は、取得したDIDL−Liteを代理処理部407に送信し、DIDL−Liteの書き換えを依頼する。代理制御部406は、SOAP処理部404を利用して、Wireless LAN401を通じて、LAN100上のUPnPコントロールポイント装置103へ、コンテンツ一覧であるDIDL−Liteを返信する。
代理制御装置406は、コンテンツ処理部2301を利用して、Wireless LAN制御部401を通じて、LAN100上のUPnPコントロールポイント装置103から、コンテンツの取得要求を受け付ける。本実施形態における、コンテンツ取得要求は、HTTP GETである。代理制御部406は、代理処理部407にコンテンツのURLの変換を依頼する。代理処理部407は、代理サービス装置101のコンテンツのURLをUPnPサービス提供装置102のコンテンツのURLに変換し、代理制御部406に返信する。代理制御部406は、コンテンツ処理部2301を利用して、Bluetooth制御部402を通じて、Bluetooth104上のUPnPサービス提供装置102にコンテンツの取得要求を送信する。代理制御装置406はUPnPサービス提供装置102からコンテンツを取得すると、コンテンツ処理部2301を利用して、Wireless LAN制御部401を通じてLAN100上のUPnPコントロールポイント装置103にコンテンツを返信する。
UPnPサービス提供装置102は、代理サービス装置101からコンテンツの取得要求を受信する。サービス制御部506は、コンテンツ提供部2401を利用して、Bluetooth制御部402を通じて、Bluetooth104上の代理サービス装置102からのコンテンツの取得要求を受け付ける。サービス制御部506は、コンテンツ提供部2401を利用して、Bluetooth制御部402を通じて、Bluetooth104上の代理サービス装置101にコンテンツを返信する。
(コンテンツ提供処理)
図18は、実施形態3に係る代理サービス装置101とUPnPサービス提供装置102におけるコンテンツ提供処理のシーケンスを示すシーケンスチャートである。F2501において、UPnPコントロールポイント装置103は、LAN100を通じて、代理サービス装置101に、コンテンツ取得を要求する。F2502において、代理サービス装置101は、LAN100を通じて受信したコンテンツ取得に応じて、URLの書き換えなどの代理処理を実行する。F2503において、代理サービス装置101は、Bluetooth104を通じて、UPnPサービス装置102にコンテンツ取得を送信する。
F2504において、UPnPサービス提供装置102は、Bluetooth104を通じて、代理サービス装置101から、コンテンツ取得の要求を受信する。UPnPサービス提供装置102は、コンテンツ取得の要求に対応するコンテンツを提供する。F2505において、UPnPサービス提供装置102は、Bluetooth104を通じて、代理サービス装置101に、コンテンツを送信する。F2506において、代理サービス装置101は、Bluetooth104を通じて受信したコンテンツに応じて、URLの書き換えなどの代理処理を実行する。F2507において、代理サービス装置101は、LAN100を通じて、UPnPコントロールポイント装置103に、コンテンツを送信する。
なお、本実施形態における転送プロトコルは、HTTPによらず、例えばRTP等でもよい。その場合、代理サービス装置101におけるコンテンツ処理部2301がRTPプロキシの機能、および、UPnPサービス提供装置102におけるコンテンツ提供部2401がRTP配信機能を持つことで実現できる。
上記のように、本実施形態では、UPnP代理サービス装置101が中継(代理)するサービスが、UPnPサービスではなくコンテンツ配信サービスである場合の例を説明した。代理サービス装置101は、UPnPコントロールポイント装置103からLAN100を介してコンテンツ配信要求を受信した場合、コンテンツ配信先が代理サービス装置101となるようにこのコンテンツ配信要求を書き換える書換処理を行う。そして、書き換えたコンテンツ配信要求をBluetooth104を介してUPnPサービス提供装置102へ出力する。書き換えたコンテンツ配信要求を出力したことに応じてUPnPサービス提供装置102から配信されたコンテンツを受信すると、受信したコンテンツをUPnPコントロールポイント装置103へ配信する。
このため、コンテンツ配信のようなサービスであっても、UPnPサービス提供装置102とUPnPコントロールポイント装置103との間で提供されるサービスを適切に中継することができる。以上のように、本実施形態の構成は、サービスの提供、および、サービスで提供されているコンテンツの提供を行う事ができる。なお、本実施形態ではコンテンツの要求を転送する例を説明したが、転送に限らない。例えば、予めコンテンツのコピーを取得し、提供することで実施できることは言うまでもない。
上記構成によれば、代理サービス装置がサービス提供装置のネットワーク接続を変更させることによって、サービス提供装置を隠蔽することができる。更に、サービス提供装置は、代理サービス装置からのみのメッセージを受け付けるので安全になる。UPnPを利用すると、どのネットワークにおいても一様にサービスを公開するので、特に自宅外のネットワーク(例えば、友人宅のネットワーク)に接続した際に効果がある。

Claims (19)

  1. 情報処理装置であって、
    第1通信方式により無線通信する第1通信手段と、
    前記第1通信方式と異なる第2通信方式により無線通信する第2通信手段と、
    所定のサービスを実行可能であることを示す情報を他の情報処理装置に前記第1通信手段により送信する送信手段と、
    前記送信手段による送信に応じて、前記所定のサービスの実行要求を前記他の通信装置から前記第1通信手段により受信する受信手段と、
    前記他の情報処理装置との間で前記第2通信手段により接続するための通信パラメータを前記第1通信手段による通信により共有する共有手段と、
    前記所定のサービスの実行要求が前記受信手段により受信された場合、前記共有手段により共有された前記通信パラメータに基づいて前記第2通信手段により前記他の情報処理装置と接続し、前記第2通信手段による通信を伴う前記所定のサービスを実行する実行手段と、
    を有することを特徴とする情報処理装置。
  2. 記共有手段は、前記通信パラメータを前記他の情報処理装置に送信することを特徴とする請求項に記載の情報処理装置。
  3. 前記情報処理装置は、コンテンツ配信サービスを実行可能であることを前記他の情報処理装置から通知されることを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記第2通信手段により前記他の情報処理装置と接続した後に、前記第2通信手段を介してサービスの提供を開始することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  5. 前記第2通信手段は、無線LANを介した無線通信を行うことを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  6. 前記第2通信手段は、Bluetooth(登録商標)により無線通信を行うことを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  7. 前記第2通信手段は、前記共有手段により共有された前記通信パラメータに基づいて前記他の情報処理装置と接続した後に、前記他の情報処理装置とサービスの実行ができない場合、前記他の情報処理装置と接続を切断することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  8. 情報処理装置であって、
    第1通信方式により無線通信する第1通信手段と、
    前記第1通信方式と異なる第2通信方式により無線通信する第2通信手段と、
    所定のサービスを実行可能であることを示す情報を他の情報処理装置から前記第1通信手段により受信する受信手段と、
    前記受信手段による受信に応じて、前記所定のサービスの実行要求を前記他の通信装置に前記第1通信手段により送信する送信手段と、
    前記他の情報処理装置との間で前記第2通信手段により接続するための通信パラメータを前記第1通信手段による通信により共有する共有手段と、
    前記所定のサービスの実行要求が前記送信手段により送信された場合、前記共有手段により共有された前記通信パラメータに基づいて前記第2通信手段により前記他の情報処理装置と接続し、前記所定のサービスを前記第2通信手段による通信により実行する実行手段と、
    を有することを特徴とする情報処理装置。
  9. 前記共有手段は、前記通信パラメータを前記他の情報処理装置から受信することを特徴とする請求項8に記載の情報処理装置。
  10. 前記情報処理装置は、コンテンツ配信サービスを実行可能であることを前記他の情報処理装置に通知することを特徴とする請求項8または9に記載の情報処理装置。
  11. 前記第2通信手段により前記他の情報処理装置と接続した後に、前記第2通信手段を介してサービスの提供を開始することを特徴とする請求項8乃至10のいずれか1項に記載の情報処理装置。
  12. 前記第2通信手段は、無線LANを介した無線通信を行うことを特徴とする請求項8乃至11のいずれか1項に記載の情報処理装置。
  13. 前記第2通信手段は、Bluetooth(登録商標)により無線通信を行うことを特徴とする請求項8乃至11のいずれか1項に記載の情報処理装置。
  14. 前記第2通信手段は、前記共有手段により共有された前記通信パラメータに基づいて前記他の情報処理装置と接続した後に、前記他の情報処理装置とサービスの実行ができない場合、前記他の情報処理装置と接続を切断することを特徴とする請求項8乃至13のいずれか1項に記載の情報処理装置。
  15. 前記所定のサービスは、他の装置が提供するサービスを代理するサービスであることを特徴とする請求項1乃至14のいずれか1項に記載の情報処理装置。
  16. 前記実行手段は、前記他の通信装置とコンテンツを通信することを特徴とする請求項1乃至15のいずれか1項に記載の情報処理装置。
  17. 第1通信方式により無線通信する第1通信手段と、該第1通信方式と異なる第2通信方式により無線通信する第2通信手段とを有する情報処理装置の制御方法であって、
    所定のサービスを実行可能であることを示す情報を他の情報処理装置に前記第1通信方式により送信する送信工程と、
    前記送信工程における送信に応じて、前記所定のサービスの実行要求を前記他の通信装置から前記第1通信方式により受信する受信工程と、
    前記第2通信方式により接続するための通信パラメータを前記第1通信方式による通信により共有する共有工程と、
    前記所定のサービスの実行要求が前記受信工程において受信された場合、前記共有工程により共有された前記通信パラメータに基づいて前記第2通信方式により前記他の情報処理装置と接続し、前記第2通信方式による通信を伴う前記所定のサービスを実行する実行工程と、
    を有することを特徴とする情報処理装置の制御方法。
  18. 第1通信方式により無線通信する第1通信手段と、該第1通信方式と異なる第2通信方式により無線通信する第2通信手段とを有する情報処理装置の制御方法であって、
    所定のサービスを実行可能であることを示す情報を他の情報処理装置から前記第1通信方式により受信する受信工程と、
    前記受信工程における受信に応じて、前記所定のサービスの実行要求を前記他の通信装置に前記第1通信方式により送信する送信工程と、
    前記他の情報処理装置との間で前記第2通信方式により接続するための通信パラメータを前記第1通信方式による通信により共有する共有工程と、
    前記所定のサービスの実行要求が前記送信工程により送信された場合、前記共有工程により共有された前記通信パラメータに基づいて前記第2通信方式により前記他の情報処理装置と接続し、前記所定のサービスを前記第2通信方式による通信により実行する実行工程と、
    を有することを特徴とする情報処理装置の制御方法。
  19. コンピュータを、請求項1乃至16のいずれか1項に記載の情報処理装置が備える各手段として機能させるためのプログラム。
JP2013261818A 2013-12-18 2013-12-18 情報処理装置及びその制御方法、及び、プログラム Active JP5775562B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013261818A JP5775562B2 (ja) 2013-12-18 2013-12-18 情報処理装置及びその制御方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013261818A JP5775562B2 (ja) 2013-12-18 2013-12-18 情報処理装置及びその制御方法、及び、プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009029115A Division JP5448489B2 (ja) 2009-02-10 2009-02-10 情報処理装置及びその制御方法、情報処理システム、及び、プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015133124A Division JP6101312B2 (ja) 2015-07-01 2015-07-01 通信装置及びその制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2014078263A JP2014078263A (ja) 2014-05-01
JP5775562B2 true JP5775562B2 (ja) 2015-09-09

Family

ID=50783460

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013261818A Active JP5775562B2 (ja) 2013-12-18 2013-12-18 情報処理装置及びその制御方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP5775562B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3803654B2 (ja) * 2003-05-20 2006-08-02 Necアクセステクニカ株式会社 LAN間接続装置及びそのUPnPデバイス公開方法
JP4799005B2 (ja) * 2005-02-10 2011-10-19 富士通株式会社 情報処理装置
JP2006261853A (ja) * 2005-03-15 2006-09-28 Canon Inc 通信装置及びその制御方法
JP5448489B2 (ja) * 2009-02-10 2014-03-19 キヤノン株式会社 情報処理装置及びその制御方法、情報処理システム、及び、プログラム

Also Published As

Publication number Publication date
JP2014078263A (ja) 2014-05-01

Similar Documents

Publication Publication Date Title
JP5448489B2 (ja) 情報処理装置及びその制御方法、情報処理システム、及び、プログラム
JP4772375B2 (ja) 電子機器およびコンテンツ管理方法
US20080235358A1 (en) Proxy Device, Network System, and Communication Method
EP2840741B1 (en) Method and apparatus for using service of home network device based on remote access
JP2010282610A (ja) ネットワークシステム及びその管理方法
JP5425167B2 (ja) 撮像手段を有する通信装置およびその制御方法
JP2015036900A (ja) 情報処理装置およびその制御方法、プログラム
JP5425168B2 (ja) 撮像手段を有する通信装置およびその制御方法
JP2005175724A (ja) 通信装置及び撮像装置並びにその制御方法及びネットワークシステム
KR20120007433A (ko) 컴퓨터 장치 간의 고화질 비디오 텔레포니를 설정하는 장치 및 방법
JP5733927B2 (ja) 送信装置、送信方法、送信システム、及び、プログラム
JP5317835B2 (ja) コンテンツ属性情報提供装置、コンテンツ属性情報提供方法、及びコンピュータプログラム
JP2015023438A (ja) 情報処理装置、情報処理方法及びプログラム
JP5171598B2 (ja) 通信装置、提供装置、制御方法、プログラムおよびシステム。
JP2010004344A (ja) リモートアクセスを行う方法、装置、システム及びプログラム
JP4886712B2 (ja) アクセス制御システム、アクセス制御方法、アクセス制御装置およびアクセス制御プログラム
JP5775562B2 (ja) 情報処理装置及びその制御方法、及び、プログラム
JP6101312B2 (ja) 通信装置及びその制御方法及びプログラム
JP4892076B2 (ja) 通信制御装置、通信制御方法及びプログラム、記録媒体
KR20120064882A (ko) 미디어 렌더러를 위한 범용 플러그 앤 플레이 네트워크 기반의 컴퓨팅 공유 시스템 및 방법
JP5191878B2 (ja) ホームネットワーク内の端末から広域ネットワークへコンテンツを送信するコンテンツ転送方法及びシステム
JP2014042353A (ja) 撮像装置
RU2574775C1 (ru) Аппарат связи и способ управления таким аппаратом
Miyake et al. Technology for Controlling Access to Content between Different Home Networks
JP2014060783A (ja) 撮像装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150703

R151 Written notification of patent or utility model registration

Ref document number: 5775562

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151