JP2000207220A - 階層ソフトウェアのディストリビュ―ション装置及びそのディストリビュ―ション方法 - Google Patents

階層ソフトウェアのディストリビュ―ション装置及びそのディストリビュ―ション方法

Info

Publication number
JP2000207220A
JP2000207220A JP11366401A JP36640199A JP2000207220A JP 2000207220 A JP2000207220 A JP 2000207220A JP 11366401 A JP11366401 A JP 11366401A JP 36640199 A JP36640199 A JP 36640199A JP 2000207220 A JP2000207220 A JP 2000207220A
Authority
JP
Japan
Prior art keywords
node
package
target
branch
nodes
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.)
Pending
Application number
JP11366401A
Other languages
English (en)
Inventor
Aaron Abbott
アーロン・アボット
Brett Peterson
ブレット・ピーターソン
Dale Schumacher
デール・シュマチャー
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.)
Platinum Technology IP Inc
Original Assignee
Platinum Technology IP Inc
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 Platinum Technology IP Inc filed Critical Platinum Technology IP Inc
Publication of JP2000207220A publication Critical patent/JP2000207220A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 伝送結節点がルートであり、パッケージの一
部分を要求するクライアントがツリー中の特定の結節点
であるツリーディストリビューションパターンにてネッ
トワークを亙って、他のより小さいパッケージから成る
ソフトウェアパッケージを伝送する方法及びその装置を
提供すること。 【解決手段】 複数のパッケージを備え、該パッケージ
の少なくとも2つが、1つのネットワーク上で異なる組
みの結節点2により要求される、ソフトウェアバンドル
用のソフトウェアディストリビューションシステムであ
る。ソフトウェアバンドルを構成するパッケージの全て
を結節点2の各々に送らずに、ネットワーク中の特定の
リンクの下方の結節点により要求されたソフトウェアバ
ンドル中のパッケージのみが該リンクに沿って送られ、
これにより、ソフトウェアバンドルを伝送するのに必要
な帯域幅を最小にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ソフトウェアのデ
ィストリビューション(配送)、特に、ソフトウェアの
伝送に使用される全体的な帯域幅を最小にする、ネット
ワークに亙ってソフトウェアをディストリビューション
(配送)する装置及び方法に関する。
【0002】
【従来の技術】サーバーからパッケージを必要とする1
人以上のクライアント(顧客)までネットワークに亙っ
てソフトウェアパッケージを伝送することは周知であ
る。より新しいバージョンのパッケージがリリースされ
且つソフトウェアの古いバージョンを実行するクライア
ントへディストリビューションすることが必要となるこ
とがしばしばである。
【0003】本発明に従ってディストリビュートされる
パッケージは、オプション的に付属のスクリプトを有す
るファイルセットである。これらのスクリプトは、イン
ストレーションの時点にて実行し、例えば、ファイルが
インストールされる前のプリインストールスクリプトと
し、又は後のポストインストールスクリプトとすること
が考えられる。
【0004】
【発明が解決しようとする課題】特定の環境下にて、古
いソフトウェアを実行する全てのシステムをアップグレ
ードすることが絶対に必要ではなく、又は、サーバーが
そのソフトウェアを実行するシステムの全ての記録を有
することは不可能である。こうした環境下にて、ソフト
ウェアを実行するクライアントは、新しいバージョンの
ソフトウェアを有するかどうかを問わずサーバーを定期
的にポーリングし、サーバーがクライアントに対して、
新しいバージョンを有すると知らせるならば、ソフトウ
ェアを送るように要求すると考えられる。このアプロー
チ法は、インターネットを通じて利用可能なその製品を
アップグレードする多くの商業的ソフトウェアのディス
トリビュータによって採用されている。
【0005】多くの状況下にて、ソフトウェアのディス
トリビューションに対する上記の解決策は、許容し得な
い。例えば、当該ソフトウェアがクライアントのシステ
ムにインストールされないならば、クライアントのシス
テムは、新しいソフトウェアを要求すべきかどうかを知
る何らの手段もない。更に、ソフトウェアのアップグレ
ードは、システム全体の完全性を保つため直ちにインス
トールすることを必要とすることがしばしばである。こ
うした状況及び他の同様の状況に鑑みて、クライアント
がソフトウェアを要求するのを待つのではなくて、ソフ
トウェアパッケージをサーバーから1人以上のクライア
ントに能動的にディストリビュートするディストリビュ
ーションソフトウェアを提供することが必要となってい
る。かかる1つのシステムの一例は、プラティナム・テ
クノロジー・インコーポレーテッド(Platinum
Technology, Inc.)のオートエック
スファー(AutoXfer)製品である。
【0006】ソフトウェアディストリビューションパッ
ケージは、ソフトウェアディストリビューションパッケ
ージ中のファイルが特定のクライアントに必要とされる
が、別のクライアントには必要とされないかも知れな
い、より小さいパッケージに論理的にグループ化するこ
とができる点にて一般に階層的である。一組みのファイ
ルを含むかかるパッケージは、単一パッケージと称さ
れ、例えば、単一の用途用のファイルから成るものとす
ることが考えられる。また、ソフトウェアパッケージ
は、実際のファイルを含まないが、複合パッケージを構
成する2つ以上の単一又は複合パッケージの特定の参照
を含む、1つ以上の複合パッケージを保持することも考
えられる。例えば、1つの複合パッケージは、その単一
パッケージが複合パッケージによって参照される一連の
アプリケーションを表すことが考えられる。1つのネッ
トワーク内の結節点間にて複合パッケージを送るために
は、複合パッケージ内にて参照されたパッケージは、複
合パッケージと共に、送る必要がある。更に、複合パッ
ケージは、また、関連するスクリプトを全く有しない場
合でさえ、その参照されたパッケージをその定義により
特定された順序にてインストールすることを要求するこ
ともできる。
【0007】リパッケージ(再パッケージ)する間に、
考慮すべき2種類の複合パッケージがある。オープンパ
ッケージは、その中身の順序又は処理について何ら制限
がなく、単に、他のパッケージを集合化させたものに過
ぎない。オープンパッケージの中身は、パッケージ自体
を損なうことなく自由に操作することができ、その存在
は、その中身が存在することで示される。クローズドパ
ッケージは、その中身をパッケージのコンテックス自体
にインストールすること(インストレーション)を必要
とするという制約があり、このため、その存在を明示的
に表さなければならない。
【0008】ネットワーク上におけるターゲット結節点
は、既に、複合パッケージを送る前に、インストールさ
れた複合パッケージ中にて参照された1つ以上の簡単な
パッケージを有していることがしばしばである。その複
合パッケージがオープンパッケージであるならば、複合
パッケージを完全にインストールするためには、簡単な
パッケージが要求されないため、既にインストールされ
た単一パッケージをターゲット結節点(目的の結節点、
目標となる結節点)に送ることは帯域幅の非常な無駄と
なる。
【0009】ポジックス(Posix)1387.2標
準のような、ソフトウェアディストリビューションフォ
ーマット用の標準が規定されている。この標準は、ファ
イルセット、サブプロダクト、プロダクト、及びバンド
ルという4つの主要な対象を使用する。この標準は、基
本的に、ユニックス(Unix)環境下にてのインスト
レーションフォーマットを特定している。この標準は、
この規格にて使用された定義及び基準について他のポジ
ックス標準に依っている。
【0010】ネットニューズ(Net News)は、
ネットワークマシーンにニュースの記事を送るためフィ
ルタリングメカニズムを使用し、要求され且つ必要とさ
れるもののみが送られるようにする。しかしながら、記
事に対する階層構造は存在せず、このため、ソフトウェ
アディストリビューションにおけると同一の問題は生じ
ない。
【0011】
【課題を解決するための手段】本発明は、伝送結節点が
ルートであり、パッケージの一部分を要求するクライア
ントがツリー中の特定の結節点である、ツリーディスト
リビューションパターンにて、ネットワークを亙って、
他のより小さいパッケージから成るソフトウェアパッケ
ージを伝送する方法及びその装置を提供するものであ
る。本発明によれば、結節点によってパッケージが供給
される対象であるクライアントが、複合パッケージのど
の部分を要求するかに関する情報を、ツリー中の分岐部
分の結節点に提供する。分岐結節点は、パッケージの一
部のみを、下方の結節点によって要求される子結節点の
各々に伝送し、その子結節点をツリー中に含む。ソフト
ウェアパッケージを構成するパッケージの各々は、その
ソフトウェアが関連する任意のパッケージが開かれたな
らば、開くことができる。
【0012】本発明は、伝送結節点がルートであり、よ
り小さいパッケージを要求するクライアントがツリー中
の特定の結節点である、ツリーディストリビューション
パターンにて当該より小さいパッケージが要求される結
節点に対してのみより小さいパッケージの各々を個々に
送ることにより、より小さいパッケージから成るソフト
ウェアパッケージをネットワークに亙って伝送する方法
及びその装置を更に提供するものである。ソフトウェア
パッケージを構成するより小さいパッケージの各々は、
該ソフトウェアが関連する任意のパッケージが開かれた
ときにのみ開くようにすることができる。
【0013】本発明の1つの形態において、ソフトウェ
アパッケージを形成するパッケージは、単一のエンティ
ティとして送られ、1つの特定の分岐部分に沿ったツリ
ーの更に下方の全ての結節点が、送付先の分岐結節点で
受け取られるパッケージを形成する全てのパッケージを
要求しないとき、分岐結節点にてリパッケージが実行さ
れる。この場合、分岐部分の各々の下方に進んだ1つの
リパックしたソフトウェアパッケージは、その分岐部分
の下方の結節点により要求されたパッケージのみを含ん
でいる。
【0014】本発明の別の形態において、1つのソフト
ウェアパッケージを形成する異なるパッケージが、それ
らパッケージが要求されたターゲット結節点に対して独
立的にマルチキャストされ、次に、1つのターゲット結
節点にて要求された全てのパッケージが受け取られたと
きに、パッケージの各々が開かれる。
【0015】本発明の上記及びその他の目的は、本明細
書の以下の部分から明らかになるであろう。
【0016】
【発明の実施の形態】本発明の第一実施の形態に関し
て、図1乃至図3を参照しつつ以下に説明する。
【0017】図1には、本発明が使用可能である一例と
してのネットワークが図示されている。かかるネットワ
ークは、1つ以上のネットワークリンク4に亙ってデー
タを送る作用を果たし得る結節点2を有しており、これ
は、以下に分岐結節点と称する。データは、少なくとも
1つのネットワークリンクに沿って受け取り且つ分岐結
節点2から他のネットワークリンクに向けることができ
る。1つの標準的な形態において、データは、分岐結節
点に接続された任意のネットワークリンク4から受け取
り又は該リンク4に沿って伝送することができる。これ
らの分岐結節点は、例えば、パケット交換ネットワーク
にて一般に使用される型式のルータとすることが考えら
れる。
【0018】ネットワークに亙って広がる(拡張する)
ツリー(木構造)は、ディストリビューションサーバー
(DS)10から発生され、このディストリビューショ
ンサーバー(DS)10からソフトウェアパッケージ3
0がそのソフトウェアを受け取る必要のある一組みのタ
ーゲット結節点14にディストリビュートされ、ネット
ワーク中の分岐結節点2がツリー中の分岐部分として機
能する。ターゲット結節点は、図1及び図2に文字
「T」で示してある。ターゲット結節点は、ツリーの葉
16とし、又はツリー中の分岐結節点2としてもよい。
かかる広がるツリーがターゲットに達する状態は図2に
図示してある。
【0019】ツリーは、明示的に規定する必要はなく、
例えば、当該技術分野にて周知であるように、データを
送る、分岐結節点2の各々におけるルーティングテーブ
ルにて非明示的に表してもよい。すなわち、分岐結節点
の各々は、1つの特定の結節点に対して現在、利用可能
である最短のルートを与えるルーティングテーブルを維
持する。かかるアーキテクチャは周知であり、任意の複
数の目的地に向けて任意のソースから広がるツリーを発
生させるのに適した経路を提供するルーティングテーブ
ルを維持するアルゴリズムが十分に開発されている。使
用されるアルゴリズム及びプロトコルは、該ネットワー
クの部分にて使用されるネットワークアーキテクチャに
依存して相違する。例えば、その1つがIEEE80
1.1dに記載された、ブリッジ接続ラン(LAN)に
ついて使用される特定のアルゴリズム及びプロトコルが
ある。インターネット利用システムにて使用されるかか
るアーキテクチャは、そのIPアドレスに基づいてイン
ターネットパッケージを効率良くルーティングするアル
ゴリズムを提供するものがRFC1716に記載されて
いる。このルーティングテーブル、又は同等のルーティ
ング構造は、静的なものとし、手動操作にてアップグレ
ードするか、又はOSPF(オープン最短パスファース
ト)のようなルーティングプロトコルを使用して結節点
間の通信に基づく動的なものとしてもよい。ルーティン
グメカニズムが1つのネットワーク中の任意の2つの結
節点間にて常に、同一のルートが取られることを保証す
る限り、1つの結節点から複数の結節点へのディストリ
ビューションは、常に、広がるツリーのパターンにて行
われることを認識すべきである。
【0020】ツリー中の分岐結節点の各々には、特定の
単一パッケージ34及び送るべき全体的なソフトウェア
パッケージ30を構成する複合的なパッケージ32を必
要とするのはどの結節点であるかに関する情報を提供す
る必要がある。かかるソフトウェアパッケージの一例
は、図3に図示されている。この実施の形態によれば、
この決定はDS10にて行われ、ソフトウェアパッケー
ジ30と共に送られた伝送コントロールファイルに含め
ることができる。
【0021】第一の実施の形態によれば、パッケージを
ターゲット結節点14にインストールしたとき、そのイ
ンストレーションの記録が保持され、このため、そのタ
ーゲット結節点への将来の転送は要求されるものだけを
含めればよい。この記録は、ターゲット自体に、及び新
しい又はアップグレードしたソフトウェアをインストー
ルする毎に、DS10によりポーリングされたターゲッ
トに維持されるようにし、又は全てのターゲットをポー
リングする必要がないようにDSにより維持されるよう
にすることが考えられる。こうした2つの方法を組み合
せることが可能である。
【0022】従って、どのターゲット結節点がどのパッ
ケージを要求するのかを決定するために必要な情報は、
どのパッケージが既にインストールされているかに関し
て全てのターゲット結節点に質問するか、又はパッケー
ジがインストールされたとき、それら結節点の各々にイ
ンストールされたパッケージを追跡することにより得る
ことができる。何らかの理由のため、1つの特定のター
ゲット結節点にインストールされたパッケージを確認す
ることができないならば、ソフトウェアパッケージ30
の全体をそのターゲット結節点に送ることができる。
【0023】明らかであるように、分岐結節点2の幾つ
かは、ソフトウェアパッケージ30内のデータをリパッ
ケージする作用をする。かかる分岐結節点は、以下にリ
パッケージング結節点12と称する。この実施の形態に
よれば、これらの結節点には、ソフトウェアパッケージ
の全体を記憶することのできる記憶媒体が設けられてい
る。しかしながら、本発明のこの実施の形態により、要
求されるリパッケージングがソフトウェアパッケージを
記憶するのに十分なスペースを必要とせずに、「オン・
ザ・フライ」にて実施される実施の形態とすることも考
えられる。
【0024】リパッケージング結節点12の各々には、
最終的にデータが送られる全てのターゲット結節点14
と、これらのターゲット結節点の各々により要求される
パッケージとが設けられることが重要である。このこと
は、多くの方法にて容易に実現可能である。2つの例
は、次の通りである。1)そのパッケージを伝送すべき
全てのターゲット結節点14のリストを含むDS10か
らソフトウェアパッケージ30に関するデータが伝送さ
れる。そのパッケージを受け取る任意の分岐結節点2
は、そのルーティングテーブル、又は同等のデータ記憶
部分をチェックし、パッケージを送るべき全ての結節点
への最短のルートを確認する。この結節点は、ターゲッ
トに到達し得るように、適当な分岐部分の各々に沿って
パッケージの適当な部分を送る。分岐結節点2は、各分
岐部分に沿ってその結節点が送るターゲット結節点のリ
ストを編集し、それぞれの分岐部分に沿って到達すべき
ターゲット結節点のみを含むようにする。2)リパッケ
ージ結節点12の各々には、任意の特定の結節点から生
じるデータを伝送する責任のある全てのターゲットを確
認する機能が付与されている。リパッケージング結節点
がそのパッケージがどこから生じるのかを知る限り、タ
ーゲット結節点のリストは、各分岐結節点にて編集する
必要はない。このターゲット結節点のリストは、上述し
たように、単一の転送コントロールファイルに記憶させ
ることができる。
【0025】次の例には、本発明の第一の実施の形態に
従って複合パッケージを送る方法が示されている。図3
に図示するように、複合パッケージAは、単一パッケー
ジB、Cに対する参照から成る。パッケージBの個々の
インストレーションは、次の通りである: 1)Bのプリインストールスクリプトを実行する; 2)Bのファイルをインストールする; 3)Bのポストインストールスクリプトを実行する。
【0026】パッケージCの個々のインストレーション
は次の通りである: 1)Cのプリインストールスクリプトを実行する; 2)Cのファイルをインストールする; 3)Cのポストインストールスクリプトを実行する。
【0027】しかしながら、複合パッケージAのインス
トレーションは次の通りである: 1)Aのプリインストールスクリプトを実行する; 2)Bのプリインストールスクリプトを実行する; 3)Bのファイルをインストールする; 4)Bのポストインストールスクリプトを実行する; 5)Cのプリインストールスクリプトを実行する; 6)Cのファイルをインストールする; 7)Cのポストインストールスクリプトを実行する; 8)Aのポストインストールスクリプトを実行する。
【0028】パッケージB、Cが1つのターゲット上に
個々にインストールされたならば(別個の転送によ
り)、パッケージAがそのスクリプトに依存していない
ならば、パッケージAもインストールされたと推定する
ことができる。1つのパッケージがそのスクリプトに依
存しているならば、効果的にインストールされたとみな
すためには、スクリプトを実行しなければならないこと
を意味する。
【0029】所定の転送のためには、ソフトウェアパッ
ケージの中身をDSにて集め且つ拡張ツリー中の結節点
の階層に沿ってターゲット結節点(目標の結節点)に送
る。DSは、そのパッケージをそのツリー中の第一レベ
ルの分岐部分に送り、これら分岐部分の各々は、そのパ
ッケージを次のレベルに送り、全ての転送ターゲット結
節点にパッケージが送られる迄、次々と送られるように
する。パッケージを送るために使用される中間的結節点
は、また、ターゲット結節点とすることもできる。
【0030】後続のターゲット(送られるものを含み且
つその下方のターゲットを含む)がパッケージの中身の
一部分のみを要求する毎に、リパッケージングを行うこ
とができる。ターゲットの各々においてどのパッケージ
の中身が要求されるのかの決定は、転送が開始する前
に、DS(且つ転送コントロールファイル中に含まれ
る)にて行われる。その後のターゲットにより要求され
るパッケージ中身の組みは、「新しいパッケージ」を規
定する。
【0031】オープンパッケージの場合、単に参照パッ
ケージを選択し且つ要求される箇所に送ることができ
る。クローズドパッケージの場合、そのクローズドパッ
ケージ及び該パッケージが直接的に且つ間接的に、参照
する全てのパッケージの双方を送らなければならない。
【0032】図4、図5、図6に図示した次の例におい
て、パッケージは、2つの複合パッケージa、c及び3
つの単一パッケージb、d、eを含んでいる。その目的
は、パッケージaをターゲットP、Q、R、S、Tにイ
ンストールすることである。パッケージaは、オープン
パッケージであり、パッケージcは、図5のオープンの
場合及び図6に図示したクローズドの場合の双方にて対
象とする。
【0033】パッケージcがオープンの場合(図5):
ターゲットPは、インストールされたパッケージb、d
を有し且つパッケージeを要求する;ターゲットQは、
インストールされたパッケージb、eを有し且つパッケ
ージdを要求する。パッケージb、eは、また、ターゲ
ットR、S、Tにも送られる;ターゲットRは、インス
トールされたパッケージb、dを有し且つパッケージe
を要求する;ターゲットSは、インストールされたパッ
ケージc[de]を有し且つパッケージbを要求する;
ターゲットTは、インストールされたパッケージd、e
を有し且つパッケージbを要求する。
【0034】パッケージcがクローズドである場合(図
6):ターゲットPは、インストールされたパッケージ
b、dを有し且つパッケージc[de]を要求する;タ
ーゲットQは、インストールされたパッケージb、eを
有し且つパッケージc[de]を要求する。パッケージ
bは、また、ターゲットS、Tにも送られる;ターゲッ
トRは、インストールされたパッケージb、dを有し且
つパッケージc[de]を要求する;ターゲットSは、
インストールされたパッケージc[de]を有し且つパ
ッケージbを要求する;ターゲットTは、インストール
されたパッケージd、eを有し且つパッケージb、c
[de]を要求する。
【0035】ソフトウェアパッケージ30を構成するパ
ッケージを実際にリパッケージする方法は、使用される
プロトコル及びアーキテクチャに依存して著しく相違す
るが、かかるリパッケージングは、また、どのパッケー
ジが要求されるかに関して転送コントロールファイルか
らの知識を使用して極めて簡単に実行することができよ
う。例えば、異なるパッケージに対応する寸法及び異な
る分岐部分に対応する寸法にてブールアレイを設定する
ことができる。このアレイ中の全ての位置は、最初に、
偽(FALSE)に設定される。リパッケージ結節点に
て実行されたルーチンは、ターゲット結節点のリストを
走査する。そのルーチンが特定のリンクに沿って伝送す
る1つの結節点を探知したならば、そのルーチンは、第
一の寸法のリンクと関係したアレイ中にてアレイの位置
を真(TRUE)と設定し、且つ第二の寸法のターゲッ
ト結節点により要求されるパッケージを真(TRUE)
に設定する。そのルーチンが全てのターゲット結節点を
検討したならば、各リンクに沿って必要とされるソフト
ウェアパッケージの中身は、真に設定されたリンクと関
係したアレイ中の位置によって規定される。図7には、
図6の結節点Qをリパッケージするこの型式のアレイの
一例が図示されている。
【0036】本発明の第二の実施の形態において、全体
のパッケージを構成する単一パッケージ及び複合パッケ
ージの各々を単一の隣接するパッケージとして伝送する
必要はないが、それ自体の転送コントロールデータと共
に別個に伝送し、選択された結節点にのみ伝送されるこ
とを確実にすることができる。次に、全体のパッケージ
を構成するパッケージの各々を適当な結節点に対し効果
的にマルチキャスト化することができる。1つのパッケ
ージがクローズド複合パッケージの一部であるならば、
そのパッケージが、標的結節点が親の複合パッケージを
受け取る迄、そのパッケージをインストールしないよう
にターゲット結節点に命令するアタッチメントをそのパ
ッケージに設けることができる。この代替的な方法を使
用すれば、リパッケージングは実施する必要はなく、同
様の全体的な帯域幅を使用することができよう。実際
上、そのターゲット結節点に依存して送られるパッケー
ジの各々に対して拡張する別のツリーを使用することが
できる。このことは、図8、図9に例示されている。図
8において、パッケージBは、リンク101、103、
104を介して第一の拡張するツリーに沿って送られ
る。図9において、パッケージCは、3つの異なるリン
ク102、105、106を介して第二の拡張するツリ
ーに沿って送られる。双方のパッケージA、Bに対して
同一の広がるツリーを使用するならば、1つのパッケー
ジは、4つのリンクを経て送る必要があろう。例えば、
図8のツリーを使用する場合、パッケージCは、リンク
101、102、104、106を介して伝送する必要
があろう。
【0037】本発明の好適な実施の形態を図示し且つ説
明したが、当該技術分野の当業者は、そのより広い形態
の本発明から逸脱せずに、変更及び改変が具体化可能で
あることが理解される。本発明の色々な特徴は、特許請
求の範囲に記載されている。
【図面の簡単な説明】
【図1】本発明が具体化可能な1つのネットワークの一
例の図である。
【図2】図1に図示したネットワークを亙る拡張ツリー
の一例の図である。
【図3】本発明の第一の実施例による複合パッケージ構
造の図である。
【図4】本発明の一例による複合パッケージ構造の図で
ある。
【図5】図4に図示した複合パッケージの第一のディス
トリビューション例の図である。
【図6】図4に図示した複合パッケージの第二のディス
トリビューション例の図である。
【図7】図6の結節点Qから各リンクに沿って送るべき
パッケージを特定する第一の実施の形態により発生され
たアレイの図である。
【図8】本発明の第二の実施の形態にて具体化される、
別の拡張ツリーの図である。
【図9】図8と異なる拡張ツリーの図である。
【符号の説明】
2 分岐結節点 4 ネットワークリ
ンク 10 ディストリビューションサーバー(DS) 12 リパッケージング/パッケージング結節点 14 ターゲット結節点 16 ツリーの葉 30 ソフトウェアパッケージ 32 複合的なパッ
ケージ 34 簡単なパッケージ
フロントページの続き (72)発明者 ブレット・ピーターソン アメリカ合衆国ニューヨーク州11788− 7000,アイランディア,ワン・コンピュー タ・アソシエイテッド・プラザ (72)発明者 デール・シュマチャー アメリカ合衆国ニューヨーク州11788− 7000,アイランディア,ワン・コンピュー タ・アソシエイテッド・プラザ

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つの第一及び第二のパッケ
    ージを備えるソフトウェアパッケージを複数のターゲッ
    ト結節点に対してディストリビューションすることを許
    容する階層ソフトウェアのディストリビューション装置
    において、 ソフトウェアのパッケージを伝送するディストリビュー
    ション結節点と、 該ディストリビューション結節点と連絡する第一の分岐
    結節点であって、前記ソフトウェアパッケージを前記デ
    ィストリビューション結節点から受け入れ得るように構
    成された第一の分岐結節点と、 第一のネットワークリンクを介して前記第一の分岐結節
    点と連絡した第一のターゲット結節点と、第二のネット
    ワークリンクを介して前記第一の分岐結節点と連絡した
    第二のターゲット結節点とを備え、 前記第一のパッケージが、既に、前記第二のターゲット
    結節点に存在し、 前記第一の分岐結節点が、前記ソフトウェアパッケージ
    を前記第一のネットワークリンクを通じて伝送し、前記
    第二のパッケージを前記第二のネットワークリンクを通
    じてのみ伝送し得るように構成され、 これにより、第一及び第二のパッケージの双方が、前記
    第一及び第二のターゲット結節点の双方にディストリビ
    ュートされる、装置。
  2. 【請求項2】 請求項1に記載の装置において、前記ソ
    フトウェアパッケージが、前記第一のネットワークリン
    クを通じて隣接するパッケージとして送られる、装置。
  3. 【請求項3】 請求項1に記載の装置において、前記第
    一の分岐結節点に、どのパッケージを、どのターゲット
    結節点に送るべきかに関する情報が提供される、装置。
  4. 【請求項4】 請求項1に記載の装置において、前記第
    一の分岐結節点が、第二の分岐結節点を介して前記第一
    のターゲット結節点と連絡し、前記第二の分岐結節点
    が、前記第一のネットワークリンクを介して前記第一の
    分岐結節点と連絡し、前記第二の分岐結節点が、第三の
    ネットワークリンクを介して前記第一のターゲット結節
    点と連絡し、前記第二の分岐結節点が、第四のネットワ
    ークリンクを介して第三のターゲット結節点と更に連絡
    する、装置。
  5. 【請求項5】 請求項4に記載の装置において、前記分
    岐結節点の各々に、該分岐結節点の各々が前記パッケー
    ジを送る責任のあるターゲット結節点に関する情報、及
    び、前記第一及び第二のパッケージの何れが前記結節点
    により要求されているのかに関する情報が提供され、分
    岐結節点の各々が、該情報を各分岐部分に沿って後続の
    結節点に送り、分岐部分の各々に対し前記情報を編集し
    て、該分岐部分を介して到達したターゲット結節点のみ
    を含むようにする、装置。
  6. 【請求項6】 請求項4に記載の装置において、前記分
    岐結節点の各々に、前記第一及び第二のパッケージの各
    々を要求するターゲット結節点に関する情報が提供さ
    れ、前記ディストリビューション結節点から情報を送る
    責任のあるのは前記ターゲット結節点及び前記分岐結節
    点の何れであるかに関する情報、及び責任のある前記タ
    ーゲット結節点の各々に達するため、分岐結節点が使用
    するのは隣接分岐部分の何れであるかに関する情報が更
    に提供され、これにより、分岐結節点の各々が、隣接分
    岐部分の各々に沿って送るべきは何れのパッケージであ
    るかを確認することができるようにする、装置。
  7. 【請求項7】 請求項1に記載の装置において、前記第
    一のパッケージが、少なくとも2つのサブパッケージを
    備え、前記ターゲット結節点の各々に対する前記2つの
    サブパッケージのインストレーションが次の特定の順
    序、すなわち、 前記サブパッケージの1つのインストレーションが既
    に、前記第一のターゲット結節点にて行われており、 前記サブパッケージの双方が、前記第一のターゲット結
    節点にディストリビュートされ、サブパッケージの何れ
    もが前記第二のターゲット結節点に送られないようにし
    て実行される、装置。
  8. 【請求項8】 少なくとも1つの第一及び第二のパッケ
    ージを備えるソフトウェアパッケージを複数のターゲッ
    ト結節点に対してディストリビューションすることを許
    容する階層ソフトウェアのディストリビューション装置
    において、 ソフトウェアのパッケージを伝送するディストリビュー
    ション結節点と、 前記ディストリビューション結節点と連絡する少なくと
    も1つの分岐結節点と、 第一のネットワークリンクを介して前記分岐結節点と連
    絡した第一のターゲット結節点と、第二のネットワーク
    リンクを介して前記分岐結節点と連絡した第二のターゲ
    ット結節点とを備え、 前記第一のパッケージが、既に、前記第二のターゲット
    結節点に存在し、 分岐結節点の各々が、前記ディストリビューション結節
    点から前記第一及び第二のパッケージの各々を独立的に
    受け入れ得るように構成され、 前記分岐結節点が、前記第一のパッケージを前記第一及
    び第二のネットワークリンクを介して前記第一及び第二
    のターゲット結節点に伝送し、前記第二のパッケージを
    前記第二のネットワークリンクを介して前記第二のター
    ゲット結節点に伝送し得るように構成され、 前記ターゲット結節点が、パッケージが受け取られたな
    らば、パッケージの各々をインストールし得るように構
    成され、 これにより、完全なソフトウェアパッケージが前記第一
    及び第二のターゲット結節点の各々にインストールされ
    る、装置。
  9. 【請求項9】 少なくとも1つの第一のパッケージ及び
    第二のパッケージを備え、前記第一のソフトウェアパッ
    ケージが既に第二の結節点に存在する、ソフトウェアパ
    ッケージを、少なくとも1つの共通のネットワークリン
    クを通じて少なくとも1つの第一及び第二のターゲット
    結節点にディストリビュートする方法において、 前記ソフトウェアパッケージを前記共通のネットワーク
    リンクを通じて送るステップと、その後、前記第二のパ
    ッケージのみを前記第二のターゲット結節点に送るステ
    ップと、前記ソフトウェアパッケージを前記第一のター
    ゲット結節点に送るステップとを備え、 これにより、第一及び第二のパッケージの双方が、前記
    第一及び第二のターゲット結節点の双方にディストリビ
    ュートされるステップとを備える、方法。
JP11366401A 1998-12-24 1999-12-24 階層ソフトウェアのディストリビュ―ション装置及びそのディストリビュ―ション方法 Pending JP2000207220A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/220724 1998-12-24
US09/220,724 US6938075B1 (en) 1998-12-24 1998-12-24 Method and apparatus for hierarchical software distribution packages including composite packages

Publications (1)

Publication Number Publication Date
JP2000207220A true JP2000207220A (ja) 2000-07-28

Family

ID=22824689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11366401A Pending JP2000207220A (ja) 1998-12-24 1999-12-24 階層ソフトウェアのディストリビュ―ション装置及びそのディストリビュ―ション方法

Country Status (11)

Country Link
US (1) US6938075B1 (ja)
EP (1) EP1014652B1 (ja)
JP (1) JP2000207220A (ja)
KR (1) KR20000052565A (ja)
CN (1) CN1191525C (ja)
AT (1) ATE386396T1 (ja)
AU (1) AU779536B2 (ja)
BR (1) BR9905969A (ja)
CA (1) CA2292145A1 (ja)
DE (1) DE69938122T2 (ja)
IL (1) IL133564A0 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007072838A (ja) * 2005-09-08 2007-03-22 Fujitsu Ltd システムチェック方法およびシステムチェックプログラム
US10911315B2 (en) * 2017-02-14 2021-02-02 Nicira, Inc. Inter-connecting local control planes for state data exchange

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO314867B1 (no) 2001-03-13 2003-06-02 Ericsson Telefon Ab L M Fremgangsmåte for å optimalisere programvaredistribusjon i store kommunikasjonsnett
CA2349654A1 (en) * 2001-06-04 2002-12-04 Ibm Canada Limited-Ibm Canada Limitee Server configuration versioning tool
JP3729265B2 (ja) * 2002-08-22 2005-12-21 日本電気株式会社 ネットワークシステム、スパニングツリー構成方法、スパニングツリー構成ノード、及びスパニングツリー構成プログラム
US7853609B2 (en) * 2004-03-12 2010-12-14 Microsoft Corporation Update distribution system architecture and method for distributing software
DE102004047367A1 (de) * 2004-09-29 2006-03-30 Siemens Ag Verfahren zum Verteilen von Software und Konfigurationsdaten mit Zeitüberwachung sowie entsprechendes Datennetz
US7770168B1 (en) * 2005-05-25 2010-08-03 Landesk Software Limited Systems and methods for distributing software using nodes within a network group
CN100407650C (zh) * 2005-11-10 2008-07-30 中国工商银行股份有限公司 分布式业务系统中的软件版本升级系统及其方法
DE102008024809B3 (de) * 2008-05-23 2009-11-19 Universität Konstanz Verfahren zur Speicherung einer Mehrzahl von Revisionen von baumstrukturartig verknüpften Datenfamilienteilen
CN103513998B (zh) * 2012-06-25 2018-05-04 中兴通讯股份有限公司 升级包生成方法和装置、动态文件差分升级的方法和终端
US8938730B2 (en) * 2012-12-17 2015-01-20 Itron, Inc. Utilizing a multi-system set configuration to update a utility node system set
US8924950B2 (en) * 2012-12-17 2014-12-30 Itron, Inc. Utility node software/firmware update through a multi-type package
CN103354505B (zh) * 2013-06-28 2016-08-10 国家电网公司 一种电子装置群软件批量升级方法
US10530660B2 (en) * 2015-05-21 2020-01-07 International Business Machines Corporation Application bundle preloading
US10152516B2 (en) 2015-05-21 2018-12-11 International Business Machines Corporation Managing staleness latency among application bundles
US9965262B2 (en) * 2015-05-21 2018-05-08 International Business Machines Corporation Application bundle pulling
US10389850B2 (en) 2015-05-21 2019-08-20 International Business Machines Corporation Managing redundancy among application bundles
US9888057B2 (en) 2015-05-21 2018-02-06 International Business Machines Corporation Application bundle management across mixed file system types
US10389794B2 (en) 2015-05-21 2019-08-20 International Business Machines Corporation Managing redundancy among application bundles
US11165886B2 (en) * 2020-01-03 2021-11-02 Bank Of America Corporation Multi-distribution resource allocation system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4905233A (en) * 1987-11-23 1990-02-27 Harris Corporation Multiple path routing mechanism for packet communications network
US5095480A (en) * 1989-06-16 1992-03-10 Fenner Peter R Message routing system for shared communication media networks
US5495610A (en) * 1989-11-30 1996-02-27 Seer Technologies, Inc. Software distribution system to build and distribute a software release
SE513182C2 (sv) 1991-06-12 2000-07-24 Icl Systems Ab Förfarande och system för att revidera data i ett distribuerat datasystem
US6134324A (en) * 1991-07-31 2000-10-17 Lsi Logic Corporation Method and system for distributing a plurality of software products, and limiting access thereto
US5319705A (en) 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
WO1994025913A2 (en) 1993-04-30 1994-11-10 Novadigm, Inc. Method and apparatus for enterprise desktop management
US5680548A (en) 1994-12-02 1997-10-21 Xcellenet, Inc. Systems and methods for work assignment and distribution from a server to remote/mobile nodes
US5706431A (en) 1995-12-29 1998-01-06 At&T System and method for distributively propagating revisions through a communications network
JPH10171814A (ja) 1996-12-12 1998-06-26 Digital Vision Lab:Kk 情報検索装置
US6279005B1 (en) 1997-03-04 2001-08-21 Paul Zellweger Method and apparatus for generating paths in an open hierarchical data structure
US6029004A (en) 1997-03-17 2000-02-22 International Business Machines Corporation Method and apparatus for modular reordering of portions of a computer program based on profile data
US5953724A (en) 1997-11-24 1999-09-14 Lowry Software, Incorporated Global database library data structure for hierarchical graphical listing computer software
US6185734B1 (en) 1998-07-21 2001-02-06 Hewlett-Packard Company Hierarchical registry structure for managing multiple versions of software components
US6108698A (en) 1998-07-29 2000-08-22 Xerox Corporation Node-link data defining a graph and a tree within the graph
US6381743B1 (en) 1999-03-31 2002-04-30 Unisys Corp. Method and system for generating a hierarchial document type definition for data interchange among software tools

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007072838A (ja) * 2005-09-08 2007-03-22 Fujitsu Ltd システムチェック方法およびシステムチェックプログラム
US10911315B2 (en) * 2017-02-14 2021-02-02 Nicira, Inc. Inter-connecting local control planes for state data exchange

