JP5349733B2 - アップデートをダウンロードする方法およびシステム - Google Patents

アップデートをダウンロードする方法およびシステム Download PDF

Info

Publication number
JP5349733B2
JP5349733B2 JP2005360913A JP2005360913A JP5349733B2 JP 5349733 B2 JP5349733 B2 JP 5349733B2 JP 2005360913 A JP2005360913 A JP 2005360913A JP 2005360913 A JP2005360913 A JP 2005360913A JP 5349733 B2 JP5349733 B2 JP 5349733B2
Authority
JP
Japan
Prior art keywords
list
update
peer
host
computer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005360913A
Other languages
English (en)
Other versions
JP2006172472A (ja
JP2006172472A5 (ja
Inventor
エフ.マッカイ ジェイソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006172472A publication Critical patent/JP2006172472A/ja
Publication of JP2006172472A5 publication Critical patent/JP2006172472A5/ja
Application granted granted Critical
Publication of JP5349733B2 publication Critical patent/JP5349733B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、一般にはコンピュータのアップデートに関し、詳細には、ピアツーピアのネットワーク環境を利用してアップデート(更新)を取得し、インストールするシステムおよび方法に関する。
コンピュータ、特にコンピュータソフトウェアは、ユーザがインターネットなどのネットワークを介してソフトウェア提供業者などのホストからソフトウェアパッチをダウンロードすることによってしばしば更新される。現在は、1つの供給源からパッチ全体がダウンロードされ、ダウンロードを行ったマシンにインストールされて、ソフトウェアを最新の状態に更新する。この技術は実際に用いられているが、いくつかの欠点がある。
第1に、パッチをダウンロード可能な状態にするソフトウェア提供業者は、複数の顧客が同時にアップデートをダウンロードできるように、十分な量の送出帯域幅(egress bandwidth;送信帯域幅ともいう)を提供しなければならない。多数の顧客を抱えるソフトウェア提供業者の場合、そのような送出帯域幅は、非常に高コストになる可能性がある。
第2に、顧客は、パッチをインストールし、ソフトウェアを更新する前に、1つの供給源からパッチ全体をダウンロードしなければならない。これは、サイズの小さいパッチには許容できるが、大きなパッチの場合は、1つの供給源からパッチ全体をダウンロードするのに必要とされる時間が、許容できない長さになる可能性がある。第3に、提供されるソフトウェアが、ダウンロードに十分な帯域幅を利用できるようにしていない場合(特にセキュリティアップデートなどの優先度の高いパッチが公開される場合は難しく、高コストになる)、顧客は、パッチのダウンロードを一時的に妨げられる可能性がある。
ピアツーピア(peer to peer)ネットワーキングの近年の進歩で、複数のピアから大きなファイルの色々な部分をダウンロードする能力がもたらされている。一例として、図1に、特定のファイルをダウンロードするための典型的なピアツーピア環境のブロック図を示す。特定のファイルをダウンロードするために、クライアント101は、ホスト103にその特定のファイルを要求する。それに応答して、ホストは、それら要求されたファイルの様々な部分をダウンロードできるようにしている複数のピアを識別するピアリストを送信する。例えば、1つのビデオファイルを複数の部分(ピース)に細かく分割し、それらの部分をサブピース(sub-piece)に分割し、さらにそのサブピース(以後、「二次分割部分」と翻訳する)をサブサブピース(sub-sub-piece: 以後、「三次分割部分」と翻訳する)に分割することができる。以前に1つの供給源または複数の他のピアから、そのビデオファイルをダウンロードしている各ピアは、ファイル全体の三次分割部分の1つまたは複数を、クライアント101などの他のピアがダウンロードできる状態にすることができる。ホスト103からクライアント101に送信されたピアリストは、要求された特定のファイルの三次分割部分のそれぞれと、その三次分割部分をダウンロードに供させることを可能にする付随ピア(associated peer)とを同定する(identify)。
クライアント101は、ホスト103からピアリストを受け取ると、三次分割部分をダウンロードする、各三次分割部分に係わるピアを選択する。ピアを同定すると、クライアント101は、特定のファイルのすべての三次分割部分がダウンロードされるまで、選択したピアから各三次分割部分をダウンロードする。色々なピアから部分(ピース)をダウンロードすることにより、複数のダウンロードを同時に行うことができる。各三次分割部分がダウンロードされると、クライアント101は、その三次分割部分を、ダウンロードに供するピアにする(すなわちその三次分割部分を共有する)ことを希望するか否かを決定することができる。クライアントはその三次分割部分を共有することを決定する場合には、クライアント101は、自身が共有するのに異議がない三次分割部分をホスト103に対して明確にする。
図1に関して説明したようなピアツーピアの環境は、ビデオファイルなど、クライアントが要求する特定のファイルをダウンロードする能力を提供するが、クライアントが必要とする可能性のあるファイルを判定する技術は現在ない。例えば、ソフトウェアパッチのダウンロードから言及すると、パッチを要求する前に、クライアントは、どのアップデートが利用可能であるかだけでなく、そのクライアントが必要とするアップデートも知っていなければならない。さらに、その素材(material)がそのダウンロード元のコンピュータに完全に組み込まれる前に、ダウンロード元のコンピュータが、コンピュータ自身が共有しているものを明らかにすることによって、コンピュータが損なわれることから保護するセキュリティ機能が現在ない。さらに、クライアントがローカルのキャッシュスペースを解放(reclaim)する必要がある時に、クライアントのローカルキャッシュにある複数のパッチがソフトウェア提供業者(ソフトウエアプロバイダー)によって優先順位を付けられることができる方法は存在しない。
したがって、クライアントが必要とされるソフトウェアアップデートを特定し、ピアツーピア環境を利用してそのアップデートを安全にダウンロードすることを可能にするシステムおよび方法が必要とされる。
本発明の実施形態は、ソフトウェア提供業者が、ピアツーピア環境を利用していくつかのさまざまな顧客にソフトウェアアップデートを配布する能力を提供する。ここに記載される本発明を使用して、これらに限定しないが、オペレーティングソフトウェア、プログラミングソフトウェア、アンチウィルスソフトウェア、データベースソフトウェア等を含む、どのようなタイプのソフトウェアでも更新することができる。セキュリティが高められたピアツーピア環境の使用により、各ピアについてのダウンロード時間を最小にすることができ、また、クライアント(ピア)がアップデートを得られるようにするためにソフトウェア提供業者によって提供されなければならない送出帯域幅の量も減らすことができる。
本発明の第1の態様によれば、第1のコンピューティングデバイスを更新する方法が提供される。この方法は、利用可能なアップデートのリストを受け取り、そのリスト中にアップデートに必要なものがあるかどうかを判定する。アップデートする必要とされるものがある場合は、そのアップデートの部分(ピース)と、その部分(ピース)をそこから入手できるコンピューティングデバイスとを同定するコンピューティングデバイスリストを受け取る。そして、それらの部分(ピース)がコンピューティングデバイスからダウンロードされ、複数の部分の少なくとも2つは、異なるコンピューティングデバイスからダウンロードされる。その部分(ピース)がダウンロードされると、ダウンロードされた部分(ピース)を利用して第1のコンピューティングデバイスのソフトウェアが更新される。
本発明の別の態様によれば、ソフトウェアアップデートをダウンロードするためにクライアントにピアリストを提供する方法が提供される。この方法は、利用可能なアップデートを同定するリストを送信し、利用可能なアップデートについてのピアリスト要求を受け取る。それに応答して、複数のピアを識別するピアリストが生成され、識別される各ピアは、利用可能なアップデートの少なくとも一部分をダウンロードできるようにしている。そしてそのピアリストが送信される。
本発明の別の態様によれば、アップデートを取得する方法を行うコンピュータ実行可能プログラムを含むコンピュータ可読媒体を有するコンピュータシステムが提供される。コンピュータシステムは、利用可能なアップデートのリストを受け取り、利用可能アップデートのリストから必要なアップデートを識別する。次いで必要なアップデートについてのピアリストが要求され、受け取られる。受け取られたピアリストは、必要なアップデートの複数の部分(ピース)を識別し、各部分(ピース)につき、その部分(ピース)をダウンロードできるようにしている1つまたは複数のコンピューティングデバイスを識別する。コンピュータシステムは次いで、識別されたコンピューティングデバイスから、各部分(ピース)をダウンロードする。
上述の本発明の態様とそれに付随する利点・効果の多くは、以下の詳細な説明を添付図面と併せて参照することにより、よりよく理解されれば、より容易に認識されよう。
本発明の実施形態は、ここではホストと称するソフトウェア提供業者が、ソフトウェアアップデートの複数の部分をさまざまな異なる受信者(ここではピアと称する)に配布する能力を提供する。ここで称されるピアは、ソフトウェアアップデートの一部(ピース)をダウンロードに供する任意のタイプのコンピューティングデバイスを含む。例えば、ピアは、これらに限定しないが、個々のコンピューティングデバイス、サーバ、ホストコンピューティングデバイス、クライアントコンピューティングデバイス等である。ソフトウェアアップデートの部分(ピース)を有するピアは、その部分(ピース)を他のピアがダウンロードに供する。追加的なピアが同じソフトウェア部分を取得すると、それらのピアも、その部分(ピース)を他のピアのダウンロードに供することができる。したがって、部分(ピース)を保持するピアの数が増えるのにしたがって、利用可能なその部分(ピース)のダウンロードサイトの数が増していく。
図2A〜図2Cに、本発明の一実施形態による、ピアツーピア環境を利用してソフトウェアアップデートをダウンロードする状態図を示す。このピアツーピア環境200は、クライアント201が必要とされるアップデートを識別し、そのアップデートの部分(ピース)をそこから取得することができるピアリストをホスト203から取得する能力を提供する。
初めに図2Aを参照すると、初期の状態で、クライアント201が、ホスト203から入手できるアップデートのリストをホストに要求する。代替実施形態では、ホスト203は、周期的に利用可能なアップデートのリストを公開し、そのリストがクライアント201に入手される。ホスト203は、利用可能アップデートリストに対する要求を受け取ると、利用可能アップデートのリストをクライアント201に送信する。クライアント201は、自身をスキャンして現在の状態を判定し、その状態を利用可能アップデートリストと比較して、必要なアップデートを決定する。必要なアップデートを決定すると、クライアント201は、ホスト203に、その必要とされるアップデートのアップデートオプションのリストを要求する。ホスト203は、必要なアップデートについてのアップデートオプションの要求を受け取ると、その要求されたアップデートオプションリストを作成する。
クライアントのプライバシーの問題のために、本発明の一実施形態では、必要最低限のクライアント情報がクライアントからホストに渡される。例えば、すぐ上で述べたように、ホストが、利用可能なアップデートのリストを提供し、クライアントがどのアップデートが必要であるかを判断する。代替実施形態では、クライアントが、自身の現在のステータスの識別、あるいは各種の動作状態に対応する情報をホストに提供し、ホストが、必要なアップデートをクライアントに通知することができる。
図3を参照して、本発明の一実施形態による、必要なアップデートについての様々なオプションを識別する、ホストで生成されることができるアップデートオプションリストについて説明する。アップデートオプションリスト300は、アップデート1(UPDATE1)301などクライアント201から要求される各アップデートについて、そのアップデートを取得するために利用できる様々な選択肢を識別する。また、アップデートオプションリスト300は、いくつかの要求されるアップデートについてのアップデートオプションを含むこともできる。例えば、クライアント201がアップデート1(UPDATE1)301およびアップデート7(UPDATE7)303についてのアップデートオプションを要求したとすると、アップデートオプションリスト300は、要求されたアップデート301、303それぞれの識別と、そのアップデートを入手するために利用できる様々なオプションの識別を含む。例えば、アップデート1(UPDATE1)301は、フルパッチ1(Full Patch1)305、細部1.1(Delta1.1)パッチ307、細部1.2(Delta1.2)パッチ309、細部1.3(Delta1.3)パッチ311の識別を含む。同様に、アップデート7(UPDATE7)303は、フルパッチ7(Full Patch7)313、細部7.1(Delta7.1)パッチ315、細部7.2(Delta7.2)パッチ317、および細部7.3(Delta7.3)パッチ319の識別を含むことができる。
フルパッチ(full patch;完全パッチともいう)1 305は、インストールしてソフトウェアを既存の状態から最新の状態にすることができる完全なアップデートである。各細部パッチ(delta patch;デルタパッチともいう)は、フルパッチを使用しなくとも、ソフトウェアを既知の既存の状態から最新の状態にするために使用することができる。アップデートしようとするソフトウェアは、多くの場合、識別されることが可能ないくつかの異なる既知の状態の1つにある。そのため、それら既知の状態それぞれについて、細部パッチを使用してそのソフトウェアに修正を加えてソフトウェアを最新の状態にすることができる。例えば、細部1.1パッチ307が使用されて、ある既知の既存状態にあるソフトウェアのバージョンを最新の状態にすることができる。
クライアント201がソフトウェアを更新するために細部パッチの1つを使用できるかどうかを判定できるようにするために、各細部パッチは、ファイルのリストと、それらファイルの予定ハッシュ値(expected hash)を含む。予定ハッシュ値は、その細部パッチが既存のソフトウェアに該当するかどうかを判定するために使用することができる。例えば、細部1.1パッチ307は、予定ハッシュ値321を有するファイル1.1 320、予定ハッシュ値323を有するファイル1.2 322、および予定ハッシュ値325を有するファイル1.3 324を含む。クライアントは、アップデートオプションリスト300を受け取ると、そのクライアントのシステム201で更新しようとするファイルの現在の状態のハッシュ値を計算し、そのハッシュ値が、アップデートリストに含まれる予定ハッシュ値と一致するかどうかを判定することができる。ハッシュ値が一致する場合は、対応する細部パッチを使用してクライアントのシステムを更新することができる。フルパッチ1 305などのフルパッチを使用する代わりに、細部1.1 307などの細部パッチを使用すると、全体的なアップデートではなく、部分的なアップデートになるので、結果としてダウンロードがより小さくなる。
次いで図2Bを参照すると、ホスト203が、要求されたアップデートオプションリストを生成すると、そのアップデートオプションリストがクライアント201に送信される。クライアント201は、アップデートオプションリストから、クライアント201の状態を最新の状態にする各アップデートのパッチを選択する。上記で述べたように、クライアントは、必要なアップデートのために、フルパッチまたは該当する細部パッチを選択することができる。当業者には理解されるように、1つまたは複数の必要とされるアップデートがアップデートオプションリストから選択されることができる。該当する各パッチを選択すると、クライアント201は、必要なアップデートについてのピアリストを要求する。ホスト203は、必要なアップデートのピアリストの要求を受け取るのに応答して、要求されるピアリストを作成し、そのピアリストをクライアント201に送信する。
ホストは、あるアップデートの部分をダウンロードできるようにしている各ピアを識別するマスタピアリストを保持している。これまでにホストからアップデートがダウンロードされたことがない場合、初期のピアリストは、そのホストを利用可能なピアとしてのみ識別することができる。そのような状況では、クライアントは、アップデートをダウンロードする最初のクライアントになり、ホストをピアとして選択し、ホストからファイル全体をダウンロードすることになる。下記で述べるように、クライアントがアップデートをダウンロードし、インストールすると、クライアントは、そのアップデートの1つまたは複数の部分をダウンロード(共有)可能にするつもりであることをホストに対して明らかにする。したがって、ホストは、そのクライアントを、そのクライアントが共有するアップデートの部分についてのマスタピアリストに加える。追加的なクライアントがホスト、あるいはピア、またはその両方からアップデートをダウンロードし、自身をそのアップデート部分をダウンロードできるようにしていると識別するのにつれて、利用可能なピアの数が増えていく。
図4に、本発明の一実施形態による、クライアントからのピアリスト要求に応答して、必要とされたアップデートについてのピアを識別するピアリストのブロック図を示す。上記の例を続けると、クライアント201が、細部1.1パッチ401とフルパッチ7 403を要求したとすると、ピアリスト400は、それら各パッチの詳細とそれらパッチについてのピアの識別を含む。ダウンロードされるパッチの真正性を確認するためのハッシュ値も含まれる。
例えば、細部1.1(Delta1.1)パッチ401は、そのパッチの細部ハッシュ(delta hash)と優先度値(priority)を含む。下記でより詳細に述べるように、パッチのハッシュ値は、インストールの前にそのパッチの有効性を確認するために使用することができる。代替実施形態では、その優先度値は、パッチに含まれなくてよい。そのような実施形態では、部分(ピース)はキャッシュに保存され、追加的な記憶スペースが必要になると、クライアントコンピュータは、現在キャッシュに置かれている部分についての優先度リストを要求することができる。これは、ホストが、時間の経過に伴って部分の優先度を動的にコントロールする能力を提供する。これも下記で述べるように、パッチの優先度値を使用して、パッチの部分をクライアントコンピュータのキャッシュに保持すべきか、削除すべきかを決定することができる。ファイル1.1(Fiel1.1)405やファイル1.2(Fiel1.2)407などのパッチの各ファイルについては、細部ハッシュも含まれる。パッチの細部ハッシュと同様に、ファイルの細部ハッシュを使用してファイルの真正性(authenticity)を検証することができる。
また、ファイル1.1 405などの各ファイルは、部分1(Piece1)409や部分2(Piece2)411などの部分に分割することができる。ファイルの各部分はさらに、二次分割部分(Sub−Piece)に分割し、その二次分割部分を三次分割部分(Sub−Sub−Piece)に分割することができる。例えば、部分1 409を二次分割部分1.1 413と、二次分割部分1.2 415などの二次分割部分に分けることができる。同様に、それらの二次分割部分をさらに、三次分割部分1.1.1 417と三次分割部分1.1.2 419のような三次分割部分に分割することができる。当業者には理解されるように、部分、二次分割部分、三次分割部分への分割は、任意の分割レベルまで、そして、説明のためだけであっても、ここに記載されるように三次分割部分の細分度まで行える。
三次分割部分のような最も小さい分割レベルは、その部分をダウンロードできるようにしている1つまたは複数のピアの識別を含む。例えば、三次分割部分1 417は、その部分をダウンロードできるようにしている2つのピアの識別を含む。詳細には、三次分割部分1.1.1 417は、ピア1 421またはピア4 425からダウンロードすることができる。ある三次分割部分をダウンロードできるようにしている各ピア(peer)は、インターネットプロトコルアドレスなどのアドレス(addr)で識別される。ピアリスト400は、三次分割部分をダウンロードできるようにしているすべてのピア、三次分割部分をダウンロードできるようにしているピアの一部、または各三次分割部分につき1つのピアの識別を含むことができる。また、ピアリストに掲載される各ピアについて、追加的な情報が提供されることができる。例えば、ピアについての追加的情報には、これらに限定しないが、ピアの帯域幅(bandwidth)、そのピアの格付け(そのピアがどれだけ信頼できるか)、企業や組織とのピアの提携、ピアツーピアのダウンロードシステムのピアの使用履歴等が含まれる。ピアリストは、細部パッチ自体のインストール方法についての指示を提供するアップデートコマンドセット427も含むことができる。
再度図2Bを参照すると、クライアント201は、ピアリストを受け取ると、そのピアリストに識別される三次分割部分についてのピアを選択する。ピアと部分の選択については下記で図6との関係でより詳しく説明する。三次分割部分と、その部分をダウンロードするピアを選択すると、クライアント201は、異なるピアとの間にいくつかの通信チャネルを開き、異なるアップデート部分を同時にダウンロードし始める。異なるピアから異なるアップデート部分をダウンロードする技術は、アップデートを取得することができる速度を増し、それにより、合計のダウンロード時間を短縮する。また、ピアツーピア環境を介してアップデートを提供すると、ホスト203に必要とされる送出帯域幅(egress bandwidth)が減る。本発明の実施形態を利用すると、クライアントがホストに接続し、アップデートをダウンロードし、他のクライアント(他のピア)とそれらアップデートの部分を共有し始めると、ホスト203の送出帯域幅は、クライアントがホストではなく他のピアからアップデート部分を取得するようになるのにつれて低減する。最もよい場合でも非常にコストが高くなり、最悪の場合には完全に負荷を受けて機能しない従来のファイルサービスに比べて、本発明のこの技術は、特定のコンテンツに対する需要の極度の増大に、はるかに効果的に対応する。
次いで図2Cを参照すると、各三次分割部分のダウンロードが完了すると、その三次分割部分のハッシュ値が計算され、ピアリストに含まれるハッシュ値と比較されて、その三次分割部分に変更が加えられていないことを確認する。特定のパッチのすべての三次分割部分がダウンロードされ、認証されると、それらの部分が組み合わせられて(assemble)パッチを復元する。また、ダウンロードされた三次分割部分の1つまたは複数のコピーがキャッシュに保持される。そのコピーは、他のピアがダウンロードするのに供することができる。
組み合わせられたパッチがインストールされて、クライアントを最新の状態に更新する。インストールが完了すると、必要な場合はクライアントコンピュータシステムを再起動することができる。パッチのインストールとクライアントコンピュータ201の再起動(必要な場合)が完了すると、クライアント201は、キャッシュに記憶された三次分割部分の識別(identification)をホスト203に送信する。この識別は、記憶された各三次分割部分のハッシュ値でよい。ホスト203は、キャッシュされた三次分割部分の識別を受け取ると、マスタピアリストを更新して、それらの部分をダウンロードできるようにしているピアとしてそのクライアントを追加する。マスタピアリストは、他のクライアントからダウンロードできるようにされたパッチの部分を保持している各ピアのリストを含む。
図5は、本発明の一実施形態による、クライアントのソフトウェアを更新するクライアントソフトウェア更新ルーチンを説明する流れ図である。クライアントソフトウェア更新ルーチン500は、ブロック501で開始し、ブロック503でクライアントがアップデートリストを要求し、取得する。上記で述べたように、アップデートリストは、ダウンロードすることが可能なアップデートの識別を含む。ブロック505で、そのリストを利用して、クライアントが自身の既存のシステムのステータスを利用可能なアップデートと比較する。その比較に基づいて、判定ブロック507で、クライアントの既存のシステムを最新の状態にするためにアップデートが必要であるかどうかが判定される。
判定ブロック507でアップデートが必要であると判定された場合は、判定ブロック509で、必要なアップデートの細部パッチが利用できるかどうかが判定される。上記で述べたように、必要なアップデートの細部パッチが利用できるかどうかの判定は、必要なアップデートのアップデートオプションを要求し、様々なアップデートオプションのリストを受け取ることによって確かめることができる。様々なアップデートオプションのリストは、細部パッチの識別と、その細部パッチで更新されるファイルの予定ハッシュ値を含む。細部パッチの予定ハッシュ値を、クライアントにあるファイルのハッシュ値と比較することにより、細部パッチを利用できるかどうかの判定がクライアントで行われることができる。代替実施形態では、利用可能なアップデートのリストは、利用可能な各アップデートのアップデートオプションも含むことができ、それにより、後にアップデートオプションを取得する必要をなくする。
クライアントが自身の既存のシステムのハッシュ値をホストに提供するのではなく、細部パッチを利用できるかどうかをクライアントが判定できるようにすると、クライアントが自身に関するプライバシーを保つことができるようになる。判定ブロック509で細部パッチが利用できると判定された場合は、ブロック511で示すように、その細部パッチがダウンロードリストに追加される。一方、判定ブロック509で細部パッチが利用できないと判定される場合は、ブロック513で、そのアップデートの全パッチの識別がダウンロードリストに加えられる。
判定ブロック515で、クライアントを最新の状態にするために更なるアップデートが必要とされるかどうかが判定される。判定ブロック515で更なるアップデートが必要と判定される場合、クライアントソフトウェア更新ルーチン500は、判定ブロック509に戻り、ルーチンが継続する。一方、判定ブロック515で追加的なアップデートが必要でないと判定される場合は、ブロック517で、クライアントが、ダウンロードリストで識別されるパッチについてのピアリストを要求する。ブロック517でピアリストを要求するのに応答して、ブロック519で、クライアントは、ダウンロードリストで識別された各パッチの各三次分割部分をダウンロードできるようにしているピアの識別を含むピアリストを受け取る。ピアリストを受け取ると、ブロック521で示すダウンロードサブルーチンが行われる。ダウンロードサブルーチンについては図6に関してより詳細に説明する。ダウンロードサブルーチンが完了すると、ブロック523で、ダウンロードされた三次分割部分が組み合わせ(assemble)られて、要求されたパッチを復元し、そのパッチがクライアントシステムにインストールされて、クライアントシステムを最新の状態にする。
ダウンロードされたパッチのインストールが完了し、必要な場合はクライアントシステムが再起動されると、クライアントソフトウェア更新ルーチン500は、ブロック525で示すように、キャッシュに格納されている三次分割部分のハッシュを送信する。キャッシュされた三次分割部分は、そのクライアントが他のピアからダウンロードに供する、クライアントのキャッシュに記憶された部分である。本発明の一実施形態では、クライアントは、ピアツーピア環境が確実に維持されるように、他のピアからダウンロードした部分を共有することを要求される。
例えば、クライアントがピアツーピア環境を介して50MB(メガバイト)のアップデートをダウンロードする場合、そのクライアントは、自身がダウンロードした量と同じ量のデータをダウンロード可能な状態にすることを求められる。本発明の実際の実施形態では、各部分が検証され、インストールされるまで、キャッシュされた三次分割部分のハッシュが送信され、それにより共有が可能であることを明らかにしなくてよい。ピアリストがホストから他のピアに提供されると、現在ダウンロード中のパッチなど、特定のパッチがピアにないことを知りながらピアのアドレスが使用されてピアマシンを損なう可能性があるので、パッチを検証およびインストールした後にパッチを共有することが必要である場合がある。ブロック525でキャッシュされた三次分割部分のハッシュが送信されると、または、判定ブロック507で必要なアップデートがないと判定される場合、クライアントソフトウェア更新ルーチン500は、ブロック527で完了する。
クライアントソフトウェア更新ルーチン500は、クライアントが最新の状態に確実に保たれるように、手動で開始されても、あるいは代替実施形態では、周期的に実行されるようにスケジュールされてもよい。例えば、クライアントソフトウェア更新ルーチン500は、夜間に、あるいはクライアントコンピューティングデバイスが使用されていない時に実行されるようにスケジュールされることができる。また、追加されたセキュリティ機能として、利用可能アップデートリスト、アップデートオプションリスト、およびピアリストはそれぞれ、ホストによってデジタル的に署名して、変更を加えられないようにすることができる。文書のデジタル署名は、当技術分野で知られており、そのためここでは詳しく説明しない。
図6は、本発明の一実施形態による、異なるピアからパッチの部分をダウンロードするためにクライアントソフトウェア更新ルーチンの一部として実行されることができるダウンロードサブルーチンの流れ図である。ダウンロードサブルーチン600は1つのパッチのダウンロードとの関係で説明するが、ダウンロードサブルーチン600を使用して、任意数のパッチが同時に、または異なる時にダウンロードされてよいことは理解されよう。
ダウンロードサブルーチン600は、ブロック601で開始し、ブロック603で、1つまたは複数のパッチの各三次分割部分についてのピアリストが受け取られる。上記で述べたように、ピアリストは、あるパッチの異なる三次分割部分をダウンロードできるようにしているピアのアドレスを識別する。三次分割部分をダウンロードする間に、ピアリストは、周期的に(例えば2分ごと)更新されて、クライアントが、利用可能なピアにダウンロードを要求することを保証する。
そのピアリストを利用して、判定ブロック605で、インストールする前にパッチの三次分割部分を記憶するために追加的なキャッシュが必要となるかどうかが判定される。判定ブロック605で追加的なキャッシュが必要であると判定される場合は、ブロック607で示すように優先度サブルーチンが実行される。追加的なキャッシュを得るための優先度サブルーチンについては、図7との関係で下記でより詳細に説明する。一方、判定ブロック605で追加的なキャッシュが必要でないと判定された場合は、ブロック609で、ダウンロードされるパッチのファイルが選択される。ブロック611で、ダウンロードを開始する、選択されたファイルの部分(ピース)が選択される。その選択された部分(ピース)を利用して、判定ブロック613で、その部分の二次分割部分の1つのダウンロードが終了したかどうかが判定される。その部分の二次分割部分の1つのダウンロードが終了していないと判定される場合、判定ブロック615で、その二次分割部分の三次分割部分の1つがダウンロードされたかどうかが判定される。判定ブロック615で二次分割部分の三次分割部分の1つがまだダウンロードされていないと判定される場合は、ブロック617で、二次分割部分の三次分割部分が無作為に選択される。ブロック619で、無作為に選択された三次分割部分をダウンロードできるようにしているピアも無作為に選択される。三次分割部分とピアが選択されると、ブロック621で、選択されたピアからの三次分割部分のダウンロードが開始する。三次分割部分のダウンロードが開始すると、ダウンロードサブルーチン600は、ブロック613に戻り、継続する。
再度判定ブロック615を参照すると、三次分割部分の1つのダウンロードが完了したと判定される場合は、ブロック623でその三次分割部分をダウンロードすることができる最小量のピアを有する二次分割部分の三次分割部分が選択される。また、ブロック625で、選択された三次分割部分についてのピアの1つが無作為に選択される。ブロック627で、無作為に選択されたピアからの選択された三次分割部分のダウンロードが開始される。ブロック627で選択された三次分割部分のダウンロードが開始すると、ダウンロードサブルーチン600はブロック613に戻り、継続する。
一度に複数の三次分割部分がダウンロードされることができ、それにより、1つのパッチまたは複数のパッチをダウンロードするのに必要な合計時間が短縮されるので、ブロック621またはブロック627でダウンロードが開始すると、ダウンロードサブルーチン600は、別の部分と別のピアを選択し、そのダウンロードを開始することによって継続することができる。したがって、アップデートをダウンロードしているクライアントについて帯域幅の完全な飽和が達成されることができ、アップデートのダウンロードが迅速に完了されることができる。また、各三次分割部分のダウンロードが完了すると、その三次分割部分のハッシュ値を計算し(hash)、そのハッシュ値をピアリストに含まれるハッシュ値と比較することにより、それら部分の真正性が検証されることができる。
次いでブロック613に戻ると、ある部分の二次分割部分のダウンロードが終了していると判定される場合は、判定ブロック629で、1つのファイルのすべての部分のダウンロードが終了しているかどうかの判定が行われる。判定ブロック629でファイルのすべての部分のダウンロードが終了していないと判定される場合、ダウンロードサブルーチン600はブロック611に戻り、別の部分を選択し、プロセスが継続する。一方、判定ブロック629でファイルのすべての部分のダウンロードが終了していると判定される場合は、判定ブロック631で、そのパッチのすべてのファイルのダウンロードが終了したかどうかが判定される。判定ブロック631でそのパッチのすべてのファイルのダウンロードが終了していないと判定される場合、ダウンロードサブルーチン600はブロック609に戻り、ダウンロードする別のファイルが選択される。一方、判定ブロック631でパッチのすべてのファイルのダウンロードが終了しており、したがって、そのパッチのすべての部分、二次分割部分、および三次分割部分もダウンロードされたと判定される場合は、ルーチンはブロック633で完了し、クライアントソフトウェア更新ルーチン500(図5)に制御を戻す。
図7に、本発明の一実施形態による、クライアントシステムのキャッシュサイズを拡張してパッチのダウンロードを可能にする優先度サブルーチンの流れ図を示す。優先度サブルーチン700はブロック701で開始し、ブロック703で、現在キャッシュにある、共有されるすべての三次分割部分のリストがホストに送信される。共有される、キャッシュにある三次分割部分のリストの送信に応答して、ブロック705で、それら三次分割部分それぞれの優先度が受け取られる。三次分割部分には、ダウンロードが要求される頻度に基づいて優先度が割り当てられることができる。例えば、新しいコンピュータウィルスからの防御を提供する新しいアップデートが公開された場合、そのアップデートのパッチと、したがって三次分割部分は、非常に高い頻度でダウンロードされる可能性がある。そのため、そのアップデートの三次分割部分は、高い優先度を受け取ることができる。
キャッシュされた三次分割部分の優先度を受け取ると、ブロック707で、キャッシュされた三次分割部分の中で優先度の最も低いものがキャッシュから削除される。判定ブロック709で、共有される三次分割部分が削除されるとキャッシュにアップデートのために十分なスペースが空くかどうかが判定される。判定ブロック709で十分なスペースが空くと判定される場合、ブロック723で示すように、ルーチンは、ダウンロードサブルーチン(図6)に制御を戻す。一方、判定ブロック709でまだ十分なスペースが空かないと判定される場合は、判定ブロック711で、共有される他のキャッシュされた三次分割部分で、まだ削除されていない三次分割部分があるかどうかが判定される。
判定ブロック711で共有される、キャッシュされた三次分割部分がまだ残っていると判定される場合、優先度サブルーチン700はブロック707に戻り、次に優先度が低い三次分割部分を削除し、プロセスが継続する。本発明の実際の実施形態では、特定のアップデートのパッチに関連付けられたキャッシュ内の三次分割部分の一部は、削除不可能と識別されることができる。例えば、三次分割部分が、極めて頻繁にダウンロードされるアップデートに関連付けられている場合、その部分は、削除不可能と識別されて、その三次分割部分をダウンロードすることができるピアが十分にあるようにすることができる。
判定ブロック711で、キャッシュされた三次分割部分で削除可能なものが残っていないと判定される場合は、判定ブロック713で、すでに完全にダウンロードされたパッチがあるかどうかが判定される。上記で述べたように、本発明の一実施形態によれば、複数のパッチが同時にダウンロードされることができる。そのパッチの1つがダウンロードを完了している場合、判定ブロック713で、そのパッチが識別され、ブロック717でそのパッチがインストールされる。そのようなインストールの結果、そのアップデートがインストールされる間、ダウンロードの残りは一時停止されることができる。しかし、既存の技術では、再開しなくとも、一時停止されたダウンロードが再開されることができる。したがって、ダウンロードの一時停止/再開の結果生じる、ダウンロードデータの実質的な損失がない。ダウンロードされたパッチがブロック717でインストールされると、ブロック719で示すように、削除不可能と識別されていない場合は、そのパッチの三次分割部分がキャッシュから削除される。ダウンロードが削除されると、判定ブロック721で、キャッシュにアップデートをダウンロードするのに十分なスペースがあるかどうかが判定される。判定ブロック721でキャッシュに十分なスペースがないと判定される場合、優先度サブルーチン700は判定ブロック713に戻り、ダウンロードが完了した他のパッチがあるかどうかを判定し、プロセスが継続する。
判定ブロック713に戻り、ダウンロードが完了したパッチがないと判定される場合は、ブロック715でキャッシュのサイズが拡大される。キャッシュのサイズは、クライアントシステムのユーザがキャッシュサイズを拡大するように要求することにより拡大することができる。あるいは、キャッシュサイズは、自動的に拡大されることもできる。キャッシュから既存の部分を削除するか、キャッシュサイズを拡大することにより、アップデートをダウンロードするために十分なキャッシュスペースが準備されると、優先度サブルーチン700はブロック723で完了し、ダウンロードサブルーチン600に制御を戻す。
図8に、本発明の一実施形態による、ピアツーピア環境を利用してアップデートを利用できるようにするホストのルーチンを示す。ホストのルーチン800は、ブロック801で開始し、ブロック803でホストがアップデートリストの要求を受け取る。上記で述べたように、アップデートリストは、ダウンロードするためにそのホストから提供される利用可能なアップデートのリストである。ブロック805で、ホストが、利用可能なダウンロードを識別するアップデートリストを送信する。
アップデートリストが送信されると、ブロック807で示すように、後のある時点で、そのアップデートリストで識別される利用可能な1つまたは複数のアップデートについてのアップデートオプションの要求がクライアントから受け取られる。ブロック809で、ブロック807で受け取られた要求で識別されるアップデートについてのアップデートオプションリストが生成される。上記で述べたように、アップデートオプションリストは、そのアップデートを取得するために使用することができるパッチの識別を含む。そのリストが次いで、アップデートオプションを要求したクライアントに送信される。ブロック811で、ブロック809で送信されたオプションリストで識別されるパッチの1つまたは複数についてのピアリストを要求するピアリスト要求が受け取られる。ホストは、ブロック813で、要求されるパッチのピアリストを生成し、送信する。上記で述べたように、ピアリストは、各パッチについて、部分(ピース)、二次分割部分、および三次分割部分を識別する。また、その三次分割部分それぞれにつき、その三次分割部分をどこから取得することができるのかを明らかにする1つまたは複数のピアとそのピアのアドレスが含められる。次いで、ピアリストがクライアントに送信され、ブロック815で、そのクライアントにダウンロードされ、記憶されて現在は他のピアと共有できるようになっている三次分割部分の識別が受け取られる。受け取られたリストが使用されて、利用可能なアップデートのすべての三次分割部分の識別と、その三次分割部分をダウンロードできるようにしているピアの識別を含むマスタピアリスト817を更新する。ホストルーチン800は、ブロック819で完了する。
本発明の実施形態を図示し、説明したが、本発明の主旨および範囲から逸脱せずに本発明に各種の変更を加えてよいことは理解されよう。
特定のファイルをダウンロードするための典型的なピアツーピア環境のブロック図である。 本発明の一実施形態による、ピアツーピア環境を利用してソフトウェアアップデートをダウンロードする状態図である。 本発明の一実施形態による、ピアツーピア環境を利用してソフトウェアアップデートをダウンロードする状態図である。 本発明の一実施形態による、ピアツーピア環境を利用してソフトウェアアップデートをダウンロードする状態図である。 本発明の一実施形態による、ホストで生成されることができる、必要なアップデートのための様々なオプションを明らかにするアップデートオプションリストのブロック図である。 本発明の一実施形態による、クライアントからのピアリストの要求に応答して必要なアップデートのピアを識別するピアリストのブロック図である。 本発明の一実施形態による、クライアントのソフトウェアを更新するクライアントソフトウェア更新ルーチンを説明する流れ図である。 本発明の一実施形態による、異なるピアから必要なアップデートの部分をダウンロードするためにクライアントソフトウェア更新ルーチンの一部として実行されることができるダウンロードサブルーチンの流れ図である。 本発明の一実施形態による、パッチのダウンロードを可能にするためにクライアントシステムのキャッシュサイズを拡大する優先度サブルーチンの流れ図である。 本発明の一実施形態による、ピアツーピア環境を利用してアップデートを取得できるようにするホストルーチンを説明する図である。
符号の説明
101 クライアント
103 ホスト
200 ピアツーピア環境
201 クライアント
203 ホスト
300 アップデートオプションリスト
400 ピアリスト

Claims (31)

  1. 少なくとも1つのアップデートを記憶するためのキャッシュを有する第1のコンピューティングデバイスおよびホストを備えたネットワークにおける前記第1のコンピューティングデバイスを更新する方法であって、
    (A)前記ホストから、利用可能なアップデートのリストを、前記第1のコンピューティングデバイスが受け取るステップと、
    (B)前記(A)に応答して、前記利用可能なアップデートのリストから必要なアップデートを、前記第1のコンピューティングデバイスが判定するステップであって、該必要なアップデートは、複数の部分(ピース)に区分されるステップと、
    (C)前記ホストから、前記複数の部分(ピース)それぞれにつきその部分(ピース)をダウンロードできるようにしている少なくとも1つのコンピューティングデバイスを識別する前記ネットワーク内のコンピューティングデバイスのリストを、前記第1のコンピューティングデバイスが受け取るステップと、
    (D)前記キャッシュ内の利用可能なスペースを生成するように決定された場合、前記キャッシュ内のコンポーネントを、前記第1のコンピューティングデバイスが削除するステップと
    (E)前記コンピューティングデバイスのリストの少なくともいくつかのコンピューティングデバイスから前記複数の部分(ピース)を、前記第1のコンピューティングデバイスがダウンロードするステップであって、前記複数の部分(ピース)の少なくとも2つは、異なるコンピューティングデバイスからダウンロードされるステップと、
    (F)前記ダウンロードされた複数の部分(ピース)を利用して、前記第1のコンピューティングデバイスがソフトウェアを更新するステップと
    を備えることを特徴とする方法。
  2. 前記必要なアップデートのアップデートオプションのリストを、前記第1のコンピューティングデバイスが受け取るステップであって、各該アップデートオプションは、複数の部分に区分されるステップと、
    前記アップデートオプションのリストからアップデートオプションを、前記第1のコンピューティングデバイスが選択するステップと
    をさらに備え、
    前記ホストから前記ネットワーク内のコンピューティングデバイスのリストを、前記第1のコンピューティングデバイスが受け取るステップは、前記選択されたアップデートオプションそれぞれについて、少なくとも1つのコンピューティングデバイスを識別するコンピューティングデバイスのリストを受け取るステップを含むことを特徴とする請求項1に記載の方法。
  3. 前記アップデートオプションリストは、前記必要なアップデートについて、フルパッチと少なくとも1つの細部パッチを含むことを特徴とする請求項2に記載の方法。
  4. 前記細部パッチは、ファイルのファイル名と予定ハッシュ値を含むことを特徴とする請求項3に記載の方法。
  5. 前記(A)に応答して、前記利用可能なアップデートのリストから必要なアップデートを、前記第1のコンピューティングデバイスが判定するステップは、前記第1のコンピューティングデバイスをスキャンしてその現在の状態を判定し、前記現在の状態を前記利用可能アップデートのリストと比較することを含み、
    前記(D)は、
    前記キャッシュ内に記憶された各アップデートに優先度を割り当てることによって、前記キャッシュ内に記憶されたアップデートのための優先度リストを生成するステップと、
    前記複数の部分(ピース)をダウンロードするための利用可能なスペース持つキャッシュかどうかを判定するステップと、
    前記キャッシュが利用可能なスペースを持っていない場合に、削除するためのコンポーネントであって、前記優先度リスト内の低い優先度を持つアップデートに対応するコンポーネントを選択するステップと、
    を含み、
    前記各アップデートのための優先度の割り当ては各アップデートに対してのリクエストの頻度に基づく
    ことを特徴とする請求項1に記載の方法。
  6. 前記コンピューティングデバイスのリストは、前記複数の部分の少なくとも1つについて、複数のコンピューティングデバイスの識別を含むことを特徴とする請求項1に記載の方法。
  7. 前記コンピューティングデバイスは、インターネットプロトコルアドレスで識別されることを特徴とする請求項1に記載の方法。
  8. 前記第1のコンピューティングデバイスが前記ソフトウェアを更新するステップは、
    前記ダウンロードされた部分を組み合わせてパッチにするステップと
    前記パッチをインストールするステップと
    を含むことを特徴とする請求項1に記載の方法。
  9. 前記ダウンロードされた各部分は、前記部分のハッシュに基づいて確認されることを特徴とする請求項1に記載の方法。
  10. 前記第1のコンピューティングデバイスが、前記ダウンロードされた複数の部分の識別を提供するステップと、
    前記第1のコンピューティングデバイスが、前記識別されたダウンロードされた複数の部分を他のコンピューティングデバイスと共有するステップと
    をさらに備えることを特徴とする請求項1に記載の方法。
  11. 前記ダウンロードされた複数の部分の識別は、ダウンロードされた各部分のハッシュ値を含むことを特徴とする請求項10に記載の方法。
  12. 所定の時点には、前記識別されたダウンロードされた複数の部分は共有されていないことを特徴とする請求項1に記載の方法。
  13. キャッシュを有するクライアントとホストを備えたネットワークにおけるソフトウェアアップデートをダウンロードするために前記クライアントにピアリストを提供する方法であって、
    利用可能なアップデートを識別するリストを前記ホストが前記クライアントに送信するステップであって、前記利用可能なアップデートは、複数の部分に分割される、ステップと、
    前記クライアントから、前記利用可能なアップデートについてのピアリスト要求を前記ホストが受け取るステップであって、前記ピアリストは、前記複数の部分それぞれにつき少なくとも1つのピアを識別する、ステップと、
    複数のピアを識別するピアリストを前記ホストが生成するステップであって、識別される各ピアは、前記利用可能なアップデートの少なくとも一部分をダウンロードできるようにしているステップと、
    前記ピアリストを前記ホストが前記クライアントに送信するステップと、
    前記ホストが前記キャッシュ内の利用可能なスペースを生成するように決定した場合、前記キャッシュ内のコンポーネントを前記クライアントが削除するステップと
    を備えることを特徴とする方法。
  14. 前記利用可能なアップデートを識別する前記リストは、複数の利用可能なアップデートを識別することを特徴とする請求項13に記載の方法。
  15. 前記リストは、前記利用可能なアップデートについて、複数のアップデートオプションを識別することを特徴とする請求項13に記載の方法。
  16. 前記複数のアップデートオプションは、フルパッチと少なくとも1つの細部パッチを含むことを特徴とする請求項15に記載の方法。
  17. 前記利用可能なアップデートを識別するリストを前記ホストが前記クライアントに送信するのに応答して、前記利用可能なアップデートのアップデートオプションの要求を前記ホストが受け取るステップと、
    前記利用可能なアップデートについての複数のアップデートオプションを識別するリストを前記ホストが生成するステップと、
    複数のアップデートオプションを識別する前記リストを前記ホストが送信するステップと
    をさらに備えることを特徴とする請求項13に記載の方法。
  18. 前記クライアントから前記ピアリスト要求を前記ホストで受け取るステップは、
    前記複数のアップデートオプションの1つについてのピアリスト要求を受け取るステップ
    を含むことを特徴とする請求項17に記載の方法。
  19. 前記利用可能なアップデートのキャッシュされた部分の識別を前記ホストが受け取るステップと、
    前記利用可能アップデートのマスタピアリストを前記ホストが更新するステップと
    をさらに備えることを特徴とする請求項13に記載の方法。
  20. 前記識別されるピアの1つはホストコンピュータであることを特徴とする請求項1に記載の方法。
  21. アップデートを記憶するためのキャッシュを有するコンピュータシステムおよびホストを備えるネットワークにおけるアップデートを取得する方法を行うコンピュータ実行可能プログラムを含むコンピュータ可読媒体を有するコンピュータシステムであって、前記方法は、
    (A)前記ホストから、利用可能なアップデートのリストを前記コンピュータシステムが受け取るステップと、
    (B)前記(A)に応答して、前記利用可能なアップデートのリストから必要なアップデートを前記コンピュータシステムが識別するステップと、
    (C)前記必要なアップデートのピアリストを前記ホストに対し前記コンピュータシステムが要求するステップと、
    (D)前記必要なアップデートのピアリストを前記ホストから前記コンピュータシステムが受け取るステップであって、前記ピアリストは、前記必要なアップデートの複数の部分を識別し、各部分につき、その部分をダウンロードできるようにしている前記ネットワーク内のコンピューティングデバイスを識別するステップと、
    (E)前記キャッシュ内の利用可能なスペースを生成するように決定された場合、前記キャッシュ内のコンポーネントを前記コンピュータシステムが削除するステップと、
    (F)前記識別されたコンピューティングデバイスから前記複数の部分を前記コンピュータシステムがダウンロードするステップと、
    (G)前記ダウンロードされた複数の部分(ピース)を利用して、前記コンピュータシステムがソフトウェアを更新するステップと
    を備えることを特徴とするコンピュータシステム。
  22. 前記ピアリストは、前記複数の部分それぞれにつき、複数の二次分割部分を識別し、各二次分割部分につき、その二次分割部分をダウンロードできるようにしているコンピューティングデバイスを識別することを特徴とする請求項21に記載のコンピュータシステム。
  23. 前記ピアリストは、前記複数の二次分割部分それぞれにつき、複数の三次分割部分を識別し、各三次分割部分につき、その三次分割部分をダウンロードできるようにしているコンピューティングデバイスを識別することを特徴とする請求項22に記載のコンピュータシステム。
  24. 前記ピアリストは、各部分のハッシュ値を識別することを特徴とする請求項21に記載のコンピュータシステム。
  25. 前記(F)は、
    前記ダウンロードされた部分のハッシュ値を計算して第2のハッシュ値を得るステップと、
    前記ピアリストの第1のハッシュ値と前記第2のハッシュ値を比較して、前記ダウンロードされた部分の有効性を確認するステップと、
    を含み、
    前記(E)は、
    前記キャッシュ内に記憶された各アップデートに優先度を割り当てることによって、前記キャッシュ内に記憶されたアップデートのための優先度リストを生成するステップと、
    前記複数の部分(ピース)をダウンロードするための利用可能なスペース持つキャッシュかどうかを判定するステップと、
    前記キャッシュが利用可能なスペースを持っていない場合に、削除するためのコンポーネントであって、前記優先度リスト内の低い優先度を持つアップデートに対応するコンポーネントを選択するステップと、
    を含み、前記各アップデートのための優先度の割り当ては各アップデートに対してのリクエストの頻度に基づく
    ことを特徴とする請求項24に記載のコンピュータシステム。
  26. 前記コンピュータシステムが、前記ダウンロードされた部分それぞれを組み合わせるステップと、
    前記コンピュータシステムが、前記アップデートをインストールするステップと
    をさらに備えることを特徴とする請求項21に記載のコンピュータシステム。
  27. 前記ピアリストは、前記アップデートの第1のハッシュ値を含み、前記方法はさらに、
    前記コンピュータシステムが、前記組み合わせられた部分のハッシュ値を計算して第2のハッシュ値を得るステップと、
    前記コンピュータシステムが、前記第1のハッシュ値と前記第2のハッシュ値を比較して前記アップデートの有効性を確認するステップと
    を含むことを特徴とする請求項26に記載のコンピュータシステム。
  28. 前記コンピュータシステムが、前記ダウンロードされた部分の少なくとも1つをキャッシュに記憶するステップと、
    前記コンピュータシステムが、前記キャッシュされた部分の識別を送信するステップと、
    前記コンピュータシステムが、前記キャッシュされた部分をダウンロードに供するステップと
    をさらに備えることを特徴とする請求項21に記載のコンピュータシステム。
  29. 前記識別されたコンピューティングデバイスから前記部分それぞれを前記コンピュータシステムがダウンロードするステップは、
    ダウンロードされる部分の真正性を確認するステップ
    を含むことを特徴とする請求項21に記載のコンピュータシステム。
  30. 前記部分それぞれを前記コンピュータシステムがダウンロードするステップは、
    ダウンロードする部分を無作為に選択するステップと、
    前記部分をダウンロードするコンピューティングデバイスを無作為に選択するステップと
    を含むことを特徴とする請求項21に記載のコンピュータシステム。
  31. 前記部分それぞれを前記コンピュータシステムがダウンロードするステップは、
    前記部分をダウンロードできるようにしている必要最小限のコンピューティングデバイスを、前記コンピュータシステムが識別するステップと、
    前記部分をダウンロードできるようにしている必要最小限のコンピューティングデバイスから、前記コンピュータシステムが該部分をダウンロードするステップと
    を含むことを特徴とする請求項21に記載のコンピュータシステム。
JP2005360913A 2004-12-14 2005-12-14 アップデートをダウンロードする方法およびシステム Active JP5349733B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/012,367 2004-12-14
US11/012,367 US7716660B2 (en) 2004-12-14 2004-12-14 Method and system for downloading updates

Publications (3)

Publication Number Publication Date
JP2006172472A JP2006172472A (ja) 2006-06-29
JP2006172472A5 JP2006172472A5 (ja) 2009-02-05
JP5349733B2 true JP5349733B2 (ja) 2013-11-20

Family

ID=35695926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005360913A Active JP5349733B2 (ja) 2004-12-14 2005-12-14 アップデートをダウンロードする方法およびシステム

Country Status (10)

Country Link
US (1) US7716660B2 (ja)
EP (1) EP1672490B1 (ja)
JP (1) JP5349733B2 (ja)
KR (1) KR101201147B1 (ja)
CN (1) CN1790266B (ja)
AU (1) AU2005239708B2 (ja)
BR (1) BRPI0505512B1 (ja)
CA (1) CA2529966C (ja)
MX (1) MXPA05013575A (ja)
RU (1) RU2405260C2 (ja)

Families Citing this family (293)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2449534A1 (en) * 2003-11-14 2005-05-14 Ibm Canada Limited - Ibm Canada Limitee On-demand software module deployment
US7549169B1 (en) 2004-08-26 2009-06-16 Symantec Corporation Alternated update system and method
US7516150B1 (en) * 2004-10-29 2009-04-07 Symantec Corporation Update protection system and method
WO2006119070A1 (en) * 2005-04-29 2006-11-09 Wms Gaming Inc. Asset management of downloadable gaming components in a gaming system
KR100735372B1 (ko) * 2005-08-17 2007-07-04 삼성전자주식회사 지상파 dmb 수신 단말기에서 소프트웨어 다운로드를통한 업그레이드 방법
TWI329270B (en) * 2005-08-29 2010-08-21 Inventec Appliances Corp System, method and device for downloading information
US8812558B1 (en) * 2005-11-14 2014-08-19 Trend Micro Incorporated Push notification of updates to antivirus programs
US8291093B2 (en) 2005-12-08 2012-10-16 Microsoft Corporation Peer-to-peer remediation
US20070156901A1 (en) * 2005-12-30 2007-07-05 Wolfgang Becker Generation and use of table links in a provider-tenant environment
US7689593B2 (en) * 2005-12-30 2010-03-30 Sap Ag Systems and methods for accessing a shared space in a provider-tenant environment
US7917607B2 (en) 2005-12-30 2011-03-29 Sap Ag Software management systems and methods, including use of such systems and methods in a provider-tenant environment
US20070156849A1 (en) * 2005-12-30 2007-07-05 Wolfgang Becker Systems and methods for delivering software upgrades in a provider-tenant environment
US7680825B2 (en) * 2005-12-30 2010-03-16 Sap Ag Systems and methods for generating tenant-specific properties for use in a provider-tenant environment
JP4946088B2 (ja) * 2006-02-17 2012-06-06 株式会社日立製作所 業務運用環境の構築方法
JP2007264697A (ja) * 2006-03-27 2007-10-11 Seiko Epson Corp 処理システム、プロジェクタ、プログラムおよび情報記憶媒体
US8103870B2 (en) * 2006-09-12 2012-01-24 Foleeo, Inc. Hive-based peer-to-peer network
US8595360B2 (en) * 2006-11-07 2013-11-26 Motorola Mobility Llc Method, system and apparatus for distributing digital information including digital rights management information to a plurality of devices
KR100779100B1 (ko) * 2006-12-05 2007-11-27 한국전자통신연구원 액티브 센서를 이용하는 액티브 네트워크 노드의 호스트관리 방법 및 그 시스템
JP2008146601A (ja) * 2006-12-13 2008-06-26 Canon Inc 情報処理装置及び情報処理方法
US10019501B2 (en) * 2006-12-18 2018-07-10 International Business Machines Corporation Data store synchronization utilizing synchronization logs
EP1936497A3 (en) * 2006-12-20 2009-04-08 NCR Corporation Automated wide area software distribution with reduced network bandwidth requirements
US7739348B2 (en) * 2006-12-29 2010-06-15 Sap Ag Systems and methods for accessing a shared space in a provider-tenant environment by using middleware
US20080162587A1 (en) * 2006-12-29 2008-07-03 Ulrich Auer Server synchronization for maintenance activities
US7933869B2 (en) * 2006-12-29 2011-04-26 Sap Ag Method and system for cloning a tenant database in a multi-tenant system
US8069184B2 (en) * 2006-12-29 2011-11-29 Sap Ag Systems and methods to implement extensibility of tenant content in a provider-tenant environment
US8316364B2 (en) * 2007-02-28 2012-11-20 Red Hat, Inc. Peer-to-peer software update distribution network
JP2008226167A (ja) * 2007-03-15 2008-09-25 Toshiba Corp データ配布システム及びデータ配布プログラム
KR101409991B1 (ko) * 2007-04-16 2014-06-20 삼성전자주식회사 P2p 통신 환경에서의 데이터 전송 방법 및 장치
US8473938B1 (en) 2007-06-21 2013-06-25 Open Invention Network Llc Security patch update processor
US8468977B2 (en) * 2007-08-07 2013-06-25 The Kong Company, Llc Pet toy with noise making instrument
EP2026204A1 (en) * 2007-08-09 2009-02-18 Research In Motion Limited Method and apparatus for updating the state of a computing device
US8271969B2 (en) * 2007-08-09 2012-09-18 Research In Motion Limited Method and apparatus for determining the state of a computing device
JP5007624B2 (ja) * 2007-08-10 2012-08-22 ブラザー工業株式会社 コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム
US7857222B2 (en) 2007-08-16 2010-12-28 Hand Held Products, Inc. Data collection system having EIR terminal interface node
US8078729B2 (en) * 2007-08-21 2011-12-13 Ntt Docomo, Inc. Media streaming with online caching and peer-to-peer forwarding
US8266260B2 (en) * 2007-12-11 2012-09-11 Sharp Laboratories Of America, Inc. Method and system for updating the software of multiple network nodes
CN101478556B (zh) * 2007-12-31 2014-12-17 突触计算机系统(上海)有限公司 用于下载点对点传输数据分片的方法和装置
EP2229624A4 (en) * 2008-01-08 2014-03-12 Ericsson Telefon Ab L M SOFTWARE DISTRIBUTION BETWEEN RADIO BASE STATIONS
US9588861B2 (en) * 2008-01-08 2017-03-07 Oracle International Corporation Method and apparatus for automatically identifying components to monitor in an enterprise environment
US8291406B2 (en) * 2008-01-16 2012-10-16 Verizon Patent And Licensing Inc. Data imaging system and methods
US8756700B2 (en) 2008-01-16 2014-06-17 Verizon Patent And Licensing Inc. Custom data image building
US9442850B1 (en) * 2008-03-25 2016-09-13 Blue Coat Systems, Inc. Efficient directory refresh operations in wide area file systems
WO2009132261A1 (en) 2008-04-25 2009-10-29 Vmware, Inc. Updating a file using differences and file format therefor
JP2009294777A (ja) * 2008-06-03 2009-12-17 Sony Corp コンテンツ再生装置、コンテンツ再生方法、プログラム、コンテンツ再生システム
US20090305778A1 (en) * 2008-06-06 2009-12-10 Turbine, Inc. Installed game software sharing via peer-to-peer network
US20100011060A1 (en) * 2008-07-08 2010-01-14 Solid State Networks, Inc. Methods and apparatus for distributing content
KR100980606B1 (ko) * 2008-09-08 2010-09-07 주식회사 하이닉스반도체 워드라인 구동회로 및 구동방법
US8402544B1 (en) * 2008-12-22 2013-03-19 Trend Micro Incorporated Incremental scanning of computer files for malicious codes
US8892699B2 (en) * 2008-12-31 2014-11-18 Schneider Electric USA, Inc. Automatic firmware updates for intelligent electronic devices
EP2252031A1 (en) * 2009-05-15 2010-11-17 Thomson Licensing Device and method for controlling dissemination of data by transfer of sets of instructions between peers having wireless communication capacities
JP5440009B2 (ja) * 2009-07-31 2014-03-12 富士通株式会社 マルチクラスタシステムのプログラム更新方法及びマルチクラスタシステム
US8972974B2 (en) 2009-11-09 2015-03-03 Bank Of America Corporation Multiple invocation points in software build task sequence
US20110113226A1 (en) * 2009-11-09 2011-05-12 Bank Of America Corporation Distribution Of Software Updates
US8584113B2 (en) * 2009-11-09 2013-11-12 Bank Of America Corporation Cross-updating of software between self-service financial transaction machines
US9176898B2 (en) * 2009-11-09 2015-11-03 Bank Of America Corporation Software stack building using logically protected region of computer-readable medium
US20110113416A1 (en) * 2009-11-09 2011-05-12 Bank Of America Corporation Network-Enhanced Control Of Software Updates Received Via Removable Computer-Readable Medium
US9122558B2 (en) * 2009-11-09 2015-09-01 Bank Of America Corporation Software updates using delta patching
US9128799B2 (en) * 2009-11-09 2015-09-08 Bank Of America Corporation Programmatic creation of task sequences from manifests
US9497092B2 (en) 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
WO2011069730A1 (en) * 2009-12-10 2011-06-16 International Business Machines Corporation A method and system for managing configurations of system management agents in a distributed environment
US8893112B2 (en) * 2009-12-21 2014-11-18 Intel Corporation Providing software distribution and update services regardless of the state or physical location of an end point machine
US8224828B2 (en) * 2009-12-22 2012-07-17 Sap Ag Multi-client generic persistence for extension fields
US20110161468A1 (en) * 2009-12-31 2011-06-30 Schneider Electric USA, Inc. Method and system for cascading peer-to-peer configuration of large systems of ieds
EP2360581A1 (en) * 2010-01-18 2011-08-24 Thomson Licensing Method, system and device for execution of a software application
CN102263805A (zh) * 2010-05-25 2011-11-30 腾讯科技(北京)有限公司 一种动态资源下载的方法和装置
US9258231B2 (en) * 2010-09-08 2016-02-09 International Business Machines Corporation Bandwidth allocation management
KR20120041384A (ko) * 2010-10-21 2012-05-02 삼성전자주식회사 모바일 디바이스의 펌웨어 업데이트 방법 및 장치
US8424093B2 (en) 2010-11-01 2013-04-16 Kaspersky Lab Zao System and method for updating antivirus cache
US7962959B1 (en) 2010-12-01 2011-06-14 Kaspersky Lab Zao Computer resource optimization during malware detection using antivirus cache
US9158605B2 (en) 2010-12-01 2015-10-13 Microsoft Technology Licensing, Llc Method, system and device for validating repair files and repairing corrupt software
US9378007B2 (en) * 2010-12-01 2016-06-28 Apple Inc. Pre-heated software installation
KR101242830B1 (ko) * 2011-01-20 2013-03-12 엔에이치엔비즈니스플랫폼 주식회사 P2p 기반의 스트리밍 서비스에서 버퍼링을 수행하는 시스템 및 방법 그리고 클라이언트에서 버퍼링을 처리하는 어플리케이션을 배포하는 시스템
US8918776B2 (en) 2011-08-24 2014-12-23 Microsoft Corporation Self-adapting software system
US20130060558A1 (en) * 2011-09-07 2013-03-07 Jason Schultz Updating of interfaces in non-emulated environments by programs in the emulated environment
US8543543B2 (en) * 2011-09-13 2013-09-24 Microsoft Corporation Hash-based file comparison
US8843914B1 (en) * 2011-09-19 2014-09-23 Amazon Technologies, Inc. Distributed update service
US8621123B2 (en) 2011-10-06 2013-12-31 Honeywell International Inc. Device management using virtual interfaces
US8539123B2 (en) 2011-10-06 2013-09-17 Honeywell International, Inc. Device management using a dedicated management interface
US8898244B2 (en) * 2011-10-20 2014-11-25 Allen Miglore System and method for transporting files between networked or connected systems and devices
CN103135879B (zh) * 2011-11-28 2016-07-06 联想(北京)有限公司 显示方法、显示装置和电子设备
US8918474B2 (en) * 2012-03-26 2014-12-23 International Business Machines Corporation Determining priorities for cached objects to order the transfer of modifications of cached objects based on measured network bandwidth
US9658841B2 (en) * 2012-08-30 2017-05-23 Avaya Inc. System and method for efficient software replication
US11126418B2 (en) * 2012-10-11 2021-09-21 Mcafee, Llc Efficient shared image deployment
US9851980B1 (en) 2012-10-22 2017-12-26 Amazon Technologies, Inc. Distributed update service enabling update requests
CN102945175A (zh) * 2012-11-09 2013-02-27 杭州易和网络有限公司 一种基于云计算环境的终端软件在线升级系统及其方法
US9342291B1 (en) 2012-11-14 2016-05-17 Amazon Technologies, Inc. Distributed update service
JP5803886B2 (ja) * 2012-11-28 2015-11-04 コニカミノルタ株式会社 画像形成装置およびプログラム
US9113347B2 (en) 2012-12-05 2015-08-18 At&T Intellectual Property I, Lp Backhaul link for distributed antenna system
US10009065B2 (en) 2012-12-05 2018-06-26 At&T Intellectual Property I, L.P. Backhaul link for distributed antenna system
CN103019795A (zh) * 2012-12-27 2013-04-03 福建榕基软件股份有限公司 一种软件基础数据升级方法及系统
US9420065B2 (en) * 2013-01-18 2016-08-16 Google Inc. Peer-to-peer software updates
US9542172B2 (en) * 2013-02-05 2017-01-10 Apple Inc. Automatic updating of applications
US9525524B2 (en) 2013-05-31 2016-12-20 At&T Intellectual Property I, L.P. Remote distributed antenna system
US9999038B2 (en) 2013-05-31 2018-06-12 At&T Intellectual Property I, L.P. Remote distributed antenna system
JP2015082149A (ja) 2013-10-21 2015-04-27 株式会社リコー 通信システム、通信方法及び通信プログラム
CN105830413B (zh) * 2013-10-25 2019-04-30 蜂巢流有限公司 主动预取
US8897697B1 (en) 2013-11-06 2014-11-25 At&T Intellectual Property I, Lp Millimeter-wave surface-wave communications
US9209902B2 (en) 2013-12-10 2015-12-08 At&T Intellectual Property I, L.P. Quasi-optical coupler
CN103677933A (zh) * 2013-12-19 2014-03-26 大唐微电子技术有限公司 一种为智能卡打补丁的方法和系统
US9830141B2 (en) * 2013-12-23 2017-11-28 Google Llc Providing a software update to computing devices on the same network
US9390120B1 (en) 2013-12-31 2016-07-12 Google Inc. System and methods for organizing hierarchical database replication
CN104780189A (zh) * 2014-01-13 2015-07-15 中兴通讯股份有限公司 一种软件升级方法及装置
BR102014017796A2 (pt) * 2014-07-18 2016-02-23 Cielo S A sistema de comunicação, método para determinar a localização de dispositivos, método para gerar uma lista de dispositivos vizinhos, método para determinar a localização de uma pluralidade de dispositivos, método de comunicação via enlace alternativo, método para escolher a forma de comunicação entre um dispositivo e um dentre um credenciador e um provedor de serviços e método para atualizar aplicações em dispositivos pos
US9514211B2 (en) * 2014-07-20 2016-12-06 Microsoft Technology Licensing, Llc High throughput data modifications using blind update operations
FR3024253B1 (fr) 2014-07-28 2016-08-19 Easyworldcom Procede automatique de mise a jour a distance d'un logiciel contenu dans un dispositif emetteur radio autonome du type beacon.
US9692101B2 (en) 2014-08-26 2017-06-27 At&T Intellectual Property I, L.P. Guided wave couplers for coupling electromagnetic waves between a waveguide surface and a surface of a wire
US9768833B2 (en) 2014-09-15 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for sensing a condition in a transmission medium of electromagnetic waves
US10063280B2 (en) 2014-09-17 2018-08-28 At&T Intellectual Property I, L.P. Monitoring and mitigating conditions in a communication network
US9615269B2 (en) 2014-10-02 2017-04-04 At&T Intellectual Property I, L.P. Method and apparatus that provides fault tolerance in a communication network
US9685992B2 (en) 2014-10-03 2017-06-20 At&T Intellectual Property I, L.P. Circuit panel network and methods thereof
US9503189B2 (en) 2014-10-10 2016-11-22 At&T Intellectual Property I, L.P. Method and apparatus for arranging communication sessions in a communication system
US9762289B2 (en) 2014-10-14 2017-09-12 At&T Intellectual Property I, L.P. Method and apparatus for transmitting or receiving signals in a transportation system
US9973299B2 (en) 2014-10-14 2018-05-15 At&T Intellectual Property I, L.P. Method and apparatus for adjusting a mode of communication in a communication network
US9769020B2 (en) 2014-10-21 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for responding to events affecting communications in a communication network
US9577306B2 (en) 2014-10-21 2017-02-21 At&T Intellectual Property I, L.P. Guided-wave transmission device and methods for use therewith
US9564947B2 (en) 2014-10-21 2017-02-07 At&T Intellectual Property I, L.P. Guided-wave transmission device with diversity and methods for use therewith
US9312919B1 (en) 2014-10-21 2016-04-12 At&T Intellectual Property I, Lp Transmission device with impairment compensation and methods for use therewith
US9627768B2 (en) 2014-10-21 2017-04-18 At&T Intellectual Property I, L.P. Guided-wave transmission device with non-fundamental mode propagation and methods for use therewith
US9520945B2 (en) 2014-10-21 2016-12-13 At&T Intellectual Property I, L.P. Apparatus for providing communication services and methods thereof
US9780834B2 (en) 2014-10-21 2017-10-03 At&T Intellectual Property I, L.P. Method and apparatus for transmitting electromagnetic waves
US9653770B2 (en) 2014-10-21 2017-05-16 At&T Intellectual Property I, L.P. Guided wave coupler, coupling module and methods for use therewith
US9742462B2 (en) 2014-12-04 2017-08-22 At&T Intellectual Property I, L.P. Transmission medium and communication interfaces and methods for use therewith
US9544006B2 (en) 2014-11-20 2017-01-10 At&T Intellectual Property I, L.P. Transmission device with mode division multiplexing and methods for use therewith
US10340573B2 (en) 2016-10-26 2019-07-02 At&T Intellectual Property I, L.P. Launcher with cylindrical coupling device and methods for use therewith
US9680670B2 (en) 2014-11-20 2017-06-13 At&T Intellectual Property I, L.P. Transmission device with channel equalization and control and methods for use therewith
US9654173B2 (en) 2014-11-20 2017-05-16 At&T Intellectual Property I, L.P. Apparatus for powering a communication device and methods thereof
US9461706B1 (en) 2015-07-31 2016-10-04 At&T Intellectual Property I, Lp Method and apparatus for exchanging communication signals
US9997819B2 (en) 2015-06-09 2018-06-12 At&T Intellectual Property I, L.P. Transmission medium and method for facilitating propagation of electromagnetic waves via a core
US10243784B2 (en) 2014-11-20 2019-03-26 At&T Intellectual Property I, L.P. System for generating topology information and methods thereof
US9954287B2 (en) 2014-11-20 2018-04-24 At&T Intellectual Property I, L.P. Apparatus for converting wireless signals and electromagnetic waves and methods thereof
US10009067B2 (en) 2014-12-04 2018-06-26 At&T Intellectual Property I, L.P. Method and apparatus for configuring a communication interface
US9800327B2 (en) 2014-11-20 2017-10-24 At&T Intellectual Property I, L.P. Apparatus for controlling operations of a communication device and methods thereof
US10144036B2 (en) 2015-01-30 2018-12-04 At&T Intellectual Property I, L.P. Method and apparatus for mitigating interference affecting a propagation of electromagnetic waves guided by a transmission medium
US9876570B2 (en) 2015-02-20 2018-01-23 At&T Intellectual Property I, Lp Guided-wave transmission device with non-fundamental mode propagation and methods for use therewith
US9934020B2 (en) * 2015-03-10 2018-04-03 International Business Machines Corporation Intelligent mobile application update
US9952851B2 (en) * 2015-03-10 2018-04-24 International Business Machines Corporation Intelligent mobile application update
US9749013B2 (en) 2015-03-17 2017-08-29 At&T Intellectual Property I, L.P. Method and apparatus for reducing attenuation of electromagnetic waves guided by a transmission medium
US9705561B2 (en) 2015-04-24 2017-07-11 At&T Intellectual Property I, L.P. Directional coupling device and methods for use therewith
US10224981B2 (en) 2015-04-24 2019-03-05 At&T Intellectual Property I, Lp Passive electrical coupling device and methods for use therewith
CN106155734B (zh) * 2015-04-27 2020-09-18 南京中兴软件有限责任公司 一种软件版本的下载方法及装置
US9948354B2 (en) 2015-04-28 2018-04-17 At&T Intellectual Property I, L.P. Magnetic coupling device with reflective plate and methods for use therewith
US9793954B2 (en) 2015-04-28 2017-10-17 At&T Intellectual Property I, L.P. Magnetic coupling device and methods for use therewith
US9871282B2 (en) 2015-05-14 2018-01-16 At&T Intellectual Property I, L.P. At least one transmission medium having a dielectric surface that is covered at least in part by a second dielectric
US9748626B2 (en) 2015-05-14 2017-08-29 At&T Intellectual Property I, L.P. Plurality of cables having different cross-sectional shapes which are bundled together to form a transmission medium
US9490869B1 (en) 2015-05-14 2016-11-08 At&T Intellectual Property I, L.P. Transmission medium having multiple cores and methods for use therewith
US10679767B2 (en) 2015-05-15 2020-06-09 At&T Intellectual Property I, L.P. Transmission medium having a conductive material and methods for use therewith
US10650940B2 (en) 2015-05-15 2020-05-12 At&T Intellectual Property I, L.P. Transmission medium having a conductive material and methods for use therewith
US9917341B2 (en) 2015-05-27 2018-03-13 At&T Intellectual Property I, L.P. Apparatus and method for launching electromagnetic waves and for modifying radial dimensions of the propagating electromagnetic waves
CN104866351B (zh) * 2015-05-27 2018-03-09 百富计算机技术(深圳)有限公司 一种数据传输方法、服务端及客户端
US10142411B2 (en) * 2015-05-29 2018-11-27 Microsoft Technology Licensing, Llc Dynamic swarm segmentation
US10348391B2 (en) 2015-06-03 2019-07-09 At&T Intellectual Property I, L.P. Client node device with frequency conversion and methods for use therewith
US10154493B2 (en) 2015-06-03 2018-12-11 At&T Intellectual Property I, L.P. Network termination and methods for use therewith
US9866309B2 (en) 2015-06-03 2018-01-09 At&T Intellectual Property I, Lp Host node device and methods for use therewith
US10103801B2 (en) 2015-06-03 2018-10-16 At&T Intellectual Property I, L.P. Host node device and methods for use therewith
US10812174B2 (en) 2015-06-03 2020-10-20 At&T Intellectual Property I, L.P. Client node device and methods for use therewith
US9912381B2 (en) 2015-06-03 2018-03-06 At&T Intellectual Property I, Lp Network termination and methods for use therewith
US9913139B2 (en) 2015-06-09 2018-03-06 At&T Intellectual Property I, L.P. Signal fingerprinting for authentication of communicating devices
US9608692B2 (en) 2015-06-11 2017-03-28 At&T Intellectual Property I, L.P. Repeater and methods for use therewith
US10142086B2 (en) 2015-06-11 2018-11-27 At&T Intellectual Property I, L.P. Repeater and methods for use therewith
US9820146B2 (en) 2015-06-12 2017-11-14 At&T Intellectual Property I, L.P. Method and apparatus for authentication and identity management of communicating devices
US9667317B2 (en) 2015-06-15 2017-05-30 At&T Intellectual Property I, L.P. Method and apparatus for providing security using network traffic adjustments
US9865911B2 (en) 2015-06-25 2018-01-09 At&T Intellectual Property I, L.P. Waveguide system for slot radiating first electromagnetic waves that are combined into a non-fundamental wave mode second electromagnetic wave on a transmission medium
US9640850B2 (en) 2015-06-25 2017-05-02 At&T Intellectual Property I, L.P. Methods and apparatus for inducing a non-fundamental wave mode on a transmission medium
US9509415B1 (en) 2015-06-25 2016-11-29 At&T Intellectual Property I, L.P. Methods and apparatus for inducing a fundamental wave mode on a transmission medium
US10148016B2 (en) 2015-07-14 2018-12-04 At&T Intellectual Property I, L.P. Apparatus and methods for communicating utilizing an antenna array
US10033108B2 (en) 2015-07-14 2018-07-24 At&T Intellectual Property I, L.P. Apparatus and methods for generating an electromagnetic wave having a wave mode that mitigates interference
US9628116B2 (en) 2015-07-14 2017-04-18 At&T Intellectual Property I, L.P. Apparatus and methods for transmitting wireless signals
US10044409B2 (en) 2015-07-14 2018-08-07 At&T Intellectual Property I, L.P. Transmission medium and methods for use therewith
US10170840B2 (en) 2015-07-14 2019-01-01 At&T Intellectual Property I, L.P. Apparatus and methods for sending or receiving electromagnetic signals
US9836957B2 (en) 2015-07-14 2017-12-05 At&T Intellectual Property I, L.P. Method and apparatus for communicating with premises equipment
US9882257B2 (en) 2015-07-14 2018-01-30 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US10033107B2 (en) 2015-07-14 2018-07-24 At&T Intellectual Property I, L.P. Method and apparatus for coupling an antenna to a device
US10320586B2 (en) 2015-07-14 2019-06-11 At&T Intellectual Property I, L.P. Apparatus and methods for generating non-interfering electromagnetic waves on an insulated transmission medium
US9853342B2 (en) 2015-07-14 2017-12-26 At&T Intellectual Property I, L.P. Dielectric transmission medium connector and methods for use therewith
US10205655B2 (en) 2015-07-14 2019-02-12 At&T Intellectual Property I, L.P. Apparatus and methods for communicating utilizing an antenna array and multiple communication paths
US9847566B2 (en) 2015-07-14 2017-12-19 At&T Intellectual Property I, L.P. Method and apparatus for adjusting a field of a signal to mitigate interference
US10341142B2 (en) 2015-07-14 2019-07-02 At&T Intellectual Property I, L.P. Apparatus and methods for generating non-interfering electromagnetic waves on an uninsulated conductor
US9722318B2 (en) 2015-07-14 2017-08-01 At&T Intellectual Property I, L.P. Method and apparatus for coupling an antenna to a device
US10090606B2 (en) 2015-07-15 2018-10-02 At&T Intellectual Property I, L.P. Antenna system with dielectric array and methods for use therewith
US9608740B2 (en) 2015-07-15 2017-03-28 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US9793951B2 (en) 2015-07-15 2017-10-17 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US9749053B2 (en) 2015-07-23 2017-08-29 At&T Intellectual Property I, L.P. Node device, repeater and methods for use therewith
US10784670B2 (en) 2015-07-23 2020-09-22 At&T Intellectual Property I, L.P. Antenna support for aligning an antenna
US9948333B2 (en) 2015-07-23 2018-04-17 At&T Intellectual Property I, L.P. Method and apparatus for wireless communications to mitigate interference
US9871283B2 (en) 2015-07-23 2018-01-16 At&T Intellectual Property I, Lp Transmission medium having a dielectric core comprised of plural members connected by a ball and socket configuration
US9912027B2 (en) 2015-07-23 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for exchanging communication signals
US9735833B2 (en) 2015-07-31 2017-08-15 At&T Intellectual Property I, L.P. Method and apparatus for communications management in a neighborhood network
US10020587B2 (en) 2015-07-31 2018-07-10 At&T Intellectual Property I, L.P. Radial antenna and methods for use therewith
US9967173B2 (en) 2015-07-31 2018-05-08 At&T Intellectual Property I, L.P. Method and apparatus for authentication and identity management of communicating devices
US10572248B2 (en) 2015-08-12 2020-02-25 Blackberry Limited Groups of endpoints and targeting of releases and packages to endpoints
US10365912B2 (en) * 2015-08-12 2019-07-30 Blackberry Limited Delivery mechanisms for deployment of releases of packages to endpoints
US10229137B2 (en) 2015-08-12 2019-03-12 Blackberry Limited Management of upgradeable endpoints
US9740473B2 (en) 2015-08-26 2017-08-22 Bank Of America Corporation Software and associated hardware regression and compatibility testing system
KR102346689B1 (ko) * 2015-08-28 2022-01-04 한국전자통신연구원 P2p 네트워크 관리 시스템의 동작 방법 및 p2p 네트워크 관리 시스템
US9904535B2 (en) 2015-09-14 2018-02-27 At&T Intellectual Property I, L.P. Method and apparatus for distributing software
US10009063B2 (en) 2015-09-16 2018-06-26 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an out-of-band reference signal
US10136434B2 (en) 2015-09-16 2018-11-20 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an ultra-wideband control channel
US10079661B2 (en) 2015-09-16 2018-09-18 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having a clock reference
US9705571B2 (en) 2015-09-16 2017-07-11 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system
US10051629B2 (en) 2015-09-16 2018-08-14 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an in-band reference signal
US10009901B2 (en) 2015-09-16 2018-06-26 At&T Intellectual Property I, L.P. Method, apparatus, and computer-readable storage medium for managing utilization of wireless resources between base stations
US9769128B2 (en) 2015-09-28 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for encryption of communications over a network
US9792109B2 (en) 2015-09-30 2017-10-17 Apple Inc. Software updating
US9729197B2 (en) 2015-10-01 2017-08-08 At&T Intellectual Property I, L.P. Method and apparatus for communicating network management traffic over a network
US9882277B2 (en) 2015-10-02 2018-01-30 At&T Intellectual Property I, Lp Communication device and antenna assembly with actuated gimbal mount
US10074890B2 (en) 2015-10-02 2018-09-11 At&T Intellectual Property I, L.P. Communication device and antenna with integrated light assembly
US9876264B2 (en) 2015-10-02 2018-01-23 At&T Intellectual Property I, Lp Communication system, guided wave switch and methods for use therewith
US10051483B2 (en) 2015-10-16 2018-08-14 At&T Intellectual Property I, L.P. Method and apparatus for directing wireless signals
US10665942B2 (en) 2015-10-16 2020-05-26 At&T Intellectual Property I, L.P. Method and apparatus for adjusting wireless communications
US10355367B2 (en) 2015-10-16 2019-07-16 At&T Intellectual Property I, L.P. Antenna structure for exchanging wireless signals
CN106066872B (zh) * 2016-05-27 2019-07-26 维沃移动通信有限公司 一种数据更新管理方法和电子设备
RU2649292C2 (ru) * 2016-06-24 2018-03-30 Акционерное общество "Лаборатория Касперского" Способ формирования списка агентов обновлений
US9912419B1 (en) 2016-08-24 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for managing a fault in a distributed antenna system
US9860075B1 (en) 2016-08-26 2018-01-02 At&T Intellectual Property I, L.P. Method and communication node for broadband distribution
US10291311B2 (en) 2016-09-09 2019-05-14 At&T Intellectual Property I, L.P. Method and apparatus for mitigating a fault in a distributed antenna system
US11032819B2 (en) 2016-09-15 2021-06-08 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having a control channel reference signal
US10340600B2 (en) 2016-10-18 2019-07-02 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via plural waveguide systems
US10135146B2 (en) 2016-10-18 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via circuits
US10135147B2 (en) 2016-10-18 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via an antenna
US10811767B2 (en) 2016-10-21 2020-10-20 At&T Intellectual Property I, L.P. System and dielectric antenna with convex dielectric radome
US9876605B1 (en) 2016-10-21 2018-01-23 At&T Intellectual Property I, L.P. Launcher and coupling system to support desired guided wave mode
US9991580B2 (en) 2016-10-21 2018-06-05 At&T Intellectual Property I, L.P. Launcher and coupling system for guided wave mode cancellation
US10374316B2 (en) 2016-10-21 2019-08-06 At&T Intellectual Property I, L.P. System and dielectric antenna with non-uniform dielectric
US10312567B2 (en) 2016-10-26 2019-06-04 At&T Intellectual Property I, L.P. Launcher with planar strip antenna and methods for use therewith
US10224634B2 (en) 2016-11-03 2019-03-05 At&T Intellectual Property I, L.P. Methods and apparatus for adjusting an operational characteristic of an antenna
US10291334B2 (en) 2016-11-03 2019-05-14 At&T Intellectual Property I, L.P. System for detecting a fault in a communication system
US10498044B2 (en) 2016-11-03 2019-12-03 At&T Intellectual Property I, L.P. Apparatus for configuring a surface of an antenna
US10225025B2 (en) 2016-11-03 2019-03-05 At&T Intellectual Property I, L.P. Method and apparatus for detecting a fault in a communication system
US10340601B2 (en) 2016-11-23 2019-07-02 At&T Intellectual Property I, L.P. Multi-antenna system and methods for use therewith
US10090594B2 (en) 2016-11-23 2018-10-02 At&T Intellectual Property I, L.P. Antenna system having structural configurations for assembly
US10535928B2 (en) 2016-11-23 2020-01-14 At&T Intellectual Property I, L.P. Antenna system and methods for use therewith
US10178445B2 (en) 2016-11-23 2019-01-08 At&T Intellectual Property I, L.P. Methods, devices, and systems for load balancing between a plurality of waveguides
US10340603B2 (en) 2016-11-23 2019-07-02 At&T Intellectual Property I, L.P. Antenna system having shielded structural configurations for assembly
US10361489B2 (en) 2016-12-01 2019-07-23 At&T Intellectual Property I, L.P. Dielectric dish antenna system and methods for use therewith
US10305190B2 (en) 2016-12-01 2019-05-28 At&T Intellectual Property I, L.P. Reflecting dielectric antenna system and methods for use therewith
US10326494B2 (en) 2016-12-06 2019-06-18 At&T Intellectual Property I, L.P. Apparatus for measurement de-embedding and methods for use therewith
US10439675B2 (en) 2016-12-06 2019-10-08 At&T Intellectual Property I, L.P. Method and apparatus for repeating guided wave communication signals
US10382976B2 (en) 2016-12-06 2019-08-13 At&T Intellectual Property I, L.P. Method and apparatus for managing wireless communications based on communication paths and network device positions
US10637149B2 (en) 2016-12-06 2020-04-28 At&T Intellectual Property I, L.P. Injection molded dielectric antenna and methods for use therewith
US10755542B2 (en) 2016-12-06 2020-08-25 At&T Intellectual Property I, L.P. Method and apparatus for surveillance via guided wave communication
US9927517B1 (en) 2016-12-06 2018-03-27 At&T Intellectual Property I, L.P. Apparatus and methods for sensing rainfall
US10135145B2 (en) 2016-12-06 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for generating an electromagnetic wave along a transmission medium
US10727599B2 (en) 2016-12-06 2020-07-28 At&T Intellectual Property I, L.P. Launcher with slot antenna and methods for use therewith
US10020844B2 (en) 2016-12-06 2018-07-10 T&T Intellectual Property I, L.P. Method and apparatus for broadcast communication via guided waves
US10694379B2 (en) 2016-12-06 2020-06-23 At&T Intellectual Property I, L.P. Waveguide system with device-based authentication and methods for use therewith
US10819035B2 (en) 2016-12-06 2020-10-27 At&T Intellectual Property I, L.P. Launcher with helical antenna and methods for use therewith
US10168695B2 (en) 2016-12-07 2019-01-01 At&T Intellectual Property I, L.P. Method and apparatus for controlling an unmanned aircraft
US10359749B2 (en) 2016-12-07 2019-07-23 At&T Intellectual Property I, L.P. Method and apparatus for utilities management via guided wave communication
US10139820B2 (en) 2016-12-07 2018-11-27 At&T Intellectual Property I, L.P. Method and apparatus for deploying equipment of a communication system
US10547348B2 (en) 2016-12-07 2020-01-28 At&T Intellectual Property I, L.P. Method and apparatus for switching transmission mediums in a communication system
US10389029B2 (en) 2016-12-07 2019-08-20 At&T Intellectual Property I, L.P. Multi-feed dielectric antenna system with core selection and methods for use therewith
US10446936B2 (en) 2016-12-07 2019-10-15 At&T Intellectual Property I, L.P. Multi-feed dielectric antenna system and methods for use therewith
US9893795B1 (en) 2016-12-07 2018-02-13 At&T Intellectual Property I, Lp Method and repeater for broadband distribution
US10243270B2 (en) 2016-12-07 2019-03-26 At&T Intellectual Property I, L.P. Beam adaptive multi-feed dielectric antenna system and methods for use therewith
US10027397B2 (en) 2016-12-07 2018-07-17 At&T Intellectual Property I, L.P. Distributed antenna system and methods for use therewith
US10938108B2 (en) 2016-12-08 2021-03-02 At&T Intellectual Property I, L.P. Frequency selective multi-feed dielectric antenna system and methods for use therewith
US10069535B2 (en) 2016-12-08 2018-09-04 At&T Intellectual Property I, L.P. Apparatus and methods for launching electromagnetic waves having a certain electric field structure
US10777873B2 (en) 2016-12-08 2020-09-15 At&T Intellectual Property I, L.P. Method and apparatus for mounting network devices
US10916969B2 (en) 2016-12-08 2021-02-09 At&T Intellectual Property I, L.P. Method and apparatus for providing power using an inductive coupling
US10411356B2 (en) 2016-12-08 2019-09-10 At&T Intellectual Property I, L.P. Apparatus and methods for selectively targeting communication devices with an antenna array
US10601494B2 (en) 2016-12-08 2020-03-24 At&T Intellectual Property I, L.P. Dual-band communication device and method for use therewith
US10389037B2 (en) 2016-12-08 2019-08-20 At&T Intellectual Property I, L.P. Apparatus and methods for selecting sections of an antenna array and use therewith
US10530505B2 (en) 2016-12-08 2020-01-07 At&T Intellectual Property I, L.P. Apparatus and methods for launching electromagnetic waves along a transmission medium
US10326689B2 (en) 2016-12-08 2019-06-18 At&T Intellectual Property I, L.P. Method and system for providing alternative communication paths
US9911020B1 (en) 2016-12-08 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for tracking via a radio frequency identification device
US9998870B1 (en) 2016-12-08 2018-06-12 At&T Intellectual Property I, L.P. Method and apparatus for proximity sensing
US10103422B2 (en) 2016-12-08 2018-10-16 At&T Intellectual Property I, L.P. Method and apparatus for mounting network devices
US10264586B2 (en) 2016-12-09 2019-04-16 At&T Mobility Ii Llc Cloud-based packet controller and methods for use therewith
US9838896B1 (en) 2016-12-09 2017-12-05 At&T Intellectual Property I, L.P. Method and apparatus for assessing network coverage
US10340983B2 (en) 2016-12-09 2019-07-02 At&T Intellectual Property I, L.P. Method and apparatus for surveying remote sites via guided wave communications
US9973940B1 (en) 2017-02-27 2018-05-15 At&T Intellectual Property I, L.P. Apparatus and methods for dynamic impedance matching of a guided wave launcher
US10298293B2 (en) 2017-03-13 2019-05-21 At&T Intellectual Property I, L.P. Apparatus of communication utilizing wireless network devices
US10635426B2 (en) * 2017-03-17 2020-04-28 Microsoft Technology Licensing, Llc Runtime deployment of payloads in a cloud service
CN106909427B (zh) * 2017-03-23 2020-09-22 北京奇虎科技有限公司 一种软件更新方法、装置和软件更新数据发布方法、系统
US10693720B2 (en) * 2017-04-10 2020-06-23 Cisco Technology, Inc. Distribution of updates in an IoT network
US10733173B2 (en) 2017-10-09 2020-08-04 Citrix Systems, Inc. Detecting and reporting changes in data values
US20190155598A1 (en) * 2017-11-17 2019-05-23 Apple Inc. Techniques for updating a file using a multi-version patch file
KR102420667B1 (ko) * 2017-12-15 2022-07-14 현대자동차주식회사 단말기, 차량 및 그 제어방법
CN108804121A (zh) * 2018-05-28 2018-11-13 泰康保险集团股份有限公司 分布式系统中的版本管理方法、装置、介质及电子设备
US20200104118A1 (en) * 2018-09-28 2020-04-02 Bose Corporation Systems and methods for providing staged updates in embedded devices
CN110147380B (zh) * 2019-05-23 2023-11-24 腾讯科技(成都)有限公司 数据更新方法、装置、服务器以及存储介质
US11301232B2 (en) 2019-05-29 2022-04-12 Microsoft Technology Licensing, Llc Update management service for enterprise computing environments
CN110300189A (zh) * 2019-07-25 2019-10-01 北京达佳互联信息技术有限公司 一种资源下载方法、装置及电子设备
US11099855B2 (en) * 2019-10-23 2021-08-24 American Megatrends International, Llc System and method for updating files through a peer-to-peer network
US11182147B2 (en) * 2020-04-02 2021-11-23 Vmware, Inc. Deploying virtualization software in a remote cluster
FR3109000B1 (fr) * 2020-04-02 2023-03-24 Vitesco Technologies Structure de données et procédé pour la mise à jour d’un logiciel de calculateur
US11361354B2 (en) 2020-04-27 2022-06-14 Swiftly Systems, Inc. Method, computer-readable non-transitory storage media, and system for distributing and updating product catalogs to wireless devices
US11868754B2 (en) * 2020-07-17 2024-01-09 Sensia Llc Systems and methods for edge device management
US12075247B2 (en) 2020-07-17 2024-08-27 Sensia Llc Systems and methods for a hydrocarbon configuration tool
US11709820B2 (en) 2021-09-03 2023-07-25 Bank Of America Corporation System for implementing intelligent data analysis
US11748089B2 (en) * 2021-12-02 2023-09-05 Vmware, Inc. Obtaining software updates from neighboring hosts in a virtualized computing system
CN114245319B (zh) * 2021-12-03 2023-06-23 南京矽力微电子技术有限公司 基于蓝牙Mesh的增强广播并发式OTA固件升级方法
US11836484B1 (en) * 2022-08-31 2023-12-05 Confluent, Inc. Docker image registry synchronization service

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701427A (en) * 1989-09-19 1997-12-23 Digital Equipment Corp. Information transfer arrangement for distributed computer system
CA2172517C (en) * 1993-09-24 2000-02-15 Sandeep Jain Method and apparatus for data replication
US5752042A (en) * 1996-06-07 1998-05-12 International Business Machines Corporation Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
GB9623298D0 (en) 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US6338150B1 (en) * 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6038601A (en) * 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
US6035423A (en) * 1997-12-31 2000-03-07 Network Associates, Inc. Method and system for providing automated updating and upgrading of antivirus applications using a computer network
US6205551B1 (en) * 1998-01-29 2001-03-20 Lucent Technologies Inc. Computer security using virus probing
US5987610A (en) * 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
EP1119809B1 (en) * 1998-10-09 2003-05-07 Sun Microsystems, Inc. Process monitoring in a computer system
US6453404B1 (en) 1999-05-27 2002-09-17 Microsoft Corporation Distributed data cache with memory allocation model
US6754664B1 (en) * 1999-07-02 2004-06-22 Microsoft Corporation Schema-based computer system health monitoring
US6493871B1 (en) * 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
US6892317B1 (en) * 1999-12-16 2005-05-10 Xerox Corporation Systems and methods for failure prediction, diagnosis and remediation using data acquisition and feedback for a distributed electronic system
US6854069B2 (en) 2000-05-02 2005-02-08 Sun Microsystems Inc. Method and system for achieving high availability in a networked computer system
US20020049760A1 (en) * 2000-06-16 2002-04-25 Flycode, Inc. Technique for accessing information in a peer-to-peer network
WO2002065282A2 (en) 2001-02-09 2002-08-22 Microsoft Corporation Distribution of binary executables and content from peer locations/machines
US20030115251A1 (en) 2001-02-23 2003-06-19 Fredrickson Jason A. Peer data protocol
CN1178131C (zh) * 2001-03-14 2004-12-01 明基电通股份有限公司 以模块化方式更新执行中应用软件的系统及其方法
US7222187B2 (en) * 2001-07-31 2007-05-22 Sun Microsystems, Inc. Distributed trust mechanism for decentralized networks
WO2003015341A2 (en) * 2001-08-04 2003-02-20 Kontiki, Inc. Method and apparatus for facilitating secure distributed content delivery across a computer network
US7130921B2 (en) * 2002-03-15 2006-10-31 International Business Machines Corporation Centrally enhanced peer-to-peer resource sharing method and apparatus
US7191469B2 (en) 2002-05-13 2007-03-13 Green Border Technologies Methods and systems for providing a secure application environment using derived user accounts
US20030233455A1 (en) * 2002-06-14 2003-12-18 Mike Leber Distributed file sharing system
US7555750B1 (en) * 2002-08-22 2009-06-30 Hewlett-Packard Development Company, L.P. Update package generator employing partial predictive mapping techniques for generating update packages for mobile handsets
JP2004126912A (ja) * 2002-10-02 2004-04-22 Nippon Telegr & Teleph Corp <Ntt> 分割ダウンロード方法、それに用いるリスト記述装置と方法およびそのプログラム。
US7188369B2 (en) * 2002-10-03 2007-03-06 Trend Micro, Inc. System and method having an antivirus virtual scanning processor with plug-in functionalities
US7278019B2 (en) * 2002-11-04 2007-10-02 Hewlett-Packard Development Company, L.P. Method of hindering the propagation of a computer virus
US7287068B1 (en) * 2002-12-13 2007-10-23 Bmc Software, Inc. System and method for updating devices that execute an operating system or application program directly from nonvolatile storage
JP4233328B2 (ja) * 2003-01-08 2009-03-04 日立ソフトウエアエンジニアリング株式会社 ピアツーピア技術を用いたファイルダウンロード方法及びシステム
US8091117B2 (en) * 2003-02-14 2012-01-03 Preventsys, Inc. System and method for interfacing with heterogeneous network data gathering tools
US20040205419A1 (en) * 2003-04-10 2004-10-14 Trend Micro Incorporated Multilevel virus outbreak alert based on collaborative behavior
US7437763B2 (en) * 2003-06-05 2008-10-14 Microsoft Corporation In-context security advisor in a computing environment
US20040261071A1 (en) * 2003-06-23 2004-12-23 Macronix International Co., Ltd. Peer version control system
US7386888B2 (en) * 2003-08-29 2008-06-10 Trend Micro, Inc. Network isolation techniques suitable for virus protection
JP2005107803A (ja) * 2003-09-30 2005-04-21 Hitachi Ltd システム更新方法、および、それを実行するための計算機システム
US20050076325A1 (en) * 2003-10-02 2005-04-07 International Business Machines Corporation Automatic software update of nodes in a network data processing system
US7448070B2 (en) * 2003-10-17 2008-11-04 Microsoft Corporation Network fingerprinting
US20050086526A1 (en) * 2003-10-17 2005-04-21 Panda Software S.L. (Sociedad Unipersonal) Computer implemented method providing software virus infection information in real time
US7509636B2 (en) * 2003-12-15 2009-03-24 Microsoft Corporation System and method for updating files utilizing delta compression patching
US20050166198A1 (en) * 2004-01-22 2005-07-28 Autonomic Software, Inc., A California Corporation Distributed policy driven software delivery
US8291093B2 (en) * 2005-12-08 2012-10-16 Microsoft Corporation Peer-to-peer remediation

Also Published As

Publication number Publication date
KR20060067842A (ko) 2006-06-20
CN1790266A (zh) 2006-06-21
KR101201147B1 (ko) 2012-11-13
EP1672490A3 (en) 2008-01-23
MXPA05013575A (es) 2006-06-15
BRPI0505512B1 (pt) 2017-10-10
CA2529966A1 (en) 2006-06-14
JP2006172472A (ja) 2006-06-29
AU2005239708B2 (en) 2010-07-01
CN1790266B (zh) 2010-12-08
RU2005138840A (ru) 2007-06-20
US20060130037A1 (en) 2006-06-15
EP1672490B1 (en) 2015-01-14
BRPI0505512A (pt) 2006-09-12
CA2529966C (en) 2014-02-11
EP1672490A2 (en) 2006-06-21
RU2405260C2 (ru) 2010-11-27
US7716660B2 (en) 2010-05-11
AU2005239708A1 (en) 2006-06-29

Similar Documents

Publication Publication Date Title
JP5349733B2 (ja) アップデートをダウンロードする方法およびシステム
EP3675418B1 (en) Issuance of service configuration file
US10042626B2 (en) Software updates using client self-reporting and a hierarchical data structure
US8219632B2 (en) Efficient use of peer cache space in large scale file distributions
US8527978B1 (en) System, method, and computer program product for populating a list of known wanted data
US20190196805A1 (en) Controlled rollout of updates for applications installed on client devices
JP4902120B2 (ja) ソフトウェア更新を配信するためのシステム及び方法
US7849462B2 (en) Image server
US8073926B2 (en) Virtual machine image server
KR101150041B1 (ko) 델타 압축 패칭을 이용하여 파일을 업데이트하기 위한시스템 및 방법
JP2006172472A5 (ja)
US20050210459A1 (en) Controlling installation update behaviors on a client computer
KR20060114619A (ko) 네트워킹된 환경에서 설치 컴포넌트들을 업데이트하는시스템 및 방법
KR102098415B1 (ko) 캐시 관리 기법
CN110324406B (zh) 一种获取业务数据的方法和云服务系统
US11444998B2 (en) Bit rate reduction processing method for data file, and server
CN110825400A (zh) 一种应用程序客户端的证书更新方法和系统
JP2001273147A (ja) 情報配布方法、情報配布システム、情報配布サーバ、端末機器および記録媒体
CN110569088A (zh) 客户端插件管理方法、装置、电子设备及存储介质
US20240082706A1 (en) Systems and Methods for Efficient Content Management and Distribution for Video Game Development
US20240143779A1 (en) Secure peer-to-peer file distribution in an enterprise environment
KR102118126B1 (ko) 비트토렌트 기반의 컨텐츠의 파일 조각 유통 시스템 및 이의 실행 방법
US11531534B1 (en) Express update deployment system
JP2002063064A (ja) コンテンツ配信装置、コンテンツ配信方法、コンテンツ配信プログラムを記録した記録媒体
CN117709309A (zh) 文件处理方法以及装置、电子设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081212

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130603

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20130604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130604

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130625

TRDD Decision of grant or rejection written
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130712

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130719

RD15 Notification of revocation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20130719

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130821

R150 Certificate of patent or registration of utility model

Ref document number: 5349733

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250