(57)【要約】  自動的なソフトウェア・プロビジョニングの実行技法を説明する。装置は、プロビジョニング・データベース、クライアント・プロビジョニング・モジュール、およびネットワーク・インタフェースを備えることができる。プロビジョニング・サーバは、異なるパケット・テレフォニー装置のソフトウェア更新パッケージを記憶するように動作することができる。クライアント・プロビジョニング・モジュールは、パケット・テレフォニー装置からのプロビジョニング要求に応答してパケット・テレフォニー装置を自動的にプロビジョニングするように動作することができる。例えば、クライアント・プロビジョニング・モジュールはパケット・テレフォニー装置の装置構成情報を受け取り、当該装置構成情報に基づいてソフトウェア更新パッケージをプロビジョニング・データベースから取り出すことができる。ネットワーク・インタフェースは、クライアント・プロビジョニング・モジュールの代わりにソフトウェア更新パッケージをパケット・テレフォニー装置に送信することができる。他の実施形態も説明および主張されている。
2010532049.tif 000002
【特許請求の範囲】
【請求項１】
プロビジョニング・サーバがプロビジョニング要求を受け取るステップと、
パケット・テレフォニー装置の装置構成情報を受け取るステップと、
前記装置構成情報に基づいて前記パケット・テレフォニー装置のソフトウェア更新を提供することを決定するステップと、
ソフトウェア更新パッケージを前記プロビジョニング・サーバからインストール用に前記パケット・テレフォニー装置に送信するステップと、
を具えたことを特徴とする方法。
【請求項２】
前記パケット・テレフォニー装置のタイプ識別情報とコンポーネント・バージョン情報を有する装置構成情報を受け取るステップを具えたことを特徴とする請求項１記載の方法。
【請求項３】
タイプ識別子、ベンダ識別子、モデル識別子、ハードウェア・リビジョン識別子またはロケール識別子を含む前記パケット・テレフォニー装置のタイプ識別情報を有する装置構成情報を受け取るステップを具えたことを特徴とする請求項１記載の方法。
【請求項４】
ファイル・メジャー・バージョン識別子、ファイル・マイナー・バージョン識別子、ファイル・ビルド識別子またはファイル・クイック・フィックス・エンジニアリング（ｑｕｉｃｋ  ｆｉｘ  ｅｎｇｉｎｅｅｒｉｎｇ）識別子を含む前記パケット・テレフォニー装置のコンポーネント・バージョン情報を有する装置構成情報を受け取るステップを具えたことを特徴とする請求項１記載の方法。
【請求項５】
前記装置構成情報と共に含まれる、前記パケット・テレフォニー装置のタイプ識別子に対応する前記ソフトウェア更新パッケージをプロビジョニング・データベースから取り出すステップを具えたことを特徴とする請求項１記載の方法。
【請求項６】
前記プロビジョニング・サーバが前記ソフトウェア更新パッケージを公開サーバから受け取るステップを具えたことを特徴とする請求項１記載の方法。
【請求項７】
前記プロビジョニング要求を前記プロビジョニング・サーバに送信するステップと、
前記パケット・テレフォニー装置の装置構成情報を送信するステップと、
前記パケット・テレフォニー装置が前記ソフトウェア更新パッケージを受け取るステップと、
前記ソフトウェア更新パッケージを前記パケット・テレフォニー装置にインストールするステップと
を具えたことを特徴とする請求項１記載の方法。
【請求項８】
実行された場合にシステムが、
プロビジョニング・サーバによってプロビジョニング要求を受け取り、
パケット・テレフォニー装置の装置構成情報を受け取り、
前記装置構成情報に基づいて前記パケット・テレフォニー装置のソフトウェア更新パッケージを取り出し、
前記ソフトウェア更新パッケージを前記プロビジョニング・サーバから前記パケットテレフォニー装置上でのインストール用に前記パケット・テレフォニー装置に送信する、
ことを可能とする命令を含む記憶媒体を具えたことを特徴とする製品。
【請求項９】
実行された場合にシステムが、前記装置構成情報に基づいてソフトウェア更新を前記パケット・テレフォニー装置に送信するかどうかを決定することを可能とする命令をさらに具えたことを特徴とする請求項８記載の製品。
【請求項１０】
実行された場合にシステムが、前記パケット・テレフォニー装置のタイプ識別情報とコンポーネント・バージョン情報を有する装置構成情報を受け取ることを可能とする命令をさらに具えたことを特徴とする請求項８記載の製品。
【請求項１１】
実行された場合にシステムが、タイプ識別子、ベンダ識別子、モデル識別子、ハードウェア・リビジョン識別子またはロケール識別子を含む前記パケット・テレフォニー装置のタイプ識別情報を有する装置構成情報を受け取ることを可能とする命令をさらに具えたことを特徴とする請求項８記載の製品。
【請求項１２】
実行された場合にシステムが、ファイル・メジャー・バージョン識別子、ファイル・マイナー・バージョン識別子、ファイル・ビルド識別子またはファイル・クイック・フィックス・エンジニアリング識別子を含む前記パケット・テレフォニー装置のコンポーネント・バージョン情報を有する装置構成情報を受け取ることを可能とする命令をさらに具えたことを特徴とする請求項８記載の製品。
【請求項１３】
実行された場合にシステムが、前記装置構成情報と共に含まれる、前記パケット・テレフォニー装置のタイプ識別子に対応する前記ソフトウェア更新パッケージをプロビジョニング・データベースから取り出すことを可能とする命令をさらに具えたことを特徴とする請求項８記載の製品。
【請求項１４】
実行された場合にシステムが、前記ソフトウェア更新パッケージを前記プロビジョニング・サーバから前記パケットテレフォニー装置上でのインストール用に前記パケット・テレフォニー装置に送信する前に、前記ソフトウェア更新パッケージをテストおよび検証することを可能とする命令をさらに具えたことを特徴とする請求項８記載の製品。
【請求項１５】
実行された場合にシステムが、
前記プロビジョニング要求を前記プロビジョニング・サーバに送信し、
前記パケット・テレフォニー装置の前記装置構成情報を送信し、
前記パケット・テレフォニー装置が前記ソフトウェア更新パッケージを受け取り、
前記ソフトウェア更新パッケージを前記パケット・テレフォニー装置にインストールする
ことを可能とする命令をさらに具えたことを特徴とする請求項８記載の製品。
【請求項１６】
様々なパケット・テレフォニー装置（１４０）向けのソフトウェア更新パッケージ（１３２）を記憶するためのプロビジョニング・データベース（１３０）と、
前記プロビジョニング・データベースに通信可能に結合され、前記パケット・テレフォニー装置からのプロビジョニング要求に応答してパケット・テレフォニー装置を自動的にプロビジョニングするように動作し、パケット・テレフォニー装置の装置構成情報を受け取って前記装置構成情報に基づいて前記プロビジョニング・データベースからソフトウェア更新パッケージ（１３２）を取り出す、クライアント・プロビジョニング・モジュール（１２２）と、
前記クライアント・プロビジョニング・モジュールに通信可能に結合され、前記ソフトウェア更新パッケージを前記パケット・テレフォニー装置に送信する、ネットワーク・インタフェース（２４０）と、
を具えたことを特徴とする装置。
【請求項１７】
更新パッケージ（２３０）を公開サーバ（１１０、２０６）から受け取る更新エージェント（２１２）と、前記更新パッケージをプロビジョニング・データベースにインストールしインストール結果を自動更新サービス・モジュール（２２４）に通知するインストーラ（２１４）とを有する自動更新モジュール（２１０）を具えたことを特徴とする請求項１６記載の装置。
【請求項１８】
更新パッケージ（２３０）のインストール結果の通知を受け取る更新リスナ（２２６）を有する自動更新サービス・モジュール（２２４）と、更新ファイル（１３２）を前記更新パッケージから抽出しプロビジョニング・データベースに格納する更新パッケージ・ハンドラ（２２８）とを具えたことを特徴とする請求項１６記載の装置。
【請求項１９】
前記装置構成情報は、タイプ識別子、ベンダ識別子、モデル識別子、ハードウェア・リビジョン識別子またはロケール識別子を含む前記パケット・テレフォニー装置のタイプ識別情報を有することを特徴とする請求項１６記載の装置。
【請求項２０】
前記装置構成情報は、ファイル・メジャー・バージョン識別子、ファイル・マイナー・バージョン識別子、ファイル・ビルド識別子またはファイル・クイック・フィックス・エンジニアリング識別子を含む前記パケット・テレフォニー装置のコンポーネント・バージョン情報を有することを特徴とする請求項１６記載の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
パケット・ネットワークがますます音声通信に使用されている。ＶｏＩＰ（Ｖｏｉｃｅ  Ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）およびＶＯＰ（Ｖｏｉｃｅ  Ｏｖｅｒ  Ｐａｃｋｅｔ）技術の出現により、音声情報をパケット・ネットワーク上で通信できるパケット電話のような、様々なエンド・ポイント装置の開発が推進された。しかし、係るエンド・ポイント装置は、通常、特定のＩＰテレフォニー電話ソリューションを扱う様々な電話ベンダによって製造されており、このソリューションには専用のハードウェア・プラットフォーム、ソフトウェア・アプリケーションおよび通信プロトコルが含まれることがある。さらに、ソフトウェア・アプリケーションの開発サイクルはハードウェア・プラットフォームよりもかなり短い。その結果、多くのエンド・ポイント装置が、通常、時間が経つにつれ基盤となるハードウェア・プラットフォームが依然として同じでも異なるバージョンのソフトウェア・アプリケーションで更新される。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
しかし、このソフトウェア更新作業は、電話ベンダとエンド・ポイント装置が多種多様であること、ならびに所与のＩＰテレフォニー・ソリューションとエンド・ポイント装置が密に統合されていることのため、個別且つ手動で実施する必要があることがよくある。係る手動のプロビジョニングは総保有コストを大幅に増大させる恐れがある。従って、これらおよび他の問題を解決するためにソフトウェア更新技法を改善する必要が大いにありうる。
【課題を解決するための手段】
【０００３】
本要約は、選択した概念を簡潔な形で導入するために与えてある。その概念は、発明を実施するための形態で後でさらに説明する。本要約はクレーム主題の主要な特徴または本質的な特徴を特定しようとするものではなく、クレーム主題の範囲を限定するために使用しようとするものでもない。
【０００４】
様々な実施形態は、一般に、有線通信システムおよび無線通信システムに関することができる。幾つかの実施形態では特に、パケット電話のような様々種類のパケット・テレフォニー装置に対して自動的なソフトウェア・プロビジョニングを実施するための通信システムに関することができる。例えば、１実施形態では、プロビジョニング・サーバのような装置がプロビジョニング・データベース、クライアント・プロビジョニング・モジュールおよびネットワーク・インタフェースを備えることができる。プロビジョニング・サーバは、様々なパケット・テレフォニー装置に対するソフトウェア更新パッケージを記憶するように動作することができる。クライアント・プロビジョニング・モジュールは、パケット・テレフォニー装置からのプロビジョニング要求に応答して当該パケット・テレフォニー装置を自動的にプロビジョニングするように動作することができる。例えば、クライアント・プロビジョニング・モジュールはパケット・テレフォニー装置の装置構成情報を受け取り、当該装置構成情報に基づいてソフトウェア更新パッケージをプロビジョニング・データベースから取り出すことができる。ネットワーク・インタフェースは、クライアント・プロビジョニング・モジュールに代わってソフトウェア更新パッケージをパケット・テレフォニー装置に送信することができる。このように、パケット・テレフォニー装置を自動的にプロビジョニングすることができ、通常の動作を行うためにパケット・テレフォニー装置を設定する際の手動操作の必要性を削減または排除することができる。他の実施形態も説明および主張されている。
【図面の簡単な説明】
【０００５】
【図１】通信システムの１実施形態を示す図である。
【図２】プロビジョニング・サーバの１実施形態を示す図である。
【図３】論理フローの１実施形態を示す図である。
【図４】コンピューティング・システム・アーキテクチャの１実施形態を示す図である。
【発明を実施するための形態】
【０００６】
様々な実施形態は１つまたは複数の要素を含むことができる。要素は、実施形態に関して説明する任意の機能、特徴、構造または動作を含むことができる。要素の例には、ハードウェア要素、ソフトウェア要素、物理要素、またはそれらの任意の組合せがある。実施形態を例えば或る種の配置構成の有限個の要素で説明できるが、当該実施形態は所与の実装形態に応じて代替的な配置構成の多少の要素を含んでもよい。「１実施形態」または「実施形態」またはそれと同様な言回しへのどのような言及も必ずしも同じ実施形態を指すとは限らないことに留意されたい。
【０００７】
様々な実施形態は、一般に、パケット電話のような様々種類のパケット・テレフォニー装置に対して自動的なソフトウェア・プロビジョニングを実施するための通信システムに関することができる。通信システムは、様々な種類の通信装置に対する自動的なソフトウェア・プロビジョニングを管理および実施するように構成されたプロビジョニング・サーバを備えることができる。プロビジョニング・サーバはプロビジョニング・モジュールとプロビジョニング・データベースを備えることができる。プロビジョニング・モジュールは、様々な通信装置にソフトウェア更新をプロビジョニングしつつ、プロビジョニング・サーバ向けのプロビジョニング動作を管理することができる。プロビジョニング・データベースは複数のソフトウェア更新パッケージを記憶することができる。ソフトウェア更新パッケージは夫々、特定の通信装置に対応することができる。通信装置がプロビジョニング・サーバに接続すると常に、プロビジョニング・サーバは、通信装置がソフトウェア更新を必要としているかどうかを判定するための分析を行う。通信装置がソフトウェア更新を必要とする場合は、プロビジョニング・サーバは適切なソフトウェア更新パッケージをプロビジョニング・データベースから取り出す。プロビジョニング・サーバは次いで、取り出したソフトウェア更新パッケージを要求側の通信装置に送信することができる。このように、パケット・テレフォニー装置に自動的に適切なソフトウェア・コンポーネントをプロビジョニングすることができ、操作者またはシステム管理者が必要とする手動操作を削減または排除することができる。
【０００８】
図１は通信システム１００のブロック図である。様々な実施形態では、通信システム１００を無線通信システム、有線通信システム、またはその両方の組合せとして実装することができる。無線通信システムとして実装した場合は、通信システム１００は、１つまたは複数のアンテナ、送信機、受信機、送受信機、増幅器、フィルタ、制御ロジック、等のような、無線通信媒体上での通信に適した構成要素およびインタフェースを備えることができる。通信媒体の例には、ＲＦ（ｒａｄｉｏ−ｆｒｅｑｕｅｎｃｙ）スペクトル等のような無線スペクトルの一部を用いて実装した無線共有型媒体（ｗｉｒｅｌｅｓｓ  ｓｈａｒｅｄ  ｍｅｄｉａ）がある。有線通信システムとして実装した場合は、通信システム１００は、Ｉ／Ｏ（ｉｎｐｕｔ／ｏｕｔｐｕｔ）アダプタ、Ｉ／Ｏアダプタを対応する有線通信媒体と接続するための物理コネクタ、ＮＩＣ（ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄ）、ディスク・コントローラ、ビデオ・コントローラ、オーディオ・コントローラ、等のような、有線通信媒体上での通信に適した構成要素およびインタフェースを備えることができる。有線通信媒体の例には、有線、ケーブル線、金属リード、プリント基板（ＰＣＢ）、バックプレーン、スイッチ・ファブリック、半導体材料、ツイスト・ペア・ケーブル、同軸ケーブル、光ファイバ、等がある。
【０００９】
図１の例示的な実施形態に示すように、通信システム１００は配布サーバ１１０、プロビジョニング・サーバ１２０、プロビジョニング・データベース、および多数の装置１４０−１〜ｍを備えることができる。プロビジョニング・サーバ１２０はさらにプロビジョニング・モジュール１２２を備えることができる。図１では有限個の要素を所与のトポロジで示してあるが、通信システム１００は異なるトポロジで多少の要素を含めてもよく、依然として本実施形態の範囲内にあることは理解されよう。本実施形態はこの文脈に限定されない。
【００１０】
１実施形態では、通信システム１００は様々な通信装置１４０−１〜ｍを備えることができる。通信装置１４０−１〜ｍは、ＩＰネットワークまたはインターネットのようなパケット・ネットワーク上で情報を通信するように構成した任意の電子装置を備えることができる。通信装置１４０−１〜ｍの例には、電話、パケット電話、ＶｏＩＰ電話、ＶＯＰ電話、デジタル電話、コンピュータ、ラップトップ・コンピュータ、ポータブル・コンピュータ、ハンドヘルド・コンピュータ、サーバ、ワークステーション、消費家電、等がある。１実施形態では、通信装置１４０−１〜ｍは、音声情報をパケット・ネットワーク上で通信するように動作するパケット・テレフォニー装置を備えることができる。パケット・テレフォニー装置の例には、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）標準化団体によって定義され普及しているシグナリング・プロトコルのようなＶｏＩＰプロトコルを実装できるパケット電話があり、そのシグナリング・プロトコルには例えば、ＩＥＴＦシリーズのＲＦＣ３２６１、３２６５、３８５３、４３２０およびその後継、改訂版、および変形によって定義されたＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）がある。一般に、ＳＩＰシグナリング・プロトコルは１つまたは複数の参加者をもつセッションを生成し、修正し、終了するためのアプリケーション層制御プロトコルおよび／またはシグナリング・プロトコルである。これらのセッションには、ＩＰ電話呼、マルチメディア配信、およびマルチメディア会議が含まれる。パケット電話はまた、ＩＥＴＦのＲＦＣ３５５０およびその後継、改訂版、および変形によって定義されたＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）のような、データ・フォーマット・プロトコルを実装することができる。ＲＴＰ標準は、マルチメディア情報（例えば、オーディオおよびビデオ）を送達するための一定のまたは標準的なパケット・フォーマットを定義する。限定ではなく例としてパケット電話を用いて幾つかの実施形態を説明することができるが、他の電子通信装置を通信システム１００で使用してもよく、当該他の電子通信装置は依然として本実施形態の範囲内にある。
【００１１】
１実施形態では、通信システム１００はプロビジョニング・サーバ１２０を備えることができる。プロビジョニング・サーバ１２０を、通信装置１４０−１〜ｍのような様々な種類の通信装置に対する自動的なソフトウェア・プロビジョニングを管理および実施するように構成することができる。プロビジョニング・サーバ１２０は、プロビジョニング・モジュール１２２およびプロビジョニング・データベース１３０を備えるか、またはそれらにアクセスすることができる。プロビジョニング・モジュール１２２は、通信装置１４０−１〜ｍにソフトウェア更新をプロビジョニングしつつ、プロビジョニング・サーバ１２０向けのプロビジョニング動作を管理することができる。プロビジョニング・データベース１３０は複数のソフトウェア更新パッケージまたはソフトウェア更新ファイル１３２−１−ｎを記憶することができる。ソフトウェア更新パッケージまたはソフトウェア更新ファイル１３２−１−ｎは夫々、特定の通信装置１４０−１〜ｍに対応することができる。通信装置１４０−１〜ｍがプロビジョニング・サーバ１２０に接続すると常に、プロビジョニング・サーバ１２０は、通信装置１４０−１〜ｍがソフトウェア更新を必要としているかどうかを判定するための分析を行う。通信装置１４０−１〜ｍがソフトウェア更新を必要とする場合は、プロビジョニング・サーバ１２０は適切なソフトウェア更新パッケージ１３２−１−ｎをプロビジョニング・データベース１３０から取り出す。プロビジョニング・サーバ１２０は次いで、取り出したソフトウェア更新パッケージ１３２−１−ｎを要求側の通信装置１４０−１〜ｍに送信することができる。要求側の通信装置１４０−１〜ｍはソフトウェア更新パッケージ１３２−１−ｎをプロビジョニング・サーバ１２０から取り出し、通信装置１４０−１〜ｍに存在する標準的なインストーラ、またはソフトウェア更新パッケージ１３２−１−ｎに含まれる自己解凍式のファイルまたはインストーラを用いて、当該ソフトウェア更新パッケージ１３２−１−ｎを通信装置１４０−１〜ｍにインストールすることができる。
【００１２】
１実施形態では、例えば、プロビジョニング・サーバ１２０を、ワシントン州レドモンドのＭＩＣＲＯＳＯＦＴ社製のＭＩＣＲＯＳＯＦＴ「登録商標」  ＯＦＦＩＣＥ  ＬＩＶＥ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ  ＳＥＲＶＥＲとして実装してもよい。ＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ  ＬＩＶＥ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ  ＳＥＲＶＥＲは企業向けリアルタイム通信サーバを備える。ＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ  ＬＩＶＥ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ  ＳＥＲＶＥＲは、通信装置１４０−１〜ｍおよび公開サーバ１１０のような様々な装置間の通信を管理および促進するように設計されている。例えば、ＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ  ＬＩＶＥ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ  ＳＥＲＶＥＲを、通信装置１４０−１〜ｍおよびプロビジョニング・サーバ１２０によって実装されたＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ  ＣＯＭＭＵＮＩＣＡＴＯＲ  ＣＬＩＥＮＴのようなクライアント・アプリケーション間の通信接続およびセッションを提供および管理するように構成することができる。
【００１３】
１実施形態では、通信システム１００は公開サーバ１１０を備えることができる。公開サーバ１１０を、様々な通信装置１４０−１〜ｍに対するソフトウェア更新パッケージ１３２−１−ｎを公開および配布するように構成することができる。公開サーバ１１０は通信装置１４０−１〜ｍに対する全ての公認のソフトウェア更新のための中央配布局を表すことができる。中央配布局を設けることで、最新版のソフトウェア・アプリケーションが配布可能であることが保証され、ソフトウェア更新の配布の仕方が制御される。１実施形態では、例えば、公開サーバ１１０はＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ「登録商標」ＳＥＲＶＥＲ  ＵＰＤＡＴＥ  ＳＥＲＶＩＣＥＳ（ＷＳＵＳ）サーバを備えることができる。ＷＳＵＳサーバ１１０では、ネットワーク管理者はネットワーク内またはシステム内の所与の装置に対するソフトウェア更新の配布を完全に管理することができる。
【００１４】
様々な実施形態では、プロビジョニング・サーバ１２０は、プロビジョニング・サーバ１２０がプロビジョニング要求を要求側の通信装置１４０−１〜ｍから受け取る前または受け取った後に、ソフトウェア更新パッケージ１３２−１−ｎを公開サーバ１１０から受け取るか取り出すことができる。プロビジョニング・データベース１３０でローカルに記憶されている、要求側の通信装置１４０−１〜ｍのタイプに対する適切なソフトウェア更新パッケージ１３２−１−ｎをプロビジョニング・サーバ１２０が有さない場合は、受け取る前が望ましいかもしれない。この場合、プロビジョニング・サーバ１２０は、要求側の通信装置１４０−１〜ｍによる要求に応答して、適切なソフトウェア更新パッケージ１３２−１−ｎのリアルタイム検索を実施することができる。
【００１５】
様々な実施形態では、プロビジョニング・サーバ１２０は、要求側の通信装置１４０−１〜ｍに配布する前に、ソフトウェア更新パッケージ１３２−１−ｎをテストおよび検証することができる。例えば、プロビジョニング・サーバ１２０は、公開サーバ１１０から受け取った際に１つまたは複数のソフトウェア更新パッケージ１３２−１−ｎをテストおよび検証するための承認権限を有することができる。このように、プロビジョニング・サーバ１２０は、ソフトウェア更新パッケージ１３２−１−ｎをプロビジョニング・サーバから通信装置１４０−１〜ｍ（例えば、パケット・テレフォニー装置）に送信してパケット・テレフォニー装置にインストールする前に、ソフトウェア更新パッケージ１３２−１−ｎが完全に使用可能であることを保証することができる。
【００１６】
通常動作では、プロビジョニング・サーバ１２０は定期的に、様々な通信装置１４０−１〜ｍ向けのソフトウェア更新パッケージを公開サーバ１１０から受け取ることができる。公開サーバ１１０は、準備ができている場合はソフトウェア更新をプロビジョニング・サーバ１２０に送るか、またはプロビジョニング・サーバ１２０の要求に応答してソフトウェア更新を提供することができる。同様に、プロビジョニング・サーバ１２０はソフトウェア更新を通信装置１４０−１〜ｍに送るか、または通信装置１４０−１〜ｍの要求に応答してソフトウェア更新を提供することができる。明示的な要求に応答してソフトウェア更新を提供する場合は、係る動作は「引出し」動作と呼ばれることもある。
【００１７】
例えば、企業エンド・ユーザのボブが新しいＩＰ電話１４０−１を企業送達システムを通して受け取ったと仮定する。企業のＩＴ（ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ）管理者は、ＭＡＣ（ｍｅｄｉａ  ａｃｃｅｓｓ  ｃｏｎｔｒｏｌ）アドレス、シリアル番号、等のような、ＩＰ電話１４０−１に関する具体的な情報は何ら知る必要がない。より正確には、ボブは単純にＩＰ電話１４０−１をネットワーク・ポート（例えば、イーサネット・ポート）に接続して新しいＩＰ電話の電源を入れる。ＩＰ電話１４０−１をプロビジョニング・サーバ１２０に接続し登録すると、プロビジョニング・サーバ１２０はＩＰ電話１４０−１の装置構成情報を発見し、当該装置構成情報に基づいて適切なソフトウェア更新１３２−１をＩＰ電話１４０−１に適用することができる。ＩＰ電話１４０−１に対するプロビジョニングを予想してソフトウェア更新１３２−１を前もって公開サーバ１１０からプロビジョニング・サーバ１２０にダウンロードしておいてもよい。その結果、ボブまたはＩＰ管理者はＩＰ電話１４０−１を手動でプロビジョニングする必要はない。その後、必要なときに、重要な更新をＩＰ電話１４０−１によってプロビジョニング・サーバ１２０から引き出すことができるか、またはプロビジョニング・サーバ１２０によってＩＰ電話１４０−１に送ることができる。図２〜４を参照して、通信システム１００を一般的に、およびプロビジョニング・サーバ１２０を具体的に、より詳細に説明することができる。
【００１８】
図２は、プロビジョニング・サーバ１２０のより詳細なブロック図を示す。通信装置１４０−１〜ｍをプロビジョニングするため、プロビジョニング・サーバ１２０は定期的に、通信装置１４０−１〜ｍ向けのソフトウェア更新を公開サーバ１１０のような配布局から受け取ることができる。図２に示すように、プロビジョニング・サーバ１２０は自動更新モジュール２１０、プロビジョニング・モジュール１２２、プロビジョニング・データベース１３０、およびネットワーク・インタフェース２４０を備えることができる。図２では有限個の要素を所与のトポロジで示してあるが、プロビジョニング・サーバ１２０は異なるトポロジで多少の要素を含めてもよく、プロビジョニング・サーバ１２０は依然として本実施形態の範囲内にあることは理解されよう。例えば、プロビジョニング・サーバ１２０は、図４を参照してより詳細に説明するように、プロセッサおよびメモリを備える処理システムを含むことができる。
【００１９】
１実施形態では、プロビジョニング・サーバ１２０は自動更新モジュール２１０を備えることができる。自動更新モジュール２１０はさらに、更新エージェント２１２とインストーラ２１４を備えることができる。更新エージェント２１２を、ソフトウェア更新パッケージ２３０をネットワーク２０２および企業ファイアウォール２０４を介して公開サーバ１１０から受け取るように構成することができる。幾つかの場合では、更新エージェント２１２はソフトウェア更新パッケージ２３０を、ＷＩＮＤＯＷＳ  ＵＰＤＡＴＥＳ  ＳＥＲＶＩＣＥＳサーバ２０６のような、公開サーバ１１０とは異なる配布局から受け取ってもよい。更新エージェント２１２がソフトウェア更新パッケージ２３０を適切な更新サービスから受け取ると、インストーラ２１４を、プロビジョニング・データベース１３０内の更新パッケージ２３０を抽出してインストールするように構成することができる。１実施形態では、インストーラ２１４は自己解凍式のインストーラを備えることができる。インストーラ２１４がプロビジョニング・データベース１３０内の更新パッケージ２３０をインストールすると、インストーラ２１４は自動更新サービス・モジュール２２２にインストール結果を通知することができる。
【００２０】
１実施形態では、プロビジョニング・サーバ１２０はプロビジョニング・モジュール１２２を備えることができる。プロビジョニング・モジュール１２２は一般に、配布局（例えば、公開サーバ１１０、２０６）とプロビジョニング・サーバ１２０の間、ならびにプロビジョニング・サーバ１２０と通信装置１４０−１〜ｍの間で更新動作およびプロビジョニング動作を管理することができる。プロビジョニング・モジュール１２２はさらに、クライアント・プロビジョニング・モジュール２２２、自動更新サービス・モジュール２２４、および更新パッケージ・ハンドラ２２８を備えることができる。自動更新サービス・モジュール２２４はさらに、更新リスナ２２６を備えることができる。
【００２１】
様々な実施形態では、クライアント・プロビジョニング・モジュール２２２を、プロビジョニング・データベース１３０とネットワーク・インタフェース２４０に通信可能に結合することができる。クライアント・プロビジョニング・モジュール２２２は、前述のように、パケット・テレフォニー装置からのプロビジョニング要求に応答して当該パケット・テレフォニー装置を自動的にプロビジョニングするように動作することができる。例えば、クライアント・プロビジョニング・モジュール２２２は、特定のパケット・テレフォニー装置（１４０−１〜ｍ）の装置構成情報を受け取り、当該装置構成情報に基づいてソフトウェア更新パッケージ１３２−１−ｎをプロビジョニング・データベース１３０から取り出すことができる。クライアント・プロビジョニング・モジュール２２２は、ネットワーク・インタフェース２４０を介してソフトウェア更新パッケージ１３２−１−ｎを要求側の通信装置１４０−１〜ｍに送信することができる。
【００２２】
様々な実施形態では、プロビジョニング・サーバ１２０のクライアント・プロビジョニング・モジュール２２２は、通信装置１４０−１〜ｍの装置構成情報に基づく適切なソフトウェア更新パッケージ１３２−１−ｎを用いて、プロビジョニング動作を実施することができる。例えば、通信装置１４０−１〜ｍはプロビジョニング要求をプロビジョニング・サーバ１２０に送信することができる。通信装置１４０−１〜ｍは通信装置１４０−１〜ｍの装置構成情報を、プロビジョニング要求と共に、またはプロビジョニング要求とは別々に送信することができる。プロビジョニング・サーバ１２０のクライアント・プロビジョニング・モジュール２２２は、装置構成情報を受け取り、当該装置構成情報を使用して通信装置１４０−１〜ｍがソフトウェア更新を要求しているかどうかを判定し、要求している場合は、当該ソフトウェア更新に対してどのソフトウェア更新パッケージ１３２−１−ｎを使用すべきかを判定することができる。
【００２３】
様々な実施形態では、装置構成情報は、通信装置とその現在の構成を一意に特定するために使用できる、通信装置に関する任意の情報を含むことができる。例えば、装置構成情報は、タイプ識別情報およびコンポーネント・バージョン情報のような、パケット・テレフォニー装置に対する２種類の情報を含むことができる。タイプ識別情報は、通信装置１４０−１〜ｍのようなパケット・テレフォニー装置を一意に特定するために使用することができる。タイプ識別情報の例には、タイプ識別子、ベンダ識別子、モデル識別子、ハードウェア・リビジョン識別子または位置識別子がある。コンポーネント・バージョン情報は、通信装置１４０−１〜ｍのようなパケット・テレフォニー装置のソフトウェア・コンポーネントを特定するために使用することができる。コンポーネント・バージョン情報の例には、ファイル・メジャー・バージョン識別子、ファイル・マイナー・バージョン識別子、ファイル・ビルド識別子、またはファイルＱＦＥ（ｑｕｉｃｋ  ｆｉｘ  ｅｎｇｉｎｅｅｒｉｎｇ）識別子がある。所与の実装形態に応じて、前述の例に加えて、または前述の例の代わりに、他の種類の装置構成情報を使用してもよい。
【００２４】
例として、通信装置１４０−１がプロビジョニングを要求すると仮定する。通信装置１４０−１はＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）呼を介して定期的にプロビジョニング・サーバ１２０に連絡して、ソフトウェア更新が使用可能かどうかをチェックする。プロビジョニング要求は、通信装置１４０−１のタイプ識別情報およびコンポーネント・バージョン情報を含む、装置構成情報を含むことができる。通信装置１４０−１のタイプ識別情報の例を以下の表１に示すことができる。
【００２５】
【表１】
2010532049.tif 000003
【００２６】
通信装置１４０−１のコンポーネント・バージョン情報の例を以下の表２に示すことができる。
【００２７】
【表２】
2010532049.tif 000004
【００２８】
通信装置１４０−１のタイプ識別情報と様々な更新可能なファイル・コンポーネントに関するコンポーネント・バージョン情報とが与えられると、プロビジョニング・サーバ１２０のプロビジョニング・モジュール１２２は、要求側の通信装置１４０−１がソフトウェアの更新またはアップグレードを必要とするかどうかを判定する。プロビジョニング・データベース１３０が、要求側の通信装置１４０−１のものとは異なる承認済みのバージョンを記憶する場合、プロビジョニング・モジュール１２２は、新しい更新をダウンロードできる場所へのリンクで要求に応答することができる。
【００２９】
様々な実施形態では、自動更新サービス・モジュール２２４と更新パッケージ・ハンドら２２８を、自動更新モジュール２１０とプロビジョニング・データベース１３０に通信可能に結合することができる。自動更新サービス・モジュール２２４を、配布局（例えば、公開サーバ１１０、２０６）とプロビジョニング・サーバ１２０の間の更新動作を管理するように構成することができる。自動更新サービス・モジュール２２４は更新リスナ２２６を備えることができる。更新リスナ２２６は、更新パッケージ２３０のような更新パッケージのインストール結果の通知を自動更新モジュール２１０のインストーラ２１４から受け取ることができる。更新リスナ２２６は次に新しく到着した更新パッケージ２３０とそのプロビジョニング・データベース１３０内の位置を更新パッケージ・ハンドラ２２８に通知することができる。更新パッケージ・ハンドラ２２８を、更新パッケージ２３０から更新ファイル１３２−１−ｎを抽出するように構成することができ、更新パッケージ・ハンドラ２２８は更新ファイル１３２−１−ｎをプロビジョニング・データベース１３０に記憶する。更新パッケージ・ハンドラ２２８は、通信装置１４０−１〜ｍの様々なサポートされる装置タイプに従って、プロビジョニング・データベース１３０内で更新ファイル１３２−１−ｎを編成することができる。
【００３０】
通信システム１００の動作を、１つまたは複数の論理フローを参照してさらに説明することができる。特に記載しない限り、この代表的な論理フローを必ずしも提示した順序または任意の特定の順序で実行する必要はないことは理解されよう。さらに、論理フローに関して説明した様々な動作を逐次的または並列に実行することができる。論理フローを、所与の１組の設計上または性能上の制約に応じて、通信システム１００の１つもしくは複数の要素または代替的な諸要素を用いて実装することができる。
【００３１】
図３は論理フロー３００を示す。論理フロー３００を、本明細書で説明した１つまたは複数の実施形態によって実行される動作を代表するものとしてもよい。図３に示すように、論理フロー３００はブロック３０２でプロビジョニング・サーバがプロビジョニング要求を受け取ることができる。論理フロー３００はブロック３０４で、パケット・テレフォニー装置の装置構成情報を受け取ることができる。ブロック３０６で、当該装置構成情報に基づいてパケット・テレフォニー装置向けのソフトウェア更新を提供することを決定することができる。論理フロー３００はブロック３０８で、ソフトウェア更新パッケージをプロビジョニング・サーバからインストール用にパケット・テレフォニー装置に送信することができる。本実施形態はこの文脈に限定されない。
【００３２】
１実施形態では、ブロック３０２で、プロビジョニング・サーバがプロビジョニング要求を受け取ることができる。例えば、プロビジョニング・モジュール１２２のクライアント・プロビジョニング・モジュール２２２はプロビジョニング要求を通信装置１４０−１〜ｍから受け取ることができる。
【００３３】
１実施形態では、論理フロー３００はブロック３０４でパケット・テレフォニー装置の装置構成情報を受け取ることができる。例えば、クライアント・プロビジョニング・モジュール２２２は、要求側の通信装置１４０−１〜ｍの装置構成情報を受け取ることができる。装置構成情報は、要求側の通信装置１４０−１〜ｍのタイプ識別情報とコンポーネント・バージョン情報を含むことができる。装置構成情報をプロビジョニング要求に含めるか、または別個のメッセージとして通信装置１４０−１〜ｍからプロビジョニング・サーバ１２０に送信することができる。
【００３４】
１実施形態では、論理フロー３００はブロック３０６で、装置構成情報に基づいてパケット・テレフォニー装置のソフトウェア更新を提供することを決定することができる。例えば、クライアント・プロビジョニング・モジュール２２２は装置構成情報を使用して要求側の通信装置１４０−１〜ｍがソフトウェア更新を必要とするかどうかを判定することができる。クライアント・プロビジョニング・モジュール２２２はタイプ識別情報を使用してプロビジョニング・データベース１３０を検索し、装置構成情報に対応するソフトウェア更新パッケージまたはソフトウェア更新ファイル１３２−１−ｎを求めることができる。次いでクライアント・プロビジョニング・モジュール２２２はコンポーネント・バージョン情報の様々な識別フィールド値を、プロビジョニング・データベース１３０に記憶した対応するフィールド値と比較し始めることができる。プロビジョニング・データベース１３０が、要求側の通信装置１４０−１〜ｍに既にインストールされた１つまたは複数のバージョンのソフトウェア・コンポーネントを伴うソフトウェア更新パッケージ１３２−１−ｎを含み、ソフトウェア更新パッケージ１３２−１−ｎがより新しいバージョンのソフトウェア・コンポーネントを有する場合、クライアント・プロビジョニング・モジュール２２２は、通信装置１４０−１〜ｍがソフトウェア更新を必要とすると決定することができる。プロビジョニング・データベース１３０が、要求側の通信装置１４０−１〜ｍに既にインストールされた１つまたは複数のバージョンのソフトウェア・コンポーネントを伴うソフトウェア更新パッケージ１３２−１−ｎを含まないか、またはソフトウェア更新パッケージ１３２−１−ｎがより古いバージョンのソフトウェア・コンポーネントを有する場合、クライアント・プロビジョニング・モジュール２２２は、通信装置１４０−１〜ｍがソフトウェア更新を必要としないと決定することができる。
【００３５】
１実施形態では、論理フロー３００はブロック３０８で、ソフトウェア更新パッケージをプロビジョニング・サーバからインストール用にパケット・テレフォニー装置へ送信することができる。例えば、クライアント・プロビジョニング・モジュール２２２が通信装置１４０−１〜ｍがソフトウェア更新を必要とすると決定する場合、クライアント・プロビジョニング・モジュール２２２は、適切なソフトウェア更新パッケージ１３２−１−ｎを要求側の通信装置１４０−１〜ｍにネットワーク・インタフェース２４０を介して送信することができる。
【００３６】
装置の観点からは、通信装置１４０−１〜ｍは、プロビジョニング要求をプロビジョニング・サーバ１２０に送信することによってプロビジョニング動作を開始することができる。通信装置１４０−１〜ｍはその装置構成情報をプロビジョニング要求と共に送信することができる。要求側の通信装置１４０−１〜ｍがソフトウェア更新パッケージ１３２−１−ｎをプロビジョニング・サーバ１２０から受け取ると、要求側の通信装置１４０−１〜ｍはソフトウェア更新パッケージ１３２−１−ｎをインストールすることができる。これを、ローカル・インストーラ・プログラムを用いて、または自己解凍式のインストーラで達成することができる。
【００３７】
図４は、例えばプロビジョニング・サーバ１２０のような通信システム１００の様々な要素を含む、様々な実施形態を実装するのに適したコンピューティング・システム・アーキテクチャ４００のブロック図を示す。コンピューティング・システム・アーキテクチャ４００は適切なコンピューティング環境の１例に過ぎず、本実施形態の使用範囲または機能範囲の限定を示唆しようとするものではないことは理解されよう。また、コンピューティング・システム・アーキテクチャ４００が、例示的なコンピューティング・システム・アーキテクチャ４００で示した構成要素のどのような１つまたは組合せに関してどのような依存性または要件を有するとも解釈すべきではない。
【００３８】
様々な実施形態を、プログラム・モジュールのような、コンピュータによって実行されているコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールには、特定の動作を実施するか特定の抽象データ型を実装するように配置構成された任意のソフトウェア要素が含まれる。幾つかの実施形態を、通信ネットワークを介してリンクされた１つまたは複数のリモート処理装置によって動作が実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラム・モジュールを、メモリ記憶装置を含むローカル・コンピュータ記憶媒体およびリモート・コンピュータ記憶媒体の両方に配置することができる。
【００３９】
図４に示すように、コンピューティング・システム・アーキテクチャ４００はコンピュータ４１０のような汎用目的のコンピューティング装置を備える。コンピュータ４１０は、コンピュータ・システムまたは処理システムに一般的に見出される様々な構成要素を備えることができる。コンピュータ４１０の幾つかの例示的な構成要素には、限定ではなく、処理ユニット４２０とメモリ・ユニット４３０がある。
【００４０】
１実施形態では、例えば、コンピュータ４１０は１つまたは複数の処理ユニット４２０を備えることができる。処理ユニット４２０は、情報またはデータを処理するように配置構成した任意のハードウェア要素またはソフトウェア要素を備えることができる。処理ユニット４２０の幾つかの例には、限定ではなく、ＣＩＳＣ（ｃｏｍｐｌｅｘ  ｉｎｓｔｒｕｃｔｉｏｎ  ｓｅｔ  ｃｏｍｐｕｔｅｒ）マイクロプロセッサ、ＲＩＳＣ（ｒｅｄｕｃｅｄ  ｉｎｓｔｒｕｃｔｉｏｎ  ｓｅｔ  ｃｏｍｐｕｔｉｎｇ）マイクロプロセッサ、ＶＬＩＷ（ｖｅｒｙ  ｌｏｎｇ  ｉｎｓｔｒｕｃｔｉｏｎ  ｗｏｒｄ）マイクロプロセッサ、命令セットの組合せを実装するプロセッサ、または他のプロセッサ装置がある。１実施形態では、例えば、処理ユニット４２０を汎用目的のプロセッサとして実装してもよい。あるいは、処理ユニット４２０を、コントローラ、マイクロ・コントローラ、組込みプロセッサ、ＤＳＰ（ｄｉｇｉｔａｌ  ｓｉｎｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、ネットワーク・プロセッサ、メディア・プロセッサ、Ｉ／Ｏ（ｉｎｐｕｔ／ｏｕｔｐｕｔ）プロセッサ、ＭＡＣ（ｍｅｄｉａ  ａｃｃｅｓｓ  ｃｏｎｔｒｏｌ）プロセッサ、無線ベースバンド・プロセッサ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＤ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ）、ＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、等のような専用プロセッサとして実装してもよい。本実施形態はこの文脈に限定されない。
【００４１】
１実施形態では、例えば、コンピュータ４１０は処理ユニット４２０に結合された１つまたは複数のメモリ・ユニット４３０を備えることができる。メモリ・ユニット４３０は、情報またはデータを記憶するように配置構成した任意のハードウェア要素であることができる。メモリ・ユニットの幾つかの例には、限定ではなく、ＲＡＭ（ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＤＲＡＭ（ｄｙｎａｍｉｃ  ＲＡＭ）、ＤＤＲＡＭ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ  ＤＲＡＭ）、ＳＤＲＡＭ（ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）、ＳＲＡＭ（ｓｔａｔｉｃ  ＲＡＭ）、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＰＲＯＭ（ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  ＲＯＭ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ）、ＣＤ−ＲＷ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅｗｒｉｔａｂｌｅ）、フラッシュ・メモリ（例えば、ＮＯＲフラッシュ・メモリまたはＮＡＮＤフラッシュ・メモリ）、ＣＡＭ（ｃｏｎｔｅｎｔ  ａｄｄｒｅｓｓａｂｌｅ  ｍｅｍｏｒｙ）、ポリマ・メモリ（例えば、強誘電性ポリマ・メモリ）、相変化メモリ（例えば、オボニック・メモリ）、強誘電体メモリ、ＳＯＮＯＳ（ｓｉｌｉｃｏｎ−ｏｘｉｄｅ−ｎｉｔｒｉｄｅ−ｏｘｉｄｅ−ｓｉｌｉｃｏｎ）メモリ、ディスク（例えば、フロツピ・ディスク、ハード・ドライブ、光ディスク、磁気ディスク、光磁気ディスク）、カード（例えば、磁気カード、光カード）、テープ、カセット、または所望の情報の記憶に使用できコンピュータ４１０によってアクセス可能な他の任意の媒体がある。本実施形態はこの文脈に限定されない。
【００４２】
１実施形態では、例えば、コンピュータ４１０は、メモリ・ユニット４３０を含む様々なシステム構成要素を処理ユニット４２０に結合するシステム・バス４２１を備えることができる。システム・バス４２１は、メモリ・バスまたはメモリ・コントローラ、周辺バス、および様々なバス・アーキテクチャの何れかを用いたローカル・バスを含む、数種のバス構造のうちの何れかであることができる。限定ではなく例として、係るアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカル・バス、およびメザニン・バスとしても知られるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス、等が含まれる。本実施形態はこの文脈に限定されない。
【００４３】
様々な実施形態では、コンピュータ４１０は、様々な種類の記憶媒体を備えることができる。記憶媒体は、揮発性または不揮発性メモリ、取外し可能または取外し不能メモリ、消去可能または消去不能メモリ、書込み可能または再書込み可能メモリ等のような、データまたは情報を記憶可能な任意の記憶媒体を表すことができる。記憶媒体は、コンピュータ読取可能媒体または通信媒体を含む、２つの一般的なタイプを含むことができる。コンピュータ読取可能媒体は、コンピューティング・システム・アーキテクチャ４００のようなコンピューティング・システムの読書きに適合させた記憶媒体を備えることができる。コンピューティング・システム・アーキテクチャ４００に対するコンピュータ読取可能媒体の例には、限定ではなく、ＲＯＭ４３１およびＲＡＭ４３２のような揮発性および／または不揮発性メモリがある。通信媒体は、通常、コンピュータ読取可能命令、データ構造、プログラム・モジュールまたは他のデータを搬送波または他の伝送機構のような変調データ信号で具現化し、任意の情報送達媒体を含む。「変調データ信号」という用語は、１つまたは複数のその特性を有するか信号内の情報をエンコードするように変化した信号を意味する。限定ではなく例として、通信媒体には有線ネットワークまたは直接配線接続のような有線媒体と、音響、ＲＦ（ｒａｄｉｏ−ｆｒｅｑｕｅｎｃｙ）スペクトル、赤外線および他の無線媒体のような無線媒体が含まれる。上記の何れかの組合せもコンピュータ読取可能媒体の範囲に含まれるべきである。
【００４４】
様々な実施形態では、メモリ・ユニット４３０はコンピュータ記憶媒体をＲＯＭ４３１およびＲＡＭ４３２のような揮発性および／または不揮発性のメモリの形で備える。ＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）４３３は、例えば起動中にコンピュータ４１０内部の要素間での情報伝送を支援する基本的なルーチンを含み、通常はＲＯＭ４３１に記憶される。ＲＡＭ４３２は、通常、処理ユニット４２０が即座にアクセス可能であるデータおよび／または処理ユニット４２０上で現在稼働中のプログラム・モジュールを含む。限定ではなく例として、図４はオペレーティング・システム４３４、アプリケーション・プログラム４３５、他のプログラム・モジュール４３６、およびプログラム・データ４３７を示す。
【００４５】
コンピュータ４１０はまた、他の取外し可能または取外し不能のコンピュータ記憶媒体、揮発性または不揮発性のコンピュータ記憶媒体を含むことができる。例としてのみ、図４は取外し不能で不揮発性の磁気媒体を読み書きするハード・ディスク・ドライブ４４０、取外し可能で不揮発性の磁気ディスク４５２を読み書きする磁気ディスク・ドライブ４５１、およびＣＤ  ＲＯＭまたは他の光媒体のような取外し可能で不揮発性の光ディスク４５６を読み書きする光ディスク・ドライブ４５５を示す。例示的な動作環境で使用できる他の取外し可能または取外し不能のコンピュータ記憶媒体、揮発性または不揮発性のコンピュータ記憶媒体には、磁気テープ・カセット、フラッシュ・メモリ・カード、デジタル多用途ディスク、デジタル・ビデオ・テープ、固体ＲＡＭ、固体ＲＯＭ、等が含まれるがこれらに限らない。ハード・ディスク・ドライブ４４１は、通常、インタフェース４４０のような取外し不能メモリ・インタフェースを介してシステム・バス４２１に接続され、磁気ディスク・ドライブ４５１および光ディスク・ドライブ４５５は、通常、インタフェース４５０のような取外し可能メモリ・インタフェースによってシステム・バス４２１に接続される。
【００４６】
上で論じ、図４で示したドライブおよびその関連するコンピュータ記憶媒体は、コンピュータ読取可能命令、データ構造、プログラム・モジュール、および他のデータをコンピュータ４１０のために記憶する。図４では、例えば、ハード・ディスク・ドライブ４４１がオペレーティング・システム４４４、アプリケーション・プログラム４４５、他のプログラム・モジュール４４６、およびプログラム・データ４４７を記憶するとして示してある。これらの構成要素はオペレーティング・システム４３４、アプリケーション・プログラム４３５、他のプログラム・モジュール４３６、およびプログラム・データ４３７と同一であるかまたは異なることができることに留意されたい。オペレーティング・システム４４４、アプリケーション・プログラム４４５、他のプログラム・モジュール４４６、およびプログラム・データ４４７にはここでは異なる番号を与え、最低限それらが異なるコピーであることを示す。ユーザはキーボード４６２および一般にはマウス、トラックボールまたはタッチ・パッドと呼ばれるポインティング・デバイス４６１のような入力装置を介してコンピュータ４１０にコマンドおよび情報を入力することができる。他の入力装置（図示せず）にはマイクロフォン、ジョイスティック、ゲーム・パッド、パラボラ・アンテナ、スキャナ、等を含めることができる。これらおよび他の入力装置はしばしば、システム・バスに結合されたユーザ入力インタフェース４６０を介して処理ユニット４２０に接続されるが、パラレル・ポート、ゲーム・ポートまたはＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）のような他のインタフェースおよびバス構造によって接続してもよい。モニタ４８４または他種の表示装置も、ビデオ処理装置またはインタフェース４８２のようなインタフェースを介してシステム・バス４２１に接続される。モニタ４８４に加えて、コンピュータはスピーカ４８７およびプリンタ４８６のような他の周辺出力装置も含むことができ、これらは出力周辺インタフェース４８３を介して接続することができる。
【００４７】
コンピュータ４１０は、リモート・コンピュータ４８０のような１つまたは複数のリモート・コンピュータへの論理接続を用いてネットワーク環境で動作することができる。リモート・コンピュータ４８０はＰＣ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、サーバ、ルータ、ネットワークＰＣ、ピア・デバイスまたは他の共通ネットワーク・ノードであることができ、通常、コンピュータ４１０に関して上述した要素の多くまたは全てを含むが、明快さのため図４ではメモリ記憶装置４８１のみを示した。図４に図示した論理接続にはＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｏｗｏｒｋ）４７１およびＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）４７３が含まれるが、他のネットワークを含んでもよい。係るネットワーク環境は職場、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットで一般的である。
【００４８】
ＬＡＮネットワーク環境で使用する場合は、コンピュータ４１０はネットワーク・インタフェースまたはアダプタ４７０を通してＬＡＮ４７１に接続される。ＷＡＮネットワーク環境で使用する場合は、コンピュータ４１０は通常、モデム４７２、またはインターネットのようなＷＡＮ４７３上で通信を確立するのに適した他の技術を含む。モデム４７２は、内部または外部にあることができ、ネットワーク・インタフェース４７０または他の適切なメカニズムを介してシステム・バス４２１に接続することができる。ネットワーク環境では、コンピュータ４１０に関して図示したプログラム・モジュールまたはその一部を、リモート・メモリ記憶装置に記憶することができる。限定ではなく例として、図４はリモート・アプリケーション・プログラム４８５がメモリ装置４８１に常駐するとして示してある。示したネットワーク接続は例であって、コンピュータ間の通信リンクを確立する他の技術を使用してもよいことは理解されよう。さらに、ネットワーク接続を有線接続または無線接続として実装してもよい。後者の場合、コンピューティング・システム・アーキテクチャ４００を、１つまたは複数のアンテナ、送信機、受信機、送受信機、ラジオ、増幅器、フィルタ、通信インタフェース、および他の無線要素のような、無線通信に適した様々な要素で修正することができる。無線通信システムは、例えば、ＲＦスペクトルの１つまたは複数の部分または帯域のような無線通信媒体上で情報またはデータを通信する。本実施形態はこの文脈に限定されない。
【００４９】
通信システム１００および／またはコンピューティング・システム・アーキテクチャ４００の一部または全部を電子装置の一部、構成要素、またはサブ・システムとして実装することができる。電子装置の例には、限定ではなく、処理システム、コンピュータ、サーバ、ワークステーション、電子機器、端末、パーソナル・コンピュータ、ラップトップ、ウルトラ・ラップトップ、ハンドヘルド・コンピュータ、ミニ・コンピュータ、メインフレーム・コンピュータ、分散コンピューティング・システム、マルチプロセッサ・システム、プロセッサ・ベース・システム、消費家電、プログラム可能消費家電、携帯情報端末、テレビ、デジタル・テレビ、セット・トップ・ボックス、電話、移動電話、携帯電話、ハンドセット、無線アクセス・ポイント、基地局、加入者局、移動加入者局、無線ネットワーク・コントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはそれらの組合せがある。本実施形態はこの文脈に限定されない。
【００５０】
幾つかの場合では、様々な実施形態を製品として実装することができる。製品には、１つまたは複数の実施形態の様々な動作を実施するためのロジックおよび／またはデータを記憶するように構成した記憶媒体を含めることができる。記憶媒体の例には、限定ではなく、前述した例がある。様々な実施形態では、例えば、製品は磁気ディスク、光ディスク、フラッシュ・メモリ、または汎用目的のプロセッサもしくは特定用途向けプロセッサによる実行に適したコンピュータ・プログラム命令を含むファームウェアを備えることができる。しかし、本実施形態はこの文脈に限定されない。
【００５１】
様々な実施形態を、ハードウェア要素、ソフトウェア要素、またはその両方の組合せを用いて実装することができる。ハードウェア要素の例には、ロジック装置に対して上で与えた例の何れかに加えて、マイクロプロセッサ、回路、回路要素（例えば、トランジスタ、レジスタ、キャパシタ、インダクタ、等）、集積回路、論理ゲート、レジスタ、半導体装置、チップ、マイクロチップ、チップ・セット、等がある。ソフトウェア要素の例には、ソフトウェア・コンポーネント、プログラム、アプリケーション、コンピュータ・プログラム、アプリケーション・プログラム、システム・プログラム、マシン・プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェア・モジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェア・インタフェース、ＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍ  ｉｎｔｅｒｆａｃｅ）、命令セット、コンピューティング・コード、コンピュータ・コード、コード・セグメント、コンピュータ・コード・セグメント、語、値、記号、またはそれらの任意の組合せがある。実施形態がハードウェア要素および／またはソフトウェア要素を使用して実装されるかどうかは、所与の実装形態に応じて、所望の計算速度、電力レベル、耐熱性、処理サイクル予算、入力データ速度、出力データ速度、メモリ・リソース、データ・バス速度および他の設計上または性能上の制約のような、任意数の要因に従って様々に判断することができる。
【００５２】
幾つかの実施形態を「結合された」および「接続された」という表現をその派生語とともに用いて説明することができる。これらの言回しは必ずしも互いに対する同義語を意図したものではない。例えば、幾つかの実施形態を、２つ以上の要素が互いに直接物理的または電気的に接していることを示すために「接続された」および／または「結合された」という言回しを用いて説明することができる。しかし、「結合された」という言回しは、２つ以上の要素が互いに直接接してはいないが依然として互いと協調または相互作用することも意味することができる。
【００５３】
添付の要約書は、読者が技術的開示の本質を迅速に確認できるようにする要約を求める米国特許法施行規則第１．７２条（ｂ）項に準拠するように与えてあることを強調しておく。本要約書は、それが各請求項の範囲または意味を解釈または限定するために使用されないことを理解して提供されている。さらに、前述の発明を実施するための形態において、本開示を簡素化するために様々な機能が単一の実施形態に集約されていることが分かる。この開示方法は、主張した実施形態では各請求項で明示的に記載したものよりも多くの機能が必要であるという意図を反映するものと解釈すべきではない。そうではなく、添付の特許請求の範囲が表すように、本発明の主題は開示した単一の実施形態の全機能より少ない機能にある。従って、添付の特許請求の範囲は本明細書により発明を実施する形態に組み込まれ、各請求項はそれ自体が別々の実施形態を表す。添付の特許請求の範囲では、「ｉｎｃｌｕｄｉｎｇ」および「ｉｎ  ｗｈｉｃｈ」という用語は夫々「ｃｏｍｐｒｉｓｉｎｇ」および「ｗｈｅｒｅｉｎ」という用語の平易な英語の均等物として使用される。さらに、「第１の」、「第２の」、「第３の」、等は単にラベルとして使用され、それらの対象に順序要件を課そうとするものではない。
【００５４】
本発明の主題を構造的特徴および／または方法論的動作に固有な言葉で説明したが、添付の特許請求の範囲で定義した本発明の主題は必ずしも上述の特定の特徴または動作に限定されないことは理解されよう。そうではなく、上述の特定の特徴および動作は特許請求の範囲を実装する形態の例として開示されている。
【図１】
2010532049.tif 000005
【図２】
2010532049.tif 000006
【図３】
2010532049.tif 000007
【図４】
2010532049.tif 000008
【国際調査報告】
2010532049.tif 000009
2010532049.tif 000010