(57)【特許請求の範囲】
【請求項１】
Ｎを２以上の自然数とする時、Ｎ個の計算機と、
前記Ｎ個の計算機に指令を送る指令装置と
を具備し、
前記指令装置は、検出装置から受け取る検出データと入力装置から受け取るミッションデータとのうちの少なくとも一方に基づいて、Ｍ個のアプリケーションを抽出するとともに、Ｋ＝１，・・・，Ｍの各々について、前記Ｍ個のアプリケーションのうちの第Ｋアプリケーションの動作に将来必要とされる計算機リソース量である第Ｋリソース量を算出し、
前記指令装置は、Ｋ＝１，・・・，Ｍの各々について、前記第Ｋリソース量に基づいて、前記Ｎ個の計算機の中から前記第Ｋアプリケーションを実行する第Ｋ計算機グループを選定する選定処理を実行し、
前記指令装置は、Ｋ＝１，・・・，Ｍの各々について、前記第Ｋ計算機グループに、前記第Ｋアプリケーションを実行するように第Ｋ指令信号を送信し、
Ｋ＝１，・・・，Ｍの各々について、前記検出データと前記ミッションデータとのうちの少なくとも一方が示すカテゴリーと、前記第Ｋリソース量と、前記第Ｋアプリケーションの優先順位を示すデータとが対応付けられた第１関連データを記憶する記憶装置を更に具備し、
前記指令装置は、前記検出データと前記ミッションデータとのうちの少なくとも一方と、前記記憶装置に記憶された前記第１関連データとに基づいて、前記Ｍ個のアプリケーションの各々の優先順位を決定する優先順位決定処理を実行し、
前記指令装置は、決定された優先順位に基づいて、前記Ｍ個のアプリケーションの中から実行すべきアプリケーションを決定する
計算機リソースの最適化システム。
【請求項２】
Ｎを２以上の自然数とする時、Ｎ個の計算機と、
前記Ｎ個の計算機に指令を送る指令装置と
を具備し、
前記指令装置は、検出装置から受け取る検出データと入力装置から受け取るミッションデータとのうちの少なくとも一方に基づいて、Ｍ個のアプリケーションを抽出するとともに、Ｋ＝１，・・・，Ｍの各々について、前記Ｍ個のアプリケーションのうちの第Ｋアプリケーションの動作に将来必要とされる計算機リソース量である第Ｋリソース量を算出し、
前記指令装置は、Ｋ＝１，・・・，Ｍの各々について、前記第Ｋリソース量に基づいて、前記Ｎ個の計算機の中から前記第Ｋアプリケーションを実行する第Ｋ計算機グループを選定する選定処理を実行し、
前記指令装置は、Ｋ＝１，・・・，Ｍの各々について、前記第Ｋ計算機グループに、前記第Ｋアプリケーションを実行するように第Ｋ指令信号を送信し、
Ｋ＝１，・・・，Ｍの各々について、前記検出データが示すカテゴリーと、前記ミッションデータが示すカテゴリーと、前記第Ｋリソース量と、前記第Ｋアプリケーションの優先順位を示すデータとが対応付けられた第２関連データを記憶する記憶装置を更に具備し、
前記指令装置は、前記検出装置から前記検出データを受け取るとともに、前記入力装置から前記ミッションデータを受け取り、
前記指令装置は、前記検出データと、前記ミッションデータと、前記記憶装置に記憶された前記第２関連データとに基づいて、前記Ｍ個のアプリケーションの各々の優先順位を決定する優先順位決定処理を実行し、
前記指令装置は、前記優先順位に基づいて、前記Ｍ個のアプリケーションの中から実行すべきアプリケーションを決定する
計算機リソースの最適化システム。
【請求項３】
ＰをＭ以下の自然数とする時、前記指令装置は、第Ｐアプリケーションの動作に関連する第Ｐ外部機器の状態を監視し、
前記指令装置は、前記第Ｐ外部機器が異常状態である時、前記第Ｐアプリケーションの優先順位を下げる
請求項１または２に記載の計算機リソースの最適化システム。
【請求項４】
前記指令装置は、前記第Ｐ外部機器が前記異常状態から正常状態に復帰すると、前記第Ｐアプリケーションの優先順位を、前記異常状態の発生前の元の優先順位に戻す
請求項３に記載の計算機リソースの最適化システム。
【請求項５】
ＱをＰとは異なるＭ以下の自然数とする時、前記指令装置は、第Ｑアプリケーションの動作に関連する第Ｑ外部機器の状態を監視し、
前記第Ｑ外部機器は、前記第Ｐ外部機器の少なくとも一部の機能を代替的に実現可能な機器であり、
前記指令装置は、前記第Ｐ外部機器が異常状態であり、かつ、前記第Ｑ外部機器が正常状態である時、前記第Ｑアプリケーションの優先順位を２つ以上上げる
請求項３に記載の計算機リソースの最適化システム。
【請求項６】
前記Ｎ個の計算機のうちの少なくとも１つは、移動体に搭載され、
前記Ｍ個のアプリケーションは、前記移動体の自律移動または前記移動体の防衛に不可欠な必須アプリケーションと、前記移動体の自律移動または前記移動体の防衛に不可欠でない非必須アプリケーションとを含み、
前記必須アプリケーションの優先順位は、前記非必須アプリケーションの優先順位よりも高い
請求項１乃至５のいずれか一項に記載の計算機リソースの最適化システム。
【請求項７】
前記Ｎ個の計算機の少なくとも１つは、第１移動体に搭載され、
前記Ｎ個の計算機の少なくとも１つは、前記第１移動体とは異なる第２移動体に搭載される
請求項１乃至６のいずれか一項に記載の計算機リソースの最適化システム。
【請求項８】
前記指令装置は、前記入力装置から、前記ミッションデータを受け取り、
前記指令装置は、前記ミッションデータに対応するミッションの遂行に必要な計算機リソース量を確保できない時、自動的に前記ミッションの変更を実行するか、あるいは、出力装置又は上位の指令装置に、前記ミッションの変更又は中止を要請する信号を送信する
請求項１乃至７のいずれか一項に記載の計算機リソースの最適化システム。
【請求項９】
計算機リソースの最適化システムを用いる計算機リソースの最適化方法であって、
前記計算機リソースの最適化システムは、
Ｎを２以上の自然数とする時、Ｎ個の計算機と、
前記Ｎ個の計算機に指令を送る指令装置と
を具備し、
前記計算機リソースの最適化方法は、
前記指令装置が、検出装置からの検出データと、入力装置からのミッションデータとのうちの少なくとも一方を受け取る受取工程と、
前記指令装置が、前記検出データと前記ミッションデータとのうちの少なくとも一方に基づいて、Ｍ個のアプリケーションを抽出する抽出工程と、
前記指令装置が、Ｋ＝１，・・・，Ｍの各々について、前記Ｍ個のアプリケーションのうちの第Ｋアプリケーションの動作に将来必要とされる計算機リソース量である第Ｋリソース量を算出する算出工程と、
前記指令装置が、Ｋ＝１，・・・，Ｍの各々について、前記第Ｋリソース量に基づいて、前記Ｎ個の計算機の中から前記第Ｋアプリケーションを実行する第Ｋ計算機グループを選定する選定工程と、
前記指令装置が、Ｋ＝１，・・・，Ｍの各々について、前記第Ｋ計算機グループに、前記第Ｋアプリケーションを実行するように第Ｋ指令信号を送信する送信工程と、
前記指令装置が、前記検出データと前記ミッションデータとのうちの少なくとも一方と、第１関連データとに基づいて、前記Ｍ個のアプリケーションの優先順位を決定し、決定した優先順位に基づいて、前記Ｍ個のアプリケーションの中から実行すべきアプリケーションを決定する優先順位決定工程と
を具備し、
前記第１関連データは、Ｋ＝１，・・・，Ｍの各々について、前記検出データと前記ミッションデータとのうちの少なくとも一方が示すカテゴリーと、前記第Ｋリソース量と、前記第Ｋアプリケーションの優先順位を示すデータとが対応付けられている
計算機リソースの最適化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機リソースの最適化システム、および、計算機リソースの最適化方法に関する。
【背景技術】
【０００２】
複数の計算機を備えるシステムにおいて、複数の計算機の負荷の分散を行う技術が知られている。
【０００３】
関連する技術として、特許文献１には、計算機管理システムが記載されている。特許文献１に記載の計算機システムは、将来負荷予測部と、ソフトウェア割付部と、通知部とを具備する。上述の将来負荷予測部は、各計算機から通知される各計算機の負荷情報に基づいて、各計算機における将来の負荷の値である負荷予測値を算出し、負荷予測値が所定の閾値を上回るか否かを判定する。上述のソフトウェア割付部は、将来負荷予測部によって負荷予測値が所定の閾値を上回ると判定された計算機を将来過負荷状態になる対象計算機として検出し、各計算機のＣＰＵ負荷、メモリ使用量、及びデータ通信量に基づいて、対象計算機で動作している少なくとも一つのソフトウェアコンポーネントの割付先の計算機を決定する。上述の通知部は、対象計算機及び割付先の計算機に対して、割り付けたソフトウェアコンポーネントの情報を通知する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１２９０７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、検出データまたはミッションデータに基づいて、計算機リソースの分配を事前に決定すること可能な計算機リソースの最適化システム、および、計算機リソースの最適化方法を提供することにある。
【０００６】
この発明のこれらの目的とそれ以外の目的と利益とは以下の説明と添付図面とによって容易に確認することができる。
【課題を解決するための手段】
【０００７】
以下に、発明を実施するための形態で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、特許請求の範囲の記載と発明を実施するための形態との対応関係の一例を示すために、参考として、括弧付きで付加されたものである。よって、括弧付きの記載により、特許請求の範囲は、限定的に解釈されるべきではない。
【０００８】
いくつかの実施形態における計算機リソースの最適化システムは、Ｎを２以上の自然数とする時、Ｎ個の計算機（２０−１乃至２０−Ｎ）と、前記Ｎ個の計算機に指令を送る指令装置（１０）とを具備する。前記指令装置（１０）は、検出装置（５０）から受け取る検出データと、入力装置（６０）から受け取るミッションデータとのうちの少なくとも一方に基づいて、Ｍ個のアプリケーションを抽出するとともに、Ｋ＝１，・・・，Ｍの各々について、前記Ｍ個のアプリケーションのうちの第Ｋアプリケーションの動作に将来必要とされる計算機リソース量である第Ｋリソース量を算出する。前記指令装置（１０）は、Ｋ＝１，・・・，Ｍの各々について、前記第Ｋリソース量に基づいて、前記Ｎ個の計算機（２０−１乃至２０−Ｎ）の中から前記第Ｋアプリケーションを実行する第Ｋ計算機グループを選定する選定処理を実行する。前記指令装置（１０）は、Ｋ＝１，・・・，Ｍの各々について、前記第Ｋ計算機グループに、前記第Ｋアプリケーションを実行するように第Ｋ指令信号を送信する。
【０００９】
上記計算機リソースの最適化システムにおいて、Ｋ＝１，・・・，Ｍの各々について、前記検出データと前記ミッションデータとのうちの少なくとも一方が示すカテゴリーと、前記第Ｋリソース量と、前記第Ｋアプリケーションの優先順位を示すデータとが対応付けられた第１関連データを記憶する記憶装置を更に具備してもよい。前記指令装置（１０）は、前記検出データと前記ミッションデータとのうちの少なくとも一方と、前記記憶装置に記憶された前記第１関連データとに基づいて、前記Ｍ個のアプリケーションの各々の優先順位を決定する優先順位決定処理を実行してもよい。前記指令装置（１０）は、決定された優先順位に基づいて、前記Ｍ個のアプリケーションの中から実行すべきアプリケーションを決定してもよい。
【００１０】
上記計算機リソースの最適化システムにおいて、Ｋ＝１，・・・，Ｍの各々について、前記検出データが示すカテゴリーと、前記ミッションデータが示すカテゴリーと、前記第Ｋリソース量と、前記第Ｋアプリケーションの優先順位を示すデータとが対応付けられた第２関連データを記憶する記憶装置（３０）を更に具備してもよい。前記指令装置（１０）は、前記検出装置（５０）から前記検出データを受け取るとともに、前記入力装置（６０）から前記ミッションデータを受け取ってもよい。前記指令装置（１０）は、前記検出データと、前記ミッションデータと、前記記憶装置に記憶された前記第２関連データとに基づいて、前記Ｍ個のアプリケーションの各々の優先順位を決定する優先順位決定処理を実行してもよい。前記指令装置（１０）は、前記優先順位に基づいて、前記Ｍ個のアプリケーションの中から実行すべきアプリケーションを決定してもよい。
【００１１】
上記計算機リソースの最適化システムにおいて、ＰをＭ以下の自然数とする時、前記指令装置（１０）は、第Ｐアプリケーションの動作に関連する第Ｐ外部機器（５０−Ｐ）の状態を監視してもよい。前記指令装置（１０）は、前記第Ｐ外部機器（５０−Ｐ）が異常状態である時、前記第Ｐアプリケーションの優先順位を下げてもよい。
【００１２】
上記計算機リソースの最適化システムにおいて、前記指令装置（１０）は、前記第Ｐ外部機器（５０−Ｐ）が前記異常状態から正常状態に復帰すると、前記第Ｐアプリケーションの優先順位を、前記異常状態の発生前の元の優先順位に戻してもよい。
【００１３】
上記計算機リソースの最適化システムにおいて、ＱをＰとは異なるＭ以下の自然数とする時、前記指令装置（１０）は、第Ｑアプリケーションの動作に関連する第Ｑ外部機器（５０−Ｑ）の状態を監視してもよい。前記第Ｑ外部機器（５０−Ｑ）は、前記第Ｐ外部機器（５０−Ｐ）の少なくとも一部の機能を代替的に実現可能な機器であってもよい。前記指令装置（１０）は、前記第Ｐ外部機器（５０−Ｐ）が異常状態であり、かつ、前記第Ｑ外部機器（５０−Ｑ）が正常状態である時、前記第Ｑアプリケーションの優先順位を２つ以上上げてもよい。
【００１４】
上記計算機リソースの最適化システムにおいて、前記Ｎ個の計算機（２０−１乃至２０−Ｎ）のうちの少なくとも１つは、移動体（１００）に搭載されてもよい。前記Ｍ個のアプリケーションは、前記移動体（１００）の自律移動または前記移動体（１００）の防衛に不可欠な必須アプリケーションと、前記移動体（１００）の自律移動または前記移動体（１００）の防衛に不可欠でない非必須アプリケーションとを含んでいてもよい。前記必須アプリケーションの優先順位は、前記非必須アプリケーションの優先順位よりも高くてもよい。
【００１５】
上記計算機リソースの最適化システムにおいて、前記Ｎ個の計算機（２０−１乃至２０−Ｎ）の少なくとも１つは、第１移動体（１００）に搭載されてもよい。前記Ｎ個の計算機（２０−１乃至２０−Ｎ）の少なくとも１つは、前記第１移動体（１００）とは異なる第２移動体（１００’）に搭載されてもよい。
【００１６】
上記計算機リソースの最適化システムにおいて、前記指令装置（１０）は、前記入力装置（６０）から、前記ミッションデータを受け取ってもよい。前記指令装置（１０）は、前記ミッションデータに対応するミッションの遂行に必要な計算機リソース量を確保できない時、自動的に前記ミッションの変更を実行するか、あるいは、出力装置（６５）又は上位の指令装置に、前記ミッションの変更又は中止を要請する信号を送信してもよい。
【００１７】
いくつかの実施形態における計算機リソースの最適化方法は、計算機リソースの最適化システムを用いる計算機リソースの最適化方法である。前記計算機リソースの最適化システムは、Ｎを２以上の自然数とする時、Ｎ個の計算機（２０−１乃至２０−Ｎ）と、前記Ｎ個の計算機に指令を送る指令装置（１０）とを具備する。前記計算機リソースの最適化方法は、前記指令装置（１０）が、検出装置（５０）からの検出データと、入力装置（６０）からのミッションデータとのうちの少なくとも一方を受け取る受取工程と、前記指令装置（１０）が、前記検出データと前記ミッションデータとのうちの少なくとも一方に基づいて、Ｍ個のアプリケーションを抽出する抽出工程と、前記指令装置（１０）が、Ｋ＝１，・・・，Ｍの各々について、前記Ｍ個のアプリケーションのうちの第Ｋアプリケーションの動作に将来必要とされる計算機リソース量である第Ｋリソース量を算出する算出工程と、前記指令装置（１０）が、Ｋ＝１，・・・，Ｍの各々について、前記第Ｋリソース量に基づいて、前記Ｎ個の計算機（２０−１乃至２０−Ｎ）の中から前記第Ｋアプリケーションを実行する第Ｋ計算機グループを選定する選定工程と、前記指令装置（１０）が、Ｋ＝１，・・・，Ｍの各々について、前記第Ｋ計算機グループに、前記第Ｋアプリケーションを実行するように第Ｋ指令信号を送信する送信工程とを具備する。
【発明の効果】
【００１８】
本発明により、検出データまたはミッションデータに基づいて、計算機リソースの分配を事前に決定すること可能な計算機リソースの最適化システム、および、計算機リソースの最適化方法を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、第１の実施形態における計算機リソースの最適化システムの機能を模式的に示す機能ブロック図である。
【図２】図２は、Ｎ個の計算機の各々と、当該各々の計算機が使用可能な計算機リソース量との対応関係を模式的に示すテーブルである。
【図３】図３は、検出データが示すカテゴリーと、当該カテゴリーに対応して実行されるべき１以上のアプリケーションと、当該アプリケーションの動作に将来必要とされる計算機リソース量との対応関係を模式的に示すテーブルである。
【図４】図４は、ミッションデータが示すカテゴリーと、当該カテゴリーに対応して実行されるべき１以上のアプリケーションと、当該アプリケーションの動作に将来必要とされる計算機リソース量との対応関係を模式的に示すテーブルである。
【図５】図５は、計算機リソースの最適化システムの動作の一例を示すフローチャートである。
【図６】図６は、計算機リソースの最適化システムの動作の一例を示すフローチャートである。
【図７】図７は、計算機リソースの最適化システムが搭載される移動体を模式的に示す図である。
【図８】図８は、第２の実施形態または第３の実施形態における計算機リソースの最適化システムの機能を模式的に示す機能ブロック図である。
【図９】図９は、第２の実施形態における記憶装置が記憶している第１関連データ８１の一例を模式的に示すテーブルである。
【図１０】図１０は、第２の実施形態における記憶装置が記憶している第１関連データの一例を模式的に示すテーブルである。
【図１１】図１１は、第２の実施形態における記憶装置が記憶している第１関連データの一例を模式的に示すテーブルである。
【図１２】図１２は、第２の実施形態における記憶装置が記憶している第１関連データの一例を模式的に示すテーブルである。
【図１３】図１３は、第３の実施形態における記憶装置が記憶している第２関連データの一例を模式的に示すテーブルである。
【図１４】図１４は、変形例における計算機リソースの最適化システムの機能を模式的に示す機能ブロック図である。
【図１５Ａ】図１５Ａは、計算機リソースの最適化システムの動作の一例を示すフローチャートである。
【図１５Ｂ】図１５Ｂは、計算機リソースの最適化システムの動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、実施形態に係る計算機リソースの最適化システム、計算機リソースの最適化方法に関して、添付図面を参照して説明する。
【００２１】
（発明者によって認識された事項）
まず、特定のアプリケーションを動作させる計算機が固定されている場合を想定する。この場合、当該計算機によって処理されるべき事象が増加すると、当該アプリケーションの実行速度が低下する。
【００２２】
次に、ＣＰＵ負荷の変動に応じて、各アプリケーションを実行する計算機の割付を変更することを想定する。この場合、ＣＰＵ負荷が実際に増加してから、割付の変更が行われるため、割付の変更が遅れる可能性がある。リアルタイム性が厳しく要請される防衛支援システム等においては、割付の変更の遅れは好ましくない。
【００２３】
また、上述の特許文献１に記載の計算機管理システムでは、過去の負荷計測値を用いて、将来の負荷を予測している。しかし、予測された負荷と、実際の負荷との間に大きなずれが生じる可能性がある。
【００２４】
さらに、１つあるいは少数の計算機の故障に対応する技術は存在するが、当該技術では、多数の計算機が同時に損傷する場合に対応できない。
【００２５】
（第１の実施形態）
図１乃至図６を参照して、第１の実施形態に係る計算機リソースの最適化システム１、および、計算機リソースの最適化方法について説明する。図１は、計算機リソースの最適化システム１の機能を模式的に示す機能ブロック図である。
【００２６】
計算機リソースの最適化システム１は、指令装置１０と、複数の計算機２０−１乃至２０−Ｎとを備える。なお、図１に記載の例では、指令装置１０が、複数の計算機２０−１乃至２０−Ｎとは別に設けられているが、指令装置１０は、複数の計算機２０−１乃至２０−Ｎのうちの１つであってもよい。
【００２７】
（複数の計算機）
Ｎを２以上の自然数とする時、計算機リソースの最適化システム１は、Ｎ個の計算機２０−１乃至２０−Ｎを備える。なお、図１では、第１計算機２０−１、第Ｌ計算機２０−Ｌ（なお、「Ｌ」は、１以上Ｎ以下の任意の自然数と定義される。）、第Ｎ計算機２０−Ｎ以外の計算機については、記載が省略されている。第Ｌ計算機は、第Ｌ演算装置２２−Ｌ（より具体的には、ＣＰＵ等のハードウェアプロセッサ）を備える。第Ｌ演算装置２２−Ｌは、記憶装置と情報伝達可能に接続されている。図１に記載の例では、第Ｌ計算機２０−Ｌが、第Ｌ演算装置２２−Ｌと上方伝達可能に接続された第Ｌ記憶装置３０−Ｌを備えている。代替的に、１つ、あるいは、２つ以上の記憶装置が、複数の計算機によって共有されていてもよい。
【００２８】
複数の計算機２０−１乃至２０−Ｎの各々は、指令装置１０と情報伝達可能に接続されている。図１に記載の例では、複数の計算機２０−１乃至２０−Ｎの各々と、指令装置１０とは、通信回線４０によって接続されている。なお、通信回線４０は、無線の回線であってもよいし、有線の回線であってもよいし、一部が無線で一部が有線の回線であってもよい。なお、図１に記載の例では、第Ｌ計算機２０−Ｌが、他の計算機（例えば、第１計算機２０−１）と、通信回線４０を介して接続されている。代替的に、第Ｌ計算機２０−Ｌは、指令装置１０以外の他の計算機とは、接続されていなくてもよい。
【００２９】
Ｎ個の計算機は、１以上のアプリケーション（換言すれば、ソフトウェア）を実行可能である。
【００３０】
（指令装置）
指令装置１０は、Ｎ個の計算機２０−１乃至２０−Ｎの各々に指令を送る装置である。なお、指令装置１０は、第Ｌ計算機２０−Ｌに指令を送る時、第Ｌ計算機２０−Ｌに直接指令を送ってもよいし、他の計算機を介して第Ｌ計算機２０−Ｌに指令を送ってもよい。指令装置１０は、演算装置（より具体的には、ＣＰＵ等のハードウェアプロセッサ）、および、記憶装置３０を備える。
【００３１】
指令装置１０は、センサ等の検出装置５０から検出データを受け取る。指令装置１０は、検出データを、検出装置５０から直接受け取ってもよいし、他の装置（例えば、他の計算機）を介して、間接的に受け取ってもよい。なお、検出装置５０は、計算機リソースの最適化システム１の外部の状態（または外部の状況）を検出する装置である。すなわち、検出装置５０による検出対象は、第Ｌ計算機の状態ではなく、第Ｌ計算機が接続された通信ネットワークの状態でもない。検出装置５０は、例えば、位置データを取得するＧＰＳ等の位置検出装置、脅威物体を検出するレーダー、カメラ等の脅威物体検出装置である。なお、図１に記載の例では、検出装置５０、後述の入力装置６０、および、後述の出力装置６５は、計算機リソースの最適化システム１に含まれていないが、検出装置５０、入力装置６０、および、出力装置６５は、計算機リソースの最適化システム１に含まれていてもよい。
【００３２】
指令装置１０は、入力装置６０からミッションデータを受け取る。指令装置１０は、ミッションデータを、入力装置６０から直接受け取ってもよいし、他の装置（例えば、他の計算機）を介して、間接的に受け取ってもよい。入力装置６０は、ユーザーからの入力を受け付けるキーボード、マウス等の入力装置であってもよい。代替的に、あるいは、付加的に、入力装置６０は、検出装置５０からの検出データに基づいて、自動的に、ミッションデータを算出し、算出されたミッションデータを指令装置１０に伝達する装置であってもよい。ミッションデータは、例えば、脅威物体の位置を取得するミッションを示すデータであってもよいし、脅威物体を追尾するミッションを示すデータであってもよいし、移動体の針路を決定するミッションを示すデータであってもよいし、ミサイルを誘導するミッションを示すデータであってもよいし、対空戦を実行するミッションを示すデータであってもよいし、対艦戦を実行するミッションを示すデータであってもよいし、移動体を防衛するミッションを示すデータであってもよい。
【００３３】
指令装置１０は、検出装置５０から受け取る検出データ、あるいは、入力装置６０から受け取るミッションデータに基づいて、実行すべきＭ個のアプリケーションを抽出する抽出処理を実行する。
【００３４】
Ｋを１以上Ｍ以下の任意の自然数とする時、指令装置１０は、Ｋ＝１，・・・，Ｍの各々について、Ｍ個のアプリケーションのうちの第Ｋアプリケーションの動作に将来必要とされる計算機リソース量である第Ｋリソース量を算出する算出処理を実行する。当該算出処理の詳細については、後述される。
【００３５】
また、指令装置１０は、Ｋ＝１，・・・，Ｍの各々について、第Ｋリソース量に基づいて、Ｎ個の計算機の中から第Ｋアプリケーションを実行する第Ｋ計算機グループを選定する選定処理を実行する。当該選定処理の詳細については、後述される。
【００３６】
また、指令装置１０は、Ｋ＝１，・・・，Ｍの各々について、前記第Ｋ計算機グループに、前記第Ｋアプリケーションを実行するように第Ｋ指令信号を送信する。
【００３７】
（記憶装置）
記憶装置３０は、上述の抽出処理、上述の算出処理、および、上述の選定処理を実行するためのプログラムを記憶している。指令装置１０（より具体的には、指令装置の演算装置）は、記憶装置３０に記憶されたプログラムを実行することにより、抽出手段１１、リソース量算出手段１２、および、グループ選定手段１３として機能する。
【００３８】
また、記憶装置３０は、Ｎ個の計算機２０−１乃至２０−Ｎの各々と、使用可能な計算機リソース量とを関連付けて記憶している。なお、第Ｌ計算機が、使用可能な計算機リソース量は、例えば、第Ｌ計算機２０−ＬのＣＰＵが単位時間当たりに処理可能な処理量、第Ｌ計算機２０−Ｌが使用可能なメモリの容量、第Ｌ計算機２０−Ｌが単位時間当たりに送信または受信可能な通信量、または、これらの組み合わせ等である。
【００３９】
図２は、Ｎ個の計算機２０−１乃至２０−Ｎの各々と、当該各々の計算機が使用可能な計算機リソース量との対応関係を模式的に示すテーブルである。なお、図２において、各計算機が使用可能な計算機リソース量は、第１計算機２０−１が使用可能な計算機リソース量によって正規化されている。第Ｌ計算機２０−Ｌが使用可能な計算機リソース量を「２１−Ｌ」と定義するとき、図２に記載の例では、「２１−１」、「２１−２」、「２１−Ｎ」は、それぞれ、「１００」、「８０」、「１２０」である。
【００４０】
また、記憶装置３０は、検出データ（または、ミッションデータ）が示すカテゴリーと、当該カテゴリーに対応して実行されるべき１以上のアプリケーションと、当該アプリケーションの動作に将来必要とされる計算機リソース量（当該アプリケーションの動作に将来必要とされることが想定され得る最大の計算機リソース量）とを関連付けて記憶している。
【００４１】
図３は、検出データが示すカテゴリー（あるいは、検出データが示す外部状態）と、当該カテゴリー（あるいは、外部状態）に対応して実行されるべき１以上のアプリケーションと、当該アプリケーションの動作に将来必要とされる計算機リソース量との対応関係を模式的に示すテーブルである。図３は、検出データが第１状態を示すデータである時、アプリケーションＡ、および、アプリケーションＢが実行されるべきであることを示している。アプリケーションＡの動作に将来必要とされる計算機リソース量は、「９０」であり、アプリケーションＢの動作に将来必要とされる計算機リソース量は、「８０」である。また、図３は、検出データが第２状態を示すデータである時、アプリケーションＡ、および、アプリケーションＣが実行されるべきであることを示している。アプリケーションＡの動作に将来必要とされる計算機リソース量は、「１５０」であり、アプリケーションＣの動作に将来必要とされる計算機リソース量は、「１２０」である。
【００４２】
図４は、ミッションデータが示すカテゴリー（あるいは、ミッションの種類）と、当該カテゴリー（ミッションの種類）に対応して実行されるべき１以上のアプリケーションと、当該アプリケーションの動作に将来必要とされる計算機リソース量との対応関係を模式的に示すテーブルである。図４は、ミッションデータが第１ミッションを示すデータである時、アプリケーションＡ、アプリケーションＢ、および、アプリケーションＣが実行されるべきであることを示している。アプリケーションＡの動作に将来必要とされる計算機リソース量は、「１５０」であり、アプリケーションＢの動作に将来必要とされる計算機リソース量は、「１２０」であり、アプリケーションＣの動作に将来必要とされる計算機リソース量は、「２０」である。また、図４は、ミッションデータが第２ミッションを示すデータである時、アプリケーションＡ、および、アプリケーションＣが実行されるべきであることを示している。アプリケーションＡの動作に将来必要とされる計算機リソース量は、「１００」であり、アプリケーションＣの動作に将来必要とされる計算機リソース量は、「１００」である。また、図４は、ミッションデータが第３ミッションを示すデータである時、アプリケーションＡ、および、アプリケーションＢが実行されるべきであることを示している。アプリケーションＡの動作に将来必要とされる計算機リソース量は、「１５０」であり、アプリケーションＢの動作に将来必要とされる計算機リソース量は、「１２０」である。
【００４３】
（計算機リソースの最適化システムの動作の第１例）
次に、図５を参照して、計算機リソースの最適化システム１の動作の第１例について説明する。図５は、計算機リソースの最適化システム１の動作を示すフローチャートである。
【００４４】
第１ステップＳ１において、指令装置１０が、検出装置５０から検出データを受け取る。第２ステップＳ２において、指令装置１０は、受け取った検出データがどのカテゴリーに属するかを判定する（換言すれば、計算機リソースの最適化システムの外部状態がどの状態であるかを判定する）。なお、当該判定は、検出データから自動的に実行される場合（例えば、検出された脅威物体の数がＹ個であるとき、第Ｙ状態であると自動的に判定する場合）と、所定のアルゴリズムに基づいて実行される場合（例えば、検出された脅威物体の数が第１閾値以下であるとき、第１状態であると判定し、検出された脅威物体の数が第１閾値より多い時、第２状態であると判定する場合）とがある。ここでは、受け取った検出データが、第２状態を示している場合（換言すれば、検出データが、第２カテゴリーに属している場合）を想定する。
【００４５】
第３ステップＳ３において、抽出手段１１（指令装置１０）は、上述の抽出処理を実行して、Ｍ個のアプリケーションを抽出する。図３に記載の例では、抽出手段１１は、検出データが示すカテゴリー（例えば、第２カテゴリー）に基づいて、アプリケーションＡとアプリケーションＣを含む２個（Ｍ＝２）のアプリケーションを抽出する。なお、本明細書では、便宜的に、各カテゴリーに属するアプリケーションに、番号が付与される。例えば、図３の第２カテゴリーにおいて、アプリケーションＡは、「１番」が付与された第１アプリケーションに対応し、アプリケーションＣは、「２番」が付与された第２アプリケーションに対応する。
【００４６】
第４ステップＳ４において、リソース量算出手段１２（指令装置１０）は、上述の算出処理を実行して、検出装置５０から受け取った検出データに基づいて、Ｋ＝１，・・・，Ｍの各々について、第Ｋアプリケーションの動作に将来必要とされる計算機リソース量である第Ｋリソース量を算出する。図３に記載の例では、リソース量算出手段１２は、検出データが示すカテゴリー（例えば、第２カテゴリー）に基づいて、第１アプリケーション（アプリケーションＡ）、第２アプリケーション（アプリケーションＣ）の動作に将来必要とされる計算機リソース量を、それぞれ、「１５０」、「１２０」と算出する。
【００４７】
第５ステップＳ５において、グループ選定手段１３（指令装置１０）は、上述の選定処理を実行して、Ｋ＝１，・・・，Ｍの各々について、第Ｋリソース量に基づいて、Ｎ個の計算機の中から第Ｋアプリケーションを実行する第Ｋ計算機グループを選定する。図３に記載の例では、第１アプリケーション（アプリケーションＡ）の動作に将来必要とされる計算機リソース量（第１リソース量）は、「１５０」である。このため、グループ選定手段１３は、第１アプリケーションを実行する第１計算機グループとして、例えば、第１計算機２０−１、および、第２計算機２０−２を選定する。そして、指令装置１０は、第１計算機２０−１について、使用可能な計算機リソース量を「１００」から「０」に変更し、第２計算機２０−２について、使用可能な計算機リソース量を「８０」から「３０」に変更する（図２を参照）。
【００４８】
また、図３に記載の例では、第２アプリケーション（アプリケーションＣ）の動作に将来必要とされる計算機リソース量（第２リソース量）は、「１２０」である。このため、グループ選定手段１３は、第２アプリケーションを実行する第２計算機グループとして、例えば、第２計算機２０−２および第Ｎ計算機２０−Ｎを選定する。そして、指令装置１０は、第２計算機２０−２について、使用可能な計算機リソース量を、「３０」から「０」に変更し、第Ｎ計算機２０−Ｎについて、使用可能な計算機リソース量を、「１２０」から「３０」に変更する。代替的に、グループ選定手段１３は、第２アプリケーションを実行する第２計算機グループとして、第Ｎ計算機２０−Ｎのみを選定してもよい（すなわち、第Ｋアプリケーションの実行に将来必要とされる計算機リソース量が、ただ１つの計算機のみによって確保可能である時は、優先的に、当該計算機のみを第Ｋアプリケーションの実行に割り当ててもよい）。この時、図２に記載の例では、第Ｎ計算機２０−Ｎについて、使用可能な計算機リソース量は、「１２０」から「０」に変更される。
【００４９】
第６ステップＳ６において、指令装置１０は、Ｋ＝１，・・・，Ｍの各々について、第Ｋ計算機グループに、第Ｋアプリケーションを実行するように第Ｋ指令信号を送信する。上述の例では、指令装置１０は、第１計算機グループに属する第１計算機２０−１、および、第２計算機２０−２に、第１アプリケーション（アプリケーションＡ）を実行するように第１指令信号を送信し、第２計算機グループに属する第２計算機２０−２および第Ｎ計算機２０−Ｎ（または第Ｎ計算機２０−Ｎのみ）に、第２アプリケーション（アプリケーションＣ）を実行するように第２指令信号を送信する。複数の計算機は、第Ｋ指令信号の受信に応答して、第Ｋアプリケーションを実行する。
【００５０】
なお、複数の計算機が、第Ｋアプリケーションの実行中に、当該第Ｋアプリケーションの実行に将来必要とされる計算機リソース量（以下、「新たに算出された計算機リソース量」という。）が、記憶装置３０に予め記憶された計算機リソース量（図３に記載の計算機リソース量）を超えることが判明した時、指令装置１０は、記憶装置３０に記憶された計算機リソース量を、新たに算出された計算機リソース量で置換してもよい。その後、指令装置１０は、再度、第１ステップＳ１乃至第６ステップＳ６を実行する。
【００５１】
なお、上述の第１ステップＳ１乃至第６ステップＳ６が、繰り返し実行されるようにすれば（例えば、定期的に繰り返し実行されるようにすれば、あるいは、検出データの更新または計算機の損傷等のイベントの発生に応答して繰り返し実行されるようにすれば）、最新の検出データに基づいて、繰り返し、計算機リソースの分配が行われることとなる。なお、第１例では、各計算機の負荷の変動とは関係なく、事前に、計算機リソースを分配することが可能である。
【００５２】
（計算機リソースの最適化システムの動作の第２例）
次に、図６を参照して、計算機リソースの最適化システム１の動作の第２例について説明する。図６は、計算機リソースの最適化システム１の動作を示すフローチャートである。
【００５３】
第１ステップＳ１０１において、指令装置１０が、入力装置６０からミッションデータを受け取る。ここでは、当該ミッションデータが、第１カテゴリー（第１ミッション）を示していた場合を想定する。
【００５４】
第２ステップＳ１０２において、抽出手段１１（指令装置１０）は、上述の抽出処理を実行して、Ｍ個のアプリケーションを抽出する。図４に記載の例では、抽出手段１１は、入力装置６０から受け取ったミッションデータ（例えば、第１ミッションを示すデータ）に基づいて、アプリケーションＡとアプリケーションＢとアプリケーションＣを含む３個（Ｍ＝３）のアプリケーションを抽出する。ここでは、アプリケーションＡが、第１アプリケーションに対応し、アプリケーションＢが、第２アプリケーションに対応し、アプリケーションＣが、第３アプリケーションに対応する。
【００５５】
第３ステップＳ１０３において、リソース量算出手段１２（指令装置１０）は、上述の算出処理を実行して、入力装置６０から受け取ったミッションデータ（第１ミッションを示すデータ）に基づいて、Ｋ＝１，・・・，Ｍの各々について、第Ｋアプリケーションの動作に将来必要とされる計算機リソース量である第Ｋリソース量を算出する。図４に記載の例では、ミッションデータ（例えば、第１ミッションを示すデータ）に基づいて、リソース量算出手段１２は、第１アプリケーション（アプリケーションＡ）、第２アプリケーション（アプリケーションＢ）、第３アプリケーション（アプリケーションＣ）の動作に将来必要とされる計算機リソース量を、それぞれ、「１５０」、「１２０」、「２０」と算出する。
【００５６】
第４ステップＳ１０４において、指令装置１０は、ミッションデータに対応するミッションの遂行に将来必要とされる計算機リソース量の合計Ｔ１が確保できたか否かを判定する。将来必要とされる計算機リソース量の合計Ｔ１を確保できた時（第４ステップＳ１０４：Ｙｅｓ）、第７ステップＳ１０７に進む。他方、将来必要とされる計算機リソース量の合計Ｔ１を確保できなかった時（第４ステップＳ１０４：Ｎｏ）、第５ステップＳ１０５に進む。
【００５７】
例えば、Ｎ個の計算機の使用可能な計算機リソース量の合計Ｔ２が、ミッションデータに対応するミッションの遂行に将来必要とされる計算機リソース量の合計Ｔ１以上である時、指令装置１０は、当該ミッションの遂行に必要な計算機リソース量を確保できたと判定してもよい。また、Ｎ個の計算機の使用可能な計算機リソース量の合計Ｔ２が、ミッションデータに対応するミッションの遂行に将来必要とされる計算機リソース量の合計Ｔ１より小さい時、指令装置１０は、当該ミッションの遂行に必要な計算機リソース量を確保できなかったと判定してもよい。なお、図２、図４に記載の例では、Ｎ個の計算機の使用可能な計算機リソース量の合計Ｔ２は、３００以上（図２を参照して、１００＋８０＋１２０＝３００）であり、第１ミッションの遂行に将来必要とされる計算機リソース量の合計Ｔ１は、２９０（図４を参照して、１５０＋１２０＋２０＝２９０）である。よって、指令装置１０は、第１ミッションの遂行に必要な計算機リソース量を確保できたと判定する。
【００５８】
第５ステップＳ１０５では、指令装置１０は、ユーザーによる視認が可能な出力装置６５に、ミッションの変更又は中止を要請する信号を送信する。代替的に、あるいは、付加的に、指令装置１０は、上位の指令装置（図示せず）に、ミッションの変更又は中止を要請する信号を送信してもよい。ここで、ミッションの変更には、ミッションの縮退運用（すなわち、ミッションを縮小して運用すること、より具体的には、ミッションの遂行に必要なアプリケーションの実行を維持しつつ、当該アプリケーションの実行に必要な計算機リソース量を減少させること）が包含される。例えば、脅威物体の位置を追尾するミッションにおいて、追尾する脅威物体の個数の上限値をより小さな値に変更することは、ミッションの縮退運用の一例である。出力装置６５は、ミッションの変更又は中止を要請する信号を受け取ると、ミッションの変更（ミッションの縮退運用を含む）又は中止を要請する表示を行う。第６ステップＳ１０６において、指令装置１０は、ミッションの変更または中止が入力されたか否かを判定する。ユーザーは、例えば、入力装置６０に、実行中のミッションの縮退運用、あるいは、他のミッションである第３ミッション（図４を参照）を入力することが可能である。入力装置６０に、ミッションの変更（例えば、実行中のミッションの縮退運用、あるいは、他のミッションである第３ミッションへの変更）が入力されると、第１ステップＳ１０１に戻る。なお、緊急時等の場合には、指令装置１０は、上位の指令装置（図示せず）あるいはユーザーによる承認を得ることなく、自動的に、ミッションの変更（例えば、実行中のミッションの縮退運用、あるいは、他のミッションへの変更）を実行するようにしてもよい。ミッションの変更が実行されると、第１ステップＳ１０１に戻る。なお、第６ステップＳ１０６において、入力装置６０に、ミッションの中止が入力されると、処理は終了する。
【００５９】
第７ステップＳ１０７において、グループ選定手段１３（指令装置１０）は、上述の選定処理を実行して、Ｋ＝１，・・・，Ｍの各々について、第Ｋリソース量に基づいて、Ｎ個の計算機の中から第Ｋアプリケーションを実行する第Ｋ計算機グループを選定する。図４に記載の例では、第１アプリケーション（アプリケーションＡ）の動作に将来必要とされる計算機リソース量（第１リソース量）は、「１５０」である。このため、グループ選定手段１３は、第１アプリケーションを実行する第１計算機グループとして、例えば、第１計算機２０−１、および、第２計算機２０−２を選定する。そして、指令装置１０は、第１計算機２０−１について、使用可能な計算機リソース量を「１００」から「０」に変更し、第２計算機２０−２について、使用可能な計算機リソース量を「８０」から「３０」に変更する。
【００６０】
また、グループ選定手段１３は、第２アプリケーション（アプリケーションＢ）を実行する第２計算機グループとして、例えば、第Ｎ計算機２０−Ｎを選定する。そして、指令装置１０は、第Ｎ計算機２０−Ｎについて、使用可能な計算機リソース量を、「１２０」から「０」に変更する。
【００６１】
また、グループ選定手段１３は、第３アプリケーション（アプリケーションＣ）を実行する第３計算機グループとして、例えば、第２計算機２０−２を選定する。そして、指令装置１０は、第２計算機２０−２について、使用可能な計算機リソース量を、「３０」から「１０」に変更する。
【００６２】
第８ステップＳ１０８において、指令装置１０は、Ｋ＝１，・・・，Ｍの各々について、第Ｋ計算機グループに、第Ｋアプリケーションを実行するように第Ｋ指令信号を送信する。上述の例では、指令装置１０は、第１計算機グループに属する第１計算機２０−１および第２計算機２０−２に、第１アプリケーション（アプリケーションＡ）を実行するように第１指令信号を送信し、第２計算機グループに属する第Ｎ計算機２０−Ｎに、第２アプリケーション（アプリケーションＢ）を実行するように第２指令信号を送信し、第３計算機グループに属する第２計算機２０−２に、第３アプリケーション（アプリケーションＣ）を実行するように第３指令信号を送信する。複数の計算機は、第Ｋ指令信号の受信に応答して、第Ｋアプリケーションを実行する。
【００６３】
なお、複数の計算機が、第Ｋアプリケーションの実行中に、当該第Ｋアプリケーションの実行に将来必要とされる計算機リソース量（新たに算出された計算機リソース量）が、記憶装置３０に予め記憶された計算機リソース量（図４に記載の計算機リソース量）を超えることが判明した時、指令装置１０は、記憶装置３０に記憶された計算機リソース量を、新たに算出された計算機リソース量で置換してもよい。その後、指令装置１０は、再度、第１ステップＳ１０１乃至第８ステップＳ１０８を実行する。
【００６４】
なお、上述の第１ステップＳ１０１乃至第８ステップＳ１０８が、繰り返し実行されるようにすれば（例えば、定期的に繰り返し実行されるようにすれば、あるいは、検出データの更新または計算機の損傷等のイベントの発生に応答して繰り返し実行されるようにすれば）、最新の使用可能な計算機リソース量の合計（当該合計は、計算機の故障または損傷等によって変動する。）に基づいて、繰り返し、計算機リソースの分配が行われることとなる。なお、指令装置１０が、新たなミッションデータを受け取らないときは、上述の繰り返しに際して、第１ステップＳ１０１は、省略されてもよい。なお、第２例では、各計算機の負荷の変動とは関係なく、事前に、計算機リソースを分配することが可能である。
【００６５】
第１の実施形態における計算機リソースの最適化システムでは、検出装置から受け取った検出データ、あるいは、入力装置から受け取ったミッションデータに基づいて、各アプリケーションの動作に将来必要とされる計算機リソース量が、事前に確保される。このため、計算処理の負荷が増大する場合であっても、各アプリケーションの動作速度の低下が抑制される。また、多数の計算機が同時に損傷した場合には、ミッションの変更又は中止が要請される。このため、遂行不能なミッションの継続により、各アプリケーションの動作速度が低下するとの事態を回避することが可能である。なお、ミッションデータに基づいて、計算機リソースを事前に分配する場合、計算処理負荷が大きく変動する前に計算機リソースを分配することが可能である。また、検出データに基づいて、計算機リソースを事前に分配する場合、外部の状態を考慮して、精度よく計算機リソースを分配することが可能である。
【００６６】
（第２の実施形態）
図７乃至図１３を参照して、第２の実施形態における計算機リソースの最適化システム１について説明する。第２の実施形態における計算機リソースの最適化システム１は、アプリケーションの優先度に基づいて、実行すべきアプリケーションを決定する機能を備える点で、第１の実施形態における計算機リソースの最適化システムと異なる。なお、第２の実施形態における計算機リソースの最適化システム１において、第１の実施形態の計算機リソースの最適化システム１の構成要素等と同じ機能を有する構成要素等については、同じ図番を付与し、繰り返しの説明を省略する。
【００６７】
図７は、計算機リソースの最適化システム１が搭載される移動体の一例を示す。図７に記載の例では、移動体は、船舶１００である。なお、移動体は、船舶に限られない。移動体は、例えば、航空機、車両等であってもよい。移動体（船舶１００）は、計算機リソースの最適化システム１と、上述の検出装置５０に対応する検出装置５０−Ａと、入力装置６０と、出力装置６５とを備える。船舶１００は、検出装置５０−Ｂ乃至検出装置５０−Ｄのうちの少なくとも１つを備えていてもよい。また、船舶１００は、ミサイルを誘導する誘導装置５５を備えていてもよい。
【００６８】
検出装置５０−Ａは、例えば、脅威物体（相手側の移動体、例えば、ミサイル、航空機、船舶、潜水艦等）を検出する検出装置（例えば、レーダー、カメラ、または、ソナー等）である。検出装置５０−Ｂは、例えば、脅威物体（相手側の移動体、例えば、ミサイル、航空機、船舶、潜水艦等）を検出する検出装置（例えば、レーダー、カメラ、または、ソナー等）である。検出装置５０−Ａは、移動体から相対的に遠距離にある脅威物体を検出する検出装置であってもよい。また、検出装置５０−Ｂは、移動体から相対的に近距離にある脅威物体を高精度で検出する検出装置であってもよい。すなわち、検出装置５０−Ｂの検出範囲は、検出装置５０−Ａの検出範囲よりも狭く、検出装置５０−Ｂの検出精度は、検出装置５０−Ａの検出精度よりも高くてもよい。
【００６９】
検出装置５０−Ｃは、例えば、移動体（船舶１００）の位置を検出する検出装置である。検出装置５０−Ｃは、ＧＰＳ受信機であってもよい。検出装置５０−Ｄは、例えば、移動体（船舶１００）の位置を検出する検出装置である。検出装置５０−Ｄは、慣性計測装置であってもよい。
【００７０】
図８は、第２の実施形態における計算機リソースの最適化システム１の機能を模式的に示す機能ブロック図である。計算機リソースの最適化システム１の指令装置１０は、後述の優先順位決定手段１５を備える。また、計算機リソースの最適化システム１の指令装置１０は、後述の監視装置１６を備えていてもよい。
【００７１】
指令装置１０は、検出装置（検出装置５０−Ａ等）から検出データを受け取る。代替的に、あるいは、付加的に、指令装置１０は、入力装置６０からミッションデータを受け取る。検出データあるいはミッションデータは、指令装置１０が、アプリケーションの優先順位を決定する際に用いられる。
【００７２】
図８に記載の例では、指令装置１０は、検出装置５０−Ａから検出データＤＡを受け取る。さらに、指令装置１０は、検出装置５０−Ｂ、検出装置５０−Ｃ、検出装置５０−Ｄから、検出データＤＢ、検出データＤＣ、検出データＤＤを、それぞれ、受け取ってもよい。なお、図８に記載の例では、検出装置５０−Ａ乃至検出装置５０−Ｄの各々は、計算機リソースの最適化システム１に含まれない外部機器である。また、誘導装置５５も、計算機リソースの最適化システム１に含まれない外部機器である。計算機リソースの最適化システム１が、監視装置１６を備える場合、各外部機器は、監視装置１６によって監視される。なお、監視装置１６は、ハードウェアによって実現されてもよいし、指令装置１０の演算装置がプログラムを実行することにより実現されてもよい。監視装置１６の機能の詳細については、後述される。
【００７３】
計算機リソースの最適化システム１の記憶装置３０には、第１関連データが記憶される。第１関連データは、検出装置（例えば、検出装置５０−Ａ乃至検出装置５０−Ｄのうちの少なくとも１つ）から受け取る検出データが示すカテゴリー（外部状態の種類）と、第Ｋアプリケーションの動作に将来必要とされる計算機リソース量（第Ｋリソース量）と、第Ｋアプリケーションの優先順位を示すデータ（優先度）とが関連付けられたデータである。なお、「Ｋ」は、上述のとおり、１以上Ｍ以下の任意の自然数である。
【００７４】
（第１関連データの一例）
図９は、第２の実施形態における記憶装置３０が記憶している第１関連データ８１の一例を模式的に示すテーブルである。図９において、第１状態は、例えば、脅威物体が検出されていない状態である。第２状態は、例えば、１以上第１閾値以下の脅威物体が検出された状態である。また、第３状態は、例えば、第１閾値を超える脅威物体が検出された状態である。なお、第１閾値は、例えば、１０、５０、１００等の値である。図９において、アプリケーションＡは、例えば、脅威物体の位置を特定するアプリケーションである。アプリケーションＡは、検出装置５０−Ａからの検出データＤＡに基づいて、脅威物体の位置を特定するアプリケーションであってもよい。アプリケーションＢは、例えば、脅威物体の位置を特定するアプリケーションである。アプリケーションＢは、検出装置５０−Ｂからの検出データＤＢに基づいて、脅威物体の位置を特定するアプリケーションであってもよい。アプリケーションＣは、例えば、船舶１００の自律移動（自律航行）を実現するためのアプリケーションである。アプリケーションＣは、検出装置５０−Ｃからの検出データＤＣ（ＧＰＳデータ）に基づいて、船舶１００を自律移動させるアプリケーションであってもよい。アプリケーションＤは、例えば、船舶１００の自律移動を実現するためのアプリケーションである。アプリケーションＤは、検出装置５０−Ｄからの検出データＤＤ（慣性計測データ）に基づいて、船舶１００を自律移動させるアプリケーションであってもよい。アプリケーションＥは、例えば、脅威物体に向かってミサイルを誘導するアプリケーションである。
【００７５】
一例として、指令装置１０が受け取る検出データが、第２状態を示すデータである場合について説明する。第２状態に対応して、抽出手段１１は、アプリケーションＡ（第１アプリケーション）、アプリケーションＢ（第２アプリケーション）、アプリケーションＣ（第３アプリケーション）、アプリケーションＤ（第４アプリケーション）、および、アプリケーションＥ（第５アプリケーション）を抽出する。
【００７６】
図９に記載の例では、アプリケーションＣの優先度が最も高く、次に、アプリケーションＢの優先度が高く、次に、アプリケーションＥの優先度が高く、次に、アプリケーションＡの優先度が高く、次に、アプリケーションＤの優先度が高く設定されている。アプリケーションＣは、移動体（船舶１００）の自律移動に不可欠な必須アプリケーションであるため優先度が高い。また、アプリケーションＢは、移動体（船舶）の防衛に不可欠な必須アプリケーションであるため優先度が高い。アプリケーションＥも、移動体（船舶）の防衛に不可欠な必須アプリケーションであるため優先度が高い。これに対し、アプリケーションＤは、移動体（船舶１００）の自律移動に不可欠ではない補助的なアプリケーションであり、かつ、移動体（船舶１００）の防衛に不可欠なアプリケーションではないため、上述の必須アプリケーションより優先度が低い。また、アプリケーションＡも、アプリケーションＢが動作している時には、必ずしも不可欠なアプリケーションではないため、優先度が低い。なお、図９には、図示されていないが、例えば、低燃費を実現する低燃費移動用アプリケーション等も、移動体の自律移動または移動体の防衛に不可欠でない非必須アプリケーションであるため、上述の必須アプリケーションより優先度が低い。
【００７７】
優先順位決定手段１５（指令装置１０）は、受け取った検出データ（あるいは、検出データが示す外部状態）と、記憶装置３０に記憶された第１関連データ８１とに基づいて、Ｍ個のアプリケーションの各々の優先順位を決定する優先順位決定処理を実行する。受け取った検出データ（あるいは、検出データが示す外部状態）が、第２状態を示す時、優先順位決定手段１５は、アプリケーションＣ（第３アプリケーション）の優先順位を「１番」と決定し、アプリケーションＢ（第２アプリケーション）の優先順位を「２番」と決定し、アプリケーションＥ（第５アプリケーション）の優先順位を「３番」と決定し、アプリケーションＡ（第１アプリケーション）の優先順位を「４番」と決定し、アプリケーションＤ（第４アプリケーション）の優先順位を「５番」と決定する。なお、図９において、優先度の高いアプリケーションであるほど、小さな数字が付与されている。
【００７８】
ここで、Ｍ個のアプリケーションの動作に将来必要とされる計算機リソース量の合計がＴ１（図９に記載の第２状態では、Ｔ１＝６４０）であり、第１計算機乃至第Ｎ計算機について使用可能な計算機リソース量の合計がＴ２である場合を想定する。この場合、Ｔ２がＴ１以上であれば、指令装置１０は、抽出手段１１によって抽出されたＭ個のアプリケーション（受け取った検出データが示すカテゴリーに対応する全てのアプリケーション）の実行を決定する。他方、Ｔ２がＴ１より小さいとき（すなわち、Ｍ個のアプリケーションの動作に将来必要とされる計算機リソース量の確保ができない時）、指令装置１０は、上述の優先順位に基づいて、Ｍ個のアプリケーションの中から実行すべきアプリケーションを決定する。例えば、図９に記載の例では、優先順位が１番であるアプリケーションＣと、優先順位が２番であるアプリケーションＢと、優先順位が３番であるアプリケーションＥと、優先順位が４番であるアプリケーションＡの動作に将来必要とされる計算機リソース量の合計は、「５４０」である。よって、Ｔ２が「５４０」以上で、かつ、「６４０」より小さい時には、指令装置１０は、アプリケーションＣ、アプリケーションＢ、アプリケーションＥ、アプリケーションＡのみの実行を決定する。なお、指令装置１０が、実行すべきアプリケーションを決定した後における計算機リソースの最適化システム１の動作は、上述の第５ステップＳ５、第６ステップＳ６で示された動作と同様である。このため、繰り返しとなる説明は省略する。なお、上述の優先順位決定処理において、実行すべきアプリケーションから除外されたアプリケーション（例えば、上述のアプリケーションＤ、すなわち、第４アプリケーション）については、当該アプリケーションを実行する計算機グループは、ゼロ集合（なし）として選定される点に留意すべきである。
【００７９】
一般的には、第１計算機乃至第Ｎ計算機の使用可能な計算機リソース量の合計Ｔ２は、余裕をみて設定されるため、Ｔ２＜Ｔ１となることはない。しかし、例えば、脅威物体によって多数の計算機が破壊された場合、あるいは、障害物との衝突等の不測の事態により、多数の計算機が損傷した場合等には、Ｔ２＜Ｔ１となることも想定される。第２の実施形態では、多数の計算機が使用不能となった場合であっても、優先度の低いアプリケーションを実行しないことにより、優先度の高いアプリケーションの実行速度の低下が効果的に抑制される。加えて、第２の実施形態は、第１の実施形態と同様の効果を奏する。
【００８０】
（外部機器が異常状態になった場合の優先順位の変化）
外部機器（例えば、検出装置５０−Ａ乃至検出装置５０−Ｄ、誘導装置５５等）が異常状態になった場合の優先度の変化について説明する。図８に記載の指令装置１０は、監視装置１６を備える。監視装置１６（指令装置１０）は、ＰをＭ以下の任意の自然数とする時、第Ｐアプリケーションの動作に関連する第Ｐ外部機器の状態を監視する監視装置である。監視装置１６は、例えば、第Ｐ外部機器と指令装置１０との間の通信状態を監視することにより、第Ｐ外部機器を監視してもよい。例えば、監視装置１６は、指令装置１０が第Ｐ外部機器から全く信号を受信しないとき、あるいは、指令装置１０が第Ｐ外部機器から異常な信号を受信するとき、第Ｐ外部機器が、異常状態であると判定してもよい。また、例えば、監視装置１６は、指令装置１０が第Ｐ外部機器から正常な信号を受信するとき、第Ｐ外部機器が、正常状態であると判定してもよい。
【００８１】
全ての外部機器が正常状態である場合を想定する。この場合、図９の「第２状態」を参照すると、アプリケーションＣ（第３アプリケーション）の優先度が最も高く、次に、アプリケーションＢ（第２アプリケーション）の優先度が高く、次に、アプリケーションＥ（第５アプリケーション）の優先度が高く、次に、アプリケーションＡ（第１アプリケーション）の優先度が高く、次に、アプリケーションＤ（第４アプリケーション）の優先度が高いことが把握される。次に、アプリケーションＣ（第３アプリケーション）の動作に関連する第Ｐ外部機器（第３外部機器）の状態が、正常状態から異常状態に変化する場合を想定する。監視装置１６は、第Ｐ外部機器（第３外部機器）が異常状態であると判定する。第Ｐ外部機器（第３外部機器）が異常状態であると判定されると、指令装置１０は、第Ｐアプリケーション（第３アプリケーション）の優先順位を下げる。指令装置１０は、第Ｐアプリケーション（第３アプリケーション）の優先順位を、最も低い優先順位に下げてもよい。例えば、第Ｐ外部機器（第３外部機器）が検出装置５０−Ｃである場合、指令装置１０は、検出装置５０−Ｃに関連するアプリケーションＣ（第３アプリケーション）の優先順位を下げる。その結果、指令装置１０は、記憶装置３０に記憶される第１関連データ８１を、図９に示されるデータから、図１０に示されるデータに変更する。図９、および、図１０を参照すると、第Ｐ外部機器（例えば、検出装置５０−Ｃ）が異常状態である時の第Ｐアプリケーション（例えば、アプリケーションＣ）の優先順位が、第Ｐ外部機器が正常状態である時の第Ｐアプリケーション（例えば、アプリケーションＣ）の優先順位よりも低くなるように、第１関連データ８１が変更されていることが把握される。
【００８２】
本実施形態では、第Ｐ外部機器が異常状態であると判定されると、指令装置１０は、第Ｐアプリケーションの優先順位を下げることが可能である。第Ｐアプリケーションの能力は、第Ｐ外部機器が異常状態である時、低下する。本実施形態では、能力の低下したアプリケーションの優先順位を下げることにより、他のアプリケーションの実行速度の低下を効果的に抑制することが可能である。
【００８３】
なお、監視装置１６が、第Ｐ外部機器が異常状態から正常状態に復帰したことを検出すると、指令装置１０は、第Ｐアプリケーションの優先順位を、異常状態の発生前の元の優先順位に戻してもよい。例えば、指令装置１０は、記憶装置３０に記憶された第１関連データ８１を、図１０に示される状態から、図９に示される状態に戻す。
【００８４】
（第Ｐ外部機器の機能と類似の機能を有する第Ｑ外部機器が存在する場合）
ＱをＰとは異なるＭ以下の自然数とする時、第Ｐ外部機器（あるいは、第Ｐアプリケーション）の少なくとも一部の機能を代替的に実現可能な第Ｑ外部機器（あるいは、第Ｑアプリケーション）が存在する場合について想定する。この場合、第Ｐ外部機器が異常状態であり、かつ、第Ｑ外部機器が正常状態である時、第Ｑアプリケーションの優先順位を２つ以上上げてもよい。
【００８５】
例えば、アプリケーションＤ（慣性計測データに基づいて、船舶１００を自律移動させるアプリケーション）は、アプリケーションＣ（ＧＰＳデータに基づいて、船舶１００を自律移動させるアプリケーション）の少なくとも一部の機能を代替的に実現可能なアプリケーションである。このため、アプリケーションＣの動作に関連する検出装置５０−Ｃが異常状態であり、アプリケーションＤの動作に関連する検出装置５０−Ｄが正常状態である時、指令装置１０は、アプリケーションＣ（第３アプリケーション）の優先順位を下げるとともに、アプリケーションＤ（第４アプリケーション）の優先順位を２つ以上あげてもよい。第４アプリケーションの優先順位を２つ以上上げるように変更された例を、図１１に示す。図９、および、図１１を参照すると、第Ｐ外部機器（例えば、検出装置５０−Ｃ）が異常状態であり、かつ、前記第Ｑ外部機器（例えば、検出装置５０−Ｄ）が正常状態である時の第Ｑアプリケーション（例えば、アプリケーションＤ）の優先順位が、第Ｐ外部機器が正常状態であり、かつ、第Ｑ外部機器が正常状態である時の第Ｑアプリケーション（例えば、アプリケーションＤ）の優先順位よりも２つ以上高くなるように、第１関連データ８１が変更されていることが把握される。
【００８６】
本実施形態では、第Ｐ外部機器が異常状態であり、第Ｑ外部機器が正常状態であると判定されると、指令装置は、第Ｑアプリケーションの優先順位を２つ以上上げることが可能である。このため、第Ｐアプリケーションの機能が、第Ｑアプリケーションの機能によって代替され、第Ｐ外部機器が異常状態となることに伴う悪影響を緩和することが可能となる。
【００８７】
（第１関連データの他の一例）
図１２は、第２の実施形態における記憶装置３０が記憶している第１関連データ８１’の他の一例を模式的に示すテーブルである。図１２に記載の第１関連データ８１’は、入力装置６０から受け取るミッションデータが示すカテゴリー（ミッションの種類）と、第Ｋアプリケーションの動作に将来必要とされる計算機リソース量（第Ｋリソース量）と、第Ｋアプリケーションの優先順位を示すデータとが関連付けられたデータである。なお、「Ｋ」は、上述のとおり、１以上Ｍ以下の任意の自然数である。
【００８８】
図１２において、第１ミッションは、例えば、広域にわたって脅威物体を探索するミッションである。第２ミッションは、例えば、移動体に接近した脅威物体の位置を高精度に特定するミッションである。図１２において、アプリケーションＡ乃至アプリケーションＥは、図７乃至図１１を参照して説明された上述のアプリケーションＡ乃至アプリケーションＥと同様のアプリケーションであってもよい。なお、各ミッションは、上述のミッションに限られず、任意である。例えば、ミッションは、最短時間で目標地点まで移動するミッションであってもよいし、移動体の針路を決定するミッションであってもよいし、ミサイルを誘導するミッションであってもよいし、対空戦を実行するミッションであってもよいし、対艦戦を実行するミッションであってもよいし、移動体の防衛をするミッションであってもよい。
【００８９】
指令装置１０は、ミッションデータと、記憶装置３０に記憶された第１関連データ８１’（図１２を参照）とに基づいて、Ｍ個のアプリケーションの各々の優先順位を決定する優先順位決定処理を実行する。当該優先順位決定処理は、図７乃至図１１を参照して説明された上述の優先順位決定処理と、同様であってもよい。また、指令装置１０が、優先順位に基づいて、Ｍ個のアプリケーションの中から実行すべきアプリケーションを決定した後における計算機リソースの最適化システム１の動作は、上述の第４ステップＳ１０４、第５ステップＳ１０５、第６ステップＳ１０６、第７ステップＳ１０７、第８ステップＳ１０８で示された動作と同様であってもよい。このため、繰り返しとなる説明は省略する。
【００９０】
なお、例えば、アプリケーションＡ（脅威物体の位置を特定するためのアプリケーション）、または、アプリケーションＢ（脅威物体の位置を特定するためのアプリケーション）のうちの少なくとも一つが実行されることが、第１ミッションの遂行には必要である。このため、アプリケーションＡ、または、アプリケーションＢの動作に将来必要とされる計算機リソース量の確保ができない時には、指令装置１０は、出力装置６５又は上位の指令装置（図示せず）に、第１ミッションの変更又は中止を要請する信号を送信してもよい。すなわち、指令装置１０が受け取ったミッションデータが示すミッションに関し、当該ミッションの遂行に不可欠なアプリケーションの動作に将来必要とされる計算機リソース量の確保ができない時には、指令装置１０は、出力装置６５又は上位の指令装置（図示せず）に、当該ミッションの変更又は中止を要請する信号を送信してもよい（上述の第４ステップＳ１０４、および、第５ステップＳ１０５を参照。）。ここで、ミッションの変更には、ミッションの縮退運用（すなわち、ミッションを縮小して運用すること、より具体的には、ミッションの遂行に必要なアプリケーションの実行を維持しつつ、当該アプリケーションの実行に必要な計算機リソース量を減少させること）が包含される。例えば、脅威物体の位置を追尾するミッションにおいて、追尾する脅威物体の個数の上限値をより小さな値に変更することは、ミッションの縮退運用の一例である。なお、緊急時等の場合には、指令装置１０は、上位の指令装置（図示せず）あるいはユーザーによる承認を得ることなく、自動的に、ミッションの変更（例えば、実行中のミッションの縮退運用、あるいは、他のミッションへの変更）を実行するようにしてもよい。
【００９１】
（第３の実施形態）
図７、図８、図１３を参照して、第３の実施形態における計算機リソースの最適化システム１について説明する。第３の実施形態における計算機リソースの最適化システム１は、検出データ、および、ミッションデータの両者に基づいて、実行すべきアプリケーションの優先順位を決定する。なお、第３の実施形態における計算機リソースの最適化システム１において、第１の実施形態または第２の実施形態における計算機リソースの最適化システム１の構成要素等と同じ機能を有する構成要素等については、同じ図番を付与し、繰り返しの説明を省略する。
【００９２】
図７は、第３の実施形態における計算機リソースの最適化システム１が搭載される移動体の一例を示す。図７に記載の例では、移動体は、船舶１００である。なお、移動体は、船舶に限られない。移動体は、例えば、航空機、車両等であってもよい。移動体（船舶１００）は、計算機リソースの最適化システム１と、上述の検出装置５０に対応する検出装置５０−Ａと、入力装置６０と、出力装置６５とを備える。船舶１００は、検出装置５０−Ｂ乃至検出装置５０−Ｄのうちの少なくとも１つを備えていてもよい。また、船舶１００は、ミサイルを誘導する誘導装置５５を備えていてもよい。
【００９３】
図８は、第３の実施形態における計算機リソースの最適化システム１の機能を模式的に示す機能ブロック図である。
【００９４】
指令装置１０は、検出装置である検出装置５０−Ａから検出データである検出データＤＡを受け取る。さらに、指令装置１０は、検出装置５０−Ｂ、検出装置５０−Ｃ、検出装置５０−Ｄから、検出データＤＢ、検出データＤＣ、検出データＤＤを、それぞれ、受け取ってもよい。また、指令装置１０は、入力装置６０からミッションデータを受け取る。
【００９５】
計算機リソースの最適化システム１の記憶装置３０には、第２関連データ８２が記憶される。第２関連データ８２は、入力装置６０から受け取るミッションデータが示すカテゴリー（ミッションの種類）と、検出装置（例えば、検出装置５０−Ａ乃至検出装置５０−Ｄのうちの少なくとも１つ）から受け取る検出データが示すカテゴリー（外部状態の種類）と、第Ｋアプリケーションの動作に将来必要とされる計算機リソース量（第Ｋリソース量）と、第Ｋアプリケーションの優先順位を示すデータとが関連付けられたデータである。検出データが示すカテゴリーは、脅威物体の数又は脅威物体の種類によって分類されるカテゴリーであってもよい。なお、「Ｋ」は、上述のとおり、１以上Ｍ以下の任意の自然数である。
【００９６】
（第２関連データの一例）
図１３は、第３の実施形態における記憶装置３０が記憶している第２関連データ８２の一例を模式的に示すテーブルである。図１３において、第１状態は、例えば、脅威物体が検出されていない状態である。第２状態は、例えば、１以上第１閾値以下の脅威物体が検出された状態である。また、第３状態は、例えば、第１閾値を超える脅威物体が検出された状態である。図１３において、第１ミッションは、例えば、広域にわたって脅威物体を探索するミッションであり、第２ミッションは、例えば、移動体に接近した脅威物体の位置を高精度に特定するミッションである。
【００９７】
指令装置１０は、受け取った検出データ（検出データが示すカテゴリー）と、受け取ったミッションデータ（ミッションデータが示すカテゴリー）と、記憶装置３０に記憶された第２関連データ８２（図１３を参照）とに基づいて、Ｍ個のアプリケーションの各々の優先順位を決定する優先順位決定処理を実行する。当該優先順位決定処理は、図７乃至図１２を参照して説明した上述の優先順位決定処理と、同様であってもよい。このため、繰り返しとなる説明は省略する。また、指令装置１０が、優先順位に基づいて、Ｍ個のアプリケーションの中から実行すべきアプリケーションを決定した後における計算機リソースの最適化システム１の動作は、上述の第４ステップＳ１０４、第５ステップＳ１０５、第６ステップＳ１０６、第７ステップＳ１０７、第８ステップＳ１０８で示された動作と同様であってもよい。このため、繰り返しとなる説明は省略する。
【００９８】
第３の実施形態は、第１の実施形態または第２の実施形態と同様の効果を奏する。加えて、第３の実施形態では、検出データ、および、ミッションデータの両者に基づいて、実行すべきアプリケーションの優先順位が決定される。このため、様々な状況、および、様々なミッションに応じて、アプリケーションの優先順位の決定することが可能となる。
【００９９】
（変形例）
図１４を参照して、計算機リソースの最適化システム１の変形例について説明する。図７、および、図８に記載の例では、計算機リソースの最適化システム１が、１つの船舶１００（移動体）のみに搭載されている。変形例の計算機リソースの最適化システム１では、計算機リソースの最適化システム１の少なくとも一部が他の船舶１００’（他の移動体）に搭載されている。例えば、図１４に記載の例では、Ｎ個の計算機のうちの少なくとも１つ（例えば、第１計算機２０−１乃至第Ｌ計算機２０−Ｌ）が、船舶１００（第１移動体）に搭載され、Ｎ個の計算機のうちの少なくとも１つ（例えば、第Ｌ＋１計算機２０−Ｌ＋１乃至第Ｎ計算機２０−Ｎ）が、他の船舶１００’（第２移動体）に搭載されている。この場合、他の船舶１００’に搭載された計算機と、指令装置１０との間のデータの伝送は、送受信機１８、送受信機１８’を介しての無線通信４０’によって行われてもよい。複数の計算機が、複数の船舶に分散配置されることにより、計算機機能の損傷リスクが分散される。また、他の船舶１００’は、バックアップ用の指令装置１０’を備えることが好ましい。船舶１００に搭載された指令装置１０が損傷した時、バックアップ用の指令装置１０’が、指令装置１０の機能を代替的に実現する。
【０１００】
（計算機リソースの最適化システムの動作の第３例）
次に、図１５Ａ、および、図１５Ｂを参照して、計算機リソースの最適化システム１の動作の第３例について説明する。図１５Ａ、および、図１５Ｂは、計算機リソースの最適化システム１の動作を示すフローチャートである。
【０１０１】
第１ステップＳ２０１において、指令装置１０が、入力装置６０からミッションデータを受け取る。代替的に、あるいは、付加的に、指令装置１０が、検出装置５０から検出データを受け取ってもよい。ここでは、ミッションデータが、図１２における第２ミッションを示していた場合を想定する（あるいは、検出データが、図９における第３状態を示していた場合を想定する）。
【０１０２】
第２ステップＳ２０２において、抽出手段１１（指令装置１０）は、上述の抽出処理を実行して、Ｍ個のアプリケーションを抽出する。図９、図１２に記載の例では、抽出手段１１は、入力装置６０から受け取ったミッションデータ（例えば、第１ミッションを示すデータ）、および／または、検出装置から受け取った検出データに基づいて、アプリケーションＡとアプリケーションＢとアプリケーションＣとアプリケーションＤとアプリケーションＥを含む５個（Ｍ＝５）のアプリケーションを抽出する。ここでは、アプリケーションＡが、第１アプリケーションに対応し、アプリケーションＢが、第２アプリケーションに対応し、アプリケーションＣが、第３アプリケーションに対応し、アプリケーションＤが、第４アプリケーションに対応し、アプリケーションＥが、第５アプリケーションに対応する。
【０１０３】
第３ステップＳ２０３において、リソース量算出手段１２（指令装置１０）は、上述の算出処理を実行して、受け取ったミッションデータ、および／または、検出データに基づいて、Ｋ＝１，・・・，Ｍの各々について、第Ｋアプリケーションの動作に将来必要とされる計算機リソース量である第Ｋリソース量を算出する。図９、図１２に記載の例では、リソース量算出手段１２は、ミッションデータ（または、検出データ）に基づいて、第１アプリケーション、第２アプリケーション、第３アプリケーション、第４アプリケーション、第５アプリケーションの動作に将来必要とされる計算機リソース量を、それぞれ、「１２０」、「２００」、「１００」、「１１０」、「４００」と算出する。
【０１０４】
第４ステップＳ２０４において、指令装置１０は、Ｍ個のアプリケーションの動作に将来必要とされる計算機リソース量の合計Ｔ１が確保できたか否かを判定する（換言すれば、指令装置１０は、ミッションデータが示すカテゴリーおよび／または検出データが示すカテゴリーに対応するアプリケーションの全ての動作に将来必要とされる計算機リソース量の合計Ｔ１が確保できたか否かを判定する）。将来必要とされる計算機リソース量の合計Ｔ１を確保できた時（第４ステップＳ２０４：Ｙｅｓ）、第７ステップＳ２０７に進む。他方、将来必要とされる計算機リソース量の合計Ｔ１を確保できなかった時（第４ステップＳ２０４：Ｎｏ）、第５ステップＳ２０５に進む。
【０１０５】
例えば、Ｎ個の計算機の使用可能な計算機リソース量の合計Ｔ２が、将来必要とされる計算機リソース量の合計Ｔ１以上である時、指令装置１０は、将来必要とされる計算機リソース量の合計Ｔ１を確保できたと判定してもよい。また、Ｎ個の計算機の使用可能な計算機リソース量の合計Ｔ２が、将来必要とされる計算機リソース量の合計Ｔ１より小さい時、指令装置１０は、将来必要とされる計算機リソース量の合計Ｔ１を確保できなかったと判定してもよい。
【０１０６】
第５ステップＳ２０５では、指令装置１０は、ミッションデータ、および／または、検出データと、記憶装置に記憶された第１関連データ（または、第２関連データ）とに基づいて、Ｍ個のアプリケーションの各々の優先順位を決定する。
【０１０７】
第６ステップＳ２０６では、指令装置１０は、決定された優先順位に基づいて、Ｍ個のアプリケーションの中から実行すべきアプリケーションを決定する。
【０１０８】
第７ステップＳ２０７では、指令装置１０は、Ｍ個のアプリケーション（換言すれば、ミッションデータが示すカテゴリーおよび／または検出データが示すカテゴリーに対応するアプリケーションの全て）を実行することを決定する。
【０１０９】
第８ステップＳ２０８において、グループ選定手段１３（指令装置１０）は、上述の選定処理を実行して、実行すべきアプリケーションに含まれる各々のアプリケーション（第Ｋアプリケーション）について、第Ｋリソース量に基づいて、Ｎ個の計算機の中から第Ｋアプリケーションを実行する第Ｋ計算機グループを選定する。なお、Ｋは、１以上Ｍ以下の自然数である。なお、上述の第６ステップＳ２０６において、実行すべきアプリケーションから除外されたアプリケーションについては、当該アプリケーションを実行する計算機グループは、ゼロ集合（なし）として選定される。
【０１１０】
第９ステップＳ２０９において、指令装置１０は、Ｋ＝１，・・・，Ｍの各々について、第Ｋ計算機グループに、第Ｋアプリケーションを実行するように第Ｋ指令信号を送信する。
【０１１１】
なお、上述の第１ステップＳ２０１乃至第９ステップＳ２０９が、繰り返し実行されるようにすれば（例えば、定期的に繰り返し実行されるようにすれば、あるいは、検出データの更新または計算機の損傷等のイベントの発生に応答して繰り返し実行されるようにすれば）、最新の使用可能な計算機リソース量の合計（当該合計は、計算機の故障または損傷等によって変動する。）に基づいて、繰り返し、計算機リソースの分配が行われることとなる。なお、指令装置１０が、新たなミッションデータ、および／または、新たな検出データを受け取らないときは、上述の繰り返しに際して、第１ステップＳ２０１は、省略されてもよい。
【０１１２】
上述の計算機リソースの最適化システム１の動作の第３例において、指令装置１０（監視装置１６）が、第Ｐアプリケーションの動作に関連する第Ｐ外部機器の異常状態を検出すると、指令装置１０は、記憶装置３０に記憶された第１関連データ（または、第２関連データ）を修正する。より具体的には、指令装置１０は、第Ｐアプリケーションの優先順位を下げる修正を行う。また、指令装置１０（監視装置１６）が、第Ｐアプリケーションの動作に関連する第Ｐ外部機器の異常状態から正常状態への復帰を検出すると、指令装置１０は、記憶装置３０に記憶された第１関連データ（または、第２関連データ）を修正する。より具体的には、指令装置１０は、第Ｐアプリケーションの優先順位を、異常状態発生前の元の状態に戻す修正を行う。
【０１１３】
また、異常状態である第Ｐ外部機器の少なくとも一部の機能を代替的に実現可能な第Ｑ外部機器が存在する場合、指令装置１０は、第Ｑアプリケーションの優先順位を上げる修正を行う。当該修正は、第Ｑアプリケーションの優先順位を２つ以上上げる修正を含んでいてもよい。
【０１１４】
本発明は上記各実施形態に限定されず、本発明の技術思想の範囲内において、各実施形態は適宜変形又は変更され得ることは明らかである。また、各実施形態又は変形例で用いられる種々の技術は、技術的矛盾が生じない限り、他の実施形態又は変形例にも適用可能である。
【符号の説明】
【０１１５】
１          ：最適化システム
１０        ：指令装置
１０'      ：バックアップ用の指令装置
１１        ：抽出手段
１２        ：リソース量算出手段
１３        ：グループ選定手段
１５        ：優先順位決定手段
１６        ：監視装置
１８        ：送受信機
１８'      ：送受信機
２０−１    ：第１計算機
２０−２    ：第２計算機
２０−Ｌ    ：第Ｌ計算機
２０−Ｎ    ：第Ｎ計算機
２２−Ｌ    ：第Ｌ演算装置
３０        ：記憶装置
３０−Ｌ    ：第Ｌ記憶装置
４０        ：通信回線
４０'      ：無線通信
５０        ：検出装置
５０−Ａ    ：検出装置
５０−Ｂ    ：検出装置
５０−Ｃ    ：検出装置
５０−Ｄ    ：検出装置
５５        ：誘導装置
６０        ：入力装置
６５        ：出力装置
８１        ：第１関連データ
８１'      ：第１関連データ
８２        ：第２関連データ
１００      ：船舶
１００'    ：船舶
【図１】
0006580482.tif 000002
【図２】
0006580482.tif 000003
【図３】
0006580482.tif 000004
【図４】
0006580482.tif 000005
【図５】
0006580482.tif 000006
【図６】
0006580482.tif 000007
【図７】
0006580482.tif 000008
【図８】
0006580482.tif 000009
【図９】
0006580482.tif 000010
【図１０】
0006580482.tif 000011
【図１１】
0006580482.tif 000012
【図１２】
0006580482.tif 000013
【図１３】
0006580482.tif 000014
【図１４】
0006580482.tif 000015
【図１５Ａ】
0006580482.tif 000016
【図１５Ｂ】
0006580482.tif 000017