JP4251207B2 - サーバ装置、再接続制御方法、機器装置、再接続方法、プログラム、および記録媒体 - Google Patents

サーバ装置、再接続制御方法、機器装置、再接続方法、プログラム、および記録媒体 Download PDF

Info

Publication number
JP4251207B2
JP4251207B2 JP2006265803A JP2006265803A JP4251207B2 JP 4251207 B2 JP4251207 B2 JP 4251207B2 JP 2006265803 A JP2006265803 A JP 2006265803A JP 2006265803 A JP2006265803 A JP 2006265803A JP 4251207 B2 JP4251207 B2 JP 4251207B2
Authority
JP
Japan
Prior art keywords
time
direct access
reconnection
upper limit
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006265803A
Other languages
English (en)
Other versions
JP2007336509A (ja
Inventor
啓之 千葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006265803A priority Critical patent/JP4251207B2/ja
Priority to US11/695,305 priority patent/US7689697B2/en
Publication of JP2007336509A publication Critical patent/JP2007336509A/ja
Application granted granted Critical
Publication of JP4251207B2 publication Critical patent/JP4251207B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Description

本発明は、ネットワークを通じて接続された機器との間で常時接続のセッションを設定するサーバ装置、再接続制御方法、機器装置、再接続方法、プログラム、および記録媒体に関するものである。
インターネット上の制御機器から家庭内の被制御機器にアクセスする方法として、DDNS(Dynamic Domain Name System)方式や、メール方式が挙げられる。
DDNS方式は、家庭内の被制御機器が、DDNSサーバに自分のアドレスを登録しておき、インターネット側の制御機器からドメイン名およびポート番号の指定を受信することで、この制御機器のアクセスを可能とする仕組みである。
リアルタイムのコミュニケーションを実現するためのプロトコルとしてXMPP(eXtensible Messaging and Presence Protocol)がある(非特許文献1を参照)。このXMPPを用いたリアルタイム・コミュニケーションの形態の1つがインスタント・メッセージング(IM)である(非特許文献2を参照)。インスタント・メッセージング(IM)では、インターネット上でIMクライアント(IM交換を行うことのできる仲間)がオンラインかどうかを調べ、オンラインであれば、そのIMクライアントとの間で、チャットやファイル交換などを行うことができる。
また、他のコンピュータにあるデータやサービスを呼び出すためのプロトコルとしては、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月 「Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence」, RFC3921, The Internet Engineering Task Force (IETF), 2004年10月 「SOAP Version 1.2」, W3C Recommendation, World Wide Web Consortium (W3C), 2003年6月 特開2003-050761号公報
ユーザが制御機器からインターネット越しに家庭内の被制御機器にアクセスできるようにするためには、制御機器とサービスの種類との組み合わせと、その制御対象である被制御機器とを紐付けて登録しておくとともに、登録済みの被制御機器が、常にアクセスを受け入れることができる状態で接続されている必要があり、これを保証する仕組みが求められている。
ところで、このように常時接続を保証しようとした場合、被制御機器とサーバ装置との間で接続ができないときやセッションが切断されたときに自動的に、かつ、速やかに再接続を行う必要がある。
この場合、例えば被制御機器とサーバ装置との間で接続ができないときやセッションが切断されたときに、被制御機器からサーバ装置に対して速やかに繰り返して再接続を行うことが考えられるが、ネットワーク上に多数の被制御機器が存在するために、サーバ装置に対する負荷が集中して輻輳状態になり、トラブルの原因になる。
特に、サーバ装置の障害やネットワークの障害、或いはメンテナンス後の復旧のタイミングにおいては多数の被制御機器が一斉にサーバ装置に対して再接続を実行するため、非常に大きな問題となる。
本発明は、かかる実情を鑑み、自動再接続の実行によるサーバ装置に対する負荷の集中を回避することができるサーバ装置、再接続制御方法、機器装置、再接続方法、プログラム、および記録媒体を提供することを目的としている。
本発明の機器装置は、ネットワークを介してサーバ装置と接続可能な機器装置であって、前記サーバ装置に対する初回接続時の待機上限時間の情報と、前記初回接続時の待機上限時間より長い再接続時の待機上限時間の情報を前記機器装置が当該サーバ装置に対して通信セッションの確立を行う間に当該サーバ装置から受信する受信手段と、前記受信した初回接続時の待機上限時間の情報と再接続時の待機上限時間の情報を保持する保持手段と、前記サーバ装置に対する初回の接続時に前記保持された初回接続時の待機上限時間に対して乱数により第1の待機時間を決定し、この第1の待機時間を用いて初回の接続を行い、この初回の再接続に対してエラーが判定された場合、T1を前記初回接続時の待機上限時間、tr1を前記第1の待機時間、tr2を前記再接続時の待機上限時間に対して乱数により得た時間として、T1-tr1+tr2なる第2の待ち時間を計算し、この第2の待機時間を用いて再接続を行い、前記再接続に対するエラーが判定された場合、接続が確立するまで、前回の再接続時から前記再接続時の待機上限時間が経過する毎に次の再接続を繰り返す再接続実行手段とを具備する。
本発明によれば、初回接続時の待機上限時間内に初回と2回目の接続の要求が混在することがないように、初回の再接続に対してエラーが判定された場合には、T1を前記初回接続時の待機上限時間、tr1を前記第1の待機時間、tr2を前記再接続時の待機上限時間に対して乱数により得た時間として、T1-tr1+tr2なる第2の待ち時間を計算し、この第2の待機時間を用いて再接続を行う。これにより、初回接続時の待機上限時間内に、初回及び2回目の接続要求が一機の機器装置から混在して発生することを回避できる。したがって、本発明によれば、多数の機器装置がほぼ同時にサーバ装置に接続しようとしているとき、各機器装置からの初回と2回目の接続要求が初回接続時の待機上限時間内に混在して発生することを回避でき、初回接続時の待機上限時間内でのサーバ装置への負荷の集中を軽減することができる。
本発明のサーバ装置は、前記機器装置の当該サーバ装置に対する初回接続時の待機上限時間と、この初回接続時の待機上限時間より長い再接続時の待機上限時間を設定する設定手段と、前記機器装置が当該サーバ装置に対して通信セッションの確立を行う間に、前記設定された各待機上限時間の情報を前記機器装置に送信する送信手段とを具備する
本発明によれば、自動再接続の実行によるサーバ装置に対する負荷の集中を回避することができる。
以下、本発明の実施の形態を図面に基づき説明する。
図1は本発明の一の実施形態にかかるネットワークシステムの全体的な構成を示す図である。
このネットワークシステムは、制御機器としての携帯電話10、被制御機器としてのDVR(Digital Video Recorder)20、サービスサーバ30、ダイレクトアクセス管理サーバ40、およびルータ50を有している。
携帯電話10は、被制御機器を制御する制御機器として動作するものである。制御機器は、被制御機器を制御するものであれば何でもよく、たとえば、PC(Personal Computer)、PDA(Personal Digital Assistance)などであってよい。
携帯電話10は、電話機能部のほか、プログラムなどを記憶するメインメモリ、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPU(Central Processing Unit)、ネットワークとのインタフェース部、DVR20とのインタフェース部、キー入力部や表示部などのユーザインタフェース部、不揮発性の記憶部11などを備える。この記憶部11には、この携帯電話10に登録されているユーザ識別情報が記憶されている。メインメモリには、電話機能部を動作させるためのプログラムのほか、サービスサーバ30への自機器の登録、コンテンツのリモート録画予約、コンテンツ取得などに関する処理を行うためのプログラムなどが記憶されている。
DVR20は、放送番組などのコンテンツをメディアに録画したり再生したりする録画再生機能部のほか、プログラムなどを記憶するメインメモリ、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPU、ネットワークとのインタフェース部、携帯電話10とのインタフェース部、不揮発性の記憶部21、リモコン受信部、TVなどを接続するためのインタフェース部などを備える。この記憶部21には、被制御機器に固定的に割り当てられた機器認証情報が予め記憶されている。メインメモリには、DVR20の録画再生機能部を制御するためのプログラムのほか、ダイレクトアクセス管理サーバ40への被制御機器の登録、コンテンツのリモート録画予約、コンテンツ取得などに関する処理を行うためのプログラムなどが記憶されている。なお、この実施の形態ではDVR20を被制御機器としたが、ネットワーク接続機能を有する機器であれば何でもよい。たとえば、テレビでもよい。
サービスサーバ30は、携帯電話10などの制御機器に対してネットワーク越しに被制御機器にアクセスする各種のサービスを提供するサーバである。このサービスサーバ30は、たとえば、キーボード・マウスなどの入力部と、表示部と、プログラムなどを記憶するメインメモリと、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPUと、ネットワークとの通信部と、記憶部31とを備えた、たとえば定型的なコンピュータシステムを用いて実現される。メインメモリには、コンピュータシステムを動作させるために必要な基本的なプログラムのほか、サービスを実行するために必要なプログラムなどが記憶されている。記憶部31には、サービスサーバ30が提供する個々のサービスごとにサービスサーバ及びサービスを識別するためのServiceIDが記憶されている。
ダイレクトアクセス管理サーバ40は、制御機器と、サービスサーバ30のサービスとの組み合わせと被制御機器との対応を管理するサーバである。このダイレクトアクセス管理サーバ40は、たとえば、キーボード・マウスなどの入力部と、表示部と、プログラムなどを記憶するメインメモリと、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPUと、ネットワークとのインタフェース部と、記憶部41とを備えた、たとえば定型的なコンピュータシステムを用いて実現される。メインメモリには、コンピュータシステムを動作させるために必要な基本的なプログラムのほか、コンピュータシステムをダイレクトアクセス管理サーバとして機能させるためのプログラムなどが記憶されている。
ダイレクトアクセス管理サーバ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の方式を用いたサーバに、それぞれ置き換え可能である。
次に、各機器のインタフェースについて説明する。図1において[IF-**]はインタフェース番号を示している。
ダイレクトアクセス管理サーバ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]も有する。
サービスサーバ30は、携帯電話10からアクセスされるインタフェース[IF-01]とダイレクトアクセス管理サーバ40からアクセスされるインタフェース[IF-05]を有する。
なお、このシステム構成例では、サービスサーバ30はダイレクトアクセス管理サーバ40のXMPPサーバ43と直接インタフェースしていないが、もちろん直接インタフェースするように構成してもよい。
DVR20は、ダイレクトアクセス管理サーバ40からアクセスされるXMPPセッション確立後のインタフェース[IF-07]と、携帯電話10との間で例えば赤外線やUSB(Universal Serial Bus)などでデータを送受信するためのインタフェース[IF-03]と、サービスサーバ30もしくは携帯電話10からアクセスされるダイレクトアクセス用URIに対応したインタフェース[IF-09]とを有している。
ルータ50は、DVR20からアクセスされる、UPnP(Universal Plug and Play)IGD(Internet Gateway Device)機能のインタフェース[IF-08]を有する。
次に、この実施形態のネットワークシステムの動作を説明する。以下の説明において<X-XX>は要求、<X-XXR>は<X-XX>に対する応答を示す。
[1.制御機器・サービス、被制御機器の登録]
最初に、携帯電話10(制御機器)とサービスとの組み合わせ毎に発行される制御機器・サービス管理IDと、ダイレクトアクセス管理サーバ40内で個々のDVR20(被制御機器)に対してユニークに発行される被制御機器管理IDとの紐付けを行う動作を説明する。
図2は携帯電話10とサービスとの組み合わせの登録とDVR20の登録を行う際の情報の流れを示すシーケンス図である。図3はこの登録時の携帯電話10のフローチャートである。図4はこの登録時のサービスサーバ30のフローチャートである。図5は登録時のダイレクトアクセス管理サーバ40のフローチャートである。図6はこの登録時のDVR20のフローチャートである。
[1-1.制御機器とサービスとの組み合わせの登録]
まず、携帯電話10は、ユーザからの被制御機器登録の指示を受け(図3:ステップS301)、ユーザ識別情報を含む被制御機器登録要求<R-1>をサービスサーバ30に発行する(図3:ステップS302)。
サービスサーバ30は、ユーザ識別情報を含む被制御機器登録要求<R-1>を受信すると(図4:ステップS401)、そのユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されているかどうかを判断する(図4:ステップS402)。
ユーザ識別情報に対応する制御機器・サービス管理IDが記憶されていない場合、サービスサーバ30は、ユーザ識別情報を記憶部31に保存し(図4:ステップS403)、あらかじめ自身に割り当てられているServiceIDを含む制御機器・サービス管理ID取得要求<R-2>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に対して発行する(図4:ステップS404)。制御機器・サービス管理IDは、サービス事業者が提供する個々のサービスと制御機器との組み合わせに対してユニークに割り当てられるIDである。
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のサービスとを組み合わせで識別することができるようになる。
サービスサーバ30は、制御機器・サービス管理ID取得応答<R-2R>として制御機器・サービス管理IDを受信すると(図4:ステップS405)、この制御機器・サービス管理IDをユーザ識別情報と対応付けて記憶部31に登録する(図4:ステップS406)。制御機器・サービス管理IDをユーザ識別情報と対応付けて記憶することにより、サービスサーバ30は、以降、携帯電話10からアクセスされた際に、携帯電話10のユーザ識別情報に対応する制御機器・サービス管理IDを用いて、ダイレクトアクセス管理サーバ40に処理を要求することにより、制御機器である携帯電話10とサービスサーバ30のサービスとの組み合わせの制御側として、ダイレクトアクセス管理サーバ40に制御要求元を一意に識別させることが可能となる。
サービスサーバ30は、制御機器・サービス管理IDをユーザ識別情報と対応付けて記憶部31に登録した後、または、携帯電話10から受信した被制御機器登録要求<R-1>に含まれるユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に登録されている場合、それら制御機器・サービス管理IDおよびServiceIDを含む被制御機器登録用パスワード取得要求<R-3>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に対して発行する(図4:ステップS407)。
ダイレクトアクセス管理サーバ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)。
サービスサーバ30は、被制御機器登録用パスワード取得応答<R-3R>を受信すると(図4:ステップS408)、この被制御機器登録用パスワード取得応答<R-3R>に含まれている被制御機器登録用パスワードとその有効期限の情報を被制御機器登録応答<R-4>として携帯電話10に送信する(図4:ステップS409)。
携帯電話10は、この被制御機器登録応答<R-4>を受信すると(図3:ステップS303)、これに含まれている被制御機器登録用パスワードとその有効期限の情報を記憶部11に保存する(図3:ステップS304)。
以上により、携帯電話10とサービスとの組み合わせに対する制御機器・サービス管理IDの登録処理と被制御機器を制御機器に関連付けるために用いられる被制御機器登録用パスワードの発行処理が完了となる。
[1-2.被制御機器の登録]
次に被制御機器であるDVR20の登録時の動作を説明する。
携帯電話10において、ユーザからのワンタイムパスワード送信要求が入力される(図3:ステップS305)。携帯電話10は、このユーザからのワンタイムパスワード送信要求を受けると記憶部11に記憶されている被制御機器登録用パスワードを、例えば、赤外線やUSBなどのインタフェース[IF-03]を使って、被制御機器であるDVR20にワンタイムパスワード<R-5>として渡す(図3:ステップS306)。被制御機器登録用パスワードの渡し方は、他にも、非接触ICカードを介した受け渡し、Bluetooth(商標)、無線LANなどによる無線伝送など様々な方式が想定されるが、制御機器である携帯電話10から被制御機器であるDVR20に対して被制御機器登録用パスワードを渡すことができさえすればどのような渡し方であっても構わない。この後、携帯電話10は記憶部11から被制御機器登録用パスワードを消去する(図3:ステップS307)。
一方、DVR20は、電源が投入されると自動接続フラグのチェックを行う(図6:ステップS627)。自動接続フラグとは、DVR20がダイレクトアクセス管理サーバ40に被制御機器として登録され、かつ、その被制御機器に対して制御機器とサービスとの組み合わせが紐付けられている状態においてオンにセットされ、その他の状態においてはオフにセットされるフラグである。
いま自動接続フラグはオフである。この場合、DVR20は、携帯電話10から被制御機器登録用パスワード<R-5>を受信するまでは何の処理も実行せず、携帯電話10から被制御機器登録用パスワード<R-5>を受信すると(図6:ステップS601)、自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R-0>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図6:ステップS602)。
ダイレクトアクセス管理サーバ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の機器の認証状況を確認することが可能となる。
DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42から、機器認証継続IDとその有効期限の情報とを含む機器認証応答<R-0R>を受信すると(図6:ステップS603)、この機器認証応答<R-0R>に含まれる機器認証継続ID、その有効期限の情報を機器認証情報と対応付けて記憶部21に保存する(図6:ステップS604)。
ここまでにおいて、被制御機器であるDVR20には機器認証継続ID、機器認証継続IDの有効期限の情報、機器認証情報の組み合わせが記憶部21に記憶され、ダイレクトアクセス管理サーバ40には機器認証継続IDと機器認証情報との組み合わせが記憶部41に記憶され、被制御機器であるDVR20のダイレクトアクセス管理サーバ40への登録が完了したことになる。
[1-3.制御機器・サービス管理IDと被制御機器管理IDとの紐付け]
次に、制御機器・サービス管理IDと被制御機器管理IDとを関連付けてダイレクトアクセス管理サーバ40に登録するために、DVR20は、記憶部21に記憶されている機器認証継続IDと、携帯電話10より受信した被制御機器登録用パスワードを含む被制御機器登録要求<R-6>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図6:ステップS605)。これによりDVR20は、ダイレクトアクセス管理サーバ40に、被制御機器登録用パスワードを送信してきた携帯電話10と関連付けて登録することを要求する。
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、DVR20から被制御機器登録要求<R-6>を受信すると(図5:ステップS519)、DVR20から受信した被制御機器登録要求<R-6>に含まれる被制御機器登録用パスワードが記憶部41に保存されているものと一致するかどうかのチェックとその被制御機器登録用パスワードの有効期限のチェックを行う(図5:ステップS520)。これらのチェックでNGが判定された場合、すなわち被制御機器登録用パスワードが一致しないか、もしくは被制御機器登録用パスワードの有効期限が切れている場合、SOAPサーバ42は、被制御機器登録要求<R-6>に含まれる被制御機器登録用パスワードが無効であることを示すエラーコードを被制御機器登録応答<R-6>としてDVR20へ送信する(図5:ステップS527)。DVR20は、このエラーコードを被制御機器登録応答<R-6R>として受信すると(図6:ステップS606)、DVR20に接続されたTVの画面等を通して、被制御機器登録用パスワードの再取得を行うように、ユーザに対してエラーメッセージの表示を行って(図6:ステップS607)、処理を終了する。
また、SOAPサーバ42は、ステップS520のチェック結果がOKの場合、すなわち被制御機器登録用パスワードが記憶部41に記憶されているものと一致し、かつ被制御機器登録用パスワードの有効期限が切れていない場合には、記憶部41に記憶されている情報を参照して、被制御機器登録要求<R-6>に含まれている機器認証継続IDに被制御機器管理IDが割り当てられているかどうかの判断を行う(図5:ステップS521)。機器認証継続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に紐付けされても構わない。
次に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との間でその他の方法で通信を行うために用意されたアプリケーション等がある。
DVR20は、SOAPサーバ42より現在紐付けが完了しているサービスの数を被制御機器登録応答<R-6R>として受信すると(図6:ステップS608)、自動接続フラグをオンにセットし(図6:ステップS609)、DVR20の出荷前に記憶部21にプログラム内のパラメータとして記録された初回接続時の待機上限時間T1、再接続時の待機上限時間T2の各初期値を読み出して登録情報として記憶部21に保存する。ここで、初回接続時の待機上限時間T1とは、DVR20の電源ON後の初回接続時、XMPPサーバ43との間での常時接続セッションを切断した後の初回接続時の待ち時間を決定するために用いられるパラメータである。再接続時の待機上限時間T2とはXMPPサーバ43との間での常時接続セッションを切断した後の再接続に失敗した後の待ち時間を決定するために用いられるパラメータである。
この後、DVR20は、被制御機器の登録が完了したことを表すメッセージを表示する(図6:ステップS610)。続いて、DVR20は、ダイレクトアクセス管理サーバ40のXMPPサーバ43との間で常時接続セッションを確立するために、機器認証継続IDを含むXMPPログイン情報取得要求<D-0-1>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図6:ステップS611)。
[2.被制御機器のXMPPログイン]
このネットワークシステムでは、ダイレクトアクセス管理サーバ40に、被制御機器との間で双方向の常時接続セッションを設定するためのXMPPサーバ43を置いている。制御機器である携帯電話10から被制御機器であるDVR20にネットワークを通じてアクセスするために、その前にDVR20がXMPPサーバ43にログインしてXMPPサーバ43との間で常時接続セッションを確立しておく。これにより、サービスサーバ30や携帯電話10は、必要なときには、DVR20から必要な情報を取得できる。また、この際のサービスサーバ30の設計を簡単にするために、XMPPプロトコルをダイレクトアクセス管理サーバ40内に隠蔽し、SOAPインタフェースだけで、DVR20と双方向の常時接続セッションを設定しているXMPPサーバ43との情報のやり取りを行えるようにしている。
図7の一部は被制御機器のXMPPログインに関する情報の流れを示すシーケンス図、図10の一部は被制御機器のXMPPログインに関するダイレクトアクセス管理サーバ40の動作を示すフローチャートである。
これらの図に示されるように、ダイレクトアクセス管理サーバ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)オプション、初回接続時の待機上限時間T1、再接続時の待機上限時間T2を加えた情報をXMPPログイン情報取得応答<D-0-1R>としてDVR20に送信する(図10:ステップS1007)。ここで、ダイレクトアクセス管理サーバ40からDVR20に送信される初回接続時の待機上限時間T1、再接続時の待機上限時間T2は、ダイレクトアクセス管理サーバ40において現在の常時接続セッションが接続されている被制御機器の台数の変動や、並列して処理を行うサーバ機器の台数などの処理能力の変更など、各種の事情に応じて動的に可変される値である。
DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からFull JID(D)、XMPPログインパスワード、初回接続時の待機上限時間T1、再接続時の待機上限時間T2等を含むXMPPログイン情報取得応答<D-0-1R>を受信すると(図6:ステップS612)、このXMPPログイン情報取得応答<D-0-1R>に含まれる初回接続時の待機上限時間T1、再接続時の待機上限時間T2を記憶部21に保存する(図6:ステップS613)。すなわち、ステップS609で、DVR20の出荷前に記憶部21にプログラム内のパラメータとして記録された初回接続時の待機上限時間T1、再接続時の待機上限時間T2の各初期値を読み出して記憶部21に保存した登録情報に対して、XMPPログイン情報取得応答<D-0-1R>にて取得した初回接続時の待機上限時間T1、再接続時の待機上限時間T2による更新が行われる。
次に、DVR20は、Full JID(D)、XMPPログインパスワードを含むXMPPログイン認証要求<D-0-2>を、ダイレクトアクセス管理サーバ40内のXMPPサーバ43に送信する(図6:ステップS614)。
ダイレクトアクセス管理サーバ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-2R>としてDVR20に送信する(図10:ステップS1010)。また、Full JID(D)、XMPPログインパスワードおよび有効期限のチェックがすべてOKならば、ダイレクトアクセス管理サーバ40内のXMPPサーバ43は、XMPPログイン許可を示すコードをXMPPログイン認証応答<D-0-2R>としてDVR20に送信する(図10:ステップS1011)。
このように、このネットワークシステムでは、ダイレクトアクセス管理サーバ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を用いてもよい。
DVR20は、ダイレクトアクセス管理サーバ40内のXMPPサーバ43よりXMPPログイン許可を示すコードをXMPPログイン認証応答<D-0-2R>として受信した場合には(図6:ステップS615)、記録されている後述の接続エラーの回数、および記憶部21に記憶している待機時間tr1と時間tr2をリセットした後(図6:ステップS616)、XMPPログイン処理が完了する。
また、DVR20は、XMPPログイン情報取得要求<D-0-1>をダイレクトアクセス管理サーバ40内のXMPPサーバ43に送信した後、一定時間内に何も応答が返ってこないために接続エラーが判定された場合(図6:ステップS621)、または、XMPPログイン認証要求<D-0-2>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信した後、その応答としてXMPPログイン失敗を示すエラーコードをXMPPログイン認証応答<D-0-2R>として受信した場合や一定時間内に何も応答が返ってこないために接続エラーが判定された場合(図6:ステップS625)、記録しておいた過去の接続エラーの回数を調べる(図6:ステップS622)。
最初(1回目)の接続エラーの場合には、DVR20は、記憶部21に記憶されている再接続時の待機上限時間T2をもとに時間tr2を計算し、記憶部21に記憶する(図6:ステップS623)。時間tr2は、たとえば再接続の待機上限時間T2を上限とする一様乱数時間とする。次に、DVR20は、記憶部21に記憶された初回接続時の待機上限時間T1、待機時間tr1、および時間tr2をもとにT1-tr1+tr2の時間を計算してこの時間だけ待機してから(図6:ステップS624)、ステップS611のXMPPログイン情報取得要求<D-0-1>の送信から処理をやりなおすとともに、接続エラーの回数を保存する。ここで、待機時間tr1が記憶部21に記憶されていない場合は、例えばtr1の値をT1の値と同一とする。
ところで、ステップS609の初回接続時の待機上限時間T1、再接続時の待機上限時間T2の初期値の登録が完了してステップS612のXMPPログイン情報取得が行われていない場合は、ダイレクトアクセス管理サーバ40より初回接続時の待機上限時間T1、再接続時の待機上限時間T2を取得していない状態である。したがって、この場合には、DVR20は、出荷前に記憶部21に記録しておいた初回接続時の待機上限時間T1、再接続時の待機上限時間T2を用いて待機時間tr1、時間tr2の計算を行う。登録後に一度でもXMPPログイン情報の取得に成功しているのであれば、DVR20の記憶部21にダイレクトアクセス管理サーバ40より取得した初回接続時の待機上限時間T1、待機上限時間T2が記憶されているので、この場合にはDVR20は、ダイレクトアクセス管理サーバ40より取得した初回接続時の待機上限時間T1、待機上限時間T2を用いて待機時間tr1、時間tr2の計算を行う。
この後、DVR20は再び、ダイレクトアクセス管理サーバ40内のXMPPサーバ43より、接続の失敗を示すエラーコードをXMPPログイン情報取得応答<D-0-1R>として受信した場合 (図6:ステップS621)、または、XMPPログイン失敗を示すエラーコードをXMPPログイン認証応答<D-0-2R>として受信した場合には(図6:ステップS625)、ステップS622での接続エラー回数のチェックで二回目の接続エラーが発生したことが判定される。この場合には、DVR20は記憶部21に保存されている再接続時の待機上限時間T2のそのまま待機時間として採用して時間待ちを行い(図6:ステップS626)、待機時間T2が経過した後、ステップS611のXMPPログイン情報取得要求<D-0-1>の送信から処理をやりなおす。
以後、DVR20は、ステップS611からの流れと同様の処理を行い、ステップS615でダイレクトアクセス管理サーバ40内のXMPPサーバ43よりXMPPログイン許可を示すコードをXMPPログイン認証応答<D-0-2R>として受信するまで、すなわちXMPPログインに成功するまで、ダイレクトアクセス管理サーバ40内のSOAPサーバ42より、接続の失敗を示すエラーコードをXMPPログイン情報取得応答<D-0-1R>として受信するたびに、または、ダイレクトアクセス管理サーバ40内のXMPPサーバ43よりXMPPログイン失敗を示すエラーコードをXMPPログイン認証応答<D-0-2R>として受信するたびに、待機上限時間T2をそのまま待機時間とする時間待ちを経て、ステップS611の動作つまりXMPPログイン情報取得要求<D-0-1>の送信を繰り返す。
また、DVR20は、ダイレクトアクセス管理サーバ40のSOAPサーバ42にXMPPログイン情報取得要求<D-0-1>を送信した後、その応答として機器認証が必要であることを示すエラーコードをXMPPログイン情報取得応答<D-0-1R>として受信した場合には(図6:ステップS617)、自機が正常にダイレクトアクセス管理サーバ40に被制御機器として登録されていないか、もしくは、機器認証継続IDの有効期限が切れている可能性があるため、再度、自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R-0>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信して自身の機器認証をやりなおす(図6:ステップS630)。DVR20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42から、機器認証継続IDとその有効期限の情報とを含む機器認証応答<R-0R>を受信した場合には(図6:ステップS631)、この機器認証応答<R-0R>に含まれる機器認証継続ID、その有効期限の情報を機器認証情報と対応付けて記憶部21に保存し(図6:ステップS632)、この保存した機器認証継続IDを含むXMPPログイン情報取得要求<D-0-1>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に再度送信する(図6:ステップS611)。以降、ステップS611からの流れと同様の処理が行われる。
また、DVR20は、機器認証要求<R-0>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信した後、接続の失敗を示すエラーコードを機器認証応答<R-0R>として受信した場合(図6:ステップS633)、記録しておいた接続エラーの回数を調べる(図6:ステップS622)。
以降、同様に待機時間を計算し、その待機時間が経過した後、ステップS611のXMPPログイン情報取得要求<D-0-1>の送信から処理をやりなおす。
次に、DVR20に電源が投入された直後の自動接続フラグのチェックで、自動接続フラグがオンである場合の動作を説明する。
この場合、DVR20は、記憶部21に記憶された初回接続時の待機上限時間T1を上限とする一様乱数時間を計算してこれを待機時間tr1として記憶し(図6:ステップS628)、この待機時間tr1だけ待機してから(図6:ステップS629)、ステップS611のXMPPログイン情報取得要求<D-0-1>の送信からの流れと同様の処理を進める。
このように、DVR20は再接続時には携帯電話10からの被制御機器登録用パスワードの取得、被制御機器登録のための処理をスキップしてXMPPログインのための処理に入る。これにより、DVR20は再接続時にXMPPログインのための処理を行うだけで、XMPPサーバ43の間での接続セッションを確立することができる。
また、DVR20は、XMPPサーバ43との間での常時接続セッションが予期せず切断されるエラーが発生した場合には(図6:ステップS634)、電源がオンにされたときの自動接続フラグのチェックで自動接続フラグがオンにセットされている場合の動作を同様に行う。
図27はXMPPサーバ43との常時接続セッション中のDVR20の動作の一部を示すフローチャートである。
ダイレクトアクセス管理サーバ40は、たとえば、保守を行うときなど、XMPPサーバ43との常時接続セッションの強制切断を指示するメッセージと再接続待機時間T3を含むXMPPログインセッション強制切断指示<R-27>をDVR20に送信する。DVR20は、ダイレクトアクセス管理サーバ40より、そのXMPPログインセッション強制切断指示<R-27>を受信すると(図27:ステップS2701)、XMPPサーバ43との常時接続セッションを切断する処理を行い(図27:ステップS2702)、受信したXMPPログインセッション強制切断指示<R-27>に含まれる再接続待機時間T3の時間だけ待機して(図27:ステップS2703)、ステップS611のXMPPログイン情報取得要求<D-0-1>の送信から処理をやりなおす。ここで、再接続待機時間T3は、ダイレクトアクセス管理サーバ40において常時接続セッションが接続されている被制御機器の台数、稼動中のサーバ台数、処理性能の変更など、各種の事情に応じて動的に可変される値である。
ところで、DVR20に送信する初回接続時の待機上限時間T1、再接続時の待機上限時間T2は、ダイレクトアクセス管理サーバ40の負荷に応じて動的に変更することによって、ダイレクトアクセス管理サーバ40の負荷の時間的な分散をより最適に行えるようになる。そこでダイレクトアクセス管理サーバ40は、常時接続セッションが接続されている被制御機器の台数の変動や、並列して処理を行うサーバ機器の台数などの処理能力の変更など、各種の事情に応じて、DVR20に送信する初回接続時の待機上限時間T1、再接続時の待機上限時間T2を最適な値に更新し、この更新した初回接続時の待機上限時間T1、再接続時の待機上限時間T2を含む接続待機時間通知<R-29>をDVR20に送信する。DVR20は、この接続待機時間通知<R-29>を受信すると(図27:ステップS2703)、この接続待機時間通知<R-29>に含まれる初回接続時の待機上限時間T1、再接続時の待機上限時間T2を、記憶部21に保存する(図27:ステップS2704)。このとき既に初回接続時の待機上限時間T1、再接続時の待機上限時間T2の情報が記憶部21に保存されていた場合には、その既存の情報を新しく入手した初回接続時の待機上限時間T1、再接続時の待機上限時間T2の情報で書き換える。
次に、初回接続時の待機上限時間T1、再接続時の待機上限時間T2を用いてDVR20がダイレクトアクセス管理サーバ40に対してXMPPサーバ43との常時接続セッションを確立するときの動作の例として、DVR20がXMPPサーバ43との常時接続セッションを接続中に電源をオフにし再び電源をオンにした場合(再接続時)の動作、ダイレクトアクセス管理サーバ40側での何らの事情によりDVR20とXMPPサーバ43との間での常時接続セッションが切断された場合の動作をそれぞれ説明する。
まず、DVR20がXMPPサーバ43との常時接続セッションを接続中に電源をオフにし、再び電源をオンにした場合の再接続の動作を図28を参照して説明する。
DVR20は、ダイレクトアクセス管理サーバ40への機器登録が完了した後、XMPPログイン情報取得要求<D-0-1>をダイレクトアクセス管理サーバ40へ送信し、ダイレクトアクセス管理サーバ40より、XMPPログインに必要な情報と初回接続時の待機上限時間T1、再接続時の待機上限時間T2等を含むXMPPログイン情報取得応答<D-0-1R>を受信したなら、この
XMPPログイン情報取得応答<D-0-1R>に含まれる、XMPPログインに必要な情報と初回接続時の待機上限時間T1、再接続時の待機上限時間T2を記憶部21に保存する。この後、DVR20は、記憶部21に保存されたXMPPログインに必要な情報を用いてダイレクトアクセス管理サーバ40のXMPPサーバ43との間で常時接続セッションを確立する。DVR20の電源がオフになってXMPPサーバ43との間で常時接続セッションが切断された後、DVR20の電源がオンになると、自動接続フラグのチェックの後、記憶部21に記憶された初回接続時の待機上限時間T1をもとに待機時間tr1を計算し、この待機時間tr1だけ待機してから、XMPPログイン情報取得要求<D-0-1>の送信から処理をやりなおし、ダイレクトアクセス管理サーバ40のXMPPサーバ43との間で常時接続セッションを再度確立する。
ここで、初回接続時の待機上限時間T1は、ユーザの利便性を考慮すると比較的短い時間たとえば60秒程度とする。DVR20は、この待機上限時間T1を上限とする一様乱数時間が待機時間tr1として用いて時間待ちを行う。したがって、ダイレクトアクセス管理サーバ40から見て0〜T1の時間間隔で負荷の分散が行われることとなる。
上記のようにDVR20の電源のオン・オフの場合は、概ね一回のXMPPログイン情報取得要求<D-0-1>の送信でXMPPサーバ43との間での常時接続セッションが再確立されるが、ダイレクトアクセス管理サーバ40側での何らの事情で、XMPPサーバ43との間での常時接続セッションが切断された場合には、DVR20からXMPPログイン情報取得要求<D-0-1>を送信することを繰り返しても接続エラーが続くことがある。
図29は、このように接続エラーが繰り返される場合においてのDVR20とダイレクトアクセス管理サーバ40との間でのやりとりの一例を示す図である。
この場合には、DVR20は、はじめに初回接続時の待機上限時間T1の一様乱数時間である待機時間tr1だけ待機してからXMPPログイン情報取得要求<D-0-1>をダイレクトアクセス管理サーバ40に送信し、接続エラーが発生した場合には、次に再接続時の待機上限時間T2の一様乱数時間である時間tr2を計算し、この時間tr2と初回接続時の待機上限時間T1および待機時間tr1からT1-tr1+tr2の時間を計算し、このT1-tr1+tr2の時間だけ待機してからXMPPログイン情報取得要求<D-0-1>を送信するようにする。ここで、再接続時の待機上限時間T2は、たとえば、600秒程度など、初回接続時の待機上限時間T1よりも長い時間が用いられている。初回接続時の待機上限時間T1はユーザの利便性を考慮して決められた時間であるのに対し、再接続時の待機上限時間T2は、ダイレクトアクセス管理サーバ40の負担を時間分散させることを考慮して決められた時間である。すなわち、ダイレクトアクセス管理サーバ40やネットワークの側の問題に依存して発生する接続エラーは、複数の被制御機器において同時に発生し、結果的に複数の被制御機器からほぼ同じタイミングでXMPPログイン情報取得要求<D-0-1>がダイレクトアクセス管理サーバ40へ向けて送信されることになり得る。本実施形態によれば、このようなダイレクトアクセス管理サーバ40への負荷の時間集中を回避することができる。
また、DVR20は、二回目の接続エラーの発生以後、再接続時の待機上限時間T2をそのまま待機時間として用いて待機し、XMPPログイン情報取得要求<D-0-1>の送信をXMPPサーバ43との間での常時接続セッションが確立するまで繰り返す。すなわち、これは一度T1-tr1+tr2の時間だけ待機すれば、以後は同じ時間間隔でXMPPログイン情報取得要求<D-0-1>をダイレクトアクセス管理サーバ40に送信しても、ダイレクトアクセス管理サーバ40に負荷が時間集中することはないからである。
図30は待機時間とダイレクトアクセス管理サーバ40の負荷分散区間との関係を示す図である。このように初回接続時の待機上限時間T1は、ユーザの利便性を考慮して比較的短い時間が用いられ、この待機上限時間T1を上限とする一様乱数時間が、初回のXMPPログイン情報取得要求<D-0-1>を送信する際の実際の待機時間tr1となる。再接続時の待機上限時間T2は、ダイレクトアクセス管理サーバ40の負担を時間分散させることを考慮して決められた時間であるため、初回接続時の待機上限時間T1に比べ十分に長い時間とすることが望ましい。T1-tr1+tr2が二回目のXMPPログイン情報取得要求<D-0-1>を送信する際の実際の待機時間となる。ここで、tr2は再接続時の待機上限時間T2上限とする一様乱数時間である。三回目以降のXMPPログイン情報取得要求<D-0-1>の送信は再接続時の待機上限時間T2の間隔で行われることとなる。二回目のXMPPログイン情報取得要求<D-0-1>を送信する待機時間をT1-tr1+tr2とするのは、二回目のXMPPログイン情報取得要求<D-0-1>を送信するタイミングが最初のT2区間内で発生することを保証するためであり、もし二回目のXMPPログイン情報取得要求<D-0-1>を送信するタイミングがT1区間内にも発生することを許容した場合、T1区間内に初回のXMPPログイン情報取得要求<D-0-1>と二回目のXMPPログイン情報取得要求<D-0-1>とが混在することになり、T1区間での負荷が増大する危険がある。
また、ダイレクトアクセス管理サーバ40は、常時接続セッションが接続されている被制御機器の台数の変動や、並列して処理を行うサーバ機器の台数などの処理能力の変更など、各種の事情に応じてサーバ機器の台数、初回接続時の待機上限時間T1および再接続時の待機上限時間T2を動的に更新し、新たにセッションが接続されたDVR20に対して送信する。これにより、負荷分散のために常に最適な初回接続時の待機上限時間T1および再接続時の待機上限時間T2をDVR20に与えることができ、ダイレクトアクセス管理サーバ40の可用性を向上させることができる。
次に、関連付けられた制御機器である携帯電話10と被制御機器であるDVR20との間で、携帯電話10がDVR20を制御する際の具体的な処理に関して説明する。
[3.リモート録画予約]
DVR20へのリモート録画予約の動作を説明する。
図7の一部はリモート録画予約時の情報の流れを示すシーケンス図、図8はリモート録画予約に関する携帯電話10の動作を示すフローチャート、図9はリモート録画予約に関するサービスサーバ30の動作を示すフローチャート、図10と図11はリモート録画予約およびコンテンツ取得に関するダイレクトアクセス管理サーバ40の動作を示すフローチャート、図12はリモート録画予約およびコンテンツ取得に関するDVR20の動作を示すフローチャートである。
携帯電話10のユーザから、リモート録画予約サービスを受信するために、ダイレクトアクセス利用開始の指示が携帯電話10に与えられると(図8:ステップS801)、携帯電話10は自身に予め設定されているユーザ識別情報を含む被制御機器リスト取得要求<D-1>をサービスサーバ30に送信する(図8:ステップS802)。
サービスサーバ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)。
ダイレクトアクセス管理サーバ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)。
また、ステップ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)。
携帯電話10は、被制御機器リストを含む被制御機器リスト取得応答<D-3>を受信した場合は(図8:ステップS805)、その被制御機器リストに複数の被制御機器の番号が存在するかどうかを判定する(図8:ステップS806)。複数の被制御機器の番号が存在する場合には、携帯電話10は、その被制御機器リストの内容を表示部に表示して(図8:ステップS807)、ユーザにその中から1つの被制御機器の番号を選択させ(図8:ステップS808)、その選択された被制御機器の番号を記憶部11に保存する(図8:ステップS809,S811)。複数の被制御機器が存在しない場合には、その一つの被制御機器の番号を記憶部11に保存する(図8:ステップS810,S811)。
次に、携帯電話10は、これから利用するサービス(リモート録画予約)が携帯電話10から被制御機器に対してダイレクトアクセス可能なサービスか否かによって処理を分岐する(図8:ステップS812)。携帯電話10からダイレクトアクセス可能なサービスを利用する場合は、携帯電話10は、記憶部11に記憶されているユーザ識別情報、被制御機器の番号、携帯ダイレクトフラグ(オン)を含む新規リモート録画予約要求<D-4>をサービスサーバ30に送信する(図8:ステップS813)。ここで、携帯ダイレクトフラグの値は、携帯電話10からダイレクトアクセス可能なサービスを利用する場合にはオンにセットされ、携帯電話10からダイレクトアクセスが不可なサービスを利用する場合にはオフにセットされる。したがって、携帯電話10からダイレクトアクセス不可なサービスを利用する場合は、携帯電話10は、ユーザ識別情報、録画予約番組情報、被制御機器の番号、携帯ダイレクトフラグ(オフ)を含む新規リモート録画予約要求<D-4>をサービスサーバ30に送信する(図8:ステップS814)。録画予約番組情報は、たとえば、録画開始時間、番組長、放送種別、チャンネル、強制予約フラグなどの情報で構成される。
サービスサーバ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)。
ダイレクトアクセス管理サーバ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)。
サービスサーバ30は、ダイレクトアクセス管理サーバ40からXMPPセッションIDを含むXMPPログイン応答<D-5R>を受信すると(図9:ステップS913)、このXMPPログイン応答<D-5R>に含まれるXMPPセッションIDおよび、ステップS909の新規リモート録画予約要求<D-4>に含まれる携帯ダイレクトフラグの値をServiceID、制御機器・サービス管理ID、被制御機器リスト番号と対応付けて記憶部31に保存する(図9:ステップS914)。
一方、サービスサーバ30によるステップS910の判定の結果、利用可能なXMPPセッションIDが既に記憶部31に記憶されていれば、サービスサーバ30は、新規リモート録画予約要求<D-4>に含まれる携帯ダイレクトフラグの値をServiceID、制御機器・サービス管理ID、被制御機器の番号と対応付けて記憶部31に保存する(図9:ステップS911)。
このステップS911またはステップS914の携帯ダイレクトフラグの保存後、サービスサーバ30はServiceID、制御機器・サービス管理ID、サービスURN (Uniform Resource Name)、XMPPセッションIDを含むダイレクトアクセス開始要求<D-6>をダイレクトアクセス管理サーバ40に送信する(図9:ステップS915)。ここで、サービスURNは、被制御機器が提供可能なサービス(アプリケーション)の一つを指定する情報である。ここでは、携帯電話10からDVR20に対してリモート録画予約を行おうとしているので、サービスURNはリモート録画予約サービスを指定する情報となる。
ダイレクトアクセス管理サーバ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セッションの確立を行う。
またステップS1104で、ダイレクトアクセス開始要求<D-6>に含まれているXMPPセッションIDが、ダイレクトアクセス開始要求<D-6>に含まれているServiceIDと制御機器・サービス管理IDとの組み合わせに対応付けられて記憶部41に記憶されている場合は、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス開始要求<D-6>で指定されているサービスを識別する情報であるサービスURNの指定情報を含むダイレクトアクセス用URI取得要求<D-7>を被制御機器であるDVR20にXMPPサーバ43とDVR20との間で確立されている常時接続セッションを通じて送信する(図11:ステップS1106)。
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アドレスおよびポート番号をあらかじめ確保しておく。
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のリストである。
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、ダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-9>として受信すると(図11:ステップS1107)、そのダイレクトアクセス用URIリストをダイレクトアクセス開始応答<D-10>としてサービスサーバ30に送信する(図11:ステップS1111)。
また、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"で埋めることによって行われる。
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、トンネリングを指示するエラーコードをダイレクトアクセス用URI取得応答<D-9>として受信した場合には(図11:ステップS1109)、ダイレクトアクセス管理サーバ40内のトンネリング用ポートの割り当てを行い(図11:ステップS1110)、この割り当てたダイレクトアクセス管理サーバ40内トンネリング用ポートのポート番号とダイレクトアクセス管理サーバ40のグローバルIPアドレスを用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-10>をサービスサーバ30へ送信する(図11:ステップS1111)。これによって、サービスサーバ30や携帯電話10からは、トンネリングされていることを意識することなくDVR20に対してアクセスを行うことができる。
ステップS1205の判定で、ダイレクトアクセス用URI取得要求<D-7>に含まれているサービスURNの指定情報がトンネリング不可なサービスURNであることが判定された場合には、DVR20は、空きポート獲得失敗を示すエラーコードをダイレクトアクセス用URI取得応答<D-9>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1207)。
サービスサーバ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)。
以下において、携帯電話10がDVR20に対して録画予約要求を行う際の、いくつかの具体的な例を説明する。
[3-1.サービスサーバ30での代理アクセスでのリモート録画予約:図7]
サービスサーバ30が、携帯電話10から指示を受け、代理でDVR20に対してリモート録画予約を行う場合の動作を説明する。図7の一部は、携帯電話10から指示を受けたサービスサーバ30が、代理でDVR20に対してリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は、上述した通りである。
携帯電話10から指示を受けたサービスサーバ30が、代理でDVR20に対してリモート録画予約を行う場合とは、ステップS918において携帯ダイレクトフラグがオフであると判断され、更に、ステップS917でサービスサーバ30が受信したダイレクトアクセス開始応答<D-10>に、DVR20がステップS1209でダイレクトアクセス用URI取得応答<D-9>として送信したURIが含まれている場合である。なお、既に説明したように、サービスサーバ30は、ダイレクトアクセス開始応答<D-10>として受信したダイレクトアクセス用URIにアクセスするだけであるため、ダイレクトアクセス用URIがDVR20に対応するのか、ダイレクトアクセス管理サーバ40のトンネリングに対応するものなのかは、特には判断を行う必要はない。
サービスサーバ30は、ステップS917でダイレクトアクセス開始応答<D-10>として受信したダイレクトアクセス用URIに含まれるDVR20のアドレスにアクセスして、携帯電話10より新規リモート録画予約要求<D-4>によって取得した録画予約番組情報を含む新規リモート録画予約要求<D-11>を送信する(図9:ステップS920)。
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)。
サービスサーバ30は、新規リモート録画予約応答<D-11R>を受信すると(図9:ステップS921)、新規リモート録画予約応答<D-11R>の予約重複番組リストを、新規リモート録画予約応答<D-12>として携帯電話10に送信する(図9:ステップS922)。また、サービスサーバ30は、不正URIのエラーコードを新規リモート録画予約応答<D-11R>として受信した場合には(図9:ステップS923)、そのエラーコードを新規リモート録画予約応答<D-12>として携帯電話10に送信する(図9:ステップS924)。
携帯電話10は、サービスサーバ30より予約重複番組リストを含む新規リモート録画予約応答<D-12>を受信した場合には(図8:ステップS823)、予約重複番組リストから予約重複番組の有無を判定し(図8:ステップS824)、予約重複番組が存在するならば、表示部を通じて予約重複番組の情報をユーザに表示する(図8:ステップS825)。また、予約重複番組が存在しないならば、携帯電話10は、表示部を通じてリモート録画予約の成功を示すメッセージをユーザに表示する(図8:ステップS826)。
また、携帯電話10は、サービスサーバ30より不正URIのエラーコードを新規リモート録画予約応答<D-12>として受信した場合には(図8:ステップS827)、表示部を通じてダイレクトアクセス失敗のエラーメッセージをユーザに表示する(図8:ステップS828)。
[3-2.携帯電話10からのダイレクトでのリモート録画予約:図13]
次に、携帯電話10がサービスサーバ30を介さずにダイレクトにDVR20に対してリモート録画予約を行う場合の動作を説明する。図13は携帯電話10からダイレクトにDVR20に対してリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
図13に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は図7を用いて説明した流れと同じであるため説明を省略する。
携帯電話10からダイレクトにDVR20に対してリモート録画予約を行う場合とは、ステップS918において携帯ダイレクトフラグがオンであると判断され、更に、ステップS919でサービスサーバ30から携帯電話10に送信される新規リモート録画予約応答<D-13>に、DVR20がステップS1209でダイレクトアクセス用URI取得応答<D-9>として送信したURIが含まれている場合である。なお、既に説明したように、携帯電話10は、新規リモート録画予約応答<D-13>として受信したダイレクトアクセス用URIにアクセスするだけであるため、ダイレクトアクセス用URIがDVR20に対応するのか、ダイレクトアクセス管理サーバ40のトンネリングに対応するものなのかは、特には判断を行う必要はない。
携帯電話10は、サービスサーバ30よりダイレクトアクセス用URIを含む新規リモート録画予約応答<D-13>を受信した場合には(図8:ステップS815)、そのダイレクトアクセス用URIに含まれるDVR20のアドレスにアクセスして、ダイレクトアクセス用URIおよび録画予約番組情報を含む新規リモート録画予約要求<D-14>をDVR20に送信する(図8:ステップS816)。
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)。
携帯電話10は、新規リモート録画予約応答<D-14R>を受信すると(図8:ステップS817)、予約重複番組リストから予約重複番組の有無を判定し (図8:ステップS818)、予約重複番組が存在するならば、表示部を通じて予約重複番組の情報をユーザに表示する(図8:ステップS819)。また、予約重複番組が存在しないならば、携帯電話10は、表示部を通じてリモート録画予約の成功を示すメッセージをユーザに表示する(図8:ステップS820)。
また、携帯電話10は、不正URIのエラーコードを新規リモート録画予約応答<D-14R>として受信した場合には(図8:ステップS821)、表示部を通じてダイレクトアクセス失敗を示すエラーメッセージをユーザに表示する(図8:ステップS822)。
[3-3.サービスサーバ30からのトンネリングを利用したリモート録画予約:図14]
次に、サービスサーバ30が、携帯電話10から指示を受け、ダイレクトアクセス管理サーバ40のXMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合の動作を説明する。図14は携帯電話10からの指示を受けたサービスサーバ30が、XMPPサーバ43によるトンネリングを利用してDVR20に対してのリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
図14に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は図7を用いて説明した流れと同じであるため説明を省略する。
携帯電話10から指示を受けたサービスサーバ30が、XMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合とは、ステップS918において携帯ダイレクトフラグがオフであると判断され、更に、ステップS917でサービスサーバ30が受信したダイレクトアクセス開始応答<D-10>に、ダイレクトアクセス管理サーバ40がステップS1110で割り当てたトンネリングのためのURIが含まれている場合である。なお、既に説明したように、サービスサーバ30は、ダイレクトアクセス開始応答<D-10>として受信したダイレクトアクセス用URIにアクセスするだけであるため、ダイレクトアクセス用URIがDVR20に対応するのか、ダイレクトアクセス管理サーバ40のトンネリングに対応するものなのかは、特には判断を行う必要はない。
サービスサーバ30は、ステップS917でダイレクトアクセス開始応答<D-10>として受信したダイレクトアクセス用URIに含まれるダイレクトアクセス管理サーバ40のアドレスにアクセスして、ダイレクトアクセス用URIと、携帯電話10より新規リモート録画予約要求<D-4>によって取得した録画予約番組情報とを含む新規リモート録画予約要求<D-15>を送信する(図9:ステップS920)。
ダイレクトアクセス管理サーバ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"で埋める。
DVR20は、ダイレクトアクセス管理サーバ40より、新規リモート録画予約要求<D-16>を受信すると(図12:ステップS1210)、この新規リモート録画予約要求<D-16>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1211)、不正なURIであるなら、その旨を示すエラーコードを新規リモート録画予約応答<D-16R>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1212)。正当なURIである場合には、DVR20は、予約重複番組リストを含む情報を新規リモート録画予約応答<D-16R>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1213)。
ダイレクトアクセス管理サーバ40は、DVR20からの予約重複番組リストを含む新規リモート録画予約応答<D-16R>を受信すると(図11:ステップS1116)、この予約重複番組リストを含む新規リモート録画予約応答<D-17>をサービスサーバ30に送信する(図11:ステップS1117)。
サービスサーバ30は、この予約重複番組リストを含む新規リモート録画予約応答<D-17>を受信すると(図9:ステップS921)、この予約重複番組リストを含む新規リモート録画予約応答<D-18>を携帯電話10へ送信する(図9:ステップS922)。また、サービスサーバ30は、ダイレクトアクセス管理サーバ40からエラーコードを新規リモート録画予約応答<D-17>として受信した場合は(図9:ステップS923)、このエラーコードを新規リモート録画予約応答<D-18>として携帯電話10へ送信する(図9:ステップS924)。その後の、サービスサーバ30及び携帯電話10における処理は上述した通りである。
[3-4.携帯電話からのトンネリングを利用したリモート録画予約:図26]
次に、携帯電話10が、サービスサーバ30を介さずにダイレクトアクセス管理サーバ40のXMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合の動作を説明する。図26はサービスサーバ30を介さないで携帯電話10からXMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合の情報の流れを示すシーケンス図である。
図26に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は図7を用いて説明した流れと同じであるため説明を省略する。
携帯電話10が、サービスサーバ30を介さずにXMPPサーバ43によるトンネリングを利用してDVR20に対してリモート録画予約を行う場合とは、ステップS918において携帯ダイレクトフラグがオンであると判断され、更に、ステップS919でサービスサーバ30から携帯電話10に送信される新規リモート録画予約応答<D-13>に、ダイレクトアクセス管理サーバ40がステップS1110で割り当てたトンネリングのためのURIが含まれている場合である。なお、既に説明したように、携帯電話10は、新規リモート録画予約応答<D-13>として受信したダイレクトアクセス用URIにアクセスするだけであるため、ダイレクトアクセス用URIがDVR20に対応するのか、ダイレクトアクセス管理サーバ40のトンネリングに対応するものなのかは、特には判断を行う必要はない。
まず、携帯電話10は、サービスサーバ30よりダイレクトアクセス用URIを含む新規リモート録画予約応答<D-13>を受信した場合には(図8:ステップS815)、そのダイレクトアクセス用URIに含まれるダイレクトアクセス管理サーバ40のアドレスにアクセスして、ダイレクトアクセス用URIと録画予約番組情報とを含む新規リモート録画予約要求<D-55>をダイレクトアクセス管理サーバ40に送信する(図8:ステップS816)。
ダイレクトアクセス管理サーバ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"で埋める。
DVR20は、ダイレクトアクセス管理サーバ40より、新規リモート録画予約要求<D-16>を受信すると(図12:ステップS1210)、この新規リモート録画予約要求<D-16>に含まれるダイレクトアクセス用URIの正当性チェックを行い(図12:ステップS1211)、不正なURIであるなら、その旨を示すエラーコードを新規リモート録画予約応答<D-16R>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1212)。正当なURIである場合には、DVR20は、予約重複番組リストを含む情報を新規リモート録画予約応答<D-16R>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1213)。
ダイレクトアクセス管理サーバ40は、DVR20から予約重複番組リストを含む新規リモート録画予約応答<D-16R>を受信すると(図11:ステップS1116)、この予約重複番組リストを含む新規リモート録画予約応答<D-57R>を携帯電話10に送信する(図11:ステップS1117)。また、ダイレクトアクセス管理サーバ40は、DVR20からエラーコードを新規リモート録画予約応答<D-16R>として受信した場合には、このエラーコードを新規リモート録画予約応答<D-57R>として携帯電話10へ送信する。その後の携帯電話10における処理は上述した通りである。
以上で説明したように、携帯電話10は、DVR20へのダイレクトなアクセスのみならず、サービスサーバ30による代理アクセス、ダイレクトアクセス管理サーバ40によるXMPPを用いたトンネリングなどを利用して、DVR20への録画予約処理を実行することが可能である。
[4.コンテンツ取得]
次に、携帯電話10が、DVR20からコンテンツを取得する場合の動作を説明する。図15は携帯電話10からのDVR20へのダイレクトアクセスによるコンテンツ取得時の情報の流れを示すシーケンス図である。図17はコンテンツ取得時の携帯電話10の動作を示すフローチャート、図18および図19はコンテンツ取得時のサービスサーバ30の動作を示すフローチャートである。
携帯電話10のユーザから、コンテンツ取得サービスを受信するために、ダイレクトアクセス利用開始の指示が携帯電話10に与えられると(図17:ステップS1701)、携帯電話10は自身に予め設定されているユーザ識別情報を含む被制御機器リスト取得要求<D-1>をサービスサーバ30に送信する(図17:ステップS1702)。
サービスサーバ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)。
ダイレクトアクセス管理サーバ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)。
サービスサーバ30は、ダイレクトアクセス管理サーバ40から未登録であることを示すエラーコードを被制御機器リスト取得応答<D-2R>として受信した場合は (図9:ステップS905)、被制御機器の登録が必要であることを示すエラーコードを被制御機器リスト取得応答<D-3>として携帯電話10に送信する(図9:ステップS906)。また、サービスサーバ30が、ダイレクトアクセス管理サーバ40から被制御機器リストを含む被制御機器リスト取得応答<D-2R>を受信した場合は(図9:ステップS907)、この被制御機器リストを含む被制御機器リスト取得応答<D-3>を携帯電話10に送信する(図9:ステップS908)。
携帯電話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)。
次に、携帯電話10は、自身に予め設定された携帯ダイレクトフラグを基に、DVR20のコンテンツ取得サービスに携帯電話10からダイレクトにアクセスするか、サービスサーバ30を介してアクセスするかを判断して処理を分岐する(図17:ステップS1712)。
携帯電話10からダイレクトにDVR20のコンテンツ取得サービスにアクセスする場合、携帯電話10は、ユーザ識別情報、検索条件、被制御機器の番号、携帯ダイレクトフラグ(オン)を含むコンテンツ検索要求<D-44>をサービスサーバ30に送信する(図17:ステップS1713)。また、携帯電話10がサービスサーバ30を介してコンテンツを取得する場合、携帯電話10は、ユーザ識別情報、検索条件、被制御機器の番号、携帯ダイレクトフラグ(オフ)を含むコンテンツ検索要求<D-44>をサービスサーバ30に送信する(図17:ステップS1724)。ここで、検索条件とは、コンテンツを検索する条件であり、例えば、コンテンツが静止画データであるという条件や、コンテンツが録画済の映像データであるなどを指定する情報である。検索条件として日付、データサイズなどの項目を加えて、更に詳細な検索条件を設定できるようにしてもよい。
サービスサーバ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)。
ダイレクトアクセス管理サーバ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)。
サービスサーバ30は、ダイレクトアクセス管理サーバ40からXMPPセッションIDを含むXMPPログイン応答<D-5R>を受信すると(図18:ステップS1805)、これに含まれているXMPPセッションIDおよびステップS1801のコンテンツ検索要求<D-44>に含まれる携帯ダイレクトフラグの値をServiceID、制御機器・サービス管理ID、被制御機器リスト番号と対応付けて記憶部31に保存する(図18:ステップS1806)。
ステップS1803またはステップS1806の携帯ダイレクトフラグの保存後、サービスサーバ30はServiceID、制御機器・サービス管理ID、サービスURN、XMPPセッションIDを含むダイレクトアクセス開始要求<D-6>をダイレクトアクセス管理サーバ40に送信する(図18:ステップS1807)。ここでは、携帯電話10からDVR20に対してコンテンツ取得を行おうとしているので、サービスURNはコンテンツ取得サービスを指定する情報となる。
ダイレクトアクセス管理サーバ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)。
サービスサーバ30は、ダイレクトアクセス管理サーバ40より、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-10>として受信すると(図18:ステップS1808)、ステップS1804に戻って、再びXMPPログイン要求<D-5>をダイレクトアクセス管理サーバ40に送信して、再度XMPPセッションの確立を行う。
DVR20は、ダイレクトアクセス管理サーバ40より、サービスURNの指定情報を含むダイレクトアクセス用URI取得要求<D-7>を受信したとき(図12:ステップS1201)、ダイレクトアクセス用のローカルポートの割当てを行う(図12:ステップS1202)。次に、DVR20は、DVR20にあらかじめ割り当てられたローカルIPアドレスおよびダイレクトアクセス用のローカルポートのポート番号を含む、ダイレクトアクセス用ポートのNAT設定要求<D-8>をルータ50に送信して、ローカルIPアドレス及びポート番号に、インターネットからアクセス可能なグローバルIPアドレスおよびポート番号をマッピングすることをルータ50に要求する(図12:ステップS1203)。
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の能力に応じて適宜設定することが可能である。
また、DVR20は、ダイレクトアクセス用ポートのNAT設定要求<D-8>に対して、ルータ50より、DVR20のローカルIPアドレス及びポート番号に対応付けられたグローバルIPアドレスおよびポート番号をNAT設定応答<D-8R>として受信した場合には(図12:ステップS1208)、これらのグローバルIPアドレスおよびポート番号を用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-9>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1209)。
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、ダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-9>として受信すると(図11:ステップS1107)、そのダイレクトアクセス用URIリストをダイレクトアクセス開始応答<D-10>としてサービスサーバ30に送信する(図11:ステップS1111)。
また、ダイレクトアクセス管理サーバ40は、トンネリングによるコンテンツ取得を指示するエラーコードをダイレクトアクセス用URI取得応答<D-9>として受信した場合には(図11:ステップS1109)、ダイレクトアクセス管理サーバ40内トンネリング用ポートの割当てを行い(図11:ステップS1110)、この割り当てたダイレクトアクセス管理サーバ40内トンネリング用ポートのポート番号とダイレクトアクセス管理サーバ40のグローバルIPアドレスを用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-10>をサービスサーバ30へ送信する(図11:ステップS1111)。
サービスサーバ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)。
以下において、携帯電話10がDVR20に対してコンテンツ取得要求を行う際の、いくつかの具体的な例を説明する。
[4-1.携帯電話10からダイレクトにアクセス:図15]
携帯電話10が、サービスサーバ30を介さずにダイレクトにDVR20からコンテンツ取得を行う場合の動作を説明する。図15は携帯電話10からダイレクトにDVR20からコンテンツ取得を行う場合の情報の流れを示すシーケンス図である。
図15に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は、上述した通りである。
なお、携帯電話10からダイレクトにDVR20に対してコンテンツ取得を行う場合とは、ステップS1810において携帯ダイレクトフラグがオンであると判断され、更に、ダイレクトアクセス管理サーバ40におけるトンネリングを行わない場合である。
まず、携帯電話10からダイレクトにDVR20に対してコンテンツの検索を要求し、検索条件に合致するコンテンツのタイトルリストを取得する流れについて説明する。
携帯電話10は、サービスサーバ30よりダイレクトアクセス用URIを含むコンテンツ検索応答<D-20>を受信すると(図17:ステップS1714)、そのダイレクトアクセス用URIに含まれるDVR20のアドレスにアクセスして、ダイレクトアクセス用URIおよび検索条件を含むコンテンツ検索要求<D-29>をDVR20に送信する(図17:ステップS1715)。
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が接続されている家庭内のネットワークでのローカルなアドレスで特定される家庭内ネットワーク内での保存場所を指し示す情報などである。
携帯電話10は、DVR20から不正なURIであることを示すエラーコードをコンテンツ検索応答<D-29R>として受信すると(図17:ステップS1722)、ダイレクトアクセスの失敗を示すメッセージを表示部を通してユーザに表示する(図17:ステップS1723)。
また、携帯電話10は、DVR20から、コンテンツのタイトルリスト、Local URIリストを含むコンテンツ検索応答<D-29R>を受信した場合には(図17:ステップS1716)、コンテンツ取得のための処理に進む。
次に、携帯電話10がDVR20からダイレクトにコンテンツ取得するための処理の流れについて説明する。
携帯電話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はインターネットから直接アクセスできない場所を指し示しているためである。
サービスサーバ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はコンテンツ取得サービスを指定する情報となる。
ダイレクトアクセス管理サーバ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)。
サービスサーバ30は、ダイレクトアクセス管理サーバ40から、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-35>として受信すると(図19:ステップS1907)、ステップS1903に戻って、ダイレクトアクセス管理サーバ40に対してXMPPログイン要求<D-5>を再度行い、ダイレクトアクセス管理サーバ40からのXMPPログイン応答<D-5R>を受信して(図19:ステップS1904)、これに含まれるXMPPセッションIDを記憶部41に保存する(図19:ステップS1905)。
DVR20は、ダイレクトアクセス管理サーバ40よりダイレクトアクセス用URI取得要求<D-32>を受信すると(図12:ステップS1201)、ダイレクトアクセス用のローカルポートの割当てを行う(図12:ステップS1202)。次に、DVR20は、ローカルIPアドレスおよびダイレクトアクセス用のローカルポートのポート番号を含む、ダイレクトアクセス用ポートのNAT設定要求<D-33>をルータ50に送信する(図12:ステップS1203)。
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)。
また、DVR20は、ダイレクトアクセス用ポートのNAT設定要求<D-33>に対して、ルータ50より、DVR20のローカルIPアドレス及びポート番号に対応付けられたグローバルIPアドレスおよびポート番号を、NAT設定応答<D-33R>として受信した場合には(図12:ステップS1208)、これらのグローバルIPアドレスおよびポート番号を用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-34>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1209)。
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、ダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-34>として受信すると(図11:ステップS1107)、そのダイレクトアクセス用URIリストをダイレクトアクセス開始応答<D-35>としてサービスサーバ30に送信する(図11:ステップS1111)。
また、ダイレクトアクセス管理サーバ40は、トンネリングによるコンテンツ取得を指示するエラーコードをダイレクトアクセス用URI取得応答<D-34>として受信した場合には(図11:ステップS1109)、ダイレクトアクセス管理サーバ40内トンネリング用ポートの割当てを行い(図11:ステップS1110)、この割り当てたダイレクトアクセス管理サーバ40内トンネリング用ポートのポート番号とダイレクトアクセス管理サーバ40のグローバルIPアドレスを用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-35>をサービスサーバ30へ送信する(図11:ステップS1111)。
サービスサーバ30は、ダイレクトアクセス管理サーバ40から、ダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-35>を受信した場合には(図19:ステップS1908)、そのダイレクトアクセス用URIリストを含むURI取得応答<D-36>を携帯電話10へ送信する(図19:ステップS1909)。
以上により、携帯電話10は、DVR20からダイレクトにコンテンツを取得するためのダイレクトアクセスURIを取得したので、DVR20から選択されたコンテンツを取得する処理を開始する。なお、ここでは、携帯電話10がURI取得応答<D-36>として受信したダイレクトアクセス用URIリストには、ユーザによって選択されたコンテンツのそれぞれに対応するダイレクトアクセスURIが格納されている。
携帯電話10は、ダイレクトアクセス用URIリストを含むURI取得応答<D-36>を受信すると(図17:ステップS1718)、そのダイレクトアクセス用URIリストの中から取得処理を行うコンテンツに関するダイレクトアクセス用URIを選択し、そのダイレクトアクセス用URIを含むコンテンツ取得要求<D-37>をDVR20にダイレクトに送信する(図17:ステップS1719)。
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)。
携帯電話10は、DVR20からコンテンツをコンテンツ取得応答<D-37R>として受信すると(図17:ステップS1720)、ダイレクトアクセス用URIリストに格納されているすべてのコンテンツの取得が完了するまで(図17:ステップS1721)、ステップS1719のコンテンツ取得要求<D-37>をDVR20に送信することを繰り返す。また、携帯電話10は、DVR20から不正なURIであることを示すエラーコードをコンテンツ取得応答<D-37R>として受信した場合には、ダイレクトアクセスの失敗を示すメッセージを表示部を通してユーザに表示する。
[4-2.サービスサーバ30を介したコンテンツ取得:図16]
次に、携帯電話10が、サービスサーバ30を介してDVR20からコンテンツを取得する場合の動作を説明する。図16はサービスサーバ30からDVR20へのダイレクトアクセスによるコンテンツ取得時の情報の流れを示すシーケンス図である。
図16に示した携帯電話10、DVR20、サービスサーバ30、ダイレクトアクセス管理サーバ40及びルータ50間の情報の流れで、ダイレクトアクセス開始応答<D-10>までの各装置での処理は、図15を用いて説明した流れと同じであるため説明を省略する。
なお、携帯電話10からサービスサーバ30を介してDVR20からコンテンツ取得を行う場合とは、ステップS1810において携帯ダイレクトフラグがオフであると判断され、更に、ダイレクトアクセス管理サーバ40におけるトンネリングを行わない場合である。
まず、携帯電話10からサービスサーバ30を介してダイレクトにDVR20に対してコンテンツの検索を要求し、検索条件に合致するコンテンツのタイトルリストを取得する流れについて説明する。
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)。
サービスサーバ30は、DVR20より、コンテンツ検索応答<D-19R>としてコンテンツのタイトルリストおよびLocal URIリストを受信すると(図18:ステップS1813)、そのコンテンツのLocal URIリストを一時的に保存し(図18:ステップS1814)、携帯電話10に、コンテンツのタイトルリストを含むコンテンツ検索応答<D-20>を送信する(図18:ステップS1815)。
また、サービスサーバ30は、DVR20より、コンテンツ検索応答<D-19R>として不正なURIであることを示すエラーコードを受信した場合には(図18:ステップS1816)、そのエラーコードを、携帯電話10にコンテンツ検索応答<D-20>として送信する(図18:ステップS1817)。
携帯電話10は、サービスサーバ30から不正なURIであることを示すエラーコードをコンテンツ検索応答<D-20>を受信した場合には(図17:ステップS1728)、ダイレクトアクセスの失敗を示すメッセージを表示部を通してユーザに表示する(図17:ステップS1729)。また、携帯電話10は、サービスサーバ30よりコンテンツのタイトルリストをコンテンツ検索応答<D-20>として受信した場合には (図17:ステップS1725)、コンテンツ取得のための処理に進む。
次に、携帯電話10がサービスサーバ30を介してDVR20からコンテンツ取得するための処理の流れについて説明する。
携帯電話10は、サービスサーバ30から、コンテンツのタイトルリストを含むコンテンツ検索応答<D-20>を受信した場合(図17:ステップS1725)、受信したコンテンツのタイトルの一覧を表示部に表示し、表示されたタイトルの中からユーザによって選択されたコンテンツに対応するタイトルを抽出してコンテンツの取得を要求するための取得タイトルリストを作成する。
その後、携帯電話10は、ユーザ識別情報、選択コンテンツのタイトルリスト(取得タイトルリスト)、被制御機器の番号を含むコンテンツ取得要求<D-21>をサービスサーバ30に送信する(図17:ステップS1726)。サービスサーバ30は、コンテンツ取得要求<D-21>を受信すると(図18:ステップS1818)、そのコンテンツ取得要求<D-21>に含まれるタイトルリストに対応するコンテンツのLocal URIリストを記憶部31から検索し(図18 :ステップS1819)、ユーザによって選択されたコンテンツのタイトルに対応するLocal URIを抽出してコンテンツの取得を要求するためのLocal URIリストを作成する。
次に、サービスサーバ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はコンテンツ取得サービスを指定する情報となる。
ダイレクトアクセス管理サーバ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)。
サービスサーバ30は、ダイレクトアクセス管理サーバ40から、不正XMPPセッションIDであることを示すエラーコードをダイレクトアクセス開始応答<D-26>として受信すると(図18:ステップS1825)、ステップS1820に戻って利用可能なXMPPセッションIDが記憶部31に記憶されているか否かを再び調べる。
DVR20は、ダイレクトアクセス管理サーバ40よりダイレクトアクセス用URI取得要求<D-23>を受信すると(図12:ステップS1201)、ダイレクトアクセス用のローカルポートの割当てを行う(図12:ステップS1202)。次に、DVR20は、ローカルIPアドレスおよびダイレクトアクセス用のローカルポートのポート番号を含む、ダイレクトアクセス用ポートのNAT設定要求<D-24>をルータ50に送信する(図12:ステップS1203)。
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)。
また、DVR20は、ダイレクトアクセス用ポートのNAT設定要求<D-24>に対して、ルータ50より、DVR20のローカルIPアドレス及びポート番号に対応付けられたグローバルIPアドレスおよびポート番号を、NAT設定応答<D-24R>として受信した場合には(図12:ステップS1208)、これらのグローバルIPアドレスおよびポート番号を用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-25>としてダイレクトアクセス管理サーバ40に送信する(図12:ステップS1209)。
ダイレクトアクセス管理サーバ40のXMPPサーバ43は、ダイレクトアクセス用URIリストをダイレクトアクセス用URI取得応答<D-25>として受信すると(図11:ステップS1107)、そのダイレクトアクセス用URIリストをダイレクトアクセス開始応答<D-26>としてサービスサーバ30に送信する(図11:ステップS1111)。
また、ダイレクトアクセス管理サーバ40は、トンネリングによるコンテンツ取得を指示するエラーコードをダイレクトアクセス用URI取得応答<D-25>として受信した場合には(図11:ステップS1109)、ダイレクトアクセス管理サーバ40内トンネリング用ポートの割当てを行い(図11:ステップS1110)、この割り当てたダイレクトアクセス管理サーバ40内トンネリング用ポートのポート番号とダイレクトアクセス管理サーバ40のグローバルIPアドレスを用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストを含むダイレクトアクセス開始応答<D-26>をサービスサーバ30へ送信する(図11:ステップS1111)。
以上により、サービスサーバ30は、DVR20からダイレクトにコンテンツを取得するためのダイレクトアクセスURIを取得したので、DVR20から選択されたコンテンツを取得する処理を開始する。なお、ここでは、サービスサーバ30がダイレクトアクセス開始応答<D-26>として受信したダイレクトアクセス用URIリストには、ユーザによって選択されたコンテンツのそれぞれに対応するダイレクトアクセスURIが格納されている。
サービスサーバ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)。
サービスサーバ30は、DVR20からコンテンツをコンテンツ取得応答<D-27R>として受信すると(図18:ステップS1828)、このコンテンツをコンテンツ取得応答<D-28>として携帯電話10に送信し(図18:ステップS1829)、ダイレクトアクセス用URIリストに格納されているすべてのコンテンツの携帯電話10への送信が完了するまで、ステップS1827のコンテンツ取得要求<D-27>をDVR20に送信することを繰り返す(図18:ステップS1830)。携帯電話10は、コンテンツを含むコンテンツ取得応答<D-28>を受信する(図17:ステップS1727)と、受信したコンテンツを、表示部を通じてユーザに表示する。
また、サービスサーバ30は、DVR20から不正なURIであることを示すエラーコードをコンテンツ取得応答<D-27R>として受信した場合には(図18:ステップS1831)、このエラーコードをコンテンツ取得応答<D-28>として携帯電話10に送信する(図18:ステップS1832)。
以上で説明したように、携帯電話10は、DVR20へのダイレクトなアクセス、若しくは、サービスサーバ30による代理アクセスを利用して、DVR20からコンテンツを取得することができる。なお、上述の説明においては、コンテンツ取得サービスはトンネリング不可のサービスとして説明したが、リモート録画予約サービスで説明したトンネリングの処理をコンテンツ取得サービスに適用することにより、コンテンツ取得サービスにおいてもダイレクトアクセス管理サーバ40のXMPPサーバ43を介したトンネリングの処理を利用してDVR20からコンテンツを取得させることは可能である。
[5.ダイレクトアクセス終了]
次に、上述の各種処理が完了し、サービスサーバ30、ダイレクトアクセス管理サーバ40及びDVR20でダイレクトアクセスを終了させる処理に関して説明する。図20はダイレクトアクセス終了時の情報の流れを示すシーケンス図、図21はダイレクトアクセス終了時のサービスサーバ30の動作を示すフローチャート、図22はダイレクトアクセス終了時のダイレクトアクセス管理サーバ40の動作を示すフローチャート、図23はダイレクトアクセス終了時のDVR20の動作を示すフローチャートである。
サービスサーバ30は、携帯電話10より、ユーザ識別情報を含むダイレクトアクセス終了通知<C-1>を受信すると(図21:ステップS2101)、ServiceID、制御機器・サービス管理ID、XMPPセッションID、サービスURN、ダイレクトアクセス用URIを含むダイレクトアクセス終了通知<C-2>をダイレクトアクセス管理サーバ40に送信する(図21:ステップS2102)。
ダイレクトアクセス管理サーバ40は、ダイレクトアクセス終了通知<C-2>を受信すると(図22:ステップS2201)、サービスURNとダイレクトアクセス用URIを含むダイレクトアクセス終了通知<C-3>をDVR20に送信する(図22:ステップS2202)。このとき、ダイレクトアクセス終了通知<C-2>にダイレクトアクセスURIの指定が無い場合(図22:ステップS2206)、サービスURNのみを含むダイレクトアクセス終了通知<C-3>をDVR20に送信する(図22:ステップS2207)。
DVR20は、サービスURNとダイレクトアクセス用URIを含むダイレクトアクセス終了通知<C-3>を受信すると(図23:ステップS2301)、指定されたダイレクトアクセス用URIに関するグローバルIPアドレスおよびポート番号を含むダイレクトアクセス用ポートをクローズ<C-4>する(図23:ステップS2302)。
一方、サービスサーバ30は、ダイレクトアクセス終了通知<C-2>を送信後、携帯ダイレクトフラグの初期化を行う(図21:ステップS2103)。次いでServiceID、制御機器・サービス管理ID、XMPPセッションIDを含むXMPPログアウト通知<C-5>をダイレクトアクセス管理サーバ40に送信する(図21:ステップS2104)。最後にサービスサーバ30は、XMPPセッションIDエントリを消去する(図21:ステップS2105)。
ダイレクトアクセス管理サーバ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>に待機する。
DVR20は、ダイレクトアクセス管理サーバ40からダイレクトアクセス用URIの指定されていないダイレクトアクセス終了通知<C-3>を受信すると(図23:ステップS2303)、ダイレクトアクセス終了通知<C-3>で指定されているサービスURNに関するすべてのポートをクローズする(図23:ステップS2304、S2305)。
以上の処理を実行することによって、サービスサーバ30、ダイレクトアクセス管理サーバ40及びDVR20でダイレクトアクセスを終了させる。
以上、本発明の実施形態のネットワークシステムの構成および動作を説明したが、サービスサーバ30の機能の一部は制御機器に移すことも可能である。例えば、サービスサーバ30がもっていた、SOAPインタフェースへのアクセス機能を制御機器(携帯電話10)がもつように変更することによって、XMPPログイン要求から始まるダイレクトアクセスの利用シーケンスは、制御機器(携帯電話10)とダイレクトアクセス管理サーバ40間で直接行える。
また、制御機器の機能と被制御機器の機能が一体になることも可能である。この場合、制御機器(携帯電話10)から被制御機器(DVR20)のXMPPセッションにアクセスする際に、SOAPサーバ42を経由しないで、XMPPセッション間でダイレクトアクセスに必要な情報を交換することになる。
さらに、被制御機器同士のダイレクトアクセスも行うことも可能である。この場合、被制御機器同士の関連付けは、制御機器を用いて行う。
以上説明した実施形態では、制御機器である携帯電話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に制御機器および被制御機器として接続される機器は、それぞれ他の機器の制御を行う部分と他の機器によって制御が行われる部分の両方を有するものであってもよい。
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
本発明の一の実施形態にかかるネットワークシステムの全体的な構成を示す図である。 図1のネットワークシステムにおいて制御機器とサービスとの組み合わせの登録と被制御機器の登録を行う際の情報の流れを示すシーケンス図である。 図2の登録時の制御機器の動作を示すフローチャートである。 図2の登録時のサービスサーバの動作を示すフローチャートである。 図2の登録時のダイレクトアクセス管理サーバの動作を示すフローチャートである。 図2の登録時のDVRの動作を示すフローチャートである。 図1のネットワークシステムにおいて被制御機器のXMPPログインおよびリモート録画予約時の情報の流れを示すシーケンス図である。 リモート録画予約に関する携帯電話の動作を示すフローチャートである。 リモート録画予約に関するサービスサーバの動作を示すフローチャートである。 被制御機器のXMPPログインおよびリモート録画予約およびコンテンツ取得に関するダイレクトアクセス管理サーバの動作を示すフローチャートである。 リモート録画予約およびコンテンツ取得に関するダイレクトアクセス管理サーバの動作を示すフローチャートである。 リモート録画予約およびコンテンツ取得に関するDVRの動作を示すフローチャートである。 図1のネットワークシステムにおいて携帯電話からのダイレクトでのリモート録画予約を行う場合の情報の流れを示すシーケンス図である。 図1のネットワークシステムにおいて携帯電話からのトンネリングのリモート録画予約を行う場合の情報の流れを示すシーケンス図である。 図1のネットワークシステムにおいて携帯電話からのダイレクトアクセスによるコンテンツ取得時の情報の流れを示すシーケンス図である。 サービスサーバからのダイレクトアクセスによるコンテンツ取得時の情報の流れを示すシーケンス図である。 コンテンツ取得時の携帯電話の動作を示すフローチャートである。 コンテンツ取得時のサービスサーバの動作を示すフローチャートである。 コンテンツ取得時のサービスサーバの動作を示すフローチャートである。 図1のネットワークシステムにおいてダイレクトアクセス終了時の情報の流れを示すシーケンス図である。 ダイレクトアクセス終了時のサービスサーバの動作を示すフローチャートである。 ダイレクトアクセス終了時のダイレクトアクセス管理サーバの動作を示すフローチャートである。 ダイレクトアクセス終了時のDVRの動作を示すフローチャートである。 Full JIDの構成を示す図である。 Full JIDの別の構成を示す図である。 サービスサーバを介さない携帯電話からのトンネリングのリモート録画予約を行う場合の情報の流れを示すシーケンス図である。 XMPPサーバとの常時接続セッション中のDVRの動作の一部を示すフローチャートである。 DVRがXMPPサーバとの常時接続セッションを接続中に電源をオフにし、再び電源をオンにした場合の常時接続セッションの再接続の動作を示す図である。 XMPPセッションの切断エラーが発生して常時接続セッションの再接続を行う場合のDVRとダイレクトアクセス管理サーバとの間でのやりとりの一例を示す図である。 待機時間とダイレクトアクセス管理サーバ40の負荷分散区間との関係を示す図である。
符号の説明
10 携帯電話(制御機器)
11 記憶部
20 DVR(被制御機器)
21 記憶部
30 サービスサーバ
31 記憶部
40 ダイレクトアクセス管理サーバ
41 記憶部
42 SOAPサーバ
43 XMPPサーバ
50 ルータ

