JP5045417B2 - ネットワークシステム及びダイレクトアクセス方法 - Google Patents

ネットワークシステム及びダイレクトアクセス方法 Download PDF

Info

Publication number
JP5045417B2
JP5045417B2 JP2007327736A JP2007327736A JP5045417B2 JP 5045417 B2 JP5045417 B2 JP 5045417B2 JP 2007327736 A JP2007327736 A JP 2007327736A JP 2007327736 A JP2007327736 A JP 2007327736A JP 5045417 B2 JP5045417 B2 JP 5045417B2
Authority
JP
Japan
Prior art keywords
direct access
server
service
controlled device
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007327736A
Other languages
English (en)
Other versions
JP2009151479A (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 JP2007327736A priority Critical patent/JP5045417B2/ja
Priority to US12/328,729 priority patent/US8230488B2/en
Priority to CN2008101862325A priority patent/CN101465888B/zh
Publication of JP2009151479A publication Critical patent/JP2009151479A/ja
Application granted granted Critical
Publication of JP5045417B2 publication Critical patent/JP5045417B2/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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

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号公報 特開2007−318185号公報
一般に、制御機器に対してネットワーク越しに被制御機器にアクセスする各種のサービスを提供するサーバ装置であるサービスサーバに対して、被制御機器からコンテンツデータなどの大容量のデータを転送するためには、被制御機器とサービスサーバとの間にダイレクトアクセスのためのセッションを確立し、ダイレクトアクセス管理サーバを仲介させずにデータを転送することで、ネットワーク全体としてのデータ転送の効率を高めるとともに、ダイレクトアクセス管理サーバの負担増を防止している。
被制御機器とサービスサーバとの間にダイレクトアクセスのためのセッションを確立する場合には、まず、制御機器と、サービスサーバのサービスとの組み合わせと被制御機器との対応を管理するダイレクトアクセス管理サーバが、サービスサーバからのダイレクトアクセス開始要求を受けたとき、ダイレクトアクセス用URIの取得要求を被制御機器に常時接続セッションを通じて送信する。被制御機器は、ダイレクトアクセス管理サーバからのダイレクトアクセス用URIの取得要求に応じて、ダイレクトアクセス用のローカルポートの割り当てを行い、被制御機器にあらかじめ割り当てられたローカルIPアドレスおよびダイレクトアクセス用のローカルポートのポート番号を含む、ダイレクトアクセス用ポートのNAT(Network Address Translation)設定要求をルータに送信して、ローカルIPアドレス及びポート番号に、インターネットからアクセス可能なグローバルIPアドレスおよびポート番号をマッピングすることをルータに要求する。
被制御機器は、ルータより、被制御機器のローカルIPアドレス及びポート番号に対応付けられたグローバルIPアドレスおよびポート番号をNAT設定応答として受信した場合には、これらのグローバルIPアドレスおよびポート番号を用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIリストをダイレクトアクセス管理サーバに送信する。ダイレクトアクセス用URIリストとは、サービスサーバまたは制御機器からネットワークを通じてその機器に直接アクセスするためのURIのリストである。ダイレクトアクセス管理サーバは、ダイレクトアクセス用URIリストを受信すると、これをサービスサーバに送信する。これにより以後は、サービスサーバが、ダイレクトアクセス用URIを使って、被制御機器に対してダイレクトアクセスのためのセッションを確立する処理を行っていた。
しかしながら、上記の方式は、外部ネットワークにルータを介して接続された各被制御機器がそれぞれグローバルIPアドレスを持った機器であるかのように振る舞えるようにするためのポートフォワード機能をルータが備えていることを前提としているので、ポートフォワード機能を持たないルータを用いた場合には、被制御機器とサービスサーバとの間にダイレクトアクセスのためのセッションを確立することができなかった。また、2重NAT環境においても被制御機器がグローバルIPアドレスを取得できないために、同様の問題を招いていた。
また、被制御機器がルータからグローバルIPアドレスおよびポート番号を取得できなかった場合には、たとえば、特許文献2に開示されるように、ダイレクトアクセス管理サーバにトンネリング用ポートを割り当てさせ、このトンネリング用ポートのポート番号とダイレクトアクセス管理サーバのグローバルIPアドレスを用いて作成したダイレクトアクセス用URIリストを利用することで、ダイレクトアクセス管理サーバを経由してトンネリングモードでサービスサーバと被制御機器との通信を行っていた。その結果、ダイレクトアクセス管理サーバの負担が増大するという問題があった。
本発明はかかる事情を鑑み、第1の機器にグローバルIPアドレスを割り当てることができれば、第2の機器にグローバルIPアドレスを割り当てることができる環境の有無に関わらず、第1の機器とネットワーク家電機器である第2の機器との間にダイレクトアクセスのセッションを確立することができ、システム全体の効率を向上させることのできるネットワークシステム及びダイレクトアクセス方法を提供することを目的としている。


上記の課題を解決するために、本発明のネットワークシステムは、第1の機器と、第2の機器と、前記第1の機器と前記第2の機器とを互いに関連付けて登録し、かつ前記第2の機器との間で常時接続セッションを確立することが可能なサーバ装置とを具備するネットワークシステムであって、前記第1の機器は、前記ネットワーク上での自身の指定情報を含むコールバック要求を前記サーバ装置に送信するコールバック要求送信手段を具備し、前記サーバ装置は、前記第1の機器からの前記コールバック要求を前記常時接続セッションを通じて前記第2の機器に送信するコールバック要求中継手段を具備し、前記第2の機器は、前記サーバ装置より受信した前記コールバック要求に含まれる前記指定情報をもとに前記ネットワークを通じて前記第1の機器に接続して前記ダイレクトアクセスのためのセッション確立要求を送信するダイレクトアクセスセッション確立要求手段と、前記ダイレクトアクセスのためのセッションを通じて前記第1の機器との間で通信を行うダイレクトアクセス通信手段とを具備する。
この発明によれば、ネットワーク上での指定情報が割り当てられている第1の機器の指定情報を第2の機器の側にサーバ装置が提供する常時接続セッションを通じて通知し、第2の機器の側から、その指定情報をもとに第1の機器に接続してダイレクトアクセスのためのセッション確立を要求するので、第2の機器にグローバルIPアドレスを割り当てることができる環境の有無に関わらず、第1の機器とネットワーク家電機器である第2の機器との間にダイレクトアクセスのセッションを確立することができる。これにより、サーバ装置を経由してトンネリングモードで各機器間での大容量データを転送しなければならない状況の発生頻度が低減し、サーバ装置の負担減を図ることができる。
前記第1の機器は、さらに、ワンタイムパスワードを生成するワンタイムパスワード生成手段と、前記生成されたワンタイムパスワードを記憶する記憶部とを具備し、前記コールバック要求送信手段は、前記ワンタイムパスワード生成手段により生成された前記ワンタイムパスワードを前記コールバック要求に付加して前記サーバ装置に送信し、前記ダイレクトアクセスセッション確立要求手段は、前記サーバ装置より受信した前記コールバック要求に含まれる前記ワンタイムパスワードを前記ダイレクトアクセスのためのセッション確立要求に含めて送信し、前記第1の機器は、さらに、前記第2の機器より受信した前記ダイレクトアクセスのためのセッション確立要求に含まれる前記ワンタイムパスワードと前記記憶部に記憶された前記ワンタイムパスワードとを比較し、一致するとき前記ダイレクトアクセスのためのセッション確立応答を前記第2の機器に送信するダイレクトアクセスセッション確立応答手段を具備することとしてもよい。
これにより、第1の機器からの個々のコールバック要求と、第2の機器からのダイレクトアクセスのためのセッション確立要求との対応関係を第1の機器において認識することができ、ダイレクトアクセスのためのセッションを正当な2機器の間で確実に確立することができる。
前記第1の機器は、さらに、前記ネットワーク上の前記第1の機器の指定情報が利用可能であるか否かを判定する判定手段をさらに具備し、前記コールバック要求送信手段は、前記判定手段により前記第1の機器の指定情報が利用可能であることが判定されたとき、この第1の機器の指定情報を含むコールバック要求を前記サーバ装置に送信し、前記第1の機器は、さらに、前記判定手段により前記第1の機器の指定情報が利用不可であることが判定されたとき、前記サーバ装置を通じて前記ネットワーク上での前記第2の機器の指定情報を取得する指定情報取得手段と、前記指定情報取得手段により取得した前記第2の機器の指定情報をもとに、前記ネットワークを通じて前記第2の機器に接続してダイレクトアクセスを行う第2のダイレクトアクセス通信手段とを具備することとしてもよい。
この構成によれば、第1の機器のネットワーク上の指定情報を特定できないことが判定されたときは、この第1の機器の指定情報を含むコールバック要求を第1の機器からサーバ装置が提供する常時接続セッションを通じて第2の機器に送信することによって、第2の機器が、第1の機器の指定情報をもとに第1の機器に接続してダイレクトアクセスセッションの確立を要求することによってダイレクトアクセスセッションを確立することができるとともに、第1の機器の指定情報を特定不能であることが判定されたときには、第1の機器が、サーバ装置が提供する常時接続セッションを通じてネットワーク上での第2の機器の指定情報を取得し、この取得した第2の機器の指定情報をもとに、ネットワークを通じて第2の機器に接続してダイレクトアクセスを行う。したがって、第1の機器のネットワーク上での指定情報を特定できる保証がない環境においても、第1の機器と第2の機器との間でダイレクトアクセスが可能な状況を高い確率で提供することができる。すなわち、サーバ装置を経由したトンネリングモードでの通信は、第1の機器と第2の機器の双方がともにネットワーク上での指定情報を特定できない状況にのみ発生するまでに止められ、サーバ装置の負担減を図ることができる。
前記第1の機器は、制御機器、または前記制御機器に対して前記ネットワークを介して前記第2の機器を制御するためのサービスを提供するサービスサーバであってよい。
本発明の別の観点に基づくダイレクトアクセス方法は、第1の機器と、第2の機器と、前記第1の機器と前記第2の機器とを互いに関連付けて登録し、かつ前記第2の機器との間で常時接続セッションを確立することが可能なサーバ装置とを具備するネットワークシステムのダイレクトアクセス方法であって、前記第1の機器が、コールバック要求送信手段により、前記ネットワーク上での自身の指定情報を含むコールバック要求を前記サーバ装置に送信するステップと、前記サーバ装置が、コールバック要求中継手段により、前記第1の機器からの前記コールバック要求を前記常時接続セッションを通じて前記第2の機器に送信するステップと、前記第2の機器が、ダイレクトアクセスセッション確立要求手段により、前記サーバ装置より受信した前記コールバック要求に含まれる前記指定情報をもとに前記ネットワークを通じて前記第1の機器に接続して前記ダイレクトアクセスのためのセッション確立要求を送信するステップと、前記第2の機器が、ダイレクトアクセス通信手段により、前記ダイレクトアクセスのためのセッションを通じて前記第1の機器との間で通信を行うステップとを具備する。
本発明の別の観点に基づくネットワーク家電機器は、第1の機器とネットワーク家電機器である第2の機器とを互いに関連付けて登録し、かつ前記第2の機器との間で常時接続セッションを確立することが可能なサーバ装置より、前記第1の機器の前記ネットワーク上の指定情報を含むコールバック要求を受信するコールバック要求受信手段と、前記コールバック要求受信手段により受信した前記コールバック要求に含まれる前記第1の機器の指定情報をもとに前記ネットワークを通じて前記第1の機器に接続して前記ダイレクトアクセスのためのセッション確立要求を送信するダイレクトアクセスセッション確立要求手段と、前記ダイレクトアクセスのためのセッションを通じて前記第1の機器との間で通信を行うダイレクトアクセス通信手段とを具備する。
本発明の別の観点に基づくプログラムは、コンピュータをネットワーク家電機器として機能させるプログラムであって、第1の機器とネットワーク家電機器である第2の機器とを互いに関連付けて登録し、かつ前記第2の機器との間で常時接続セッションを確立することが可能なサーバ装置より、前記第1の機器の前記ネットワーク上の指定情報を含むコールバック要求を受信するコールバック要求受信手段と、前記コールバック要求受信手段により受信した前記コールバック要求に含まれる前記第1の機器の指定情報をもとに前記ネットワークを通じて前記第1の機器に接続して前記ダイレクトアクセスのためのセッション確立要求を送信するダイレクトアクセスセッション確立要求手段と、前記ダイレクトアクセスのためのセッションを通じて前記第1の機器との間で通信を行うダイレクトアクセス通信手段として、前記コンピュータを機能させるものである。
本発明によれば、第1の機器にグローバルIPアドレスを割り当てることができれば、第2の機器にグローバルIPアドレスを割り当てることができる環境の有無に関わらず、第1の機器とネットワーク家電機器である第2の機器との間にダイレクトアクセスのセッションを確立することができ、システム全体の効率を向上させることができる。
(第1の実施形態)
以下、本発明の実施の形態を図面に基づき説明する。
図1は本発明の一の実施形態にかかるネットワークシステムの全体的な構成を示す図である。
このネットワークシステムは、例えば携帯電話などの制御機器10、例えばDVR(Digital Video Recorder)などのネットワーク家電機器である被制御機器20、サービスサーバ30、ダイレクトアクセス管理サーバ40、およびルータ50を有している。この実施形態では、サービスサーバ30が第1の機器に相当し、被制御機器20は第2の機器に相当する。
制御機器10は、被制御機器を制御する機器として動作するものである。制御機器は、被制御機器を制御できるものであれば何でもよく、携帯電話の他には、例えば、PC(Personal Computer)、PDA(Personal Digital Assistance)などであってよい。
制御機器10は、プログラムなどを記憶するメインメモリ、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPU(Central Processing Unit)、ネットワークとのインタフェース部、DVR20とのインタフェース部、キー入力部や表示部などのユーザインタフェース部、不揮発性の記憶部11などを備える。この記憶部11には、この制御機器10に登録されているユーザ識別情報が記憶されている。メインメモリには、被制御機器20との間でのダイレクトアクセスに関する処理を行うプログラムなどが記憶されている。
被制御機器20は、放送番組などのコンテンツをメディアに録画したり再生したりする録画再生機能部のほか、プログラムなどを記憶するメインメモリ、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPU、ネットワークとのインタフェース部、制御機器10とのインタフェース部、不揮発性の記憶部21、リモコン受信部、TVなどを接続するためのインタフェース部などを備える。この記憶部21には、被制御機器に固定的に割り当てられた機器認証情報が予め記憶されている。メインメモリには、被制御機器20の録画再生機能部を制御するためのプログラムのほか、サービスサーバ30との間でのダイレクトアクセスに関する処理を行うためのプログラムなどが記憶されている。
サービスサーバ30は、制御機器10に対してネットワーク越しに被制御機器20にアクセスする各種のサービスを提供するサーバ装置である。このサービスサーバ30は、例えば、キーボード・マウスなどの入力部と、表示部と、プログラムなどを記憶するメインメモリと、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPUと、ネットワークとの通信部と、記憶部31とを備えた、例えば定型的なコンピュータシステムを用いて実現される。メインメモリには、コンピュータシステムを動作させるために必要な基本的なプログラムのほか、サービスを実行するために必要なプログラムなどが記憶されている。記憶部31には、サービスサーバ30が提供する個々のサービスごとにサービスサーバ及びサービスを識別するためのサービスIDが記憶されている。
ダイレクトアクセス管理サーバ40は、制御機器10と、サービスサーバ30のサービスとの組み合わせと被制御機器20との対応を管理するサーバである。このダイレクトアクセス管理サーバ40は、例えば、キーボード・マウスなどの入力部と、表示部と、プログラムなどを記憶するメインメモリと、メインメモリに記憶されたプログラムを実行して各種の演算処理を行うCPUと、ネットワークとのインタフェース部と、記憶部41とを備えた、例えば定型的なコンピュータシステムを用いて実現される。メインメモリには、コンピュータシステムを動作させるために必要な基本的なプログラムのほか、コンピュータシステムをダイレクトアクセス管理サーバとして機能させるためのプログラムなどが記憶されている。
ダイレクトアクセス管理サーバ40には、SOAP(Simple Object Access Protocol)サーバ42およびXMPP(eXtensible Messaging and Presence Protocol)サーバ43が設けられている。SOAPサーバ42は、制御機器10とサービスの組み合わせの登録、被制御機器20の登録、サービスサーバ30と被制御機器20との間でのダイレクトアクセスに関する処理を行うためのサーバである。XMPPサーバ43は、被制御機器20との間で双方向の常時接続セッションを設定するためのサーバである。なお、SOAPサーバ42及びXMPPサーバ43は、一実施例を示したものであり、SOAPサーバ42は他のAPI呼び出し方式を用いたサーバに、XMPPサーバ43は他のIMの方式を用いたサーバに、それぞれ置き換え可能である。
次に、各機器のインタフェースについて説明する。図1において[IF−**]はインタフェース番号を示している。
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、サービスサーバ30からアクセスされるインタフェース[IF−02]と、被制御機器20からアクセスされるインタフェース[IF−00]とを有する。SOAPサーバ42にはSOAPクライアント機能も含まれており、サービスサーバ30側のインタフェース[IF−05]へのアクセスを行う。XMPPサーバ43のインタフェースは、XMPPセッションの確立を行う際にXMPPクライアントからアクセスされる。本システム構成例では、被制御機器20からアクセスされるインタフェース[IF−06]がこれに該当し、XMPPセッション確立後はこのインタフェース[IF−06]を用いて双方向にメッセージをやり取りできるため、XMPPサーバ43からも被制御機器20のインタフェース[IF−07]にアクセスすることができる。
サービスサーバ30は、制御機器10からアクセスされるインタフェース[IF−01]と、ダイレクトアクセス管理サーバ40からアクセスされるインタフェース[IF−05]と、被制御機器20からアクセスされるインタフェース[IF−31]とを有する。
なお、このシステム構成例では、サービスサーバ30はダイレクトアクセス管理サーバ40内のXMPPサーバ43と直接インタフェースしていないが、もちろん直接インタフェースするように構成してもよい。
被制御機器20は、ダイレクトアクセス管理サーバ40からアクセスされるXMPPセッション確立後のインタフェース[IF−07]と、制御機器10との間で例えば赤外線やUSB(Universal Serial Bus)などでデータを送受信するためのインタフェース[IF−03]と、サービスサーバ30もしくは制御機器10からアクセスされるダイレクトアクセス用URIに対応したインタフェース[IF−09]とを有している。
ルータ50は、被制御機器20からアクセスされる、UPnP(Universal Plug and Play)IGD(Internet Gateway Device)機能のインタフェース[IF−08]を有する。
次に、この実施形態のネットワークシステムの動作を説明する。以下の説明において<X−XX>は要求、<X−XXR>は<X−XX>に対する応答を示す。
[1.制御機器・サービス、被制御機器の登録]
最初に、制御機器10とサービスとの組み合わせ毎に発行される制御機器・サービス管理IDと、ダイレクトアクセス管理サーバ40内で個々の被制御機器20に対してユニークに発行される被制御機器管理IDとの紐付けを行う動作を説明する。
図2は制御機器10とサービスとの組み合わせの登録と被制御機器20の登録を行う際の情報の流れを示すシーケンス図である。図6はこの登録時の制御機器10のフローチャートである。図7はこの登録時のサービスサーバ30のフローチャートである。図8及び図9は登録時のダイレクトアクセス管理サーバ40のフローチャートである。図10はこの登録時の被制御機器20のフローチャートである。
[1−1.制御機器とサービスとの組み合わせの登録]
まず、制御機器10は、ユーザからの被制御機器登録の指示を受け(図6:ステップS301)、ユーザ識別情報を含む被制御機器登録要求<R−1>をサービスサーバ30に発行する(図6:ステップS302)。
サービスサーバ30は、ユーザ識別情報を含む被制御機器登録要求<R−1>を受信すると(図7:ステップS401)、そのユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されているかどうかを判断する(図7:ステップS402)。
ユーザ識別情報に対応する制御機器・サービス管理IDが記憶されていない場合、サービスサーバ30は、ユーザ識別情報を記憶部31に保存し(図7:ステップS403)、あらかじめ自身に割り当てられているサービスIDを含む制御機器・サービス管理ID取得要求<R−2>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に対して発行する(図7:ステップS404)。制御機器・サービス管理IDは、サービス事業者が提供する個々のサービスと制御機器との組み合わせに対してユニークに割り当てられるIDである。
SOAPサーバ42は、制御機器・サービス管理ID取得要求<R−2>を受信すると(図8:ステップS501)、これに含まれているサービスIDが、ダイレクトアクセス管理サーバ40の記憶部41にあらかじめ登録されているサービスIDと一致するかどうかを調べ(図8:ステップS502)、一致しない場合には、サービスサーバ30にサービスIDが未登録であることを示すエラーコードを制御機器・サービス管理ID取得応答<R−2R>として送信する(図8:ステップS506)。サービスIDが一致する場合には、SOAPサーバ42は、新規の制御機器・サービス管理IDを発行して(図8:ステップS503)、この制御機器・サービス管理IDとサービスIDとの対応関係を記憶部41に登録し(図8:ステップS504)、その制御機器・サービス管理IDをサービスサーバ30に制御機器・サービス管理ID取得応答<R−2R>として送信する(図8:ステップS505)。これにより、ダイレクトアクセス管理サーバ40は、ダイレクトアクセス管理サーバ40からみて制御側を、制御機器10と、制御機器10が利用するサービスサーバ30のサービスとを組み合わせで識別することができるようになる。
なお、ダイレクトアクセス管理サーバ40は、記憶部41に、制御機器・サービス管理IDおよびサービスIDに対応付けて、サービスサーバ30のURIなどの場所情報を保存して管理することとしている。
サービスサーバ30は、制御機器・サービス管理ID取得応答<R−2R>として制御機器・サービス管理IDを受信すると(図7:ステップS405)、この制御機器・サービス管理IDをユーザ識別情報と対応付けて記憶部31に登録する(図7:ステップS406)。制御機器・サービス管理IDをユーザ識別情報と対応付けて記憶することにより、サービスサーバ30は、以降、制御機器10からアクセスされた際に、制御機器10のユーザ識別情報に対応する制御機器・サービス管理IDを用いて、ダイレクトアクセス管理サーバ40に処理を要求することにより、制御機器10とサービスサーバ30のサービスとの組み合わせの制御側として、ダイレクトアクセス管理サーバ40に制御要求元を一意に識別させることが可能となる。
サービスサーバ30は、制御機器・サービス管理IDをユーザ識別情報と対応付けて記憶部31に登録した後、または、制御機器10から受信した被制御機器登録要求<R−1>に含まれるユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に登録されている場合、それら制御機器・サービス管理IDおよびサービスIDを含む被制御機器登録用パスワード取得要求<R−3>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に対して発行する(図7:ステップS407)。
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、被制御機器登録用パスワード取得要求<R−3>を受信すると(図8:ステップS507)、これに含まれている制御機器・サービス管理IDおよびサービスIDの組み合わせが記憶部41に登録されているかどうかを判断する(図8:ステップS508)。登録されていない場合、SOAPサーバ42は、サービスサーバ30に制御機器・サービス管理IDとサービスIDの組み合わせが未登録であることを示すエラーコードを被制御機器登録用パスワード取得応答<R−3R>として送信する(図8:ステップS512)。また、被制御機器登録用パスワード取得要求<R−3>に含まれている制御機器・サービス管理IDおよびサービスIDの組み合わせが記憶部41に既に登録されている場合、SOAPサーバ42は、被制御機器登録用パスワードを新たに生成し(図8:ステップS509)、この被制御機器登録用パスワードとこの被制御機器登録用パスワードに対して決められた有効期限に関する情報を被制御機器登録用パスワード取得要求<R−3>に含まれていた制御機器・サービス管理IDおよびサービスIDと対応付けて記憶部41に登録する(図8:ステップS510)。この後、SOAPサーバ42は、被制御機器登録用パスワードと、この被制御機器登録用パスワードの有効期限の情報を被制御機器登録用パスワード取得応答<R−3R>としてサービスサーバ30に送信する(図8:ステップS511)。
サービスサーバ30は、被制御機器登録用パスワード取得応答<R−3R>を受信すると(図7:ステップS408)、この被制御機器登録用パスワード取得応答<R−3R>に含まれている被制御機器登録用パスワードとその有効期限の情報を被制御機器登録応答<R−4>として制御機器10に送信する(図7:ステップS409)。
制御機器10は、この被制御機器登録応答<R−4>を受信すると(図6:ステップS303)、これに含まれている被制御機器登録用パスワードとその有効期限の情報を記憶部11に保存する(図6:ステップS304)。
以上により、制御機器10とサービスとの組み合わせに対する制御機器・サービス管理IDの登録処理と被制御機器20を制御機器10に関連付けるために用いられる被制御機器登録用パスワードの発行処理が完了となる。
[1−2.被制御機器の登録]
次に、被制御機器20の登録時の動作を説明する。
被制御機器20は、ユーザによる利用前にダイレクトアクセス管理サーバ40において自身の機器認証を次のように行う。
まず、被制御機器20は自動接続フラグの値をチェックする(図10:ステップS601)。被制御機器のダイレクトアクセス管理サーバ40への登録前には自動接続フラグの値はオフである。この場合被制御機器20は自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R−0>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図10:ステップS602)。
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、被制御機器20からの機器認証要求<R−0>を受信すると(図8:ステップS513)、この被制御機器20が正当な機器であるかどうかを、機器認証要求<R−0>に含まれる認証方式の情報および機器認証情報に基づき判定する(図8:ステップS514)。不当な機器として判定された場合、すなわち、認証方式があらかじめ決められている認証方式と異なる場合や機器認証情報があらかじめ決められている認証方式の形式と異なる場合等には、SOAPサーバ42は、ダイレクトアクセス管理サーバ40へのエラーコードを示す旨を機器認証応答<R−0R>として被制御機器20に送信する(図8:ステップS515)。正当な機器であることが判定された場合、すなわち、認証方式があらかじめ決められている認証方式と一致し、かつ機器認証情報があらかじめ決められている認証方式の形式である場合には、SOAPサーバ42は、その被制御機器20に対して割り当てる機器認証継続IDを生成して(図8:ステップS516)、この機器認証継続IDと、機器認証要求<R−0>に含まれる機器認証情報とを対応付けて記憶部41に保存する(図8:ステップS517)。この後、SOAPサーバ42は、上記の生成した機器認証継続IDとその有効期限の情報を含む機器認証応答<R−0R>を被制御機器20へ送信する(図8:ステップS518)。機器認証継続IDは、ダイレクトアクセス管理サーバ40で機器認証が完了している機器に対して割り当てられる識別情報であり、この識別情報によって、ダイレクトアクセス管理サーバ40は、被制御機器20の機器の認証状況を確認することが可能となる。
被制御機器20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42から、機器認証継続IDとその有効期限の情報とを含む機器認証応答<R−0R>を受信すると(図10:ステップS603)、この機器認証応答<R−0R>に含まれる機器認証継続ID、その有効期限の情報を機器認証情報と対応付けて記憶部21に保存する(図10:ステップS604)。
この後、被制御機器20は、記憶部21に被制御機器登録用パスワードが保存されているかどうかを判断する(図10:ステップS605)。被制御機器登録用パスワードが保存されていない場合には動作を終了し、被制御機器登録用パスワードが保存されている場合にはステップS609へ移行する。機器認証継続IDを取得した直後は被制御機器登録用パスワードが保存されていないので、この場合には動作を終了することとなる。
ここまでにおいて、被制御機器20には機器認証継続ID、機器認証継続IDの有効期限の情報、機器認証情報の組み合わせが記憶部21に記憶され、ダイレクトアクセス管理サーバ40には機器認証継続IDと機器認証情報との組み合わせが記憶部41に記憶され、被制御機器20のダイレクトアクセス管理サーバ40への登録が完了したことになる。
[1−3.制御機器・サービス管理IDと被制御機器管理IDとの紐付け]
次に、制御機器・サービス管理IDと被制御機器管理IDとを関連付けてダイレクトアクセス管理サーバ40に登録する動作を行う。制御機器10において、ユーザからのワンタイムパスワード送信要求が入力される(図6:ステップS305)。制御機器10は、このユーザからのワンタイムパスワード送信要求を受けると記憶部11に記憶されている被制御機器登録用パスワードを、例えば、赤外線やUSBなどのインタフェース[IF−03]を使って、被制御機器20にワンタイムパスワード<R−5>として渡す(図6:ステップS306)。被制御機器登録用パスワードの渡し方は、他にも、非接触ICカードを介した受け渡し、Bluetooth(商標)、無線LANなどによる無線伝送など様々な方式が想定されるが、制御機器である制御機器10から被制御機器20に対して被制御機器登録用パスワードを渡すことができさえすればどのような渡し方であっても構わない。この後、制御機器10は記憶部11から被制御機器登録用パスワードを消去する(図6:ステップS307)。
被制御機器20は、制御機器10から被制御機器登録用パスワード<R−5>を受信すると(図10:ステップS607)、この被制御機器登録用パスワードを記憶部21に保存する(図10:ステップS608)。続いて、被制御機器20は、記憶部21に記憶されている機器認証継続IDと、制御機器10より受信した被制御機器登録用パスワードを含む被制御機器登録要求<R−6>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図10:ステップS609)。これにより被制御機器20は、ダイレクトアクセス管理サーバ40に、被制御機器登録用パスワードを送信してきた制御機器10と関連付けて登録することを要求する。
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、被制御機器20から被制御機器登録要求<R−6>を受信すると(図9:ステップS519)、この被制御機器登録要求<R−6>に含まれる機器認証継続IDが記憶部41に保存されているものと一致するかどうかのチェックと機器認証継続IDの有効期限のチェックを行う(図9:ステップS520)。これらのチェックでNGが判定された場合、すなわち機器認証継続IDが一致しないか、もしくは機器認証継続IDの有効期限が切れている場合には、機器認証が必要であることを示すエラーコードを含む被制御機器登録応答<R−6R>を被制御機器20へ送信する(図9:ステップS530)。被制御機器20は、このエラーコードを含む被制御機器登録応答<R−6R>を受信すると(図10:ステップS622)、ステップS602に戻って機器認証のための処理を繰り返す。
また、SOAPサーバ42は、ステップS520のチェック結果がOKの場合、すなわち機器認証継続IDが記憶部41に記憶されているものと一致し、かつ機器認証継続IDの有効期限が切れていない場合、被制御機器20から受信した被制御機器登録要求<R−6>に含まれる被制御機器登録用パスワードが記憶部41に保存されているものと一致するかどうかのチェックとその被制御機器登録用パスワードの有効期限のチェックを行う(図9:ステップS521)。これらのチェックでNGが判定された場合、すなわち被制御機器登録用パスワードが一致しないか、もしくは被制御機器登録用パスワードの有効期限が切れている場合、SOAPサーバ42は、被制御機器登録要求<R−6>に含まれる被制御機器登録用パスワードが無効であることを示すエラーコードを被制御機器登録応答<R−6R>として被制御機器20へ送信する(図9:ステップS529)。被制御機器20は、このエラーコードを被制御機器登録応答<R−6R>として受信すると(図10:ステップS620)、被制御機器20に接続されたTVの画面等を通して、被制御機器登録用パスワードの再取得を行うように、ユーザに対してエラーメッセージの表示を行って(図10:ステップS621)、処理を終了する。
また、SOAPサーバ42は、ステップS521のチェック結果がOKの場合、すなわち被制御機器登録用パスワードが記憶部41に記憶されているものと一致し、かつ被制御機器登録用パスワードの有効期限が切れていない場合には、記憶部41に記憶されている情報を参照して、被制御機器登録要求<R−6>に含まれている機器認証継続IDに被制御機器管理IDが割り当てられているかどうかの判断を行う(図9:ステップS522)。機器認証継続IDに対応する被制御機器管理IDがまだ割り当てられていない場合、SOAPサーバ42は、その被制御機器20に対して被制御機器管理IDを割り当て(図9:ステップS523)、この割り当てた被制御機器管理IDを、その被制御機器20の機器認証情報および機器認証継続IDと対応付けて記憶部41に保存する(図9:ステップS524)。被制御機器登録要求<R−6>に含まれている機器認証継続IDに被制御機器管理IDがすでに割り当てられている場合には、SOAPサーバ42は被制御機器管理IDを、記憶部41に該被制御機器登録用パスワードと対応付けられて保存されている制御機器・サービス管理IDと関連付けて記憶部41に保存する(図9:ステップS525)。ここで、被制御機器管理IDとは、被制御機器に対してダイレクトアクセス管理サーバ40内でユニークに割り当てられる識別情報である。これによって、制御機器とサービスとの組み合わせに対して割り当てられた制御機器・サービス管理IDと、被制御機器に対して割り当てられた被制御機器管理IDとの紐付けが行われる。この紐付けは、1つの制御機器・サービス管理IDに対して複数の被制御機器管理IDが紐付けされても、逆に複数の制御機器・サービス管理IDが1つの被制御機器管理IDに紐付けされても構わない。
次にSOAPサーバ42は、現在紐付けが完了しているサービスの数を被制御機器登録応答<R−6R>として被制御機器20へ送信する(図9:ステップS526)。次に、SOAPサーバ42は、記憶部41に保存されているサービスID、制御機器・サービス管理ID、被制御機器登録用パスワードを含む被制御機器登録完了通知<R−7>をサービスサーバ30に送信する(図9:ステップS527)。この後、SOAPサーバ42は、記憶部41の被制御機器登録用パスワードを消去し(図9:ステップS528)、処理を終了する。一方、サービスサーバ30はSOAPサーバ42より被制御機器登録完了通知<R−7>を受信すると(図7:ステップS410)、被制御機器の登録が完了したことを、制御機器10のユーザに電子メールなどによって通知する(図7:ステップS411)。
被制御機器20は、SOAPサーバ42より現在紐付けが完了しているサービスの数を被制御機器登録応答<R−6R>として受信すると(図10:ステップS610)、自動接続フラグをオンにセットし(図10:ステップS611)、被制御機器の登録が完了したことを表すメッセージを表示する(図10:ステップS612)。続いて、被制御機器20は、記憶部21に保存されている被制御機器登録用パスワードを消去する(図10:ステップS613)。その後、被制御機器20は、ダイレクトアクセス管理サーバ40内のXMPPサーバ43との間で常時接続セッションを確立するために、機器認証継続IDを含むXMPPログイン情報取得要求<D−0−1>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図10:ステップS614)。
[2.被制御機器のXMPPログイン]
このネットワークシステムでは、ダイレクトアクセス管理サーバ40に、被制御機器20との間で双方向の常時接続セッションを設定するためのXMPPサーバ43を置いている。制御機器である制御機器10から被制御機器20にネットワークを通じてアクセスするために、その前に被制御機器20がXMPPサーバ43にログインしてXMPPサーバ43の間で常時接続セッションを確立しておく。これにより、サービスサーバ30や制御機器10は、必要なときには、被制御機器20から必要な情報を取得できる。また、この際のサービスサーバ30の設計を簡単にするために、XMPPプロトコルをダイレクトアクセス管理サーバ40内に隠蔽し、SOAPインタフェースだけで、被制御機器20と双方向の常時接続セッションを設定しているXMPPサーバ43との情報のやり取りを行えるようにしている。
図3は被制御機器20のXMPPログインに関する情報の流れを示すシーケンス図である。図11は被制御機器20のXMPPログイン時のダイレクトアクセス管理サーバ40の動作を示すフローチャートである。
ダイレクトアクセス管理サーバ40は、被制御機器20より機器認証継続IDを含むXMPPログイン情報取得要求<D−0−1>を受信すると(図11:ステップS1001)、このXMPPログイン情報取得要求<D−0−1>に含まれている機器認証継続IDと機器認証継続IDの有効期限のチェックを行う(図11:ステップS1002)。このチェックでXMPPログイン情報取得要求<D−0−1>に含まれている機器認証継続IDが、ダイレクトアクセス管理サーバ40の記憶部41に記憶されているものと一致しない場合、もしくは、有効期限が切れている場合には、被制御機器20が正常にダイレクトアクセス管理サーバ40に登録されていないか、もしくは、過去に登録されていたが登録時の機器認証継続IDの有効期限が切れているのかであるため、機器認証が必要であることを示すエラーコードをXMPPログイン情報取得応答<D−0−1R>として被制御機器20に送信する(図11:ステップS1003)。機器認証継続IDが記憶部41に記憶されており、かつ機器認証継続IDの有効期限が切れていない場合、ダイレクトアクセス管理サーバ40は、記憶部41から、当該機器認証継続IDに紐付けられている被制御機器管理ID及び機器認証情報を検索し(図11:ステップS1004)、これら被制御機器管理IDと機器認証情報から、被制御機器20がXMPPサーバ43にログインするために必要なXMPPログインIDであるFull JID(D)、XMPPログインパスワードおよびXMPPログインパスワードの有効期限の情報を生成し(図11:ステップS1005)、これらを記憶部41に保存する(図11:ステップS1006)。そして、ダイレクトアクセス管理サーバ40は、生成したFull JID(D)、XMPPログインパスワードおよびその有効期限の情報に、XMPPアドレスおよびポート番号、認証方式の情報、SSL(Secure Socket Layer)オプションを加えた情報をXMPPログイン情報取得応答<D−0−1R>として被制御機器20に送信する(図11:ステップS1007)。
被制御機器20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からFull JID(D)、XMPPログインパスワード等を含むXMPPログイン情報取得応答<D−0−1R>を受信すると(図10:ステップS615)、Full JID(D)、XMPPログインパスワードを含むXMPPログイン認証要求<D−0−2>を、ダイレクトアクセス管理サーバ40内のXMPPサーバ43に送信する(図10:ステップS616)。
ダイレクトアクセス管理サーバ40内のXMPPサーバ43は、被制御機器20よりXMPPログイン認証要求<D−0−2>を受信すると(図11:ステップS1008)、このXMPPログイン認証要求<D−0−2>に含まれているFull JID(D)、XMPPログインパスワードおよびXMPPログインパスワードの有効期限のチェックを行い(図11:ステップS1009)、Full JID(D)が記憶部41に記憶されているものと一致しない、または、XMPPログインパスワードが記憶部41に記憶されているものと一致しない、または、XMPPログインパスワードの有効期限が切れている場合には、XMPPログイン失敗を示すエラーコードをXMPPログイン認証応答<D−0−2R>として被制御機器20に送信する(図11:ステップS1010)。また、Full JID(D)。XMPPログインパスワードおよび有効期限のチェックがすべてOKならば、ダイレクトアクセス管理サーバ40内のXMPPサーバ43は、XMPPログイン許可を示すコードをXMPPログイン認証応答<D−0−2R>として被制御機器20に送信する(図11:ステップS1011)。
被制御機器20は、ダイレクトアクセス管理サーバ40よりXMPPログイン失敗を示すエラーコードをXMPPログイン認証応答<D−0−2R>として受信すると(図10:ステップS619)、ステップS614に戻って、再度XMPPログイン情報の取得要求を行う。すなわち、XMPPログインパスワードの有効期限が切れている可能性があるため、再度、XMPPログイン情報の取得要求処理を行う。また、ダイレクトアクセス管理サーバ40よりXMPPログイン許可を示すコードをXMPPログイン認証応答<D−0−2R>として受信すると(図10:ステップS618)、被制御機器20は、XMPPログイン処理が完了する。
なお、被制御機器20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42より、機器認証が必要であることを示すエラーコードをXMPPログイン情報取得応答<D−0−1R>として受信した場合には(図10:ステップS617)、自機が正常にダイレクトアクセス管理サーバ40に登録されていないか、もしくは、機器認証継続IDの有効期限が切れている可能性があるため、再度、自身に予め設定されている認証方式の情報および機器認証情報を含む機器認証要求<R−0>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信して自身の機器認証をやりなおす(図10:ステップS602)。
上記のように、このネットワークシステムでは、ダイレクトアクセス管理サーバ40にて、被制御機器20がXMPPサーバ43にログインするために必要なXMPPログインID(Full JID)及びXMPPログインパスワードをそれぞれ生成し、被制御機器20へ配布している。このFull JIDは、例えば図23に示すように、Bare JID部とResource部とで構成される。Bare JID部には被制御機器に割り当てられた被制御機器管理IDが用いられ、Resource部には機器認証情報から得た製品コード及びシリアルナンバーが用いられている。また、図24に示すように、Resource部には制御機器とサービスの組み合わせを識別するための制御機器・サービス管理IDを用いてもよい。
ところで、ステップS611で自動接続フラグがオンにセットすることにより、被制御機器20は次回の接続時、例えば被制御機器20の電源が一旦オフされ、その後に再投入された時、或いはXMPPサーバ43とのセッション切断後のセッション確立の時には、ステップS601の自動接続フラグのチェックの後、ステップS614のXMPPログイン情報取得要求<D−0−1>の送信から処理を開始する。すなわち、被制御機器20は再接続時には機器認証のための処理、制御機器10からの被制御機器登録用パスワードの取得、被制御機器登録のための処理をスキップしてXMPPログインのための処理に入る。これにより、被制御機器20は再接続時には、XMPPログインのための処理を行うだけで、XMPPサーバ43の間での接続セッションを確立することができる。
以上で、制御機器である制御機器10の制御対象として、被制御機器20を関連付けるための処理が完了する。以下では、関連付けられた2つの機器の間で、制御機器10が被制御機器20からダイレクトアクセスによりコンテンツのデータを取得する際の具体的な処理に関して説明する。
[3.被制御機器からのダイレクトアクセス処理]
図4は被制御機器20からのダイレクトアクセス処理に関するシーケンス図である。被制御機器20からのダイレクトアクセスとは、被制御機器20からのダイレクトアクセスのセッション確立要求を契機に開始されるサービスサーバ30と被制御機器20との間でのダイレクトアクセスである。図5は図4の被制御機器20からのダイレクトアクセス処理時のインタフェース機能をまとめた図表である。図12は被制御機器20からのダイレクトアクセス処理時の制御機器10の動作を示すフローチャートである。図13、図14及び図18は被制御機器20からのダイレクトアクセス処理時のサービスサーバ30の動作を示すフローチャートである。図15及び図16は被制御機器20からのダイレクトアクセス処理時のダイレクトアクセス管理サーバ40の動作を示すフローチャートである。図17は被制御機器20からのダイレクトアクセス処理時の被制御機器20の動作を示すフローチャートである。
まず、制御機器10のユーザがコンテンツを視聴するためのダイレクトアクセスの利用開始の指示を制御機器10に与えると(図12:ステップS801)、制御機器10は自身に予め設定されているユーザ識別情報を含む被制御機器リスト取得要求<D−1>をサービスサーバ30に送信する(図12:ステップS802)。
サービスサーバ30は、制御機器10より被制御機器リスト取得要求<D−1>を受信すると(図13:ステップS901)、この被制御機器リスト取得要求<D−1>に含まれるユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されているかどうかを判定する(図13:ステップS902)。ユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されていない場合、被制御機器の登録が必要であることを示すエラーコードを被制御機器リスト取得応答<D−3>として制御機器10に送信する(図13:ステップS903)。
一方、被制御機器リスト取得要求<D−1>に含まれるユーザ識別情報に対応する制御機器・サービス管理IDが記憶部31に記憶されている場合、サービスサーバ30は、サービスを識別する情報であるサービスIDおよび制御機器・サービス管理IDを含む被制御機器リスト取得要求<D−2>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図13:ステップS904)。
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、サービスサーバ30からの被制御機器リスト取得要求<D−2>を受信すると(図15:ステップS1012)、この被制御機器リスト取得要求<D−2>に含まれるサービスIDと制御機器・サービス管理IDとの組み合わせがダイレクトアクセス管理サーバ40の記憶部41に記憶されているかどうかを判定し(図15:ステップS1013)、記憶されていない場合には、被制御機器の登録が必要であることを示すエラーコードを被制御機器リスト取得応答<D−2R>としてサービスサーバ30に送信する(図15:ステップS1014)。
サービスサーバ30は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42から、上記のエラーコードを被制御機器リスト取得応答<D−2R>として受信した場合は(図13:ステップS905)、そのエラーコードを被制御機器リスト取得応答<D−3>として制御機器10に送信する(図13:ステップS906)。制御機器10は、サービスサーバ30よりエラーコードを被制御機器リスト取得応答<D−3>として受信した場合(図12:ステップS803)、エラーコードに対応するメッセージを、表示部を通じてユーザに表示する(図12:ステップS804)。
また、図15のステップS1013のチェックで、ダイレクトアクセス管理サーバ40内のSOAPサーバ42が、被制御機器リスト取得要求<D−2>に含まれるサービスIDと制御機器・サービス管理IDとの組み合わせがダイレクトアクセス管理サーバ40の記憶部41に記憶されていることを判定した場合には、記憶部41に記憶されている制御機器・サービス管理IDと被制御機器管理IDとの紐付け内容に従って、制御機器10から制御可能な被制御機器の被制御機器管理IDに対して改めて振り直した番号と被制御機器の機器認証情報に含まれる機器名称等からなる一覧を被制御機器リストとして生成し、この被制御機器リストを制御機器・サービス管理IDと対応付けて記憶部41に保存するとともに、この被制御機器リストを含む被制御機器リスト取得応答<D−2R>をサービスサーバ30に送信する(図15:ステップS1015)。
サービスサーバ30は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42から被制御機器リストを含む被制御機器リスト取得応答<D−2R>を受信した場合は(図13:ステップS907)、この被制御機器リストを含む被制御機器リスト取得応答<D−3>を制御機器10に送信する(図13:ステップS908)。
制御機器10は、被制御機器リストを含む被制御機器リスト取得応答<D−3>を受信した場合(図12:ステップS805)、その被制御機器リストに複数の被制御機器の番号が存在するかどうかを判定する(図12:ステップS806)。複数の被制御機器の番号が存在する場合には、制御機器10は、その被制御機器リストの内容を表示部に表示して(図12:ステップS807)、ユーザにその中から1つの被制御機器の番号を選択させ(図12:ステップS808)、その選択された被制御機器の番号を記憶部11に保存する(図12:ステップS809,S811)。複数の被制御機器が存在しない場合には、その一つの被制御機器の番号を記憶部11に保存する(図12:ステップS810,S811)。
次に、制御機器10は、被制御機器20に保存されたコンテンツのタイトル、時間、コンテンツIDを含むコンテンツリストを取得する処理を行い(ステップS811−1)、取得したコンテンツリストを、記憶部11に記憶されているユーザ識別情報、被制御機器の番号と関連付けて記憶部11に記憶する。図26にコンテンツリストの例を示す。なお、このコンテンツリストを取得するための具体的な手順については、後で説明する。
制御機器10は、記憶部11に記憶されたコンテンツリストの中から1つのコンテンツIDをユーザに選択させた後、記憶部11に記憶されているユーザ識別情報、被制御機器の番号、 そしてユーザによって選択されたコンテンツIDを含むコンテンツ視聴要求<S−1>をサービスサーバ30に送信する(図12:ステップS812)。
サービスサーバ30は、制御機器10からコンテンツ視聴要求<S−1>を受信すると(図14:ステップS909)、サービスサーバ30が利用可能なXMPPセッションIDが記憶部31に記憶されているか否かを調べる(図14:ステップS910)。サービスサーバ30が利用可能なXMPPセッションIDが記憶されていない場合には、サービスサーバ30は、XMPPサーバ43との間でのXMPPセッションを確立するために、サービスID、制御機器・サービス管理ID、被制御機器の番号を含むXMPPログイン要求<D−5>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図14:ステップS911)。
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、サービスサーバ30からのXMPPログイン要求<D−5>を受信すると(図11:ステップS1016)、このXMPPログイン要求<D−5>に含まれるサービスID、制御機器・サービス管理ID、および被制御機器の番号の組み合わせが記憶部41に記憶されているかどうかを判定する(図11:ステップS1017)。記憶されていない場合、ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、対応するサービス対象の被制御機器の登録が必要であることを示すエラーコードをXMPPログイン応答<D−5R>としてサービスサーバ30に送信する(図11:ステップS1018)。この後、ダイレクトアクセス管理サーバ40の動作は終了となる。
サービスサーバ30は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42より、対応するサービス対象の被制御機器の登録が必要であることを示すエラーコードをXMPPログイン応答<D−5R>として受信すると(図14:ステップS912)、そのエラーコードをコンテンツ視聴要求応答<S−1R>として制御機器に送信する(図14:ステップS913)。制御機器10は、このエラーコードをコンテンツ視聴要求応答<S−1R>として受信すると(図12:ステップS813)、サービス対象の被制御機器20の登録が必要であることを示すエラーメッセージを、表示部を通じてユーザに表示する(図12:ステップS814)。
一方、ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、図11:ステップS1017の判定で、サービスサーバ30からのXMPPログイン要求<D−5>に含まれるサービスID、制御機器・サービス管理ID、および被制御機器の番号の組み合わせが記憶部41に記憶されていることを判定した場合には、サービス対象の被制御機器20が登録済みであることを示すので、サービスサーバ30が利用可能なXMPPセッションIDを生成し、このXMPPセッションIDを、XMPPログイン要求<D−5>に含まれるサービスID、制御機器・サービス管理ID、被制御機器の番号と対応付けて記憶部41に保存し(図11:ステップS1019)、このXMPPセッションIDを含むXMPPログイン応答<D−5R>をサービスサーバ30に送信する(図11:ステップS1020)。
サービスサーバ30は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からXMPPセッションIDを含むXMPPログイン応答<D−5R>を受信すると(図14:ステップS914)、このXMPPログイン応答<D−5R>に含まれるXMPPセッションIDをサービスID、制御機器・サービス管理ID、被制御機器の番号と対応付けて記憶部31に保存する(図14:ステップS915)。
XMPPセッションIDの保存後、または、ステップS910で利用可能なXMPPセッションIDが既に記憶部31に記憶されていることが判定された場合、サービスサーバ30は、ダイレクトアクセスセッションの確立に関するOTP(ワンタイムパスワード)の生成を行い(図14:ステップS916)、生成したOTPを、制御機器10から受信したコンテンツ視聴要求<S−1>と対応付けて記憶部31に保存する(図14:ステップS917)。この後、サービスサーバ30は、被制御機器20からのダイレクトアクセスのセッション受信待ちとなる<S−2>(図14:ステップS918)。
次に、サービスサーバ30は、サービスID、制御機器・サービス管理ID、XMPPセッションID、サービスURN(Uniform Resource Name)、サービスサーバアドレス、 サービスサーバポート番号、OTPを含むコールバック要求<S−3>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する(図14:ステップS919)。ここで、サービスURNとは、被制御機器20が提供可能なサービス(アプリケーション)の一つを指定する情報である。この例では、コンテンツの視聴サービスとしている。サービスサーバアドレスは、サービスサーバ30をネットワーク上で一意に識別可能なアドレス情報、つまりグローバルIPアドレスである。サービスサーバポート番号は、サービスサーバ30にアクセスするために必要なポート番号である。
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、サービスサーバ30からのコールバック要求<S−3>を受信すると(図15:ステップS1021)、このコールバック要求<S−3>に含まれるサービスIDと制御機器・サービス管理IDとの組み合わせが記憶部41に記憶されているかどうかを判定し(図15:ステップS1022)、もし記憶されていない場合には、対応するサービス対象の被制御機器の登録が必要であることを示すエラーコードをコールバック応答<S−3R>としてサービスサーバ30に送信する(図15:ステップS1023)。
サービスサーバ30は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42より、対応するサービス対象の被制御機器の登録が必要であることを示すエラーコードをコールバック応答<S−3R>として受信した場合には(図14:ステップS920)、記憶部31から、該当するOTPを破棄し(図14:ステップS921)、被制御機器20からのダイレクトアクセスのセッション受信待ちを終了した後(図14:ステップS921−1)、対応するサービス対象の被制御機器の登録が必要であることを示すエラーコードをコンテンツ視聴要求応答<S−1R>として制御機器10に送信する(図14:ステップS922)。制御機器10が、対応するサービス対象の被制御機器の登録が必要であることを示すエラーコードをコンテンツ視聴要求応答<S−1R>として受信した場合の動作は既に説明したとおりである。
また、ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、図15:ステップS1022の判定で、コールバック要求<S−3>に含まれるサービスIDと制御機器・サービス管理IDとの組み合わせが記憶部41に記憶されていることを判定した場合には、そのコールバック要求<S−3>に含まれるXMPPセッションIDのチェックを行う。このチェックは、コールバック要求<S−3>に含まれるXMPPセッションID、サービスID、制御機器・サービス管理IDの組み合わせが記憶部41に登録されているかどうかを判定することによって行われる(図15:ステップS1024)。このチェックでNGが判定された場合、ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、不正なXMPPセッションIDが使用されたことを示すエラーコードをコールバック応答<S−3R>としてサービスサーバ30に送信し(図15:ステップS1025)、処理を終了する。
被制御機器20は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42より、不正なXMPPセッションIDが使用されたことを示すエラーコードをコールバック応答<S−3R>として受信した場合(図14:ステップS923)、記憶部31から、該当するOTPを破棄し(図14:ステップS924)、被制御機器20からのダイレクトアクセスのセッション受信待ちを終了する(図14:ステップS925)。この後、図14:ステップS911に戻って、XMPPログイン要求<D−5>をダイレクトアクセス管理サーバ40内のXMPPサーバ43に送信する処理からやりなおす。
XMPPセッションIDのチェックでOKが判定された場合、ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、サービスサーバ30より受信したコールバック要求<S−3>からサービスURN(コンテンツ視聴)、サービスサーバアドレス、 サービスサーバポート番号、OTPを取り出し、これらを含むコールバック要求<S−4>をダイレクトアクセス管理サーバ40内のXMPPサーバ43と被制御機器20との間で確立されている常時接続セッションを通じて被制御機器20に送信する(図15:ステップS1026)。
被制御機器20は、コールバック要求<S−4>をダイレクトアクセス管理サーバ40内のXMPPサーバ43より受信すると(図17:ステップS1101)、このコールバック要求<S−4>に含まれるサービスURN(コンテンツ視聴)、サービスサーバアドレス、 サービスサーバポート番号、OTPを記憶部21に保存する(図17:ステップS1102)。次に、被制御機器20は、記憶部21に保存されたサービスURN(コンテンツ視聴)に対応するリクエストパスを取得する(図17:ステップS1103)。ここで、サービスURNに対応するリクエストパスとは、例えば、図25に示すように、被制御機器20がリクエストを受け付けるローカルURIの一部を成す情報であり、リクエストパスによりサービスの種別(コンテンツ視聴)が特定される。被制御機器20の記憶部21には、サービスURNとリクエストパスが対応付けて記憶されている。
続いて、被制御機器20は、取得したリクエストパスをコールバック応答<S−4R>としてダイレクトアクセス管理サーバ40内のXMPPサーバ43に常時接続セッションを通じて送信する(図17:ステップS1104)。ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、XMPPサーバ43を通じて、被制御機器20よりリクエストパスを含むコールバック応答<S−4R>を受信すると(図16:ステップS1031)、このリクエストパスを含むコールバック応答<S−3R>をサービスサーバ30に送信する(図16:ステップS1032)。
サービスサーバ30は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42よりリクエストパスを含むコールバック応答<S−3R>を受信すると(図14:ステップS926)、このコールバック応答<S−3R>に含まれるリクエストパスをコンテンツ視聴要求<S−1>と対応付けて記憶部31に記憶する(図14:ステップS927)。この後、サービスサーバ30は、コールバック要求<S−3>に用いたサービスID、制御機器・サービス管理ID、XMPPセッションIDを含むXMPPログアウト通知<C−5>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信した後(図14:ステップS928)、記憶部31に記憶された当該XMPPセッションIDと、これに対応付けて記憶部31に記憶されたサービスID、制御機器・サービス管理ID、被制御機器の番号を消去する(図14:ステップS929)。一方、ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、XMPPログアウト通知<C−5>を受けると、記憶部41に記憶されている、該当するXMPPセッションIDを破棄する(図16:ステップS1041、図16:ステップS1042)。
このように被制御機器20にて、サービスサーバ30のグローバルIPアドレス、ポート番号、OTPを取得する一方、サービスサーバ30にて、被制御機器20に保存されたコンテンツのリクエストパスを取得できたならば、一連のコールバック要求の処理は正常に完了したこととなる。
以上のように、本実施形態では、一連のコールバック要求の処理のためのサービスサーバ30と被制御機器20との間での情報のやりとりを、ダイレクトアクセス管理サーバ40内のXMPPサーバ43と被制御機器20との間に確立された常時接続セッションを通じて行うこととしている。
次に、被制御機器20からのダイレクトアクセスの動作を説明する。
今、サービスサーバ30は、被制御機器20からのダイレクトアクセスセッション確立要求の受信待ちの状態にあることとする(図14:ステップS918)。被制御機器20は、サービスサーバ30との間でダイレクトアクセスセッションを確立するために、図17:ステップS1102にて記憶部21に保存されたサービスサーバ30のグローバルIPアドレス及びポート番号をもとに、OTPを含むダイレクトアクセスセッション確立要求<S−6>をサービスサーバ30に送信する(図17:ステップS1105)。
サービスサーバ30は、被制御機器20からOTPを含むダイレクトアクセスセッション確立要求<S−6>を受信すると(図18:ステップS1201)、記憶部31に保存されているOTPの中に受信したOTPと一致するものがあるかを判断する(図18:ステップS1202)。記憶部31に保存されているOTPの中に受信したOTPと一致するものが無いことが判定された場合、サービスサーバ30は、認証に失敗したことを示すコードを含むダイレクトアクセスセッション確立応答<S−6R>を被制御機器20に送信する(図18:ステップS1203)。この後、サービスサーバ30はダイレクトアクセスセッションを切断する(図18:ステップS1204)。
被制御機器20は、サービスサーバ30より、認証がNGであることを示すNGコードを含むダイレクトアクセスセッション確立応答<S−6R>を受信すると(図17:ステップS1106)、記憶部21に保存されているサービスサーバアドレス、サービスサーバポート、OTPを破棄して処理を終了する(図17:ステップS1107)。
一方、サービスサーバ30は、図18:ステップS1202の判定で、記憶部31に保存されているOTPの中に受信したOTPと一致するものが有ることを判定した場合には、ダイレクトアクセスセッション確立要求<S−6>と、上記の一致したOTPに対応するコンテンツ視聴要求<S−1>とを対応付ける(図18:ステップS1205)。すなわち、被制御機器20より受信したダイレクトアクセスセッション確立要求<S−6>に、上記の一致したOTPに対応するコンテンツ視聴要求<S−1>に含まれるユーザ識別情報、被制御機器の番号、コンテンツIDが対応付けられる。これにより、サービスサーバ30からの個々のコールバック要求と、被制御機器20からのダイレクトアクセスのためのセッション確立要求との対応関係をサービスサーバ30にて認識することができ、ダイレクトアクセスのためのセッションを正当な2機器の間で確実に確立することができる。
次に、サービスサーバ30は、認証に成功したことを示すコードを含むダイレクトアクセスセッション確立応答<S−6R>を被制御機器20に送信する(図18:ステップS1206)。これにより、サービスサーバ30と被制御機器20との間でのダイレクトアクセスセッションが確立し(図18:ステップS1207)、サービスサーバ30は記憶部31から上記の一致したOTPを破棄する(図18:ステップS1208)。被制御機器20は、サービスサーバ30より認証に成功したことを示すコードを含むダイレクトアクセスセッション確立応答<S−6R>を受信して、サービスサーバ30からのダイレクトアクセス要求の受信待ちとなる(図17:ステップS1108)。
サービスサーバ30は、記憶部31からのOTPの破棄後、被制御機器20に対して、図14:ステップS926で取得したリクエストパスと、ダイレクトアクセスセッション確立要求<S−6>に対応付けられたコンテンツ視聴要求<S−1>に含まれるコンテンツIDとを含むダイレクトアクセス要求<S−8>を、確立したダイレクトアクセスセッションを通じて被制御機器20に送信する(図18:ステップS1209)。
被制御機器20は、ダイレクトアクセスセッションを通じてサービスサーバ30よりダイレクトアクセス要求<S−8>を受信すると(図17:ステップS1109)、このダイレクトアクセス要求<S−8>に含まれるリクエストパスとコンテンツIDのチェックを行う(図17:ステップS1110)。すなわち、ダイレクトアクセス要求<S−8>に含まれるリクエストパスがコンテンツ視聴サービスに対応する値として記録部21に記録されていて、かつコンテンツIDが記憶部21に記憶されているかどうかをチェックし、記憶されていればOK、記憶されていなければNGを判定する。このチェックでNGが判定された場合、被制御機器20は、ダイレクトアクセスセッションを通じてサービスサーバ30にエラーコードを含むダイレクトアクセス応答<S−8R>を送信し(図17:ステップS1111)、記憶部21に保存されているサービスサーバ30のグローバルIPアドレス及びポート番号、OTPを破棄して処理を終了する(図17:ステップS1107)。
サービスサーバ30は、ダイレクトアクセスセッションを通じて被制御機器20よりエラーコードを含むダイレクトアクセス応答<S−8R>を受信すると(図18:ステップS1210)、エラーコードを含むコンテンツ視聴応答<S−1R>を制御機器10に送信し(図18:ステップS1211)、ダイレクトアクセスセッションを切断する(図18:ステップS1214)。制御機器10はエラーコードを含むコンテンツ視聴応答<S−1R>を受信すると(図12:ステップS813)、このエラーコードに対応するメッセージを、表示部を通じてユーザに表示する(図12:ステップS814)。
また、被制御機器20における図17:ステップS1110でのチェックでOKが判定された場合、被制御機器20は、サービスサーバ30からのダイレクトアクセス要求<S−8>に含まれるリクエストパスとコンテンツIDをもとに記憶部21から該当するコンテンツデータを読み出し、このコンテンツデータをダイレクトアクセス応答<S−8R>として、ダイレクトアクセスセッションを通じてサービスサーバ30に送信する(図17:ステップS1112)。サービスサーバ30は、ダイレクトアクセスセッションを通じて被制御機器20よりコンテンツデータを含むダイレクトアクセス応答<S−8R>を受信すると(図18:ステップS1212)、この受信したコンテンツデータをコンテンツ視聴応答(S−1R)として制御機器に送信する(図18:ステップS1213)。コンテンツデータの送信終了後、サービスサーバ30は、ダイレクトアクセスセッションを切断する(図18:ステップS1214)。制御機器10はコンテンツデータをコンテンツ視聴応答<S−1R>を受信すると(図12:ステップS815)、このコンテンツデータを再生する(図12:ステップS816)。
なお、サービスサーバ30は、図14:ステップS917でのOTPの生成から一定時間が経過しても、その同じOTPを含むダイレクトアクセスセッション確立要求<S−6>が受信されなかった場合には(図18:ステップS1215)、そのOTPを記憶部31から破棄し(図18:ステップS1216)、被制御機器20からのダイレクトアクセスセッション確立要求の受信待ちを終了とする(図18:ステップS1217)。
(コンテンツIDの取得方法)
次に、前述の、制御機器10が被制御機器20に保存されたコンテンツリストを取得するときの手順の例を説明する。図27は制御機器10がコンテンツリストを取得する際のシーケンス図、図28はこのときのインタフェース機能をまとめた図表である。
以下に説明するように、この例では、制御機器10は、被制御機器20に保存されているコンテンツを取得するときと同様の手順で、被制御機器20に保存されているコンテンツリストを取得する。
制御機器10は、サービスサーバ30を通じてダイレクトアクセス管理サーバ40内のSOAPサーバ42から取得した被制御機器リストの中からユーザにより選択された1つの被制御機器の番号を記憶部11に保存した後(図12:ステップS811)、記憶部11に記憶されているユーザ識別情報、被制御機器の番号、及び検索条件を含むコンテンツリスト取得要求<S−1‘>をサービスサーバ30に送信する。ここで、検索条件とは、ユーザが視聴したいコンテンツを絞り込むためにユーザによって指定された条件である。
サービスサーバ30は、制御機器10からコンテンツリスト取得要求<S−1‘>を受信すると、XMPPログイン要求<D−5>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する。サービスサーバ30は、XMPPログイン要求<D−5>に対する応答としてXMPPセッションIDを含むXMPPログイン応答<D−5R>を受信すると、ダイレクトアクセスセッションの確立に関するOTPを生成し、被制御機器20からのダイレクトアクセスのセッション受信待ちとなる<S−2>。ここで、サービスサーバ30からダイレクトアクセス管理サーバ40内のSOAPサーバ42へのXMPPログイン要求<D−5>の送信から、サービスサーバ30が被制御機器20からのダイレクトアクセスのセッション受信待ちとなる<S−2>までの動作は、コンテンツ視聴要求時のそれと同じであるので、説明は省略する。
この後、サービスサーバ30は、サービスID、制御機器・サービス管理ID、XMPPセッションID、サービスURN(コンテンツリスト取得)、サービスサーバアドレス、 サービスサーバポート番号、OTPを含むコールバック要求<S−3>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する。
このコールバック要求<S−3>を受信したダイレクトアクセス管理サーバ40内のSOAPサーバ42は、コンテンツ視聴要求時と同様に、サービスIDと制御機器・サービス管理IDとの組み合わせのチェック、XMPPセッションIDのチェックを順次行い、各チェックともOKならば、サービスサーバ30より受信したコールバック要求<S−3>からサービスURN(コンテンツリスト取得)、サービスサーバアドレス、 サービスサーバポート番号、OTPを取り出し、これらを含むコールバック要求<S−4>をダイレクトアクセス管理サーバ40内のXMPPサーバ43と被制御機器20との間で確立されている常時接続セッションを通じて被制御機器20に送信する。なお、上記のチェックの結果としてNGが判定された場合の動作はコンテンツ視聴要求時のそれと同じであるので、説明は省略する。
被制御機器20は、ダイレクトアクセス管理サーバ40内のXMPPサーバ43よりコールバック要求<S−4>を受信すると、このコールバック要求<S−4>に含まれるサービスURN(コンテンツリスト取得)、サービスサーバアドレス、 サービスサーバポート番号、OTPを記憶部21に保存し、このサービスURN(コンテンツリスト取得)に対応するリクエストパスを取得する。
この後、被制御機器20が、取得したリクエストパスをコールバック応答<S−4R>としてダイレクトアクセス管理サーバ40内のXMPPサーバ43に常時接続セッションを通じて送信する処理から、サービスサーバ30が被制御機器20からのダイレクトアクセスセッション確立要求<S−6>を受けて被制御機器20との間でのダイレクトアクセスセッションが確立し、ダイレクトアクセスセッション確立応答<S−6R>を被制御機器20に送信する処理するまでの動作は、コンテンツ視聴要求時と同じである。
この後、サービスサーバ30は、被制御機器20に対して、取得済みのリクエストパスと、ダイレクトアクセスセッション確立要求<S−6>に対応付けられたコンテンツリスト取得要求<S−1‘>に含まれる検索条件を含むダイレクトアクセス要求<S−8>を、確立したダイレクトアクセスセッションを通じて被制御機器20に送信する。
被制御機器20は、ダイレクトアクセスセッションを通じてサービスサーバ30よりダイレクトアクセス要求<S−8>を受信すると、このダイレクトアクセス要求<S−8>に含まれるリクエストパスと検索条件をもとに記憶部21から該当するコンテンツリストを読み出し、このコンテンツリストをダイレクトアクセス応答<S−8R>として、ダイレクトアクセスセッションを通じてサービスサーバ30に送信する。
サービスサーバ30は、ダイレクトアクセスセッションを通じて被制御機器20よりコンテンツリストを含むダイレクトアクセス応答<S−8R>を受信すると、この受信したコンテンツリストをコンテンツリスト取得応答(S−1‘R)として制御機器10に送信する。コンテンツリストの送信終了後、サービスサーバ30は、ダイレクトアクセスセッションを切断する。このようにして被制御機器20はコンテンツリストを取得し、この後、前述したように、この取得したコンテンツリストをユーザ識別情報、被制御機器の番号と関連付けて記憶部11に記憶し、コンテンツ視聴要求<S−1>を送信するための処理へ移行する。
以上説明したように、本実施形態のネットワークシステム100によれば、グローバルIPアドレスが割り当てられているサービスサーバ30のグローバルIPアドレス及びポート番号を被制御機器20の側に通知し、被制御機器20の側から、そのグローバルIPアドレス及びポート番号をもとにサービスサーバ30に接続してダイレクトアクセスのためのセッション確立を要求するので、被制御機器20にグローバルIPアドレスを割り当てることができる環境の有無に関わらず、サービスサーバ30と被制御機器20との間にダイレクトアクセスのセッションを確立することができる。これにより、ダイレクトアクセス管理サーバ40を経由してトンネリングモードでサービスサーバ30と被制御機器20との間で大容量データを転送しなければならない状況が無くなり、ダイレクトアクセス管理サーバ40の負担減を図ることができる。また、本実施形態のネットワークシステム100によれば、被制御機器20にグローバルIPアドレスを割り当てる必要が無いので、ルータ50のポートフォワード設定が不要になる。
(第2の実施形態)
次に、本発明の第2の実施形態を説明する。
第1の実施形態では、サービスサーバ30と被制御機器20とのダイレクトアクセスセッションを確立することとしたが、第2の実施形態は、制御機器10と被制御機器20とのダイレクトアクセスセッションを確立する場合を想定したものである。さらに、第2の実施形態は、制御機器10にグローバルIPアドレスが割り当てられることが保証されていない環境を前提としている。この実施形態では、制御機器10が第1の機器に相当し、被制御機器20は第2の機器に相当する。
図19乃至図21は、第2の実施形態のネットワークシステムにおいて発生し得るダイレクトアクセス処理に関する3つのパターンのシーケンス図である。
まず、図19乃至図21において、制御機器10のユーザが、コンテンツを視聴するためのダイレクトアクセスの利用開始の指示を制御機器10に与えると、制御機器10は自身に予め設定されているユーザ識別情報と、サービスサーバ30より予め取得しておいたサービスを識別する情報であるサービスIDおよび制御機器・サービス管理IDを含む被制御機器リスト取得要求<D−2>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する。
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、制御機器10からの被制御機器リスト取得要求<D−1>を受信すると、この被制御機器リスト取得要求<D−1>に含まれるサービスIDと制御機器・サービス管理IDとの組み合わせがダイレクトアクセス管理サーバ40の記憶部41に記憶されているかどうかを判定し、記憶部41に記憶されている制御機器・サービス管理IDと被制御機器管理IDとの紐付け内容に従って、制御機器10から制御可能な被制御機器の被制御機器管理IDに対して改めて振り直した番号と被制御機器の機器認証情報に含まれる機器名称等からなる一覧を被制御機器リストとして生成し、この被制御機器リストを制御機器・サービス管理IDと対応付けて記憶部41に保存するとともに、この被制御機器リストを含む被制御機器リスト取得応答<D−2R>を制御機器10に送信する。
制御機器10は、被制御機器リストを含む被制御機器リスト取得応答<D−2R>を受信すると、有効なダイレクトアクセス処理を判定する処理を次のように行う。
図22は、この有効なダイレクトアクセス処理の判定処理の手順を示すフローチャートである。まず、制御機器10は、グローバルIPアドレスを利用可能であるかどうかを判定する(図22:ステップS1301)。グローバルIPアドレスを利用可能ならば、制御機器10は被制御機器20からのダイレクトアクセス処理を有効とすることを判定する(図22:ステップS1302)。つまり、制御機器10が直接外部のネットワークに接続されているような場合には、グローバルIPアドレスを利用可能であり、この場合には被制御機器20からのダイレクトアクセス処理を有効とすることが判定される。グローバルIPアドレスを利用不可ならば、次に、制御機器10は、この制御機器10を外部ネットワークに接続するルータ(図示せず)にアクセスしてグローバルIPアドレスとポート番号の取得を試みる(図22:ステップS1303)。ここで、制御機器10がルータを通じて外部のネットワークに接続されている環境である場合には、制御機器10はグローバルIPアドレスとポート番号を取得することが可能であり、制御機器10は被制御機器20からのダイレクトアクセス処理を有効とすることを判定する(図22:ステップS1304)。ルータが存在しない、あるいは、ルータからのグローバルIPアドレスとポート番号の取得に失敗した場合には、制御機器10は制御機器10からのダイレクトアクセス処理を有効とすることを判定する(図22:ステップS1305)。
図19は、図22のステップ1301にて制御機器10がグローバルIPアドレスを利用可能であることが判定された場合のステップ1302での被制御機器20からのダイレクトアクセス処理に関するシーケンス図である。
制御機器10は、被制御機器20に保存されたコンテンツのタイトル、時間、コンテンツIDを含むコンテンツリストを取得する処理を行って、ユーザ識別情報、被制御機器の番号と関連付けて記憶部11に記憶する。
制御機器10は、記憶部11に記憶されたコンテンツリストの中から1つのコンテンツIDをユーザに選択させた後、記憶部11に記憶されているユーザ識別情報、被制御機器の番号、 そしてユーザによって選択されたコンテンツIDを含むコンテンツ視聴要求がユーザより入力されると、制御機器10が利用可能なXMPPセッションIDが記憶部11に記憶されているか否かを調べ、記憶されていない場合には、制御機器10とXMPPサーバ43との間でXMPPセッションが未だ確立されていないことを示すので、制御機器10は、XMPPサーバ43との間でのXMPPセッションを確立するために、サービスID、制御機器・サービス管理ID、被制御機器の番号を含むXMPPログイン要求<D−5>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する。
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、制御機器10からのXMPPログイン要求<D−5>を受信すると、このXMPPログイン要求<D−5>に含まれるサービスID、制御機器・サービス管理ID、および被制御機器の番号の組み合わせが記憶部41に記憶されているかどうかを判定し、記憶されている場合には、サービス対象の被制御機器20が登録済みであることを示すので、制御機器10が利用可能なXMPPセッションIDを生成し、このXMPPセッションIDを、XMPPログイン要求<D−5>に含まれるサービスID、制御機器・サービス管理ID、被制御機器の番号と対応付けて記憶部41に保存し、このXMPPセッションIDを含むXMPPログイン応答<D−5R>を制御機器10に送信する。
制御機器10は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からXMPPセッションIDを含むXMPPログイン応答<D−5R>を受信すると、このXMPPログイン応答<D−5R>に含まれるXMPPセッションIDをサービスID、制御機器・サービス管理ID、被制御機器の番号と対応付けて記憶部11に保存する。制御機器10は、XMPPセッションIDの保存後、または、利用可能なXMPPセッションIDが既に記憶部11に記憶されている場合、ダイレクトアクセスセッションの確立に関するOTP(ワンタイムパスワード)の生成を行い、生成したOTPを、コンテンツ視聴要求<S−1>と対応付けて記憶部11に保存する。この後、制御機器10は、被制御機器20からのダイレクトアクセスのセッション受信待ちの状態となる<S−2>。
次に、制御機器10は、サービスID、制御機器・サービス管理ID、XMPPセッションID、サービスURN(コンテンツ視聴)、制御機器10のグローバルIPアドレス及びポート番号、OTPを含むコールバック要求<S−3>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する。
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、制御機器10からのコールバック要求<S−3>を受信すると、このコールバック要求<S−3>に含まれるサービスIDと制御機器・サービス管理IDとの組み合わせが記憶部41に記憶されているかどうかを判定し、記憶されていることを判定した場合には、そのコールバック要求<S−3>に含まれるXMPPセッションIDのチェックを行う。このチェックは、コールバック要求<S−3>に含まれるXMPPセッションID、サービスID、制御機器・サービス管理IDの組み合わせが記憶部41に登録されているかどうかを判定することによって行われる。このチェックでOKが判定された場合、ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、制御機器10より受信したコールバック要求<S−3>からサービスURN(コンテンツ視聴)、制御機器10のグローバルIPアドレス及びポート番号、 OTPを取り出し、これらを含むコールバック要求<S−4>をダイレクトアクセス管理サーバ40内のXMPPサーバ43と被制御機器20との間で確立されている常時接続セッションを通じて被制御機器20に送信する。
被制御機器20は、コールバック要求<S−4>をダイレクトアクセス管理サーバ40内のXMPPサーバ43より受信すると、このコールバック要求<S−4>に含まれるサービスURN(コンテンツ視聴)、制御機器10のグローバルIPアドレス及びポート番号、OTPを記憶部21に保存する。次に、被制御機器20は、記憶部21に保存されたサービスURN(コンテンツ視聴)に対応するリクエストパスを取得する。
続いて、被制御機器20は、取得したリクエストパスをコールバック応答<S−4R>としてダイレクトアクセス管理サーバ40内のXMPPサーバ43に常時接続セッションを通じて送信する。ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、XMPPサーバ43を通じて、被制御機器20よりリクエストパスを含むコールバック応答<S−4R>を受信すると、このリクエストパスを含むコールバック応答<S−3R>を制御機器10に送信する。
制御機器10は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42よりリクエストパスを含むコールバック応答<S−3R>を受信すると、このコールバック応答<S−3R>に含まれるリクエストパスをコンテンツ視聴要求<S−1>と対応付けて記憶部11に記憶する。この後、制御機器10は、コールバック要求<S−3>に用いたサービスID、制御機器・サービス管理ID、XMPPセッションIDを含むXMPPログアウト通知<C−5>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信した後、記憶部31に記憶された当該XMPPセッションIDと、これに対応付けて記憶部31に記憶されたサービスID、制御機器・サービス管理ID、被制御機器の番号を消去する。一方、ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、XMPPログアウト通知<C−5>を受けると、記憶部41に記憶されている、該当するXMPPセッションIDを破棄する。
次に、被制御機器20からのダイレクトアクセスの動作を説明する。
今、制御機器10は、被制御機器20からのダイレクトアクセスセッション確立要求の受信待ちの状態にある。被制御機器20は、前述したようにリクエストパスをコールバック応答<S−4R>としてダイレクトアクセス管理サーバ40内のSOAPサーバ42に常時接続セッションを通じて送信した後、制御機器10との間でダイレクトアクセスセッションを確立するために、記憶部21に保存された制御機器10のグローバルIPアドレスとポート番号をもとに、OTPを含むダイレクトアクセスセッション確立要求<S−6>を制御機器10に送信する。
制御機器10は、被制御機器20からOTPを含むダイレクトアクセスセッション確立要求<S−6>を受信すると、記憶部11に保存されているOTPの中に受信したOTPと一致するものがあるかを判断し、一致するものが有ることを判定した場合には、ダイレクトアクセスセッション確立要求<S−6>と、上記の一致したOTPに対応するコンテンツ視聴要求<S−1>とを対応付ける。すなわち、被制御機器20より受信したダイレクトアクセスセッション確立要求<S−6>に、上記の一致したOTPに対応するコンテンツ視聴要求<S−1>に含まれるユーザ識別情報、被制御機器の番号、コンテンツIDが対応付けられる。
次に、制御機器10は、認証に成功したことを示すコードを含むダイレクトアクセスセッション確立応答<S−6R>を被制御機器20に送信する。これにより、制御機器10と被制御機器20との間でのダイレクトアクセスセッションが確立し、制御機器10は、記憶部11から上記の一致したOTPを破棄する。この後、被制御機器20は、制御機器10より認証に成功したことを示すコードを含むダイレクトアクセスセッション確立応答<S−6R>を受信して、制御機器10からのダイレクトアクセス要求の受信待ちとなる。
制御機器10は、記憶部11からのOTPの破棄後、被制御機器20に対して、リクエストパスと、ダイレクトアクセスセッション確立要求<S−6>に対応付けられたコンテンツ視聴要求<S−1>に含まれるコンテンツIDとを含むダイレクトアクセス要求<S−8>を、ダイレクトアクセスセッションを通じて被制御機器20に送信する。
被制御機器20は、ダイレクトアクセスセッションを通じて制御機器10よりダイレクトアクセス要求<S−8>を受信すると、このダイレクトアクセス要求<S−8>に含まれるリクエストパスとコンテンツIDのチェックを行う。すなわち、ダイレクトアクセス要求<S−8>に含まれるリクエストパスとコンテンツIDとの組み合わせが記憶部21に記憶されているかどうかをチェックし、記憶されていればOK、記憶されていなければNGを判定する。このチェックでOKが判定された場合、被制御機器20は、制御機器10からのダイレクトアクセス要求<S−8>に含まれるリクエストパスとコンテンツIDをもとに記憶部21から該当するコンテンツデータを読み出し、このコンテンツデータをダイレクトアクセス応答<S−8R>として、ダイレクトアクセスセッションを通じて制御機器10に送信する。制御機器10は、ダイレクトアクセスセッションを通じて被制御機器20よりコンテンツデータを含むダイレクトアクセス応答<S−8R>を受信すると、このコンテンツデータを再生し、コンテンツデータの受信終了後、ダイレクトアクセスセッションを切断する。
図20は、図22のステップ1301にて制御機器10がグローバルIPアドレスを利用不可であることが判定され、かつ図22のステップ1303にて制御機器10がルータよりグローバルIPアドレスとポート番号の取得できた場合のステップ1304での被制御機器20からのダイレクトアクセスを含むシーケンス図である。
この場合、被制御機器20からのダイレクトアクセス処理に関する動作は、図19のそれと基本的には同じであるが、以下の点が異なる。制御機器10がコールバック要求<S−3>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する際、サービスID、制御機器・サービス管理ID、XMPPセッションID、サービスURN(コンテンツ視聴)に加えて、ルータより取得した制御機器10のグローバルIPアドレスとポート番号をコールバック要求<S−3>に入れて送信する。また、ステップ1304での被制御機器20からのダイレクトアクセス終了後に、制御機器10がルータにアクセスしてポートのクローズを実行させる(図22:ステップS1306)、という処理が必要になる。
図21は、図22のステップ1301にて制御機器10がグローバルIPアドレスを利用不可であることが判定され、かつ図22のステップ1303にて制御機器10がルータよりグローバルIPアドレスとポート番号の取得できない場合のステップ1305での制御機器10からのダイレクトアクセス処理に関するシーケンス図である。
なお、このシーケンス図では、被制御機器20にてルータ50よりグローバルIPアドレスとポート番号を取得できた場合の制御機器10からのダイレクトアクセスを想定している。
制御機器10にて、ユーザ識別情報、被制御機器の番号を含むコンテンツ視聴要求<S−1>が発生すると、制御機器10は、制御機器10が利用可能なXMPPセッションIDが記憶部11に記憶されているか否かを調べ、記憶されていない場合には、制御機器10とXMPPサーバ43との間でXMPPセッションが未だ確立されていないことを示すので、制御機器10は、XMPPサーバ43との間でのXMPPセッションを確立するために、サービスID、制御機器・サービス管理ID、被制御機器の番号を含むXMPPログイン要求<D−5>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する。
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、制御機器10からのXMPPログイン要求<D−5>を受信すると、このXMPPログイン要求<D−5>に含まれるサービスID、制御機器・サービス管理ID、および被制御機器の番号の組み合わせが記憶部41に記憶されているかどうかを判定し、記憶されている場合には、サービス対象の被制御機器20が登録済みであることを示すので、制御機器10が利用可能なXMPPセッションIDを生成し、このXMPPセッションIDを、XMPPログイン要求<D−5>に含まれるサービスID、制御機器・サービス管理ID、被制御機器の番号と対応付けて記憶部41に保存し、このXMPPセッションIDを含むXMPPログイン応答<D−5R>を制御機器10に送信する。
制御機器10は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42からXMPPセッションIDを含むXMPPログイン応答<D−5R>を受信すると、このXMPPログイン応答<D−5R>に含まれるXMPPセッションIDをサービスID、制御機器・サービス管理ID、被制御機器の番号と対応付けて記憶部11に保存する。制御機器10は、XMPPセッションIDの保存後、または、利用可能なXMPPセッションIDが既に記憶部11に記憶されている場合、被制御機器20との間にダイレクトアクセスのためのセッションを確立するために、サービスID、制御機器・サービス管理ID、サービスURN(コンテンツ視聴)、XMPPセッションIDを含むダイレクトアクセス開始要求<D−6>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する。
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、制御機器10よりダイレクトアクセス開始要求<D−6>を受信すると、ダイレクトアクセス用URIの取得要求<D−7>をダイレクトアクセス管理サーバ40内のXMPPサーバ43と被制御機器20との間で確立されている常時接続セッションを通じて被制御機器20に送信する。被制御機器20は、ダイレクトアクセス管理サーバ40内のXMPPサーバ43からのダイレクトアクセス用URIの取得要求<D−7>に応じて、ダイレクトアクセス用のローカルポートの割り当てを行い、被制御機器20にあらかじめ割り当てられたローカルIPアドレスおよびダイレクトアクセス用のローカルポートのポート番号を含む、ダイレクトアクセス用ポートのNAT(Network Address Translation)設定要求をルータ50に送信して、ローカルIPアドレス及びポート番号に、インターネットからアクセス可能なグローバルIPアドレスおよびポート番号をマッピングすることをルータ50に要求する。
被制御機器20は、ルータ50より、被制御機器20のローカルIPアドレス及びポート番号に対応付けられたグローバルIPアドレスおよびポート番号をNAT設定応答として受信し、これらのグローバルIPアドレスおよびポート番号を用いてダイレクトアクセス用URIリストを作成し、このダイレクトアクセス用URIをダイレクトアクセス管理サーバ40内のXMPPサーバ43に送信する。ダイレクトアクセス用URIとは、制御機器10からネットワークを通じて被制御機器20に直接アクセスするためのURIである。ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、XMPPサーバ43を通じて、ダイレクトアクセス用URIを受信すると、これをダイレクトアクセス開始応答として制御機器10に送信する。
制御機器10は、ダイレクトアクセス管理サーバ40内のSOAPサーバ42より受信したダイレクトアクセス用URIを取得すると、そのダイレクトアクセス用URIに対してアクセスして、コンテンツIDを含むコンテンツ視聴要求をダイレクトアクセス要求<D−11>として被制御機器20に送信する。
被制御機器20は、制御機器10からコンテンツIDを含むコンテンツ視聴要求をダイレクトアクセス要求<D−11>として受信すると、ダイレクトアクセス用URI、およびコンテンツIDの正当性チェックを行い、正当な値である場合は、コンテンツIDで指定されているコンテンツのデータを制御機器10に送信する。
制御機器10は、被制御機器20からコンテンツのデータを受信すると、このコンテンツデータを再生し、コンテンツデータの受信終了後、サービスID、制御機器・サービス管理ID、XMPPセッションID、サービスURN(コンテンツ視聴)、ダイレクトアクセス用URIを含むダイレクトアクセス終了通知<C−2>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する。ダイレクトアクセス管理サーバ40は、ダイレクトアクセス終了通知<C−2>を受信すると、サービスURN(コンテンツ視聴)とダイレクトアクセス用URIを含むダイレクトアクセス終了通知<C−3>を被制御機器20に送信する。被制御機器20は、ダイレクトアクセス終了通知<C−3>を受信すると、指定されたダイレクトアクセス用URIに関するグローバルIPアドレスおよびポート番号を含むダイレクトアクセス用ポートをクローズ<C−4>する。
一方、制御機器10は、ダイレクトアクセス終了通知<C−2>を送信後、サービスID、制御機器・サービス管理ID、XMPPセッションIDを含むXMPPログアウト通知<C−5>をダイレクトアクセス管理サーバ40内のSOAPサーバ42に送信する。最後に制御機器10は、XMPPセッションIDのエントリを消去する。
ダイレクトアクセス管理サーバ40内のSOAPサーバ42は、サービスID、制御機器・サービス管理ID、XMPPセッションIDを含むXMPPログアウト通知<C−5>を受信すると、記憶部41に記憶されている、該当するXMPPセッションIDを破棄する。
なお、コンテンツ視聴要求前のコンテンツリスト取得処理は、図19乃至図21に示したダイレクトアクセス処理の3つのパターンのそれぞれにおいて、そのパターンのコンテンツ視聴要求時と同様の手順で行われる。コンテンツ視聴要求時との主な相違点は、コンテンツリスト取得要求時には、コンテンツIDに代えて検索条件がユーザによって指定される点、サービスURNにはコンテンツ視聴のサービスURNに代えてコンテンツリスト取得のサービスURNが指定される点、被制御機器20では、受信したコンテンツリスト取得要求(ダイレクトアクセス要求)に含まれる検索条件をもとに記憶部21から該当するコンテンツリストを読み出し、このコンテンツリストをダイレクトアクセス応答として送信する点である。
以上説明したように、この第2の実施形態では、制御機器10のグローバルIPアドレスとポート番号を特定可能である場合には、この制御機器10のグローバルIPアドレス及びポート番号を含むコールバック要求を制御機器10からダイレクトアクセス管理サーバ40が提供する常時接続セッションを通じて被制御機器20に送信することによって、被制御機器20が、制御機器10のグローバルIPアドレス及びポート番号をもとに制御機器10に接続してダイレクトアクセスセッションの確立を要求することによってダイレクトアクセスセッションを確立することができる。一方、制御機器10のグローバルIPアドレス及びポート番号を特定できない場合には、制御機器10がダイレクトアクセス管理サーバ40が提供する常時接続セッションを通じて被制御機器20のグローバルIPアドレス及びポート番号を取得し、この取得したグローバルIPアドレス及びポート番号をもとに被制御機器20に接続してダイレクトアクセスを行うこととしている。したがって、制御機器10のグローバルIPアドレスとポート番号を特定できる保証がない環境においても、第1の機器と第2の機器との間でダイレクトアクセスが可能な状況を高い確率で提供することができる。すなわち、サーバ装置を経由したトンネリングモードでの通信は、第1の機器と第2の機器の双方がともにグローバルIPアドレス及びポート番号を特定できない状況にのみ発生するまでに止められる。
以上の各実施形態では、サービスURNがコンテンツの視聴である場合について説明したが、本発明はこれに限定されるものではなく、制御機器10またはサービスサーバ30と被制御機器20との間で、リアルタイムかつ大容量のデータを転送するアプリケーションに応用可能である。例えば、被制御機器20からサービスサーバ30へのデータ伝送として、記録機器(被制御機器20)にて蓄積済みの静止画や音楽等のコンテンツを、携帯電話やPC(Personal Computer)等の制御機器10に送ったり、被制御機器20のログデータをサービスサーバ30にアップロードして機器の不良解析に役立てる等の応用がある。また、制御機器10から被制御機器20へのデータ伝送にも本発明は適用可能である。例えば、携帯電話等の制御機器10で撮影した動画や写真、さらにはダウンロードした音楽等のコンテンツを記録機器(被制御機器20)に送って記録したり、携帯電話(制御機器10)に保存されたアドレス帳等の記録機器(被制御機器20)に送ってバックアップとして保存する等の応用がある。
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
本発明の一の実施形態にかかるネットワークシステムの全体的な構成を示す図である。 図1のネットワークシステムにおいて制御機器とサービスとの組み合わせの登録と被制御機器の登録を行う際の情報の流れを示すシーケンス図である。 被制御機器のXMPPログインに関する情報の流れを示すシーケンス図である。 被制御機器からのダイレクトアクセス処理に関するシーケンス図である。 図4の被制御機器からのダイレクトアクセス処理時のインタフェース機能をまとめた図表である。 制御機器とサービスとの組み合わせの登録と被制御機器の登録を行う際の制御機器のフローチャートである。 制御機器とサービスとの組み合わせの登録と被制御機器の登録を行う際のサービスサーバのフローチャートである。 制御機器とサービスとの組み合わせの登録と被制御機器の登録を行う際のダイレクトアクセス管理サーバのフローチャートである。 被制御機器の登録を行う際のダイレクトアクセス管理サーバのフローチャートである。 被制御機器の登録を行う際の被制御機器のフローチャートである。 被制御機器のXMPPログイン時のダイレクトアクセス管理サーバの動作を示すフローチャートである。 被制御機器からのダイレクトアクセス処理時の制御機器の動作を示すフローチャートである。 被制御機器からのダイレクトアクセス処理時のサービスサーバの動作を示すフローチャートである。 同じく被制御機器からのダイレクトアクセス処理時のサービスサーバの動作を示すフローチャートである。 被制御機器からのダイレクトアクセス処理時のダイレクトアクセス管理サーバの動作を示すフローチャートである。 同じく被制御機器からのダイレクトアクセス処理時のダイレクトアクセス管理サーバの動作を示すフローチャートである。 被制御機器からのダイレクトアクセス処理時の被制御機器の動作を示すフローチャートである。 被制御機器からのダイレクトアクセス処理時のサービスサーバの動作を示すフローチャートである。 本発明の第2の実施形態のネットワークシステムにおける被制御機器からのダイレクトアクセス処理に関するシーケンス図である。 本発明の第2の実施形態のネットワークシステムにおける被制御機器からのダイレクトアクセス処理に関する別のシーケンス図である。 本発明の第2の実施形態のネットワークシステムにおける制御機器からのダイレクトアクセス処理に関するシーケンス図である。 登録時の被制御機器のフローチャートである。 Full JIDの構成を示す図である。 Full JIDの別の構成を示す図である。 サービスURN、リクエストパス、コンテンツIDの関係の具体例を示す図である。 コンテンツリストの例を示す図である。 制御機器がコンテンツリストを取得する際のシーケンス図である。 図27のコンテンツリスト取得時のインタフェース機能をまとめた図表である。
符号の説明
10 制御機器
11 記憶部
20 被制御機器
21 記憶部
30 サービスサーバ
31 記憶部
40 ダイレクトアクセス管理サーバ
41 記憶部
42 SOAPサーバ
43 XMPPサーバ
50 ルータ

