JP6329329B2 - コード・キャッシング・システム - Google Patents
コード・キャッシング・システム Download PDFInfo
- Publication number
- JP6329329B2 JP6329329B2 JP2017551130A JP2017551130A JP6329329B2 JP 6329329 B2 JP6329329 B2 JP 6329329B2 JP 2017551130 A JP2017551130 A JP 2017551130A JP 2017551130 A JP2017551130 A JP 2017551130A JP 6329329 B2 JP6329329 B2 JP 6329329B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- source code
- execution
- cache
- secondary source
- 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 claims description 43
- 238000013515 script Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 17
- 230000009471 action Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 58
- 238000005516 engineering process Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 24
- 238000012545 processing Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 15
- 238000012790 confirmation Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
-
- 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/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Devices For Executing Special Programs (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
Description
用語解説
抽象化する(抽象化):抽象化とは、オブジェクト(たとえば、コード)および実行コンテキストに特有である他のオブジェクト内にあるメモリ・アドレスへの参照を、オブジェクトが新しい実行コンテキスト内で再生成されるように、参照(例えば、リロケーション・データ)を再生成するための命令に置き換えるプロセスである。
実行可能コード:実行可能コードとは、コンピュータによって実行可能であって、ソース・コードをパースおよびコンパイルすることによって生成される、1組のマシン言語命令である。
Claims (21)
- 1以上のプロセッサと、
命令が記憶されている機械可読媒体と、を備え、前記命令は前記1以上のプロセッサによって実行されるときに前記1以上のプロセッサに、
実行を待機している一次ソース・コードの第1表示を受信する工程と、
前記第1表示を受信することに応じて前記一次ソース・コードに対応するキャッシュ・データがあるかリソース・キャッシュを確認する工程と、
前記リソース・キャッシュ内のキャッシュ・ミスに際し、
前記一次ソース・コードからコンパイルされた第1実行可能コードを取得する工程と、
前記一次ソース・コード内で参照された二次ソース・コードを、前記二次ソース・コードのサイズ及び前記二次ソース・コードのコンパイル時間のうちの1以上に基づいて選択する工程と、
選択された前記二次ソース・コードからコンパイルされた第2実行可能コードを取得する工程と、
前記第1実行可能コードと前記第2実行可能コードとを、複数の実行コンテキスト内で再構築されるように構成されるシリアライズ・コードにシリアライズする工程と、
前記シリアライズ・コードと、選択された前記二次ソース・コード内で参照されたオブジェクトと、選択された前記二次ソース・コード内で参照された前記オブジェクトにアクセスするためのアクセス方法と、前記オブジェクトのタイプとをキャッシュ・データとして前記リソース・キャッシュ内に記憶し、前記命令は、キャッシュされた前記オブジェクトについてキャッシュ・ヒットが生じたときであって、前記オブジェクトの前記タイプが、前記キャッシュ・ヒットに関するデータアクセスのオブジェクトのタイプに合致したとき、キャッシュされた前記オブジェクトにアクセスするために前記アクセス方法を前記1以上のプロセッサに用いさせる工程と、
選択された前記二次ソース・コードの実行履歴を取得する工程と、
選択された前記二次ソース・コードの前記実行履歴に基づいて、選択された前記二次ソース・コードを、選択された前記二次ソース・コードよりも頻繁に実行されている他の二次ソース・コードに置き換える工程と、
を含む動作を実行させる、コード・キャッシング・システム。 - 前記命令はさらに、前記1以上のプロセッサに、
第1実行コンテキスト内の前記第1実行可能コードの実行から実行結果を取得する工程であって、選択された前記二次ソース・コードは前記実行結果に基づいて選択される工程を含む動作を実行させる、
請求項1に記載のシステム。 - 選択された前記二次ソース・コードは、さらに、前記第2実行可能コードのサイズ、選択された前記二次ソース・コードが前記一次ソース・コード内で参照される予測、選択された前記二次ソース・コードが前記一次ソース・コード内で参照される回数、または選択された前記二次ソース・コードが前記一次ソース・コード内で参照される頻度のうち1以上に基づいて選択される、
請求項1に記載のシステム。 - 前記命令はさらに、前記1以上のプロセッサに、
第2実行コンテキスト内で実行を待機している前記一次ソース・コードの第2表示を受信する工程であって、前記第2表示は前記第1表示に続いて受信される工程と、
前記第2表示を受信することに応じて前記一次ソース・コードと選択された前記二次ソース・コードとに対応するキャッシュ・データがあるかリソース・キャッシュを確認する工程と、
前記リソース・キャッシュ内のキャッシュ・ヒットに際し、
前記シリアライズ・コードを含む前記キャッシュ・データを前記リソース・キャッシュから取り出す工程と、
取り出された前記シリアライズ・コードを第3実行可能コードにデシリアライズする工程と、
前記第2実行コンテキスト内における実行用の前記第3実行可能コードを提供する工程と、
を含む動作を実行させる、
請求項2に記載のシステム。 - 前記第1実行コンテキストと前記第2実行コンテキストとはコード実行用の2つの異なる仮想マシン環境である、
請求項4に記載のシステム。 - 前記一次ソース・コードはウェブ・ページ内のスクリプトであり、前記第1実行コンテキストと前記第2実行コンテキストとは前記スクリプトが実行されるウェブ・ブラウザ・セッションである、
請求項5に記載のシステム。 - 前記一次ソース・コードはウェブ・ページのトップ・レベル・スクリプトである、
請求項1に記載のシステム。 - 前記第1実行可能コードは、前記第1実行可能コードに埋め込まれたメモリ・アドレスを含む1組の参照を含み、
前記第1実行可能コードをシリアライズすることは、埋め込まれた前記メモリ・アドレスを抽象アドレスと置き換える工程を含む、
請求項1に記載のシステム。 - 1以上のプロセッサと、
命令が記憶されている機械可読媒体と、を備え、前記命令は前記1以上のプロセッサによって実行されるときに前記1以上のプロセッサに、
実行を待機している一次ソース・コードの第1表示を受信する工程と、
前記第1表示を受信することに応じて前記一次ソース・コードに対応するキャッシュ・データがあるかリソース・キャッシュを確認する工程と、
前記リソース・キャッシュ内のキャッシュ・ミスに際し、
前記一次ソース・コードからコンパイルされた第1実行可能コードを取得する工程と、
前記一次ソース・コード内で参照された二次ソース・コードを、前記二次ソース・コードのサイズ及び前記二次ソース・コードのコンパイル時間のうちの1以上に基づいて選択する工程と、
選択された前記二次ソース・コードからコンパイルされた第2実行可能コードを取得する工程と、
前記一次ソース・コードのサイズ、所定期間内で前記一次ソース・コードが実行される回数もしくは頻度、または前記一次ソース・コードのコンパイル時間のうち1つ以上に基づいて、前記第1実行可能コードと前記第2実行可能コードとを、複数の実行コンテキスト内で再構築されるように構成されるシリアライズ・コードにシリアライズする工程と、
前記シリアライズ・コードと、選択された前記二次ソース・コード内で参照されたオブジェクトと、選択された前記二次ソース・コード内で参照された前記オブジェクトにアクセスするためのアクセス方法と、前記オブジェクトのタイプとをキャッシュ・データとして前記リソース・キャッシュ内に記憶し、前記命令は、キャッシュされた前記オブジェクトについてキャッシュ・ヒットが生じたときであって、前記オブジェクトの前記タイプが、前記キャッシュ・ヒットに関するデータアクセスのオブジェクトのタイプに合致したとき、キャッシュされた前記オブジェクトにアクセスするために前記アクセス方法を前記1以上のプロセッサに用いさせる工程と、
選択された前記二次ソース・コードの実行履歴を取得する工程と、
選択された前記二次ソース・コードの前記実行履歴に基づいて、選択された前記二次ソース・コードを、選択された前記二次ソース・コードよりも頻繁に実行されている他の二次ソース・コードに置き換える工程と、
を含む動作を実行させる、コード・キャッシング・システム。 - 選択された前記二次ソース・コードは、さらに、前記第2実行可能コードのサイズ、選択された前記二次ソース・コードが前記一次ソース・コード内で参照される予測、選択された前記二次ソース・コードが前記一次ソース・コード内で参照される回数、または選択された前記二次ソース・コードが前記一次ソース・コード内で参照される頻度のうち1以上に基づいて選択される、
請求項9に記載のシステム。 - 前記命令はさらに、前記1以上のプロセッサに、
第1実行コンテキスト内の前記第1実行可能コードの実行から実行結果を取得する工程であって、選択された前記二次ソース・コードは前記実行結果に基づいて選択される工程を含む動作を実行させる、
請求項9に記載のシステム。 - 前記命令はさらに、前記1以上のプロセッサに、
第2実行コンテキスト内で実行を待機している前記一次ソース・コードの第2表示を受信する工程であって、前記第2表示は前記第1表示に続いて受信される工程と、
前記第2表示を受信することに応じて前記一次ソース・コードと選択された前記二次ソース・コードとに対応するキャッシュ・データがあるかリソース・キャッシュを確認する工程と、
前記リソース・キャッシュ内のキャッシュ・ヒットに際し、
前記シリアライズ・コードを含む前記キャッシュ・データを前記リソース・キャッシュから取り出す工程と、
取り出された前記シリアライズ・コードを第3実行可能コードにデシリアライズする工程と、
前記第2実行コンテキスト内における実行用の前記第3実行可能コードを提供する工程と、
を含む動作を実行させる、
請求項11に記載のシステム。 - 前記第1実行コンテキストと前記第2実行コンテキストとはコード実行用の2つの異なる仮想マシン環境である、
請求項12に記載のシステム。 - 前記第1実行可能コードは、前記第1実行可能コードに埋め込まれたメモリ・アドレスを含む1組の参照を含み、
前記第1実行可能コードをシリアライズすることは、埋め込まれた前記メモリ・アドレスを抽象アドレスと置き換える工程を含む、
請求項9に記載のシステム。 - 命令を含むコンピュータ可読媒体であって、前記命令はコンピュータによって実行されるときに前記コンピュータに、
実行を待機している一次ソース・コードの第1表示を受信させ、
前記第1表示を受信することに応じて前記一次ソース・コードに対応するキャッシュ・データがあるかリソース・キャッシュを確認させ、
前記リソース・キャッシュ内のキャッシュ・ミスに際し、
前記一次ソース・コードからコンパイルされた第1実行可能コードを取得させ、
第1実行コンテキスト内の前記第1実行可能コードの実行から実行結果を取得させ、
前記一次ソース・コード内で参照された二次ソース・コードを前記実行結果に基づいて、さらに、前記二次ソース・コードのサイズ及び前記二次ソース・コードのコンパイル時間のうちの1以上に基づいて選択させ、
選択された前記二次ソース・コードからコンパイルされた第2実行可能コードを取得させ、
前記第1実行可能コードと前記第2実行可能コードとを、複数の実行コンテキスト内で再構築されるように構成されるシリアライズ・コードにシリアライズさせ、
前記シリアライズ・コードと、選択された前記二次ソース・コード内で参照されたオブジェクトと、選択された前記二次ソース・コード内で参照された前記オブジェクトにアクセスするためのアクセス方法と、前記オブジェクトのタイプとをキャッシュ・データとして前記リソース・キャッシュ内に記憶させ前記命令は、キャッシュされた前記オブジェクトについてキャッシュ・ヒットが生じたときであって、前記オブジェクトの前記タイプが、前記キャッシュ・ヒットに関するデータアクセスのオブジェクトのタイプに合致したとき、キャッシュされた前記オブジェクトにアクセスするために前記アクセス方法を前記コンピュータに用いさせ、
選択された前記二次ソース・コードの実行履歴を取得させ、
選択された前記二次ソース・コードの前記実行履歴に基づいて、選択された前記二次ソース・コードを、選択された前記二次ソース・コードよりも頻繁に実行されている他の二次ソース・コードに置き換えさせる
コンピュータ可読媒体。 - 前記第1実行可能コードは、前記第1実行可能コードに埋め込まれたメモリ・アドレスを含む1組の参照を含み、
前記第1実行可能コードをシリアライズすることは、埋め込まれた前記メモリ・アドレスを抽象アドレスと置き換えることを含む、
請求項15に記載のコンピュータ可読媒体。 - 前記実行結果は、前記一次ソース・コード内で参照された選択された前記二次ソース・コードが前記一次ソース・コードの実行時に実行される回数を示す、
請求項15に記載のコンピュータ可読媒体。 - 前記命令はさらに、前記コンピュータに、
第2実行コンテキスト内で実行を待機している前記一次ソース・コードの第2表示を受信させ、前記第2表示は前記第1表示に続いて受信され、
前記第2表示を受信することに応じて前記一次ソース・コードと選択された前記二次ソース・コードとに対応するキャッシュ・データがあるかリソース・キャッシュを確認させ、
前記リソース・キャッシュ内のキャッシュ・ヒットに際し、
前記シリアライズ・コードを含む前記キャッシュ・データを前記リソース・キャッシュから取り出させ、
取り出された前記シリアライズ・コードを第3実行可能コードにデシリアライズさせ、
前記第2実行コンテキスト内における実行用の前記第3実行可能コードを提供させる、
請求項15に記載のコンピュータ可読媒体。 - 前記第1実行コンテキストと前記第2実行コンテキストとはコード実行用の2つの異なる仮想マシン環境である、
請求項18に記載のコンピュータ可読媒体。 - 前記命令はさらに、前記コンピュータに、
前記第1実行可能コードに関連付けられている第1実行プロファイルと前記第2実行可能コードに関連付けられている第2実行プロファイルとを取得させ、
前記第1実行プロファイルと第2実行プロファイルとをシリアライズさせ、
シリアライズされた前記第1実行プロファイルと前記第2実行プロファイルとを前記リソース・キャッシュ内に記憶させ、取り出された前記シリアライズ・コードをデシリアライズすることは前記第1実行プロファイルと前記第2実行プロファイルとをデシリアライズさせることを含む、
請求項18に記載のコンピュータ可読媒体。 - 命令を含むメモリと、
1以上のプロセッサと、を備え、該1以上のプロセッサは、
リソース・キャッシュ内のキャッシュ・ミスに際し、
実行を待機している一次ソース・コードからコンパイルされた第1実行可能コードを取得することと、
前記一次ソース・コード内で参照された二次ソース・コードからコンパイルされた第2実行可能コードを取得し、前記二次ソース・コードは、前記二次ソース・コードのサイズ及び前記二次ソース・コードのコンパイル時間のうちの1以上に基づいて選択されることと、
前記第1実行可能コードと前記第2実行可能コードとを、複数の実行コンテキスト内で再構築されるように構成されるシリアライズ・コードにシリアライズすることと、
前記シリアライズ・コードと、選択された前記二次ソース・コード内で参照されたオブジェクトと、選択された前記二次ソース・コード内で参照された前記オブジェクトにアクセスするためのアクセス方法と、前記オブジェクトのタイプとをキャッシュ・データとして前記リソース・キャッシュ内に記憶し、前記命令は、キャッシュされた前記オブジェクトについてキャッシュ・ヒットが生じたときであって、前記オブジェクトの前記タイプが、前記キャッシュ・ヒットに関するデータアクセスのオブジェクトのタイプに合致したとき、キャッシュされた前記オブジェクトにアクセスするために前記アクセス方法を前記1以上のプロセッサに用いさせることと、
選択された前記二次ソース・コードの実行履歴を取得することと、
選択された前記二次ソース・コードの前記実行履歴に基づいて、選択された前記二次ソース・コードを、選択された前記二次ソース・コードよりも頻繁に実行されている他の二次ソース・コードに置き換えることと、
を行うように前記命令を実行するように構成されている、コード・キャッシング・システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/726,376 US9811324B2 (en) | 2015-05-29 | 2015-05-29 | Code caching system |
US14/726,376 | 2015-05-29 | ||
PCT/US2016/024791 WO2016195790A1 (en) | 2015-05-29 | 2016-03-29 | Code caching system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018510428A JP2018510428A (ja) | 2018-04-12 |
JP6329329B2 true JP6329329B2 (ja) | 2018-05-23 |
Family
ID=57398598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017551130A Active JP6329329B2 (ja) | 2015-05-29 | 2016-03-29 | コード・キャッシング・システム |
Country Status (8)
Country | Link |
---|---|
US (1) | US9811324B2 (ja) |
EP (1) | EP3304293B1 (ja) |
JP (1) | JP6329329B2 (ja) |
KR (1) | KR101851357B1 (ja) |
CN (1) | CN107408055B (ja) |
DE (1) | DE112016002416T5 (ja) |
GB (1) | GB2553444B (ja) |
WO (1) | WO2016195790A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170123760A1 (en) * | 2015-10-30 | 2017-05-04 | AppDynamics, Inc. | Code Correction During a User Session in a Distributed Business Transaction |
US11360750B1 (en) * | 2020-12-23 | 2022-06-14 | Sony Interactive Entertainment LLC | Systems and methods for converting a legacy code into an updated code |
US12017140B2 (en) * | 2021-06-07 | 2024-06-25 | Sony Interactive Entertainment LLC | Systems and methods for emulation of graphical and audio parameters during a play of a legacy game |
CN114328061B (zh) * | 2021-12-30 | 2024-03-29 | 湖南泛联新安信息科技有限公司 | 一种用于逻辑仿真***的高性能信号监视方法 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5452457A (en) | 1993-01-29 | 1995-09-19 | International Business Machines Corporation | Program construct and methods/systems for optimizing assembled code for execution |
US5509129A (en) | 1993-11-30 | 1996-04-16 | Guttag; Karl M. | Long instruction word controlling plural independent processor operations |
US6393415B1 (en) * | 1999-03-31 | 2002-05-21 | Verizon Laboratories Inc. | Adaptive partitioning techniques in performing query requests and request routing |
US7761857B1 (en) * | 1999-10-13 | 2010-07-20 | Robert Bedichek | Method for switching between interpretation and dynamic translation in a processor system based upon code sequence execution counts |
US20060206874A1 (en) | 2000-08-30 | 2006-09-14 | Klein Dean A | System and method for determining the cacheability of code at the time of compiling |
US7640153B2 (en) * | 2001-06-04 | 2009-12-29 | Hewlett-Packard Development Company, L.P. | Networked client-server architecture for transparently transforming and executing applications |
KR100503077B1 (ko) * | 2002-12-02 | 2005-07-21 | 삼성전자주식회사 | 자바 실행 장치 및 자바 실행 방법 |
US7805710B2 (en) * | 2003-07-15 | 2010-09-28 | International Business Machines Corporation | Shared code caching for program code conversion |
US7890961B2 (en) * | 2003-08-29 | 2011-02-15 | Yahoo! Inc. | Method and apparatus for providing desktop application functionality in a client/server architecture |
US7818724B2 (en) * | 2005-02-08 | 2010-10-19 | Sony Computer Entertainment Inc. | Methods and apparatus for instruction set emulation |
US8402224B2 (en) | 2005-09-20 | 2013-03-19 | Vmware, Inc. | Thread-shared software code caches |
JP2007233472A (ja) * | 2006-02-27 | 2007-09-13 | Canon Inc | 情報処理装置、情報処理装置の制御方法および制御プログラム |
US8245202B2 (en) * | 2007-04-18 | 2012-08-14 | Sony Computer Entertainment Inc. | Processor emulation using speculative forward translation |
US8286152B2 (en) * | 2007-08-22 | 2012-10-09 | International Business Machines Corporation | Systems, methods, and computer products for just-in-time compilation for virtual machine environments for fast application startup and maximal run-time performance |
US8392881B1 (en) | 2008-05-13 | 2013-03-05 | Google Inc. | Supporting efficient access to object properties in a dynamic object-oriented programming language |
US8321850B2 (en) | 2008-06-06 | 2012-11-27 | Vmware, Inc. | Sharing and persisting code caches |
US8095507B2 (en) | 2008-08-08 | 2012-01-10 | Oracle International Corporation | Automated topology-based statistics monitoring and performance analysis |
US8707161B2 (en) | 2009-09-30 | 2014-04-22 | Facebook, Inc. | Executing server side script code specified using PHP on a server to generate dynamic web pages |
US9003380B2 (en) | 2010-01-12 | 2015-04-07 | Qualcomm Incorporated | Execution of dynamic languages via metadata extraction |
US8479176B2 (en) * | 2010-06-14 | 2013-07-02 | Intel Corporation | Register mapping techniques for efficient dynamic binary translation |
US20110321010A1 (en) | 2010-06-24 | 2011-12-29 | Yifei Wang | Web application framework based on object oriented class mapping |
KR101782995B1 (ko) | 2011-01-13 | 2017-09-29 | 삼성전자주식회사 | 자바스크립트 코드 저장 및 최적화를 통한 웹 브라우징 방법 및 장치 |
US8867337B2 (en) * | 2011-04-26 | 2014-10-21 | International Business Machines Corporation | Structure-aware caching |
EP2715567A4 (en) * | 2011-05-25 | 2015-05-20 | Nokia Corp | MEMORY CACHING FOR NAVIGATION PROCESSES |
US9047407B2 (en) | 2011-12-16 | 2015-06-02 | Microsoft Technology Licensing, Llc | State capture after execution in dependent sequences |
US9110751B2 (en) * | 2012-02-13 | 2015-08-18 | Microsoft Technology Licensing, Llc | Generating and caching software code |
US20140095778A1 (en) * | 2012-09-28 | 2014-04-03 | Jaewoong Chung | Methods, systems and apparatus to cache code in non-volatile memory |
US10339069B2 (en) * | 2012-09-28 | 2019-07-02 | Oracle International Corporation | Caching large objects in a computer system with mixed data warehousing and online transaction processing workload |
-
2015
- 2015-05-29 US US14/726,376 patent/US9811324B2/en not_active Expired - Fee Related
-
2016
- 2016-03-29 GB GB1715440.2A patent/GB2553444B/en active Active
- 2016-03-29 KR KR1020177028178A patent/KR101851357B1/ko active IP Right Grant
- 2016-03-29 JP JP2017551130A patent/JP6329329B2/ja active Active
- 2016-03-29 CN CN201680019416.5A patent/CN107408055B/zh active Active
- 2016-03-29 WO PCT/US2016/024791 patent/WO2016195790A1/en active Application Filing
- 2016-03-29 DE DE112016002416.9T patent/DE112016002416T5/de not_active Withdrawn
- 2016-03-29 EP EP16715430.1A patent/EP3304293B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20170125398A (ko) | 2017-11-14 |
GB2553444A (en) | 2018-03-07 |
US9811324B2 (en) | 2017-11-07 |
JP2018510428A (ja) | 2018-04-12 |
GB201715440D0 (en) | 2017-11-08 |
GB2553444B (en) | 2018-09-05 |
US20160350089A1 (en) | 2016-12-01 |
KR101851357B1 (ko) | 2018-04-24 |
CN107408055A (zh) | 2017-11-28 |
DE112016002416T5 (de) | 2018-03-08 |
CN107408055B (zh) | 2019-08-16 |
EP3304293A1 (en) | 2018-04-11 |
WO2016195790A1 (en) | 2016-12-08 |
EP3304293B1 (en) | 2021-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3876116B1 (en) | Method and apparatus for running mini program, electronic device, and storage medium | |
US8572033B2 (en) | Computing environment configuration | |
US8453049B1 (en) | Delayed code parsing for reduced startup latency | |
JP6329329B2 (ja) | コード・キャッシング・システム | |
US20170323025A1 (en) | Browser acceleration method and browser device having accelerator | |
US8640103B2 (en) | Rapid application innovation utilizing an orthogonal programming component | |
US10574724B2 (en) | Automatic discovery of management nodes and generation of CLI using HA module | |
CN103678506B (zh) | 在浏览器中加载应用程序快捷方式的方法、装置和浏览器 | |
US9781262B2 (en) | Methods and apparatus for voice-enabling a web application | |
MX2014009761A (es) | Generacion y guardado en memoria cache de codigo de software. | |
US9053107B1 (en) | Determining updates for files based on an organization of the files on different blocks of a storage device | |
US20140040746A1 (en) | Methods and apparatus for voiced-enabling a web application | |
US7912924B1 (en) | Adding functionality with respect to one or more web pages | |
US9038033B1 (en) | Techniques and mechanisms for web application minification | |
US9208322B1 (en) | Privacy leak detection in .NET framework | |
US10365798B1 (en) | Feedback manager for integration with an application | |
US20140040745A1 (en) | Methods and apparatus for voiced-enabling a web application | |
CN106502707B (zh) | 代码生成方法及装置 | |
US9672020B2 (en) | Selectively loading precompiled header(s) and/or portion(s) thereof | |
US11689630B2 (en) | Request processing method and apparatus, electronic device, and computer storage medium | |
US8793663B2 (en) | Smart cache for a server test environment in an application development tool | |
CN110858238A (zh) | 一种数据处理的方法和装置 | |
CN114816445A (zh) | ***平台架构、函数发布方法及装置、平台及存储介质 | |
CN108139950B (zh) | 分布式扩展执行的方法及计算*** | |
US11017032B1 (en) | Document recovery utilizing serialized data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171023 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170929 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20171023 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180130 |
|
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: 20180403 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180419 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6329329 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |