JP5658283B2 - アプリケーションの稼働方法、装置及びシステム - Google Patents

アプリケーションの稼働方法、装置及びシステム Download PDF

Info

Publication number
JP5658283B2
JP5658283B2 JP2012549238A JP2012549238A JP5658283B2 JP 5658283 B2 JP5658283 B2 JP 5658283B2 JP 2012549238 A JP2012549238 A JP 2012549238A JP 2012549238 A JP2012549238 A JP 2012549238A JP 5658283 B2 JP5658283 B2 JP 5658283B2
Authority
JP
Japan
Prior art keywords
application
data file
data
description information
file
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
Application number
JP2012549238A
Other languages
English (en)
Other versions
JP2013517578A (ja
Inventor
イーェ ヂュ
イーェ ヂュ
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 JP2013517578A publication Critical patent/JP2013517578A/ja
Application granted granted Critical
Publication of JP5658283B2 publication Critical patent/JP5658283B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

本願は、2010年1月22日に中国特許局に出願され、出願番号が201010100336.7、発明の名称が「アプリケーションの稼働方法、装置及びシステム」の中国特許出願の優先権を主張し、その全内容が引用により本願に取り入れられる。
本発明は、ソフトウェア処理技術に係り、具体的にアプリケーションの稼働方法、装置及びシステムに関する。
一つのアプリケーションは、その稼働時に必要とするファイルが通常プログラムファイルとデータファイルとの二つの部分を含む。大部分のアプリケーションの場合、そのデータファイルの体積のほうは、通常プログラムモジュールファイルの体積より大きくなっている。
アプリケーションの体積が過大となると、過多の記憶空間を占用するだけではなく、ユーザによるソフトウェア使用の時間コストが高くなる。従って、異なるユーザの応用需要を満足させるために、ソフトウェアのスリム化バージョン、即ち簡略版がたくさん市販されている。それらの製品の多くは、ソースファイルに対してスリム化を図ったものであり、一般的に言えば、特別なカスタマイズを経たものである。また、元のプログラムのソースコードを修正して新しいプログラムファイルを新たにコンパイルするとともに、一部のプログラムファイルとデータファイルを削除することにより、スリム化の目的を達成するような一部の簡略版のソフトウェアもある。
このような手法には、主として下記の欠点を有する。
1.異なるアプリケーションに対して特別なカスタマイズをすることが必要となり、汎用方法の提供ができない。
2.簡略版のソフトウェアは、機能が限られており、ユーザが他の機能を体験したければ、改めてインストールする必要がある。
本発明の実施例によりアプリケーションの稼働方法、装置及びシステムを提供し、専門的なカスタマイズをしなくても、アプリケーションのインストールパッケージの体積を簡単且つ効率的に縮減し、ユーザが必要とする機能を提供することができる。
そのため、本発明の実施例は、下記の技術案を提供する。
アプリケーションの稼働方法であって、上記アプリケーションに対応するプロセスをビルドし、予め生成した上記アプリケーションのデータファイル記述情報をロードすることと、上記プロセスによって上記アプリケーションのI/O要求をモニタし、上記アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定することと、上記アプリケーションのアクセス先のファイルのタイプがデータファイルである場合、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいてサーバサイドから取得することと、上記データブロックをメモリにロードすることとを含む。
好ましくは、上記の予め生成した上記アプリケーションのデータファイル記述情報をロードすることは、上記アプリケーションのデータファイル記述情報を上記サーバサイドからロードすることを含む。
好ましくは、上記方法は、さらに、上記アプリケーションに対応するプロセスをビルドする前に、上記アプリケーションのデータファイル記述情報がローカルの指定ディレクトリに格納されたか否かをチェックすることと、格納された場合、上記指定ディレクトリから上記データファイル記述情報をロードすることと、格納されていない場合、上記アプリケーションのデータファイル記述情報を上記サーバサイドからロードするステップを実行することとを含む。
好ましくは、上記方法は、さらに、上記アプリケーションのデータファイルを抽出し、上記データファイル記述情報を生成することと、上記データファイル記述情報をローカルの指定ディレクトリ及び/又は上記サーバサイドに格納し、上記データファイルを上記サーバサイドに格納することとを含む。
好ましくは、上記プロセスによって上記アプリケーションのI/O要求をモニタすることは、上記プロセスによってI/Oフック関数をロードすることと、上記アプリケーションの稼働時に、上記I/Oフック関数によって上記アプリケーションのI/O要求をモニタすることとを含む。
好ましくは、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいて上記サーバサイドから取得することは、上記データファイルが存在するか否かを上記データファイル記述情報に基づいてチェックすることと、上記データファイルが存在する場合、データブロックダウンロード要求を上記サーバサイドに送信することと、上記サーバサイドから配信された上記アプリケーションに必要なデータブロックを受信することとを含む。
好ましくは、上記方法は、さらに、データブロックダウンロード要求を上記サーバサイドに送信する前に、上記アプリケーションに必要なデータブロックがローカルのマッピングファイルに格納されたか否かをチェックすることと、格納された場合、上記アプリケーションに必要なデータブロックを上記マッピングファイルから取得することと、格納されていない場合、データブロックダウンロード要求を上記サーバサイドに送信するステップを実行することとを含む。
好ましくは、上記方法は、さらに、上記サーバサイドから配信された上記アプリケーションに必要なデータブロックを受信すると、上記データブロックを上記マッピングファイルに格納し、上記マッピングファイルのヘッダ情報を更新することを含み、上記アプリケーションに必要なデータブロックがローカルのマッピングファイルに格納されたか否かをチェックことは、上記マッピングファイルのヘッダ情報をチェックすることによって、上記アプリケーションに必要なデータブロックがローカルのマッピングファイルに格納されたか否かを特定することを含む。
好ましくは、上記方法は、さらに、サーバサイドが上記データブロックダウンロード要求を受信すると、上記要求に対して検証を行い、要求されるデータブロックが存在するか否かをチェックすることと、検証を通過し且つ上記データブロックが存在する場合、上記データブロックを要求元に送信することとを含む。
アプリケーションの稼働装置であって、上記アプリケーションに対応するプロセスをビルドし、予め生成した上記アプリケーションのデータファイル記述情報をロードするためのプロセスビルド手段と、上記プロセスによって上記アプリケーションのI/O要求をモニタし、上記アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定するためのモニタ手段と、上記アプリケーションのアクセス先のファイルのタイプがデータファイルであると上記モニタ手段が特定すると、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいてサーバサイドから取得するためのネットワーク通信手段と、上記データブロックをメモリにロードするためのロード手段とを含む。
好ましくは、ネットワーク通信手段は、さらに、上記データファイル記述情報を上記サーバサイドからダウンロードし、上記データファイル記述情報を上記プロセスビルド手段に送信する。
好ましくは、上記装置は、上記データファイル記述情報をローカルに格納するための記憶手段をさらに含み、上記ネットワーク通信手段は、さらに、ダウンロードした上記データファイル記述情報を上記記憶手段に格納し、上記プロセスビルド手段は、さらに、上記アプリケーションに対応するプロセスをビルドする前に、上記アプリケーションのデータファイル記述情報が上記記憶手段に格納されたか否かをチェックし、格納された場合、上記記憶手段から上記アプリケーションのデータファイル記述情報を抽出してロードし、格納されていない場合、上記ネットワーク通信手段に通知を送信し、上記ネットワーク通信手段は、上記プロセスビルド手段から送信された通知を受信すると、上記データファイル記述情報を上記サーバサイドからダウンロードする。
好ましくは、上記装置は、さらに、上記アプリケーションのデータファイルを抽出して上記データファイル記述情報を生成し、上記データファイル記述情報を上記記憶手段に格納し、及び/又は、上記データファイル記述情報を上記ネットワーク通信手段を介して上記サーバサイドにアップロードするためのデータファイル抽出手段を含む。
好ましくは、上記装置は、さらに、上記アプリケーションのアクセス先のファイルのタイプがデータファイルであると上記モニタ手段が特定すると、上記データファイルが存在するか否かを上記データファイル記述情報に基づいてチェックするためのチェック手段を含み、上記ネットワーク通信手段は、具体的に、上記データファイルが存在すると上記チェック手段がチェックした後、上記アプリケーションに必要なデータブロックを上記サーバサイドから取得する。
好ましくは、上記装置は、さらに、データブロックのマッピングファイルを格納するためのマッピング手段と、上記アプリケーションに必要なデータブロックを上記マッピング手段から抽出するためのデータブロック抽出手段とを含み、上記チェック手段は、さらに、上記データファイルの存在をチェックした後、上記アプリケーションに必要なデータブロックが上記マッピングファイルに格納されたか否かをチェックし、格納された場合、上記データブロック抽出手段に通知を送信し、格納されていない場合、上記ネットワーク通信手段に通知を送信し、上記データブロック抽出手段は、具体的に、上記チェック手段から送信された通知を受信すると、上記アプリケーションに必要なデータブロックを、上記マッピング手段に格納されたマッピングファイルから抽出し、上記データを上記ロード手段に送信し、上記ネットワーク通信手段は、具体的に、上記チェック手段から送信された通知を受信すると、上記アプリケーションに必要なデータブロックを上記サーバサイドから取得し、上記データブロックを上記ロード手段に送信するとともに、上記データブロックを上記マッピングファイルに格納し、上記マッピングファイルのヘッダ情報を同期更新する。
上記チェック手段は、上記マッピングファイルのヘッダ情報をチェックすることによって、上記アプリケーションに必要なデータブロックがローカルのマッピングファイルに格納するか否かを特定する。
クライアントサイドとサーバサイドとを含むアプリケーションのロードシステムであって、上記サーバサイドは、アプリケーションに必要なデータファイルの各データブロックを格納し、上記クライアントサイドは、上記アプリケーションに対応するプロセスをビルドし、予め生成した上記アプリケーションのデータファイル記述情報をロードし、上記プロセスによって上記アプリケーションのI/O要求をモニタし、上記アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定し、上記アプリケーションのアクセス先のファイルのタイプがデータファイルである場合、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいて上記サーバサイドから取得し、上記データブロックをメモリにロードする。
好ましくは、上記クライアントサイドは、上記サーバサイドにデータファイル要求を送信することによって、上記アプリケーションに必要なデータブロックを上記サーバサイドから取得し、上記サーバサイドは、上記データファイル要求を受信すると、上記要求に対して検証を行い、要求されるデータファイルが存在するか否かをチェックし、検証を通過しかつ上記データファイルが存在する場合、上記データファイルを上記クライアントサイドに送信する。
コンピュータが読み取り可能な記憶媒体であって、コンピュータプログラムコードを含み、該コンピュータプログラムコードは、一つのコンピュータ手段によって実行され、該コンピュータ手段に、上記アプリケーションに対応するプロセスをビルドし、予め生成した上記アプリケーションのデータファイル記述情報をロードし、上記プロセスによって上記アプリケーションのI/O要求をモニタし、上記アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定し、上記アプリケーションのアクセス先のファイルのタイプがデータファイルである場合、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいてサーバサイドから取得し、上記データブロックをメモリにロードすることを行なわせる。
本発明の実施例によるアプリケーションの稼働方法、装置及びシステムでは、クライアントサイドにおいて、予め生成した上記アプリケーションのデータファイル記述情報をロードし、上記アプリケーションのI/O要求をモニタし、アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定し、上記アプリケーションのアクセス先のファイルのタイプがデータファイルである場合、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいてサーバサイドから取得し、上記データブロックをメモリにロードする。これにより、アプリケーションのプログラムファイルとデータファイルとを隔離して格納でき、ユーザ端末にアプリケーションのプログラムモジュールファイルのみをインストールさせる一方、データファイルが外部ネットワークに格納可能であり、ユーザの所望に応じてダウンロードしてインストールすることで、アプリケーションの体積を効果的に減少させ、ユーザ端末の記憶空間を節約した。本発明の実施例の方法によれば、ソフトウェア簡略版の専門的なカスタマイズをしなくても、アプリケーションのインストールパッケージの体積を簡単且つ効果的に縮減させ、ユーザが必要とする機能を提供することができる。
本発明の実施例によるアプリケーションの稼働方法のフロー図である。 本発明の実施例によるアプリケーションの稼働装置の一種の構造を模式的に示す図面である。 本発明の実施例によるアプリケーションの稼働装置の別種の構造を模式的に示す図面である。 本発明の実施例によるアプリケーションの稼働装置の別種の構造を模式的に示す図面である。 本発明の実施例によるアプリケーションの稼働装置の別種の構造を模式的に示す図面である。
当技術分野の者に本発明の実施例の技術案をよりよく理解してもらうために、以下、図面と実施の形態を参照して本発明の実施例について更なる詳細な説明をする。
本発明の実施例によるアプリケーションの稼働方法、装置及びシステムは、上記の従来技術に存在している欠点に対して、アプリケーションの体積の過大が主にデータファイルの体積の過大により引き起こされるという特徴を考慮し、アプリケーションのプログラムファイルとデータファイルとを隔離して格納する。クライアントサイドにおいて、予め生成した上記アプリケーションのデータファイル記述情報をロードし、上記アプリケーションのI/O要求をモニタし、アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定し、上記アプリケーションのアクセス先のファイルのタイプがデータファイルである場合、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいてサーバサイドから取得し、上記データブロックをメモリにロードする。これにより、ユーザ端末にアプリケーションのプログラムファイルのみをインストールさせる一方、データファイルが外部ネットワークに格納可能であり、ユーザの所望に応じてダウンロードしてインストールすることで、アプリケーションの体積を効果的に減少させ、ユーザ端末の記憶空間を節約した。また、ソフトウェア簡略版の専門的なカスタマイズをしなくても、アプリケーションのインストールパッケージの体積を簡単且つ効果的に縮減させ、ユーザが必要とする機能を提供することができる。
図1は、本発明の実施例によるアプリケーションの稼働方法のフロー図である。下記のステップを含む。
ステップ101において、上記アプリケーションに対応するプロセスをビルドし、予め生成した上記アプリケーションのデータファイル記述情報をロードする。
上記データファイル記述情報は、予め上記アプリケーションのデータファイルを抽出して生成してもよい。該抽出過程は、上記アプリケーションをインストール済みの一つの端末において行なってもよい。上記端末は、上記アプリケーションを稼働させる端末であってもよいし、その他の端末であってもよい。
例えば、仮に一つの端末にwpsのインストールパッケージを配置し、wpsのインストールディレクトリがC:¥Program Files¥Kingsoft¥WPS Office Personalとすると、下記の過程によって、該wpsに対応するデータファイル記述情報を生成することができる。
まず、該ディレクトリの配下にあるフォルダ及びファイルをエルゴードし、該ディレクトリの配下に具体的にどのぐらいのファイルを有することや、どのファイルがデータファイルであり、どのファイルがプログラムファイルであることを分析する。具体的に、ファイル名及びその拡張子に基づいてプログラムファイルとデータファイルを区別できる。例えば、ディレクトリのC:¥Program Files¥Kingsoft¥WPS Office Personal¥office6の配下の大部分のdllファイルとexeファイルがプログラムファイルであり、ディレクトリのC:¥Program Files¥Kingsoft¥WPS Office Personal¥mediaの配下の大部分のファイルがデータファイルである。
他に、ファイルの二進数形式を分析することによりファイルのタイプを特定してもよい。
エルゴード解析の後に、一つの記述ファイル、即ちデータファイル記述情報を生成する。この記述ファイルには、主に、アプリケーションにどのぐらいのデータファイルを含むことや、各データファイルのファイル名、サイズ、MD5検査コードなどの情報が含まれている。他にも、上記データファイル記述情報には、各データファイルのマッピングファイル名をさらに含んでもよい。ただし、上記マッピングファイルは、ユーザ端末に格納されるデータファイルのマッピング情報を示し、詳しくは後で詳細に説明する。
もちろん、応用需要に応じて他の情報を有してもよい。本発明の実施例はこれについて限定をしない。
本発明の実施例では、上記データファイル記述情報をローカル及び/又はサーバサイドに格納し、上記データファイルをサーバサイドに格納する。
上記アプリケーションに対応するプロセスをビルドする前に、上記アプリケーションのデータファイル記述情報が既にローカルの指定ディレクトリに格納されたか否かをチェックする必要がある。格納された場合、直接ローカルから上記データファイル記述情報をロードすることができる。格納されていない場合、サーバサイドから上記データファイル記述情報をダウンロードしてロードすることができる。さらに、ダウンロードしたデータファイル記述情報をローカルの指定ディレクトリに格納してもよい。よって、今後、上記アプリケーションのデータファイル記述情報のロードが必要となるとき、再びサーバサイドからダウンロードする必要はなく、直接ローカルの指定ディレクトリから直接ロードすればよい。
ステップ102において、上記プロセスによって上記アプリケーションのI/O要求をモニタし、上記アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定する。
具体的に、上記プロセスによって、上記アプリケーションのファイルのI/Oアプリケーションインタフェース(例えば、CreateFile、GetFileAttributes、SetFilePointer、CloseHandle、GetFileSize、ReadFile、WriteFile)などの関数に対してフック(Hook)を掛け、即ちI/Oフック関数をロードし、アプリケーションのI/O要求をモニタする。上記アプリケーションの稼働後に、I/O要求があれば、I/Oフック関数がそれをモニタして遮断する。
コンピュータプログラミング分野において、フックを使用して、ソフトウェアのコンポーネント間の関数呼び出し及びメッセージの受け渡しを遮断し、さらに関数呼び出しの実行結果又はメッセージの受け渡しの内容を変更することができる。
本発明の実施例では、I/Oフック関数で上記アプリケーションのI/O要求をモニタすると、上記I/O要求に基づいて、上記アプリケーションのアクセス先のファイルハンドルを取得し、該ファイルハンドルに基づいて、例えばファイル名、サイズ、リードオンリー/読み書きといった属性など、該ファイルの関連情報を取得でき、これらの情報に基づいて、アクセス先のファイルのタイプを特定できる。例えば、上記アプリケーションのデータファイル記述情報に該ファイル名が含まれると、上記アプリケーションのアクセス先のファイルがデータファイルであることを表す。
ステップ103において、上記アプリケーションのアクセス先のファイルのタイプがデータファイルである場合、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいてサーバサイドから取得する。
前に言及したが、上記データファイル記述情報には、各データファイルのファイル名、サイズ、MD5検査コードなどの情報が含まれてもよい。従って、上記I/Oフック関数が上記データファイル記述情報に基づき、上記アプリケーションのアクセス先のデータファイルが存在するか否かをチェックできる。上記データファイル記述情報に上記アプリケーションのアクセス先のデータファイルのファイル名が含まれると、該データファイルが存在することを表し、逆の場合、該データファイルが存在しないことを表す。
上記データファイルが存在しないとチェックすると、エラー提示メッセージをユーザに返送できる。
上記データファイルが存在するとチェックすると、上記アプリケーションに必要なデータブロックをサーバサイドから取得できる。具体的に、上記サーバサイドにデータブロックダウンロード要求を送信し、上記サーバサイドから配信された上記アプリケーションに必要なデータブロックを受信する。上記のデータブロックは、上記データファイルの中の一部のデータ又は全てのデータである。
上記サーバサイドが上記データファイル要求を受信すると、上記要求に対して検証を行い、要求されるデータファイルが存在するか否かをチェックする。検証を通過し且つ上記データファイルが存在すると、上記データファイルを要求元に送信する。これによって、データの安全性をより保証できる。
同様に、後続のアプリケーションの再度稼働時における上記データブロックのロード需要の便利を図り、ロード時間コストを節約するために、上記アプリケーションに必要なデータブロックをサーバサイドから取得した後、それをローカルのマッピングファイルにマッピングしてもよい。
対応して、本発明の実施例では、上記アプリケーションに必要なデータブロックをサーバサイドから取得する前に、さらに上記アプリケーションに必要なデータブロックがローカルのマッピングファイルに格納されたか否かをチェックしてもよい。上記データブロックがローカルのマッピングファイルに格納された場合、上記アプリケーションに必要なデータブロックを直接上記マッピングファイルから抽出できる。逆の場合、上記アプリケーションに必要なデータブロックを上記サーバサイドから取得する。
上記マッピングファイルにはヘッダ情報とデータ情報との二つの部分の内容が含まれてもよい。ヘッダ情報には、名称、オフセットアドレスなど、上記マッピングファイルに含まれる各データブロックのインデックス情報を含む。すると、上記アプリケーションに必要なデータブロックがローカルのマッピングファイルに格納されたか否かをチェックするときに、全マッピングファイルをエルゴードする必要はなく、該ヘッダ情報中の内容のみで特定でき、上記マッピングファイルに格納された情報の検索を便利にした。
対応して、マッピングファイルにおけるヘッダ情報とデータ情報との対応を保証するために、上記サーバサイドから取得したデータブロックを上記マッピングファイルに格納した後、さらに上記マッピングファイルのヘッダ情報を同時更新する。
もちろん、本発明の実施例では、上記のような実現方式に限定することはなく、例えば、ユーザ端末のメモリ空間をさらに節約するために、上記データブロックをローカルに格納しなくてもよい。アプリケーションが毎回稼働するときに、データファイルへのアクセスが必要とする場合、対応するデータブロックをサーバサイドからダウンロードすればよい。
また、アプリケーションがデータファイルにアクセスするときに、該データファイルにおけるいずれか一つ又は複数のデータブロックだけをアクセスすればよい場合がある。従って、毎回サーバサイドからダウンロードするときに、アプリケーションのアクセス先のデータファイルを完全にローカルにダウンロードしてもよいし、上記データファイルのうち、上記アプリケーションに必要なデータブロックのみをダウンロードしてもよい。もちろん、アプリケーションがデータブロックの境界に従ったアクセスをしなくてもよく、一つのデータブロックの一部の内容のみをアクセスする場合もあるし、連続した複数のデータブロックをアクセスする場合もある。そのため、一定のアルゴリズムでアプリケーションのアクセス先のファイルオフセット及びデータサイズに基づいて特定し、対応するデータブロックに変換して上記マッピングファイルにマッピングする。つまり、ローカルで格納するマッピングファイルにおけるデータブロックは、ダウンロードしたデータブロックとは形式が異なってもよく、一定のマッピング関係が存在する。
ステップ104において、上記データブロックをメモリにロードし、上記アプリケーションの使用に供する。
本発明の実施例によるアプリケーションの稼働方法は、予め生成した上記アプリケーションのデータファイル記述情報をロードし、上記アプリケーションのI/O要求をモニタし、アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定し、上記アプリケーションのアクセス先のファイルのタイプがデータファイルである場合、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいて取得し、上記データブロックをメモリにロードする。これにより、ユーザ端末にアプリケーションのプログラムモジュールファイルのみをインストールさせる一方、データファイルが外部ネットワークに格納可能であり、ユーザの所望に応じてダウンロードしてインストールすることで、アプリケーションの体積を効果的に減少させ、ユーザ端末の記憶空間を節約した。また、ソフトウェア簡略版の専門的なカスタマイズをしなくても、アプリケーションのインストールパッケージの体積を簡単且つ効果的に縮減させ、ユーザが必要とする機能を提供することができる。
プログラムによって関連するハードウェアを指令することにより、上記実施例による方法の全て又は一部のステップを実現できることは、当分野の一般技術者が理解できる。上記のプログラムは、コンピュータが読み取り可能な記憶媒体に格納してもよい。上記の記憶媒体は、例えばROM/RAM、磁気ディスク、光ディスクなどである。
対応して、本発明の実施例は、さらにアプリケーションの稼働装置を提供する。図2は、該装置の一種の構造を模式的に示す図面である。
該実施例において、上記装置は、プロセスビルド手段201、モニタ手段202、ネットワーク通信手段203及びロード手段204を含む。
プロセスビルド手段201は、上記アプリケーションに対応するプロセスをビルドし、予め生成した上記アプリケーションのデータファイル記述情報をロードする。
上記データファイル記述情報は、ローカルに格納されてもよいし、サーバサイドに格納されてもよい。もちろん、同時にローカルとサーバサイドに格納されてもよい。
上述のように、上記データファイル記述情報は、上記アプリケーションをインストールするユーザ端末が上記アプリケーションのデータファイルを抽出することにより生成され、ローカル及び/又はサーバサイドに格納されてもよいし、他のユーザ端末で生成されてからサーバサイドに格納されてもよい。上記データファイル記述情報の具体的な内容及び生成過程は、前文の本発明の実施例によるアプリケーションの稼働方法における記載を参照でき、ここでは贅言しない。
対応して、上記プロセスビルド手段201は、上記データファイル記述情報をロードするときに、ローカルからロードするか、上記サーバサイドから取得してロードする。具体的な過程は、後で詳細に説明する。
なお、上記アプリケーションのデータファイルも、予め上記サーバサイドに格納される必要がある。
モニタ手段202は、上記プロセスによって上記アプリケーションのI/O要求をモニタし、上記アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定する。
具体的に、上記プロセスによって、上記アプリケーションのファイルのI/Oアプリケーションインタフェース(例えば、CreateFile、GetFileAttributes、SetFilePointer、CloseHandle、GetFileSize、ReadFile、WriteFile)などの関数に対してフック(Hook)を掛け、即ちI/Oフック関数をロードし、アプリケーションのI/O要求をモニタする。上記アプリケーションの稼働後に、I/O要求があれば、I/Oフック関数がそれをモニタして遮断する。
I/Oフック関数で上記アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定する。
ネットワーク通信手段203は、上記アプリケーションのアクセス先のファイルのタイプがデータファイルであると上記モニタ手段202が特定すると、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいてサーバサイドから取得する。
前に言及したが、上記アプリケーションのデータファイルが予めサーバサイドに格納されている。通常一つのデータファイルに一つ又は複数のデータブロックが含まれるが、アプリケーションがいずれのデータファイルにアクセスするときに、そのうちの一部のデータブロックしか必要としないかもしれない。従って、本発明の実施例において、上記データブロック取得手段203は、上記アプリケーションに必要なデータブロックを上記サーバサイドのみから取得してもよい。
ロード手段204は、上記データブロックをメモリにロードする。
以上から分かるように、本発明の実施例によるアプリケーションの稼働装置は、予め生成した上記アプリケーションのデータファイル記述情報をロードし、上記アプリケーションのI/O要求をモニタし、アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定し、上記アプリケーションのアクセス先のファイルのタイプがデータファイルである場合、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいてサーバサイドから取得し、上記データブロックをメモリにロードする。これにより、ユーザ端末にアプリケーションのプログラムモジュールファイルのみをインストールさせる一方、データファイルを外部ネットワークに格納し、ユーザの所望に応じてダウンロードしてインストールすることで、アプリケーションの体積を効果的に減少させ、ユーザ端末の記憶空間を節約した。また、ソフトウェア簡略版の専門的なカスタマイズをしなくても、アプリケーションのインストールパッケージの体積を簡単且つ効果的に縮減させ、ユーザが必要とする機能を提供することができる。
前に言及したが、上記データファイル記述情報は、他のユーザ端末で予め生成されてからサーバサイドに格納されてもよい。そのため、本発明のアプリケーションの稼働装置の一つの実施例において、上記ネットワーク通信手段203は、上記データファイル記述情報を上記サーバサイドからダウンロードし、上記データファイル記述情報を上記プロセスビルド手段203に送信する。
図3は、本発明の実施例によるアプリケーションの稼働装置の別種の構造を模式的に示す図面である。
図2に示す実施例と異なる点として、該実施例において、上記装置は、上記データファイル記述情報をローカルに格納するための記憶手段301をさらに含み、上記ネットワーク通信手段203は、さらに、ダウンロードした上記データファイル記述情報を上記記憶手段301に格納することである。
該実施例において、上記プロセスビルド手段201は、初回で上記データファイル記述情報をロードするときに、上記ネットワーク通信手段203を介してしか上記データファイル記述情報を上記サーバサイドからダウンロードしてロードできないが、後続の上記アプリケーションの再度稼働時に、上記データファイル記述情報を直接上記記憶手段301からロードできる。
対応して、上記プロセスビルド手段201は、さらに、上記アプリケーションに対応するプロセスをビルドする前に、上記アプリケーションのデータファイル記述情報が上記記憶手段301に格納されたか否かをチェックし、格納された場合、上記記憶手段301から上記アプリケーションのデータファイル記述情報を抽出してロードし、格納されていない場合、上記ネットワーク通信手段203に通知を送信する。上記ネットワーク通信手段203は、上記プロセスビルド手段201から送信された通知を受信すると、上記データファイル記述情報を上記サーバサイドからダウンロードし、上記データファイル記述情報を上記プロセスビルド手段201に返送し、上記データファイル記述情報を上記記憶手段301に格納する。
前に言及したが、上記データファイル記述情報は、上記アプリケーションをインストールするユーザ端末が上記アプリケーションのデータファイルを抽出して生成してもよい。
図4は、本発明の実施例によるアプリケーションの稼働装置の別種の構造を模式的に示す図面である。
図3に示す実施例と異なる点として、該実施例において、上記装置は、上記アプリケーションのデータファイルを抽出して上記データファイル記述情報を生成し、上記データファイル記述情報を上記記憶手段301に格納するためのデータファイル抽出手段401をさらに含むことである。
もちろん、本発明のアプリケーションの稼働装置の別の実施例において、上記データファイル抽出手段401は、上記ネットワーク通信手段203を介して上記データファイル記述情報を上記サーバサイドにアップロードしてもよい。
もちろん、上記データファイル抽出手段401は、上記データファイル記述情報を上記記憶手段301に格納すると同時に、上記ネットワーク通信手段203を介して上記サーバサイドにアップロードしてもよい。
該実施例において、上記プロセスビルド手段201は、初回で上記データファイル記述情報をロードするときに、上記データファイル記述情報を直接上記記憶手段301からロードできる。
対応して、上記プロセスビルド手段201は、さらに、上記アプリケーションに対応するプロセスをビルドする前に、上記アプリケーションのデータファイル記述情報が上記記憶手段301に格納されたか否かをチェックし、格納された場合、上記記憶手段301から上記アプリケーションのデータファイル記述情報を抽出してロードし、格納されていない場合、上記ネットワーク通信手段203に通知を送信する。上記ネットワーク通信手段203は、上記プロセスビルド手段201から送信された通知を受信すると、上記データファイル記述情報を上記サーバサイドからダウンロードし、上記データファイル記述情報を上記プロセスビルド手段201に返送し、上記データファイル記述情報を上記記憶手段301に格納する。
図5は、本発明の実施例によるアプリケーションの稼働装置の別種の構造を模式的に示す図面である。
図2に示す実施例と異なる点として、該実施例において、上記装置は、上記アプリケーションのアクセス先のファイルのタイプがデータファイルであると上記モニタ手段202が特定すると、上記データファイルが存在するか否かを上記プロセスビルド手段201によってロードしたデータファイル記述情報に基づいてチェックするためのチェック手段501をさらに含むことである。
該実施例において、上記ネットワーク通信手段203は、上記データファイルが存在すると上記チェック手段501がチェックした後、上記アプリケーションに必要なデータブロックを上記サーバサイドから取得する必要がある。
もちろん、上記チェック手段501は、同様に上記図3及び図4に示す実施例にも適用できる。
後続のアプリケーション稼働時における、前にロードしたデータブロックのロード需要をさらに便利にするために、本発明の実施例において、マッピング手段502とデータブロック抽出手段503をさらに含んでもよい。
マッピング手段502は、データブロックのマッピングファイルを格納する。
データブロック抽出手段503は、上記アプリケーションに必要なデータブロックを上記マッピング手段502から抽出する。
該実施例において、上記チェック手段501は、さらに、上記データファイルの存在をチェックした後、上記アプリケーションに必要なデータブロックが上記マッピングファイルに格納されたか否かをさらにチェックし、格納された場合、上記データブロック抽出手段503に通知を送信し、格納されていない場合、上記ネットワーク通信手段203に通知を送信する。
対応して、上記データブロック抽出手段503は、具体的に、上記チェック手段501から送信された通知を受信すると、上記アプリケーションに必要なデータブロックを、上記マッピング手段502に格納されたマッピングファイルから抽出し、上記データブロックを上記ロード手段204に送信する。
同様に、上記ネットワーク通信手段203は、具体的に、上記チェック手段501から送信された通知を受信すると、上記アプリケーションに必要なデータブロックを上記サーバサイドから取得し、上記データブロックを上記ロード手段204に送信する。同時に、上記データブロックを上記マッピングファイルにも格納する。
本発明の実施例によるアプリケーションの稼働装置は、予め生成した上記アプリケーションのデータファイル記述情報をロードし、上記アプリケーションのI/O要求をモニタし、アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定し、上記アプリケーションのアクセス先のファイルのタイプがデータファイルである場合、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいてサーバサイドから取得し、上記データブロックをメモリにロードする。これにより、ユーザ端末にアプリケーションのプログラムモジュールファイルのみをインストールさせる一方、データファイルを外部ネットワークに格納し、ユーザの所望に応じてダウンロードしてインストールすることで、アプリケーションの体積を効果的に減少させ、ユーザ端末の記憶空間を節約した。また、ソフトウェア簡略版の専門的なカスタマイズをしなくても、アプリケーションのインストールパッケージの体積を簡単且つ効果的に縮減させ、ユーザが必要とする機能を提供することができる。
さらに、ネットワーク通信手段203は、上記アプリケーションに必要なデータブロックを上記サーバサイドから取得してそれを上記マッピングファイルに格納することにより、アプリケーションの後続での再度稼働時に、直接ローカルから上記データブロックを取得でき、ネットワークを介した取得が必要でなくなる。よって、上記データブロックのロード時間を効果的に加速させ、ローカルの記憶空間を最大限に節約した。
本発明の実施例において、上記マッピングファイルにはヘッダ情報とデータ情報との二つの部分の内容が含まれてもよい。そのため、上記ネットワーク通信手段203は、サーバサイドから取得したデータブロックを上記マッピングファイルに格納すると同時に、上記マッピングファイルのヘッダ情報を同期更新する必要がある。これにより、上記チェック手段501が上記アプリケーションに必要なデータブロックがローカルのマッピングファイルに格納されたか否かをチェックするときに、全マッピングファイルをエルゴードする必要はなく、上記マッピングファイルのヘッダ情報のみをチェックすることで、上記アプリケーションに必要なデータブロックがローカルのマッピングファイルに格納されたか否かを特定できる。
なお、本発明の実施例において、上記マッピングファイルにおけるデータブロックは、サーバサイドからダウンロードしたデータブロックとは形式が異なってもよく、一定のマッピング関係が存在する。
本発明の実施例は、クライアントサイドとサーバサイドとを含むアプリケーショの稼働システムをさらに提供する。
上記サーバサイドは、アプリケーションに必要なデータファイルの各データブロックを格納する。
上記クライアントサイドは、上記アプリケーションに対応するプロセスをビルドし、予め生成した上記アプリケーションのデータファイル記述情報をロードし、上記プロセスによって上記アプリケーションのI/O要求をモニタし、上記アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定し、上記アプリケーションのアクセス先のファイルのタイプがデータファイルである場合、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいて上記サーバサイドから取得し、上記データブロックをメモリにロードする。
本発明の実施例において、上記クライアントサイドは、前述各実施例におけるアプリケーションの稼働装置であってもよい。
また、上記クライアントサイドは、上記サーバサイドにデータファイル要求を送信することによって、上記アプリケーションに必要なデータブロックを上記サーバサイドから取得する。対応して、上記サーバサイドは、上記データファイル要求を受信すると、上記要求に対して検証を行い、要求されるデータファイルが存在するか否かをチェックし、検証を通過しかつ上記データファイルが存在する場合、上記データファイルを上記クライアントサイドに送信する。
本発明の実施例によるアプリケーションの稼働システムは、特別なソフトウェアに対して専門的なカスタマイズをしなくても、ストリーム式での稼働及び需要に応じたダウンロードを実現できる。即ち、クライアントサイドのユーザ端末は、ソフトウェアの完全バージョンの一部のファイルのみをインストールし、他の必要なファイルをデータストリームの方式でサーバサイドからダウンロードしてもよいので、ユーザの磁気ディスク空間を効果的に節約できる。本発明の実施例によるアプリケーションの稼働システムは、汎用性が高く、市販されている大部分のソフトウェア及びネットゲームに対していずれもよい効果を有する。さらに、データファイルのダウンロードを制御することにより、異なるユーザへの機能使用上の制限を実現することもできる。
以上、本発明の実施例を詳細に紹介した。本文では、具体的な実施形態によって本発明を説明したが、以上の実施例の説明は、本発明の方法及び設備を理解するためのものに過ぎない。同時に、当分野の一般技術者にとって、本発明の思想に基づき、具体的な実施形態及び応用範囲において変更が可能である。つまり、本明細書の内容は、本発明への制限と理解されるべきではない。

Claims (17)

  1. アプリケーションの稼働方法であって、
    上記アプリケーションのデータファイルを抽出し、データファイル記述情報を生成することと、
    上記データファイル記述情報をローカルの指定ディレクトリ及び/又は上記サーバサイドに格納し、上記データファイルを上記サーバサイドに格納することと、
    上記アプリケーションのデータファイル記述情報がローカルの指定ディレクトリに格納されたか否かをチェックすることと、
    上記アプリケーションに対応するプロセスをビルドし、予め生成した上記アプリケーションのデータファイル記述情報をロードすることと、
    上記プロセスによって上記アプリケーションのI/O要求をモニタし、上記アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定することと、
    上記アプリケーションのアクセス先のファイルのタイプがデータファイルである場合、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいてサーバサイドから取得することと、
    上記データブロックをメモリにロードすることと、
    を含むことを特徴とするアプリケーションの実行方法。
  2. 上記の予め生成した上記アプリケーションのデータファイル記述情報をロードすることは、
    上記アプリケーションのデータファイル記述情報を上記サーバサイドからロードすることを含むことを特徴とする請求項1に記載の方法。
  3. さらに、
    上記アプリケーションのデータファイル記述情報がローカルの指定ディレクトリに格納された場合、上記指定ディレクトリから上記データファイル記述情報をロードすることと、
    上記アプリケーションのデータファイル記述情報がローカルの指定ディレクトリに格納されていない場合、上記の上記アプリケーションのデータファイル記述情報を上記サーバサイドからロードするステップを実行することと、
    を含むことを特徴とする請求項2に記載の方法。
  4. 上記の上記プロセスによって上記アプリケーションのI/O要求をモニタすることは、 上記プロセスによってI/Oフック関数をロードすることと、
    上記アプリケーションの稼働時に、上記I/Oフック関数によって上記アプリケーションのI/O要求をモニタすることと、
    を含むことを特徴とする請求項1ないし3のいずれか一項に記載の方法。
  5. 上記の上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいて上記サーバサイドから取得することは、
    上記データファイルが存在するか否かを上記データファイル記述情報に基づいてチェックすることと、
    上記データファイルが存在する場合、データブロックダウンロード要求を上記サーバサイドに送信することと、
    上記サーバサイドから配信された上記アプリケーションに必要なデータブロックを受信することと、
    を含むことを特徴とする請求項1ないし3のいずれか一項に記載の方法。
  6. さらに、
    データブロックダウンロード要求を上記サーバサイドに送信する前に、上記アプリケーションに必要なデータブロックがローカルのマッピングファイルに格納されたか否かをチェックすることと、
    格納された場合、上記アプリケーションに必要なデータブロックを上記マッピングファイルから取得することと、
    格納されていない場合、データブロックダウンロード要求を上記サーバサイドに送信するステップを実行することと、
    を含むことを特徴とする請求項5に記載の方法。
  7. さらに、
    上記サーバサイドから配信された上記アプリケーションに必要なデータブロックを受信すると、上記データブロックを上記マッピングファイルに格納し、上記マッピングファイルのヘッダ情報を更新することを含み、
    上記の上記アプリケーションに必要なデータブロックがローカルのマッピングファイルに格納されたか否かをチェックことは、
    上記マッピングファイルのヘッダ情報をチェックすることによって、上記アプリケーションに必要なデータブロックがローカルのマッピングファイルに格納されたか否かを特定することを含むことを特徴とする請求項6に記載の方法。
  8. さらに、
    サーバサイドが上記データブロックダウンロード要求を受信すると、上記要求に対して検証を行い、要求されるデータブロックが存在するか否かをチェックすることと、
    検証を通過し且つ上記データブロックが存在する場合、上記データブロックを要求元に送信することと、
    を含むことを特徴とする請求項5に記載の方法。
  9. アプリケーションの稼働装置であって、
    上記アプリケーションに対応するプロセスをビルドし、予め生成した上記アプリケーションのデータファイル記述情報をロードするためのプロセスビルド手段と、
    上記プロセスによって上記アプリケーションのI/O要求をモニタし、上記アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定するためのモニタ手段と、
    上記アプリケーションのアクセス先のファイルのタイプがデータファイルであると上記モニタ手段が特定すると、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいてサーバサイドから取得するためのネットワーク通信手段と、
    上記データブロックをメモリにロードするためのロード手段と、
    上記データファイル記述情報をローカルに格納するための記憶手段と、
    上記アプリケーションのデータファイルを抽出して上記データファイル記述情報を生成し、上記データファイル記述情報を上記記憶手段に格納し、及び/又は、上記データファイル記述情報を上記ネットワーク通信手段を介して上記サーバサイドにアップロードするためのデータファイル抽出手段と、
    を含み、
    上記プロセスビルド手段は、上記アプリケーションに対応するプロセスをビルドする前に、上記アプリケーションのデータファイル記述情報が上記記憶手段に格納されたか否かをチェックする
    ことを特徴とするアプリケーションの稼働装置。
  10. ネットワーク通信手段は、さらに、上記データファイル記述情報を上記サーバサイドからダウンロードし、上記データファイル記述情報を上記プロセスビルド手段に送信することを特徴とする請求項9に記載の装置。
  11. 上記ネットワーク通信手段は、さらに、ダウンロードした上記データファイル記述情報を上記記憶手段に格納し、
    上記アプリケーションのデータファイル記述情報が上記記憶手段に格納された場合、上記記憶手段から上記アプリケーションのデータファイル記述情報を抽出してロードし、上記アプリケーションのデータファイル記述情報が上記記憶手段に格納されていない場合、上記ネットワーク通信手段に通知を送信し、
    上記ネットワーク通信手段は、上記プロセスビルド手段から送信された通知を受信すると、上記データファイル記述情報を上記サーバサイドからダウンロードすることを特徴とする請求項10に記載の装置。
  12. さらに、
    上記アプリケーションのアクセス先のファイルのタイプがデータファイルであると上記モニタ手段が特定すると、上記データファイルが存在するか否かを上記データファイル記述情報に基づいてチェックするためのチェック手段を含み、
    上記ネットワーク通信手段は、具体的に、上記データファイルが存在すると上記チェック手段がチェックした後、上記アプリケーションに必要なデータブロックを上記サーバサイドから取得することを特徴とする請求項9ないし11のいずれか一項に記載の装置。
  13. さらに、
    データブロックのマッピングファイルを格納するためのマッピング手段と、
    上記アプリケーションに必要なデータブロックを上記マッピング手段から抽出するためのデータブロック抽出手段と、
    を含み、
    上記チェック手段は、さらに、上記データファイルの存在をチェックした後、上記アプリケーションに必要なデータブロックが上記マッピングファイルに格納されたか否かをさらにチェックし、格納された場合、上記データブロック抽出手段に通知を送信し、格納されていない場合、上記ネットワーク通信手段に通知を送信し、
    上記データブロック抽出手段は、具体的に、上記チェック手段から送信された通知を受信すると、上記アプリケーションに必要なデータブロックを、上記マッピング手段に格納されたマッピングファイルから抽出し、上記データブロックを上記ロード手段に送信し、
    上記ネットワーク通信手段は、具体的に、上記チェック手段から送信された通知を受信すると、上記アプリケーションに必要なデータブロックを上記サーバサイドから取得し、上記データブロックを上記ロード手段に送信するとともに、上記データブロックを上記マッピングファイルに格納し、上記マッピングファイルのヘッダ情報を同期更新し、
    上記チェック手段は、上記マッピングファイルのヘッダ情報をチェックすることによって、上記アプリケーションに必要なデータブロックがローカルのマッピングファイルに格納するか否かを特定することを特徴とする請求項12に記載の装置。
  14. クライアントサイドとサーバサイドとを含むアプリケーションのロードシステムであって、
    上記サーバサイドは、アプリケーションに必要なデータファイルの各データブロックを格納し、
    上記クライアントサイドは、上記アプリケーションに対応するプロセスをビルドし、予め生成した上記アプリケーションのデータファイル記述情報をロードし、上記プロセスによって上記アプリケーションのI/O要求をモニタし、上記アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定し、上記アプリケーションのアクセス先のファイルのタイプがデータファイルである場合、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいて上記サーバサイドから取得し、上記データブロックをメモリにロードし、
    上記アプリケーションに対応するプロセスをビルドする前に、上記アプリケーションのデータファイル記述情報が上記クライアントサイドに格納されたか否かをチェックし、
    上記アプリケーションのデータファイルを抽出して上記データファイル記述情報を生成し、
    上記データファイル記述情報を上記クライアントサイド及び/又は上記サーバサイドに格納し、上記データファイルを上記サーバサイドに格納する
    ことを特徴とするアプリケーションのロードシステム。
  15. 上記クライアントサイドは、上記サーバサイドにデータファイル要求を送信することによって、上記アプリケーションに必要なデータブロックを上記サーバサイドから取得し、 上記サーバサイドは、上記データファイル要求を受信すると、上記要求に対して検証を行い、要求されるデータファイルが存在するか否かをチェックし、
    検証を通過しかつ上記データファイルが存在する場合、上記データファイルを上記クライアントサイドに送信することを特徴とする請求項14に記載のシステム。
  16. 上記クライアントサイドは、請求項9ないし13のいずれか一項に記載のアプリケーションの稼働装置であることを特徴とする請求項14又は15に記載のシステム。
  17. コンピュータが読み取り可能な記憶媒体であって、
    コンピュータプログラムコードを含み、
    該コンピュータプログラムコードは、一つのコンピュータ手段によって実行され、該コンピュータ手段に、
    アプリケーションに対応するプロセスをビルドし、予め生成した上記アプリケーションのデータファイル記述情報をロードし、
    上記プロセスによって上記アプリケーションのI/O要求をモニタし、上記アプリケーションのI/O要求をモニタすると、上記アプリケーションのアクセス先のファイルのタイプを上記I/O要求に基づいて特定し、
    上記アプリケーションのアクセス先のファイルのタイプがデータファイルである場合、上記アプリケーションに必要なデータブロックを上記データファイル記述情報に基づいてサーバサイドから取得し、
    上記データブロックをメモリにロードし、
    上記アプリケーションに対応するプロセスをビルドする前に、上記アプリケーションのデータファイル記述情報が上記コンピュータ手段に格納されたか否かをチェックし、
    上記アプリケーションのデータファイルを抽出して上記データファイル記述情報を生成し、
    上記データファイル記述情報を上記コンピュータ手段及び/又は上記サーバサイドに格納し、上記データファイルを上記サーバサイドに格納する
    ことを行なわせることを特徴とするコンピュータが読み取り可能な記憶媒体。
JP2012549238A 2010-01-22 2010-12-16 アプリケーションの稼働方法、装置及びシステム Active JP5658283B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201010100336.7A CN102135892B (zh) 2010-01-22 2010-01-22 应用程序运行方法、装置及系统
CN201010100336.7 2010-01-22
PCT/CN2010/079860 WO2011088714A1 (zh) 2010-01-22 2010-12-16 应用程序运行方法、装置及系统

Publications (2)

Publication Number Publication Date
JP2013517578A JP2013517578A (ja) 2013-05-16
JP5658283B2 true JP5658283B2 (ja) 2015-01-21

Family

ID=44295686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012549238A Active JP5658283B2 (ja) 2010-01-22 2010-12-16 アプリケーションの稼働方法、装置及びシステム

Country Status (4)

Country Link
US (1) US9256414B2 (ja)
JP (1) JP5658283B2 (ja)
CN (1) CN102135892B (ja)
WO (1) WO2011088714A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399696B (zh) 2007-09-24 2011-09-21 国际商业机器公司 通过网络为客户机安装软件的方法、系统及相应的客户机
CN103108320A (zh) * 2011-11-15 2013-05-15 网秦无限(北京)科技有限公司 一种监控移动设备的应用程序的方法和系统
CN102621432B (zh) * 2012-04-11 2014-02-05 北京四方继保自动化股份有限公司 一种继电保护装置单板自动测试方法
US9977596B2 (en) * 2012-12-27 2018-05-22 Dropbox, Inc. Predictive models of file access patterns by application and file type
CN104065625B (zh) * 2013-03-21 2018-07-03 联想(北京)有限公司 应用试用方法及装置
CN103546806B (zh) * 2013-10-16 2017-04-05 小米科技有限责任公司 一种功能列表的生成方法和装置
CN105718458A (zh) * 2014-12-02 2016-06-29 阿里巴巴集团控股有限公司 一种确定数据文件存在的方法、装置及系统
JP6529304B2 (ja) * 2015-03-25 2019-06-12 株式会社日立ソリューションズ アクセス制御システム及びアクセス制御方法
CN105513317A (zh) * 2015-12-11 2016-04-20 中南大学 一种基于透明计算的智能遥控器控制方法
CN106909353B (zh) * 2015-12-22 2019-12-13 阿里巴巴集团控股有限公司 应用程序的运行方法和装置
CN108089888B (zh) * 2016-11-21 2019-09-13 杨正 一种基于文件系统的应用运行方法及系统
CN108089890B (zh) * 2016-11-21 2019-09-20 杨正 一种基于磁盘的应用运行方法及系统
CN108229112B (zh) * 2016-12-22 2022-06-03 阿里巴巴集团控股有限公司 一种保护应用程序、应用程序的运行方法以及装置
US20200004522A1 (en) * 2018-06-27 2020-01-02 Hewlett Packard Enterprise Development Lp Selective download of a portion of a firmware bundle
CN108897546A (zh) * 2018-07-03 2018-11-27 北京五八信息技术有限公司 监控apk大小的方法、装置、设备及可读存储介质
CN109165050B (zh) * 2018-07-05 2020-10-13 腾讯科技(深圳)有限公司 程序的运行方法、装置、计算设备以及存储介质
CN109359092B (zh) * 2018-09-27 2023-05-26 腾讯科技(深圳)有限公司 文件管理方法、桌面显示方法、装置、终端及介质
CN109492350A (zh) * 2018-11-09 2019-03-19 郑州云海信息技术有限公司 一种软件演示程序构造方法、系统、设备及计算机介质
CN111475171B (zh) * 2019-01-23 2024-04-12 阿里巴巴集团控股有限公司 应用程序组件下载方法、装置、电子设备
CN110609715A (zh) * 2019-08-13 2019-12-24 平安国际智慧城市科技股份有限公司 随机选项页面展示方法、装置、计算机设备和存储介质
CN110765394B (zh) * 2019-09-20 2024-08-13 中国平安人寿保险股份有限公司 so文件加载方法、装置、存储介质及终端设备
CN112732421A (zh) * 2020-12-28 2021-04-30 航天信息股份有限公司 一种在税控设备托管盘组上同时访问多个税控设备的方法及系统
KR102446933B1 (ko) * 2022-02-23 2022-09-26 프라이빗테크놀로지 주식회사 애플리케이션의 파일 송신 및 수신을 제어하기 위한 시스템 및 그에 관한 방법
KR102495370B1 (ko) * 2022-04-28 2023-02-06 프라이빗테크놀로지 주식회사 프록시에 기반하여 애플리케이션의 파일 송신 및 수신을 제어하기 위한 시스템 및 그에 관한 방법

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644751A (en) * 1994-10-03 1997-07-01 International Business Machines Corporation Distributed file system (DFS) cache management based on file access characteristics
JP2001350657A (ja) * 2000-06-05 2001-12-21 Sony Corp 情報処理装置、情報処理方法
JP2001350464A (ja) * 2000-06-07 2001-12-21 Nec Corp 文字フォント登録システム及びそれに用いる文字フォント登録方法
US6941351B2 (en) * 2000-07-11 2005-09-06 Microsoft Corporation Application program caching
US6959320B2 (en) * 2000-11-06 2005-10-25 Endeavors Technology, Inc. Client-side performance optimization system for streamed applications
FR2821191B1 (fr) * 2001-02-19 2003-04-04 Schneider Automation Station de programmation elaborant un programme en langage unique et equipement d'automatisme utilisant un tel programme
CN1434402A (zh) 2002-01-21 2003-08-06 中国科学院研究生院 基于url的远程图象文件描述服务的方法和系统
JP2004240802A (ja) * 2003-02-07 2004-08-26 Sony Corp データ処理システム及びデータ処理方法、並びにコンピュータ・プログラム
US20050071477A1 (en) * 2003-03-27 2005-03-31 Microsoft Corporation Providing information links via a network
US7735057B2 (en) * 2003-05-16 2010-06-08 Symantec Corporation Method and apparatus for packaging and streaming installation software
US20050003810A1 (en) * 2003-05-28 2005-01-06 Sun Microsystems, Inc. Method and system for optimizing software program start-up time
JP2005092552A (ja) * 2003-09-18 2005-04-07 Toshiba Solutions Corp 情報処理端末、情報処理方法及び情報処理プログラム
US20050065953A1 (en) * 2003-09-19 2005-03-24 Bower Shelley K. System and method for changing defined elements in a previously compiled program using a description file
US7725716B2 (en) * 2004-06-28 2010-05-25 Japan Communications, Inc. Methods and systems for encrypting, transmitting, and storing electronic information and files
US20060048136A1 (en) * 2004-08-25 2006-03-02 Vries Jeff D Interception-based resource detection system
US20060136389A1 (en) * 2004-12-22 2006-06-22 Cover Clay H System and method for invocation of streaming application
US20060225047A1 (en) * 2005-04-05 2006-10-05 William Brothers Generic software requirements analyzer
JP4442902B2 (ja) * 2005-07-06 2010-03-31 キヤノン株式会社 情報処理装置とその方法及びプログラム
JP4984612B2 (ja) * 2006-04-10 2012-07-25 ブラザー工業株式会社 インストーラパッケージ
US7681138B2 (en) * 2006-07-11 2010-03-16 Siemens Aktiengesellschaft Use of a reusable control software whose user interface and communication connection are established via an external description-based configuration at run time
US20130047150A1 (en) * 2006-08-29 2013-02-21 Adobe Systems Incorporated Software installation and process management support
EP1901190A1 (en) * 2006-09-15 2008-03-19 Sony DADC Austria AG Method and system for managing access to add-on data files
US20080295110A1 (en) * 2007-05-23 2008-11-27 Fabrizio Muscarella Framework for Startup of Local Instance of Remote Application
CN101399696B (zh) 2007-09-24 2011-09-21 国际商业机器公司 通过网络为客户机安装软件的方法、系统及相应的客户机
JP5303172B2 (ja) * 2008-03-28 2013-10-02 Necパーソナルコンピュータ株式会社 情報処理装置、ファイル制御システム、制御方法及びプログラム
CN101354660B (zh) * 2008-09-12 2013-07-24 北京中星微电子有限公司 嵌入式软件程序的运行方法、装置及其系统
CN101452402B (zh) * 2008-11-28 2012-05-30 珠海金山快快科技有限公司 软件运行系统和软件运行方法

Also Published As

Publication number Publication date
WO2011088714A1 (zh) 2011-07-28
JP2013517578A (ja) 2013-05-16
US20120297034A1 (en) 2012-11-22
CN102135892B (zh) 2015-03-04
US9256414B2 (en) 2016-02-09
CN102135892A (zh) 2011-07-27

Similar Documents

Publication Publication Date Title
JP5658283B2 (ja) アプリケーションの稼働方法、装置及びシステム
US11467816B1 (en) Method and system of running an application
EP3333704B1 (en) Method and apparatus for repairing kernel vulnerability
US9454356B2 (en) Method of and terminal for updating library file in system application
US11818224B2 (en) On demand resources
JP7297769B2 (ja) プリキャシュのためのクライアント・マシン間でのシェーダの配布
US9880824B2 (en) On demand resources
RU2575985C2 (ru) Способ и устройство для проверки исполняемой программы с использованием модели
US9569197B2 (en) Method of disseminating updated drivers to mobile computing devices and a dissemination system therefor
CN105786538B (zh) 基于安卓系统的软件升级方法和装置
CN106462430B (zh) 应用升级包获取方法及装置
US9317681B2 (en) Information processing apparatus, information processing method, and computer program product
US20060155674A1 (en) Image server
US20110145803A1 (en) Extension mechanism
CN110543327B (zh) 业务组件复用方法、装置、计算机设备及存储介质
CN111316230B (zh) 一种补丁包生成方法及设备
CN110532016B (zh) 版本管理方法、版本更新方法和版本管理系统
KR20110125698A (ko) 웹 어플리케이션 실행을 위한 보안 제공 장치 및 방법
CN105760183A (zh) 文件处理方法、装置及通信系统
CN110765394A (zh) so文件加载方法、装置、存储介质及终端设备
CN108108203B (zh) 用于安装包下载安装过程的方法、装置及系统
US10514940B2 (en) Virtual application package reconstruction
CN107667343B (zh) 用于加载按需加载资源的系统和方法
CN107783837B (zh) 一种进行存储扩展的方法、装置及电子设备
KR101384929B1 (ko) 사용자 단말의 저장 매체를 위한 미디어 스캐닝 방법 및 미디어 스캐닝 장치

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140822

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20141007

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: 20141125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141127

R150 Certificate of patent or registration of utility model

Ref document number: 5658283

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

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