説明

コントローラ及びそのプログラム

【課題】コントローラがサーバから定期的な生存を通知するパケットを受信できない場合に、確実にコンテンツを送信可能なサーバ情報を表示できるコントローラを提供すること。
【解決手段】コントローラ100がサーバ200から定期的な生存通知パケットを受信しない場合であっても、コントローラ100は、サーバコンテンツ送信可能判断手段を用いて、サーバ200が実際にコンテンツを送信可能な状態であるか否かを判断する。サーバ200がコンテンツ送信可能であると判断された場合、サーバ200が生存していると判断できるので、誤ってコンテンツを送信可能なサーバ200をサーバリストから削除等し、使用不可能状態にしてしまうことを防止できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークAVシステムに関し、さらに詳しくは、コンテンツファイルを蓄積するサーバと、ネットワーク内のサーバリストを保持するネットワークコントローラとを備えるネットワークAVシステムに関する。
【背景技術】
【0002】
近年、ホームネットワーク内に、複数のコンテンツ(たとえば音楽、写真、ビデオなど)を保存したサーバと、再生機能を持つレンダラと、サーバ及びレンダラを制御するコントローラとを設置し、ユーザがコントローラを操作してレンダラがサーバのコンテンツを再生する、ネットワークAVシステムが一般化している。コントローラは、ネットワーク内のサーバ一覧情報であるサーバリストを表示し、また、サーバ内のコンテンツ情報を取得して表示する。ユーザがコントローラを操作してサーバのコンテンツ、及びレンダラを指定すると、コントローラは指定されたレンダラに対し、指定されたサーバのコンテンツをストリーミング再生するように指示する。この結果、レンダラでサーバのコンテンツが再生される。
【0003】
コントローラは定期的にサーバが送信する、生存を示す通知パケット(以下、生存通知パケットという。)を受信したか否かによってサーバが利用可能な状態であるか否かを判断し、サーバリストを更新する。しかし、コントローラは、サーバの種類によっては定期的に生存通知パケットを送信しないサーバが存在すること、ルータの設定、あるいは生存通知パケットの送受信に用いるポートが閉じられている等の原因によって、サーバから生存通知パケットを正常に受信できない場合がある。その場合、コントローラは、実際はサーバが利用可能な状態であっても、生存通知パケットが受信できないので、サーバを利用不可能と判断し、サーバリストから当該サーバの情報を削除、またはグレーアウト表示等にすることでユーザが使用不可能な状態にする。その結果、ユーザはコンテンツ送信が可能なサーバを利用することができなくなる。
【0004】
特開2009−182667号公報には、生存状態を通知するサーバは、自機器が生存していることをネットワーク上のクライアントに通知するために定期的にコマンドを送出するが、UPnPとは異なるネットワーク上に存在するサーバは生存状態をクライアントに通知することができず、中継機器の生存情報のみしか通知できないことを解決する手段を記載している。
【0005】
特開平9−44436号公報には、アドレスを割り当てたクライアントが生存しているかどうかを、一定時間間隔で生存確認パケットを送信することで確認し、クライアントが応答しない場合は、そのクライアントのエントリをネットワークアドレス・ホスト対応表から削除することを記載している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−182667号公報
【特許文献2】特開平9−44436号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は上記従来の課題を解決するためになされたものであり、その目的は、コントローラがサーバから定期的な生存通知パケットを受信できない場合であっても、確実にコンテンツ送信が可能なサーバをサーバリストに表示できるコントローラを提供することである。
【課題を解決するための手段】
【0008】
本発明の好ましい実施形態によるコントローラは、ネットワーク経由でサーバに接続可能であり、ネットワーク上で生存しているサーバを検索し、検索された前記サーバの情報の一覧であるサーバリストを生成し、表示装置に表示させるコントローラであって、
前記サーバリストに登録されているサーバに関して、前記サーバから定期的に送信される生存通知パケットの有無を監視し、前記生存通知パケットを既定時間内に受信できたか否かを判断する、生存通知パケット監視手段と、
前記生存通知パケット監視手段が、前記生存通知パケットを既定時間内に受信できなかったと判断した場合、前記サーバがコンテンツを送信可能か否かを判断する、サーバコンテンツ送信可能判断手段と、
前記サーバがコンテンツを送信可能であると判断された場合に前記サーバリストを更新せず、前記サーバがコンテンツを送信不可能であると判断された場合に前記サーバリストにおいて前記サーバを使用不可能状態に更新するサーバリスト更新手段とを備える。
【0009】
コントローラがサーバから定期的な生存通知パケットを受信しない場合であっても、コントローラは、サーバコンテンツ送信可能判断手段を用いて、サーバが実際にコンテンツを送信可能な状態であるか否かを判断する。サーバがコンテンツ送信可能であると判断された場合、サーバが生存していると判断できるので、誤ってコンテンツを送信可能なサーバをサーバリストから削除等し、使用不可能状態にしてしまうことを防止できる。
【0010】
好ましい実施形態においては、前記サーバコンテンツ送信可能判断手段が、前記サーバへサーチコマンドを送信し、前記サーバからサーチコマンドに対する応答を受信したか否かを判断し、前記サーバから応答を受信した場合は前記サーバがコンテンツを送信可能であると判断し、前記サーバから応答を受信しなかった場合はコンテンツ送信不可能であると判断する。
【0011】
コントローラは、サーバから定期的な生存通知コマンドを受信できない場合に、サーバにサーチコマンドを送信し、サーバから応答を受信できたか否かを判断することで、そのサーバがコンテンツを送信可能なサーバであるか否かを判断することができる。
【0012】
本発明の別の好ましい実施形態によるコントローラは、前記サーバコンテンツ送信可能判断手段が、前記サーバへサーチコマンドを送信し、前記サーバから前記サーチコマンドに対する応答を受信したか否かを判断し、前記サーバから応答を受信した場合は前記サーバがコンテンツを送信可能であると判断し、前記サーバから応答を受信しなかった場合は、さらに前記サーバからデータを取得するためのデータ取得コマンドを前記サーバへ送信し、前記サーバからデータを受信できた場合は前記サーバがコンテンツを送信可能であると判断し、応答を受信できない場合はサーバがコンテンツを送信不可能であると判断する。
【0013】
コントローラは、さらにデータ取得コマンドをサーバに送信し、サーバから応答を受信できたか否かを判断するので、コンテンツを送信可能なサーバであるか否かをより確実に判断することが可能となる。
【0014】
本発明の別の好ましい実施形態によるコントローラは、前記サーチコマンド及び前記データ取得コマンドを前記サーバへ送信し、それらのコマンドに対する応答を前記サーバから受信したか否かをサーバ応答履歴として管理する、サーバ応答履歴管理手段をさらに備え、
前記サーバコンテンツ送信可能判断手段が、前記サーバ応答履歴に基づいて前記サーバが前記サーチコマンドに応答する確率PAを算出し、前記確率PAが第1基準値以上であるか否かを判断し、第1基準値以上であれば前記サーバがコンテンツを送信可能であると判断し、前記確率PAが第1基準値未満であり、かつ第2基準値以上であると判断した場合、前記サーバへ前記サーチコマンドを送信し、前記サーバから応答を受信できた場合は前記サーバがコンテンツを送信可能であると判断し、前記サーバから応答を受信しなかった場合、または前記確率PAが第2基準値未満であると判断した場合は、前記サーバ応答履歴に基づいて前記サーバが前記データ取得コマンドに応答する確率PBを算出し、前記確率PBが第3基準値以上であると判断した場合は前記サーバがコンテンツを送信可能であると判断し、前記確率PBが第3基準値未満かつ第4基準値以上であると判断した場合は、前記サーバへ前記データ取得コマンドを送信し、応答を受信した場合は前記サーバがコンテンツを送信可能と判断し、前記サーバから応答を受信しなかった場合、または前記確率PBが第4基準値未満であると判断した場合は前記サーバがコンテンツを送信不可能であると判断する。
【0015】
コントローラがサーバ応答履歴からサーバが確実にコンテンツを送信可能である、またはコンテンツを送信不可能であると判断できる場合、コントローラはサーバと通信せずにサーバがコンテンツ送信可能か否かを判断するので、無駄な通信を削減できる。
【0016】
本発明の別の好ましい実施形態によるコントローラは、前記サーチコマンド及び前記データ取得コマンドを前記サーバへ送信し、それらのコマンドに対する応答を前記サーバから受信したか否かをサーバ応答履歴として管理する、サーバ応答履歴管理手段をさらに備え、
前記サーバコンテンツ送信可能判断手段が、前記サーバ応答履歴に基づいて前記サーバが前記サーチコマンドに応答する確率PAを算出し、前記確率PAが第5基準値以上であるか否かを判断し、第5基準値以上であれば前記サーバがコンテンツを送信可能であると判断し、前記確率PAが第5基準値未満であると判断した場合、前記サーバ応答履歴に基づいて前記サーバが前記データ取得コマンドに応答する確率PBを算出し、前記確率PBが第6基準値以上であるか否かを判断し、前記確率PBが第6基準値以上であれば、前記サーバがコンテンツを送信可能であると判断し、第6基準値未満であると判断した場合に前記サーバがコンテンツを送信不可能であると判断する。
【0017】
コントローラはサーバとの通信をせずにサーバがコンテンツを送信可能か否かを判断できるのでコントローラの処理が高速化し、また、ネットワーク通信の負荷を減らすことが可能となる。
【0018】
本発明の別の好ましい実施形態によるコントローラは、前記サーチコマンド及び前記データ取得コマンドを前記サーバへ送信し、それらのコマンドに対する応答を前記サーバから受信したか否かをサーバ応答履歴として管理する、サーバ応答履歴管理手段をさらに備え、
前記サーバコンテンツ送信可能判断手段が、前記サーバ応答履歴に基づいて前記サーバが前記データ取得コマンドに応答する確率PBを算出し、前記確率PBが第7基準値以上であるか否かを判断し、第7基準値以上であれば前記サーバがコンテンツを送信可能であると判断し、前記確率PBが第7基準値未満であると判断した場合、前記サーバ応答履歴に基づいて前記サーバが前記データ取得コマンドに応答する確率PAを算出し、前記確率PAが第8基準値以上であるか否かを判断し、前記確率PAが第8基準値以上であれば、前記サーバがコンテンツを送信可能であると判断し、第8基準値未満であると判断した場合に前記サーバがコンテンツを送信不可能であると判断する。
【0019】
一般的に、ユーザにとってサーバが利用可能であることは、サーバのコンテンツデータを取得できることと等価であるので、データが実際に取得できることを示す確率を先に評価することで、サーバがコンテンツを実際に送信可能であることをより確実に判断することができる
【発明の効果】
【0020】
コントローラがサーバから定期的な生存通知パケットを受信できない場合に、確実にコンテンツ送信を可能なサーバをサーバリストに表示するコントローラを提供することができる。
【図面の簡単な説明】
【0021】
【図1】本発明の好ましい実施形態によるネットワークAVシステムの構成図である。
【図2】本発明の好ましい実施形態によるコントローラの構成を示すブロック図である。
【図3】本発明の好ましい実施形態によるサーバ装置の機器を示すブロック図である。
【図4】コントローラが保持している、サーバリストである。
【図5】制御部11の処理を説明するフローチャートである。
【図6】サーバコンテンツ送信可能判定部の処理を説明するフローチャートである。
【図7】サーバコンテンツ送信可能判定部の処理を説明するフローチャートである。
【図8】サーバ応答履歴情報を管理するテーブルである。
【図9】コマンド応答パラメータ更新処理を説明するフローチャートである。
【図10】サーバコンテンツ送信可能判定部の処理を説明するフローチャートである。
【図11】サーバコンテンツ送信可能判定部の処理を説明するフローチャートである。
【図12】サーバコンテンツ送信可能判定部の処理を説明するフローチャートである。
【発明を実施するための形態】
【0022】
以下、本発明の好ましい実施形態によるコントローラについて、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。図1は、本発明の好ましい実施形態によるネットワークAVシステムの構成図である。コントローラ100は、LAN等の任意のネットワークを介して複数のサーバ200(本例では200A,200B,200C)及びレンダラ300と接続可能である。
【0023】
コントローラ100は、ネットワーク上のサーバ200を検索し、サーバ200A,200B,200Cを一覧で示したサーバリストを表示する。さらに、コントローラ100は、ネットワーク上のレンダラ300を検索し、レンダラ300の存在を認識する。また、コントローラ100はサーバ200内のコンテンツ情報を取得して表示する。ユーザがコントローラ100を操作し、サーバ200内のコンテンツとレンダラ300を指定すると、コントローラ100はレンダラ300に対し、サーバ200のコンテンツのURLを送信する。レンダラ300はコントローラ100から受信したサーバ200のコンテンツのURLにアクセスし、コンテンツデータを取得して再生する。なお、コンテンツとは、音楽データ、静止画データ、動画データなどのデジタルデータである。
【0024】
図2は、本発明の好ましい実施形態によるコントローラの構成を示すブロック図である。コントローラ100は、制御部11、記憶部12、入力部13、表示部14、及び通信部15を備える。制御部11は、記憶部12に格納されている動作プログラム12Cに基づいてコントローラ100を制御するものであり、たとえばマイコンやCPU等である。制御部11は、サーバ生存確認部11Aと、サーバコンテンツ送信可能判定部11Bと、サーバ応答履歴管理部11Cと、サーバリスト更新部11Dとを含む。サーバ生存確認部11Aは、コントローラ100が管理しているサーバ200から、生存通知パケットを受信できているか否かを判断する。サーバコンテンツ送信可能判定部11Bは、サーバ200から生存通知パケットを受信できない場合、1以上のコマンドをサーバ200に送信し、サーバ200が実際にコンテンツ送信可能であるかを判断する。サーバ応答履歴管理部11Cは、コントローラ100からサーバ200の応答を確認するコマンドをサーバ200に送信後、そのコマンドに対してサーバ200からの応答を受信したか否かを判断し、その結果に応じてサーバ応答履歴12Bを更新する。サーバリスト更新部11Dは、サーバコンテンツ送信可能判定部11Bの判定結果をもとに、サーバリスト12Aを更新する。なお、生存とは、機器の電源が入っており、機器のプログラムが動作しており、他機器からの通信コマンドに応答できる状態である。
【0025】
入力部13は、ユーザから入力された指示を受け付ける。入力部13は、たとえばリモコンや、コントローラ100上に配置されたボタンによる入力を受け付ける。入力された指示は、制御部11で解釈され、実行される。
【0026】
表示部14は、LCDやFL等である。表示部14は、サーバリストや各々のサーバ200が保存しているコンテンツの階層情報、コンテンツのリスト情報、コンテンツファイル情報、及びレンダラ300がサーバ200からのコンテンツを再生中はレンダラから定期的に通知されるコンテンツ情報(たとえば、アーティスト名や、楽曲タイトル、再生時間)等を表示する。
【0027】
通信部15は、ネットワークを介してサーバ200との通信処理を実行する。通信部15はコントローラ100からデータをサーバ200に送信し、かつサーバ200からデータを受信する。なお、コントローラ100が送信するコマンドの生成処理や、サーバ200から受信したデータの解析処理は制御部11によって実行される。
【0028】
記憶部12は、サーバリスト12A、サーバ応答履歴12B、コントローラ100の動作プログラム12Cを記憶する。記憶部12は、RAM,フラッシュメモリ等である。
【0029】
図3は、本発明の好ましい実施形態によるサーバ200(200A〜200C)を示すブロック図である。サーバ200は、HDD(Hard Disk Drive)21、通信部22、制御部23、及び記憶部24(ROM、RAM等)を備える。
【0030】
HDD21は、コンテンツやコンテンツ情報DB(データベース)、サーバ200の動作プログラムを記憶している。
【0031】
通信部22は、ネットワークを介してコントローラ100との通信処理を実行する。通信部22は、コントローラ100からのデータを受信し、かつサーバ200からコントローラ100へデータを送信する。なお、コントローラ100へ送信するコマンドの生成処理や、コントローラ100から受信したデータの解析処理は制御部23によって実行される。
【0032】
制御部23は、記憶部24に格納されている動作プログラム21に基づいてサーバ200を制御するものであり、たとえばマイコンやCPU等である。
【0033】
図4は、コントローラ100が保持している、サーバリスト12Aである。サーバリスト12Aは、コントローラ100がネットワーク上に生存しているサーバ200を登録し、管理するテーブルである。このサーバリスト12Aに基づき、コントローラ100の表示部14にサーバリストが表示される。サーバリスト12Aは、サーバ200を一意に特定するサーバ識別番号とサーバ名等を含む。サーバリスト12Aは、サーバ200の種類及びサーバ200の製造者等の情報を含んでいてもよい。
【0034】
ここでサーバリスト12Aを生成する処理について説明する。サーバ200は起動するときに、ネットワーク上に生存通知パケットをブロードキャストにより送信する。生存通知パケットとは、機器が生存していることを通知するパケットである。生存通知パケットは、サーバ200のIPアドレスを含んでいる。コントローラ100は、生存通知パケットを受信すると、新たなサーバ200がネットワークに参加したことを判断する。さらにサーバ200の詳細情報を取得する場合は、コントローラ100は生存通知パケットに含まれるサーバ200のIPアドレスを用い、サーバ200に、サーバ200の詳細情報を送信要求する。詳細情報とは、たとえばサーバ200の種類、サーバ名、及びサーバ200の製造者などである。この情報を元に、コントローラ100はサーバリスト12Aを作成する。サーバリスト12Aのサーバ識別番号とは、サーバ200に固有な識別子であり、サーバ間で重複しない番号である。サーバリスト12Aのサーバ名とは、サーバ200の名前である。サーバ名は自由に変更可能であり、重複する可能性がある。よって、ネットワーク上のサーバ200を一意に特定する場合は、サーバ識別番号が用いられる。また、コントローラ100が起動するときは、コントローラ100から、ネットワーク上で生存しているサーバ200に生存していることを通知させるサーチコマンドを送信する。コントローラ100は、サーチコマンドに応答したサーバ200の情報を、サーバリスト12Aに登録する。たとえば、生存通知パケットにはUPnP(Universal Plug and Play)プロトコルのaliveパケットが利用され、サーチコマンドにはUPnPプロトコルのM−Searchが利用される。
【0035】
サーバ200は、自機器が生存していることをコントローラ100に通知するために、定期的に生存通知パケットをブロードキャストで送信する。コントローラ100はこの生存通知パケットを受信した場合、サーバリスト12Aにおいてサーバ200を使用不可能状態にしない。使用不可能状態にするとは、サーバリスト12Aにおいてサーバ200がネットワーク内で生存していない状態に更新することである。サーバリスト12Aからサーバ200を削除する、またはサーバ200が生存していないことを示すフラグをサーバリスト12Aに設定する等の更新が実行される。なお、サーバリスト12Aでサーバ200が使用不可能状態である場合、表示部14にはサーバ200が表示されない、またはサーバ200をグレーアウト等することでサーバ200を実質的に選択不可能な状態で表示される、またはサーバ200を使用できないことを示す情報を付加して表示される。
【0036】
サーバ200の生存通知パケット送信処理が不完全である、ルータの設定が変更された、または生存通知パケットを受信するポートが閉じられている等の原因により生存通知パケットを受信できない場合、コントローラ100は生存通知パケットを受信できないサーバ200をサーバリスト12Aにおいて使用不可能状態にする。この結果、ユーザはコントローラ100の表示部からサーバ200を選択不可能となり、レンダラ300においてサーバ200のコンテンツを再生することができなくなる。
【0037】
以下、本発明の動作を説明する。図5は、コントローラ100の制御部11がサーバリスト12Aを更新するフローチャートである。
【0038】
制御部11は、生存通知パケットをサーバ200から受信できているかを監視するタイマ(以後、生存パケット監視タイマ)のカウントを開始する。生存パケット監視タイマは、コントローラ100が起動した後、サーバ200からの生存通知パケットを初めて受信した直後から開始される(S11)。なお、サーバ200からの生存通知パケットの監視はサーバリスト12Aに登録されているサーバすべてに対して実行される。本例では、説明を簡略化するため、一つのサーバ200に対する処理のみを記載する。
【0039】
制御部11は、サーバ200からの生存通知パケットを受信したか否かを判断する(S12)。受信したと判断されると(S12でYES)、生存パケット監視タイマのタイマ値を0にリセットする(S13)。そして、生存通知パケットの監視を継続する(S12)。
【0040】
制御部11は、生存通知パケットを受信していないと判断すると(S12でNO)、タイマ値が既定値を超えたか否かを判断する(S14)。タイマの既定値は、たとえば15分であり、サーバ200は生存期間中、既定値以内に最低一回生存通知パケットを送信しなくてはならない。タイマ値が既定値を超えていないと判断された場合(S14でNO)、継続して生存通知パケットの受信が監視される(S12)。
【0041】
タイマ値が既定値を超えたと判断された場合(S14でYES)、制御部11のサーバコンテンツ送信可能判定部11Bは、サーバ200がコンテンツ送信可能な状態であるか否かを判断する処理(以下、サーバコンテンツ送信可能判断処理という。)(S15)を実行する。
【0042】
サーバコンテンツ送信可能判断処理によってサーバ200がコンテンツ送信可能であると判断された場合(S16でYES)、生存パケット監視タイマの値をリセットし(S13)、継続して生存通知パケットが監視される(S12)。サーバコンテンツ送信可能判断処理によってサーバ200がコンテンツ送信可能であると判断された場合は、サーバ200から生存通知パケットを受信できない状態であるが、コントローラ100はサーバ200のコンテンツを受信できる状態であると判断できるので、サーバリスト12Aにおいてサーバ200を使用不可能状態にしない。
【0043】
サーバコンテンツ送信可能判断処理によってサーバ200がコンテンツ送信可能でないと判断された場合(S16でNO)、制御部11のサーバリスト更新部11Dは、サーバリスト12Aにおいてサーバ200を使用不可能状態に更新する。
【0044】
次に、サーバコンテンツ送信可能判断処理(S15)について説明する。
【0045】
[サーバコンテンツ送信可能判断処理の実施形態1]
図6は、サーバコンテンツ送信可能判断処理の第1実施形態を説明するフローチャートである。制御部11は、サーバ200へ生存を確認するコマンドを送信する(S21)。生存を確認するコマンドは、たとえば上述のサーチコマンドである。
【0046】
制御部11は、サーチコマンドに対してサーバ200から応答を受信したか否かを判断し(S22)、応答を受信したと判断された場合(S22でYES)、サーバ200がコンテンツ送信可能な状態であると判断し(S23)、処理を終了する。
【0047】
サーチコマンドに対してサーバ200から応答を受信しないと判断された場合(S22でNO)、サーバ200がコンテンツ送信不可能であると判断(S24)し、処理を終了する。以上のように、サーバ200からの生存通知パケットを受信できない場合に、コントローラ100から自発的にサーバ200にサーチコマンドを送信し、サーバ200からの応答有無を判断することで、より確実にサーバ200の生存状態を把握することができる。
【0048】
[サーバコンテンツ送信可能判断処理の実施形態2]
図7は、サーバコンテンツ送信可能判断処理の第2実施形態を説明するフローチャートであり、図6と同一の処理には同一符号を付し、説明を省略する。本実施形態では、コントローラ100が、サーバコンテンツ送信可能判断処理の実施形態1を採用するよりもさらに確実にサーバ200がコンテンツ送信可能な状態であるかを判断することができる。
【0049】
制御部11は、S12でNOと判断されたとき、サーバ200へデータ取得コマンドを送信する(S34)。データとは、たとえばサーバ200の詳細情報(サーバ名、サーバの種類、サーバの製造者等)、サーバ200が保持するコンテンツフォルダのプロパティ情報、サーバ200が保持するコンテンツフォルダの階層情報、コンテンツファイルの情報、またはコンテンツファイルデータ自体などであり、サーバ200が保持する情報に関するものであれば、その種類や内容は限定されない。なお、サーバ200から受信したこれらのデータは、実際に利用するものではないので、受信後、すぐに破棄してよい。
【0050】
制御部11は、サーバ200からのデータを受信したかを判断し(S35)、データを受信したと判断された場合(S35でYES)、サーバ200がコンテンツ送信可能であると判断する(S33)。データを受信できなかったと判断された場合(S35でNO)、制御部11はサーバ200がコンテンツ送信不可能であると判断する(S36)。
【0051】
[サーバコンテンツ送信可能判断処理の実施形態3]
次に、サーバ応答履歴12Bを利用したサーバコンテンツ送信可能判断処理を説明する。まず、第3、第4、第5の実施形態で用いる、サーバ応答履歴12Bを更新する処理を説明する。
【0052】
図8はサーバ応答履歴12Bの一例である。サーバ応答履歴12Bは、コントローラ100がサーバ200へ送信したサーチコマンドやデータ取得コマンドに対して、コントローラ100がサーバ200から応答を受信したか否かの回数を管理するテーブルである。これらの回数をサーバ識別番号に対応付けて管理している。また、サーバ200から生存通知パケットを受信できなくなった場合でもサーバ200の情報はサーバ応答履歴12Bから消去されない。よって、本テーブルはコントローラ100の電源を切っても消去されない領域(たとえばROMやフラッシュメモリ)に保存される。サーバ応答履歴12Bでは、コントローラ100がサーチコマンドをサーバ200に送信した回数L0と、サーバ200がサーチコマンドに応答しなかった回数L1と、サーバ200がサーチコマンドに応答せず、かつ、データ取得コマンドに応答した回数L2とを保持する。また、L0、L1、L2の値は、コントローラ100が初期出荷されるときにすべて0に初期化されているとする。
【0053】
図9は、サーバ応答履歴管理部11Cがサーバ応答履歴12BのデータL0、L1,L2を更新する処理を説明するフローチャートであり、図5と同一の処理には同一符号を付し、説明を省略する。なお、本処理は、図5のフローチャートの処理と並列的に実行されるものである。また、コントローラ100はサーバリスト12Aで管理しているすべてのサーバについて本処理を実行する。
【0054】
制御部11は、S14でYESと判断された場合、サーバ200へサーチコマンドを送信する(S45)。
【0055】
サーバ応答履歴管理部11Cは、サーチコマンドを送信した回数L0をインクリメントする(S46)。そして、制御部11は、サーバ200からサーチコマンドに対する応答を受信したか否かを判断し(S47)、応答を受信したと判断された場合(S47でYES)、生存パケット監視タイマの値をリセットする(S13)。
【0056】
サーチコマンドに対してサーバ200から応答を受信しなかったと判断された場合(S47でNO)、サーバ応答履歴管理部11Cはサーチコマンドに応答しなかった回数L1をインクリメントする(S48)。
【0057】
制御部11は、サーバ200へデータ取得コマンドを送信し(S49)、サーバ200から応答があったか否かを判断する(S50)。サーバ200からの応答がなかったと判断された場合(S50でNO)、生存パケット監視タイマの値をリセットする(S13)。サーバ200からの応答があったと判断された場合(S50でYES)、データ取得コマンドにサーバ200が応答した回数L2をインクリメントする(S51)。そして、生存パケット監視タイマの値をリセットし(S13)、サーバ応答履歴を更新し続ける(S12)。
【0058】
図10は、サーバ応答履歴12Bを利用したサーバコンテンツ送信可能判断処理のフローチャートである。
【0059】
制御部11は、コントローラ100がサーチコマンドをサーバ200に送信した回数L0が第0基準値以上であるか否かを判断する(S61)。第0基準値とは、たとえば300回であり、履歴として十分信用可能な値であればよい。
【0060】
L0の大きさが第0基準値以上でないと判断された場合(S61でNO)、図7及び図9のS45以降の処理を継続する。
【0061】
L0の大きさが第0基準値以上であると判断された場合(S61でYES)、コントローラ100からのサーチコマンドにサーバ200が応答する確率PAを計算する(S63)。確率PAは次式で示される。
【0062】
PA = {(L0−L1)÷L0}× 100
【0063】
制御部11は、PAが第1基準値以上であるかを判断する(S64)。第1基準値とは、たとえば90であり、100に近いほどサーバ200が生存していることを確実に判断できる。
【0064】
制御部11によって、PAが第1基準値以上であると判断された場合(S64でYES)、サーバ200がコンテンツ送信可能と判断され(S76)、処理を終了する。
【0065】
PAが第1基準値以上でないと判断された場合(S64でNO)、制御部11は、PAが第2基準値以下であるか否かを判断する(S65)。第2基準値は、たとえば10であり、0に近いほどサーバ200が生存していないことを確実に判断可能である。PAが第2基準回数以下であると判断された場合(S65でYES)、S70の処理を行う。S70の処理の詳細は後述する。
【0066】
PAが第2基準値以下でないと判断された場合(S65でNO)、制御部11は、サーバ200へサーチコマンドを送信し(S66)、L0をインクリメントする(S67)。
【0067】
制御部11は、サーバ200からサーチコマンドに対する応答があったか否かを判断し(S68)、応答があったと判断された場合(S68でYES)、サーバ200はコンテンツ送信可能であると判断し(S76)、処理を終了する。応答がなかったと判断された場合(S68でNO)、制御部11はL1をインクリメントする(S69)。
【0068】
S70において制御部11は、サーバ200がコントローラ100から受信したデータ取得コマンドに応答する確率PBを計算する(S70)。PBは次式で示される。
【0069】
PB = (L2 ÷ L1)× 100
【0070】
制御部11は、PBが第3基準値以上であるか否かを判断する(S71)。第3基準値は第1基準値と同一でもよいし、異なった値でもよい。たとえば90である。
【0071】
PBが第3基準値以上であると判断された場合(S71でYES)、サーバ200がコンテンツ送信可能と判断され(S76)、処理を終了する。
【0072】
PBが第3基準値以上でないと判断された場合(S71でNO)、制御部11は、PBが第4基準値以下であるか否かを判断する(S72)。第4基準値は第2基準値と同一でもよいし、異なった値でもよい。第4基準値とは、たとえば10である。
【0073】
PBが第4基準値以下であると判断された場合(S72でYES)、制御部11は、サーバ200がコンテンツ送信不可能であると判断し(S77)、処理を終了する。
【0074】
PBが第4基準値以下でないと判断された場合(S72でNO)、コントローラ100は、サーバ200へデータ取得コマンドを送信する(S73)。
【0075】
制御部11は、サーバ200からデータ取得コマンドに対する応答があったか否かを判断し(S74)、応答がなかったと判断された場合(S74でNO)、サーバ200はコンテンツ送信不可能であると判断する(S77)。
【0076】
応答があったと判断された場合(S74でYES)、制御部11は、L2をインクリメントする(S75)。制御部11は、サーバ200がコンテンツ送信可能であると判断し(S76)、処理を終了する。
【0077】
以上のように本実施形態によると、コントローラ100は、PAが第1基準値以上の場合又は、PAが第2基準値以下の場合かつPBが第3基準値以上の場合は、コントローラ100は、サーバ200と一切通信することなくサーバ200がコンテンツ送信可能と判断できる。また、コントローラ100は、PAが第2基準値以下の場合かつ、PBが第4基準値以下の場合は、コントローラ100は、サーバ200と一切通信することなく、サーバ200がコンテンツ送信不可能であると判断できる。
【0078】
[サーバコンテンツ送信可能判断処理の実施形態4]
図11は、制御部11のサーバコンテンツ送信可能判断処理の第4実施形態を説明するフローチャートであり、図10と同一の処理には同一符号を付し、説明を省略する。
【0079】
S61でYESと判断されたとき、制御部11は、コントローラ100からのサーチコマンドにサーバ200が応答する確率PAを計算する(S63)。
【0080】
制御部11は、PAが第5基準値以上であるか否かを判断する(S84)。第5基準値は、たとえば90である。第5基準値は、第1基準値または第3基準値と同一でもよいし、異なっていてもよい。
【0081】
制御部11によりPAが第5基準値以上であると判断された場合(S84でYES)、サーバ200がコンテンツ送信可能と判断され(S76)、処理を終了する。
【0082】
制御部11によりPAが第5基準値以上でないと判断された場合(S84でNO)、制御部11はサーバ200がコントローラ100からのデータ取得コマンドに応答した確率PBを算出する(S70)。
【0083】
制御部11は、PBが第6基準値以上であるか否かを判断する(S86)。第6基準値は、たとえば90である。第6基準値は、第2基準値又は第4基準値と同一でもよいし、異なっていてもよい。
【0084】
制御部11によりPBが第6基準値以上であると判断された場合(S86でYES)、サーバ200がコンテンツ送信可能と判断され(S76)、処理を終了する。
【0085】
制御部11によりPBが第6基準値以上でないと判断された場合(S86でNO)、サーバ200がコンテンツ送信不可能と判断され(S77)、処理を終了する。
【0086】
以上のように本実施例によると、コントローラ100は、サーバ200と一切通信することなくサーバ200がコンテンツ送信可能またはコンテンツ送信不可能であることを判断できる。
【0087】
[サーバコンテンツ送信可能判断処理の実施形態5]
図12は、制御部11のサーバコンテンツ送信可能判断処理の第5の実施形態を説明するフローチャートである。図10と同一の処理には同一符号を付し、説明を省略する。
【0088】
S61でYESと判断されたとき、サーバ200がコントローラ100のデータ取得コマンドに応答した確率PBを算出する(S70)。
【0089】
制御部11は、PBが第7基準値以上であるか否かを判断する(S94)。第7基準値は、たとえば90である。第7基準値は、第2、第4又は第6基準値と同一でもよいし、異なっていてもよい。
【0090】
制御部11によりPBが第7基準値以上であると判断された場合(S94でYES)、サーバ200がコンテンツ送信可能と判断され(S77)、処理を終了する。
【0091】
制御部11によりPBが第7基準値以上でないと判断された場合(S94でNO)、制御部11は、サーチコマンドにサーバ200が応答する確率PAを計算する(S63)。
【0092】
制御部11は、PAが第8基準値以上であるか否かを判断する(S96)。第8基準値は、たとえば90である。第8基準値は、第1、第3又は第5基準値と同一でもよいし、異なっていてもよい。
【0093】
制御部11によりPAが第8基準値以上であると判断された場合(S96でYES)、サーバ200がコンテンツ送信可能と判断され(S77)、処理を終了する。
【0094】
制御部11によりPAが第8基準値以上でないと判断された場合(S96でNO)、サーバ200がコンテンツ送信不可能と判断され(S76)、処理を終了する。
【0095】
以上のように本実施形態5によると、制御部11は、サーバ200がコントローラ100からのデータ取得コマンドに応答する確率PBをPAよりも先に評価する。一般的に、ユーザにとってサーバ200が利用可能であることは、サーバ200のコンテンツデータを取得できることと等価であるので、データが実際に取得できることを示す確率PBを先に評価することで、サーバ200がコンテンツを実際に送信可能であることをより確実に判断することができる。
【0096】
ところで、実施形態3、4又は5の実施形態を用いた場合、L1及びL2が更新されなくなることがある。たとえばS61でYESになる場合である。ネットワーク環境の再構築、ルータ設定の変更及びサーバのファームウエアのアップデート等の要因により、コントローラ100が生存通知パケットを正常に受信できるようになる可能性がある。そのような場合を想定し、サーバ応答履歴情報が更新される機会があることが好ましい。そこで、一定期間(たとえば数ヶ月単位など)ごとにサーバ応答履歴情報をすべて初期化し、再度サーバ応答履歴12Bを更新しなおすようにしてもよい。
【0097】
以上の処理によって、サーバ200から定期的に生存通知パケットをコントローラ100が受信できない場合であっても、サーバコンテンツ送信可能判断処理を行い、サーバ200がコンテンツ送信可能であるか否かを判断し、確実にコンテンツ送信が可能なサーバをサーバリストに残すことが可能となる。
【0098】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態には限定されない。
また、コントローラは単なるコントローラでもよいし、レンダラの再生機能を併せ持つプレーヤーでもよい。また、コントローラはサーバに組み込まれてもよい。コントローラは、PC、携帯端末等に適用されうる。また、サーバが保持するコンテンツは、音楽コンテンツであってもよいし、静止画や動画コンテンツであってもよい。また、レンダラはネットワーク内に複数あってもよい。
【産業上の利用可能性】
【0099】
本発明は、PCや携帯端末等のネットワークコントローラ機器に好適に採用され得る。
【符号の説明】
【0100】
100 コントローラ
200 サーバ
200A サーバ
200B サーバ
200C サーバ
300 レンダラ
11 制御部
11A サーバ生存確認部
11B サーバコンテンツ送信可能判定部
11C サーバ応答履歴管理部
11D サーバリスト更新部
12 記憶部
12A サーバリスト
12B サーバ応答履歴
12C 動作プログラム
13 入力部
14 表示部
15 通信部
21 HDD
22 通信部
23 制御部
24 記憶部