Claims (9)

  1. ネットワークを介してサーバ装置と接続可能な機器装置であって、
    前記サーバ装置に対する初回接続時の待機上限時間の情報と、前記初回接続時の待機上限時間より長い再接続時の待機上限時間の情報を前記機器装置が当該サーバ装置に対して通信セッションの確立を行う間に当該サーバ装置から受信する受信手段と、
    前記受信した初回接続時の待機上限時間の情報と再接続時の待機上限時間の情報を保持する保持手段と、
    前記サーバ装置に対する初回の接続時に前記保持された初回接続時の待機上限時間に対して乱数により第1の待機時間を決定し、この1の待機時間を用いて初回の接続を行い、この初回の再接続に対してエラーが判定された場合、T1を前記初回接続時の待機上限時間、tr1を前記第1の待機時間、tr2を前記再接続時の待機上限時間に対して乱数により得た時間として、T1-tr1+tr2なる第2の待ち時間を計算し、この第2の待機時間を用いて再接続を行い、前記再接続に対するエラーが判定された場合、接続が確立するまで、前回の再接続時から前記再接続時の待機上限時間が経過する毎に次の再接続を繰り返す再接続実行手段と
    を具備することを特徴とする機器装置。
  2. 請求項1の機器装置であって、
    前記保持手段は、前記サーバ装置から前記待機上限時間の情報を初めて受信する以前から予め所定の待機上限時間の情報を保持することを特徴とする機器装置。
  3. ネットワークを介してサーバ装置と接続可能な機器装置における、サーバ装置への再接続方法であって、
    前記サーバ装置に対する初回接続時の待機上限時間の情報と、前記初回接続時の待機上限時間より長い再接続時の待機上限時間の情報を前記機器装置が当該サーバ装置に対して通信セッションの確立を行う間に当該サーバ装置から受信し、
    前記受信した初回接続時の待機上限時間の情報と再接続時の待機上限時間の情報を保持し、
    前記サーバ装置に対する初回の接続時に前記保持された初回接続時の待機上限時間に対して乱数により第1の待機時間を決定して、この1の待機時間を用いて初回の接続を行い、
    前記初回の再接続に対してエラーが判定された場合、T1を前記初回接続時の待機上限時間、tr1を前記第1の待機時間、tr2を前記再接続時の待機上限時間に対して乱数により得た時間として、T1-tr1+tr2なる第2の待ち時間を計算し、この第2の待機時間を用いて再接続を行い、
    前記再接続に対するエラーが判定された場合、接続が確立するまで、前回の再接続時から前記再接続時の待機上限時間が経過する毎に次の再接続を繰り返す
    ことを特徴とする再接続方法。
  4. コンピュータを、ネットワークを介してサーバ装置と接続可能で、かつ、サーバ装置への再接続する機器装置として機能させるプログラムであって、
    前記プログラムは、
    前記コンピュータに、前記サーバ装置に対する初回接続時の待機上限時間の情報と、前記初回接続時の待機上限時間より長い再接続時の待機上限時間の情報を前記機器装置が当該サーバ装置に対して通信セッションの確立を行う間に当該サーバ装置から受信させる受信部と、
    前記コンピュータに、前記受信した初回接続時の待機上限時間の情報と再接続時の待機上限時間の情報を保持させる保持部と、
    前記コンピュータに、前記サーバ装置に対する初回の接続時に前記保持された初回接続時の待機上限時間に対して乱数により第1の待機時間を決定し、この1の待機時間を用いて初回の接続を行い、この初回の再接続に対してエラーが判定された場合、T1を前記初回接続時の待機上限時間、tr1を前記第1の待機時間、tr2を前記再接続時の待機上限時間に対して乱数により得た時間として、T1-tr1+tr2なる第2の待ち時間を計算し、この第2の待機時間を用いて再接続を行い、前記再接続に対するエラーが判定された場合、接続が確立するまで、前回の再接続時から前記再接続時の待機上限時間が経過する毎に次の再接続を繰り返す再接続実行部と
    を具備することを特徴とするプログラム。
  5. コンピュータを、ネットワークを介してサーバ装置と接続可能で、かつ、サーバ装置への再接続する機器装置として機能させるプログラムを記録する記録媒体であって、
    前記プログラムは、
    前記コンピュータに、前記サーバ装置に対する初回接続時の待機上限時間の情報と、前記初回接続時の待機上限時間より長い再接続時の待機上限時間の情報を前記機器装置が当該サーバ装置に対して通信セッションの確立を行う間に当該サーバ装置から受信させる受信部と、
    前記コンピュータに、前記受信した初回接続時の待機上限時間の情報と再接続時の待機上限時間の情報を保持させる保持部と、
    前記コンピュータに、前記サーバ装置に対する初回の接続時に前記保持された初回接続時の待機上限時間に対して乱数により第1の待機時間を決定し、この1の待機時間を用いて初回の接続を行い、この初回の再接続に対してエラーが判定された場合、T1を前記初回接続時の待機上限時間、tr1を前記第1の待機時間、tr2を前記再接続時の待機上限時間に対して乱数により得た時間として、T1-tr1+tr2なる第2の待ち時間を計算し、この第2の待機時間を用いて再接続を行い、前記再接続に対するエラーが判定された場合、接続が確立するまで、前回の再接続時から前記再接続時の待機上限時間が経過する毎に次の再接続を繰り返す再接続実行部と
    を具備することを特徴とする記録媒体。
  6. ネットワークを介して請求項1に記載の機器装置と接続可能なサーバ装置であって、
    前記機器装置の当該サーバ装置に対する初回接続時の待機上限時間と、この初回接続時の待機上限時間より長い再接続時の待機上限時間を設定する設定手段と、
    前記機器装置が当該サーバ装置に対して通信セッションの確立を行う間に、前記設定された各待機上限時間の情報を前記機器装置に送信する送信手段と
    を具備することを特徴とするサーバ装置。
  7. ネットワークを介して請求項1に記載の機器装置と接続可能なサーバ装置による、前記機器装置から当該サーバ装置への再接続の制御方法であって、
    前記機器装置の当該サーバ装置に対する初回接続時の待機上限時間と、この初回接続時の待機上限時間より長い再接続時の待機上限時間を設定し、
    前記機器装置が当該サーバ装置に対して通信セッションの確立を行う間に、前記設定された各待機上限時間の情報を前記機器装置に送信する
    ことを特徴とする再接続制御方法。
  8. コンピュータを、ネットワークを介して請求項1に記載の機器装置と接続可能で、かつ、前記機器装置から当該サーバ装置への再接続の制御を実行させるサーバ装置として機能させるプログラムであって、
    前記プログラムは、
    前記コンピュータに、前記機器装置の当該サーバ装置に対する初回接続時の待機上限時間と、この初回接続時の待機上限時間より長い再接続時の待機上限時間を設定させる設定部と、
    前記コンピュータに、前記機器装置が当該サーバ装置に対して通信セッションの確立を行う間に、前記設定された各待機上限時間の情報を前記機器装置に送信させる送信部と
    を具備することを特徴とするプログラム。
  9. コンピュータを、ネットワークを介して請求項1に記載の機器装置と接続可能で、かつ、前記機器装置から当該サーバ装置への再接続の制御を実行させるサーバ装置として機能させるプログラムを記録する記録媒体であって、
    前記プログラムは、
    前記コンピュータに、前記機器装置の当該サーバ装置に対する初回接続時の待機上限時間と、この初回接続時の待機上限時間より長い再接続時の待機上限時間を設定させる設定部と、
    前記コンピュータに、前記機器装置が当該サーバ装置に対して通信セッションの確立を行う間に、前記設定された各待機上限時間の情報を前記機器装置に送信させる送信部と
    を具備することを特徴とする記録媒体。