Claims (4)

  1. 第1の機器と、第2の機器と、前記第1の機器と前記第2の機器とを互いに関連付けて登録し、かつ前記第2の機器との間で常時接続セッションを確立することが可能なサーバ装置とを具備するネットワークシステムであって、
    前記第1の機器は、
    前記ネットワーク上の前記第1の機器の指定情報が利用可能であるか否かを判定する判定手段と、
    前記判定手段により前記第1の機器の指定情報が利用可能であることが判定されたとき、この第1の機器の指定情報を含むコールバック要求を前記サーバ装置に送信するコールバック要求送信手段と、
    前記判定手段により前記第1の機器の指定情報が利用不可であることが判定されたとき、前記サーバ装置を通じて前記ネットワーク上での前記第2の機器の指定情報を取得する指定情報取得手段と、
    前記指定情報取得手段により取得した前記第2の機器の指定情報をもとに、前記ネットワークを通じて前記第2の機器に接続してダイレクトアクセスを行う第2のダイレクトアクセス通信手段とを具備し、
    前記サーバ装置は、
    前記第1の機器からの前記コールバック要求を前記常時接続セッションを通じて前記第2の機器に送信するコールバック要求中継手段を具備し、
    前記第2の機器は、
    前記サーバ装置より受信した前記コールバック要求に含まれる前記指定情報をもとに前記ネットワークを通じて前記第1の機器に接続して前記ダイレクトアクセスのためのセッション確立要求を送信するダイレクトアクセスセッション確立要求手段と、
    前記ダイレクトアクセスのためのセッションを通じて前記第1の機器との間で通信を行う第1のダイレクトアクセス通信手段とを具備することを特徴とするネットワークシステム。
  2. 請求項1に記載のネットワークシステムであって、
    前記第1の機器が、制御機器、または前記制御機器に対して前記ネットワークを介して前記第2の機器を制御するためのサービスを提供するサービスサーバであることを特徴とするネットワークシステム。
  3. 第1の機器と、第2の機器と、前記第1の機器と前記第2の機器とを互いに関連付けて登録し、かつ前記第2の機器との間で常時接続セッションを確立することが可能なサーバ装置とを具備するネットワークシステムのダイレクトアクセス方法であって、
    前記第1の機器の判定手段が、前記ネットワーク上の前記第1の機器の指定情報が利用可能であるか否かを判定し、
    前記第1の機器のコールバック要求送信手段が、前記判定手段により前記第1の機器の指定情報が利用可能であることが判定されたとき、この第1の機器の指定情報を含むコールバック要求を前記サーバ装置に送信し、
    前記第1の機器の指定情報取得手段が、前記判定手段により前記第1の機器の指定情報が利用不可であることが判定されたとき、前記サーバ装置を通じて前記ネットワーク上での前記第2の機器の指定情報を取得し、
    前記第1の機器の第2のダイレクトアクセス通信手段が、前記指定情報取得手段により取得した前記第2の機器の指定情報をもとに、前記ネットワークを通じて前記第2の機器に接続してダイレクトアクセスを行い、
    前記サーバ装置のコールバック要求中継手段が、前記第1の機器からの前記コールバック要求を前記常時接続セッションを通じて前記第2の機器に送信し、
    前記第2の機器ダイレクトアクセスセッション確立要求手段、前記サーバ装置より受信した前記コールバック要求に含まれる前記指定情報をもとに前記ネットワークを通じて前記第1の機器に接続して前記ダイレクトアクセスのためのセッション確立要求を送信
    前記第2の機器ダイレクトアクセス通信手段、前記ダイレクトアクセスのためのセッションを通じて前記第1の機器との間で通信を行
    ことを特徴とするネットワークシステムのダイレクトアクセス方法。
  4. 請求項3に記載のネットワークシステムのダイレクトアクセス方法であって、
    前記第1の機器が、制御機器、または前記制御機器に対して前記ネットワークを介して前記第2の機器を制御するためのサービスを提供するサービスサーバであることを特徴とするネットワークシステムのダイレクトアクセス方法。
JP2007327736A 2007-12-19 2007-12-19 ネットワークシステム及びダイレクトアクセス方法 Expired - Fee Related JP5045417B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007327736A JP5045417B2 (ja) 2007-12-19 2007-12-19 ネットワークシステム及びダイレクトアクセス方法
US12/328,729 US8230488B2 (en) 2007-12-19 2008-12-04 Network system, direct-access method, network household electrical appliance, and program
CN2008101862325A CN101465888B (zh) 2007-12-19 2008-12-17 网络系统、直接访问方法和网络家用电器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007327736A JP5045417B2 (ja) 2007-12-19 2007-12-19 ネットワークシステム及びダイレクトアクセス方法

Publications (2)

Publication Number Publication Date
JP2009151479A JP2009151479A (ja) 2009-07-09
JP5045417B2 true JP5045417B2 (ja) 2012-10-10

Family

ID=40806244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007327736A Expired - Fee Related JP5045417B2 (ja) 2007-12-19 2007-12-19 ネットワークシステム及びダイレクトアクセス方法

Country Status (3)

Country Link
US (1) US8230488B2 (ja)
JP (1) JP5045417B2 (ja)
CN (1) CN101465888B (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100134433A (ko) * 2009-06-15 2010-12-23 엘지전자 주식회사 기능 제어부를 갖는 이동 단말기
EP2600566B1 (en) * 2010-07-30 2017-08-02 Cyber Solutions Inc. Unauthorized access blocking control method
JP5576212B2 (ja) * 2010-08-23 2014-08-20 ラピスセミコンダクタ株式会社 情報処理装置、通信システム、情報処理方法、プログラム及び照射装置
CN102469124B (zh) * 2010-11-09 2015-08-12 中兴通讯股份有限公司 基于aog的移动互联网业务的实现方法、网关、代理及系统
JP5703791B2 (ja) * 2011-01-31 2015-04-22 セイコーエプソン株式会社 印刷システムおよびプリンター
JP5944655B2 (ja) * 2011-02-17 2016-07-05 キヤノン電子株式会社 情報処理装置及びその制御方法、コンピュータプログラム
CN102780675B (zh) * 2011-05-09 2017-02-08 中兴通讯股份有限公司 流媒体业务的传输方法、装置和系统
US10855734B2 (en) * 2011-06-29 2020-12-01 Interdigital Ce Patent Holdings Remote management of devices
WO2013006839A1 (en) * 2011-07-07 2013-01-10 Cisco Technology, Inc. System and method for providing a message and an event based video services control plane
DE102011112626B4 (de) 2011-09-06 2014-09-04 Daimler Ag Automatisiertes Kopplungsverfahren eines mobilen Kommunikationsendgeräts mit einer zentralen Recheneinheit eines Kraftfahrzeugs
WO2013100918A1 (en) * 2011-12-27 2013-07-04 Intel Corporation Authenticating to a network via a device-specific one time password
JP2013196508A (ja) * 2012-03-21 2013-09-30 Ricoh Co Ltd 機器管理システム、機器管理方法、サーバ装置、及び機器管理プログラム
CN103856520B (zh) * 2012-12-03 2017-06-20 华为终端有限公司 通信处理方法、服务器及终端
CA2897042A1 (en) 2013-01-09 2014-07-17 Evernym, Inc. Systems and methods for access-controlled interactions
CN103973638B (zh) * 2013-01-28 2018-08-10 联想(北京)有限公司 访问控制方法、电子设备和服务器
JP5496393B1 (ja) * 2013-05-23 2014-05-21 三菱電機株式会社 宅内機器及び遠隔制御システム
JP6300456B2 (ja) * 2013-06-27 2018-03-28 キヤノン株式会社 通信方法、装置、プログラム、およびネットワークシステム
CN104519414B (zh) * 2013-09-27 2018-05-08 北京新媒传信科技有限公司 一种流媒体传输的方法和系统
JP6102845B2 (ja) * 2014-07-10 2017-03-29 コニカミノルタ株式会社 接続制御システム、管理サーバー、接続支援方法および接続支援プログラム
WO2016076641A1 (en) * 2014-11-14 2016-05-19 Samsung Electronics Co., Ltd. Method and apparatus for registering a device for use
JP2015062143A (ja) * 2014-12-18 2015-04-02 船井電機株式会社 通信方法、及び情報装置
JP5839102B2 (ja) * 2014-12-25 2016-01-06 セイコーエプソン株式会社 印刷システムおよびプリンター
US10171975B2 (en) * 2015-01-19 2019-01-01 Lennox Industries Inc. Efficient distribution of heating, ventilation, and air conditioning functionality
JP6264330B2 (ja) * 2015-06-15 2018-01-24 コニカミノルタ株式会社 通信システム、通信中継装置およびプログラム
CN105306567B (zh) * 2015-10-23 2019-07-19 小米科技有限责任公司 用于终端连接的方法及装置
JP6841052B2 (ja) * 2017-01-20 2021-03-10 ブラザー工業株式会社 通信システム及び登録サーバ
CN107231275B (zh) * 2017-05-31 2021-07-30 普天智能照明研究院有限公司 用于用户设备与家居设备连接配置的方法
US10708434B1 (en) * 2017-10-31 2020-07-07 West Corporation Enhanced conference access and control
CN115910341B (zh) * 2022-12-02 2024-02-13 成都体育学院 一种运动健康监测方法、装置和介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574693B1 (en) * 1998-09-17 2009-08-11 Koninklijke Philips Electronics N.V. Internet-based service for updating a programmable control device
US7263192B2 (en) * 2002-02-14 2007-08-28 Hewlett-Packard Development Company, L.P. Establishing an encrypted session
JP2006109152A (ja) * 2004-10-06 2006-04-20 Matsushita Electric Ind Co Ltd ネットワーク上で通信を行う接続要求機器、応答機器、接続管理装置、及び通信システム
US7870201B2 (en) * 2004-12-03 2011-01-11 Clairmail Inc. Apparatus for executing an application function using a mail link and methods therefor
KR100611304B1 (ko) * 2005-01-27 2006-08-10 삼성전자주식회사 기 입력된 버튼의 코드값을 이용하여 1회용 비밀키를생성하는 제어기기, 상기 1회용 비밀키를 이용하여 상기제어기기를 인증하는 홈서버, 및, 상기 1회용 비밀키를이용한 제어기기 인증방법
US7856504B2 (en) * 2005-05-11 2010-12-21 Sony Corporation Server device, inter-server device connection method, program, and recording medium
JP4747939B2 (ja) * 2005-05-11 2011-08-17 ソニー株式会社 サーバ装置、サーバ装置の機器間接続方法、プログラム、および記録媒体
US20070136778A1 (en) * 2005-12-09 2007-06-14 Ari Birger Controller and control method for media retrieval, routing and playback
US20090097459A1 (en) * 2007-10-15 2009-04-16 Sony Ericsson Mobile Communications Ab Method for wan access to home network using one time-password

Also Published As

Publication number Publication date
CN101465888A (zh) 2009-06-24
US8230488B2 (en) 2012-07-24
JP2009151479A (ja) 2009-07-09
CN101465888B (zh) 2013-01-23
US20090178128A1 (en) 2009-07-09

Similar Documents

Publication Publication Date Title
JP5045417B2 (ja) ネットワークシステム及びダイレクトアクセス方法
JP4985121B2 (ja) ネットワークシステム、メッセージ処理方法、サービスサーバ、ダイレクトアクセス管理サーバ、ネットワーク家電機器、およびコンピュータプログラム
US8301691B2 (en) Server apparatus, network system, data transfer method, and program
JP5624525B2 (ja) 情報処理装置、リソース提供装置および情報処理システム
JP4349365B2 (ja) 制御情報の伝送方法、中継サーバ、及び被制御装置
JP4935181B2 (ja) 処理装置
US7856504B2 (en) Server device, inter-server device connection method, program, and recording medium
US20100115053A1 (en) Method and apparatus for managing state information of remote user interface
JP2008022548A (ja) ゲートウェイ装置、及び、コンテンツ配信システム
JP4651690B2 (ja) 家電ログインシステム
JP4377679B2 (ja) 認証サーバ、情報サーバ、クライアント、認証方法、認証システム、プログラム、記録媒体
JP2019101668A (ja) システムおよびその制御方法
JP6197286B2 (ja) 通信装置、情報処理システム及び情報処理システムの制御方法
JP5317835B2 (ja) コンテンツ属性情報提供装置、コンテンツ属性情報提供方法、及びコンピュータプログラム
JP6385100B2 (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法およびコンピュータプログラム
JP2009211566A (ja) 認証システム、情報機器、認証方法、及びプログラム
JP4886712B2 (ja) アクセス制御システム、アクセス制御方法、アクセス制御装置およびアクセス制御プログラム
JP2005141333A (ja) アクセス中継装置およびネットワークアクセス方法
WO2005069154A1 (ja) サービス提供用サーバコンピュータ
JP4774473B2 (ja) 機器登録方法及びサーバ装置
JP2017010266A (ja) 情報処理システム、制御方法、及びサービス提供装置
JP5296602B2 (ja) サービス提供システムおよびサービス提供方法
JP4747939B2 (ja) サーバ装置、サーバ装置の機器間接続方法、プログラム、および記録媒体
JP4641301B2 (ja) 接続制御装置、接続制御方法および接続制御プログラム
JP2021043822A (ja) コンテンツ提供システム、サーバ、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120521

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: 20120619

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: 20120702

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

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees