IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 之江実験室の特許一覧

特開2024-171298タスクスケジューリング方法、装置、記憶媒体および電子デバイス
<>
  • 特開-タスクスケジューリング方法、装置、記憶媒体および電子デバイス 図1
  • 特開-タスクスケジューリング方法、装置、記憶媒体および電子デバイス 図2
  • 特開-タスクスケジューリング方法、装置、記憶媒体および電子デバイス 図3
  • 特開-タスクスケジューリング方法、装置、記憶媒体および電子デバイス 図4
  • 特開-タスクスケジューリング方法、装置、記憶媒体および電子デバイス 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024171298
(43)【公開日】2024-12-11
(54)【発明の名称】タスクスケジューリング方法、装置、記憶媒体および電子デバイス
(51)【国際特許分類】
   G06F 9/50 20060101AFI20241204BHJP
【FI】
G06F9/50 150Z
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023186073
(22)【出願日】2023-10-31
(11)【特許番号】
(45)【特許公報発行日】2024-11-11
(31)【優先権主張番号】202310615474.6
(32)【優先日】2023-05-29
(33)【優先権主張国・地域又は機関】CN
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.VERILOG
3.CONFLUENCE
(71)【出願人】
【識別番号】521162399
【氏名又は名称】之江実験室
(74)【代理人】
【識別番号】110000729
【氏名又は名称】弁理士法人ユニアス国際特許事務所
(72)【発明者】
【氏名】唐 曉瑜
(72)【発明者】
【氏名】湯 昭榮
(72)【発明者】
【氏名】崔 ▲シュ▼瑶
(72)【発明者】
【氏名】邱 吉冰
(57)【要約】      (修正有)
【課題】人工衛星が画像を撮影し、撮影した画像に基づいて目標の位置を特定して、目標を捜索・救助するための複数の人工衛星のタスクの実行結果に基づいて、当該タスクの実行結果を決定するタスクスケジューリング方法、装置、記憶媒体及び電子デバイスを提供する。
【解決手段】方法は、現在時刻に現在の衛星と通信可能な候補衛星を決定し、当該候補衛星の情報および現在の衛星の情報に基づいて、現在の衛星と当該候補衛星との間の通信時間長を予測し、当該候補衛星が対象タスクを実行するための実行時間長を決定し、各候補衛星の実行時間長および通信時間長に基づいて、対象タスクのスケジューリング衛星を決定し、さらに、対象タスクを実行するために必要なデータを決定し、データをスケジューリング衛星に送信する。
【選択図】図1
【特許請求の範囲】
【請求項1】
現在時刻に現在の衛星と通信している候補衛星と、対象タスクとを決定するステップと、
決定された候補衛星の各々について、当該候補衛星の情報を決定するステップであって、当該候補衛星の情報は、少なくとも当該候補衛星の座標およびスケジューリング情報を含むステップと、
前記現在の衛星の情報および当該候補衛星の情報に基づいて、前記現在の衛星と当該候補衛星との間の通信時間長を予測し、当該候補衛星の情報に基づいて、当該候補衛星が前記対象タスクを実行するための実行時間長を決定するステップであって、前記現在の衛星の情報は、少なくとも前記現在の衛星の座標を含むステップと、
各候補衛星の実行時間長および前記各候補衛星の通信時間長に基づいて、前記対象タスクのスケジューリング衛星を決定するステップと、
前記対象タスクを実行するために必要なデータを決定し、前記データを前記スケジューリング衛星に送信するステップと、を含む、
ことを特徴とするタスクスケジューリング方法。
【請求項2】
前記現在の衛星の情報および当該候補衛星の情報に基づいて、前記現在の衛星と当該候補衛星との間の通信時間長を予測するステップは、
前記現在の衛星の情報および当該候補衛星の情報を、事前に訓練された通信時間長予測モデルに入力して、前記現在の衛星と当該候補衛星との間の通信時間長を得るステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記通信時間長予測モデルは、シミュレーション層と予測層とを含み、
前記現在の衛星の情報および当該候補衛星の情報を、事前に訓練された通信時間長予測モデルに入力して、前記現在の衛星と当該候補衛星との間の通信時間長を得るステップは、
各衛星の情報を決定し、前記各衛星の情報を前記通信時間長予測モデルのシミュレーション層に入力して、前記現在の衛星と当該候補衛星との間の可視性時間長を決定するステップであって、前記各衛星は、少なくとも前記現在の衛星と各候補衛星とを含むステップと、
前記可視性時間長、前記現在の衛星の情報および当該候補衛星の情報を、前記通信時間長予測モデルの予測層に入力して、前記現在の衛星と当該候補衛星との間の通信時間長を得るステップと、を含む、
ことを特徴とする請求項2に記載の方法。
【請求項4】
当該候補衛星の情報に基づいて、当該候補衛星が前記対象タスクを実行するための実行時間長を決定するステップは、
前記対象タスクを実行するために必要なデータを取得し、前記データに基づいて、前記現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定し、当該候補衛星の情報に基づいて、当該候補衛星が前記対象タスクを動作するために必要な待ち時間長を決定し、当該候補衛星が前記対象タスクを動作するために必要な動作時間長を予測するステップと、
前記伝送時間長、前記待ち時間長および前記動作時間長の和を、当該候補衛星が前記対象タスクを実行するための実行時間長とするステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記データに基づいて、前記現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定するステップは、
前記現在の衛星と当該候補衛星との間のデータ伝送の過去の伝送速度を決定するステップと、
決定された伝送速度および前記データに基づいて、前記現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定するステップと、を含む、
ことを特徴とする請求項4に記載の方法。
【請求項6】
当該候補衛星が前記現在時刻の前に前記現在の衛星との間でデータを伝送した場合、前記現在の衛星と当該候補衛星との間のデータ伝送の過去の伝送速度を決定するステップは、
当該候補衛星のスケジューリング情報における履歴スケジューリング情報に基づいて、当該候補衛星と前記現在の衛星または任意の他の衛星との間のデータ伝送の過去の伝送速度の平均値を前記伝送速度として決定するステップを含み、
当該候補衛星が前記現在時刻の前に前記現在の衛星との間でデータを伝送したことがない場合、前記現在の衛星と当該候補衛星との間のデータ伝送の過去の伝送速度を決定するステップは、
決定された他の候補衛星のスケジューリング情報における履歴スケジューリング情報に基づいて、前記現在の衛星と任意の前記他の候補衛星との間のデータ伝送の過去の伝送速度の平均値を前記伝送速度として決定するステップと、
前記現在の衛星のローカル情報に基づいて、前記現在の衛星とローカルに記録されている任意の他の衛星との間のデータ伝送の過去の伝送速度の平均値を前記伝送速度として決定するステップと、
予め設定されたデータ伝送速度を前記伝送速度として決定するステップと、のいずれかを含む、
ことを特徴とする請求項5に記載の方法。
【請求項7】
当該候補衛星の情報に基づいて、当該候補衛星が前記対象タスクを動作するために必要な待ち時間長を決定するステップは、
当該候補衛星のスケジューリング情報における現在のスケジューリング情報に基づいて、当該候補衛星が前記対象タスクを動作するために必要な待ち時間長を決定するステップであって、前記現在のスケジューリング情報は、現在時刻における当該候補衛星のスケジューリングタスクの実行状況を含むステップ、または、
当該候補衛星から送信された、前記対象タスクを動作するために必要な待ち時間長を受信するステップであって、前記待ち時間長は、当該候補衛星が自身のタスクの実行状況に基づいて決定されるステップ、を含む、
ことを特徴とする請求項4に記載の方法。
【請求項8】
当該候補衛星のスケジューリング情報は、当該候補衛星のリソース情報を含み、前記リソース情報は、少なくとも残りの記憶リソース情報および残りの計算能力リソース情報を含み、
当該候補衛星が前記対象タスクを動作するために必要な動作時間長を予測するステップは、
当該候補衛星のリソース情報および前記データを、事前に訓練されたタスク動作時間長予測モデルに入力して、当該候補衛星が前記対象タスクを動作するために必要な動作時間長を得るステップを含む、
ことを特徴とする請求項4に記載の方法。
【請求項9】
各候補衛星の実行時間長および前記各候補衛星の通信時間長に基づいて、前記対象タスクのスケジューリング衛星を決定するステップは、
前記候補衛星の各々について、当該候補衛星の実行時間長が、当該候補衛星と前記現在の衛星との間の通信時間長以下であるか否かを判定するステップと、
当該候補衛星の実行時間長が、当該候補衛星と前記現在の衛星との間の通信時間長以下であると判定される場合、当該候補衛星を前記対象タスクのスケジューリング衛星とし、
当該候補衛星の実行時間長が、当該候補衛星と前記現在の衛星との間の通信時間長より大きい場合、当該候補衛星を前記対象タスクのスケジューリング衛星としないステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項10】
各候補衛星の実行時間長および前記各候補衛星の通信時間長に基づいて、前記対象タスクのスケジューリング衛星を決定するステップは、
各候補衛星の実行時間長と、前記各候補衛星と前記現在の衛星との間の通信時間長とに基づいて、前記各候補衛星の中から、実行時間長が通信時間長以下の衛星を決定するステップと、
決定された衛星を、実行時間長の小さい順に並べ替え、衛星シーケンスを得るステップと、
前記衛星シーケンスに基づいて、前記決定された衛星の中から、少なくとも1つの衛星を前記対象タスクのスケジューリング衛星として選択するステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項11】
各候補衛星の実行時間長および前記各候補衛星の通信時間長に基づいて、前記対象タスクのスケジューリング衛星を決定するステップは、
各候補衛星の実行時間長と、前記各候補衛星と前記現在の衛星との間の通信時間長とに基づいて、前記各候補衛星の中から、実行時間長が通信時間長以下の衛星を決定するステップと、
決定された衛星のうち、実行時間長が最も短い衛星を、前記対象タスクのスケジューリング衛星とするステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項12】
現在時刻に現在の衛星と通信している候補衛星を決定するステップは、
テスト信号を送信するステップと、
受信した前記テスト信号の返信信号に基づいて、現在時刻に前記現在の衛星と通信している衛星を、候補衛星として決定するステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項13】
現在時刻に現在の衛星と通信している候補衛星と、対象タスクとを決定するための第1の決定モジュールと、
決定された候補衛星の各々について、当該候補衛星の情報を決定するための第2の決定モジュールであって、当該候補衛星の情報は、少なくとも当該候補衛星の座標およびスケジューリング情報を含む、第2の決定モジュールと、
前記現在の衛星の情報および当該候補衛星の情報に基づいて、前記現在の衛星と当該候補衛星との間の通信時間長を予測し、当該候補衛星の情報に基づいて、当該候補衛星が前記対象タスクを実行するための実行時間長を決定するための第3の決定モジュールであって、前記現在の衛星の情報は、少なくとも前記現在の衛星の座標を含む、第3の決定モジュールと、
各候補衛星の実行時間長および前記各候補衛星の通信時間長に基づいて、前記対象タスクのスケジューリング衛星を決定するための第4の決定モジュールと、
前記対象タスクを実行するために必要なデータを決定し、前記データを前記スケジューリング衛星に送信するためのスケジューリングモジュールと、を含む、
ことを特徴とするタスクスケジューリング装置。
【請求項14】
コンピュータプログラムを記憶しているコンピュータ可読記憶媒体であって、前記コンピュータプログラムがプロセッサによって実行されると、請求項1~12のいずれか1項に記載の方法が実施される、
ことを特徴とするコンピュータ可読記憶媒体。
【請求項15】
メモリと、プロセッサと、前記メモリに記憶され、前記プロセッサ上で実行可能なコンピュータプログラムとを含む電子デバイスであって、前記プロセッサが前記コンピュータプログラムを実行すると、請求項1~12のいずれか1項に記載の方法を実施する、
ことを特徴とする電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ技術分野に関し、特に、タスクスケジューリング方法、装置、記憶媒体および電子デバイスに関する。
【背景技術】
【0002】
科学技術の発展に伴い、人工衛星の応用範囲はより広くなっている。例えば、空中捜索・救助タスクにおいて、人工衛星は画像を撮影し、撮影した画像に基づいて目標の位置を特定して、目標を捜索・救助することができる。
【0003】
人工衛星は、外部からの放射線による影響を受けると、シングルイベントアップセット(Single Event Upset、SEU)やその他の異常が発生しやすく、その結果、1つのノード(すなわち、1つの人工衛星)がタスクを完了できなくなったり、1つのノードのタスクの実行結果が信頼できなくなったりすることがある。そこで、タスクの実行結果の信頼性を向上させるために、他の人工衛星にも該タスクを実行させるように、タスクを同時に他の人工衛星にスケジューリングする。複数の人工衛星のタスクの実行結果に基づいて、当該タスクの実行結果を決定することができる。このように、人工衛星の間でどのようにタスクをスケジューリングするかが、非常に重要な課題である。
【0004】
本発明は、このような課題を鑑み、タスクスケジューリング方法を提供する。
【発明の概要】
【0005】
本発明は、従来技術の上記課題を解決するためのタスクスケジューリング方法、装置、記憶媒体および電子デバイスを提供する。
【0006】
本発明に用いられる技術的解決手段は、以下のとおりである。
【0007】
本発明の一態様は、タスクスケジューリング方法を提供し、前記方法は、
現在時刻に現在の衛星と通信している候補衛星と、対象タスクとを決定するステップと、
決定された候補衛星の各々について、当該候補衛星の情報を決定するステップであって、当該候補衛星の情報は、少なくとも当該候補衛星の座標およびスケジューリング情報を含むステップと、
前記現在の衛星の情報および当該候補衛星の情報に基づいて、前記現在の衛星と当該候補衛星との間の通信時間長を予測し、当該候補衛星の情報に基づいて、当該候補衛星が前記対象タスクを実行するための実行時間長を決定するステップであって、前記現在の衛星の情報は、少なくとも前記現在の衛星の座標を含むステップと、
各候補衛星の実行時間長および前記各候補衛星の通信時間長に基づいて、前記対象タスクのスケジューリング衛星を決定するステップと、
前記対象タスクを実行するために必要なデータを決定し、前記データを前記スケジューリング衛星に送信するステップと、を含む。
【0008】
オプションで、前記現在の衛星の情報および当該候補衛星の情報に基づいて、前記現在の衛星と当該候補衛星との間の通信時間長を予測するステップは、具体的に、
前記現在の衛星の情報および当該候補衛星の情報を、事前に訓練された通信時間長予測モデルに入力して、前記現在の衛星と当該候補衛星との間の通信時間長を得るステップを含む。
【0009】
オプションで、前記通信時間長予測モデルは、シミュレーション層と予測層とを含み、
前記現在の衛星の情報および当該候補衛星の情報を、事前に訓練された通信時間長予測モデルに入力して、前記現在の衛星と当該候補衛星との間の通信時間長を得るステップは、具体的に、
各衛星の情報を決定し、前記各衛星の情報を前記通信時間長予測モデルのシミュレーション層に入力して、前記現在の衛星と当該候補衛星との間の可視性時間長を決定するステップであって、前記各衛星は、少なくとも前記現在の衛星と各候補衛星とを含むステップと、
前記可視性時間長、前記現在の衛星の情報および当該候補衛星の情報を、前記通信時間長予測モデルの予測層に入力して、前記現在の衛星と当該候補衛星との間の通信時間長を得るステップと、を含む。
【0010】
オプションで、当該候補衛星の情報に基づいて、当該候補衛星が前記対象タスクを実行するための実行時間長を決定するステップは、具体的に、
前記対象タスクを実行するために必要なデータを取得し、前記データに基づいて、前記現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定し、当該候補衛星の情報に基づいて、当該候補衛星が前記対象タスクを動作するために必要な待ち時間長を決定し、当該候補衛星が前記対象タスクを動作するために必要な動作時間長を予測するステップと、
前記伝送時間長、前記待ち時間長および前記動作時間長の和を、当該候補衛星が前記対象タスクを実行するための実行時間長とするステップと、を含む。
【0011】
オプションで、前記データに基づいて、前記現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定するステップは、具体的に、
前記現在の衛星と当該候補衛星との間のデータ伝送の過去の伝送速度を決定するステップと、
決定された伝送速度および前記データに基づいて、前記現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定するステップと、を含む。
【0012】
オプションで、当該候補衛星が、前記現在時刻の前に前記現在の衛星との間でデータを伝送した場合、前記現在の衛星と当該候補衛星との間のデータ伝送の過去の伝送速度を決定するステップは、具体的に、
当該候補衛星のスケジューリング情報における履歴スケジューリング情報に基づいて、当該候補衛星と前記現在の衛星または任意の他の衛星との間のデータ伝送の過去の伝送速度の平均値を前記伝送速度として決定するステップを含み、
当該候補衛星が、前記現在時刻の前に前記現在の衛星との間でデータを伝送したことがない場合、前記現在の衛星と当該候補衛星との間のデータ伝送の過去の伝送速度を決定するステップは、
決定された他の候補衛星のスケジューリング情報における履歴スケジューリング情報に基づいて、前記現在の衛星と任意の前記他の候補衛星との間のデータ伝送の過去の伝送速度の平均値を前記伝送速度として決定するステップ、
前記現在の衛星のローカル情報に基づいて、前記現在の衛星とローカルに記録されている任意の他の衛星との間のデータ伝送の過去の伝送速度の平均値を前記伝送速度として決定するステップ、
予め設定されたデータ伝送速度を前記伝送速度として決定するステップ、のいずれかを含む。
【0013】
オプションで、当該候補衛星の情報に基づいて、当該候補衛星が前記対象タスクを動作するために必要な待ち時間長を決定するステップは、
当該候補衛星のスケジューリング情報における現在のスケジューリング情報に基づいて、当該候補衛星が前記対象タスクを動作するために必要な待ち時間長を決定するステップであって、前記現在のスケジューリング情報は、現在時刻における当該候補衛星のスケジューリングタスクの実行状況を含むステップ、または、
当該候補衛星から送信された、前記対象タスクを動作するために必要な待ち時間長を受信するステップであって、前記待ち時間長は、当該候補衛星が自身のタスクの実行状況に基づいて決定されるステップ、を含む。
【0014】
オプションで、当該候補衛星のスケジューリング情報は、当該候補衛星のリソース情報を含み、前記リソース情報は、少なくとも残りの記憶リソース情報および残りの計算能力リソース情報を含み、
当該候補衛星が前記対象タスクを動作するために必要な動作時間長を予測するステップは、具体的に、
当該候補衛星のリソース情報および前記データを、事前に訓練されたタスク動作時間長予測モデルに入力して、当該候補衛星が前記対象タスクを動作するために必要な動作時間長を得るステップを含む。
【0015】
オプションで、各候補衛星の実行時間長および前記各候補衛星の通信時間長に基づいて、前記対象タスクのスケジューリング衛星を決定するステップは、具体的に、
前記候補衛星の各々について、当該候補衛星の実行時間長が、当該候補衛星と前記現在の衛星との間の通信時間長以下であるか否かを判定するステップと、
当該候補衛星の実行時間長が、当該候補衛星と前記現在の衛星との間の通信時間長以下であると判定される場合、当該候補衛星を前記対象タスクのスケジューリング衛星とし、
当該候補衛星の実行時間長が、当該候補衛星と前記現在の衛星との間の通信時間長より大きい場合、当該候補衛星を前記対象タスクのスケジューリング衛星としないステップと、を含む。
【0016】
オプションで、各候補衛星の実行時間長および前記各候補衛星の通信時間長に基づいて、前記対象タスクのスケジューリング衛星を決定するステップは、具体的に、
各候補衛星の実行時間長と、前記各候補衛星と前記現在の衛星との間の通信時間長とに基づいて、前記各候補衛星の中から、実行時間長が通信時間長以下の衛星を決定するステップと、
決定された衛星を、実行時間長の小さい順に並べ替え、衛星シーケンスを得るステップと、
前記衛星シーケンスに基づいて、前記決定された衛星の中から、少なくとも1つの衛星を前記対象タスクのスケジューリング衛星として選択するステップと、を含む。
【0017】
オプションで、各候補衛星の実行時間長および前記各候補衛星の通信時間長に基づいて、前記対象タスクのスケジューリング衛星を決定するステップは、具体的に、
各候補衛星の実行時間長と、前記各候補衛星と前記現在の衛星との間の通信時間長とに基づいて、前記各候補衛星の中から、実行時間長が通信時間長以下の衛星を決定するステップと、
決定された衛星のうち、実行時間長が最も短い衛星を、前記対象タスクのスケジューリング衛星とするステップと、を含む。
【0018】
オプションで、現在時刻に現在の衛星と通信している候補衛星を決定するステップは、具体的に、
テスト信号を送信するステップと、
受信した前記テスト信号の返信信号に基づいて、現在時刻に前記現在の衛星と通信している衛星を、候補衛星として決定するステップと、を含む。
【0019】
本発明の別の態様は、タスクスケジューリング装置を提供し、前記装置は、
現在時刻に現在の衛星と通信している候補衛星と、対象タスクとを決定するための第1の決定モジュールと、
決定された候補衛星の各々について、当該候補衛星の情報を決定するための第2の決定モジュールであって、当該候補衛星の情報は、少なくとも当該候補衛星の座標およびスケジューリング情報を含む、第2の決定モジュールと、
前記現在の衛星の情報および当該候補衛星の情報に基づいて、前記現在の衛星と当該候補衛星との間の通信時間長を予測し、当該候補衛星の情報に基づいて、当該候補衛星が前記対象タスクを実行するための実行時間長を決定するための第3の決定モジュールであって、前記現在の衛星の情報は、少なくとも前記現在の衛星の座標を含む、第3の決定モジュールと、
各候補衛星の実行時間長および前記各候補衛星の通信時間長に基づいて、前記対象タスクのスケジューリング衛星を決定するための第4の決定モジュールと、
前記対象タスクを実行するために必要なデータを決定し、前記データを前記スケジューリング衛星に送信するためのスケジューリングモジュールと、を含む。
【0020】
オプションで、前記第3の決定モジュールは、具体的に、
前記現在の衛星の情報および当該候補衛星の情報を、事前に訓練された通信時間長予測モデルに入力して、前記現在の衛星と当該候補衛星との間の通信時間長を得るために用いられる。
【0021】
オプションで、前記通信時間長予測モデルは、シミュレーション層と予測層とを含み、
前記第3の決定モジュールは、具体的に、
各衛星の情報を決定し、前記各衛星の情報を前記通信時間長予測モデルのシミュレーション層に入力して、前記現在の衛星と当該候補衛星との間の可視性時間長を決定し、前記各衛星は、少なくとも前記現在の衛星と各候補衛星とを含み、
前記可視性時間長、前記現在の衛星の情報および当該候補衛星の情報を、前記通信時間長予測モデルの予測層に入力して、前記現在の衛星と当該候補衛星との間の通信時間長を得るために用いられる。
【0022】
オプションで、前記第3の決定モジュールは、具体的に、
前記対象タスクを実行するために必要なデータを取得し、前記データに基づいて、前記現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定し、当該候補衛星の情報に基づいて、当該候補衛星が前記対象タスクを動作するために必要な待ち時間長を決定し、当該候補衛星が前記対象タスクを動作するために必要な動作時間長を予測し、
前記伝送時間長、前記待ち時間長および前記動作時間長の和を、当該候補衛星が前記対象タスクを実行するための実行時間長とするために用いられる。
【0023】
オプションで、前記第3の決定モジュールは、具体的に、
前記現在の衛星と当該候補衛星との間のデータ伝送の過去の伝送速度を決定し、
決定された伝送速度および前記データに基づいて、前記現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定するために用いられる。
【0024】
オプションで、前記第3の決定モジュールは、具体的に、
当該候補衛星が、前記現在時刻の前に前記現在の衛星との間でデータを伝送した場合、当該候補衛星のスケジューリング情報における履歴スケジューリング情報に基づいて、当該候補衛星と前記現在の衛星または任意の他の衛星との間のデータ伝送の過去の伝送速度の平均値を前記伝送速度として決定するために用いられ、
当該候補衛星が、前記現在時刻の前に前記現在の衛星との間でデータを伝送したことがない場合、決定された他の候補衛星のスケジューリング情報における履歴スケジューリング情報に基づいて、前記現在の衛星と任意の前記他の候補衛星との間のデータ伝送の過去の伝送速度の平均値を前記伝送速度として決定し、または
前記現在の衛星のローカル情報に基づいて、前記現在の衛星とローカルに記録されている任意の他の衛星との間のデータ伝送の過去の伝送速度の平均値を前記伝送速度として決定し、または
予め設定されたデータ伝送速度を前記伝送速度として決定するために用いられる。
【0025】
オプションで、前記第3の決定モジュールは、具体的に、
当該候補衛星のスケジューリング情報における現在のスケジューリング情報に基づいて、当該候補衛星が前記対象タスクを動作するために必要な待ち時間長を決定するために用いられ、前記現在のスケジューリング情報は、現在時刻における当該候補衛星のスケジューリングタスクの実行状況を含み、または、
当該候補衛星から送信された、前記対象タスクを動作するために必要な待ち時間長を受信するために用いられ、前記待ち時間長は、当該候補衛星が自身のタスクの実行状況に基づいて決定される。
【0026】
オプションで、当該候補衛星のスケジューリング情報は、当該候補衛星のリソース情報を含み、前記リソース情報は、少なくとも残りの記憶リソース情報および残りの計算能力リソース情報を含み、
前記第3の決定モジュールは、具体的に、
当該候補衛星のリソース情報および前記データを、事前に訓練されたタスク動作時間長予測モデルに入力して、当該候補衛星が前記対象タスクを動作するために必要な動作時間長を得るために用いられる。
【0027】
オプションで、前記第4の決定モジュールは、具体的に、
前記候補衛星の各々について、当該候補衛星の実行時間長が、当該候補衛星と前記現在の衛星との間の通信時間長以下であるか否かを判定し、
当該候補衛星の実行時間長が、当該候補衛星と前記現在の衛星との間の通信時間長以下であると判定される場合、当該候補衛星を前記対象タスクのスケジューリング衛星とし、
当該候補衛星の実行時間長が、当該候補衛星と前記現在の衛星との間の通信時間長より大きい場合、当該候補衛星を前記対象タスクのスケジューリング衛星としないために用いられる。
【0028】
オプションで、前記第4の決定モジュールは、具体的に、
各候補衛星の実行時間長と、前記各候補衛星と前記現在の衛星との間の通信時間長とに基づいて、前記各候補衛星の中から、実行時間長が通信時間長以下の衛星を決定し、
決定された衛星を、実行時間長の小さい順に並べ替え、衛星シーケンスを得、
前記衛星シーケンスに基づいて、前記決定された衛星の中から、少なくとも1つの衛星を前記対象タスクのスケジューリング衛星として選択するために用いられる。
【0029】
オプションで、前記第4の決定モジュールは、具体的に、
各候補衛星の実行時間長と、前記各候補衛星と前記現在の衛星との間の通信時間長とに基づいて、前記各候補衛星の中から、実行時間長が通信時間長以下の衛星を決定し、
決定された衛星のうち、実行時間長が最も短い衛星を、前記対象タスクのスケジューリング衛星とするために用いられる。
【0030】
オプションで、前記第1の決定モジュールは、具体的に、
テスト信号を送信し、
受信した前記テスト信号の返信信号に基づいて、現在時刻に前記現在の衛星と通信している衛星を、候補衛星として決定するために用いられる。
【0031】
本発明の別の態様は、コンピュータ可読記憶媒体を提供し、前記コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、前記コンピュータプログラムがプロセッサによって実行されると、上述したタスクスケジューリング方法が実施される。
【0032】
本発明の別の態様は、電子デバイスを提供し、前記電子デバイスは、メモリと、プロセッサと、前記メモリに記憶され、前記プロセッサ上で実行可能なコンピュータプログラムとを含み、前記プロセッサが前記コンピュータプログラムを実行すると、上述したタスクスケジューリング方法を実施する。
【0033】
本発明で用いられる上記技術的解決手段の少なくとも1つは、以下の有益な効果を達成することができる。
本発明にて提供されるタスクスケジューリング方法では、まず、現在時刻に現在の衛星と通信している候補衛星と、対象タスクとを決定する。次に、決定された候補衛星の各々について、当該候補衛星の情報を決定し、現在の衛星の情報および当該候補衛星の情報に基づいて、現在の衛星と当該候補衛星との間の通信時間長を予測し、当該候補衛星が対象タスクを実行するための実行時間長を決定する。その後、各候補衛星の実行時間長および各候補衛星の通信時間長に基づいて、対象タスクのスケジューリング衛星を決定し、対象タスクを実行するために必要なデータを決定し、データをスケジューリング衛星に送信する。
【0034】
上記方法から分かるように、本発明は、人工衛星の間でタスクスケジュールを行う際に、まず、現在時刻に現在の衛星と通信可能な候補衛星を決定する。次に、候補衛星の各々について、当該候補衛星の情報を決定し、当該候補衛星の情報および現在の衛星の情報に基づいて、現在の衛星と当該候補衛星との間の通信時間長を予測し、当該候補衛星が対象タスクを実行するための実行時間長を決定する。そして、各候補衛星の実行時間長および通信時間長に基づいて、対象タスクのスケジューリング衛星を決定し、さらに、対象タスクを実行するために必要なデータを決定し、データをスケジューリング衛星に送信する。これにより、対象タスクのデータをスケジューリング衛星に送信した後、対象タスクが実行された後にスケジューリング衛星から送信される実行結果を受信できることを確保し、対象タスクの実行結果の正確性を向上させ、衛星の利用率を向上させることができる。
【図面の簡単な説明】
【0035】
ここで説明される添付図面は、本発明の理解を深めるために用いられ、本発明の一部を構成し、本発明の例示的な実施形態およびその説明は、本発明を説明するために用いられ、本発明の不当な限定を構成するものではない。
【0036】
図1】本発明の実施形態にて提供されるタスクスケジューリング方法のフローを示す概略図である。
図2】本発明の実施形態にて提供される衛星通信を示す概略図である。
図3】本発明の実施形態にて提供される別の衛星通信を示す概略図である。
図4】本発明の実施形態にて提供されるタスクスケジューリング装置の構成を示す概略図である。
図5】本発明の実施形態にて提供される電子デバイスの構成を示す概略図である。
【発明を実施するための形態】
【0037】
本発明の目的、技術的解決手段および利点をより明確にするために、以下、本発明の特定の実施形態および対応する添付図面と併せて、本発明の技術的解決手段を明確かつ完全に説明する。明らかに、説明された実施形態は、本発明の実施形態の一部に過ぎず、そのすべてではない。本発明の実施形態に基づいて、当業者が創作的な労力を要することなく得られる他のすべての実施形態は、いずれも本発明の保護範囲に属する。
【0038】
以下、添付図面と併せて、本発明の各実施形態にて提供される技術的解決手段を詳細に説明する。
【0039】
図1は、本発明の実施形態にて提供されるタスクスケジューリング方法のフローを示す概略図であり、以下のステップS100~S108を含む。
【0040】
S100において、現在時刻に現在の衛星と通信している候補衛星と、対象タスクとを決定する。
【0041】
本発明では、タスクスケジューリングを行うための装置が、現在時刻に現在の衛星と通信している候補衛星と、対象タスクとを決定する。ここで、タスクスケジューリングを行うための装置は、現在の衛星であってもよく、現在の衛星に搭載されたスケジューラまたはスケジューリングシステムであってもよい。説明を容易にするために、以下では現在の衛星のみを実行主体として、本発明にて提供されるタスクスケジューリング方法を説明する。
【0042】
異なる衛星は、同じ軌道上で高速に運行してもよく、異なる軌道上で高速に運行してもよく、かつ各衛星間の通信状況は動的に変化するため、ある2つの衛星が、現在時刻では通信可能であるが、次の時刻または一定時間が経過した後には通信できない場合がある。例えば、図2に示すように、図2は、本発明の実施形態にて提供される衛星通信を示す概略図である。図2は、時刻t-1における衛星間の通信状況を示すと仮定すると、図2におけるノードA~Gは、衛星A~Gを示し、ノード間のエッジは、ノード同士が通信可能であることを示す。図2において、ノードAは、それぞれノードB~EおよびノードGとの間にエッジが存在することは、時刻t-1において、衛星Aと、衛星B~Eおよび衛星Gとの間で通信可能であることを示す。ノードFとノードAとの間にエッジが存在しないことは、時刻t-1において、衛星Aと衛星Fとの間で通信できないことを示す。しかし、時刻tにおいて、衛星Gは衛星Aから離れ、衛星Fは衛星Aに近づくため、各衛星間の通信状況が変化した。図3に示すように、図3は、本発明の実施形態にて提供される別の衛星通信を示す概略図である。図3におけるノードA~Gは、衛星A~Gを示し、図3における矢印付きの線は衛星の動きを示す。破線のノードFは、時刻t-1(すなわち、図2)における衛星Fの位置であり、時刻tにおいて、衛星Fは、破線のノードFの位置からノードFの位置に移動した。破線のノードGは、時刻t-1(すなわち図2)における衛星Gの位置であり、時刻tにおいて、衛星Gは、破線のノードGの位置からノードGの位置に移動した。ノード間のエッジは、ノード同士が通信可能であることを示す。図3において、ノードAは、それぞれノードB~Fとの間にエッジが存在することは、時刻tにおいて、衛星Aと、衛星B~Fとの間で通信可能であることを示す。ノードGとノードAとの間にエッジが存在しないことは、時刻tにおいて、衛星Aと衛星Gとの間で通信できないことを示す。
【0043】
これに基づき、タスクスケジューリングを行うときに、現在の衛星は、現在時刻に現在の衛星と通信している候補衛星と、対象タスクとを決定する必要がある。現在の衛星が、外部からの放射線による影響を受け、SEUやその他の異常な問題が発生することにより、タスクの実行結果は正確ではない可能性があるため、タスクの実行結果の正確性を向上させるために、現在の衛星が実行したタスクを対象タスクとして、他の衛星にスケジューリングしてもよい。もちろん、現在の衛星が実行していないタスクを対象タスクとして、他の衛星にスケジューリングしてもよく、本発明では特に限定されない。
【0044】
上述した例に沿って、図3を用いて説明する。図3におけるノードA(すなわち、衛星A)は、現在の衛星を示す。図3において、ノードAは、それぞれノードB~Fとの間にエッジが存在することは、現在時刻において、衛星Aと、衛星B~Fとの間で通信可能であることを示す。ノードGとノードAとの間にエッジが存在しないことは、現在時刻において、衛星Aと衛星Gとの間で通信できないことを示す。したがって、現在の衛星(すなわち、衛星A)は、現在時刻に現在の衛星と通信している衛星を候補衛星として決定してもよく、つまり、衛星B~Fを候補衛星として決定してもよい。
【0045】
本発明では、現在の衛星は、現在時刻に現在の衛星と通信している候補衛星を決定するときに、現在の衛星からテスト信号を送信し、受信したテスト信号の返信信号に基づいて、現在時刻に現在の衛星と通信している衛星を候補衛星として決定してもよい。
【0046】
S102において、決定された候補衛星の各々について、当該候補衛星の情報を決定する。ここで、当該候補衛星の情報は、少なくとも当該候補衛星の座標およびスケジューリング情報を含む。
【0047】
決定された候補衛星の各々について、現在の衛星は、当該候補衛星の情報を決定してもよい。当該候補衛星の情報は、少なくとも当該候補衛星の座標およびスケジューリング情報を含む。具体的に、決定された候補衛星の各々について、現在の衛星は、現在時刻に当該候補衛星と通信している時に、当該候補衛星の情報を取得してもよい。当該情報は、少なくとも当該候補衛星の座標およびスケジューリング情報を含む。当該スケジューリング情報は、現在のスケジューリング情報であってもよく、現在のスケジューリング情報は、現在の衛星が現在時刻に当該候補衛星と通信している時に取得された当該候補衛星の現在のスケジューリング情報である。
【0048】
また、当該候補衛星のスケジューリング情報は、履歴スケジューリング情報と現在のスケジューリング情報であってもよい。履歴スケジューリング情報は、現在の衛星が履歴上で当該候補衛星と通信する時に取得された当該候補衛星の履歴スケジューリング情報であってもよい。当該履歴スケジューリング情報は、当該候補衛星から履歴上で現在の衛星に送信され、かつ現在の衛星に記憶されている情報である。このため、現在の衛星は、自身の記憶領域から当該候補衛星の履歴スケジューリング情報を取得すればよい。具体的に、現在の衛星は、当該候補衛星の識別情報に基づいて、記憶領域において、識別情報に対応する履歴スケジューリング情報を決定してもよい。
【0049】
オプションで、履歴スケジューリング情報は、現在の衛星が現在時刻に当該候補衛星と通信している時に取得された、当該候補衛星の履歴スケジューリング情報であってもよい。すなわち、現在の衛星が現在時刻に当該候補衛星と通信している時に、当該候補衛星は、履歴スケジューリング情報と現在のスケジューリング情報を共にスケジューリング情報として現在の衛星に送信する。
【0050】
S104において、前記現在の衛星の情報および当該候補衛星の情報に基づいて、前記現在の衛星と当該候補衛星との間の通信時間長を予測し、当該候補衛星の情報に基づいて、当該候補衛星が前記対象タスクを実行するための実行時間長を決定する。ここで、前記現在の衛星の情報は、少なくとも前記現在の衛星の座標を含む。
【0051】
現在の衛星は、現在の衛星の情報および当該候補衛星の情報に基づいて、現在の衛星と当該候補衛星との間の通信時間長を予測し、当該候補衛星の情報に基づいて、当該候補衛星が対象タスクを実行するための実行時間長を決定してもよい。ここで、現在の衛星の情報は、少なくとも現在の衛星の座標を含む。なお、上述した現在の衛星と当該候補衛星との間の通信時間長を予測するプロセスと、当該候補衛星が対象タスクを実行するための実行時間長を決定するプロセスは、優先順位を問わず実行されてもよく、同時に実行されてもよい。
【0052】
現在の衛星の情報および当該候補衛星の情報に基づいて、現在の衛星と当該候補衛星との間の通信時間長を予測するとき、現在の衛星は、各衛星の情報を衛星シミュレータに入力して、現在の衛星と当該候補衛星との間の可視性時間長を得、可視性時間長を現在の衛星と当該候補衛星との間の通信時間長としてもよい。ここで、各衛星は、少なくとも現在の衛星と各候補衛星とを含み、現在時刻に現在の衛星と通信できない衛星も含み得る。各衛星の情報は、各衛星の座標、偏向角、および各衛星が位置する軌道などの情報を含み得る。衛星シミュレータは、衛星間の可視性を分析し、衛星間の可視性時間長を得るために使用される。当該衛星シミュレータは、衛星ツールキット(Systems Tool Kit、STK)であってもよく、任意の既存のツールであってもよく、本発明では特に限定されない。
【0053】
さらに、可視性時間長内では、現在の衛星と当該候補衛星との間で通信可能であることを確保することができるが、現在の衛星または当該候補衛星が極地に近い場合や他の外部干渉を受ける場合には、現在の衛星と当該候補衛星との間の通信に影響を与える可能性があるため、可視性時間長内では、現在の衛星と当該候補衛星との間で通信できない可能性がある。したがって、可視性時間長を現在の衛星と当該候補衛星との間の通信時間長とすると、決定された通信時間長が不正確になる可能性がある。そのため、現在の衛星は、現在の衛星の情報および当該候補衛星の情報を、事前に訓練された通信時間長予測モデルに入力して、現在の衛星と当該候補衛星との間の通信時間長を得てもよい。ここで、通信時間長予測モデルは、現在の衛星によって事前に訓練されたモデルであってもよく、地上装置で事前に訓練された後、衛星地上局によって現在の衛星に送信されるモデルであってもよい。通信時間長予測モデルは、衛星間の通信可能時間を予測するために用いられる。
【0054】
具体的に、通信時間長予測モデルは、シミュレーション層と予測層とを含み得る。現在の衛星は、各衛星の情報を決定し、各衛星の情報を通信時間長予測モデルのシミュレーション層に入力して、現在の衛星と当該候補衛星との間の可視性時間長を決定し、そして、可視性時間長、現在の衛星の情報および当該候補衛星の情報を、通信時間長予測モデルの予測層に入力して、現在の衛星と当該候補衛星との間の通信時間長を得てもよい。ここで、現在の衛星の情報は、現在の衛星の座標、現在の衛星と極地点との距離、現在の衛星の履歴軌道変更回数、および現在の衛星の直近の軌道変更時刻を含み得る。また、当該候補衛星の情報は、当該候補衛星の座標、当該候補衛星と極地点との距離、当該候補衛星の履歴軌道変更回数、および当該候補衛星の直近の軌道変更時刻を含み得る。
【0055】
当該候補衛星の情報に基づいて、当該候補衛星が対象タスクを実行するための実行時間長を決定するとき、現在の衛星は、当該候補衛星の情報および対象タスクのデータに基づいて、当該候補衛星が対象タスクを実行するための実行時間長を予測してもよい。ここで、事前に訓練された機械学習モデルまたはアルゴリズムを用いて、当該候補衛星が対象タスクを実行するための実行時間長を予測してもよく、本発明では特に限定されない。
【0056】
また、当該候補衛星が対象タスクを実行するための実行時間長の正確性を向上させるために、現在の衛星は、実行時間長を、伝送時間長、タスクを動作するための動作時間長、およびタスクを動作するのを待つための待ち時間長の3つの部分に分けて、それぞれの部分に必要な時間を決定してもよい。したがって、現在の衛星は、対象タスクを実行するために必要なデータを取得し、データに基づいて、現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定し、当該候補衛星の情報に基づいて、当該候補衛星が対象タスクを動作するために必要な待ち時間長を決定し、当該候補衛星が対象タスクを動作するために必要な動作時間長を予測する。そして、伝送時間長、待ち時間長および動作時間長の和を、当該候補衛星が対象タスクを実行するための実行時間長としてもよい。ここで、対象タスクのデータとは、対象タスクを実行する時に必要なデータである。例えば、対象タスクが対象検出タスクである場合、対象タスクのデータは、検出すべき画像および対象検出のためのモデルであってもよい。なお、上述した伝送時間長を決定するプロセス、待ち時間長を決定するプロセス、および動作時間長を決定するプロセスは、実行順序を問わず実行されてもよく、同時に実行されてもよく、本発明では特に限定されない。
【0057】
S106において、各候補衛星の実行時間長および前記各候補衛星の通信時間長に基づいて、前記対象タスクのスケジューリング衛星を決定する。
【0058】
S108において、前記対象タスクを実行するために必要なデータを決定し、前記データを前記スケジューリング衛星に送信する。
【0059】
現在の衛星は、まず、各候補衛星の実行時間長および各候補衛星の通信時間長に基づいて、対象タスクのスケジューリング衛星を決定する。そして、対象タスクを実行するために必要なデータを決定し、データをスケジューリング衛星に送信する。具体的に、候補衛星の各々について、当該候補衛星の実行時間長が、当該候補衛星と現在の衛星との間の通信時間長以下であるか否かを判定し、当該候補衛星の実行時間長が、当該候補衛星と現在の衛星との間の通信時間長以下であると判定される場合、当該候補衛星を対象タスクのスケジューリング衛星とし、当該候補衛星の実行時間長が、当該候補衛星と現在の衛星との間の通信時間長より大きい場合、当該候補衛星を対象タスクのスケジューリング衛星としなくてもよい。次に、対象タスクを実行するために必要なデータを決定し、データをスケジューリング衛星に送信する。
【0060】
上記方法から分かるように、本発明は、人工衛星の間でタスクスケジュールを行う際に、まず、現在時刻に現在の衛星と通信可能な候補衛星を決定する。次に、候補衛星の各々について、当該候補衛星の情報を決定し、当該候補衛星の情報および現在の衛星の情報に基づいて、現在の衛星と当該候補衛星との間の通信時間長を予測することにより、現在の衛星が通信時間長内に当該候補衛星と安定した通信を行うことを確保する。そして、当該候補衛星が対象タスクを実行するための実行時間長を決定し、各候補衛星の実行時間長および通信時間長に基づいて、実行時間長が通信時間長以下である候補衛星を、対象タスクを実行するためのスケジューリング衛星とし、さらに、対象タスクを実行するために必要なデータを決定し、データをスケジューリング衛星に送信することにより、現在の衛星が対象タスクをスケジューリング衛星に送信した後、スケジューリング衛星が、通信時間長内に、対象タスクを実行して対象タスクの実行結果を返信することができ、現在の衛星がスケジューリング衛星から送信された実行結果を受信できることを確保し、対象タスクの実行結果の正確性を向上させ、タスクスケジューリングのコストを低減させ、衛星の利用率を向上させることができる。
【0061】
さらに、当該候補衛星が対象タスクを実行するための実行時間長を決定するとき、実行時間長を、伝送時間長、待ち時間長、および動作時間長の3つの部分に分けてそれぞれ決定することにより、決定された実行時間長の正確性を向上させ、タスクスケジューリングのコストを低減させ、衛星の利用率を向上させることができる。
【0062】
上記ステップS104において、データに基づいて、現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定するとき、現在の衛星は、現在の衛星と当該候補衛星との間のデータ伝送の過去の伝送速度を決定し、そして、決定された伝送速度およびデータに基づいて、現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定してもよい。具体的に、現在の衛星は、当該候補衛星のスケジューリング情報に基づいて、現在の衛星と当該候補衛星との間のタスクスケジューリング中のデータ伝送の過去の伝送速度を決定し、決定された速度の平均値を伝送速度として決定し、伝送速度およびデータに基づいて、現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定してもよい。ここで、当該候補衛星のスケジューリング情報は、当該候補衛星が過去にタスクをスケジューリングした情報(すなわち、履歴スケジューリング情報)を含み得る。当該履歴スケジューリング情報は、データを伝送する速度を含む。当該データを伝送する速度は、現在の衛星と当該候補衛星との間のデータ伝送の過去の速度であってもよく、当該候補衛星と任意の他の衛星(すなわち、現在の衛星以外の衛星)との間のデータ伝送の過去の速度であってもよい。
【0063】
また、当該候補衛星が、現在時刻の前に現在の衛星との間でデータを伝送したことがない可能性があるため、現在の衛星は、現在の衛星と任意の他の衛星(すなわち、当該候補衛星以外の衛星)との間のデータ伝送の過去の速度の平均値を当該候補衛星の伝送速度としてもよい。したがって、現在の衛星は、決定された他の候補衛星のスケジューリング情報における履歴スケジューリング情報に基づいて、現在の衛星と任意の他の候補衛星との間のデータ伝送の過去の伝送速度の平均値を伝送速度として決定してもよく、あるいは、現在の衛星のローカル情報に基づいて、現在の衛星とローカルに記録されている任意の他の衛星との間のデータ伝送の過去の伝送速度の平均値を伝送速度として決定してもよい。伝送速度およびデータに基づいて、現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定する。
【0064】
オプションで、現在の衛星は、予め設定されたデータを伝送する速度およびデータに基づいて、現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定してもよい。
【0065】
本発明において、当該候補衛星のスケジューリング情報は、当該候補衛星のリソース情報を含み得る。リソース情報は、少なくとも残りの記憶リソース情報および残りの計算能力リソース情報を含む。残りの記憶リソース情報は、残りのメモリのサイズであってもよく、残りのビデオメモリのサイズであってもよく、残りのメモリおよびビデオメモリの両方のサイズであってもよい。残りの計算能力リソース情報は、残りの計算リソースのサイズであってもよい。
【0066】
したがって、上記ステップS104において、当該候補衛星が前記対象タスクを動作するために必要な動作時間長を予測するとき、現在の衛星は、当該候補衛星のリソース情報およびデータを、事前に訓練されたタスク動作時間長予測モデルに入力して、当該候補衛星が対象タスクを動作するために必要な動作時間長を得てもよい。
【0067】
別の実施形態では、現在の衛星は、対象タスクの平均動作時間長をさらに決定してもよい。ここで、当該平均動作時間長は、対象タスクの直近N回の動作時間長の平均値であり、Nは2以上の整数である。対象タスクの直近N回の動作時間長は、現在の衛星によって集計されてもよいし、地上装置から取得されてもよい。
【0068】
したがって、上記ステップS104において、当該候補衛星のリソース情報、データおよび対象タスクの平均動作時間長を、事前に訓練されたタスク動作時間長予測モデルに入力して、当該候補衛星が対象タスクを動作するために必要な動作時間長を得てもよい。
【0069】
タスク動作時間長予測モデルは、現在の衛星によって事前に訓練されたモデルであってもよく、地上装置で事前に訓練された後、衛星地上局によって現在の衛星に送信されるモデルであってもよい。タスク動作時間長予測モデルは、当該候補衛星が対象タスクを動作するために必要な動作時間を予測するために用いられる。
【0070】
上記ステップS104において、当該候補衛星の情報に基づいて、当該候補衛星が対象タスクを動作するために必要な待ち時間長を決定するとき、当該候補衛星は自身のタスクの実行状況に基づいて、対象タスクを動作するために必要な待ち時間長を決定して、現在の衛星に送信してもよく、現在の衛星は当該候補衛星のスケジューリング情報に基づいて、当該候補衛星が対象タスクを動作するために必要な待ち時間長を決定してもよい。ここで、当該候補衛星のスケジューリング情報は、当該候補衛星が現在時刻にタスクをスケジューリングする情報(すなわち、現在のスケジューリング情報)を含んでもよい。当該現在のスケジューリング情報は、現在時刻における当該候補衛星のスケジューリングタスクの実行状況を含む。
【0071】
現在時刻において、当該候補衛星がアイドル状態にある場合、すなわち、当該候補衛星がすでに履歴上スケジューリングされたタスクをすべて実行した場合、あるいは、現在時刻に当該候補衛星がタスクを実行していない場合、対象タスクを動作するために必要な待ち時間長はゼロと決定する。現在時刻において、当該候補衛星がタスクを実行している状態にある場合、すなわち、現在時刻に当該候補衛星が未実行完了のスケジューリングタスクがある場合、現在の衛星は、当該候補衛星の現在のスケジューリング情報に基づいて、当該候補衛星の実行中のタスクの情報と実行されていないタスクの情報とを決定し、決定された情報に基づいて、対象タスクを動作するために必要な待ち時間長を決定してもよい。
【0072】
オプションで、対象タスクの実行結果を迅速に取得し、実行結果の正確性を確保し、衛星の利用率を向上させるために、上記ステップS106において、現在の衛星は、各候補衛星の実行時間長および各候補衛星と現在の衛星との間の通信時間長に基づいて、各候補衛星の中から、実行時間長が通信時間長以下の衛星を決定してもよい。次に、決定された衛星を、実行時間長の小さい順に並べ替え、衛星シーケンスを得る。そして、衛星シーケンスに基づいて、決定された衛星の中から、少なくとも1つの衛星を対象タスクのスケジューリング衛星として選択する。ここで、衛星シーケンスに基づいて、決定された衛星の中から、少なくとも1つの衛星を対象タスクのスケジューリング衛星として選択するとき、衛星シーケンスの比較的先頭に位置する衛星、すなわち、衛星シーケンスの中間および中間より前に位置する衛星の中から、対象タスクのスケジューリング衛星として少なくとも1つの衛星をランダムに選択してもよい。上述した例に沿って、衛星B~Fは、いずれも実行時間長が通信時間長以下の衛星であり、実行時間長の小さい順に並べ替えた後、得られる衛星シーケンスは、衛星B、衛星C、衛星D、衛星E、衛星Fであると仮定する。衛星シーケンスに基づいて、衛星シーケンスの中間および中間より前に位置する衛星、すなわち、衛星B~Dの中から、対象タスクのスケジューリング衛星として少なくとも1つの衛星をランダムに選択する。
【0073】
オプションで、現在の衛星は、各候補衛星の実行時間長と、各候補衛星と現在の衛星との間の通信時間長とに基づいて、各候補衛星の中から、実行時間長が通信時間長以下の衛星を決定し、そして、決定された衛星の中、実行時間長が最も短い衛星を対象タスクのスケジューリング衛星としてもよい。
【0074】
オプションで、タスクの実行結果の信頼性を向上させるために、本発明では、三重モジュール冗長(Triple Modular Redundancy)の計算方式を採用して、タスクの実行結果を決定してもよい。すなわち、対象タスクを一度に2つの衛星に送信し、2つの衛星の対象タスクを実行する実行結果を得る。現在の衛星および他の2つの衛星の対象タスクを実行する実行結果(すなわち、3つの実行結果)に基づいて、3つの実行結果のうち同じ実行結果を決定し、同じ実行結果を対象タスクの最終的な実行結果とする。
【0075】
したがって、各候補衛星の実行時間長および各候補衛星の通信時間長に基づいて、対象タスクのスケジューリング衛星を決定するとき、現在の衛星は、各候補衛星の実行時間長および各候補衛星と現在の衛星との間の通信時間長に基づいて、各候補衛星の中から、実行時間長が通信時間長以下の衛星を決定し、そして、決定された衛星の中から、対象タスクのスケジューリング衛星として2つの衛星をランダムに選択してもよい。
【0076】
オプションで、現在の衛星は、各候補衛星の実行時間長および各候補衛星と現在の衛星との間の通信時間長に基づいて、各候補衛星の中から、実行時間長が通信時間長以下の衛星を決定し、次に、決定された衛星を、実行時間長の小さい順に並べ替え、衛星シーケンスを得、そして、衛星シーケンスに基づいて、決定された衛星の中から、2つの衛星を対象タスクのスケジューリング衛星として選択してもよい。ここで、衛星シーケンスに基づいて、決定された衛星の中から、2つの衛星を対象タスクのスケジューリング衛星として選択するとき、衛星シーケンスの最初の2つの位置にある衛星を対象タスクのスケジューリング衛星として選択してもよい。
【0077】
オプションで、現在の衛星と他の2つのスケジューリング衛星の対象タスクを実行する実行結果がいずれも異なる場合、すなわち、上記ステップS108の後、現在の衛星が2つのスケジューリング衛星の実行結果を受信し、2つの衛星の実行結果と現在の衛星自身の実行結果がいずれも異なると判断された場合、現在の衛星は、対象タスクの最終的な実行結果、すなわち3つの実行結果のうち同じ実行結果が決定されるまで、ステップS100~S108を再実行してもよい。
【0078】
本発明では、通信時間長予測モデルを事前に訓練するときに、通信時間長予測モデルの予測層のみを訓練してもよい。具体的には、ある期間内に通信可能な衛星を通信可能衛星として決定する。当該期間内の開始時点における当該期間内の通信可能衛星の情報を訓練サンプルとし、当該期間を訓練サンプルのアノテーションとする。そして、開始時点における各衛星の情報を訓練対象の通信時間長予測モデルのシミュレーション層に入力して、通信可能衛星間の可視性時間長を決定する。その後、可視性時間長、通信可能衛星の情報を訓練対象の通信時間長予測モデルの予測層に入力して、通信可能衛星間の予測時間長を得、予測時間長とサンプルアノテーションとの差を最小化することを訓練目標として、訓練対象の通信時間長予測モデルの予測層を訓練する。
【0079】
各衛星に記憶されているデータが異なる可能性があり、決定された訓練サンプルが異なる可能性があり、各衛星の性能も異なるため、現在の衛星は、自身が記憶しているデータに基づいて訓練サンプルを決定して訓練対象の通信時間長予測モデルを訓練すると、訓練済みの通信時間長予測モデルが現在の衛星により適用可能である。
【0080】
オプションで、通信時間長予測モデルは、地上装置で訓練され、衛星地上局によって現在の衛星に送信されてもよい。通信時間長予測モデルをより現在の衛星により適用するために、現在の衛星に記憶されているデータに基づいて、訓練サンプルを決定して訓練対象の通信時間長予測モデルを訓練してもよい。しかし、このような方法で通信時間長予測モデルを訓練するためには、現在の衛星と地上とのデータ伝送が必要であり、訓練コストが増加する。
【0081】
本発明では、タスク動作時間長予測モデルを事前に訓練するときに、現在の衛星は、履歴上のタスクを実行する情報を決定してもよい。当該情報は、タスクを実行する時の現在の衛星の自身のリソース情報、実行されるタスクのデータ、およびタスクを実行するために必要な時間を含む。タスクを実行する時の現在の衛星の自身のリソース情報と、実行されるタスクのデータを訓練サンプルとし、タスクを実行するために必要な時間を訓練サンプルのアノテーションとする。そして、訓練サンプルを訓練対象のタスク動作時間長予測モデルに入力して、出力結果を得、出力結果とアノテーションとの差を最小化することを訓練目標として、訓練対象のタスク動作時間長予測モデルを訓練する。
【0082】
オプションで、地上装置が、現在の衛星の情報および当該候補衛星の情報に基づいて、現在の衛星と当該候補衛星との間の通信時間長を予測し、衛星地上局によって予測された結果を現在の衛星に送信してもよい。
【0083】
上記は、本発明の1つまたは複数の実施形態による方法であり、同じ考え方に基づき、本発明は、図4に示すような、対応するタスクスケジューリング装置をさらに提供する。
【0084】
図4は、本発明の実施形態にて提供されるタスクスケジューリング装置を示す概略図であり、当該装置は、
現在時刻に現在の衛星と通信している候補衛星と、対象タスクとを決定するための第1の決定モジュール200と、
決定された候補衛星の各々について、当該候補衛星の情報を決定するための第2の決定モジュールであって、当該候補衛星の情報は、少なくとも当該候補衛星の座標およびスケジューリング情報を含む、第2の決定モジュール202と、
前記現在の衛星の情報および当該候補衛星の情報に基づいて、前記現在の衛星と当該候補衛星との間の通信時間長を予測し、当該候補衛星の情報に基づいて、当該候補衛星が前記対象タスクを実行するための実行時間長を決定するための第3の決定モジュールであって、前記現在の衛星の情報は、少なくとも前記現在の衛星の座標を含む、第3の決定モジュール204と、
各候補衛星の実行時間長および前記各候補衛星の通信時間長に基づいて、前記対象タスクのスケジューリング衛星を決定するための第4の決定モジュール206と、
前記対象タスクを実行するために必要なデータを決定し、前記データを前記スケジューリング衛星に送信するためのスケジューリングモジュール208と、を含む。
【0085】
オプションで、前記第3の決定モジュール204は、具体的に、
前記現在の衛星の情報および当該候補衛星の情報を、事前に訓練された通信時間長予測モデルに入力して、前記現在の衛星と当該候補衛星との間の通信時間長を得るために用いられる。
【0086】
オプションで、前記通信時間長予測モデルは、シミュレーション層と予測層とを含み、
前記第3の決定モジュール204は、具体的に、
各衛星の情報を決定し、前記各衛星の情報を前記通信時間長予測モデルのシミュレーション層に入力して、前記現在の衛星と当該候補衛星との間の可視性時間長を決定し、前記各衛星は、少なくとも前記現在の衛星と各候補衛星とを含み、
前記可視性時間長、前記現在の衛星の情報および当該候補衛星の情報を、前記通信時間長予測モデルの予測層に入力して、前記現在の衛星と当該候補衛星との間の通信時間長を得るために用いられる。
【0087】
オプションで、前記第3の決定モジュール204は、具体的に、
前記対象タスクを実行するために必要なデータを取得し、前記データに基づいて、前記現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定し、当該候補衛星の情報に基づいて、当該候補衛星が前記対象タスクを動作するために必要な待ち時間長を決定し、当該候補衛星が前記対象タスクを動作するために必要な動作時間長を予測し、
前記伝送時間長、前記待ち時間長および前記動作時間長の和を、当該候補衛星が前記対象タスクを実行するための実行時間長とするために用いられる。
【0088】
オプションで、前記第3の決定モジュール204は、具体的に、
前記現在の衛星と当該候補衛星との間のデータ伝送の過去の伝送速度を決定し、
決定された伝送速度および前記データに基づいて、前記現在の衛星と当該候補衛星との間のデータ伝送の伝送時間長を決定するために用いられる。
【0089】
オプションで、前記第3の決定モジュール204は、具体的に、
当該候補衛星が、前記現在時刻の前に前記現在の衛星との間でデータを伝送した場合、当該候補衛星のスケジューリング情報における履歴スケジューリング情報に基づいて、当該候補衛星と前記現在の衛星または任意の他の衛星との間のデータ伝送の過去の伝送速度の平均値を前記伝送速度として決定するために用いられ、
当該候補衛星が、前記現在時刻の前に前記現在の衛星との間でデータを伝送したことがない場合、決定された他の候補衛星のスケジューリング情報における履歴スケジューリング情報に基づいて、前記現在の衛星と任意の前記他の候補衛星との間のデータ伝送の過去の伝送速度の平均値を前記伝送速度として決定し、または
前記現在の衛星のローカル情報に基づいて、前記現在の衛星とローカルに記録されている任意の他の衛星との間のデータ伝送の過去の伝送速度の平均値を前記伝送速度として決定し、または
予め設定されたデータ伝送速度を前記伝送速度として決定するために用いられる。
【0090】
オプションで、前記第3の決定モジュール204は、具体的に、
当該候補衛星のスケジューリング情報における現在のスケジューリング情報に基づいて、当該候補衛星が前記対象タスクを動作するために必要な待ち時間長を決定するために用いられ、前記現在のスケジューリング情報は、現在時刻における当該候補衛星のスケジューリングタスクの実行状況を含み、または、
当該候補衛星から送信された、前記対象タスクを動作するために必要な待ち時間長を受信するために用いられ、前記待ち時間長は、当該候補衛星が自身のタスクの実行状況に基づいて決定される。
【0091】
オプションで、当該候補衛星のスケジューリング情報は、当該候補衛星のリソース情報を含み、前記リソース情報は、少なくとも残りの記憶リソース情報および残りの計算能力リソース情報を含み、
前記第3の決定モジュール204は、具体的に、
当該候補衛星のリソース情報および前記データを、事前に訓練されたタスク動作時間長予測モデルに入力して、当該候補衛星が前記対象タスクを動作するために必要な動作時間長を得るために用いられる。
【0092】
オプションで、前記第4の決定モジュール206は、具体的に、
前記候補衛星の各々について、当該候補衛星の実行時間長が、当該候補衛星と前記現在の衛星との間の通信時間長以下であるか否かを判定し、
当該候補衛星の実行時間長が、当該候補衛星と前記現在の衛星との間の通信時間長以下であると判定される場合、当該候補衛星を前記対象タスクのスケジューリング衛星とし、
当該候補衛星の実行時間長が、当該候補衛星と前記現在の衛星との間の通信時間長より大きい場合、当該候補衛星を前記対象タスクのスケジューリング衛星としないために用いられる。
【0093】
オプションで、前記第4の決定モジュール206は、具体的に、
各候補衛星の実行時間長と、前記各候補衛星と前記現在の衛星との間の通信時間長とに基づいて、前記各候補衛星の中から、実行時間長が通信時間長以下の衛星を決定し、
決定された衛星を、実行時間長の小さい順に並べ替え、衛星シーケンスを得、
前記衛星シーケンスに基づいて、前記決定された衛星の中から、少なくとも1つの衛星を前記対象タスクのスケジューリング衛星として選択するために用いられる。
【0094】
オプションで、前記第4の決定モジュール206は、具体的に、
各候補衛星の実行時間長と、前記各候補衛星と前記現在の衛星との間の通信時間長とに基づいて、前記各候補衛星の中から、実行時間長が通信時間長以下の衛星を決定し、
決定された衛星のうち、実行時間長が最も短い衛星を、前記対象タスクのスケジューリング衛星とするために用いられる。
【0095】
オプションで、前記第1の決定モジュール200は、具体的に、
テスト信号を送信し、
受信した前記テスト信号の返信信号に基づいて、現在時刻に前記現在の衛星と通信している衛星を、候補衛星として決定するために用いられる。
【0096】
本発明はコンピュータ可読記憶媒体をさらに提供し、当該コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、コンピュータプログラムは上述したタスクスケジューリング方法を実行するために用いられる。
【0097】
本発明は図5に示す電子デバイスをさらに提供する。図5に示すように、ハードウェアレベルでは、当該電子デバイスは、プロセッサ、内部バス、ネットワークインタフェース、内部メモリ、および不揮発性メモリを含み、もちろん、他の動作に必要なハードウェアも含み得る。プロセッサは、不揮発性メモリから対応するコンピュータプログラムを内部メモリに読み込んで実行し、上述したタスクスケジューリング方法を実施する。
【0098】
もちろん、ソフトウェアによる実現の他に、本発明は、論理デバイスやハードウェアとソフトウェアの組み合わせなど、他の実現方式を排除するものではなく、つまり、以下の処理プロセスの実行主体は、各の論理ユニットに限定されず、ハードウェアや論理デバイスであってもよい。
【0099】
1990年代には、ある技術の改良は、ハードウェアの改良(ダイオード、トランジスタ、スイッチなどの回路構造の改良など)とソフトウェアの改良(方法フローの改良)に明確に区別することができる。しかし、技術の発展に伴い、現在の方法フローの改良の多くは、ハードウェア回路構造に対する直接的な改良と見なすことができるようになった。設計者は、改良された方法フローをハードウェア回路にプログラミングすることで、対応するハードウェア回路構造を得ることがほとんどである。従って、方法フローの改良がハードウェア物理モジュールにより実現できないとは言い切れない。例えば、プログラマブルロジックデバイス(Programmable Logic Device、PLD)(例えばフィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA))はこのような集積回路であり、その論理機能がデバイスのユーザによるプログラミングによって決定される。チップメーカーが専用の集積回路チップを設計・製造する代わりに、設計者がプログラミングしてデジタルシステムを1枚のPLD上に「集積」する。そして、現在では、集積回路チップを手作りする代わりに、このプログラミングは「論理コンパイラ(logic compiler)」というソフトウェアを使って実現されることがほとんどであり、これは、プログラムを書くときに使うソフトウェアコンパイラと類似し、前のオリジナルコードをコンパイルするためには、特定のプログラミング言語で書く必要があり、これはハードウェア記述言語(Hardware Description Language、HDL)と呼ばれ、HDLは1種類だけではなく、ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)など、多くの種類があり、現在最もよく使われているのはVHDL(Very-High-Speed Integrated Circuit Hardware Description Language)とVerilogである。方法フローを、上記のハードウェア記述言語のいくつかでちょっと論理的にプログラミングして集積回路にプログラミングするだけで、論理的な方法フローを実現するハードウェア回路は簡単に得られることは、当業者には明らかであろう。
【0100】
コントローラは、任意の適切な方法で実現されてもよく、例えば、コントローラはマイクロプロセッサまたはプロセッサと、当該(マイクロ)プロセッサによって実行可能なコンピュータ可読プログラムコード(例えば、ソフトウェアまたはファームウェア)を記憶するコンピュータ可読記憶媒体と、論理ゲート、スイッチ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、プログラマブルロジックコントローラおよび埋め込みマイクロコントローラの形態を採用してもよく、コントローラの例として、ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20、Silicone Labs C8051F320などのマイクロコントローラを含むが、これらに限定されず、メモリコントローラはさらに、メモリの制御ロジックの一部として実現されることも可能である。また、純粋なコンピュータ可読プログラムコードでコントローラを実現することに加えて、方法ステップを論理的にプログラミングすることで、コントローラに、論理ゲート、スイッチ、特定用途向け集積回路、プログラマブルロジックコントローラおよび埋め込みマイクロコントローラなどの形態で同じ機能を実行させることも完全に可能であることは、当業者には明らかであろう。従って、このようなコントローラを、ハードウェアコンポーネントとみなしてもよく、様々な機能を実現するためのその中に含まれる装置も、ハードウェアコンポーネント内の構造とみなしてもよい。または、さらに、様々な機能を実現するための装置を、方法を実現するソフトウェアモジュールであってもよいし、ハードウェアコンポーネント内の構造であってもよいと、みなしてもよい。
【0101】
上記実施形態で説明したシステム、装置、モジュールまたはユニットは、具体的には、コンピュータチップ、エンティティ、または何らかの機能を有する製品によって実現されてもよい。典型的な実現デバイスはコンピュータである。具体的に、コンピュータは例えば、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、パーソナルデジタルアシスタント、メディアプレーヤ、ナビゲーションデバイス、電子メールデバイス、ゲーム機、タブレット、ウェアラブルデバイス、またはこれらのデバイスの任意のいくつかの組み合わせであってもよい。
【0102】
なお、説明の便宜上、上記の装置を説明するときに機能によって様々なユニットに分けてそれぞれ説明する。もちろん、本発明を実施する際に、各ユニットの機能を同一または複数のソフトウェアおよび/またはハードウェアで実現することも可能である。
【0103】
当業者であれば分かるように、本発明の実施形態が、方法、システム、またはコンピュータプログラム製品として提供されてもよい。従って、本発明は、ハードウェアだけからなる実施形態、ソフトウェアだけからなる実施形態、またはソフトウェアとハードウェアを組み合わせた実施形態なる形態を用いてもよい。さらに、本発明は、コンピュータで使用可能なプログラムコードを含む1つまたは複数のコンピュータで使用可能な記憶媒体(磁気ディスクメモリ、CD-ROM、光学メモリなどを含むが、これらに限定されない)において実施されるコンピュータプログラム製品の形態であってもよい。
【0104】
本発明は、本発明の実施形態による方法、デバイス(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して説明される。フローチャートおよび/またはブロック図における各フローおよび/またはブロック、並びにフローチャートおよび/またはブロック図におけるフローおよび/またはブロックの組み合わせは、コンピュータプログラム命令によって実現されてもよいことが理解すべきである。これらのコンピュータプログラム命令は、マシンを生成するために、汎用コンピュータ、専用コンピュータ、埋め込みプロセッサ、または他のプログラム可能なデータ処理デバイスのプロセッサに提供されてもよく、それにより、コンピュータまたは他のプログラム可能なデータ処理デバイスのプロセッサによって実行される命令により、フローチャートの1つまたは複数のフロー、および/またはブロック図の1つまたは複数のブロックにおいて指定される機能を実現するための装置が生成される。
【0105】
これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能なデータ処理デバイスに特定の方法で作業するように指示することができるコンピュータ可読メモリに記憶されてもよく、その結果、当該コンピュータ可読メモリに記憶されている命令により、フローチャートの1つまたは複数のフローおよび/またはブロック図の1つまたは複数のブロックにおいて指定される機能を実現する命令装置を含む製品が生成される。
【0106】
これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能なデータ処理デバイスにロードしてもよく、それにより、一連の動作ステップがコンピュータまたは他のプログラム可能なデバイス上で実行されることで、コンピュータにより実施される処理が生成され、それにより、コンピュータまたは他のプログラム可能なデバイス上で実行される命令により、フローチャートの1つまたは複数のフロー、および/またはブロック図の1つまたは複数のブロック内で指定される機能を実現するためのステップが提供される。
【0107】
典型的な構成では、コンピューティングデバイスは、1つ以上のプロセッサ(CPU)、入力/出力インタフェース、ネットワークインタフェース、およびメモリを含む。
【0108】
メモリは、コンピュータ可読記憶媒体のうちの揮発性メモリ、ランダムアクセスメモリ(RAM)および/または不揮発性メモリなどの形態を含み得、例えば、読み出し専用メモリ(Read Only Memory、ROM)またはフラッシュメモリ(flash RAM)である。メモリは、コンピュータ可読記憶媒体の一例である。
【0109】
コンピュータ可読記憶媒体は不揮発性および揮発性媒体、移動可能および非移動可能な媒体を含み、任意の方法または技術により情報記憶を実現し得る。情報はコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータであってもよい。コンピュータの記憶媒体は、相変化メモリ(Phase Change RAM、PRAM)、スタティックランダムアクセスメモリ(Static Random-Access Memory、SRAM)、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM)、他のタイプのランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能プログラマブル読み出し専用メモリ(Electrically Erasable Programmable Read Only Memory、EEPROM)、フラッシュメモリ(flash Memory)または他のメモリ技術、コンパクトディスク読み出し専用メモリ(Compact Disc Read Only Memory、CD-ROM)、デジタル多用途ディスク(Digital Versatile Disc、DVD)または他の光学記憶、磁気カセットテープ、磁気テープ磁気ディスク記憶または他の磁気記憶デバイス、またはコンピューティングデバイスからアクセス可能な情報を記憶するために使用され得る任意の他の非伝送媒体を含むがそれらに限定されない。本明細書の定義によれば、コンピュータ可読記憶媒体は一時記憶コンピュータ可読記憶媒体(transitory Media)、例えば変調されたデータ信号およびキャリアを含まない。
【0110】
また、用語「含む」、「含有」またはそのいずれかの他の変形は、非排他的な含有を含むことを意図し、それにより一連の要素を含むプロセス、方法、物品またはデバイスはそれらの要素を含むだけでなく、また明確に列挙されていない他の要素も含み、またはこのようなプロセス、方法、物品またはデバイスの固有の要素も含む。より多くの制限がない場合、文「1つの…を含む」により限定された要素は、前記要素を含むプロセス、方法、物品またはデバイスにさらに他の同じ要素が存在することを排除するものではない。
【0111】
本発明は、プログラムモジュールのようなコンピュータによって実行されるコンピュータ実行可能命令の一般的な文脈で記述され得る。一般的に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワークを介して接続されたリモート処理デバイスによってタスクが実行される分散コンピューティング環境においても実施され得る。分散コンピューティング環境において、プログラムモジュールは、記憶デバイスを含むローカルおよびリモートコンピュータ記憶媒体に配置され得る。
【0112】
本発明における各実施形態はいずれも漸進の方式で説明され、各実施形態の間の同じまたは類似する部分は互いに参照すればよく、各実施形態の重点的に説明されたのは他の実施形態との相違点である。特に、システムの実施形態に対して、それは基本的に方法の実施形態と類似するため、簡単に説明し、関連する部分は方法の実施形態の一部の説明を参照すればよい。
【0113】
上記は、本発明の実施形態にすぎず、本発明を限定するために使用されるものではない。当業者にとって、本発明は、様々な変更および変化があり得る。本発明の趣旨と原理から逸脱せず行った任意の修正、同等な置換、改善など、いずれも本発明の特許請求の範囲に含まれるものとするべきである。
図1
図2
図3
図4
図5