(57)【要約】【解決手段】画像のフレームのサブセットを更新する方法で、画像のフレームは複数のタイルに細分される。キューの最下部に静止した最後のパケットを有する固定サイズのキューを提供し、画像のフレームに対応する複数のパケットが時間順で最後のパケットの上に配置される。次に複数パケット中前に受信されたパケットに対応する更新パケットが受信され、時間順を保ちながら前に受信されたパケットが更新パケットで置き換えられる。パケットの置き換えは、前に受信したパケットの特定、前に受信したパケットを指すポインタを前に受信したパケットの下のパケットを指すように調整すること及び前に受信したパケットを固定サイズのキューの最上部に移動させることを含む。【選択図】図４
2004032773.tif 000002
【特許請求の範囲】
【請求項１】
シングルバッファーのマルチポイントディスパッチャーによってプレゼンテーション用画像のセットをネットワーク上で複数のクライアントに更新する方法で、
プレゼンテーションに含まれる画面のセットを定義すること、
画面のセットの各画面をタイルに分割すること、
最上部のパケットが最も新しい時間値を有し、最下部のパケットが最も古い時間値を有する時間順のヒエラルキーに基づいて第１画面の各タイルに対応するパケットをシングルバッファーのマルチポイントディスパッチャーに格納すること、
第１画面の各タイルを第２画面の対応するタイルと比較して第１画面と第２画面との一致しないタイルを判断すること、
一致しない各タイルに対応するパケットをシングルバッファーのマルチポイントディスパッチャーに提供すること、及び
時間順のヒエラルキーを保ちながら第１画面の一致しない各タイルに対応するパケットを第２画面の一致しない各タイルで置き換え、時間順のヒエラルキーを保ちながらパケットを置き換えることにより異なったフレーム率で異なった接続速度のクライアントのサポートを可能にすること、
からなる方法。
【請求項２】
請求項１に記載の方法で、時間順のヒエラルキーに基づいて第１画面の各タイルに対応するパケットをシングルバッファーのマルチポイントディスパッチャーに格納する方法のオペレーションが各パケットをシングルバッファーのマルチポイントディスパッチャーに導入した時間に従って固定サイズのキューに配置することを含む方法。
【請求項３】
請求項１に記載の方法で、一致しない各タイルに対応するパケットをシングルバッファーのマルチポイントディスパッチャーに提供する方法のオペレーションが複数のパケットをグループ化してシングルバッファーのマルチポイントディスパッチャーに提供する１つのパケットを定義することを含む方法。
【請求項４】
複数のパケットがタイムスタンプ及びインデックスに基づいてグループ化されている請求項３に記載の方法。
【請求項５】
請求項１に記載の方法で、パケットの置き換えに応じ、
置き換えられたパケットの１つを指すポインタを特定すること、及び
置き換えられたパケットの１つの下にあるパケットを指すようにポインタを移動させること、
を含む方法。
【請求項６】
請求項１に記載の方法で、シングルバッファーのマルチポイントディスパッチャーがパケットを供給する処理に通知しクライアント待ち時間に基づいて送付速度を変更することを可能にする制御プロトコルをサポートするように構成された帯域幅制御チャンネルをシングルバッファーのマルチポイントディスパッチャーが含む方法。
【請求項７】
複数のクライアントが共用する固定サイズバッファーを有するマルチポイントディスパッチャーによりパケットを配信する方法で、
複数のパケットを含むように構成された固定サイズのキューを提供すること、
複数のクライアントの１つ用に複数のクライアントの１つが受信したキューにおける最新のパケットを指すクライアントポインタを定義すること、
前に受信したキューにおけるパケットに対応する更新パケットを受信すること、及び
キューにおける前に受信したパケットを更新パケットで置き換えること、
を含み、該置き換えは、
クライアントポインタが置き換えられるパケットを指しているか判断すること、及び
クライアントポインタが置き換えられるパケットを指している場合は置き換えられるパケットを指しているクライアントポインタを調節して置き換えられるパケットの下のパケットを指すようにすること、
からなる方法。
【請求項８】
固定サイズのキューがヘッド及びテールを含む請求項７に記載の方法。
【請求項９】
請求項８に記載の方法で、新クライアントに関連付けられるポインタに固定サイズのキューのテールを指させることによりパケットを受信する新クライアントを追加することをさらに含む方法。
【請求項１０】
固定サイズのキューにおけるパケットが時間順になっている請求項７に記載の方法。
【請求項１１】
固定サイズのキューにおけるパケットが２重リンクされている請求項７に記載の方法。
【請求項１２】
請求項７に記載の方法で、前に受信したキューにおけるパケットに対応する更新パケットを受信する方法のオペレーションが、
前に受信したキユーにおけるパケットを見つけること、
前に受信したパケットを更新パケットで置き換えること、及び
前に受信したパケットをキューの最上部に移動させること、
を含む方法。
【請求項１３】
請求項１０に記載の方法で、固定サイズのキューにおける時間順を保つことによってより低速の接続を有するクライアントにより低速のフレーム率が提供される方法。
【請求項１４】
フレームが複数のタイルに細分されている画像フレームのサブセットを更新する方法で、
固定サイズのキューの最下部に静止している最後のパケットを有する固定サイズのキューを提供すること、
最後のパケットの上に時間順で画像のフレームに対応する複数のパケットを格納すること、
複数パケットの内前に受信したパケットに対応する更新パケットを受信すること、及び
時間順を保ちながら前に受信したパケットを更新パケットで置き換えること、を含み、該置き換えは、
前に受信したパケットを特定し、
前に受信したパケットを指すポインタを前に受信したパケットの下のパケットを指すように調整すること、及び
前に受信したパケットを固定サイズのキューの最上部に移動させること、
を含む方法。
【請求項１５】
請求項１４に記載の方法で、固定サイズのキューがキューの最上部に最新の受信パケットを含み、最新の受信パケットは最新の受信パケットを指すポインタを有する方法。
【請求項１６】
複数のパケットが２重リンクのリストとして構成されている請求項１４に記載の方法。
【請求項１７】
クライアントに帯域幅制御を提供することをさらに含む請求項１５に記載の方法。
【請求項１８】
請求項１７に記載の方法で、クライアントに帯域幅制御を提供することを含む方法のオペレーションが、
最新の受信パケットを指すポインタを見つけることによって最新のタイムスタンプを判断すること、
クライアントポインタが指すパケットに対応するタイムスタンプを判断すること、
最新のタイムスタンプとクライアントポインタが指すパケットに対応するタイムスタンプとの差を計算すること、及び
上記の差が閾値を超えたことに応じ、より長い間隔で画面を取り込むことを取り込み処理に要求すること、
を含む方法。
【請求項１９】
請求項１４に記載の方法で、複数のパケットがフレームにおける複数の画像タイルに対応し、フレーム内の複数の画像タイルはサイズが異なることができる方法。
【請求項２０】
フレームが複数のタイルに細分されている画像フレームのサブセットを更新するためのプログラム命令を有するコンピュータ読み取り可能な媒体で、
画像のフレームに対応する複数のパケットを時間順で固定サイズのキューの最下部に静止している最後のパケットを有する固定サイズのキューに格納するためのプログラム命令、
前に受信した複数のパケット中のパケットに対応する更新パケットを受信するためのプログラム命令、及び
時間順を保ちながら前に受信したパケットを更新パケットで置き換えるためのプログラム命令、
からなり、該置き換えるためのプログラム命令は、
前に受信したパケットを特定するためのプログラム命令、
前に受信したパケットを指すポインタが前に受信したパケットの下にあるパケットを指すように調整するためのプログラム命令、及び
前に受信したパケットを固定サイズのキューの最上部に移動させるためのプログラム命令、
を含む媒体。
【請求項２１】
請求項２０に記載のコンピュータ読み取り可能な媒体で、固定サイズのキューがキューの最上部に最新の受信パケットを含み、最新の受信パケットは最新の受信パケットを指すポインタを有する媒体。
【請求項２２】
複数のパケットが２重リンクのリストとして構成されている請求項２０に記載のコンピュータ読み取り可能な媒体。
【請求項２３】
クライアントに帯域幅制御を提供するためのプログラム命令をさらに含む請求項２０に記載のコンピュータ読み取り可能な媒体。
【請求項２４】
請求項２３に記載のコンピュータ読み取り可能な媒体で、クライアントに帯域幅制御を提供するためのプログラム命令が、
最新の受信パケットを指すポインタを見つけることによって最新のタイムスタンプを判断するためのプログラム命令、
クライアントポインタが指すパケットに対応するタイムスタンプを判断するためのプログラム命令、
最新のタイムスタンプとクライアントポインタが指すパケットに対応するタイムスタンプとの差を計算するためのプログラム命令、及び
上記の差が閾値を超えたことに応じ、より長い間隔で画面を取り込むことを取り込み処理に要求するためのプログラム命令、
を含む媒体。
【請求項２５】
事前定義のオブジェクトのセットにおけるオブジェクトに更新を送信するように構成された集積回路チップで、
画像のフレームに対応する複数のパケットを固定サイズのキューの最下部に静止した最後のパケットを有する固定サイズのキューに時間順で格納するための論理、
前に受信した複数のパケットのパケットに対応する更新パケットを受信するための論理、及び
時間順を保ちながら前に受信したパケットを更新パケットで置き換えるための論理、
からなり、該置き換えるための論理は、
前に受信したパケットを特定するための論理、
前に受信したパケットを指すポインタが前に受信したパケットの下にあるパケットを指すように調整するための論理、及び
前に受信したパケットを固定サイズのキューの最上部に移動させるための論理、
を含む集積回路チップ。
【請求項２６】
集積回路チップがプリント回路板上にある請求項２５に記載の集積回路チップ。
【請求項２７】
帯域幅制御を提供するための論理をさらに含む請求項２５に記載の集積回路チップ。
【請求項２８】
複数のクライアントにオブジェクトを配信するシステムで、
各々が定期的に更新される画像データを受信してコンピュータモニターに表示するように構成される複数のクライアント、
クライアントと通信し、
複数のクライアントが共用する固定サイズのキューに画像を定義するパケットの第１のセットを固定サイズのキューに格納することが可能なディスパッチャーで、最上部に最も新しく導入されたパケットが格納され最下部に最も古く導入されたパケットが格納される固定サイズのキューへの導入に従ってパケットの第１のセットが格納され、パケットの第１のセットにおける対応するパケットに置き換わる更新パケットを受信するように構成されたディスパッチャー、
複数のクライアント各々に関連付けられ対応するクライアントの最新の受信パケットを指すクライアントポインタで、更新パケットが対応するクライアントの最新の受信パケットである場合固定サイズのキューの次に下にあるパケットを指すように構成されているクライアントポインタ、
を含むサーバ、
からなるシステム。
【請求項２９】
パケットの第１のセットが２重リンクのリストとして構成されている請求項２８に記載のシステム。
【請求項３０】
２重リンクのリストがヘッドとテールを含む請求項２９に記載のシステム。
【請求項３１】
請求項３０に記載のシステムで、新クライアントが当初は２重リンクのリストのテールを指している新クライアントポインタを作成することにより追加されるシステム。
【請求項３２】
請求項２８に記載のシステムで、サーバがパケット供給処理を含み、パケット供給処理は更新パケットをディスパッチャーに送信するように構成されたシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般的にデータ送信システムに関連し、より具体的には事前定義セットにおけるオブジェクトの更新を送付する方法に関連する。
【０００２】
【従来の技術】
インターネットが広く採用されるにつれ、分散ネットワーク上で情報を拡散するアプリケーションが普及してきている。そして、各々容量制限の異なる複数のコンピュータがこれらの分散ネットワーク上で互いに通信している。例えば、テレビ会議がより利用されるに伴い、プレゼンテーションやビデオの配信には当然さまざまに特性の異なるコンピュータが関わってくる。一般的に知られているようにデータはパケットで各クライアントに配信される。テレビ会議向けのような、サーバが複数のクライアントにデータを送信するといったマルチキャストをサポートするシステムには、マルチポイントディスパッチャーと呼ばれる定義されたクライアントのセットにパケットを配信することのできるモジュールが含まれる。
【０００３】
図１はマルチポイントディスパッチャーの概略図である。マルチポイントディスパッチャー１００は、プレゼンテーション取り込み処理１０２からタイルを受信する。プレゼンテーション取り込み処理１０２は、テレビ会議で使用されているスライドショーなどのプレゼンテーションの更新された部分を各クライアントに送信する処理である。従って、スライドショーの連続するスライド間でスライドの一部しか変わっていない場合は、変化した部分だけ各クライアントに送信される。例えば、画像全体のサブセットのタイルＸであるタイルが、その前に取り込まれたタイルＸと異なっているとする。タイルＸは各クライアントに送信され、クライアントはタイルを組み合わせてはじめの画像を再構成する。
【０００４】
マルチポイントディスパッチャーはスライドの変化した部分を増分的に払い出すことを管理する。図２は新パケットを３つのクライアントに発信するように構成されたバッファーなしのマルチポイントディスパッチャーの簡単な概略図である。ここでは新パケット１０４がマルチポイントディスパッチャー１００に受信されクライアント１〜３に配信される。バッファーなしのマルチポイントディスパッチャーは、必要とするメモリリソースが最小限でその実装も簡単であるが、受信パケットに追い付いていけるだけの帯域幅を有するクライアントのスタティックセットに対してしか対応することができない。その送付は同期的なので、各クライアントの速度はシステム全体が失速するのを防ぐために速くなければならない。加えて各クライアントは着信パケットの最大速度をサポートしなければならない。パケットはバーストで到着する可能性があるので、各クライアントは受信パケットのバースト速度より速い接続速度をサポートしなければならない。
【０００５】
図３は、受信されたパケットを３つのクライアントに配信するように構成されたバッファー付マルチポイントディスパッチャーの簡単な概略図である。ここではマルチポイントディスパッチャー１００がクライアント１〜３に対し各々バッファー１０６、１０８、及び１１０を維持している。新パケット１０４が受信されるとそのパケットはバッファー１０６、１０８、及び１１０の各クライアントキューの最上部に配置される。パケットはバッファーに格納されキューの最下部にあるパケットが各々のクライアントに送信される。パケットは一旦送信されるとキューから削除される。各クライアントにパケットを送信する時間が異なるのと同様、送付も非同期的である。バッファー付マルチポイントディスパッチャーは、クライアントが各々異なる接続速度を有していてもパケットをすべて受信することを可能にする。しかしながらバッファー付マルチポイントディスパッチャーははるかに複雑である。バッファー付マルチポイントディスパッチャーのもう１つの短所は、各クライアントが専用バッファーを有するためクライアント数が増えるに従って必要なメモリも急激に増加することである。場合によっては、特にクライアント数が多い場合は、そのようなシステムをサポートするために必要なメモリはとてつもなく大きくなる可能性がある。
【０００６】
上述マルチポイントディスパッチャーの別の短所は新クライアントを加える作業が煩雑であることである。例えばマルチポイントディスパッチャーの別個のメモリ部分がスライドショーあるいはその他のプレゼンテーションにおけるはじめの画像データ用に留保されている。この格納データは新クライアントを最初に追加する際に使用され、これはシステムをサポートするための必要なメモリをさらに増加させるのである。
【特許文献１】
米国再発行特許発明第６，３４３，３１３号明細書
【特許文献２】
米国再発行特許発明第６，２８５，７９１号明細書
【特許文献３】
米国再発行特許発明第６，２４６，７１９号明細書
【０００７】
【発明が解決しようとする課題】
その結果、従来の技術における問題を解決し、マルチポイントディスパッチャーによるマルチキャストオペレーションの際大きなメモリ容量を必要とせず多数のクライアントをサポートできるマルチポイントディスパッチャーの方法と装置を提供するニーズがある。加えてマルチポイントディスパッチャーは容易に新クライアントを追加できるように構成されている。
【０００８】
【課題を解決するための手段】
おおまかに言って、本発明は、必要なメモリが最小限の固定サイズのシングルバッファーの共用マルチポイントディスパッチャーによって複数クライアントにオブジェクトを送付する方法及びシステムを提供することによってこれらのニーズを満足する。ここで本発明は、プロセス、システム、あるいは装置を含む様々な方法で実施可能なことはあきらかであろう。以下本発明の創意ある実施形態をいくつか説明する。
【０００９】
一実施形態では、シングルバッファーのマルチポイントディスパッチャーによってネットワーク上で複数クライアントに対しプレゼンテーション用の画像セットを更新する方法を提供する。この方法は、プレゼンテーションに含まれる画面のセットを定義することで開始される。それから画面のセットにおける各画面がタイルに分割される。次に最上部のパケットが最も新しい時間価値を有し、最下部のパケットが最も古い時間価値を有する時間順のヒエラルキーに従って、第１画面のセットにおける各タイルに対応するパケットが、シングルバッファーのマルチポイントディスパッチャーに格納される。そこで第１画面の各タイルは第２画面の対応するタイルと比較され、第１画面と第２画面との間で一致しないタイルを判断する。次に一致しないタイル各々に対応するパケットがシングルバッファーのマルチポイントディスパッチャーに提供される。続いて時間順のヒエラルキーを保ちながら第１画面における一致しないタイル各々に対応するパケットが第２画面における一致しないタイル各々に対応するパケットに置き換えられ、ここで時間順のヒエラルキーは異なったフレーム率における異なった接続速度を持つクライアントをサポートできるよう保たれる。
【００１０】
別の実施形態では異なったクライアント間で共用される固定サイズのバッファーを有するマルチポイントディスパッチャーによってパケットを配信する方法が提供される。この方法は複数パケットを含むように構成された固定サイズのキューを提供することで開始される。次に複数クライアントの１つに１つのクライアントポインタが定義される。クライアントポインタは複数クライアントの１つが受信したキューの最新パケットを指す。次に更新パケットが受信され、この更新パケットは複数パケット中で前に受信されたパケットに対応している。続いて前に受信されたパケットは更新パケットに置き換えられる。前に受信されたパケットを置き換える方法のオペレーションはクライアントポインタが置き換えられるパケットを指しているか判断することを含む。クライアントポインタが置き換えられるパケットを指している場合、方法は置き換えられるパケットを指しているクライアントポインタが置き換えられるパケットの下のパケットを指すように調節することを含む。
【００１１】
さらに別の実施形態では画像フレームのサブセットを更新する方法が提供される。画像フレームは複数のタイルに細分される。方法はキュー最下部に静止している最後のパケットを有する固定サイズのキューを提供することで開始される。それから画像フレームに対応する複数のパケットが時間順に最後のパケットの上に格納される。次に更新パケットが受信され、この更新パケットは複数パケット中で前に受信したパケットに対応している。次に時間順を保ちながら前に受信したパケットが更新パケットに置き換えられる。前に受信したパケットを置き換えることは以下からなる：前に受信されたパケットを特定すること；前に受信されたパケットを指すポインタが前に受信されたパケットの下のパケットを指すように調節すること；及び前に受信されたパケットを固定サイズのキューの最上部に移すこと。
【００１２】
さらに別の実施形態ではフレームのサブセットを更新するためのプログラム命令を有するコンピュータで読取り可能なメディアが提供される。フレームは複数のタイルに細分される。コンピュータで読取り可能なメディアはキューの最下部に静止した最後のパケットを有する固定サイズのキューに複数のパケットを時間順で格納するプログラム命令を含む。複数のパケットは１画像のフレームに対応する。複数パケット中で前に受信されたパケットの更新パケットを受信するためのプログラム命令が含まれる。時間順を保ちながら前に受信されたパケットを更新パケットで置き換えるプログラム命令が含まれる。前に受信されたパケットを置き換えるプログラム命令は以下を含む：前に受信されたパケットを特定するプログラム命令；前に受信されたパケットを指すポインタが前に受信されたパケットの下にあるパケットを指すように調節するプログラム命令；及び前に受信されたパケットを固定サイズのキューの最上部に移動させるプログラム命令。
【００１３】
別の実施形態では事前定義されたオブジェクトセット中のオブジェクトに対する更新を発信するように構成された集積回路チップが提供される。集積回路チップは最下部に静止している最後のパケットを有する固定サイズのキューに時間順で複数パケットを格納する論理を含む。複数パケットは１画像のフレームに対応する。複数パケット中前に受信されたパケットに対応する更新パケットを受信する論理が含まれる。時間順を保ちながら前に受信されたパケットを更新パケットで置き換える論理が備わる。更新パケットで置き換える論理は以下を含む：前に受信したパケットを特定する論理；前に受信したパケットを指すポインタが前に受信されたパケットの下のパケットを指すように調節する論理；及び前に受信されたパケットを固定サイズのキューの最上部に移動させる論理。
【００１４】
さらに別の実施形態では複数クライアントにオブジェクトを配信するシステムが提供される。システムは複数クライアントを含む。複数クライアントの各々は画像データを受信してコンピュータのモニターで表示するように構成されている。画像データは定期的に更新される。クライアントと通信するサーバが含まれる。サーバは画像を定義するパケットの第一のセットを複数クライアントが共用する固定サイズのキューに格納することのできるディスパッチャーを含む。パケットの第一のセットは固定サイズのキューへの導入に従って格納され、最も新しく導入されたパケットが固定サイズのキューの最上部に格納され、最も古く導入されたパケットは固定サイズのキューの最下部に格納される。ディスパッチャーは更新パケットを受信するように構成され、更新パケットはパケットの第一のセット中の対応するパケットを置き換える。複数クライアント各々に関連付けされるクライアントポインタが含まれる。クライアントポインタは対応するクライアントの最新の受信パケットを指す。但し、更新パケットが対応するクライアントの最新の受信パケットである場合クライアントポインタは固定サイズのキューの次の下にあるパケットを指すように構成されている。
発明の他の面及び利点は発明の原理を示す添付図面と合わせ以下の詳細な説明で明らかになるであろう。
【００１５】
【発明の実施の形態】
本明細書で使用される言葉は、以下のような意味をもつものとする。
「画像タイル」は属性の位置、サイズ、形状、及び画像データで定義される画像のサブセットを指す。
「ダイナミックセット」は要素を随時追加あるいは消去できるセットを指す。
「クライアント」は制御接続が維持される遠隔処理を指す。
「パケット」はクライアントが理解可能な方法でフォーマットされているクライアント向けのデータブロックを指す。
「マルチポイントディスパッチャー」は定義されたクライアントのセットにパケットを配信することができるモジュールを指す。
「バースト」は全体的な平均送付速度より相当高い速度で送付されるパケットのシーケンスを指す。
「バッファー」は一時的にオブジェクトをメモリに保持する構造を意味する。
「クライアントポインタ」はマルチポイントディスパッチャー内のパケットに対するクライアント特有の照合を指す。
「ＤＳＭディスパッチャー」は更新可能なオブジェクトの固定セット向けのダイナミックなシングルバッファーのマルチポイントディスパッチャーを指す。
クライアント待ち時間は以下のように定義される：
クライアント待ち時間＝最新タイムスタンプ−
クライアントポインタの指すパケットのタイムスタンプ
共用の固定サイズ優先キューにより、セット内オブジェクトの更新を発信する装置及び方法の発明が説明される。但し本発明がこれらの具体的詳細の一部あるいはそのすべてがなくても実施できることは当業者には明らかであろう。また本発明を不必要に不明瞭にしないよう、公知の処理操作は詳細に説明していない。図１〜図３は「従来の技術」で説明されている。
【００１６】
本発明の実施形態は、更新可能なオブジェクトの固定セット用に、ダイナミックシングルバッファーのマルチポイントディスパッチャーを使用する方法及び装置を提供する。ダイナミックシングルバッファーのマルチポイントディスパッチャーは、クライアントに最新データを供給し続けながらマルチポイントディスパッチャーのメモリ要件を軽減し、より低速のクライアント向けにより低速のフレーム率を可能にするように構成されている。各クライアントバッファーを１つの共用バッファーのサブセットとし、共用バッファーに固定サイズを設定することにより、個々のメモリ構造が必要でなくなる。１実施形態では、マルチポイントディスパッチャーがさらに低速クライアントに対して同一のオブジェクトに関連し複数のパケットを計量的に提供するように構成されている。従って、低速クライアントは、同一のオブジェクトに関連し複数のパケットを受信しないことになる、すなわちより低速のクライアントにはより低速のフレーム率が提供される。加えて、シングルバッファーのマルチポイントディスパッチャーは、パケットを送信する処理の助力なしに、かつベース画像を格納する必要なしに、新クライアントの追加をサポートできるようになっている。１実施形態では、低速及び可変速度のクライアントをサポートするために、帯域幅制御プロトコルが含まれる。さらに詳細に後述されるように、１つのキュー及びそのキューへのポインタ（次にどのパケットが各クライアントに送信されるか指示する）のリストを維持する結果、各パケットはクライアント数にかかわらず１回のみキューされることになる。
【００１７】
図４は、本発明の１実施形態により、３つのクライアントを有するシングルバッファーのマルチポイントディスパッチャーの簡単な概略図である。マルチポイントディスパッチャー１２０は共用キュー１２２を含む。１実施形態では共用キュー１２２は先入れ先出し（ＦＩＦＯ）バッファーである。新パケット１２４が受信されると、共用キュー１２２の最上部に配置される。クライアント１（１２８）、クライアント２（１３０）、及びクライアント３（１３２）は、各々クライアントポインタ１３４、クライアントポインタ１３６、及びクライアントポインタ１３８に関連付けられている。その結果として、パケットがあるクライアントに送信される度に、ディスパッチャーは対応するクライアントポインタがどのパケットを指しているか調べ、そのパケットを対応するクライアントに送信する。その後、クライアントポインタは、送信されたパケット上のパケットを指すよう調節される。例えば、クライアント２（１３０）にパケットｄ１４０が送信されたとすると、クライアントポインタ１３６はパケットｅ１４２を指すように調節される。１実施形態では一旦最下部のパケットが全クライアントに送信されるとキューから除去されるようになっている。
【００１８】
図５Ａは、本発明の１実施形態により、初めのセットの各要素、すなわち画像タイルの最新コピーを維持するように構成されたダイナミックシングルバッファーのマルチポイント（ＤＳＭ）ディスパッチャーの簡単な概略図である。ＤＳＭディスパッチャー１５０は、固定サイズの共用キュー１５２を含む。固定サイズの共用キュー１５２は共用バッファーの役割を果たし、またパケットを供給する処理から追加データを必要とせず新たに追加クライアントを導入できる情報を維持している。パケットＡ〜Ｚは、固定サイズの共用キュー１５２に格納される。固定サイズの共用キュー１５２内のパケットは、スライドショーの連続画面の場合のように、初めのセットにおけるすべての要素に対する最新の更新を表す。より詳細に後述するように、パケットは複数クライアントに送信されるテレビ会議のマルチキャストプレゼンテーションの画像タイルを表すこともできる。本実施形態では、ディスパッチャー１５０がクライアント１（１５６）、クライアント２（１５８）、及びクライアント３（１６０）と通信している。クライアントポインタＰ１〜Ｐ３が各々クライアント１〜３に関連付けされている。クライアントポインタＰ１〜Ｐ３は、各々のクライアントが受信したテーブルの最新パケットを指している。ここで、クライアントが受信した最後のパケットは更新された可能性があるので、クライアントが受信した最新パケットというのは必ずしもクライアントが受信した最後のパケットではない。
【００１９】
図５Ａにおいて、１実施形態では、新パケット１５４がパケット供給処理で送付される。ここで新パケット１５４は固定サイズの共用キュー１５２に格納されたパケットの更新を表す。新パケット１５４は、ＤＳＭディスパッチャー１５０に受信される。例示の目的で、新パケット１５４は、固定サイズの共用キュー１５２内のパケットＤの更新とする。従ってより詳細に後述するように、新パケット１５４は、パケットＤに置き換わりキュー１５２のサイズは維持される。
【００２０】
図５Ｂは、本発明の１実施形態により、新パケットを受信後のＤＳＭディスパッチャーの簡単な概略図である。パケットＤの更新である新パケット１５４は最新のタイムスタンプを有する、すなわちキューに一番最近に導入されたのでキュー１５２の最上部に置かれる。ここで古くなったパケット（パケットＤ）が新パケットＤ１５４で置き換えられるのでキューのサイズは維持される。同時に、ＤＳＭディスパッチャー１５０はキュー１５２の最上部に新パケットが追加されたこと、あるいは古くなったパケットがキューにおけるその前の位置から除去されたことによってクライアントポインタのいずれが影響を受けたか判断する。例えば、ＤＳＭディスパッチャー１５０は３つのクライアントを有する。クライアント１（１５６）は、古くなったパケットＤを含めキューにあるすべてのパケットを既に受信しており、クライアント３（１６０）は、パケットＦ及びＥを受信した後古くなったパケットＤを受信することになっており、クライアント２（１５８）は、古くなったパケットＤは受信したが、まだパケットＣを受信していないので古くなったパケットＤを指している。
【００２１】
図５Ｂにおいて、新パケットＤ１５４が古くなったパケットＤを置き換えた後、クライアント１（１５６）は次に新パケットＤを受信する。クライアント３（１６０）は新パケットＤを受信するが、新パケットＤがクライアント３に受信される前にパケットＣ、Ｂ、及びＡがクライアント３によって受信される。クライアント２は、まだ次にパケットＣを受信することになっているが、パケットＤが移動したためパケットＥがキュー内でクライアント２が受信した最新のパケットとなるので、クライアント２用のクライアントポインタＰ２は次に低いパケット、すなわちパケットＥに移る。図５Ａ及び図５ＢはＤＳＭディスパッチャーが３つのクライアントを有する場合を示しているが、当業者にはディスパッチャーが任意の数の適当なクライアントとインタフェースできることが明らかであろう。さらに、より詳細に後述するように追加クライアントを容易に追加することができる。
【００２２】
図５Ａ及び図５Ｂはクライアント１〜３が異なったパケットを指している場合を示している。各クライアントポインタは、固定サイズの共用キュー１５２の最下部から開始するが、各クライアントは自分の速度で上方に進む。ここで異なったクライアントがディスパッチャーに対しより高速な接続を有していることもあり、あるいはクライアントコンピュータ自体が異なった処理速度を有することもある。従って図５Ａ及び図５Ｂにおいてクライアント１（１５６）はクライアント３（１６０）より高速にデータを処理することができる。ここでパケットの送信速度は各クライアントがパケットを扱える速度で決まるので、帯域幅の制御は必要ないことを当業者は理解するであろう。
【００２３】
図６は、本発明の１実施形態により、ＤＳＭディスパッチャーの受信したパケットを処理する方法のオペレーションのフローチャート図である。方法はオペレーション１７０で開始され、新パケットＸ’がＤＳＭディスパッチャーに受信される。次に、オペレーション１７２に進み、新パケットＸ’が更新となる既存パケットＸがキューに位置している。ここでキューは図５Ａ及び図５Ｂにおけるキュー同様固定サイズの共用キューである。次に判断オペレーション１７４に進み、どのクライアントポインタがパケットＸを指しているかが判断される。１つ以上のクライアントポインタがパケットＸを指している場合はオペレーション１７６に進み、パケットＸを指しているクライアントポインタは各々パケットＸの下のパケットを指すように設定される。このように各クライアントポインタは、キューにおいて対応するクライアントが受信した最新のパケットを指すように設定される。どのクライアントポインタもパケットＸを指していない場合は、判断オペレーション１７４からオペレーション１７８に進み、パケットＸはキューの最上部に移される。例えばこの場合、図５Ａにおける固定サイズの共用キューのパケットＤがキューの最上部に移される。
【００２４】
図６における方法は次にオペレーション１８０に進み、パケットＸはパケットＸ’に置き換えられる。このように初めの要素に対する最新の更新を表すパケットがキューに保持される。加えてパケットは各パケットがキューに導入された時間に応じて時間順の形で格納される。つまり既存のパケットに対する各更新が受信される毎に既存のパケットはキューの最上部に移動させられ、更新パケットで置き換えられる。更新パケットは一番最近キューに受信されたパケットであるのでキューの最上部に残る。
【００２５】
このようにＤＳＭディスパッチャーは異なる接続速度のクライアントに異なるフレーム率でパケットを送信するように構成されている。図５Ａ，図５Ｂ，及び図６に例示されるように、着信パケットは既にキューにあるパケットを置き換える。置き換えられたパケットはすべてのクライアントに送り出されたとは限らない。クライアントの相対速度及びパケットの着信速度によってパケットは第１クライアントに送信された後ではあるが第２クライアントに送信される前に置き換えられる可能性がある。その結果第１クライアントは新旧双方のパケットを受信する一方第２クライアントは新パケットのみ受信する。従って第２クライアントは同じ時間の中でより少数のパケットを受信することになり、これはより低速のフレーム率を有することを意味する。図５Ｂにおいて、クライアント１（１５６）はパケットＤの古くなったバージョンを既に受信しており、新パケットＤ１５４を受信することになる。しかしクライアント３（１６０）は新パケットＤ１５４のみを受信する。つまりクライアント３はパケットＤの最新コピーのみを受信し、つまりクライアント３はより低速であるのでより低い有効帯域幅に関連付けられる。従って異なった性能容量を有するクライアントに対し異なった帯域幅を達成するためにアクセスしなければならないテーブルを維持する必要がない。
【００２６】
ＤＳＭディスパッチャーは、新クライアントの追加を容易にサポートするように構成されている。１実施形態ではクライアントが実用上のデフォルトコンフィグレーションを構築できるようになっている。ここでは新クライアントが追加されるとデフォルトコンフィグレーションを使用して初期化される。ディスパッチャーは、図１１で後述するように、キューの最後にある有効パケットの下を指す対応クライアントポインタを作成する。一定時間後、デフォルトコンフィグレーションにおけるオブジェクトはディスパッチャーから受信されたパケットによりすべて現行バージョンに置き換えられる。従ってＤＳＭディスパッチャーにパケットを供給する処理から追加データを要求せずにセットの現行版をＤＳＭディスパッチャーから入手することができる。つまりクライアントにベース画像を供給する必要はない。ＤＳＭディスパッチャーは各パケットの最新バージョンを供給され、固定サイズの共用キューの最下部にある新クライアントを指すことによって新クライアントは各々自身のベース画像を開始することができる。
【００２７】
図７Ａは本発明の１実施形態によりクライアントにパケットを送信する前におけるＤＳＭディスパッチャー部分の構成の簡単な概略図である。ここでクライアント２（１５８）に関連付けられるポインタＰ２はＤＳＭディスパッチャーの固定サイズの共用キューにおけるパケットＥを指している。従って、パケットＥ１９０がクライアント２によって受信された最新パケットである。クライアント２が次の時間順のパケットをキューから受信する準備ができたという信号をＤＳＭディスパッチャーが受けると、ディスパッチャーはクライアントポインタを調べ、パケットＥ１９０の上にあるパケットを指すように動かす。
【００２８】
図７Ｂは、本発明の１実施形態により、クライアントにパケットを送信した後におけるＤＳＭディスパッチャー部分の構成の簡単な概略図である。図７Ａについて検討した例から引き続き、クライアント２（１５８）に関連付けられるポインタＰ２はパケットＣ１９２、すなわちパケットＥの上にあるパケットを指すように移されている。同時にパケットＣ１９２はクライアント２（１５８）に送信される。ここでこの処理はクライアント２（１５８）のポインタＰ２が固定サイズの共用キューの中で最新の受信パケットを指すまで繰り返される。つまり処理はポインタがキューの最上部のパケットを指すまで続けられる。
【００２９】
図８は本発明の１実施形態によりＤＳＭディスパッチャーからパケットをクライアントに送信する方法のオペレーションのフローチャート図である。方法はオペレーション２００で開始され、クライアントＮがパケットを受信する準備ができたことが示される。クライアントＮがパケットを受信する準備ができたことを示す信号をクライアントＮから受信するようディスパッチャーを構成することができることは当業者には明らかであろう。次にオペレーション２２０に進み、クライアントＮがパケットを受信する準備ができたという信号を受信するのに応じて既存のパケットＸがみつけられる。パケットＸはクライアントＮに関連付けられるポインタが指している。次に判断オペレーション２０４に進み、パケットＸがキューの中で最新のパケットであるか判断される。パケットＸがキューの中で最新である、すなわちパケットＸがキューの最上部である場合方法はオペレーション２０６に進む。オペレーション２０６では送信するパケットがないことを示す信号が送られ、オペレーション２００に戻る。ここで待ち時間を組み込み、クライアントＮがパケットを受信する準備ができたか確認するまで待つ時間の間隔を定義することができることを当業者は理解するであろう。本発明の１実施形態ではパケットがディスパッチャーのクライアント各々に非同期的に送信される。
【００３０】
図８においてパケットＸがキューの最新パケットでない場合、すなわちパケットＸがキューの最上部にない場合、方法は判断オペレーション２０４からオペレーション２０８に進む。オペレーション２０８ではパケットＹがみつけられ、パケットＹは固定サイズの共用キュー内でパケットＸの上に存在する。次にオペレーション２１０に進み、パケットＹはクライアントＮに送信され、クライアントＮに関連付けられたポインタはパケットＹを指すように設定される。ここで、図７Ａ及び図７Ｂは、図８で説明された方法のオペレーションを視覚的に図示したものである。
【００３１】
図９は本発明の１実施形態により帯域幅制御チャンネルを有するＤＳＭディスパッチャーの簡単な概略図である。ＤＳＭディスパッチャー１５０はパケット供給処理２２４からパケット２２０を受信する。ディスパッチャー１５０はパケット２２０ａ〜２２０ｎを各々クライアント１（２２６ａ）〜クライアントｎ（２２６ｎ）に非同期的に配信することができる。帯域幅制御チャンネルはディスパッチャー１５０とパケット供給処理２２４との間で制御プロトコルを実行させることを可能にする。１実施形態において制御プロトコルはディスパッチャーにパケットが送付される速度を調整するようにディスパッチャー１５０がパケット供給処理２２４に通知することを可能にする。
【００３２】
各クライアントは自己のペースで（接続速度により）キューからパケットを受信する。異なったクライアントは異なった接続速度を有すると仮定して、クライアント待ち時間は異なった平均値の方向に動く。従って高速接続のクライアントはより低い平均待ち時間を有する傾向にある一方、低速接続のクライアントはより高い平均待ち時間を有する。公知のようにクライアント待ち時間はすべて受信パケット速度に反比例する。
【００３３】
本質的にクライアント待ち時間は迅速に入手することができる値で、パケットの着信速度に対するクライアント接続の速度を計測することに使用できる。この情報はパケット供給処理のリフレッシュ率を調整することに使用できる。パケット供給処理は適宜オブジェクトの更新数を増加あるいは削減でき、その結果送信されるパケットの合計数が増えたり減ったりする。
【００３４】
図９において、ディスパッチャー１５０がバーストで新パケットを受信するとバースト後の時間で各クライアントが追いつく時間が与えられる。従ってクライアント２２６ａ〜クライアント２２６ｎが受信できる速度より速くパケット２２０ａ〜２２０ｎが到着している場合、すなわち平均受信パケット速度が該当クライアントの接続速度より速い場合を除いてクライアントポインタはすべて最終的にはキューの最上部に到達する。クライアントが追いつくのが難しく、そのクライアントの平均待ち時間が事前に定義された閾値を超えた場合はパケット２２０を供給しているパケット供給処理２２４に通知してリフレッシュ率を減速する必要がある。例えばパケット供給処理２２４がディスパッチャー１５０に毎秒１０フレームの速度でパケット２２０を提供しておりクライアントがついていくのが困難な場合、ディスパッチャー１５０はパケット供給処理２２４がパケットを毎秒５フレームの速度で提供することを要求できる。一定時間後ディスパッチャーはクライアントが修正速度についていく能力を再度確認し、クライアントの待ち時間に応じてさらに速度を修正することができる。反対にすべてのクライアントが新パケットをすべて容易に扱うことができ待ち時間が非常に短い場合ディスパッチャーはパケットを供給する処理にフレーム率を増加させるよう通知できる。フレーム率が動画グラフィックスインタチェンジフォーマット（ＧＩＦ）ファイルを組み込んだスライドショーにも適用できることは当業者に明らかであろう。
【００３５】
１実施形態ではパケットがグループ化できる。つまりパケットを個々にではなくグループにして送信するようにディスパッチャーを構成することができる。ここで画像タイルの表示を向上させるようにパケットグループ化の論理を定義することができる。基本的なＤＳＭディスパッチャーにおいてはタイムスタンプあるいはインデックスによってグループ化を行なうことができる。タイムスタンプの場合パケットはＤＳＭディスパッチャーに導入された時間によってグループ化される。一方パケットをグループ化する照合としてスライドショーのタイル位置を示すインデックスを使用することもできる。例えばプレゼンテーションのボーダーの変更が最も少ない一方、中のテキストを含む部分の変更は最も多いので、最少変更タイルあるいは最多変更タイルの位置はインデックスで判断できる。このようにしてタイルをグループ化することができる。パケットのフォーマット及び内容を理解できるようなより高度な実装においてはより複雑なグループ化のアルゴリズムを実装することができる（例えば隣接する画像タイルのグループ化）。
【００３６】
パケットのグループを送信する場合、通常クライアントの接続帯域幅、待ち時間、フレーム率等々に基づいて各クライアント向けに最適な送信サイズの範囲が選択される。画像タイルのサイズ、使用圧縮方法、及びその結果のパケットの相対的サイズにより最適サイズは最大及び最小の最適パケット数として表現できる。例えばパケットはｎ以下でｎ／２より大きい（可能な場合）グループとして送信することができる。表１はパケットが１グループ内のパケット数によってどのように束ねられるかの１実施形態を示す。この高度な送信管理方法はクライアントの帯域幅、待ち時間、及びフレーム率のバランスを達成するために使用でき、あるいは基底のネットワークプロトコルに最も見合うように送信サイズを適切にしてディスパッチャーの送信速度を最適化するために使用できる。
【００３７】
【表１】
2004032773.tif 000003
【００３８】
図１０は、本発明の１実施形態により、スライドショーに関連して画像タイルの更新可能なセットを維持するためにパケット供給処理で行われる方法のオペレーションのフローチャート図である。ここではスライドショーの各画面が取り込まれる際画面は毎回同じ形状寸法を使用してタイルに分割される。タイルの新セットはその前に取り込まれたものと比較され、一致しないタイルが更新パケットとしてディスパッチャーに送信される。この方法はオペレーション２３０で開始され、タイルパターンが定義される。例えばここでスライドショー画面用タイルのセットが定義される。より詳細に後述するように各タイルの寸法が同じの形で、各タイルの寸法が異なる形で、あるいはその組み合わせでパターンを定義できる。処理を最小限にするために定義されたパターンはスライドショーの各画面で一貫している必要があるということが当業者には明らかであろう。
【００３９】
図１０において、方法はオペレーション２３２に進み、新しい画面が取り込まれる。ここではＰＯＷＥＲＰＯＩＮＴ（Ｒ）を使ったプレゼンテーションのようなスライドショーの画面が取り込まれる。次にオペレーション２３４に進み、オペレーション２３０で定義されたパターンに従って新しい画面がタイルに細分される。ここで特定された画面がスライドショーの最初の画面である場合、このタイルのセットが初めのタイルのセットとなる。次に判断オペレーション２３６に進み、特定された画面が最初の画面かどうか判断する。特定された画面が最初の画面である場合はオペレーション２３８に進み、タイルのセットがディスパッチャーに送信される。ここで最初の画面からのデータはディスパッチャーの固定サイズの共用キューにおける初めのパケットのセットを定義する。次にオペレーション２４６に進み、最初のタイルのセットが現行のタイルのセットとして格納される。
【００４０】
判断オペレーション２３６において特定された画面が最初の画面でない場合は、オペレーション２４０に進み新しい画面からのタイルと前のセットのタイルとの対応するペアが各々比較され違いが特定される。例えばあるスライドショーでは変わらない背景を使用しながらテキストを含むタイルは画面から画面へ変化するかもしれない。画面間で変化するタイルがここで特定される。次にオペレーション２４２に進み、オペレーション２４０で違っていると特定されたタイルに対応するデータがディスパッチャーに送信される。ここで初めのパケットのセットを更新するパケットは図５Ａ及び図５Ｂで説明した如く送信される。次にオペレーション２４４に進み、タイルの前のセットが破棄される。前画面からのタイルのセットを新画面のタイルのセットで置き換えることは相次ぐ画面の比較、すなわち第２画面と第３画面との比較を以下同様で可能にすることを当業者は理解するであろう。次にオペレーション２４６に進みタイルの現行セットが格納される。１実施形態ではタイルの現行セットが固定サイズの共用キューに格納される。次にオペレーション２４８に進み、さらに画面があるか判断される。現行画面が最後の画面である場合方法は終了する。現在の画面が最後の画面でない場合は、オペレーション２３２に戻り、上述の方法が繰り返される。つまり画面を取り込む際、各画面は毎回同じ形状寸法を使用して分割される。新しいタイルのセットはその前に取り込まれたもの、すなわち前セットのタイルと比較され、一致しないタイルがディスパッチャーに送信される。
【００４１】
図１１は、本発明の１実施形態により二重リンクのリストを組み入れたディスパッチャーの実施データ構造の簡単な概略図である。ＤＳＭディスパッチャー１５０はオブジェクトのセットを有する固定サイズの共用キュー１５２を含む。固定サイズの共用キュー１５２におけるオブジェクトのセットは二重リンクのリストとして構成される。２重リンクのリストは、オブジェクトの上下方向の移動、オブジェクトの除去、及びオブジェクトの固定サイズの共用キュー１５２における最上部への配置を可能にすることを当業者は理解するであろう。二重リンクのリストの開始点及び終了点を判断するためにヘッドとテールが維持される。最後のオブジェクト２５２がテールで最新のオブジェクト２５０はオブジェクトＡ、すなわちヘッドである最上部のオブジェクトを指す。最後のオブジェクト２５２はタイルと関連付けられていないので絶対に更新されない。従って、最後のオブジェクト２５２は、固定サイズの共用キュー１５２の最下部に残る。そのため、最後のオブジェクト２５２は、新クライアントを追加するのに便利である。例えば、クライアント３（２５４）は新クライアントと確認されると、ポインタＰ３がクライアント３向けに作成され、最後のオブジェクト２５２を指す。このようにクライアント３は、固定サイズの共用キュー１５２の各オブジェクトを受信することになる。ポインタＰ３がオブジェクトＡ（最新のオブジェクト）を指すことになると、クライアント３は、固定サイズの共用キュー１５２の各オブジェクトを受信したことになる。
【００４２】
図１２は本発明の１実施形態により図１１のオブジェクトに使用されるリンクオブジェクトデータ構造の概略図である。各オブジェクトはタイムスタンプ、対応するタイルのデータを含むパケット、ならびにキューにおける前のオブジェクト（下のオブジェクト）と次のオブジェクト（上のオブジェクト）のデータを含む。従って、パケットが受信されると見合うタイルを保持するオブジェクトが見つけられる。オブジェクト内のパケットは更新オブジェクトで置き換えられ、オブジェクトのタイムスタンプも更新され最新値を反映する。前述の通り、オブジェクトはキュー、すなわち２重リンクのリストの最上部に押し上げられる。１つのパケットがクライアントに送信される時になると、クライアントポインタが指すオブジェクトの１つ上のオブジェクト、すなわち次のオブジェクトが見つけられる。そこでクライアントが次のオブジェクトを受信する準備ができたことを示すと次のオブジェクト内のパケットがクライアントに送信される。１実施形態では、パケットが送信された後オブジェクト自体は残る。つまりクライアントポインタはＤＳＭディスパッチャーのデザインの定義で更新される唯一の変数である。
【００４３】
図１１に戻り、最新のオブジェクトポインタはクライアント待ち時間計算のために及び更新オブジェクトのキュー最上部への移動を容易にするために維持される。例えば図１１のプロトタイプに従って帯域幅の制御を実施することができる。平均待ち時間は各ｋ番目のパケット（ｋは１０等々設定された正の整数）が受信される瞬間のクライアント待ち時間を平均することで計算される。クライアントの１つが事前に設定した値（例えばタイル数／１０）未満の平均クライアント待ち時間を保っている場合、あるいはすべての平均クライアント待ち時間が別の閾値（例えばタイル数／２５）を越えた値を保っている場合は帯域幅調整要求が取り込み処理、すなわちパケット供給処理に送信される。要求によって、取り込み処理はより長い間隔あるいはより短い間隔で画面を取り込む。
【００４４】
クライアントはパケットを受信しそれに応じてタイルを抽出する。その後タイルは出力画像に組み込まれ、クライアントには取り込みデータに類似したビューが与えられる。ＤＳＭディスパッチャーが使用されているのでクライアントは利用できる帯域幅に関連したフレーム率を保ちながら利用可能な最新タイルを確実に受信する。
【００４５】
図１３は本発明の１実施形態によりＤＳＭディスパッチャーを実装したシステムの例示的構成の簡単な概略図である。パケット供給処理はスライドショーの異なった画面を取り込むための取り込みプログラムを含む。コンピュータ２６０は発信されるスライドショーを格納している。サーバ２６２はパケットがパケット供給処理からＤＳＭディスパッチャーに送信される際ＤＳＭディスパッチャー機能を実行するコードを含む。引き続いてＤＳＭディスパッチャーはパケットを固定サイズの共用キューに組み立て、クライアント２６６ａ−２６６ｎに配信する。ここで１実施形態ではパケット供給処理及びＤＳＭディスパッチャーの機能は１台のコンピュータに組み入れることができる。加えてパケット供給処理及びＤＳＭディスパッチャーの機能を行なうコードは半導体チップにハードコードすることができる。半導体チップは上記機能を提供するように構成された論理ゲートを含むことができることを当業者は理解するであろう。例えばハードウェア叙述言語（ＨＤＬ）を使用してファームウェア及びここで説明された必要な機能を提供するための論理ゲートのレイアウトを統合することができる。
【００４６】
図１４Ａ〜図１４Ｅはスライドショーの連続的フレームからのタイルがＤＳＭディスパッチャーにより受信されキューに置かれる方法を例示的に示した概略図である。図１４Ａ〜図１４Ｅ各々において、図の左側は取り込み処理で取得した画面データを表している。この例では分かり易いように画像が４８のタイルに分割されている。画像タイルは画面上の位置（ｘ，　ｙ）によって名前が付けられている。説明のために、画像タイルは、右下から左上へ、１列毎にＤＳＭディスパッチャーに供給されると仮定する。各図の右側にある（ＤＭＳディスパッチャーのキュー）は固定サイズの共用キューに配列された対応フレームのタイルを表示している。図１４Ａは最初のフレームで、プレゼンテーションの表題フレームである。画像全体がディスパッチャーに送信され、その結果（０，０）から始まり（５，７）で終わるキューが形成される。図１４Ｂはプレゼンテーションの第２フレームである。ここでスライドの上部は図１４Ａの最後のスライドと同じ背景を有している。いずれにせよ、前のスライドの約４分の１、つまり（０、０〜７）、（１，７）、及び（２，７）を再利用することができる。これらのタイルはリストの最下部に下がり、（２，７）が最も低い時間インデックスのタイルである。図１４Ｃはプレゼンテーションの第３フレームである。図１４Ｃのフレームは前のフレームと全く同じの背景を使用しており、これはタイルのいくつかを再利用できる、すなわち変化したタイルのみディスパッチャーに送信されキューのデータを置き換えるということを意味する。２つ前のスライドから変らないタイルは（０，０）及び（０，７）だけであるので、これらはリストの最下部に下がる。図１４Ｄはプレゼンテーションの第４フレームである。このスライドでは画面の下部から動画のタイルが現れる。この変化はタイル（５，６）及び（５，７）に取り込まれる一方、スライドの残りの部分は前のスライドと一致する。従ってここでは４８個のタイルの２つだけが更新される。図１４Ｅはプレゼンテーションの第５フレームである。ここではオブジェクトがスライドショーの右下で停止し動画が完了する。このフレームはタイル（４，６）、（４，７）、（５，６）及び（５，７）に取り込まれる。ここで残りのフレームは前のフレームから変化していないので、４８個の内４個のタイルだけ更新される必要がある。
【００４７】
ここで説明された実施形態は特にスライドショーによるプレゼンテーションが１以上のクライアントに送信されるようなテレビ会議システムに組み込むことができる。上述の如く連続フレーム間で画像の変化する部分のみ送信されるので高解像度画像でフレーム間においてあまり変らないものはより低い有効帯域幅で受信しても性能を損なわないということは当業者には明らかであろう。
【００４８】
要約すると上記発明はスライドショーのプレゼンテーションのタイル画像など事前定義のセットにおけるオブジェクトを更新する方法及びシステムを可能にする。固定サイズの共用キューを含むＤＳＭディスパッチャーが最小限のメモリ要件をもって画像で変化したタイルの更新を可能にする。加えてＤＳＭディスパッチャーは低速のクライアントに低速の有効フレーム率で供給することにより異なった接続速度のクライアントに本質的に対応するように構成されている。帯域幅制御チャンネルによってより積極的な帯域幅の制御が提供される。ＤＳＭディスパッチャーは固定サイズの共用キューにおける最後の有効なパケットの下をさす対応クライアントポインタを作成することによりベース画像を格納する必要なくして容易に新クライアントを追加することができる。
【００４９】
上述の各実施形態を念頭にして、本発明はコンピュータシステムに格納されたデータに関連した各種コンピュータ実行操作を使用できることが理解される。これらの操作は物理量の物理的操作を必要とするものである。必ずしもではないが通常これらの量は格納、転送、結合、比較、及びその他操作可能な電気的あるいは磁気的信号の形を取る。さらに行なわれる操作はしばしば作成、識別、判断、あるいは比較などの用語で引き合いにされる。
【００５０】
発明はまたコンピュータ読み取り可能な媒体上のコンピュータ読み取り可能なコードとして実施することができる。コンピュータ読み取り可能な媒体とは後にコンピュータシステムにより読み取れるデータを記憶することができるデータ記憶装置である。コンピュータ読み取り可能な媒体の例にはハードドライブ、ネットワーク接続記憶装置（ＮＡＳ）、読み取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、ならびにその他光学的及び非光学的データ記憶装置を含む。またコンピュータ読み取り可能な媒体はコンピュータ読み取り可能なコードが分散された形で記憶され実行されるようにネットワーク結合のコンピュータシステム上に分散されても良い。
【００５１】
前記の発明は明瞭な理解を図るためかなり詳細に説明されたが、添付請求項の範囲内で一定の変更及び修正を実施することは可能であることは明らかであろう。従って、本実施形態は例示とみなされるもので限定するものではなく、発明はここで叙述された詳細に限定されるものではなく、添付請求項の範囲及び同等内容において修正できるものである。
【図面の簡単な説明】
【図１】マルチポイントディスパッチャーの簡単な概略図。
【図２】新パケットを３つのクライアントに発信するように構成されたバッファーなしのマルチポイントディスパッチャーの簡単な概略図。
【図３】受信パケットを３つのクライアントに配信するように構成されたバッファー付マルチポイントディスパッチャーの簡単な概略図。
【図４】本発明の１実施形態により３つのクライアントを有するシングルバッファーのマルチポイントディスパッチャーの簡単な概略図。
【図５】Ａ　本発明の１実施形態により初めのセットの各要素、すなわち画像タイルの最新コピーを維持するように構成されたダイナミックシングルバッファーのマルチポイント（ＤＳＭ）ディスパッチャーの簡単な概略図。
Ｂ　本発明の１実施形態により新パケットを受信後のＤＳＭディスパッチャーの簡単な概略図。
【図６】本発明の１実施形態によりＤＳＭディスパッチャーの受信したパケットを処理する方法のオペレーションのフローチャート。
【図７】Ａ　本発明の１実施形態によりクライアントにパケットを送信する前におけるＤＳＭディスパッチャー部分の構成の簡単な概略図。
Ｂ　本発明の１実施形態によりクライアントにパケットを送信した後におけるＤＳＭディスパッチャー部分の構成の簡単な概略図。
【図８】本発明の１実施形態によりＤＳＭディスパッチャーからパケットをクライアントに送信する方法のオペレーションのフローチャート。
【図９】本発明の１実施形態により帯域幅制御チャンネルを有するＤＳＭディスパッチャーの簡単な概略図。
【図１０】本発明の１実施形態によりスライドショーに関連して画像タイルの更新可能なセットを維持するためにパケット供給処理で行われる方法のオペレーションのフローチャート。
【図１１】本発明の１実施形態により２重リンクのリストを組み入れたディスパッチャーの実施データ構造の簡単な概略図。
【図１２】本発明の１実施形態により図１１のオブジェクトに使用されるリンクオブジェクトデータ構造の概略図。
【図１３】本発明の１実施形態によりＤＳＭディスパッチャーを実装したシステムの例示的構成の簡単な概略図。
【図１４】スライドショーの連続フレームからのタイルがＤＳＭディスパッチャーにより受信されキューに配置される方法の例示的概略図。
【符号の説明】
１００、１２０、１５０　　　　マルチポイントディスパッチャー
１０２　　　　プレゼンテーション取り込み処理
１０４、１２４、１５４　　　　新パケット
１０６、１０８、１１０　　　　バッファー
１２２、１５２　　　　共用キュー
１３４、１３６、１３８　　　　クライアントポインタ
Ｐ１、Ｐ２、Ｐ３　　　　クライアントポインタ
【図１】
2004032773.tif 000004
【図２】
2004032773.tif 000005
【図３】
2004032773.tif 000006
【図４】
2004032773.tif 000007
【図５】
2004032773.tif 000008
【図６】
2004032773.tif 000009
【図７】
2004032773.tif 000010
【図８】
2004032773.tif 000011
【図９】
2004032773.tif 000012
【図１０】
2004032773.tif 000013
【図１１】
2004032773.tif 000014
【図１２】
2004032773.tif 000015
【図１３】
2004032773.tif 000016
【図１４】
2004032773.tif 000017