(57)【特許請求の範囲】
【請求項１】
無人航空機であって、
複数の場所の間で前記無人航空機を推進させる推進サブシステムと、
メッセージを受信及び送信するトランシーバと、
１つまたは複数のプロセッサ、および、メモリを有する搭載コンピュータシステムと、
を備え、
前記メモリは、
前記無人航空機によって完了されるタスクの集合と、
前記１つまたは複数のプロセッサによる実行の結果として、前記搭載コンピュータシステムに、
前記トランシーバを介して第２の無人航空機からのメッセージを受信させ、
前記第２の無人航空機からの前記メッセージに含まれるデジタル証明書およびデジタル署名に少なくとも部分的に基づいて前記第２の無人航空機からの前記メッセージが信頼できないと決定させ、
信頼できない前記メッセージによらず前記タスクの集合のためのタスクを再計算させ、
前記再計算されたタスクを完了するために、少なくとも前記推進サブシステムを制御させる
命令と、
を記憶する、無人航空機。
【請求項２】
前記メッセージは第１のメッセージであり、
前記命令が、前記搭載コンピュータシステムに、
前記トランシーバを介して受信された、前記デジタル署名および前記デジタル証明書を有する第２のメッセージを取得させ、
前記デジタル署名および前記デジタル証明書の少なくとも１つに少なくとも部分的に基づいて前記第２のメッセージの信頼性を検証させ、
前記第２のメッセージの信頼性に少なくとも部分的に基づいて前記第１のメッセージの信頼性を決定させる
請求項１に記載の無人航空機。
【請求項３】
前記第２のメッセージが、前記第１のメッセージを生じさせた前記第２の無人航空機が信頼できないことを示し、
前記命令が前記搭載コンピュータシステムに、前記第２のメッセージが信頼できると決定した結果として、前記第１のメッセージが信頼できないと決定させる、請求項２に記載の無人航空機。
【請求項４】
前記タスクの再計算が前記タスクのルートの再計算を備える、請求項１から３のいずれか一項に記載の無人航空機。
【請求項５】
コンピュータ実装方法であって、
無人航空機の搭載コンピュータシステムの制御下で、
前記無人航空機によって実行されるタスクの集合を記憶することと、
前記無人航空機のトランシーバを介して他の無人航空機から少なくとも１つのメッセージを受信することと、
前記少なくとも１つのメッセージに含まれるデジタル証明書およびデジタル署名に少なくとも部分的に基づいて前記少なくとも１つのメッセージが信頼できないと決定することと、
前記少なくとも１つのメッセージが信頼できないと決定することの結果として、記憶された前記タスクの集合を更新することと、
前記無人航空機に、記憶され更新された前記タスクの集合を実行させることと
を含む、コンピュータ実装方法。
【請求項６】
前記記憶されたタスクの集合を更新することが、前記少なくとも１つのメッセージとは関係なく前記記憶されたタスクの集合の少なくとも１つのタスクを再計算することを含む、請求項５に記載のコンピュータ実装方法。
【請求項７】
前記記憶されたタスクの集合を更新することが、前記記憶されたタスクの集合の少なくとも１つのタスクを前記少なくとも１つのメッセージに依存させたままにするために実行される、請求項６に記載のコンピュータ実装方法。
【請求項８】
前記記憶されたタスクの集合を更新することが、前記記憶されたタスクの集合の少なくとも１つのタスクを取り消すことを含む、請求項５〜７のいずれか一項に記載のコンピュータ実装方法。
【請求項９】
別のメッセージを少なくとも１つの追加の無人航空機に送信することをさらに含み、前記別のメッセージが前記他の無人航空機が信頼できないことを示す、請求項５〜８のいずれか一項に記載のコンピュータ実装方法。
【請求項１０】
前記無人航空機によって秘密として維持される暗号鍵を使用し、前記別のメッセージのデジタル署名を生成することをさらに含み、
前記別のメッセージを送信することがさらに、前記生成されたデジタル署名を送信することを含む、請求項９に記載のコンピュータ実装方法。
【請求項１１】
前記少なくとも１つのメッセージが信頼できないと決定することが、別のメッセージの前記デジタル署名を検証することを含む、請求項５〜１０のいずれか一項に記載のコンピュータ実装方法。
【請求項１２】
前記記憶されたタスクの集合を更新することが、前記記憶されたタスクの集合にタスクを追加することを含む、請求項５〜１１のいずれか一項に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、「ＡＵＴＨＥＮＴＩＣＡＴＥＤ  ＭＥＳＳＡＧＥＳ  ＢＥＴＷＥＥＮ  ＵＮＭＡＮＮＥＤ  ＶＥＨＩＣＬＥＳ」と題する２０１５年３月２７日に出願された米国特許出願第１４／６７１，２６４号、「ＵＮＭＡＮＮＥＤ  ＶＥＨＩＣＬＥ  ＲＯＬＬＢＡＣＫ」と題する２０１５年３月２７日に出願された米国特許出願第１４／６７１，２２４号、「ＵＮＭＡＮＮＥＤ  ＶＥＨＩＣＬＥ  ＭＥＳＳＡＧＥ  ＥＸＣＨＡＮＧＥ」と題する２０１５年３月２７日に出願された米国特許出願第１４／６７１，１６１号、及び「ＩＮＦＬＵＥＮＣＩＮＧ  ＡＣＣＥＰＴＡＮＣＥ  ＯＦ  ＭＥＳＳＡＧＥＳ  ＩＮ  ＵＮＭＡＮＮＥＤ  ＶＥＨＩＣＬＥＳ」と題する２０１５年３月２７日に出願された米国特許出願第１４／６７１，２０３号の完全な開示をすべての目的のために参照することにより組み込む。
【背景技術】
【０００２】
技術が発展するにつれ、無人航空機（「ドローン」とも呼ばれる）等の無人機の可能性が高まる。無人機は、以前は可能ではなかった効率及び能力をもって品目の配達及びデータ収集等のタスクを実行できる。同時に、無人機技術の改善は解決が困難である問題を生じさせている。例えば、無人機が、無人機を制御するために信号を送信できる送信機の通信範囲外に移動することがある。結果として、たとえ無人機が少なくとも部分的に自律的に動作できるとしても、直接的な通信範囲の外にいる無人機に対して変更を通信することは困難である場合がある。別の例として、車両が無人であるという事実は、車両の操作の悪意のある妨害または他の妨害、及び係る妨害、つまり概して無人機の誤動作を検出する能力に対する脆弱性を増加させる。無人機のフリートのサイズが大きくなるにつれ、係る問題を管理する、及び概してフリートを管理する複雑さは相応して増加する。
【０００３】
本開示に係る多様な実施形態が図面を参照して説明される。
【図面の簡単な説明】
【０００４】
【図１】本開示の多様な態様を示す図である。
【図２】実施形態に係る無人航空機の例示的な例を示す図である。
【図３】実施形態に係る無人航空機のフリートを含む環境の例示的な例を示す図である。
【図４】実施形態に従って無人航空機によるタスクを記録するために使用されてよいデータ構造の例示的な例を示す図である。
【図５】実施形態に従ってメッセージを送信するためのプロセスの例示的な例を示す図である。
【図６】実施形態に従って受信されるメッセージを処理するためのプロセスの例示的な例を示す図である。
【図７】実施形態に従ってメッセージが信頼できない結果として操作が実行されてよい場合に受信されるメッセージを処理するためのプロセスの例示的な例を示す図である。
【図８】実施形態に従って無人航空機のフリートでのメッセージの受入れに影響を与えるためのプロセスの例示的な例を示す図である。
【図９】実施形態に従ってメッセージの確実性を活用し、受信されるメッセージを処理するためのプロセスの例示的な例を示す図である。
【図１０】実施形態に従って無人航空機間でのメッセージログの転送を示す図である。
【図１１】実施形態に従って無人航空機にメッセージログを提供するためのプロセスの例示的な例を示す図である。
【図１２】実施形態に従って受信されるメッセージログを処理するためのプロセスの例示的な例を示す図である。
【図１３】実施形態に係る無人航空機の例示的な例を示す図である。
【図１４】多様な実施形態が実施できる環境を示す図である。
【発明を実施するための形態】
【０００５】
以下の説明では多様な実施形態が説明される。説明のために、特定の構成及び詳細が、実施形態の完全な理解を提供するために説明されている。しかしながら、本実施形態が特定の詳細なしに実践され得ることも当業者には明らかになる。さらに、周知の特徴は、説明されている実施形態を分かりにくくしないために省略または簡略化されることがある。
【０００６】
本明細書に説明され、提案される技法は一般的にドローンと呼ばれる無人航空機のフリートの間での通信強化を含む。無人航空機の他の役割も本開示の範囲内であるが、無人航空機は、小包の集荷及び／または配達等の多様なサービスを実行するシステムの部分であってよい。実施形態では、無人航空機はフリートの間でメッセージを伝えるために多様な操作を実行し、受信されるメッセージを信頼する（例えば、受信されるメッセージに従って動作する）かどうか判断を下すように構成される。
【０００７】
実施形態では、無人航空機は、無人航空機がそのために活動するサービスプロバイダによって運用される証明機関または該サービスプロバイダによって信頼される別の証明機関等の信頼できるコンピュータシステムのデジタル証明書を用いて構成される。また、無人航空機は、無人航空機が無人航空機の外部ではアクセスできない秘密として維持する公開−秘密暗号鍵対の秘密暗号鍵を用いても構成される。また、無人航空機は、公開暗号鍵を入手して、無人航空機によって生成されるデジタル署名を検証するために使用できる秘密暗号鍵のためのデジタル証明書を用いて構成されてもよい。デジタル証明書は、証明機関のデジタル証明書に対応する秘密暗号鍵を使用し、デジタルで署名されてよく、無人航空機のデジタル署名の真偽の検証を可能にしてよい。また、フリートの他の無人航空機は、係る証明書及び秘密暗号鍵を用いて（各無人航空機が異なる秘密暗号鍵を有してそのように構成された）構成されてもよい。以下により詳細に説明されるように、係る構成は無人航空機が安全なメッシュネットワークを操作できるようにする。
【０００８】
例えば飛行中またはホーム施設で等、動作中、無人航空機はメッセージを受信してよい。メッセージは、係るメッセージを生成するためにコマンド制御サーバを活用してよいコマンド制御サーバから生じてよい、または別の無人航空機から生じてよい。いくつかの実施形態では、メッセージはあるエンティティ（例えば、コマンド制御サーバまたは他の無人航空機）から生じてよいが、別のエンティティ（例えば、メッセージを生じさせなかった無人航空機）から受信されてよい。メッセージは、無人航空機がどのようにして動作するのか、係る判断が新しいタスクを追加するのか、それとも既存のタスクを修正するのかを含むかどうかを判断するために処理できる情報の、無人航空機に対するインジケータとしての機能を果たしてよい。一例に、メッセージは（例えば、指定された場所まで飛行するための、及び指定された場所でアクションを実行するための等）操作を実行するためのコマンドを符号化してよい。いくつかの例では、コマンドは、例えば無人航空機に、無人航空機がどの操作を実行しているのかについての情報（例えば、以下に説明されるデータ構造または操作計画を符号化する他の情報）、ログ、秘密暗号鍵、証明機関デジタル証明書、及び／または他の情報を削除させてよい、無人航空機に記憶された情報を削除することである。係る削除は、記憶場所が無作為なデータまたは無作為ではない（例えば、ゼロ）データで上書きされて、メモリに記憶されている情報の取出しを妨げる安全な削除であってよい。
【０００９】
別の例として、メッセージは現在のタスクまたは未決定タスクのためのルートを変更するためのコマンドを符号化してよい。さらに別の例として、メッセージは、無人航空機が、現在のタスクまたは未決定タスクのルートを変更するのか、それとも（例えば、タスクの目的地に荒れ模様の天気が存在するとき）現在のタスクのアボート等の他の操作を実行するのか、独立した判断を下すために使用できる天候データを符号化してよい。さらに別の例として、メッセージは、無人航空機がハザードを回避するまたは（例えば、ハザードがタスクの目的地の（閾値近接の範囲内）に、もしくはタスクの目的地の（閾値近接の範囲内の）近くにあるため、現在のタスクもしくは未決定タスクをアボートすることができるように切り替える指定場所でのハザードについての情報を符号化してよい。他のメッセージは他の無人航空機の信頼性に関してよい。例えば、メッセージは、別の無人航空機の証明書が取り消され、結果として、他の無人航空機からの少なくともいくつかのメッセージに依存するべきではないかどうかを示してよい。また、他のメッセージは多様な実施形態で使用されてもよい。
【００１０】
多様な実施態様では、無人航空機が別の無人航空機に対してメッセージを送信するためには、無人航空機は（例えばメッセージを生成するまたは別のソースからメッセージを受信することによって）メッセージを入手し、その秘密暗号鍵を使用してメッセージにデジタルで署名し、それによってメッセージのデジタル署名を生成する。無人航空機は次いで他の無人航空機に対して、メッセージ、デジタル署名、及びそのデジタル証明書のコピーを送信して、他の無人航空機がメッセージの真偽を検証し、相応して動作できるようにする。メッセージの真偽を検証するために、メッセージ、デジタル署名、及びデジタル証明書を受信する無人航空機は、無人航空機がデジタル証明書の真偽を検証し、同様にデジタル署名を使用し、メッセージの真偽を検証し、相応して動作するための操作の集合を実行してよい。例の実施形態では、少なくともいくつかのタイプのメッセージの場合、デジタル署名、デジタル証明書、及びメッセージはすべて、無人航空機がメッセージを信頼するための本物として暗号で検証されなければならない。
【００１１】
無人航空機が、無人航空機が受信するメッセージをどのように処理するのかは、多様な実施形態に従って、及び受信される多様なメッセージのタイプに従って変わることがある。例えば、いくつかの実施形態では、無人航空機は、例えば荒れ模様の天気状況、人災（例えば、人が自動推進体を使用し、無人航空機に物理的に危害を加えようとすること）、不良無線通信状態、ある区域の上を飛行することに対する当局により課される制限、及び／または区域の回避を行わせる他の情報等の、特定の場所でのハザードを示すメッセージを受信する。メッセージは、例えば区域を画定する座標の集合、単一座標、及び座標を中心とする円の半径、事前に確定された区域の識別子、または回避する区域を識別するために無人航空機によって使用可能な他の情報を符号化してよい。無人航空機は、受信されたメッセージの真偽の検証が成功すると、別の経路に切り替えて区域を回避するために現在のタスクを修正してよい。また、無人航空機はやはり区域を回避するために未決定タスク（例えば、タスクの待ち行列の中のタスク）を修正できる、または例えば未決定タスクが現在のタスクになるまたは現在のタスクになるところであるとき等、後に処理されるメッセージを保存してよい。未決定タスクのための後の処理は、タスクが後で受信されるあらゆるメッセージまたは以下に説明するような他の処理によって取って代わられるのかどうかを判断することを含んでよい。
【００１２】
いくつかの例では、無人航空機によって受信されたメッセージの処理は、無人航空機に、別の無人航空機からのメッセージが信頼できないことを示してよい。一例に、メッセージは（無人航空機の証明書の指紋であってよい無人航空機のデジタル証明書の識別子の形をとってよい）無人航空機の識別子、及び取消しの対象となる無人航空機のデジタル証明書の取り消しを示す情報を含んでよい。別の例として、メッセージのデジタル署名または証明書のデジタル署名は無効であり、メッセージがそこから受信された無人航空機との問題を示すことがある。
【００１３】
メッセージを受信した結果として無人航空機の信頼できないことを検出した結果として、メッセージを受信した無人航空機は、無人航空機が以前に受信し、記憶したメッセージを処理してよく、（例えば、現在のタスクまたは将来のタスクに関するメッセージに制限することによって）無人航空機の操作に潜在的に影響を及ぼすことがあるメッセージに処理を制限してよい。例えば、以前のメッセージがタスクに対する変更を生じさせた場合、無人航空機は変更をロールバックさせてよい、またはタスクが信頼できない無人航空機のメッセージと無関係となるように、タスクのための情報（例えば、ルート）を再計算してよい。現在のメッセージまたは以前のメッセージが信頼できないと判断される無人航空機からであるときにそのメッセージが信頼されるかどうかは、メッセージのタイプに左右されることがある。例えば、天候データを有するメッセージは（つまり、別の無人航空機からの近傍の区域の天候データと比較して）信頼されてよい、または少なくとも考慮されてよい。一方、有害なアクション及び／または取り返しのつかないアクション（例えば、ペイロードのための意図された目的地ではない場所でペイロードを放出すること）を引き起こすことがあるメッセージは信頼されないことがある。
【００１４】
別の例として、無人航空機はメッセージに対して投票することによってメッセージを処理してよい。例示的な例として、無人航空機は区域の天候データを有するメッセージを受信してよい。無人航空機は、同じ区域（例えば、または該区域のなんらかの閾値近接の中の区域）の天候データを有する場合、無人航空機は（例えば天候データのそれぞれのフィールド値を比較し、各それぞれの値の差異が閾値の範囲内にあるかどうかを判断することによって）受信した天候データを独自の天候でデータと比較し、受信された天候データが独自の天候データに十分に近い場合、受信したメッセージに信任票を追加してよい。天候データを比較するための距離は、ベクトルとして処理される天候データの２つの集合間の最大座標差またはユークリッド距離（例えば、真のユークリッド距離、正規化されたユークリッド距離、または調和的に合計されたユークリッド距離）等の任意の適切な測定基準を使用し、計算されてよい。概して、それによりデータセットが比較されてよい任意の方法、及び信任票をデータに追加するかどうかの判断は本開示の範囲内にあると見なされる。信任票は例えば、無人航空機の秘密暗号鍵を使用し、メッセージまたはメッセージの一部（例えば、メッセージの識別子）にデジタルで署名することによって追加されてよい。他の情報は、票の確実性のゼロと１との間の値等のデジタル署名の代わりにまたはデジタル署名に加えて含まれてよく、いくつかの例では、他の情報はデジタル署名される情報に含まれてよい。
【００１５】
追加のデジタル署名を有するメッセージは、次いで適用可能な天候データを有する場合、票を追加するための類似するプロセスを実行してよい１つまたは複数の他の無人航空機に送信されてよい。いくつかの実施形態では、票は正にすぎない（つまり、無人航空機は、メッセージに対して投票するまたはメッセージに対して投票しないことによってメッセージの受入れに対して影響を与えてよい）。一方、他の実施形態では、票は正または負であることがある。例えば、無人航空機は、独自の天候データの１つまたは複数のフィールド値が受信された天候データのそれぞれのフィールドと異なり、それが受信された天候データの時間閾値の範囲内にあるまたは受信された天候データ（または両方）よりもより最近である場合、負の票を追加してよく、無人航空機は負の票を示す情報を追加し、その情報にデジタルで署名してよい。いくつかの例では、無人航空機がメッセージの正の票を追加しない場合、無人航空機はそのメッセージを再送することを控える。
【００１６】
無人航空機がメッセージを受信するとき、無人航空機がメッセージを処理する方法は、メッセージが無人航空機から無人航空機に渡るにつれ、メッセージが受信する票に依存してよい。例えば、現在のタスクの変更は閾値数の票を必要とすることがある。同様に、票を有するメッセージを受信する無人航空機は、無人航空機が異なる数の票について実行する異なる操作を有することがある。一例に、無人航空機は、十分な票を得ることができるかどうかを判断しようとして（例えば、票を追加することによって）メッセージを確認するまたはそれ以外の場合メッセージを入念に検査する要求をコマンド制御センタまたは別の無人航空機に送信し、閾値信任が得られる場合、無人航空機は１つまたは複数のタスクを変更してよい。
【００１７】
多様な最適化が上記に及び以下により詳細に説明される技法に適用されてよい。例えば、いくつかの実施態様では、無人航空機は、無人航空機が他の関連する情報（例えば、デジタル署名及び証明書または証明書の識別子）とともに受信したメッセージのログを維持する。無人航空機が別の無人航空機と通信する能力を検出するとき、無人航空機はメッセージログまたはメッセージログの部分（例えば、やはりメッセージログと呼ばれるなんらかの指定された時間量の中で受信されるメッセージ）を交換してよい。無人航空機が別の無人航空機からメッセージログを有するメッセージを受信するとき、メッセージログを受信した無人航空機は、上述されたように、メッセージログを独自のメッセージログと結合（例えば、マージ）し、無人航空機がまだ処理していないあらゆるメッセージを処理してよい。例えば、無人航空機は任意の受信したメッセージを使用して、無人航空機が講じたあらゆるアクションをロールバックさせてよい、及び／または無人航空機が受信したメッセージに従って１つまたは複数の未決定タスク及び／またはアクティブタスクを修正してよい。新しいメッセージの処理は、より最近のメッセージがより旧いメッセージの影響を無効にできるように発生順に進んでよい。多くが以下に明白に説明される他の技法も本開示の範囲内にある。
【００１８】
図１は、多様な実施形態を実施できる環境１００の例示的な例を示す。環境１００では、無人航空機１０２は別の無人航空機１０４と通信する。無人航空機１０２は、例えば無人航空機１０２が搭載しているセンサの集合を使用し、訂正したデータを通信してよい。別の例として、無人航空機１０２は１つまたは複数の他の無人航空機からの１つまたは複数のメッセージを有してよく、メッセージの１つまたは複数を他の無人航空機１０４に中継してよい。
【００１９】
以下により詳細に説明されるように、本開示の多様な実施形態は、例えば図１に示される無人航空機１０２及び無人航空機１０４等の無人航空機間の安全な通信に関する。これを行うために、実施形態では、無人航空機１０２は無人航空機１０４にメッセージ１０６を送信する。メッセージは、無人航空機１０４が処理するように構成される方法で構成された情報の構造化された集合体であってよい。上述されたように、メッセージは、天候データ、コマンド、他の無人航空機についての情報、及び／または概して無人航空機１０４もしくは図に示されていない１つまたは複数の他の無人航空機の操作に潜在的に適用可能である情報を含んでよい。
【００２０】
多様な実施態様では、無人航空機間のメッセージは、係るメッセージが信頼されるべきかどうかの判断を可能にするために暗号技法を利用し、メッセージに関する無人航空機の操作は、メッセージが信頼されるかどうかに依存してよい。この特定の例では、無人航空機１０２から無人航空機１０４へのメッセージ１０６はメッセージ１０６のデジタル署名１０８を提供される。多様な実施形態では、メッセージ１０６は、秘密暗号鍵が、無人航空機１０２のハードウェア保護を提供するトラステッドプラットフォームモジュール（ＴＰＭ）または他の構成要素等のハードウェア構成要素の中で秘密として安全に維持される暗号用具であってもよい、公開−秘密暗号鍵の秘密暗号鍵を使用し、デジタルで署名される。非対称暗号技法が特定の実施形態の説明のために徹頭徹尾説明されているが、本明細書に説明される技法は無人航空機の間で共用される秘密を活用するアルゴリズム等、対称暗号アルゴリズムの使用に適応できることに留意されたい。概して、本開示の技法は、無人航空機に特有であり、無人航空機によって秘密として保持される暗号用具は、暗号用具または（例えば、秘密暗号鍵が暗号用具であるときの公開暗号鍵等の）暗号用具に対応する情報のどちらかにアクセスできる他の無人航空機によって暗号で検証可能なメッセージをレンダリングするために使用される技法に及ぶ。本開示の本実施形態は、メッセージの認証のために使用されているデジタル署名（対称及び非対称の両方）を説明するが、メッセージの真偽を検証するために他の認証情報が使用されてよいことに留意されたい。一例に、秘密認証情報自体が、アイデンティティまたは暗号用具であってよい秘密情報へのアクセスを証明するために使用できる他の情報を証明するために使用されてよい。概して、メッセージは、メッセージの発信者（例えば、無人航空機またはコマンド制御サーバ）、及び／または発信者とは異なる場合、メッセージを提供したエンティティ（例えば、無人航空機がメッセージを発しなかったときにメッセージがそこから受信された無人航空機）に特有である認証情報（例えば、デジタル署名または認証情報へのアクセスの他の証拠）とともに受信されてよい。
【００２１】
図１の示されている実施形態に戻ると、無人航空機１０２はさらに無人航空機１０４にデジタル証明書１１０を送信し、デジタル証明書１１０は無人航空機１０４が無人航空機１０２の中に記憶される秘密暗号鍵に対応する公開暗号鍵を決定し、公開暗号鍵を使用してメッセージ１０６のデジタル署名１０８を検証できるようにする。後述されるように、デジタル証明書１１０は証明機関（つまり、無人航空機１０４が信頼するように構成されるそれぞれのアイデンティティ（例えば、個々の無人航空機）にデジタル証明書を暗号によって結合することによってデジタル証明書を発行するコンピュータシステム）のデジタル署名を含んでよい。無人航空機１０４は、デジタル証明書１１０を発行した証明機関のデジタル証明書を有してよく、それによって無人航空機１０４が、デジタル証明書１１０の公開暗号鍵をデジタル署名１０８を検証するために信頼できると判断できるようにする。
【００２２】
上述されるように、無人航空機１０４は、無人航空機から受信されるメッセージが信頼できるとして暗号で検証されるかどうかに従って動作するように構成されてよい。したがって、無人航空機１０４がデジタル署名１０８の有効性の判断の成功によってメッセージ１０６を無事に認証するかどうかに応じて、無人航空機１０４は多様な操作を実行してよい。例えば、無人航空機１０４は、メッセージ１０６が本物であり、信頼できると判断した結果として、実行可能な命令の第１の集合に従って動作してよい。無人航空機１０４がメッセージ１０６が信頼できないと判断した結果として、無人航空機１０４は、実行可能な命令の別の集合を実行してよい。以下により詳細に説明されるように、無人航空機１０４が信頼できるメッセージまたは信頼できないメッセージを処理できる方法は、多様な実施形態に従って、及び本開示の多様な技法が使用されている無人航空機の特定の能力に従って変わってよい。
【００２３】
無人航空機が説明のために徹頭徹尾広範囲に使用されているが、本開示の技法は概して無人機に適用し、無人機は指定された目的地まで（例えば発送後人間の介入なしに）自律して移動できる車両であることに留意されたい。無人機は必ずしも飛行せず、陸上車両（例えば、車、トラック、及び他の自動車）、軌道車両（例えば、電車）、水の作用による車両（例えば、ボート及び潜水艦）、異なるタイプの飛行体（ヘリコプター、飛行機等）、及び／または他のタイプの車両を含むが、これに限定されるものではない。無人機は、いくつかの実施態様では、少なくともなんらかの操作のために及び／または自動システムの無効のために人間のオペレータを有することがあることに留意されたい。例えば、乗用車は、乗客が自動制御を無効にできる場合があっても無人機と見なされてよい。
【００２４】
図２は、無人航空機２００及び無人航空機２００が本明細書に説明される多様な技術を利用するために活用してよい情報の図を示す。無人航空機は、例えば図１に関連して上述されたように無人航空機であってよい。図に示されるように、無人航空機２００は、この例では、無人航空機２００が飛行もしくはそれ以外の場合移動できるようにする多様な構成要素、及び／または以下に説明されるように、他の構成要素を含む。実施形態では、図２に示されるように、無人航空機のフリートの各無人航空機２００は、以下に説明されるように、無人航空機２００の１つまたは複数のプロセッサがアクセスできる少なくとも３つの情報を利用可能にしている（例えば、メモリに記憶される）。この特定の例では、無人航空機２００が記憶する項目の１つは無人航空機の秘密暗号鍵２０２であり、無人航空機の秘密暗号鍵２０２は公開−秘密暗号鍵対の公開暗号鍵に対応する秘密暗号鍵であってよい。無人航空機の秘密暗号鍵２０２に対応する公開暗号鍵は、無人航空機デジタル証明書に符号化されてよい、またはそれ以外の場合、無人航空機デジタル証明書２０４によって指定されてよい。無人航空機証明書は、公開暗号鍵を含むまたはそれ以外の場合指定するデータの構造化された集合体であってよい。いくつかの実施形態では、公開暗号鍵を符号化する他の方法が本開示の範囲内にあると見なされるが、無人航空機のデジタル証明書及び本明細書に説明される他のデジタル証明書はＸ．５０９証明書である。
【００２５】
上述されたように、無人航空機秘密暗号鍵２０２は、メッセージ自体のデジタル署名及び／または他の情報のデジタル署名（例えば、メッセージのハッシュであってよいメッセージの識別子）等、メッセージのためのデジタル署名を生成するために使用できる。概して、メッセージのためのデジタル署名は、メッセージに暗号によって結び付けられるとして暗号によって検証可能である秘密認証情報（例えば、秘密暗号鍵）を使用し、生成される情報である。無人航空機証明書２０４の公開暗号鍵は、無人航空機の秘密暗号鍵２０２を使用し、生成されるデジタル署名が有効であるかどうかを検証するために使用できる。しかしながら、多様な状況では、デジタル署名の有効性は無人航空機間で伝えられるデータのセキュリティを保証するには十分ではない。したがって、実施形態では、無人航空機２００はさらに、無人航空機デジタル証明書２０４のデジタル署名を検証するために使用できる公開暗号鍵を有するデジタル証明書である証明機関デジタル証明書２０６を記憶し、係るデジタル署名は、証明機関によって秘密として保持される秘密暗号鍵を使用し、生成された可能性がある。
【００２６】
無人航空機のフリートの各無人航空機は、異なるそれぞれの秘密暗号鍵、及びそれぞれの秘密暗号鍵を使用し、生成されるデジタル署名を検証するために使用できる対応するデジタル証明書を有してよいことに留意されたい。しかしながら、各無人航空機は、証明機関証明書２０６の同じコピー、または概してデジタル証明書自体がフリートの無人航空機の中で変わる場合には証明機関証明書２０６によって符号化される公開暗号鍵のコピーを記憶してよい。さらに、個々の無人航空機は複数の異なる証明機関デジタル証明書を記憶してよく、単一の証明機関デジタル証明書はフリートの無人航空機のすべてのデジタル証明書を検証するには不十分であることがある。このようにして、無人航空機２００が別の無人航空機からメッセージを受信するとき、無人航空機はメッセージとともに含まれるデジタル署名の信用性を検証してよい。
【００２７】
多様な実施形態では、メッセージの受信はメッセージのデジタル署名及びメッセージのデジタル署名を検証する上で使用するためのデジタル証明書の受信も含む。したがって、無人航空機２００は、受信されたデジタル証明書の中で符号化されたまたはそれ以外の場合受信されたデジタル証明書によって指定される公開鍵である受信されたデジタル証明書を使用して、受信されたデジタル署名を検証できる。無人航空機２００は、受信されたデジタル証明書のデジタル署名を検証するために証明機関デジタル証明書２０６の独自のコピーを使用してよい。受信されたデジタル証明書のデジタル署名とメッセージのデジタル署名の両方とも有効である場合、無人航空機２００は信頼できる受信されたメッセージに従って動作してよい。同様に、受信されたデジタル証明書のデジタル署名とメッセージのデジタル署名の一方または両方が無効であると判断される場合、無人航空機２００は信頼できないメッセージに従って動作することがある。
【００２８】
図２は特定の実施態様を示すが、他の実施態様は本開示の範囲内にあると見なされることに留意されたい。例えば、いくつかの実施形態では、無人航空機のフリートの各無人航空機はフリートのさまざまな無人航空機に特有のすべてのデジタル証明書のローカルコピーを維持する。デジタルで署名されたメッセージが無人航空機によって受信されるとき、無人航空機は一致するデジタル証明書のルックアップを実行してよく、デジタル署名を検証するためにその一致するデジタル証明書を使用してよい。デジタル証明書のローカルコピーが以前に検証されていた場合、無人航空機は、この代替実施形態では、証明機関証明書を活用することなく、有効なデジタル署名を有するメッセージを信頼してよい。一致するデジタル証明書を選択するために、無人航空機識別子またはデジタル証明書の電子指紋等の識別子がメッセージとともに含まれてよい。他の変形形態も、本開示の範囲内にあると見なされる。
【００２９】
図３は、多様な実施形態を実施できる環境３００の例示的な例を示す。この特定の例では、環境３００は無人航空機３０２のフリートを含む。特定の実施形態で活用される特定の無線通信技法に依存してよい範囲内にあるとき、無人航空機３０２はコマンド制御施設３０４と通信してよい。
【００３０】
コマンド制御施設３０４は、無人航空機３０２と通信するためのコンピュータシステム及び通信装置を備える施設であってよい。コマンド制御施設３０４の特定の構成は多様な実施形態に従って変わってよい。いくつかの例では、コマンド制御施設は、無人航空機が物理的な商品（またはデジタル商品を記憶する物理的な品目）をその目的地での配達のためにそこから取り出す倉庫の構成要素である。商品は、例えば、オンライン電子マーケットで注文された商品であってよい。無人航空機３０２は異なる実施形態に従って大幅に変わってよく、電子マーケットで注文される物理的な商品の配達のために使用される無人航空機に制限されないことに留意されたい。例えば、いくつかの例では、無人航空機３０２は、例えばサンプル、救援物資、または概して多様な理由から無人航空機３０２を使用し、発送される任意のタイプの物理的な品目等の、特に注文されなかった物理的な商品を配達するために使用される。また、無人航空機は、物理的な品目の配達に加えてまたは物理的な品目の配達の代わりに他のタスクに使用されてもよい。例えば、多くの無人航空機３０２は、電子写真及び／またはビデオ等の音声データ及び／または視覚データを記録できるカメラを装備する。係る無人航空機は、例えば地形を調査するために、情報を収集するために、ジャーナリスティックな目的のために、脅威を評価するために、及び／またはそれ以外の場合収集するのがより困難であってよい情報をそれ以外の場合収集するために使用されてよい。
【００３１】
実施形態では、コマンド制御施設３０４は、電子メッセージを生成し、生成された電子メッセージの無人航空機３０２への、無人航空機が活用するように構成される無線通信プロトコルを使用する送信を生じさせるように構成されたサーバコンピュータシステムであってよいコマンド制御サーバ３０６を含む。また、コマンド制御サーバ３０６は無人航空機３０２から送信される電子メッセージを受信してよく、相応してメッセージを処理してよく、このことは処理のための他のコンピュータシステムへの送信を含むことがある。無人航空機３０２が、コマンド制御サーバ３０６からのメッセージが信頼できるかどうか判断を下すことを可能にするために、コマンド制御サーバは、例えばメッセージにデジタル署名し、デジタル署名及びデジタル署名を検証するために使用できるデジタル証明書を有するメッセージを提供することによって、無人航空機によって使用されているとして本明細書で説明される多様な技法を活用してよい。例えば、いくつかのメッセージタイプは、たとえ係るメッセージが１つまたは複数の無人航空機を通して中継されてよいとしても、係るメッセージが処理される（例えば、メッセージの中のコマンドが達成される）前にコマンド制御施設（または例えば特定のサーバ等のコマンド制御施設の特定のエンティティ）からの発信を必要とすることがある。例えば、タスクを追加するコマンドは、いくつかの実施形態では、コマンド制御施設から発し、それによって不正アクセスされた無人航空機及び／または誤動作している無人航空機が無事にいくつかのコマンドを達成させるのを防ぐために必要とされることがある。本明細書に説明される技法は、その特定のメッセージタイプが、実際にコマンド制御施設から発していることを暗号によって検証するために使用できる。
【００３２】
コマンド制御サーバ３０６は、無人航空機３０２に、例えば天候データまたは脅威データ（つまり、例えば悪意をもって行動する人等の、報告されている無人航空機３０２に対する脅威を識別するデータ）、（無人航空機デジタル証明書の取り消しを示す情報等の）個々の無人航空機の信頼性についてのデータ、飛行禁止区域（例えば、当局が少なくとも一時的に飛行を禁止している区域）を識別するデータ、及び／または他の情報等のデータを提供する無人航空機３０２にタスクを割り当てるメッセージを送信してよい。
【００３３】
図３に示されるように、コマンド制御施設は、多様な実施形態の特定の要件に従って構成されてよい１つまたは複数の他のサーバ３０８を含んでもよい。例えば、倉庫実施形態では、１つまたは複数の他のサーバ３０８は、例えば受信された注文に一致させるために倉庫内での品目の場所についての情報を提供することによって倉庫内の品目の管理を容易にするように構成されてよい。例えば、１つまたは複数の他のサーバ３０８は、例えば電子マーケット等のコマンド制御施設と関連付けられた分散型コンピュータシステムから情報を受信してよく、コマンド制御サーバ３０６と通信して、無人航空機３０２を注文の達成に参加させてよい、またはそれ以外の場合無人航空機３０２のための多様なタスクに参加させてよい。概して、他のサーバ（複数可）は、無人航空機がそのために動作する組織の業務に従って構成されてよい。
【００３４】
図４は、多様な実施形態に従って無人航空機によって使用されてよいデータ構造４００の示されている例を示す。この特定の例では、データ構造は、行が待ち行列で使用されてよい表の形式を有する。この例では、データ構造４００は、データ構造４００を強調する無人航空機のタスクと関連付けられた異なる種類の情報に対応する多様な列を含む。一例に、データ構造４００の第１の行はタイムスタンプに対応し、タイムスタンプ列の行のエントリは、行に対応するタスクが無人航空機によって受信されたときまたはタスクが（例えば、コマンド制御サーバによって）生成されたときのタイムスタンプに対応する。
【００３５】
第２の列は、無人航空機に割り当てられたタスクの識別子に使用される。この特定の例では、タスク列のエントリは、この例では配達タスク及び「基地に戻る」タスク（例えば、遠隔場所からコマンド制御施設に移動することを伴うタスク）である２つの異なるタスクの１つに対応する。無人航空機によって実行されるタスクのタイプは多様な実施形態に従って変わり、必ずしも物理的な品目の配達を含まないことに留意されたい。例えば、無人航空機のタスクは、場所に移動し、音声及び／または視覚情報を記録することであってよい。別の例として、無人航空機のタスクは指定された場所に移動し、無人航空機のスピーカシステムを通して音声ファイルを再生することであってよい。また、他のタスクも本開示の範囲内にあると見なされる。操作をタスクにまとめることによってデータ構造４００が無人航空機の操作計画を符号化し、操作計画は実施形態では、実行する操作の順序付けられた集合を含むことに留意されたい。この例では、操作計画は、すべての完了されていない（例えば、未決定の及び将来に実行される）タスクを含む（例えば、行ごとに順序付けられる）順序付けされたタスクの集合として符号化される。しかしながら、操作計画はタスク別にまとめられる必要はないが、例えばより粒度の細かいレベルで（例えば、個々の操作によって）またはより粒度が細かくないレベルで（例えば、タスクのグループによって）まとめられてよいことに留意されたい。
【００３６】
図４の例のデータ構造４００の第３の列は、無人航空機が割り当てられた結果として受信した可能性がある多様なタスクについてのデータのために使用される。この特定の例では、特定のタスクのデータのタイプはタスクのタイプに従って変わってよい。この例では、配達タスクは、無人航空機が個別に配達してよいいくつかのペイロードの１つを指定する情報を含む。また、データは、無人航空機が目的地までたどる一連の座標（例えば、グローバルポジショニングサービスの座標）を含んでよいルートのためのデータを含んでもよい。ルートは、ルートの座標によってまたは例えば事前に記憶されたルートの識別子によって等、他の方法によって識別されてよい。
【００３７】
また、データ列のデータは、無人航空機がタスクの受入れに関連して信頼したあらゆるメッセージについての情報を含んでもよい。係る信頼の情報は、例えばメッセージがそこから受信された無人航空機の識別子、または受信されたメッセージのタイプ（例えば、メッセージがコマンドを有していたのか、天候データを有していたのか、ハザードデータを有していたのか、別の無人航空機のデジタル証明書の取消しについてのデータを有していたのか、または他のデータ）を含んでよい。また、信頼のデータは、受信されたメッセージのタイムスタンプも含んでよい。タイムスタンプは、例えばいつメッセージが生成されたのかのタイムスタンプであってよい。例えばメッセージ自体、受信されたメッセージのデジタル署名、及び／またはそれと関連付けられた任意のメタデータ等の他の情報も含まれてよい。図４に示されるように、タスクの信頼のデータは、無人航空機によって受信された複数のメッセージのために記憶されてよい。例えば、タスクのルートは、複数の無人航空機からの天候データを受信した結果として計算された可能性がある。ある無人航空機は１つの場所から天候についての情報を提供した可能性がある。一方、別の無人航空機は別の場所の天候についての情報を提供した可能性がある。信頼のデータと含まれる他の情報は、別の無人航空機からのデータがどのようにして使用されたのかを識別する（例えば、データが目的地までのルートを更新するために使用されたことを識別する）データであってよい。概して、タスクのための信頼のデータは、無人航空機が、タスクが、別の無人航空機から受信された情報を使用し決定されたのかどうかを判断できるようにし、いくつかの実施形態では情報を提供した無人航空機を決定できるようにするデータを含む。信頼のデータは、個々の操作等の精度の他のレベルのための、または操作及び／もしくはタスクの個々の構成要素のための情報と関連付けられてよいことに留意されたい。例えば、信頼のデータはルートと関連付けられ、それによってそのルートを活用するタスクと間接的に関連付けられてよい。他の変形形態も本開示の範囲内にある。
【００３８】
最後に、図４に示されるように、データ構造４００の第４の列はタスクごとのステータス識別子を含む。この特定の例では、ステータス列の各エントリは３つの可能性、つまり完了、進行中、及び待ち行列の内の１つである。完了ステータス識別子を有するタスクは、無人航空機がすでに実行したタスクであってよい。進行中タスクステータス識別子は、タスクが現在無人航空機によって実行中であることを示してよい。例えば、図３に示されるように、無人航空機は配達を行うためにルート上にあることがある。タスクの待ち行列ステータス識別子は、タスクが、１つまたは複数の他のタスクの完了後に実行されるために記録されていることを示してよい。また、他のデータはデータ構造４００に記憶されてもよく、図４に示される特定のタイプの情報は単一の実施形態の例のために提供される。例えば、いくつかの完了されたタスクは可逆であってよく（例えば、配達はペイロードの位置を突き止め、ペイロードの制御を回復することによって逆にされ得る）、タスクが可逆であるかどうかはデータ構造４００に含まれてよい。
【００３９】
また、他の変形形態も本開示の範囲内にあると見なされる。例えば、いくつかの実施形態では、データ構造は、完了されたタスクのために行の中に情報を含まないことがある。しかしながら、完了されたタスクに対応する情報の記憶は、例えば実行されたタスクに関する統計的な情報の記録のために等、多様な実施形態で役立ってよい。データ構造４００に含まれてよい他の情報はタスクの完了のタイムスタンプ、例えば天候データ等のタスクの実行中にセンサから入手される情報、特定の実施形態に関連性があってよいタスク及び／または他の情報の一部として移動される１つまたは複数の場所の１つまたは複数のデジタル画像を含んでよい。図４の特定の例では、データ構造は待ち行列として使用できる表として構成される。タスクは、タスクが実行される予定である順序に従って上から下に順序付けられる。完了ではないタスクステータスを有する最も高い行は進行中のタスクまたはまだ始められていないタスクに対応してよく、あらゆる以後の行は待ち行列に入れられたタスクに対応してよい。
【００４０】
上述されたように、無人航空機はその動作中の情報の記録のために多様なセンサを活用してよい。係る情報は、操作データと呼ばれてよい。係る操作データの例は、温度データ、風速データ、気圧データ、降水量データ、及び／または天候に関連する他のデータを含んでよいが、これに限定されるものではない天候データを含む。また、グローバルポジショニングシステム（ＧＰＳ）データも操作データと見なされてよい。他の操作データは、複数のモータのそれぞれのモータ速度等の推進のために使用される無人航空機のシステムについてのデータ、及び／またはピッチ、ロール、及びヨー等の向きデータを含む。また、クロックは、例えばタイムスタンプ等、使用される時間データの形で操作データを提供してよい。
【００４１】
また、操作データは、無人航空機のセンサの集合によって収集されるデータの解析から生じてもよい。例示的な例として、ＧＰＳデータ及び高度データと関連するモータ操作についてのデータは、無人航空機が悪意のある人間の妨害を受けたのか、それとも操作上の問題に遭遇したのかを判断するために使用されてよい。例えば、長期のモータ操作、すなわち高度またはＧＰＳの位置の変化なく閾値を超えたモータ操作は、無人航空機が妨害（例えば、飛行を妨げるまたは通信を妨げる何か）にさらされたことを示すことがある。カメラ等のセンサは、顔認証アルゴリズムとともに、人間が存在しているかどうかを判断するために使用されてよく、それによって妨害が人間の妨害であるのか、それとも人間以外の妨害であるのかの判断を可能にする。人間以外の妨害は、例えば無人航空機が飛行するのを妨げる木または他の構造と関わり合っている無人航空機であってよい。また、操作データは、無人航空機の操作を悪意をもって妨害する人間の法鑑定及び／または概してトラブルシューティングを可能にするための環境についての情報等の多様な目的に使用される周囲の環境の音声及び写真及び／またはビデオ等の音声データ及び／または視覚データを含んでもよい。
【００４２】
図５は、実施形態に従って操作データを処理するために使用されてよいプロセス５００の例示的な例を示す。プロセス５００は、無人航空機の搭載（「オンボード」とも呼ばれる）コンピュータシステムによって実行されてよい。実施形態では、プロセス５００は、操作データを入手すること５０２を含む。上述されたように、操作データは、プロセス５００を実行する無人航空機が備える多様なセンサから、及び／またはセンサの集合によって入手されるデータを処理することによって入手されてよい。操作データを入手する５０２と、プロセス５００を実行する無人航空機は操作データを処理してよい５０４。上述されたように、操作データは、多くの例が本明細書に説明される多様な実施形態に従って多様な方法で処理されてよいが、本開示の実施形態はその中に明白に述べられている実施形態に制限されていない。概して、操作データを処理すること５０４は、操作を変更するかどうか及び／または操作をどのように変更するのかを判断するために実行可能な命令に従って日付の分析を実行することを含む。いくつかの例では、操作データを処理することは、（例えば、場所及び／または近接して顔を検出する顔認識アルゴリズムに十分な変化のない長期のモータ操作のために、または無人機のハウジングの中への侵入を示すセンサのために）プロセス５００を実行する無人航空機が不正にアクセスされたと判断することを含む。係るセキュリティ侵害を検出すると、無人航空機は独自のデジタル証明書を取り消すメッセージを生成し、デジタルで署名し、可能な場合、そのメッセージを１つまたは複数の他の無人航空機及び／またはコマンド制御施設に送信してよい。係る自己取消し（ｓｅｌｆ−ｒｅｖｏｃａｔｉｏｎ）を受信する無人航空機は（取消しにも関わらず）メッセージの真偽を検証し、（例えば、取り消されていないデジタル証明書で検証可能であるためにデジタルで署名されていない少なくともいくつかの将来のメッセージを拒絶し、そのデジタル証明書を自己取消しした（ｓｅｌｆ−ｒｅｖｏｋｅｄ）無人航空機からのメッセージに依存して操作計画を修正する等によって）相応して処理してよい。いくつかの例では、自己取消し（つまり、概して自己生成されない取消し）は、（例えば、取り消されたデジタル証明書を使用し検証可能であり、取り消し後に受信された及び／または生成された、無人航空機からのメッセージに依存するそれらのタスクだけを選択することによって）デジタル証明書が取り消された無人航空機からのメッセージに依存するあらゆる未決定タスクを選択的に再処理できるように、実効時間を指定してよい。
【００４３】
多様な実施形態では、操作データは、操作データを収集した無人航空機にとってだけではなく、他の無人航空機にとっても役立つ。一例に、無人航空機によって収集される天候データは、荒れ模様の天気が記録されている場所に移動することが予定される別の無人航空機にとって役立つことがある。別の例として、妨害が人間の妨害であるのか、それともそれ以外であるのかに関わりなく、無人航空機の操作の妨害を検出した無人航空機は、妨害が検出された目的地へまたは目的地の近くに移動することが予定される無人航空機にとって役立つことがある。別の無人航空機によって収集される操作データの使用の他の例は、本開示の範囲内にあると見なされる。
【００４４】
他の無人航空機が操作データを活用できるようにするために、プロセス５００は、操作データを符号化するメッセージを生成すること５０６を含んでよい。メッセージは、メッセージを受信する他の無人航空機による操作データの処理を可能にする方法で構造化されてよい。メッセージを生成する５０６と、プロセス５００を実行する無人航空機はメッセージにデジタルで署名してよい。無人航空機は、例えば無人航空機がアクセス可能な秘密暗号鍵を使用し、暗号デジタル署名アルゴリズムを実行してよい。メッセージにデジタルで署名する５０８と、無人航空機はメッセージ、デジタル署名、及びメッセージにデジタルで署名するために使用される秘密暗号鍵に対応する公開鍵を符号化するデジタル証明書を送信してよい５１０。メッセージデジタル署名及びデジタル証明書の組合せは、示されているそれらの項目だけではなく他の情報も含んでよいメッセージパッケージと呼ばれてもよい。また、無人航空機は、いくつかの例では、自身で使用するために、または他の無人航空機が通信範囲内に現れると、他の無人航空機に（以下に説明されるように、個別にまたはログでのどちらかで）提供するために無人航空機が生成した５０６メッセージを記憶してよいことに留意されたい。
【００４５】
追加操作が、プロセス５００及びプロセス５００の変形形態を実行しながら、実行されてよいことに留意されたい。例えば、いくつかの実施形態では、プロセス５００を実行するための無人航空機の論理は、別の無人航空機にメッセージを送信するかどうかを決定するための論理を含む。一例に、操作データがある場所の天候データを含む場合、無人航空機は、場所からより遠い、場所の指定された半径外にいる、またはそれ以外の場合、天候データをより活用しそうにない別の無人航空機に天候データを送信するかどうかを決定してよい。係る判断を下すために、無人航空機は他の無人航空機から場所情報を受信してよい、及び／または（例えば、無人航空機が、無人航空機が現在遠く離れている場所の天候データを有すると判断することによって）独自のセンサを活用してよい。
【００４６】
また、本明細書に説明されるメッセージのすべての送信と同様に、プロセス５００を実行する無人航空機は多様な方法でメッセージパッケージを送信してよいことにも留意されたい。例えば、いくつかの実施形態では、無人航空機は他の無人航空機と（例えば、暗号化された通信チャネルであってよい通信チャネルを確立するために）ハンドシェークプロセスを完了し、チャネルを確立後メッセージを送信する。他の例では、無人航空機はメッセージパッケージを放送し、放送の範囲内にあるあらゆる無人航空機はメッセージパッケージを受信し、処理してよい。いくつかの実施形態では、いくつかのタイプのメッセージが放送され、一方、他のタイプは確立された対ごとの通信チャネルでの通信のために確保される。
【００４７】
上述されたように、本開示の多様な技法は、例えば図５に関連して上述されたプロセス５００に従って、他の無人航空機から送信されるメッセージを受信し、処理することを含む。図６は、実施形態に従って受信されたメッセージを処理するためのプロセス６００の例示的な例を示す。プロセス６００は、以下に説明されるように、無人航空機上の搭載コンピュータシステムによって等、任意の適切なシステムによって実行されてよい。実施形態では、プロセス６００は、メッセージ、デジタル署名、及びデジタル証明書を含んでよいメッセージパッケージを受信すること６０２を含む。メッセージパッケージは、上述されたように、別の無人航空機からまたはコマンド制御施設等のコマンド制御センタから受信されて６０２よい。メッセージは、メッセージを転送するために使用される無線プロトコルに従って受信されて６０２よい。
【００４８】
実施形態では、受信された６０２メッセージを処理するために、プロセス６００は、メッセージパッケージのデジタル証明書が信頼できるかどうか判断する６０４ことを含む。メッセージパッケージのデジタル証明書が信頼できるかどうか判断する６０４は、上述されたように、証明機関証明書のコピーを評価し、証明機関証明書で符号化された公開暗号鍵を使用して、メッセージパッケージの受信された６０２デジタル証明書のデジタル署名を検証することを含んでよい。デジタル証明書が信頼できるかどうかを判断することは、例えばデジタルが期限切れである（したがって、信頼できない）かどうか、デジタル証明書がメッセージに偽ってデジタルで署名したアイデンティティに一致するかどうかを判断すること、及び／または他の操作等の追加の操作を含んでもよい。いくつかの実施形態では、デジタル証明書での期日は相対的に短い期日（例えば、１日または１週間有効）を有することに留意されたい。無人航空機がコマンド制御施設に戻るまたはそれ以外の場合コマンド制御施設と通信できるようになるとき、無人航空機は、そのデジタル証明書の期日の指定された閾値の範囲内である場合、コマンド制御サーバ（または証明機関等の他のエンティティ）からデジタル証明書を要求してよい。デジタル証明書を発行できるエンティティは、応答してデジタル証明書を提供し、それによって無人航空機はメッセージにデジタルで署名できる。同様に、無人航空機が（例えば、無人航空機が悪意をもって捕捉されたためにまたはそれ以外の場合戻ることができなかったために）デジタル証明書を更新するために戻らない場合、無人航空機のデジタル証明書は相対的に短い時間量有効となり、それによって万一誰かが秘密暗号鍵へのアクセスを得たとしても無人航空機になりすます絶好のチャンスを制限する。
【００４９】
デジタル証明書が信頼できないと判断される６０４場合、実施形態では、デジタル署名の正しさは検証可能であっても、デジタル署名の信頼性は検証できないため、プロセス６００を実行する無人航空機はメッセージが信頼されるべきかどうかを検証することができない。結果的に、証明書が信頼できないと判断される６０４場合、プロセス６００はメッセージを拒絶する６０６ことを含んでよい。メッセージは多様な実施形態に従って多様な方法で拒絶されて６０６よい。例えば、いくつかの実施形態では、プロセス６００を実行する無人航空機は受信された６０２メッセージとは単に関係がない。すなわち、プロセス６００を実行する無人航空機の未決定のまたは待ち行列に入れられたあらゆるタスクは影響を受けないままであってよい。メッセージの拒絶６０６は多様な実施形態ではより複雑であることがある。いくつかの例では、例えばデジタル証明書の無効性等の拒絶されたメッセージの理由の通知は、直接的にまたは１つもしくは複数の他の無人航空機を通じてコマンド制御施設に送信されてよい。
【００５０】
プロセス６００を実行する無人航空機が、デジタル証明書は信頼できると判断する６０４場合、無人航空機はメッセージのデジタル署名が有効であるかどうかを検証してよい。例えば、無人航空機は、公開暗号鍵及びメッセージを使用し、デジタル署名を検証するためにデジタル証明書で符号化されている公開暗号鍵を活用してよい。無人航空機がデジタル署名が有効ではないと判断する６０８場合、メッセージは上述されたように拒絶され６０６てよい。
【００５１】
しかしながら、プロセス６００を実行する無人航空機が、デジタル署名は有効であると判断する６０８場合、無人航空機は、メッセージが実行可能であるかどうか判断する６１０。実施形態では、メッセージが１つまたは複数の完了していないタスク、またはより一般的には待ち行列に入れられているもしくはそれ以外の場合実行される予定である１つもしくは複数の完了していない操作に適用する場合、メッセージは実行可能である。メッセージが現在のタスクに適用可能であるのか、それとも未決定タスクに適用可能であるのかを判断するために規則エンジンが使用されてよい。完了していないタスクに適用可能な例のメッセージは、無人航空機のあらゆる完了していないタスクに示されるあらゆる座標の指定閾値距離の範囲内にある場所について天候データを含むメッセージである。また、より複雑な分析は、例えば無人航空機の経路が無人航空機を、無人航空機に対する潜在的なハザードに対応する天候データまたは他のデータが記録されたある場所の閾値距離の範囲内に入らせるかどうかを判断することによって実行されてよい。実行可能なメッセージのさらに別の例として、１つまたは複数の完了していないタスクは以前に別の無人航空機から受信された情報に依存してよい。メッセージが無人航空機からの情報が信頼できないことを示す場合、メッセージは信頼できない無人航空機からの情報に依存するタスクを再計算する必要性の結果、実行可能であってよい。
【００５２】
実施形態では、プロセス６００を実行する無人航空機が、メッセージは実行可能であると判断する６１０場合、プロセス６００はメッセージの処理を開始する６１２ことを含んでよい。上述され、以下により詳細に説明されるように、メッセージが処理される方法は多様な実施形態に従って変わってよい。プロセス６００を実行する無人航空機が、メッセージは実行可能ではないと判断する６１０場合、またはメッセージの処理の開始時に、プロセス６００を実行する無人航空機はメッセージパッケージにデジタルで署名して６１４、更新済みメッセージパッケージを生成してよい。更新済みメッセージパッケージはメッセージ、新しいデジタル署名、及びプロセス６００を実行する無人航空機の証明書を含んでよい。他の実施形態では、受信された６０２メッセージパッケージは、受信された６０２メッセージパッケージ、受信された６０２メッセージパッケージのデジタル署名、及びプロセス６００を実行する無人航空機のデジタル証明書を含んでよい、更新済みメッセージパッケージを生成するためにデジタルで署名されるメッセージとして使用される。更新済みメッセージパッケージを生成し、プロセス６００を実行する無人航空機は、例えば別の無人航空機にまたはコマンド制御施設に更新済みメッセージパッケージを送信して６１６よい。
【００５３】
本明細書に説明されるすべてのプロセスと同様に、多数の変形形態は本開示の範囲内にあると見なされる。例えば、図６で、メッセージパッケージを受信した６０２無人航空機は更新済みメッセージパッケージを生成する。これは、例えば、無人航空機がメッセージを入念に検査したことを示すことがある。ただし、他の実施形態では、無人航空機は更新済みメッセージパッケージを生成するのではなく、単にメッセージパッケージを別の無人航空機及び／またはコマンド制御施設に転送するだけである。本開示の範囲内の変形形態の別の例として、メッセージパッケージまたは更新済みメッセージパッケージの送信６１６は、メッセージが受信された６０２無人航空機とは異なる別の無人航空機と通信する能力について監視した後に実行されてよい。
【００５４】
やはり本開示の範囲内になると見なされる他の変形形態は、操作が実行される順序の変動を含む。例えば、図６に示されるように、特定の操作は信頼されているメッセージパッケージのデジタル証明書、有効であるメッセージパッケージのデジタル署名、及び実行可能であるメッセージに依存する。追加の操作は、デジタル署名を信頼するかどうかを判断するために実行されてよい。例えば、メッセージのタイムスタンプは、メッセージが失効しているかどうかを判断するために使用されてよく、（例えば、天候データは限られた時間量、有用であることがあるため）メッセージの失効はメッセージが生成されて以来の閾値時間量の経過によって決定されてよい。さらに、いくつかの実施形態では、メッセージは有効期間値（多くの場合「ＴＴＬ」と省略される）とともに生成される。有効期間値は、メッセージの満了を示す情報であってよい。有効期間値は、例えば満了が発生する時間を指定してよい。別の例として、有効期間値は、メッセージが生成されたときのタイムスタンプ、及びメッセージが期限切れになる前に経過することがある時間量を指定してよい。さらに別の例として、有効期間値はメッセージがある無人航空機から別の無人航空機に伝わるたびに増分されるカウンタであってよく、有効期間値はメッセージがいつ期限切れになるのかを示すカウンタに対する制限を含む。また、他の情報も有効期間値として使用されてよい。概して、無人航空機がメッセージが失効しているかどうかを判断できる任意の機構は、本開示の範囲内にあると見なされる。
【００５５】
さらに、デジタル署名を信頼するかどうかに関する操作、及び／または（例えば、アクションが実行可能であるかどうかを判断する）他の操作は異なる順序で実行されてよい。例えば、デジタル署名の無効は、証明書が信頼できるかどうかをチェックすることが不必要であることを意味してよい。結果として、デジタル証明書の信頼性の終了及びデジタル署名の有効性の判断は異なる順序及び／または同時に実行されてよい。概して、本明細書に説明される操作は、状況と矛盾しない任意の順序で実行されてよい。例えば、ある操作の結果が別の操作の実行に必要ではないとき、２つの操作は任意の順序でまたは同時に実行されてよい。言い換えると、特定の順序で実行されている特定の操作の例証は必ずしも、本開示の実施形態がその順序に制限されること、及び本開示の範囲が、状況に明白に矛盾しない操作の他の順序に及ぶことを意味しない。
【００５６】
上述されたように、無人航空機のタスクは多様な実施形態に従って他の無人航空機から受信されるメッセージに依存してよい。いくつかの状況では、無人航空機は悪意のある活動または誤動作のどちらかによって不正にアクセスされることがある。図７は相応して、実施形態に従って他の無人航空機からまたは命令する制御施設から受信されるメッセージを処理するための例のプロセス７００を示す。プロセス７００は、例えば無人航空機の搭載コンピュータシステムによって等、任意の適切なシステムによって実行されてよい。実施形態では、プロセス７００は、例えば上述されたメッセージパッケージを受信し、認証する７０２（例えば、信頼するかどうかを判断する）ことを含む。例えば、メッセージを信頼するかどうか判断することは、デジタル署名が有効であるかどうか、デジタル証明書が信頼できるかどうか、デジタル証明書がそれ以外の場合有効である（例えば、満了していない）かどうかを判断し、メッセージのコンテンツを処理することを含んでよい。また、メッセージのＴＴＬ値及び／またはタイムスタンプ等の他の情報が、メッセージが信頼できるかどうかを判断するために使用されてもよい。
【００５７】
メッセージパッケージは、メッセージで識別されてよい無人航空機、またはいくつかの例ではメッセージがそこから受信された７０２無人航空機と関連付けられてよい。例えば、メッセージパッケージはメッセージ、デジタル署名、及びデジタル証明書を含んでよい。メッセージパッケージを受信する７０２と、プロセス７００は、メッセージが受信された７０２メッセージと関連付けられた無人航空機（例えば、メッセージで指定された無人航空機）の信頼についてであるかどうかを判断する７０４ことを含んでよい。例えば、メッセージは無人航空機と関連付けられたデジタル証明書の取消しを示してよい、または無人航空機の識別子を使用し、信頼されない無人航空機を指定してよい。図７は、メッセージの対象である単一の無人航空機で実行されているプロセス７００を示すが、メッセージは複数の無人航空機の信頼についてであってよく、プロセス７００が相応して適応されてよいことに留意されたい。
【００５８】
実施形態では、プロセス７００を実行する無人航空機が、メッセージが無人航空機を信頼することについてであると判断する７０４場合、プロセス７００を実行する無人航空機は、メッセージが受信された７０２無人航空機に依存して、無人航空機があらゆる完了していないタスク（概して、あらゆる完了していない操作）を有するのかを判断７０６してよい。しかしながら、プロセス７００を実行する無人航空機がメッセージを信頼すると判断する７０４場合、プロセス７００は、上述されたように、メッセージを処理する７０８ことを含んでよい。例えば、メッセージを処理すること７０８は、例えば荒れ模様の天気または他のハザードを回避するために１つまたは複数の完了していないタスクを更新することを含んでよい。
【００５９】
偽ってメッセージを生成した無人航空機に依存して、無人航空機があらゆる完了されていないタスクを有するかどうかを判断する７０６ことは、多様な実施形態に従って多様な方法で実行されてよい。例えば、いくつかの実施形態では、無人航空機は、依存のデータの中に偽ってメッセージを生成した無人航空機の識別子を含むあらゆる完了していないタスクを選択するために、図４に関連して上述されたように、データ構造を活用してよい。概して、プロセス８００を実行する無人航空機はメッセージの出所を決定することに使用できる情報を記憶することがあり、あらゆるタスクがメッセージの出所、つまりメッセージがそこから受信された無人航空機に依存したかどうかを判断するために係るデータを使用してよい。
【００６０】
プロセス７００を実行する無人航空機が、１つまたは複数の完了していないタスクが、メッセージパッケージがそこから受信された７０２無人航空機に依存すると判断する７０６場合、プロセス７００は、メッセージパッケージがそこから受信された７０２無人航空機からのメッセージに依存して完了していないタスクを選択する７１０ことを含んでよい。実施形態では、完了していないタスクはタスクの待ち行列内の場所に従って選択され、特に完了していないタスクは、メッセージパッケージがそこから受信された無人航空機に依存している待ち行列内で最高の完了していないタスクとして選択される。この例では、待ち行列内で最高であることは、プロセス７００を実行する無人航空機による初期の達成に相当する。メッセージパッケージがそこから受信された７０２無人航空機からのメッセージに依存するタスクの選択は、特定のメッセージを選択するかどうかのより複雑な判断を含むことがあることに留意されたい。例えば、いくつかの実施形態では、メッセージは異なるメッセージタイプに分類される。タスクの選択は特定のタイプ（またはいくつかのタイプの内の１つ）のメッセージに依存するタスクについてだけ発生することがあるが、１つまたは複数の他のタイプに依存するタスクは選択されないことがある。別の例として、以下に説明されるように、無人航空機はメッセージを入念に検査するように構成されてよい。係る実施形態では、タスクの選択はメッセージ（例えば、メッセージを入念に検査した無人航空機の集合が（信頼できる無人航空機となるために定足数規則によって必要とされることがある）信頼できる航空機の定足数を定義する一連の定足数規則を満たすかどうか）を入念に検査した（例えば、確認した）少なくともいくつかの他の無人航空機に基づいて決定されてよい。
【００６１】
メッセージがそこから受信された７０２無人航空機からのメッセージに依存して完了していないタスクを選択する７１０と、プロセス７００は、タスクが依存していた無人航空機からのメッセージとは無関係であるために、タスクを再処理する７１２ことを含んでよい。タスクを再処理することは、例えば無人航空機からのメッセージに示される場所の回避とは関係しないように、新しいルートを計算することを含んでよい。例えば、無人航空機は（例えば、ＧＰＳセンサのＧＰＳデータから決定される）その現在場所を使用して、ルートが計算された前のルートとは異なることがあるまたは異ならないことがある現在場所から最適のルートを決定してよい。別の例として、無人航空機はタスクの複数のバージョン（概して、例えばバージョン間の違い等、以前のバージョンを決定するために使用できる情報）を記憶してよく、メッセージパッケージがそこから受信された７０２無人航空機に依存していなかった以前のバージョンにロールバックさせるために記憶されているバージョンを使用してよい。ルートを有するタスクの例では、無人航空機は以前のルートにロールバックしてよく、このことはルートをたどり続けるために現在位置からルート上のある場所へ移動することを含んでよい。
【００６２】
いくつかの例では、例えばメッセージがタスクの以前のバージョンに対する変化を生じさせなかったとき、または別の無人航空機（もしくはいくつかの例では、定足数を形成する無人航空機の集合）からの情報がタスクの再計算を生じさせ、タスクが変更されないとき等、再処理することがタスクに変更を生じさせないことがあることに留意されたい。さらに、タスクを再処理することは、例えばいくつかのタスクを順序付けし直すことを含んでよい、タスクの集合を再処理することを含んでよい。例示的な例として、無人航空機は２つの配達タスクを有してよい。タスクを更新することを決定したときに、無人航空機は、無人航空機の現在場所のため、異なる順序で配達タスクを実行する方がより速いだろうと判断することがある。これを行うために、無人航空機は、（ルートを定義する座標までの距離を計算し、最短距離を選択することによって概算されてよい）無人航空機が複数のタスクのための複数のルートのどのルートに最も近いのかを決定し、対応するタスクを始めてよい。結果として、タスクの開始場所及び終了場所は変更することがあり、他のタスクが再計算されなければならないことがある（例えば、決定された新しいルート）。概して、タスクを再計算するとき、無人航空機はその現在の状態を、タスクを再計算するために使用されるアルゴリズム（例えば、ルート計算アルゴリズム）に対する入力として活用してよい。タスクを再処理する／再計算することはタスクの集合に新しいタスクを追加することを含んでもよい。例えば、タスクの再処理は、ペイロードを配達するタスクをコマンド制御センタに戻るタスクで置換させてよい。別の例として、タスクを再処理することは別のタスクを置換することなくタスクを追加することを含んでよい。例えば、信頼できない無人航空機からの依存されるメッセージが場所についての情報（例えば、天候）を示す場合、情報を検証するタスクが追加されてよく、１つまたは複数のタスクは、その実行が、メッセージのデータが無事に検証されたかどうかに依存するように予定されてよい。
【００６３】
メッセージパッケージがそこから受信された７０２無人航空機からのメッセージに以前は依存していたタスクを再処理する７１２または代わりにメッセージパッケージがそこから受信された７０２無人航空機からのメッセージに以前は依存していたタスクの再処理を開始すると、プロセス７００は、メッセージパッケージがそのために受信された７０２無人航空機からの任意のメッセージに依存する追加の完了していないタスクがあるかどうかを判断することを含んでよい。追加の完了していないタスクがあると判断した７１４場合、プロセス７００は、メッセージパッケージがそこから受信された７０２無人航空機からのメッセージに依存して別の完了していないタスクを選択し、タスクを再処理する（またはタスクの以前のバージョンにロールバックさせる）ことを含んでよい。メッセージがそこから受信された無人航空機からのメッセージに依存したタスクの係る選択及び再処理は、プロセス７００を実行する無人航空機が、メッセージパッケージがそこから受信された７０２無人航空機からの任意のメッセージに依存する追加の完了していないメッセージがないと判断する７１４まで続行してよい。
【００６４】
メッセージパッケージがそこから受信された無人航空機からのメッセージに依存する追加の完了していないメッセージがないと判断したとき、プロセス７００を実行する無人航空機は、上述されたように、受信された７０２メッセージパッケージのメッセージを拒絶して７１６よい。例えば、プロセス７００を実行する無人航空機は、信頼できるメッセージパッケージのメッセージに従って受信された７０２メッセージパッケージのメッセージを処理することを回避してよい。別の例として、プロセス７００を実行する無人航空機は、メッセージパッケージがそこから受信された７０２無人航空機から信頼できないメッセージの通知を含むメッセージを生成してよい。メッセージが拒絶されるとき、またはメッセージが拒絶されないときにも追加の操作が実行されてよい。例えば、コマンド制御施設及び／または別の無人航空機から受信されるメッセージは記録を付けられてよく、それは無人航空機が受信したメッセージのログに追加されてよい。
【００６５】
いくつかの実施形態では、無人航空機が信頼できると判断されるメッセージに遭遇するとき、無人航空機は、他の無人航空機によるメッセージの受入れに影響を与える追加の操作を実行してよい。図８は相応して、別の無人航空機から受信されるメッセージを処理するためのプロセス８００の例示的な例を示す。プロセス８００は、以下に説明されるように、例えば無人航空機の搭載コンピュータシステムによって等、任意の適切なシステムによって実行されてよい。実施形態では、プロセス８００は無人航空機から発するメッセージパッケージを受信する８０２ことを含む。無人航空機から発するメッセージパッケージは、メッセージを生成した無人航空機とは異なる無人航空機から受信される可能性があることに留意されたい。例えば、プロセス８００を実行する無人航空機は、メッセージパッケージを発した別の航空機からのメッセージパッケージを中継する無人航空機からメッセージパッケージを受信して８０２よい。
【００６６】
メッセージパッケージを受信する８０２と、プロセス８００を実行する無人航空機はメッセージを信頼するかどうかを判断して８０４よい。メッセージを信頼するかどうかの判断８０４は、上述されたように、任意の適切な方法で実行されてよい。プロセス８００を実行する無人航空機がメッセージを信頼しないと判断する８０４場合、プロセス８００は、上述されたように、メッセージを拒絶する８０６ことを含んでよい。しかしながら、メッセージを信頼することが判断される８０４場合、プロセス８００は、メッセージパッケージのメッセージがあらゆる完了していないタスクに適用可能であるかどうかを判断する８０８ことを含んでよい。例えば、発信する無人航空機の識別子は、例えば図４に関連して上述されたデータ構造４００のデータ等の任意の信頼のデータが、メッセージパッケージがそこから受信された無人航空機からのメッセージに対する信頼を示すかどうかを判断するために使用されてよい。
【００６７】
８０２で受信されたメッセージパッケージのメッセージがあらゆる完了していないタスクに適用可能であると判断した８０８場合、プロセス８００は、メッセージが適用するあらゆる完了していないタスクを再計算する（またはあらゆる完了していないタスクの再計算を開始する）ためにメッセージを使用する８１０ことを含んでよい。タスク（複数可）を再計算するもしくはタスク（複数可）の再計算を開始すると、またはメッセージが適用する完了していないタスクがないと判断する８０８と、プロセス８００は、プロセス８００の独自のデータを実行する無人航空機が受信された８０２メッセージに適用可能であるかどうかを判断する８１２ことを含んでもよい。一例に、メッセージがある場所の天候データを含む場合、プロセス８００を実行する無人航空機は、無人航空機自体が同じ場所のための天候データを収集したのか、それとも天候データが受信された８０２場所の指定された閾値距離の範囲内の場所のための天候データを収集したのかを判断してよい。場所の気象ではないハザードを示すデータは、同様に適用可能として識別されてよい。さらに別の例として、メッセージが、指定された無人航空機（例えば、プロセス８００を実行する無人航空機とは異なり、メッセージパッケージがそこから受信された無人飛行機とは異なる無人飛行機）が（例えば、デジタル証明書が取り消されていなかったため）信頼できないことを示す場合、メッセージパッケージを受信した８０２無人航空機は、無人航空機が同様に指定された無人航空機が信頼できないことを検出したかどうかを判断してよい。概して、プロセス８００を実行する無人航空機は、無人航空機が収集したデータが受信されたメッセージ中のデータと一致しているのか、それとも一致していないのかを判断するためにプログラミング論理を適用する。規則エンジンまたは他の機構（例えば、決定木）は、収集されたデータがメッセージ適用可能であるかどうかを判断するために使用されてよい。
【００６８】
プロセス８００を実行する無人航空機が、その独自のデータがメッセージパッケージで受信された８０２メッセージに適用可能であると判断する８１２場合、プロセス８００は、受信された８０２メッセージパッケージのメッセージの受入れに影響を与えるために新しいメッセージパッケージを生成する８１４ことを含んでよい。一例に、署名連鎖はメッセージにデジタル署名を追加するために活用されてよい。さらに別の例として、メッセージの識別子はデジタルで署名されてよい。メッセージの受入れに影響を与えるために新しいメッセージパッケージを生成する８１４と、無人航空機は別の無人航空機にまたはコマンド制御施設に新しいメッセージパッケージを送信して８１６よい。しかしながら、無人航空機自体のデータがメッセージに適用可能ではないと判断される８１２場合、プロセス８００は終了してよい８１８。
【００６９】
いくつかの実施形態では、無人航空機はメッセージの確実性を決定してメッセージを処理する方法を決定するように構成される。例えば、無人航空機がメッセージを受信し、メッセージと一致するデータを有するとき、無人航空機はメッセージを再送信してよい、及び／またはデータの確実性の表示を有する新しいメッセージを送信し、それによって他の無人航空機が少なくとも部分的にその確実性に基づいてメッセージに依存できるようにしてよい。図９は、メッセージを処理するためのプロセス９００、及びメッセージが確実性について分析される実施形態の例示的な例を示す。プロセス９００は、例えば無人航空機の搭載コンピュータシステムによって等、任意の適切なシステムによって実行されてよい。実施形態では、無人航空機は、メッセージ、デジタル署名、及び別の無人航空機から生じるデジタル証明書を含むメッセージパッケージを受信して９０２よい。メッセージパッケージを受信する９０２無人航空機は、上述されたように、メッセージを信頼するかどうかを判断して９０４よい。例えば、メッセージパッケージを受信する９０２無人航空機は、証明機関デジタル証明書の独自のコピーを使用し、デジタル証明書の有効性を検証してよく、デジタル署名の有効性を検証してよく、メッセージパッケージで受信されるデジタル証明書とデジタル署名の両方とも有効である場合、メッセージを信頼すると判断して９０４よい。メッセージがＴＴＬを超えたか、それともそれ以外の場合失効しているかを示す情報等の他の情報が使用されてよい。同様に、メッセージパッケージで受信された９０２デジタル証明書とデジタル署名の一方または両方とも無効である場合、及び／またはメッセージが失効している場合、メッセージパッケージを受信した９０２無人航空機はメッセージを信頼しないと判断して９０４よい。
【００７０】
実施形態では、メッセージパッケージを受信する９０２無人航空機がメッセージを信頼しないと決定する９０４とき、無人航空機は、上述されたように、メッセージを拒絶して９０６よい。しかしながら、メッセージパッケージを受信する９０２無人航空機がメッセージを信頼すると判断する９０４場合、プロセス９００はメッセージの確実性のレベル、及びこの例では、メッセージの確実性が十分であるのか、それとも不十分であるのかを決定する９０８ことを含んでよい。プロセス９００を実行する無人航空機は、多様な実施形態に従って多様な方法でメッセージの確実性のレベルを決定して９０８よい。例えば、メッセージの確実性は、メッセージの中に表明された確実性を有する（信頼できることが必要とされることがある）別個の無人航空機からのいくつかのデジタル署名によって決定されてよい。例えば、無人航空機はメッセージを受信するとき、無人航空機は、無人航空機がメッセージ及びメッセージとともに受信されたあらゆるデジタル署名を含む情報にデジタルで署名するデジタル署名連鎖に参加してよく、デジタル署名はメッセージの確実性を表明するために含まれていた。別の例として、無人航空機はメッセージの識別子にデジタルで署名することによってメッセージの確実性を表明してよく、メッセージの確実性レベルを決定する９０８ことはメッセージの識別子のデジタル署名の数をカウントすることを含んでよい。識別子はメッセージに暗号で結び付けられてよい。例えば、識別子はメッセージのハッシュであってよい、またはメッセージのハッシュに少なくとも部分的に基づいて生成されてよい。係る実施形態では、識別子のメッセージへの結合の暗号検証も実行されてよい。
【００７１】
多様な実施形態では、確実性がデジタル署名を使用し、メッセージでどのようにして表明されるのかに関わりなく、メッセージの確実性を表明するために使用される各デジタル署名はプロセス９００を実行する無人航空機によって検証されてよい。いくつかの実施形態では、メッセージ確実性は、メッセージの確実性を表明するいくつかの有効なデジタル署名を閾値に比較することによって決定され、本開示の実施形態は、単一の無人航空機が複数回メッセージの確実性を表明し、それによって例えば無人航空機が複数回メッセージを受信し、検証するとき等、メッセージの確実性を高める実施形態に及ぶが、メッセージの確実性を表明する各デジタル署名は別個の無人航空機からであってよい。メッセージ確実性の十分性は、概してメッセージを入念に検査したことが必要とされる無人航空機の定足数を定義する一連の定足数規則に従って決定されてよい。定足数規則は簡略であってよい（例えば、少なくともＮ個の無人航空機、Ｎ個の正の整数）またはより複雑であって、１つブール演算子（例えば、ＡＮＤ、ＯＲ、ＮＯＴ等）と論理的に接続される複数の個々の規則も含んでよい。例えば、デジタル署名の集合は、第１の世代のＮ個の無人航空機がメッセージを入念に検査した、または第２の世代のＭ個の無人航空機がメッセージを入念に検査した場合に定足数規則を満たすために使用されてよい（Ｍ及びＮは異なる正の整数である）。また、定足数規則の履行は受信された９０２のメッセージのタイプにも依存してよい。例えば、天候データを有するメッセージは、不可逆な操作（例えば、飛行中にモータを停止する、ペイロードを落下する、または他の操作等）を実行するコマンドを有するメッセージと比較すると、定足数規則のより緩やかな集合を有してよい。また、定足数規則の履行は、メッセージが生成された及び／または最後に入念に検査されて以来経過した時間の量に依存してよく、例えば、時間より長い経過はメッセージの追加の入念な調査を必要とすることがある。他の変形形態も本開示の範囲内にあると見なされる。
【００７２】
メッセージパッケージを受信した９０２無人航空機がメッセージに十分な確実性があると判断する９０８場合、プロセス９００は、上述されたようにメッセージを処理する９１０ことを含んでよい。例えば、無人航空機はあらゆる完了していないタスクを変更するかどうかを判断するためにあらゆる完了していないタスクを分析してよく、メッセージによってそのように示される場合、１つまたは複数の新しいタスクを追加してよい、及び／または別の無人航空機またはコマンド制御施設へのメッセージの再送を生じさせる１つまたは複数の操作を実行してよい。プロセス９００を実行する無人航空機が、メッセージに不十分な確実性があると判断する９０８場合、図９の例の実施形態に示されるように、無人航空機はメッセージの入念な検査の確認を得るために１つまたは複数の操作を実行してよい。実施形態では、メッセージに不十分な確実性があると判断した９０８場合、プロセス９００はメッセージの入念な検査の確認の要求を送信する９１２ことを含んでよい。
【００７３】
メッセージの入念な検査の確認の要求（確認の要求）は、異なる実施形態で異なるエンティティに送信されてよい。いくつかの例では、確認の要求は別の無人航空機に送信される。メッセージならびに例えば関連付けられたデジタル署名及び／または証明書等の関連データを含んでよい、送信された確認の要求を受信する無人航空機は、メッセージを信頼するかどうかに関する判断、及びメッセージに含まれるデータの有効性の判断を下すことによってメッセージを自主的に入念に検査してよい。別の例として、確認の要求はコマンド制御施設に送信されてよい。確認の要求が、例えばメッセージパッケージを受信した９０２無人航空機がコマンド制御施設の通信範囲内にあるとき等、コマンド／制御施設に直接的に送信されてよい、または確認の要求が、例えばコマンド制御施設の通信範囲内にいる場合にコマンド制御施設に確認の要求を次いで中継するように構成されてよい別の無人航空機に対し、もしくは無人航空機のフリートが最終的に確認の要求をコマンド制御施設に中継し得るようにさらに別の無人航空機に対し確認の要求を送信することによって等、コマンド制御施設に間接的に送信されて９１２よいことに留意されたい。
【００７４】
コマンド制御施設では、コマンド制御サーバが、例えばメッセージのデータを検証することによって等、メッセージを入念に検査することによって確認の要求を処理してよい。一例に、サーバは、メッセージ中のコマンドが実際にコマンド制御施設から送信されたのかを判断してよく、メッセージを受信した９０２無人航空機にメッセージの入念な検査の確認を送信してよい。確認の要求と同様に、メッセージ確認の送信は、メッセージパッケージを受信し９０２、例えば無人航空機が通信範囲内にある場合メッセージの入念な検査の確認を要求した９１２無人航空機に直接的に（つまり、メッセージ確認がいずれの仲介装置を通過することなく）送信されてよい、または確認は、無人航空機のフリートが最終的にメッセージパッケージを受信した９０２無人航空機に確認を中継するように、無人航空機のフリートを通して送られてよい。コマンド制御サーバによって生成される確認は、コマンド制御サーバによって生成されたデジタル署名を含んでよく、確認を受信した９０２無人航空機が、例えば概して無人航空機が、上述されたように、メッセージの信頼を判断するようにどのようにして構成されるのか等、確認を信頼するかどうかを検証できるようにするために、証明機関によってデジタルで署名されるデジタル証明書を含んでよいことに留意されたい。
【００７５】
確認が、メッセージパッケージを受信した９０２無人航空機に向かう複数の無人航空機を通過する場合、いくつかの実施形態では、確認を中継した中間無人航空機は、確認を信頼するかどうかの独立した判断を下すことによって確認を自主的に入念に調査してよく、例えば確認と関連付けられたデジタル署名またはデジタル証明書が無効である場合等、確認が信頼できないとして検出される場合、無人航空機は確認を再送することを拒絶してよい。
【００７６】
いったん無人航空機がメッセージの入念な検査の確認の要求を送信する９１２と、メッセージの確認の要求を送信した９１２無人航空機は確認の受領を監視してよい。図９に示されるように、無人航空機は、９１４確認が受信されるかどうかを繰り返し判断してよく、受信されない場合、タイムアウトが発生したかどうか（すなわち、時間の閾値量が経過したかどうか）を判断し９１６、発生していない場合、確認が受信されるのか、及びタイムアウトが発生したかどうかを再び判断して９１４よい。このプロセスの間に無人航空機が、タイムアウトが発生したと判断する９１６場合、プロセス９００は、上述されたように、メッセージを拒絶する９０６ことを含んでよい。代替実施形態では、メッセージ及び関連付けられた情報（例えば、メッセージのデジタル署名）はキャッシュに入れられてよく、万一後でメッセージをキャッシュに入れる無人航空機が（例えば、タイムアウト後に受信された要求に対する応答によって、または確認の要求に応答しない別の無人航空機から）メッセージの追加の署名を受信すると、キャッシュに入れられたコピーは、メッセージに十分な確実性があるかどうかを判断するために後に受信された情報と結合できる。
【００７７】
しかしながら、示されている実施形態に戻ると、タイムアウトが発生する前に、無人航空機が、確認が受信されると判断する９１４場合、無人航空機は、例えば無人航空機が上述されたように、一般的にメッセージを信頼するかどうかを判断してよい方法で等、確認を信頼するかどうか判断して９１８よい。また、確認（または、概してメッセージ）を信頼するかどうかを判断することは追加の操作を含んでもよい。例えば、デジタル署名連鎖はメッセージの保管のチェーンを確立するために使用されてよい。チェーンの中のあらゆるデジタル署名が検証されていない場合、追加の精査がメッセージに与えられてよく、検証されていないデジタル署名に対応する無人航空機からの票は、メッセージの確実性を決定する際に考慮に入れられないことがある、及び／またはメッセージは信頼できないとして単に拒絶されてよい。概して、一連の規則は、メッセージが受信される途中で取った経路（例えば、無人航空機の順序付けられた集合）に適用されてよく、デジタル署名は経路または経路の一部を検証するために使用されてよく、規則はメッセージが信頼できるかどうかを定義してよい。無人航空機が確認を信頼しないと判断する９１８場合、プロセス９００は、上述されたように、メッセージを拒絶する９０６ことを含んでよい。多様な図がメッセージの拒絶９０６につながる複数の経路を示しているが、メッセージが拒絶される方法は、メッセージの拒絶に流れる特定の経路に従って変わることがある。確認を信頼すると決定した９１８場合、プロセス９００は、上述されたように、メッセージを処理する９２０ことを含んでよい。
【００７８】
本明細書に説明されるすべてのプロセスと同様に、プロセス９００の変形形態は本開示の範囲内にあると見なされる。実施形態では、例えば、無人航空機がメッセージを信頼すべきであると無事に検証できない結果として、確認の要求が生成され、送信されてよい。例えば、無人航空機の疑わしいセキュリティ侵害は、無人航空機のデジタル証明書の取り消しを生じさせ、そうでなければデジタル証明書を使用し、無事に検証されただろう検証できないデジタル署名を提供する。例えば、取消しの理由に関わらず、無人航空機は、それでもなお天候及び／または多様な場所での無人航空機に対する潜在的な脅威について正確なデータを収集し、提供してよい。係るメッセージを拒絶する代わりに、無人航空機が無事に検証できないメッセージを受信する無人航空機は、（例えば、通信範囲内である場合）１つまたは複数の他の無人航空機及び／またはコマンド制御サーバに確認の要求を生成し、送信できる。係る実施形態では、（いくつかの実施態様では、及び／またはいくつかのメッセージタイプに対して単一の確認であってよい）定足数規則を満たすのに十分な受信された確認は、それ以外の場合検証できないメッセージで確実性を獲得するために使用されてよい。別の例では、受信された確認を信頼すると判断できないことは、確認を獲得する別の試みにつながり、係る試みは、タイムアウトまたは他の制限（例えば、試みの数）が発生するまで繰り返されることがある。
【００７９】
図１０は、本開示の多様な態様を示すダイヤグラム１０００を示す。この特定の例では、ダイヤグラム１０００は第１の無人航空機１００２及び第２の無人航空機１００４を示す。上述されたように、無人航空機はその動作中に互いと通信する能力を検出し得る。例えば、タスクを完了するために飛行しているとき、無人航空機は、ビーコンメッセージを送信している無人航空機の識別子として働くビーコンメッセージを送信してよい。閾値よりも大きい信号強度、及び／またはどの情報が送信されたのかを判断する能力とともにビーコンメッセージを受信する無人航空機は、結果としてビーコンメッセージを送信した無人航空機と通信する能力を検出してよい。また、別の無人航空機と通信する能力を検出することは、例えば他の無人航空機の認証及び／または他の無人航空機と通信セッション（例えば、暗号によって保護された通信セッション）を確立するためのハンドシェークプロセスの実行等の他の操作を含んでもよい。言い換えると、別の無人航空機と通信する能力を検出することは、通信する物理的な能力だけではなく、例えば許可されている及び／または認証されている通信等の他の能力を検出することも含んでよい。
【００８０】
多様な実施形態では、図１０に示されるように、無人航空機が互いに通信する能力を検出するとき、無人航空機は、それぞれが受信したメッセージのログを交換してよい。例えば、無人航空機の対のそれぞれは他の無人航空機のメッセージログに対する要求を送信してよく、対の無人航空機は相応して応答してよい。いくつかの例では、別の無人航空機へのメッセージログ（また、概してメッセージ）の送信は、例えば他の無人航空機へタイムスタンプまたはノンス（または他のリプレイ回避値）を他の無人航空機に送信し、他の無人航空機からデジタル署名及びデジタル証明書を受信し、タイムスタンプまたはノンスまたは他の値及びデジタル証明書を使用してデジタル署名を確証することによって、他の無人航空機を認証することを条件としてよい。別の例として、２つの無人航空機は、暗号によって保護された通信セッション（例えば、暗号化された通信セッション）を確立するためにハンドシェークプロセスで互いを手動で認証してよく、ハンドシェークプロセスは、両方の無人航空機とも無事に互いに対して認証する限り失敗することがある。
【００８１】
図１０に示されるように、第１の無人航空機１００２は、無人航空機が他の無人航空機から受信したメッセージのメッセージログ１００６を送信してよい。メッセージは、各メッセージ、及びメッセージが受信されたときのタイムスタンプ、少なくとも部分的にメッセージに基づいて生成された任意のデジタル署名、及び／またはメッセージの確実性を示す任意の情報等の関連付けられたデータを含んでよい。第１の無人航空機のメッセージログ１００６は、第２の無人航空機１００４によって受信されてよい。メッセージログの要求の結果として、または単に無人航空機によって活用されるプロトコルの一部として、第２の無人航空機は独自のメッセージログ１００８を第１の無人航空機１００２に送信してよい。以下により詳細に説明されるように、別の無人航空機からメッセージログを受信した無人航空機は、あらゆる完了していないタスクを更新するのか、あらゆる追加のタスクを追加するのか、それともメッセージによって示される他の操作を実行するのかを判断するためにメッセージログのメッセージを処理してよい。
【００８２】
図１１は、例えば図１０と関連して上述された無人航空機の１つ等の無人航空機によって実行される可能性のあるプロセス１１００の例示的な例を示す。実施形態では、プロセス１１００は別の無人航空機と通信する能力を検出する１１０２ことを含む。図１１は別の無人航空機と通信する能力の検出１１０２を示すが、プロセス１１００は、上述されたように、コマンド制御施設のコマンド制御サーバ、またはコマンド制御施設及び／または１つもしくは複数の無人航空機に及びコマンド制御施設及び／または１つもしくは複数の無人航空機からメッセージを送信する目的に使用される地上波放送局と通信する能力を検出することによって無人航空機のフリートを含む分散システムの他の構成要素との通信の検出に適応されてよいことに留意されたい。
【００８３】
図１１に示されるように、別の無人航空機と通信する能力を検出した１１０２結果として、プロセス１１００は、メッセージログを含むメッセージを生成する１１０４ことを含んでよい。いくつかの実施形態では、指定された時間量の中のメッセージログからのメッセージは、ローカルメッセージログからアクセスされ、メッセージを生成する１１０４ために使用される。他の実施形態では、完全なメッセージログが、生成される１１０４メッセージに含まれる。また、追加の処理が、例えば、別の無人航空機と通信する能力を検出した１１０２結果として、発生することもあり、プロセス１１００を実行する無人航空機は他の無人航空機の識別子を入手してよい。不必要な情報の送信を回避するために、他の無人航空機から受信されるメッセージは識別子を使用し、識別されてよく、生成される１１０４メッセージに含まれるメッセージログに含まれるメッセージの集合から削除されてよい。上述されたように、メッセージログはメッセージ自体、及びメッセージごとに、少なくとも部分的にメッセージに基づいて生成されたあらゆるデジタル署名等のデジタル署名、少なくとも部分的にメッセージ識別子に基づいて生成されたデジタル署名、及び／または各メッセージと関連して記憶されてよい任意の他の情報等の他の関連付けられた情報を含んでよい。
【００８４】
いったんメッセージが生成される１１０４と、プロセス１１００はメッセージパッケージを生成する１１０６ことを含んでよい。上述されたようにメッセージパッケージを生成する１１０６ために、プロセス１１００を実行する無人航空機は、秘密暗号鍵を使用して生成された１１０４メッセージにデジタルで署名し、それによってデジタル署名を生じさせてよい。秘密暗号鍵に対応する公開暗号鍵を有する証明書は、メッセージパッケージを生成するために使用される情報に含まれてよい。いったんメッセージパッケージが生成される１１０６と、プロセス１１００はメッセージパッケージを無人航空機に送信する１１０８ことを含んでよい。本明細書に説明されるすべてのプロセスと同様に、追加の操作はプロセス１１００と関連して実行されてよい。例えば、無人航空機間の通信に使用される特定のプロトコルに応じて、ハンドシェークプロセスまたは他のプロセスが実行されてよい。
【００８５】
図１２は、図１１に関連して上述されたように、受信されるメッセージログを処理するために無人航空機によって実行されてよいプロセス１２００の例示的な例を示す。実施形態では、プロセス１２００は、無人航空機からメッセージログを有するメッセージパッケージを受信する１２０２ことを含む。この特定の例では、メッセージパッケージは、メッセージログであるまたはそれ以外の場合メッセージログを含むメッセージを含む。プロセス１２００は、上述されたように、メッセージを信頼するかどうかを判断する１２０４ことを含んでよい。例えば、メッセージパッケージに含まれるデジタル証明書の有効性は、メッセージのデジタル署名及び／または例えばメッセージが失効しているかどうか、すなわち過去の閾値時間量を超えてメッセージが生成されたかどうかを示す情報等、メッセージを信頼するかどうかを判断するために使用される他の情報の有効性とともに検証されてよい。本開示の変形形態は、メッセージが信頼できるかどうかの判断が下されるのではなく、メッセージログの個々のメッセージの信頼性が代わりに使用される変形形態を含むことに留意されたい。メッセージパッケージを受信する１２０２無人航空機がメッセージを信頼しないと判断する１２０４場合、プロセス１２００はメッセージを拒絶する１２０６ことを含んでよい。
【００８６】
実施形態では、プロセス１２００を実行する無人航空機が受信された１２０２メッセージを信頼すると判断する１２０４場合、無人航空機は受信されたメッセージログの独自のローカルメッセージログとの和集合１２０８を計算してよい。実施形態では、受信されたメッセージログの独自のローカルメッセージログとの和集合は、受信された１２０２メッセージログとローカルメッセージログの両方に存在する同一のメッセージが一度しか表示されないように計算される。しかしながら、本開示の実施形態は、例えばメッセージログでのメッセージの重複が許されるとき等、より効率的ではない技法に適用する。
【００８７】
受信されたメッセージログの独自のローカルメッセージログとの和集合を計算する１２０８と、プロセス１２００は、計算された和集合を含むためにローカルメッセージログを更新する１２１０ことを含んでよい。ローカルメッセージログを更新することは、更新された１２１０メッセージログのどのメッセージが新しいのかのインジケータを、係るインジケータがメッセージログ自体に含まれていようと、またはメッセージログとは別個に含まれていようと記憶することを含んでよい。ローカルメッセージログを更新し１２１０、プロセス１２００は、新しいメッセージが実行可能であるかどうかを判断する１２１２ことを含んでよい。メッセージが実行可能であるかどうかを判断することは、上述されたように、実行されてよい。実行可能なメッセージがないと判断した１２１２場合、プロセス１２００は、別のメッセージログを有する新しいメッセージが受信されるまで終了してよい１２１４。
【００８８】
メッセージパッケージを受信した１２０２無人航空機が、１つまたは複数の実行可能なメッセージがあると判断する１２１２場合、プロセス１２００は、１つまたは複数の実行可能なメッセージが適用可能であるタスクを再計算する１２１６ことを含んでよい。タスクは、上述されたように再計算されてよい。プロセスは、タスクが再計算された１２１６とき、または代替実施形態では、例えばタスクの再計算が開始されたとき終了してよい１２１４。例えば（例えば、上述されたように）メッセージログの個々のメッセージが信頼できるかどうかを判断し、例えば信頼できるメッセージが適用するタスクだけを処理することによって、個々のメッセージが信頼できるかどうかに従ってタスクを再処理する等、追加の操作が実行されてよい。
【００８９】
図１３は、本開示の少なくとも１つの実施形態を実践するために使用され得る無人航空機１３０１の例の搭載コンピュータシステム１３００の例示的な簡略化されたブロック図である。多様な実施形態では、コンピュータシステム１３００は、本明細書に示され、上述されたシステムのいずれかを実装するために使用されてよい。図１３に示されるように、搭載コンピュータシステム１３００は、バスサブシステム１３０４を介していくつかの周辺サブシステムと通信するように構成されてよく、いくつかの周辺サブシステムに動作可能なように結合される１つまたは複数のプロセッサ１３０２を含んでよい。これらの周辺サブシステムは、メモリサブシステム１３０８及びデータ記憶システム１３１０を含む記憶サブシステム１３０６、推進サブシステム１３１２、ペイロード管理サブシステム１３１４、無線通信サブシステム１３１６、メモリサブシステム１３３０及び１つまたは複数の暗号プロセッサ１３３２を含む暗号モジュール１３２４、ならびにセンサの集合１３３４を含んでよい。
【００９０】
バスサブシステム１３０４は、コンピュータシステム１３００の多様な構成要素及びサブシステムが意図されたように互いと通信できるようにするための機構を提供してよい。バスサブシステム１３０４は単一のバスとして概略で示されているが、バスサブシステムの代替実施形態は複数のバスを活用してよい。
【００９１】
無線通信サブシステム１３１６は、他のコンピュータシステム及びネットワークにインタフェースを提供してよい。無線通信サブシステム１３１６は、コンピュータシステム１３００からデータを受信し、他のシステムにデータを送信するためのインタフェースとしての機能を果たしてよい。例えば、ネットワークインタフェースサブシステム１３１６は、例えば、天候、ハザード、コマンドを示すメッセージ、及び／または本明細書に説明される他のメッセージ等、メッセージ及び他の関係情報（例えば、デジタル署名）のトランスタスク（ｔｒａｎｓｔａｓｋ）を可能にしてよい。本開示の範囲は任意の適切な規格及び／またはプロトコルを使用する無線通信を含むが、実施形態では、無線通信サブシステム１３１６は、他の無人航空機の他の無線通信サブシステムと通信するためにロングタームエボリューション（ＬＴＥ）規格を使用する。いくつかの例では、無線通信サブシステム１３１６はキャリアセンスマルチプルアクセスウィズコリジョンアボイダンス（ＣＳＭＡ／ＣＡ）プロトコルまたは別の適切なプロトコルを使用し、通信する。また、無線通信サブシステム１３１６は、例えば他の無人航空機に一部のデータを直接的に送信し、セルラーネットワークを通して他のデータを送信することによって、複数のネットワークでのデータの受信及び／またはトランスタスクを容易にしてもよい。
【００９２】
推進サブシステム１３１２は、無人航空機３０１を推進し、無人航空機の推進を制御する多様な構成要素を含んでよい。例えば、推進サブシステム１３１２は、それぞれがプロペラを有する複数のモータ、及び無人航空機の速度、高度、方向、ピッチ、ロール、ヨー、及び無人航空機の飛行力学を制御するために各プロペラの個々の回転速度を制御するモータ用のコントローラを含んでよい。推進サブシステム１３１２は、無人航空機がこのように装備される場合、他の構成要素（例えば、方向舵、フラップ、及び無人航空機の航空力学に影響を及ぼすことがある他の構成要素）を制御してよい。図１３はヘリコプター式の無人航空機を示すが、上述されたような他の無人航空機、及び概して陸上で、海上で、海中で、空気中で、及び／または宇宙で移動するように構成される任意の無人航空機は本開示の範囲内として見なされ、推進のために使用される特定の機構は異なる実施形態に従って変わってよい。
【００９３】
ペイロード管理サブシステム１３１４は、無人航空機１３０１のペイロードの管理のために構成されたコンピュータシステム１３００の構成要素の集合であってよい。例えば、ペイロード管理サブシステム１３１４は無人航空機３０１によって配達されるペイロードを落とすために開閉する貨物室を制御してよい。いくつかの例では、無人航空機は、多くのペイロードの内の１つを選択的に配達するために使用できる複数の貨物室を有する。概して、ペイロード管理サブシステム１３１４は、無人航空機が無人航空機の制御からペイロードを解放できるようにする１つまたは複数の電気システム及び／または機械システムを制御してよい。また、ペイロード管理サブシステム１３１４は、ペイロードを回収し、無人航空機の貨物室の中に積載するため、またはそれ以外の場合無人航空機の制御にペイロードを入れるための多様な機構（例えば、フック、磁石、爪等）を含んでもよい。このようにして、ペイロード管理サブシステム１３１４は、無人航空機のあらゆる貨物室を開閉するために、またはそれ以外の場合１つもしくは複数のペイロードを制御するために使用される１つもしくは複数の機構（例えば、アクチュエータまたはラッチ）のためのコントローラを含んでよい。概して、ペイロード管理サブシステムは、無人航空機３０１の特定の構成に左右される他の機能を実行してよい。例えば、ペイロード管理サブシステムは（例えば、ケーブルによってペイロードを下げることによって）貨物室を開放することに加えてまたは貨物室を開放する代わりに他の方法でペイロードを配達するように構成されてよい。ペイロード管理サブシステム１１４は、例えば飛行特性を改善するためにペイロードをシフトする、ペイロードを拾い上げる、及び概して無人航空機が実行するように構成されてよい他の機能を実行する等のより高度な機能を実行してよい。
【００９４】
記憶サブシステム１３０６は、本開示の少なくとも１つの実施形態の機能性を提供してよい基本的なプログラミング及びデータ構造を記憶するためのコンピュータ可読記憶媒体を提供してよい。１つまたは複数のプロセッサによって実行されるとき、本開示の１つまたは複数の実施形態の機能性を提供し得るアプリケーション（プログラム、コードモジュール（例えば、プログラミングモジュール）、命令）は、記憶サブシステム１３０６に記憶されてよい。これらのアプリケーションモジュールまたは命令は、１つまたは複数のプロセッサ１３０２によって実行されてよい。記憶サブシステム１３０６はさらに、本開示に従って使用されるデータを記憶するためのリポジトリを提供してよい。記憶サブシステム１３０６は、メモリサブシステム１３０８、ならびに（例えば、受信されたメッセージ、ログ、及び／または他の情報を記憶するための）データ（例えば、ファイル／ディスク）記憶サブシステム１３１０を含んでよい。
【００９５】
トラステッドプラットフォームモジュール（ＴＰＭ）であってよい暗号モジュール１３２４は、プログラム実行中の命令及びデータの記憶のためのメインランダムアクセスメモリ（ＲＡＭ）１３２８、及びエクスポート不可能（つまり、暗号モジュール１３２４に対する任意の呼出しによってアクセス不可能）となるために搭載コンピュータシステム１３００の中に安全に記憶された暗号鍵等の固定された暗号情報が記憶されてよい読出し専用メモリ（ＲＯＭ）１３２６を含むメモリサブシステム１３３０を含む。暗号モジュール１３２４は、いくつかの実施形態で、参照により本明細書に援用されるＴｒｕｓｔｅｄ  Ｃｏｍｐｕｔｉｎｇ  ＧｒｏｕｐのＴＰＭ  Ｍａｉｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎレベル２、１．２版、改訂１１６、ＴＰＭ  Ｍａｉｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎレベル２、１．２版、改訂１０３、及び／またはＩＳＯ／ＩＥＣ１１８８１３に全体的にまたは部分的に準拠して動作する。また、搭載コンピュータシステム１３００は、一時的な暗号処理のためにＲＡＭ１３２８及び／またはプロセッサレジストリに暗号鍵を記憶してもよい。メモリに記憶された暗号情報はネットワークインタフェース１３１６及び／またはユーザーインタフェース入力装置１３１２の１つもしくは複数を介して入手される暗号情報と組み合わせて使用されてよい。１つまたは複数の暗号プロセッサは、搭載コンピュータシステムで暗号化動作を実行するために使用されてよく、乱数発生器、ＳＨＡ−２または他のハッシュジェネレータ、及び暗号化−解読−署名エンジンを含んでよい。
【００９６】
また、１つまたは複数の暗号プロセッサは、例えば公開鍵及び／または秘密鍵暗号アルゴリズム等の１つまたは複数の暗号アルゴリズムに従って１つまたは複数の暗号化アルゴリズム／解読アルゴリズムを実行するように構成されてもよい。例えば、説明されるように、多数の変形形態は対称及び／または非対称の暗号プリミティブを活用する。１つまたは複数の暗号プロセッサはさらに、本明細書で説明される難読化アルゴリズム及び難読化解除（ｄｅ−ｏｂｆｕｓｃａｔｉｏｎ）アルゴリズムを実行するように構成されてよい。難読化アルゴリズム及び難読化解除アルゴリズムは、ブロック暗号、ストリーム暗号、及びデジタル署名スキームを含むデータに対して暗号化動作を実行するための多様なスキームを含んでよい。本明細書に説明される暗号化動作はモジュールで実行しているソフトウェアによって、モジュールの中のハードウェアによって、またはその組合せによって実施されてよい。対称鍵アルゴリズムは、ブロック暗号、ストリーム暗号、及びデジタル署名スキームを含むデータに対して暗号化動作を実行するための多様なスキームを含んでよい。例の対称鍵アルゴリズムは、高度暗号化規格（ＡＥＳ）、データ暗号化規格（ＤＥＳ）、トリプルＤＥＳ（３ＤＥＳ）、Ｓｅｒｐｅｎｔ、Ｔｗｏｆｉｓｈ、ｂｌｏｗｆｉｓｈ、ＣＡＳＴ５、ＲＣ４、及び国際データ暗号化アルゴリズム（ＩＤＥＡ）を含むが、これに限定されるものではない。また、対称鍵アルゴリズムは一方向性関数の出力を生成するために使用されるものをも含んでよいが、ハッシュベースメッセージ認証コード（ＨＭＡＣ）、概してメッセージ認証コード（ＭＡＣ）、ＰＢＫＤＦ２、及びＢｃｒｙｐｔを活用するアルゴリズムを含むが、これに限定されるものではない。また、対称鍵アルゴリズムは、データに対して暗号化動作を実行するための多様なスキームも含んでよい。例のアルゴリズムは、ディフィーヘルマン鍵共有プロトコル、デジタル署名標準（ＤＳＳ）、デジタル署名アルゴリズム、エルガマル暗号、多様な楕円曲線アルゴリズム、パスワードによって認証された鍵一致技法、ｐａｌｌｉｅｒ暗号システム、ＲＳＡ暗号化アルゴリズム（ＰＫＣＳ＃１）、クラマーシャウプ暗号システム、ＹＡＫ認証鍵一致プロトコル、ＮＴＲＵＥｎｃｒｙｐｔ暗号システム、ＭｃＥｌｉｅｃｅ暗号システム及び他を活用するアルゴリズムを含むが、これに限定されるものではない。楕円曲線アルゴリズムは楕円曲線ディフィーヘルマン（ＥＣＤＨ）鍵一致方式、楕円曲線統合暗号化スキーム（ＥＣＩＥＳ）、楕円曲線デジタル署名アルゴリズム（ＥＣＤＳＡ）、ＥＣＭＱＶ鍵一致スキーム、及びＥＣＱＶ暗黙証明書スキームを含む。他のアルゴリズム及びアルゴリズムの組合せも本開示の範囲内にあると見なされる。
【００９７】
上述されたように、本開示の多様な実施形態では、暗号用具（つまり、暗号鍵等の秘密（複数可））は暗号モジュール１３２４の中に安全に記憶されている。いくつかの実施形態では、暗号モジュールは、少なくとも部分的にＰＵＦの物理特性に基づく１つまたは複数の秘密を使用するために物理的なハードウェアで実装される関数である物理的複製不可能関数（ＰＵＦ）として実装される、または物理的複製不可能関数（ＰＵＦ）を含んでよい。結果として、秘密を入手しようとする任意の試みは、ＰＵＦの中への物理的な侵入を必要とすることがあり、物理的な侵入はＰＵＦの物理特性を改変することがあり、それによって秘密を破壊する。使用されてよい例のＰＵＦは、明示的に導入される無作為性、光ＰＵＦ、コーティングＰＵＦ、本質的な無作為性を使用するＰＵＦ、遅延ＰＵＦ、スタティックランダムアクセスメモリ（ＳＲＡＭ）ＰＵＦ、バタフライＰＵＦ、双安定リングＰＵＦ、磁気ＰＵＦ、金属抵抗ＰＵＦ、及び／または物理特性が秘密として有用なまたは秘密のために情報を符号化する他のデバイスを含むＰＵＦを含む。
【００９８】
図１３に示されるように、無人航空機の搭載コンピュータシステム１３００は、搭載コンピュータの多様な構成要素によって活用されるデータを収集するセンサ１３１４の集合を含んでよい。例えば、センサ１３１４は、飛行及び関係する活動（例えば、離陸及び着陸）のために推進サブシステム１３１２によって使用される高度計を含んでよい。別の例として、センサ１３１４は、ピッチ、ロール、及び／またはヨーを制御するために推進サブシステム１３１２によって使用されるジャイロスコープを含んでよい。加速度計は推進サブシステム１３１２によってそのアビオニクス論理の一部として使用されてよい。グローバルポジショニングシステム（ＧＰＳ）センサは、ルートに従って飛行を制御するために推進サブシステム１３１２によって、及び（例えば、現在場所を入手し、指定された目的地までの最適ルートを計算することによって）ルートの計算のために１つまたは複数のプロセッサ１３０２によって等、他のサブシステムによっても使用されてよい。コンパスは方向を制御するために推進サブシステム１３１２によって使用されてよい。（例えば、音響近接検出器を使用する）近接センサの集合は、（例えば、配達中の）障害物の回避及び正確なナビゲーションのために推進サブシステム１３１２によって使用されてよい。いくつかのセンサは、例えば音声、ビデオ、デジタル画像等の環境データを収集するために使用されてよい。他の環境データは天候に関係してよく、したがってセンサ１３１４は、風速、気圧、湿度、可視性等の天候データを収集するセンサを含んでよい。示されているセンサは例であり、概して無人航空機で使用される特定のセンサは、無人航空機が実行するタスクに従って変わってよい。
【００９９】
図１４は、多様な実施形態に従って態様を実施するための例の環境１４００の態様を示す。理解されるように、ウェブベースの環境が説明のために使用されるが、異なる環境は多様な実施形態を実装するために必要に応じて使用されてよい。環境は、適切なネットワーク１４０４を通じて要求、メッセージ、または情報を送信及び／または受信し、いくつかの実施形態では装置のユーザーに情報を再び伝えるよう作動する任意の適切な装置を含むことがある電子クライアント装置１４０２を含む。係るクライアント装置の例はパーソナルコンピュータ、携帯電話、携帯メッセージング装置、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、パーソナルデータアシスタント、埋込式コンピュータシステム、電子ブックリーダー等を含む。ネットワークは、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、衛星ネットワーク、または任意の他の係るネットワーク及び／またはその組合せを含む、任意の適切なネットワークを含むことがある。係るシステムのために使用される構成要素は、選択されたネットワーク及び／または環境のタイプに少なくとも部分的に依存することがある。係るネットワークを介して通信するためのプロトコル及び構成要素は周知であり、本明細書では詳細に説明されない。ネットワークを介する通信は有線接続または無線接続及びその組合せによって有効にされることがある。他のネットワークの場合、当業者に明らかになるように、類似した目的に役立つ代替装置が使用できるだろうが、環境が要求を受信し、要求に応えてコンテンツを供給するためにウェブサーバ１４０６を含むので、この例では、ネットワークはインターネットを含む。
【０１００】
例示的な実施形態は、少なくとも１つのアプリケーションサーバ１４０８及びデータストア１４１０を含む。連鎖されてよい、またはそれ以外の場合構成されてよく、適切なデータストアからデータを入手する等のタスクを実行するために作用することがあるいくつかのアプリケーションサーバ、層、または他の要素、プロセス、もしくは構成要素がある場合があることが理解されるべきである。サーバは、本明細書に使用されるように、ハードウェア装置または仮想コンピュータシステム等、多様な方法で実装されてよい。いくつかの状況では、サーバはコンピュータシステムで実行中であるプログラミングモジュールを指してよい。本明細書に使用されるように、特に明記しない限り、または状況から明らかではない限り、用語「データストア」は、データを記憶する、データにアクセスする、及びデータを取り出すことができる任意の装置または装置の組合せを指し、任意の標準的な環境、分散環境、仮想環境、またはクラスタ化された環境で任意の組合せ及び数のデータサーバ、データベース、データ記憶装置、及びデータ記憶媒体を含んでよい。アプリケーションサーバは、クライアント装置のための１つまたは複数のアプリケーションの態様を実行するために必要に応じてデータストアと統合し、アプリケーションのためのデータアクセス及びビジネスロジックの一部またはすべてを処理するための任意の適切なハードウェア、ソフトウェア、及びファームウェアを含むことがある。アプリケーションサーバはデータストアと協調してアクセス制御サービスを提供してよく、ハイパーテキストマークアップ言語（「ＨＴＭＬ」）、拡張マークアップ言語（「ＸＭＬ」）、ＪａｖａＳｃｒｉｐｔ（登録商標）、Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ（「ＣＳＳ」）または別の適切なクライアント側の構造化言語の形でウェブサーバによってユーザーに提供されてよい、テキスト、グラフィックス、音声、ビデオ、及び／またはユーザーに提供されるために使用可能な他のコンテンツを含むが、これに限定されるものではないコンテンツを生成できる。クライアント装置に転送されるコンテンツは、聴覚的に、視覚的に、及び／または感触、味覚、及び／または臭覚を含む他の感覚によってユーザーが知覚できる形を含むが、これに限定されるものではない１つまたは複数の形でコンテンツを提供するためにクライアント装置によって処理されてよい。クライアント装置１４０２とアプリケーションサーバ１４０８との間でのコンテンツの配信だけではなく、すべての要求及び応答の処理は、ＰＨＰ：ハイパーテキストプレプロセッサ（「ＰＨＰ」）、Ｐｙｔｈｏｎ、Ｒｕｂｙ、Ｐｅｒｌ、Ｊａｖａ（登録商標）、ＨＴＭＬ、ＸＭＬ、またはこの例では別の適切なサーバ側の構造化言語を使用し、ウェブサーバによって処理できる。本明細書で説明される構造化されたコードは、本明細書の他の箇所で説明されるように任意の適切な装置またはホストマシン上で実行できるので、ウェブサーバ及びアプリケーションサーバが必要とされず、単に例の構成要素であることが理解されるべきである。さらに、単一の装置によって実行されているとして本明細書に説明される操作は、文脈上明確である場合を除いて、分散��ステム及び／または仮想システムを形成してよい複数の装置によって集合的に実行されてよい。
【０１０１】
データストア１４１０は、いくつかの別々のデータテーブル、データベース、データ文書、動的データ記憶スキーム、及び／または他のデータ記憶機構、ならびに本開示の特定の態様に関係するデータを記憶するための媒体を含むことがある。例えば、示されているデータストアは、生産側のためのコンテンツを供給するために使用できる生産データ１４１２及びユーザー情報１４１６を記憶するための機構を含んでよい。また、データストアは、報告、分析、または他の係る目的のために使用できるログデータ１４１４を記憶するための機構を含むために示される。必要に応じて上記に示された機構のいずれかに、またはデータストア１４１０の追加の機構に記憶できる、例えばページ画像情報及びアクセス権情報等の、データストアに記憶される必要がある場合がある多くの他の態様があることが理解されるべきである。データストア１４１０は、データストアと関連付けられた論理を通して、アプリケーションサーバ１４０８から命令を受信し、命令に応えてデータを入手、更新、またはそれ以外の場合処理するよう作動する。アプリケーションサーバ１４０８は、受信された命令に応えて静的、動的、または静的データ及び動的データの組合せを提供してよい。ウェブログ（ブログ）、ショッピングアプリケーション、ニュースサービス、及び他の係るアプリケーションで使用されるデータ等の動的データは、本明細書で説明されるようにサーバ側の構造化言語によって生成されてよい、またはアプリケーションサーバ上でもしくはアプリケーションサーバの制御下で動作するコンテンツ管理システム（「ＣＭＳ」）によって提供されてよい。一例では、ユーザーは、ユーザーによって操作される装置を通じて特定のタイプの項目の検索要求を提出する可能性がある。この場合、データストアはユーザーのアイデンティティを検証するためにユーザー情報にアクセスする可能性があり、そのタイプの項目についての情報を入手するためにカタログ詳細情報にアクセスできる。情報は、次いで例えば、ユーザーがユーザー装置１４０２上でブラウザを介して見ることができるウェブページ上の結果リストでユーザーに返すことができる。関心のある特定の項目のための情報は、ブラウザの専用のページまたはウィンドウで見ることができる。しかしながら、本開示の実施形態は必ずしもウェブページの文脈に制限されるのではなく、より概して要求が必ずしもコンテンツの要求ではない一般的な処理要求に適用可能であってよいことに留意されたい。
【０１０２】
各サーバは、通常、そのサーバの一般的な管理及び操作のための実行可能なプログラム命令を提供するオペレーティングシステムを含み、通常、サーバのプロセッサによって実行されるとき、サーバがその意図された機能を実行できるようにする命令を記憶するコンピュータ可読記憶媒体（例えば、ハードディスク、ランダムアクセスメモリ、読出し専用メモリ等）を含む。オペレーティングシステムにとって適切な実施態様及びサーバの一般的な機能性は既知である、または市販されており、特に本明細書の開示を鑑みて当業者によって容易に実施される。
【０１０３】
環境は、一実施形態では、１つもしくは複数のコンピュータネットワークまたは直接的な接続を使用し、通信リンクを介して相互接続されるいくつかのコンピュータシステム及び構成要素を活用する分散コンピューティング環境及び／または仮想コンピューティング環境である。しかしながら、係るシステムが、図１４に示されるよりも少ないまたは多い数の構成要素を有するシステムで等しくうまく機能できるだろうことが当業者によって理解される。したがって、図１４のシステム１４００の描写は本来は例示的であり、本開示の範囲に対して制限的ではないと解釈されるべきである。
【０１０４】
多様な実施形態はさらに、いくつかの場合、任意の数のアプリケーションのいずれかを操作するために使用できる、１つまたは複数のユーザーコンピュータ、コンピューティング装置、または処理装置を含むことがある多種多様の操作環境で実施できる。ユーザー装置またはクライアント装置は、例えばモバイルソフトウェアを実行し、いくつかのネットワーキングプロトコル及びメッセージングプロトコルをサポートできるセルラー装置、無線装置、及び携帯端末だけではなく、標準オペレーティングシステムで実行しているデスクトップコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータ等のいくつかの汎用パーソナルコンピュータのいずれかも含むことがある。また、係るシステムは、例えば開発及びデータベース管理等の目的のためにさまざまな市販されているオペレーティングシステム及び他の既知のアプリケーションのいずれかを実行するいくつかのワークステーションを含むこともある。これらの装置は、例えばダミー端末、シンクライアント、ゲーム機、及びネットワークを介して通信できる他の装置等の他の電子機器を含むこともある。また、これらの装置は、バーチャルマシン、ハイパーバイザ、及びネットワークを介して通信できる他の仮想装置等の仮想装置を含むことがある。
【０１０５】
本開示の多様な実施形態は、トランスタスクコントロールプロトコル／インターネットプロトコル（「ＴＣＰ／ＩＰ」）、ユーザーデータグラムプロトコル（「ＵＤＰ」）、オープンシステムインターコネクション（「ＯＳＩ」）モデルの多様な層で動作するプロトコル、ファイル転送プロトコル（「ＦＴＰ」）、ユニバーサルプラグアンドプレイ（「ＵｐｎＰ」）、ネットワークファイルシステム（「ＮＦＳ」）、共通インターネットファイルシステム（「ＣＩＦＳ」）、及びＡｐｐｌｅＴａｌｋ等のさまざまな市販プロトコルのいずれかを使用し、通信をサポートするために当業者によく知られているだろう少なくとも１つのネットワークを活用する。ネットワークは、例えばローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、衛星ネットワーク、及びその組合せであることがある。
【０１０６】
ウェブサーバを活用する実施形態では、ウェブサーバは、ハイパーテキスト転送プロトコル（「ＨＴＴＰ」）サーバ、ＦＴＰサーバ、共通ゲートウェイインタフェース（「ＣＧＩ」）サーバ、データサーバ、Ｊａｖａ（登録商標）サーバ、Ａｐａｃｈｅサーバ、ビジネスアプリケーションサーバを含む、さまざまなサーバアプリケーションまたは中間階層アプリケーションのいずれかを実行することがある。また、サーバ（複数可）は、例えばＪａｖａ（登録商標）、Ｃ、Ｃ＃、もしくはＣ＋＋等の任意のプログラミング言語、またはＲｕｂｙ、ＰＨＰ、Ｐｅｒｌ、Ｐｙｔｈｏｎ、もしくはＴＣＬ等の任意のスクリプト言語、及びその組合せで作成された１つまたは複数のスクリプトまたはプログラムとして実装されてよい１つまたは複数のウェブアプリケーションを実行することによってユーザー装置からの要求に応えてプログラムまたはスクリプトを実行できてよい。また、サーバ（複数可）は、ＭｙＳＱＬ、Ｐｏｓｔｇｒｅｓ、ＳＱＬｉｔｅ、ＭｏｎｇｏＤＢ等のオープンソースサーバ、及び構造化されたデータまたは構造化されていないデータを記憶する、取り出す、及びアクセスすることができる任意の他のサーバだけではなく、Ｏｒａｃｌｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｓｙｂａｓｅ（登録商標）、及びＩＢＭ（登録商標）から市販されるデータベースサーバも制限なく含むデータベースサーバを含んでもよい。データベースサーバは、表ベースのサーバ、文書ベースのサーバ、構造化されていないサーバ、リレーショナルサーバ、非リレーショナルサーバ、またはこれらのデータベースサーバ及び／もしくは他のデータベースサーバの組合せを含んでよい。
【０１０７】
環境は、上述されたさまざまなデータストア及び他のメモリ及び記憶媒体を含むことがある。これらは、例えばコンピュータの１つまたは複数に局所的な（及び／もしくはコンピュータの１つまたは複数に常駐する）、またはネットワーク全体のコンピュータのいずれかもしくはすべてから遠隔の記憶媒体上等、さまざまな場所に常駐することがある。実施形態の特定の集合では、情報は当業者によく知られているストレージエリアネットワーク（「ＳＡＮ」）に常駐してよい。同様に、コンピュータ、サーバ、または他のネットワーク装置に起因する機能を実行するために必要なあらゆるファイルは、必要に応じて局所的に及び／または遠隔で記憶されてよい。システムがコンピュータ化された装置を含む場合、それぞれの係る装置は、バスを介して電気的に結合されてよいハードウェア要素を含むことがあり、該要素は例えば少なくとも１つの中央演算処理装置（「ＣＰＵ」または「プロセッサ」）、少なくとも１つの入力装置（例えば、マウス、キーボード、コントローラ、タッチスクリーン、またはキーパッド）、及び少なくとも１つの出力装置（例えば、表示装置、プリンタ、またはスピーカ）を含む。また、係るシステムは、例えばリムーバブルメディア装置、メモリカード、フラッシュカード等だけではなく、ディスクドライブ、光学記憶装置、及び例えばランダムアクセスメモリ（「ＲＡＭ」）または読出し専用メモリ（「ＲＯＭ」）等のソリッドステート記憶装置等の１つまたは複数の記憶装置を含んでもよい。
【０１０８】
また、係る装置は、上述されたように、コンピュータ可読記憶媒体読取装置、通信装置（例えば、モデム、ネットワークカード（無線または有線）、赤外線通信装置等）、及び作業メモリを含むこともある。コンピュータ可読記憶媒体読取装置は、一時的に及び／または恒久的にコンピュータ可読情報を含む、記憶する、送信する、及び取り出すための記憶媒体だけではなく、遠隔記憶装置、ローカル記憶装置、固定記憶装置、及び／またはリムーバブル記憶装置を表す、コンピュータ可読記憶媒体と接続できる、またはコンピュータ可読記憶媒体を受け入れるように構成できる。また、システム及び多様な装置は、通常、オペレーティングシステム及び例えばクライアントアプリケーションまたはウェブブラウザ等のアプリケーションプログラムを含む、いくつかのソフトウェアアプリケーション、モジュール、サービス、または少なくとも１つの作業メモリ装置の中に位置する他の要素を含む。代替実施形態は、上述されたものから多数の変形形態を有してよいことが理解されるべきである。例えば、カスタマイズされたハードウェアも使用される可能性がある、及び／または特定の要素がハードウェア、（例えばアプレット等のポータブルソフトウェアを含む）ソフトウェア、または両方で実装される可能性がある。さらに、例えばネットワーク入出力装置等の他のコンピューティングシステムへの接続が利用されることがある。
【０１０９】
コードまたはコードの部分を含む記憶媒体及びコンピュータ可読媒体は、例えばＲＡＭ、ＲＯＭ、電気的消去可能ＲＯＭ（「ＥＥＰＲＯＭ」）、フラッシュメモリ、または他のメモリ技術、コンパクトディスクリードオン理メモリ（「ＣＤ−ＲＯＭ」）、デジタル多用途ディスク（ＤＶＤ）、または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶装置もしくは所望される情報を記憶するために使用することができ、システム装置によってアクセスできる任意の他の媒体を含む、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータ等の情報の記憶及び／またはトランスタスクのための任意の方法または技術で実装される揮発性媒体及び不揮発性媒体、リムーバブルメディア及び非リムーバブルメディア等であるが、これに限定されるものではない記憶媒体及び通信媒体を含む、技術で既知であるまたは使用されているあらゆる適切な媒体を含むことがある。本開示及び本明細書に提供される教示に基づいて、当業者は多様な実施形態を実施するための他のやり方及び／または方法を理解する。
【０１１０】
本明細書及び図面は、相応して制限的な意味よりむしろ例示的な意味で考えられる。しかしながら、特許請求の範囲に説明される本発明のより幅広い精神及び範囲から逸脱することなく本発明に多様な修正及び変更が加えられ得ることが明らかになる。
【０１１１】
開示された本発明の多様な実施形態及び任意選択の特徴は以下に示される。選択された実施形態が示されているが、追加の実施形態及び組合せが本明細書に開示される題材から逸脱することなく請求され得ることが本開示の当業者によって理解されるべきである。さらに、多様な態様は任意選択として説明されることがあるが、係るオプションが単独でまたは可能であれば説明された他のオプションと組み合わせて適用され得ることが当業者によって理解されるべきである。したがって、本開示は本明細書に説明される特徴の考えられるすべての新規の且つ発明に関する並べ替え及び組合せを明示的に意図する。
【０１１２】
本明細書に開示される実施形態は、複数の場所の間で無人航空機を推進するように構成された推進サブシステム、メッセージを受信及び送信するように構成されたトランシーバ、及び／または１つもしくは複数のプロセッサと、無人航空機によって完了されるタスクの集合、及び命令を記憶するメモリとを含む搭載コンピュータシステムの１つまたは複数を含む無人航空機を含んでよく、該命令は、１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムに、タスク決定後一度に、トランシーバを介して受信された第１のメッセージに少なくとも部分的に基づいてタスクの集合のためのタスクを決定し、トランシーバを通して受信された第２のメッセージが信頼できることを暗号によって検証する、受信された第２のメッセージの情報に少なくとも部分的に基づいてタスクを再計算する、及び再計算されたタスクを完了するために少なくとも推進サブシステムを制御することの内の１つまたは複数を行わせる。
【０１１３】
任意選択で、第２のメッセージは第１のデジタル証明書及びデジタル署名とともにトランシーバを通して受信されてよく、１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムに、第２のメッセージが信頼できることを暗号によって検証させる命令は、受信された第１のデジタル証明書を検証するために搭載コンピュータシステムにローカルに記憶される第２のデジタル証明書を使用させる、及び／または受信されたデジタル署名を検証するために第１のデジタル証明書を使用させるの内の１つまたは複数を行わせてよい。任意選択で、タスクの再計算は、第２のメッセージに指定される場所に対応する区域を回避するためにタスクのルートを再計算することを含んでよい。任意選択で、１つまたは複数のプロセッサによる実行時に搭載コンピュータシステムにタスクを再計算させる命令は、搭載コンピュータシステムに、第２のメッセージの情報がタスクの達成に適用できた結果としてタスクを選択させてよい。
【０１１４】
本明細書に開示される実施形態は、（つまり、無人機の搭載コンピュータシステムの制御下の１つまたは複数を含む）コンピュータにより実装された方法を含んでよい、またはそれ以外の場合、無人機によって実行される操作の集合を指定する情報を記憶すること、別の無人機からメッセージ及びメッセージの認証情報を受信することであって、認証情報がメッセージの発信者に特有である、受信すること、認証情報に少なくとも部分的に基づいてメッセージが本物であると判断すること、及び／またはメッセージに少なくとも部分的に基づいて情報を修正することの１つまたは複数を含む。
【０１１５】
任意選択で、認証情報は、メッセージのためのデジタル署名及び第１のデジタル証明書を含んでよい。任意選択で、メッセージが本物であると決定することは、第２のデジタル証明書を使用して第１のデジタル証明書を検証すること、及び第１のデジタル証明書を使用してデジタル署名を確証することを含んでよい。任意選択で、情報はタスクの集合をそれぞれ操作の集合の対応する部分集合で指定してよい。任意選択で、方法はさらに、メッセージに少なくとも部分的に基づいてタスクを選択し、タスクを再計算することを含んでよい。任意選択で、情報を修正することは、メッセージの情報に少なくとも部分的に基づいて目的地までのルートを修正することを含んでよい。任意選択で、方法は、他の無人機とは異なる第２の無人機にメッセージを送信することを含んでよい。任意選択で、無人機及び他の無人機は無人航空機であってよい。任意選択で、メッセージは他の無人機とは異なる第２の無人機が信頼できないことを示してよい。任意選択で、情報の少なくとも一部分は第２の無人機から受信されるメッセージの情報に依存してよい。任意選択で、情報を修正することは、第２の無人機からのメッセージで受信される情報とは関係なく情報の部分を再計算することを含んでよい。任意選択で、メッセージは複数のメッセージタイプの内の１つのタイプを含み、情報を修正することはさらに該タイプに少なくとも部分的に基づいてよい。
【０１１６】
本明細書に開示される実施形態は、非一過性のコンピュータ可読記憶媒体の上に実行可能な命令が記憶された非一過性のコンピュータ可読記憶媒体を含んでよく、実行可能な命令は、無人機のコンピュータシステムの１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、無人機が実行する操作の集合を指定する操作計画を記憶する、メッセージを受信する、別の無人航空機に特有の認証情報を使用して、メッセージが他の無人機から発せられたのかどうかを暗号によって検証する、及び／またはメッセージが他の無人機から発したとして暗号によって検証される場合メッセージの情報に従って操作計画を更新するの内の１つまたは複数を行わせる。
【０１１７】
任意選択で、メッセージはデジタル署名及びデジタル証明書とともに受信されてよい。任意選択で、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、メッセージが他の無人機から発したかどうかを暗号によって検証させる命令は、コンピュータシステムに、デジタル証明書を検証する、及び／またはデジタル証明書を使用してデジタル署名を検証するの内の１つまたは複数を行わせてよい。任意選択で、メッセージは他の無人航空機から直接的に受信されてよい。任意選択で、メッセージは記憶された情報を削除するコマンドを含んでよい。任意選択で、コンピュータシステムに、コマンドの結果として操作計画を削除させる命令を含んでよい。任意選択で、命令は、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、他の無人機から第２のメッセージを受信し、第２のメッセージがコマンドを指定する、第２のメッセージがコマンド制御施設コンピュータシステムから発したかどうかを暗号によって検証する、及び／または第２のメッセージがコマンド制御施設コンピュータシステムから発した旨の検証の成功を条件としてコマンドを達成するの内の１つまたは複数を行わせてよい。任意選択で、命令はさらに、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、受信されたメッセージのデジタル署名を生成する、及び／または受信されたメッセージ及び生成されたデジタル署名を、他の無人機とは異なる第２の無人機に提供するの内の１つまたは複数を行わせてよい命令を含んでよい。任意選択で、命令はさらに、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、メッセージを記憶する、他の無人機とは異なる第２の無人機に別のメッセージを送信することを決定する、及び／または他のメッセージを送信することを決定した結果として、記憶されたメッセージとともに他のメッセージを第２の無人機に送信することの内の１つまたは複数を行わせる命令を含んでよい。任意選択で、命令はさらに、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、コンピュータシステムが、メッセージが他の無人機から発したことを暗号によって検証できない場合にメッセージを拒絶させてよい命令を含んでよい。
【０１１８】
本明細書に開示される実施形態は、複数の場所の間で無人航空機を推進するように構成された推進サブシステム、メッセージを受信及び送信するように構成されたトランシーバ、ならびに／または搭載コンピュータシステムの１つまたは複数を含む、無人航空機を含んでよい。搭載コンピュータシステムは１つまたは複数のプロセッサと、無人航空機によって実行されるタスクの集合及び命令を記憶するメモリとを含んでよく、該命令は、１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムに、タスク決定後一度にトランシーバを介して受信されたメッセージに少なくとも部分的に基づいてタスクの集合のためのタスクを決定する、メッセージが信頼できないと判断する、信頼できないメッセージとは関係なくタスクを再計算する、及び／または再計算されたタスクを実行するために少なくとも推進サブシステムを制御することの内の１つまたは複数を行わせる。
【０１１９】
任意選択で、メッセージは第１のメッセージであってよい、及び／または搭載コンピュータシステムに、１つまたは複数のプロセッサによる実行時に、メッセージが信頼できないと判断させる命令は、搭載コンピュータシステムに、トランシーバを介して受信された第２のメッセージを入手し、受信されたメッセージがデジタル署名及びデジタル証明書を有する、デジタル署名及びデジタル証明書の少なくとも１つに少なくとも部分的に基づいて第２のメッセージの信頼性を検証する、及び／または第２のメッセージの信頼性に少なくとも部分的に基づいて第１のメッセージの信頼性を判断することの内の１つまたは複数を行わせてよい。任意選択で、第２のメッセージは、第１のメッセージを発した無人航空機が信頼できないことを示してよい。任意選択で、第２のメッセージが信頼できると判断した結果として、命令は搭載コンピュータシステムに、第１のメッセージが信頼できないと判断させてよい。任意選択で、タスクの再計算はタスクのルートの再計算を含む。
【０１２０】
本明細書に開示される実施形態は、コンピュータにより実装された（つまり、無人機の搭載コンピュータシステムの制御下の）方法を含んでよい、またはそれ以外の場合、無人機が実行するためのタスクの集合を記憶することであって、タスクの集合が別の無人機からの少なくとも１つのメッセージに依存して決定されたタスクの部分集合を含む、記憶すること、少なくとも１つのメッセージが信頼できないと判断すること、少なくとも１つのメッセージが信頼できないと判断した結果として記憶されたタスクの集合を更新すること、及び／または無人機に、更新された記憶されたタスクの集合を実行させることの内の１つまたは複数を含む。
【０１２１】
任意選択で、記憶されたタスクの集合を更新することは、少なくとも１つのメッセージとは関係なくタスクの部分集合の少なくとも１つのタスクを再計算することを含んでよい。任意選択で、タスクの部分集合は複数のタスクを含んでよい。任意選択で、方法はさらに、記憶されたタスクの集合を更新することを含んでよく、少なくとも１つのメッセージに依存してタスクの部分集合の少なくとも１つのタスクを残すために実行される。任意選択で、記憶されたタスクの集合を更新することは、記憶されたタスクの集合の少なくとも１つのタスクを取り消すことを含んでよい。任意選択で、方法は、別のメッセージを少なくとも１つの追加の無人機に送信することを含んでよく、他のメッセージは他の無人機が信頼できないことを示す。任意選択で、方法は、秘密として無人機によって維持される暗号鍵を使用し、他のメッセージのデジタル署名を生成することを含んでよい。任意選択で、方法は、他のメッセージを送信することを含んでよく、さらに生成されたデジタル署名を送信することを含む。任意選択で、少なくとも１つのメッセージが信頼できないと判断することは、別のメッセージのデジタル署名を検証することを含んでよい。任意選択で、無人機は無人航空機であってよい。任意選択で、記憶されたタスクの集合を更新することは、記憶されたタスクの集合にタスクを追加することを含んでよい。
【０１２２】
本明細書に開示される実施形態は、非一過性のコンピュータ可読記憶媒体の上に実行可能な命令が記憶された非一過性のコンピュータ可読記憶媒体を含んでよく、実行可能な命令は、無人機のコンピュータシステムの１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、別の無人機からメッセージを受信する、タスクの集合の更新後一度に受信されたメッセージの情報に少なくとも部分的に基づいて無人機によって実行されるタスクの集合を更新する、受信されたメッセージが信頼できないと判断する、及び／または受信されたメッセージが信頼できないと判断した結果として、タスクの集合を更新することの内の１つまたは複数を行わせる。
【０１２３】
任意選択で、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、受信されたメッセージが信頼できないと判断した結果としてタスクの集合を更新させる命令は、コンピュータシステムに、タスクの集合の内の少なくとも１つのタスクを以前の状態にロールバックさせてよい。任意選択で、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、受信されたメッセージが信頼できないと判断した結果としてタスクの集合を更新させる命令は、コンピュータシステムに、無人機の現在の状態に少なくとも部分的に基づいてタスクの集合の内の少なくとも１つのタスクを再計算させてよい。任意選択で、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、受信されたメッセージが信頼できないと判断した結果としてタスクの集合を更新させる命令は、コンピュータシステムに、無人機のデジタル証明書が取り消されることを示す第２のメッセージを受信する、及び／またはデジタル証明書の公開暗号鍵に少なくとも部分的に基づいて、メッセージのデジタル証明書が検証された結果としてメッセージを選択することの内の１つまたは複数を行わせてよい。任意選択で、メッセージは場所についての情報を示してよい。任意選択で、１つまたは複数のプロセッサによる実行時に、コンピュータシステムにタスクの集合を更新させる命令は、コンピュータシステムに、場所を回避するためにタスクの集合のルートを修正させてよい。任意選択で、命令はさらに、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、メッセージが信頼できないと判断した結果として、他の無人機が信頼できないことを示すメッセージを送信させてよい命令を含む。任意選択で、命令はさらに、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、他の無人機からの将来のメッセージを拒絶させてよい命令を含む。任意選択で、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、受信されたメッセージが信頼できないと判断させる命令は、コンピュータシステムにコマンド制御施設からの第２のメッセージの真偽を暗号によって検証させてよく、第２のメッセージは、他の無人機が信頼できないことを示す。
【０１２４】
本明細書に開示される実施形態は、複数の場所の間で無人航空機を推進するように構成された推進サブシステム、メッセージを受信及び送信するように構成されたトランシーバ、ならびに／または搭載コンピュータシステムの１つまたは複数を含む、無人航空機を含んでよい。搭載コンピュータシステムは１つまたは複数のプロセッサと、トランシーバを介して他の無人航空機から受信されたメッセージの第１の集合、無人航空機によって完了されるタスクの集合、及び／または命令を記憶するメモリとを含んでよく、該命令は、１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムに、別の無人航空機と通信する能力を検出する、他の無人航空機にメッセージの第１の集合を提供する、他の無人航空機からメッセージの第２の集合を受信する、受信されたメッセージの第２の集合に少なくとも部分的に基づいて、タスクの集合を更新するかどうかを判断する、及び／またはメッセージの第２の集合に含まれる情報がタスクの集合の１つまたは複数のタスクに適用可能である結果としてタスクの集合を更新することの内の１つまたは複数を実行させる。
【０１２５】
任意選択で、命令はさらに、１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムに、タスクの集合を更新するかどうかを判断する前提条件として、メッセージの第２の集合のデジタル署名を検証させてよい命令を含む。任意選択で、命令はさらに、１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムに、メッセージの第２の集合をメッセージの第１の集合にマージし、それによってメッセージのマージされた集合を生成する、メッセージの第２の集合をマージした結果をメッセージの第１の集合に記憶する、及びメッセージのマージされた集合を第２の無人航空機に送信することの内の１つまたは複数を行わせてよい命令を含む。任意選択で、タスクの集合の少なくとも１つのタスクの達成は、目的地への移動、及び目的地で操作を実行することを含んでよい。
【０１２６】
本明細書に開示される実施形態は、コンピュータにより実装された（つまり、搭載コンピュータシステムの制御下の）無人機を操作する方法を含んでよい、またはそれ以外の場合、実行するためのタスクの集合を記憶すること、別の無人機から複数のメッセージを受信すること、実行するためのタスクの集合からタスクを選択すること、複数のメッセージの少なくとも１つの情報に少なくとも部分的に基づいて選択されたタスクを更新すること、及び／または更新された選択されたタスクを完了することを含む。
【０１２７】
任意選択で、方法は第２の複数のメッセージを他の無人機に提供することを含んでよい。任意選択で、方法は、無人機のセンサの集合からのデータに少なくとも部分的に基づいてメッセージを生成することを含んでよい。任意選択で、方法は、生成されたメッセージを複数のメッセージに追加することを含んでよい。任意選択で、方法は、他の無人機に特有の暗号用具を使用し、複数のメッセージの真偽を暗号によって検証することを含んでよい。任意選択で、方法は、無人機とは異なる第２の無人機及び他の無人機に特有の暗号用具を使用し、複数のメッセージの個々のメッセージの真偽を暗号によって検証することを含んでよい。任意選択で、方法は、複数のメッセージを無人機にローカルに記憶された第２の複数のメッセージとマージし、それによってマージされた複数のメッセージを生成することを含んでよい。任意選択で、方法は、マージされた複数のメッセージを、無人機と及び他の無人機とは異なる第２の無人機に送信することを含んでよい。任意選択で、選択されたタスクは、無人機と、及び他の無人機とは異なる第２の無人機から受信されるメッセージに少なくとも部分的に基づいて決定されている。任意選択で、選択されたタスクはタスクを達成するための関連付けられたルートを有してよい、及び／または選択されたタスクを更新することは関連付けられたルートを更新することを含んでよい。
【０１２８】
本明細書に開示される実施形態は、非一過性のコンピュータ可読記憶媒体の上に実行可能な命令が記憶された非一過性のコンピュータ可読記憶媒体を含んでよく、実行可能な命令は、無人機のコンピュータシステムの１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、トランシーバを介してメッセージの集合を記憶する、トランシーバを使用し、別の無人機と通信する能力を検出する、他の無人機から複数のメッセージを受信することを含む他の無人機とメッセージを交換する、及び／または複数のメッセージの内のメッセージに少なくとも部分的に基づいて無人機の操作計画を修正することの内の１つまたは複数を行わせる。
【０１２９】
任意選択で、１つまたは複数のプロセッサによる実行時に、コンピュータシステムにメッセージを交換させる命令は、コンピュータシステムに、トランシーバを使用してメッセージの集合を他の無人機に送信させてよい。任意選択で、メッセージの集合の少なくとも１つのメッセージは、無人機と異なり、他の無人機とは異なる第２の無人機から受信された可能性がある。任意選択で、命令はさらに、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、操作計画に適用可能である複数のメッセージの少なくとも１つの真偽を暗号によって検証させてよい命令を含む。任意選択で、無人機は無人航空機であってよい。任意選択で、操作計画は無人機によって達成されるタスクの集合を含んでよい。任意選択で、１つまたは複数のプロセッサによる実行時に、無人機に操作計画を修正させる命令は、コンピュータシステムに、タスクの集合の少なくとも１つのタスクを取り消させてよい。任意選択で、複数のメッセージの内のメッセージは、メッセージを生成した無人機に特有の対応するデジタル証明書を有してよい。任意選択で、命令はさらに、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、デジタル証明書を使用してメッセージの真偽を検証させてよい命令を含む。
【０１３０】
本明細書に開示される実施形態は、複数の場所の間で無人航空機を推進するように構成された１つまたは複数の推進サブシステム、メッセージを受信及び送信するように構成されたトランシーバ、及び／または搭載コンピュータシステムを含んでよい。搭載コンピュータシステムは、１つまたは複数のプロセッサと、トランシーバを介して他の無人航空機から受信されたメッセージの第１の集合、無人航空機によって完了されるタスクの集合、及び／または命令を記憶するメモリとを含んでよく、該命令は、１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムに、別の無人航空機からトランシーバを介してメッセージ及びメッセージと関連付けられた複数のデジタル署名を受信する、複数のデジタル署名に少なくとも部分的に基づいて、メッセージの確実性レベルを決定する、決定された確実性レベルに少なくとも部分的に基づいてメッセージを受け入れるかどうかを判断する、及び／またはメッセージを受け入れると判断した場合、メッセージに従ってタスクの集合を修正することの内の１つまたは複数を行わせる。
【０１３１】
任意選択で、１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムに確実性レベルを決定させる命令は、搭載コンピュータシステムに、デジタル署名チェーンを形成する複数のデジタル署名の内のいくつかのデジタル署名がメッセージの受入れの最小数を満たすかどうかを判断させてよい。任意選択で、デジタル署名チェーンは、複数のデジタル署名の部分集合の各デジタル署名が、少なくとも１つの他のデジタル署名に基づいて生成される複数のデジタル署名の部分集合を含んでよい。任意選択で、１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムにメッセージを受け入れるかどうか判断させる命令は、コンピュータシステムに、メッセージのタイプに少なくとも部分的に基づいて必須確実性レベルを決定させ、決定された確実性レベルが必須確実性レベルを満たすかどうかを判断させてよい。任意選択で、命令はさらに、１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムに、無人航空機が利用可能なデータに少なくとも部分的に基づいてメッセージを確認するかどうかを判断する、メッセージを確認すると判断した場合に、メッセージのためのデジタル署名を生成する、及び少なくともメッセージ及び生成されたデジタル署名を、他の無人航空機とは異なる第２の無人航空機に送信することの内の１つまたは複数を行わせてよい。
【０１３２】
本明細書に開示される実施形態は、コンピュータにより実装された（つまり、コンピュータシステムの制御下の）無人機を操作する方法を含んでよい、またはそれ以外の場合、別の無人機からメッセージ及びメッセージと関連付けられた複数のデジタル署名を受信すること、複数のデジタル署名の少なくとも部分集合に少なくとも部分的に基づいて、定足数の無人航空機がメッセージを入念に検査したと判断すること、及び／または定足数の無人機がメッセージを入念に検査した結果として、メッセージに従って無人機のための操作計画を更新することの１つまたは複数を含む。
【０１３３】
任意選択で、方法はメッセージのタイプに少なくとも部分的に基づいて定足数を決定することを含んでよい。任意選択で、操作計画は、メッセージの情報に少なくとも部分的に基づいて、無人機によって実行されるタスクを再計算することを含んでよい。任意選択で、方法は、第２の無人機から第２のメッセージを受信すること、定足数の無人機がまだメッセージを入念に検査していないと判断すること、第２のメッセージを確認するために少なくとも１つの要求を送信すること、要求に対する少なくとも１つの応答を受信すること、受信された少なくとも１つの応答に少なくとも部分的に基づいて、定足数の無人機が第２のメッセージを入念に検査したと判断すること、及び／または第２のメッセージに従って操作計画を更新することの１つまたは複数を含んでよい。任意選択で、方法は、メッセージのためのデジタル署名を生成すること、及び／またはメッセージ、複数のデジタル署名、及び生成されたデジタル署名を、他の無人機とは異なる第２の無人機に送信することの１つまたは複数を含んでよい。任意選択で、方法は、無人機のセンサの集合から収集されたデータに少なくとも部分的に基づいて、メッセージを入念に検査することを決定することを含んでよい、及び／またはデジタル署名を生成することはメッセージを入念に検査することを前記決定することを条件とする。任意選択で、定足数は無人機の最小数であってよい。任意選択で、無人機及び他の無人機は無人航空機であってよい。
【０１３４】
本明細書に開示される実施形態は、非一過性のコンピュータ可読記憶媒体の上に実行可能な命令が記憶された非一過性のコンピュータ可読記憶媒体を含んでよく、実行可能な命令は、無人機のコンピュータシステムの１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、別の無人機からのメッセージ及びメッセージと関連付けられたデジタル署名の集合を受信する、デジタル署名の集合に少なくとも部分的に基づいて、メッセージを入念に検査した無人機の集合が一連の定足数規則を満たすかどうかを判断する、一連の定足数規則が満たされていないと判断した場合、メッセージの入念な検査に対する少なくとも１つの要求を送信する、及び／または少なくとも１つの要求に対する１つまたは複数の応答に従ってメッセージを処理することの内の１つまたは複数を行わせてよい。
【０１３５】
任意選択で、１つまたは複数のプロセッサによる実行時に、コンピュータシステムにメッセージを処理させる命令は、コンピュータシステムに、１つまたは複数の応答がメッセージを入念に検査する場合に無人機の操作計画を修正させてよい。任意選択で、１つまたは複数のプロセッサによる実行時に、コンピュータシステムにメッセージを処理させる命令は、コンピュータシステムに、少なくとも１つの要求に対する応答がメッセージを入念に検査することができない場合少なくとも一時的に操作計画を未修整のままにさせてよい。任意選択で、命令は、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、メッセージの真偽を検証するためにメッセージを生成したとして指定される無人機のデジタル証明書を使用させる命令を含んでよい。任意選択で、コンピュータシステムに少なくとも１つの要求を送信させる命令は、デジタル証明書を使用し、メッセージの真偽を検証できなかった結果として、実行されるように構成されてよい。任意選択で、命令は、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、メッセージを入念に検査するかどうかを判断するためにローカルで収集されたデータを使用する、及び／またはメッセージを入念に検査することを決定した場合、メッセージのためのデジタル署名を生成し、メッセージ及びメッセージのためのデジタル署名を、他の無人機とは異なる第２の無人機に送信することの内の１つまたは複数を行わせる命令を含んでよい。任意選択で、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、メッセージを入念に検査した無人機の集合が一連の定足数規則を満たすかどうかを判断させる命令は、コンピュータシステムに、デジタル署名の集合の少なくとも部分集合のデジタル署名ごとに、デジタル署名に対応するデジタル証明書及びメッセージの識別子を使用させて、基準デジタル署名を生成させてよい、及び／または生成された基準デジタル署名がデジタル署名に一致するかどうかを検証させてよい。任意選択で、１つまたは複数のプロセッサによる実行時に、コンピュータシステムにメッセージを処理させる命令は、コンピュータシステムに、定足数規則が満たされる場合、無人機によって移動されるルートを修正させてよい。任意選択で、命令は、１つまたは複数のプロセッサによる実行時に、コンピュータシステムに、受信されたメッセージのタイプに少なくとも部分的に基づいて一連の定足数規則を選択させてよい。
【０１３６】
本開示の実施形態は、以下の条項を考慮して説明できる。
１．無人航空機であって、
複数の場所の間で前記無人航空機を推進させるように構成された推進サブシステムと、
メッセージを受信及び送信するように構成されたトランシーバと、
１つまたは複数のプロセッサと、
前記無人航空機によって完了されるタスクの集合と、
前記１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムに、
前記トランシーバを介して受信される第１のメッセージに少なくとも部分的に基づいて前記タスクの集合のためのタスクを決定させ、
前記タスク決定後一度に、前記トランシーバを通して受信される第２のメッセージが信頼できることを暗号によって検証させ、
前記受信された第２のメッセージの情報に少なくとも部分的に基づいて前記タスクを再計算させ、
前記再計算されたタスクを完了するために、少なくとも前記推進サブシステムを制御させる
命令と、
を記憶するメモリと、
を含む、前記搭載コンピュータシステムと、
を備える、前記無人飛行機。
【０１３７】
２．前記第２のメッセージが第１のデジタル証明書及びデジタル署名とともに前記トランシーバを通して受信され、
前記１つまたは複数のプロセッサによる実行時に、前記搭載コンピュータシステムに、前記第２のメッセージが信頼できることを暗号によって検証させる前記命令が、前記搭載コンピュータシステムに、
前記受信された第１のデジタル証明書を検証するためにローカルに記憶された第２のデジタル証明書を使用させ、
前記受信されたデジタル署名を検証するために前記第１のデジタル証明書を使用させる、
条項１に記載の無人航空機。
【０１３８】
３．前記タスクの再計算が、前記第２のメッセージで指定される場所に対応する区域を回避するために前記タスクのためのルートを再計算することを含む、条項１または２に記載の無人航空機。
【０１３９】
４．前記１つまたは複数のプロセッサによる実行時に、前記搭載コンピュータシステムに前記タスクを再計算させる前記命令が、前記搭載コンピュータシステムに、前記第２のメッセージの情報が前記タスクの達成に適用可能であった結果として前記タスクを選択させる、条項１〜３のいずれかに記載の無人航空機。
【０１４０】
５．コンピュータ実装方法であって、
無人機の搭載コンピュータシステムの制御下で、
前記無人機によって実行される操作の集合を指定する情報を記憶することと、
別の無人機から、メッセージ及び前記メッセージのための認証情報を受信することであって、前記認証情報が前記メッセージの発信者に特有である、受信することと、
前記認証情報に少なくとも部分的に基づいて、前記メッセージが本物であると判断することと、
前記メッセージに少なくとも部分的に基づいて前記情報を修正することと、
を含む、前記コンピュータ実装方法。
【０１４１】
６．前記認証情報が前記メッセージのデジタル署名及び第１のデジタル証明書を含み、
前記メッセージが本物であると判断することが、第２のデジタル証明書を使用して前記第１のデジタル証明書を検証すること、及び前記第１のデジタル証明書を使用して前記デジタル署名を確証することを含む、
条項５に記載のコンピュータ実装方法。
【０１４２】
７．前記情報がタスクの集合をそれぞれ前記操作の集合の対応する部分集合で指定し、
前記方法がさらに、前記メッセージに少なくとも部分的に基づいてタスクを選択し、前記タスクを再計算することをさらに含む、
条項５または６のいずれかに記載のコンピュータ実装方法。
【０１４３】
８．前記情報を修正することが、前記メッセージの情報に少なくとも部分的に基づいて目的地までのルートを修正することを含む、条項５〜７に記載のコンピュータ実装方法。
【０１４４】
９．前記メッセージを、前記他の無人機とは異なる第２の無人機に送信することをさらに含む、条項５〜８のいずれかに記載のコンピュータ実装方法。
【０１４５】
１０．前記無人機及び前記他の無人機が無人航空機である、条項５〜９のいずれかに記載のコンピュータ実装方法。
【０１４６】
１１．前記メッセージが前記他の無人機とは異なる第２の無人機が信頼できないことを示し、
前記情報の少なくとも一部分が前記第２の無人機から受信されるメッセージの情報に依存し、
前記第２の無人機から前記メッセージで受信される前記情報とは関係なく、前記情報の前記部分を再計算することを含む、
条項５〜１０のいずれかに記載のコンピュータ実装方法。
【０１４７】
１２．前記メッセージが複数のメッセージタイプの内のタイプを有し、
前記情報を修正することが、前記タイプにさらに少なくとも部分的に基づく、
条項５〜１１のいずれかに記載のコンピュータ実装方法。
【０１４８】
１３．非一過性のコンピュータ可読記憶媒体の上に実行可能な命令が記憶された前記非一過性のコンピュータ可読記憶媒体であって、該実行可能な命令が、無人機のコンピュータシステムの１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに少なくとも、
前記無人機が実行する操作の集合を指定する操作計画を記憶させ、
メッセージを受信させ、
別の無人航空機に特有の認証情報を使用して、前記メッセージが前記他の無人機から発せられたのかどうかを暗号によって検証させ、
前記メッセージが、前記他の無人機から発したとして暗号によって検証される場合、前記メッセージの情報に従って前記操作計画を更新させる、
前記非一過性のコンピュータ可読記憶媒体。
【０１４９】
１４．前記メッセージがデジタル署名及びデジタル証明書とともに受信され、
前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記メッセージが前記他の無人機から発したかどうかを暗号によって検証させる前記命令が、前記コンピュータシステムに、
前記デジタル証明書を検証させ、
前記デジタル証明書を使用して前記デジタル署名を検証させる、
条項１３に記載の非一過性のコンピュータ可読記憶媒体。
【０１５０】
１５．前記メッセージが前記他の無人航空機から直接的に受信される、条項１３または１４に記載の非一過性のコンピュータ可読記憶媒体。
【０１５１】
１６．前記メッセージが記憶された情報を削除するコマンドを含み、
前記コンピュータシステムに、前記コマンドの結果として前記操作計画を更新させる前記命令が、前記コンピュータシステムに前記操作計画を削除させる命令を含む、
条項１３〜１５のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０１５２】
１７．前記命令がさらに、前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、
前記他の無人機から第２のメッセージを受信させ、前記第２のメッセージがコマンドを指定し、
前記第２のメッセージがコマンド制御施設コンピュータシステムから発したかどうかを暗号によって検証させ、
前記第２のメッセージが前記コマンド制御施設コンピュータシステムから発した旨の検証の成功を条件として前記コマンドを達成させる
命令をさらに備える、条項１３〜１６のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０１５３】
１８．前記命令がさらに、前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、
前記受信されたメッセージのためのデジタル署名を生成させ、
前記受信されたメッセージ及び前記生成されたデジタル署名を、前記他の無人機とは異なる第２の無人機に提供させる、
命令を備える、条項１３〜１７のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０１５４】
１９．前記メッセージがデジタル署名の取消しを示し、
前記命令がさらに、前記１つまたは複数のプロセッサによる実行時に、前記搭載コンピュータシステムに、
前記メッセージを記憶させ、
別のメッセージを、前記他の無人機とは異なる第２の無人機に送信することを決定させ、
前記他のメッセージを送信することを決定した結果として、前記他のメッセージを前記記憶されたメッセージとともに前記第２の無人機に送信させる、
命令をさらに備える、
条項１３〜１８のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０１５５】
２０．前記命令がさらに、前記１つまたは複数のプロセッサによる実行時に、前記搭載コンピュータシステムに、前記コンピュータシステムが、前記メッセージが前記他の無人機から発したことを暗号によって検証できない場合に、前記メッセージを拒絶させる命令を含む、条項１３〜１９のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０１５６】
２１．無人航空機であって、
複数の場所の間で前記無人航空機を推進させるように構成された推進サブシステムと、
メッセージを受信し、送信するように構成されたトランシーバと、
１つまたは複数のプロセッサと、
前記無人航空機によって実行されるタスクの集合と、
前記１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムに、
前記トランシーバを介して受信されたメッセージに少なくとも部分的に基づいて前記タスクの集合のためのタスクを決定させ、
前記タスク決定後一度に、前記メッセージが信頼できないと判断させ、
前記信頼できないメッセージとは関係なく前記タスクを再計算させ、
前記再計算されたタスクを実行するために少なくとも前記推進サブシステムを制御させる
命令と、
を記憶するメモリと、
を含む前記搭載コンピュータシステムと、
を備える、無人航空機。
【０１５７】
２２．前記メッセージが第１のメッセージであり、
前記１つまたは複数のプロセッサによる実行時に、前記搭載コンピュータシステムに、前記メッセージが信頼できないと判断させる前記命令は、前記搭載コンピュータシステムに、
前記トランシーバを介して受信される第２のメッセージを入手させ、前記メッセージがデジタル署名及びデジタル証明書とともに受信され、
前記デジタル署名及び前記デジタル証明書の少なくとも１つに少なくとも部分的に基づいて、前記第２のメッセージの信頼性を検証させ、
前記第２のメッセージの信頼性に少なくとも部分的に基づいて、前記第１のメッセージの信頼性を決定させる、
条項２１に記載の無人航空機。
【０１５８】
２３．前記第２のメッセージが、前記第１のメッセージを生じさせた無人航空機が信頼できないことを示し、
前記命令が前記搭載コンピュータシステムに、前記第２のメッセージが信頼できると判断した結果として、前記第１のメッセージが信頼できないと判断させる、
条項２１または２２に記載の無人航空機。
【０１５９】
２４．前記タスクの再計算が前記タスクのルートの再計算を備える、条項２１〜２３のいずれかに記載の無人航空機。
【０１６０】
２５．コンピュータ実装方法であって、
無人機の搭載コンピュータシステムの制御下で、
前記無人機が実行するためのタスクの集合を記憶することであって、前記タスクの集合が別の無人機からの少なくとも１つのメッセージに依存して決定されたタスクの部分集合を含む、記憶することと、
前記少なくとも１つのメッセージが信頼できないと判断することと、
前記少なくとも１つのメッセージが信頼できないと判断した結果として、前記記憶されたタスクの集合を更新することと、
前記無人機に前記更新された記憶されたタスクの集合を実行させることと、
を含む、前記コンピュータ実装方法。
【０１６１】
２６．前記記憶されたタスクの集合を更新することが、前記少なくとも１つのメッセージとは関係なく前記タスクの部分集合の少なくとも１つのタスクを再計算することを含む、条項２５に記載のコンピュータ実装方法。
【０１６２】
２７．前記タスクの部分集合が複数のタスクを備え、
前記記憶されたタスクの集合を更新することが、前記タスクの部分集合の少なくとも１つのタスクを前記少なくとも１つのメッセージに依存させたままにするために実行される、
条項２６に記載のコンピュータ実装方法。
【０１６３】
２８．前記記憶されたタスクの集合を更新することが、前記記憶されたタスクの集合の少なくとも１つのタスクを取り消すことを含む、条項２５〜２７のいずれかに記載のコンピュータ実装方法。
【０１６４】
２９．別のメッセージを少なくとも１つの追加の無人機に送信することをさらに含み、前記他のメッセージが前記他の無人機が信頼できないことを示す、条項２５〜２８のいずれかに記載のコンピュータ実装方法。
【０１６５】
３０．前記方法がさらに、前記無人機によって秘密として維持される暗号鍵を使用し、前記他のメッセージのデジタル署名を生成することをさらに含み、
前記他のメッセージを送信することがさらに、前記生成されたデジタル署名を送信することを含む、
条項２９に記載のコンピュータ実装方法。
【０１６６】
３１．前記少なくとも１つのメッセージが信頼できないと判断することが、別のメッセージのデジタル署名を検証することを含む、条項２５〜３０のいずれかに記載のコンピュータ実装方法。
【０１６７】
３２．前記無人機が無人航空機である、条項２５〜３１のいずれかに記載のコンピュータ実装方法。
【０１６８】
３３．前記記憶されたタスクの集合を更新することが、前記記憶されたタスクの集合にタスクを追加することを含む、条項２５〜３２のいずれかに記載のコンピュータ実装方法。
【０１６９】
３４．非一過性のコンピュータ可読記憶媒体の上に実行可能な命令が記憶された非一過性のコンピュータ可読記憶媒体であって、該実行可能な命令が、無人機のコンピュータシステムの１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに少なくとも、
別の無人機からメッセージを受信させ、
前記受信されたメッセージの情報に少なくとも部分的に基づいて、前記無人機によって実行されるタスクの集合を更新させ、
前記タスクの集合を更新後一度に、前記受信されたメッセージが信頼できないと判断させ、
前記受信されたメッセージが信頼できないと判断した結果として、前記タスクの集合を更新させる、
前記非一過性のコンピュータ可読記憶媒体。
【０１７０】
３５．前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記受信されたメッセージが信頼できないと判断した結果として前記タスクの集合を更新させる前記命令が、前記コンピュータシステムに前記タスクの集合の少なくとも１つのタスクを以前の状態にロールバックさせる、条項３４に記載の非一過性のコンピュータ可読記憶媒体。
【０１７１】
３６．前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記受信されたメッセージが信頼できないと判断した結果として前記タスクの集合を更新させる前記命令が、前記コンピュータシステムに、前記無人機の現在の状態に少なくとも部分的に基づいて前記タスクの集合の少なくとも１つのタスクを再計算させる、条項３４または３５に記載の非一過性のコンピュータ可読記憶媒体。
【０１７２】
３７．前記１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムに、前記受信されたメッセージが信頼できないと判断させる前記命令が、前記コンピュータシステムに、
前記無人機のデジタル証明書が取り消されることを示す第２のメッセージを受信させ、
前記メッセージのデジタル署名が前記デジタル証明書の公開暗号鍵に少なくとも部分的に基づいて検証された結果として前記メッセージを選択させる、
条項３４〜３６のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０１７３】
３８．前記メッセージが場所についての情報を示し、
前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記タスクの集合を更新させる前記命令が、前記コンピュータシステムに、前記場所を回避するために前記タスクの集合の内のタスクのルートを修正させる、
条項３４〜３７のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０１７４】
３９．前記命令がさらに、前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記メッセージが信頼できないと判断した結果として、前記他の無人機が信頼できないことを示すメッセージを送信させる命令を含む、条項３４〜３８のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０１７５】
４０．前記命令がさらに、前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記他の無人機からの将来のメッセージを拒絶させる命令を含む、条項３４〜３９のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０１７６】
４１．前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記受信されたメッセージが信頼できないと判断させる前記命令が、前記コンピュータシステムに、コマンド制御施設からの第２のメッセージの真偽を暗号によって検証させ、前記第２のメッセージが前記他の無人機が信頼できないことを示す、条項３４〜４０のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０１７７】
４２．無人航空機であって、
複数の場所の間で前記無人航空機を推進させるように構成された推進サブシステムと、
メッセージを受信及び送信するように構成されたトランシーバと、
１つまたは複数のプロセッサと、
前記トランシーバを介して他の無人航空機から受信されるメッセージの第１の集合と、
前記無人航空機によって完了されるタスクの集合と、
前記１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムに、
別の無人航空機と通信する能力を検出させ、
前記メッセージの第１の集合を前記他の無人航空機に提供させ、
前記他の無人航空機からメッセージの第２の集合を受信させ、
前記受信されたメッセージの第２の集合に少なくとも部分的に基づいて、前記タスクの集合を更新するかどうかを判断させ、
前記メッセージの第２の集合に含まれる情報が前記タスクの集合の内の１つまたは複数のタスクに適用可能であった結果として、前記タスクの集合を更新させる
命令と、
を記憶するメモリと、
を含む、前記搭載コンピュータシステムと、
を備える、前記無人飛行機。
【０１７８】
４３．前記命令がさらに、前記１つまたは複数のプロセッサによる実行時に、前記搭載コンピュータシステムに、前記メッセージの第２の集合のデジタル署名を、前記タスクの集合を更新するかどうかを決定する前提条件として検証させる命令を備える、条項４２に記載の無人航空機。
【０１７９】
４４．前記命令がさらに、前記１つまたは複数のプロセッサによる実行時に、前記搭載コンピュータシステムに、
前記メッセージの第２の集合を前記メッセージの第１の集合にマージさせ、それによってメッセージのマージされた集合を生成し、
前記メッセージの第２の集合を前記メッセージの第１の集合にマージする結果を記憶させ、
前記メッセージのマージされた集合を第２の無人航空機に送信させる
命令を含む、条項４２または４３に記載の無人航空機。
【０１８０】
４５．前記タスクの集合の少なくとも１つのタスクの達成が、目的地への移動及び前記目的地で操作を実行することを含む、条項４２〜４４のいずれかに記載の無人航空機。
【０１８１】
４６．コンピュータ実装方法であって、
無人機の搭載コンピュータシステムの制御下で、
前記無人機で、実行するためのタスクの集合を記憶することと、
前記無人機で、及び別の無人機から複数のメッセージを受信することと、
実行するための前記タスクの集合からタスクを選択することと、
前記複数のメッセージの少なくとも１つの情報に少なくとも部分的に基づいて前記選択されたタスクを更新することと、
前記更新された選択されたタスクを完了することと、
を含む、前記コンピュータ実装方法。
【０１８２】
４７．第２の複数のメッセージを前記他の無人機に提供することをさらに含む、条項４６に記載のコンピュータ実装方法。
【０１８３】
４８．前記無人機のセンサの集合からのデータに少なくとも部分的に基づいてメッセージを生成することと、
前記複数のメッセージに前記生成されたメッセージを追加することと、
をさらに含む、条項４６または４７に記載のコンピュータ実装方法。
【０１８４】
４９．前記他の無人機に特有な暗号用具を使用し、前記複数のメッセージの真偽を暗号によって検証することをさらに含む、条項４６〜４８のいずれかに記載のコンピュータ実装方法。
【０１８５】
５０．前記無人機及び前記他の無人機とは異なる第２の無人機に特有の暗号用具を使用し、前記複数のメッセージの個々のメッセージの真偽を暗号によって検証することをさらに含む、条項４６〜４９のいずれかに記載のコンピュータ実装方法。
【０１８６】
５１．前記複数のメッセージを、前記無人機にローカルに記憶される第２の複数のメッセージとマージし、それによってマージされた複数のメッセージを生成することと、
前記マージされた複数のメッセージを、前記無人機とは、及び前記他の無人機とは異なる第２の無人機に送信することと、
をさらに含む、条項４６〜５０のいずれかに記載のコンピュータ実装方法。
【０１８７】
５２．前記選択されたタスクが、前記無人機とは、及び前記他の無人機とは異なる第２の無人機から受信されるメッセージに少なくとも部分的に基づいて決定された、条項４６〜５１のいずれかに記載のコンピュータ実装方法。
【０１８８】
５３．前記選択されたタスクが前記タスクを達成するための関連付けられたルートを有し、
前記選択されたタスクを更新することが、前記関連付けられたルートを更新することを含む、
条項４６〜５２のいずれかに記載のコンピュータ実装方法。
【０１８９】
５４．非一過性のコンピュータ可読記憶媒体の上に実行可能な命令が記憶された非一過性のコンピュータ可読記憶媒体であって、該実行可能な命令が、無人機のコンピュータシステムの１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに少なくとも、
トランシーバを通して受信されたメッセージの集合を記憶させ、
前記トランシーバを使用し、別の無人機と通信する能力を検出させ、
前記他の無人機とメッセージを交換させ、前記他の無人機からの複数のメッセージを受信することを含み、
前記複数のメッセージの内のメッセージに少なくとも部分的に基づいて、前記無人機のための操作計画を修正させる、
前記非一過性のコンピュータ可読記憶媒体。
【０１９０】
５５．前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムにメッセージを交換させる前記命令が、前記コンピュータシステムに、前記トランシーバを使用させ、前記メッセージの集合を前記他の無人機に送信させる、条項５４に記載の非一過性のコンピュータ可読記憶媒体。
【０１９１】
５６．前記メッセージの集合の少なくとも１つのメッセージが、前記無人機と異なり、前記他の無人機と異なる第２の無人機から受信された、条項５４または５５に記載の非一過性のコンピュータ可読記憶媒体。
【０１９２】
５７．前記命令がさらに、前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記操作計画に適用可能である前記複数のメッセージの少なくとも１つの真偽を暗号によって検証させる、条項５４〜５５のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０１９３】
５８．前記無人機が無人航空機である、条項５４〜５７のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０１９４】
５９．前記操作計画が、前記無人機によって達成されるタスクの集合を備える、条項５４〜５８のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０１９５】
６０．前記１つまたは複数のプロセッサによる実行時に、前記無人機に操作計画を修正させる前記命令が、前記コンピュータシステムに、前記タスクの集合の少なくとも１つのタスクを取り消させる、条項５９に記載の非一過性のコンピュータ可読記憶媒体。
【０１９６】
６１．前記複数のメッセージの内のメッセージが、前記メッセージを生成した無人機に特有の対応するデジタル証明書を有し、
前記命令がさらに、前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記デジタル証明書を使用して前記メッセージの真偽を検証させる命令を備える、
条項５４〜６０のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０１９７】
６２．無人航空機であって、
複数の場所の間で前記無人航空機を推進させるように構成された推進サブシステムと、
メッセージを受信及び送信するように構成されたトランシーバと、
１つまたは複数のプロセッサと、
前記トランシーバを介して他の無人航空機から受信されるメッセージの第１の集合と、
前記無人航空機によって完了されるタスクの集合と、
前記１つまたは複数のプロセッサによる実行時に、搭載コンピュータシステムに、
別の無人航空機から前記トランシーバを介して、メッセージ及び前記メッセージと関連付けられた複数のデジタル署名を受信させ、
前記複数のデジタル署名に少なくとも部分的に基づいて、前記メッセージの確実性レベルを決定させ、
前記決定された確実性レベルに少なくとも部分的に基づいて、前記メッセージを受け入れるかどうかを判断させ、
前記メッセージを受け入れると判断した場合、前記メッセージに従って前記タスクの集合を修正させる
命令と、
を記憶するメモリと、
を含む、前記搭載コンピュータシステムと、
を備える、前記無人飛行機。
【０１９８】
６３．前記１つまたは複数のプロセッサによる実行時に、前記搭載コンピュータシステムに、前記確実性レベルを判断させる前記命令が、前記搭載コンピュータシステムに、デジタル署名チェーンを形成する前記複数のデジタル署名のデジタル署名の数が前記メッセージの受入れのための最小数を満たすかどうかを判断させ、前記デジタル署名チェーンが前記複数のデジタル署名の部分集合を含み、前記複数のデジタル署名の前記部分集合の各デジタル署名が少なくとも１つの他のデジタル署名に少なくとも部分的に基づいて生成される、条項６２に記載の無人航空機。
【０１９９】
６４．前記１つまたは複数のプロセッサによる実行時に、前記搭載コンピュータシステムに、前記メッセージを受け入れるかどうかを判断させる前記命令が、前記コンピュータシステムに、前記メッセージのタイプに少なくとも部分的に基づいて、必須確実性レベルを決定させ、前記決定された確実性レベルが少なくとも前記必須確実性レベルを満たすかどうかを判断させる、条項６２または６３に記載の無人航空機。
【０２００】
６５．前記命令がさらに、前記１つまたは複数のプロセッサによる実行時に、前記搭載コンピュータシステムに、
前記無人航空機が利用できるデータに少なくとも部分的に基づいて、前記メッセージを確認するかどうかを判断させ、
前記メッセージを確認することを決定した場合、前記メッセージのためのデジタル署名を生成させ、
少なくとも前記メッセージ及び前記生成されたデジタル署名を、前記他の無人航空機とは異なる第２の無人航空機に送信させる
命令を備える、条項６２〜６４のいずれかに記載の無人航空機方法。
【０２０１】
６６．コンピュータ実装方法であって、
無人機のコンピュータシステムの制御下で、
別の無人機から、メッセージ及び前記メッセージと関連付けられた複数のデジタル署名を受信することと、
前記複数のデジタル署名の少なくとも部分集合に少なくとも部分的に基づいて、定足数の無人航空機が前記メッセージを入念に検査したと判断することと、
前記定足数の無人機が前記メッセージを入念に検査した結果として、前記メッセージに従って前記無人機の操作計画を更新することと、
を含む、前記コンピュータ実装方法。
【０２０２】
６７．前記メッセージのタイプに少なくとも部分的に基づいて、前記定足数を決定することをさらに含む、条項６６に記載のコンピュータ実装方法。
【０２０３】
６８．前記操作計画を更新することが、前記メッセージの情報に少なくとも部分的に基づいて、前記無人機によって実行されるタスクを再計算することを含む、条項６６または６７に記載のコンピュータ実装方法。
【０２０４】
６９．第２の無人機から第２のメッセージを受信することと、
前記定足数の無人機がまだ前記メッセージを入念に検査していないと判断することと、
前記第２のメッセージを確認する少なくとも１つの要求を送信することと、
前記要求に対する少なくとも１つの応答を受信することと、
前記受信された少なくとも１つの応答に少なくとも部分的に基づいて、前記定足数の無人機が前記第２のメッセージを入念に検査したと判断することと、
前記第２のメッセージに従って前記操作計画を更新することと、
をさらに含む、条項６６〜６８のいずれかに記載のコンピュータ実装方法。
【０２０５】
７０．前記メッセージのためのデジタル署名を生成することと、
前記メッセージ、前記複数のデジタル署名、及び前記生成されたデジタル署名を、前記他の無人機とは異なる第２の無人機に送信することと、
をさらに含む、条項６６〜６９のいずれかに記載のコンピュータ実装方法。
【０２０６】
７１．前記方法は、前記無人機のセンサの集合から収集されたデータに少なくとも部分的に基づいて、前記メッセージを入念に検査すると判断することをさらに含み、
前記デジタル署名を生成することが、前記メッセージを入念に検査すると前記判断することを条件とする、
条項６６〜７０のいずれかに記載のコンピュータ実装方法。
【０２０７】
７２．前記定足数が無人機の最小数である、条項６６〜７１のいずれかに記載のコンピュータ実装方法。
【０２０８】
７３．前記無人機及び前記他の無人機が無人航空機である、条項６６から７２のいずれかに記載のコンピュータ実装方法。
【０２０９】
７４．非一過性のコンピュータ可読記憶媒体の上に実行可能な命令が記憶された非一過性のコンピュータ可読記憶媒体であって、該実行可能な命令が、無人機のコンピュータシステムの１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに少なくとも、
別の無人機からのメッセージ、及び前記メッセージと関連付けられたデジタル署名の集合を受信させ、
前記デジタル署名の集合に少なくとも部分的に基づいて、前記メッセージを入念に検査した無人機の集合が一連の定足数規則を満たすかどうかを判断させ、
一連の定足数規則が満たされていないと判断した場合、前記メッセージの入念検査の少なくとも１つの要求を送信させ、
前記少なくとも１つの要求に対する１つまたは複数の回答に従って前記メッセージを処理させる、
前記非一過性のコンピュータ可読記憶媒体。
【０２１０】
７５．前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記メッセージを処理させる前記命令が、前記コンピュータシステムに、前記１つまたは複数の応答が前記メッセージを入念に検査する場合、前記無人機の操作計画を修正させる、条項７４に記載の非一過性のコンピュータ可読記憶媒体。
【０２１１】
７６．前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記メッセージを処理させる前記命令が、前記コンピュータシステムに、前記少なくとも１つの要求に対する応答が前記メッセージを入念に検査できない場合に操作計画を少なくとも一時的に未修正のままとさせる、条項７４または７５に記載の非一過性コンピュータ可読記憶媒体。
【０２１２】
７７．前記命令がさらに、前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記メッセージの真偽を検証するために前記メッセージを生成したとして指定される無人機のデジタル証明書を使用させ、
前記コンピュータシステムに前記少なくとも１つの要求を送信させる前記命令が、前記デジタル証明書を使用し、前記メッセージの真偽を検証できなかった結果として実行されるように構成される、
条項７４〜７６のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０２１３】
７８．前記命令がさらに、前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、
前記メッセージを入念に検査するかどうかを判断するためにローカルに収集されたデータを使用させ、
前記メッセージを入念に検査することと判断した場合、前記メッセージのためのデジタル署名を生成させ、前記メッセージ及び前記メッセージのための前記デジタル署名を、前記他の無人機とは異なる第２の無人機に送信させる
命令を含む、条項７４〜７７のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０２１４】
７９．前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記メッセージを入念に検査した無人機の前記集合が前記一連の定足数規則を満たすかどうかを判断させる命令が、前記コンピュータシステムに、前記デジタル署名の集合の少なくとも部分集合のデジタル署名ごとに、
前記メッセージの前記デジタル署名及び前記識別子に対応するデジタル証明書を使用して、基準デジタル署名を生成させ、
前記生成された基準デジタル署名が前記デジタル署名に一致するかどうかを検証させる、
条項７４〜７８のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０２１５】
８０．前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記メッセージを処理させる前記命令が、前記コンピュータシステムに、前記定足数規則が満たされる場合、前記無人機によって移動されるルートを修正させる、条項７４〜７９のいずれかに記載の非一過性のコンピュータ可読記憶装置。
【０２１６】
８１．前記命令がさらに、前記１つまたは複数のプロセッサによる実行時に、前記コンピュータシステムに、前記受信されたメッセージのタイプに少なくとも部分的に基づいて前記一連の定足数規則を選択させる、条項７４〜８０のいずれかに記載の非一過性のコンピュータ可読記憶媒体。
【０２１７】
他の変形形態は本開示の精神の範囲内にある。したがって、開示されている技法は多様な修正及び代替構成の影響を受けやすいが、本開示の特定の示されている実施形態は図面に示され、詳細に上述されている。しかしながら、本発明を開示されている特定の１つまたは複数の形に制限する意図はなく、逆に、意図は添付の特許請求の範囲に定義されるように本発明の精神及び範囲に入るすべての変更形態、代替構造及び同等物をカバーすることであることが理解されるべきである。
【０２１８】
（特に以下の特許請求の範囲との関連で）開示される実施形態を説明することとの関連で用語「ａ」、及び「ａｎ」及び「ｔｈｅ」及び類似する指示対象を使用することは、本明細書に別段の指示がない限りまたは文脈に明らかに矛盾しない限り、単数と複数の両方をカバーすると解釈されるべきである。用語「ｃｏｍｐｒｉｓｉｎｇ（含む）」、「有する（ｈaｖiｎｇ）」、「ｉｎｃｌｕｄｉｎｇ（含む）」及び「ｃｏｎｔａｉｎｉｎｇ（含む）」は、特に断りのない限り、開放クレーム（つまり、「含むが、これに限定されるものではない」を意味する）として解釈されるべきである。用語「接続される」は、修飾されず、物理的な接続を指すときは、介在する何かがあるとしても、部分的にまたは全体的に中に含まれる、取り付けられる、または互いに接合されるとして解釈されるべきである。本明細書の値の範囲の列挙は、本明細書に別段の指示がない限り、単に、範囲内に入るそれぞれ別個の値を個別に指す簡単な方法として役立つことが意図されるだけであり、それぞれ別個の値は、あたかも該値が本明細書で個別に列挙されるかのように明細書の中に組み込まれる。用語「集合」（例えば、「品目の集合」または「部分集合」は、特に断りのない限りまたは文脈に明らかに矛盾しない限り、１つまたは複数の要素を含む非空の集合体として解釈されるべきである。さらに、特に断りのない限りまたは文脈に明らかに矛盾しない限り、対応する集合の用語「部分集合」は必ずしも対応する集合の適切な部分集合を示すわけではなく、部分集合及び対応する集合は等しいことがある。
【０２１９】
別段の指示がない限りまたは文脈に明らかに矛盾しない限り、例えば形式「Ａ、Ｂ、及びＣの少なくとも１つ」または「Ａ、Ｂ、及びＣの少なくとも１つ」の句等の接続言語は、それ以外の場合、一般に、項目、項等がＡもしくはＢもしくはＣのどちらかである、またはＡ及びＢ及びＣの集合の任意の非空部分集合であってよいことを示すために使用されるとして文脈で解釈される。例えば、３つの要素を有する集合の例示的な例では、接続句「Ａ、Ｂ、及びＣの少なくとも１つ」並びに「Ａ、Ｂ、及びＣの少なくとも１つ」は、以下の集合｛Ａ｝、｛Ｂ｝、｛Ｃ｝、｛Ａ、Ｂ｝、｛Ａ、Ｃ｝、｛Ｂ、Ｃ｝、｛Ａ、Ｂ、Ｃ｝のいずれかを指す。したがって、係る接続言語は、特定の実施形態がＡの少なくとも１つ、Ｂの少なくとも１つ、及びＣの少なくとも１つがそれぞれ存在することを要求することを暗示すると概して意図されない。
【０２２０】
本明細書に説明されるプロセスの操作は、本明細書に別段の指示がない限りまたは文脈に明らかに矛盾しない限り、任意の適切な順序で実行できる。本明細書に説明されるプロセス（またはプロセスの変形形態及び／または組合せ）は、実行可能な命令で構成された１つまたは複数のコンピュータシステムの制御下で実行されてよく、ハードウェアまたはハードウェアの組合せによって、１つまたは複数のプロセッサで集合的に実行するコード（例えば、実行可能な命令、１つもしくは複数のコンピュータプログラム、または１つもしくは複数のアプリケーション）として実装されてよい。コードは、例えば１つまたは複数のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形でコンピュータ可読記憶媒体に記憶されてよい。コンピュータ可読記憶媒体は非一過性であってよい。
【０２２１】
本明細書に提供されるあらゆる及びすべての例、または例示的な言語（例えば「等の」）の使用は、単に本発明の実施形態をよりうまく明らかにすることを意図しており、別段に請求されない限り、本発明に対して制限を課さない。明細書中の言語は、任意の請求されていない要素を本発明の実施にとって必須として示すとして解釈されるべきではない。
【０２２２】
本発明を実施するために本発明者に既知である最良の形態を含む本開示の実施形態が本明細書に説明される。それらの実施形態の変形形態は、上記説明を読むと当業者に明らかになり得る。本発明者は、当該技術の熟練者が係る変形形態を必要に応じて利用することを期待し、本発明者は本開示の実施形態が本明細書に特に説明される以外に実施されることを意図する。したがって、本開示の範囲は、適用法により許可されるように、本明細書に加えられる特許請求の範囲に列挙される主題のすべての変更形態及び同等物を含む。さらに、その考えられるすべての変形形態の上述された要素のいかなる組合せも、本明細書に別段の指示がない限りまたは文脈に明らかに矛盾しない限り本開示の範囲により包含される。
【０２２３】
本明細書に引用される出版物、特許出願、及び特許を含むすべての参考文献は、あたかもそれぞれの参考文献が個別に且つ明確に参照により援用されるために示され、本明細書にその全体として説明されるかのように同程度まで参考文献により本明細書に援用される。
【図１】
0006628372.tif 000002
【図２】
0006628372.tif 000003
【図３】
0006628372.tif 000004
【図４】
0006628372.tif 000005
【図５】
0006628372.tif 000006
【図６】
0006628372.tif 000007
【図７】
0006628372.tif 000008
【図８】
0006628372.tif 000009
【図９】
0006628372.tif 000010
【図１０】
0006628372.tif 000011
【図１１】
0006628372.tif 000012
【図１２】
0006628372.tif 000013
【図１３】
0006628372.tif 000014
【図１４】
0006628372.tif 000015