(57)【特許請求の範囲】
【請求項１】
ネットワーク経由でサーバに接続可能であり、ネットワーク上で生存しているサーバを検索し、検索された前記サーバの情報の一覧であるサーバリストを生成し、表示装置に表示させるコントローラであって、
前記サーバリストに登録されているサーバに関して、前記サーバから定期的に送信される生存通知パケットの有無を監視し、前記生存通知パケットを既定時間内に受信できたか否かを判断する、生存通知パケット監視手段と、
前記生存通知パケット監視手段が、前記生存通知パケットを既定時間内に受信できなかったと判断した場合、前記サーバがコンテンツを送信可能か否かを判断する、サーバコンテンツ送信可能判断手段と、
前記サーバがコンテンツを送信可能であると判断された場合に前記サーバリストを更新せず、前記サーバがコンテンツを送信不可能であると判断された場合に前記サーバリストにおいて前記サーバを使用不可能状態に更新するサーバリスト更新手段とを備え、前記サーバコンテンツ送信可能判断手段が、前記サーバへサーチコマンドを送信し、前記サーバからサーチコマンドに対する応答を受信したか否かを判断し、前記サーバから応答を受信した場合は前記サーバがコンテンツを送信可能であると判断し、前記サーバから応答を受信しなかった場合はコンテンツ送信不可能であると判断する、コントローラ。
【請求項２】
ネットワーク経由でサーバに接続可能であり、ネットワーク上で生存しているサーバを検索し、検索された前記サーバの情報の一覧であるサーバリストを生成し、表示装置に表示させるコントローラであって、
前記サーバリストに登録されているサーバに関して、前記サーバから定期的に送信される生存通知パケットの有無を監視し、前記生存通知パケットを既定時間内に受信できたか否かを判断する、生存通知パケット監視手段と、
前記生存通知パケット監視手段が、前記生存通知パケットを既定時間内に受信できなかったと判断した場合、前記サーバがコンテンツを送信可能か否かを判断する、サーバコンテンツ送信可能判断手段と、
前記サーバがコンテンツを送信可能であると判断された場合に前記サーバリストを更新せず、前記サーバがコンテンツを送信不可能であると判断された場合に前記サーバリストにおいて前記サーバを使用不可能状態に更新するサーバリスト更新手段とを備え、
前記サーバコンテンツ送信可能判断手段が、前記サーバへサーチコマンドを送信し、前記サーバから前記サーチコマンドに対する応答を受信したか否かを判断し、前記サーバから応答を受信した場合は前記サーバがコンテンツを送信可能であると判断し、前記サーバから応答を受信しなかった場合は、さらに前記サーバからデータを取得するためのデータ取得コマンドを前記サーバへ送信し、前記サーバからデータを受信できた場合は前記サーバがコンテンツを送信可能であると判断し、応答を受信できない場合はサーバがコンテンツを送信不可能であると判断する、コントローラ。
【請求項３】
前記サーチコマンド及び前記データ取得コマンドを前記サーバへ送信し、それらのコマンドに対する応答を前記サーバから受信したか否かをサーバ応答履歴として管理する、サーバ応答履歴管理手段をさらに備え、
前記サーバコンテンツ送信可能判断手段が、前記サーバ応答履歴に基づいて前記サーバが前記サーチコマンドに応答する確率ＰＡを算出し、前記確率ＰＡが第１基準値以上であるか否かを判断し、第１基準値以上であれば前記サーバがコンテンツを送信可能であると判断し、前記確率ＰＡが第１基準値未満であり、かつ第２基準値以上であると判断した場合、前記サーバへ前記サーチコマンドを送信し、前記サーバから応答を受信できた場合は前記サーバがコンテンツを送信可能であると判断し、前記サーバから応答を受信しなかった場合、または前記確率ＰＡが第２基準値未満であると判断した場合は、前記サーバ応答履歴に基づいて前記サーバが前記データ取得コマンドに応答する確率ＰＢを算出し、前記確率ＰＢが第３基準値以上であると判断した場合は前記サーバがコンテンツを送信可能であると判断し、前記確率ＰＢが第３基準値未満かつ第４基準値以上であると判断した場合は、前記サーバへ前記データ取得コマンドを送信し、応答を受信した場合は前記サーバがコンテンツを送信可能と判断し、前記サーバから応答を受信しなかった場合、または前記確率ＰＢが第４基準値未満であると判断した場合は前記サーバがコンテンツを送信不可能であると判断する、請求項２に記載のコントローラ。
【請求項４】
前記サーチコマンド及び前記データ取得コマンドを前記サーバへ送信し、それらのコマンドに対する応答を前記サーバから受信したか否かをサーバ応答履歴として管理する、サーバ応答履歴管理手段をさらに備え、
前記サーバコンテンツ送信可能判断手段が、前記サーバ応答履歴に基づいて前記サーバが前記サーチコマンドに応答する確率ＰＡを算出し、前記確率ＰＡが第５基準値以上であるか否かを判断し、第５基準値以上であれば前記サーバがコンテンツを送信可能であると判断し、前記確率ＰＡが第５基準値未満であると判断した場合、前記サーバ応答履歴に基づいて前記サーバが前記データ取得コマンドに応答する確率ＰＢを算出し、前記確率ＰＢが第６基準値以上であるか否かを判断し、前記確率ＰＢが第６基準値以上であれば、前記サーバがコンテンツを送信可能であると判断し、第６基準値未満であると判断した場合に前記サーバがコンテンツを送信不可能であると判断する、請求項２に記載のコントローラ。
【請求項５】
前記サーチコマンド及び前記データ取得コマンドを前記サーバへ送信し、それらのコマンドに対する応答を前記サーバから受信したか否かをサーバ応答履歴として管理する、サーバ応答履歴管理手段をさらに備え、
前記サーバコンテンツ送信可能判断手段が、前記サーバ応答履歴に基づいて前記サーバが前記データ取得コマンドに応答する確率ＰＢを算出し、前記確率ＰＢが第７基準値以上であるか否かを判断し、第７基準値以上であれば前記サーバがコンテンツを送信可能であると判断し、前記確率ＰＢが第７基準値未満であると判断した場合、前記サーバ応答履歴に基づいて前記サーバが前記サーチコマンドに応答する確率ＰＡを算出し、前記確率ＰＡが第８基準値以上であるか否かを判断し、前記確率ＰＡが第８基準値以上であれば、前記サーバがコンテンツを送信可能であると判断し、第８基準値未満であると判断した場合に前記サーバがコンテンツを送信不可能であると判断する、請求項２に記載のコントローラ。
【請求項６】
請求項１〜５のいずれかに記載のコンテンツ再生装置の各手段としてコンピュータを機能させる、コントローラプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークＡＶシステムに関し、さらに詳しくは、コンテンツファイルを蓄積するサーバと、ネットワーク内のサーバリストを保持するネットワークコントローラとを備えるネットワークＡＶシステムに関する。
【背景技術】
【０００２】
近年、ホームネットワーク内に、複数のコンテンツ(たとえば音楽、写真、ビデオなど)を保存したサーバと、再生機能を持つレンダラと、サーバ及びレンダラを制御するコントローラとを設置し、ユーザがコントローラを操作してレンダラがサーバのコンテンツを再生する、ネットワークＡＶシステムが一般化している。コントローラは、ネットワーク内のサーバ一覧情報であるサーバリストを表示し、また、サーバ内のコンテンツ情報を取得して表示する。ユーザがコントローラを操作してサーバのコンテンツ、及びレンダラを指定すると、コントローラは指定されたレンダラに対し、指定されたサーバのコンテンツをストリーミング再生するように指示する。この結果、レンダラでサーバのコンテンツが再生される。
【０００３】
コントローラは定期的にサーバが送信する、生存を示す通知パケット（以下、生存通知パケットという。）を受信したか否かによってサーバが利用可能な状態であるか否かを判断し、サーバリストを更新する。しかし、コントローラは、サーバの種類によっては定期的に生存通知パケットを送信しないサーバが存在すること、ルータの設定、あるいは生存通知パケットの送受信に用いるポートが閉じられている等の原因によって、サーバから生存通知パケットを正常に受信できない場合がある。その場合、コントローラは、実際はサーバが利用可能な状態であっても、生存通知パケットが受信できないので、サーバを利用不可能と判断し、サーバリストから当該サーバの情報を削除、またはグレーアウト表示等にすることでユーザが使用不可能な状態にする。その結果、ユーザはコンテンツ送信が可能なサーバを利用することができなくなる。
【０００４】
特開２００９−１８２６６７号公報には、生存状態を通知するサーバは、自機器が生存していることをネットワーク上のクライアントに通知するために定期的にコマンドを送出するが、ＵＰｎＰとは異なるネットワーク上に存在するサーバは生存状態をクライアントに通知することができず、中継機器の生存情報のみしか通知できないことを解決する手段を記載している。
【０００５】
特開平９−４４４３６号公報には、アドレスを割り当てたクライアントが生存しているかどうかを、一定時間間隔で生存確認パケットを送信することで確認し、クライアントが応答しない場合は、そのクライアントのエントリをネットワークアドレス・ホスト対応表から削除することを記載している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１８２６６７号公報
【特許文献２】特開平９−４４４３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は上記従来の課題を解決するためになされたものであり、その目的は、コントローラがサーバから定期的な生存通知パケットを受信できない場合であっても、確実にコンテンツ送信が可能なサーバをサーバリストに表示できるコントローラを提供することである。
【課題を解決するための手段】
【００１０】
好ましい実施形態においては、ネットワーク経由でサーバに接続可能であり、ネットワーク上で生存しているサーバを検索し、検索された前記サーバの情報の一覧であるサーバリストを生成し、表示装置に表示させるコントローラであって、前記サーバリストに登録されているサーバに関して、前記サーバから定期的に送信される生存通知パケットの有無を監視し、前記生存通知パケットを既定時間内に受信できたか否かを判断する、生存通知パケット監視手段と、前記生存通知パケット監視手段が、前記生存通知パケットを既定時間内に受信できなかったと判断した場合、前記サーバがコンテンツを送信可能か否かを判断する、サーバコンテンツ送信可能判断手段と、前記サーバがコンテンツを送信可能であると判断された場合に前記サーバリストを更新せず、前記サーバがコンテンツを送信不可能であると判断された場合に前記サーバリストにおいて前記サーバを使用不可能状態に更新するサーバリスト更新手段とを備え、前記サーバコンテンツ送信可能判断手段が、前記サーバへサーチコマンドを送信し、前記サーバからサーチコマンドに対する応答を受信したか否かを判断し、前記サーバから応答を受信した場合は前記サーバがコンテンツを送信可能であると判断し、前記サーバから応答を受信しなかった場合はコンテンツ送信不可能であると判断する。
【００１１】
コントローラがサーバから定期的な生存通知パケットを受信しない場合であっても、コントローラは、サーバコンテンツ送信可能判断手段を用いて、サーバが実際にコンテンツを送信可能な状態であるか否かを判断する。サーバがコンテンツ送信可能であると判断された場合、サーバが生存していると判断できるので、誤ってコンテンツを送信可能なサーバをサーバリストから削除等し、使用不可能状態にしてしまうことを防止できる。また、コントローラは、サーバから定期的な生存通知コマンドを受信できない場合に、サーバにサーチコマンドを送信し、サーバから応答を受信できたか否かを判断することで、そのサーバがコンテンツを送信可能なサーバであるか否かを判断することができる。
【００１２】
本発明の別の好ましい実施形態によるコントローラは、ネットワーク経由でサーバに接続可能であり、ネットワーク上で生存しているサーバを検索し、検索された前記サーバの情報の一覧であるサーバリストを生成し、表示装置に表示させるコントローラであって、前記サーバリストに登録されているサーバに関して、前記サーバから定期的に送信される生存通知パケットの有無を監視し、前記生存通知パケットを既定時間内に受信できたか否かを判断する、生存通知パケット監視手段と、前記生存通知パケット監視手段が、前記生存通知パケットを既定時間内に受信できなかったと判断した場合、前記サーバがコンテンツを送信可能か否かを判断する、サーバコンテンツ送信可能判断手段と、前記サーバがコンテンツを送信可能であると判断された場合に前記サーバリストを更新せず、前記サーバがコンテンツを送信不可能であると判断された場合に前記サーバリストにおいて前記サーバを使用不可能状態に更新するサーバリスト更新手段とを備え、前記サーバコンテンツ送信可能判断手段が、前記サーバへサーチコマンドを送信し、前記サーバから前記サーチコマンドに対する応答を受信したか否かを判断し、前記サーバから応答を受信した場合は前記サーバがコンテンツを送信可能であると判断し、前記サーバから応答を受信しなかった場合は、さらに前記サーバからデータを取得するためのデータ取得コマンドを前記サーバへ送信し、前記サーバからデータを受信できた場合は前記サーバがコンテンツを送信可能であると判断し、応答を受信できない場合はサーバがコンテンツを送信不可能であると判断する。
【００１３】
コントローラがサーバから定期的な生存通知パケットを受信しない場合であっても、コントローラは、サーバコンテンツ送信可能判断手段を用いて、サーバが実際にコンテンツを送信可能な状態であるか否かを判断する。サーバがコンテンツ送信可能であると判断された場合、サーバが生存していると判断できるので、誤ってコンテンツを送信可能なサーバをサーバリストから削除等し、使用不可能状態にしてしまうことを防止できる。また、コントローラは、さらにデータ取得コマンドをサーバに送信し、サーバから応答を受信できたか否かを判断するので、コンテンツを送信可能なサーバであるか否かをより確実に判断することが可能となる。
【００１４】
本発明の別の好ましい実施形態によるコントローラは、前記サーチコマンド及び前記データ取得コマンドを前記サーバへ送信し、それらのコマンドに対する応答を前記サーバから受信したか否かをサーバ応答履歴として管理する、サーバ応答履歴管理手段をさらに備え、
前記サーバコンテンツ送信可能判断手段が、前記サーバ応答履歴に基づいて前記サーバが前記サーチコマンドに応答する確率ＰＡを算出し、前記確率ＰＡが第１基準値以上であるか否かを判断し、第１基準値以上であれば前記サーバがコンテンツを送信可能であると判断し、前記確率ＰＡが第１基準値未満であり、かつ第２基準値以上であると判断した場合、前記サーバへ前記サーチコマンドを送信し、前記サーバから応答を受信できた場合は前記サーバがコンテンツを送信可能であると判断し、前記サーバから応答を受信しなかった場合、または前記確率ＰＡが第２基準値未満であると判断した場合は、前記サーバ応答履歴に基づいて前記サーバが前記データ取得コマンドに応答する確率ＰＢを算出し、前記確率ＰＢが第３基準値以上であると判断した場合は前記サーバがコンテンツを送信可能であると判断し、前記確率ＰＢが第３基準値未満かつ第４基準値以上であると判断した場合は、前記サーバへ前記データ取得コマンドを送信し、応答を受信した場合は前記サーバがコンテンツを送信可能と判断し、前記サーバから応答を受信しなかった場合、または前記確率ＰＢが第４基準値未満であると判断した場合は前記サーバがコンテンツを送信不可能であると判断する。
【００１５】
コントローラがサーバ応答履歴からサーバが確実にコンテンツを送信可能である、またはコンテンツを送信不可能であると判断できる場合、コントローラはサーバと通信せずにサーバがコンテンツ送信可能か否かを判断するので、無駄な通信を削減できる。
【００１６】
本発明の別の好ましい実施形態によるコントローラは、前記サーチコマンド及び前記データ取得コマンドを前記サーバへ送信し、それらのコマンドに対する応答を前記サーバから受信したか否かをサーバ応答履歴として管理する、サーバ応答履歴管理手段をさらに備え、
前記サーバコンテンツ送信可能判断手段が、前記サーバ応答履歴に基づいて前記サーバが前記サーチコマンドに応答する確率ＰＡを算出し、前記確率ＰＡが第５基準値以上であるか否かを判断し、第５基準値以上であれば前記サーバがコンテンツを送信可能であると判断し、前記確率ＰＡが第５基準値未満であると判断した場合、前記サーバ応答履歴に基づいて前記サーバが前記データ取得コマンドに応答する確率ＰＢを算出し、前記確率ＰＢが第６基準値以上であるか否かを判断し、前記確率ＰＢが第６基準値以上であれば、前記サーバがコンテンツを送信可能であると判断し、第６基準値未満であると判断した場合に前記サーバがコンテンツを送信不可能であると判断する。
【００１７】
コントローラはサーバとの通信をせずにサーバがコンテンツを送信可能か否かを判断できるのでコントローラの処理が高速化し、また、ネットワーク通信の負荷を減らすことが可能となる。
【００１８】
本発明の別の好ましい実施形態によるコントローラは、前記サーチコマンド及び前記データ取得コマンドを前記サーバへ送信し、それらのコマンドに対する応答を前記サーバから受信したか否かをサーバ応答履歴として管理する、サーバ応答履歴管理手段をさらに備え、
前記サーバコンテンツ送信可能判断手段が、前記サーバ応答履歴に基づいて前記サーバが前記データ取得コマンドに応答する確率ＰＢを算出し、前記確率ＰＢが第７基準値以上であるか否かを判断し、第７基準値以上であれば前記サーバがコンテンツを送信可能であると判断し、前記確率ＰＢが第７基準値未満であると判断した場合、前記サーバ応答履歴に基づいて前記サーバが前記データ取得コマンドに応答する確率ＰＡを算出し、前記確率ＰＡが第８基準値以上であるか否かを判断し、前記確率ＰＡが第８基準値以上であれば、前記サーバがコンテンツを送信可能であると判断し、第８基準値未満であると判断した場合に前記サーバがコンテンツを送信不可能であると判断する。
【００１９】
一般的に、ユーザにとってサーバが利用可能であることは、サーバのコンテンツデータを取得できることと等価であるので、データが実際に取得できることを示す確率を先に評価することで、サーバがコンテンツを実際に送信可能であることをより確実に判断することができる
【発明の効果】
【００２０】
コントローラがサーバから定期的な生存通知パケットを受信できない場合に、確実にコンテンツ送信を可能なサーバをサーバリストに表示するコントローラを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の好ましい実施形態によるネットワークＡＶシステムの構成図である。
【図２】本発明の好ましい実施形態によるコントローラの構成を示すブロック図である。
【図３】本発明の好ましい実施形態によるサーバ装置の機器を示すブロック図である。
【図４】コントローラが保持している、サーバリストである。
【図５】制御部１１の処理を説明するフローチャートである。
【図６】サーバコンテンツ送信可能判定部の処理を説明するフローチャートである。
【図７】サーバコンテンツ送信可能判定部の処理を説明するフローチャートである。
【図８】サーバ応答履歴情報を管理するテーブルである。
【図９】コマンド応答パラメータ更新処理を説明するフローチャートである。
【図１０】サーバコンテンツ送信可能判定部の処理を説明するフローチャートである。
【図１１】サーバコンテンツ送信可能判定部の処理を説明するフローチャートである。
【図１２】サーバコンテンツ送信可能判定部の処理を説明するフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の好ましい実施形態によるコントローラについて、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。図１は、本発明の好ましい実施形態によるネットワークＡＶシステムの構成図である。コントローラ１００は、ＬＡＮ等の任意のネットワークを介して複数のサーバ２００（本例では２００Ａ，２００Ｂ，２００Ｃ）及びレンダラ３００と接続可能である。
【００２３】
コントローラ１００は、ネットワーク上のサーバ２００を検索し、サーバ２００Ａ，２００Ｂ，２００Ｃを一覧で示したサーバリストを表示する。さらに、コントローラ１００は、ネットワーク上のレンダラ３００を検索し、レンダラ３００の存在を認識する。また、コントローラ１００はサーバ２００内のコンテンツ情報を取得して表示する。ユーザがコントローラ１００を操作し、サーバ２００内のコンテンツとレンダラ３００を指定すると、コントローラ１００はレンダラ３００に対し、サーバ２００のコンテンツのＵＲＬを送信する。レンダラ３００はコントローラ１００から受信したサーバ２００のコンテンツのＵＲＬにアクセスし、コンテンツデータを取得して再生する。なお、コンテンツとは、音楽データ、静止画データ、動画データなどのデジタルデータである。
【００２４】
図２は、本発明の好ましい実施形態によるコントローラの構成を示すブロック図である。コントローラ１００は、制御部１１、記憶部１２、入力部１３、表示部１４、及び通信部１５を備える。制御部１１は、記憶部１２に格納されている動作プログラム１２Ｃに基づいてコントローラ１００を制御するものであり、たとえばマイコンやＣＰＵ等である。制御部１１は、サーバ生存確認部１１Ａと、サーバコンテンツ送信可能判定部１１Ｂと、サーバ応答履歴管理部１１Ｃと、サーバリスト更新部１１Ｄとを含む。サーバ生存確認部１１Ａは、コントローラ１００が管理しているサーバ２００から、生存通知パケットを受信できているか否かを判断する。サーバコンテンツ送信可能判定部１１Ｂは、サーバ２００から生存通知パケットを受信できない場合、１以上のコマンドをサーバ２００に送信し、サーバ２００が実際にコンテンツ送信可能であるかを判断する。サーバ応答履歴管理部１１Ｃは、コントローラ１００からサーバ２００の応答を確認するコマンドをサーバ２００に送信後、そのコマンドに対してサーバ２００からの応答を受信したか否かを判断し、その結果に応じてサーバ応答履歴１２Ｂを更新する。サーバリスト更新部１１Ｄは、サーバコンテンツ送信可能判定部１１Ｂの判定結果をもとに、サーバリスト１２Ａを更新する。なお、生存とは、機器の電源が入っており、機器のプログラムが動作しており、他機器からの通信コマンドに応答できる状態である。
【００２５】
入力部１３は、ユーザから入力された指示を受け付ける。入力部１３は、たとえばリモコンや、コントローラ１００上に配置されたボタンによる入力を受け付ける。入力された指示は、制御部１１で解釈され、実行される。
【００２６】
表示部１４は、ＬＣＤやＦＬ等である。表示部１４は、サーバリストや各々のサーバ２００が保存しているコンテンツの階層情報、コンテンツのリスト情報、コンテンツファイル情報、及びレンダラ３００がサーバ２００からのコンテンツを再生中はレンダラから定期的に通知されるコンテンツ情報（たとえば、アーティスト名や、楽曲タイトル、再生時間）等を表示する。
【００２７】
通信部１５は、ネットワークを介してサーバ２００との通信処理を実行する。通信部１５はコントローラ１００からデータをサーバ２００に送信し、かつサーバ２００からデータを受信する。なお、コントローラ１００が送信するコマンドの生成処理や、サーバ２００から受信したデータの解析処理は制御部１１によって実行される。
【００２８】
記憶部１２は、サーバリスト１２Ａ、サーバ応答履歴１２Ｂ、コントローラ１００の動作プログラム１２Ｃを記憶する。記憶部１２は、ＲＡＭ，フラッシュメモリ等である。
【００２９】
図３は、本発明の好ましい実施形態によるサーバ２００（２００Ａ〜２００Ｃ）を示すブロック図である。サーバ２００は、ＨＤＤ（Hard Disk Drive）２１、通信部２２、制御部２３、及び記憶部２４（ＲＯＭ、ＲＡＭ等）を備える。
【００３０】
ＨＤＤ２１は、コンテンツやコンテンツ情報ＤＢ（データベース）、サーバ２００の動作プログラムを記憶している。
【００３１】
通信部２２は、ネットワークを介してコントローラ１００との通信処理を実行する。通信部２２は、コントローラ１００からのデータを受信し、かつサーバ２００からコントローラ１００へデータを送信する。なお、コントローラ１００へ送信するコマンドの生成処理や、コントローラ１００から受信したデータの解析処理は制御部２３によって実行される。
【００３２】
制御部２３は、記憶部２４に格納されている動作プログラム２１に基づいてサーバ２００を制御するものであり、たとえばマイコンやＣＰＵ等である。
【００３３】
図４は、コントローラ１００が保持している、サーバリスト１２Ａである。サーバリスト１２Ａは、コントローラ１００がネットワーク上に生存しているサーバ２００を登録し、管理するテーブルである。このサーバリスト１２Ａに基づき、コントローラ１００の表示部１４にサーバリストが表示される。サーバリスト１２Ａは、サーバ２００を一意に特定するサーバ識別番号とサーバ名等を含む。サーバリスト１２Ａは、サーバ２００の種類及びサーバ２００の製造者等の情報を含んでいてもよい。
【００３４】
ここでサーバリスト１２Ａを生成する処理について説明する。サーバ２００は起動するときに、ネットワーク上に生存通知パケットをブロードキャストにより送信する。生存通知パケットとは、機器が生存していることを通知するパケットである。生存通知パケットは、サーバ２００のＩＰアドレスを含んでいる。コントローラ１００は、生存通知パケットを受信すると、新たなサーバ２００がネットワークに参加したことを判断する。さらにサーバ２００の詳細情報を取得する場合は、コントローラ１００は生存通知パケットに含まれるサーバ２００のＩＰアドレスを用い、サーバ２００に、サーバ２００の詳細情報を送信要求する。詳細情報とは、たとえばサーバ２００の種類、サーバ名、及びサーバ２００の製造者などである。この情報を元に、コントローラ１００はサーバリスト１２Ａを作成する。サーバリスト１２Ａのサーバ識別番号とは、サーバ２００に固有な識別子であり、サーバ間で重複しない番号である。サーバリスト１２Ａのサーバ名とは、サーバ２００の名前である。サーバ名は自由に変更可能であり、重複する可能性がある。よって、ネットワーク上のサーバ２００を一意に特定する場合は、サーバ識別番号が用いられる。また、コントローラ１００が起動するときは、コントローラ１００から、ネットワーク上で生存しているサーバ２００に生存していることを通知させるサーチコマンドを送信する。コントローラ１００は、サーチコマンドに応答したサーバ２００の情報を、サーバリスト１２Ａに登録する。たとえば、生存通知パケットにはＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）プロトコルのａｌｉｖｅパケットが利用され、サーチコマンドにはＵＰｎＰプロトコルのＭ−Ｓｅａｒｃｈが利用される。
【００３５】
サーバ２００は、自機器が生存していることをコントローラ１００に通知するために、定期的に生存通知パケットをブロードキャストで送信する。コントローラ１００はこの生存通知パケットを受信した場合、サーバリスト１２Ａにおいてサーバ２００を使用不可能状態にしない。使用不可能状態にするとは、サーバリスト１２Ａにおいてサーバ２００がネットワーク内で生存していない状態に更新することである。サーバリスト１２Ａからサーバ２００を削除する、またはサーバ２００が生存していないことを示すフラグをサーバリスト１２Ａに設定する等の更新が実行される。なお、サーバリスト１２Ａでサーバ２００が使用不可能状態である場合、表示部１４にはサーバ２００が表示されない、またはサーバ２００をグレーアウト等することでサーバ２００を実質的に選択不可能な状態で表示される、またはサーバ２００を使用できないことを示す情報を付加して表示される。
【００３６】
サーバ２００の生存通知パケット送信処理が不完全である、ルータの設定が変更された、または生存通知パケットを受信するポートが閉じられている等の原因により生存通知パケットを受信できない場合、コントローラ１００は生存通知パケットを受信できないサーバ２００をサーバリスト１２Ａにおいて使用不可能状態にする。この結果、ユーザはコントローラ１００の表示部からサーバ２００を選択不可能となり、レンダラ３００においてサーバ２００のコンテンツを再生することができなくなる。
【００３７】
以下、本発明の動作を説明する。図５は、コントローラ１００の制御部１１がサーバリスト１２Ａを更新するフローチャートである。
【００３８】
制御部１１は、生存通知パケットをサーバ２００から受信できているかを監視するタイマ（以後、生存パケット監視タイマ）のカウントを開始する。生存パケット監視タイマは、コントローラ１００が起動した後、サーバ２００からの生存通知パケットを初めて受信した直後から開始される（Ｓ１１）。なお、サーバ２００からの生存通知パケットの監視はサーバリスト１２Ａに登録されているサーバすべてに対して実行される。本例では、説明を簡略化するため、一つのサーバ２００に対する処理のみを記載する。
【００３９】
制御部１１は、サーバ２００からの生存通知パケットを受信したか否かを判断する（Ｓ１２）。受信したと判断されると（Ｓ１２でＹＥＳ）、生存パケット監視タイマのタイマ値を０にリセットする（Ｓ１３）。そして、生存通知パケットの監視を継続する（Ｓ１２）。
【００４０】
制御部１１は、生存通知パケットを受信していないと判断すると（Ｓ１２でＮＯ）、タイマ値が既定値を超えたか否かを判断する（Ｓ１４）。タイマの既定値は、たとえば１５分であり、サーバ２００は生存期間中、既定値以内に最低一回生存通知パケットを送信しなくてはならない。タイマ値が既定値を超えていないと判断された場合（Ｓ１４でＮＯ）、継続して生存通知パケットの受信が監視される（Ｓ１２）。
【００４１】
タイマ値が既定値を超えたと判断された場合（Ｓ１４でＹＥＳ）、制御部１１のサーバコンテンツ送信可能判定部１１Ｂは、サーバ２００がコンテンツ送信可能な状態であるか否かを判断する処理（以下、サーバコンテンツ送信可能判断処理という。）（Ｓ１５）を実行する。
【００４２】
サーバコンテンツ送信可能判断処理によってサーバ２００がコンテンツ送信可能であると判断された場合（Ｓ１６でＹＥＳ）、生存パケット監視タイマの値をリセットし（Ｓ１３）、継続して生存通知パケットが監視される（Ｓ１２）。サーバコンテンツ送信可能判断処理によってサーバ２００がコンテンツ送信可能であると判断された場合は、サーバ２００から生存通知パケットを受信できない状態であるが、コントローラ１００はサーバ２００のコンテンツを受信できる状態であると判断できるので、サーバリスト１２Ａにおいてサーバ２００を使用不可能状態にしない。
【００４３】
サーバコンテンツ送信可能判断処理によってサーバ２００がコンテンツ送信可能でないと判断された場合（Ｓ１６でＮＯ）、制御部１１のサーバリスト更新部１１Ｄは、サーバリスト１２Ａにおいてサーバ２００を使用不可能状態に更新する。
【００４４】
次に、サーバコンテンツ送信可能判断処理（Ｓ１５）について説明する。
【００４５】
[サーバコンテンツ送信可能判断処理の実施形態１]
図６は、サーバコンテンツ送信可能判断処理の第１実施形態を説明するフローチャートである。制御部１１は、サーバ２００へ生存を確認するコマンドを送信する（Ｓ２１）。生存を確認するコマンドは、たとえば上述のサーチコマンドである。
【００４６】
制御部１１は、サーチコマンドに対してサーバ２００から応答を受信したか否かを判断し（Ｓ２２）、応答を受信したと判断された場合（Ｓ２２でＹＥＳ）、サーバ２００がコンテンツ送信可能な状態であると判断し（Ｓ２３）、処理を終了する。
【００４７】
サーチコマンドに対してサーバ２００から応答を受信しないと判断された場合（Ｓ２２でＮＯ）、サーバ２００がコンテンツ送信不可能であると判断（Ｓ２４）し、処理を終了する。以上のように、サーバ２００からの生存通知パケットを受信できない場合に、コントローラ１００から自発的にサーバ２００にサーチコマンドを送信し、サーバ２００からの応答有無を判断することで、より確実にサーバ２００の生存状態を把握することができる。
【００４８】
[サーバコンテンツ送信可能判断処理の実施形態２]
図７は、サーバコンテンツ送信可能判断処理の第２実施形態を説明するフローチャートであり、図６と同一の処理には同一符号を付し、説明を省略する。本実施形態では、コントローラ１００が、サーバコンテンツ送信可能判断処理の実施形態１を採用するよりもさらに確実にサーバ２００がコンテンツ送信可能な状態であるかを判断することができる。
【００４９】
制御部１１は、Ｓ１２でＮＯと判断されたとき、サーバ２００へデータ取得コマンドを送信する（Ｓ３４）。データとは、たとえばサーバ２００の詳細情報（サーバ名、サーバの種類、サーバの製造者等）、サーバ２００が保持するコンテンツフォルダのプロパティ情報、サーバ２００が保持するコンテンツフォルダの階層情報、コンテンツファイルの情報、またはコンテンツファイルデータ自体などであり、サーバ２００が保持する情報に関するものであれば、その種類や内容は限定されない。なお、サーバ２００から受信したこれらのデータは、実際に利用するものではないので、受信後、すぐに破棄してよい。
【００５０】
制御部１１は、サーバ２００からのデータを受信したかを判断し（Ｓ３５）、データを受信したと判断された場合（Ｓ３５でＹＥＳ）、サーバ２００がコンテンツ送信可能であると判断する（Ｓ３３）。データを受信できなかったと判断された場合（Ｓ３５でＮＯ）、制御部１１はサーバ２００がコンテンツ送信不可能であると判断する（Ｓ３６）。
【００５１】
[サーバコンテンツ送信可能判断処理の実施形態３]
次に、サーバ応答履歴１２Ｂを利用したサーバコンテンツ送信可能判断処理を説明する。まず、第３、第４、第５の実施形態で用いる、サーバ応答履歴１２Ｂを更新する処理を説明する。
【００５２】
図８はサーバ応答履歴１２Ｂの一例である。サーバ応答履歴１２Ｂは、コントローラ１００がサーバ２００へ送信したサーチコマンドやデータ取得コマンドに対して、コントローラ１００がサーバ２００から応答を受信したか否かの回数を管理するテーブルである。これらの回数をサーバ識別番号に対応付けて管理している。また、サーバ２００から生存通知パケットを受信できなくなった場合でもサーバ２００の情報はサーバ応答履歴１２Ｂから消去されない。よって、本テーブルはコントローラ１００の電源を切っても消去されない領域（たとえばＲＯＭやフラッシュメモリ）に保存される。サーバ応答履歴１２Ｂでは、コントローラ１００がサーチコマンドをサーバ２００に送信した回数Ｌ０と、サーバ２００がサーチコマンドに応答しなかった回数Ｌ１と、サーバ２００がサーチコマンドに応答せず、かつ、データ取得コマンドに応答した回数Ｌ２とを保持する。また、Ｌ０、Ｌ１、Ｌ２の値は、コントローラ１００が初期出荷されるときにすべて０に初期化されているとする。
【００５３】
図９は、サーバ応答履歴管理部１１Ｃがサーバ応答履歴１２ＢのデータＬ０、Ｌ１，Ｌ２を更新する処理を説明するフローチャートであり、図５と同一の処理には同一符号を付し、説明を省略する。なお、本処理は、図５のフローチャートの処理と並列的に実行されるものである。また、コントローラ１００はサーバリスト１２Ａで管理しているすべてのサーバについて本処理を実行する。
【００５４】
制御部１１は、Ｓ１４でＹＥＳと判断された場合、サーバ２００へサーチコマンドを送信する（Ｓ４５）。
【００５５】
サーバ応答履歴管理部１１Ｃは、サーチコマンドを送信した回数Ｌ０をインクリメントする（Ｓ４６）。そして、制御部１１は、サーバ２００からサーチコマンドに対する応答を受信したか否かを判断し（Ｓ４７）、応答を受信したと判断された場合（Ｓ４７でＹＥＳ）、生存パケット監視タイマの値をリセットする（Ｓ１３）。
【００５６】
サーチコマンドに対してサーバ２００から応答を受信しなかったと判断された場合（Ｓ４７でＮＯ）、サーバ応答履歴管理部１１Ｃはサーチコマンドに応答しなかった回数Ｌ１をインクリメントする（Ｓ４８）。
【００５７】
制御部１１は、サーバ２００へデータ取得コマンドを送信し（Ｓ４９）、サーバ２００から応答があったか否かを判断する（Ｓ５０）。サーバ２００からの応答がなかったと判断された場合（Ｓ５０でＮＯ）、生存パケット監視タイマの値をリセットする（Ｓ１３）。サーバ２００からの応答があったと判断された場合（Ｓ５０でＹＥＳ）、データ取得コマンドにサーバ２００が応答した回数Ｌ２をインクリメントする（Ｓ５１）。そして、生存パケット監視タイマの値をリセットし（Ｓ１３）、サーバ応答履歴を更新し続ける（Ｓ１２）。
【００５８】
図１０は、サーバ応答履歴１２Ｂを利用したサーバコンテンツ送信可能判断処理のフローチャートである。
【００５９】
制御部１１は、コントローラ１００がサーチコマンドをサーバ２００に送信した回数Ｌ０が第０基準値以上であるか否かを判断する（Ｓ６１）。第０基準値とは、たとえば３００回であり、履歴として十分信用可能な値であればよい。
【００６０】
Ｌ０の大きさが第０基準値以上でないと判断された場合（Ｓ６１でＮＯ）、図７及び図９のＳ４５以降の処理を継続する。
【００６１】
Ｌ０の大きさが第０基準値以上であると判断された場合（Ｓ６１でＹＥＳ）、コントローラ１００からのサーチコマンドにサーバ２００が応答する確率ＰＡを計算する（Ｓ６３）。確率ＰＡは次式で示される。
【００６２】
ＰＡ  ＝  ｛（Ｌ０−Ｌ１）÷Ｌ０｝×  １００
【００６３】
制御部１１は、ＰＡが第１基準値以上であるかを判断する（Ｓ６４）。第１基準値とは、たとえば９０であり、１００に近いほどサーバ２００が生存していることを確実に判断できる。
【００６４】
制御部１１によって、ＰＡが第１基準値以上であると判断された場合（Ｓ６４でＹＥＳ）、サーバ２００がコンテンツ送信可能と判断され（Ｓ７６）、処理を終了する。
【００６５】
ＰＡが第１基準値以上でないと判断された場合（Ｓ６４でＮＯ）、制御部１１は、ＰＡが第２基準値以下であるか否かを判断する（Ｓ６５）。第２基準値は、たとえば１０であり、０に近いほどサーバ２００が生存していないことを確実に判断可能である。ＰＡが第２基準回数以下であると判断された場合（Ｓ６５でＹＥＳ）、Ｓ７０の処理を行う。Ｓ７０の処理の詳細は後述する。
【００６６】
ＰＡが第２基準値以下でないと判断された場合（Ｓ６５でＮＯ）、制御部１１は、サーバ２００へサーチコマンドを送信し（Ｓ６６）、Ｌ０をインクリメントする（Ｓ６７）。
【００６７】
制御部１１は、サーバ２００からサーチコマンドに対する応答があったか否かを判断し（Ｓ６８）、応答があったと判断された場合（Ｓ６８でＹＥＳ）、サーバ２００はコンテンツ送信可能であると判断し（Ｓ７６）、処理を終了する。応答がなかったと判断された場合（Ｓ６８でＮＯ）、制御部１１はＬ１をインクリメントする（Ｓ６９）。
【００６８】
Ｓ７０において制御部１１は、サーバ２００がコントローラ１００から受信したデータ取得コマンドに応答する確率ＰＢを計算する（Ｓ７０）。ＰＢは次式で示される。
【００６９】
ＰＢ  ＝  （Ｌ２  ÷  Ｌ１）×  １００
【００７０】
制御部１１は、ＰＢが第３基準値以上であるか否かを判断する（Ｓ７１）。第３基準値は第１基準値と同一でもよいし、異なった値でもよい。たとえば９０である。
【００７１】
ＰＢが第３基準値以上であると判断された場合（Ｓ７１でＹＥＳ）、サーバ２００がコンテンツ送信可能と判断され（Ｓ７６）、処理を終了する。
【００７２】
ＰＢが第３基準値以上でないと判断された場合（Ｓ７１でＮＯ）、制御部１１は、ＰＢが第４基準値以下であるか否かを判断する（Ｓ７２）。第４基準値は第２基準値と同一でもよいし、異なった値でもよい。第４基準値とは、たとえば１０である。
【００７３】
ＰＢが第４基準値以下であると判断された場合（Ｓ７２でＹＥＳ）、制御部１１は、サーバ２００がコンテンツ送信不可能であると判断し（Ｓ７７）、処理を終了する。
【００７４】
ＰＢが第４基準値以下でないと判断された場合（Ｓ７２でＮＯ）、コントローラ１００は、サーバ２００へデータ取得コマンドを送信する（Ｓ７３）。
【００７５】
制御部１１は、サーバ２００からデータ取得コマンドに対する応答があったか否かを判断し（Ｓ７４）、応答がなかったと判断された場合（Ｓ７４でＮＯ）、サーバ２００はコンテンツ送信不可能であると判断する（Ｓ７７）。
【００７６】
応答があったと判断された場合（Ｓ７４でＹＥＳ）、制御部１１は、Ｌ２をインクリメントする（Ｓ７５）。制御部１１は、サーバ２００がコンテンツ送信可能であると判断し（Ｓ７６）、処理を終了する。
【００７７】
以上のように本実施形態によると、コントローラ１００は、ＰＡが第１基準値以上の場合又は、ＰＡが第２基準値以下の場合かつＰＢが第３基準値以上の場合は、コントローラ１００は、サーバ２００と一切通信することなくサーバ２００がコンテンツ送信可能と判断できる。また、コントローラ１００は、ＰＡが第２基準値以下の場合かつ、ＰＢが第４基準値以下の場合は、コントローラ１００は、サーバ２００と一切通信することなく、サーバ２００がコンテンツ送信不可能であると判断できる。
【００７８】
[サーバコンテンツ送信可能判断処理の実施形態４]
図１１は、制御部１１のサーバコンテンツ送信可能判断処理の第４実施形態を説明するフローチャートであり、図１０と同一の処理には同一符号を付し、説明を省略する。
【００７９】
Ｓ６１でＹＥＳと判断されたとき、制御部１１は、コントローラ１００からのサーチコマンドにサーバ２００が応答する確率ＰＡを計算する（Ｓ６３）。
【００８０】
制御部１１は、ＰＡが第５基準値以上であるか否かを判断する（Ｓ８４）。第５基準値は、たとえば９０である。第５基準値は、第１基準値または第３基準値と同一でもよいし、異なっていてもよい。
【００８１】
制御部１１によりＰＡが第５基準値以上であると判断された場合（Ｓ８４でＹＥＳ）、サーバ２００がコンテンツ送信可能と判断され（Ｓ７６）、処理を終了する。
【００８２】
制御部１１によりＰＡが第５基準値以上でないと判断された場合（Ｓ８４でＮＯ）、制御部１１はサーバ２００がコントローラ１００からのデータ取得コマンドに応答した確率ＰＢを算出する（Ｓ７０）。
【００８３】
制御部１１は、ＰＢが第６基準値以上であるか否かを判断する（Ｓ８６）。第６基準値は、たとえば９０である。第６基準値は、第２基準値又は第４基準値と同一でもよいし、異なっていてもよい。
【００８４】
制御部１１によりＰＢが第６基準値以上であると判断された場合（Ｓ８６でＹＥＳ）、サーバ２００がコンテンツ送信可能と判断され（Ｓ７６）、処理を終了する。
【００８５】
制御部１１によりＰＢが第６基準値以上でないと判断された場合（Ｓ８６でＮＯ）、サーバ２００がコンテンツ送信不可能と判断され（Ｓ７７）、処理を終了する。
【００８６】
以上のように本実施例によると、コントローラ１００は、サーバ２００と一切通信することなくサーバ２００がコンテンツ送信可能またはコンテンツ送信不可能であることを判断できる。
【００８７】
[サーバコンテンツ送信可能判断処理の実施形態５]
図１２は、制御部１１のサーバコンテンツ送信可能判断処理の第５の実施形態を説明するフローチャートである。図１０と同一の処理には同一符号を付し、説明を省略する。
【００８８】
Ｓ６１でＹＥＳと判断されたとき、サーバ２００がコントローラ１００のデータ取得コマンドに応答した確率ＰＢを算出する（Ｓ７０）。
【００８９】
制御部１１は、ＰＢが第７基準値以上であるか否かを判断する（Ｓ９４）。第７基準値は、たとえば９０である。第７基準値は、第２、第４又は第６基準値と同一でもよいし、異なっていてもよい。
【００９０】
制御部１１によりＰＢが第７基準値以上であると判断された場合（Ｓ９４でＹＥＳ）、サーバ２００がコンテンツ送信可能と判断され（Ｓ７７）、処理を終了する。
【００９１】
制御部１１によりＰＢが第７基準値以上でないと判断された場合（Ｓ９４でＮＯ）、制御部１１は、サーチコマンドにサーバ２００が応答する確率ＰＡを計算する（Ｓ６３）。
【００９２】
制御部１１は、ＰＡが第８基準値以上であるか否かを判断する（Ｓ９６）。第８基準値は、たとえば９０である。第８基準値は、第１、第３又は第５基準値と同一でもよいし、異なっていてもよい。
【００９３】
制御部１１によりＰＡが第８基準値以上であると判断された場合（Ｓ９６でＹＥＳ）、サーバ２００がコンテンツ送信可能と判断され（Ｓ７７）、処理を終了する。
【００９４】
制御部１１によりＰＡが第８基準値以上でないと判断された場合（Ｓ９６でＮＯ）、サーバ２００がコンテンツ送信不可能と判断され（Ｓ７６）、処理を終了する。
【００９５】
以上のように本実施形態５によると、制御部１１は、サーバ２００がコントローラ１００からのデータ取得コマンドに応答する確率ＰＢをＰＡよりも先に評価する。一般的に、ユーザにとってサーバ２００が利用可能であることは、サーバ２００のコンテンツデータを取得できることと等価であるので、データが実際に取得できることを示す確率ＰＢを先に評価することで、サーバ２００がコンテンツを実際に送信可能であることをより確実に判断することができる。
【００９６】
ところで、実施形態３、４又は５の実施形態を用いた場合、Ｌ１及びＬ２が更新されなくなることがある。たとえばＳ６１でＹＥＳになる場合である。ネットワーク環境の再構築、ルータ設定の変更及びサーバのファームウエアのアップデート等の要因により、コントローラ１００が生存通知パケットを正常に受信できるようになる可能性がある。そのような場合を想定し、サーバ応答履歴情報が更新される機会があることが好ましい。そこで、一定期間（たとえば数ヶ月単位など）ごとにサーバ応答履歴情報をすべて初期化し、再度サーバ応答履歴１２Ｂを更新しなおすようにしてもよい。
【００９７】
以上の処理によって、サーバ２００から定期的に生存通知パケットをコントローラ１００が受信できない場合であっても、サーバコンテンツ送信可能判断処理を行い、サーバ２００がコンテンツ送信可能であるか否かを判断し、確実にコンテンツ送信が可能なサーバをサーバリストに残すことが可能となる。  
【００９８】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態には限定されない。
また、コントローラは単なるコントローラでもよいし、レンダラの再生機能を併せ持つプレーヤーでもよい。また、コントローラはサーバに組み込まれてもよい。コントローラは、ＰＣ、携帯端末等に適用されうる。また、サーバが保持するコンテンツは、音楽コンテンツであってもよいし、静止画や動画コンテンツであってもよい。また、レンダラはネットワーク内に複数あってもよい。
【産業上の利用可能性】
【００９９】
本発明は、ＰＣや携帯端末等のネットワークコントローラ機器に好適に採用され得る。
【符号の説明】
【０１００】
１００          コントローラ
２００          サーバ
２００Ａ        サーバ
２００Ｂ        サーバ
２００Ｃ        サーバ
３００          レンダラ
１１                    制御部
１１Ａ          サーバ生存確認部
１１Ｂ          サーバコンテンツ送信可能判定部
１１Ｃ          サーバ応答履歴管理部
１１Ｄ          サーバリスト更新部
１２            記憶部
１２Ａ          サーバリスト
１２Ｂ                サーバ応答履歴
１２Ｃ          動作プログラム
１３            入力部
１４            表示部
１５            通信部
２１            ＨＤＤ
２２                    通信部
２３            制御部
２４                    記憶部
【図１】
0005708272.tif 000002
【図２】
0005708272.tif 000003
【図３】
0005708272.tif 000004
【図４】
0005708272.tif 000005
【図５】
0005708272.tif 000006
【図６】
0005708272.tif 000007
【図７】
0005708272.tif 000008
【図８】
0005708272.tif 000009
【図９】
0005708272.tif 000010
【図１０】
0005708272.tif 000011
【図１１】
0005708272.tif 000012
【図１２】
0005708272.tif 000013