航空機ログデータおよび地上システムログデータを分析して、連鎖管理情報内の異常を検出するためのシステムおよび方法を開示する。乗物の電子システムでは、ソフトウェアアプリケーションを使用して、さまざまな動作および機能のための論理または制御を提供し得る。ソフトウェアアプリケーションは、ソフトウェア部品として取り扱い得る。ソフトウェア部品の例は、車載保守システムアプリケーション、時間マネージャアプリケーション、ネットワークサーバ交差インタフェース、フライト入力データ出力機能、車載データロード機能、電子的フライトバッグデータマネージャ、ターミナル無線ローカルエリアネットワークユニットのゲートリンクオーセンティケータ、無線アップリンクおよびダウンリンクの診断マネージャ、健康マネージャ、車載保守システム、サポートおよび保守システムのマネージャ、ならびにフライト入力データ出力診断マネージャを含む。地上システムおよび乗物(例えば、航空機)は、乗物用のソフトウェア部品の連鎖管理に関連するログを維持し得る。地上システムの例は、保守コンピュータシステムを含む。地上システムは、ソフトウェア部品の修正(例えば、インストール、削除、アップグレード、更新など)に関する情報を、地上システムログに記録し得る。例えば、ソフトウェア部品が地上システムによって別のデバイス(例えば、別の地上システム)から受信されたとき、ソフトウェア部品が地上システムによって別のデバイス(例えば、乗物または別の地上システム)に転送されたとき、ソフトウェア部品に関する修正リクエストが地上システムによって受信されたとき、ソフトウェア部品に関する修正リクエストが地上システムによって送信されたとき、または、これらの組み合わせのときである。乗物(例えば、航空機)もまた、ソフトウェア部品が乗物によって受信されたとき、修正リクエストが乗物によって受信されたとき、ソフトウェア部品が乗物のコンピュータにおいて修正(例えば、インストール、削除、アップグレード、更新など)されたとき、または、これらのあらゆる組み合わせのときに、ソフトウェア部品に関する情報を乗物ログに記録し得る。さらに、乗物は、異なった時点における乗物の状態を乗物ログに記録し得る。地上システムログ、乗物ログまたはその両方に記録される、ソフトウェア部品に関する情報は、送信側デバイスの識別子、受信側デバイスの識別子、時刻、日付、位置、ソフトウェア部品の修正がどのように開始されたか、誰が修正を開始もしくは許可したか、修正中の航空機状態、その他の情報、またはこれらの組み合わせを示し得る。
異常検出の目的で、特定の乗物におけるソフトウェアの正常な修正(例えば、異常が検出されていない修正)に基づいて、基準データが生成され得る。基準データは、セキュリティ要件に基づいて生成(または、生成後に修正)され得る。基準データは、1つまたは複数の地上システムによって乗物において修正される、1つまたは複数のソフトウェア部品に関する連鎖管理情報を含み得る。基準データを使用して、特定の乗物ログ情報および地上システムログ情報を比較し、異常を検出し得る。このように、ログの審査を、乗物ログ審査の効率および有効性を改善し得るように自動化することができる。
開示される実施形態では、地上システムログおよび乗物ログを受信し、その地上システムログおよび乗物ログを、基準データに基づいて分析して、連鎖管理情報内の異常を検出し得る。例えば、ある異常は、地上システムがソフトウェア部品(または修正リクエスト)を乗物に送信することと、乗物がソフトウェア部品(または修正リクエスト)を受信することとの間の期間が、基準データに示される閾値期間を超えることを示し得る。別の例として、異常は、ソフトウェア部品(または修正リクエスト)を受信した時点での乗物の状態が、基準データに示される予想状態に一致しないことを示し得る。また別の例として、異常は、乗物におけるソフトウェア部品の修正の修正状態が、基準データに示される予想修正状態と一致しないことを示し得る。このように、分析によって、航空会社の航空機ログ審査処理を自動化し得、(例えば、セキュリティ要件に基づいて)連鎖管理情報内の異常検出を可能にし得る。
特定の一実施形態では、方法は、乗物におけるソフトウェア部品の修正に関する乗物ログデータを受信することを含む。方法はまた、地上システムの地上ログデータを受信することも含む。地上ログデータは、ソフトウェア部品に関係する連鎖管理情報を示す。方法はさらに、基準データに基づいて、乗物ログデータおよび地上ログデータを分析して、異常を検出することも含む。方法はまた、異常の検出に応答して通知を送信することも含む。
別の特定の実施形態では、システムは、プロセッサおよびメモリを備える。メモリは命令を記憶しており、命令をプロセッサが実行すると、プロセッサは動作を行う。動作は、乗物におけるソフトウェア部品の修正に関する乗物ログデータを受信することを含む。動作は、地上システムの地上ログデータを受信することも含む。地上ログデータは、ソフトウェア部品に関係する連鎖管理情報を示す。動作は、乗物ログデータおよび地上ログデータを基準データに基づいて分析し、異常を検出することも含む。動作は、さらに、異常の検出に応答して通知を送信することも含む。
また別の特定の実施形態では、コンピュータ読み取り可能なストレージデバイスが命令を記憶しており、命令をプロセッサが実行すると、プロセッサは動作を行う。動作は、乗物におけるソフトウェア部品の修正に関する乗物ログデータを受信することを含む。動作は、地上システムの地上ログデータを受信することも含む。地上ログデータは、ソフトウェア部品に関係する連鎖管理情報を示す。動作は、乗物ログデータおよび地上ログデータを基準データに基づいて分析し、異常を検出することもさらに含む。動作は、さらに、異常の検出に応答して通知を送信することも含む。
このように、特定の実施形態では、乗物ログデータおよび地上ログデータを基準データに基づいて分析し、異常を検出する。例えば、異常は、乗物によって受信されたソフトウェア部品(または修正リクエスト)が、基準データに示された閾値期間内に地上システムによって送信されていないということを示し得る。乗物ログデータおよび地上ログデータの審査は、ソフトウェア部品に関連する連鎖管理情報内の異常を検出するように自動化され得る。ログ審査の自動化によって、ログ審査に関連する効率を改善し得、費用を削減させ得る。
別の実施形態では、方法は、第1の乗物における第1のソフトウェア部品の修正に関する第1の乗物ログデータを受信することと、第1の地上システムの第1の地上ログデータを受信することと(第1の地上ログデータは、第1のソフトウェア部品に関係する第1の連鎖管理情報を示す)、第1の乗物ログデータおよび第1の地上ログデータを基準データに基づいて分析して異常を検出することと、異常の検出に応答して通知を送信することとを含む。
方法は、第1の連鎖管理情報が、あるイベントに関連するタイムスタンプまたはそのイベントに関連する識別子のうち少なくとも1つを含むことを含む。
方法はさらに、そのイベントが、第1の地上システムが第1のデバイスから第1のソフトウェア部品を受信したこと、または第1の地上システムが第2のデバイスに第1のソフトウェア部品を転送したことのうち少なくとも1つを含むことを含む。
方法はさらに、その識別子が、イベント識別子、デバイス識別子、ソフトウェア部品識別子、ハードウェア部品識別子、ユーザ識別子、保守コンピュータ識別子、乗物識別子、または地上システム識別子のうち少なくとも1つを含むことを含む。
方法はさらに、第1の乗物ログデータおよび第1の地上ログデータのそれぞれに含まれる共通のイベント、第1の乗物ログデータの第1のタイムスタンプ、および第1の地上ログデータの第2のタイムスタンプに基づいて、第1の乗物ログデータと第1の地上ログデータとを同期させることと(第1のタイムスタンプおよび第2のタイムスタンプは、共通のイベントに関連する)、同期済みの第1の乗物ログデータと同期済みの第1の地上ログデータとの比較を行うことと、同期済みの第1の乗物ログデータと同期済みの第1の地上ログデータとの比較に基づいて第1のデータセットを生成することとを含む。
方法はさらに、同期済みの第1の乗物ログデータの第1のイベント(第1のイベントは第1の識別子に関連する)を特定することと、同期済みの第1の地上ログデータの第2のイベント(第2のイベントは第1の識別子に関連する)を特定することとを含む。ここで、第1のデータセットは、第1のイベントに関連する第1のイベントタイムスタンプと第2のイベントに関連する第2のイベントタイムスタンプとの差を示す期間を示すように生成される。方法はさらに、同期済みの第1の乗物ログデータに基づいて第1のイベントの時点での第1の乗物の状態(第1のデータセットはその状態を示す)を判定することを含む。方法はさらに、第1のデータセットと基準データの対応する第2のデータセットとの比較に基づいて、異常を検出することを含む。
方法はさらに、第1のデータセットと第2のデータセットとの比較に応答して異常が検出され、この異常が、第1のデータセットの第1の期間が対応する第2のデータセットの第2の期間を超えたことを示すことを含む。方法はさらに、第1の期間が、第1の地上システムが第1の乗物に第1のソフトウェア部品を送信したときと、第1の乗物が第1の地上システムから第1のソフトウェア部品を受信したときとの間の時間差を示すことと、第2の期間が、閾値期間を示すこととを含む。この方法はさらに、第1のデータセットと第2のデータセットとの比較に応答して異常が検出され、この異常が、第1のデータセットの第1の状態値(第1の状態値は第1のイベントの時点での第1の乗物の状態を示す)が第2のデータセットの第2の状態値と対応していないことを示すことを含む。
方法はさらに、第1の乗物が航空機を含み、第1の状態値が第1の乗物の第1のWOW(weight−on−wheels)状態を示し、第2の状態値が第2のWOW状態を示すことを含む。方法はさらに、異常が、第1の連鎖管理情報と第2の連鎖管理情報との食い違いが第2の地上システムから受信されたこと、第1のソフトウェア部品が第1の地上システムによって正しくない順序で受信されたこと、または第1のソフトウェア部品が第1の地上システムによって正しくない順序で転送されたことのうち少なくとも1つを示すことを含む。方法はさらに、監査データを総計することを含み、総計される監査データは、異常に関係するデータを含む。方法はさらに、基準データを生成することまたは基準データを更新することのうち少なくとも1つを含む。
別の実施形態では、システムは、プロセッサ、および命令を記憶するメモリを備える。命令をプロセッサが実行すると、プロセッサは動作を行う。動作は、第1の乗物における第1のソフトウェア部品の修正に関する第1の乗物ログデータを受信すること、第1の地上システムの第1の地上ログデータを受信すること(第1の地上ログデータは、第1のソフトウェア部品に関係する第1の連鎖管理情報を示す)、基準データに基づいて第1の乗物ログデータおよび第1の地上ログデータを分析し、異常を検出すること、異常の検出に応答して通知を送信することを含む。
システムはさらに、動作が、基準データを生成する動作を含むことを含む。基準データを生成する動作は、第2の乗物における第2のソフトウェア部品の修正に関する第2の乗物ログデータを受信することと、第2の地上ログデータを受信すること(第2の地上ログデータは第2のソフトウェア部品に関係する第2の連鎖管理情報を示す)と、第2の乗物データと第2の地上データとを同期させることと、同期済みの第2の乗物ログデータと同期済みの第2の地上ログデータを比較することと、同期済みの第2の乗物ログデータと同期済みの第2の地上ログデータとの比較に基づいてデータセットを生成すること(データセットは、第2のソフトウェアの修正で異常が検出されていないことを示す)とを含む。
動作はさらに、第1の乗物の第1の乗物仕様および第2の乗物の第2の乗物仕様に基づいて、第1の乗物および第2の乗物が、共通のソフトウェアモジュールまたは共通のハードウェアモジュールのうち少なくとも1つをもつかどうか判定すること(ここでデータセットを使用して、共通のソフトウェアモジュールまたは共通のハードウェアモジュールのうち少なくとも1つにデータセットが対応するかどうか判定される)を含む。このシステムはさらに、セキュリティ要件に基づいて基準データを修正することおよび、統計的モデルに基づいて基準データを修正することをさらに含む。
コンピュータ読み取り可能なストレージデバイスは、命令を記憶する。命令をプロセッサが実行すると、プロセッサは、第1の乗物における第1のソフトウェア部品の修正に関する乗物ログデータを受信することと、第1の地上システムの第1の地上ログデータを受信すること(第1の地上ログデータは、そのソフトウェア部品に関係する第1の連鎖管理情報を示す)と、基準データに基づいて第1の乗物ログデータおよび第1の地上ログデータを分析して異常を検出することと、異常の検出に応答して通知を送信することとを含む動作を行う。このコンピュータ読み取り可能なストレージデバイスは、航空機を含む第1の乗物をさらに含む。
上記の特徴、機能および利点は、さまざまな実施形態で個別に実施してよく、また別の実施形態で組み合わせてもよく、詳細については、下記の記載および図面を参照しながら開示される。
図1を参照すると、連鎖管理情報内の異常を検出するためのシステムの、特定の一実施形態の線図が開示され、全体的に100と称されている。システム100は、地上システム104に結合されているか、地上システム104と通信し、第1の乗物102(例えば航空機)に結合されている監査システム108を備え得る。監査システム108はまた、1つまたは複数の他の乗物106に結合されているか、それらの乗物106と通信し、1つまたは複数の他の地上システム124に結合され得る。監査システム108は、プロセッサ170およびメモリ180を備え得る。監査システム108は、複数のプロセッサを備え得、複数のメモリを備え得る。例えば、監査システム108は、ネットワークを構成するコンピューティングシステムまたは分散されたコンピューティングシステムを備え得る。特定の例示的実施形態では、監査システム108は、通信デバイス、携帯情報端末(PDA)、モバイルデータユニット、携帯電話、セルラー電話、ポータブルコンピュータ、タブレットコンピュータデバイス、または、これらの組み合わせを備え得る。このようなデバイスは、ユーザインタフェース、例えば、タッチスクリーン、音声認識能力、またはその他のユーザインタフェース能力を備え得る。
メモリ180は、プロセッサ170により実行されて、さまざまな動作を行う命令(例えば監査システムの命令142)を記憶し得る。例えば、プロセッサ170は、地上システム(例えば、地上システム104または他の地上システム124)の地上ログデータ(例えば、第1の地上ログデータ120または他の地上ログデータ132)を受信することを含む動作を行い得る。プロセッサ170はまた、乗物ログデータ(例えば、第1の乗物ログデータ122または他の乗物ログデータ130)を乗物(例えば、第1の乗物102または他の乗物106)から受信し得る。
特定の一実施形態では、地上システム104は第1のソフトウェア部品150を、例えば他の地上システム124から受信し得る。地上システム104は、第1の地上ログデータ120に、第1のソフトウェア部品150に関係する連鎖管理情報を記録し得る。連鎖管理情報は、イベントに関連するタイムスタンプ、イベントに関連する識別子、イベントの状態(例えば、成功したか失敗したか)、その他の情報、またはこれらの組み合わせを含み得る。イベントの例は、地上システム104が、第1のソフトウェア部品150を別のデバイス(例えば、他の地上システム124)から受信すること、第1のソフトウェア部品150を修正するための修正リクエスト152を別のデバイス(例えば、他の地上システム124)から受信すること、第1のソフトウェア部品150を第2のデバイス(例えば、第1の乗物102、他の乗物106、または他の地上システム124)に転送すること、修正リクエスト152を第2のデバイスに送信すること、またはこれらの組み合わせを含む。イベントに関連する識別子の例は、ソフトウェア部品識別子、ハードウェア部品識別子(例えば、ソフトウェア部品に関連するハードウェア部品の識別子)、イベント識別子、デバイス識別子(例えば、ソフトウェア部品の送信元デバイスの識別子、ソフトウェア部品の送信先デバイスの識別子、ソフトウェア部品の修正が行われるデバイスの識別子、保守コンピュータの識別子、乗物識別子、地上システム識別子、ソフトウェア部品の移送(または修正)を許可または開始したデバイスの識別子)、位置の識別子、およびユーザ識別子(例えば、ソフトウェア部品の移送(または修正)を開始または許可したユーザの識別子)を含む。
例えば、第1のソフトウェア部品150を他の地上システム124から受信したことに応答して、地上システム104は、地上システム104が第1のソフトウェア部品150を他の地上システム124から受信したときを示すタイムスタンプを、第1の地上システムログデータ120に記録し得る。地上システム104はまた、第1のソフトウェア部品150に関連する識別子も記録し得る。例えば、地上システム104は、第1のソフトウェア部品150を示すソフトウェア部品識別子、第1のソフトウェア部品150に関連するハードウェア部品を示すハードウェア部品識別子、他の地上システム124の地上システム識別子、他の地上システム124からの第1のソフトウェア部品150の移送を開始もしくは許可したユーザの識別子、他の地上システム124からの第1のソフトウェア部品150の移送を開始もしくは許可したデバイスの識別子、他の地上システム124の位置の識別子、地上システム104の位置の識別子、第1のソフトウェア部品150の転送先であるデバイスの識別子、その他の情報、またはこれらの組み合わせを記録し得る。
地上システム104は、第1のソフトウェア部品150を第1の乗物102、他の地上システム124またはその両方に送信し得る。地上システム104は、ソフトウェア部品を定期的にデバイス(例えば、第1の乗物102、他の地上システム124またはその両方)に送信するか、イベント(例えば、ユーザリクエスト、デバイスからのリクエスト、またはソフトウェア部品を受信したことなど)に応答してソフトウェア部品をデバイスに送信するか、またはその組み合わせを行い得る。地上システム104は、第1のソフトウェア部品150が地上システム104によって、別のデバイス(例えば、第1の乗物102)に送信されたときを示すタイムスタンプを、第1の地上ログデータ120に記録し得る。地上システム104はまた、第1のソフトウェア部品150に関連する識別子を記録し得る。例えば、地上システム104は、第1のソフトウェア部品150が地上システム104によって送信されたというイベントを特定するイベント識別子、および第1の乗物102の乗物識別子を記録し得る。地上システム104は、イベント識別子を第1のソフトウェア部品150と共に第1の乗物102に送信し得る。地上システム104はまた、第1のソフトウェア部品150を示すソフトウェア部品識別子、第1のソフトウェア部品150に関連する第1の乗物102のハードウェア部品を示すハードウェア部品識別子、第1の乗物102への第1のソフトウェア部品150の移送を開始もしくは許可したユーザの識別子、第1の乗物102への第1のソフトウェア部品150の移送を開始もしくは許可したデバイスの識別子、第1の乗物102の位置の識別子、地上システム104の位置の識別子、第1のソフトウェア部品150の送信元(例えば、他の地上システム124)のデバイスの識別子、その他の情報、またはこれらの組み合わせを記録し得る。
第1の乗物102は、第1のソフトウェア部品150を地上システム104から受信し得る。第1の乗物102は、第1の乗物102で第1のソフトウェア部品150を受信したことに関する情報を、第1の乗物ログデータ122に記録し得る。第1の乗物ログデータ122は、イベントに関連するタイムスタンプ、イベントに関連する識別子、第1のソフトウェア部品150が受信されたときの第1の乗物102の状態、イベントの状態、その他の情報、またはこれらの組み合わせを含み得る。イベントの例には、第1の乗物102が地上システム104、他の地上システム124またはその両方から第1のソフトウェア部品150を受信したことが含まれ得る。イベントに関連する識別子には、イベント識別子、デバイス識別子(例えば、ソフトウェア部品の送信元デバイスの識別子、保守コンピュータ識別子、乗物識別子、地上システム識別子、ソフトウェア部品の移送を許可または開始したデバイスの識別子)、ソフトウェア部品識別子、ハードウェア部品識別子(例えば、ソフトウェア部品に関連するハードウェア部品の識別子)、ユーザ識別子(例えば、ソフトウェア部品の移送を開始または許可したユーザの識別子)、位置の識別子、またはこれらの組み合わせが含まれ得る。
地上システム104は、第1のソフトウェア部品150に関する修正リクエスト152を、第1の乗物102、他の地上システム124またはその両方に送信し得る。地上システム104は、ソフトウェア部品を修正するための修正リクエストを、定期的にデバイス(例えば、第1の乗物102、他の地上システム124またはその両方)に送信するか、イベント(例えば、ユーザリクエスト、デバイスからのリクエスト、ソフトウェア部品を受信したこと、ソフトウェア部品を修正するための修正リクエストを受信したこと)に応答して、デバイスでソフトウェア部品を修正するための修正リクエスト152を送信するか、またはこれらの組み合わせを行い得る。地上システム104は、地上システム104が修正リクエスト152を別のデバイス(例えば、第1の乗物102)に送信したときを示すタイムスタンプを第1の地上ログデータ120に記録し得る。地上システム104はまた、修正リクエスト152に関連する識別子を記録し得る。例えば、地上システム104は、地上システム104から修正リクエスト152が送信されたというイベントを特定するイベント識別子、および第1の乗物102の乗物識別子を記録し得る。地上システム104は、イベント識別子を修正リクエスト152と共に第1の乗物102に送信し得る。修正リクエスト152は、第1のソフトウェア部品150がインストール、削除、アップグレード、更新などの対象であることを示し得る。地上システム104はまた、第1のソフトウェア部品150を示すソフトウェア部品識別子、第1のソフトウェア部品150に関連する第1の乗物102のハードウェア部品を示すハードウェア部品識別子、第1の乗物102での第1のソフトウェア部品150の修正を開始もしくは許可したユーザの識別子、第1の乗物102での第1のソフトウェア部品150の修正を開始もしくは許可したデバイスの識別子、第1の乗物102の位置の識別子、地上システム104の位置の識別子、その他の情報、またはこれらの組み合わせを記録し得る。
第1の乗物102は、地上システム104から修正リクエスト152を受信し得る。例えば、第1のソフトウェア部品150は、第1の乗物102のコンピューティングデバイスで修正(例えば、インストール、削除、アップグレード、更新など)され得る。第1の乗物102は、第1の乗物102での第1のソフトウェア部品150の修正に関する情報を、第1の乗物ログデータ122に記録し得る。第1の乗物ログデータ122は、イベントに関連するタイムスタンプ、イベントに関連する識別子、第1のソフトウェア部品150が受信されたときの第1の乗物102の状態、イベントの状態、その他の情報、またはこれらの組み合わせを含み得る。イベントの例には、第1の乗物102が修正リクエスト152を、地上システム104、他の地上システム124またはその両方から受信することが含まれ得る。イベントに関係する識別子は、イベント識別子、デバイス識別子(例えば、修正リクエストの送信元デバイスの識別子、保守コンピュータ識別子、乗物識別子、地上システム識別子)、ソフトウェア部品識別子、ハードウェア部品識別子(例えば、ソフトウェア部品に関連するハードウェア部品の識別子)、ユーザ識別子(例えば、ソフトウェア部品の修正を開始または許可したユーザの識別子)、位置の識別子、またはこれらの組み合わせを含み得る。特定の一実施形態では、地上システム104は、修正リクエスト152を第1のソフトウェア部品150と共に送信し得る。特定の一実施形態では、第1のソフトウェア部品150を送信することは、修正リクエスト152を送信することを暗示的に含み得る。例えば、第1のソフトウェア部品150を送信することは、第1のソフトウェア部品150のインストールが要求されていることを示し得る。
例えば、第1のソフトウェア部品150(または修正リクエスト152)の受信に応答して、第1の乗物102は、第1のソフトウェア部品150(または修正リクエスト152)が第1の乗物102によって受信されたときを示すタイムスタンプを記録し得る。別の例として、第1のソフトウェア部品150の修正(例えば、インストール、削除、アップグレード、更新など)に応答して、第1の乗物102は、第1の乗物102で第1のソフトウェア部品150が修正されたときを示すタイムスタンプを記録し得る。第1の乗物102は、第1の乗物102によって第1のソフトウェア部品150(または修正リクエスト152)と共に受信されたイベント識別子、および地上システム104を示す地上システム識別子を記録し得る。第1の乗物102はまた、第1のソフトウェア部品150を示すソフトウェア部品識別子、第1のソフトウェア部品150に関連する第1の乗物102のハードウェア部品を示すハードウェア部品識別子、第1の乗物102への第1のソフトウェア部品150の移送を開始もしくは許可したユーザの識別子、第1の乗物102での第1のソフトウェア部品150の修正(例えばインストール、削除、アップグレード、更新など)を開始もしくは許可したユーザのユーザ識別子、第1の乗物102への第1のソフトウェア部品150の移送を開始もしくは許可したデバイスの識別子、第1の乗物102での第1のソフトウェア部品150の修正を開始もしくは許可したデバイスの識別子、第1の乗物102の位置の識別子、第1のソフトウェア部品150の送信元デバイス(例えば、地上システム104)の識別子、地上システム104の位置の識別子、第1のソフトウェア部品150(または修正リクエスト152)が受信されたときの第1の乗物102の状態、第1のソフトウェア部品150が修正されたときの第1の乗物102の状態、第1のソフトウェア部品150の修正の状態(例えば、修正に成功したか失敗したか)、その他の情報、またはこれらの組み合わせを記録し得る。
監査システム108は、第1の乗物ログデータ122を第1の乗物102から受信し得、第1の地上ログデータ120を地上システム104から受信し得る。特定の一実施形態では、監査システム108は、第1の乗物ログデータ122および第1の地上ログデータ120を定期的に受信し得る。特定の一実施形態では、監査システム108は、監査開始のユーザリクエストなどのイベントに応答して、第1の乗物ログデータ122および第1の地上ログデータ120を受信し得る。
監査システム108は、第1の乗物ログデータ122および第1の地上ログデータ120を分析して、異常を検出し得る。例えば、監査システム108は、第1の乗物ログデータ122および第1の地上ログデータ120を、基準データ140に基づいて分析し得る。特定の一実施形態では、地上システム104および第1の乗物102は、異なる時計を有し得る。この実施形態では、監査システム108は、第1の乗物ログデータ122および第1の地上ログデータ120とを同期させて、第1の乗物102と地上システム104との異なる時計に対処し得る。監査システム108は、第1の乗物ログデータ122および第1の地上ログデータ120の中の共通のイベントを特定し得る(例えば、共通のイベント識別子に基づいて)。例えば、共通のイベントは、地上システム104が第2のソフトウェア部品を第1の乗物102に送信したこと、および第1の乗物102が第2のソフトウェア部品を受信したことを含み得る。監査システム108は、その共通イベントに関連する第1のタイムスタンプが第1の地上ログデータ120に含まれるかどうか、およびその共通イベントに関連する第2のタイムスタンプが第1の乗物ログデータ122に含まれるかどうか判定し得る。例えば、第1のタイムスタンプは、地上システム104が第1の乗物102に第2のソフトウェア部品を送信したとき(地上システム104の時計に基づく)を示し得、第2のタイムスタンプは、第1の乗物102が地上システム104から第2のソフトウェア部品を受信したとき(第1の乗物102の時計に基づく)を示し得る。
監査システム108は、第1のタイムスタンプおよび第2のタイムスタンプに基づいて、第1の乗物ログデータ122が第1の地上ログデータ120と時間的に揃えられた(例えば、同期された)という同期済みイベントのデータを生成し得る。例えば、監査システム108は、第1のタイムスタンプと第2のタイムスタンプの差を判定し得、その差に基づいて第1の乗物ログデータ122、第1の地上ログデータ120またはその両方のタイムスタンプを修正して、第1の乗物ログデータ122と第1の地上ログデータ120とを同期させ得る。例えば、第1のタイムスタンプと第2のタイムスタンプの差により、地上システム104の時計が第1の乗物102の時計より1時間進んでいることが示される場合、監査システム108は、第1の乗物ログデータ122内に示されているタイムスタンプに1時間を追加して、第1の乗物ログデータ122と第1の地上ログデータ120とを同期させ得る。別の特定の実施形態では、第1の乗物ログデータ122および第1の地上ログデータ120は、タイムスタンプの修正なしに同期され得る(例えば、地上システム104と第1の乗物102の時計が実質的に同期されたとき)。
監査システム108は、同期済みの第1の乗物ログデータ122と同期済みの第1の地上ログデータ120との比較を行い得る。例えば、監査システム108は、同期済みの第1の乗物ログデータ122の第1のイベントを特定し得、対応する同期済みの第1の地上ログデータ120の第2のイベントを特定し得る。例えば、監査システム108は、同期済みの第1の乗物ログデータ122を解析して、第1の乗物102が第1のソフトウェア部品150(または修正リクエスト152)を地上システム104から受信したことを示す第1のイベントを特定し得る。監査システム108はまた、同期済みの第1の地上ログデータ120を解析して、地上システム104が第1のソフトウェア部品150(または修正リクエスト152)を送信したことを示す第2のイベントを特定し得る。監査システム108は、ある識別子に基づいて、第1のイベントに対応する第2のイベントを判定し得る。例えば、第1のイベントおよび第2のイベントは、同期済みの第1の地上ログデータ120および同期済みの第1の乗物ログデータ122のそれぞれの中に含まれる共通の識別子(例えば、イベント識別子、ソフトウェア部品識別子、ハードウェア部品識別子、ユーザ識別子、デバイス識別子、位置の識別子、別の識別子、またはこれらの組み合わせ)に関連し得る。
監査システム108は、同期済みの第1の乗物ログデータ122および同期済みの第1の地上ログデータ120との比較に基づいて、第1のデータセット136を生成し得る。例えば、監査システム108は、第1のイベントに関連する第1のイベントタイムスタンプと第2のイベントに関連する第2のイベントタイムスタンプとの差を示す第1の期間を含むように、第1のデータセット136を生成し得る。例えば、第1の期間は、地上システム104が第1のソフトウェア部品150(または修正リクエスト152)を第1の乗物102に送信したときと、第1の乗物102が第1のソフトウェア部品150(または修正リクエスト152)を地上システム104から受信したときとの間の時間差を示し得る。別の例として、第1の期間は、地上システム104が修正リクエスト152を第1の乗物102に送信したときと、第1の乗物102が第1のソフトウェア部品150を修正したときとの間の時間差を示し得る。
特定の一実施形態では、監査システム108は、第2の地上システム(例えば、他の地上システム124)に関連する第2の地上ログデータ(例えば、他の地上ログデータ132)に基づいて、第1のデータセット136を修正し得る。例えば、監査システム108は、他の地上ログデータ132を受信して同期し得る。監査システム108は、第1のデータセット136を、同期済みの他の地上ログデータ132、同期済みの第1の地上ログデータ120および同期済みの第1の乗物ログデータ122の分析に基づいて修正し得る。例えば、監査システム108は、第2の地上システム(例えば、他の地上システム124)が第1のソフトウェア部品150(または修正リクエスト152)を別のデバイス(例えば、第1の乗物102または地上システム104)に送信したときと、別のデバイス(例えば、第1の乗物102または地上システム104)が第1のソフトウェア部品150(または修正リクエスト152)を第2の地上システム(例えば、他の地上システム124)から受信したときとの間の時間差を示す期間を含むように、第1のデータセット136を修正し得る。別の例として、監査システム108は、第2の地上システム(例えば、他の地上システム124)が修正リクエスト152を別のデバイス(例えば、第1の乗物102または地上システム104)に送信したときと、別のデバイス(例えば、第1の乗物102または地上システム104)で第1のソフトウェア部品150が修正されたときとの間の時間差を示す期間を含むように、第1のデータセット136を修正し得る。
特定の一実施形態では、監査システム108は、第1のデータセット136内の第1のイベントの時点での第1の乗物102の状態を(例えば、第1の乗物ログデータ122、第1の地上ログデータ120、その他のデータ、またはこれらの組み合わせに基づいて)判定し得る。第1の乗物102の状態の例は、第1の乗物102が航空機である場合は、WOW状態、傾斜状態、対地速度状態、対気速度状態、パーキングブレーキ状態、および第1の乗物と空港との距離を示す空港距離状態を含む。例えば、監査システム108は、第1の乗物ログデータ122の状態値(例えば、0)が、第1の乗物102が第1のソフトウェア部品150(または修正リクエスト152)を受信したときの、第1の乗物102の特定のWOW状態(例えば、「偽」)を示すと判定し得る。特定のWOW状態(例えば、「偽」)は、第1の乗物102が飛行中に、第1のソフトウェア部品150(または修正リクエスト152)を受信したことを示し得る。第1の乗物ログデータ122の別の状態値(例えば、1)は、別の時点での、第1の乗物102の別の特定のWOW状態(例えば、「真」)を示し得る。例えば、別の特定のWOW状態(例えば、「真」)は、第1のソフトウェア部品150(または修正リクエスト152)が受信されたときに、第1の乗物102が地上にいたことを示し得る。監査システム108は、第1のデータセット136内の第1のイベントの時点での第1の乗物102の状態を示すデータを含み得る。例えば、監査システム108は、第1の乗物102が第1のソフトウェア部品150を受信したとき、第1の乗物102が修正リクエスト152を受信したとき、または第1のソフトウェア部品150が第1の乗物102で修正されたときの第1の乗物102の特定のWOW状態を示すように、第1のデータセット136を修正し得る。別の例として、監査システム108は、第1のデータセット136を、第1のソフトウェア部品150が第1の乗物102で修正されたときの第1の乗物102の状態を示すように修正し得る。別の例として、監査システム108は、第1のデータセット136を、第1の乗物102での第1のソフトウェア部品150の修正の状態を示すよう修正し得る。例えば、修正の状態は、第1のソフトウェア部品150の修正に成功したか、修正に失敗したかを示し得る。修正の状態は、修正中にエラー(または警告)が検出されたかどうか、およびエラー(または警告)に関係する情報を示し得る。
監査システム108は、第1のデータセット136を、対応する、基準データ140の第2のデータセット138と比較して、第1のデータセット136内に異常が存在するかどうか判定し得る。特定の一実施形態では、基準データ140の第2のデータセット138は、異常が検出されなかったソフトウェア部品修正に対応するログデータおよび他のデータ(閾値または予想範囲など)を含み得る。例えば、第2のデータセット138は、地上システムがソフトウェア部品(または修正リクエスト)を別のデバイス(例えば、乗物または別の地上システム)に送信するときと、別のデバイス(例えば、乗物または別の地上システム)がソフトウェア部品(または修正リクエスト)を受信するときとの間の閾値期間を示し得る。例えば、第2のデータセット138は、地上システムがソフトウェア部品(または修正リクエスト)を別のデバイス(例えば、乗物または別の地上システム)に送信するときと、別のデバイス(例えば、乗物または別の地上システム)がソフトウェア部品(または修正リクエスト)を受信するときとの間の最大閾値期間、最小閾値期間、またはその両方を含み得る。別の例として、第2のデータセット138は、地上システムが修正リクエストを別のデバイス(例えば、乗物または別の地上システム)に送信するときと、別のデバイス(例えば、乗物または別の地上システム)でソフトウェア部品が修正されるときとの間の閾値期間を示し得る。例えば、第2のデータセット138は地上システムが修正リクエストを別のデバイス(例えば、乗物または別の地上システム)に送信するときと、別のデバイス(例えば、乗物または別の地上システム)でソフトウェア部品が修正されるときとの間の最大閾値期間、最小閾値期間、またはその両方を含み得る。別の例として、第2のデータセット138は、乗物がソフトウェア部品を受信するとき、乗物が修正リクエストを受信するとき、乗物でソフトウェア部品が修正されるとき、またはこれらの組み合わせのときの乗物の予想状態を示し得る。別の例として、第2のデータセット138は、例えば、第1の地上システムから第2の地上システムへ、次に乗物へ、というような、予想される移送順序を示し得る。別の例として、第2のデータセット138は、特定のユーザ(またはデバイス)、特定の権限をもつユーザ(またはデバイス)、特定の位置にいるユーザ(またはデバイス)、またはこれらの組み合わせがソフトウェア部品の移送(または修正)を許可もしくは開始できることを示し得る。
第1のデータセット136と第2のデータセット138との比較により、第1のデータセット136に少なくとも1つの予想外の値があることが示されるとき、第1のデータセット136内の異常が検出され得る。例えば、監査システム108は、地上システム104が第1のソフトウェア部品150(または修正リクエスト152)を別のデバイス(例えば、第1の乗物102または別の地上システム)に送信したときと、別のデバイス(例えば、第1の乗物102または別の地上システム)が第1のソフトウェア部品150(または修正リクエスト152)を受信したときとの間の第1の期間が、第2のデータセット138に示される最大閾値期間を超えるとの判定、または第1の期間が、第2のデータセット138に示される最小閾値期間を下回るとの判定に応答して、異常を検出し得る。別の例として、監査システム108は、地上システム104が第1のソフトウェア部品150(または修正リクエスト152)を別のデバイス(例えば、別の地上システム)から受信したときと、別のデバイス(例えば、別の地上システム)が第1のソフトウェア部品150(または修正リクエスト152)を送信したときとの間の第2の期間が、第2のデータセット138に示される最大閾値期間を超えるとの判定、または第2の期間が、第2のデータセット138に示される最小閾値期間を下回るとの判定に応答して、異常を検出し得る。
別の例として、監査システム108は、地上システム104が修正リクエスト152を別のデバイス(例えば、第1の乗物102または別の地上システム)に送信したときと、第1のソフトウェア部品150が、別のデバイス(例えば、第1の乗物102または別の地上システム)で修正されたときとの間の第1の期間が、第2のデータセット138に示される最大閾値期間を超えるとの判定、または第1の期間が、第2のデータセット138に示される最小閾値期間を下回るとの判定に応答して、異常を検出し得る。
別の例として、監査システム108は、第1の乗物102の状態が、第2のデータセット138に示される予想WOW状態(例えば、「真」)に対応していない特定のWOW状態(例えば、「偽」)を示すとの判定に応答して、異常を検出し得る。別の例として、監査システム108は、第1のソフトウェア部品150の修正の状態(例えば、「失敗」)が、第2のデータセット138に示される予想修正状態(例えば、「成功」)に対応していないとの判定に応答して、異常を検出し得る。
別の例として、監査システム108は、第1のソフトウェア部品150(または修正リクエスト152)の移送順序が、第2のデータセット138に示される予想移送順序に対応していないとの判定に応答して、異常を検出し得る。例えば、監査システム108は、地上システム104が第1のソフトウェア部品150(または修正リクエスト152)を、第2のデータセット138の予想移送順序に示される第2のデバイスに対応しない別のデバイス(例えば、乗物102または別の地上システム)に送信したとの判定、地上システム104が第1のソフトウェア部品150(または修正リクエスト152)を、第2のデータセット138の予想移送順序に示される第2のデバイスに対応しない別のデバイス(例えば、別の地上システム)から受信したとの判定、または第1の乗物102が第1のソフトウェア部品150(または修正リクエスト152)を、第2のデータセット138の予想移送順序に示される第2のデバイスに対応しない別のデバイス(例えば、地上システム104または別の地上システム)から受信したとの判定に応答して、異常を検出し得る。
別の例として、監査システム108は、連鎖管理に食い違いがあるとの判定に応答して、異常を検出し得る。例えば、監査システム108は、第1のデータセット136が、別のデバイス(例えば、別の地上システム)が第1のソフトウェア部品150(または修正リクエスト152)を地上システム104に送信したことを示し、地上システム104が第1のソフトウェア部品150(または修正リクエスト152)を別のデバイスから受信したことを示していないとの判定、地上システム104が第1のソフトウェア部品150(または修正リクエスト152)を別のデバイス(例えば、別の地上システム)から受信したことを示し、別のデバイスが第1のソフトウェア部品150(または修正リクエスト152)を地上システム104に送信したことを示していないとの判定、地上システム104が第1のソフトウェア部品150(または修正リクエスト152)を別のデバイス(例えば、乗物102または別の地上システム)に送信したことを示し、別のデバイスが第1のソフトウェア部品150(または修正リクエスト152)を地上システム104から受信したことを示していないとの判定、または別のデバイス(例えば、乗物102または別の地上システム)が第1のソフトウェア部品150(または修正リクエスト152)を地上システム104から受信したことを示し、地上システム104が第1のソフトウェア部品150(または修正リクエスト152)を別のデバイスに送信したことを示していないとの判定を行い得る。
別の例として、監査システム108は、第1のソフトウェア部品150の移送(または修正)が、第2のデータセット138に示される予想ユーザ(またはデバイス)と対応しないユーザ(またはデバイス)によって許可または開始されたとの判定に応答して、異常を検出し得る。監査システム108は、異常の検出に応答して通知を送信し得る。例えば、監査システム108は、異常に関係するメッセージを(例えば、ユーザ、別のデバイス、またはその両方に)送信するか、異常に関係する警告を(例えば、出力デバイスに)表示するか、またはその両方を行い得る。
特定の例示的一実施形態では、監査システム108は、別の乗物(例えば、他の乗物106)で特定の異常が検出されたことを示す、他の異常データ148に基づいて、第1のデータセット136を生成または修正し得る。例えば、監査システム108は、他の異常データ148が、特定の異常が他の乗物106の連鎖管理情報内で検出されたことを示していると判定し得る。他の異常データ148に応答して、監査システム108は、第1の乗物102の連鎖管理情報内での特定の異常の検出を可能または容易するために、第1のデータセット136を生成または修正し得る。例えば、監査システム108は、他の乗物106で検出された特定の異常に関連するイベントのみに関するデータを含むように、第1のデータセット136を修正し得る。例えば、異常は、他の乗物106での特定のソフトウェア部品(例えば、第1のソフトウェア部品150)の修正に関連し得る。監査システム108は、第1の乗物102での第1のソフトウェア部品150の修正に関連するイベントのみに関するデータを含むように、第1のデータセット136を修正し得る。
別の例として、他の異常データ148は、他の乗物106が特定の状態であったときに、他の乗物106によってソフトウェア部品(または修正リクエスト)が受信されたとの判定に応答して、特定の異常が検出されたことを示し得る。他の異常データ148に基づいて、監査システム108は、第1の乗物102が第1のソフトウェア部品150(または修正リクエスト152)を受信したときの第1の乗物102の状態を含むように、第1のデータセット136を生成または修正し得る。別の例として、他の異常データ148は、他の乗物106が特定の状態であったときに、他の乗物106によってソフトウェア部品が修正されたとの判定に応答して、特定の異常が検出されたことを示し得る。他の異常データ148に基づいて、監査システム108は、第1の乗物102で第1のソフトウェア部品150が修正されたときの第1の乗物102の状態を含むように、第1のデータセット136を生成または修正し得る。別の例として、他の異常データ148は、他の乗物106でのソフトウェア部品の修正の結果が特定の修正状態であったとの判定に応答して、特定の異常が検出されたことを示し得る。他の異常データ148に基づいて、監査システム108は、第1の乗物102での第1のソフトウェア部品150の修正の結果である修正状態を含むように、第1のデータセット136を生成または修正し得る。
特定の例示的一実施形態では、監査システム108は、監査データを総計し得る。例えば、監査システム108は、特定の乗物(例えば、第1の乗物102または他の乗物106)、特定の地上システム(例えば、地上システム104または他の地上システム124)、特定のソフトウェア部品(例えば、第1のソフトウェア部品150)、特定の乗物タイプ(例えば、モデル、製造年、製造元、エンジン番号などに基づく)、特定の時間範囲、特定の位置(例えば、空港)、またはこれらの組み合わせに関するデータを総計し得る。例えば、監査システム108は、特定の航空会社の保有航空機に含まれる乗物に関する監査データを総計し得る。総計された監査データは、異常に関係するデータを含み得る。監査システム108は、総計された監査データに関係するメッセージを(例えば、ユーザ、別のデバイス、またはその両方に)送信するか、総計された監査データを(例えば、出力デバイスに)表示するか、またはその両方を行い得る。
特定の例示的一実施形態では、監査システム108は、基準データ140を生成し得る。基準データ140は、ある乗物(例えば、他の乗物106)でのソフトウェア部品(例えば、他のソフトウェア部品160)の修正で異常が検出されなかったことを表す第2のデータセット138を含み得る。図2を参照しながら下記に詳述するように、監査システム108は、他の乗物ログデータ130および他の地上ログデータ132に基づいて、基準データ140の第2のデータセット138を生成し得る。図2を参照しながら下記に詳述するように、監査システム108は、セキュリティ要件146、乗物仕様データ144、またはその両方に基づいて、基準データ140を修正し得る。第2のデータセット138は、他の乗物106での他のソフトウェア部品160の修正で異常が検出されなかったことを示し得る。特定の一実施形態では、第2のデータセット138は、第1の乗物102での第2のソフトウェア部品の修正を表し得る。特定の一実施形態では、第2のデータセット138は、総計されたデータを含み得る。例えば、第2のデータセット138は、第1の乗物102と同じタイプの他の航空機での修正に基づいて、予想時間範囲、予想乗物状態、またはその両方を含み得る。
このように、監査システム108は、連鎖管理情報を含む乗物ログデータおよび地上システムログデータ内の異常検出を可能にし得る。監査システム108は、第1の乗物ログデータ122を第1の乗物102から受信し得、第1の地上ログデータ120を地上システム104から受信し得る。監査システム108は基準データ140に基づいて、第1の乗物ログデータ122および第1の地上ログデータ120を分析して、異常を検出し得る。したがって、監査システム108は、第1の地上ログデータ120および第1の乗物ログデータ122の審査を自動化して、第1のソフトウェア部品150に関連する連鎖管理情報内の異常を検出し得る。ログの審査を自動化することにより、ログ審査に関連する時間、費用、またはその両方を削減し得る。
図2を参照すると、連鎖管理情報内の異常を検出するためのシステムの、特定の一実施形態の線図が開示され、全体的に200と称されている。システム200は、機能モジュールの観点から図示および記載されている。さまざまな実施形態で、これらの機能モジュールのうち1つまたは複数が、コンピュータ読み取り可能な媒体(例えば、ハードディスクドライブ、メモリ)に記憶された命令として実装され得る。命令は、1つまたは複数のプロセッサによって実行可能であり得る。特定の一実施形態では、1つまたは複数の機能モジュールの機能は、電気回路として実装され得る。電気回路には、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、中央処理装置(CPU)などの処理ユニット、コントローラ、ファームウェアデバイス、その他のハードウェアデバイスを備え得る。
システム100の機能モジュールは、前処理モジュール220、異常検出モジュール222、総計モジュール224、通知モジュール266、特徴作成モジュール210、特徴選択モジュール212、モデル調整モジュール214、またはこれらの組み合わせを含み得る。モジュールは相互に通信し、ログデータを処理して、異常を検出し得る。特定の一実施形態では、図1の監査システム108は、これらのモジュールのうち1つまたは複数を含み得る。システム200は、基準プロファイルデータ216を含み得る。特定の一実施形態では、基準プロファイルデータ216は、図1の基準データ140に対応し得る。
前処理モジュール220は、飛行機ネットワークシステムおよびセキュリティのログ202を受信し得る。飛行機ネットワークシステムおよびセキュリティのログ202は、図1の第1の乗物ログデータ122の特定の例であり得る。前処理モジュール220は、地上システムアプリケーションのログ204も受信し得る。地上システムアプリケーションのログ204は、図1の第1の地上ログデータ120の特定の例であり得る。前処理モジュール220は、図1を参照しながら記載したように、飛行機ネットワークシステムおよびセキュリティのログ202と地上システムアプリケーションのログ204とを同期させて、第1の乗物ログデータ122と第1の地上ログデータ120とを同期させ得る。特定の一実施形態では、前処理モジュール220は、同期済みの第1の乗物ログデータ122および同期済みの第1の地上ログデータ120を特徴作成モジュール210に送信し得る。特徴作成モジュール210は、第1の乗物ログデータ122と第1の地上ログデータ120との比較に基づいて、第1のデータセット136を生成し得る。特徴作成モジュール210は、第1のデータセット136を異常検出モジュール222に送信し得る。さらに、異常検出モジュール222は、基準プロファイルデータ216(例えば、図1の基準データ140)を受信し得る。異常検出モジュール222は、第1のデータセット136と基準データ140の第2のデータセット138との比較に基づいて、異常を検出し得る。総計モジュール224は、異常に関係する異常検出モジュール222から総計モジュール224が受信した情報に基づいて、監査データを総計し得る。通知モジュール266は、総計された監査データを総計モジュール224から受信すると、これに応答して、異常に関係するメッセージを(例えば、ユーザ、別のデバイス、もしくはその両方に)送信するか、異常に関係する通知を(例えば、出力デバイスに)表示するか、またはその両方を行い得る。
特定の例示的一実施形態では、異常検出モジュール222は、別の乗物で検出された異常206に基づいて、第1のデータセット136を生成または修正し得る。例えば、異常206は、図1の他の異常データ148で検出された異常に対応し得る。異常検出モジュール222は、異常206に関連するイベントのみに関するデータを含むように、第1のデータセット136を修正し得る。第1のデータセット136内の、既知の異常(例えば、異常206)に関するデータのみを含ませることによって、第1のデータセット136が既知の異常(例えば、異常206)を含むかどうかの判定の効率を改善するか、費用を削減するか、またはその両方を可能にし得る。第1のデータセット136が特定の異常を含むかどうかの判定により、時間に敏感で消耗的なログ審査作業が不必要になり得る。例えば、第1の乗物102が航空機であって、その航空機の耐空性が、その航空機と同じタイプの別の航空機で検出された既知の異常(例えば、異常206)が第1のデータセット136が示しているかどうかに依存する場合、既知の異常(例えば、異常206)に関連するイベントのみに基づくログ審査によって、貴重な資源を節約し得る。例えば、既知の異常が検出されなかった場合は、その航空機は耐空性があると適時に宣言され、既知の異常が検出された場合は、予防措置を適時に取り得る。
特定の例示的一実施形態では、システム200は、基準データ140を生成し得る。基準データ140は、第2の乗物(例えば、他の乗物106)でのソフトウェア部品(例えば、他のソフトウェア部品160)の、検出された異常のない修正を表す第2のデータセット138を含み得る。例えば、前処理モジュール220は第2の乗物ログデータ(例えば、他の乗物ログデータ130)を受信し、第2の地上ログデータ(例えば、他の地上ログデータ132)を受信し得る。前処理モジュール220は、第2の乗物ログデータと第2の地上ログデータとを同期させ得る。特徴作成モジュール210は、同期済みの第2の乗物ログデータと同期済みの第2の地上ログデータとの比較に基づいて、基準データ140を生成し得る。例えば、特徴作成モジュール210は、他の乗物ログデータ130と他の地上ログデータ132との比較に基づいて、基準データ140の第2のデータセット138を生成し得る。特徴作成では、機械学習処理を参照し得る(または含み得る)(例えば、ある評価尺度に基づいて基準データ140を修正し得る)。例えば、特徴作成モジュール210は、特定の1組の異常を有するテストログデータ内で検出される異常に基づいて、基準データ140を修正し得る。例えば、基準データ140は、特定の1組の異常のうち特定のパーセンテージが検出されるように、または特定タイプの異常が検出されるように、またはこれらの組み合わせになるように修正され得る。別の例として、特徴作成モジュール210は、異常検出の結果に基づいて、経時的に基準データ140を修正し得る。結果には、各イベントに関連する異常の数、異常評価点、イベント評価点、またはこれらの組み合わせが含まれ得る。異常評価点(またはイベント評価点)は、検出された異常(またはイベント)の妥当性を示し得る。あるイベントのイベント評価点は、そのイベントに関連する異常の異常評価点に基づき得、またそのイベントに関連する異常の数に基づき得る。例えば、イベント評価点は、そのイベントに関連する異常の異常評価点の合計であり得る。特定の一実施形態では、異常評価点は、ユーザ入力(例えば、ユーザが、検出された異常に特定の妥当性評価点を割り当てるなど)に基づき得る。特定の一実施形態では、異常評価点は、異常の検出に応答して取られる行動に基づき得る。例えば、検出された異常が無視された(例えば、ユーザが無視という選択肢を選ぶことによって示される)場合、検出された異常には、低い異常評価点が割り当てられ得る。一方、検出された異常に応答して通知が生成された場合は、検出された異常に高い異常評価点が割り当てられ得る。異常評価点は、検出された異常に関連する異常評価点の加重和であり得る。例えば、より新しい異常評価点には、より古い異常評価点よりも大きい重みが割り当てられ得る。低いイベント評価点は、そのイベントが異常を示す可能性が低いこと(例えば、そのイベントに関連付けられた、検出された異常の数が少ないこと、そのイベントに関連する異常が最近は検出されていないこと、またはその両方)、そのイベントの妥当性が低いこと(例えば、そのイベントに関連する異常の多くが無視されたこと)、またはその両方であることを示し得る。特徴作成モジュール210は、イベント評価点に基づいて特定のイベントを除外するように、基準データ140を修正し得る。例えば、特徴作成モジュール210は、イベント評価点の低いイベントを、基準データ140から除去し得る。このように、基準データ140は、検出される異常の数が結果的に多くなるイベントを含むように、または検出された異常のうち妥当性の高いものに関連するイベントを含むように、または検出された異常のうち妥当性の低いものに関連するイベントを除外(または除去)するように、または検出された異常の数が結果的に少なくなるイベントを除外(または除去)するように、またはこれらの組み合わせになるように、経時的に修正し得る。自動ログ監査は、経時的に、より効率的になり得、時間および費用の節約につながり得る。
特徴選択モジュール212は、基準データ140を修正し得る。例えば、特徴選択モジュール212は、セキュリティ要件254(例えば、図1のセキュリティ要件146)に基づいて、第2のデータセット138を修正し得る。例えば、セキュリティ要件254は、地上システムが乗物にソフトウェア部品(または修正リクエスト)を送信したときと、乗物が地上システムからソフトウェア部品(または修正リクエスト)を受信したときとの間の閾値期間を示し得る。特徴選択モジュール212は、セキュリティ要件254に示される閾値期間を含むように、第2のデータセット138を修正し得る。別の例として、セキュリティ要件254は、地上システムが乗物に修正リクエストを送信したときと、乗物でソフトウェア部品が修正されたときとの間の第2の閾値期間を示し得る。特徴選択モジュール212は、セキュリティ要件254に示される第2の閾値期間を含むように第2のデータセット138を修正し得る。別の例として、セキュリティ要件254は、乗物がソフトウェア部品を受信したとき、乗物が修正リクエストを受信したとき、乗物でソフトウェア部品が修正されたとき、またはこれらの組み合わせのときの、乗物の特定の予想状態を示し得る。例えば、セキュリティ要件254は、乗物がソフトウェア部品を受信したときに、乗物のWOW状態が特定の予想値をもつはずであることを示し得る。特徴選択モジュール212は、乗物の特定の予想状態を含むように、第2のデータセット138を修正し得る。
別の例として、特徴選択モジュール212は、乗物250のハードウェアおよびソフトウェア仕様、他の乗物のハードウェアおよびソフトウェア仕様ならびに他の乗物の選択された特徴252、またはこれらの組み合わせに基づいて第2のデータセット138を修正し得る。特定の一実施形態では、乗物250のハードウェアおよびソフトウェア仕様は、図1の乗物仕様データ144の第1の乗物仕様に対応するか、またはこれを含み得る。また、他の乗物のハードウェアおよびソフトウェア仕様ならびに他の乗物の選択された特徴252は、乗物仕様データ144の第2の乗物仕様に対応するか、これを含み得る。第1の乗物仕様は、第1の乗物102に関連するソフトウェアモジュール、ハードウェアモジュール、またその両方を示し得る。また、第2の乗物仕様は、別の乗物(例えば、他の乗物106)に関連するソフトウェアモジュール、ハードウェアモジュール、またはその両方を示し得る。特徴選択モジュール212は、第1の乗物仕様と第2の乗物仕様を比較して、第1の乗物102および他の乗物106が共通のソフトウェアモジュール、共通のハードウェアモジュール、またはその両方をもつかどうか判定し得る。特徴選択モジュール212は、共通のソフトウェアモジュール、共通のハードウェアモジュール、またはその両方に対応するイベントを含むように、第2のデータセット138を修正し得る。例えば、他の乗物106に関連する異常がすでに検出されていることがあり、共通のソフトウェアモジュール、共通のハードウェアモジュール、またはその両方に基づいて第2のデータセット138を修正することによって、第1の乗物102に関係する類似した異常の検出が可能になり得る。
特定の例示的一実施形態では、モデル調整モジュール214は、統計モデルに基づいて、基準データ140を修正し得る。例えば、統計モデルは平均値(例えば、算術平均値、中央値または最頻値)を用いることを示し得る。例えば、モデル調整モジュール214は、他の地上システム124が複数のソフトウェア部品(または修正リクエスト)を他の乗物106に送信したときと、他の乗物106がソフトウェア部品(または修正リクエスト)を受信したときとの間の第1の平均期間を計算し得る。別の例として、モデル調整モジュール214は、他の地上システム124が複数の修正リクエストを他の乗物106に送信したときと、対応するソフトウェア部品が他の乗物106で修正されたときとの間の第2の平均期間を計算し得る。監査システム108は、第2のデータセット138を、第1の平均値を第1の閾値期間として示すように、または第2の平均値を第2の閾値期間として示すように、またはその両方になるよう修正し得る。別の例として、統計モデルは、第2のデータセット138内の変動を示す、標準偏差値などのデータを使用し得る。監査システム108は、他の地上システム124が複数のソフトウェア部品(または修正リクエスト)を他の乗物106に送信することおよび他の乗物106がソフトウェア部品(または修正リクエスト)を受信することに関連する第1の変動を判定し得る。別の例として、監査システム108は、他の地上システム124が複数の修正リクエストを他の乗物106に送信すること、および対応するソフトウェア部品が他の乗物106で修正されることに関連する第2の変動を判定し得る。監査システム108は、第1の変動に基づいて第2のデータセット138の第1の閾値期間を修正するか、第2の変動に基づいて第2のデータセット138の第2の閾値期間を修正するか、またはその両方を行い得る。生成された基準データ140は、基準プロファイルデータ216に対応し得る。
このように、システム200は、連鎖管理情報を含む乗物ログデータおよび地上システムログデータ内の異常の検出を可能にし得る。図1の第1の乗物ログデータ122、および第1の地上ログデータ120は、基準データ140に基づいて分析され、第1のソフトウェア部品150に関連する連鎖管理情報内の異常を第1の乗物102で検出し得る。基準データ140は、セキュリティ要件に基づいて修正され得る。さらに、または代わりに、基準データ140は、第1の乗物102と共通のハードウェア部品、共通のソフトウェア部品、またはその両方を含む別の乗物に基づいて、修正され得る。したがって、自動ログ審査は、セキュリティ要件が満足されているかどうか判定するために、動的に更新され得る。さらに、自動ログ審査は、第1の乗物102と別の乗物(例えば、異常が検出された乗物)との間の共通の部品(例えば、ハードウェア、ソフトウェアまたはその両方)に関連するイベントを含むよう更新され得る。
図3を参照すると、乗物ログデータと地上ログデータとを同期させるための方法の、特定の例示的一実施形態のフローチャートが示され、全体的に300と称されている。図3の方法300は、図1の監査システム108、図2の前処理モジュール220またはその両方によって実行され得る。
方法300は、302で、飛行機ログデータを取得することを含み得る。飛行機ログデータの取得には、飛行機ログデータをメモリから検索すること、データ通信を介して別のデバイスから飛行機ログデータを受信すること、またはその両方を含み得る。例えば、図1の監査システム108は、第1の乗物ログデータ122を第1の乗物102から受信し得る。
方法300はまた、304で、次の地上システムから地上ログデータを取得することを含み得る。地上ログデータの取得には、地上ログデータをメモリから検索すること、データ通信を介して別のデバイスから地上ログデータを受信すること、またはその両方を含み得る。例えば、図1の監査システム108は、第1の地上ログデータ120を地上システム104から受信し得る。
方法300はさらに、306で、飛行機ログデータと地上ログデータが共通のイベントを含むかどうか判定することを含み得る。例えば、図1の監査システム108は、第1の乗物ログデータ122と第1の地上ログデータ120が共通のイベントを含むかどうかを、例えば第1の乗物ログデータ122および第1の地上ログデータ120のそれぞれに含まれる1つの識別子に基づいて、判定し得る。
306で共通のイベントがない場合は、方法300は、312で、すべての地上システムの処理が終了したかどうか判定することを含み得る。例えば、第1の乗物ログデータ122と第1の地上ログデータ120との間に共通のイベントがないとの判定に応答して、監査システム108は、監査システム108の考慮対象となるすべての地上システム(例えば、他の地上システム124)の地上ログデータの処理が終了したかどうか判定し得る。
312で、すべての地上システムの処理が終了していない場合は、方法300は、304に進み得る。例えば、監査システム108は、他の地上ログデータ132を他の地上システム124から受信し得る。312で、すべての地上システムの処理が終了した場合は、方法300は、314で終了し得る。
306で、共通のイベントがある場合は、方法300は、308で、指定された時間窓の間の1つの共通イベントを選択することを含み得る。例えば、監査システム108は、地上システム104がソフトウェア部品(例えば、第1のソフトウェア部品150)を第1の乗物102に送信すること、第1の乗物102がソフトウェア部品を地上システム104から受信することに対応するイベントを選択し得る。時間窓は、第1の乗物ログデータ120の、同期対象の一部分に基づいて決定されるか、前回のログ審査で使用された時間窓に続くか、またはユーザが指定し得る。
また方法300は、310で、選択された共通イベントについて、時間差を計算し、調整して同期をとることを含み得る。例えば、監査システム108は、第1の乗物ログデータ122の第1のタイムスタンプと、第1の地上ログデータ120の第2のタイムスタンプとの間の期間を計算し得る。第1のタイムスタンプおよび第2のタイムスタンプは、選択された共通イベントに対応し得る。監査システム108は、この期間に基づいて、第1の乗物ログデータ122、第1の地上ログデータ120またはその両方のタイムスタンプを調整し得る。方法300は、312に進み得る。このように、方法300を使用して、第1の乗物ログデータ122と地上ログデータ(例えば、第1の地上ログデータ120、他の地上ログデータ132、またはその両方)の時系列イベントを同期させ得る。
図4を参照すると、データセットを生成するための方法の、特定の例示的一実施形態のフローチャートが示され、全体的に400と称されている。特定の一実施形態では、方法400は、図1の監査システム108、図2の前処理モジュール220、特徴作成モジュール210、特徴選択モジュール212、モデル調整モジュール214、またはこれらの組み合わせによって実行され得る
方法400は、404で、構文解析処理データを含み得る。例えば、図2の前処理モジュール220は、飛行機のネットワークシステムおよびセキュリティのログ202(例えば、図1の他の乗物ログデータ130)ならびに地上システムアプリケーションのログ204(例えば、他の地上ログデータ132)の構文解析を行い得る。構文解析には、飛行機のネットワークシステムおよびセキュリティのログ202ならびに地上システムアプリケーションのログ204を分析して、処理済みデータを生成することを含み得、処理済みデータは、飛行機ネットワークシステムおよびセキュリティのログならびに地上システムアプリケーションのログ204の論理構成要素を特定する。論理構成要素の例には、イベントタイプ、タイムスタンプ、識別子、乗物状態、および修正状態が含まれる。イベントタイプの例には、ソフトウェア部品を送信すること、ソフトウェア部品を受信すること、ソフトウェア部品の修正リクエストを送信すること、ソフトウェア部品の修正リクエストを受信すること、および、ソフトウェア部品を修正すること(例えば、インストール、削除、アップグレード、更新など)が含まれる。識別子の例は、ソフトウェア部品識別子、ハードウェア部品識別子(例えば、ソフトウェア部品に関連するハードウェア部品の識別子)、イベント識別子、デバイス識別子(例えば、ソフトウェア部品(または修正リクエスト)の送信元デバイスの識別子、ソフトウェア部品(または修正リクエスト)の送信先デバイスの識別子、保守コンピュータの識別子、乗物識別子、地上システム識別子、ソフトウェア部品の移送(または修正)を許可または開始したデバイスの識別子)、位置識別子、およびユーザ識別子(例えば、ソフトウェア部品の移送(または修正)を開始または許可したユーザの識別子)を含む。飛行機のネットワークシステムおよびセキュリティのログ202ならびに地上システムアプリケーションのログ204は、規則(例えば、文法規則)に基づいて分析され得る。例えば、規則は、前処理モジュール220がどのようにして論理構成要素を特定するかを示し得る。例えば、規則は、特定の文字が特定のイベントに関するデータの始まりを示すこと、別の特定の文字がその特定のイベントに関するデータの終わりを示すこと、タイムスタンプの書式、識別子の書式、イベントタイプの書式、乗物状態の書式、修正状態の書式、またはこれらの組み合わせを示し得る。規則に基づいて、前処理モジュール220は、ある特定のイベントに関連するデータ内で特定されたイベントタイプ、タイムスタンプ、識別子、乗物状態、修正状態、またはこれらの組み合わせが、その特定のイベントに関連すると判定し得る。
方法400は、図1の特徴作成モジュール210を参照しながら記載したように、特徴作成に対応し得る。方法400は、図1の監査システム108、図2の特徴作成モジュール210、またはその両方によって実行され得る。方法400は、分析ログに基づいて特徴を生成する機械学習処理に対応し得る。
例えば、特徴作成には、ログに含まれる識別子に基づいて特徴を作成することを含み得る。方法400は、406で、処理済みデータに、なんらかの識別子が含まれているかどうかの判定を含み得る。例えば、図2の特徴作成モジュール210は、他の乗物ログデータ130および他の地上ログデータ132に対応する処理済みデータが、なんらかの識別子を含むかどうか判定し得る。406で、処理済みデータに識別子が含まれていない場合は、方法400は414に進み得る。
識別子に基づいて特徴を生成することは、ログに含まれる各識別子に関連するイベントを特定することを含み得る。例えば、406で、処理済みデータに識別子が含まれている場合は、方法400は、408で、各識別子に関連するイベントを見つけることを含み得る。例えば、処理済みデータは、他の乗物ログデータ130が、他のソフトウェア部品160の識別子を含むことを示し得る。特徴作成モジュール210は、他の地上システム124が、他のソフトウェア部品160を他の乗物106に送信することに関連するイベント、他の乗物106が、他のソフトウェア部品160を受信することに関連するイベント、他の地上システム124が他のソフトウェア部品160を修正するための修正リクエストを送信することに関連するイベント、他の乗物106が修正リクエストを受信することに関連するイベント、他のソフトウェア部品160が他の乗物106で修正されることに関連するイベント、またはこれらの組み合わせのような、その識別子に関連するイベントを見つけ得る。
識別子に基づいて特徴を生成することには、各タイプの識別子に関連するすべてのイベントのタイプを特定することを含み得る。イベントのタイプの例には、ソフトウェア部品を送信すること、ソフトウェア部品を受信すること、修正リクエストを送信すること、修正リクエストを受信すること、ソフトウェア部品の修正(例えば、インストール、削除、アップグレード、更新など)、またはこれらの組み合わせが含まれ得る。識別子のタイプの例には、ソフトウェア部品識別子タイプ、ハードウェア部品識別子タイプ、イベント識別子タイプ、デバイス識別子タイプ、位置の識別子タイプ、およびユーザ識別子タイプが含まれ得る。例えば、方法400は、410で、各識別子タイプについて関連するすべてのイベントタイプのリストを収集することを含み得る。例えば、特徴作成モジュール210は、他のソフトウェア部品160に関するデータに基づいて、あるソフトウェア部品識別子タイプに関連するすべてのイベントタイプのリストを収集し得る。例えば、他のソフトウェア部品160に関するデータは、他のソフトウェア部品160を受信したこと、他のソフトウェア部品160を送信したこと、他のソフトウェア部品160を修正するための修正リクエストを受信したこと、修正リクエストを送信したこと、および他のソフトウェア部品160の修正を示し得る。他のソフトウェア部品160に関するデータに基づいて、特徴作成モジュール210は、それぞれが、あるソフトウェア部品識別子タイプに関連する、イベントタイプのリスト(例えば、ソフトウェア部品を受信することのイベントタイプ、ソフトウェア部品を送信することのイベントタイプ、修正リクエスト受信のイベントタイプ、修正リクエストを送信することのイベントタイプ、修正のイベントタイプ)を生成し得る。
特徴の作成には、各識別子タイプに関連するイベントのタイプを、特徴選択モジュールに送信することを含み得る。方法400は、412で、すべてのイベントタイプのリストに基づいて、第1のログ特徴を、特徴選択モジュール212に送信することを含み得る。例えば、特徴作成モジュール210は、特徴選択モジュール212に送られたイベントタイプのリストに基づいて、図1の第2のデータセット138を生成し得る。例えば、第2のデータセット138は、あるソフトウェア部品識別子タイプに関連するイベントタイプのリストを記載したデータを含み得る。第2のデータセット138はまた、そのソフトウェア部品識別子タイプに関連するイベントタイプに関するデータも含み得る。例えば、第2のデータセット138は、他の地上システム124が、他のソフトウェア部品160を他の乗物106に送信したときと、他の乗物106が、他のソフトウェア部品160を受信したときとの間の期間に基づいて、ソフトウェア部品の送信と受信の間の閾値期間を示し得る。別の例として、第2のデータセット138は、他の地上システム124が、他のソフトウェア部品160を修正するための修正リクエストを他の乗物106に送信したときと、他の乗物106が修正リクエストを受信したときとの間の期間に基づいて、修正リクエストの送信と受信との間の閾値期間を示し得る。別の例として、第2のデータセット138は、他の地上システム124が他の乗物106に修正リクエストを送信したときと、他のソフトウェア部品160が他の乗物106で修正されたときとの間の期間に基づいて、修正リクエストの送信とソフトウェア部品の修正との間の閾値期間を示し得る。特徴作成モジュール210は、第2のデータセット138を特徴選択モジュール212に送信し得る。
別の例として、特徴の作成は、状態変数に基づいて特徴を生成することを含み得る。方法400は、414で、処理済みデータになんらかの状態変数が含まれているかどうか判定することを含み得る。例えば、特徴作成モジュール210は、処理済みデータに基づいて、他の乗物ログデータ130に、他の乗物106の状態を示すなんらかの変数が含まれているかどうか判定し得る。乗物の状態の例には、WOW状態、傾斜状態、対地速度状態、対気速度状態、パーキングブレーキ状態、および第1の乗物と空港との距離を示す空港距離状態が、またはこれらの組み合わせが含まれ得る。別の例として、特徴作成モジュール210は、処理済みデータに基づいて、他の乗物ログデータ130に、他の乗物106での、他のソフトウェア部品160の修正に関連する修正状態を示すなんらかの変数が含まれているかどうか判定し得る。414で、処理済みデータに状態変数が含まれていない場合は、方法400は、420で終了し得る。
状態変数に基づいて特徴を生成することには、各状態変数に関連するすべての値を特定することを含み得る。例えば、414で、処理済みデータに状態変数が含まれている場合は、方法400は、416で、各状態変数に関連するすべての値を見つけることを含み得る。例えば、他の乗物ログデータ130は、第1の時点の他の乗物106のWOW状態の第1の値(例えば、「真」)を示し得る。他の乗物ログデータ130は、第2の時点の他の乗物106のWOW状態の第2の値(例えば、「偽」)を示し得る。特徴作成モジュール210は、乗物のWOW状態に関連する第1の値および第2の値を見つけ得る。別の例として、他の乗物ログデータ130は、第1の時点の、他の乗物106での他のソフトウェア部品160の修正に関連する修正状態の、第1の値(例えば、「成功」)を示し得る。他の乗物ログデータ130は、第2の時点の、他の乗物106での他のソフトウェア部品160の修正に関連する修正状態の、第2の値(例えば、「失敗」)を示し得る。特徴作成モジュール210は、乗物に関連する修正状態に関連する第1の値および第2の値を見つけ得る。
特徴の作成には、各状態変数に関連する値を特徴選択モジュールに送信することを含み得る。方法400は、418で、各状態変数に関連する値に基づいて、第2のログ特徴を特徴選択モジュールに送信することを含み得る。例えば、特徴作成モジュール210は、他の乗物106のWOW状態に関連する値(例えば、「真」および「偽」)を示すように、第2のデータセット138を生成または修正し得る。第2のデータセット138はまた、他のソフトウェア部品160が受信されたときの他の乗物106のWOW状態に基づいて、ソフトウェア部品が受信されたときの乗物のWOW状態に関連する期待値を示し得る。別の例として、特徴作成モジュール210は、他の乗物106に関連する修正状態に関連する値(例えば、「成功」または「失敗」)を示すように、第2のデータセット138を生成または修正し得る。第2のデータセット138は、また、他のソフトウェア部品160が修正されたときの他の乗物106の修正状態に基づいて、ソフトウェア部品が修正されたときの乗物に関連する修正状態に関連する期待値を示し得る。特徴作成モジュール210は、第2のデータセット138を特徴選択モジュール212に送信し得る。方法400は、420で終了し得る。
図5を参照すると、基準データを作成するための方法の、特定の例示的一実施形態のフローチャートが示され、全体的に500と称されている。方法500は、監査システム108、図2の特徴選択モジュール212またはその両方により実行され得る。特徴は、基準データを生成するために、乗物が別の乗物と共通のハードウェアモジュールまたは別の乗物と共通のソフトウェアモジュールをもつかどうかに基づくか、セキュリティ要件に基づくか、またはその両方に基づいて選択され得る。例えば、他の乗物に関連する異常が検出されており、ログ審査の目的は、乗物(例えば、第1の乗物102)が他の乗物と共通してもつハードウェアモジュールまたはソフトウェアモジュールに関する異常があるかどうか確認することであり得る。ログ審査の別の目的は、セキュリティ要件が満たされているかの確認であり得る。
方法500は、502で、データを受信することまたはデータにアクセスすることを含み得る。データは、乗物250のハードウェアおよびソフトウェア仕様、他の飛行機の仕様ならびに他の乗物の選択された特徴252、セキュリティ要件254、またはこれらの組み合わせを含み得る。
方法500は、504で、乗物250のハードウェアおよびソフトウェア仕様と、他の乗物の仕様ならびに選択された特徴252とに基づいて、共通のハードウェアモジュールおよび/またはソフトウェアモジュールが存在するかどうかの判定を含み得る。例えば、特徴選択モジュール212は、乗物仕様データ144に基づいて、第1の乗物102および他の乗物106のそれぞれに共通のハードウェアモジュールおよび/またはソフトウェアモジュールがあるかどうか判定し得る。504で、共通のハードウェアモジュールまたはソフトウェアモジュールがない場合は、方法500は、512で終了し得る。
504で、共通のハードウェアモジュールまたはソフトウェアモジュールがある場合は、方法500は、508で、共通のハードウェアモジュールまたは共通のソフトウェアモジュールに対応する、なんらかのログ特徴があるかどうか判定することを含み得る。判定は、特徴作成モジュールから受信した第1および/または第2のログ特徴506に基づき得る。例えば、特徴選択モジュール212は、第2のデータセット138が、共通のハードウェアモジュールまたはソフトウェアモジュールに対応するデータを含むかどうか判定し得る。508で、ログ特徴がない場合は、方法500は、512で終了し得る。
508で、共通のハードウェアモジュール、共通のソフトウェアモジュールまたはその両方に対応するログ特徴がある場合は、方法500は、510で、可能性のあるモデル調整のためのログ特徴を追加することを含み得る。例えば、特徴作成モジュールから受信した第1および/または第2のログ特徴506(例えば、第2のデータセット138、または第2のデータセット138の一部)が、共通のハードウェアモジュールおよび/またはソフトウェアモジュールに対応する場合は、モデル調整のために、第1および/または第2のログ特徴506が、基準データ140に追加され得る。方法500は、512で終了し得る。
図6を参照すると、連鎖管理情報内の異常を検出するための方法の、特定の例示的一実施形態を示すフローチャートが示され、全体的に600と称される。方法600は、監査システム108、図2の異常検出モジュール222またはその両方によって実行され得る。あるソフトウェア部品に関する連鎖管理情報内の異常を検出するために、乗物および1つまたは複数の地上システムのログが、審査および分析され得る。分析は基準データに基づき得る。例えば、基準データは、分析対象の特徴および予想値を示し得る。
方法600は、602で、乗物におけるソフトウェア部品の修正に関する乗物ログデータを受信することを含み得る。例えば、図1の監査システム108は、第1の乗物ログデータ122を受信し得る。第1の乗物ログデータ122は、第1の乗物102での第1のソフトウェア部品150の修正に関し得る。
方法600はまた、604で、地上システムの地上ログデータを受信することを含み得る。地上ログデータは、ソフトウェア部品に関連する連鎖管理情報を示し得る。例えば、図1の監査システム108は、第1の地上ログデータ120を地上システム104から受信し得る。第1の地上ログデータ120は、第1のソフトウェア部品150に関連する連鎖管理情報を示し得る。
方法600はさらに、606で、基準データを生成することを含み得る。例えば、図1の監査システム108は、他の乗物ログデータ130および他の地上ログデータ132に基づいて、基準データ140を生成し得る。
方法600はまた、608で、基準データに基づいて、乗物ログデータおよび地上ログデータを分析して異常を検出することを含み得る。例えば、図1の監査システム108は、基準データ140に基づいて、第1の乗物ログデータ122および第1の地上ログデータ120を分析して、異常を検出し得る。例えば、監査システム108は、地上システム104が第1のソフトウェア部品150を第1の乗物102に送信したときと、第1の乗物102が第1のソフトウェア部品150を地上システム104から受信したときとの間の第1の期間が、基準データ140に示される閾値期間を超えることを検出し得る。
方法600はさらに、610で、監査データを総計することを含み得る。ここで、総計された監査データは異常に関係するデータを含む。例えば、図1の監査システム108は、監査データを、例えば、ソフトウェア部品別に、総計し得る。例えば、総計された監査データは、第1のソフトウェア部品150を受信した複数の乗物に関連する異常を示し得る。総計された監査データは、第1の乗物102に関連して検出された異常に関係するデータを含み得る。
方法600はまた、612で、異常に応答して通知を送信することを含み得る。例えば、監査システム108は、異常に関係するメッセージを(例えば、ユーザ、別のデバイス、またはその両方に)送信するか、異常に関係する警告を(例えば、出力デバイスに)表示するか、またはその両方を行い得る。
図7を参照すると、連鎖管理情報内の異常を検出するための方法の、特定の一実施形態を示すフローチャートが示され、全体的に700と称されている。特定の一実施形態では、方法700は、図6の動作608に対応し得る。
方法700は、702で、乗物ログデータおよび地上ログデータのそれぞれに含まれる共通イベント、乗物ログデータの第1のタイムスタンプ、ならびに地上ログデータの第2のタイムスタンプに基づいて、乗物ログデータと地上ログデータとを同期させることを含み得る。第1のタイムスタンプおよび第2のタイムスタンプは、共通のイベントに関連し得る。例えば、図1の監査システム108は、第1の乗物ログデータ122の第1のタイムスタンプおよび第1の地上ログデータ120の第2のタイムスタンプに基づいて、第1の乗物ログデータ122と第1の地上ログデータ120とを同期させ得る。第2のタイムスタンプは、地上システム104がソフトウェア部品を第1の乗物102に送信したときに対応し、第1のタイムスタンプは、第1の乗物102が地上システム104からソフトウェア部品を受信したときに対応し得る。
方法700はまた、704で、同期済みの乗物ログデータと同期済みの地上ログデータとの比較を行うことを含み得る。例えば、図1の監査システム108は、同期済みの第1の乗物ログデータ122と同期済みの第1の地上ログデータ120を比較し得る。
方法700はさらに、706で、同期済みの乗物ログデータと同期済みの地上ログデータとの比較に基づいて、第1のデータセットを生成することを含み得る。例えば、監査システム108は、同期済みの第1の乗物ログデータ122と同期済みの第1の地上ログデータ120との比較に基づいて、第1のデータセット136を生成し得る。
方法700はまた、708で、第1のデータセットと対応する基準データの第2のデータセットとの比較に基づいて、異常を検出することを含み得る。例えば、監査システム108は、第1のデータセット136と第2のデータセット138との比較に基づいて、異常を検出し得る。
図8を参照すると、データセットを生成するための方法の、特定の一実施形態を示すフローチャートが示され、全体的に800と称されている。特定の一実施形態では、方法800は、図7の動作706に対応し得る。
方法800は、802で、同期済みの第1の乗物ログデータの、第1のイベントを特定することを含み得る。ここで、第1のイベントは、第1の識別子に関連する。例えば、監査システム108は、第1の乗物102が地上システム104から第1のソフトウェア部品150を受信したことに対応する、同期済みの第1の乗物ログデータ122のイベントを特定し得る。特定されたイベントは、あるイベント識別子に関連し得る。
方法800は、804で、同期済みの第1の地上ログデータの、第2のイベントを特定することを含み得る。ここで、第2のイベントは、第1の識別子に関連する。第1のデータセットは、第1のイベントに関連する第1のイベントタイムスタンプと、第2のイベントに関連する第2のイベントタイムスタンプとの差を示す期間を含むように生成され得る。例えば、監査システム108は、地上システム104が第1のソフトウェア部品150を第1の乗物102に送信したことに対応するイベント識別子に関連する、同期済みの第1の地上ログデータ120のイベントを特定し得る。監査システム108は、同期済みの第1の乗物ログデータ122のイベントに関連するタイムスタンプと、第1の地上ログデータ120のイベントに関連するタイムスタンプとの間の期間を示すように、第1のデータセット136を生成し得る。
方法800はさらに、806で、同期済みの第1の乗物ログデータに基づいて、第1のイベントの時点の第1の乗物の状態を判定することを含み得る。ここで、第1のデータセットはその状態を示す。例えば、監査システム108は、地上システム104から第1のソフトウェア部品150を受信した時点の、第1の乗物102のWOW状態を判定し得る。監査システム108は、WOW状態(例えば、「偽」)を示すように、第1のデータセット136を更新し得る。
図9を参照すると、基準データを生成するための方法の特定の一実施形態を示すフローチャートが示され、全体的に900と称されている。特定の一実施形態では、方法900は、図6の動作606に対応し得る。
方法900は、902で、セキュリティ要件を受信することを含み得る。例えば、図1の監査システム108は、図1のセキュリティ要件146を受信し得る。
方法900はまた、904で、乗物ログデータを受信することを含み得る。例えば、図1の監査システム108は、他の乗物ログデータ130を他の乗物106から受信し得る。
方法900はさらに、906で、地上ログデータを受信することを含み得る。例えば、図1の監査システム108は、他の地上ログデータ132を他の地上システム124から受信し得る。
方法900はさらに、908で、乗物ログデータと地上ログデータとを同期させることを含み得る。例えば、図1の監査システム108は、第1のイベントに関連する他の乗物ログデータ130の、第1のタイムスタンプおよび、対応する第2のイベントに関連する他の地上ログデータ132の、第2のタイムスタンプに基づいて、他の乗物ログデータ130と他の地上ログデータ132とを同期させ得る。
方法900はさらに、910で、同期済みの乗物ログデータと同期済みの地上ログデータとの比較を行うことを含み得る。例えば、図1の監査システム108は、同期済みの他の乗物ログデータ130と同期済みの他の地上ログデータ132との比較を行い得る。
方法900はまた、912で、同期済みの乗物ログデータと同期済みの地上ログデータとの比較に基づいて、データセットを生成することを含み得る。例えば、図1の監査システム108は、同期済みの他の乗物ログデータ130と同期済みの他の地上ログデータ132との比較に基づいて、第2のデータセット138を生成し得る。
方法900は、918または914に進み得る。914で、方法900は、第1の乗物仕様および第2の乗物仕様に基づいて、第1の乗物および第2の乗物が少なくとも1つの共通ソフトウェアまたは共通ハードウェアモジュールをもつかどうか判定することを含み得る。例えば、図1の監査システム108は、乗物仕様データ144に基づいて、第1の乗物102および他の乗物106が、共通のソフトウェアモジュール、共通のハードウェアモジュール、またはその両方をもつかどうか判定することを含み得る。
方法900はさらに、916で、データセットが共通のソフトウェアモジュール、共通のハードウェアモジュール、またはその両方に対応するかどうか判定することを含み得る。例えば、監査システム108は、第2のデータセット138が、共通のソフトウェアモジュール、共通のハードウェアモジュール、またはその両方と対応するかどうか判定し得る。方法900は、918に進み得る。
方法900はさらに、918で、データセットを使用して基準データを生成することを含み得る。例えば、監査システム108は、第2のデータセット138を使用して基準データ140を生成し得る。
方法900はまた、920で、セキュリティ要件に基づいて、基準データを修正することを含み得る。例えば、監査システム108は、セキュリティ要件146に基づいて、基準データ140を修正し得る。
方法900はさらに、922で、統計モデルに基づいて、基準データを修正することを含み得る。例えば、監査システム108は、統計モデルに基づいて、基準データ140を修正し得る。
図10は、本開示内容によるコンピュータ実装の方法およびコンピュータ実行プログラム命令(またはコード)の実施を支援するための、汎用コンピューティングデバイス1010を含むコンピューティング環境1000のブロック線図である。例えば、コンピューティングデバイス1010またはその一部は、命令を実行して、乗物ログデータ、地上システムログデータ、またはその両方を分析し、連鎖管理情報内の異常を検出し得る。別の例として、コンピューティングデバイス1010またはその一部は、命令を実行して、乗物におけるソフトウェア部品の修正に関する乗物ログデータを受信し、地上システムの地上ログデータを受信し、基準データを生成し、基準データに基づいて乗物ログデータおよび地上ログデータを分析して異常を検出し、監査データを総計し、および異常に応答して通知を送信し得る。特定の一実施形態では、コンピューティングデバイス1010は、図1の監査システム108を含むか、図1の監査システム108に含まれるか、または、図1の監査システム108に対応し得る。
コンピューティングデバイス1010は、プロセッサ1020を備え得る。特定の一実施形態では、プロセッサ1020は、図1のプロセッサ170に対応し得る。コンピューティングデバイス1010の内部で、プロセッサ1020はメモリ1030、1つまたは複数のストレージデバイス1040、1つまたは複数の入出力インタフェース1050、1つまたは複数の通信インタフェース1060、またはこれらの組み合わせと通信し得る。
メモリ1030は、揮発性メモリデバイス(例えば、ランダムアクセスメモリ(RAM)デバイス)、不揮発性メモリデバイス(例えば、リードオンリーメモリ(ROM)デバイス、プログラマブルROM、フラッシュメモリ)、またはその両方を備え得る。特定の一実施形態では、メモリ1030は、図1のメモリ180に対応し得る。メモリ1030は、オペレーティングシステム1032を含み得る。オペレーティングシステム1032は、コンピューティングデバイス1010をブートするための基本入出力システム、ならびにコンピューティングデバイス1010がユーザ、他のプログラムおよび他のデバイスと相互作用できるようにするための完全なオペレーティングシステムを含み得る。メモリ1030は、例えば、連鎖管理情報内の異常を検出するために実行できるアプリケーションなどの監査システムアプリケーションなどの、1つまたは複数アプリケーションプログラム1034を含み得る。メモリ1030は、連鎖管理情報内の異常を検出する監査システム命令142などの、プロセッサ1020によって実行可能な命令1036を含み得る。メモリ1030は、基準データ140、第1のデータセット136、第2のデータセット138、他の異常データ148、セキュリティ要件146、乗物仕様データ144、監査システム命令142、またはこれらの組み合わせを含み得る。
プロセッサ1020はまた、1つまたは複数のストレージデバイス1040と通信し得る。1つまたは複数のストレージデバイス1040には、例えば、磁気ディスク、光ディスク、フラッシュメモリデバイスなどの不揮発性ストレージデバイスを含み得る。ストレージデバイス1040は、脱着可能および脱着不可能なメモリデバイスの両方を含み得る。ストレージデバイス1040は、オペレーティングシステム、アプリケーション、およびプログラムデータを記憶できるよう構成され得る。特定の一実施形態では、メモリ1030、ストレージデバイス1040またはその両方は、有形で、一時的ではない、コンピュータ読み取り可能な媒体を含み得る。
プロセッサ1020は、1つまたは複数の入出力インタフェース1050と通信し得る。入出力インタフェース1050は、コンピューティングデバイス1010が1つまたは複数の入出力デバイス1070と通信できるようにして、ユーザとの相互作用を容易にする。入出力インタフェース1050は、シリアルインタフェース(例えば、ユニバーサルシリアルバス(USB)インタフェースまたはIEEE 11094インタフェース)、パラレルインタフェース、ディスプレイアダプタ、オーディオアダプタ、およびその他のインタフェースを含み得る。入出力デバイス1070は、キーボード、ポインティングデバイス、ディスプレイ、スピーカー、マイクロフォン、タッチスクリーン、その他のデバイスを含み得る。プロセッサ1020は、入出力インタフェース1050を介して受信したユーザ入力に基づいて、相互作用イベントを検出し得る。さらに、プロセッサ1020は、入出力インタフェース1050を介して、ディスプレイデバイスに表示を送信し得る。
プロセッサ1020は、1つまたは複数の通信インタフェース1060を介して、他のコンピュータシステム1080と通信し得る。1つまたは複数の通信インタフェース1060は、有線Ethernetインタフェース、IEEE 802無線インタフェース、Bluetooth通信インタフェース、またはその他のネットワークインタフェースを含み得る。他のコンピュータシステム1080は、ホストコンピュータ、サーバ、ワークステーション、およびその他のコンピューティングデバイスを含み得る。例えば、他のコンピュータシステム1080は、図1の第1の乗物102、図1の地上システム104、図1の他の乗物106、図1の他の地上システム124、またはこれらの組み合わせを含み得る。特定の一実施形態では、データ(例えば、基準データ140、第1のデータセット136、第2のデータセット138、別の異常データ148、セキュリティ要件146、乗物仕様データ144、図1の第1の乗物ログデータ122、図1の他の乗物ログデータ130、図1の第1の地上ログデータ120、図1の他の地上ログデータ132、またはこれらの組み合わせ)は分散され得る。特定の一実施形態では、図2の1つまたは複数のモジュールが、1つまたは複数のコンピューティングデバイスに含まれるか、データ(例えば、基準データ140、第1のデータセット136、第2のデータセット138、別の異常データ148、セキュリティ要件146、乗物仕様データ144、図1の第1の乗物ログデータ122、図1の他の乗物ログデータ130、図1の第1の地上ログデータ120、図1の他の地上ログデータ132、またはこれらの組み合わせ)は、1つまたは複数のコンピュータデバイスに含まるか、またはその両方であり得る。
このように、特定の実施形態では、コンピュータシステムは、連鎖管理情報内の異常を検出することができ得る。例えば、命令1036はプロセッサ1020により実行されて、乗物におけるソフトウェア部品の修正に関する乗物ログデータを受信し、地上システムの地上ログデータを受信し、基準データを生成し、基準データに基づいて乗物ログデータおよび地上ログデータを分析して異常を検出し、監査データを総計し、および異常に応答して通知を送信し得る。
上記の実施形態は、本開示内容を説明するが限定するものではない。本開示内容の原理による、多数の修正形態および変形形態が可能であることが理解されよう。
本明細書に記載される実施形態の説明は、さまざまな実施形態の構造の全体的な理解を提供することを意図する。これらの説明は、本明細書に記載される構造または方法を利用する装置およびシステムの、すべての構成要素および特徴の完全な記載としての働きを意図するものではない。本開示内容を精査すれば、当業者には多くの他の実施形態が明らかであろう。他の実施形態を利用し、かつ本開示内容から派生させて、本開示内容の範囲から逸脱することなく、構造的かつ論理的な置換および変更が行われ得る。例えば、方法のステップは、図に示される順序と異なる順序で行われてもよく、1つまたは複数の方法のステップは省略されてもよい。したがって、本開示内容および図は、制約的なものではなく説明的なものとみなされる。
さらに、本明細書には具体的な実施形態が説明および記載されているが、同じまたは類似の結果を達成するよう設計された任意の後続の設備を、本明細書に示された具体的実施形態に置換し得ることが理解されよう。本開示内容は、後続の、さまざまな実施形態のすべての適合および変形を適用範囲内とすることを意図する。本開示内容を精査すれば、当業者には、上記の複数の実施形態および本明細書に具体的に記載されていない他の実施形態の組み合わせが明らかであろう。
開示内容の要約書は、これが特許請求の範囲に記載の範囲または意味を解釈または制限するために使用されないとの理解の上で提出される。さらに、前述の、発明を実施するための形態では、開示内容を簡素化する目的で、さまざまな特徴がグループ化され、または単一の実施形態の中に記載されている。本開示内容は、請求項に係る実施形態に、各請求項に明確に記載されている特徴より多くの特徴が必要であるとの意図を示すと解釈されてはならない。むしろ、下記の特許請求の範囲に示されるように、請求項に係る主題は、開示されたあらゆる実施形態のすべての特徴よりも少ない特徴を指し得る。