(57)【要約】  オーディオビジュアルシステムは、各クライアントがサーバに接続されている第１クライアントと第２クライアントを有する。第１クライアントはテレビを有し、第２クライアントは小型画面とステレオシステムを有する。サーバは、各アイテムを記述する１以上のアセットを含むビデオプログラムや音楽などのアイテムを表すデータを格納する。アセットは、例えば、ビデオプログラム又は音楽の名前、アイテムのメタデータ（例えば、アーチスト、制作年又はアルバムなど）、静止画像（アルバムカバーやビデオの１フレーム）、又はユーザインタフェースのバックグラウンド画像又は広告などであってもよい。クライアントは、階層的なユーザインタフェースの形式によりアセットをユーザに提供する。ユーザは、アイテムをサーバに追加し、アイテムをサーバから削除し、又はサーバにすでに格納されているアセットを編集する毎に、ユーザインタフェースを更新する。図２は、ノードのネットワークから構成される一例となる階層的なユーザインタフェースを示す。
2007527067.tif 000002
【特許請求の範囲】
【請求項１】
電子製品のサーバ・クライアントシステム構成におけるユーザインタフェースデータを更新する方法であって、
サーバは、ユーザインタフェースの階層的アレイにおけるノードに関するメッセージを前記システムに送信し、
前記メッセージは、前記ユーザインタフェースのノードに対する最も直近のデータであるものの表示を提供し、
前記サーバは、前記メッセージに対する応答について前記システムをモニタする、
ことを特徴とする方法。
【請求項２】
請求項１記載の方法であって、
前記サーバが応答を受信する場合、前記サーバは、前記ユーザインタフェースのノードに対する最も直近のデータを送信することを特徴とする方法。
【請求項３】
請求項１又は２記載の方法であって、
前記メッセージは、前記ノードに対する現在のデータに関する情報を有し、
前記クライアントが前記現在のデータを有しない場合、応答が送信される、
ことを特徴とする方法。
【請求項４】
請求項１乃至３何れか一項記載の方法であって、
前記メッセージ送信及び応答モニタリング処理は、前記アレイのいくつかのノードについて繰り返されることを特徴とする方法。
【請求項５】
請求項１乃至４何れか一項記載の方法であって、
前記アレイは、複数のユーザインタフェースアクショングループにより構成され、
応答が受信されると、前記サーバは、前のノードと同一のユーザインタフェースグループにおける次のノードに関するメッセージを送信する、
ことを特徴とする方法。
【請求項６】
請求項１乃至５何れか一項記載の方法であって、
前記アレイは、複数のユーザインタフェースアクショングループにより構成され、
応答が受信されないと、前記サーバは、前記アレイの次のユーザインタフェースグループにおけるノードに関するメッセージを送信する、
ことを特徴とする方法。
【請求項７】
請求項１乃至６何れか一項記載の方法であって、さらに、
前記サーバが、データが更新された直近の時点を示すタイムスタンプを有するデータを有するメッセージを送信するステップを有することを特徴とする方法。
【請求項８】
請求項１乃至７何れか一項記載の方法であって、さらに、
クライアントにおけるキャッシュの前記ユーザインタフェースノードに関するデータを格納するステップを有することを特徴とする方法。
【請求項９】
請求項１乃至８何れか一項記載の方法であって、さらに、
前記クライアントが、前記アレイの何れかにおいて更新が必要とされることを示すステップを有することを特徴とする方法。
【請求項１０】
請求項１乃至９何れか一項記載の方法であって、
前記クライアントは、キャッシュ更新について前記ノードの下位の最も以前のデータの情報を送信することを特徴とする方法。
【請求項１１】
コンピュータ上で実行されると、請求項１乃至８の何れか１以上の方法を実行するためのソフトウェアコード部分を有し、デジタルコンピュータの内部メモリに直接ロード可能なコンピュータプログラム。
【請求項１２】
コンピュータ上で実行されると、請求項１乃至１０の何れか１以上の方法を実行するためのソフトウェアコード部分を有し、デジタルコンピュータの内部メモリに直接ロード可能なコンピュータプログラム。
【請求項１３】
請求項１２のコンピュータプログラムに対する電子信号を有することが可能なキャリア。
【請求項１４】
請求項１１又は１２記載のコンピュータプログラム又は請求項１３のキャリアの電子配信。
【請求項１５】
電子製品のサーバ・クライアントシステム構成におけるユーザインタフェースデータを更新するシステムであって、
ユーザインタフェースの階層的アレイにおけるノードに関するメッセージを当該システムに送信するサーバを有し、
前記メッセージは、前記ユーザインタフェースのノードに対する最も直近のデータであるものの表示を提供し、
前記サーバは、前記メッセージに対する応答について前記システムをモニタする、
ことを特徴とするシステム。
【請求項１６】
請求項１６記載のシステムであって、
前記サーバは、該サーバが応答を受信する場合、前記ユーザインタフェースのノードに対する最も直近のデータを送信する手段を有することを特徴とするシステム。
【請求項１７】
請求項１５又は１６記載のシステムであって、
前記メッセージは、前記ノードに対する現在のデータに関する情報を有し、
前記クライアントが前記現在のデータを有しない場合、さらに応答を送信する手段を有する、
ことを特徴とするシステム。
【請求項１８】
請求項１５乃至１７何れか一項記載のシステムであって、さらに、
前記アレイのいくつかのノードについて前記メッセージ送信及び応答モニタリング処理を繰り返す手段を有することを特徴とするシステム。
【請求項１９】
請求項１５乃至１８何れか一項記載のシステムであって、
前記アレイは、複数のユーザインタフェースアクショングループにより構成され、
応答が受信されると、前記サーバは、前のノードと同一のユーザインタフェースグループにおける次のノードに関するメッセージを送信する手段を有する、
ことを特徴とするシステム。
【請求項２０】
請求項１５乃至１９何れか一項記載のシステムであって、
前記アレイは、複数のユーザインタフェースアクショングループにより構成され、
応答が受信されないと、前記サーバは、前記アレイの次のユーザインタフェースグループにおけるノードに関するメッセージを送信する、
ことを特徴とするシステム。
【請求項２１】
電子製品のサーバ・クライアント構成におけるユーザインタフェースデータを更新するシステムのためのサーバであって、
ユーザインタフェースの階層的アレイにおけるノードに関するメッセージを前記システムに送信する手段を有し、
前記メッセージは、前記ユーザインタフェースのノードに対する最も直近のデータであるものの表示を提供し、
前記サーバは、前記メッセージに対する応答について前記システムをモニタする、
ことを特徴とするサーバ。
【請求項２２】
請求項２１記載のサーバであって、
当該サーバは、該サーバが応答を受信する場合、前記ユーザインタフェースのノードに対する最も直近のデータを送信する手段を有することを特徴とするサーバ。
【請求項２３】
請求項２１又は２２記載のサーバであって、
前記メッセージは、前記ノードに対する現在のデータに関する情報を有し、
前記クライアントが前記現在のデータを有しない場合、さらに応答を送信する手段を有する、
ことを特徴とするサーバ。
【請求項２４】
請求項２１乃至２３何れか一項記載のサーバであって、さらに、
前記アレイのいくつかのノードについて前記メッセージ送信及び応答モニタリング処理を繰り返す手段を有することを特徴とするサーバ。
【請求項２５】
請求項２１乃至２４何れか一項記載のサーバであって、
前記アレイは、複数のユーザインタフェースアクショングループにより構成され、
応答が受信されると、当該サーバは、前のノードと同一のユーザインタフェースグループにおけるノードに関するメッセージを送信する手段を有する、
ことを特徴とするサーバ。
【請求項２６】
請求項２１乃至２５何れか一項記載のサーバであって、
前記アレイは、複数のユーザインタフェースアクショングループにより構成され、
応答が受信されないと、前記サーバは、前記アレイの次のユーザインタフェースグループにおけるノードに関するメッセージを送信する、
ことを特徴とするサーバ。
【請求項２７】
電子製品のサーバ・クライアントシステム構成におけるユーザインタフェースデータを更新するクライアントであって、
ユーザインタフェースの階層的アレイにおけるノードに関する前記システムへのメッセージを受信する手段を有し、
前記メッセージは、前記ユーザインタフェースのノードに対する最も直近のデータであるものの表示を提供する、
ことを特徴とするクライアント。
【請求項２８】
請求項２７記載のクライアントであって、さらに、
当該クライアントが前記ノードに対する現在のデータを有しない場合、メッセージ対する応答を送信する手段を有することを特徴とするクライアント。
【請求項２９】
請求項２７又は２８記載のクライアントであって、
前記アレイは、複数のユーザインタフェースアクショングループにより構成され、
応答が受信されると、サーバは、前のノードと同一のユーザインタフェースグループにおけるノードに関するメッセージを送信する手段を有する、
ことを特徴とするクライアント。
【請求項３０】
請求項２７乃至２９何れか一項記載のクライアントであって、
前記アレイは、複数のユーザインタフェースアクショングループにより構成され、
応答が受信されないと、サーバは、前記アレイの次のユーザインタフェースグループにおけるノードに関するメッセージを送信する、
ことを特徴とするクライアント。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバと１以上のクライアントとを有する家庭内オーディオビジュアルエンターテイメントシステムに関する。
【背景技術】
【０００２】
図１において本発明が基づくタイプの一例となるオーディオビジュアルシステムが示される。当該システムは、各クライアントがサーバに接続される２つのクライアントを有する。
【０００３】
サーバは、１以上のクライアントにより抽出に利用可能な、ビデオプログラムや音楽などのアイテムを表すデータを格納する。サーバに格納されている各アイテムを表すデータは、当該アイテムを記述する１以上のアセットを含む。アセットは、例えば、ビデオプログラムや音楽の名前であるかもしれない。
【０００４】
クライアントは、図２に示されるものなど、階層的なユーザインタフェースの形式によりユーザアセットを提供する。
【０００５】
アセットはサーバ上に格納されるが、ユーザインタフェースのページがレンダリングされる毎にクライアントによって使用されるため、サーバからクライアントにアセットを効率的に転送する方法についての問題が存在する。
【０００６】
従来、クライアントは、ユーザインタフェースのページをレンダリングする毎に、サーバからアセットをリクエストする。このような情報の転送は、特にサーバがビジーであるか、あるいはネットワークが混雑している場合、顕著な遅延を発生させる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の課題は、電子製品のサーバ・クライアント構成におけるユーザインタフェースデータの定期的な更新を提供することである。
【０００８】
本発明の他の課題は、ネットワーク帯域幅を最小限に維持しながら、電子製品のサーバ・クライアント構成におけるユーザインタフェースデータの更新を提供することである。
【０００９】
本発明の他の課題は、サーバ・クライアント構成における電子製品のユーザインタフェースデータを維持することである。
【課題を解決するための手段】
【００１０】
本発明は、電子製品のサーバ・クライアントシステム構成におけるユーザインタフェースデータを更新する方法であって、サーバは、ユーザインタフェースの階層的アレイにおけるノードに関するメッセージを前記システムに送信し、前記メッセージは、前記ユーザインタフェースのノードに対する最も直近のデータであるものの表示を提供し、前記サーバは、前記メッセージに対する応答について前記システムをモニタする、ことを特徴とする方法を提供する。
【００１１】
好ましくは、本方法では、前記サーバが応答を受信する場合、前記サーバは、前記ユーザインタフェースのノードに対する最も直近のデータを送信する。前記メッセージは、前記ノードに対する現在のデータに関する情報を有し、前記クライアントが前記現在のデータを有しない場合、応答が送信される。
【００１２】
効果的には、前記メッセージ送信及び応答モニタリング処理は、前記アレイのいくつかのノードについて繰り返される。
【００１３】
前記アレイは、複数のユーザインタフェースアクショングループにより構成され、応答が受信されると、前記サーバは、前のノードと同一のユーザインタフェースグループにおける次のノードに関するメッセージを送信し、応答が受信されないと、前記サーバは、前記アレイの次のユーザインタフェースグループにおけるノードに関するメッセージを送信する。
【００１４】
本方法では、前記サーバが、データが更新された直近の時点を示すタイムスタンプを有するデータを有するメッセージを送信してもよい。本方法は、好ましくは、クライアントにおけるキャッシュの前記ユーザインタフェースノードに関するデータを格納するステップを有する。
【００１５】
本発明はまた、コンピュータ上で実行されると、本発明の方法を実行するためのソフトウェアコード部分を有し、デジタルコンピュータの内部メモリに直接ロード可能なコンピュータプログラムプロダクトを提供する。
【００１６】
本発明はまた、コンピュータ上で実行されると、本発明の方法を実行するためのソフトウェアコード部分を有し、デジタルコンピュータの内部メモリに直接ロード可能なコンピュータプログラムを提供する。
【００１７】
本発明はまた、本発明のコンピュータプログラムに対する電子信号を有することが可能なキャリアを提供する。
【００１８】
本発明はまた、本発明のコンピュータプログラムプロダクト、コンピュータプログラム又はキャリアの電子配信を提供する。
【００１９】
本発明はまた、電子製品のサーバ・クライアントシステム構成におけるユーザインタフェースデータを更新するシステムであって、ユーザインタフェースの階層的アレイにおけるノードに関するメッセージを当該システムに送信するサーバを有し、前記メッセージは、前記ユーザインタフェースのノードに対する最も直近のデータであるものの表示を提供し、前記サーバは、前記メッセージに対する応答について前記システムをモニタする、ことを特徴とするシステムを提供する。
【００２０】
本システムでは、前記サーバは、該サーバが応答を受信する場合、前記ユーザインタフェースのノードに対する最も直近のデータを送信する手段を有し、前記アレイのいくつかのノードについて前記メッセージ送信及び応答モニタリング処理を繰り返す手段を有するようにしてもよい。
【００２１】
本発明はまた、電子製品のサーバ・クライアント構成におけるユーザインタフェースデータを更新するシステムのためのサーバであって、ユーザインタフェースの階層的アレイにおけるノードに関するメッセージを前記システムに送信する手段を有し、前記メッセージは、前記ユーザインタフェースのノードに対する最も直近のデータであるものの表示を提供し、前記サーバは、前記メッセージに対する応答について前記システムをモニタする、ことを特徴とするサーバを提供する。
【００２２】
本発明はまた、電子製品のサーバ・クライアントシステム構成におけるユーザインタフェースデータを更新するクライアントであって、ユーザインタフェースの階層的アレイにおけるノードに関する前記システムへのメッセージを受信する手段を有し、前記メッセージは、前記ユーザインタフェースのノードに対する最も直近のデータであるものの表示を提供する、ことを特徴とするクライアントを提供する。
【発明の効果】
【００２３】
このようにして、本発明は、電子製品のサーバ・クライアント構成におけるユーザインタフェースデータの効率的かつ高速な定期的更新を提供する。
【００２４】
本発明の効果は、ユーザ情報データの効率的かつ迅速な更新を保証することである。
【００２５】
他の効果は、製品の現在の構成について、特にキャッシュされたユーザインタフェースデータについて現在使用されているユーザインタフェースデータについてのみメッセージが送信されるということである。
【００２６】
他の効果は、クライアントキャッシュの何れもが更新を必要としない場合、１つのメッセージのみが送信されるということである。
【００２７】
他の効果は、クライアントがビジー状態である場合、システムはそれにデータを送信しようとしないことである。
【００２８】
さらなる効果は、構成においてクライアントがスイッチオフされる場合、サーバに影響が及ばないということである。
【００２９】
本発明は、典型的には特に、テレビ、ビデオ及びＤＶＤプレーヤー及びオーディオシステムを含む家庭内ネットワーキング及びオーディオビジュアルエンターテイメントシステムなどの電子製品の構成に適用可能である。
【００３０】
本発明は、標準的なＴＣＰ／ＩＰネットワーキングを用いて実現されてもよく、データはＵＤＰブロードキャストパケットを用いてサーバ・クライアントシステム内で送信可能である。
【発明を実施するための最良の形態】
【００３１】
図１は、各クライアント１４と１６がサーバ１２に接続される第１クライアント１４と第２クライアント１６を含む一例となるオーディオビジュアルシステム１０を示す。第１クライアント１４はテレビを有し、第２クライアント１６は小型画面２０とステレオシステム２２とを有する。
【００３２】
サーバ１２は、各アイテムを記述する１以上のアセット２８を含む、ビデオプログラムや音楽などのアイテムを表すデータを格納する。アセット２８は、例えば、ビデオプログラム又は音楽の名前、アイテムのメタデータ（例えば、アーチスト、制作年又はアルバムなど）、静止画像（アルバムカバーやビデオの１フレーム）、又はユーザインタフェースのバックグラウンド画像又は広告などであってもよい。
【００３３】
クライアント１４と１６は、階層的なユーザインタフェース３０の形式によりアセット２８をユーザに提供する。ユーザは、アイテムをサーバ１２に追加し、アイテムをサーバ１２から削除し、又はサーバ１２にすでに格納されているアセットを編集する毎に、ユーザインタフェース３０を更新する。
【００３４】
図２は、ノードのネットワークから構成される一例となる階層的なユーザインタフェース３０を示す。
【００３５】
ユーザインタフェース３０の各ノードは、ディレクトリ５４又はアセット２８である。ディレクトリ５４は、他のディレクトリ５４、アセット２８を含むことが可能であり、又は何も含まないことも可能であり、ユーザがユーザインタフェース３０内で自らのアセット２８を構成する手段である。ユーザインタフェース３０は、“／ｔｅｘｔ”、“／ｉｍａｇｅｓ”、“／ｖｉｄｅｏ”及び“／ｍｕｓｉｃ”である複数の他のディレクトリ５４を含むルートディレクトリ“／”から構成される。これらのディレクトリ５４の一部は、ディレクトリ“／ｉｍａｇｅｓ”のアセット“ｐｉｃ１”など、さらなるディレクトリ５４及び／又はアセット２８を含む。ユーザインタフェース３０のノードの位置は、パス“／ｉｍａｇｅｓ／ｐｉｃ１”によって記述されるなど、アセット“ｐｉｃ１”のパスによって記述される。
【００３６】
各アセット２８について、サーバは、アセット２８のパスと、アセット２８が更新された直近の時点を示すタイムスタンプとを格納する。
【００３７】
各クライアント１４と１６は、キャッシュ２４を格納及び維持する。キャッシュ２４へのエントリは、アセット２８、アセット２８のパス及びエントリが更新された直近の時点を示すタイムスタンプを有する。キャッシュ２４は、ユーザによって最も頻繁にリクエストされる当該クライアント１４と１６によって使用されるアセット２８のみに関するエントリを含む。
【００３８】
アセット２８は、主としてサーバ１２上に格納されるが、クライアント１４と１６によってキャッシュされるため、各クライアント１４と１６のキャッシュ２４は、定期的に更新される必要がある。
【００３９】
サーバ１２は、サーバ１２上に格納されるユーザインタフェース３０を定期的にスキャンし、それがノードに遭遇する毎に、すべてのクライアント１４と１６にメッセージを配信するデーモン２６を有する。デーモン２６によって配信される各メッセージは、ノードのパス（例えば、“／ｉｍａｇｅｓ／ｐｉｃ１”など）と、何れのアセット２８が直近に更新されたか、当該パスを含むパスを有するアセット２８が更新された直近の時点を示すタイムスタンプと、存在する場合には、クライアント１４と１６がメッセージに対するそれの応答において含むＩＤとを含む。
【００４０】
サーバ１２からのそのようなメッセージの受信により、クライアント１４と１６は、メッセージのコンテンツとそれのキャッシュ２４のコンテンツを比較する。キャッシュ２４がメッセージにおいて特定されるパスを含むパスを有する更新を要するアセット２８に関するエントリを含む場合（実質的には、それ以下の任意のノードが関連するエントリを有する）、クライアント１４と１６は、サーバ１２に応答する。そうでない場合、クライアント１４と１６は応答しない。
【００４１】
図３は、クライアント１４と１６によって実行される方法を詳細に示すフローチャートである。
【００４２】
クライアント１４と１６は、ステップ３０２において、サーバ１２からメッセージを受け付ける。ステップ３０４において、クライアント１４と１６はそれのキャッシュ２４を調べ、メッセージにおいて特定されたパスを含むパスを有するアセット２８に関するエントリが、キャッシュ２４に存在しない場合、ステップ３０８において、クライアント１４と１６は、メッセージに応答しない。ステップ３０４において、キャッシュ２０４がこのようなエントリを含む場合、ステップ３０６において、クライアント１４と１６は、エントリに格納されているタイムスタンプとメッセージに含まれているタイムスタンプとを比較する。エントリに格納されているタイムスタンプがメッセージに含まれているものと等しい場合、ステップ３０８において、クライアント１４と１６は応答しない。エントリに格納されているタイムスタンプがメッセージに含まれているものより以前のものである場合、メッセージにおいて特定されるパスを含む期限切れのアセット２８が存在することを示す場合、ステップ３１０において、クライアント１４と１６は、サーバ１２に応答する。クライアント１４と１６の応答は、何れのＩＤによってサーバ１２が何れのメッセージを特定し、従って、何れのノードが応答を促したかに関するサーバ１２のメッセージに含まれるＩＤを含む。
【００４３】
クライアント１４と１６は、忙しすぎて応答することができないか、あるいはスイッチオフされてもよい。このようなケースでは、クライアント１４と１６は、メッセージに応答しない。
【００４４】
サーバ１２は、メッセージ送信後、所定の期間待機する。
【００４５】
サーバ１２があるパスを特定するメッセージに対する応答を受信しない場合、デーモン２６は、１つ存在する場合には、最後のものと同一のディレクトリの次のノードに移行する。このようにして、更新が要求されないアセット２８又はディレクトリ５４は回避される。
【００４６】
サーバ１２がクライアント１４と１６からの応答を受信する場合、当該応答を促したノードがディレクトリ５４であるときには、デーモン２６は、当該ディレクトリ５４に含まれる最初のノードに移行し、ノードがアセット２８である場合、サーバは、応答を送信したクライアント１４と１６に更新されたアセット２８を送信する。
【００４７】
デーモン２６は、以前のアセット２８のすべてが検出及び更新されるまで継続する。
【００４８】
図４は、上述されたようなサーバ１２によって実行される方法を詳細に示すフローチャートである。
【００４９】
デーモン２６は常にルートディレクトリ“／”から始める。
【００５０】
一般に、デーモン２６がノードに遭遇するときは常に、ステップ４０４において、それは上述されるような当該ノードのパスを含むメッセージを送信する。ステップ４０８において、サーバ１２がクライアント１４と１６から応答を受信する場合、メッセージおいて特定されるノードがアセット２８であるとき、ステップ４１８において、更新されたアセット２８が応答したクライアント１４と１６に送信され、メッセージおいて特定されたノードがディレクトリ５４であるとき、ステップ４２０において、デーモン２６は、最初のノードのパスを特定するメッセージを送信するためステップ４０４に戻る前に、当該ディレクトリ５４の最初のノードに移行する。
【００５１】
デーモン２６は、クライアント１４と１６からの応答が受信されるときにはパスを下って、現在のペアレントディレクトリ５４にもはやノードが存在しないときにはパスを上がって移行し、そうでない場合には、あるペアレントディレクトリ５４の各ノードに対するメッセージを送信する。本方法は、デーモン２６が階層をルートディレクトリ“／”に戻って上がるとき終了する。
【００５２】
このように、以前のすべてのアセット２８がデーモン２６によって検出され、以前のアセット２８のみを含む階層のパスは検索されない。明らかに、ユーザインタフェースのすべてのノードが以前のアセット２８と関連付けされている場合、サーバ１２は、ルートディレクトリ“／”を特定する１つのメッセージのみを送信する。
【００５３】
図５及び以下の説明は、図１のオーディオビジュアルシステム１０のサーバ１２とクライアント１４と１６との間で行われる送信を示す。システム１０は、ユーザインタフェース３０の“ｖｉｄｅｏｓ／ｉｍａｇｅｓ／ｓｔｉｌｌ３”と“／ｍｕｓｉｃ／ｉｍａｇｅｓ／ｐｉｃ２”であるパスを有するアセット２８が更新されており、各クライアント１４と１６の各キャッシュ２４に格納されている対応するアセット２８が以前のものである一例となるシナリオにおいて、図３及び４の方法を使用する。クライアント１４はテレビ１８を有するため、アセット“ｖｉｄｅｏｓ／ｉｍａｇｅｓ／ｓｔｉｌｌ３”がクライアント１４によって使用され、クライアント１６が小型画面２０とステレオシステム２２とを有するため、アセット“ｍｕｓｉｃ／ｉｍａｇｅｓ／ｐｉｃ２”はクライアント１６によって使用される。
【００５４】
サーバ１２のデーモン２６は、パス“／”を特定し、“ｖｉｄｅｏｓ／ｉｍａｇｅｓ／ｓｔｉｌｌ３”又は“／ｍｕｓｉｃ／ｉｍａｇｅｓ／ｐｉｃ２”が更新された時点を示すタイムスタンプを含むメッセージを配信することによって開始される。何れか以降のものであろうと、これは、パス“／”を含むパスを有するアセット２８が更新された直近の時点である。
【００５５】
双方のクライアント１４と１６は、各々がそれのキャッシュ２４に、パス“／”を含むノードについて、メッセージに含まれるものより以前のタイムスタンプを含むため、当該メッセージに応答する。
【００５６】
パス“／”はディレクトリ５４に関するものであるため、デーモン２６は、各クライアント１４と１６から応答を受信した後、“／ｔｅｘｔ”のノードを有するパスのディレクトリ５４の最初のノードに移行する。
【００５７】
クライアント１４と１６のキャッシュ２４の何れのエントリも、当該パスを含むパスを有するアセット２８を格納しているため（ディレクトリ“／ｔｅｘｔ”内に全くアセット２８が存在しない）、クライアント１４と１６は応答しない。
【００５８】
デーモン２６は、それがパス“／ｖｉｄｅｏｓ”を特定するメッセージにクライアント１４からの応答を受信するまで、ルートディレクトリ“／”における各ノードに対するパスを特定するメッセージを送信することによって移行する。なぜなら、当該パスを含むパスを有するアセット２８は、更新されているためであり、更新されたアセット２８のパスは、“ｖｉｄｅｏｓ／ｉｍａｇｅｓ／ｓｔｉｌｌ３”である。
【００５９】
デーモン２６は、それがアセット２８を特定するパス“ｖｉｄｅｏｓ／ｉｍａｇｅｓ／ｓｔｉｌｌ３”を特定するメッセージを送信するまで継続する。パス“ｖｉｄｅｏｓ／ｉｍａｇｅｓ／ｓｔｉｌｌ３”を含むそれのキャッシュ２４のエントリは、メッセージに含まれるものより以前のタイムスタンプを含むため、クライアント１４は応答する。クライアント１４の応答は、サーバ１２のメッセージに含まれるＩＤを有する。従って、サーバ１２は、クライアント１４のキャッシュ２４におけるアセット“ｓｔｉｌｌ３”を以前のものであるとして特定する。
【００６０】
サーバ１２がクライアント１４の応答を受信すると、それは、シンプルデータ送信プロ所を使用して、アセット“ｖｉｄｅｏｓ／ｉｍａｇｅｓ／ｓｔｉｌｌ３”のデータをクライアント１４に送信する。
【００６１】
デーモン２６は、パス“／ｍｕｓｉｃ／ｉｍａｇｅｓ／ｐｉｃ２”を特定するメッセージがクライアント１６に応答するよう促すまで、図４の方法に従って移行し、そのとき、サーバ１２は、アセット“／ｍｕｓｉｃ／ｉｍａｇｅｓ／ｐｉｃ２”のデータをクライアント１６に送信する。
【００６２】
本発明の第２実施例によると、クライアント１４と１６がサーバ１２に応答すると、それは、それの応答において、最も以前のエントリのタイムスタンプをそれのキャッシュ２４に含める。サーバ１２は、その時点から削除されたノードを特定し、クライアント１４と１６がそれのキャッシュ２４からこれらのノードに関するエントリを削除することができるように、クライアント１４と１６に削除メッセージにおいてこれらを特定する。
【００６３】
図６は、本発明の第２実施例によりクライアント１４と１６によって実行される方法を詳細に示すフローチャートである。
【００６４】
ステップ３０２と３１０は、図３を参照して上述されたものと同一である。
【００６５】
クライアント１４と１６がパスを特定するメッセージをサーバから受信し、クライアント１４と１６のキャッシュ２４が、当該パスを含むエントリを含むとき、ステップ６１２において、クライアント１４と１６は、メッセージが削除メッセージであるか判断する。そうである場合、ステップ６１４において、削除メッセージに指定されるノードを含む何れかのエントリがキャッシュ２４から削除される。
【００６６】
図７は、本発明の第２実施例によるサーバ１２によって実行される方法を詳細に示すフローチャートである。
【００６７】
ステップ４０２から４２２は、図４を参照して上述されるものと同一である。
【００６８】
ステップ４１０において、デーモン２６が現在のペアレントディレクトリ内にはもはやノードが存在しないとわかると、それはステップ７２４に移行し、クライアント１４と１６の応答に示される時間まで、ノードがペアレントディレクトリから削除されたか判断される。クライアント１４と１６によって送信されたタイムスタンプからノードが削除されている場合、サーバ１２は、削除された各ノードを示すメッセージをクライアント１４と１６に送信する。そうでない場合、デーモン２６は、上述のようにステップ４１２に移行する。
【００６９】
一変形では、クライアント１４と１６からサーバ１２への応答は、サーバのメッセージにおいて特定されたノードのパスを有し、従って、サーバのメッセージもクライアントのメッセージもＩＤを必要としない。
【００７０】
クライアント１４と１６はＨＴＴＰを用いて応答してもよく、その場合、クライアント１４と１６がサーバ１２とのＨＴＴＰ接続を開き、以前のものとして特定されたアセット２８に対するデータをリクエストする。
【００７１】
クライアント１４と１６は、それの応答において、サーバ１２のメッセージに示されるパスを含むそれのキャッシュ２４内の何れのノードが更新を必要としているか示すものであってもよく、従って、デーモン２６が階層における当該ポイントの下位において遭遇する各ノードについてメッセージを送信する必要を回避することができる。このようなシステムは上述した実施例より数倍高速に実行可能であるが、それはより複雑であり、従ってあまりスケーラブルではない。
【００７２】
当業者は、ここで説明された本発明について小さな改良が可能であるということは明らかであり、当該改良は、以下の請求項の文字通りの記載から逸脱するが、にもかかわらず意図されたその意味の範囲内のものである。
【図面の簡単な説明】
【００７３】
【図１】図１は、本発明が基づくタイプの一例となるオーディオビジュアルシステムの概略図である。
【図２】図２は、本発明が基づくタイプの一例となる階層的なユーザインタフェースの概略図である。
【図３】図３は、本発明の第１実施例によるクライアントによって実行される方法を示すフローチャートである。
【図４】図４は、本発明の第１実施例によるサーバによって実行される方法を示すフローチャートである。
【図５】図５は、図３及び４の方法を使用した図１のオーディオビジュアルシステムの要素間の一例となるシナリオの送信を表す。
【図６】図６は、本発明の第２実施例によるクライアントによって実行される方法を示すフローチャートである。
【図７】図７は、本発明の第２実施例によるサーバによって実行される方法を示すフローチャートである。
【図１】
2007527067.tif 000003
【図２】
2007527067.tif 000004
【図３】
2007527067.tif 000005
【図４】
2007527067.tif 000006
【図５】
2007527067.tif 000007
【図６】
2007527067.tif 000008
【図７】
2007527067.tif 000009
【国際調査報告】
2007527067.tif 000010
2007527067.tif 000011