JP6633816B2 - 衛星プラットフォームにおけるソフトウェアアプリケーション展開のオーケストレーション - Google Patents

衛星プラットフォームにおけるソフトウェアアプリケーション展開のオーケストレーション Download PDF

Info

Publication number
JP6633816B2
JP6633816B2 JP2019526002A JP2019526002A JP6633816B2 JP 6633816 B2 JP6633816 B2 JP 6633816B2 JP 2019526002 A JP2019526002 A JP 2019526002A JP 2019526002 A JP2019526002 A JP 2019526002A JP 6633816 B2 JP6633816 B2 JP 6633816B2
Authority
JP
Japan
Prior art keywords
deployment
satellite
satellites
software application
requirements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019526002A
Other languages
English (en)
Other versions
JP2019537145A (ja
Inventor
コールマン,シャウン
ディー. ガーバー,ダレン
ディー. ガーバー,ダレン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vector Launch Inc
Original Assignee
Vector Launch Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vector Launch Inc filed Critical Vector Launch Inc
Publication of JP2019537145A publication Critical patent/JP2019537145A/ja
Application granted granted Critical
Publication of JP6633816B2 publication Critical patent/JP6633816B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)

Description

[関連出願の相互参照]
本出願は、その全体が参照することにより本明細書に組み込まれる2016年11月16日に出願された「衛星プラットフォームにおけるソフトウェアアプリケーション展開のオーケストレーション」と題する米国特許出願第15/353,411号の利益および優先権を主張する。
衛星は、軍事および民間の観測業務、通信業務、ナビゲーション業務、気象業務、ならびに研究業務などの様々な宇宙ベースの業務を提供するために軌道に展開されることができる。衛星は、所望のタスクを実行するために使用される様々なセンサおよび通信機器を含むことができる。例えば、気象衛星は、地球の画像を撮像するために使用することができる1つ以上のカメラまたは撮像センサ、およびその画像を地球上の制御システムに通信するために使用することができる通信機器を含むことができる。衛星は、これらの特殊な動作を実行するように構成されることができるが、衛星は、作製して軌道に投入するには高価であり、特に多数のセンサを有する衛星全体の使用を必要としなくてもよい、または衛星において連続動作を必要としなくてもよい組織にとっては高価である。その結果、組織は、衛星の使用を避け、有望な衛星技術の使用を制限する可能性がある。
本明細書に開示される技術は、衛星プラットフォームにおける衛星に対してソフトウェアアプリケーションを展開するための機能強化を提供する。一実施形態では、方法は、ソフトウェアアプリケーションについての展開要件を示すユーザ入力を受信することと、衛星プラットフォームとして展開された複数の衛星内のリソースの利用可能性を識別することとを含む。方法は、さらに、展開要件および複数の衛星内のリソースの利用可能性に基づいてソフトウェアアプリケーションの展開についての展開オプションを判定することと、展開オプションをソフトウェアアプリケーションの開発者に提供することとを提供する。
この発明の概要は、技術的開示において以下にさらに説明される概念の選択を単純化された形態で紹介するために提供される。この発明の概要は、特許請求される主題の主要な特徴または本質的な特徴を特定することを意図するものではなく、特許請求される主題の範囲を限定するためにも使用されるべきではないことが理解されるべきである。
本開示の多くの態様は、以下の図面を参照してより良好に理解されることができる。これらの図面に関連していくつかの形態が説明されるが、本開示は、本明細書に開示された形態に限定されるものではない。それどころか、その意図は、全ての代替例、変更例、および均等物を網羅することである。
実施形態にかかる衛星環境を示している。
実施形態にかかる仮想ノード用のプラットフォームを提供することができる衛星の拡大図を示している。
実施形態にかかるソフトウェアアプリケーションについての展開オプションを提供するための地上制御システムの動作を示している。
実施形態にかかるソフトウェアアプリケーションについての展開オプションを提供するための地上制御システムの動作を示している。
実施形態にかかるソフトウェアアプリケーションについての展開要件を提供するためのユーザインターフェースを示している。
実施形態にかかるソフトウェアアプリケーションの展開を示している。
実施形態にかかるオプションユーザインターフェースを示している。
実施形態にかかる新たな衛星を設計するための地上制御システムの動作を示している。
実施形態にかかるソフトウェアアプリケーションの展開の管理の概要を示している。
実施形態にかかるアプリケーションの展開を示している。
実施形態にかかるアプリケーションの展開を示している。
実施形態にかかる開発コンピューティングシステムを示している。
本明細書に開示される様々な例は、衛星ハードウェアおよびソフトウェア技術に対する機能拡張を提供する。特に、本明細書に開示される例は、周回軌道衛星プラットフォームにソフトウェアアプリケーションを展開するためのシステムおよび方法を提供し、各ソフトウェアアプリケーションは、同じ衛星に展開される1つ以上の他のアプリケーションとリソースを共有することができる仮想ノードとして実行する。これらの仮想ノードは、いくつかの例ではフルオペレーティングシステム仮想マシンを含むことができ、さらに仮想コンテナを含むことができる。これらのコンテナは、Dockerコンテナ、Linux(登録商標)コンテナ、jail、またはホストシステムからのリソースの効率的な管理を提供することができる他の同様のタイプの仮想コンテインメントノードを含むことができる。コンテナによって使用されるリソースは、ホストコンピューティングシステムからのカーネルリソースを含むことができ、ホスト上で実行される他のコンテナまたはプロセスと共有されることができるリポジトリおよび他の承認されたリソースをさらに含むことができる。しかしながら、リソースは、ホスト衛星上のコンテナ間で共有されることができるものの、コンテナは、独自の識別子空間、ファイルシステム構造、およびネットワークインターフェースを使用してオペレーティングシステムに対するプライベートアクセスを有するようにプロビジョニングされる。
この例では、衛星プラットフォームを提供するために、複数の衛星が展開されることができ、組織は、アプリケーションを生成し、そのアプリケーションを衛星に展開して所望の動作を実行することができる。動作は、軍事および民間の観測業務、通信業務、ナビゲーション業務、気象業務、および研究業務を含むことができる。アプリケーションを開発するために、組織が開発ツールを使用してソフトウェアアプリケーションを開発することを可能にする地上制御システムの一部として開発プラットフォームが提供されることができる。ツールを使用して開発されると、アプリケーションは、物理衛星プラットフォームを複製した仮想または物理試験環境で実行されることができる。この試験環境は、ユーザがソフトウェアアプリケーションを1つ以上の試験衛星にアップロードし、アプリケーションを物理衛星クラスタに展開する前にアプリケーションの動作を監視することを可能にすることができる。いくつかの実施形態では、アプリケーションを開発する際に、提供される開発ツールは、アプリケーションが物理衛星によって提供される様々なセンサおよびインターフェースを要求およびアクセスすることを可能にするアプリケーションプログラミングインターフェース(API)またはいくつかの他のコマンド構造を含むことができる。したがって、各ソフトウェアアプリケーションは、異なる動作を実行することができるが、それらは、同様のコマンドを使用して、カメラ、アンテナなどのセンサと対話することができる。
開発ツールおよび試験環境を使用してアプリケーションが開発されると、そのアプリケーションは、周回軌道衛星プラットフォームの1つ以上の衛星に展開されることができる。いくつかの実施形態では、1つ以上の衛星へのアップリンクとして地上制御システムを使用して、1つ以上の衛星のそれぞれにアプリケーションが提供されることができる。他の実施形態では、プラットフォーム内の衛星に対して単一のアップリンクが作成されることができ、衛星は、アプリケーションをプラットフォーム内の他の所望の衛星に配信するように構成される。環境に展開されると、アプリケーションは、割り当てられた衛星上で実行されることができる。
いくつかの実施形態では、各衛星上でのアプリケーションの実行を管理するために、スケジュールが生成されてもよく、スケジュールは、各アプリケーションの処理のスケジューリング、ならびにユーザセンサへの各アプリケーションについてのアクセスを担うことができる。例えば、衛星上の第1のアプリケーションは、第1の期間中に撮像センサへのアクセスを必要としてもよいが、第2のアプリケーションは、第2の期間中に同じセンサへのアクセスを必要としてもよい。衛星に提供されたスケジュールは、定義された期間に基づいて各アプリケーション間のアドレス指定リンクを判定してセンサに割り当てるために使用されてもよい。少なくとも一実施形態では、一度に複数のアプリケーションが同じセンサに割り当てられてもよい。これは、異なる動作を提供するアプリケーションが同じデータを受信するがデータに関して異なる機能を提供することを可能にすることができる。他の実施形態では、単一のアプリケーションは、受信する他のアプリケーションが同時にセンサにアクセスしないことを好むことがある。したがって、スケジュールは、定義された期間中に単一のアプリケーションのみが割り当てられ、またはセンサと通信することができることを保証することができる。
衛星プラットフォームの衛星に提供されるスケジュールを開発するために、利用可能性サービスまたはプラットフォームが使用されることができる。特に、アプリケーションの開発中に、開発者は、アプリケーションにとって関心のある地理的領域、関心のある動作時間、センサ要件、またはそれらの組み合わせを含む他の同様の展開要件を含むことができる展開要件を利用可能性プラットフォームに提供することができる。次に、これらの要件が衛星の利用可能なリソースと比較されることができ、リソースは、各衛星の利用可能な処理、通信、およびセンサリソースを含み、現在の周回軌道衛星によってアプリケーションが適合可能であるかどうかを判定することができる。アプリケーションが現在の周回軌道衛星を介して適合可能な場合、開発者は、現在の衛星を使用してアプリケーションを展開することを選択することができる。他の例では、展開要件の一部のみが適合可能である場合、開発者には、アプリケーションを展開するための1つ以上の追加の選択オプションが提供されることができる。
例えば、現在の衛星プラットフォームが関心のある地理的領域の80パーセントをサポートすることができる場合、オプションは、その80パーセントが開発者にとって適切であったかどうかに基づいて、ユーザがアプリケーションの展開を承認または拒否することを可能にする。したがって、80パーセントが適切である場合、アプリケーションは、そのアプリケーションに所望の動作を提供することができる1つ以上の衛星に展開されることができる。対照的に、80パーセントがアプリケーションに十分でない場合、開発者は、プラットフォームを使用してアプリケーションを展開しないことを選択することができるか、または1つ以上の追加の衛星をプラットフォームに追加して所望の動作を提供することができる。この衛星の追加は、開発者が衛星の様々なセンサおよび処理能力を選択し、それらの動作に必要な軌道に衛星を展開することを可能にすることができる。さらに、一旦展開されると、追加のアプリケーションが新たな衛星に提供されることができ、新たなアプリケーションは、衛星の展開をトリガした元のアプリケーションと衛星の物理的リソースを共有することができる。
いくつかの実施形態では、衛星プラットフォームの衛星は、それぞれ、プラットフォームについての1つ以上の他の衛星および地上制御システムと状態情報を交換することができる。この状態情報は、動作しているタスクまたはプロセスなど、各アプリケーションの現在の動作状態情報を含むことができ、さらに衛星のセンサから少なくとも部分的に生成されたデータを交換することができる。このデータは、ピアグループで使用されることができ、第1の衛星は、第1のデータセットを識別し、そのデータを第2の衛星に提供することができる。そして、第2の衛星は、第2のデータを識別し、アプリケーションによって定義されるような第1および第2のデータを処理することができる。一例として、この動作は、撮像動作において使用されることができ、第1の衛星は、第1の期間にわたってオブジェクトの画像を撮像し、その画像についてのデータを第2の衛星に提供することができる。第2の衛星は、後続の画像を撮像し、第1の画像および後続の画像についてのデータを使用して、オブジェクトに関する判定を下すことができる。これは一例であるが、他の動作は、状態データのピア共有を使用して衛星センサからの測定データに関する特性を識別することができることが理解されるべきである。
図1は、実施形態にかかる衛星環境100を示している。衛星環境100は、衛星110〜113と、衛星120〜123と、地球190と、地上制御システム170と、打ち上げシステム180とを含む。衛星110および120は、第1のピアグループ140に属し、衛星111、112および122は、第2のピアグループ141に属し、ピアグループは、アプリケーション状態およびその上で実行されるアプリケーションについてのデータなどの状態情報を共有するために使用されることができる。衛星110〜113および衛星120〜123は、無線通信リンク130〜132を介して通信する。地上制御システム170は、無線通信リンク135を使用して衛星110〜113および衛星120〜123と通信する。
本明細書に記載されるように、複数の衛星110〜113および120〜123は、複数の異なるソフトウェアアプリケーションについての周回軌道プラットフォームとして打ち上げられて展開されることができる。アプリケーションを生成するために、組織がソフトウェアアプリケーションを生成することを可能にする様々なツールおよびAPIを含むことができる設計プラットフォーム175が提供される。いくつかの実施形態では、設計プラットフォーム175は、衛星のそれぞれで利用可能な選択可能な機能およびインターフェース要素をユーザに提供することができる。機能および利用可能なインターフェース要素を使用して、特定の組織についての開発者または複数の開発者は、所望の動作を実行するソフトウェアアプリケーションを生成することができる。例えば、開発者は、衛星上のカメラを使用して関連オブジェクトの動きを追跡するアプリケーションを生成することができる。
アプリケーションが開発されると、そのアプリケーションは、アプリケーションを衛星プラットフォームに展開する前にアプリケーションを検証および試験するために使用されることができる検証プラットフォーム176に提供されることができる。検証プラットフォーム176は、物理または仮想テストベッドを含むことができ、アプリケーションは、アプリケーションの機能を判定するために1つ以上の試験衛星に展開されることができる。いくつかの実施形態では、機能性を試験することに加えて、検証プラットフォームは、アプリケーションが物理プラットフォーム上で動作することを承認されていることを保証するために、アプリケーションに試験をさらに適用することができる。これらの試験は、限定されるものではないが、アプリケーションが同じ衛星上で実行されることができる他のアプリケーションに対して悪意がないことを確認すること、アプリケーションが衛星の飛行構造または動作を変更しないことを確認すること、データが他の衛星と地上制御システムとの間で適切に通信されることを確認すること、またはアプリケーションの動作を検証するための任意の他の同様の試験を含むことができる。
アプリケーションを開発および検証することに加えて、利用可能性プラットフォーム177は、周回軌道クラスタ内でアプリケーションをスケジュールするために地上制御システム170の一部として使用されることができる。このスケジューリングは、アプリケーションの動作に適用される衛星、各衛星の動作時間、アプリケーションの処理、通信、およびセンサリソース、あるいは衛星プラットフォームに関する他の同様のスケジューリングを判定するために使用されることができる。少なくとも1つの実施形態では、利用可能性プラットフォーム177は、ソフトウェアアプリケーションについての展開要件に関するユーザ入力を受信することができ、展開要件は、関心のある地球上の地理的領域、関心のある動作時間、センサ要件、処理要件、セキュリティ要件、コスト制約、またはそれらの組み合わせを含む他の同様の展開要件を含むことができる。さらに、利用可能性プラットフォーム177は、衛星プラットフォーム内のリソースの利用可能性情報を特定することができ、衛星プラットフォームについての展開要件および利用可能性情報に基づいてソフトウェアアプリケーションの展開のための展開オプションを判定することができる。展開オプションが特定されると、それらは、ソフトウェアアプリケーションの開発者に提供されることができ、開発者は、オプションを使用してプラットフォームにおけるアプリケーションの展開を選択することができる。いくつかの実施形態では、アプリケーションは、軌道上の現在の衛星を使用して実装されることができるが、開発者に提供されるオプションはまた、所望の動作を提供するためにプラットフォームに追加の衛星を追加するオプションも提供することができることが理解されるべきである。
展開オプションが利用可能性プラットフォーム177を介して選択されると、地上制御システム170は、衛星のうちの1つ以上によるアップリンクを開始してアプリケーションを衛星に提供するとともに、衛星に関する任意のスケジューリング情報を更新することができる。所望の衛星にアップロードされると、アプリケーションは、利用可能性プラットフォーム177において決定されたスケジューリングに基づいて実行を開始することができる。いくつかの実施形態では、地上制御システム170からのアップリンクは、必要とされる衛星にアプリケーションを提供する責を単独で担うことができる。他の実施形態では、地上制御システム170は、その後にそのアプリケーションを衛星プラットフォームの1つ以上の他の衛星に配信することができる第1のセットの衛星にアプリケーションを供給してもよい。例えば、地上制御システム170は、第1のアプリケーションを衛星120に提供してもよく、衛星120は、次にそのアプリケーションをピアグループ内の他の衛星に供給してもよい。特に、衛星120は、同じピアグループ内にある衛星110にアプリケーションを提供することができ、衛星110が地上制御システム170から通信を直接受信することなくアプリケーションの動作を提供することを可能にする。さらに、衛星に初期設定を提供するのと同様に、地上制御システム170は、衛星プラットフォームにおいて動作する各アプリケーションに更新を供給するためにさらに使用されてもよく、各衛星上の任意のスケジューリング情報をさらに更新してもよい。
衛星環境100に示されているものはまた、衛星(sats)181を周回軌道衛星110〜113および120〜123とともに周回するように輸送するために使用されることができる打ち上げシステム180である。衛星181は、アプリケーションが衛星上で仮想ノードとして実行することを可能にするハードウェアおよびソフトウェア構成を含む。いくつかの実施形態では、衛星181は、アプリケーションなしで打ち上げシステム180を使用して打ち上げられることができ、代わりに、地上制御システム170からアップリンクで提供されるときにアプリケーションをロードおよび実行するために使用されることができる基本オペレーティングシステムまたはハイパーバイザが提供されることができる。他の実施形態では、衛星181は、衛星上のオペレーティングシステムまたはハイパーバイザを介して実行されることができる第1のアプリケーションのセットを用いて構成されることができる。したがって、軌道に入ると、アプリケーションは、実行を開始してアプリケーションの動作を提供することができる。これらのアプリケーションは、さらに、地上制御システム170からアップリンクで提供される情報に基づいて追加され、除去され、変更されることができる。
いくつかの実施形態では、衛星181の打ち上げは、衛星クラスタ内に展開されることが望まれるアプリケーション上で少なくとも部分的に制御されることができる。特に、現在展開されている衛星がアプリケーションの動作を提供することができない場合、アプリケーションの開発者は、アプリケーションをサポートするために必要なハードウェアとともに追加の衛星を展開することを選択することができる。一旦展開されると、アプリケーションは、実行のために新たに打ち上げられた衛星に提供されることができる。さらに、新たな衛星によって提供される利用可能なリソースを共有するために、新たに打ち上げられた衛星に1つ以上のアプリケーションがまた提供されることもできる。
図2は、実施形態にかかる仮想ノード用のプラットフォームを提供することができる衛星110の拡大図200を示している。衛星110は、仮想化実行セグメント201、制御セグメント202、およびインターフェースセグメント203を含み、これらは様々な通信リンクを使用して結合されることができる。仮想化実行セグメント201は、仮想ノード241〜244用の仮想化ユーザ空間240、オペレーティングシステムまたはハイパーバイザ235、オペレーティングシステムおよび仮想ユーザ空間を記憶するための記憶システム232、ならびに処理システム230を含む仮想化実行システムを表す。制御セグメント202は、さらに、飛行制御システム211と推進ナビゲーション210とを含む。インターフェースセグメント203は、さらに、ユーザセンサ220および通信インターフェース221を含み、通信インターフェース221は、地上通信および衛星間通信に使用されることができる。ユーザセンサ220は、撮像センサ、温度センサ、光センサ、または仮想ノード241〜244と相互作用することができるいくつかの他の同様のセンサを含むことができる。
本明細書で説明されるように、組織は、衛星プラットフォームのうちの1つ以上の衛星上の仮想ノードとして展開されることができるアプリケーションを生成することができる。これらのアプリケーションは、地上制御システムから提供されてもよく、または衛星110上の通信インターフェース221を介して他の衛星から提供されてもよい。アプリケーションが提供されると、記憶システム232に記憶され且つ処理システム230によって実行されるオペレーティングシステム/ハイパーバイザ235は、アプリケーションを実行するためのプラットフォームを提供することができる。ここで、衛星110に提供される各アプリケーションは、仮想ノード241〜244における別個の仮想ノードとして実行され、仮想ノードは、記憶システム232における基本オペレーティングシステムからリソースを共有することができるフルオペレーティングシステム仮想マシンまたはコンテナを含むことができる。
仮想ノードの実行を管理するために、オペレーティングシステム/ハイパーバイザ235は、処理システム230の処理リソースを各ノードに、ユーザセンサ220を各ノードに、および衛星110上の他の同様のリソースを割り当てるために使用されるスケジュールを管理することができる。特に、スケジュールは、各アプリケーションが、定義された期間中に処理システム230から処理リソースを受け取るようにスケジューリングされ、定義された期間中にユーザセンサ220へのアクセスを受け取るようにスケジュールされることを保証するために使用されることができる。いくつかの実施形態では、アプリケーションのうちの1つ以上は、衛星110上で同じ期間中に実行されることができる。これらのアプリケーションは、ユーザセンサ220における異なるセンサを使用してもよく、ユーザセンサ220におけるセンサの使用を時分割してもよく、またはそれらの動作においてユーザセンサ220からの同じデータを使用してもよい。センサを割り当てるために、オペレーティングシステム235は、各動作仮想ノードに必要なユーザセンサへの通信リンクを提供し、スケジューリングに基づいて必要なセンサへの通信リンクを割り当て解除または削除することを担うことができる。例えば、撮像装置は、第1の期間中に仮想ノード241によってアクセスされてもよく、仮想ノード241は、オペレーティングシステム235によって提供されたアドレス指定情報に基づいてセンサにアクセスしてもよい。期間が満了すると、オペレーティングシステム235は、いくつかの例では、仮想ノードのアドレス指定アクセスを削除し、センサのアクセスを第2の仮想ノードに割り当てることによって、仮想ノード241がセンサにアクセスするのを防ぐことができる。
仮想化実行セグメント201で提供される仮想ノード動作に加えて、衛星110は、さらに、制御セグメント202を含む。仮想化実行セグメント201およびインターフェースセグメント203に通信可能にリンクされることができる制御セグメント202は、衛星110の衛星の物流制御要素を担う。動作は、衛星上の太陽電池パネルの配備を管理すること、地球もしくは太陽に関する衛星の位置を管理すること、または任意の他の同様の動作を含むことができる。少なくとも1つの例では、飛行制御システム111は、オペレーティングシステム235からの要求を監視し、衛星がオペレーティングシステム235からの要求に適合できるかどうかを判定することができる。例えば、仮想ノード241は、ユーザセンサを移動させる要求を生成することができ、これも推進およびナビゲーション210を使用した移動を必要とする。要求に応答して、飛行制御システム211は、移動ができないと判定し、推進およびナビゲーション210を使用して衛星の移動を防止することができる。さらに、いくつかの実施形態では、飛行制御システム211は、移動が許可されていないことを示す通知をオペレーティングシステム235および仮想ノード241に提供することができる。
図2の例では別個のシステムとして示されているが、いくつかの例では、飛行制御システムは、処理システム230および記憶システム232上に実装されて記憶されてもよいことが理解されるべきである。しかしながら、飛行制御システムは、別個の記憶システムに記憶され、オペレーティングシステム235およびその対応する仮想ノードとは異なる処理システムを使用してもよいこともまた理解されるべきである。
図3は、実施形態にかかるソフトウェアアプリケーションについての展開オプションを提供するための地上制御システムの動作を示している。図3の動作は、図1の衛星環境100のシステムおよびオブジェクトを参照して以下の段落において括弧内で参照される。
図示のように、地上制御システム170の利用可能性プラットフォーム177は、衛星プラットフォームに展開されるべき衛星ソフトウェアアプリケーションについての展開要件を示すユーザ入力を受信することができる(301)。これらの展開要件は、関心のある地球上の地理的領域、関心のある動作時間、センサ要件、処理要件、セキュリティ要件、コスト制約、またはそれらの組み合わせを含む他の同様の展開要件を含むことができる。いくつかの実施形態では、アプリケーションの開発者は、アプリケーションに情報を提供するために自然言語を使用して要件を供給することができる。例えば、開発者は、「6月から8月までの間に北太平洋の全船舶の画像を取得する」と提供することができる。入力に応答して、利用可能性プラットフォーム177は、自然言語エンジンを使用して、船舶の撮像(必要なセンサの種類)、北大西洋(地理的領域)、および6月から8月(関心のある期間)などの関連展開要件を識別することができる。他の実施形態では、利用可能性プラットフォームは、自然言語入力を提供するのではなく、ドロップダウンメニュー、複数の選択肢、またはいくつかの展開要件の他の同様の明示的な選択を提供することができる。
展開要件を判定することに加えて、地上制御システム170の利用可能性プラットフォーム177は、衛星プラットフォーム内の衛星リソースの利用可能性を識別することができる(302)。この利用可能性情報は、衛星プラットフォームの衛星上の処理リソースの利用可能性、衛星プラットフォームの衛星上のセンサの利用可能性、通信インターフェースの利用可能性、または衛星プラットフォームに関する現在周回軌道中の衛星に関する任意の他の同様の情報を含むことができる。いくつかの例では、利用可能性は、少なくとも部分的には、衛星上で既にスケジューリングされているアプリケーションに基づいてもよい。したがって、以前に生成されたアプリケーションが所定期間にわたって撮像センサの私的使用を必要とした場合、センサは、その期間中はいかなる他のアプリケーションにも利用できないであろう。
利用可能性情報および展開要件が識別されると、動作は、さらに、展開要件および衛星リソースの利用可能性に基づいて衛星ソフトウェアアプリケーションを展開するためのオプションを判定する(303)。例えば、北大西洋の撮像の例に戻ると、必要な期間中に必要なセンサを用いて、特定の地理的領域にわたる衛星の利用可能性に基づいてオプションが判定されることができる。いくつかの例では、オプションは、現在周回軌道プラットフォームにある衛星による100パーセントのまたは完全な動作がアプリケーションに提供されることを可能にすることができる。他の実施形態では、現在の周回軌道衛星を介して、動作の一部のみ、または完全版よりも少ないバージョンが提供されることができる。例えば、特定の期間中に地理的領域にわたって衛星が周回軌道にない場合、その期間中の地理的領域の画像は、現在展開されている衛星を使用しては不可能とすることができる。結果として、利用可能な衛星にソフトウェアアプリケーションを実装するために、または所望のアプリケーションの完全な実装をサポートするために1つ以上の追加の衛星を展開するために、地上制御システム170によってオプションが識別される。
ソフトウェアアプリケーションについてオプションが判定されると、地上制御システム170上の利用可能性プラットフォーム177は、衛星ソフトウェアアプリケーションの開発者にオプションを提供する(304)。一旦提供されると、開発者用のユーザインターフェースを介して、開発者は、衛星プラットフォーム内にアプリケーションを実装するためにオプションから選択を行うことができる。これは、1つ以上の衛星へのアップリンクを使用してソフトウェアアプリケーションを提供すること、および衛星上でアプリケーションの実行を開始して所望の動作を実行することを含むことができる。
いくつかの例では、ソフトウェアアプリケーションは、利用可能性プラットフォーム177にユーザ入力を提供する前に開発されることができるが、アプリケーションを開発する前に、ユーザは、所望の動作をサポートするためにリソースの利用可能性をチェックすることができることが理解されるべきである。一旦利用可能性を判定すると、ユーザは、アプリケーションを開発して必要な動作を提供することができる。
いくつかの実施形態では、開発者が新たなアプリケーションの展開を要求するとき、開発者は、新たなアプリケーションのための予算要件を指定することができる。その結果、開発者についてオプションが判定されると、開発者の予算内に収まるオプションのみが提供されることができる。例えば、全ての展開要件を満たしてアプリケーションが展開されることができたとしても、開発者の予算を超えるコストがかかる場合、そのオプションは、開発者にとって利用できない可能性がある。その代わりに、開発者には、完全な展開要件よりも少ないが、開発者の予算内に収まることができる他のオプションが提供されることができる。
少なくとも1つの例では、衛星プラットフォームにおける衛星リソースの利用可能性を識別する際に、地上制御システムは、アプリケーションをサポートするための軌道利用可能性を判定することができる。特に、衛星プラットフォームは、静止軌道を提供しないことがあるか、または特定の地理的領域もしくは空間内の固定点をカバーするために複数の衛星を必要とすることがあるため、地上制御システムは、所望の関心のある地点について軌道を提供する衛星を識別する必要がある。利用可能な処理およびセンサリソースとともに軌道の利用可能性が識別されると、展開要件をサポートするためのオプションが識別されることができる。いくつかの実施形態では、ソフトウェアアプリケーションについて識別された衛星は、軌道がそれらを関心のある場所から遠ざけるときに動作をハンドオフすることができる。他の実施形態では、衛星は、2つ以上の衛星が任意の時点で地理的領域をカバーすることができるときに状態情報を交換することができる(関心のある地点上で動作を協調して提供する)。さらに他の実施形態では、衛星は、第1の地理的位置から第2の地理的位置への通信を提供するために使用されることができる。したがって、アプリケーションは、第1の地理的位置および第2の地理的位置にサービスを提供する衛星上で動作することができ、さらに2つの位置間で通信を転送することができる他の衛星上で動作することができる。
ここで図4を参照すると、実施形態にかかるソフトウェアアプリケーションについての展開オプションを提供するための地上制御システムの動作を示している。特に、図4は、展開オプションがアプリケーションの開発者に提供された後の地上制御システムの動作を表している。図4の動作は、図1の衛星環境100のシステムおよびオブジェクトを参照して以下の段落において括弧内で参照される。
示されるように、展開オプションがアプリケーションの開発者に提供されると、地上制御システム170は、開発者が完全な適合オプションを選択するかどうかを判定することができ(401)、完全な適合オプションは、全ての展開要件が衛星プラットフォームにおいて現在利用可能な衛星によって満たされることができる旨を開発者に示す。ユーザが完全な適合オプションを選択した場合、地上制御システム170は、衛星プラットフォーム内の1つ以上の仮想ノードとしてソフトウェアアプリケーションを展開することができる(402)。この展開は、アップリンクを介してソフトウェアアプリケーションを少なくとも1つの衛星に提供することと、いくつかの例では、軌道上の衛星を介してソフトウェアアプリケーションを任意の他の必要な衛星に配信することとを含むことができる。
対照的に、実装コストが高すぎるかまたは完全な展開をサポートするための利用可能性が現在ないために、ユーザが完全な適合オプションを選択しない場合、地上制御システム170は、開発者が完全でない適合オプションを承認するかどうかを判定することができる(403)。特に、本明細書に記載されるように、利用可能性情報は、現在展開されている衛星110〜113および120〜123の処理およびセンサリソースについて判定されることができ、利用可能性は、処理およびセンサリソースの時間利用可能性とともに、各処理および地理的リソースの地理的カバレッジ利用可能性を含むことができる。一旦判定されると、利用可能性情報は、ソフトウェアアプリケーションの展開要件と比較されて、そのアプリケーションが現在展開されている衛星110〜113および120〜123によって適合されることができるかどうかを判定することができる。いくつかの例では、衛星は、要求された時間中に1つ以上の他のソフトウェアアプリケーションによって既に使用されているか、または衛星は、要求された期間中にソフトウェアアプリケーションによって要求される必要な地理的領域を網羅しないことから、地上制御システム170は、現在展開されている衛星を使用して適合されることができる要求量を示すパーセンテージ、比率、またはいくつかの他のスコア値を判定することができる。例えば、現在の衛星が太平洋の最北部をカバーしていなくても、衛星が海の残りの部分をカバーすることができる場合、地上制御システムは、海全体をターゲットにするアプリケーションをサポートするために衛星によってカバーすることができる海のパーセンテージを示すことができる。代替例では、ソフトウェアアプリケーションについての100パーセントのカバレッジ未満であるパーセンテージは、要求に適合するパーセンテージがより高い他のオプションよりも低いコストを提供することができる。したがって、開発者は、予算に適合させるためにより低いパーセンテージの適合を選択することができるが、アプリケーションについての展開要件の全てが衛星プラットフォームによってサポートされるわけではないことがある。
管理者が完全ではない適合オプションを承認した場合、地上制御システム170は、衛星プラットフォーム内の1つ以上の仮想ノードとしてソフトウェアアプリケーションを展開することができる(404)。対照的に、管理者が完全でない適合オプションを承認しない場合、地上制御システム170は、開発者がソフトウェアアプリケーションをサポートするために新たな衛星を望むかどうかを判定することができる(405)。開発者が新たな衛星を望む場合、地上制御システム170は、衛星181などの新たな衛星を展開することができ(406)、軌道上の現在の衛星および開発者によって要求された追加の新たな衛星に対して1つ以上の仮想ノードとしてソフトウェアアプリケーションを展開することができる。いくつかの例では、展開される衛星は、定義されたセンサおよび処理構成を有する定義されたフォームファクタとして展開されてもよい。他の例では、ソフトウェアアプリケーションの開発者は、修正を加え、新たな衛星として展開されるべきハードウェア(処理システム、センサなど)を選択することができる。いくつかの実施形態では、開発者は、最初に現在軌道上にある衛星に対してソフトウェアアプリケーションを展開し、さらに軌道に打ち上げられるときに新たな衛星に対してソフトウェアアプリケーションを展開することができる。他の実施形態では、開発者は、新たな衛星が軌道に乗るまでアプリケーションの展開を遅延させ、新たな衛星が展開されるとアプリケーションを衛星プラットフォームに対して展開することができる。
代替として、開発者がソフトウェアアプリケーションの所望の動作を提供するために新たな衛星を選択しない場合、地上制御システム170は、開発者がアプリケーション展開要件を修正すること(407)または衛星プラットフォームへのアプリケーション展開をキャンセルすることを可能にすることができる。
図5は、実施形態にかかるソフトウェアアプリケーションについての展開要件を提供するためのユーザインターフェース500を示している。ユーザインターフェース500は、関心のある地理的領域510、関心のある時間520、撮像センサ要件530、および他のセンサ要件540のためのドロップダウンメニューを含む。撮像センサ要件530は、センサ531〜533を含むが、任意の数のセンサがドロップダウンメニューにおいて利用可能にされることができることが理解されるべきである。この例では4つのドロップダウンメニューを用いて示されているが、任意の数のドロップダウンメニューが同様の操作を提供することができることが理解されるべきである。
本明細書に記載されているように、周回軌道衛星プラットフォームにアプリケーションを展開するために、開発者は、アプリケーションについての展開要件を提供することを要求されることができる。ここでは、アプリケーションについての様々な要件を選択するための様々なドロップダウンメニューがユーザに提供される。ユーザが要件を選択すると、ユーザは、送信機能550を使用してソフトウェアアプリケーションについての衛星リソースの利用可能性を判定することができる。要件を提出した後、地上制御システムは、衛星プラットフォームにおける衛星リソースの利用可能性を判定し、展開要件および衛星利用可能性に基づいてユーザに提供されるべきオプションを判定することができる。
ソフトウェアアプリケーションについての要件を選択するためのドロップダウンメニューを提供するものとしてユーザインターフェースの例で説明したが、衛星環境におけるリソースの利用可能性を判定するために他のユーザインターフェース要素が開発者に提供されることができることが理解されるべきである。これらのユーザインターフェース要素は、複数の選択肢、自然言語入力フォーム、または他の何らかの同様のユーザ入力要素を含むことができる。例えば、ユーザには、ユーザがソフトウェアアプリケーションについての自然言語要件を入力することを可能にするテキストボックスが提供されることができる。一旦提供されると、地上制御システムは、自然言語入力を処理し、アプリケーションについての展開要件を抽象化することができる。
図5の例ではセンサ要件を提供するものとして示されているが、ユーザはまた、衛星用の処理システムおよび/または通信インターフェース要件も提供することができることが理解されるべきである。例えば、1つ以上の衛星を使用して第1の地理的位置から第2の地理的位置への通信を提供して2つの位置間の通信を転送するためにアプリケーションが使用されることができる。
図6は、実施形態にかかるソフトウェアアプリケーションの展開600を示している。展開600は、地上制御システム605、開発者615、選択された衛星641を有する展開された衛星640、および新たな衛星642を含む。展開された衛星640は、衛星610〜615を含み、開発者による要求の時点で軌道上で利用可能な衛星を表す。新たな衛星642は、衛星620〜621を含み、開発者からの要求後の将来の時点で軌道に乗せることができる衛星を表す。選択された衛星641における3つの衛星とともに示されているが、ソフトウェアアプリケーションの動作を提供するために任意の数の現在の衛星が選択されることができることが理解されるべきである。
展開600の例では、地上制御システム605は、ステップ1のユーザインターフェースを介して、開発者615が衛星プラットフォームにソフトウェアアプリケーションを展開するための1つ以上のオプションを提供する。これらのオプションは、現在展開されている衛星を使用して開発者の展開要件を完全にサービスを提供することができるオプション、現在展開されている衛星を使用して展開要件の一部を提供することができる少なくとも1つのオプション、現在展開されている衛星および新たに展開された衛星を使用して開発者の展開要件を完全にサービスを提供することができるオプション、または他の同様のオプションを含むことができる。一旦供給されると、開発者615は、ステップ2において、現在展開中の衛星640および新たな衛星642の組み合わせを要求するオプションを選択することができる。開発者615からの選択を受信した後、地上制御システム605は、ステップ3において、ソフトウェアアプリケーションの展開についての衛星を識別することができ、衛星は、動作の残りの部分を提供するための新たな衛星とともに、少なくとも部分的にアプリケーションの動作にサービスを提供することができる現在展開されている衛星を含む。一旦識別されると、ステップ4において、地上制御システム605から選択された衛星641まで仮想ノードとしてアプリケーションが展開されることができるとともに、新たな衛星642が作成されて軌道に展開され、必要なアプリケーション用のプラットフォームを提供する。
いくつかの実施形態では、新たな衛星642を識別する際に、衛星は、アプリケーションについての処理システムおよびセンサを備える定義済みのフォームファクタを含むことができる。他の実施形態では、開発者615は、新たな衛星に必要とされる処理システムおよび/またはセンサを定義することができる。特に、開発者は、任意の撮像センサ、温度センサ、処理システム、または任意の他の同様の処理システムまたはセンサ属性を定義することができる。一旦定義されると、衛星は、生成され、所望の動作を提供するために軌道に打ち上げられることができる。いくつかの例では、アプリケーションを展開する際に、アプリケーションは、全ての新たな衛星が軌道に打ち上げられるまで展開を保持することができるが、アプリケーションは、いくつかの例では衛星620〜621の打ち上げ前に衛星613〜615を使用して初期動作を提供することができることが理解されるべきである。
図7は、実施形態にかかるオプションユーザインターフェース700を示している。オプションユーザインターフェースは、完全展開要件710、部分展開要件711〜712、および新たな衛星713を介した完全展開に関する選択可能なオプションを含む。この例では、4つのオプションが提供されているが、より多くのまたはより少ないオプションが提供されてもよいことが理解されるべきである。例えば、アプリケーション展開時に展開されるであろう衛星を使用して完全展開が不可能である場合、完全展開要件710のオプションは、開発者に提供されなくてもよい。
ここで、アプリケーションの開発者がソフトウェアアプリケーションについての展開要件を提供すると、地上制御システムは、開発者にアプリケーションを衛星プラットフォームに展開するためのオプションを提供することができる。特に、地上制御システムは、アプリケーションに必要とされる期間中に衛星上のリソースについての利用可能性属性を識別することができる。一旦識別されると、地上制御システムは、利用可能性情報およびアプリケーションの展開要件に基づいてユーザのためのオプションを判定し、ユーザインターフェースを介して開発者にそのオプションを提供することができる。
ここでは、開発者向けに4つのオプションが識別される。第1のオプションである完全展開要件710は、全ての展開要件を提供しながらソフトウェアアプリケーションがプラットフォームに展開されることを可能にし、第1のコスト720に関連付けられる。第2の2つのオプションである部分展開要件711〜712は、展開要件の一部を提供しながらソフトウェアアプリケーションがプラットフォームに展開されることを可能にし、コスト721〜722および制限731〜732に関連付けられる。いくつかの例では、コスト721〜722は、コスト720よりも低いコストを含むことができ、開発者のための予算を維持しながら、開発者のために適切な動作を提供することができる。この例では、コスト721〜722に加えて、オプション711および712は、展開オプションを使用して実現できない開発者によって指定された展開要件の制限または部分を表す制限731〜732をさらに含む。例えば、開発者が夏季の間にヨーロッパ大陸にわたってトラックを追跡したい場合、制限は、アプリケーションが特定の期間中に完全な動作を提供できなかった場合の時間制限、1つ以上の地理的位置が監視できなかった場合の位置制限、またはそれらの組み合わせを含む他の同様の制限を含むことができる。
ユーザインターフェース700の例における最後のオプションは、コスト723と、もしあれば制限733とを含む、新たな衛星713を用いた展開である。ここで、ソフトウェアアプリケーションに現在利用可能な衛星に頼るのではなく、開発者は、プラットフォームに新たな衛星を導入してソフトウェアアプリケーションの適切な動作を提供することを選択することができる。したがって、現在の衛星展開に加えて、またはその代わりにいくつかの例では、開発者は、ソフトウェアアプリケーションのために新たな衛星を打ち上げることを選択することができる。この衛星は、いくつかの例では、プロセッサ、センサなどの事前定義された構造を含むことができ、あるいは開発者によって選択され且つアプリケーションをターゲットとするコンポーネントを含むことができる。しかしながら、オプション713に関連付けられたコスト723は、オプション710〜712よりも大きくなる可能性があり、したがって、特定の予算を有する開発者にとっては望ましくない可能性がある。いくつかの例では、新たな衛星による展開は、現在展開されている衛星にアプリケーションを一時的に提供し、次いで新たな衛星が軌道上にあるときに、アプリケーションの動作を新たに展開された衛星に追加することを含むことができる。
この例では、コストおよび制限とともに示されているが、コストおよび制限情報に加えて、またはその代わりに他の情報が提供されてもよいことが理解されるべきである。例えば、地上制御システムは、オプションのそれぞれについて適合スコアを生成し、ユーザがアプリケーションについての選択を行うのを支援するためにオプションとともに適合スコアを提供することができる。
図8は、実施形態にかかる新たな衛星を設計するための地上制御システムの動作を示している。図8の動作は、地上制御システム170または他の何らかの同様の地上制御システムを介して提供されてもよい。
本明細書に記載されるように、衛星プラットフォームにおいてソフトウェアアプリケーションを実装するためのオプションがユーザに提供されると、プラットフォームの現在利用可能な衛星は、所望の動作を提供することができない可能性がある。その結果、ユーザは、所望の動作を提供するために少なくとも1つの新たな衛星を生成するためのオプションを選択することができる。例えば、現在の衛星が所望の地理的領域を網羅していなかった場合には、その地理的領域をカバーするために新たな衛星が展開されることができる。
ここで、ユーザが少なくとも1つの新たな衛星を要求すると、地上制御システムは、開発者が少なくとも1つの新たな衛星に実装されるためのハードウェアオプションを提供する(801)。いくつかの例では、ハードウェアオプションは、ユーザに提供される展開要件に基づいて決定される。例えば、開発者が特定の撮像センサを必要とする場合、開発者に提供されるハードウェアは、必要なセンサを含むことができる。ユーザが衛星を使用して監視されるべき品目の種類(トラック、船、天気など)を提供する場合などの他の実施形態では、地上制御システムは、監視に使用可能なセンサの種類を決定することができ、開発者にセンサを提案することができる。したがって、アプリケーションに関するサイズ、カバレッジエリア、および他の同様の要件に基づいて、地上制御システムが使用され、アプリケーションの所望の目的を適切な新たなセンサに合わせることができる。
オプションが開発者に利用可能になると、動作は、さらに、少なくとも1つの新たな衛星についてのハードウェアを選択するユーザ入力を受信する(802)。いくつかの例では、入力を受信するために、ユーザには、ドロップダウンメニュー、複数の選択肢、または他の何らかの同様の選択機構が提供されてもよく、ユーザは、様々なセンサ、処理システムオプション、または任意の他の同様のオプションを選択することができる。ハードウェアを選択した後、地上制御システムは、次に、ユーザ入力に基づいて衛星構成を生成することができる(803)。いくつかの例では、新たなハードウェアによって生成された衛星は、サイズおよび形状の制約を満たさなければならない。その結果、地上制御システムは、開発者によって選択されたハードウェアが要求された制約内で実装されることができることを確実にするためにハードウェアについての位置決めおよびレイアウト情報を判定することを要求されることができる。
少なくとも一実施形態では、開発者が衛星に必要なハードウェアについて選択を行うときに、コスト見積もりが開発者に提供されることができる。例えば、開発者が1つの撮像センサを他の撮像センサよりも選択した場合、選択されたセンサを反映するようにコストが修正されることができる。さらに、いくつかの実施形態では、衛星についてのハードウェアの選択中に、提供されたハードウェアを展開するためにより大きな衛星プラットフォームまたはロケットが必要かどうかを示す指示が行われることができる。また、開発者が第2の撮像センサよりも第1の撮像センサを選択した場合、地上制御システムは、第2の撮像センサよりも第1の撮像センサをサポートするためにより大きな衛星が必要であることを示すことができる。
図9は、実施形態にかかるソフトウェアアプリケーションの展開の管理の概要900を示している。概要900は、動作要件910、軌道および打ち上げオプション920、ならびに展開のためのコストおよびスケジューリング930を含む。
図示のように、アプリケーションを衛星プラットフォームに展開するために、アプリケーションの開発者は、動作要件910を提供することが要求されることができ、要件は、ミッション設計(アプリケーションによって実行されることが望まれる動作)、ペイロード選択(開発者向けに展開された特定のアプリケーションの選択)、車両仕様(衛星のハードウェアの選択)、またはクラスタ構成オプション(アプリケーションについての状態交換特性および/または地理的要件の識別)、あるいはそれらの組み合わせを含む。特性が判定されると、軌道および打ち上げオプション920が開発者に提供されることができ、打ち上げオプションは、現在軌道を周回している衛星に関するオプションを含むことができ、さらにプラットフォームへの1つ以上の新たな衛星の追加をもたらすオプションを含むことができる。オプションを提供した後、展開動作930についてのコストおよびスケジュールは、オプションの選択を受信し、そのオプションにコストを割り当て、アプリケーションの展開をスケジューリングすることができる。
この実施形態では別々のものとして示されているが、軌道および打ち上げオプションの時点でコストが計算されることができることが理解されるべきである。したがって、開発者は、特定のオプションに関連するコストに基づいて特定のオプションを選択することができる可能性がある。
図10は、実施形態にかかるアプリケーションの展開1000を示している。展開1000は、衛星1010〜1012、地上制御システム1030、および地理的領域1050を有する地球1040を含む。この例には3つの衛星が含まれているが、衛星プラットフォームとして任意の数の衛星が展開されることができることが理解されるべきである。
本明細書で説明されるように、衛星プラットフォームに展開されるべきアプリケーションをスケジューリングするとき、アプリケーションの開発者は、アプリケーションについての展開要件を提供することが要求されることができる。これらの展開要件は、ミッション設計、ペイロード選択またはアプリケーション選択、クラスタ構成(衛星間で要求される状態通信)、車両仕様、またはアプリケーションについての他の何らかの同様の展開要件情報を含むことができる。少なくとも一例では、開発者は、関心のある地理的領域をカバーし、関心のある地理的領域内の特定のオブジェクトを識別するアプリケーションを望むことができる。この実施形態では、展開1000は、地理的領域1050内のトラックを識別するために衛星プラットフォームにアプリケーションを展開する。展開のために衛星を選択するために、開発者は、地理的領域とその領域内で監視されるべきオブジェクトを示す要件を供給することができる。入力に応答して、地上制御システム1030は、要件をサポートするためにプラットフォームの衛星の利用可能性を識別することができ、利用可能性は、センサおよび処理システムの利用可能性を含むことができ、地理的領域および軌道の利用可能性も含むことができる。特に、衛星プラットフォームの衛星は、静止軌道では動作しない可能性があるので、1つの衛星が地理的領域に対して連続的な動作を提供することができないとき、衛星は、状態情報を交換することが要求されることができる。したがって、ユーザ入力に基づいて、地上制御システム1030は、その軌道が地理的領域をカバーする衛星についての処理およびセンサの利用可能性を識別し、利用可能性情報に基づいてスケジューリングオプションを判定することができる。オプションが選択されると、アプリケーションは、その選択に関連する衛星に供給されてもよく、そのアプリケーションは、同じ衛星上の他のアプリケーションとともに仮想ノードとして動作してもよい。
ここで、衛星1010〜1012は、地球1040の周りを周回しており、衛星1010は、ステップ1において、地理的領域1050に関する第1のセンサデータを識別する。データが識別され、軌道が衛星1010を地理的領域1050のセンサ範囲から外すと、衛星1010は、ステップ2において、センサデータを衛星1011に転送する。例えば、オブジェクト1055が衛星1010に関するセンサデータを使用して識別された場合、衛星1010は、衛星1011がオブジェクトの監視を維持することができるように、オブジェクト1055についての全地球測位情報を提供することができる。一旦受信されると、衛星1011は、ステップ3において、地理的領域1050に関する第2のセンサデータを識別し、ステップ4において、衛星1011の軌道が地理的領域1011から衛星1011を外すときにセンサデータを衛星1012に転送する。同様に、このセンサデータは、オブジェクト1055についての位置情報、オブジェクト1055についての速度もしくは速さ情報、またはオブジェクト1055に関する任意の他の同様の情報を含むことができる。さらに、衛星1011は、地理的領域1050内の任意の追加のオブジェクトを識別することができる。
衛星1012において受信されると、衛星1012は、ステップ5において、地理的領域に関する任意の追加のセンサデータを識別することができ、この例では、状態データ(処理済みおよび/または未処理のセンサデータを含む)を地上制御システム1030に提供することができる。この例では、地上制御システム1030にセンサデータを提供する衛星1012として示されているが、衛星1010〜1012の任意の組み合わせが地上制御システムにセンサデータを提供することができることが理解されるべきである。さらに、この例ではセンサデータを識別する各衛星として示されているにもかかわらず、少なくとも1つの衛星は、アプリケーションについての処理またはセンサの利用可能性のためにアプリケーションについての動作を提供することができない場合があることが理解されるべきである。結果として、いくつかの例では、衛星は、2つの他の衛星間で状態情報を交換するためのアプリケーション専用に使用されることができる。
この例では衛星間でセンサ動作をハンドオフして複数の衛星にわたるアプリケーションの所望の動作を提供するものとして示されているが、複数の衛星にわたるアプリケーションのスケジューリングが追加の動作を提供するために使用されることができることが理解されるべきである。例えば、アプリケーションは、地球上の1つの地理的位置から地球上の第2の地理的位置への通信を提供するために複数の衛星に展開されてもよい。これは、第1の地理的位置にいる当事者が第2の地理的位置にある当事者と迅速に通信することを可能にすることができる。他の例では、地理的領域について単一の衛星を使用するのではなく、複数の衛星が協調して領域に関する動作を提供してもよい。図10の例を参照すると、衛星1010〜1011が同時に地理的領域1050を超えていた場合、衛星は、地理的領域に関するデータを交換することができる。例えば、衛星1010がオブジェクトを識別した場合、衛星1010は、衛星1011が同じオブジェクトに関する動作を提供することができるように、地理的位置情報を衛星1011に提供することができる。さらに他の実施形態では、地球上の地理的領域を使用するものとして図10の例に示されているが、衛星は、電波天文学を提供するために使用されることができることが理解されるべきである。特に、衛星は、その無線受信機の資産またはセンサを使用して、空間内の固定ターゲットから特定の無線信号を適切な時点で収集するように構成されることができる。したがって、単一の衛星を使用する代わりに、衛星は、それらの軌道周回の間に動作をハンドオフして、空間内の慣性ターゲットから情報を検出することができる。
いくつかの実施形態では、衛星上のアプリケーションは、状態情報を他の衛星に転送するために様々な交換トリガを使用することができる。個々の衛星についてのこれらのトリガは、衛星上のアプリケーションによって識別された全地球測位座標、衛星の軌道、衛星によって識別された現在時刻、アプリケーション内のコマンド、衛星内の信号検出もしくはビーコン検出、ネットワークトラフィックデルタ(待ち時間、欠落パケットなど)、衛星上での処理システム使用率、ノード障害、新たなノードの追加、テレメトリ値、または他の何らかの同様のトリガ値に基づくことができる。展開1000の例を参照すると、衛星1010〜1012間で通信される状態情報は、衛星の軌道に基づいて、衛星の測定された時間に基づいて、地理的領域1050内のオブジェクト1055の識別および監視に基づいて、または地理的領域1050の監視に基づく他の何らかの同様のトリガに基づいて起こることができる。
図11は、実施形態にかかるアプリケーションの展開1100を示している。展開1100は、衛星1110〜1112、通信システム1130、および地球1140を含む。この例には3つの衛星が含まれているが、衛星プラットフォームとして任意の数の衛星が展開されることができることが理解されるべきである。展開1100は、地球1140上の地理的位置間の通信を提供するために使用されることができる通信アプリケーションの例である。
示されるように、衛星1110は、通信システム1130への通信を識別するように構成され、通信に応答して、衛星1110は、通信を1つ以上の他の衛星および/または通信のための第2の宛先通信システムに転送することができる。例えば、通信は、アフリカで開始され、ヨーロッパの宛先通信システムに転送されるように衛星1110に送信されてもよい。衛星1110が周回し続けると、衛星1110は、ステップ2において、衛星1111に対してアプリケーションの動作をハンドオフすることができ、ハンドオフは、通信システム1130からの信号の欠如に基づくことができ、衛星1110の軌道位置に基づくことができ、通信システム1130からのデータパケットの待ち時間に基づくことができ、または任意の他の同様のハンドオフトリガに基づくことができる。一旦ハンドオフされると、衛星1111は、ステップ3において、通信システム1130からの通信を識別し、その通信を少なくとも1つの宛先通信システムに転送するようにアプリケーションを実行することができる。さらに、衛星1110と同様に、ハンドオフトリガが検出されると、衛星1111は、ステップ4において、通信システム1130に通信サポートを提供するためにアプリケーションの動作を衛星1112にハンドオフすることができる。
展開1100の例では通信システム1130から通信を受信するように示されているが、アプリケーションはまた、通信を通信システム1130に転送することもできることが理解されるべきである。特に、アプリケーション用のアクティブ衛星は、地球1140上の第2の衛星または第2の通信システムから通信を受信し、その通信を通信システム1130に転送することができる。
図12は、実施形態にかかる開発コンピューティングシステム1200を示している。コンピューティングシステム1200は、地上制御システムに関して本明細書で開示されている様々な動作アーキテクチャ、プロセス、シナリオ、およびシーケンスが実装されることができる任意のコンピューティングシステムまたはシステムを表す。コンピューティングシステム1200は、図1および図6からの地上制御システムの例であるが、他の例が存在してもよい。コンピューティングシステム1200は、通信インターフェース1201、ユーザインターフェース1202、および処理システム1203を備える。処理システム1203は、通信インターフェース1201およびユーザインターフェース1202にリンクされている。処理システム1203は、処理回路1205と、オペレーティングソフトウェア1207を記憶するメモリ装置1206とを含む。コンピューティングシステム1200は、明確にするために示されていない、電池、電源、および筐体などの他の周知の構成要素を含むことができる。コンピューティングシステム1200は、1つ以上のサーバコンピューティングシステム、デスクトップコンピューティングシステム、ラップトップコンピューティングシステム、タブレット、またはそれらの組み合わせを含むいくつかの他のコンピューティングシステムを表すことができる。
通信インターフェース1201は、ネットワークカード、ポート、無線周波数(RF)、処理回路およびソフトウェア、あるいはいくつかの他の通信装置などの通信リンクを介して通信する構成要素を備える。通信インターフェース1201は、メタリックリンク、無線リンク、または光リンクを介して通信するように構成されることができる。通信インターフェース1201は、時分割多重(TDM)、インターネットプロトコル(IP)、イーサネット(登録商標)、光ネットワーキング、無線プロトコル、通信シグナリング、またはそれらの組み合わせを含む−いくつかの他の通信フォーマットを使用するように構成されることができる。いくつかの実施形態では、通信インターフェース1201は、アプリケーション、更新、および他の設定情報を提供するために衛星プラットフォームの衛星と通信するように構成されることができ、さらに各アプリケーションのプロセスの状態に関する状態情報および各アプリケーションのデータを衛星から受信するように構成されることができる。
ユーザインターフェース1202は、ユーザと対話してユーザ入力を受信し、媒体および/または情報を提示する構成要素を備える。ユーザインターフェース1202は、スピーカ、マイクロフォン、ボタン、ライト、ディスプレイスクリーン、タッチスクリーン、タッチパッド、スクロールホイール、通信ポート、またはそれらの組み合わせを含む−いくつかの他のユーザ入出力装置を含むことができる。いくつかの例では、ユーザインターフェース1202は省略されてもよい。いくつかの実施形態では、ユーザインターフェース1202が使用され、新たなソフトウェアアプリケーションについての展開利用可能性情報を提供することができ、さらに衛星プラットフォーム内に新たなソフトウェアアプリケーションを展開するための開発者の選択を受信するために使用されることができる。
処理回路1205は、マイクロプロセッサと、メモリ装置1206からオペレーティングソフトウェア1207を取得して実行する他の回路とを備える。メモリ装置1206は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実装された揮発性および不揮発性、取り外し可能および取り外し不能の媒体を含むことができる。メモリ装置1206は、単一の記憶装置として実装されてもよいが、複数の記憶装置またはサブシステムにわたって実装されてもよい。メモリ装置1206は、オペレーティングソフトウェア1207を読み取るためのコントローラなどの追加の要素を備えることができる。記憶媒体の例には、ランダムアクセスメモリ、読み取り専用メモリ、磁気ディスク、光ディスク、およびフラッシュメモリ、ならびにそれらの任意の組み合わせまたは変形形態、あるいは任意の他の種類の記憶媒体が含まれる。いくつかの実施形態では、記憶媒体は、非一時的記憶媒体とすることができる。場合によっては、記憶媒体の少なくとも一部は、一時的なものとすることができる。記憶媒体が伝搬信号であることは決してないことが理解されるべきである。
処理回路1205は、通常、メモリ装置1206ならびに通信インターフェース1201およびユーザインターフェース1202の一部も保持することができる回路基板上に搭載される。オペレーティングソフトウェア1207は、コンピュータプログラム、ファームウェア、またはいくつかの他の形態の機械可読プログラム命令を含む。オペレーティングソフトウェア1207は、入力モジュール1208、リソースモジュール1209、およびオプションモジュール1210を含むが、任意の数のソフトウェアモジュールが同じ動作を提供してもよい。オペレーティングソフトウェア1207は、オペレーティングシステム、ユーティリティ、ドライバ、ネットワークインターフェース、アプリケーション、またはいくつかの他の種類のソフトウェアをさらに含むことができる。処理回路1205によって実行されると、オペレーティングソフトウェア1207は、処理システム1203に、本明細書で説明されるようにコンピューティングシステム1200を動作させるように指示する。
少なくとも1つの実施形態では、入力モジュール1208は、ソフトウェアアプリケーションについての展開要件を示すユーザ入力を受信するように処理システム1203に指示する。この入力は、ドロップダウンメニュー、複数の選択肢、自然言語入力、またはユーザインターフェース1202を介した他の何らかの同様の入力方法を介して提供されてもよい。展開要件を識別することに加えて、リソースモジュール1209は、複数の衛星内のリソースの利用可能性を識別するように処理システム1203に指示する。これらのリソースは、各衛星で利用可能な処理リソース、通信リソース、およびセンサリソースを含むことができ、各衛星に割り当てられた現在のスケジューリング、ならびに衛星から状態情報を介して提供されることができる負荷レポートに基づいて判定されることができる。展開要件およびリソースの利用可能性が判定されると、オプションモジュール1210は、展開要件および複数の衛星におけるリソースの利用可能性に基づいてソフトウェアアプリケーションの展開のための展開オプションを判定し、ソフトウェアアプリケーションの開発者に対して展開オプションを提供するように、処理システム1203に指示することができる。
いくつかの例では、展開オプションを判定するための動作は、展開要件のうちの各展開要件が複数の衛星を介して満たされることができるかどうかを判定することを含むことができる。各展開要件が満たされることができる場合、各展開要件を満たすことでソフトウェアアプリケーションが展開されることができることを示すオプションが提供される。さらに、展開要件の少なくとも一部が満たされることができる場合、ソフトウェアアプリケーションが制限付きで展開されることができ且つ特定の制限についての情報を提供することができることを示す少なくとも1つのオプションが提供されることができる。例えば、アプリケーションが展開されることができるが、所望の地理的領域の一部のみをカバーする場合、その地理的領域についての制限を示すオプションが提供されることができる。
いくつかの例では、プラットフォームの利用可能な衛星に基づいてオプションを提供することに加えて、オプションモジュール1210は、開発者が新たな衛星をプラットフォームに追加することを可能にするオプションをさらに提供することができる。したがって、プラットフォームにおけるいかなる現在の欠陥も克服するために、開発者は、新たな衛星、いくつかの例では新たな衛星についてのハードウェアを展開し、アプリケーションについての新たな衛星を展開することを選択することができる。したがって、いくつかの実施形態では、アプリケーションは、アプリケーションの動作を提供するために、現在利用可能な衛星および新たな衛星をあてにすることができる。
含まれる説明および図は、当業者に最良の選択肢を構成して使用する方法を教示するための特定の実施形態を示している。本発明の原理を教示する目的で、いくつかの従来の態様は、簡略化または省略されている。当業者は、本発明の範囲内に入るこれらの実施形態からの変形形態を理解するであろう。当業者はまた、上述した特徴が様々な方法で組み合わせられて複数の実施形態を形成することができることを理解するであろう。結果として、本発明は、上述した特定の実施形態に限定されるものではなく、特許請求の範囲およびそれらの均等物によってのみ限定される。

