JP5896423B2 - 単一プロセッサ・クラス3電子航空バッグ - Google Patents

単一プロセッサ・クラス3電子航空バッグ Download PDF

Info

Publication number
JP5896423B2
JP5896423B2 JP2012554101A JP2012554101A JP5896423B2 JP 5896423 B2 JP5896423 B2 JP 5896423B2 JP 2012554101 A JP2012554101 A JP 2012554101A JP 2012554101 A JP2012554101 A JP 2012554101A JP 5896423 B2 JP5896423 B2 JP 5896423B2
Authority
JP
Japan
Prior art keywords
class
air bag
operating system
application
type
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.)
Expired - Fee Related
Application number
JP2012554101A
Other languages
English (en)
Other versions
JP2013522091A (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.)
Astronautics Corp of America
Original Assignee
Astronautics Corp of America
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 Astronautics Corp of America filed Critical Astronautics Corp of America
Publication of JP2013522091A publication Critical patent/JP2013522091A/ja
Application granted granted Critical
Publication of JP5896423B2 publication Critical patent/JP5896423B2/ja
Expired - Fee Related 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Description

関連出願への相互参照
本出願は、2010年2月23日出願の米国暫定特許出願第61/307,012号明細書の利益を主張し、参照のためその全体を本明細書に援用する。
本発明は、航空機における補助コンピュータ機能を提供する電子航空バッグ(EFB:Electronic Flight Bag)に関し、特に、航空機内に恒久的に設置されタイプA、タイプB、タイプCアプリケーションを同時にホストし実行するのに好適なクラス3EFBに関する。
EFBは、航空機搭乗員がより容易に、より効率的に、そしてより少ない紙で飛行管理タスクを行なえるよう設計されたコンピュータシステムである。EFBの通常の計算プラットフォームは、航空機搭乗員により航空機上に持ち込む必要が伝統的にあるパイロットの機内持ち込み航空バッグ内の航空機操作マニュアル、航空用海図、その他アイテム等の紙の参考資料を低減または置換することを目的としている。EFB装置は、米国ではAdvisory Circular(AC)120−76Aに従って連邦航空局(FAA:Federal Aviation Administration)により、欧州では暫定ガイダンス冊子(TGL:Temporary Guidance Leaflet)36に従って欧州航空安全局(EASA:European Aviation Safety Agency)により、規制され、参照のためその全体を本明細書に援用する。
多くのケースでは、紙の参考文書を置換することを目的としたデータを供給しEFB上にそれを電子的に表示するように設計されたアプリケーションは、既製品(COTS:Commercial−Off−The−Shelf)オペレーティングシステム(OS)とソフトウェア部品例えばNET framework部品を有するマイクロソフトWindows(登録商標)OSと共に使用するために開発されている。これらのアプリケーションの例は、マニュアルと参考文書を表示するために使用されるドキュメントリーダー、端末チャートビュアー、電子ログブックアプリケーションである。
EFBは十分に成長し普及したので、操縦室内の表示装置を備えた追加コンピュータシステムの可用性は、主飛行表示システムと多機能表示装置とに伝統的に関連付けられた追加の機能性を提供するために利用された。これらは、位置、方位、飛行計画を含む航空機の現在状況に関連する航空電子データの表示装置を含む。従来のEFBの機能に加えてこれらの追加機能は、3つのアプリケーションカテゴリ:タイプA、タイプB、タイプCに分割される。タイプAアプリケーションは、伝統的に紙形式で呈示される予め用意されたデータの固定表現(電子パイロットマニュアル、参考文書、機器リスト、保守マニュアル)を含む。タイプBアプリケーションは、動的データと表現(端末チャート、性能計算、客室映像)を操作することができる対話型アプリケーションを含む。タイプCアプリケーションは、主飛行表示装置に通常関連付けられ、飛行安全性と乗務員作業量に影響を及ぼす可能性があるアイテムを含む。タイプCアプリケーションの例は、自身の航空機位置を表示する対話型ムービングマップ、あるいは洋上高度変更支援(In−Trail Procedures)またはマージング及び間隔保持(M&S:Merging and Spacing )のガイダンスを提供する放送型自動従属監視(ADS−B:Automatic Dependent Surveillance−Broadcast)処理装置と相互作用するアプリケーションであり、参照のためその全体を本明細書に援用する。
AC−120−76Aによると、タイプCアプリケーションは、その故障が乗務員安全と作業量に与える影響により判断される厳しさを有する航空機認証サービス(AIR:Aircraft Certification Service)設計承認を必要とする。航空無線技術委員会(RTCA:Radio Technical Commission for Aeronautics)は、航空電子装置で使用されるソフトウェアの設計承認を取得するためのFAA受諾ガイダンスDO−178B「航空システムおよび航空機器認証に関わるソフトウェア安全関連の規格(Software Considerations in Airborne Systems and Equipment Certification)」を発行する。RTCA社は、米国ワシントンD.C.を本拠とする営利法人ではない私的法人である。DO−178BはFAAからの設計保証承認を得るための1つの手段であるが唯一の手段ではない。
AC120−76Aによると、物理的EFBハードウェアは設置と用途とに基づき3つのクラスの1つに類別される。そのクラスはクラス1、クラス2、クラス3である。クラス1EFBは通常、ポータブルであるが航空機に取り付けられないラップトップまたはタブレットPC等のCOTSベースシステムである。クラス2EFBもまた通常、COTSベースのシステムであり、ポータブルであるが通常運転中航空機に接続される。クラス3EFBは、設置済み航空電子装置であり、クラス1EFBとクラス2EFBとは異なり、航空機上のその目的の機能に従う規定要件を満たす必要がある。RTCA社は、航空電子装置において使用されるハードウェアのAIR承認を取得するためのFAA承認受諾ガイダンスであるDO−160F「搭載機器に適用する環境条件及び試験手順(Environmental Conditions and Test Procedures)」を発行し、参照のためその全体を本明細書に援用する。
タイプAおよび/またはB(以降、タイプA/B)アプリケーションは任意のクラスのEFB上でホストされ、設計承認を必要としない。しかしながらタイプCアプリケーションは実際に設計承認を必要とし、クラス3EFB上においてだけホストされることができる。但し、アプリケーションが技術基準(TSO:Technical Standard Order)を有し、かつクラス1EFBまたはクラス2EFB上の他の被ホストアプリケーションが軽微な安全影響を及ぼすあるいは安全影響を全く及ぼさず、TSOを有するタイプCアプリケーションを妨害しない状況を除く。
単一のクラス3EFB上でタイプA/BアプリケーションとタイプCアプリケーションをホストする場合、設計承認されたタイプCアプリケーションと航空機インターフェースを、EFBに接続されたあるいはEFB上でホストされた航空機上のいかなる安全重要部品またはソフトウェアに対してもタイプA/Bアプリケーションからの悪影響も妨害も無いように、タイプA/Bアプリケーションから分離することが重要である。設計承認されたソフトウェアを分離し、EFBに接続された航空機部品を保護する現在の方法は、単一のEFB内に2つの別個のプロセッサ、すなわち、専用LinuxベースのオペレーティングシステムとタイプCアプリケーション等の設計承認されたオペレーティングシステムをホストするものと、米国ワシントン州マイクロソフト株式会社により製造されたWindows(登録商標)オペレーティングシステム等のCOTSオペレーティングシステムをホストするものと、を使用することである。2つのプロセッサを接続する回路は、EFBに接続された航空機インターフェースを保護するためにその動作を制御し、監視し、制限できるようにする設計承認されたオペレーティングシステムによりCOTSオペレーティングシステム上のハードウェア制御を提供する。2つの別個のプロセッサにより与えられる物理的分離は、タイプCアプリケーションのタイプA/Bアプリケーションからの十分な分離を与える。
本発明は、単一プロセッサ上でタイプA/BとタイプCアプリケーションの両方を実行し、これにより重量、消費電力、コストの大幅な節約を可能にするクラス3EFB(電子航空バッグ)を提供する。タイプA/BアプリケーションがタイプCアプリケーションの実行を妨害し得る一組のメカニズムを特定することにより、本発明者は、メモリ、処理および表示資源へのアクセスを制限するオペレーティングシステムの変更によりハードウェア分離という効果を達成した。これらの変更は、マルチプロセッサシステムに等価な分離を有する単一プロセッサアーキテクチャを可能にする。
具体的には、本発明は、少なくとも1つのコアを有する単一プロセッサと、プロセッサと通信しオペレーティングシステムを保持する電子メモリシステムと、を有するクラス3電子航空バッグを提供する。電子航空バッグは、ナビゲーションシステムと、プロセッサと通信する表示装置と、を含む他の機上設備に接続するために航空機データネットワークと通信するネットワークインターフェースを提供する。電子メモリシステム内のタイプA/Bアプリケーションの電子メモリ、表示装置、およびプロセッサへのアクセスは、タイプA/Bアプリケーションの実行によるタイプCアプリケーションの実行への潜在的妨害を阻止するために、オペレーティングシステムにより適用される所定の規則に従って制限される。
したがって、単一プロセッサ上で実行する重要アプリケーションと非重要アプリケーションとを別々のプロセッサの必要性無しに分離することが本発明の少なくとも1つの実施形態の特徴である。
オペレーティングシステムは、例えば、ソケットバッファの全体サイズをソケット当たりの所定最大データ割り振りに制限してソケットの合計数をソケットの所定最大数に制限することにより、通信用に使用されるソケットバッファの全体サイズを制限してもよい。当該技術において通常理解されるように、ソケットバッファはコンピュータにより実行される処理間の通信用に使用されるコンピュータメモリ内の記憶領域である。
したがってタイプA/Bアプリケーションによる過剰なソケットバッファ(通常はオペレーティングシステムのメモリ空間に存在する)割り振りがオペレーティングシステム動作を妨害するのを防止することが本発明の少なくとも1つの実施形態の特徴である。
オペレーティングシステムはネットワーク同報メッセージを禁止してもよい。
したがって、スプーフィングを防止するために監視されてもよいメッセージが明確な規定エンドポイント間に存在することを保証することが本発明の少なくとも1つの実施形態の特徴である。
電子メモリシステムは不揮発性データ記憶装置を含んでもよく、各アプリケーションは書き込み権限ではなく読み取りおよび実行権限を有する区画に割り当てられもよい。
したがってタイプA/Bアプリケーションがディスク上書きを介しタイプCアプリケーションにより使用されるデータを変更するのを防止することが本発明の少なくとも1つの実施形態の特徴である。
揮発性データ記憶装置の予約は、アプリケーション当たり所定最大記憶量に制限されてもよい。各タイプA/Bアプリケーションは、すべてのタイプCアプリケーションが揮発性データ記憶装置を予約した後にだけ揮発性データ記憶装置を予約してもよい。
タイプCアプリケーションに揮発性メモリを与えないことにより、タイプA/Bアプリケーションにより使用される過剰な揮発性メモリがタイプCアプリケーションを妨害するのを防止することが本発明の少なくとも1つの実施形態の別の特徴である。
揮発性データ記憶装置の予約はすべてのアプリケーションの所定合計最大記憶量に制限されてもよい。
したがって揮発性メモリの割り振りから生じるシステム不安定性を防止することが本発明の少なくとも1つの実施形態の特徴である。
オペレーティングシステムは、揮発性データ記憶装置へのアクセスを制御するメモリ管理ユニットのレジスタにロードすることにより、所定全体最大量とアプリケーション当たりの所定最大量とを適用してもよい。
したがって、タイプA/Bアプリケーションの動作による破壊に耐性のあるメモリ分割を実施するためにメモリ管理ユニットを採用することが本発明の少なくとも1つの実施形態の特徴である。メモリ管理ユニット設定へのアクセスはオペレーティングシステムに制限されることができる。
オペレーティングシステムは、アプリケーションプログラムの様々な処理の実行のために単一プロセッサのスケジューリングを制御し、各アプリケーションプログラムの最大スケジューリング率を制限してもよい。
したがって実行タイプA/Bアプリケーションにより完全に奪われることに耐性のある処理スケジューリングアルゴリズムを採用することが本発明の少なくとも1つの実施形態の特徴である。
異なるアプリケーションの処理は、タイプCアプリケーションの処理が待ち行列において優先度を与えられるように単一プロセッサの待ち行列に入れられてもよい。
したがって混合アプリケーションの環境においてタイプCアプリケーションの動作を保証することが本発明の少なくとも1つの実施形態の特徴である。
処理は、全スケジューリング率(full scheduled percentage)を歴史的に使用しない場合と比較して全スケジューリング率を歴史的に使用する場合は待ち行列の低順位に置かれてもよい。
したがって特定アプリケーションによる単一プロセッサの独占を防止することが本発明の少なくとも1つの実施形態の特徴である。
電子航空バッグはさらに、構成レジスタを有する周辺装置を含んでもよく、第1のオペレーティングシステムはこれらのレジスタへのアクセスをタイプA/Bアプリケーションに対し阻止してもよい。
したがってタイプA/Bアプリケーションによる周辺装置動作の破損を防止することが本発明の少なくとも1つの実施形態の特徴である。
電子航空バッグはさらに、表示装置にデータを供給するために単一プロセッサとの通信を提供する表示システムを含んでもよい。オペレーティングシステムは、タイプA/BアプリケーションがタイプCのバッファのデータを上書きできないように、少なくとも1つのタイプCと1つのタイプA/Bアプリケーションのそれぞれの別個のバッファを管理し、オペレーティングシステム制御によりバッファ間で選択する。
したがって、単一のバッファが使用される場合に起こり得るように、タイプA/Bアプリケーションが出力上書きにより、タイプCアプリケーションから出力される重要な図形を不可逆的に破壊するのを防止することが、本発明の少なくとも1つの実施形態の特徴である。
別個のバッファは、異なるアプリケーションにより一意的に書き込み可能な記憶場所内にあってもよい。
したがって、ビデオバッファオーバーランがタイプCアプリケーションによるグラフィックデータの出力を妨げるのを防止することが本発明の少なくとも1つの実施形態の特徴である。
オペレーティングシステムはさらに、表示装置にデータを供給するように単一プロセッサ上で実行されてもよい。このとき、オペレーティングシステムは、アプリケーションから標準表示データを受信するアプリケーションのビデオバッフとタイプCアプリケーションから高優先度表示データを受信するオーバーレイビデオバッファとを管理してもよく、表示されたときにアプリケーションバッファがオーバーレイバッファからのデータを閉塞できないようにバッファの内容を合成してもよい。
したがって、タイプA/Bアプリケーション(またはタイプCアプリケーション)により重要なグラフィックデータが閉塞されないことを保証してどうにか焦点を維持することが本発明の少なくとも1つの実施形態の特徴である。
バッファは機能領域に分割されてもよく、表示システムは、表示装置の示された方位に依存して、異なる機能領域の表示装置上のバッファ位置と空間的位置との関係を違ったやり方で再配列してもよい。
したがって、2つの異なる表示フォーマットを別々にプログラムする必要無く、表示装置の方位に依存して表示装置の洗練された再フォーマットを行うことが本発明の少なくとも1つの実施形態の特徴である。
電子メモリシステムはまた第2のオペレーティングシステムを保持してもよく、タイプA/Bアプリケーションは、第1のオペレーティングシステムにより実施される仮想化による第2のオペレーティングシステムにより実行されてもよい。第1のオペレーティングシステムは例えば、保証されたオープンソースオペレーティングシステムであってよく、第2のオペレーティングシステムはWindows(登録商標)等の著作権付きオペレーティングシステムであってよい。
したがって、設計承認されたアプリケーションに使用される電子航空バッグの能力を危険に晒すこと無く、設計承認することができない著作権付きオペレーティングシステム上においてだけ実行可能なタイプA/Bアプリケーションの使用を可能にすることが本発明の少なくとも1つの実施形態の特徴である。オペレーティングシステムの分離と仮想化は、誤った振る舞いが抑制されるように著作権付きオペレーティングシステムをコンパートメント化する。
これらの特定の目的と利点は、特許請求の範囲に入るいくつか実施形態にだけ適用されてよく、したがって本発明の範囲を規定しない。
図1は、アプリケーション同士を分離するために別個のプロセッサを使用する従来技術のEFBのハードウェアブロック図である。 図2は、本発明に基づく単一プロセッサを使用したEFBを示す図1のものと同様なハードウェアブロック図である。 図3は、メモリシステムと単一プロセッサ間の通信を示す図2のEFBの機能ブロック図である。 図4は、図2と図3のEFBのローディングと立ち上げを示すフローチャートである。 図5は、ローディングと立ち上げに使用する図2と図3のEFB上で実行可能なアプリケーションプログラムの構成ファイルと構成表の表示である。 図6は、様々なデータ構造とファイルの割り振りを示す図2のメモリの詳細な表示である。 図7は、電子航空バッグを表示するためにグラフィック合成器により合成される異なる実行アプリケーションにより使用される複数のビデオバッファの表示である。 図8は、単一の2進アプリケーションにより2つの表示方位を支援するアプリケーションテンプレートの表示である。 図9は、アプリケーション処理を待ち行列に入れる本発明において使用されるプロセッサスケジューリングシステムの簡略図である。 図10は、不揮発性磁気ディスク装置の表示であり、その区画表を示す。 図11は、本発明により実施されてもよい仮想化の図である。
さて図1を参照すると、航空機12において用いる従来技術のEFB10は、第1と第2のメモリ15と17とそれぞれ通信する第1のプロセッサ14と第2のプロセッサ16とを含んでもよい。第1のプロセッサ14は、例えばタイプCソフトウェアアプリケーションであってよい第1のメモリ15内に保持された第1のソフトウェアアプリケーション18をホストするために使用されてもよい。第2のプロセッサ16は、例えばタイプA/Bソフトウェアアプリケーションであってよい第2のメモリ17内に保持された第2のソフトウェアアプリケーション20をホストするために使用されてもよい。メモリ15と17は、固定磁気ディスク駆動ユニットと、いくつかの形式の不揮発性メモリを提供するためにフラッシュメモリと、を含んでもよい。
プロセッサ14と16は、単一の液晶表示(LCD)装置26を有する共通表示ユニット22を共有してもよい。各プロセッサ14と16は自身のビデオコントローラ24と25と通信してもよい。第1のプロセッサ14は主ビデオコントローラ24と通信してもよく、第2のプロセッサ16は第2のビデオコントローラ25と通信してもよい。2つのビデオコントローラ24と25は、映像切り替えシステム30として機能するフィールドプログラマブルゲートアレイ(FPGA)のシステムを介しLCD装置26と通信してもよい。FPGA切り替えシステム30は単一プロセッサの制御下であってよい。例えば、第1のプロセッサ14は、ビデオインタフェース31上で送信する際にプロセッサ14または16のどちらが存在するかを制御することができるように、自身を切り替えシステム30に接続する主装置バス35を有してもよい。このような状況は、表示ユニット22が、第2のプロセッサ16上で実行する第2のソフトウェアアプリケーション20により供給されるあまり重要でない情報を表示するために使用されている間に、重要な飛行または航空機関連情報を表示する必要が生じた場合に生じてよい。切り替えシステム30は、LCD表示装置26の回路27を駆動する信号を操縦者に供給しボタンまたはLCDタッチスクリーン42からの信号を受信する表示装置インターフェース31を介しLCD26と通信してもよい。外部キーボード36は表示装置インターフェース31に接続されてもよい。プロセッサ14と16はまた、当該技術において理解されるように、航空機カメラ等の他の装置と通信するための標準イーサネットネットワーク(図示せず)と通信してもよい。
各プロセッサ14と16はまた、ボタンとLCDタッチスクリーン42または外部キーボード36からの信号を受信するそれ自身のインターフェース29と通信してもよい。
図1を再び参照すると、各プロセッサ14と16は、安全関連の懸念のために航空機12の他の航空電子装置への航空電子インターフェース43のアクセスと可視性を制限するために必要かもしれない。I/Oカード34は、EFB10が航空機12上に設置された他の装置と相互作用できるように航空電子インターフェース43へのアクセスを提供する。I/Oカード34は、埋め込みソフトウェアと、支援回路と、当該技術において知られたタイプの航空電子インターフェース43に接続するように設計された回路と、を含むマイクロコントローラからなってもよい。第1のプロセッサ14がI/Oカード34を初期化して構成できるようにすることで、第2のプロセッサ16から航空電子インターフェース43へのアクセスを第1のプロセッサ14が制限できるようにする。この能力は、EFB10が必要安全基準を満たせるようにする。
ある環境下では、第2のプロセッサ16の誤動作あるいはソフトウェア20のソフトウェア故障のいずれかのために、第1のプロセッサ14が第2のプロセッサ16を無効化またはリセットする必要があるかもしれない。第1のプロセッサ14が第2のプロセッサ16を無効化またはリセットできるようにする第1のプロセッサ14から第2のプロセッサ16へのリセット信号33があってもよい。これは、第2のプロセッサ16だけでなく第1のプロセッサ14が表示ユニット22上の完全な制御(切り替えシステム30を介した)を有することを保証する。これにより、民間航空機12内のクラス3EFB上でのソフトウェアアプリケーションの使用を規定する厳格なFAA基準を満たす第2のアプリケーションの高価な認可の必要性をなくす。したがって、第2のソフトウェアアプリケーション20は市販のソフトウェアアプリケーションを表してもよい。第2のソフトウェアアプリケーション20が専用ソフトウェアアプリケーションとして提供されたとしても、タイプCアプリケーションに必要な高価で厳格な認証が無くなるので大きな利点が依然としてある。これは、第1のプロセッサ14が、重要情報を表示するためにあるいは即時オペレータ応答を要求するために必要となることがある表示ユニット22と第2のプロセッサ16の制御を完全に支配する能力を備えているからである。
次に図2を参照すると、本発明は、2つのプロセッサシステムの複雑性と、一方のプロセッサの他方に対する優勢を与えるために使用されるハードウェアスイッチと、が単一プロセッサ50のおかげで回避されるEFB10’を提供する。この単一プロセッサ50は、以下に説明するように、特別に変更されたオペレーティングシステム54を使用することにより、メモリ15内に保持された複数のアプリケーションプログラム52(タイプA、BまたはCアプリケーション)を実行する。特別に変更されたオペレーティングシステム54は、EFB10’上でホストされる他のすべてのソフトウェアの実行を制御する。EFB10の固有動作に関係する主メニュープログラム53もまたメモリ15内に保持されプロセッサ50により実行されてもよい。説明の明確化のために、本明細書で使用される用語「オペレーティングシステム」は、通常は複数のアプリケーションにより使用されアプリケーションプログラムの実行に必要な追加のルートサービス、ドライバ、他のソフトウェアと組み合わせたオペレーティングシステムカーネルをカバーすると考えられる。
本アーキテクチャでは、プロセッサ50は切り替えシステムの必要無しにインターフェース34と通信してもよく、インターフェース34は前述のものと同様なデバイスバス35を介し様々な入力装置36、42と接続してもよい。インターフェース34はまた、航空電子インターフェース43を介しナビゲーションユニットを含む航空電子システムに接続してもよい。プロセッサ50はまた、できるだけ小さい単一グラフィックプロセッサを有するビデオコントローラ24と通信し、インターフェース34を介し表示ユニット22にデータを伝達してもよい。プロセッサ50はまた、再びインターフェース34を介しボタンとタッチスクリーン42と外部キーボード36からの信号を受信する入力インターフェース29と通信してもよい。
次に図3を参照すると、プロセッサ50は例えば、それぞれが例えばL1キャッシュ58を有し、L2キャッシュ60を共有する複数のコア56を有するプロセッサであってよい。L2キャッシュ60は1つまたは複数の内部バスを介しメモリシステム62の両方の部分であるランダムアクセス揮発性メモリ64と不揮発性メモリ66と接続してもよい。後者は例えば論理的には、例えばフラッシュメモリにより実現される「ディスク」ドライブである。揮発性メモリ64へのアクセスはメモリ管理ユニット68を介してもよく、不揮発性メモリ66へのアクセスは当該技術において周知のタイプのディスクコントローラ70を介してもよい。
次に図4を参照すると、プロセッサ50は、航空機内におけるEFB10’の使用の前に、およびEFB10’の使用過程における様々な時刻に、ロードルーチン76を実行してもよい。ロードルーチン76は、所望のアプリケーションプログラムをインストールして構成するために使用される。処理ブロック80により示される第1の工程では、ロードルーチン76はローダープログラムを開始する。処理ブロック82によると、ローダープログラムは、電子航空バッグ10’上で使用される識別されたアプリケーションプログラム52とそれに関連した構成ファイル84(マニフェストファイルの一部として)とを精査する。このようなアプリケーションはディスク区画内のそれらの配置に影響を与えるので、アプリケーションプログラム52が識別される。
図3と図5をしばらく参照すると、構成ファイル84は各アプリケーションプログラム52のエントリ86を有してもよく、エントリ86は当該アプリケーションのアプリケーション実行ファイル88にリンクされる。各構成ファイル84のエントリ86は通常、アプリケーション実行ファイル88とその処理を識別する(例えば、グループ識別子により)アプリケーション識別子90と、アプリケーションタイプ92(例えば、タイプA、タイプBまたはタイプC)と、を提供し、アプリケーション96用に予約されるメモリの量を示すであろう。構成ファイル84からの情報は、オペレーティングシステム54の立ち上げ時に、当該アプリケーションプログラム52用に作成された構成表94に加えられるであろう。構成表94は、パーミッショングループを定義するメモリ管理ユニットメモリ割り振り情報98と、以下に検討される各アプリケーションプログラム52に関連したビデオバッファ情報102と、を含む以下に説明する追加情報を加えるであろう。
図4と図10を再び参照すると、処理ブロック82で得られた情報を使用することにより、処理ブロック106では、アプリケーションプログラム52は不揮発性メモリ66にインストールされ、前もって用意された区画99にインストールされる。分割処理は、アプリケーションプログラムの(そしてまた、この区画内に含まれるファイルの書き込みアクセスではなく読み取りアクセスと実行だけを提供するオペレーティングシステムの)実行ファイルを保持する第1のディスク区画99aを含む別個のディスク区画99a〜99dを割り振る。第2の区画99bは、実行ではなく読み取り/書き込みアクセスを提供し、一時ファイルおよびログ用のアプリケーションプログラムにより使用される。第3の区画99cは、この区画に含まれるファイルの実行ではなく読み取り専用アクセスを提供し、アプリケーション間で共有されるデータベース用に使用されてもよい。第4の区画99dは、利用可能であるが未だインストールされていないプログラムを保持し、実行可能ではなく、そしてオペレーティングシステムのためだけの読み取りと書き込みがなされる。第1のディスク区画99内にアプリケーションを配置することにより、いかなる誤ったアプリケーションも他のアプリケーションのディスクファイルを上書きできない。各区画99は区画表110内の行により概して示されるように区画表110内に記述される。当該技術において理解されるように、区画99は、それ自身のファイルシステム112(論理アドレスをディスク上の物理アドレスへマッピングする)と、オペレーティングシステムとディスク媒体内の情報の符号化により適用される所定の限定物理アドレス範囲116へマッピングするそれ自身の記憶領域114と、を含む。区画表110は、区画毎の論理的識別子(ここではa、b、c、dとして示す)と、ファイルシステム112の物理アドレス情報120と、特定区画に対し読み取るまたは書き込む権限を有するアプリケーションプログラム52を示すデータアクセス権限122と、を提供してもよい。アクセス権限の実施のための他の分割方法もまた本発明によって考えられる。
通常、各アプリケーションプログラム52は、区画99a内のそれ自身の一意的フォルダにロードされ、ファイルシステム112の他のディレクトリに関連する部分を見るのを防止する「ルートジェイル(root jail)」を備える。当該技術において知られるタイプの「ループバック装置」は、所与のアプリケーションプログラムが区画99bと99cの適切な部分だけにアクセスできるようにするために使用される。ディスクコントローラハードウェア構成レジスタに対するアクセスを制限することにより、および/またはアプリケーションプログラムに利用可能なオペレーティングシステム呼び出しを制限することにより、ディスクコントローラハードウェアは、可能性のある誤ったアプリケーション振る舞い(1つのアプリケーションが第2のアプリケーションを上書きするあるいはそのデータを書き込む)を防止する頑強な区画化を実施することができる。
図4を再び参照すると、ロードルーチン76の少なくとも1回の完了後、プロセッサ50は処理ブロック132で始まる立ち上げルーチン126を実行してもよい。この立ち上げルーチン126はオペレーティングシステム54により実施され、実行のために揮発性メモリ64内に様々なアプリケーションプログラム52を移動させる。この立ち上げ処理は、構成表94により、特にはタイプA、BまたはCに関する各アプリケーションプログラムの識別により、再び制御される。好ましい実施形態では、立ち上げ処理は、タイプCアプリケーションで始まり、タイプCアプリケーションのすべてが処理ブロック134と136を境とするループ毎に立ち上げられた後に、タイプAおよびタイプBアプリケーションを立ち上げる。
図6をまた参照すると、この立ち上げ処理の第1番目の工程では、オペレーティングシステム54と様々なアプリケーションプログラム52との実行可能ファイルを保持するための揮発性メモリ64はオペレーティングシステム54により予約される。この予約は、(各アプリケーションプログラムの処理に割り当てられたグループに従って)各アプリケーションプログラム52により使用されるランダムアクセスメモリ64の各アドレス範囲へのアクセスを制御するために、オペレーティングシステムと共に、揮発性メモリ64の物理アドレスへの論理アドレスのマッピングを制御するためにメモリ管理ユニット68の制御レジスタにデータをロードすることにより、メモリ管理ユニット68(図1に示さす)により、実行されてもよい。制御レジスタはレジスタメモリ空間65内にマッピングされた論理アドレスメモリを有してもよく、これによりメモリ管理ユニット68の制御レジスタへのアクセスはメモリ管理ユニット68自身により、オペレーティングシステム54に限定されてもよい。
立ち上げルーチン126の第1番目の工程の前に、第1のアドレス範囲138は、オペレーティングシステム実行ファイルと、そのデータメモリ140と、ソケットバッファ142に予約されたメモリと、を保持するために、オペレーティングシステム54に割り振られる。データのこの第1のアドレス範囲138の書き込み権限は、オペレーティングシステムにより設定されるように、オペレーティングシステム54にだけ与えられる。
既に述べたように、アプリケーションプログラム52のそれぞれのアドレス範囲もまた処理ブロック148において予約される。本発明は、構成ファイルから判断される各アプリケーションプログラム52に所定の固定アドレス範囲152だけを予約する。この予約処理は構成表94から識別されるタイプCアプリケーションから始める。各予約アドレス範囲152はアプリケーションプログラム52自身のオブジェクトファィル154を保持(実行のための命令を保持)しなければならない。予約アドレス範囲152内のデータ空間は以下に説明されるようにアプリケーションにより必要に応じ割り振られる。アプリケーションの予約アドレス範囲152の権限は既に述べたように、アプリケーションプログラム52が、それらの実行ファイル88を保持する一意的なアドレス範囲152外に書き込むことができないように設定され、アプリケーション間の妨害(例えばタイプCアプリケーションのアプリケーションデータのタイプA/Bアプリケーションによる有害な上書き)を防止する。すべてのタイプCアプリケーションが構成ファイル84当たりの最大予約メモリ量を与えられることを保証するためにはメモリが不十分な場合、その後、より多くのメモリの予約を必要とするタイプA/Bアプリケーションプログラム52は立ち上げられなく、エラーが告知されログ記録される。
タイプA/BアプリケーションがタイプCアプリケーションの適切な動作に必要なメモリを後で割り当てることができないことを保証するために、タイプCアプリケーションのすべての制限が評価され、タイプCアプリケーションが最初に立ち上げられる。残りのメモリはタイプA/Bアプリケーションに利用可能となる。タイプA/Bアプリケーションの構成限界が、すべてのタイプCアプリケーションが評価された後に利用可能なものを越えると、アプリケーションは立ち上げられなくなる。この評価は、タイプCアプリケーションにより使用中のメモリの現在量ではなく設計承認された構成ファイル内に規定された最大限度を使用して実行される。
当該技術において理解されるように、ソケットバッファ142は実際のネットワーク(例えば、ネットワーク45)上またはアプリケーション処理間のネットワーク状通信を提供するために使用されてもよい。ここでは、ソケットバッファ142は様々なプログラムまたは装置によりアクセスされるネットワーク点またはアプリケーション間で送信されるデータの記憶を行う。ソケットバッファ142はオペレーティングシステム54の第1のアドレス範囲138内に保持されるので、ソケットメモリの誤用(例えば、あまりにも多くのソケットが開かれるか、ソケットが大きすぎる場合)はシステムの動作を妨害する可能性がある。
また図4を参照すると、処理ブロック156では、各アプリケーションプログラム52により必要とされるソケットバッファ142は第1のアドレス範囲138内に予約される。ソケットバッファ142によるアドレス範囲138の可能な過剰割り振り(例えば、オペレーティングシステム54またはそのアプリケーションプログラム52の動作に影響を与える可能性がある)を防止するために、本発明は、ソケットバッファ142の合計数とそれらの最大サイズの両方を構成データ84から得られる所定値に制限する。このようにして、アドレス範囲138が所定最大サイズのソケットのこの所定合計数を保持することができることを保証することにより、ソケットバッファ142が利用可能メモリ空間を越えないことを保証することができる。実際には、オペレーティングシステムメモリに格納された各アプリケーション52に関連した構造はアプリケーション処理がソケット接続を要求するときにチェックされる。この要求がソケットメモリに境界を越えるように強要すれば、要求はオペレーティングシステム54により拒絶されるだろう。
処理ブロック160では、上述のビデオバッファ158のそれぞれは、表示システム26へのアクセスを必要とするアプリケーションのオペレーティングシステム138に割り当てられたメモリ範囲内で予約される。
各アプリケーションプログラム52が立ち上げられ、必要な揮発性メモリ64が予約されると、オペレーティングシステム54は、処理ブロック162に基づき、アプリケーションプログラム52のそれぞれの処理(例えば、以下に説明するようにオペレーティングシステムスケジューラによりスケジューリングされてよい処理)をスケジューリングしてもよい。
図9を参照すると、オペレーティングシステムスケジューラ161は、アプリケーションプログラム52により生じる処理の処理識別子166を保持するスケジュール待ち行列164を提供してもよい。これらの処理は、例えば各処理が次の処理が実行される前に所定の最大量以下のプロセッサ時間を持つことができるタイムスライスシステムに従ってプロセッサ50により実行される。十分に実行されなかった処理は保留中の処理をすべて保持する工程表168に戻される。工程表168はまた他の処理により生じた処理を保持する。
論理的に描写すると、工程表168は、待ち行列順のプロセッサ50による実行のための待ち行列164に配置するために、スケジューラエンジン170によりスケジューリングされる処理をそれぞれが表す一組の行を提供する。各行は、処理識別番号166と、内在アプリケーション172のタイプ(例えば、タイプC)と、処理174の最近の実行履歴と、を含む。スケジューラエンジン170は、タイプA/Bアプリケーションの前に表168内のいかなるタイプCアプリケーションもスケジューリングするように動作し、さらに、処理174の履歴により示されるように、以前のスケジュール機会にそれらの全タイムスライスを使用しなかった処理に高い優先度を与えるように動作する。
したがって、スケジューラエンジン170は、CPUを以前に独り占め(hog)したアプリケーション52を「罰する」ために、それらをタスク待ち行列のさらに後方に押しやってCPUへのアクセスを得るために長く待たせるペナルティシステムを使用する。CPU上の最大割り当て時間を常に使用するアプリケーションを罰することにより、カーネルは、それらをタスク待ち行列の終わりに押しやりすべての処理がCPUにアクセスすることを保証する。そして構成ファイル内の最大値許容CPU時間を適切に設定することにより、適切なアプリケーション優先順を制御することができる。
次に図6と図7を参照すると、オブジェクトファィル154により表される各アプリケーションプログラム52は、オペレーティングシステム54により別個のローカルグラフィックバッファ158を備える。このグラフィックバッファ158は、状態情報と共通グローバル構造(テキスチャ、フォント等)を格納するために使用されるメモリと、表示スクリーン26の領域上に可視映像を完全に記述するのに十分な表示スクリーン26へ出力するためのレンダリングを保持してもよいフレームバッファと、を含む。1つまたは複数の従来のグラフィックプロセッサ180は、表示スクリーン26に1対1ベースでマッピングするピクセル値を供給するグラフィックバッファ158のフレームバッファ部内に別個の十分にレンダリングされたスクリーンマップを生成するために、オペレーティングシステム54へのグラフィック呼出しを処理してもよい。このとき、これらのスクリーンマップは、表示スクリーン26上にグラフィックバッファ158の1つのデータを表示するためにグラフィックバッファ158のデータ間で選択する(オペレーティングシステム54により提供される焦点情報に従って)合成処理により、スクリーンバッファ内にグラフィックプロセッサ180により合成されてもよい。この処理は、誤ったタイプA/Bアプリケーションが、オペレーティングシステム54により逆にすることができないやり方でタイプCアプリケーションのデータを破壊できないように、各アプリケーション154の内在グラフィックデータが焦点と重要性の変更に応じて失われないように、それらを保存する。
オペレーティングシステム54は、合成処理中にグラフィックバッファ158からのグラフィック情報の「前に」常に配置されるオーバーレイグラフィックバッファ158’を作成する。オーバーレイグラフィックバッファ158’内のこのデータは、常に一番前である、および/または透明度パラメータ(transparency parameter)を利用してもよい。このオーバーレイは、タッチスクリーンキーボード、テンキーまたはナビゲーションボタン等のグローバルシステムインタフェースを提供するだけでなく、例えばタイプCアプリケーションにより生成され得る高優先度システム情報(警告、通知等)を告知するために使用されることができる。
また図8を参照すると、各グラフィックバッファ158は様々な機能領域190に分割されてもよい(ここでは画像を保持するものとして描写されるが、可能性としてより高レベルのグラフィック命令を保持する)。機能領域190は、例えば表示スクリーン26上に単独で配置され得るデータを分離する。グラフィック合成器186は、表示スクリーン26aにより描写されるポートレートモードあるいは表示スクリーン26bにより描写されるランドスケープモードのいずれかにおいて表示スクリーンの当該方位を示すスクリーン位置命令196を受け取ってもよい。後者は水平方向に長い次元で前者は垂直方向に長い次元で配置される。例えば構成表94内の設定から与えられるこのスクリーン位置命令196に基づき、グラフィック合成器186は最良の表示配置を提供するために機能領域190の空間的位置を変更する。したがって、例えば機能領域190は、タッチスクリーンボタンを記述する機能領域190aとグラフィック出力画像を記述する機能領域190bとを含んでもよい。ランドスケープ表示装置スクリーン26bに関しては、機能領域190aに由来するボタンの画像は機能領域190bに由来するグラフィック出力画像の側面に配置されてもよく、一方、ポートレート表示スクリーン26aに関しては、機能領域190aに由来するボタンの画像は機能領域190bに由来するグラフィック出力画像の下に配置されてもよい。このようにして、別個のスクリーンレイアウトはグラフィックバッファ158内にハードコード化される必要はない。
あるいは、機能的に同一の結果は、アプリケーションにより必要とされるグラフィック要素の位置を自動的に調整するためにスクリーンの方位に関する知識を使用するグラフィックライブラリを採用することにより提供されてもよいことが理解されるだろう。
図11を参照すると、様々な認証レベルを有する複数のアプリケーションプログラム52を実行するために単一プロセッサ50を使用する能力は、単一プロセッサ50とオペレーティングシステム54が仮想化により第2のオペレーティングシステム212を実行できるようにするように拡大されてもよい。この仮想化は、アプリケーションプログラム52のいくつかを、設計承認されたオペレーティングシステム54とは異なるオペレーティングシステム212上で実行できるようにする。したがって例えば上述の変更は設計承認されたLinuxベースのアプリケーションに関してであってよいが、タイプA/Bアプリケーションのいくつかは、Windows(登録商標)オペレーティングシステム212をLinuxオペレーティングシステム54による有効なアプリケーションとして実行することにより、Windows(登録商標)オペレーティングシステム212に固有のものとさせることができる。
この実施形態では、オペレーティングシステム54の設計承認されたLinuxベースのカーネル200は、ゲストオペレーティングシステム212(典型的にはWindows(登録商標)オペレーティングシステム等のCOTSオペレーティングシステム)の実行を可能にするハイパーバイザ210等のバーチャライザ(virtualizer)を組み込んでもよい。ハイパーバイザ210は、ゲストオペレーティングシステム212に仮想ハードウェアプラットフォームを提供し、後者がWindows(登録商標)オペレーティングシステムを対象としたタイプAおよびタイプBアプリケーションプログラム52を実行できるようにする。Linuxカーネル200はタイプCアプリケーションプログラム52を直接実行してもよい。
当該技術において理解されるように、ハイパーバイザ210は、実際の物理的マシン(すなわち、プロセッサ、メモリ、ハードウェア)のCOTSオペレーティングシステム212の様相を作成するために、COTSオペレーティングシステム上にインストールされた仮想装置ドライバ214と仮想化層216とを介し実際のハードウェアへのインターフェースを提供する。さらに仮想マシンの動作は、COTSオペレーティングシステム212と、プロセッサ50とメモリシステム62の実際の物理資源のアプリケーションプログラム52と、による使用を制約し、かつ設計承認されたオペレーティングシステム54に従属するように、上述のように変更されたハイパーバイザ210とオペレーティングシステム54により制御される。仮想マシン(COTSオペレーティングシステムとそこでホストされるドライバとアプリケーションとの集合)は、それ自身でタイプA/Bアプリケーションかのように扱われる。Windows(登録商標)オペレーティングシステム212は、不揮発性メモリ66と揮発性メモリ64内の任意の他のアプリケーションプログラム52と同様にそれ自身の区画を与えられ、従来のアプリケーションに関する上述の他の制約条件を受けてもよい。
この環境では、タイプCアプリケーションプログラム52は、設計承認されたオペレーティングシステム54上で直接実行され、したがってプロセッサ時間と表示空間を含む資源という意味で優先度を与えられてもよい。
仮想化は、特に、少なくとも部分的にはソフトウェアで実施されてもよいあるいは仮想化環境に広範に変換されてもよいグラフィックス処理に関して、性能の損失を与える可能性がある。このため、本発明は、オペレーティングシステム54の仮想装置ドライバからハードウェアドライバ232へのトンネリング220を考える。このトンネリング220は、仮想装置ドライバ214と仮想化層216を回避し、かつカーネル200を介し命令を実際のハードウェアドライバ232へ直接与えるようにCOTSオペレーティングシステム212を変更することにより実施されてもよい。このようにして、グラフィック命令がビデオコントローラ24のハードウェアにより直接実施されるのではなくむしろ仮想化を介しソフトウェアで実施されるときに発生し得る遅延だけでなく、仮想化層216とハイパーバイザ210を介した作業の遅延も削除される。
タイプA/Bアプリケーション上のタイプCアプリケーションの優先度を混乱させるトンネリングの危険性は、オペレーティングシステム54がトンネリング220をオン・オフ切り替えできるようにすることにより、例えば、ドライバ232を異なる命令バッファ(仮想装置ドライバ214とトンネリング220により使用されるものと、設計承認されたオペレーティングシステム54上でホストされるアプリケーションプログラム52により使用されるもの)間に向けることにより、制御される。
さらなる性能向上は、例えば電子航空バッグ10’内に実装されないハードウェア部品の支援を削除する著しく単純化されたCOTSオペレーティングシステムを使用することにより得られる。
さらなる性能向上は、複数の異なるCOTSオペレーティングシステム212(図示せず)により様々な組のアプリケーションプログラム52を実行することにより得られるかもしれない。様々な仮想マシンの使用は、異なるオペレーティングシステム212により表される各仮想マシンに割り振られた資源を変更することにより実行するアプリケーションプログラム52のタイプに各仮想マシンを「調節」できるようにする。例えば、メモリ集中型アプリケーションプログラム(memory intensive application program)52はそれに比例したメモリを与えられた仮想マシン上で実行されてもよく、コンピュータ集中型アプリケーション(computationally intensive application)はより大きなプロセッサ資源を与えられた仮想マシン64a上で実行されてもよい。同様に、ネットワークアクセス等のハードウェア資源はそのように調整されることができる。このようにして、資源は、仮想化による性能損失を低減することでより好適に割り振られてもよい。例えば、追加メモリは処理速度を不釣り合いに改善することができ、メモリが与えられれば仮想マシンは、仮想マシン間のメモリの単純な均等分割を上回る効率向上を達成することができる。この種の調整は、電子航空バッグ10’の閉じたハードウェア環境のために、可能である。
本発明は本明細書に含まれる実施形態と例示とに限定されないように特に意図されている。特許請求の範囲は、本実施形態の部分と以下の請求項の範囲内で生じる異なる実施形態の要素の組み合わせとを含む実施形態の変更形式を含むものと理解すべきである。本明細書に記載の特許文献と非特許文献を含む参照文献のすべてを参照により本明細書に援用する。

Claims (21)

  1. 少なくとも1つのコアを有する単一プロセッサと、
    前記プロセッサと通信し、オペレーティングシステムを保持する電子メモリシステムと、
    ナビゲーションシステムを含む他の機上設備に接続するために航空機データネットワークと通信するネットワークインターフェースと、
    前記プロセッサと通信する表示装置と、
    を含むクラス3電子航空バッグにおいて、
    前記オペレーティングシステムは、前記電子メモリシステム内のタイプA/Bアプリケーションの前記電子メモリシステム、前記表示装置、および前記プロセッサへのアクセスを、前記タイプA/Bアプリケーションの実行によるタイプCアプリケーションの実行の潜在的妨害を阻止するために前記オペレーティングシステムにより適用される所定の規則に従って制限するように実行し、
    前記タイプCアプリケーションは前記航空機データネットワークと相互作用するように構成されており、前記タイプA/Bアプリケーションは前記航空機データネットワークと相互作用するように構成されておらず
    前記オペレーティングシステムは、前記表示装置にデータを供給するように前記単一プロセッサ上で実行され、
    前記オペレーティングシステムは、アプリケーションから標準表示データを受信するアプリケーションバッファと、タイプCアプリケーションから高優先度表示データを受信するオーバーレイバッファと、を管理し、
    前記オペレーティングシステムは、表示されたときに前記アプリケーションバッファが前記オーバーレイバッファからのデータを遮らないように、前記バッファの内容を合成することを特徴とするクラス3電子航空バッグ。
  2. 請求項1に記載のクラス3電子航空バッグにおいて、前記オペレーティングシステムは通信用に使用されるソケットバッファの全体のサイズを制限することを特徴とするクラス3電子航空バッグ。
  3. 請求項2に記載のクラス3電子航空バッグにおいて、前記ソケットバッファの前記全体のサイズはソケット当たりの所定最大データ割り振りと所定最大数のソケットとにより制限されることを特徴とするクラス3電子航空バッグ。
  4. 請求項1に記載のクラス3電子航空バッグにおいて、ネットワーク同報メッセージが禁止されることを特徴とするクラス3電子航空バッグ。
  5. 請求項1に記載のクラス3電子航空バッグにおいて、
    前記電子メモリシステムは不揮発性データ記憶装置を含み、
    各アプリケーションは書き込み権限ではなく読み取りおよび実行権限を有する区画に割り当てられることを特徴とするクラス3電子航空バッグ。
  6. 請求項1に記載のクラス3電子航空バッグにおいて、
    前記電子メモリシステムは揮発性データ記憶装置を含み、
    各タイプA/Bアプリケーションは、すべてのタイプCアプリケーションが揮発性データ記憶装置に予約された後にだけ揮発性データ記憶装置に予約される、ことを特徴とするクラス3電子航空バッグ。
  7. 請求項6に記載のクラス3電子航空バッグにおいて、揮発性データ記憶装置の予約はアプリケーション当たりの所定最大記憶量に制限されることを特徴とするクラス3電子航空バッグ。
  8. 請求項7に記載のクラス3電子航空バッグにおいて、前記揮発性データ記憶装置の予約はすべてのアプリケーションの所定の合計最大記憶量に制限されることを特徴とするクラス3電子航空バッグ。
  9. 請求項7に記載のクラス3電子航空バッグにおいて、前記オペレーティングシステムは、前記揮発性データ記憶装置へのアクセスを制御するメモリ管理ユニット内のレジスタをロードすることにより前記所定の合計最大記憶量とアプリケーション当たりの所定最大量を適用することを特徴とするクラス3電子航空バッグ。
  10. 請求項1に記載のクラス3電子航空バッグにおいて、前記オペレーティングシステムは、前記アプリケーションの様々な処理の実行のための前記単一プロセッサのスケジューリングを制御し、各アプリケーションの制限された最大スケジューリング率を与えることを特徴とするクラス3電子航空バッグ。
  11. 請求項10に記載のクラス3電子航空バッグにおいて、前記アプリケーションの前記様々な処理は、タイプCアプリケーションの処理が待ち行列における優先度を与えられるように前記単一プロセッサの待ち行列に入れられることを特徴とするクラス3電子航空バッグ。
  12. 請求項11に記載のクラス3電子航空バッグにおいて、前記処理は、全スケジューリング率を歴史的に使用しない場合と比較して全スケジューリング率を歴史的に使用する場合は前記待ち行列の低順位に置かれることを特徴とするクラス3電子航空バッグ。
  13. 請求項1に記載のクラス3電子航空バッグにおいて、
    前記電子航空バッグはさらに、構成レジスタを有する周辺装置を含み、
    前記オペレーティングシステムは、これらのレジスタへのアクセスをタイプA/Bアプリケーションに対して阻止することを特徴とするクラス3電子航空バッグ。
  14. 請求項1に記載のクラス3電子航空バッグにおいて、
    前記オペレーティングシステムは、前記表示装置にデータを供給するために前記単一プロセッサ上で実行され、
    前記オペレーティングシステムは、前記タイプA/Bアプリケーションが前記タイプCの前記バッファのデータを上書きできないように、少なくとも1つのタイプCと1つのタイプA/Bアプリケーションのそれぞれの別個のバッファを管理し、オペレーティングシステム制御により前記バッファ間で選択することを特徴とするクラス3電子航空バッグ。
  15. 請求項14に記載のクラス3電子航空バッグにおいて、別個のバッファは異なるアプリケーションにより一意的に書き込み可能な記憶場所内に存在することを特徴とするクラス3電子航空バッグ。
  16. 請求項14に記載のクラス3電子航空バッグにおいて、
    前記バッファは機能領域に分割され、
    前記表示システムは、前記表示装置の示された方位に依存して異なる機能領域の前記表示装置上のバッファ位置と空間的位置との関係を再配列することを特徴とするクラス3電子航空バッグ。
  17. 請求項1に記載のクラス3電子航空バッグにおいて、
    前記電子メモリシステムはまた、第2のオペレーティングシステムを保持し、
    前記タイプA/Bアプリケーションは前記オペレーティングシステムにより実施される仮想化により前記第2のオペレーティングシステムにより実行される、ことを特徴とするクラス3電子航空バッグ。
  18. 請求項17に記載のクラス3電子航空バッグにおいて、
    前記オペレーティングシステムはあたかも前記第2のオペレーティングシステムがタイプA/Bアプリケーションであるかのように前記第2のオペレーティングシステムを実行することを特徴とするクラス3電子航空バッグ。
  19. 請求項17に記載のクラス3電子航空バッグにおいて、
    前記オペレーティングシステムは、前記第2のオペレーティングシステムの実行による前記タイプCアプリケーションの実行の潜在的妨害を阻止するために、前記オペレーティングシステムにより適用された所定の規則に従って前記第2のオペレーティングシステムの前記電子メモリ、前記表示装置、および前記プロセッサへのアクセスを制限することを特徴とするクラス3電子航空バッグ。
  20. 請求項17に記載のクラス3電子航空バッグにおいて、前記オペレーティングシステムは設計承認を必要とするオペレーティングシステムであり、前記第2のオペレーティングシステムは設計承認を必要としないオペレーティングシステムであることを特徴とするクラス3電子航空バッグ。
  21. 請求項19に記載のクラス3電子航空バッグにおいて、前記第2のオペレーティングシステムはWindows(登録商標)であることを特徴とするクラス3電子航空バッグ。
JP2012554101A 2010-02-23 2011-02-23 単一プロセッサ・クラス3電子航空バッグ Expired - Fee Related JP5896423B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US30701210P 2010-02-23 2010-02-23
US61/307,012 2010-02-23
PCT/US2011/025866 WO2011106379A1 (en) 2010-02-23 2011-02-23 Single processor class-3 electronic flight bag

Publications (2)

Publication Number Publication Date
JP2013522091A JP2013522091A (ja) 2013-06-13
JP5896423B2 true JP5896423B2 (ja) 2016-03-30

Family

ID=43983661

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012554101A Expired - Fee Related JP5896423B2 (ja) 2010-02-23 2011-02-23 単一プロセッサ・クラス3電子航空バッグ

Country Status (7)

Country Link
US (1) US9223633B2 (ja)
EP (1) EP2539818A1 (ja)
JP (1) JP5896423B2 (ja)
CN (1) CN102844741B (ja)
BR (1) BR112012020933A2 (ja)
RU (1) RU2568779C2 (ja)
WO (1) WO2011106379A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762990B2 (en) * 2011-07-25 2014-06-24 The Boeing Company Virtual machines for aircraft network data processing systems
US9239247B1 (en) 2011-09-27 2016-01-19 The Boeing Company Verification of devices connected to aircraft data processing systems
USD689087S1 (en) * 2012-08-01 2013-09-03 Smartplane, Inc. Avionics display screen with graphical user interface
US10754699B2 (en) * 2012-08-05 2020-08-25 International Business Machines Corporation Remote provisioning of virtual appliances for access to virtualized storage
US8714494B2 (en) * 2012-09-10 2014-05-06 Siemens Industry, Inc. Railway train critical systems having control system redundancy and asymmetric communications capability
US9233698B2 (en) * 2012-09-10 2016-01-12 Siemens Industry, Inc. Railway safety critical systems with task redundancy and asymmetric communications capability
US8862290B1 (en) * 2013-04-18 2014-10-14 Ge Aviation Systems Llc Flight system for an aircraft having an autoland system
FR3010853B1 (fr) * 2013-09-13 2015-10-16 Thales Sa Architecture hierarchique distribuee d'acces multiples a des services
WO2015127203A1 (en) * 2014-02-21 2015-08-27 Astronautics Corporation Of America System for communicating avionics information through portable electronic devices
CN103995874A (zh) * 2014-05-22 2014-08-20 北京航空航天大学 一种基于Windows Modern UI的EFB系统
EP3189307A1 (en) 2014-09-03 2017-07-12 The University Of Malta A human machine interface device for aircraft
WO2016160501A1 (en) * 2015-03-27 2016-10-06 Astronautics Corporation Of America Auxiliary security system for aircraft black box system
US9672747B2 (en) 2015-06-15 2017-06-06 WxOps, Inc. Common operating environment for aircraft operations
US10116749B2 (en) * 2015-08-31 2018-10-30 The Boeing Company Method for providing flight management system data to peripheral devices
FR3048094B1 (fr) * 2016-02-22 2018-03-02 Zodiac Aero Electric Interface pour aeronef et procede de commande d'une telle interface
US10109099B2 (en) * 2016-09-29 2018-10-23 Intel Corporation Method and apparatus for efficient use of graphics processing resources in a virtualized execution enviornment
US10225349B2 (en) 2016-10-26 2019-03-05 Honeywell International Inc. Software development kit for aircraft tablet device and airborne application server
CN106652094A (zh) * 2016-12-12 2017-05-10 中国航空工业集团公司西安航空计算技术研究所 一种飞机数据记录装置
US10410406B2 (en) * 2017-02-27 2019-09-10 Trimble Ab Enhanced three-dimensional point cloud rendering
US20180247548A1 (en) * 2017-02-27 2018-08-30 Honeywell International Inc. System and method to decipher and display advisory information
US10237532B2 (en) 2017-03-07 2019-03-19 Trimble Ab Scan colorization with an uncalibrated camera
US20190243504A1 (en) * 2018-02-05 2019-08-08 Honeywell International Inc. Touch screen controller with data exchange and mining service
US10991255B2 (en) 2018-04-05 2021-04-27 Ge Aviation Systems Llc Providing an open interface to a flight management system
EP3852336B1 (en) 2020-01-17 2023-08-02 GE Aviation Systems LLC System for connecting one or more applications of an electronic device to one or more avionics systems
TR202010324A1 (tr) 2020-06-30 2022-01-21 Tusas Tuerk Havacilik Ve Uzay Sanayii Anonim Sirketi Bir aviyonik ekran mimarisi.

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577212A (en) * 1994-12-09 1996-11-19 Unisys Corporation Method for reporting file write status in a shared file system
JP3707509B2 (ja) * 1996-09-05 2005-10-19 ブラザー工業株式会社 多機能並行処理型電子装置
EP1283997A2 (en) 1999-12-10 2003-02-19 Honeywell International Inc. Two layer operating system and method for avionics software applications
US6985951B2 (en) * 2001-03-08 2006-01-10 International Business Machines Corporation Inter-partition message passing method, system and program product for managing workload in a partitioned processing environment
US7392541B2 (en) * 2001-05-17 2008-06-24 Vir2Us, Inc. Computer system architecture and method providing operating-system independent virus-, hacker-, and cyber-terror-immune processing environments
US6829662B2 (en) * 2001-06-27 2004-12-07 International Business Machines Corporation Dynamically optimizing the tuning of sockets across indeterminate environments
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
US8274518B2 (en) * 2004-12-30 2012-09-25 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
FR2883964B1 (fr) * 2005-04-04 2007-05-11 Airbus France Sas Systeme d'aide a la navigation au sol d'un avion sur un aeroport
US7840770B2 (en) * 2005-12-02 2010-11-23 The Boeing Company Methods and systems for managing computer system configuration data
US8312459B2 (en) * 2005-12-12 2012-11-13 Microsoft Corporation Use of rules engine to build namespaces
US8959515B2 (en) * 2006-01-18 2015-02-17 International Business Machines Corporation Task scheduling policy for limited memory systems
JP4783646B2 (ja) * 2006-02-08 2011-09-28 富士通東芝モバイルコミュニケーションズ株式会社 携帯型電子機器
US20080010608A1 (en) * 2006-07-05 2008-01-10 Honeywell International, Inc. Apparatus and methods for ensuring visibility of display window
JP5289688B2 (ja) * 2006-07-05 2013-09-11 ルネサスエレクトロニクス株式会社 プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法
US8194088B1 (en) * 2006-08-03 2012-06-05 Apple Inc. Selective composite rendering
US8751067B2 (en) * 2007-02-27 2014-06-10 The Boeing Company Electronic flight bag system and method
US20100262318A1 (en) * 2007-05-16 2010-10-14 J. Ariens & Associates, Inc. Electronic flight bag user interface system
US20080297525A1 (en) * 2007-05-31 2008-12-04 Barinder Singh Rai Method And Apparatus For Reducing Accesses To A Frame Buffer
US8149710B2 (en) * 2007-07-05 2012-04-03 Cisco Technology, Inc. Flexible and hierarchical dynamic buffer allocation
US7930097B2 (en) * 2007-07-16 2011-04-19 The Boeing Company Method and apparatus for displaying terrain elevation information
US7895409B2 (en) * 2007-07-30 2011-02-22 Hewlett-Packard Development Company, L.P. Application inspection tool for determining a security partition
US20090049449A1 (en) * 2007-08-15 2009-02-19 Srinidhi Varadarajan Method and apparatus for operating system independent resource allocation and control
FR2948789B1 (fr) * 2009-07-28 2016-12-09 Airbus Composant logiciel et dispositif pour le traitement automatise de donnees multi-usages, mettant en oeuvre des fonctions ayant besoin de differents niveaux de surete ou limites de responsabilite

Also Published As

Publication number Publication date
CN102844741A (zh) 2012-12-26
US9223633B2 (en) 2015-12-29
WO2011106379A1 (en) 2011-09-01
RU2012137491A (ru) 2014-03-27
CN102844741B (zh) 2016-10-12
RU2568779C2 (ru) 2015-11-20
JP2013522091A (ja) 2013-06-13
EP2539818A1 (en) 2013-01-02
BR112012020933A2 (pt) 2017-03-07
US20110238239A1 (en) 2011-09-29

Similar Documents

Publication Publication Date Title
JP5896423B2 (ja) 単一プロセッサ・クラス3電子航空バッグ
EP3092560B1 (en) Vehicle with multiple user interface operating domains
EP3092566B1 (en) Vehicle with multiple user interface operating domains
US10732982B2 (en) Data processing systems
US10475147B2 (en) Multiple GPU graphics processing system
US8458718B2 (en) Statically partitioning into fixed and independent systems with fixed processing core
US8935306B2 (en) Method of executing a computer application, associated kit and aircraft
US8462018B1 (en) Systems and method for controlling the simultaneous display of multi-level classified information on the same surface of an aircraft display unit
Parkinson et al. Safety-critical software development for integrated modular avionics
VanderLeest et al. MPSoC hypervisor: The safe & secure future of avionics
US20240012673A1 (en) Data processing systems
Li et al. The Quest-V separation kernel for mixed criticality systems
US9558364B2 (en) Computing machine, access management method, and access management program
Fuchsen Preparing the next generation of IMA: A new technology for the scarlett program
Sinha et al. A paravirtualized android for next generation interactive automotive systems
GB2600708A (en) Data processing systems
US12008676B2 (en) Vehicle device, drawing requests using priority queues, and vehicle device control method
King An overview of ARINC 653 part 4
Barladian et al. Specifics of the Development of an On-Board Visualization System for Civil Aircrafts
Leroux et al. Using Resource Partitioning to Build Secure, Survivable Embedded Systems
MATTERS et al. Safety-Critical Software Development for Integrated Modular Avionics
Parkinson et al. Putting cots back in the box
FIET et al. SAFETY-CRITICAL SOFTWARE DEVELOPMENT FOR INTEGRATED MODULAR AVIONICSON FIET
Parkinson et al. Mixing Modern Multi-core Processors with Open Architectures

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151203

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: 20160209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160224

R150 Certificate of patent or registration of utility model

Ref document number: 5896423

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees