(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-28
(45)【発行日】2024-04-05
(54)【発明の名称】認証可能なソフトウェアと適格性評価可能なソフトウェアとの組み合わせを通じたコンピュータシステムの信頼性
(51)【国際特許分類】
G06F 11/07 20060101AFI20240329BHJP
【FI】
G06F11/07 151
G06F11/07 140R
【外国語出願】
(21)【出願番号】P 2019218521
(22)【出願日】2019-12-03
【審査請求日】2022-11-29
(32)【優先日】2018-12-04
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500520743
【氏名又は名称】ザ・ボーイング・カンパニー
【氏名又は名称原語表記】The Boeing Company
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】サンダーズ-リード, ジョン ニューウェル
【審査官】坂庭 剛史
(56)【参考文献】
【文献】米国特許第10095230(US,B1)
【文献】VANMALI, Meenakshi et al.,"Using a neural network in the software testing process",International Journal of Intelligent Systems [online],Vol. 17,No. 1,ResearchGate,2002年01月,p. 45-62,[2023年10月26日検索],インターネット<URL:https://www.researchgate.net/publication/220063934_Using_a_neural_network_in_the_software_testing_process>,DOI:10.1002/int.1002
【文献】WANG, Xufeng et al.,"Drogue detection for autonomous aerial refueling based on convolutional neural networks",Chinese Journal of Aeronautics [online],Vol. 30,No. 1,ResearchGate,2016年12月,p. 380-390,[2023年10月26日検索],インターネット<URL:https://www.researchgate.net/publication/311809453_Drogue_detection_for_autonomous_aerial_refueling_based_on_convolutional_neural_networks>,DOI:10.1016/j.cja.2016.12.022
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
G06F 11/30-11/36
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータ可読プログラムコード(406)を記憶するように構成されたメモリ(404)、並びに、
前記メモリにアクセスし、且つ前記コンピュータ可読プログラムコードを実行するように構成された処理回路(402
)
を備えるコンピュータシステム(400)であって、
前記処理回路が前記コンピュータ可読プログラムコードを実行することによって、前記コンピュータシステムに少なくとも、
入力データを処理して、出力であって、前記コンピュータシステムが前記出力に基づいて動作するように構成された出力を生成するために、シーケンシャルに実行される静的なプログラム命令からなる、認証可能なソフトウェアアプリケーションを実行すること(302)であって、前記認証可能なソフトウェアアプリケーションが、ある認証基準に従っ
て前記コンピュータシステムに対して認証可能である、認証可能なソフトウェアアプリケーションを実行すること(302)と、
前記認証可能なソフトウェアアプリケーションの実行中に、適格性評価可能なソフトウェアアプリケーションを実行すること(304)であって、前記適格性評価可能なソフトウェアアプリケーションが、
前記入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを用いて反復してビルドされたモデルを用い、前記適格性評価可能なソフトウェアアプリケーションが、前記認証基準に従っ
て前記コンピュータシステムに対して認証不可能である、適格性評価可能なソフトウェアアプリケーションを実行すること(304)と、
前記認証可能なソフトウェアアプリケーションからの前記出力を検証するために、前記適格性評価可能なソフトウェアアプリケーションからの対応する出力と比較することによって、前記認証可能なソフトウェアアプリケーションからの前記出力をクロスチェック(306)し、それによって前記コンピュータシステムの信頼性を向上することと、
前記比較によって、前記出力が、前記対応する出力か
ら閾値を超え
て異なっていることが示された場合には
、前記認証可能なソフトウェアアプリケーションからの前記出力が検証されていな
いという警告を生成すること(308)と、
を行わ
せ、
前記認証可能なソフトウェアアプリケーションからの前記出力は、前記比較によって、当該出力が、前記適格性評価可能なソフトウェアアプリケーションからの前記対応する出力から前記閾値を超えない範囲内で異なっていることが示された場合に、検証され、
前記メモリ(404)が、前記処理回路(402)が実行することによって、前記コンピュータシステムにさらに少なくとも、
前記出力であって、前記コンピュータシステムが前記出力に基づいて動作するように構成された前記出力に基づいて、且つ前記適格性評価可能なソフトウェアアプリケーションからの前記対応する出力は除いて、動作(310)させる
ように構成されたさらなるコンピュータ可読プログラムコード(406)を記憶している、コンピュータシステム(400)。
【請求項2】
前記メモリ(404)が、前記処理回路(402)が実行することによって、前記コンピュータシステムにさらに少なくとも、
前記出力と前記対応する出力とから結合出力を生成することと、
前記結合出力に基づいて動作することと、
を行わせるように構成されたさらなるコンピュータ可読プログラムコード(406)を記憶している、請求項
1に記載のコンピュータシステム(400)。
【請求項3】
前記コンピュータシステムが、前記認証可能なソフトウェアアプリケーションを実行し(302)、且つ前記適格性評価可能なソフトウェアアプリケーションを実行する(304)ようにさせられていることが、前記コンピュータシステムが、前記出力と前記対応する出力に関するそれぞれの性能指数を生成するようにさせられていることをさらに含み、
前記コンピュータシステムが前記結合出力を生成するようにさ
せられていることが、前記それぞれの性能指数によって重みづけされた前記出力及び前記対応する出力をカルマンフィルタ処理するようにさせられていることを含む、請求項
2に記載のコンピュータシステム(400)。
【請求項4】
前記メモリ(404)が、さらなるコンピュータ可読プログラムコード(406)を記憶しており、前記処理回路(402)が
、前記
さらなるコンピュータ可読プログラムコードを実行することによって、前記コンピュータシステム(400)にさらに少なくとも、
前記認証可能なソフトウェアアプリケーション及び前記適格性評価可能なソフトウェアアプリケーションが実行される際に、第3のソフトウェアアプリケーションを実行することであって、前記第3のソフトウェアアプリケーションが、第2の認証可能なまたは適格性評価可能なソフトウェアアプリケーションであり、前記第3のソフトウェアアプリケーションが、前記入力データを処理して第2の対応する出力を生成するために実行される、第3のソフトウェアアプリケーションを実行するこ
と
を行わせ
るように構成されており、
前記コンピュータシステムが、前記出力をクロスチェックする(306)ようにさせられていることが、前記対応する出力及び前記第2の対応する出力との比較によって、前記認証可能なソフトウェア
アプリケーションからの前記出力をクロスチェックするようにさせられていることを含み、
前記コンピュータシステムが、警告を生成する(308)ようにさせられていることが、前記比較によって、前記出力が、前記対応する出力及び前記第2の対応する出力の両方か
ら前記閾値を超え
て異なっていることが示された場合には
、前記認証可能なソフトウェア
アプリケーションからの前記出力が検証されていな
いという警告を生成するようにさせられていることを含む、
請求項1から
3のいずれか一項に記載のコンピュータシステム(400)。
【請求項5】
前記コンピュータシステムが、航空機であって、前記航空機の標的を規定するハブに向かって移動中である航空機の、航空電子工学システムであり、前記認証可能なソフトウェアアプリケーションが、認証可能な物体検出アプリケーションであり、前記適格性評価可能なソフトウェアアプリケーションが、適格性評価可能な物体検出アプリケーションであり、
前記コンピュータシステムが、前記認証可能なソフトウェアアプリケーションを実行する(302)ようにさせられていることが、前記認証可能な物体検出アプリケーションを実行して、前記ハブの画像を処理し、前記画像中に前記標的が検出されている出力を生成するようにさせられていることを含み、
前記コンピュータシステムが、前記適格性評価可能なソフトウェアアプリケーションを実行する(304)ようにさせられていることが、前記適格性評価可能な物体検出アプリケーションを実行して、前記ハブの前記画像を処理し、前記画像中に標的が検出されている対応する出力を生成するようにさせられていることを含み、
前記コンピュータシステムが、前記出力をクロスチェックする(306)ようにさせられていることが、前記認証可能な物体検出アプリケーションからの前記出力を検証するために、前記対応する出力と比較することによって、前記出力をクロスチェックするようにさせられていることを含む、
請求項1から
4のいずれか一項に記載のコンピュータシステム(400)。
【請求項6】
前記認証可能な物体検出アプリケーションからの前記出力
は、前記比較によって、
当該出力が
、前記航空機と前記ハブとの間の距離と共に減少する前記閾値を超えない範囲
で前記対応する出力から異なっていることが示された場合には、検証される、請求項
5に記載のコンピュータシステム(400)。
【請求項7】
コンピュータシステム(400)の信頼性を向上するための方法(300)であって、前記コンピュータシステムが、
入力データを処理して、出力であって、前記コンピュータシステムが前記出力に基づいて動作するように構成された出力を生成するために、シーケンシャルに実行される静的なプログラム命令からなる、認証可能なソフトウェアアプリケーションを実行すること(302)であって、前記認証可能なソフトウェアアプリケーションが、ある認証基準に従っ
て前記コンピュータシステムに対して認証可能である、認証可能なソフトウェアアプリケーションを実行すること(302)と、
前記認証可能なソフトウェアアプリケーションの実行中に、適格性評価可能なソフトウェアアプリケーションを実行すること(304)であって、前記適格性評価可能なソフトウェアアプリケーションが、
前記入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを用いて反復してビルドされたモデルを用い、前記適格性評価可能なソフトウェアアプリケーションが、前記認証基準に従っ
て前記コンピュータシステムに対して認証不可能である、適格性評価可能なソフトウェアアプリケーションを実行すること(304)と、
前記認証可能なソフトウェアアプリケーションからの前記出力を検証するために、前記適格性評価可能なソフトウェアアプリケーションからの前記対応する出力と比較することによって、前記認証可能なソフトウェアアプリケーションからの前記出力をクロスチェック(306)し、それによって前記コンピュータシステムの信頼性を向上することと、
前記比較によって、前記出力が、前記対応する出力か
ら閾値を超え
て異なっていることが示された場合には
、前記認証可能なソフトウェアアプリケーションからの前記出力が検証されていな
いという警告を生成すること(308)と、
を行うことを含
み、
前記認証可能なソフトウェアアプリケーションからの前記出力は、前記比較によって、当該出力が、前記適格性評価可能なソフトウェアアプリケーションからの前記対応する出力から前記閾値を超えない範囲内で異なっていることが示された場合に、検証され、前記方法は、前記コンピュータシステムが、
前記出力であって、前記コンピュータシステムが前記出力に基づいて動作するように構成された前記出力に基づいて、且つ前記適格性評価可能なソフトウェアアプリケーションからの前記対応する出力は除いて、動作すること(310)
をさらに含む、コンピュータシステム(400)の信頼性を向上するための方法(300)。
【請求項8】
前記方法
は、前記コンピュータシステムが、
前記出力と前記対応する出力とから、結合出力を生成することと、
前記結合出力に基づいて動作することと
をさらに含む、請求項
7に記載の方法(300)。
【請求項9】
前記認証可能なソフトウェアアプリケーションを実行すること(302)と、前記適格性評価可能なソフトウェアアプリケーションを実行すること(304)とが、前記出力及び前記対応する出力に関するそれぞれの性能指数を生成することをさらに含み、
前記結合出力を生成することが、前記それぞれの性能指数によって重みづけされた前記出力と前記対応する出力とに対して、カルマンフィルタ処理を行うことを含む、請求項
8に記載の方法(300)。
【請求項10】
前記認証可能なソフトウェアアプリケーション及び前記適格性評価可能なソフトウェアアプリケーションが実行される際に、第3のソフトウェアアプリケーションを実行することであって、前記第3のソフトウェアアプリケーションが、第2の認証可能なまたは適格性評価可能なソフトウェアアプリケーションであり、前記第3のソフトウェアアプリケーションが、前記入力データを処理して第2の対応する出力を生成するために実行される、第3のソフトウェアアプリケーションを実行することをさらに含
み、
前記出力をクロスチェックすること(306)が、前記対応する出力及び前記第2の対応する出力との比較によって、前記認証可能なソフトウェア
アプリケーションからの前記出力をクロスチェックすることを含み、
前記警告を生成すること(308)が、前記比較によって、前記出力が、前記対応する出力及び前記第2の対応する出力の両方か
ら前記閾値を超え
て異なっていることが示された場合に
は、前記認証可能なソフトウェア
アプリケーションからの前記出力が検証されていな
いという警告を生成することを含む、
請求項
7から
9のいずれか一項に記載の方法(300)。
【請求項11】
前記コンピュータシステムが、航空機であって、前記航空機の標的を規定するハブに向かって移動中である航空機の、航空電子工学システムであり、前記認証可能なソフトウェアアプリケーションが、認証可能な物体検出アプリケーションであり、前記適格性評価可能なソフトウェアアプリケーションが、適格性評価可能な物体検出アプリケーションであり、
前記認証可能なソフトウェアアプリケーションを実行すること(302)が、前記認証可能な物体検出アプリケーションを実行して、前記ハブの画像を処理し、前記画像中に前記標的が検出されている出力を生成することを含み、
前記適格性評価可能なソフトウェアアプリケーションを実行すること(304)が、前記適格性評価可能な物体検出アプリケーションを実行して、前記ハブの画像を処理し、前記画像中に前記標的が検出されている対応する出力を生成することを含み、
前記出力をクロスチェックすること(306)が、前記認証可能な物体検出アプリケーションからの前記出力を検証するために、前記対応する出力と比較することによって、前記出力をクロスチェックすることを含む、
請求項
7から
10のいずれか一項に記載の方法(300)。
【請求項12】
前記認証可能な物体検出アプリケーションからの前記出力
は、前記比較によって、
当該出力が
、前記航空機と前記ハブとの間の距離と共に減少する前記閾値を超えない範囲
で前記対応する出力から異なっていることが示された場合に、検証される、請求項
11に記載の方法(300)。
【請求項13】
コンピュータ可読記憶媒体(404)であって、非一過性であり、且つコンピュータ可読プログラムコード(406)が内部に記憶されており、前記コンピュータ可読プログラムコード(406)が、処理回路(402)による実行に応答してコンピュータシステム(400)に、請求項7から12のいずれか一項に記載の方法(300)を実施させる、コンピュータ可読記憶媒体(404)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、コンピュータシステムに関する。具体的には、コンピュータシステムの信頼性(integrity)を向上させるための、認証可能な(certifiable)ソフトウェアと適格性評価可能な(qualifiable)ソフトウェアとの組み合わせに関する。
【背景技術】
【0002】
航空宇宙産業といった多くの産業において、高信頼性は必須である。これらの産業の多くにとって、ソフトウェアが満たさなければならない様々な認証基準や保証水準が存在する。航空宇宙産業においては、航空無線技術委員会(RTCA)によって公表されている要件DO-178が、ソフトウェア/ハードウェアシステム用の、数々の異なる、航空機関連の認証水準を提供している。認証は、ソフトウェアが、正確に且つ設計どおりにのみ動作するのを、確実にすることを意図している。このことは、しばしば、認証可能なオペレーティングシステム(OS)と、高レベルのコードを機械語へと正確に変換することを確実にするコンパイラとから始まることを意味する。次にアプリケーションコードが、行単位でテストされ、検査される。しかし、これさえも、結果が意図どおりになることは意味していない。
【0003】
この問題の好例の1つは、画像処理である。多くの高信頼性システムが、良好に特性評価され得る1つまたは2つの時変信号によって動作するが、映像システムは、本質的にもっと複雑なものである。入力イメージ(映像)は、何百万というピクセルを含む。その結果の1つとして、あらゆる可能な入力を完全に特性評価することは、極端に困難である。あらゆる画像処理または映像処理のアルゴリズムが全ての条件下において「適切な」結果を返すのを確実にすることも同様に困難であり、このソフトウェアが別様に認証可能である場合でさえ、そうである。この不確実性をしばしば軽減する1つの方法は、訓練された(適格性評価された)作業人員が監視を行うことである。
【0004】
(飛行制御システムといった)特定の高信頼性のコンテクストでは、同じ入力に基づいて同じソフトウェアを実行する、並列で且つ独立した、しかし同一である、複数の(しばしば3つの)コンピュータを設けることによって、さらなる信頼性を得ることができる。このケースでは、各出力は正確に一致することが予期されており、各出力に対する比較操作は、全てのコンピュータが同一の結果を生成するのを確実にするために使用される。
【0005】
機械学習ベースの人工知能(AI/ML)は、根本的に異なるアプローチを採る。ある実施例では、AI/MLソフトウェアは、ラベル付けされたデータセット例で訓練された、マルチレイヤー・マルチノードの「ニューラルネット」を実装する。学習システムは、正しい結果を提供するトポロジーを「学習」するために、ノード間の接続を調整する。これらのシステムは、その挙動が固定されて進化していかないように、「凍結」することができる。しかし、認証可能なシステムに関して行われているように線形的な実行スレッドを辿ることは、なお実現不可能である。その結果、これらの強力なシステムは、現状では認証不可能である。「高信頼性の用途においてどのようにこれらのシステムを利用するか」を含む現在の議論は、人間が様々なシナリオにおける訓練及び試験/評価を通じて「適格性評価される」のと同様に、システムを「適格性評価する」という考え方を伴う。しかし、高信頼性が要求されるシステムにおいては、この手法はまだ容認可能でない。
【0006】
したがって、上記の問題の少なくとも一部と共に、起こり得るその他の問題も考慮に入れた、システム及び方法を得ることが望ましい。
【発明の概要】
【0007】
本開示の例示的な実施形態は、コンピュータシステムの信頼性向上のための、認証可能なソフトウェアと適格性評価可能なソフトウェアとの組み合わせを対象にしている。具体的には、ある例示的な実施形態は、認証可能なソフトウェアをクロスチェックするために認証不可能な機械学習ソフトウェアを利用し、それによってコンピュータシステムの信頼性を向上させる。ある実施例では、認証可能なソフトウェアの出力は、単に、適格性評価可能なソフトウェアの対応する出力によってクロスチェックされてよい。
【0008】
ある実施例では、出力とこれに対応する出力とが結合されて、結合出力が生成されてよく、それによって、コンピュータシステムの信頼性が向上するばかりでなく、頑健性もまた向上する。この点に関し、異なるソフトウェアは、それぞれの性能指数を有する、同様ではあるがわずかに異なる出力を提供し得る。複数の出力が十分な程度まで一致する場合、これらの出力は、(性能指数によって)重みづけされ、(例えばカルマンフィルタにおいて)結合されて、性能の向上を提供し得る。
【0009】
ゆえに本開示は、下記の例示的な実施形態を含むが、それらに限定されるわけではない。
【0010】
ある例示的な実施形態は、コンピュータシステムを提供する。方法は、コンピュータシステムが、入力データを処理して、出力であって、このコンピュータシステムがこの出力に基づいて動作するように構成された出力を生成するために、シーケンシャルに実行される静的なプログラム命令からなる、認証可能なソフトウェアアプリケーションを実行することであって、認証可能なソフトウェアアプリケーションが、ある認証基準に従ったコンピュータシステムに対して認証可能である、認証可能なソフトウェアアプリケーションを実行することと、認証可能なソフトウェアアプリケーションの実行中に、適格性評価可能なソフトウェアアプリケーションを実行することであって、適格性評価可能なソフトウェアアプリケーションが、入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを用いて反復してビルドされたモデルを用い、適格性評価可能なソフトウェアアプリケーションが、上記認証基準に従ったコンピュータシステムに対して認証不可能である、適格性評価可能なソフトウェアアプリケーションを実行することと、認証可能なソフトウェアアプリケーションからの出力を検証するために、適格性評価可能なソフトウェアアプリケーションからの対応する出力と比較することによって、認証可能なソフトウェアアプリケーションからの出力をクロスチェックし、それによってコンピュータシステムの信頼性を向上することと、上記比較によって、認証可能なソフトウェアアプリケーションからの出力が、対応する出力から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアアプリケーションからの出力が検証されていない」という警告を生成することと、を含む。
【0011】
上記の例示的な実施形態のうちのいずれかの方法による例示的な実施形態、または上記のいずれかの例示的な実施形態のいずれかの組み合わせにおいては、認証可能なソフトウェアアプリケーションからの出力は、上記比較によって、この出力が、適格性評価可能なアプリケーションからの対応する出力から「ある閾値を超えない範囲内で」異なっていることが示された場合に、検証され、方法は、コンピュータシステムが、出力であって、このコンピュータシステムが、この出力に基づいて動作するように構成された出力に基づいて、且つ適格性評価可能なソフトウェアアプリケーションからの対応する出力は除いて、動作することをさらに含む。
【0012】
上記の例示的な実施形態のうちのいずれかの方法による例示的な実施形態、または上記のいずれかの例示的な実施形態のいずれかの組み合わせにおいては、認証可能なソフトウェアアプリケーションからの出力は、上記比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの対応する出力から「ある閾値を超えない範囲で」異なっていることが示された場合に、検証され、方法は、コンピュータシステムが、出力と対応する出力とから結合出力を生成することと、この結合出力に基づいて動作することとをさらに含む。
【0013】
上記の例示的な実施形態のうちのいずれかの方法による例示的な実施形態、または上記のいずれかの例示的な実施形態のいずれかの組み合わせにおいては、認証可能なソフトウェアアプリケーションを実行することと、適格性評価可能なソフトウェアアプリケーションを実行することとは、出力及び対応する出力に関するそれぞれの性能指数を生成することをさらに含み、結合出力を生成することは、それぞれの性能指数によって重みづけされた出力と対応する出力とに対して、カルマンフィルタ処理を行うことを含む。
【0014】
上記の例示的な実施形態のうちのいずれかの方法による例示的な実施形態、または上記のいずれかの例示的な実施形態のいずれかの組み合わせにおいては、認証可能なソフトウェアアプリケーション及び適格性評価可能なソフトウェアアプリケーションが実行される際に、第3のソフトウェアアプリケーションが実行され、第3のソフトウェアアプリケーションは、第2の認証可能なまたは適格性評価可能なソフトウェアアプリケーションであり、第3のソフトウェアアプリケーションは、入力データを処理して第2の対応する出力を生成するために実行され、出力をクロスチェックすることは、対応する出力及び第2の対応する出力との比較によって、認証可能なソフトウェアからの出力をクロスチェックすることを含み、警告を生成することは、上記比較によって、認証可能なソフトウェアからの出力が、対応する出力及び第2の対応する出力の両方から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアからの出力が検証されていない」という警告を生成することを含む。
【0015】
上記の例示的な実施形態のうちのいずれかの方法による例示的な実施形態、または上記のいずれかの例示的な実施形態のいずれかの組み合わせにおいては、コンピュータシステムは、航空機であって、この航空機の標的を規定するハブに向かって移動中である航空機の、航空電子工学システムであり、認証可能なソフトウェアアプリケーションは、認証可能な物体検出アプリケーションであり、適格性評価可能なソフトウェアアプリケーションは、適格性評価可能な物体検出アプリケーションである。認証可能なソフトウェアアプリケーションを実行することは、認証可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている出力を生成することを含み、適格性評価可能なソフトウェアアプリケーションを実行することは、適格性評価可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている対応する出力を生成することを含み、出力をクロスチェックすることは、認証可能な物体検出アプリケーションからの出力を検証するために、対応する出力と比較することによって、出力をクロスチェックすることを含む。
【0016】
上記の例示的な実施形態のうちのいずれかの方法による例示的な実施形態、または上記のいずれかの例示的な実施形態のいずれかの組み合わせにおいては、認証可能な物体検出アプリケーションからの出力は、上記比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの対応する出力から「航空機とハブとの間の距離と共に減少する閾値を超えない範囲で」異なっていることが示された場合に、検証される。
【0017】
ある例示的な実施形態は、コンピュータシステムであって、コンピュータ可読プログラムコードを保存するように構成されたメモリと、このメモリにアクセスし、且つコンピュータ可読プログラムコードを実行するように構成された処理回路とを備え、処理回路がコンピュータ可読プログラムコードを実行することによって、このコンピュータシステムに、少なくとも上記のいずれかの例示的な実施形態、または上記のいずれかの例示的な実施形態のいずれかの組み合わせの方法を実施させる、コンピュータシステムを提供する。
【0018】
ある例示的な実施形態は、コンピュータ可読記憶媒体であって、非一過性であり、且つ、内部に記憶されたコンピュータ可読プログラムコードであって、処理回路による実行に応答して、コンピュータシステムに、少なくとも上記のいずれかの例示的な実施形態、または上記のいずれかの例示的な実施形態の組み合わせの方法を実施させる、コンピュータ可読プログラムコードを有する、コンピュータ可読記憶媒体を提供する。
【0019】
本開示の上記の及びその他の特徴、態様、及び利点は、以下で簡潔に説明する添付の図面と共に、下記の詳細な説明を参照することによって明らかになろう。本明細書に記載の具体的な例示の実施形態において、本開示に明記されている2つ、3つ、4つ、またはそれを超える数の特徴または要素が、明示的に組み合わされているかまたは別様に列挙されているにかかわらず、本開示には、こうした特徴または要素の、あらゆる組み合わせが含まれる。本開示は総合的に読み取られることを意図しており、本開示のいかなる分離可能な特徴または要素も、本開示の文脈に別様に明記されていない限りは、そのあらゆる態様及び例示の実行形態において、組み合わせることが可能だと見なすべきである。
【0020】
したがって、この「発明の概要」が提供されている目的が、いくつかの例示的な実施形態を要約して、本開示のいくつかの態様の基本的な理解を提供するためだけに過ぎないということは、理解されるであろう。したがって、上記の例示的な実施形態は単なる例に過ぎず、いかなる意味においても、本開示の範囲または本質を狭めるものと解釈すべきではないことは、理解されるであろう。その他の例示的な実施形態、態様、及び利点は、添付図面と併せて下記の詳細な説明を参照することで明らかになろう。添付図面は、例として、記載されているいくつかの例示的な実施形態の原理を示すものである。
【0021】
上記のように、本開示の実施例の実施形態を概括的に説明したが、ここで添付図面を参照する。これらの図面は必ずしも正確な縮尺で描かれているわけではない。
【図面の簡単な説明】
【0022】
【
図1】本開示の例示的な実施形態による、信頼性が向上された、コンピュータシステムの機能ブロック図である。
【
図2】様々の例示的な実施形態による、自動式空中給油を示す。
【
図3】様々の例示的な実施形態による、コンピュータシステムの信頼性を向上するための方法中の様々なステップを示すフロー図である。
【
図4】ある例示的な実施形態による、コンピュータシステムを示す。
【発明を実施するための形態】
【0023】
添付図面を参照して、本開示のいくつかの実施形態について、以下でより詳しく説明する。添付図面には本開示の実施形態の一部が示されているが、全部が示されているわけではない。実際のところ、本開示の様々な実施形態は、多くの異なる形態で具現化されてよく、本明細書に明記されている実施形態に限定されると解釈すべきではない。むしろ、これらの例示的な実施形態が提供されているのは、本開示が包括的かつ完全なものになるように、かつ、当業者に本開示の範囲が十分に伝わるようにするためである。例えば、別様に明記されていない限り、何かが「第1の」、「第2の」などのものであるという表現は、特定の順番を示すと解釈すべきではない。また、(別様に明記されていない限り)何か別のものの上にあると説明され得るものは、その代わりに下にあってもよく、逆もまた然りである。同様に、何か別のものの左にあると説明されている物は、その代わりに右にあってもよく、逆もまた然りである。全体を通じて、類似の参照番号は類似の要素を表わしている。
【0024】
本開示の例示的な実施形態は、概して、コンピュータシステムを対象とする。具体的には、コンピュータシステムの信頼性を向上させるための、認証可能なソフトウェアと適格性評価可能なソフトウェアとの組み合わせを対象とする。コンピュータシステムは、ソフトウェアがある認証基準に従って認証可能である、数々の異なるコンピュータシステムのうちの、任意のものであってよい。具体的には、コンピュータシステムは、有人または無人の航空機、人工衛星、宇宙船などに搭載された、航空電子工学システムであってよい。適切な航空電子工学システムの例は、飛行制御システム用、空中位置調整システム用、自動離陸もしくは着陸システム用、ランデブー及びドッキングシステム用、または任意の他のセーフティクリティカルで高信頼性のシステム用の、航空電子工学システムを含む。他の実施例では、コンピュータシステムは、航空以外で使用されるコンピュータであり得る。実施例は、自動外科手術、コンピュータ制御医療機器、自律式の陸用または海用のビークル及び機能を含む。さらなる他の実施例は、ロボットシステムまたはコンピュータ制御システムが人間と相互作用するか、人間の近傍で相互作用する、工場の自動化、または検査修理サービスを含む。
【0025】
認証可能なソフトウェアは、概して、入力データを処理して、出力であって、コンピュータシステムがこの出力に基づいて動作するように構成された出力を生成するためにシーケンシャルに実行される静的なプログラム命令からなる、ソフトウェアアプリケーション(認証可能なソフトウェアアプリケーション)である。典型的な例は、操縦とスロットルのコマンドを航空機の翼面の動作に変換する、ビークル管理システムまたは飛行制御コンピュータである。他の例は、より一般的には、飛行エンベロープを保護するか、またはセーフティクリティカルな情報を人間に提供するあらゆるシステムであって、誤った情報の提示によって、作業人員が安全でない方の選択肢を選択する結果となり得る、あらゆるシステムを含む。
【0026】
認証可能なソフトウェアアプリケーションは、ある認証基準に従ったコンピュータシステムに対して認証可能であり、認証された場合には、認証可能なソフトウェアアプリケーションは、認証済みソフトウェアアプリケーションと呼ばれ得る。適切な認証可能なソフトウェアの例は、航空電子工学システムの組み込みソフトウェアであって、そのうちの少なくともいくつかが、DO-178に従って認証可能である、組み込みソフトウェアを含む。これは、具体的には、一般的には航空電子工学で使用され、安全と信頼性が法的に課された組み込みソフトウェアである、航空電子工学のソフトウェアを含む。適切な認証可能なソフトウェアの他の例は、安全性と信頼性が法的には課されていない、有人または無人の航空機、人工衛星、宇宙船などで使用されるソフトウェアを含む。
【0027】
適格性評価可能なソフトウェアは、一般的には、既存の認証基準に従ったコンピュータシステムに対して認証不可能である、ソフトウェアアプリケーション(適格性評価可能なソフトウェアアプリケーション)である。本明細書で主に記載しているとおり、適格性評価可能なソフトウェアは、認証可能なソフトウェアアプリケーションの出力に対応する出力を生成するために、機械学習を用いる。具体的には、適格性評価可能なソフトウェアアプリケーションは、入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを使用して反復してビルドされたモデルを使用する。適切な機械学習アルゴリズムの一例は、人工ニューラルネットワーク(ANN)である。他の例は、回帰アルゴリズム、ディシジョンツリー、サポートベクターマシン、ベイジアンネットワークなどを含む。認証可能なソフトウェアアプリケーションと比べると、適格性評価可能なソフトウェアアプリケーションは、認証基準に従ったコンピュータシステムに対して、認証不可能である。適格性評価可能なソフトウェアアプリケーションは、人間が様々なシナリオにおける訓練及び試験/評価を通じて「適格性評価される」のと同様に、コンピュータシステムに対して適格性評価可能である。適格性評価可能なソフトウェアアプリケーションは、適格性評価されると、適格性評価済みソフトウェアアプリケーションと呼ばれ得る。
【0028】
図1は、本開示の例示的な実施形態による、コンピュータシステム100の機能ブロック図である。コンピュータシステムは、1つ以上の機能または動作を実施するための数々の異なる機能ブロックのうちの、いずれかを含んでいてよい。示されるとおり、ある実施例では、コンピュータシステムは、認証可能な実行ブロック102、適格性評価可能な実行ブロック104、クロスチェックブロック106、警告ブロック108、及び動作ブロック110を含む。認証可能な実行ブロック、適格性評価可能な実行ブロック、クロスチェックブロック、警告ブロック、及び動作ブロックを含む機能ブロックは、同一位置に配置されていてよいか、もしくは互いに直接連結されていてよいか、またはある実施例では、機能ブロックのうちの様々なものが、1つ以上のコンピュータネットワークを渡って互いに通信してよい。さらに、上記のうちのいずれの1つ以上のものも、コンピュータシステムの一部として示されてはいるが、他の機能ブロックのいずれとも関わることなく、コンピュータシステムの外部にあってもよい。コンピュータシステムが、
図1に示すもの以外に、1つ以上のさらなるまたは代わりの機能ブロックを含んでいてよいこともまた、理解すべきである。
【0029】
ある例示的な実施形態では、認証可能な実行ブロック102は、認証可能なソフトウェアアプリケーション112を実行するように構成されている。上記のとおり、認証可能なソフトウェアアプリケーションは、センサデータといった入力データ114を処理して、出力116であって、コンピュータシステム100がこの出力に基づいて動作するように構成された出力116を生成するためにシーケンシャルに実行される、静的なプログラム命令からなっている。認証可能なソフトウェアアプリケーションは、認証基準に従ったコンピュータシステムに対して認証可能である。
【0030】
適格性評価可能な実行ブロック104は、認証可能なソフトウェアアプリケーション112の実行中に、適格性評価可能なソフトウェアアプリケーション118を実行するように構成されている。適格性評価可能なソフトウェアアプリケーションは、入力データ114を処理して対応する出力120を生成するために、機械学習アルゴリズムを使用して反復してビルドされたモデルを使用する。適格性評価可能なソフトウェアアプリケーションは、認証基準に従ったコンピュータシステムに対して認証不可能である。
【0031】
クロスチェックブロック106は、認証可能なソフトウェアアプリケーションからの出力を検証するために、適格性評価可能なソフトウェアアプリケーション118からの対応する出力120と比較することによって、認証可能なソフトウェアアプリケーション112からの出力116をクロスチェックし、それによってコンピュータシステム100の信頼性を向上するように構成されている。警告ブロック108は、比較によって、認証可能なソフトウェアアプリケーションからの出力が、対応する出力から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアアプリケーションからの出力が検証されていない」という警告122を生成するように構成されている。この閾値は、コンピュータシステムのタイプ、及び/または認証可能なソフトウェアアプリケーションのタイプに依存していてよく、この閾値によって、認証可能なアプリケーションからの出力における、許容可能な変動または許容誤差が規定されてよい。
【0032】
認証可能なソフトウェアアプリケーション112からの出力116は、比較によって、この出力が、適格性評価可能なソフトウェアアプリケーション118からの対応する出力120から「閾値を超えない範囲内で」異なっていることが示された場合に、検証される。これらの例では、コンピュータシステム100は、出力に基づいて動作し得る(コンピュータシステムは、出力に基づいて動作するように構成されている)。これに関して、コンピュータシステムは、出力に基づいて動作するように構成された動作ブロック110をさらに含む。この動作は、しばしば、本開示の例示の実施形態を実装する航空電子工学システムのタイプといった、コンピュータシステムのタイプに依存する。実施例は、入力センサデータに基づいて軌道を生成することを含み、こうした軌道は次に、ビークル管理システムへと伝達される。
【0033】
ある実施例では、適格性評価可能なソフトウェアアプリケーション118は、認証可能なソフトウェアアプリケーション112を検証するためだけに使用される。これらの実施例では、動作ブロック110は、適格性評価可能なソフトウェアアプリケーションからの対応する出力120を除いて、出力116に基づいて、動作するように構成されている。別の実施例では、適格性評価可能なソフトウェアアプリケーションは、さらに、認証可能なソフトウェアアプリケーションの正確性を向上させるために使用され得る。この場合、コンピュータシステム100は、出力と対応する出力とから結合出力を生成するように構成された、結合ブロック124をさらに含む。動作ブロックは、次に、結合出力に基づいて動作するように構成されている。
【0034】
いくつかのさらなる実施例では、認証可能な実行ブロック102と適格性評価可能な実行ブロック104は、出力116及び対応する出力120に関する、それぞれの性能指数を生成するように、さらに構成されている。これらの実施例のうちのいくつかでは、結合ブロック124は、それぞれの性能指数によって重みづけされた出力と対応する出力とをカルマンフィルタ処理して、結合出力を生成するように構成されている。
【0035】
コンピュータシステム100は、認証可能なソフトウェアアプリケーション112、及び適格性評価可能なソフトウェアアプリケーション118を含んでいるとして記載されているが、コンピュータシステム100が、本開示の例示の実施形態における使用に際して、これら2つよりも多くのソフトウェアアプリケーションを実行するように構成されていてよいことは、理解すべきである。即ち、コンピュータシステムは、3つ以上のソフトウェアアプリケーションを利用し得る。具体的には、ある実施形態では、コンピュータシステム100は、認証可能なソフトウェアアプリケーション112と適格性評価可能なソフトウェアアプリケーション118とが実行される際に第3のソフトウェアアプリケーション128を実行するように構成された、第3の実行ブロック126をさらに含む。
【0036】
第3のソフトウェアアプリケーション128(またはそれよりも多く)を含む実施例においては、第3のソフトウェアアプリケーションは、第2の認証可能なもしくは適格性評価可能なソフトウェアアプリケーションであるか、または何らかの他のソフトウェアアプリケーションである。第3のソフトウェアアプリケーションは、入力データ114を処理して第2の対応する出力130を生成するために、実行される。次に、クロスチェックブロック106は、対応する出力120及び第2の対応する出力130との比較によって、認証可能なソフトウェアアプリケーション112からの出力116をクロスチェックするように構成されている。警告ブロック108は、比較によって、認証可能なソフトウェアアプリケーションからの出力が、対応する出力と第2の対応する出力との両方から「閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアアプリケーションからの出力が検証されていない」という警告122を生成するように構成されている。
【0037】
上記のとおり、コンピュータシステム100は、数々の異なるコンピュータシステムのうちの任意のものであってよい。ある実施例では、コンピュータシステムは、有人または無人の航空機、人工衛星、宇宙船などに搭載された航空電子工学システムである。これに関連して、自動空中給油(A3R)と、同様に自動式の宇宙船のランデブー及びドッキングは、接続操作を完遂するのに十分な高度の正確さで、2つの航空宇宙ビークルを接合させることを伴う。この接続のためには、一般的に、自律式のシステムによって正しい標的を特定することが重要である。例を示すと、A3Rを実施しようと試みる自動式の被給油機は、自らのプローブを空中給油機のドローグに挿入することによって、特定された円形の特徴部が実際にドローグであり、エンジンの排気孔ではないことを確認しなければならない。同様に、自動式空中給油機のブームは、自らが挿入されようとしているのが燃料口であって、コクピットウィンドウではないことを、確認しなければならない。
【0038】
多くの高信頼性のコンテクストでは、信頼性は、多様なデータソースを(例えば、種々の視点配置を提供する複数のセンサ、またはパッシブ撮像及び三次元LIDARといった種々の感知技術さえも)使用することと、各データソースに対して多様なアルゴリズムを使用することとによって、実現され得る。A3Rの場合、2つのパッシブ撮像カメラであって、それぞれが同一の領域を撮像するが、別々の位置に搭載されていて、多様なソースデータを提供する(1つのカメラが何かによって遮られた場合でも、他方のカメラによってこの領域はなお視覚可能である)、2つのパッシブ撮像カメラが使用されてよい。各カメラについて、認証可能なソフトウェアアプリケーションと適格性評価可能なソフトウェアアプリケーションとの両方が入力画像データに対して実行されてよく、それぞれの出力が比較されてよい。
【0039】
ある実施例では、2つの航空機間の距離と共に、許容差(閾値)が減少するが、両ソフトウェアアプリケーションが許容差の範囲内で一致する限り、この操作は継続されてよい。要件次第では、適格性評価可能なソフトウェアアプリケーションは、認証可能なソフトウェアアプリケーションのクロスチェックの役割のみを果たしてもよい。これらの実施例では、2つのソフトウェアアプリケーションが一致する限り、認証可能なソフトウェアアプリケーションからの出力が使用される。これらが一致しない場合は、コンピュータシステムはエラーを宣告し、警告を生成し、動作は終了する。2つのソフトウェアアプリケーションが一致するいくつかの実施例では、これらそれぞれの出力は、全体的な正確性を向上するためにカルマンフィルタ内に入力されてよい。
【0040】
図2は、ある実施例による、自動式空中給油200を示す。これらの実施例では、コンピュータシステム100は、航空機204であって、航空機204の標的208を規定するハブ206に向かって移動する航空機204の、航空電子工学システム202である。示されるとおり、ハブは、給油機または空中給油機(または単に「タンカー」)であって、航空機にとっての標的は、細長いホースから空中給油機の後方に伸びる、ドローグである。この航空機は、給油用プローブ210を搭載していて、給油用プローブをドローグに係合させ、その後この航空機に空中給油を行おうとして、後方且つ下方からといったように、ハブに接近する。この場合、認証可能なソフトウェアアプリケーション112と適格性評価可能なソフトウェアアプリケーション118は、それぞれ、認証可能な物体検出アプリケーションと適格性評価可能な物体検出アプリケーションであってよい。
【0041】
認証可能な実行ブロック102は、ハブ206の画像を処理して、この画像内に標的208が検出される出力を生成するため、認証可能な物体検出アプリケーションを実行するように構成されていてよい。同様に、適格性評価可能な実行ブロック104は、ハブの画像を処理して、この画像内に標的が検出される対応する出力を生成するため、適格性評価可能な物体検出アプリケーションを実行するように構成されていてよい。クロスチェックブロック106は、認証可能な物体検出アプリケーションからの出力を検証するため、対応する出力との比較によって、この出力をクロスチェックするように構成されていてよい。ある実施例では、出力は、比較によって、この出力が、対応する出力から「航空機とハブとの間の距離と共に減少する閾値を超えない範囲内で」異なっていることが示された場合に、検証される。本開示の例示の実施形態から恩恵を受け得る自動式空中給油用システムに関するさらなる情報は、米国特許第9,933,521号「空中位置付けシステム及び方法」で提供されている。同特許は、その全体が参照によって本願に援用される。
【0042】
図3は、本開示の例示的な実施形態による、コンピュータシステムの信頼性を向上させるための方法300中の様々なステップを示すフロー図である。ステップ302に示すとおり、方法は、入力データを処理して、出力であって、コンピュータシステムがこの出力に基づいて動作するように構成された出力を生成するために、シーケンシャルに実行される静的なプログラム命令からなる、認証可能なソフトウェアアプリケーションを実行することを含む。この点について、認証可能なソフトウェアアプリケーションは、認証基準に従ったコンピュータシステムに対して認証可能である。
【0043】
方法300は、ステップ304に示すとおり、認証可能なソフトウェアアプリケーションの実行中に、適格性評価可能なソフトウェアアプリケーションを実行することを含む。適格性評価可能なソフトウェアアプリケーションは、入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを使用して反復してビルドされたモデルを使用する。適格性評価可能なソフトウェアアプリケーションは、認証基準に従ったコンピュータシステムに対して、認証不可能である。
【0044】
方法300は、ステップ306に示すとおり、認証可能なソフトウェアアプリケーションからの出力を検証するために、適格性評価可能なソフトウェアアプリケーションからの対応する出力と比較することによって、認証可能なソフトウェアアプリケーションからの出力をクロスチェックし、それによってコンピュータシステム306の信頼性を向上することを含む。方法は、ステップ308に示すとおり、比較によって、認証可能なソフトウェアアプリケーションからの出力が、対応する出力から「閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアアプリケーションからの出力が検証されていない」という警告を生成することを含む。認証可能なソフトウェアアプリケーションからの出力は、比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの対応する出力から「閾値を超えない範囲内で」異なっていることが示された場合に、検証される。ある実施例では、方法は次に、ステップ310で示すとおり、出力または結合出力に基づいて動作することをさらに含む。
【0045】
本開示の例示の実施形態によると、コンピュータシステム100、並びに認証可能な実行ブロック102、適格性評価可能な実行ブロック104、クロスチェックブロック106、警告ブロック108、動作ブロック110、結合ブロック124、及び第3の実行ブロック126を含むコンピュータシステム100の機能ブロックは、様々な手段によって実装され得る。コンピュータシステム及びその機能ブロックを実装するための手段は、単独の、または、コンピュータ可読記憶媒体からの1つ以上のコンピュータプログラムの命令に従う、ハードウェアを含んでいてよい。ある実施例では、コンピュータシステムは、本明細書で示され説明されている機能ブロックの役割を果たすか、またはこれらの機能ブロックを別様に実装するように構成された、1つ以上の機器によって具現化され得る。2つ以上の機器を伴う実施例では、それぞれの機器は、例えば直接的に、または、有線もしくは無線のネットワークを介して間接的になど、数々の異なる態様で、互いに接続されていてよいか、または別様に通信可能であってよい。
【0046】
図4に、本開示のいくつかの例示的な実施形態による機器400を示す。本開示の例示的な実施形態の機器は、概して、1つ以上の固定式もしくは携帯式の電子装置を備えているか、こうした電子装置を含んでいるか、または、こうした電子装置において具現化されていてよい。適切な電子装置の例は、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーションコンピュータ、サーバコンピュータなどを含む。認証可能な航空電子工学システムに関しては、適切な電子装置は、通常、バックプレーンと1つ以上の認証可能なプロセッサカードとを有する、認証可能な電子機器筐体からなる。機器は、例えば、メモリ404(例えば記憶装置)に接続され処理回路402(例えばプロセッサユニット)といった、いくつかの構成要素の各々のうちの1つ以上を含み得る。
【0047】
処理回路402は、単体であるか、または1つ以上のメモリと組み合わされた、1つ以上のプロセッサから構成されていてよい。処理回路は、概して、例えば、データ、コンピュータプログラム、及び/または他の適切な電子情報などといった情報を処理することが可能な、コンピュータハードウェアの任意のものである。処理回路は、電子回路の集合体で構成されており、こうした電子回路の一部は、1つの集積回路または複数の相互接続集積回路として、パッケージ化されていてよい(集積回路は時としてより一般的に「チップ」と称される)。処理回路は、コンピュータプログラムを実行するように構成されてよく、コンピュータプログラムは、処理回路に搭載された状態で保存され得るか、または別様に、(同一もしくは別の機器の)メモリ404に保存され得る。
【0048】
処理回路402は、特定の実施形態に応じて、いくつかのプロセッサ、1つのマルチコアプロセッサ、または他の何らかのタイプのプロセッサであってよい。処理回路は、画像処理装置(GPU)、中央処理装置(CPU)、またはGPUとCPUの組み合わせを含み得る。さらに、処理回路は、単一のチップ上に主要プロセッサと共に1つ以上の二次プロセッサが存在する、いくつかの異種計算機システムを使用して、実装され得る。別の例示的な実施例としては、処理回路は、同じタイプのマルチプロセッサを包含する対称型マルチプロセッサシステムであり得る。さらに別の実施例では、処理回路は、1つ以上のASICやFPGAなどとして具現化されていてよいか、またはそれらを別様に含んでいてよい。したがって、処理回路は1つ以上の機能を実施するためのコンピュータプログラムを実行することが可能であり得るが、様々な実施例の処理回路は、コンピュータプログラムの支援がなくとも、1つ以上の機能を実施することが可能であり得る。どちらの例においても、処理回路は、本開示の例示的な実施形態による機能または動作を実施するように、適切にプログラムされていてよい。
【0049】
メモリ404は概して、例えばデータ、コンピュータプログラム(例えばコンピュータ可読プログラムコード406)、及び/または、他の適切な情報といった情報を、一時的及び/または恒久的に記憶することが可能なコンピュータハードウェアのうちの任意のものである。メモリは、揮発性及び/または不揮発性のメモリを含んでいてよく、且つ固定式または着脱式であってよい。適切なメモリの例は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、ハードドライブ、フラッシュメモリ、サムドライブ、着脱式コンピュータディスケット、光ディスク、磁気テープ、またはこれらの何らかの組み合わせを含む。光ディスクは、読み出し専用コンパクトディスク(CD-ROM)、読み出し/書き込み用コンパクトディスク(CD-R/W)、DVDなどを含み得る。様々な事例において、メモリはコンピュータ可読記憶媒体と称され得る。コンピュータ可読記憶媒体は、情報を記憶することが可能な非一過性デバイスであり、ある場所から別の場所へと情報を運ぶことが可能な一過性の電子信号といった、コンピュータ可読伝送媒体とは区別され得る。本書に記載のコンピュータ可読媒体は、概して、コンピュータ可読記憶媒体またはコンピュータ可読伝送媒体を指していてよい。
【0050】
処理回路402は、情報を表示、送信、及び/または受信するため、メモリ404に加えて、1つ以上のインターフェースにも接続され得る。インターフェースは、通信インターフェース408(例えば通信ユニット)を含み得る。通信インターフェースは、他の機器やネットワークなどへ、及び/またはそれらからなどといったように、情報を送信及び/または受信するように構成されていてよい。通信インターフェースは、物理的な(有線の)及び/または無線の通信リンクによって、情報を送信及び/または受信するように構成されていてよい。適切な通信インターフェースの例は、ネットワークインターフェースコントローラ(NIC)、無線NIC(WNIC)などを含む。
【0051】
いくつかの例では、インターフェースは、ディスプレイ410及び/または1つ以上のユーザ入力インターフェース412(例えば、入出力ユニット)といった、1つ以上のユーザインターフェースを含んでいてよい。ディスプレイは、ユーザに情報を提示するか、または別様にユーザに情報を表示するよう構成されていてよく、その適切な例は、液晶ディスプレイ(LCD)、発光ダイオードディスプレイ(LED)、プラズマディスプレイパネル(PDP)などを含む。ユーザ入力インターフェースは、有線または無線であってよく、処理用、記憶用、及び/または表示用といった機器内に、ユーザからの情報を受信するよう構成されていてよい。ユーザ入力インターフェースの適切な例は、マイクロフォン、画像またはビデオのキャプチャ装置、キーボードまたはキーパッド、ジョイスティック、(タッチスクリーンとは別個の、またはタッチスクリーンに統合された)タッチ感応画面、生体認証センサなどを含む。ユーザインターフェースは、プリンタやスキャナなどといった周辺機器と通信するための、1つ以上のインターフェースをさらに含み得る。
【0052】
上記のように、プログラムコード命令は、メモリに記憶されていてよく、本明細書で説明されているシステム、サブシステム、ツール、及びそれらの各要素の機能を実装するようにプログラムコード命令によってプログラムされている、処理回路によって実行されてよい。理解されるとおり、特定のマシンが本明細書で特定されている機能を実装する手段となるようにして特定のマシンを製造するため、あらゆる適切なプログラムコード命令が、コンピュータ可読記憶媒体から、コンピュータまたは他のプログラム可能機器に読み込まれてよい。これらのプログラムコード命令は、コンピュータ可読記憶媒体であって、コンピュータ、処理回路、またはその他のプログラマブル機器に指示を出して特定の方法で機能させることにより、特定のマシンまたは特定の製品を生成することができる、コンピュータ可読記憶媒体に記憶されていてもよい。コンピュータ可読記憶媒体に記憶された命令は、製品であって、本明細書に記載の機能を実装するための手段となる製品を生産することができる。プログラムコード命令は、コンピュータ可読記憶媒体から読み出され、コンピュータ、処理回路または他のプログラマブル機器に読み込まれてよい。それによって、コンピュータ、処理回路または他のプログラマブル機器が設定され、コンピュータ、処理回路または他のプログラマブル機器上で実行されるべき、またはそれらによって実施されるべき、工程が実行される。
【0053】
一度に1つの命令が読み出され、読み込まれ、実行されるように、プログラムコード命令の読み出し、読み込み及び実行は、逐次的に実施されてよい。いくつかの例示的な実施形態では、複数の命令がまとめて読み出され、読み込まれ、且つ/または実行されるように、読み出し、読み込み、及び/または実行は、並行して実施されてよい。プログラムコード命令の実行によってコンピュータ実装処理が生成されてよく、それによって、コンピュータ、処理回路、または他のプログラマブル機器が命令を実行することで、本明細書に記載の機能を実行するための工程がもたらされる。
【0054】
処理回路による命令の実行、または、コンピュータ可読記憶媒体における命令の保存は、特定の機能を実施するための工程の組み合わせをサポートする。このように、装置400は、メモリに保存されたコンピュータ可読プログラムコード406を実行するよう構成された処理回路402と、処理回路に連結されたコンピュータ可読記憶媒体またはメモリ404とを含んでいてよい。1つ以上の機能及び機能の組み合わせが、専用ハードウェアベースの機器、及び/または、特定の機能を実行する処理回路、または、専用ハードウェアとプログラムコード命令との組み合わせによって実行され得ることも、また理解されよう。
【0055】
さらに、本開示は、下記の条項による実施形態を含む。
【0056】
条項1.コンピュータ可読プログラムコード(406)を記憶するように構成されたメモリ(404)、並びに、
このメモリにアクセスし、且つコンピュータ可読プログラムコードを実行するように構成された処理回路(402)を備えるコンピュータシステム(400)であって、
処理回路がコンピュータ可読プログラムコードを実行することによって、コンピュータシステムに少なくとも、
入力データを処理して、出力であって、このコンピュータシステムがこの出力に基づいて動作するように構成された出力を生成するために、シーケンシャルに実行される静的なプログラム命令からなる、認証可能なソフトウェアアプリケーションを実行すること(302)であって、認証可能なソフトウェアアプリケーションが、ある認証基準に従ったコンピュータシステムに対して認証可能である、認証可能なソフトウェアアプリケーションを実行すること(302)と、
認証可能なソフトウェアアプリケーションの実行中に、適格性評価可能なソフトウェアアプリケーションを実行すること(304)であって、適格性評価可能なソフトウェアアプリケーションが、入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを用いて反復してビルドされたモデルを用い、適格性評価可能なソフトウェアアプリケーションが、上記認証基準に従ったコンピュータシステムに対して認証不可能である、適格性評価可能なソフトウェアアプリケーションを実行すること(304)と、
認証可能なソフトウェアアプリケーションからの出力を検証するために、適格性評価可能なソフトウェアアプリケーションからの対応する出力と比較することによって、認証可能なソフトウェアアプリケーションからの出力をクロスチェック(306)し、それによってコンピュータシステムの信頼性を向上することと、
上記比較によって、認証可能なソフトウェアアプリケーションからの出力が、対応する出力から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアアプリケーションからの出力が検証されていない」という警告を生成すること(308)と、
を行わせる、コンピュータシステム(400)。
【0057】
条項2.認証可能なソフトウェアアプリケーションからの出力が、比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの出力から「閾値を超えない範囲内で」異なっていることが示された場合に、検証され、メモリ(404)が、処理回路(402)が実行することによって、コンピュータシステムにさらに少なくとも、
出力であって、このコンピュータシステムがこの出力に基づいて動作するように構成された出力に基づいて、且つ適格性評価可能なソフトウェアアプリケーションからの対応する出力は除いて、動作させるように構成された、コンピュータ可読プログラムコード(406)を記憶している、条項1に記載のコンピュータシステム(400)。
【0058】
条項3.認証可能なソフトウェアアプリケーションからの出力が、比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの対応する出力から「閾値を超えない範囲内で」異なっていることが示された場合に、検証され、メモリ(404)が、処理回路(402)が実行することによって、コンピュータシステムにさらに少なくとも、
出力と対応する出力とから結合出力を生成することと、
この結合出力に基づいて動作することと、
を行わせるように構成された、さらなるコンピュータ可読プログラムコード(406)を記憶している、条項1または2に記載のコンピュータシステム(400)。
【0059】
条項4.コンピュータシステムが、認証可能なソフトウェアアプリケーションを実行する(302)ようにさせられており、且つ適格性評価可能なソフトウェアアプリケーションを実行する(304)ようにさせられており、コンピュータシステムが、出力と対応する出力に関するそれぞれの性能指数を生成するようにさせられていることをさらに含み、コンピュータシステムが結合出力を生成するようにされられていることが、それぞれの性能指数によって重みづけされた出力及び対応する出力をカルマンフィルタ処理するようにさせられていることを含む、条項3に記載のコンピュータシステム(400)。
【0060】
条項5.メモリ(404)が、処理回路(402)によって実行されるように構成されたさらなるコンピュータ可読プログラムコード(406)を記憶しており、
処理回路(402)がコンピュータ可読プログラムコード(406)を実行することによって、コンピュータシステムにさらに少なくとも、
認証可能なソフトウェアアプリケーション及び適格性評価可能なソフトウェアアプリケーションが実行される際に、第3のソフトウェアアプリケーションを実行することであって、第3のソフトウェアアプリケーションが、第2の認証可能なまたは適格性評価可能なソフトウェアアプリケーションであり、第3のソフトウェアアプリケーションが、入力データを処理して第2の対応する出力を生成するために実行される、第3のソフトウェアアプリケーションを実行することを行わせ、
コンピュータシステムが、出力をクロスチェック(306)するようにさせられていることが、対応する出力及び第2の対応する出力との比較によって、認証可能なソフトウェアからの出力をクロスチェックするようにさせられていることを含み、
コンピュータシステムが、警告を生成する(308)ようにさせられていることは、上記比較によって、認証可能なソフトウェアからの出力が、対応する出力及び第2の対応する出力の両方から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアからの出力が検証されていない」という警告を生成するようにさせられていることを含む、
条項1から4のいずれか一項に記載のコンピュータシステム(400)。
【0061】
条項6.コンピュータシステムが、航空機であって、この航空機の標的を規定するハブに向かって移動中である航空機の、航空電子工学システムであり、認証可能なソフトウェアアプリケーションが、認証可能な物体検出アプリケーションであり、適格性評価可能なソフトウェアアプリケーションが、適格性評価可能な物体検出アプリケーションであり、
コンピュータシステムが、認証可能なソフトウェアアプリケーションを実行する(302)ようにさせられていることが、認証可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている出力を生成するようにさせられていることを含み、
コンピュータシステムが、適格性評価可能なソフトウェアアプリケーションを実行する(304)ようにさせられていることが、適格性評価可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている対応する出力を生成するようにさせられていることを含み、
コンピュータシステムが、出力をクロスチェックする(306)ようにさせられていることが、認証可能な物体検出アプリケーションからの出力を検証するために、対応する出力と比較することによって、この出力をクロスチェックするようにさせられていることを含む、
条項1から5のいずれか一項に記載のコンピュータシステム(400)。
【0062】
条項7.認証可能な物体検出アプリケーションからの出力が、上記比較によって、この出力が、対応する出力から「航空機とハブとの間の距離と共に減少する閾値を超えない範囲で」異なっていることが示された場合に、検証される、条項6に記載のコンピュータシステム(400)。
【0063】
条項8.コンピュータシステム(400)の信頼性を向上するための方法(300)であって、コンピュータシステムが、
入力データを処理して、出力であって、このコンピュータシステムがこの出力に基づいて動作するように構成された出力を生成するために、シーケンシャルに実行される静的なプログラム命令からなる、認証可能なソフトウェアアプリケーションを実行すること(302)であって、認証可能なソフトウェアアプリケーションが、ある認証基準に従ったコンピュータシステムに対して認証可能である、認証可能なソフトウェアアプリケーションを実行すること(302)と、
認証可能なソフトウェアアプリケーションの実行中に、適格性評価可能なソフトウェアアプリケーションを実行すること(304)であって、適格性評価可能なソフトウェアアプリケーションが、入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを用いて反復してビルドされたモデルを用い、適格性評価可能なソフトウェアアプリケーションが、上記認証基準に従ったコンピュータシステムに対して認証不可能である、適格性評価可能なソフトウェアアプリケーションを実行すること(304)と、
認証可能なソフトウェアアプリケーションからの出力を検証するために、適格性評価可能なソフトウェアアプリケーションからの対応する出力と比較することによって、認証可能なソフトウェアアプリケーションからの出力をクロスチェック(306)し、それによってコンピュータシステムの信頼性を向上することと、
上記比較によって、認証可能なソフトウェアアプリケーションからの出力が、対応する出力から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアアプリケーションからの出力が検証されていない」という警告を生成すること(308)と、
を行うことを含む、コンピュータシステム(400)の信頼性を向上するための方法(300)。
【0064】
条項9.方法であって、認証可能なソフトウェアアプリケーションからの出力が、上記比較によって、この出力が、適格性評価可能なアプリケーションからの対応する出力から「ある閾値を超えない範囲内で」異なっていることが示された場合には、検証され、この方法が、コンピュータシステムが、
出力であって、このコンピュータシステムがこの出力に基づいて動作するように構成された出力に基づいて、且つ適格性評価可能なソフトウェアアプリケーションからの対応する出力は除いて、動作する(310)こと
をさらに含む、条項8に記載の方法(300)。
【0065】
条項10.方法であって、認証可能なソフトウェアアプリケーションからの出力が、上記比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの対応する出力から「ある閾値を超えない範囲で」異なっていることが示された場合に、検証され、この方法が、コンピュータシステムが、
出力と対応する出力とから、結合出力を生成することと、
この結合出力に基づいて動作することと
をさらに含む、条項8または9に記載の方法(300)。
【0066】
条項11.認証可能なソフトウェアアプリケーションを実行すること(302)と、適格性評価可能なソフトウェアアプリケーションを実行すること(304)とが、出力及び対応する出力に関するそれぞれの性能指数を生成することをさらに含み、
結合出力を生成することが、それぞれの性能指数によって重みづけされた出力と対応する出力とに対して、カルマンフィルタ処理を行うことを含む、条項10に記載の方法(300)。
【0067】
条項12.認証可能なソフトウェアアプリケーション及び適格性評価可能なソフトウェアアプリケーションが実行される際に、第3のソフトウェアアプリケーションを実行することであって、第3のソフトウェアアプリケーションが、第2の認証可能なまたは適格性評価可能なソフトウェアアプリケーションであり、第3のソフトウェアアプリケーションが、入力データを処理して第2の対応する出力を生成するために実行される、第3のソフトウェアアプリケーションを実行することをさらに含み、
出力をクロスチェックすること(306)が、対応する出力及び第2の対応する出力との比較によって、認証可能なソフトウェアからの出力をクロスチェックすることを含み、
警告を生成すること(308)が、上記比較によって、認証可能なソフトウェアからの出力が、対応する出力及び第2の対応する出力の両方から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアからの出力が検証されていない」という警告を生成することを含む、
条項8から11のいずれか一項に記載の方法(300)。
【0068】
条項13.コンピュータシステムが、航空機であって、この航空機の標的を規定するハブに向かって移動中である航空機の、航空電子工学システムであり、認証可能なソフトウェアアプリケーションが、認証可能な物体検出アプリケーションであり、適格性評価可能なソフトウェアアプリケーションが、適格性評価可能な物体検出アプリケーションであり、
認証可能なソフトウェアアプリケーションを実行すること(302)が、認証可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている出力を生成することを含み、
適格性評価可能なソフトウェアアプリケーションを実行すること(304)が、適格性評価可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている対応する出力を生成することを含み、
出力をクロスチェックすること(306)が、認証可能な物体検出アプリケーションからの出力を検証するために、対応する出力と比較することによって、出力をクロスチェックすることを含む、
条項8から12のいずれか一項に記載の方法(300)。
【0069】
条項14.認証可能な物体検出アプリケーションからの出力が、上記比較によって、この出力が、対応する出力から「航空機とハブとの間の距離と共に減少する閾値を超えない範囲で」異なっていることが示された場合に、検証される、条項13に記載の方法(300)。
【0070】
条項15.コンピュータ可読記憶媒体(404)であって、非一過性であり、且つ中にコンピュータ可読プログラムコード(406)であって、処理回路(402)による実行に応答して、コンピュータシステム(400)に、少なくとも、
コンピュータシステムが、入力データを処理して、出力であって、このコンピュータシステムがこの出力に基づいて動作するように構成された出力を生成するために、シーケンシャルに実行される静的なプログラム命令からなる、認証可能なソフトウェアアプリケーションを実行すること(302)であって、認証可能なソフトウェアアプリケーションが、ある認証基準に従ったコンピュータシステムに対して認証可能である、認証可能なソフトウェアアプリケーションを実行すること(302)と、
認証可能なソフトウェアアプリケーションの実行中に、適格性評価可能なソフトウェアアプリケーションを実行すること(304)であって、適格性評価可能なソフトウェアアプリケーションが、入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを用いて反復してビルドされたモデルを用い、適格性評価可能なソフトウェアアプリケーションが、上記認証基準に従ったコンピュータシステムに対して認証不可能である、適格性評価可能なソフトウェアアプリケーションを実行すること(304)と、
認証可能なソフトウェアアプリケーションからの出力を検証するために、適格性評価可能なソフトウェアアプリケーションからの対応する出力と比較することによって、認証可能なソフトウェアアプリケーションからの出力をクロスチェック(306)し、それによってコンピュータシステムの信頼性を向上することと、
上記比較によって、認証可能なソフトウェアアプリケーションからの出力が、対応する出力から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアアプリケーションからの出力が検証されていない」という警告を生成すること(308)と、
を行わせる、コンピュータ可読プログラムコード(406)を有する、コンピュータ可読記憶媒体(404)。
【0071】
条項16.認証可能なソフトウェアアプリケーションからの出力が、比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの対応する出力から「閾値を超えない範囲内で」異なっていることが示された場合に、検証され、コンピュータ可読記憶媒体が、処理回路(402)による実行に応答して、コンピュータシステム(400)にさらに少なくとも、
出力であって、このコンピュータシステムがこの出力に基づいて動作するように構成された出力に基づいて、且つ適格性評価可能なソフトウェアアプリケーションからの対応する出力は除いて、動作(310)させる、内部に記録されたさらなるコンピュータ可読プログラムコード(406)を有する、条項15に記載のコンピュータ可読記憶媒体(404)。
【0072】
条項17.認証可能なソフトウェアアプリケーションからの出力が、比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの対応する出力から「閾値を超えない範囲内で」異なっていることが示された場合に、検証され、コンピュータ可読記憶媒体が、処理回路(402)による実行に応答して、コンピュータシステム(400)にさらに少なくとも、
出力と対応する出力とから結合出力を生成することと、
この結合出力に基づいて動作することと、
を行わせる、内部に記録されたさらなるコンピュータ可読プログラムコード(406)を有する、条項15または16に記載のコンピュータ可読記憶媒体(404)。
【0073】
条項18.コンピュータシステム(400)が、認証可能なソフトウェアアプリケーションを実行し(302)、且つ適格性評価可能なソフトウェアアプリケーションを実行する(304)ようにさせられていることが、コンピュータシステムが、出力と対応する出力に関するそれぞれの性能指数を生成するようにさせられていることをさらに含み、
コンピュータシステムが結合出力を生成するようにされられていることが、それぞれの性能指数によって重みづけされた出力及び対応する出力をカルマンフィルタ処理するようにさせられていることを含む、条項17に記載のコンピュータ可読記憶媒体(404)。
【0074】
条項19.コンピュータ可読記憶媒体(404)であって、内部に記憶されたさらなるコンピュータ可読プログラムコード(406)をさらに有し、このコンピュータ可読プログラムコード(406)が、処理回路(402)による実行に応答して、コンピュータシステム(400)にさらに少なくとも、
認証可能なソフトウェアアプリケーション及び適格性評価可能なソフトウェアアプリケーションが実行される際に、第3のソフトウェアアプリケーションを実行することであって、第3のソフトウェアアプリケーションが、第2の認証可能なまたは適格性評価可能なソフトウェアアプリケーションであり、第3のソフトウェアアプリケーションが、入力データを処理して第2の対応する出力を生成するために実行される、第3のソフトウェアアプリケーションを実行することを行わせ、
コンピュータシステムが、出力をクロスチェックする(306)ようにさせられていることが、対応する出力及び第2の対応する出力との比較によって、認証可能なソフトウェアからの出力をクロスチェックするようにさせられていることを含み、
コンピュータシステムが、警告を生成する(308)ようにさせられていることが、上記比較によって、認証可能なソフトウェアからの出力が、対応する出力及び第2の対応する出力の両方から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアからの出力が検証されていない」という警告を生成するようにさせられていることを含む、
条項15から18のいずれか一項に記載のコンピュータ可読記憶媒体(404)。
【0075】
条項20.コンピュータシステム(400)が、航空機であって、この航空機の標的を規定するハブに向かって移動中である航空機の、航空電子工学システムであり、認証可能なソフトウェアアプリケーションが、認証可能な物体検出アプリケーションであり、適格性評価可能なソフトウェアアプリケーションが、適格性評価可能な物体検出アプリケーションであり、
コンピュータシステムが、認証可能なソフトウェアアプリケーションを実行する(302)ようにさせられていることが、認証可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている出力を生成するようにさせられていることを含み、
コンピュータシステムが、適格性評価可能なソフトウェアアプリケーションを実行する(304)ようにさせられていることが、適格性評価可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている対応する出力を生成するようにさせられていることを含み、
コンピュータシステムが、出力をクロスチェックする(306)ようにさせられていることが、認証可能な物体検出アプリケーションからの出力を検証するために、対応する出力と比較することによって、出力をクロスチェックするようにさせられていることを含む、
条項15から19のいずれか一項に記載のコンピュータ可読記憶媒体(404)。
【0076】
条項21.認証可能な物体検出アプリケーションからの出力が、上記比較によって、この出力が、対応する出力から「航空機とハブとの間の距離と共に減少する閾値を超えない範囲で」異なっていることが示された場合に、検証される、条項20に記載のコンピュータ可読記憶媒体(404)。
【0077】
上記の説明及び添付図面に提示されている教示の恩恵を受ける、本開示に関連する当業者には、本明細書に明記された本開示の多数の修正例及びその他の実施形態が想起されよう。したがって、本開示が開示されている特定の実施形態に限定されるものではないこと、及び、添付の特許請求の範囲には、変形例及びその他の実施形態も含まれるよう意図されていることは、理解されたい。さらに、上記の説明及び添付図面は、要素及び/または機能の特定の実施例の組み合わせに照らして例示の実施形態を説明しているが、添付の特許請求の範囲から逸脱することなく、要素及び/または機能の異なる組み合わせが、代替的な実施形態によって提供されてもよいことは、理解されたい。つまり、添付の特許請求の範囲の一部に明記され得るように、例えば、明示的に上記されているものとは異なる、要素及び/または機能の組み合わせも、また想定される。本書では特定の用語が用いられているが、それらは、一般的かつ解説的な意味でのみ使用されており、限定を目的とするものではない。