(57)【要約】コンピュータネットワークにおいてソフトウエアの配布を効率的かつ高信頼性の下で行う方法とシステムに関する。コンピュータネットワーク（１００）は、例えば、中央制御局（ＣＭＳ）（１１０）、複数の主要なネットワークエレメント（ＮＥＳ）’１３０、１４０、１５０、１６０、１７０、１８０）、および、主要なＮＥｓに接続された複数の下位のＮＥｓ（Ｓ−ＮＥｓ）（１８２，１８４、１８６）を有する。ＣＭＳとＮＥｓは好ましくは、Ｘ．２５ネットワーク（１２０）のようなネットワークに接続されている．ＣＭＳはロードマネージャ（ＬＭ）（２１０）と複数のＮＥｓおよび／またはＳ−ＮＥｓに配布されるべき少なくとも１つのソフトウエアユニットを有する．複数のＭＥはロードエージェント（ＬＡ）（２３０、２４０、２５０、２６０、２７０、２８０）を有し、これらがＬＭによるソフトウエアの配布を支援する．少なくとも１つのＬＡはインストラクションとソフトウエアユニットをＣＭＳからＬＭの制御の下でネットワーク経由で受信する。特定のＬＡがソフトウエアユニットを他のＮＥｓに対して全体又は部分的にローディングすることについて責任を有する（４３８）。ソフトウエアをアップグレード又はインストールするプロセスは複数のＮＥに対して分散される。【特許請求の範囲】
【請求項１】
第１のネットワークエレメントから第２のネットワークエレメントに対して第１のメッセージを送信し、
第２のネットワークエレメントから第３のネットワークエレメントに対して、前記第１のメッセージに対応すると共にソフトウエアを含む第２のメッセージを送信し、
当該第３のネットワークエレメントに前記ソフトウエアの少なくとも１部をローディングするステップを含むネットワークにおいてソフトウエアを配布する効率的かつ信頼性の高い方法。
【請求項２】
前記ネットワークは無線通信ネットワークである、
前記ネットワークエレメントはオペレーションサポートシステムエレメントであり、前記第２のネットワークエレメントと第３のネットワークエレメントのうちの少なくとも１つは移動サービススイッチセンターエレメントである請求項１に記載の方法。
【請求項３】
前記第２のネットワークエレメントと前記第３のネットワークエレメントは共にネットワークの同一の階層レベルに接続されている請求項１に記載の方法。
【請求項４】
前記ソフトウエアの少なくとも一部を前記第３のネットワークエレメントにローディングするステップは、さらに前記ソフトウエアを有する新しいモジュールをインストールするステップと、ソフトウエアを有する既に存在するモジュールをアップグレードするステップのうちの少なくとも１つを含む請求項１に記載の方法。
【請求項５】
前記ネットワークの少なくとも一部を解析し、
前記ネットワークの少なくとも一部のソフトウエアをローディングする必要性を決定し、
前記ネットワークの少なくとも一部に対する合計アップデート時間を短くするために当該ソフトウエアの配布スケジュールを立案するステップを含む請求項１に記載の方法。
【請求項６】
前記第１のメッセージは前記のソフトウエアと少なくとも１つのソフトウエア配布に関する指示を含み、前記ソフトウエア配布はソフトウエアの送信とソフトウエアのローディングの少なくとも一方に関するものである請求項１に記載の方法。
【請求項７】
前記ソフトウエアの配布に関連する少なくとも１つの指示は、前記第３のネットワークエレメントのアドレスを含む請求項６に記載の方法。
【請求項８】
前記ソフトウエア配布に関連する少なくとも１つの指示は、異常事象時の応答に関する少なくとも１つの指示を含む請求項６に記載の方法。
【請求項９】
前記ソフトウエア配布に関連する少なくとも１つの指示は、前記第２のメッセージを第２のネットワークエレメントから第３のネットワークエレメントに送信を実行する時刻に関する請求項６に記載の方法。
【請求項１０】
前記ソフトウエアの少なくとも一部を第３のネットワークエレメントにローディングするステップは、第１のネットワークエレメントと第２のネットワークエレメントのうちの少なくとも一方によってネットワークを介して送信されたコマンドに応答して実行される請求項１に記載の方法。
【請求項１１】
前記第２のメッセージはソフトウエアの配布に関する少なくとも１つの指示を含んでおり、前記ソフトウエアの配布はソフトウエアの送信とソフトウエアのローディングのうちの少なくとも一方に関するものである請求項１に記載の方法。
【請求項１２】
さらに、
前記第３のネットワークエレメントから第４のネットワークエレメントに対して第３のメッセージを送信し、当該第３のメッセージは第２のメッセージに応答して送信されるものであり、前記第３のメッセージは前記ソフトウエアの少なくとも一部を含み、
前記第２、第３及び第４のネットワークエレメントはすべて階層化されたネットワークの１つの層に接続されている請求項１に記載の方法。
【請求項１３】
さらに、
前記第２のネットワークエレメントから第４のネットワークエレメントに第３のメッセージを送信し、前記第１のメッセージに応答して第３のメッセージを送信し、前記第３のメッセージは前記ソフトウエア又はそれ以外のソフトウエアの少なくとも一部を含み、
前記ソフトウエア又は前記別のソフトウエアの少なくとも一部を第４のネットワークエレメントにローディングし、
前記第２と第３のネットワークエレメントは共にネットワークの１つの階層レベルに接続されており、前記第４のネットワークエレメントはネットワークの当該階層レベルには直接接続されていない請求項１に記載の方法。
【請求項１４】
さらに、
第１のメッセージとして受信したソフトウエアの少なくとも一部を、第１のメッセージに応答して前記第２のネットワークエレメントにローディングするステップを含む請求項１に記載の方法。
【請求項１５】
第１のネットワークエレメントから第２のネットワークエレメントに対して第１のメッセージを送信し、当該第２のネットワークエレメントは第１のネットワークエレメントに対して通信ネットワークの単一のサブネットワークを介して接続されており、当該第１のメッセージはソフトウエアを含み、
第２のネットワークエレメントから第３のネットワークエレメントに対して、第２のメッセージを送信し、当該第３のネットワークエレメントは通信ネットワークの単一のサブネットワークを介して第１と第２のネットワークエレメントに接続されており、前記第２のメッセージは第１のメッセージに応答して送信され、前記第２のメッセージは前記ソフトウエアの少なくとも一部を含み、
前記第２のメッセージに含まれる情報に少なくとも一部は基づいて、当該第３のネットワークエレメントに前記ソフトウエアの少なくとも１部をローディングするステップを含むネットワークにおいて効率的かつ高い信頼性をもってソフトウエアを配布する方法。
【請求項１６】
前記第１のメッセージが、前記ソフトウエアをローディングするためのファイル、当該ソフトウエアの１つ以上の部分を特定する指示、及びソフトウエアの配布又は起動に関するスケジュールの内から選択された１つを含む請求項１５に記載の方法。
【請求項１７】
第２のネットワークエレメントに対して第１のメッセージを送信することができる第１のネットワークエレメントと、
前記第１のネットワークエレメントと、前記第２のネットワークエレメントと第３のネットワークエレメントは当該ネットワークの共通のサブセットを介して通信を確立しており、
前記第２のネットワークエレメントは前記第１のメッセージを第１のネットワークエレメントから受信して、第２のメッセージを前記第３のネットワークエレメントに送信し、前記第２のメッセージは第１のメッセージに応答して送信され、前記第２のメッセージはソフトウエアを含み、
前記第３のネットワークエレメントは第２のメッセージの一部として受信したソフトウエアの少なくとも一部をローディングする、ネットワークにおいて効率的にかつ高信頼性をもってソフトウエアを配布するシステム。
【請求項１８】
前記ネットワークは無線通信システムであり、
前記第１のネットワークエレメントはオペレーションサポートシステムネットワークエレメントであり、前記第２と第３のネットワークエレメントのうちの少なくとも１つは移動サービススイッチセンターネットワークエレメントである請求項１７に記載のシステム。
【請求項１９】
前記ソフトウエアの少なくとも一部の第３のネットワークエレメントによるローディングは、さらに、当該ソフトウエアを有する新しいモジュールのインストール又は当該ソフトウエアを有する既に存在するモジュールのアップグレードを含む請求項１７に記載のシステム。
【請求項２０】
前記第１のネットワークエレメントはさらに、
前記ネットワークの少なくとも一部を解析し、
当該ネットワークの少なくとも一部のソフトウエアローディングに関する必要性を決定し、
前記ネットワークの少なくとも一部に対してソフトウエアをアップデートするために必要な相似間を短くするために配布スケジュールを立案する機能を有する請求項１７に記載のシステム。
【請求項２１】
前記第１のメッセージは前記のソフトウエアと少なくとも１つのソフトウエア配布に関する指示を含み、前記ソフトウエア配布はソフトウエアの送信とソフトウエアのローディングの少なくとも一方に関するものである請求項１７に記載のシステム。
【請求項２２】
前記ソフトウエアの配布に関連する少なくとも１つの指示は、前記第３のネットワークエレメントのアドレスを含む請求項２１に記載のシステム。
【請求項２３】
前記ソフトウエア配布に関連する少なくとも１つの指示は、異常事象時の応答に関する少なくとも１つの指示を含む請求項２１に記載のシステム。
【請求項２４】
前記ソフトウエア配布に関連する少なくとも１つの指示は、前記第２のメッセージを第２のネットワークエレメントから第３のネットワークエレメントに送信を実行する時刻に関するものである請求項２１に記載のシステム。
【請求項２５】
前記ソフトウエアの少なくとも一部を第３のネットワークエレメントにローディングするステップは、第１のネットワークエレメントと第２のネットワークエレメントのうちの少なくとも一方によってネットワークを介して送信されたコマンドに応答して実行される請求項１７に記載のシステム。
【請求項２６】
前記第２のメッセージはソフトウエアの配布に関する少なくとも１つの指示を含んでおり、前記ソフトウエアの配布はソフトウエアの送信とソフトウエアのローディングのうちの少なくとも一方に関するものである請求項１７に記載のシステム。
【請求項２７】
前記第３のネットワークエレメントから第４のネットワークエレメントに対して第３のメッセージを送信し、当該第３のメッセージは第２のメッセージに応答して送信されるものであり、前記第３のメッセージは前記ソフトウエアの少なくとも一部を含み、
前記第２、第３及び第４のネットワークエレメントはすべてネットワークのサブセットを介して接続が確立されている請求項１７に記載のシステム。
【請求項２８】
前記第２のネットワークエレメントから第４のネットワークエレメントに第３のメッセージを送信し、前記第１のメッセージに応答して第３のメッセージを送信し、前記第３のメッセージは前記ソフトウエア又はそれ以外のソフトウエアの少なくとも一部を含み、
前記ソフトウエア又は前記別のソフトウエアの少なくとも一部を第４のネットワークエレメントにローディングし、
前記第２と第３のネットワークエレメントは共にネットワークの１つの階層レベルに接続されており、前記第４のネットワークエレメントはネットワークの前記サブセットを介して第１のネットワークエレメントには直接接続されていない請求項１７に記載のシステム。
【請求項２９】
第１のメッセージとしてネットワークのサブセットを介して受信したソフトウエアの少なくとも一部を、第１のメッセージに応答して前記第２のネットワークエレメントにローディングする請求項１７に記載のシステム。
【請求項３０】
前記ネットワークエレメントはファイルストアとロードマネジャーを具備し、
前記第２と第３のネットワークエレメントそれぞれローカルな記憶媒体とロードエージェントを具備する請求項１７に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の背景】
発明の属する技術分野
本発明は一般的にはネットワークによって接続された演算エレメントに関し、特に、ネットワークに収容された個々のエレメントにソフトウエアをローディング（たとえば、インストール又はアップグレード）させるための、効率的で部分的には自発的なソフトウエアの配布方法に関するものである。
【０００２】
関連技術に関する記述
今日のコンピュータ環境において、コンピュータソフトウエアは急速に変化しつつある。新しいプログラムが紹介され、古いプログラムは常に改良されている。このため、競争力を維持するためには頻繁にコンピュータエレメントにソフトウエアをローディングしなければならないということが起きる。ソフトウエアをローディングするとは新しいソフトウエアのインストールおよび／または既に存在するソフトウエアのアップグレートを含むものである。従来は、オペレータが実際にそれぞれのコンピュータの場所に出向いてソフトウエアのローディング作業を行っていた。
【０００３】
コンピュータがネットワークで接続されるようになると、中央のコンピュータからネットワークを通じて個々のコンピュータエレメントにソフトウエアをローディングすることが可能である。通信ネットワークのネットワークエレメント（ＮＥｓ）に具備されたコンピュータ装置は、ソフトウエアの遠隔ローディングを行うことができる種対のコンピュータの一種である。実際、遠隔搭載はＮＥｓに既にローディングされているソフトウエアをアップグレードしたりアップデートする際にキーとなる要素であると考えられている。通信ネットワークのオペレータにとっては、例えば、スイッチや基地局についてソフトウエアの遠隔ローディングを利用するという利益がある。利点の一つは、現存するネットワークに新規な特性をより早く導入することができ、したがってオペレータの処理能力を増大することができる。したがって、ネットワーク装置とアップグレードサービスの提供者は、共に処理能力を増大させることができる。
【０００４】
スイッチ、ＢＳや他のＮＥｓの遠隔ソフトウエアローディング作業を行う際には、関連するソフトウエア情報を有する大きなファイルが遠隔サイトから地理的に隔たった各ＮＥｓに転送される。遠隔サイトは、それぞれのＮＥｓに対して（物理又は論理）データ通信リンクを使用する。アップグレート過程において、例えば、アップグレードに必要なソフトウエアを収容したファイルが遠隔サイトのローカルファイルストア（ＦＳ）空通信リンクを解して配布される。ファイルは、複数のＮＥに配布されて、そこでファイルはローカル記憶媒体（ＬＳＭ）（例えば、エリクソン社のＡＸＥ入力・出力部のような入出力グループ（ＩＯＧ））に格納される。
【０００５】
配布を開始する時刻は、配布をシーケンシャルに行うべきか（１つ又は複数の物理接続を利用して）並列的に行うべきかに関する情報と共に特定されている。ファイルが相手に転送された後に、遠隔サイトは対象ＮＥｓに対して命令（例えば、マン−マシン言語（ＭＭＬ）コマンド）を送って新しいソフトウエアを実行させる。遠隔サイトは、遠隔ローディングをサポートする（例えば、ファイル転送と命令の取り扱いに関するサポート）オペレーティングサポートシステム（ＯＳＳ）を有していても良い。
【０００６】
上述の手順によって遠隔地からのソフトウエアローディングが可能であるが、この方法は十分な耐性を有していない。例えば、遠隔ローディングにはしばしば、容量の小さなリンクを介して大量のデータを転送する必要が生じる。さらに、遠隔ローディングのすべての制御は１つの制御局（例えば、ＯＳＳ）に集中し、リンクは中央制御局（ＣＭＳ）と対称ＮＥｓとの間の単一の（又は幾つかの）リンクに集中している。したがって、ローディング過程において、ＣＭｓとそのリンクは転送の容量と信頼性に関してどちらも極めて重要である。例えば、物理的又は論理的な損傷又は容量オーバーによってこれらの一方でも機能を喪失すると、ソフトウエアの配布はすべて無効になる。
【０００７】
【発明の要旨】
上述の従来技術の課題は本発明による方法とシステムによって解決することができる。例えば、従来は認識されていなかったが、ソフトウエアのローディングが、ＣＭＳとネットワークの他の部分のクリティカルなリンクが切断された後にもソフトウエアのローディングを継続することができれば効果がある。ソフトウエアのローディングをネットワークに属するＮＥの間で拠出して１つのＮＥ（又は複数のＮＥ）が他のＮＥ（又は他の多くのＮＥｓ）にたいしてソフトウエアを提供して、場合によってはさらにその後にそのＮＥ（又は多くのＮＥｓ）にソフトウエアをロードさせることができれば利益がある。
【０００８】
ネットワークの方法とシステムは、少なくとも部分的に、ソフトウエアのローディングに関する責任を分担することによってソフトウエアを効率的かつ高信頼性の下で配布することができる。ネットワークは例えば、１つのＣＭＳと複数のＮＥを収容している。ＣＭＳと複数のＮＥｓはネットワークの階層に１つのレベルに直接接続されているものであっても良い。本発明の１つの実施例にしたがえば、ＣＭＳは少なくとも１つのＮＥに対して、ソフトウエアをロードさせるためにソフトウエアローディング指示を送信する。当該少なくとも１つのＮＥは次に、他のＮＥｓに対して当該ソフトウエアをローディングさせるためにソフトウエアと命令の両方を送る。したがって、ネットワークの全体に対してソフトウエアのローディングを完了するまでの時間が最小化される。
【０００９】
他の実施例の場合には、ＣＭＳは、ネットワーク部の一部又はネットワークの全体を通じてソフトウエアのローディング（例えば、新規なソフトウエアのインストール、既に存在するソフトウエアのアップグレード等）を制御するロード制御装置（ＬＭ）を具備する。各ＮＥはさらに、ＬＭからソフトウエアと指示を受信するロードエージェント（ＬＡ）を具備する。この種のＮＥｓは、ＣＭＳから直接ソフトウエアを受信するものは１次ＮＥｓと称する。１次ＮＥｓのＬＡは次に指示を受け入れ、対応するＬＡｓを経由して他のＮＥｓ（たとえば２次ＮＥｓ）に対するソフトウエアのローディングを制御する。２次ＮＥｓは同様の方法によって３次ＮＥｓに対して、さらに３次ＮＥｓに直接接続されている下位のＮＥ（Ｓ−ＮＥｓ）に対してソフトウエアをロードする。配布の過程はＣＭＳによる計画に従って多くの段階を経て行われる。
【００１０】
さらに別の実施例にしたがえば、ネットワークはやはり複数のＳ−ＮＥｓを具備する。単一のＳ−ＮＥ（ｓ）またはＳ−ＮＥｓのグループがネットワークの階層構造上でサブオーディネートのレベルで１つのＮＥに接続されている。各ＮＥは、ソフトウエアに含まれている指示、またはＣＭＳから受信された指示に従って直接接続されているＳ−ＮＥ（ｓ）に対してソフトウエアをロードさせる。特定のＮＥに接続されたＳ−ＮＥ（ｓ）に対するソフトウエアのローディングは当該特定のＮＥが他のＮＥをアップデート前後あるいは同時に行われる。
【００１１】
さらに別の実施例によれば、ＬＭは対象とするＮＥのＬＡに対して、ロードすべきソフトウエアに加えて（さらに、場合によってはソフトウエアをロードすべき指示を含むファイルに加えて）、他のＮＥｓに対してソフトウエアをすべてあるいは部分的にロードする指示を送る。当該指示には、ローディングに関する多くの選択事項が含まれる。これらの選択事項には例えば、（１）２次、３次等の対象ＮＥｓのアドレス、（２）ソフトウエアのローディングと起動のために予定されている時間、及び（３）受信したソフトウエアのうちノードの部分を他のＮＥｓやＳ−ＮＥｓに転送すべきかに関する記述が含まれる。
【００１２】
本発明の重要な技術的利点は、ソフトウエアのローディングの基点を複数も受けることによって信頼性が高く効率のよいソフトウエアの配布が可能になることである。
【００１３】
本発明の他の技術的な利点は、ちゅうしんとなるＬＭのソフトウエアローディングの責任を軽減しネットワークの不具合に対応することができるＮＥｓのＬＡｓを提供することである。
【００１４】
本発明のさらに別な技術的利点は、ＮＥｓに対して配布の１つの段階で単純又は詳細な設定を提供し、配布の次の段階ではこれを使用し、場合によっては配布全体を通じてこれを使用する能力が提供されることである。
【００１５】
本発明に関する上述の特徴及び他の特徴は添付の図面を参照して貴下の発明の詳細な説明において記述する。添付の実施例が理解を助けるための例示であって例示されたもの以外に多くの等価な実施例が存在することは、当業者には理解されるはずである。
本発明にかかる方法とシステムのより完全な理解が、図面と以下の発明の詳細な説明によって得られるはずである。
【００１６】
本発明の好ましい実施例とそれらの利点は添付の図１〜図４Ｃを参照することで最もよく理解される。これらの図においては、同じ又は対応する部分に対しては複数の図面を通じて同じ番号を付番した。
【００１７】
本発明に基本概念はネットワーク一般に適用することができるものである。しかし、これに限定する趣旨ではないが、本発明の特定の側面について無線通信システムとの関係において記述することにする。例えば、無線ネットワークシステムの有線部分（移動サービススイッチングセンター（ＭＳＣｓ）、ＢＳｓ等）についても実施例で参照している。より具体的には、日本のパーソナルデジタルセルラーシステム（ＰＤＣ）（ＲＣＲ ＳＴＤ−２７ｆ）（従来日本デジタルセルラーシステム（ＪＤＣ）と称していたもの）を利用して本発明の実施例について記述する。
【００１８】
図１Ａは、従来のソフトウエアローディング過程を図示したものである。無線通信ネットワーク１は通信リンク１５を介してネットワーク２０に接続されたＣＭＳノード１０を有する。４つのＮＥノード３０、４０、５０と６０がそれぞれ通信リンク３５、４５、５５と６５とを介してネットワーク２０に接続されている。ＣＭＳノード１０からＮＥノード３０、４０、５０と６０に対してソフトウエアをロードするときは、ＣＭＳノード１０は通信リンク１５を介してネットワーク２０に対してソフトウエアを送信し、次に通信リンク３５、４５、５５と６５を介してＮＥノード３０、４０、５０と６０に対してソフトウエアを送信する。各送信を線で示す。ジグザグの線、１点鎖線、点線と鎖線はそれぞれのＮＥノード３０、４０、５０と６０に対する送信を表す。そうするとウエアのローディングはそれぞれＣＭＳノード１０によって制御され、単一のクリティカル通信リンク１５を介して送信される。
【００１９】
本発明は好ましくは、（ｉ）ＣＭＳノードの故障か又はＣＭＳノードとネットワークを接続している通信リンクの故障の影響を小さくするためと、（ｉｉ）ソフトウエアローディングに必要な相似関数を最小化するために、ソフトウエアローディングの責任を分担する。図１Ｂは、本発明の１つの実施例に基づき、ネットワークを使用したソフトウエアの配布とローディングの過程を図示したものである。ネットワーク１２０に対して通信リンク１１５を介して接続されているＣＭＳノード１１０を有する無線通信ネットワーク１００が例示されている。４つのＮＥノード１３０，１４０，１５０と１６０が通信リンク１３５，１４５，１５５と１６５を介してネットワーク１２０に接続されている。ＣＭＳノード１１０からＮＥノード１３０、１４０、１５０と１６０にソフトウエアをロードするときは、ＣＭＳノード１１０はソフトウエア配布の責任を分担するため日本発明の概念を利用する。本発明にしたがって、ＣＭＳノード１１０の１つのＬＭと各ＮＥノード１３０、１４０、１５０と１６０のＬＡｓが図示されている；これらについては以下に詳細に説明する。説明を簡潔にするために４つのＮＥノードを図示したが、通信ネットワーク１００には他に多くのノードが収容されていてもよい。
【００２０】
ロードすべきソフトウエアとそれに伴う指示（もし有れば）はそれぞれ線で図示した。ジグザグの線、１点鎖線、点線及び破線が書くＮＥノード１３０、１４０、１５０と１６０への通信を示す。ＣＭＳノード１１０はソフトウエアと、さらに別のＮＥノードに対してローディングを行うべき旨の指示を含む第１の割り振り情報を、ネットワーク１２０への通信リンク１１５を介してＮＥノード１６０に、次に通信リンク１６５と介してＮＥノード１６０に送付する。この送信を破線で示す。ＮＥノード１６０は第１の割り振り情報を解釈してそれに対応する指示を埋め込む。
【００２１】
まず、ＮＥノード１６０は第１の割り振り情報に応答して、ロードすべきソフトウエアをＮＥノード１５０にネットワーク１２０への通信リンク１６５を介して送信し、つぎにＮＥノード１５０に対して通信リンク１５５を介して送信する。この通信は点線で示す。第２に、ＮＥノード１６０は、ロードすべきソフトウエアと第２の割り振り情報（異なる指示を含む）をネットワーク１２０への通信リンク１６５を介してＮＥノード１４０に送信し、次に通信リンク１４５を介してＮＥノード１４０に送信する。この送信を１点鎖線で示す。第３に、ＮＥノード１４０は、第２の割り振り情報を解釈して次にこれに対応する指示を埋め込む。ＮＥノード１４０は、第２の割り振り情報に従って、ロードされるべきソフトウエアをネットワーク１２０への通信リンク１４５を介してＮＥノード１３０を送信し、次に通信リンク１３５を介してＮＥノード１３０に送信する。この通信をジグザグの線で示す。上述の例では、ＮＥノード１６０は、ＣＭＳノード１１０から直接ソフトウエアを受け取るので、１次的な目標である。したがって、ＮＥノード１４０と１５０は、２次目標であり、ＮＥノード１３０は３次の目標である。
【００２２】
ＣＭＳノード１１０は、例えば、ＮＥノード１６０に加えて、第２、第３等のノードに次々煮ソフトウエアを送信（さらに場合によっては割り振り情報を送信）しても良いことに注意する必要がある。本発明の場合には、ローディングの順序が上述のとおりでなければならない制限はないので、ソフトウエアのローディングを行う順序は何れでも良いことにも注意が必要である。例えば、ＮＥノード１６０に対して（第１の割り振り情報において）ソフトウエアをＮＥノード１５０に対して送信する前に、ソフトウエアと第２の割り振り情報をＮＥノード１４０に送信すれば、上述の手順に比較してネットワーク全体のローディングに要する時間を短くすることができる。結果として、ＮＥノード１６０と１４０は、ＮＥノード１５０と１３０に対するソフトウエアのローディングを同時に行わせることになる。さらに、以下に詳細に説明するように、最近ローディングされたソフトウエアを起動するコマンドに関する指示もまた送信してＮＥノードに格納させることもできる。本発明に基づく、複数のＮＥノードにおけるソフトウエアのローディングは故障する可能性を有するクリティカルノードや通信リンクに依存せずに同時に実行することもできる。
【００２３】
図２は、本発明の他の実施例に基づく無線通信ネットワークを示すものである。例示した無線通信ネットワーク１００では、２つの追加のＮＥノードつまりＮＥノード１７０と１８０がそれぞれ通信リンク１７５と１８５を介して通信ネットワーク１００の１つの階層化された層としてネットワーク１２０に接続されている。同様に、Ｓ−ＮＥノード１７２が通信リンク１７３ＮＥノード１７０に接続されており、Ｓ−ＮＥノード１８２，１８４と１８６が通信リンク１８３，１８５、１８７をそれぞれ通じて通信ネットワーク１００の下位の階層レベルでＮＥノード１８０に接続されている。Ｓ−ＮＥノードの１つ又は複数がＮＥノードを介してではなく直接Ｘ．２５ネットワークに接続されていても良いことに注意する必要がある。
【００２４】
例示した無線通信ネットワーク１００では、ネットワーク１２０が、機知の通信プロトコルで制御されるＸ．２５ネットワークの例である。Ｘ．２５ネットワークは公衆用又はプライベート用である。擬似的回路（ＶＣｓ）（例えば、スイッチと擬似回路（ＳＶＣｓ）及び／または恒久擬似回路（ＰＶＣｓ））が、ＮＥノードからいずれかの他のＮＥノードまで、およびＣＭＳノード１１０からいずれかのＮＥノードまでＸ．２５ネットワーク内において形成されても良い。ＣＭＳノード１１０は、例えば、ＯＳＳである。ＮＥノード１３０、１４０、１５０、１６０、１７０と１８０は例えば、ＭＳＣであり、Ｓ−ＮＥノード１７２、１８２、１８４と１８６は例えば、小型ＢＳｓであっても良い。ＣＭＳノード１１０はＦＳ２１５を含み、各ＮＥノード（１３０、１４０、１５０、１６０、１７０と１８０）は、ＬＳＭ（それぞれ２３５、２４５、２５５、２６５、２７５と２８５）を含む。ＦＳ２１５とＬＳＭｓは揮発性記憶素子（例えばＲＡＭ）および／または不揮発性の記憶素子（例えば、独立ディスクの冗長アレイ（ＲＡＩＤ））であっても良い。通信ネットワーク１００を介して配布されてＮＥノードにロードされるソフトウエア（及び関連データ）は、ＦＳ２１５に格納される。ソフトウエアは、例えば、一組の完全なプログラム、単一のプログラム、モジュール又はサブルーチンであっても良い。
【００２５】
本発明に基づくアプリケーションは無線通信通信ネットワーク１００の種々のノードに収容される。ＬＭ２１０アプリケーションはＣＭＳノード１１０に存在する。ＬＡ（２３０、２４０、２５０、２６０、２７０及び２８０）アプリケーションは、各ＮＥノード（１３０、１４０、１５０、１６０、１７０と１８０）に設けられる。各アプリケーションとは、ソフトウエア、ファームウエア、ハードウエア等又はこれらの組み合わせである。同様に、各アプリケーション半オードの記憶素子の揮発性又は不揮発性の部分に格納されていることができる。ＬＡｓはネットワーク１２０を通じてＮＥノードにまずダウンロードされ、ＣＭＳノード１１０の制御の下で（ＬＭ２１０を使用して）インストールされることができる。
【００２６】
図３は、本発明に基づくソフトウエア配布に関連する情報を示すものである。情報は全体として番号３００とそれに対する括弧で示す。エレメント番号３１０と対応するカッコはソフトウエアローディングに関連するファイル（単数又は複数）３１０を示すものである。ソフトウエアローディングに関連するファイル３１０の一部である、ソフトウエア３１５はネットワーク１００の全体又は一部を通じて配布（例えば、送信されロード）されるべきソフトウエアである。さらに１つ以上のロードスクリプト／ロードモジュール３２０が含まれる。ロードスクリプトとは、ソフトウエアのロードの方法を記述して一連又は一群の指示の集合である。ロードモジュールとは、これに対して、ソフトウエア３１５をロードするために実行される実行可能なファイルである。「ロードファイル］という用語は、少なくともロードスクリプトとロードモジュールを含む意味の用語である。しかし、ロードスクリプトは個々では簡潔な説明のために特に制限をせずに使用する。ソフトウエア３１５とロードスクリプト３２０はネットワーク１００の収容されるＣＭＳノードのＦＳ２１５内に位置するＣＭＳノード１１０（以下にＣＭＳ１１０と称する）のＦＳ２１５に収容されていても良い。ＣＭＳノード１１０はしたがってソフトウエア３１５とロードスクリプト（３２０を通信リンク１１５を介してＬＭ２１０の制御の元に送信するものであっても良い。
【００２７】
上述のように、ソフトウエアのローディングに関連するファイル３１０がＣＭＳ１１０からネットワーク１２０を通じて特定のＮＥでローディングのために送信されている間、割り振り情報３３０がその同じＮＥに対して送信されて、当該ＮＥが次に他のＮＥｓに対してソフトウエア３１５の全体又は一部をロードさせるようにする。割り振り情報３３０はネットワーク１００を通じてソフトウエアローディングの責任をどのように配分するかを特定するものである。指示はソフトウエア及び／またはソフトウエアの部分３３５を特定し、第２の配布段階において２次的ＮＥに対して、１次配布段階においてＣＭＳ１１０から直接ソフトウエアローディング関連ファイル３１０と割り振り情報３３０を受信した１次ＮＥから、ソフトウエア３１５のどの部分を配布すべきかを特定する。
【００２８】
本発明の基本的な考え方を添付の図面と共に強調するために例を挙げた。以下に述べる実施例は本発明を制限するものと解釈してはならない。上述のように、１次ＮＥは、ＣＭＳ１１０の制御、ガイド又は指示の下でソフトウエアがアップデートされるものであれば、どのＮＥであってもよ良い。２次ＮＥは、１次ＮＥの直接の制御、ガイド又は指示の下でソフトウエアがアップデートされるものであれば何れのＮＥであってもよい。３次ＮＥはしたがって、２次ＮＥの制御、ガイド、又は指示の下でソフトウエアがロードされるいずれかのＮＥである。
【００２９】
この例では、ＣＭＳ１１０がソフトウエア等を１次ＮＥｓ１３０、１６０と１８０に対して、ソフトウエアの第１段階目の配布として送信する。「等」とは、それぞれの配布に関連して以下に詳細に述べるように、ソフトウエアローディング関連ファイル３１０の種々のコンポーネントおよび／または割り振り情報３３０である。１次ＮＥ１６０はソフトウエア等を２次ＮＥ１５０に対して、配布の第２の段階で送信する。配布の第２段階では、１次ＮＥ１８０はソフトウエア等を２次ＮＥｓ１４０と１７０およびＳ−ＮＥｓ１８２と１８４に対して送信する。配布の第３の段階では、２次ＮＥ１７０がソフトウエア等をＳ−ＮＥ１７２に対して送信する。さらに、この配布の例では、ソフトウエア３１５はＡ部とＢ部とを有する。第３のＮＥｓはこの例には含まれていないが、本発明の基本概念について理解した当業者であれば、さらに多くの配布段階を設けることができることを理解するはずである。
【００３０】
（図３に示した）割り振り情報３３０は、対象エレメント３４０のアドレスを含むことができる。ネットワーク１２０のアドレス及び特定された対象エレメント３４０のアドレスは、例えば、Ｘ．２５ネットワークのアドレスであっても良い。対象エレメント３４０のアドレスはどのＮＥ、場合によってはＳ−ＮＥ、がソフトウエアローディング過程の対象になっているかを特定する。例えば、この実施例にしたがってＣＭＳ１１０がソフトウエアローディング関連ファイル３１０と割り振り情報３３０をＮＥ１８０に対して送信するとき、対象エレメント３４０のアドレスはＮＥ１４０のアドレスとＮＥ１７０のアドレスを含んでいても良い。これらはＮＥ１８０の２次対象だからである。さらに、Ｓ−ＮＥはこの例の場合にはソフトウエアローディング過程の対象なので、対象エレメント３４０のアドレスは、Ｓ−ＮＥｓ１８２と１８４を含んでいても良い。さらに、Ｓ−ＮＥｓ１８２と１８４は、ソフトウエア及び／またはソフトウエアの部分３３５を特定する指示のデータ／指示にしたがって、ソフトウエア３１５のＢ部だけを含むものであっても良い。
【００３１】
割り振り情報３３０はスケジュール情報３４５を含むものであっても良い。モジュール情報３４５は、（ｉ）配布と、（ｉｉ）従前のソフトウエアから最近配布されたソフトウエア３１５への変更コマンド（例えば、最近配布されたソフトウエア３１５を起動するもの）の両方に関するタイミングパラメータを含む。さらにこの例に基づけば、スケジュール情報３４５の配布タイミングの側面は、ＮＥ１８０がソフトウエア関連ファイル３１０をＮＥ１７０とＮＥ１４０に対して、所定の日の午後２時に送信しなければならないことを特定するものであっても良い。スケジュール情報３４５の変更コマンドはさらに、ＮＥ１８０がＮＥ１７０とＮＥ１４０に対して、翌日の午前３時にコマンドを送信することを特定し、例えば、その次にＮＥ１７０とＮＥ１４０は従来のソフトウエアから前日の午前２次に受信したソフトウエアに切り替えることを指定する。本発明のすべての実施例においてコマンドが必要なわけではないことを理解する必要がある。例えば、ソフトウエア３１５を起動する指示は例えばロードスクリプト３２０に含まれていても良い。
【００３２】
割り振り情報３３０はさらに例外次章３５０に対する予定された応答の形で、異常な状態に対する応答を含むこともできる。上述の例に引き続き基づけば、例外次章３５に対する予め予定された応答は、例えば、ＮＥ１７０に接続できないときにＮＥ１８０がどのように応答すべきかを含むものである。もし、ＮＥ１７０がソフトウエアローディング関連ファイル３１０をＮＥ１８０から受信したことを公定する応答を返信してこなければ、ＮＥ１８０は（異常事象３５０に対する予め予定された応答にしたがって）ソフトウエアローディング関連ファイル３１０をその翌日及び／または予め設定された回数だけ送付を試みることができる。さらに、異常事象３５０に対する予め設定された応答は、ＮＥ１８０に対して、ＮＥ１４０が新たに受信した新しいソフトウエア３１５に切り替えた後に不具合を生じたときにどうするべきかについての指示を含むことができる。ソフトウエア３１５を起動した後でＮＥ１４０がクラッシュ又は機能未問題を生じたとき、ＮＥ１８０はＮＥ１４０に対して前のバージョンのソフトウエアに戻るように（あるいは単にソフトウエア３１５が新しいモジュールであって旧版の単なるアップデートや差し替えでない場合には、ソフトウエア３１５の使用を停止するように）指示しても良い。
【００３３】
図４Ａは、図示した本発明の１つの側面に従ってソフトウエアの配布を行う手順をフローチャートにして示したものである。フローチャート４１０は、ＣＭＳ１１０に関連するソフトウエアの配布を示すものである。最初に、ＣＭＳ１１０はネットワーク１００全体又はその関連部分を解析して、ソフトウエアローディング要件を決定する（ステップ４１２）。ＣＭＳ１１０は、ソフトウエア３１５のどの部分がネットワーク１００に含まれるどのノードに配布されるべきかを決定する（例えば、現在の例に従えば、ソフトウエア３１５のＢ部がＳ−ＮＥ１８２と１８４に配布される）。
【００３４】
ＣＭＳ１１０はネットワーク１００全体のソフトウエアアップデート時間を最も短くするためにソフトウエア配布のスケジュールを決定することもできる（ステップ４１４）。例えば、同様なソフトウエアを既に有しているネットワークノードはグループとして一括してアップグレードすることもできる。グループとしてのネットワークノードのアップグレードは、この場合、特定のソフトウエア構成を有する第１のネットワークノードが、均等又は同一のソフトウエア構成を有する第２のネットワークノードをアップグレードすることを意味する。別の例では、ネットワーク１００は、セグメント又はエリアに分割されている。各セグメント又はエリアは個別に解析され、ソフトウエアローディング過程の効率はそのそれぞれに対して最大化される。さらに別の例では、ソフトウエアローディング過程は、各ＮＥがソフトウエア配布の各段階で他のＮＥをアップデートする。換言すれば、ＣＭＳ１１０は第１の段階で第１のＮＥにソフトウエアをロードさせる、第２段階では、第１のＮＥが第２のＮＥにソフトウエアをロードさせる。第３段階では、第１と第２のＮＥが第３と第４のＮＥにソフトウエアをダウンロードさせる。第４の段階では、第１、第２第３と第４のＮＥが第５、第６、第７及び第８のＮＥにそれぞれソフトウエアをダウンロードさせる。結果として、段階が進むにつれてソフトウエアがロードされるノードの数は倍増する。したがって、最終的な段階では、ネットワークノードの半分（ソフトウエアをロードしなければならないノードの半分）が同時にソフトウエアのロードを行うことになる。（ＣＭＳノードも各段階でソフトウエアをローディングさせることに加わって、全体としてのソフトウエアローディング時間を短縮することもできる。）
【００３５】
図４Ａではさらに、ＣＭＳ１１０が１つ以上の割り振り情報を作成する（ステップ４１６）。各割り振り情報は図３で括弧で示した割り振り情報３３０に対応している。ＣＭＳ１１０は次にソフトウエア３１５を送信し、ソフトウエアロードスクリプト（および／またはロードモジュール）３２０と１つ以上の割り振り情報３３０を１次ＮＥに送信する（ステップ４１８）。この例の場合には、この１次ＮＥはＮＥ１３０、１６０と１８０が対応する。ＣＭＳ１１０は、ＬＭ２１０の制御の下で、ソフトウエアローディング関連ファイル３１０と場合によっては割り振り情報３３０をＦＳ２１５から取り出す（例えば、さもなければ実時間で作成しても良い）。ＬＭ２１０は次に、エレメント番号３００で呼ばれるエレメントの選択された部分（又は全体）と対応するブラケットを通信リンク１１５を通じてＸ．２５ネットワーク１２０に対して、次に通信リンク１３５、１６５と１８５を通じてＮＥ１３０、１６０とＮＥ１８０に対して送信する。
【００３６】
図４Ｂは、本発明の別の側面に従ったソフトウエアの配布方法を示すフローチャートである。フローチャート４３０は、ＣＭＳ１１０から１次ＮＥへのソフトウエア、他の情報及び指示の受信と組み込みに関連するソフトウエアの配布を示したものである。１次ＮＥはソフトウエア３１５、ソフトウエアロードスクリプト３２０と割り振り情報３３０をＣＭＳ１１０から対応するＬＡを介して受信する（ステップ４３２）。この例では、ＮＥ１３０、ＮＥ１６０とＮＥ１８０がネットワーク１２０と関連する通信リンクを使用してそれぞれＬＡ２３０、ＬＡ２６０とＬＡ２８０から集合的に（例えば、図３に示したエレメント３００の全体又は部分）ソフトウエア配布情報を受信する。ソフトウエア３１５とロードスクリプト３２０は次に対応する各ＮＥに格納される（ステップ４３４）。本発明の場合には、ＮＥ１３０、ＮＥ１６０とＮＥ１８０はソフトウエア関連ファイルをＬＳＭ２３５、ＬＳＭ２６５とＬＳＭ２８５にそれぞれ格納する。別な方法では、各ＮＥは（そのような指示があった場合には）、ロードスクリプトおよび／またはロードモジュール３２０とをすぐに組込み、したがって即座にソフトウエア３１５をローディングする（層指示された場合にはさらにこれらに切り替える）。
【００３７】
１次ＮＥはそれぞれ対応する受信割り振り情報３３０を解析する（ステップ４３６）。割り振り情報３３０に対応して、１次ＮＥはソフトウエア３１５（又はその部分）、ロードスクリプト３２０、及び割り振り情報３３０を２次ＮＥに対して送信する（ステップ４３８）。１次ＮＥから２次ＮＥに対して送信された割り振り情報３３０は、解析によって決定されても良い。この例では、１次ＮＥ１６０は２次ＮＥ１５０に対して処理を行い、１次ＮＥ１８０は２次ＮＥ１４０と１７０に対して処理を行う。以下に詳細に説明するように、図４Ｃに従って、配布過程は交互に又は同時に行われる。
【００３８】
１次ＮＥは、受信した割り振り情報３３０にしたがって、ソフトウエア３１５とローディングスクリプト／モジュール３２０の全体又は部分を対応するＳ−ＮＥに対して送信することもできる（ステップ４４０）。この例では、１次ＮＥ１８０はＳ−ＮＥ１８２と１８４」に対してこのステップを実行する。１次ＮＥはさらに場合によってはその２次対象ＮＥおよび／または対応するＳ−ＮＥに対して１つ又はそれ以上のコマンドを送信することもできる（ステップ４４２）。コマンドは、ローディングスクリプト／モジュール３２０を起動して、その前に受信したソフトウエア３１５をロードする（例えば、インストールおよび／またはアップグレードし、あるいは切り替える）こともできる。ソフトウエアのローディングは、例えばローディングスクリプト／モジュール３２０の指示に従って、即座に、又は受信の少し後に、あるいはスケジュールで決められた時刻に自動的に実行することもできることに注意されたい。この例の場合には、１次ＮＥ１６０と１８０はその２次対象に対してコマンドを送信してソフトウエアの切替を指示することもできる。
【００３９】
図４Ｃは、本発明のさらに別の側面に基づくソフトウエアの配布方法を示すフローチャートである。フローチャート４６０は、１次ＮＥから２次ＮＥに対するソフトウエア、他の情報及び指示の受信と組込みに関連するソフトウエア配布の側面を示したものである。２次ＮＥはソフトウエア３１５、ソフトウエアロードスクリプト３２０、と割り振り情報３３０を１次ＮＥ（たとえば１次ＮＥの対応するＬＡ）から、対応するＬＡを介して受信する（ステップ４６２）。この例では、ＮＥ１４０、ＮＥ１５０とＮＥ１７０が、ＮＥ１８０、ＮＥ１６０とＮＥ１８０からそれぞれ受信する。もし、特定の２次ＮＥが他のＮＥ（下位又はその他のＮＥ）のソフトウエアローディングを取り扱わなければ（制御、ガイド又は指示しなければ）、割り振り情報３３０は当該特定の２次ＮＥに対しては与えられない。
【００４０】
受信されたソフトウエア３１５とローディングスクリプト／モジュール３２０は２次ＮＥの記憶媒体に格納することができる（ステップ４６４）。この例の場合には、ＮＥ１４０、ＮＥ１５０、ＮＥ１７０が受信した情報をＬＳＭ２４５、ＬＳＭ２５５とＬＳＭ２７５にそれぞれ格納する。２次ＮＥは次に受信した割り振り情報３３０を解析する（ステップ４６６）。解析した後、２次ＮＥはソフトウエア３１５、ローディングスクリプト／モジュール３２０と割り振り情報３３０を３次ＮＥに対して送信する（４６８）。この例の場合には、３次ＮＥに相当するＮＥはないのでこのステップは実施されない。２次ＮＥ１５０がソフトウエアをロードさせるＮＥは何れも３次ＮＥである。フローチャート４３０と４６０を延長して、例えば３次ＮＥがさらに対象となるＮＥ（下位のＮＥ等）を有するように、ソフトウエアの配布が３段以上の段階で実行されるように拡張することができることに留意する必要がある。
【００４１】
２次ＮＥはソフトウエア３１５とローディングスクリプト／モジュール３３２０の全体又は一部を対応するＳ−ＮＥの１つ又はそれ以上に対して（受信した割り振り情報３３０に基づいて）送信することもできる（ステップ４７０）。この例に従えば、２次ＮＥ１７０はＳ−ＮＥ１７２に対してこのステップを実行する。２次ＮＥはまた３次対象ＮＥおよび／またはＳ−ＮＥに対して１つ又はそれ以上のコマンドを送信することもできる（ステップ４７２）。コマンドは、ローディングスクリプト／モジュール３２０を起動して直前に受信されたソフトウエア３１５をロードさせる（例えば、インストール及び／またはアップグレードし、あるいは切り替える）こともできる。ソフトウエアのローディングは、例えばローディングスクリプト／モジュール３２０の指示に従って、即座に、又は受信の少し後に、あるいはスケジュールで決められた時刻に自動的に実行することもできることに注意されたい。この例の場合には、２次ＮＥ１７０はその２次対象、Ｓ−ＮＥ１７２に対してコマンドを送信してソフトウエアの切替を指示することもできる。
【００４２】
上記の起動コマンドはＣＭＳ１１０から発することもできる。例えば、当該コマンドは、１次対象又は全ネットワーク１１０（あるいは、ソフトウエアは配布を行うネットワークの少なくとも一部）に対して向けられたものであっても良い。さらに、フローチャート４１０、４３０と４６０に記載された順序とは異なる順序で実施することも可能である、例えば、この実施例にしたがえば、１次ＮＥ１８０はステップ４３８の前にステップ４４０を実施してもよい。
【００４３】
本発明の好ましい実施例に基づいて方法とシステムを図面を参照しつつ詳細に説明したが、本発明の添付の特許請求の範囲に規定された技術的思想の範囲内において多くの改変、修正及び置換が可能であることは明らかである。
【図面の簡単な説明】
【図１】図１Ａは、従来例に基づくネットワークを介したソフトウエアローディング過程を示す図であり、図１Ｂは本発明の１つの実施例に基づくネットワークを介したソフトウエアの配布とローディング過程を示す。
【図２】本発明に他の実施例に基づく通信ネットワークを示す。
【図３】本発明に基づくソフトウエアの配布に関連した情報を示す。
【図４】図４Ａは本発明の１つの側面に基づくソフトウエアの配布方法をフローチャートの形式で示したものであり、図４Ｂは本発明の別の実施例に基づくソフトウエアの配布方法をフローチャート形式で示すものであり、図４Ｃは本発明のさらに別の側面に基づくソフトウエアの配布をフローチャとの形式で示すものである。
【図１】
2004538531.tif 000002
2004538531.tif 000003
【図２】
2004538531.tif 000004
【図３】
2004538531.tif 000005
【図４】
2004538531.tif 000006
2004538531.tif 000007
2004538531.tif 000008
【国際公開パンフレット】
2004538531.tif 000009
2004538531.tif 000010
2004538531.tif 000011
2004538531.tif 000012
2004538531.tif 000013
2004538531.tif 000014
2004538531.tif 000015
2004538531.tif 000016
2004538531.tif 000017
2004538531.tif 000018
2004538531.tif 000019
2004538531.tif 000020
2004538531.tif 000021
2004538531.tif 000022
2004538531.tif 000023
2004538531.tif 000024
2004538531.tif 000025
2004538531.tif 000026
2004538531.tif 000027
2004538531.tif 000028
2004538531.tif 000029
2004538531.tif 000030
2004538531.tif 000031
2004538531.tif 000032
2004538531.tif 000033
2004538531.tif 000034
2004538531.tif 000035
2004538531.tif 000036
2004538531.tif 000037
2004538531.tif 000038
【国際公開パンフレット（コレクトバージョン）】
2004538531.tif 000039
2004538531.tif 000040
【国際調査報告】
2004538531.tif 000041
2004538531.tif 000042
2004538531.tif 000043