【手続補正書】
【提出日】令和2年7月29日(2020.7.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実行される、ブロックチェーンネットワーク内のファンクションアズアサービス(FaaS)プラットフォームを提供するコンピュータ実装方法であって、
前記ブロックチェーンネットワーク内の第1のブロックチェーンノードが、前記ブロックチェーンネットワーク内の前記第1のブロックチェーンノードまたは第2のブロックチェーンノードに関連するスマートコントラクトを使用してトランザクションを実行するための要求を開始するステップと、
前記スマートコントラクトが、前記トランザクションを実行するための前記要求を受信するステップと、
前記スマートコントラクトが、実行されるべき前記トランザクションの第1の関数を決定するステップと、
前記ブロックチェーンネットワーク内で実行する第1の関数コントローラが、前記トランザクションの前記第1の関数を実行するための第1の関数呼出しを前記スマートコントラクトから受信するステップであって、前記第1の関数呼出しが実行のための前記第1の関数呼出しのデータを含む、受信するステップと、
前記第1の関数コントローラが、実行のための前記第1の関数呼出しの前記データを第1の関数構成要素に送信するステップと、
前記第1の関数構成要素が、実行のための前記第1の関数呼出しの前記データに基づいて前記トランザクションの前記第1の関数を実行するステップと、
前記第1の関数コントローラが、第1の関数実行結果を前記第1の関数構成要素から受信するステップと、
前記スマートコントラクトによる前記第1の関数実行結果に少なくとも部分的に基づく前記トランザクションの実行の前に、前記第1の関数コントローラが、前記第1の関数実行結果を前記スマートコントラクトに提供するステップと
を含む、コンピュータ実装方法。
【請求項２】
前記第1の関数呼出しが、前記トランザクションの前記第1の関数のアドレスおよび前記トランザクションの前記第1の関数のバージョン識別子をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項３】
前記トランザクションの前記第1の関数の前記バージョン識別子が、前記トランザクションの前記第1の関数の最新バージョンが実行されるべきであることを指示するヌルである、請求項2に記載のコンピュータ実装方法。
【請求項４】
前記第1の関数コントローラが、前記第1の関数呼出しに応じて実行された前記トランザクションの前記第1の関数のバージョンに関連する統計を更新するステップをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項５】
前記統計が、前記トランザクションの前記第1の関数の各バージョンが実行されている回数を指示する、請求項4に記載のコンピュータ実装方法。
【請求項６】
前記ブロックチェーンネットワーク内で実行する第2の関数コントローラが、前記トランザクションの第2の関数を実行するための第2の関数呼出しを前記スマートコントラクトから受信するステップであって、前記第2の関数呼出しが実行のための前記第2の関数呼出しのデータを含み、前記トランザクションの前記第2の関数が前記トランザクションの前記第1の関数とは異なり、前記第2の関数コントローラが前記第1の関数コントローラとは異なる、受信するステップと、
前記第2の関数コントローラが、実行のための前記第2の関数呼出しの前記データを第2の関数構成要素に送信するステップであって、前記第2の関数構成要素が前記第1の関数構成要素とは異なる、送信するステップと、
前記第2の関数構成要素が、実行のための前記第2の関数呼出しの前記データに基づいて前記トランザクションの前記第2の関数を実行するステップと、
前記第2の関数コントローラが、第2の関数実行結果を前記第2の関数構成要素から受信するステップと、
前記スマートコントラクトによる前記第2の関数実行結果に少なくとも部分的に基づく前記トランザクションの実行の前に、前記第2の関数コントローラが、前記第2の関数実行結果を前記スマートコントラクトに提供するステップと
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項７】
前記トランザクションの前記第1の関数および前記トランザクションの前記第2の関数が異なるプロバイダによって提供される、請求項6に記載のコンピュータ実装方法。
【請求項８】
1つまたは複数のコンピュータにブロックチェーンネットワーク内でファンクションアズアサービス(FaaS)プラットフォームを提供する動作を実行させる1つまたは複数のコンピュータによって実行される命令で符号化された1つまたは複数の非一時的コンピュータ可読記憶媒体であって、前記動作が、
前記ブロックチェーンネットワーク内の第1のブロックチェーンノードが、前記ブロックチェーンネットワーク内の前記第1のブロックチェーンノードまたは第2のブロックチェーンノードに関連するスマートコントラクトを使用してトランザクションを実行するための要求を開始することと、
前記スマートコントラクトが、前記トランザクションを実行するための前記要求を受信することと、
前記スマートコントラクトが、実行されるべき前記トランザクションの第1の関数を決定することと、
前記ブロックチェーンネットワーク内で実行する第1の関数コントローラが、前記トランザクションの前記第1の関数を実行するための第1の関数呼出しを前記スマートコントラクトから受信することであって、前記第1の関数呼出しが実行のための前記第1の関数呼出しのデータを含む、受信することと、
前記第1の関数コントローラが、実行のための前記第1の関数呼出しの前記データを第1の関数構成要素に送信することと、
前記第1の関数構成要素が、実行のための前記第1の関数呼出しの前記データに基づいて前記トランザクションの前記第1の関数を実行することと、
前記第1の関数コントローラが、第1の関数実行結果を前記第1の関数構成要素から受信することと、
前記スマートコントラクトによる前記第1の関数実行結果に少なくとも部分的に基づく前記トランザクションの実行の前に、前記第1の関数コントローラが、前記第1の関数実行結果を前記スマートコントラクトに提供することと
を含む、1つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項９】
前記第1の関数呼出しが、前記トランザクションの前記第1の関数のアドレスおよび前記トランザクションの前記第1の関数のバージョン識別子をさらに含む、請求項8に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１０】
前記トランザクションの前記第1の関数の前記バージョン識別子が、前記トランザクションの前記第1の関数の最新バージョンが実行されるべきであることを指示するヌルである、請求項9に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１１】
前記動作が、前記第1の関数コントローラが、前記第1の関数呼出しに応じて実行された前記トランザクションの前記第1の関数のバージョンに関連する統計を更新することをさらに含む、請求項8に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記統計が、前記トランザクションの前記第1の関数の各バージョンが実行されている回数を指示する、請求項11に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記動作が、
前記ブロックチェーンネットワーク内で実行する第2の関数コントローラが、前記トランザクションの第2の関数を実行するための第2の関数呼出しを前記スマートコントラクトから受信することであって、前記第2の関数呼出しが実行のための前記第2の関数呼出しのデータを含み、前記トランザクションの前記第2の関数が前記トランザクションの前記第1の関数とは異なり、前記第2の関数コントローラが前記第1の関数コントローラとは異なる、受信することと、
前記第2の関数コントローラが、実行のための前記第2の関数呼出しの前記データを第2の関数構成要素に送信することであって、前記第2の関数構成要素が前記第1の関数構成要素とは異なる、送信することと、
前記第2の関数構成要素が、実行のための前記第2の関数呼出しの前記データに基づいて前記トランザクションの前記第2の関数を実行することと、
前記第2の関数コントローラが、第2の関数実行結果を前記第2の関数構成要素から受信することと、
前記スマートコントラクトによる前記第2の関数実行結果に少なくとも部分的に基づく前記トランザクションの実行の前に、前記第2の関数コントローラが、前記第2の関数実行結果を前記スマートコントラクトに提供することと
をさらに含む、請求項8に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１４】
前記トランザクションの前記第1の関数および前記トランザクションの前記第2の関数が異なるプロバイダによって提供される、請求項13に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１５】
システムであって、
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータに結合され、ブロックチェーンネットワーク内でファンクションアズアサービス(FaaS)プラットフォームを提供する動作を実行するために前記1つまたは複数のコンピュータによって実行される命令で記憶された、1つまたは複数のメモリと
を備え、前記動作が、
前記ブロックチェーンネットワーク内の第1のブロックチェーンノードが、前記ブロックチェーンネットワーク内の前記第1のブロックチェーンノードまたは第2のブロックチェーンノードに関連するスマートコントラクトを使用してトランザクションを実行するための要求を開始することと、
前記スマートコントラクトが、前記トランザクションを実行するための前記要求を受信することと、
前記スマートコントラクトが、実行されるべき前記トランザクションの第1の関数を決定することと、
前記ブロックチェーンネットワーク内で実行する第1の関数コントローラが、前記トランザクションの前記第1の関数を実行するための第1の関数呼出しを前記スマートコントラクトから受信することであって、前記第1の関数呼出しが実行のための前記第1の関数呼出しのデータを含む、受信することと、
前記第1の関数コントローラが、実行のための前記第1の関数呼出しの前記データを第1の関数構成要素に送信することと、
前記第1の関数構成要素が、実行のための前記第1の関数呼出しの前記データに基づいて前記トランザクションの前記第1の関数を実行することと、
前記第1の関数コントローラが、第1の関数実行結果を前記第1の関数構成要素から受信することと、
前記スマートコントラクトによる前記第1の関数実行結果に少なくとも部分的に基づく前記トランザクションの実行の前に、前記第1の関数コントローラが、前記第1の関数実行結果を前記スマートコントラクトに提供することと
を含む、システム。
【請求項１６】
前記第1の関数呼出しが、前記トランザクションの前記第1の関数のアドレスおよび前記トランザクションの前記第1の関数のバージョン識別子をさらに含む、請求項15に記載のシステム。
【請求項１７】
前記トランザクションの前記第1の関数の前記バージョン識別子が、前記トランザクションの前記第1の関数の最新バージョンが実行されるべきであることを指示するヌルである、請求項16に記載のシステム。
【請求項１８】
前記動作が、前記第1の関数コントローラが、前記第1の関数呼出しに応じて実行された前記トランザクションの前記第1の関数のバージョンに関連する統計を更新することをさらに含む、請求項15に記載のシステム。
【請求項１９】
前記統計が、前記トランザクションの前記第1の関数の各バージョンが実行されている回数を指示する、請求項18に記載のシステム。
【請求項２０】
前記動作が、
前記ブロックチェーンネットワーク内で実行する第2の関数コントローラが、前記トランザクションの第2の関数を実行するための第2の関数呼出しを前記スマートコントラクトから受信することであって、前記第2の関数呼出しが実行のための前記第2の関数呼出しのデータを含み、前記トランザクションの前記第2の関数が前記トランザクションの前記第1の関数とは異なり、前記第2の関数コントローラが前記第1の関数コントローラとは異なる、受信することと、
前記第2の関数コントローラが、実行のための前記第2の関数呼出しの前記データを第2の関数構成要素に送信することであって、前記第2の関数構成要素が前記第1の関数構成要素とは異なる、送信することと、
前記第2の関数構成要素が、実行のための前記第2の関数呼出しの前記データに基づいて前記トランザクションの前記第2の関数を実行することと、
前記第2の関数コントローラが、第2の関数実行結果を前記第2の関数構成要素から受信することと、
前記スマートコントラクトによる前記第2の関数実行結果に少なくとも部分的に基づく前記トランザクションの実行の前に、前記第2の関数コントローラが、前記第2の関数実行結果を前記スマートコントラクトに提供することと
をさらに含む、請求項15に記載のシステム。
【請求項２１】
前記トランザクションの前記第1の関数および前記トランザクションの前記第2の関数が異なるプロバイダによって提供される、請求項20に記載のシステム。