Claims (20)

  1. 軌道衛星プラットフォームへのソフトウェアアプリケーションの展開を提供する方法において
    複数の軌道上衛星を含む前記軌道衛星プラットフォームによって、ソフトウェアアプリケーションをホストするための展開要件を示すユーザ入力を受信することと、
    前記ソフトウェアアプリケーションをサポートするために、前記複数の軌道上衛星内に存在するリソースの利用可能性を識別することと、
    少なくとも、前記展開要件および前記複数の軌道上衛星内に存在するリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての展開オプションを判定することと、
    前記展開オプションを前記ソフトウェアアプリケーションのユーザが開始する展開のためのユーザインターフェースを介して、複数の軌道上衛星における1以上に提供することと、を含む、方法。
  2. 前記展開要件が、関心のある地理的領域、関心のある動作時間、およびセンサ要件を少なくとも含む、請求項1に記載の方法。
  3. 前記複数の軌道上衛星内に存在するリソースの前記利用可能性を識別することは、前記複数の軌道上衛星に亘って、少なくとも仮想化実行リソースおよびセンサリソースの存在を識別することを含む、請求項1に記載の方法。
  4. 記展開オプションを提供することは、少なくとも前記ソフトウェアアプリケーションを前記複数の軌道上衛星に展開するための第1の展開オプションと、前記ソフトウェアアプリケーションを前記複数の軌道上衛星の少なくとも1つに加えて前記軌道衛星プラットフォームにまだ展開されてない少なくとも1つの追加の衛星に展開するための第2の展開オプションとを提供することを含む、請求項1に記載の方法。
  5. さらに、
    前記ユーザインターフェースにおいて、前記第1の展開オプションのユーザ選択を受信することと、
    前記ユーザ選択に応答して、前記ソフトウェアアプリケーションを前記複数の軌道上衛星における1つ以上の衛星に展開することとを含み、前記ソフトウェアアプリケーションが前記1つ以上の衛星の仮想化実行システム上の仮想ノードとして実行される、請求項4に記載の方法。
  6. さらに、
    前記ユーザインターフェースにおいて、前記第2の展開オプションのユーザ選択を受信することと、
    前記ユーザ選択に応答して、前記軌道衛星プラットフォームにまだ展開されてない少なくとも1つの追加の衛星についての構成を識別することとを含む、請求項4に記載の方法。
  7. 前記少なくとも1つの追加の衛星についての構成を識別することは、前記少なくとも1つの追加の衛星についてのハードウェア要件を示す第2のユーザ入力を受信することを含む、請求項6に記載の方法。
  8. 前記展開要件およびリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての前記展開オプションを判定することは、
    前記複数の軌道上衛星内に存在する前記リソースの利用可能性に基づいて、前記展開要件の各展開要件が前記複数の軌道上衛星に適合可能かどうかを判定することと、
    適合可能となっている各展開要件に少なくとも基づいて、前記展開要件が前記複数の軌道上衛星を介して適合可能であることを示展開オプションを前記ユーザインターフェースにおいて識別することとを含む、請求項1に記載の方法。
  9. 1つまたはコンピュータ可読記憶媒体と、
    前記1つ以上のコンピュータ可読記憶媒体と動作可能に結合する処理システムと、
    軌道衛星プラットフォームへのソフトウェアアプリケーションの展開を管理するための、前記1つ以上のコンピュータ可読記憶媒体に記憶されたプログラム命令と、を備えるコンピュータ装置であって、
    前記プログラム命令が、前記処理システムによって読み取られて実行されると、少なくとも、
    複数の軌道上衛星を含む前記軌道衛星プラットフォームによって、ソフトウェアアプリケーションをホストするための展開要件を示すユーザ入力を受信し、
    前記ソフトウェアアプリケーションをサポートするために、前記複数の軌道上衛星内に存在するリソースの利用可能性を識別し、
    少なくとも、前記展開要件および前記複数の軌道上衛星内に存在するリソースの前記利用可能性に基づいて、前記ソフトウェアアプリケーションの展開についての展開オプションを判定し、
    前記展開オプションを前記ソフトウェアアプリケーションのユーザが開始する展開のためのユーザインターフェースを介して、複数の軌道上衛星における1以上に提供する
    ように、前記処理システムに指示する、コンピュータ装置。
  10. 前記展開要件が、関心のある地理的領域、関心のある動作時間、およびセンサ要件を少なくとも含む、請求項9に記載のコンピュータ装置。
  11. 前記複数の軌道上衛星内に存在するリソースの前記利用可能性を識別するための前記プログラム命令が、前記複数の軌道上衛星に亘る少なくとも仮想化実行リソースおよびセンサリソースの存在の利用可能性を識別するように前記処理システムに指示する、請求項9に記載のコンピュータ装置。
  12. 記展開オプションを提供するための前記プログラム命令が、少なくとも前記ソフトウェアアプリケーションを前記複数の軌道上衛星に展開するための第1の展開オプションと、前記ソフトウェアアプリケーションを前記複数の軌道上衛星の少なくとも1つに加えて前記軌道衛星プラットフォームにまだ展開されてない少なくとも1つの追加の衛星に展開するための第2の展開オプションとを提供するように前記処理システムに指示する、請求項9に記載のコンピュータ装置。
  13. 前記プログラム命令が、さらに、
    前記第1の展開オプションのユーザ選択を受信し、
    前記ユーザの選択に応答して、前記ソフトウェアアプリケーションを前記複数の軌道上衛星における1つ以上の衛星に展開するように前記処理システムに指示し、前記ソフトウェアアプリケーションが、前記1つ以上の衛星の仮想化実行システム上の仮想ノードとして実行される、請求項12に記載のコンピュータ装置。
  14. 前記プログラム命令が、さらに、
    前記第2の展開オプションのユーザ選択を受信し、
    前記ユーザ選択に応答して、前記軌道衛星プラットフォームにまだ展開されてない少なくとも1つの追加の衛星についての構成を識別するように前記処理システムに指示する、請求項12に記載のコンピュータ装置。
  15. 前記少なくとも1つの追加の衛星について前記構成を識別するための前記プログラム命令が、前記少なくとも1つの追加の衛星についてのハードウェア要件を示す第2のユーザ入力を識別するように前記処理システムに指示する、請求項14に記載のコンピュータ装置。
  16. 前記展開要件およびリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての前記展開オプションを判定するための前記プログラム命令が、
    前記展開要件の各展開要件が、前記複数の軌道上衛星内のリソースの前記利用可能性に基づいて前記複数の軌道上衛星によって適合可能であるかどうかを判定し、
    適合可能となっている各展開要件に少なくとも基づいて、前記展開要件が前記複数の衛星を介して適合可能であることを示す第1の展開オプションを前記ユーザインターフェース内に示し、
    前記第1の展開オプションのユーザ選択を受信し、
    前記ユーザ選択に応答して、前記ソフトウェアアプリケーションを前記複数の軌道上衛星における1つ以上の衛星に展開し、前記ソフトウェアアプリケーションが前記1つ以上の衛星の仮想化実行システム上の仮想ノードとして実行される、
    ように前記処理システムに指示する、請求項9に記載のコンピュータ装置。
  17. 前記プログラム命令が、さらに、前記ユーザインターフェースを介して受信した前記ソフトウェアアプリケーションについての予算要件を識別し
    少なくとも、前記展開要件および前記複数の軌道上衛星内のリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての前記展開オプションを判定し、そして、前記予算要件、展開要件、および前記複数の軌道上衛星内のリソースの前記利用可能性に基づいて前記ソフトウェアアプリケーションの展開についての前記展開オプションを判定するように前記処理システムに指示する、請求項9に記載のコンピュータ装置。
  18. 1つまたはコンピュータ可読記憶媒体と、
    軌道衛星プラットフォームへのソフトウェアアプリケーションの展開を管理する前記1つ以上のコンピュータ可読記憶媒体に記憶されたプログラム命令とを備える装置であって、前記プログラム命令が、処理システムによって読み取られて実行されると、少なくとも、
    複数の軌道上衛星を備える前記軌道衛星プラットフォーム上に展開されるソフトウェアアプリケーションの展開要件を示すユーザ入力を受信し、前記ソフトウェアアプリケーションは、前記衛星プラットフォームによって提供されたセンサリソースを使用する地上ベースの活動の軌道上監視のための1又は複数の機能を備え、
    前記地上ベースの活動の軌道上監視のための1又は複数の機能をサポートするために、複数の軌道上衛星内に存在する少なくとも前記センサリソースの利用可能性を識別し、
    前記1又は複数の機能を実現するように前記ソフトウェアアプリケーションの前記衛星プラットフォーム上への展開についての展開オプションを判定し、前記1又は複数の展開オプションは、前記展開要件、および、前記地上ベースの活動を監視するための複数の軌道上衛星に存在する前記センサリソースの利用可能性に少なくとも基づいて判定され、
    少なくとも、全ての前記展開要件を実現することが可能となっている前記衛星プラットフォームによって提供されたセンサリソースを示す利用可能性に基づいて、前記展開要件を実現するために、前記複数の軌道上衛星の少なくとも1つに前記ソフトウェアアプリケーションを展開するために、少なくとも第1の展開オプションをユーザに提示のために提供する、
    ように、前記処理システムに指示する、装置。
  19. 前記展開要件が、前記衛星プラットフォームによって提供された前記センサリソースを使用して前記地上ベースの活動を監視することについて関心のある地理的領域、前記地上ベースの活動を監視するために関心のある動作時間、および前記地上ベースの活動を監視するためのセンサ要件を少なくとも含む、請求項18に記載の装置。
  20. 記プログラム命令が、さらに、
    前記ユーザ入力を介して受信した予算要件を識別し、
    前記予算要件、展開要件、および、軌道上のセンサリソースの前記利用可能性に少なくとも基づいて展開についての前記展開オプションを判定する、ように前記処理システムに指示する、請求項18に記載の装置。
