JP2010129080A - ソフトウェア実行システムおよびソフトウェアの実行方法 - Google Patents

ソフトウェア実行システムおよびソフトウェアの実行方法 Download PDF

Info

Publication number
JP2010129080A
JP2010129080A JP2009155695A JP2009155695A JP2010129080A JP 2010129080 A JP2010129080 A JP 2010129080A JP 2009155695 A JP2009155695 A JP 2009155695A JP 2009155695 A JP2009155695 A JP 2009155695A JP 2010129080 A JP2010129080 A JP 2010129080A
Authority
JP
Japan
Prior art keywords
file
memory
module
data
software
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.)
Pending
Application number
JP2009155695A
Other languages
English (en)
Inventor
yi e Zhu
▲い▼▲鍔▼ 朱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Software Co Ltd
Original Assignee
Beijing Kingsoft Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Software Co Ltd filed Critical Beijing Kingsoft Software Co Ltd
Publication of JP2010129080A publication Critical patent/JP2010129080A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】新しいソフトウェア実行方法とソフトウェア実行システムを提供する。
【解決手段】当該ソフトウェア実行システムは、クライアント側(C側)の実行モジュールと、サーバ側(S側)の制御・データ分配モジュールとを含む。前者は、ソフトウェアパッケージの定義ファイルを取得、ロードすると共に、C側でアプリケーションの実行に必要な環境を構築し、実行したいアプリケーションに対応するプロセスを生成するようにOSを制御するプロセスロードサブモジュールと、アプリケーションからのI/Oリクエストを監視、捕捉するI/O監視・処理サブモジュールと、S側とネットワーク通信を行うネットワーク通信サブモジュールとを含む。後者は、S側の他のサブモジュールとC側の間の動作を調整する制御サブモジュールと、C側にソフトウェアパッケージ内の具体的なデータを提供するデータ分配サブモジュールを含む。
【選択図】図2

Description

本発明は新しい実行ソフトウェアの方法とソフトウェア実行システムに関する。
まず、出願過程において用いる技術用語について説明をする。
メモリ−ファイルマッピングメカニズムとは、OSのI/Oメカニズムの一つであって、ファイルの内容をプロセスのアドレス空間にマップし、その後これらのメモリアドレスにアクセスすると、ファイルの内容を読み取ることができる。そのボトムレイヤの実現において、ファイルの内容が通常すべて物理メモリに読み込まれず、OSのページエラー処理メカニズムにより実際に必要な部分が読み込まれる。
プログラムモジュールファイルとは、アプリケーションの実行に必要なコマンドを保存しているファイルをいう。OSがメモリ-ファイルマッピングメカニズムを通じてその中のデータを読み取る。例えばよくある拡張子が.EXE/.DLLのファイルがこういうファイルに属する。
データファイルとは、アプリケーションの実行時に自動的にOSの提供したI/OAPI関数を呼び出してアクセスするファイルをいう。通常、構成データ、画像または音楽などのソースデータなどを保存する。
ソフトウェアパッケージとは、1つまたは1セットのプログラムを実行する時に使われるデータの集合をいい、1つまたは複数のソフトウェアの必要となるファイルを含む。たとえば、1つのWPSソフトウェアパッケージには、WPS文字、WPSデモおよびWPS表という3つのソフトウェアの必要となるファイルを含む。
ソフトウェアパッケージ定義ファイルとは、ソフトウェアパッケージに含まれたデータ項目、およびこれらのデータ項目へのアクセスアドレスなどのデータを記載するファイルをいう。
ソフトウェアソースとは、ソフトウェアパッケージとそのソフトウェアパッケージの定義ファイルからなるものをいい、フローモードで実行できるソフトウェアパッケージを表す。
プログラムが実現できる論理や機能はCPUが認識、実行できる一連のコマンドで実現される。これらのコマンドは通常一つ一つのサブプログラム(またはサブ関数ともいう)に分割され、一つまたは複数のファイルに保存されている。これらのファイルをプログラムモジュールファイルという。プログラムは、その設計によって、その機能の実現に必要なデータ、例えばプログラム構成、画像、音声などを単独なファイルに保存し、使用時にOSのI/OAPI関数を利用して読み書きを行うこともできる。これらのファイルをデータファイルという。
サブプログラムを構成したコマンドは実行前に必ずメモリに読み込まれなければならない。あるプログラムの実行中に、一連のサブプログラム(サブ関数)が順次に実行されるが、これらのサブプログラムは通常同一ファイルに順次に保存されているわけではなく、異なったプログラムモジュールファイルに保存されているかもしれない。例えば、Appというプログラムがある。それはappp.EXE、foo.DLLとbar.DLLという3つの実行可能なモジュールファイルから構成されている。app.EXEには、のA、B、Cのサブプログラムを、foo.DLLにはDのサブプログラムを、bar.DLLにはEのサブプログラムを含んでいる。仮にAppプログラムが起動する時にA−)D−)Bという順番でサブプログラムを呼び出す一方、画面にあるメニューをクリックすると、Eを読み取るとする。すると、起動をするために、app.EXEとfoo.DLLファイルの中の対応する位置の内容は必要に応じてメモリに読み込まれる必要がある。メニューをクリックすると、bar.DLLの中のEに対応する領域もメモリに読み込まれる必要がある。
一方、上述した実行プロセスにおいて、いかなる時にも3つのファイルの中の全ての内容を使っていない。起動中にbar.DLLファイルが使われるわけがない。app.EXEは必要であるが、Cのサブプログラムを保存した部分が使われなかった。そのため、プログラムモジュールファイルにとって、ファイルとファイル内のデータブロックという2つのレベルにおいて一部しか使われていない。
データファイルはそれと同様である。プログラムはある時に全てのデータファイル、またはあるファイルの全ての領域を読み取らない可能性がある。そのため、プログラムモジュールファイルもファイルとファイル内のデータブロックという2つのレベルにおいて一部しか使われていない。
こういったことがあるにもかかわらず、プログラム実行フローが必要となるデータが満たされなければ、プログラムを引き続き実行することができないのである。プログラムはユーザーの操作方法、入力するデータによって、その内部の実行フローが異なり、予想することもできないため、従来のモードでは、ソフトウエアパッケージの中の一部のファイルとデータがまったく使われなくても、その全てのファイルをインストールプログラムによってインストールしなければ、プログラムを起動することができない。こうして、コンピュータの記憶空間とこれらのデータの用意にかかる時間を増やすに違いない。
上述したように、従来のソフトウェアの実行方法には二つの欠点がある。第一、コンピュータの中のファイルとファイル内のデータの使用が不十分で(一部のみ使用)、コンピュータの記憶空間を無駄にしている。第二、従来のソフトウェアを実行するに、ローカルコンピュータにインストールしなければならないため、コンピュータは大きい記憶空間を必要とし、インストールに時間と手間がかかる。
そこで、アプリケーションの実行においてデータに対する使用リクエストを捕捉し、それぞれのリクエストを満たすメカニズムを実現できれば、インストールを実行せずにプログラムを実行することができ、更にローカルコンピュータの記憶空間を節約することができるので、同時に上述した二つの欠点を解消するようになる。
本発明は従来の技術の欠点を解消するもので、その第一の目的は、ローカルコンピュータにソフトウェアをインストールする必要はなく、更にローカルコンピュータにソフトウェアソース全体を記憶する必要はなく、データフローでアプリケーションを実行することができるソフトウェア実行システムを提供することである。
本発明の第二の目的は、上記のシステムを利用してソフトウェアを実行する方法を提供することである。
上記の第一の目的を達成するために、本発明は以下の手段を提供する。
ソフトウェア実行システムであって、クライアント側にあるクライアント側の実行モジュールと、サーバ側にあるサーバ側の制御・データ分配モジュールを含み、
クライアント側の実行モジュールはさらに、
ソフトウェアパッケージの定義ファイルを取得、ロードするとともに、クライアント側でアプリケーションの実行に必要な環境を構築し、実行したいアプリケーションに対応するプロセスを生成するようOSを制御するプロセスロードサブモジュールと、
アプリケーションからのI/Oリクエストを監視、捕捉するI/O監視・処理サブモジュールと、
リクエストに応じて、サーバ側とネットワーク通信を行い、ローカルコンピュータに関連データをダウンロードするネットワーク通信サブモジュールと
を含み、
サーバ側の制御・データ分配モジュールはさらに、
サーバ側の他のサブモジュールとクライアント側との間の動作を調整する制御サブモジュールと、
クライアント側にソフトウェアパッケージの中の具体的なデータを提供するデータ分配サブモジュールと
を含む。
上記の第二の目的を達成するために、本発明は以下の手段を提供する。
上記のソフトウェア実行システムを利用してソフトウェアを実行する方法は、
(1)サーバにサーバ側の制御・データ分配モジュールを、クライアント側のコンピュータにクライアント側の実行モジュールを実装する。実行したいソフトウェアのソフトウェアソースをサーバに実装する。
(2)プロセスロードサブモジュールは、指定するソフトウェアソースのソフトウェアパッケージ定義ファイルがすでにクライアント側のキャッシュメモリに入ったか、を確認する。入っていない場合、サーバ側に接続してそれをダウンロードする。プロセスロードサブモジュールは、当該ソフトウェアパッケージと対応したワークディレクトリがあるか、を確認する。ない場合、当該ソフトウェアパッケージと対応したワークディレクトリを作成する。
(3)プロセスロードサブモジュールは、上記のワークディレクトリの位置とユーザーの指定した実行可能なファイルのファイル名によって、当該実行可能なファイルの完全なパスを得ると共に、当該パスをパラメーターとしてOSのAPI関数を呼び出し、新しいプロセスを生成するようOSを制御する。
(4)OSが新しいプロセスを生成する時には、API関数によって上記の完全なパスが表す上記の実行可能ファイルを開いて、「メモリ-ファイルマッピングメカニズム」に基づいて上述の実行可能ファイルの内容をプロセスのアドレス空間にマッピングする。この実行可能ファイルがその他のプログラムモジュールファイルに依存した場合、OSはこのプロセスを繰り返し、当該プログラムモジュールファイルをも開いてアドレス空間にマッピングする。この過程は、全ての依存ファイルが開けられ、アドレス空間にマップされるまで繰り返す。
(5)次にOSは上記の実行可能ファイルで定義されたエントリ関数を実行し始める。当該関数はさらに、自分の論理によって本ファイルまたはその他のファイルの中のその他の関数を引き続き呼び出す。CPUは各関数を実行する時にすべての関数のアドレスを読み取り、それによってコマンドの内容を得て解読と実行を行う。アクセスしたアドレスに対応するファイルデータが物理メモリにない場合、ページエラーが出る。この場合、基本的な実行の流れが一時停止し、ページエラー処理サブプログラムからI/O読み取りリクエストを出し、対応するファイルの中の対応領域を物理メモリに読み込んだ上、元の実行の流れを実行し続けるようリクエストする。I/O監視・処理サブモジュールは全てのI/O読み取りリクエストを捕捉ことができる。それは、まず読み取りしたいデータがメモリにあるか、を確認する。ある場合、メモリから読み取って、上位の呼び出し者に戻して、当該読み取り作業を完了させる。メモリにない場合、I/O監視・処理サブモジュールはネットワーク通信サブモジュールに対して、サーバ側から当該部分のデータをメモリにダウンロードし、上位の呼び出し者に戻して当該読み取り作業を完了させるようリクエストする。
上記のソフトウェアの実行方法は、データフローという新しいソフトウェア実行モードである。すなわち、クライアント側のコンピュータに実行したいソフトウェア全体をインストールする必要はなく、クライアント側のコンピュータに小さいクライアント側実行環境、即ち上記のクライアント側実行モジュールを実装するだけである。ソフトウェアの実行に必要なサブプログラムは、データフローの方式でサーバ側からダウンロードする。無用なファイルまたはサブプログラムをダウンロードする必要はない。こうして、クライアント側のコンピュータに対する記憶空間の要求を低減できるだけでなく、クライアント側でソフトウェア全体のインストールが省かれた。上記のソフトウェアの実行方法にはさらに、ソフトウェアのセキュリティを強化したというメリットがある。クライアント側のコンピュータでインストールされるソフトウェアは、解読されて海賊版のものが作られることが発生しやすい。この方法によるソフトウェアは、クライアント側にソフトウェアソースがないため、解読される可能性がないのである。
更なる手段として、上記の方法はさらに、(6)アプリケーションがデータファイルの一部の内容を読み取りたい場合、I/O監視・処理サブモジュールは当該I/O読み取りリクエストを捕捉して、読み取りしたいデータがメモリに存在しているか、を確認する。存在している場合、メモリから読み取り、上位の呼び出し者に戻して当該読み取り作業を完了させる。メモリにない場合、I/O監視・処理サブモジュールはネットワーク通信サブモジュールに対して、サーバ側から当該データをメモリにダウンロードし、上位の呼び出し者に戻して当該読み取り作業を完了させるようリクエストすることを含む。
通常のソフトウェア実行には、データファイルを読み取る必要があるが、上記の手順はデータファイルに対する読み取りメカニズムである。
サーバ側にあるWPSソフトウェアパッケージの中のファイル集合を示す図である。 第2の実施の形態を示す、ソフトウェア実行システムの構造の枠図である。
続いて本発明に係る実施の形態について、具体的な説明をする。
[第1の実施の形態]
ソフトウェア実行システムは、クライアント側にあるクライアント側実行モジュールと、サーバ側にあるサーバ側制御・データ分配モジュールを含む。
クライアント側実行モジュールは更に、
ソフトウェアパッケージ定義ファイルを取得、ロードし、クライアント側でアプリケーションの実行に必要な環境を構築する一方、実行したいアプリケーションに対応するプロセスを生成するようOSを制御するプロセスロードサブモジュールと、
アプリケーションからのI/Oリクエストを監視、捕捉し、本発明の下記の特別な処理の流れ(ここで述べた処理の流れとは、例えば下記の第1の実施の形態の中の手順5に述べられた「I/O監視・処理サブモジュールは、全てのI/O読み取りリクエストを捕捉し、まず読み取りしたいデータがメモリに存在しているか、を確認する。存在している場合、メモリから読み取り、上位の呼び出し者に戻して当該読み取り作業を完了させる。メモリにない場合、I/O監視・処理サブモジュールはネットワーク通信サブモジュールに対して、サーバ側から当該データをメモリにダウンロードし、上位の呼び出し者に戻して当該読み取り作業を完了させるようリクエストする」、また、例えば第2の実施の形態の手順5に述べられる「I/O監視・処理サブモジュールは、OSからのファイルを開けるというI/Oリクエストを捕捉し、OSのファイルを開ける標準的なプロセスによってこのリクエストを完了すると同時に、クライアント側のローカルコンピュータに対応するキャッシュファイルがあるか、を確認する。ない場合、キャッシュメモリ管理サブモジュールは空の初期キャッシュファイルを作成する」を指す)で処理するI/O監視・処理サブモジュールと、
他のサブモジュールからのリクエストに応じて、サーバ側とネットワーク通信を行い、関連データをローカルコンピュータにダウンロードするネットワーク通信サブモジュール
とを含む。
サーバ側の制御・データ分配モジュールは更に、
サーバ側の他のサブモジュールとクライアント側との間の動作を調整する制御サブモジュールと、
クライアントにソフトウェアパッケージの中の具体的なデータを提供するデータ分配サブモジュールと
を含む。
次にWPSソフトウェアを例として、上記のソフトウェア実行システムを利用してソフトウェアを実行する方法を説明する。この方法は、下記の過程を含む。
1.環境の用意。サーバにサーバ側の関連モジュールを実装する。クライアントのコンピュータにクライアント側の関連モジュールを実装する。補助ツールを利用してWPSアプリケーションのためにソフトウェアソース(もちろん、事前に作成したソフトウェアソースを使用してもよい。このソフトウェアソースは、図1に示したWPSソフトウェアパッケージとソフトウェアパッケージの定義ファイルを含む。当該ソフトウェアパッケージにはWPS文字、WPSデモとWPS表という3つのアプリケーションの必要となるファイルを含む。次にユーザーがWPS文字のアプリケーションを使うことを例にして説明をする)を作成する。ソフトウェアソースをサーバに実装する。次に、エンドユーザーはクライアント側のコンピュータでクライアント側実行モジュールを実行し、サーバのネットワークアドレス、ソフトウェアソース名、実行可能プログラムのファイル名などの情報を提供して実行の流れを起動する。
2.プロセスロードサブモジュールは、上記のソフトウェアソースのソフトウェアパッケージ定義ファイルがすでにクライアント側のキャッシュメモリに入ったか、を確認する。入っていない場合、サーバ側に接続してダウンロードする。プロセスロードサブモジュールはあらかじめ設定した位置で当該ソフトウェアパッケージと対応するワークディレクトリが存在しているか、を確認する。存在していない場合、それを作成する。あらかじめ設定した位置は、ローカルのディスクの任意の位置、例えばC:ProgramFiles\Kingsoftの中の「WPS文字」フォルダ、でよい。
3.プロセスロードサブモジュールは、ワークディレクトリの位置(C:\ProgramFiles\Kingsoft\WPS文字)とユーザーの指定した実行可能ファイルのファイル名(図1の中のWPSファイル)によって、当該WPSファイルの完全なパスを取得することができる。プロセスロードサブモジュールはこのパスをパラメーターとしてOSのAPI関数を呼び出し、新しいプロセスを生成するようOSを制御する。
4.OSが上記の新しいプロセスを生成する時、API関数を使って上述の完全なパスの表す実行可能ファイルWPSを開ける。しかし、このファイルWPSがローカルコンピュータに存在していない。ローカルコンピュータに存在しているのは、「WPS文字」フォルダにあるWPSという空のファイル(上記のWPSファイルと混同しないように、このWPS空ファイルを「WPS空」と称する)であって、「メモリ-ファイルマッピングメカニズム」に基づいてWPSファイルの内容をプロセスのアドレス空間にマッピングする。WPSファイルが他の実行可能モジュールファイルに依存する(他のモジュールの関数を使っている。たとえばWPScore.DLL)場合、OSはこのプロセスを繰り返してこの依存されたWPScore.DLLファイルをも開けてアドレス空間にマッピングする。このプロセスは、全ての依存ファイルが開けられ、アドレス空間にマップされるまで繰り返す。
5.それからOSは前記のWPSファイルにおいて定義されたエントリ関数を実行し始める。この関数はさらに自分の論理によって本ファイルまたは他のファイルの中のその他の関数を引き続き呼び出す。CPUは各関数を実行する時にそのアドレスに対して読み取り作業を実行することによって、コマンドの内容を取得し、解読と実行を行う。OSがすでにこれらのアドレスと実行可能モジュールファイルについて、「メモリ-ファイルマッピングメカニズム」を通じてマッピング関係を構築しているため、CPUのアクセスしたアドレスに対応するファイルデータが物理メモリにない場合、ページエラーが出る。この場合、基本的な実行の流れが一時停止する。ページエラーの処理サブプログラムはI/O読み取りリクエストを出し、対応するファイルの中の対応領域を物理メモリに読み込んだ上、元の実行の流れを続けるようリクエストする。I/O監視・処理サブモジュールは、全てのI/O読み取りリクエストを捕捉できる。それはまず読み取りしたいデータがメモリにすでに存在しているか、を確認する。存在している場合、メモリから読み取り、上位の呼び出し者に戻して当該読み取り作業を完了させる。メモリにない場合、I/O監視・処理サブモジュールはネットワーク通信サブモジュールに対して、サーバ側から当該データをメモリにダウンロードし、上位の呼び出し者に戻して当該読み取り作業を完了させるようリクエストする。
6.同様に、アプリケーションがデータファイル(例えば、フォルダdataの中のあるファイル)のある部分の内容を読み取りたい場合、I/O監視・処理サブモジュールは、このI/O読み取りリクエストを捕捉し、読み取りしたいデータがメモリにすでに存在しているか、を確認する。存在している場合、メモリから読み取り、上位の呼び出し者に戻して当該読み取り作業を完了させる。メモリにない場合、I/O監視・処理サブモジュールはネットワーク通信サブモジュールに対して、サーバ側から当該データをメモリにダウンロードした上、上位の呼び出し者に戻して当該読み取り作業を完了させるようリクエストする。
最後に、アプリケーションが終了した時、クライアント側実行モジュールはこの動作を捕捉して、それに応じたソース整理を実行する。
[第2の実施の形態]
この実施の形態と第1の実施の形態との違いは、第1の実施の形態に示したソフトウェア実行システムに、キャッシュメモリ管理サブモジュール(図2を参照)を加えたことにある。当該キャッシュメモリ管理サブモジュールはクライアント側実行モジュールの一部であって、その主な役目は、サーバ側からダウンロードされたデータをローカルのキャッシュメモリに一時記憶することによって、その後の操作リクエストを加速することである。上記の第1の実施の形態に示したソフトウェアの実行方法の手順5と手順6で明らかなように、読み取りしたいデータがサーバ側からダウンロードされた後、メモリに格納されるが、メモリの中のデータが随時に更新されているため、この部分のデータは次回に使う必要がある場合、サーバ側から再びダウンロードしなければならない。こうして、実行速度が少し遅くなるし、面倒くさいである。前記キャッシュメモリ管理サブモジュールは、この部分のダウンロードしたデータを一時的にローカルの空間に記憶することができ、次回にこの部分のデータを使う必要がある場合、まずこのローカルの空間から検索する。ローカルの空間にこの部分のデータがあるとき、再度ダウンロードする必要はない。
それに関連して、この実施の形態におけるソフトウェアの実行方法も第1の実施の形態のソフトウェアの実行方法と異なっている。ただし、最初の手順1〜4は第1の実施の形態と同様であるので、再度の説明は省略する。その次の手順は下記の通りである。
5.I/O監視・処理サブモジュールは、OSの出した、ファイルを開けるI/Oリクエストを捕捉し、OSのファイルを開ける標準的なプロセスによって当該リクエストを完了すると同時に、クライアント側のローカルコンピュータにすでに対応するキャッシュファイルがあるか、を確認する。ない場合、キャッシュメモリ管理サブモジュールは空の初期キャッシュファイルを生成する。
6.次にOSは前記実行可能ファイルに定義されたエントリ関数を実行し始める。当該エントリ関数はさらに、自分の論理によって本ファイルまたは他のファイルの中のその他の関数を引き続き読み呼び出す。CPUは各関数を実行する時にすべての関数のアドレスを読み取ることによって、コマンドの内容を取得し、解読と実行を行う。アクセスしたアドレスに対応するファイルデータが物理メモリにない場合、ページエラーが出る。この場合、基本的な実行の流れが一時停止する。ページエラーの処理サブプログラムは、I/O読み取りリクエストを出し、対応するファイルの対応領域を物理メモリに読み込んだ上、元の実行の流れを実行し続けるようリクエストする。I/O監視・処理サブモジュールは、全てのI/O読み取りリクエストを捕捉ことができる。まず読み取りしたいデータがメモリにあるか、を確認する。ある場合、メモリから読み取り、上位の呼び出し者に戻して当該読み取り作業を完了させる。メモリにない場合、I/O監視・処理サブモジュールはネットワーク通信サブモジュールに対して、サーバ側から当該部分のデータをメモリにダウンロードし、これらのデータをキャッシュファイルに書き込んだ上、上位の呼び出し者に戻して当該読み取り作業を完了させるようリクエストする。

7.アプリケーションがデータファイルの一部の内容を読み取りたい場合、I/O監視・処理サブモジュールは当該I/O読み取りリクエストを捕捉し、読み取りしたいデータがメモリに存在しているか、を確認する。存在している場合、メモリから読み取り、上位の呼び出し者に戻して当該読み取り作業を完了させる。メモリにない場合、I/O監視・処理サブモジュールはネットワーク通信サブモジュールに対して、サーバ側から当該データをメモリにダウンロードし、これらのデータをキャッシュファイルに書き込んだ上、上位の呼び出し者に戻して当該読み取り作業を完了させるようリクエストする。
最後に、アプリケーションが終了した時、クライアント実行モジュールはこの動作を捕捉し、それに応じたソース整理を実行する。例えば、キャッシュファイル、ワークディレクトリの中の「WPS空」ファイルなどを削除する。
以上の実施の形態は本発明の手段を説明するためのものであるが、本発明を制限するものではない。本発明の目的と範囲を逸脱していないすべての変更と部分的書き換えは、本発明の請求の範囲に含まれるものである。

Claims (8)

  1. ソフトウェア実行システムであって、クライアント側にあるクライアント側の実行モジュールと、サーバ側にあるサーバ側の制御・データ分配モジュールを含み、
    クライアント側の実行モジュールはさらに、
    ソフトウェアパッケージの定義ファイルを取得、ロードするとともに、クライアント側でアプリケーションの実行に必要な環境を構築し、実行したいアプリケーションに対応するプロセスを生成するようOSを制御するプロセスロードサブモジュールと、
    アプリケーションからのI/Oリクエストを監視、捕捉するI/O監視・処理サブモジュールと、
    リクエストに応じて、サーバ側とネットワーク通信を行い、ローカルコンピュータに関連データをダウンロードするネットワーク通信サブモジュールと
    を含み、
    サーバ側の制御・データ分配モジュールはさらに、
    サーバ側の他のサブモジュールとクライアント側との間の動作を調整する制御サブモジュールと、クライアント側にソフトウェアパッケージの中の具体的なデータを提供するデータ分配サブモジュールとを含むことを特徴とする、ソフトウェア実行システム。
  2. クライアント側実行モジュールはさらに、キャッシュメモリ管理サブモジュールを含み、その主な役目は、サーバ側からダウンロードされたデータをローカルのキャッシュメモリに一時記憶することによって、その後の操作リクエストを加速することであることを特徴とする、請求項1に記載のソフトウェア実行システム。
  3. 請求項1に記載のソフトウェア実行システムのソフトウェア実行方法であって、
    (1)サーバにサーバ側の制御・データ分配モジュールを、クライアント側のコンピュータにクライアント側の実行モジュールを実装する、実行したいソフトウェアのソフトウェアソースをサーバに実装する、
    (2)プロセスロードサブモジュールは、指定するソフトウェアソースのソフトウェアパッケージ定義ファイルがすでにクライアント側のキャッシュメモリに入ったか、を確認する、入っていない場合、サーバ側に接続してそれをダウンロードする、プロセスロードサブモジュールは、当該ソフトウェアパッケージと対応したワークディレクトリがあるか、を確認する、ない場合、当該ソフトウェアパッケージと対応したワークディレクトリを作成する、
    (3)プロセスロードサブモジュールは、上記のワークディレクトリの位置とユーザーの指定した実行可能なファイルのファイル名によって、当該実行可能なファイルの完全なパスを得ると共に、当該パスをパラメーターとしてOSのAPI関数を呼び出し、新しいプロセスを生成するようOSを制御する、
    (4)OSが新しいプロセスを生成する時には、API関数によって上記の完全なパスが表す上記の実行可能ファイルを開いて、「メモリ-ファイルマッピングメカニズム」に基づいて上述の実行可能ファイルの内容をプロセスのアドレス空間にマッピングする、この実行可能ファイルがその他のプログラムモジュールファイルに依存した場合、OSはこのプロセスを繰り返し、当該プログラムモジュールファイルをも開いてアドレス空間にマッピングする、この過程は、全ての依存ファイルが開けられ、アドレス空間にマップされるまで繰り返す、
    (5)次にOSは上記の実行可能ファイルで定義されたエントリ関数を実行し始める、当該関数はさらに、自分の論理によって本ファイルまたはその他のファイルの中のその他の関数を引き続き呼び出す、CPUは各関数を実行する時にすべての関数のアドレスを読み取り、それによってコマンドの内容を得て解読と実行を行う、アクセスしたアドレスに対応するファイルデータが物理メモリにない場合、ページエラーが出る、この場合、基本的な実行の流れが一時停止し、ページエラー処理サブプログラムからI/O読み取りリクエストを出し、対応するファイルの中の対応領域を物理メモリに読み込んだ上、元の実行の流れを実行し続けるようリクエストする、I/O監視・処理サブモジュールは全てのI/O読み取りリクエストを捕捉ことができる、それは、まず読み取りしたいデータがメモリにあるか、を確認する、ある場合、メモリから読み取って、上位の呼び出し者に戻して、当該読み取り作業を完了させる、メモリにない場合、I/O監視・処理サブモジュールはネットワーク通信サブモジュールに対して、サーバ側から当該部分のデータをメモリにダウンロードし、上位の呼び出し者に戻して当該読み取り作業を完了させるようリクエストする
    というプロセスを含むことを特徴とするソフトウェア実行方法。
  4. さらに、(6)アプリケーションがデータファイルの一部の内容を読み取りたい場合、I/O監視・処理サブモジュールは当該I/O読み取りリクエストを捕捉して、読み取りしたいデータがメモリに存在しているか、を確認する、存在している場合、メモリから読み取り、上位の呼び出し者に戻して当該読み取り作業を完了させる、メモリにない場合、I/O監視・処理サブモジュールはネットワーク通信サブモジュールに対して、サーバ側から当該データをメモリにダウンロードし、上位の呼び出し者に戻して当該読み取り作業を完了させるようリクエストすることを含むことを特徴とする、請求項3に記載のソフトウェア実行方法。
  5. さらに、(7)アプリケーションが終了した時、クライアント側実行モジュールがこの動作を捕捉し、それに応じたソース整理を実行することを含むことを特徴とする、請求項4又は5に記載のソフトウェア実行方法。
  6. 請求項2に記載のソフトウェア実行システムのソフトウェア実行方法であって、
    (1)サーバにサーバ側制御・データ分配モジュールを、クライアント側のコンピュータにクライアント側実行モジュールを実装する、実行したいソフトウェアのソフトウェアソースをサーバに実装する、
    (2)プロセスロードサブモジュールは、指定したソフトウェアソースのソフトウェアパッケージ定義ファイルがすでにクライアント側のキャッシュメモリに入ったか、を確認する、入っていない場合、サーバ側に接続してダウンロードする、プロセスロードサブモジュールはあらかじめ設定した位置で当該ソフトウェアパッケージと対応するワークディレクトリが存在しているか、を確認する、存在していない場合、それを作成する、
    (3)プロセスロードサブモジュールは、ワークディレクトリの位置とユーザーの指定した実行可能ファイルのファイル名によって、当該実行可能ファイルの完全なパスを取得するとともに、このパスをパラメーターとしてOSのAPI関数を呼び出し、新しいプロセスを生成するようOSを制御する、
    (4)OSが新しいプロセスを生成する時、API関数を使って上述の完全なパスの表す前記実行可能ファイルを開けるとともに、「メモリ-ファイルマッピングメカニズム」に基づいて前記実行可能ファイルの内容をプロセスのアドレス空間にマッピングする、当該実行可能ファイルが他の実行可能モジュールファイルに依存する場合、OSはこのプロセスを繰り返してこの依存されたプログラムモジュールファイルをも開けてアドレス空間にマッピングする、このプロセスは、全ての依存ファイルが開けられ、アドレス空間にマップされるまで繰り返す、
    (5)I/O監視・処理サブモジュールは、OSからのファイルを開けるというI/Oリクエストを捕捉し、OSのファイルを開ける標準的なプロセスによってこのリクエストを完了すると同時に、クライアント側のローカルコンピュータに対応するキャッシュファイルがあるか、を確認する、ない場合、キャッシュメモリ管理サブモジュールは空の初期キャッシュファイルを作成する
    (6)それからOSは前記のWPSファイルにおいて定義されたエントリ関数を実行し始める、この関数はさらに自分の論理によって本ファイルまたは他のファイルの中のその他の関数を引き続き呼び出す、CPUは各関数を実行する時にそのアドレスに対して読み取り作業を実行することによって、コマンドの内容を取得し、解読と実行を行う、OSがすでにこれらのアドレスと実行可能モジュールファイルについて、「メモリ-ファイルマッピングメカニズム」を通じてマッピング関係を構築しているため、CPUのアクセスしたアドレスに対応するファイルデータが物理メモリにない場合、ページエラーが出る、この場合、基本的な実行の流れが一時停止する、ページエラーの処理サブプログラムはI/O読み取りリクエストを出し、対応するファイルの中の対応領域を物理メモリに読み込んだ上、元の実行の流れを続けるようリクエストする、I/O監視・処理サブモジュールは、全てのI/O読み取りリクエストを捕捉できる、それはまず読み取りしたいデータがメモリにすでに存在しているか、を確認する、存在している場合、メモリから読み取り、上位の呼び出し者に戻して当該読み取り作業を完了させる、メモリにない場合、I/O監視・処理サブモジュールはネットワーク通信サブモジュールに対して、サーバ側から当該データをメモリにダウンロードし、上位の呼び出し者に戻して当該読み取り作業を完了させるようリクエストする、
    というプロセスを含むことを特徴とする、ソフトウェア実行方法。
  7. さらに、(7)アプリケーションがデータファイルの一部の内容を読み取りたい場合、I/O監視・処理サブモジュールは当該I/O読み取りリクエストを捕捉し、読み取りしたいデータがメモリに存在しているか、を確認する、存在している場合、メモリから読み取り、上位の呼び出し者に戻して当該読み取り作業を完了させる、メモリにない場合、I/O監視・処理サブモジュールはネットワーク通信サブモジュールに対して、サーバ側から当該データをメモリにダウンロードし、これらのデータをキャッシュファイルに書き込んだ上、上位の呼び出し者に戻して当該読み取り作業を完了させるようリクエストすることを含むことを特徴とする、請求項7に記載のソフトウェア実行方法。
  8. (8)アプリケーションが終了した時、クライアント実行モジュールがこの動作を捕捉し、それに応じたソース整理を実行することを含むことを特徴とする請求項6又は7に記載のソフトウェア実行方法。
JP2009155695A 2008-11-28 2009-06-30 ソフトウェア実行システムおよびソフトウェアの実行方法 Pending JP2010129080A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102195475A CN101452402B (zh) 2008-11-28 2008-11-28 软件运行系统和软件运行方法

Publications (1)

Publication Number Publication Date
JP2010129080A true JP2010129080A (ja) 2010-06-10

Family

ID=40734649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009155695A Pending JP2010129080A (ja) 2008-11-28 2009-06-30 ソフトウェア実行システムおよびソフトウェアの実行方法

Country Status (3)

Country Link
US (1) US20100138479A1 (ja)
JP (1) JP2010129080A (ja)
CN (1) CN101452402B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170138525A (ko) * 2015-09-09 2017-12-15 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 애플리케이션 가속화 방법 및 디바이스
JP2023507273A (ja) * 2020-05-22 2023-02-22 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 異常スタック処理方法、システム、電子機器、及び記憶媒体

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8776038B2 (en) * 2008-08-07 2014-07-08 Code Systems Corporation Method and system for configuration of virtualized software applications
US8434093B2 (en) 2008-08-07 2013-04-30 Code Systems Corporation Method and system for virtualization of software applications
CN102073488B (zh) * 2009-11-20 2014-12-17 中兴通讯股份有限公司 一种软件集成方法、安装方法及软件集成装置、安装装置
US8954958B2 (en) * 2010-01-11 2015-02-10 Code Systems Corporation Method of configuring a virtual application
CN102135892B (zh) * 2010-01-22 2015-03-04 广州华多网络科技有限公司 应用程序运行方法、装置及系统
US9104517B2 (en) 2010-01-27 2015-08-11 Code Systems Corporation System for downloading and executing a virtual application
US8959183B2 (en) 2010-01-27 2015-02-17 Code Systems Corporation System for downloading and executing a virtual application
US9229748B2 (en) 2010-01-29 2016-01-05 Code Systems Corporation Method and system for improving startup performance and interoperability of a virtual application
US8255584B2 (en) * 2010-03-03 2012-08-28 I/O Doctors Llc Systems and methods for managing I/O throughput for large scale computing systems
US8763009B2 (en) 2010-04-17 2014-06-24 Code Systems Corporation Method of hosting a first application in a second application
US9218359B2 (en) 2010-07-02 2015-12-22 Code Systems Corporation Method and system for profiling virtual application resource utilization patterns by executing virtualized application
US9021015B2 (en) 2010-10-18 2015-04-28 Code Systems Corporation Method and system for publishing virtual applications to a web server
US9209976B2 (en) 2010-10-29 2015-12-08 Code Systems Corporation Method and system for restricting execution of virtual applications to a managed process environment
RU2453917C1 (ru) 2010-12-30 2012-06-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ для оптимизации выполнения антивирусных задач в локальной сети
WO2012140564A1 (en) * 2011-04-11 2012-10-18 Rakesh Sharrma System and method for mobile application development
CN102360285B (zh) * 2011-07-21 2014-09-03 福州锐达数码科技有限公司 在Windows操作系统中实现局域网程序分发的方法
CN103294489B (zh) * 2012-02-23 2017-12-01 腾讯科技(深圳)有限公司 开放平台中互联网应用的管理方法及任务管理器
CN103593200B (zh) * 2012-08-13 2017-12-08 腾讯科技(深圳)有限公司 获取应用程序的方法和装置
CN103678389B (zh) * 2012-09-19 2018-04-27 腾讯科技(深圳)有限公司 清理垃圾文件的方法和装置
CN103049315A (zh) * 2012-12-18 2013-04-17 柏科数据技术(深圳)有限公司 远程处理软件包的方法及系统
CN104731568A (zh) * 2013-12-23 2015-06-24 朱晓东 应用程序的运行方法和运行装置
CN104572218B (zh) * 2015-01-28 2019-02-01 宇龙计算机通信科技(深圳)有限公司 应用程序的运行控制方法、运行控制系统和终端
CN104780164B (zh) 2015-03-25 2016-12-21 腾讯科技(深圳)有限公司 一种运行游戏客户端的方法和装置
CN108089890B (zh) * 2016-11-21 2019-09-20 杨正 一种基于磁盘的应用运行方法及系统
CN108762821B (zh) * 2017-04-18 2023-04-25 海马云(天津)信息技术有限公司 电子设备运行应用的装置及方法、电子设备
CN108733426B (zh) * 2017-04-21 2021-10-29 海马云(天津)信息技术有限公司 电子设备运行应用的方法、装置及电子设备
CN107479920B (zh) * 2017-08-04 2020-05-29 浙江大学 一种单elf文件实现多操作系统加载的方法
US10585678B2 (en) * 2018-04-19 2020-03-10 Oracle International Corporation Insertion of custom activities in an orchestrated application suite
CN109375997A (zh) * 2018-09-28 2019-02-22 北京三快在线科技有限公司 一种处理网络资源的方法、装置、设备及可读存储介质
CN111125642B (zh) * 2018-10-31 2022-06-03 北京数聚鑫云信息技术有限公司 一种管理api的方法、装置、存储介质及计算机设备
CN113821273B (zh) * 2021-09-23 2023-10-13 武汉深之度科技有限公司 一种应用程序运行方法、计算设备及存储介质
CN114546508B (zh) * 2022-02-28 2024-04-12 广联达科技股份有限公司 工具型应用软件的云端访问方法及装置
CN115934112B (zh) * 2023-03-10 2023-05-12 德萱(天津)科技发展有限公司 一种基于驱动属性的多种类软件协作处理方法
CN116796331B (zh) * 2023-04-26 2024-04-05 之江奇安科技有限公司 一种在podman中实现进程监控和白名单机制的自动化hook方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0464160A (ja) * 1990-07-04 1992-02-28 Casio Comput Co Ltd データ処理システム
JP2006221630A (ja) * 2005-02-07 2006-08-24 Canon Inc ログ取得方法およびプログラム、記憶媒体
JP2006277446A (ja) * 2005-03-30 2006-10-12 Matsushita Electric Ind Co Ltd デバイスドライバ及びアプリケーションソフトウェアの提供システム
JP2007519071A (ja) * 2003-10-23 2007-07-12 マイクロソフト コーポレーション ソフトウェアアプリケーションをプログレッシブインストールするためのシステムおよび方法およびapi
WO2008099786A1 (ja) * 2007-02-13 2008-08-21 Nec Corporation メモリ障害復旧方法、情報処理装置およびプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826758B1 (en) * 1994-12-13 2004-11-30 Microsoft Corporation Method and system for accessing operating system resources
US5886733A (en) * 1996-05-17 1999-03-23 Sun Microsystems, Inc. Method and apparatus for successive refinement of broadcasted video frames
US6463530B1 (en) * 1999-06-10 2002-10-08 International Business Machines Corporation Method and apparatus for remotely booting a client computer from a network by emulating remote boot chips
US20030014476A1 (en) * 2001-01-03 2003-01-16 Peterson David Allen Thin client computer operating system
TWI242160B (en) * 2002-04-01 2005-10-21 Shun-Tang Hsu Method and tools to downsize existing operating systems for embedded applications
JP3924502B2 (ja) * 2002-07-04 2007-06-06 富士通株式会社 モバイル通信方法およびモバイル通信システム
CN1474269A (zh) * 2002-08-08 2004-02-11 力捷电脑股份有限公司 程序模块加载系统的方法
CN100495334C (zh) * 2003-01-22 2009-06-03 上海科泰世纪科技有限公司 一种基于工作例程/主导例程运行线程/进程的方法
US7146610B2 (en) * 2003-03-27 2006-12-05 Taiwan Semiconductor Manufacturing Company, Ltd. Method for upgrading software components without system shutdown
US20050065855A1 (en) * 2003-09-23 2005-03-24 Extreming, Inc. Virtual server consumer authorization, verification and credit update method and article
US20060080331A1 (en) * 2004-10-12 2006-04-13 International Business Machines Corporation Common interface system administration service library
JP5024999B2 (ja) * 2007-09-28 2012-09-12 東芝ソリューション株式会社 暗号管理装置、暗号管理方法、暗号管理プログラム
CN100517335C (zh) * 2007-10-25 2009-07-22 中国科学院计算技术研究所 一种分布式文件系统的文件写入系统和方法
US8326972B2 (en) * 2008-09-26 2012-12-04 Red Hat, Inc. Methods and systems for managing network connections in a software provisioning environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0464160A (ja) * 1990-07-04 1992-02-28 Casio Comput Co Ltd データ処理システム
JP2007519071A (ja) * 2003-10-23 2007-07-12 マイクロソフト コーポレーション ソフトウェアアプリケーションをプログレッシブインストールするためのシステムおよび方法およびapi
JP2006221630A (ja) * 2005-02-07 2006-08-24 Canon Inc ログ取得方法およびプログラム、記憶媒体
JP2006277446A (ja) * 2005-03-30 2006-10-12 Matsushita Electric Ind Co Ltd デバイスドライバ及びアプリケーションソフトウェアの提供システム
WO2008099786A1 (ja) * 2007-02-13 2008-08-21 Nec Corporation メモリ障害復旧方法、情報処理装置およびプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNA200900085001; Groupmax Address/Mail Version7 システム管理者ガイド 基本操作編 解説 第6版, 200707, p.109, 株式会社日立製作所 *
CSNB200200216001; Win32 APIオフィシャルリファレンス改訂3版 Windowsサービス/ネットワーク編 第1版, 200104, p.89, 株式会社アスキー *
JPN6012038865; Groupmax Address/Mail Version7 システム管理者ガイド 基本操作編 解説 第6版, 200707, p.109, 株式会社日立製作所 *
JPN6012038866; Win32 APIオフィシャルリファレンス改訂3版 Windowsサービス/ネットワーク編 第1版, 200104, p.89, 株式会社アスキー *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170138525A (ko) * 2015-09-09 2017-12-15 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 애플리케이션 가속화 방법 및 디바이스
KR101981885B1 (ko) 2015-09-09 2019-05-23 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 애플리케이션 가속화 방법 및 디바이스
JP2023507273A (ja) * 2020-05-22 2023-02-22 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 異常スタック処理方法、システム、電子機器、及び記憶媒体
US11775309B2 (en) 2020-05-22 2023-10-03 Beijing Baidu Netcom Science And Technology Co., Ltd. Exception stack handling method, system, electronic device and storage medium
JP7485267B2 (ja) 2020-05-22 2024-05-16 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 異常スタック処理方法、システム、電子機器、記憶媒体、及びコンピュータプログラム

Also Published As

Publication number Publication date
CN101452402A (zh) 2009-06-10
US20100138479A1 (en) 2010-06-03
CN101452402B (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
JP2010129080A (ja) ソフトウェア実行システムおよびソフトウェアの実行方法
KR102059219B1 (ko) 컴퓨터 시스템과 관련된 하드웨어 자원의 가상화를 위한 방법, 시스템 및 실행가능한 코드 조각
JP2004070944A (ja) アプリケーション向けにオペレーティングシステム機能を拡張するシステムおよび方法
US20100186011A1 (en) Methods and systems for implementing transcendent page caching
JP6293657B2 (ja) 他のオペレーティング・システムへのブート動作の動的なリダイレクト
US8112745B2 (en) Apparatus and method for capabilities verification and restriction of managed applications in an execution environment
WO2018099292A1 (zh) 一种进程管理方法及装置
JP2003157170A (ja) プログラムバイナリをデコードおよび実行する方法
KR100892417B1 (ko) 이동식 컴퓨팅 체제를 지원하는 이동식 저장 장치 및 이를이용한 이동식 컴퓨팅 체제 시스템
WO2003048925A1 (en) System and method for isolating applications from each other
JP2008033392A (ja) 仮想計算機システム及びその動作方法
JP2008524686A (ja) コンピュータ装置においてアプリケーションを保守する方法
US20100185817A1 (en) Methods and Systems for Implementing Transcendent Page Caching
US11029932B2 (en) Hydration of applications
US9804789B2 (en) Methods and apparatus to apply a modularized virtualization topology using virtual hard disks
US20140082275A1 (en) Server, host and method for reading base image through storage area network
JP2012530297A (ja) ソフトウェアコンポーネント状態に対するアクセスコントロール
JP2001290665A (ja) プロセッサシステム
WO2018103372A1 (zh) 一种驱动管理方法及宿主机
US10126983B2 (en) Methods and apparatus to enforce life cycle rules in a modularized virtualization topology using virtual hard disks
CN113613044A (zh) 视频播放方法、装置、存储介质及电子设备
US20100251236A1 (en) In-Process Intermediary To Create Virtual Processes
US11340915B2 (en) Encaching and sharing transformed libraries
KR20190069134A (ko) 응용 프로그램간 파일 공유 장치 및 방법
KR101434794B1 (ko) 프로그램 해킹 방어 방법 및 시스템

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120511

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121031

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121105

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130212