(57)【要約】      （修正有）【課題】互換性のあるコンポーネントの非同期選択のシステムおよび方法を提供する。【解決手段】被観測システム用の互換性のあるコンポーネントを選択するためのシステムによる方法は、システムの１つ以上のコンポーネントのパラメータを収集する工程と、システムの１つ以上のコンポーネントがシステムに必要な状態と合致しているかを評価する工程と、合致に関する評価に基づいて１つ以上の異常を識別する工程と、１つ以上の異常に対応するシステムのクラスおよびパラメータを識別するために１つ以上の異常を分析する工程と、システムのための１つ以上の復元方法モデルを決定する工程と、１つ以上の復元方法モデルに対する要件を満たす１つ以上のコンポーネントを選択する工程と、１つ以上の異常を除去するために、システムと互換性がある１つ以上のコンポーネントをシステムにおいて実装する工程と、を含む。【選択図】図３Ａ
2020166829.tif 000002
【特許請求の範囲】
【請求項１】
システム用の互換性のあるコンポーネントを選択する方法であって、
システムの１つ以上のコンポーネントのパラメータを収集する工程と、
前記システムの前記１つ以上のコンポーネントが前記システムに必要な状態と合致しているかについて、収集した前記パラメータを用いて１つ以上の状態モデルを照会することによって、評価する工程と、
合致に関する前記評価に基づいて、１つ以上の異常を識別する工程と、
前記１つ以上の異常に対応する前記システムのクラスおよびパラメータを識別するために前記１つ以上の異常を分析する工程と、
前記システムのための１つ以上の復元方法モデルであって、前記システムの１組の所定機能を確実に復元し、前記１つ以上の異常を停止させる復元方法モデルを決定する工程と、
前記１つ以上の復元方法モデルに対する要件を満たす１つ以上のコンポーネントを選択する工程と、
前記１つ以上の異常を除去するために、前記システムと互換性がある前記１つ以上のコンポーネントを、前記システムにおいて実装する工程と、
を含む、方法。
【請求項２】
前記１つ以上の状態モデルは、要求に合致する正常なプロセスおよび状態と、故障状態および／または故障プロセスを説明する異常なプロセスとを説明する、請求項１に記載の方法。
【請求項３】
前記１つ以上の状態モデルは、回帰モデル、分類モデル、カテゴリ化モデル、意思決定木に基づいたモデル、ニューラルネットワーク、および／または論理型ルールのうちの、１つ以上であってもよい、請求項１に記載の方法。
【請求項４】
前記１つ以上の異常は、
前記必要な状態から逸脱している、素子の状態、
前記必要な状態から逸脱している、前記システムの状態、
前記必要な状態から逸脱している、素子のプロセス、
必要なプロセスから逸脱している、素子のプロセス、
必要なプロセスから逸脱している、前記システムのプロセス、
前記システムと相互作用している環境の状態であって、前記必要な状態から逸脱している状態、および
前記システムと相互作用している前記環境のプロセスであって、前記必要なプロセスから逸脱しているプロセス、
のうち、１つ以上を含む、請求項１に記載の方法。
【請求項５】
前記１つ以上の異常は、
前記システムにおけるルータの弱い信号、
ＣＰＵ、ＨＤＤ、ＳＳＤ、およびＲＡＭのうち１つ以上を含む、前記システムの素子の性能劣化、
前記システム上の不十分なＲＡＭ空間、ならびに
前記システム上のデータ損失／汚染
のうち、１つ以上を含む、請求項１に記載の方法。
【請求項６】
前記１つ以上の異常の前記クラスは、機能性要件、ユーザビリティ要件、信頼性要件、性能用件、および保守性要件のうちの、１つ以上を含んでもよい、請求項１に記載の方法。
【請求項７】
前記システムの前記基本素子のユーザプロファイルに基づいて、前記１つ以上の復元方法モデルを選択する、請求項１に記載の方法。
【請求項８】
前記システムの前記基本素子は、前記システムのコアであり、クライアントがインストールされる、請求項１に記載の方法。
【請求項９】
識別された前記１つ以上の異常に関する情報に基づいて、復元方法を識別することなく、復元用コンポーネントを識別する工程と、
識別された前記復元用コンポーネントのパラメータを用いて、前記１つ以上の状態モデルを照会する工程と、
前記システムと互換性がある少なくとも１つのコンポーネントを決定する工程であって、前記少なくとも１つのコンポーネントの前記パラメータを用いて前記１つ以上の状態モデルを照会した際に異常が識別されない、工程と、
前記１つ以上の異常を除去するために、前記少なくとも１つのコンポーネントを前記システムに適用する工程と、
をさらに含む、請求項１に記載の方法。
【請求項１０】
互換性のあるコンポーネントを選択するシステムであって、
被観測システムの１つ以上のコンポーネントのパラメータを収集し、
前記被観測システムの前記１つ以上のコンポーネントが前記システムに必要な状態と合致しているかについて、収集した前記パラメータを用いて１つ以上の状態モデルを照会することによって、評価し、
合致に関する前記評価に基づいて、１つ以上の異常を識別し、
前記１つ以上の異常に対応する前記被観測システムのクラスおよびパラメータを識別するために前記１つ以上の異常を分析し、
前記被観測システムのための１つ以上の復元方法モデルであって、前記被観測システムの１組の所定機能を確実に復元し、前記１つ以上の異常を停止させる復元方法モデルを決定し、
前記１つ以上の復元方法モデルに対する要件を満たす１つ以上のコンポーネントを選択し、かつ、
前記システムと互換性があり、前記１つ以上の異常を除去する、前記１つ以上のコンポーネントを、前記被観測システムにおいて実装する、
ように構成されているプロセッサを、
含むシステム。
【請求項１１】
前記１つ以上の状態モデルは、要求に合致する正常なプロセスおよび状態と、故障状態および／または故障プロセスを説明する異常なプロセスとを説明する、請求項１０に記載のシステム。
【請求項１２】
前記１つ以上の状態モデルは、回帰モデル、分類モデル、カテゴリ化モデル、意思決定木に基づいたモデル、ニューラルネットワーク、および／または論理型ルールのうちの、１つ以上であってもよい、請求項１０に記載のシステム。
【請求項１３】
前記１つ以上の異常は、
前記必要な状態から逸脱している、素子の状態、
前記必要な状態から逸脱している、前記被観測システムの状態、
前記必要な状態から逸脱している、素子のプロセス、
必要なプロセスから逸脱している、素子のプロセス、
必要なプロセスから逸脱している、前記被観測システムのプロセス、
前記被観測システムと相互作用している環境の状態であって、前記必要な状態から逸脱している状態、および
前記被観測システムと相互作用している前記環境のプロセスであって、前記必要なプロセスから逸脱しているプロセス、
のうち、１つ以上を含む、請求項１０に記載のシステム。
【請求項１４】
前記１つ以上の異常は、
前記被観測システムにおけるルータの弱い信号、
ＣＰＵ、ＨＤＤ、ＳＳＤ、およびＲＡＭのうち１つ以上を含む、前記被観測システムの素子の性能劣化、
前記被観測システム上の不十分なＲＡＭ空間、ならびに
前記被観測システム上のデータ損失／汚染
のうち、１つ以上を含む、請求項１０に記載のシステム。
【請求項１５】
前記１つ以上の異常の前記クラスは、機能性要件、ユーザビリティ要件、信頼性要件、性能用件、および保守性要件のうち、１つ以上を含んでもよい、請求項１０に記載のシステム。
【請求項１６】
前記被観測システムの前記基本素子のユーザプロファイルに基づいて、前記１つ以上の復元方法モデルを選択する、請求項１０に記載のシステム。
【請求項１７】
前記被観測システムの前記基本素子は、前記被観測システムのコアであり、クライアントがインストールされる、請求項１０に記載のシステム。
【請求項１８】
前記プロセッサは、
識別された前記１つ以上の異常に関する情報に基づいて、復元方法を識別することなく、復元用コンポーネントを識別し、
識別された前記復元用コンポーネントのパラメータを用いて、前記１つ以上の状態モデルを照会し、
前記被観測システムと互換性がある少なくとも１つのコンポーネントを決定し、前記少なくとも１つのコンポーネントの前記パラメータを用いて前記１つ以上の状態モデルを照会した際に異常が識別されず、かつ、
前記１つ以上の異常を除去するために、前記少なくとも１つのコンポーネントを前記被観測システムに適用する、
ように、さらに構成されている、請求項１０に記載のシステム。
【請求項１９】
システム用の互換性のあるコンポーネントを選択する命令を保存するコンピュータ可読媒体であって、
前記命令は、
システムの１つ以上のコンポーネントのパラメータを収集することと、
前記システムの前記１つ以上のコンポーネントが前記システムに必要な状態と合致しているかについて、収集した前記パラメータを用いて１つ以上の状態モデルを照会することによって、評価することと、
合致に関する前記評価に基づいて、１つ以上の異常を識別することと、
前記１つ以上の異常に対応する前記システムのクラスおよびパラメータを識別するために、前記１つ以上の異常を分析することと、
前記システムのための１つ以上の復元方法モデルであって、前記システムの１組の所定機能を確実に復元し、前記１つ以上の異常を停止させる復元方法モデルを決定することと、
前記１つ以上の復元方法モデルに対する要件を満たす１つ以上のコンポーネントを選択することと、
前記１つ以上の異常を除去するために、前記システムと互換性がある前記１つ以上のコンポーネントを、前記システムにおいて実装することと、
を含む、コンピュータ可読媒体。
【請求項２０】
前記命令は、
識別された前記１つ以上の異常に関する情報に基づいて、復元方法を識別することなく、復元用コンポーネントを識別することと、
識別された前記復元用コンポーネントのパラメータを用いて、前記１つ以上の状態モデルを照会することと、
前記システムと互換性がある少なくとも１つのコンポーネントを決定することであって、前記少なくとも１つのコンポーネントの前記パラメータを用いて前記１つ以上の状態モデルを照会した際に異常が識別されない、ことと、
前記１つ以上の異常を除去するために、前記少なくとも１つのコンポーネントを前記システムに適用すること、
をさらに含む、請求項１９に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータシステムにおける誤動作の検出に関し、より具体的には、互換性のあるコンポーネントの非同期選択の方法およびシステムに関する。
【背景技術】
【０００２】
企業および起業家は、製品の販売促進のために、広告サービスを利用することがよくある。広告は、様々なメディアチャネルを介して、潜在的な顧客に商品、サービスまたはアイデアを購入させようとする。インターネットの発展により、広告主は、いまや、未開拓の市場に広範囲にわたってアクセスすることができ、広告の２０％以上がインターネット上で行われていると推測されるほどである。
【０００３】
しかし、広告は、個別化および視聴者の選択が欠如すると、本来よりも有効ではなくなる。したがって、プロデューサは、ユーザ全体から個別のグループを選び出そうと努力し、各グループをターゲットとする広告を提示する。これは、標的広告または広告アナウンス（プレゼンテーション）として知られており、ウェブページのコンテンツではなく、ユーザの過去の挙動または調査データに基づいて識別された特定のユーザグループに関連する。
【０００４】
インターネットの発展の課程において、ユーザに対して宣伝広告を行う方法自体が変化し始めた。ユーザは、ネットサーフィンの最中のみならず、ウェブを利用するアプリケーションソフトウェアにおいて、また、出勤または帰宅途中に掲示板上で、広告に遭遇している。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、広告には、主な欠点が１つある。すなわち、広告は、宣伝広告されている製品を必要としていないユーザをいらいらさせることがよくある。その結果、そのようなユーザは、広告を伴うアプリケーションソフトウェアおよびウェブリソースを回避しようとする。ユーザが実際にその製品を必要としているにもかかわらず、広告が過度に押し付けがましい場合、その消費者は競争相手の方に向いてしまうことになるかもしれない。
【０００６】
したがって、既存の広告製品は、効率が低く、また、ユーザに関する情報を収集、送信し、ユーザのプロファイルを描くのだが、これには法的リスクを伴う可能性がある。アプリケーションソフトウェアが広告を介してマネタイズされているため、広告がユーザをいらいらさせることがよくあり、その結果、ユーザは、広告を伴うアプリケーションソフトウェアを回避する。提案する開示は、上記の欠点がない態様について説明する。
【課題を解決するための手段】
【０００７】
本発明は、互換性のある製品を非同期選択するように設計されている。
【０００８】
本発明の技術的な成果は、システム復元手段を選択する方法を実行した結果、手段のデータベースからシステム復元手段を選択することが可能になることであり、状態およびプロセス（少なくとも２つの状態または２つのプロセス）を説明するシステムパラメータを、システムの機能を実現する素子から取得し、このようにして取得したパラメータを用いてシステムの状態モデルを照会することによって、システムの状態およびプロセスを異常なものと正常なものとに分割する。パラメータをリアルタイムで取得することができ、一方、システムの素子の１つ（基本素子）にインストールされたクライアントが、そのパラメータ自体を取得する。システムの素子は、ソフトウェア、ハードウェア、ハードウェア／ソフトウェア、および有機体であってもよい。特定の例において、基本素子は、システムの文脈においてＩｏＴデバイスと相互作用するパーソナルコンピュータデバイスであってもよい。特定の例において、得られるパラメータを有するシステムは、ダイナミックであり、無線ネットワークによって一体化した素子からなる。基本素子に接続される素子の数は、その時点と基本素子の位置によって、また、現在の無線ネットワークにアクセスできる無線局の有効範囲ゾーンの半径に依存して、決定される。状態モデルを照会することによって、システムおよびその素子における状態およびプロセスに対する要件との合致を評価する。
前記モデルは、下記の状態およびプロセスを検出するための１組のルールを構成してもよい。
・素子の異常な状態。素子のパラメータの関数である。
・システムの異常な状態。システムの素子の異常な状態を判定するパラメータの関数である。
・素子の異常なプロセス。素子の状態の時間関数である。
・システムの異常なプロセス。システムの状態の時間関数である。
【０００９】
別の例において、システムの状態モデルは、信頼度のモデルとユースケースの集合体である。モデルの照会の結果、状態およびプロセスを、異常な状態／プロセス（一般的な場合、異常）と正常な状態／プロセスに分割し、さらに、分割中に、異常の関数を有するシステムパラメータを識別してもよく、この場合、異常は、少なくとも、以下の状態およびプロセスであってもよい。
・必要な状態から逸脱している素子の状態。素子のパラメータの関数である。
・必要な状態から逸脱しているシステムの状態。素子の状態の関数である。
・必要なプロセスから逸脱している素子のプロセス。素子の状態の時間関数である。
・必要なプロセスから逸脱しているシステムのプロセス。システムの状態の時間関数である。
・システムが相互作用している環境の状態であり、必要な状態から逸脱しており、システムのパラメータによって説明可能な状態。
・システムが相互作用している環境のプロセスであり、必要なプロセスから逸脱しており、システムのパラメータによって説明可能なプロセス。
【００１０】
さらに、たとえば、異常を定義するパラメータを有するシステムのクラスまたは素子によって、異常をさらに説明してもよい。検出される異常は、機能異常に関するものであってもよく、この場合、機能異常は、所定の機能を実行するシステムまたはシステムの素子の能力の低下または損失である。
【００１１】
分割（クラスタ化）後、少なくとも１つのルールを、システムの異常な状態／プロセスおよび正常な状態／プロセスのパラメータに基づいて、システム復元手段を選択するために、公式化し、また、システム復元手段を、少なくとも１つの公式化したルールに基づいて、手段のデータベースから選択する。システム復元のために選択された手段を実施すると、システムおよび素子が要件に合致することが確実となり、一方、システム自体の復元により、システムが設計要件に合致することが確実となる。たとえば、異常発生時、選択された手段によって、システムに必要な機能が確実に復元される。特定の例において、選択された手段は、異常な状態またはプロセスを安定させることによって復元を行い、逸脱を安定させるための手段の識別を、状態またはプロセスを分割することで、非同期モードで実施する。
【００１２】
特定のケースでは、実施のための選択された手段は、素子またはシステムを、異常な状態またはプロセスから必要な状態またはプロセスに移行させて（異常の消去）復元を行う。この場合、特定の例において、必要な状態またはプロセスは、フープスプラス（ＦＵＲＰＳ＋）分類に準拠した、システムに関する要件に対応する。プロセスおよび状態の分割、ルールの公式化、および手段の選択に関する方法を実施するステップを、サーバ側で実行してもよい。
【００１３】
態様例の上記簡略概要は、本開示の基本的な理解を提供する役割を果たす。この概要は、全ての企図された態様の広範な概観ではなく、全ての態様の主要または重大要素を特定することを意図するものではなく、本開示の任意または全ての態様の範囲を叙述することを意図するものでもない。その唯一の目的は、以下の本開示のより詳細な説明の前置きとして、１つ以上の態様を簡略化した形で提示することである。前述の目的を達成するために、本開示の１つ以上の態様は、特許請求の範囲に記載され、例示的に指摘される側面を含む。
【図面の簡単な説明】
【００１４】
【図１】図１は、本開示の例示的な態様による、観測可能なダイナミックシステムの変形例を示す。
【図２Ａ】図２Ａは、本開示の例示的な態様による、ユーザと予防相互作用するシステムを示す。
【図２Ｂ】図２Ｂは、本開示の例示的な態様による、ユーザと予防相互作用するシステムと観測可能なダイナミックシステムとの関係を示す。
【図３Ａ】図３Ａは、本開示の例示的な態様による、異常を有するシステムの互換性のある手段を識別する方法を示す。
【図３Ｂ】図３Ｂは、本開示の例示的な態様による、互換性のある手段を検出する方法を示す。
【図４】図４は、本開示の例示的な実施形態を示す。
【図５】図５は、本開示の例示的な態様による、要件に対応するユーザを探索する方法を示す。
【図６】図６は、本開示の例示的な態様による、ユーザを探索するためのモデルを構築する方法を示す。
【図７】図７は、本開示の例示的な態様による、互換性のある手段の非同期選択の方法を示す。
【図８】図８は、汎用コンピュータシステムの例を示す。
【発明を実施するための形態】
【００１５】
例示的な態様を、互換性のあるコンポーネントの非同期選択のための、システム、方法、およびコンピュータプログラム製品に関連して、本明細書において説明する。当業者であれば、以下の説明は例示的なものにすぎず、決して限定することを意図するものではないことを理解するであろう。他の態様は、本開示の恩恵を受ける当業者に容易に連想されるであろう。添付の図面に例示されている態様例の実施を詳細に言及する。図面および以下の説明の全体にわたって、同一または同様のものについては、可能な限り、同一の参照符号を用いるものとする。
【００１６】
本開示は、広告の本質、すなわち、広告のランダムな性質を放棄し、広告メッセージを、問題およびその問題の解決に最も有効な方法に関するユーザへの通知に置き換える。本発明により、不確定性や蓋然性を回避することが可能となり、したがって、本提案が広告であると見なされることはなく、本提案はユーザ通知の予防システムである。とりわけ、前記システムでは、情報提供は実際に情報を必要とする人々のために実行されるので、情報提供に費やすリソースが低減する。広告製品は、ユーザの好みや考えられるニーズを判断し、ユーザが興味があり、必要としているかもしれない、製品またはサービスに関する情報をユーザへ送る。本発明は、ユーザ環境をモニタリングし、実際の問題（または、近いうちに起こりそうな問題）および実際のニーズを見つけ出し、上記に関する情報を提供し、かつ、実施しうる可能な解決策を提案する。前記解決策には、ある製品またはサービスの獲得による解決策も含まれる。
【００１７】
平均的なユーザは、デバイスの多くの技術的問題を予測することができず、また、ユーザは、発生中の、または過去に発生した問題を解決するために製品特性を評価するための十分な技術知識も持ってはいないが、メーカーは、この情報を持っている。しかし、メーカーは、製品を必要としているユーザを知らず、したがって、確率的な方法および統計的方法によって、マーケットリサーチを実行し、需要モデルを構築せざるをえない。本開示によれば、デバイスの問題およびデバイス環境（モノのインターネット（the  Internet  of  Things）、略してＩｏＴ、を含む）における問題を検出することができ、かつ、上記問題の有効な予防策を見つけることができる。このシステムは、付加的手段をインストールすることを必要としないが、作業中のクライアントによって、たとえば、アンチウイルスソフトウェアによって実現される。
【００１８】
本解決策を使用して少なくとも下記のことを宣伝してもよい。
・電子技術
・ＩＴプロバイダ
・ＩＴサービス
・医療品
・医療サービスプロバイダ
・健康関連製品およびサービスの販売促進
・労働市場関連製品およびサービス
・修理および建設資材、ならびに修理および建設サービス
・クリーニングサービス
・食品
【００１９】
たとえば、労働市場の環境において本解決策を使用してもよい。人員採用活動中の人事部（Human  Resources：ＨＲ）の最大経費の１つは、履歴書の探索と履歴書が要件に合致しているかどうかの評価である。履歴書記入に関する基準が欠けている場合、これらの作業に多くの時間がかかる。場合によっては、志願者は、完全には履歴書に記入しておらず、かつ／または、重要な詳細を省略することがあり、その結果、該当する専門家が見過ごされてしまうか、または、スキップされた項目を明確にするために、リクルータ側に追加の労働経費が必要となる。提案する本発明によれば、履歴書に示されなくとも、ある要件を評価することが可能となる。その技術は、志願者のデバイスから収集したデータに基づき、過去に訓練したモデルを用いて、専門家のカテゴリ化を行う。
【００２０】
以下の定義および概念を、本開示の様々な態様を説明する際に使用する。
【００２１】
「システム」は、相互に関係があり、相互に接続している素子の集合であり、ある一定の統一体または単一体を形成する。１組の素子は、システムの素子がサブシステムとして知られる別のシステムであってもよい設計に従って、相互作用する。前記システムは、制御システムまたは制御対象システムであってもよく、ハードウェアコンポーネント（たとえば、デバイス）、ソフトウェアコンポーネント（たとえば、プログラム）、および、人間との相互作用（したがって、人間がシステムの素子であってもよい）、または別の生物との相互作用を含んでもよい。素子は、共有する機能タスクを実行するように一体化している。要件は、設計によって、たとえばＦＵＲＰＳ＋分類に準拠して、システムに課せられる。
・Ｆ−機能性または機能要件。特性、能力、セキュリティ。これらは主要な要件であり、ユースケース図を構築するために使用される。
・Ｕ−ユーザビリティ要件、すなわち使いやすさ（ユーザ体験）に関する要件。人的要因、美的感覚、一貫性、ドキュメンテーション。
・Ｒ−信頼性要件、または信頼度に関する要件。起こりうるクラッシュの頻度、故障耐性、復旧のしやすさ、安定性の予測可能性。
・Ｐ−性能要件、または生産性に関する要件。応答時間、リソース使用、効率、パワー、スケーラビリティ。
・Ｓ−保守性要件、または保守に関する要件。保守可能性、修理可能性、柔軟性、変更可能性、モジュール性、拡張性、ローカライズ可能性。
【００２２】
設計に従って実現されたシステムは、システムが機能している間、設計要件を満たす。特定の例における要件は、システム／素子が所与の時点で提供する性能である（たとえば、フレーム毎秒、または少なくとも１０人のユーザからの毎秒１００個の要求に関する要件である）。
【００２３】
「システムの素子の状態」は、ある時点でのシステムの素子の属性一式を意味し、素子のパラメータの関数である。
【００２４】
「システムの状態」は、ある時点でのシステムの属性一式を意味し、システムのパラメータの関数である。「システムの状態」は、ある時点におけるシステムの素子の状態の集合体としても定義される。
【００２５】
「プロセス」は、ある時間間隔におけるシステムの素子またはシステム全体の属性における変化を意味し、状態の時間関数である。
【００２６】
（素子、システム、またはプロセスの）「パラメータ」は、プロセス、現象、素子（デバイス、ソフトウェア、生物を含む）、またはシステムの、任意の属性を特徴づける量を意味する。いずれのシステムも、下記２つのクラスに分割することができる、量の集合体によって、定量的に説明される。
・パラメータ（Ｐ）。システムの第１次属性について説明し、システム調査のための初期データである。
・特性（Ｃ）。システムの第２次属性について説明し、システムのパラメータの関数として決定される。C=f(P)
【００２７】
システムのパラメータは、下記のパラメータに、さらに分割される。
・内部パラメータ。システムの構造組織および機能組織を説明する。
・外部パラメータ。（システムに関連する）環境とシステムの相互作用を説明する。
【００２８】
内部パラメータは、（限定はされないが）下記のパラメータを含む。
・構造パラメータ。システムの素子の構成、およびその実際の構造を説明する。
・機能パラメータ。システムの機能組織（機能のプロセス）を説明する。
【００２９】
外部パラメータは、たとえば、（限定はされないが）作業負荷パラメータを含み、作業負荷パラメータは、システムのリソースの使用頻度および使用量を示す。一般的な場合、外部パラメータは、環境とシステムの相互作用のパラメータである。
【００３０】
システムの特性は、下記の特性に分割される。
・グローバル特性。システム全体としての機能の有効性を示す。
・ローカル特性。システムの個々の素子の機能の質を説明する。
【００３１】
システムのグローバル特性は、（限定はされないが）下記の特性を含む。
・パワー特性または生産性特性。システムの所定目的を達成する速度を示す。
・時間特性。システムの機能の時間態様を説明する。
・信頼性特性。システムの機能の信頼性を定義する。
・コスト指標形式の経済特性。システムの使用の経済的実現可能性を示す。
【００３２】
パラメータと特性の間に技術的な差異があることが、上記から明らかである。特性は、少なくとも１つのパラメータの関数である。本願において、パラメータと特性は、区別しないが、用語「パラメータ」は、前者および後者の概念に使用してもよい。
【００３３】
「異常」は、要件からの逸脱を意味する。要件は、たとえばハードウェア／ソフトウェア複合体のための設計要件、または公衆衛生要件であってもよい。状態とプロセスは、要件から逸脱しうる。したがって、異常な状態および異常なプロセスは区別される。異常なプロセスの特定例は、経時変化故障であり、異常な状態の特定例は、突発性故障またはクラッシュである。異常は、少なくとも１つのパラメータの要件から逸脱することによって引き起こされる可能性があり、そのパラメータもまた、異常または異常なパラメータである。
【００３４】
「モデル」は、任意の形式（たとえば、数学形式、物理形式、記号形式、グラフィック形式、または説明的な形式）で現実を抽象的に表現したものを意味し、その現実の特定の態様を表すように設計され、検討されている問題に対する応答を得ることを可能にする。モデルは、状態、プロセス、異常（異常な状態、プロセス、パラメータ）、専門家（ユーザ）、および製品（デバイス、ソフトウェア、サービス）を説明してもよい。テンプレート、従来の表現、ルール（出力上に入力を投影または写像すること）、ニューラルネットワーク、決定木などを使用して、前記形式を表現してもよい。
【００３５】
「ダイナミックシステム」は、素子の数が、一定ではなく、基準点とする素子（基本素子）の位置と、ある時点とによって決定される、システムを意味する。たとえば、ダイナミックシステムは、無線ネットワークによって一体化した（ハードウェア／ソフトウェアの形で実現された）素子からなるシステムであり、基本素子と接続する素子の数は、ある時点と、基本素子の位置とによって決定され、現在の無線ネットワークへアクセスできるようにする無線局の有効範囲ゾーンの半径に依存する。ダイナミックシステム１００の一例を図１に示し、以下に説明する。
【００３６】
図２Ａは、ユーザと予防相互作用するシステム２００を示す。システム２００は、クライアント側、サーバ側、および第３の側を含む。観測されるシステム１００は、クライアント側に位置し、システム１００は、システムの素子２１０（基本素子）を少なくとも１つ含み、前記素子はインストールされたクライアント２２０を有する。この場合、クライアント２２０は、システムのパラメータを収集し、かつ、サーバ側と相互作用するように設計されている。第３の側には、モデル開発や製品説明／仕様などのためのソフトウェア／ハードウェアが位置し、サーバ側は、クライアントと相互作用し、第３の側から、開発したモデルを取得する。サーバ側では、得られたモデルの試験、得られたモデルの格付け、クライアントに関する統計の収集、クライアントのための構成ファイルの作成と構成ファイルの更新、モデル開発のためのインフラストラクチャの提供が行われる。
【００３７】
クライアントは、収集モジュール２３０と、分析モジュール２４０と、データベース２５０とを含む。クライアントは、任意で、インストールモジュール２６０を含んでもよい。収集モジュール２３０は、システム１００のパラメータ、特定の例においては、遠隔測定パラメータを収集するように設計されている。分析モジュール２４０は、パラメータを状態とプロセスとに変換し、パラメータ、状態、およびプロセスを分析して異常を発見する。例示的な態様において、各技術分野に対してモデルを特定している場合、モデルによって、パラメータを状態とプロセスに変換する。いくつかの態様において、たとえば、ランダムフォレストなど、ニューラルネットワークによってモデルを実現する。分析モジュール２４０による分析は、モデル、たとえば状態モデルを照会する手段によって行われる。この分析モジュール２４０は、異常を分析して復元の方法を特定し、復元方法の実施を可能にするコンポーネントを見つける。前記方法のためのモデルも照会する。分析モジュール２４０は、任意にサーバ側に位置してもよい。インストールモジュール２６０は、復元方法を実現するソフトウェアを実施するよう設計されている。データベース２５０は、パラメータと状態とを保存する。プロセスは状態の時間変化であるので、データベース２５０によって、とりわけ、素子およびシステムにおけるプロセスに関して、分析モジュール２４０によって情報を得ることが可能となる。
【００３８】
第３の側において、開発モジュール（図では、個別に示さず）は、製品（サービスを含む）を説明し、モデルを作成し、サーバ側に結果を送信する。開発モジュールは、フレームワークと、他のソフトウェアとを含んでもよく、サーバ側とクライアント側においてモジュールが支援するフォーマットで人間が容易に理解できる製品説明を形式化し、形式化された説明に基づくモデルを含むモデルを作成し、サーバ側に結果を送信する。
【００３９】
サーバ側は、クライアント側と通信するためのインターフェース２７０および第三者開発モジュールと通信するためのインターフェース２７１を提供する。開発インフラストラクチャ２８０は、サーバ側で実現され、少なくとも下記のモジュール（図では、個別に表示せず）を含む。
・格付けモジュール
・試験モジュール
・統計収集モジュール
【００４０】
格付けモジュールは、特定のクライアントに送られ、かつ、分析モジュールによって照会されるモデルを識別するように設計されている。試験モジュールは、開発モジュールから得た新しいモデルを検査するように設計されている。モデルは、モデルデータベース２８１に保存される。統計収集モジュールは、収集されたパラメータ、照会されたモデル、および、モデル照会結果によって、クライアントからデータを受信し、統計データベース２８２に保存する統計を作成する。蓄積した統計は、新しいモデルの開発や既存のモデルのデバッグなどに用いられ、かつ、インターフェースを介して開発者がアクセス可能である。
【００４１】
図１は、観測されるダイナミックシステム１００を示す。ダイナミックシステム１００のコアは、クライアントがインストールされる基本素子（図ではＢＥ）である。基本素子は、ノートブック型コンピュータ、スマートウォッチ、スマートフォン、パーソナルコンピュータなどであってよい。基本素子は、本例ではアクセスポイントを介して、他の素子にリンクされる。したがって、システムの素子の数は、基本素子が位置する有効範囲を有するアクセスポイントのアクション半径によって決定される。所与のシステム１００の文脈において、特定の例では、人間を、制御／診断／監視の対象または主体として、システムの素子であるとみなしてもよい。人間を制御／診断／監視（たとえば心電図の記録）の対象であるとみなす場合、システムの他の素子は、制御の主体である。システムの素子としての人間の文脈における異常の概念を、医療要件の文脈におけるプロセスの正常な状態からの逸脱と定義してもよい。
【００４２】
別のケースにおいて、人間と環境は、制御／診断／監視の対象とみなされるが、システム１００に対しては外部である。この場合、システムの素子は、上記分類により外部であるパラメータを収集し、これらのパラメータに基づき、制御／診断／監視の対象の状態およびプロセスを識別し、一方、人間または環境のいずれかのことがある、制御／診断／監視の対象に対して、復元方法を識別する。
【００４３】
システム２００と観測されるダイナミックシステム１００の関係を、図２Ｂで述べる。ダイナミックシステム１００は、システム２００のサブシステムであるか、またはシステム２００と素子単位で交わる。たとえば、基本素子は、（図２Ｂに示すように）システム２００とシステム１００とが共有する部分であってもよい。
【００４４】
システム２００は、異常を有するシステムのための互換性のあるコンポーネントを選択する方法を実施するよう設計されており（図３Ａ参照）、この場合、ステップ３１０において、クライアント２２０の収集モジュール２３０は、このシステム１００の特定機能を実現する素子からシステム１００のパラメータを収集する。例示的な態様において、パラメータは、他のパラメータについても考察するが、システムの素子の構成とその実際の構造とを説明する構造パラメータと、システムの機能組織（機能のプロセス）を説明する機能パラメータとを含む。パラメータの収集を、たとえばリアルタイムで実施してもよい。収集したパラメータをクライアント２２０のデータベース２５０に保存し、ステップ３２０では、クライアント２２０の分析モジュール２４０が、収集したパラメータを用いて、システム１００の状態モデルを照会する。状態モデルを照会する分析モジュール２４０は、システム１００とその素子の状態がシステムに関する要件に合致しているかについて、収集したパラメータと状態モデルとを比較することによって、評価する。状態モデルは、必要なプロセスおよび状態と合致する正常なプロセスおよび状態を説明し、かつ、異常なプロセスおよび状態、たとえば、故障状態または故障プロセスを説明する。状態モデルを、クライアント２２０のデータベース２５０に保存してもよい。別の特定の例において、サーバ側がオンデマンドでクライアント２２０の分析モジュール２４０によって、状態モデルを示してもよい。状態を説明するモデルはそれぞれ、回帰モデル、分類モデル、カテゴリ化モデル、および他のモデルなど、著しく異なっていてもよい。前記モデルは、意思決定木、ニューラルネットワーク、または、ＩＦ（ｏｒ／ａｎｄ／ｘｏｒ）ＴＨＥＮタイプの論理型ルールなどに基づいてもよい。
【００４５】
ステップ３３０では、モデルの照会の結果、システムにおいて異常を検出する。異常は、少なくとも、下記の状態やプロセスであってもよい。
・必要な状態から逸脱している素子の状態。素子のパラメータの関数である。
・必要な状態から逸脱しているシステムの状態。素子の状態の関数である。
・必要なプロセスから逸脱している素子のプロセス。素子の状態の時間関数である。
・必要なプロセスから逸脱しているシステムのプロセス。システムの状態の時間関数である。
・システムが相互作用している環境の状態。必要な状態から逸脱しており、システムのパラメータによって説明可能である。
・システムが相互作用している環境のプロセス。必要なプロセスから逸脱しており、システムのパラメータによって説明可能である。
【００４６】
異常を発見した後、発見した異常に関する情報を、さらに処理するために形式化する。このとき、異常のクラス（および／または名前）と、異常の関数を有するシステムパラメータとによって、前記情報を特徴付けてもよい。さらに、異常を識別するパラメータを有するシステムの素子を、特性として示してもよい。異常のクラスおよび名前は、どの要件から逸脱しているかに依存する。異常として、たとえば、以下のものが挙げられる。ルータの弱信号、素子（ＣＰＵ、ＨＤＤ、ＳＳＤ、ＲＡＭなど）の性能低下、不十分なＲＡＭ空間、データの損失／汚染など。異常が経時変化故障を伴う場合、その異常は、たとえば、識別されたデータの実際の損失またはメモリボリュームの不足ではなく、近いうちに起こりそうな異常である。特定の例において、異常には、（ＦＵＲＰＳ＋分類における）機能性クラスがあり、たとえばシステムの機能を含む。この場合、機能異常は、設計または目的によって決定される機能を実行するための、システムまたはシステムの素子の能力の低下または損失である。
【００４７】
ステップ３４０において異常を検出し、その後、前記異常に関する情報を用いて、復元方法を選択するためのモデルを照会する。状態モデルと同様、復元方法を選択するためのモデルは様々であってもよく、特定の例において、説明モデルを使用してもよい。モデルの紹介の結果、ステップ３５０では、実施するとシステムおよび素子が確実に要件に合致する復元方法を識別する。たとえば、前記方法によって、システムに必要な機能が確実に復元される。発見された復元方法は、異常な状態またはプロセスを安定化することができ（異常の発展を停止することができ、これは経時変化故障に有効である）、かつ、素子またはシステムを異常な状態またはプロセスから必要な状態またはプロセスに変化させる（異常の消去）ことによって、システムを復元させることができる。この場合、必要な状態またはプロセスは、ＦＵＲＰＳ＋分類に従って、システムに関する要件に合致する。２つ以上の復元方法を検出することができ、この場合、基本素子のユーザのプロファイルに基づいて、決定的な方法が選択される。前記プロファイルは、性別、年齢、位置、市場でのクラス、購買力（支払い能力）、ＩＴに関する知識レベルなど、様々な特性を含んでいてもよい。
【００４８】
最終ステップ３６０において、復元方法のモデルを照会した結果として見つけた復元方法の機能を実現して、第三者の互換性のあるコンポーネントを選択する（一般的な場合、前記方法によって、コンポーネントの代わりに製品を選択する可能性がある）。モデルとデータベースの両方を、上記選択のために使用してもよく、その場合、復元方法の名前は、復元方法を確実に実現するコンポーネントに対応する。復元方法の場合と同様、２つ以上の復元コンポーネントが使用可能であり、この場合、コンポーネントはユーザのプロファイルに基づいて選択される。さらに、復元コンポーネントのメーカー（ベンダー）の評判を考慮に入れてもよい。選択したコンポーネントを、システムにおいて様々な方法によって実施することができる。ソフトウェア用の前記方法の１つは、クライアントのインストールモジュールによってソフトウェアをインストールすることである。システムまたは手段の仕様の分析に基づいて、互換性を決定する。
【００４９】
特定の例において、復元方法を識別しなくてもよく（ステップ３４０および３５０をスキップする）、異常に関する情報に基づいて、手段を識別する。この場合、ステップ３３０の実施後、ステップ３６０に進む。
【００５０】
上記方法を、システム２００によって、異なる方法で、実行してもよい（図３Ｂ参照）。ステップ３１０〜３３０で、上記方法を繰り返し、その後、分岐が始まる。異常の関数を有する素子またはシステムのパラメータによって少なくとも特徴付けられる異常を検出した後、ステップ３４０аにおいて、利用可能な第三者手段のデータベースまたは少なくとも１つのコンポーネントに関する情報を得る。次に、ステップ３２０аにおいて、ステップ３１０で収集したパラメータのセットを用いて、システムの状態モデルをもう一度照会するが、このパラメータのセットにおいて、異常の関数を有するシステムのパラメータを、利用可能な第三者手段のデータベースからの、コンポーネントの等価なパラメータに変換する。ステップ３３０аでは、状態モデルの照会に基づいて、少なくとも１つのコンポーネントを第三者手段のデータベースにおいて見つける。前記コンポーネントは、
・システムと互換性があり、かつ、
・交換パラメータとしての前記コンポーネントのパラメータを用いて状態モデルを照会する際に、異常が見つからない。
【００５１】
ステップ３３０аにおいて、上記基準を満たす、２つ以上のコンポーネントが見つかりうる。その場合、見つかったコンポーネントから、特定の例においては、ステップ３６０ｂで、たとえば、基本素子のユーザのプロファイル、および／または見つけた手段のメーカー／プロバイダの評判に基づいて、１つのコンポーネントを選択する。別の特定の例において、ユーザに対して、発見した全ての手段を通知する（まず、リストの格付けを行ってもよい）。選択された手段を、異常を識別するパラメータを有するシステムの素子を実現する手段の代わりに、または、その手段に加えて、インストールしてもよい。
【００５２】
理解を目的として、単純化した例（図４）について考察する。クライアント２２０（クライアントソフトウェア）を、ノートブック型コンピュータにインストールし、次に、ノートブック型コンピュータをルータに接続する。本発明の観点では、ノートブック型コンピュータは基本素子２１０であり、検査対象であるシステム１００を、他の素子であるルータとともに形成する。さらには、基本素子２１０はそれ自体、素子を含む。したがって、検査されるシステムの文脈においては、ノートブック型コンピュータはサブシステムである。クライアント２２０は、システムおよび素子のパラメータを収集する。この場合、前記素子は、少なくとも、セントラルプロセッサユニット、ＲＡＭ、不揮発性記憶装置（ＮＶＲＡＭ）、無線通信モジュール、およびルータである。本例において、ＮＶＲＡＭは、ソリッドステートドライブ（Solid  State  Drive：ＳＳＤ）によって実現され、一方、ルータは、ＷＰＡ２ソフトウェア暗号化を備えた外部ルータによって実現される。クライアント２２０は、以下のパラメータを収集する。
・ＮＶＲＡＭのＳＭＡＲＴ属性（Ｒｅａｌｌｏｃａｔｅｄ  Ｓｅｃｔｏｒ  Ｃｏｕｎｔなど）
・トラフィック暗号化に関するデータ（ｙｅｓ／ｎｏ、暗号化のタイプ）
・両方向におけるトラフィック量、トラフィック密度（単位時間当たりの量）
・チャネル速度
・ルータ信号パワー
・手段の仕様
・ＮＶＲＡＭ（タイプ（Ｔｙｐｅ）、量（Ｖａｌｕｅ）、フォームファクタ（ＦＦ）、インターフェース（Ｉｎｔｅｒｆａｃｅ））
・ルータ（ＷｉＦｉ（ＩＥＥＥ）基準、Ｗｉ−Ｆｉデバイスの周波数範囲（Ｓｐｅｃｔｒ）、ハードウェア暗号化支援（ＨＢＥ））
【００５３】
収集したパラメータをまとめて、以下の表に示す。この表から、ある時点での状態Ｓｎと、プロセスＳｎ？Ｓｎ＋１？…？Ｓｎ＋…とを得てもよい。
【００５４】
【表１】
2020166829.tif 000003
【００５５】
クライアント２２０の分析モジュール２４０は、収集したパラメータを用いてシステムの状態モデルを照会する。状態モデルを照会する分析モジュール２４０は、システム１００およびその素子の状態がシステムに関する要件に合致しているかどうかを評価する。本例においては、素子の異常な状態について説明する単純な論理モデルを使用する。
・IF  Vn<<Vk  or  Vn>>Vk  THEN  SPEED_DEGRは、ネットワークチャネルが劣化している状態を表す。
・IF  RSCn<RSCk<RSCm  WHERE  Tn<Tk<Tm  THEN  NVRAM_Sector_DEGRは、ディスク表面の経時変化故障の形式でＮＶＲＡＭが劣化していることを表す。これは、ディスク表面上の摩耗を証明するセクタ再配置操作数の増加によって示される。
・IF  RSC>20  THEN  NVRAM_FAULTは、再配置されたセクタの臨界値２０に達すると定義されるＮＶＲＡＭの故障を表す。
・IF  Pn>Pk>Pm  and  Pm<15  WHERE  Tn<Tk<Tm  THEN  POWER_DEGRは、信号パワーが低下している状態を表す。これは、信号レベルが臨界レベル１５ｄＢｍまで時間とともに低下していることによって示される。
【００５６】
モデルの照会の結果、下記の時点で、異常を発見する。
・時点Ｔ３において、ネットワークチャネルの劣化。
・時点Ｔ６において、ＮＶＲＡＭの劣化。
・時点Ｔ９において、ＮＶＲＡＭの故障。
・時点Ｔ５において、信号パワーの劣化。
【００５７】
劣化は、異常なプロセスであり、故障は、異常な状態である。異常に関する情報があると、復元方法のモデルを照会し（本例では、これも論理モデルを用いて表現する）、復元方法を決定する。
・IF  POWER_DEGR  THEN  AREA_EXTEND  信号パワーを回復するために、ルータの有効範囲の半径を拡張することを推奨する。
・IF  SPEED_DEGR  WHERE  ENCn=1  and  HBE1=0  THEN  HBE  (Hardware  Based  Encryption)  接続速度を回復するために、ハードウェア暗号化を支援することを推奨する。
・IF  SSD_FAULT  THEN  NVRAM  _CHANGE  素子を実現する手段を交換すること、すなわち本例においてはＳＳＤを交換することによって、ＮＶＲＡＭの故障を克服する。
・IF  ROM_Sector_DEGR  THEN  NVRAM  _CHANGE  or  BACKUP  素子を実現する手段がまだ運転中であるときに表面の劣化を識別した場合、手段の交換およびバックアップ複写の手配を検討することを推奨する。
【００５８】
復元方法を識別すると、推奨された復元方法を実現することができるコンポーネントが識別される。本明細書における例では、上記識別は、データベース２８３に問い合わせることによって行われる。前記データベースでは、復元方法に従って表が指定されている。さらに、推奨された方法を実現するだけでなく、検査対象であるシステムと互換性があるコンポーネントが選択される。そのために、検査対象であるシステムのパラメータに基づいて作成したある条件（オペレータＷＨＥＲＥ）を問い合わせに追加する。問い合わせた結果を、問い合わせとともに示す。
・SELECT  *  FROM  AREA_EXTEND  WHERE  Spectr=’2,4’  and  IEEE=’802.11n’  and  MaxV>80
・ＺＹＸＥＬ  ＷＲＥ２２０６
・Ｔｅｎｄａ  Ａ３００
・ＮＥＴＧＥＡＲ  ＥＸ２７００
・ＡＳＵＳ  ＲＰ−ＡＣ５１
・SELECT  *  FROM  HBE  WHERE  Spectr=’2,4’  and  IEEE=’802.11n’  and  MaxV_WPA2>80
・ＺＹＸＥＬ  ＮＢＧ−４１８Ｎ  ｖ２
・ＤＳＬ−Ｎ１６Ｕ
・ＭｉｋｒｏＴｉｋ  ｈＡＰ  ｍｉｎｉ
・SELECT  *  FROM  NVRAM_CHANGE  WHERE  Type=’SSD’  and  FF=’M.2’,  and  Interface=’PCIe3.0’  and  Value>128
・Ｉｎｔｅｌ  ６００ｐ
・Ｐａｔｒｉｏｔ  Ｈｅｌｌｆｉｒｅ
・Ｓａｍｓｕｎｇ  ９６０  ＥＶＯ
・SELECT  *  FROM  BACKUP  WHERE  Type=’Remote’  and  Value>128  and  (Trial=’Yes’  or  Free=’Yes’)  and  Period=’Day’  and  Scheme=’Incremental’
・Ａｃｒｏｎｉｓ  Ｄｉｓｋ  Ｄｉｒｅｃｔｏｒ  １２
・Ｖｅｅａｍ  Ａｇｅｎｔ  Ｆｒｅｅ
【００５９】
いくつかの態様において、２つ以上のコンポーネントを見つけてもよい。その後、ユーザの財政的支払い能力、ユーザのＩＴに関する知識レベル（全ての手段が容易にインストールされるというわけではない）、専門家を要請することに対するユーザの意欲、消費者間における解決策の知名度、メーカー／サプライヤの評判など、追加する特性を考慮に入れて、見つけた手段に、さらにフィルタをかける。
【００６０】
特定の例において、たとえば、モデルを始動させてすぐには、復元方法のモデルを照会しなくてもよい。
・IF  RSC>20  THEN  NVRAM_FAULTは、再配置されたセクタの臨界値２０に達すると定義されるＮＶＲＡＭの故障を表す。
【００６１】
データベース２８３に問い合わせることができ、この場合、表の属性は、上記例のように復元方法に相当するのではなく、異常に相当する。
・SELECT  *  FROM  NVRAM_FAULT  WHERE  Type=’SSD’  and  FF=’M.2’,  and  Interface=’PCIe3.0’  and  Value>128
【００６２】
異常を検出した後、図３Ｂで説明した方法を実行する場合、
・IF  RSC>20  THEN  NVRAM  _FAULT
【００６３】
システム１００と互換性のある、異常を識別するパラメータを有するシステム素子を実現することができる第三者コンポーネントに関する情報を取得する。
・SELECT  *  FROM  NVRAM  WHERE  Type=’SSD’  and  FF=’M.2’,  and  Interface=’PCIe3.0’  and  Value>128
【００６４】
見つけた互換性のあるコンポーネントのうち、置換パラメータとしてコンポーネントのパラメータを使用して状態モデル（IF  RSC>20  THEN  NVRAM_FAULT）を照会した際に異常（RSC>20==False）が見つからないコンポーネントを選択する。本例において、前記コンポーネントは、適切に機能する任意のコンポーネントであることは明らかであり、適切に機能するコンポーネントの特性は、再配置されたセクタがない、言い換えれば、そのような手段に対してRSC==0が成り立つ。
【００６５】
所定の要件に対応する質（特性）を備えた対象を求める探索において、システム２００を用いることができる。たとえば、欠員補充のための被雇用者、回答者（市場調査またはユーザインターフェース人間工学研究のためのフォーカスグループのメンバー）。過去に訓練したモデル（求人モデル）を用いて、前記探索を実施する。そのようなモデルは、多次元空間におけるクラスタであってもよく、この場合、各クラスタは、同様の質または特性を備えた対象についての説明（ハードウェア／ソフトウェアのパラメータのベクトルとして表されるものなど）を寄せ集める。たとえば、あるクラスタは、プログラミング言語Ｃ＋＋の若手開発者についての説明を寄せ集め、別のクラスタは、データ科学の専門家についての説明を寄せ集める。訓練したモデルの別の例は、専門家、たとえば、同じＣ＋＋の若手開発者またはデータ科学の専門家のクラスに対応する葉を有するツリーであってもよく、別のケースでは、サポートベクターメソッド（Support  Vector  Method：ＳＶＭ）、ニューラルネットワーク、エキスパートシステム、または機械学習の他の既知の方法を使用してもよい。また、葉も、専門家の特定のクラスに対応するのではなく、職歴または重要なスキルなど、専門家に関する一定要件に対応してもよい。
【００６６】
図５は、要件を満たすユーザを探索する方法を示す。ユーザに関する要件は、第三者によって決定され、ステップ５１０で説明する。ある仕様内において、任意の形式から（所定のデータフォーマットテンプレートによって構成された）厳密な形式に至るまで、様々な形式で、要件を説明してもよい。たとえばソフトウェア開発者に関するそのような要件は、下記のようなものであってもよい。開発経験（勤続年数、成功プロジェクトの数）、言語、規格、およびフレームワークのシンタックスの知識、ならびにライブラリなど。
【００６７】
次に、特定の例において、ステップ５２０で、説明を形式化し、モデルを構築する。このステップの最も重要な点は、ハードウェアとソフトウェアのパラメータに、前記説明からの要件を投影させること（特定の例においては、マッピングすること）にある。たとえば、３年間の勤務および経験は、下記のように変換される。３年の経歴の長さに対応するファイルの有無、そのファイルの数または開発環境で過ごした時間、専門リソースＧｉｔＨｕｂ（登録商標）またはＳｏｕｒｃｅＦｏｒｇｅ（登録商標）での発行（専門用語：コミット）の数、専門ツールキットの有無。フレームワークについての知識は、デバイス上のフレームワークの有無およびフレームワークへのアクセス頻度などに変換される。得られた投影から、モデルを形成することになる。
【００６８】
別の特定の例において、ステップ５２１において、既に完成しているモデルを、説明に対して選択する。要件の説明がない場合、または、説明が不完全である、たとえば、要件が、С＋＋のシニア開発者のポジションのみを含む場合に、上記選択は有効である。そのようなモデルを構築する方法を、図６に示す。ステップ３１０で、システムのハードウェアおよびソフトウェアのパラメータを収集し、モデルを、ステップ５２０で構築するか、またはステップ５２１で選択し、ユーザのスキルについての説明を、収集したパラメータを使用して照会し、そして、デバイスのユーザが要件に合致しているかどうかについて、ステップ３２０で評価する。デバイスのユーザが要件に合致する場合、この合致に関する情報を、第三者に送信するか、またはユーザ自身に通知する。
【００６９】
次に、過去にタグ付けしたデータに関して訓練されたモデルを用いて、ステップ５２０で、要件の形式化およびモデルの構築を行ってもよい。タグ付きのデータは、ユーザの属性が知られている、言い換えれば、ユーザが所有する要件が知られている、システムのハードウェアおよびソフトウェアのパラメータである。たとえば、ユーザは、５年の開発経験を有する、ＷｉｎｄｏｗｓおよびＬｉｎｕｘ（登録商標）におけるＣ＋＋開発者であり、Ｂｏｏｓｔ、関係データベース、Ｊｅｎｋｉｎｓを用いて作業することが分かっているとする。モデルを訓練する目的は、高いレベルの要件を、システムのハードウェアおよびソフトウェアのパラメータ（低いレベルの要件）と関連付けることである。
【００７０】
図６аは、形式化モデルを構築する方法を示す。ステップ６１０において、少なくとも１つのシステムのパラメータを取得する。ステップ６２０においては、システムユーザの特性を、システムの機能を実現する素子から収集する。ステップ６３０においては、形式化モデルを訓練する。この場合、訓練プロセスにおいて、システムユーザの少なくとも１つの特性を、訓練対象モデルに入力し、一方、出力値をシステムのハードウェアおよびソフトウェアのパラメータと比較する。前記特性は、前記システムのユーザに対応する（この方法の実施形態の変形例は、誤差逆伝播法である）。
【００７１】
図６ｂは、形式化モデルを構築する別の方法を示す。ステップ６１０では、少なくとも１つのシステムのパラメータを取得し、ステップ６２０では、システムユーザの特性を、システムの機能を実現する素子から収集し、ステップ６４０では、形式化モデルを、システムユーザの特性をシステムのパラメータと関連付けるために構築する。形式化モデルを訓練するために選択した方法とは関係なく、最終分析において、ユーザの特性を、対応するシステムのハードウェアおよびソフトウェアのパラメータ上に投影する。得たモデルを、それぞれ別個に用いても、集合させて用いてもよく、さらには、逆の順で機能させてもよい。
【００７２】
たとえば、５年の開発経験およびＢｏｏｓｔについての知識という要件が、開発者に関して作成される。このとき、特定の例において、使用されるモデルは、必要な経験を、どのパラメータがＢｏｏｓｔを用いた作業を示すかを識別するモデルとともに、対応するハードウェアおよびソフトウェアパラメータに投影する。識別したパラメータに基づき、ベクトルを多次元空間に配置する。これは、実際、求人モデルとなる。これらのベクトルと、ステップ３１０でユーザのシステムから収集したパラメータから得たベクトルとを比較する。別の例において、形式化モデルが意思決定木を構成する場合、ベクトルは構築されず、ステップ５２０において、ステップ３１０で収集したパラメータによって、モデルを照会する。
【００７３】
効率的に復元方法を公式化すること、および、それらの復元方法を実現するコンポーネントを選択することが必ずしも可能だとは限らない。復元方法のモデルを訓練するために、デバイスの状態の変化に関する統計を収集することが必要な場合がある。したがって、互換性のあるコンポーネントを識別する方法を実行するためには、異常な状態およびプロセスに対して復元方法を利用できない事態が偶然生じた場合、異常な状態およびプロセスに関する情報を保存することができる機構が必要となる。さらに、モデルを訓練するために異常に関する情報を保存し、モデルを利用する手段の作業有効性を高めることは、有用である。別の例において、コンポーネントの選択をサーバ側で実行する場合、システムが確実に最適に機能するためには、非同期モードでのクライアントへの応答を公式化することが望ましい。
【００７４】
図７は、コンポーネントの非同期選択の方法を示す。ステップ３１０において、システムの機能を実現する素子から、システムのパラメータを取得する。この場合、パラメータは、システムの少なくとも２つの状態または２つのプロセスについて説明する。次に、ステップ３２０では、取得したパラメータの値を用いて、システムの状態モデルを照会する。
【００７５】
モデルを照会した後、ステップ７１０において、システムの状態およびプロセスを、異常な状態およびプロセスと、正常な状態およびプロセスとに分割し（言い換えれば、状態とプロセスを異常の基準にしたがって寄せ集める）、これにより、同一のシステムに対して２群（２つのクラスタ）の状態および／またはプロセスを得て、その後、ステップ７２０において、異常なクラスタからのシステムの状態／プロセスのパラメータに基づいて、少なくとも１つのルールをコンポーネント選択のために公式化する。特定の例において、前記ルールは、システムで実施されると異常を除去するコンポーネントのパラメータを含むモデルを構成する。
【００７６】
最終ステップ７３０において、第三者コンポーネントを、公式化したルールに基づいて、コンポーネントのデータベースから選択する。選択したコンポーネントのパラメータを用いてシステムの状態モデルを照会すると、システムの状態が、異常なクラスタとはならない。特定の例において、素子またはシステムの異常な状態と、同じ素子またはシステムの正常な状態とを比較することによって、選択ルールを公式化する。前記比較に基づき、異常な状態の関数を有するパラメータを決定する。これらのパラメータを正常な状態に対応する値を用いて確立し、それらの値を保証できる手段を発見するための問い合わせを行う。
【００７７】
システム２００のモジュールは、実際の、デバイス、システム、コンポーネント、またはコンポーネントグループを示し、これらは、超小型集積回路（特定用途向け集積回路（Application  Specific  Integrated  Circuit：ＡＳＩＣ））もしくは書き替え可能ゲートアレイ（Field  Programmable  Gate  Array：ＦＰＧＡ）などのハードウェアを用いて、または、たとえば、マイクロプロセッサシステムと１組のプログラム命令の組み合わせなど、ソフトウェアとハードウェアとの組み合わせの形で、また、ニューロシナプティックチップに基づいて実現される。上記モジュールの機能を、もっぱらハードウェアによって実現してもよく、また、組み合わせの形で実現してもよい。この場合、ソフトウェアによって実現する機能もあれば、ハードウェアによって実現する機能もある。実施形態の変形例において、（図７で描写したような）汎用コンピュータのプロセッサ上で、コンポーネントを実施することができる。データベースは、可能な限りの方法で実現されてもよく、１つの物理的記憶媒体または様々な媒体に含まれていてもよく、また、近辺または遠隔に位置していてもよい。
【００７８】
図８は、コンピュータシステム２０を例証するブロック図であり、例示的な態様によって、互換性のあるコンポーネントの非同期選択のシステムおよび方法の態様を示す。なお、コンピュータシステム２０は、たとえば、上述したシステム１００に相当しうる。コンピュータシステム２０は、複数のコンピューティングデバイスの形をとってもよく、または１つのコンピューティングデバイスの形、たとえば、デスクトップコンピュータ、ノート型コンピュータ、ラップトップコンピュータ、モバイルコンピューティングデバイス、スマートフォン、タブレットコンピュータ、サーバ、メインフレーム、埋込み型デバイス、および他の形式のコンピューティングデバイスでもあり得る。
【００７９】
上述したように、コンピュータシステム２０は、中央処理装置（Central  Processing  Unit：ＣＰＵ）２１と、システムメモリ２２と、中央処理装置２１に関連するメモリを含む様々なシステムコンポーネントを接続するシステムバス２３と、を含む。システムバス２３は、バスメモリまたはバスメモリコントローラと、周辺バスと、他のバス方式と相互作用可能なローカルバスと、を含んでもよい。前記バスとして、たとえば、ＰＣＩ、ＩＳＡ、ＰＣＩ  Ｅｘｐｒｅｓｓ、ＨｙｐｅｒＴｒａｎｓｐｏｒｔ（登録商標）、ＩｎｆｉｎｉＢａｎｄ（登録商標）、Ｓｅｒｉａｌ  ＡＴＡ、Ｉ２Ｃ、および他の好適な相互接続が挙げられる。中央処理装置２１（プロセッサとも称する）は、１つまたは複数のコアを有する、１つまたは複数のプロセッサのセットを含みうる。プロセッサ２１は、本開示の技術を実行する、コンピュータ実行可能なコードを１つ以上実行してもよい。システムメモリ２２は、本明細書で使用するデータおよび／またはプロセッサ２１によって実行可能なコンピュータプログラムを保存するための、任意のメモリであってもよい。システムメモリ２２は、ランダムアクセスメモリ（Random  Access  Memory：ＲＡＭ）２５などの揮発性メモリ、読み出し専用メモリ（Read  Only  Memory：ＲＯＭ）２４やフラッシュメモリなどの不揮発性メモリ、またはこれらの組み合わせを含んでもよい。バイオス（Basic  Input  Output  System：ＢＩＯＳ）２６が、ＲＯＭ２４を用いてオペレーティングシステムをロードする時の手順など、コンピュータシステム２０の素子間における情報送信のための基本的な手順を保存してもよい。
【００８０】
コンピュータシステム２０は、１つ以上の記憶装置、たとえば、１つ以上の着脱可能な記憶装置２７、１つ以上の着脱不可能な記憶装置２８、またはそれらの組み合わせを含んでもよい。１つ以上の着脱可能な記憶装置２７および着脱不可能な記憶装置２８は、ストレージインターフェース３２を介して、システムバス２３に接続されている。一態様において、記憶装置および対応するコンピュータ可読記憶媒体は、コンピュータシステム２０の、コンピュータ命令、データ構造、プログラムモジュール、および他のデータを保存するための電源非依存のモジュールである。システムメモリ２２、着脱可能な記憶装置２７、および着脱不可能な記憶装置２８は、様々なコンピュータ可読記憶媒体を使用してもよい。コンピュータ可読記憶媒体として、たとえば、キャッシュ、スタティックラム（Static  Random  Access  Memory：ＳＲＡＭ）、ダイナミックラム（Dynamic  Random  Access  Memory：ＤＲＡＭ）、零点コンデンサＲＡＭ、ツイントランジスタＲＡＭ、ｅＤＲＡＭ（Enhanced  Dynamic  Random  Access  Memory）、ＥＤＯ  ＲＡＭ（Extended  Data  Output  Random  Access  Memory）、ＤＤＲ  ＲＡＭ（Double  Data  Rate  Random  Access  Memory）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read-Only  Memory）、ＮＲＡＭ（Nanotube  Random  Access  Memory）、ＲＲＡＭ（Resistive  Random  Access  Memory）、ＳＯＮＯＳ（Silicon  Oxide  Nitride  Oxide  Semiconductor）型メモリ、またはＰＲＡＭ（Phase-change  Random  Access  Memory）などの機械メモリと、フラッシュメモリ、またはソリッドステートドライブ（ＳＳＤ）もしくはフラッシュドライブにおける他のメモリ技術と、磁気カセット、磁気テープ、および、ハードディスクドライブまたはフロッピーディスクなどにおける磁気ディスク記憶装置と、コンパクトディスク（ＣＤ−ＲＯＭ）またはディジタル多用途ディスク（Digital  Versatile  Disk：ＤＶＤ）における光学記憶装置と、所望データを保存するために使用してもよく、コンピュータシステム２０によってアクセス可能な他の媒体とが挙げられる。
【００８１】
コンピュータシステム２０の、システムメモリ２２、着脱可能な記憶装置２７、および着脱不可能な記憶装置２８を使用して、オペレーティングシステム３５、付加的プログラムアプリケーション３７、他のプログラムモジュール３８、およびプログラムデータ３９を保存してもよい。コンピュータシステム２０は、キーボード、マウス、スタイラス、ゲームコントローラ、音声入力装置、タッチ入力装置などの入力装置４０、または、プリンタもしくはスキャナーなどの他の周辺機器から、シリアルポート、パラレルポート、ユニバーサルシリアルバス（Universal  Serial  Bus：ＵＳＢ）、他の周辺インターフェースなどの１つ以上のＩ／Ｏポートを介してデータを伝達するための周辺インターフェース４６を含んでもよい。１つ以上のモニタ、プロジェクタ、または統合ディスプレイなどの表示装置４７もまた、ビデオアダプタなどの出力インターフェース４８を介してシステムバス２３に接続してもよい。表示装置４７に加えて、コンピュータシステム２０は、スピーカおよび他の視聴覚装置など、他の周辺出力装置（図示せず）を備えていてもよい。
【００８２】
コンピュータシステム２０は、１つ以上のリモートコンピュータ４９とのネットワーク接続を用いて、ネットワーク環境で操作してもよい。リモートコンピュータ（単数または複数）４９は、コンピュータシステム２０の特徴を説明した際の上記素子のほとんどまたは全てを含む、ローカルコンピュータワークステーションまたはサーバであってもよい。他のデバイスは、ルータ、ネットワークステーション、ピア接続の機器、または他のネットワークノードなど、コンピュータネットワーク内にあってもよいが、これらに限定されない。コンピュータシステム２０は、ローカルエリアコンピュータネットワーク（Local-Area  Computer  Network：ＬＡＮ）５０、ワイドエリアコンピュータネットワーク（Wide-Area  Computer  Network：ＷＡＮ）、イントラネット、およびインターネットなどの１つ以上のネットワークを介してリモートコンピュータ４９と通信するための、１つ以上のネットワークインターフェース５１またはネットワークアダプタを含んでもよい。ネットワークインターフェース５１として、たとえば、イーサネットインターフェース、フレームリレーインターフェース、ＳＯＮＥＴインターフェース、および無線インターフェースが挙げられる。
【００８３】
本開示の態様は、システム、方法、および／またはコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、本開示の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体（単数または複数）を含んでもよい。
【００８４】
コンピュータ可読記憶媒体は、コンピューティングシステム２０などコンピューティングデバイスのプロセッサがアクセス可能な、命令またはデータ構造の形式のプログラムコードを保持かつ保存することができる有形の装置であり得る。コンピュータ可読記憶媒体は、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、またはこれらの好適な任意の組合せであってもよい。たとえば、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ（Portable  Compact  Disc  Read-Only  Memory）、ＤＶＤ、フラッシュメモリ、ハードディスク、ポータブルコンピュータディスケット、メモリスティック、フロッピーディスク、またはさらに、命令を記録する溝における穿孔カードもしくは浮出し構造などの機械的符号化デバイスまでも含みうる。本明細書において、コンピュータ可読記憶媒体は、それ自体が一時的な信号、たとえば、電波もしくは他の自由に伝播する電磁波、導波管か伝送媒体を介して伝播する電磁波、またはワイヤを介して送信される電気信号などであるように解釈することはできない。
【００８５】
本明細書に記載したコンピュータ可読プログラム命令はそれぞれ、コンピュータ可読記憶媒体から、対応するコンピューティングデバイスに、または外部コンピュータもしくは外部記憶装置に、ネットワーク、たとえば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および／または無線ネットワークを介して、ダウンロードすることができる。前記ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および／またはエッジサーバを含んでもよい。各コンピューティングデバイスのネットワークインターフェースは、前記ネットワークから、コンピュータ可読プログラム命令を受信し、対応するそれぞれのコンピューティングデバイス内のコンピュータ可読記憶媒体に保存するためのコンピュータ可読プログラム命令を転送する。
【００８６】
本開示の操作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（Instruction  Set  Architecture：ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、オブジェクト指向プログラミング言語および従来の手続型プログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードもしくはオブジェクトコードのいずれかであってもよい。コンピュータ可読プログラム命令は、独立型のソフトウェアパッケージとして、全てをユーザコンピュータ上で実行してもよく、部分的にユーザコンピュータ上で実行してもよく、また、部分的にユーザコンピュータ上で、かつ部分的にリモートコンピュータ上で実行してもよく、または、全てをリモートコンピュータまたはサーバ上で実行してもよい。後者のシナリオにおいては、リモートコンピュータは、ＬＡＮもしくはＷＡＮを含む任意のタイプのネットワークを介してユーザコンピュータに接続してもよく、または、外部コンピュータに（たとえば、インターネットを介して）接続してもよい。いくつかの態様において、たとえば、プログラマブルロジック回路、ＦＰＧＡ、またはプログラマブルロジックアレイ（Programmable  Logic  Array：ＰＬＡ）を含む電子回路が、本開示の態様を実施するために、電子回路を個別化するためのコンピュータ可読プログラム命令の状態情報を利用して、コンピュータ可読プログラム命令を実行してもよい。
【００８７】
様々な実施形態において、本開示に記載したシステムおよび方法を、モジュールとして実装することができる。本明細書において、用語「モジュール」は、実世界の機器、コンポーネント、または、コンポーネント配置であり、これらは、たとえば、ＡＳＩＣもしくはＦＰＧＡなどによって、ハードウェアを用いて実装されるか、または、たとえば、モジュールの機能を実行するマイクロプロセッサシステムおよび命令セットなど、ハードウェアとソフトウェアの組み合わせとして実装される。上記ハードウェアやハードウェアとソフトウェアの上記組み合わせは、（実行中に）マイクロプロセッサシステムを特定目的の機器に変換する。モジュールは、ハードウェア単体により促進される機能と、ハードウェアとソフトウェアの組み合わせによって促進される別の機能という２つの組み合わせとして実装されてもよい。ある実装において、モジュールの少なくとも一部、場合によっては、モジュールの全てを、コンピュータシステムのプロセッサ（図６においてより詳細に記載したものなど）上で実行してもよい。したがって、各モジュールを様々な好適な構成で実現してもよく、本明細書に例示した特定の実装に限定されるものではない。
【００８８】
なお、態様の通常の機能のうちの全てを本明細書において開示しているわけではない。本開示のいずれの実際の実装を開発する場合において、開発者の具体的な目標を達成するためには多くの実装に固有の決定が必要であり、これらの具体的な目標は実装および開発者ごとに異なることに留意されたい。そのような開発努力は、複雑で時間を要するものであるが、本開示の利益を享受し得る当業者にとってはエンジニアリングの日常の業務であると理解されたい。
【図１】
2020166829.tif 000004
【図２Ａ】
2020166829.tif 000005
【図２Ｂ】
2020166829.tif 000006
【図３Ａ】
2020166829.tif 000007
【図３Ｂ】
2020166829.tif 000008
【図４】
2020166829.tif 000009
【図５】
2020166829.tif 000010
【図６Ａ】
2020166829.tif 000011
【図６Ｂ】
2020166829.tif 000012
【図７】
2020166829.tif 000013
【図８】
2020166829.tif 000014
【外国語明細書】
2020166829000001.pdf