JP2019526002A 2016-11-16 2016-12-02 衛星プラットフォームにおけるソフトウェアアプリケーション展開のオーケストレーション Active JP6633816B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/353,411 2016-11-16
US15/353,411 US9740465B1 (en) 2016-11-16 2016-11-16 Orchestration of software application deployment in a satellite platform
PCT/US2016/064584 WO2018093399A1 (en) 2016-11-16 2016-12-02 Orchestration of software application deployment in a satellite platform

Publications (2)

Publication Number Publication Date
JP2019537145A JP2019537145A (ja) 2019-12-19
JP6633816B2 true JP6633816B2 (ja) 2020-01-22

Family

ID=59581496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019526002A Active JP6633816B2 (ja) 2016-11-16 2016-12-02 衛星プラットフォームにおけるソフトウェアアプリケーション展開のオーケストレーション

Country Status (4)

Country Link
US (2) US9740465B1 (ja)
EP (1) EP3542263A4 (ja)
JP (1) JP6633816B2 (ja)
WO (1) WO2018093399A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11811681B1 (en) 2022-07-12 2023-11-07 T-Mobile Usa, Inc. Generating and deploying software architectures using telecommunication resources

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10230454B2 (en) * 2016-08-25 2019-03-12 Space Systems/Loral, Llc Cloud mask data acquisition and distribution using geosynchronous communications or broadcast satellites
US10530468B2 (en) * 2016-10-19 2020-01-07 Vector Launch Inc. State transfer among virtualized nodes in spaceborne or airborne systems
US10805001B2 (en) 2016-10-19 2020-10-13 Lockheed Martin Corporation State transfer among spaceborne and airborne devices
US10491710B2 (en) 2017-07-19 2019-11-26 Vector Launch Inc. Role-specialization in spaceborne and airborne computing platforms
US10749959B2 (en) 2018-02-09 2020-08-18 Lockheed Martin Corporation Distributed storage management in a spaceborne or airborne environment
US10715601B2 (en) * 2018-11-26 2020-07-14 Lockheed Martin Corporation Enhanced deployment of applications in airborne and spaceborne nodes
US10776158B2 (en) * 2019-01-31 2020-09-15 Lockheed Martin Corporation Management of application deployment across multiple provisioning layers
CN109927944B (zh) * 2019-05-07 2021-01-12 成都国星宇航科技有限公司 微纳卫星智能设计平台
US11476922B2 (en) 2019-12-12 2022-10-18 NewSpace Networks, Inc. Satellite communication link management for communication nodes
US11385887B2 (en) * 2020-03-25 2022-07-12 Maxar Space Llc Multi-mission configurable spacecraft system
CN113485292B (zh) * 2021-06-29 2022-07-01 上海利正卫星应用技术有限公司 一种提升多星并行测试能力的方法及系统
CN114501474B (zh) * 2021-12-24 2023-11-07 北京航空航天大学 卫星网络控制器部署方法、设备、存储介质及程序产品
CN114816513B (zh) * 2022-06-29 2022-09-20 湖南大佳数据科技有限公司 一种网络安全靶场与卫星导航训练系统的融合系统与方法
CN115904333B (zh) * 2023-01-09 2023-10-13 中国人民解放军国防科技大学 一种可扩展卫星地面集成测试系统设计方法及系统

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790536A (en) 1989-01-31 1998-08-04 Norand Corporation Hierarchical communication system providing intelligent data, program and processing migration
US5724345A (en) 1995-12-13 1998-03-03 Lucent Technologies Inc. System and method for a scalable and reliable transmission of electronic software distribution
US5886991A (en) * 1995-12-13 1999-03-23 Lucent Technologies Inc. System and method for quickly distributing program updates in a distributed architecture processing system
US6591084B1 (en) * 1998-04-27 2003-07-08 General Dynamics Decision Systems, Inc. Satellite based data transfer and delivery system
JP2001067232A (ja) 1999-08-31 2001-03-16 Hitachi Ltd ソフトウエアの配信システムおよびソフトウエアの受信端末装置
US7151929B1 (en) * 2000-08-18 2006-12-19 Northrop Grumman Corporation Satellite payload data communications and processing techniques
JP2002182765A (ja) * 2000-12-11 2002-06-26 Mitsubishi Electric Corp 電子計算機
US20020104920A1 (en) * 2001-02-08 2002-08-08 Steven Thompson Method and apparatus for loading satellite software while moving a satellite to a new orbit
US7463890B2 (en) * 2002-07-24 2008-12-09 Herz Frederick S M Method and apparatus for establishing ad hoc communications pathways between source and destination nodes in a communications network
JP2004272427A (ja) * 2003-03-06 2004-09-30 Fujitsu Ltd 観測運用計画立案処理方法、観測運用計画立案装置、および観測運用計画立案処理プログラム
US20050124332A1 (en) * 2003-12-08 2005-06-09 Clark David R. Mobile device programming system and method
JP2007517466A (ja) * 2003-12-29 2007-06-28 ピアザト・エルエルシー 衛星間クロスリンク通信システム、装置、方法およびコンピュータプログラム製品
US20050262495A1 (en) * 2004-05-18 2005-11-24 Bea Systems, Inc. Administration mode for server applications
US7366706B2 (en) * 2004-11-23 2008-04-29 International Business Machines Corporation Method and apparatus for solution-template based deployment and management of an integration solution
US7653902B2 (en) 2004-12-13 2010-01-26 Sap Ag Determining software deployment parameters
US7992134B2 (en) * 2005-04-29 2011-08-02 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Systems, methods and apparatus for modeling, specifying and deploying policies in autonomous and autonomic systems using agent-oriented software engineering
US8140816B2 (en) * 2005-05-12 2012-03-20 International Business Machines Corporation Utilizing partition resource requirements from workload estimation to automate partition software configuration and validation
US8819659B2 (en) * 2005-09-14 2014-08-26 Millennial Media, Inc. Mobile search service instant activation
US7874520B2 (en) * 2006-03-21 2011-01-25 Lockheed Martin Corporation Satellite with deployable, articulatable thermal radiators
US20070271560A1 (en) * 2006-05-18 2007-11-22 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
US9614929B2 (en) * 2006-12-19 2017-04-04 International Business Machines Corporation Application server with automatic and autonomic application configuration validation
WO2008086416A2 (en) * 2007-01-09 2008-07-17 Viasat, Inc. Scalable satellite deployment
TWI352931B (en) * 2007-06-20 2011-11-21 Ind Tech Res Inst Resource management device and method
US7801994B2 (en) * 2007-11-29 2010-09-21 Hitachi, Ltd. Method and apparatus for locating candidate data centers for application migration
US20140201218A1 (en) * 2008-06-19 2014-07-17 Servicemesh, Inc. Systems and methods for providing ranked deployment options
JP5471620B2 (ja) * 2010-03-08 2014-04-16 富士通株式会社 観測計画装置、観測計画方法、および観測計画プログラム
WO2011140531A1 (en) * 2010-05-06 2011-11-10 The Government Of The United States Of America As Represented By The Secretary Of The Navy Deployable satellite reflector with a low passive intermodulation design
WO2011150416A1 (en) * 2010-05-28 2011-12-01 Telcordia Technologies, Inc. Context aware adaptive switching in reconfigurable low earth orbit satellite networks
JP2014038364A (ja) * 2010-10-27 2014-02-27 Hitachi Ltd リソース管理サーバ、リソース管理方法及びリソース管理プログラム
WO2012092509A1 (en) * 2010-12-29 2012-07-05 Information Data Technologies, Llc Satellite-based low power resource meter reading systems and methods
US9134964B2 (en) 2011-04-06 2015-09-15 Media Direct, Inc. Systems and methods for a specialized application development and deployment platform
US8706869B2 (en) * 2011-06-14 2014-04-22 International Business Machines Corporation Distributed cloud placement software
US8914794B2 (en) * 2011-06-30 2014-12-16 Rockwell Automation Technologies, Inc. Multiple deployment of applications with multiple configurations in an industrial automation environment
EP2796997B1 (en) * 2011-12-19 2017-08-30 Fujitsu Limited Resource search device and program for same
US8929278B2 (en) * 2012-02-06 2015-01-06 Maxlinear, Inc. Method and apparatus for content protection and billing for mobile delivery of satellite content
US9042295B1 (en) * 2012-03-01 2015-05-26 The Boeing Company Transponded anti-jam satellite communications
US9577704B2 (en) * 2012-03-01 2017-02-21 The Boeing Company Satellite communications management system
US20150199197A1 (en) * 2012-06-08 2015-07-16 Stephane H. Maes Version management for applications
US9645807B2 (en) * 2012-08-28 2017-05-09 International Business Machines Corporation Automated deployment of a configured system into a computing environment
US9014241B2 (en) * 2012-11-12 2015-04-21 Xilinx, Inc. Digital pre-distortion in a communication network
US8797969B1 (en) * 2013-02-08 2014-08-05 Magnolia Broadband Inc. Implementing multi user multiple input multiple output (MU MIMO) base station using single-user (SU) MIMO co-located base stations
US20160242024A1 (en) 2013-03-15 2016-08-18 Moki Mobility, Inc. Purposed device management platform
US10063311B2 (en) * 2013-07-17 2018-08-28 Hughes Network Systems, Llc System and architecture for space-based and mobile terrestrial sensor vehicles, and end-to-end network for aggregation and processing of sensor data
US20150078178A1 (en) * 2013-09-16 2015-03-19 Tachyon Networks Incorporated Software platform for implementation and control of satellite communication systems
US9696408B2 (en) * 2014-02-04 2017-07-04 University Of Florida Research Foundation, Inc. Robust integrated precision high-speed satellite attitude determination and control system (ADCS)
US20150247928A1 (en) * 2014-02-28 2015-09-03 Texas Instruments Incorporated Cooperative location sensor apparatus and system for low complexity geolocation
GB2524723A (en) * 2014-03-11 2015-10-07 Avanti Broadband Ltd Method, apparatus and system for use in satellite broadband installation
US9321544B2 (en) * 2014-07-10 2016-04-26 The Aerospace Corporation Systems and methods for optimizing satellite constellation deployment
US9763167B2 (en) * 2014-08-03 2017-09-12 Hughes Network Systems, Llc Centralized ground-based route determination and traffic engineering for software defined satellite communications networks
US10565534B2 (en) * 2014-11-11 2020-02-18 Amazon Technologies, Inc. Constraints and constraint sharing in a catalog service platform
US10193234B2 (en) * 2015-01-29 2019-01-29 Speedcast International Limited Method for upgrading a satellite antenna assembly and an associated upgradable satellite antenna assembly
JP6358974B2 (ja) * 2015-02-17 2018-07-18 三菱電機株式会社 観測計画作成装置及び観測装置
US9916270B2 (en) * 2015-03-27 2018-03-13 Intel Corporation Virtual intelligent platform management interface (IPMI) satellite controller and method
WO2017015508A1 (en) * 2015-07-22 2017-01-26 California Institute Of Technology Large-area structures for compact packaging
US9641238B1 (en) * 2016-10-19 2017-05-02 Vector Launch Inc. Virtualization-enabled satellite platforms

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11811681B1 (en) 2022-07-12 2023-11-07 T-Mobile Usa, Inc. Generating and deploying software architectures using telecommunication resources

