(57)【要約】【課題】複数のネットワーク化ノードを含む階層同期トポロジにおいて、比較的少ないリソースで情報同期速度を向上させる方法及び装置を提供する。【解決手段】本方法は、第１のネットワーク化ノードを第２および第３のネットワーク化ノードと直接関連する親ノードとなるように構成し、第２および第３のネットワーク化ノードは第１および第２の直系子ノードとなり、第１の直系子ノードを通じて親ノードと間接的に関連する一式の間接的子ノードとしてその他のネットワーク化ノードを選択し、直系子ノードと関連する複数の階層同期レベルに基づいて直系子ノードへと同期化実行中の情報を順次送信する一方、一式の間接的子ノードには情報を送信しないように親ノードを構成することを含む。このとき親ノードが第２の直系子ノードに情報を送信する間に、第１の直系子ノードが一式の間接的子ノードに情報を伝播する。【選択図】図７
2009296595.tif 000002
【特許請求の範囲】
【請求項１】
複数のネットワーク化ノードを備える階層同期トポロジ内で情報を同期化する方法であって、
第１のネットワーク化ノードを、第２および第３のネットワーク化ノードと直接関連する親ノードとなるように構成し、前記第２および第３のネットワーク化ノードは前記親ノードの第１および第２の直系子ノードとなるように各々が構成され、
前記第１の直系子ノードを通じて前記親ノードと間接的に関連する間接的子ノードの第１の集合となるその他のネットワーク化ノードを一以上選択し、
前記第１および第２の直系子ノードが関連する複数の階層同期レベルに基づいて、前記第１および第２の直系子ノードへ同期化実行中の情報を順次送信する一方、前記間接的子ノードの第１の集合には情報を送信しないように前記親ノードを構成すること、を含み、
前記親ノードが前記第２の直系子ノードに情報を送信する間に、前記第１の直系子ノードが前記間接的子ノードの第１の集合へと情報を伝播することを特徴とする方法。
【請求項２】
前記第１の直系子ノードの直系子ノードとなるように更に構成された、前記間接的子ノードの第１の集合の中の少なくとも一つの間接的子ノードに、情報を送信するように、第１の直系子ノードを構成することを更に含む、請求項１に記載の方法。
【請求項３】
前記第１および第２の直系子ノードが、複数の階層同期レベルのうちの一意の階層同期レベルと各々関連することを特徴とする、請求項１に記載の方法。
【請求項４】
前記第１の直系子ノードが、前記間接的子ノードの第１の集合の中の間接的子ノードの少なくとも幾つかに情報を順次送信することを特徴とする、請求項１に記載の方法。
【請求項５】
前記間接的子ノードの第１の集合が第１の部分集合および第２の部分集合を備え、
前記第１の直系子ノードが、階層同期レベルの第１の集合に応じて、前記間接的子ノードの第１の部分集合と直接関連し、
前記親ノードから情報を受信した後に、前記第１の直系子ノードが、関連する階層同期レベルの第１の集合に基づいて前記間接的子ノードの第１の部分集合に情報を順次送信する一方、前記間接的子ノードの第２の部分集合には情報を送信しないことを特徴とする、請求項４に記載の方法。
【請求項６】
前記間接的子ノードの第１の部分集合の中の間接的子ノードが各々、階層同期レベルの第１の集合のうちの一意の階層同期レベルと関連することを特徴とする、請求項５に記載の方法。
【請求項７】
前記第２の直系子ノードを通じて前記親ノードと間接的に関連する間接的ノードの第２の集合となる一以上のその他のネットワーク化ノードを選択することを更に含み、
前記親ノードから情報を受信した後に、前記第２の直系子ノードが、前記間接的子ノードの第２の集合が関連する階層同期レベルの第２の集合に基づいて、前期間接的子ノードの第２の集合の中の間接的子ノードの少なくとも幾つかに情報を順次送信することを特徴とする、請求項５に記載の方法。
【請求項８】
前記第１の直系子ノードが前記親ノードから情報を受信した後に、前記第２の直系子ノードが前記親ノードから情報を受信するよう構成され、
前記第１の直系子ノードが、前記間接的子ノードの第１の部分集合の中の間接的子ノードに情報を順次送信する間に、前記第２の直系子ノードが、前記間接的子ノードの第２の集合の中の間接的子ノードに情報を順次送信することを特徴とする、請求項７に記載の方法。
【請求項９】
第１の階層同期レベルに前記第１のネットワーク化ノードを関連付け、
前記第１の階層同期レベルよりも低い優先度を有している第２の階層同期レベルに前記第２のネットワーク化ノードを関連付け、
前記第２の階層同期レベルよりも低い優先度を有している第３の階層同期レベルに前記第３のネットワーク化ノードを関連付け、
前記第１の階層同期レベルよりも高い優先度を有する第４の階層同期レベルに第４のネットワーク化ノードを関連付けることにより、複数の階層同期レベルに応じて複数のネットワーク化ノードを構成することを更に含み、
前記第４のネットワーク化ノードが前記第１のネットワーク化ノードの唯一の親ノードとなるように構成されていることを特徴とする、請求項１に記載の方法。
【請求項１０】
前記第１のネットワーク化ノードが、前記第４のネットワーク化ノードから同期化実行中の情報を受信し、前記第３の階層同期レベルよりも高い優先度を有する前記第２の階層同期レベルに応じて前記情報をまず第２のネットワーク化ノードに送信し、その後に前記第３のネットワーク化ノードへと順次送信するように構成されることを特徴とする、請求項９に記載の方法。
【請求項１１】
前記第１のネットワーク化ノードを、前記第２のネットワーク化ノードを通して前記第１のネットワーク化ノードと関連する間接的子ノードとなるように構成された第５のネットワーク化ノードと関連付けることを更に含み、
前記第５のネットワーク化ノードが前記第３の階層同期レベルと関連し、
前記第１のネットワーク化ノードから同期化実行中の情報を受信後、前記第１のネットワーク化ノードが前記第３のネットワーク化ノードに前記情報を送信することになっている間に、前記第２のネットワーク化ノードが前記第５のネットワーク化ノードに前記情報を送信することを特徴とする、請求項１０に記載の方法。
【請求項１２】
複数の階層同期レベルに応じて複数のネットワーク化ノードを構成することを更に含み、前記構成は、
複数のネットワーク化ノードから選択された一式の子孫ノードを、前記第１のネットワーク化ノードとの関連付けのために取得し、
前記一式の子孫ノードから、前記第１の直系子ノードとなり第１の階層同期レベルで前記第１のネットワーク化ノードと関連する第１の子孫ノードを選択し、
前記第１の階層同期レベルよりも低い優先度を有する対応する階層同期レベルの第１の集合に応じて、前記第１の直系子ノードを通して前記第１のネットワーク化ノードと関連する間接的子ノードの第１の集合となる、第１の子孫ノードを除いた一式の子孫ノードの第１の部分集合を選択し、  前記第１の子孫ノードと関連する唯一の親ノードとなるように前記第１のネットワーク化ノードを構成し、前記第１の子孫ノードが前記階層同期レベルの第１の集合に応じて前記間接的子ノードの第１の集合を構成し続けることを可能にするために、前記選択された第１の子孫ノードに前記選択された間接的子ノードの第１の集合を示すことによって、前記選択された第１の子孫ノードを前記第１のネットワーク化ノードの第１の直系子ノードとなるよう選抜することを含む、請求項１に記載の方法。
【請求項１３】
複数の階層同期レベルに応じて複数のネットワーク化ノードを構成することを更に含み、前記構成は、
前記第１の子孫ノードおよび子孫ノードの第１の部分集合を取り除くことにより一式の子孫ノードを更新し、
第２の直系子ノードとなり、第１の階層同期レベルよりも低い優先度を有する第２の階層同期レベルで第１のネットワーク化ノードと関連するべき第２の子孫ノードを子孫ノードの更新済み集合の中から選択し、
前記第１の子孫ノードが前記選択された第１の子孫ノードと関連する唯一の親ノードになることに加えて、第１の子孫ノードおよび第２の子孫ノードと関連する唯一の親ノードとなるように構成することで、前記第１のネットワーク化ノードの第２の直系子ノードとなるよう前記選択された第２の子孫ノードを選抜することを含む、請求項１２に記載の方法。
【請求項１４】
複数の階層同期レベルに応じて複数のネットワーク化ノードを構成することを更に含み、前記構成は、
更に第２の子孫ノードを取り除くことにより子孫ノードの更新済みの集合を更新し、
第２の階層同期レベルよりも低い優先度を有する対応する階層同期レベルの第２の集合に応じて、前記第２の直系子ノードを通じて第１のネットワーク化ノードと関連する間接的子ノードの第２の集合となる、更に更新された子孫ノードの集合の第２の部分集合を選択し、
前記第２の子孫ノードが前記階層同期レベルの第２の集合に応じて間接的子ノードの第２の集合を構成し続けることを可能にするために、前記選択された第２の子孫ノードに対して前記間接的子ノードの第２の集合を示すことにより、第１のネットワーク化ノードの前記第２の直系子ノードとなるよう前記選択された第２の子孫ノードを選抜することを含む、請求項１３に記載の方法。
【請求項１５】
複数のネットワーク化ノードの一つを、複数の同期レベルのうちの最優先同期レベルと関連する唯一の根ノードとなるように構成することを更に含む、請求項１に記載の方法。
【請求項１６】
新規ネットワーク化ノードの少なくとも一つがトポロジに加えられる場合、又は既存のネットワーク化ノードがトポロジから取り除かれる場合に、ネットワーク同期トポロジを再構成するためにネットワーク・トポロジの監視を行うことを更に含む、請求項１に記載の方法。
【請求項１７】
新規ネットワーク化ノードが加えられる場合に、前記ネットワーク・トポロジの監視が、
ネットワーク同期トポロジの中でいかなる子孫ノードとも関連しない葉ネットワーク化ノードをランダムに選択し、
前記選択された葉ネットワーク化ノードと直接関連する直系子ノードとなるように前記新規ネットワーク化ノードを構成することを含むことを特徴とする、請求項１６に記載の方法。
【請求項１８】
既存のネットワーク化ノードが取り除かれる場合に、前記ネットワーク・トポロジの監視が、
取り除かれた既存のノードと以前関連していた第１の子孫ノードを、既に根ノードと直接関連するあらゆる既存の直系子ノードに対応するあらゆる既存の階層同期レベルよりも低い優先度を有する第１の階層同期レベルでネットワーク同期トポロジの根ノードと直接関連する直系子ノードとなるように構成し、
前記第１の子孫ノードを通して、及び第１の階層同期レベルよりも低い優先度を有する対応する階層同期レベルの集合に応じて、根ノードと間接的に関連するように、取り除かれた既存のノードと以前関連していたあらゆる残りの子孫ノードを構成することを含むことを特徴とする、請求項１６に記載の方法。
【請求項１９】
機械可読命令を格納する製造品であって、前記機械可読命令が実行されると、機械に
第１のネットワーク化ノードを第２および第３のネットワーク化ノードと直接関連する親ノードとなるように構成させ、前記第２および第３のネットワーク化ノードは前記親ノードの第１および第２の直系子ノードとなるように各々構成され、
前記第１の直系子ノードを通じて親ノードと間接的に関連する間接的子ノードの第１の集合となるよう、その他のネットワーク化ノードを一以上選択させ、
前記第１および第２の直系子ノードが関連する複数の階層同期レベルに基づいて第１および第２の直系子ノードへと同期化実行中の情報を順次送信する一方、前記間接的子ノードの第１の集合には情報を送信しないように前記親ノードを構成させることを特徴とし、
前記親ノードが前記第２の直系子ノードに情報を送信する間、前記第１の直系子ノードは前記間接的子ノードの第１の集合に情報を伝播することを特徴とする、機械可読命令を格納する製造品。
【請求項２０】
前記第１および第２の直系子ノードが、複数の階層同期レベルのうちの一意の階層同期レベルと各々関連することを特徴とする、請求項１９に記載の製造品。
【請求項２１】
前記間接的子ノードの第１の集合が第１の部分集合および第２の部分集合を備え、
前記第１の直系子ノードが、階層同期レベルの第１の集合に応じて前記間接的子ノードの第１の部分集合と直接関連し、
前記親ノードから情報を受信した後に、前記第１の直系子ノードが、関連する階層同期レベルの第１の集合に基づいて前記間接的子ノードの第１の部分集合に情報を順次送信する一方、前記間接的子ノードの第２の部分集合には情報を送信せず、
前記機械可読命令が実行されると更に機械に、前記第２の直系子ノードを通じて前記親ノードと間接的に関連する間接的ノードの第２の集合となるその他のネットワーク化ノードを一以上選択させ、
前記親ノードから情報を受信すると、前記間接的子ノードの第２の集合が関連する階層同期レベルの第２の集合に基づいて、前記第２の直系子ノードが、前記間接的子ノードの第２の集合の中の間接的子ノードの少なくとも幾つかに情報を順次送信することを特徴とする、請求項１９に記載の製造品。
【請求項２２】
前記機械可読命令が実行されると更に機械に、複数の階層同期レベルに応じて複数のネットワーク化ノードを構成させ、前記構成が、
複数のネットワーク化ノードから選択された一式の子孫ノードを、第１のネットワーク化ノードとの関連付けのために取得し、
前記一式の子孫ノードから、第１の直系子ノードとなり第１の階層同期レベルで第１のネットワーク化ノードと関連する第１の子孫ノードを選択し、
前記第１の子孫ノードを除いた前記一式の子孫ノードの第１の部分集合を、第１の階層同期レベルよりも低い優先度を有する対応する階層同期レベルの第１の集合に応じて、第１の直系子ノードを通して第１のネットワーク化ノードと関連する間接的子ノードの第１の集合となるよう選択し、
前記第１の子孫ノードと関連する唯一の親ノードとなるように第１のネットワーク化ノードを構成することと、前記第１の子孫ノードが前記階層同期レベルの第１の集合に応じて前記間接的子ノードの第１の集合を構成し続けることを可能にするために、前記選択された第１の子孫ノードに選択された間接的子ノードの第１の集合を示すことにより、前記選択された第１の子孫ノードを第１のネットワーク化ノードの第１の直系子ノードとなるよう選抜する、ことを特徴とする請求項１９に記載の製造品。
【請求項２３】
ネットワーク化ノードにより取得された情報を同期化する装置であって、
前記ネットワーク化ノードから同期化実行中の情報を直接受信するために複数の直系子ノードを選択するノード・セレクタと、
間接的子ノードの一以上の集合を選択するノードリスト・セグメンタであって、前記間接的子ノードの各集合が、前記ネットワーク化ノードから直接にではなく各々の直系子ノードを通して同期化実行中の情報を受信することを特徴とする、ノードリスト・セグメンタと、
第１の階層同期レベルよりも低い優先度を有する第２の階層同期レベルと関連する第２の直系子ノードに情報を送信する前に、第１の階層同期レベルと関連する第１の直系子ノードに同期化実行中の情報を送信するスケジュールを作成する同期シーケンサと、を備え、
間接的子ノードの第１の集合が前記第１の直系子ノードを通して情報を受信し、
前記同期シーケンサは、前記第１の直系子ノードを通して同期化実行中の情報を受信するように前記間接的子ノードの第１の集合が構成されたかどうかにかかわらず、前記第１の直系子ノードが前記ネットワーク化ノードから情報を受信するように構成されると前記第１の直系子ノードに情報を送信するスケジュールを作成することを特徴とする、装置。
【請求項２４】
前記複数の直系子ノードおよび前記間接的子ノードの一以上の集合が、前記ネットワーク化ノードの子孫となるように選択された一式の子孫ネットワーク化ノードから選択されることを特徴とする、請求項２３に記載の装置。
【請求項２５】
前記ネットワーク化ノードと関連する前記親ノードから前記一式の子孫ネットワーク化ノードの一覧リストを取得するためのノード構成インターフェースを更に含む、請求項２４に記載の装置。
【請求項２６】
前記ネットワーク化ノードから同期化実行中の情報を直接受信するために複数の直系子ノードのそれぞれを構成し、各々の直系子ノードを通して同期化実行中の情報を受信するために、前記間接的子ノードの各集合の構成に向けて各々の直系子ノードに間接的子ノードの各集合を送信するための子選抜インターフェースを更に含む、請求項２３に記載の装置。
【請求項２７】
前記同期シーケンサが、複数の直系子ノードが関連する複数の階層同期レベルに各々基づいて複数の直系子ノードに同期化実行中の情報を送信するスケジュールを作成するように更に構成されていることを特徴とする、請求項２３に記載の装置。
【請求項２８】
前記同期シーケンサが、前記第１の直系子ノードが前記間接的子ノードの第１の集合における間接的子ノードに情報を再送している間に前記第２の直系子ノードに同期化実行中の情報を送信するスケジュールを作成するように更に構成されていることを特徴とする、請求項２３に記載の装置。
【請求項２９】
前記ネットワーク化ノードから同期化実行中の情報を直接受信する第１の直系子ノードの構成に成功したかどうか、又は前記第１の直系子ノードへの情報の送信に成功したかどうかのうち少なくとも一つを判断するためのエラー・プロセッサを更に含む、請求項２３に記載の装置。
【請求項３０】
前記複数の直系子ノードおよび前記間接的子ノードの一以上の集合が、前記ネットワーク化ノードの子孫となるように選択された一式の子孫ネットワーク化ノードから選択され、
前記エラー・プロセッサが更に、前記ネットワーク化ノードから同期化実行中の情報を直接受信するための第１の直系子ノードの構成の少なくとも一つが失敗したとの判断、又は、第１の子ノードへの情報の送信が失敗したとの判断に応答して、前記一式の子孫ネットワーク化ノードを更新するように構成されていることを特徴とする、請求項２９に記載の装置。
【請求項３１】
データ同期をサポートするためのデータネットワークであって、
複数の階層同期レベルを備える同期階層を実施するように構成可能な複数のネットワーク化ノードであって、第１の階層同期レベルに割り当てられた各ネットワーク化ノードが、第１の階層同期レベルよりも高い優先度を有する第２の階層同期レベルに割り当てられた一つの構成された親ノードから受信したデータを同期化するように構成可能であり、且つ第１の階層同期レベルよりも低い優先度をそれぞれ有する複数の階層同期レベルに一意に割り当てられた対応して構成された複数の子ノードへとデータを順次送信するように構成可能である、複数のネットワーク化ノードと、
同期階層の構成を開始するため、及び対応して構成された第１の複数の子ノードへと同期階層に基づいてデータを順次送信するために最優先の階層同期レベルに割り当て可能であり、同期化対象のデータを取得するように構成可能な根ノードであって、前記第１の複数の子ノードの中の第１の子ノードが、前記根ノードからデータを受信した後に、及び前記根ノードが前記第１の複数の子ノードの中の少なくとも１つの第２の子ノードへとデータを送信する間に、対応して構成された第２の複数の子ノードへと同期階層に基づいて順次データを送信するよう、第１の親ノードとなるようにも構成可能であることを特徴とする、根ノードと、
を備えるデータネットワーク。
【請求項３２】
前記第１の複数の子ノードの中の第２の子ノードが、前記根ノードからデータを受信した後、及び前記根ノードが子ノードの第１の集合の中の少なくとも１つの第３の子ノードにデータを送信する間に、対応して構成された第３の複数の子ノードへと同期階層に基づいて順次データを送信するために第２の親ノードとなるよう構成可能であることを特徴とする、請求項３１に記載のデータネットワーク。
【請求項３３】
前記根ノードが、前記根ノードの子孫となる第１の複数の子ノードの構成の開始をつかさどるように構成可能であり、前記第１の子ノードが、前記第１の子ノードの子孫となる第２の複数の子ノードの構成の開始をつかさどるように構成可能であることを特徴とする、請求項３１に記載のデータネットワーク。
【請求項３４】
前記根ノードが、前記同期階層から既存のネットワーク化ノードを取り除く処理を行うように更に構成されていることを特徴とし、前記取り除く処理が、
前記根ノードが、新規ネットワーク化ノードが関連付けられることになる同期階層の既存の葉ノードをランダムに決定することにより、前記新規ネットワーク化ノードを前記同期階層に追加するように更に構成されていることを特徴とする、請求項３１に記載のデータネットワーク。
【請求項３５】
取り除かれた既存のノードと以前関連していた第１の子孫ノードを、前記根ノードに相対して最も低い階層同期レベルに割り当て、
前記第１の子孫ノードにデータを送信するように前記根ノードを構成し、前記根ノードから受信されたデータを同期化するように前記第１の子孫ノードを構成し、
あらゆる残りの子孫ノードを、第１の子孫ノードの子孫となるように構成すること、を含む、請求項３１に記載のデータネットワーク。
【請求項３６】
複数のネットワーク化ノード間で情報を同期化する方法であって、
同期化実行中の情報を親ノードで受信し、
前記親ノードから第１のノード集合に含まれるそれぞれのノードに前記情報を順次送信し、
前記第１のノード集合の中の第１のノードにより前記情報が受信された後に前記第１のノードから第２のノード集合のそれぞれのノードに前記情報を順次送信することを含み、
前記親ノードが、前記第１のノード集合に含まれる第１のノード以外のノードの少なくとも幾つかに情報を送信することと同時に、前記第１のノードが、前記第２のノード集合の中のノードの少なくとも幾つかに情報を送信することを特徴とする、方法。
【請求項３７】
前記第１のノード集合のそれぞれのノードが、前記第２のノード集合のそれぞれのノードとは異なることを特徴とする、請求項３６に記載の方法。
【請求項３８】
前記情報にデータ・ファイルが含まれることを特徴とする、請求項３６に記載の方法。
【請求項３９】
前記第１のノード集合の中の第２のノードにより情報が受信された後、第２のノードから、第３のノード集合に含まれるそれぞれのノードに前記情報を順次送信することを更に含み、
前記第１のノードが前記第２のノード集合の少なくとも幾つかのノードに情報を送信し、前記親ノードが、前記第１のノード集合の中の第１および第２のノード以外のノードの少なくとも幾つかに前記情報を送信することと同時に、前記第２のノードが、前記第３のノード集合の少なくとも幾つかのノードに前記情報を送信することを特徴とする、請求項３６に記載の方法。
【請求項４０】
前記親ノードで同期化実行中の情報を受信することは、前記情報の第１のバージョンを受信することを含むことを特徴とし、
前記親ノードが前記第１のノードに前記情報の第１のバージョンを送信した後であって、前記親ノードが前記第１のノード集合の中の第２のノードに前記情報の第１のバージョンを送信する前に、同期化実行中の情報の第２のバージョンを前記親ノードで受信し、
前記第２のノードに対して、及び前記第１のノードが前記第２のノード集合に含まれるノードの少なくとも幾つかへと前記情報の第１のバージョンを送信することと同時に、前記親ノードからの前記情報の第１のバージョンの代わりに前記情報の第２のバージョンを送信することを更に含む、請求項３６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にデータのネットワーク構築に関し、より具体的にはネットワーク化された（ネットワークで結ばれた）装置間で順次同期階層を実施するための方法、装置、製造品、及びデータネットワークに関する。
【背景技術】
【０００２】
現代のプロセス制御システムは多くの場合コントローラやワークステーションなどのような複数の（また、ことによっては多数の）ネットワーク化ノードを相互に接続するためのデータネットワークを含んでいる。一般に、かかるプロセス制御システムは、ネットワーク化ノードの幾つか又は全てで利用可能な特定の共通情報を必要とする。一般に利用できることが必要でありうる情報の例としては、システムにおけるノードのうち幾つか又は全てのアドレスや、システムにおける様々なノードで共通表示を生成するための表示形態情報などが挙げられる。多くの実施形態において、共通情報は各ノードに一以上の構成ファイルとして格納される。これら構成ファイルの一以上が変更された場合、共通情報を最新の状態に保つためにシステムのノード間で更新された一以上のファイルを可能な限り迅速に同期化する必要がある。但し、ファイルの同期化は多くの場合、プロセス制御システムを実施するのに使用されるタイプのノードに特徴的なリソースの限界（例えば、プロセッサ速度、ネットワーク帯域幅、など）がある故に順次（シーケンシャルに）遂行される優先度の低い作業である。更新済みの構成ファイルを発信ノードからプロセス制御システムにおけるその他のノードの各々に順次送信するアプローチは比較的遅いため、それよりも精巧であり、従ってより高速な既存のファイル同期技法を、ノードのリソースに限界がある故に使用できなくなる場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
複数のネットワーク化ノードを構成する階層同期トポロジにおいて、比較的少ないリソースで情報が同期化される速度を向上できる方法、装置、機械可読命令を格納する製造品（記憶媒体)、及びデータネットワークを提供することを目的とする。
【課題を解決するための手段】
【０００４】
本明細書に開示される例示的な実施形態では、複数のネットワーク化（ネットワークで結ばれている）ノードを構成する階層同期トポロジ内の情報を同期化する例示的な方法は、各々が親ノードの第１および第２の直系子ノードとなるように構成された第２および第３のネットワーク化ノードに直接関連付けられる親ノードとなる第１のネットワーク化ノード構成することを含む。また、例示的な方法は、第１の直系子ノードを通じて親ノードに間接的に関連付けられる間接的子ノードの第１の集合となる一以上のネットワーク化ノードを選択することを含む。更に例示的な方法は、第１および第２の直系子ノードが関連付けられている複数の階層同期レベルに基づいて、同期化実行中（同期化対象)の情報を第１および第２の直系子ノードに順次送信するが、間接的子ノードの第１の集合には情報を送信しないように親ノードを構成することを含む。加えて、例示的な実施形態では、親ノードが第２の直系子ノードに情報を送信するためのものである一方、第１の直系子ノードは間接的子ノードの第１の集合への情報を伝搬するためのものである。
【０００５】
本明細書に開示される別の例示的な実施形態では、ネットワーク化ノードにより得られた情報を同期化する例示的な装置として、ネットワーク化ノードから同期化実行中の情報を直接受け取るための複数の直系子ノードを選択する例示的なノード・セレクタを含む。例示的な装置は、間接的子ノードの一以上の集合を選択するための例示的なノードリスト・セグメンタも含んでおり、この場合、間接的子ノードの各集合は、同期化実行中の情報を、ネットワーク化ノードから直接受け取る代わりに、各々の直系子ノードを通じて受け取るようになっている。例示的な装置は更に、優先順位が第１の階層同期レベルよりも低い第２の階層同期レベルに関連付けられている第２の直系子ノードに情報を送信する前に、第１の階層同期レベルに関連付けられている第１の直系子ノードへと同期化実行中の情報を送るスケジュールを作成する例示的な同期シーケンサを含む。さらに加えて、例示的な実施形態では、間接的子ノードの第１の集合が、第１の直系子ノードを通じて情報を受け取るためのものであり、また、同期シーケンサは、間接的子ノードの第１の集合が第１の直系子ノードを通じて同期化実行中の情報を受け取るように構成されるかどうかにかかわらず、ネットワーク化ノードから情報を受け取るように第１の直系子ノードが構成された後に、第１の直系子ノードへと情報を送るスケジュールを作成する構成されている。
【０００６】
本明細書に開示される更に別の例示的な実施形態では、データ同期をサポートする例示的なデータネットワークが、複数の階層同期レベルを成す同期階層を実施するように構成可能な複数のネットワーク化ノードを含んでおり、第１の階層的レベルに割り当てられた各ネットワーク化ノードは、第１の階層同期レベルよりも高い優先度を有する第２の階層同期レベルに割り当てられた各々について構成された一つの親ノードから受け取ったデータを同期化するように構成可能である。また、例示的なデータネットワーク内でかかる第１の階層的レベルに割り当てられた各ネットワーク化ノードは、第１の階層同期レベルよりも低い優先度をそれぞれが有する複数の階層同期レベルの各々に一意に割り当てられ、対応して構成された複数の子ノードの各々にデータを順次送信するようにも構成可能である。加えて、例示的なデータネットワークは、同期階層の構成を開始するため、及び、同期階層に基づいてデータを、対応して構成された第１の複数の子ノードに順次送信するために、最優先同期レベルに割り当て可能であり且つ同期化対象のデータを得るように構成可能な根（ルート）ノードも含んでいる。また、例示的な実施形態において、第１の複数の子ノードのうち第１の子ノードは、根ノードからデータを受け取った後、及び根ノードが第１の複数の子ノードのうちの少なくとも１つの第２の子ノードにデータを送信することになっている間に、対応して構成された第２の複数の子ノードに対してデータを同期階層に基づいて順次送信する第１の親ノードとなるように構成可能である。
【図面の簡単な説明】
【０００７】
【図１】例示的なプロセス制御システムのブロック図である。
【図２】図１の例示的なシステム内のネットワーク化ノードに情報ファイルを順次伝搬するのに使用されうる例示的な先行技術の順編成ファイル同期技術を示す図である。
【図３】図１の例示的なシステム内のネットワーク化ノード間の情報ファイルの一以上の部分を並列で伝搬するために使用されうる例示的な先行技術の並列ファイル同期技術を示す図である。
【図４】図１の例示的なシステム内のネットワーク・ノード間で情報ファイルを伝搬するために本明細書に記載されるような例示的な順次同期階層を採用している例示的なファイル同期技術を示す図である。
【図５Ａ】図４の例示的な順次同期階層を構成する例示的な手順を示す図である。
【図５Ｂ】図４の例示的な順次同期階層を構成する例示的な手順を示す図である。
【図５Ｃ】図４の例示的な順次同期階層を構成する例示的な手順を示す図である。
【図５Ｄ】図４の例示的な順次同期階層を構成する例示的な手順を示す図である。
【図５Ｅ】図４の例示的な順次同期階層を構成する例示的な手順を示す図である。
【図５Ｆ】図４の例示的な順次同期階層を構成する例示的な手順を示す図である。
【図５Ｇ】図４の例示的な順次同期階層を構成する例示的な手順を示す図である。
【図６】図４の例示的な順次同期階層を実施するのに使用されうる例示的な情報シンクロナイザのブロック図である。
【図７】図６の例示的な情報シンクロナイザ及び図４の例示的な順次同期階層の少なくとも一方を、少なくとも部分的に実施するために実行されうる例示的な情報同期工程を表すフローチャートである。
【図８】図７の例示的な情報同期工程の例示的な動作において、情報ファイルの旧バージョンが図４の例示的な順次同期階層におけるノード間で既に伝搬される間に情報ファイルが更新されることを示す図である。
【図９】図７の例示的な工程、図６の例示的な情報シンクロナイザ、及び図４の例示的な順次同期階層の少なくとも一方を、少なくとも部分的に実施するために使用されうる順次同期階層を構成する例示的な工程を表すフローチャートである。
【図１０】図４の例示的な順次同期階層において分散情報の同期化および階層的ノード構成を行う図７および図９の例示的な工程の例示的な動作を示す図である。
【図１１Ａ】図６の例示的な情報シンクロナイザ及び図４の例示的な順次同期階層の少なくとも一方を、少なくとも部分的に実施するのに使用されうるネットワーク・トポロジの監視を実行する例示的な工程を表すフローチャートを示す図である。
【図１１Ｂ】図６の例示的な情報シンクロナイザ及び図４の例示的な順次同期階層の少なくとも一方を、少なくとも部分的に実施するのに使用されうるネットワーク・トポロジの監視を実行する例示的な工程を表すフローチャートを示す図である。
【図１２】図６の例示的な情報シンクロナイザ及び図４の例示的な順次同期階層の少なくとも一方を、少なくとも部分的に実施するために、図７、図９及び図１１Ａ−図１１Ｂの工程の少なくとも幾つか又は全てを実施するのに使用される例示的な機械可読命令を実行しうる例示的なコンピュータのブロック図である。
【発明を実施するための形態】
【０００８】
本稿では、ネットワーク化（ネットワークで結ばれた）装置間で順次同期階層を実施する方法と装置が開示されている。例示的な順次同期階層において、特定の階層同期レベルに割り当てられている各ネットワーク化ノードは、根ノードとして構成された一つのノードを例外として、優先度の高い同期レベルに割り当てられた関連する一つの親ノードに対して、子ノードとして作動するように構成される。加えて、少なくとも幾つかのネットワーク化ノードは、関連付けられている優先度の低い同期レベルの子ノードの一以上に対して親ノードとして作動するように構成される。情報（一以上のデータ・ファイルなど）を同期化するために、例示的な同期階層においては各親ノードが、自身と関連する子ノードのそれぞれに情報を順次送信する。更に子ノードは情報を一旦受け取ると、その子ノードはそれ自体の関連する子ノードに情報を順次送信し続ける。このように、同期化を実行中の情報は、いくつかの親−子伝搬経路（パス）に沿って同時に伝搬されうる。この場合、親−子経路はそれぞれ順次（シーケンシャル）情報伝搬を採用している。
【０００９】
本明細書に記載されるこのような例示的な同期階層は、ネットワーク化ノード間の情報の順次伝搬と比べてネットワークにおける情報が同期化される速度を向上させることができる。更に個々のネットワーク化ノードのそれぞれが依然として自身に関連する子ノードに順次情報を送信し続けるので、ノード間で情報を順次取り交わすことに関して付加的なリソースの必要性がほとんど（又は全く）要求されずに同期化速度の向上が達成される。加えて、本明細書に記載されるネットワーク実施形態の少なくとも幾つかにおいて、各ネットワーク化ノードは、同期トポロジの一部分だけ（例えば、何らか直接関連する子ノードだけ）の構成をつかさどる。このような分散型トポロジ構成はまた、情報の同期化に使用されるリソースへの影響を少なくするとともに、たとえ階層同期トポロジ全体の構成が完全とは言えない場合にも同期化処理の開始を可能にする。本明細書に記載される例示的な実施形態の少なくとも幾つかでは、ネットワーク化ノードを円滑に階層同期トポロジに追加及び階層同期トポロジから削除することの少なくとも一方もサポートしている。
【００１０】
例示的なプロセス制御システム１００のブロック図が図１に示されている。例示的なプロセス制御システム１００は、いかなる工業形態におけるいかなるタイプの工程を測定、分析、制御、自動化処理等のために使用しても良い。例えば、図１のプロセス制御システム１００は、化学薬品製造工程、（例えば、石油又は天然ガスなどの）精製過程、紙・パルプ製造工程、医薬開発工程、食品および飲料の梱包工程、発電工程、用水及び廃水管理過程などの少なくとも一つの出力を制御するために使用しても良い。
【００１１】
図中の例示的なのプロセス制御システム１００は、例示的なネットワーク１５０により相互接続される例示的なネットワーク化ノードの一群１０５−１４０を含んでいる。各々ノード０、ノード１、ノード２、ノード３、ノード４、ノード５、ノード６およびノード７の標識で示されている８個のネットワーク化ノード１０５、１１０、１１５、１２０、１２５、１３０および１４０が図１に描かれているが、例示的なプロセス制御システム１００は任意の数のネットワーク化ノードをサポートすることができる。ネットワーク化ノード１０５−１４０は、情報を取り交わすためにネットワーク化できる装置のあらゆる組み合わせにより実施されても良い。例えば、ネットワーク化されたノード１０５−１４０はそれぞれ、プログラム可能論理制御装置（ＰＬＣ）などのコントローラ、パソコンやラップトップ／ノートブックコンピュータ、コンピュータ端末機などのワークステーション、及びその他あらゆるタイプのネットワーク構築可能な装置により実施されても良い。
【００１２】
図中の例示的なのネットワーク１５０は、例示的なネットワーク化ノード群１０５−１４０の間で情報を取り交わすことができるように構成される。加えて、例示的なネットワーク１５０は、プロセス制御要求が変更するにつれて経時的にネットワーク化ノードの追加および削除を可能にするようスケーラブル（拡張・縮小可能）に構成される。例示的なネットワーク１５０は、例えば一以上のイーサネット（登録商標）又は類似したローカル・エリア・ネットワーク（ＬＡＮ）、一以上のＩＥＥＥ  ８０２．１１又は類似したワイヤレスＬＡＮ（ＷＬＡＮ）、一以上のモバイル・セルラーネットワーク、インターネット、既存ネットワーク配線など、及びそれのいかなる組み合わせの少なくとも一つ等、いかなるタイプのネットワーク技術を使用して実施されても良い。
【００１３】
上述の如く、例示的なネットワーク１５０により、例示的なネットワーク化ノード１０５−１４０間で情報を取り交わすことが可能になる。図１の例示的なシステム１００などのプロセス制御システムにおいて、ネットワーク化ノード１０５−１４０の幾つか又は全ての間で共通して利用可能な特定の情報が備えられていることが必要とされうるか、又は、少なくとも望ましいとされうる。例示的なプロセス制御システム１００により制御されるプロセスによっては、ネットワーク化ノード１０５−１４０の幾つか又は全てで利用可能とされるべきこのような共通情報の例として、（１）例示的なプロセス制御システム１００内の幾つか又は全てのネットワーク化ノード１０５−１４０の一覧リスト、（２）幾つか又は全てのネットワーク化ノード１０５−１４０及び例示的なプロセス制御システム１００の少なくともいずれかに接続を実施及び／又は提供するその他のネットワーク装置（例えば、１以上のブリッジや１以上のルータなど）のアドレス、（３）例示的なプロセス制御システム１００内の様々なネットワーク化ノード１０５−１４０で共通表示を生成するための表示形態情報、などが挙げられる。
【００１４】
例示的なプロセス制御システム１００、ならびにその他の多くのプロセス制御システム実施形態において、共通情報は、幾つか又は全てのネットワーク化ノード１０５−１４０上の一以上の構成ファイルに格納される。例えば、図１は、例示的なネットワーク化ノード１０５−１４０のそれぞれで利用可能とされ、それぞれに格納される共通情報を含む例示的な構成ファイル１６０（また、更に概して言うと情報ファイル１６０）を示す。例示的な構成ファイル１６０は共通であること、従って各ネットワーク化ノード１０５−１４０において同じであることが求められるので、ファイル１６０が更新及び変更の少なくともいずれかがなされた場合、ネットワーク化ノード１０５−１４０間で更新済みのファイル１６０を同期化する必要がある。一般に、更新及び変更の少なくとも一方が影響するネットワーク化ノード１０５−１４０のそれぞれにおいて共通情報を最新のデータとして維持するためにも、このような情報の同期化を可能な限り迅速に行わなければならない。以下、例示的な同期技法をより詳しく述べる。
【００１５】
例示的なシステム１００は、プロセス制御システムとして図示されているが、ネットワーク化ノード間で情報を取り交わすことができるいかなるタイプのコンピューターネットワーク、データネットワークなどであってよい。このように、本明細書に記載される例示的な方法および装置はプロセス制御環境だけにおける使用に限定されず、いかなるタイプのデータネットワーク構築アプリケーションにおいて使用しても良い。
【００１６】
図１の例示的なプロセス制御システム１００内の構成ファイル１６０を同期化するために使用されうる例示的な先行技術の順編成（順次）ファイル同期技法２００が図２に示されている。図２の例示的な先行技術の順編成ファイル同期技法２００が、図１の例示的なプロセス制御システム１００との関連（コンテキスト）で示されるので、図１および図２において、同等の要素は同じ参照番号で示されている。説明を簡潔にするために、これら同等の要素の詳細な記述については図１の説明に関して上記されたものを参照することとし、図２の説明では繰り返さない。
【００１７】
図２を参照するに、例示的な先行技術の順編成ファイル同期技法２００は、ネットワーク化ノード１０５−１４０のそれぞれに構成ファイル１６０を順次伝搬することにより、例示的なプロセス制御システム１００内の構成ファイル１６０を同期化する。例として、また一般性を損なうことなく図２に示されるように、例示的な先行技術の順編成ファイル同期技法２００の初期化フェーズ２０５で、構成ファイル１６０の新バージョンがネットワーク化ノード１０５（ノード０）に提供されると仮定する。ユーザ及びアプリケーションの少なくとも一方により、例えばオフライン作業で構成ファイル１６０の新バージョンを作成してネットワーク化ノード１０５（ノード０）にダウンロードすることができる。それに加えて、又はその代わりに、構成ファイル１６０の新バージョンは、ネットワーク化ノード１０５（ノード０）により、例えばダウンロード、クエリー、監視、受信された情報に基づいてネットワーク化ノード１０５（ノード０）自体によって作成してもよい。
【００１８】
構成ファイル１６０の新バージョンがどのように作成されるかにかかわらず、例示的な先行技術の順編成ファイル同期技法２００は、初期化フェーズ２０５で構成ファイル１６０がネットワーク化ノード１０５（ノード０）で利用可能になった後で順編成ファイルの同期を開始する。図示される例において先行技術の順編成ファイル同期技法２００は、ネットワーク化ノード１０５（ノード０）に、第１の繰返し処理フェーズ２１０においてネットワーク化ノード１１０（ノード１）へと構成ファイル１６０を送信させることにより、ファイルの同期化を開始する。次に、構成ファイル１６０がネットワーク化ノード１１０（ノード１）に送信された後、ネットワーク化ノード１０５（ノード０）は第２の繰返し処理フェーズ２１５において、ネットワーク化ノード１１５（ノード２）へと構成ファイルに１６０を送る。同様に、例示的な先行技術の順編成ファイル同期技法２００は、引き続きネットワーク化ノード１０５（ノード０）に構成ファイル１６０を各ネットワーク化ノード１２０、１２５、１３０、１３５および１４０へと各々の繰返し処理フェーズ２２０、２２５、２３０、２３５および２４０において順次送信させる。
【００１９】
例示的な先行技術の順編成ファイル同期技法２００では、ネットワーク化ノード１０５（ノード０）が第７の繰返し処理２４０においてネットワーク化ノード１４０（ノード７）への構成ファイルに１６０の送信を完了すると、構成ファイル１６０の新バージョンが全てのネットワーク化ノード１０５−１４０にて同期化される。同期化を達成するためにネットワーク化ノード１０５−１４０のそれぞれに構成ファイル１６０が順次伝搬されるので、例示的な先行技術の順編成ファイル同期技法２００により構成ファイル１６０を同期化するために必要とされる総時間は、例示的なプロセス制御システム１００中のネットワーク化ノード１０５−１４０の数に比例する。言い換えると、例示的な先行技術である順次同期技法２００は、Ｏ（ｎ）で示されるｎの次数（オーダ）の時間計算量を有する。この場合、ｎは、例示的なプロセス制御システム１００中のネットワーク化ノード１０５−１４０の数である。従って、本明細書に示される先行技術の順編成ファイル同期技法２００の実施例では、例示的なプロセス制御システム１００中にはｎ＝８の八つのネットワーク化ノード１０５−１４０があるので時間計算量はＯ（８）である。
【００２０】
例示的な先行技術の順編成ファイル同期技法２００がＯ（ｎ）の時間計算量を有するので、この技法を使用して情報（例示的な構成ファイル１６０など）を同期化するために必要な時間は、例示的なプロセス制御システム１００中のネットワーク化ノード１０５−１４０の数とともに直線的に増加する。ネットワーク化ノード１０５−１４０の数が大きくなるにつれて、情報の同期化により発生する処理遅延が許容できないものとなりうる。例えば、プロセス制御システムの中には数百、また場合によっては数千というネットワーク化ノードを有しうるものが幾つかある。このようなシステムにおいて、例示的な先行技術の順編成ファイル同期技法２００は、情報の同期化を完了させるのに数分、また場合によっては数時間を必要となる可能性がある。
【００２１】
図１の例示的なプロセス制御システム１００内において構成ファイル１６０を同期化するのに使用されうる例示的な先行技術の並列ファイル同期技法３００が図３に示されている。例示的な先行技術の並列ファイル同期技法３００は、情報をセグメント化するよう動作し、セグメント化された情報を並列で伝搬することにより、例えば図２の先行技術の順編成ファイル同期技法２００に比べて全体的な同期化時間を短縮させる。図３の例示的な先行技術の並列ファイル同期技法３００は、図１の例示的なプロセス制御システム１００と関連して示されているので、図１および図３中、同等の要素は同じ参照番号で示されている。説明を簡潔にするために、これら同等の要素の詳細な記述については図１の説明に関して上記されたものを参照することとし、図３では説明は繰り返さない。
【００２２】
図３を参照するに、例示的な先行技術の並列ファイル同期技法３００は、構成ファイル１６０をセグメント化し、ネットワーク化ノード１０５−１４０のそれぞれへと並列でセグメントを伝搬することにより、例示的なプロセス制御システム１００内において構成ファイル１６０を同期化する。例えば、また一般性を損なうことなく、図３は、ネットワーク化ノード１０５（ノード０）とネットワーク化ノード１１０（ノード１）間の構成ファイル１６０を同期化するための例示的な先行技術の並列ファイル同期技法３００の作動を示す。図示される実施例においてネットワーク化ノード１０５（ノード０）が構成ファイルを複数のセグメント（図３に示される二つのファイル・セグメント３０５および３１０など）にセグメント化することで同期化が開始される。二つのファイル・セグメント３０５と３１０にセグメント化されている構成ファイル１６０が図３には描かれているが、例示的な先行技術の並列ファイル同期技法３００は任意の数のファイル・セグメントへのセグメント化をサポートする。
【００２３】
引き続き図３に示される実施例を参照すると、ファイル・セグメント３０５および３１０は、例示的なネットワーク化ノード１０５（ノード０）により各々の送信同期バッファ３１５および３２０に格納される。送信同期バッファ３１５および３２０は、一以上の円環状バッファ、先入れ先出し（ＦＩＦＯ）バッファなどを介してなど、いかなる格納技法を使用して実施されても良い。各々の送信同期バッファ３１５および３２０に格納されたファイル・セグメント３０５および３１０は、その後、ネットワーク化ノード１０５（ノード０）により各バッファから受信先ノードへと並列で送信される。例えば、図３は、ネットワーク・ノード１０５（ノード０）の送信同期バッファ３１５および３２０から例示的なネットワーク・ノード１１０（ノード１）の各々の受信同期バッファ３３５および３４０へのデータの並列送信を可能にするために例示的なネットワーク１５０において実施される、二つの伝搬路（パス）３２５および３３０を示す。例示的なネットワーク・ノード１１０（ノード１）において、各々の受信同期バッファ３３５および３４０において受信されて格納されたデータは、その後、同期化されている構成ファイル１６０に対応するファイル・セグメント３０５および３１０を再構築するのに使用される。その後、ファイル・セグメント３０５および３１０は構成ファイル１６０を形成するように合併され、その結果、構成ファイル１６０がネットワーク・ノード１１０（ノード１）で同期化される。
【００２４】
この実施例から、例示的な先行技術の並列ファイル同期技法３００により同期化するために必要な総時間が、例示的な先行技術の順編成ファイル同期技法２００の同期時間に相対して、ノード間で並列して送信される構成ファイル１６０のセグメントの数に比例して短縮されることが明らかである。言い換えると、例示的な先行技術の並列ファイル同期技法３００の時間計算量はＯ（ｎ／ｓ）であり、この場合、ｎは、例示的なプロセス制御システム１００中のネットワーク化ノード１０５−１４０の数であり、ｓは、ノード間で並列して送信される構成ファイル１６０のセグメントの数である。従って、本明細書に示される先行技術の並列ファイル同期技法３００の例では、例示的なプロセス制御システム１００中にはｎ＝８のネットワーク化ノード１０５−１４０があり、構成ファイル１６０はセグメント数ｓ＝２として並列して送信されるので、時間計算量はＯ（８／２＝４）である。
【００２５】
あいにく、このようなかかる全体的な同期時間の短縮は、同期手順によるリソース活用の増加を伴って達成されるものである。例えば、例示的な先行技術の並列ファイル同期技法３００により必要とされるセグメント化と並列送信は、情報（例えば、ファイル）を同期化するためにネットワーク化ノード１０５−１４０のそれぞれにより消耗される処理（例えば、ＣＰＵ）、メモリ、及びネットワーク帯域幅リソースの少なくとも一つについて、対応した増加を要しうる。しかし、プロセス制御システムを実施するために使用されるタイプのノードに特徴的なリソースの限度により、多くのプロセス制御環境において例示的な先行技術の並行ファイル同期技法３００を実施できない場合がある。
【００２６】
図１の例示的なプロセス制御システム１００内において構成ファイル１６０を同期化するのに使用されうる、本明細書に記載される方法と装置によって実施された例示的な順次同期階層４００が図４に示されている。例示的な実施形態において、例示的な順次同期階層４００は、図２の例示的な先行技術の順編成ファイル同期技法２００に対して、図３の例示的な先行技術の順編成ファイル同期技法３００に特徴的な付加的なリソースの活用を生じさせることなく、全体的な同期時間を短縮するよう動作する。図４の例示的な順次同期階層４００は、図１の例示的なプロセス制御システム１００と関連して示されているので、図１および図４中、同等の要素は同じ参照番号で示されている。説明を簡潔にするために、これら同等の要素の詳細な記述については図１の説明に関して上記されたものを参照することとし、図４では説明を繰り返さない。
【００２７】
図４を参照するに、情報（例えば、ファイル）の同期化を目的として、例示的なプロセス制御システム１００の例示的なネットワーク化ノード１０５−１４０は、図示されるような例示的な順次同期階層４００を形成するように構成される。図示される実施例においてネットワーク化ノードはそれぞれ特定の階層同期レベルに割り当てられ、後続のレベルは各々先行するレベルよりも低い同期優先度を有する。例えば、図４の順次同期階層４００において、ネットワーク化ノード１０５（ノード０）は根（ルート）階層同期レベル４０５（または根レベル４０５）に割り当てられ、ネットワーク化ノード１１０（ノード１）は第１の階層同期レベル４１０（または第１のレベル４１０）に割り当てられ、ネットワーク化ノード１１５（ノード２）および１３０（ノード５）は第２の階層同期レベル４１５（または第２のレベル４１５）に割り当てられ、ネットワーク化ノード１２０（ノード３）、１２５（ノード４）、１３５（ノード６）および１４０（ノード７）は第３の階層同期レベル４２０（または第３のレベル４２０）に割り当てられる。図示される実施例では、根レベル４０５の同期優先度が最も高く、その次に同期優先度が高いのは第１のレベル４１０、その次に第２のレベル４１５、そして、第３のレベル４２０の同期優先度が最も低くなっている。一般に、例示的な順次同期階層４００は、根レベルでネットワーク化ノード（例えば、ネットワーク化ノード１０５）を一つだけ、そして第１のレベルでネットワーク化ノード（例えば、ネットワーク化ノード１１０）を一つだけ含む。後続のレベル（例えば、レベル４１５と４２０）にはそれぞれ、全ての先行レベルを組み合わせたネットワーク化ノード数を最大数とした数のネットワーク化ノードを割り当てることができる。
【００２８】
根ノード（例えば、ネットワーク化ノード１０５）を例外として、例示的な順次同期階層４００における特定の割り当て階層同期レベルでの各ネットワーク化ノードは、優先度の高い同期レベルに割り当てられた一つの関連する親ノードに対して、子ノードとして動作するように構成される。加えて、本明細書に示される実施例では、同じ階層同期レベルに割り当てられている二つのネットワーク化ノードが、同じ親ノードに関連付けられることはない。例えば、第１のレベル４１０のネットワーク化ノード１１０（ノード１）は、優先度の高い根レベル４０５に割り当てられネットワーク化ノード１１０（ノード１）に関連する親ノードとなるよう対応して構成された、ネットワーク化ノード１０５（ノード０）の子ノードになるように構成される。第２のレベル４１５のネットワーク化ノード１１５（ノード２）および第３のレベル４２０のネットワーク化ノード１２０（ノード３）はそれぞれ、それらと関連する親ノードになるように対応して構成されたネットワーク化ノード１０５（ノード０）の子ノードになるように構成されている。
【００２９】
同様に、第２のレベル４１５のネットワーク化ノード１３０（ノード５）および第３のレベル４２０のネットワーク化ノード１３５（ノード６）はそれぞれ、優先度の高い第１のレベル４１０に割り当てられ、それらと関連する親ノードとなるよう対応して構成されたネットワーク化ノード１１０（ノード１）の子ノードとなるように構成されている。更に第３のレベル４２０のネットワーク化ノード１２５（ノード４）は、優先度の高い第２のレベル４１５に割り当てられ、それと関連する親ノードとなるよう対応して構成されたネットワーク化ノード１１５（ノード２）の子ノードとなるように構成されている。最後に、第３のレベル４２０でのネットワーク化ノード１４０（ノード７）は、優先度の高い第２のレベル４１５に割り当てられ、それと関連する親ノードとなるよう対応して構成されたネットワーク化ノード１３０（ノード５）の子ノードとなるように構成されている。
【００３０】
例示的な順次同期階層４００において特定の割り当てられた階層同期レベルの各ネットワーク化ノードは、優先度の高い同期レベルに割り当てられた一つの関連する親ノードに対して子ノードとして動作するように構成されているとともに、対応する一以上の優先度の低い同期レベルの一以上の関連する子ノードに対して親ノードとして動作するようにも構成されうる。従って、本明細書に示される実施例において、ネットワーク化ノード１０５（ノード０）は、第１のレベル４１０のネットワーク化ノード１１０（ノード１）、第２のレベル４１５のネットワーク化ノード１１５（ノード２）および第３のレベル４２０のネットワーク化ノード１２０（ノード３）に対して親ノードとして動作するように構成される。同様に、ネットワーク化ノード１１０（ノード１）は、第２のレベル４１５のネットワーク化ノード１３０（ノード５）および第３のレベル４２０のネットワーク化ノード１３５（ノード６）に対して親ノードとして動作するように構成されている。加えて、ネットワーク化ノード１１５（ノード２）は第３のレベル４２０のネットワーク化ノード１２５（ノード４）に対して親ノードとして動作するように構成されており、ネットワーク化ノード１３０（ノード５）は同様に第３のレベル４２０のネットワーク化ノード１４０（ノード７）に対して親ノードとして動作するように構成されている。
【００３１】
要約すると、例示的な順次同期階層４００は、例示的なプロセス制御システム１００のネットワーク化ノード１０５−１４０を、ｌｏｇ２（ｎ）個の階層同期レベル（例えば、レベル４１０−４２０）と一つの根レベル（例えば、根レベル４０５）を有する特定の階層的配列に整理する（ここでｎはネットワーク化ノードの数である）。図示される実施例では、階層の根レベル（最も高いレベル）４０５および第１のレベル４１０はそれぞれ１つのノード（例えば、ネットワーク化ノード１０５およびネットワーク化ノード１１０）を含んでおり、また、例示的な順次同期階層４００の第２のレベル４１５は二つのノード（例えば、ネットワーク化ノード１１５および１３０）を含んでおり、更に、第３のレベル４２０は四つのノード（例えば、ネットワーク化ノード１２０、１２５、１３５および１４０）を含んでおり、以降同様に構成される。最後に、例示的な順次同期階層４００の最後（最低）のレベルは、図４に示される実施例では８／２＝４個のノードを含んでいる第３のレベル４２０に相当する最大ｎ／２個のノードを含んでいる。
【００３２】
加えて、例示的な順次同期階層４００では、特定の割り当て階層同期レベルの各ノードが、優先度の高い同期レベルのうちの一つにおける１つの親ノードに関連付けられるように構成される。但し、同じレベルにおける二つのノードが同じ親ノードに割り当てられることはない。更に、特定の割り当てレベルの各ノードは、例示的な順次同期階層４００の残りのより低いレベルのそれぞれにおいて、最大１つの子ノードに直接関連付けられることができる。言い換えると、特定の親ノードに直接関連付けられる各子ノードは、一意の階層同期レベルに割り当てられる。従って、例示的な順次同期階層４００における各ノードは、根ノードを例外として、１つの親ノードおよびゼロ個又は一つ若しくは複数の子ノードに直接関連する。
【００３３】
なお、子ノードはまた自身が、一以上の子ノードに関連する親ノードにもなりえる。従って、一以上の子ノードに直接関連する例示的な順次同期階層４００中のノードは、該子ノードと関連付けられる付加的な子ノードとも間接的に関連付けられうる。例えば、図４を参照すると、ネットワーク化ノード１１０（ノード１）、１１５（ノード２）および１２０（ノード３）は全て、親ノードとして動作するネットワーク化根ノード１０５（ノード０）に直接関連付けられた子ノードである。言い換えると、ネットワーク化ノード１１０（ノード１）、１１５（ノード２）および１２０（ノード３）は全て親ネットワーク化ノード１０５（ノード０）に直接関連付けられた直系子ノードである。加えて、ネットワーク化ノード１２５（ノード４）、１３０（ノード５）、１３５（ノード６）および１４０（ノード７）は全て、親ノード１０５（ノード０）に関連付けられた直系子ノード１１０（ノード１）、１１５（ノード２）および１２０（ノード３）から（直接に又は間接的に）派生する子孫（下位ノード）である。従って、ネットワーク化ノード１２５（ノード４）、１３０（ノード５）、１３５（ノード６）および１４０（ノード７）は全て親ネットワーク化ノード１０５（ノード０）の間接的子ノードである。大まかに言って、例示的な順次同期階層４００における特定の親ノードの子孫ノードは、親ノードに直接関連する直系子ノード群と、直系子ノード群を介して親ノードに間接的に関連する間接的子ノード群に分けることができる。加えて、間接的子ノードの群全体を更にノードの下位群に分けても良く、この場合、特定の直系子ノードを介して親ノードに関連する全子孫ノードを各下位群に含めることができる。
【００３４】
以下、実施例により明示されるように、例示的な順次同期階層４００は、Ｏ（ｌｏｇ２（ｎ））の時間計算量低減を伴う情報同期技法を実施する。ここでｎは、例示的なプロセス制御システム１００内のネットワーク化ノード１０５−１４０の数である。よって、図４に示される例示的な順次同期階層４００において、例示的なプロセス制御システム１００にはｎ＝８のネットワーク化ノード１０５−１４０があるので、時間計算量はＯ（ｌｏｇ２（８）＝３）である。従って、例示的な順次同期階層４００の時間計算量は先行技術の同期技法２００および３００の両方の時間計算量より少なくなる。加えて、ネットワーク化ノード間における情報（例えば、ファイル）の順次送信のみを依然として必要とていながら、このような同期時間の短縮が達成される。
【００３５】
本明細書に記載される順次同期階層を形成するように構成された全てのネットワーク化ノード間でデータ・ファイルなどの情報を同期化するために、各ノードは高いレベルから、同期化実行中の情報（例えば、データ・ファイル）を、それが関連する直系子ノードのそれぞれへと順次送信する。なお、各ノードはまた、関連する直系子ノードが割り当てられた階層同期レベルのセットに応じて、優先順位の降順で関連する直系子ノードへと情報（例えば、データ・ファイル）を順次送信する。例えば、同期化は、根ノードが例えばデータ・ファイルの更新版として同期化されるべき情報を得た時点で開始される。その後、根ノードは、同期階層の第１の階層同期レベルにおける直系子ノードに更新済みのファイルを送信する。引き続き、同期化実行中の更新済みファイルを一つの親ノード（同期階層のより高い優先度レベルの一つにある）だけから受け取るように構成された特定の階層同期レベルに割り当てられた各ノードで同期化が継続される。ノードは、自身の割り当てられた親ノードから更新済みのファイルを受け取った後、同期階層のより低い優先度レベルにおける関連する直系子ノードのそれぞれにファイルを順次送信する。各ノードが関連する直系子ノードに更新済みのファイルを順次送信するので、図２の例示的な先行技術の順次同期技法２００に比べ、ファイルの同期化用に設けられた各ノードのリソースへの付加的な影響はない（又は無視できる）。但し、同期化実行中の情報（例えば、データ・ファイル）の伝搬は、いくつかの親−子伝搬経路に沿って同時に発生する。ここで、各親−子経路は、各々の階層同期レベル割り当て集合に応じた順次情報伝搬を採用している。この構成により、図２の例示的な先行技術の順次同期技法２００に比べ、場合によっては全体的な同期時間の著しい短縮を達成できる。
【００３６】
図４の具体的な実施例を参照すると、以下の方法で例示的な順次同期階層４００の全てのネットワーク化ノード１０５−１４０間で構成ファイル１６０を同期化することができる。まず、更新済み構成ファイル１６０を得た後、ネットワーク化根ノード１０５（ノード０）は、第１の階層同期レベル４１０に割り当てられたネットワーク化直系子ノード１１０（ノード１）へと構成ファイルに１６０を送るために、第１の同期繰返し処理において第１のファイル転送４３０を実行する。続いて、システム内の全てのノード間でファイルを同期化するために、ファイル転送が親ノードと子ノード間で順次行われる。例えば、第２の同期繰返し処理において、根ノード１０５（ノード０）は、第２のレベル４１５に割り当てられた直系子ノード１１５（ノード２）へと構成ファイル１６０を送信するよう第２のファイル転送４３５を実行する。一方、に同時に、ネットワーク化ノード１１０（ノード１）は、第２のレベル４１５に割り当てられた自身の直系子ノード１３０（ノード５）へと構成ファイル１６０を送るために、第３のファイル転送４４０を実行する。その後、第３の同期繰返し処理において、根ノード１０５（ノード０）は、第３のレベル４２０に割り当てられた直系子ノード１２０（ノード３）に構成ファイルに１６０を送るよう第４のファイル転送４４５を実行する。一方、ほぼ同時にネットワーク化ノード１１０（ノード１）は同様に第３のレベル４２０に割り当てられた自身の直系子ノード１３５（ノード６）に構成ファイルに１６０を送るために第５のファイル転送４５０を実行し、ネットワーク化ノード１１５（ノード２）も同様に第３のレベル４２０に割り当てられた自身の直系子ノード１２５（ノード４）に構成ファイルに１６０を送るために第６のファイル転送４５５を実行し、また、ネットワーク化ノード１３０（ノード５）も同様に第３のレベル４２０に割り当てられた自身の直系子ノード１４０（ノード７）に構成ファイルに１６０を送るために第７のファイル転送４６０を実行する。この方法では、（例えば図２の例示的な先行技術の順次同期技法２００により同期化が実行される場合に七回の同期繰返し処理が要求されるのに対し）同期繰返し処理が三回行われた後に、構成ファイル１６０が、例示的な順次同期階層４００の全てのノード１０５−１４０間で同期化される。更に一般化して言えば、例示的な順次同期階層４００において情報を同期化するために必要とされる同期繰返し処理の数は、階層同期レベルの数に比例し、時間計算量がＯ（ｌｏｇ２（ｎ））となる。ここで、ｌｏｇ２（ｎ）は、順次同期階層４００における階層同期レベルの数である。
【００３７】
いかなるタイプのファイル転送プロトコル、又は、更に概して言うと情報交換プロトコルを、例示的な順次同期階層４００におけるネットワーク化ノード間で構成ファイル１６０を送信するのに使用しても良い。ネットワーク化ノード間で構成ファイル１６０を送るために使用されうるプロトコルの例としては、ファイル転送プロトコル（ＦＴＰ）、簡易メール転送プロトコル（ＳＭＴＰ）、ショートメッセージサービス（ＳＭＳ）などが挙げられる。それに加えて、又はその代わりに、一以上のプロプライエタリ（独自仕様）のファイル転送／情報交換プロトコルを、例示的な順次同期階層４００におけるネットワーク化ノード間で情報及びデータ・ファイルの少なくとも一方を同期化するのに使用してもよい。
【００３８】
また、図４の例示的な順次同期階層４００は、例示的なプロセス制御システム１００からのノードの追加および削除もサポートする。例示的な実施形態において、新規ネットワーク化ノードが、既存の順次同期階層（例示的な順次同期階層４００など）に追加されると、根ノードは、優先度が最も低い階層同期レベルから、新規追加されたネットワーク化ノードに関連付けられる親ノードとなるべきネットワーク化ノード、また言い換えると例示的な順次同期階層の葉（リーフ）ノードをランダムに選択する。その後、根ノードは、新規追加されたネットワーク・ノードを、ランダムに選択された葉ノードに直接関連付けられる直系子ノードとなるように構成する。図４に示される実施例を参照すると、新規ノードが例示的な順次同期階層４００に追加される場合、根ノード１０５（ノード０）は、優先度の最も低い第３のレベル４２０の葉ノード１２０（ノード３）、１２５（ノード４）、１３５（ノード６）又は１４０（ノード７）の一つをランダムに選択し、新規追加されたノードを選択された葉ノードの子ノードとなるように割り当てる。
【００３９】
加えて、例示的な実施形態では、既存のネットワーク化ノードが、既存の順次同期階層（例示的な順次同期階層４００など）から（例えば、ネットワーク再構築計画の間に先を見越して、又はエラー状態や停電などを検出した後に遡及的に）取り除かれる場合、取り除かれるノードに関連する子孫ノードは全て根ノードの子孫となるように自動的に再割り当てされる。例えば、根ノードは、削除されたノードの子孫ノードの一つを、新規優先度の最も低い階層同期レベルで根ノードに直接関連する新規直系子ノードとなるように選択するよう構成されることができ、それによって根ノードに直接関連するあらゆる既存の直系子ノードよりも低い優先度レベルにこの新規子ノードを置く。その後、根ノードは、前回削除されたノードに関連するあらゆる残りの子孫ノードを、今回は新規に構成された直系子ノードを通じて根ノードに間接的に関連する間接的ノードとなるように構成することができる。図４に示される実施例を参照すると、ネットワーク化ノード１３０（ノード５）が例示的な順次同期階層４００から削除された場合、根ノード１０５（ノード０）は、削除されたノードの子孫ノード１４０（ノード７）を、新規優先度の最も低い第４の階層同期レベル（図示せず）で根ノード１０５（ノード０）に直接関連する直系子ノードとなるように再構成することができる。
【００４０】
更に例示的な実施形態において、根ノードは、順次同期階層（例示的な順次同期階層４００など）の全体的な構成を監視する。同期階層にわたる一以上の親−子（また具体的には、親−子−子孫）伝搬路がノードの追加及び削除の少なくとも一方により、著しく他のものよりも長くなった場合、根ノードは、より詳細にわたって後述されるように、既存の同期階層を破棄し、順次同期階層の再構築を開始してもよい。
【００４１】
また、図４は、例示的な順次同期階層４００におけるネットワーク化ノードの階層レベル割り当ておよび親−子−子孫関係を表わすのに使用されうる便利な表記法を示す。図示される実施例において、ネットワーク化ノードが、関連する親ノードの直系子ノードとなるノードを割り当てることにより例示的な順次同期階層４００に含まれるように構成されている場合、構成されたノードは「（（<親標識>）<割り当てられた子階層同期レベル>)」といった再帰的形式を用いて標示される。根ノード１０５（ノード０）は、表記形式を初期化するべくＮ０と標示される。
【００４２】
このように、この標識化仕様によると、ネットワーク化ノード１１０（ノード１）は（（Ｎ０）１）と標示され、それが第１の階層同期レベル４０５での根ノードＮ０の直系子ノードであることを示す。同様に、ネットワーク化ノード１１５（ノード２）および１２０（ノード３）は各々（（Ｎ０）２）および（（Ｎ０）３）と標示され、それらが各々の第２のレベル４１５および第３のレベル４２０での根ノードＮ０の直系子ノードであることを示す。加えて、ネットワーク化ノード１３０（ノード５）は（（（Ｎ０）１）２）と標示され、それが第２のレベル４１５でのノード（（Ｎ０）１）の直系子ノードであると同時にノード（（Ｎ０）１）を介して関連する根ノードＮ０の間接的子ノードでもあることを示す。同様に、ネットワーク化ノード１３５（ノード６）は（（（Ｎ０）１）３）と標示され、それが第３のレベル４２０でのノード（（Ｎ０）１）の直系子ノードであると同時にノード（（Ｎ０）１）を介して関連する根ノードＮ０の間接的子ノードでもあることを示す。加えて、ネットワーク化ノード１２４（ノード４）は（（（Ｎ０）２）３）と標示され、それが第３のレベル４２０でのノード（（ＮＯ）２）の直系子ノードであると同時にノード（（ＮＯ）２）を介して関連する根ノードＮ０の間接的子ノードでもあることを示す。最後に、ネットワーク化ノード１４０（ノード７）は（（（（Ｎ０）１）２）３）と標示され、それが第３のレベル４２０でのノード（（（Ｎ０）１）２）の直系子ノードであると同時に、ノード（（（Ｎ０）１）２）を介して関連するノード（（Ｎ０）１）の間接的子ノードならびにノード（（Ｎ０）１）および（（（Ｎ０）１）２）を介して関連する根ノードＮ０の間接的子ノードでもあることを示す。
【００４３】
図１の例示的なプロセス制御システム１００のネットワーク化ノード１０５−１４０を図４の例示的な順次同期階層４００を形成するように構成する例示的な構成手順が、図５Ａ−図５Ｇに示されている。図５Ａ−図５Ｇに示される例示的な構成手順は、親ノードとして動作するように構成される各ネットワーク化ノードが順次同期階層の一部分だけ（例えば、直接関連する全ての子ノードを含む一部分だけ）の構成をつかさどる分散型構成を利用する。高（概念）レベルで、例示的な構成手順は、順次同期階層４００などの同期階層を以下の通り構成する。初期段階において、ノードは根ノードとなるように割り当てられる。その後、根ノードは、（ｉ）取得した残りの利用可能なノードのリストからノードを選択し、（ｉｉ）新規選択されたノードの子孫となるべき一覧リストに含まれる残りの利用可能なノードの部分集合（例えば、半分）を割り当てることを繰返す。繰返し構成の各パスで根ノードは、同期階層において次に利用可能な階層同期レベルで根ノードに直接関連する直系子ノードとなるべき選択ノードを選抜するよう、選択ノードに構成メッセージを送る。また、構成メッセージは、選択ノードにそれの唯一の親ノードとして根ノードを取り扱わせる。加えて、構成メッセージは、新規構成された直系子ノードの子孫ノード集合となるように選択された残りの利用可能なノードの部分集合を含んでいる。この情報により、新規構成された直系子ノードが自身の子孫を構成することが可能になる。根ノードは、残りの利用可能なノードの一覧リストが空になるまでこの工程を実行する。
【００４４】
根ノードによる直系子ノードの構成と並行して（例えば、同時に）、直系子ノードとして根ノードにより選択された各ノードは、類似した繰返し方式で自身の子を各々構成する。例えば、上述の如く、繰返し構成の各パスで、根ノードは、残りの利用可能なノードの一覧リストからノードを選択して、根ノードの直系子ノードとなるべき特定の選択ノードを選抜するための構成メッセージを送信する。また、構成メッセージは、新規構成された直系子ノードの子孫ノードのセットとなるように選択された残りの利用可能なノードの部分集合も含んでいる。選択された子孫ノードのセットを受け取り次第、新規構成された直系子ノードは親ノードとして動作し、得られた（例えば、受け取った）子孫ノードのセットから選択した自身の直系子ノードの繰返し構成を開始する。具体的には、繰返し構成の各パスで、特定の親ノードは、（ｉ）得られた残りの子孫ノード一覧リストから直系子ノードとなるべきノードを選択し、（ｉｉ）一覧リストに含まれる残りの子孫ノードの部分集合（例えば、半分）を新規選択された直系子ノードの子孫として割り当てる。根ノードの動作同様に、特定の親ノードはその後、次に利用可能な階層同期レベルで親ノードに直接関連する直系子ノードとなるべき選択ノードを選抜するための構成メッセージを選択ノードに送る。また、構成メッセージは、この新規構成された直系子ノードのために選択された子孫ノードのセットも含んでおり、それによって、直系子ノードが次いで自身の子孫を構成することを可能にする。この繰返し構成手順は、ネットワーク化ノードが全て同期階層に含まれるまで継続される。
【００４５】
図５Ａに移って参照すると、図中、例示的なプロセス制御システム１００上で実行される例示的な構成手順は、第１の構成繰返し処理５０５で始まり、この間で、根ノードとなるように選択されＮ０と標示されているネットワーク化ノード１０５（ノード０）が、ネットワーク化ノード１１０（ノード１）を例示的な順次同期階層４００に含まれるように構成する。具体的には、根ノード１０５（ノード０→Ｎ０）は第１の階層同期レベル４１０でその直系子ノードとなるようにノード１１０（ノード１）を構成するので、ノード１１０（ノード１）は（（Ｎ０）１）と標示される。以降、右向矢印（→）は、矢印の後に提示される標識により示されるネットワーク・ノードが例示的な同期階層４００に割り当てられたことを表わす。第１の繰返し処理５０５において実行される構成処理の更なる局面が図５Ｂに示されている。
【００４６】
図５Ｂに示されるように、根ノード１０５（ノード０→Ｎ０）は、初期子孫ノードリスト５１０の形式で構成するために、残りの利用可能なノードの一覧リストを取得する。第１の構成繰返し処理５０５において、初期子孫ノードリスト５１０は、例示的なプロセス制御システム１００におけるその他の全ての（例えば、各々Ｎ１−Ｎ７と標示された）ネットワーク化ノード１１０−１４０の一覧リストを含み、ユーザなどによる入力を介して根ノード１０５（ノード０→Ｎ０）により格納されるか又はアクセスできるか、或いはその両方であるネットワーク構成情報を介して取得されうる。根ノード１０５（ノード０→Ｎ０）はその後、（（（Ｎ０）１）として表わされる）第１のレベル４１０でその直系子ノードとなるべきノード１１０（ノード１→（（Ｎ０）１））を選択し、また、子孫のセット（例えば、Ｎ５−Ｎ７）となるべき初期子孫ノードリスト５１０に含まれる残りのノードの部分集合（例えば、半分）を選択して、選択一覧リスト５１２を形成する。その後、これら選択されたノードは、根ノード１０５（ノード０→Ｎ０）に関連する更新済み子孫ノードリスト５１４（例えば、Ｎ２−Ｎ４）を形成するために初期子孫ノードリスト５１０から取り除かれる。
【００４７】
また第１の構成繰返し処理５０５において、根ノード１０５（ノード０→Ｎ０）は、選択された子ノード１１０（ノード１→（（Ｎ０）１））に構成メッセージを送信し、子ノード１１０に自身の唯一の親ノードとして根ノード１０５を認識させる。このように、選択されたノード１１０（ノード１→（（Ｎ０）１））は、親ノード構成要素（構成エレメント）５１６に根ノード１０５（ノード０→Ｎ０）の識別子を格納する。また、根ノード１０５（ノード０→Ｎ０）からの構成メッセージには、子ノード１１０（ノード１→（（Ｎ０）１））との関連付けのために選択された子孫のセット（例えば、Ｎ５−Ｎ７）も含まれる。従って、子ノード１１０（ノード１→（（Ｎ０）１））は、受信した子孫のセット（例えば、Ｎ５−Ｎ７）を自身の初期子孫リスト５１８に格納する。このように、第１の構成繰返し処理５０５の終了時には、第１のレベル４１０に割り当てられたノード（例えば、ノード１１０）は、同期化実行中の情報（例えば、一以上のデータ・ファイル）を各々の親ノード（例えば、ノード１０５）から受信し始める準備ができる。
【００４８】
次に、図５Ｃに示される第２の構成繰返し処理５２０において、根ノード１０５（ノード０→Ｎ０）は、ネットワーク化ノード１１５（ノード２）を例示的な順次同期階層４００に含めるよう構成する間、ほぼ同時にノード１１０（ノード１→（（Ｎ０）１））は、ネットワーク化ノード１３０（ノード５）を例示的な順次同期階層４００に含めるよう構成する。具体的には、根ノード１０５（ノード０→Ｎ０）は、第２の階層同期レベル４１５で自身の直系子ノードとなるようにノード１１５（ノード２）を構成することで、ノード１１５（ノード２）は（（ＮＯ）２）と標示されるようになる。加えて、ノード１１０（ノード１→（（Ｎ０）１））は、第２の階層同期レベル４１５で自身の直系子ノードとなるようにノード１３０（ノード５）を構成することで、ノード１３０（ノード５）は（（（Ｎ０）１）２）と標示されるようになる。第２の繰返し処理５２０において実行される構成処理の更なる局面が図５Ｄに示されている。
【００４９】
図５Ｄに示されるように、第２の構成繰返し処理５２０において、根ノード１０５（ノード０→Ｎ０）は、第１の構成繰返し処理５０５中に作成された更新済みの子孫ノードリスト５１４に対応する初期子孫ノードリスト５２２を有する。初期子孫ノードリスト５２２は、根ノード１０５（ノード０→Ｎ０）により構成されることになる残りのネットワーク化ノード（例えば、Ｎ２−Ｎ４）の一覧リストを含んでいる。その後、根ノード１０５（ノード０→Ｎ０）は、第２のレベル４１５での直系子ノードとなるべきノード１１５（ノード２）（（（ＮＯ）２）と表わされる）を選択することにより、また、選択された子ノード１１５（ノード２→（（ＮＯ）２））に関連する子孫セット（例えば、Ｎ４）となるべき初期子孫ノードリスト５２２に含まれる残りのノードの部分集合（例えば、半分）を選択することにより、選択一覧リスト５２４を形成する。これら選択されたノードは、その後、根ノード１０５（ノード０→Ｎ０）に関連する更新済みの子孫ノードリスト５２６（例えば、Ｎ３）を形成するために初期子孫ノードリスト５２２から取り除かれる。加えて、根ノード１０５（ノード０→Ｎ０）は、選択された子ノード１１５（ノード２→（（ＮＯ）２））へと構成メッセージを送信し、子ノード１１５に唯一の親ノードとして根ノード１０５を認識させる。このように、選択された子ノード１１５（ノード２→（（ＮＯ）２））は、根ノード１０５（ノード０→Ｎ０）の識別子を親ノード構成要素５１６に格納する。更に子ノード１１５（ノード２→（（ＮＯ）２））は、受信した構成メッセージに含まれている子孫のセット（例えば、Ｎ４）を自身の初期子孫一覧リスト５３０内に格納する。
【００５０】
また第２の構成繰返し処理５２０の間、および根ノード１０５（ノード０→Ｎ０）により行われる構成処理に実質的に並行して（例えば、同時に）、ノード１１０（ノード１→（（Ｎ０）１））は、第１の構成繰返し処理５０５において作成された子孫ノードリスト５１８に対応する初期子孫ノードリスト５３２により、自身のノード構成を開始する。初期子孫ノードリスト５３２は、ノード１１０（ノード１→（（Ｎ０）１））により構成されることになる残りのネットワーク化ノード（例えば、Ｎ５−Ｎ７）の一覧リストを含んでいる。その後、ノード１１０（ノード１→（（Ｎ０）１））は、第２のレベル４１５でそれの直系子ノードとなるべきノード１３０（ノード５）（（（（Ｎ０）１）２）として表わされる）を選択することにより、また、選択された子ノード１３０（ノード５→（（（Ｎ０）１）２））に関連する子孫のセット（例えば、Ｎ７）となるべき初期子孫ノードリスト５３２に含まれる残りのノードの部分集合（例えば、半分）を選択することにより、選択一覧リスト５３４を形成する。その後、これら選択されたノードは、ノード１１０（ノード１→（（Ｎ０）１））に関連する更新済みの子孫ノードリスト５３６（例えば、Ｎ６）を形成するために初期子孫ノードリスト５３２から取り除かれる。加えて、ノード１１０（ノード１→（（Ｎ０）１））は、選択された子ノード１３０（ノード５→（（（Ｎ０）１）２））に構成メッセージを送信し、子ノード１３０に自身の唯一の親ノードとしてノード１１０を認識させる。これにより、選択された子ノード１３０（ノード５→（（（Ｎ０）１）２））は、ノード１１０（ノード１→（（Ｎ０）１））の識別子を親ノード構成要素５３８に格納する。更に子ノード１３０（ノード５→（（（Ｎ０）１）２））は、受信した構成メッセージに含まれている子孫のセット（例えば、Ｎ７）を自身の初期子孫一覧リスト５４０に格納する。
【００５１】
このように、第２の構成繰返し処理５２０の終了時には、第２のレベル４１５に割り当てられたノード（例えば、ノード１１５および１３０）は、同期化実行中の情報（例えば、一以上のデータ・ファイル）を各々の親ノード（例えば、各々ノード１０５および１１０）から受信し始める準備ができる。
【００５２】
最後に、図５Ｅに示される第３の構成繰返し処理５５０中に、根ノード１０５（ノード０→Ｎ０）は、ネットワーク化ノード１２０（ノード３）を例示的な順次同期階層４００に含まれるように構成する間、実質的に同一の時点でノード１１０（ノード１→（（Ｎ０）１））と１１５（ノード２→（（ＮＯ）２）および１３０（ノード５→（（（Ｎ０）１）２）は、各々ネットワーク化ノード１３５（ノード６）、１２５（ノード４）および１４０（ノード７）を、例示的な順次同期階層４００に含まれるように構成する。具体的には、根ノード１０５（ノード０→Ｎ０）は、第３の階層同期レベル４２０での直系子ノードとなるべきノード１２０（ノード３）を構成することで、ノード１２０（ノード３）は（（Ｎ０）３）と標示されるようになる。加えて、ノード１１０（ノード１→（（Ｎ０）１））は、第３の階層同期レベル４２０での直系子ノードとなるべきノード１３５（ノード６）を構成することで、ノード１３５（ノード６）は（（（Ｎ０）１）３）と標示されるようになる。同様に、ノード１１５（ノード２→（（ＮＯ）２）は、第３の階層同期レベル４２０での直系子ノードとなるようにノード１２５（ノード４）を構成することで、ノード１２５（ノード４）は（（（Ｎ０）２）３）と標示されるようになる。更に、ノード１３０（ノード５→（（（Ｎ０）１）２）は、第３の階層同期レベル４２０での直系子ノードとなるようにノード１４０（ノード７）を構成することで、ノード１４０（ノード７）は（（（（Ｎ０）１）２）３）と標示されるようになる。第３の繰返し処理５５０において行われる構成処理の更なる要素が図５Ｆ−５Ｇに示されている。
【００５３】
図５Ｆに示されるように、第３の構成繰返し処理５５０において、根ノード１０５（ノード０→Ｎ０）は、第２の構成繰返し処理５２０中に作成された更新済みの子孫ノードリスト５２６に対応する初期子孫ノードリスト５５２を有する。初期子孫ノードリスト５５２は、根ノード１０５（ノード０→Ｎ０）により構成されることになる残りのネットワーク化ノード（例えば、Ｎ３）の一覧リストを含んでいる。その後、根ノード１０５（ノード０→Ｎ０）は、第３のレベル４２０での直系子ノードとなるべきノード１２０（ノード３）（（（Ｎ０）３）として表わされる）を選択することにより選択一覧リスト５５４を形成する。また、根ノード１０５（ノード０→Ｎ０）は、選択された子ノード１２０（ノード３→（（Ｎ０）３））の子孫ノードとして選択できるノードが全く残っていないと判断する。その後、これ以上残りのノードを含んでいない更新済みの子孫ノードリスト５５６を形成するために選択ノードが初期子孫ノードリスト５５２から取り除かれる（根ノードの繰返し構成処理がこの繰返し処理とともに終了されることを示す）。加えて、根ノード１０５（ノード０→Ｎ０）は、選択された子ノード１２０（ノード３→（（Ｎ０）３））に構成メッセージを送信し、子ノード１２０に自身の唯一の親ノードとして根ノード１０５を認識させる。これにより、選択された子ノード１２０（ノード３→（（Ｎ０）３））は、親ノード構成要素５５８に根ノード１０５（ノード０→Ｎ０）の識別子を格納する。更に子ノード１２０（ノード３→（（Ｎ０）３））は、関連する子孫ノードを一つも持っていないので、自身の初期子孫一覧リスト５６０は空のままである（子ノード１２０が例示的な同期階層４００の葉ノードであることを示す）。
【００５４】
また第３の構成繰返し処理５５０の間、及び根ノード１０５（ノード０→Ｎ０）により行われる構成処理に実質的に並行して（例えば、同時に）、ノード１１０（ノード１→（（Ｎ０）１））は、第２の構成繰返し処理５２０において作成された子孫ノードリスト５３６に対応する初期子孫ノードリスト５６２により自身のノード構成を開始する。初期子孫ノードリスト５６２は、ノード１１０（ノード１→（（Ｎ０）１））により構成されることになる残りのネットワーク化ノード（例えば、Ｎ６）の一覧リストを含んでいる。その後、ノード１１０（ノード１→（（Ｎ０）１））は、第３のレベル４２０での直系子ノードとなるべきノード１３５（ノード６）（（（（Ｎ０）１）３）として表わされる）を選択することにより選択一覧リスト５６４を形成する。また、ノード１１０（ノード１→（（Ｎ０）１））は、選択された子ノード１３５（ノード６→（（（Ｎ０）１）３））の子孫ノードとして選択できるノードが全く残っていないと判断する。その後、選択されたノードは、これ以上残りのノードを含んでいない更新済みの子孫ノードリスト５６６を形成するために初期子孫ノードリスト５６２から取り除かれる（このノードの繰返し構成がこの繰返し処理とともに終了されることを示す）。加えて、ノード１１０（ノード１→（（Ｎ０）１））は、選択された子ノード１３５（ノード６→（（（Ｎ０）１）３））に構成メッセージを送信し、子ノード１３５に自身の唯一の親ノードとしてノード１１０を認識させる。これにより、選択された子ノード１３５（ノード６→（（（Ｎ０）１）３））は、ノード１１０（ノード１→（（Ｎ０）１））の識別子を親ノード構成要素５６８に格納する。更に子ノード１３５（ノード６→（（（Ｎ０）１）３））は関連する子孫ノードを全く持っていないので、自身の初期子孫一覧リスト５７０は空のままである（子ノード１３５が同期階層４００の葉ノードであることを示す）。
【００５５】
図５Ｇに移って参照すると、第３の構成繰返し処理５５０の間、および根ノード１０５（ノード０→Ｎ０）とノード１１０（ノード１→（（Ｎ０）１））により行われる構成処理に実質的に並行して（例えば、同時に）、ノード１１５（ノード２→（（ＮＯ）２））は、第２の構成繰返し処理５２０中に作成された子孫ノードリスト５３０に対応する初期子孫ノードリスト５７２で自身のノード構成を開始する。初期子孫ノードリスト５７２は、ノード１１５（ノード２→（（ＮＯ）２））により構成される残りのネットワーク化ノード（例えば、Ｎ４）の一覧リストを含んでいる。その後、ノード１１５（ノード２→（（ＮＯ）２））は第３のレベル４２０での直系子ノードとなるべきノード１２５（ノード４）（（（（Ｎ０）２）３）として表わされる）を選択することにより選択一覧リスト５７４を形成する。また、ノード１１５（ノード２→（（ＮＯ）２））は、選択された子ノード１２５（ノード４→（（（Ｎ０）２）３））の子孫ノードとして選択できるノードが全く残っていないと判断する。その後、選択されたノードは、これ以上残りのノードを含んでいない更新済みの子孫ノードリスト５７６を形成するために初期子孫ノードリスト５７２から取り除かれる（このノードの繰返し構成がこの繰返し処理とともに終了されることを示す）。加えて、ノード１１５（ノード２→（（ＮＯ）２））は、選択された子ノード１２５（ノード４→（（（Ｎ０）２）３））に構成メッセージを送信し、子ノード１２５に自身の唯一の親ノードとしてノード１１５を認識させる。これにより、選択された子ノード１２５（ノード４→（（（Ｎ０）２）３））は、ノード１１５（ノード２→（（ＮＯ）２））の識別子を親ノード構成要素５７８に格納する。更に子ノード１２５（ノード４→（（（Ｎ０）２）３））は関連する子孫ノードを全く持っていないので、自身の初期子孫一覧リスト５８０は空のままである（子ノード１２５が同期階層４００の葉ノードであることを示す）。
【００５６】
また第３の構成繰返し処理５５０の間、および根ノード１０５（ノード０→Ｎ０）とノード１１０（ノード１→（（Ｎ０）１）およびノード１１５（ノード２→（（ＮＯ）２））により行われる構成処理と実質的に並行して（例えば、同時に）、ノード１３０（ノード５→（（（Ｎ０）１）２））は、第２の構成繰返し処理５２０中に作成された、子孫ノードリスト５４０に対応する初期子孫ノードリスト５８２により自身のノード構成を開始する。初期子孫ノードリスト５８２は、ノード１３０（ノード５→（（（Ｎ０）１）２））により構成される残りのネットワーク化ノード（例えば、Ｎ７）の一覧リストを含んでいる。その後、ノード１３０（ノード５→（（（Ｎ０）１）２））は、第３のレベル４２０での直系子ノードとなるべきノード１４０（ノード７）（（（（（Ｎ０）１）２）３）として表わされる）を選択することにより選択一覧リスト５８４を形成する。また、ノード１３０（ノード５→（（（Ｎ０）１）２））は、選択された子ノード１４０（ノード７→（（（（Ｎ０）１）２）３））の子孫ノードとして選択できるノードが全く残っていないと判断する。その後、選択されたノードは、これ以上残りのノードを含んでいない更新済みの子孫ノードリスト５８６を形成するために初期子孫ノードリスト５８２から取り除かれる（このノードの繰返し構成がこの繰返し処理とともに終了されることを示す）。加えて、ノード１３０（ノード５→（（（Ｎ０）１）２））は、選択された子ノード１４０（ノード７→（（（（Ｎ０）１）２）３））に構成メッセージを送信し、子ノード１４０に自身の唯一の親ノードとしてノード１３０を認識させる。これにより、選択された子ノード１４０（ノード７→（（（（Ｎ０）１）２）３））は、ノード１３０（ノード５→（（（Ｎ０）１）２））の識別子を親ノード構成要素５８８に格納する。更にノード１４０（ノード７→（（（（Ｎ０）１）２）３））は関連する子孫ノードを全く持っていないので、自身の初期子孫一覧リスト５９０は空のままである（子ノード１４０が同期階層４００の葉ノードであることを示す）。
【００５７】
このように、第３の構成繰返し処理５５０の終了時に、第３のレベル４２０に割り当てられたノード（例えば、ノード１２０、１２５、１３５および１４０）は、各々の親ノード（例えば、各々ノード１０５、１１５、１１０および１３０）から同期化実行中の情報（例えば、データ・ファイル（複数可））を受信し始める準備ができる。なおまた、図示される実施例において、例示的な同期階層４００の構成は、対応する第３の階層同期レベル４２０に割り当てられたノードが、その階層の葉ノードを形成する状態で第３の構成繰返し処理５５０が終了すると完了される。
【００５８】
図４の例示的な順次同期階層４００を実施するために図１の例示的なプロセス制御システム１００において使用されうる例示的な情報シンクロナイザ６００のブロック図が図６に示されている。例示的な情報シンクロナイザ６００は、例示的な順次同期階層４００の少なくとも一部分の構成、ならびに例示的な順次同期階層４００において同期を行うための情報（例えば、一以上のデータ・ファイル）の伝搬をサポートする。更に図示される実施例の情報シンクロナイザ６００は、例示的なプロセス制御システム１００の例示的なネットワーク化ノード１０５−１４０の一以上による実施及び使用の少なくともいずれかを意図したものである。
【００５９】
図６を参照すると、少なくとも例示的な順次同期階層４００の一部分の構成をサポートするために、例示的な情報シンクロナイザ６００は、ノード構成インターフェース６０５、ノード・セレクタ６１０、ノードリスト・セグメンタ６１５、子選抜インターフェース６２０およびノードリスト格納装置６２５を含む。例示的なノード構成インターフェース６０５は、例示的なプロセス制御システム１００のネットワーク化ノード１０５−１４０の特定の一つと関連付けられる子孫ネットワーク化ノードセットの一覧リスト（本稿において「子孫ノードリスト」とも呼ばれる）を取得するように構成される。例えば、例示的な情報シンクロナイザ６００が根ノード１０５（ノード０→Ｎ０）をサポートするように（例えば、根ノード１０５（ノード０→Ｎ０）より実施及び／又は構成されるように）構成されている場合には、例示的なノード構成インターフェース６０５が、利用可能なネットワーク構成、ユーザ入力などに基づいて子孫ノードリストを取得するように構成されうる。但し、もし例示的な情報シンクロナイザ６００がノード１１０（ノード１→（Ｎ０）（１））をサポートするように構成されている場合には、例示的なノード構成インターフェース６０５は、ノード１１０の関連する親ノードすなわち根ノード１０５（ノード０→Ｎ０）により送信された構成メッセージから子孫ノードリストを取得するように構成されてもよい。子孫ノードリストがどのように取得されるかにかかわらず、例示的なノード構成インターフェース６０５は、子孫ノードリストを例示的なノードリスト格納装置６２５に格納するように構成されている。
【００６０】
例示的なノード・セレクタ６１０は、例示的な情報シンクロナイザ６００によりサポートされる特定のネットワーク化ノードから同期化実行中の情報を直接受信するために、例示的なノードリスト格納装置６２５に格納された子孫ノードリストから一以上の直系子ノードを選択するように構成される。例示的な実施形態において、関連する親ノードに対して、ノード・セレクタ６１０は、直系子ノードとなるべき子孫ノードのリストから個々のノードを繰返し選択して、子孫ノードリストの更新版から別の直系子ノードを選択する前に、選択された直系子ノードの構成が完了するのを待つ。一以上の直系子ノードが選択された後、例示的なノード・セレクタ６１０は、例示的な情報シンクロナイザ６００によりサポートされた特定のノード（例えば、親ノードとして作動しているノード）の直系子ノードとなるように選択されたノードを取り除くことにより例示的なノードリスト格納装置６２５に格納された子孫ノードリストを更新する。
【００６１】
また、例示的な情報シンクロナイザ６００は、例示的なノードリスト格納装置６２５に格納された子孫ノードリストから、例示的な情報シンクロナイザ６００によりサポートされた特定のネットワーク化ノードと間接的に関連付けられる間接的子ノードのセットを一以上選択するための例示的なノードリスト・セグメンタ６１５も含んでいる。例示的な実施形態において、ノードリスト・セグメンタ６１５は、同じ又は前回の繰返し処理中にノード・セレクタ６１０により選択された各々の直系子ノードを介して同期化実行中の情報を受信するために、間接的子ノードのセットとなるべき子孫ノードリストに残っているノードの一部分（例えば、半分）を繰返し選択するように構成される。このようにして、同期化実行中の情報が、例示的な情報シンクロナイザ６００によりサポートされたネットワーク化ノードから直接にではなく、選択された直系子ノードを介して間接的に間接的子ノードのセットにより受け取られることになっている。間接的子ノードの一以上のセットが選択された後、例示的なノードリスト・セグメンタ６１５は、間接的子ノードの一以上の選択されたセットに含まれた一以上のノードを取り除くことにより例示的なノードリスト格納装置６２５に格納された子孫ノードリストを更新する。
【００６２】
例示的な子選抜インターフェース６２０は、例示的な情報シンクロナイザ６００によりサポートされたネットワーク化ノード（例えば、親ノードとして動作しているネットワーク化ノード）から同期化実行中の情報を直接受け取るように、ノード・セレクタ６１０により選択された直系子ノードのそれぞれを構成するように動作する。加えて、子選抜インターフェース６２０は、構成中の直系子ノードに、例示的なノードリスト・セグメンタ６１５により選択された間接的子ノードの対応するセットを提供するように動作する。例えば、子選抜インターフェース６２０は、例示的なノードリスト・セグメンタ６１５により現在選択されている間接的ノードの一覧リストを含む構成メッセージを、例示的なノード・セレクタ６１０により現在選択されている直系子ノードに送信しうる。構成メッセージが受け取られ次第、このような構成メッセージは、受取り側の直系子ノードに、送り側のネットワーク化ノードを自身の親ノードとして取り扱わせることができる。加えて、新規構成された直系子ノードは、新規構成された直系子ノードを介して同期化実行中の情報を受信するように、受信した間接的子ノードのセットを構成し始めることができる。
【００６３】
上述のように、例示的なノードリスト格納装置６２５は、例示的な情報シンクロナイザ６００によりサポートされたネットワーク化ノードの子孫ノードリストを格納するように構成される。例示的なノードリスト格納装置６２５はいかなるタイプの格納装置、記憶素子などにより実施しても良い。更に例示的なノードリスト記憶装置６２５は、例えばデータベースや、リンクで結合された一覧リストや、要素の配列などのような、あらゆる適切な形式で子孫ノードリストを格納しうる。
【００６４】
例示的な順次同期階層４００に従って情報（例えば、一以上のデータ／構成ファイルなど）の同期をサポートするために、例示的な情報シンクロナイザ６００は、同期化済みデータ受信インターフェース６３０と同期シーケンサ６３５および同期化済みデータ送信インターフェース６４０を含んでいる。例示的な同期化済みデータ受信インターフェース６３０は、例示的な情報シンクロナイザ６００によりサポートされたネットワーク化ノードによる処理のため同期化実行中の情報を受信するように構成される。受信した情報は、一以上の受信データ（例えば、構成）ファイル、一以上のデータパケット、一以上のデータ入力などの形態をとりうる。例えば、例示的な情報シンクロナイザ６００が根ノード１０５（ノード０→Ｎ０）をサポートするよう構成されている（例えば、根ノード１０５（ノード０→Ｎ０）による使用のために実施及び／又は構成されている）場合には、例示的な同期化済みデータ受信インターフェース６３０は、ユーザによるデータ入力及び／又はユーザにより更新されたデータ（例えば、構成）ファイルとして同期化実行中の情報を受信するように構成されうる。但し、もし例示的な情報シンクロナイザ６００がノード１１０（ノード１→（（Ｎ０）１））をサポートするように構成されている場合には、例示的な同期化済みデータ受信インターフェース６３０は、ノード１１０の親ノード、すなわち根ノード１０５（ノード０→Ｎ０）から、同期化実行中の情報を受信するように構成されうる。例示的な受信インターフェース６３０によりどのようにして同期化実行中のデータが受け取られることになっているかにかかわらず、受信した情報は例示的な同期シーケンサ６３５に従って同期化される。
【００６５】
図示される実施例では、同期シーケンサ６３５が、例示的な同期化済みデータ受信インターフェース６３０によって順次受信された情報を、例示的な情報シンクロナイザ６００によりサポートされた親ノードの各直系子ノードへと伝搬するスケジュールを作成するように構成される。上述のように、例示的な実施形態では、例示的な同期階層４００における特定の親ノードの各直系子ノードが、一意の階層同期レベルに割り当てられる。従って、このような例示的な実施形態において、同期シーケンサ６３５は、直系子ノードが割り当てられている一意の階層同期レベルに基づいて各直系子へと情報を順次伝搬するスケジュールを作成するように構成することができる。例えば、同期シーケンサ６３５は、直系子ノードが割り当てられている階層同期レベルの一意のセットにより定義される優先順位の降順で、サポートされている親ノードの直系子ノードを順次選択することにより、情報伝搬のスケジュールを作成しうる。言い換えると、このような例示的な実施形態では、同期シーケンサ６３５は、第１の階層同期レベルよりも低い優先度を有する第２の階層同期レベルと関連する第２の直系子ノードに情報を送信する前に第１の階層同期レベルと関連する第１の直系子ノードに対して同期化実行中の情報を送るスケジュールを作成するためのものである。
【００６６】
加えて、図示される実施例の同期シーケンサ６３５は、直系子ノードが自身の関連する子ノードを例示的な同期階層４００に含めるための構成（例えば、選抜）を完了したかどうかにかかわらず、直系子ノードが例示的な子選抜インターフェース６２０による構成（例えば、選抜）が成功していることを条件として、同期化実行中の情報を直系子ノードに対して送るスケジュールを作成するように構成される。このようにして、例示的な同期シーケンサ６３５は、たとえ例示的な同期階層４００全体の構成／形成が未完了でも直系子ノードに伝搬するための情報のスケジュールを作成することができる。更に例示的な同期シーケンサ６３５は、例示的な同期階層４００において親ノードとして動作するように構成されたあらゆる他のノードにより行われている情報伝搬にかかわらず、各直系子ノードへの情報の伝搬のスケジュールを作成するよう自立的に動作するように構成される。例えば、第１の構成済み親ノードをサポートする例示的な同期シーケンサ６３５の第１のインスタンスが、同期化実行中の情報を第１の直系子ノードに送信するスケジュールを作成すると仮定すると、その後、例示的な各同期シーケンサ６３５は自立的に動作するので、例示的な同期シーケンサ６３５の第１のインスタンスは、サポートされた第１の親ノードの第２の直系子ノードに同期化実行中の情報を送信するスケジュールを作成しうる。一方で、その間に第１の直系子ノードをサポートする例示的な同期シーケンサ６３５の第２のインスタンスは、自身の一以上の直系子ノードへと同期化実行中の受信情報を再送信していてもよい。言い換えると、図示される実施例の同期シーケンサ６３５は、複数の親−子順次伝搬路に沿った情報の同時同期化をサポートする。
【００６７】
また、例示的な情報シンクロナイザ６００には、例示的な同期シーケンサ６３５により作成されたスケジュールに基づいて一以上の直系子ノードへと同期化実行中の情報を送信するための同期化済みデータ送信インターフェース６４０も含まれている。例えば、同期化済みデータ送信インターフェース６４０は、任意の標準及びプロプライエタリ（独自仕様）の少なくともいずれかのデータ送信プロトコルに従って、一以上の受信データ（例えば、構成）ファイルや一以上のデータパケットなどの形式で同期化実行中の情報を送信してよい。
［００６６］
また、例示的な情報シンクロナイザ６００はエラー・プロセッサ６４５も含んでいる。図示される実施例のエラー・プロセッサ６４５は、例示的な情報シンクロナイザ６００の階層構成および情報同期の両方に関する側面をサポートするように構成されている。例えば、エラー・プロセッサ６４５は、例示的な子選抜インターフェース６２０により送信された構成（例えば、選抜）メッセージが、指定受信者ノードにより受信されて認識されたかどうかを判断するように構成することができる。構成（例えば、選抜）メッセージが受信確認されると、例示的な情報シンクロナイザ６００によりサポートされた受信先のノードが親ノードの直系子ノードとなるように適切に構成されたこと、そして構成（例えば、選抜）メッセージに含まれた間接的子ノードのあらゆるセットの直系子ノードによる受信が成功したことを、エラー・プロセッサ６４５は判断できる。しかし、もし構成（例えば、選抜）メッセージが受信確認されないと、エラー・プロセッサ６４５は、意図される受信先ノードの構成が不成功であったか、及び／又は受信先ノードが間接的子ノードのセットの受信に成功できなかったと判断できる。
【００６８】
後者の場合、エラー・プロセッサ６４５は受信未確認を利用して、意図された受信先ノードが例示的なプロセス制御システム１００から取り除かれており、よって取り除かれたノードの関連子孫ノードはいずれも上記で詳述されたように根ノードの子孫となるように再構成する必要があると更に判断できる。例示的な情報シーケンサ６００が例示的な同期階層４００の根ノード１０５（ノード０→Ｎ０）をサポートする場合において、意図された受信先ノードがシステム１００から取り除かれているという例示的なエラー・プロセッサ６４５の判断によって、例示的なノードリスト記憶装置６２５に格納されている子孫ノードリストが取り除かれたノードのあらゆる子孫ノードを含むように更新されてよい。その後、例示的な情報シーケンサ６００は、上述のように例示的な同期階層４００に含まれるようにこれらのノードを再構成（例えば、最選抜）するために、更新済みの子孫一覧リストを処理しうる。
【００６９】
また、例示的なエラー・プロセッサ６４５は、例示的な同期化済みデータ送信インターフェース６４０により送られた情報が、意図された受信先ノードにより受け取られて受信確認されたと判断することにより、情報の同期化もサポートする。送信された情報が受信確認されると、エラー・プロセッサ６４５は、受信先ノードが適切に同期化実行中の情報を受信したことを判断でき、自身の子ノードについて情報を同期化し続けることができる。しかし、送信された情報が受信確認されないと、エラー・プロセッサ６４５は、意図された受信先ノードが情報の受信に成功しなかったと判断できる。後者の場合、エラー・プロセッサ６４５は受信未確認を利用して、意図された受信先ノードが例示的なプロセス制御システム１００から取り除かれたと更に断できる。上述のように、意図された受信先ノードがシステム１００から取り除かれたと例示的なエラー・プロセッサ６４５が判断すると、例示的なエラー・プロセッサ６４５は、例示的なノードリスト記憶装置６２５に格納されている子孫ノードリストを取り除かれたノードの子孫ノードで更新してよく、その場合、例示的な同期階層４００に含まれるようにこれらのノードを再構成（例えば、選抜）することができる。
【００７０】
例示的な情報シンクロナイザ６００を実施する例示的な方法が図６に示されているが、図６に示される要素、工程且つ又は装置の一以上は、その他いかなる方法で組み合わせても、分割しても、再配置しても、省略しても、削除しても、及び／又は実施しても良い。更に図６の例示的なノード構成インターフェース６０５、例示的なノード・セレクタ６１０、例示的なノードリスト・セグメンタ６１５、例示的な子選抜インターフェース６２０、例示的なノードリスト記憶装置６２５、例示的な同期化済みデータ受信インターフェース６３０、例示的な同期シーケンサ６３５、例示的な同期化済みデータ送信インターフェース６４０、例示的なエラー・プロセッサ６４５、及び（更に概して言うと）例示的な情報シンクロナイザ６００の少なくとも一つは、ハードウェア、ソフトウェア、ファームウェア及びハードウェアの少なくとも一方、ソフトウェア及びファームウェアの少なくとも一方、のいかなる組み合わせによっても実施できる。よって、例えば、例示的なノード構成インターフェース６０５、例示的なノード・セレクタ６１０、例示的なノードリスト・セグメンタ６１５、例示的な子選抜インターフェース６２０、例示的なノードリスト記憶装置６２５、例示的な同期化済みデータ受信インターフェース６３０、例示的な同期シーケンサ６３５、例示的な同期化済みデータ送信インターフェース６４０、例示的なエラー・プロセッサ６４５、及び（更に概して言うと）例示的な情報シンクロナイザ６００の少なくとも一つの任意のものを、一以上の回路、プログラム可能なプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能論理回路（ＰＬＤ）、及びフィールドプログラム可能論理回路（ＦＰＬＤ）などの少なくとも一つによって実施することも可能である。更に、図６の例示的な情報シンクロナイザ６００は、図６に示されるものに加えて（又はその代わりに）一以上の要素、工程、装置、図示される要素、工程、および装置のいずれかを一つ以上（または全て）を含みうる。
【００７１】
図６の例示的なプロセス制御システム１００、例示的なネットワーク化ノード１０５−１４０、例示的な順次同期階層４００、例示的な情報シンクロナイザ６００、例示的なノード構成インターフェース６０５、例示的なノード・セレクタ６１０、例示的なノードリスト・セグメンタ６１５、例示的な子選抜インターフェース６２０、例示的なノードリスト記憶装置６２５、例示的な同期化済みデータ受信インターフェース６３０、例示的な同期シーケンサ６３５、例示的な同期化済みデータ送信インターフェース６４０、及び例示的なエラー・プロセッサ６４５の少なくとも一つを、少なくとも部分的に実施するために実行されうる例示的な工程を表すフローチャートが、図７、図９および図１１Ａ−図１１Ｂに示されている。これらの実施例において、各フローチャートにより表わされる工程は、（ａ）プロセッサ（図１２に関して後述される例示的なコンピュータ１２００内に示されるプロセッサ１２１２など）、（ｂ）コントローラ、及び（ｃ）その他任意の適切な装置の少なくとも一つにより実行されるための、機械可読命令を構成する一以上のプログラムにより実施されても良い。
前記一以上のプログラムは、例えばフラッシュメモリ、ＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、ハードドライブ、ＤＶＤ又はプロセッサ１２１２と関連付けられているメモリなどの有形媒体に格納されたソフトウェアにより具現化されうるが、その代わりに、プロセッサ１２１２以外の装置によってプログラム又は複数のプログラムの全体及び／又は一部分を実行することもできるし、ファームウェア又は専用ハードウェアにおいて具現化することもできる（例えば、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能論理回路（ＰＬＤ）、フィールドプログラム可能論理回路（ＦＰＬＤ）、離散論理、などにより実施することもできる）。
例えば、例示的なプロセス制御システム１００、例示的なネットワーク化ノード１０５−１４０、例示的な順次同期階層４００、例示的な情報シンクロナイザ６００、例示的なノード構成インターフェース６０５、例示的なノード・セレクタ６１０、例示的なノードリスト・セグメンタ６１５、例示的な子選抜インターフェース６２０、例示的なノードリスト記憶装置６２５、例示的な同期化済みデータ受信インターフェース６３０、例示的な同期シーケンサ６３５、例示的な同期化済みデータ送信インターフェース６４０、及び例示的なエラー・プロセッサ６４５のいずれか又は全てを、ソフトウェア、ハードウェア、及びファームウェアの少なくとも一つの任意の組み合わせにより実施することができる。また、図７、図９および図１１Ａ−図１１Ｂのフローチャートにより表わされる工程の幾つか又は全てをマニュアル操作で実施するようにしても良い。更に図７、図９および図１１Ａ−図１１Ｂに示されるフローチャートを参照して例示的な工程が説明されているが、本明細書に記載される例示的な方法および装置を実施するために、その他多くの技法を代わりに使用しても良い。例えば、図７、図９および図１１Ａ−図１１Ｂに示されるフローチャートに関して、ブロックの実行順序を変更しても良いし、記載されているブロックの幾つかを変更しても、削除しても、組み合わせても、複数以上のブロックに細分しても良い。
【００７２】
例えば例示的な順次同期階層４００による例示的なプロセス制御システム１００のネットワーク化ノード１０５−１４０間で情報の同期化を行うために、図６の例示的な情報シンクロナイザ６００の少なくとも一部分を実施するために実行されうる例示的な情報の同期化工程７００が図７に示されている。例示的な実施形態において、例示的な情報同期工程７００のインスタンスは、例えば、例示的な順次同期階層４００を構成して複数の親−子順次伝搬路に沿ったデータの同期化を同時にサポートするために、例示的なネットワーク化ノード１０５−１４０のそれぞれにより実行される。例えば例示的なネットワーク化ノード１０５−１４０の任意の一つであり得る代表的なネットワーク化ノード（以下「インスタント・ノード」と呼ぶ）による実行について、例示的な情報同期工程７００の動作が一般性を損なうことなく説明されている。例示的な情報同期工程７００は、あらかじめ定められたイベント（例えば、例示的な工程７００のスケジュール作成の実行割込など）の発生に基づきインスタント・ノードにより同期化対象の情報が受信される予め定められた間隔で、バックグラウンドで実行中の工程など（或いはその任意の組み合わせ）として継続的に、実行されることができる。
【００７３】
図７を参照すると、例示的な情報シンクロナイザ６００が、インスタント・ノードにより同期化対象の情報（例えば、一以上のデータ／構成ファイル）を受信するブロック７０５で、例示的な情報同期工程７００が開始される。
例えば、例示的な情報シンクロナイザ６００に含まれる例示的な同期化済みデータ受信インターフェース６３０は、ブロック７０５で同期化実行中の情報を受信しうる。
更に、また上述のように、インスタント・ノードが例示的な同期階層４００の根ノード１０５（ノード０→Ｎ０）である場合、ブロック７０５で例示的な同期化済みデータ受信インターフェース６３０が、ユーザにより提供された一以上の入力データエントリー及びデータ（例えば、構成）ファイルの少なくとも一方として同期化対象の情報を受信しうる。あるいは、インスタント・ノードが例示的な同期階層４００の根ノード１０５（ノード０→Ｎ０）でない場合、ブロック７０５で例示的な同期化済みデータ受信インターフェース６３０は、インスタント・ノードと関連する親ノードからの伝搬を介して同期化対象の情報を受信しうる。
【００７４】
同期化対象の情報がブロック７０５で受信された後、ブロック７１０に制御が進み、例示的な情報シンクロナイザ６００は、インスタント・ノードがいずれかの子孫ノードと関連するかどうかを判断する。例えば、ブロック７１０で、例示的な情報シンクロナイザ６００に含まれる例示的な同期シーケンサ６３５は、インスタント・ノードが何らかの子孫ノードを有しているかどうか判断するために例示的なノードリスト記憶装置６２５に格納された子孫ノードリストにアクセスしてもよい。インスタント・ノードがいかなる子孫ノードとも関連していない場合には、インスタント・ノードは例示的な同期階層４００の葉ノードであり、よって受信した情報をいずれの子ノードにも送る必要はない。その場合、例示的な工程７００はその時点で終了する。但し、インスタント・ノードが一以上の子孫ノードと関連する場合には、インスタント・ノードはその直系子ノードへと受信した情報を更に送信する必要があるため、制御はブロック７１５に進む。
【００７５】
ブロック７１５で例示的な情報シンクロナイザ６００は、同期化実行中の受信情報をインスタント・ノードの直系子ノードへの伝播（例えば、送信）に向けて準備する。例えば、ブロック７１５で同期シーケンサ６３５は、次の適切な直系子ノードへの伝搬に向けて準備中の受信した情報をバッファ処理してもよい。加えて、例示的な実施形態の幾つかでは、その情報の旧バージョンがまだ同期化段階の途中である時に新しいバージョンが受信された場合、ブロック７１５で例示的な同期シーケンサ６３５が一以上の直系の子ノードへの伝搬に向けて現在バッファ処理されている情報を上書きしてもよい。旧バージョンを新バージョンで上書きすることにより、情報の最新バージョンは、新バージョンが旧バージョンの同期化が完了するのを待たなければならなかった場合よりも速くインスタント・ノードの直系子ノードと同期化されうる。ブロック７１５で行われる情報上書き処理の例示的な動作が図８に示されており、また、以下より詳しく説明されている。
【００７６】
次に、ブロック７２０に制御が進み、例示的な情報シンクロナイザ６００は、インスタント・ノードと関連する子孫ノードのいずれかがまだ例示的な同期階層４００に含まれるように構成されていないと判断する。例えば、例示的な情報シンクロナイザ６００に含まれる例示的な同期シーケンサ６３５は、ブロック７２０で、同期階層４００に含まれるように構成（例えば、選抜）する必要がある何らかの子孫ノードが残っているかどうか判断するために、例示的なノードリスト記憶装置６２５に格納された子孫ノードリストにアクセスしうる。いずれかの子孫ノードがまだ構成を要する場合（ブロック７２０）、残りの未構成の子孫ノードの中から各々が一意の階層同期レベルで直系子ノードとなるべき一以上のノードを構成（例えば、選抜）するために、例示的な情報シンクロナイザ６００が構成手順を行うブロック７２５に制御が進む。加えて、上述のように新規構成された直系子ノードの一以上と関連付けされるために間接的子ノードの一以上のセットに含まれるように、残りの未構成の子孫ノードの一以上を選択しうる。ブロック７２５で処理を行う例示的な工程が図９に示されており、また以下により詳しく説明されている。
【００７７】
次に、インスタント・ノードの直系子ノードとして選択されている一以上の未構成の子孫ノードの構成が成功したか（例えば、選抜されたか）を例示的な情報シンクロナイザ６００が判断するブロック７３０へと制御が進む。図示される実施例において、ブロック７３０で例示的な情報シンクロナイザ６００は、インスタント・ノードの直系子ノードとの関連付けのために選択されているいずれかの間接的子ノードの構成が成功したかどうかを考慮しない。これは、上述のように一以上の直系子ノードが構成されている限り同期を進めることができるためである。直系子ノードの構成が成功していない場合（ブロック７３０）、直系子ノードの構成が成功するまで例示的な情報シンクロナイザ６００が待機するブロック７３５に制御が進む。直系子ノードの構成が成功した後、ブロック７４０に制御が進む。
【００７８】
ブロック７４０を発端として、例示的な情報シンクロナイザ６００は、直系子ノードが関連する階層同期レベルのセットに応じた優先順位に基づき、インスタント・ノードの直系子ノードのそれぞれへと同期化実行中の情報を順次送信する。上述のように、各直系子ノードは、異なる同期優先度を持つ一意の階層同期レベルと関連付けられる。よって、インスタント・ノードの直系子ノードのセットに対応する階層同期レベルのセットは、同期化実行中の情報をインスタント・ノードの直系子ノードのそれぞれへと順次伝播するための優先順位付けを定義するのに使用されても良い。
【００７９】
この点を考慮して、例示的な情報シンクロナイザ６００は、ブロック７４０で、同期化実行中の情報が順次伝播される残りの直系子ノードの中から最優先階層同期レベルと関連する直系子ノードを選択する。例えば、例示的な情報シンクロナイザ６００に含まれる例示的な同期シーケンサ６３５は、ブロック７４０で、次の直系子ノードを同期スケジュールに向けて選択するべく直系子ノードと関連する階層同期レベルの一覧リストを処理するために例示的なノードリスト記憶装置６２５にアクセスしてもよい。次の直系子ノードがブロック７４０で選択された後、例示的な情報シンクロナイザ６００が同期化実行中の情報を選択された直系子ノードに送信するブロック７４５に制御が進む。例えば、例示的な情報シンクロナイザ６００に含まれる例示的な同期化済みデータ送信インターフェース６４０は、ブロック７４５で、同期化実行中の情報を、一以上のデータ（例えば、構成）ファイルや一以上のデータパケットなどの形式において選択された直系子ノードへと送信しうる。
【００８０】
次に、同期化実行中の情報がインスタント・ノードの全ての直系子ノードに順次送信されたかどうかを例示的な情報シンクロナイザ６００が判断するブロック７５０に制御が進む。情報が全ての直系子ノードに送信されていない場合（ブロック７５０）、制御はブロック７４０に戻り、例示的な情報シンクロナイザ６００が次の直系子ノードを選択するそれ以降のブロックは、同期化実行中の情報が順次伝播されることになっている階層的優先度の順序で進む。但し、情報が全ての直系子ノードに伝播されている場合（ブロック７５０）、例示的な工程７００の実行はその時点で終了する。
【００８１】
図７の例示的な情報同期工程７００のブロック７１５で行われる情報上書き処理の例示的な動作が図８に示されている。図８は、例示的な同期化済み情報に上書きする工程を示すために例示的な順次同期階層４００の一部分を描いた図である。図示される実施例において情報ファイルの第１のバージョン８０５は同期化処理中であるため、例示的な同期階層４００のノード間で伝播されている。この特定の実施例では、情報ファイルの第１のバージョン８０５が第１の同期繰返し処理中に第１の階層的レベル４１０で根ノード１０５（ノード０→Ｎ０）により受信されて、その子ノード１１０（ノード１→（（Ｎ０）１））に伝播されている。
【００８２】
次に、第１の同期繰返し処理の後であるが第２の同期繰返し処理の前に、同じ情報ファイルの第２のバージョン８１０が、図示される実施例における同期化のために根ノード１０５（ノード０→Ｎ０）に提供される。そのため、第２の繰返し処理の前に根ノード１０５（ノード０→Ｎ０）は情報ファイルのローカルコピーを第２のバージョン８１０で更新するが、その子ノード１１０（ノード１→（（Ｎ０）１））は依然として第１のバージョン８０５だけを持っている。その後、第２の同期繰返し処理中に、根ノード１０５（ノード０→Ｎ０）は、第１の階層的４１０レベルでの子ノード１１０（ノード１→（（Ｎ０）１））へ情報ファイルの第２のバージョン８１０を送信する。一方でその間、ノード１１０は、第２の階層的４１５レベルでの子ノード１３０（ノード５→（（（Ｎ０）１）２））に情報ファイルの第１のバージョン８０５を送信する。ノード１１０は、第２のバージョン８１０を第２の同期繰返し処理中に受け取るまでそれにアクセスできないので、依然として情報ファイルの第１のバージョン８０５を伝播する。
【００８３】
次に、ノード１１０（ノード１→（（Ｎ０）１））は、残りの子ノードに情報ファイルの第１のバージョン８０５を順次伝播し続ける代わりに、例えば上記ブロック７１５の情報上書き処理を利用して、情報ファイルの第１のバージョン８０５を新規第２のバージョン８１０で上書きする。このようにして、ノード１１０（ノード１→（（Ｎ０）１））は、第１のバージョン８０５の同期化が完了するのを待つことなく情報ファイルの第２のバージョン８１０を残りの直系子ノードへと直ちに伝播し始めることができる。よって、第３の同期繰返し処理中に、たとえ第１のバージョン８０５が依然として図示される例示的な同期階層４００を介して伝播されている場合でも、ノード１１０（ノード１→（（Ｎ０）１））は、第３の階層的４１５レベルでの子ノード１３５（ノード６→（（（Ｎ０）１）３））に情報ファイルの第２のバージョン８１０を送信する。
【００８４】
例示的な順次同期階層４００に含めるために例えば例示的なプロセス制御システム１００のネットワーク化ノード１０５−１４０の一以上を構成するための図６の例示的な情報シンクロナイザ６００の少なくとも一部分、及び図７のブロック７２５の少なくともいずれかにおいて処理を実施するために実行されうる例示的な階層ノード構成工程７２５が、図９に示されている。例示的な実施形態において、例示的な階層ノード構成工程７２５のインスタンスは、例えば各々のノードと関連する例示的な順次同期階層４００の少なくとも一部分を構成するために例示的なネットワーク化ノード１０５−１４０のそれぞれにより実行される。このように、例示的な階層ノード構成工程７２５は、各ネットワーク化ノードが直接関連する子ノードを含む順次同期階層の一部分の構成をつかさどる親ノードとして動作できるような分散型構成を実施するのに使用しても良い。例示的な階層ノード構成工程７２５の動作は、例えば例示的なネットワーク化ノード１０５−１４０のいずれか一つであり得る代表的なネットワーク化ノード（以下「インスタント・ノード」と呼ぶ）による実行を背景（コンテキスト）として一般性を損なうことなく説明されている。例示的な階層ノード構成工程７２５は、あらかじめ定められたイベント（例えば、例示的な工程７２５のスケジュール作成の実行割込など）の発生に基づいて、バックグラウンドで実行中の工程などとして継続的に、又はこれらの任意の組み合わせに基づいて、例示的な同期階層４００への包含に向けたノードの構成が行われることが予定（期待）されているあらかじめ定められた間隔で、実行されうる。
【００８５】
図９を参照すると、例示的な階層ノード構成工程７２５は、例示的な情報シンクロナイザ６００がインスタント・ノードと関連することになる子孫ネットワーク化ノードのセットの一覧リスト（即ち子孫ノードリスト）を取得するブロック９０５で始まる。例えば、例示的な情報シンクロナイザ６００に含まれる例示的なノード構成インターフェース６０５は、ブロック９０５で子孫ノードリストを取得し、例示的なノードリスト記憶装置６２５に一覧リストを格納することができる。更に上述のように、インスタント・ノードが例示的な同期階層４００の根ノード１０５（ノード０→Ｎ０）である場合、ブロック９０５で例示的なノード構成インターフェース６０５は利用可能なネットワーク構成情報、ユーザ入力などに基づいて子孫ノードリストを取得することができる。あるいは、インスタント・ノードが例示的な同期階層４００の根ノード１０５（ノード０→Ｎ０）でない場合、ブロック９０５で例示的なノード構成インターフェース６０５は、インスタント・ノードの関連する親ノードにより送信された構成メッセージから子孫ノードリストを取得することができる。
【００８６】
インスタント・ノードについて子孫ノードリストを取得した後、制御はブロック９１０に進み、子孫ノードリストが空かどうかを例示的な情報シンクロナイザ６００が判断する。例えば、例示的な情報シンクロナイザ６００に含まれた例示的なノード・セレクタ６１０は、ブロック９１０で、例示的なノードリスト記憶装置６２５から子孫ノードリストを読み出して、一覧リストが空かどうかを判断してもよい。子孫ノードリストが空でない場合（ブロック９１０）は構成されるべき子孫ノードが残っていることを示すので、制御はブロック９１５に進む。
【００８７】
ブロック９１５で、例示的な情報シンクロナイザ６００は、子孫ノードリストにおける次に利用可能な子孫ノードの中から次に利用可能な階層同期レベルに割り当てられたインスタント・ノードの直系子ノードとなるべきものを選択する。例えば、例示的な情報シンクロナイザ６００に含まれた例示的なノード・セレクタ６１０は、ブロック９１５で、例示的なノードリスト記憶装置６２５から子孫ノードリストを読み出して、インスタント・ノードの直系子ノードとなるべき次に残りの子孫ノードを選択してもよい。例示的なノード・セレクタ６１０は、選択された直系子ノードを取り除くことにより例示的なノードリスト記憶装置６２５に格納された子孫ノードリストを更新する。以下に詳述するように、選択された直系子ノードは、次に利用可能な階層同期レベルに割り当てられ、インスタント・ノードから同期化実行中の情報を直接受信するように構成されてよい。
【００８８】
次の直系子ノードが選択された後、ブロック９２０に制御が進み、例示的な情報シンクロナイザ６００は、ブロック９１５で選択された直系子ノードを介してインスタント・ノードと関連する間接的子ノードのセットとなるように、子孫ノードリストから残りの子孫ノードのセットを選択する。例えば、例示的な情報シンクロナイザ６００に含まれる例示的なノードリスト・セグメンタ６１５はブロック９２０で、例示的なノードリスト記憶装置６２５から子孫ノードリストを読み出して、ブロック９１５で選択された直系子ノードを介して同期化実行中の情報を受信するように構成される間接的子ノードとなるべき残りのノードの（例えば、残りのノードの数が奇数である場合は必要に応じて切り上げ又は切り捨てられる）半分を選択してもよい。
【００８９】
次に、ブロック９２５に制御が進み、例示的な情報シンクロナイザ６００は、ブロック９１５で直系子ノードとなるように選択された子孫ノードを、インスタント・ノードと関連する直系子ノードのセットに含める。加えて、ブロック９２５で、例示的な情報シンクロナイザ６００は、インスタント・ノードと関連する直系子ノードのセットが割り当てられている階層同期レベルのセットにおいて、次に利用可能な（例えば、最も低い優先順位の）階層同期レベルに、選択された直系子ノードを割り当てる。インスタント・ノードに関連し、この割り当てによって、例示的な同期階層４００における一意の階層同期レベルと選択された直系子ノードが関連付けられるようになる。例示的な実施形態において、ブロック９２５で、例示的なノード・セレクタ６１０は、例示的なノードリスト記憶装置６２５内に保存されている直系子ノードリストに、選択された直系子ノードおよびその関連する階層同期レベルを含めることができる。
【００９０】
次に、ブロック９３０に制御が進み、例示的な情報シンクロナイザ６００は、ブロック９１５で選択された間接的ノードのセットを、インスタント・ノードと関連する間接的子ノードの全体的な集合に含める。加えて、ブロック９３０で、例示的な情報シンクロナイザ６００は、間接的子ノードの新規選択されたセットが、ブロック９１５で選択された直系子ノードを介してインスタント・ノードと関連することになることを示す。例えば、ブロック９３０で、例示的なノード・セグメンタ６１５は、間接的子ノードの新規選択されたセットと、それらの新規選択された直系子ノードとの関連付けを、例示的なノードリスト記憶装置６２５で保存されている間接的子ノードリストに含めることができる。
【００９１】
制御は次にブロック９３５に進み、例示的な情報シンクロナイザ６００は、ブロック９１５で選択されたネットワーク化ノードを、例示的な同期階層４００におけるインスタント・ノードの直系子ノードとなるように構成する。加えて、ブロック９３５で、例示的な情報シンクロナイザ６００は、ブロック９２０で選択された間接的子ノードのセットを直系子ノードに提供し、直系子ノードが例示的な同期階層４００に含めるための間接的子ノードのセットを構成し始めることを可能にする。例えば、ブロック９３５で、例示的な情報シンクロナイザ６００に含まれた例示的な子選抜インターフェース６２０は、選択された直系子ノードに構成（例えば、選抜）メッセージ（直系子ノードと関連付けられることになる間接的子ノードのセットも記載されている）を送信しうる。このような実施例において受信した構成メッセージは、直系子ノードにインスタント・ノードを関連する親ノードとして見なさせ、間接的子ノードのセットの階層構成処理を開始させる。
【００９２】
ブロック９３５での処理が完了後、ブロック９４０に制御が進み、例示的な情報シンクロナイザ６００は、ブロック９１５で選択された直系子ノードおよびブロック９２０で選択された間接的子ノードの対応するセットを取り除くことによりインスタント・ノードのための子孫ノードリストを更新する。このように、子孫ノードリストは、インスタント・ノードの未構成の子孫ノードを表わす。例えば、ブロック９４０で、例示的な情報シンクロナイザ６００は、例示的なノードリスト記憶装置６２５に格納された子孫ノードリストを更新しいてよい。もちろん、子孫ノードリストが既に例えばブロック９１５および９２０での選択処理中に更新されている場合、ブロック９４０で行われる処理は不要であり、従って例示的な工程７２５からブロック９４０を取り除くことができる。その後、制御はブロック９１０およびそれ以降のブロックに戻り、例示的な情報シンクロナイザ６００は、子孫ノードのインスタント・ノードの一覧リストに残っているネットワーク化ノードを構成し続ける。
【００９３】
ブロック９１０に戻り、子孫ノードリストが空の場合（ブロック９１０）は構成されるべき子孫ノードが残っていないことを示すので、制御はブロック９４５に進む。ブロック９４５で、例示的な情報シンクロナイザ６００は、インスタント・ノードと関連する直系子ノードの構成が完了していることを示す。例えば、ブロック９４５で例示的な情報シンクロナイザ６００は、直系子ノードの構成が完了していることを示すためにステータス信号をアサート（有効に）したり、ステータスメッセージを発行したりなどしても良い。
【００９４】
図４の例示的な順次同期階層４００の一部分において分散型情報の同期化を行うための図７の例示的な情報同期工程７００および図９の例示的な階層ノード構成工程７２５の複数のインスタンスの例示的な動作が、図１０に示されている。具体的には、図１０は、例示的な順次同期階層４００に含まれる四つのノードにより行なわれる分散型情報同期とノード構成を示す。図示される実施例において、これら四つのノードのそれぞれは例示的な情報同期工程７００および例示的な階層ノード構成工程７２５のインスタンスを実行するように構成される。
【００９５】
図１０に移るとともに図４の例示的な順次同期階層４００を参照すると、図示される例示的な動作は、ブロック１００５で、根ノード１０５（ノード０→Ｎ０）が例示的な順次同期階層４００において同期化対象の情報を受け取るとともに始まる。これに応じて、ブロック１０１０で根ノード１０５（ノード０→Ｎ０）が、ノード１１０（ノード１→（（Ｎ０）１））をそれの第１の直系子ノードとなるように構成するために、例示的な階層ノード構成工程７２５のインスタンスの少なくとも一部分を起動する。加えて、ブロック１０１０では、工程７２５が、同期階層４００への包含のためにノード１１０により構成される間接的子ノードの一覧リストをノード１１０に送信する。ノード１１０（ノード１→（（Ｎ０）１））が構成された後、また関連する間接的子ノードのいずれかの構成が完了しているかどうかにかかわらず、ブロック１０１５で根ノード１０５（ノード０→Ｎ０）は、第１の直系子ノード１１０（ノード１→（（Ｎ０）１））に同期化実行中の情報を送信するべく例示的な情報同期工程７００のそれのインスタンスの少なくとも一部分を起発動する。従って、直系子ノード１１０（ノード１→（（Ｎ０）１））は、ブロック１０２０で対応する親ノード１０５（ノード０→Ｎ０）から情報を受信する。
【００９６】
次に、各ノードが同期処理を自立的に行うことができるので、根ノード１０５（ノード０→Ｎ０）は、ノード１１０（ノード１→（（Ｎ０）１））が自身の情報同期とノード構成を実行するのと実質的に同時に情報の同期化とノード構成を実行し続ける。より具体的には、ブロック１０２５で根ノード１０５（ノード０→Ｎ０）は、ノード１１５（ノード２→（（ＮＯ）２））を第２の直系子ノードとなるように構成するために、例示的な階層ノード構成工程７２５のインスタンスの少なくとも一部分を起動する。加えて、ブロック１０２５で工程７２５は、同期階層４００への包含に向けてノード１１５により構成されることになる間接的子ノードの一覧リストをノード１１５に送信する。ノード１１５（ノード２→（（ＮＯ）２））が構成された後、また、関連する間接的子ノードのいずれかの構成が完了したかどうかにかかわらず、ブロック１０３０で根ノード１０５（ノード０→Ｎ０）は、第２の直系子ノード１１５（ノード２→（（ＮＯ）２））に同期化実行中の情報を送信するべく、例示的な情報同期工程７００のインスタンスの少なくとも一部分を起発動する。従って、直系子ノード１１５（ノード２→（（ＮＯ）２））は、ブロック１０３５で、対応する親ノード１０５（ノード０→Ｎ０）から情報を受信する。
【００９７】
実質的に同時に、ブロック１０４０にてノード１１０（ノード１→（（Ｎ０）１））は、親ノード１０５（ノード０→Ｎ０）から前回受け取った間接的ノードのセットを処理するために例示的な階層ノード構成工程７２５のインスタンスの少なくとも一部分を起動する。図示される実施例において、工程７２５はブロック１０４０で、ノード１３０（ノード５→（（（Ｎ０）１）２））をノード１１０の第１の直系子ノードとなるように構成する。加えて、ブロック１０４０で工程７２５は、同期階層４００への包含のためにノード１３０により構成されることになる間接的子ノードの一覧リストをノード１３０に送信する。ノード１３０（ノード１→（（（Ｎ０）１）２））が構成された後、また、関連する間接的子ノードのいずれかの構成が完了したかどうかにかかわらず、ブロック１０４５でノード１１０（ノード１→（（Ｎ０）１））は、ブロック１０２０で受信された情報を第１の直系子ノード１３０（ノード５→（（（Ｎ０）１）２））に送信するために例示的な情報同期工程７００のインスタンスの少なくとも一部分を起動する。従って、直系子ノード１３０（ノード５→（（（Ｎ０）１）２））は、ブロック１０５０で対応する親ノード１１０（ノード１→（（Ｎ０）１））から情報を受信する。
【００９８】
図１０に示される例示的な動作におけるこの段階で、例示的なノード１０５（ノード０→Ｎ０）、１１０（ノード１→（（Ｎ０）１））、１１５（ノード２→（（ＮＯ）２））および１３０（ノード５→（（（Ｎ０）１）２））はそれぞれ同期化実行中の情報を有する。各ノードが同期処理を自立的に実行することができるので、ノード１０５、１１０、１１５および１２０は、ほぼ同時に各々ブロック１０５５、１０６０、１０６５および１０７０で、例示的な同期階層４００の各々の一部分について情報の同期化とノード構成を実行し続ける。
【００９９】
図４の例示的な同期階層４００など、同期階層を監視するための例示的なネットワーク・トポロジ監視工程１１００が図１１Ａ−図１１Ｂに示されている。例示的な実施形態において、ネットワーク・トポロジ監視工程１１００は、例示的な逐次同期階層４００の根ノード１０５（ノード０→Ｎ０）により実行される。例示的なネットワーク・トポロジ監視工程１１００は、あらかじめ定められたイベント（例えば、例示的な工程１１００のスケジュール作成の実行割込など）の発生に基づいて、バックグラウンドで実行中の工程などとして継続的に、又はこれらの任意の組み合わせに基づいて、ネットワーク・トポロジの監視が行われることになっているあらかじめ定められた間隔で、実行されてよい。
【０１００】
図１１Ａに移って参照すると、例示的なネットワーク・トポロジ監視工程１１００はブロック１１０５で始まり、根ノード１０５（ノード０→Ｎ０）をサポートする例示的な情報シンクロナイザ６００が例示的な同期階層４００を実施しているネットワーク・トポロジにおける変化を検出する。例えば、例示的な情報シンクロナイザ６００に含まれた例示的なエラー・プロセッサ６４５は、ブロック１１０５で、既存のネットワーク化ノードが例示的な同期階層４００から取り除かれたという指標、又は、新規ネットワーク化ノードが例示的なプロセス制御システム１００に追加されており、例示的な同期階層４００に含まれることになっているという指標を受信あるいは判断することの少なくともいずれかを行うことができる。例示的な実施形態において、例えば送信された構成メッセージ又は送信された同期化予定情報に応答して直系子ノードから受信確認が届かない場合にはノードが例示的な同期階層４００から取り除かれた、と例示的なエラー・プロセッサ６４５は判断してよい。例示的なエラー・プロセッサ６４５は、ユーザにより提供された（或いはそれ以外の場合、例えば、ネームサーバやルータなど、別のネットワークで結合された装置から利用できるようになっているか又は問い合わせ（クエリー）されうる）ネットワーク構成情報から例示的な同期階層４００にノードが加えられることになっていることも判断しうる。
【０１０１】
ネットワーク・トポロジの変更を検出した後、ブロック１１１０に制御が進み、例示的な情報シンクロナイザ６００は、取り除かれたネットワーク化ノードに検出された変更が対応するかどうか判断する。変更がネットワーク化ノードの削除に対応する場合（ブロック１１１０）、ブロック１１１５に制御が進み、例示的な情報シンクロナイザ６００は、取り除かれたノードのあらゆる子孫ノードを根ノード１０５（ノード０→Ｎ０）の子孫となるように再構成し始め、取り除かれたノードの一以上の子孫ノードから選択された新規直系子を介して根ノード１０５に報告する。例えば、ブロック１１１５で、例示的な情報シンクロナイザ６００は、該当するものがある場合、どのネットワーク化ノードが取り除かれたノードの子孫であったかを判断するために、根ノード１０５（ノード０→Ｎ０）をサポートする例示的なノードリスト記憶装置６２５から全体的な例示的同期階層４００を説明するトポロジ構成情報を読み出しうる。
【０１０２】
取り除かれたノードが少なくとも一つの子孫ノードを持っていたと仮定した場合、取り除かれたノードの子孫を再構成するために、ブロック１１２０に制御が進み、例示的な情報シンクロナイザ６００は、根ノード１０５（ノード０→Ｎ０）の新しい直系子ノードとなるべき一以上の子孫ノードのうちの一つを選択する。例えば、ブロック１１２０で、例示的な情報シンクロナイザ６００に含まれた例示的なノード・セレクタ６１０は、取り除かれたノードの子孫ノード群のうち最優先階層同期レベルに割り当てられた子孫ノードを選択してよい。あるいは、ランダムに、又はその他任意の選択基準に基づいて選択を行ってもよい。
【０１０３】
ブロック１１２０で新しい直系子ノードが選択された後、ブロック１１２５に制御が進み、例示的な情報シンクロナイザ６００は、根ノード１０５（ノード０→Ｎ０）に対して次に利用可能な階層同期レベルに、新規選択された直系子ノードを割り当てる。例えば、ブロック１１２５で、例示的な情報シンクロナイザ６００は、根ノード１０５（ノード０→Ｎ０）と関連する直系子ノードのセットが割り当てられている階層同期レベルのセットにおいて次に利用可能な（例えば、最も低い優先順位）階層同期レベルに、選択された直系子ノードを割り当てる。その後、制御はブロック１１３０に進み、例示的な情報シンクロナイザ６００は、ブロック１１２５で選択された直系子ノードを通じて根ノード１０５（ノード０→Ｎ０）と関連する間接的子ノードとなるように取り除かれたノードの残りの一以上の子孫ノードを選択する。
【０１０４】
次に、ブロック１１３５に制御が進み、例示的な情報シンクロナイザ６００は、根ノード１０５（ノード０→Ｎ０）に報告する直系子ノードのセット、および間接的子ノードの全体的なセット集合を記述するトポロジ情報を更新する。例えば、ブロック１１３５で、例示的な情報シンクロナイザ６００は、例示的なノードリスト記憶装置６２５において根ノード１０５（ノード０→Ｎ０）のために保存された直系子ノードリストに、選択された直系子ノードおよび関連する階層同期レベルを含めることができる。加えて、例示的な情報シンクロナイザ６００は、間接的子ノードの新規選択されたセット、および新規選択された直系子ノードとの関連付けを、例示的なノードリスト記憶装置６２５において根ノード１０５（ノード０→Ｎ０）のために保存された間接的子ノードリストに含めることができる。
【０１０５】
次に、ブロック１１４０に制御が進み、例示的な情報シンクロナイザ６００は、例示的な同期階層４００において根ノード１０５（ノード０→Ｎ０）の直系子ノードとなるようにブロック１１２０で選択されたネットワーク化ノードを構成する。加えて、ブロック１１４０で、例示的な情報シンクロナイザ６００は、ブロック１１３０で選択された間接的子ノードのセットを直系子ノードに提供して、直系子ノードが例示的な同期階層４００への包含のために間接的子ノードのセットを構成し始めることを可能にする。例えば、ブロック１１４０で、例示的な情報シンクロナイザ６００に含まれた例示的な子選抜インターフェース６２０は、選択された直系子ノードに構成（例えば、選抜）メッセージ（直系子ノードと関連することになる間接的子ノードのセットの記述も含む）を送信しうる。受信された構成メッセージは、直系子ノードに根ノード１０５（ノード０→Ｎ０）を関連する親ノードと見なさせ、間接的子ノードのセットの階層構成を開始させる。その後、取り除かれたネットワーク化ノードのあらゆる子孫ノードの再構築が完了し（ブロック１１４５）、制御が図１１Ｂのブロック１１５０に進む。
【０１０６】
図１１Ａのブロック１１１０に戻り、検出されたネットワーク・トポロジの変更がネットワーク化ノードの削除に相当しない場合、制御は図１１Ｂのブロック１１５５に進み、例示的な情報シンクロナイザ６００は、同期階層４００に追加されるネットワーク化ノードに、検出された変更が対応するかどうか判断する。変更がネットワーク化ノードの追加に対応する場合（ブロック１１５５）、ブロック１１６０に制御が進み、例示的な情報シンクロナイザ６００は、例示的な同期階層４００において葉ノードの直系子ノードとなるように新しいネットワーク化ノードをランダムに割り当てる。上述のように、例示的な同期階層４００における葉ノードは直系子ノードを有さないノードである。例示的な実施形態において、ブロック１１６０で、例示的な情報シンクロナイザ６００は、どのネットワーク化ノードが例示的な同期階層４００内の葉ノードか判断するために、全体的な例示的同期階層４００を説明するトポロジ構成情報を、根ノード１０５（ノード０→Ｎ０）をサポートする例示的なノードリスト記憶装置６２５から読み出すことができる。その後、例示的な情報シンクロナイザ６００は、読み出されたトポロジ構成情報から、同期階層４００に追加される新規ネットワーク化ノードの親ノードとなるべき葉ノードの一つを選択しうる。
【０１０７】
次に、ブロック１１６５に制御が進み、例示的な情報シンクロナイザ６００は、全体的な例示的同期階層４００を説明するトポロジ構成情報を更新する。例えば、ブロック１１６５で、例示的な情報シンクロナイザ６００は、根ノード１０５（ノード０→Ｎ０）をサポートする例示的なノードリスト記憶装置６２５に格納される全体的な例示的同期階層４００を説明（記述）するトポロジ構成情報を更新しうる。その後、ブロック１１７０に制御が進み、例示的な情報シンクロナイザ６００は、ブロック１１６０で選択された葉ノードの直系子ノードとなるように新規追加されたネットワーク化されたノードを構成する。例えば、ブロック１１７０で、例示的な情報シンクロナイザ６００に含まれる例示的な子選抜インターフェース６２０は、選択された葉ノードに構成（例えば、選抜）メッセージを送信し、それによって葉ノードに追加ノードを直系子ノードとして見なさせることができる。加えて、例示的な子選抜インターフェース６２０は、新規追加されたネットワーク・ノードに別の構成メッセージを送信し、選択された葉ノードを関連する親ノードとして見なさせることができる。その後、制御がブロック１１５０に進む。
【０１０８】
ブロック１１５５に戻り、検出されたネットワーク・トポロジの変更がネットワーク化ノードの追加に相当しない場合、ブロック１１７５に制御が進み、例示的な情報シンクロナイザ６００は、検出されたトポロジ変更のタイプが判定できない事例に対処するために、任意のいかなる適切なエラー処理を実行する。その後、制御はブロック１１５０に進む。
【０１０９】
ブロック１１５０で、例示的な情報シンクロナイザ６００は、例示的な順次同期階層４００の全体的な構成を分析する。例えば、ブロック１１５０で、例示的なエラー・プロセッサ６４５（及び／又は、別のネットワーク監視機構）は、例示的な同期階層４００を通じた一以上の親−子（または、具体的に言うと、親−子−子孫）伝搬路が例えばノードの追加及び削除の少なくともいずれかにより他のものよりも著しく長くなったため、同期階層４００全体の再構築が要されるかどうかを判断するために、例示的な順次同期階層４００のトポロジを監視してよい。その後、ブロック１１８０に制御が進み、例示的な情報シンクロナイザ６００は、同期階層４００全体の再構築が必要かどうか判断する。再構築が必要でない場合（ブロック１１８０）、例示的なネットワーク・トポロジ監視工程１１００の実行は終了する。但し、再構築が必要な場合（ブロック１１８０）、制御はブロック１１８５に進む。
【０１１０】
ブロック１１８５で、例示的な情報シンクロナイザ６００は、既存の同期階層４００を破棄し、順次同期階層４００の再構築を開始する。例えば、ブロック１１８５で、例示的な情報シンクロナイザ６００は、新規の例示的な順次同期階層４００を形成するために例示的なプロセス制御システム１００を含まれる現在のノードの再構築を開始するべく、図９の階層ノード構成工程７２５の幾つか又は全てを起動してよい。ブロック１１８５で再構築工程が完了すると、例示的なネットワーク・トポロジ監視工程１１００の実行は終了する。
【０１１１】
図１２は、本明細書に開示される装置および方法を実施することができる例示的なコンピュータ１２００のブロック図である。コンピュータ１２００は、例えば、サーバー、パソコン、個人用デジタル情報処理端末（ＰＤＡ）、インターネット家電、ＤＶＤプレーヤー、ＣＤプレーヤー、ディジタル・ビデオ・レコーダ、パーソナル・ビデオ・レコーダー、セットトップ・ボックス又はその他任意のタイプのコンピュータ・デバイスであり得る。
【０１１２】
ここに示した例示的なシステム１２００は、汎用プログラム可能プロセッサなどのプロセッサ１２１２を含んでいる。プロセッサ１２１２は、ローカルメモリ１２１４を含んでおり、ローカルメモリ１２１４及び別のメモリデバイスの少なくともいずれか内にあるコード化された命令１２１６を実行する。プロセッサ１２１２は、図７、図９および図１１Ａ−図１１Ｂに示される工程を実施するために、数ある中でも特に機械可読命令を実行しうる。プロセッサ１２１２は、Ｉｎｔｅｌ（登録商標）Ｃｅｎｔｒｉｎｏ（登録商標）製品群に含まれるマイクロプロセッサー、Ｉｎｔｅｌ（登録商標）Ｐｅｎｔｉｕｍ（登録商標）製品群に含まれるマイクロプロセッサー、Ｉｎｔｅｌ（登録商標）Ｉｔａｎｉｕｍ（登録商標）製品群に含まれるマイクロプロセッサー、及びＩｎｔｅｌ  ＸＳｃａｌｅ（登録商標）製品群の少なくとも一つに含まれるプロセッサをはじめとする一以上のマイクロプロセッサーなど、任意のタイプの処理ユニットでありうる。もちろん、その他製品群に含まれるその他のプロセッサも適切である。
【０１１３】
プロセッサ１２１２は、バス１２２２を介して揮発性メモリ１２１８および不揮発性メモリ１２２０を含むメインメモリーと通信する。揮発性メモリ１２１８は、静的ランダムアクセスメモリ（ＳＲＡＭ）、同期型動的ランダムアクセスメモリ（ＳＤＲＡＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、ＲＡＭＢＡＳ動的ランダムアクセスメモリ（ＲＤＲＡＭ）（登録商標）、及びその他任意のタイプのランダムアクセスメモリ素子の少なくとも一つにより実施しうる。不揮発性メモリ１２２０は、フラッシュメモリ及びその他所望の任意のタイプのメモリ素子の少なくとも一つにより実施しうる。一般に、メインメモリー１２１８および１２２０へのアクセスは、メモリ・コントローラ（図示せず）により制御される。
【０１１４】
また、コンピュータ１２００はインターフェース回路１２２４も含んでいる。インターフェース回路１２２４は、イーサネット（登録商標）・インターフェース、ユニバーサル・シリアル・バス（ＵＳＢ）、及び、第三世代入出力（３ＧＩＯ）インターフェースなどのうちの少なくとも一つの、任意のタイプのインターフェース標準により実施しうる。
【０１１５】
一以上の入力装置１２２６がインターフェース回路１２２４に接続されている。一以上の入力装置１２２６は、ユーザがプロセッサ１２１２にデータとコマンドを入力することを可能にする。入力装置は、例えばキーボード、マウス、タッチスクリーン、トラックパッド、トラックボール、アイソポイント及び音声認識システムの少なくとも一つにより実施することができる、
【０１１６】
一以上の出力装置１２２８もインターフェース回路１２２４に接続されている。出力装置１２２８は、例えば、表示装置（例えば、液晶表示装置、陰極線管（ＣＲＴ）ディスプレー）、プリンタ、及びスピーカーの少なくとも一つにより実施できる。よって、インターフェース回路１２２４は一般にグラフィックス・ドライバ・カードを含んでいる。
【０１１７】
また、インターフェース回路１２２４は、（例えば、イーサネット（登録商標）接続、デジタル加入者線（ＤＳＬ）、電話回線、同軸ケーブル、携帯電話、などの）ネットワークを介して外部コンピュータとデータのやりとりを円滑に実施するためのモデム又はネットワークインターフェース・カードのような通信装置も含んでいる。
【０１１８】
また、コンピュータ１２００は、ソフトウェアとデータを格納するために一以上の大記憶装置１２３０を含んでいる。このような大記憶装置１２３０の例としては、フロッピー（登録商標）ディスク・ドライブ、ハードドライブ・ディスク、コンパクトディスクドライブおよびデジタル多用途ディスク（ＤＶＤ）ドライブが挙げられる。大記憶装置１２３０は、例示的なノードリスト記憶装置６２５を実施することができる。あるいは、揮発性メモリ１２１８によって例示的なノードリスト記憶装置６２５を実施しても良い。
【０１１９】
本明細書に記載される方法及び装置の少なくとも一つを図１２の装置などのシステムにおいて実施する代わりに、本明細書に記載される方法及び装置の少なくとも一つを、プロセッサ及び／又はＡＳＩＣ（特定用途向け集積回路）などの構造体に埋め込んでも良い。
【０１２０】
最後に、本明細書には特定の例示的な方法、装置および製造品を記載したが、本特許出願の適用範囲はこれらに限定されるものではない。本特許出願はむしろ、字義的に若しくは均等論に基づいて添付の特許請求の範囲内に公正に含まれる方法、装置および製造品の全てを網羅するものである。
【図１】
2009296595.tif 000003
【図２】
2009296595.tif 000004
【図３】
2009296595.tif 000005
【図４】
2009296595.tif 000006
【図５Ａ】
2009296595.tif 000007
【図５Ｂ】
2009296595.tif 000008
【図５Ｃ】
2009296595.tif 000009
【図５Ｄ】
2009296595.tif 000010
【図５Ｅ】
2009296595.tif 000011
【図５Ｆ】
2009296595.tif 000012
【図５Ｇ】
2009296595.tif 000013
【図６】
2009296595.tif 000014
【図７】
2009296595.tif 000015
【図８】
2009296595.tif 000016
【図９】
2009296595.tif 000017
【図１０】
2009296595.tif 000018
【図１１Ａ】
2009296595.tif 000019
【図１１Ｂ】
2009296595.tif 000020
【図１２】
2009296595.tif 000021