Also Published As

Publication number Publication date
AU779536B2 (en) 2005-01-27
CN1191525C (zh) 2005-03-02
AU6547599A (en) 2000-06-29
EP1014652A2 (en) 2000-06-28
DE69938122D1 (de) 2008-03-27
US6938075B1 (en) 2005-08-30
KR20000052565A (ko) 2000-08-25
DE69938122T2 (de) 2009-02-12
EP1014652B1 (en) 2008-02-13
BR9905969A (pt) 2000-09-05
CN1264077A (zh) 2000-08-23
EP1014652A3 (en) 2002-05-08
CA2292145A1 (en) 2000-06-24
IL133564A0 (en) 2001-04-30
ATE386396T1 (de) 2008-03-15

Similar Documents

Publication Publication Date Title
AU779536B2 (en) Method and apparatus for hierarchical software distribution packages
US11711810B1 (en) System, security and network management using self-organizing communication orbits in distributed networks
JP4350410B2 (ja) ネットワーク・デバイスの構成を管理する方法、システム、そのためのプログラムおよび記録媒体
JP4068158B2 (ja) レプリカルーティング
US6684241B1 (en) Apparatus and method of configuring a network device
US6560654B1 (en) Apparatus and method of maintaining timely topology data within a link state routing network
US8166185B2 (en) System and method for enterprise software distribution
EP1665652B1 (en) Virtual switch for providing a single point of management
JP2004246632A (ja) データ分配サーバ、プログラム及びネットワークシステム
US6606325B1 (en) Fast path forwarding of link state advertisements using multicast addressing
EP1248438A2 (en) System and method for secure and verified sharing of resources in a peer-to-peer network environment
van Adrichem et al. NDNFlow: Software-defined named data networking
US20110119752A1 (en) Method and system for including security information with a packet
EP3588859B1 (en) Network device configuration versioning
WO2012086919A2 (ko) 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체
AU2001282554B2 (en) File transfer system, apparatus, method and computer readable medium storing file transfer program
US20050192813A1 (en) Process for data distribution through a network
US8135806B2 (en) Virtual system configuration
US8775456B2 (en) System and method for scheduled and collaborative distribution of software and data to many thousands of clients over a network using dynamic virtual proxies
US7228562B2 (en) Stream server apparatus, program, and NAS device
US6226673B1 (en) Data distribution method and apparatus and computer program
CN100446513C (zh) 由作为中继服务器的终端分配数据包的网络和方法
US6883169B1 (en) Apparatus for managing the installation of software across a network
WO2021248466A1 (zh) 文件分发方法、装置、电子设备和计算机可读存储介质
WO2007078853A2 (en) Fast processing of multicast data

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050613