ここで図面を参照し、特に図1を参照すると、有利な実施形態においてデータ処理環境の例図が提供されている。当然ながら、図1は単なる例であり、異なる実施形態を実行できる環境に関していかなる制限を主張する、又は暗示するものではない。本明細書に使用されているように、用語は例示的に一実施例に言及するものであり、必ずしも理想的な実行形態ではない。図示した環境に多数の変更を加えることができる。
ここで図1を見てみると、ソフトウェアパーツ管理環境を実行可能であるネットワークデータ処理システムを示す図が、有利な一実施形態にしたがって図示されている。この実施例では、ネットワークデータ処理システム100は、情報が航空機ネットワーク101と地上ネットワーク103との間で転送可能であるネットワークデータ処理システムである。この情報は例えば非限定的に、コマンド、航空機用ソフトウェアパーツ、ダウンリンクデータ、エラーログ、使用履歴、飛行日時、ステータス情報、及びマニュアルを含むことができる。地上ネットワーク103は、地上に位置するネットワーク及びコンピュータを含む。航空機ネットワークシステム101は、航空機に位置するネットワーク及びコンピュータである。
これらの実施例においては、コマンドはライブラリーサーバーコンピュータ104に位置するライブラリー102上で発行することができる。ライブラリーサーバーコンピュータ104と、例えばサーバーコンピュータ105及び106等の他のデータ処理システムはイントラネット108に接続している。
これらのコマンドは、例えばインターネット112等のネットワークを介してプロキシ・サーバーコンピュータ110上の地上コンポーネント(OGC)109に配信することができる。イントラネット108とインターネット112は、例えばワイヤー、光ファイバーケーブル、又は無線通信リンク等の接続部を含むことができる。プロキシ・サーバーコンピュータ110は、空港114等の施設に位置することができる。例えばプロキシ・サーバーコンピュータ110等のプロキシ・サーバーは、例えばメンテナンス地等のほかの空港及び他の場所に位置することができる。プロキシ・サーバーコンピュータ110は、ライブラリー102から受信したコマンド及びパーツの一時的なパーツ記憶装置として機能する。
コマンド及び航空機用ソフトウェアパーツはまた、メンテナンス用ラップトップコンピュータ116上のソフトウェアメンテナンスツール115等の携帯用コンピュータ上のソフトウェアメンテナンスツールに送信することもできる。プロキシ・サーバーコンピュータ110及びメンテナンス用ラップトップコンピュータ116は集合的に地上ツールと呼ばれる。地上ツールは、例えばコマンド、航空機用ソフトウェアパーツ、及びダウンリンクデータ等の情報を転送するための適切なアプリケーションを用いて設定されている任意のデータ処理システムであってよい。
プロキシ・サーバーコンピュータ110は、様々なタイプの接続部及びリンクを介して航空機118に接続することができる。例えば、無線装置120は航空機118の無線装置124と無線接続122を確立することができる。無線装置124は航空機118のオープンデータネットワーク126に接続する。メンテナンス用ラップトップコンピュータ134は、ソフトウェアメンテナンスツール136及び地上コンポーネント(OGC)138を有し、航空機118と通信して客室無線アクセス装置142との通信リンク140を確立することができる。通信リンク140は、無線仮想プライベート・ネットワークトンネルである。客室無線アクセス装置142は、これらの実施例ではオープンデータネットワーク126に接続する。オープンデータネットワーク126は、例えば無線リンク122等の種々の通信リンク用インターフェースとなる。加えて、空港114においてプロキシ・サーバーコンピュータ110に接続された衛星装置は、これもまたオープンデータネットワーク126に接続された衛星装置132との衛星リンク130を確立することができる。
オープンデータネットワーク126は、機内電子配信システム(OBEDS)146を含む航空機データ処理システム144に接続する。記憶装置148はまた、航空機データ処理システム144にも位置している。記憶装置148は、航空機パーツ等の情報を保存する場所を提供する。航空機データ処理システム144はまた、ファイル転送システム(FTS)150、機内搭載の記憶マネージャ(OSM)152、機内搭載のデータロード機能(ODLF)154、及びサイナー−クレーターモジュール(SCM)156も含む。これらの実施例では、サイナー−クレーターモジュール156は、機内電子配信システム146にコンパイルされているJava(登録商標)ライブラリーとして実行することができる。また、航空機データ処理システム144は、クルー情報システム/メンテナンスシステムコンピュータの形態を取ることができる。
ファイル転送システム150は、記憶装置148から列線交換ユニットへファイルを転送するのに使用される。機内搭載の記憶マネージャ152は、記憶装置148に保存された情報を管理する。機内搭載のデータロード機能154は、列線交換ユニットに航空機用ソフトウェアパーツをロードするのに使用されるソフトウェアコンポーネントである。サイナー−クレーターモジュール156は、受信クレートを処理し、これらクレートのコンテンツを記憶装置148に保存するのに使用される。加えて、サイナー−クレーターモジュール156は、プロキシ・サーバーコンピュータ110にダウンロードするためのダウンロードデータを作成することができる。
これらの実施例における全てのコマンドの処理は、航空機データ処理システム144に位置する機内電子配信システム146によって開始される。機内電子配信システム146は、空−地上リンクのステータスを監視し、通信リンクが確立されたかどうかを判定する。リンクが使用可能であれば、機内電子配信システム146はリンクを介して地上データ処理システムに接続する。
他の有利な実施形態では、メンテナンス用ラップトップコンピュータ158は隔離されたデータネットワーク166との通信リンク164を確立することができる。メンテナンス用ラップトップコンピュータ158は、ソフトウェアメンテナンスツール160と地上コンポーネント162を有する。通信リンク164は有線接続であってよい。列線交換ユニットは例えば、中央サーバーモジュール(CSM)168、エレクトロニック・フライト・バッグ(EFB)170、及び客室サービスシステム(CSS)172であってよい。中央サーバーモジュール168は、航空機118内の異なるネットワークに対して共通ネットワークの構築機能を提供する。これらのサービスは例えば、パケット・ルーティング、ファイアウォール、及び無線アクセスを含む。客室サービスシステム172は、例えば照明、客室ドア、及び拡声システム等の航空機内の制御システムへのアプリケーションを提供する。
機内電子配信システム146が地上デバイスへの接続を確立すると、機内電子配信システム146は航空機118用にキューに保存された又は記憶されたコマンドリストを要求する。プロキシ・サーバーコンピュータ110、メンテナンス用ラップトップコンピュータ134、及び/又はメンテナンス用ラップトップコンピュータ162等のデータ処理システム上の機内搭載の地上コンポーネント109、138、又は162は、これらの実施例では、航空機データ処理システム144上の機内電子配信システム136と通信する。この種のソフトウェアコンポーネントは、地上ツールにアプリケーションプログラム用インターフェースを提供して、航空機118へコマンド及び航空機用ソフトウェアパーツをアップリンクするだけでなく、データ又はファイルをダウンリンクする。
ネットワークデータ処理システム100の特定のコンポーネント及び配置構成の説明は、異なる実施形態が実行可能である件におけるアーキテクチャ制限を暗示するように意図されていない。例えば、航空機ネットワーク101では単一の航空機のみが示されているが、航空機ネットワーク101には複数の航空機が含まれていてよい。別の実施例として、地上ネットワーク103内の航空会社ネットワーク108は、インターネット112以外のほかのタイプのネットワークを介して、例えば空港114等の空港においてプロキシ・サーバーコンピュータ110等のコンピュータに接続することができる。例えば、広域ネットワーク(WAN)は、インターネット112の代わりに、又はインターネット112と連動して使用することができる。
ここで図2を見ると、データ処理システムの図が実例となる実施形態にしたがって図示されている。これらの実施例では、データ処理システム200は、例えば図1のライブラリーサーバーコンピュータ104、メンテナンス用ラップトップコンピュータ116、プロキシ・サーバーコンピュータ110、メンテナンス用ラップトップコンピュータ134、メンテナンス用ラップトップコンピュータ158、及び航空機データ処理システム144等のデータ処理システムを実行するのに使用できるデータ処理システムの一実施例である。
この実例となる実施例においては、データ処理システム200は、プロセッサ装置204、メモリ206、永続記憶装置208、通信装置210、入力/出力(I/O)装置212、及びディスプレイ214の間の通信を可能にする通信ファブリック202を含む。
プロセッサ装置204は、メモリ206にロード可能なソフトウェアの命令を実行する機能を持つ。プロセッサ装置204は、特定の実行形態によって、一連の一または複数のプロセッサ、又はマルチプロセッサ・コアであってよい。さらに、プロセッサ装置204は、二次プロセッサを単一チップ上に有する基本プロセッサのある一または複数の異種プロセッサシステムを使用して実行することができる。実例となる別の実施例として、プロセッサ装置204は、同じ種類のマルチプロセッサを含む対称的なマルチプロセッサシステムであってよい。
メモリ206はこれらの実施例では例えば、ランダム・アクセス・メモリ、又は任意の他の適切な揮発性又は非揮発性記憶デバイスであってよい。永続記憶装置208は特定の実行形態によって様々な形態を取ることができる。例えば、永続記憶装置208は、一又は複数のコンポーネント又はデバイスを含むことができる。例えば、永続記憶装置208は、ハードドライブ、フラッシュメモリ、書換え可能な光ディスク、書換え可能な磁気テープ、又は上述したものの幾つかの組み合わせであってよい。永続記憶装置208によって使用される媒体も、取り外し可能であってよい。例えば、取り外し可能なハードドライブを永続記憶装置208に使用することができる。
通信装置210はこれらの実施例においては、他のデータ処理システム又はデバイスとの通信を可能にする。これらの実施例では、通信装置210はネットワーク・インターフェース・カードである。通信装置210は、物理的及び無線通信リンクのいずれか、あるいは両方の使用を介した通信を可能にする。入力/出力装置212は、データ処理システム200に接続できる他のデバイスとのデータ入力及びデータ出力を可能にする。例えば、入力/出力装置212は、キーボード及びマウスを介するユーザー入力のための接続を可能にすることができる。さらに、入力/出力装置212は、プリンタに出力を送信することができる。ディスプレイ214はユーザーに情報を表示する機構を提供する。
オペレーティングシステム及びアプリケーション又はプログラムのための命令は、永続記憶装置208に位置している。これらの命令を、プロセッサ装置204によって実行するためにメモリ206にロードすることが可能である。異なる実施形態のプロセスは、例えばメモリ206等のメモリに位置することができる、コンピュータによって実行される命令を使用して、プロセッサ装置204によって行うことができる。これらの命令は、プロセッサ装置204内のプロセッサによって読み取り、実行可能であるプログラムコード、コンピュータによって使用可能なプログラムコード、又はコンピュータによって読み取り可能なプログラムコードと呼ばれる。異なる実施形態のプログラムコードは、例えばメモリ206又は永続記憶装置208等の異なる物理的又は触知可能なコンピュータによって読取可能な媒体上に具現化することができる。
プログラムコード216は、コンピュータによって読み取り可能な媒体218上に機能形態で位置しており、プロセッサ装置204によって実行するために、データ処理システム200にロードする又は転送することが可能である。プログラムコード216及びコンピュータによって読取可能な媒体218は、これらの実施例ではコンピュータプログラム製品220を形成する。ある実施例では、コンピュータによって読み取り可能な媒体218は例えば、永続記憶装置208の一部であるハードドライブ等の記憶デバイスに転送するために永続記憶装置208の一部であるドライブ又は他のデバイスに挿入又は設置される光又は磁気ディスク等の有形形態であってよい。有形形態においては、コンピュータによって読み取り可能な媒体218はまた、データ処理システム200に接続されたハードドライブ又はフラッシュメモリ等の永続記憶装置の形態を取ることもできる。コンピュータによって読み取り可能な媒体218の有形形態はまた、コンピュータによって記録可能な記録媒体とも呼ばれる。
あるいは、プログラムコード216は、コンピュータによって読み取り可能な媒体218から通信装置210への通信リンクを介して及び/又は入力/出力装置212への接続を介して、データ処理システム200へ転送することができる。図示した実施例においては、通信リンク及び/又は接続は物理的又は無線であってよい。コンピュータによって読み取り可能な媒体はまた、プログラムコードを含む通信リンク又は無線伝送等の非有形媒体の形態を取ることもできる。
データ処理システム200用に図示された異なるコンポーネントは、異なる実施形態を実行可能な件においてアーキテクチャ制限を課すように意図されたものではない。図示した異なる実施形態は、データ処理システム200用に図示されたコンポーネントに加えて、またはその代わりのコンポーネントを含むデータ処理システムにおいて実行可能である。図2に示すほかのコンポーネントは、図示した実施例に示したものとは異なっていてよい。
例えば、バスシステムは通信ファブリック202を実行するために使用することができ、例えばシステムバス又は入力/出力バス等の一又は複数のバスを含むことができる。当然ながら、バスシステムは、バスシステムに取り付けられた異なるコンポーネント又はデバイス間のデータ転送を可能にする任意の適切な種類のアーキテクチャを使用して実行することができる。加えて、通信装置は、例えばモデム又はネットワークアダプタ等のデータの送受信に使用される一又は複数のデバイスを含むことができる。さらに例えば、メモリは通信ファブリック202にあってもよいインターフェース及びメモリコントローラハブに含まれるようなメモリ206又はキャッシュであってよい。
異なる有利な実施形態により、航空機用ソフトウェアパーツを管理するための、コンピュータによって実行される方法、装置、及びコンピュータによって使用可能なプログラム製品が提供される。
ここで図3を参照すると、航空機用ソフトウェアパーツ管理装置を示す図が有利な一実施形態にしたがって図示されている。この実施例では、航空機用ソフトウェアパーツ管理装置300は、受信モジュール302、ライブラリー304、プロキシ・サーバー・アプリケーション306、ソフトウェアメンテナンスツール308、及び機内電子配信システム310を含む。
受信モジュール302は、ソースから航空機用ソフトウェアパーツを受信し、航空機用ソフトウェアパーツを保存するためにライブラリー304に送信することができる。ソースは例えば、航空機メーカー、ソフトウェア供給メーカー、ライブラリーサプライヤ、又は航空会社を含むことができる。
これらの実施例では、ライブラリー304は図1のライブラリーサーバーコンピュータ102等のデータ処理システムに位置する。ライブラリー304は、航空機用ソフトウェアパーツの保存システムとなる。また、ライブラリー304は航空機用ソフトウェアパーツを管理するために使用することができる。パーツの管理は例えば非限定的に、航空機用ソフトウェアパーツの体系化、航空機用ソフトウェアパーツの削除、及び航空機用ソフトウェアパーツの配信を含むことができる。制御プロセスのセキュリティ及びバージョニングを使用して航空機用ソフトウェアパーツを管理することができる。
プロキシ・サーバー・アプリケーション306は、特定の実行形態によって同じデータ処理システム又は異なるデータ処理システムに位置することができる。プロキシ・サーバー・アプリケーション306はライブラリー304と通信しており、異なる航空機クライアントで機能することが可能である。
ソフトウェアメンテナンスツール308は、航空機用ソフトウェアパーツをライブラリー304から機内電子配信システム310へ送信する代替ルートを可能にするポータブルコンピュータに位置するソフトウェアメンテナンスツールであってよい。ソフトウェアメンテナンスツール308は、特定の実行形態によって、ライブラリー304から直接航空機用ソフトウェアパーツを受信する、又はプロキシ・サーバー・アプリケーション306を介して受信することができる。
機内電子配信システム310は、航空機に位置する航空機クライアントの一実施例である。機内電子配信システム310は、航空機のデータ処理システムで実行されるソフトウェアクライアントである。機内電子配信システム310は、プロキシ・サーバー・アプリケーション306を介してライブラリー304から航空機の航空機用ソフトウェアパーツを受信することができる。機内電子配信システム310によって航空機用ソフトウェアパーツを受信した後に、航空機用ソフトウェアパーツを使用するために列線交換ユニットにインストールすることができる。
航空機用ソフトウェアパーツを航空機に配信するのに航空機用ソフトウェアパーツ管理装置300を使用するのに加えて、この装置は航空機から送られるデータを受信するのに使用することもできる。このデータはダウンリンクデータとも呼ばれる。例えば、フライトレコーダーは飛行中に起こる異なる事象を描写するデータを送信することができる。このデータは、後に使用及び分析するためにプロキシ・サーバー・アプリケーション306及び/又はソフトウェアメンテナンスツール308を介して機内電子配信システム310を介してライブラリーに再びダウンリンクすることができる。このデータはまた、航空機用ソフトウェアパーツ、列線交換ユニット、又は航空機構造についての構成データを含むこともできる。
ここで図4を参照すると、ソフトウェアパーツ管理環境のブロック図が有利な一実施形態にしたがって図示されている。ソフトウェアパーツ管理環境400は、図3の航空機用ソフトウェアパーツ管理装置300の一実行例である。
この実施例では、クレートツール402がコンピュータ404で実行される。クレートツール402は、図3の受信モジュール302の一実行例である。ライブラリー406はサーバーコンピュータ410に位置している。ライブラリー406は、図3のライブラリー304の一実行例である。プロキシ・サーバー・アプリケーション412はサーバーコンピュータ414で実行され、図3のプロキシ・サーバー・アプリケーション306の一実行例である。プロキシ・サーバー・アプリケーション412はサーバーコンピュータ414で実行され、図3のプロキシ・サーバー・アプリケーション306の一実行例である。ソフトウェアメンテナンスツール416は、ポータブルコンピュータ418で実行される。ソフトウェアメンテナンスツール416は図3のソフトウェアメンテナンスツール308の一実施例である。機内電子配信システム420は、航空機424の航空機用コンピュータ422で実行される。機内電子配信システム420は図3の機内電子配信システムの一実行例である。
これらの実施例では、クレートツール402は、クレート428で例えば航空機用ソフトウェアパーツ426等のソフトウェアパーツを受信し処理することができる。クレート428は航空機用ソフトウェアパーツ426のパッケージングシステムであり、物理的な物体ではない。クレート428はこれらの実施例では、航空機用ソフトウェアパーツ426を含むファイルである。クレート428は例えば、ジップファイルフォーマットを使用するジップファイルであってよい。
ジップファイルフォーマットは、ジップファイルが圧縮された一又は複数のファイルを含むことができるデータ圧縮及びアーカイバルフォーマットである。ファイルのパッケージングシステムの他の実施例は、例えばJAVA(登録商標)アーカイブ(JAR)ファイルが挙げられる。これらのファイルはまた、特定の実行形態によって、暗号化する又はデジタル署名することが可能である。当然ながら、航空機用ソフトウェアパーツ426のラッパーとなる任意の種類の機構を使用することができる。これらの実施例では、ラッパーは、航空機用ソフトウェアパーツ426に対して設定できる又は必要とされる様々なセキュリティ要件を満たすように設計されたセキュリティラッパーである。
航空機用ソフトウェアパーツ426は、これらの実施例では、航空機のデータ処理システム上で使用するソフトウェア・アプリケーションであってよい。データ処理システムは、航空機424の列線交換ユニット430内部に位置するデータ処理システムであってよい。アプリケーションは一連のファイルを含むことができる。一連のファイルは例えば、一又は複数のプログラム、データファイル、ライブラリー、構成ファイル、又は他の情報あるいはコードを含むことができる。本明細書で使用されるように、「一連の」は、一又は複数のアイテムを意味する。例えば、これらの実施例では、一連の航空機用ソフトウェアパーツは、一又は複数の航空機用ソフトウェアパーツであり、一連のコマンドは、一又は複数のコマンドである。
クレートツール402は、クレート428を受信し、クレート428を処理してライブラリー406内の複数の航空機用ソフトウェアパーツ432のうちの航空機用ソフトウェアパーツ426を保存する。この処理は、例えばクレート428と航空機用ソフトウェアパーツ426の署名を認証するステップを含むことができる。この認証は、クレート428又は航空機用ソフトウェアパーツ426に破損又はエラーが全く起きなかったことを保証するために行うことができる。ライブラリー406内部に保存された異なるパーツは、プロキシ・サーバー・アプリケーションを介して例えば航空機424等の航空機に配信することができる。
ライブラリー406は、ソフトウェアパーツ管理環境400内部にコンポーネントを提供して、航空機用ソフトウェアパーツ432に様々な管理操作を行う。これらの管理操作は、例えば非限定的に、航空機用ソフトウェアパーツを航空機に配信し、航空機用ソフトウェアパーツを体系化し、航空機用ソフトウェアパーツを削除し、航空機用ソフトウェアパーツのある航空機からデータを受信し、新しい航空機用ソフトウェアパーツを受信することを含むことができる。
プロキシ・サーバー・アプリケーション412は、航空機用ソフトウェアパーツ432から一連の航空機用ソフトウェアパーツを入手して、これらのパーツを機内電子配信システム420へ送信することができる。プロキシ・サーバー・アプリケーション412は、通信リンクを介して機内電子配信システム420と通信している。この通信リンクは様々な形態を取ることができる。例えば、無線通信リンクを使用することができる。この方法では、航空機が地上にある又は飛行中であっても、航空機用パーツとデータを交換することが可能である。他の実施例では、サーバーコンピュータ414はネットワークの有線リンクを介して航空機のコンピュータ422に接続することができる。
機内電子配信システム420は、一連の航空機用パーツを処理し、これらのパーツを航空機用コンピュータ422の記憶デバイス436内部の航空機用ソフトウェアパーツ434として保存する。必要に応じて、航空機用ソフトウェアパーツ434から航空機用ソフトウェアパーツを列線交換ユニット430にインストールすることが可能である。航空機に送られた航空機用ソフトウェアパーツ等のデータ、マニュアル、資料及びコマンドは、アップリンクデータと呼ばれる。
加えて、データは航空機424からプロキシ・サーバー・アプリケーション412を介して他の方向に流れてライブラリー406へ戻ることができる。この種のデータはダウンリンクデータと呼ばれる。これらの実施例では、列線交換ユニット430は、記憶デバイス436に一時的に保存されているダウンリンクデータ438を作成することができる。機内電子配信システム420は、プロキシ・サーバー・アプリケーション412へダウンリンクデータ438を送信することができる。次に、プロキシ・サーバー・アプリケーション412はダウンリンクデータ438を保存のためにライブラリー406へ送信する。このデータは次に処理及び分析されることが可能である。このデータはまた、例えば航空機のソフトウェアのステータスを含むことができる。このステータス情報を使用してオペレータを航空機に送り、航空機への列線交換ユニットのロード及びインストールを開始することができる。
さらに、ポータブルコンピュータ418のソフトウェアメンテナンスツール416により、航空機用ソフトウェアパーツとダウンリンクデータを転送する代替ルートが得られる。ポータブルコンピュータ418は例えば、ラップトップコンピュータであってよい。ポータブルコンピュータ418は、特定の実行形態によって、航空機用ソフトウェアパーツ432からプロキシ・サーバー・アプリケーション412を介して、又は直接ライブラリー406から航空機用ソフトウェアパーツを受信することができる。その後、ポータブルコンピュータ418は航空機424へ運ばれて、航空機用コンピュータ422の機内電子配信システム420との通信リンクを確立し、機内電子配信システム420へ航空機用ソフトウェアパーツを送信することができる。
この種類の航空機用ソフトウェアパーツの配信は、サーバーコンピュータ414と航空機424の航空機用コンピュータ422との間でネットワーク接続又は通信リンクが確立できない時に特に役立つ。この種の状況は、空港又はメンテナンス施設において利用可能な設備のタイプによって起こりえる。さらに、ある場合には、通信リンクを可能にするネットワーク又は通信システムが一時的に利用不能又は修理が必要である場合がある。この場合には、ソフトウェアメンテナンスツール416によって航空機用ソフトウェアパーツを機内電子配信システム420へ転送することができる。さらに、ソフトウェアメンテナンスツール416は、機内電子配信システム420と通信している間にダウンリンクデータ438を受信することもできる。
この件においては、異なる有利な実施形態により航空機用ソフトウェアパーツを管理するための、コンピュータによって実行される方法、装置、及びコンピュータによって使用可能なプログラムコードが提供される。さらに、異なる有利な実施形態により、後の分析又は再調査のために、航空機からのデータをある施設又は場所へ転送することも可能になる。
ここで図5を見てみると、ソフトウェアパーツ管理環境の操作モードを示す表が、有利な一実施形態にしたがって図示されている。この実施例では、表500は、図4のソフトウェアパーツ管理環境400内で実施可能な異なる操作モードの幾つかを示す。これらの実施例では、異なる操作モードは、パーツの受信及び保存モード502、コマンドの配信モード504、パーツの配信モード506、及びダウンリンクデータの受信モード508を含む。表500に示すこれらの異なる操作モードは、図4のソフトウェアパーツ管理環境400内の一又は複数のコンポーネント内で実施可能なものである。
パーツの受信及び保存モード502では、航空機用ソフトウェアパーツを受信し図4のライブラリー406に保存することができる。コマンドの配信モード504は、航空機へコマンドを送信するのに使用される。これらのコマンドは例えば、データをアップリンクするためのコマンドであってよい。このデータは例えば、航空機用ソフトウェアパーツを航空機へ送信するためのデータを含むことができる。アップリンクデータはまた、資料又は他の情報を航空機へ送信するためのコマンドを含むこともできる。パーツの配信モード506は、航空機用ソフトウェアパーツが実際に航空機へ送られる操作モードである。ダウンリンクデータの受信モード508は、航空機の様々なコンポーネントからソフトウェアパーツ管理環境のライブラリーへデータを送信する操作モードである。
コマンドプロトコル処理の詳細
ここで図6を参照すると、コマンドの種類を示す図が、有利な一実施形態にしたがって図示されている。この実施例では、コマンドの種類600は、アップリンクコマンド602、ダウンリンクコマンド604、及び削除コマンド606を含む。アップリンクコマンド602はライブラリーから航空機へ情報を送信するのに使用される。この情報は例えば、航空機用ソフトウェアパーツ、構成情報、及び他のデータを含むことができる。ダウンリンクコマンド604は航空機からライブラリーへのデータの転送を開始するのに使用される。この情報は例えば、航空機用ソフトウェアパーツのアップリンクに関するステータス情報、及び航空機の列線交換ユニットの機器構成レポートを含むことができる。削除コマンド606は航空機において情報を削除するのに用いられる。例えば、削除コマンド606を使用して航空機において選択された航空機用ソフトウェアパーツを削除することができる。これらの実施例では、これらの異なるコマンドは航空機のクレート内に送られる。
ここで図7を見ると、コマンドフォーマットが有利な一実施形態にしたがって図示されている。この実施例では、コマンド700は拡張可能なマークアップ言語(XML)データ構造の形態を取る。コマンド700はこの実施例では、アップリンクコマンドである。
コマンド700のメッセージ識別子要素702は、コマンドに対する一意識別子となる。タイプ要素704はコマンドのタイプを示す。この実施例では、コマンドのタイプはアップリンクコマンドとして特定される。システム要素706はコマンドの対象となるシステムを特定する。アプリケーション識別子要素708は、コマンドを受信する対象のシステム上のアプリケーションを特定する。
リンクラベル要素710は、コマンドをライブラリーから航空機へ転送するのに使用されるネットワークリンクのタイプを特定する。例えば、リンクは有線リンク又は無線リンクであってよい。サーバーアドレス要素712は特定されたデバイスのアドレスを特定する。データタイプ要素714は、コマンドの対象である情報のタイプの特定を可能にする。リソースタイプ要素716は、コマンドの対象である特定のファイルを特定する。
ここで図8を見ると、アップリンクコマンドの処理を示すメッセージフロー図が有利な一実施形態にしたがって図示されている。この実施例では、アップリンクコマンドの処理には、地上システム800、機内電子配信システム(OBEDS)802、ファイル転送システム(FTS)804、及び列線交換ユニット(LRU)806が関与している。これらの実施例では、地上システム800は例えば、コンピュータ上のプロキシ・サーバー・アプリケーション又はラップトップコンピュータに位置するソフトウェアメンテナンスツールである。
このプロセスは機内電子配信システム802が地上システム800との接続を確立することから開始される(メッセージM1)。接続に応答して、地上システム800は次に使用可能なコマンドを作成する。この実施例では、次のコマンドはアップリンクコマンドである。地上システム800はアップリンクコマンドを機内電子配信システム802に送信する(メッセージM2)。機内電子配信システム802はアップリンクコマンドの署名を照合する。
その後に、機内電子配信システム802は地上システム800にリソースを要求する(メッセージM3)。地上システム800は、転送に使用可能な要求に対応するクレートを作成する。メッセージM3における要求はメッセージM2において受信したアップリンクコマンドから特定される。
機内電子配信システム802は地上システム800からクレートをアップリンクする(メッセージM4)。クレートを受信した後に、機内電子配信システム802はクレートの署名を認証する。この認証には、クレートの署名の認証だけでなく航空機用ソフトウェアパーツの署名の認証も含まれる。
その後に、機内電子配信システム802はファイル転送システム804に転送を要求する(メッセージM5)。これに応答して、ファイル転送システム804は航空機用ソフトウェアパーツを列線交換ユニット806へ転送する(メッセージM6)。
次にステータスがファイル転送システム804から機内電子配信システム802へ転送される(メッセージM7)。
ここで図9を見てみると、ダウンリンクコマンドの処理を示すメッセージングの図が有利な一実施形態にしたがって図示されている。この実施例では、図8に示すのと同じコンポーネントがダウンリンクコマンドの処理に含まれる。この実施例では、機内電子配信システム802が地上システム800と接続する(メッセージN1)。地上システム800が、処理に使用可能な次のコマンドを作成する。
ダウンリンクコマンドは機内電子配信システム802へ送られる(メッセージN2)。機内電子配信システム802はファイル転送システム804へ、ダウンリンクコマンドを列線交換ユニット806へ送信するように要求する(メッセージN3)。次に、ファイル転送システム804は列線交換ユニット806へダウンリンクコマンドを送信する(メッセージN4)。列線交換ユニット806はコマンドを処理し、次にダウンリンクデータをファイル転送システム804へ送信する(メッセージN5)。ファイル転送システム804は、機内電子配信システム802に、ダウンリンクデータを地上システム800へ送信するように要求する(メッセージN6)。これに応答して、機内電子配信システム802はダウンリンクデータをクレートに格納し署名する。さらに、機内電子配信システム802はクレートにメタデータも追加する。その後に、機内電子配信システム802はクレートを地上システム800へ送信する(メッセージN7)。
ここで図10を見てみると、削除コマンドの処理を示すメッセージフロー図が有利な一実施形態にしたがって図示されている。図8及び9に示す同じコンポーネントが削除コマンドを処理するのに使用される。このプロセスは、機内電子配信システム802が地上システム800と接続することから開始される(メッセージO1)。接続に応答して、地上システム800は使用可能な機内電子配信システム802の次のコマンドを作成する。機内電子配信システム802は削除コマンドを受信する(メッセージO2)。
その後、機内電子配信システム802はコマンドの署名を照合する。署名が有効である場合、機内電子配信システム802はファイル転送システム804に削除コマンドを列線交換ユニット806へ送信するように要求する(メッセージO3)。これらの実施例では、コマンドがプロキシ・サーバーから発行された場合にのみ、コマンドの署名が照合される。同じことがダウンリンクコマンドにも行われる。その後に、ファイル転送システム804は削除コマンドを列線交換ユニット806へ送信する(メッセージO4)。
削除コマンドの受信に応答して、列線交換ユニット806は削除コマンドによって特定されたリソースを削除する。
ファイル転送システム804は、機内電子配信システム802にステータスを地上システム800へ送信するように要求する(メッセージO5)。このステータスは、リソースが列線交換ユニット806によって完全に削除されたかどうかを表す。これに応答して、機内電子配信システム802はシステムを地上システム802に送信する(メッセージO6)。この要求の受信に応答して、機内電子配信システム802はステータスをクレートに格納し署名する。その後に、クレートは地上システム800に送られる(メッセージO7)。
ここで図11を見てみると、航空機用ソフトウェアパーツを配信するのに使用されるプロセスの高レベルフローチャートが有利な一実施形態にしたがって図示されている。
図11に示すプロセスは、航空機用ソフトウェアパーツを航空機にインストールするために図4のソフトウェアパーツ管理環境400に含むことができるプロセスの一実施例である。
このプロセスは、ライブラリーに航空機用ソフトウェアパーツを保存することにより開始される(作業1100)。これらの実施例では、図4のライブラリー406等のライブラリーは航空機用ソフトウェアパーツ管理コンポーネントである。このプロセスは次に、航空機用ソフトウェアパーツを受信する航空機を特定して、特定された航空機を形成する(作業1102)。作業1102においては、ライブラリーのオペレータが、一連の航空機に配信するために航空機用ソフトウェアパーツを選択することができる。他の実施形態では、航空機用ソフトウェアパーツの対象となる航空機を、別のシステムから受ける情報又はファイルを介して予め選択しておくことができる。
その後、航空機用ソフトウェアパーツはアップリンクコマンドの形態で、プロキシ・サーバー・アプリケーションへ送られる(作業1104)。プロキシ・サーバー・アプリケーションはアップリンクコマンドと航空機用ソフトウェアパーツを、特定された航空機の機内電子配信システムへ送信し(作業1106)、その後プロセスは終了する。
ここで図12を見てみると、航空機用ソフトウェアパーツを受信し保存するためのフローチャートが、有利な一実施形態にしたがって図示されている。図12に示すプロセスは、図4のソフトウェアパーツ管理環境400において実行することができる。このプロセスは、図5のパーツの受信及び保存モード502において実施可能であるステップの一実施例である。
このプロセスはクレートツールがクレートを受信することによって開始する(作業1200)。このツールは例えば、図4のクレートツール402であってよい。この実施例では、クレートは例えば航空機メーカー、又は航空機の列線交換ユニット等の起始点に要求することができる航空機用ソフトウェアパーツを含む。航空機用ソフトウェアパーツを、航空機用ソフトウェアパーツの利用可能性の通知に応答して受取り、ある輸送機構を介して納品されることができる。クレートは例えば、コンパクトディスク、フラッシュメモリ、又はデジタル多用途ディスク等の物理的又は触知可能な媒体上で受信することができる。他の実施形態では、クレートは例えばネットワーク上の通信リンク等の伝送媒体を介して受信することができる。
クレートツールはクレートを認証し、解凍する(作業1202)。この作業では、署名が無効である場合、あるいはダイジェストがクレートツールによって計算されたものと一致しない場合に、通知が発行される。全く問題が検出されない場合は、クレートはさらなる処理のために様々な場所に解凍される。次に、クレートツールは航空機用ソフトウェアパーツの署名を認証する(作業1204)。署名が無効である、又は航空機用ソフトウェアパーツのダイジェストが計算されたものと一致しない場合、通知が発行される。全く問題が検出されない場合は、クレートの内容が認証又は検証された後、ここでパーツに署名することができる。
クレートツールは次にクレートの内容を調べる(作業1206)。この作業では、クレートの内容をインスペクタに表示して、内容を検証することができる。他の実施形態では、この作業を自動的に行って、クレートの予想される内容を特定するファイル又は構成情報と内容を比較することができる。
内容が検証されたら、クレートツールは航空機用ソフトウェアパーツに航空会社の署名で署名する(作業1208)。実行形態によっては、別の実体の署名を使用することができる。例えば、署名は顧客又はライブラリーを管理する相手の署名であってよい。航空機用ソフトウェアパーツの署名にエラーが全く起きない場合、パーツを保存することができる。
その後、クレートツールは航空機用ソフトウェアパーツをライブラリーに保存して(作業1210)、その後プロセスは終了する。この作業には、航空機用ソフトウェアパーツをファイルシステム上の現在の位置から、異なる航空機用ソフトウェアパーツを含むライブラリーの記憶領域に移すことが含まれる。これらの実施例では、このライブラリーは例えば図4のライブラリー406であってよい。
図13を参照すると、プロキシ・サーバーを介してコマンドを配信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。図13に示すプロセスは、図4のソフトウェアパーツ管理環境400において実行することができる。具体的には、このプロセスは図5の配信コマンドモード504において実行されるプロセスの一実施例である。
このプロセスは、プロキシ・サーバー・アプリケーションがキューに保存されたコマンドを受信し処理することから開始される(作業1300)。これらの実施例では、キューに保存されたコマンドがクレートに送られて、コマンドパッケージと呼称される。クレートは処理されてライブラリー内の適切な航空機のコマンドキューに送られる。プロキシ・サーバー・アプリケーションはライブラリーのキューにアクセスして、キューに保存されたコマンドを読み出すことができる。これらのコマンドがアップリンクコマンドを含む場合には、クレートに格納された航空機用ソフトウェアパーツもプロキシ・サーバーのローカルインベントリに保存される。これらの実施例では、コマンドはクレートに保存されてプロキシ・サーバーへ配信される。
その後に、プロキシ・サーバー・アプリケーションは航空機の機内電子配信システムに接続する(作業1302)。プロキシ・サーバー・アプリケーションは、同時に複数の航空機に接続することができる。これらの実施例では、航空機は無線接続又は通信リンクを介してプロキシ・サーバー・アプリケーションに接続する。通信リンクが確立されると、プロキシ・サーバー・アプリケーションと機内電子配信システムの間で情報が流れることが可能になる。この情報は例えば、コマンド、データ、航空機用ソフトウェアパーツ、構成ファイル、マニュアル、及びステータス情報を含むことができる。
プロキシ・サーバー・アプリケーションは次に、航空機用クレートコマンドを機内電子配信システムへ自動的に転送する(作業1304)。これらの実施例では、航空機用に指定されたクレートコマンドは機内電子配信システムによる読み出しが可能である。
機内電子配信システムはコマンドを読み取って、コマンドを実行する(作業1306)。これらの実施例では、機内電子配信システムはプロキシ・サーバー・アプリケーション上のコマンドキューをポーリングして、航空機用の各コマンドを一回につき一コマンドずつ読み出す。次に機内電子配信システムはクレートに格納されたコマンドを照合する(作業1308)。クレートが照合されると、コマンドは指定のシステム及びアプリケーションに送られる。その後、機内電子配信システムはコマンドの転送ステータスを返信し(作業1310)、その後プロセスは終了する。
次に図14を見ると、プロキシ・サーバー・アプリケーションを介してダウンリンクデータを受信し配信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。図14に示すプロセスは、図4のソフトウェアパーツ管理環境400において実行することができる。具体的には、図14に示すプロセスは図5のダウンリンクデータモード508において行われる作業の一実施例である。
このプロセスは、プロキシ・サーバー・アプリケーションが航空機の機内電子配信システムに接続することで開始される(作業1400)。その後、プロキシ・サーバー・アプリケーションはデータのダウンリンクを受信する(作業1402)。これらの実施例では、機内電子配信システムはダウンリンクデータを含むキューの各アイテムのダウンリンクを行う。
その後、プロキシ・サーバー・アプリケーションはローカルインベントリにダウンリンクデータを保存する(作業1404)。このダウンリンクデータは、あるイベントに基づいてライブラリーに再び転送されて保存される。これらの実施例では、イベントは例えばタイマー期限等の期間イベントであってよい。他の実施例では、イベントは例えばユーザーによって生成された要求等の非期間イベントであってよい。その後、プロキシ・サーバー・アプリケーションはライブラリーにダウンリンクデータを送信し(作業1406)、その後プロセスは終了する。作業1406では、ダウンリンクデータは後の使用又は分析のためにディレクトリに保存される。
ここで図15を見ると、ソフトウェアメンテナンスツールを使用して航空機用ソフトウェアパーツを配信するプロセスのフローチャートが、有利な一実施形態にしたがって図示されている。図15に示すプロセスは、図4のソフトウェアパーツ管理環境400において実行することができる。このプロセスにおける異なる作業は、図5のパーツ配信モード506において行われる作業の一実施例である。
このプロセスはソフトウェアメンテナンスツールがネットワークに接続することで開始される(作業1500)。これはライブラリーが含まれるネットワークである。この実施例では、パーツは含まれておらず、ソフトウェアメンテナンスツールに位置している。次に、ソフトウェアメンテナンスツールは一連のアップリンクコマンドと、航空機用ソフトウェアパーツを有するクレートを読み出す(作業1502)。
その後、ソフトウェアメンテナンスツールはネットワークとの接続を解除する(作業1504)。ソフトウェアメンテナンスツールは次に移動して、航空機上の機内電子配信システムに接続する(作業1506)。これらの実施例では、この接続を開始するのに人間のオペレータを必要とする。ソフトウェアメンテナンスツールは、一連のアップリンクコマンドを機内電子配信システムへ自動的に転送する(作業1508)。これらの実施例では、コマンドは、1回につき一コマンドずつ機内電子配信システムへ送られる。作業1508においてコマンドが送られる度に、次のコマンドを送信する前に機内電子配信システムによるコマンド又は他の情報のアップリンクが終了しているかどうかの確認がなされる。
機内電子配信システムは一連のコマンドを読取って、航空機用ソフトウェアパーツを含む一連のクレートを受信する(作業1510)。これらの実施例では、一連のコマンドのうちの各コマンドが、ソフトウェアメンテナンスツールから機内電子配信システムによって1回につき一コマンドずつ読み出される。機内電子配信システムが一連のクレートを照合する(作業1512)。クレートが照合されると、航空機用ソフトウェアパーツが次に航空機での保存及び配信のために送られる。
次に、機内電子配信システムはソフトウェアメンテナンスツールへ転送ステータスを返信する(作業1514)。ソフトウェアメンテナンスツールは次に転送ステータスを返信して(作業1516)、その後プロセスは終了する。この実施例では、ソフトウェアメンテナンスツールは、ステータスを例えばライブラリー又はプロキシ・サーバー・アプリケーション等の航空機用ソフトウェアパーツのソースに返信する。
これらの実施例では、アップリンクコマンドをライブラリーから自動的に受信する代わりに手動で追加することができる。例えば、ソフトウェアメンテナンスツールのオペレータは航空機へ転送するために航空機用ソフトウェアパーツを選択することができる。この選択の結果、ソフトウェアメンテナンスツールが航空機用ソフトウェアパーツを転送するための適切なコマンドを生成する。このプロセスでもやはり、航空機用ソフトウェアパーツのクレートを受信する。
この種の実行形態ではしかしながら、プロセスは作業1508から進行して、航空機用ソフトウェアパーツの選択を受信する(作業1518)。この選択はこれらの実施例では、ユーザー入力に基づく。その後、ソフトウェアメンテナンスツールが機内電子配信システムにアップリンクコマンドを発行する(作業1520)。このコマンドは機内電子配信システムの読み出し用にコマンドキューに保存することができる。
ここで図16を見てみると、ソフトウェアメンテナンスツールを使用してデータを受信するプロセスのフローチャートが、有利な一実施形態にしたがって図示されている。図16に示すプロセスは、図4のソフトウェアパーツ管理環境400を使用して実行することができる。図16に示す作業は、図5のダウンリンクデータ受信モード508において行うことができる作業の一実施例である。
このプロセスは、ソフトウェアメンテナンスツールが機内電子配信システムに接続することから開始される(作業1600)。ソフトウェアメンテナンスツールは、機内電子配信システムからデータのダウンリンクを受信する(作業1602)。機内電子配信システムは、ダウンリンクデータのキュー内の各アイテムのダウンリンクを開始する。
その後、ソフトウェアメンテナンスツールは、ローカルインベントリにデータを保存する(作業1604)。この作業では、ソフトウェアメンテナンスツールはダウンリンクを受け入れて、インベントリにデータを保存する。ダウンリンクデータに関する他のデータはユーザーインターフェースに表示することができる。このユーザーインターフェースにより、ユーザーが様々なパラメータを使用してダウンリンクデータをフィルタリングされたダウンリンクデータにソートすることが可能になり得る。これらのパラメータは例えば非限定的に、航空機の特定、システムの特定、アプリケーションの特定、又はデータのタイプを含むことができる。
次に、ソフトウェアメンテナンスツールが機内電子配信システムとの接続を解除する(作業1606)。ソフトウェアメンテナンスツールはダウンリンクデータを転送するために、航空機から他の位置に移動する。ソフトウェアメンテナンスツールはネットワークに接続する(作業1608)。ソフトウェアメンテナンスツールは次に、ダウンリンクデータをライブラリーに送信し(作業1610)、その後プロセスは終了する。
ライブラリー
図17〜33は、ソフトウェアパーツ管理環境のライブラリーを図示する。具体的にはこれらの図面は図4のソフトウェアパーツ管理環境400のライブラリー406の一実行例を示す。
図17を参照すると、ライブラリーの機能ブロック図が有利な一実施形態にしたがって図示されている。ライブラリー1700は図4のライブラリー406のさらに詳しい実施例である。ライブラリー1700はユーザーインターフェースシステム1702とバックエンド1704を含む。バックエンド1704は、インターフェース1706、記憶装置1708、及び管理コンポーネント1710を含む。
インターフェース1706は、メッセージサービス1712、ハイパーテキスト・トランスポート・プロトコル(HTTP)サービス1714、及びウェブサービス1716を含む。記憶装置1708は、ファイルシステム1718とデータベース1720を含む。これらの実施例では、管理コンポーネント1710は、パーツボールト1722、コマンドディスパッチャー1724、コマンドキューマネージャ1726、システムコンフィギュレーター1728、インポートファイル・アグリゲータ1730、レポートマネージャ1732、イベントロガー1734、及びセキュリティマネージャ1736を含む。
ユーザーインターフェースシステム1702により、オペレータがバックエンド1704にアクセスして、異なるタスク及び作業を行うことが可能になる。ユーザーインターフェースシステム1702は、グラフィカルユーザーインターフェースであってよい。さらに具体的には、ユーザーインターフェースシステム1702は、離れた場所からユーザーがライブラリー1700にアクセスすることを可能にするウェブベースのアプリケーションであってよい。インターフェース1706は、情報をライブラリー1700内外へ転送するのに使用できる、複数の異なるインターフェースを含む。インターフェース1706においては、メッセージサービス1712により、管理コンポーネント1710内の様々なコンポーネントが他のアプリケーションと通信することが可能になる。これらの実施例では、レポートマネージャ1732が要求に応じて、メッセージサービス1712を使用してレポートを配信する。メッセージサービス1712は、様々な種類のメッセージサービスを使用して実行可能である。例えば、メッセージサービス1712はJava(登録商標)2 Enterprise Edition Suiteの一部であるJava(登録商標)Messaging Serviceを使用して実行することができる。この製品はサンマイクロシステムズ社から入手可能である。
ウェブサービス1716は任意のウェブサービスシステムを使用して実行することができる。ウェブサービス1716はライブラリー1700とネット上の他のデバイスとの間の通信を可能にするように設計されている。インターフェース1706のウェブサービス1716は、インターネット等のネット上でアクセスされるアプリケーション・プログラミング・インターフェースを使用して実行可能である。ウェブサービス1716は例えば、シンプル・オブジェクト・アクセス・プロトコル(SOAP)又はウェブサービス記述言語(WSDL)等の種々のプロトコルを使用して実行可能である。ハイパーテキスト・トランスポート・プロトコル(HTTP)サービス1714を実行して、クライアントにより送信される応答を管理するための要求及び応答システムを配設することができる。これらの要求は通常HTTP要求と称される。
これらの実施例では、ハイパーテキスト・トランスポート・プロトコルサービス1714を使用して、例えばファイル等の情報を送受信できる。これらのファイルは例えば、航空機用ソフトウェアパーツ、コマンド、ダウンリンクデータ、及び他の適切な情報を含むファイルであってよい。これらの実施例では、ハイパーテキスト・トランスポート・プロトコルサービス1714はパーツボールト1722、コマンドディスパッチャー1724、インポートファイル・アグリゲータ1730、レポートマネージャ1732、及びイベントロガー1734によって使用される。
図示したように、管理コンポーネント1710内のコンポーネントから異なるコンポーネントが様々な理由で記憶装置1708にアクセス可能である。記憶装置1708は、例えばファイルシステム1718及びデータベース1720等のライブラリー1700のバックエンド1704内に情報を保存するのに使用する異なる記憶装置を含む。記憶装置1708は情報を保存する機能コンポーネントであり、例えばハードドライブ又はランダム・アクセス・メモリ等の一又は複数の記憶デバイスに位置することができる。記憶装置1708は例えば、ハードドライブ等の単一の記憶デバイスに位置することができる。
他の実施形態では、記憶装置1708は、同じ物理的位置又は異なる物理的位置に位置することができる複数の記憶デバイス上に位置することができる。記憶デバイス1708内では、ファイルシステム1718はデータを保存するための構造又はアーキテクチャを提供する。このデータは例えば、航空機用ソフトウェアパーツ、資料、ダウンリンクデータ、及び他のファイルを含むことができる。データベース1720はこれらの実施例では、例えばファイルシステム1718内に位置するファイルに関するメタデータ及びコマンドを含むことができる。さらに、データベース1720は例えば、ダウンリンクデータをダウンロードする航空機上のファイルを削除する等のほかの機能を行うための他のコマンドを含むことができる。
パーツボールト1722は、航空機用ソフトウェアパーツの異なる航空機への保存及び配信を管理するプロセスを提供する。具体的には、パーツボールト1722によりパーツの確実な配信が可能になる。これらのプロセスでは、航空機に配信するために、新しい航空機用ソフトウェアパーツだけでなく、航空機用ソフトウェアパーツのパッケージ又はクレートを受信することができる。
コマンドキューマネージャ1726は、航空機のコマンドを管理するコンポーネントである。コマンドキューマネージャ1726により、ユーザー又はオペレータがユーザーインターフェースシステム1702を介して、データベース1720内のコマンドのステータスを調査、再発注、及び変更することが可能になり得る。コマンドの調査により、ユーザーが異なるコマンドを見る又は異なる基準に基づいてコマンドをフィルターにかけることが可能になり得る。
コマンドディスパッチャー1724はコマンドの作成及び送信を管理するコンポーネントである。このコンポーネントにより、ユーザー又はオペレータがユーザーインターフェースシステム1702を介して、コマンドをアップリンクする、削除する及びダウンリンクすることが可能になり得る。コマンドディスパッチャー1724により、これら様々な種類のコマンドを作成するときの入力パラメータの認証も可能になる。このコンポーネントは、外部のデバイスが様々な基準によって要求するときの、コマンドのグループ化、クレートへの格納、及び送信のための機構を提供する。
これらの実施例では、システムコンフィギュレーター1728は、データ構造を管理してコマンドディスパッチャー1724によって行われる作業をサポートする。システムコンフィギュレーター1728により、ユーザーが情報の定義、選択又はインポートを行って、ライブラリー1700に接続可能な外部デバイスを定義することが可能になる。さらに、このコンポーネントにより航空機のモデル、特定の航空機、及び航空機用ソフトウェアパーツの宛先システムの定義が可能になり得る。これらの宛先システムはこれらの実施例では、航空機に位置する列線交換ユニットを含むことができる。
インポートファイル・アグリゲータ1730は、外部のデバイスからライブラリー1700へ送られる大きなファイルの同時インポートを行う。レポートマネージャ1732により、オペレータがライブラリー1700によって生成可能なレポートを定義することが可能になる。これらのレポートは、ソフトウェアパーツ管理環境の作業に関連する種々のソースから凝集可能であるイベントログからの情報を含むレポートであってよい。例えば、レポートマネージャ1732により、ユーザーが、特定の種類の航空機用ソフトウェアパーツのソフトウェアパーツ管理環境内で管理されている特定モデルの航空機への良好なアップリンクを特定するレポートを定義することが可能になり得る。
イベントロガー1734はライブラリー1700の作業に関するイベントを記録する。さらに、イベントロガー1734は、ライブラリー1700に接続された異なるデバイスからログを集めることができる。これらのイベントは例えば非限定的に、外部ソースから受信した航空機用ソフトウェアパーツ、航空機用ソフトウェアパーツの航空機への良好な転送、データのアップリンクのために生成されたコマンド、データのダウンリンクのために生成されたコマンド、及び航空機用ソフトウェアパーツを削除するために生成されたコマンドを含むことができる。
次に、セキュリティマネージャ1736は、ユーザーインターフェースシステム1702を使用した、オペレータによるライブラリー1700へのアクセスを管理する機構を提供する。セキュリティマネージャ1736は、特定のユーザー向けに構成可能である役割と責任を使用して実行可能である。この種のアクセスにより、ユーザーがライブラリー1700内の異なる機構及び機能にアクセスする特権を得ることができる。さらに、セキュリティマネージャ1736により、外部デバイスとライブラリー1700との間の確実な通信も可能になる。一実施例として、セキュリティマネージャ1736が、インターフェース1706を介した通信が確実に、例えば暗号化又は仮想プライベートネットワーク等の機構を介して行われることを可能にする。
作業中は、ライブラリー1700は例えば図4のクレートツール402等の外部プログラムから航空機用ソフトウェアパーツを受信することができる。この種の作業においては、外部プログラムにより、ハイパーテキスト・トランスポート・プロトコルサービス1714等のサービスとインターフェース1706が接続される。セキュリティマネージャ1736は接続の認証を行い、航空機用ソフトウェアパーツをインポートできるかどうかを判別する。接続が可能である場合、ハイパーテキスト・トランスポート・プロトコルサービス1714は次に、パーツボールト1722に入力プロセスを処理するように要求することができる。このプロセスにおいては、パーツボールト1722は、航空機用ソフトウェアパーツについてのメタデータをデータベース1720に書き込むと同時に、実際の航空機用ソフトウェアパーツを選択されたあるファイルディレクトリのファイルシステム1718内に保存する。
パーツをライブラリー1700内で管理するときに、パーツボールト1722を介してファイルシステム1718から航空機用ソフトウェアパーツを読み出して、ユーザーに調査又は見直しのために送信することができる。さらに、航空機用ソフトウェアパーツをファイルシステム1718において保存することができる。この種のアーカイブによって、パーツはある指定されたディレクトリ又は他の記憶デバイスに保存される。さらに、パーツボールト1722により、ファイルシステム1718内のパーツの証明書をスキャンして、パーツに署名した証明書の期限が切れていないかを特定することもできる。期限通知はユーザーインターフェースシステム1702を介して予め生成することができる。またさらに、証明書の期限により、パーツボールト1722はパーツを含有する任意のコマンドも無効にする。
ライブラリー1700を使用して、コマンドを生成して外部デバイスに配信することも可能である。これらのコマンドは、ユーザーインターフェースシステム1702を介してオペレータにより生成することができる。ユーザーインターフェースシステム1702により、ユーザーがコマンドの情報を入力することができる。コマンドが生成されたら、これらのコマンドはデータベース1720内に保存される。
これらのコマンドを外部デバイスが必要とする場合は、コマンドをクレートに格納してインターフェース1706を介して送信することができる。具体的には、ウェブサービス1716を使用してこれらのコマンドを例えばプロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツール等の外部コンポーネントに送信することができる。航空機用ソフトウェアパーツがコマンドによって特定された場合は、これらの実施例においては、これらのパーツをハイパーテキスト・トランスポート・プロトコルサービス1714を介した個別転送によって送信することができる。これらの航空機用ソフトウェアパーツは、特定の実行形態によって、要求された時に送信する、あるいは転送の一部として送信することができる。
さらに、レポートはファイルシステム1718に保存可能である他のデータの実施例である。これらのレポートは例えば、スプレッドシート、パーツリスト、及びライブレポートであってよい。
例えばファイル及びデバイスログ等のダウンリンクされたデータにより得た情報はファイルシステム1718内に保存することができる。これらのファイルはインポートファイル・アグリゲータ1730を使用して凝集することができる。このコンポーネントは、ファイルをファイルシステム1718内に保存するのに加えて、ファイルを受信してデータベース1720内にメタデータの入力を行うことができる。
ライブラリー1700の図示した異なるコンポーネントは異なる機能の通信の一実施例として記載されている。これら異なるコンポーネントの記載及び編成は、コンポーネントが実行可能である方法におけるアーキテクチャ制限を暗示するように意図されたものではない。例えば、ライブラリー1700内の異なるコンポーネントを、表示されたもの以外の方法で分割する又は組み合わせることができる。さらに、他の実行形態では、ある機能を省略することができる、又は他の機能を加えることができる。さらに、ある機能を組み合わせて、ライブラリー1700内の単一のモジュール又はアプリケーションとして実行することが可能である。別の実施例として、インターフェース1706を、記載のインターフェースに追加して、あるいはその代わりに他のインターフェースを使用して実行することが可能である。
ここで図18を見てみると、ファイルシステムディレクトリのレイアウトを示す図が、有利な一実施形態にしたがって図示されている。ファイルシステムディレクトリのレイアウト1800は、図17のファイルシステム1718内で使用されるレイアウト又はスキーマの一実施例である。この実施例では、ファイルシステムディレクトリのレイアウト1800により、図17のファイルシステム1718内でファイルを探すのに使用される情報が定義される。ファイルの種類は例えば、ダウンリンク1802、ログ1804、パーツ1806、代替パーツ署名リスト(APSL)1808、スプレッドシート1810、及びアーカイブ1812を含む。
これらの種類のファイルの各々は、異なる種類の情報でファイルシステムディレクトリのレイアウト1800内で特定される。例えば、ダウンリンク1802は、日付1814、デバイス1816、追番1818、一意識別子(UID)1820、及びダウンリンクファイル名1822を含む。日付1814は、ダウンリンクファイルの作成日を特定する。デバイス1816は、ダウンリンクデータを航空機からライブラリーへ転送したデバイスを特定する。このデバイスは例えば、プロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツールであってよい。追番1818は、ダウンリンクデータが位置していた特定の航空機を特定する。一意識別子1820はファイルシステム内のファイルを一意的に特定する。ダウンリンクファイル名1822は、ダウンリンクファイルの名前である。
次に、ログ1804は、デバイス1824、一意識別子(UID)1826、及びイベントログファイル名1828を含む。パーツ1806は航空機用ソフトウェアパーツのためのものであって、一意識別子(UID)1830、クレーテッド1832、クレートファイル名1834、及びクレートに格納されたパーツファイル名1836を含む。クレーテッド1832は、航空機用ソフトウェアパーツを含むクレートが位置するディレクトリを特定する。クレートファイル名1834はクレートファイルの名前である。クレートに格納されたパーツファイル名1836は、航空機用ソフトウェアパーツを含むファイルの名前である。
代替パーツ署名リスト1808は、固有名1838を含み、スプレッドシート1810は、固有名1840を含む。アーカイブ1812は、航空機用ソフトウェアパーツ(SAP)1842、一意識別子(UID)1844、及びクレートファイル名1846を含む。
ファイルシステムディレクトリレイアウト1800は、図17のファイルシステム1718のある実行形態の一実施例として記載されている。他の有利な一実施形態では、特定の実行形態向けに適切な他のファイルシステムレイアウト又はスキーマを使用することができる。
ここで図19を参照すると、キューに保存されたコマンド編成を示すブロック図が有利な一実施形態にしたがって図示されている。この実施例では、キュー1900、1902、及び1904は、図17のデータベース1720に位置するキューの実施例である。
キュー1900はコマンド1906を含み;キュー1902はコマンド1908を含み;キュー1904はコマンド1910を含む。コマンド1906、1908、及び1910はこれらの実施例では、特定の航空機向けのコマンドである。コマンドは例えば、アップリンクコマンド、ダウンリンクコマンド、又は削除コマンドであってよい。アップリンクコマンドは、図17のライブラリー1700から航空機へ情報を送信するコマンドであり、その一方でダウンリンクコマンドは、航空機から図17のライブラリー1700へ情報を送信するコマンドである。
削除コマンドは、航空機上の情報を削除するのに使用されるコマンドである。この情報は例えば、航空機用ソフトウェアパーツ、構成ファイル、又はマニュアルであってよい。これらの各キューはこれらの実施例では、特定のグランドツール又はデバイスと関連している。これらの実施例では、キュー1900、1902、及び1904はコマンドを航空機に配信するための異なるデバイスに関連する又は異なるデバイス用に指定されている。
例えば、キュー1900は第1プロキシ・サーバー・アプリケーションに関連し、キュー1902は第2プロキシ・サーバー・アプリケーションに関連し、そしてキュー1904はソフトウェアメンテナンスツールに関連していてよい。異なるデバイスが図17のライブラリー1700と交信すると、これらのデバイスに関連するキューにコマンドが保存されているか否かに基づいてコマンドがこれらのデバイスに配信される。
ここで図20を見てみると、航空機用ソフトウェアパーツのブロック図が、有利な一実施形態にしたがって図示されている。この実施例では、航空機用ソフトウェアパーツ2000はクレート2002に格納されている。クレート2002は図17のファイルシステム1718内に格納される。
クレート2002はこれらの実施例ではファイルである。クレート2002は例えば非限定的にジップファイルフォーマットであってよい。クレート2002はある実施形態では、2つ以上の航空機用ソフトウェアパーツを含むこともできる。航空機用ソフトウェアパーツ2000は、特定パーツの機能性を提供する一連のファイルを含むことができる。これらのファイルは例えば、実行可能なファイル、データファイル、構成ファイル、及びライブラリーファイルを含むことができる。
図示した実施形態では、クレート2002及び航空機用ソフトウェアパーツ2000は署名されている。言い換えると、航空機用ソフトウェアパーツ2000は一つのデジタル署名で署名されており、その一方、クレート2002は別のデジタル署名で署名されている。これらのデジタル署名は、特定の実施形態によって同じ、又は異なっていてよい。当然ながら、別の実行形態では、航空機用ソフトウェアパーツ2000はクレート2002に格納されない可能性がある。
ここで図21〜23を参照すると、コマンドデータ構造の実施例が有利な一実施形態にしたがって図示されている。これらの図面に示す異なるコマンドデータ構造は、例えば図19のキュー1900、1902、及び1904等のキューに格納されたコマンドから作成される一時データ構造の実施例である。
ここで図21を見ると、削除コマンドのコマンドデータ構造が、有利な一実施形態にしたがって図示されている。この実施例では、削除コマンドデータ構造2100はパラメータ2102、2104、2106、2108、2110及び2112を含む。
パラメータ2102は、削除されるべき一連のファイル名を特定する。パラメータ2104は削除されるべき一連のパーツ識別子を特定する。パラメータ2106は、削除コマンドを受信する特定の航空機を特定する一連の航空機識別子である。航空機識別子リストは例えば追番であってよい。パラメータ2108は、コマンドを送信するための一連のデバイスを特定する。これらのデバイスは例えば、プロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツール等のグランドツールであってよい。
パラメータ2110はコマンドを受信する送り先のシステムを特定する。これらの実施例では、送り先のシステムはコマンドを受信する特定の列線交換ユニットである。パラメータ2112はコマンドを要求するユーザーを特定する。
図22では、アップリンクコマンドのコマンドデータ構造を示す図が、有利な一実施形態にしたがって図示されている。この実施例では、アップリンクコマンドデータ構造2200はパラメータ2202、2204、2206、2208、及び2210を含む。パラメータ2202は、アップリンク又は送信されるべき航空機用ソフトウェアパーツを特定する。パラメータ2204はコマンドを受信する一連の航空機を特定する。これらのパラメータは航空機識別子を含む。パラメータ2206はコマンドを処理するデバイス用の一連のデバイス識別子である。パラメータ2208は、コマンドを受信する送り先のシステムを特定する一連のパラメータである。パラメータ2210は、コマンドを要求したユーザーを特定する。
次に図23を見ると、ダウンリンクコマンドのデータ構造を示す図が、有利な一実施形態にしたがって図示されている。この実施例では、ダウンリンクコマンドデータ構造2300はパラメータ2302、2304、2306、2308、及び2310を含む。
パラメータ2302は、ダウンリンクされているデータの種類を特定する。パラメータ2304はデータをダウンリンクするコマンドを受信する一連の航空機を特定する。パラメータ2306は一連の航空機にコマンドを送信する一連のデバイス用である。パラメータ2308は、コマンドを受けとる一連の航空機上の一連の列線交換ユニットを特定する。パラメータ2310はコマンドを要求するユーザーを特定する。
これらのコマンドデータ構造は例えばプロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツール等のデバイスが、コマンドデータ構造によって参照されたコマンドの処理を開始することを可能にするコマンドの短縮形である。これらのコマンドデータ構造はこれらの実施例において、種々の通信リンク上の通信量を減らすことができる。デバイスはこれらのコマンドデータ構造を受信した後に実際のコマンドを要求することができる。これらのコマンドデータ構造はこれらの実施例においてグランドツールに送られた後に削除される。
ここで図24を参照すると、コマンドを送信するためのユーザーインターフェースの図が有利な一実施形態にしたがって図示されている。ウィンドウ2400は、図17のコマンドディスパッチャー1724用のユーザーインターフェースシステム1702を介して表示できるユーザーインターフェースの一実施例である。
この実施例では、ユーザーは例えばアップリンクコマンド及びダウンリンクコマンド等のコマンドの作成を選択することができる。この選択はコントロール2402及び2404を介して行うことができる。コントロール2402を使用してアップリンクコマンドを生成することができるのと同時に、コントロール2404を使用してダウンリンクコマンドを生成することができる。コントロール2406を使用して削除コマンドを生成することができる。
この図示した実施例においては、コントロール2402が選択された結果、区域2408がウィンドウ2400内に表示される。区域2408により、ユーザーが情報を入力してアップリンクコマンドを作成することが可能になる。例えば、ユーザーはリスト2410から航空機の追番を選択することができる。これらの航空機の追番は特定の航空機固有のものである。
ユーザーはまた、リスト2412からプロキシ・サーバー・アプリケーションの形態のデバイスを選択してコマンドを配信することもできる。また、ソフトウェアメンテナンスツールの形態のデバイスをリスト2414から選択することもできる。航空機上の送り先のシステムはフィールド2416を介して選択することができる。送り先のシステムはこれらの実施例では特定の列線交換ユニットである。フィールド2418によりパーツ番号の入力が可能になる。このパーツ番号の入力により、フィールド2420、2422、2424、2426、及び2428に示すパーツについての他の情報が得られる。パーツについて示す特定の情報は、特定の実行形態によって変化する可能性がある。
フィールド2416は異なるコマンドタイプに対して異なる選択可能な値を有し、図17のコントロール1702及びコントロール1704に表示されているフィールド1724によってルールが強制される。
図25〜26は有利な一実施形態による図示的ユーザーインターフェースの図である。これらの図示的ユーザーインターフェースは図17のユーザーインターフェースシステム1702を介して表示することができるインターフェースの実施例である。これらの図示した図示的ユーザーインターフェースはある特定の実行形態を示す目的で表示されているものであり、図17のユーザーインターフェースシステム1702によって図示的ユーザーインターフェースを設計又は表示可能な方法を制限するように意図するものではない。
図25を見てみると、コマンドを見るためのユーザーインターフェースを示す図が、有利な一実施形態にしたがって図示されている。この実施例においては、ウィンドウ2500は図17のコマンドキューマネージャ1726用のユーザーインターフェースシステム1702を通じて表示可能である図示的ユーザーインターフェースの一実施例である。この実施例では、ユーザーが様々なコマンドのステータスを見ることが可能である。特に、特定の種類のコマンドはウィンドウ2500を介して見ることができる。
コマンドはコントロール2502、2504、及び2506を使用して見ることができる。保留中のコマンドはコントロール2502を選択することによって見ることができ、実行されたコマンドはコントロール2504を選択することによって見ることができ、待機解除されたコマンドは、コントロール2506を選択することによって見ることができる。ユーザーは、コントロール2508を介してキューに保存されたコマンドを順序付けする、又は順番を変更することができる。この実施例では、保留中のコマンドが選択されており、ウィンドウ2500の区域2510内に表示されている。
ここで図26を参照すると、パーツを見るためのユーザーインターフェースの図が、有利な一実施形態にしたがって図示されている。ウィンドウ2600は、図17のパーツボールト1722用ユーザーインターフェースシステム1702を介して表示される図示的ユーザーインターフェースの一実施例である。
この図示した実施例では、ライブラリー内の航空機用ソフトウェアパーツを見ることができる。有効なパーツはコントロール2602を選択することによって見ることができ、送られてくるパーツはコントロール2604を選択することにより見ることができ、期限切れのパーツはコントロール2606を選択することによって見ることができ、障害のあるパーツはコントロール2608を選択することによって見ることができる。この実施例では、コントロール2602が選択されており、ライブラリー内に位置する有効なパーツがウィンドウ2600の区域2610内に表示される。
ここで図27を参照すると、ライブラリーの航空機用ソフトウェアパーツを受信するためのプロセスのフローチャートが、有利な一実施形態にしたがって図示されている。図27に示すプロセスを、図17のライブラリー1700において実行することができる。特に、これらのプロセスは図17のライブラリー1700の管理コンポーネント1710内のパーツボールト1722において実行することができる。
このプロセスは航空機用ソフトウェアパーツを受信することから開始される(作業2700)。航空機用ソフトウェアパーツの受信においては、航空機用ソフトウェアパーツのメタデータだけでなく、データのストリームが受信される。このプロセスでは、航空機用ソフトウェアパーツのメタデータが正しいかどうかが判別される(作業2702)。これらの実施例では、メタデータは航空機用ソフトウェアパーツに関連する及び/又は航空機用ソフトウェアパーツを記述するデータである。
これらの実施例では、次のメタデータ:パーツ名が正規表現[^〜/:*\"<>,|.¥¥]*と一致しているか、そして200文字以下であるかどうか;生産ステータスがBLACK_LABEL、RED_LABEL、又は BLUE_LABELであるか;適用規格が0文字以上及び500文字以下の長さであるかどうか;知的財産所有者が0文字以上及び100文字以下の長さであるかどうか;公表日が正しい日付フォーマットを有しているかどうか;そして、明細書が0文字以上及び2000文字以下の長さであるかどうかをチェックすることができる。
パーツのメタデータが正しい場合、このプロセスでは、ライブラリーのデータベースに一時的な入力が記録される(作業2704)。この一時的な入力はパーツを受信するプロセスのステータスを得るために使用される。この入力は最初、パーツの受信が始まったことを表す。このプロセスでは、ファイルシステム内にディレクトリ構造も作成される(作業2706)。このディレクトリ構造は、ファイルを受信したときに航空機用ソフトウェアパーツを含むファイルの一部又は断片を保存するのに使用される。
航空機用ソフトウェアパーツの受信が完了したかどうかが判定される(作業2708)。航空機用ソフトウェアパーツの受信が完了していない場合は、データベースにおいてプログレスがアップデートされ(作業2710)、受信したファイルの断片がファイルシステムに保存される(作業2712)。このプログレスはユーザーインターフェースにおいて表示することができる。このプロセスは次に作業2708に戻って、航空機用ソフトウェアパーツの受取作業のステータスのチェックを継続する。
作業2708において航空機用ソフトウェアパーツの受信が完了すると、このプロセスは、パーツが完全にそろっているかどうかが判定される(作業2714)。この作業は航空機用ソフトウェアパーツが完全であるかどうか、そしてパーツがエラーを有するかどうかを判定するために行われる。このチェックは、証明書を受信したパーツと照合することによって行うことができる。
航空機用ソフトウェアパーツが完全である場合、このプロセスでは航空機用ソフトウェアパーツがクレートに格納される(作業2716)。このプロセスは次に、クレートへの格納作業が良好であったかどうかが判定される(作業2718)。クレートへの格納が良好であった場合は、データベースにおいてパーツは完全であると表示される(作業2720)。クレートに格納されたファイルは後の読み出しのためにファイルシステムに保存され(作業2722)、その後プロセスは終了する。
再度作業2718を参照すると、クレートへの格納作業が良好でない場合は、エラーが生成される(作業2724)。その後、このプロセスでは、データベースから入力を削除し(作業2726)、航空機用ソフトウェアパーツの保存されたデータを削除して(作業2728)、その後プロセスは終了する。再度作業2714を参照すると、航空機用ソフトウェアパーツが完全でない場合は、このプロセスは作業2724にも進む。作業2726及び2728が実施されて、航空機用ソフトウェアパーツの受信失敗に対するデータベース入力及びファイルシステム入力が一掃される。
再度作業2702を参照すると、航空機用ソフトウェアパーツのメタデータが正しくない場合、このプロセスではエラーが生成され(作業2730)、その後プロセスは終了する。作業2730及び2724において生成されたエラーは、後の使用のためにログに保存することができる。
ここで図28を見てみると、コマンドを作成するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。図28に示されるこのプロセスは、図17のライブラリー1700において実行することができる。特に、このプロセスは図17のコマンドディスパッチャー1724において実行可能である。
このプロセスは、コマンドを作成するユーザーの要求を受信することによって開始される(作業2800)。このコマンドは、例えば図17のユーザーインターフェースシステム1702を介して送られる等、ユーザーインターフェースを介して受信することができる。ユーザーはこれらの実施例では、3つのコマンドタイプのうちの1つを選択することができる。このコマンドタイプは、アップリンク、ダウンリンク、及び削除を含む。このプロセスでは、ユーザー入力からコマンドタイプを特定する(作業2802)。
このプロセスでは、特定されたコマンドのタイプに応じて、パラメータ及び可能な値のリストが生成される(作業2804)。このリストは例えば、航空機の追番、適用可能なデバイス名リスト、及びコマンドを受信する、送り先の列線交換ユニットを含む。このプロセスでは次に、ユーザーにリスト及び値が選択的に表示される(作業2806)。これらの実施例では、リストはユーザーによる事前の選択によって、付加的なオプション又は値が提供されるコンテキスト依存リストである。
このプロセスでは、表示されたリスト及び値の中から値を選択するユーザー入力を受信する(作業2808)。このプロセスは次に、パラメータのコンテキストを認証する(作業2810)。これらの実施例では、コンテキスト依存値は図17のユーザーインターフェース1702に含まれている。このインターフェースにより、コマンドタイプ内で許される送り先システムの値が実行される。作業2810では、図17のバックエンド1704においてこれらのルールを再チェックする。バックエンド1704は、必ずしも同じ認証ルールを有さない図17のユーザーインターフェース1702以外の他のユーザーインターフェースでも使用できる。
このプロセスでは一連のコマンドが作成される(作業2812)。作業2812においてこのプロセスでは、コマンドタイプ、追番、及びデバイス名の各組み合わせに対して一つのコマンドを作成する。当然ながら、他のルール及びポリシーを使用して、ユーザーの選択により何のコマンドが作成されるかを特定することができる。通常、同じ航空機を対象とする同じタイプのコマンドは全て論理的にグループ分けすることができる。その後、一連のコマンドがライブラリー内のデータベースに保存され(作業2814)、その後プロセスは終了する。
図29を参照すると、航空機用ソフトウェアパーツを管理するプロセスの高レベルフローチャートが有利な一実施形態にしたがって図示されている。図29に示すプロセスは、これらの実施例では、図17のライブラリー1700で実行可能である。
このプロセスは、配信デバイスへコマンド構造を送信することによって開始される(作業2900)。これらのコマンド構造は例えば、図21の削除コマンドデータ構造2100、図22のアップリンクコマンドデータ構造2200、又は図23のダウンリンクコマンドデータ構造2300であってよい。これらのコマンド構造は、プロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツール等の様々なデバイスからのコマンド要求に応じて送られる。
その後、コマンドファイルがデバイスに送られる(作業2902)。これらのコマンドファイルは、特定のデバイスがコマンドを実行するときに、デバイス自体のコマンドの要求に応じて送られる。様々なデバイスによって常にポーリングが行われていることから生じ得る通信量を減らすために、コマンドファイルを送信する代わりに、コマンド構造が送られる。代わりに、デバイスが実際にコマンドを実行し始めるときは、コマンドファイルが送られる。その後プロセスでは、航空機用ソフトウェアパーツが送られて(作業2904)、その後プロセスは終了する。この作業では、航空機用パーツはコマンドの実行の一部として送られる。
図30をここで見てみると、コマンド構造を送信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。図30に示すプロセスは、図29の作業2900のさらに詳しい描写である。
このプロセスは、デバイスから要求を受信することによって開始する(作業3000)。これらの実施例では、デバイスは例えばプロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツールであってよい。当然ながら、デバイスはライブラリーと交信又は接続してコマンドを得る任意のデバイスであってよい。
このプロセスは次に、特定のデバイスのコマンドキューに関連する又は配置されたコマンドについて、データベースにクエリを送信する(作業3002)。作業3002は図17のコマンドキューマネージャ1726を使用して実行することができる。このプロセスでは、クエリからの結果を受信する(作業3004)。
その後このプロセスでは、デバイス用のコマンドを含むコマンドデータ構造が作成される(作業3006)。このプロセスは次に、コマンドデータ構造をデバイスに返信し(作業3008)、その後プロセスは終了する。これらの実施例では、コマンドデータ構造は、デバイスによるコマンド要求に応じて作成される。他の実施形態では、例えばタイマーの期限切れ等のあるイベント又は期間イベントに基づいて、コマンドデータ構造を作成し、多数のデバイスに送信することができる。
ここで図31を見てみると、コマンドファイルを送信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。図31に示すこのプロセスは、図29の作業2902のさらに詳しい描写である。図31に示すプロセスは、図17のコマンドディスパッチャー1724等のコンポーネントにおいて実行可能である。
プロセスのこの時点では、デバイスは処理するためのコマンドデータ構造を受信している。このデバイスはこのコマンドデータ構造に基づいてコマンドのいくつかの処理を行うことができる。例えば、デバイスは航空機との通信リンクの確立を開始することができる。デバイスは様々な処理を行うための十分な情報をコマンドデータ構造から得る。しかしながら、コマンドの航空機への伝達には、コマンドファイルに更なる情報が必要である。
このプロセスは、デバイスからのコマンドファイルの要求を受信することから開始される(作業3100)。このプロセスでは、デバイスによって特定されたコマンドについてデータベースにクエリが送られる(作業3102)。このクエリは、コマンド構造内の事前に送られた一意識別子を使用して行われる。
このプロセスでは次に、データベースからの結果を受信する(作業3104)。作業3102はこれらの実施例では、コマンドIDに基づいてデータベースにクエリが送られ、クレートに格納されたバージョンのコマンドを作成するのに使用されるコマンドについての情報全てが拡張可能なマークアップ言語で読み出される。作業3104は、重複する可能性がある。これらの結果を使用してコマンドファイルが作成される(作業3106)。このプロセスでは、コマンドファイルがクレートに格納される(作業3108)。その後このプロセスでは、デバイスへクレートを返信して(作業3110)、その後プロセスは終了する。
ここで図32を参照すると、パーツを送信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。図32に示すこのプロセスは、図29の作業2904のさらに詳しい描写である。この実施例におけるプロセスは、図17のコマンドディスパッチャー1724を使用して実行可能である。
このプロセスは、デバイスから航空機用ソフトウェアパーツの要求を受信することによって開始される(作業3200)。このプロセスでは、航空機用ソフトウェアパーツについてデータベースにクエリが送られる(作業3202)。このプロセスでは、ファイルシステムからクレートに格納された航空機用ソフトウェアパーツが読み出され(作業3204)、データベースから航空機用ソフトウェアパーツについてのメタデータが読み出される(作業3206)。このプロセスでは次に、航空機用ソフトウェアパーツの完全性のチェックが行われる(作業3208)。この完全性のチェックは、航空機用ソフトウェアパーツが保存されている間に破損していないことを保証するために行われる。この完全性のチェックは、ハッシュ法を含む様々なエラーチェック処理法を使用して行うことができる。
完全性のチェックに基づいて、航空機用ソフトウェアパーツが有効であるかどうかが判定される(作業3210)。航空機用ソフトウェアパーツが有効である場合は、クレートに格納された航空機用ソフトウェアパーツはデバイスに戻され(作業3212)、その後プロセスは終了する。一方で、航空機用ソフトウェアパーツが有効でない場合は、エラーメッセージが返信されて(作業3214)、その後プロセスは終了する。
ここで図33を見ると、コマンドを待機解除するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。図33に示すこのプロセスは、図17のコマンドキューマネージャ1726によって行うことができる。このプロセスは、コマンドが処理された後に、データベース内のキューからコマンドを削除するのに使用される。
このプロセスは、コマンド実行の通知を受信することによって開始される(作業3300)。この実施例では、通知はコマンドを実行しているデバイスから受信される。このプロセスでは、コマンドとそれに関連するグループが検索される(作業3302)。この検索は、コマンドの一意識別子を使用して行われる。さらに、実行されたコマンドに関連する他のコマンドは、同じ航空機の異なるデバイスに送られた可能性のある重複コマンドである。
このプロセスでは、データベース内のコマンドキューからコマンドが表示され待機解除される(作業3304)。このプロセスでは、グループ内の他のコマンド全ても待機解除される(作業3306)。この他のコマンドの待機解除により、今後異なるデバイスに重複コマンドが送信されることが防止される。その後ステータスが保存され(作業3308)、その後プロセスが終了する。
プロキシ・サーバー
ここで図34を見てみると、プロキシ・サーバー・アプリケーションにおけるデータフローを示す図が、有利な一実施形態にしたがって図示されている。プロキシ・サーバー・アプリケーション3400は、例えばライブラリー3402、ソフトウェアメンテナンスツール3404、及び機内電子配信システム3406等のコンポーネントと交信する。これらの実施例では、地上コンポーネント3408は、ライブラリー3402と機内電子配信システム3406との間の情報の転送を可能にする。
ライブラリー3402は、新規のコマンドと航空機用ソフトウェアパーツをプロキシ・サーバー・アプリケーション3400へ送信することができる(メッセージA1)。これらのコマンドとパーツを処理した結果はコマンドステータス情報として、プロキシ・サーバー・アプリケーション3400によってライブラリー3402へ返信することができる(メッセージA2)。さらに、プロキシ・サーバー・アプリケーション3400はダウンリンク及びイベントログファイルをライブラリー3402へ送信することもできる(メッセージA3)。
機内電子配信システム3406への情報の転送に関しては、地上コンポーネント3408及びプロキシ・サーバー・アプリケーション3400が新規コマンドと、航空機用ソフトウェアパーツを機内電子配信システム3406へ送信することができる(メッセージA4)。機内電子配信システム3406へ送られたコマンドとパーツのステータスを特定するコマンドステータス情報を地上コンポーネント3408に返信することができる(メッセージA5)。さらに、機内電子配信システム3406は地上コンポーネント3408へダウンリンクファイルを送信することができる(メッセージA6)。プロキシ・サーバー3400は、例えば図36のプロキシ・サーバー・アプリケーション3606等のプロキシ・サーバー・アプリケーションの一実施例である。
プロキシ・サーバー・アプリケーション3400は新規コマンドとパーツをソフトウェアメンテナンスツール3404へ送信することができる(メッセージA7)。ソフトウェアメンテナンスツール3404は、これらのファイルを処理した後にコマンドステータスを返信して(メッセージA8)、ダウンリンクファイル又はイベントログを送信することができる(メッセージA9)。これらの実施例では、ソフトウェアメンテナンスツール3404は機内電子配信システム3406と通信することが可能である。ソフトウェアメンテナンスツール3404により、機内電子配信システム3406と情報を交換するための代替経路が得られる。ソフトウェアメンテナンスツール3404は、プロキシ・サーバー・アプリケーション3400と関連している場所から、機内電子配信システム3406が位置する航空機まで移動することができる、ポータブルデータ処理システムに位置している。これらの詳細は、下記のソフトウェアメンテナンスツール3404の説明に関して、さらに詳しく記述されている。
異なる交信を特定の順番で説明したが、異なるメッセージ及び交信はいずれも、いつでも同時に起こる可能性がある。
例えば、機内電子配信システム3406がダウンリンクデータをプロキシ・サーバー3400へダウンロードすると同時にプロキシ・サーバー・アプリケーション3400からコマンド及び航空機用パーツを機内電子配信システム3406に送信することができる。さらに、プロキシ・サーバー・アプリケーション3400は例えば、ソフトウェアメンテナンスツール3404と機内電子配信システム3406等の複数の航空機クライアントに同時に作用することが可能である。
ここで図35を参照すると、プロキシ・サーバー・アプリケーションを示す図が有利な一実施形態にしたがって図示されている。プロキシ・サーバー・アプリケーション3500は、図34のプロキシ・サーバー・アプリケーション3400の実行形態の一実施例である。この実施例では、プロキシ・サーバー・アプリケーション3500は、制御プロセス3502、データベース3504、ファイルシステム3506、地上コンポーネント・インターフェース3508、ソフトウェアメンテナンスツール・インターフェース3510、及び地上コンポーネント3512を含む。これら2つのインターフェースはこれらの実施例では、アプリケーション・プログラミング・インターフェース(API)コールを使用して実行することができる。
データベース3504は、制御プロセス3502によって処理されるコマンドを含む。データベース3504の各記録によって、コマンドのステータスを特定することができる。例えば、記録によってコマンドが処理されたかどうかだけでなく、対象の航空機と、航空機上の対象の列線交換ユニットを特定することができる。ファイルシステム3506はこれらの実施例では、航空機用ソフトウェアパーツ及びダウンリンクデータを保存する。
地上コンポーネント3512は、航空機の機内電子配信システムと通信するプロキシ・サーバー・アプリケーション3500のソフトウェアコンポーネントである。地上コンポーネント用アプリケーション・プログラム・インターフェース3508により、地上コンポーネント3512と情報を交換するために制御プロセス3502によって使用可能なコールが得られる。
地上コンポーネント3512は、例えばプロキシ・サーバー・アプリケーション3500の制御プロセス3502等の任意のプロセスが、機内電子配信システムとの通信用に特別に設計されていなくても、機内電子配信システムと通信ができるようにする。この結果、制御プロセス3502を機内電子配信システムとの通信に使用されるプロトコルを含むことなく変更又は修正することが可能である。さらに、機内電子配信システムの変更は、プロキシ・サーバー・アプリケーション3500内の全てのプロセスの変更を要さずに行うことが可能である。その代わり、地上コンポーネント3512の修正又は変更を行うことが可能である。
ソフトウェアメンテナンスツールのアプリケーション・プログラミング・インターフェース3510により、制御プロセス3502がソフトウェアメンテナンスツールと通信するのに使用できるコールが得られる。データベース3504及びファイルシステム3506の構造及び機構は、航空機用ソフトウェアパーツ保守環境内のライブラリーで使用されるものと同様のものであってよい。
図36〜39を見てみると、図35のデータベース3504で使用されるデータ構造を示す図が、有利な一実施形態にしたがって図示されている。コマンド結果データベース表3600は、コマンド結果の情報及び記録を示す。コマンド結果データベース表3600は、コマンド結果識別子3602、コマンド識別子3604、地上ステータス3606、航空機ステータス3608、日付3610、コマンドタイプ3612、航空機識別子3614、及びデバイス名3616を含む。
コマンド結果識別子3602は、特定のコマンド結果記録を一意的に特定し、コマンド識別子3604は特定のコマンド記録を一意的に特定する。コマンド識別子3604は、表のデータを特定のコマンド記録に関連付けるために様々な表に含まれていてよい。地上ステータス3606は、これらの実施例では地上コンポーネント又は機内電子配信システムから送信可能であるコマンドステータスメッセージの送信元を特定する。航空機ステータス3608は、地上コンポーネント又は機内電子配信システムから送信可能であるコマンドステータスメッセージである。地上ステータスは、アップリンクされている又はダウンリンクされているファイルのアップリンク又はダウンリンクのステータスを特定する。
この情報により、ファイルの実際のアップリンク又はダウンリンクの完了割合が分かる。各割合は別々のステータスとして伝達可能である。アップリンクを実施例として使用すると、ファイルのコンテンツが機内電子配信システムに送られている時に、4分の1終了のステータスメッセージに半分終了のステータスメッセージが続き、それから4分の3終了のメッセージ、最後に終了ステータスメッセージが全て送られる。各メッセージの伝達により、適切な量のファイルコンテンツが良好に送られたことが表示される。ダウンリンク作業中に地上コンポーネントに書き込まれているファイルコンテンツに対しても同じことを行うことができる。
日付3610は、特定のデバイスがコマンド結果を送った日付を特定する。コマンドタイプ3612は、例えばアップリンク、ダウンリンク、又は削除等のコマンドのタイプを特定する。航空機識別子3614は、航空会社の航空機全機のうちから特定の航空機を特定する固有値である。デバイス名3616は、コマンド結果をプロキシ・サーバー・アプリケーションへ送信するデバイスの名前を特定する。
図37をここで見てみると、ダウンリンクファイルデータベース表の図が、有利な一実施形態にしたがって図示されている。この実施例では、ダウンリンクファイルデータベース表3700は、ダウンリンクファイルデータベース表の情報を示す。ダウンリンクファイルデータベース表3700は、ダウンリンクファイル識別子3702、航空機識別子3704、デバイス3706、日付3708、ファイル名3710、ファイルユニバーサルリソース検索3712、及びファイルステータス3714を含む。
ここで図38を参照すると、コマンド及びコマンドリソースデータベース表が有利な一実施形態にしたがって図示されている。この実施例では、コマンドデータベース表3800はコマンドを表すのに対し、コマンドリソースデータベース表3802はコマンドリソースを表す。コマンドデータベース表3800は、コマンド識別子3804、航空機識別子3806、アプリケーション名3808、コマンドタイプ3810、デバイス名3812、システム名3814、日付3816、サービスステータス3818、優先順位3820、コマンドグループ3822、クレートに格納されたコマンド3824、及びクレートに格納されたコマンドパス3826を含む。
コマンドリソースデータベース表3802は、コマンドリソース識別子3828、データタイプ3830、アプリケーションスタンダード3832、パーツ期限日3834、所有者3836、名前3838、生産ステータス3840、公開日3842、サプライヤ3844、パス3846、クレート期限日3848、及びコマンド識別子3850を含む。コマンドリソースデータベース表3802において特定されたコマンドリソースは、アップリンクコマンド用クレート内の航空機用ソフトウェアパーツ、ダウンリンクコマンド用ファイル又は構成レポート、及び削除コマンド用ファイル又は航空機用ソフトウェアパーツファイルである。
コマンド識別子3804は、この特定のコマンド結果記録を一意的に特定する。航空機識別子3806は、特定の航空機を特定する。アプリケーション名3808は、列線交換ユニット及び航空機を特定する。例えば、アプリケーション名3808は、特定の列線交換ユニットを特定することができる。デバイス名3812は、コマンドを航空機に送信する異なるデバイスを特定する。このデバイス名は例えば、特定のプロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツールを特定する。
これらの実施例では、名前は特定のプロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツールの特定名であってよい。システム名3814は、アプリケーションが含まれるシステムの名前を特定する。日付3816は、ライブラリーのコマンドディスパッチャーによってコマンドが作成された日付を特定する。
サービスステータス3818は、コマンドのステータスを特定するのに使用される。このフィールドは、機内電子配信システムへ良好に送信されたコマンドを特定し、機内電子配信システムへ良好にアップリンクされていることをソフトウェアメンテナンスツールが伝達したコマンドを特定することができる。
優先順位3820は、機内電子配信システムへの配信のためにキュー内のコマンドを順序づけするのに使用される値である。コマンドグループ3822を使用してコマンドをグループ分けすることができる。クレートに格納されたコマンド3824は、コマンドのクレートに格納されたフォーマットを含むファイルの名前である。クレートに格納されたコマンドパス3826は、クレートに格納されたコマンドが保存されている場所を特定するパスである。
コマンドリソースデータベース表3802では、コマンドリソース識別子3828によってコマンドリソース記録が一意的に特定される。データタイプ3830は、リソースのデータタイプを特定する。例えば、データタイプは航空機用ソフトウェアパーツ又はファイルであってよい。所有者3836は、航空機用ソフトウェアパーツの知的財産所有者を特定する。名前3838はこれらの実施例では、ファイル又は航空機用ソフトウェアパーツの名前である。
生産ステータス3840は、クレート内の航空機用ソフトウェアパーツの生産ステータスを特定する。このステータスは例えば、レッドラベル、ブルーラベル、又はブラックラベルであってよい。レッドラベルパーツは技術開発中の納品不可能な生産品質のハードウェア又はソフトウェアパーツである。ブルーラベルパーツは制御され維持された、実験室環境でのみの使用に制限されているパーツである。ブラックラベルパーツは生産可能であり、航空会社の顧客に納品可能であると見なされる。
公開日3842は、クレート内の航空機用ソフトウェアパーツが公開された日付を特定する。サプライヤ3844は、航空機用ソフトウェアパーツのサプライヤを特定する。パス3846はこれらの実施例では、航空機用ソフトウェアパーツの場所を特定する。例えば、ユニバーサルリソース検索ストリングを使用してパーツを読み出すことができる。クレート期限日3848は、クレートを署名するのに使用された証明書の期限が切れる日付である。コマンド識別子3850は、特定の航空機コマンド記録を特定する。
クレートに格納されたコマンドファイルは、ファイル名をファイルパスストリングと組み合わせてクレートに格納されたコマンドフィールドに格納することによって、コマンド表の記録と関連付けすることができる。航空機用ソフトウェアパーツのクレートファイルは、ファイル名をファイルパスストリングと組み合わせて名前3838に格納することによって、コマンドリソースデータベース表3802のコマンドリソース表の記録と関連付けすることができる。
図39では、航空機コマンドデータベース表を示す図が、有利な一実施形態にしたがって図示されている。この実施例では、航空機コマンドデータベース表3900は、航空機コマンド用に含まれる情報の一実施例を提供する。航空機コマンドデータベース表3900は、航空機コマンド識別子3902、メッセージ識別子3904、航空機識別子3906、コマンドタイプ3908、及びコマンドXML3910を含む。
航空機コマンド識別子3902は、特定の航空機コマンド記録を一意的に特定するのに使用される。メッセージ識別子3904は、特定のダウンリンクコマンドに関連する部分的ダウンリンクの識別子である。この識別子は、機内電子配信システムへ送られたダウンリンクコマンドの結果ではないダウンリンクファイル用に生成される。コマンドXML3910は、機内電子配信システムによって送信され、機内電子配信システムが部分ダウンリンクファイルを要求するときに読み出される特定のダウンリンクコマンドの拡張可能なマークアップ言語のドキュメントファイルフォーマットを特定する。
これらの実施例では、異なる表をコマンド識別子を介して相互に関連付けすることが可能である。異なるデータベース表の定義は、プロキシ・サーバー・アプリケーションによって処理される異なるデータ要素用である。異なるプロセスでは、ある記録がいつ挿入、アップデート又は削除されたかを示すために、一又は複数のこれらの表を使用することができる。
ここで図40を見てみると、プロキシ・サーバーファイルシステムディレクトリ構造の図が有利な一実施形態にしたがって図示されている。この実施例では、ディレクトリ構造4000は、ファイルシステムディレクトリ構造を表す。ディレクトリ構造4000は図35のファイルシステム3506内で実行可能なある種類のディレクトリ構造の一実施例である。ディレクトリ構造4000は、プロキシ・サーバー・アプリケーション上のファイルシステム内において保存される異なるタイプのファイルを特定することができる。
これらの実施例では、ディレクトリ構造4000はクレートに格納されたコマンド4002、クレート4004、ダウンリンクファイル4006、ダウンリンクファイルアーカイブ4008、ダウンリンクファイルの一部4010、アーカイブに保存されたイベントファイルログ4012、イベントログ4014、及びテンポラリファイル4016を含む。この種のディレクトリ構造はこれら図示した実施例においては、ファイルシステムにファイルを保存するだけでなく、ファイルシステム内のファイルを特定または探すのに使用される。
ここで図41を見てみると、ライブラリーから情報を受信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。この実施例では、図41に示すプロセスを図35の制御プロセス3502で実行可能である。このプロセスは、航空機用ソフトウェアパーツ保守環境においてライブラリーからコマンドとパーツを受信するのに使用される。このプロセスは、あるイベントに対する応答から開始できる。例えば、イベントはタイマー期限切れであってよい。他の実施形態では、イベントは他のソースによって発生してもよい。例えば、イベントはユーザー入力によって開始可能である。
このプロセスは、良好に実行されたコマンドを特定することによって開始される(作業4100)。これらのコマンドは、プロキシ・サーバー・アプリケーションがコマンドの処理が良好に行われた一連の航空機に送ったものである。このコマンドは例えば、航空機用ソフトウェアファイルの削除、航空機用ソフトウェアファイルのロード、又は航空機の列線交換ユニットからのデータのダウンリンクであってよい。
これらのコマンドは、例えば図35のデータベース3504等のプロキシ・サーバー・アプリケーション内のデータベースから特定することができる。この特定のコマンドは、図36のコマンド結果データベース表3600等のコマンド結果データベース表のコマンド識別子から特定することができる。これらのコマンドの特定により、ライブラリーに送られるコマンドリストが形成される(作業4102)。作業4100及び4102はライブラリーにコマンドステータス情報を送信するのに使用される。
次に、プロセスでは、ライブラリーからコマンドリストを要求する(作業4104)。作業4104は、一連の航空機への配信のために新規コマンド処理を開始するために実施される。プロセスでは、要求への応答が受信される(作業4106)。応答においてコマンドリストを受信したかどうかが判定される(作業4108)。コマンドリストを受信していない場合、プロセスは処理する新規コマンドがないため終了する。そうでなければ、プロセスでは、ライブラリーから受信した新規コマンドリストに含まれない、データベース内に保存されたコマンドが削除される(作業4110)。
作業4110では、ライブラリーから読み出されたコマンドリストに含まれていないプロキシ・サーバー・アプリケーションを有するデータベース内に含まれるコマンドは、プロキシ・サーバー・アプリケーションによって処理又は対処する必要がないものと見なされる。この特徴により、ライブラリーが、これらの実施例において処理されるべきと見なされ且つ異なるプロキシ・サーバー・アプリケーション上に含まれるコマンドの信頼できる情報源となる。
プロキシ・サーバー・アプリケーションがコマンドを受信し、コマンドが処理前にユーザーによってキャンセルされた場合、ライブラリーのコマンドディスパッチャーはそのデバイスのコマンドを削除する。この結果、プロキシ・サーバー・アプリケーションはコマンドが要求される今後のサイクルにおいてコマンドリスト内のコマンドを受信しない。このように、コマンドキュー画面からプロキシ・サーバー・アプリケーションへの保留中のコマンドを削除することによって、ユーザーが特定のプロキシ・サーバー・アプリケーションのコマンドを全て除去することが可能である。
その後、プロセスでは、データベースに新規コマンドが保存される(作業4112)。これらの実施例では、コマンドリストはコマンドデータ構造の形態であってよい。プロキシ・サーバー・アプリケーションは直ちに又は他の時点のいずれかにおいて、それ自体から実際のコマンドの選択的要求を行う。
プロセスでは次に、未処理の新規コマンドを処理のために選択する(作業4114)。このプロセスでは、コマンドを含むクレートを要求する(作業4116)。要求に応じてプロセスではクレートを受信する(作業4118)。受信したクレートは次にファイルシステムに保存される(作業4120)。プロセスでは次に、まだ未処理の新規コマンドがあるかどうかが判定される(作業4122)。さらに未処理の新規コマンドがある場合、プロセスは作業4114に戻って、処理のために別の未処理の新規コマンドを選択する。
そうでなければ、このプロセスでは作業4122において、受信した新規コマンドにアップリンクコマンドが含まれていないかどうかが判定される(作業4124)。アップリンクコマンドがある場合、処理のために未処理のアップリンクコマンドが選択される(作業4126)。このプロセスでは次に、航空機用ソフトウェアパーツを含むクレートがすでにファイルシステムに含まれているかが判定される(作業4128)。クレートが含まれている場合は、上述したようにプロセスは作業4124に戻る。
クレートがない場合は、プロセスでは、ライブラリーにコマンドに対応する航空機用ソフトウェアパーツを含むクレートを要求する(作業4130)。その後プロセスでは、クレートを受信し(作業4132)、クレートをファイルシステムに保存する(作業4134)。
このプロセスは次に作業4124に戻り、さらに未処理のアップリンクコマンドが含まれているかどうかが判定される。さらに未処理のアップリンクコマンドがない場合は、プロセスは終了する。そうでなければ、プロセスは作業4126に戻り、上述したように別の未処理のアップリンクコマンドが選択される。
図41のプロセスの実行に際しては、3つのタイプのイベントログメッセージが作成され記録される。プロキシ・サーバー・アプリケーションがライブラリーに良好に接続したことを示す記録は、ログに記録された一つのイベントである。ライブラリーから受信コマンドリストを受信したことを示すイベントは、記録された別のイベントである。コマンドによって特定された航空機のキューに保存された各コマンドに対しても、一つのイベントが記録される。ライブラリーに良好に送られたコマンドのリストは、航空会社の保守作業の計画を支援するのに使用することができる。
ここで図42を見てみると、ダウンリンクファイルをライブラリーに送信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。図42に示すプロセスは、図35の制御プロセス3502等の制御プロセスにおいて実行可能である。このプロセスは、プロキシ・サーバー・アプリケーションが機内電子配信システムから受信したダウンリンクファイルをライブラリーに送信するときに行われる異なる作業を示す。このプロセスは、例えばタイマー等のあるイベントによって開始されることができる。このプロセスは、図41に示すコマンドの処理プロセスとは異なる時点で開始して、交信ネットワークを広げて混雑を緩和することが可能である。
このプロセスはデータベース内の未転送のダウンリンクデータのダウンリンク記録を特定することによって開始される(作業4200)。データベース内に未処理の記録があるかどうかの判定がなされる(作業4202)。未処理の記録がある場合、処理のためにダウンリンクファイルの未処理記録が選択される(作業4204)。このプロセスでは、ダウンリンクデータを含むファイルがライブラリーへ送られる(作業4206)。
その後、プロセスでは、ライブラリーへ送られたファイルをアーカイブに保存する(作業4208)。プロセスでは次に、アーカイブに保存されているファイルのデータベース記録をアップデートする(作業4210)。次に、さらに未処理の記録があるかどうかが判定される(作業4212)。さらに未処理の記録がある場合は、プロセスは作業4204に戻る。
そうでなければ、プロセスではある選択閾値よりも古いデータベース内の記録が特定される(作業4214)。この閾値は例えば、ダウンリンクファイルをいつ受信したかを示すタイムスタンプにおける日時及び/又は時間からある選択された何時間かであってよい。このプロセスでは、任意の特定された記録がデータベースから削除され(作業4216)、その後プロセスは終了する。再び作業4202を参照すると、未処理の記録がない場合にもプロセスは終了する。
ここで図43を見ると、イベントファイルをライブラリーへ送信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。図43に示すこのプロセスは、例えば図35の制御プロセス3502等のプロキシ・サーバー・アプリケーションコンポーネントにおいて実行可能である。他のプロセスと同じように、図43に示すプロセスは例えばタイマー等のあるイベントに応答して開始することができる。
この図面のプロセスは、例えば保守作業等の作業計画に用いるための、分析用のイベントログのライブラリーへの返信をサポートする。図43のライブラリーへ送られたイベントログは、ユーザーとアプリケーションユーザーインターフェースシステムとの交信及び/又はアプリケーションコンポーネント間のインターフェース交信の結果であるイベントメッセージを保存する。このタイプの情報は、特定作業に対して種々のプロセスが確実に行われるようにする監査の際の報告のための航空会社のビジネスプロセスにおいて使用することができる。
このプロセスは、現在のログファイルを以前の処理サイクルのログファイルのコピーと比較することによって開始される(作業4300)。このプロセスでは、2つのログファイルの比較から起こる任意の新しいイベントを特定する(作業4302)。このプロセスでは次に、比較で見つかった新しい入力イベントがライブラリーへ送られる(作業4304)。ファイルシステムへ送られたファイルのコピーはアーカイブに保存される(作業4306)。プロセスでは次に、任意のロールオーバーログファイルがライブラリーに送られる(作業4308)。ロールオーバーログファイルは、例えば以前の日付等の以前の期間からあるファイルである。
このプロセスでは、ライブラリーへ送られたファイルシステムの任意のファイルのコピーがアーカイブに保存される(作業4310)。このプロセスでは次に、ライブラリーへ送られたロールオーバーログファイルが削除される(作業4312)。次に、ログファイルの以前のコピーが削除され、現在のログファイルを次の比較に使用するためのコピーとして設定される(作業4312)。このプロセスでは次に、イベントログディレクトリ内のデバイス名サブディレクトリを探す(作業4314)。作業4314では、プロキシ・サーバー・アプリケーションがソフトウェアメンテナンスツールから受信したファイルのイベントログファイルをファイルシステムに書き込むときに、デバイス名を有するサブディレクトリが作成される。
このプロセスでは、存在するサブディレクトリ全てにおいてイベントログファイルを探す(作業4316)。その後、プロセスでは、サブディレクトリにおいて見つかった全てのイベントログファイルがライブラリーへ送られる(作業4316)。このプロセスでは次に、送ったファイル全てが削除され、サブディレクトリが空になる(作業4318)。プロセスは次に終了する。
ここで図44を見てみると、航空機へ情報を送信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。これらの実施例では、図44に示すプロセスを、例えば図35のプロキシ・サーバー・アプリケーション3500内の制御プロセス3502等のソフトウェアコンポーネントにおいて実行することが可能である。これらの実施例では、情報は航空機の機内電子配信システムに送られたコマンド及び航空機用ソフトウェアパーツの形態を取る。
このプロセスは、機内電子配信システムから次のコマンドの要求を受信することによって開始される(作業4400)。その後、このプロセスでは、機内電子配信システムによって要求された次のコマンドが受信される(作業4402)。これらの実施例では、コマンドの実際のファイルはプロキシ・サーバー・アプリケーションのファイルシステムに位置している。データベースの記録は、ファイルシステムのコマンドについてのメタデータを含む。
このプロセスでは次に、コマンドのデータベース記録をアップデートして、コマンドが実施されたことを表示する(作業4404)。このプロセスでは、次のコマンドが削除コマンドであるかどうかが判定される(作業4406)。処理されるべき次のコマンドが削除コマンドでない場合は、このプロセスでは次に、航空機が現在情報をアップリンクしているかどうかが判定される(作業4408)。
航空機が現在情報をアップリンクしている場合は、このプロセスでは航空機が情報のダウンリンクも行っているかどうかも判定される(作業4410)。このプロセスでは情報をダウンリンクしていない場合、次のコマンドがアップリンクコマンドであるかどうかが判定される(作業4412)。次のコマンドがアップリンクコマンドでない場合、このプロセスでは次のコマンドを探して、そのコマンドを機内電子配信システムへ返信し(作業4414)、その後プロセスは終了する。
再度ステップ4406を参照すると、処理されるべき次のコマンドが削除コマンドである場合、プロセスは上述したようにステップ4414へ進む。再度作業4412を参照すると、次のコマンドがアップリンクコマンドである場合、このプロセスでは、航空機の次のダウンリンクコマンド又は削除コマンドを探して返信し(作業4416)、その後プロセスは終了する。再度作業4410を参照すると、航空機がダウンリンクしている場合は、このプロセスでは次の削除コマンドを探して航空機のキューに返信し(作業4418)、その後プロセスは終了する。
再度作業4408を参照すると、航空機がアップリンクしていない場合、航空機がダウンリンクを行っているかどうかが判定される(作業4420)。作業4420において航空機がダウンリンクしていない場合、このプロセスでは、航空機の次のコマンドを探して返信し(作業4422)、その後プロセスは終了する。作業4420において航空機がダウンリンクしている場合には、航空機の次のコマンドがダウンリンクコマンドであるかどうかが判定される(作業4424)。
次のコマンドがダウンリンクコマンドでない場合に、プロセスは上述したように作業4422へ進む。そうでない場合、このプロセスでは次のアップリンクコマンド又は削除コマンドを探して返信し(作業4426)、その後プロセスは終了する。
これらの実施例では、どのコマンドを航空機へ送信するかの異なる決定は、同じ航空機に同時にアップリンク及び/又はダウンリンクコマンドをたくさん送りすぎないために行われる。この種の処理は、航空機がプロキシ・サーバー・アプリケーションと通信している間の情報量の使用を改善する又は最適化するために用いられる。このプロセスの間に、いつ航空機用ソフトウェアパーツが航空機にアップリンクされたかを伝達するイベントログメッセージがログファイルに書き込まれる。他の有利な実施形態においては、他の種類の決定作業を使用して所望される可能性のある他のポリシーを実施することができる。例えば、特定のタイプのコマンドに、他のタイプのコマンドよりも高い優先度を付与することができる。選択されたタイプの航空機に他の航空機よりも高い優先度を付与することができる。
次に図45を参照すると、航空機用ソフトウェアパーツを受信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。図45に示すプロセスは、例えば図35の制御プロセス3502等のソフトウェアコンポーネントにおいて実行可能である。この実施例で示すプロセスは、プロキシ・サーバー・アプリケーションから航空機用ソフトウェアパーツを得るために使用される。
このプロセスは、機内電子配信システムから、航空機用ソフトウェアパーツを含むクレートの要求を受信することから開始される(作業4500)。このプロセスでは、要求に応じたクレートを探す(作業4502)。このプロセスでは次に、機内電子配信システムへクレートを返信して(作業4504)、その後プロセスは終了する。
ここで図46を見てみると、航空機からコマンドステータス情報を受信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。図46に示すプロセスは、例えば図35の制御プロセス3502等のソフトウェアコンポーネントにおいて実行可能である。このプロセスは、航空機の機内電子配信システムからステータス情報を受信するために使用される。
図46のプロセスは、航空機のコマンド処理に関するステータス情報を得るために採用される。このステータス情報は、特定の列線交換ユニットに関して、コマンドの送信が良好であったかどうかを表すことができる。さらに、アップリンクコマンドに関しては、ステータスはまた、航空機用ソフトウェアパーツが航空機に保存されており、インストール準備ができているかどうかも示す。これらの実施例では、航空機用ソフトウェアパーツの列線交換ユニットへのインストールは、整備士又は技術者によって開始されるものである。他の実施形態では、この種のインストールは自動であってよい。
このプロセスは、機内電子配信システムからのコマンドステータスのコールを受信することによって開始される(作業4600)。このプロセスでは、コマンドステータスからの情報から、新しい記録がコマンド結果データベース表に挿入され(作業4602)、その後プロセスは終了する。
この情報により、プロキシ・サーバー・アプリケーションは、コマンドが良好であったかどうかのステータス情報をライブラリーへ返信することができる。この情報によって、いつ航空機用ソフトウェアパーツが航空機に保存されて列線交換ユニットへのインストール準備ができるかを示すことが可能になる。これらの実施例では、3つのイベントログメッセージが作成される。一つのメッセージは、特定のコマンドが良好であったかどうかを示す。コマンド内のどの削除されたファイルが良好に削除されたかを示すメッセージも、返信される。さらに、失敗したコマンドの識別情報もステータスメッセージに記録される。
ここで図47を見てみると、ダウンリンクファイルを受信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。図47に示すプロセスは、例えば図35の制御プロセス3502等のソフトウェアコンポーネントにおいて実行可能である。このフローチャートは、ダウンリンクファイルが機内電子配信システムからプロキシ・サーバー・アプリケーションへ送られる時に行われるプロセスを示す。
このプロセスは機内電子配信システムからダウンリンクデータをダウンロードするコールを受信することから開始される(作業4700)。これらの実施例では、ファイルを書き込む作業が以前に中断されており、ファイルのコンテンツが全てファイルに書き込まれていない時に、地上コンポーネントが部分的ダウンリンクを特定する。ファイルを書き込む作業が良好に完了した場合、ダウンリンクは完了したダウンリンクである。ダウンリンクの追加データを送信するというコールである場合は、受信された情報はプロキシ・サーバー・アプリケーションを有するファイルシステム上のダウンリンク用に予め保存されたファイルに追加される。
このプロセスでは次に、ダウンリンクファイルのデータが受信される(作業4702)。次に、プロセスでは、データが部分的にダウンロードされたダウンリンクファイルのものであるかどうかが判定される(作業4704)。データが新しいダウンリンクファイルのものである場合、プロセスでは、ダウンリンクファイルが作成される(作業4706)。その後、データがダウンリンクファイルに保存される(作業4708)。次に、ダウンリンクファイルのの追加データを受信したかどうかが判定される(作業4710)。追加のデータを受信した場合は、このプロセスは作業4708へ戻る。そうでない場合は、このプロセスではファイルが完成したかどうかが判定される(作業4712)。ファイルが完成した場合は、ファイルがファイルシステムのプロキシ・サーバー上に保存され(作業4714)、その後プロセスは終了する。
再度作業4712を参照すると、ファイルが完成していない場合は、このプロセスでは、ファイルは部分的にダウンロードされたダウンリンクファイルとしてマーキングされ(作業4716)、その後プロセスは終了する。再度作業4704を参照すると、ダウンロードされるべきデータが部分的にダウンロードされたダウンリンクファイル用である場合は、このプロセスでは、データの部分的ダウンリンクファイルが含まれているかどうかが判定される(作業4718)。
ダウンリンクファイルが含まれている場合、このプロセスは上述したように作業4708へ進む。そうでなければ、このプロセスでは、エラーが機内電子配信システムへ送られ(作業4720)、その後プロセスは終了する。この領域は、機内電子配信システムによって送られるべきデータの部分ダウンリンクファイルがプロキシ・サーバー上に含まれていないことを示す。この状況においては、機内電子配信システムはファイル全体を別のデータ転送で再送することができる。
これらの実施例では、機内電子配信システムがプロキシ・サーバー・アプリケーションからコマンドを受信すると同時に、機内電子配信システムからダウンリンクファイルをプロキシ・サーバー・アプリケーションへ送信することが可能である。このプロセスでは、プロキシ・サーバー・アプリケーションへデータをダウンリンクしている間に割り込みが発生し得ることが考慮されている。ダウンリンクデータの送信が中断された場合、後に残りのデータを書き込むことが可能になるまで良好に書き込まれた部分が保存される。このように、前のデータの再度の書込みは必要ではない。これらの実施例では、ダウンリンクデータが特定の航空機からのプロキシ・サーバー・アプリケーションから受信されたことを示すイベントログメッセージを記録することが可能である。
ここで図48を参照すると、ソフトウェアメンテナンスツールからステータス情報を受信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。図48に示すプロセスは、図35の制御プロセス3502において実行可能である。このプロセスは、ソフトウェアメンテナンスツールからのステータスメッセージの受信において行われる異なる作業を示す。
このプロセスは、ソフトウェアメンテナンスツールからコマンドのコマンドステータス情報のコールを受信することによって開始される(作業4800)。その後、このプロセスでは、コールにおいて特定されたコマンドの表のコマンド結果データベースに新しい記録が挿入される(作業4802)。このプロセスでは、記録はソフトウェアメンテナンスツールから良好と通知されたとしてマーキングされる(作業4804)。
このプロセスでは、ソフトウェアメンテナンスツールに受取確認が返信される(作業4806)。これらの異なるメッセージを他のメッセージと一緒に集めてライブラリーへ返信することができる。このプロセスでは次に、航空機に送られたコマンドのローカルコピーにマーキングをして(作業4808)、その後プロセスは終了する。このプロセスにより、プロキシ・サーバー・アプリケーションがソフトウェアメンテナンスツールへコマンドを再び返信することが防止される。
ここで図49を参照すると、ソフトウェアメンテナンスツールへ情報を送信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。図49に示すプロセスは、図35の制御プロセス3502において実行可能である。このプロセスでは、アップリンクコマンド及び航空機用ソフトウェアパーツの形態の情報がソフトウェアメンテナンスツールへ送られる。
このプロセスは、ソフトウェアメンテナンスツールからコマンドリストの要求を受信することによって開始される(作業4900)。この作業は様々な種類のコマンドに対する作業であってよい。例えば、要求は特定のソフトウェアメンテナンスツールに指定された任意のコマンドに対するものであってよい。この要求によって、特定の航空機、航空機上の特定の列線交換ユニット、又はある識別子に対するコマンドを得ることが可能である。
この要求の受信に応答して、このプロセスではデータベース内の要求に応じたコマンドが検索される(作業4902)。このプロセスでは次に、データベースからの結果を受信する(作業4904)。このプロセスでは、ソフトウェアメンテナンスツールへ結果が返信され(作業4906)、その後プロセスは終了する。ソフトウェアメンテナンスツールは、航空機用ソフトウェアパーツを機内電子配信システムへ送信するための図45に示すプロセスと同様のプロセスを使用して、航空機用ソフトウェアパーツを含むクレートを要求することができる。
ここで図50を見てみると、航空機用ソフトウェアパーツのリストをソフトウェアメンテナンスツールへ送信するプロセスのフローチャートが、有利な一実施形態にしたがって図示されている。このプロセスでは、例えば図35の制御プロセス3502等のソフトウェアコンポーネントにおいて実行可能である。このプロセスは、プロキシ・サーバー・アプリケーション上のどの航空機用ソフトウェアパーツが利用可能であるかを特定するために用いることができる。
このプロセスは、ソフトウェアメンテナンスツールからの航空機用ソフトウェアパーツのリストの要求を受信することによって開始される(作業5000)。このプロセスは次に、ファイルシステムに保存された航空機用ソフトウェアパーツを特定するためにデータベースにクエリを送信する(作業5002)。結果をデータベースから受信する(作業5004)。航空機用ソフトウェアパーツのリストはソフトウェアメンテナンスツールへ送られて(作業5006)、その後プロセスは終了する。
これらの実施例では、作業5006で返信されたリストは、たとえ航空機用ソフトウェアパーツが、他のデバイスにではなく特にプロキシ・サーバー・アプリケーションに送られたコマンドを支持するためだけにプロキシ・サーバー・アプリケーション上にある場合でも、プロキシ・サーバー・アプリケーションのインベントリにある固有の航空機用ソフトウェアパーツ名を含むことができる。
ここで図51を参照すると、ソフトウェアメンテナンスツールからダウンリンクファイルを受信するプロセスのフローチャートが有利な一実施形態にしたがって図示されている。この実施例で示すプロセスは、例えば図35の制御プロセス3502等のプロキシ・サーバー・アプリケーションコンポーネントにおいて実行可能である。
このプロセスは、ソフトウェアメンテナンスツールからのファイルをダウンリンクする要求を受信することによって開始される(作業5100)。作業5100においては、この要求はハイパーテキスト・トランスポート・プロトコル・リクエストとして行うことができる。航空機のディレクトリがあるかどうかが判定される(作業5102)。ディレクトリがある場合には、ディレクトリにすでにファイルが含まれているかどうかが判定される(作業5104)。
ファイルがディレクトリに含まれていない場合、ファイルは航空機のサブディレクトリに書き込まれる(作業5106)。その後、プロセスでは、ダウンリンクファイルデータベース表にダウンロードされたファイルの新しい記録が挿入され(作業5108)、その後プロセスは終了する。
再度作業5104を参照すると、ファイルがすでにサブディレクトリに含まれている場合、ファイル名にタイムスタンプが追加され(作業5110)、プロセスは次に、上述したように作業5106へ進む。
作業5110では、タイムスタンプがファイル名に追加されることにより、元のファイルの上に重なる、又は元のファイルを失うことなく、同じファイルの追加のコピーを書き込むことが可能になる。この結果、元のファイル名が、タイムスタンプを追加した以外は同じファイル名を持つ追加のファイルとともに保存される。ファイルのコンテンツは、ある場合には同一であってよい。再度作業5102を参照すると、航空機のディレクトリがない場合は、このプロセスでは航空機のサブディレクトリが作成される(作業5112)。このプロセスは次に、上述したように作業5106へ進む。
図52では、ソフトウェアメンテナンスツールからイベントログファイルを受信するプロセスのフローチャートが、有利な一実施形態にしたがって図示されている。図52に示すプロセスは、図35のプロキシ・サーバー・アプリケーション3500の制御プロセス3502において実行可能である。
このプロセスは、ソフトウェアメンテナンスツールから、イベントログファイルをプロキシ・サーバー・アプリケーションへダウンリンクする要求を受信することによって開始される(作業5200)。このプロセスでは次に、デバイスのサブディレクトリがあるかどうかが判定される(作業5202)。この実施例では、デバイスはソフトウェアメンテナンスツールである。デバイスのサブディレクトリがある場合は、ソフトウェアメンテナンスツールから受信したファイルのファイル名にタイムスタンプが追加される(作業5204)。このプロセスでは次に、ファイルがデバイス名サブディレクトリに書き込まれ(作業5206)、その後プロセスは終了する。
再度作業5202を参照すると、デバイスのサブディレクトリがない場合、このプロセスでは、そのデバイスのサブディレクトリが作成される(作業5208)。このプロセスは次に上述したように作業5204へ進む。
ソフトウェアメンテナンスツール
図3の航空機用ソフトウェアパーツ管理装置300において、異なる有利な実施形態により、航空機用ソフトウェアパーツを管理するコンピュータによって実行される方法、装置、及びコンピュータプログラム製品が提供される。異なる有利な実施形態によって、地上ネットワークを介したソースとの接続を確立するのに使用できる、ポータブルデータ処理システムに位置するソフトウェアメンテナンスツールが提供される。この接続を介してソースから一連のアップリンクコマンドを読み出すことができる。アップリンクコマンドに応じた一連の航空機用ソフトウェアパーツは、確立された接続を介してソースから読み出されて、一連の読み出された航空機用ソフトウェアパーツを形成する。一連の航空機用ソフトウェアパーツはポータブルデータ処理システムに保存される。
このポータブルデータ処理システムは次に、地上ネットワークとの接続を解除し、航空機内の航空機ネットワークに接続可能である。一連のアップリンクコマンドから1つのアップリンクコマンドが、ポータブルデータ処理システムに位置する地上コンポーネントを介して航空機ネットワークに送られる。アップリンクコマンドに対応する、保存された航空機用ソフトウェアパーツは次に、地上コンポーネントを介して航空機ネットワークに送信可能である。
このソフトウェアメンテナンスツールを、航空機ネットワークが地上ネットワークとの接続を確立できない状況において用いることが可能である。例えば、ある空港では、航空機ネットワークが空港にある特定の地上ネットワークと適合しない恐れがある。他の実施例では、地上ネットワークの不具合、又はエラーのために、航空機ネットワークが地上ネットワークと通信してコマンド及び航空機用ソフトウェアパーツを受信することができない可能性がある。
さらに、ポータブルデータ処理システム上のソフトウェアメンテナンスツールを、航空機からデータを受信するために用いることもできる。このデータは例えば、ダウンリンクファイルであってよい。
図53を次に参照すると、データフローとソフトウェアメンテナンスツールを示す図が、有利な一実施形態にしたがって図示されている。ソフトウェアメンテナンスツール5300は、例えばライブラリー5302、プロキシ・サーバー・アプリケーション5304、及び機内電子配信システム5306等のコンポーネントと交信する。これらのコンポーネントはソースとも呼称される。これらの実施例では、ソフトウェアメンテナンスツール5300により、ライブラリー5302及び/又はプロキシ・サーバー・アプリケーション5304と、機内電子配信システム5306との間の情報の転送が可能になる。
ライブラリー5302は例えば、図3のライブラリー304であってよく、一方でプロキシ・サーバー・アプリケーション5304は図3のプロキシ・サーバー・アプリケーション306であってよい。機内電子配信システム5306は例えば、図3の機内電子配信システム310であってよい。
ライブラリー5302は、ソフトウェアメンテナンスツール5300へ新規コマンド及びパーツを送信する(メッセージE1)。パーツのこれらのコマンドの処理の結果は、ソフトウェアメンテナンスツール5300によってライブラリー5302に返信することができる(メッセージE2)。さらに、ソフトウェアメンテナンスツール5300はダウンリンク及びイベントログファイルも返信することができる(メッセージE3)。
特定の実行形態又は使用によっては、ソフトウェアメンテナンスツール5300がプロキシ・サーバー・アプリケーション5304を介してライブラリー5302から間接的に新規コマンド及びパーツを受信することができる(メッセージE4)。同様な形で、ソフトウェアメンテナンスツール5300はコマンドステータス(メッセージE5)と、ダウンリンク及びイベントログファイル(メッセージE6)をプロキシ・サーバー・アプリケーション5304返信することができ、プロキシ・サーバー・アプリケーション5304はこの情報を次にライブラリー5302へ送信する。
機内電子配信システム5306への情報の転送に関しては、ソフトウェアメンテナンスツール5300は新規コマンド及び航空機用ソフトウェアパーツを機内電子配信システム5306へ送信することができる(メッセージE7)。ソフトウェアメンテナンスツール5300は、機内電子配信システム5306からコマンドステータスを受信することができる(メッセージE8)。コマンドステータスはまた、機内電子配信システム5306へ送られた航空機用ソフトウェアパーツのステータスを含むことができる。機内電子配信システム5306は、ソフトウェアメンテナンスツール5300に、ライブラリー5302へ転送するためのダウンリンク及びイベントログファイルを送信することができる(メッセージE9)。
この種の転送の実施例は下にさらに詳しく説明されている。さらに、これらのステップ及び交信は特定の順番で行うことができ、任意の異なるメッセージ及び交信はいつでも同時に行うことができる。例えば、ソフトウェアメンテナンスツール5300は機内電子配信システム5306からダウンリンクファイルを受信すると同時に、新規コマンド及び航空機用ソフトウェアパーツを機内電子配信システム5306へ送信することができる。これらの実施例では、ソフトウェアメンテナンスツール5300は、例えばラップトップコンピュータ等のポータブルデータ処理システム上で実行される。図2のデータ処理システム200は、ラップトップコンピュータを実行するのに使用できるデータ処理システムの一実施例である。
ソフトウェアメンテナンスツール5300は、航空機用ソフトウェアパーツを配信し、例えば航空機上の列線交換ユニットからデータ又はファイルをダウンロードする等、情報をダウンロードするために、一つの場所から別の場所に運ぶことができる。異なる有利な実施形態では、ソフトウェアメンテナンスツール5300は機内電子配信システム5306との直接接続を確立する。これらの実施例では、直接接続は有線接続又は無線接続であってよい。この種の接続は、データ処理システム又は航空機上のシステムをソフトウェアメンテナンスツール5300が位置するデータ処理システムへ接続するネットワークを利用せずに行われる。
ここで図54を見てみると、ソフトウェアメンテナンスツールのブロック図が有利な一実施形態にしたがって図示されている。この実施例では、ソフトウェアメンテナンスツール5400はライブラリーサービス5402、データベース5404、ファイルシステム5406、マネージャ5408、地上コンポーネントインターフェース5410、及び地上コンポーネント5412を含む。
ライブラリーサービス5402は、航空機用ソフトウェアパーツ管理装置内の他のコンポーネントと通信するためのインターフェースを提供する。ライブラリーサービス5402はソフトウェアメンテナンスツール5400に、例えばライブラリー及びプロキシ・サーバー・アプリケーション等のコンポーネントと通信するためのインターフェースを提供する。データベース5404は、例えばファイルシステム5406内の航空機用ソフトウェアパーツ又はパーツのコマンドについてのメタデータ等の情報を含む。
さらに、データベース5404はダウンリンク情報についての情報を含むことができる。この情報はデータベース5404内の表及び記録の形態で保存される。さらに、データベース5404はプロキシ・サーバー・アプリケーションから受信した、航空機の航空機データ処理システム上の機内電子配信システムによって実行されるコマンドを保存することができる。
ファイルシステム5406は、例えばコマンド、航空機用ソフトウェアパーツ、及びダウンリンクファイル等のファイルを保存する。異なるファイルは、特定の実行形態によっては、ファイルシステム5406のクレート内に保存することができる。マネージャ5408は、ソフトウェアメンテナンスツール5400の操作を管理するプロセスを含む。これらの実施例では、マネージャ5408は、ユーザーにユーザーインターフェース表示を提示するプロセスを組み込むことができる。これらの表示により、ユーザーに操作を開始して、情報を見るためのインターフェースを提供することが可能になる。
地上コンポーネントインターフェース5410により、地上コンポーネント5412へのインターフェースが得られる。地上コンポーネントインターフェース5410は、これらの実施例では、アプリケーション・プログラミング・インターフェース・コールを使用して実行可能である。地上コンポーネント5412は航空機と通信する。これらの実施例では、地上コンポーネント5412は、航空機の航空機データ処理システム上に位置する機内電子配信システムと通信可能である。地上コンポーネント5412へのインターフェースを有することで、ソフトウェアメンテナンスツール5400内の他のコンポーネントに影響を与えずに、特定の航空機又は航空機のタイプに対して地上コンポーネント5412を変更又は修正することができる。
ここで図55を見てみると、コマンド及びコマンドリソース表の図が有利な一実施形態にしたがって図示されている。この実施例では、コマンド表5500はコマンドを示し、一方でコマンドリソース表5502はコマンドリソースを示す。これらの表は、図54のソフトウェアメンテナンスツール5400のデータベース5404に含むことができる表の実施例である。
コマンド表5500は、コマンド識別子5504、航空機識別子5506、システム名5508、アプリケーション名5510、コマンドタイプ5512、優先順位5514、デバイス名5516、デバイスタイプ5518、日付5520、サービスステータス5522、実行ステータス5524、完了割合5526、実行完了日5528、及びコマンドリソースリスト5530を含む。コマンドリソース表5502は、コマンド識別子5532、コマンドリソース識別子5534、データタイプ5536、クレート名5538、クレートパス5540、クレートファイルサイズ5542、生産ステータス5544、アプリケーションスタンダード5546、所有者5548、サプライヤ5550、クレート期限日5552及び公開日5554を含む。
コマンド表5500及びコマンドリソース表5502に図示される異なるフィールドとは、ソフトウェアメンテナンスツールデータベース内の表に含まれる可能性があるフィールドを示す。コマンド表5500では、コマンド識別子5504によって特定の記録が一意的に特定される。コマンド識別子5504は、特定のコマンド記録を指し示すために様々な表に含まれることができる。
航空機識別子5506は、特定の航空機を特定する。これらの実施例では、識別子は特定の航空会社の全航空機のうちで一つの航空機を一意的に特定することができる。システム名5508は航空機用ソフトウェアパーツが位置する列線交換ユニットの名前を特定する。システム名5508は、列線交換ユニットを特定するルーティング情報を含む。日付5520は、ライブラリーでコマンドが作成された日付と時間を特定する。サービスステータス5522は、機内電子配信システムへ良好に送られたコマンドを特定し、ライブラリーへ伝達されたコマンドを、機内電子配信システムへ良好にアップリンクされた又は機内電子配信システム上で良好に実行されたとして特定する。
実行ステータス5524によって、コマンドが航空機で実行されたかどうかの通知が得られる。具体的には、このコマンドによって航空機の機内電子配信システムがコマンドを実行したかどうかの情報が得られる。完了割合5526は、これらの実施例の機内電子配信システムによってクレート内の航空機用ソフトウェアパーツのアップリンクのプログレスを表す。実行完了日5528は、コマンドの実行がいつ完了したかを特定する。コマンドリソースリスト5530は、例えば図55のコマンドリソース表5502等のクレートについての情報を含むデータ構造を特定する。
コマンドリソース表5502では、コマンド識別子5532はコマンド表5500のコマンド識別子5504と同じであり、特定のコマンド記録の特定が可能になる。コマンドリソース識別子5534は、データベースにおける特定のコマンドリソース記録を特定するのに使用される。データタイプ5536は、リソースのデータタイプを特定する。例えば、リソースは航空機用ソフトウェアパーツ又はファイルであってよい。これらの実施例では、各コマンドによって、異なる種類の情報を特定のコマンドに関連付けすることが可能になる。
クレート名5538は、航空機用ソフトウェアパーツが位置するクレートの名前を特定する。クレートパス5544は、航空機用ソフトウェアパーツを含むクレートの位置を特定する。クレートファイルサイズ5542は、クレートのサイズを特定する。生産ステータス5544は、クレート内に保存された特定の航空機用ソフトウェアパーツの生産ステータスを示す。これらの値は例えば、レッドラベル、ブルーラベル、又はブラックラベルであってよい。
アプリケーションスタンダード5546は、これらの実施例では航空機用ソフトウェアパーツのアプリケーションスタンダードを特定する。所有者5548は、クレート内に保存された航空機用ソフトウェアパーツの知的財産全ての所有者を特定する。公開日5554は航空機用ソフトウェアパーツの公開日を特定する。
ここで図56を参照すると、部分ダウンリンクデータの図が有利な一実施形態にしたがって図示されている。この実施例では、部分ダウンリンク表5600は、例えば図54のデータベース5406等のソフトウェアメンテナンスツール内のデータベースに含まれることができる表の一実施例である。図示したように、部分ダウンリンク表5600は、メッセージ識別子5602、航空機識別子5604、ダウンリンクファイル5606、及び部分ファイルXML5608を含む。
メッセージ識別子5602は機内電子配信システムへ送られたダウンリンクコマンドに関連する部分ダウンリンクのコマンド識別子である。この識別子はダウンリンクファイル用に航空機の機内電子配信システムによって生成され、プロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツールを介してライブラリーによって機内電子配信システムへ送られたダウンリンクコマンドの結果ではない。航空機識別子5604は、一連の航空機のうちの特定の航空機を特定する。
ダウンリンクファイル5606は、部分的にダウンリンクされたファイルへのディレクトリのフルパスを指定する。事前にファイルのダウンリンクがすでに試みられた後で、機内電子配信システムがダウンリンクファイルを要求すると、ソフトウェアメンテナンスツールは部分的にダウンリンクされたファイルへパスを戻す。
部分ファイルXML5608は、部分的にダウンリンクされたファイルについての情報を含む。この情報は、機内電子配信システムによって、ダウンリンクが以前中断されたところからダウンリンクされたファイルのダウンリンクを再開するために、使用されることができる。このように、ファイルのダウンリンクを、ダウンリンクが中断されたところから始めることにより、ファイル全体の再送を避けることができる。
次に図57を見ると、ダウンリンク表の図が有利な一実施形態にしたがって図示されている。ダウンリンク表5700は、図54のデータベース5406等のソフトウェアメンテナンスツールのデータベースの表の一実施例である。ダウンリンク表5700は、これらの実施例では機内電子配信システムによって送られたダウンリンクされた各ファイルについての情報を格納する。ダウンリンク表5700は、ファイル名5702、ファイルパス5704、航空機識別子5706、システム名5708、データタイプ5710、ファイルサイズ5712、ダウンリンクステータス5714、受信したダウンリンク5716、ライブラリー5718、及びライブラリーへ送られたダウンリンク5720を含む。
ファイル名5702は、ダウンリンク情報を含むファイルの名前を特定する。ファイルパス5704はこれらの実施例では、ダウンリンク情報を含むファイルの位置を特定する。航空機識別子5706は、ダウンリンクファイルを受信した航空機を特定する。この識別子は例えば特定の航空会社の航空機等の一連の航空機の一意識別子である。この識別子は追番であってよい。システム名5708は、航空機用ソフトウェアパーツが位置する列線交換ユニットの名前を特定する。データタイプ5710はデータのタイプを特定する。ダウンリンク情報の場合は、データはファイルとして特定される。アプリケーション名5711は、航空機用ソフトウェアパーツの受信に関与する航空機データ処理システム上のアプリケーションを特定する。
ファイルサイズ5712は、ダウンリンクデータを含むファイルのサイズを特定する。ダウンリンクステータス5714は、ダウンリンク作業のステータスを示す。これらの実施例では、ダウンリンクステータス5714は良好なダウンリンクを示している。ある実施形態では、部分的なダウンリンクをダウンリンクステータス5714によって特定することが可能である。ライブラリー5718は、ファイルがソフトウェアメンテナンスツールへダウンリンクされた時間を示す。ライブラリー5720に送られたダウンリンクは、ダウンリンクされたファイルがライブラリー又はプロキシ・サーバー・アプリケーションへ送られた時間を示す。この情報は、ソフトウェアメンテナンスツールからいつダウンリンクされたファイルを削除するかを決定するのに使用される。ダウンリンクされたファイルは、ダウンリンクファイルが送られたライブラリー又はプロキシ・サーバー・アプリケーションにおいてダウンリンクされたファイルが確実にバックアップされるように、ダウンリンクファイルが送られた時間が設定可能な長さの時間を過ぎた後に、削除することができる。
ここで図58を見ると、ソフトウェアメンテナンスツールのファイルシステムのディレクトリ構造の図が、有利な一実施形態にしたがって図示されている。この実施例では、ディレクトリ構造5800は例えば図54のファイルシステム5406等のファイルシステムで使用可能なファイルシステムディレクトリ構造を表す。ディレクトリ構造5800は、ソフトウェアメンテナンスツールのファイルシステム内で機能する異なる種類のファイルを特定する。これらの実施例では、ディレクトリ構造3900はパーツ5802、ダウンリンク5804、ダウンリンク解凍ディレクトリ5806、ルート5808、アプリケーション5810、ログ5812、及びコンフィグ5814を含む。
パーツ5802は、ライブラリーから直接又はプロキシ・サーバー・アプリケーションを介してライブラリーから受信したクレートを格納するディレクトリを特定する。これらの実施例では、クレートはコマンド及び/又は航空機用ソフトウェアパーツを含むことができる。さらに、クレートはソフトウェアメンテナンスツールが位置するラップトップに取り付けられたフラッシュメモリ又はハードドライブ等の媒体からロードすることもできる。このディレクトリのクレートは航空機の機内電子配信システムへ送信することができる。
ダウンリンク5804は、機内電子配信システムから受信したダウンリンクファイル及び部分ダウンリンクファイルを格納するのに使用されるディレクトリである。これらの実施例では、ファイルの送信元である航空機の追番によってダウンリンクファイルを整理することができる。ダウンリンク5804はこれらの実施例では、航空機の追番の名前のサブディレクトリを含むことができる。ダウンリンクファイルはこれらの実施例ではクレートに格納された形で保存される。ライブラリーへすでに送られたダウンリンクファイルは、ダウンリンク5804から自動的に削除されない。その代わりに、これらのファイルはライブラリー又はプロキシ・サーバー・アプリケーションへ送られたときからある選択された長さの時間が過ぎた後に削除することができる。
ダウンリンク解凍ディレクトリ5806は、ソフトウェアメンテナンスツールによってクレートのコンテンツを解凍するのに使用されるディレクトリを特定する。これらのクレートはダウンリンクファイルについての情報を展開するために解凍される。クレートから引き出された形のファイルは、ファイルの名前を使用してダウンリンク解凍ディレクトリ5806内のディレクトリに保存することができる。
ルート5808は、SMT−route info.xmlファイルを含むディレクトリを特定する。このファイルはシステム、アプリケーション、及び各アプリケーションによって分類されたコマンドのリストを含む。これらのファイルのコンテンツは、アップリンクコマンドが適切な航空機システムへ確実に送られるように、ソフトウェアメンテナンスツールによって、そしてライブラリーによって間接的に使用される。
アプリケーション5810は、ソフトウェアメンテナンスツールの異なるプロセスがインストールされたディレクトリを特定する。さらに、ソフトウェアメンテナンスツールに関するログもこのディレクトリに保存可能である。これらのログは例えば、ソフトウェアメンテナンスツールの作業の間に記録可能なイベントを含む。
ログ5812は、アプリケーション5810内のサブディレクトリであり、これらの実施例では、最後にライブラリー及び/又はプロキシ・サーバー・アプリケーションへ送られたevent logger.xmlファイルを含む。コンフィグ5814はアプリケーション5808内のサブディレクトリであり、ソフトウェアメンテナンスツール内の種々のコンポーネントの動作の定義について、ソフトウェアメンテナンスツールの作業又は動作を定義するプロパティファイルを含む。
ここで図59を見ると、ソフトウェアメンテナンスツールにおいて実行されるインターフェースコンポーネントを示す図が有利な一実施形態にしたがって図示されている。この実施例では、ユーザーインターフェースコンポーネント5900は、図54のソフトウェアメンテナンスツール5400内のマネージャ5408において実行可能なユーザーインターフェースコンポーネントの実施例である。ユーザーインターフェースコンポーネント5900は、接続表示5902、アップリンクコマンドキュー表示5904、アップリンク・ローカル・インベントリ表示5906、ダウンリンク済みファイル表示5908、イベントコンソール表示5910、及びライブラリーからの読み出し表示5912を含む。
接続表示5902は、機能タブを表示するための領域を提供するユーザーインターフェースコンポーネントである。これらの実施例では、ユーザーインターフェースは、デバイス識別情報だけでなく、ユーザーが例えば機内電子配信システム、ライブラリー、プロキシ・サーバー・アプリケーション又は他のデバイス等の種々のコンポーネントの中から選ぶことが可能になるドロップダウン・ボックスを提供する。さらに、このインターフェースコンポーネントは、ドロップダウン・ボックスから選択された特定のデバイスへのソフトウェアメンテナンスツールの接続の制御も行うことができる。
アップリンクコマンドキュー表示5904は、コマンド及びパーツのアップリンクのプログレスを見るインターフェースを提供する。この表示はまた、コマンド及び航空機用ソフトウェアパーツの削除も制御する。アップリンク・ローカル・インベントリ表示5906は、ソフトウェアメンテナンスツールのオペレータが媒体から航空機用ソフトウェアパーツをロードする又はインポートすることを可能にするユーザーインターフェースを提供する。この表示により、ユーザーが地上ネットワークに接続することなくアップリンクコマンドを作成することが可能になる。ユーザーは、特定の航空機上の特定の列線交換ユニットにアップリンクするための航空機用ソフトウェアパーツを選択することができる。この媒体は例えば、フラッシュメモリ、ポータブルハードドライブ、コンパクトディスク、又はデジタル多用途ディスク等の携帯可能な媒体であってよい。ダウンリンク済みファイル表示5908は、機内電子配信システムから受信したダウンリンクファイルを見るためのユーザーインターフェースを提供する。ユーザーはまたこの表示を使用して、ダウンリンクファイルを削除するだけでなく、ダウンリンク制御コマンドを送信することができる。
イベントコンソール表示5910により、ユーザーがソフトウェアメンテナンスツールの種々のプロセスの実行中に行われる異なるイベントを見ることが可能になる。例えば、イベントコンソール表示5910は、航空機用ソフトウェアパーツの機内電子配信システムへの送信において行われる異なる動作を表示することができる。これらのイベントは例えば、航空機への接続、ファイルの送信、及びファイルの良好なロードの識別を含むことができる。
ライブラリーからの読み出し表示5912は、ライブラリー又はプロキシ・サーバー・アプリケーションからコマンド及び航空機用ソフトウェアパーツを受信するプロセスを開始するのに使用できるユーザーインターフェースである。図55のコマンド表5500は、コマンド表5500に含まれることができるフィールドを特定する。この表示はまた、良好にアップリンクされたコマンド、ダウンリンクファイル、及びイベントログを返信する。
次に図60〜65を参照すると、図59のユーザーインターフェースコンポーネント5900のユーザーインターフェースの実行例が図示されている。まず図60を参照すると、ウィンドウ6000は図59のユーザーインターフェースコンポーネント5900に表示可能であるメイン画面又はインターフェースを示す。具体的には、ウィンドウ6000は図59の接続表示5902の一実施例である。ウィンドウ6000はタブ6002、6004、6006、6008、及び6010を含む。これらのタブを選択して、ソフトウェアメンテナンスツール内の様々な機能及びプロセスの制御及び情報を表示することができる。
表示区域6012は、ソフトウェアメンテナンスツールについての情報を表示する。この実施例では、表示区域6012はソフトウェアメンテナンスツールが追番によって特定された航空機に接続されたことを示す。リスト6014は、ソフトウェアメンテナンスツールが接続を確立することができる他のコンポーネントのリストを提供する。コントロール6016により、ユーザーが別のコンポーネントとの接続を開始することが可能になる。これらの実施例では、ユーザーが一連のプロキシ・サーバーから例えば機内電子配信システム、ライブラリー、又はプロキシ・サーバー・アプリケーション等の種々のコンポーネントを選択することができる。
ここで図61を参照すると、タブ6002を選択することにより、ウィンドウ6000のアップリンクコマンドキュー表示が開始される。この実施例では、このアップリンクコマンドキュー表示は、図59のアップリンクコマンドキュー表示5904によって表示されるユーザーインターフェースの一実施例である。この実施例では、表示区域6100は階層キューにある特定の航空機向けのコマンドを表示する。ユーザーは、これらのコマンドを選択してコマンド削除6102を押すことによって表示区域6100から一連のコマンドを削除することができる。コマンドについてのステータス情報は表示区域6103に表示される。
表示可能な情報は、例えばアイテム6104、期限6106、優先順位6108、送り先のシステム6110、ファイルタイプ6112、標準名称6114、ファイルサイズ6116、アップリンクステータス6118、及びアップリンクステータス・プログレス6120を含む。アイテム6104により、例えば航空機用ソフトウェアパーツの名前等の特定のアイテムが特定される。期限6106は、特定のコマンドの有効期限である。優先順位6108は、航空機の送り先のシステムにコマンドがアップリンクされる順番を特定する。送り先のシステム6110は、パーツが送られるべき航空機上のアプリケーションにおける特定の列線交換ユニットを特定する。タイプ6112は、例えばファイル又は航空機用ソフトウェアパーツ等のクレートに含まれるアイテムのタイプを特定する。
標準名称6114は、パーツの短縮識別又は説明を提供する。ファイルサイズ6116は、特定のアイテムを含むクレートのサイズを特定する。アップリンクステータス6118は、コマンドのプロセス、成功又は不成功に関するステータスを提供する。アップリンクステータス・プログレス6120は、特定のコマンドの完了割合を示す図形的なプログレス・バーを提供する。
ここで図62を参照すると、アップリンク・ローカル・インベントリ表示のユーザーインターフェースを示す図が、有利な一実施形態にしたがって図示されている。この実施例では、タブ6004が選択されており、図59のアップリンク・ローカル・インベントリ表示5906のユーザーインターフェースが表示されている。この特定の表示によって、ユーザーがローカルソースからクレート又は航空機用ソフトウェアパーツをロードすることが可能になる。この種の機能性により、ライブラリー又はプロキシ・サーバー・アプリケーションへのアクセスが利用できない又は中断される可能性のあるイベントにおいて、ユーザーが別のソースから航空機用ソフトウェアパーツをロードすることが可能になる。さらに、ライブラリー又はプロキシ・サーバー・アプリケーション又は航空機用ソフトウェアパーツのアップデートされたバージョンに含まれていない可能性のある新規のパーツをこの方法でロードすることも可能である。航空機用ソフトウェアパーツ又は他のアイテムのローカルインベントリは、例えばハードドライブ、フラッシュメモリ、コンパクトディスク、又はデジタル多用途ディスク等の記憶装置に含まれることが可能である。
表示区域6200は、ソフトウェアメンテナンスツールにロード可能なローカルインベントリの識別表示である。これらのアイテムは航空機用ソフトウェアパーツ及びコマンドを含むことができる。表示区域6200のアイテムを選択し、媒体からローカルインベントリをロードするボタン6202を押すことによって、特定のアイテムをロードすることができる。特定の記憶装置に含まれる現在のインベントリを、リフレッシュ・インベントリ6204を押すことによってリフレッシュすることができる。
表示区域6200の選択されたアイテムについての詳細を、表示区域6206に表示することができる。これらの実施例では、情報は例えば、インベントリ・アイテム6208、有効期限6210、航空機識別子6212、航空機の目的地6214、タイプ6216、標準名称6218、ファイルサイズ6220、アップリンクステータス6222、及びアップリンクステータス・プログレス6224を含むことができる。この情報は、図61のウィンドウ6000に表示されるように、ライブラリー又はプロキシ・サーバー・アプリケーションから受信した航空機用ソフトウェアパーツについて表示された情報と同様のものである。
ここで図63を参照すると、ダウンリンク済みファイル表示のユーザーインターフェースの図が、有利な一実施形態にしたがって図示されている。この実施例では、ウィンドウ6000は例えば図59のダウンリンク済みファイル表示5908等のユーザーインターフェースコンポーネントのユーザーインターフェースを表示する。この表示は、タブ6006の選択に対する応答として表示される。このユーザーインターフェースでは、異なる航空機からダウンリンクされたデータについての情報が表示区域6300に表示されている。
ユーザーは、ダウンリンク保留ボタン6302を選択することによって、航空機の機内電子配信システムからのダウンリンクを保留又は停止することができる。このボタンが選択されると、ソフトウェアメンテナンスツールは、接続している航空機からのいかなる追加のダウンリンク又は情報も受信しない。ダウンリンクは、表示されている再開ボタンを押すことによって再開することができる。
さらに、ダウンリンクリダイレクトボタン6304を選択することによって、ユーザーがプロキシ・サーバー・アプリケーションへ送信するダウンリンクをソフトウェアメンテナンスツールへリダイレクトすることが可能である。このボタンを選ぶことにより、機内電子配信システムが、プロキシ・サーバー・アプリケーションへ送られるべき全てのダウンリンク情報の経路を切り替えて、ソフトウェアメンテナンスツールへ送られるようにする。ソフトウェアメンテナンスツールの機内電子配信システムとの接続が解除された場合は、ダウンリンクは元の送り先に自動的に送られる。
表示区域6306は、表示区域6300に表示されたダウンリンクデータの追加情報を表示する。さらに、ユーザーは表示区域6306のダウンリンクファイルを見る又は削除することが可能である。特定のダウンリンクファイルを選択し、削除コマンドを起動することによって、削除することができる。
表示区域6306に表示されるダウンリンクされたファイルについての情報は例えば、ファイル名6308、航空機識別子6310、システム6312、アプリケーション6314、データタイプ6316、説明6318、ファイルサイズ6320、ダウンリンクステータス6322、及びダウンリンクする日付及び時間6324を含む。ファイル名6308は、航空機からダウンリンクされた又は受信したファイルの名前を特定する。航空機識別子6310は、データが送られてくる航空機を特定する。システム6312は、データが送られてくる列線交換ユニットを特定する。アプリケーション6314は、データに関連する列線交換ユニット上の航空機用ソフトウェアパーツを特定する。
データタイプ6316は、アプリケーションによって生成されたデータのタイプを特定する。ソフトウェアメンテナンスツールは、これらの実施例では、一つのデータタイプを有するダウンリンクされたファイルを受信して、要求されていないダウンリンクを表示する。説明6318は、この実施例では、ダウンリンクされたファイルの名前を特定する。ファイルサイズ6320は、ダウンリンクされたファイルのサイズを特定する。ダウンリンクステータス6322は、データがソフトウェアメンテナンスツールに良好にダウンリンクされたかどうかを特定する。ダウンリンクの日付及び時間6324は、ダウンリンクがいつ完了したかを特定する。この完了は、特定の状況によっては、良好な完了、失敗、又は部分的ダウンリンクであってよい。
ここで図64を見ると、イベントコンソールのユーザーインターフェースを示す図が、有利な一実施形態にしたがって図示されている。この図では、ウィンドウ6000に図59のイベントコンソール5910等のユーザーインターフェースコンポーネントのユーザーインターフェースが表示されている。図示した実施例では、この特定表示は、タブ6008の選択に対する応答としてウィンドウ6000に表示されている。表示区域6400は、特定のソフトウェアメンテナンスツールのセッションによって発生する動作を表示する。これらの実施例では、ソフトウェアメンテナンスツールのセッションとは、ソフトウェアメンテナンスツールが動作している期間のことである。表示区域6400に示すイベントはリアルタイムで表示可能である。
これらの実施例では、イベントコンソール保存ボタン6402を選択することによって、これらのイベントを保存することが可能である。イベントは、イベントコンソール消去ボタン6404を選択することによって、表示区域6400における表示を消すことができる。さらに、ソフトウェアメンテナンスツールは、ユーザーが介入することなく、自動的にイベントを保存することができる。これらの実施例では、表示区域6400に表示された入力はそれぞれ、デート及びタイムスタンプ、特定の操作を行っているユーザーのユーザー識別子、及び行われた操作を識別するメッセージを含む。
ここで図65を見てみると、ライブラリーからの読み出しのためのユーザーインターフェースを示す図が、有利な一実施形態にしたがって図示されている。この実施例では、ウィンドウ6000は図59のライブラリー表示5912から読み出すためのユーザーインターフェースを表示する。このユーザーインターフェースは、タブ6010の選択に対する応答として表示される。このユーザーインターフェースを使用してライブラリー又はプロキシ・サーバー・アプリケーションからコマンドを読み出すだけでなく、様々な航空機用ソフトウェアパーツを閲覧又は見ることができる。またこのときに、ロスを使用して機内電子配信システムに航空機用ソフトウェアパーツをアップリンクするためのコマンドを作成することができる。
ライブラリーで利用可能なパーツは表示区域6500に表示されている。ソフトウェアメンテナンスツール用に指定された特定の航空機用ソフトウェアパーツは、ライブラリートランザクション実施ボタン6502を押すことによって読み出すことができる。ユーザーはまた、このインターフェースを使用して機内電子配信システムへ航空機用ソフトウェアパーツをアップリンクするコマンドを作成することもできる。また、ユーザーが表示区域6500から航空機用ソフトウェアパーツを選択して、リスト6504及びリスト6506を使用して特定の航空機及び列線交換ユニットを指定することも可能である。リスト6504によって航空機の特定が可能である。リスト6506は、航空機用ソフトウェアパーツに対する航空機上の特定の列線交換ユニットを特定する。
これらの特定が行われた後に、ライブラリーから選択されたインベントリを読み出すボタン6508を押すことによって、ライブラリーから航空機用ソフトウェアパーツを読み出すことができる。このボタンの選択によって、航空機用ソフトウェアパーツが読み出され、航空機へ航空機用ソフトウェアパーツをアップリンクさせるためのコマンドが作成される。
ここで図66を見てみると、コマンドと航空機用ソフトウェアパーツを航空機へ送信しているソフトウェアメンテナンスツールからのデータフローを示す図が、有利な一実施形態にしたがって図示されている。この実施例では、ソフトウェアメンテナンスツール6600がライブラリー6602又はプロキシ・サーバー・アプリケーション6604からのコマンド及び航空機用ソフトウェアパーツを航空機の機内電子配信システム(OBEDS)6606へ送信しているときのデータ送信フローが図示されている。ソフトウェアメンテナンスツール6600によって行われる異なるステップ及びこれらのステップの結果はそれぞれ、ライブラリー6602又はプロキシ・サーバー・アプリケーション6604へダウンロードするためのイベントとして記録可能である。
この実施例では、ユーザーが、例えば図59のライブラリー表示5912からの読み出し等の、ユーザーインターフェースコンポーネントからのユーザーインターフェースを使用してライブラリー6602又はプロキシ・サーバー・アプリケーション6604とのトランザクションプロセスを開始することによって、プロセスが開始される。ライブラリーサービス6608は、機内電子配信システム6606に良好にアップリンクされたアップリンクコマンドのリストを読み出す。ライブラリーサービス6608は次に、ライブラリー6602又はプロキシ・サーバー・アプリケーション6604のいずれかにコールして、機内電子配信システム6606に良好にアップリンクされたコマンドのコマンド識別子のリストを送信する。ライブラリーサービス6608は、コマンド表6610から良好にアップリンクされたアップリンクコマンドのリストを読み出す。コマンド表6610は、データベース6612に含まれる表の一実施例である。図55のコマンド表5500は、コマンド表6610に含まれることができるフィールドを特定する。
ライブラリー6602又はプロキシ・サーバー・アプリケーション6604に送られた全てのコマンド識別子に対して、対応するコマンドがデータベース6612のコマンド表6610から削除される。さらに、ライブラリーサービス6608はまた、ファイルシステム6614からダウンリンクファイル及びイベントログを送信することができる。
その後、ライブラリーサービス6608はライブラリー6602又はプロキシ・サーバー・アプリケーション6604へコールして、コマンドのリストを受信することができる。これらのコマンドは、異なる航空機へ配信するためのキューに保存されているべきコマンドと比較される。コマンドが、ライブラリー6602又はプロキシ・サーバー・アプリケーション6604から受信したコマンドリストにはないコマンド表6610にある場合には、これらのコマンドがこの表から削除される。しかしながら、ソフトウェアメンテナンスツール6600のオペレータによって生成されたコマンドは保持される。コマンドの削除は、これらの実施例では、ライブラリー6602又はプロキシ・サーバー・アプリケーション6604から事前に送られたコマンドに対して行われる。
受信した新規コマンドそれぞれに対して、ライブラリーサービス6608は、ファイルシステム6614内に航空機用ソフトウェアパーツのクレートがすでにあるかどうかを判定する。そのコマンドに対する航空機用ソフトウェアパーツのクレートがない場合、ライブラリーサービス6608はライブラリー6602又はプロキシ・サーバー・アプリケーション6604から航空機用ソフトウェアパーツを含むクレートを読み出す。読み出されたクレートは全てファイルシステム6614に保存される。クレートが良好に読み出された場合、又はクレートがすでにある場合には、新規コマンドはデータベース6612のコマンド表6610に配置される。クレートが良好に読み出された場合、又はクレートがすでにある場合は、新規コマンドはアップリンクコマンドキューマネージャ6617のキューに加えられる。アップリンクコマンドキュー表示6618は、アップリンクコマンドキューマネージャ6617によって管理されるコマンド情報を示すことができる。
その後、アップリンク・ローカル・インベントリ表示6616は、アップデート又はリフレッシュされる。この実施例では、アップリンク・ローカル・インベントリ表示6616は、図62のウィンドウ6000に表示されているようなアップリンク・ローカル・インベントリ表示5906等のユーザーインターフェースコンポーネントである。この表示により、オペレータがソフトウェアメンテナンスツール内に保存された異なる航空機用ソフトウェアパーツを見ることが可能になる。どの航空機用ソフトウェアパーツがファイルシステム6614内にあるかを知ることによって、オペレータはソフトウェアメンテナンスツールを使用してこれらの航空機用ソフトウェアパーツをアップリンクする新規コマンドを作成することができる。その後、アップデートコマンドキュー表示6618がアップデートされる。この表示は例えば、図61のウィンドウ6000に表示されているアップリンクコマンドキュー表示5904であってよい。
その後、オペレータはソフトウェアメンテナンスツール6600をライブラリー6602又はプロキシ・サーバー・アプリケーション6604から接続解除することができる。次にソフトウェアメンテナンスツール6600を航空機へ送って、機内電子配信システム6606に接続することができる。この接続が確立されると、アップリンクコマンドキュー表示6618は、地上接続(OGC)インターフェース6520を介して機内電子配信システム6506へ良好にアップリンクされなかった特定の航空機に対する全てのコマンドを自動的にアップリンクする。
地上接続インターフェース6620により、地上コンポーネント(OGC)6622に対するコマンドが作成され、このコマンドは地上コンポーネント6622用コマンドリストに加えられて1つずつ読み出される。これらのコマンドはアップリンクコマンドキューマネージャ6617で特定される。
地上コンポーネント6622が地上コンポーネントインターフェース6620を呼び出すと、地上コンポーネントインターフェース6620は航空機がすでにデータをアップリンクしているかどうかを判定する。航空機がすでにデータをアップリンクしている場合、地上コンポーネント6622へヌル値が返信されて、コマンドはコマンドリスト内で変更されない。これらの実施例では、地上コンポーネント6622は機内電子配信システム6606と通信して、これらの実施例で航空機がデータをアップリンクしているかどうかを判定する。
航空機がまだアップリンクしていない場合、コマンドキューの1番古いアップリンクコマンドが地上コンポーネント6622へ送られる。今度は地上コンポーネント6622が機内電子配信システム6606と通信して、コマンドで特定されたクレートのアップリンクを開始する。地上コンポーネント6622は、航空機用ソフトウェアパーツのアップリンク中にステータス情報を得ることができる。さらに、地上コンポーネントインターフェース6620はアップリンクコマンドキュー表示6618をアップデートして、図61のアップリンクステータス・プログレス6120に示されているようなプログレス・バーを示すことができる。
コマンドが良好に実行されたら、アップリンクコマンドキュー表示6618はコマンド表6610の情報をアップデートする。さらに、アップリンクコマンドキュー表示6618は、コマンド表6610のコマンドフィールドの実行ステータスもアップデートする。
ここで図67を見ると、ソフトウェアメンテナンスツールによるダウンリンクされたファイルの処理のデータフローを示す図が、有利な一実施形態にしたがって図示されている。この実施例では、ソフトウェアメンテナンスツール6700は、機内電子配信システム(OBEDS)6704に接続されたラップトップコンピュータ上で実行されるアプリケーション6702によって開始されるダウンリンクされたファイルを受信することができる。さらに、ソフトウェアメンテナンスツール6700は、列線交換ユニット(LRU)6706からの任意型ダウンリンクファイルを受信することもできる。ソフトウェアメンテナンスツール6700と、機内電子配信システム6704との接続が確立されると、地上コンポーネント6708は機内電子配信システム6704との通信を可能にするコンポーネントとなる。
地上コンポーネント(OGC)6708は地上コンポーネントインターフェース(OGC)6710を介してソフトウェアメンテナンスツール6700の他のコンポーネントと通信する。この実施例では、ダウンリンクファイルはダウンリンクされてファイルシステム6712に保存される。ダウンリンクファイルがファイルシステム6712に転送されると、地上コンポーネントインターフェース6710はデータベース6716内のダウンリンク表6714に新しい記録を挿入する。
ファイルシステム6712内に保存された異なるダウンリンクファイルは、ダウンリンク済ファイル表示6718を使用して見ることができる。この表示は、図59のダウンリンク済ファイル表示5908等のユーザーインターフェースコンポーネントの一実施例である。この表示を使用して、どのダウンリンクファイルが受信されたかを特定すると同時に、ダウンリンクファイルを操作することができる。図57のダウンリンク表5700は、ダウンリンク表6714で参照可能なフィールドの実施例を示す。
その後に、ソフトウェアメンテナンスツール6700を移動して、ライブラリー6720又はプロキシ・サーバー・アプリケーション6722との接続を確立することができる。この接続が確立されると、ライブラリーサービス6724は、ライブラリー6720又はプロキシ・サーバー・アプリケーション6722にまだ送られていないダウンリンクファイルを特定する。これらのファイルの識別は、ダウンリンク表6714で参照可能である。
これらの実施例では、部分ダウンリンクファイルはライブラリー6720又はプロキシ・サーバー・アプリケーション6722へ送られない。ダウンリンク表6714で特定される各ダウンリンクファイルに対しては、ライブラリーサービス6724により、これらのファイルがまだファイルシステム6712に保存されていることが確認される。ライブラリーサービス6724は次に、見つかったダウンリンク済ファイルを全てライブラリー6720又はプロキシ・サーバー・アプリケーション6722へ送信する。プロキシ・サーバー・アプリケーション6622へ送られた全てのファイルは、プロキシ・サーバー・アプリケーション6722によって最終的にライブラリー6720へ送られる。
ある場合には、ファイルは中断のために、一部のみがソフトウェアメンテナンスツールへダウンリンクされる可能性がある。異なる有利な実施形態により、部分的にダウンリンクされたファイルをソフトウェアメンテナンスツールによってファイルシステム6612内に保存する機構が提供される。これらの部分ダウンリンクファイルは保存され、ダウンリンクの追加の又は残りの部分を後で読み出して、これらの部分的にダウンリンクされたファイルに加えて、完全なダウンリンクファイルを形成することができる。このように、中断が起こった場合、データのダウンリンクは、ファイル全体を再びダウンリンクする必要なく、途切れたところから又始めることができる。
ここで図68を見ると、ソフトウェアメンテナンスツールによるデータフローとロギングインポートイベントを示す図が、有利な一実施形態によって図示されている。この実施例では、ソフトウェアメンテナンスツール6800はプロセスイベントロガー6804を使用して、イベントをファイルシステム6802に記録する。プロセスイベントロガー6804は図54のマネージャ5408に含まれる可能性のあるプロセスの一実施例である。
これらの実施例では、プロセスイベントロガー6804は異なるステップ全てと、データのアップリンク及びダウンリンクにおいてソフトウェアメンテナンスツール6800によって行われるこれらのステップの結果を記録することができる。この種の情報は、イベントコンソール表示6806に表示することができ、イベントコンソール表示6806は、図59の複数のユーザーインターフェースコンポーネント5900のうちのユーザーインターフェースコンポーネントの一実施例である。実例となるユーザーインターフェースは図64のウィンドウ6000である。ソフトウェアメンテナンスツール6800がライブラリー6808又はプロキシ・サーバー・アプリケーション6810にライブラリーサービス6812を介して接続されると、ファイルシステム6802に保存されたデータ及びログファイルを転送するユーザー入力が受信され、ライブラリー6808及びプロキシ・サーバー・アプリケーション6810へ送られる。イベントログが良好に送られた場合、イベントログファイルは記録保管のために名前が変更される。
ここで図69を見ると、ソフトウェアメンテナンスツールによるライブラリーからのパーツの読み出しにおけるデータフローを示す図が、有利な一実施形態にしたがって図示されている。この実施例では、ソフトウェアメンテナンスツール6900は、ライブラリーサービス6906を介してライブラリー6902又はプロキシ・サーバー・アプリケーション6904へ接続可能である。ユーザーは、ライブラリー表示6908から読み出して、ライブラリー6902及び/又はプロキシ・サーバー・アプリケーション6904に保存されたパーツを特定することができる。
ライブラリー表示6908からの読み出しは、図59のユーザーインターフェースコンポーネント5900内の図59のライブラリーからの読み出し表示5912の実施例である。図65のウィンドウ6000は、この特定の表示のユーザーインターフェースの一実施例である。パーツはライブラリーからの読み出し表示6908から表示し読み出しすることが可能である。ユーザーは一連のパーツを選択し、ライブラリー6902及び/又はプロキシ・サーバー・アプリケーション6904からこれらのパーツを読み出して、航空機用ソフトウェアパーツをファイルシステム6910に保存することができる。このパーツは次に一又は複数のアップリンクコマンドを作成するためにユーザーに表示される。
ここで図70を見ると、読み出し及びコマンドを作成中にソフトウェアメンテナンスツールにおけるデータフローを示す図が、有利な一実施形態にしたがって図示されている。この実施例では、ソフトウェアメンテナンスツール7000は、ライブラリーからの読み出し表示7002を使用して、パーツを読み出してコマンドを作成することができる。ライブラリーからの読み出し表示7002は、図65のウィンドウ6000に示されるような図59のライブラリーからの読み出し表示5912等のユーザーインターフェースコンポーネントの一実施例である。
ライブラリーサービス7004がライブラリー7006又はプロキシ・サーバー・アプリケーション7008に接続されると、ユーザーはライブラリーからの読み出し表示7002から読み出されたパーツリストを見ることができる。ユーザーは、この表示を介してパーツを選択し、これらのパーツのダウンリンクをライブラリーサービス7004によって開始することができる。ライブラリーサービス7004によって読み出されたパーツは、ファイルシステム7010に保存される。これらの実施例では、航空機用ソフトウェアパーツはクレートとして保存される。アップリンク・ローカル・インベントリ表示7012をリフレッシュすることが可能である。
ライブラリーからの読み出し表示7002によって、ユーザーはデータベース7018のコマンド表7014に保存されるコマンドを作成することができる。これらのコマンドは、機内電子配信システム(OBEDS)7036に対して地上コンポーネント(OGC)インターフェース7024を介して地上コンポーネント(OGC)7022によって実行するために、アップリンクコマンドキューマネージャ7020に加えることができる。アップリンクコマンドキューマネージャ7020は、図54のソフトウェアメンテナンスツール5400のマネージャ5408内のコンポーネントの一実施例である。このプロセスのステータスは、アップリンクコマンドキュー表示6928を介して見ることができる。
ここで図71を参照すると、代替ソースからの航空機用ソフトウェアパーツのアップロードを示す図が、有利な一実施形態にしたがって図示されている。この実施例では、ソフトウェアメンテナンスツール7100によって、アップリンク・ローカル・インベントリマネージャ7106を介して媒体7102から航空機用ソフトウェアパーツをファイルシステム7104にアップロードすることが可能である。この図は、図59のアップリンク・ローカル・インベントリ表示5906の一実施例である。この図は図62のウィンドウ6000等のグラフィカルユーザーインターフェースを使用している。
この媒体7102からのアップロード又はアップリンクプロセスの制御は、アップリンク・ローカル・インベントリ表示7108を使用して行うことができる。航空機用ソフトウェアパーツは、ライブラリー又はソフトウェア・プロキシ・サーバー・アプリケーション以外の他のソースからソフトウェアメンテナンスツール7100にアップロード可能である。この種の柔軟性を可能にすることによって、ソフトウェアメンテナンスツール7100により、ライブラリー又はプロキシ・サーバー・アプリケーションへの接続ができない場合に、時間がせっぱつまっているパーツ又は普通のソースからまだ入手できない新しいパーツを航空機にアップロードすることを可能にすることができる。
次に図72を見ると、航空機用ソフトウェアパーツを管理するプロセスの高レベルフローチャートが、有利な一実施形態にしたがって図示されている。図72に示すプロセスは、図54のソフトウェアメンテナンスツール5400等のソフトウェアメンテナンスツールにおいて実行可能である。
このプロセスは、ポータブルデータ処理システムとあるソースの地上ネットワークを介した接続を確立して、確立された接続を形成することによって開始される(作業7200)。その後このプロセスでは、確立した接続を介してソースから一連のアップリンクコマンドが読み出される(作業7202)。このソースは例えば、プロキシ・サーバー・アプリケーション、ライブラリー、又はローカル記憶装置であってもよい。
このプロセスでは次に、一連のアップリンクコマンドに対応する一連の航空機用パーツを、確立した接続を介してソースから読み出して、読み出された一連の航空機用ソフトウェアパーツを形成する(作業7204)。このプロセスでは、読み出された一連の航空機用ソフトウェアパーツがポータブルデータ処理システムに保存されて、保存された一連の航空機用ソフトウェアパーツを形成する(作業7206)。
このプロセスでは次に、保存された航空機用ソフトウェアパーツを有するポータブルデータ処理システムを地上ネットワークから接続解除する(作業7208)。これらの実施例では、ポータブルデータ処理システムはある位置に移動されて、ポータブルデータ処理システムの航空機上の航空機ネットワークとの接続が可能になる。次にこのプロセスでは、保存された航空機用ソフトウェアパーツを有するポータブルデータ処理システムを航空機の航空機ネットワークに接続する(作業7210)。
このプロセスでは次に、一連のアップリンクコマンドから1つのアップリンクコマンドを、ポータブルデータ処理システムの地上コンポーネントを介して航空機データ処理システムへ発信する。このプロセスでは、保存された一連の航空機用ソフトウェアパーツのうちから、アップリンクコマンドに対応する保存された航空機用パーツを、地上コンポーネントを介して航空機データ処理システムへ送信し(作業7114)、その後プロセスは終了する。
ここで図73を見ると、航空機用ソフトウェアパーツを管理するプロセスのさらに詳しいフローチャートが、有利な一実施形態にしたがって図示されている。図73に示すプロセスは、図54のソフトウェアメンテナンスツール5400等のソフトウェアメンテナンスツールにおいて実行可能である。この図のプロセスは、ライブラリー又はプロキシ・サーバー・アプリケーション等のソースにつながれた時にソフトウェアメンテナンスツールで行われる異なるステップを表している。
このプロセスは、トランザクションを行う要求を受信することによって開始される(作業7300)。この実施例では、トランザクションを行うプロセスは、図59のユーザーインターフェースコンポーネント5900内のユーザーインターフェースを介して、ユーザーによって開始することができる。具体的には、このプロセスは、図65に示すようなウィンドウ6000等のユーザーインターフェースで、ユーザーが図59のライブラリーからの読み出し表示5912にユーザー入力を入力することによって開始することができる。
このプロセスは次に、機内電子配信システムに送信されたアップリンクコマンドリストを読み出す(作業7302)。この実施例では、アップリンクコマンドリストは、アップリンクコマンドによって特定された航空機用ソフトウェアパーツが良好に機内電子配信システムに送信されたアップリンクコマンドのリストである。これらの異なるコマンドは、図55のコマンド表5500等のデータベースの表に保存することができる。図55のコマンド表5500内の各記録には、コマンドが良好に送られたかどうかの表示を含むことができる。
その後、プロセスではソースが呼び出される(作業7304)。このソースは例えば、ライブラリー又はプロキシ・サーバー・アプリケーションであってよい。このプロセスでは、これらのコマンドリストをソースに送信する(作業7306)。ソースに送られたコマンドは次にデータベース及びソフトウェアメンテナンスツールから削除される(作業7308)。
このプロセスでは次に、新規コマンドを読み出すためにソースを呼び出す(作業7310)。ソースからコマンドリストを受信する(作業7312)。作業7312では、プロキシ・サーバー又はアプリケーションがライブラリーからコマンドを受信するのと違って、コマンドはクレートに格納していない形で受信される。このプロセスでは次に、リストにないコマンドがデータベースから削除される(作業7314)。この結果、ソースは、どのコマンドがソフトウェアメンテナンスツールによって実行されるべきかの権限である、あるいはオーバーライドとなる。
ユーザーが航空機で実行されるコマンドの除去又はコマンドの削除を所望する場合は、これらのコマンドはソースにおいて削除することが可能である。ソフトウェアメンテナンスツールへ送られたコマンドリストにより、リストに載っていない全てのコマンドが削除される。この結果、この種のプロセスにより、ソフトウェアメンテナンスツール上で実行されるべきコマンドのアップデートが可能になる。
このプロセスでは、処理するための未処理コマンドが選択される(作業7316)。そのコマンドに対する航空機用ソフトウェアパーツを含むクレートが存在するかどうかが判定される(作業7318)。このプロセスの作業7318では、ソフトウェアメンテナンスツール上のファイルシステムがチェックされ、航空機用ソフトウェアパーツを格納するクレートがすでにファイルシステムに保存されているかどうかが判定される。クレートがない場合このプロセスではクレートが読み出される(作業7320)。
次に、さらに未処理のコマンドがあるかどうかが判定される(作業7322)。さらに未処理のコマンドがある場合は、このプロセスは(作業7316)へ戻る。コマンドのクレートが存在する場合には、このプロセスは作業7318から作業7322に進む。このプロセスでは次に、コマンドがキューに追加される(作業7324)。このプロセスは次に、航空機用ソフトウェアパーツのインベントリがアップデートされる(作業7326)。
図74は、ソフトウェアメンテナンスツールが位置するポータブルデータ処理システムが航空機ネットワークに接続されたときに、ソフトウェアメンテナンスツールで行われる作業を示す。
これらの実施例では、ソフトウェアメンテナンスツールを使用して、航空機用ソフトウェアパーツを、航空機ネットワークの航空機データ処理システム上で実行される機内電子配信システムへ送信することができる。これらの実施例では、キューは例えば、図65のアップリンクコマンドキューマネージャ6517のキューであってよい。このプロセスでは次に、航空機用ソフトウェアパーツのインベントリをアップデートして(作業7326)、その後プロセスは終了する。
ここで図74を見てみると、航空機用ソフトウェアパーツをソフトウェアメンテナンスツールから機内電子配信システムへ送信するプロセスのフローチャートが、有利な一実施形態にしたがって図示されている。この実施例では、プロセスは、例えば図54のソフトウェアメンテナンスツール5400等のソフトウェアメンテナンスツールにおいて実行可能である。このプロセスは、航空機データ処理システム上の機内電子配信システムへの接続を検出することによって開始される(作業7400)。
このプロセスでは、コマンドがコマンドキューに存在するかどうかが判定される(作業7402)。コマンドがある場合、このプロセスでは、航空機が現在データをアップリンクしているかどうかが判定される(作業7404)。航空機が現在データをアップリンクしていない場合、このプロセスでは、航空機用ソフトウェアパーツを格納しているクレートをアップリンクするように、機内電子配信システムへ要求が送られる(作業7406)。このプロセスでは次に、アップリンクのステータスが取得される(作業7408)。このステータスは、図61のウィンドウ6000等のユーザーインターフェース上に表示することができる。作業7408は、クレートのアップリンクが継続している間行われる。
アップリンクが完了した後に、航空機用ソフトウェアパーツを有するクレートのアップリンクが良好であったかどうかが判定される(作業7410)。クレートのアップリンクが良好であった場合は、コマンド表がアップデートされる(作業7412)。表はこれらの実施例では、図55のコマンド表5500等のコマンド表である。このプロセスは次に作業7302に戻って、処理するための更なるコマンドがキューに存在するかどうかが判定される。
再度作業7410を参照すると、航空機用ソフトウェアパーツのアップリンクが良好でなかった場合は、エラーが生成され(作業7416)、プロセスは上述したように作業7402に戻る。再度作業7404を参照すると、航空機がデータをアップリンクしている場合、ヌル値が返信され(作業7414)、その後プロセスは終了する。
ここで図75を参照すると、ダウンリンクデータを受信するプロセスのフローチャートが、有利な一実施形態にしたがって図示されている。図75に示すプロセスは、図54のソフトウェアメンテナンスツール等のデータソフトウェアメンテナンスツールにおいて実行可能である。
図75のプロセスは、機内電子配信システムから部分ダウンリンクファイルを読み出すコールを受信することによって開始される(作業7500)。部分ダウンリンクファイルが部分ダウンリンク表に含まれているかどうかが判定される(作業7502)。この部分ダウンリンク表は例えば、図56の部分ダウンリンク表5600等の表であってよい。部分ダウンリンクファイルが表に含まれていない場合、このプロセスでは、機内電子配信システムからダウンリンクファイルの操作機能を得るためのコールが受信される(作業7504)。
次に、ダウンリンクファイルを保存する十分なディスクスペースがあるかどうかが判定される(作業7506)。十分なスペースがある場合は、「downlinks\」と呼ばれるディレクトリにダウンリンクファイルが作成され、ファイル操作機能が機内電子配信システムへ返信される(作業7508)。このプロセスでは次に、ダウンリンクデータを「downlinks\」ディレクトリのダウンリンクファイルに保存する(作業7510)。
ダウンリンクファイルが良好に保存されたかどうかが次に判定される(作業7512)。ダウンリンクデータの全てが良好に保存された場合、このプロセスではダウンリンクファイルがダウンリンクデータベース表に追加される(作業7514)。この表は例えば、図57のダウンリンク表5700等の表であってよい。このプロセスでは次に、ダウンリンクファイル表示がアップデートされて新しいファイルが表示される(作業7516)。この表示は、図63のウィンドウ6000に表されるようなダウンリンクファイル表示5908等の表示である。
このプロセスでは次に、データが部分ダウンリンクファイルに書き込まれたかどうかが判定される(作業7518)。データが部分ダウンリンクファイルに書き込まれていない場合、このプロセスは終了する。そうでなければ、部分ダウンリンク表の部分ダウンリンク記録は削除され(作業7520)、その後プロセスは終了する。この場合、部分ダウンリンクファイルは残りのダウンリンクデータで完成し、部分ダウンリンクファイルの識別はもう必要なくなる。
再度作業7512を参照すると、ダウンリンクファイルのデータ全ての保存が良好でなかった場合、このプロセスでは、機内電子配信システムから部分ダウンリンクファイルを保存するためのコールを受信する(作業7522)。この場合、機内電子配信システムが、複数の異なる理由のためにデータのダウンリンクを中断した可能性がある。例えば、利用可能な帯域幅の量は、データをダウンリンクする及び他の情報をアップリンクするのに不十分である。このプロセスでは次に、部分ダウンリンクデータベース表に記録を作成し(作業7524)、その後プロセスは終了する。
再度作業7506を参照すると、ダウンリンクファイルのためのスペースが不十分である場合には、ダウンリンクデータ用のディスクスペースが不十分であることを示すために、ヌル値が機内電子配信システムに返信される(作業7526)。再度作業7502を参照すると、部分ダウンリンクファイルが部分ダウンリンク表に存在する場合には、プロセスでは、部分ダウンリンクファイル情報が機内電子配信システムへ返信される(作業7528)。この情報は、ダウンリンクファイルの残りのダウンリンクデータを送信するための開始点又はオフセットを含む。プロセスは次に、上述したように作業7510へ進む。
このため、これらの異なる有利な実施形態において説明されたソフトウェアメンテナンスツールにより、航空機用ソフトウェアパーツをライブラリーから航空機データ処理システムへ転送するための追加の機能が得られる。異なる有利な実施形態では、ソフトウェアメンテナンスツールはライブラリー又は地上ネットワーク上のプロキシ・サーバー・アプリケーションのいずれかと接続してコマンド及び航空機用ソフトウェアパーツを受信することができる。ソフトウェアメンテナンスツールはその後、地上ネットワークとの接続を解除して、航空機ネットワークと接続するための位置へ物理的に移動させることができる。この位置においては、ソフトウェアメンテナンスツールは航空機ネットワークへ接続され、航空機の航空機ネットワーク上のデータ処理システム上で実行される機内電子配信システムへ、航空機用ソフトウェアパーツとコマンドを転送する。
さらに、ソフトウェアメンテナンスツールにより、オペレータがソフトウェアメンテナンスツールの表示コンポーネントによって表示されるグラフィカルユーザーインターフェースを使用して、ライブラリーから独自にコマンドを作成することが可能になる。ソフトウェアメンテナンスツールはまた、このコンポーネントがライブラリー又はプロキシ・サーバー・アプリケーション以外の他のソースから航空機用ソフトウェアパーツを受信することを可能にする機能も含む。
機内電子配信システム
異なる有利な実施形態により、情報を航空機へ転送するための、コンピュータによって実行される方法、装置、及びコンピュータプログラム製品も提供される。ある有利な実施形態では、コンピュータによって実行される方法は航空機へ情報を転送するのに使用される。航空機の航空機データ処理システムで実行される機内電子配信システムと地上コンポーネントとの間に、接続が確立される。
地上コンポーネントはこれらの実施例では、ソフトウェアメンテナンスツール又はプロキシ・サーバー・アプリケーション等のソフトウェア・アプリケーションの地上ネットワーク内に位置することができる。接続を介して行われる機内電子配信システムからのコマンドの要求に応答して、機内電子配信システムによって実行されるコマンドが特定される。この特定されたコマンドは地上コンポーネントから機内電子配信システムへ送られる。トランザクション識別子がコマンドに割り当てられる。
コマンドに関連するトランザクションのステータスは、トランザクション識別子を使用して、機内電子配信システムと地上コンポーネント上に保持される。アップリンクが機内電子配信システムによって開始される。航空機用ソフトウェアパーツは次に、地上コンポーネントから機内電子配信システムに送られて、アップリンクが行われる。この転送のステータスが保存される。
ここで図76を見ると、情報を航空機に転送するのに使用されるコンポーネントの図が、有利な一実施形態にしたがって図示されている。機内電子配信システム7600は、図3の航空機用ソフトウェアパーツ管理装置300の機内電子配信システム310等の機内電子配信システムの一実施例である。
この実施例では、機内電子配信システム7600と大容量記憶装置7602は、航空機ネットワークの航空機データ処理システム上に位置するコンポーネントである。機内電子配信システム7600は、図1の機内電子配信システム146の一実施例である。大容量記憶装置7602は、図1の記憶装置148の一実施例である。これらのコンポーネントは、航空機ネットワーク101の航空機データ処理システム144等の航空機データ処理システムの一部である。
地上コンポーネント7604及び地上コンポーネントインターフェース7606は、図35のプロキシ・サーバー・アプリケーション3500又は図54のソフトウェアメンテナンスツール5400等のプロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツールに含まれていてよいコンポーネントの一実施例である。これらの実施例では、地上コンポーネント7604と機内電子配信システム7600は情報交換が可能である。コマンド7607、航空機用ソフトウェアパーツ7608、ダウンリンクファイル7610及びステータス7612は、機内電子配信システム7600に転送できる情報の例である。
これらの実施例では、地上コンポーネント7604からコマンド7607を機内電子配信システム7600へ送信することが可能である。機内電子配信システム7600はこのコマンドを実行してトランザクションを実施することができる。このトランザクションは例えば、データのアップリンク又はダウンリンクであってよい。アップリンクには、航空機用ソフトウェアパーツ7608を機内電子配信システム7600へ送信することが含まれる。ダウンリンクには、ダウンリンクファイル7610を地上コンポーネント7604へ送信することが含まれる。
さらに、異なるトランザクションのステータスは、これらの実施例では地上コンポーネント7604と、機内電子配信システム7600の両方によって保持される。ステータス7612は機内電子配信システム7600によって地上コンポーネント7604へ送られて、コマンド7606等のコマンドの実行を介して行われている特定のトランザクションのステータスが提供される。このステータスはコマンド識別子を介して特定のコマンド又はトランザクションと関連している。
航空機用ソフトウェアパーツ7608を機内電子配信システム7600へ送信して、航空機用ソフトウェアパーツ7614とともに大容量記憶装置7602に保存することが可能である。ダウンリンクファイル7610は、大容量記憶装置7602の複数のダウンリンクファイル7616からのダウンリンクファイルであってよい。
ステータス情報7618は大容量記憶装置7602に保存することができ、ステータス7612等のステータス情報を含む。ステータス情報7618により、特定の航空機用ソフトウェアパーツが、大容量記憶装置7602の航空機用ソフトウェアパーツ7614内に良好に保存されたことを示すことができる。ステータス情報7618により、航空機用ソフトウェアパーツが機内電子配信システム7600によって良好にアップリンクされ、大容量記憶装置7602内に保存されたことが特定された時に、大容量記憶装置7602から列線交換ユニットへの航空機用ソフトウェアパーツのロードの開始が可能になる。
さらに、ステータス情報7618により、ダウンリンクファイル7610等のダウンリンクファイルが良好にダウンリンクされたかどうかを特定することが可能である。ダウンリンクファイル7610の部分ダウンリンクが起きた場合に、ステータス情報7618により、ダウンリンクファイル7610内のどの情報が伝達されたかのステータスが提供される。この結果、どの程度の情報が地上コンポーネント7604へダウンリンクされたかのステータスの保持を利用して、ダウンリンクファイル7610全体の伝送を再開することなく、後の時点においてダウンリンクファイル7610の残りの情報をダウンリンクすることができる。
地上コンポーネントインターフェース7606により、他のコンポーネントの地上コンポーネント7604へのインターフェースが提供される。このように、地上コンポーネント7604は、互換性を有して又は地上コンポーネントの他のバージョン又は構成に変更して、情報の交換又はコマンドの処理のために異なるプロトコルを有する可能性がある特定の機内電子配信システムへのアクセスが可能である。これらの実施例では、地上コンポーネント7604は機内電子配信システム7600へ情報を転送するのに必要なプロセスを含んでいる。地上コンポーネント7604と互換性のない異なる機内電子配信システムが使用されている場合には、別の地上コンポーネントと置換えることができる。
その結果、地上ネットワークの他のソフトウェアコンポーネントを変更する必要がなくなる。例えば、機内電子配信システムとの通信を可能にするために、プロキシ・サーバー・アプリケーション内の他のコンポーネントと、ソフトウェアメンテナンスツールを変更する必要がない。
ここで図77を見ると、コマンドのポーリングに使用されるメッセージフローを示すメッセージフロー図が、有利な一実施形態にしたがって図示されている。この実施例では、このメッセージフローに含まれるコンポーネントは、地上コンポーネント(OGC)インターフェース7700、地上コンポーネント7702、及び機内電子配信システム7704である。
この実施例では、機内電子配信システム7704から地上コンポーネント7702に対してコマンドのポーリングが行なわれる(メッセージT1)。ポーリングに応答して、地上コンポーネント7702から地上コンポーネントインターフェース7700にコマンドの取得要求が送られる(メッセージT2)。このコマンドは、機内電子配信システム7704のプロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツールに位置する可能性のあるコマンドを特定するために、地上コンポーネントインターフェース7700によって使用される。
これに応答して、クレートに格納されたコマンドファイルへのコマンド又はポインタが、地上コンポーネント7702に返信される(メッセージT3)。これらの実施例では、プロキシ・サーバー・アプリケーションからユニバーサルリソースロケータ等のポインタが、コマンドを含むクレートに格納されたファイルへ返信される。ソフトウェアメンテナンスツールによって、実際のコマンド自体がメッセージT3において返信される。コマンドがない場合は、ヌル値又は他の指示子がメッセージT3において返信される。返信されたコマンドは次に、機内電子配信システム7704へ送られる(メッセージT4)。機内電子配信システム7704は次に、メッセージT4において受信したコマンドを処理し実行することができる。
ここで図78を見ると、ステータス情報の送信を示すメッセージフロー図が、有利な一実施形態にしたがって図示されている。この実施例では、メッセージフローのコンポーネントには、地上コンポーネントインターフェース7700、地上コンポーネント7702、及び機内電子配信システム7704が含まれる。機内電子配信システム7702により、機内電子配信システム7704によって実行された様々な作業及びプロセスのステータス情報が提供される。このステータス情報は例えば、アップリンクされた航空機用ソフトウェアパーツのステータス、ダウンリンクファイルのステータス、及び/又は他の好適な情報を含むことができる。
機内電子配信システム7704から、地上コンポーネント7702へステータスが送られる(メッセージU1)。このステータスは、地上コンポーネント7702から地上コンポーネントインターフェース7700へ伝達される(メッセージU2)。このステータス情報は次に、これらの実施例においてプロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツールによって処理が可能である。
データのダウンリンクには、2つのフェーズが存在する。図79は、データのダウンリンクの要求が行われる第1フェーズを示し、図80はデータがダウンリンクされる第2フェーズを示す。ここで図79を参照すると、データをダウンリンクする要求のメッセージフロー図が、有利な一実施形態にしたがって図示されている。図79のメッセージフローは、データをダウンリンクする第1フェーズを示す。これらの実施例では、図79はデータのダウンリンクの要求を示す。第2フェーズは、下記の図80に関して記載されるようなダウンリンクデータの実際の伝送である。
この実施例では、第1フェーズには2つの事例がある。事例7902では、利用可能な部分ダウンリンクとともに、情報のダウンリンクの要求が送られる。
事例7900においては、機内電子配信システム7706から、ファイルをダウンリンクする要求が送られる(メッセージV1)。メッセージV1では、ダウンリンクファイルを保存するスペースがない場合、要求が拒絶される可能性がある。これに応答して、地上コンポーネント7702から、部分ダウンリンクの記録があるかどうかを判定する要求が地上コンポーネントインターフェース7700へ送られる(メッセージV2)。これに応答して、地上コンポーネントインターフェース7700から、メッセージV1に送信する要求に関連する部分ダウンリンクを取得する要求が送られる(メッセージV2)。メッセージV2において送られた要求には、航空機識別子及びダウンリンク識別子が含まれる。地上コンポーネントインターフェース7700はこの情報を利用して、この特定のダウンリンクファイルに対する部分ダウンリンクファイルが存在するかどうかを判定する。
地上コンポーネントインターフェース7700から、要求されたダウンリンクに対する部分ダウンリンクファイルが存在しないことを示すヌル値が地上コンポーネント7702へ返信される(メッセージV3)。これに応答して、地上コンポーネント7702から、ダウンリンクファイルをダウンリンクする要求が送られる(メッセージV4)。メッセージV4におけるメッセージはこれらの実施例では、ファイル全体をダウンリンクする要求である。これらの実施例では、メッセージにファイルサイズについての情報が含まれる。スペースが利用可能である場合は、地上コンポーネントインターフェース7700から、ファイルをダウンリンクする場所が地上コンポーネント7702へ返信される(メッセージV5)。スペースがない場合は、ヌル値がメッセージV5へ返信される。
これに応答して、地上コンポーネント7702から、機内電子配信システム7704へ応答が返信される(メッセージV6)。このメッセージは、ダウンリンクを進めることを承認する表示または要求に対する拒絶のいずれかである。
第1フェーズの事例7902では、機内電子配信システム7704から、ダウンリンクファイルのファイルの一部をダウンリンクする要求が送られる(メッセージV7)。これに応答して、地上コンポーネント7702から、要求されたダウンリンクに対して、部分的にダウンリンクされたファイルがすでに存在するかどうかを判定する要求が送られる(メッセージV8)。
このメッセージの受信に応答して、地上コンポーネントインターフェース7900から、既存の部分的にダウンリンクされたファイルの参照を含むドキュメントが地上コンポーネント7702へ返信される(メッセージV9)。これらの実施例では、ドキュメントは拡張可能なマークアップ言語(XML)のドキュメントであり、参照は特定の実行形態によっては、ポインタ又はユニバーサルリソースロケータ(URL)であってよい。
この参照が返信されると、地上コンポーネント7702から、部分ダウンリンクファイルを機内電子配信システム7704へダウンリンクする要求に対する応答が送られる(メッセージV10)。この応答にはこの実施例では、ダウンリンクを進めることと、オフセットを使用することを承認する表示が含まれる。オフセットにより、ダウンリンクファイルのどこからデータのダウンリンクを始めるべきかが特定される。このオフセットは、すでに受信したダウンリンクファイルのダウンリンク情報から特定される。
ここで図80を見ると、データをダウンリンクするためのメッセージフロー図が、有利な一実施形態にしたがって図示されている。図79については、このダウンリンクプロセスに2つの事例、事例8000と事例8002が含まれる。事例8000には、部分ダウンリンクがないデータのダウンリンクが含まれ、フェーズ8002には、部分ダウンリンクがあるデータのダウンリンクが含まれる。図79では、事例7900が部分ダウンリンクが利用できない事例を示すのに対して、事例7902は地上コンポーネントにおいて部分ダウンリンクファイルが利用可能である事例を示す。
事例8000では、メッセージフローは、機内電子配信システム7704によって、ダウンリンクファイルを地上コンポーネント7702へダウンリンクすることによって開始される(メッセージW1)。地上コンポーネント7704により、機内電子配信システム7704から地上コンポーネントインターフェース7700へファイルをダウンリンクする要求が送られる(メッセージW2)。このメッセージには、ファイルサイズだけでなく、他の適切なダウンリンク情報が含まれる。
地上コンポーネントインターフェース7700から、地上コンポーネント7702へ応答が返信される(メッセージW3)。ダウンリンクファイルをダウンリンクするためのスペースが得られない場合は、ヌル値が返信される。ダウンリンクファイルがダウンリンク可能である場合は、地上コンポーネント7702によりファイルに情報が書き込まれ、機内電子配信システム7704へ応答が返信される(メッセージW4)。その後、地上コンポーネント7702から地上コンポーネントインターフェース7700へファイルを保存するように要求が送られる(メッセージW5)。
次に、事例8002では、機内電子配信システム7704から地上コンポーネント7702にファイルがダウンリンクされる(メッセージW6)。その後、地上コンポーネント7702から、地上コンポーネントインターフェース7700へ部分ダウンリンクファイルの要求がなされる(メッセージW7)。この実施例では、地上コンポーネントインターフェース7700によって地上コンポーネント7702へファイルが返信される(メッセージW8)。
この時点で、地上コンポーネント7702により、ファイルに情報が書き込まれダウンリンクファイルが完成し、機内電子配信システム7704へ応答が返信される(メッセージW9)。この実施例では、ファイルに書き込まれた複数のビットが、応答において特定される。その後、地上コンポーネント7704から、地上コンポーネントインターフェース7700へ、ダウンリンクされたファイルを保存するよう要求が送られる(メッセージW10)。
このメッセージに応答して、地上コンポーネントインターフェース7700により、地上コンポーネントのファイルシステム内のファイルを保存することができる。地上コンポーネントは、プロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツールに保存されたファイルであってよい。
ここで図81を参照すると、ファイルの一部だけが送られるときのメッセージフローを示す図が、有利な一実施形態にしたがって図示されている。この実施例では、機内電子配信システム7704により、接続に支障をきたす又は接続が停止する通常のダウンリンクシーケンスを使用してファイルがダウンリンクされる(メッセージX1)。ファイルの一部のみを受信したことに応答して、地上コンポーネント7702から地上コンポーネントインターフェース7700へ部分ダウンリンクファイルを保存するよう要求が送られる(メッセージX2)。この要求の受信に応答して、地上コンポーネントインターフェース7700によってファイルシステム内に部分ダウンリンクファイルが保存される。このファイルシステムは、プロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツールに位置していてよい。
ここで図82を見ると、アップリンクプロセスを示すメッセージフロー図が、有利な一実施形態にしたがって図示されている。アップリンクはこれらの実施例では、2つのフェーズで行われる。フェーズ8200では、アップリンクされるべきファイルについての情報が要求され、フェーズ8202では、ファイル自体がアップリンクされる。両方のフェーズにおいて、地上コンポーネント7702から地上システムにリソースについての情報を送信するように指示が送られる。地上システムは例えば、プロキシ・サーバー・アプリケーション又はソフトウェアメンテナンスツールにおける他のコンポーネントであってよい。
図示したように、機内電子配信システム7704から航空機用ソフトウェアパーツのアップリンクを要求するメッセージが送られる(メッセージY1)。この要求の受信に応答して、地上コンポーネント7702から地上コンポーネントインターフェース7700へ、特定の航空機用ソフトウェアパーツを得るためにコールが送られる(メッセージY2)。このコールに応答して、航空機用ソフトウェアパーツがある場合には、航空機用ソフトウェアパーツの識別が返信される(メッセージY3)。
パーツがない場合には、これらの実施例ではヌル値が返信される。このメッセージの受信に応答して、地上コンポーネント7702から機内電子配信システム7704へメッセージが送られる(メッセージY4)。
フェーズ8202では、機内電子配信システム7704から航空機用ソフトウェアパーツの要求が送られる(メッセージY5)。この要求の受信に応答して、地上コンポーネント7702から、地上コンポーネントインターフェース7700へ航空機用ソフトウェアパーツの要求が送られる(メッセージY6)。航空機用ソフトウェアパーツが利用可能である場合には、地上コンポーネントインターフェース7700からリソースが返信される(メッセージY7)。リソースが利用可能でない場合、ヌル値が返信される。次に、地上コンポーネント7702から機内電子配信システム7704へ航空機用ソフトウェアパーツが送られる(メッセージY8)。航空機用ソフトウェアパーツが利用可能でない場合には、エラーが返信される。
ここで図83を見ると、アップリンクプロセスにおけるメッセージフローを示す図が、有利な一実施形態にしたがって図示されている。この実施例では、メッセージフローには2つのフェーズ、フェーズ8300及びフェーズ8302がある。フェーズ8300では、航空機用ソフトウェアパーツの部分アップリンクの要求がなされ、フェーズ8302では、部分的な航空機用ソフトウェアパーツのアップリンクが行われる。この航空機用ソフトウェアパーツの部分アップリンクは、航空機用ソフトウェアパーツの以前の転送が中断された場合に行うことができる。
フェーズ8300では、機内電子配信システム7704から地上コンポーネント7702へアップリンクの要求が送られる。この実施例では、この要求においてパーツがアップリンクされるべきオフセット又は開始位置にある航空機用ソフトウェアパーツが特定される(メッセージZ1)。この要求の受信に応答して、地上コンポーネント7702から航空機用ソフトウェアパーツの要求が送られる(メッセージZ2)。
パーツがある場合には、地上コンポーネントインターフェース7700から航空機用ソフトウェアパーツが返信される。そうでなければ、ヌル値が返信される(メッセージZ3)。航空機用ソフトウェアパーツの受信に応答して、地上コンポーネント7702から、航空機用ソフトウェアパーツが特定のオフセット又は開始点において利用可能であることを示す応答が返信される(メッセージZ4)。
次に、フェーズ8302において、機内電子配信システム7704から、開始位置またはオフセット位置における航空機用ソフトウェアパーツの要求が送られる(メッセージZ5)。地上コンポーネント7704により、この要求の受信に応答してリソースの要求がなされる(メッセージZ6)。
この要求の受信に応答して、地上コンポーネントインターフェース7700から地上コンポーネント7702へ航空機用ソフトウェアパーツが、又はパーツが利用可能でない場合はヌル値が返信される(メッセージZ7)。この応答の受信に応答して、地上コンポーネント7704により、特定された開始点又はオフセットにおいて航空機用ソフトウェアパーツのアップリンクが開始される(メッセージZ8)。パーツが利用できない場合には、機内電子配信システム7704へエラーが返信される。
ここで図84を見ると、データのアップリンクプロセスのフローチャートが、有利な一実施形態にしたがって図示されている。図84に示すプロセスは、図76の機内電子配信システム7600等の機内電子配信システムにおいて実行可能である。この実施例では、アップリンクデータは航空機用ソフトウェアパーツのデータである。
このプロセスは、航空機用ソフトウェアパーツをアップリンクするアップリンクコマンドを受信することによって開始される(作業8400)。航空機用ソフトウェアパーツがすでに部分的にアップリンクされているかどうかが判定される(作業8402)。航空機用ソフトウェアパーツが部分的にアップリンクされていない場合、航空機用ソフトウェアパーツを受信する要求が送られる(作業8404)。このプロセスでは次に、航空機用ソフトウェアパーツのデータが受信される(作業8406)。
データの伝送が停止したかどうかが判定される(作業8408)。この伝送は幾つかの理由によって停止する可能性がある。例えば、航空機用ソフトウェアパーツの転送が完了した可能性がある。別の実施例では、航空機用ソフトウェアパーツの転送が完了せずに中断が起きた可能性がある。
中断はまた、様々なイベントに起因して起こる可能性もある。あるイベントでは、機内電子配信システムと地上コンポーネントとの間の通信リンクが突然終了した可能性がある。別の実施例では、イベントはオペレータがソフトウェアメンテナンスツールからの航空機用ソフトウェアパーツの伝送を終了させたことであってよい。
データの伝送が停止されなかった場合、プロセスは作業8406へ戻る。そうでなければ、航空機用ソフトウェアパーツが完全であるかどうかが判定される(作業8410)。航空機用ソフトウェアパーツが完全である場合、航空機用ソフトウェアパーツは航空機データ処理システムの記憶装置に保存される(作業8412)。この実施例では、記憶装置は図76の大容量記憶装置7618であってよい。
このプロセスでは次に、ステータスが地上コンポーネントへ返信され(作業8414)、その後プロセスは終了する。この実施例では、ステータスは航空機用ソフトウェアパーツが完全に受信されたことを表している。
再度(作業8410)を参照すると、航空機用ソフトウェアパーツが完全に受信されなかった場合、航空機用ソフトウェアパーツの受信された部分が記憶装置に保存される(作業8416)。このプロセスでは次に、ステータスが保存され(作業8418)、その後プロセスは終了する。この実施例では、ステータスにより航空機用ソフトウェアパーツと、航空機用ソフトウェアパーツの実際に受信された部分を特定することができる。この情報を後の時点で使用して、航空機用ソフトウェアパーツの残りの部分を再伝送することができる。
再度作業8402を参照すると、航空機用ソフトウェアパーツが部分的にアップリンクされている場合、このプロセスでは、航空機用ソフトウェアパーツの未送信部分が要求される(作業8420)。このプロセスは次に作業8406へ進み、航空機用ソフトウェアパーツからデータが受信される。作業8420では、要求はまだ受信されていない航空機用ソフトウェアパーツデータのオフセット又は開始点の識別を含むことができる。
ここで図85を見ると、データのダウンリンクプロセスのフローチャートが、有利な一実施形態にしたがって図示されている。図85に示すプロセスは、図76の機内電子配信システム7600等の機内電子配信システムにおいて実行可能である。
このプロセスは、ダウンリンクファイルを送信するように要求が送信されることによって開始される(作業8500)。ダウンリンクファイルについてのデータを送信する指示が受信されたかどうかが判定される(作業8502)。データを送信する指示が受信された場合、このプロセスではダウンリンクファイルについてのダウンリンクデータが送信される(作業8504)。
次に、ダウンリンクデータの伝送が停止したかどうかが判定される(作業1006)。この伝送は全てのデータが送られたことにより停止可能である。他の事例では例えば、伝送は通信リンクの喪失又は航空機上のオペレータによる中断によって、停止することができる。データの伝送が停止しなかった場合、このプロセスは作業8504へ戻って、ダウンリンクデータの送信が継続される。
伝送が停止された場合、ダウンリンクファイルからダウンリンクデータが全て送られたかどうかが判定される(作業8508)。ダウンリンクデータが全て送られた場合、このプロセスでは完了のステータスが送信され(作業8510)、その後プロセスは終了する。
再度作業8508を参照すると、全てのダウンリンクデータが送られていない場合、ダウンリンクデータの伝送ステータスが保存される(作業8512)。これらの実施例では、ステータスは図76のステータス情報7618として保存可能である。この実施例のステータスにより、ダウンリンクファイルと送られたデータ量を特定することができる。
このプロセスを使用して、ダウンリンクファイルの一部がすでに送られている、部分ダウンリンクファイルを送信することもできる。この種のダウンリンクでは、作業8500において、ファイル全体ではなく、ダウンリンクファイルの一部をダウンリンクする要求が送られる。部分ダウンリンクファイルについては、地上コンポーネントによって以前の伝送から部分的にダウンリンクされたデータが見出された場合、作業8502の指示は肯定される。この指示にはまた、残りのダウンリンクファイルを送信するためのオフセット又は開始点も含まれる。
クレートツール
航空機用ソフトウェアパーツは様々なソースから受信することができる。航空機用ソフトウェアパーツは、特定の実行形態によっては、航空機メーカー又はある第三者のソースから受信可能である。さらに、航空会社により、航空会社の航空機内で使用するための航空機用ソフトウェアパーツを作成することも可能である。これらのパーツは、異なる有利な実施形態においてクレートを使用して配信される。
異なる有利な実施形態により、デジタル化されたコンテンツ、一又は複数のコンピュータプログラム、またはコンピュータによって検出可能なデジタル形式のデータの受信及び配信処理の自動化を進展させるコンピュータによって実行される方法、装置、及びコンピュータプログラム製品が提供される。有利な一実施形態には、物理的に配送されるクレートと物理的な媒体の、自動化を促進させるコンピュータによって検出可能なクレートへの差し替えが含まれる。別の有利な実施形態は、クレート内部の対象物及びクレート自体に対する一又は複数のデジタル署名の適用であり、これにより、機能的機密キーインフラストラクチャとの連結によって、送信機の認証、否認防止、及び確実なインテグリティが提供される。
別の有利な実施形態では、航空機用ソフトウェアパーツの自動処理に、ある方法が使用されている。例えば電子ジップファイルであってよい、署名済み航空機用ソフトウェアパーツを含む受信クレートは、航空会社のパーツ管理システム外のソースから受信される。受信クレートと航空機用ソフトウェアパーツの一連の署名が認証される。一連の署名が有効であることに応答して、受信クレートがアンパックされる。受信クレートのコンテンツはユーザーの判断で表示することができる。アンパックされた航空機用ソフトウェアパーツを航空機用ソフトウェアパーツ管理システム又は装置のライブラリーにアップロードする要求に応答して、アンパックされた航空機用ソフトウェアパーツに承認の署名が再び付加されて署名済みの承認された航空機用ソフトウェアパーツが形成される。有利な実施形態では、この二番目の承認デジタル署名がパーツの供給元からパーツの受領先への委託転送の役割も果たし、トランザクション完了の否認防止となる。
有利な一実施形態では、受領した署名済みの承認された航空機用ソフトウェアパーツは、別のクレートに格納することができる。署名済みの受領先で承認された航空機用ソフトウェアパーツを含むクレートに署名が付加されて署名済みクレートが形成され、この署名済みの承認された航空機用ソフトウェアパーツと署名済みクレートの署名は、受信クレートにおける一連の署名とは異なっている。署名済みクレートは航空機用ソフトウェアパーツ管理システム又は装置の受領先のライブラリーへ送信することができる。
別の有利な実施形態では、追加のシステム構成部品の処理にコンピュータによって実行される方法が使用される。システム構成部品を含むクレートが受信されて受信されたクレートが形成される。クレートとシステム構成部品の一連の署名が有効であるかどうかが判定される。一連の署名が有効であるとの判定に応答して、システム構成部品が保存される。
ここで図86を見ると、クレートツールを示す図が、有利な一実施形態にしたがって図示されている。クレートツール8600は、図3の航空機用ソフトウェアパーツ管理装置300等のある環境において使用されるクレートの受信及び管理に使用される。
さらに、クレートツール8600は、図3の航空機用ソフトウェアパーツ管理装置300内でクレートを作成する他のコンポーネントで実行可能である。例えば、クレートツール8600の機能は、図54のソフトウェアメンテナンスツール5400等のソフトウェアメンテナンスツールにおいて実行可能である。別の実施例として、これらの機能は、クレート内のダウンリンクファイル等の情報を地上ネットワークへ返信するために、図76の航空機ネットワーク7601において実行することも可能である。
この実施例では、クレートツール8600はクレート8604内に保存又は格納された航空機用ソフトウェアパーツ8602を受信することができる。これらの実施例では航空機用ソフトウェアパーツ8602がクレート8604のコンテンツであるように図示されているが、これらの実施例では、図3の航空機用ソフトウェアパーツ管理装置300内で使用されるクレート8604に任意のシステム構成部品を格納することが可能である。例えば、システム構成部品は、ドキュメント、構成情報、又は他の好適な情報の形態を取ることもできる。
クレートツール8600は、クレート8604を処理してライブラリー8606へアップロードする。ライブラリー8606は、図17のライブラリー1700を使用して実行可能である。この処理は、例えば完全性とクレート8604内の一連の署名をチェックする等の様々な働きを含むことができる。署名のチェックには、クレート8604と航空機用ソフトウェアパーツ8602の両方の署名を含むことができる。さらに、航空機用ソフトウェアパーツ8602をクレート8604から取り出して調べることができる。クレートツール8600は、航空機用ソフトウェアパーツ8602を別のクレートに再格納してライブラリー8606へアップロードすることもできる。
ここで図87を見ると、クレートツールを示す図が、有利な一実施形態にしたがって図示されている。クレートツール8700は、図86のクレートツール8600のさらに詳しい図である。クレートツール8700は、ユーザーインターフェース8702、署名8704、アンパック及び点検8706、クレート8708、及びアップロード8710を含む。ユーザーインターフェース8702は、ユーザーに、クレートツール8700を操作するためのユーザーインターフェースを提供する。クレートツール8700は、図2のデータ処理システム200等のデータ処理システムにおいて実行可能である。
署名8704は、これらの実施例では、複数の異なる機能を提供している。例えば、署名8704により、クレートとそのシステム構成部品の完全性をチェックすることができる。この完全性のチェックは、クレートとそのコンテンツのデジタル署名をチェックすることによって行うことができる。これらの実施例では、署名は、署名されたコンテンツとは別の拡張可能なマークアップ言語ドキュメントに位置している。他の実施形態では、署名は署名されたシステム構成部品と一体化していてよい。
署名8704により、既存の航空機用ソフトウェアパーツだけでなく他のドキュメント、ファイル、及び他の好適なデータの署名が可能である。アンパック及び点検8706により、ユーザーが航空機用ソフトウェアパーツと他の情報をクレートから取り出して、これらのコンポーネントを点検する又は見ることが可能である。クレートのアンパックにおいては、アンパック及び点検8706により、航空機用ソフトウェアパーツがクレートから解凍され又は取り出されて、選択されたファイルシステム内に配置される。
さらに、パッキングスリップがクレート内に存在する場合には、このパッキングスリップも表示することができる。この機能の点検部分を使用して、ユーザーがファイルシステム8712内に保存されたクレート8714のコンテンツと署名の有効性を点検することを可能にすることができる。クレート8708により、ユーザーが新しいクレートを作成し、既存のクレートを操作することが可能になる。
例えば、クレートの操作では、ユーザーがクレートを編成する、追加する、又はそのコンテンツからに抜き出すことが可能である。クレートは、特定の実行形態によって複数の異なる方法で編成することが可能である。例えば、ディレクトリに、特定の種類の航空機の航空機用ソフトウェアパーツを含むクレートを保存することができる。また、クレートはそのソースに基づいて保存することが可能である。アップロード8710により、これらの実施例では、クレート内の署名付きシステム構成部品をクレートツール8700から図17のライブラリー1700等のライブラリーへ送信する機能が提供される。
ここで図88を見ると、クレートの処理を示すメッセージフロー図が、有利な一実施形態にしたがって図示されている。図88のこのメッセージフローは、クレートを処理してライブラリーへアップロードするのに使用されるメッセージフローを示す。
この実施例では、ユーザー8800、クレートツール8802、及びライブラリー8804を含むクレートの処理に、異なるコンポーネントが関わっている。メッセージフローはこの実施例では、ユーザーが受信クレート8806を処理する又は受信するときに開始される。この実施例では、ユーザーは様々なソースから受信クレート8806を受信することができる。例えば、受信クレート8806は、フラッシュメモリ又はコンパクトディスク等のインターネット接続又は物理的媒体を介して受信することができる。
ユーザーは、クレート点検ツールを使用してクレートを読み込む(作業I1)。このユーザー入力に応答して、クレートツール8802によりユーザーにクレート情報が表示される(作業I2)。ユーザーは次にクレートのコンテンツを調べて、クレートのアンパックを選択する(作業I3)。このユーザー入力の受信に応答して、クレートツール8802により、署名情報が認証され、ファイルシステム内にクレートのコンテンツがアンパックされる(作業I4)。受信クレート8806の署名は、受信クレート8806の航空機用ソフトウェアパーツのソースによって生成された署名である。
その後、ユーザー8800によってライブラリーアップロードツールを使用してライブラリーへアンパックされた航空機用ソフトウェアパーツをアップロードするユーザー入力が行われる(作業I5)。ユーザーはユーザー入力を行って、アンパックされたクレートの位置からアップロードするためにパーツを追加する(作業I6)。ユーザーは次に、ライブラリーへのアップロードボタンを押す(作業I7)。
このユーザー入力に応答して、クレートツール8802によりユーザー8800にライブラリーへログインするための認証情報の指示メッセージが送られる(作業I8)。この指示メッセージに応答して、ユーザー8800がライブラリー認証情報を入力する(作業I9)。クレートツール8802は次に、航空機用ソフトウェアパーツに署名を付与するためのパスワードを入力するようにユーザーに指示メッセージを送信する(作業I10)。この指示メッセージの受信に応答して、ユーザー8800がパスワードを入力する(作業I11)。パスワードの入力はこれらの実施例では、航空機用ソフトウェアパーツの様々なファイルに適用される署名の作成に使用される。ユーザーからのパスワードの受信に応答して、クレートツール8802は異なる航空機用ソフトウェアパーツファイルに署名を適用する(作業I12)。
この署名プロセスの一部として、新しいクレートが作成されて、この新しいクレート内に航空機用ソフトウェアパーツファイルが格納される。この種の実行形態では、クレート内の航空機用ソフトウェアパーツのデジタル署名は、この段階では、受信クレート8806からの署名とは異なる。ここで適用される署名は、特定の航空会社又はメンテナンス施設等の特定のユーザー向けである。
署名が適用された後に、クレートツール8802によって、パーツのライブラリー8804へのアップロードが開始される(作業I13)。ライブラリー8804により、クレート内の航空機用ソフトウェアパーツがアップロードされて、コンテンツが認証される(作業I14)。その後、作業ステータスがライブラリー8804からクレートツール8802へ返信される(作業I15)。クレートツール8802により、イベントログがライブラリー8804へ送られる(作業I16)。このイベントログはライブラリー8804によってアップロードされる(作業I17)。
次に、アップロードの作業ステータスがライブラリー8804からクレートツール8802へ返信される(作業I18)。この作業ステータスは次に、クレートツール8802によってユーザー8800に表示される(作業I19)。
ここで図89を見ると、クレートツールのユーザーインターフェースの一実行形態を示す図が、有利な一実施形態にしたがって図示されている。この実施例では、ユーザーインターフェース8900は、図87のクレートツール8700のユーザーインターフェース8702を実行するのに使用できるコンポーネントを示す。この実施例では、ユーザーインターフェース8900はワーキングクレートリスト表示8902とワーキングクレート詳細表示8904を含む。
ワーキングクレートリスト表示8902により、異なるクレートのリストが表示される。この表示から、ユーザーは作業のプロジェクト8906、ワーキングクレート作業8908、又はアプリケーションの終了8910を開始させることができる。作業のプロジェクト8906を使用して、新しいプロジェクトの作成、既存のプロジェクトの読み込み、現在のプロジェクトの終了、又は現在のプロジェクトの保存を行うことができる。ワーキングクレート作業8908により、これらの実施例では、ユーザーがクレートを作成する、クレートを削除する、クレートを複製することが可能になる。アプリケーションの終了8910により、ユーザーがクレートツールを終了することができる。
さらに、ワーキングクレートリスト表示8902からユーザーがワーキングクレート8912の読み込みを開始する又は閉じることができる。ワーキングクレートが読み込まれると、ワーキングクレート詳細表示8904が用いられる。ワーキングクレート詳細表示8904により、処理中の特定のタイプのクレートによって、異なる機能を表示できるユーザーインターフェースが提供される。
さらに、ワーキングクレートリスト表示8902から、及びワーキングクレート詳細表示8904からユーザーがツール8914にアクセスすることができる。ツール8914により、例えばクレートの完全性のチェック、クレートのアンパック及び点検、互換性のチェックとプリファランスの設定等の様々な機能が提供される。この実施例では、ツール8914により、機能8916、8918、8920、8922、及び8924が提供される。機能8916により、システム構成部品のデジタル署名及び署名ステータスに関する情報が表示される。署名ステータスの実施例は、製造、承認、及びソースである。
機能8918により、クレート内の署名付きパーツ及び/又はアセットがアンパックされ、これらのコンポーネントがファイルシステムに配置される。機能8920により、クレートのコンテンツの点検、クレートとコンポーネントの署名の認証及びクレートファイルの管理ができる。機能8922により、ユーザーが飛行機の機内搭載データロード機能(ODLF)で航空機用ソフトウェアパーツの互換性をチェックすることが可能になる。機能8924により、ユーザーが様々な特性及びプリファランスを編集することが可能になる。図示した機能は、ツール8914で提供可能な機能の実施例として記載されている。当然ながら、他の機能を図示した機能に加えて、又は図示した機能の代わりに用いることができる。
ここで図90を参照すると、クレートの点検及びアンパックにおけるデータフローを示す図が、有利な一実施形態にしたがって図示されている。図90に示すデータフローは、図87のクレートツール8700におけるアンパック及び点検8706で実行可能である。
この実施例では、2つのダイアログボックス又は図、点検及びアンパック表示9000とクレート点検表示9002が記載されている。点検及びアンパック表示9000はユーザーに対して表示され、ユーザーがクレートツールによって受信されたクレートに対する様々な操作を行うことができる。例えば、ユーザーはクレートを操作する作業を選択することができる。この作業は例えば、一連のクレートファイルの削除又は移動であってよい。
ユーザーが点検及びアンパック表示9000からこの作業を選択した場合、選択されたクレートファイルは移動又は削除される(作業9004)。その後に、クレートリストがリフレッシュされ(作業9006)、このプロセスは点検及びアンパック表示9000に戻る。
ユーザーが記憶場所の削除等の作業を選択すると、プロセスでは次に記憶場所のリストが修正される(作業9008)。記憶場所のプリファランスが次に保存され(作業9010)、プロセスは次に上述したように作業9006へ戻る。この記憶場所のプリファランスは、ユーザーによって選択されたパス又は指示である。このように、ユーザーはクレートを保存できる一連のディレクトリ又は一連の記憶場所からある記憶場所を削除することができる。
点検及びアンパック表示9000において、ユーザーがこの表示の新しい記憶場所にユーザー入力を入力すると、ユーザーに新しい記憶場所についての指示メッセージが送られる(作業9011)。ユーザーが新しい記憶場所情報を入力すると、プロセスは上述したように作業9008へ進む。ユーザーがクレートを点検することを選択する又は決定すると、プロセスはクレート点検表示9002へ移動する。このユーザーインターフェースでは、ユーザーがクレートに対して様々な操作を行うことができる。例えば、ユーザーはクレート情報のアップデートを選択することができる。その後、クレート情報がファイルから読み出される(作業9014)。このプロセスでは次に、データを有するダイアログボックスコントロールがアップデートされて、ユーザーにクレート情報が表示される(作業9016)。
クレート点検表示9002が表示される時に、ユーザーはクレートのアンパック等の別の操作を選択することができる。この操作の選択の結果、クレートの署名が認証される(作業9018)。署名が有効な場合は、クレートがアンパックされる(作業9020)。このプロセスでは、クレートのアンパックの結果とともに、任意のパッキングスリップのコンテンツがクレート点検表示9002に表示される(作業9022)。その後、プロセスは点検及びアンパック表示9000に戻る。
作業9018では、クレートの署名が無効である場合、このプロセスでは認証結果が表示される(作業9024)。クレート点検表示9002に示されたこれらの結果には、認証がクレートの署名に対して不正確であった場合、署名問題が致命的である表示を含むことができる。
クレート点検表示9002では、ユーザーがクレートの認証を選択した場合に、このプロセスではクレートの署名が認証される(作業9026)。クレートの署名が有効である場合、各システム構成部品の署名が次に認証される(作業9028)。作業9026及び9028の両方において、プロセスは作業9024に進み、認証結果を表示する。システム構成部品の署名が有効でない場合は、次に、クレート署名が有効でない場合に致命的な問題が発生するのとは対照的に、警告が表示される。クレート点検表示9002では、ユーザーがダイアログボックスを閉じると、プロセスは点検及びアンパック表示9000に戻る。
ここで図91を見ると、クレート作成におけるデータフローを示す図が、有利な一実施形態にしたがって図示されている。図91に示すプロセスは、図87のクレートツール8700等のクレートツールにおいて実行可能である。さらに具体的には、図91に示す異なる作業は、図87のクレート8708において実行可能である。
この実施例では、プロセスは新しい又は既存のプロジェクトを読み込むことによって開始される(作業9100)。その後、プロセスでは、ワーキングクレートが作成される(作業9102)。最初の署名済みシステム構成部品の作成において、このプロセスは最初のクレートのメタデータとシステム構成部品識別子を受信することによって開始される(作業9104)。これらの実施例では、システム構成部品はクレート内に保存可能な一連のファイルで構成される単一の構成部品である。各システム構成部品は固有の識別子を有している。システムは例えば、航空機用ソフトウェアパーツ、関連ドキュメント、又は他のファイルであってよい。
ユーザーは次に、ファイルシステム上のシステム構成部品のデータディレクトリへ進み、選択されたこれらのファイルについてのメタデータを入力する(作業9106)。特定のシステム構成部品は2つ以上のファイルを含むことができるため、データファイルのディレクトリが選択される。例えば、航空機用ソフトウェアパーツは実行可能なファイル、構成ファイル、及びダイナミック・リンク・ライブラリーを含むことができる。
次に、このプロセスでは、ユーザーによって行われたメタデータの入力内容を認証する(作業9108)。作業9108のプロセスでは、メタデータの入力内容が一連の規則と合っているかどうかを判定することができる。これらの規則では、特定の情報量と特定の種類の情報を含む、特定の種類のシステム構成部品が要求される可能性がある。例えば、航空機用ソフトウェアパーツの場合では、航空機用ソフトウェアパーツのソース又はメーカーだけでなく、航空機の種類の識別をメタデータとして入力することができる。さらに、メタデータにより、航空機用ソフトウェアパーツを受信する特定の航空機を特定することも可能である。
このプロセスでは、ワーキングクレートの種類によってシステム構成部品の認証が可能である(作業9110)。次に、このプロセスではユーザーのパスワードが受信される(作業9112)。このプロセスでは次に、システム構成部品のデジタル署名付き拡張可能なマークアップ言語ファイルが作成され、デジタル署名付き拡張可能なマークアップ言語ファイルはシステム構成部品とともにファイルシステムに保存される(作業9114)。このプロセスは、プロジェクトの保存に進む(作業9116)。ユーザーは、任意のこれらの異なる作業を行っている間に、プロジェクトを停止し保存して、プロジェクトを別の時に継続することを選択することができる。
ユーザーは次に、ファイルシステム上のアセットのデータディレクトリへ進み、選択されたこれらのファイルについてのメタデータを入力する(作業9118)。その後、このプロセスでは、ユーザーによって行われたメタデータ入力が認証される(作業9120)。このプロセスでは、ユーザーのパスワードが受信される(作業9122)。このプロセスでは次に、アセットのデジタル署名付き拡張可能なマークアップ言語ファイルを作成し、このファイルをアセットのディレクトリに保存する(作業9124)。
ここで図92を見ると、受信クレートを処理するプロセスのフローチャートが、有利な一実施形態にしたがって図示されている。図92に示すプロセスは、図87のクレートツール8700等のソフトウェアコンポーネントにおいて実行可能である。さらに具体的には、このプロセスは図87のアンパック及び点検8706において実行可能である。
このプロセスはクレートを受信することによって開始される(作業9200)。この実施例では、クレートは様々なソースを介して受信可能である。例えば、プロセスが実行されるデータ処理システムへ物理的媒体を接続する又は配置することができる。他の実施形態では、クレートはネットワークリンク等の通信リンクを介して受信可能である。
このプロセスでは、クレートに関する情報が表示される(作業9202)。この作業では、情報はグラフィカルユーザーインターフェースを介して表示することができる。この情報は例えば、クレートのメーカーのソース、クレートのコンテンツの識別、クレートのサイズ、及び他の好適な情報を含むことができる。その後、クレートをアンパックするかどうかが判定される(作業9204)。この判定は、ユーザー入力の受信を介して行うことができる。
クレートがアンパックされる場合、このプロセスではクレートの署名が認証される(作業9206)。これらの実施例では、署名は秘密キーを使用して行うことができる。クレートに位置する公開キーを使用して、マニフェスト及びファイルダイジェストが有効かどうかを判定することができる。この認証はまた、クレートが実際にそのソースから来たものであって、修正され又は改ざんされないままであるかどうかを判定するのにも使用される。
クレートの署名が有効であるかどうかが判定される(作業9208)。クレートの署名が有効である場合、このプロセスでは、航空機用ソフトウェアパーツを含むクレートがアンパックされ、ファイルシステム上に配置される(作業9210)。クレートをアンパックするのに、システム構成部品の署名が有効である必要はない。一又は複数の無効のシステム構成部品の署名が検出された場合に、クレートのアンパックを継続するか否かはユーザー次第である。これらの実施例では、クレートの署名が有効である場合、航空機用ソフトウェアパーツがアンパックされ、(作業9210)で説明したようにファイルシステム内に保存される。その後プロセスは終了する。
再度作業9208を参照すると、クレートの署名が有効でない場合は、エラーが返信され(作業9212)、その後プロセスは終了する。再度作業9204を参照すると、ユーザーがクレートをアンパックしないと決定した場合にも、プロセスは終了する。
このツールはワークフローのステータスと動態力学をサポートする。上の図2で説明したユーザーインターフェースの実行形態により、ユーザーがクレートを作成し、認証し、そして完成させることが可能になる。クレートはドラフトステータスから始まり、(例えばパーツ及び関連ドキュメント等の)クレートの各コンポーネントも同様である。このプロセスが進むにつれ、クレートのステータスだけでなく、各コンポーネントのステータスは、ドラフトから作業中に、そしてクレートに署名が付与されたときに完成へと変化する。この実行形態により、ユーザーがクレートの任意のコンポーネントの追加、削除、又は修正を行うことも可能になる。全ての追加、削除、又は修正は結果的に、関連コンポーネントと、クレートの現在のステータスを変化させるため、再認証及び再署名が必要となる。ステータスは、クレートリスト表示とクレート詳細表示の両方において、図式的に示される。この機能により、柔軟性が付与されワークフローがサポートされると同時に、完成したクレートの完全性がさらに保証される。
このツールにより、動的な解除/配信ワークフロー・ステータスがサポートされる。上の図4に記載したようなユーザーインターフェースの実行形態により、ユーザーがクレートを作成し、認証し、そして完成させることが可能になる。クレートはドラフトステータスから始まり、(例えばパーツ及び関連ドキュメント等の)クレートの各コンポーネントも同様である。このプロセスが進むにつれ、クレートのステータスだけでなく、各コンポーネントのステータスは、ドラフトから作業中に、そしてクレートに署名が付与されたときに完成へと変化する。この実行形態により、ユーザーがクレートの任意のコンポーネントの追加、削除、又は修正を行うことも可能になる。全ての追加、削除、又は修正は結果的に、関連コンポーネントと、クレートの現在のステータスを変化させる可能性があるため、再認証及び再署名が必要となる。ステータスは、クレートリスト表示とクレート詳細表示の両方において、図式的に示される。この機能により、柔軟性が付与されワークフローがサポートされると同時に、完成したクレートの完全性がさらに保証される。
実例となる異なる実施形態におけるフローチャート及びブロック図により、装置、方法及びコンピュータプログラム製品の一又は複数の可能な実行形態のアーキテクチャ、機能性、及び作業を示すことができる。この点については、フローチャート又はブロック図の各ブロックが、特定の1つの機能又は複数の機能を実行するための一又は複数の実行可能な命令を含む、モジュール、セグメント、又はコンピュータが使用可能な又は読み取り可能なプログラムコードの一部を示すことができる。ある代替実行形態では、ブロックに記載された1つの機能又は複数の機能は、図に記された順番で実行されなくてよい。例えば、ある場合には、関連する機能性によって、連続して示す2つのブロックを実質的に同時に実行することができる、又はブロックを反対の順番に実行することがしばしば可能である。
さらに、本開示において示すソフトウェアコンポーネント、ハードウェアコンポーネント、及びデータ構造の異なるブロック図は、異なる有利な実施形態を実行可能である1つの方法を示す目的で提供されたものであり、異なる実施形態が取ることができる形態を示すものではない。例えば、ブロック図の幾つかは、ソフトウェアの実行形態と組み合わせる又はソフトウェアの実行形態にさらに分割することが可能な機能ブロックを示す。また、これらの実施例に示すハードウェア及びアーキテクチャは、異なる有利な実施形態において変化させることができる。また、グラフィカルユーザーインターフェースの異なる実施例は、ユーザーインターフェースを実行可能である1つの方法を示す目的で記載されている。これらの実施例はまた、異なる有利な実施形態を実行可能である方法を限定するように意図されたものでもない。
異なる有利な実施形態は、全体的にハードウェアベースの実施形態、全体的にソフトウェアベースの実施形態又はハードウェア及びソフトウェア要素の両方を含む実施形態の形態を取ることができる。幾つかの実施形態は、例えば形態に限定されないが、ファームウェア、常駐ソフトウェア、及びマイクロコード等を含むソフトウェアにおいて実行される。
さらに、異なる実施形態は、命令を実行するコンピュータ又は任意のデバイス又はシステムによって又はこれらに関連して使用されるプログラムコードを提供するコンピュータが使用可能な又はコンピュータが読み取り可能な媒体からアクセス可能なコンピュータプログラム製品の形態を取ることができる。本開示の目的のために、コンピュータが使用可能な又はコンピュータが読み取り可能な媒体は概して、命令を実行するシステム、装置、又はデバイスによって又はこれらに関連して使用されるプログラムを含む、保存する、通信する、伝送する、又は運ぶことができる任意の触知可能な装置であってよい。
コンピュータが使用可能な又はコンピュータが読み取り可能な媒体は、例えば非限定的に、電子、磁気、光学、電磁気、赤外線、又は半導体システム、又は伝播媒体であってよい。コンピュータが読み取り可能な媒体の非限定的な実施例には、半導体又はソリッドステートメモリ、磁気テープ、取り外し可能なコンピュータディスケット、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、剛体磁気ディスク、フロッピー(登録商標)磁気ディスク、及び光ディスクが含まれる。光ディスクには、コンパクトディスク−読取専用メモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)及びDVDを含むことができる。
さらに、コンピュータが使用可能な又はコンピュータが読み取り可能な媒体は、コンピュータが読み取り可能な又は使用可能なプログラムコードがコンピュータ上で実行される時に、このコンピュータが読み取り可能な又は使用可能なプログラムコードを実行することにより、コンピュータが一又は複数の通信リンク上で別のコンピュータが読み取り可能な又は使用可能なプログラムコードを伝送するように、コンピュータが読み取り可能な又は使用可能なプログラムコードを含む又は保存することができる。各通信リンクは有線又は無線のいずれかであってよい。
コンピュータが読み取り可能な又はコンピュータが使用可能なプログラムコードの保存及び/又は実行に好適なデータ処理システムは、例えばシステム・バス等の通信ファブリックを介して直接に又は間接的にメモリ要素につながっている一又は複数のプロセッサを含む。メモリ要素は、コードの実行中に大規模記憶装置からコードを読み出す可能性のある回数を減らすために、少なくとも幾つかのコンピュータが読み取り可能な又はコンピュータが使用可能なプログラムコードの一時記憶装置となる、プログラムコード、大規模記憶装置、およびキャッシュメモリの実際の実行中に用いられるローカルメモリを含むことができる。
入力/出力(又はI/O)デバイスを、直接、又は介在I/Oコントローラを介してのいずれかにおいてシステムにつなげることができる。これらのデバイスは例えば非限定的に、キーボード、タッチスクリーン表示、及びポインティングデバイスを含むことができる。異なる通信アダプタをシステムにつなげることもでき、これによりデータ処理システムが介在構内又は公衆ネットワークを介して、他のデータ処理システム又はリモートプリンタ又は記憶装置に接合することが可能になる。非限定的な実施例は、モデム及びネットワークアダプタであり、これらは現在利用可能なタイプの通信アダプタのほんの一例である。
ロード可能な航空機用ソフトウェアパーツ(LSAP)の配信方法及び装置
実施形態は下記のように請求できる:
A1 航空機用ソフトウェアパーツ管理装置であって、この装置は:データ処理システムに付随するライブラリーであって、一連の航空機の一連の航空機用ソフトウェアパーツを管理するライブラリーと;複数の航空機用ソフトウェアパーツを受信し、一連の航空機用ソフトウェアパーツをライブラリーへ送信することができる受信モジュールと;ライブラリーと通信しているプロキシ・サーバーであって、一連の航空機クライアントに対応することができるプロキシ・サーバーと;一連の航空機の内のある航空機の機内電子配信システムであって、一連の航空機クライアントのうちの一の航空機クライアントであり、プロキシ・サーバーを介してライブラリーからその航空機向けの航空機用ソフトウェアパーツを受信できる機内電子配信システムと;ポータブルソフトウェアメンテナンスツールであって、航空機の機内電子配信システムへ航空機用ソフトウェアパーツを送信するための代替ルートを提供するポータブルソフトウェアメンテナンスツールを備える。
A2 ライブラリーにより、航空機用ソフトウェアパーツを含むクレートが作成され、航空機用ソフトウェアパーツがクレートに格納されて機内電子配信システムに送られる、請求項A1の航空機用ソフトウェアパーツ管理装置。
A3 プロキシ・サーバーがデータ処理システムに付随している、請求項A1の航空機用ソフトウェアパーツ管理装置。
A4 ポータブルソフトウェアメンテナンスツールがプロキシ・サーバーに接続して航空機用ソフトウェアパーツを受信し、航空機用ソフトウェアパーツとともに、機内電子配信システムを含む航空機上に移動されて、機内電子配信システムに接続して航空機用ソフトウェアパーツを機内電子配信システムへ転送する、請求項A1の航空機用ソフトウェアパーツ管理装置。
A5 機内電子配信システムが、航空機上の一連の列線交換ユニットからデータをプロキシ・サーバーにダウンリンクして、ダウンリンクデータを形成し、プロキシ・サーバーからライブラリーへダウンリンクデータが送られ保存される、請求項A1の航空機用ソフトウェアパーツ管理装置。
A6 航空機用ソフトウェアパーツがクレート内に格納されてライブラリーから機内電子配信システムへ移される、請求項A1の航空機用ソフトウェアパーツ管理装置。
A7 複数の航空機用ソフトウェアパーツを管理するための、コンピュータによって実行される方法であって、このコンピュータによって実行される方法は:ライブラリーに航空機用ソフトウェアパーツを保存し;航空機用ソフトウェアパーツに対する航空機を特定して、特定された航空機を形成し;ライブラリーからプロキシ・サーバーへ航空機用ソフトウェアパーツを送信し;プロキシ・サーバーから特定された航空機の機内電子配信システムへ航空機用ソフトウェアパーツを送信することを含む。
A8 プロキシ・サーバーから特定された航空機上の機内電子配信システムへ航空機用ソフトウェアパーツを送信するステップが:通信リンクを使用して、プロキシ・サーバーから特定された航空機上の機内電子配信システムへ航空機用ソフトウェアパーツを送信することを含む、請求項A7のコンピュータによって実行される方法。
A9 プロキシ・サーバーから特定された航空機上の機内電子配信システムへ航空機用ソフトウェアパーツを送信するステップが:ポータブルソフトウェアメンテナンスツールを使用して、プロキシ・サーバーから特定された航空機上の機内電子配信システムへ航空機用ソフトウェアパーツを送信することを含む、請求項A7のコンピュータによって実行される方法。
A10 保存ステップが:サプライヤから航空機用ソフトウェアパーツを受信して、受信された航空機用ソフトウェアパーツを形成し;航空機用ソフトウェアパーツを処理して、処理された航空機用ソフトウェアパーツを形成し;処理された航空機用ソフトウェアパーツをライブラリーに保存することを含む、請求項A7のコンピュータによって実行される方法。
A11 航空機からデータをダウンロードするために、プロキシ・サーバーを介してライブラリーから機内電子配信システムへコマンドを送信し;コマンドの送信に応答して、プロキシ・サーバーを介してライブラリーでデータを受信することをさらに含む、請求項A7のコンピュータによって実行される方法。
A12 ポータブルコンピュータ上でライブラリーからソフトウェアメンテナンスツールへ航空機用ソフトウェアパーツを送信し;ポータブルコンピュータを航空機用ソフトウェアパーツとともに航空機に移動し;ポータブルコンピュータを航空機へ移動した後に、ソフトウェアメンテナンスツールと航空機上の機内電子配信システムとの間に通信リンクを確立して、確立した通信リンクを形成し;確立した通信リンクを介して、ソフトウェアメンテナンスツールから機内電子配信システムへ航空機用ソフトウェアパーツを送信することをさらに含む、請求項A7のコンピュータによって実行される方法。
航空機用ソフトウェアパーツを管理するための、コンピュータによって実行される方法及び装置である。航空機用ソフトウェアパーツ管理装置は、ライブラリー、受信モジュール、プロキシ・サーバー、航空機上の機内電子配信システム、及びポータブルソフトウェアメンテナンスツールを備える。地上データ処理システム上のライブラリーは、航空機向けの航空機用ソフトウェアパーツを保存し管理する。受信モジュールは、サプライヤから航空機用ソフトウェアパーツを受信し、航空機用ソフトウェアパーツをライブラリーへ送信することができる。プロキシ・サーバーはライブラリーと通信しており、ソフトウェアを複数の航空機クライアントへ配信することができる。機内電子配信システムは航空機クライアントであり、プロキシ・サーバーを介してライブラリーから航空機向けの航空機用ソフトウェアパーツを受信できる。ポータブルソフトウェアメンテナンスツールにより、航空機向けの航空機用ソフトウェアパーツを機内電子配信システムへ送信するための代替ルートが提供される。
クレートツール
実施形態は下記のように請求できる:
B1 航空機用ソフトウェアパーツを処理するための、コンピュータによって実行される方法であって、このコンピュータによって実行される方法は:航空機用ソフトウェアパーツ管理装置外のソースから航空機用ソフトウェアパーツを含む受信クレートを受信し、受信クレートと航空機用ソフトウェアパーツの一連の署名を認証し;一連の署名が有効であることに応答して、受信クレートをアンパックし;受信クレートのコンテンツを表示し;クレートをアンパックして航空機用ソフトウェアパーツを入手し;航空機用ソフトウェアパーツ管理装置のライブラリーへ航空機用ソフトウェアパーツをアップロードする要求に応答して、航空機用ソフトウェアパーツがポリシーに合っているかを判定し;航空機用ソフトウェアパーツがポリシーに合っていることに応答して、航空機用ソフトウェアパーツに署名を付与して、署名付き航空機用ソフトウェアパーツを形成し;署名付き航空機用ソフトウェアパーツをクレート内に格納し;署名付き航空機用ソフトウェアパーツを含むクレートに署名を付与して、署名付きクレートを形成し、ここで、署名付き航空機用ソフトウェアパーツと署名付きクレートの署名は、受信クレート内の一連の署名とは異なり;署名付きクレートを航空機用ソフトウェアパーツ管理装置のライブラリーへ送信することを含む。
B2 航空機用ソフトウェアパーツと他のシステム構成部品のメタデータを特定することをさらに含む、請求項B1のコンピュータによって実行される方法。
B3 航空機用ソフトウェアパーツが第1の署名付き航空機用ソフトウェアパーツであり、署名付き航空機用ソフトウェアパーツが、第1の署名付き航空機用ソフトウェアパーツとは異なる署名を使用して署名が付与される、請求項B1のコンピュータによって実行される方法。
B4 署名付き航空機用ソフトウェアパーツ又はクレートの署名はメーカー、航空会社、又はサプライヤからのものである、請求項B1のコンピュータによって実行される方法。
B5 保存ステップが、航空機用ソフトウェアパーツをファイルシステムのディレクトリに保存することを含む、請求項B1のコンピュータによって実行される方法。
B6 ユーザー入力を受信して、複数の保存された航空機用ソフトウェアパーツの操作を行うことが可能なユーザーインターフェースを表示することをさらに含む、請求項B1のコンピュータによって実行される方法。
B7 システム構成部品を処理するための、コンピュータによって実行される方法であって、このコンピュータによって実行される方法は:システム構成部品を含むクレートを受信して、受信されたクレートを形成し;クレートとシステム構成部品の一連の署名が有効であるかどうかを判定し;一連の署名が有効である判定に応答して、システム構成部品を保存することを含む。
B8 システム構成部品が有効であるかどうかを判定することをさらに含む、請求項B7のコンピュータによって実行される方法。
B9 システム構成部品が有効であるかどうかを判定するステップが、システム構成部品をポリシーに照らし合わせることを含む、請求項B7のコンピュータによって実行される方法。
B10 システム構成部品が航空機用ソフトウェアパーツであり、ポリシーが航空機用ソフトウェアパーツ規格である、請求項B9のコンピュータによって実行される方法。
B11 有効なシステム構成部品をアップロードするユーザー入力に応答して、有効なシステム構成部品に署名を付与し、クレート内に有効なシステム構成部品を格納し、クレートに署名を付与し、クレートを航空機用ソフトウェアパーツ管理装置のライブラリーへ送信することをさらに含む、請求項B7のコンピュータによって実行される方法。
B12 ユーザー入力に応答して、ファイルシステムのシステム構成部品を含む複数のシステム構成部品を編成することをさらに含む、請求項B7のコンピュータによって実行される方法。
B13 一連のシステム構成部品を操作するユーザー入力を受信できるユーザーインターフェースを表示することをさらに含む、請求項B7のコンピュータによって実行される方法。
B14 一連のシステム構成部品の動的解除/配信ステータスをサポートし指示することができるユーザーインターフェースを表示することをさらに含む、請求項B7のコンピュータによって実行される方法。
B15 一連の署名が、システム構成部品の第1署名と、クレートの第2署名を含む、請求項B7のコンピュータによって実行される方法。
B16 クレートが、一次システム構成部品と、一連の付加的システム構成部品を含む、請求項B7のコンピュータによって実行される方法。
B17 データ処理システムであって:バスと;バスに接続され、プログラムコードを含む記憶デバイスと;バスに接続されたプロセッサ装置であって、航空機用ソフトウェアパーツ管理装置外のソースから航空機用ソフトウェアパーツを含む受信クレートを受信し;受信クレートと航空機用ソフトウェアパーツの一連の署名を認証し;一連の署名が有効であることに応答して受信クレートをアンパックし;受信クレートのコンテンツを表示し;航空機用ソフトウェアパーツを保存し;航空機用ソフトウェアパーツを航空機用ソフトウェアパーツ管理装置のライブラリーへアップロードする要求に応答して、航空機用ソフトウェアパーツがポリシーに合っているかどうかを判定し;航空機用ソフトウェアパーツがポリシーに合っていることに応答して、航空機用ソフトウェアパーツに署名を付与して署名付き航空機用ソフトウェアパーツを形成し;署名付き航空機用ソフトウェアパーツをクレート内に格納し;署名付き航空機用ソフトウェアパーツを含むクレートに署名を付与して、署名付きクレートを形成し、ここで署名付き航空機用ソフトウェアパーツと署名付きクレートの署名は受信クレートの一連の署名とは異なっており;署名付きクレートを航空機用ソフトウェアパーツ管理装置のライブラリーへ送信するためのプログラムコードを実行するプロセッサ装置を備える。
B18 プロセッサ装置がプログラムコードをさらに実行して、航空機用ソフトウェアパーツのメタデータを特定する、請求項B17のデータ処理システム。
B19 ポリシーが航空機用ソフトウェアパーツの工業規格である、請求項B17のデータ処理システム。
B20 署名付き航空機用ソフトウェアパーツと署名付きクレートの署名は、航空会社、サプライヤ、又はメーカーからのものである、請求項B17のデータ処理システム。
B21 航空機用ソフトウェアパーツを保存するプログラムコードの実行において、プロセッサ装置が、航空機用ソフトウェアパーツをファイルシステムのディレクトリに保存するプログラムコードを実行する、請求項B17のデータ処理システム。
航空機用ソフトウェアパーツを処理するための、コンピュータによって実行される方法、装置及びコンピュータプログラム製品である。ソースから航空機用ソフトウェアパーツを含むクレートが受信される。クレートと航空機用ソフトウェアパーツの署名が認証される。署名が有効である場合、クレートがアンパックされる。受信クレートのコンテンツが表示される。航空機用ソフトウェアパーツがアンパックされる。保存されたパーツを航空機用ソフトウェアパーツ管理装置のライブラリーへアップロードする要求に応答して、保存されたパーツがポリシーに合っているかどうかが判定される。保存されたパーツがポリシーに合っている場合、パーツに署名が付与される。署名付きパーツはクレート内に格納され、署名が付与されて署名付きクレートが形成され、ここで署名付き航空機用ソフトウェアパーツと署名付きクレートの署名は受信クレートの一連の署名とは異なっている。署名付きクレートはライブラリーへ送られる。
航空機用ソフトウェアパーツを配信するためのプロキシ・サーバー
実施形態は下記のように請求できる:
C1 航空機用ソフトウェアパーツを管理するための、コンピュータによって実行される方法であって、このコンピュータによって実行される方法は:航空機ネットワークデータ処理システムのライブラリーから、一連の航空機用ソフトウェアパーツと、一連の航空機用ソフトウェアパーツについてのメタデータを読み出して、読み出した一連の航空機用ソフトウェアパーツを形成し;一連の航空機用ソフトウェアパーツをファイルシステムに保存し;データベースにメタデータを保存し;一連の航空機用ソフトウェアパーツとメタデータを機内電子配信システムへ送信し;地上コンポーネントインターフェースと、機内電子配信システムとの間の通信リンク;及び通信リンク上のやり取りについてのステータス情報を保持することを含む。
C2 ステータス情報をライブラリーへ送信することをさらに含む、請求項C1のコンピュータによって実行される方法。
C3 ステータス情報が、一連の航空機用ソフトウェアパーツのうちの航空機用ソフトウェアパーツが航空機上の列線交換ユニットにインストールされる準備ができているかどうかの識別を含む、請求項C2のコンピュータによって実行される方法。
C4 一連の航空機用ソフトウェアパーツが第1の一連の航空機用ソフトウェアパーツであり、メタデータが第1メタデータであり、機内電子配信システムが第1の機内電子配信システムであり、通信リンクが第1通信リンクであり、さらに:一連の航空機用ソフトウェアパーツとメタデータを機内電子配信システムへ送信すると同時に、第2の一連の航空機用ソフトウェアパーツと第2メタデータを、地上コンポーネントインターフェースと第2の機内電子配信システムとの間の第2通信リンクを介して第2の機内電子配信システムへ送信することを含む、請求項C1のコンピュータによって実行される方法。
C5 ライブラリーから一連のコマンドを受信して、受信した一連のコマンドを形成し、地上コンポーネントインターフェースと第2の機内電子配信システムとの間の第2通信リンクを介して、第2の機内電子配信システムへ受信した一連のコマンドを送信することをさらに含む、請求項C1のコンピュータによって実行される方法。
C6 一連のコマンドが、削除コマンド及びダウンリンクコマンドのうちの少なくとも1つを含む、請求項C5のコンピュータによって実行される方法。
C7 地上コンポーネントインターフェースと第2の機内電子配信システムとの間の第2通信リンクを介してダウンリンクデータを受信し、ダウンリンクデータをファイルシステムに保存して、保存したダウンリンクデータを形成し、保存したダウンリンクデータをライブラリーに送信することをさらに含む、請求項C5のコンピュータによって実行される方法。
C8 ファイルシステム;データベース;ファイルシステムに保存された一連の航空機用ソフトウェアパーツ;データベースに保存された一連のコマンド;複数の航空機上の複数の機内電子配信システムと情報交換ができる地上コンポーネント;一連のコマンド及び一連の航空機用ソフトウェアパーツをライブラリーから受信して、一連のコマンド及び一連の航空機用ソフトウェアパーツを複数の航空機へ送信することができる制御プロセス;及びデータ処理システムを備える装置であって、ファイルシステム、データベース、一連の航空機用ソフトウェアパーツ、一連のコマンド、地上コンポーネント、及び制御プロセスがデータ処理システム上のソフトウェアコンポーネントである装置。
C9 制御プロセスにより、一連のコマンドと一連の航空機用ソフトウェアパーツをポータブルデータ処理システム上のソフトウェア管理ツールへ送信することがさらに可能である、請求項C8の装置。
C10 地上コンポーネントにより、ダウンリンクデータを受信しファイルシステムにダウンリンクデータを保存することができる、請求項C8の装置。
C11 制御プロセスにより、ダウンリンクデータをファイルシステムからライブラリーへ転送することが可能である、請求項C8の装置。
C12 一連の航空機用ソフトウェアパーツのうちの航空機用ソフトウェアパーツがクレートに格納されてライブラリーから受信される、請求項C8の装置。
C13 装置が空港、又はメンテナンス施設に位置する、請求項C8の装置。
C14 コンピュータプログラム製品であって:コンピュータが読み取り可能な媒体;一連の航空機用ソフトウェアパーツと一連の航空機用ソフトウェアパーツについてのメタデータを航空機ネットワークデータ処理システムのライブラリーから読み出して、読み出された一連の航空機用ソフトウェアパーツを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコード;一連の航空機用ソフトウェアパーツをファイルシステムに保存するための、コンピュータが読み取り可能な媒体に保存されたプログラムコード;データベースにメタデータを保存するための、コンピュータが読み取り可能な媒体に保存されたプログラムコード;一連の航空機用ソフトウェアパーツとメタデータを機内電子配信システムへ送信するための、コンピュータが読み取り可能な媒体に保存されたプログラムコード;地上コンポーネントインターフェースと、機内電子配信システムとの間の通信リンク;及び通信リンク上のやり取りについてのステータス情報を保持するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードを含む、コンピュータプログラム製品。
C15 ステータス情報をライブラリーへ送信するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードをさらに含む、請求項C14のコンピュータプログラム製品。
C16 ステータス情報が、一連の航空機用ソフトウェアパーツのうちの航空機用ソフトウェアパーツが航空機上の列線交換ユニットにインストールされる準備ができているかどうかの識別を含む、請求項C15のコンピュータプログラム製品。
C17 一連の航空機用ソフトウェアパーツが第1の一連の航空機用ソフトウェアパーツであり、メタデータが第1メタデータであり、機内電子配信システムが第1の機内電子配信システムであり、通信リンクが第1通信リンクであり、さらに:一連の航空機用ソフトウェアパーツとメタデータを機内電子配信システムへ送信すると同時に、第2の一連の航空機用ソフトウェアパーツと第2メタデータを、地上コンポーネントインターフェースと第2の機内電子配信システムとの間の第2通信リンクを介して第2の機内電子配信システムへ送信するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードを含む、請求項C14のコンピュータプログラム製品。
C18 一連のコマンドをライブラリーから受信して受信した一連のコマンドを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと、受信した一連のコマンドを、地上コンポーネントインターフェースと第2の機内電子配信システムとの間の第2通信リンクを介して第2の機内電子配信システムへ送信するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードをさらに含む、請求項C14のコンピュータプログラム製品。
C19 一連のコマンドが、削除コマンドとダウンリンクコマンドのうちの少なくとも1つを含む、請求項C18のコンピュータプログラム製品。
C20 地上コンポーネントインターフェースと第2の機内電子配信システムとの間の第2通信リンクを介してダウンリンクデータを受信するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと、ダウンリンクデータをファイルシステムに保存して、保存されたダウンリンクデータを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと、保存されたダウンリンクデータをライブラリーへ送信するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードをさらに含む、請求項C18のコンピュータプログラム製品。
航空機用ソフトウェアパーツを管理するための、コンピュータによって実行される方法、装置、及びコンピュータプログラム製品である。有利な一実施形態では、方法は、一連の航空機用ソフトウェアパーツと一連の航空機用ソフトウェアパーツについてのメタデータを航空機ネットワークデータ処理システムのライブラリーから読み出して、読み出した一連の航空機用ソフトウェアパーツを形成することを含む。一連の航空機用ソフトウェアパーツはファイルシステムに保存される。メタデータはデータベースに保存される。一連の航空機用ソフトウェアパーツとメタデータは、機内電子配信システム、地上コンポーネントインターフェース及び機内電子配信システムとの間の通信リンクへ送信される。通信リンク上のやり取りについてのステータス情報が保持される。
航空機ネットワークにおいてコマンドを処理する方法及び装置
実施形態は下記のように請求できる:
D1 ネットワークデータ処理システムにおいてコマンドを処理するための、コンピュータによって実行される方法であって、このコンピュータによって実行される方法は:複数の航空機のある航空機向けに一連のコマンドを作成し;ネットワークデータ処理システムのライブラリーの一連のキューに一連のコマンドを保存して、保存された一連のコマンドを形成し;あるイベントに応答して、保存された一連のコマンドをネットワークデータ処理システム上で実行されているプロキシ・サーバー・アプリケーションへ送信して、配信された一連のコマンドを形成し;プロキシ・サーバー・アプリケーションと、航空機上の航空機データ処理システム上で実行されている機内電子配信システムとの間の接続を確立し;機内電子配信システムによってプロキシ・サーバー・アプリケーションから配信された一連のコマンドを要求し;機内電子配信システムによってプロキシ・サーバー・アプリケーションから配信された一連のコマンドを受信して、受信した一連のコマンドを形成し;機内電子配信システムによって受信した一連のコマンドを処理して、処理された一連のコマンドを形成し;処理された一連のコマンドが一連のアップリンクコマンドである場合に、処理された一連のコマンドを使用して、航空機上の対象となる一連のデータ処理システムへ一連の航空機用ソフトウェアパーツを送信することを含む。
D2 処理ステップが:一連のコマンドのうちのあるコマンドのコマンドタイプを特定して、特定されたコマンドを形成し;対応する航空機用ソフトウェアパーツに対するコマンドがアップリンクコマンドである場合、一連の航空機用ソフトウェアパーツのうちの対応する航空機用ソフトウェアパーツを要求して、要求された航空機用ソフトウェアパーツを形成し;要求された航空機用ソフトウェアパーツを受信することを含む、請求項D1のコンピュータによって実行される方法。
D3 配信された一連のコマンドが一連のクレートに格納されて送信され、一連のクレートの各クレートはデジタル署名によって署名が付与されている、請求項D1のコンピュータによって実行される方法。
D4 処理ステップが、一連のクレートの各クレートのデジタル署名を認証することを含む、請求項D3のコンピュータによって実行される方法。
D5 処理ステップが、特定されたコマンドがダウンリンクコマンドである場合、機内電子配信システムからダウンリンクデータを要求することをさらに含む、請求項D2のコンピュータによって実行される方法。
D6 機内電子配信システムによって、航空機上の選択されたデータ処理システムからデータを読み出して、読み出されたデータを形成し;機内電子配信システムによって、クレート内に読み出されたデータを格納してダウンリンクデータを形成し;機内電子配信システムからプロキシ・サーバーへ接続部を介してダウンリンクデータを送信して、受信されたダウンリンクデータを形成し;受信されたダウンリンクデータをライブラリーへ送信することをさらに含む、請求項D5のコンピュータによって実行される方法。
D7 処理ステップが、特定されたコマンドが削除コマンドである場合、データ処理システムを特定して、対象のデータ処理システムを形成し;特定されたコマンドを対象のデータ処理システムへ送信して、対象のデータ処理システム上のリソースを削除することを含む、請求項D2のコンピュータによって実行される方法。
D8 コマンドを処理するための、コンピュータによって実行される方法であって、コンピュータによって実行される方法は:ネットワークデータ処理システムのライブラリーの一連のコマンドを特定して、特定された一連のコマンドを形成し;特定された一連のコマンドをネットワークデータ処理システム上で実行中のプロキシ・サーバー・アプリケーションへ送信して、配信された一連のコマンドを形成し;プロキシ・サーバー・アプリケーションと、航空機上の航空機データ処理システム上で実行中の機内電子配信システムとの間の接続を確立し;プロキシ・サーバー・アプリケーションから配信された一連のコマンドを機内電子配信システムへ送信して、接続部を介して受信された一連のコマンドを形成し;機内電子配信システムによって受信された一連のコマンドを処理して、処理された一連のコマンドを形成し;処理された一連のコマンドが一連のアップリンクコマンドである場合は、処理された一連のコマンドを使用して、航空機データ処理システム上に位置する保存された一連の航空機用ソフトウェアパーツを航空機上の対象の一連のデータ処理システムへ送信することを含む。
D9 一連の航空機用ソフトウェアパーツを航空機データ処理システムへ送信して、保存された一連の航空機用ソフトウェアパーツを形成することをさらに含む、請求項D8のコンピュータによって実行される方法。
D10 処理ステップが、一連のコマンドのうちのあるコマンドのコマンドタイプを特定して、特定されたコマンドを形成し、特定されたコマンドを実行することを含む、請求項D8のコンピュータによって実行される方法。
D11 特定されたコマンドが削除コマンドであり、実行ステップが、対象の一連のデータ処理システムから対応する航空機用ソフトウェアパーツを削除することを含む、請求項D10のコンピュータによって実行される方法。
D12 特定されたコマンドがダウンリンクコマンドであり、実行ステップが、プロキシ・サーバー・アプリケーションを介して対象の一連のデータ処理システムのうちの選択された対象のデータ処理システムからライブラリーへデータをダウンリンクすることを含む、請求項D10のコンピュータによって実行される方法。
D13 プロキシ・サーバー・アプリケーションから機内電子配信システムへ配信された一連のコマンドを送信して接続部を介して受信された一連のコマンドを形成するステップが、プロキシ・サーバー・アプリケーションからポータブルデータ処理システム上で実行中のソフトウェア管理ツールを介して機内電子配信システムへ配信された一連のコマンドを送信して、接続部を介して受信された一連のコマンドを形成することを含む、請求項D8のコンピュータによって実行される方法。
D14 コンピュータプログラム製品であって:コンピュータが読み取り可能な媒体と;複数の航空機のうちのある航空機向けの一連のコマンドを作成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと;一連のコマンドをネットワークデータ処理システムのライブラリーの一連のキューに保存して、保存された一連のコマンドを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと;あるイベントに応答して、保存された一連のコマンドをネットワークデータ処理システム上で実行中のプロキシ・サーバー・アプリケーションへ送信して、配信された一連のコマンドを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと;プロキシ・サーバー・アプリケーションと、航空機上の航空機データ処理システム上で実行中の機内電子配信システムとの間に接続を確立するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと;機内電子配信システムによってプロキシ・サーバー・アプリケーションから配信された一連のコマンドを要求するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと;配信された一連のコマンドを機内電子配信システムによってプロキシ・サーバー・アプリケーションから受信して、受信された一連のコマンドを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと;機内電子配信システムによって受信された一連のコマンドを処理して、処理された一連のコマンドを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと;処理された一連のコマンドが一連のアップリンクコマンドである場合に、処理された一連のコマンドを使用して、航空機上の対象の一連のデータ処理システムへ一連の航空機用ソフトウェアパーツを送信するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードを含む製品。
D15 機内電子配信システムによって受信された一連のコマンドを処理して、処理された一連のコマンドを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードが:一連のコマンドのうちのあるコマンドのコマンドタイプを特定して、特定されたコマンドを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと;対応する航空機用ソフトウェアパーツに対するコマンドがアップリンクコマンドである場合、一連の航空機用ソフトウェアパーツのうちの対応する航空機用ソフトウェアパーツを要求して、要求された航空機用ソフトウェアパーツを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと;要求された航空機用ソフトウェアパーツを受信するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードを含む、請求項D14のコンピュータプログラム製品。
D16 配信された一連のコマンドが一連のクレートに格納されて送信され、一連のクレートの各クレートはデジタル署名で署名が付与されている、請求項D14のコンピュータプログラム製品。
D17 機内電子配信システムによって受信された一連のコマンドを処理して、処理された一連のコマンドを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードが、一連のクレートの各クレートのデジタル署名を認証するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードを含む、請求項D16のコンピュータプログラム製品。
D18 機内電子配信システムによって受信された一連のコマンドを処理して、処理された一連のコマンドを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードが:特定されたコマンドがダウンリンクコマンドである場合に、機内電子配信システムからダウンリンクデータを要求するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードをさらに含む、請求項D15のコンピュータプログラム製品。
D19 機内電子配信システムによって、航空機上の選択されたデータ処理システムからデータを読み出して、読み出されたデータを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと;機内電子配信システムによってクレート内に読み出されたデータを格納して、ダウンリンクデータを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと;接続部を介して機内電子配信システムからプロキシ・サーバーへダウンリンクデータを送信して、受信されたダウンリンクデータを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと;ライブラリーへ受信されたダウンリンクデータを送信するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードをさらに含む、請求項D18のコンピュータプログラム製品。
D20 機内電子配信システムによって受信された一連のコマンドを処理して、処理された一連のコマンドを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードが:特定されたコマンドが削除コマンドである場合に、データ処理システムを特定して対象のデータ処理システムを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと;特定されたコマンドを対象のデータ処理システムへ送信して対象のデータ処理システム上のリソースを削除するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードを含む、請求項D15のコンピュータプログラム製品。
ネットワークにおいてコマンドを処理するための方法、装置、及びプログラムコードである。あるプロセスでは、航空機向けに一連のコマンドが作成される。コマンドはネットワークのライブラリーのキューに含まれる。あるイベントに応答して、保存された一連のコマンドが、ネットワークデータ処理システム上で実行中のプロキシ・サーバー・アプリケーションへ送信される。プロキシ・サーバー・アプリケーションと、航空機上の航空機データ処理システム上の機内電子配信システムとの間に接続が確立される。機内電子配信システムによってコマンドが要求される。配信されたコマンドはプロキシ・サーバー・アプリケーションから機内電子配信システムによって受信される。受信されたコマンドは機内電子配信システムによって処理されて、コマンドがアップリンクコマンドである場合には、処理された一連のコマンドを使用して、一連の航空機用ソフトウェアパーツが航空機上の対象の一連のデータ処理システムへ送られる。
ソフトウェアメンテナンスツール
実施形態は下記のように請求できる:
E1 航空機用ソフトウェアパーツを管理するための、コンピュータによって実行される方法であって、このコンピュータによって実行される方法は:地上ネットワークを介してポータブルデータ処理システムとソースの間に接続を確立して、確立された接続部を形成し;確立された接続部を介してソースから一連のアップリンクコマンドを読み出し;確立された接続部を介してソースから一連のアップリンクコマンドに対応する一連の航空機用ソフトウェアパーツを読み出して、読み出された一連の航空機用ソフトウェアパーツを形成し;読み出された一連の航空機用ソフトウェアパーツをポータブルデータ処理システムに保存して、保存された一連の航空機用ソフトウェアパーツを形成し;地上ネットワークから、保存された一連の航空機用ソフトウェアパーツを有するポータブルデータ処理システムの接続を解除し;保存された一連の航空機用ソフトウェアパーツを有するポータブルデータ処理システムを航空機上の航空機ネットワークへ接続し;ポータブルデータ処理システムの地上コンポーネントを介して一連のアップリンクコマンドから航空機ネットワークへアップリンクコマンドを発信し;アップリンクコマンドに対応する保存された航空機用ソフトウェアパーツを、地上コンポーネントを介して航空機ネットワークへ送信することを含む。
E2 航空機ネットワークから一連のダウンリンクファイルを受信して、受信された一連のダウンリンクファイルを形成することをさらに含む、請求項E1のコンピュータによって実行される方法。
E3 ステータスから、複数の航空機用ソフトウェアパーツのうちの各航空機用ソフトウェアパーツが航空機ネットワークへ良好に送信されたことを識別し;その後の地上ネットワークとの接続が確立されたことに応答して、ステータスをソースに送信することをさらに含む、請求項E1のコンピュータによって実行される方法。
E4 送信ステップが、地上コンポーネントを介して航空機ネットワーク上の機内電子配信システムへ保存された航空機用ソフトウェアパーツを送信することを含む、請求項E1のコンピュータによって実行される方法。
E5 一連のグラフィカルユーザーインターフェースを介してポータブルデータ処理システムの操作を制御することをさらに含む、請求項E1のコンピュータによって実行される方法。
E6 アップリンクコマンドを作成してポータブルデータ処理システムに保存された航空機用ソフトウェアパーツを、一連のグラフィカルユーザーインターフェースのうちのあるグラフィカルユーザーインターフェースを介して航空機ネットワークへ送信することをさらに含む、請求項E5のコンピュータによって実行される方法。
E7 ポータブル媒体から航空機用ソフトウェアパーツを受信して、受信された航空機用ソフトウェアパーツを形成し;受信された航空機用ソフトウェアパーツをポータブルデータ処理システムに保存して、保存された航空機用ソフトウェアパーツを形成することをさらに含む、請求項E1のコンピュータによって実行される方法。
E8 アップリンクコマンドを作成して、保存された航空機用ソフトウェアパーツをグラフィカルユーザーインターフェースを介して航空機ネットワークへ送信することをさらに含む、請求項E7のコンピュータによって実行される方法。
E9 一連のアップリンクコマンドをポータブルデータ処理システムに保存することをさらに含む、請求項E1のコンピュータによって実行される方法。
E10 確立された接続を介してソースからアップリンクコマンドに対応する一連の航空機用ソフトウェアパーツを読み出して、読み出された一連の航空機用ソフトウェアパーツを形成するステップが:確立された接続を介してソースから一連のクレートのうちのアップリンクコマンドに対応する一連の航空機用ソフトウェアパーツを読み出して、読み出された一連の航空機用ソフトウェアパーツを形成することを含む、請求項E1のコンピュータによって実行される方法。
E11 ソースがライブラリー及びプロキシ・サーバー・アプリケーションのうちの1つから選択される、請求項E1のコンピュータによって実行される方法。
E12 一連のコマンドを保存できるデータベース;一連の航空機用ソフトウェアパーツを保存できるファイルシステム;ライブラリー及びプロキシ・サーバー・アプリケーションのうちの1つから選択されるソースと通信できるライブラリーサービス;航空機ネットワークのうちのある航空機ネットワークに直接接続可能な地上コンポーネント;ライブラリーサービスを介して地上ネットワークのソースから一連のコマンドと一連の航空機用ソフトウェアパーツを受信し、ソースとの接続を解除し、一連のコマンドと一連の航空機用ソフトウェアパーツを地上コンポーネントを介して航空機ネットワークの航空機データ処理システムへ送信することができるマネージャ;及び、地上ネットワークと航空機ネットワークとの通信リンクを確立することができ、ライブラリーサービス、地上コンポーネント、データベース、及びファイルシステムが位置しているポータブルデータ処理システムを含む装置。
E13 マネージャが、一連の航空機用ソフトウェアパーツの航空機データ処理システムへの転送を開始するのに使用されるグラフィカルユーザーインターフェースを示すことができる複数の表示のうちの少なくとも1つを含む、請求項E12の装置。
E14 複数の表示が、アップリンクコマンドキュー表示、アップリンク・ローカル・インベントリ表示、ダウンリンク済みファイル表示、イベントコンソール表示、及びライブラリーからの読み出し表示を含む、請求項E13の装置。
E15 データベースに保存された一連のコマンドと、ファイルシステムに保存された一連の航空機用ソフトウェアパーツをさらに含む、請求項E12の装置。
E16 コンピュータで記録可能な記憶媒体;地上ネットワークを介してポータブルデータ処理システムとソースとの間の接続を確立して、確立された接続を形成するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコード;確立された接続を介してソースから一連のアップリンクコマンドを読み出すための、コンピュータで記録可能な記憶媒体に保存されたプログラムコード;一連のアップリンクコマンドに対応する一連の航空機用ソフトウェアパーツを、確立された接続を介してソースから読み出して、読み出された一連の航空機用ソフトウェアパーツを形成するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコード;ポータブルデータ処理システムに読み出された一連の航空機用ソフトウェアパーツを保存して、保存された一連の航空機用ソフトウェアパーツを形成するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコード;保存された一連の航空機用ソフトウェアパーツを有するポータブルデータ処理システムの地上ネットワークとの接続を解除するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコード;保存された一連の航空機用ソフトウェアパーツを有するポータブルデータ処理システムを航空機の航空機ネットワークに接続するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコード;一連のアップリンクコマンドからあるアップリンクコマンドをポータブルデータ処理システムの地上コンポーネントを介して航空機ネットワークへ発信するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコード;及び、地上コンポーネントを介して航空機ネットワークへアップリンクコマンドに対応する保存された航空機用ソフトウェアパーツを送信するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコードを含む、コンピュータプログラム製品。
E17 一連のダウンリンクファイルを航空機ネットワークから受信して、受信された一連のダウンリンクファイルを形成するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコードをさらに含む、請求項E16のコンピュータプログラム製品。
E18 複数の航空機用ソフトウェアパーツのうちの各航空機用ソフトウェアパーツが航空機ネットワークへ良好に送信されたかどうかをステータスから特定するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコード;及び、地上ネットワークとの次の接続が確立したことに応答して、ステータスをソースへ送信するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコードをさらに含む、請求項E16のコンピュータプログラム製品。
E19 プログラムコードがデータ処理システムのコンピュータで記録可能な記憶媒体に保存されており、プログラムコードはリモートデータ処理システムからネットワークを介してダウンロードされたものである、請求項E16のコンピュータプログラム製品。
E20 プログラムコードがサーバーデータ処理システムのコンピュータで記録可能な記憶媒体に保存されており、プログラムコードはリモートデータ処理システムによって別のコンピュータで保存可能な媒体において使用するために、ネットワークを介してリモートデータ処理システムへダウンロードされたものである、請求項E16のコンピュータプログラム製品。
航空機用ソフトウェアパーツを管理するための、コンピュータによって実行される方法、装置、及びコンピュータプログラム製品である。地上ネットワークを介してポータブルデータ処理システムとソースとの間に接続が確立される。アップリンクコマンドは確立された接続を介してソースから読み出される。アップリンクコマンドに対応する航空機用ソフトウェアパーツは、確立された接続を介してソースから読み出される。読み出された航空機用ソフトウェアパーツはポータブルデータ処理システムに保存される。ポータブルデータ処理システムの地上ネットワークとの接続が解除される。ポータブルデータ処理システムは航空機の航空機ネットワークへ接続される。複数のアップリンクコマンドからあるアップリンクコマンドが、ポータブルデータ処理システムの地上コンポーネントを介して航空機ネットワークへ発信される。アップリンクコマンドに対応する保存された航空機用ソフトウェアパーツは、地上コンポーネントを介して航空機ネットワークへ送信される。
機内電子配信システム
実施形態は下記のように請求できる:
F1 航空機へ情報を転送するための、コンピュータによって実行される方法であって、このコンピュータによって実行される方法は:航空機の航空機データ処理システムにおいて実行中の機内電子配信システムと地上コンポーネントとの間に接続を確立し;地上コンポーネントから接続を介して送られるコマンドの要求に応答して、機内電子配信システムによって実行されるコマンドを特定して、特定されたコマンドを形成し;特定されたコマンドを地上コンポーネントから機内電子配信システムへ送信し;トランザクション識別子をコマンドへ付与し;トランザクション識別子を使用して、機内電子配信システムと地上コンポーネント上のコマンドに関するトランザクションステータスを保持し;地上コンポーネントによってアップリンクを開始し;地上コンポーネントから機内電子配信システムへ航空機用ソフトウェアパーツを送信してアップリンクを行い;地上コンポーネントに航空機用ソフトウェアパーツの転送ステータスを保存することを含む。
F2 機内電子配信システムから地上コンポーネントへ送信された、地上コンポーネントへダウンリンクファイルを送信する別の要求に応答して、ダウンリンクファイルを送信するかどうかを判定し;地上コンポーネントへダウンリンクファイルを送信する判定に応答して、ダウンリンクファイルを地上コンポーネントへ送信することをさらに含む、請求項F1のコンピュータによって実行される方法。
F3 航空機用ソフトウェアパーツを送信するステップが:ステータスが、航空機用ソフトウェアパーツに未送信部分があることを示す場合は、機内電子配信システムへ航空機用ソフトウェアパーツの未送信部分を送信することを含む、請求項F1のコンピュータによって実行される方法。
F4 地上コンポーネントへダウンリンクファイルを送信するステップが:地上コンポーネントへダウンリンクファイルの未送信部分を送信し;地上コンポーネントによって受信されたダウンリンクファイルの未送信部分を、ダウンリンクファイルに対応する部分ダウンリンクファイルに加えることを含む、請求項F2のコンピュータによって実行される方法。
F5 対応するダウンリンクファイルの転送ステータスを使用して、ダウンリンクファイルの未送信部分を特定することをさらに含む、請求項F4のコンピュータによって実行される方法。
F6 機内電子配信システムが位置する航空機データ処理システムの記憶デバイスに航空機用ソフトウェアパーツを保存することをさらに含む、請求項F1のコンピュータによって実行される方法。
F7 ダウンリンクファイルが航空機の列線交換ユニットによって生成されるデータを含む、請求項F2のコンピュータによって実行される方法。
F8 列線交換ユニットが、飛行管理システム、オートパイロット、機内娯楽システム、通信システム、ナビゲーションシステム、フライトコントローラ、フライトレコーダー、及び衝突回避システムのうちの1つから選択される、請求項F7のコンピュータによって実行される方法。
F9 航空機用ソフトウェアパーツが航空機の列線交換ユニットにおいて使用される、請求項F1のコンピュータによって実行される方法。
F10 コンピュータが読み取り可能な媒体;航空機の航空機データ処理システムで実行中の機内電子配信システムと地上コンポーネントとの間の接続を確立するための、コンピュータが読み取り可能な媒体に保存されたプログラムコード;接続を介して機内電子配信システムから送られたコマンドの要求に応答して、機内電子配信システムによって実行されるコマンドを特定して、特定されたコマンドを形成するための、コンピュータが読み取り可能な媒体に保存されたプログラムコード;特定されたコマンドを地上コンポーネントから機内電子配信システムへ送信するための、コンピュータが読み取り可能な媒体に保存されたプログラムコード;トランザクション識別子をコマンドに付与するための、コンピュータが読み取り可能な媒体に保存されたプログラムコード;トランザクション識別子を使用して、機内電子配信システムと地上コンポーネント上のコマンドに関連するトランザクションステータスを保持するための、コンピュータが読み取り可能な媒体に保存されたプログラムコード;機内電子配信システムによってアップリンクを開始するための、コンピュータが読み取り可能な媒体に保存されたプログラムコード;地上コンポーネントから機内電子配信システムへ航空機用ソフトウェアパーツを送信して、アップリンクを行うための、コンピュータが読み取り可能な媒体に保存されたプログラムコード;及び、航空機用ソフトウェアパーツの転送ステータスを保存するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードを含む、コンピュータプログラム製品。
F11 機内電子配信システムから地上コンポーネントへ送信された、地上コンポーネントへダウンリンクファイルを送信する別の要求に応答して、ダウンリンクファイルを送信するかどうかを判定するための、コンピュータが読み取り可能な媒体に保存されたプログラムコード;及び、地上コンポーネントへダウンリンクファイルを送信する判定に応答して、ダウンリンクファイルを地上コンポーネントへ送信するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードをさらに含む、請求項F10のコンピュータプログラム製品。
F12 地上コンポーネントから機内電子配信システムへ航空機用ソフトウェアパーツを送信してアップリンクを行うための、コンピュータが読み取り可能な媒体に保存されたプログラムコードが:ステータスが、航空機用ソフトウェアパーツの未送信部分があることを示す場合に、航空機用ソフトウェアパーツの未送信部分を機内電子配信システムへ送信するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードを含む、請求項F10のコンピュータプログラム製品。
F13 地上コンポーネントへダウンリンクファイルを送信するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードが:地上コンポーネントへダウンリンクファイルの未送信部分を送信するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードと;地上コンポーネントによって受信されたダウンリンクファイルの未送信部分を、ダウンリンクファイルに対応する部分ダウンリンクファイルに加えるための、コンピュータが読み取り可能な媒体に保存されたプログラムコードを含む、請求項F11のコンピュータプログラム製品。
F14 ダウンリンクファイルの対応する転送ステータスを使用して、ダウンリンクファイルの未送信部分を特定するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードをさらに含む、請求項F13のコンピュータプログラム製品。
F15 航空機用ソフトウェアパーツを、機内電子配信システムが位置する航空機データ処理システムの記憶デバイスに保存するための、コンピュータが読み取り可能な媒体に保存されたプログラムコードをさらに含む、請求項F10のコンピュータプログラム製品。
F16 ダウンリンクファイルが、航空機の列線交換ユニットによって生成されるデータを含む、請求項F11のコンピュータプログラム製品。
F17 地上コンポーネント;地上コンポーネントからコマンドを受信できる機内電子配信システム;航空機用ソフトウェアパーツの要求に応答して、地上コンポーネントから航空機用ソフトウェアパーツを受信する地上コンポーネントからのアップリンクコマンドの受信に応答して、アップリンクコマンドに対応する航空機用ソフトウェアパーツを要求して、受信された航空機用ソフトウェアパーツを形成すること;及び、航空機用ソフトウェアパーツを保存すること;地上コンポーネントが実行されるデータ処理システム;及び、機内電子配信システムが実行される航空機データ処理システムを含む装置。
F18 機内電子配信システムが、地上コンポーネントへダウンリンクファイルを送信する要求を地上コンポーネントへ送信し、地上コンポーネントがダウンリンクファイルを受信可能であることの表示に応答して、地上コンポーネントへダウンリンクファイルを送信できる、請求項F17の装置。
F19 航空機データ処理システムが位置する、航空機の航空機ネットワークをさらに含む、請求項F17の装置。
F20 航空機の一連の列線交換ユニットをさらに含み、航空機用ソフトウェアパーツが航空機の一連の列線交換ユニットのうちの列線交換ユニットの1つで使用される、請求項F17の装置。
航空機に情報を転送するための、コンピュータによって実行される方法、装置、及びコンピュータプログラム製品である。航空機の航空機データ処理システムにおいて実行される機内電子配信システムと、地上コンポーネントとの間に接続が確立される。地上コンポーネントからのコマンドの要求に応答して、実行されるコマンドが特定される。特定されたコマンドは、地上コンポーネントから機内電子配信システムへ送信される。トランザクション識別子がコマンドに付与される。コマンドに関連するトランザクションは、トランザクション識別子を使用して機内電子配信システムと地上コンポーネント上で保持される。地上コンポーネントによってアップリンクが開始される。地上コンポーネントから機内電子配信システムへ航空機用ソフトウェアパーツが送信されて、アップリンクが行われる。地上コンポーネントの航空機用ソフトウェアパーツの転送ステータスが保存される。
航空機用ソフトウェアパーツライブラリー
実施形態は下記のように請求できる:
G1 航空機用ソフトウェアパーツを管理するための、コンピュータによって実行される方法であって、コンピュータによって実行される方法は:ライブラリーで航空機用ソフトウェアパーツを受信して、受信された航空機用ソフトウェアパーツを形成し;複数の航空機用ソフトウェアパーツを有するライブラリーの記憶装置に受信された航空機用ソフトウェアパーツを保存し;ライブラリーの複数の航空機用ソフトウェアパーツを操作するためのユーザーインターフェースシステムを提供し;ライブラリーの複数の航空機用ソフトウェアパーツから選択された航空機用ソフトウェアパーツを対象の航空機データ処理システムへアップリンクするユーザー入力をユーザーインターフェースシステムから受信したことに応答して、対象の航空機データ処理システムが位置する航空機に選択された航空機用ソフトウェアパーツを送信するためのコマンドを作成して、アップリンクコマンドを形成し;ライブラリーの記憶装置のキューにアップリンクコマンドを保存して、保存されたアップリンクコマンドを形成し;プロキシ・サーバー・アプリケーションからのコマンドの要求に応答して、保存されたアップリンクコマンドをプロキシ・サーバー・アプリケーションへ配信し;保存されたアップリンクコマンドを処理するプロキシ・サーバー・アプリケーションからの選択された航空機用ソフトウェアパーツの要求の受信に応答して、選択された航空機用ソフトウェアパーツをプロキシ・サーバー・アプリケーションへ送信することを含む。
G2 配信ステップが:プロキシ・サーバー・アプリケーションへの接続の存在に応答して、プロキシ・サーバー・アプリケーションのアップリンクコマンドを特定し;アップリンクコマンドのコマンドデータ構造を作成し;コマンドデータ構造をプロキシ・サーバー・アプリケーションへ送信することを含み、プロキシ・サーバー・アプリケーションがコマンドデータ構造を使用してコマンドの処理を開始し;コマンドデータ構造を送信した後に受信したアップリンクコマンドの別の要求に応答して、アップリンクコマンドをプロキシ・サーバー・アプリケーションへ送信する、請求項G1のコンピュータによって実行される方法。
G3 ソフトウェア管理ツールからのコマンドの要求に応答して、ソフトウェア管理ツールへ保存されたアップリンクコマンドを配信することをさらに含む、請求項G1のコンピュータによって実行される方法。
G4 航空機用ソフトウェアパーツを記憶デバイスのクレートに保存することをさらに含む、請求項G1のコンピュータによって実行される方法。
G5 航空機用ソフトウェアパーツにデジタル署名が付与され、クレートにデジタル署名が付与されている、請求項G4のコンピュータによって実行される方法。
G6 航空機用ソフトウェアパーツが記憶装置のファイルシステムに保存され、キューが記憶装置のデータベースに位置する、請求項G1のコンピュータによって実行される方法。
G7 別のユーザー入力に応答して、複数の航空機用ソフトウェアパーツから一連の航空機用パーツを削除することをさらに含む、請求項G1のコンピュータによって実行される方法。
G8 航空機用ソフトウェアパーツのアップリンクのステータス情報を受信して、受信されたステータス情報を形成し;受信されたステータス情報を保存することをさらに含む、請求項G1のコンピュータによって実行される方法。
G9 記憶デバイスに位置し、複数の航空機用ソフトウェアパーツを保存するファイルシステム;記憶デバイスに位置し、複数の航空機用ソフトウェアパーツを管理するのに使用される複数のコマンドを保存するデータベース;複数のコマンドを生成できる管理コンポーネント;及び、管理コンポーネントを操作するためのユーザー入力を受信できるユーザーインターフェースシステムを備える装置。
G10 管理コンポーネントが、パーツボールトとコマンドディスパッチャーを含む、請求項G9の装置。
G11 記憶デバイスが一連のハードディスクドライブである、請求項G9の装置。
G12 バス;コンピュータで使用可能なプログラムコードが保存されたバスに接続されたメモリ;バスに接続され、コンピュータで使用可能なプログラムコードが保存された通信アダプタ;及び、バスに接続され、ライブラリーで航空機用ソフトウェアパーツを受信するためのコンピュータで使用可能なプログラムコードを実行して受信された航空機用ソフトウェアパーツを形成するプロセッサ装置;複数の航空機用ソフトウェアパーツを有するライブラリーの記憶装置に受信された航空機用ソフトウェアパーツを保存し;ライブラリーの複数の航空機用ソフトウェアパーツを操作するためのユーザーインターフェースシステムを提供し;ライブラリーの複数の航空機用ソフトウェアパーツから選択された航空機用ソフトウェアパーツを対象の航空機データ処理システムへアップリンクするユーザー入力をユーザーインターフェースシステムから受信したことに応答して、対象の航空機データ処理システムが位置する航空機へ選択された航空機用ソフトウェアパーツを送信するためのコマンドを作成して、アップリンクコマンドを形成し;ライブラリーの記憶装置のキューにアップリンクコマンドを保存して、保存されたアップリンクコマンドを形成し;プロキシ・サーバー・アプリケーションからのコマンドの要求に応答して、プロキシ・サーバー・アプリケーションへ保存されたアップリンクコマンドを配信し;保存されたアップリンクコマンドを処理するプロキシ・サーバー・アプリケーションからの選択された航空機用ソフトウェアパーツの要求の受信に応答して、プロキシ・サーバー・アプリケーションへ選択された航空機用ソフトウェアパーツを送信することを含むコンピュータ。
G13 プロキシ・サーバー・アプリケーションからのコマンドの要求に応答して、プロキシ・サーバー・アプリケーションへ保存されたアップリンクコマンドを配信するための、コンピュータで使用可能なプログラムコードの実行において、プロキシ・サーバー・アプリケーションとの接続の存在に応答して、プロセッサ装置がコンピュータで使用可能なプログラムコードを実行して、プロキシ・サーバー・アプリケーションのアップリンクコマンドを特定し;アップリンクコマンドのコマンドデータ構造を作成し;コマンドデータ構造をプロキシ・サーバー・アプリケーションへ送信し、ここでプロキシ・サーバー・アプリケーションはコマンドデータ構造を使用してコマンドの処理を開始し;コマンドデータ構造を送信した後に受信したアップリンクコマンドの別の要求に応答して、プロキシ・サーバー・アプリケーションへアップリンクコマンドを送信する、請求項G12のコンピュータ。
G14 ソフトウェア管理ツールからのコマンドの要求に応答して、プロセッサ装置がコンピュータで使用可能なプログラムコードをさらに実行して、保存されたアップリンクコマンドをソフトウェア管理ツールへ配信する、請求項G12のコンピュータ。
G15 コンピュータで記録可能な記憶媒体;ライブラリーで航空機用ソフトウェアパーツを受信して、受信された航空機用ソフトウェアパーツを形成するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコード;複数の航空機用ソフトウェアパーツを有するライブラリーの記憶装置に受信された航空機用ソフトウェアパーツを保存するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコード;ライブラリーの複数の航空機用ソフトウェアパーツを操作するためのユーザーインターフェースシステムを提供するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコード;ライブラリーの複数の航空機用ソフトウェアパーツから選択された航空機用ソフトウェアパーツを対象の航空機データ処理システムへアップリンクするためのユーザー入力をユーザーインターフェースシステムから受信したことに応答して、対象の航空機データ処理システムが位置する航空機へ選択された航空機用ソフトウェアパーツを送信するためのコマンドを作成して、アップリンクコマンドを形成するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコード;ライブラリーの記憶装置のキューにアップリンクコマンドを保存して、保存されたアップリンクコマンドを形成するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコード;プロキシ・サーバー・アプリケーションからのコマンドの要求に応答して、プロキシ・サーバー・アプリケーションへ保存されたアップリンクコマンドを配信するための、コンピュータで記録可能な記憶媒体に保存されたプログラムコード;保存されたアップリンクコマンドを処理するプロキシ・サーバー・アプリケーションからの選択された航空機用ソフトウェアパーツの要求の受信に応答して、プロキシ・サーバー・アプリケーションへ選択された航空機用ソフトウェアパーツを送信するための、コンピュータで記録可能な記憶媒体に保存されたコンピュータプログラムコードを含むコンピュータプログラム製品。
G16 プロキシ・サーバー・アプリケーションからのコマンドの要求に応答して、プロキシ・サーバー・アプリケーションへ保存したアップリンクコマンドを配信するための、コンピュータで記録可能な記憶媒体に保存されたコンピュータプログラムコードは:プロキシ・サーバー・アプリケーションへの接続の存在に応答して、プロキシ・サーバー・アプリケーションのアップリンクコマンドを特定するための、コンピュータで記録可能な記憶媒体に保存されたコンピュータプログラムコード;アップリンクコマンドのコマンドデータ構造を作成するための、コンピュータで記録可能な記憶媒体に保存されたコンピュータプログラムコード;プロキシ・サーバー・アプリケーションへコマンドデータ構造を送信するための、コンピュータで記録可能な記憶媒体に保存されたコンピュータプログラムコードであって、プロキシ・サーバー・アプリケーションがコマンドデータ構造を使用してコマンドの処理を開始するコンピュータプログラムコード;コマンドデータ構造を送信した後に受信されたアップリンクコマンドの別の要求に応答して、プロキシ・サーバー・アプリケーションへアップリンクコマンドを送信するための、コンピュータで記録可能な記憶媒体に保存されたコンピュータプログラムコードを含む、請求項G15のコンピュータプログラム製品。
G17 ソフトウェア管理ツールからのコマンドの要求に応答して、ソフトウェア管理ツールへ保存されたアップリンクコマンドを配信するための、コンピュータで記録可能な記憶媒体に保存されたコンピュータプログラムコードをさらに含む、請求項G15のコンピュータプログラム製品。
G18 記憶デバイスのクレートに航空機用ソフトウェアパーツを保存するための、コンピュータで記録可能な記憶媒体に保存されたコンピュータプログラムコードをさらに含む、請求項G15のコンピュータプログラム製品。
G19 航空機用ソフトウェアパーツにデジタル署名が付与され、クレートにデジタル署名が付与されている、請求項G18のコンピュータプログラム製品。
G20 航空機用ソフトウェアパーツが記憶装置のファイルシステムに保存されており、キューが記憶装置のデータベースに位置している、請求項G15のコンピュータプログラム製品。
G21 別のユーザー入力に応答して、複数の航空機用ソフトウェアパーツから一連の航空機用パーツを削除するための、コンピュータで記録可能な記憶媒体に保存されたコンピュータプログラムコードをさらに含む、請求項G15のコンピュータプログラム製品。
G22 航空機用ソフトウェアパーツのアップリンクのステータス情報を受信して受信されたステータス情報を形成するための、コンピュータで記録可能な記憶媒体に保存されたコンピュータプログラムコード;及び、受信されたステータス情報を保存するための、コンピュータで記録可能な記憶媒体に保存されたコンピュータプログラムコードをさらに含む、請求項G15のコンピュータプログラム製品。
航空機用ソフトウェアパーツを管理するための、コンピュータによって実行される方法、装置、及びコンピュータプログラム製品である。航空機用ソフトウェアパーツはライブラリーで受信される。受信されたパーツは他の航空機用ソフトウェアパーツとともにライブラリーに保存される。航空機用ソフトウェアパーツを操作するためのユーザーインターフェースが提供される。選択された航空機用ソフトウェアパーツを対象の航空機データ処理システムへアップリンクするユーザー入力をユーザーインターフェースから受信したことに応答して、選択されたパーツを対象の航空機データ処理システムが位置する航空機へ送信するためのコマンドが作成される。アップリンクコマンドはライブラリーの記憶装置のキューに保存される。コマンドの要求に応答して、アップリンクコマンドがプロキシ・サーバー・アプリケーションに配信される。保存されたアップリンクコマンドを処理するプロキシ・サーバー・アプリケーションからの要求の受信に応答して、選択されたパーツがプロキシ・サーバー・アプリケーションへ送信される。
異なる有利な実施形態の記載は、図示及び説明の目的のために提示されたものであり、包括的、又は開示された形の実施形態に限定するように意図されたものではない。当業者には多数の修正及び変形例が明らかである。さらに、他の有利な実施形態と比較して、異なる有利な実施形態により異なる利点を得ることが可能である。選択された一又は複数の実施形態は、実施形態及び実際の応用形態の原理を最適に説明するため、また、当業者が、考えられる特定の使用に好適である様々な修正を施した様々な実施形態の開示を理解できるように選択され記載されたものである。