(57)【要約】  本明細書に記載のシステム、方法、およびソフトウェアは、衛星内にソフトウェアアプリケーションを展開するための機能強化を提供する。一例では、制御システムは、ソフトウェアアプリケーションについての展開要件を示すユーザ入力を受信し、周回軌道衛星プラットフォームとして展開された複数の衛星内のリソースの利用可能性を識別することができる。制御システムは、さらに、展開要件および複数の衛星内のリソースの利用可能性に基づいてソフトウェアアプリケーションの展開についての展開オプションを判定し、展開オプションをソフトウェアアプリケーションの開発者に提供する。【選択図】図９
2019537145.tif 000002
【特許請求の範囲】
【請求項１】
衛星プラットフォームへのソフトウェアアプリケーションの展開を管理する方法において、前記衛星プラットフォームが複数の衛星を備え、前記方法が、
ソフトウェアアプリケーションについての展開要件を示すユーザ入力を受信することと、
前記複数の衛星内のリソースの利用可能性を識別することと、
前記展開要件および前記複数の衛星内のリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての展開オプションを判定することと、
前記展開オプションを前記ソフトウェアアプリケーションの開発者に提供することを含む、方法。
【請求項２】
前記展開要件が、関心のある地理的領域、関心のある動作時間、およびセンサ要件を少なくとも含む、請求項１に記載の方法。
【請求項３】
前記複数の衛星内のリソースの前記利用可能性を識別することは、前記複数の衛星内の処理およびセンサリソースの利用可能性を識別することを含む、請求項１に記載の方法。
【請求項４】
前記ソフトウェアアプリケーションの前記開発者に前記展開オプションを提供することは、少なくとも前記ソフトウェアアプリケーションを前記複数の衛星に展開するための第１の展開オプションと、前記ソフトウェアアプリケーションを前記複数の衛星および１つ以上の新たな衛星に展開するための第２の展開オプションとを提供することを含む、請求項１に記載の方法。
【請求項５】
さらに、
前記第１の展開オプションのユーザ選択を受信することと、
前記ユーザ選択に応答して、前記ソフトウェアアプリケーションを前記複数の衛星における１つ以上の衛星に展開することとを含み、前記ソフトウェアアプリケーションが前記１つ以上の衛星上の仮想ノードとして実行される、請求項４に記載の方法。
【請求項６】
さらに、
前記第２の展開オプションのユーザ選択を受信することと、
前記ユーザ選択に応答して、前記１つ以上の新たな衛星についての構成を識別することとを含む、請求項４に記載の方法。
【請求項７】
前記１つ以上の新たな衛星についての構成を識別することは、前記１つ以上の新たな衛星についてのハードウェア要件を示す第２のユーザ入力を受信することを含む、請求項６に記載の方法。
【請求項８】
前記展開要件およびリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての前記展開オプションを判定することは、
前記複数の衛星内の前記リソースの利用可能性に基づいて、前記展開要件の各展開要件が前記複数の衛星に適合可能かどうかを判定することと、
前記展開要件の各展開要件が適合可能である場合、前記展開要件が前記複数の衛星を介して適合可能であることを示す第１の展開オプションを識別することとを含む、請求項１に記載の方法。
【請求項９】
１つまたはコンピュータ可読記憶媒体と、
前記１つ以上のコンピュータ可読記憶媒体と動作可能に結合する処理システムと、
衛星プラットフォームへのソフトウェアアプリケーションの展開を管理するための、前記１つ以上のコンピュータ可読記憶媒体に記憶されたプログラム命令と、を備えるコンピュータ装置であって、
前記プログラム命令が、前記処理システムによって読み取られて実行されると、少なくとも、
ソフトウェアアプリケーションの展開要件を示すユーザ入力を受信し、
前記衛星プラットフォームについて展開された複数の衛星内のリソースの利用可能性を識別し、
前記展開要件および前記複数の衛星内のリソースの前記利用可能性に基づいて、前記ソフトウェアアプリケーションの展開についての展開オプションを判定し、
前記ソフトウェアアプリケーションの開発者に前記展開オプションを提供する
ように、前記処理システムに指示する、コンピュータ装置。
【請求項１０】
前記展開要件が、関心のある地理的領域、関心のある動作時間、およびセンサ要件を少なくとも含む、請求項９に記載のコンピュータ装置。
【請求項１１】
前記複数の衛星内のリソースの前記利用可能性を識別するための前記プログラム命令が、前記複数の衛星内の処理およびセンサリソースの利用可能性を識別するように前記処理システムに指示する、請求項９に記載のコンピュータ装置。
【請求項１２】
前記ソフトウェアアプリケーションの前記開発者に前記展開オプションを提供するための前記プログラム命令が、少なくとも前記ソフトウェアアプリケーションを前記複数の衛星に展開するための第１の展開オプションと、前記ソフトウェアアプリケーションを前記複数の衛星および１つ以上の新たな衛星に展開するための第２の展開オプションとを提供するように前記処理システムに指示する、請求項９に記載のコンピュータ装置。
【請求項１３】
前記プログラム命令が、さらに、
前記第１の展開オプションのユーザ選択を受信し、
前記ユーザの選択に応答して、前記ソフトウェアアプリケーションを前記複数の衛星における１つ以上の衛星に展開するように前記処理システムに指示し、前記ソフトウェアアプリケーションが、前記１つ以上の衛星上の仮想ノードとして実行される、請求項１２に記載のコンピュータ装置。
【請求項１４】
前記プログラム命令が、さらに、
前記第２の展開オプションのユーザ選択を受信し、
前記ユーザ選択に応答して、前記１つ以上の新たな衛星についての構成を識別するように前記処理システムに指示する、請求項１２に記載のコンピュータ装置。
【請求項１５】
前記１つ以上の新たな衛星について前記構成を識別するための前記プログラム命令が、前記１つ以上の新たな衛星についてのハードウェア要件を示す第２のユーザ入力を識別するように前記処理システムに指示する、請求項１４に記載のコンピュータ装置。
【請求項１６】
前記展開要件およびリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての前記展開オプションを判定するための前記プログラム命令が、
前記展開要件の各展開要件が、前記複数の衛星内のリソースの前記利用可能性に基づいて前記複数の衛星によって適合可能であるかどうかを判定し、
前記展開要件の各展開要件が適合可能である場合、前記展開要件が前記複数の衛星を介して適合可能であることを示す第１の展開オプションを識別するように前記処理システムに指示する、請求項９に記載のコンピュータ装置。
【請求項１７】
前記プログラム命令が、さらに、前記ソフトウェアアプリケーションについての予算要件を識別するように前記処理システムに指示し、そして、前記プログラム命令が、前記展開要件および前記複数の衛星内のリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての前記展開オプションを判定し、そして、前記予算要件、展開要件、および前記複数の衛星内のリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての前記展開オプションを判定するように前記処理システムに指示する、請求項９に記載のコンピュータ装置。
【請求項１８】
１つまたはコンピュータ可読記憶媒体と、
衛星プラットフォームへのソフトウェアアプリケーションの展開を管理する前記１つ以上のコンピュータ可読記憶媒体に記憶されたプログラム命令とを備える装置であって、前記プログラム命令が、処理システムによって読み取られて実行されると、少なくとも、
ソフトウェアアプリケーションの展開要件を示すユーザ入力を受信し、
前記衛星プラットフォームについて展開された複数の衛星内のリソースの利用可能性を識別し、
前記展開要件および前記複数の衛星内のリソースの前記利用可能性に基づいて、前記ソフトウェアアプリケーションの展開についての展開オプションを判定し、
前記ソフトウェアアプリケーションの開発者に前記展開オプションを提供する
ように、前記処理システムに指示する、装置。
【請求項１９】
前記展開要件が、関心のある地理的領域、関心のある動作時間、およびセンサ要件を少なくとも含む、請求項１８に記載の装置。
【請求項２０】
前記複数の衛星内のリソースの前記利用可能性を識別するための前記プログラム命令が、前記複数の衛星内の処理およびセンサリソースの利用可能性を識別するように前記処理システムに指示する、請求項１８に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、その全体が参照することにより本明細書に組み込まれる２０１６年１１月１６日に出願された「衛星プラットフォームにおけるソフトウェアアプリケーション展開のオーケストレーション」と題する米国特許出願第１５／３５３，４１１号の利益および優先権を主張する。
【背景技術】
【０００２】
衛星は、軍事および民間の観測業務、通信業務、ナビゲーション業務、気象業務、ならびに研究業務などの様々な宇宙ベースの業務を提供するために軌道に展開されることができる。衛星は、所望のタスクを実行するために使用される様々なセンサおよび通信機器を含むことができる。例えば、気象衛星は、地球の画像を撮像するために使用することができる１つ以上のカメラまたは撮像センサ、およびその画像を地球上の制御システムに通信するために使用することができる通信機器を含むことができる。衛星は、これらの特殊な動作を実行するように構成されることができるが、衛星は、作製して軌道に投入するには高価であり、特に多数のセンサを有する衛星全体の使用を必要としなくてもよい、または衛星において連続動作を必要としなくてもよい組織にとっては高価である。その結果、組織は、衛星の使用を避け、有望な衛星技術の使用を制限する可能性がある。
【発明の概要】
【０００３】
本明細書に開示される技術は、衛星プラットフォームにおける衛星に対してソフトウェアアプリケーションを展開するための機能強化を提供する。一実施形態では、方法は、ソフトウェアアプリケーションについての展開要件を示すユーザ入力を受信することと、衛星プラットフォームとして展開された複数の衛星内のリソースの利用可能性を識別することとを含む。方法は、さらに、展開要件および複数の衛星内のリソースの利用可能性に基づいてソフトウェアアプリケーションの展開についての展開オプションを判定することと、展開オプションをソフトウェアアプリケーションの開発者に提供することとを提供する。
【０００４】
この発明の概要は、技術的開示において以下にさらに説明される概念の選択を単純化された形態で紹介するために提供される。この発明の概要は、特許請求される主題の主要な特徴または本質的な特徴を特定することを意図するものではなく、特許請求される主題の範囲を限定するためにも使用されるべきではないことが理解されるべきである。
【図面の簡単な説明】
【０００５】
本開示の多くの態様は、以下の図面を参照してより良好に理解されることができる。これらの図面に関連していくつかの形態が説明されるが、本開示は、本明細書に開示された形態に限定されるものではない。それどころか、その意図は、全ての代替例、変更例、および均等物を網羅することである。
【０００６】
【図１】実施形態にかかる衛星環境を示している。
【０００７】
【図２】実施形態にかかる仮想ノード用のプラットフォームを提供することができる衛星の拡大図を示している。
【０００８】
【図３】実施形態にかかるソフトウェアアプリケーションについての展開オプションを提供するための地上制御システムの動作を示している。
【０００９】
【図４】実施形態にかかるソフトウェアアプリケーションについての展開オプションを提供するための地上制御システムの動作を示している。
【００１０】
【図５】実施形態にかかるソフトウェアアプリケーションについての展開要件を提供するためのユーザインターフェースを示している。
【００１１】
【図６】実施形態にかかるソフトウェアアプリケーションの展開を示している。
【００１２】
【図７】実施形態にかかるオプションユーザインターフェースを示している。
【００１３】
【図８】実施形態にかかる新たな衛星を設計するための地上制御システムの動作を示している。
【００１４】
【図９】実施形態にかかるソフトウェアアプリケーションの展開の管理の概要を示している。
【００１５】
【図１０】実施形態にかかるアプリケーションの展開を示している。
【００１６】
【図１１】実施形態にかかるアプリケーションの展開を示している。
【００１７】
【図１２】実施形態にかかる開発コンピューティングシステムを示している。
【発明を実施するための形態】
【００１８】
本明細書に開示される様々な例は、衛星ハードウェアおよびソフトウェア技術に対する機能拡張を提供する。特に、本明細書に開示される例は、周回軌道衛星プラットフォームにソフトウェアアプリケーションを展開するためのシステムおよび方法を提供し、各ソフトウェアアプリケーションは、同じ衛星に展開される１つ以上の他のアプリケーションとリソースを共有することができる仮想ノードとして実行する。これらの仮想ノードは、いくつかの例ではフルオペレーティングシステム仮想マシンを含むことができ、さらに仮想コンテナを含むことができる。これらのコンテナは、Ｄｏｃｋｅｒコンテナ、Ｌｉｎｕｘ（登録商標）コンテナ、ｊａｉｌ、またはホストシステムからのリソースの効率的な管理を提供することができる他の同様のタイプの仮想コンテインメントノードを含むことができる。コンテナによって使用されるリソースは、ホストコンピューティングシステムからのカーネルリソースを含むことができ、ホスト上で実行される他のコンテナまたはプロセスと共有されることができるリポジトリおよび他の承認されたリソースをさらに含むことができる。しかしながら、リソースは、ホスト衛星上のコンテナ間で共有されることができるものの、コンテナは、独自の識別子空間、ファイルシステム構造、およびネットワークインターフェースを使用してオペレーティングシステムに対するプライベートアクセスを有するようにプロビジョニングされる。
【００１９】
この例では、衛星プラットフォームを提供するために、複数の衛星が展開されることができ、組織は、アプリケーションを生成し、そのアプリケーションを衛星に展開して所望の動作を実行することができる。動作は、軍事および民間の観測業務、通信業務、ナビゲーション業務、気象業務、および研究業務を含むことができる。アプリケーションを開発するために、組織が開発ツールを使用してソフトウェアアプリケーションを開発することを可能にする地上制御システムの一部として開発プラットフォームが提供されることができる。ツールを使用して開発されると、アプリケーションは、物理衛星プラットフォームを複製した仮想または物理試験環境で実行されることができる。この試験環境は、ユーザがソフトウェアアプリケーションを１つ以上の試験衛星にアップロードし、アプリケーションを物理衛星クラスタに展開する前にアプリケーションの動作を監視することを可能にすることができる。いくつかの実施形態では、アプリケーションを開発する際に、提供される開発ツールは、アプリケーションが物理衛星によって提供される様々なセンサおよびインターフェースを要求およびアクセスすることを可能にするアプリケーションプログラミングインターフェース（ＡＰＩ）またはいくつかの他のコマンド構造を含むことができる。したがって、各ソフトウェアアプリケーションは、異なる動作を実行することができるが、それらは、同様のコマンドを使用して、カメラ、アンテナなどのセンサと対話することができる。
【００２０】
開発ツールおよび試験環境を使用してアプリケーションが開発されると、そのアプリケーションは、周回軌道衛星プラットフォームの１つ以上の衛星に展開されることができる。いくつかの実施形態では、１つ以上の衛星へのアップリンクとして地上制御システムを使用して、１つ以上の衛星のそれぞれにアプリケーションが提供されることができる。他の実施形態では、プラットフォーム内の衛星に対して単一のアップリンクが作成されることができ、衛星は、アプリケーションをプラットフォーム内の他の所望の衛星に配信するように構成される。環境に展開されると、アプリケーションは、割り当てられた衛星上で実行されることができる。
【００２１】
いくつかの実施形態では、各衛星上でのアプリケーションの実行を管理するために、スケジュールが生成されてもよく、スケジュールは、各アプリケーションの処理のスケジューリング、ならびにユーザセンサへの各アプリケーションについてのアクセスを担うことができる。例えば、衛星上の第１のアプリケーションは、第１の期間中に撮像センサへのアクセスを必要としてもよいが、第２のアプリケーションは、第２の期間中に同じセンサへのアクセスを必要としてもよい。衛星に提供されたスケジュールは、定義された期間に基づいて各アプリケーション間のアドレス指定リンクを判定してセンサに割り当てるために使用されてもよい。少なくとも一実施形態では、一度に複数のアプリケーションが同じセンサに割り当てられてもよい。これは、異なる動作を提供するアプリケーションが同じデータを受信するがデータに関して異なる機能を提供することを可能にすることができる。他の実施形態では、単一のアプリケーションは、受信する他のアプリケーションが同時にセンサにアクセスしないことを好むことがある。したがって、スケジュールは、定義された期間中に単一のアプリケーションのみが割り当てられ、またはセンサと通信することができることを保証することができる。
【００２２】
衛星プラットフォームの衛星に提供されるスケジュールを開発するために、利用可能性サービスまたはプラットフォームが使用されることができる。特に、アプリケーションの開発中に、開発者は、アプリケーションにとって関心のある地理的領域、関心のある動作時間、センサ要件、またはそれらの組み合わせを含む他の同様の展開要件を含むことができる展開要件を利用可能性プラットフォームに提供することができる。次に、これらの要件が衛星の利用可能なリソースと比較されることができ、リソースは、各衛星の利用可能な処理、通信、およびセンサリソースを含み、現在の周回軌道衛星によってアプリケーションが適合可能であるかどうかを判定することができる。アプリケーションが現在の周回軌道衛星を介して適合可能な場合、開発者は、現在の衛星を使用してアプリケーションを展開することを選択することができる。他の例では、展開要件の一部のみが適合可能である場合、開発者には、アプリケーションを展開するための１つ以上の追加の選択オプションが提供されることができる。
【００２３】
例えば、現在の衛星プラットフォームが関心のある地理的領域の８０パーセントをサポートすることができる場合、オプションは、その８０パーセントが開発者にとって適切であったかどうかに基づいて、ユーザがアプリケーションの展開を承認または拒否することを可能にする。したがって、８０パーセントが適切である場合、アプリケーションは、そのアプリケーションに所望の動作を提供することができる１つ以上の衛星に展開されることができる。対照的に、８０パーセントがアプリケーションに十分でない場合、開発者は、プラットフォームを使用してアプリケーションを展開しないことを選択することができるか、または１つ以上の追加の衛星をプラットフォームに追加して所望の動作を提供することができる。この衛星の追加は、開発者が衛星の様々なセンサおよび処理能力を選択し、それらの動作に必要な軌道に衛星を展開することを可能にすることができる。さらに、一旦展開されると、追加のアプリケーションが新たな衛星に提供されることができ、新たなアプリケーションは、衛星の展開をトリガした元のアプリケーションと衛星の物理的リソースを共有することができる。
【００２４】
いくつかの実施形態では、衛星プラットフォームの衛星は、それぞれ、プラットフォームについての１つ以上の他の衛星および地上制御システムと状態情報を交換することができる。この状態情報は、動作しているタスクまたはプロセスなど、各アプリケーションの現在の動作状態情報を含むことができ、さらに衛星のセンサから少なくとも部分的に生成されたデータを交換することができる。このデータは、ピアグループで使用されることができ、第１の衛星は、第１のデータセットを識別し、そのデータを第２の衛星に提供することができる。そして、第２の衛星は、第２のデータを識別し、アプリケーションによって定義されるような第１および第２のデータを処理することができる。一例として、この動作は、撮像動作において使用されることができ、第１の衛星は、第１の期間にわたってオブジェクトの画像を撮像し、その画像についてのデータを第２の衛星に提供することができる。第２の衛星は、後続の画像を撮像し、第１の画像および後続の画像についてのデータを使用して、オブジェクトに関する判定を下すことができる。これは一例であるが、他の動作は、状態データのピア共有を使用して衛星センサからの測定データに関する特性を識別することができることが理解されるべきである。
【００２５】
図１は、実施形態にかかる衛星環境１００を示している。衛星環境１００は、衛星１１０〜１１３と、衛星１２０〜１２３と、地球１９０と、地上制御システム１７０と、打ち上げシステム１８０とを含む。衛星１１０および１２０は、第１のピアグループ１４０に属し、衛星１１１、１１２および１２２は、第２のピアグループ１４１に属し、ピアグループは、アプリケーション状態およびその上で実行されるアプリケーションについてのデータなどの状態情報を共有するために使用されることができる。衛星１１０〜１１３および衛星１２０〜１２３は、無線通信リンク１３０〜１３２を介して通信する。地上制御システム１７０は、無線通信リンク１３５を使用して衛星１１０〜１１３および衛星１２０〜１２３と通信する。
【００２６】
本明細書に記載されるように、複数の衛星１１０〜１１３および１２０〜１２３は、複数の異なるソフトウェアアプリケーションについての周回軌道プラットフォームとして打ち上げられて展開されることができる。アプリケーションを生成するために、組織がソフトウェアアプリケーションを生成することを可能にする様々なツールおよびＡＰＩを含むことができる設計プラットフォーム１７５が提供される。いくつかの実施形態では、設計プラットフォーム１７５は、衛星のそれぞれで利用可能な選択可能な機能およびインターフェース要素をユーザに提供することができる。機能および利用可能なインターフェース要素を使用して、特定の組織についての開発者または複数の開発者は、所望の動作を実行するソフトウェアアプリケーションを生成することができる。例えば、開発者は、衛星上のカメラを使用して関連オブジェクトの動きを追跡するアプリケーションを生成することができる。
【００２７】
アプリケーションが開発されると、そのアプリケーションは、アプリケーションを衛星プラットフォームに展開する前にアプリケーションを検証および試験するために使用されることができる検証プラットフォーム１７６に提供されることができる。検証プラットフォーム１７６は、物理または仮想テストベッドを含むことができ、アプリケーションは、アプリケーションの機能を判定するために１つ以上の試験衛星に展開されることができる。いくつかの実施形態では、機能性を試験することに加えて、検証プラットフォームは、アプリケーションが物理プラットフォーム上で動作することを承認されていることを保証するために、アプリケーションに試験をさらに適用することができる。これらの試験は、限定されるものではないが、アプリケーションが同じ衛星上で実行されることができる他のアプリケーションに対して悪意がないことを確認すること、アプリケーションが衛星の飛行構造または動作を変更しないことを確認すること、データが他の衛星と地上制御システムとの間で適切に通信されることを確認すること、またはアプリケーションの動作を検証するための任意の他の同様の試験を含むことができる。
【００２８】
アプリケーションを開発および検証することに加えて、利用可能性プラットフォーム１７７は、周回軌道クラスタ内でアプリケーションをスケジュールするために地上制御システム１７０の一部として使用されることができる。このスケジューリングは、アプリケーションの動作に適用される衛星、各衛星の動作時間、アプリケーションの処理、通信、およびセンサリソース、あるいは衛星プラットフォームに関する他の同様のスケジューリングを判定するために使用されることができる。少なくとも１つの実施形態では、利用可能性プラットフォーム１７７は、ソフトウェアアプリケーションについての展開要件に関するユーザ入力を受信することができ、展開要件は、関心のある地球上の地理的領域、関心のある動作時間、センサ要件、処理要件、セキュリティ要件、コスト制約、またはそれらの組み合わせを含む他の同様の展開要件を含むことができる。さらに、利用可能性プラットフォーム１７７は、衛星プラットフォーム内のリソースの利用可能性情報を特定することができ、衛星プラットフォームについての展開要件および利用可能性情報に基づいてソフトウェアアプリケーションの展開のための展開オプションを判定することができる。展開オプションが特定されると、それらは、ソフトウェアアプリケーションの開発者に提供されることができ、開発者は、オプションを使用してプラットフォームにおけるアプリケーションの展開を選択することができる。いくつかの実施形態では、アプリケーションは、軌道上の現在の衛星を使用して実装されることができるが、開発者に提供されるオプションはまた、所望の動作を提供するためにプラットフォームに追加の衛星を追加するオプションも提供することができることが理解されるべきである。
【００２９】
展開オプションが利用可能性プラットフォーム１７７を介して選択されると、地上制御システム１７０は、衛星のうちの１つ以上によるアップリンクを開始してアプリケーションを衛星に提供するとともに、衛星に関する任意のスケジューリング情報を更新することができる。所望の衛星にアップロードされると、アプリケーションは、利用可能性プラットフォーム１７７において決定されたスケジューリングに基づいて実行を開始することができる。いくつかの実施形態では、地上制御システム１７０からのアップリンクは、必要とされる衛星にアプリケーションを提供する責を単独で担うことができる。他の実施形態では、地上制御システム１７０は、その後にそのアプリケーションを衛星プラットフォームの１つ以上の他の衛星に配信することができる第１のセットの衛星にアプリケーションを供給してもよい。例えば、地上制御システム１７０は、第１のアプリケーションを衛星１２０に提供してもよく、衛星１２０は、次にそのアプリケーションをピアグループ内の他の衛星に供給してもよい。特に、衛星１２０は、同じピアグループ内にある衛星１１０にアプリケーションを提供することができ、衛星１１０が地上制御システム１７０から通信を直接受信することなくアプリケーションの動作を提供することを可能にする。さらに、衛星に初期設定を提供するのと同様に、地上制御システム１７０は、衛星プラットフォームにおいて動作する各アプリケーションに更新を供給するためにさらに使用されてもよく、各衛星上の任意のスケジューリング情報をさらに更新してもよい。
【００３０】
衛星環境１００に示されているものはまた、衛星（ｓａｔｓ）１８１を周回軌道衛星１１０〜１１３および１２０〜１２３とともに周回するように輸送するために使用されることができる打ち上げシステム１８０である。衛星１８１は、アプリケーションが衛星上で仮想ノードとして実行することを可能にするハードウェアおよびソフトウェア構成を含む。いくつかの実施形態では、衛星１８１は、アプリケーションなしで打ち上げシステム１８０を使用して打ち上げられることができ、代わりに、地上制御システム１７０からアップリンクで提供されるときにアプリケーションをロードおよび実行するために使用されることができる基本オペレーティングシステムまたはハイパーバイザが提供されることができる。他の実施形態では、衛星１８１は、衛星上のオペレーティングシステムまたはハイパーバイザを介して実行されることができる第１のアプリケーションのセットを用いて構成されることができる。したがって、軌道に入ると、アプリケーションは、実行を開始してアプリケーションの動作を提供することができる。これらのアプリケーションは、さらに、地上制御システム１７０からアップリンクで提供される情報に基づいて追加され、除去され、変更されることができる。
【００３１】
いくつかの実施形態では、衛星１８１の打ち上げは、衛星クラスタ内に展開されることが望まれるアプリケーション上で少なくとも部分的に制御されることができる。特に、現在展開されている衛星がアプリケーションの動作を提供することができない場合、アプリケーションの開発者は、アプリケーションをサポートするために必要なハードウェアとともに追加の衛星を展開することを選択することができる。一旦展開されると、アプリケーションは、実行のために新たに打ち上げられた衛星に提供されることができる。さらに、新たな衛星によって提供される利用可能なリソースを共有するために、新たに打ち上げられた衛星に１つ以上のアプリケーションがまた提供されることもできる。
【００３２】
図２は、実施形態にかかる仮想ノード用のプラットフォームを提供することができる衛星１１０の拡大図２００を示している。衛星１１０は、仮想化実行セグメント２０１、制御セグメント２０２、およびインターフェースセグメント２０３を含み、これらは様々な通信リンクを使用して結合されることができる。仮想化実行セグメント２０１は、仮想ノード２４１〜２４４用の仮想化ユーザ空間２４０、オペレーティングシステムまたはハイパーバイザ２３５、オペレーティングシステムおよび仮想ユーザ空間を記憶するための記憶システム２３２、ならびに処理システム２３０を含む仮想化実行システムを表す。制御セグメント２０２は、さらに、飛行制御システム２１１と推進ナビゲーション２１０とを含む。インターフェースセグメント２０３は、さらに、ユーザセンサ２２０および通信インターフェース２２１を含み、通信インターフェース２２１は、地上通信および衛星間通信に使用されることができる。ユーザセンサ２２０は、撮像センサ、温度センサ、光センサ、または仮想ノード２４１〜２４４と相互作用することができるいくつかの他の同様のセンサを含むことができる。
【００３３】
本明細書で説明されるように、組織は、衛星プラットフォームのうちの１つ以上の衛星上の仮想ノードとして展開されることができるアプリケーションを生成することができる。これらのアプリケーションは、地上制御システムから提供されてもよく、または衛星１１０上の通信インターフェース２２１を介して他の衛星から提供されてもよい。アプリケーションが提供されると、記憶システム２３２に記憶され且つ処理システム２３０によって実行されるオペレーティングシステム／ハイパーバイザ２３５は、アプリケーションを実行するためのプラットフォームを提供することができる。ここで、衛星１１０に提供される各アプリケーションは、仮想ノード２４１〜２４４における別個の仮想ノードとして実行され、仮想ノードは、記憶システム２３２における基本オペレーティングシステムからリソースを共有することができるフルオペレーティングシステム仮想マシンまたはコンテナを含むことができる。
【００３４】
仮想ノードの実行を管理するために、オペレーティングシステム／ハイパーバイザ２３５は、処理システム２３０の処理リソースを各ノードに、ユーザセンサ２２０を各ノードに、および衛星１１０上の他の同様のリソースを割り当てるために使用されるスケジュールを管理することができる。特に、スケジュールは、各アプリケーションが、定義された期間中に処理システム２３０から処理リソースを受け取るようにスケジューリングされ、定義された期間中にユーザセンサ２２０へのアクセスを受け取るようにスケジュールされることを保証するために使用されることができる。いくつかの実施形態では、アプリケーションのうちの１つ以上は、衛星１１０上で同じ期間中に実行されることができる。これらのアプリケーションは、ユーザセンサ２２０における異なるセンサを使用してもよく、ユーザセンサ２２０におけるセンサの使用を時分割してもよく、またはそれらの動作においてユーザセンサ２２０からの同じデータを使用してもよい。センサを割り当てるために、オペレーティングシステム２３５は、各動作仮想ノードに必要なユーザセンサへの通信リンクを提供し、スケジューリングに基づいて必要なセンサへの通信リンクを割り当て解除または削除することを担うことができる。例えば、撮像装置は、第１の期間中に仮想ノード２４１によってアクセスされてもよく、仮想ノード２４１は、オペレーティングシステム２３５によって提供されたアドレス指定情報に基づいてセンサにアクセスしてもよい。期間が満了すると、オペレーティングシステム２３５は、いくつかの例では、仮想ノードのアドレス指定アクセスを削除し、センサのアクセスを第２の仮想ノードに割り当てることによって、仮想ノード２４１がセンサにアクセスするのを防ぐことができる。
【００３５】
仮想化実行セグメント２０１で提供される仮想ノード動作に加えて、衛星１１０は、さらに、制御セグメント２０２を含む。仮想化実行セグメント２０１およびインターフェースセグメント２０３に通信可能にリンクされることができる制御セグメント２０２は、衛星１１０の衛星の物流制御要素を担う。動作は、衛星上の太陽電池パネルの配備を管理すること、地球もしくは太陽に関する衛星の位置を管理すること、または任意の他の同様の動作を含むことができる。少なくとも１つの例では、飛行制御システム１１１は、オペレーティングシステム２３５からの要求を監視し、衛星がオペレーティングシステム２３５からの要求に適合できるかどうかを判定することができる。例えば、仮想ノード２４１は、ユーザセンサを移動させる要求を生成することができ、これも推進およびナビゲーション２１０を使用した移動を必要とする。要求に応答して、飛行制御システム２１１は、移動ができないと判定し、推進およびナビゲーション２１０を使用して衛星の移動を防止することができる。さらに、いくつかの実施形態では、飛行制御システム２１１は、移動が許可されていないことを示す通知をオペレーティングシステム２３５および仮想ノード２４１に提供することができる。
【００３６】
図２の例では別個のシステムとして示されているが、いくつかの例では、飛行制御システムは、処理システム２３０および記憶システム２３２上に実装されて記憶されてもよいことが理解されるべきである。しかしながら、飛行制御システムは、別個の記憶システムに記憶され、オペレーティングシステム２３５およびその対応する仮想ノードとは異なる処理システムを使用してもよいこともまた理解されるべきである。
【００３７】
図３は、実施形態にかかるソフトウェアアプリケーションについての展開オプションを提供するための地上制御システムの動作を示している。図３の動作は、図１の衛星環境１００のシステムおよびオブジェクトを参照して以下の段落において括弧内で参照される。
【００３８】
図示のように、地上制御システム１７０の利用可能性プラットフォーム１７７は、衛星プラットフォームに展開されるべき衛星ソフトウェアアプリケーションについての展開要件を示すユーザ入力を受信することができる（３０１）。これらの展開要件は、関心のある地球上の地理的領域、関心のある動作時間、センサ要件、処理要件、セキュリティ要件、コスト制約、またはそれらの組み合わせを含む他の同様の展開要件を含むことができる。いくつかの実施形態では、アプリケーションの開発者は、アプリケーションに情報を提供するために自然言語を使用して要件を供給することができる。例えば、開発者は、「６月から８月までの間に北太平洋の全船舶の画像を取得する」と提供することができる。入力に応答して、利用可能性プラットフォーム１７７は、自然言語エンジンを使用して、船舶の撮像（必要なセンサの種類）、北大西洋（地理的領域）、および６月から８月（関心のある期間）などの関連展開要件を識別することができる。他の実施形態では、利用可能性プラットフォームは、自然言語入力を提供するのではなく、ドロップダウンメニュー、複数の選択肢、またはいくつかの展開要件の他の同様の明示的な選択を提供することができる。
【００３９】
展開要件を判定することに加えて、地上制御システム１７０の利用可能性プラットフォーム１７７は、衛星プラットフォーム内の衛星リソースの利用可能性を識別することができる（３０２）。この利用可能性情報は、衛星プラットフォームの衛星上の処理リソースの利用可能性、衛星プラットフォームの衛星上のセンサの利用可能性、通信インターフェースの利用可能性、または衛星プラットフォームに関する現在周回軌道中の衛星に関する任意の他の同様の情報を含むことができる。いくつかの例では、利用可能性は、少なくとも部分的には、衛星上で既にスケジューリングされているアプリケーションに基づいてもよい。したがって、以前に生成されたアプリケーションが所定期間にわたって撮像センサの私的使用を必要とした場合、センサは、その期間中はいかなる他のアプリケーションにも利用できないであろう。
【００４０】
利用可能性情報および展開要件が識別されると、動作は、さらに、展開要件および衛星リソースの利用可能性に基づいて衛星ソフトウェアアプリケーションを展開するためのオプションを判定する（３０３）。例えば、北大西洋の撮像の例に戻ると、必要な期間中に必要なセンサを用いて、特定の地理的領域にわたる衛星の利用可能性に基づいてオプションが判定されることができる。いくつかの例では、オプションは、現在周回軌道プラットフォームにある衛星による１００パーセントのまたは完全な動作がアプリケーションに提供されることを可能にすることができる。他の実施形態では、現在の周回軌道衛星を介して、動作の一部のみ、または完全版よりも少ないバージョンが提供されることができる。例えば、特定の期間中に地理的領域にわたって衛星が周回軌道にない場合、その期間中の地理的領域の画像は、現在展開されている衛星を使用しては不可能とすることができる。結果として、利用可能な衛星にソフトウェアアプリケーションを実装するために、または所望のアプリケーションの完全な実装をサポートするために１つ以上の追加の衛星を展開するために、地上制御システム１７０によってオプションが識別される。
【００４１】
ソフトウェアアプリケーションについてオプションが判定されると、地上制御システム１７０上の利用可能性プラットフォーム１７７は、衛星ソフトウェアアプリケーションの開発者にオプションを提供する（３０４）。一旦提供されると、開発者用のユーザインターフェースを介して、開発者は、衛星プラットフォーム内にアプリケーションを実装するためにオプションから選択を行うことができる。これは、１つ以上の衛星へのアップリンクを使用してソフトウェアアプリケーションを提供すること、および衛星上でアプリケーションの実行を開始して所望の動作を実行することを含むことができる。
【００４２】
いくつかの例では、ソフトウェアアプリケーションは、利用可能性プラットフォーム１７７にユーザ入力を提供する前に開発されることができるが、アプリケーションを開発する前に、ユーザは、所望の動作をサポートするためにリソースの利用可能性をチェックすることができることが理解されるべきである。一旦利用可能性を判定すると、ユーザは、アプリケーションを開発して必要な動作を提供することができる。
【００４３】
いくつかの実施形態では、開発者が新たなアプリケーションの展開を要求するとき、開発者は、新たなアプリケーションのための予算要件を指定することができる。その結果、開発者についてオプションが判定されると、開発者の予算内に収まるオプションのみが提供されることができる。例えば、全ての展開要件を満たしてアプリケーションが展開されることができたとしても、開発者の予算を超えるコストがかかる場合、そのオプションは、開発者にとって利用できない可能性がある。その代わりに、開発者には、完全な展開要件よりも少ないが、開発者の予算内に収まることができる他のオプションが提供されることができる。
【００４４】
少なくとも１つの例では、衛星プラットフォームにおける衛星リソースの利用可能性を識別する際に、地上制御システムは、アプリケーションをサポートするための軌道利用可能性を判定することができる。特に、衛星プラットフォームは、静止軌道を提供しないことがあるか、または特定の地理的領域もしくは空間内の固定点をカバーするために複数の衛星を必要とすることがあるため、地上制御システムは、所望の関心のある地点について軌道を提供する衛星を識別する必要がある。利用可能な処理およびセンサリソースとともに軌道の利用可能性が識別されると、展開要件をサポートするためのオプションが識別されることができる。いくつかの実施形態では、ソフトウェアアプリケーションについて識別された衛星は、軌道がそれらを関心のある場所から遠ざけるときに動作をハンドオフすることができる。他の実施形態では、衛星は、２つ以上の衛星が任意の時点で地理的領域をカバーすることができるときに状態情報を交換することができる（関心のある地点上で動作を協調して提供する）。さらに他の実施形態では、衛星は、第１の地理的位置から第２の地理的位置への通信を提供するために使用されることができる。したがって、アプリケーションは、第１の地理的位置および第２の地理的位置にサービスを提供する衛星上で動作することができ、さらに２つの位置間で通信を転送することができる他の衛星上で動作することができる。
【００４５】
ここで図４を参照すると、実施形態にかかるソフトウェアアプリケーションについての展開オプションを提供するための地上制御システムの動作を示している。特に、図４は、展開オプションがアプリケーションの開発者に提供された後の地上制御システムの動作を表している。図４の動作は、図１の衛星環境１００のシステムおよびオブジェクトを参照して以下の段落において括弧内で参照される。
【００４６】
示されるように、展開オプションがアプリケーションの開発者に提供されると、地上制御システム１７０は、開発者が完全な適合オプションを選択するかどうかを判定することができ（４０１）、完全な適合オプションは、全ての展開要件が衛星プラットフォームにおいて現在利用可能な衛星によって満たされることができる旨を開発者に示す。ユーザが完全な適合オプションを選択した場合、地上制御システム１７０は、衛星プラットフォーム内の１つ以上の仮想ノードとしてソフトウェアアプリケーションを展開することができる（４０２）。この展開は、アップリンクを介してソフトウェアアプリケーションを少なくとも１つの衛星に提供することと、いくつかの例では、軌道上の衛星を介してソフトウェアアプリケーションを任意の他の必要な衛星に配信することとを含むことができる。
【００４７】
対照的に、実装コストが高すぎるかまたは完全な展開をサポートするための利用可能性が現在ないために、ユーザが完全な適合オプションを選択しない場合、地上制御システム１７０は、開発者が完全でない適合オプションを承認するかどうかを判定することができる（４０３）。特に、本明細書に記載されるように、利用可能性情報は、現在展開されている衛星１１０〜１１３および１２０〜１２３の処理およびセンサリソースについて判定されることができ、利用可能性は、処理およびセンサリソースの時間利用可能性とともに、各処理および地理的リソースの地理的カバレッジ利用可能性を含むことができる。一旦判定されると、利用可能性情報は、ソフトウェアアプリケーションの展開要件と比較されて、そのアプリケーションが現在展開されている衛星１１０〜１１３および１２０〜１２３によって適合されることができるかどうかを判定することができる。いくつかの例では、衛星は、要求された時間中に１つ以上の他のソフトウェアアプリケーションによって既に使用されているか、または衛星は、要求された期間中にソフトウェアアプリケーションによって要求される必要な地理的領域を網羅しないことから、地上制御システム１７０は、現在展開されている衛星を使用して適合されることができる要求量を示すパーセンテージ、比率、またはいくつかの他のスコア値を判定することができる。例えば、現在の衛星が太平洋の最北部をカバーしていなくても、衛星が海の残りの部分をカバーすることができる場合、地上制御システムは、海全体をターゲットにするアプリケーションをサポートするために衛星によってカバーすることができる海のパーセンテージを示すことができる。代替例では、ソフトウェアアプリケーションについての１００パーセントのカバレッジ未満であるパーセンテージは、要求に適合するパーセンテージがより高い他のオプションよりも低いコストを提供することができる。したがって、開発者は、予算に適合させるためにより低いパーセンテージの適合を選択することができるが、アプリケーションについての展開要件の全てが衛星プラットフォームによってサポートされるわけではないことがある。
【００４８】
管理者が完全ではない適合オプションを承認した場合、地上制御システム１７０は、衛星プラットフォーム内の１つ以上の仮想ノードとしてソフトウェアアプリケーションを展開することができる（４０４）。対照的に、管理者が完全でない適合オプションを承認しない場合、地上制御システム１７０は、開発者がソフトウェアアプリケーションをサポートするために新たな衛星を望むかどうかを判定することができる（４０５）。開発者が新たな衛星を望む場合、地上制御システム１７０は、衛星１８１などの新たな衛星を展開することができ（４０６）、軌道上の現在の衛星および開発者によって要求された追加の新たな衛星に対して１つ以上の仮想ノードとしてソフトウェアアプリケーションを展開することができる。いくつかの例では、展開される衛星は、定義されたセンサおよび処理構成を有する定義されたフォームファクタとして展開されてもよい。他の例では、ソフトウェアアプリケーションの開発者は、修正を加え、新たな衛星として展開されるべきハードウェア（処理システム、センサなど）を選択することができる。いくつかの実施形態では、開発者は、最初に現在軌道上にある衛星に対してソフトウェアアプリケーションを展開し、さらに軌道に打ち上げられるときに新たな衛星に対してソフトウェアアプリケーションを展開することができる。他の実施形態では、開発者は、新たな衛星が軌道に乗るまでアプリケーションの展開を遅延させ、新たな衛星が展開されるとアプリケーションを衛星プラットフォームに対して展開することができる。
【００４９】
代替として、開発者がソフトウェアアプリケーションの所望の動作を提供するために新たな衛星を選択しない場合、地上制御システム１７０は、開発者がアプリケーション展開要件を修正すること（４０７）または衛星プラットフォームへのアプリケーション展開をキャンセルすることを可能にすることができる。
【００５０】
図５は、実施形態にかかるソフトウェアアプリケーションについての展開要件を提供するためのユーザインターフェース５００を示している。ユーザインターフェース５００は、関心のある地理的領域５１０、関心のある時間５２０、撮像センサ要件５３０、および他のセンサ要件５４０のためのドロップダウンメニューを含む。撮像センサ要件５３０は、センサ５３１〜５３３を含むが、任意の数のセンサがドロップダウンメニューにおいて利用可能にされることができることが理解されるべきである。この例では４つのドロップダウンメニューを用いて示されているが、任意の数のドロップダウンメニューが同様の操作を提供することができることが理解されるべきである。
【００５１】
本明細書に記載されているように、周回軌道衛星プラットフォームにアプリケーションを展開するために、開発者は、アプリケーションについての展開要件を提供することを要求されることができる。ここでは、アプリケーションについての様々な要件を選択するための様々なドロップダウンメニューがユーザに提供される。ユーザが要件を選択すると、ユーザは、送信機能５５０を使用してソフトウェアアプリケーションについての衛星リソースの利用可能性を判定することができる。要件を提出した後、地上制御システムは、衛星プラットフォームにおける衛星リソースの利用可能性を判定し、展開要件および衛星利用可能性に基づいてユーザに提供されるべきオプションを判定することができる。
【００５２】
ソフトウェアアプリケーションについての要件を選択するためのドロップダウンメニューを提供するものとしてユーザインターフェースの例で説明したが、衛星環境におけるリソースの利用可能性を判定するために他のユーザインターフェース要素が開発者に提供されることができることが理解されるべきである。これらのユーザインターフェース要素は、複数の選択肢、自然言語入力フォーム、または他の何らかの同様のユーザ入力要素を含むことができる。例えば、ユーザには、ユーザがソフトウェアアプリケーションについての自然言語要件を入力することを可能にするテキストボックスが提供されることができる。一旦提供されると、地上制御システムは、自然言語入力を処理し、アプリケーションについての展開要件を抽象化することができる。
【００５３】
図５の例ではセンサ要件を提供するものとして示されているが、ユーザはまた、衛星用の処理システムおよび／または通信インターフェース要件も提供することができることが理解されるべきである。例えば、１つ以上の衛星を使用して第１の地理的位置から第２の地理的位置への通信を提供して２つの位置間の通信を転送するためにアプリケーションが使用されることができる。
【００５４】
図６は、実施形態にかかるソフトウェアアプリケーションの展開６００を示している。展開６００は、地上制御システム６０５、開発者６１５、選択された衛星６４１を有する展開された衛星６４０、および新たな衛星６４２を含む。展開された衛星６４０は、衛星６１０〜６１５を含み、開発者による要求の時点で軌道上で利用可能な衛星を表す。新たな衛星６４２は、衛星６２０〜６２１を含み、開発者からの要求後の将来の時点で軌道に乗せることができる衛星を表す。選択された衛星６４１における３つの衛星とともに示されているが、ソフトウェアアプリケーションの動作を提供するために任意の数の現在の衛星が選択されることができることが理解されるべきである。
【００５５】
展開６００の例では、地上制御システム６０５は、ステップ１のユーザインターフェースを介して、開発者６１５が衛星プラットフォームにソフトウェアアプリケーションを展開するための１つ以上のオプションを提供する。これらのオプションは、現在展開されている衛星を使用して開発者の展開要件を完全にサービスを提供することができるオプション、現在展開されている衛星を使用して展開要件の一部を提供することができる少なくとも１つのオプション、現在展開されている衛星および新たに展開された衛星を使用して開発者の展開要件を完全にサービスを提供することができるオプション、または他の同様のオプションを含むことができる。一旦供給されると、開発者６１５は、ステップ２において、現在展開中の衛星６４０および新たな衛星６４２の組み合わせを要求するオプションを選択することができる。開発者６１５からの選択を受信した後、地上制御システム６０５は、ステップ３において、ソフトウェアアプリケーションの展開についての衛星を識別することができ、衛星は、動作の残りの部分を提供するための新たな衛星とともに、少なくとも部分的にアプリケーションの動作にサービスを提供することができる現在展開されている衛星を含む。一旦識別されると、ステップ４において、地上制御システム６０５から選択された衛星６４１まで仮想ノードとしてアプリケーションが展開されることができるとともに、新たな衛星６４２が作成されて軌道に展開され、必要なアプリケーション用のプラットフォームを提供する。
【００５６】
いくつかの実施形態では、新たな衛星６４２を識別する際に、衛星は、アプリケーションについての処理システムおよびセンサを備える定義済みのフォームファクタを含むことができる。他の実施形態では、開発者６１５は、新たな衛星に必要とされる処理システムおよび／またはセンサを定義することができる。特に、開発者は、任意の撮像センサ、温度センサ、処理システム、または任意の他の同様の処理システムまたはセンサ属性を定義することができる。一旦定義されると、衛星は、生成され、所望の動作を提供するために軌道に打ち上げられることができる。いくつかの例では、アプリケーションを展開する際に、アプリケーションは、全ての新たな衛星が軌道に打ち上げられるまで展開を保持することができるが、アプリケーションは、いくつかの例では衛星６２０〜６２１の打ち上げ前に衛星６１３〜６１５を使用して初期動作を提供することができることが理解されるべきである。
【００５７】
図７は、実施形態にかかるオプションユーザインターフェース７００を示している。オプションユーザインターフェースは、完全展開要件７１０、部分展開要件７１１〜７１２、および新たな衛星７１３を介した完全展開に関する選択可能なオプションを含む。この例では、４つのオプションが提供されているが、より多くのまたはより少ないオプションが提供されてもよいことが理解されるべきである。例えば、アプリケーション展開時に展開されるであろう衛星を使用して完全展開が不可能である場合、完全展開要件７１０のオプションは、開発者に提供されなくてもよい。
【００５８】
ここで、アプリケーションの開発者がソフトウェアアプリケーションについての展開要件を提供すると、地上制御システムは、開発者にアプリケーションを衛星プラットフォームに展開するためのオプションを提供することができる。特に、地上制御システムは、アプリケーションに必要とされる期間中に衛星上のリソースについての利用可能性属性を識別することができる。一旦識別されると、地上制御システムは、利用可能性情報およびアプリケーションの展開要件に基づいてユーザのためのオプションを判定し、ユーザインターフェースを介して開発者にそのオプションを提供することができる。
【００５９】
ここでは、開発者向けに４つのオプションが識別される。第１のオプションである完全展開要件７１０は、全ての展開要件を提供しながらソフトウェアアプリケーションがプラットフォームに展開されることを可能にし、第１のコスト７２０に関連付けられる。第２の２つのオプションである部分展開要件７１１〜７１２は、展開要件の一部を提供しながらソフトウェアアプリケーションがプラットフォームに展開されることを可能にし、コスト７２１〜７２２および制限７３１〜７３２に関連付けられる。いくつかの例では、コスト７２１〜７２２は、コスト７２０よりも低いコストを含むことができ、開発者のための予算を維持しながら、開発者のために適切な動作を提供することができる。この例では、コスト７２１〜７２２に加えて、オプション７１１および７１２は、展開オプションを使用して実現できない開発者によって指定された展開要件の制限または部分を表す制限７３１〜７３２をさらに含む。例えば、開発者が夏季の間にヨーロッパ大陸にわたってトラックを追跡したい場合、制限は、アプリケーションが特定の期間中に完全な動作を提供できなかった場合の時間制限、１つ以上の地理的位置が監視できなかった場合の位置制限、またはそれらの組み合わせを含む他の同様の制限を含むことができる。
【００６０】
ユーザインターフェース７００の例における最後のオプションは、コスト７２３と、もしあれば制限７３３とを含む、新たな衛星７１３を用いた展開である。ここで、ソフトウェアアプリケーションに現在利用可能な衛星に頼るのではなく、開発者は、プラットフォームに新たな衛星を導入してソフトウェアアプリケーションの適切な動作を提供することを選択することができる。したがって、現在の衛星展開に加えて、またはその代わりにいくつかの例では、開発者は、ソフトウェアアプリケーションのために新たな衛星を打ち上げることを選択することができる。この衛星は、いくつかの例では、プロセッサ、センサなどの事前定義された構造を含むことができ、あるいは開発者によって選択され且つアプリケーションをターゲットとするコンポーネントを含むことができる。しかしながら、オプション７１３に関連付けられたコスト７２３は、オプション７１０〜７１２よりも大きくなる可能性があり、したがって、特定の予算を有する開発者にとっては望ましくない可能性がある。いくつかの例では、新たな衛星による展開は、現在展開されている衛星にアプリケーションを一時的に提供し、次いで新たな衛星が軌道上にあるときに、アプリケーションの動作を新たに展開された衛星に追加することを含むことができる。
【００６１】
この例では、コストおよび制限とともに示されているが、コストおよび制限情報に加えて、またはその代わりに他の情報が提供されてもよいことが理解されるべきである。例えば、地上制御システムは、オプションのそれぞれについて適合スコアを生成し、ユーザがアプリケーションについての選択を行うのを支援するためにオプションとともに適合スコアを提供することができる。
【００６２】
図８は、実施形態にかかる新たな衛星を設計するための地上制御システムの動作を示している。図８の動作は、地上制御システム１７０または他の何らかの同様の地上制御システムを介して提供されてもよい。
【００６３】
本明細書に記載されるように、衛星プラットフォームにおいてソフトウェアアプリケーションを実装するためのオプションがユーザに提供されると、プラットフォームの現在利用可能な衛星は、所望の動作を提供することができない可能性がある。その結果、ユーザは、所望の動作を提供するために少なくとも１つの新たな衛星を生成するためのオプションを選択することができる。例えば、現在の衛星が所望の地理的領域を網羅していなかった場合には、その地理的領域をカバーするために新たな衛星が展開されることができる。
【００６４】
ここで、ユーザが少なくとも１つの新たな衛星を要求すると、地上制御システムは、開発者が少なくとも１つの新たな衛星に実装されるためのハードウェアオプションを提供する（８０１）。いくつかの例では、ハードウェアオプションは、ユーザに提供される展開要件に基づいて決定される。例えば、開発者が特定の撮像センサを必要とする場合、開発者に提供されるハードウェアは、必要なセンサを含むことができる。ユーザが衛星を使用して監視されるべき品目の種類（トラック、船、天気など）を提供する場合などの他の実施形態では、地上制御システムは、監視に使用可能なセンサの種類を決定することができ、開発者にセンサを提案することができる。したがって、アプリケーションに関するサイズ、カバレッジエリア、および他の同様の要件に基づいて、地上制御システムが使用され、アプリケーションの所望の目的を適切な新たなセンサに合わせることができる。
【００６５】
オプションが開発者に利用可能になると、動作は、さらに、少なくとも１つの新たな衛星についてのハードウェアを選択するユーザ入力を受信する（８０２）。いくつかの例では、入力を受信するために、ユーザには、ドロップダウンメニュー、複数の選択肢、または他の何らかの同様の選択機構が提供されてもよく、ユーザは、様々なセンサ、処理システムオプション、または任意の他の同様のオプションを選択することができる。ハードウェアを選択した後、地上制御システムは、次に、ユーザ入力に基づいて衛星構成を生成することができる（８０３）。いくつかの例では、新たなハードウェアによって生成された衛星は、サイズおよび形状の制約を満たさなければならない。その結果、地上制御システムは、開発者によって選択されたハードウェアが要求された制約内で実装されることができることを確実にするためにハードウェアについての位置決めおよびレイアウト情報を判定することを要求されることができる。
【００６６】
少なくとも一実施形態では、開発者が衛星に必要なハードウェアについて選択を行うときに、コスト見積もりが開発者に提供されることができる。例えば、開発者が１つの撮像センサを他の撮像センサよりも選択した場合、選択されたセンサを反映するようにコストが修正されることができる。さらに、いくつかの実施形態では、衛星についてのハードウェアの選択中に、提供されたハードウェアを展開するためにより大きな衛星プラットフォームまたはロケットが必要かどうかを示す指示が行われることができる。また、開発者が第２の撮像センサよりも第１の撮像センサを選択した場合、地上制御システムは、第２の撮像センサよりも第１の撮像センサをサポートするためにより大きな衛星が必要であることを示すことができる。
【００６７】
図９は、実施形態にかかるソフトウェアアプリケーションの展開の管理の概要９００を示している。概要９００は、動作要件９１０、軌道および打ち上げオプション９２０、ならびに展開のためのコストおよびスケジューリング９３０を含む。
【００６８】
図示のように、アプリケーションを衛星プラットフォームに展開するために、アプリケーションの開発者は、動作要件９１０を提供することが要求されることができ、要件は、ミッション設計（アプリケーションによって実行されることが望まれる動作）、ペイロード選択（開発者向けに展開された特定のアプリケーションの選択）、車両仕様（衛星のハードウェアの選択）、またはクラスタ構成オプション（アプリケーションについての状態交換特性および／または地理的要件の識別）、あるいはそれらの組み合わせを含む。特性が判定されると、軌道および打ち上げオプション９２０が開発者に提供されることができ、打ち上げオプションは、現在軌道を周回している衛星に関するオプションを含むことができ、さらにプラットフォームへの１つ以上の新たな衛星の追加をもたらすオプションを含むことができる。オプションを提供した後、展開動作９３０についてのコストおよびスケジュールは、オプションの選択を受信し、そのオプションにコストを割り当て、アプリケーションの展開をスケジューリングすることができる。
【００６９】
この実施形態では別々のものとして示されているが、軌道および打ち上げオプションの時点でコストが計算されることができることが理解されるべきである。したがって、開発者は、特定のオプションに関連するコストに基づいて特定のオプションを選択することができる可能性がある。
【００７０】
図１０は、実施形態にかかるアプリケーションの展開１０００を示している。展開１０００は、衛星１０１０〜１０１２、地上制御システム１０３０、および地理的領域１０５０を有する地球１０４０を含む。この例には３つの衛星が含まれているが、衛星プラットフォームとして任意の数の衛星が展開されることができることが理解されるべきである。
【００７１】
本明細書で説明されるように、衛星プラットフォームに展開されるべきアプリケーションをスケジューリングするとき、アプリケーションの開発者は、アプリケーションについての展開要件を提供することが要求されることができる。これらの展開要件は、ミッション設計、ペイロード選択またはアプリケーション選択、クラスタ構成（衛星間で要求される状態通信）、車両仕様、またはアプリケーションについての他の何らかの同様の展開要件情報を含むことができる。少なくとも一例では、開発者は、関心のある地理的領域をカバーし、関心のある地理的領域内の特定のオブジェクトを識別するアプリケーションを望むことができる。この実施形態では、展開１０００は、地理的領域１０５０内のトラックを識別するために衛星プラットフォームにアプリケーションを展開する。展開のために衛星を選択するために、開発者は、地理的領域とその領域内で監視されるべきオブジェクトを示す要件を供給することができる。入力に応答して、地上制御システム１０３０は、要件をサポートするためにプラットフォームの衛星の利用可能性を識別することができ、利用可能性は、センサおよび処理システムの利用可能性を含むことができ、地理的領域および軌道の利用可能性も含むことができる。特に、衛星プラットフォームの衛星は、静止軌道では動作しない可能性があるので、１つの衛星が地理的領域に対して連続的な動作を提供することができないとき、衛星は、状態情報を交換することが要求されることができる。したがって、ユーザ入力に基づいて、地上制御システム１０３０は、その軌道が地理的領域をカバーする衛星についての処理およびセンサの利用可能性を識別し、利用可能性情報に基づいてスケジューリングオプションを判定することができる。オプションが選択されると、アプリケーションは、その選択に関連する衛星に供給されてもよく、そのアプリケーションは、同じ衛星上の他のアプリケーションとともに仮想ノードとして動作してもよい。
【００７２】
ここで、衛星１０１０〜１０１２は、地球１０４０の周りを周回しており、衛星１０１０は、ステップ１において、地理的領域１０５０に関する第１のセンサデータを識別する。データが識別され、軌道が衛星１０１０を地理的領域１０５０のセンサ範囲から外すと、衛星１０１０は、ステップ２において、センサデータを衛星１０１１に転送する。例えば、オブジェクト１０５５が衛星１０１０に関するセンサデータを使用して識別された場合、衛星１０１０は、衛星１０１１がオブジェクトの監視を維持することができるように、オブジェクト１０５５についての全地球測位情報を提供することができる。一旦受信されると、衛星１０１１は、ステップ３において、地理的領域１０５０に関する第２のセンサデータを識別し、ステップ４において、衛星１０１１の軌道が地理的領域１０１１から衛星１０１１を外すときにセンサデータを衛星１０１２に転送する。同様に、このセンサデータは、オブジェクト１０５５についての位置情報、オブジェクト１０５５についての速度もしくは速さ情報、またはオブジェクト１０５５に関する任意の他の同様の情報を含むことができる。さらに、衛星１０１１は、地理的領域１０５０内の任意の追加のオブジェクトを識別することができる。
【００７３】
衛星１０１２において受信されると、衛星１０１２は、ステップ５において、地理的領域に関する任意の追加のセンサデータを識別することができ、この例では、状態データ（処理済みおよび／または未処理のセンサデータを含む）を地上制御システム１０３０に提供することができる。この例では、地上制御システム１０３０にセンサデータを提供する衛星１０１２として示されているが、衛星１０１０〜１０１２の任意の組み合わせが地上制御システムにセンサデータを提供することができることが理解されるべきである。さらに、この例ではセンサデータを識別する各衛星として示されているにもかかわらず、少なくとも１つの衛星は、アプリケーションについての処理またはセンサの利用可能性のためにアプリケーションについての動作を提供することができない場合があることが理解されるべきである。結果として、いくつかの例では、衛星は、２つの他の衛星間で状態情報を交換するためのアプリケーション専用に使用されることができる。
【００７４】
この例では衛星間でセンサ動作をハンドオフして複数の衛星にわたるアプリケーションの所望の動作を提供するものとして示されているが、複数の衛星にわたるアプリケーションのスケジューリングが追加の動作を提供するために使用されることができることが理解されるべきである。例えば、アプリケーションは、地球上の１つの地理的位置から地球上の第２の地理的位置への通信を提供するために複数の衛星に展開されてもよい。これは、第１の地理的位置にいる当事者が第２の地理的位置にある当事者と迅速に通信することを可能にすることができる。他の例では、地理的領域について単一の衛星を使用するのではなく、複数の衛星が協調して領域に関する動作を提供してもよい。図１０の例を参照すると、衛星１０１０〜１０１１が同時に地理的領域１０５０を超えていた場合、衛星は、地理的領域に関するデータを交換することができる。例えば、衛星１０１０がオブジェクトを識別した場合、衛星１０１０は、衛星１０１１が同じオブジェクトに関する動作を提供することができるように、地理的位置情報を衛星１０１１に提供することができる。さらに他の実施形態では、地球上の地理的領域を使用するものとして図１０の例に示されているが、衛星は、電波天文学を提供するために使用されることができることが理解されるべきである。特に、衛星は、その無線受信機の資産またはセンサを使用して、空間内の固定ターゲットから特定の無線信号を適切な時点で収集するように構成されることができる。したがって、単一の衛星を使用する代わりに、衛星は、それらの軌道周回の間に動作をハンドオフして、空間内の慣性ターゲットから情報を検出することができる。
【００７５】
いくつかの実施形態では、衛星上のアプリケーションは、状態情報を他の衛星に転送するために様々な交換トリガを使用することができる。個々の衛星についてのこれらのトリガは、衛星上のアプリケーションによって識別された全地球測位座標、衛星の軌道、衛星によって識別された現在時刻、アプリケーション内のコマンド、衛星内の信号検出もしくはビーコン検出、ネットワークトラフィックデルタ（待ち時間、欠落パケットなど）、衛星上での処理システム使用率、ノード障害、新たなノードの追加、テレメトリ値、または他の何らかの同様のトリガ値に基づくことができる。展開１０００の例を参照すると、衛星１０１０〜１０１２間で通信される状態情報は、衛星の軌道に基づいて、衛星の測定された時間に基づいて、地理的領域１０５０内のオブジェクト１０５５の識別および監視に基づいて、または地理的領域１０５０の監視に基づく他の何らかの同様のトリガに基づいて起こることができる。
【００７６】
図１１は、実施形態にかかるアプリケーションの展開１１００を示している。展開１１００は、衛星１１１０〜１１１２、通信システム１１３０、および地球１１４０を含む。この例には３つの衛星が含まれているが、衛星プラットフォームとして任意の数の衛星が展開されることができることが理解されるべきである。展開１１００は、地球１１４０上の地理的位置間の通信を提供するために使用されることができる通信アプリケーションの例である。
【００７７】
示されるように、衛星１１１０は、通信システム１１３０への通信を識別するように構成され、通信に応答して、衛星１１１０は、通信を１つ以上の他の衛星および／または通信のための第２の宛先通信システムに転送することができる。例えば、通信は、アフリカで開始され、ヨーロッパの宛先通信システムに転送されるように衛星１１１０に送信されてもよい。衛星１１１０が周回し続けると、衛星１１１０は、ステップ２において、衛星１１１１に対してアプリケーションの動作をハンドオフすることができ、ハンドオフは、通信システム１１３０からの信号の欠如に基づくことができ、衛星１１１０の軌道位置に基づくことができ、通信システム１１３０からのデータパケットの待ち時間に基づくことができ、または任意の他の同様のハンドオフトリガに基づくことができる。一旦ハンドオフされると、衛星１１１１は、ステップ３において、通信システム１１３０からの通信を識別し、その通信を少なくとも１つの宛先通信システムに転送するようにアプリケーションを実行することができる。さらに、衛星１１１０と同様に、ハンドオフトリガが検出されると、衛星１１１１は、ステップ４において、通信システム１１３０に通信サポートを提供するためにアプリケーションの動作を衛星１１１２にハンドオフすることができる。
【００７８】
展開１１００の例では通信システム１１３０から通信を受信するように示されているが、アプリケーションはまた、通信を通信システム１１３０に転送することもできることが理解されるべきである。特に、アプリケーション用のアクティブ衛星は、地球１１４０上の第２の衛星または第２の通信システムから通信を受信し、その通信を通信システム１１３０に転送することができる。
【００７９】
図１２は、実施形態にかかる開発コンピューティングシステム１２００を示している。コンピューティングシステム１２００は、地上制御システムに関して本明細書で開示されている様々な動作アーキテクチャ、プロセス、シナリオ、およびシーケンスが実装されることができる任意のコンピューティングシステムまたはシステムを表す。コンピューティングシステム１２００は、図１および図６からの地上制御システムの例であるが、他の例が存在してもよい。コンピューティングシステム１２００は、通信インターフェース１２０１、ユーザインターフェース１２０２、および処理システム１２０３を備える。処理システム１２０３は、通信インターフェース１２０１およびユーザインターフェース１２０２にリンクされている。処理システム１２０３は、処理回路１２０５と、オペレーティングソフトウェア１２０７を記憶するメモリ装置１２０６とを含む。コンピューティングシステム１２００は、明確にするために示されていない、電池、電源、および筐体などの他の周知の構成要素を含むことができる。コンピューティングシステム１２００は、１つ以上のサーバコンピューティングシステム、デスクトップコンピューティングシステム、ラップトップコンピューティングシステム、タブレット、またはそれらの組み合わせを含むいくつかの他のコンピューティングシステムを表すことができる。
【００８０】
通信インターフェース１２０１は、ネットワークカード、ポート、無線周波数（ＲＦ）、処理回路およびソフトウェア、あるいはいくつかの他の通信装置などの通信リンクを介して通信する構成要素を備える。通信インターフェース１２０１は、メタリックリンク、無線リンク、または光リンクを介して通信するように構成されることができる。通信インターフェース１２０１は、時分割多重（ＴＤＭ）、インターネットプロトコル（ＩＰ）、イーサネット（登録商標）、光ネットワーキング、無線プロトコル、通信シグナリング、またはそれらの組み合わせを含む−いくつかの他の通信フォーマットを使用するように構成されることができる。いくつかの実施形態では、通信インターフェース１２０１は、アプリケーション、更新、および他の設定情報を提供するために衛星プラットフォームの衛星と通信するように構成されることができ、さらに各アプリケーションのプロセスの状態に関する状態情報および各アプリケーションのデータを衛星から受信するように構成されることができる。
【００８１】
ユーザインターフェース１２０２は、ユーザと対話してユーザ入力を受信し、媒体および／または情報を提示する構成要素を備える。ユーザインターフェース１２０２は、スピーカ、マイクロフォン、ボタン、ライト、ディスプレイスクリーン、タッチスクリーン、タッチパッド、スクロールホイール、通信ポート、またはそれらの組み合わせを含む−いくつかの他のユーザ入出力装置を含むことができる。いくつかの例では、ユーザインターフェース１２０２は省略されてもよい。いくつかの実施形態では、ユーザインターフェース１２０２が使用され、新たなソフトウェアアプリケーションについての展開利用可能性情報を提供することができ、さらに衛星プラットフォーム内に新たなソフトウェアアプリケーションを展開するための開発者の選択を受信するために使用されることができる。
【００８２】
処理回路１２０５は、マイクロプロセッサと、メモリ装置１２０６からオペレーティングソフトウェア１２０７を取得して実行する他の回路とを備える。メモリ装置１２０６は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実装された揮発性および不揮発性、取り外し可能および取り外し不能の媒体を含むことができる。メモリ装置１２０６は、単一の記憶装置として実装されてもよいが、複数の記憶装置またはサブシステムにわたって実装されてもよい。メモリ装置１２０６は、オペレーティングソフトウェア１２０７を読み取るためのコントローラなどの追加の要素を備えることができる。記憶媒体の例には、ランダムアクセスメモリ、読み取り専用メモリ、磁気ディスク、光ディスク、およびフラッシュメモリ、ならびにそれらの任意の組み合わせまたは変形形態、あるいは任意の他の種類の記憶媒体が含まれる。いくつかの実施形態では、記憶媒体は、非一時的記憶媒体とすることができる。場合によっては、記憶媒体の少なくとも一部は、一時的なものとすることができる。記憶媒体が伝搬信号であることは決してないことが理解されるべきである。
【００８３】
処理回路１２０５は、通常、メモリ装置１２０６ならびに通信インターフェース１２０１およびユーザインターフェース１２０２の一部も保持することができる回路基板上に搭載される。オペレーティングソフトウェア１２０７は、コンピュータプログラム、ファームウェア、またはいくつかの他の形態の機械可読プログラム命令を含む。オペレーティングソフトウェア１２０７は、入力モジュール１２０８、リソースモジュール１２０９、およびオプションモジュール１２１０を含むが、任意の数のソフトウェアモジュールが同じ動作を提供してもよい。オペレーティングソフトウェア１２０７は、オペレーティングシステム、ユーティリティ、ドライバ、ネットワークインターフェース、アプリケーション、またはいくつかの他の種類のソフトウェアをさらに含むことができる。処理回路１２０５によって実行されると、オペレーティングソフトウェア１２０７は、処理システム１２０３に、本明細書で説明されるようにコンピューティングシステム１２００を動作させるように指示する。
【００８４】
少なくとも１つの実施形態では、入力モジュール１２０８は、ソフトウェアアプリケーションについての展開要件を示すユーザ入力を受信するように処理システム１２０３に指示する。この入力は、ドロップダウンメニュー、複数の選択肢、自然言語入力、またはユーザインターフェース１２０２を介した他の何らかの同様の入力方法を介して提供されてもよい。展開要件を識別することに加えて、リソースモジュール１２０９は、複数の衛星内のリソースの利用可能性を識別するように処理システム１２０３に指示する。これらのリソースは、各衛星で利用可能な処理リソース、通信リソース、およびセンサリソースを含むことができ、各衛星に割り当てられた現在のスケジューリング、ならびに衛星から状態情報を介して提供されることができる負荷レポートに基づいて判定されることができる。展開要件およびリソースの利用可能性が判定されると、オプションモジュール１２１０は、展開要件および複数の衛星におけるリソースの利用可能性に基づいてソフトウェアアプリケーションの展開のための展開オプションを判定し、ソフトウェアアプリケーションの開発者に対して展開オプションを提供するように、処理システム１２０３に指示することができる。
【００８５】
いくつかの例では、展開オプションを判定するための動作は、展開要件のうちの各展開要件が複数の衛星を介して満たされることができるかどうかを判定することを含むことができる。各展開要件が満たされることができる場合、各展開要件を満たすことでソフトウェアアプリケーションが展開されることができることを示すオプションが提供される。さらに、展開要件の少なくとも一部が満たされることができる場合、ソフトウェアアプリケーションが制限付きで展開されることができ且つ特定の制限についての情報を提供することができることを示す少なくとも１つのオプションが提供されることができる。例えば、アプリケーションが展開されることができるが、所望の地理的領域の一部のみをカバーする場合、その地理的領域についての制限を示すオプションが提供されることができる。
【００８６】
いくつかの例では、プラットフォームの利用可能な衛星に基づいてオプションを提供することに加えて、オプションモジュール１２１０は、開発者が新たな衛星をプラットフォームに追加することを可能にするオプションをさらに提供することができる。したがって、プラットフォームにおけるいかなる現在の欠陥も克服するために、開発者は、新たな衛星、いくつかの例では新たな衛星についてのハードウェアを展開し、アプリケーションについての新たな衛星を展開することを選択することができる。したがって、いくつかの実施形態では、アプリケーションは、アプリケーションの動作を提供するために、現在利用可能な衛星および新たな衛星をあてにすることができる。
【００８７】
含まれる説明および図は、当業者に最良の選択肢を構成して使用する方法を教示するための特定の実施形態を示している。本発明の原理を教示する目的で、いくつかの従来の態様は、簡略化または省略されている。当業者は、本発明の範囲内に入るこれらの実施形態からの変形形態を理解するであろう。当業者はまた、上述した特徴が様々な方法で組み合わせられて複数の実施形態を形成することができることを理解するであろう。結果として、本発明は、上述した特定の実施形態に限定されるものではなく、特許請求の範囲およびそれらの均等物によってのみ限定される。
【図１】
2019537145.tif 000003
【図２】
2019537145.tif 000004
【図３】
2019537145.tif 000005
【図４】
2019537145.tif 000006
【図５】
2019537145.tif 000007
【図６】
2019537145.tif 000008
【図７】
2019537145.tif 000009
【図８】
2019537145.tif 000010
【図９】
2019537145.tif 000011
【図１０】
2019537145.tif 000012
【図１１】
2019537145.tif 000013
【図１２】
2019537145.tif 000014
【手続補正書】
【提出日】令和1年7月12日(2019.7.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
軌道衛星プラットフォームへのソフトウェアアプリケーションの展開を提供する方法において、
複数の軌道上衛星を含む前記軌道衛星プラットフォームによって、ソフトウェアアプリケーションをホストするための展開要件を示すユーザ入力を受信することと、
前記ソフトウェアアプリケーションをサポートするために、前記複数の軌道上衛星内に存在するリソースの利用可能性を識別することと、
少なくとも、前記展開要件および前記複数の軌道上衛星内に存在するリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての展開オプションを判定することと、
前記展開オプションを、前記ソフトウェアアプリケーションのユーザが開始する展開のためのユーザインターフェースを介して、複数の軌道上衛星における１以上に提供することと、を含む、方法。
【請求項２】
前記展開要件が、関心のある地理的領域、関心のある動作時間、およびセンサ要件を少なくとも含む、請求項１に記載の方法。
【請求項３】
前記複数の軌道上衛星内に存在するリソースの前記利用可能性を識別することは、前記複数の軌道上衛星に亘って、少なくとも仮想化実行リソースおよびセンサリソースの存在を識別することを含む、請求項１に記載の方法。
【請求項４】
前記展開オプションを提供することは、少なくとも前記ソフトウェアアプリケーションを前記複数の軌道上衛星に展開するための第１の展開オプションと、前記ソフトウェアアプリケーションを、前記複数の軌道上衛星の少なくとも１つに加えて前記軌道衛星プラットフォームにまだ展開されてない少なくとも１つの追加の衛星に展開するための第２の展開オプションとを提供することを含む、請求項１に記載の方法。
【請求項５】
さらに、
前記ユーザインターフェースにおいて、前記第１の展開オプションのユーザ選択を受信することと、
前記ユーザ選択に応答して、前記ソフトウェアアプリケーションを前記複数の軌道上衛星における１つ以上の衛星に展開することとを含み、前記ソフトウェアアプリケーションが前記１つ以上の衛星の仮想化実行システム上の仮想ノードとして実行される、請求項４に記載の方法。
【請求項６】
さらに、
前記ユーザインターフェースにおいて、前記第２の展開オプションのユーザ選択を受信することと、
前記ユーザ選択に応答して、前記軌道衛星プラットフォームにまだ展開されてない少なくとも１つの追加の衛星についての構成を識別することとを含む、請求項４に記載の方法。
【請求項７】
前記少なくとも１つの追加の衛星についての構成を識別することは、前記少なくとも１つの追加の衛星についてのハードウェア要件を示す第２のユーザ入力を受信することを含む、請求項６に記載の方法。
【請求項８】
前記展開要件およびリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての前記展開オプションを判定することは、
前記複数の軌道上衛星内に存在する前記リソースの利用可能性に基づいて、前記展開要件の各展開要件が前記複数の軌道上衛星に適合可能かどうかを判定することと、
適合可能となっている各展開要件に少なくとも基づいて、前記展開要件が前記複数の軌道上衛星を介して適合可能であることを示す展開オプションを前記ユーザインターフェースにおいて識別することとを含む、請求項１に記載の方法。
【請求項９】
１つまたはコンピュータ可読記憶媒体と、
前記１つ以上のコンピュータ可読記憶媒体と動作可能に結合する処理システムと、
軌道衛星プラットフォームへのソフトウェアアプリケーションの展開を管理するための、前記１つ以上のコンピュータ可読記憶媒体に記憶されたプログラム命令と、を備えるコンピュータ装置であって、
前記プログラム命令が、前記処理システムによって読み取られて実行されると、少なくとも、
複数の軌道上衛星を含む前記軌道衛星プラットフォームによって、ソフトウェアアプリケーションをホストするための展開要件を示すユーザ入力を受信し、
前記ソフトウェアアプリケーションをサポートするために、前記複数の軌道上衛星内に存在するリソースの利用可能性を識別し、
少なくとも、前記展開要件および前記複数の軌道上衛星内に存在するリソースの前記利用可能性に基づいて、前記ソフトウェアアプリケーションの展開についての展開オプションを判定し、
前記展開オプションを、前記ソフトウェアアプリケーションのユーザが開始する展開のためのユーザインターフェースを介して、複数の軌道上衛星における１以上に提供する
ように、前記処理システムに指示する、コンピュータ装置。
【請求項１０】
前記展開要件が、関心のある地理的領域、関心のある動作時間、およびセンサ要件を少なくとも含む、請求項９に記載のコンピュータ装置。
【請求項１１】
前記複数の軌道上衛星内に存在するリソースの前記利用可能性を識別するための前記プログラム命令が、前記複数の軌道上衛星に亘る少なくとも仮想化実行リソースおよびセンサリソースの存在の利用可能性を識別するように前記処理システムに指示する、請求項９に記載のコンピュータ装置。
【請求項１２】
前記展開オプションを提供するための前記プログラム命令が、少なくとも前記ソフトウェアアプリケーションを前記複数の軌道上衛星に展開するための第１の展開オプションと、前記ソフトウェアアプリケーションを、前記複数の軌道上衛星の少なくとも１つに加えて前記軌道衛星プラットフォームにまだ展開されてない少なくとも１つの追加の衛星に展開するための第２の展開オプションとを提供するように前記処理システムに指示する、請求項９に記載のコンピュータ装置。
【請求項１３】
前記プログラム命令が、さらに、
前記第１の展開オプションのユーザ選択を受信し、
前記ユーザの選択に応答して、前記ソフトウェアアプリケーションを前記複数の軌道上衛星における１つ以上の衛星に展開するように前記処理システムに指示し、前記ソフトウェアアプリケーションが、前記１つ以上の衛星の仮想化実行システム上の仮想ノードとして実行される、請求項１２に記載のコンピュータ装置。
【請求項１４】
前記プログラム命令が、さらに、
前記第２の展開オプションのユーザ選択を受信し、
前記ユーザ選択に応答して、前記軌道衛星プラットフォームにまだ展開されてない少なくとも１つの追加の衛星についての構成を識別するように前記処理システムに指示する、請求項１２に記載のコンピュータ装置。
【請求項１５】
前記少なくとも１つの追加の衛星について前記構成を識別するための前記プログラム命令が、前記少なくとも１つの追加の衛星についてのハードウェア要件を示す第２のユーザ入力を識別するように前記処理システムに指示する、請求項１４に記載のコンピュータ装置。
【請求項１６】
前記展開要件およびリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての前記展開オプションを判定するための前記プログラム命令が、
前記展開要件の各展開要件が、前記複数の軌道上衛星内のリソースの前記利用可能性に基づいて前記複数の軌道上衛星によって適合可能であるかどうかを判定し、
適合可能となっている各展開要件に少なくとも基づいて、前記展開要件が前記複数の衛星を介して適合可能であることを示す第１の展開オプションを前記ユーザインターフェース内に示し、
前記第１の展開オプションのユーザ選択を受信し、
前記ユーザ選択に応答して、前記ソフトウェアアプリケーションを前記複数の軌道上衛星における１つ以上の衛星に展開し、前記ソフトウェアアプリケーションが前記１つ以上の衛星の仮想化実行システム上の仮想ノードとして実行される、
ように前記処理システムに指示する、請求項９に記載のコンピュータ装置。
【請求項１７】
前記プログラム命令が、さらに、前記ユーザインターフェースを介して受信した前記ソフトウェアアプリケーションについての予算要件を識別し、
少なくとも、前記展開要件および前記複数の軌道上衛星内のリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての前記展開オプションを判定し、そして、前記予算要件、展開要件、および前記複数の軌道上衛星内のリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての前記展開オプションを判定するように前記処理システムに指示する、請求項９に記載のコンピュータ装置。
【請求項１８】
１つまたはコンピュータ可読記憶媒体と、
軌道衛星プラットフォームへのソフトウェアアプリケーションの展開を管理する前記１つ以上のコンピュータ可読記憶媒体に記憶されたプログラム命令とを備える装置であって、前記プログラム命令が、処理システムによって読み取られて実行されると、少なくとも、
複数の軌道上衛星を備える前記軌道衛星プラットフォーム上に展開されるソフトウェアアプリケーションの展開要件を示すユーザ入力を受信し、前記ソフトウェアアプリケーションは、前記衛星プラットフォームによって提供されたセンサリソースを使用する地上ベースの活動の軌道上監視のための１又は複数の機能を備え、
前記地上ベースの活動の軌道上監視のための１又は複数の機能をサポートするために、複数の軌道上衛星内に存在する少なくとも前記センサリソースの利用可能性を識別し、
前記１又は複数の機能を実現するように前記ソフトウェアアプリケーションの前記衛星プラットフォーム上への展開についての展開オプションを判定し、前記１又は複数の展開オプションは、前記展開要件、および、前記地上ベースの活動を監視するための複数の軌道上衛星に存在する前記センサリソースの利用可能性に少なくとも基づいて判定され、
少なくとも、全ての前記展開要件を実現することが可能となっている前記衛星プラットフォームによって提供されたセンサリソースを示す利用可能性に基づいて、前記展開要件を実現するために、前記複数の軌道上衛星の少なくとも１つに前記ソフトウェアアプリケーションを展開するために、少なくとも第１の展開オプションをユーザに提示のために提供する、
ように、前記処理システムに指示する、装置。
【請求項１９】
前記展開要件が、前記衛星プラットフォームによって提供された前記センサリソースを使用して前記地上ベースの活動を監視することについて関心のある地理的領域、前記地上ベースの活動を監視するために関心のある動作時間、および前記地上ベースの活動を監視するためのセンサ要件を少なくとも含む、請求項１８に記載の装置。
【請求項２０】
前記プログラム命令が、さらに、
前記ユーザ入力を介して受信した予算要件を識別し、
前記予算要件、展開要件、および、軌道上のセンサリソースの前記利用可能性に少なくとも基づいて展開についての前記展開オプションを判定する、ように前記処理システムに指示する、請求項１８に記載の装置。
【国際調査報告】
2019537145.tif 000015