【特許請求の範囲】
【請求項1】
ネットワーク経由でサーバに接続可能であり、ネットワーク上で生存しているサーバを検索し、検索された前記サーバの情報の一覧であるサーバリストを生成し、表示装置に表示させるコントローラであって、
前記サーバリストに登録されているサーバに関して、前記サーバから定期的に送信される生存通知パケットの有無を監視し、前記生存通知パケットを既定時間内に受信できたか否かを判断する、生存通知パケット監視手段と、
前記生存通知パケット監視手段が、前記生存通知パケットを既定時間内に受信できなかったと判断した場合、前記サーバがコンテンツを送信可能か否かを判断する、サーバコンテンツ送信可能判断手段と、
前記サーバがコンテンツを送信可能であると判断された場合に前記サーバリストを更新せず、前記サーバがコンテンツを送信不可能であると判断された場合に前記サーバリストにおいて前記サーバを使用不可能状態に更新するサーバリスト更新手段とを備える、コントローラ。
【請求項2】
前記サーバコンテンツ送信可能判断手段が、前記サーバへサーチコマンドを送信し、前記サーバからサーチコマンドに対する応答を受信したか否かを判断し、前記サーバから応答を受信した場合は前記サーバがコンテンツを送信可能であると判断し、前記サーバから応答を受信しなかった場合はコンテンツ送信不可能であると判断する、請求項1に記載のコントローラ。
【請求項3】
前記サーバコンテンツ送信可能判断手段が、前記サーバへサーチコマンドを送信し、前記サーバから前記サーチコマンドに対する応答を受信したか否かを判断し、前記サーバから応答を受信した場合は前記サーバがコンテンツを送信可能であると判断し、前記サーバから応答を受信しなかった場合は、さらに前記サーバからデータを取得するためのデータ取得コマンドを前記サーバへ送信し、前記サーバからデータを受信できた場合は前記サーバがコンテンツを送信可能であると判断し、応答を受信できない場合はサーバがコンテンツを送信不可能であると判断する、請求項1に記載のコントローラ。
【請求項4】
前記サーチコマンド及び前記データ取得コマンドを前記サーバへ送信し、それらのコマンドに対する応答を前記サーバから受信したか否かをサーバ応答履歴として管理する、サーバ応答履歴管理手段をさらに備え、
前記サーバコンテンツ送信可能判断手段が、前記サーバ応答履歴に基づいて前記サーバが前記サーチコマンドに応答する確率PAを算出し、前記確率PAが第1基準値以上であるか否かを判断し、第1基準値以上であれば前記サーバがコンテンツを送信可能であると判断し、前記確率PAが第1基準値未満であり、かつ第2基準値以上であると判断した場合、前記サーバへ前記サーチコマンドを送信し、前記サーバから応答を受信できた場合は前記サーバがコンテンツを送信可能であると判断し、前記サーバから応答を受信しなかった場合、または前記確率PAが第2基準値未満であると判断した場合は、前記サーバ応答履歴に基づいて前記サーバが前記データ取得コマンドに応答する確率PBを算出し、前記確率PBが第3基準値以上であると判断した場合は前記サーバがコンテンツを送信可能であると判断し、前記確率PBが第3基準値未満かつ第4基準値以上であると判断した場合は、前記サーバへ前記データ取得コマンドを送信し、応答を受信した場合は前記サーバがコンテンツを送信可能と判断し、前記サーバから応答を受信しなかった場合、または前記確率PBが第4基準値未満であると判断した場合は前記サーバがコンテンツを送信不可能であると判断する、請求項1に記載のコントローラ。
【請求項5】
前記サーチコマンド及び前記データ取得コマンドを前記サーバへ送信し、それらのコマンドに対する応答を前記サーバから受信したか否かをサーバ応答履歴として管理する、サーバ応答履歴管理手段をさらに備え、
前記サーバコンテンツ送信可能判断手段が、前記サーバ応答履歴に基づいて前記サーバが前記サーチコマンドに応答する確率PAを算出し、前記確率PAが第5基準値以上であるか否かを判断し、第5基準値以上であれば前記サーバがコンテンツを送信可能であると判断し、前記確率PAが第5基準値未満であると判断した場合、前記サーバ応答履歴に基づいて前記サーバが前記データ取得コマンドに応答する確率PBを算出し、前記確率PBが第6基準値以上であるか否かを判断し、前記確率PBが第6基準値以上であれば、前記サーバがコンテンツを送信可能であると判断し、第6基準値未満であると判断した場合に前記サーバがコンテンツを送信不可能であると判断する、請求項1に記載のコントローラ。
【請求項6】
前記サーチコマンド及び前記データ取得コマンドを前記サーバへ送信し、それらのコマンドに対する応答を前記サーバから受信したか否かをサーバ応答履歴として管理する、サーバ応答履歴管理手段をさらに備え、
前記サーバコンテンツ送信可能判断手段が、前記サーバ応答履歴に基づいて前記サーバが前記データ取得コマンドに応答する確率PBを算出し、前記確率PBが第7基準値以上であるか否かを判断し、第7基準値以上であれば前記サーバがコンテンツを送信可能であると判断し、前記確率PBが第7基準値未満であると判断した場合、前記サーバ応答履歴に基づいて前記サーバが前記サーチコマンドに応答する確率PAを算出し、前記確率PAが第8基準値以上であるか否かを判断し、前記確率PAが第8基準値以上であれば、前記サーバがコンテンツを送信可能であると判断し、第8基準値未満であると判断した場合に前記サーバがコンテンツを送信不可能であると判断する、請求項1に記載のコントローラ。
【請求項7】
請求項1〜6のいずれかに記載のコンテンツ再生装置の各手段をコンピュータに実行させる、コントローラプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−253654(P2012−253654A)
【公開日】平成24年12月20日(2012.12.20)
【国際特許分類】
【出願番号】特願2011−126138(P2011−126138)
【出願日】平成23年6月6日(2011.6.6)
【出願人】(710014351)オンキヨー株式会社 (226)
【Fターム(参考)】