(58)【調査した分野】(Int.Cl.,DB名)
前記レコード生成部が、前記第1のレコードのための第1のレコード識別子と、前記第1のリンクのための第1のリンク識別子とのうちの少なくとも1つを生成するように構成される、請求項1に記載のシステム。
生成された前記第1のレコードが、ユーザ識別子と、生成された前記第1のレコードの日付と、少なくとも1つの命令ファイルの命令ファイル識別子とのうちの少なくとも1つを含む、請求項1に記載のシステム。
前記第1のレコードのための第1のレコード識別子を生成するステップと、前記第1のリンクのための第1のリンク識別子を生成するステップとのうちの少なくとも1つをさらに有する、請求項7に記載の方法。
【背景技術】
【0002】
産業プロセスプラントのために使用される産業自動化システムは、異なるタイプのシステムを含む。異なるタイプのシステムは、異なる目的のためのものであり、各タイプのために1つよりも多くのシステムが存在し得る。それらの目的の例は、プロセス制御と安全制御である。これらシステムの各タイプは、エンジニアリングフェーズにおいて構成または設定され、その後、オペレーションフェーズにおいて使用され、メンテナンスフェーズにおいて更新され得る。
【0003】
エンジニアリング、オペレーション、およびメンテナンスの各フェーズにおいて、各システムは、個別のツールおよびデータベースを有し得る。このツールは、これに限定されないが、ソフトウェアを用いてインストールされ、各フェーズにおけるタスクを完了するために使用される、コンピューティングデバイスを含み得る。一例において、設定ソフトウェアは、プラントにおけるコントローラのための制御ロジックを定義するタスクを完了するために使用されるツールである。
【0004】
フィールドデバイスまたは機器などのハードウェア構成要素に問題がある場合、ユーザは、ハードウェア構成要素に関する変更の履歴を識別するために個別の各ツールを使用することを知る必要がある。識別された変更の履歴から、ユーザは、この問題を解決するために、履歴における変更を追跡し得る。
【0005】
典型的なプラントでは、第1のエンジニアは、変更が実行される前に、承認を求める変更要求を発行する。この変更は、これらに限定されないが、識別タグをハードウェア構成要素へ割り当てるステップと、制御ロジック内のパラメータを定義するステップとを含み得る。変更要求を求める承認が得られた場合、第2のエンジニアは、変更を実行する。その後、第3のエンジニアは、この変更が完了したことを確認するために、システムをチェックする。
【0006】
変更要求の記録と、変更要求の完了とを維持するために、多くのマニュアル作業およびロジスティクスが必要とされる。変更要求が完了したか否かをチェックおよび判定するために、より多くのマニュアル作業および時間が必要とされる。1つの変更要求では、必要とされる複数の修正項目および変更が存在し得る。これは、これに限定されないが、実質的に、構成要素の複雑なネットワークを含む産業自動化システムのためのものである。各構成要素は、複数のパラメータおよび対応する値を有し得る。
【発明を実施するための形態】
【0009】
図1は、産業プラントの設定システム10のための修正管理システム100を例示する。設定システム10は、これに限定されないが、産業プラントにおいて使用される異なるタイプのシステムのための複数の設定システム10を含み得る。異なるタイプのシステムは、プラントにおける異なる目的のために使用される。プラントは、これらに限定されないが、1つまたは複数の産業プロセスのために使用されるハードウェア、フィールドデバイスおよび機器を含む。
【0010】
命令ファイル12は、
図2における修正管理システム100へ提供される。命令ファイル12は、これに限定されないが、修正項目14を含み得る。修正項目14は、設定システム10に関連している。コンパレータ16は、修正項目14が修正されているか否かを判定するように構成される。レコード生成部18は、修正項目14が修正されるべきであると判定された場合、レコード20を生成し、修正項目14をレコード20に記憶するように構成される。リンク生成部22は、修正項目14が修正された場合、レコード20と命令ファイル12との間のリンク24を生成するように構成される。
【0011】
修正項目14は、設定システムのために必要とされる修正を定義する。この修正は、プラントの設計または仕様における変更の結果であり得る。構成要素、機器、もしくはフィールドデバイス、またはプロセス条件における変更は、修正が必要であり得る。この修正は、設定システムを維持し更新するために必要とされる。これは、プラントが更新され、更新された設計または仕様に従って運用可能であることを保証することである。
【0012】
図3における修正項目14は、これに限定されないが、アプリケーションなどのツール34を使用して項目33にアクセスするためのアクセスリンク32を含み得る。プラント設定のパラメータに関連する項目33の場合、アプリケーションは、エディタである。ユーザマニュアルに関連する項目33の場合、アプリケーションは、ユーザマニュアルのためのワードプロセッサである。項目33は、これに限定されないが、設定データおよび情報を含み得るファイルである。情報の例は、設定システムに関連するユーザマニュアルにおける説明である。修正管理システム100が、アクセスリンク32を選択するユーザ入力を受信した場合、アプリケーション34が活性化され、項目33がアクセスを受ける。アプリケーションが活性化された場合、ユーザは、このアプリケーションを使用して、項目33を閲覧または編集し得る。
【0013】
修正管理システム100は、チェックアウトイベントにおいて、命令ファイル12をチェックアウトするユーザ入力を受信する。チェックアウト状態にある命令ファイル12は、修正項目14を追加または変更するための編集を無効とされる。チェックアウト状態において、ユーザは、修正項目14を修正する。ユーザがアクセスリンク32を選択した場合、修正項目14が修正される。
【0014】
修正システム100は、チェックインイベントにおいて、命令ファイル12にチェックインするユーザ入力を受信する。
【0015】
コンパレータ16は、命令ファイル12がチェックイン状態にある場合、修正項目14が修正されているか否かを判定するように構成される。コンパレータ16は、チェックイン状態において、およびチェックアウト状態において、修正項目14を読み取る。その後、コンパレータ16は、チェックイン状態において、およびチェックアウト状態において、修正項目14が異なっているか否かを比較する。最後に、コンパレータ16は、チェックアウト状態における修正項目14が、チェックイン状態において異なる場合、修正項目14が修正されたと判定する。
【0016】
レコード生成部18は、修正項目14が修正されたとコンパレータが判定した場合、新たなレコード20を生成するように構成される。修正された修正項目14は、レコード20へ記憶される。レコード20は、チェックアウトイベントとチェックインイベントとの間の期間に修正された修正項目14を有する。
【0017】
その後、リンク生成部22が、レコード20と命令ファイル12との間のリンク24を生成する。リンク24は、レコード20が命令ファイル12に関連していることを示す関連インジケータである。
【0018】
命令ファイル12は、修正管理システム100へ提供される。命令ファイル12は、これに限定されないが、複数の修正項目14を含み得る。複数の修正項目14は、設定システム10に関連している。コンパレータ16は、複数の修正項目14が修正されているか否かを判定するように構成される。レコード生成部18は、レコード20を生成し、複数の修正項目14が修正されるべきであると判定された場合、複数の修正項目14を記憶するように構成される。リンク生成部22は、複数の修正項目14が修正されている場合、レコード20と命令ファイル12との間のリンク24を生成するように構成される。
【0019】
修正項目14は、設定システム10のための修正の定義である。この修正は、プラントの設計または仕様における変更の結果であり得る。構成要素、機器、もしくはフィールドデバイス、またはプロセス条件における変更は、修正が必要であり得る。この修正は、設定システムを維持し更新するために必要とされる。これは、プラントが更新され、更新された設計または仕様に従って運用可能であることを保証することである。
【0020】
複数の修正項目14の各々は、これに限定されないが、アプリケーションなどのツール34を使用して項目33にアクセスするためのアクセスリンク32を含み得る。項目33は、これに限定されないが、設定データおよび情報を含み得るフォルダである。情報の例は、設定システムに関連するユーザマニュアルにおける説明である。管理システム100が、アクセスリンク32を選択するユーザ入力を受信した場合、アプリケーション34が活性化され、項目33がアクセスを受ける。アプリケーションが活性化された場合、ユーザは、このアプリケーションを使用して、項目33を閲覧または編集し得る。
【0021】
修正管理システム100は、チェックアウトイベントにおいて、命令ファイル12をチェックアウトするユーザ入力を受信する。チェックアウト状態にある命令ファイル12は、複数の修正項目14を追加または変更するための編集を無効とされる。チェックアウト状態において、ユーザは、複数の修正項目14を修正する。ユーザがアクセスリンク32を選択した場合、複数の修正項目14の各々が修正される。
【0022】
修正システム100は、チェックインイベントにおいて、命令ファイル12にチェックインするユーザ入力を受信する。複数の修正項目14のうちの少なくとも1つにチェックインするための追加のユーザ入力が受信される。
【0023】
コンパレータ16は、命令ファイル12がチェックイン状態にある場合、複数の修正項目14の各々が修正されているか否かを判定するように構成される。複数の修正項目14の各々のために、コンパレータ16は、チェックイン状態において、およびチェックアウト状態において、修正項目14を読み取る。その後、コンパレータ16は、チェックイン状態において、およびチェックアウト状態において、修正項目14が異なっているか否かを比較する。最後に、コンパレータ16は、チェックアウト状態における修正項目14が、チェックイン状態において異なる場合、修正項目14が修正されたと判定する。
【0024】
レコード生成部18は、複数の修正項目14のうちの少なくとも1つが修正されているとコンパレータが判定した場合、新たなレコード20を生成するように構成される。修正されている複数の修正項目14のうちの少なくとも1つが、レコード20へ記憶される。レコード20は、チェックアウトイベントとチェックインイベントとの間の期間に修正された複数の修正項目14のうちの少なくとも1つを有する。
【0025】
リンク生成部22は、複数の修正項目14の命令ファイル12を識別するように構成される。その後、リンク生成部22が、レコード20と命令ファイル12との間のリンク24を生成する。リンク24は、レコード20が命令ファイル12に関連していることを示す関連インジケータである。
【0026】
命令ファイル12が複数の期間において修正された場合、命令ファイル12は、複数のチェックアウトイベントおよびチェックインイベントを有する。命令ファイル12における複数の修正項目14は、異なるチェックインインスタンスおよびチェックアウトインスタンスの期間中に修正される。
図4は、生成されている複数のレコード20およびリンク24を例示しており、各レコード20は、各期間のためのものであり、各リンク24は、命令ファイル12と、複数のレコード20のうちの1つとの間のものである。
【0027】
本発明の別の実施形態によれば、命令ファイル12は、これに限定されないが、複数の命令ファイル12を含み得る。複数の命令ファイル12の各々は、複数の修正項目14を有する。修正項目14の各々は、これに限定されないが、アプリケーションなどのツール34を使用して項目33へアクセスするためのアクセスリンク32を含み得る。項目33は、これに限定されないが、設定データおよび情報を含み得るフォルダである。情報の例は、設定システムに関連するユーザマニュアルにおける説明である。管理システム100がユーザ入力を受信した場合、アプリケーション34が活性化され、項目33がアクセスを受ける。アプリケーションが活性化された場合、ユーザは、このアプリケーションを使用して、項目33を閲覧または編集し得る。
【0028】
チェックアウトイベントにおいて、複数の命令ファイル12のうちの少なくとも1つをチェックアウトするユーザ入力が受信される。複数の命令ファイル12が、リスト内のディスプレイへ提供される。チェックアウトされている複数の命令ファイル12のうちの少なくとも1つを決定するためのユーザ入力が受信される。チェックアウト状態にある複数の命令ファイル12のうちの少なくとも1つは、複数の修正項目14を追加または変更するための編集を無効とされる。あらかじめ定義された粒度のレベルに基づいて、複数の修正項目14のうちの少なくとも1つをチェックアウトする追加のユーザ入力が受信される。
【0029】
チェックアウト状態において、ユーザは、複数の修正項目14を修正する。ユーザがアクセスリンク32を選択した場合、複数の修正項目14の各々が修正される。
【0030】
修正システム100は、チェックインイベントにおいて、複数の命令ファイル12のうちの少なくとも1つにチェックインするユーザ入力を受信する。あらかじめ定義された粒度のレベルに基づいて、複数の修正項目14のうちの少なくとも1つをチェックインする追加のユーザ入力が受信される。
【0031】
次に、複数の命令ファイル12の各々、および複数の修正項目14の各々へ、チェックボックス36が提供される。ユーザ入力は、チェックボックス36におけるチェックの形式である。
【0032】
コンパレータ16は、複数の命令ファイル12のうちの少なくとも1つと、複数の修正項目のうちの少なくとも1つとが、チェックイン状態にある場合、複数の修正項目14の各々が修正されているか否かを判定するように構成される。チェックイン状態にある複数の修正項目14の各々について、コンパレータ16は、チェックイン状態において、およびチェックアウト状態において、修正項目14を読み取る。その後、コンパレータ16は、チェックイン状態において、およびチェックアウト状態において、修正項目14が異なっているか否かを比較する。最後に、コンパレータ16は、チェックアウト状態における修正項目14が、チェックイン状態において異なる場合、修正項目14が修正されたと判定する。
【0033】
レコード生成部18は、複数の修正項目14のうちの少なくとも1つが修正されているとコンパレータが判定した場合、新たなレコード20を生成するように構成される。修正されている複数の修正項目14のうちの少なくとも1つが、レコード20へ記憶される。レコード20は、チェックアウトイベントとチェックインイベントとの間の期間に修正された複数の修正項目14のうちの少なくとも1つを有する。
【0034】
リンク生成部22は、レコード20における複数の修正項目14の命令ファイル12を識別するように構成される。その後、リンク生成部22が、レコード20と命令ファイル12との間のリンク24を生成する。リンク24は、レコード20が命令ファイル12に関連していることを示す関連インジケータである。
【0035】
命令ファイル12が複数の期間において修正された場合、命令ファイル12は、複数のチェックアウトイベントおよびチェックインイベントを有する。命令ファイル12における複数の修正項目14は、異なるチェックインインスタンスおよびチェックアウトインスタンスの期間中に修正される。生成された複数のレコード20およびリンクが存在し、各レコードは、各期間のためのものであり、各リンクは、命令ファイル12と、複数のレコードのうちの1つとの間のものである。第1のチェックインイベントは、第1のインスタンスである。次のチェックインイベントである第2のチェックインイベントは、第2のインスタンスである。第1のインスタンスおよび第2のインスタンスは、異なる個別のイベントである。
【0036】
実施形態では、複数の命令ファイル12は、チェックアウト状態であり、レコード20は、複数の命令ファイル12からの複数の修正項目14を含む。リンクは、複数のリンク24を生成し、各リンクは、レコード20と、複数の命令ファイル12の各々との間にある。
【0037】
命令ファイル12は、マニュアル作業によって、または、ソフトウェアを用いてコンピューティングデバイスを使用して、設定システム10のために構成されている。命令ファイルは、これに限定されないが、本発明の実施形態によれば、命令ファイル12にユニークな識別子を含み得る。
【0038】
本発明のいくつかの実施形態によれば、レコード生成部18は、レコード20のための識別子26と、リンク24のための識別子28とを生成する。
【0039】
レコード20は、本発明のいくつかの実施形態によれば、命令ファイル12に類似した構造を有する。
【0040】
本発明のいくつかの実施形態によれば、レコード20は、これらに限定されないが、ユーザ識別子と、チェックインイベントの発生と、少なくとも1つの命令ファイルの識別子とのうちの少なくとも1つを含む。チェックインイベントの発生は、少なくとも日付および時間を含む。
【0041】
本発明のいくつかの実施形態によれば、レコード生成部18は、第1の修正項目がチェックアウトされている場合、第1のチェックアウトイベントを登録し、第1の修正項目がチェックインである場合、第1のチェックインイベントを登録する。その後、レコード生成部は、第1の修正項目が修正されるか否かを判定するために、第1の修正項目を、第1のチェックインベントと第1のチェックアウトイベントとにおいて比較する。
【0042】
レコード生成部18は、本発明のいくつかの実施形態によるテーブル50を生成する。このテーブルは、これらに限定されないが、複数のレコード20の識別子26、関連付けられたリンク24の識別子28、および関連付けられた命令ファイル12の識別子52を含み得る。
【0043】
本発明のいくつかの実施形態によれば、チェックインイベントでは、リンク生成部22は、チェックアウトされている複数の修正項目14のうちの少なくとも1つが、レコード20における1つの修正項目14に関連しているか否かを判定するように構成される。いくつかの修正項目14は、互いに関連しており、これは、関連する修正項目14が、同じチェックインイベントにおいて、チェックインされていないか否かを検出する。リンク生成部22は、複数の修正項目14のうちの少なくとも1つが、レコードにおける1つの修正項目14に関連しており、チェックインされていない場合に、通知を生成する。これは、修正が完了していないことをユーザに警告する。
【0044】
図6Aは、本発明のいくつかの実施形態による方法のワークフロー600を例示する。
【0045】
ステップS602では、修正管理システム100は、第1の時間インスタンスにおいて、チェックアウトイベントを識別する。ステップS604では、修正管理システム100は、第2の時間インスタンスにおいて、チェックインイベントを識別する。ステップS606では、コンパレータ16は、命令ファイル12内の複数の修正項目14の各々が修正されたか否かを判定する。ステップS608では、生成部18は、複数の修正項目14の各々が修正されたか否かを判定した場合に、レコード20を生成し、修正項目14を記憶するように構成される。ステップS610では、リンク生成部22は、複数の修正項目14の各々が修正された場合に、レコード20と命令ファイル12との間のリンク24を生成するように構成される。
【0046】
図6Bは、複数の命令ファイルが存在し、各命令ファイルが複数の修正項目を有する場合の、本発明のいくつかの実施形態による方法のワークフロー620を例示する。ステップS622では、修正管理システム100は、第1の時間インスタンスにおいて、チェックアウトイベントを識別する。ステップS624では、修正管理システム100は、第2の時間インスタンスにおいて、チェックインイベントを識別する。ステップS626では、コンパレータ16は、命令ファイル12における複数の修正項目14の各々が修正されたか否かを判定する。ステップS628では、レコード生成部18は、複数の修正項目14の各々が修正されたか否かを判定した場合、レコード20を生成し、修正項目14を記憶するように構成される。ステップS630では、リンク生成部22はさらに、レコード20内の複数の修正項目の各々のための命令ファイルを識別するように構成される。リンク生成部22は、1つよりも多くの命令ファイルが識別された場合、レコード20と、複数の命令ファイル12の各々との間の複数のリンク24を生成する。
【0047】
好適には、レコード20は、命令ファイル12にリストされた修正項目14が完了しているか否かを確認するために使用され得る。時間および労力の観点から、効率は、設定システムにおける修正を識別または確認するために要求される。設定システムに対する多くの修正は、命令ファイル12を識別するために、リンク24から容易に追跡可能である。命令ファイル12に基づいて、ユーザは、修正項目24が正しく修正されたか否かを判定し得る。
【0048】
前述された実施形態におけるシステムおよび方法は、コンピュータソフトウェア、ソフトウェア構成要素、プログラムコード、および/または、1つまたは複数のプロセッサ上の命令を実行するマシンまたは回路によって、部分的または全体的に展開され得る。1つまたは複数のプロセッサは、汎用コンピュータ、サーバ、クラウドサーバ、クライアント、ネットワークインフラストラクチャ、モバイルコンピューティングプラットフォーム、固定コンピューティングプラットフォーム、またはその他のコンピューティングプラットフォームのうちの一部であり得る。1つまたは複数のプロセッサは、任意の種類の計算デバイスもしくは処理デバイス、またはプログラム命令、コード、バイナリ命令等を実行することが可能なデバイスであり得る。1つまたは複数のプロセッサは、信号プロセッサ、デジタルプロセッサ、組込式プロセッサ、マイクロプロセッサ、または、記憶されたプログラム命令またはプログラムコードの実行を直接的または間接的に容易にし得る、たとえば、マスコプロセッサ、グラフィックコプロセッサ、通信コプロセッサ等といったコプロセッサのような任意の変形例であり得るか、これらを含み得る。さらに、1つまたは複数のプロセッサは、複数のプログラム、スレッド、およびコードの実行を可能にし得る。スレッドは、1つまたは複数のプロセッサのパフォーマンスを高めるため、および、アプリケーションの同時動作を容易にするために、同時に実行され得る。ここで記載されたプログラムコード、プログラム命令等は、1つまたは複数のスレッドにおいて実行され得る。1つまたは複数のプロセッサは、ここで記載されているように、コード、命令、およびプログラムを記憶するメモリを含み得る。プロセッサは、ここでおよび別の箇所において記載されているように、コード、命令、およびプログラムを記憶する非一時的なプロセッサ読み取り可能な記憶媒体に、インターフェースを介してアクセスし得る。プログラム、コード、プログラム命令、または、コンピューティングまたは処理デバイスによって実行されることが可能なその他のタイプの命令を記憶するためプロセッサに関連付けられた非一時的なプロセッサ読み取り可能な記憶媒体は、これらに限定されないが、メモリ、ハードディスク、フラッシュドライブ、RAM、ROM、CD-ROM、DVD、キャッシュ等のうちの1つまたは複数を含み得る。
【0049】
プロセッサは、マルチプロセッサの速度およびパフォーマンスを高め得る1つまたは複数のコアを含み得る。いくつかの実施形態では、このプロセッサは、デュアルコアプロセッサ、クアッドコアプロセッサ、その他のチップレベルマルチプロセッサ、および、複数の独立コアを結合するもの等であり得る。
【0050】
ここで記載された方法およびシステムは、サーバ、クライアント、ファイアウォール、ゲートウェイ、ハブ、ルータ、またはその他のそのようなコンピュータおよび/またはネットワーキングハードウェアにおいてコンピュータソフトウェアを実行するマシンによって部分的または全体的に展開され得る。
【0051】
ソフトウェアプログラムは、ファイルクライアント、プリントクライアント、ドメインクライアント、インターネットクライアント、イントラネットクライアント、および、たとえば2次クライアント、ホストクライアント、分散クライアント等のようなその他の変形例、を含み得る1つまたは複数のクライアントに関連付けられ得る。クライアントは、メモリ、プロセッサ、コンピュータ読み取り可能な記録媒体、記憶媒体、物理ポートもしくは仮想ポート、通信デバイス、ならびに、他のクライアント、サーバ、マシンおよびデバイスへ有線媒体または無線媒体等によってアクセスすることが可能なインターフェース、のうちの1つまたは複数を含み得る。ここで記載されたようなプログラムまたはコードは、クライアントによって実行され得る。さらに、本願に記載されるような方法の実行のために必要とされる他のデバイスは、クライアントに関連付けられたインフラストラクチャの一部として考慮され得る。クライアントは、サーバ、他のクライアント、プリンタ、データベースサーバ、プリントサーバ、ファイルサーバ、通信サーバ、分散サーバ等を含むその他のデバイスへのインターフェースを提供し得る。このカップリングおよび/または接続は、ネットワークを介したプログラムの遠隔実行を容易にし得る。これらのデバイスのうちのいくつかまたはすべてのネットワーキングは、1つまたは複数の場所における方法またはプログラムの並列処理を容易にし得る。さらに、インターフェースによってクライアントへアタッチされているデバイスのいずれも、方法、プログラム、アプリケーション、コード、および/または、命令を記憶することが可能な少なくとも1つの記憶媒体を含み得る。中央リポジトリは、異なるデバイス上で実行されるべきプログラム命令を提供し得る。この実施では、遠隔リポジトリは、プログラムコード、命令、およびプログラムのための記憶媒体として動作し得る。
【0052】
ソフトウェアプログラムは、ファイルサーバ、プリントサーバ、ドメインサーバ、インターネットサーバ、イントラネットサーバ、および、2次サーバ、ホストサーバ、分散サーバ等のようなその他の変形例、を含み得る1つまたは複数のサーバに関連付けられ得る。サーバは、メモリ、プロセッサ、コンピュータ読み取り可能な記録媒体、記憶媒体、物理ポートもしくは仮想ポート、通信デバイス、ならびに、他のサーバ、クライアント、マシンおよびデバイスへ有線媒体または無線媒体等によってアクセスすることが可能なインターフェース、のうちの1つまたは複数を含み得る。ここで記載されたような方法、プログラムまたはコードは、サーバによって実行され得る。さらに、本願に記載されたような方法の実行のために必要とされる他のデバイスは、サーバに関連付けられたインフラストラクチャの一部として考慮され得る。サーバは、クライアント、他のサーバ、プリンタ、データベースサーバ、プリントサーバ、ファイルサーバ、通信サーバ、分散サーバ、ソーシャルネットワーク等を含むその他のデバイスへのインターフェースを提供し得る。このカップリングおよび/または接続は、ネットワークを介したプログラムの遠隔実行を容易にし得る。これらデバイスのうちのいくつかまたはすべてのネットワーキングは、1つまたは複数の場所における方法またはプログラムの並列処理を容易にし得る。インターフェースを介してサーバへアタッチされているデバイスのうちのいずれかは、プログラム、コード、および/または、命令を記憶することが可能な少なくとも1つの記憶媒体を含み得る。中央リポジトリは、異なるデバイスにおいて実行されるべきプログラム命令を提供し得る。この実施では、遠隔リポジトリは、プログラムコード、命令、およびプログラムのための記憶媒体として動作し得る。
【0053】
ここで記載された方法およびシステムは、ネットワークインフラストラクチャを介して部分的または全体的に展開され得る。ネットワークインフラストラクチャは、当該技術分野において知られているような、コンピューティングデバイス、サーバ、ルータ、ハブ、ファイアウォール、クライアント、パーソナルコンピュータ、通信デバイス、ルーティングデバイス、ならびに、その他のアクティブデバイスおよびパッシブデバイス、モジュールおよび/または構成要素のような要素を含み得る。ネットワークインフラストラクチャに関連付けられたコンピューティングデバイスおよび/または非コンピューティングデバイスは、フラッシュメモリ、バッファ、スタック、RAM、ROM等のような、他の構成要素とは個別の記憶媒体を含み得る。ここでおよび別の箇所で記載された処理、方法、プログラムコード、命令は、ネットワークインフラストラクチャ要素のうちの1つまたは複数によって実行され得る。
【0054】
ここで記載された方法、プログラムコード、および命令は、複数のセルを有するセルラーネットワークにおいて実施され得る。セルラーネットワークは、周波数分割多元接続(FDMA)ネットワークまたは符号分割多元接続(CDMA)ネットワークのいずれかであり得る。セルラーネットワークは、モバイルデバイス、セルサイト、基地局、リピータ、アンテナ、塔等を含み得る。セルラーネットワークは、GSM(登録商標)、GPRS、3G、EVDO、メッシュ、または他のネットワークタイプであり得る。
【0055】
ここでおよび別の箇所で記載された方法、プログラムコード、および命令は、モバイルデバイス上で、または、モバイルデバイスを介して実施され得る。モバイルデバイスは、ナビゲーションデバイス、セル電話、モバイル電話、モバイル携帯情報端末、ラップトップ、パームトップ、ネットブック、ページャ、電子ブックリーダ、音楽プレーヤ等を含み得る。これらのデバイスは、フラッシュメモリ、バッファ、RAM、ROM、および1つまたは複数のコンピューティングデバイスのような、他の構成要素とは個別の記憶媒体を含み得る。モバイルデバイスに関連付けられたコンピューティングデバイスは、その上に記憶された命令、方法、およびプログラムコードを実行することを可能とされ得る。あるいは、モバイルデバイスは、他のデバイスと共同で命令を実行するように構成され得る。モバイルデバイスは、サーバとインターフェースされた基地局と通信し、プログラムコードを実行するように構成され得る。モバイルデバイスは、ピアツーピアネットワーク、メッシュネットワーク、またはその他の通信ネットワーク上で通信し得る。プログラムコードは、サーバに関連付けられた記憶媒体に記憶され、サーバ内に組み込まれたコンピューティングデバイスによって実行され得る。基地局は、コンピューティングデバイスおよび記憶媒体を含み得る。記憶デバイスは、基地局に関連付けられたコンピューティングデバイスによって実行される命令およびプログラムコードを記憶し得る。
【0056】
コンピュータソフトウェア、プログラムコード、および/または命令は、コンピュータ構成要素、デバイス、および、ある期間、計算のために使用されるデジタルデータを保持する記録媒体;ランダムアクセスメモリ(RAM)として知られている半導体記憶装置;一般に、光ディスクや、ハードディスク、テープ、ドラム、カード、およびその他のタイプのような磁気記憶装置の形態のようなより永続的な記憶装置のための大容量記憶装置;プロセッサレジスタ、キャッシュメモリ、揮発性メモリ、不揮発性メモリ;CD、DVDのような光記憶装置;フラッシュメモリや、たとえばUSBスティックまたはキーといったフラッシュメモリ、フロッピーディスク、磁気テープ、紙テープ、パンチカード、スタンドアロンRAMディスク、Zipドライブ、リムーバブル大容量記憶装置、オフライン等のようなリムーバブル媒体;ダイナミックメモリ、スタティックメモリ、リード/ライト記憶装置、ミュータブル記憶装置、読取り専用、ランダムアクセス、シーケンシャルアクセス、ロケーションアドレサブル、ファイルアドレサブル、コンテンツアドレサブル、ネットワークアタッチ記憶装置、記憶エリアネットワーク、バーコード、磁気インク等のようなその他のコンピュータメモリ;を含み得るマシン読み取り可能な媒体上に記憶され得るか、および/または、このマシン読み取り可能な媒体上でアクセスされ得る。
【0057】
ここに記載された方法およびシステムは、物理的および/または無形のアイテムを、1つの状態から別の状態へと変化させ得る。ここに記載された方法およびシステムはまた、物理的および/または無形のアイテムを表すデータを、1つの状態から別の状態へと変化させ得る。
【0058】
ここで記載され、図面の全体にわたるフローチャートおよびブロック図に含まれるモジュール、エンジン、構成要素、および要素は、モジュール、エンジン、構成要素、および要素の間の論理的な境界を意味している。しかしながら、ソフトウェアまたはハードウェアのエンジニアリングプラクティスに従って、モジュール、エンジン、構成要素、および要素、ならびにこれらの機能は、コンピュータ実行可能な媒体を介して、1つまたは複数のプロセッサ、コンピュータ、マシンにおいて実現され得る。これらは、記憶されたプログラム命令を、モノリシックソフトウェア構造として、スタンドアロンソフトウェアモジュールとして、または、外部ルーチン、コード、サービス、もしくはこれらの任意の組合せを適用するモジュールとして実行することができる。そして、そのようなすべての実施は、本開示の範囲内であり得る。そのようなマシンの例は、これらに限定されないが、携帯情報端末、ラップトップ、パーソナルコンピュータ、モバイル電話、その他のハンドヘルドコンピューティングデバイス、医療機器、有線または無線通信デバイス、トランスデューサ、チップ、計算機、衛星、タブレットPC、電子ブック、ガジェット、電子デバイス、人工知能を有するデバイス、コンピューティングデバイス、ネットワーク機器、サーバ、ルータ、プロセッサ組込メガネ等を含み得る。さらに、フローチャートおよびブロック図またはその他任意の論理構成要素におけるモジュール、エンジン、構成要素、および要素は、1つまたは複数のマシン、コンピュータ、または、プログラム命令を実行することが可能なプロセッサにおいて実現され得る。前述した説明と、この説明が参照されている図面とが、開示されたシステムのいくつかの機能的な態様を述べているが、これら機能的な態様を実施するためのソフトウェアのいかなる特定の構成も、明示的に述べられていないか、または、コンテキストから明らかではないのであれば、これらの記載から推論されるべきではない。上記で特定および記載されたさまざまなステップは変形されてよく、しかも、ステップの順序は、ここで開示された技術の特定のアプリケーションに適応され得ることが認識されるであろう。このようなすべての変形例および変更例は、この開示の範囲内にあることが意図される。特定のアプリケーションによって必要とされていないか、または、明示的に述べられていないか、または、コンテキストから明らかではないのであれば、さまざまなステップの順序の記載は、これらのステップのための実行の特定の順序を必要としていると理解されるべきではない。
【0059】
前述された方法および/または処理およびそれらのステップは、特定のアプリケーションのために適切なハードウェア、ソフトウェア、または、ハードウェアとソフトウェアとの任意の組合せで実現され得る。ハードウェアは、汎用コンピュータおよび/もしくは専用コンピューティングデバイスまたは具体的なコンピューティングデバイス、または、具体的なコンピューティングデバイスの特定の態様または構成要素を含み得る。これら処理は、内部メモリおよび/または外部メモリとともに、1つまたは複数のマイクロプロセッサ、マイクロコントローラ、組込式マイクロコントローラ、プログラマブルデジタル信号プロセッサまたはその他のプログラマブルデバイスにおいて実現され得る。これら処理はまた、またはその代わりに、特定用途向け集積回路、プログラマブルゲートアレイ、プログラマブルアレイロジック、もしくは電子信号を処理するように構成され得るその他任意のデバイス、またはこれらデバイスの組合せで具体化され得る。これら処理のうちの1つまたは複数は、マシン読み取り可能な媒体で実行されることが可能なコンピュータ実行可能コードとして実現され得ることがさらに認識されるであろう。
【0060】
コンピュータ実行可能コードは、Cのような構造化されたプログラミング言語、C++のようなオブジェクト指向プログラミング言語、または、ヘテロジニアスなプロセッサの組合せ、プロセッサアーキテクチャ、または異なるハードウェアおよびソフトウェアの組合せ、またはプログラム命令を実行することが可能なその他任意のマシンのみならず、前述したデバイスのうちの1つで動作するように記憶、コンパイル、または解釈され得る(アセンブリ言語、ハードウェア記述言語、およびデータベースプログラミング言語および技術を含む)その他任意の高レベルまたは低レベルのプログラミング言語を用いて生成され得る。
【0061】
したがって、1つの態様では、前述された各方法およびその組合せが、1つまたは複数のコンピューティングデバイスにおいて実行された場合に、これらのステップを実行するコンピュータ実行可能コードにおいて具体化され得る。別の態様では、これらの方法は、これらのステップを実行するシステムにおいて具体化され、多くの方式でデバイス間に分散され得るか、または、この機能のすべてが、専用の、スタンドアロンのデバイスまたはその他のハードウェアへ統合され得る。別の態様では、前述された処理に関連付けられたステップを実行するための手段が、前述されたハードウェアおよび/またはソフトウェアのうちのいずれかを含み得る。そのようなすべての置換および組合せは、本開示の範囲内にあることが意図されている。
【0062】
本開示は、詳細に図示および説明された多くの実施形態を含むが、それらに対するさまざまな変更例および改良例が、当業者に容易に明らかになるであろう。したがって、本発明の精神および範囲は、前述した例によって限定されるべきではなく、法律によって許容できる最も広い意味で理解されるべきである。