(57)【要約】  製品のライフサイクルに関連する製品データをモデリングする方法およびシステムが開示されている。これは、１つまたは複数の、コンピューターベースの製品管理ツールを介して、異なる種類の１つまたは複数のデータソースに接続するように構成されているアプリケーションプログラムインターフェースを含んでいる。デジタルツイングラフは、リンク付けアルゴリズムを介してエッジによって相互にリンクされた関連ノードを備えた製品データの複数のグラフィカルモデルを含んでいるように構築される。デジタルツイングラフのモデルには、製品データに関連するオントロジー情報のノードを有するオントロジーモデル、製品データに関連するインスタンスノードを有するインスタンスモデル、およびそこから因果的推論情報および予測推論情報が作成される条件付き確率分布ノードを有する確率的モデルが含まれる。
2020514916.tif 000002
【特許請求の範囲】
【請求項１】
製品のライフサイクルに関連する製品データをモデリングするシステムであって、
前記システムは少なくとも１つのサーバーを含んでおり、
前記サーバーは、
１つまたは複数の、コンピューターベースの製品管理ツールを介して、異なる種類の１つまたは複数のデータソースに接続するように構成されているアプリケーションプログラムインターフェースと、
少なくとも１つのプロセッサと、
を含んでおり、
前記プロセッサは、製品データの複数のグラフィカルモデルを含んでいるデジタルツイングラフを構築するように構成されており、各モデルはノードとエッジを有しており、各ノードは一義的に識別可能なラベルを有しており、各エッジは方向性を有しておりまたは双方向性であり、
前記モデルは、
前記製品データに関連するオントロジー情報のノードを有するオントロジーモデルと、
前記製品データに関連するインスタンスノードを有するインスタンスモデルであって、各インスタンスノードは新たな製品データの受け取りに応じて作成される、インスタンスモデルと、
そこから因果的推論情報および予測推論情報が作成される条件付き確率分布ノードを有する確率的モデルと、
を含んでおり、
前記プロセッサはさらに、モデル対の間で関連していると判断されたデータを相互にリンクするエッジを構築するために、リンク付けアルゴリズムを実行するように構成されている、
システム。
【請求項２】
前記インスタンスモデルは、少なくとも１つのデジタルツインユニットを含んでおり、
前記デジタルツインユニットは、
外部のデータストアに格納されているデータの場所に対応するポインタ値を備えるペイロードと、
前記ペイロードから抽出された特性と、
を含んでいる、
請求項１記載のシステム。
【請求項３】
前記特性を抽出するように構成されている抽出器アルゴリズムをさらに含んでいる、請求項２記載のシステム。
【請求項４】
少なくとも１つのデジタルツインユニットは、動作時エンジニアリングデータ、コンピュータ支援設計（ＣＡＤ）データ、エンジニアリングツールコード、または人と製品の相互作用のうちの１つに関連する製品データを含んでいる、請求項２記載のシステム。
【請求項５】
前記オントロジー情報は、前記製品データについてのコンセプト、カテゴリ、関係またはそれらの組み合わせのセットを定義する、請求項１記載のシステム。
【請求項６】
前記リンク付けアルゴリズムは、インスタンスノードを検索し、前記確率的モデルの条件付き確率分布ノードに対するエビデンスを取得することによって、前記インスタンスモデルと前記確率的モデルを相互にリンクする、請求項１記載のシステム。
【請求項７】
前記プロセッサはさらに、前記複数のモデルの経時的進展を形成するために、時系列で間隔を置いて、前記複数のモデルを作成し、記録するように構成されており、
前記システムはさらに、前記経時的進展を格納するためのデータベースを含んでいる、
請求項１記載のシステム。
【請求項８】
前記プロセッサはさらに、第１のＰＤＭシステムによるシミュレーションをトリガし、結果を第２のＰＤＭシステムに送信するアルゴリズムを実行するように構成されており、前記トランザクションは前記デジタルツイングラフに記録される、請求項１記載のシステム。
【請求項９】
前記プロセッサはさらに、前記デジタルツイングラフのトポグラフィーに基づいて、擬似コードをコントローラーに展開させるアルゴリズムを実行するように構成されている、請求項１記載のシステム。
【請求項１０】
前記プロセッサはさらに、パラメータ化されたデータによって診断モデルを構築するためにセンサデータをシミュレーションデータと組み合わせ、新たなコントロールパラメータを作成し、前記診断モデルに基づいてサービス間隔スケジュールを作成するアルゴリズムを実行するように構成されている、請求項１記載のシステム。
【請求項１１】
製品のライフサイクルに関連する製品データをモデリングする方法であって、
前記方法は、
１つまたは複数のコンピューターベースの製品管理ツールを介して異なる種類の１つまたは複数のデータソースに接続するために、アプリケーションプログラムインターフェースを使用するステップと、
製品データの複数のグラフィカルモデルを含んでいるデジタルツイングラフを構築するステップと、
を含んでおり、
各モデルはノードとエッジを有しており、各ノードは一義的に識別可能なラベルを有しており、各エッジは方向性を有しておりまたは双方向性であり、
前記モデルは、
前記製品データに関連するオントロジー情報のノードを有するオントロジーモデルと、
前記製品データに関連するインスタンスノードを有するインスタンスモデルであって、各インスタンスノードが新たな製品データの受け取りに応じて作成される、インスタンスモデルと、
そこから因果的推論情報および予測推論情報が作成される条件付き確率分布ノードを有する確率的モデルと、
を含んでおり、
前記方法はさらに、モデル対の間で関連していると判断されたデータを相互にリンクするエッジを構築するために、リンク付けアルゴリズムを実行するステップを含んでいる、
方法。
【請求項１２】
前記インスタンスモデルは、少なくとも１つのデジタルツインユニットを含んでおり、
前記デジタルツインユニットは、
外部のデータストアに格納されているデータの場所に対応するポインタ値を備えるペイロードと、
前記ペイロードから抽出された特性と、
を含んでいる、請求項１１記載の方法。
【請求項１３】
前記特性を抽出するために抽出器アルゴリズムを実行するステップをさらに含んでいる、請求項１２記載の方法。
【請求項１４】
少なくとも１つのデジタルツインユニットは、動作時エンジニアリングデータ、コンピュータ支援設計（ＣＡＤ）データ、エンジニアリングツールコード、または人と製品の相互作用のうちの１つに関連する製品データを含んでいる、請求項１２記載の方法。
【請求項１５】
前記オントロジー情報は、前記製品データについてのコンセプト、カテゴリ、関係またはそれらの組み合わせのセットを定義する、請求項１１記載の方法。
【請求項１６】
前記リンク付けアルゴリズムは、インスタンスノードを検索し、前記確率的モデルの条件付き確率分布ノードに対するエビデンスを取得することによって、前記インスタンスモデルと前記確率的モデルを相互にリンクする、請求項１１記載の方法。
【請求項１７】
前記複数のモデルの経時的進展を形成するために、時系列で間隔を置いて、前記複数のモデルを作成し、記録するステップと、
前記経時的進展をデータベースに格納するステップと、
をさらに含んでいる、請求項１１記載の方法。
【請求項１８】
第１のＰＤＭシステムによるシミュレーションをトリガし、結果を第２のＰＤＭシステムに送信するアルゴリズムを実行するステップと、
前記トランザクションを前記デジタルツイングラフに記録するステップと、
をさらに含んでいる、請求項１１記載の方法。
【請求項１９】
前記デジタルツイングラフのトポグラフィーに基づいて、擬似コードをコントローラーに展開させるアルゴリズムを実行するステップをさらに含んでいる、請求項１１記載の方法。
【請求項２０】
パラメータ化されたデータによって診断モデルを構築するためにセンサデータをシミュレーションデータと組み合わせ、新たなコントロールパラメータを作成し、前記診断モデルに基づいてサービス間隔スケジュールを作成するアルゴリズムを実行するステップをさらに含んでいる、請求項１１記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、製品ライフサイクルデータに関する。より具体的には、本出願は、異種製品ライフサイクルデータのグラフィカルモデリングに関する。
【０００２】
背景
製品の構想から、その設計、製造、使用、そしてその存在または機能の消滅までにわたる、製品（または製造システムまたはプロセス）のライフサイクルに関連して作成された、膨大な量のデータが存在し得る。このような大量のデータに加えて、データの多様性と異種性は、技術と市場の需要に対応するために、より多くのデータソースが導入されることに伴って、拡張を続けている。そのライフサイクルにわたって製品データを集約するために、製品データ管理（ＰＤＭ）システムが開発された。ＰＤＭシステムは、データの検索、データの変形の作成、分類のためのデータのラベル付け、およびデータの格納を行うための組み込み機能を提供する。従来のＰＤＭシステムは典型的に、設計およびエンジニアリングデータは処理するが、製品およびシステムの使用中に作成された動作時データを考慮することができない。動作時データを格納するために、時系列データベースシステムが開発された。種々のリポジトリに広大な領域の製品データが格納されているが、このデータは断片化されており、そのような不釣り合いのソースからの関連データを正確かつ有用な方法で従来のツールとリンク付けすることは、不可能ではないにしても非常に困難である。さらに、リンクを確立し、リンク付けされたデータから概念的な知識を抽出することができる信頼できるモデルの他に、現在では、推定情報を展開させるために利用可能な実用的な機構は存在していない。このような推定情報はとりわけ、故障診断、故障予測および劣化予測等の製品寿命管理要因にとって重要である。
【０００３】
本開示の非限定的かつ非網羅的な実施形態を、以下の図面を参照して説明する。ここでは、別段の指定がない限り、図面全体を通して同様の参照番号は同様の要素を指している。
【図面の簡単な説明】
【０００４】
【図１】異種製品データのオントロジーモデル、インスタンスモデルおよび確率的グラフモデルを相互にリンクすることによって構築された、経時的進展(temporally evolved)型デジタルツイングラフ（ＤＴＧ）モデルの例を示している。
【図２】本開示の１つまたは複数の実施形態に従った、ＤＴＧのオントロジーモデルとインスタンスモデルの間の相互リンクの例を示している。
【図３】本開示の１つまたは複数の実施形態に従った、複数の製品データツールによって維持されるデータストアの相互リンクの例を示している。
【図４】本開示の１つまたは複数の実施形態に従った、診断分析を支援するＤＴＧの例を示している。
【図５】本開示の１つまたは複数の実施形態に従った、制御コード開発を支援するＤＴＧの例を示している。
【図６】本開示の１つまたは複数の実施形態に従った、データ駆動モデルおよびシミュレーションベースモデルに基づいてシミュレーション支援されたプログノスティクス（故障予測）を提供するＤＴＧの例を示している。
【図７】本開示の１つまたは複数の実施形態に従った、データ駆動モデルおよびシミュレーションベースモデルに基づいてシミュレーション支援されたプログノスティクスを提供するＤＴＧの例を示している。
【図８】その中で本開示の実施形態が実現され得るコンピューティング環境の例を示している。
【０００５】
詳細な説明
図１は、異種製品データのオントロジーモデル、インスタンスモデルおよび確率的グラフモデルを含む形式を相互にリンクすることによって構築された、経時的進展型デジタルツイングラフ（ＤＴＧ）の例を示している。ＤＴＧの各モデルは、情報を整理し、検索、データストリーミング、推定、推論および学習のために最適化してよい。各モデルは、集中的に、分散して、またはエッジにホストされてよい。図示されているように、ＤＴＧ１００は、インスタンスモデル１１０、オントロジーモデル１２０および確率的グラフモデル１３０を含んでいてよく、さらに新たな形式的モデルを統合するために拡張されてよい。インスタンスモデル１１０は、１対１のマッピングによって物理的世界のエンティティを表すインスタンスノードを含んでいる。オントロジーモデル１２０は、その関係性によってリンク付けされている、コンセプトとカテゴリのセットを定義するノードを含んでいる。確率的グラフモデル１３０は、複数のソースからのエビデンスを統合するために、極めて柔軟な機構を実装する１つまたは複数のノードを含んでいる。確率的グラフモデル１３０は、製品データの確率推論および因果調査を可能にし得る。
【０００６】
ＡＰＩ１４５は、ＤＴＧの内部構造へのユーザーアクセスを簡易化するために抽象化を提供する。ＡＰＩ１４５は、ＤＴＧ１００と、製品データ管理（ＰＤＭ）を実現するツール等の種々の製品データツールとの間の相互作用のための統合インターフェースを提供し得る。アルゴリズム１４０は、異なるモデル間の製品データの検索を実行してよい。例えば、オントロジーモデル１２０の知識が、予後推論または診断推論およびシミュレーションを開始するために抽出されてよく、ここでは、確率的モデリングを支援するために付加的な製品データが抽出される必要がある。アルゴリズム１４０は、ＤＴＧ１００内のノード間の種々のリンクを構築および維持してもよい。このようなリンクは、モデル間の１対１、１対多、多対多の関係であってよく、これによってモデル固有のアルゴリズムは、知識と洞察を大域的に組み合わせることができる。ＤＴＧ１００は、ＤＴＧスナップショットの時系列１８０が示すように、モデル１１０、１２０および１３０の経時的進展を表す。経時的進展によって、ノード、エッジおよびリンクの履歴的な作成と終了へのアクセスが可能になり、経時的進展はシステムメモリにおいて維持および追跡されてよい。時系列スナップショット１８０を格納することによって、製品データにおける経時的な因果関係の推定、および過去のＤＴＧスナップショットの観察に基づくＤＴＧ１００上のノードまたはエッジの予測が可能になる。ある実施形態では、ブロックチェーンを用いて維持が実現されてよい。ＤＴＧ１００は、モデル１１０、１２０、１３０のデータ駆動構築および／またはモデル駆動構築を支援してよい。
【０００７】
ＤＴＧ１００は、グラフＧ＝（Ｖ、Ｅ）として定義されてよく、ここでＶは一義的に識別可能なラベル付きノードのセットであり、Ｅは一義的に識別可能なラベル付きエッジのセットである。エッジは、方向性を有していてよい、または対称（双方向性）であってよい。各モデル１１０、１２０、１３０は、製品データのデジタルツイン表現に異なるモデリングおよび機能的能力を提供してよい。
【０００８】
図１に示されているように、インスタンスモデル１１０は、互いに相互にリンクされているインスタンスノードを含むことができ、そのうちのいくつかはデジタルツインユニット（ＤＴユニット）に関連する。ここで、ＤＴユニットはＤＴＧのエンティティであり、極めて頻繁に更新され、ＤＴＧに新たな情報を提供する。各ＤＴユニットは、フィジカルツインに関連するデータにリンク付けされていてよく、データストア（例えば、１つまたは複数のローカルまたはリモートサーバーに配置されているデータベース）に格納されているデータの場所へのポインタを備えるペイロードを含むように構築されていてよい。ＤＴユニットには、抽出器（ｄｉｓｔｉｌｌｅｒ）によってペイロードから抽出された特性情報も含んでいる。ＤＴユニットにリンク付けされているデータを作成するフィジカルツインの例には、エンジニアリングデータ、ツール、実世界オブジェクトおよびそれらの相互作用が含まれていてよい。ＤＴＧ１００は、フィジカルツイン１５１によって作成されたエンジニアリングデータのためにＤＴユニット１６１、エンジニアリングツール１５２（例えば、ＣＡＤデータ、制御コード等）に関連するＤＴユニット１６２、人間相互作用１５５等の使用時製品データに関連するＤＴユニット１６５を含んでいる。インスタンスノード１１７および１１８は、フィジカルツインクレーン１５３およびフィジカルツインオブジェクト１５４に関連している。
【０００９】
インスタンスノードは、アルゴリズム１４０によってエッジと相互にリンクされていてよい。例えば、アルゴリズム１４１は、インスタンスノード間の関係を認識するとエッジ１１５を確立してよい。アルゴリズム１４０は、ノード１１４と１２３との間、およびノード１１１と１２１との間に示されているように、インスタンスノードとオントロジーノードとの間のエッジリンクも確立してよい。アルゴリズム１４０は、オントロジーノード１２２、１２１と確率的グラフモデルノード１３２、１３１との間のリンクを確立することによって、ＤＴＧを構築してもよい。インスタンスモデル１１０を確率的グラフモデル１３０にリンク付けするさらなるリンクが、ノード１３３と１１３の間に示されている。
【００１０】
図２は、本開示の１つまたは複数の実施形態に従った、ＤＴＧのオントロジーモデルとインスタンスモデルとの間の相互リンクの例を示している。ＤＴＧ２００は、インスタンスモデル１１０内の、かつオントロジーモデル１２０および確率的グラフモデル１３０との種々の相互にリンクされている関係を含んでいてよく、これによって、車両２０１等のフィジカルツインに関するより多くの量のデジタル情報へのアクセスが可能になる。この例では、モデルＢ等の、車のモデルに関連する製品データが、この時のＤＴＧ２００によって表されている。１つのフィジカルツイン２０１が、インスタンスモデル１１０内のその車両識別番号（ＶＩＮ）Ｂ１１によってラベル付けされているデジタルツインインスタンスノード２１１によって表されている。モデルＢのインスタンスノード２１４は、特定の車両の種々のインスタンスノードにリンク付けされていてよい。これはそれぞれ、車両ＶＩＮＢ１１、ＶＩＮＢ２２、ＶＩＮＢ３３に対するノード２１１、２１２、２１３等である。オントロジーモデル１２０は、各ノードが関連するコンセプトを表し、各エッジがリンク付け関係であるように、一般的に車に関連するコンセプトを表してよい。例えば、車ノード２２１は、エッジ「Ｉｓ  ａ（である）」２６１によって車両ノード２２３にリンク付けされていてよい。車両ノード２２３は、エッジ「ｐｒｏｖｉｄｅｓ（提供する）」２６３によって搬送ノード２２５にリンク付けされていてよい。搬送ノード２２５は、エッジ「ｍｏｖｅｓ（運ぶ）」２６４によって、人ノード２２４にリンク付けされていてよく、エッジ「ｃｏｎｔａｉｎｓ（含む）」２６５は、車ノード２２１を人ノード２２４にリンク付けしてよい。インスタンスモデル１１０とオントロジーモデル１２０との間には、モデルＢノード２１２と車ノード２２１との間のリンク２６６を含むいくつかのリンクがあってよく、これはＢＭＷ３３５は車であるという概念を表す。各インスタンスノードは、ＤＴユニットへのリンクを有していてよく、これはインスタンスノード２１１に関連したＤＴユニット２１４のエンジンセンサーおよびＤＴユニット２１５のＡＢＳセンサ等の異なるセンサによって作成された使用時製品データに関連するＤＴユニット２１４およびＤＴユニット２１５等である。各ＤＴユニットに対して、データストアに格納されているペイロード情報２９１が抽出器によって抽出されてよく、これによってＤＴユニットに含まれる特性情報２９２が作成される。例えば、インスタンスノード２１１の車両に対するＤＴユニット２１４の平均速度特性が、ＤＴユニット２１４のペイロード２９１に格納されているポインタを使用して、時系列ベースのＰＬＭツール（例えばＳｉｅｍｅｎｓ社のＭｉｎｄＳｐｈｅｒｅ）のデータストア２８２から抽出されてよい。
【００１１】
モデルインスタンスノード２１４は、そのモデルのすべての対応する車両の青写真（blueprint）を表していてよい。モデルインスタンスノード２１４は、集合ＰＬＭデータツール等のデータストアに結び付けられているＤＴユニットにリンク付けされていてよい。例えば、ＣＡＤ  ＤＴユニット２１７は、関連する幾何学的なプロパティ（例えば８、ホイールベース距離）およびペイロード情報等の特性情報を集合型のＰＬＭツールデータベース２８１（例えばＳｉｅｍｅｎｓ社のＴｅａｍＣｅｎｔｅｒまたはＮＸ）内に格納されている実際のＣＡＤファイルへのリンクとして含んでいてよい。ＳｙｓＭＬ  ＤＴユニット２１６は、サブシステム階層等の関連するアーキテクチャプロパティを含んでいてよい。ＣＡＤ関連ＤＴユニット２１７およびＳｙｓＭＬ  ＤＴユニット２１６等の設計情報をモデルインスタンスノード２１４にリンク付けすることによって、特定の車両に対応する膨大な量の製品情報にアクセスすることができる。例えば、ＤＴユニット２１６のシステムモデリング言語ＳｙｓＭＬにおいて定義されているように、車のモデルは４つのタイヤを有するように設計されている。各車両インスタンスノードは、現在車両に取り付けられている４つのタイヤのインスタンスノードへのリンクを含んでいてよい。例えば、物理的なタイヤ２０９は、タイヤモデル９９によって識別され、車インスタンスノード２１１にリンク付けされた対応するインスタンスノード２１９を有している。
【００１２】
図３は、本開示の１つまたは複数の実施形態に従った、複数の製品データツールによって維持されるデータストアの相互リンクの例を示している。この例では、１つまたは複数のＤＴＧアルゴリズム１４０は、相互にリンクされたインスタンスモデル１１０、オントロジーモデル１２０および確率的グラフモデル１３０の間で推論タスクを実行してよく、データ照会に関連する往復要求がトリガされる。ＤＴＧ３００は、時系列ベースのＰＬＭツールのデータベース３８１にリンク付けされているＤＴユニット３１４、集合ベースＰＬＭツールのデータベース３８２にリンク付けされているＤＴユニット３１５およびシミュレーションデータベース３８３にリンク付けされている確率的グラフモデルノード３３１を含んでいる。サーバー３９２に格納されているＰＬＭソフトウェアツールを使用する場合、ユーザーは、ＧＵＩ３９１を介して特定の予測レポートに関する照会３９３を提出することができる。ＡＰＩ１４５は、適切なアルゴリズム３４１に対するこの照会を、集合データストア３８２にルーティングしてよい。アルゴリズム３４１ははじめに、履歴的な全体像を得るために、照会制約を満たすインスタンスモデル１１０内のすべてのインスタンスノードを検索してよい。アルゴリズム３４１はＤＴユニット３１４をリンクしてよい。アルゴリズム３４１は、照会に関連する確率的モデル３３１を探すことができるが、エビデンス３５１および３５２の２つのインスタンスしか見つからなかったので、確率的グラフモデル３３１を支援するために、十分なエビデンスを有していない。次に、アルゴリズム３４１は、シミュレーションを実行し、確率的グラフモデル３３１におけるエビデンスとして結果３９５を転送するために、シミュレーションツール３９４（例えば、Ｓｉｅｍｅｎｓ社のＳｉｍＣｅｎｔｅｒ）への往復をトリガしてよい。アルゴリズム３４１は、ＡＰＩ１４５、製品ツール３９２およびＧＵＩ３９１を介して確率的グラフモデル３３１の結果をユーザーに送信する報告を開始してもよい。
【００１３】
図４は、本開示の１つまたは複数の実施形態に従った、診断分析を支援するＤＴＧの例を示している。この例では、ＤＴＧ４００は、メンテナンス警報を受けている車のデータに関連するインスタンスモデル１１０、オントロジーモデル２０１および確率的グラフモデル１３０をモデリングしている。フィジカルツイン４０２は、ＶＩＮ２２２によって識別される車両であり、インスタンスノード４１２を有している。車両内のＡＢＳセンサによる警報状態の検出中に、時系列データベース４８１は、無線遠隔測定信号を介して情報を受け取る。データベース４８１内の新たなデータへのポインタとして、ＡＢＳセンサデータ用の新たなＤＴユニット４５２を作成するために、アルゴリズム８４１がトリガされ、遠隔測定インスタンス４１６にリンク付けされてよい。その後、車両はサービスステーションに運ばれ、サービス技術者は、問題点を診断し、あらゆる必要な修理を行うためにＤＴＧ４００を検索してよい。オントロジーモデル１２０からの知識を使用する場合、ＤＴＧ４００への照会は、車両のモデルに対するＡＢＳサブシステムを強調する集合製品データツールのデータベース４８２にリンク付けされているインスタンスノード４１１を有する既存の３Ｄモデルを検索および位置特定するために、アルゴリズム８４２をトリガしてよい。アルゴリズム４４２はさらに、２つのそのような警報があったことを示すＤＴユニット４５１、４５２を識別する、ＡＢＳ警報に関連するあらゆるログファイルをＤＴＧ４００内で検索し、位置特定してよい。ＤＴユニット４５１、４５２は、時系列ベースの製品データツールのデータベース４８１内のデータベースモジュール４９１および４９２を指すペイロードを有している。ＤＴＧ４００の検索は、製品シミュレーションツールデータベース４８３のシミュレーションデータ用のインスタンスノード４１９等の、このモデル車両に対して、ＡＢＳサブシステムに関連して実行されたあらゆるシミュレーションも位置特定してよい。シミュレーションデータベース４８３内には、２つの関連シミュレーション動画４９３、４９４が存在しており、これらは、空気が抜けたタイヤとの関係を示している。この情報から、ＡＢＳ警報の原因が、ＤＴＧ４００データモデルアプリケーションの結果に基づいて、空気が抜けたタイヤであると診断されてよい。この時のＤＴＧ４００は、ＡＢＳシステムノード４２４への新たな知識リンク４２６でタイヤのオントロジーノード４２３をコード化することによって、新たな情報で更新されてよい。ここで、車両４０３等の他の車両におけるあらゆるその後の警報は、インスタンスモデル１１０とオントロジーモデル１２０の間のリンクを介して新たな知識を使用してよい。これは、インスタンスノード４１３へのリンク４２７等である。新たなリンクがＤＴＧ４００のオントロジーモデル１２０内に記録されているので、車モデルインスタンスノード４６１に関連した、同様のモデルの車両におけるこのような警報に対して、情報を、より少ないステップで位置特定することができ、これは、車両４０２に対して実行される検索の利点を有する。
【００１４】
図５は、本開示の１つまたは複数の実施形態に従った、制御コード開発を支援するＤＴＧの例を示している。この例では、ＤＴＧ５００は、車両のＡＢＳコントローラーに関連するインスタンスモデル１１０、オントロジーモデル１２０および確率的グラフモデル１３０を含んでいる。フィジカルツインは、ホイールＷ１、Ｗ２、ブレーキＢ１、Ｂ２、センサＳ１、Ｓ２、ＡＢＳコントローラー５０１、５０２、ブレーキコントローラー５０３、および制御ロジックコード５０４、５０５、５０６を含んでいる。オントロジーモデル１２０において指定された制御アーキテクチャに対する相互にリンクされたデータによって支援されて、制御プログラムが記述されてよく、その後、ＤＴＧ５００に展開されてよい。ホイールノード５２１は角速度（ＡＶ）センサーノード５２２とブレーキノード５２４へのリンクを有している。ＡＢＳコントローラーノード５２３は、ブレーキノード５２４、角速度センサーノード５２２および制御プログラムノード５２５へのリンクを有している。これらの制御要素の構成のオントロジー知識を使用する場合、ＧＵＩを介して設計エンジニアは、ホイールＷ１のノード５１１、ＡＶセンサＳ１のノード５５１、ブレーキＢ１のノード５６１、ＡＢＳコントローラーＡ１のノード５７１等の対応するインスタンスノードを構築することによって、オントロジーをインスタンス化してよい。ＧＵＩアプリケーションによって、設計エンジニアは、ホイールＷ１に関連するインスタンスノードをコピーし、ホイールＷ２のインスタンスノード（すなわち、ノード５１２、６６２、５６２、５７２）としてペーストしてよい。この点で、フィジカルツインの各々は、インスタンスモデル１１０における対応するデジタルツインノードを有する。制御ロジックコード５０４の擬似コードは、オントロジーモデル１２０の知識に基づいて、エンジニアリングフェーズの間に記述されてよい。ＡＴＩ１４５を使用する場合、制御ロジックコード５０４のインスタンスノード５８１は、ＡＢＳコントローラーＡ１のインスタンスノード５７１に対するエッジ５８５で、ＤＴＧ５００に展開されてよい。エッジを構築する方法の例として、アプリケーションツールは、どのオブジェクトが記述された制御ロジックコードであるかについて設計エンジニアに気づかせ、それに応じて、タイプ入力によってまたは表示されたプルダウンメニューの操作等によって、ノードＩＤ「Ａ１」が入力されてよい。同様のプロセスにおいて、ブレーキコントローラー５０３に対する制御ロジックコード５０５およびＡＢＳコントローラー５０２に対する制御ロジックコード５０６が記述され、インスタンスモデル１２０に展開されてよい。制御ロジックコード５０６が、制御ロジックコード５０４からコピーされて、インスタンスノード５８２として展開され、次いでエッジ５８６によってインスタンスノード５７２にリンク付けされてよい。ブレーキコントローラー５０３に対するトップレベル制御コード５０５は、インスタンスノード５８３としてＤＴＧ５００に展開され、エッジ５８７および５８８によってインスタンスノード５８１および５８２にリンク付けされてよく、コントローラー５０１、５０２および５０３のフィジカルツイン配置をミラーリングする。電子制御ユニット（ＥＣＵ）等の組み込みシステムは、ＤＴＧ５００のインスタンスモデル１１０のサブグラフをホストすることができ、これによって、制御タスクの実行に必要なコントローラーにコンテキストが提供される。例えば、ＡＢＳコントローラー５０１に対するＥＣＵは、インスタンスノード５１１、５５１、５６１、５７１および５８１のサブグラフをホストしてよい。ブレーキコントローラー５０３に対するＥＣＵは、インスタンスノード５１１、５６１、５７１、５８１、５１２、５６２、５７２、５８２および５８３のサブグラフをホストしてよい。したがって、ＤＴＧ５００によって実証されているように、制御プログラムはＤＴＧでモデル化されてよく、ＤＴＧの一部（すなわちサブグラフ）を使用してコントローラーに展開されてよい。
【００１５】
図６は、本開示の１つまたは複数の実施形態に従った、データ駆動モデルおよびシミュレーションベースモデルに基づいてシミュレーション支援されたプログノスティクスを提供するＤＴＧの例を示している。この例では、ＤＴＧ６００はインスタンスモデル１１０のシミュレーションをセンサデータと組み合わせて適用して、ハイブリッド車の予後分析を導き出す。インスタンスモデルは、車Ａのノード６１１、車Ｂのノード６１２および車Ｃのノード６１３を含んでおり、それぞれ同じ車モデルのインスタンスノード６１４にリンク付けされている。ハイブリッドドライブトレインバッテリーのインスタンスノード６１５は、バッテリーノード６２５を介して、バッテリー知識に関連するオントロジーモデル１２０にリンク付けされている。例えば、オントロジーモデル１２０は、診断ノード６２８および修理履歴ノード６２９にリンク付けされている車ノード６２７を含んでいてよい。測定ノード６２６は、種々のタイプの関連する測定ノードにリンク付けされていてよい。車Ａに定期保守サービスが訪れている間に、車Ａにおけるドライブトレインバッテリーの残存寿命を推定するために、アルゴリズム６４１は、車Ａ、Ｂ、Ｃに対する充電状態（ＳＯＣ）センサデータを取得してよい。アルゴリズム６４１は、ＳＯＣセンサデータ６５６を、車モデルに関連し、車モデルのインスタンスノード６１４にリンク付けされているバッテリーシミュレーションデータ６５８と組み合わせることによって、予測バッテリーモデルインスタンス６１９を作成してよい。バッテリーモデルデータに対するＤＴユニット６５９は、車ＡＣのデータに従ってパラメータ化されてよい。ハイブリッド車のバッテリーに対する診断分析では、結果に基づいて、サービスプランのいくつかのオプションが示されてよい。例えば、インスタンスノード６１７によって表されるバッテリコントローラに対して新たなパラメータ６５７が推奨され得る。サービススケジュールノード６５１は、特定のサービス間隔内でサービスセンターに戻すために、ＤＴユニット６６１にメンテナンス命令のデータを追加してよい。
【００１６】
図７は、本開示の１つまたは複数の実施形態に従った、データ駆動モデルおよびシミュレーションベースモデルに基づいてシミュレーション支援されたプログノスティクスを提供するＤＴＧの例を示している。ある実施形態では、ＤＴＧ７００は、製造プロセスの確率的グラフィカルモデリングを実施して、ベイジアンネットワークにおいて実施される変数等の確率的推論フレームワークを提供する。この例では、３Ｄプリンターの製品の品質に関連する確率推論を使用して、予測的なトップダウンの流れでまたはエビデンスに基づいたボトムアップの流れで推論パターンが展開されてよい。インスタンスモデル１１０は、フィジカルツインレーザースキャナー７０１用のＬＡＢノード７１１およびスキャナーノード７１３を含んでいてよい。確率的グラフモデル１３０は、プリンタタイプ７３１、材料７３２、層厚７３３、製造持続時間７３４、設計／製造グレード７３５および品質７３６を含むランダム変数を表すノードを含んでいる。ランダム変数は、物理的なエンティティであっても、物理的なエンティティでなくてもよく（例えば品質）、オントロジーモデル１２０またはインスタンスモデル１１０における任意の他のノードに直接的な抽象化を提供してよい。各ノードに関連付けられた確率値は、この分野の重要なプロパティまたは属性を定義してよい。各ノードに対するランダム変数は、次のように定義されていてよい。
プリンタタイプ＝｛ＭＢ，ＳＴ，３ＤＷ｝
材料＝｛ＰＬＡ，ＡＢＳ｝
層厚＝｛５００，２００，１００｝
製造持続時間＝｛短、中、長｝
設計／製造グレード＝｛＊，＊＊，＊＊＊｝
品質＝｛合格，不合格｝
【００１７】
確率ノードは、データを受け取るためにインスタンスノードにリンク付けされていてよい。例えば、設計／製造グレードノード７３５とスキャナーノード７１３との間にリンクが存在している。スキャナーノード７１３は、設計仕様の許容差について製品をスキャンするフィジカルツインスキャナー７０１に関連している。ノード間の有向エッジは、ランダム変数への依存アサーションを表していてよい。例えば、エッジ７７２、７７３は、材料７３２およびプリンタタイプ７３１ノードへの層厚７３３の依存を表している。条件付き確率分布（ＣＰＤ）は、同時分布を表している。例えば、確率Ｐの値は、式Ｐ（材料｜プリンタタイプ）に対して次のように表に記入されてよい。
【表１】
2020514916.tif 000003
【００１８】
ＣＰＤは、モデル構築のためのデータ駆動アプローチを支援する。ＣＰＤを構成するエビデンスには、全く事前知識なし、専門知識、フィールドデータ、シミュレーション結果、作業中のエンジニアまたは使用時製品時系列、センサデータおよび他のソースを含んでいてよい。例えば、表１のＣＰＤに対するエビデンス７７４は、図７に示されているように、ＬＡＢインスタンスノード７１１にリンク付けされている製造データＤＴユニット７１２から提供されてよい。ある実施形態では、以下の変数値、すなわちＭＢプリンタタイプ、ＰＬＡ材料、５００ミクロン層厚、が与えられたとき、因果的推論または予測（すなわち、原因→効果）がＤＴＧ７００から導出され、合格品質の確率が決定される。これは、上から下へと、確率的グラフモデル１３０に従う。ある実施形態では、以下の変数値、すなわち「不合格」品質で製造された製品、が与えられたとき、証拠推論または説明（すなわち、効果→原因）がＤＴＧ７００から導出され、プリンタタイプがＳＴである確率が決定される。これは、下から上へと、確率的グラフモデル１３０に従う。
【００１９】
図８は、その中で本開示の実施形態が実現され得るコンピューティング環境の例を示している。コンピューティング環境８００は、システムバス８２１等の通信機構またはコンピュータシステム８１０内で情報を通信するための他の通信機構を含み得るコンピュータシステム８１０を含んでいる。コンピュータシステム８１０はさらに、情報を処理するためにシステムバス８２１と結合されている１つまたは複数のプロセッサ８２０を含んでいる。
【００２０】
プロセッサ８２０は、１つまたは複数の中央処理装置（ＣＰＵ）、グラフィックスプロセッシングユニット（ＧＰＵ）、または当技術分野で知られている他のプロセッサを含んでいてよい。より一般的には、本明細書で説明するプロセッサは、タスクを実行するための、コンピュータ可読媒体に格納されている機械可読命令を実行する装置であり、ハードウェアおよびファームウェアのいずれか１つまたはその組み合わせを含んでいてよい。プロセッサは、タスクを実行するために実行可能な機械可読命令を格納するメモリも含んでいてよい。プロセッサは、実行可能なプロシージャまたは情報装置によって使用される情報を操作、分析、変更、変換または送信することによって、かつ／またはこの情報を出力装置にルーティングすることによって、情報に基づいて動作する。プロセッサは、例えばコンピュータ、コントローラーまたはマイクロプロセッサの機能を使用または含んでいてよく、汎用コンピュータによっては実行されない特殊目的機能を実行するために実行可能な命令を使用して調整されてよい。プロセッサは、中央処理装置、マイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、複合命令セットコンピュータ（ＣＩＳＣ）マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、Ｓｙｓｔｅｍ−ｏｎ−ａ−Ｃｈｉｐ（ＳｏＣ）、デジタルシグナルプロセッサ（ＤＳＰ）等を含むがこれらに限定されない、任意のタイプの適切な処理ユニットを含んでいてよい。さらに、プロセッサ８２０は、例えばレジスタ、マルチプレクサ、算術論理ユニット、キャッシュメモリへの読み取り／書き込み操作を制御するためのキャッシュコントローラ、分岐予測器等の任意の数の構成コンポーネントを含んでいる任意の適切なマイクロアーキテクチャ設計を有していてよい。プロセッサのマイクロアーキテクチャ設計は、あらゆる、さまざまな命令セットを支援することができてよい。プロセッサは、（電気的に、かつ／または実行可能コンポーネントを含んでいるものとして）、それらの間の相互作用および／または通信を可能にする、任意の他のプロセッサと結合されていてよい。ユーザーインターフェースプロセッサまたはジェネレータは、表示画像またはその一部を作成するための、電子回路またはソフトウェアまたは電子回路とソフトウェア両方の組み合わせを含んでいる既知の要素である。ユーザーインターフェースは、プロセッサまたは他の装置とのユーザー相互作用を可能にする１つまたは複数の表示画像を含んでいる。
【００２１】
システムバス８２１は、システムバス、メモリバス、アドレスバスまたはメッセージバスのうちの少なくとも１つを含んでいてよく、コンピュータシステム８１０の種々のコンポーネントの間で情報（例えば、データ（コンピュータ実行可能なコードを含んでいる）、シグナリング等）の交換を可能にしてよい。システムバス８２１は、メモリバスまたはメモリコントローラ、ペリフェラルバス、アクセラレーテッドグラフィックスポート等を含んでいてよいが、これらに限定されない。システムバス８２１は、業界標準アーキテクチャ（ＩＳＡ）、マイクロチャネルアーキテクチャ（ＭＣＡ）、拡張ＩＳＡ（ＥＩＳＡ）、ビデオエレクトロニクス規格協会（ＶＥＳＡ）アーキテクチャ、アクセラレーテッドグラフィックスポート（ＡＧＰ）アーキテクチャ、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）アーキテクチャ、ＰＣＩ−Ｅｘｐｒｅｓｓアーキテクチャ、パーソナルコンピューターメモリーカード国際協会（ＰＣＭＣＩＡ）アーキテクチャ、ユニバーサルシリアルバス（ＵＳＢ）アーキテクチャ等を含んでいるがこれらに限定されない、任意の適切なバスアーキテクチャに関連付けられていてよい。
【００２２】
引き続き図８を参照する。コンピュータシステム８１０は、プロセッサ８２０によって実行されるべき情報および命令を格納するために、システムバス８２１に結合されたシステムメモリ８３０も含んでいてよい。システムメモリ８３０は、揮発性メモリおよび／または不揮発性の形態のコンピュータ可読記憶媒体を含んでいてよく、これはリードオンリーメモリ（ＲＯＭ）８３１および／またはランダムアクセスメモリ（ＲＡＭ）８３２等である。ＲＡＭ８３２は、他の動的記憶装置（例えば、動的ＲＡＭ、静的ＲＡＭおよび同期ＤＲＡＭ）を含んでいてよい。ＲＯＭ８３１は、他の静的記憶装置（例えば、プログラマブルＲＯＭ、消去可能ＰＲＯＭおよび電気的消去可能ＰＲＯＭ）を含んでいてよい。さらに、システムメモリ８３０が、プロセッサ８２０による命令の実行中に一時的な変数または他の中間情報を格納するために使用されてよい。起動中等にコンピュータシステム８１０内の要素間での情報転送を支援する基本ルーチンを含んでいるベーシックインプット/アウトプットシステム８３３（ＢＩＯＳ）が、ＲＯＭ８３１内に格納されていてよい。ＲＡＭ８３２は、プロセッサ８２０に迅速にアクセス可能である、かつ／またはプロセッサ８２０によって現在操作されているデータおよび／またはプログラムモジュールを含んでいてよい。システムメモリ８３０は、例えば、オペレーティングシステム８３４、アプリケーションプログラム８３５および他のプログラムモジュール８３６を付加的に含んでいてよい。
【００２３】
オペレーティングシステム８３４は、メモリ８３０内にロードされていてよく、コンピュータシステム８１０上で実行される他のアプリケーションソフトウェアとコンピュータシステム８１０のハードウェアリソースとの間のインターフェースを提供してよい。より具体的には、オペレーティングシステム８３４は、コンピュータシステム８１０のハードウェアリソースを管理し、他のアプリケーションプログラムに共通のサービスを提供するために（例えば、種々のアプリケーションプログラム間のメモリ割り当てを管理するために）、コンピュータ実行可能な命令のセットを含んでいてよい。特定の例示的な実施形態では、オペレーティングシステム８３４は、データストレージ８４０に格納されるように示されているプログラムモジュールのうちの１つまたは複数のプログラムモジュールの実行を制御してよい。オペレーティングシステム８３４は、現在知られているまたは今後開発され得るあらゆるオペレーティングシステムを含んでいてよく、これはあらゆるサーバーオペレーティングシステム、あらゆるメインフレームオペレーティングシステム、または任意の他の専有または非専有のオペレーティングシステムを含んでいるが、これらに制限されない。
【００２４】
コンピュータシステム８１０は、システムバス８２１に結合されているディスク／メディアコントローラ８４３も含んでいてよく、これによって、磁気ハードディスク８４１および／またはリムーバブルメディアドライブ８４２（例えば、フロッピーディスクドライブ、コンパクトディスクドライブ、テープドライブ、フラッシュドライブおよび／またはソリッドステートドライブ）等である、情報および命令を格納する１つまたは複数の記憶装置がコントロールされる。記憶装置８４０は、適切な装置インターフェース（例えば、小型計算機システムインターフェース（ＳＣＳＩ）、ｉｎｔｅｇｒａｔｅｄ  ｄｅｖｉｃｅ  ｅｌｅｃｔｒｏｎｉｃｓ（ＩＤＥ）、ユニバーサルシリアルバス（ＵＳＢ）またはＦｉｒｅＷｉｒｅ）を使用してコンピュータシステム８１０に追加されてよい。記憶装置８４１、８４２は、コンピュータシステム８１０の外部にあってよい。
【００２５】
コンピュータシステム８１０は、コンピュータのユーザーと相互作用し、プロセッサ８２０に情報を提供するために、キーボード、タッチスクリーン、タブレットおよび／またはポインティング装置等の１つまたは複数の入力装置を含み得るユーザー入力インターフェースまたはＧＵＩ８６１を含んでいてよい。本明細書で使用されるグラフィカルユーザーインターフェース（ＧＵＩ）は、１つまたは複数の表示画像を作成するためにディスプレイプロセッサを含んでいてよく、プロセッサまたは他の装置および関連するデータ取得機能およびデータ処理機能との相互作用をユーザーに可能にし得る。ＧＵＩには、実行可能なプロシージャまたは実行可能アプリケーションも含まれている。実行可能なプロシージャまたは実行可能なアプリケーションは、ＧＵＩ表示画像を表す信号を作成するために、ディスプレイプロセッサを調整する。これらの信号は、ユーザーが見るために画像を表示する表示装置に供給される。プロセッサは、実行可能なプロシージャまたは実行可能なアプリケーションの制御下で、入力装置から受信した信号に応じてＧＵＩ表示画像を操作する。このようにして、ユーザーは入力装置を使用して表示画像と相互作用してよく、プロセッサまたは他の装置とのユーザー相互作用が可能になる。
【００２６】
コンピュータシステム８１０は、システムメモリ８３０等のメモリに含まれている１つまたは複数の命令の１つまたは複数のシーケンスを実行するプロセッサ８２０に応じて、本発明の実施形態の処理ステップの一部またはすべてを実行してよい。このような命令は、磁気ハードディスク８４１またはリムーバブルメディアドライブ８４２等の別のコンピュータ可読媒体からシステムメモリ８３０内に読み込まれてよい。磁気ハードディスク８４１は、本発明の実施形態によって使用される１つまたは複数のデータストアおよびデータファイルを含んでいてよい。データストアは、データベース（例えば、リレーショナル、オブジェクト指向等）、ファイルシステム、フラットファイル、コンピューターネットワークの複数のノードにデータが格納されている分散データストア、ピア・ツー・ピアネットワークデータストア等を含み得るが、これらに限定されない。データストアは、例えば、制御データ、センサデータまたは本開示の実施形態に従って作成された任意の他のデータ等の種々のタイプのデータを格納してよい。データストアのコンテンツとデータファイルは、セキュリティを向上させるために暗号化されてよい。プロセッサ８２０は、システムメモリ８３０に含まれる命令の１つまたは複数のシーケンスを実行するためにマルチプロセッシング配置で使用されてもよい。択一的な実施形態では、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて配線で接続された回路が使用されてよい。したがって、実施形態は、ハードウェア回路とソフトウェアのいかなる特定の組み合わせにも限定されない。
【００２７】
上述したように、コンピュータシステム８１０は、本発明の実施形態に従ってプログラムされた命令を保持し、本明細書に記載のデータ構造、表、記録または他のデータを含むために、少なくとも１つのコンピュータ可読媒体またはメモリを含んでいてよい。本明細書で使用される「コンピュータ可読媒体」という用語は、実行のためにプロセッサ８２０に命令を提供することに関与する任意の媒体を指す。コンピュータ可読媒体は、非一過性の、不揮発性媒体、揮発性媒体および伝送媒体を含んでいるがこれらに限定されない多くの形態を取り得る。不揮発性媒体の非限定的な例には、光ディスク、ソリッドステートドライブ、磁気ディスクおよび磁気ハードディスク８４１またはリムーバブルメディアドライブ８４２等の光磁気ディスクが含まれる。揮発性媒体の非限定的な例には、システムメモリ８３０等の動的メモリが含まれる。伝送媒体の非限定的な例には、同軸ケーブル、銅線および光ファイバーが含まれ、これは、システムバス８２１を構成するワイヤを含んでいる。伝送媒体が、電波および赤外線データ通信中に作成されるもの等である、音響波または光波の形をとってもよい。
【００２８】
本開示のオペレーションを実行するためのコンピュータ可読媒体命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、ステートセッティングデータ、またはＳｍａｌｌｔａｌｋ、Ｃ＋＋等のオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または同様のプログラミング言語等の従来の手続き型プログラミング言語を含んでいる、１つまたは複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードであってよい。コンピュータ可読プログラム命令は、完全にユーザーのコンピュータ上で、部分的にユーザーのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザーのコンピュータ上で、部分的にリモートコンピュータ上で、または完全にリモートコンピュータまたはサーバー上で実行されてよい。後者の場合には、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）を含んでいる任意のタイプのネットワークを通じてユーザーのコンピュータに接続されてよい、または（例えば、インターネットサービスプロバイダーを使用したインターネットを通じて）外部のコンピュータに対して、接続が形成されてよい。一部の実施形態では、本開示の態様を実行するために、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）またはプログラマブルロジックアレイ（ＰＬＡ）を含んでいる電子回路が、電子回路をパーソナライズするために、コンピュータ可読プログラム命令の状態情報を利用して、コンピュータ可読プログラム命令を実行してよい。
【００２９】
本開示の態様は、本開示の実施形態に従って、方法、装置（システム）、およびコンピュータプログラム製品のフローチャート図および／またはブロック図を参照して本明細書で説明される。フローチャート図および／またはブロック図の各ブロックおよびフローチャート図および／またはブロック図におけるブロックの組み合わせは、コンピュータ可読媒体命令によって実行され得るということが理解されるだろう。
【００３０】
コンピューティング環境８００はさらに、リモートコンピューティング装置８８０等の１つまたは複数のリモートコンピュータへの論理接続を使用するネットワーク環境で動作するコンピュータシステム８１０を含んでいてよい。ネットワークインターフェース８７０は、ネットワーク８７１を介した、例えば他のリモート装置８８０またはシステムおよび／または記憶装置８４１、８４２との通信を可能にしてよい。リモートコンピューティング装置８８０は、パーソナルコンピュータ（ラップトップまたはデスクトップ）、モバイルデバイス、サーバー、ルーター、ネットワークＰＣ、ピアデバイスまたは他の一般的なネットワークノードであってよく、通常、コンピュータシステム８１０に関する上記の要素の多くまたはすべてを含んでいる。ネットワーク環境で使用される場合、コンピュータシステム８１０は、インターネット等のネットワーク８７１を介した通信を確立するためのモデム８７２を含んでいてよい。モデム８７２は、ユーザーネットワークインターフェース８７０を介して、または別の適切な機構を介してシステムバス８２１に接続されていてよい。
【００３１】
ネットワーク８７１は、インターネット、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、直接接続または直列接続、セルラー電話ネットワークまたはコンピュータシステム８１０と他のコンピュータ（例えば、リモートコンピューティング装置８８０）との間の通信を容易にすることができる任意の他のネットワークまたは媒体を含んでいる、当技術分野で一般的に知られている任意のネットワークまたはシステムであってよい。ネットワーク８７１は、有線、無線またはそれらの組み合わせであってよい。有線接続は、イーサネット、ユニバーサルシリアルバス（ＵＳＢ）、ＲＪ−６または当技術分野で一般的に知られている任意の他の有線接続を使用して実装されていてよい。無線接続は、Ｗｉ−Ｆｉ、ＷｉＭＡＸおよびＢｌｕｅｔｏｏｔｈ（登録商標）、赤外線、セルラーネットワーク、衛星または当技術分野で一般的に知られている任意の他の無線接続方法を使用して実装されていてよい。さらに、いくつかのネットワークが単独で、または相互に通信して動作し、ネットワーク８７１における通信を促進してよい。
【００３２】
プログラムモジュール、アプリケーション、コンピュータ実行可能命令、コードまたは図８においてシステムメモリ８３０内に格納されていると示されているもの等は、単なる例であり、網羅的ではないということ、さらに任意の特定のモジュールによって支援されるとして説明された処理が択一的に、複数のモジュールに分散されるか、または異なるモジュールによって実行されてよいということが理解されるだろう。さらに、さまざまなプログラムモジュール、スクリプト、プラグイン、アプリケーションプログラミングインターフェース（ＡＰＩ）またはコンピュータシステム８１０、リモート装置８８０上でローカルにホストされる任意の他の適切なコンピュータ実行可能なコード、および／または１つまたは複数のネットワーク８７１を介してアクセス可能な他のコンピューティング装置上でホストされる任意の他の適切なコンピュータ実行可能なコードが、図８に示されたプログラムモジュール、アプリケーションまたはコンピュータ実行可能なコードによって提供される機能および／または付加的または択一的な機能を支援するために提供されていてよい。さらに、機能が次のように異なってモジュール化されてよい。すなわち、図８に示されているプログラムモジュールの集合によって集合的に支援されると説明された処理が、より少数または多数のモジュールによって実行されてよく、または任意の特定のモジュールによって支援されていると説明された機能が、少なくとも部分的に別のモジュールによって支援されていてよいように、モジュール化されてよい。さらに、本明細書において説明された機能を支援するプログラムモジュールは、例えば、クライアントサーバーモデル、ピア・ツー・ピアモデル等の任意の適切なコンピューティングモデルに従って、任意の数のシステムまたは装置にわたって実行可能な１つまたは複数のアプリケーションの一部を形成してよい。さらに、図８に示されたプログラムモジュールのいずれかによって支援されるものとして説明された機能のいずれかは、少なくとも部分的に、任意の数の装置にわたるハードウェアおよび／またはファームウェアによって実装されてよい。
【００３３】
さらに、コンピュータシステム８１０は、本開示の範囲から逸脱することなく、択一的なハードウェア、ソフトウェアまたはファームウェアコンポーネントおよび／または説明または図示されたものを超える、付加的なハードウェア、ソフトウェアまたはファームウェアコンポーネントを含んでいてよい、ということを理解されたい。より具体的には、コンピュータシステム８１０の一部を形成するように示されたソフトウェア、ファームウェアまたはハードウェアコンポーネントは単なる例示であり、いくつかのコンポーネントが存在していなくてよく、または付加的なコンポーネントが種々の実施形態で提供されていてよい、ということを理解されたい。種々の例示的なプログラムモジュールが、システムメモリ８３０に格納されたソフトウェアモジュールとして示され、説明されたが、プログラムモジュールによって支援されると説明された機能は、ハードウェア、ソフトウェアおよび／またはファームウェアの任意の組み合わせによって使用可能にされるということを理解されたい。さらに、上述のモジュールのそれぞれは、さまざまな実施形態において、支援される機能の論理分割を表していてよい、ということを理解されたい。この論理分割は、機能の説明を簡単にするために示されており、機能を実装するためのソフトウェア、ハードウェアおよび／またはファームウェアの構造を表していない場合がある。したがって、特定のモジュールによって提供されるものとして説明された機能は、さまざまな実施形態において、少なくとも部分的に１つまたは複数の他のモジュールによって提供され得る、ということを理解されたい。さらに、特定の実施形態では１つまたは複数の、示されたモジュールが存在していなくてもよいが、他の実施形態では、示されていない付加的なモジュールが存在していてよく、説明した機能および／または付加的な機能の少なくとも一部を支援してよい。さらに、特定のモジュールが別のモジュールのサブモジュールとして示され、説明されていてよいが、特定の実施形態では、そのようなモジュールは独立したモジュールまたは他のモジュールのサブモジュールとして提供されてよい。
【００３４】
本開示の特定の実施形態が説明されたが、当業者は、多数の他の修正および択一的な実施形態が本開示の範囲内であることを認識するであろう。例えば、特定の装置またはコンポーネントに関して説明された機能および／または処理能力のいずれかが、他の装置またはコンポーネントによって実行されてよい。さらに、種々の例示的な実装およびアーキテクチャが本開示の実施形態に従って説明されたが、当業者は、本明細書に記載された例示的な実装およびアーキテクチャに対する他の多くの修正も本開示の範囲内である、ということを理解するだろう。さらに、別のオペレーション、要素、コンポーネント、データ等に基づくものとして本明細書で説明された任意のオペレーション、要素、コンポーネント、データ等が、付加的に１つまたは複数の他のオペレーション、要素、コンポーネント、データ等に基づいてよいことを理解されたい。したがって、成句「〜に基づいて」またはその変形は、「〜に少なくとも部分的に基づいて」と解釈されるべきである。
【００３５】
実施形態を、構造的特徴および／または方法論的行為に特有の語句で説明してきたが、本開示は必ずしも、記載された特定の特徴または行為に限定されない、ということを理解されたい。むしろ、特定の特徴および行為は、実施形態を実現する例示的な形態として開示されている。とりわけ、「であり得る（ｃａｎ）」、「だろう（ｃｏｕｌｄ）」、「かもしれない（ｍｉｇｈｔ）」、「であってよい（ｍａｙ）」等の仮定語句は、特に明記しない限り、または使用中の文脈内で別のように理解されない限り、特定の実施形態が特定の特徴、要素および／またはステップを含むことがあるだろうが、他の実施形態は特定の特徴、要素および／またはステップを含んでいない、ということを伝えることを一般的に意図している。したがって、このような仮定語句は一般的に、機能、要素および／またはステップが１つまたは複数の実施形態に何らかの形で必要であること、または１つまたは複数の実施形態が、ユーザーの入力または促しの有無にかかわらず、これらの機能、要素および／またはステップが任意の特定の実施形態に含まれるか、または実行されるべきか決定するためのロジックを必ず含むことを意味するものではない。
【００３６】
図面のフローチャートおよびブロック図は、本開示の種々の実施形態によるシステム、方法およびコンピュータプログラム製品の可能な実現のアーキテクチャ、機能およびオペレーションを示している。この点に関して、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実現するための１つまたは複数の実行可能な命令を含んでいるモジュール、セグメントまたは命令の一部を表していてよい。いくつかの択一的な実施形態では、ブロックで記載されている機能は、図に記載されている順序以外で発生してよい。例えば、連続して示されている２つのブロックが、実際には、関連する機能に応じて、実質的に同時に実行されてもよく、またはこれらのブロックが時折、逆の順序で実行されてもよい。また、ブロック図および／またはフローチャート図の各ブロックおよびブロック図および／またはフローチャート図におけるブロックの組み合わせが、特定の機能または行為を実行するまたは特定用途向けハードウェアとコンピュータ命令の組み合わせを実行する特定用途向けのハードウェアベースのシステムによって実現され得る、ということに留意されたい。
【図１】
2020514916.tif 000004
【図２】
2020514916.tif 000005
【図３】
2020514916.tif 000006
【図４】
2020514916.tif 000007
【図５】
2020514916.tif 000008
【図６】
2020514916.tif 000009
【図７】
2020514916.tif 000010
【図８】
2020514916.tif 000011
【国際調査報告】
2020514916.tif 000012
2020514916.tif 000013