JP7394211B2 - スマートコントラクトの並行実行の方法、装置、機器、及び媒体 - Google Patents
スマートコントラクトの並行実行の方法、装置、機器、及び媒体 Download PDFInfo
- Publication number
- JP7394211B2 JP7394211B2 JP2022510861A JP2022510861A JP7394211B2 JP 7394211 B2 JP7394211 B2 JP 7394211B2 JP 2022510861 A JP2022510861 A JP 2022510861A JP 2022510861 A JP2022510861 A JP 2022510861A JP 7394211 B2 JP7394211 B2 JP 7394211B2
- Authority
- JP
- Japan
- Prior art keywords
- contract
- transaction
- smart
- call
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 282
- 238000004458 analytical method Methods 0.000 claims description 25
- 230000002688 persistence Effects 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Description
本願は、2019年8月19日に出願され、出願番号が201910764308.6であり、名称が「Javaスマートコントラクトに基づく並行実行方法」である中国特許出願、及び2019年11月27日に出願され、出願番号が201911180710.6であり、名称が「Javaスマートコントラクトに基づく単一なコントラクト並行実行の方法、装置、機器、及び媒体」である中国特許出願の優先権を主張し、その全体が参照により本明細書に組み込まれる。
Javaスマートコントラクトにおけるメソッドに@Parallel註釈が付いたか否かを判断し、@Parallel註釈付きのJavaスマートコントラクトのメソッドのJavaバイトコードを分析して、登録成功の並行実行可能なコントラクトメソッドに属するか否かを判断するための登録モジュールと、
コントラクト呼び出しが開始される際に、まず呼び出されるコントラクトに登録成功の並行実行可能なコントラクトメソッドがあるか否かを取得し、現在のブロックに並行実行可能なコントラクトメソッドを呼び出す取引が複数ある場合、スマートコントラクト実行器は、取引中にコントラクトメソッドに伝達されるパラメータを分析し、呼び出されるコントラクトのパラメータが異なる場合、該コントラクトメソッドを並行に実行させ、パラメータが同じである場合、ブロックにおける取引の順序に基づいて依存関係を構築し、DAGグラフを生成し、これにより優先順位を決定する解析モジュールと、を含む。
Claims (16)
- スマートコントラクトの並行実行の方法において、前記スマートコントラクトはクロスコントラクト呼び出しの註釈を含み、該方法は具体的に、
第一の取引におけるスマートコントラクトをロードし、反射によって前記第一の取引におけるスマートコントラクトのクロスコントラクト呼び出しの註釈を取得し、前記クロスコントラクト呼び出しの註釈に対応するクロスコントラクト呼び出しアドレスを取得し、前記クロスコントラクト呼び出しアドレスに対応するスマートコントラクトをロードし、前記第一の取引により呼び出されるコントラクトアドレスを先頭アドレスとするクロスコントラクト呼び出しリンクテーブルを再帰的に取得するステップと、
前記第一の取引を含む実行対象取引における各取引のクロスコントラクト呼び出しリンクテーブル及び前記実行対象取引における各スマートコントラクトのコントラクトタイプに応じて、前記取引の呼び出し依存関係を特定し、前記呼び出し依存関係に基づいて実行中に相互に影響しない取引呼び出しリンクを得るステップと、
複数の仮想マシンのインスタンスにおいて前記取引呼び出しリンクを並行に実行させるステップであって、前記仮想マシンのインスタンスごとに1つの前記取引呼び出しリンクを実行させ、実行結果を返すことを含むステップと、を含む
ことを特徴とするスマートコントラクトの並行実行の方法。 - 前記コントラクトタイプが呼び出しコントラクトおよびデプロイコントラクトを含み、
実行対象取引における各取引のクロスコントラクト呼び出しリンクテーブル及び前記実行対象取引における各スマートコントラクトのコントラクトタイプに応じて、前記取引の呼び出し依存関係を特定するステップは、
前記第一の取引の前記コントラクトタイプが前記呼び出しコントラクトである場合、前記クロスコントラクト呼び出しリンクテーブルに第二の取引におけるスマートコントラクトが含まれると、前記第二の取引と第一の取引を同一の前記取引呼び出しリンクに入れるステップと、
前記第一の取引の前記コントラクトタイプが前記デプロイコントラクトである場合、前記第一の取引が単独で前記取引呼び出しリンクを構成させるステップと、を含む
ことを特徴とする請求項1に記載のスマートコントラクトの並行実行の方法。 - 反射によって前記第一の取引におけるスマートコントラクトのクロスコントラクト呼び出しの註釈を取得したステップの後に、
前記クロスコントラクト呼び出しの註釈に対応するクロスコントラクト呼び出しアドレスを取得し、前記クロスコントラクト呼び出しアドレスに対応するコントラクトソースコードを台帳データベースから取得し、前記コントラクトソースコードをロードするステップを含み、ただし、複数の前記コントラクトソースコードをロードする方法が一致である
ことを特徴とする請求項1または2に記載のスマートコントラクトの並行実行の方法。 - 実行対象取引における各取引のクロスコントラクト呼び出しリンクテーブル及び前記実行対象取引における各スマートコントラクトのコントラクトタイプに応じて、前記取引の呼び出し依存関係を特定するステップは、
前記実行対象取引における各取引の前記クロスコントラクト呼び出しリンクテーブルをトラバーサルし、各前記クロスコントラクト呼び出しリンクテーブルに含まれるすべてのコントラクトアドレス、および前記実行対象取引におけるスマートコントラクトのコントラクトタイプに基づいて、前記取引の呼び出し依存関係を特定するステップを含む
ことを特徴とする請求項1または2に記載のスマートコントラクトの並行実行の方法。 - 前記仮想マシンのインスタンスごとに1つの前記取引呼び出しリンクを実行させたステップの後に、
すべての前記仮想マシンのインスタンスにおいて前記取引呼び出しリンクの実行が終了してから、前記実行結果を返し、仮想マシンのうちの1つにおいて所定の時間内に前記実行結果が返られない場合、前記仮想マシンで実行されるすべての取引が不正であると判定するステップを含む
ことを特徴とする請求項1または2に記載のスマートコントラクトの並行実行の方法。 - 前記呼び出し依存関係に基づいて実行中に相互に影響しない取引呼び出しリンクを得るステップの前に、
前記取引呼び出しリンクにおけるスマートコントラクトを呼び出す場合、反射によって前記スマートコントラクトにおけるメソッドのメソッド註釈を取得し、前記メソッド註釈に所定の第1註釈が付いている場合、前記スマートコントラクトのメソッドバイトコードに基づいて、前記スマートコントラクトに登録成功の並行実行可能なコントラクトメソッドがあるか否かを判断するステップと、
前記登録成功の並行実行可能なコントラクトメソッドが複数の取引により呼び出される場合、前記取引における前記コントラクトメソッドの呼び出しパラメータを分析し、前記呼び出しパラメータが異なる場合、前記コントラクトメソッドを並行に実行させ、前記呼び出しパラメータが同じ場合、前記取引の順序に応じて依存関係を構築し、有向非巡回グラフ(Directed Acyclic Graph)を生成して前記取引の優先順位を決定するステップと、を含む
ことを特徴とする請求項1に記載のスマートコントラクトの並行実行の方法。 - 前記スマートコントラクトにおけるメソッドは、コントラクトクラスのメンバメソッドに属する
ことを特徴とする請求項6に記載のスマートコントラクトの並行実行の方法。 - 反射によって前記スマートコントラクトにおけるメソッドのメソッド註釈を取得し、前記メソッド註釈に所定の第1註釈が付いている場合、前記スマートコントラクトのメソッドバイトコードに基づいて、前記スマートコントラクトに登録成功の並行実行可能なコントラクトメソッドがあるか否かを判断するステップは、
コントラクト実行エンジンは、java反射によって前記コントラクトクラスのメンバメソッドを走査し、前記コントラクトクラスのメンバメソッドが所定の第1註釈を有することを走査した場合、前記コントラクトのメンバメソッドにバイトコード検査を行い、前記コントラクトのメンバメソッドが登録成功の並行実行可能なコントラクトメソッドに属するかどうかを判定するステップ、を含む
ことを特徴とする請求項7に記載のスマートコントラクトの並行実行の方法。 - 前記スマートコントラクトのメソッドバイトコードに基づいて前記スマートコントラクトに登録成功の並行実行可能なコントラクトメソッドがあるか否かを判断するステップは、
所定の第1註釈付きのスマートコントラクトのメソッドのメソッドパラメータ数とタイプを取得するステップであって、前記スマートコントラクトのメソッドにおいて、現在のメソッドスタックフレームのローカル変数テーブルから前記パラメータが取得されるステップと、
前記メソッドパラメータを解析し、メソッドバイトコードにおいて、前記メソッドパラメータがタイプ変更の命令に操作されることがあり、又はパラメータとして他のメソッドを呼び出すことがある場合、登録失敗と判定するステップと、
前記パラメータが所定の第2註釈の永続化変数のみに使用されることではない場合、登録失敗と判定するステップと、を含む
ことを特徴とする請求項6に記載のスマートコントラクトの並行実行の方法。 - 前記スマートコントラクトのメソッドバイトコードに基づいて前記スマートコントラクトに前記登録成功の並行実行可能なコントラクトメソッドがあるか否かを判断したステップの後に、
前記スマートコントラクトに登録成功の並行実行可能なコントラクトメソッドがある場合、前記コントラクトメソッドの名称、メソッドパラメータの数、およびメソッドパラメータのタイプを含むメソッド署名を、前記コントラクトメソッドの状態データに保存するステップを含む
ことを特徴とする請求項6に記載のスマートコントラクトの並行実行の方法。 - 前記呼び出しパラメータが同じである場合、前記取引の順序に基づいて依存関係を構築し、有向非巡回グラフを生成して前記取引の優先順位を決定するステップは、
有向非巡回グラフ(Directed Acyclic Graph)を構築することで前記依存関係を構築し、番号の後の取引と番号の前の取引パラメータが同じである場合、前記有向非巡回グラフ(Directed Acyclic Graph)において前記番号の後の取引に向かう依存エッジを、前記番号の前の取引によって構築するステップを含み、ただし、前記番号とは、前記取引がパッキングされる順序を示す
ことを特徴とする請求項6に記載のスマートコントラクトの並行実行の方法。 - スマートコントラクトの並行実行の方法において、前記スマートコントラクトはクロスコントラクト呼び出しの註釈を含み、該方法は具体的に、
ブロックチェーンノードは、パッケージされた取引を受信して実行すると、まず、取引で指定されるコントラクトアドレスに基づいて、対応するコントラクトソースコードを台帳データベースから取り出してロードする第一ステップと、
ロードされた全てのコントラクトについて、反射によってコントラクトにクロスコントラクト呼び出しの註釈があるか否かを取得し、註釈がある場合、クロスコントラクト呼び出しのアドレスを取り出し、対応するソースコードを台帳データベースから取り出してロードし、コントラクトにおけるクロスコントラクト呼び出しのアドレスの分析を再帰的に行い、最後に、取引ごとに現在の取引に呼び出されるコントラクトアドレスを先頭アドレスとするクロスコントラクト呼び出しリンクテーブルを取得する第二ステップと、
得られたすべての取引に対応するコントラクトの呼び出しリンクに基づいて、すべての取引に対する呼び出し依存関係分析を行い、取引のコントラクトが呼び出しコントラクトであれば、第二ステップで取得されたこのコントラクトに対応するコントラクト呼び出しリンクをトラバーサルし、コントラクト呼び出しリンクに他の取引に係るコントラクトが含まれていれば、その2つの取引を1つの取引呼び出しリンクに入れて、そうでなければ、この取引を単独で1つの取引呼び出しリンクとし、取引のコントラクトがデプロイコントラクトであれば、直接でこの取引を単独で取引呼び出しリンクとして扱い、すべての取引の依存関係分析を行った後、最終的には、実行が相互に影響しない複数の取引呼び出しリンクを得る第三ステップと、
第三ステップで得られた実行が相互に影響しない複数の取引呼び出しリンクを、予め起動された複数の仮想マシンのインスタンスに入れて並行に実行させ、仮想マシンごとに1つの取引リンクを実行させ、単一の仮想マシン内部では直列に実行させ、すべての仮想マシンでのリンク実行が終了した後、結果を収集してから上位層に返して他の操作を行う第四ステップと、を含む
を特徴をとするスマートコントラクトの並行実行の方法。 - 前記第二ステップにおいて、クロスコントラクト呼び出しリンクテーブルは、現在の取引実行に係る全てのコントラクトアドレスを含み、その長さは少なくとも1である
ことを特徴とする請求項12に記載のスマートコントラクトの並行実行の方法。 - 前記第二ステップにおいて、取得された複数のコントラクトソースコードをロードする方法は一致する
ことを特徴とする請求項12に記載のスマートコントラクトの並行実行の方法。 - 前記第三ステップにおいて、分析比較する時に、他のすべての取引に係るすべてのコントラクトアドレスと比較しなければならず、つまりトラバーサル中に初めて同一のアドレスが見つかった後、直接終了するのではなく、トラバーサルし続けて全てのものを見つける
ことを特徴とする請求項12に記載のスマートコントラクトの並行実行の方法。 - 前記第四ステップにおいて、結果を収集する時に、すべての仮想マシンの実行が完了すると実行結果を返し、所定の時間内に戻さない仮想マシンがある場合、この仮想マシンによって実行されるすべての取引が不正であると直接判定する
ことを特徴とする請求項12に記載のスマートコントラクトの並行実行の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910764308.6 | 2019-08-19 | ||
CN201910764308.6A CN110532038B (zh) | 2019-08-19 | 2019-08-19 | 一种基于Java智能合约的并行执行方法 |
CN201911180710.6 | 2019-11-27 | ||
CN201911180710.6A CN110968437A (zh) | 2019-11-27 | 2019-11-27 | 一种基于Java智能合约的单个合约并行执行的方法、装置、设备及介质 |
PCT/CN2020/109984 WO2021032115A1 (zh) | 2019-08-19 | 2020-08-19 | 智能合约并行执行的方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022545422A JP2022545422A (ja) | 2022-10-27 |
JP7394211B2 true JP7394211B2 (ja) | 2023-12-07 |
Family
ID=74659966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022510861A Active JP7394211B2 (ja) | 2019-08-19 | 2020-08-19 | スマートコントラクトの並行実行の方法、装置、機器、及び媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220292082A1 (ja) |
JP (1) | JP7394211B2 (ja) |
WO (1) | WO2021032115A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11936794B2 (en) * | 2021-09-16 | 2024-03-19 | Masterard International Incorporated | Method and system for parallel processing of smart contracts in permissioned blockchains |
CN113869902A (zh) * | 2021-12-03 | 2021-12-31 | 深圳前海微众银行股份有限公司 | 一种区块链交易执行方法及装置 |
CN115150409A (zh) * | 2022-06-29 | 2022-10-04 | 蚂蚁区块链科技(上海)有限公司 | 在区块链系统中执行交易的方法、区块链系统和节点 |
CN116382815B (zh) * | 2023-06-05 | 2023-10-10 | 安徽中科晶格技术有限公司 | 基于dag模型的合约并行化方法 |
CN116719627B (zh) * | 2023-08-09 | 2024-01-19 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
CN117350724B (zh) * | 2023-12-04 | 2024-03-15 | 安徽中科晶格技术有限公司 | 基于账户链的智能合约运行方法、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019072305A2 (en) | 2018-12-28 | 2019-04-18 | Alibaba Group Holding Limited | PARALLEL EXECUTION OF TRANSACTIONS IN A BLOCK CHAIN NETWORK BASED ON WHITE LISTS OF INTELLIGENT CONTRACTS |
WO2019072283A2 (en) | 2018-11-27 | 2019-04-18 | Alibaba Group Holding Limited | SYSTEM AND METHOD FOR ENHANCING THE SECURITY OF AN INTELLIGENT CONTRACT ON A BLOCK CHAIN |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109636592B (zh) * | 2017-10-20 | 2023-02-28 | 北京航空航天大学 | 高性能智能合约设计 |
CN108537543B (zh) * | 2018-03-30 | 2023-07-28 | 百度在线网络技术(北京)有限公司 | 区块链数据的并行处理方法、装置、设备和存储介质 |
CN108595157B (zh) * | 2018-04-28 | 2022-05-10 | 百度在线网络技术(北京)有限公司 | 区块链数据的处理方法、装置、设备和存储介质 |
WO2019072310A2 (en) * | 2018-12-29 | 2019-04-18 | Alibaba Group Holding Limited | SYSTEM AND METHOD FOR IMPLEMENTING NATIVE CONTRACT ON BLOCK CHAIN |
CN110968437A (zh) * | 2019-11-27 | 2020-04-07 | 杭州趣链科技有限公司 | 一种基于Java智能合约的单个合约并行执行的方法、装置、设备及介质 |
CN110532038B (zh) * | 2019-08-19 | 2021-07-30 | 杭州趣链科技有限公司 | 一种基于Java智能合约的并行执行方法 |
-
2020
- 2020-08-19 JP JP2022510861A patent/JP7394211B2/ja active Active
- 2020-08-19 US US17/636,366 patent/US20220292082A1/en active Pending
- 2020-08-19 WO PCT/CN2020/109984 patent/WO2021032115A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019072283A2 (en) | 2018-11-27 | 2019-04-18 | Alibaba Group Holding Limited | SYSTEM AND METHOD FOR ENHANCING THE SECURITY OF AN INTELLIGENT CONTRACT ON A BLOCK CHAIN |
WO2019072305A2 (en) | 2018-12-28 | 2019-04-18 | Alibaba Group Holding Limited | PARALLEL EXECUTION OF TRANSACTIONS IN A BLOCK CHAIN NETWORK BASED ON WHITE LISTS OF INTELLIGENT CONTRACTS |
Also Published As
Publication number | Publication date |
---|---|
US20220292082A1 (en) | 2022-09-15 |
WO2021032115A1 (zh) | 2021-02-25 |
JP2022545422A (ja) | 2022-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7394211B2 (ja) | スマートコントラクトの並行実行の方法、装置、機器、及び媒体 | |
CN109976761B (zh) | 软件开发工具包的生成方法、装置及终端设备 | |
JP5989097B2 (ja) | 高度並行処理タスクの登録及び実行 | |
US20080313610A1 (en) | Discoscript: a simplified distributed computing scripting language | |
CN110968437A (zh) | 一种基于Java智能合约的单个合约并行执行的方法、装置、设备及介质 | |
US20170090884A1 (en) | Automatic determination of compiler configuration | |
US10083029B2 (en) | Detect application defects by correlating contracts in application dependencies | |
US20190050209A1 (en) | Method and system to develop, deploy, test, and manage platform-independent software | |
US20190391809A1 (en) | Programs with serializable state | |
Khatchadourian et al. | [Engineering Paper] A Tool for Optimizing Java 8 Stream Software via Automated Refactoring | |
Mäkitalo et al. | Bringing webassembly up to speed with dynamic linking | |
US8412744B2 (en) | Visualization of runtime analysis across dynamic boundaries | |
US9064042B2 (en) | Instrumenting computer program code by merging template and target code methods | |
Singh et al. | Parallel chopped symbolic execution | |
CN111259042B (zh) | 一种动态查询方法及系统 | |
CN116166547A (zh) | 代码变更范围分析方法、装置、设备、存储介质 | |
US11947966B2 (en) | Identifying computer instructions enclosed by macros and conflicting macros at build time | |
US11573777B2 (en) | Method and apparatus for enabling autonomous acceleration of dataflow AI applications | |
JP7410269B2 (ja) | テスト・ベクタを使用した高水準コンストラクトの最適化の自動検証 | |
US10936290B2 (en) | Compile-time folding of assumed constant values | |
Soleimanifard et al. | Procedure-modular specification and verification of temporal safety properties | |
CN114072762A (zh) | 将源代码编译和执行为服务 | |
CN114091111B (zh) | 一种区块链智能合约的存储方法及装置 | |
US11157252B2 (en) | Assessment of the benefit of post-inlining program transformation in inlining decisions | |
US20230029250A1 (en) | Type inference in dynamic languages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230322 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230616 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230926 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231031 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231127 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7394211 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |