JP5948342B2 - 高水準言語とネイティブ言語との間の通信プロトコル - Google Patents
高水準言語とネイティブ言語との間の通信プロトコル Download PDFInfo
- Publication number
- JP5948342B2 JP5948342B2 JP2013544752A JP2013544752A JP5948342B2 JP 5948342 B2 JP5948342 B2 JP 5948342B2 JP 2013544752 A JP2013544752 A JP 2013544752A JP 2013544752 A JP2013544752 A JP 2013544752A JP 5948342 B2 JP5948342 B2 JP 5948342B2
- Authority
- JP
- Japan
- Prior art keywords
- commands
- command
- programming language
- application
- high level
- 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
- 238000004891 communication Methods 0.000 title claims description 20
- 238000000034 method Methods 0.000 claims description 97
- 230000006870 function Effects 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 48
- 238000012545 processing Methods 0.000 description 27
- 230000015654 memory Effects 0.000 description 15
- 238000013507 mapping Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 208000032325 CEBPE-associated autoinflammation-immunodeficiency-neutrophil dysfunction syndrome Diseases 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine 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/4401—Bootstrapping
-
- 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
- G06F9/449—Object-oriented method invocation or resolution
-
- 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/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- 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/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Description
STEPHEN CAIN DETWILER
JAMES EDWARD MARR
PAYTON RUSSELL WHITE
本出願は、2010年12月14日出願の「特許文献1」および2011年12月13日出願の「特許文献2」の利益を主張し、その両者全体を参照により本明細書に組み込むものとする。
実行可能バイナリを配信する代わりに、アプリケーションおよび更新を、JavaScript(登録商標)などの高水準言語で書いてクライアント装置に配信してもよい。高水準アプリケーションを実行するために、ユーザは、アプリケーションクライアントモジュールをクライアント装置にインストールする。アプリケーションクライアントモジュールは、クライアント装置でネイティブに実行するコンパイル済みコードと高水準言語を通信可能にする通信プロトコルを実装する。通信プロトコルは、ネットワーク装置や物理センサなどの典型的にはネイティブコード用であるシステムリソースに、高水準アプリケーションがアクセスするのを可能にする。結果として、高水準言語で書かれたアプリケーションは、通常、実行可能アプリケーションバイナリに制限されたタスクを行うことができ、それにより、高水準アプリケーションがバイナリアプリケーションのユーザ体験に類似したユーザ体験を提供することが可能になる。
図1は、一実施形態に係る、アプリケーションおよび更新を高水準言語で配信するのに適したシステム環境を示すネットワーク図である。システム環境は、いくつかある構成要素の中で特に、アプリケーションサーバ102、ネットワーク104、クライアント装置100を含む。他の実施形態においては、このシステム環境より構成要素が少なかったり、多かったり、異なっていてもよい。具体的には、1つのクライアント装置および1つのサーバ102のみが描かれているが、追加のクライアント装置またはサーバがネットワーク104に接続されていてよい。
図2を参照すると、一実施形態に係る、図1に示したアプリケーションクライアントモジュール116の詳細図が示されている。アプリケーションクライアントモジュール116は、いくつかある構成要素の中で特に、ブートアプリケーション200、1つまたは複数の追加の高水準アプリケーション202、高水準API204、ネイティブAPI206、高水準オブジェクトレジストリ208、ネイティブオブジェクトレジストリ210、インタプリタ212、一組の簡易装置API214を含んでよい。アプリケーションクライアントの他の実施形態は、もっと多くの、もっと少ない、または異なる構成要素を含んでよい。
図3は、一実施形態に係る、アプリケーションのブートプロセス時に高水準アプリケーション200を自動的に更新するプロセスの例を示す、アプリケーションサーバ102、ネイティブAPI206、システムインタプリンタ212B、およびアプリケーションインタプリタ212A間の相互作用図である。アプリケーションクライアントモジュール116がアプリケーション実行の要求を受信して(300)、プロセスが開始される。要求は、異なるアプリケーションなどの異なるソースから発生することもあるが、典型的には、センサ112(例えば、タッチスクリーン)の1つからのユーザ入力として受信される。アプリケーションクライアントモジュール116が要求を受信すると、要求はネイティブAPI206に送られ、ネイティブAPI206は、それに答えて、システムインタプリンタ212Bにブートアプリケーション200の更新を指示する第1のコマンドを発行する(302)。
図4は、一実施形態に係る、高水準言語のコマンド400から符号化された文字列410へのマッピングの例を示す。インタプリタ212は、高水準コマンド400を文字列410に符号化し、その文字列をネイティブAPI206に送信する。ネイティブAPI206で、文字列410は復号されて、ネイティブコマンドとして実行される。この符号化メソッドによって定義される通信プロトコルによって、高水準言語は典型的にはネイティブコード用であるコマンドを実行することができる。
図6、7を参照すると、高水準アプリケーションが図4の通信プロトコルを用いてどのようにクライアント装置100上およびアプリケーションクライアントモジュール116内のリソースと相互作用するかの2つの例が示されている。図6は、一実施形態に係る、1つの処理フレーム内の一連のコマンドを処理するプロセスを示す相互作用図である。高水準では、アプリケーション202は、一定の時間間隔に1つまたは複数のコマンドを発し、高水準API204は、そのコマンドを待ち行列に追加する。この一定の時間間隔を処理フレームと呼ぶ。処理フレームの終わりに、待ち行列のコマンドは、図4を参照して記載した通信プロトコルを用いて符号化され、ネイティブAPI206に転送され、ネイティブコマンドとして復号される。待ち行列機構は、アプリケーション202が対応する高水準コマンドを発したのと同じ順番でネイティブコマンドを実行できるように、符号化プロセスおよび復号プロセスを通して元の高水準コマンドの順番を維持する。
本明細書を通して、1つのインスタンスとして記載されている構成要素、動作、構造を複数のインスタンスで実装してよい。1つまたは複数のメソッドの個々の動作を別個の動作として示し、記載しているが(例えば、図5)、個々の動作の1つまたは複数を同時に実行してもよく、図に示した順番で動作を行う必要はない。例示の構成で別々の構成要素として示されている構造および機能を、組み合わせた構造または構成要素として実装してもよい。同様に、1つの構成要素として示された構造および機能を、別個の構成要素として実装してよい。これら、および他の変形形態、修正形態、追加、改良は、本明細書の発明の内容の範囲に含まれる。
Claims (20)
- 2つのプログラミング言語間の通信のための方法であって、
各々が複数の構成要素を含む、第1のプログラミング言語の1つまたは複数のコマンドを受信するステップと、
前記受信したコマンドの各々を文字列として符号化するステップであって、前記文字列が、
前記コマンドの始まりの印となる第1の種類の制御文字と、
前記コマンドの前記複数の構成要素を表す複数の数字と、
前記複数の数字の各々を分ける第2の種類の制御文字と
を含むステップと、
前記符号化された文字列を第2のプログラミング言語の少なくとも1つのコマンドに復号するステップであって、前記第2のプログラミング言語の各コマンドは、前記第1のプログラミング言語の前記受信したコマンドの1つに対応し、前記第1のプログラミング言語の前記受信したコマンドに対応するタスクを行うコマンドであるステップと、
前記第2のプログラミング言語の前記少なくとも1つのコマンドを実行するステップと
を含む方法。 - 前記第1のプログラミング言語の1つまたは複数のコマンドを受信する前記ステップは、前記1つまたは複数のコマンドを含む待ち行列を受信するステップを含み、前記待ち行列内の前記コマンドの順番は、前記コマンドが実行される順番を示す請求項1に記載の方法。
- 前記第2のプログラミング言語の少なくとも1つのコマンドを実行する前記ステップは、前記第1のプログラミング言語の前記対応するコマンドが前記待ち行列内に配置されたのと同じ順番で、前記少なくとも1つのコマンドを実行するステップを含む請求項2に記載の方法。
- 前記第1のプログラミング言語の前記受信したコマンドの各々は、
オブジェクトの種類を識別するクラス識別子と、
前記識別されたクラス内のメンバ関数を識別するメソッド識別子と、
前記識別されたメソッドで用いられる1つまたは複数の入力パラメータと
を含む請求項1に記載の方法。 - 前記コマンドの前記構成要素を表す前記複数の数字は、
前記クラス識別子を識別する第1の数字と、
前記メソッド識別子を識別する第2の数字と、
前記識別されたクラス内のオブジェクトのインスタンスを識別する第3の数字と、
前記1つまたは複数の入力パラメータの値に対応する1つまたは複数の追加の数字と
を含む請求項4に記載の方法。 - 前記コマンドの前記構成要素を表す前記複数の数字は、
前記クラス識別子および前記メソッド識別子を識別する第1の数字と、
前記識別されたクラス内のオブジェクトのインスタンスを識別する第2の数字と、
前記1つまたは複数の入力パラメータの値に対応する1つまたは複数の追加の数字と
を含む請求項4に記載の方法。 - 高水準プログラミング言語とコンピューティングシステム上でネイティブに実行するバイナリコードとの間の通信のためのコンピューティングシステムであって、
プロセッサと、
インタプリタモジュールであって、
各々が複数の構成要素を含む、前記高水準プログラミング言語の1つまたは複数のコマンドを受信し、
前記受信したコマンドの各々を、前記コマンドの始まりの印となる第1の種類の制御文字と、前記コマンドの前記複数の構成要素を表す複数の数字と、前記複数の数字の各々を分ける第2の種類の制御文字とを含む文字列として符号化する
ように構成されたインタプリタモジュールと、
ネイティブモジュールであって、
前記インタプリタモジュールから1つまたは複数の文字列を受信し、
各々が前記高水準プログラミング言語の前記受信したコマンドの1つに対応し、前記高水準プログラミング言語の前記受信したコマンドに対応するタスクを行う、前記バイナリコードによって実行可能な少なくとも1つのコマンドに、前記1つまたは複数の文字列を復号し、
前記実行可能な少なくとも1つのコマンドを実行する
ように構成されたネイティブモジュールと
を備えるコンピューティングシステム。 - 前記高水準プログラミング言語の1つまたは複数のコマンドの前記受信は、前記1つまたは複数のコマンドを含む待ち行列を受信することを含み、前記待ち行列内の前記コマンドの順番は、前記コマンドが実行される順番を示す請求項7に記載のコンピューティングシステム。
- 前記ネイティブモジュールは、前記高水準プログラミング言語の前記対応するコマンドが前記待ち行列に配置されたのと同じ順番で、前記少なくとも1つのコマンドを実行するようにさらに構成された請求項8に記載のコンピューティングシステム。
- 前記高水準プログラミング言語の前記受信したコマンドの各々は、
オブジェクトの種類を識別するクラス識別子と、
前記識別されたクラス内のメンバ関数を識別するメソッド識別子と、
前記識別されたメソッドで用いられる1つまたは複数の入力パラメータと、
を含む請求項7に記載のコンピューティングシステム。 - 前記コマンドの前記構成要素を表す前記複数の数字は、
前記クラス識別子を識別する第1の数字と、
前記メソッド識別子を識別する第2の数字と、
前記識別されたクラス内のオブジェクトのインスタンスを識別する第3の数字と、
前記1つまたは複数の入力パラメータの値に対応する1つまたは複数の追加の数字と
を含む請求項10に記載のコンピューティングシステム。 - 前記コマンドの前記構成要素を表す前記複数の数字は、
前記クラス識別子および前記メソッド識別子を識別する第1の数字と、
前記識別されたクラス内のオブジェクトのインスタンスを識別する第2の数字と、
前記1つまたは複数の入力パラメータの値に対応する1つまたは複数の追加の数字と
を含む請求項10に記載のコンピューティングシステム。 - 前記高水準プログラミング言語で書かれた複数のコマンド(高水準コマンド)を含む1つまたは複数の高水準アプリケーションをさらに備える請求項7に記載のコンピューティングシステム。
- 前記高水準アプリケーションの1つは、高水準コマンドを含むブートアプリケーションであり、前記高水準コマンドが、前記インタプリタモジュールによって符号化され、前記ネイティブモジュールによって復号され実行されると、前記プロセッサに、
リモートアプリケーションサーバから1つまたは複数の追加の高水準コマンドを受信させ、
前記高水準アプリケーションの前記複数の高水準コマンドの少なくとも1つを前記追加の高水準コマンドの少なくとも1つで置き換えることと、
前記追加の高水準コマンドの少なくとも1つを前記高水準アプリケーションの前記複数の高水準コマンドに挿入すること
のうちの少なくとも1つを実行することによって、前記高水準アプリケーションの1つを修正させる
ように構成された請求項13に記載のコンピューティングシステム。 - 命令を記憶するように構成された非一時的なコンピュータ可読記憶媒体であって、前記命令がプロセッサによって実行されると、前記プロセッサに、
第1のプログラミング言語の1つまたは複数のコマンドを受信させ、
前記受信したコマンドの各々を、
前記コマンドの始まりの印となる第1の種類の制御文字と、
前記コマンドの構成要素を表す複数の数字と、
前記複数の数字の各々を分ける第2の種類の制御文字と
を含む文字列とし符号化させ、
各々が前記第1のプログラミング言語の前記受信したコマンドの1つに対応し、前記第1のプログラミング言語の前記コマンドに対応するタスクを行う第2のプログラミング言語の少なくとも1つのコマンドに、前記符号化された文字列を復号させ、
前記第2のプログラミング言語の前記少なくとも1つのコマンドを実行させる
コンピュータ可読記憶媒体。 - 前記第1のプログラミング言語の1つまたは複数のコマンドの前記受信は、前記1つまたは複数のコマンドを含む待ち行列を受信することを含み、前記待ち行列内の前記コマンドの順番は、前記コマンドが実行される順番を示す請求項15に記載のコンピュータ可読記憶媒体。
- 前記第2のプログラミング言語の前記少なくとも1つのコマンドの前記実行は、前記第1のプログラミング言語の前記対応するコマンドが前記待ち行列に配置されたのと同じ順番で、前記少なくとも1つのコマンドを実行することを含む請求項16に記載のコンピュータ可読記憶媒体。
- 前記第1のプログラミング言語の前記受信したコマンドの各々は、
オブジェクトの種類を識別するクラス識別子と、
前記識別されたクラス内のメンバ関数を識別するメソッド識別子と、
前記識別されたメソッドで用いられる1つまたは複数の入力パラメータと、
を含む請求項15に記載のコンピュータ可読記憶媒体。 - 前記コマンドの前記構成要素を表す前記複数の数字は、
前記クラス識別子を識別する第1の数字と、
前記メソッド識別子を識別する第2の数字と、
前記識別されたクラス内のオブジェクトのインスタンスを識別する第3の数字と、
前記1つまたは複数の入力パラメータの値に対応する1つまたは複数の追加の数字と
を含む請求項18に記載のコンピュータ可読記憶媒体。 - 前記コマンドの前記構成要素を表す前記複数の数字は、
前記クラス識別子および前記メソッド識別子を識別する第1の数字と、
前記識別されたクラス内のオブジェクトのインスタンスを識別する第2の数字と、
前記1つまたは複数の入力パラメータの値に対応する1つまたは複数の追加の数字と
を含む請求項18に記載のコンピュータ可読記憶媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US42284310P | 2010-12-14 | 2010-12-14 | |
US61/422,843 | 2010-12-14 | ||
US13/324,940 | 2011-12-13 | ||
US13/324,940 US8959492B2 (en) | 2010-12-14 | 2011-12-13 | Communication protocol between a high-level language and a native language |
PCT/US2011/064966 WO2012082936A2 (en) | 2010-12-14 | 2011-12-14 | A communication protocol between a high-level language and a native language |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014507023A JP2014507023A (ja) | 2014-03-20 |
JP5948342B2 true JP5948342B2 (ja) | 2016-07-06 |
Family
ID=46245351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013544752A Active JP5948342B2 (ja) | 2010-12-14 | 2011-12-14 | 高水準言語とネイティブ言語との間の通信プロトコル |
Country Status (7)
Country | Link |
---|---|
US (1) | US8959492B2 (ja) |
EP (1) | EP2652608A4 (ja) |
JP (1) | JP5948342B2 (ja) |
KR (1) | KR101866945B1 (ja) |
CN (1) | CN103597447B (ja) |
CA (1) | CA2819691A1 (ja) |
WO (1) | WO2012082936A2 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140373144A9 (en) | 2006-05-22 | 2014-12-18 | Alen Capalik | System and method for analyzing unauthorized intrusion into a computer network |
US9106697B2 (en) | 2010-06-24 | 2015-08-11 | NeurallQ, Inc. | System and method for identifying unauthorized activities on a computer system using a data structure model |
US9053201B2 (en) | 2012-02-29 | 2015-06-09 | Microsoft Technology Licensing, Llc | Communication with a web compartment in a client application |
US9198204B2 (en) | 2012-04-11 | 2015-11-24 | Google Inc. | Apparatus and method for seamless commissioning of wireless devices |
US10075334B1 (en) | 2012-04-11 | 2018-09-11 | Google Llc | Systems and methods for commissioning a smart hub device |
US10142122B1 (en) | 2012-04-11 | 2018-11-27 | Google Llc | User interfaces, systems and methods for configuring smart devices for interoperability with a smart hub device |
US10397013B1 (en) | 2012-04-11 | 2019-08-27 | Google Llc | User interfaces, systems and methods for configuring smart devices for interoperability with a smart hub device |
US8887178B1 (en) | 2012-10-23 | 2014-11-11 | Google Inc. | Method to customize native operating system views using web technologies in mobile devices |
US9723091B1 (en) | 2012-11-09 | 2017-08-01 | Noble Systems Corporation | Variable length protocol using serialized payload with compression support |
GB201303081D0 (en) * | 2013-02-21 | 2013-04-10 | Postcode Anywhere Europ Ltd | Common service environment |
US9922580B2 (en) | 2013-04-30 | 2018-03-20 | Google Llc | Apparatus and method for the virtual demonstration of a smart phone controlled smart home using a website |
US10088818B1 (en) | 2013-12-23 | 2018-10-02 | Google Llc | Systems and methods for programming and controlling devices with sensor data and learning |
US9420331B2 (en) | 2014-07-07 | 2016-08-16 | Google Inc. | Method and system for categorizing detected motion events |
US9781098B2 (en) | 2014-09-24 | 2017-10-03 | Oracle International Corporation | Generic server framework for device authentication and management and a generic framework for endpoint command dispatch |
US10601604B2 (en) | 2014-11-12 | 2020-03-24 | Google Llc | Data processing systems and methods for smart hub devices |
WO2016112219A1 (en) * | 2015-01-07 | 2016-07-14 | CounterTack, Inc. | System and method for monitoring a computer system using machine interpretable code |
JP5894320B1 (ja) | 2015-07-09 | 2016-03-23 | 株式会社 ディー・エヌ・エー | 情報処理装置及び情報処理プログラム |
US9747145B2 (en) * | 2015-10-08 | 2017-08-29 | Ca, Inc. | Mobile application configuration agnostic to operating system versions |
US10365916B2 (en) * | 2016-04-19 | 2019-07-30 | Dropbox, Inc. | Providing access to a hybrid application offline |
US20190139008A1 (en) * | 2016-04-19 | 2019-05-09 | Digitzs Solutions, Inc. | Reducing Complexity When Integrating Services Functionalities |
JP6876235B2 (ja) * | 2016-09-27 | 2021-05-26 | 富士フイルムビジネスイノベーション株式会社 | 電子装置及び画像処理装置 |
US10613882B2 (en) | 2016-10-14 | 2020-04-07 | Seagate Technology Llc | Active drive API |
CN111178008A (zh) * | 2019-12-19 | 2020-05-19 | 清华大学 | 一种面向数字字符的数据编码方法、解析方法及系统 |
WO2022076680A1 (en) * | 2020-10-09 | 2022-04-14 | Ezapi Llc | Natural language processing of api specifications for automatic artifact generation |
US11507288B2 (en) * | 2021-04-15 | 2022-11-22 | Dell Products L.P. | Detecting and reconfiguring of boot parameters of a remote non-volatile memory express (NVME) subsystem |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04142629A (ja) * | 1990-10-03 | 1992-05-15 | Fujitsu Ltd | 高級言語処理装置 |
US5875335A (en) | 1996-09-30 | 1999-02-23 | Apple Computer, Inc. | Parameter marshaling techniques for dynamic object-oriented programming languages |
JP2000514584A (ja) * | 1996-10-25 | 2000-10-31 | シュルンベルジェ システーム | 高級プログラミング言語を用いたマイクロコントローラ |
US7028312B1 (en) | 1998-03-23 | 2006-04-11 | Webmethods | XML remote procedure call (XML-RPC) |
US6698014B1 (en) | 1999-10-14 | 2004-02-24 | Convert Systems Inc. | System for automatically converting source code from one programming language to another |
US6920636B1 (en) | 1999-12-15 | 2005-07-19 | Microsoft Corporation | Queued component interface passing for results outflow from queued method invocations |
EP1182547A1 (de) | 2000-08-24 | 2002-02-27 | Wincor Nixdorf GmbH & Co KG | Programmkopplungsmethode |
US6993568B1 (en) | 2000-11-01 | 2006-01-31 | Microsoft Corporation | System and method for providing language localization for server-based applications with scripts |
AU2002210810A1 (en) * | 2001-10-22 | 2003-05-06 | Sun Microsystems, Inc. | Inter-process communication using different programming languages |
US7574714B2 (en) * | 2002-08-23 | 2009-08-11 | At&T Intellectual Property I, L.P. | System and method for providing interoperability between different programming protocols |
US7272821B2 (en) | 2003-08-25 | 2007-09-18 | Tech Mahindra Limited | System and method of universal programming language conversion |
CN1790268A (zh) * | 2004-12-14 | 2006-06-21 | 艾克斯麦提克方案私人有限公司 | 通过散列技术的编译时间链接 |
US7761843B2 (en) | 2005-07-01 | 2010-07-20 | Ronald Ortscheid | Computer source code generator |
US7536537B2 (en) | 2006-04-20 | 2009-05-19 | Harris Corporation | Simultaneous dual booting of platforms |
US8510647B2 (en) | 2006-04-29 | 2013-08-13 | Jennifer Madden | Computer programming and markup language source code visualization tool |
US7992139B2 (en) * | 2006-11-29 | 2011-08-02 | International Business Machines Corporation | Method, system and program product for transforming a single language program into multiple language programs |
JP2011501830A (ja) * | 2007-11-13 | 2011-01-13 | ノキア コーポレイション | ブラウザを備える方法および装置 |
US8266604B2 (en) * | 2009-01-26 | 2012-09-11 | Microsoft Corporation | Transactional memory compatibility management |
US8250523B2 (en) * | 2009-01-29 | 2012-08-21 | Microsoft Corporation | Source code wrapper generation |
US8332815B2 (en) * | 2009-03-17 | 2012-12-11 | International Business Machines Corporation | Enhanced development tool for utilizing a javascript object notation (JSON) bridge for non-java-based component communication within java-based composite applications |
US8364946B2 (en) * | 2010-03-22 | 2013-01-29 | Ishebabi Harold | Reconfigurable computing system and method of developing application for deployment on the same |
-
2011
- 2011-12-13 US US13/324,940 patent/US8959492B2/en not_active Expired - Fee Related
- 2011-12-14 EP EP11848314.8A patent/EP2652608A4/en not_active Withdrawn
- 2011-12-14 KR KR1020137018354A patent/KR101866945B1/ko active IP Right Grant
- 2011-12-14 WO PCT/US2011/064966 patent/WO2012082936A2/en active Application Filing
- 2011-12-14 CN CN201180065620.8A patent/CN103597447B/zh not_active Expired - Fee Related
- 2011-12-14 CA CA2819691A patent/CA2819691A1/en not_active Abandoned
- 2011-12-14 JP JP2013544752A patent/JP5948342B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
EP2652608A2 (en) | 2013-10-23 |
WO2012082936A8 (en) | 2013-06-27 |
CN103597447B (zh) | 2017-03-29 |
EP2652608A4 (en) | 2014-10-22 |
CA2819691A1 (en) | 2012-06-21 |
CN103597447A (zh) | 2014-02-19 |
US8959492B2 (en) | 2015-02-17 |
US20120167063A1 (en) | 2012-06-28 |
WO2012082936A3 (en) | 2013-12-12 |
KR101866945B1 (ko) | 2018-07-19 |
KR20140019776A (ko) | 2014-02-17 |
JP2014507023A (ja) | 2014-03-20 |
WO2012082936A2 (en) | 2012-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5948342B2 (ja) | 高水準言語とネイティブ言語との間の通信プロトコル | |
US20220286346A1 (en) | Systems and methods for providing managed services | |
US9513949B2 (en) | Machine identity persistence for users of non-persistent virtual desktops | |
Jeon et al. | Dr. Android and Mr. Hide: fine-grained permissions in android applications | |
US10666763B2 (en) | Automatic integrity checking of content delivery network files | |
US20150332043A1 (en) | Application analysis system for electronic devices | |
US9807081B2 (en) | Live tiles without application-code execution | |
US9374275B2 (en) | Rapid application development using a content management system | |
US20140137184A1 (en) | Security system and method for operating systems | |
CN106295255B (zh) | 应用程序的加固方法和装置 | |
US20140040438A1 (en) | Dynamic configuration of applications deployed in a cloud | |
JP2015122115A (ja) | ソフトウェアアプリケーション配信および起動システム | |
US8401973B1 (en) | Method and system for managing a license for an add-on software component | |
US9513762B1 (en) | Static content updates | |
US9756149B2 (en) | Machine-specific instruction set translation | |
US20140282446A1 (en) | Modification of compiled applications and application management using retrievable policies | |
US11947665B2 (en) | Secured computer code and systems, methods, and storage media for creating the secured computer code from original computer code | |
US10025574B1 (en) | Packaged installation file based on automatic detection of device capabilities | |
JP2023015177A (ja) | ハードウェアの信頼できる実行環境の待ち時間の低減 | |
US20130067458A1 (en) | Application site of origin reference scheme | |
KR101845155B1 (ko) | 어플리케이션 패키지를 제공하는 방법 및 시스템, 그리고 어플리케이션을 실행하는 방법 및 시스템 | |
Van't Hof | New Container Architectures for Mobile, Drone, and Cloud Computing | |
US10929153B2 (en) | Bidirectional protection of application package | |
Heinl et al. | Android security | |
Heinl | Android security: Creation of a virtual learning environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160407 |
|
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: 20160510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160606 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5948342 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 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |