以下、本発明の実施の形態を図面に基づいて説明する。
図1は本発明の第1の実施形態に係るネットワークシステム10の全体の構成を示す図である。
このネットワークシステム10は、端末装置100、録画装置200(200−1,200−2,200−3)、サービスサーバ300、ダイレクトアクセス管理サーバ400で構成され、これらはインターネットなどのネットワーク1を介して相互に通信可能なように接続可能とされている。
なお、録画装置200の表記において、200−1,200−2,200−3はそれぞれ個々の録画装置を指し、特に指定する必要がない場合には、「録画装置200」または「録画装置200(200−1,200−2,200−3)」と表記する。
端末装置100は、サービスサーバ300が提供する各種のサービスを利用して、録画装置200をネットワーク1を介して制御することのできる装置である。
録画装置200は、端末装置100によってネットワーク1を介して制御されることの可能な装置である。録画装置200は、例えば、図示しないコンテンツ配信サーバよりネットワーク1を介してIPマルチキャスト放送やVoD(Video on Demand)方式などによって配信される番組(動画及び音声を含む番組)、音楽、静止画、プログラム、データなどの各種のコンテンツや、地上アナログテレビジョン放送、地上デジタルテレビジョン放送、CSデジタル放送、BSデジタル放送などの各種の放送局からの放送番組を録画する録画装置などであり、サービスサーバ300が提供するサービスを利用して端末装置100から送信されたリモート録画予約などの要求を処理することが可能な装置である。
サービスサーバ300は、端末装置100に対してネットワーク1を介して録画装置200にアクセスするリモート録画予約などの各種のサービスを提供するためのサーバ装置である。
ダイレクトアクセス管理サーバ400は、端末装置100とサービスサーバ300が提供するサービスとの組み合わせと録画装置200との関連付けを管理し、この関連付けをもとに録画装置200に対してネットワーク1を介してダイレクトにアクセスを行うために必要なダイレクトアクセス用URIなどの情報の授受に関する処理を行う。また、ダイレクトアクセス管理サーバ400は、それぞれの録画装置200(200−1,200−2,200−3)との間でネットワーク1を介した常時接続セッションを確立する処理を行う。さらに、ダイレクトアクセス管理サーバ400は、サービスサーバ300からのリソース状況取得依頼に応じて、常時接続セッションを利用して各録画装置200(200−1,200−2,200−3)のリソース状況を収集し、依頼元であるサービスサーバ300に送信する処理を行う。
なお、図1に示されないが、ネットワーク1には、上記のコンテンツ配信サーバのほかコンテンツガイド配信サーバも存在する。このコンテンツガイド配信サーバは、コンテンツ配信サーバよりネットワーク経由で配信される番組、音楽、静止画、プログラム、データなどの各種のコンテンツや放送局から放送される番組などのコンテンツに関する、放送スケジュール、概要などのほか、コンテンツ毎に録画予約のために必要な情報を含むコンテンツガイドデータを格納し、ネットワーク1に接続された端末装置100などからのコンテンツガイド取得要求を受信したとき、ネットワーク1を介して端末装置100にコンテンツガイドデータを配信するサービスを行う。
次に、端末装置100について説明する。図2は端末装置100のハードウェアの構成を示すブロック図である。同図に示すように、同図に示すように、CPU(Central Processing Unit)101には、システムバス102を介して、ROM(Read Only Memory)103と、RAM(Random Access Memory)104と、入力操作部105と、表示部106と、音声出力部107と、ネットワーク接続部108と、デコード部109と、放送受信部110と、光通信部111と、記憶部112と、エンコード部113とが接続されている。
入力操作部105は、各種のキーなどを備え、ユーザからの各種の命令やデータの入力を処理する。入力操作部105によってユーザより入力された命令は、図示しない入力インターフェース部によってシステムバス102を通じてCPU101に供給される。
表示部106は、例えば、LCDなどの表示器と、表示器を駆動する表示制御回路よりなる。音声出力部107は、デジタルの音声信号をアナログの音声信号に変換する回路と、スピーカなどよりなる。
ネットワーク接続部108は、ネットワーク1との有線または無線での接続を処理する。放送受信部110は、例えば、地上アナログテレビジョン放送、地上デジタルテレビジョン放送、CSデジタル放送、BSデジタル放送、携帯機器向け地上デジタルテレビジョン放送など、各放送局3から配信されてくる放送波を受信し、ビデオ信号及びオーディオ信号を復調する。
デコード部109は、記憶部112から読み出された番組のエンコードデータをデコードして、デジタルビデオデータ及びデジタルオーディオデータを復元する。復元されたデジタルビデオデータはシステムバス102を通じて表示部106に供給されて表示され、一方、デジタルオーディオデータは、システムバス102を通じて音声出力部107に供給され、スピーカより音声となって出力される。
光通信部111は、録画装置200などの外部機器との間での通信を処理するためのインターフェースであり、具体的には、赤外線などの光を無線媒体として外部機器との通信を行うものである。また、光の他に、電波、音波、電磁波などの他の無線媒体を用いてもよい。なお、録画装置200との通信は、光通信の他に、ネットワーク1を介して行うようにしてもよい。
エンコード部113は、放送受信部110より出力された放送番組のビデオ信号およびオーディオ信号を、例えばMPEG2(Moving Picture Experts Group 2)方式などでエンコードする。
記憶部112には、コンテンツガイド配信サーバからネットワーク1を介して取得したコンテンツガイドデータ、端末装置100自身によって作成された録画予約リストなどが格納される。また、記憶部112には、放送受信部110にて受信され、エンコード部113にてエンコードされた放送番組のデータなども格納することが可能である。
ROM103は、端末装置100が実行すべきソフトウェア処理のためのプログラムやデータなどが恒久的に格納された読み出し専用メモリである。なお、プログラムは記憶部112に格納されていてもよい。RAM104は、CPU101によって実行されるプログラム・コードをロードしたり、プログラムの作業データを書き込むために使用される、書き込み可能な揮発性メモリである。CPU101は、上記の各部の制御を総括的に行うとともに各部の間でのデータのやりとりを制御する。また、CPU101は端末装置100が実行すべきソフトウェア処理を実行するために、プログラムを記憶部112またはROM103からRAM104へロードし、解釈して実行する。
次に、図3を用いて、この端末装置100のソフトウェアの構成を説明する。
同図に示すように、端末装置100は、コンテンツガイド取得部121、コンテンツガイド格納部122、コンテンツガイド表示処理部123、リモート録画予約要求部124、リソース状況表示処理部125、録画予約先通知部126を有している。コンテンツガイド格納部122は上記の記憶部112またはRAM104に設定される。
コンテンツガイド取得部121は、ネットワーク1を通じてコンテンツガイド配信サーバ500よりコンテンツガイドデータD1を取得してコンテンツガイド格納部122に格納する。
コンテンツガイド表示処理部123は、コンテンツガイド格納部122に格納されたコンテンツガイドデータD1を読み込み、コンテンツガイドの表示データD2を作成して表示部106に表示する処理を行う。
リモート録画予約要求部124は、表示部106に表示されたコンテンツガイド画面で、入力操作部105を使ってユーザよりリモート録画予約命令R1が入力されたとき、コンテンツガイド格納部122に格納されたコンテンツガイドデータから、リモート録画予約の対象であるコンテンツのリモート録画予約のために必要な情報である録画予約番組情報D3を抽出し、この録画予約番組情報D3、録画モード情報、動作モード情報、端末装置・サービス管理IDを含むリモート録画予約要求R2をサービスサーバ300に送信する。また、リモート録画予約要求部124は、送信したリモート録画予約要求R2に対してサービスサーバ300より受信したリモート録画予約結果通知R3に含まれるリソース状況の一覧D10をリソース状況表示処理部125に出力する。
リソース状況表示処理部125は、リモート録画予約要求部124より入力された録画装置のリソース状況の一覧D10の表示データD5を作成して表示部106に出力する。
上記の録画モード情報とは、例えば高画質/標準/低画質などのように録画の画質を指定する情報である。動作モード情報とは、各録画装置200のリソース状況の情報をもとにリモート録画予約先の録画装置200を決定する方法を指定する情報である。動作モード情報には、リソース状況の情報をサービスサーバ300より端末装置100が取得してユーザに掲示し、ユーザにリモート録画予約先の録画装置200を選択させるための「ユーザ選択」と、リソース状況の情報をもとにサービスサーバ300にリモート録画予約先の録画装置200の選択を委ねる「自動選択」などがある。これら録画モード情報及び動作モード情報は、入力操作部105を使ってユーザによって任意に選択される。
表示部106にリソース状況とともに表示された録画装置200の中で、ユーザは入力操作部105を使ってリモート録画予約先としたい録画装置200を選択し、録画予約先選択命令の入力操作を行うことによって、その選択されたリモート録画予約先の録画装置200の情報を含む録画予約先選択命令R20が録画予約先通知部126に与えられる。録画予約先通知部126は、録画予約先選択命令R20が入力されたとき、この録画予約先選択命令R20からリモート録画予約先の録画装置200の情報を抽出して、この抽出したリモート録画予約先の録画装置200の情報を含む録画予約先選択要求R5をサービスサーバ300にネットワーク1を介して送信する。
なお、本実施の形態における端末装置100は、携帯電話機、PDA(Personal Digital Assistant)のような携帯端末、パーソナルコンピュータなどを想定している。但し、本発明の端末装置100はこれらの機器に限られるものではなく、如何なる形態のものであってもよい。
次に、サービスサーバ300について説明する。
サービスサーバ300は、たとえば図4に示すように、パーソナルコンピュータなどの典型的なコンピュータシステムからなる構成とされている。
すなわち、CPU301には、システムバス309を介して、ROM302と、RAM303と、ネットワーク接続部304と、キーボード、マウスなどよりなる入力部305と、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部306と、メディアインターフェース部307と、ハードディスクドライブや不揮発性メモリなどよりなる記憶部308とが接続されている。
ネットワーク接続部304は、ネットワーク1を介しての通信処理を行う手段である。記憶部308には、ソフトウェア処理のためのプログラムと、各種のデータなどが格納されている。CPU301は、ソフトウェア処理を実行するために、プログラムを記憶部308からRAM303へロードし、解釈して実行する。メディアインターフェース部307には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア2が適宜装着され、それらから読み出されたプログラムが、必要に応じて記憶部308にインストールされる。
次に、図5を用いて、サービスサーバ300のソフトウェアの構成を説明する。サービスサーバ300は、動作モード情報保持部321と、リモート録画予約処理部322と、リソース状況解析部324とを備えている。動作モード情報保持部321は、記憶部308またはRAM303に設定されている。
リモート録画予約処理部322は、端末装置100からのリモート録画予約要求R2を受けたとき、このリモート録画予約要求R2から録画予約番組情報D3、録画モード情報、動作モード情報、端末装置・サービス管理IDを抽出し、これらの抽出情報を含むリソース状況取得依頼R6をダイレクトアクセス管理サーバ400にネットワーク1を介して送信する。また、リモート録画予約処理部322は、リモート録画予約要求R2から抽出した動作モード情報を動作モード情報保持部321に保持する。
リモート録画予約処理部322は、また、ダイレクトアクセス管理サーバ400よりネットワーク1を介してリソース状況取得応答R7を受信したとき、このリソース状況取得応答R7から各録画装置200のリソース状況の一覧D10を抽出するとともに、動作モード情報保持部321から動作モード情報を読み出し、この動作モード情報をもとに、リソース状況の一覧D10をリソース状況解析部324またはネットワーク1を介して端末装置100のいずれかに与える。
リソース状況解析部324は、リモート録画予約処理部322より取得した各録画装置200のリソース状況の一覧D10を解析して、リモート録画予約先として適当な録画装置200を決定し、この録画装置200へリモート録画予約を行うようにリモート録画予約処理部322にリモート録画予約命令R8を与える。
リモート録画予約処理部322は、リソース状況解析部324からのリモート録画予約命令R8を受けたとき、ダイレクトアクセス管理サーバ400に対して、その録画装置200にネットワーク1を介してダイレクトにアクセスするために必要な情報であるダイレクトアクセス用URIの取得を要求する、端末装置・サービス管理IDを含むダイレクトアクセス開始要求R9を送信し、ダイレクトアクセス管理サーバ400より、そのダイレクトアクセス用URIを含むダイレクトアクセス開始応答R10を受信する。リモート録画予約処理部322は、受信したダイレクトアクセス開始応答R10に含まれるダイレクトアクセス用URIをもとに録画装置200にアクセスして、録画予約番組情報D3及び録画モード情報を含むリモート録画予約命令R11を送信し、録画装置200でのリモート録画予約完了後に録画装置200よりリモート録画予約結果通知R12を受信し、リモート録画予約結果通知R3を端末装置100に送信する。
次に、ダイレクトアクセス管理サーバ400について説明する。なお、ダイレクトアクセス管理サーバ400のハードウェア構成は、たとえば図4に示したパーソナルコンピュータなどの典型的なコンピュータシステムと同様であるため、説明を省略する。
図6を用いて、ダイレクトアクセス管理サーバ400のソフトウェアの構成を説明する。ダイレクトアクセス管理サーバ400は、記憶部401と、登録処理部402と、ダイレクトアクセス要求処理部403と、XMPPサーバ404と、リソース状況取得部405とを備えている。
記憶部401には、端末装置100とサービスの種別との組み合わせに対して付与されたIDである端末装置・サービス管理IDと、録画装置200に対して割り当てられたIDである被制御機器管理IDとが関連付けて登録される管理ID関連テーブル411と、端末装置・サービス管理ID、サービスサーバ用の被制御機器ID、及び被制御機器用の被制御機器IDが関連付けて登録される機器ID関連テーブル412などが格納される。
登録処理部402は、管理ID関連テーブル411への端末装置・サービス管理ID及び被制御機器管理IDの登録及び両IDの紐付けを行う。すなわち、登録処理部402は、例えば、サービスサーバ300からの端末装置・サービス登録要求R13に応じて、端末装置100とサービスサーバ300が提供するサービスとの組み合わせに対して端末装置・サービス管理IDを生成し、この端末装置・サービス管理IDを管理ID関連テーブル411に登録し、端末装置/サービス管理IDをネットワーク1を介してサービスサーバ300に端末装置・サービス登録応答R14として送信する。
また、登録処理部402は、録画装置200からの録画装置登録要求R15を受信したとき、この録画装置200に対して被制御機器管理IDを割り当て、適切な端末装置・サービス管理IDと対応付けて管理ID関連テーブル411に登録する。登録処理部402は、また、生成した被制御機器管理IDと、サービスサーバ300が録画装置200を識別するIDであるサービスサーバ用の被制御機器IDと、録画装置200が自らを識別するIDである録画装置用の被制御機器IDと、個々の録画装置に対して生成した録画装置名とを対応付けて、機器ID関連テーブル412に保存する。被制御機器管理IDをどの端末装置・サービス管理IDと対応付けるかを決定する方法としては、下記のように録画装置登録用のパスワードを用いる方法などがある。
この方法は、端末装置・サービス管理IDがダイレクトアクセス管理サーバ400に登録された後、サービスサーバ300が、ダイレクトアクセス管理サーバ400に録画装置登録用のパスワードの発行を依頼する。ダイレクトアクセス管理サーバ400は、この依頼を受けると、録画装置登録用のパスワードを生成してこれを端末装置・サービス管理IDと対応付けて保存するとともにサービスサーバ300に送信する。サービスサーバ300は録画装置登録用のパスワードを端末装置100に送信する。端末装置100は、取得した録画装置登録用のパスワードを、光通信部111(図2参照)を使って録画装置200へ転送する。録画装置200は、録画装置登録要求R15に録画装置登録用のパスワードを付加してダイレクトアクセス管理サーバ400に送信する。ダイレクトアクセス管理サーバ400は、録画装置登録要求R15を受信すると被制御機器管理IDを生成するとともに、録画装置登録要求R15に含まれている録画装置登録用のパスワードと、端末装置・サービス管理IDと対応付けて保存されている録画装置登録用のパスワードとを比較し、一致したならば、その一致した録画装置登録用のパスワードに対応付けられた端末装置・サービス管理IDを、生成した被制御機器管理IDと対応付けて管理ID関連テーブル411に保存する。
ダイレクトアクセス要求処理部403は、サービスサーバ300より端末装置・サービス管理IDを含むダイレクトアクセス開始要求R9を受けたとき、このダイレクトアクセス開始要求R9に含まれる端末装置・サービス管理IDと、管理ID関連テーブル411に登録されている端末装置・サービス管理IDと被制御機器管理IDとの紐付け内容を参照して、ダイレクトアクセス開始要求R9に含まれる端末装置・サービス管理IDに紐付けられた被制御機器管理IDを判定し、該当する録画装置200に対して、ネットワーク1を介して録画装置200にダイレクトにアクセスするために必要な情報であるダイレクトアクセス用URI(Uniform Resource Identifier)の取得を要求するダイレクトアクセス情報取得要求R16を常時接続セッションを通じて送信し、そのダイレクトアクセス用URIを含むダイレクトアクセス情報取得応答R17を録画装置200より受信して、サービスサーバ300にそのダイレクトアクセス用URIを含むダイレクトアクセス開始応答R10を送信する。
ここで、ダイレクトアクセス用URIは、例えば、録画装置200がルータを通じてネットワーク1に接続されている場合に、ルータにおいて録画装置200のローカルIPアドレス及びポート番号にマッピングされたグローバルIPアドレスおよびポート番号などからなる。ただし、録画装置200が直接ネットワーク1に接続されている場合には、その録画装置200に割り当てられたグローバルIPアドレスであってもよい。
また、このダイレクトアクセス管理サーバ400には、録画装置200との間で双方向の常時接続セッションを設定するためのXMPP(eXtensible Messaging and Presence Protocol)サーバ404が設けられている。XMPPとは、リアルタイムのコミュニケーションを実現するためのプロトコルである。常時接続セッションは、端末装置100が録画装置200にネットワーク1を通じてアクセスする前に、録画装置200がXMPPサーバ404にログインすることによって設定される。ダイレクトアクセス管理サーバ400は、XMPPサーバ404との間でXMPPセッションが確立されたサービスサーバ300からのダイレクトアクセス開始要求R9を受信したならば、XMPPサーバ404と録画装置200との間で確立されている常時接続セッションを通じてダイレクトアクセス情報取得要求R16を録画装置200に送信することとしている。
リソース状況取得部405は、XMPPサーバ404との間でXMPPセッションが確立されたサービスサーバ300からのリソース状況取得依頼R6を受信したとき、このリソース状況取得依頼R6に含まれる端末装置・サービス管理IDに関連付けられた各録画装置200に対して常時接続セッションを通じて、リソース状況取得依頼R6から抽出した録画予約番組情報D3、録画モード情報を含むリソース状況取得要求R18を送信する。
リソース状況取得部405は、また、常時接続セッションを通じて接続された各録画装置200よりリソース状況の情報D7を含むリソース状況取得応答R19を受信したとき、このリソース状況取得応答R19からリソース状況の情報D7を抽出し、このリソース状況の情報D7の一覧D10を作成して、このリソース状況の一覧D10を含むリソース状況取得応答R7をサービスサーバ300に送信する。
次に、録画装置200について説明する。図7は録画装置200のハードウェアの構成を示す図である。
同図に示すように、CPU201には、システムバス202を介して、ROM203と、RAM204と、入力操作部205と、AVインターフェース部206と、表示部207と、ネットワーク接続部208と、デコード部209と、エンコード部210と、放送受信部211と、光通信部212と、ハードディスクドライブ(HDD)などよりなる記憶部213と、メディアインターフェース部214とが接続されている。
入力操作部205は、各種のキーなどを備え、ユーザからの録画再生のための各種の指令の入力を処理する。入力操作部205より入力された各種の指令は、図示しないインターフェース部によってシステムバス202を通じてCPU201に供給される。
表示部207は、例えば、LCDなどの表示器と、表示器を駆動する表示制御回路よりなり、例えば、ユーザから入力された指令やデータの確認、各種のステータスなどを表示する。
AVインターフェース部206は、この録画装置200に接続されたテレビジョンなどの外部AV機器4との間でビデオ信号およびオーディオ信号の入出力を処理する。
放送受信部211は、例えば、地上アナログテレビジョン放送、地上デジタルテレビジョン放送、CSデジタル放送、BSデジタル放送など、各放送局3から配信されてくる放送波を受信し、ビデオ信号及びオーディオ信号を復調する。
エンコード部210は、放送受信部211より出力された放送番組のビデオ信号およびオーディオ信号を、例えばMPEG2(Moving Picture Experts Group 2)方式などでエンコードする。
ネットワーク接続部208は、ネットワーク1との接続を処理する。デコード部209は、ネットワーク1を介してコンテンツ配信サーバ600(図8参照)より取得したコンテンツデータ、及び記憶部112から読み出されたコンテンツのエンコードデータをデコードして、ビデオデータおよびオーディオデータを復元する。復元されたデジタルビデオデータはシステムバス202を通じてAVインターフェース部206に供給され、AVインターフェース部206に接続されたテレビジョンなどの外部AV機器4に出力される。
光通信部212は、端末装置100などの外部の機器との間での通信を処理するためのインターフェースであり、具体的には、赤外線などの光を無線媒体として外部機器との通信を行うものである。また、光の他に、電波、音波、電磁波などの他の無線媒体を用いてもよい。なお、端末装置100との通信は、光通信の他に、ネットワーク1を介して行うようにしてもよい。
記憶部213は、ハードディスクドライブなどよりなる記憶部である。この記憶部213には、端末装置100より送られてきた録画予約番組情報D3や、ネットワーク1を介して取得したコンテンツデータ、さらには放送受信部211にて受信され、エンコード部210によってエンコードされた放送番組などのコンテンツデータなどが記録される。
メディアインターフェース部214には、光ディスクなどのリムーバブルメディア2の装着が可能とされ、このリムーバブルメディア2に放送番組などのコンテンツデータなどを記録することが可能となっている。リムーバブルメディア2としては、例えば、追記型、書換型のDVD(Digital Versatile Disc)、ブルーレイディスクなどがある。
ROM203には、録画装置200が実行すべきソフトウェア処理のためのプログラムなどが格納されている。RAM204は、CPU201によって実行されるプログラム・コードをロードしたり、プログラムの作業データを書き込むために使用される、書き込み可能な揮発性メモリである。CPU201は、録画装置200が実行すべきソフトウェア処理を実行するために、必要なプログラムをROM203からRAM204へロードし、解釈して実行する。
次に、図8を用いて、この録画装置200のソフトウェアの構成を説明する。
同図に示すように、録画装置200は、リモート録画予約処理部221、録画予約情報格納部222、コンテンツデータ取得部223、コンテンツデータ格納部224、ダイレクトアクセス情報提供部225、リソース状況提供部226などを有している。ここで、録画予約情報格納部222及びコンテンツデータ格納部224は上記の記憶部213またはメディアインターフェース部214に装着されたリムーバブルメディア2などに設定される。
リモート録画予約処理部221は、サービスサーバ300からのリモート録画予約命令R11を受信したとき、このリモート録画予約命令R11に含まれる録画予約番組情報D3及び録画モード情報を録画予約情報格納部222に格納された録画予約リストに登録し、登録完了後、リモート録画予約の完了を示すリモート録画予約結果通知R12をネットワーク1を介してサービスサーバ300に送信する。
コンテンツデータ取得部223は、録画予約情報格納部222内の録画予約リストに格納された録画予約番組情報D3をもとに、コンテンツ配信サーバ600より配信されるコンテンツデータD8や放送局3から放送される放送番組などのコンテンツデータD9などを選択的に受信してコンテンツデータ格納部224に記録する。
ダイレクトアクセス情報提供部225は、ダイレクトアクセス管理サーバ400のXMPPサーバ404にログインしてダイレクトアクセス管理サーバ400との間で双方向の常時接続セッションを設定する処理を行う。また、ダイレクトアクセス情報提供部225は、常時接続セッションを通じてダイレクトアクセス管理サーバ400よりダイレクトアクセス情報取得要求R16を受信したとき、録画装置200をネットワーク1に接続するルータにおいて録画装置200のローカルIPアドレス及びポート番号にマッピングされたグローバルIPアドレスおよびポート番号などからなるダイレクトアクセス用URIを生成し、このダイレクトアクセス用URIを含むダイレクトアクセス情報取得応答R17をダイレクトアクセス管理サーバ400に送信する。
リソース状況提供部226は、ダイレクトアクセス管理サーバ400より常時接続セッションを通じてリソース状況取得要求R18を受信したとき、このリソース状況取得要求R18に含まれる録画予約番組情報D3及び録画モード情報、コンテンツデータ格納部224の空き容量、録画予約情報格納部222に格納された録画予約リストなどをもとに、リソース状況に応じたリモート録画予約の可否を判定し、その判定したリソース状況の情報D7を含むリソース状況取得応答R19を常時接続セッションを通じてダイレクトアクセス管理サーバ400に送信する。
次に、この実施形態のネットワークシステム10において、端末装置100がサービスサーバ300が提供するサービスを利用して、録画装置200に対するリモート録画予約を行う場合の動作を説明する。
図9は、このリモート録画予約の動作シーケンス図であり、リモート録画予約が可能な録画装置200を選択する際の動作モードとして「自動選択」が選択されている場合の動作シーケンス図である。
まず、図3において、端末装置100の表示部106に、コンテンツガイド配信サーバ500より取得したコンテンツガイドを表示させる。この表示されたコンテンツガイドにおいて、入力操作部105を使ってユーザが、リモート録画予約対象のコンテンツ、録画モード、動作モードを選択しつつリモート録画予約を指示する操作を行うと、その選択されたコンテンツ、録画モード、動作モードの各情報を含むリモート録画予約命令R1がリモート録画予約要求部124に入力される。リモート録画予約要求部124は、リモート録画予約命令R1を入力すると、コンテンツガイド格納部122に格納されたコンテンツガイドデータD1から、リモート録画予約の対象であるコンテンツのリモート録画予約のために必要な情報である、例えば番組ID、チャンネル名、放送日、放送開始/終了時刻、タイトル名などの録画予約番組情報D3を取り出し、この録画予約番組情報D3と、リモート録画予約命令R1に含まれる録画モード情報、動作モード情報、及び端末装置・サービス管理IDを含むリモート録画予約要求R2をネットワーク1を介してサービスサーバ300に送信する(図9(S1))。
図5において、サービスサーバ300内のリモート録画予約処理部322は、端末装置100よりリモート録画予約要求R2を受信すると、このリモート録画予約要求R2から録画予約番組情報D3、録画モード情報、動作モード情報及び端末装置・サービス管理IDを抽出し、抽出した録画予約番組情報D3、録画モード情報、及び端末装置・サービス管理IDを含むリソース状況取得依頼R6をダイレクトアクセス管理サーバ400にネットワーク1を介して送信する(図9(S2))。また、リモート録画予約処理部322は、リモート録画予約要求R2から抽出した動作モード情報を動作モード情報保持部321に保持する。
図6において、ダイレクトアクセス管理サーバ400においては、録画装置200との間で双方向の常時接続セッションを設定するためのXMPPサーバ404が稼動しており、サービスサーバ300は、ダイレクトアクセス管理サーバ400との間でXMPPセッションを設定して、このXMPPセッションを通じてダイレクトアクセス管理サーバ400との間で情報をやりとりすることとしている。
ダイレクトアクセス管理サーバ400内のリソース状況取得部405は、その常時接続セッションを通じてサービスサーバ300からのリソース状況取得依頼R6を受信すると、このリソース状況取得依頼R6に含まれる端末装置・サービス管理IDに関連付けられた被制御機器管理IDを判定し、この被制御機器管理IDが割り当てられた録画装置200(200−1,200−2,200−3)に対してそれぞれ、常時接続セッションを通じて、リソース状況取得依頼R6から抽出した録画予約番組情報D3、録画モード情報を含むリソース状況取得要求R18を送信する(図9(S3))。
図8において、各録画装置200(200−1,200−2,200−3)内において、リソース状況提供部226は、ダイレクトアクセス管理サーバ400より常時接続セッションを通じてリソース状況取得要求R18を受信すると、このリソース状況取得要求R18に含まれる録画予約番組情報D3及び録画モード情報、録画予約情報格納部222に格納された録画予約リスト、さらにはコンテンツデータ格納部224の空き容量などをもとにリソース状況に応じたリモート録画予約の可否を判定し、その判定結果をリソース状況の情報D7として、このリソース状況の情報D7を含むリソース状況取得応答R19を常時接続セッションを通じてダイレクトアクセス管理サーバ400に送信する(図9(S4))。
リソース状況に応じたリモート録画予約の可否の判定は、例えば、次のように行われる。リソース状況提供部226は、リソース状況取得要求R18に含まれる録画予約番組情報D3と録画モード情報とから、録画予約対象であるコンテンツの録画に必要な容量を算出し、録画装置200のコンテンツデータ格納部224に、そのコンテンツを録画できるだけの空き容量が残っていない場合には、リソース状況提供部226はリモート録画予約が不可であることを判定する。また、リソース状況提供部226は、録画予約番組情報D3と録画予約情報格納部222に格納された録画予約リストとから、放送受信用のリソースであるチューナの空き状況を判定し、既に録画予約済みのコンテンツの受信に使用されるためにチューナに空きがない場合にもリモート録画予約が不可であることを判定する。そしてコンテンツデータ格納部224に十分な空き容量が残っており、チューナの使用も可能である場合には、リソース状況提供部226はリモート録画予約が可能であることをリソース状況として判定する。さらに、リソース状況提供部226は、録画予約番組情報D3が示すリモート録画予約の対象と同一のコンテンツが既に録画予約済みであることを判定した場合には、この重複する録画予約が存在する旨をリモート録画予約が可能であることを示すリソース状況の情報に付加することとしている。
図6において、ダイレクトアクセス管理サーバ400内のリソース状況取得部405は、常時接続セッションを通じて各録画装置200(200−1,200−2,200−3)よりリソース状況取得応答R19をそれぞれ受信すると、これらのリソース状況取得応答R19からリソース状況の情報D7をそれぞれ抽出して一つにまとめた一覧D10を作成し(図9(S5))、このリソース状況の一覧D10をリソース状況取得応答R7としてサービスサーバ300に送信する(図9(S6))。なお、リソース状況の一覧D10は、録画装置200ごとの、サービスサーバ用の被制御機器ID、被制御機器名、リソース状況の情報で構成される。
図5において、サービスサーバ300内のリモート録画予約処理部322は、ダイレクトアクセス管理サーバ400よりリソース状況取得応答R7を受信すると、このリソース状況取得応答R7からリソース状況の一覧D10を抽出するとともに、動作モード情報保持部321に保持された動作モード情報をもとに動作モードを判断する(図9(S7))。
リモート録画予約処理部322は、動作モードが「自動選択」であることを判断すると、リソース状況解析部324に対して、リソース状況取得応答R7から抽出したリソース状況の一覧D10を含むリソース状況解析命令R4を与える。リソース状況解析部324は、リソース状況解析命令R4を受けると、このリソース状況解析命令R4に含まれるリソース状況の一覧D10をもとにリモート録画予約先として適当な録画装置200を判断する(図9(S8−1))。このリモート録画予約先として適当な録画装置200の判断は、例えば、次のようにして行われる。
リソース状況解析部324は、リソース状況の一覧D10においてリモート録画予約が可能な録画装置200が一つだけである場合には、その録画装置200をリモート録画予約先として適当な録画装置200として決定する。リモート録画予約が可能な録画装置200が複数存在する場合には、リソース状況解析部324は、その中で一つの録画装置200をリモート録画予約先として適切な録画装置200として決定する。この場合の一つの録画装置200の選択はサービスサーバ300内のリモート録画予約処理部322がランダムに行ってもよいし、予めユーザによって設定された優先順位に従って行うようにしてもよい。いずれかの録画装置200において重複する録画予約が存在する場合には、リソース状況解析部324は、リモート録画予約処理部322に対して、重複する録画予約が存在する旨を端末装置100に通知するように指示する。リモート録画予約処理部322は、この指示を受けて、ネットワーク1を介して端末装置100に重複する録画予約が存在する旨をリモート録画予約結果通知としてネットワーク1を介して送信し、以後の対応を端末装置100のユーザに委ねる。この場合、端末装置100のユーザはリモート録画予約要求をキャンセルするか、そのままリモート録画予約を進めるかを選択して、端末装置100からサービスサーバ300に通知する。サービスサーバ300内のリモート録画予約処理部322は、この通知に従って、リモート録画予約の処理を継続するか中断するかを決定する。
ここで、録画装置200−2が適切なリモート録画予約先として決定されたものとして以降の説明を行う。リソース状況解析部324は、その録画装置200−2へリモート録画予約を行うようにリモート録画予約処理部322に、その録画装置200−2のサービスサーバ用の被制御機器IDを含むリモート録画予約命令R8を与える。リモート録画予約処理部322は、このリモート録画予約命令R8を受けると、このリモート録画予約命令R8からサービスサーバ用の被制御機器IDを抽出し、このサービスサーバ用の被制御機器IDを含むダイレクトアクセス開始要求R9をダイレクトアクセス管理サーバ400に送信する(図9(S9))。
図6において、ダイレクトアクセス管理サーバ400内のダイレクトアクセス要求処理部403は、サービスサーバ300からのダイレクトアクセス開始要求R9を受信すると、記憶部401に格納された機器ID関連テーブル412より、ダイレクトアクセス開始要求R9に含まれるサービスサーバ用の被制御機器IDに対応付けられた録画装置用の被制御機器IDを読み出し、該当する録画装置200にダイレクトアクセス情報取得要求R16を常時接続セッションを通じて送信する(図9(S10))。
図8において、録画装置200内のダイレクトアクセス情報提供部225は、既にダイレクトアクセス管理サーバ400のXMPPサーバ404にログインしてダイレクトアクセス管理サーバ400との間で双方向の常時接続セッションの設定を完了しているものとする。また、この実施形態では、録画装置200がルータを通じてネットワーク1に接続されていることとする。ダイレクトアクセス情報提供部225は、ダイレクトアクセス管理サーバ400内のダイレクトアクセス要求処理部403より常時接続セッションを通じてダイレクトアクセス情報取得要求R16を受信すると、ルータにおいて録画装置200のローカルIPアドレス及びポート番号にマッピングされたグローバルIPアドレスおよびポート番号などからなるダイレクトアクセス用URIを生成して、ダイレクトアクセス情報取得応答R17としてダイレクトアクセス管理サーバ400に常時接続セッションを通じて送信する(図9(S11))。
図6において、ダイレクトアクセス管理サーバ400内のダイレクトアクセス要求処理部403は、録画装置200内のダイレクトアクセス情報提供部225より常時接続セッションを通じてダイレクトアクセス情報取得応答R17を受信すると、このダイレクトアクセス情報取得応答R17に含まれるダイレクトアクセス用URIを、ダイレクトアクセス開始要求元であるサービスサーバ300に、そのダイレクトアクセス用URIを含むダイレクトアクセス開始応答R10として送信する(図9(S12))。
図5において、サービスサーバ300内のリモート録画予約処理部322は、ダイレクトアクセス管理サーバ400よりダイレクトアクセス開始応答R10を受信すると、このダイレクトアクセス開始応答R10に含まれるダイレクトアクセス用URIに基づいて録画装置200−2にアクセスして、録画予約番組情報D3及び録画モード情報を含むリモート録画予約命令R11を送信する(図9(S13))。
図8において、録画装置200−2内のリモート録画予約処理部221は、サービスサーバ300からのリモート録画予約命令R11を受信すると、このリモート録画予約命令R11に含まれる録画予約番組情報D3及び録画モード情報を録画予約情報格納部222に格納された録画予約リストに登録した後、リモート録画予約の完了を示すリモート録画予約結果通知R12をサービスサーバ300にネットワーク1を介して送信する(図9(S14))。
図5において、サービスサーバ300内のリモート録画予約処理部322は、録画装置200よりリモート録画予約結果通知R12を受信すると、リモート録画予約要求元である端末装置100にリモート録画予約結果通知R3をネットワーク1を介して送信する(図9(S15))。
以上が、録画予約が可能な録画装置200を選択する際の動作モードとして「自動選択」が選択された場合の動作である。
次に、録画予約が可能な録画装置200を選択する際の動作モードとして「ユーザ選択」が選択されている場合の動作を説明する。図10は、この場合のリモート録画予約の動作シーケンス図である。ここでS1からS7までの、サービスサーバ300において動作モードを判断するステップまでの動作は図9と同じであるから、この部分の動作の説明は省略する。
図5において、サービスサーバ300内のリモート録画予約処理部322は、S7で動作モードが「ユーザ選択」であることを判断した場合、ダイレクトアクセス管理サーバ400より受信した各録画装置200(200−1,200−2,200−3)のリソース状況の一覧D10を、リモート録画予約要求元の端末装置100にネットワーク1を介して送信する(図10(S8−2))。
図3において、端末装置100内のリモート録画予約要求部124は、サービスサーバ300より受信したリソース状況の一覧D10をリソース状況表示処理部125に与える。リソース状況表示処理部125は、リモート録画予約要求部124より取得したリソース状況の一覧D10の表示データD5を生成して、表示部106に表示する(図10(S8−3))。
この後、ユーザが、表示部106に表示されたリソース状況の一覧を参照し、リモート録画予約先として適当な録画装置200を入力操作部105を使って選択し、録画予約先選択命令の入力操作を行うことによって、その選択されたリモート録画予約先の録画装置200の、サービスサーバ用の被制御機器IDを含む録画予約先選択命令R20が録画予約先通知部126に与えられる。録画予約先通知部126は、録画予約先選択命令R20を入力すると、この録画予約先選択命令R20からリモート録画予約先の録画装置200のサービスサーバ用の被制御機器IDを抽出して、この抽出したサービスサーバ用の被制御機器IDを含む録画予約先選択要求R5をサービスサーバ300にネットワーク1を介して送信する(図10(S8−4))。ここでは、録画装置200−2がリモート録画予約先としてユーザによって選択されたものとして以降の説明を行う。
図5において、サービスサーバ300内のリモート録画予約処理部322は、この録画予約先選択要求R5を受けると、ダイレクトアクセス管理サーバ400に対して、その録画装置200−2のサービスサーバ用の被制御機器IDを含むダイレクトアクセス開始要求R9を送信する(図10(S9))。以降の動作は、図9のS10からS15までの動作と同じであるため、説明を省略する。
次に、本発明の第2の実施形態を説明する。
図11は本発明の第2の実施形態に係るネットワークシステム20の全体の構成を示す図である。
このネットワークシステム10は、端末装置100、録画装置200a(200a−1,200a−2)、サービスサーバ300a、ダイレクトアクセス管理サーバ400a、コントローラ800で構成され、これらの機器はインターネットなどのネットワーク1を介して相互に通信可能なように接続可能とされ、コントローラ800と録画装置200a(200a−1,200a−2)はLAN(Local Area Network)8を介して接続可能とされている。
端末装置100、録画装置200a、サービスサーバ300a、ダイレクトアクセス管理サーバ400aのそれぞれのハードウェアの構成は、第1の実施形態と同じであるため説明を省略する。また、端末装置100のソフトウェアの構成は、図3に示した第1の実施形態の端末装置と同じであるため、説明を省略する。
次に、サービスサーバ300aのソフトウェアの構成を説明する。図12はサービスサーバ300aのソフトウェアの構成を示す図である。第1の実施形態のサービスサーバ300と異なる部分はリモート録画予約処理部322aである。
リモート録画予約処理部322aは、端末装置100から、録画予約番組情報D3、録画モード情報、動作モード情報、及びコントローラ800のサービスサーバ用の被制御機器IDを含むリモート録画予約要求R2を受信したとき、このリモート録画予約要求R2からコントローラ800のサービスサーバ用の被制御機器IDを抽出し、この抽出したコントローラ800のサービスサーバ用の被制御機器IDを含むダイレクトアクセス開始要求R29をダイレクトアクセス管理サーバ400aにネットワーク1を介して送信するとともに、リモート録画予約要求R2から抽出した動作モード情報を動作モード情報保持部321に保持する。
リモート録画予約処理部322aは、また、ダイレクトアクセス開始要求R29の送信に対してダイレクトアクセス管理サーバ400aよりダイレクトアクセス開始応答R30を受信したとき、このダイレクトアクセス開始応答R30に含まれるコントローラ800のダイレクトアクセス用URIに基づいてコントローラ800にアクセスして、録画予約番組情報D3、録画モード情報を含むリソース状況取得依頼R26を送信する。
リモート録画予約処理部322aは、さらに、コントローラ800よりネットワーク1を介してリソース状況取得応答R27を受信したとき、このリソース状況取得応答R27から各録画装置200aのリソース状況の一覧D10を抽出するとともに、動作モード情報保持部321から動作モード情報を読み出し、この動作モード情報をもとに、リソース状況の一覧D10をリソース状況解析部324またはネットワーク1を介して端末装置100のいずれかに与える。
リソース状況解析部324は、リモート録画予約処理部322aより取得した各録画装置200aのリソース状況の一覧D10を解析して、リモート録画予約先として適当な録画装置200aを決定し、この録画装置200aへリモート録画予約を行うようにリモート録画予約処理部322aにリモート録画予約命令R28を与える。
リモート録画予約処理部322aは、リソース状況解析部324からのリモート録画予約命令R28を受けたとき、ダイレクトアクセス管理サーバ400aに対して、その録画装置200aのダイレクトアクセス用URIの取得を要求する、その録画装置200aのサービスサーバ用の被制御機器IDを含むダイレクトアクセス開始要求R29を送信し、ダイレクトアクセス管理サーバ400aより、そのダイレクトアクセス用URIを含むダイレクトアクセス開始応答R30を受信する。リモート録画予約処理部322aは、受信したダイレクトアクセス開始応答R30に含まれるダイレクトアクセス用URIをもとに録画装置200aにアクセスして、録画予約番組情報D3及び録画モード情報を含むリモート録画予約命令R11を送信し、録画装置200aでのリモート録画予約完了後に録画装置200aよりリモート録画予約結果通知R12を受信し、さらにリモート録画予約結果通知R3を端末装置100に送信する。
次に、ダイレクトアクセス管理サーバ400aのソフトウェアの構成を説明する。図13はダイレクトアクセス管理サーバ400aのソフトウェアの構成を示す図である。第1の実施形態のダイレクトアクセス管理サーバ400と異なる部分はダイレクトアクセス要求処理部403aであり、また、第1の実施形態のダイレクトアクセス管理サーバ400のリソース状況取得部405は存在しない。
ダイレクトアクセス要求処理部403aは、サービスサーバ300aよりコントローラ800のサービスサーバ用の被制御機器IDを含むダイレクトアクセス開始要求R29を受信したとき、このダイレクトアクセス開始要求R29に含まれるコントローラ800のサービスサーバ用の被制御機器IDと、管理ID関連テーブル411及び機器ID関連テーブル412をもとに、コントローラ800に割り当てられた被制御機器管理IDを判定し、この判定結果をもとに、コントローラ800に対して、ネットワーク1を介してコントローラ800のダイレクトアクセス用URIの取得を要求するダイレクトアクセス情報取得要求R36を常時接続セッションを通じて送信し、そのダイレクトアクセス用URIを含むダイレクトアクセス情報取得応答R37をコントローラ800より受信して、サービスサーバ300aにそのダイレクトアクセス用URIを含むダイレクトアクセス開始応答R30を送信する。
また、ダイレクトアクセス要求処理部403aは、サービスサーバ300aよりリモート録画予約先として適当と判断された録画装置200aのサービスサーバ用の被制御機器IDを含むダイレクトアクセス開始要求R29を受信したとき、このダイレクトアクセス開始要求R29に含まれるサービスサーバ用の被制御機器IDと管理ID関連テーブル411及び機器ID関連テーブル412をもとに、リモート録画予約先として適当と判断された録画装置200aに割り当てられた被制御機器管理IDを判定し、この録画装置200aに対して、ネットワーク1を介してその録画装置200aのダイレクトアクセス用URIの取得を要求するダイレクトアクセス情報取得要求R36を常時接続セッションを通じて送信し、そのダイレクトアクセス用URIを含むダイレクトアクセス情報取得応答R37を録画装置200aより受信して、サービスサーバ300aにそのダイレクトアクセス用URIを含むダイレクトアクセス開始応答R30を送信する。
この実施形態では、第1の実施形態のダイレクトアクセス管理サーバ400のリソース状況取得部405の機能をコントローラ800に持たせている。コントローラ800は、専用機器、あるいはルータなどのネットワーク機器や録画機器内に組み込まれた機器であってもよい。このコントローラ800はダイレクトアクセス管理サーバ400aにて被制御機器の一つとして管理されている。
図14はコントローラ800のソフトウェアの構成を示す図である。同図に示すように、コントローラ800は、ダイレクトアクセス情報提供部801と、リソース状況取得部802とを備えている。
ダイレクトアクセス情報提供部801は、ダイレクトアクセス管理サーバ400aのXMPPサーバ404にログインしてダイレクトアクセス管理サーバ400aとの間で双方向の常時接続セッションを設定する処理を行う。また、ダイレクトアクセス情報提供部801は、常時接続セッションを通じてダイレクトアクセス管理サーバ400aよりダイレクトアクセス情報取得要求R36を受信したとき、コントローラ800をネットワーク1に接続するルータにおいてコントローラ800のローカルIPアドレス及びポート番号にマッピングされたグローバルIPアドレスおよびポート番号などからなるダイレクトアクセス用URIを生成し、このダイレクトアクセス用URIを含むダイレクトアクセス情報取得応答R37をダイレクトアクセス管理サーバ400aに送信する。
リソース状況取得部802は、サービスサーバ300aからの録画予約番組情報D3及び録画モード情報を含むリソース状況取得依頼R26を受信したとき、コントローラ800とLAN8を通じて接続されている各録画装置200a(200a−1,200a−2)に対して、ダイレクトアクセス管理サーバ400aに登録済みの機器であるかどうかを問い合わせ、登録済みの機器であることの応答を受信した録画装置200aに対して、リソース状況取得依頼R26から抽出した録画予約番組情報D3及び録画モード情報を含むリソース状況取得要求R38を送信する。
リソース状況取得部802は、また、LAN8を通じて接続されている各録画装置200a(200a−1,200a−2)よりリソース状況の情報D7を含むリソース状況取得応答R39を受信したとき、このリソース状況取得応答R39からリソース状況の情報D7を抽出して、これらリソース状況の情報D7をまとめた一覧D10を作成し、このリソース状況の一覧D10を含むリソース状況取得応答R27をサービスサーバ300aに送信する。
次に、録画装置200a(200a−1,200a−2)のソフトウェアの構成を説明する。図15は録画装置200aのソフトウェアの構成を示す図である。第1の実施形態の録画装置200と異なる部分はリソース状況提供部226aであり、その他の部分は第1の実施形態の録画装置200と同じである。
リソース状況提供部226aは、コントローラ800よりLAN8を通じてリソース状況取得要求R38を受信したとき、このリソース状況取得要求R38に含まれる録画予約番組情報D3及び録画モード情報と、コンテンツデータ格納部224の空き容量、録画予約情報格納部222に格納された録画予約リストなどをもとに、リソース状況に応じたリモート録画予約の可否を判定し、この判定したリソース状況の情報D7を含むリソース状況取得応答R39をLAN8を通じてコントローラ800に送信する。
次に、この実施形態のネットワークシステム20において、端末装置100がサービスサーバ300aが提供するサービスを利用して、録画装置200aに対するリモート録画予約を行う場合の動作を説明する。
図16は、このリモート録画予約の動作シーケンス図である。
まず、端末装置100からネットワーク1を介してサービスサーバ300aに、リモート録画予約の対象であるコンテンツに関する録画予約番組情報D3、録画モード情報、動作モード情報、及びコントローラ800のサービスサーバ用の被制御機器IDを含むリモート録画予約要求R2を送信する(図16(S21))。
図12において、サービスサーバ300a内のリモート録画予約処理部322aは端末装置100からのリモート録画予約要求R2を受信すると、このリモート録画予約要求R2からコントローラ800のサービスサーバ用の被制御機器IDを抽出し、このコントローラ800のサービスサーバ用の被制御機器IDを含むダイレクトアクセス開始要求R29をダイレクトアクセス管理サーバ400aにネットワーク1を介して送信する(図13(S22))。
図13において、ダイレクトアクセス管理サーバ400a内のダイレクトアクセス要求処理部403aは、常時接続セッションを通じてサービスサーバ300aからのダイレクトアクセス開始要求R29を受信すると、このダイレクトアクセス開始要求R29に含まれるコントローラ800のサービスサーバ用の被制御機器IDと、管理ID関連テーブル411及び機器ID関連テーブル412をもとに、コントローラ800に割り当てられた被制御機器管理IDを判定し、このコントローラ800のダイレクトアクセス用URIの取得を要求するダイレクトアクセス情報取得要求R36を常時接続セッションを通じてコントローラ800に送信する(図16(S23))。
図14において、コントローラ800内のダイレクトアクセス情報提供部801は、既にダイレクトアクセス管理サーバ400aのXMPPサーバ404にログインしてダイレクトアクセス管理サーバ400aとの間で双方向の常時接続セッションの設定を完了しているものとする。また、この実施形態では、コントローラ800がルータを通じてネットワーク1に接続されていることとする。
ダイレクトアクセス情報提供部801は、ダイレクトアクセス管理サーバ400aより常時接続セッションを通じてダイレクトアクセス情報取得要求R36を受信すると、ルータにおいてコントローラ800のローカルIPアドレス及びポート番号にマッピングされたグローバルIPアドレスおよびポート番号などからなるダイレクトアクセス用URIを生成して、ダイレクトアクセス情報取得応答R37としてダイレクトアクセス管理サーバ400aに常時接続セッションを通じて送信する(図16(S24))。
図13において、ダイレクトアクセス管理サーバ400a内のダイレクトアクセス要求処理部403aは、コントローラ800より常時接続セッションを通じてダイレクトアクセス情報取得応答R37を受信すると、このダイレクトアクセス情報取得応答R37に含まれるダイレクトアクセス用URIを、ダイレクトアクセス開始要求元であるサービスサーバ300aに、ダイレクトアクセス開始応答R30として送信する(図16(S25))。
図12において、サービスサーバ300a内のリモート録画予約処理部322aは、ダイレクトアクセス管理サーバ400aよりダイレクトアクセス開始応答R30を受信すると、このダイレクトアクセス開始応答R30に含まれるダイレクトアクセス用URIに基づいてコントローラ800にアクセスして、録画予約番組情報D3、録画モード情報を含むリソース状況取得依頼R26を送信する(図16(S26))。
図14において、コントローラ800内のリソース状況取得部802は、サービスサーバ300aからのR26を受信すると、コントローラ800とLAN8を通じて接続された各録画装置200a(200a−1,200a−2)に対してダイレクトアクセス管理サーバ400aに登録済みであるかどうかの問い合わせを行い(図16(S27))、各録画装置200a(200a−1,200a−2)よりそれぞれ、問い合わせに対する応答を受信する(図16(S28))。この例では200a−1と200a−2の2つの録画装置がダイレクトアクセス管理サーバ400aに登録済みであることとする。
コントローラ800内のリソース状況取得部802は、各録画装置200a(200a−1,200a−2)からのダイレクトアクセス管理サーバ400aに登録済みであるかどうかの応答を受信すると、LAN8を介して、それらの録画装置200a(200a−1,200a−2)にリソース状況取得要求R38を送信する(図16(S29))。
図15において、各録画装置200a(200a−1,200a−2)内のリソース状況提供部226aは、コントローラ800よりリソース状況取得要求R38を受信すると、このリソース状況取得要求R38に含まれる録画予約番組情報D3及び録画モード情報、録画予約情報格納部222に格納された録画予約リスト、さらにはコンテンツデータ格納部224の空き容量などをもとに、リソース状況に応じたリモート録画予約の可否を判定し、この判定したリソース状況の情報D7を含むリソース状況取得応答R39をLAN8を通じてコントローラ800に送信する(図16(S30))。
図14において、コントローラ800内のリソース状況取得部802は、LAN8を通じて接続された各録画装置200a(200a−1,200a−2)よりリソース状況取得応答R39をそれぞれ受信すると、それぞれのリソース状況取得応答R39からリソース状況の情報D7を抽出して各録画装置200a(200a−1,200a−2)のリソース状況の一覧D10を作成し(図16(S31))、このリソース状況の一覧D10をリソース状況取得応答R27としてサービスサーバ300aに送信する(図16(S32))。
図12において、サービスサーバ300a内のリモート録画予約処理部322aは、コントローラ800よりリソース状況取得応答R27を受信すると、動作モード情報保持部321に保持していた動作モード情報をもとに動作モードを判断し、この判断した動作モードに応じてリモート録画予約先として適当な録画装置を決定する処理を行うことになるが、これ以後の動作は、図9及び図10に示した第1の実施形態のシーケンスにおけるS7からS15までの動作と同じであるため説明を省く。
以上説明したように、この実施形態によれば、コントローラ800が、端末装置100の制御対象である各録画装置200それぞれのリソース状況に応じたリモート録画予約の可否の情報をLAN8を通じて収集し、これらの各録画装置200のリソース状況の情報の一覧をサービスサーバ300に送信することで、サービスサーバ300において、それぞれの録画装置200のリソース状況の情報をもとにリモート録画予約先として最適な録画装置200を自動選択したり、リモート録画予約要求元の端末装置100がサービスサーバ300からリソース状況の情報を取得して端末装置100にてリモート録画予約先として最適な録画装置200を選択したりすることができる。
次に、本発明の第3の実施形態を説明する。
図17は本発明の第3の実施形態に係るネットワークシステム30の全体の構成を示す図である。
このネットワークシステム30は、端末装置100、録画装置200b(200b−1,200b−2)、サービスサーバ300b、ダイレクトアクセス管理サーバ400b、コントローラ800bで構成され、これらの機器はインターネットなどのネットワーク1を介して相互に通信可能なように接続可能とされ、コントローラ800bと録画装置200b(200b−1,200b−2)はLAN8を介して接続可能とされている。
端末装置100、録画装置200b、サービスサーバ300b、ダイレクトアクセス管理サーバ400b、コントローラ800bのそれぞれのハードウェアの構成は、第1の実施形態と同じであるため説明を省略する。また、端末装置100のソフトウェアの構成は図3に示した第1の実施形態の端末装置と同じであるため説明を省略する。
次に、サービスサーバ300bのソフトウェアの構成を説明する。図18はサービスサーバ300bのソフトウェアの構成を示す図である。同図に示すように、このサービスサーバ300bにおいては、リモート録画予約処理部322bが設けられている。
リモート録画予約処理部322bは、端末装置100から、録画予約番組情報D3、録画モード情報、コントローラ800bのサービスサーバ用の被制御機器IDを含むリモート録画予約要求R2を受信したとき、このリモート録画予約要求R2からコントローラ800bのサービスサーバ用の被制御機器IDを抽出し、この抽出したコントローラ800bのサービスサーバ用の被制御機器IDを含むダイレクトアクセス開始要求R29をダイレクトアクセス管理サーバ400bにネットワーク1を介して送信する。
リモート録画予約処理部322bは、また、ダイレクトアクセス開始要求R29の送信に対してダイレクトアクセス管理サーバ400bよりダイレクトアクセス開始応答R30を受信したとき、このダイレクトアクセス開始応答R30に含まれるダイレクトアクセス用URIに基づいてコントローラ800bにアクセスして、録画予約番組情報D3、録画モード情報を含むリモート録画予約依頼R26を送信する。リモート録画予約処理部322bは、さらに、コントローラ800bよりリモート録画予約結果通知R52を受信し、さらにリモート録画予約結果通知R43を端末装置100に送信する。
次に、ダイレクトアクセス管理サーバ400bのソフトウェアの構成を説明する。図19はダイレクトアクセス管理サーバ400bのソフトウェアの構成を示す図である。第2の実施形態のダイレクトアクセス管理サーバ400aと異なる部分はダイレクトアクセス要求処理部403bである。
ダイレクトアクセス要求処理部403bは、サービスサーバ300bよりコントローラ800bのサービスサーバ用の被制御機器IDを含むダイレクトアクセス開始要求R29を受けたとき、このダイレクトアクセス開始要求R29に含まれるコントローラ800bのサービスサーバ用の被制御機器IDと、管理ID関連テーブル411、さらには機器ID関連テーブル412をもとに、コントローラ800bに割り当てられた被制御機器管理IDを判定し、この判定結果をもとに、コントローラ800bに対して、ネットワーク1を介してコントローラ800bのダイレクトアクセス用URIの取得を要求するダイレクトアクセス情報取得要求R36を常時接続セッションを通じて送信し、そのダイレクトアクセス用URIを含むダイレクトアクセス情報取得応答R37をコントローラ800bより受信して、サービスサーバ300bにそのダイレクトアクセス用URIを含むダイレクトアクセス開始応答R30を送信する。
図20はコントローラ800bのソフトウェアの構成を示す図である。同図に示すように、このコントローラ800bは、ダイレクトアクセス情報提供部801と、リモート録画予約処理部811と、リソース状況取得解析部812とを備えている。
ダイレクトアクセス情報提供部801は、ダイレクトアクセス管理サーバ400bのXMPPサーバ404にログインしてダイレクトアクセス管理サーバ400bとの間で双方向の常時接続セッションを設定する処理を行う。また、ダイレクトアクセス情報提供部801は、常時接続セッションを通じてダイレクトアクセス管理サーバ400bよりダイレクトアクセス情報取得要求R56を受信したとき、コントローラ800bをネットワーク1に接続するルータにおいてコントローラ800bのローカルIPアドレス及びポート番号にマッピングされたグローバルIPアドレスおよびポート番号などからなるダイレクトアクセス用URIを生成し、このダイレクトアクセス用URIを含むダイレクトアクセス情報取得応答R57をダイレクトアクセス管理サーバ400bを送信する。
リモート録画予約処理部811は、サービスサーバ300bからの録画予約番組情報D3及び録画モード情報を含むリモート録画予約依頼R26を受信したとき、リソース状況取得解析部812に対してリソース状況取得要求の送信命令R61を出力する。
リソース状況取得解析部812は、このリソース状況取得要求の送信命令R61を受けると、コントローラ800bとLAN8を通じて接続されている各録画装置200b(200b−1,200b−2)に対して、ダイレクトアクセス管理サーバ400bに登録済みの機器であるかどうかを問い合わせ、登録済みの機器であることの応答を受信した録画装置200bに対して、リモート録画予約依頼R26から抽出した録画予約番組情報D3及び録画モード情報を含むリソース状況取得要求R38をLAN8を通じて送信する。
リソース状況取得解析部812は、LAN8を通じて接続されている各録画装置200b(200b−1,200b−2)よりリソース状況の情報D7を含むリソース状況取得応答R39を受信したとき、このリソース状況取得応答R39からリソース状況の情報D7を抽出して、これらリソース状況の情報D7をまとめた一覧を作成し、このリソース状況の一覧を解析してリモート録画予約先として適当な録画装置200bを選択し、この録画装置200bに、録画予約番組情報D3及び録画モード情報を含むリモート録画予約命令R51をLAN8を介して送信する。
リソース状況取得解析部812は、また、録画装置200bでのリモート録画予約完了後にその録画装置200bよりリモート録画予約結果通知R53をLAN8を介して受信し、リモート録画予約処理部811にリモート録画予約結果通知R62を出力する。リモート録画予約処理部811は、リモート録画予約結果通知R62を受けると、ネットワーク1を介してサービスサーバ300bにリモート録画予約結果通知R52を送信する。
次に、録画装置200bのソフトウェアの構成を説明する。図21は録画装置200bのソフトウェアの構成を示す図である。第2の実施形態の録画装置200aと異なる部分はリモート録画予約処理部221bとリソース状況提供部226bであり、その他の部分は第2の実施形態の録画装置200aと同じである。
リソース状況提供部226bは、コントローラ800bよりLAN8を通じてリソース状況取得要求R38を受信したとき、このリソース状況取得要求R38に含まれる録画予約番組情報D3及び録画モード情報と、コンテンツデータ格納部224の空き容量、録画予約情報格納部222に格納された録画予約リストなどをもとに、リソース状況に応じたリモート録画予約の可否を判定し、この判定したリソース状況の情報D7を含むリソース状況取得応答R39をLAN8を通じてコントローラ800bに送信する。
リモート録画予約処理部221bは、コントローラ800bよりLAN8を通じてリモート録画予約命令R51を受信したとき、このリモート録画予約命令R51に含まれる録画予約番組情報D3及び録画モード情報を録画予約情報格納部222に格納された録画予約リストに登録した後、リモート録画予約の完了を示すリモート録画予約結果通知R52をLAN8を通じてコントローラ800bに送信する。
次に、この実施形態のネットワークシステム30において、端末装置100がサービスサーバ300bが提供するサービスを利用して、録画装置200bに対するリモート録画予約を行う場合の動作を説明する。
図22は、このリモート録画予約の動作シーケンス図である。
まず、端末装置100からネットワーク1を介してサービスサーバ300bに、リモート録画予約の対象であるコンテンツの録画予約番組情報D3、録画モード情報、コントローラ800bのサービスサーバ用の被制御機器IDを含むリモート録画予約要求R2が送信される(図22(S41))。なお、この実施形態では、リモート録画予約要求R2の中に動作モード情報は含まれない。
図18において、サービスサーバ300b内のリモート録画予約処理部322bはリモート録画予約要求R2を受信すると、このリモート録画予約要求R2からコントローラ800bのサービスサーバ用の被制御機器IDを抽出し、抽出したコントローラ800bのサービスサーバ用の被制御機器IDを含むダイレクトアクセス開始要求R29をダイレクトアクセス管理サーバ400bにネットワーク1を介して送信する(図22(S42))。
図19において、ダイレクトアクセス管理サーバ400b内のダイレクトアクセス要求処理部403bは、常時接続セッションを通じてサービスサーバ300bからのダイレクトアクセス開始要求R29を受信すると、このダイレクトアクセス開始要求R29に含まれるコントローラ800bのサービスサーバ用の被制御機器IDと、管理ID関連テーブル411、さらには機器ID関連テーブル412をもとに、コントローラ800bに割り当てられた被制御機器管理IDを判定し、この判定結果をもとに、コントローラ800bに対して、ネットワーク1を介してコントローラ800bのダイレクトアクセス用URIの取得を要求するダイレクトアクセス情報取得要求R36を常時接続セッションを通じて送信する(図22(S43))。
図20において、コントローラ800b内のダイレクトアクセス情報提供部801は、既にダイレクトアクセス管理サーバ400bのXMPPサーバ404にログインしてダイレクトアクセス管理サーバ400bとの間で双方向の常時接続セッションの設定を完了しているものとする。また、この実施形態では、コントローラ800bがルータを通じてネットワーク1に接続されていることとする。ダイレクトアクセス情報提供部801は、ダイレクトアクセス管理サーバ400bより常時接続セッションを通じてダイレクトアクセス情報取得要求R36を受信すると、ルータにおいてコントローラ800bのローカルIPアドレス及びポート番号にマッピングされたグローバルIPアドレスおよびポート番号などからなるダイレクトアクセス用URIを生成して、ダイレクトアクセス情報取得応答R37としてダイレクトアクセス管理サーバ400bに常時接続セッションを通じて送信する(図22(S44))。
図19において、ダイレクトアクセス管理サーバ400b内のダイレクトアクセス要求処理部403bは、コントローラ800bより常時接続セッションを通じてダイレクトアクセス情報取得応答R37を受信すると、このダイレクトアクセス情報取得応答R37に含まれるダイレクトアクセス用URIを、ダイレクトアクセス開始要求元であるサービスサーバ300bにダイレクトアクセス開始応答R30として送信する(図22(S45))。
図18において、サービスサーバ300b内のリモート録画予約処理部322bは、ダイレクトアクセス管理サーバ400bよりダイレクトアクセス開始応答R30を受信すると、このダイレクトアクセス開始応答R30に含まれるダイレクトアクセス用URIに基づいてコントローラ800bにアクセスして、録画予約番組情報D3及び録画モード情報を含むリモート録画予約依頼R26を送信する(図22(S46))。
図20において、コントローラ800b内のリモート録画予約処理部811は、サービスサーバ300bからのリモート録画予約依頼R26を受信すると、コントローラ800a内のリソース状況取得解析部812に対してリソース状況取得要求の送信命令R61を出力する。リソース状況取得解析部812は、このリソース状況取得要求の送信命令R61を受けると、コントローラ800bとLAN8を通じて接続された各録画装置200b(200b−1,200b−2)に対してダイレクトアクセス管理サーバ400bに登録済みであるかどうかの問い合わせを行い(図22(S47))、各録画装置200b(200b−1,200b−2)よりそれぞれ、問い合わせに対する応答を受信する(図22(S48))。この例では200b−1と200b−2の2つの録画装置がダイレクトアクセス管理サーバ400bに登録済みであるとする。
図20において、コントローラ800b内のリソース状況取得解析部812は、各録画装置200b(200b−1,200b−2)からのダイレクトアクセス管理サーバ400aに登録済みであるかどうかの応答を受信すると、ダイレクトアクセス管理サーバ400bに登録済みの録画装置200b(200b−1,200b−2)に対してリソース状況取得要求R38をLAN8を介して送信する(図22(S49))。
図21において、各録画装置200b(200b−1,200b−2)内のリソース状況提供部226bは、コントローラ800bよりリソース状況取得要求R38を受信すると、このリソース状況取得要求R38に含まれる録画予約番組情報D3及び録画モード情報と、コンテンツデータ格納部224の空き容量、録画予約情報格納部222に格納された録画予約リストなどをもとに、リソース状況に応じたリモート録画予約の可否を判定し、この判定したリソース状況の情報D7を含むリソース状況取得応答R39をLAN8を通じてコントローラ800bに送信する(図22(S50))。
図20において、コントローラ800b内のリソース状況取得解析部812は、LAN8を通じて接続された各録画装置200b(200b−1,200b−2)よりリソース状況取得応答R39をそれぞれ受信すると、それぞれのリソース状況取得応答R39からリソース状況の情報D7を抽出し、これらリソース状況の情報D7をまとめた一覧を作成し(図22(S51))、このリソース状況の一覧を解析してリモート録画予約先として適当な録画装置200b(仮に録画装置200b−2とする)を選択し(図22(S52))、この録画装置200b−2へ録画予約番組情報D3及び録画モード情報を含むリモート録画予約命令R51をLAN8を介して送信する(図22(S53))。
図21において、録画装置200b−2内のリモート録画予約処理部221bは、コントローラ800bよりLAN8を通じてリモート録画予約命令R51を受信すると、このリモート録画予約命令R51に含まれる録画予約番組情報D3及び録画モード情報を録画予約情報格納部222に格納された録画予約リストに登録した後、リモート録画予約の完了を示すリモート録画予約結果通知R53をLAN8を通じてコントローラ800bに送信する(図22(S54))。
図20において、コントローラ800b内のリソース状況取得解析部812は、録画装置200b−2からのリモート録画予約結果通知R53を受信すると、コントローラ800b内のリモート録画予約処理部811にリモート録画予約結果通知R62を出力する。リモート録画予約処理部811は、リモート録画予約結果通知R62を受けると、リモート録画予約結果通知R52をネットワーク1を介してサービスサーバ300bに送信する(図22(S55))。
図18において、サービスサーバ300b内のリモート録画予約処理部322bは、コントローラ800bよりリモート録画予約結果通知R52を受信すると、リモート録画予約要求元である端末装置100にリモート録画予約結果通知R43をネットワーク1を介して送信する(図22(S56))。
以上説明したように、この実施形態によれば、コントローラ800bが、端末装置100の制御対象である各録画装置200それぞれのリソース状況に応じたリモート録画予約の可否の情報をLAN8を通じて収集し、これらの各録画装置200のリソース状況の情報の一覧を解析してリモート録画予約先として最適な録画装置200を自動選択することができる。
次に、上記の実施形態の変形例を説明する。
上記の第1の実施形態のネットワークシステム10では、サービスサーバ300がダイレクトアクセス管理サーバ400より取得したリモート録画予約先の録画装置200のダイレクトアクセス用URIをもとに録画装置200に対してリモート録画予約命令R11を送信することとしたが、端末装置100がサービスサーバ300よりリモート録画予約先の録画装置200のダイレクトアクセス用URIを取得し、端末装置100から録画装置200にリモート録画予約命令R11を送信するようにしてもよい。
また、上記の第1の実施形態では、サービスサーバ300とダイレクトアクセス管理サーバ400を別々のサーバ装置で実現することとしたが、一台のサーバ装置に、サービスサーバ300のソフトウェアとダイレクトアクセス管理サーバ400のソフトウェアを組み込むことで、サービスサーバ300とダイレクトアクセス管理サーバ400を一つのサーバに統合するようにしてもよい。
本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々更新を加え得ることは勿論である。