JP7427366B2 - 運用環境用の仮想化されたアビオニクスシステム - Google Patents

運用環境用の仮想化されたアビオニクスシステム Download PDF

Info

Publication number
JP7427366B2
JP7427366B2 JP2019028279A JP2019028279A JP7427366B2 JP 7427366 B2 JP7427366 B2 JP 7427366B2 JP 2019028279 A JP2019028279 A JP 2019028279A JP 2019028279 A JP2019028279 A JP 2019028279A JP 7427366 B2 JP7427366 B2 JP 7427366B2
Authority
JP
Japan
Prior art keywords
hardware
devices
virtualization
virtual
instances
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019028279A
Other languages
English (en)
Other versions
JP2019185749A (ja
Inventor
ジェイソン・ダブリュー・シェルトン
ジョナサン・エヌ・ホトラ
ティモシー・エム・ミッチェル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boeing Co
Original Assignee
Boeing Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Boeing Co filed Critical Boeing Co
Publication of JP2019185749A publication Critical patent/JP2019185749A/ja
Application granted granted Critical
Publication of JP7427366B2 publication Critical patent/JP7427366B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64DEQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
    • B64D47/00Equipment not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64FGROUND OR AIRCRAFT-CARRIER-DECK INSTALLATIONS SPECIALLY ADAPTED FOR USE IN CONNECTION WITH AIRCRAFT; DESIGNING, MANUFACTURING, ASSEMBLING, CLEANING, MAINTAINING OR REPAIRING AIRCRAFT, NOT OTHERWISE PROVIDED FOR; HANDLING, TRANSPORTING, TESTING OR INSPECTING AIRCRAFT COMPONENTS, NOT OTHERWISE PROVIDED FOR
    • B64F5/00Designing, manufacturing, assembling, cleaning, maintaining or repairing aircraft, not otherwise provided for; Handling, transporting, testing or inspecting aircraft components, not otherwise provided for
    • B64F5/60Testing or inspecting aircraft components or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Manufacturing & Machinery (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、運用環境用の仮想化されたアビオニクスシステムに関する。
最新の航空機は、動作および機能を制御するための計算装置を使用している。航空機に使用される特定の計算装置は、「ライン交換可能ユニット(line replaceable unit)」(LRU)と呼ばれることがある。航空機は、例えば、ミッションコンピュータ、飛行管理ユニット、自動操縦ユニット、通信ユニット、航法ユニット(navigation unit)、衝突回避ユニット、などを含む多くの異なるタイプのLRUを搬送することがある。LRUは航空機運航中に重要な機能を果たすことができるので、航空機は、かなりの重量を加えかつ航空機上の貴重な空間を消費する多数の冗長LRUを含むことがある。さらに、保有航空機は、同じタイプのLRUの異なるバージョンを使用することができる。しかしながら、様々なLRUのタイプおよびバージョンを開発し、試験し、かつ維持するには、かなりのライフサイクルコスト(例えば、エンジニアリング、製造、試験、統合、資格取得、整備、および保管)を伴う。例えば、航空機システム内のまたは様々なLRU相互間の非互換性または他のアーチファクトは、LRUの構成および統合が完結するまで発見されないことがある。さらに、航空機上に設置されるLRUはそれぞれ、(例えば、重量を加えかつ範囲を減少させることにより)運用コストを増大させる。
本開示は、仮想ハードウェア(virtual hardware)を使用してハードウェア装置をエミュレートすること(emulating)を対象とする。本開示による様々な実施態様によるプロセスが、ハードウェア装置をエミュレートするように構成された仮想化システムの仮想装置を使用することを含む。このプロセスは、仮想装置を含む仮想化システムのインスタンスを物理システム内にインストールすることも含む。このプロセスは、仮想装置を使用して物理システムのハードウェア装置をエミュレートすることをさらに含む。さらに、このプロセスは、仮想装置を使用して物理システムの機器と通信することを含む。
さらに、本開示による様々な実施態様によるシステムが、プロセッサとプログラム命令を格納するコンピュータ可読記憶装置とを有する仮想化システムのインスタンスを含む。プログラム命令は、プロセッサによって実行されたときに、仮想化システムに、仮想装置を使用して専用計算ユニットをエミュレートすることを含む動作を実行させる。このシステムは、仮想化システムのインスタンスを通信可能に接続するコンピュータネットワークも含む。このシステムは、コンピュータネットワークを使用して専用計算ユニットと通信する機器をさらに含む。
さらに、本開示による様々な実施態様による航空機プラットフォームは、アビオニクスネットワークと、アビオニクスネットワークによって通信可能に接続されるライン交換可能アビオニクスユニットと、アビオニクスネットワークを使用して複数のライン交換可能ユニットと通信するように構成された航空機機器と、仮想化システムのインスタンスと、を含む。仮想化システムは、プロセッサおよびプログラム命令を保存するコンピュータ可読記憶装置を含む。プログラム命令は、プロセッサによって実行されたときに、仮想化システムに、複数の仮想装置を使用して複数のライン交換可能アビオニクスユニットをエミュレートすることを含む動作を実行させる。仮想化システムのインスタンスは、航空機プラットフォーム内に互いに遠隔配置される。仮想装置は、複数のライン交換可能ユニットを冗長に操作する。
添付の図面は、本明細書に組み込まれかつ本明細書の一部を構成するものであり、本教示を例示するとともに、本明細書と共に本開示の原理を説明する働きをする。
本開示の諸態様による、システムおよびプロセスを実施するための環境の一例を示すシステムブロック図である。 本開示の諸態様による物理ハードウェアシステムの一例を示すシステムブロック図である。 本開示の諸態様による仮想化システムの一例を示すシステムブロック図である。 本開示の諸態様による、システム、方法、およびコンピュータプログラムによって実行されるプロセスの一例を示す機能流れ図である。
本明細書で開示されるシステム、プロセス、およびコンピュータプログラムは、仮想ハードウェアを使用して専用ハードウェア装置の高忠実度エミュレーションを行うことを対象とする。本開示によるシステム、プロセス、およびコンピュータプログラムプロダクトの諸実施態様は、運用システムの専用ハードウェア装置を仮想化されたハードウェアで置き換えるまたは補うことにより既存のコンピュータハードウェア技術が改善される。本開示による仮想化システムは、いくつかの異なるハードウェア装置および同ハードウェア装置の物理インタフェースをエミュレートすることができる。例えば、単一仮想化システムが、航空機プラットフォーム(例えばLRU)および同航空機プラットフォームの関連接続性装置(例えば、配電盤およびネットワーク構成要素)のアビオニクススイート(avionics suite)全体をエミュレートすることができる。また、仮想化システムはアビオニクススイートよりも実質的に小型かつ/または軽量であり得るので、ハードウェア装置を置き換えるまたは補うことで、本開示による仮想化システムは、複数層の冗長性を提供するとともに、かかる冗長性を提供するために普通ならハードウェア装置によって使用されるはずの空間および重量を最小限に抑えることができる。
さらに、本開示による諸実施態様は、以前に本明細書で特定された現行ハードウェアシステム(例えば、アビオニクスシステム)の問題を解決する。例えば、本開示による仮想化システムは、製品開発ライフサイクルにおける非常に早い段階で仮想ハードウェアを利用可能にすることにより開発コストを節減することができ、それによって要件開発、ソフトウェア開発、および試験のより早期の性能を可能にすることができる。物理ハードウェア装置に比べて仮想ハードウェアの早期の可用性により、製品の要件および設計における問題のより早期の発見も可能になる。さらに、本開示による仮想化システムは、仮想化システムによってエミュレートされる各ハードウェア装置(例えばLRU)に対してではなく、仮想化システムのハードウェアに対してかかるコストを1度だけ負担することにより、資格取得コストを低減することができる。さらに、本開示による仮想化システムはコストを大幅に節減することができる、というのは、仮想化システムは、複数の異なる専用ハードウェア装置の代わりに、低コストの一般的なかつ/または在庫品のハードウェア上に実装され得るからである。さらに、現行の仮想化システムは試験目的で装置エミュレーションを支援することができるが、このような現行仮想化システムは、ソフトウェアが実際のハードウェア装置上でどのように実行するのかを正確には表さない。したがって、本明細書で提示される実施態様と一致する実施態様は、低水準のシステム機能性を正確に提示することでそうした問題に対処することができる。
図1は、本開示の諸態様によるシステムおよびプロセスを実施するための環境100の一例を示すシステムブロック図を示す。環境100は物理システム105を備えることができ、物理システム105は、ハードウェア装置109(例えば、アビオニクス装置または計算装置)と1つまたは複数の仮想化システム111と機器113とを含むことができ、これらはすべて、ネットワーク121内で通信リンク119によって接続され得る。いくつかの実施態様では、物理システム105は運用システム(例えば、ビークルまたはプラント)とすることができる。いくつかの実施態様では、物理システム105は、試験および評価システム(例えば、ビークルシミュレータまたは統合テストベンチ)とすることができる。
図1に示されているように、物理システム105は、ハードウェア装置109をエミュレートする仮想化システム111A、111Bおよび111Cの複数のインスタンスを有する航空機プラットフォームとすることができる。いくつかの実施態様では、仮想化システム111のインスタンスの一部または全部がハードウェア装置109を冗長にすることができ、物理システムは、ハードウェア装置109のうちの1つまたは複数が故障した場合に仮想化システム111にフェイルオーバする(failover)ことができる。例えば、仮想化システム111のインスタンスは、ハードウェア装置109にフェイルオーバを提供することができる。いくつかの実施態様では、仮想化システム111のインスタンスの一部または全部が、ハードウェア装置109と並列に機能することができる。例えば、ハードウェア装置109および仮想化システム111のインスタンスは、物理システム105の頑健性を高めるために投票動作を実行することができる。
ハードウェア装置109は、1つまたは複数のコンピュータ実装ハードウェア装置とすることができる。諸実施態様では、ハードウェア装置109は、ハードウェア装置109にインストールされたコンピュータプログラム命令を実行することができる専用計算ユニット(例えば、アプリケーション専用計算装置)とすることができる。例えば、ハードウェア装置109は、1つまたは複数のアビオニクス装置(例えば、アビオニクススイートのLRU)を含むことができる。
仮想化システム111は、ハードウェア装置109をエミュレートするハードウェアおよびソフトウェアからなる計算システムとすることができる。諸実施態様では、仮想化システム111はそれぞれ、複数のハードウェア装置をエミュレートする1つまたは複数の仮想ハードウェア装置のホストとなる1つまたは複数の汎用コンピュータ、ならびにかかるハードウェア装置のインタフェースおよび接続性とすることができる。例えば、仮想化システム111は、ハードウェア装置109のハードウェアおよびソフトウェアインタフェース(例えば、周辺機器、データリンク、割り込み挙動、およびタイミング要件)のエミュレーションを含むことができる。さらに、諸実施態様では、仮想化システム111は、異なるハードウェア装置109によって実行されるアプリケーションソフトウェアの正確なコピーまたは実質的に正確なコピー(例えば画像)を実行することができる。例えば、仮想化システム111は、ハードウェア仮想化を実行するオープンソースソフトウェアであるQUICK EMULATOR(「QEMU」)を使用することができる。
機器113は、ハードウェア装置109および仮想化システム111と通信しかつ/またはハードウェア装置109および仮想化システム111によって制御される1つまたは複数の装置またはシステムとすることができる。諸実施態様では、機器113の1つまたは複数の装置は、通信リンク119を介してハードウェア装置109および仮想化システム111と通信するネットワークインタフェースを含む。機器113は、航空機飛行制御装置(例えば、操縦桿、ペダル、およびスロットル)、入力/出力システム(例えば、スイッチおよびボタン)、センサ(例えば、位置センサおよびピトー管)、アクチュエータ(例えば、サーボモーター)、ディスプレイ(例えば、コックピットディスプレイ)、照明などの様々な入力/出力装置を含むことができる。例えば、機器113は、ハードウェア装置109および仮想化システム113内の物理および/または仮想飛行制御LRUにステアリング入力を与える航空機操縦桿およびスロットルを含むことができる。さらに、例えば、機器は、ハードウェア装置109および仮想化システム113内の航法LRUから航法情報を送信および受信する航法およびディスプレイユニットを含むことができる。
通信リンク119は、ハードウェア装置109、仮想化システム111、および機器113を含む、物理システム105のネットワーク121内で互いに接続された様々な装置とコンピュータとの間で通信するために使用される媒体とすることができる。例に示されているように、ネットワーク121は、ハードウェア装置109、仮想化システム111、および機器113を通信可能に接続する。例えば、ネットワーク121は、アビオニクスLRUを通信可能に連接するアビオニクスネットワークとすることができる。通信リンク119は、有線および/または無線通信リンクとすることができる。
いくつかの実施態様では、環境100は、通信リンク127を介してハードウェア装置109および仮想化システム111に通信可能に連接される第2の物理システム125を含む。物理システム125および通信リンク127は、前述の物理システム105および通信リンク119と同じまたは同様のものとすることができる。いくつかの実施態様では、物理システム105は航空機とすることができ、物理システム125は、仮想化システム111およびハードウェア装置109と通信する地上試験プラットフォームとすることができる。例えば、物理システム125は、ライブラリまたは記憶システムにソフトウェア航空機部品を保管することができる。また、物理システムは、通信リンク127を使用して(例えば、Aircraft Communications、Addressing and Reporting System(ACARS)や他の航空交通ネットワーク(ATN)などの商用データリンクを使用して)物理システム105に接続される別の航空機プラットフォーム、航空交通管制(ATC)システム、または整備システムとすることができる。
いくつかの実施態様では、物理システム125は、上述したように、仮想化システム111A、111B、および111Cのインスタンスと同じまたは同様の方法でハードウェア装置109のうちの1つまたは複数をエミュレートする仮想化システム111Dのインスタンスを実行する汎用計算システムを備えるエンジニアリングシステム、開発システム、および/または試験システムを備える。したがって、いくつかの実施態様によれば、開発者(例えば、ソフトウェアコーダ)が、物理システム125内の仮想化システム111を仮想化システム111Dとして生成および/または修正することができる。仮想化システム111Dの修正済みインスタンスは、物理システム125内で試験または変更され得る。さらに、仮想化システム111Dの修正済みインスタンスは、物理システム105と組み合わせて試験され得る。例えば、仮想化システム111Dは、他のインスタンス(例えば、111A、111B、および111C)が航空機上にインストールされる前に仮想化システム111Dの機能性を確認および/または検証するために、航空機の物理装置109および機器113と共にインストール済みシステム試験に使用することができる。仮想化システム111Dの修正済みインスタンスが確認された後、仮想化システム111A、111Bおよび111Cのインスタンスを置き換えるためにコピーが物理システム125から物理システム105に継ぎ目なく移植され得る。
上述したように、仮想化システム111は、仮想化システム111の単一インスタンスを使用していくつかのハードウェア装置109をエミュレートすることにより既存の技術が改善される。したがって、仮想化システム111は、ハードウェア装置109よりも実質的に小型かつ軽量であり得る。さらに、仮想化システム111は、各仮想化システム111が物理システム105を互いに遠く離れた箇所に物理的に分散され得るので、既存技術が改善される。例えば、図1に示されている例では、仮想化システム111は、航空機プラットフォームの前部、中間部、および後部に分散され得る。いくつかの実施態様では、追加の仮想化システム111が航空機の周囲に配置され得る。したがって、仮想化システム111の分散されたインスタンスは、物理システム105の重量を実質的に増大させずに、航空機に局部損傷を与えた場合にハードウェア装置に対してかつ互いに複数のフェイルオーバを、提供することができる。さらに、仮想化システム111のインスタンスを分散させることにより、本開示の諸実施態様は、通信リンク119および127を横切る情報の帯域幅および待ち時間を減少させることができる。例えば、LIDAR LRUからリアルタイム、フルモーション、3次元カラー画像を処理する仮想化システム111Aの特定のインスタンスがLIDAR LRUに隣接して配置され、通信待ち時間を短縮しかつハードウェア装置109にかかる処理負荷を低減するためにかかるLRUの出力を処理する責任を委譲され得る。
図2は、本開示の諸態様による物理ハードウェアシステム105の一例を示すシステムブロック図を示す。物理ハードウェアシステム105は、前述したものと同じまたは同様のものとすることができる。物理ハードウェアシステム105は、ハードウェア装置109A、109Bおよび109Cと、1つまたは複数の仮想化システム111A、111B、111Cと、機器113と、通信リンク119と、ネットワーク121と、を含み、これらもまた、前述したものと同じまたは同様のものとすることができる。
仮想化システム111A、111Bおよび111Cは、1つまたは複数の仮想装置211A、211Bおよび211Cとネットワークインタフェース215とを含むことができる。仮想装置211は、仮想化システム111内でハードウェア装置109A、109Bおよび109Cのエミュレーションとすることができる。仮想装置211は、2017年3月31日に出願された米国特許出願第15/476,025号明細書に記載され、米国特許出願公開第2018/0285134号明細書として後で公開されるものと同じまたは同様の方法で生成することができる。仮想装置211のプログラムコードは、ハードウェア装置109(例えば、アビオニクスLRU)用のアプリケーションコードとすることができる。例えば、ハードウェア装置109A、109B、および109Cはそれぞれ、ミッションコンピュータLRU、飛行管理LRU、および航法LRUとすることができる。1つまたは複数の仮想化システム111の仮想装置211A、211B、および211Cはそれぞれ、仮想ミッションコンピュータLRU、仮想飛行管理LRU、および仮想航法LRUとすることができる。プログラムコードは、ソースコード(例えば、オペレーティングシステム)、インタフェースコード(例えば、タイミングおよびフォーマッティング)、ならびに/あるいはハードウェアコンポーネントの割り込みロジックおよびハードウェア装置109に含まれる通信リンクも含むことができる。
いくつかの実施態様では、仮想装置211は、ハードウェア装置109に対してかつ互いに対して垂直および/または水平冗長を提供することができる。したがって、諸実施態様では、仮想装置211は、ハードウェア装置109のいずれかが故障した場合にフェイルオーバを提供することができる。例えば、対応するハードウェア装置109Aが所定の期間にわたって通信していないことを仮想装置211Aが決定する場合、または対応するハードウェア装置109Aが故障事象を示したことを仮想装置211Aが決定する場合、仮想装置211Aは、ハードウェア装置109Aの代わりに仮想装置211A自体をネットワーク121内に使うことができる。さらに、いくつかの実施態様では、仮想装置211は、ハードウェア装置109と組み合わせて動作することができる。例えば、仮想化装置111A、111Bおよび111C内の仮想装置211Aはそれぞれ、ハードウェア装置109に対してならびに互いに対して機能照合検査を行うことができる。さらに、仮想化システム111A、111Bおよび111C内の仮想装置211Aはそれぞれ、様々な装置109および211の間に起こる投票エラーを決定するように機能することができる。
図3は、仮想化システム111の一例を示すシステムブロック図を示し、この仮想化システム111は上述したものと同じまたは同様のものとすることができる。仮想化システム111は、本明細書で開示されるプロセスおよび機能を実行するハードウェアおよびソフトウェアを含む。仮想化システム111は、仮想化システム111にインストールされたコンピュータプログラム命令を実行することができる汎用ハードウェアおよび/または専用ハードウェアを組み合わせたものを含む任意のタイプの計算システムを備えることができる。仮想化システム111は、ハウジング301、計算装置303、および記憶装置315を含むことができる。ハウジング301は、計算装置303、入力/出力(I/O)装置313、および記憶装置315を実質的にまたは完全に収容することができる。諸実施態様では、ハウジング301は耐久性を高めた筐体とすることができる。例えば、ハウジング301は、振動、湿気、および電磁干渉に対して耐久性を高めたアビオニクス筐体とすることができる。
記憶装置315は、情報およびプログラム命令を格納するコンピュータ可読不揮発性ハードウェア記憶装置を備えることができる。例えば、記憶装置315は、1つまたは複数のフラッシュドライブおよび/またはハードディスクドライブとすることができる。本開示の諸態様によれば、記憶装置315は、仮想装置317A、317Bおよび317C(例えば、仮想装置211A、211Bおよび211C)のプログラムコード(「PC」)を格納することができる。プログラムコードは、物理ハードウェア装置(例えば、物理システム105のハードウェア装置109A、109Bおよび109C)のアプリケーションソフトウェアとすることができる。諸実施態様では、仮想装置317A、317Bおよび317Cのプログラムコードは、対応する物理ハードウェア装置のプログラムコードを、上述した2017年3月31日に出願された米国特許出願第15/476,025号明細書に記載されているものと同じまたは同様の方法で実質的にミラーリングする。
諸実施態様では、計算装置303は、1つまたは複数のプロセッサ339(例えば、マイクロプロセッサ、マイクロチップ、またはアプリケーション専用集積回路)と、1つまたは複数のメモリ装置341(例えば、RAM、読出し専用メモリ(ROM))と、1つまたは複数のI/Oインタフェース343と、1つまたは複数のネットワークインタフェース装置215と、を含む。メモリ装置341は、プログラム命令の実行中に用いられるローカルメモリ(例えば、ランダムアクセスメモリおよびキャッシュメモリ)を含むことができる。さらに、計算装置303は、計算装置303がI/O装置313および記憶装置315と通信する手段である少なくとも1つの通信路344(例えば、データバス)を含む。プロセッサ339は、メモリ装置341および/または記憶装置315に格納され得るコンピュータプログラム命令(例えば、オペレーティングシステムおよび/またはアプリケーションプログラム)を実行する。
プロセッサ339は、仮想化アプリケーション351(例えば、QEMU)のコンピュータプログラム命令も実行することができる。仮想化アプリケーション351は、前述したものと同じまたは同様のものとすることができる。例えば、仮想化アプリケーション351は、ハイパーバイザまたは仮想マシンモニタソフトウェアを含むことができる。本開示の諸態様によれば、仮想化アプリケーション351は、仮想装置(例えば、仮想装置211A、211Bおよび211C)を設けるために仮想装置プログラムコード317A、317B、317Cを処理することができる。
計算装置303は、本明細に記載されているプロセスを実行することができる種々の可能な等価計算装置を表すことに留意されたい。開示済み実施形態では、プログラム命令およびハードウェアは、標準的なプログラミング技法およびエンジニアリング技法を用いて汎用計算装置で生成することができる。
図4の流れ図は、本開示による様々な実施態様によるシステム、方法、およびコンピュータプログラムプロダクトの可能な実施態様の機能性および動作の一例を示す。図4の流れ図の各ブロックは、プログラム命令のモジュール、セグメント、または一部を表すことができ、プログラム命令は、例示した機能または動作を実施するための1つまたは複数のコンピュータ実行可能命令を含む。いくつかの代替実施態様では、流れ図の特定のブロックに例示されている機能および/または動作は、図4に示されている順序を外れて行うことができる。例えば、連続して示されている2つのブロックは実質的に同時に実行され得る、あるいはこれらの2つのブロックは、関係する機能性に応じて逆の順序で実行され得ることがある。流れ図の各ブロックおよびブロック内のブロックを組み合わせたものは、特定の機能または動きを実行する専用ハードウェアベースのシステム、あるいは専用ハードウェアおよびコンピュータ命令を組み合わせたものによって実施され得ることにも留意されたい。
図4は、本開示の一実施形態に従って実行される動作を含む例示的なプロセス400の流れ図を示す。諸実施態様では、プロセス400は、仮想化システムを使用して専用ハードウェア装置を仮想装置としてエミュレートするとともに、航空機プラットフォームなどの物理システム内に仮想化システムの複数のインスタンスをインストールするために使用することができる。より具体的には、405で、物理ハードウェアシステム(例えば、物理システム105)のハードウェア装置(例えば、ハードウェア装置109)は、仮想化システム(例えば、仮想化システム111)の仮想装置(例えば、仮想装置211)を使用してエミュレートすることができる。例えば、ハードウェア装置は、航空機プラットフォームのアビオニクスLRUとすることができる。仮想装置は、仮想化システム内で実施されるハードウェア装置のプログラムコードを含むことができる。エミュレートすることは、物理ハードウェアシステムおよび/または仮想装置のアドレス空間に合うように仮想化システムのアドレス空間を(例えば、メモリマップを使用して)構成することを含むことができる。エミュレートすることは、メモリマップを使用してメモリ箇所を記録することにより仮想化システムおよび/または仮想装置の間で情報を交換することも含むことができる。例えば、物理ハードウェアシステムおよびハードウェア装置のメモリレジスタのメモリアドレスおよび範囲は、仮想化システムで記録され、仮想化システムおよび仮想装置について見出される各メモリレジスタの機能性を実施するために使用され得る。そうすることにより、仮想化システムおよび仮想装置は、物理ハードウェアシステムのハードウェア装置と同じ方法で情報を読み書きすることにより仮想化システムのメモリ構成を介してコンピュータネットワーク(例えば、コンピュータネットワーク121)と通信することができる。
409で、仮想化システムは、405で仮想化システムを使用してハードウェア装置の動作をエミュレートすることによってエミュレートされた仮想装置を修正し試験するために使用することができる。本明細書で前述した例によれば、仮想化システムは、エンジニアリング、開発および/または試験システムを使用して修正および/または試験することができ、このシステムは、ハードウェア装置(例えば、ハードウェア装置109)のうちの1つまたは複数あるいはかかる装置のシステムをエミュレートする汎用計算システム(例えば、物理システム125)とすることができる。さらに、前述の通り、仮想化システムは、仮想化システム(例えば、物理システム105)のターゲットシステムと組み合わせて試験することができる。例えば、仮想化システムは、仮想化システムの機能性を確認および/または検証するために、航空機のインストール済みシステム試験に使用することができる。
413で、仮想化システムの1つまたは複数のインスタンスが、物理ハードウェアシステム(例えば、物理システム105)内にインストールされ得る。仮想化システムのいくつかのインスタンス(例えば、仮想化のインスタンス111A、111Bおよび111C)は、409で試験された仮想化システム(例えば、インスタンス111D)のコピーとすることができ、ターゲットシステム(例えば、物理システム105)上にインストールされ、ターゲットシステムのネットワーク(例えば、ネットワーク121)内に通信可能に接続され得る。例えば、仮想化システムのインスタンスはアビオニクスLRUをエミュレートすることができ、運用航空機プラットフォームのアビオニクスネットワークに組み込むことができる。諸実施態様では、仮想化システムの様々なインスタンスは、互いに対して遠隔箇所(例えば、箇所112)にインストールされ得る。そうすることで、航空機の一領域への局部損傷が仮想化システムのすべてのインスタンスに損傷を与えるのを回避するように仮想化システムのインスタンスを配置することができる。例えば、航空機では、第1のインスタンスが航空機胴体の前部に配置されてもよく、第2のインスタンスが中央胴体に配置されてもよく、第3のインスタンスが胴体の後部に配置されてもよい。追加のインスタンスが、航空機の他の箇所に配置されてもよい。いくつかの実施態様では、417で、仮想化システムの1つまたは複数のインスタンスをインストールすることは、ハードウェア装置を完全に置き換えるとともに、仮想化システムだけを使用して物理ハードウェアシステムを制御するように、運用システムからハードウェア装置の一部または全部を除去することを含む。
421で、413でインストールされた仮想装置は、本明細書で前述したように、物理ハードウェアシステム内のハードウェア装置をエミュレートするために使用することができる。諸実施態様では、423で、413でインストールされた1つまたは複数の仮想化システムは、ネットワークを使用して物理システムの機器と通信することができる。例えば、機器は、制御システム(例えば、操縦桿、ペダル、およびスロットル)、入力/出力システム(例えば、スイッチおよびボタン)、センサ(例えば、位置センサおよびピトー管)、アクチュエータ(例えば、サーボモーター)、ディスプレイ(例えば、コックピットディスプレイ)、照明など、航空機プラットフォームの入力/出力装置とすることができる。いくつかの実施態様では、425で、ハードウェア装置をエミュレートすることは、1つまたは複数の仮想装置を1つまたは複数のハードウェア装置と並列に操作することを含むことができる。いくつかの実施態様では、429で、ハードウェア装置をエミュレートすることは、ハードウェア装置および/または仮想装置を使用して機能照合検査をすることを含むことができる。また、いくつかの実施態様では、433で、ハードウェア装置をエミュレートすることは、ハードウェア装置および/または仮想装置を使用して投票エラーを決定することを含むことができる。
437で、仮想装置は、ハードウェア装置のうちの1つまたは複数ならびに/あるいは仮想化システムのうちの1つまたは複数が故障していることを決定することができる。例えば、仮想航法LRUは、対応するハードウェア航法LRUが、例えば損傷、誤動作、または電力損失に起因し得る、通信を中断していることを検出することができる。441で、仮想装置は、437で故障していると決定されたハードウェア装置または仮想化システムにフェイルオーバとして機能することができる。例えば、航空機のアビオニクスベイに損傷が発生すると、アビオニクススイート(例えば、ハードウェア装置109)および第1の仮想化システム(例えば、仮想化システム111A)の故障を引き起こし得る。413で航空機にインストールされた第2の仮想化システム(例えば、仮想化システム111B)および/または第3の仮想化システム(例えば、仮想化システム111C)は、第1の仮想化システムの故障を検出し、その検出に基づいて航空機の機器(例えば、機器113)を制御し始めることができる。いくつかの実施態様では、第1の仮想化システム、第2の仮想化システム、および第3の仮想化システムは、所定のフェイルオーバ優先権を有することができる。例えば、第2の仮想化システムが第1の仮想化システムに対するフェイルオーバとして構成され、第3の仮想化システムが第2の仮想化システムに対するフェイルオーバとして構成されるようにする。他の実施態様では、第1の仮想化システム、第2の仮想化システム、および第3の仮想化システムは、仮想化システムのうちのいずれか1つが故障した場合、残りの仮想化システムが故障した仮想化システムと無関係に動作し続けるように、並列に動作する。
さらに、本開示は次項による例を含む。
項1.1つまたは複数のハードウェア装置(109)を、1つまたは複数のハードウェア装置をエミュレートするように構成された仮想化システム(111)の仮想装置(211)を使用してエミュレートするステップ(405)と、仮想装置を含む仮想化システム(111A、111B、111C)の1つまたは複数のインスタンスを物理システム(105)内にインストールするステップ(413)と、仮想装置のうちの1つまたは複数を使用して仮想化システムのハードウェア装置のうちの1つまたは複数をエミュレートするステップ(421)と、仮想装置のうちの1つまたは複数を使用して物理システムの機器(113)と通信するステップ(423)と、を含む方法。
項2.物理システムが航空機プラットフォームを備え、ハードウェア装置がライン交換可能ユニットを備え、機器が航空機プラットフォームの入力/出力装置を備える、項1に記載の方法。
項3.ハードウェア装置のうちの1つまたは複数をエミュレートするステップが、ハードウェア装置のうちの1つまたは複数を第2の物理システム(125)内でエミュレートするステップを含み、インストールするステップが、仮想化システムのコピーを第2の物理システムから物理システムに転送するステップを含む、項2に記載の方法。
項4.仮想化システムの1つまたは複数のインスタンスが仮想化システムの少なくとも2つのインスタンスを含み、インストールするステップが、仮想化システムの少なくとも2つのインスタンスを互いに遠く離れている物理システム内の箇所(112)にインストールするステップを含む、項1に記載の方法。
項5.インストールするステップが、仮想化システムを、ハードウェア装置を含むコンピュータネットワーク(121)に通信可能に接続するステップを含む、項1に記載の方法。
項6.インストールするステップが、物理システムからハードウェア装置のうちの1つまたは複数を除去するステップを含む、項1に記載の方法。
項7.機器と通信するステップが、ハードウェア装置のうちの1つまたは複数の機器を冗長に制御するステップ(421)を含む、項1に記載の方法。
項8.通信するステップが、複数の仮想装置をハードウェア装置のうちの1つまたは複数と組み合わせて操作するステップ(425)を含む、項1に記載の方法。
項9.機器と通信するステップが、ハードウェア装置のうちの1つまたは複数と仮想装置のうちの1つまたは複数とを使用して機能照合検査を行うステップ(429)を含む、項1に記載の方法。
項10.物理機器と通信するステップが、ハードウェア装置のうちの1つまたは複数と仮想装置のうちの1つまたは複数とを使用して投票エラーを決定するステップ(433)を含む、項1に記載の方法。
項11.仮想化システム(111A、111B、111C)の複数のインスタンスであって、仮想化システムがプロセッサ(339)およびプログラム命令(351)を格納するコンピュータ可読記憶装置(315)を備え、プログラム命令(351)は、プロセッサによって実行されたときに、仮想化システムに、複数の仮想装置を使用して複数の専用計算ユニット(109)をエミュレートするステップ(421)を含む動作を実行させる、複数のインスタンスと、仮想化システムの複数のインスタンスを通信可能に接続するコンピュータネットワーク(121)と、コンピュータネットワークを使用して複数の専用計算ユニットと通信するように構成された機器(113)と、を備えるシステム。
項12.コンピュータネットワークに通信可能に接続される複数の専用計算ユニットをさらに備える、項11に記載のシステム。
項13.システムが航空機プラットフォームを備え、複数の専用計算ユニットがライン交換可能ユニットを備え、機器が航空機プラットフォームの入力/出力装置を備える、項12に記載のシステム。
項14.仮想化システムの複数のインスタンスが汎用計算システムを備える、項11に記載のシステム。
項15.仮想化システムの複数のインスタンスが、システム内に互いに遠く離れている箇所(112)にインストールされる、項11に記載のシステム。
項16.仮想化システムの複数のインスタンスが、複数の専用計算ユニットの機器を冗長に制御するように構成される、項11に記載のシステム。
項17.仮想化システムの複数のインスタンスが、複数の仮想装置を使用して複数の専用計算ユニットと組み合わせて動作する(425)ように構成される、項11に記載のシステム。
項18.仮想化システムの複数のインスタンスが、複数の仮想装置を使用して1つまたは複数の専用計算ユニットの機能照合検査を行う(429)ように構成される、項11に記載のシステム。
項19.仮想化システムの複数のインスタンスが、複数の仮想装置を使用して投票エラーを決定する(433)ように構成される、項11に記載のシステム。
項20.アビオニクスネットワーク(121)と、アビオニクスネットワークによって通信可能に接続される複数のライン交換可能アビオニクスユニット(109)と、アビオニクスネットワークを使用して複数のライン交換可能ユニットと通信するように構成された航空機機器(113)と、仮想化システム(111A、111B、111C)の複数のインスタンスであって、仮想化システムがプロセッサ(339)およびプログラム命令(351)を格納するコンピュータ可読記憶装置(315)を備え、プログラム命令(351)は、プロセッサによって実行されたときに、仮想化システムに、複数の仮想装置を使用して複数のライン交換可能アビオニクスユニットをエミュレートすることを含む動作を実行させる、複数のインスタンスと、を備える航空機プラットフォームであって、仮想化システムの複数のインスタンスが航空機プラットフォーム内に互いに遠隔配置され(112)、複数の仮想装置が、複数のライン交換可能ユニットを冗長に操作するように構成される、航空機プラットフォーム。
本開示は、様々な態様の例示として意図されている、本出願に記載されている特定の実施形態に関して限定されるものではない。当業者には明らかなように、多くの修正および変更が本開示の主旨および範囲から逸脱することなくなされ得る。本開示の範囲内にある機能的に同等の方法および装置は、本明細書に列挙されたものに加えて、前述の説明から当業者には明らかであろう。このような修正および変更は、添付の特許請求の範囲内にあることを意図している。本開示は、かかる特許請求の範囲が権利を付与されている均等物の全範囲と共に、添付の特許請求の範囲の条件によってのみ限定されるものである。本明細書で用いられる用語は、特定の実施形態のみを説明するためのものであり、限定するものではないことも理解されるべきである。
実質的にすべての複数形および/または単数形の用語を本明細書で用いることに関して、当業者は、文脈および/または用途に適合するように複数形から単数形にかつ/または単数形から複数形に翻訳することができる。明瞭にするために、様々な単数形/複数形の順列が本明細書に明確に記述され得る。
当業者なら、一般に、本明細書において、特に添付の特許請求の範囲(例えば、添付の特許請求の範囲の本体部)において用いられる用語は、一般に、「オープンな(open)」用語として意図されていることを理解するであろう(例えば、用語「含む(including)」は「含むがそれに限定されない」と解釈されるべきであり、用語「有する(having)」は「少なくとも有する」と解釈されるべきであり、用語「含む(includes)」は「含むがそれに限定されない」と解釈されるべきである、など)。当業者なら、導入された請求項記載の特定の数が意図される場合、そのような意図はその請求項に明確に記載されることになり、そのような記載がない場合、そのような意図は存在しないことをさらに理解するであろう。例えば、理解を助けるものとして、下記の添付の特許請求の範囲は、請求項記載を導入するために導入句「少なくとも1つの(at least one)」および「1つまたは複数の(one or more)」の使用を含むことがある。しかしながら、かかる句の使用は、同じ請求項が導入句「1つまたは複数の」または「少なくとも1つ」と「a」や「an」などの不定冠詞(「a」および/または「an」は「少なくとも1つの」または「1つまたは複数の」とを意味すると解釈されるべきである)を含む場合でも、請求項の導入部の不定冠詞「a」または「an」の記載が、かかる導入済み請求項記載を含む特定の請求項をかかる記載を1つだけを含む実施形態に限定することを意味すると解釈されるべきではなく、請求項記載を導入するために用いられる定冠詞の使用にも同じことが当てはまる。加えて、導入された請求項記載の特定の数が明確に記載される場合でも、当業者は、そのような記載が少なくとも記載された数を意味すると解釈されるべきであることを認識するであろう(例えば、他に修飾語のない、単なる「2つの記載事項」の記載は、少なくとも2つの記載事項、または2つ以上の記載事項を意味する)。さらに、「A、B、およびCのうちの少なくとも1つ、など」に類似した表記が使用されるような場合、一般に、かかる構成は、当業者がかかる表記を理解するであろうという意味に意図されている(例えば、「A、B、およびCのうちの少なくとも1つを有するシステム」は、Aだけ、Bだけ、Cだけ、AおよびBをともに、AおよびCをともに、BおよびCをともに、および/またはA、B、およびCをともに、などを有するシステムを含むが、そのシステムに限定されるものではない)。さらに、「A、B、またはCのうちの少なくとも1つ、など」に類似した表記が使用されるような場合、一般に、かかる構成は、当業者がかかる表記を理解するであろうという意味に意図されている(例えば、「A、B、またはCのうちの少なくとも1つを有するシステム」は、Aだけ、Bだけ、Cだけ、AおよびBをともに、AおよびCをともに、BおよびCをともに、および/またはA、B、およびCをともに、などを有するシステムを含むが、そのシステムに限定されるものではない)。当業者なら、2つ以上の代替用語を表す実質的に任意の離接語および/または句は、本明細書、特許請求の範囲、または図面にあろうとなかろうと、用語の1つ、用語のどちらか、または両方の用語を含む可能性を考慮するように理解されるべきであることをさらに理解するであろう。例えば、句「AまたはB」は、「A」または「B」あるいは「A」および「B」である可能性を含むと理解されるであろう。加えて、本開示の形態または態様がマーカッシュ群に関して記述されている場合、当業者なら、本開示が、それによりマーカッシュ群の任意の個々の部材または部材の部分群に関しても記述されていることを認識するであろう。
本明細書において様々な態様および実施形態が開示されているが、他の態様および実施形態が当業者には明らかであろう。本明細書で開示される様々な態様および実施形態は、例示の目的のためであり、限定するものではなく、真の範囲および主旨は下記の特許請求の範囲で示される。
100 環境
105 物理システム、物理ハードウェアシステム
109、109A~C ハードウェア装置
111 仮想化システム
111A 仮想化システム、インスタンス、仮想化装置
111B 仮想化システム、仮想化装置
111C 仮想化システム
111D 仮想化システム、インスタンス
112 箇所
113 機器
113 仮想化システム
119 通信リンク
121 コンピュータネットワーク
125 第2の物理システム
211、211A~C 仮想装置
215 ネットワークインタフェース、ネットワークインタフェース装置
301 ハウジング
303 計算装置
315 コンピュータ可読記憶装置
317A~C 仮想装置プログラムコード、仮想装置
339 プロセッサ
341 メモリ装置
343 I/Oインタフェース
344 通信路
351 仮想化アプリケーション
400 例示的プロセス

Claims (13)

1つまたは複数のハードウェア装置(109)を、前記1つまたは複数のハードウェア装置をエミュレートするように構成された仮想化システム(111)の仮想装置(211)を使用してエミュレートするステップ(405)と、
前記仮想装置を含む前記仮想化システム(111A、111B、111C)の1つまたは複数のインスタンスを物理システム(105)内にインストールするステップ(413)と、
前記仮想装置のうちの1つまたは複数を使用して前記物理システムの前記ハードウェア装置のうちの前記1つまたは複数をエミュレートするステップ(421)と、
前記仮想装置のうちの前記1つまたは複数を使用して前記物理システムの機器(113)と通信するステップ(423)と、
を含み、
前記物理システムが航空機プラットフォームを備え、
前記ハードウェア装置がライン交換可能ユニットを備え、
前記機器が前記航空機プラットフォームの入力/出力装置を備える、
方法。
前記ハードウェア装置のうちの前記1つまたは複数をエミュレートする前記ステップが、前記ハードウェア装置のうちの前記1つまたは複数を第2の物理システム(125)内でエミュレートするステップを含み、インストールする前記ステップが、前記仮想化システムのコピーを前記第2の物理システムから前記物理システムに転送するステップを含む、
請求項1に記載の方法。
前記仮想化システムの前記1つまたは複数のインスタンスが前記仮想化システムの少なくとも2つのインスタンスを含み、インストールする前記ステップが、前記仮想化システムの前記少なくとも2つのインスタンスを互いに遠く離れている前記物理システム内の箇所(112)にインストールするステップを含む、
請求項1に記載の方法。
インストールする前記ステップが、前記仮想化システムを、前記ハードウェア装置を含むコンピュータネットワーク(121)に通信可能に接続するステップを含む、請求項1に記載の方法。
インストールする前記ステップにおいて、前記ハードウェア装置のうちの前記1つまたは複数が、前記物理システムから除去されることが可能なように構成される、請求項1に記載の方法。
前記機器と通信する前記ステップが、前記ハードウェア装置のうちの前記1つまたは複数の前記機器を冗長に制御するステップ(421)を含む、請求項1に記載の方法。
通信する前記ステップが、前記複数の仮想装置を前記ハードウェア装置のうちの前記1つまたは複数と組み合わせて操作するステップ(425)を含む、請求項1に記載の方法。
前記機器と通信する前記ステップが、前記ハードウェア装置のうちの前記1つまたは複数と前記仮想装置のうちの前記1つまたは複数とを使用して機能照合検査を行うステップ(429)を含む、請求項1に記載の方法。
前記機器と通信する前記ステップが、前記ハードウェア装置のうちの前記1つまたは複数と前記仮想装置のうちの前記1つまたは複数とを使用して投票エラーを決定するステップ(433)を含む、請求項1に記載の方法。
仮想化システム(111A、111B、111C)の複数のインスタンスであって、前記仮想化システムがプロセッサ(339)およびプログラム命令(351)を格納するコンピュータ可読記憶装置(315)を備え、前記プログラム命令(351)は、前記プロセッサによって実行されたときに、前記仮想化システムに、複数の仮想装置を使用して複数の専用計算ユニット(109)をエミュレートするステップ(421)を含む動作を実行させる、複数のインスタンスと、
前記仮想化システムの前記複数のインスタンスを通信可能に接続するコンピュータネットワーク(121)と、
前記コンピュータネットワークを使用して前記複数の専用計算ユニットと通信するように構成された機器(113)と、
を備えるシステムであって、
前記システムが航空機プラットフォームを備え、
前記複数の専用計算ユニットがライン交換可能ユニットを備え、
前記機器が前記航空機プラットフォームの入力/出力装置を備える、
システム。
前記システムが、前記コンピュータネットワークに通信可能に接続される前記複数の専用計算ユニットをさらに備える、請求項10に記載のシステム。
前記仮想化システムの前記複数のインスタンスが汎用計算システムを備える、請求項10に記載のシステム。
前記仮想化システムの前記複数のインスタンスが、
前記システム内の互いに遠く離れている箇所(112)にインストールされ、
前記複数の専用計算ユニットの前記機器を冗長に制御するように構成され、
前記複数の仮想装置を使用して前記複数の専用計算ユニットと組み合わせて動作する(425)ように構成され、
前記複数の仮想装置を使用して1つまたは複数の専用計算ユニットの機能照合検査を行う(429)ように構成され、かつ
前記複数の仮想装置を使用して投票エラーを決定する(433)ように構成される、
のうちの少なくとも1つである、請求項10に記載のシステム。
JP2019028279A 2018-03-30 2019-02-20 運用環境用の仮想化されたアビオニクスシステム Active JP7427366B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/941,915 US11175937B2 (en) 2018-03-30 2018-03-30 Virtualized avionics systems for operational environments
US15/941,915 2018-03-30

Publications (2)

Publication Number Publication Date
JP2019185749A JP2019185749A (ja) 2019-10-24
JP7427366B2 true JP7427366B2 (ja) 2024-02-05

Family

ID=65724148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019028279A Active JP7427366B2 (ja) 2018-03-30 2019-02-20 運用環境用の仮想化されたアビオニクスシステム

Country Status (6)

Country Link
US (1) US11175937B2 (ja)
EP (1) EP3547123A3 (ja)
JP (1) JP7427366B2 (ja)
KR (1) KR20190114768A (ja)
CN (1) CN110321579A (ja)
RU (1) RU2019104285A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200117495A1 (en) * 2018-10-15 2020-04-16 GM Global Technology Operations LLC Zone compute and control architecture
CN110928197B (zh) * 2019-11-28 2021-08-17 西门子交通技术(北京)有限公司 列车自动控制的仿真测试方法和系统
EP3961389A1 (en) * 2020-08-26 2022-03-02 The Boeing Company Virtual machine for developing and testing target code for hardware designs
CN112015581A (zh) * 2020-08-28 2020-12-01 沃尔士环控系统工程(深圳)有限公司 一种清灰控制器备用点的冗余替换方法、系统及相关组件
US11834194B2 (en) * 2020-12-21 2023-12-05 Rockwell Collins, Inc. Rehosted flight operation command and control executive

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108639A (ja) 2000-09-29 2002-04-12 Toshiba Corp 分散コンピュータシステム及び同システムにおけるコンピュータ状態の多重化記憶方法
JP2007011491A (ja) 2005-06-28 2007-01-18 Xanavi Informatics Corp 情報端末、計算機資源管理方法、および仮想マシンの実行切り替え方法
JP2008234604A (ja) 2007-03-23 2008-10-02 Toshiba Corp クラスタシステム及びプログラム
JP2009040199A (ja) 2007-08-08 2009-02-26 Mitsubishi Electric Corp 運行管理用フォルトトレラントシステム
JP2010026828A (ja) 2008-07-22 2010-02-04 Hitachi Ltd 仮想計算機の制御方法
JP2011515719A (ja) 2007-10-31 2011-05-19 ザ・ボーイング・カンパニー 航空機データ処理システムのシミュレート方法および装置
JP2013500531A (ja) 2009-07-28 2013-01-07 エアバス 異なるセキュリティレベル又は異なる責任限界を必要とする機能を実施する多目的データの自動処理

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778203B1 (en) 1996-10-01 2000-02-08 Honeywell Emical Aircraft display and control system with virtual backplane architecture
US6895582B1 (en) 2000-09-11 2005-05-17 Rockwell Collins Method and apparatus for high assurance computing using virtual machines on general purpose computing resources
US6801769B1 (en) 2003-03-12 2004-10-05 The Boeing Company Modular aircraft information network system and an associated method of packaging the same
US8341298B2 (en) 2005-12-02 2012-12-25 The Boeing Company Scalable on-board open data network architecture
US8060074B2 (en) * 2007-07-30 2011-11-15 Mobile Iron, Inc. Virtual instance architecture for mobile device management systems
US7945436B2 (en) * 2007-11-06 2011-05-17 Vmware, Inc. Pass-through and emulation in a virtual machine environment
US8522237B2 (en) 2008-04-09 2013-08-27 The Boeing Company Virtualizing embedded systems
FR2946769B1 (fr) * 2009-06-16 2011-07-01 Airbus France Procede et dispositif de reconfiguration d'avionique.
WO2012005639A1 (en) * 2010-07-06 2012-01-12 Saab Ab Simulating and testing avionics
US20120271616A1 (en) * 2011-04-19 2012-10-25 Honeywell International Inc. Method of emulating a controller pilot data link communication human machine interface
US10372843B2 (en) 2014-02-07 2019-08-06 The Boeing Company Virtual aircraft network
US20160188675A1 (en) 2014-12-29 2016-06-30 Ge Aviation Systems Llc Network for digital emulation and repository
CN104991483B (zh) * 2015-05-19 2018-07-03 北京宇航系统工程研究所 一种基于虚拟化技术的测发控远程监控平台
US9938019B2 (en) * 2015-05-21 2018-04-10 The Boeing Company Systems and methods for detecting a security breach in an aircraft network
US10142365B2 (en) * 2016-01-22 2018-11-27 The Boeing Company System and methods for responding to cybersecurity threats
US10353727B2 (en) * 2016-05-26 2019-07-16 International Business Machines Corporation Extending trusted hypervisor functions with existing device drivers
US10162787B1 (en) * 2016-06-24 2018-12-25 Rockwell Collins, Inc. Multicore safe PCIe solution
US10409632B2 (en) * 2017-03-31 2019-09-10 The Boeing Company Emulation of hardware components based on interrupt design
US10795727B2 (en) * 2017-07-19 2020-10-06 Nicira, Inc. Flexible automated provisioning of single-root input/output virtualization (SR-IOV) devices
US20190121745A1 (en) * 2017-10-20 2019-04-25 Microsoft Technology Licensing, Llc Remapping virtual devices for virtual machines
US10938784B2 (en) * 2017-12-05 2021-03-02 Assured Information Security, Inc. Dedicating hardware devices to virtual machines in a computer system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108639A (ja) 2000-09-29 2002-04-12 Toshiba Corp 分散コンピュータシステム及び同システムにおけるコンピュータ状態の多重化記憶方法
JP2007011491A (ja) 2005-06-28 2007-01-18 Xanavi Informatics Corp 情報端末、計算機資源管理方法、および仮想マシンの実行切り替え方法
JP2008234604A (ja) 2007-03-23 2008-10-02 Toshiba Corp クラスタシステム及びプログラム
JP2009040199A (ja) 2007-08-08 2009-02-26 Mitsubishi Electric Corp 運行管理用フォルトトレラントシステム
JP2011515719A (ja) 2007-10-31 2011-05-19 ザ・ボーイング・カンパニー 航空機データ処理システムのシミュレート方法および装置
JP2010026828A (ja) 2008-07-22 2010-02-04 Hitachi Ltd 仮想計算機の制御方法
JP2013500531A (ja) 2009-07-28 2013-01-07 エアバス 異なるセキュリティレベル又は異なる責任限界を必要とする機能を実施する多目的データの自動処理

Also Published As

Publication number Publication date
RU2019104285A (ru) 2020-08-17
JP2019185749A (ja) 2019-10-24
EP3547123A3 (en) 2020-04-01
KR20190114768A (ko) 2019-10-10
CN110321579A (zh) 2019-10-11
US20190303188A1 (en) 2019-10-03
EP3547123A2 (en) 2019-10-02
US11175937B2 (en) 2021-11-16

Similar Documents

Publication Publication Date Title
JP7427366B2 (ja) 運用環境用の仮想化されたアビオニクスシステム
US8285913B2 (en) Storage apparatus and interface expansion authentication method therefor
EP3224712B1 (en) Support for application-transparent, highly-available gpu-computing with virtual machine (vm)-checkpointing
AU2002245678C1 (en) Method of recovering a flight critical computer after a radiation event
US9720808B2 (en) Offline debugging using a replicated operating environment
US9128913B2 (en) Method and device for testing input/output interfaces of avionic modules of IMA type
AU2002245678A1 (en) Method of recovering a flight critical computer after a radiation event
AU2019246793B2 (en) Generalized virtualization platform for systems using hardware abstraction software layers
US6319008B1 (en) Avionics simulator
US9250942B2 (en) Hardware emulation using on-the-fly virtualization
EP3435229B1 (en) System integration using virtualization
Schoofs et al. An integrated modular avionics development environment
US11586513B2 (en) Live migrating virtual machines to a target host upon fatal memory errors
Kleinert et al. Hardware-software co-simulation for medical x-ray control units
US20220083714A1 (en) Hosting pre-certified systems, remote activation of customer options, and optimization of flight algorithms in an emulated environment with real world operational conditions and data
Bateman et al. Hardware-in-the-loop demonstration of a virtual redundancy approach for safety assurance in the presence of sensor failures
KR101412576B1 (ko) 가상 보드 플랫폼, 시스템-온-칩 시뮬레이션 장치, 시스템-온-칩 시뮬레이션 방법 및 시스템-온-칩 검증 방법
Hess et al. Distributed Flight Control System with Automatic Transient Disturbance Recovery
KR20170064735A (ko) 통합 시뮬레이션 아키텍처
Park et al. Research flight control computer development for the flight control switching mechanism
Siegrist Computer Architecture Group, Computer Science Department, ABB Research Center, Baden, Switzerland

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230928

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240124

R150 Certificate of patent or registration of utility model

Ref document number: 7427366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150