JP2006265803A 2006-04-28 2006-09-28 サーバ装置、再接続制御方法、機器装置、再接続方法、プログラム、および記録媒体 Expired - Fee Related JP4251207B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006265803A JP4251207B2 (ja) 2006-04-28 2006-09-28 サーバ装置、再接続制御方法、機器装置、再接続方法、プログラム、および記録媒体
US11/695,305 US7689697B2 (en) 2006-04-28 2007-04-02 Server, reconnection control method, device, reconnection method, program, and record medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006127095 2006-04-28
JP2006139590 2006-05-18
JP2006265803A JP4251207B2 (ja) 2006-04-28 2006-09-28 サーバ装置、再接続制御方法、機器装置、再接続方法、プログラム、および記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008163872A Division JP5012688B2 (ja) 2006-04-28 2008-06-23 ネットワークシステムおよび接続方法

Publications (2)

Publication Number Publication Date
JP2007336509A JP2007336509A (ja) 2007-12-27
JP4251207B2 true JP4251207B2 (ja) 2009-04-08

Family

ID=38649598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006265803A Expired - Fee Related JP4251207B2 (ja) 2006-04-28 2006-09-28 サーバ装置、再接続制御方法、機器装置、再接続方法、プログラム、および記録媒体

Country Status (2)

