【手続補正書】
【提出日】令和1年9月25日(2019.9.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティングシステムによって実行されるタスクを制御するための方法であって、
グラフに基づくプログラムの仕様に関するデータ構造をデータストレージシステムに記憶するステップであって、前記グラフに基づくプログラムの仕様が、タスクを表す複数のノードを含み、前記グラフに基づくプログラムの仕様が、前記ノードによって表される複数のタスクの間の少なくとも部分的な順序を規定するノードの間の有向辺を含む、前記記憶するステップと、
前記グラフに基づくプログラムの仕様によって規定されたプログラムを少なくとも１つのプロセッサを使用して実行するステップであって、
第１のタスクに対応する第１のサブルーチンを第１のプロセスによって実行することであって、前記第１のサブルーチンが、前記第１のタスクを実行するための第１のタスクセクション、及び前記グラフに基づくプログラムの仕様の中で前記第１のタスクのために１又は２以上の対応する後続のタスクの実行を制御するための論理を含む前記第１のサブルーチンに含まれる第１の制御セクションを含み、前記第１の制御セクションが、第２のタスクに対応する第２のサブルーチンを呼び出すための第１の関数呼び出しを含み、前記第２のタスクが、前記第２のタスクの実行を続けるために前記第１のプロセスに第２のプロセスをスポーニングさせる遅延閾値タイマーが超えられるまで前記第１のプロセスを使用して実行を開始するように構成され、前記第１のサブルーチンが、前記遅延閾値タイマーが超えられるときに前記第２のタスク及び第３のタスクが同時に実行されるように、前記第１のプロセスが前記第２のプロセスをスポーニングすると前記第１のプロセス上で実行される、前記第３のタスクに対応する第３のサブルーチンを呼び出すための第２の関数呼び出しをさらに含む、前記実行すること、
前記第１のタスクセクションが前記第１のタスクを実行するのを待っている保留状態及び前記第１のタスクセクションが前記第１のタスクを実行することを防止された抑制状態を含む１組の可能な状態から選択された前記第１のタスクの状態を示す状態情報を記憶することを含む、前記実行するステップと、
前記第２のタスクに対応する前記第２のサブルーチンを実行するステップであって、前記第２のサブルーチンが、前記第２のタスクを実行するための第２のタスクセクション、及び記憶された状態情報によって示される前記第１のタスクの前記状態に少なくとも部分的に基づいて前記第２のタスクセクションの実行を制御する第２の制御セクションを含む、前記実行するステップとを含む、前記方法。
【請求項２】
上流のノードから下流のノードへの制御有向辺が、部分的な順序で前記上流のノードによって表されるタスクが前記下流のノードによって表される別のタスクに先立つことを示す、請求項１に記載の方法。
【請求項３】
１組の可能な状態が、第１のタスクセクションが第１のタスクを実行し終えた完了状態又は前記第１のタスクセクションが前記第１のタスクを実行する過程にあるアクティブ状態のうちの１又は２以上をさらに含む、請求項１に記載の方法。
【請求項４】
第２のサブルーチンの第２の制御セクションの論理が、第２のタスクセクションが呼び出されるか否かをフラグの値に基づいて判定する、請求項１に記載の方法。
【請求項５】
第２のサブルーチンの第２の制御セクションの論理が、第２のタスクを表すノードに制御有向辺によって接続されるノードによって表されるすべてのタスクが抑制状態にある場合、第２のタスクセクションが呼び出されないと判定する、請求項１に記載の方法。
【請求項６】
第２のサブルーチンの第２の制御セクションの論理が、第２のタスクを表すノードに制御有向辺によって接続されるノードによって表される少なくとも１つのタスクが完了状態にあり、前記第２のタスクを表すノードに制御有向辺によって接続されるノードによって表されるタスクのいずれも保留状態にない場合、第２のタスクセクションが呼び出されると判定する、請求項１に記載の方法。
【請求項７】
第２のサブルーチンの第２の制御セクションが、抑制状態を１又は２以上のその他のタスクに伝播させるために、記憶される状態情報を判定する論理を含む、請求項１に記載の方法。
【請求項８】
１群の複数のタスクの各々の状態情報が、前記１群の複数のタスクの前記各々のそれぞれ１つによって記憶され、第２のサブルーチンに含まれる第２の制御セクションによってアクセスされる、請求項１に記載の方法。
【請求項９】
第２のタスクが、第２のタスクセクションが呼び出されるかどうかを前記第２のタスクに関連するアクティベーションカウンタに基づいて判定し、前記アクティベーションカウンタが、複数のタスクの状態の変化に応じて調整されるカウンタ値を含み、前記第２のタスクを実行することが、調整されたアクティベーションカウンタが所定の値に一致することに応じて前記第２のタスクを実行することを含む、請求項１に記載の方法。
【請求項１０】
第２のタスクの実行を続けるように構成されたスポーニングされた第２のプロセスが、前記第２のタスクに関連するスタックフレームを取得し、前記スタックフレームに保有されたリターンポインタを取り除くように構成される、請求項１に記載の方法。
【請求項１１】
タスクを制御するためのコンピューティングシステムであって、
グラフに基づくプログラムの仕様に関するデータ構造を記憶するための手段であって、前記グラフに基づくプログラムの仕様が、タスクを表す複数のノードを含み、前記グラフに基づくプログラムの仕様が、前記ノードによって表される複数のタスクの間の少なくとも部分的な順序を規定するノードの間の有向辺を含む、前記記憶するための手段と、前記グラフに基づくプログラムの仕様によって規定されたプログラムを実行するための手段とを含み、実行することが、
第１のタスクに対応する第１のサブルーチンを第１のプロセスによって実行することであって、前記第１のサブルーチンが、前記第１のタスクを実行するための第１のタスクセクション、及び前記グラフに基づくプログラムの仕様の中で前記第１のタスクのために１又は２以上の対応する後続のタスクの実行を制御するための論理を含む前記第１のサブルーチンに含まれる第１の制御セクションを含み、前記第１の制御セクションが、第２のタスクに対応する第２のサブルーチンを呼び出すための第１の関数呼び出しを含み、前記第２のタスクが、前記第２のタスクの実行を続けるために前記第１のプロセスに第２のプロセスをスポーニングさせる遅延閾値タイマーが超えられるまで前記第１のプロセスを使用して実行を開始するように構成され、前記第１のサブルーチンが、前記遅延閾値タイマーが超えられるときに前記第２のタスク及び第３のタスクが同時に実行されるように、前記第１のプロセスが前記第２のプロセスをスポーニングすると前記第１のプロセス上で実行される、前記第３のタスクに対応する第３のサブルーチンを呼び出すための第２の関数呼び出しをさらに含む、前記実行すること、
前記第１のタスクセクションが前記第１のタスクを実行するのを待っている保留状態及び前記第１のタスクセクションが前記第１のタスクを実行することを防止された抑制状態を含む１組の可能な状態から選択された前記第１のタスクの状態を示す状態情報を記憶すること、並びに
前記第２のタスクに対応する前記第２のサブルーチンを実行することであって、前記第２のサブルーチンが、前記第２のタスクを実行するための第２のタスクセクション、及び記憶された状態情報によって示される前記第１のタスクの前記状態に少なくとも部分的に基づいて前記第２のタスクセクションの実行を制御する第２の制御セクションを含む、前記実行することを含む、前記コンピューティングシステム。
【請求項１２】
上流のノードから下流のノードへの制御有向辺が、部分的な順序で前記上流のノードによって表されるタスクが前記下流のノードによって表される別のタスクに先立つことを示す、請求項１１に記載のコンピューティングシステム。
【請求項１３】
１組の可能な状態が、第１のタスクセクションが第１のタスクを実行し終えた完了状態又は前記第１のタスクセクションが前記第１のタスクを実行する過程にあるアクティブ状態のうちの１又は２以上をさらに含む、請求項１１に記載のコンピューティングシステム。
【請求項１４】
第２のサブルーチンの第２の制御セクションの論理が、第２のタスクセクションが呼び出されるか否かをフラグの値に基づいて判定する、請求項１１に記載のコンピューティングシステム。
【請求項１５】
第２のサブルーチンの第２の制御セクションの論理が、第２のタスクを表すノードに制御有向辺によって接続されるノードによって表されるすべてのタスクが抑制状態にある場合、第２のタスクセクションが呼び出されないと判定する、請求項１１に記載のコンピューティングシステム。
【請求項１６】
第２のサブルーチンの第２の制御セクションの論理が、第２のタスクを表すノードに制御有向辺によって接続されるノードによって表される少なくとも１つのタスクが完了状態にあり、前記第２のタスクを表すノードに制御有向辺によって接続されるノードによって表されるタスクのいずれも保留状態にない場合、第２のタスクセクションが呼び出されると判定する、請求項１１に記載のコンピューティングシステム。
【請求項１７】
第２のサブルーチンの第２の制御セクションが、抑制状態を１又は２以上のその他のタスクに伝播させるために、記憶される状態情報を判定する論理を含む、請求項１１に記載のコンピューティングシステム。
【請求項１８】
１群の複数のタスクの各々の状態情報が、前記１群の複数のタスクの前記各々のそれぞれ１つによって記憶され、第２のサブルーチンに含まれる第２の制御セクションによってアクセスされる、請求項１１に記載のコンピューティングシステム。
【請求項１９】
第２のタスクが、第２のタスクセクションが呼び出されるかどうかを前記第２のタスクに関連するアクティベーションカウンタに基づいて判定し、前記アクティベーションカウンタが、複数のタスクの状態の変化に応じて調整されるカウンタ値を含み、前記第２のタスクを実行することが、調整されたアクティベーションカウンタが所定の値に一致することに応じて前記第２のタスクを実行することを含む、請求項１１に記載のコンピューティングシステム。
【請求項２０】
第２のタスクの実行を続けるように構成されたスポーニングされた第２のプロセスが、前記第２のタスクに関連するスタックフレームを取得し、前記スタックフレームに保有されたリターンポインタを取り除くように構成される、請求項１１に記載のコンピューティングシステム。
【請求項２１】
タスクを制御するための、コンピュータ可読ストレージ媒体に記憶されたコンピュータプログラムであって、コンピューティングシステムに請求項１〜１０のいずれかに記載の方法を実行させるための命令を含む、前記コンピュータプログラム。
【請求項２２】
タスクを制御するためのコンピューティングシステムであって、
グラフに基づくプログラムの仕様に関するデータ構造を記憶するデータストレージシステムと、
請求項１〜１０のいずれかに記載の方法を実行するように構成された少なくとも１つのプロセッサとを含む、前記コンピューティングシステム。