【手続補正書】
【提出日】令和3年1月12日(2021.1.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティングシステムであって、
メモリに接続されたプロセッサと、
非一時的なコンピュータ読取可能媒体に格納され、命令で構成されたスケジューリングモジュールとを備え、前記命令は、前記プロセッサによって実行されると、前記プロセッサに動作を実行させ、当該動作は、
複数のタスクを含むスケジューリングデータ構造を修正する要求を受信したことに応答して、前記要求が、複数のリソースから第１のリソースを使用して実行される第１のタスクをスケジューリングすることに向けられていることを判断することと、
ネットワーク通信を介してデータベースから前記スケジューリングデータ構造にアクセスすることとを含み、前記スケジューリングデータ構造は、
（ｉ）１つ以上の他のリソースを使用して実行される、前記第１のリソースが依存する第１のタスクセットのためのデータレコードと、
（ｉｉ）前記第１のリソースを使用して実行される、他のリソースが依存する第２のタスクセットのためのデータレコードとを含み、前記動作はさらに、
前記データレコードを分析して、前記１つ以上の他のリソースを使用して実行される前記第１のタスクセットと前記第１のリソースを使用して実行される前記第２のタスクセットとの間の依存性を判断することと、
前記依存性に基づいて、前記第１のリソースを使用して前記第１のタスクを実行するための候補時間を計算することと、
前記第１のリソースのための前記第１のタスクのための前記候補時間を使用して、前記第１のリソースを含む前記複数のリソースのための候補スケジュールを生成することと、
前記候補スケジュールを評価して、候補スケジュールパフォーマンススコアを計算することと、
前記候補スケジュールパフォーマンススコアが既存のスケジュールの既存のスケジュールパフォーマンススコアよりも大きいと判断したことに応答して、前記候補スケジュールに基づいて前記スケジューリングデータ構造を修正および再生成して、前記候補時間に前記第１のリソースを使用して実行される前記第１のタスクを割り当てることとを含む、コンピューティングシステム。
【請求項２】
前記命令は、前記プロセッサによって実行されると、前記プロセッサに動作を繰り返し実行させ、当該動作は、
１つ以上の依存性に基づいて、前記複数のリソースから第２のリソースを使用して第２のタスクを実行するための第２の候補時間を計算することと、
前記第２のリソースのための前記第２のタスクのための前記第２の候補時間を使用して、前記第２のリソースを含む前記複数のリソースのための第２の候補スケジュールを生成することと、
前記第２の候補スケジュールを評価して、第２の候補スケジュールパフォーマンススコアを計算することと、
前記第２の候補スケジュールパフォーマンススコアが第２の既存のスケジュールの第２の既存のスケジュールパフォーマンススコア以下であると判断したことに応答して、前記１つ以上の依存性に基づいて、前記複数のリソースから前記第２のリソースを使用して前記第２のタスクを実行するための第３の候補時間を計算することと、
前記第２の候補スケジュールパフォーマンススコアが前記第２の既存のスケジュールの前記第２の既存のスケジュールパフォーマンススコアよりも大きいと判断したことに応答して、前記第２の候補スケジュールに基づいて前記スケジューリングデータ構造を修正および再生成して、前記第２の候補時間に前記第２のリソースを使用して実行される前記第２のタスクを割り当てることとを含む、請求項１に記載のコンピューティングシステム。
【請求項３】
前記候補スケジュールを評価して前記候補スケジュールパフォーマンススコアを計算するための前記命令は、前記プロセッサによって実行されると、前記プロセッサに動作を実行させる命令をさらに含み、当該動作は、
前記候補スケジュールを分析して、前記候補スケジュールにおける前記第１のタスクセットと前記第２のタスクセットとの間の依存性の複数の競合を判断することと、
前記依存性の複数の競合に基づいて前記候補スケジュールパフォーマンススコアを生成することとを含む、請求項１または２に記載のコンピューティングシステム。
【請求項４】
前記依存性の競合は、
（ｉ）第２のリソースを使用して実行される第３のタスクの前の時間を有する、前記第１のリソースを使用して実行される第２のタスクに対応する競合、または
（ｉｉ）前記第１のリソースを使用して実行される第５のタスクの前の時間を有する、前記第２のリソースを使用して実行される第４のタスクに対応する競合、のうちの少なくとも１つを備え、
前記依存性は、前記第２のリソースを使用して実行される前記第３のタスクに対する、前記第１のリソースを使用して実行される前記第２のタスクの依存性を備え、
前記依存性は、前記第１のリソースを使用して実行される前記第５のタスクに対する、前記第２のリソースを使用して実行される前記第４のタスクの依存性を備える、請求項３に記載のコンピューティングシステム。
【請求項５】
前記第１のリソースを使用して前記第１のタスクを実行するための前記候補時間を計算するために使用される前記依存性は、
（ｉ）第２のリソースを使用して実行される第２のタスクに対する、前記第１のリソースを使用して実行される前記第１のタスクの依存性、または
（ｉｉ）前記第１のリソースを使用して実行される前記第１のタスクに対する、前記第２のリソースを使用して実行される第３のタスクの依存性、のうちの少なくとも１つを備え、
前記依存性に基づいて、前記第１のリソースを使用して前記第１のタスクを実行するための前記候補時間を計算するための前記命令は、前記プロセッサによって実行されると、前記プロセッサに以下の動作のうちの少なくとも１つを実行させる命令をさらに含み、前記動作は、
前記第２のリソースを使用して実行される前記第２のタスクに対する、前記第１のリソースを使用して実行される前記第１のタスクの前記依存性に基づいて、前記第２のタスクの時間の後であるように前記候補時間を計算することと、
前記第１のリソースを使用して実行される前記第１のタスクに対する、前記第２のリソースを使用して実行される前記第３のタスクの前記依存性に基づいて、前記第３のタスクの時間の前であるように前記候補時間を計算することとを含む、請求項１から３のいずれか１項に記載のコンピューティングシステム。
【請求項６】
前記第１のリソースを使用して前記第１のタスクを実行するための前記候補時間を計算するために使用される前記依存性は、
（ｉ）第２のリソースのための第３のタスクに対する前記第１のリソースのための第２のタスクの依存性、または
（ｉｉ）前記第１のリソースのための第５のタスクに対する前記第２のリソースのための第４のタスクの依存性、のうちの少なくとも１つを備え、
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記第２のリソースのための前記第３のタスクに対する前記第１のリソースのための前記第２のタスクの前記依存性に基づいて、前記第３のタスクの時間の後であるように前記第１のリソースのための前記第２のタスクのための第２の候補時間を計算すること、また
は
前記第１のリソースのための前記第５のタスクに対する前記第２のリソースのための前記第４のタスクの前記依存性に基づいて、前記第４のタスクの時間の前であるように前記第１のリソースのための前記第５のタスクのための第３の候補時間を計算すること、のうちの少なくとも１つを実行させ、
前記複数のリソースのための前記候補スケジュールを生成するための前記命令は、前記プロセッサによって実行されると、前記プロセッサに動作のうちの少なくとも１つを実行させる命令をさらに含み、当該動作は、
前記候補スケジュールにおける前記第１のリソースのための前記第２のタスクのための前記第２の候補時間を使用することと、
前記候補スケジュールにおける前記第１のリソースのための前記第５のタスクのための前記第３の候補時間を使用することとを含む、請求項１〜３および請求項５のいずれか１項に記載のコンピューティングシステム。
【請求項７】
前記第１のリソースは、第１の車両であり、前記第１のタスクセットは、１つ以上の他の車両を使用して実行され、前記第２のタスクセットは、前記第１の車両によって実行され、
前記候補スケジュールパフォーマンススコアが前記既存のスケジュールの前記既存のスケジュールパフォーマンススコアよりも大きいと判断するための前記命令は、前記プロセッサによって実行されると、前記プロセッサに動作を実行させる命令をさらに含み、当該動作は、
前記第１の車両と前記１つ以上の他の車両のうちの少なくとも１つとの間の依存性によってもたらされる前記既存のスケジュールにおける競合を前記候補スケジュールが解決すると判断することを含む、請求項１〜６のいずれか１項に記載のコンピューティングシステム。
【請求項８】
プロセッサを備えるコンピューティングデバイスによって実行される、コンピュータによって実行される方法であって、
少なくとも前記プロセッサが、複数のタスクを含むスケジューリングデータ構造を修正する要求を受信するステップと、
少なくとも前記プロセッサが、ネットワーク通信を介してデータベースから前記スケジューリングデータ構造にアクセスするステップとを備え、前記スケジューリングデータ構造は、
（ｉ）１つ以上の他のリソースを使用して実行される、第１のリソースが依存する第１のタスクセットのためのデータレコードと、
（ｉｉ）前記第１のリソースを使用して実行される、他のリソースが依存する第２のタスクセットのためのデータレコードとを含み、前記方法はさらに、
少なくとも前記プロセッサが、前記データレコードを分析して、前記１つ以上の他のリソースを使用して実行される前記第１のタスクセットと前記第１のリソースを使用して実行される前記第２のタスクセットとの間の依存性を判断するステップと、
少なくとも前記プロセッサが、前記依存性に基づいて、前記第１のリソースを使用して第１のタスクを実行するための候補時間を計算するステップと、
少なくとも前記プロセッサが、前記第１のリソースのための前記第１のタスクのための前記候補時間を使用して、前記第１のリソースを含む前記複数のリソースのための候補スケジュールを生成するステップと、
少なくとも前記プロセッサが、前記候補スケジュールを評価して、候補スケジュールパフォーマンススコアを計算するステップと、
少なくとも前記プロセッサが、前記候補スケジュールパフォーマンススコアが既存のスケジュールの既存のスケジュールパフォーマンススコアよりも大きいと判断したことに応答して、前記候補スケジュールに基づいて前記スケジューリングデータ構造を修正および再生成して、前記候補時間に前記第１のリソースを使用して実行される前記第１のタスクを割り当てるステップとを備える、コンピュータによって実行される方法。
【請求項９】
前記方法は、さらに、
１つ以上の依存性に基づいて、前記複数のリソースから第２のリソースを使用して第２のタスクを実行するための第２の候補時間を計算するステップと、
前記第２のリソースのための前記第２のタスクのための前記第２の候補時間を使用して、前記第２のリソースを含む前記複数のリソースのための第２の候補スケジュールを生成するステップと、
前記第２の候補スケジュールを評価して、第２の候補スケジュールパフォーマンススコアを計算するステップと、
前記第２の候補スケジュールパフォーマンススコアが第２の既存のスケジュールの第２の既存のスケジュールパフォーマンススコア以下であると判断したことに応答して、前記１つ以上の依存性に基づいて、前記複数のリソースから前記第２のリソースを使用して前記第２のタスクを実行するための第３の候補時間を計算するステップと、
前記第２の候補スケジュールパフォーマンススコアが前記第２の既存のスケジュールの前記第２の既存のスケジュールパフォーマンススコアよりも大きいと判断したことに応答して、前記第２の候補スケジュールに基づいて前記スケジューリングデータ構造を修正および再生成して、前記第２の候補時間に前記第２のリソースを使用して実行される前記第２のタスクを割り当てるステップとを繰り返すことを備える、請求項８に記載のコンピュータによって実行される方法。
【請求項１０】
前記候補スケジュールを評価して、前記候補スケジュールパフォーマンススコアを計算するステップは、
前記候補スケジュールを分析して、前記候補スケジュールにおける前記第１のタスクセットと前記第２のタスクセットとの間の依存性の複数の競合を判断するステップと、
前記依存性の複数の競合に基づいて前記候補スケジュールパフォーマンススコアを生成するステップとをさらに備える、請求項８または９に記載のコンピュータによって実行される方法。
【請求項１１】
前記依存性の競合は、
（ｉ）第２のリソースを使用して実行される第３のタスクの前の時間を有する、前記第１のリソースを使用して実行される第２のタスクに対応する競合、または
（ｉｉ）前記第１のリソースを使用して実行される第５のタスクの前の時間を有する、前記第２のリソースを使用して実行される第４のタスクに対応する競合、のうちの少なくとも１つを備え、
前記依存性は、前記第２のリソースを使用して実行される前記第３のタスクに対する、前記第１のリソースを使用して実行される前記第２のタスクの依存性を備え、
前記依存性は、前記第１のリソースを使用して実行される前記第５のタスクに対する、前記第２のリソースを使用して実行される前記第４のタスクの依存性を備える、請求項８〜１０のいずれか１項に記載のコンピュータによって実行される方法。
【請求項１２】
前記第１のリソースを使用して前記第１のタスクを実行するための前記候補時間を計算するために使用される前記依存性は、
（ｉ）第２のリソースを使用して実行される第２のタスクに対する、前記第１のリソースを使用して実行される前記第１のタスクの依存性、または
（ｉｉ）前記第１のリソースを使用して実行される前記第１のタスクに対する、前記第２のリソースを使用して実行される第３のタスクの依存性、のうちの少なくとも１つを備え、
前記依存性に基づいて、前記第１のリソースを使用して前記第１のタスクを実行するための前記候補時間を計算するステップは、
前記第２のリソースを使用して実行される前記第２のタスクに対する、前記第１のリソースを使用して実行される前記第１のタスクの前記依存性に基づいて、前記第２のタスクの時間の後であるように前記候補時間を計算するステップ、または
前記第１のリソースを使用して実行される前記第１のタスクに対する、前記第２のリソースを使用して実行される前記第３のタスクの前記依存性に基づいて、前記第３のタスクの時間の前であるように前記候補時間を計算するステップ、のうちの少なくとも１つをさらに備える、請求項８から１０のいずれか１項に記載のコンピュータによって実行される方法。
【請求項１３】
前記第１のリソースを使用して前記第１のタスクを実行するための前記候補時間を計算するために使用される前記依存性は、
（ｉ）第２のリソースのための第３のタスクに対する前記第１のリソースのための第２のタスクの依存性、または
（ｉｉ）前記第１のリソースのための第５のタスクに対する前記第２のリソースのための第４のタスクの依存性、のうちの少なくとも１つを備える、請求項８〜１０および請求項１２のいずれか１項に記載のコンピュータによって実行される方法。
【請求項１４】
前記コンピュータによって実行される方法は、
前記第２のリソースのための前記第３のタスクに対する前記第１のリソースのための前記第２のタスクの前記依存性に基づいて、前記第３のタスクの時間の後であるように前記第１のリソースのための前記第２のタスクのための第２の候補時間を計算するステップ、または
前記第１のリソースのための前記第５のタスクに対する前記第２のリソースのための前記第４のタスクの前記依存性に基づいて、前記第４のタスクの時間の前であるように前記第１のリソースのための前記第５のタスクのための第３の候補時間を計算するステップ、のうちの少なくとも１つをさらに備える、請求項１３に記載のコンピュータによって実行される方法。
【請求項１５】
前記複数のリソースのための前記候補スケジュールを生成するステップは、
前記候補スケジュールにおける前記第１のリソースのための前記第２のタスクのための前記第２の候補時間を使用するステップ、または
前記候補スケジュールにおける前記第１のリソースのための前記第５のタスクのための前記第３の候補時間を使用するステップ、のうちの少なくとも１つをさらに備える、請求項１４に記載のコンピュータによって実行される方法。
【請求項１６】
請求項８〜１５のいずれか１項に記載の方法をコンピュータに実行させるためのプログラム。