Country Link
US (1) US7689697B2 (ja)
JP (1) JP4251207B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130073224A (ko) * 2011-12-23 2013-07-03 현대모비스 주식회사 블루투스 접속 설정 방법

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2917206B1 (fr) * 2007-06-06 2009-12-25 Airbus France Systeme embarque de controle d'acces pour une communication du domaine ouvert vers le domaine avionique.
CN101325509B (zh) * 2007-06-11 2011-04-06 华为技术有限公司 安装软件组件的方法、系统及装置
US8365259B2 (en) * 2008-05-28 2013-01-29 Zscaler, Inc. Security message processing
US8634703B1 (en) 2008-08-12 2014-01-21 Tivo Inc. Real-time DVR usage and reporting system
US8544046B2 (en) * 2008-10-09 2013-09-24 Packetvideo Corporation System and method for controlling media rendering in a network using a mobile device
US9883233B1 (en) * 2008-10-23 2018-01-30 Tivo Solutions Inc. Real-time audience measurement system
US9113195B1 (en) * 2008-12-31 2015-08-18 Tivo Inc. Real-time DVR programming
US8818179B1 (en) 2008-11-13 2014-08-26 Tivo Inc. Shared DVR programming via a web page
US11647243B2 (en) 2009-06-26 2023-05-09 Seagate Technology Llc System and method for using an application on a mobile device to transfer internet media content
US20120210205A1 (en) 2011-02-11 2012-08-16 Greg Sherwood System and method for using an application on a mobile device to transfer internet media content
CN101605108B (zh) * 2009-07-15 2013-06-12 阿里巴巴集团控股有限公司 一种即时通信的方法、系统及装置
WO2011154024A1 (en) * 2010-06-12 2011-12-15 Mingoa Limited Enhancing accuracy of service level agreements in ethernet networks
JP5576212B2 (ja) * 2010-08-23 2014-08-20 ラピスセミコンダクタ株式会社 情報処理装置、通信システム、情報処理方法、プログラム及び照射装置
JP5672912B2 (ja) * 2010-09-30 2015-02-18 株式会社リコー 通信システム、クライアント端末、クライアント端末用プログラム、通信システム用プログラム、及び待機時間の設定方法
JP2012109804A (ja) * 2010-11-17 2012-06-07 Nippon Telegraph & Telephone West Corp 通信管理装置、通信管理方法
US9667798B2 (en) * 2010-12-17 2017-05-30 Telefonaktiebolaget L M Ericsson (Publ) Enabling a communication server to use MSC-S related functions
EP2469885B8 (de) * 2010-12-23 2014-09-03 Unify GmbH & Co. KG Verfahren zur Integration von Funktionen eines Telekommunikationsnetzes in ein Datennetz
US8798777B2 (en) 2011-03-08 2014-08-05 Packetvideo Corporation System and method for using a list of audio media to create a list of audiovisual media
US8549605B2 (en) 2011-07-22 2013-10-01 Sony Corporation System and method for automatically establishing new session with interactive service after previous session expiration
JP2013051571A (ja) * 2011-08-31 2013-03-14 Seiko Epson Corp 処理端末および処理方法
CN104145466A (zh) * 2012-02-24 2014-11-12 诺基亚公司 用于动态服务器/客户端控制的连通性逻辑的方法和装置
US10432744B2 (en) * 2012-03-27 2019-10-01 Sony Corporation Information processing apparatus, information processing system, and information processing method
JP5858973B2 (ja) * 2013-11-27 2016-02-10 シャープ株式会社 ネットワークシステム、常時接続方法、電子機器、サーバ、プログラム
CN104683435B (zh) * 2013-11-27 2018-12-14 夏普株式会社 网络系统、保持连接方法、电子设备、服务器
CA2899935C (en) * 2014-08-11 2022-07-26 Alexandros John Vourkoutiotis Method of video surveillance using cellular communication
JP6378057B2 (ja) 2014-11-13 2018-08-22 株式会社東芝 接続制御装置、接続制御方法、接続制御システムおよびコンピュータプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08294172A (ja) 1995-04-21 1996-11-05 Sharp Corp 移動通信システムの移動端末
JPH09167129A (ja) 1995-12-19 1997-06-24 Fuji Xerox Co Ltd ネットワークシステム
JPH1132074A (ja) 1997-06-30 1999-02-02 Internatl Business Mach Corp <Ibm> データ伝送システムおよびその方法
JP4098434B2 (ja) 1999-03-10 2008-06-11 株式会社東芝 同報伝送方式
JP2002027140A (ja) 2000-07-11 2002-01-25 Sharp Corp 通信装置
JP4307747B2 (ja) 2001-01-25 2009-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 接続受付システム、受付サーバ、クライアント端末、接続受付管理方法、記憶媒体、コンピュータプログラム
JP2002359641A (ja) 2001-05-31 2002-12-13 Matsushita Electric Ind Co Ltd ファイル配信システム、ファイル配信サーバ装置、及び受信クライアント装置
JP4806871B2 (ja) 2001-08-07 2011-11-02 ソニー株式会社 クライアント端末及びクライアント側情報処理方法、プログラム格納媒体、プログラム、並びに情報提供システム、
US7080404B2 (en) * 2002-04-01 2006-07-18 Microsoft Corporation Automatic re-authentication
JP2004096301A (ja) 2002-08-30 2004-03-25 Hitachi Kokusai Electric Inc 通信方法
CN100334894C (zh) * 2002-11-04 2007-08-29 捷讯研究有限公司 维持无线数据连接的方法与系统
JP2004274725A (ja) 2003-02-20 2004-09-30 Matsushita Electric Ind Co Ltd 監視システム
JP2005057428A (ja) 2003-08-01 2005-03-03 Nippon Telegr & Teleph Corp <Ntt> 携帯情報端末及び無線通信方法
JP4196785B2 (ja) 2003-08-27 2008-12-17 株式会社デンソー 車載無線データ通信制御装置および無線データ通信制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130073224A (ko) * 2011-12-23 2013-07-03 현대모비스 주식회사 블루투스 접속 설정 방법
KR101869085B1 (ko) * 2011-12-23 2018-06-19 현대모비스 주식회사 블루투스 접속 설정 방법

