(57)【要約】  ネットワークのノード装置に適用される設定変更を管理する各種の実施形態を開示する。ノードの期待されるおよび目標設定ファイルが取得され、これらの設定ファイルは対応する値を有する各種のパラメータを示す。コンピュータ装置は、このパラメータのうち、設定ファイル間で対応する値が異なる差異パラメータを判断する。パラメータのうち、差異パラメータが依存する影響を与えるパラメータは、少なくとも部分的にパラメータリファレンスに基づいて判断される。コンピュータ装置は、少なくとも部分的に影響を与えるパラメータの対応する値に基づいて、影響を与えるパラメータのチェックサムを計算する。ノードにおいて現在設定されている影響を与えるパラメータのチェックサムを計算する命令が生成される。この命令は、さらに、チェックサムマッチングに応えて、ノードにおける差異パラメータを、目標設定ファイルによって示される差異パラメータの対応する値に設定するべきであることを示す。【選択図】図１【特許請求の範囲】
【請求項１】
ネットワークのノードを設定する方法であって、
コンピュータ装置において、前記ノード用の期待される設定ファイルおよび前記ノード用の目標設定ファイルを取得する取得ステップであって、前記各設定ファイルが、複数のパラメータを対応する値と共に示すものであって、前記複数のパラメータがバージョン識別子を含むものである、取得ステップと、
前記コンピュータ装置において、前記設定ファイルの比較に基づいて、前記パラメータのうち前記設定ファイル間で対応する値が異なる差異パラメータを判断するステップと、
前記コンピュータ装置において、少なくとも部分的にパラメータリファレンスに基づいて、前記パラメータのうち前記ノードにおける前記差異パラメータの位置が依存する影響を与えるパラメータを判断するステップと、
前記コンピュータ装置において、少なくとも部分的に前記パラメータリファレンスと、前記期待される設定ファイルにより示されて、前記バージョン識別子と判断される前記影響を与えるパラメータの対応する値とに基づいて、前記ノードにおける前記差異パラメータの位置を判断するステップと、
前記コンピュータ装置において、少なくとも部分的に前記期待される設定ファイルにより示される前記影響を与えるパラメータの対応する値に基づいて、前記影響を与えるパラメータのチェックサムを計算するステップと、
前記コンピュータ装置において以下の命令を生成するステップとを備え、
生成される前記命令は、
少なくとも部分的に前記ノードにおいて現在設定されている前記影響を与えるパラメータの対応する値に基づいて、前記ノードにおいて現在設定されている前記影響を与えるパラメータのチェックサムを計算させる命令と、
前記チェックサムマッチングに応じて、前記ノードの前記位置にある前記差異パラメータを、前記イルによって示される前記差異パラメータの対応する値に設定する命令とを含む、ネットワークのノードを設定する方法。
【請求項２】
請求項１に記載の方法であって、さらに
ヘッドエンドシステムにおいて、前記ノードを設定する前記命令を受信するステップと、
前記ヘッドエンドシステムにおいて、前記ノードに、前記命令のうち、前記ノードにおいて現在設定されている前記影響を与えるパラメータのチェックサムを計算する第１の命令を送信するステップと、
前記ヘッドエンドシステムにおいて、前記ノードにおいて現在設定されている前記影響を与えるパラメータのチェックサムを受信するステップと、
前記ヘッドエンドシステムにおいて、前記受信した命令により示されるチェックサムにマッチする前記ノードからの前記影響を与えるパラメータのチェックサムに応えて、前記ノードに、前記命令のうち、前記ノードにおいて前記差異パラメータの対応する値を設定する第２の命令を送信するステップとを含む、方法。
【請求項３】
請求項２に記載の方法であって、さらに、
前記ヘッドエンドシステムにおいて、前記命令によって示されるチェックサムとは異なる前記ノードからの前記影響を与えるパラメータのチェックサムに応えて、前記期待される設定が前記ノードに存在しないことを示す通知メッセージを生成するステップを含む、方法。
【請求項４】
請求項１に記載の方法であって、
前記チェックサムは、巡回冗長検査（ＣＲＣ）である、方法。
【請求項５】
請求項１に記載の方法であって、
前記期待される設定ファイルにより示される前記影響を与えるパラメータの対応する値は、前記目標設定ファイルによって示される前記影響を与えるパラメータの対応する値と同じである、方法。
【請求項６】
請求項１に記載の方法であって、
前記パラメータリファレンスの構造は、ＡＮＳＩ（米国規格協会）規格Ｃ１２．１９によって定義される、方法。
【請求項７】
請求項６に記載の方法であって、
前記ノードにおける前記差異パラメータの位置は、前記ノードに保存されたテーブルにおける位置を参照し、前記テーブルはＡＮＳＩ規格Ｃ１２．１９に準拠する、方法。
【請求項８】
コンピュータ装置において実行可能なプログラムを具現する非一時的なコンピュータ読取可能媒体であって、
前記プログラムは、
ノード用の期待される設定ファイルおよび前記ノード用の目標設定ファイルを取得する取得コードであって、前記各設定ファイルが、複数のパラメータを対応する値と共に示すものである、取得コードと、
前記設定ファイルの比較に基づいて、前記パラメータのうち、前記設定ファイル間で対応する値が異なる差異パラメータを判断するコードと、
少なくとも部分的にパラメータリファレンスに基づいて、前記パラメータのうち、前記差異パラメータが依存する影響を与えるパラメータを判断するコードと、
少なくとも部分的に前記期待される設定ファイルにより示される前記影響を与えるパラメータの対応する値に基づいて、前記影響を与えるパラメータのチェックサムを計算するコードと、
命令を生成するコードとを有し、
前記命令は、
少なくとも部分的に前記ノードにおいて現在設定されている前記影響を与えるパラメータの対応する値に基づいて、前記ノードにおいて現在設定されている前記影響を与えるパラメータのチェックサムを計算させる命令と、
前記チェックサムマッチングに応じて、前記ノードにおける前記差異パラメータを、前記目標設定ファイルによって示される前記差異パラメータの対応する値に設定する命令とを含む、非一時的なコンピュータ読取可能媒体。
【請求項９】
請求項８に記載の非一時的なコンピュータ読取可能媒体であって、
前記ノードは、ＡＭＩ（アドバンスド・メータリング・インフラストラクチャ）ネットワークにおけるスマートメータである、非一時的なコンピュータ読取可能媒体。
【請求項１０】
請求項８に記載の非一時的なコンピュータ読取可能媒体であって、
前記プログラムは、さらに、
少なくとも部分的に前記パラメータリファレンスと前記期待される設定ファイルにより示される前記影響を与えるパラメータの対応する値とに基づいて、前記ノードにおける前記差異パラメータの位置が依存することを判断するコードを含む、非一時的なコンピュータ読取可能媒体。
【請求項１１】
請求項１０に記載の非一時的なコンピュータ読取可能媒体であって、
前記ノードにおける前記差異パラメータの位置は、前記ノードに保存されたテーブルにおける位置を参照し、前記テーブルはＡＮＳＩ規格Ｃ１２．１９に準拠する、非一時的なコンピュータ読取可能媒体。
【請求項１２】
請求項８に記載の非一時的なコンピュータ読取可能媒体であって、
前記影響を与えるパラメータは、バージョン識別子である、非一時的なコンピュータ読取可能媒体。
【請求項１３】
請求項８に記載の非一時的なコンピュータ読取可能媒体であって、
前記プログラムは、さらに、
前記ノードを設定する命令を、前記ノードの設定を管理するヘッドエンドシステムに送信するコードを含む、非一時的なコンピュータ読取可能媒体。
【請求項１４】
システムであって、
プロセッサとメモリとを含むコンピュータ装置と、
前記コンピュータ装置において具現されているデルタジェネレータとを備え、
前記デルタジェネレータは以下のロジックを有し、
前記ロジックは、
ノード用の期待される設定ファイルおよび前記ノード用の目標設定ファイルを取得し、前記各設定ファイルが、対応する値を有する複数のパラメータをそれぞれ指定するものであり、
前記設定ファイルの比較に基づいて、前記パラメータのうち、前記設定ファイル間で対応する値が異なる差異パラメータを判断し、
少なくとも部分的にパラメータリファレンスに基づいて、前記パラメータのうち、前記差異パラメータが依存する影響を与えるパラメータを判断し、
少なくとも部分的に前記期待される設定ファイルにより示される前記影響を与えるパラメータの対応する値に基づいて、前記影響を与えるパラメータのチェックサムを計算し、
命令を生成するものであり、
前記命令は、
少なくとも部分的に前記ノードにおいて現在設定されている前記影響を与えるパラメータの対応する値に基づいて、前記ノードにおいて現在設定されている前記影響を与えるパラメータのチェックサムを計算させる命令と、
前記チェックサムマッチングに応えて、前記ノードにおける前記差異パラメータを、前記目標設定ファイルによって示される前記差異パラメータの対応する値に設定する命令とを有する、システム。
【請求項１５】
請求項１４に記載のシステムであって、さらに、
設定マネージャを実行する第２のコンピュータ装置を備え、
前記設定マネージャは、
前記ノードを設定する前記命令を受信し、
前記ノードに、前記命令のうち、前記ノードにおいて現在設定されている前記影響を与えるパラメータのチェックサムを計算する第１の命令を送信し、
前記ノードにおいて現在設定されている前記影響を与えるパラメータのチェックサムを受信し、
前記受信した命令により示されるチェックサムにマッチする前記ノードからの前記影響を与えるパラメータのチェックサムに応えて、前記ノードに、前記命令のうち、前記ノードにおいて前記差異パラメータの対応する値を設定する第２の命令を送信するロジックを有する、システム。
【請求項１６】
請求項１５に記載のシステムであって、
前記設定マネージャは、さらに、前記命令によって示されるチェックサムとは異なる前記ノードからの前記影響を与えるパラメータのチェックサムに応えて、前記期待される設定が前記ノードに存在しないことを示す通知メッセージを生成するロジックを有する、システム。
【請求項１７】
請求項１４に記載のシステムであって、
前記デルタジェネレータは、さらに、
少なくとも部分的に前記パラメータリファレンスと前記期待される設定ファイルにより示される前記影響を与えるパラメータの対応する値とに基づいて、前記ノードにおける前記差異パラメータの位置が依存することを判断するロジックを有する、システム。
【請求項１８】
請求項１７に記載のシステムであって、
前記ノードにおける前記差異パラメータの位置は、前記ノードに保存されたテーブルにおける位置を参照し、前記テーブルはＡＮＳＩ規格Ｃ１２．１９に準拠する、システム。
【請求項１９】
請求項１４に記載のシステムであって、
前記期待される設定ファイルにより示される前記影響を与えるパラメータの対応する値は、前記目標設定ファイルによって示される前記影響を与えるパラメータの対応する値と同じである、システム。
【請求項２０】
請求項１４に記載のシステムであって、
前記ノードは、ＡＭＩ（アドバンスド・メータリング・インフラストラクチャ）ネットワークにおけるスマートメータである、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
ＡＭＩ（アドバンスド・メータリング・インフラストラクチャ）ネットワークにおけるスマートメータなどのネットワーク化されたノードは、ノードに保存された設定データ（configuration data）に従って設定され、設定データは変更可能なパラメータと対応する値とからなる。時々、ノードの設定を変更または既知の値に設定する必要がある。可能性のある様々な制限により、変更を含む完全な設定をノードに送信することは現実的ではない。ノードをうまく管理するために、これらの制限にも関わらず、ノードの設定更新を確実に行う能力が求められている。
【発明の概要】
【０００２】
本発明の様々な態様は、ネットワークのノード装置に適用される設定変更の管理に関する。コンピュータ装置は、ノード用の期待される設定ファイルとノード用の目標設定ファイルとを取得し、各設定ファイルは対応する値を有する各種のパラメータを指定する。コンピュータ装置は、このパラメータのうち、設定ファイル間で対応する値が異なる差異パラメータ１つを決定する。パラメータのうち、差異パラメータが依存する影響を与えるパラメータは、少なくとも部分的にパラメータリファレンスに基づいて決定される。コンピュータ装置は、期待される設定ファイルによって示される影響を与えるパラメータの対応する値に少なくとも部分的に基づいて、影響を与えるパラメータのチェックサムを計算する。ノードにおいて現在設定されている影響を与えるパラメータのチェックサムを計算する命令が生成される。ノードにおけるチェックサムの計算は、ノード内で現在設定されている影響を与えるパラメータの対応する値に少なくとも部分的に基づいて行われる。この命令は、さらに、チェックサムマッチングに応えて、ノードにおける差異パラメータを、目標設定ファイルによって示される差異パラメータの対応する値に設定するべきであることを指定する。
【図面の簡単な説明】
【０００３】
本開示の多くの様態は、以下の図面を参照してよりよく理解することができる。図面に示す構成要素は必ずしも縮尺通りではなく、本開示の原理を明らかに図示することに重点が置かれている。また、図面において、複数の図における類似の参照番号は対応する要素を示すものとする。
【０００４】
【図１】図１は、本開示の各種の実施形態にかかるネットワーク化された環境を示す図である。
【０００５】
【図２】図２は、本開示の各種の実施形態にかかる図１のネットワーク化された環境におけるデルタジェネレータの動作の説明図である。
【０００６】
【図３】図３は、本開示の各種の実施形態にかかる図１のネットワーク化された環境における設定マネージャの動作の説明図である。
【０００７】
【図４】図４は、本開示の各種の実施形態にかかる図１のネットワーク化された環境におけるコンピュータ装置で実行されるデルタジェネレータの一部として実施される機能の一例を示すフローチャートである。
【０００８】
【図５】図５は、本開示の各種の実施形態にかかる図１のネットワーク化された環境におけるヘッドエンドシステムで実行される設定マネージャの一部として実施される機能の一例を示すフローチャートである。
【０００９】
【図６Ａ】図６Ａは、本開示の各種の実施形態にかかる図１のネットワーク化された環境で採用されるコンピュータ装置の一例を示す概略ブロック図である。
【００１０】
【図６Ｂ】図６Ｂは、本開示の各種の実施形態にかかる図１のネットワーク化された環境で採用されるヘッドエンドシステムの一例を示す概略ブロック図である。
【発明を実施するための形態】
【００１１】
本明細書に開示される技術は、ネットワークのノード装置に適用される設定変更（configuration  changes）の管理に関するものである。ネットワークの個々のノードの動作は、ノードに保存された設定データ（configuration  data）を設定する変更可能なパラメータと対応する値とのセットにより設定される。状況によって、ノードを管理するヘッドエンドシステムは、ノードの設定データの一部をその期待される設定から変更する必要があることがある。ノードおよび／またはノードが含まれるネットワークにおける制限により、変更を含む完全な設定を送信することは現実的ではない。そのため、必要な設定変更を１以上の命令として漸次ノードに送信することになる。
【００１２】
また、時間とともに場合によっては他の装置によってノードに設定変更が加えられることにより、ヘッドエンドシステムが使用できるノードの期待されている設定がノードの実際の設定と異なっていることが、これらの変更をヘッドエンドシステムおよび／またはその他のコンピュータ装置によって用いられるノードに関する期待される設定に反映しない限り、ある。これにより、ヘッドエンドシステムにとってノードの実際の設定が明確ではない状態となることがある。また、ノードへの完全な設定の送信を阻害する制限により、ノードからの完全な設定の受信が阻害される。完全な設定は不明確であっても、変更が依存する設定の一部がノードに変更を加える前に確認されるならば、ノードに任意の設定変更を適用することは安全である。
【００１３】
このため、コンピュータ装置は、例えば、ノード用の期待される設定ファイルとノード用の目標設定ファイルとの比較を行うことによって、ノードの設定に行われるべき変更を識別する。変更が識別されると、コンピュータ装置は、様々な考えられるパラメータとノード用の設定ファイルの対応する値との関係を特定するパラメータリファレンスを用いて、変更が依存する他のパラメータ（「影響を与えるパラメータ（governing parameters）」ともいう）を判断する。例えば、設定変更がノードにおけるサービスのオプションパラメータに関する場合、パラメータリファレンスは、そのオプションの設定が、まず、ノードにおいてそのサービスが有効化されていることを示すパラメータに依存することを示すことになる。
【００１４】
影響を与えるパラメータを判断すると、期待される設定によって示される各影響を与えるパラメータの対応する値のチェックサムが計算される。その後、ノードに対してノードに設定された各影響を与えるパラメータの対応する値のチェックサムを計算するよう指示する命令が作成される。また、この命令は、ノードに対して、ノードによって計算されたチェックサムが命令によって指定された対応するチェックサムとマッチすることが確認されると、ノードの設定に識別された設定変更を行うよう指示をする。
【００１５】
本明細書において、「期待される設定」は、ヘッドエンドシステムによって１以上のノードの現在の設定であると考えられるものを表すデータである。
【００１６】
本明細書において、「目標設定」は、１以上のノードに適用されることになる設定を表すデータを指す。
【００１７】
本開示を通じて、「設定」は「コンフィグ」とも呼ぶ。
【００１８】
本明細書において、「差異パラメータ」は、期待される設定と目標設定の比較に基づき、これらの設定間で対応する値が異なるパラメータを指す。
【００１９】
本明細書において、「影響を与えるパラメータ」は、差異パラメータが依存するパラメータを指す。
【００２０】
以下、システムおよびその構成要素の概要を説明し、続いてその動作について説明する。
【００２１】
図１に、各種の実施形態にかかるネットワーク化された環境１００を示す。ネットワーク化された環境１００は、コンピュータ装置１０３と、ヘッドエンドシステム１０６と、ノード１０７とを含む。コンピュータ装置１０３は、ネットワーク１０９ａを介してヘッドエンドシステム１０６と通信し、ヘッドエンドシステム１０６は、ネットワーク１０９ｂを介してノード１０７と通信する。ネットワーク１０９ａ〜１０９ｂは、それぞれ、例えば、広域ネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、有線ネットワーク、無線ネットワーク、インターネット、イントラネット、エクストラネット、もしくはその他の適切なネットワークなど、またはこれらのネットワークの２つ以上の組み合わせを含む。例えば、このようなネットワークは、衛星ネットワーク、ケーブルネットワーク、イーサネット（登録商標）・ネットワーク、およびその他のタイプのネットワークを含んでもよい。
【００２２】
コンピュータ装置１０３は、例えば、サーバコンピュータまたはその他の演算能力を備えるシステムを含んでもよい。代替的に、コンピュータ装置１０３は、例えば、１以上のサーバー列またはコンピュータ列またはその他の設定で配置された複数のコンピュータ装置を表してもよい。このようなコンピュータ装置は、一か所に設置されてもよいし、地理的に異なる多数の位置に分散して配置もよい。例えば、コンピュータ装置１０３は、ホスト型コンピューティングリソース、グリッド型コンピューティングリソース、および／またはその他の分散型コンピューティング配置を合わせて構成する複数のコンピュータ装置を表してもよい。場合によっては、コンピュータ装置１０３は、割り当てられた処理能力、ネットワーク、ストレージ、またはその他のコンピューティング関連リソースの容量が時間とともに変化する弾性コンピューティングリソースに対応してもよい。
【００２３】
様々な用途および／またはその他の機能を、様々な実施形態に従ってコンピュータ装置１０３で実行することができる。また、コンピュータ装置１０３にアクセス可能なデータストア１１２には、各種のデータが保存される。データストア１１２が複数のデータストア１１２を表すものであってもよいことは、言うまでもない。データストア１１２に保存されたデータは、例えば、以下に説明する様々なアプリケーションおよび／または機能エンティティの動作と関連付けられる。
【００２４】
コンピュータ装置１０３において実行される構成要素は、例えば、デルタジェネレータ１２１、および本明細書では詳細に説明しないそのほかのアプリケーション、サービス、処理、システム、エンジン、または機能を含む。デルタジェネレータ１２１は、適用される各設定変更が変更に依存する任意のパラメータの第１の有効値を有することを確認しつつ、１以上のノードに対する漸進的な設定変更を行うための命令を生成するために実行される。
【００２５】
データストア１１２に保存されたデータは、例えば、期待される設定データ１３１、目標設定データ１３３、パラメータリファレンス１３５、命令データ１３７、およびその他考えられるデータを含む。期待される設定データ１３１は、保存された１以上のノード設定を含む。設定変更が任意のノード１０７に適用されたという通知が受信されると、当該任意のノード１０７に対応する設定も、現在の設定の状態を維持するためのこの変更に更新されてもよい。目標設定データ１３３は、様々なノードに適用されることが求められる１以上のノード設定を含む。任意のノードについての目標設定は、当初はノードの期待される設定に基づいてもよいが、パラメータおよび／またはパラメータの対応する値に対する１以上の変更を含んでいる。いくつかの実施例では、期待される設定データ１３１および／または目標設定データ１３３は、ＸＭＬ（拡張マークアップ言語）を用いてノードの設定に用いられるテーブル構造を定義しており、これによりテーブル構造はＡＮＳＩ（米国規格協会）規格Ｃ１２．１９規格に準拠するものとなる。
【００２６】
パラメータリファレンス１３５は、考えられる各種のパラメータとこのパラメータに対応する各種の考えられる値の関係を指定する。ある実施例では、パラメータリファレンス１３５は、ＸＭＬを用いてノードの設定に用いられ、また各種の異なるテーブル構造を判断することができるパラメータとパラメータ値を示すとともに、考えられる各種のＡＮＳＩ規格Ｃ１２．１９テーブル構造を定義している。パラメータリファレンス１３５において表される定義から、特定の設定変更（例：パラメータ値の変更）に依存するパラメータが判断される。
【００２７】
命令データ１３７は、１以上の命令のセットを含み、命令のセットは、それぞれ、示される影響を与えるパラメータ値が検証された後に１以上の設定変更を行うようノードに指示を出す。また、命令データ１３７は、命令のセットに関するメタデータを含むことができ、メタデータは、この命令を適用する１以上のノード１０７を識別し、命令を適用するべきまたは適用するべきではない条件、命令の適用の成功または不成功時に開始するべきアクション、および／またはその他の考えられるメタデータを含んでもよいことは理解されよう。パラメータの検証のために、命令は、ノードに設定された識別された各影響を与えるパラメータの対応する値のチェックサムを計算するようノード１０７に指示を出す。また、命令は、ノードに対して、ノードによって計算されたチェックサムが命令によって指定された対応するチェックサムとマッチすることが確認されると、ノードの設定に識別された設定変更を行うよう指示する。
【００２８】
コマンドセンタやその他の種類のヘッドエンドシステムなどのヘッドエンドシステム１０６は、ノード１０７を管理しノードから受信した情報を処理するために用いることのできる１以上のコンピュータ装置を代表的なものである。ヘッドエンドシステム１０６において実行される様々な用途および機能の中でも、設定マネージャ１６１は、ネットワーク１０９ｂを介した各種のノード１０７の設定１７１の更新を容易にする。設定更新は、コンピュータ装置１０３から受信されたノード１０７の１以上に適用される命令データ１３７の１以上のセットに基づき指示される。
【００２９】
各ノード１０７は、ネットワーク１０９ｂを介して命令を受信して、受信した命令を実行して現在設定を検証し、検証の結果に応じて設定に対する指示された変更を行うことができる任意のネットワーク対応機器を表す。ある実施例では、ノード１０７は、家やアパートなどの施設にある、ガス、水道、または電力などの公共資源（ユーティリティ）の消費量を測定するメータであってもよい。このようなメータは、アドバンスド・メータリング・インフラストラクチャ（ＡＭＩ）や無線周波数（ＲＦ）ネットワークの一部とすることができる。ノードの他の例としては、ネットワークに取り付けられ、通信チャネル上で情報を送受信または転送することができる、ルータ、コレクタもしくは収集点、ホストコンピュータ、ハブ、またはその他の電子機器がある。
【００３０】
ノード１０７は、本発明の実施例においてノードを機能させることができる複数の構成要素を含んでもよい。例えば、ノード１０７は、ノードを、ネットワーク１０９ｂなどのようなメッシュネットワークまたはその他のネットワークトポロジーにおける、類似のノード１０７および／もしくは他の装置と通信可能とすることができる無線機を含んでもよい。各ノード１０７の無線機は、無線機をコンピュータのように機能させることができるプログラマブルロジック制御装置（ＰＬＣ）のような装置を含んでもよく、コンピュータ機能およびコマンド機能を実行し、本明細書に記載される本発明を実施することができる。また、ノード１０７は、他のノードとの通信に関する情報を保存する記憶媒体を含んでもよい。このような記憶媒体には、例えば、ノードの内部に設けられた、またはネットワークを介してノードがアクセス可能な、メモリ、フラッシュドライブ、ＣＤ−ＲＯＭ、ＤＶＤ、またはその他の記憶装置がある。また、ノード１０７は、計時を行う水晶発振器（すなわち、クロック）と、バックアップ電源となるバッテリーとを含んでもよい。ノード１０７には、バッテリーのみにより動作するものもある。
【００３１】
次に、ネットワーク化された環境１００の様々な構成要素の動作の概要を説明する。まず初めに、特定のノード１０７の設定を更新する命令を生成するために、デルタジェネレータ１２１は、ノード用の目標設定データ１３３とノード用の期待される設定データ１３１を取得する。図２に、特定のノード１０７への命令データ１３７がデルタジェネレータ１２１によって生成可能な様々なデータソースの例となる図を示す。図２に示す各種のデータはＸＭＬを用いてフォーマットされているが、その他のバイナリまたはテキストデータフォーマットも可能である。ノード用の期待される設定データ１３１の一部を期待コンフィグで表し、ノード１０７用の目標設定データ１３３の一部を目標コンフィグで表す。そして、デルタジェネレータ１２１は、ノード用の期待されるコンフィグ（期待コンフィグ）とノード用の目標コンフィグとを比較する。
【００３２】
この比較に基づいて、デルタジェネレータは、期待コンフィグと目標コンフィグとの間に差異があるかどうかを判断する。ここで、２つのコンフィグの間の違いは、「CONFIGURATION_TBL」というテーブルの「OPTION_2」パラメータの値のみである。期待コンフィグではこのパラメータの値は「１」であるが、目標コンフィグでのこのパラメータの値は「２」である。よって、このパラメータの値は、最終的にノード１０７のコンフィグ１７１において「２」に設定する必要がある。値が変更されることになるパラメータ（すなわち、「差異パラメータ」）に依存するパラメータがあるかどうか判断するために、デルタジェネレータはパラメータリファレンス１３５を参照する。
【００３３】
図２に示すパラメータリファレンス１３５の抜粋では、差異パラメータ（すなわち、CONFIGURATION_TBLのOPTION_2）は、「UINT8」と示す符号なしの８ビットの整数である値を有するよう定義される。しかしながら、ノード１０７に設定されるCONFIGURATION_TBL内の差異パラメータの値がある位置は、当該テーブルの先に定義された他のパラメータ値に割り当てられたスペースに依存する。図２に示す例示的パラメータリファレンス１３５は、CONFIGURATION_TBL内でOPTION_2を定義する前にテーブル要素「OPTION_1」を定義し、よってOPTION_2の位置はOPTION_1に割り当てられたスペースの後に隣接することになる。しかしながら、パラメータリファレンス１３５においてOPTION_1の定義に用いられる条件文（すなわち、IF THEN-ELSE）に基づき、OPTION_1に割り当てられたスペースは、「VERSION_TBL」というテーブルの「VERSION」パラメータの値に依存する。よって、VERSIONパラメータを「影響を与えるパラメータ」と呼ぶことができる。
【００３４】
特に、パラメータリファレンス１３５によれば、VERSIONパラメータの値が「１」ならば、OPTION_1は、UINT8として識別される符号なしの８ビットの整数値のスペースに割り当てられる。よって、VERSIONのパラメータ値が「１」ならば、OPTION_2は、CONFIGURATION_TBL内のOPTION_1に割り当てられた最初の８ビット（１バイト）の後に配置される。代替的に、VERSIONパラメータの値が「１」以外であるならば、OPTION_1は、「UINT16」として識別される符号なしの１６ビットの整数のスペースに割り当てられる。よって、VERSIONのパラメータ値が「１」ではないならば、OPTION_2は、CONFIGURATION_TBL内のOPTION_1に割り当てられた最初の１６ビット（２バイト）の後に配置される。
【００３５】
よって、パラメータリファレンスの試験に基づき、デルタジェネレータ１２１は、CONFIGURATON_TBLのOPTION_2のパラメータ値を変更するための影響を与えるパラメータはVERSION_TBLのVERSIONだけであると判断する。以上のように、デルタジェネレータ１２１による影響を与えるパラメータの識別を可能とする方法の１つとして考えられるのが、パラメータリファレンス１３５内の同テーブルで定義される条件文の主語であるパラメータを変更対象のパラメータとして識別することである。
【００３６】
そのため、デルタジェネレータ１２１は、期待コンフィグからVERSIONパラメータの値を識別し、この値のチェックサムを計算する。チェックサムは、値の総和、ＣＲＣ−１６／３２（巡回冗長検査）、ＭＤ−４／５、ＳＨＡ−１／２／３（セキュア・ハッシュ・アルゴリズム）、および／またはその他考えられるものなど、各種の考えられるアルゴリズムを用いて計算することができることは理解されよう。いくつかの実施例では、特にパラメータ値が小さい場合、パラメータ値をチェックサム値として用いることができる。影響を与えるパラメータが追加的に識別される場合、デルタジェネレータ１２１は、残りの影響を与えるパラメータ値についてのチェックサムの計算を継続する。
【００３７】
その後、デルタジェネレータ１２１は、特定のノード１０７のコンフィグ１７１に設定変更を適用するための命令のセットを用意することができる。命令は、どのように値を検証しどのような値であるべきかなどの、影響を与えるパラメータの値の確認方法を指定し、その後検証が成功（すなわち、対応するチェックサムがマッチ）した場合、１以上の差異パラメータを割り当てるべき値を指定する。図２の例で説明したように、VERSION_TBL内のVERSIONの影響を与えるパラメータ値は、OPTION_2パラメータの値に変更を行う前に検証されなければならない。パラメータリファレンス１３５は、VERSIONパラメータ値がVERSION_TBLの第１の要素として配置される符号なしの８ビットの整数値（すなわち、UINT8）であることを指定し、このテーブルはテーブル識別子「１」によって識別される。
【００３８】
デルタジェネレータ１２１は、ノード１０７にノードのパラメータリファレンス１３５が指定する位置の値がVERSIONパラメータに対応することを検証させることによって影響を与えるパラメータ値をまず検証する命令のセットを生成する。特に、命令データ１３７は、ノード（すなわち、VERSION_TBL）のテーブル「１」にオフセット「０」および長さ「１」で位置する値が「１」のチェックサムに対応することを検証することを指定する。この例では、命令の「オフセット」は、ここではVERSION_TBL（テーブル「１」としても識別される）である任意のテーブルの開始からのバイト数に相当し、オフセット「０」がテーブルの開始となる。命令の「長さ」は、パラメータの値に割り当てられたバイト数に相当し、ここでは１バイト（１バイトのUINT8タイプに相当）である。よって、命令は、ノードに見られるテーブル１の第１のバイト（オフセット０、長さ１）にある値のチェックサムが「１」に等しいことを検証するよう指定する。
【００３９】
パラメータリファレンス１３５によって示されるように、ノードに見られる影響を与えるパラメータ値が検証される（すなわち、チェックサムがマッチする）と、命令の「書き込み」部が、ノードのCONFIGURATION_TBLのOPTION_2に対応する位置に「０２」の値を書き込むことを指定する。ここで、命令は、書き込みがテーブル「２」（CONFIGURATION_TBLの識別子）のオフセット「１」、長さ「１」で発生するものであることを指定する。オフセット０がテーブルの第１のバイトを表すことから、オフセット「１」は書き込みがテーブルの第２のバイトから開始されるものであることを指定し、長さ「１」は１バイトがパラメータ値に割り当てられることを示す。命令を適用する対象のノードを識別するメタデータを含む命令が生成されると、命令をネットワーク１０９ａを介してヘッドエンドシステム１０６へ送信することができる（図１）。
【００４０】
次に、図３に示すように、ヘッドエンドシステム１０６は命令データ１３７を受信する。ヘッドエンドシステム１０６が命令を受信するノード１０７を識別すると、ヘッドエンドシステム１０６は、ネットワーク１０９ｂ（図１）を介して、ノードの指定位置に見られる値のチェックサムを判断しチェックサムの結果をヘッドエンドシステム１０６に返す命令をノードへ送信する。上述のとおり、この指定位置は、ノードに設定される影響を与えるパラメータの値の位置に相当する。図３に示す例において、命令データ１３７は、ノード１０７がノードのテーブル「１」（すなわち、VERSION_TBL）、のオフセット「０」、長さ「１」に位置する値のチェックサムを判断するものであることを指定する。
【００４１】
ヘッドエンドシステム１０６が、ノードから受信したチェックサムが命令で指定された（すなわち、期待コンフィグの影響を与えるパラメータ値から計算された）チェックサムとマッチすると判断すると、ヘッドエンドシステム１０６は、命令に基づいて、ノードに指定値をノードの指定位置に書き込むよう指示する。上述のとおり、命令に与えられる指定値は、目標コンフィグにみつかる差異パラメータの値に相当し、指定位置はノード１０７の差異パラメータの値に割り当てられる位置に相当する。図３に示す例において、命令データ１３７の「書き込み」部は、テーブル「２」（CONFIGURATION_TBLの識別子）のオフセット「１」、長さ「１」に「０２」の値を書き込むよう指定する。パラメータリファレンスによって示されるように、この位置は、ノードのCONFIGURATION_TBLのOPTION_2に相当する。
【００４２】
いくつかの実施例では、ヘッドエンドシステム１０６は、実行対象の各書き込み動作および関連付けられた検証動作をノード１０７に送信することができ、ノード１０７は影響を与えるパラメータ値が設定変更を行う前にうまく検証されたかどうかを判断する。これらの実施形態では、ノード１０７は、設定変更の成功または失敗をヘッドエンドシステム１０６へ報告してもよい。
【００４３】
次に図４に、様々な実施形態にかかるデルタジェネレータ１２１の一部の動作の一例を示すフローチャートを示す。言うまでもなく、図４のフローチャートは、本明細書で説明するデルタジェネレータ１２１の一部の動作を実施するために採用可能な多種多様な機能設定の一例を示すにすぎない。代替的に、図４のフローチャートは、１以上の実施形態にかかるコンピュータ装置１０３（図１）において実施される方法の要素の一例を示すものとしてみなすこともできる。
【００４４】
まず、ブロック４０３において、デルタジェネレータ１２１は、ノード用の目標設定とノード用の期待される設定を取得する。コンフィグはＸＭＬを用いてフォーマットされてもよいが、その他のバイナリまたはテキストデータフォーマットも可能である。次に、ブロック４０６において、デルタジェネレータ１２１は、期待コンフィグと目標コンフィグとの間で対応する値が異なるパラメータがあるかどうかを判断するが、このようなパラメータは差異パラメータと呼ぶことができる。例えば、期待コンフィグにおけるOPTION_2パラメータの値は「１」であり、目標コンフィグにおけるOPTION_2パラメータの値は「２」である。いくつかの実施例では、デルタジェネレータ１２１は、さらに、期待コンフィグと比較べて目標コンフィグに追加または除外されたパラメータがあるかどうかを判断することができる。例えば、目標コンフィグは、期待コンフィグに含まれない特定のテーブルにOPTION_3として識別されたパラメータの追加を含むことができる。ノードの考えられるパラメータとこれに割り当てられるノード内のスペースは、デルタジェネレータ１２１が参照可能なパラメータリファレンス１３５に示される。
【００４５】
次に、ブロック４０９において、デルタジェネレータ１２１は、パラメータリファレンスの試験から特定または推測可能なように、ノードの差異パラメータがその他のパラメータに依存するか否かを判断する。依存性の性質は、ノードにおける差異パラメータの特定の位置が影響を与えるパラメータの値に依存するなど、様々な方法で表現される。デルタジェネレータが、影響を与えるパラメータを識別しない場合、デルタジェネレータ１２１の実行はブロック４１５へ進む。代替的に、１以上の影響を与えるパラメータが識別される場合、ブロック４１２において、デルタジェネレータ１２１は、各影響を与えるパラメータに対応する値のチェックサムを計算する。チェックサムは、値の総和、ＣＲＣ−１６／３２、ＭＤ−４／５、ＳＨＡ−１／２／３、および／またはその他考えられるものなど、各種の考えられるアルゴリズムを用いて計算することができることは理解されよう。いくつかの実施例では、特にパラメータ値が小さい場合、チェックサムがパラメータ値自体となるよう「計算」されてもよい。
【００４６】
次に、ブロック４１５において、デルタジェネレータ１２１は、命令のセットを比較して設定変更をノード１０７の１以上の差異パラメータに適用することができる。命令は、まず影響を与えるパラメータの値を確認して、その後確認が成功または影響を与えるパラメータが損藍しない場合１以上の差異パラメータを割り当てる値を確認する方法を指定する。命令が生成されると、デルタジェネレータ１２１は、命令のセットを命令データ１３７に保存することができる、および／または命令をヘッドエンドシステム１０６に送信することができる。命令は、ノード用の目標設定だけでなくノード用の期待設定に基づいてよいため、ノード用の目標設定が同じであっても別のノードには別の命令のセットを用いることができる。その後、図に示すように、この部分のデルタジェネレータ１２１の実行は終了する。
【００４７】
図５に、各種の実施形態にかかる設定マネージャ１６１の一部の動作の一例を示すフローチャートを示す。言うまでもなく、図５のフローチャートは、本明細書で説明する設定マネージャ１６１の一部の動作を実施するために採用可能な多種多様な機能設定の一例を示すにすぎない。代替的に、図５のフローチャートは、１以上の実施形態にかかるヘッドエンドシステム１０６（図１）において実施される方法の要素の一例を示すものとしてみなすこともできる。
【００４８】
ブロック５０３において、ヘッドエンドシステム１０６は、ノードに適用する設定変更の命令のセットを含む、命令データ１３７の少なくとも一部を取得する。次に、ブロック５０６において、設定マネージャ１０６は、ネットワーク１０９ｂ（図１）を介して、ノード内の指定位置に見られる値のチェックサムを判断してチェックサムの結果をヘッドエンドシステム１０６に返す命令をノードに送信する。上述のとおり、指定位置は、ノードに設定された影響を与えるパラメータの値の位置に相当する。
【００４９】
そして、ブロック５０９において、設定マネージャ１６１は、ノード１０７から受信した影響を与えるパラメータ値のチェックサムが命令で示される影響を与えるパラメータ値のチェックサムとマッチするか否かを判断することによって、受信したチェックサムを検証する。影響を与えるパラメータ値のチェックサムがマッチしない場合、検証は失敗であり、設定マネージャ１６１のこの部分の実行を終了し、ノードへの設定変更は行われない。ある実施例では、設定マネージャ１６１は、ノードの設定変更の試みの失敗または成功を示す通知メッセージを生成する。通知メッセージは、設定変更が失敗した場合にはその理由を含むこともある。通知メッセージは、期待コンフィグデータ１３１の状態を維持するために、デルタジェネレータ１２１に送ることができる。例えば、失敗の理由の１つに、ノードに期待設定が存在しないことがある（すなわち、影響を与えるパラメータ値が期待されたものではなかった）。代替的に、影響を与えるパラメータの検証が成功である場合、ブロック５１２において、設定マネージャ１６１は、命令によって示されるほかに検証するべき影響を与えるパラメータがあるか否かを判断する。検証するべき影響を与えるパラメータがある場合、設定マネージャ１６１の実行は、ブロック５０６に戻って次の影響を与えるパラメータを検証する。
【００５０】
それ以外の場合、命令で示される全ての影響を与えるパラメータが検証された場合、ブロック５１５において、設定マネージャ１６１は、命令に基づいて、変更対象のパラメータそれぞれについてノードの指定位置に指定値を書き込むようノード１０７に指示する。命令にある指定値は、目標コンフィグに見られる差異パラメータの値に相当し、指定位置は、ノード１０７の差異パラメータの値に割り当てられた位置に相当する。その後、図に示す通り、設定マネージャ１６１のこの部分の実行が終了する。
【００５１】
図６Ａおよび図６Ｂに、それぞれ、本開示の実施形態にかかるコンピュータ装置１０３およびヘッドエンドシステム１０６を表すコンピュータ装置の模式的ブロック図を示す。各コンピュータ装置は、例えばローカルインターフェース６０９ａ／６０９ｂに接続されたプロセッサ６０３ａ／６０３ｂおよびメモリ６０６ａ／６０６ｂを有する少なくとも１の処理回路を含む。このため、各コンピュータ装置は、例えば、少なくとも１のサーバコンピュータまたは類似の装置を備えてもよい。ローカルインターフェース６０９ａ／６０９ｂは、例えば、アドレス／制御バスを有するデータバスまたはその他のバス構造を備えることができることは理解されよう。
【００５２】
メモリ６０６ａ／６０６ｂには、プロセッサ６０３ａ／６０３ｂによって実行可能なデータと複数の構成要素の両方が格納される。特に、メモリ６０６ａ／６０６ｂに格納され、プロセッサ６０３ａ／６０３ｂによって実行可能なものは、デルタジェネレータ１２１または設定マネージャ１６１であり、その他のアプリケーションである場合もある。また、メモリ６０６ａ／６０６ｂには、データストアおよびそのほかのデータが格納されてもよい。また、オペレーティング・システムが、メモリ６０６ａ／６０６ｂに格納されてプロセッサ６０３ａ／６０３ｂにより実行可能であってもよい。
【００５３】
その他、メモリ６０６ａ／６０６ｂに格納されてプロセッサ６０３ａ／６０３ｂにより実行可能なアプリケーションがあってもよいことは理解されよう。本明細書で説明する構成要素がソフトウェアの形で実施される場合、例えば、Ｃ言語、C++、C#、オブジェクティブＣ、Java（登録商標）、JavaScript（登録商標）、Perl、PHP、Visual Basic（登録商標）、Python（登録商標）、Ruby、Flash（登録商標）、またはその他のプログラム言語などの多数のプログラム言語から任意の言語を採用することができる。
【００５４】
多数のソフトウェア要素が、メモリ６０６ａ／６０６ｂに格納されてプロセッサ６０３ａ／６０３ｂにより実行可能である。この点において、「実行可能」という語句は、最終的にプロセッサ６０３ａ／６０３ｂによって実行することが可能な形となったプログラムファイルを意味する。実行可能なプログラムの例としては、例えば、メモリ６０６ａ／６０６ｂのランダムアクセス部にロード可能およびプロセッサ６０３ａ／６０３ｂによって実行可能なフォーマットでマシンコードに翻訳可能なコンパイルされたプログラム、メモリ６０６ａ／６０６ｂのランダムアクセス部にロード可能およびプロセッサ６０３ａ／６０３ｂにより実行可能なオブジェクトコードなどの適切なフォーマットで表現できるソースコード、または別の実行可能なプログラムにより翻訳されてメモリ６０６ａ／６０６ｂのランダムアクセス部にプロセッサ６０３ａ／６０３ｂにより実行される命令を生成するソースコードがある。実行可能なプログラムは、例えば、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、ハードドライブ、半導体ドライブ、ＵＳＢフラッシュドライブ、メモリカード、コンパクトディスク（ＣＤ）やデジタル多用途ディスク（ＤＶＤ）などの光ディスク、磁気テープ、またはその他のメモリ要素などの、メモリ６０６ａ／６０６ｂの任意の部分または構成要素に格納することができる。
【００５５】
本明細書において、メモリ６０６ａ／６０６ｂは、揮発性および不揮発性メモリならびにデータ記憶要素を含むものと定義される。揮発性要素は、電源喪失時にデータ値が保持されないものを指す。不揮発性要素は、電源喪失時もデータ値が保持されるものを指す。よって、メモリ６０６ａ／６０６ｂは、例えば、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、ハードディスクドライブ、半導体ドライブ、ＵＳＢフラッシュドライブ、メモリカードリーダ経由でアクセスされるメモリカード、光ディスクドライブ経由でアクセスされる光ディスク、適切なテープドライブ経由でアクセスされる磁気テープ、および／もしくはその他のメモリ要素、これらのメモリ要素の２つ以上の組み合わせを備えてもよい。また、ＲＡＭは、例えば、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、または磁気ランダムアクセスメモリ（ＭＲＡＭ）、およびその他のこのような装置を備えてもよい。ＲＯＭは、例えば、プログラム可能なリードオンリーメモリ（ＰＲＯＭ）、消去及びプログラム可能なリードオンリーメモリ（ＥＰＲＯＭ）、電気的に消去及びプログラム可能なリードオンリーメモリ（ＥＥＰＲＯＭ）、またはその他類似のメモリ装置を備えてもよい。
【００５６】
また、プロセッサ６０３ａ／６０３ｂは、複数のプロセッサ６０３ａ／６０３ｂおよび／または複数のプロセッサコアを表してもよく、メモリ６０６ａ／６０６ｂは、それぞれ並列処理回路で動作する複数のメモリ６０６ａ／６０６ｂを表してもよい。この場合、ローカルインターフェース６０９ａ／６０９ｂは、複数のプロセッサ６０３ａ／６０３ｂのうち２つの間、プロセッサ６０３ａ／６０３ｂのいずれかとメモリ６０６ａ／６０６ｂのいずれかとの間、またはメモリ６０６ａ／６０６ｂのうち２つの間などで、通信を容易にする適切なネットワークとすることができる。ローカルインターフェース６０９ａ／６０９ｂは、例えば負荷バランシングなど、この通信を調整するよう設定された追加的なシステムを備えてもよい。プロセッサ６０３ａ／６０３ｂは、電気的またはその他の利用可能な構造のものであってよい。
【００５７】
本明細書に記載のデルタジェネレータ１２１、設定マネージャ１６１、およびその他の各種システムは、上述のように汎用ハードウェアによって実行可能なソフトウェアまたはコードとして具現化することができるが、代替的に専用ハードウェアまたはソフトウェア／汎用ハードウェアと専用ハードウェアの組み合わせで具現化されてもよい。専用ハードウェアで実現される場合、これらは、それぞれ、数多くの技術のいずれかまたは組み合わせを採用した回路または状態機械として実装することができる。こうした技術の例としては、１以上のデータ信号を与えると各種のロジック関数を実施するロジックゲートを有する個別ロジック回路、適切なロジックゲートを有する特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはその他の要素などがあるが、これに限定されない。このような技術は当業者には概ね周知のものであり、そのため本明細書では詳述しない。
【００５８】
図４および図５のフローチャートは、それぞれ、デルタジェネレータ１２１および設定マネージャ１６１の部分を実施した際の機能と動作を示す。ソフトウェアで具現化される場合、各ブロックは、指定されたロジック関数を実施するプログラム命令を設定するコードのモジュール、セグメント、または一部を表すことができる。プログラム命令は、プログラム言語またはマシンコードで記述された、コンピュータシステムまたはその他のシステムのプロセッサ６０３ａ／６０３ｂなどの適切な実行システムによって認識可能な数的命令を含む、人間が読み取れる命令文を含むソースコードの形で実現されてもよい。マシンコードは、ソースコード等から変換可能である。ハードウェアで具現化される場合、各ブロックは、指定されたロジック関数を実施する回路または多数の相互接続された回路を表すことができる。
【００５９】
図４および図５のフローチャートでは特定の実行順序を示しているが、言うまでもなく、実行順序は図に示したものとは異なっていてもよい。例えば、２つ以上のブロックの実行順序を、図に示した順序に対してスクランブルされてもよい。また、図４および図５では連続する２つ以上のブロックを、同時にまたは部分的に同時に実行してもよい。さらに、いくつかの実施形態では、図４および図５に示すブロックの１以上をスキップまたは省略してもよい。また、実用性、経理、性能測定の向上のため、またはトラブルシューティング支援などに、任意の数のカウンター、状態変数、警告セマフォ、またはメッセージを、本明細書で説明するロジックフローに追加することができる。言うまでもなく、こうした変化例も本開示の範囲に含まれる。
【００６０】
また、デルタジェネレータ１２１および設定マネージャ１６１を含めて、本明細書に記載のソフトウェアまたはコードを含むロジックまたはアプリケーションは、例えば、コンピュータシステムまたはその他のシステムにおけるプロセッサ６０３ａ／６０３ｂなどの命令実行システムによってまたはこれと接続して用いられる非一時的なコンピュータ読取可能媒体に具現化されてもよい。この意味では、ロジックは、例えば、コンピュータ読取可能媒体から取り込んで命令実行システムによって実行することができる命令および宣言を含む、命令文を含んでもよい。本開示の文脈において、「コンピュータ読取可能媒体」は、命令実行システムによってまたはこれと接続して用いられる本明細書に記載のロジックまたはアプリケーションを含む、格納する、または維持することができる任意の媒体であってもよい。
【００６１】
コンピュータ読取可能媒体は、例えば、磁気、光学、または半導体媒体など、多くの物理媒体から任意の１つを含むことができる。適切なコンピュータ読取可能媒体のより具体的な例としては、磁気テープ、磁気ハードドライブ、メモリカード、半導体ドライブ、ＵＳＢフラッシュドライブ、または光ディスクがあるが、これに限らない。また、コンピュータ読取可能媒体は、例えばスタティックランダムアクセスメモリ（ＳＲＡＭ）やダイナミックランダムアクセスメモリ（ＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、または磁気ランダムアクセスメモリ（ＭＲＡＭ）であってもよい。また、コンピュータ読取可能媒体は、リードオンリーメモリ（ＲＯＭ）、プログラム可能なリードオンリーメモリ（ＰＲＯＭ）、消去及びプログラム可能なリードオンリーメモリ（ＥＰＲＯＭ）、電気的に消去及びプログラム可能なリードオンリーメモリ（ＥＥＰＲＯＭ）、またはその他のタイプのメモリ装置であってもよい。
【００６２】
さらに、デルタジェネレータ１２１および設定マネージャ１６１を含む、本明細書に記載のロジックまたはアプリケーションは、様々な方法で実施および設定することができる。例えば、記載の１以上のアプリケーションを、１つのアプリケーションのモジュールまたは要素として実施することができる。また、本明細書に記載の１以上のアプリケーションを、共用または独立したコンピュータ装置またはその組み合わせで実行することができる。例えば、本明細書に記載の複数のアプリケーションを、同じコンピュータ装置でまたは複数のコンピュータ装置で実行してもよい。加えて、言うまでもなく、「アプリケーション」、「サービス」、「システム」、「エンジン」、「モジュール」、等の語句は、置き替え可能であり、また限定を意図するものではない。
【００６３】
「Ｘ、Ｙ、またはＺの少なくとも１」などの選言的言語は、特に明記されない限り、通常、項目や用語などが、Ｘ、Ｙ、もしくはＺ、またはその任意の組み合わせ（例：Ｘ、Ｙ、および／またはＺ）であってよいことを一般的に表す文脈で理解される。よって、このような選言的言語は、通常、ある実施形態がＸの少なくとも１、Ｙの少なくとも１、またはＺの少なくとも１を必要とすることを意図するものでも意味するものではない。
【００６４】
上記の本開示の実施形態は、本開示の原理を明確に理解するために提示された、考えられる例にすぎないことを強調しておく。上記の実施形態に対する多くの変形例および変更例を実質的に本開示の主旨および原理から外れることなく行うことが可能である。このような変更例および変形例の全ては、本開示の範囲として本明細書に含まれ、添付の請求項の範囲により保護されるものとする。
【図１】
2018521411.tif 000002
【図２】
2018521411.tif 000003
【図３】
2018521411.tif 000004
【図４】
2018521411.tif 000005
【図５】
2018521411.tif 000006
【図６Ａ】
2018521411.tif 000007
【図６Ｂ】
2018521411.tif 000008
【国際調査報告】
2018521411.tif 000009
2018521411.tif 000010
2018521411.tif 000011