Also Published As

Publication number Publication date
EP3542263A4 (en) 2020-09-02
WO2018093399A1 (en) 2018-05-24
US9740465B1 (en) 2017-08-22
JP2019537145A (ja) 2019-12-19
EP3542263A1 (en) 2019-09-25
US9875091B1 (en) 2018-01-23

Similar Documents

Publication Publication Date Title
JP6633816B2 (ja) 衛星プラットフォームにおけるソフトウェアアプリケーション展開のオーケストレーション
US10651926B2 (en) State transfer among satellite platforms
US10659149B2 (en) Virtualized software payloads on satellite devices
US10530468B2 (en) State transfer among virtualized nodes in spaceborne or airborne systems
JP7036900B2 (ja) クラスタ化された衛星プラットフォームでの役割の特殊化
US10757027B2 (en) Quality of service management in a satellite platform
Ashida et al. Design of Tokyo Tech nano-satellite Cute-1.7+ APD II and its operation
JP6924892B2 (ja) 複数の衛星装置間の帯域幅認識状態転送
JP6925500B2 (ja) 衛星プラットフォームにおける擬似静止構成
JP2020527910A (ja) 衛星プラットフォームにおける軌道ネットワーク層状化
US11385887B2 (en) Multi-mission configurable spacecraft system
US10805001B2 (en) State transfer among spaceborne and airborne devices
JP7260460B2 (ja) システム、通信制御装置、プログラム、及び制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190712

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190712

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190712

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190911

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191212

R150 Certificate of patent or registration of utility model

Ref document number: 6633816

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250