Also Published As

Publication number Publication date
US7689697B2 (en) 2010-03-30
JP2007336509A (ja) 2007-12-27
US20070255809A1 (en) 2007-11-01

Similar Documents

Publication Publication Date Title
JP4251207B2 (ja) サーバ装置、再接続制御方法、機器装置、再接続方法、プログラム、および記録媒体
JP4935181B2 (ja) 処理装置
KR101264816B1 (ko) 서버 장치, 서버 장치의 기기 간 접속 방법, 프로그램, 및기록 매체
KR101278074B1 (ko) 서버 장치, 기기의 관련 등록 방법, 및 기록 매체
JP4961826B2 (ja) サーバ装置、機器の関連付け登録方法、プログラム、および記録媒体
Kim et al. IoT home gateway for auto-configuration and management of MQTT devices
CN101465888A (zh) 网络系统、直接访问方法、网络家用电器和程序
CN105009547B (zh) 用于处理访问请求的方法和网页浏览器
CN102549968B (zh) 在远程用户界面服务器和远程用户界面客户端间界面连接的装置和方法
KR20060053250A (ko) 호스트와 클라이언트 간의 플러그 엔 플레이 시스템 및방법
CN102594845A (zh) 一种基于xmpp协议的即时消息传输方法
WO2011150818A1 (zh) Soapapi转换为restapi的公共消息头承载方法及装置
JP5012688B2 (ja) ネットワークシステムおよび接続方法
JP5448489B2 (ja) 情報処理装置及びその制御方法、情報処理システム、及び、プログラム
JP2008129834A (ja) 宅内端末遠隔起動システム、および宅内端末遠隔起動システムに用いる端末装置
JP4747939B2 (ja) サーバ装置、サーバ装置の機器間接続方法、プログラム、および記録媒体
CN100533415C (zh) 服务器设备、用于其的器件间连接方法
JP2009188622A (ja) アクセス制御システム、アクセス制御方法、アクセス制御装置およびアクセス制御プログラム
JP2015201758A (ja) 中継装置、通信システム、情報処理方法及びプログラム
WO2006080762A1 (en) System and method for plug and play between host and client
JP2004326319A (ja) 中継装置
JP2010273101A (ja) サービス提供システムおよびサービス提供方法
JP5095529B2 (ja) 異種スマート環境制御方法
JP6101312B2 (ja) 通信装置及びその制御方法及びプログラム
JP2007166116A (ja) 宅内サーバ装置及びアプリケーションサーバ装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080623

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081110

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081121

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081224

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090106

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120130

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees