(57)【要約】最初にソフトウェアをサーバ（１２）から１つ以上のクライアント（１４）に配信することによって、ソフトウェアパッケージをネットワーク（１０）内の複数のクライアント（１４）に配信することができる。次に、これらのクライアント（１４）は、クライアントのアドレスリストに含まれる別のクライアント（１４）にこのソフトウェアパッケージを配信できるようにされる。この後、ソフトウェアパッケージを受信する各クライアント（１４）は、今度は、リスト上の別のクライアント（１４）にソフトウェアパッケージを転送することを要求される。この方法では、ネットワーク（１０）内の多数のクライアント（１４）へのソフトウェアの配信に関連するネットワーク管理サーバ（１２）の負荷が減少される。
2004528614.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアパッケージをアドレスリストと共に第１のプロセッサベースのシステムに転送するステップと、
前記アドレスリスト上に存在する第２のプロセッサベースのシステムへと、前記アドレスリストの少なくとも一部と共に前記ソフトウェアパッケージを前記第１のプロセッサベースのシステムが自動的に転送することを可能にするステップと
を含んでなる方法。
【請求項２】
前記第１のプロセッサベースのシステムが前記ソフトウェアパッケージを前記第１のプロセッサベースのシステム上にインストールし、前記ソフトウェアパッケージのコピーを作り、前記ソフトウェアパッケージを前記第２のプロセッサベースのシステムに送信することを可能にするステップを含む請求項１に記載の方法。
【請求項３】
前記第１のプロセッサベースのシステムに前記ソフトウェアパッケージを自動的に認証させるステップを含む請求項２に記載の方法。
【請求項４】
メッセージを前記第１のプロセッサベースのシステムに送ることによって、前記第２のプロセッサベースのシステムに前記ソフトウェアパッケージを自動的に認証させるステップを含む請求項３に記載の方法。
【請求項５】
前記第２のプロセッサベースのシステムが前記ソフトウェアパッケージを正しく受信したことを前記第１のプロセッサベースのシステムに確認できるようにするチェックサムと共に、前記ソフトウェアパッケージを転送するステップを含む請求項４に記載の方法。
【請求項６】
前記第２及び第３のプロセッサベースのシステムへと、前記第１のプロセッサベースのシステムに前記ソフトウェアパッケージを転送させるステップを含む請求項１に記載の方法。
【請求項７】
前記ソフトウェアパッケージを前記第１及び第２のプロセッサベースのシステム間において送信するために暗号化するステップを含む請求項１に記載の方法。
【請求項８】
１つのプロセッサベースのシステムから次のプロセッサベースのシステムへそれぞれ逐次的な転送を行う場合に周知の方法で暗号を変更するステップを含む請求項７に記載の方法。
【請求項９】
前記ソフトウェアパッケージを第３のプロセッサベースのシステムへと前記第２のプロセッサベースのシステムが転送できるようにするソフトウェアと共に、前記ソフトウェアパッケージを転送するステップを含む請求項１に記載の方法。
【請求項１０】
前記第１のプロセッサベースのシステムの活動状態が低い時間に、前記第１のプロセッサベースのシステムが前記ソフトウェアパッケージを前記第２のプロセッサベースのシステムに転送することを可能にするステップを含む請求項１に記載の方法。
【請求項１１】
プロセッサベースのシステムが、
ソフトウェアパッケージをアドレスリストと共に第１のプロセッサベースのシステムに転送し、
前記アドレスリスト上に存在する第２のプロセッサベースのシステムへと、前記ソフトウェアパッケージを、前記アドレスリストの少なくとも一部と共に、前記第１のプロセッサベースのシステムが自動的に転送することを可能にする
命令を記憶する媒体を含む製品。
【請求項１２】
前記プロセッサベースのシステムが、前記ソフトウェアパッケージをインストールし、前記ソフトウェアパッケージのコピーを作り、前記ソフトウェアパッケージを前記第１のプロセッサベースのシステムに送信することを可能にする命令をさらに記憶する請求項１１に記載の製品。
【請求項１３】
前記第１のプロセッサベースのシステムに前記ソフトウェアパッケージを自動的に認証させることを、前記プロセッサベースのシステムに可能にする命令をさらに記憶する請求項１２に記載の製品。
【請求項１４】
メッセージを前記第１のプロセッサベースのシステムに送ることによって、前記第２のプロセッサベースのシステムに前記ソフトウェアパッケージを自動的に認証させることを前記プロセッサベースのシステムに可能にする命令をさらに記憶する請求項１３に記載の製品。
【請求項１５】
前記ソフトウェアパッケージを、前記ソフトウェアパッケージが正しく受信されたことを前記第１のプロセッサベースのシステムが確認できるようにするチェックサムと共に、前記プロセッサベースのシステムが転送することを可能にする命令をさらに記憶する請求項１４に記載の製品。
【請求項１６】
前記ソフトウェアパッケージを、前記第２及び第３のプロセッサベースのシステムへと前記第１のプロセッサベースのシステムに転送させることを、前記プロセッサベースのシステムに可能にする命令をさらに記憶する請求項１１に記載の製品。
【請求項１７】
送信するために、前記プロセッサベースのシステムが前記ソフトウェアパッケージを暗号化することを可能にする命令をさらに記憶する請求項１１に記載の製品。
【請求項１８】
前記第２のプロセッサベースのシステムに周知の方法で暗号化を変更させることを、前記プロセッサベースのシステムに可能にする命令をさらに記憶する請求項１７に記載の製品。
【請求項１９】
前記ソフトウェアパッケージを第２のプロセッサベースのシステムへと前記第１のプロセッサベースのシステムが転送できるようにするソフトウェアと共に前記ソフトウェアパッケージを転送することを、前記プロセッサベースのシステムに可能にする命令をさらに記憶する、請求項１１に記載の製品。
【請求項２０】
該第１のプロセッサベースのシステムの活動状態が低い時間に、前記第１のプロセッサベースのシステムが前記ソフトウェアパッケージを前記第２のプロセッサベースのシステムへと転送できるようにすることを、前記プロセッサベースのシステムに可能にする命令をさらに記憶する、請求項１１に記載の製品。
【請求項２１】
プロセッサベースの装置と、
前記プロセッサベースの装置に接続され、前記プロセッサベースの装置がソフトウェアパッケージをアドレスリストと共に第１のプロセッサベースのシステムへと転送することを可能にし、前記第１のプロセッサベースのシステムが前記ソフトウェアパッケージを前記アドレスリストの少なくとも一部と共に前記アドレスリスト上に存在する第２のプロセッサベースのシステムへと自動的に転送することを可能にする命令を記憶する記憶装置と
を備えてなるシステム。
【請求項２２】
前記装置がサーバである、請求項２１に記載のシステム。
【請求項２３】
前記サーバがネットワーク管理サーバである、請求項２２に記載のシステム。
【請求項２４】
前記装置がクライアントである、請求項２１に記載のシステム。
【請求項２５】
前記ソフトウェアパッケージ、前記アドレスリスト、及びソフトウェアを自動的に転送して、追加のプロセッサベースのシステムへと前記ソフトウェアパッケージをさらに配信できるようにする命令を前記記憶装置が記憶する請求項２１に記載のシステム。
【発明の詳細な説明】
【０００１】
［背景］
本発明は、概して、プロセッサベースのシステムへのソフトウェアの配信に関する。
【０００２】
ソフトウェアは、サーバから各種のクライアントのプロセッサベースのシステムに配信することができる。従来、ソフトウェアパッケージは、ネットワーク内の多数のプロセッサベースのシステムに定期的に発送されている。例えば、ソフトウェアの最新版、新しいソフトウェア、アプリケーションの最新版、及びオペレーティングシステムの最新版は、サーバから多数のクライアントに配信される。配信されたネットワークでは、ソフトウェアを多数のクライアントに配信する自動化システムを実現することが必要である。
【０００３】
ネットワーク上に接続された多数のクライアントにソフトウェアの最新版を配信することは、サーバのリソースに極めて重い負担を掛けることになる。ソフトウェアを多数のクライアントに配信することに専念された時間及びリソースは、ソフトウェア更新処理の費用を著しく増加させる。このことは、多くのクライアントへのアクセスが比較的速度が遅い接続により行われる場合は、特に顕著である。例えば、ディスプレイとしてテレビを使用し、基本的にはプロセッサベースのシステムであるセットトップボックスなどの、パワーが比較的小さいプロセッサベースのシステムでは、インターネット接続の帯域幅が限定されている。ソフトウェアをダウンロードする速度は比較的遅い。その結果、サーバには比較的多数のプロセッサベースのシステムに対してダウンロードの速度が遅いという負担が加わる。
【０００４】
このため、ソフトウェアを多数のプロセッサベースのシステムに対して配信するより優れた方法に対する要求がある。
【０００５】
［詳細な説明］
図１を参照する。ソフトウェア配信システム１０は、ネットワーク管理サーバ１２から多数のクライアント１４及び１６へのソフトウェアの配信を行う。各クライアント１４及び１６は、ディスクトップコンピュータ、セットトップボックス、プロセッサベースの機器又は他のプロセッサベースのシステムなどのプロセッサベースのシステムとすることができる。図１に示した実施形態は例証する目的のために６つのクライアントを含むが、極めて多数のクライアントがシステム１０を介してソフトウェアを受け取ることができる。
【０００６】
本発明の１つの実施形態では、バイナリーツリーソフトウェア配信システムを使用することができる。最初は、ネットワーク管理サーバ（ＮＭＳ）１２は、経路１２ａ上のクライアント１４ａ及び経路１２ｂ上のクライアント１４ｂに対するアドレスリストと一緒にソフトウェアパッケージを配信する。次に、第１の階層のクライアントのそれぞれのクライアント１４は、例えば、戻りの又は別のチャネル１７上でメッセージをサーバ１２に送り戻すことによって、パッケージを認証する。この認証処理により、許可されたソフトウェアのみがクライアント１４に確実に配信され、外部のエンティティーがシステム１０を混乱させようとすることが防止される。
【０００７】
次に、各クライアント１４は受け取ったソフトウェアを、クライアント１４ａの場合はクライアント１６ａ及び１６ｂ、又はクライアント１４ｂの場合はクライアント１６ｃ及び１６ｄのように、２つのクライアント１６に配信する。今度は、それぞれのクライアント１６は、チャネル１７を通ってソフトウェアを認証する。その後、それぞれのクライアント１６は、順に、ソフトウェアを別のクライアント（図示せず）に配信する。
【０００８】
このように、ソフトウェアをインストールするクライアントにソフトウェアを配信し、次に、このソフトウェアのコピーをアドレスリストと共に２つの追加のクライアントに配信する。１つの実施形態では、ソフトウェアを受け取るたびに、クライアント１４又は１６はアドレスリストから自身の識別子を削除することがあるため、このソフトウェアが同じクライアントに繰り返し配信されることはない。
【０００９】
アドレスリストは構文解析することもできる。クライアント１４ａに送られたリストは最初のリストの半分であり、クライアント１４ｂに送られたリストは最初のリストの別の半分である。次に、クライアント１４ａは半分のリストを再度構文解析し、そのリストの半分をクライアント１６ａにリストの半分をクライアント１６ｂに送る。別の方法では、リストは受け取ったときに複数の区分に事前に構文解析される。
【００１０】
１つの実施形態では、各上流で、ソフトウェアを配信するサーバ又はクライアントは、アドレスリスト上の次の名前を取り去ることによって、ソフトウェアパッケージを受け取る受信クライアントを識別する。これにより、各クライアント１４又は１６は、上流のソースからリストを受け取った後でリストから自分自身の識別子を取り除く。次に、各クライアント１４又は１６は、ソフトウェアパッケージ及びアドレスリストをリスト上の次のクライアントに向かわせる。このように、ソフトウェアパッケージはアドレスリストと一緒に、ネットワーク内の全てのクライアントに順次配信される。
【００１１】
ソフトウェア配信システムの分散された、すなわちピアツーピアの性質のために、ネットワーク管理サーバ１２に対する要求は軽減される。ソフトウェアパッケージのダウンロードに必要な比較的長い時間枠は、クライアント１４及び１６に対して軽減される。サーバ１２は、単に、最終的なパッケージの受信者に必要な認証を与えるだけである。
【００１２】
１つの実施形態では、クライアント１４又は１６に認証コードをサーバ１２に送り戻させることにより、認証が実行される。認証コードが正しい場合、サーバ１２は本物のソフトウェアパッケージが受信されたことを承認する。
【００１３】
場合によっては、認証コードは逐次暗号化される。許可されていないグループによって盗まれることを避けるため、連なっているクライアントの各々はコードを周知の又は所定の方法で変更することもできる。例えば、ローリングコード方式を使用することができる。パッケージが確実に正しく受信されるように、パッケージにチェックサムを付けることもできる。
【００１４】
各ソースがソフトウェアパッケージをバイナリーツリーの形式で２つの後に続くクライアントに送るようにシステム１０が例証されているが、各種の他の配信技術を使用することができる。ソフトウェアを、上流のクライアントから受け取るクライアントの数は、本質的には制限があるものではない。数が増加する範囲で、特定の上流のクライアントのソフトウェア配信者にかかる負荷は増加する。最終的には、ソフトウェアの配信負荷が、含まれるクライアントのユーザによって認識されることとなる。このため、どれか１つのクライアントがソフトウェアパッケージを配信する先のクライアントの数を制限することは好ましい。
【００１５】
本発明の１つの実施形態では、ソフトウェアパッケージの配信を可能にするソフトウェアを各クライアント１４又は１６に事前にロードする。場合によっては、システム１０全体が各クライアント１４又は１６に提供されたハードウェア及びソフトウェアを管理するサービスプロバイダによって管理される。従って、クライアント１４及び１６は必要なハードウェア及びソフトウェアを備える（自動的にソフトウェアを配信することができるソフトウェアエージェントとは別に）。
【００１６】
本発明のいくつかの実施形態では、ソフトウェアパッケージを受信すると、クライアントのリソースがローディングルーチンを実行できる場合、ソフトウェアパッケージは直ちにロードされる。本発明のいくつかの実施形態では、クライアント１４又は１６は、ソフトウェアを別のクライアントに配信するために、イナクティブな時期まで待機する。例えば、プロセッサの電力状態のような、クライアントの新型構成及び電力インターフェース（Ａｄｖａｎｃｅｄ Ｃｏｎｆｉｇｕｒａｔｉｏｎ ａｎｄ Ｐｏｗｅｒ Ｉｎｔｅｒｆａｃｅ）（ＡＣＰＩ）をモニタすることによって、クライアント１４又は１６は、ソフトウェアを配信するための好ましい活動状態が低い時間を求める。この方法では、ソフトウェアの配信は、送信するクライアントのオーナ又はユーザに対して目立ったり混乱させたりすることはない。ＡＣＰＩの仕様、改訂１．０、１９９６年１２月２２日、を参照されたい。本発明の別の実施形態では、ソフトウェアの配信は夜間に行われるようにプログラムされる。本発明のさらに別の実施形態では、送信時間はクライアントのユーザ又はオーナが選択することができる。
【００１７】
本発明の１つの実施形態では、ソフトウェアパッケージは、受信するクライアント１４又は１６用のソフトウェアを含み、次にアドレスリスト上の次のアドレスにソフトウェアを受信するクライアントが配信できるようにするソフトウェアをも含む。そのような場合は、クライアント１４又は１６はソフトウェアの最新版のようなソフトウェアパッケージを受信するだけでなく、ソフトウェア配信システムを永続させるようなソフトウェアも受信する。本発明の１つの実施形態では、ソフトウェア配信用のソフトウェアは、実行された後にクライアントから消去されるものとすることができる。
【００１８】
次に、図２を参照する。ソフトウェアパッケージを配信するネットワーク管理サーバ１２用のソフトウェア３４は、記憶装置１８上に記憶される。最初は、ブロック３６で示すように、このソフトウェア３４は、クライアントのアドレスリストと共にソフトウェアパッケージを受信する。これらのアドレスは、１つの実施例として、伝送制御プロトコル（ＴＣＰ）／インターネットプロトコル（ＩＰ）のポート及びアドレスのような、ネットワークが認識する形式とすることができる。次に、ブロック３８に示すように、ソフトウェアパッケージ及びアドレスリストが、クライアント１４ａ及び１４ｂなどのいくつかのクライアントに送られる。ダイヤモンド４０において、サーバ１２は、各クライアント１４からの認証要求を待ち受ける。認証要求が受け取られ、適切なコードが送られる場合は、ブロック４２に示すように、ソフトウェアパッケージは、例えば、肯定応答を送ることによって認証される。必要な数のクライアントのアドレスがそれらの認証を受け取った後、フローは終了する。
【００１９】
いくつかの実施形態では、各クライアント１４又は１６は、サーバ１２にソフトウェアがクライアント１４又は１６にうまくインストールされたことを通知する。この場合、サーバ１２はインストールがうまく行われたという通知がなくても経過する時間をモニタする。時間が長すぎる場合、サーバは特定のクライアント１４又は１６のソフトウェアのインストールに問題があるかどうかを判断するためにチェックする。問題がある場合は、サーバ１２が介在して、問題のあるクライアント及び最終的に問題に遭遇する可能性がある別のクライアント１４又は１６におけるソフトウェアのインストールを容易にする。
【００２０】
次に、図３を参照する。クライアント用ソフトウェア４４は、クライアント１４又は１６に含まれる記憶装置２０に記憶される。このソフトウェア４４は、上流のソースから受信したソフトウェアパッケージを処理し、このソフトウェアを１つ以上の下流の受信するクライアントに配信する仕事をする。最初は、ソフトウェアパッケージ及びアドレスリストが、ブロック４６に示すように、所定のクライアントによって受信される。クライアントは、ブロック４８に示すように、ネットワーク管理サーバ１２によりこのソフトウェアを認証する。
【００２１】
次に、ソフトウェアパッケージが、ブロック５０に示すように、クライアントにインストールされる。その後、このソフトウェアパッケージが、ブロック５２に示すように、アドレスリストの次の名前宛てに配信される。さらに、いくつかの実施形態では、クライアント用ソフトウェア４４は、アドレスリストからその名前を削除する。送信するクライアントが２つの受信するクライアントにアドレスリストを送る場合は、この送信するクライアントはリストを２つに分割し、リストの半分を２つの受信するクライアントのそれぞれに送る。
【００２２】
本発明を限られた数の実施形態に関して説明してきたが、当業者はこれらの実施形態からの多くの修正例及び変更例を理解されよう。添付した特許請求の範囲が、全てのそのような修正例や変更例を本発明の真の精神及び範囲の中に入るものとしてカバーするものとする。
【図面の簡単な説明】
【図１】
本発明の１つの実施形態の概略図である。
【図２】
本発明の１つの実施形態による図１に示したネットワーク管理サーバが使用するソフトウェア用のフローチャートである。
【図３】
本発明の１つの実施形態による図１に示したクライアントが使用するソフトウェア用のフローチャートである。
【図１】
2004528614.tif 000003
【図２】
2004528614.tif 000004
【図３】
2004528614.tif 000005
【国際公開パンフレット】
2004528614.tif 000006
2004528614.tif 000007
2004528614.tif 000008
2004528614.tif 000009
2004528614.tif 000010
2004528614.tif 000011
2004528614.tif 000012
2004528614.tif 000013
2004528614.tif 000014
2004528614.tif 000015
2004528614.tif 000016
2004528614.tif 000017
2004528614.tif 000018
2004528614.tif 000019
2004528614.tif 000020
2004528614.tif 000021
2004528614.tif 000022
【国際調査報告】
2004528614.tif 000023
2004528614.tif 000024