サーバ装置、機器の関連付け登録方法、プログラム、および記録媒体
【課題】ネットワークを通じて家庭内の被制御機器を制御できるネットワークシステムにおいて、制御機器および被制御機器の登録を簡単に行うダイレクトアクセス管理サーバを提供する。
【解決手段】ダイレクトアクセス管理サーバは、制御機器からの要求によりサービスサーバより送信された制御機器・サービス管理ID取得要求を受信し、制御機器とサービスとの組み合わせに対して制御機器・サービス管理IDを生成し、記憶部に記憶するとともにサービスサーバに送信する。サービスサーバからパスワード取得要求を受信すると被制御機器登録用パスワードを生成してサービスサーバを通じて制御機器に応答する。またダイレクトアクセス管理サーバは、被制御機器の認証を行って機器認証継続IDを生成し、被制御機器に通知する。
【解決手段】ダイレクトアクセス管理サーバは、制御機器からの要求によりサービスサーバより送信された制御機器・サービス管理ID取得要求を受信し、制御機器とサービスとの組み合わせに対して制御機器・サービス管理IDを生成し、記憶部に記憶するとともにサービスサーバに送信する。サービスサーバからパスワード取得要求を受信すると被制御機器登録用パスワードを生成してサービスサーバを通じて制御機器に応答する。またダイレクトアクセス管理サーバは、被制御機器の認証を行って機器認証継続IDを生成し、被制御機器に通知する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、第1の機器からネットワークを通じて第2の機器をアクセスすることを可能にするために、各機器を制御機器および被制御機器として関連付けて登録するサーバ装置、機器の登録方法、プログラム、および記録媒体に関するものである。
【背景技術】
【0002】
インターネット上の制御機器から家庭内の被制御機器にアクセスする方法として、DDNS(Dynamic Domain Name System)方式や、メール方式が挙げられる。
【0003】
DDNS方式は、家庭内の被制御機器が、DDNSサーバに自分のアドレスを登録しておき、インターネット側の制御機器からドメイン名およびポート番号の指定を受信することで、この制御機器のアクセスを可能とする仕組みである。
【0004】
リアルタイムのコミュニケーションを実現するためのプロトコルとしてXMPP(eXtensible Messaging and Presence Protocol)がある(非特許文献1を参照)。このXMPPを用いたリアルタイム・コミュニケーションの形態の1つがインスタント・メッセージング(IM)である(非特許文献2を参照)。インスタント・メッセージング(IM)では、インターネット上でIMクライアント(IM交換を行うことのできる仲間)がオンラインかどうかを調べ、オンラインであれば、そのIMクライアントとの間で、チャットやファイル交換などを行うことができる。
【0005】
また、他のコンピュータにあるデータやサービスを呼び出すためのプロトコルとしては、SOAP(Simple Object Access Protocol)がある(非特許文献3を参照)。SOAPによる通信では、XML(eXtensible Markup Language)文書にエンベロープと呼ばれる付帯情報が付いたメッセージをHTTP(Hyper Text Transfer Protocol)などのプロトコルで交換する。サービスを利用するクライアントとサービスを提供するサーバの双方がSOAPの生成・解釈エンジンを持つことで、異なる環境間でのオブジェクトの呼び出しを可能にしている。
【非特許文献1】「Extensible Messaging and Presence Protocol (XMPP): Core」, RFC3920, The Internet Engineering Task Force(IETF), 2004年10月
【非特許文献2】「Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence」, RFC3921, The Internet Engineering Task Force (IETF), 2004年10月
【非特許文献3】「SOAP Version 1.2」, W3C Recommendation, World Wide Web Consortium (W3C), 2003年6月
【発明の開示】
【発明が解決しようとする課題】
【0006】
DDNS方式では、あらかじめ制御機器に、アプリケーションに応じてドメイン名とポート番号との組み合わせを登録しておく必要がある。また、複数の被制御機器が家庭内に存在する場合、インターネット側に公開しているポートを固定的にするために、家庭内の被制御機器に対するアドレスおよびポートへのポートフォワードを、たとえば被制御機器などに対応するアプリケーション毎に固定的に設定する必要がある。この設定にかなりの手間がかかるという問題もある。さらに、ポートフォワードが設定されたポートは、常に開放されているので、セキュリティの脆弱を生む。
【0007】
すなわち、DDNS方式は、制御機器から家庭内の単一ポートにのみアクセスするWebサーバのようなアプリケーションを提供する装置が、1台しか存在しないような環境でしか有効ではない。
【0008】
メール方式は、制御機器から既存のメールクライアントのソフトで手軽に被制御機器にアクセスできるものの、被制御機器はメールサーバにポーリングを行ってメールを取得するため、最短でも数分程度のポーリング間隔が生じ、リアルタイム性が損なわれる。また、スパムメールなどのメールの脆弱性への対応を行う必要がある。
【0009】
本発明は、かかる実情を鑑み、第1の機器からネットワークを通じて第2の機器を制御するネットワークシステムにおいて、各機器の登録を簡単に行うことのできるサーバ装置、機器の登録方法、プログラム、および記録媒体を提供することを目的としている。
【課題を解決するための手段】
【0010】
上記の課題を解決するために、この発明のサーバ装置は、ネットワークを介して接続された第1の機器と第2の機器とを互いに関連付けて登録する処理を行うサーバ装置であって、情報を記憶する記憶手段と、前記第1の機器からのパスワード発行要求に応じて第1のパスワードを生成し、前記第1の機器に関連する第1の識別情報と対応付けて前記第1のパスワードを前記記憶手段に記憶し、前記第1のパスワードを前記第1の機器に送信する第1の処理手段と、前記第2の機器から送信された第2のパスワードを受信し、この受信した第2のパスワードが前記記憶部に記憶されているかを確認し、前記第2のパスワードが前記記憶手段に記憶されている場合に、前記第2の機器に関連する第2の識別情報を前記第1の識別情報に関連付けて前記記憶手段に記憶する第2の処理手段とを具備する。
【0011】
この発明のサーバ装置は、第1の機器に対して第1のパスワードを発行し、この第1のパスワードと、第1の機器に関連する第1の識別情報と対応付けて記憶手段に記憶する。第1の機器に対して発行した第1のパスワードは第1の機器から第2の機器へと転送される第2の機器に第2のパスワードとして保持される。サーバ装置は、第2の機器から送信された第2のパスワードを受信し、この受信した第2のパスワードが記憶手段に記憶されているかを確認し、第2のパスワードが記憶手段に記憶されている場合に、第2の機器に関連する第2の識別情報を第1の識別情報に関連付けて記憶手段に記憶する。したがって、この発明によれば、第1の機器はサーバ装置に対してパスワード発行要求を与え、第2の機器は第1の機器から第1のパスワードを取得してこれを第2のパスワードとしてサーバ装置に送信するだけで、第1の機器とこの第1の機器の制御対象である第2の機器とを関連付けて記憶することができる。
【0012】
また、本発明のサーバ装置において、第1の処理手段は、第1の機器に関連する第1の識別情報を生成し、生成した第1の識別情報と第1のパスワードとを対応付けて、記憶手段に記憶することとしてもよい。
【0013】
本発明のサーバ装置において、第1の機器は、第1の機器へのサービスを提供するサービスサーバ装置を介してサーバ装置に接続され、第1の処理手段は、第1の識別情報として、第1の機器とサービスサーバ装置に関連する識別情報を生成するようにしてもかまわない。この場合において、第1の処理手段は、第1の識別情報として、第1の機器とサービスサーバ装置で提供されるサービスとの組み合わせに対する識別情報を生成する。
【0014】
本発明のサーバ装置において、前記第2の装置の正当性を認証する機器認証処理を実行し、前記第2の機器の認証に必要な認証情報と関連付けた認証識別情報を生成し、生成した前記認証識別情報を前記第2の装置に対して送信する手段を更に具備し、前記第2の処理手段は、前記認証識別情報を、前記第2の識別情報として前記第1の識別情報に関連付けて前記記憶手段に記憶する。
本発明のサーバ装置において、前記第1の処理手段は、生成した前記第1のパスワードに有効期限を設定し、前記第2の処理手段は、前記有効期限をチェックし、前記有効期限が切れている場合には、前記第2の識別情報を前記第1の識別情報に関連付ける処理を行わない。
【0015】
本発明のサーバ装置において、前記第1の処理手段は、生成した前記第1のパスワードと前記第1のパスワードに設定された有効期限の情報とを前記第1の機器に送信する。
本発明のサーバ装置において、前記サーバ装置は、前記第1の識別情報に対して複数の前記第2の識別情報を関連付ける。
本発明のサーバ装置において、前記サーバ装置は、複数の前記第1の識別情報を前記第2の識別情報に関連付ける。
【0016】
本発明のサーバ装置において、前記第2の処理手段は、前記第2の識別情報を前記第1の識別情報に関連付けて記憶する際に、前記記憶手段に記憶されている前記第1のパスワードを消去する。
本発明のサーバ装置において、前記記憶手段に記憶された前記第1の識別情報と前記第2の識別情報との関連付けをもとに、前記第1の識別情報に関連付けられている前記第2の識別情報のリストを生成し、前記第1の機器に送信する手段をさらに具備する。
【0017】
本発明のサーバ装置において、前記第1の装置から、前記第2の装置への要求を受信したとき、前記第1の装置に関連する情報が前記第1の識別情報が前記第2の識別情報に関連付けて前記記憶手段に記憶されているかを判別し、前記前記第1の識別情報が前記第2の識別情報に関連付けて記憶されていない場合には、前記第1の装置にエラーを送信する。
【0018】
本発明のサーバ装置において、前記第1の装置から、前記第2の装置への要求を受信したとき、前記第1の装置に関連する情報が前記第1の識別情報が前記第2の識別情報に関連付けて前記記憶手段に記憶されているかを判別し、前記前記第1の識別情報が前記第2の識別情報に関連付けて記憶されている場合には、前記第2の装置に前記第1の装置からの要求を送信する。
【発明の効果】
【0019】
本発明によれば、第1の機器からネットワークを通じて第2の機器を制御するネットワークシステムにおいて、各機器の登録を簡単に行うことのできるサーバ装置、機器の登録方法、プログラム、および記憶媒体を提供することができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施の形態を図面に基づき説明する。
【0021】
(第1の実施形態)
図1は本発明の一の実施形態にかかるネットワークシステムの全体的な構成を示す図である。
【0022】
このネットワークシステムは、制御機器としての携帯電話10、被制御機器としてのDVR(Digital Video Recorder)20、サービスサーバ30、ダイレクトアクセス管理サーバ40、およびルータ50を有している。
【0023】
携帯電話10は、被制御機器を制御する制御機器として動作するものである。制御機器は、被制御機器を制御するものであれば何でもよく、たとえば、PC(Personal Computer)、PDA(Personal Digital Assistance)などであってよい。
【0024】
携帯電話10は、電話機能部のほか、プログラムなどを記憶するメインメモリ、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPU(Central Processing Unit)、ネットワークとのインタフェース部、DVR20とのインタフェース部、キー入力部や表示部などのユーザインタフェース部、不揮発性の記憶部11などを備える。この記憶部11には、この携帯電話10に登録されているユーザ識別情報が記憶されている。メインメモリには、電話機能部を動作させるためのプログラムのほか、サービスサーバ30への自機器の登録、コンテンツのリモート録画予約、コンテンツ取得などに関する処理を行うためのプログラムなどが記憶されている。
【0025】
DVR20は、放送番組などのコンテンツをメディアに録画したり再生したりする録画再生機能部のほか、プログラムなどを記憶するメインメモリ、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPU、ネットワークとのインタフェース部、携帯電話10とのインタフェース部、不揮発性の記憶部21、リモコン受信部、TVなどを接続するためのインタフェース部などを備える。この記憶部21には、被制御機器に固定的に割り当てられた機器認証情報が予め記憶されている。メインメモリには、DVR20の録画再生機能部を制御するためのプログラムのほか、ダイレクトアクセス管理サーバ40への被制御機器の登録、コンテンツのリモート録画予約、コンテンツ取得などに関する処理を行うためのプログラムなどが記憶されている。なお、この実施の形態ではDVR20を被制御機器としたが、ネットワーク接続機能を有する機器であれば何でもよい。たとえば、テレビでもよい。
【0026】
サービスサーバ30は、携帯電話10などの制御機器に対してネットワーク越しに被制御機器にアクセスする各種のサービスを提供するサーバである。このサービスサーバ30は、たとえば、キーボード・マウスなどの入力部と、表示部と、プログラムなどを記憶するメインメモリと、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPUと、ネットワークとの通信部と、記憶部31とを備えた、たとえば定型的なコンピュータシステムを用いて実現される。メインメモリには、コンピュータシステムを動作させるために必要な基本的なプログラムのほか、サービスを実行するために必要なプログラムなどが記憶されている。記憶部31には、サービスサーバ30が提供する個々のサービスごとにサービスサーバ及びサービスを識別するためのServiceIDが記憶されている。
【0027】
ダイレクトアクセス管理サーバ40は、制御機器と、サービスサーバ30のサービスとの組み合わせと被制御機器との対応を管理するサーバである。このダイレクトアクセス管理サーバ40は、たとえば、キーボード・マウスなどの入力部と、表示部と、プログラムなどを記憶するメインメモリと、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPUと、ネットワークとのインタフェース部と、記憶部41とを備えた、たとえば定型的なコンピュータシステムを用いて実現される。メインメモリには、コンピュータシステムを動作させるために必要な基本的なプログラムのほか、コンピュータシステムをダイレクトアクセス管理サーバとして機能させるためのプログラムなどが記憶されている。
【0028】
ダイレクトアクセス管理サーバ40には、SOAP(Simple Object Access Protocol)サーバ42およびXMPP(eXtensible Messaging and Presence Protocol)サーバ43が設けられている。SOAPサーバ42は、制御機器とサービスの組み合わせの登録、被制御機器の登録、サービスサーバに対するダイレクトアクセスを行うための情報の授受などに関する処理を行うためのサーバである。XMPPサーバ43は、被制御機器であるDVR20との間で双方向の常時接続セッションを設定するためのサーバである。なお、SOAPサーバ及びXMPPサーバは、一実施例を示したものであり、SOAPサーバは他のAPI呼び出し方式を用いたサーバに、XMPPサーバは他のIMの方式を用いたサーバに、それぞれ置き換え可能である。
【0029】
次に、各機器のインタフェースについて説明する。図1において[IF-**]はインタフェース番号を示している。
【0030】
ダイレクトアクセス管理サーバ40のSOAPサーバ42は、サービスサーバ30からアクセスされるインタフェース[IF-02]と、DVR20からアクセスされるインタフェース[IF-00,IF-04]とを有する。SOAPサーバ42にはSOAPクライアント機能も含まれており、サービスサーバ30側のインタフェース[IF-05]へのアクセスを行う。XMPPサーバ43のインタフェースは、XMPPセッションの確立を行う際にXMPPクライアントからアクセスされる。本システム構成例では、DVR20からアクセスされるインタフェース[IF-06]がこれに該当し、XMPPセッション確立後はこのインタフェース[IF-06]を用いて双方向にメッセージをやり取りできるため、XMPPサーバ43からもDVR20のインタフェース[IF-07]にアクセスすることができる。また、ダイレクトアクセス管理サーバ40は、サービスサーバ30に対して、後述するXMPPトンネリング時に提供するダイレクトアクセス用URI(Uniform Resource Identifier)のインタフェース[IF-10]も有する。
【0031】
サービスサーバ30は、携帯電話10からアクセスされるインタフェース[IF-01]とダイレクトアクセス管理サーバ40からアクセスされるインタフェース[IF-05]を有する。
【0032】
なお、このシステム構成例では、サービスサーバ30はダイレクトアクセス管理サーバ40のXMPPサーバ43と直接インタフェースしていないが、もちろん直接インタフェースするように構成してもよい。
【0033】
DVR20は、ダイレクトアクセス管理サーバ40からアクセスされるXMPPセッション確立後のインタフェース[IF-07]と、携帯電話10との間で例えば赤外線やUSB(Universal Serial Bus)などでデータを送受信するためのインタフェース[IF-03]と、サービスサーバ30もしくは携帯電話10からアクセスされるダイレクトアクセス用URIに対応したインタフェース[IF-09]とを有している。
【0034】
ルータ50は、DVR20からアクセスされる、UPnP(Universal Plug and Play)IGD(Internet Gateway Device)機能のインタフェース[IF-08]を有する。
【0035】
次に、この実施形態のネットワークシステムの動作を説明する。以下の説明において<X-XX>は要求、<X-XXR>は<X-XX>に対する応答を示す。
【0036】
[1.制御機器・サービス、被制御機器の登録]
【0037】
最初に、携帯電話10(制御機器)とサービスとの組み合わせ毎に発行される制御機器・サービス管理IDと、ダイレクトアクセス管理サーバ40内で個々のDVR20(被制御機器)に対してユニークに発行される被制御機器管理IDとの紐付けを行う動作を説明する。
【0038】
図2は携帯電話10とサービスとの組み合わせの登録とDVR20の登録を行う際の情報の流れを示すシーケンス図である。図3はこの登録時の携帯電話10のフローチャートである。図4はこの登録時のサービスサーバ30のフローチャートである。図5は登録時のダイレクトアクセス管理サーバ40のフローチャートである。図6はこの登録時のDVR20のフローチャートである。
【0039】
[1-1.制御機器とサービスとの組み合わせの登録]
【0040】
まず、携帯電話10は、ユーザからの被制御機器登録の指示を受け(図3:ステップS301)、ユーザ識別情報を含む被制御機器登録要求<R-1>をサービスサーバ30に発行する(図3:ステップS302)。
【0041】
サービスサーバ30は、ユーザ識別情報を含む被制御機器登録要求<R-1>を受信すると(図4:ステップS401)、そのユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されているかどうかを判断する(図4:ステップS402)。
【0042】
ユーザ識別情報に対応する制御機器・サービス管理IDが記憶されていない場合、サービスサーバ30は、ユーザ識別情報を記憶部31に保存し(図4:ステップS403)、あらかじめ自身に割り当てられているServiceIDを含む制御機器・サービス管理ID取得要求<R-2>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に対して発行する(図4:ステップS404)。制御機器・サービス管理IDは、サービス事業者が提供する個々のサービスと制御機器との組み合わせに対してユニークに割り当てられるIDである。
【0043】
SOAPサーバ42は、制御機器・サービス管理ID取得要求<R-2>を受信すると(図5:ステップS501)、これに含まれているServiceIDが、ダイレクトアクセス管理サーバ40の記憶部41にあらかじめ登録されているServiceIDと一致するかどうかを調べ(図5:ステップS502)、一致しない場合には、サービスサーバ30にServiceIDが未登録であることを示すエラーコードを制御機器・サービス管理ID取得応答<R-2R>として送信する(図5:ステップS506)。ServiceIDが一致する場合には、SOAPサーバ42は、新規の制御機器・サービス管理IDを発行して(図5:ステップS503)、この制御機器・サービス管理IDとServiceIDとの対応関係を記憶部41に登録し(図5:ステップS504)、その制御機器・サービス管理IDをサービスサーバ30に制御機器・サービス管理ID取得応答<R-2R>として送信する(図5:ステップS505)。これにより、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス管理サーバ40からみて制御側を、制御機器である携帯電話10と、携帯電話10が利用するサービスサーバ30のサービスとを組み合わせで識別することができるようになる。
【0044】
サービスサーバ30は、制御機器・サービス管理ID取得応答<R-2R>として制御機器・サービス管理IDを受信すると(図4:ステップS405)、この制御機器・サービス管理IDをユーザ識別情報と対応付けて記憶部31に登録する(図4:ステップS406)。制御機器・サービス管理IDをユーザ識別情報と対応付けて記憶することにより、サービスサーバ30は、以降、携帯電話10からアクセスされた際に、携帯電話10のユーザ識別情報に対応する制御機器・サービス管理IDを用いて、ダイレクトアクセス管理サーバ40に処理を要求することにより、制御機器である携帯電話10とサービスサーバ30のサービスとの組み合わせの制御側として、ダイレクトアクセス管理サーバ40に制御要求元を一意に識別させることが可能となる。
【0045】
サービスサーバ30は、制御機器・サービス管理IDをユーザ識別情報と対応付けて記憶部31に登録した後、または、携帯電話10から受信した被制御機器登録要求<R-1>に含まれるユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に登録されている場合、それら制御機器・サービス管理IDおよびServiceIDを含む被制御機器登録用パスワード取得要求<R-3>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に対して発行する(図4:ステップS407)。
【0046】
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、被制御機器登録用パスワード取得要求<R-3>を受信すると(図5:ステップS507)、これに含まれている制御機器・サービス管理IDおよびServiceIDの組み合わせが記憶部41に登録されているかどうかを判断する(図5:ステップS508)。登録されていない場合、SOAPサーバ42は、サービスサーバ30に制御機器・サービス管理IDとServiceIDの組み合わせが未登録であることを示すエラーコードを被制御機器登録用パスワード取得応答<R-3R>として送信する(図5:ステップS512)。また、被制御機器登録用パスワード取得要求<R-3>に含まれている制御機器・サービス管理IDおよびServiceIDの組み合わせが記憶部41に既に登録されている場合、SOAPサーバ42は、被制御機器登録用パスワードを新たに生成し(図5:ステップS509)、この被制御機器登録用パスワードとこの被制御機器登録用パスワードに対して決められた有効期限に関する情報を被制御機器登録用パスワード取得要求<R-3>に含まれていた制御機器・サービス管理IDおよびServiceIDと対応付けて記憶部41に登録する(図5:ステップS510)。この後、SOAPサーバ42は、被制御機器登録用パスワードと、この被制御機器登録用パスワードの有効期限の情報を被制御機器登録用パスワード取得応答<R-3R>としてサービスサーバ30に送信する(図5:ステップS511)。
【0047】
サービスサーバ30は、被制御機器登録用パスワード取得応答<R-3R>を受信すると(図4:ステップS408)、この被制御機器登録用パスワード取得応答<R-3R>に含まれている被制御機器登録用パスワードとその有効期限の情報を被制御機器登録応答<R-4>として携帯電話10に送信する(図4:ステップS409)。
【0048】
携帯電話10は、この被制御機器登録応答<R-4>を受信すると(図3:ステップS303)、これに含まれている被制御機器登録用パスワードとその有効期限の情報を記憶部11に保存する(図3:ステップS304)。
【0049】
以上により、携帯電話10とサービスとの組み合わせに対する制御機器・サービス管理IDの登録処理と被制御機器を制御機器に関連付けるために用いられる被制御機器登録用パスワードの発行処理が完了となる。
【0050】
[1-2.被制御機器の登録]
【0051】
次に被制御機器であるDVR20の登録時の動作を説明する。
【0052】
DVR20は、ユーザによる利用前にダイレクトアクセス管理サーバ40において自身の機器認証を次のように行う。
【0053】
まず、DVR20は自動接続フラグの値をチェックする(図6:ステップS601)。被制御機器のダイレクトアクセス管理サーバ40への登録前には自動接続フラグの値はオフである。この場合DVR20は自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R-0>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図6:ステップS602)。
【0054】
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、DVR20からの機器認証要求<R-0>を受信すると(図5:ステップS513)、このDVR20が正当な機器であるかどうかを、機器認証要求<R-0>に含まれる認証方式の情報および機器認証情報に基づき判定する(図5:ステップS514)。不当な機器として判定された場合、すなわち、認証方式があらかじめ決められている認証方式と異なる場合や機器認証情報があらかじめ決められている認証方式の形式と異なる場合等には、SOAPサーバ42は、機器認証に失敗したことを示すエラーコードを機器認証応答<R-0R>としてDVR20に送信する(図5:ステップS515)。正当な機器であることが判定された場合、すなわち、認証方式があらかじめ決められている認証方式と一致し、かつ機器認証情報があらかじめ決められている認証方式の形式である場合には、SOAPサーバ42は、そのDVR20に対して割り当てる機器認証継続IDを生成して(図5:ステップS516)、この機器認証継続IDと、機器認証要求<R-0>に含まれる機器認証情報とを対応付けて記憶部41に保存する(図5:ステップS517)。この後、SOAPサーバ42は、上記の生成した機器認証継続IDとその有効期限の情報を含む機器認証応答<R-0R>をDVR20へ送信する(図5:ステップS518)。機器認証継続IDは、ダイレクトアクセス管理サーバ40で機器認証が完了している機器に対して割り当てられる識別情報であり、この識別情報によって、ダイレクトアクセス管理サーバ40は、被制御機器であるDVR20の機器の認証状況を確認することが可能となる。
【0055】
DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42から、機器認証継続IDとその有効期限の情報とを含む機器認証応答<R-0R>を受信すると(図6:ステップS603)、この機器認証応答<R-0R>に含まれる機器認証継続ID、その有効期限の情報を機器認証情報と対応付けて記憶部21に保存する(図6:ステップS604)。
【0056】
この後、DVR20は、記憶部21に被制御機器登録用パスワードが保存されているかどうかを判断する(図6:ステップS605)。被制御機器登録用パスワードが保存されていない場合には動作を終了し、被制御機器登録用パスワードが保存されている場合にはステップS609へ移行する。機器認証継続IDを取得した直後は被制御機器登録用パスワードが保存されていないので、この場合には動作を終了することとなる。ここまでにおいて、被制御機器であるDVR20は機器認証継続ID、機器認証継続IDの有効期限の情報、機器認証情報の組み合わせを記憶部21に記憶し、ダイレクトアクセス管理サーバ40は機器認証継続IDと機器認証情報との組み合わせを記憶部41に記憶している。
【0057】
[1-3.制御機器・サービス管理IDと被制御機器管理IDとの紐付け]
【0058】
次に、制御機器・サービス管理IDと被制御機器管理IDとを関連付けてダイレクトアクセス管理サーバ40に登録する動作を行う。携帯電話10において、ユーザからのワンタイムパスワード送信要求が入力される(図3:ステップS305)。携帯電話10は、このユーザからのワンタイムパスワード送信要求を受けると記憶部11に記憶されている被制御機器登録用パスワードを、例えば、赤外線やUSBなどのインタフェース[IF-03]を使って、被制御機器であるDVR20にワンタイムパスワード<R-5>として渡す(図3:ステップS306)。被制御機器登録用パスワードの渡し方は、他にも、非接触ICカードを介した受け渡し、Bluetooth(商標)、無線LANなどによる無線伝送など様々な方式が想定されるが、制御機器である携帯電話10から被制御機器であるDVR20に対して被制御機器登録用パスワードを渡すことができさえすればどのような渡し方であっても構わない。この後、携帯電話10は記憶部11から被制御機器登録用パスワードを消去する(図3:ステップS307)。
【0059】
DVR20は、携帯電話10から被制御機器登録用パスワード<R-5>を受信すると(図6:ステップS607)、この被制御機器登録用パスワードを記憶部21に保存する(図6:ステップS608)。続いて、DVR20は、記憶部21に記憶されている機器認証継続IDと、携帯電話10より受信した被制御機器登録用パスワードを含む被制御機器登録要求<R-6>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図6:ステップS609)。これによりDVR20は、ダイレクトアクセス管理サーバ40に、被制御機器登録用パスワードを送信してきた携帯電話10と関連付けて登録することを要求する。
【0060】
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、DVR20から被制御機器登録要求<R-6>を受信すると(図5:ステップS519)、この被制御機器登録要求<R-6>に含まれる機器認証継続IDが記憶部41に保存されているものと一致するかどうかのチェックと機器認証継続IDの有効期限のチェックを行う(図5:ステップS520)。これらのチェックでNGが判定された場合、すなわち機器認証継続IDが一致しないか、もしくは機器認証継続IDの有効期限が切れている場合には、機器認証が必要であることを示すエラーコードを含む被制御機器登録応答<R-6R>をDVR20へ送信する(図5:ステップS528)。DVR20は、このエラーコードを含む被制御機器登録応答<R-6R>を受信すると(図6:ステップS622)、ステップS602に戻って機器認証のための処理を繰り返す。
【0061】
また、SOAPサーバ42は、ステップS520のチェック結果がOKの場合、すなわち機器認証継続IDが記憶部41に記憶されているものと一致し、かつ機器認証継続IDの有効期限が切れていない場合、DVR20から受信した被制御機器登録要求<R-6>に含まれる被制御機器登録用パスワードが記憶部41に保存されているものと一致するかどうかのチェックとその被制御機器登録用パスワードの有効期限のチェックを行う(図5:ステップS521)。これらのチェックでNGが判定された場合、すなわち被制御機器登録用パスワードが一致しないか、もしくは被制御機器登録用パスワードの有効期限が切れている場合、SOAPサーバ42は、被制御機器登録要求<R-6>に含まれる被制御機器登録用パスワードが無効であることを示すエラーコードを被制御機器登録応答<R-6R>としてDVR20へ送信する(図5:ステップS527)。DVR20は、このエラーコードを被制御機器登録応答<R-6R>として受信すると(図6:ステップS620)、DVR20に接続されたTVの画面等を通して、被制御機器登録用パスワードの再取得を行うように、ユーザに対してエラーメッセージの表示を行って(図6:ステップS621)、処理を終了する。
【0062】
また、SOAPサーバ42は、ステップS521のチェック結果がOKの場合、すなわち被制御機器登録用パスワードが記憶部41に記憶されているものと一致し、かつ被制御機器登録用パスワードの有効期限が切れていない場合には、記憶部41に記憶されている情報を参照して、被制御機器登録要求<R-6>に含まれている機器認証継続IDに被制御機器管理IDが割り当てられているかどうかの判断を行う(図5:ステップS521-1)。機器認証継続IDに対応する被制御機器管理IDがまだ割り当てられていない場合、SOAPサーバ42は、そのDVR20に対して被制御機器管理IDを割り当て(図5:ステップS522)、この割り当てた被制御機器管理IDを、そのDVR20の機器認証情報および機器認証継続IDと対応付けて記憶部41に保存する(図5:ステップS523)。被制御機器登録要求<R-6>に含まれている機器認証継続IDに被制御機器管理IDがすでに割り当てられている場合には、SOAPサーバ42は被制御機器管理IDを、記憶部41に該被制御機器登録用パスワードと対応付けられて保存されている制御機器・サービス管理IDと関連付けて記憶部41に保存する(図5:ステップS523-1)。ここで、被制御機器管理IDとは、被制御機器に対してダイレクトアクセス管理サーバ40内でユニークに割り当てられる識別情報である。これによって、制御機器とサービスとの組み合わせに対して割り当てられた制御機器・サービス管理IDと、被制御機器に対して割り当てられた被制御機器管理IDとの紐付けが行われる。この紐付けは、1つの制御機器・サービス管理IDに対して複数の被制御機器管理IDが紐付けされても、逆に複数の制御機器・サービス管理IDが1つの被制御機器管理IDに紐付けされても構わない。
【0063】
次にSOAPサーバ42は、現在紐付けが完了しているサービスの数を被制御機器登録応答<R-6R>としてDVR20へ送信する(図5:ステップS524)。次に、SOAPサーバ42は、記憶部41に保存されているServiceID、制御機器・サービス管理ID、被制御機器登録用パスワードを含む被制御機器登録完了通知<R-7>をサービスサーバ30に送信する(図5:ステップS525)。この後、SOAPサーバ42は、記憶部41の被制御機器登録用パスワードを消去し(図5:ステップS526)、処理を終了する。また、サービスサーバ30は、SOAPサーバ42より被制御機器登録完了通知<R-7>を受信すると(図4:ステップS410)、被制御機器の登録が完了したことを携帯電話10に通知する(図4:ステップS411)。被制御機器の登録が完了したことをサービスサーバ30から携帯電話10に通知する方法としては、たとえば、電子メールや、携帯電話10との間でその他の方法で通信を行うために用意されたアプリケーション等がある。
【0064】
DVR20は、SOAPサーバ42より現在紐付けが完了しているサービスの数を被制御機器登録応答<R-6R>として受信すると(図6:ステップS610)、自動接続フラグをオンにセットし(図6:ステップS611)、被制御機器の登録が完了したことを表すメッセージを表示する(図6:ステップS612)。続いて、DVR20は、記憶部21に保存されている被制御機器登録用パスワードを消去する(図6:ステップS613)。その後、DVR20は、ダイレクトアクセス管理サーバ40のXMPPサーバ43との間で常時接続セッションを確立するために、機器認証継続IDを含むXMPPログイン情報取得要求<D-0-1>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図6:ステップS614)。
【0065】
[2.被制御機器のXMPPログイン]
【0066】
このネットワークシステムでは、ダイレクトアクセス管理サーバ40に、被制御機器との間で双方向の常時接続セッションを設定するためのXMPPサーバ43を置いている。制御機器である携帯電話10から被制御機器であるDVR20にネットワークを通じてアクセスするために、その前にDVR20がXMPPサーバ43にログインしてXMPPサーバ43の間で常時接続セッションを確立しておく。これにより、サービスサーバ30や携帯電話10は、必要なときには、DVR20から必要な情報を取得できる。また、この際のサービスサーバ30の設計を簡単にするために、XMPPプロトコルをダイレクトアクセス管理サーバ40内に隠蔽し、SOAPインタフェースだけで、DVR20と双方向の常時接続セッションを設定しているXMPPサーバ43との情報のやり取りを行えるようにしている。
【0067】
図7の一部は被制御機器のXMPPログインに関する情報の流れを示すシーケンス図、図10の一部は被制御機器のXMPPログインに関するダイレクトアクセス管理サーバ40の動作を示すフローチャートである。
【0068】
これらの図に示されるように、ダイレクトアクセス管理サーバ40は、DVR20より機器認証継続IDを含むXMPPログイン情報取得要求<D-0-1>を受信すると(図10:ステップS1001)、このXMPPログイン情報取得要求<D-0-1>に含まれている機器認証継続IDと機器認証継続IDの有効期限のチェックを行う(図10:ステップS1002)。このチェックでXMPPログイン情報取得要求<D-0-1>に含まれている機器認証継続IDが、ダイレクトアクセス管理サーバ40の記憶部41に記憶されているものと一致しない場合、もしくは、有効期限が切れている場合には、DVR20が正常にダイレクトアクセス管理サーバ40に登録されていないか、もしくは、過去に登録されていたが登録時の機器認証継続IDの有効期限が切れているのかであるため、機器認証が必要であることを示すエラーコードをXMPPログイン情報取得応答<D-0-1R>としてDVR20に送信する(図10:ステップS1003)。機器認証継続IDが記憶部41に記憶されており、かつ機器認証継続IDの有効期限が切れていない場合、ダイレクトアクセス管理サーバ40は、記憶部41から、当該機器認証継続IDに紐付けられている被制御機器管理ID及び機器認証情報を検索し(図10:ステップS1004)、これら被制御機器管理IDと機器認証情報から、DVR20がXMPPサーバ43にログインするために必要なXMPPログインIDであるFull JID(D)、XMPPログインパスワードおよびXMPPログインパスワードの有効期限の情報を生成し(図10:ステップS1005)、これらを記憶部41に保存する(図10:ステップS1006)。そして、ダイレクトアクセス管理サーバ40は、生成したFull JID(D)、XMPPログインパスワードおよびその有効期限の情報に、XMPPアドレスおよびポート番号、認証方式の情報、SSL(Secure Socket Layer)オプションを加えた情報をXMPPログイン情報取得応答<D-0-1R>としてDVR20に送信する(図10:ステップS1007)。
【0069】
DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からFull JID(D)、XMPPログインパスワード等を含むXMPPログイン情報取得応答<D-0-1R>を受信すると(図6:ステップS615)、Full JID(D)、XMPPログインパスワードを含むXMPPログイン認証要求<D-0-2>を、ダイレクトアクセス管理サーバ40内のXMPPサーバ43に送信する(図6:ステップS616)。
【0070】
ダイレクトアクセス管理サーバ40内のXMPPサーバ43は、DVR20よりXMPPログイン認証要求<D-0-2>を受信すると(図10:ステップS1008)、このXMPPログイン認証要求<D-0-2>に含まれているFull JID(D)、XMPPログインパスワードおよびXMPPログインパスワードの有効期限のチェックを行い(図10:ステップS1009)、Full JID(D)が記憶部41に記憶されているものと一致しない、または、XMPPログインパスワードが記憶部41に記憶されているものと一致しない、または、XMPPログインパスワードの有効期限が切れている場合には、XMPPログイン失敗を示すエラーコードをXMPPログイン認証応答<D-0-1R>としてDVR20に送信する(図10:ステップS1010)。また、Full JID(D)。XMPPログインパスワードおよび有効期限のチェックがすべてOKならば、ダイレクトアクセス管理サーバ40内のXMPPサーバ43は、XMPPログイン許可を示すコードをXMPPログイン認証応答<D-0-2R>としてDVR20に送信する(図10:ステップS1011)。
【0071】
DVR20は、ダイレクトアクセス管理サーバ40よりXMPPログイン失敗を示すエラーコードをXMPPログイン認証応答<D-0-2R>として受信すると(図6:ステップS619)、ステップS614に戻って、再度XMPPログイン情報の取得要求を行う。すなわち、XMPPログインパスワードの有効期限が切れている可能性があるため、再度、XMPPログイン情報の取得要求処理を行う。また、ダイレクトアクセス管理サーバ40よりXMPPログイン許可を示すコードをXMPPログイン認証応答<D-0-2R>として受信すると(図6:ステップS618)、DVR20は、XMPPログイン処理が完了する。
【0072】
なお、DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42より、機器認証が必要であることを示すエラーコードをXMPPログイン情報取得応答<D-0-1R>として受信した場合には(図6:ステップS617)、自機が正常にダイレクトアクセス管理サーバ40に登録されていないか、もしくは、機器認証継続IDの有効期限が切れている可能性があるため、再度、自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R-0>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信して自身の機器認証をやりなおす(図6:ステップS602)。
【0073】
上記のように、このネットワークシステムでは、ダイレクトアクセス管理サーバ40にて、DVR20がXMPPサーバ43にログインするために必要なXMPPログインID(Full JID(D))及びXMPPログインパスワードをそれぞれ生成し、DVR20へ配布している。このFull JID(D)は、たとえば図24に示すように、Bare JID部とResource部とで構成される。Bare JID部には被制御機器に割り当てられた被制御機器管理IDが用いられ、Resource部には機器認証情報から得た製品コード及びシリアルナンバーが用いられている。また、図25に示すように、Resource部には制御機器とサービスの組み合わせを識別するための制御機器・サービス管理IDを用いてもよい。
【0074】
ところで、ステップS611で自動接続フラグがオンにセットされることにより、DVR20は次回の接続時、例えばDVR20の電源が一旦オフされその後に再投入された時、或いはXMPPサーバ43とのセッション切断後のセッションの再確立の時には、ステップS601の自動接続フラグのチェックの後、ステップS614のXMPPログイン情報取得要求<D-0-1>の送信から処理を開始する。すなわち、DVR20は再接続時には機器認証のための処理、携帯電話10からの被制御機器登録用パスワードの取得、被制御機器登録のための処理をスキップしてXMPPログインのための処理に入る。これにより、DVR20は再接続時には、XMPPログインのための処理を行うだけで、XMPPサーバ43の間での接続セッションを確立することができる。
【0075】
以上で、制御機器である携帯電話10の制御対象として、被制御機器であるDVR20を関連付けるための処理が完了する。以下では、関連付けられた2つの機器の間で、携帯電話10がDVR20を制御する際の具体的な処理に関して説明する。
【0076】
[3.リモート録画予約]
【0077】
DVR20へのリモート録画予約の動作を説明する。
【0078】
図7の一部はリモート録画予約時の情報の流れを示すシーケンス図、図8はリモート録画予約に関する携帯電話10の動作を示すフローチャート、図9はリモート録画予約に関するサービスサーバ30の動作を示すフローチャート、図10と図11はリモート録画予約およびコンテンツ取得に関するダイレクトアクセス管理サーバ40の動作を示すフローチャート、図12はリモート録画予約およびコンテンツ取得に関するDVR20の動作を示すフローチャートである。
【0079】
携帯電話10のユーザから、リモート録画予約サービスを受信するために、ダイレクトアクセス利用開始の指示が携帯電話10に与えられると(図8:ステップS801)、携帯電話10は自身に予め設定されているユーザ識別情報を含む被制御機器リスト取得要求<D-1>をサービスサーバ30に送信する(図8:ステップS802)。
【0080】
サービスサーバ30は、携帯電話10より被制御機器リスト取得要求<D-1>を受信すると(図9:ステップS901)、この被制御機器リスト取得要求<D-1>に含まれるユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されているかどうかを判定する(図9:ステップS902)。ユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されていない場合、サービスサーバ30は、被制御機器の登録が必要であることを示すエラーコードを被制御機器リスト取得応答<D-3>として携帯電話10に送信する(図9:ステップS903)。ユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されている場合は、ダイレクトアクセス管理サーバ40に管理されている制御機器・サービス管理IDに関連付けられている被制御機器の一覧を取得するために、サービスサーバ30は、サービスを識別する情報であるServiceIDおよび制御機器・サービス管理IDを含む被制御機器リスト取得要求<D-2>をダイレクトアクセス管理サーバ40に送信する(図9:ステップS904)。
【0081】
ダイレクトアクセス管理サーバ40は、サービスサーバ30からの被制御機器リスト取得要求<D-2>を受信すると(図10:ステップS1012)、この被制御機器リスト取得要求<D-2>に含まれるServiceIDおよび制御機器・サービス管理IDの組み合わせが記憶部41に記憶されているかどうかを判定し(図10:ステップS1013)、もし記憶されていない場合には、未登録であることを示すエラーコードを被制御機器リスト取得応答<D-2R>としてサービスサーバ30に送信する(図10:ステップS1014)。サービスサーバ30は、ダイレクトアクセス管理サーバ40から未登録であることを示すエラーコードを被制御機器リスト取得応答<D-2R>として受信した場合は(図9:ステップS905)、被制御機器の登録が必要であることを示すエラーコードを被制御機器リスト取得応答<D-3>として携帯電話10に送信する(図9:ステップS906)。携帯電話10は、サービスサーバ30よりエラーコードを被制御機器リスト取得応答<D-3>として受信する場合(図8:ステップS803)、サービス対象の被制御機器の登録が必要であることを示すエラーメッセージを、表示部を通じてユーザに表示する(図8:ステップS804)。
【0082】
また、ステップS1013の判定で、被制御機器リスト取得要求<D-2>に含まれるServiceIDおよび制御機器・サービス管理IDの組み合わせが記憶部41に記憶されていることが判定された場合、ダイレクトアクセス管理サーバ40は、記憶部41に記憶されている制御機器・サービス管理IDと被制御機器管理IDとの紐付け内容に従って、携帯電話10から制御可能な被制御機器の被制御機器管理IDに対して改めて振り直した番号と被制御機器の機器認証情報に含まれる機器名称等からなる一覧を被制御機器リストとして生成し、この被制御機器リストを制御機器・サービス管理IDと対応付けて記憶部41に保存するとともに、この被制御機器リストを含む被制御機器リスト取得応答<D-2R>をサービスサーバ30に送信する(図10:ステップS1015)。サービスサーバ30が、ダイレクトアクセス管理サーバ40から被制御機器リストを含む被制御機器リスト取得応答<D-2R>を受信した場合は(図9:ステップS907)、この被制御機器リストを含む被制御機器リスト取得応答<D-3>を携帯電話10に送信する(図9:ステップS908)。
【0083】
携帯電話10は、被制御機器リストを含む被制御機器リスト取得応答<D-3>を受信した場合は(図8:ステップS805)、その被制御機器リストに複数の被制御機器の番号が存在するかどうかを判定する(図8:ステップS806)。複数の被制御機器の番号が存在する場合には、携帯電話10は、その被制御機器リストの内容を表示部に表示して(図8:ステップS807)、ユーザにその中から1つの被制御機器の番号を選択させ(図8:ステップS808)、その選択された被制御機器の番号を記憶部11に保存する(図8:ステップS809,S811)。複数の被制御機器が存在しない場合には、その一つの被制御機器の番号を記憶部11に保存する(図8:ステップS810,S811)。
【0084】
次に、携帯電話10は、これから利用するサービス(リモート録画予約)が携帯電話10から被制御機器に対してダイレクトアクセス可能なサービスか否かによって処理を分岐する(図8:ステップS812)。携帯電話10からダイレクトアクセス可能なサービスを利用する場合は、携帯電話10は、記憶部11に記憶されているユーザ識別情報、被制御機器の番号、携帯ダイレクトフラグ(オン)を含む新規リモート録画予約要求<D-4>をサービスサーバ30に送信する(図8:ステップS813)。ここで、携帯ダイレクトフラグの値は、携帯電話10からダイレクトアクセス可能なサービスを利用する場合にはオンにセットされ、携帯電話10からダイレクトアクセスが不可なサービスを利用する場合にはオフにセットされる。したがって、携帯電話10からダイレクトアクセス不可なサービスを利用する場合は、携帯電話10は、ユーザ識別情報、録画予約番組情報、被制御機器の番号、携帯ダイレクトフラグ(オフ)を含む新規リモート録画予約要求<D-4>をサービスサーバ30に送信する(図8:ステップS814)。録画予約番組情報は、たとえば、録画開始時間、番組長、放送種別、チャンネル、強制予約フラグなどの情報で構成される。
【0085】
サービスサーバ30は、携帯電話10から新規リモート録画予約要求<D-4>を受信すると(図9:ステップS909)、利用可能なXMPPセッションID、すなわち新規リモート録画予約要求<D-4>に含まれる携帯電話10のユーザ識別情報に関連付けられてXMPPサーバ43との間で確立されている接続セッションを識別するIDが記憶部31に記憶されているか否かを調べる(図9:ステップS910)。利用可能なXMPPセッションIDが記憶されていない場合には、サービスサーバ30は、XMPPサーバ43とXMPPセッションを確立するために、ServiceID、制御機器・サービス管理ID、被制御機器の番号を含むXMPPログイン要求<D-5>をダイレクトアクセス管理サーバ40に送信する(図9:ステップS912)。
【0086】
ダイレクトアクセス管理サーバ40は、サービスサーバ30からのXMPPログイン要求<D-5>を受信すると(図10:ステップS1016)、このXMPPログイン要求<D-5>に含まれるServiceID、制御機器・サービス管理ID、および被制御機器の番号の組み合わせが記憶部41に記憶されているかどうかを判定する(図10:ステップS1017)。記憶されていない場合、ダイレクトアクセス管理サーバ40は、対応するサービス対象の被制御機器が存在しないことを示すエラーコードをXMPPログイン応答<D-5R>としてサービスサーバ30に送信する(図10:ステップS1018)。この後、ダイレクトアクセス管理サーバ40の動作は終了となる。対応するサービス対象の被制御機器が記憶部41に記憶されている場合、ダイレクトアクセス管理サーバ40は、XMPPセッションIDを生成し、このXMPPセッションIDをServiceID、制御機器・サービス管理ID、被制御機器の番号と対応付けて記憶部41に保存し(図10:ステップS1019)、このXMPPセッションIDを含むXMPPログイン応答<D-5R>をサービスサーバ30に送信する(図10:ステップS1020)。
【0087】
サービスサーバ30は、ダイレクトアクセス管理サーバ40からXMPPセッションIDを含むXMPPログイン応答<D-5R>を受信すると(図9:ステップS913)、このXMPPログイン応答<D-5R>に含まれるXMPPセッションIDおよび、ステップS909の新規リモート録画予約要求<D-4>に含まれる携帯ダイレクトフラグの値をServiceID、制御機器・サービス管理ID、被制御機器リスト番号と対応付けて記憶部31に保存する(図9:ステップS914)。
【0088】
一方、サービスサーバ30によるステップS910の判定の結果、利用可能なXMPPセッションIDが既に記憶部31に記憶されていれば、サービスサーバ30は、新規リモート録画予約要求<D-4>に含まれる携帯ダイレクトフラグの値をServiceID、制御機器・サービス管理ID、被制御機器の番号と対応付けて記憶部31に保存する(図9:ステップS911)。
【0089】
このステップS911またはステップS914の携帯ダイレクトフラグの保存後、サービスサーバ30はServiceID、制御機器・サービス管理ID、サービスURN (Uniform Resource Name)、XMPPセッションIDを含むダイレクトアクセス開始要求<D-6>をダイレクトアクセス管理サーバ40に送信する(図9:ステップS915)。ここで、サービスURNは、被制御機器が提供可能なサービス(アプリケーション)の一つを指定する情報である。ここでは、携帯電話10からDVR20に対してリモート録画予約を行おうとしているので、サービスURNはリモート録画予約サービスを指定する情報となる。
【0090】
ダイレクトアクセス管理サーバ40は、サービスサーバ30からのダイレクトアクセス開始要求<D-6>を受信すると(図11:ステップS1101)、このダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されているかどうかを判定し(図11:ステップS1102)、記憶されていない場合、被制御機器の登録が必要であることを示すエラーコードをダイレクトアクセス開始応答<D-10>としてサービスサーバ30に送信する(図11:ステップS1103)。ダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されている場合には、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-6>に含まれているXMPPセッションIDが、ダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されているかどうかを判定する(図11:ステップS1104)。記憶されていない場合、ダイレクトアクセス管理サーバ40は、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-10>としてサービスサーバ30に送信する(図11:ステップS1105)。サービスサーバ30は、ダイレクトアクセス管理サーバ40より、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-10>として受信すると(図9:ステップS916)、ステップS912に戻ってXMPPログイン要求<D-5>をダイレクトアクセス管理サーバ40に送信して、再度XMPPセッションの確立を行う。
【0091】
またステップS1104で、ダイレクトアクセス開始要求<D-6>に含まれているXMPPセッションIDが、ダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されている場合は、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-6>で指定されているサービスを識別する情報であるサービスURNの指定情報を含むダイレクトアクセス用URI取得要求<D-7>を被制御機器であるDVR20にXMPPサーバ43とDVR20との間で確立されている常時接続セッションを通じて送信する(図11:ステップS1106)。
【0092】
DVR20は、ダイレクトアクセス管理サーバ40より、サービスURNの指定情報を含むダイレクトアクセス用URI取得要求<D-7>を受信すると(図12:ステップS1201)、ダイレクトアクセス用のローカルポートの割り当てを行う(図12:ステップS1202)。次に、DVR20は、DVR20にあらかじめ割り当てられたローカルIPアドレスおよびダイレクトアクセス用のローカルポートのポート番号を含む、ダイレクトアクセス用ポートのNAT(Network Address Translation)設定要求<D-8>をルータ50に送信して、ローカルIPアドレス及びポート番号に、インターネットからアクセス可能なグローバルIPアドレスおよびポート番号をマッピングすることをルータ50に要求する(図12:ステップS1203)。たとえば、DVR20は、ダイレクトアクセス用URIの割り当てを行うために、ルータ50にUPnP IGD DCP(Device Control Protocol)などによってアクセスし、インターネットからアクセス可能なグローバルIPアドレスおよびポート番号をあらかじめ確保しておく。
【0093】
DVR20は、ステップS1203のダイレクトアクセス用ポートのNAT設定要求<D-8>に対して、ルータ50より、DVR20のローカルIPアドレス及びポート番号に対応付けられたグローバルIPアドレスおよびポート番号をNAT設定応答<D-8R>として受信した場合には(図12:ステップS1208)、これらのグローバルIPアドレスおよびポート番号を用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-9>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1209)。ダイレクトアクセス用URIリストとは、サービスサーバ30または携帯電話10からネットワークを通じてその機器に直接アクセスするためのURIのリストである。
【0094】
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、ダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-9>として受信すると(図11:ステップS1107)、そのダイレクトアクセス用URIリストをダイレクトアクセス開始応答<D-10>としてサービスサーバ30に送信する(図11:ステップS1111)。
【0095】
また、DVR20は、ルータ50より、グローバルIPアドレスおよびポート番号の取得エラーをダイレクトアクセス用ポートのNAT設定応答<D-8R>として受信した場合(図12:ステップS1204)にはステップS1201にて取得したサービスURNの指定情報に基づき、そのサービスURNがトンネリング可能なものであるかどうかを判定する(図12:ステップS1205)。ここで、提供されるサービスのうち特定のサービスがトンネリング可能なサービスとしてあらかじめ決められている。例えば、リモート録画のように通信するデータ量が比較的少ないサービスはトンネリング可能なサービスとして決められており、コンテンツ取得サービスのように通信するデータ量の比較的大きいサービスはトンネリンクが不可なサービスとして決められている。したがって、DVR20は、ダイレクトアクセス用URI取得要求<D-7>に含まれているサービスURNの指定情報が新規リモート録画予約であることを判定した場合には、トンネリングを指示するエラーコードをダイレクトアクセス用URI取得応答<D-9>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1206)。トンネリングの指示は、例えば、ダイレクトアクセス用URIのアドレス部分をすべて"0"で埋めることによって行われる。
【0096】
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、トンネリングを指示するエラーコードをダイレクトアクセス用URI取得応答<D-9>として受信した場合には(図11:ステップS1109)、ダイレクトアクセス管理サーバ40内のトンネリング用ポートの割り当てを行い(図11:ステップS1110)、この割り当てたダイレクトアクセス管理サーバ40内トンネリング用ポートのポート番号とダイレクトアクセス管理サーバ40のグローバルIPアドレスを用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-10>をサービスサーバ30へ送信する(図11:ステップS1111)。これによって、サービスサーバ30や携帯電話10からは、トンネリングされていることを意識することなくDVR20に対してアクセスを行うことができる。
【0097】
ステップS1205の判定で、ダイレクトアクセス用URI取得要求<D-7>に含まれているサービスURNの指定情報がトンネリング不可なサービスURNであることが判定された場合には、DVR20は、空きポート獲得失敗を示すエラーコードをダイレクトアクセス用URI取得応答<D-9>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1207)。
【0098】
サービスサーバ30は、ダイレクトアクセス管理サーバ40からダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-10>を受信すると(図9:ステップS917)、携帯ダイレクトフラグがオンかオフかを判断する(図9:ステップS918)。携帯ダイレクトフラグがオンである場合には、携帯電話10から直接ダイレクトアクセス用URIで指定される機器にアクセスするために、サービスサーバ30は、ダイレクトアクセス用URIを含む新規リモート録画予約応答<D-13>を携帯電話10に送信する(図9:ステップS919)。携帯ダイレクトフラグがオフの場合は、サービスサーバ30は、ダイレクトアクセス用URIに対して、ダイレクトアクセス用URIと、携帯電話10より新規リモート録画予約要求<D-4>によって取得した録画予約番組情報とを含む新規リモート録画予約要求を送信する(図9:ステップS920)。
【0099】
以下において、携帯電話10がDVR20に対して録画予約要求を行う際の、いくつかの具体的な例を説明する。
【0100】
[3-1.サービスサーバ30での代理アクセスでのリモート録画予約:図7]
【0101】
サービスサーバ30が、携帯電話10から指示を受け、代理でDVR20に対してリモート録画予約を行う場合の動作を説明する。図7の一部は、携帯電話10から指示を受けたサービスサーバ30が、代理でDVR20に対してリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
【0102】
携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は、上述した通りである。
【0103】
携帯電話10から指示を受けたサービスサーバ30が、代理でDVR20に対してリモート録画予約を行う場合とは、ステップS918において携帯ダイレクトフラグがオフであると判断され、更に、ステップS917でサービスサーバ30が受信したダイレクトアクセス開始応答<D-10>に、DVR20がステップS1209でダイレクトアクセス用URI取得応答<D-9>として送信したURIが含まれている場合である。なお、既に説明したように、サービスサーバ30は、ダイレクトアクセス開始応答<D-10>として受信したダイレクトアクセス用URIにアクセスするだけであるため、ダイレクトアクセス用URIがDVR20に対応するのか、ダイレクトアクセス管理サーバ40のトンネリングに対応するものなのかは、特には判断を行う必要はない。
【0104】
サービスサーバ30は、ステップS917でダイレクトアクセス開始応答<D-10>として受信したダイレクトアクセス用URIに含まれるDVR20のアドレスにアクセスして、携帯電話10より新規リモート録画予約要求<D-4>によって取得した録画予約番組情報を含む新規リモート録画予約要求<D-11>を送信する(図9:ステップS920)。
【0105】
DVR20は、サービスサーバ30より、新規リモート録画予約要求<D-11>を受信すると(図12:ステップS1210)、この新規リモート録画予約要求<D-11>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1211)、不正なURIであるなら、その旨を示すエラーコードを新規リモート録画予約応答<D-11R>としてサービスサーバ30に送信する(図12:ステップS1212)。ここで、ダイレクトアクセス用URIの正当性チェックは、例えば、ダイレクトアクセス用URIの発行時に容易に真似のできない乱数を付加し、この乱数が新規リモート録画予約要求<D-11>のダイレクトアクセス用URIに含まれているかどうかをチェックする方法などがある。正当なURIである場合には、DVR20は、録画予約番組情報に基づいて、サービスサーバ30から要求された録画予約が既にスケジュールされている録画予約と録画日時が重複するか否かを判断する。重複する録画予約がない場合には、DVR20は、録画予約番組情報に基づく録画予約を行い、予約重複なしを示す予約重複番組リストを作成する。重複する録画予約が見つかった場合には、DVR20は、重複する録画予約の録画日時、チャンネル、番組タイトルなど含む予約重複番組リストを作成する。その後、DVR20は、予約重複番組リストを含む新規リモート録画予約応答<D-11R>をサービスサーバ30に送信する(図12:ステップS1213)。
【0106】
サービスサーバ30は、新規リモート録画予約応答<D-11R>を受信すると(図9:ステップS921)、新規リモート録画予約応答<D-11R>の予約重複番組リストを、新規リモート録画予約応答<D-12>として携帯電話10に送信する(図9:ステップS922)。また、サービスサーバ30は、不正URIのエラーコードを新規リモート録画予約応答<D-11R>として受信した場合には(図9:ステップS923)、そのエラーコードを新規リモート録画予約応答<D-12>として携帯電話10に送信する(図9:ステップS924)。
【0107】
携帯電話10は、サービスサーバ30より予約重複番組リストを含む新規リモート録画予約応答<D-12>を受信した場合には(図8:ステップS823)、予約重複番組リストから予約重複番組の有無を判定し(図8:ステップS824)、予約重複番組が存在するならば、表示部を通じて予約重複番組の情報をユーザに表示する(図8:ステップS825)。また、予約重複番組が存在しないならば、携帯電話10は、表示部を通じてリモート録画予約の成功を示すメッセージをユーザに表示する(図8:ステップS826)。
【0108】
また、携帯電話10は、サービスサーバ30より不正URIのエラーコードを新規リモート録画予約応答<D-12>として受信した場合には(図8:ステップS827)、表示部を通じてダイレクトアクセス失敗のエラーメッセージをユーザに表示する(図8:ステップS828)。
【0109】
[3-2.携帯電話10からのダイレクトでのリモート録画予約:図13]
【0110】
次に、携帯電話10がサービスサーバ30を介さずにダイレクトにDVR20に対してリモート録画予約を行う場合の動作を説明する。図13は携帯電話10からダイレクトにDVR20に対してリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
【0111】
図13に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は図7を用いて説明した流れと同じであるため説明を省略する。
【0112】
携帯電話10からダイレクトにDVR20に対してリモート録画予約を行う場合とは、ステップS918において携帯ダイレクトフラグがオンであると判断され、更に、ステップS919でサービスサーバ30から携帯電話10に送信される新規リモート録画予約応答<D-13>に、DVR20がステップS1209でダイレクトアクセス用URI取得応答<D-9>として送信したURIが含まれている場合である。なお、既に説明したように、携帯電話10は、新規リモート録画予約応答<D-13>として受信したダイレクトアクセス用URIにアクセスするだけであるため、ダイレクトアクセス用URIがDVR20に対応するのか、ダイレクトアクセス管理サーバ40のトンネリングに対応するものなのかは、特には判断を行う必要はない。
【0113】
携帯電話10は、サービスサーバ30よりダイレクトアクセス用URIを含む新規リモート録画予約応答<D-13>を受信した場合には(図8:ステップS815)、そのダイレクトアクセス用URIに含まれるDVR20のアドレスにアクセスして、ダイレクトアクセス用URIおよび録画予約番組情報を含む新規リモート録画予約要求<D-14>をDVR20に送信する(図8:ステップS816)。
【0114】
DVR20は、携帯電話10より、新規リモート録画予約要求<D-14>を受信すると(図12:ステップS1210)、この新規リモート録画予約要求<D-14>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1211)、不正なURIであるなら、その旨を示すエラーコードを新規リモート録画予約応答<D-14R>として携帯電話10に送信する(図12:ステップS1212)。ここで、ダイレクトアクセス用URIの正当性チェックは、例えば、ダイレクトアクセス用URIの発行時に容易に真似のできない乱数を付加し、この乱数が新規リモート録画予約要求<D-14>のダイレクトアクセス用URIに含まれているかどうかをチェックする方法などがある。正当なURIである場合には、DVR20は、録画予約番組情報に基づいて、携帯電話10から要求された録画予約が既にスケジュールされている録画予約と録画日時が重複するか否かを判断する。重複する録画予約がない場合には、DVR20は、録画予約番組情報に基づく録画予約を行い、予約重複なしを示す予約重複番組リストを作成する。重複する録画予約が見つかった場合には、DVR20は、重複する録画予約の録画日時、チャンネル、番組タイトルなど含む予約重複番組リストを作成する。その後、DVR20は、予約重複番組リストを含む新規リモート録画予約応答<D-14R>を携帯電話10に送信する(図12:ステップS1213)。
【0115】
携帯電話10は、新規リモート録画予約応答<D-14R>を受信すると(図8:ステップS817)、予約重複番組リストから予約重複番組の有無を判定し (図8:ステップS818)、予約重複番組が存在するならば、表示部を通じて予約重複番組の情報をユーザに表示する(図8:ステップS819)。また、予約重複番組が存在しないならば、携帯電話10は、表示部を通じてリモート録画予約の成功を示すメッセージをユーザに表示する(図8:ステップS820)。
【0116】
また、携帯電話10は、不正URIのエラーコードを新規リモート録画予約応答<D-14R>として受信した場合には(図8:ステップS821)、表示部を通じてダイレクトアクセス失敗を示すエラーメッセージをユーザに表示する(図8:ステップS822)。
【0117】
[3-3.サービスサーバ30からのトンネリングを利用したリモート録画予約:図14]
【0118】
次に、サービスサーバ30が、携帯電話10から指示を受け、ダイレクトアクセス管理サーバ40のXMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合の動作を説明する。図14は携帯電話10からの指示を受けたサービスサーバ30が、XMPPサーバ43によるトンネリングを利用してDVR20に対してのリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
【0119】
図14に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は図7を用いて説明した流れと同じであるため説明を省略する。
【0120】
携帯電話10から指示を受けたサービスサーバ30が、XMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合とは、ステップS918において携帯ダイレクトフラグがオフであると判断され、更に、ステップS917でサービスサーバ30が受信したダイレクトアクセス開始応答<D-10>に、ダイレクトアクセス管理サーバ40がステップS1110で割り当てたトンネリングのためのURIが含まれている場合である。なお、既に説明したように、サービスサーバ30は、ダイレクトアクセス開始応答<D-10>として受信したダイレクトアクセス用URIにアクセスするだけであるため、ダイレクトアクセス用URIがDVR20に対応するのか、ダイレクトアクセス管理サーバ40のトンネリングに対応するものなのかは、特には判断を行う必要はない。
【0121】
サービスサーバ30は、ステップS917でダイレクトアクセス開始応答<D-10>として受信したダイレクトアクセス用URIに含まれるダイレクトアクセス管理サーバ40のアドレスにアクセスして、ダイレクトアクセス用URIと、携帯電話10より新規リモート録画予約要求<D-4>によって取得した録画予約番組情報とを含む新規リモート録画予約要求<D-15>を送信する(図9:ステップS920)。
【0122】
ダイレクトアクセス管理サーバ40は、ダイレクトアクセス用URIと録画予約番組情報を含む新規リモート録画予約要求<D-15>を受信した場合(図11:ステップS1112)、この新規リモート録画予約要求<D-15>に含まれるダイレクトアクセス用URIをチェックし(図11:ステップS1113)、不正なダイレクトアクセス用URIである場合は、不正URIである旨を示すエラーコードを新規リモート録画予約応答<D-17>としてサービスサーバ30に送信する(図11:ステップS1114)。正当なダイレクトアクセス用URIであれば、ダイレクトアクセス管理サーバ40は、XMPPサーバ43を通じて、録画予約番組情報を含む新規リモート録画予約要求<D-16>をDVR20に送信する(図11:ステップS1115)。この際、DVR20でダイレクトアクセス管理サーバ40内のXMPPサーバ43を介したトンネリングによるアクセスであることがわかるように、例えば、ダイレクトアクセス用URIのアドレス部分をすべて"0"で埋める。
【0123】
DVR20は、ダイレクトアクセス管理サーバ40より、新規リモート録画予約要求<D-16>を受信すると(図12:ステップS1210)、この新規リモート録画予約要求<D-16>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1211)、不正なURIであるなら、その旨を示すエラーコードを新規リモート録画予約応答<D-16R>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1212)。正当なURIである場合には、DVR20は、予約重複番組リストを含む情報を新規リモート録画予約応答<D-16R>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1213)。
【0124】
ダイレクトアクセス管理サーバ40は、DVR20からの予約重複番組リストを含む新規リモート録画予約応答<D-16R>を受信すると(図11:ステップS1116)、この予約重複番組リストを含む新規リモート録画予約応答<D-17>をサービスサーバ30に送信する(図11:ステップS1117)。
【0125】
サービスサーバ30は、この予約重複番組リストを含む新規リモート録画予約応答<D-17>を受信すると(図9:ステップS921)、この予約重複番組リストを含む新規リモート録画予約応答<D-18>を携帯電話10へ送信する(図9:ステップS922)。また、サービスサーバ30は、ダイレクトアクセス管理サーバ40からエラーコードを新規リモート録画予約応答<D-17>として受信した場合は(図9:ステップS923)、このエラーコードを新規リモート録画予約応答<D-18>として携帯電話10へ送信する(図9:ステップS924)。その後の、サービスサーバ30及び携帯電話10における処理は上述した通りである。
【0126】
[3-4.携帯電話からのトンネリングを利用したリモート録画予約:図32]
【0127】
次に、携帯電話10が、サービスサーバ30を介さずにダイレクトアクセス管理サーバ40のXMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合の動作を説明する。図32はサービスサーバ30を介さないで携帯電話10からXMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
【0128】
図32に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は図7を用いて説明した流れと同じであるため説明を省略する。
【0129】
携帯電話10が、サービスサーバ30を介さずにXMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合とは、ステップS918において携帯ダイレクトフラグがオンであると判断され、更に、ステップS919でサービスサーバ30から携帯電話10に送信される新規リモート録画予約応答<D-13>に、ダイレクトアクセス管理サーバ40がステップS1110で割り当てたトンネリングのためのURIが含まれている場合である。なお、既に説明したように、携帯電話10は、新規リモート録画予約応答<D-13>として受信したダイレクトアクセス用URIにアクセスするだけであるため、ダイレクトアクセス用URIがDVR20に対応するのか、ダイレクトアクセス管理サーバ40のトンネリングに対応するものなのかは、特には判断を行う必要はない。
【0130】
まず、携帯電話10は、サービスサーバ30よりダイレクトアクセス用URIを含む新規リモート録画予約応答<D-13>を受信した場合には(図8:ステップS815)、そのダイレクトアクセス用URIに含まれるダイレクトアクセス管理サーバ40のアドレスにアクセスして、ダイレクトアクセス用URIと録画予約番組情報とを含む新規リモート録画予約要求<D-55>をダイレクトアクセス管理サーバ40に送信する(図8:ステップS816)。
【0131】
ダイレクトアクセス管理サーバ40は、携帯電話10から新規リモート録画予約要求<D-55>を受信すると(図11:ステップS1112)、この新規リモート録画予約要求<D-55>に含まれるダイレクトアクセス用URIをチェックし(図11:ステップS1113)、不正なダイレクトアクセス用URIである場合は、不正URIである旨を示すエラーコードを新規リモート録画予約応答<D-57R>として携帯電話10に送信する(図11:ステップS1114)。正当なダイレクトアクセス用URIであれば、ダイレクトアクセス管理サーバ40は、XMPPサーバ43を通じて、録画予約番組情報を含む新規リモート録画予約要求<D-16>をDVR20に送信する(図11:ステップS1115)。この際、DVR20でダイレクトアクセス管理サーバ40内のXMPPサーバ43を介したトンネリングによるアクセスであることがわかるように、例えば、ダイレクトアクセス用URIのアドレス部分をすべて"0"で埋める。
【0132】
DVR20は、ダイレクトアクセス管理サーバ40より、新規リモート録画予約要求<D-16>を受信すると(図12:ステップS1210)、この新規リモート録画予約要求<D-16>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1211)、不正なURIであるなら、その旨を示すエラーコードを新規リモート録画予約応答<D-16R>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1212)。正当なURIである場合には、DVR20は、予約重複番組リストを含む情報を新規リモート録画予約応答<D-16R>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1213)。
【0133】
ダイレクトアクセス管理サーバ40は、DVR20から予約重複番組リストを含む新規リモート録画予約応答<D-16R>を受信すると(図11:ステップS1116)、この予約重複番組リストを含む新規リモート録画予約応答<D-57R>を携帯電話10に送信する(図11:ステップS1117)。また、ダイレクトアクセス管理サーバ40は、DVR20からエラーコードを新規リモート録画予約応答<D-16R>として受信した場合には、このエラーコードを新規リモート録画予約応答<D-57R>として携帯電話10へ送信する。その後の携帯電話10における処理は上述した通りである。
【0134】
以上で説明したように、携帯電話10は、DVR20へのダイレクトなアクセスのみならず、サービスサーバ30による代理アクセス、ダイレクトアクセス管理サーバ40によるXMPPを用いたトンネリングなどを利用して、DVR20への録画予約処理を実行することが可能である。
【0135】
[4.コンテンツ取得]
【0136】
次に、携帯電話10が、DVR20からコンテンツを取得する場合の動作を説明する。図15は携帯電話10からのDVR20へのダイレクトアクセスによるコンテンツ取得時の情報の流れを示すシーケンス図である。図17はコンテンツ取得時の携帯電話10の動作を示すフローチャート、図18および図19はコンテンツ取得時のサービスサーバ30の動作を示すフローチャートである。
【0137】
携帯電話10のユーザから、コンテンツ取得サービスを受信するために、ダイレクトアクセス利用開始の指示が携帯電話10に与えられると(図17:ステップS1701)、携帯電話10は自身に予め設定されているユーザ識別情報を含む被制御機器リスト取得要求<D-1>をサービスサーバ30に送信する(図17:ステップS1702)。
【0138】
サービスサーバ30は、携帯電話10より被制御機器リスト取得要求<D-1>を受信すると(図9:ステップS901)、この被制御機器リスト取得要求<D-1>に含まれるユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されているかどうかを判定する(図9:ステップS902)。ユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されていない場合、サービスサーバ30は、サービス対象の被制御機器の登録が必要であることを示すエラーコードを被制御機器リスト取得応答<D-3>として携帯電話10に送信する(図9:ステップS903)。ユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されている場合は、ダイレクトアクセス管理サーバ40に管理されている制御機器・サービス管理IDに関連付けられている被制御機器の一覧を取得するために、サービスサーバ30は、サービスを識別する情報であるServiceIDおよび制御機器・サービス管理IDを含む被制御機器リスト取得要求<D-2>をダイレクトアクセス管理サーバ40に送信する(図9:ステップS904)。
【0139】
ダイレクトアクセス管理サーバ40は、サービスサーバ30からの被制御機器リスト取得要求<D-2>を受信すると(図10:ステップS1012)、この被制御機器リスト取得要求<D-2>に含まれるServiceIDおよび制御機器・サービス管理IDの組み合わせが記憶部41に記憶されているものと一致するかどうかを判定し(図10:ステップS1013)、もし記憶されていない場合には、未登録であることを示すエラーコードを被制御機器リスト取得応答<D-2R>としてサービスサーバ30に送信する(図10:ステップS1014)。また、被制御機器リスト取得要求<D-2>に含まれるServiceIDおよび制御機器・サービス管理IDの組み合わせが記憶部41に記憶されていることが判定された場合、ダイレクトアクセス管理サーバ40は、記憶部41に記憶されている制御機器・サービス管理IDと被制御機器管理IDとの紐付け内容に従って、携帯電話10から制御可能な被制御機器の被制御機器管理IDに対して改めて振り直した番号と被制御機器の機器認証情報に含まれる機器名称等からなる一覧を被制御機器リストとして生成し、この被制御機器リストを制御機器・サービス管理IDと対応付けて記憶部41に保存するとともに、この被制御機器リストを含む被制御機器リスト取得応答<D-2R>をサービスサーバ30に送信する(図10:ステップS1015)。
【0140】
サービスサーバ30は、ダイレクトアクセス管理サーバ40から未登録であることを示すエラーコードを被制御機器リスト取得応答<D-2R>として受信した場合は (図9:ステップS905)、被制御機器の登録が必要であることを示すエラーコードを被制御機器リスト取得応答<D-3>として携帯電話10に送信する(図9:ステップS906)。また、サービスサーバ30が、ダイレクトアクセス管理サーバ40から被制御機器リストを含む被制御機器リスト取得応答<D-2R>を受信した場合は(図9:ステップS907)、この被制御機器リストを含む被制御機器リスト取得応答<D-3>を携帯電話10に送信する(図9:ステップS908)。
【0141】
携帯電話10は、サービスサーバ30よりエラーコードを被制御機器リスト取得応答<D-3>として受信した場合(図17:ステップS1703)、被制御機器の登録が必要であることを示すエラーメッセージを、表示部を通じてユーザに表示する(図17:ステップS1704)。また、携帯電話10は、被制御機器リストを含む被制御機器リスト取得応答<D-3>を受信した場合は(図17:ステップS1705)、その被制御機器リストに複数の被制御機器の番号が存在するかどうかを判定する(図17:ステップS1706)。複数の被制御機器の番号が存在する場合には、携帯電話10は、その被制御機器リストの内容を表示部に表示して(図17:ステップS1707)、ユーザにその中から1つの被制御機器の番号を選択させ(図17:ステップS1708)、その選択された被制御機器の番号を記憶部11に保存する(図17:ステップS1709, 1710)。複数の被制御機器が存在しない場合には、その一つの被制御機器の番号を記憶部11に保存する(図17:ステップS1711,S1710)。
【0142】
次に、携帯電話10は、自身に予め設定された携帯ダイレクトフラグを基に、DVR20のコンテンツ取得サービスに携帯電話10からダイレクトにアクセスするか、サービスサーバ30を介してアクセスするかを判断して処理を分岐する(図17:ステップS1712)。
【0143】
携帯電話10からダイレクトにDVR20のコンテンツ取得サービスにアクセスする場合、携帯電話10は、ユーザ識別情報、検索条件、被制御機器の番号、携帯ダイレクトフラグ(オン)を含むコンテンツ検索要求<D-44>をサービスサーバ30に送信する(図17:ステップS1713)。また、携帯電話10がサービスサーバ30を介してコンテンツを取得する場合、携帯電話10は、ユーザ識別情報、検索条件、被制御機器の番号、携帯ダイレクトフラグ(オフ)を含むコンテンツ検索要求<D-44>をサービスサーバ30に送信する(図17:ステップS1724)。ここで、検索条件とは、コンテンツを検索する条件であり、例えば、コンテンツが静止画データであるという条件や、コンテンツが録画済の映像データであるなどを指定する情報である。検索条件として日付、データサイズなどの項目を加えて、更に詳細な検索条件を設定できるようにしてもよい。
【0144】
サービスサーバ30は、携帯電話10から、コンテンツ検索要求<D-44>を受信すると(図18:ステップS1801)、利用可能なXMPPセッションIDが記憶部31に記憶されているか否かを調べる(図18:ステップS1802)。利用可能なXMPPセッションIDが既に記憶部31に記憶されていれば、サービスサーバ30はコンテンツ検索要求<D-44>に含まれる携帯ダイレクトフラグの値をServiceID、制御機器・サービス管理ID、被制御機器の番号と対応付けて記憶部31に保存する(図18:ステップS1803)。利用可能なXMPPセッションIDが記憶されていない場合には、サービスサーバ30は、XMPPサーバ43とXMPPセッションを確立するために、ServiceID、制御機器・サービス管理ID、被制御機器の番号を含むXMPPログイン要求<D-5>をダイレクトアクセス管理サーバ40に送信する(図18:ステップS1804)。
【0145】
ダイレクトアクセス管理サーバ40は、サービスサーバ30からのXMPPログイン要求<D-5>を受信すると(図10:ステップS1016)、このXMPPログイン要求<D-5>に含まれるServiceID、制御機器・サービス管理ID、および被制御機器の番号の組み合わせが記憶部41に記憶されているかどうかを判定する(図10:ステップS1017)。記憶されていない場合、ダイレクトアクセス管理サーバ40は、対応するサービス対象の被制御機器が存在しないことを示すエラーコードをXMPPログイン応答<D-5R>としてサービスサーバ30に送信する(図10:ステップS1018)。また、対応するサービス対象の被制御機器が記憶部41に記憶されている場合は、ダイレクトアクセス管理サーバ40は、XMPPセッションIDの生成および保存を行い(図10:ステップS1019)、このXMPPセッションIDを含むXMPPログイン応答<D-5R>をサービスサーバ30に送信する(図10:ステップS1020)。
【0146】
サービスサーバ30は、ダイレクトアクセス管理サーバ40からXMPPセッションIDを含むXMPPログイン応答<D-5R>を受信すると(図18:ステップS1805)、これに含まれているXMPPセッションIDおよびステップS1801のコンテンツ検索要求<D-44>に含まれる携帯ダイレクトフラグの値をServiceID、制御機器・サービス管理ID、被制御機器リスト番号と対応付けて記憶部31に保存する(図18:ステップS1806)。
【0147】
ステップS1803またはステップS1806の携帯ダイレクトフラグの保存後、サービスサーバ30はServiceID、制御機器・サービス管理ID、サービスURN、XMPPセッションIDを含むダイレクトアクセス開始要求<D-6>をダイレクトアクセス管理サーバ40に送信する(図18:ステップS1807)。ここでは、携帯電話10からDVR20に対してコンテンツ取得を行おうとしているので、サービスURNはコンテンツ取得サービスを指定する情報となる。
【0148】
ダイレクトアクセス管理サーバ40は、サービスサーバ30からのダイレクトアクセス開始要求<D-6>を受信すると(図11:ステップS1101)、このダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されているかどうかを判定し(図11:ステップS1102)、記憶されていない場合、被制御機器の登録が必要であることを示すエラーコードをダイレクトアクセス開始応答<D-10>としてサービスサーバ30に送信する(図11:ステップS1103)。ダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されている場合には、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-6>に含まれているXMPPセッションIDが、ダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されているかどうかを判定する(図11:ステップS1104)。それが記憶されていない場合、ダイレクトアクセス管理サーバ40は、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-10>としてサービスサーバ30に送信する(図11:ステップS1105)。ダイレクトアクセス開始要求<D-6>に含まれているXMPPセッションIDが、ダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されている場合は、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-6>で指定されているサービスURNの指定情報を含むダイレクトアクセス用URI取得要求<D-7>を、ダイレクトアクセス管理サーバ40内のXMPPサーバ43を介して、DVR20に送信する(図11:ステップS1106)。
【0149】
サービスサーバ30は、ダイレクトアクセス管理サーバ40より、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-10>として受信すると(図18:ステップS1808)、ステップS1804に戻って、再びXMPPログイン要求<D-5>をダイレクトアクセス管理サーバ40に送信して、再度XMPPセッションの確立を行う。
【0150】
DVR20は、ダイレクトアクセス管理サーバ40より、サービスURNの指定情報を含むダイレクトアクセス用URI取得要求<D-7>を受信したとき(図12:ステップS1201)、ダイレクトアクセス用のローカルポートの割当てを行う(図12:ステップS1202)。次に、DVR20は、DVR20にあらかじめ割り当てられたローカルIPアドレスおよびダイレクトアクセス用のローカルポートのポート番号を含む、ダイレクトアクセス用ポートのNAT設定要求<D-8>をルータ50に送信して、ローカルIPアドレス及びポート番号に、インターネットからアクセス可能なグローバルIPアドレスおよびポート番号をマッピングすることをルータ50に要求する(図12:ステップS1203)。
【0151】
DVR20は、ステップS1203のダイレクトアクセス用ポートのNAT設定要求<D-8>に対して、ルータ50より、グローバルIPアドレスおよびポート番号の取得エラーをダイレクトアクセス用ポートのNAT設定応答<D-8R>として受信した場合(図12:ステップS1204)、ステップS1201にて取得したサービスURNの指定情報に基づき、そのサービスURNがトンネリング可能なものであるかどうかを判定する(図12:ステップS1205)。DVR20は、ダイレクトアクセス用URI取得要求<D-7>に含まれているサービスURNがトンネリング可能なサービスURNであることを判定した場合には、トンネリングを指示するエラーコードをダイレクトアクセス用URI取得応答<D-9>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1206)。ダイレクトアクセス用URI取得要求<D-7>に含まれているサービスURNの指定情報がトンネリング可能なサービスURNでない場合には、DVR20は、空きポート獲得失敗を示すエラーコードをダイレクトアクセス用URI取得応答<D-9>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1207)。ここで、コンテンツ取得サービスはリモート録画予約のサービスに比べて転送されるデータ量が大きいので、トンネリング不可のサービスURNとしているが、これに限定される必要はない。トンネリングの可否に関しては、サービス提供者が、ダイレクトアクセス管理サーバ40の能力に応じて適宜設定することが可能である。
【0152】
また、DVR20は、ダイレクトアクセス用ポートのNAT設定要求<D-8>に対して、ルータ50より、DVR20のローカルIPアドレス及びポート番号に対応付けられたグローバルIPアドレスおよびポート番号をNAT設定応答<D-8R>として受信した場合には(図12:ステップS1208)、これらのグローバルIPアドレスおよびポート番号を用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-9>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1209)。
【0153】
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、ダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-9>として受信すると(図11:ステップS1107)、そのダイレクトアクセス用URIリストをダイレクトアクセス開始応答<D-10>としてサービスサーバ30に送信する(図11:ステップS1111)。
【0154】
また、ダイレクトアクセス管理サーバ40は、トンネリングによるコンテンツ取得を指示するエラーコードをダイレクトアクセス用URI取得応答<D-9>として受信した場合には(図11:ステップS1109)、ダイレクトアクセス管理サーバ40内トンネリング用ポートの割当てを行い(図11:ステップS1110)、この割り当てたダイレクトアクセス管理サーバ40内トンネリング用ポートのポート番号とダイレクトアクセス管理サーバ40のグローバルIPアドレスを用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-10>をサービスサーバ30へ送信する(図11:ステップS1111)。
【0155】
サービスサーバ30は、ダイレクトアクセス管理サーバ40からのダイレクトアクセス開始応答<D-10>を受信すると(図18:ステップS1809)、携帯ダイレクトフラグがオンかオフかを判断する(図18:ステップS1810)。携帯ダイレクトフラグがオンである場合には、サービスサーバ30は、携帯電話10から直接ダイレクトアクセス用URIで指定される機器にアクセスするために、ダイレクトアクセス用URIを含むコンテンツ検索応答<D-20>を携帯電話10に送信する(図18:ステップS1811)。携帯ダイレクトフラグがオフである場合には、サービスサーバ30は、ダイレクトアクセス用URIに対して、ダイレクトアクセス用URIと、携帯電話10よりコンテンツ検索要求<D-44>によって取得した検索条件とを含むコンテンツ検索要求<D-19>をDVR20に送信する(図18:ステップS1812)。
【0156】
以下において、携帯電話10がDVR20に対してコンテンツ取得要求を行う際の、いくつかの具体的な例を説明する。
【0157】
[4-1.携帯電話10からダイレクトにアクセス:図15]
【0158】
携帯電話10が、サービスサーバ30を介さずにダイレクトにDVR20からコンテンツ取得を行う場合の動作を説明する。図15は携帯電話10からダイレクトにDVR20からコンテンツ取得を行う場合の情報の流れを示すシーケンス図である。
【0159】
図15に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は、上述した通りである。
【0160】
なお、携帯電話10からダイレクトにDVR20に対してコンテンツ取得を行う場合とは、ステップS1810において携帯ダイレクトフラグがオンであると判断され、更に、ダイレクトアクセス管理サーバ40におけるトンネリングを行わない場合である。
【0161】
まず、携帯電話10からダイレクトにDVR20に対してコンテンツの検索を要求し、検索条件に合致するコンテンツのタイトルリストを取得する流れについて説明する。
【0162】
携帯電話10は、サービスサーバ30よりダイレクトアクセス用URIを含むコンテンツ検索応答<D-20>を受信すると(図17:ステップS1714)、そのダイレクトアクセス用URIに含まれるDVR20のアドレスにアクセスして、ダイレクトアクセス用URIおよび検索条件を含むコンテンツ検索要求<D-29>をDVR20に送信する(図17:ステップS1715)。
【0163】
DVR20は、携帯電話10より、ダイレクトアクセス用URIおよび検索条件を含むコンテンツ検索要求<D-29>を受信すると(図12:ステップS1214)、このコンテンツ検索要求<D-29>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1215)、不正なURIであるなら、不正なURIであることを示すエラーコードをコンテンツ検索応答<D-29R>として携帯電話10に送信する(図12:ステップS1216)。正当なURIである場合は、DVR20は、コンテンツ検索要求<D-29>内の検索条件に従って記憶部21の中から検索条件に合致するコンテンツを検索して、検索結果のコンテンツのタイトルリストとLocal URIリストを生成する。その後、DVR20は、生成したタイトルリストとLocal URIリストとをコンテンツ検索応答<D-29R>として携帯電話10に送信する(図12:ステップS1217)。ここで、Lacal URIとは、コンテンツのローカルな保存場所を示す情報(URI)である。例えば、DVR20内でローカルな指定方法で特定される記憶部21内で保存場所を示す情報であったり、DVR20が接続されている家庭内のネットワークでのローカルなアドレスで特定される家庭内ネットワーク内での保存場所を指し示す情報などである。
【0164】
携帯電話10は、DVR20から不正なURIであることを示すエラーコードをコンテンツ検索応答<D-29R>として受信すると(図17:ステップS1722)、ダイレクトアクセスの失敗を示すメッセージを表示部を通してユーザに表示する(図17:ステップS1723)。
【0165】
また、携帯電話10は、DVR20から、コンテンツのタイトルリスト、Local URIリストを含むコンテンツ検索応答<D-29R>を受信した場合には(図17:ステップS1716)、コンテンツ取得のための処理に進む。
【0166】
次に、携帯電話10がDVR20からダイレクトにコンテンツ取得するための処理の流れについて説明する。
【0167】
携帯電話10は、DVR20から、コンテンツのタイトルリスト、Local URIリストを含むコンテンツ検索応答<D-29R>を受信した場合(図17:ステップS1716)、受信したコンテンツのタイトルの一覧を表示部に表示し、表示されたタイトルの中からユーザによって選択されたコンテンツに対応するLocal URIを抽出してコンテンツの取得を要求するためのLocal URIリストを作成する。その後、携帯電話10は、ユーザ識別情報、選択コンテンツのLocal URIリスト、被制御機器の番号を含むURI取得要求<D-30>をサービスサーバ30に送信する(図17:ステップS1717)。ここで、携帯電話10が、再度、DVR20へのダイレクトアクセス用URIを取得するのは、ステップS1716で取得したLocal URIはインターネットから直接アクセスできない場所を指し示しているためである。
【0168】
サービスサーバ30は、URI取得要求<D-30>を受信すると(図19:ステップS1901)、利用可能なXMPPセッションIDが記憶部31に記憶されているか否かを調べる(図19:ステップS1902)。利用可能なXMPPセッションIDが記憶されていない場合、サービスサーバ30は、ダイレクトアクセス管理サーバ40に対してXMPPログイン要求<D-5>を送信する(図19:ステップS1903)。サービスサーバ30は、ダイレクトアクセス管理サーバ40からのXMPPログイン応答<D-5R>を受信して(図19:ステップS1904)、受信したXMPPログイン応答<D-5R>に含まれるXMPPセッションIDを記憶部31に保存する(図19:ステップS1905)。その後、サービスサーバ30は、ServiceID、制御機器・サービス管理ID、サービスURN、XMPPセッションID、コンテンツのLocal URIリストを含むダイレクトアクセス開始要求<D-31>をダイレクトアクセス管理サーバ40に送信する(図19:ステップS1906)。また、利用可能なXMPPセッションIDが既に記憶されている場合にも、サービスサーバ30は、ダイレクトアクセス開始要求<D-31>をダイレクトアクセス管理サーバ40に送信する(図19:ステップS1906)。ここでは、携帯電話10からDVR20に対してコンテンツ取得を行おうとしているので、サービスURNはコンテンツ取得サービスを指定する情報となる。
【0169】
ダイレクトアクセス管理サーバ40は、このダイレクトアクセス開始要求<D-31>を受信すると(図11:ステップS1101)、これに含まれているServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されているかどうかを判定し(図11:ステップS1102)、記憶されていない場合には、被制御機器の登録が必要であることを示すエラーコードをダイレクトアクセス開始応答<D-35>としてサービスサーバ30に送信する(図11:ステップS1103)。ServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されている場合には、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-31>に含まれているXMPPセッションIDが、ダイレクトアクセス開始要求<D-31>に含まれているServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されているかどうかを判定する(図11:ステップS1104)。それが記憶されていない場合、ダイレクトアクセス管理サーバ40は、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-35>としてサービスサーバ30に送信する(図11:ステップS1105)。XMPPセッションIDがServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されている場合、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-31>で指定されているサービスURNおよびLocal URIリストを含むダイレクトアクセス用URI取得要求<D-32>をDVR20に送信する(図11:ステップS1106)。
【0170】
サービスサーバ30は、ダイレクトアクセス管理サーバ40から、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-35>として受信すると(図19:ステップS1907)、ステップS1903に戻って、ダイレクトアクセス管理サーバ40に対してXMPPログイン要求<D-5>を再度行い、ダイレクトアクセス管理サーバ40からのXMPPログイン応答<D-5R>を受信して(図19:ステップS1904)、これに含まれるXMPPセッションIDを記憶部41に保存する(図19:ステップS1905)。
【0171】
DVR20は、ダイレクトアクセス管理サーバ40よりダイレクトアクセス用URI取得要求<D-32>を受信すると(図12:ステップS1201)、ダイレクトアクセス用のローカルポートの割当てを行う(図12:ステップS1202)。次に、DVR20は、ローカルIPアドレスおよびダイレクトアクセス用のローカルポートのポート番号を含む、ダイレクトアクセス用ポートのNAT設定要求<D-33>をルータ50に送信する(図12:ステップS1203)。
【0172】
DVR20は、ルータ50より、グローバルIPアドレスおよびポート番号の取得エラーをサービスサーバ30からのNAT設定応答<D-33R>として受信した場合(図12:ステップS1204)、ステップS1201にて取得したサービスURNの指定情報に基づき、そのサービスURNがトンネリング可能なものであるかどうかを判定する(図12:ステップS1205)。DVR20は、トンネリング可能なサービスURNであると判定した場合には、トンネリングを指示するエラーコードをダイレクトアクセス用URI取得応答<D-34>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1206)。サービスURNの指定情報がトンネリング可能なサービスURNではない場合には、空きポート獲得失敗を示すエラーコードをダイレクトアクセス用URI取得応答<D-34>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1207)。
【0173】
また、DVR20は、ダイレクトアクセス用ポートのNAT設定要求<D-33>に対して、ルータ50より、DVR20のローカルIPアドレス及びポート番号に対応付けられたグローバルIPアドレスおよびポート番号を、NAT設定応答<D-33R>として受信した場合には(図12:ステップS1208)、これらのグローバルIPアドレスおよびポート番号を用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-34>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1209)。
【0174】
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、ダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-34>として受信すると(図11:ステップS1107)、そのダイレクトアクセス用URIリストをダイレクトアクセス開始応答<D-35>としてサービスサーバ30に送信する(図11:ステップS1111)。
【0175】
また、ダイレクトアクセス管理サーバ40は、トンネリングによるコンテンツ取得を指示するエラーコードをダイレクトアクセス用URI取得応答<D-34>として受信した場合には(図11:ステップS1109)、ダイレクトアクセス管理サーバ40内トンネリング用ポートの割当てを行い(図11:ステップS1110)、この割り当てたダイレクトアクセス管理サーバ40内トンネリング用ポートのポート番号とダイレクトアクセス管理サーバ40のグローバルIPアドレスを用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-35>をサービスサーバ30へ送信する(図11:ステップS1111)。
【0176】
サービスサーバ30は、ダイレクトアクセス管理サーバ40から、ダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-35>を受信した場合には(図19:ステップS1908)、そのダイレクトアクセス用URIリストを含むURI取得応答<D-36>を携帯電話10へ送信する(図19:ステップS1909)。
【0177】
以上により、携帯電話10は、DVR20からダイレクトにコンテンツを取得するためのダイレクトアクセスURIを取得したので、DVR20から選択されたコンテンツを取得する処理を開始する。なお、ここでは、携帯電話10がURI取得応答<D-36>として受信したダイレクトアクセス用URIリストには、ユーザによって選択されたコンテンツのそれぞれに対応するダイレクトアクセスURIが格納されている。
【0178】
携帯電話10は、ダイレクトアクセス用URIリストを含むURI取得応答<D-36>を受信すると(図17:ステップS1718)、そのダイレクトアクセス用URIリストの中から取得処理を行うコンテンツに関するダイレクトアクセス用URIを選択し、そのダイレクトアクセス用URIを含むコンテンツ取得要求<D-37>をDVR20にダイレクトに送信する(図17:ステップS1719)。
【0179】
DVR20は、携帯電話10からダイレクトアクセス用URIを含むコンテンツ取得要求<D-37>を受信すると(図12:ステップS1218)、このコンテンツ取得要求<D-37>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1219)、不正なURIであるなら、不正なURIであることを示すエラーコードをコンテンツ取得応答<D-37R>として携帯電話10に送信する(図12:ステップS1220)。正当なURIである場合は、DVR20は、そのダイレクトアクセス用URIで指定されているコンテンツをコンテンツ取得応答<D-37R>として携帯電話10に送信する(図12:ステップS1221)。
【0180】
携帯電話10は、DVR20からコンテンツをコンテンツ取得応答<D-37R>として受信すると(図17:ステップS1720)、ダイレクトアクセス用URIリストに格納されているすべてのコンテンツの取得が完了するまで(図17:ステップS1721)、ステップS1719のコンテンツ取得要求<D-37>をDVR20に送信することを繰り返す。また、携帯電話10は、DVR20から不正なURIであることを示すエラーコードをコンテンツ取得応答<D-37R>として受信した場合には、ダイレクトアクセスの失敗を示すメッセージを表示部を通してユーザに表示する。
【0181】
[4-2.サービスサーバ30を介したコンテンツ取得:図16]
【0182】
次に、携帯電話10が、サービスサーバ30を介してDVR20からコンテンツを取得する場合の動作を説明する。図16はサービスサーバ30からDVR20へのダイレクトアクセスによるコンテンツ取得時の情報の流れを示すシーケンス図である。
【0183】
図16に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は、図15を用いて説明した流れと同じであるため説明を省略する。
【0184】
なお、携帯電話10からサービスサーバ30を介してDVR20からコンテンツ取得を行う場合とは、ステップS1810において携帯ダイレクトフラグがオフであると判断され、更に、ダイレクトアクセス管理サーバ40におけるトンネリングを行わない場合である。
【0185】
まず、携帯電話10からサービスサーバ30を介してダイレクトにDVR20に対してコンテンツの検索を要求し、検索条件に合致するコンテンツのタイトルリストを取得する流れについて説明する。
【0186】
DVR20は、ステップS1812でサービスサーバ30から送信されたダイレクトアクセス用URIおよび検索条件を含むコンテンツ検索要求<D-19>を受信すると(図12:ステップS1214)、このコンテンツ検索要求<D-19>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1215)、不正なURIであるなら、不正なURIであることを示すエラーコードをコンテンツ検索応答<D-19R>としてサービスサーバ30に送信する(図12:ステップS1216)。正当なURIである場合は、DVR20は、コンテンツ検索要求<D-19>内の検索条件に従って記憶部21の中から検索条件に合致するコンテンツを検索して、検索結果のコンテンツのタイトルリストとLocal URIリストを生成する。その後、DVR20は、生成したタイトルリストとLocal URIリストとをコンテンツ検索応答<D-19R>としてサービスサーバ30に送信する(図12:ステップS1217)。
【0187】
サービスサーバ30は、DVR20より、コンテンツ検索応答<D-19R>としてコンテンツのタイトルリストおよびLocal URIリストを受信すると(図18:ステップS1813)、そのコンテンツのLocal URIリストを一時的に保存し(図18:ステップS1814)、携帯電話10に、コンテンツのタイトルリストを含むコンテンツ検索応答<D-20>を送信する(図18:ステップS1815)。
【0188】
また、サービスサーバ30は、DVR20より、コンテンツ検索応答<D-19R>として不正なURIであることを示すエラーコードを受信した場合には(図18:ステップS1816)、そのエラーコードを、携帯電話10にコンテンツ検索応答<D-20>として送信する(図18:ステップS1817)。
【0189】
携帯電話10は、サービスサーバ30から不正なURIであることを示すエラーコードをコンテンツ検索応答<D-20>を受信した場合には(図17:ステップS1728)、ダイレクトアクセスの失敗を示すメッセージを表示部を通してユーザに表示する(図17:ステップS1729)。また、携帯電話10は、サービスサーバ30よりコンテンツのタイトルリストをコンテンツ検索応答<D-20>として受信した場合には(図17:ステップS1725)、コンテンツ取得のための処理に進む。
【0190】
次に、携帯電話10がサービスサーバ30を介してDVR20からコンテンツ取得するための処理の流れについて説明する。
【0191】
携帯電話10は、サービスサーバ30から、コンテンツのタイトルリストを含むコンテンツ検索応答<D-20>を受信した場合(図17:ステップS1725)、受信したコンテンツのタイトルの一覧を表示部に表示し、表示されたタイトルの中からユーザによって選択されたコンテンツに対応するタイトルを抽出してコンテンツの取得を要求するための取得タイトルリストを作成する。
【0192】
その後、携帯電話10は、ユーザ識別情報、選択コンテンツのタイトルリスト(取得タイトルリスト)、被制御機器の番号を含むコンテンツ取得要求<D-21>をサービスサーバ30に送信する(図17:ステップS1726)。サービスサーバ30は、コンテンツ取得要求<D-21>を受信すると(図18:ステップS1818)、そのコンテンツ取得要求<D-21>に含まれるタイトルリストに対応するコンテンツのLocal URIリストを記憶部31から検索し(図18 :ステップS1819)、ユーザによって選択されたコンテンツのタイトルに対応するLocal URIを抽出してコンテンツの取得を要求するためのLocal URIリストを作成する。
【0193】
次に、サービスサーバ30は、利用可能なXMPPセッションIDが記憶部31に記憶されているか否かを調べる(図18:ステップS1820)。利用可能なXMPPセッションIDが記憶されていない場合、サービスサーバ30は、XMPPログイン要求<D-5>をダイレクトアクセス管理サーバに送信する(図18:ステップS1821)。サービスサーバ30は、ダイレクトアクセス管理サーバからのXMPPログイン応答<D-5R>を受信すると(図18:ステップS1822)、受信したXMPPログイン応答<D-5R>に含まれるXMPPセッションIDを記憶部31に保存する(図18:ステップS1823)。その後、サービスサーバ30は、ServiceID、制御機器・サービス管理ID、サービスURN、XMPPセッションID、コンテンツのLocal URIリストを含むダイレクトアクセス開始要求<D-22>をダイレクトアクセス管理サーバ40に送信する(図18:ステップS1824)。また、利用可能なXMPPセッションIDが既に記憶されている場合にも、サービスサーバ30は、ダイレクトアクセス開始要求<D-22>をダイレクトアクセス管理サーバ40に送信する(図18:ステップS1824)。ここでは、DVR20に対してコンテンツ取得を行おうとしているので、サービスURNはコンテンツ取得サービスを指定する情報となる。
【0194】
ダイレクトアクセス管理サーバ40は、このダイレクトアクセス開始要求<D-22>を受信すると(図11:ステップS1101)、これに含まれているServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されているかどうかを判定し(図11:ステップS1102)、記憶されていない場合には、被制御機器の登録が必要であることを示すエラーコードをダイレクトアクセス開始応答<D-26>としてサービスサーバ30に送信する(図11:ステップS1103)。ServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されている場合には、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-22>に含まれているXMPPセッションIDが、ダイレクトアクセス開始要求<D-22>に含まれているServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されているかどうかを判定する(図11:ステップS1104)。それが記憶されていない場合、ダイレクトアクセス管理サーバ40は、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-26>としてサービスサーバ30に送信する(図11:ステップS1105)。XMPPセッションIDがServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されている場合、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-31>で指定されているサービスURNおよびLocal URIリストを含むダイレクトアクセス用URI取得要求<D-23>をDVR20に送信する(図11:ステップS1106)。
【0195】
サービスサーバ30は、ダイレクトアクセス管理サーバ40から、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-26>として受信すると(図18:ステップS1825)、ステップS1820に戻って利用可能なXMPPセッションIDが記憶部31に記憶されているか否かを再び調べる。
【0196】
DVR20は、ダイレクトアクセス管理サーバ40よりダイレクトアクセス用URI取得要求<D-23>を受信すると(図12:ステップS1201)、ダイレクトアクセス用のローカルポートの割当てを行う(図12:ステップS1202)。次に、DVR20は、ローカルIPアドレスおよびダイレクトアクセス用のローカルポートのポート番号を含む、ダイレクトアクセス用ポートのNAT設定要求<D-24>をルータ50に送信する(図12:ステップS1203)。
【0197】
DVR20は、ルータ50より、グローバルIPアドレスおよびポート番号の取得エラーをサービスサーバ30からのNAT設定応答<D-24R>として受信した場合(図12:ステップS1204)、ステップS1201にて取得したサービスURNの指定情報に基づき、そのサービスURNがトンネリング可能なものであるかどうかを判定する(図12:ステップS1205)。DVR20は、トンネリング可能なサービスURNであるとを判定した場合には、トンネリングを指示するエラーコードをダイレクトアクセス用URI取得応答<D-25>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1206)。サービスURNの指定情報がトンネリング可能なサービスURNではない場合には、空きポート獲得失敗を示すエラーコードをダイレクトアクセス用URI取得応答<D-25>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1207)。
【0198】
また、DVR20は、ダイレクトアクセス用ポートのNAT設定要求<D-24>に対して、ルータ50より、DVR20のローカルIPアドレス及びポート番号に対応付けられたグローバルIPアドレスおよびポート番号を、NAT設定応答<D-24R>として受信した場合には(図12:ステップS1208)、これらのグローバルIPアドレスおよびポート番号を用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-25>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1209)。
【0199】
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、ダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-25>として受信すると(図11:ステップS1107)、そのダイレクトアクセス用URIリストをダイレクトアクセス開始応答<D-26>としてサービスサーバ30に送信する(図11:ステップS1111)。
【0200】
また、ダイレクトアクセス管理サーバ40は、トンネリングによるコンテンツ取得を指示するエラーコードをダイレクトアクセス用URI取得応答<D-25>として受信した場合には(図11:ステップS1109)、ダイレクトアクセス管理サーバ40内トンネリング用ポートの割当てを行い(図11:ステップS1110)、この割り当てたダイレクトアクセス管理サーバ40内トンネリング用ポートのポート番号とダイレクトアクセス管理サーバ40のグローバルIPアドレスを用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-26>をサービスサーバ30へ送信する(図11:ステップS1111)。
【0201】
以上により、サービスサーバ30は、DVR20からダイレクトにコンテンツを取得するためのダイレクトアクセスURIを取得したので、DVR20から選択されたコンテンツを取得する処理を開始する。なお、ここでは、サービスサーバ30がダイレクトアクセス開始応答<D-26>として受信したダイレクトアクセス用URIリストには、ユーザによって選択されたコンテンツのそれぞれに対応するダイレクトアクセスURIが格納されている。
【0202】
サービスサーバ30は、ダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-26>を受信すると(図18:ステップS1826)、そのダイレクトアクセス用URIリストの中から取得処理を行うコンテンツに対応するダイレクトアクセス用URIを選択し、そのダイレクトアクセスURIを含むコンテンツ取得要求<D-27>をDVR20に送信する(図18:ステップS1827)。DVR20は、サービスサーバ30からのコンテンツ取得要求<D-27>を受信すると(図12:ステップS1218)、このコンテンツ取得要求<D-27>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1219)、不正なURIであるなら、不正なURIであることを示すエラーコードをコンテンツ取得応答<D-27R>としてサービスサーバ30に送信する(図12:ステップS1220)。正当なURIである場合は、DVR20は、そのダイレクトアクセス用URIで指定されているコンテンツをコンテンツ取得応答<D-27R>としてサービスサーバ30に送信する(図12:ステップS1221)。
【0203】
サービスサーバ30は、DVR20からコンテンツをコンテンツ取得応答<D-27R>として受信すると(図18:ステップS1828)、このコンテンツをコンテンツ取得応答<D-28>として携帯電話10に送信し(図18:ステップS1829)、ダイレクトアクセス用URIリストに格納されているすべてのコンテンツの携帯電話10への送信が完了するまで、ステップS1827のコンテンツ取得要求<D-27>をDVR20に送信することを繰り返す(図18:ステップS1830)。携帯電話10は、コンテンツを含むコンテンツ取得応答<D-28>を受信する(図17:ステップS1727)と、受信したコンテンツを、表示部を通じてユーザに表示する。
【0204】
また、サービスサーバ30は、DVR20から不正なURIであることを示すエラーコードをコンテンツ取得応答<D-27R>として受信した場合には(図18:ステップS1831)、このエラーコードをコンテンツ取得応答<D-28>として携帯電話10に送信する(図18:ステップS1832)。
【0205】
以上で説明したように、携帯電話10は、DVR20へのダイレクトなアクセス、若しくは、サービスサーバ30による代理アクセスを利用して、DVR20からコンテンツを取得することができる。なお、上述の説明においては、コンテンツ取得サービスはトンネリング不可のサービスとして説明したが、リモート録画予約サービスで説明したトンネリングの処理をコンテンツ取得サービスに適用することにより、コンテンツ取得サービスにおいてもダイレクトアクセス管理サーバ40のXMPPサーバ43を介したトンネリングの処理を利用してDVR20からコンテンツを取得させることは可能である。
【0206】
[5.ダイレクトアクセス終了]
【0207】
次に、上述の各種処理が完了し、サービスサーバ30、ダイレクトアクセス管理サーバ40及びDVR20でダイレクトアクセスを終了させる処理に関して説明する。図20はダイレクトアクセス終了時の情報の流れを示すシーケンス図、図21はダイレクトアクセス終了時のサービスサーバ30の動作を示すフローチャート、図22はダイレクトアクセス終了時のダイレクトアクセス管理サーバ40の動作を示すフローチャート、図23はダイレクトアクセス終了時のDVR20の動作を示すフローチャートである。
【0208】
サービスサーバ30は、携帯電話10より、ユーザ識別情報を含むダイレクトアクセス終了通知<C-1>を受信すると(図21:ステップS2101)、ServiceID、制御機器・サービス管理ID、XMPPセッションID、サービスURN、ダイレクトアクセス用URIを含むダイレクトアクセス終了通知<C-2>をダイレクトアクセス管理サーバ40に送信する(図21:ステップS2102)。
【0209】
ダイレクトアクセス管理サーバ40は、ダイレクトアクセス終了通知<C-2>を受信すると(図22:ステップS2201)、サービスURNとダイレクトアクセス用URIを含むダイレクトアクセス終了通知<C-3>をDVR20に送信する(図22:ステップS2202)。このとき、ダイレクトアクセス終了通知<C-2>にダイレクトアクセスURIの指定が無い場合(図22:ステップS2206)、サービスURNのみを含むダイレクトアクセス終了通知<C-3>をDVR20に送信する(図22:ステップS2207)。
【0210】
DVR20は、サービスURNとダイレクトアクセス用URIを含むダイレクトアクセス終了通知<C-3>を受信すると(図23:ステップS2301)、指定されたダイレクトアクセス用URIに関するグローバルIPアドレスおよびポート番号を含むダイレクトアクセス用ポートをクローズ<C-4>する(図23:ステップS2302)。
【0211】
一方、サービスサーバ30は、ダイレクトアクセス終了通知<C-2>を送信後、携帯ダイレクトフラグの初期化を行う(図21:ステップS2103)。次いでServiceID、制御機器・サービス管理ID、XMPPセッションIDを含むXMPPログアウト通知<C-5>をダイレクトアクセス管理サーバ40に送信する(図21:ステップS2104)。最後にサービスサーバ30は、XMPPセッションIDエントリを消去する(図21:ステップS2105)。
【0212】
ダイレクトアクセス管理サーバ40は、ServiceID、制御機器・サービス管理ID、XMPPセッションIDを含むXMPPログアウト通知<C-5>を受信すると(図22:ステップS2203)、該XMPPセッションIDに関するすべてのサービスURNのダイレクトアクセスの終了通知をDVR20に発行したかどうかを判断する(図22:ステップS2204)。ダイレクトアクセスの終了を通知すべきサービスURNが残っている場合には、サービスURNのみを指定し、ダイレクトアクセス用URIの指定がされていないダイレクトアクセス終了通知<C-3>をDVR20へ送信し(図22:ステップS2205)、全ての終了通知を発行したら、サービスサーバ30からのダイレクトアクセス終了通知<C-2>に待機する。
【0213】
DVR20は、ダイレクトアクセス管理サーバ40からダイレクトアクセス用URIの指定されていないダイレクトアクセス終了通知<C-3>を受信すると(図23:ステップS2303)、ダイレクトアクセス終了通知<C-3>で指定されているサービスURNに関するすべてのポートをクローズする(図23:ステップS2304、S2305)。
【0214】
以上の処理を実行することによって、サービスサーバ30、ダイレクトアクセス管理サーバ40及びDVR20でダイレクトアクセスを終了させる。
【0215】
上記の実施形態では、携帯電話10からの要求によって、サービスサーバ30がダイレクトアクセス管理サーバ40からワンタイムパスワードである被制御機器登録用パスワードを取得する方法を説明したが、本実施形態においては、DVR20(被制御機器)がワンタイムパスワードである被制御機器登録用パスワードをダイレクトアクセス管理サーバ40から取得するようにしてもよい。
【0216】
(発明の第2の実施形態)
【0217】
次に、本発明の第2の実施形態について説明する。
【0218】
上記の実施形態では、携帯電話10からの要求によって、サービスサーバ30がダイレクトアクセス管理サーバ40からワンタイムパスワードである被制御機器登録用パスワードを取得する方法を説明したが、本実施形態においては、DVR20(被制御機器)がワンタイムパスワードである被制御機器登録用パスワードをダイレクトアクセス管理サーバ40から取得する。
【0219】
図26は第2の実施形態における携帯電話10とサービスとの組み合わせの登録とDVR20の登録を行う際の情報の流れを示すシーケンス図である。図27はこの登録時に携帯電話10で実行される処理のフローチャートである。図28はこの登録時にサービスサーバ30で実行される処理のフローチャートである。図29および図30は登録時にダイレクトアクセス管理サーバ40で実行される処理のフローチャートである。図31はこの登録時にDVR20で実行される処理のフローチャートである。
【0220】
まず、DVR20では、DVR20に接続されたTVの画面に表示されたメニューからの選択等によってユーザからDVR20の機器登録準備を行うための指示が与えられる(図31:ステップS3101)。この時点では、DVR20がダイレクトアクセス管理サーバ40において未登録であるため、DVR20に保持されている自動接続フラグの値はオフである(図31:ステップS3102)。よって、DVR20は、ダイレクトアクセス管理サーバ40において自身の登録を行うための処理を開始する。
【0221】
DVR20は、ダイレクトアクセス管理サーバ40に自身の登録を行うために、自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R-20>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図31:ステップS3103)。
【0222】
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、DVR20からの機器認証要求<R-20>を受信すると(図29:ステップS2901)、このDVR20が正当な機器であるかどうかを、機器認証要求<R-20>に含まれる認証方式の情報および機器認証情報に基づき判定する(図29:ステップS2902)。不当な機器として判定された場合には、SOAPサーバ42は、エラーを示すコードを機器認証応答<R-20R>としてDVR20に送信する(図29:ステップS2906)。正当な機器として判定された場合には、SOAPサーバ42は、そのDVR20に対して割り当てる機器認証継続IDを生成して(図29:ステップS2903)、この機器認証継続IDと、この機器認証継続IDの有効期限と、DVR20の機器認証情報とを対応付けて記憶部41に保存する(図29:ステップS2904)。その後、SOAPサーバ42は、上記の生成した機器認証継続IDとその有効期限の情報を含む情報を機器認証応答<R-20R>としてDVR20へ送信する(図29:ステップS2905)。
【0223】
DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からの機器認証応答<R-20R>としてエラーを示すコードを受信した場合には、DVR20が正当な機器でない旨のエラーメッセージを表示する。DVR20は、機器認証応答<R-20R>として機器認証継続IDとその有効期限の情報を含む情報を受信した場合には(図31:ステップS3104)、この機器認証応答R-20R>に含まれる機器認証継続ID及びその有効期限の情報を機器認証情報と対応付けて記憶部21に保存する(図31:ステップS3105)。その後、DVR20は、自身を携帯電話10の制御対象として登録するための被制御機器登録用パスワード取得処理に進む。
【0224】
一方、DVR20の機器登録を行うための指示がユーザからDVR20に与えられたときに、ステップS3102で自動接続フラグの値がオンである場合には、以前に少なくとも一度、ダイレクトアクセス管理サーバ40との間で機器認証手続(ステップS3103乃至S3105)、被制御機器登録用パスワードの取得の手続(ステップS3106乃至S3109)及び登録手続(ステップS3110乃至S3114)を実行した状態である。よってDVR20は、ダイレクトアクセス管理サーバ40への機器認証及び機器登録を既に完了しており、ダイレクトアクセス管理サーバ40より機器認証継続IDを既に受け取っている。このためDVR20は、ステップS3103からステップS3105までの機器認証のための手順を省略して、ダイレクトアクセス管理サーバ40より取得済みの機器認証継続IDを用いて新たな制御機器をDVR20に紐付けするための被制御機器登録用パスワード取得処理に進む。
【0225】
次に、制御機器である携帯電話10を登録し、携帯電話10をDVR20の制御機器として紐付けする処理について説明する。
【0226】
まず、DVR20は、制御機器である携帯電話10の制御対象として被制御機器であるDVR20をダイレクトアクセス管理サーバ40に登録するためのパスワードを取得するための処理を実行する。
【0227】
DVR20は、ダイレクトアクセス管理サーバ40より取得した機器認証継続IDとその有効期限の情報とを含む被制御機器登録用パスワード取得要求<R-21>をダイレクトアクセス管理サーバ40に送信する(図31:ステップS3106)。
【0228】
ダイレクトアクセス管理サーバ40は、DVR20より被制御機器登録用パスワード取得要求<R-21>を受信すると(図29:ステップS2907)、この被制御機器登録用パスワード取得要求<R-21>に含まれる機器認証継続IDとその有効期限のチェックを行う(図29:ステップS2908)。このチェックでNGが判定された場合、すなわち、被制御機器登録用パスワード取得要求<R-21>に含まれる機器認証継続IDがダイレクトアクセス管理サーバ40の記憶部41に機器認証情報と対応付けて記憶されているどの機器認証継続IDとも一致しないか、もしくは機器認証継続IDの有効期限が切れている場合には、機器認証が必要であることを示すエラーコードを含む被制御機器登録用パスワード取得応答<R-21R>をDVR20へ送信する(図29:ステップS2909)。
【0229】
DVR20は、エラーコードを含む被制御機器登録用パスワード取得応答<R-21R>を受信すると(図31:ステップS3107)、ステップS3103に戻って、自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R-20>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に再度送信する(図31:ステップS3103)。これにより、DVR20は、再度、機器認証をダイレクトアクセス管理サーバ40との間で行い、新たな有効期限を持つ機器認証継続IDに更新する手続きを行う。
【0230】
また、ダイレクトアクセス管理サーバ40による機器認証継続IDとその有効期限のチェック(図29:ステップS2908)の結果がOKである場合、すなわち、被制御機器登録用パスワード取得要求<R-21>に含まれる機器認証継続IDがダイレクトアクセス管理サーバ40の記憶部41に機器認証情報と対応付けて記憶されている機器認証継続IDと一致し、かつ機器認証継続IDの有効期限が切れていない場合、ダイレクトアクセス管理サーバ40は被制御機器登録用パスワードを生成し(図29:ステップS2910)、この生成した被制御機器登録用パスワードを、機器認証継続IDと対応付けて記憶部41に保存する(図29:ステップS2911)。この後、ダイレクトアクセス管理サーバ40は、生成した被制御機器登録用パスワードとその有効期限の情報を被制御機器登録用パスワード取得応答<R-21R>としてDVR20に送信する(図29:ステップS2912)。
【0231】
DVR20は、ダイレクトアクセス管理サーバ40より被制御機器登録用パスワードとその有効期限の情報を含む被制御機器登録用パスワード取得応答<R-21R>を受信すると(図31:ステップS3108)、携帯電話10にこの被制御機器登録用パスワーとその有効期限の情報<R-22>を渡すために、例えば、内部でQRコード(商標)等の2次元バーコードを生成し、DVR20に接続されたTV画面などに表示する(図31:ステップS3109)。
【0232】
一方、携帯電話10は、ユーザからの被制御機器の登録指示を受けると(図27:ステップS2701)、DVR20から被制御機器登録用パスワードとその有効期限の情報<R-22>を取得する処理を実行する。たとえば、携帯電話10は、DVR20に接続されたTV画面に表示されたQRコード(商標)等の2次元バーコードを携帯電話10に装備されているカメラで撮像し、撮像されたバーコードを画像認識することによって、被制御機器登録用パスワードと有効期限の情報<R-22>を取得する(図27:ステップS2702)。
【0233】
次に、携帯電話10は、ダイレクトアクセス管理サーバ40に制御機器である携帯電話10と被制御機器であるDVR20とを紐付けさせるための処理を実行する。
【0234】
携帯電話10は、取得した被制御機器登録用パスワードと、携帯電話10に予め登録されているユーザ識別情報とを含む被制御機器登録要求<R-23>をサービスサーバ30に送信する(図27:ステップS2703)。
【0235】
サービスサーバ30は、携帯電話10より、被制御機器登録用パスワードとユーザ識別情報とを含む被制御機器登録要求<R-23>を受信すると(図28:ステップS2801)、その被制御機器登録要求<R-23>に含まれているユーザ識別情報に対応する制御機器・サービス管理IDがサービスサーバ30の記憶部31に記憶されているかどうかを判断する(図28:ステップS2802)。
【0236】
サービスサーバ30の記憶部31に、ユーザ識別情報に対応する制御機器・サービス管理IDが記憶されていない場合、サービスサーバ30は、被制御機器登録要求<R-23>に含まれていたユーザ識別情報を記憶部31に保存し(図28:ステップS2803)、あらかじめ自身に割り当てられているServiceIDを含む制御機器・サービス管理ID取得要求<R-34>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に対して送信する(図28:ステップS2804)。すなわち、携帯電話10がサービスサーバ30の提供するサービスを初めて利用する状態であるため、サービスサーバ30は、以降の携帯電話10からのサービス要求の際にダイレクトアクセス管理サーバ40との処理で利用する、制御機器である携帯電話10とサービスサーバ30で提供されるサービスとの組み合わせを一意に特定するための制御機器・サービス管理IDの発行を、ダイレクトアクセス管理サーバ40に対して要求する。ここで、制御機器・サービス管理IDは、サービス事業者が提供する個々のサービスと制御機器との組み合わせに対してユニークに割り当てられるIDである。
【0237】
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、制御機器・サービス管理ID取得要求<R-34>を受信すると(図30:ステップS3001)、この制御機器・サービス管理ID取得要求<R-34>に含まれているServiceIDが、ダイレクトアクセス管理サーバ40の記憶部41に記憶されているかどうかを調べる(図30:ステップS3002)。制御機器・サービス管理ID取得要求<R-34>に含まれているServiceIDが記憶部41に記憶されていない場合には、サービスサーバ30がダイレクトアクセス管理サーバ40に認められたサービス事業者のサービスサーバではないため、ServiceIDが未登録であることを示すエラーコードを制御機器・サービス管理ID取得応答<R-34R>として送信する(図30:ステップS3006)。ServiceIDが記憶部41に記憶されている場合には、SOAPサーバ42は、新規の制御機器・サービス管理IDを発行して(図30:ステップS3003)、この制御機器・サービス管理IDとServiceIDとの対応関係を記憶部41に登録し(図30:ステップS3004)、その制御機器・サービス管理IDをサービスサーバ30に制御機器・サービス管理ID取得応答<R-34R>として送信する(図30:ステップS3005)。このように制御機器・サービス管理IDとServiceIDを対応付けて記憶することにより、ダイレクトアクセス管理サーバ40は、以降のサービス提供で、サービス提供を要求した携帯電話10とサービスサーバ30との組み合わせを一意に識別することが可能となる。
【0238】
サービスサーバ30は、ダイレクトアクセス管理サーバ40より、制御機器・サービス管理IDを含む制御機器・サービス管理ID取得応答<R-34R>を受信すると(図28:ステップS2805)、この制御機器・サービス管理IDを携帯電話10のユーザ識別情報と対応付けて記憶部31に登録する(図28:ステップS2806)。
【0239】
サービスサーバ30は、制御機器・サービス管理IDをユーザ識別情報と対応付けて記憶部31に登録した後、または、携帯電話10から受信した被制御機器登録要求<R-23>に含まれるユーザ識別情報に対応する制御機器・サービス管理IDが既に記憶部31に登録されている場合、制御機器・サービス管理IDおよびServiceIDと、ステップS2801で携帯電話10より取得した被制御機器登録用パスワードとを含む被制御機器登録要求<R-25>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に対して送信する(図28:ステップS2807)。これにより、サービスサーバ30は、携帯電話10から送信されてきた被制御機器登録用パスワードで特定される被制御機器であるDVR20と、制御機器である携帯電話10とサービスサーバ30のサービスとの組み合わせを特定する制御機器・サービス管理IDとの関連付けを、ダイレクトアクセス管理サーバ40に要求する。
【0240】
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、サービスサーバ30より被制御機器登録要求<R-25>を受信すると(図30:ステップS3007)、これに含まれている制御機器・サービス管理IDおよびServiceIDの組み合わせが記憶部41に登録されているかどうかを判断する(図30:ステップS3008)。その組み合わせが記憶部41に登録されていない場合、SOAPサーバ42は、制御機器・サービス管理IDとServiceIDの組み合わせが未登録であることを示すエラーコードを被制御機器登録応答<R-25R>としてサービスサーバ30へ送信する(図30:ステップS3013)。
【0241】
被制御機器登録要求<R-25>に含まれている制御機器・サービス管理IDおよびServiceIDの組み合わせが記憶部41に既に登録されている場合、SOAPサーバ42は、被制御機器登録用パスワードと有効期限についてのチェックを行う(図30:ステップS3009)。このチェックの結果、サービスサーバ30より取得した被制御機器登録用パスワードと一致するパスワードが記憶部41に記憶されていない場合、もしくは有効期限が切れている場合、SOAPサーバ42は、被制御機器登録要求<R-25>に含まれている被制御機器登録用パスワードが無効であることを示すエラーコードを被制御機器登録応答<R-25R>としてサービスサーバ30へ送信する(図30:ステップS3013)。
【0242】
サービスサーバ30は、SOAPサーバ42より未登録であることを示すエラーコード若しくは被制御機器登録用パスワードが無効であることを示すエラーコードを含む被制御機器登録応答<R-25R>を受信した場合には(図28:ステップS2808)、被制御機器の登録処理でエラーが起きたことを示すエラーコードを被制御機器登録応答<R-26>として携帯電話10に送信する(図28:ステップS2809)。
【0243】
また、ステップS3009のチェックの結果、サービスサーバ30より取得した被制御機器登録用パスワードが記憶部41に記憶されており、かつ有効期限が切れていない場合、SOAPサーバ42は、ステップS2911において記憶部41に記憶した被制御機器登録用パスワードと機器認証継続IDの対応付けから、サービスサーバ30より取得した被制御機器登録用パスワードに対応する機器認証継続IDを検索し、検索結果の機器認証継続IDに対応付けられた被制御機器管理IDが割り当て済みか否か判断する(図30:ステップS3010-1)。被制御機器管理IDが割り当てられていない場合、SOAPサーバ42は、新規の被制御機器管理IDを発行する(図30:ステップS3010-2)。その後、機器認証継続IDに対応したServiceID、制御機器・サービス管理IDと、新規に割り当てた被制御機器管理IDとを対応付けて記憶部41に保存する(図30:ステップS3011)。ステップS3010-1において、機器認証継続IDに対応付けられた被制御機器管理IDが既に割り当てられている場合には、SOAPサーバ42は、既に割り当てられている被制御機器管理IDと、機器認証継続IDに対応したServiceID、制御機器・サービス管理IDとを対応付けて記憶部41に保存する。
【0244】
被制御機器管理IDとは、被制御機器に対してダイレクトアクセス管理サーバ40内でユニークに割り当てられる識別情報である。これによって、制御機器とサービスとの組み合わせに対して割り当てられた制御機器・サービス管理IDと、被制御機器に対して割り当てられた被制御機器管理IDとの紐付けが行われる。この紐付けは、1つの制御機器・サービス管理IDに対して複数の被制御機器管理IDが紐付けされても、逆に複数の制御機器・サービス管理IDが1つの被制御機器管理IDに紐付けされても構わない。
【0245】
この後、SOAPサーバ42は、被制御機器の登録が完了したことを示す被制御機器登録応答<R-25R>をサービスサーバ30に送信する(図30:ステップS3012)。さらに、サービスサーバ30は、SOAPサーバ42より登録が完了したことを示す被制御機器登録応答<R-25R>を受信した場合には(図28:ステップS2808)、被制御機器の登録が完了したことを示す被制御機器登録応答<R-26>を携帯電話10に送信する(図28:ステップS2809)。
【0246】
携帯電話10はサービスサーバ30より当該被制御機器登録応答<R-26>を受信すると(図27:ステップS2704)、被制御機器の登録処理を終了する。
【0247】
以上の処理が完了した後、ユーザは、DVR20に対して割り当てられた被制御機器管理IDと制御機器・サービス管理IDとの紐付けが完了したかどうかの確認の指示を、DVR20に接続されたTVの画面に表示されたメニューの選択等によってDVR20に与える(図31:ステップS3110)。
【0248】
DVR20は、この確認の指示を受けると、記憶部21に記憶されている自身の機器認証継続IDと被制御機器登録用パスワードを含む被制御機器登録確認要求<R-27>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図31:ステップS3111)。
【0249】
SOAPサーバ42は、DVR20からの被制御機器登録確認要求<R-27>を受信すると(図29:ステップS2913)、この被制御機器登録確認要求<R-27>に含まれている、DVR20の機器認証継続IDとこの機器認証継続IDの有効期限のチェックを行う(図29:ステップS2914)。
【0250】
ステップS2914におけるチェックでOKと判定された場合、すなわち、DVR20の機器認証継続IDが記憶部41に記憶されており、かつ有効期限が切れていない場合には、SOAPサーバ42は、被制御機器登録用パスワードの有効期限についてのチェックを行う(図29:ステップS2915)。このチェックの結果DVR20より取得した被制御機器登録用パスワードの有効期限が切れている場合、SOAPサーバ42は、被制御機器登録確認要求<R-27>に含まれている被制御機器登録用パスワードの有効期限が切れていることを示すエラーコードを被制御機器登録確認応答<R-27R>としてDVR20へ送信する(図29:ステップS2920)。被制御機器登録用パスワードの有効期限が切れていない場合には、SOAPサーバ42は、記憶部41に記憶されている情報を参照して、被制御機器登録確認要求<R-27>に含まれている被制御機器登録用パスワードに対応付けて記憶部41に記憶されている被制御機器管理IDを検索し、この被制御機器管理IDと紐付けられている制御機器・サービス管理IDの数を、DVR20に現在紐付けられているサービスの数として調べる。
【0251】
SOAPサーバ42は、DVR20に現在紐付けられているサービスの数を調べた後に、そのサービスの数の情報を被制御機器登録確認応答<R-27R>としてDVR20に送信する(図29:ステップS2916)。次に、SOAPサーバ42は、被制御機器であるDVR20の機器登録が完了していることをサービスサーバ30に通知するために、記憶部41に記憶されているそのサービスサーバ30のServiceID,このServiceIDに対応付けられた制御機器・サービス管理IDおよび被制御機器登録用パスワードを含む被制御機器登録完了通知<R-28>をサービスサーバ30に送信する(図29:ステップS2917)。そして、SOAPサーバ42は、記憶部41に記憶されているDVR20の被制御機器登録用パスワードを消去する(図29:ステップS2918)。
【0252】
サービスサーバ30は、SOAPサーバ42より被制御機器登録完了通知<R-28>を受信すると(図28:ステップS2810)、被制御機器の登録が完了したことを携帯電話10に通知する(図28:ステップS2811)。被制御機器の登録が完了したことをサービスサーバ30から携帯電話10に通知する方法としては、たとえば、電子メールや、携帯電話10との間でその他の方法で通信を行うために用意されたアプリケーション等がある。
【0253】
DVR20は、SOAPサーバ42より、サービスの数の情報を含む被制御機器登録確認応答<R-27R>を受信すると(図31:ステップS3112)、自動接続フラグをオンにセットし(図31:ステップS3113)、自機器に接続されたTVの画面等に自機器の登録が完了したことを表すメッセージを表示する(図31:ステップS3114)。
【0254】
また、SOAPサーバ42は、ステップS2814のチェックで、NGが判定された場合、すなわち、DVR20の機器認証継続IDが記憶部41に記憶されていない、またはその機器認証継続IDの有効期限が切れている場合には、機器認証継続IDおよび被制御機器登録用パスワードのチェックのエラーを示すエラーコードを被制御機器登録確認応答<R-27R>としてDVR20に送信する(図30:ステップS3013)。DVR20は、このチェックエラーを示すエラーコードを被制御機器登録確認応答<R-27R>として受信すると(図31:ステップS3125)、機器の再登録が必要であることを示すメッセージを自機器に接続されたTVの画面等に表示してユーザに通知する(図31:ステップS3126)。この後DVR20の動作は終了する。
【0255】
DVR20にて自動接続フラグがオンにセットされ(図31:ステップS3113)、自機器に接続されたTVの画面等に自機器の登録が完了したことを表すメッセージが表示された後(図31:ステップS3114)、DVR20は、ダイレクトアクセス管理サーバ40のXMPPサーバと双方向の常時接続セッションを確立するために、自身の機器認証継続IDを含むXMPPログイン情報取得要求<D-0-1>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図31:ステップS3115)。
【0256】
この実施形態のネットワークシステムでは、第1の実施形態のネットワークシステムと同様に、ダイレクトアクセス管理サーバ40に、被制御機器との間で双方向の常時接続セッションを設定するためのXMPPサーバ43を置いている。制御機器である携帯電話10から被制御機器であるDVR20にアクセスするために、その前にDVR20がXMPPサーバ43にログインし、DVR20とXMPPサーバ43の間で常時接続セッションを確立しておく。これにより、サービスサーバ30または携帯電話10が、必要なときには、DVR20から必要な情報を取得できるようにしてある。また、この際のサービスサーバ30の設計を簡単にするために、この実施形態のネットワークシステムでも、第1の実施形態のネットワークシステムと同様に、XMPPプロトコルをダイレクトアクセス管理サーバ40内に隠蔽し、SOAPインタフェースだけで、DVR20と双方向の常時接続セッションを設定しているXMPPサーバ43との情報のやり取りを行えるようにしている。
【0257】
なお、DVR20がXMPPサーバ43にログインする際のダイレクトアクセス管理サーバ40の動作は第1の実施形態と同じであるので、以下の第2の実施形態の説明においても第1の実施形態の説明で用いた図10を用いることとする。
【0258】
ダイレクトアクセス管理サーバ40は、DVR20より機器認証継続IDを含むXMPPログイン情報取得要求<D-0-1>を受信すると(図10:ステップS1001)、このXMPPログイン情報取得要求<D-0-1>に含まれている機器認証継続IDと、機器認証継続IDの有効期限のチェックを行う(図10:ステップS1002)。このチェックでXMPPログイン情報取得要求<D-0-1>に含まれている機器認証継続IDが、ダイレクトアクセス管理サーバ40の記憶部41に記憶されているものと一致しない場合、もしくは、有効期限が切れている場合には、DVR20が正常にダイレクトアクセス管理サーバ40に登録されていないか、もしくは、過去に登録されていたが登録時の機器認証継続IDの有効期限が切れているのかであるため、機器認証が必要であることを示すエラーコードをXMPPログイン情報取得応答<D-0-1R>としてDVR20に送信する(図10:ステップS1003)。機器認証継続IDが記憶部41に記憶されており、かつ有効期限が切れておらず、ステップS1002におけるチェック結果がOKであれば、ダイレクトアクセス管理サーバ40は、記憶部41から機器認証継続IDに紐付けられている被制御機器管理ID及び機器認証情報を検索する(図10:ステップS1004)。ダイレクトアクセス管理サーバ40は、被制御機器管理IDと機器認証情報から、DVR20がXMPPサーバ43にログインするために必要なXMPPログインIDであるFull JID(D)と、XMPPログインパスワードおよびXMPPログインパスワードの有効期限を生成し(図10:ステップS1005)、これらを機器認証継続IDに対応付けて記憶部41に保存する(図10:ステップS1006)。そして、ダイレクトアクセス管理サーバ40は、生成したFull JID(D)、XMPPログインパスワードおよびその有効期限の情報に、XMPPアドレスおよびポート番号、認証方式の情報およびSSLオプションを加えた情報をXMPPログイン情報取得応答<D-0-1R>としてDVR20に送信する(図10:ステップS1007)。
【0259】
DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からFull JID(D)、XMPPログインパスワード等を含むXMPPログイン情報取得応答<D-0-1R>を受信すると(図31:ステップS3116)、XMPPサーバ43にログインするために、Full JID(D)、XMPPログインパスワードを含むXMPPログイン認証要求<D-0-2>を、ダイレクトアクセス管理サーバ40内のXMPPサーバ43に送信する(図31:ステップS3117)。
【0260】
ダイレクトアクセス管理サーバ40内のXMPPサーバ43は、DVR20よりXMPPログイン認証要求<D-0-2>を受信すると(図10:ステップS1008)、このXMPPログイン認証要求<D-0-2>に含まれているFull JID(D)、XMPPログインパスワードおよびXMPPログインパスワードの有効期限のチェックを行う(図10:ステップS1009)。XMPPサーバ43は、Full JID(D)が記憶部41に記憶されているものと一致しない、または、XMPPログインパスワードが記憶部41に記憶されているものと一致しない、または、XMPPログインパスワードの有効期限が切れている場合には、XMPPログイン失敗を示すエラーコードをXMPPログイン認証応答<D-0-2R>としてDVR20に送信する(図10:ステップS1010)。また、Full JID(D)、XMPPログインパスワードおよび有効期限のチェックがすべてOKならば、ダイレクトアクセス管理サーバ40内のXMPPサーバ43は、XMPPログイン許可を示すコードをXMPPログイン認証応答<D-0-2R>としてDVR20に送信する(図10:ステップS1011)。
【0261】
DVR20は、ダイレクトアクセス管理サーバ40よりXMPPログイン失敗を示すエラーコードをXMPPログイン認証応答<D-0-2R>として受信すると(図31:ステップS3118)、ステップS3115に戻ってXMPPログイン情報の取得要求を行う。すなわち、XMPPログインパスワードの有効期限が切れている可能性があるため、再度、XMPPログイン情報の取得要求処理を行う。
【0262】
また、DVR20は、ダイレクトアクセス管理サーバ40よりXMPPログイン許可を示すコードをXMPPログイン認証応答<D-0-2R>として受信すると(図31:ステップS3119)、XMPPログイン処理を完了する。
【0263】
なお、DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42より、機器認証が必要であることを示すエラーコードをXMPPログイン情報取得応答<D-0-1R>として受信した場合には(図31:ステップS3120)、自機が正常にダイレクトアクセス管理サーバ40に登録されていないか、もしくは、機器認証継続IDの有効期限が切れている可能性があるため、再度、自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R-20>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信して自身の機器認証をやりなおす(図31:ステップS3121)。
【0264】
DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からの機器認証応答<R-20R>を受信すると(図31:ステップS3122)、この機器認証応答<R-20R>に含まれる機器認証継続ID、その有効期限の情報を機器認証情報と対応付けて記憶部21に保存する(図31:ステップS3123)。この後、DVR20はステップS3115に移って、自身の機器認証継続IDを含むXMPPログイン情報取得要求<D-0-1>を、再度、ダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する。
【0265】
また、SOAPサーバ42は、ステップS2914において、ステップS2913で受信した被制御機器登録確認要求<R-27>に含まれているDVR20の機器認証継続IDが記憶部41に記憶されている機器認証継続IDと一致しない、またはその機器認証継続IDの有効期限が切れている場合には、機器認証が必要である旨を示すエラーコードを被制御機器登録確認応答<R-27R>としてDVR20に送信する(図29:ステップS2919)。
【0266】
DVR20は、機器認証が必要である旨を示すエラーコードを被制御機器登録確認応答<R-27R>として受信すると(図31:ステップS3124)、自機が正常にダイレクトアクセス管理サーバ40に登録されていないか、もしくは、機器認証継続IDの有効期限が切れている可能性があるため、再度、自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R-20>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信して自身の機器認証をやりなおす(図31:ステップS3121)。
【0267】
DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からの機器認証応答<R-20R>を受信すると(図31:ステップS3122)、この機器認証応答<R-20R>に含まれる機器認証継続ID、その有効期限の情報を機器認証情報と対応付けて記憶部21に保存する(図31:ステップS3123)。この後、DVR20はステップS3115に移って、自身の機器認証継続IDを含むXMPPログイン情報取得要求<D-0-1>を、再度、ダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する。
【0268】
以上説明したように、DVR20(被制御機器)がワンタイムパスワードである被制御機器登録用パスワードをダイレクトアクセス管理サーバ40から取得するようにしてもよい。
【0269】
尚、DVR20から携帯電話10に対して被制御機器登録用パスワードとその有効期限の情報を受け渡すために、携帯電話10に備えたカメラで二次元バーコードを撮像する方法を説明したが、DVR20から携帯電話10に対して被制御機器登録用パスワードとその有効期限の情報を渡すことができさえすれば、どのような渡し方であっても構わない。例えば、非接触式のICカードの書き込みデバイスをDVR20に装備し、携帯電話10にICカードの読み込みデバイスを装備させ、DVR20で被制御機器登録用パスワードとその有効期限の情報をICカードに書き込みを行い、携帯電話10でICカードから情報を読み取らせるように構成してICカードを媒介として伝えることも可能である。また、ICカード内に設けられるアンテナやICチップなどのデバイスと同様の構成を、携帯電話10に内蔵させ、DVR20の書き込みデバイスで、直接、携帯電話10に書き込ませるように構成することも可能である。更には、携帯電話10及びDVR20に、無線LAN,Bluetooth、赤外通信等の無線通信デバイスを装備させ、無線通信を介して、被制御機器登録用パスワードとその有効期限の情報を伝送させるように構成させることや、携帯電話10及びDVR20にUSB等の有線通信デバイスを装備させ、有線通信を介して伝送させるなどしても構わない。
【0270】
以上、本発明の実施形態のネットワークシステムの構成および動作を説明したが、サービスサーバ30の機能の一部は制御機器に移すことも可能である。例えば、サービスサーバ30がもっていた、SOAPインタフェースへのアクセス機能を制御機器(携帯電話10)がもつように変更することによって、XMPPログイン要求から始まるダイレクトアクセスの利用シーケンスは、制御機器(携帯電話10)とダイレクトアクセス管理サーバ40間で直接行える。
【0271】
また、制御機器の機能と被制御機器の機能が一体になることも可能である。この場合、制御機器(携帯電話10)から被制御機器(DVR20)のXMPPセッションにアクセスする際に、SOAPサーバ42を経由しないで、XMPPセッション間でダイレクトアクセスに必要な情報を交換することになる。
【0272】
さらに、被制御機器同士のダイレクトアクセスも行うことも可能である。この場合、被制御機器同士の関連付けは、制御機器を用いて行う。
【0273】
以上説明した実施形態では、制御機器である携帯電話10とダイレクトアクセス管理サーバ40との間にサービスサーバ30を配置しているため、ダイレクトアクセス管理サーバ40は、携帯電話10とサービスサーバ30との組み合わせに対して生成した制御機器・サービス管理IDを被制御機器管理IDと関連付けて記憶することとしたが、本発明はこのことに限定されない。すなわち、本発明は、サービスサーバ30を介さず、制御機器とダイレクトアクセス管理サーバ40との間で直接通信が行われる環境においても利用することができるものである。この場合にはダイレクトアクセス管理サーバ40は、上記の実施形態での制御機器・サービス管理IDに代えて制御機器を識別する制御機器管理IDを生成し、これを被制御機器管理IDと関連付けて記憶する。また、制御機器管理IDは、ダイレクトアクセス管理サーバ40にて生成してもよいし、制御機器が自身を識別することのできるIDを公開可能なものであるなら、この制御機器から与えられたIDを、被制御機器管理IDと関連付けられる制御機器管理IDとして用いてもよい。このことは、被制御機器管理IDについても同様であり、被制御機器が自身を識別することのできるIDを公開可能なものであるなら、この被制御機器から与えられたIDを、制御機器管理IDと関連付けられる被制御機器管理IDとして用いてもよい。また、ダイレクトアクセス管理サーバ40に制御機器および被制御機器として接続される機器は、それぞれ他の機器の制御を行う部分と他の機器によって制御が行われる部分の両方を有するものであってもよい。
【0274】
(本発明の概念)
図33は本発明の特徴を概念的に示す図である。本発明にかかるサーバ装置140は、ネットワークを通じて第1の機器110および第2の機器120と接続される。サーバ装置140は、情報を記憶する記憶部141を備える。この記憶部141は上記の実施形態の記憶部41に対応するものである。サーバ装置140は、第1の機器110からの、第1の機器110に関連する第1の識別情報を含むパスワード発行要求に応じて第1のパスワードを生成し、第1の機器110に関連する第1の識別情報と対応付けて第1のパスワードを記憶部141に記憶し、生成した第1のパスワードを第1の機器110に送信する。ここで、第1の機器110および第2の機器120はそれぞれ、他の機器の制御を行う部分と他の機器によって制御が行われる部分の両方を有する機器である。
【0275】
第1の機器110は、サーバ装置140より取得した第1のパスワードを第2の機器120に転送し、第2の機器120はこれを第2のパスワードとして保持する。第2の機器120は自機器の登録をサーバ装置140に要求する際に、第2のパスワードと第2の機器120に関連する第2の識別情報をサーバ装置140に送信する。サーバ装置140は、第2の機器120から受信した第2のパスワードが記憶部141に記憶されているか否かを検証し、第2のパスワードが記憶部141に記憶されている際に、第2の機器120に関連する第2の識別情報を、その第2のパスワードと同じ第1のパスワードと対応付けられている第1の識別情報に関連付けて記憶部141に登録する。これにより、サーバ装置140において、第1の機器110の第1の識別情報と第2の機器120の第2の識別情報との関連付け、つまり制御する側の機器と制御される側の機器との関連付けが達成される。
【0276】
なお、サーバ装置140の記憶部141に記憶される第1の機器110に関連する第1の識別情報は、サーバ装置140によって生成されたものでもよいし、第1の機器110から提供される自機器の識別情報でもよい。また、サーバ装置140の記憶部141に記憶される第2の機器120に関連する第2の識別情報もサーバ装置140によって生成されたものでもよいし、第2の機器120から提供される自機器の識別情報であってもよい。
【0277】
図34は図33に示した本発明にかかるサーバ装置の変形例である。この変形例では、サーバ装置240は、ネットワークを通じて制御機器210および被制御機器220と接続される。サーバ装置240は、制御機器210からの、制御機器210に関連する第1の識別情報を含むパスワード発行要求に応じて第1のパスワードを生成し、制御機器210に関連する第1の識別情報と対応付けて第1のパスワードを記憶部241に記憶し、生成した第1のパスワードを制御機器210に送信する。
【0278】
制御機器210は、サーバ装置240より取得した第1のパスワードを第2の機器220に転送し、被制御機器220はこれを第2のパスワードとして保持する。被制御機器220は自機器の登録をサーバ装置240に要求する際に、第2のパスワードと被制御機器220に関連する第2の識別情報をサーバ装置240に送信する。サーバ装置240は、被制御機器220から受信した第2のパスワードが記憶部241に記憶されているか否かを検証し、第2のパスワードが記憶部241に記憶されている際に、被制御機器220に関連する第2の識別情報を、その第2のパスワードと同じ第1のパスワードと対応付けられている第1の識別情報に関連付けて記憶部241に登録する。これにより、サーバ装置240において、制御機器210の第1の識別情報と被制御機器220の第2の識別情報との関連付けが達成される。
【0279】
なお、サーバ装置240の記憶部241に記憶される制御機器210に関連する第1の識別情報は、サーバ装置240によって生成されたものでもよいし、制御機器210から提供される自機器の識別情報であってもよい。また、サーバ装置240の記憶部241に記憶される被制御機器220に関連する第2の識別情報もサーバ装置240によって生成されたものでもよいし、被制御機器220から提供される自機器の識別情報であってもよい。
【0280】
図35は図33に示した本発明にかかるサーバ装置の別の変形例である。この変形例では、サーバ装置340は、図34に示したサーバ装置240と同様にネットワークを通じて制御機器310および被制御機器320と接続される。ただし、この例では、サーバ装置340は、被制御機器320からの、被制御機器320に関連する第1の識別情報を含むパスワード発行要求に応じて第1のパスワードを生成し、被制御機器320に関連する第1の識別情報と対応付けて第1のパスワードを記憶部341に記憶し、第1のパスワードを被制御機器320に送信する。
【0281】
被制御機器320は、サーバ装置340より取得した第1のパスワードを制御機器310に転送し、制御機器310はこれを第2のパスワードとして保持する。制御機器310は自機器の登録をサーバ装置340に要求する際に、第2のパスワードと制御機器310に関連する第2の識別情報をサーバ装置340に送信する。サーバ装置340は、制御機器310から受信した第2のパスワードが記憶部341に記憶されているか否かを検証し、第2のパスワードが記憶部341に記憶されている際に、制御機器310に関連する第2の識別情報を、その第2のパスワードと同じ第1のパスワードと対応付けられている第1の識別情報に関連付けて記憶部341に登録する。これにより、サーバ装置340において、被制御機器320の第1の識別情報と制御機器310の第2の識別情報との関連付けが達成される。
【0282】
なお、サーバ装置340の記憶部341に記憶される被制御機器320に関連する第1の識別情報は、サーバ装置340によって生成されたものでもよいし、被制御機器320から提供される自機器の識別情報であってもよい。また、サーバ装置340の記憶部341に記憶される制御機器310に関連する第2の識別情報も、サーバ装置340によって生成されたものでもよいし、制御機器310から提供される自機器の識別情報であってもよい。
【0283】
図36は図33に示した本発明のさらに別の変形例である。この変形例では、制御機器410はサービスサーバ430を介してサーバ装置440と接続される。サーバ装置440はネットワークを通じて、サービスサーバ430および被制御機器420と接続される。サービスサーバ430は、携帯電話などの制御機器410に対してネットワーク越しに被制御機器420にアクセスする各種のサービスを提供するサーバである。したがって、この変形例は上記の第1の実施形態および第2の実施形態に対応する。
【0284】
サーバ装置440は、サービスサーバ430を通じて制御機器410から送られてきたパスワード発行要求に応じて第1のパスワードを生成し、サービスサーバ430と制御機器410に関連する第1の識別情報とを対応付けて第1のパスワードを記憶部441に記憶し、第1のパスワードをサービスサーバ430を通じて制御機器410に送信する。制御機器410は、サービスサーバ430を通じてサーバ装置440より取得した第1のパスワードを被制御機器420に転送し、被制御機器420はこれを第2のパスワードとして保持する。
【0285】
被制御機器420は自機器の登録をサーバ装置440に要求する際に、第2のパスワードと被制御機器420に関連する第2の識別情報をサーバ装置440に送信する。サーバ装置440は、被制御機器420から受信した第2のパスワードが記憶部441に記憶されているか否かを検証し、第2のパスワードが記憶部441に記憶されている際に、被制御機器420に関連する第2の識別情報を、その第2のパスワードと同じ第1のパスワードと対応付けられている第1の識別情報に関連付けて記憶部441に登録する。これにより、サーバ装置440において、制御機器410の第1の識別情報と被制御機器420の第2の識別情報との関連付けが達成される。
【0286】
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【0287】
【図1】本発明の一の実施形態にかかるネットワークシステムの全体的な構成を示す図である。
【図2】図1のネットワークシステムにおいて制御機器とサービスとの組み合わせの登録と被制御機器の登録を行う際の情報の流れを示すシーケンス図である。
【図3】図2の登録時の制御機器の動作を示すフローチャートである。
【図4】図2の登録時のサービスサーバの動作を示すフローチャートである。
【図5】図2の登録時のダイレクトアクセス管理サーバの動作を示すフローチャートである。
【図6】図2の登録時のDVRの動作を示すフローチャートである。
【図7】図1のネットワークシステムにおいて被制御機器のXMPPログインおよびリモート録画予約時の情報の流れを示すシーケンス図である。
【図8】リモート録画予約に関する携帯電話の動作を示すフローチャートである。
【図9】リモート録画予約に関するサービスサーバの動作を示すフローチャートである。
【図10】被制御機器のXMPPログインおよびリモート録画予約およびコンテンツ取得に関するダイレクトアクセス管理サーバの動作を示すフローチャートである。
【図11】リモート録画予約およびコンテンツ取得に関するダイレクトアクセス管理サーバの動作を示すフローチャートである。
【図12】リモート録画予約およびコンテンツ取得に関するDVRの動作を示すフローチャートである。
【図13】図1のネットワークシステムにおいて携帯電話からのダイレクトでのリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
【図14】図1のネットワークシステムにおいて携帯電話からのトンネリングのリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
【図15】図1のネットワークシステムにおいて携帯電話からのダイレクトアクセスによるコンテンツ取得時の情報の流れを示すシーケンス図である。
【図16】サービスサーバからのダイレクトアクセスによるコンテンツ取得時の情報の流れを示すシーケンス図である。
【図17】コンテンツ取得時の携帯電話の動作を示すフローチャートである。
【図18】コンテンツ取得時のサービスサーバの動作を示すフローチャートである。
【図19】コンテンツ取得時のサービスサーバの動作を示すフローチャートである。
【図20】図1のネットワークシステムにおいてダイレクトアクセス終了時の情報の流れを示すシーケンス図である。
【図21】ダイレクトアクセス終了時のサービスサーバの動作を示すフローチャートである。
【図22】ダイレクトアクセス終了時のダイレクトアクセス管理サーバの動作を示すフローチャートである。
【図23】ダイレクトアクセス終了時のDVRの動作を示すフローチャートである。
【図24】Full JIDの構成を示す図である。
【図25】Full JIDの別の構成を示す図である。
【図26】第2の実施形態のネットワークシステムにおける携帯電話とサービスとの組み合わせの登録とDVRの登録を行う際の情報の流れを示すシーケンス図である。
【図27】図26の登録時の携帯電話の動作を示すフローチャートである。
【図28】図26の登録時のサービスサーバの動作を示すフローチャートである。
【図29】図26の登録時のダイレクトアクセス管理サーバのフローチャートである。
【図30】図26の登録時のダイレクトアクセス管理サーバの動作を示すフローチャートである。
【図31】図26の登録時のDVRの動作を示すフローチャートである。
【図32】サービスサーバを介さない携帯電話からのトンネリングのリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
【図33】本発明の特徴を概念的に示す図である。
【図34】本発明にかかるサーバ装置の変形例を示す図である。
【図35】本発明にかかるサーバ装置の別の変形例を示す図である。
【図36】本発明にかかるサーバ装置のさらに別の変形例を示す図である。
【符号の説明】
【0288】
10 携帯電話(制御機器)
11 記憶部
20 DVR(被制御機器)
21 記憶部
30 サービスサーバ
31 記憶部
40 ダイレクトアクセス管理サーバ
41 記憶部
42 SOAPサーバ
43 XMPPサーバ
50 ルータ
【技術分野】
【0001】
本発明は、第1の機器からネットワークを通じて第2の機器をアクセスすることを可能にするために、各機器を制御機器および被制御機器として関連付けて登録するサーバ装置、機器の登録方法、プログラム、および記録媒体に関するものである。
【背景技術】
【0002】
インターネット上の制御機器から家庭内の被制御機器にアクセスする方法として、DDNS(Dynamic Domain Name System)方式や、メール方式が挙げられる。
【0003】
DDNS方式は、家庭内の被制御機器が、DDNSサーバに自分のアドレスを登録しておき、インターネット側の制御機器からドメイン名およびポート番号の指定を受信することで、この制御機器のアクセスを可能とする仕組みである。
【0004】
リアルタイムのコミュニケーションを実現するためのプロトコルとしてXMPP(eXtensible Messaging and Presence Protocol)がある(非特許文献1を参照)。このXMPPを用いたリアルタイム・コミュニケーションの形態の1つがインスタント・メッセージング(IM)である(非特許文献2を参照)。インスタント・メッセージング(IM)では、インターネット上でIMクライアント(IM交換を行うことのできる仲間)がオンラインかどうかを調べ、オンラインであれば、そのIMクライアントとの間で、チャットやファイル交換などを行うことができる。
【0005】
また、他のコンピュータにあるデータやサービスを呼び出すためのプロトコルとしては、SOAP(Simple Object Access Protocol)がある(非特許文献3を参照)。SOAPによる通信では、XML(eXtensible Markup Language)文書にエンベロープと呼ばれる付帯情報が付いたメッセージをHTTP(Hyper Text Transfer Protocol)などのプロトコルで交換する。サービスを利用するクライアントとサービスを提供するサーバの双方がSOAPの生成・解釈エンジンを持つことで、異なる環境間でのオブジェクトの呼び出しを可能にしている。
【非特許文献1】「Extensible Messaging and Presence Protocol (XMPP): Core」, RFC3920, The Internet Engineering Task Force(IETF), 2004年10月
【非特許文献2】「Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence」, RFC3921, The Internet Engineering Task Force (IETF), 2004年10月
【非特許文献3】「SOAP Version 1.2」, W3C Recommendation, World Wide Web Consortium (W3C), 2003年6月
【発明の開示】
【発明が解決しようとする課題】
【0006】
DDNS方式では、あらかじめ制御機器に、アプリケーションに応じてドメイン名とポート番号との組み合わせを登録しておく必要がある。また、複数の被制御機器が家庭内に存在する場合、インターネット側に公開しているポートを固定的にするために、家庭内の被制御機器に対するアドレスおよびポートへのポートフォワードを、たとえば被制御機器などに対応するアプリケーション毎に固定的に設定する必要がある。この設定にかなりの手間がかかるという問題もある。さらに、ポートフォワードが設定されたポートは、常に開放されているので、セキュリティの脆弱を生む。
【0007】
すなわち、DDNS方式は、制御機器から家庭内の単一ポートにのみアクセスするWebサーバのようなアプリケーションを提供する装置が、1台しか存在しないような環境でしか有効ではない。
【0008】
メール方式は、制御機器から既存のメールクライアントのソフトで手軽に被制御機器にアクセスできるものの、被制御機器はメールサーバにポーリングを行ってメールを取得するため、最短でも数分程度のポーリング間隔が生じ、リアルタイム性が損なわれる。また、スパムメールなどのメールの脆弱性への対応を行う必要がある。
【0009】
本発明は、かかる実情を鑑み、第1の機器からネットワークを通じて第2の機器を制御するネットワークシステムにおいて、各機器の登録を簡単に行うことのできるサーバ装置、機器の登録方法、プログラム、および記録媒体を提供することを目的としている。
【課題を解決するための手段】
【0010】
上記の課題を解決するために、この発明のサーバ装置は、ネットワークを介して接続された第1の機器と第2の機器とを互いに関連付けて登録する処理を行うサーバ装置であって、情報を記憶する記憶手段と、前記第1の機器からのパスワード発行要求に応じて第1のパスワードを生成し、前記第1の機器に関連する第1の識別情報と対応付けて前記第1のパスワードを前記記憶手段に記憶し、前記第1のパスワードを前記第1の機器に送信する第1の処理手段と、前記第2の機器から送信された第2のパスワードを受信し、この受信した第2のパスワードが前記記憶部に記憶されているかを確認し、前記第2のパスワードが前記記憶手段に記憶されている場合に、前記第2の機器に関連する第2の識別情報を前記第1の識別情報に関連付けて前記記憶手段に記憶する第2の処理手段とを具備する。
【0011】
この発明のサーバ装置は、第1の機器に対して第1のパスワードを発行し、この第1のパスワードと、第1の機器に関連する第1の識別情報と対応付けて記憶手段に記憶する。第1の機器に対して発行した第1のパスワードは第1の機器から第2の機器へと転送される第2の機器に第2のパスワードとして保持される。サーバ装置は、第2の機器から送信された第2のパスワードを受信し、この受信した第2のパスワードが記憶手段に記憶されているかを確認し、第2のパスワードが記憶手段に記憶されている場合に、第2の機器に関連する第2の識別情報を第1の識別情報に関連付けて記憶手段に記憶する。したがって、この発明によれば、第1の機器はサーバ装置に対してパスワード発行要求を与え、第2の機器は第1の機器から第1のパスワードを取得してこれを第2のパスワードとしてサーバ装置に送信するだけで、第1の機器とこの第1の機器の制御対象である第2の機器とを関連付けて記憶することができる。
【0012】
また、本発明のサーバ装置において、第1の処理手段は、第1の機器に関連する第1の識別情報を生成し、生成した第1の識別情報と第1のパスワードとを対応付けて、記憶手段に記憶することとしてもよい。
【0013】
本発明のサーバ装置において、第1の機器は、第1の機器へのサービスを提供するサービスサーバ装置を介してサーバ装置に接続され、第1の処理手段は、第1の識別情報として、第1の機器とサービスサーバ装置に関連する識別情報を生成するようにしてもかまわない。この場合において、第1の処理手段は、第1の識別情報として、第1の機器とサービスサーバ装置で提供されるサービスとの組み合わせに対する識別情報を生成する。
【0014】
本発明のサーバ装置において、前記第2の装置の正当性を認証する機器認証処理を実行し、前記第2の機器の認証に必要な認証情報と関連付けた認証識別情報を生成し、生成した前記認証識別情報を前記第2の装置に対して送信する手段を更に具備し、前記第2の処理手段は、前記認証識別情報を、前記第2の識別情報として前記第1の識別情報に関連付けて前記記憶手段に記憶する。
本発明のサーバ装置において、前記第1の処理手段は、生成した前記第1のパスワードに有効期限を設定し、前記第2の処理手段は、前記有効期限をチェックし、前記有効期限が切れている場合には、前記第2の識別情報を前記第1の識別情報に関連付ける処理を行わない。
【0015】
本発明のサーバ装置において、前記第1の処理手段は、生成した前記第1のパスワードと前記第1のパスワードに設定された有効期限の情報とを前記第1の機器に送信する。
本発明のサーバ装置において、前記サーバ装置は、前記第1の識別情報に対して複数の前記第2の識別情報を関連付ける。
本発明のサーバ装置において、前記サーバ装置は、複数の前記第1の識別情報を前記第2の識別情報に関連付ける。
【0016】
本発明のサーバ装置において、前記第2の処理手段は、前記第2の識別情報を前記第1の識別情報に関連付けて記憶する際に、前記記憶手段に記憶されている前記第1のパスワードを消去する。
本発明のサーバ装置において、前記記憶手段に記憶された前記第1の識別情報と前記第2の識別情報との関連付けをもとに、前記第1の識別情報に関連付けられている前記第2の識別情報のリストを生成し、前記第1の機器に送信する手段をさらに具備する。
【0017】
本発明のサーバ装置において、前記第1の装置から、前記第2の装置への要求を受信したとき、前記第1の装置に関連する情報が前記第1の識別情報が前記第2の識別情報に関連付けて前記記憶手段に記憶されているかを判別し、前記前記第1の識別情報が前記第2の識別情報に関連付けて記憶されていない場合には、前記第1の装置にエラーを送信する。
【0018】
本発明のサーバ装置において、前記第1の装置から、前記第2の装置への要求を受信したとき、前記第1の装置に関連する情報が前記第1の識別情報が前記第2の識別情報に関連付けて前記記憶手段に記憶されているかを判別し、前記前記第1の識別情報が前記第2の識別情報に関連付けて記憶されている場合には、前記第2の装置に前記第1の装置からの要求を送信する。
【発明の効果】
【0019】
本発明によれば、第1の機器からネットワークを通じて第2の機器を制御するネットワークシステムにおいて、各機器の登録を簡単に行うことのできるサーバ装置、機器の登録方法、プログラム、および記憶媒体を提供することができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施の形態を図面に基づき説明する。
【0021】
(第1の実施形態)
図1は本発明の一の実施形態にかかるネットワークシステムの全体的な構成を示す図である。
【0022】
このネットワークシステムは、制御機器としての携帯電話10、被制御機器としてのDVR(Digital Video Recorder)20、サービスサーバ30、ダイレクトアクセス管理サーバ40、およびルータ50を有している。
【0023】
携帯電話10は、被制御機器を制御する制御機器として動作するものである。制御機器は、被制御機器を制御するものであれば何でもよく、たとえば、PC(Personal Computer)、PDA(Personal Digital Assistance)などであってよい。
【0024】
携帯電話10は、電話機能部のほか、プログラムなどを記憶するメインメモリ、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPU(Central Processing Unit)、ネットワークとのインタフェース部、DVR20とのインタフェース部、キー入力部や表示部などのユーザインタフェース部、不揮発性の記憶部11などを備える。この記憶部11には、この携帯電話10に登録されているユーザ識別情報が記憶されている。メインメモリには、電話機能部を動作させるためのプログラムのほか、サービスサーバ30への自機器の登録、コンテンツのリモート録画予約、コンテンツ取得などに関する処理を行うためのプログラムなどが記憶されている。
【0025】
DVR20は、放送番組などのコンテンツをメディアに録画したり再生したりする録画再生機能部のほか、プログラムなどを記憶するメインメモリ、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPU、ネットワークとのインタフェース部、携帯電話10とのインタフェース部、不揮発性の記憶部21、リモコン受信部、TVなどを接続するためのインタフェース部などを備える。この記憶部21には、被制御機器に固定的に割り当てられた機器認証情報が予め記憶されている。メインメモリには、DVR20の録画再生機能部を制御するためのプログラムのほか、ダイレクトアクセス管理サーバ40への被制御機器の登録、コンテンツのリモート録画予約、コンテンツ取得などに関する処理を行うためのプログラムなどが記憶されている。なお、この実施の形態ではDVR20を被制御機器としたが、ネットワーク接続機能を有する機器であれば何でもよい。たとえば、テレビでもよい。
【0026】
サービスサーバ30は、携帯電話10などの制御機器に対してネットワーク越しに被制御機器にアクセスする各種のサービスを提供するサーバである。このサービスサーバ30は、たとえば、キーボード・マウスなどの入力部と、表示部と、プログラムなどを記憶するメインメモリと、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPUと、ネットワークとの通信部と、記憶部31とを備えた、たとえば定型的なコンピュータシステムを用いて実現される。メインメモリには、コンピュータシステムを動作させるために必要な基本的なプログラムのほか、サービスを実行するために必要なプログラムなどが記憶されている。記憶部31には、サービスサーバ30が提供する個々のサービスごとにサービスサーバ及びサービスを識別するためのServiceIDが記憶されている。
【0027】
ダイレクトアクセス管理サーバ40は、制御機器と、サービスサーバ30のサービスとの組み合わせと被制御機器との対応を管理するサーバである。このダイレクトアクセス管理サーバ40は、たとえば、キーボード・マウスなどの入力部と、表示部と、プログラムなどを記憶するメインメモリと、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPUと、ネットワークとのインタフェース部と、記憶部41とを備えた、たとえば定型的なコンピュータシステムを用いて実現される。メインメモリには、コンピュータシステムを動作させるために必要な基本的なプログラムのほか、コンピュータシステムをダイレクトアクセス管理サーバとして機能させるためのプログラムなどが記憶されている。
【0028】
ダイレクトアクセス管理サーバ40には、SOAP(Simple Object Access Protocol)サーバ42およびXMPP(eXtensible Messaging and Presence Protocol)サーバ43が設けられている。SOAPサーバ42は、制御機器とサービスの組み合わせの登録、被制御機器の登録、サービスサーバに対するダイレクトアクセスを行うための情報の授受などに関する処理を行うためのサーバである。XMPPサーバ43は、被制御機器であるDVR20との間で双方向の常時接続セッションを設定するためのサーバである。なお、SOAPサーバ及びXMPPサーバは、一実施例を示したものであり、SOAPサーバは他のAPI呼び出し方式を用いたサーバに、XMPPサーバは他のIMの方式を用いたサーバに、それぞれ置き換え可能である。
【0029】
次に、各機器のインタフェースについて説明する。図1において[IF-**]はインタフェース番号を示している。
【0030】
ダイレクトアクセス管理サーバ40のSOAPサーバ42は、サービスサーバ30からアクセスされるインタフェース[IF-02]と、DVR20からアクセスされるインタフェース[IF-00,IF-04]とを有する。SOAPサーバ42にはSOAPクライアント機能も含まれており、サービスサーバ30側のインタフェース[IF-05]へのアクセスを行う。XMPPサーバ43のインタフェースは、XMPPセッションの確立を行う際にXMPPクライアントからアクセスされる。本システム構成例では、DVR20からアクセスされるインタフェース[IF-06]がこれに該当し、XMPPセッション確立後はこのインタフェース[IF-06]を用いて双方向にメッセージをやり取りできるため、XMPPサーバ43からもDVR20のインタフェース[IF-07]にアクセスすることができる。また、ダイレクトアクセス管理サーバ40は、サービスサーバ30に対して、後述するXMPPトンネリング時に提供するダイレクトアクセス用URI(Uniform Resource Identifier)のインタフェース[IF-10]も有する。
【0031】
サービスサーバ30は、携帯電話10からアクセスされるインタフェース[IF-01]とダイレクトアクセス管理サーバ40からアクセスされるインタフェース[IF-05]を有する。
【0032】
なお、このシステム構成例では、サービスサーバ30はダイレクトアクセス管理サーバ40のXMPPサーバ43と直接インタフェースしていないが、もちろん直接インタフェースするように構成してもよい。
【0033】
DVR20は、ダイレクトアクセス管理サーバ40からアクセスされるXMPPセッション確立後のインタフェース[IF-07]と、携帯電話10との間で例えば赤外線やUSB(Universal Serial Bus)などでデータを送受信するためのインタフェース[IF-03]と、サービスサーバ30もしくは携帯電話10からアクセスされるダイレクトアクセス用URIに対応したインタフェース[IF-09]とを有している。
【0034】
ルータ50は、DVR20からアクセスされる、UPnP(Universal Plug and Play)IGD(Internet Gateway Device)機能のインタフェース[IF-08]を有する。
【0035】
次に、この実施形態のネットワークシステムの動作を説明する。以下の説明において<X-XX>は要求、<X-XXR>は<X-XX>に対する応答を示す。
【0036】
[1.制御機器・サービス、被制御機器の登録]
【0037】
最初に、携帯電話10(制御機器)とサービスとの組み合わせ毎に発行される制御機器・サービス管理IDと、ダイレクトアクセス管理サーバ40内で個々のDVR20(被制御機器)に対してユニークに発行される被制御機器管理IDとの紐付けを行う動作を説明する。
【0038】
図2は携帯電話10とサービスとの組み合わせの登録とDVR20の登録を行う際の情報の流れを示すシーケンス図である。図3はこの登録時の携帯電話10のフローチャートである。図4はこの登録時のサービスサーバ30のフローチャートである。図5は登録時のダイレクトアクセス管理サーバ40のフローチャートである。図6はこの登録時のDVR20のフローチャートである。
【0039】
[1-1.制御機器とサービスとの組み合わせの登録]
【0040】
まず、携帯電話10は、ユーザからの被制御機器登録の指示を受け(図3:ステップS301)、ユーザ識別情報を含む被制御機器登録要求<R-1>をサービスサーバ30に発行する(図3:ステップS302)。
【0041】
サービスサーバ30は、ユーザ識別情報を含む被制御機器登録要求<R-1>を受信すると(図4:ステップS401)、そのユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されているかどうかを判断する(図4:ステップS402)。
【0042】
ユーザ識別情報に対応する制御機器・サービス管理IDが記憶されていない場合、サービスサーバ30は、ユーザ識別情報を記憶部31に保存し(図4:ステップS403)、あらかじめ自身に割り当てられているServiceIDを含む制御機器・サービス管理ID取得要求<R-2>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に対して発行する(図4:ステップS404)。制御機器・サービス管理IDは、サービス事業者が提供する個々のサービスと制御機器との組み合わせに対してユニークに割り当てられるIDである。
【0043】
SOAPサーバ42は、制御機器・サービス管理ID取得要求<R-2>を受信すると(図5:ステップS501)、これに含まれているServiceIDが、ダイレクトアクセス管理サーバ40の記憶部41にあらかじめ登録されているServiceIDと一致するかどうかを調べ(図5:ステップS502)、一致しない場合には、サービスサーバ30にServiceIDが未登録であることを示すエラーコードを制御機器・サービス管理ID取得応答<R-2R>として送信する(図5:ステップS506)。ServiceIDが一致する場合には、SOAPサーバ42は、新規の制御機器・サービス管理IDを発行して(図5:ステップS503)、この制御機器・サービス管理IDとServiceIDとの対応関係を記憶部41に登録し(図5:ステップS504)、その制御機器・サービス管理IDをサービスサーバ30に制御機器・サービス管理ID取得応答<R-2R>として送信する(図5:ステップS505)。これにより、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス管理サーバ40からみて制御側を、制御機器である携帯電話10と、携帯電話10が利用するサービスサーバ30のサービスとを組み合わせで識別することができるようになる。
【0044】
サービスサーバ30は、制御機器・サービス管理ID取得応答<R-2R>として制御機器・サービス管理IDを受信すると(図4:ステップS405)、この制御機器・サービス管理IDをユーザ識別情報と対応付けて記憶部31に登録する(図4:ステップS406)。制御機器・サービス管理IDをユーザ識別情報と対応付けて記憶することにより、サービスサーバ30は、以降、携帯電話10からアクセスされた際に、携帯電話10のユーザ識別情報に対応する制御機器・サービス管理IDを用いて、ダイレクトアクセス管理サーバ40に処理を要求することにより、制御機器である携帯電話10とサービスサーバ30のサービスとの組み合わせの制御側として、ダイレクトアクセス管理サーバ40に制御要求元を一意に識別させることが可能となる。
【0045】
サービスサーバ30は、制御機器・サービス管理IDをユーザ識別情報と対応付けて記憶部31に登録した後、または、携帯電話10から受信した被制御機器登録要求<R-1>に含まれるユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に登録されている場合、それら制御機器・サービス管理IDおよびServiceIDを含む被制御機器登録用パスワード取得要求<R-3>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に対して発行する(図4:ステップS407)。
【0046】
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、被制御機器登録用パスワード取得要求<R-3>を受信すると(図5:ステップS507)、これに含まれている制御機器・サービス管理IDおよびServiceIDの組み合わせが記憶部41に登録されているかどうかを判断する(図5:ステップS508)。登録されていない場合、SOAPサーバ42は、サービスサーバ30に制御機器・サービス管理IDとServiceIDの組み合わせが未登録であることを示すエラーコードを被制御機器登録用パスワード取得応答<R-3R>として送信する(図5:ステップS512)。また、被制御機器登録用パスワード取得要求<R-3>に含まれている制御機器・サービス管理IDおよびServiceIDの組み合わせが記憶部41に既に登録されている場合、SOAPサーバ42は、被制御機器登録用パスワードを新たに生成し(図5:ステップS509)、この被制御機器登録用パスワードとこの被制御機器登録用パスワードに対して決められた有効期限に関する情報を被制御機器登録用パスワード取得要求<R-3>に含まれていた制御機器・サービス管理IDおよびServiceIDと対応付けて記憶部41に登録する(図5:ステップS510)。この後、SOAPサーバ42は、被制御機器登録用パスワードと、この被制御機器登録用パスワードの有効期限の情報を被制御機器登録用パスワード取得応答<R-3R>としてサービスサーバ30に送信する(図5:ステップS511)。
【0047】
サービスサーバ30は、被制御機器登録用パスワード取得応答<R-3R>を受信すると(図4:ステップS408)、この被制御機器登録用パスワード取得応答<R-3R>に含まれている被制御機器登録用パスワードとその有効期限の情報を被制御機器登録応答<R-4>として携帯電話10に送信する(図4:ステップS409)。
【0048】
携帯電話10は、この被制御機器登録応答<R-4>を受信すると(図3:ステップS303)、これに含まれている被制御機器登録用パスワードとその有効期限の情報を記憶部11に保存する(図3:ステップS304)。
【0049】
以上により、携帯電話10とサービスとの組み合わせに対する制御機器・サービス管理IDの登録処理と被制御機器を制御機器に関連付けるために用いられる被制御機器登録用パスワードの発行処理が完了となる。
【0050】
[1-2.被制御機器の登録]
【0051】
次に被制御機器であるDVR20の登録時の動作を説明する。
【0052】
DVR20は、ユーザによる利用前にダイレクトアクセス管理サーバ40において自身の機器認証を次のように行う。
【0053】
まず、DVR20は自動接続フラグの値をチェックする(図6:ステップS601)。被制御機器のダイレクトアクセス管理サーバ40への登録前には自動接続フラグの値はオフである。この場合DVR20は自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R-0>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図6:ステップS602)。
【0054】
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、DVR20からの機器認証要求<R-0>を受信すると(図5:ステップS513)、このDVR20が正当な機器であるかどうかを、機器認証要求<R-0>に含まれる認証方式の情報および機器認証情報に基づき判定する(図5:ステップS514)。不当な機器として判定された場合、すなわち、認証方式があらかじめ決められている認証方式と異なる場合や機器認証情報があらかじめ決められている認証方式の形式と異なる場合等には、SOAPサーバ42は、機器認証に失敗したことを示すエラーコードを機器認証応答<R-0R>としてDVR20に送信する(図5:ステップS515)。正当な機器であることが判定された場合、すなわち、認証方式があらかじめ決められている認証方式と一致し、かつ機器認証情報があらかじめ決められている認証方式の形式である場合には、SOAPサーバ42は、そのDVR20に対して割り当てる機器認証継続IDを生成して(図5:ステップS516)、この機器認証継続IDと、機器認証要求<R-0>に含まれる機器認証情報とを対応付けて記憶部41に保存する(図5:ステップS517)。この後、SOAPサーバ42は、上記の生成した機器認証継続IDとその有効期限の情報を含む機器認証応答<R-0R>をDVR20へ送信する(図5:ステップS518)。機器認証継続IDは、ダイレクトアクセス管理サーバ40で機器認証が完了している機器に対して割り当てられる識別情報であり、この識別情報によって、ダイレクトアクセス管理サーバ40は、被制御機器であるDVR20の機器の認証状況を確認することが可能となる。
【0055】
DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42から、機器認証継続IDとその有効期限の情報とを含む機器認証応答<R-0R>を受信すると(図6:ステップS603)、この機器認証応答<R-0R>に含まれる機器認証継続ID、その有効期限の情報を機器認証情報と対応付けて記憶部21に保存する(図6:ステップS604)。
【0056】
この後、DVR20は、記憶部21に被制御機器登録用パスワードが保存されているかどうかを判断する(図6:ステップS605)。被制御機器登録用パスワードが保存されていない場合には動作を終了し、被制御機器登録用パスワードが保存されている場合にはステップS609へ移行する。機器認証継続IDを取得した直後は被制御機器登録用パスワードが保存されていないので、この場合には動作を終了することとなる。ここまでにおいて、被制御機器であるDVR20は機器認証継続ID、機器認証継続IDの有効期限の情報、機器認証情報の組み合わせを記憶部21に記憶し、ダイレクトアクセス管理サーバ40は機器認証継続IDと機器認証情報との組み合わせを記憶部41に記憶している。
【0057】
[1-3.制御機器・サービス管理IDと被制御機器管理IDとの紐付け]
【0058】
次に、制御機器・サービス管理IDと被制御機器管理IDとを関連付けてダイレクトアクセス管理サーバ40に登録する動作を行う。携帯電話10において、ユーザからのワンタイムパスワード送信要求が入力される(図3:ステップS305)。携帯電話10は、このユーザからのワンタイムパスワード送信要求を受けると記憶部11に記憶されている被制御機器登録用パスワードを、例えば、赤外線やUSBなどのインタフェース[IF-03]を使って、被制御機器であるDVR20にワンタイムパスワード<R-5>として渡す(図3:ステップS306)。被制御機器登録用パスワードの渡し方は、他にも、非接触ICカードを介した受け渡し、Bluetooth(商標)、無線LANなどによる無線伝送など様々な方式が想定されるが、制御機器である携帯電話10から被制御機器であるDVR20に対して被制御機器登録用パスワードを渡すことができさえすればどのような渡し方であっても構わない。この後、携帯電話10は記憶部11から被制御機器登録用パスワードを消去する(図3:ステップS307)。
【0059】
DVR20は、携帯電話10から被制御機器登録用パスワード<R-5>を受信すると(図6:ステップS607)、この被制御機器登録用パスワードを記憶部21に保存する(図6:ステップS608)。続いて、DVR20は、記憶部21に記憶されている機器認証継続IDと、携帯電話10より受信した被制御機器登録用パスワードを含む被制御機器登録要求<R-6>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図6:ステップS609)。これによりDVR20は、ダイレクトアクセス管理サーバ40に、被制御機器登録用パスワードを送信してきた携帯電話10と関連付けて登録することを要求する。
【0060】
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、DVR20から被制御機器登録要求<R-6>を受信すると(図5:ステップS519)、この被制御機器登録要求<R-6>に含まれる機器認証継続IDが記憶部41に保存されているものと一致するかどうかのチェックと機器認証継続IDの有効期限のチェックを行う(図5:ステップS520)。これらのチェックでNGが判定された場合、すなわち機器認証継続IDが一致しないか、もしくは機器認証継続IDの有効期限が切れている場合には、機器認証が必要であることを示すエラーコードを含む被制御機器登録応答<R-6R>をDVR20へ送信する(図5:ステップS528)。DVR20は、このエラーコードを含む被制御機器登録応答<R-6R>を受信すると(図6:ステップS622)、ステップS602に戻って機器認証のための処理を繰り返す。
【0061】
また、SOAPサーバ42は、ステップS520のチェック結果がOKの場合、すなわち機器認証継続IDが記憶部41に記憶されているものと一致し、かつ機器認証継続IDの有効期限が切れていない場合、DVR20から受信した被制御機器登録要求<R-6>に含まれる被制御機器登録用パスワードが記憶部41に保存されているものと一致するかどうかのチェックとその被制御機器登録用パスワードの有効期限のチェックを行う(図5:ステップS521)。これらのチェックでNGが判定された場合、すなわち被制御機器登録用パスワードが一致しないか、もしくは被制御機器登録用パスワードの有効期限が切れている場合、SOAPサーバ42は、被制御機器登録要求<R-6>に含まれる被制御機器登録用パスワードが無効であることを示すエラーコードを被制御機器登録応答<R-6R>としてDVR20へ送信する(図5:ステップS527)。DVR20は、このエラーコードを被制御機器登録応答<R-6R>として受信すると(図6:ステップS620)、DVR20に接続されたTVの画面等を通して、被制御機器登録用パスワードの再取得を行うように、ユーザに対してエラーメッセージの表示を行って(図6:ステップS621)、処理を終了する。
【0062】
また、SOAPサーバ42は、ステップS521のチェック結果がOKの場合、すなわち被制御機器登録用パスワードが記憶部41に記憶されているものと一致し、かつ被制御機器登録用パスワードの有効期限が切れていない場合には、記憶部41に記憶されている情報を参照して、被制御機器登録要求<R-6>に含まれている機器認証継続IDに被制御機器管理IDが割り当てられているかどうかの判断を行う(図5:ステップS521-1)。機器認証継続IDに対応する被制御機器管理IDがまだ割り当てられていない場合、SOAPサーバ42は、そのDVR20に対して被制御機器管理IDを割り当て(図5:ステップS522)、この割り当てた被制御機器管理IDを、そのDVR20の機器認証情報および機器認証継続IDと対応付けて記憶部41に保存する(図5:ステップS523)。被制御機器登録要求<R-6>に含まれている機器認証継続IDに被制御機器管理IDがすでに割り当てられている場合には、SOAPサーバ42は被制御機器管理IDを、記憶部41に該被制御機器登録用パスワードと対応付けられて保存されている制御機器・サービス管理IDと関連付けて記憶部41に保存する(図5:ステップS523-1)。ここで、被制御機器管理IDとは、被制御機器に対してダイレクトアクセス管理サーバ40内でユニークに割り当てられる識別情報である。これによって、制御機器とサービスとの組み合わせに対して割り当てられた制御機器・サービス管理IDと、被制御機器に対して割り当てられた被制御機器管理IDとの紐付けが行われる。この紐付けは、1つの制御機器・サービス管理IDに対して複数の被制御機器管理IDが紐付けされても、逆に複数の制御機器・サービス管理IDが1つの被制御機器管理IDに紐付けされても構わない。
【0063】
次にSOAPサーバ42は、現在紐付けが完了しているサービスの数を被制御機器登録応答<R-6R>としてDVR20へ送信する(図5:ステップS524)。次に、SOAPサーバ42は、記憶部41に保存されているServiceID、制御機器・サービス管理ID、被制御機器登録用パスワードを含む被制御機器登録完了通知<R-7>をサービスサーバ30に送信する(図5:ステップS525)。この後、SOAPサーバ42は、記憶部41の被制御機器登録用パスワードを消去し(図5:ステップS526)、処理を終了する。また、サービスサーバ30は、SOAPサーバ42より被制御機器登録完了通知<R-7>を受信すると(図4:ステップS410)、被制御機器の登録が完了したことを携帯電話10に通知する(図4:ステップS411)。被制御機器の登録が完了したことをサービスサーバ30から携帯電話10に通知する方法としては、たとえば、電子メールや、携帯電話10との間でその他の方法で通信を行うために用意されたアプリケーション等がある。
【0064】
DVR20は、SOAPサーバ42より現在紐付けが完了しているサービスの数を被制御機器登録応答<R-6R>として受信すると(図6:ステップS610)、自動接続フラグをオンにセットし(図6:ステップS611)、被制御機器の登録が完了したことを表すメッセージを表示する(図6:ステップS612)。続いて、DVR20は、記憶部21に保存されている被制御機器登録用パスワードを消去する(図6:ステップS613)。その後、DVR20は、ダイレクトアクセス管理サーバ40のXMPPサーバ43との間で常時接続セッションを確立するために、機器認証継続IDを含むXMPPログイン情報取得要求<D-0-1>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図6:ステップS614)。
【0065】
[2.被制御機器のXMPPログイン]
【0066】
このネットワークシステムでは、ダイレクトアクセス管理サーバ40に、被制御機器との間で双方向の常時接続セッションを設定するためのXMPPサーバ43を置いている。制御機器である携帯電話10から被制御機器であるDVR20にネットワークを通じてアクセスするために、その前にDVR20がXMPPサーバ43にログインしてXMPPサーバ43の間で常時接続セッションを確立しておく。これにより、サービスサーバ30や携帯電話10は、必要なときには、DVR20から必要な情報を取得できる。また、この際のサービスサーバ30の設計を簡単にするために、XMPPプロトコルをダイレクトアクセス管理サーバ40内に隠蔽し、SOAPインタフェースだけで、DVR20と双方向の常時接続セッションを設定しているXMPPサーバ43との情報のやり取りを行えるようにしている。
【0067】
図7の一部は被制御機器のXMPPログインに関する情報の流れを示すシーケンス図、図10の一部は被制御機器のXMPPログインに関するダイレクトアクセス管理サーバ40の動作を示すフローチャートである。
【0068】
これらの図に示されるように、ダイレクトアクセス管理サーバ40は、DVR20より機器認証継続IDを含むXMPPログイン情報取得要求<D-0-1>を受信すると(図10:ステップS1001)、このXMPPログイン情報取得要求<D-0-1>に含まれている機器認証継続IDと機器認証継続IDの有効期限のチェックを行う(図10:ステップS1002)。このチェックでXMPPログイン情報取得要求<D-0-1>に含まれている機器認証継続IDが、ダイレクトアクセス管理サーバ40の記憶部41に記憶されているものと一致しない場合、もしくは、有効期限が切れている場合には、DVR20が正常にダイレクトアクセス管理サーバ40に登録されていないか、もしくは、過去に登録されていたが登録時の機器認証継続IDの有効期限が切れているのかであるため、機器認証が必要であることを示すエラーコードをXMPPログイン情報取得応答<D-0-1R>としてDVR20に送信する(図10:ステップS1003)。機器認証継続IDが記憶部41に記憶されており、かつ機器認証継続IDの有効期限が切れていない場合、ダイレクトアクセス管理サーバ40は、記憶部41から、当該機器認証継続IDに紐付けられている被制御機器管理ID及び機器認証情報を検索し(図10:ステップS1004)、これら被制御機器管理IDと機器認証情報から、DVR20がXMPPサーバ43にログインするために必要なXMPPログインIDであるFull JID(D)、XMPPログインパスワードおよびXMPPログインパスワードの有効期限の情報を生成し(図10:ステップS1005)、これらを記憶部41に保存する(図10:ステップS1006)。そして、ダイレクトアクセス管理サーバ40は、生成したFull JID(D)、XMPPログインパスワードおよびその有効期限の情報に、XMPPアドレスおよびポート番号、認証方式の情報、SSL(Secure Socket Layer)オプションを加えた情報をXMPPログイン情報取得応答<D-0-1R>としてDVR20に送信する(図10:ステップS1007)。
【0069】
DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からFull JID(D)、XMPPログインパスワード等を含むXMPPログイン情報取得応答<D-0-1R>を受信すると(図6:ステップS615)、Full JID(D)、XMPPログインパスワードを含むXMPPログイン認証要求<D-0-2>を、ダイレクトアクセス管理サーバ40内のXMPPサーバ43に送信する(図6:ステップS616)。
【0070】
ダイレクトアクセス管理サーバ40内のXMPPサーバ43は、DVR20よりXMPPログイン認証要求<D-0-2>を受信すると(図10:ステップS1008)、このXMPPログイン認証要求<D-0-2>に含まれているFull JID(D)、XMPPログインパスワードおよびXMPPログインパスワードの有効期限のチェックを行い(図10:ステップS1009)、Full JID(D)が記憶部41に記憶されているものと一致しない、または、XMPPログインパスワードが記憶部41に記憶されているものと一致しない、または、XMPPログインパスワードの有効期限が切れている場合には、XMPPログイン失敗を示すエラーコードをXMPPログイン認証応答<D-0-1R>としてDVR20に送信する(図10:ステップS1010)。また、Full JID(D)。XMPPログインパスワードおよび有効期限のチェックがすべてOKならば、ダイレクトアクセス管理サーバ40内のXMPPサーバ43は、XMPPログイン許可を示すコードをXMPPログイン認証応答<D-0-2R>としてDVR20に送信する(図10:ステップS1011)。
【0071】
DVR20は、ダイレクトアクセス管理サーバ40よりXMPPログイン失敗を示すエラーコードをXMPPログイン認証応答<D-0-2R>として受信すると(図6:ステップS619)、ステップS614に戻って、再度XMPPログイン情報の取得要求を行う。すなわち、XMPPログインパスワードの有効期限が切れている可能性があるため、再度、XMPPログイン情報の取得要求処理を行う。また、ダイレクトアクセス管理サーバ40よりXMPPログイン許可を示すコードをXMPPログイン認証応答<D-0-2R>として受信すると(図6:ステップS618)、DVR20は、XMPPログイン処理が完了する。
【0072】
なお、DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42より、機器認証が必要であることを示すエラーコードをXMPPログイン情報取得応答<D-0-1R>として受信した場合には(図6:ステップS617)、自機が正常にダイレクトアクセス管理サーバ40に登録されていないか、もしくは、機器認証継続IDの有効期限が切れている可能性があるため、再度、自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R-0>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信して自身の機器認証をやりなおす(図6:ステップS602)。
【0073】
上記のように、このネットワークシステムでは、ダイレクトアクセス管理サーバ40にて、DVR20がXMPPサーバ43にログインするために必要なXMPPログインID(Full JID(D))及びXMPPログインパスワードをそれぞれ生成し、DVR20へ配布している。このFull JID(D)は、たとえば図24に示すように、Bare JID部とResource部とで構成される。Bare JID部には被制御機器に割り当てられた被制御機器管理IDが用いられ、Resource部には機器認証情報から得た製品コード及びシリアルナンバーが用いられている。また、図25に示すように、Resource部には制御機器とサービスの組み合わせを識別するための制御機器・サービス管理IDを用いてもよい。
【0074】
ところで、ステップS611で自動接続フラグがオンにセットされることにより、DVR20は次回の接続時、例えばDVR20の電源が一旦オフされその後に再投入された時、或いはXMPPサーバ43とのセッション切断後のセッションの再確立の時には、ステップS601の自動接続フラグのチェックの後、ステップS614のXMPPログイン情報取得要求<D-0-1>の送信から処理を開始する。すなわち、DVR20は再接続時には機器認証のための処理、携帯電話10からの被制御機器登録用パスワードの取得、被制御機器登録のための処理をスキップしてXMPPログインのための処理に入る。これにより、DVR20は再接続時には、XMPPログインのための処理を行うだけで、XMPPサーバ43の間での接続セッションを確立することができる。
【0075】
以上で、制御機器である携帯電話10の制御対象として、被制御機器であるDVR20を関連付けるための処理が完了する。以下では、関連付けられた2つの機器の間で、携帯電話10がDVR20を制御する際の具体的な処理に関して説明する。
【0076】
[3.リモート録画予約]
【0077】
DVR20へのリモート録画予約の動作を説明する。
【0078】
図7の一部はリモート録画予約時の情報の流れを示すシーケンス図、図8はリモート録画予約に関する携帯電話10の動作を示すフローチャート、図9はリモート録画予約に関するサービスサーバ30の動作を示すフローチャート、図10と図11はリモート録画予約およびコンテンツ取得に関するダイレクトアクセス管理サーバ40の動作を示すフローチャート、図12はリモート録画予約およびコンテンツ取得に関するDVR20の動作を示すフローチャートである。
【0079】
携帯電話10のユーザから、リモート録画予約サービスを受信するために、ダイレクトアクセス利用開始の指示が携帯電話10に与えられると(図8:ステップS801)、携帯電話10は自身に予め設定されているユーザ識別情報を含む被制御機器リスト取得要求<D-1>をサービスサーバ30に送信する(図8:ステップS802)。
【0080】
サービスサーバ30は、携帯電話10より被制御機器リスト取得要求<D-1>を受信すると(図9:ステップS901)、この被制御機器リスト取得要求<D-1>に含まれるユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されているかどうかを判定する(図9:ステップS902)。ユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されていない場合、サービスサーバ30は、被制御機器の登録が必要であることを示すエラーコードを被制御機器リスト取得応答<D-3>として携帯電話10に送信する(図9:ステップS903)。ユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されている場合は、ダイレクトアクセス管理サーバ40に管理されている制御機器・サービス管理IDに関連付けられている被制御機器の一覧を取得するために、サービスサーバ30は、サービスを識別する情報であるServiceIDおよび制御機器・サービス管理IDを含む被制御機器リスト取得要求<D-2>をダイレクトアクセス管理サーバ40に送信する(図9:ステップS904)。
【0081】
ダイレクトアクセス管理サーバ40は、サービスサーバ30からの被制御機器リスト取得要求<D-2>を受信すると(図10:ステップS1012)、この被制御機器リスト取得要求<D-2>に含まれるServiceIDおよび制御機器・サービス管理IDの組み合わせが記憶部41に記憶されているかどうかを判定し(図10:ステップS1013)、もし記憶されていない場合には、未登録であることを示すエラーコードを被制御機器リスト取得応答<D-2R>としてサービスサーバ30に送信する(図10:ステップS1014)。サービスサーバ30は、ダイレクトアクセス管理サーバ40から未登録であることを示すエラーコードを被制御機器リスト取得応答<D-2R>として受信した場合は(図9:ステップS905)、被制御機器の登録が必要であることを示すエラーコードを被制御機器リスト取得応答<D-3>として携帯電話10に送信する(図9:ステップS906)。携帯電話10は、サービスサーバ30よりエラーコードを被制御機器リスト取得応答<D-3>として受信する場合(図8:ステップS803)、サービス対象の被制御機器の登録が必要であることを示すエラーメッセージを、表示部を通じてユーザに表示する(図8:ステップS804)。
【0082】
また、ステップS1013の判定で、被制御機器リスト取得要求<D-2>に含まれるServiceIDおよび制御機器・サービス管理IDの組み合わせが記憶部41に記憶されていることが判定された場合、ダイレクトアクセス管理サーバ40は、記憶部41に記憶されている制御機器・サービス管理IDと被制御機器管理IDとの紐付け内容に従って、携帯電話10から制御可能な被制御機器の被制御機器管理IDに対して改めて振り直した番号と被制御機器の機器認証情報に含まれる機器名称等からなる一覧を被制御機器リストとして生成し、この被制御機器リストを制御機器・サービス管理IDと対応付けて記憶部41に保存するとともに、この被制御機器リストを含む被制御機器リスト取得応答<D-2R>をサービスサーバ30に送信する(図10:ステップS1015)。サービスサーバ30が、ダイレクトアクセス管理サーバ40から被制御機器リストを含む被制御機器リスト取得応答<D-2R>を受信した場合は(図9:ステップS907)、この被制御機器リストを含む被制御機器リスト取得応答<D-3>を携帯電話10に送信する(図9:ステップS908)。
【0083】
携帯電話10は、被制御機器リストを含む被制御機器リスト取得応答<D-3>を受信した場合は(図8:ステップS805)、その被制御機器リストに複数の被制御機器の番号が存在するかどうかを判定する(図8:ステップS806)。複数の被制御機器の番号が存在する場合には、携帯電話10は、その被制御機器リストの内容を表示部に表示して(図8:ステップS807)、ユーザにその中から1つの被制御機器の番号を選択させ(図8:ステップS808)、その選択された被制御機器の番号を記憶部11に保存する(図8:ステップS809,S811)。複数の被制御機器が存在しない場合には、その一つの被制御機器の番号を記憶部11に保存する(図8:ステップS810,S811)。
【0084】
次に、携帯電話10は、これから利用するサービス(リモート録画予約)が携帯電話10から被制御機器に対してダイレクトアクセス可能なサービスか否かによって処理を分岐する(図8:ステップS812)。携帯電話10からダイレクトアクセス可能なサービスを利用する場合は、携帯電話10は、記憶部11に記憶されているユーザ識別情報、被制御機器の番号、携帯ダイレクトフラグ(オン)を含む新規リモート録画予約要求<D-4>をサービスサーバ30に送信する(図8:ステップS813)。ここで、携帯ダイレクトフラグの値は、携帯電話10からダイレクトアクセス可能なサービスを利用する場合にはオンにセットされ、携帯電話10からダイレクトアクセスが不可なサービスを利用する場合にはオフにセットされる。したがって、携帯電話10からダイレクトアクセス不可なサービスを利用する場合は、携帯電話10は、ユーザ識別情報、録画予約番組情報、被制御機器の番号、携帯ダイレクトフラグ(オフ)を含む新規リモート録画予約要求<D-4>をサービスサーバ30に送信する(図8:ステップS814)。録画予約番組情報は、たとえば、録画開始時間、番組長、放送種別、チャンネル、強制予約フラグなどの情報で構成される。
【0085】
サービスサーバ30は、携帯電話10から新規リモート録画予約要求<D-4>を受信すると(図9:ステップS909)、利用可能なXMPPセッションID、すなわち新規リモート録画予約要求<D-4>に含まれる携帯電話10のユーザ識別情報に関連付けられてXMPPサーバ43との間で確立されている接続セッションを識別するIDが記憶部31に記憶されているか否かを調べる(図9:ステップS910)。利用可能なXMPPセッションIDが記憶されていない場合には、サービスサーバ30は、XMPPサーバ43とXMPPセッションを確立するために、ServiceID、制御機器・サービス管理ID、被制御機器の番号を含むXMPPログイン要求<D-5>をダイレクトアクセス管理サーバ40に送信する(図9:ステップS912)。
【0086】
ダイレクトアクセス管理サーバ40は、サービスサーバ30からのXMPPログイン要求<D-5>を受信すると(図10:ステップS1016)、このXMPPログイン要求<D-5>に含まれるServiceID、制御機器・サービス管理ID、および被制御機器の番号の組み合わせが記憶部41に記憶されているかどうかを判定する(図10:ステップS1017)。記憶されていない場合、ダイレクトアクセス管理サーバ40は、対応するサービス対象の被制御機器が存在しないことを示すエラーコードをXMPPログイン応答<D-5R>としてサービスサーバ30に送信する(図10:ステップS1018)。この後、ダイレクトアクセス管理サーバ40の動作は終了となる。対応するサービス対象の被制御機器が記憶部41に記憶されている場合、ダイレクトアクセス管理サーバ40は、XMPPセッションIDを生成し、このXMPPセッションIDをServiceID、制御機器・サービス管理ID、被制御機器の番号と対応付けて記憶部41に保存し(図10:ステップS1019)、このXMPPセッションIDを含むXMPPログイン応答<D-5R>をサービスサーバ30に送信する(図10:ステップS1020)。
【0087】
サービスサーバ30は、ダイレクトアクセス管理サーバ40からXMPPセッションIDを含むXMPPログイン応答<D-5R>を受信すると(図9:ステップS913)、このXMPPログイン応答<D-5R>に含まれるXMPPセッションIDおよび、ステップS909の新規リモート録画予約要求<D-4>に含まれる携帯ダイレクトフラグの値をServiceID、制御機器・サービス管理ID、被制御機器リスト番号と対応付けて記憶部31に保存する(図9:ステップS914)。
【0088】
一方、サービスサーバ30によるステップS910の判定の結果、利用可能なXMPPセッションIDが既に記憶部31に記憶されていれば、サービスサーバ30は、新規リモート録画予約要求<D-4>に含まれる携帯ダイレクトフラグの値をServiceID、制御機器・サービス管理ID、被制御機器の番号と対応付けて記憶部31に保存する(図9:ステップS911)。
【0089】
このステップS911またはステップS914の携帯ダイレクトフラグの保存後、サービスサーバ30はServiceID、制御機器・サービス管理ID、サービスURN (Uniform Resource Name)、XMPPセッションIDを含むダイレクトアクセス開始要求<D-6>をダイレクトアクセス管理サーバ40に送信する(図9:ステップS915)。ここで、サービスURNは、被制御機器が提供可能なサービス(アプリケーション)の一つを指定する情報である。ここでは、携帯電話10からDVR20に対してリモート録画予約を行おうとしているので、サービスURNはリモート録画予約サービスを指定する情報となる。
【0090】
ダイレクトアクセス管理サーバ40は、サービスサーバ30からのダイレクトアクセス開始要求<D-6>を受信すると(図11:ステップS1101)、このダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されているかどうかを判定し(図11:ステップS1102)、記憶されていない場合、被制御機器の登録が必要であることを示すエラーコードをダイレクトアクセス開始応答<D-10>としてサービスサーバ30に送信する(図11:ステップS1103)。ダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されている場合には、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-6>に含まれているXMPPセッションIDが、ダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されているかどうかを判定する(図11:ステップS1104)。記憶されていない場合、ダイレクトアクセス管理サーバ40は、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-10>としてサービスサーバ30に送信する(図11:ステップS1105)。サービスサーバ30は、ダイレクトアクセス管理サーバ40より、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-10>として受信すると(図9:ステップS916)、ステップS912に戻ってXMPPログイン要求<D-5>をダイレクトアクセス管理サーバ40に送信して、再度XMPPセッションの確立を行う。
【0091】
またステップS1104で、ダイレクトアクセス開始要求<D-6>に含まれているXMPPセッションIDが、ダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されている場合は、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-6>で指定されているサービスを識別する情報であるサービスURNの指定情報を含むダイレクトアクセス用URI取得要求<D-7>を被制御機器であるDVR20にXMPPサーバ43とDVR20との間で確立されている常時接続セッションを通じて送信する(図11:ステップS1106)。
【0092】
DVR20は、ダイレクトアクセス管理サーバ40より、サービスURNの指定情報を含むダイレクトアクセス用URI取得要求<D-7>を受信すると(図12:ステップS1201)、ダイレクトアクセス用のローカルポートの割り当てを行う(図12:ステップS1202)。次に、DVR20は、DVR20にあらかじめ割り当てられたローカルIPアドレスおよびダイレクトアクセス用のローカルポートのポート番号を含む、ダイレクトアクセス用ポートのNAT(Network Address Translation)設定要求<D-8>をルータ50に送信して、ローカルIPアドレス及びポート番号に、インターネットからアクセス可能なグローバルIPアドレスおよびポート番号をマッピングすることをルータ50に要求する(図12:ステップS1203)。たとえば、DVR20は、ダイレクトアクセス用URIの割り当てを行うために、ルータ50にUPnP IGD DCP(Device Control Protocol)などによってアクセスし、インターネットからアクセス可能なグローバルIPアドレスおよびポート番号をあらかじめ確保しておく。
【0093】
DVR20は、ステップS1203のダイレクトアクセス用ポートのNAT設定要求<D-8>に対して、ルータ50より、DVR20のローカルIPアドレス及びポート番号に対応付けられたグローバルIPアドレスおよびポート番号をNAT設定応答<D-8R>として受信した場合には(図12:ステップS1208)、これらのグローバルIPアドレスおよびポート番号を用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-9>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1209)。ダイレクトアクセス用URIリストとは、サービスサーバ30または携帯電話10からネットワークを通じてその機器に直接アクセスするためのURIのリストである。
【0094】
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、ダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-9>として受信すると(図11:ステップS1107)、そのダイレクトアクセス用URIリストをダイレクトアクセス開始応答<D-10>としてサービスサーバ30に送信する(図11:ステップS1111)。
【0095】
また、DVR20は、ルータ50より、グローバルIPアドレスおよびポート番号の取得エラーをダイレクトアクセス用ポートのNAT設定応答<D-8R>として受信した場合(図12:ステップS1204)にはステップS1201にて取得したサービスURNの指定情報に基づき、そのサービスURNがトンネリング可能なものであるかどうかを判定する(図12:ステップS1205)。ここで、提供されるサービスのうち特定のサービスがトンネリング可能なサービスとしてあらかじめ決められている。例えば、リモート録画のように通信するデータ量が比較的少ないサービスはトンネリング可能なサービスとして決められており、コンテンツ取得サービスのように通信するデータ量の比較的大きいサービスはトンネリンクが不可なサービスとして決められている。したがって、DVR20は、ダイレクトアクセス用URI取得要求<D-7>に含まれているサービスURNの指定情報が新規リモート録画予約であることを判定した場合には、トンネリングを指示するエラーコードをダイレクトアクセス用URI取得応答<D-9>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1206)。トンネリングの指示は、例えば、ダイレクトアクセス用URIのアドレス部分をすべて"0"で埋めることによって行われる。
【0096】
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、トンネリングを指示するエラーコードをダイレクトアクセス用URI取得応答<D-9>として受信した場合には(図11:ステップS1109)、ダイレクトアクセス管理サーバ40内のトンネリング用ポートの割り当てを行い(図11:ステップS1110)、この割り当てたダイレクトアクセス管理サーバ40内トンネリング用ポートのポート番号とダイレクトアクセス管理サーバ40のグローバルIPアドレスを用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-10>をサービスサーバ30へ送信する(図11:ステップS1111)。これによって、サービスサーバ30や携帯電話10からは、トンネリングされていることを意識することなくDVR20に対してアクセスを行うことができる。
【0097】
ステップS1205の判定で、ダイレクトアクセス用URI取得要求<D-7>に含まれているサービスURNの指定情報がトンネリング不可なサービスURNであることが判定された場合には、DVR20は、空きポート獲得失敗を示すエラーコードをダイレクトアクセス用URI取得応答<D-9>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1207)。
【0098】
サービスサーバ30は、ダイレクトアクセス管理サーバ40からダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-10>を受信すると(図9:ステップS917)、携帯ダイレクトフラグがオンかオフかを判断する(図9:ステップS918)。携帯ダイレクトフラグがオンである場合には、携帯電話10から直接ダイレクトアクセス用URIで指定される機器にアクセスするために、サービスサーバ30は、ダイレクトアクセス用URIを含む新規リモート録画予約応答<D-13>を携帯電話10に送信する(図9:ステップS919)。携帯ダイレクトフラグがオフの場合は、サービスサーバ30は、ダイレクトアクセス用URIに対して、ダイレクトアクセス用URIと、携帯電話10より新規リモート録画予約要求<D-4>によって取得した録画予約番組情報とを含む新規リモート録画予約要求を送信する(図9:ステップS920)。
【0099】
以下において、携帯電話10がDVR20に対して録画予約要求を行う際の、いくつかの具体的な例を説明する。
【0100】
[3-1.サービスサーバ30での代理アクセスでのリモート録画予約:図7]
【0101】
サービスサーバ30が、携帯電話10から指示を受け、代理でDVR20に対してリモート録画予約を行う場合の動作を説明する。図7の一部は、携帯電話10から指示を受けたサービスサーバ30が、代理でDVR20に対してリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
【0102】
携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は、上述した通りである。
【0103】
携帯電話10から指示を受けたサービスサーバ30が、代理でDVR20に対してリモート録画予約を行う場合とは、ステップS918において携帯ダイレクトフラグがオフであると判断され、更に、ステップS917でサービスサーバ30が受信したダイレクトアクセス開始応答<D-10>に、DVR20がステップS1209でダイレクトアクセス用URI取得応答<D-9>として送信したURIが含まれている場合である。なお、既に説明したように、サービスサーバ30は、ダイレクトアクセス開始応答<D-10>として受信したダイレクトアクセス用URIにアクセスするだけであるため、ダイレクトアクセス用URIがDVR20に対応するのか、ダイレクトアクセス管理サーバ40のトンネリングに対応するものなのかは、特には判断を行う必要はない。
【0104】
サービスサーバ30は、ステップS917でダイレクトアクセス開始応答<D-10>として受信したダイレクトアクセス用URIに含まれるDVR20のアドレスにアクセスして、携帯電話10より新規リモート録画予約要求<D-4>によって取得した録画予約番組情報を含む新規リモート録画予約要求<D-11>を送信する(図9:ステップS920)。
【0105】
DVR20は、サービスサーバ30より、新規リモート録画予約要求<D-11>を受信すると(図12:ステップS1210)、この新規リモート録画予約要求<D-11>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1211)、不正なURIであるなら、その旨を示すエラーコードを新規リモート録画予約応答<D-11R>としてサービスサーバ30に送信する(図12:ステップS1212)。ここで、ダイレクトアクセス用URIの正当性チェックは、例えば、ダイレクトアクセス用URIの発行時に容易に真似のできない乱数を付加し、この乱数が新規リモート録画予約要求<D-11>のダイレクトアクセス用URIに含まれているかどうかをチェックする方法などがある。正当なURIである場合には、DVR20は、録画予約番組情報に基づいて、サービスサーバ30から要求された録画予約が既にスケジュールされている録画予約と録画日時が重複するか否かを判断する。重複する録画予約がない場合には、DVR20は、録画予約番組情報に基づく録画予約を行い、予約重複なしを示す予約重複番組リストを作成する。重複する録画予約が見つかった場合には、DVR20は、重複する録画予約の録画日時、チャンネル、番組タイトルなど含む予約重複番組リストを作成する。その後、DVR20は、予約重複番組リストを含む新規リモート録画予約応答<D-11R>をサービスサーバ30に送信する(図12:ステップS1213)。
【0106】
サービスサーバ30は、新規リモート録画予約応答<D-11R>を受信すると(図9:ステップS921)、新規リモート録画予約応答<D-11R>の予約重複番組リストを、新規リモート録画予約応答<D-12>として携帯電話10に送信する(図9:ステップS922)。また、サービスサーバ30は、不正URIのエラーコードを新規リモート録画予約応答<D-11R>として受信した場合には(図9:ステップS923)、そのエラーコードを新規リモート録画予約応答<D-12>として携帯電話10に送信する(図9:ステップS924)。
【0107】
携帯電話10は、サービスサーバ30より予約重複番組リストを含む新規リモート録画予約応答<D-12>を受信した場合には(図8:ステップS823)、予約重複番組リストから予約重複番組の有無を判定し(図8:ステップS824)、予約重複番組が存在するならば、表示部を通じて予約重複番組の情報をユーザに表示する(図8:ステップS825)。また、予約重複番組が存在しないならば、携帯電話10は、表示部を通じてリモート録画予約の成功を示すメッセージをユーザに表示する(図8:ステップS826)。
【0108】
また、携帯電話10は、サービスサーバ30より不正URIのエラーコードを新規リモート録画予約応答<D-12>として受信した場合には(図8:ステップS827)、表示部を通じてダイレクトアクセス失敗のエラーメッセージをユーザに表示する(図8:ステップS828)。
【0109】
[3-2.携帯電話10からのダイレクトでのリモート録画予約:図13]
【0110】
次に、携帯電話10がサービスサーバ30を介さずにダイレクトにDVR20に対してリモート録画予約を行う場合の動作を説明する。図13は携帯電話10からダイレクトにDVR20に対してリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
【0111】
図13に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は図7を用いて説明した流れと同じであるため説明を省略する。
【0112】
携帯電話10からダイレクトにDVR20に対してリモート録画予約を行う場合とは、ステップS918において携帯ダイレクトフラグがオンであると判断され、更に、ステップS919でサービスサーバ30から携帯電話10に送信される新規リモート録画予約応答<D-13>に、DVR20がステップS1209でダイレクトアクセス用URI取得応答<D-9>として送信したURIが含まれている場合である。なお、既に説明したように、携帯電話10は、新規リモート録画予約応答<D-13>として受信したダイレクトアクセス用URIにアクセスするだけであるため、ダイレクトアクセス用URIがDVR20に対応するのか、ダイレクトアクセス管理サーバ40のトンネリングに対応するものなのかは、特には判断を行う必要はない。
【0113】
携帯電話10は、サービスサーバ30よりダイレクトアクセス用URIを含む新規リモート録画予約応答<D-13>を受信した場合には(図8:ステップS815)、そのダイレクトアクセス用URIに含まれるDVR20のアドレスにアクセスして、ダイレクトアクセス用URIおよび録画予約番組情報を含む新規リモート録画予約要求<D-14>をDVR20に送信する(図8:ステップS816)。
【0114】
DVR20は、携帯電話10より、新規リモート録画予約要求<D-14>を受信すると(図12:ステップS1210)、この新規リモート録画予約要求<D-14>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1211)、不正なURIであるなら、その旨を示すエラーコードを新規リモート録画予約応答<D-14R>として携帯電話10に送信する(図12:ステップS1212)。ここで、ダイレクトアクセス用URIの正当性チェックは、例えば、ダイレクトアクセス用URIの発行時に容易に真似のできない乱数を付加し、この乱数が新規リモート録画予約要求<D-14>のダイレクトアクセス用URIに含まれているかどうかをチェックする方法などがある。正当なURIである場合には、DVR20は、録画予約番組情報に基づいて、携帯電話10から要求された録画予約が既にスケジュールされている録画予約と録画日時が重複するか否かを判断する。重複する録画予約がない場合には、DVR20は、録画予約番組情報に基づく録画予約を行い、予約重複なしを示す予約重複番組リストを作成する。重複する録画予約が見つかった場合には、DVR20は、重複する録画予約の録画日時、チャンネル、番組タイトルなど含む予約重複番組リストを作成する。その後、DVR20は、予約重複番組リストを含む新規リモート録画予約応答<D-14R>を携帯電話10に送信する(図12:ステップS1213)。
【0115】
携帯電話10は、新規リモート録画予約応答<D-14R>を受信すると(図8:ステップS817)、予約重複番組リストから予約重複番組の有無を判定し (図8:ステップS818)、予約重複番組が存在するならば、表示部を通じて予約重複番組の情報をユーザに表示する(図8:ステップS819)。また、予約重複番組が存在しないならば、携帯電話10は、表示部を通じてリモート録画予約の成功を示すメッセージをユーザに表示する(図8:ステップS820)。
【0116】
また、携帯電話10は、不正URIのエラーコードを新規リモート録画予約応答<D-14R>として受信した場合には(図8:ステップS821)、表示部を通じてダイレクトアクセス失敗を示すエラーメッセージをユーザに表示する(図8:ステップS822)。
【0117】
[3-3.サービスサーバ30からのトンネリングを利用したリモート録画予約:図14]
【0118】
次に、サービスサーバ30が、携帯電話10から指示を受け、ダイレクトアクセス管理サーバ40のXMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合の動作を説明する。図14は携帯電話10からの指示を受けたサービスサーバ30が、XMPPサーバ43によるトンネリングを利用してDVR20に対してのリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
【0119】
図14に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は図7を用いて説明した流れと同じであるため説明を省略する。
【0120】
携帯電話10から指示を受けたサービスサーバ30が、XMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合とは、ステップS918において携帯ダイレクトフラグがオフであると判断され、更に、ステップS917でサービスサーバ30が受信したダイレクトアクセス開始応答<D-10>に、ダイレクトアクセス管理サーバ40がステップS1110で割り当てたトンネリングのためのURIが含まれている場合である。なお、既に説明したように、サービスサーバ30は、ダイレクトアクセス開始応答<D-10>として受信したダイレクトアクセス用URIにアクセスするだけであるため、ダイレクトアクセス用URIがDVR20に対応するのか、ダイレクトアクセス管理サーバ40のトンネリングに対応するものなのかは、特には判断を行う必要はない。
【0121】
サービスサーバ30は、ステップS917でダイレクトアクセス開始応答<D-10>として受信したダイレクトアクセス用URIに含まれるダイレクトアクセス管理サーバ40のアドレスにアクセスして、ダイレクトアクセス用URIと、携帯電話10より新規リモート録画予約要求<D-4>によって取得した録画予約番組情報とを含む新規リモート録画予約要求<D-15>を送信する(図9:ステップS920)。
【0122】
ダイレクトアクセス管理サーバ40は、ダイレクトアクセス用URIと録画予約番組情報を含む新規リモート録画予約要求<D-15>を受信した場合(図11:ステップS1112)、この新規リモート録画予約要求<D-15>に含まれるダイレクトアクセス用URIをチェックし(図11:ステップS1113)、不正なダイレクトアクセス用URIである場合は、不正URIである旨を示すエラーコードを新規リモート録画予約応答<D-17>としてサービスサーバ30に送信する(図11:ステップS1114)。正当なダイレクトアクセス用URIであれば、ダイレクトアクセス管理サーバ40は、XMPPサーバ43を通じて、録画予約番組情報を含む新規リモート録画予約要求<D-16>をDVR20に送信する(図11:ステップS1115)。この際、DVR20でダイレクトアクセス管理サーバ40内のXMPPサーバ43を介したトンネリングによるアクセスであることがわかるように、例えば、ダイレクトアクセス用URIのアドレス部分をすべて"0"で埋める。
【0123】
DVR20は、ダイレクトアクセス管理サーバ40より、新規リモート録画予約要求<D-16>を受信すると(図12:ステップS1210)、この新規リモート録画予約要求<D-16>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1211)、不正なURIであるなら、その旨を示すエラーコードを新規リモート録画予約応答<D-16R>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1212)。正当なURIである場合には、DVR20は、予約重複番組リストを含む情報を新規リモート録画予約応答<D-16R>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1213)。
【0124】
ダイレクトアクセス管理サーバ40は、DVR20からの予約重複番組リストを含む新規リモート録画予約応答<D-16R>を受信すると(図11:ステップS1116)、この予約重複番組リストを含む新規リモート録画予約応答<D-17>をサービスサーバ30に送信する(図11:ステップS1117)。
【0125】
サービスサーバ30は、この予約重複番組リストを含む新規リモート録画予約応答<D-17>を受信すると(図9:ステップS921)、この予約重複番組リストを含む新規リモート録画予約応答<D-18>を携帯電話10へ送信する(図9:ステップS922)。また、サービスサーバ30は、ダイレクトアクセス管理サーバ40からエラーコードを新規リモート録画予約応答<D-17>として受信した場合は(図9:ステップS923)、このエラーコードを新規リモート録画予約応答<D-18>として携帯電話10へ送信する(図9:ステップS924)。その後の、サービスサーバ30及び携帯電話10における処理は上述した通りである。
【0126】
[3-4.携帯電話からのトンネリングを利用したリモート録画予約:図32]
【0127】
次に、携帯電話10が、サービスサーバ30を介さずにダイレクトアクセス管理サーバ40のXMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合の動作を説明する。図32はサービスサーバ30を介さないで携帯電話10からXMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
【0128】
図32に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は図7を用いて説明した流れと同じであるため説明を省略する。
【0129】
携帯電話10が、サービスサーバ30を介さずにXMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合とは、ステップS918において携帯ダイレクトフラグがオンであると判断され、更に、ステップS919でサービスサーバ30から携帯電話10に送信される新規リモート録画予約応答<D-13>に、ダイレクトアクセス管理サーバ40がステップS1110で割り当てたトンネリングのためのURIが含まれている場合である。なお、既に説明したように、携帯電話10は、新規リモート録画予約応答<D-13>として受信したダイレクトアクセス用URIにアクセスするだけであるため、ダイレクトアクセス用URIがDVR20に対応するのか、ダイレクトアクセス管理サーバ40のトンネリングに対応するものなのかは、特には判断を行う必要はない。
【0130】
まず、携帯電話10は、サービスサーバ30よりダイレクトアクセス用URIを含む新規リモート録画予約応答<D-13>を受信した場合には(図8:ステップS815)、そのダイレクトアクセス用URIに含まれるダイレクトアクセス管理サーバ40のアドレスにアクセスして、ダイレクトアクセス用URIと録画予約番組情報とを含む新規リモート録画予約要求<D-55>をダイレクトアクセス管理サーバ40に送信する(図8:ステップS816)。
【0131】
ダイレクトアクセス管理サーバ40は、携帯電話10から新規リモート録画予約要求<D-55>を受信すると(図11:ステップS1112)、この新規リモート録画予約要求<D-55>に含まれるダイレクトアクセス用URIをチェックし(図11:ステップS1113)、不正なダイレクトアクセス用URIである場合は、不正URIである旨を示すエラーコードを新規リモート録画予約応答<D-57R>として携帯電話10に送信する(図11:ステップS1114)。正当なダイレクトアクセス用URIであれば、ダイレクトアクセス管理サーバ40は、XMPPサーバ43を通じて、録画予約番組情報を含む新規リモート録画予約要求<D-16>をDVR20に送信する(図11:ステップS1115)。この際、DVR20でダイレクトアクセス管理サーバ40内のXMPPサーバ43を介したトンネリングによるアクセスであることがわかるように、例えば、ダイレクトアクセス用URIのアドレス部分をすべて"0"で埋める。
【0132】
DVR20は、ダイレクトアクセス管理サーバ40より、新規リモート録画予約要求<D-16>を受信すると(図12:ステップS1210)、この新規リモート録画予約要求<D-16>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1211)、不正なURIであるなら、その旨を示すエラーコードを新規リモート録画予約応答<D-16R>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1212)。正当なURIである場合には、DVR20は、予約重複番組リストを含む情報を新規リモート録画予約応答<D-16R>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1213)。
【0133】
ダイレクトアクセス管理サーバ40は、DVR20から予約重複番組リストを含む新規リモート録画予約応答<D-16R>を受信すると(図11:ステップS1116)、この予約重複番組リストを含む新規リモート録画予約応答<D-57R>を携帯電話10に送信する(図11:ステップS1117)。また、ダイレクトアクセス管理サーバ40は、DVR20からエラーコードを新規リモート録画予約応答<D-16R>として受信した場合には、このエラーコードを新規リモート録画予約応答<D-57R>として携帯電話10へ送信する。その後の携帯電話10における処理は上述した通りである。
【0134】
以上で説明したように、携帯電話10は、DVR20へのダイレクトなアクセスのみならず、サービスサーバ30による代理アクセス、ダイレクトアクセス管理サーバ40によるXMPPを用いたトンネリングなどを利用して、DVR20への録画予約処理を実行することが可能である。
【0135】
[4.コンテンツ取得]
【0136】
次に、携帯電話10が、DVR20からコンテンツを取得する場合の動作を説明する。図15は携帯電話10からのDVR20へのダイレクトアクセスによるコンテンツ取得時の情報の流れを示すシーケンス図である。図17はコンテンツ取得時の携帯電話10の動作を示すフローチャート、図18および図19はコンテンツ取得時のサービスサーバ30の動作を示すフローチャートである。
【0137】
携帯電話10のユーザから、コンテンツ取得サービスを受信するために、ダイレクトアクセス利用開始の指示が携帯電話10に与えられると(図17:ステップS1701)、携帯電話10は自身に予め設定されているユーザ識別情報を含む被制御機器リスト取得要求<D-1>をサービスサーバ30に送信する(図17:ステップS1702)。
【0138】
サービスサーバ30は、携帯電話10より被制御機器リスト取得要求<D-1>を受信すると(図9:ステップS901)、この被制御機器リスト取得要求<D-1>に含まれるユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されているかどうかを判定する(図9:ステップS902)。ユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されていない場合、サービスサーバ30は、サービス対象の被制御機器の登録が必要であることを示すエラーコードを被制御機器リスト取得応答<D-3>として携帯電話10に送信する(図9:ステップS903)。ユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されている場合は、ダイレクトアクセス管理サーバ40に管理されている制御機器・サービス管理IDに関連付けられている被制御機器の一覧を取得するために、サービスサーバ30は、サービスを識別する情報であるServiceIDおよび制御機器・サービス管理IDを含む被制御機器リスト取得要求<D-2>をダイレクトアクセス管理サーバ40に送信する(図9:ステップS904)。
【0139】
ダイレクトアクセス管理サーバ40は、サービスサーバ30からの被制御機器リスト取得要求<D-2>を受信すると(図10:ステップS1012)、この被制御機器リスト取得要求<D-2>に含まれるServiceIDおよび制御機器・サービス管理IDの組み合わせが記憶部41に記憶されているものと一致するかどうかを判定し(図10:ステップS1013)、もし記憶されていない場合には、未登録であることを示すエラーコードを被制御機器リスト取得応答<D-2R>としてサービスサーバ30に送信する(図10:ステップS1014)。また、被制御機器リスト取得要求<D-2>に含まれるServiceIDおよび制御機器・サービス管理IDの組み合わせが記憶部41に記憶されていることが判定された場合、ダイレクトアクセス管理サーバ40は、記憶部41に記憶されている制御機器・サービス管理IDと被制御機器管理IDとの紐付け内容に従って、携帯電話10から制御可能な被制御機器の被制御機器管理IDに対して改めて振り直した番号と被制御機器の機器認証情報に含まれる機器名称等からなる一覧を被制御機器リストとして生成し、この被制御機器リストを制御機器・サービス管理IDと対応付けて記憶部41に保存するとともに、この被制御機器リストを含む被制御機器リスト取得応答<D-2R>をサービスサーバ30に送信する(図10:ステップS1015)。
【0140】
サービスサーバ30は、ダイレクトアクセス管理サーバ40から未登録であることを示すエラーコードを被制御機器リスト取得応答<D-2R>として受信した場合は (図9:ステップS905)、被制御機器の登録が必要であることを示すエラーコードを被制御機器リスト取得応答<D-3>として携帯電話10に送信する(図9:ステップS906)。また、サービスサーバ30が、ダイレクトアクセス管理サーバ40から被制御機器リストを含む被制御機器リスト取得応答<D-2R>を受信した場合は(図9:ステップS907)、この被制御機器リストを含む被制御機器リスト取得応答<D-3>を携帯電話10に送信する(図9:ステップS908)。
【0141】
携帯電話10は、サービスサーバ30よりエラーコードを被制御機器リスト取得応答<D-3>として受信した場合(図17:ステップS1703)、被制御機器の登録が必要であることを示すエラーメッセージを、表示部を通じてユーザに表示する(図17:ステップS1704)。また、携帯電話10は、被制御機器リストを含む被制御機器リスト取得応答<D-3>を受信した場合は(図17:ステップS1705)、その被制御機器リストに複数の被制御機器の番号が存在するかどうかを判定する(図17:ステップS1706)。複数の被制御機器の番号が存在する場合には、携帯電話10は、その被制御機器リストの内容を表示部に表示して(図17:ステップS1707)、ユーザにその中から1つの被制御機器の番号を選択させ(図17:ステップS1708)、その選択された被制御機器の番号を記憶部11に保存する(図17:ステップS1709, 1710)。複数の被制御機器が存在しない場合には、その一つの被制御機器の番号を記憶部11に保存する(図17:ステップS1711,S1710)。
【0142】
次に、携帯電話10は、自身に予め設定された携帯ダイレクトフラグを基に、DVR20のコンテンツ取得サービスに携帯電話10からダイレクトにアクセスするか、サービスサーバ30を介してアクセスするかを判断して処理を分岐する(図17:ステップS1712)。
【0143】
携帯電話10からダイレクトにDVR20のコンテンツ取得サービスにアクセスする場合、携帯電話10は、ユーザ識別情報、検索条件、被制御機器の番号、携帯ダイレクトフラグ(オン)を含むコンテンツ検索要求<D-44>をサービスサーバ30に送信する(図17:ステップS1713)。また、携帯電話10がサービスサーバ30を介してコンテンツを取得する場合、携帯電話10は、ユーザ識別情報、検索条件、被制御機器の番号、携帯ダイレクトフラグ(オフ)を含むコンテンツ検索要求<D-44>をサービスサーバ30に送信する(図17:ステップS1724)。ここで、検索条件とは、コンテンツを検索する条件であり、例えば、コンテンツが静止画データであるという条件や、コンテンツが録画済の映像データであるなどを指定する情報である。検索条件として日付、データサイズなどの項目を加えて、更に詳細な検索条件を設定できるようにしてもよい。
【0144】
サービスサーバ30は、携帯電話10から、コンテンツ検索要求<D-44>を受信すると(図18:ステップS1801)、利用可能なXMPPセッションIDが記憶部31に記憶されているか否かを調べる(図18:ステップS1802)。利用可能なXMPPセッションIDが既に記憶部31に記憶されていれば、サービスサーバ30はコンテンツ検索要求<D-44>に含まれる携帯ダイレクトフラグの値をServiceID、制御機器・サービス管理ID、被制御機器の番号と対応付けて記憶部31に保存する(図18:ステップS1803)。利用可能なXMPPセッションIDが記憶されていない場合には、サービスサーバ30は、XMPPサーバ43とXMPPセッションを確立するために、ServiceID、制御機器・サービス管理ID、被制御機器の番号を含むXMPPログイン要求<D-5>をダイレクトアクセス管理サーバ40に送信する(図18:ステップS1804)。
【0145】
ダイレクトアクセス管理サーバ40は、サービスサーバ30からのXMPPログイン要求<D-5>を受信すると(図10:ステップS1016)、このXMPPログイン要求<D-5>に含まれるServiceID、制御機器・サービス管理ID、および被制御機器の番号の組み合わせが記憶部41に記憶されているかどうかを判定する(図10:ステップS1017)。記憶されていない場合、ダイレクトアクセス管理サーバ40は、対応するサービス対象の被制御機器が存在しないことを示すエラーコードをXMPPログイン応答<D-5R>としてサービスサーバ30に送信する(図10:ステップS1018)。また、対応するサービス対象の被制御機器が記憶部41に記憶されている場合は、ダイレクトアクセス管理サーバ40は、XMPPセッションIDの生成および保存を行い(図10:ステップS1019)、このXMPPセッションIDを含むXMPPログイン応答<D-5R>をサービスサーバ30に送信する(図10:ステップS1020)。
【0146】
サービスサーバ30は、ダイレクトアクセス管理サーバ40からXMPPセッションIDを含むXMPPログイン応答<D-5R>を受信すると(図18:ステップS1805)、これに含まれているXMPPセッションIDおよびステップS1801のコンテンツ検索要求<D-44>に含まれる携帯ダイレクトフラグの値をServiceID、制御機器・サービス管理ID、被制御機器リスト番号と対応付けて記憶部31に保存する(図18:ステップS1806)。
【0147】
ステップS1803またはステップS1806の携帯ダイレクトフラグの保存後、サービスサーバ30はServiceID、制御機器・サービス管理ID、サービスURN、XMPPセッションIDを含むダイレクトアクセス開始要求<D-6>をダイレクトアクセス管理サーバ40に送信する(図18:ステップS1807)。ここでは、携帯電話10からDVR20に対してコンテンツ取得を行おうとしているので、サービスURNはコンテンツ取得サービスを指定する情報となる。
【0148】
ダイレクトアクセス管理サーバ40は、サービスサーバ30からのダイレクトアクセス開始要求<D-6>を受信すると(図11:ステップS1101)、このダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されているかどうかを判定し(図11:ステップS1102)、記憶されていない場合、被制御機器の登録が必要であることを示すエラーコードをダイレクトアクセス開始応答<D-10>としてサービスサーバ30に送信する(図11:ステップS1103)。ダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されている場合には、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-6>に含まれているXMPPセッションIDが、ダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されているかどうかを判定する(図11:ステップS1104)。それが記憶されていない場合、ダイレクトアクセス管理サーバ40は、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-10>としてサービスサーバ30に送信する(図11:ステップS1105)。ダイレクトアクセス開始要求<D-6>に含まれているXMPPセッションIDが、ダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されている場合は、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-6>で指定されているサービスURNの指定情報を含むダイレクトアクセス用URI取得要求<D-7>を、ダイレクトアクセス管理サーバ40内のXMPPサーバ43を介して、DVR20に送信する(図11:ステップS1106)。
【0149】
サービスサーバ30は、ダイレクトアクセス管理サーバ40より、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-10>として受信すると(図18:ステップS1808)、ステップS1804に戻って、再びXMPPログイン要求<D-5>をダイレクトアクセス管理サーバ40に送信して、再度XMPPセッションの確立を行う。
【0150】
DVR20は、ダイレクトアクセス管理サーバ40より、サービスURNの指定情報を含むダイレクトアクセス用URI取得要求<D-7>を受信したとき(図12:ステップS1201)、ダイレクトアクセス用のローカルポートの割当てを行う(図12:ステップS1202)。次に、DVR20は、DVR20にあらかじめ割り当てられたローカルIPアドレスおよびダイレクトアクセス用のローカルポートのポート番号を含む、ダイレクトアクセス用ポートのNAT設定要求<D-8>をルータ50に送信して、ローカルIPアドレス及びポート番号に、インターネットからアクセス可能なグローバルIPアドレスおよびポート番号をマッピングすることをルータ50に要求する(図12:ステップS1203)。
【0151】
DVR20は、ステップS1203のダイレクトアクセス用ポートのNAT設定要求<D-8>に対して、ルータ50より、グローバルIPアドレスおよびポート番号の取得エラーをダイレクトアクセス用ポートのNAT設定応答<D-8R>として受信した場合(図12:ステップS1204)、ステップS1201にて取得したサービスURNの指定情報に基づき、そのサービスURNがトンネリング可能なものであるかどうかを判定する(図12:ステップS1205)。DVR20は、ダイレクトアクセス用URI取得要求<D-7>に含まれているサービスURNがトンネリング可能なサービスURNであることを判定した場合には、トンネリングを指示するエラーコードをダイレクトアクセス用URI取得応答<D-9>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1206)。ダイレクトアクセス用URI取得要求<D-7>に含まれているサービスURNの指定情報がトンネリング可能なサービスURNでない場合には、DVR20は、空きポート獲得失敗を示すエラーコードをダイレクトアクセス用URI取得応答<D-9>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1207)。ここで、コンテンツ取得サービスはリモート録画予約のサービスに比べて転送されるデータ量が大きいので、トンネリング不可のサービスURNとしているが、これに限定される必要はない。トンネリングの可否に関しては、サービス提供者が、ダイレクトアクセス管理サーバ40の能力に応じて適宜設定することが可能である。
【0152】
また、DVR20は、ダイレクトアクセス用ポートのNAT設定要求<D-8>に対して、ルータ50より、DVR20のローカルIPアドレス及びポート番号に対応付けられたグローバルIPアドレスおよびポート番号をNAT設定応答<D-8R>として受信した場合には(図12:ステップS1208)、これらのグローバルIPアドレスおよびポート番号を用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-9>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1209)。
【0153】
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、ダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-9>として受信すると(図11:ステップS1107)、そのダイレクトアクセス用URIリストをダイレクトアクセス開始応答<D-10>としてサービスサーバ30に送信する(図11:ステップS1111)。
【0154】
また、ダイレクトアクセス管理サーバ40は、トンネリングによるコンテンツ取得を指示するエラーコードをダイレクトアクセス用URI取得応答<D-9>として受信した場合には(図11:ステップS1109)、ダイレクトアクセス管理サーバ40内トンネリング用ポートの割当てを行い(図11:ステップS1110)、この割り当てたダイレクトアクセス管理サーバ40内トンネリング用ポートのポート番号とダイレクトアクセス管理サーバ40のグローバルIPアドレスを用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-10>をサービスサーバ30へ送信する(図11:ステップS1111)。
【0155】
サービスサーバ30は、ダイレクトアクセス管理サーバ40からのダイレクトアクセス開始応答<D-10>を受信すると(図18:ステップS1809)、携帯ダイレクトフラグがオンかオフかを判断する(図18:ステップS1810)。携帯ダイレクトフラグがオンである場合には、サービスサーバ30は、携帯電話10から直接ダイレクトアクセス用URIで指定される機器にアクセスするために、ダイレクトアクセス用URIを含むコンテンツ検索応答<D-20>を携帯電話10に送信する(図18:ステップS1811)。携帯ダイレクトフラグがオフである場合には、サービスサーバ30は、ダイレクトアクセス用URIに対して、ダイレクトアクセス用URIと、携帯電話10よりコンテンツ検索要求<D-44>によって取得した検索条件とを含むコンテンツ検索要求<D-19>をDVR20に送信する(図18:ステップS1812)。
【0156】
以下において、携帯電話10がDVR20に対してコンテンツ取得要求を行う際の、いくつかの具体的な例を説明する。
【0157】
[4-1.携帯電話10からダイレクトにアクセス:図15]
【0158】
携帯電話10が、サービスサーバ30を介さずにダイレクトにDVR20からコンテンツ取得を行う場合の動作を説明する。図15は携帯電話10からダイレクトにDVR20からコンテンツ取得を行う場合の情報の流れを示すシーケンス図である。
【0159】
図15に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は、上述した通りである。
【0160】
なお、携帯電話10からダイレクトにDVR20に対してコンテンツ取得を行う場合とは、ステップS1810において携帯ダイレクトフラグがオンであると判断され、更に、ダイレクトアクセス管理サーバ40におけるトンネリングを行わない場合である。
【0161】
まず、携帯電話10からダイレクトにDVR20に対してコンテンツの検索を要求し、検索条件に合致するコンテンツのタイトルリストを取得する流れについて説明する。
【0162】
携帯電話10は、サービスサーバ30よりダイレクトアクセス用URIを含むコンテンツ検索応答<D-20>を受信すると(図17:ステップS1714)、そのダイレクトアクセス用URIに含まれるDVR20のアドレスにアクセスして、ダイレクトアクセス用URIおよび検索条件を含むコンテンツ検索要求<D-29>をDVR20に送信する(図17:ステップS1715)。
【0163】
DVR20は、携帯電話10より、ダイレクトアクセス用URIおよび検索条件を含むコンテンツ検索要求<D-29>を受信すると(図12:ステップS1214)、このコンテンツ検索要求<D-29>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1215)、不正なURIであるなら、不正なURIであることを示すエラーコードをコンテンツ検索応答<D-29R>として携帯電話10に送信する(図12:ステップS1216)。正当なURIである場合は、DVR20は、コンテンツ検索要求<D-29>内の検索条件に従って記憶部21の中から検索条件に合致するコンテンツを検索して、検索結果のコンテンツのタイトルリストとLocal URIリストを生成する。その後、DVR20は、生成したタイトルリストとLocal URIリストとをコンテンツ検索応答<D-29R>として携帯電話10に送信する(図12:ステップS1217)。ここで、Lacal URIとは、コンテンツのローカルな保存場所を示す情報(URI)である。例えば、DVR20内でローカルな指定方法で特定される記憶部21内で保存場所を示す情報であったり、DVR20が接続されている家庭内のネットワークでのローカルなアドレスで特定される家庭内ネットワーク内での保存場所を指し示す情報などである。
【0164】
携帯電話10は、DVR20から不正なURIであることを示すエラーコードをコンテンツ検索応答<D-29R>として受信すると(図17:ステップS1722)、ダイレクトアクセスの失敗を示すメッセージを表示部を通してユーザに表示する(図17:ステップS1723)。
【0165】
また、携帯電話10は、DVR20から、コンテンツのタイトルリスト、Local URIリストを含むコンテンツ検索応答<D-29R>を受信した場合には(図17:ステップS1716)、コンテンツ取得のための処理に進む。
【0166】
次に、携帯電話10がDVR20からダイレクトにコンテンツ取得するための処理の流れについて説明する。
【0167】
携帯電話10は、DVR20から、コンテンツのタイトルリスト、Local URIリストを含むコンテンツ検索応答<D-29R>を受信した場合(図17:ステップS1716)、受信したコンテンツのタイトルの一覧を表示部に表示し、表示されたタイトルの中からユーザによって選択されたコンテンツに対応するLocal URIを抽出してコンテンツの取得を要求するためのLocal URIリストを作成する。その後、携帯電話10は、ユーザ識別情報、選択コンテンツのLocal URIリスト、被制御機器の番号を含むURI取得要求<D-30>をサービスサーバ30に送信する(図17:ステップS1717)。ここで、携帯電話10が、再度、DVR20へのダイレクトアクセス用URIを取得するのは、ステップS1716で取得したLocal URIはインターネットから直接アクセスできない場所を指し示しているためである。
【0168】
サービスサーバ30は、URI取得要求<D-30>を受信すると(図19:ステップS1901)、利用可能なXMPPセッションIDが記憶部31に記憶されているか否かを調べる(図19:ステップS1902)。利用可能なXMPPセッションIDが記憶されていない場合、サービスサーバ30は、ダイレクトアクセス管理サーバ40に対してXMPPログイン要求<D-5>を送信する(図19:ステップS1903)。サービスサーバ30は、ダイレクトアクセス管理サーバ40からのXMPPログイン応答<D-5R>を受信して(図19:ステップS1904)、受信したXMPPログイン応答<D-5R>に含まれるXMPPセッションIDを記憶部31に保存する(図19:ステップS1905)。その後、サービスサーバ30は、ServiceID、制御機器・サービス管理ID、サービスURN、XMPPセッションID、コンテンツのLocal URIリストを含むダイレクトアクセス開始要求<D-31>をダイレクトアクセス管理サーバ40に送信する(図19:ステップS1906)。また、利用可能なXMPPセッションIDが既に記憶されている場合にも、サービスサーバ30は、ダイレクトアクセス開始要求<D-31>をダイレクトアクセス管理サーバ40に送信する(図19:ステップS1906)。ここでは、携帯電話10からDVR20に対してコンテンツ取得を行おうとしているので、サービスURNはコンテンツ取得サービスを指定する情報となる。
【0169】
ダイレクトアクセス管理サーバ40は、このダイレクトアクセス開始要求<D-31>を受信すると(図11:ステップS1101)、これに含まれているServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されているかどうかを判定し(図11:ステップS1102)、記憶されていない場合には、被制御機器の登録が必要であることを示すエラーコードをダイレクトアクセス開始応答<D-35>としてサービスサーバ30に送信する(図11:ステップS1103)。ServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されている場合には、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-31>に含まれているXMPPセッションIDが、ダイレクトアクセス開始要求<D-31>に含まれているServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されているかどうかを判定する(図11:ステップS1104)。それが記憶されていない場合、ダイレクトアクセス管理サーバ40は、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-35>としてサービスサーバ30に送信する(図11:ステップS1105)。XMPPセッションIDがServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されている場合、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-31>で指定されているサービスURNおよびLocal URIリストを含むダイレクトアクセス用URI取得要求<D-32>をDVR20に送信する(図11:ステップS1106)。
【0170】
サービスサーバ30は、ダイレクトアクセス管理サーバ40から、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-35>として受信すると(図19:ステップS1907)、ステップS1903に戻って、ダイレクトアクセス管理サーバ40に対してXMPPログイン要求<D-5>を再度行い、ダイレクトアクセス管理サーバ40からのXMPPログイン応答<D-5R>を受信して(図19:ステップS1904)、これに含まれるXMPPセッションIDを記憶部41に保存する(図19:ステップS1905)。
【0171】
DVR20は、ダイレクトアクセス管理サーバ40よりダイレクトアクセス用URI取得要求<D-32>を受信すると(図12:ステップS1201)、ダイレクトアクセス用のローカルポートの割当てを行う(図12:ステップS1202)。次に、DVR20は、ローカルIPアドレスおよびダイレクトアクセス用のローカルポートのポート番号を含む、ダイレクトアクセス用ポートのNAT設定要求<D-33>をルータ50に送信する(図12:ステップS1203)。
【0172】
DVR20は、ルータ50より、グローバルIPアドレスおよびポート番号の取得エラーをサービスサーバ30からのNAT設定応答<D-33R>として受信した場合(図12:ステップS1204)、ステップS1201にて取得したサービスURNの指定情報に基づき、そのサービスURNがトンネリング可能なものであるかどうかを判定する(図12:ステップS1205)。DVR20は、トンネリング可能なサービスURNであると判定した場合には、トンネリングを指示するエラーコードをダイレクトアクセス用URI取得応答<D-34>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1206)。サービスURNの指定情報がトンネリング可能なサービスURNではない場合には、空きポート獲得失敗を示すエラーコードをダイレクトアクセス用URI取得応答<D-34>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1207)。
【0173】
また、DVR20は、ダイレクトアクセス用ポートのNAT設定要求<D-33>に対して、ルータ50より、DVR20のローカルIPアドレス及びポート番号に対応付けられたグローバルIPアドレスおよびポート番号を、NAT設定応答<D-33R>として受信した場合には(図12:ステップS1208)、これらのグローバルIPアドレスおよびポート番号を用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-34>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1209)。
【0174】
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、ダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-34>として受信すると(図11:ステップS1107)、そのダイレクトアクセス用URIリストをダイレクトアクセス開始応答<D-35>としてサービスサーバ30に送信する(図11:ステップS1111)。
【0175】
また、ダイレクトアクセス管理サーバ40は、トンネリングによるコンテンツ取得を指示するエラーコードをダイレクトアクセス用URI取得応答<D-34>として受信した場合には(図11:ステップS1109)、ダイレクトアクセス管理サーバ40内トンネリング用ポートの割当てを行い(図11:ステップS1110)、この割り当てたダイレクトアクセス管理サーバ40内トンネリング用ポートのポート番号とダイレクトアクセス管理サーバ40のグローバルIPアドレスを用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-35>をサービスサーバ30へ送信する(図11:ステップS1111)。
【0176】
サービスサーバ30は、ダイレクトアクセス管理サーバ40から、ダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-35>を受信した場合には(図19:ステップS1908)、そのダイレクトアクセス用URIリストを含むURI取得応答<D-36>を携帯電話10へ送信する(図19:ステップS1909)。
【0177】
以上により、携帯電話10は、DVR20からダイレクトにコンテンツを取得するためのダイレクトアクセスURIを取得したので、DVR20から選択されたコンテンツを取得する処理を開始する。なお、ここでは、携帯電話10がURI取得応答<D-36>として受信したダイレクトアクセス用URIリストには、ユーザによって選択されたコンテンツのそれぞれに対応するダイレクトアクセスURIが格納されている。
【0178】
携帯電話10は、ダイレクトアクセス用URIリストを含むURI取得応答<D-36>を受信すると(図17:ステップS1718)、そのダイレクトアクセス用URIリストの中から取得処理を行うコンテンツに関するダイレクトアクセス用URIを選択し、そのダイレクトアクセス用URIを含むコンテンツ取得要求<D-37>をDVR20にダイレクトに送信する(図17:ステップS1719)。
【0179】
DVR20は、携帯電話10からダイレクトアクセス用URIを含むコンテンツ取得要求<D-37>を受信すると(図12:ステップS1218)、このコンテンツ取得要求<D-37>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1219)、不正なURIであるなら、不正なURIであることを示すエラーコードをコンテンツ取得応答<D-37R>として携帯電話10に送信する(図12:ステップS1220)。正当なURIである場合は、DVR20は、そのダイレクトアクセス用URIで指定されているコンテンツをコンテンツ取得応答<D-37R>として携帯電話10に送信する(図12:ステップS1221)。
【0180】
携帯電話10は、DVR20からコンテンツをコンテンツ取得応答<D-37R>として受信すると(図17:ステップS1720)、ダイレクトアクセス用URIリストに格納されているすべてのコンテンツの取得が完了するまで(図17:ステップS1721)、ステップS1719のコンテンツ取得要求<D-37>をDVR20に送信することを繰り返す。また、携帯電話10は、DVR20から不正なURIであることを示すエラーコードをコンテンツ取得応答<D-37R>として受信した場合には、ダイレクトアクセスの失敗を示すメッセージを表示部を通してユーザに表示する。
【0181】
[4-2.サービスサーバ30を介したコンテンツ取得:図16]
【0182】
次に、携帯電話10が、サービスサーバ30を介してDVR20からコンテンツを取得する場合の動作を説明する。図16はサービスサーバ30からDVR20へのダイレクトアクセスによるコンテンツ取得時の情報の流れを示すシーケンス図である。
【0183】
図16に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は、図15を用いて説明した流れと同じであるため説明を省略する。
【0184】
なお、携帯電話10からサービスサーバ30を介してDVR20からコンテンツ取得を行う場合とは、ステップS1810において携帯ダイレクトフラグがオフであると判断され、更に、ダイレクトアクセス管理サーバ40におけるトンネリングを行わない場合である。
【0185】
まず、携帯電話10からサービスサーバ30を介してダイレクトにDVR20に対してコンテンツの検索を要求し、検索条件に合致するコンテンツのタイトルリストを取得する流れについて説明する。
【0186】
DVR20は、ステップS1812でサービスサーバ30から送信されたダイレクトアクセス用URIおよび検索条件を含むコンテンツ検索要求<D-19>を受信すると(図12:ステップS1214)、このコンテンツ検索要求<D-19>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1215)、不正なURIであるなら、不正なURIであることを示すエラーコードをコンテンツ検索応答<D-19R>としてサービスサーバ30に送信する(図12:ステップS1216)。正当なURIである場合は、DVR20は、コンテンツ検索要求<D-19>内の検索条件に従って記憶部21の中から検索条件に合致するコンテンツを検索して、検索結果のコンテンツのタイトルリストとLocal URIリストを生成する。その後、DVR20は、生成したタイトルリストとLocal URIリストとをコンテンツ検索応答<D-19R>としてサービスサーバ30に送信する(図12:ステップS1217)。
【0187】
サービスサーバ30は、DVR20より、コンテンツ検索応答<D-19R>としてコンテンツのタイトルリストおよびLocal URIリストを受信すると(図18:ステップS1813)、そのコンテンツのLocal URIリストを一時的に保存し(図18:ステップS1814)、携帯電話10に、コンテンツのタイトルリストを含むコンテンツ検索応答<D-20>を送信する(図18:ステップS1815)。
【0188】
また、サービスサーバ30は、DVR20より、コンテンツ検索応答<D-19R>として不正なURIであることを示すエラーコードを受信した場合には(図18:ステップS1816)、そのエラーコードを、携帯電話10にコンテンツ検索応答<D-20>として送信する(図18:ステップS1817)。
【0189】
携帯電話10は、サービスサーバ30から不正なURIであることを示すエラーコードをコンテンツ検索応答<D-20>を受信した場合には(図17:ステップS1728)、ダイレクトアクセスの失敗を示すメッセージを表示部を通してユーザに表示する(図17:ステップS1729)。また、携帯電話10は、サービスサーバ30よりコンテンツのタイトルリストをコンテンツ検索応答<D-20>として受信した場合には(図17:ステップS1725)、コンテンツ取得のための処理に進む。
【0190】
次に、携帯電話10がサービスサーバ30を介してDVR20からコンテンツ取得するための処理の流れについて説明する。
【0191】
携帯電話10は、サービスサーバ30から、コンテンツのタイトルリストを含むコンテンツ検索応答<D-20>を受信した場合(図17:ステップS1725)、受信したコンテンツのタイトルの一覧を表示部に表示し、表示されたタイトルの中からユーザによって選択されたコンテンツに対応するタイトルを抽出してコンテンツの取得を要求するための取得タイトルリストを作成する。
【0192】
その後、携帯電話10は、ユーザ識別情報、選択コンテンツのタイトルリスト(取得タイトルリスト)、被制御機器の番号を含むコンテンツ取得要求<D-21>をサービスサーバ30に送信する(図17:ステップS1726)。サービスサーバ30は、コンテンツ取得要求<D-21>を受信すると(図18:ステップS1818)、そのコンテンツ取得要求<D-21>に含まれるタイトルリストに対応するコンテンツのLocal URIリストを記憶部31から検索し(図18 :ステップS1819)、ユーザによって選択されたコンテンツのタイトルに対応するLocal URIを抽出してコンテンツの取得を要求するためのLocal URIリストを作成する。
【0193】
次に、サービスサーバ30は、利用可能なXMPPセッションIDが記憶部31に記憶されているか否かを調べる(図18:ステップS1820)。利用可能なXMPPセッションIDが記憶されていない場合、サービスサーバ30は、XMPPログイン要求<D-5>をダイレクトアクセス管理サーバに送信する(図18:ステップS1821)。サービスサーバ30は、ダイレクトアクセス管理サーバからのXMPPログイン応答<D-5R>を受信すると(図18:ステップS1822)、受信したXMPPログイン応答<D-5R>に含まれるXMPPセッションIDを記憶部31に保存する(図18:ステップS1823)。その後、サービスサーバ30は、ServiceID、制御機器・サービス管理ID、サービスURN、XMPPセッションID、コンテンツのLocal URIリストを含むダイレクトアクセス開始要求<D-22>をダイレクトアクセス管理サーバ40に送信する(図18:ステップS1824)。また、利用可能なXMPPセッションIDが既に記憶されている場合にも、サービスサーバ30は、ダイレクトアクセス開始要求<D-22>をダイレクトアクセス管理サーバ40に送信する(図18:ステップS1824)。ここでは、DVR20に対してコンテンツ取得を行おうとしているので、サービスURNはコンテンツ取得サービスを指定する情報となる。
【0194】
ダイレクトアクセス管理サーバ40は、このダイレクトアクセス開始要求<D-22>を受信すると(図11:ステップS1101)、これに含まれているServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されているかどうかを判定し(図11:ステップS1102)、記憶されていない場合には、被制御機器の登録が必要であることを示すエラーコードをダイレクトアクセス開始応答<D-26>としてサービスサーバ30に送信する(図11:ステップS1103)。ServiceIDと制御機器・サービス管理IDの組み合わせが記憶部41に記憶されている場合には、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-22>に含まれているXMPPセッションIDが、ダイレクトアクセス開始要求<D-22>に含まれているServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されているかどうかを判定する(図11:ステップS1104)。それが記憶されていない場合、ダイレクトアクセス管理サーバ40は、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-26>としてサービスサーバ30に送信する(図11:ステップS1105)。XMPPセッションIDがServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されている場合、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-31>で指定されているサービスURNおよびLocal URIリストを含むダイレクトアクセス用URI取得要求<D-23>をDVR20に送信する(図11:ステップS1106)。
【0195】
サービスサーバ30は、ダイレクトアクセス管理サーバ40から、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-26>として受信すると(図18:ステップS1825)、ステップS1820に戻って利用可能なXMPPセッションIDが記憶部31に記憶されているか否かを再び調べる。
【0196】
DVR20は、ダイレクトアクセス管理サーバ40よりダイレクトアクセス用URI取得要求<D-23>を受信すると(図12:ステップS1201)、ダイレクトアクセス用のローカルポートの割当てを行う(図12:ステップS1202)。次に、DVR20は、ローカルIPアドレスおよびダイレクトアクセス用のローカルポートのポート番号を含む、ダイレクトアクセス用ポートのNAT設定要求<D-24>をルータ50に送信する(図12:ステップS1203)。
【0197】
DVR20は、ルータ50より、グローバルIPアドレスおよびポート番号の取得エラーをサービスサーバ30からのNAT設定応答<D-24R>として受信した場合(図12:ステップS1204)、ステップS1201にて取得したサービスURNの指定情報に基づき、そのサービスURNがトンネリング可能なものであるかどうかを判定する(図12:ステップS1205)。DVR20は、トンネリング可能なサービスURNであるとを判定した場合には、トンネリングを指示するエラーコードをダイレクトアクセス用URI取得応答<D-25>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1206)。サービスURNの指定情報がトンネリング可能なサービスURNではない場合には、空きポート獲得失敗を示すエラーコードをダイレクトアクセス用URI取得応答<D-25>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1207)。
【0198】
また、DVR20は、ダイレクトアクセス用ポートのNAT設定要求<D-24>に対して、ルータ50より、DVR20のローカルIPアドレス及びポート番号に対応付けられたグローバルIPアドレスおよびポート番号を、NAT設定応答<D-24R>として受信した場合には(図12:ステップS1208)、これらのグローバルIPアドレスおよびポート番号を用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-25>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1209)。
【0199】
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、ダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-25>として受信すると(図11:ステップS1107)、そのダイレクトアクセス用URIリストをダイレクトアクセス開始応答<D-26>としてサービスサーバ30に送信する(図11:ステップS1111)。
【0200】
また、ダイレクトアクセス管理サーバ40は、トンネリングによるコンテンツ取得を指示するエラーコードをダイレクトアクセス用URI取得応答<D-25>として受信した場合には(図11:ステップS1109)、ダイレクトアクセス管理サーバ40内トンネリング用ポートの割当てを行い(図11:ステップS1110)、この割り当てたダイレクトアクセス管理サーバ40内トンネリング用ポートのポート番号とダイレクトアクセス管理サーバ40のグローバルIPアドレスを用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-26>をサービスサーバ30へ送信する(図11:ステップS1111)。
【0201】
以上により、サービスサーバ30は、DVR20からダイレクトにコンテンツを取得するためのダイレクトアクセスURIを取得したので、DVR20から選択されたコンテンツを取得する処理を開始する。なお、ここでは、サービスサーバ30がダイレクトアクセス開始応答<D-26>として受信したダイレクトアクセス用URIリストには、ユーザによって選択されたコンテンツのそれぞれに対応するダイレクトアクセスURIが格納されている。
【0202】
サービスサーバ30は、ダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-26>を受信すると(図18:ステップS1826)、そのダイレクトアクセス用URIリストの中から取得処理を行うコンテンツに対応するダイレクトアクセス用URIを選択し、そのダイレクトアクセスURIを含むコンテンツ取得要求<D-27>をDVR20に送信する(図18:ステップS1827)。DVR20は、サービスサーバ30からのコンテンツ取得要求<D-27>を受信すると(図12:ステップS1218)、このコンテンツ取得要求<D-27>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1219)、不正なURIであるなら、不正なURIであることを示すエラーコードをコンテンツ取得応答<D-27R>としてサービスサーバ30に送信する(図12:ステップS1220)。正当なURIである場合は、DVR20は、そのダイレクトアクセス用URIで指定されているコンテンツをコンテンツ取得応答<D-27R>としてサービスサーバ30に送信する(図12:ステップS1221)。
【0203】
サービスサーバ30は、DVR20からコンテンツをコンテンツ取得応答<D-27R>として受信すると(図18:ステップS1828)、このコンテンツをコンテンツ取得応答<D-28>として携帯電話10に送信し(図18:ステップS1829)、ダイレクトアクセス用URIリストに格納されているすべてのコンテンツの携帯電話10への送信が完了するまで、ステップS1827のコンテンツ取得要求<D-27>をDVR20に送信することを繰り返す(図18:ステップS1830)。携帯電話10は、コンテンツを含むコンテンツ取得応答<D-28>を受信する(図17:ステップS1727)と、受信したコンテンツを、表示部を通じてユーザに表示する。
【0204】
また、サービスサーバ30は、DVR20から不正なURIであることを示すエラーコードをコンテンツ取得応答<D-27R>として受信した場合には(図18:ステップS1831)、このエラーコードをコンテンツ取得応答<D-28>として携帯電話10に送信する(図18:ステップS1832)。
【0205】
以上で説明したように、携帯電話10は、DVR20へのダイレクトなアクセス、若しくは、サービスサーバ30による代理アクセスを利用して、DVR20からコンテンツを取得することができる。なお、上述の説明においては、コンテンツ取得サービスはトンネリング不可のサービスとして説明したが、リモート録画予約サービスで説明したトンネリングの処理をコンテンツ取得サービスに適用することにより、コンテンツ取得サービスにおいてもダイレクトアクセス管理サーバ40のXMPPサーバ43を介したトンネリングの処理を利用してDVR20からコンテンツを取得させることは可能である。
【0206】
[5.ダイレクトアクセス終了]
【0207】
次に、上述の各種処理が完了し、サービスサーバ30、ダイレクトアクセス管理サーバ40及びDVR20でダイレクトアクセスを終了させる処理に関して説明する。図20はダイレクトアクセス終了時の情報の流れを示すシーケンス図、図21はダイレクトアクセス終了時のサービスサーバ30の動作を示すフローチャート、図22はダイレクトアクセス終了時のダイレクトアクセス管理サーバ40の動作を示すフローチャート、図23はダイレクトアクセス終了時のDVR20の動作を示すフローチャートである。
【0208】
サービスサーバ30は、携帯電話10より、ユーザ識別情報を含むダイレクトアクセス終了通知<C-1>を受信すると(図21:ステップS2101)、ServiceID、制御機器・サービス管理ID、XMPPセッションID、サービスURN、ダイレクトアクセス用URIを含むダイレクトアクセス終了通知<C-2>をダイレクトアクセス管理サーバ40に送信する(図21:ステップS2102)。
【0209】
ダイレクトアクセス管理サーバ40は、ダイレクトアクセス終了通知<C-2>を受信すると(図22:ステップS2201)、サービスURNとダイレクトアクセス用URIを含むダイレクトアクセス終了通知<C-3>をDVR20に送信する(図22:ステップS2202)。このとき、ダイレクトアクセス終了通知<C-2>にダイレクトアクセスURIの指定が無い場合(図22:ステップS2206)、サービスURNのみを含むダイレクトアクセス終了通知<C-3>をDVR20に送信する(図22:ステップS2207)。
【0210】
DVR20は、サービスURNとダイレクトアクセス用URIを含むダイレクトアクセス終了通知<C-3>を受信すると(図23:ステップS2301)、指定されたダイレクトアクセス用URIに関するグローバルIPアドレスおよびポート番号を含むダイレクトアクセス用ポートをクローズ<C-4>する(図23:ステップS2302)。
【0211】
一方、サービスサーバ30は、ダイレクトアクセス終了通知<C-2>を送信後、携帯ダイレクトフラグの初期化を行う(図21:ステップS2103)。次いでServiceID、制御機器・サービス管理ID、XMPPセッションIDを含むXMPPログアウト通知<C-5>をダイレクトアクセス管理サーバ40に送信する(図21:ステップS2104)。最後にサービスサーバ30は、XMPPセッションIDエントリを消去する(図21:ステップS2105)。
【0212】
ダイレクトアクセス管理サーバ40は、ServiceID、制御機器・サービス管理ID、XMPPセッションIDを含むXMPPログアウト通知<C-5>を受信すると(図22:ステップS2203)、該XMPPセッションIDに関するすべてのサービスURNのダイレクトアクセスの終了通知をDVR20に発行したかどうかを判断する(図22:ステップS2204)。ダイレクトアクセスの終了を通知すべきサービスURNが残っている場合には、サービスURNのみを指定し、ダイレクトアクセス用URIの指定がされていないダイレクトアクセス終了通知<C-3>をDVR20へ送信し(図22:ステップS2205)、全ての終了通知を発行したら、サービスサーバ30からのダイレクトアクセス終了通知<C-2>に待機する。
【0213】
DVR20は、ダイレクトアクセス管理サーバ40からダイレクトアクセス用URIの指定されていないダイレクトアクセス終了通知<C-3>を受信すると(図23:ステップS2303)、ダイレクトアクセス終了通知<C-3>で指定されているサービスURNに関するすべてのポートをクローズする(図23:ステップS2304、S2305)。
【0214】
以上の処理を実行することによって、サービスサーバ30、ダイレクトアクセス管理サーバ40及びDVR20でダイレクトアクセスを終了させる。
【0215】
上記の実施形態では、携帯電話10からの要求によって、サービスサーバ30がダイレクトアクセス管理サーバ40からワンタイムパスワードである被制御機器登録用パスワードを取得する方法を説明したが、本実施形態においては、DVR20(被制御機器)がワンタイムパスワードである被制御機器登録用パスワードをダイレクトアクセス管理サーバ40から取得するようにしてもよい。
【0216】
(発明の第2の実施形態)
【0217】
次に、本発明の第2の実施形態について説明する。
【0218】
上記の実施形態では、携帯電話10からの要求によって、サービスサーバ30がダイレクトアクセス管理サーバ40からワンタイムパスワードである被制御機器登録用パスワードを取得する方法を説明したが、本実施形態においては、DVR20(被制御機器)がワンタイムパスワードである被制御機器登録用パスワードをダイレクトアクセス管理サーバ40から取得する。
【0219】
図26は第2の実施形態における携帯電話10とサービスとの組み合わせの登録とDVR20の登録を行う際の情報の流れを示すシーケンス図である。図27はこの登録時に携帯電話10で実行される処理のフローチャートである。図28はこの登録時にサービスサーバ30で実行される処理のフローチャートである。図29および図30は登録時にダイレクトアクセス管理サーバ40で実行される処理のフローチャートである。図31はこの登録時にDVR20で実行される処理のフローチャートである。
【0220】
まず、DVR20では、DVR20に接続されたTVの画面に表示されたメニューからの選択等によってユーザからDVR20の機器登録準備を行うための指示が与えられる(図31:ステップS3101)。この時点では、DVR20がダイレクトアクセス管理サーバ40において未登録であるため、DVR20に保持されている自動接続フラグの値はオフである(図31:ステップS3102)。よって、DVR20は、ダイレクトアクセス管理サーバ40において自身の登録を行うための処理を開始する。
【0221】
DVR20は、ダイレクトアクセス管理サーバ40に自身の登録を行うために、自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R-20>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図31:ステップS3103)。
【0222】
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、DVR20からの機器認証要求<R-20>を受信すると(図29:ステップS2901)、このDVR20が正当な機器であるかどうかを、機器認証要求<R-20>に含まれる認証方式の情報および機器認証情報に基づき判定する(図29:ステップS2902)。不当な機器として判定された場合には、SOAPサーバ42は、エラーを示すコードを機器認証応答<R-20R>としてDVR20に送信する(図29:ステップS2906)。正当な機器として判定された場合には、SOAPサーバ42は、そのDVR20に対して割り当てる機器認証継続IDを生成して(図29:ステップS2903)、この機器認証継続IDと、この機器認証継続IDの有効期限と、DVR20の機器認証情報とを対応付けて記憶部41に保存する(図29:ステップS2904)。その後、SOAPサーバ42は、上記の生成した機器認証継続IDとその有効期限の情報を含む情報を機器認証応答<R-20R>としてDVR20へ送信する(図29:ステップS2905)。
【0223】
DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からの機器認証応答<R-20R>としてエラーを示すコードを受信した場合には、DVR20が正当な機器でない旨のエラーメッセージを表示する。DVR20は、機器認証応答<R-20R>として機器認証継続IDとその有効期限の情報を含む情報を受信した場合には(図31:ステップS3104)、この機器認証応答R-20R>に含まれる機器認証継続ID及びその有効期限の情報を機器認証情報と対応付けて記憶部21に保存する(図31:ステップS3105)。その後、DVR20は、自身を携帯電話10の制御対象として登録するための被制御機器登録用パスワード取得処理に進む。
【0224】
一方、DVR20の機器登録を行うための指示がユーザからDVR20に与えられたときに、ステップS3102で自動接続フラグの値がオンである場合には、以前に少なくとも一度、ダイレクトアクセス管理サーバ40との間で機器認証手続(ステップS3103乃至S3105)、被制御機器登録用パスワードの取得の手続(ステップS3106乃至S3109)及び登録手続(ステップS3110乃至S3114)を実行した状態である。よってDVR20は、ダイレクトアクセス管理サーバ40への機器認証及び機器登録を既に完了しており、ダイレクトアクセス管理サーバ40より機器認証継続IDを既に受け取っている。このためDVR20は、ステップS3103からステップS3105までの機器認証のための手順を省略して、ダイレクトアクセス管理サーバ40より取得済みの機器認証継続IDを用いて新たな制御機器をDVR20に紐付けするための被制御機器登録用パスワード取得処理に進む。
【0225】
次に、制御機器である携帯電話10を登録し、携帯電話10をDVR20の制御機器として紐付けする処理について説明する。
【0226】
まず、DVR20は、制御機器である携帯電話10の制御対象として被制御機器であるDVR20をダイレクトアクセス管理サーバ40に登録するためのパスワードを取得するための処理を実行する。
【0227】
DVR20は、ダイレクトアクセス管理サーバ40より取得した機器認証継続IDとその有効期限の情報とを含む被制御機器登録用パスワード取得要求<R-21>をダイレクトアクセス管理サーバ40に送信する(図31:ステップS3106)。
【0228】
ダイレクトアクセス管理サーバ40は、DVR20より被制御機器登録用パスワード取得要求<R-21>を受信すると(図29:ステップS2907)、この被制御機器登録用パスワード取得要求<R-21>に含まれる機器認証継続IDとその有効期限のチェックを行う(図29:ステップS2908)。このチェックでNGが判定された場合、すなわち、被制御機器登録用パスワード取得要求<R-21>に含まれる機器認証継続IDがダイレクトアクセス管理サーバ40の記憶部41に機器認証情報と対応付けて記憶されているどの機器認証継続IDとも一致しないか、もしくは機器認証継続IDの有効期限が切れている場合には、機器認証が必要であることを示すエラーコードを含む被制御機器登録用パスワード取得応答<R-21R>をDVR20へ送信する(図29:ステップS2909)。
【0229】
DVR20は、エラーコードを含む被制御機器登録用パスワード取得応答<R-21R>を受信すると(図31:ステップS3107)、ステップS3103に戻って、自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R-20>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に再度送信する(図31:ステップS3103)。これにより、DVR20は、再度、機器認証をダイレクトアクセス管理サーバ40との間で行い、新たな有効期限を持つ機器認証継続IDに更新する手続きを行う。
【0230】
また、ダイレクトアクセス管理サーバ40による機器認証継続IDとその有効期限のチェック(図29:ステップS2908)の結果がOKである場合、すなわち、被制御機器登録用パスワード取得要求<R-21>に含まれる機器認証継続IDがダイレクトアクセス管理サーバ40の記憶部41に機器認証情報と対応付けて記憶されている機器認証継続IDと一致し、かつ機器認証継続IDの有効期限が切れていない場合、ダイレクトアクセス管理サーバ40は被制御機器登録用パスワードを生成し(図29:ステップS2910)、この生成した被制御機器登録用パスワードを、機器認証継続IDと対応付けて記憶部41に保存する(図29:ステップS2911)。この後、ダイレクトアクセス管理サーバ40は、生成した被制御機器登録用パスワードとその有効期限の情報を被制御機器登録用パスワード取得応答<R-21R>としてDVR20に送信する(図29:ステップS2912)。
【0231】
DVR20は、ダイレクトアクセス管理サーバ40より被制御機器登録用パスワードとその有効期限の情報を含む被制御機器登録用パスワード取得応答<R-21R>を受信すると(図31:ステップS3108)、携帯電話10にこの被制御機器登録用パスワーとその有効期限の情報<R-22>を渡すために、例えば、内部でQRコード(商標)等の2次元バーコードを生成し、DVR20に接続されたTV画面などに表示する(図31:ステップS3109)。
【0232】
一方、携帯電話10は、ユーザからの被制御機器の登録指示を受けると(図27:ステップS2701)、DVR20から被制御機器登録用パスワードとその有効期限の情報<R-22>を取得する処理を実行する。たとえば、携帯電話10は、DVR20に接続されたTV画面に表示されたQRコード(商標)等の2次元バーコードを携帯電話10に装備されているカメラで撮像し、撮像されたバーコードを画像認識することによって、被制御機器登録用パスワードと有効期限の情報<R-22>を取得する(図27:ステップS2702)。
【0233】
次に、携帯電話10は、ダイレクトアクセス管理サーバ40に制御機器である携帯電話10と被制御機器であるDVR20とを紐付けさせるための処理を実行する。
【0234】
携帯電話10は、取得した被制御機器登録用パスワードと、携帯電話10に予め登録されているユーザ識別情報とを含む被制御機器登録要求<R-23>をサービスサーバ30に送信する(図27:ステップS2703)。
【0235】
サービスサーバ30は、携帯電話10より、被制御機器登録用パスワードとユーザ識別情報とを含む被制御機器登録要求<R-23>を受信すると(図28:ステップS2801)、その被制御機器登録要求<R-23>に含まれているユーザ識別情報に対応する制御機器・サービス管理IDがサービスサーバ30の記憶部31に記憶されているかどうかを判断する(図28:ステップS2802)。
【0236】
サービスサーバ30の記憶部31に、ユーザ識別情報に対応する制御機器・サービス管理IDが記憶されていない場合、サービスサーバ30は、被制御機器登録要求<R-23>に含まれていたユーザ識別情報を記憶部31に保存し(図28:ステップS2803)、あらかじめ自身に割り当てられているServiceIDを含む制御機器・サービス管理ID取得要求<R-34>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に対して送信する(図28:ステップS2804)。すなわち、携帯電話10がサービスサーバ30の提供するサービスを初めて利用する状態であるため、サービスサーバ30は、以降の携帯電話10からのサービス要求の際にダイレクトアクセス管理サーバ40との処理で利用する、制御機器である携帯電話10とサービスサーバ30で提供されるサービスとの組み合わせを一意に特定するための制御機器・サービス管理IDの発行を、ダイレクトアクセス管理サーバ40に対して要求する。ここで、制御機器・サービス管理IDは、サービス事業者が提供する個々のサービスと制御機器との組み合わせに対してユニークに割り当てられるIDである。
【0237】
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、制御機器・サービス管理ID取得要求<R-34>を受信すると(図30:ステップS3001)、この制御機器・サービス管理ID取得要求<R-34>に含まれているServiceIDが、ダイレクトアクセス管理サーバ40の記憶部41に記憶されているかどうかを調べる(図30:ステップS3002)。制御機器・サービス管理ID取得要求<R-34>に含まれているServiceIDが記憶部41に記憶されていない場合には、サービスサーバ30がダイレクトアクセス管理サーバ40に認められたサービス事業者のサービスサーバではないため、ServiceIDが未登録であることを示すエラーコードを制御機器・サービス管理ID取得応答<R-34R>として送信する(図30:ステップS3006)。ServiceIDが記憶部41に記憶されている場合には、SOAPサーバ42は、新規の制御機器・サービス管理IDを発行して(図30:ステップS3003)、この制御機器・サービス管理IDとServiceIDとの対応関係を記憶部41に登録し(図30:ステップS3004)、その制御機器・サービス管理IDをサービスサーバ30に制御機器・サービス管理ID取得応答<R-34R>として送信する(図30:ステップS3005)。このように制御機器・サービス管理IDとServiceIDを対応付けて記憶することにより、ダイレクトアクセス管理サーバ40は、以降のサービス提供で、サービス提供を要求した携帯電話10とサービスサーバ30との組み合わせを一意に識別することが可能となる。
【0238】
サービスサーバ30は、ダイレクトアクセス管理サーバ40より、制御機器・サービス管理IDを含む制御機器・サービス管理ID取得応答<R-34R>を受信すると(図28:ステップS2805)、この制御機器・サービス管理IDを携帯電話10のユーザ識別情報と対応付けて記憶部31に登録する(図28:ステップS2806)。
【0239】
サービスサーバ30は、制御機器・サービス管理IDをユーザ識別情報と対応付けて記憶部31に登録した後、または、携帯電話10から受信した被制御機器登録要求<R-23>に含まれるユーザ識別情報に対応する制御機器・サービス管理IDが既に記憶部31に登録されている場合、制御機器・サービス管理IDおよびServiceIDと、ステップS2801で携帯電話10より取得した被制御機器登録用パスワードとを含む被制御機器登録要求<R-25>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に対して送信する(図28:ステップS2807)。これにより、サービスサーバ30は、携帯電話10から送信されてきた被制御機器登録用パスワードで特定される被制御機器であるDVR20と、制御機器である携帯電話10とサービスサーバ30のサービスとの組み合わせを特定する制御機器・サービス管理IDとの関連付けを、ダイレクトアクセス管理サーバ40に要求する。
【0240】
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、サービスサーバ30より被制御機器登録要求<R-25>を受信すると(図30:ステップS3007)、これに含まれている制御機器・サービス管理IDおよびServiceIDの組み合わせが記憶部41に登録されているかどうかを判断する(図30:ステップS3008)。その組み合わせが記憶部41に登録されていない場合、SOAPサーバ42は、制御機器・サービス管理IDとServiceIDの組み合わせが未登録であることを示すエラーコードを被制御機器登録応答<R-25R>としてサービスサーバ30へ送信する(図30:ステップS3013)。
【0241】
被制御機器登録要求<R-25>に含まれている制御機器・サービス管理IDおよびServiceIDの組み合わせが記憶部41に既に登録されている場合、SOAPサーバ42は、被制御機器登録用パスワードと有効期限についてのチェックを行う(図30:ステップS3009)。このチェックの結果、サービスサーバ30より取得した被制御機器登録用パスワードと一致するパスワードが記憶部41に記憶されていない場合、もしくは有効期限が切れている場合、SOAPサーバ42は、被制御機器登録要求<R-25>に含まれている被制御機器登録用パスワードが無効であることを示すエラーコードを被制御機器登録応答<R-25R>としてサービスサーバ30へ送信する(図30:ステップS3013)。
【0242】
サービスサーバ30は、SOAPサーバ42より未登録であることを示すエラーコード若しくは被制御機器登録用パスワードが無効であることを示すエラーコードを含む被制御機器登録応答<R-25R>を受信した場合には(図28:ステップS2808)、被制御機器の登録処理でエラーが起きたことを示すエラーコードを被制御機器登録応答<R-26>として携帯電話10に送信する(図28:ステップS2809)。
【0243】
また、ステップS3009のチェックの結果、サービスサーバ30より取得した被制御機器登録用パスワードが記憶部41に記憶されており、かつ有効期限が切れていない場合、SOAPサーバ42は、ステップS2911において記憶部41に記憶した被制御機器登録用パスワードと機器認証継続IDの対応付けから、サービスサーバ30より取得した被制御機器登録用パスワードに対応する機器認証継続IDを検索し、検索結果の機器認証継続IDに対応付けられた被制御機器管理IDが割り当て済みか否か判断する(図30:ステップS3010-1)。被制御機器管理IDが割り当てられていない場合、SOAPサーバ42は、新規の被制御機器管理IDを発行する(図30:ステップS3010-2)。その後、機器認証継続IDに対応したServiceID、制御機器・サービス管理IDと、新規に割り当てた被制御機器管理IDとを対応付けて記憶部41に保存する(図30:ステップS3011)。ステップS3010-1において、機器認証継続IDに対応付けられた被制御機器管理IDが既に割り当てられている場合には、SOAPサーバ42は、既に割り当てられている被制御機器管理IDと、機器認証継続IDに対応したServiceID、制御機器・サービス管理IDとを対応付けて記憶部41に保存する。
【0244】
被制御機器管理IDとは、被制御機器に対してダイレクトアクセス管理サーバ40内でユニークに割り当てられる識別情報である。これによって、制御機器とサービスとの組み合わせに対して割り当てられた制御機器・サービス管理IDと、被制御機器に対して割り当てられた被制御機器管理IDとの紐付けが行われる。この紐付けは、1つの制御機器・サービス管理IDに対して複数の被制御機器管理IDが紐付けされても、逆に複数の制御機器・サービス管理IDが1つの被制御機器管理IDに紐付けされても構わない。
【0245】
この後、SOAPサーバ42は、被制御機器の登録が完了したことを示す被制御機器登録応答<R-25R>をサービスサーバ30に送信する(図30:ステップS3012)。さらに、サービスサーバ30は、SOAPサーバ42より登録が完了したことを示す被制御機器登録応答<R-25R>を受信した場合には(図28:ステップS2808)、被制御機器の登録が完了したことを示す被制御機器登録応答<R-26>を携帯電話10に送信する(図28:ステップS2809)。
【0246】
携帯電話10はサービスサーバ30より当該被制御機器登録応答<R-26>を受信すると(図27:ステップS2704)、被制御機器の登録処理を終了する。
【0247】
以上の処理が完了した後、ユーザは、DVR20に対して割り当てられた被制御機器管理IDと制御機器・サービス管理IDとの紐付けが完了したかどうかの確認の指示を、DVR20に接続されたTVの画面に表示されたメニューの選択等によってDVR20に与える(図31:ステップS3110)。
【0248】
DVR20は、この確認の指示を受けると、記憶部21に記憶されている自身の機器認証継続IDと被制御機器登録用パスワードを含む被制御機器登録確認要求<R-27>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図31:ステップS3111)。
【0249】
SOAPサーバ42は、DVR20からの被制御機器登録確認要求<R-27>を受信すると(図29:ステップS2913)、この被制御機器登録確認要求<R-27>に含まれている、DVR20の機器認証継続IDとこの機器認証継続IDの有効期限のチェックを行う(図29:ステップS2914)。
【0250】
ステップS2914におけるチェックでOKと判定された場合、すなわち、DVR20の機器認証継続IDが記憶部41に記憶されており、かつ有効期限が切れていない場合には、SOAPサーバ42は、被制御機器登録用パスワードの有効期限についてのチェックを行う(図29:ステップS2915)。このチェックの結果DVR20より取得した被制御機器登録用パスワードの有効期限が切れている場合、SOAPサーバ42は、被制御機器登録確認要求<R-27>に含まれている被制御機器登録用パスワードの有効期限が切れていることを示すエラーコードを被制御機器登録確認応答<R-27R>としてDVR20へ送信する(図29:ステップS2920)。被制御機器登録用パスワードの有効期限が切れていない場合には、SOAPサーバ42は、記憶部41に記憶されている情報を参照して、被制御機器登録確認要求<R-27>に含まれている被制御機器登録用パスワードに対応付けて記憶部41に記憶されている被制御機器管理IDを検索し、この被制御機器管理IDと紐付けられている制御機器・サービス管理IDの数を、DVR20に現在紐付けられているサービスの数として調べる。
【0251】
SOAPサーバ42は、DVR20に現在紐付けられているサービスの数を調べた後に、そのサービスの数の情報を被制御機器登録確認応答<R-27R>としてDVR20に送信する(図29:ステップS2916)。次に、SOAPサーバ42は、被制御機器であるDVR20の機器登録が完了していることをサービスサーバ30に通知するために、記憶部41に記憶されているそのサービスサーバ30のServiceID,このServiceIDに対応付けられた制御機器・サービス管理IDおよび被制御機器登録用パスワードを含む被制御機器登録完了通知<R-28>をサービスサーバ30に送信する(図29:ステップS2917)。そして、SOAPサーバ42は、記憶部41に記憶されているDVR20の被制御機器登録用パスワードを消去する(図29:ステップS2918)。
【0252】
サービスサーバ30は、SOAPサーバ42より被制御機器登録完了通知<R-28>を受信すると(図28:ステップS2810)、被制御機器の登録が完了したことを携帯電話10に通知する(図28:ステップS2811)。被制御機器の登録が完了したことをサービスサーバ30から携帯電話10に通知する方法としては、たとえば、電子メールや、携帯電話10との間でその他の方法で通信を行うために用意されたアプリケーション等がある。
【0253】
DVR20は、SOAPサーバ42より、サービスの数の情報を含む被制御機器登録確認応答<R-27R>を受信すると(図31:ステップS3112)、自動接続フラグをオンにセットし(図31:ステップS3113)、自機器に接続されたTVの画面等に自機器の登録が完了したことを表すメッセージを表示する(図31:ステップS3114)。
【0254】
また、SOAPサーバ42は、ステップS2814のチェックで、NGが判定された場合、すなわち、DVR20の機器認証継続IDが記憶部41に記憶されていない、またはその機器認証継続IDの有効期限が切れている場合には、機器認証継続IDおよび被制御機器登録用パスワードのチェックのエラーを示すエラーコードを被制御機器登録確認応答<R-27R>としてDVR20に送信する(図30:ステップS3013)。DVR20は、このチェックエラーを示すエラーコードを被制御機器登録確認応答<R-27R>として受信すると(図31:ステップS3125)、機器の再登録が必要であることを示すメッセージを自機器に接続されたTVの画面等に表示してユーザに通知する(図31:ステップS3126)。この後DVR20の動作は終了する。
【0255】
DVR20にて自動接続フラグがオンにセットされ(図31:ステップS3113)、自機器に接続されたTVの画面等に自機器の登録が完了したことを表すメッセージが表示された後(図31:ステップS3114)、DVR20は、ダイレクトアクセス管理サーバ40のXMPPサーバと双方向の常時接続セッションを確立するために、自身の機器認証継続IDを含むXMPPログイン情報取得要求<D-0-1>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図31:ステップS3115)。
【0256】
この実施形態のネットワークシステムでは、第1の実施形態のネットワークシステムと同様に、ダイレクトアクセス管理サーバ40に、被制御機器との間で双方向の常時接続セッションを設定するためのXMPPサーバ43を置いている。制御機器である携帯電話10から被制御機器であるDVR20にアクセスするために、その前にDVR20がXMPPサーバ43にログインし、DVR20とXMPPサーバ43の間で常時接続セッションを確立しておく。これにより、サービスサーバ30または携帯電話10が、必要なときには、DVR20から必要な情報を取得できるようにしてある。また、この際のサービスサーバ30の設計を簡単にするために、この実施形態のネットワークシステムでも、第1の実施形態のネットワークシステムと同様に、XMPPプロトコルをダイレクトアクセス管理サーバ40内に隠蔽し、SOAPインタフェースだけで、DVR20と双方向の常時接続セッションを設定しているXMPPサーバ43との情報のやり取りを行えるようにしている。
【0257】
なお、DVR20がXMPPサーバ43にログインする際のダイレクトアクセス管理サーバ40の動作は第1の実施形態と同じであるので、以下の第2の実施形態の説明においても第1の実施形態の説明で用いた図10を用いることとする。
【0258】
ダイレクトアクセス管理サーバ40は、DVR20より機器認証継続IDを含むXMPPログイン情報取得要求<D-0-1>を受信すると(図10:ステップS1001)、このXMPPログイン情報取得要求<D-0-1>に含まれている機器認証継続IDと、機器認証継続IDの有効期限のチェックを行う(図10:ステップS1002)。このチェックでXMPPログイン情報取得要求<D-0-1>に含まれている機器認証継続IDが、ダイレクトアクセス管理サーバ40の記憶部41に記憶されているものと一致しない場合、もしくは、有効期限が切れている場合には、DVR20が正常にダイレクトアクセス管理サーバ40に登録されていないか、もしくは、過去に登録されていたが登録時の機器認証継続IDの有効期限が切れているのかであるため、機器認証が必要であることを示すエラーコードをXMPPログイン情報取得応答<D-0-1R>としてDVR20に送信する(図10:ステップS1003)。機器認証継続IDが記憶部41に記憶されており、かつ有効期限が切れておらず、ステップS1002におけるチェック結果がOKであれば、ダイレクトアクセス管理サーバ40は、記憶部41から機器認証継続IDに紐付けられている被制御機器管理ID及び機器認証情報を検索する(図10:ステップS1004)。ダイレクトアクセス管理サーバ40は、被制御機器管理IDと機器認証情報から、DVR20がXMPPサーバ43にログインするために必要なXMPPログインIDであるFull JID(D)と、XMPPログインパスワードおよびXMPPログインパスワードの有効期限を生成し(図10:ステップS1005)、これらを機器認証継続IDに対応付けて記憶部41に保存する(図10:ステップS1006)。そして、ダイレクトアクセス管理サーバ40は、生成したFull JID(D)、XMPPログインパスワードおよびその有効期限の情報に、XMPPアドレスおよびポート番号、認証方式の情報およびSSLオプションを加えた情報をXMPPログイン情報取得応答<D-0-1R>としてDVR20に送信する(図10:ステップS1007)。
【0259】
DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からFull JID(D)、XMPPログインパスワード等を含むXMPPログイン情報取得応答<D-0-1R>を受信すると(図31:ステップS3116)、XMPPサーバ43にログインするために、Full JID(D)、XMPPログインパスワードを含むXMPPログイン認証要求<D-0-2>を、ダイレクトアクセス管理サーバ40内のXMPPサーバ43に送信する(図31:ステップS3117)。
【0260】
ダイレクトアクセス管理サーバ40内のXMPPサーバ43は、DVR20よりXMPPログイン認証要求<D-0-2>を受信すると(図10:ステップS1008)、このXMPPログイン認証要求<D-0-2>に含まれているFull JID(D)、XMPPログインパスワードおよびXMPPログインパスワードの有効期限のチェックを行う(図10:ステップS1009)。XMPPサーバ43は、Full JID(D)が記憶部41に記憶されているものと一致しない、または、XMPPログインパスワードが記憶部41に記憶されているものと一致しない、または、XMPPログインパスワードの有効期限が切れている場合には、XMPPログイン失敗を示すエラーコードをXMPPログイン認証応答<D-0-2R>としてDVR20に送信する(図10:ステップS1010)。また、Full JID(D)、XMPPログインパスワードおよび有効期限のチェックがすべてOKならば、ダイレクトアクセス管理サーバ40内のXMPPサーバ43は、XMPPログイン許可を示すコードをXMPPログイン認証応答<D-0-2R>としてDVR20に送信する(図10:ステップS1011)。
【0261】
DVR20は、ダイレクトアクセス管理サーバ40よりXMPPログイン失敗を示すエラーコードをXMPPログイン認証応答<D-0-2R>として受信すると(図31:ステップS3118)、ステップS3115に戻ってXMPPログイン情報の取得要求を行う。すなわち、XMPPログインパスワードの有効期限が切れている可能性があるため、再度、XMPPログイン情報の取得要求処理を行う。
【0262】
また、DVR20は、ダイレクトアクセス管理サーバ40よりXMPPログイン許可を示すコードをXMPPログイン認証応答<D-0-2R>として受信すると(図31:ステップS3119)、XMPPログイン処理を完了する。
【0263】
なお、DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42より、機器認証が必要であることを示すエラーコードをXMPPログイン情報取得応答<D-0-1R>として受信した場合には(図31:ステップS3120)、自機が正常にダイレクトアクセス管理サーバ40に登録されていないか、もしくは、機器認証継続IDの有効期限が切れている可能性があるため、再度、自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R-20>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信して自身の機器認証をやりなおす(図31:ステップS3121)。
【0264】
DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からの機器認証応答<R-20R>を受信すると(図31:ステップS3122)、この機器認証応答<R-20R>に含まれる機器認証継続ID、その有効期限の情報を機器認証情報と対応付けて記憶部21に保存する(図31:ステップS3123)。この後、DVR20はステップS3115に移って、自身の機器認証継続IDを含むXMPPログイン情報取得要求<D-0-1>を、再度、ダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する。
【0265】
また、SOAPサーバ42は、ステップS2914において、ステップS2913で受信した被制御機器登録確認要求<R-27>に含まれているDVR20の機器認証継続IDが記憶部41に記憶されている機器認証継続IDと一致しない、またはその機器認証継続IDの有効期限が切れている場合には、機器認証が必要である旨を示すエラーコードを被制御機器登録確認応答<R-27R>としてDVR20に送信する(図29:ステップS2919)。
【0266】
DVR20は、機器認証が必要である旨を示すエラーコードを被制御機器登録確認応答<R-27R>として受信すると(図31:ステップS3124)、自機が正常にダイレクトアクセス管理サーバ40に登録されていないか、もしくは、機器認証継続IDの有効期限が切れている可能性があるため、再度、自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R-20>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信して自身の機器認証をやりなおす(図31:ステップS3121)。
【0267】
DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からの機器認証応答<R-20R>を受信すると(図31:ステップS3122)、この機器認証応答<R-20R>に含まれる機器認証継続ID、その有効期限の情報を機器認証情報と対応付けて記憶部21に保存する(図31:ステップS3123)。この後、DVR20はステップS3115に移って、自身の機器認証継続IDを含むXMPPログイン情報取得要求<D-0-1>を、再度、ダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する。
【0268】
以上説明したように、DVR20(被制御機器)がワンタイムパスワードである被制御機器登録用パスワードをダイレクトアクセス管理サーバ40から取得するようにしてもよい。
【0269】
尚、DVR20から携帯電話10に対して被制御機器登録用パスワードとその有効期限の情報を受け渡すために、携帯電話10に備えたカメラで二次元バーコードを撮像する方法を説明したが、DVR20から携帯電話10に対して被制御機器登録用パスワードとその有効期限の情報を渡すことができさえすれば、どのような渡し方であっても構わない。例えば、非接触式のICカードの書き込みデバイスをDVR20に装備し、携帯電話10にICカードの読み込みデバイスを装備させ、DVR20で被制御機器登録用パスワードとその有効期限の情報をICカードに書き込みを行い、携帯電話10でICカードから情報を読み取らせるように構成してICカードを媒介として伝えることも可能である。また、ICカード内に設けられるアンテナやICチップなどのデバイスと同様の構成を、携帯電話10に内蔵させ、DVR20の書き込みデバイスで、直接、携帯電話10に書き込ませるように構成することも可能である。更には、携帯電話10及びDVR20に、無線LAN,Bluetooth、赤外通信等の無線通信デバイスを装備させ、無線通信を介して、被制御機器登録用パスワードとその有効期限の情報を伝送させるように構成させることや、携帯電話10及びDVR20にUSB等の有線通信デバイスを装備させ、有線通信を介して伝送させるなどしても構わない。
【0270】
以上、本発明の実施形態のネットワークシステムの構成および動作を説明したが、サービスサーバ30の機能の一部は制御機器に移すことも可能である。例えば、サービスサーバ30がもっていた、SOAPインタフェースへのアクセス機能を制御機器(携帯電話10)がもつように変更することによって、XMPPログイン要求から始まるダイレクトアクセスの利用シーケンスは、制御機器(携帯電話10)とダイレクトアクセス管理サーバ40間で直接行える。
【0271】
また、制御機器の機能と被制御機器の機能が一体になることも可能である。この場合、制御機器(携帯電話10)から被制御機器(DVR20)のXMPPセッションにアクセスする際に、SOAPサーバ42を経由しないで、XMPPセッション間でダイレクトアクセスに必要な情報を交換することになる。
【0272】
さらに、被制御機器同士のダイレクトアクセスも行うことも可能である。この場合、被制御機器同士の関連付けは、制御機器を用いて行う。
【0273】
以上説明した実施形態では、制御機器である携帯電話10とダイレクトアクセス管理サーバ40との間にサービスサーバ30を配置しているため、ダイレクトアクセス管理サーバ40は、携帯電話10とサービスサーバ30との組み合わせに対して生成した制御機器・サービス管理IDを被制御機器管理IDと関連付けて記憶することとしたが、本発明はこのことに限定されない。すなわち、本発明は、サービスサーバ30を介さず、制御機器とダイレクトアクセス管理サーバ40との間で直接通信が行われる環境においても利用することができるものである。この場合にはダイレクトアクセス管理サーバ40は、上記の実施形態での制御機器・サービス管理IDに代えて制御機器を識別する制御機器管理IDを生成し、これを被制御機器管理IDと関連付けて記憶する。また、制御機器管理IDは、ダイレクトアクセス管理サーバ40にて生成してもよいし、制御機器が自身を識別することのできるIDを公開可能なものであるなら、この制御機器から与えられたIDを、被制御機器管理IDと関連付けられる制御機器管理IDとして用いてもよい。このことは、被制御機器管理IDについても同様であり、被制御機器が自身を識別することのできるIDを公開可能なものであるなら、この被制御機器から与えられたIDを、制御機器管理IDと関連付けられる被制御機器管理IDとして用いてもよい。また、ダイレクトアクセス管理サーバ40に制御機器および被制御機器として接続される機器は、それぞれ他の機器の制御を行う部分と他の機器によって制御が行われる部分の両方を有するものであってもよい。
【0274】
(本発明の概念)
図33は本発明の特徴を概念的に示す図である。本発明にかかるサーバ装置140は、ネットワークを通じて第1の機器110および第2の機器120と接続される。サーバ装置140は、情報を記憶する記憶部141を備える。この記憶部141は上記の実施形態の記憶部41に対応するものである。サーバ装置140は、第1の機器110からの、第1の機器110に関連する第1の識別情報を含むパスワード発行要求に応じて第1のパスワードを生成し、第1の機器110に関連する第1の識別情報と対応付けて第1のパスワードを記憶部141に記憶し、生成した第1のパスワードを第1の機器110に送信する。ここで、第1の機器110および第2の機器120はそれぞれ、他の機器の制御を行う部分と他の機器によって制御が行われる部分の両方を有する機器である。
【0275】
第1の機器110は、サーバ装置140より取得した第1のパスワードを第2の機器120に転送し、第2の機器120はこれを第2のパスワードとして保持する。第2の機器120は自機器の登録をサーバ装置140に要求する際に、第2のパスワードと第2の機器120に関連する第2の識別情報をサーバ装置140に送信する。サーバ装置140は、第2の機器120から受信した第2のパスワードが記憶部141に記憶されているか否かを検証し、第2のパスワードが記憶部141に記憶されている際に、第2の機器120に関連する第2の識別情報を、その第2のパスワードと同じ第1のパスワードと対応付けられている第1の識別情報に関連付けて記憶部141に登録する。これにより、サーバ装置140において、第1の機器110の第1の識別情報と第2の機器120の第2の識別情報との関連付け、つまり制御する側の機器と制御される側の機器との関連付けが達成される。
【0276】
なお、サーバ装置140の記憶部141に記憶される第1の機器110に関連する第1の識別情報は、サーバ装置140によって生成されたものでもよいし、第1の機器110から提供される自機器の識別情報でもよい。また、サーバ装置140の記憶部141に記憶される第2の機器120に関連する第2の識別情報もサーバ装置140によって生成されたものでもよいし、第2の機器120から提供される自機器の識別情報であってもよい。
【0277】
図34は図33に示した本発明にかかるサーバ装置の変形例である。この変形例では、サーバ装置240は、ネットワークを通じて制御機器210および被制御機器220と接続される。サーバ装置240は、制御機器210からの、制御機器210に関連する第1の識別情報を含むパスワード発行要求に応じて第1のパスワードを生成し、制御機器210に関連する第1の識別情報と対応付けて第1のパスワードを記憶部241に記憶し、生成した第1のパスワードを制御機器210に送信する。
【0278】
制御機器210は、サーバ装置240より取得した第1のパスワードを第2の機器220に転送し、被制御機器220はこれを第2のパスワードとして保持する。被制御機器220は自機器の登録をサーバ装置240に要求する際に、第2のパスワードと被制御機器220に関連する第2の識別情報をサーバ装置240に送信する。サーバ装置240は、被制御機器220から受信した第2のパスワードが記憶部241に記憶されているか否かを検証し、第2のパスワードが記憶部241に記憶されている際に、被制御機器220に関連する第2の識別情報を、その第2のパスワードと同じ第1のパスワードと対応付けられている第1の識別情報に関連付けて記憶部241に登録する。これにより、サーバ装置240において、制御機器210の第1の識別情報と被制御機器220の第2の識別情報との関連付けが達成される。
【0279】
なお、サーバ装置240の記憶部241に記憶される制御機器210に関連する第1の識別情報は、サーバ装置240によって生成されたものでもよいし、制御機器210から提供される自機器の識別情報であってもよい。また、サーバ装置240の記憶部241に記憶される被制御機器220に関連する第2の識別情報もサーバ装置240によって生成されたものでもよいし、被制御機器220から提供される自機器の識別情報であってもよい。
【0280】
図35は図33に示した本発明にかかるサーバ装置の別の変形例である。この変形例では、サーバ装置340は、図34に示したサーバ装置240と同様にネットワークを通じて制御機器310および被制御機器320と接続される。ただし、この例では、サーバ装置340は、被制御機器320からの、被制御機器320に関連する第1の識別情報を含むパスワード発行要求に応じて第1のパスワードを生成し、被制御機器320に関連する第1の識別情報と対応付けて第1のパスワードを記憶部341に記憶し、第1のパスワードを被制御機器320に送信する。
【0281】
被制御機器320は、サーバ装置340より取得した第1のパスワードを制御機器310に転送し、制御機器310はこれを第2のパスワードとして保持する。制御機器310は自機器の登録をサーバ装置340に要求する際に、第2のパスワードと制御機器310に関連する第2の識別情報をサーバ装置340に送信する。サーバ装置340は、制御機器310から受信した第2のパスワードが記憶部341に記憶されているか否かを検証し、第2のパスワードが記憶部341に記憶されている際に、制御機器310に関連する第2の識別情報を、その第2のパスワードと同じ第1のパスワードと対応付けられている第1の識別情報に関連付けて記憶部341に登録する。これにより、サーバ装置340において、被制御機器320の第1の識別情報と制御機器310の第2の識別情報との関連付けが達成される。
【0282】
なお、サーバ装置340の記憶部341に記憶される被制御機器320に関連する第1の識別情報は、サーバ装置340によって生成されたものでもよいし、被制御機器320から提供される自機器の識別情報であってもよい。また、サーバ装置340の記憶部341に記憶される制御機器310に関連する第2の識別情報も、サーバ装置340によって生成されたものでもよいし、制御機器310から提供される自機器の識別情報であってもよい。
【0283】
図36は図33に示した本発明のさらに別の変形例である。この変形例では、制御機器410はサービスサーバ430を介してサーバ装置440と接続される。サーバ装置440はネットワークを通じて、サービスサーバ430および被制御機器420と接続される。サービスサーバ430は、携帯電話などの制御機器410に対してネットワーク越しに被制御機器420にアクセスする各種のサービスを提供するサーバである。したがって、この変形例は上記の第1の実施形態および第2の実施形態に対応する。
【0284】
サーバ装置440は、サービスサーバ430を通じて制御機器410から送られてきたパスワード発行要求に応じて第1のパスワードを生成し、サービスサーバ430と制御機器410に関連する第1の識別情報とを対応付けて第1のパスワードを記憶部441に記憶し、第1のパスワードをサービスサーバ430を通じて制御機器410に送信する。制御機器410は、サービスサーバ430を通じてサーバ装置440より取得した第1のパスワードを被制御機器420に転送し、被制御機器420はこれを第2のパスワードとして保持する。
【0285】
被制御機器420は自機器の登録をサーバ装置440に要求する際に、第2のパスワードと被制御機器420に関連する第2の識別情報をサーバ装置440に送信する。サーバ装置440は、被制御機器420から受信した第2のパスワードが記憶部441に記憶されているか否かを検証し、第2のパスワードが記憶部441に記憶されている際に、被制御機器420に関連する第2の識別情報を、その第2のパスワードと同じ第1のパスワードと対応付けられている第1の識別情報に関連付けて記憶部441に登録する。これにより、サーバ装置440において、制御機器410の第1の識別情報と被制御機器420の第2の識別情報との関連付けが達成される。
【0286】
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【0287】
【図1】本発明の一の実施形態にかかるネットワークシステムの全体的な構成を示す図である。
【図2】図1のネットワークシステムにおいて制御機器とサービスとの組み合わせの登録と被制御機器の登録を行う際の情報の流れを示すシーケンス図である。
【図3】図2の登録時の制御機器の動作を示すフローチャートである。
【図4】図2の登録時のサービスサーバの動作を示すフローチャートである。
【図5】図2の登録時のダイレクトアクセス管理サーバの動作を示すフローチャートである。
【図6】図2の登録時のDVRの動作を示すフローチャートである。
【図7】図1のネットワークシステムにおいて被制御機器のXMPPログインおよびリモート録画予約時の情報の流れを示すシーケンス図である。
【図8】リモート録画予約に関する携帯電話の動作を示すフローチャートである。
【図9】リモート録画予約に関するサービスサーバの動作を示すフローチャートである。
【図10】被制御機器のXMPPログインおよびリモート録画予約およびコンテンツ取得に関するダイレクトアクセス管理サーバの動作を示すフローチャートである。
【図11】リモート録画予約およびコンテンツ取得に関するダイレクトアクセス管理サーバの動作を示すフローチャートである。
【図12】リモート録画予約およびコンテンツ取得に関するDVRの動作を示すフローチャートである。
【図13】図1のネットワークシステムにおいて携帯電話からのダイレクトでのリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
【図14】図1のネットワークシステムにおいて携帯電話からのトンネリングのリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
【図15】図1のネットワークシステムにおいて携帯電話からのダイレクトアクセスによるコンテンツ取得時の情報の流れを示すシーケンス図である。
【図16】サービスサーバからのダイレクトアクセスによるコンテンツ取得時の情報の流れを示すシーケンス図である。
【図17】コンテンツ取得時の携帯電話の動作を示すフローチャートである。
【図18】コンテンツ取得時のサービスサーバの動作を示すフローチャートである。
【図19】コンテンツ取得時のサービスサーバの動作を示すフローチャートである。
【図20】図1のネットワークシステムにおいてダイレクトアクセス終了時の情報の流れを示すシーケンス図である。
【図21】ダイレクトアクセス終了時のサービスサーバの動作を示すフローチャートである。
【図22】ダイレクトアクセス終了時のダイレクトアクセス管理サーバの動作を示すフローチャートである。
【図23】ダイレクトアクセス終了時のDVRの動作を示すフローチャートである。
【図24】Full JIDの構成を示す図である。
【図25】Full JIDの別の構成を示す図である。
【図26】第2の実施形態のネットワークシステムにおける携帯電話とサービスとの組み合わせの登録とDVRの登録を行う際の情報の流れを示すシーケンス図である。
【図27】図26の登録時の携帯電話の動作を示すフローチャートである。
【図28】図26の登録時のサービスサーバの動作を示すフローチャートである。
【図29】図26の登録時のダイレクトアクセス管理サーバのフローチャートである。
【図30】図26の登録時のダイレクトアクセス管理サーバの動作を示すフローチャートである。
【図31】図26の登録時のDVRの動作を示すフローチャートである。
【図32】サービスサーバを介さない携帯電話からのトンネリングのリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
【図33】本発明の特徴を概念的に示す図である。
【図34】本発明にかかるサーバ装置の変形例を示す図である。
【図35】本発明にかかるサーバ装置の別の変形例を示す図である。
【図36】本発明にかかるサーバ装置のさらに別の変形例を示す図である。
【符号の説明】
【0288】
10 携帯電話(制御機器)
11 記憶部
20 DVR(被制御機器)
21 記憶部
30 サービスサーバ
31 記憶部
40 ダイレクトアクセス管理サーバ
41 記憶部
42 SOAPサーバ
43 XMPPサーバ
50 ルータ
【特許請求の範囲】
【請求項1】
ネットワークを介して接続された第1の機器と第2の機器とを互いに関連付けて登録する処理を行うサーバ装置であって、
情報を記憶する記憶手段と、
前記第1の機器からのパスワード発行要求に応じて第1のパスワードを生成し、前記第1の機器に関連する第1の識別情報と対応付けて前記第1のパスワードを前記記憶手段に記憶し、前記第1のパスワードを前記第1の機器に送信する第1の処理手段と、
前記第2の機器から送信された第2のパスワードを受信し、この受信した第2のパスワードが前記記憶部に記憶されているかを確認し、前記第2のパスワードが前記記憶手段に記憶されている場合に、前記第2の機器に関連する第2の識別情報を前記第1の識別情報に関連付けて前記記憶手段に記憶する第2の処理手段と
を具備する。
【請求項2】
請求項1記載のサーバ装置において、
前記第1の処理手段は、前記第1の機器に関連する前記第1の識別情報を生成し、生成した前記第1の識別情報と前記第1のパスワードとを対応付けて、前記記憶手段に記憶する。
【請求項3】
請求項2記載のサーバ装置において、
前記第1の機器は、第1の機器へのサービスを提供するサービスサーバ装置を介して前記サーバ装置に接続され、
前記第1の処理手段は、前記第1の識別情報として、前記第1の機器と前記サービスサーバ装置に関連する識別情報を生成する。
【請求項4】
請求項3記載のサーバ装置において、
前記第1の処理手段は、前記第1の識別情報として、前記第1の機器と前記サービスサーバ装置で提供されるサービスとの組み合わせに対する識別情報を生成する。
【請求項5】
請求項1記載のサーバ装置において、
前記第2の装置の正当性を認証する機器認証処理を実行し、前記第2の機器の認証に必要な認証情報と関連付けた認証識別情報を生成し、生成した前記認証識別情報を前記第2の装置に対して送信する手段を更に具備し、
前記第2の処理手段は、前記認証識別情報を、前記第2の識別情報として前記第1の識別情報に関連付けて前記記憶手段に記憶する。
【請求項6】
請求項1記載のサーバ装置において、
前記第1の処理手段は、生成した前記第1のパスワードに有効期限を設定し、
前記第2の処理手段は、前記有効期限をチェックし、前記有効期限が切れている場合には、前記第2の識別情報を前記第1の識別情報に関連付ける処理を行わない。
【請求項7】
請求項6記載のサーバ装置において、
前記第1の処理手段は、生成した前記第1のパスワードと前記第1のパスワードに設定された有効期限の情報とを前記第1の機器に送信する。
【請求項8】
請求項1記載のサーバ装置において、
前記サーバ装置は、前記第1の識別情報に対して複数の前記第2の識別情報を関連付ける。
【請求項9】
請求項1記載のサーバ装置において、
前記サーバ装置は、複数の前記第1の識別情報に前記第2の識別情報を関連付ける。
【請求項10】
請求項1のサーバ装置において、
前記第2の処理手段は、前記第2の識別情報を前記第1の識別情報に関連付けて記憶する際に、前記記憶手段に記憶されている前記第1のパスワードを消去する。
【請求項11】
請求項1のサーバ装置において、
前記記憶手段に記憶された前記第1の識別情報と前記第2の識別情報との関連付けをもとに、前記第1の識別情報に関連付けられている前記第2の識別情報のリストを生成し、前記第1の機器に送信する手段をさらに具備する。
【請求項12】
請求項1のサーバ装置において、
前記第1の装置から、前記第2の装置への要求を受信したとき、前記第1の装置に関連する情報が前記第1の識別情報が前記第2の識別情報に関連付けて前記記憶手段に記憶されているかを判別し、前記前記第1の識別情報が前記第2の識別情報に関連付けて記憶されていない場合には、前記第1の装置にエラーを送信する。
【請求項13】
請求項1のサーバ装置において、
前記第1の装置から、前記第2の装置への要求を受信したとき、前記第1の装置に関連する情報が前記第1の識別情報が前記第2の識別情報に関連付けて前記記憶手段に記憶されているかを判別し、前記前記第1の識別情報が前記第2の識別情報に関連付けて記憶されている場合には、前記第2の装置に前記第1の装置からの要求を送信する。
【請求項14】
ネットワークに接続された第1の機器と第2の機器とを関連付けてサーバ装置に登録する方法であって、
前記サーバ装置は、
第1の処理手段により、前記第1の機器からのパスワード発行要求に応じて第1のパスワードを生成し、前記第1の機器に関連する第1の識別情報と対応付けて前記第1のパスワードを記憶手段に記憶し、前記第1のパスワードを前記第1の機器に送信するステップと、
第2の処理手段により、前記第2の機器から送信された第2のパスワードを受信し、この受信した第2のパスワードが前記記憶部に記憶されているかを確認し、前記第2のパスワードが前記記憶手段に記憶されている場合に、前記第2の機器に関連する第2の識別情報を前記第1の識別情報に関連付けて記憶するステップとを具備する。
【請求項15】
記憶部を有するコンピュータを、ネットワークを介して接続された第1の機器と第2の機器とを互いに関連付けて記憶する処理を行うサーバ装置として機能させるプログラムであって、
前記プログラムは、
前記コンピュータに、前記第1の機器からのパスワード発行要求に応じて第1のパスワードを生成させ、前記第1の機器に関連する第1の識別情報と対応付けて前記第1のパスワードを前記記憶部に記憶させ、前記第1のパスワードを前記第1の機器に送信させる第1の処理部と、
前記コンピュータに、前記第2の機器から送信された第2のパスワードを受信させ、この受信した第2のパスワードが前記記憶部に記憶されているかを検証させ、前記第2のパスワードが前記記憶部に記憶されている場合に、前記第2の機器に関連する第2の識別情報を前記第1の識別情報に関連付けて前記記憶部に記憶させる第2の処理部とを具備する。
【請求項16】
記憶部を有するコンピュータを、ネットワークを介して接続された第1の機器と第2の機器とを互いに関連付けて記憶する処理を行うサーバ装置として機能させるプログラムが記録された記録媒体であって、
前記プログラムは、
前記コンピュータに、前記第1の機器からのパスワード発行要求に応じて第1のパスワードを生成させ、前記第1の機器に関連する第1の識別情報と対応付けて前記第1のパスワードを前記記憶部に記憶させ、前記第1のパスワードを前記第1の機器に送信させる第1の処理部と、
前記コンピュータに、前記第2の機器から送信された第2のパスワードを受信させ、この受信した第2のパスワードが前記記憶部に記憶されているかを検証させ、前記第2のパスワードが前記記憶部に記憶されている場合に、前記第2の機器に関連する第2の識別情報を前記第1の識別情報に関連付けて前記記憶部に記憶させる第2の処理部とを具備する。
【請求項1】
ネットワークを介して接続された第1の機器と第2の機器とを互いに関連付けて登録する処理を行うサーバ装置であって、
情報を記憶する記憶手段と、
前記第1の機器からのパスワード発行要求に応じて第1のパスワードを生成し、前記第1の機器に関連する第1の識別情報と対応付けて前記第1のパスワードを前記記憶手段に記憶し、前記第1のパスワードを前記第1の機器に送信する第1の処理手段と、
前記第2の機器から送信された第2のパスワードを受信し、この受信した第2のパスワードが前記記憶部に記憶されているかを確認し、前記第2のパスワードが前記記憶手段に記憶されている場合に、前記第2の機器に関連する第2の識別情報を前記第1の識別情報に関連付けて前記記憶手段に記憶する第2の処理手段と
を具備する。
【請求項2】
請求項1記載のサーバ装置において、
前記第1の処理手段は、前記第1の機器に関連する前記第1の識別情報を生成し、生成した前記第1の識別情報と前記第1のパスワードとを対応付けて、前記記憶手段に記憶する。
【請求項3】
請求項2記載のサーバ装置において、
前記第1の機器は、第1の機器へのサービスを提供するサービスサーバ装置を介して前記サーバ装置に接続され、
前記第1の処理手段は、前記第1の識別情報として、前記第1の機器と前記サービスサーバ装置に関連する識別情報を生成する。
【請求項4】
請求項3記載のサーバ装置において、
前記第1の処理手段は、前記第1の識別情報として、前記第1の機器と前記サービスサーバ装置で提供されるサービスとの組み合わせに対する識別情報を生成する。
【請求項5】
請求項1記載のサーバ装置において、
前記第2の装置の正当性を認証する機器認証処理を実行し、前記第2の機器の認証に必要な認証情報と関連付けた認証識別情報を生成し、生成した前記認証識別情報を前記第2の装置に対して送信する手段を更に具備し、
前記第2の処理手段は、前記認証識別情報を、前記第2の識別情報として前記第1の識別情報に関連付けて前記記憶手段に記憶する。
【請求項6】
請求項1記載のサーバ装置において、
前記第1の処理手段は、生成した前記第1のパスワードに有効期限を設定し、
前記第2の処理手段は、前記有効期限をチェックし、前記有効期限が切れている場合には、前記第2の識別情報を前記第1の識別情報に関連付ける処理を行わない。
【請求項7】
請求項6記載のサーバ装置において、
前記第1の処理手段は、生成した前記第1のパスワードと前記第1のパスワードに設定された有効期限の情報とを前記第1の機器に送信する。
【請求項8】
請求項1記載のサーバ装置において、
前記サーバ装置は、前記第1の識別情報に対して複数の前記第2の識別情報を関連付ける。
【請求項9】
請求項1記載のサーバ装置において、
前記サーバ装置は、複数の前記第1の識別情報に前記第2の識別情報を関連付ける。
【請求項10】
請求項1のサーバ装置において、
前記第2の処理手段は、前記第2の識別情報を前記第1の識別情報に関連付けて記憶する際に、前記記憶手段に記憶されている前記第1のパスワードを消去する。
【請求項11】
請求項1のサーバ装置において、
前記記憶手段に記憶された前記第1の識別情報と前記第2の識別情報との関連付けをもとに、前記第1の識別情報に関連付けられている前記第2の識別情報のリストを生成し、前記第1の機器に送信する手段をさらに具備する。
【請求項12】
請求項1のサーバ装置において、
前記第1の装置から、前記第2の装置への要求を受信したとき、前記第1の装置に関連する情報が前記第1の識別情報が前記第2の識別情報に関連付けて前記記憶手段に記憶されているかを判別し、前記前記第1の識別情報が前記第2の識別情報に関連付けて記憶されていない場合には、前記第1の装置にエラーを送信する。
【請求項13】
請求項1のサーバ装置において、
前記第1の装置から、前記第2の装置への要求を受信したとき、前記第1の装置に関連する情報が前記第1の識別情報が前記第2の識別情報に関連付けて前記記憶手段に記憶されているかを判別し、前記前記第1の識別情報が前記第2の識別情報に関連付けて記憶されている場合には、前記第2の装置に前記第1の装置からの要求を送信する。
【請求項14】
ネットワークに接続された第1の機器と第2の機器とを関連付けてサーバ装置に登録する方法であって、
前記サーバ装置は、
第1の処理手段により、前記第1の機器からのパスワード発行要求に応じて第1のパスワードを生成し、前記第1の機器に関連する第1の識別情報と対応付けて前記第1のパスワードを記憶手段に記憶し、前記第1のパスワードを前記第1の機器に送信するステップと、
第2の処理手段により、前記第2の機器から送信された第2のパスワードを受信し、この受信した第2のパスワードが前記記憶部に記憶されているかを確認し、前記第2のパスワードが前記記憶手段に記憶されている場合に、前記第2の機器に関連する第2の識別情報を前記第1の識別情報に関連付けて記憶するステップとを具備する。
【請求項15】
記憶部を有するコンピュータを、ネットワークを介して接続された第1の機器と第2の機器とを互いに関連付けて記憶する処理を行うサーバ装置として機能させるプログラムであって、
前記プログラムは、
前記コンピュータに、前記第1の機器からのパスワード発行要求に応じて第1のパスワードを生成させ、前記第1の機器に関連する第1の識別情報と対応付けて前記第1のパスワードを前記記憶部に記憶させ、前記第1のパスワードを前記第1の機器に送信させる第1の処理部と、
前記コンピュータに、前記第2の機器から送信された第2のパスワードを受信させ、この受信した第2のパスワードが前記記憶部に記憶されているかを検証させ、前記第2のパスワードが前記記憶部に記憶されている場合に、前記第2の機器に関連する第2の識別情報を前記第1の識別情報に関連付けて前記記憶部に記憶させる第2の処理部とを具備する。
【請求項16】
記憶部を有するコンピュータを、ネットワークを介して接続された第1の機器と第2の機器とを互いに関連付けて記憶する処理を行うサーバ装置として機能させるプログラムが記録された記録媒体であって、
前記プログラムは、
前記コンピュータに、前記第1の機器からのパスワード発行要求に応じて第1のパスワードを生成させ、前記第1の機器に関連する第1の識別情報と対応付けて前記第1のパスワードを前記記憶部に記憶させ、前記第1のパスワードを前記第1の機器に送信させる第1の処理部と、
前記コンピュータに、前記第2の機器から送信された第2のパスワードを受信させ、この受信した第2のパスワードが前記記憶部に記憶されているかを検証させ、前記第2のパスワードが前記記憶部に記憶されている場合に、前記第2の機器に関連する第2の識別情報を前記第1の識別情報に関連付けて前記記憶部に記憶させる第2の処理部とを具備する。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【公開番号】特開2007−316678(P2007−316678A)
【公開日】平成19年12月6日(2007.12.6)
【国際特許分類】
【出願番号】特願2006−132350(P2006−132350)
【出願日】平成18年5月11日(2006.5.11)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成19年12月6日(2007.12.6)
【国際特許分類】
【出願日】平成18年5月11日(2006.5.11)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]