JP2002358208A - データ処理システム及びデータ処理方法、情報処理装置及び情報処理方法、並びに記憶媒体 - Google Patents

データ処理システム及びデータ処理方法、情報処理装置及び情報処理方法、並びに記憶媒体

Info

Publication number
JP2002358208A
JP2002358208A JP2001336040A JP2001336040A JP2002358208A JP 2002358208 A JP2002358208 A JP 2002358208A JP 2001336040 A JP2001336040 A JP 2001336040A JP 2001336040 A JP2001336040 A JP 2001336040A JP 2002358208 A JP2002358208 A JP 2002358208A
Authority
JP
Japan
Prior art keywords
module
new component
information
data
phrase
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.)
Granted
Application number
JP2001336040A
Other languages
English (en)
Other versions
JP3687587B2 (ja
Inventor
Tsutomu Gamo
勉 蒲生
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2001336040A priority Critical patent/JP3687587B2/ja
Priority to CNB028074165A priority patent/CN1260643C/zh
Priority to US10/468,306 priority patent/US20040107291A1/en
Priority to PCT/JP2002/001407 priority patent/WO2002077798A1/ja
Priority to EP02712447A priority patent/EP1378822A1/en
Publication of JP2002358208A publication Critical patent/JP2002358208A/ja
Application granted granted Critical
Publication of JP3687587B2 publication Critical patent/JP3687587B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

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

Abstract

(57)【要約】 【課題】 モジュールをサーバからクライアントにダウ
ンロードする際のようにデータ移動処理の高速化を実現
する。 【解決手段】 特性を基に各モジュールを分類し、新規
構成要素により再構成を行うとともに、構成されたモジ
ュールに特性を記述した情報を対応付ける。クライアン
トがモジュールをダウンロードして利用する際に、モジ
ュールのうち最初に利用される部分を含む新規構成要素
のみをダウンロードし、その後は必要に応じて新規構成
要素を単位としてダウンロードを行うことにより、ダウ
ンロードの高速化と、モジュールの利用と並行したダウ
ンロードを実現する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、モジュールを管理
するサーバとサーバからモジュールをダウンロードして
利用するクライアントとで構成されるネットワーク・シ
ステムにおいてサーバからクライアントへのモジュール
のダウンロードを行ったり、あるいは、システム・バス
を介して接続される周辺機器からデータの転送を行うな
どのデータの移動を処理するデータ処理システム及びデ
ータ処理方法、情報処理装置及び情報処理方法、並びに
記憶媒体に係り、特に、クライアント側におけるダウン
ロード処理や周辺機器からのデータ転送の高速化を図っ
たデータ処理システム及びデータ処理方法、情報処理装
置及び情報処理方法、並びに記憶媒体に関する。
【0002】
【従来の技術】いわゆるコンピュータ処理は、プロセッ
サ上で所定のプログラムを実行するという形式で実現さ
れる。
【0003】最近のソフトウェア開発の分野では、処理
手順ではなく処理対象となるデータを重要視するという
「オブジェクト指向」(object oriented)技術が盛ん
に採り入れられている。一般に、オブジェクト指向によ
れば、ソフトウェアの開発と保守が効率化されると考え
られている。オブジェクト指向に基づくソフトウェア
は、基本的に、データとそのデータに対する処理手続き
とを一体化させた「オブジェクト」というモジュール単
位で扱われる。また、必要に応じて複数のオブジェクト
を作成したり組み合わせることで1つのソフトウェアが
完成する。勿論、プログラムのダウンロードも、モジュ
ール単位で取り扱うことができる。
【0004】モジュールをクライアントにバスなどで接
続された記憶装置で保管し管理を行い、クライアントは
プログラムの実行に際してこれら記憶装置からプログラ
ムをダウンロードして実行するという方法がある。ま
た、クライアントとサーバからなるデータ処理システム
においては、プログラムをサーバ上で保管、管理を行
い、クライアントはプログラムの実行に際してサーバか
らプログラムをダウンロードし、実行するという方法が
ある。これらを、本明細書ではプログラムの「ダウンロ
ード実行」と呼ぶ。
【0005】これら管理装置からプログラムのダウンロ
ード実行を行う場合、プログラムの実行に先立ってダウ
ンロードの完了を待つ必要がある。これを「ダウンロー
ド実行遅延」と呼ぶ。また、クライアントに接続された
モジュールの管理を行う記憶装置のことを以下では「モ
ジュール管理装置」と呼ぶ。
【0006】従来、クライアントに接続されたこれらモ
ジュール管理装置からのダウンロード実行遅延の問題を
解決するために、モジュール管理装置とクライアント間
の転送速度の高速化が行われている。例えば、モジュー
ル管理装置としてクライアントに接続されたハード・デ
ィスク装置を利用する場合、ハード・ディスク装置の高
密度化や回転数の向上、またハード・ディスク装置とク
ライアント間の接続バスの転送速度や転送幅の向上によ
り転送速度の高速化を行っている。
【0007】また、モジュール管理装置とクライアント
の間にキャッシュ(cache)を設け、キャッシュに保管
されているデータに関してはモジュール管理装置への実
際のアクセスを省略することで見かけ上の転送速度の高
速化を行っている。
【0008】他方、クライアントとサーバからなるシス
テムにおいて、プログラム実行時にオンデマンドでダウ
ンロードして実行する機能を提供しているものの例とし
て、米サンマイクロシステムズ社により開発された「J
ava(登録商標)アプレット」を挙げることができ
る。これは、厳密には、Javaの開発・実行環境が提
供しているアプレット・クラスをカスタマイズして作成
されたソフトウェアであり、通常HTML(Hyper Text
Markup Language)形式で記述されるウェブ・ページに
Javaアプレットを組み合わせることで、その機能を
拡張することができる。HTMLファイルでは、<APPLE
T>タグを使用して、Javaアプレットの格納場所を記
述する。Javaアプレットは、複数のJavaクラス
・ファイル、又はそれらを1つにまとめた"JAR"ファ
イルによって構成され、これらのファイルはサーバ上で
保管、管理される。
【0009】Javaアプレットを含むウェブ・ページ
を表示した際に、WWW(World Wide Web)サーバから
アプレットのコードがダウンロードされ、ブラウザ上で
実行される。Javaアプレットの実行は、通常、ウェ
ブ・ブラウザが持つJavaVM(Java仮想マシ
ン) によって行われる。Javaでは、ソース・ファイ
ルをマシンに依存しない形式の「バイト・コード」と呼
ばれる中間言語にコンパイルするが、JavaVMはこ
のバイト・コードをダウンロードして実行する。Jav
aアプレット実行中に参照したJavaクラスがJav
aVM上にないと、JavaVMはJavaアプレット
の実行を停止し、サーバへJavaクラス・ファイルの
ダウンロード要求を行い、ダウンロードが完了後に実行
を再開する。
【0010】このため、Javaアプレットの実行には
ダウンロード完了を待つためのプログラムの実行遅延が
発生し、それがプログラム実行の性能低下を引き起こす
という問題がある。この遅延は上述の「ダウンロード実
行遅延」に相当する。プログラムの起動時にはほとんど
のJavaクラスがJavaVMには存在しないため、
特にダウンロード実行遅延が大きくなる。この場合、プ
ログラムの実行とダウンロードには並行性はない。
【0011】ダウンロード実行遅延の問題を解決するた
めに、Javaアプレットに対して幾つかの研究や開発
がなされている。
【0012】1つの手法では、Javaクラスを、プロ
グラムの振る舞いを示すプロファイル・データやプログ
ラムの構造を解析した結果を用いて、高い頻度で利用さ
れる部分と低い頻度で利用される2つに分割を行ってい
る。そして、Javaクラスのダウンロード要求が J
avaVMによりなされた場合には、高い頻度で利用さ
れる部分のみをダウンロードすることで、転送量を削減
し起動時間の短縮を行っている。
【0013】また、別の手法では、Javaクラス内の
メソッドをプロファイル・データやプログラムの構造解
析の結果を用いて予測される使用順序に並べ替えるとい
うことを行う。Javaクラスはあらかじめ決められた
タイミングでサーバ側からダウンロードが開始される。
そして、JavaVMは、Javaクラスが完全にダウ
ンロードされるのを待たずに、必要とされるメソッドや
データがダウンロード終了した時点で実行を開始するこ
とで、ダウンロードとプログラム実行を並列化して、ダ
ウンロード実行遅延の改善を行っている。
【0014】また、別の手法では、Javaクラスを、
プログラムの振る舞いを示すプロファイルデータやプロ
グラムの構造を解析した結果を用いて、高い頻度で利用
される部分と低い頻度でしか利用されない部分とに分割
して転送量を削減し、さらに、Javaのプログラム中
にプログラム生成時にあらかじめ別のJavaクラスの
プリフェッチを行う命令を挿入することで、ダウンロー
ドとプログラム実行を並列化し、ダウンロード実行遅延
の改善を行っている。
【0015】
【発明が解決しようとする課題】モジュールをモジュー
ル管理装置からクライアントにダウンロードを行い実行
するには、モジュールのダウンロードの完了を待つ必要
があるため、処理速度が低下するという問題がある。こ
の問題の解決方法としてモジュール管理装置とクライア
ント間の転送速度の高速化が行われている(上述)が、
クライアントのモジュール実行速度に比較して転送速度
は低速であるため、ダウンロード実行遅延が十分に解決
されない。
【0016】また、モジュール管理装置とクライアント
の間にキャッシュが存在する場合であっても、キャッシ
ュ容量には制限があるため、すべてのモジュールをキャ
ッシュ上に配置できる訳ではく、ダウンロード実行遅延
が十分に解決されない。また、どのデータをキャッシュ
に残すかという判断はLRU(Least Recently Used)
などの機械的なアルゴリズムによって行われるため、ダ
ウンロード実行遅延の改善には必ずしも効果的ではな
い。
【0017】他方、クライアントとサーバからなるシス
テムにおけるダウンロード実行遅延は、Javaアプレ
ットに特有の問題ではなく、サーバからモジュールをダ
ウンロード実行するすべてのシステムにおいて問題とな
る。
【0018】このダウンロード実行遅延の解決方法とし
て、Javaクラスを使用頻度によって2つに分割して
転送量を削減する手法(上述)が提案されている。しか
しながら、この手法は、Javaアプレットのような比
較的小さいプログラムに対しては有効であっても、今後
ダウンロードを行うプログラムが高機能化されそのプロ
グラムの大きさが増加していくに従い、単純に2分割に
するだけでは十分な改善が見込めないという問題があ
る。
【0019】また、従来の手法では、プリフェッチはサ
ーバによる発行であったり、又は、プログラム中にプリ
フェッチ命令として埋め込むことでプリフェッチの発行
を行っていた。このため、クライアント機器のプログラ
ム実行性能があらかじめ想定したものと異なった場合や
ネットワークの転送速度が想定した速度から実行時に機
器の移動などに伴い変化した場合には充分な性能を発揮
できないという問題もある。さらに、プログラムが複数
のコンポーネントから構成され一部のコンポーネントが
修正された場合、コンポーネントの大きさが変化するた
め、プリフェッチのタイミングが最適ではなくなるとい
う問題もある。
【0020】また、クライアント機器によっては、キャ
ッシュ・メモリを搭載していてそれをダウンロードした
プログラムの一時保存の目的に利用可能である場合や、
プログラムの実行性能が高く圧縮したプログラムをクラ
イアント側で伸張することが可能である場合がある。こ
れらキャッシュや圧縮の機能を利用するためには別途対
応が必要となり柔軟性に欠けるという問題もある。
【0021】本発明は上述したような技術的課題に鑑み
たものであり、クライアント機器の能力や機能、モジュ
ール管理装置とクライアント機器間の転送速度の多様性
に柔軟に対応して、ダウンロード実行遅延を改善するこ
とができる、優れたデータ処理システム及びデータ処理
方法、情報処理装置及び情報処理方法、並びに記憶媒体
を提供することを目的とする。
【0022】また、本発明は、クライアント機器の能力
や機能、ネットワークの転送速度の多様性に柔軟に対応
し、ダウンロード実行遅延を改善することができる、優
れたデータ処理システム及びデータ処理方法、情報処理
装置及び情報処理方法、並びに記憶媒体を提供すること
を目的とする。
【0023】
【課題を解決するための手段及び作用】本発明は、上記
課題を参酌してなされたものであり、その第1の側面
は、モジュールを管理するモジュール管理装置と該モジ
ュール管理装置からモジュールを移動して利用するクラ
イアントで構成されるデータ処理システムであって、前
記モジュール装置において、モジュールの基本構成要素
をそれぞれの特性を基に分類して複数の基本構成要素か
らなる新規構成要素によりモジュールを再構成するとと
もに、それぞれの新規構成要素に対して該当する特性を
特性情報として記述して、前記クライアントからの要求
に応答して再構成された新規構成要素並びにその特性情
報を送信し、前記クライアントにおいて、前記モジュー
ル管理装置からモジュールを移動して利用する際には新
規構成要素に関連付けられた特性情報に応じた処理をモ
ジュールの利用とは透過的に実行する、ことを特徴とす
るデータ処理システムである。
【0024】但し、ここで言う「システム」とは、複数
の装置(又は特定の機能を実現する機能モジュール)が
論理的に集合した物のことを言い、各装置や機能モジュ
ールが単一の筐体内にあるか否かは特に問わない。
【0025】また、本発明の第2の側面は、モジュール
管理装置において管理されるモジュールをクライアント
に移動して利用するデータ処理方法であって、前記モジ
ュール装置において、モジュールの基本構成要素をそれ
ぞれの特性を基に分類して複数の基本構成要素からなる
新規構成要素によりモジュールを再構成するとともに、
それぞれの新規構成要素に対して該当する特性を特性情
報として記述して、前記クライアントからの要求に応答
して再構成された新規構成要素並びにその特性情報を送
信するステップと、前記クライアントにおいて、前記モ
ジュール管理装置からモジュールを移動して利用する際
には新規構成要素に関連付けられた特性情報に応じた処
理をモジュールの利用とは透過的に実行するステップ
と、を具備することを特徴とするデータ処理方法であ
る。
【0026】本発明の第1又は第2の側面に係るデータ
処理システム又はデータ処理方法において、前記モジュ
ール管理装置は、例えば、クライアントとネットワーク
経由で相互接続されたサーバである。あるいは、前記モ
ジュール管理装置は、所定の機器内でクライアントとバ
ス経由で相互接続されたハード・ディスク装置やDVD
ドライブ装置などの周辺装置であってもよい。
【0027】また、モジュールとは、例えば、コンピュ
ータ可読形式で記述されたコンピュータ・プログラムの
ことである。モジュールは、基本構成要素に分解可能な
データであってもよい。
【0028】本発明の第1又は第2の側面に係るデータ
処理システム又はデータ処理方法によれば、プログラム
のような複数の基本構成要素からなるモジュールをフレ
ーズ(phrase)と呼ばれる新規構成要素により再
構成させることで、プログラムの実行に不要な部分を分
類可能とし、実行に必要なプログラム部分のみをクライ
アント側に移動させることを可能とする。さらにフレー
ズにアノテーション(annotation)と呼ばれ
る特性情報を対応させることで、同じプログラムに対し
てクライアントのさまざまな構成に応じてそれぞれに最
適な形で、プリフェッチ、キャッシュといった異なる複
数の手法の利用を柔軟に組み合わせた、ダウンロード実
行の高速化を行うことができる。
【0029】前記モジュール管理装置では、各新規構成
要素について1以上の圧縮方式を用いて圧縮し且つその
情報を対応する特性情報に記述するとともに、前記クラ
イアントが備える伸張方式の通知を受けてこれに対応し
た圧縮方式で圧縮された新規構成要素を送信するように
してもよい。
【0030】また、前記モジュール管理装置では、モジ
ュールに含まれる各新規構成要素をそれぞれ個別に圧縮
処理し、前記クライアントから複数の伸張方式の通知を
受けた場合はそのうち最も適した方式で圧縮された新規
構成要素を送信するようにしてもよい。
【0031】また、本発明の第3の側面は、外部装置に
モジュールを提供する情報処理装置又は方法であって、
モジュールの基本構成要素をそれぞれの特性を基に分類
して、複数の基本構成要素からなる新規構成要素により
モジュールを再構成するモジュール再構成手段又はステ
ップと、それぞれの新規構成要素に対して該当する特性
を特性情報として記述する特性情報記述手段又はステッ
プと、外部装置からの要求に応答して、再構成された新
規構成要素並びにその特性情報を送信する情報送信手段
又はステップと、を具備することを特徴とする情報処理
装置又は方法である。
【0032】ここで、モジュールとは、例えば、コンピ
ュータ可読形式で記述されたコンピュータ・プログラム
のことである。モジュールは、基本構成要素に分解可能
なデータであってもよい。
【0033】本発明の第3の側面に係る情報処理装置
は、例えば、コンピュータ・ネットワーク上でモジュー
ルを提供・配信するサーバとして稼働することができ
る。また、サーバからモジュールの提供を受けてこれを
利用する外部装置は、クライアントに相当する。あるい
は、本発明の第3の側面に係る情報処理装置は、単一の
装置内で、クライアントにバス接続されているハード・
ディスク装置やDVDドライブ装置などの周辺機器に相
当する。
【0034】本発明の第3の側面に係る情報処理装置又
は情報処理方法によれば、サーバ側では、プログラムを
実行時の参照関係やダウンロード効率を考慮して、複数
の基本構成要素からなる元のプログラムをフレーズと呼
ばれる新規構成要素に分類再構成をし直すようになって
いる。そして、各フレーズにそのフレーズの特性を示す
情報としてアノテーションと呼ばれる特性情報を対応さ
せるようにした。このような場合、クライアント側で
は、アノテーションの情報を利用して、そのクライアン
ト機器に適したプリフェッチ手法、キャッシュ、圧縮な
どの手法を柔軟に組み合わせることで、ダウンロード実
行の速度を向上させることができる。
【0035】前記情報送信手段又はステップは、モジュ
ールのうち前記外部装置すなわちクライアントで最初に
利用される部分を含む新規構成要素のみをまず送信し、
その後必要に応じて新規構成要素を単位として送信する
ようにしてもよい。
【0036】また、前記情報送信手段又はステップは、
モジュールのうち前記外部装置すなわちクライアントで
最初に利用される部分を含む新規構成要素のみをまず送
信し、その後は、特性情報を参照して、クライアントに
おけるモジュールの利用が未送信の新規構成要素に及ぶ
より以前に、クライアントにおけるモジュールの利用に
並行して該未送信の新規構成要素の送信を行うようにし
てもよい。この結果、クライアントにおいては、モジュ
ールの利用とそのダウンロードの並行性や、ダウンロー
ドの高速化を実現することができる。
【0037】また、前記モジュール再構成手段又はステ
ップは、1以上の圧縮方式を用いて新規構成要素を圧縮
し且つその情報を対応する特性情報に記述するようにし
てもよい。このような場合、前記情報送信手段又はステ
ップは、前記外部装置すなわちクライアントが備える伸
張方式の通知を受けて、これに対応した圧縮方式で圧縮
された新規構成要素を送信することができる。
【0038】本発明の第3の側面に係る情報処理装置又
は情報処理方法においては、各新規構成要素毎に異なる
圧縮方式を用いて圧縮処理を施すようにしてもよい。し
たがって、前記情報送信手段又はステップは、前記外部
装置すなわちクライアントから複数の伸張方式の通知を
受けた場合、そのうち最も適した方式で圧縮された新規
構成要素を送信するようにすればよい。
【0039】また、本発明の第4の側面は、モジュール
を利用する情報処理装置又は情報処理方法であって、外
部装置からモジュールを移動するデータ移動手段又はス
テップと、モジュールを利用するモジュール利用手段又
はステップと、を備え、モジュールは、基本構成要素を
それぞれの特性を基に分類して、複数の基本構成要素か
らなる新規構成要素により再構成されており、また、各
新規構成要素には特性情報が関連付けられており、前記
データ移動手段又はステップにより移動したモジュール
を前記モジュール利用手段により利用する際には、新規
構成要素に関連付けられた特性情報に応じた処理をモジ
ュールの利用とは透過的に実行する、ことを特徴とする
情報処理装置又は情報処理方法である。
【0040】ここで、モジュールとは、例えば、コンピ
ュータ可読形式で記述されたコンピュータ・プログラム
のことである。モジュールは、基本構成要素に分解可能
なデータであってもよい。
【0041】本発明の第4の側面に係る情報処理装置
は、例えば、コンピュータ・ネットワーク上で、外部装
置からモジュールをダウンロードしてこれを利用するク
ライアントとして稼働することができる。また、この情
報処理装置にモジュールを提供する外部装置は、クライ
アントにネットラーク接続されるサーバや、クライアン
トにバス接続されるハード・ディスク装置やDVDドラ
イブ装置などの周辺機器に相当する。
【0042】本発明の第4の側面に係る情報処理装置又
は情報処理方法によれば、サーバ側では、プログラムを
実行時の参照関係やダウンロード効率を考慮して、複数
の基本構成要素からなる元のプログラムをフレーズと呼
ばれる新規構成要素に分類再構成をし直すようになって
いる。そして、各フレーズにそのフレーズの特性を示す
情報としてアノテーションと呼ばれる特性情報を対応さ
せるようにした。したがって、クライアント側では、ア
ノテーションの情報を利用して、そのクライアント機器
に適したプリフェッチ手法、キャッシュ、圧縮などの手
法を柔軟に組み合わせることで、ダウンロード実行の速
度を向上させることができる。
【0043】各新規構成要素についての特性情報は、サ
ーバからダウンロードする場合と、クライアント側にロ
ーカルで保持する場合と、ダウンロードした特性情報と
ローカルの特性情報を組み合わせて用いる場合とが挙げ
られる。例えば、ダウンロードして用いる特性情報はモ
ジュールの一般的な特性を記述したものであり、また、
クライアント側でローカルに持つのは個々のクライアン
トに関する特性を記述したものである。
【0044】前記データ移動手段又はステップは、モジ
ュールのうち前記モジュール利用手段又はステップで最
初に利用される部分を含む新規構成要素のみをまず移動
し、その後必要に応じて新規構成要素を単位として移動
するようにしてもよい。
【0045】また、前記データ移動手段又はステップ
は、モジュールのうち前記モジュール利用手段又はステ
ップで最初に利用される部分を含む新規構成要素のみを
まず移動し、その後は、特性情報を参照して、前記モジ
ュール利用手段又はステップによるモジュールの利用が
未だ移動されていない新規構成要素に及ぶより以前に、
モジュールの利用に並行して該新規構成要素の移動を行
うようにしてもよい。この結果、モジュールの利用とそ
のダウンロードの並行性や、ダウンロードの高速化を実
現することができる。
【0046】また、本発明の第4の側面に係る情報処理
装置は、移動した新規構成要素を一時記憶するキャッシ
ュをさらに備えてもよい。このような場合には、特性情
報を用いて新規構成要素を選択して前記データ移動手段
又はステップにより移動するとともに前記キャッシュに
保存することができる。そして、前記モジュール利用手
段又はステップがモジュールを利用する際には、前記デ
ータ移動手段又はステップにより外部装置すなわちサー
バにデータ移動要求する前にキャッシュの状態を検査し
て、キャッシュにモジュールの新規構成要素が既に保存
されている場合にはそれを利用することができる。この
結果、モジュールの利用とそのダウンロードの並行性
や、ダウンロードの高速化の効果を高めることができ
る。
【0047】また、さらに圧縮データを所定の伸張方式
で伸張する伸張手段又はステップを備えていてもよい。
このような場合、前記データ移動手段又はステップは、
データ移動要求時に前記外部装置すなわちサーバに前記
伸張方式を通知して、対応する圧縮方式で圧縮された新
規構成要素を選択的に移動することができる。そして、
前記モジュール利用手段又はステップは、前記伸張手段
又はステップにより移動した新規構成要素を伸張した後
に利用するようにすればよい。
【0048】モジュールに含まれる各新規構成要素毎に
異なる圧縮方式を用いて圧縮処理を施してもよい。この
ため、前記伸張手段又はステップは複数の伸張方式を備
えるようにしてもよい。このような場合には、前記デー
タ移動手段又はステップは、データ移動要求時に該複数
の伸張方式を前記外部装置すなわちサーバに通知して、
最も適した方式で圧縮された新規構成要素を選択的に移
動するようにすればよい。
【0049】本発明によれば、まずプログラムの構成要
素にその特性を記述した情報を付加し、その情報を基に
同じ特性を持つプログラムの構成要素をまとめることで
プログラムの再構成を行うようになっている。この結
果、プログラムは同じ特性を持つプログラムの構成要素
の集合である新規構成要素すなわち「フレーズ」の集合
として表現され、各新規構成要素にはその特性を記述し
た特性情報すなわち「アノテーション」が対応付けられ
る。
【0050】次に、クライアント実行環境はプログラム
の実行要求を受けると、プログラムの最初の新規構成要
素と対応する特性情報のみをサーバなどのモジュール管
理装置からクライアントに移動する。そして、新規構成
要素の実行開始と並行して、特性情報とクライアント実
行環境の状態、ネットワークの状態を利用して実行環境
に合わせた適切な処理を行う。これにより、ダウンロー
ド実行はすべてのプログラムのダウンロード完了を待つ
必要がなく、その時点のプログラムの実行に必要な部分
のみをダウンロードすることで、ダウンロード実行遅延
を生じることなくプログラムを実行することができる。
【0051】再構成されたプログラムの新規構成要素の
特性としては、例えばプログラムの構成要素の参照関係
を用いる。これにより、参照関係の強いプログラムの構
成要素を1つの新規構成要素すなわち「フレーズ」にま
とめることができる。
【0052】また、特性情報すなわち「アノテーショ
ン」に、新規構成要素が参照する新規参照要素への情報
を持たせることができる。このような特性情報をクライ
アント実行環境がクライアントのプログラム実行速度や
現在のネットワークの転送速度などの変動する要素を加
味して処理することで、適切なタイミングで次に参照が
予想される新規構成要素を実際のプログラムの実行によ
る参照が発生するより以前にダウンロードを行うことが
できる。これにより、プログラム実行とダウンロードを
クライアントの実行環境に最適な形で並行動作させるこ
とが可能となり、ダウンロード実行遅延を改善すること
が可能となる。
【0053】また、特性情報に利用頻度に関する情報を
持たせるようにしてもよい。クライアント機器が利用可
能なキャッシュを持つ場合には、キャッシュ管理オブジ
ェクトを追加することで、キャッシュを利用可能とし、
次回のプログラム実行時にサーバからのダウンロードを
一部省略することが可能となる。キャッシュ管理オブジ
ェクトはキャッシュの大きさや現在の利用状況を加味し
てキャッシュへのデータの保存、管理を行う。
【0054】また、クライアント実行環境は、サーバに
対してダウンロード要求するときに、クライアント実行
環境が持つ機能について通知を行う。このとき、クライ
アント実行環境が持つプログラムの圧縮伸張の種類を伝
えることで、サーバはクライアントが持つ種類の伸張方
式に対応した圧縮方式で圧縮されたプログラムを選択し
て利用することができる。これにより、プログラムの転
送量を縮小することができ、ダウンロード実行遅延を改
善することが可能となる。
【0055】また、本発明の第5の側面は、複数の基本
構成要素からなるモジュールを管理し利用するためのデ
ータ処理をコンピュータ・システム上で実行するように
記述されたコンピュータ・ソフトウェアをコンピュータ
可読形式で物理的に格納した記憶媒体であって、前記コ
ンピュータ・ソフトウェアは、モジュールの基本構成要
素をそれぞれの特性を基に分類して複数の基本構成要素
からなる新規構成要素によりモジュールを再構成すると
ともに、それぞれの新規構成要素に対して該当する特性
を特性情報として記述してモジュールを管理するステッ
プと、モジュールを利用する際に、新規構成要素に関連
付けられた特性情報に応じた処理をモジュールの利用と
は透過的に実行するステップと、を具備することを特徴
とする記憶媒体である。
【0056】また、本発明の第6の側面は、外部装置に
モジュールを提供する処理をコンピュータ・システム上
で実行するように記述されたコンピュータ・ソフトウェ
アをコンピュータ可読形式で物理的に格納した記憶媒体
であって、前記コンピュータ・ソフトウェアは、モジュ
ールの基本構成要素をそれぞれの特性を基に分類して、
複数の基本構成要素からなる新規構成要素によりモジュ
ールを再構成するモジュール再構成ステップと、それぞ
れの新規構成要素に対して該当する特性を特性情報とし
て記述する特性情報記述ステップと、外部装置からの要
求に応答して、再構成された新規構成要素並びにその特
性情報を送信する情報送信ステップと、を具備すること
を特徴とする記憶媒体である。
【0057】また、本発明の第7の側面は、モジュール
を利用する処理をコンピュータ・システム上で実行する
ように記述されたコンピュータ・ソフトウェアをコンピ
ュータ可読形式で物理的に格納した記憶媒体であって、
前記コンピュータ・ソフトウェアは、外部装置からモジ
ュールを移動するデータ移動ステップと、モジュールを
利用するモジュール利用ステップと、を備え、モジュー
ルは、基本構成要素をそれぞれの特性を基に分類して、
複数の基本構成要素からなる新規構成要素により再構成
されており、前記データ移動ステップにより移動したモ
ジュールを前記モジュール利用ステップにおいて利用す
る際には、新規構成要素に関連付けられた特性情報に応
じた処理をモジュールの利用とは透過的に実行する、こ
とを特徴とする記憶媒体である。
【0058】本発明の第5乃至第7の各側面に係る記憶
媒体は、例えば、様々なプログラム・コードを実行可能
な汎用コンピュータ・システムに対して、コンピュータ
・ソフトウェアをコンピュータ可読な形式で提供する媒
体である。このような媒体は、例えば、DVD(Digita
l Versatile Disc)やCD(Compact Disc)、FD(Fl
oppy Disk)、MO(Magneto-Optical disc)などの着
脱自在で可搬性の記憶媒体である。あるいは、ネットワ
ーク(ネットワークは無線、有線の区別を問わない)な
どの伝送媒体などを経由してコンピュータ・ソフトウェ
アを特定のコンピュータ・システムに提供することも技
術的に可能である。
【0059】本発明の第5乃至第7の各側面に係る記憶
媒体は、コンピュータ・システム上で所定のコンピュー
タ・ソフトウェアの機能を実現するための、コンピュー
タ・ソフトウェアと記憶媒体との構造上又は機能上の協
働的関係を定義したものである。換言すれば、本発明の
第5乃至第7の各側面に係る記憶媒体を介して所定のコ
ンピュータ・ソフトウェアをコンピュータ・システムに
インストールすることによって、コンピュータ・システ
ム上では協働的作用が発揮され、本発明の第1及び第2
の各側面に係るデータ処理システム又はデータ処理方
法、本発明の第3の側面に係る情報処理装置又は情報処
理方法、並びに、本発明の第4の側面に係る情報処理装
置又は情報処理方法のそれぞれと同様の作用効果を得る
ことができる。
【0060】本発明のさらに他の目的、特徴や利点は、
後述する本発明の実施形態や添付する図面に基づくより
詳細な説明によって明らかになるであろう。
【0061】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施形態について詳解する。
【0062】A.第1の実施形態 図1には、本発明の第1の実施形態に係るデータ処理シ
ステムの構成を模式的に示している。同図に示すよう
に、システムは、DVD1と、クライアント2と、これ
らを接続するシステム・バス3で構成される。
【0063】DVD1は、DVD(Digital Versatile
Disc)の記録面にデータを読み書きする周辺機器であ
り、この場合は、クライアント2において実行するプロ
グラムすなわちモジュールを記憶・管理するモジュール
管理装置として機能する。
【0064】クライアント2は、プログラム5を実行す
る際には、システム・バス3経由でDVD1よりプログ
ラムのダウンロードを行い、実行するものとする。ま
た、クライアント2は、ダウンロード実行の高速化のた
めに、その内部にキャッシュ4を持ち、必要に応じてプ
ログラムの一部をキャッシュ4に配置することができ
る。
【0065】図2には、DVD1により記録されるプロ
グラムを拡大して示している。同図に示すように、本実
施形態に係るプログラム5は、複数のフレーズ5−1
と、複数のアノテーション5−2で構成される。
【0066】フレーズ5−1は、プログラムを本来構成
するメソッドやインスタンスを特定の特性に基づいて分
類したものである。特性としては、例えば、プログラム
の起動時に使用されるメソッドやインスタンス、プログ
ラムのユーザ・インタフェースの特定のボタンを押した
ときに使用されるメソッドやインスタンスといった、メ
ソッドやインスタンスの参照特性を用いる。分類は、プ
ログラムを実際に実行して得られるプロファイル・デー
タや、プログラムを解析することによって得られる静的
データ、又は、プログラム作成者によって与えられるデ
ータを用いて行う。
【0067】アノテーションは、フレーズの特性を記述
する目的で、フレーズに対応付けられる。本実施形態で
は、1つのフレーズに複数のアノテーションを対応付け
することが可能である。
【0068】図3には、アノテーションの構成例を模式
的に示している。同図に示すように、アノテーション6
は、アノテーション・タイプ6−1とアノテーション・
パラメータ6−2の大きく2つの部分で構成される。
【0069】アノテーション・タイプ6−1は、アノテ
ーション6が保持する特性の型を示し、アノテーション
・パラメータ6−2はその型の値を持つ。本実施形態で
は、アノテーション・タイプとして、Referの1つ
の型を使用する。ここで、Referはフレーズ間の参
照関係を示す。
【0070】図示のフレーズの次に実行されると予測さ
れるフレーズのIDがアノテーション・パラメータとし
て記述されている。また、frequencyには、こ
のフレーズが利用される頻度が記述されており、これを
基にクライアントはキャッシュにこのフレーズを保持す
るかどうかを判断を行うことができる。
【0071】Invokeは、そのフレーズがプログラ
ムの実行の最初に参照される部分であることを示す。こ
れらの型のアノテーションがすべてフレーズに対応付け
られる訳ではなく、フレーズの特性に応じて必要なアノ
テーションのみが対応付けられる。
【0072】図4には、図1に示したクライアント2の
構成をより詳細に示している。図示のクライアント2
は、DVD1からフレーズと対応するアノテーションを
単位としてプログラムをダウンロードすることで、ダウ
ンロード実行を行う。
【0073】同図に示す構成例では、クライアント2は
複数の並行オブジェクトで構成されている。並行オブジ
ェクトは、外部に公開された複数のメソッドと、オブジ
ェクトの状態やメソッド本体を保持するメモリと、メソ
ッドを実行するための単一のコンテキストと、未処理の
メッセージを管理するメッセージ・キューより構成され
る。並行オブジェクトは、公開されたメソッドに対する
メッセージを受信して、1度に1つのメッセージを処理
する。また、メッセージ処理中に受けたメッセージはメ
ッセージ・キューに保管される。
【0074】以下に、クライアント2を構成する各オブ
ジェクトについて説明する。
【0075】実行環境(ExecSpace)2−1:
実行環境2−1は、プログラムの実行やさまざまなサー
ビスを提供するオブジェクトであり、実際にはさまざま
なオブジェクトやモジュールによって構成されるが、本
明細書では説明の便宜上まとめて1つのオブジェクトと
して扱うことにする。
【0076】実行環境2−1は、ダウンロード実行機能
に関して1つのメソッドResumeを持つ。実際には
実行環境2−1はこれ以外の多くのメソッド又はサービ
スを持つが、ダウンロード実行に関連がないので、ここ
では説明を省略する。Resumeの動作について以下
に説明する。
【0077】Resume: 1.引数で指定されたプログラム部分を、プログラムが
利用可能に設定する。具体的には、プログラムのメモリ
空間への割り付けや登録などの作業を行う。 2.引数でIDが指定された場合には、対応するプログ
ラムの実行を再開する。IDの意味付けは実行環境2−
1によって行われる。Resumeに指定するIDは、
実行環境2−1がReferを発行したときに指定した
IDがそのまま指定される。本実施形態では、実行環境
2−1は、Refer発行時にThreadIDを指定
する。このため、Resumeメソッドの実行ではTh
readIDに対応するthreadの実行再開を行
う。
【0078】ダウンローダ2−2:ダウンローダ2−2
は、実行環境2−1からの実行要求や参照を解決し、ま
た、DVD1に対してプリフェッチを行うことや、キャ
ッシュ2−3を利用することでダウンロード実行の実現
と高速化を行う。
【0079】ダウンローダ2−2は、PhraseTa
bleとPhraseMap、並びに、Program
Mapをその内部に持つ。まず、これらについて説明す
る。
【0080】PhraseTable:PhraseT
ableは、フレーズを管理するテーブルである。Ph
raseIDに対応するエントリを持ち、各エントリは
対応するフレーズのダウンロード状態を保持する。初期
化時にはすべてのエントリがまだダウンロードされてい
ないことを示す、"not_loaded"でマークされ
ている。また、各エントリは、対応するフレーズとアノ
テーションがダウンロードされていれば、それを登録す
ることができる。また、PhraseTableは対応
するPhraseIDがDVD1のどのセクタに保存さ
れているかを示すセクタ情報を持っている。
【0081】PhraseMap:PhraseMap
は、SymbolIDとPhraseIDの対応関係を
管理するデータである。このデータを用いることで、S
ymbolIDからPhraseIDへの変換を行うこ
とができる。PhraseMapはDVD1から得たデ
ータを基に実行時に生成される。
【0082】ProgramMap:ProgramM
apは、プログラム名とプログラムが最初に必要とする
PhraseIDの対応関係を管理するデータである。
このデータを用いることで、プログラム名からPhra
seIDへの変換を行うことができる。Program
MapはDVD1の特定位置のセクタに記録されてい
て、Downloaderは最初に変換が必要となった
時点でDVD1からこれを読み込みProgramMa
pを作成する。
【0083】また、ダウンローダ2−2は、Invok
e、Refer、Prefetchというメソッドを備
えている。以下、各メソッドの動作について説明する。
【0084】Invoke: 1.ProgramMapがまだ作成されていなけれ
ば、DVD1に特定のセクタを指定してLoadメッセ
ージを送り、ProgramMapを作成する。 2.引数で指定されたプログラム名からProgram
Mapを利用して、PhraseIDを得る。 3.PhraseIDを指定して、キャッシュ2−3に
Getメッセージを送りフレーズを得る。 4.もし、キャッシュ2−3に存在しなかった場合は、
DVD1に対してLoadメッセージを発行する。 5.得られたフレーズに対応するアノテーションにRe
fer型のものがある場合は、 5−1.キャッシュ2−3に頻度情報とともにPutメ
ッセージを送る。 5−2.ダウンローダ2−2に次のPhraseIDを
指定してPrefetchメッセージを送る。 6.PhraseTableとPhraseMapの初
期化を行う。 7.実行環境2−1にResumeメッセージを、送り
実行を再開させる。
【0085】Refer: 1.ダウンローダ2−2自身のメッセージ・キューから
Prefetchメッセージをすべて削除する。 2.引数で指定されたSymbolIDをPhrase
IDに変換する。この変換にはPhraseMapを用
いる。 3.PhraseTableのPhraseIDに対応
するエントリがnot_loadedならば、 3−1.キャッシュ2−3にGetメッセージを送り、
フレーズを得る。 3−2.もし、キャッシュ2−3に存在しなかった場合
はDVD1に対してLoadメッセージを発行する。 3−3.得られたフレーズに対応するアノテーションに
Refer型のものがある場合は、 (1)キャッシュ2−3に頻度情報とともにPutメッ
セージを送る。 (2)ダウンローダ2−2に次のPhraseIDを指
定してPrefetchメッセージを送る。 3−4.PhraseTableのPhraseIDに
対応する状態をダウンロード完了を示す"fisnis
hed"でマークする。 4.実行環境2−1にResumeメッセージを送り、
実行を再開させる。
【0086】Prefetch:PhraseTabl
eのPhraseIDに対応するエントリがnot_l
oadedならば、 1.キャッシュ2−3にGetメッセージを送り、フレ
ーズを得る。 2.もし、キャッシュ2−3に存在しなかった場合は、
DVD1に対してLoadメッセージを発行する。 3.得られたフレーズに対応するアノテーションにRe
fer型のものがある場合は、 3−1.キャッシュ2−3に頻度情報とともにPutメ
ッセージを送る。 3−2.ダウンローダ2−2に次のPhraseIDを
指定してPrefetchメッセージを送る。 4.PhraseTableのPhraseIDに対応
する状態をダウンロード完了を示す"fisnishe
d"でマークする。
【0087】キャッシュ2−3:キャッシュ2−3は、
フレーズやアノテーションをキャッシュ・メモリに保存
し、必要に応じて取り出すことで、ダウンロード実行の
高速化を行うオブジェクトである。キャッシュ2−3
は、Get、Putというメソッドを備えている。以
下、これらのメソッドの動作について説明する。
【0088】Get: 1.引数で指定されたPhraseIDに対応するフレ
ーズとそれに対応するアノテーションが、キャッシュ・
メモリに保存されているかを調べる。 2.保存されている場合には、それらフレーズとアノテ
ーションの内容を返す。
【0089】Put: 1.引数で指定された頻度情報を用いて、引数で指定さ
れたフレーズとそのアノテーションをキャッシュ・メモ
リに保存するかどうかを決定する。 2.保存する領域が足りない場合には、保存する領域が
確保できるまで最も不要と判断するフレーズとアノテー
ションを削除する。 3.指定されたフレーズとアノテーションを引数で指定
されたPhraseIDと関連付けてキャッシュ・メモ
リに保存する。
【0090】DVD1:DVD1は、クライアント2に
接続され、ダウンロード実行するプログラムを管理、記
憶するモジュール管理装置である。DVD1は、そのメ
ディアをセクタに分割して管理を行う。また、DVD1
は特定のセクタに、このメディアが持つプログラムに関
する情報を持つ。
【0091】DVD1は、Loadというメッセージを
備えている。Loadは、引数で指定されたセクタ情報
のデータを返すメッセージである。
【0092】起動シナリオ:次いで、第1の実施形態に
係るシステムの動作について説明する。図5には、実行
環境2−1がプログラムの起動要求を発行したときの処
理の流れを示している。
【0093】ユーザからのプログラム起動要求を受け取
ると、実行環境2−1は、プログラム名とそれを実行す
るThreadIDを指定して、ダウンローダ2−2に
Invokeメッセージを送る。
【0094】ダウンローダ2−2は、ProgramM
apが初期化されていなければ特定のセクション情報を
引数としてLoadメッセージをDVD1に送り、Pr
ogramMapを作成する。図5に示した起動シナリ
オでは、ProgramMapは既に作成されているも
のとする。
【0095】次に、ダウンローダ2−2は、Progr
amMapを利用して指定されたプログラム名から最初
に必要とするPhraseIDを得る。そして、Phr
aseIDを指定して、キャッシュ2−3にGetメッ
セージを送る。キャッシュ2−3が対応するフレーズと
アノテーションを保持していれば、それが返される。図
5に示した起動シナリオでは、プログラムの初めての起
動なので、キャッシュ2−3は何も保持していないもの
とする。ダウンローダ2−2は、キャッシュ2−3から
データを得ることができなかったため、DVD1にLo
adメッセージを発行する。
【0096】DVD1は、引数で指定されたPhras
eIDに対応する最初のフレーズとアノテーションをダ
ウンローダ2−2に返す。
【0097】ダウンローダ2−2は、得られたアノテー
ションにRefer型のものがあれば、キャッシュ2−
3に、そのフレーズとアノテーションをPutメッセー
ジとして送る。
【0098】キャッシュ2−3は、指定されたアノテー
ションの頻度情報を利用して、このアノテーションとフ
レーズをキャッシュ・メモリに保存するかどうかを決定
する。保存を行う場合には、キャッシュ・メモリの空き
領域を確認して保存を行う。空き領域が不足している場
合は、保持しているフレーズに対応するアノテーション
の頻度情報を利用して、削除すべきフレーズとアノテー
ションを決定して、削除を行う。これを保存に必要な空
き領域が確保できるまで繰り返す。
【0099】ダウンローダ2−2は、自分に対してRe
fer型のアノテーションが持つ次のPhraseID
を引数としてPrefetchメッセージを発行する。
このメッセージはダウンローダ2−2のメッセージ・キ
ューに格納される。
【0100】次いで、ダウンローダ2−2は、Phra
seTableとPhraseMapの初期化を行い、
実行環境2−1にResumeメッセージを発行する。
【0101】実行環境2−1は、Resumeメッセー
ジに応答してプログラムの実行を開始するが、それと同
時にダウンローダ2−2は次のメッセージの処理を開始
する。
【0102】図5に示した起動シナリオでは、先のPr
efetchメッセージがメッセージ・キューから取り
出され、それの処理が行われる。まず、引数で指定され
たPhraseIDに対応するPhraseTable
のエントリが調べられる。エントリが保持するフレーズ
の状態がこのシナリオではnot_loadedである
ため、キャッシュ2−3にGetメッセージを送る。そ
して、キャッシュ・メモリに対応するフレーズとアノテ
ーションが存在しないので、DVD1に対してフレーズ
とアノテーションに対応するセクタ・データを得るLo
adメッセージを発行する。
【0103】DVD1は、引数で指定されたセクタ情報
に対応するセクタ・データをダウンローダ2−2に返
す。
【0104】ダウンローダ2−2は、得られたアノテー
ションにRefer型のものがあれば、そのフレーズと
アノテーションをキャッシュ2−3にPutメッセージ
として送る。そして、PhraseTableの状態
を"finished"に変更して、フレーズとアノテー
ションをそこに登録する。また、ダウンローダ2−2
は、最後に自分に対してRefer型のアノテーション
が持つ次のPhraseIDを引数としてPrefet
chメッセージを発行する。
【0105】これらの処理の間、実行環境2−1による
プログラムの実行が次のフレーズへの実行に及ぶと、R
eferメッセージがダウンローダ2−2に送られる。
【0106】ダウンローダ2−2は、次のメッセージの
処理を開始する。図5に示した起動起動シナリオでは、
2回目のPrefetchメッセージよりも実行環境2
−1からのReferメッセージが先にメッセージ・キ
ューに入れられたものとする。このような場合、ダウン
ローダ2−2は、自身のメッセージ・キューからPre
fetchメッセージをすべて削除する。
【0107】次いで、ダウンローダ2−2は、引数で指
定されたSymbolIDを、PhraseMapを用
いてPhraseIDへと変換する。そして、Phra
seTableを参照して状態の確認を行う。図5に示
した起動シナリオでは、次のフレーズとアノテーション
が1回目のPrefetchメッセージによりPhra
seTableに登録されているので、DVD1にLo
adメッセージを発行することなく、実行環境2−1に
Resumeメッセージを送る。
【0108】以上により、プログラムのダウンロード実
行がプリフェッチとキャッシュを利用して可能となる。
また、キャッシュを持たないクライアントに対してもキ
ャッシュ2−3へのGetメッセージを行わないこと
で、同じDVD1を利用して対応することができる。
【0109】本実施形態では、プログラムを実行時の参
照関係やダウンロード効率を考慮して、プログラムの基
本構成要素をフレーズに分類再構成をし直す。そして、
各フレーズにそのフレーズの特性を示すものとしてアノ
テーションを対応させて、モジュール管理装置に置く。
クライアント側ではアノテーションの情報を利用して、
プリフェッチやキャッシュの手法を柔軟に組み合わせる
ことで、ダウンロード実行の速度を向上させることがで
きる。
【0110】B.第2の実施形態 図6には、本発明に係るデータ処理が実現されるコンピ
ュータ・ネットワーク構成例を模式的に示している。図
示のネットワーク・システムは、サーバ11と、1以上
のクライアント12及び13と、ネットワーク14とで
構成されている。
【0111】サーバ11は、プログラム11−1、プロ
グラム11−2などの複数のプログラムを持ち、これら
をネットワーク14経由でクライアント12,13に提
供することができる。図6に示す実施形態では、プログ
ラム11−1は圧縮の行われていないプログラムであ
り、また、プログラム11−2は圧縮によって大きさが
縮小されたプログラムである。
【0112】また、図6に示す実施形態では、ネットワ
ーク14上には、クライアント12とクライアント13
という2種類のクライアントが存在することを想定す
る。一方のクライアント12は、その内部にキャッシュ
・オブジェクト12−1と圧縮伸張機能12−2を備え
ている。また、他方のクライアント13はそれらの機能
を持たないものとする。
【0113】これらサーバ11とクライアント12、ク
ライアント13は、図示の通り、ネットワーク14によ
って相互接続されている。このネットワーク14はクラ
イアント12、クライアント13の状態、又は、ネット
ワーク14自身の状態によりその転送速度が動的に変動
するものとする。例えば、クライアントが静止時と移動
時では転送速度が異なったり、同時にサーバ11と通信
するクライアント数の変化により各クライアントに割り
当てられるネットワークの速度が変化する。
【0114】なお、サーバ11や各クライアント12,
13は、一般的なコンピュータ・システムである以外
に、所定のプログラム・コードを実行して演算処理を行
うプロセッサで構成されるその他のタイプの情報機器で
あってもよい。
【0115】図7には、サーバ11により保持されるプ
ログラムの構成を模式的に示している。同図に示すよう
に、本実施形態に係るプログラム15は、複数のフレー
ズ15−1と、各フレーズ毎に設けられた複数のアノテ
ーション15−2とで構成される。
【0116】フレーズ15−1は、プログラムを本来構
成するメソッドやインスタンスを特定の特性に基づいて
分類したものである。特性としては、例えば、プログラ
ムの起動時に使用されるメソッドやインスタンス、プロ
グラムのユーザ・インタフェースの特定のボタンを押し
たときに使用されるメソッドやインスタンスといった、
メソッドやインスタンスの参照特性を用いることができ
る。このような参照特性に応じてメソッドやインスタン
スの分類を行う。分類は、プログラムを実際に実行して
得られるプロファイル・データや、プログラムを解析す
ることで得られる静的データや、プログラム作成者によ
って与えられるデータを用いて行う。
【0117】アノテーションはフレーズの特性を記述す
る目的で、フレーズに対応付けられる。1つのフレーズ
に複数のアノテーションを対応付けることが可能であ
る。図8には、アノテーションの構成例を模式的に示し
ている。同図において、アノテーション16は、 アノ
テーション・タイプ16−1と、アノテーション・パラ
メータ16−2とで構成される。アノテーション・タイ
プ16−1はアノテーション16が保持する特性のタイ
プを示し、アノテーション・パラメータ16−2はその
型の値を持つ。
【0118】本実施形態では、 アノテーション・タイプ
として、Refer,Compressed,Invo
ke,Mapの4つの型を使用する。Referは、フ
レーズ間の参照関係を示す。Compressedは、
フレーズの圧縮を示す。Invokeは、そのフレーズ
がプログラムの実行の最初に参照される部分であること
を示す。Mapは、フレーズのダウンロード先での制御
情報を含むことを示す。これらのタイプのアノテーショ
ンがすべてフレーズに対応付けられる訳ではなく、フレ
ーズの特性に応じて必要なアノテーションのみが対応付
けられる。
【0119】図8に示すアノテーション構成例では、ア
ノテーション・タイプとしてフレーズの参照関係を示す
Referが指定され、その型の値を示すアノテーショ
ン・パラメータとして、phrase_size,exe
c_size,frequency,referenc
e_phraseを持っている。
【0120】phrase_sizeは、対応するフレ
ーズの大きさを示している。また、exec_size
は、フレーズの命令数を示している。この命令数は、フ
レーズ中に含まれる命令数ではなく、フレーズが最初に
参照されるときの典型的な命令数で、命令中にループが
あれば典型的なループ回数に要する命令数やI/O待ち
やユーザの入力待ちなどがある場合にはそれも命令数に
換算して示す。また、frequencyは、このフレ
ーズが参照される頻度を示している。また、refer
ence_phraseは、このフレーズが参照する別
のフレーズに関する情報であり、参照するフレーズの個
数分だけ存在する。但し、参照の可能性を持つすべての
フレーズに関するreference_phraseを
持つ必要はなく、このフレーズの最初の参照時にref
erence_phraseへの参照の頻度の低い参照
についてはreference_phraseが存在し
なくてよい。
【0121】reference_phraseは、そ
の中にPhraseIDとreference_pos
itionを持つ。PhraseIDは、フレーズを識
別する識別情報(ID)のことであり、各プログラム毎
に対応する フレーズが決められる。referenc
e_positionは、reference_phra
seの参照間での命令数がこのフレーズの実行開始から
の相対値で記述する。reference_posit
ionの命令数も、exec_sizeと同様に、フレ
ーズが最初に参照されるときのreference_p
hrase参照までの典型的な命令数であり、命令中に
ループがあれば典型的なループ回数に要する命令数やI
/O待ちやユーザの入力待ちなどがある場合にはそれも
命令数に換算して示す。
【0122】図9には、図6で示したクライアント12
の機能構成を模式的に示している。クライアント12は
サーバ11とメッセージをやり取りすることで、プログ
ラムのダウンロード実行を行う。既に述べたように、ク
ライアント12は、ダウンロードしたプログラムを一時
的に格納するキャッシュ12−1と、圧縮データを伸張
処理する圧縮伸張器12−2を備えている。
【0123】本実施形態では、クライアント12は、並
行オブジェクトという形態で構成されるものとする。こ
こで言う「並行オブジェクト」は、外部に公開された複
数のメソッドと、オブジェクトの状態やメソッド本体を
保持するメモリと、メソッドを実行するための単一のコ
ンテキストと未処理のメッセージを管理するメッセージ
・キューにより構成される。並行オブジェクトは、公開
されたメソッドに対するメッセージを受信して、1度に
1つのメッセージを処理する。メッセージ処理中に受け
たメッセージはメッセージ・キューに保管される。
【0124】クライアント12は、ネットワーク14経
由でサーバ11からのプログラムのダウンロードを管理
するダウンローダ(Downloader)12−3
と、ダウンロードしたプログラムの実行環境(Exec
Space)12−4と、ダウンロードしたプログラム
の一時記憶を管理するキャッシュ・オブジェクト(Ca
cheObject)12−1と、圧縮データの伸張処
理を管理する圧縮伸張器(Expandar)12−2
というそれぞれの並行オブジェクトにより構成される。
【0125】実行環境12−4は、実際には並行オブジ
ェクトではなく、プログラムの動作環境を提供するオペ
レーティング・システム(OS)、あるいは、オペレー
ティング・システム上で構築されるプログラムの実行環
境のことであるが、本明細書中では便宜上、擬似的に並
行オブジェクトとして説明する。また、サーバ11側の
実行環境についても、同様に擬似的に並行オブジェクト
として説明をする。
【0126】クライアント12においては、キャッシュ
・メモリを管理するキャッシュ・オブジェクト12−1
と、圧縮伸張機構を管理する圧縮伸張器12−2 を備
えている。また、本明細書中では、説明の簡素化のた
め、同一プログラムの複数起動やプログラムのバージョ
ン管理の機能は省略している。
【0127】また、セマンティクス(Semantic
s)12−5は、並行オブジェクトではなく ダウンロ
ーダ12−3により参照されるテーブルである。本実施
形態では、セマンティクス12−5をダウンローダ12
−3から分離して構成することによって、セマンティク
ス12−5の書き換えだけでダウンローダ12−3の振
る舞いすなわち動作特性を容易に変更できるようにして
いる。
【0128】また、図10には、図6で示したクライア
ント13の機能構成を模式的に示している。図示の通
り、クライアント13は、ネットワーク経由でサーバか
らのプログラムのダウンロードを管理するダウンローダ
(Downloader)13−1と、 ダウンロード
したプログラムの実行環境(ExecSpace)13
−2というそれぞれの並行オブジェクトにより構成され
る。
【0129】セマンティクス(Semantics)1
3−3は、並行オブジェクトではなく、ダウンローダ1
3−1により参照されるテーブルである。セマンティク
ス12−5をダウンローダ13−1から分離して構成す
ることによって、セマンティクス13−3の書き換えだ
けでダウンローダ13−1の振る舞いすなわち動作特性
を容易に変更できるようにしている。
【0130】以下では、クライアント12又は13を構
成する各オブジェクトについて説明する。
【0131】実行環境(ExecSpace):実行環
境は、プログラムの実行や様々なサービスを提供するプ
ログラムであり、実際には、さまざまなオブジェクトや
モジュールによって構成される。本明細書では、説明の
便宜上、これらをまとめて1つのオブジェクトとして扱
う。
【0132】実行環境は、ダウンロード実行機能に関し
て2つのメソッドを持つ。実際には、実行環境は、以下
で述べる以外の多くのメソッド又はサービスを持つが、
ダウンロード実行すなわち本発明の要旨に直接関連がな
いため、説明を省略する。実際には、オペレーティング
・システム(OS)やVirtual Machine
(VM:仮想マシン)がここで言う実行環境に相当す
る。
【0133】本実施形態では、実行環境は、Map,S
etTimeEvent,CancelTimeEve
ntという3種類のメソッドを動作させることができ
る。
【0134】Mapメソッドは、引数で指定されたプロ
グラム部分を、プログラムが利用可能に設定する。具体
的にはプログラムのメモリ空間への割り付けや登録など
の作業を行う。
【0135】また、Mapメソッドは、引数でID が
指定された場合には、対応するプログラムの実行を再開
する。IDの意味付けは実行環境によって行われる。R
esumeに指定するIDは、実行環境がReferメ
ソッドを発行したときに指定したIDがそのまま指定さ
れる。本実施形態では、実行環境は、Refer発行時
にスレッドIDを指定する。このためResumeメソ
ッドの実行ではスレッドIDに対応するスレッドの実行
再開を行う。
【0136】SetTimeEventは、引数で指定
された時刻に、引数で指定されたエントリに、引数で指
定された引数でメッセージを送る。また、イベントID
を返す。
【0137】CancelTimeEventは、引数
で指定されたイベントID のイベントをキャンセルす
る。
【0138】サーバ:サーバは、クライアントとは異な
るネットワークで接続されたホスト上で動作するオブジ
ェクトであり、クライアントでダウンロード実行される
プログラムを管理するとともに、要求に応じてプログラ
ムのダウンロードをクライアントに対して行う。
【0139】本実施形態では、サーバは、Fetch及
びCancelという各メッセージを発行する。
【0140】Fetchメソッドは、引数で指定された
フレーズIDに対応するフレーズ、又は、アノテーショ
ンを引数で指定されたタイプをダウンロードする要求を
受け付ける。ダウンロードの完了は、Evalメッセー
ジをダウンローダ・オブジェクトに発行することで通知
される。
【0141】Cancelメソッドは、引数で指定され
たフレーズIDとタイプに対応するダウンロード処理を
キャンセルする。 キャンセルが行われると、ダウンロ
ード・リクエストに対する完了を示すEvalメッセー
ジは発行されない。
【0142】キャッシュ・オブジェクト:キャッシュ・オ
ブジェクトは、フレーズやアノテーションをキャッシュ
・メモリに保存し、必要に応じて取り出すことで、ダウ
ンロード実行の高速化を行うオプショナルなオブジェク
トである。クライアント機器がキャッシュ・メモリを利
用可能である場合に使用するオブジェクトである。
【0143】本実施形態では、キャッシュ・オブジェク
トは、Get並びにPutという2種類のメソッドを動
作する。
【0144】Getメソッドは、引数で指定されたフレ
ーズID に対応するフレーズ又はアノテーションが、
キャッシュ・メモリに保存されているか否かを調べる。
そして、キャッシュ・メモリ中に保存されている場合に
はそれらの内容を返す。また、フレーズがキャッシュ・
メモリへ保存されていたかを示すステータス・コードを
返す。また、アノテーションがキャッシュ・メモリへ保
存されていたかを示すステータス・コードを返す。
【0145】Putメソッドは、引数で指定されたフレ
ーズ又はアノテーションを保存する領域がキャッシュ・
メモリにあるか否かを検査する。もしキャッシュ・メモ
リ中に領域がなければ、適切なアルゴリズム(例えば、
LRU(Least Recently Used)論理など)で不要と判
断するフレーズ又はアノテーションを領域が確保できる
まで削除する。そして、指定されたフレーズ又は アノ
テーションを、引数で指定されたフレーズIDと関連付
けて、キャッシュ・メモリに保存する。
【0146】圧縮伸張器(Expander):圧縮伸
張器は、複数の圧縮方法に対する展開機能を備えたオブ
ジェクトである。このオブジェクトは、クライアントが
展開を行うだけ充分なCPU(CentralProcessing Uni
t)性能や展開処理用のハードウェアなどを持つ場合
に、ダウンロード実行の高速化のためにオプショナルで
追加される。
【0147】本実施形態では、圧縮伸張器は、Expa
ndメソッドを動作する。Expandメソッドは、引
数で指定された展開アルゴリズムを用いて、引数で指定
された内容を展開し、その内容を返す。
【0148】ダウンローダ(Downloader):
ダウンローダは、オペレーティング・システムからの実
行要求や参照を解決し、また、サーバ・オブジェクトに
対してプリフェッチを行うことで、プログラムのダウン
ロード実行の実現と高速化を行う。本実施形態では、ダ
ウンローダの一部を セマンティクスとして分離するこ
とで、異なるクライアント機器への適合を容易にしてい
る(前述)。ここでは、セマンティクスを含まないダウ
ンローダ本来の部分について説明をする。
【0149】ダウンローダは、フレーズ・テーブル(P
hraseTable)と、フレーズ・マップ(Phr
aseMap)と、リクエスト・キュー(Reques
tQueue)と、現実行速度(CurrentExe
cSpeed)と、現在時刻(CurrentTim
e)と、現帯域幅(CurrentBandwidt
h)をその内部に持つ。まず、これらについて説明す
る。
【0150】フレーズ・テーブル(PhraseTab
le):フレーズ・テーブルは、フレーズを管理するテ
ーブルである。フレーズIDに対応するエントリを持
ち、各エントリは、フレーズ状態(phrase_st
atus)、アノテーション状態(annotatio
n_status)、登録ID(registered
ID)、参照時刻(reference_Time)の
各メンバで構成される。
【0151】フレーズ状態(phrase_statu
s)とアノテーション状態(annotation_s
tatus)には、それぞれフレーズ又はアノテーショ
ンのダウンロードの状態を示す値が書き込まれる。取り
得る値としては、nothing,requeste
d,loadedがある。
【0152】登録ID(registeredID)
は、このエントリに該当するフレーズがReferメソ
ッドで参照されているかそうでないかを示し、Refe
r で参照された場合にはそのとき指定されたIDが登
録される。
【0153】参照時刻(reference_tim
e)は、このエントリに該当するフレーズが参照される
時刻を保持する。また、できるだけ早い時点で必要な場
合にはそれを示す値が保持される。
【0154】フレーズ・テーブルは、サーバ・オブジェク
トから得たデータを基に実行時に生成される。
【0155】フレーズ・マップ(PhraseMa
p):フレーズ・マップは、アドレスとフレーズIDの
対応関係を管理するデータである。このデータを用いる
ことで、アドレスからフレーズIDへの変換を行うこと
ができる。フレーズ・マップは、サーバ・オブジェクトか
ら得たデータを基に実行時に生成される。
【0156】リクエスト・キュー(RequestQu
eue):リクエスト・キューは、サーバ・オブジェクト
へのダウンロード要求を管理するキューである。リクエ
スト発行時には、参照時刻と優先順位(priorit
y) が指定される。優先順位としては、high又は
lowのいずれかの値が指定され、highの場合に
は、リクエストは参照時刻にかかわらずリクエストの発
生順にキューの前の方に入れられる。また、優先順位が
lowの場合には、参照時刻順でソートされ、参照時刻
が早いほどキューの前の方に入れられる。サーバ・オブ
ジェクトへのダウンロード要求は、このリクエスト・キ
ューの前から順に行われる。
【0157】現実行速度(CurrentExecSp
eed):現実行速度(CurrentExecSpe
ed)は、現在のCPUの単位時間当りの平均的な命令
実行数を示す。
【0158】現在時刻(CurrentTime):
在時刻(CurrentTime)は、現在の時刻をR
eferメソッドが発生したときを起点に示す。
【0159】現帯域幅(CurrentBandwid
th):現帯域幅(CurrentBandwidt
h)は、現在のネットワークの平均的なダウンロード速
度を示す。
【0160】次に、ダウンローダが動作するメソッドに
ついて説明する。本実施形態では、ダウンローダは、R
efer,Eval,Download,Cancel
Downloadというそれぞれのメソッドを動作す
る。
【0161】Refer:Referメソッドは、引数
で指定されたアドレス又はプログラム名を フレーズI
Dに変換する。プログラム名の場合には、あらかじめ決
められたフレーズID に変換する。アドレスの場合に
は、アドレスからフレーズIDへの変換データ ・フレー
ズ・マップを用いて変換を行う。また、フレーズIDと
優先順位highを指定して、ダウンローダのEval
メソッドを呼び出す。
【0162】Eval:Evalメソッドは、引数で指
定されたフレーズIDに対応するフレーズ・テーブルの
エントリを得る。引数でアノテーションが指定されてい
る場合は、フレーズ・テーブルの該当エントリのメンバ
であるアノテーション状態(annotation_s
tatus)をloadedに更新する。また、引数で
フレーズが指定されている場合は、フレーズ・テーブル
のエントリの該当エントリのメンバであるフレーズ状態
(phrase_status)をloadedに更新
する。
【0163】下表には、アノテーション状態とフレーズ
状態に対応するエントリの関係をまとめている。
【0164】
【表1】
【0165】この表において、引数で指定されたアノテ
ーションの複数のアノテーション・タイプ(annot
ation_type)に対応する動作(Actio
n)がエントリにある場合には、引数にフレーズID
と、アノテーションと、フレーズを指定して、該当する
エントリにある順序で動作(Action)を呼び出
す。アノテーション状態(annotation_st
atus)がotherの場合には、該当するエントリ
にあるすべての 動作(Action)がエントリに記
述された順序で呼び出される。
【0166】ダウンロード・チャネルに空きがあるうち
は、リクエスト・キューの先頭からリクエストを1つ取
り出して、サーバ・オブジェクトに対してフレーズID
とタイプにアノテーション又はフレーズを指定して、F
etchメッセージ(上述)を発行するという動作を繰
り返す。
【0167】Download:Downloadメソ
ッドは、引数で指定されたタイプがアノテーション又は
フレーズのいずれであるかに応じて、引数で指定された
フレーズIDに対応するフレーズ・テーブルのエントリ
のアノテーション状態(annotation_sta
tus)又はフレーズ状態(pharse_statu
s)をrequestedに設定する。引数で指定され
たタイプのアノテーション又はフレーズと、引数で指定
された優先順位又は参照時刻(reference t
ime)に従って、リクエスト・キューに登録(enq
ueue)する。ダウンロード・チャネルに空きがある
うちは、リクエスト・キューの先頭からリクエストを1
つ取り出して、サーバ・オブジェクトへフレーズIDと
タイプにアノテーション又はフレーズを指定して、さら
に圧縮伸張器(Expander)が利用可能かどうか
を含むクライアント情報をつけてFetch(上述)メ
ッセージを発行する。という動作を繰り返す。
【0168】CancelDownload:Canc
elDownloadメソッドは、優先順位がlowに
指定されたリクエストをすべてリクエスト・キューから
削除する。また、現在ダウンロード中のリクエストのう
ち優先順位がlowに指定されているリクエストについ
て、サーバ・オブジェクトにフレーズIDとタイプを指
定してCancelメッセージ(前述)を発行する。ま
た、SetTemeEventメソッド(前述)を実行
したイベントに対してCancelTimeEvent
メソッド(前述)を発行する。また、現在時刻(Cur
rentTime)を無効(invalid)にする。
また、フレーズ・テーブル中で削除した各リクエストに
対応するのエントリのアノテーション状態(annot
ation_status)とフレーズ状態(phra
se_status)をそれぞれnothingにす
る。
【0169】セマンティクス(Semantics):
セマンティクスは、オブジェクトではなく、上述のダウ
ンローダにより参照されるテーブルである。本実施形態
では、セマンティクスをダウンローダから分離して構成
することで、クライアントの仕様などに応じてダウンロ
ーダの振る舞いの変更を容易にしている。
【0170】セマンティクスは、フレーズ及びアノテー
ションのダウンロード状態と、アノテーションのアノテ
ーション・タイプ(annotation_type)に
対応したエントリを持っている。エントリはアクション
のリストで構成される。アクションは対応するアノテー
ション・タイプを持つアノテーションが存在した場合
に、ダウンローダにより呼び出される。呼び出し順序
は、リストで指定された順序で行われる。アノテーショ
ンがダウンロードされていない場合、リストのすべての
アクションがその順序で呼び出される。
【0171】以下の表2ではクライアント2のセマンテ
ィクスを、表3ではクライアント13のセマンティクス
をそれぞれ示している。各表では、アクション欄の括弧
内は対応するアノテーション・タイプを示している。ク
ライアント12はキャッシュと圧縮伸張機能を持つの
で、それらのためのアクションがクライアント13と比
較して追加されている。また、クライアント13はクラ
イアント12と比較して簡単なプリフェッチ機構の実装
に置き換えられている。
【0172】
【表2】
【0173】
【表3】
【0174】以下に、これらのアクションの動作につい
て説明する。
【0175】GetCacheAction:GetC
acheActionアクションでは、まず、キャッシ
ュ・オブジェクトに引数で指定されたフレーズIDを指
定してGetメッセージを発行する。アノテーションが
保存されていて、アノテーション状態(annotat
ion_status)がnothingならば、フレ
ーズIDに対応するフレーズ・テーブル・エントリの ア
ノテーション状態をrequestedに設定し、次い
で、アノテーションとフレーズIDを指定して、ダウン
ローダにEvalメッセージを発行する。また、フレー
ズが保存されていて、フレーズ状態(phrase_s
tatus)がnothingならば、フレーズIDに
対応するフレーズ・テーブル・エントリのフレーズ状態を
requestedに設定し、次いで、フレーズとフレ
ーズIDを指定して、ダウンローダにEvalメッセー
ジを発行する。
【0176】ReferAction:ReferAc
tionアクションでは、まず、引数で指定されたフレ
ーズIDに対応するフレーズ・テーブルのエントリを調
べる。そして、アノテーション状態(annotati
on_status)又はフレーズ状態(phrase_
status)のどちらかがnothingであった場
合は、ダウンローダのCancelDownloadメ
ソッドを呼び出す。そして、フレーズ・テーブルのエン
トリの参照時刻(reference_time)に引
数で指定された優先順位又は参照時刻を示す値を設定す
る。アノテーション状態がnothingであった場合
は、引数で指定された 優先順位又は参照時刻とアノテ
ーション・タイプ、フレーズIDを指定して、ダウンロ
ーダにDownloadメッセージを発行する。
【0177】NullAction:NullActi
onアクションが呼び出されたときには何もしない。
【0178】InitialAction:Initi
alActionアクションでは、引数で指定されたア
ノテーションを使い、フレーズ・テーブルを作成すると
ともに、フレーズ・マップを作成する。
【0179】GetListCacheAction:
GetListCacheActionアクションで
は、まず、引数で指定されたアノテーションの参照フレ
ーズ(ReferencePhrase)に含まれる複
数のフレーズIDのリストを得る。そして、得られたリ
ストの各フレーズIDに対応するフレーズ・テーブルの
エントリを調べて、フレーズ状態(phrase_st
atus)がnothing以外のフレーズIDをリス
トから取り除く。そして、リストにあるすべてのフレー
ズに対して以下を行う。
【0180】(a)引数で指定されたフレーズID に
対応するフレーズ・テーブルの参照時刻(refere
nce time)の値と各参照フレーズ(refer
encephrase)の参照位置(referenc
e position)を使って、各参照フレーズの参
照時刻を計算し、それを対応するフレーズ・テーブルの
エントリに設定する。 (b)フレーズIDを指定して、GetCacheAc
tion(前述)を実行する。
【0181】PrefetchAction:Pref
etchActionでは、まず、引数で指定されたア
ノテーションのフレーズ・サイズ(phrase_siz
e)と現帯域幅(CurrentBandwidth)
の値を使って、フレーズのダウンロード時間(down
load_time)を以下の式で計算する。
【0182】
【数1】 download_time = phrase_size × CurrentBandwidht
【0183】次いで、引数で指定されたフレーズIDに
対応するフレーズ・テーブルの参照時刻(refere
nce_time)の値を使い、開始時刻(start_
time)を以下の式で計算する。
【0184】
【数2】 start_time = reference_time − download_time
【0185】CurrentTime≧start_t
ime(すなわち現在時刻が開始時刻を経過している)
であれば、優先順位lowと、フレーズ・タイプ、フレ
ーズID、開始時刻を指定して、ダウンローダにDow
nloadメッセージを発行する。そうでなければ、実
行環境(ExecSpace)に開始時刻とダウンロー
ダのDowmloadをエントリとして指定して、Se
tTimeEventメッセージを送る。Downlo
adへの引数としては、フレーズIDと、フレーズ・タ
イプと、優先順位lowと、開始時刻が指定されるよう
にする。
【0186】次いで、引数で指定されたアノテーション
の参照フレーズ(reference_phrase)
に含まれる複数のフレーズIDのリストを得る。得られ
たリストの各フレーズIDに対応するフレーズ・テーブ
ルのエントリを調べて、アノテーション状態(anno
tation_status)がnothing以外の
フレーズIDをリストから取り除く。 そして、リスト
にあるすべてのフレーズIDに対して以下の処理を行
う。
【0187】(a)引数で指定されたフレーズIDに対
応するフレーズ・テーブル・エントリの参照時刻(ref
erence_time)の値と各参照フレーズ(re
ference phrase)の参照位置(refe
rence position)と現実行速度(Cur
rentExecSpeed)を使って 、式refe
rence_time+reference_posit
ion×CurrentExecSpeedにより各参
照フレーズの参照時刻を計算して、それを対応するフレ
ーズ・テーブル のエントリに設定する。 (b)優先順位lowとアノテーション・タイプ、フレ
ーズID、参照時刻を指定して、ダウンローダにDow
nloadメッセージを発行する。
【0188】SimplePrefetchActio
n:SimplePrefetchActionでは、
まず、引数で指定されたフレーズIDを、優先順位lo
wと、フレーズ・タイプと、フレーズIDと、開始時刻
を指定して、ダウンローダにDownloadメッセー
ジを発行する。次いで、引数で指定されたアノテーショ
ンの参照フレーズ(reference_phras
e)に含まれる複数のフレーズIDのリストを得る。そ
して、得られたリストの各フレーズIDに対応するフレ
ーズ・テーブルのエントリを調べて、アノテーション状
態(annotation_status)がnoth
ing以外のフレーズIDをリストから取り除く。そし
て、リストにあるすべてのフレーズIDに対して以下の
処理を行う。
【0189】(a)引数で指定されたフレーズIDに対
応するフレーズ・テーブルの参照時刻(referen
ce_time)の値と各参照フレーズ(refere
ncephrase)の参照位置(reference
position)と現実行速度(CurrentE
xecSpeed)を使って、式reference_
time+reference_position×C
urrentExecSpeedにより、各参照フレー
ズの参照時刻を計算し、それらをフレーズ・テーブル中
の対応するエントリにそれぞれ設定する。 (b)優先順位lowとアノテーション・タイプ、フレ
ーズID、参照時刻を指定して、ダウンローダにDow
nloadメッセージを発行する。
【0190】StoreCacheAction:St
oreCacheActionでは、引数で指定された
アノテーションを基に、フレーズをキャッシュ・メモリ
に保存するかを判断する。保存する場合は、キャッシュ
・オブジェクトにフレーズIDとアノテーション又はフ
レーズを指定して、Putメッセージ(Put)を発行
する。
【0191】ExpandAction:Expand
Actionでは、引数で指定されたアノテーションで
指定される伸張方式やパラメータを利用して、引数で指
定されたフレーズの伸張を行い、伸張したフレーズを返
す。
【0192】MapAction:MapAction
では、引数で指定されたアノテーションの情報を基に、
実行環境(ExecSpace)にMapメッセージを
発行する。このとき、引数で指定されたフレーズIDに
対応するフレーズ・テーブル・エントリにIDが設定され
ていれば、このIDをMapメッセージに付加する。そ
して、引数で指定されたフレーズIDに対応するフレー
ズ・テーブル・エントリにこのIDが設定されていれば、
現在時刻(CurrentTime)を設定する。
【0193】次いで、本実施形態に係るクライアント〜
サーバ間におけるプログラム起動のための動作について
説明する。
【0194】起動シナリオ1:まず、キャッシュと圧縮
展開機能を持つクライアント12のプログラム起動のシ
ナリオを説明する。図11には、クライアント12の実
行環境(ExecSpace)12−4がプログラムの
起動要求を発行したときの処理の流れを示している。
【0195】実行環境12−4は、ユーザからのプログ
ラム起動要求を受け取ると、プログラム名とそれを実行
するスレッドIDを指定して、ダウンローダ12−3に
Referメッセージを発行する。
【0196】ダウンローダ12−3は、プログラム名と
プログラムの実行の最初を示すフレーズIDを指定し
て、ダウンローダ12−3のEvalを呼び出す。
【0197】Evalの実行により、アノテーション状
態及びフレーズ状態がいずれもotherであることか
ら、セマンティクス12−5のReferEntryア
クションが呼び出される(表1を参照のこと)。これに
より、まずGetCacheActionが呼び出され
る(表2を参照のこと)。
【0198】GetCacheActionでは、フレ
ーズIDを指定して、キャッシュ・オブジェクトに対し
てGetメッセージを送る。これにより、キャッシュに
アノテーション又はフレーズが保存されていれば(キャ
ッシュ・ヒット)、それが取り出される。保存されてい
ない場合には(キャッシュ・ミス)、PhraseMa
pが更新されないため、次にReferActionが
実行される([表2を参照のこと)。
【0199】ReferActionでは、ダウンロー
ダ12−3のCancelDownloadを呼び出し
て、それまでのPrefetchアクションをキャンセ
ルする。図11に示す起動シナリオでは、プログラムの
初めての起動なので、キャンセルするものはない。
【0200】次に、優先順位をhighに指定して、ダ
ウンローダ12−3に対してアノテーションのDown
loadメッセージを発行する。
【0201】ダウンローダ12−3は、Downloa
dメッセージを受け取ると、それをリクエスト・キュー
に入れて、次に先頭の要素を取り出しこれをFetch
メッセージとしてサーバ11に発行する。図11に示す
シナリオでは、先にキューに入れられた要求がそのまま
サーバ11に要求される。このとき、クライアント12
の情報も引数として渡される。この例ではクライアント
12が圧縮展開機能を持つこととその種類が引数として
指定される。
【0202】サーバ11は、Fetchメッセージを受
け取ると、指定されたプログラムの指定されたフレーズ
IDを検索する。このとき、圧縮展開機能があることが
指定されている場合には、圧縮されたフレーズが存在す
るかを検索し、あればそれを選択する。なければ非圧縮
のフレーズを選択する。図11に示す起動シナリオでは
アノテーションが要求されているので、サーバ11は対
応するアノテーションをEvalメッセージとしてダウ
ンローダ12−3に発行する。
【0203】ダウンローダ12−3は、Evalメッセ
ージを受け取ると、アノテーション状態(annota
tion_status)とフレーズ状態(phras
e_status)がそれぞれloaded並びにot
herであることを基に、 AnnotationLo
adedEntryにあるアクションを、アノテーショ
ンの持つ型に応じて順に実行する(表1及び表2を参照
のこと)。図11に示す起動シナリオでは アノテーシ
ョンはInvoke,Refer,Compresse
d,Mapという4つの型のアノテーション が得られ
るが、AnnotationLoadedEntryに
はInvokeとReferに対応するアクションが3
つあるので(表2を参照のこと)、これらが順に呼ばれ
る。
【0204】まず、InitialActionによ
り、Invoke型のアノテーションを用いてダウンロ
ーダ12−3内にフレーズ・テーブルとフレーズ・マップ
が構成される。
【0205】次に、Refer型のアノテーションを用
いて、GetCacheListActionが実行さ
れ、キャッシュ・オブジェクト12−1内に保存されて
いるフレーズがあれば、それがダウンローダ12−3に
対してEvalメッセージとして送られる。
【0206】最後に、再びRefer型のアノテーショ
ンを用いてPrefetchActionが実行され
る。PrefetchActionでは、まずアノテー
ションに対応するフレーズをいつダウンロード開始すれ
ば参照に間に合うかが計算され、それを現在の時刻と比
較が行われる。ダウンロード開始時刻を過ぎていれば、
すぐにダウンローダ12−3にDownloadメッセ
ージを送ることでプリフェッチ要求を行う。まだダウロ
ード開始時刻を過ぎていなければ、SetTimeEv
entメッセージを用いてダウンロード開始時刻にダウ
ンローダ2−3のDownloadメッセージが呼ばれ
るように設定する。図11に示す起動シナリオでは、す
でにダウンロード開始時刻が過ぎているとして、ダウン
ローダ12−3にDownloadメッセージが送られ
る。
【0207】次に、アノテーションの参照フレーズ(r
eference_phrase)の項を検査して、参
照が発生するフレーズのアノテーションのプリフェッチ
要求を生成して、これもダウンローダ12−3のDow
nloadメッセージとして送る。
【0208】このようにダウンロード開始時刻に応じて
自動的にフレーズのプリフェッチを行うことにより、プ
ログラム実行とダウンロードの並行性やダウンロード速
度の高速化を実現することができる。
【0209】ダウンローダ12−3は、Downloa
dメッセージを受け取ると、それをリクエスト・キュー
に入れ、次に先頭の要素を取り出してこれをFetch
メッセージとしてサーバ11に発行する。図11に示す
起動シナリオでは、先にキューに入れられた要求がその
ままサーバ11に要求される。このとき、クライアント
12の情報も引数として渡される。この例では、クライ
アント12が圧縮展開機能を持つこととその種類が引数
として指定される。
【0210】サーバ11は、Fetchメッセージを受
け取ると、指定されたプログラムの指定されたフレーズ
IDを検索する。このとき、圧縮展開機能があることが
指定されている場合には、圧縮されたフレーズが存在す
るかを検索して、あればそれを選択する。なければ非圧
縮のフレーズを選択する。ここでは、フレーズが要求さ
れているので、サーバ11は、圧縮されたフレーズをE
valメッセージとして ダウンローダ12−3に発行
する。
【0211】ダウンローダ12−3は、Evalメッセ
ージを受け取ると、アノテーション状態(annota
tion_status)とフレーズ状態(phras
e_status)がいずれもloadedであること
を基に、LoadCompleteEntryにあるア
クションをアノテーションの持つ型に応じて順に実行す
る(表1及び表2を参照のこと)。図11に示す起動シ
ナリオでは、アノテーションは、Invoke,Ref
er,Compressed,Mapという4つの型の
アノテーションがすでに得られているが、LoadCo
mpleteEntryにはRefer,Compre
ssed,Mapのそれぞれに対応するアクションが3
つあるので、これらが順に呼ばれる。(表2を参照のこ
と)
【0212】まず、Refer型のアノテーションを用
いて、StoreCacheActionが実行され
る。StoreCacheActionは、アノテーシ
ョンのfrequency情報を利用して、フレーズを
キャッシュに保存するかどうかを決定する。保存する場
合には、キャッシュ・オブジェクト12−1に対してP
ut メッセージが発行される。
【0213】次に、Compressed型のアノテー
ションを用いて、ExpandActionが実行され
る。ExpandActionはアノテーションの情報
を用いて、圧縮伸張器12−2 にExpandメッセ
ージを送り、フレーズの内容を伸張して元の内容に戻し
てそれを返す。
【0214】最後に、Map型のアノテーションを用い
て、MapActionが実行される。MapActi
onは、実行環境(ExecSpace)12−4がフ
レーズの利用に必要とする情報をアノテーションから得
て、それを実行環境12−4にMapメッセージとして
送ることで、フレーズを実行環境12−4 上で動作す
るプログラムが利用可能にする。また、図11に示す起
動シナリオでは、Refer時にIDが指定されていた
ため、それも同時にMapメッセージに指定される。実
行環境12−4はこれを使いスレッドをプログラム上で
実行を開始させる。
【0215】Evalの実行の最後では、リクエスト・
キューにメッセージがありダウンロード・リクエストが
可能な場合は、Fetchメッセージをサーバ11に発
行する。図11に示す起動シナリオでは、アノテーショ
ンのプリフェッチ・リクエストがリクエスト・キューに
入るため、これがサーバ11に送られて、プリフェッチ
処理が行われる。このアノテーションのプリフェッチ
は、フェッチ済みフレーズの次のフレーズのために、前
以って行われるものであり、ダウンロードの高速化と並
行性を実現することができる。
【0216】これにより、プログラムのダウンロード実
行がプリフェッチとキャッシュ、圧縮を利用して可能と
なる。
【0217】起動シナリオ2:次に、キャッシュや圧縮
展開機能を持たないクライアント13におけるプログラ
ム起動のシナリオについて説明する。図12には、クラ
イアント13の実行環境(ExecSpace)13−
2がプログラムの起動要求を発行したときの処理の流れ
を模式的に示している。
【0218】ユーザからのプログラム起動要求を受け取
ると、実行環境13−2は、プログラム名とそれを実行
するスレッドIDを指定して、ダウンローダ13−1に
Referメッセージを発行する。
【0219】ダウンローダ13−1は、プログラム名と
プログラムの実行の最初を示すフレーズIDを指定し
て、ダウンローダ13−1のEvalを呼び出す。
【0220】Evalの実行により、アノテーション状
態及びフレーズ状態がいずれもotherであることか
ら、セマンティクス13−3のReferEntryの
アクションが呼び出される(表1を参照のこと)。これ
により、ReferAction が実行される(表3
を参照のこと)。
【0221】ReferActionでは、ダウンロー
ダ13−1のCancelDownloadメソッドを
呼び出して、それまでのprefetchアクションを
キャンセルする。図12に示す起動シナリオでは、プロ
グラムの初めての起動なので、キャンセルするものはな
い。次に、優先順位をhighに指定して、アノテーシ
ョンのDownloadメッセージを発行する。
【0222】ダウンローダ13−1は、Downloa
dメッセージを受け取ると、それをリクエスト・キュー
に入れ、次に先頭の要素を取り出して、これをFetc
hメッセージとしてサーバ・オブジェクト11に発行す
る。
【0223】図12に示す起動シナリオでは、先にキュ
ーに入れられた要求がそのままサーバ・オブジェクト1
1に要求される。このとき、クライアント13の情報も
引数として渡される。この実施形態では、クライアント
13が圧縮展開機能を持たないことが引数として指定さ
れる。
【0224】サーバ・オブジェクト11は、Fetch
メッセージを受け取ると、指定されたプログラムの指定
されたフレーズIDを検索する。このとき、圧縮展開機
能があることが指定されている場合には、圧縮されたフ
レーズが存在するかを検索し、あればそれを選択する。
なければ非圧縮のフレーズを選択する。ここではアノテ
ーションが要求されているので、サーバ・オブジェクト
11は、対応するアノテーションをEvalメッセージ
としてダウンローダ13−1に発行する。
【0225】ダウンローダ13−1は、Evalメッセ
ージを受け取ると、アノテーション状態(annota
tion_status)とフレーズ状態(phras
e_status)がそれぞれloaded及びoth
erの各状態であることから、AnnotationL
oadedEntryにあるアクションをアノテーショ
ンの持つ型に応じて順に実行する(表1を参照のこ
と)。図12に示す起動シナリオでは、アノテーション
はInvoke,Refer,Mapという3つの型の
アノテーションが得られるが、AnnotationL
oadedEntryにはInvokeとReferに
対応するアクションが2つあるので(表3を参照のこ
と)、これらが順に呼び出される。まずInitial
Actionにより、Invoke型のアノテーション
を用いて、ダウンローダ3−1内にフレーズ・テーブル
とフレーズ・マップが構成される。次に、Refer型
のアノテーションを用いて、SimplePrefet
chActionが実行される。
【0226】SimplePrefetchActio
nでは、まず、すぐにダウンローダ13−1にDown
loadメッセージを送ることで、アノテーションに対
応するフレーズのプリフェッチ要求を行う。次に、アノ
テーションの参照フレーズ(reference_ph
rase)の項を検査して、参照が発生するフレーズの
アノテーションのプリフェッチ要求を生成して、これも
ダウンローダ13−1のDownloadメッセージと
して送る。
【0227】ダウンローダ13−1は、Downloa
dメッセージを受け取ると、それをリクエスト・キュー
に入れ、次に先頭の要素を取り出しこれをFetchメ
ッセージとしてサーバ・オブジェクト11に発行する。
図12に示す起動シナリオでは、先にキューに入れられ
た要求がそのままサーバ・オブジェクト11に要求され
る。このとき、クライアントの情報も引数として渡され
る。ここでは、クライアント13が圧縮展開機能を持た
ないことが引数として指定される。
【0228】サーバ・オブジェクト11はFetchメ
ッセージを受け取ると、指定されたプログラムの指定さ
れたフレーズIDを検索する。このとき、圧縮展開機能
があることが指定されている場合には、圧縮されたフレ
ーズが存在するかを検索し、あればそれを選択する。な
ければ非圧縮のフレーズを選択する。ここではフレーズ
が要求されているので、サーバ・オブジェクト11は、
非圧縮のフレーズをEvalメッセージとしてダウンロ
ーダ13−1に発行する。
【0229】ダウンローダ13−1は、Evalメッセ
ージを受け取ると、アノテーション状態(annota
tion_status)とフレーズ状態(phras
e_status)がいずれもloadedの状態であ
ることから、LoadCompleteEntryにあ
るアクションをアノテーションの持つ型に応じて順に実
行する(表1を参照のこと)。図12に示す起動シナリ
オでは、アノテーションはInvoke,Refer,
Mapという3つの型のアノテーションがすでに得られ
ているが、LoadCompleteEntryにはM
apに対応するアクションが1つあるのみである。Ma
p型のアノテーションを用いて、MapActionが
実行される(表3を参照のこと)。
【0230】MapActionは、実行環境(Exe
cSpace)13−2がフレーズの利用に必要とする
情報をアノテーションから得て、それを実行環境13−
2にMapメッセージとして送ることで、フレーズを実
行環境13−2上で動作するプログラムが利用可能にす
る。また、図12に示す起動シナリオでは、Refer
時にIDが指定されていたため、それも同時にMapメ
ッセージに指定される。実行環境13−2は、これを使
いスレッドをプログラム上で実行を開始させる。
【0231】Evalの実行の最後では、リクエスト・
キューにメッセージがありダウンロード・リクエストが
可能な場合は、サーバ・オブジェクト11にFetch
メッセージを発行する。図12に示す起動シナリオで
は、アノテーションのプリフェッチ・リクエストがリク
エスト・キューに入るため、これがサーバ・オブジェクト
11に送られプリフェッチ処理が行われる。
【0232】これにより、プログラムのダウンロード実
行が簡単なプリフェッチを利用して可能となる。
【0233】[追補]以上、特定の実施形態を参照しな
がら、本発明について詳解してきた。しかしながら、本
発明の要旨を逸脱しない範囲で当業者が該実施形態の修
正や代用を成し得ることは自明である。すなわち、例示
という形態で本発明を開示してきたのであり、本明細書
の記載内容を限定的に解釈するべきではない。本発明の
要旨を判断するためには、冒頭に記載した特許請求の範
囲の欄を参酌すべきである。
【0234】
【発明の効果】以上詳記したように、本発明によれば、
クライアント機器の能力や機能、モジュール管理装置と
クライアント機器間の転送速度の多様性に柔軟に対応し
て、ダウンロード実行遅延を改善することができる、優
れたデータ処理システム及びデータ処理方法、情報処理
装置及び情報処理方法、並びに記憶媒体を提供すること
ができる。
【0235】また、本発明によれば、クライアント機器
の能力や機能、ネットワークの転送速度の多様性に柔軟
に対応し、ダウンロード実行遅延を改善することができ
る、優れたデータ処理システム及びデータ処理方法、情
報処理装置及び情報処理方法、並びに記憶媒体を提供す
ることができる。
【0236】本発明によれば、プログラムをフレーズ
(phrase)により構成させることで、プログラム
の実行に不要な部分を分類可能とし、実行に必要なプロ
グラム部分のみのダウンロードを可能とする。さらにフ
レーズにアノテーション(annotation)を対
応させることで、同じプログラムに対してクライアント
機器のさまざまな構成に応じてそれぞれに最適な形で、
プリフェッチ、キャッシュといった異なる複数の手法の
利用を柔軟に組み合わせた、ダウンロード実行の高速化
を行うことができる。
【0237】また、本発明によれば、サーバ側では、プ
ログラムを実行時の参照関係やダウンロード効率を考慮
して、元のプログラムをフレーズに分類再構成をし直す
ようにした。そして、各フレーズにそのフレーズの特性
を示す情報としてアノテーションを対応させるようにし
た。また、クライアント側では、アノテーションの情報
を利用して、そのクライアント機器に適したプリフェッ
チ手法、キャッシュ、圧縮などの手法を柔軟に組み合わ
せることで、ダウンロード実行の速度を向上させること
ができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るデータ処理シス
テムの構成を模式的に示した図である。
【図2】DVD1により記録されるプログラムを拡大し
て示した図である。
【図3】アノテーションの構成例を模式的に示した図で
ある。
【図4】図1に示したクライアント2の構成をより詳細
に示した図である。
【図5】実行環境2−1がプログラムの起動要求を発行
したときの処理の流れを示したシーケンス図である。
【図6】本発明の第2の実施形態に係るデータ処理が実
現されるコンピュータ・ネットワーク構成例を模式的に
示した図である。
【図7】サーバ11により保持されるプログラムの構成
を模式的に示した図である。
【図8】アノテーションの構成例を模式的に示した図で
ある。
【図9】図6で示したクライアント12の機能構成を模
式的に示したブロック図である。
【図10】図6で示したクライアント13の機能構成を
模式的に示したブロック図である。
【図11】クライアント12の実行環境(ExecSp
ace)12−4がプログラムの起動要求を発行したと
きの処理の流れを示した図である。
【図12】クライアント13の実行環境(ExecSp
ace)13−2がプログラムの起動要求を発行したと
きの処理の流れを示した図である。
【符号の説明】
1…DVD 2…クライアント 2−1…実行環境 2−2…ダウンローダ 2−3…キャッシュ 3…システム・バス 4…キャッシュ・メモリ 5…プログラム 5−1…フレーズ 5−2…アノテーション 11…サーバ 12,13…クライアント 12−1…キャッシュ・オブジェクト 12−2…圧縮伸張器 12−3…ダウンローダ 12−4…実行環境 12−5…セマンティクス 13…クライアント 13−1…ダウンローダ 13−2…実行環境 13−3…セマンティクス

Claims (51)

    【特許請求の範囲】
  1. 【請求項1】モジュールを管理するモジュール管理装置
    と該モジュール管理装置からモジュールを移動して利用
    するクライアントで構成されるデータ処理システムであ
    って、 前記モジュール装置において、モジュールの基本構成要
    素をそれぞれの特性を基に分類して複数の基本構成要素
    からなる新規構成要素によりモジュールを再構成すると
    ともに、それぞれの新規構成要素に対して該当する特性
    を特性情報として記述して、前記クライアントからの要
    求に応答して再構成された新規構成要素並びにその特性
    情報を送信し、 前記クライアントにおいて、前記モジュール管理装置か
    らモジュールを移動して利用する際には新規構成要素に
    関連付けられた特性情報に応じた処理をモジュールの利
    用とは透過的に実行する、ことを特徴とするデータ処理
    システム。
  2. 【請求項2】前記モジュール管理装置は、クライアント
    とネットワーク経由で相互接続されたサーバである、こ
    とを特徴とする請求項1に記載のデータ処理システム。
  3. 【請求項3】前記モジュール管理装置は、所定の機器内
    でクライアントとバス経由で相互接続された周辺装置で
    ある、ことを特徴とする請求項1に記載のデータ処理シ
    ステム。
  4. 【請求項4】前記モジュールは、コンピュータ可読形式
    で記述されたコンピュータ・プログラムである、ことを
    特徴とする請求項1に記載のデータ処理システム。
  5. 【請求項5】前記モジュールは、基本構成要素に分解可
    能なデータである、ことを特徴とする請求項1に記載の
    データ処理システム。
  6. 【請求項6】前記モジュール管理装置では、各新規構成
    要素について1以上の圧縮方式を用いて圧縮し且つその
    情報を対応する特性情報に記述するとともに、前記クラ
    イアントが備える伸張方式の通知を受けてこれに対応し
    た圧縮方式で圧縮された新規構成要素を送信する、こと
    を特徴とする請求項1に記載のデータ処理システム。
  7. 【請求項7】前記モジュール管理装置では、モジュール
    に含まれる各新規構成要素をそれぞれ個別に圧縮処理
    し、前記クライアントから複数の伸張方式の通知を受け
    た場合はそのうち最も適した方式で圧縮された新規構成
    要素を送信する、ことを特徴とする請求項1に記載のデ
    ータ処理システム。
  8. 【請求項8】モジュール管理装置において管理されるモ
    ジュールをクライアントに移動して利用するデータ処理
    方法であって、 前記モジュール装置において、モジュールの基本構成要
    素をそれぞれの特性を基に分類して複数の基本構成要素
    からなる新規構成要素によりモジュールを再構成すると
    ともに、それぞれの新規構成要素に対して該当する特性
    を特性情報として記述して、前記クライアントからの要
    求に応答して再構成された新規構成要素並びにその特性
    情報を送信するステップと、 前記クライアントにおいて、前記モジュール管理装置か
    らモジュールを移動して利用する際には新規構成要素に
    関連付けられた特性情報に応じた処理をモジュールの利
    用とは透過的に実行するステップと、を具備することを
    特徴とするデータ処理方法。
  9. 【請求項9】前記モジュール管理装置は、クライアント
    とネットワーク経由で相互接続されたサーバである、こ
    とを特徴とする請求項8に記載のデータ処理方法。
  10. 【請求項10】前記モジュール管理装置は、所定の機器
    内でクライアントとバス経由で相互接続された周辺装置
    である、ことを特徴とする請求項8に記載のデータ処理
    方法。
  11. 【請求項11】前記モジュールは、コンピュータ可読形
    式で記述されたコンピュータ・プログラムである、こと
    を特徴とする請求項8に記載のデータ処理方法。
  12. 【請求項12】前記モジュールは、基本構成要素に分解
    可能なデータである、ことを特徴とする請求項8に記載
    のデータ処理方法。
  13. 【請求項13】前記モジュール管理装置では、各新規構
    成要素について1以上の圧縮方式を用いて圧縮し且つそ
    の情報を対応する特性情報に記述するとともに、前記ク
    ライアントが備える伸張方式の通知を受けてこれに対応
    した圧縮方式で圧縮された新規構成要素を送信する、こ
    とを特徴とする請求項8に記載のデータ処理方法。
  14. 【請求項14】前記モジュール管理装置では、モジュー
    ルに含まれる各新規構成要素をそれぞれ個別に圧縮処理
    し、前記クライアントから複数の伸張方式の通知を受け
    た場合はそのうち最も適した方式で圧縮された新規構成
    要素を送信する、ことを特徴とする請求項8に記載のデ
    ータ処理方法。
  15. 【請求項15】外部装置にモジュールを提供する情報処
    理装置であって、 モジュールの基本構成要素をそれぞれの特性を基に分類
    して、複数の基本構成要素からなる新規構成要素により
    モジュールを再構成するモジュール再構成手段と、 それぞれの新規構成要素に対して該当する特性を特性情
    報として記述する特性情報記述手段と、 外部装置からの要求に応答して、再構成された新規構成
    要素並びにその特性情報を送信する情報送信手段と、を
    具備することを特徴とする情報処理装置。
  16. 【請求項16】前記モジュールは、コンピュータ可読形
    式で記述されたコンピュータ・プログラムである、こと
    を特徴とする請求項15に記載の情報処理装置。
  17. 【請求項17】前記モジュールは、基本構成要素に分解
    可能なデータである、ことを特徴とする請求項15に記
    載の情報処理装置。
  18. 【請求項18】前記情報送信手段は、モジュールのうち
    前記外部装置で最初に利用される部分を含む新規構成要
    素のみをまず送信し、その後必要に応じて新規構成要素
    を単位として送信する、ことを特徴とする請求項15に
    記載の情報処理装置。
  19. 【請求項19】前記モジュール再構成手段は、各新規構
    成要素について1以上の圧縮方式を用いて圧縮し且つそ
    の情報を対応する特性情報に記述し、 前記情報送信手段は、前記外部装置が備える伸張方式の
    通知を受けて、これに対応した圧縮方式で圧縮された新
    規構成要素を送信する、ことを特徴とする請求項15に
    記載の情報処理装置。
  20. 【請求項20】モジュールに含まれる各新規構成要素は
    それぞれ個別に圧縮処理されており、 前記情報送信手段は、前記外部装置から複数の伸張方式
    の通知を受けた場合、そのうち最も適した方式で圧縮さ
    れた新規構成要素を送信する、ことを特徴とする請求項
    19に記載の情報処理装置。
  21. 【請求項21】モジュールを利用する情報処理装置であ
    って、 外部装置からモジュールを移動するデータ移動手段と、 モジュールを利用するモジュール利用手段と、を備え、 モジュールは、基本構成要素をそれぞれの特性を基に分
    類して、複数の基本構成要素からなる新規構成要素によ
    り再構成されており、 各新規構成要素には特性情報が関連付けられており、 前記データ移動手段により移動したモジュールを前記モ
    ジュール利用手段により利用する際には、新規構成要素
    に関連付けられた特性情報に応じた処理をモジュールの
    利用とは透過的に実行する、ことを特徴とする情報処理
    装置。
  22. 【請求項22】前記モジュールは、コンピュータ可読形
    式で記述されたコンピュータ・プログラムである、こと
    を特徴とする請求項21に記載の情報処理装置。
  23. 【請求項23】前記モジュールは、基本構成要素に分解
    可能なデータである、ことを特徴とする請求項21に記
    載の情報処理装置。
  24. 【請求項24】前記データ移動手段は、新規構成要素と
    ともにその特性情報を移動する、ことを特徴とする請求
    項21に記載の情報処理装置。
  25. 【請求項25】移動した新規構成要素に関する特性情報
    をあらかじめ所持する、ことを特徴とする請求項21に
    記載の情報処理装置。
  26. 【請求項26】前記データ移動手段により移動したモジ
    ュールを前記モジュール利用手段により利用する際に
    は、新規構成要素とともに移動した特性情報並びにあら
    かじめ所持する特性情報に応じた処理を実行する、こと
    を特徴とする請求項21に記載の情報処理装置。
  27. 【請求項27】前記データ移動手段は、モジュールのう
    ち前記モジュール利用手段で最初に利用される部分を含
    む新規構成要素のみをまず移動し、その後必要に応じて
    新規構成要素を単位として移動する、ことを特徴とする
    請求項21に記載の情報処理装置。
  28. 【請求項28】前記データ移動手段は、モジュールのう
    ち前記モジュール利用手段で最初に利用される部分を含
    む新規構成要素のみをまず移動し、その後は、特性情報
    を参照して、前記モジュール利用手段によるモジュール
    の利用が未だ移動されていない新規構成要素に及ぶより
    以前に、モジュールの利用に並行して該新規構成要素の
    移動を行う、ことを特徴とする請求項21に記載の情報
    処理装置。
  29. 【請求項29】移動した新規構成要素を一時記憶するキ
    ャッシュ手段をさらに備え、 特性情報を用いて新規構成要素を選択して前記データ移
    動手段により移動するとともに前記キャッシュ手段に保
    存し、 前記モジュール利用手段がモジュールを利用する際に
    は、前記データ移動手段により外部装置にデータ移動要
    求する前に前記キャッシュ手段の状態を検査して、前記
    キャッシュ手段によりモジュールの新規構成要素が既に
    保存されている場合にはそれを利用する、ことを特徴と
    する請求項21に記載の情報処理装置。
  30. 【請求項30】さらに圧縮データを所定の伸張方式で伸
    張する伸張手段を備え、 前記データ移動手段は、データ移動要求時に前記外部装
    置に前記伸張方式を通知して、対応する圧縮方式で圧縮
    された新規構成要素を選択的に移動し、 前記モジュール利用手段は、前記伸張手段により移動し
    た新規構成要素を伸張した後に利用する、ことを特徴と
    する請求項21に記載の情報処理装置。
  31. 【請求項31】モジュールに含まれる各新規構成要素は
    それぞれ個別に圧縮処理されており、 前記伸張手段は複数の伸張方式を備え、 前記データ移動手段は、データ移動要求時に該複数の伸
    張方式を前記外部装置に通知して、最も適した方式で圧
    縮された新規構成要素を選択的に移動する、ことを特徴
    とする請求項30に記載の情報処理装置。
  32. 【請求項32】外部装置にモジュールを提供する情報処
    理方法であって、 モジュールの基本構成要素をそれぞれの特性を基に分類
    して、複数の基本構成要素からなる新規構成要素により
    モジュールを再構成するモジュール再構成ステップと、 それぞれの新規構成要素に対して該当する特性を特性情
    報として記述する特性情報記述ステップと、 外部装置からの要求に応答して、再構成された新規構成
    要素並びにその特性情報を送信する情報送信ステップ
    と、を具備することを特徴とする情報処理方法。
  33. 【請求項33】前記モジュールは、コンピュータ可読形
    式で記述されたコンピュータ・プログラムである、こと
    を特徴とする請求項32に記載の情報処理方法。
  34. 【請求項34】前記モジュールは、基本構成要素に分解
    可能なデータである、ことを特徴とする請求項32に記
    載の情報処理方法。
  35. 【請求項35】前記情報送信ステップでは、モジュール
    のうち前記外部装置で最初に利用される部分を含む新規
    構成要素のみをまず送信し、その後必要に応じて新規構
    成要素を単位として送信する、ことを特徴とする請求項
    32に記載の情報処理方法。
  36. 【請求項36】前記モジュール再構成ステップでは、1
    以上の圧縮方式を用いて新規構成要素を圧縮し且つその
    情報を対応する特性情報に記述し、 前記情報送信ステップでは、前記外部装置が備える伸張
    方式の通知を受けて、これに対応した圧縮方式で圧縮さ
    れた新規構成要素を送信する、ことを特徴とする請求項
    32に記載の情報処理方法。
  37. 【請求項37】モジュールに含まれる各新規構成要素は
    それぞれ個別に圧縮処理されており、 前記情報送信ステップでは、前記外部装置から複数の伸
    張方式の通知を受けた場合、そのうち最も適した方式で
    圧縮された新規構成要素を送信する、ことを特徴とする
    請求項36に記載の情報処理方法。
  38. 【請求項38】モジュールを利用する情報処理方法であ
    って、 外部装置からモジュールを移動するデータ移動ステップ
    と、 モジュールを利用するモジュール利用ステップと、を備
    え、 モジュールは、基本構成要素をそれぞれの特性を基に分
    類して、複数の基本構成要素からなる新規構成要素によ
    り再構成されており、 各新規構成要素には特性情報が関連付けられており、 前記データ移動ステップにより移動したモジュールを前
    記モジュール利用ステップにおいて利用する際には、新
    規構成要素に関連付けられた特性情報に応じた処理をモ
    ジュールの利用とは透過的に実行する、ことを特徴とす
    る情報処理方法。
  39. 【請求項39】前記モジュールは、コンピュータ可読形
    式で記述されたコンピュータ・プログラムである、こと
    を特徴とする請求項38に記載の情報処理方法。
  40. 【請求項40】前記モジュールは、基本構成要素に分解
    可能なデータである、ことを特徴とする請求項38に記
    載の情報処理方法。
  41. 【請求項41】前記データ移動ステップでは、新規構成
    要素とともにその特性情報を移動する、ことを特徴とす
    る請求項38に記載の情報処理方法。
  42. 【請求項42】移動した新規構成要素に関する特性情報
    をあらかじめ所持する、ことを特徴とする請求項38に
    記載の情報処理方法。
  43. 【請求項43】前記データ移動ステップにより移動した
    モジュールを前記モジュール利用ステップにおいて利用
    する際には、新規構成要素とともに移動した特性情報並
    びにあらかじめ所持する特性情報に応じた処理を実行す
    る、ことを特徴とする請求項38に記載の情報処理方
    法。
  44. 【請求項44】前記データ移動ステップでは、モジュー
    ルのうち前記モジュール利用手段で最初に利用される部
    分を含む新規構成要素のみをまず移動し、その後必要に
    応じて新規構成要素を単位として移動する、ことを特徴
    とする請求項38に記載の情報処理方法。
  45. 【請求項45】前記データ移動ステップでは、モジュー
    ルのうち前記モジュール利用ステップで最初に利用され
    る部分を含む新規構成要素のみをまず移動し、その後
    は、特性情報を参照して、前記モジュール利用手段によ
    るモジュールの利用が未だ移動されていない新規構成要
    素に及ぶより以前に、モジュールの利用に並行して該新
    規構成要素の移動を行う、ことを特徴とする請求項38
    に記載の情報処理方法。
  46. 【請求項46】特性情報を用いて新規構成要素を選択し
    て前記データ移動ステップにより移動するとともに一時
    的に保存し、 前記モジュール利用ステップによりモジュールを利用す
    る際には、前記データ移動ステップにより外部装置にデ
    ータ移動要求する前に、モジュールの新規構成要素が既
    に保存されている場合にはそれを利用する、ことを特徴
    とする請求項38に記載の情報処理方法。
  47. 【請求項47】さらに圧縮データを所定の伸張方式で伸
    張する伸張ステップを備え、 前記データ移動ステップでは、データ移動要求時に前記
    外部装置に前記伸張方式を通知して、対応する圧縮方式
    で圧縮された新規構成要素を選択的に移動し、前記モジ
    ュール利用ステップでは、前記伸張ステップにより移動
    した新規構成要素を伸張した後に利用する、ことを特徴
    とする請求項38に記載の情報処理方法。
  48. 【請求項48】モジュールに含まれる各新規構成要素は
    それぞれ個別に圧縮処理されており、前記伸張ステップ
    は複数の伸張方式に対応し、 前記データ移動ステップでは、データ移動要求時に該複
    数の伸張方式を前記外部装置に通知して、最も適した方
    式で圧縮された新規構成要素を選択的に移動する、こと
    を特徴とする請求項47に記載の情報処理方法。
  49. 【請求項49】複数の基本構成要素からなるモジュール
    を管理し利用するためのデータ処理をコンピュータ・シ
    ステム上で実行するように記述されたコンピュータ・ソ
    フトウェアをコンピュータ可読形式で物理的に格納した
    記憶媒体であって、前記コンピュータ・ソフトウェア
    は、 モジュールの基本構成要素をそれぞれの特性を基に分類
    して複数の基本構成要素からなる新規構成要素によりモ
    ジュールを再構成するとともに、それぞれの新規構成要
    素に対して該当する特性を特性情報として記述してモジ
    ュールを管理するステップと、 モジュールを利用する際に、新規構成要素に関連付けら
    れた特性情報に応じた処理をモジュールの利用とは透過
    的に実行するステップと、を具備することを特徴とする
    記憶媒体。
  50. 【請求項50】外部装置にモジュールを提供する処理を
    コンピュータ・システム上で実行するように記述された
    コンピュータ・ソフトウェアをコンピュータ可読形式で
    物理的に格納した記憶媒体であって、前記コンピュータ
    ・ソフトウェアは、 モジュールの基本構成要素をそれぞれの特性を基に分類
    して、複数の基本構成要素からなる新規構成要素により
    モジュールを再構成するモジュール再構成ステップと、 それぞれの新規構成要素に対して該当する特性を特性情
    報として記述する特性情報記述ステップと、 外部装置からの要求に応答して、再構成された新規構成
    要素並びにその特性情報を送信する情報送信ステップ
    と、を具備することを特徴とする記憶媒体。
  51. 【請求項51】モジュールを利用する処理をコンピュー
    タ・システム上で実行するように記述されたコンピュー
    タ・ソフトウェアをコンピュータ可読形式で物理的に格
    納した記憶媒体であって、前記コンピュータ・ソフトウ
    ェアは、 外部装置からモジュールを移動するデータ移動ステップ
    と、 モジュールを利用するモジュール利用ステップと、を備
    え、 モジュールは、基本構成要素をそれぞれの特性を基に分
    類して、複数の基本構成要素からなる新規構成要素によ
    り再構成されており、 前記データ移動ステップにより移動したモジュールを前
    記モジュール利用ステップにおいて利用する際には、新
    規構成要素に関連付けられた特性情報に応じた処理をモ
    ジュールの利用とは透過的に実行する、ことを特徴とす
    る記憶媒体。
JP2001336040A 2001-03-27 2001-11-01 データ処理システム及びデータ処理方法、情報処理装置及び情報処理方法、並びにコンピュータ・ソフトウェア Expired - Fee Related JP3687587B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001336040A JP3687587B2 (ja) 2001-03-27 2001-11-01 データ処理システム及びデータ処理方法、情報処理装置及び情報処理方法、並びにコンピュータ・ソフトウェア
CNB028074165A CN1260643C (zh) 2001-03-27 2002-02-19 数据处理系统和方法、信息处理装置和方法
US10/468,306 US20040107291A1 (en) 2001-03-27 2002-02-19 Data processing system, data processing method, informaton processing device and information processing method, and storage medium
PCT/JP2002/001407 WO2002077798A1 (fr) 2001-03-27 2002-02-19 Systeme et dispositif de traitement de donnees, dispositif et procede de traitement d'informations, et support de stockage
EP02712447A EP1378822A1 (en) 2001-03-27 2002-02-19 Data processing system and data processing method, information processing device and information processing method, and storage medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-91274 2001-03-27
JP2001091274 2001-03-27
JP2001336040A JP3687587B2 (ja) 2001-03-27 2001-11-01 データ処理システム及びデータ処理方法、情報処理装置及び情報処理方法、並びにコンピュータ・ソフトウェア

Publications (2)

Publication Number Publication Date
JP2002358208A true JP2002358208A (ja) 2002-12-13
JP3687587B2 JP3687587B2 (ja) 2005-08-24

Family

ID=26612255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001336040A Expired - Fee Related JP3687587B2 (ja) 2001-03-27 2001-11-01 データ処理システム及びデータ処理方法、情報処理装置及び情報処理方法、並びにコンピュータ・ソフトウェア

Country Status (5)

Country Link
US (1) US20040107291A1 (ja)
EP (1) EP1378822A1 (ja)
JP (1) JP3687587B2 (ja)
CN (1) CN1260643C (ja)
WO (1) WO2002077798A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004061625A1 (ja) * 2002-12-27 2004-07-22 Mitsui & Co., Ltd. ソフトウェア・ライセンス管理方法および生体認識装置を備えた携帯型電子デバイス
JP2009059084A (ja) * 2007-08-30 2009-03-19 Denso Corp 制御システム,電子機器およびプログラム
JP2010238112A (ja) * 2009-03-31 2010-10-21 Ntt Docomo Inc 通信端末および通信制御方法
JP2011123891A (ja) * 2009-12-13 2011-06-23 Internatl Business Mach Corp <Ibm> ネットワーク環境において仮想マシンのリモート配備を管理する方法、システムおよびコンピュータ・プログラム
JP2014120065A (ja) * 2012-12-18 2014-06-30 Canon Electronics Inc 周辺装置、周辺装置の制御方法およびプログラム
WO2014111985A1 (ja) * 2013-01-17 2014-07-24 株式会社ソニー・コンピュータエンタテインメント 情報処理装置およびファイル管理方法
JP2018538597A (ja) * 2016-01-15 2018-12-27 グーグル エルエルシー アプリケーションコンテナを使用するコードおよび従属データの送達の管理
US10445083B2 (en) 2016-01-15 2019-10-15 Google Llc Application containers with dynamic sub-package loading
JP2021168103A (ja) * 2020-04-10 2021-10-21 アップル インコーポレイテッドApple Inc. アクティビティを有効化するユーザインタフェース
US11782573B2 (en) 2020-04-10 2023-10-10 Apple Inc. User interfaces for enabling an activity
US11836725B2 (en) 2014-05-29 2023-12-05 Apple Inc. User interface for payments

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930944B2 (en) * 2003-11-18 2015-01-06 Microsoft Corporation Application model that integrates the web experience with the traditional client application experience
US7720877B1 (en) * 2004-04-14 2010-05-18 Oracle America, Inc. Class structure based enhancer for data objects
US20080208991A1 (en) * 2004-12-30 2008-08-28 Koninklijke Philips Electronics N.V. Data Processing Arrangement
US8869140B2 (en) * 2008-05-09 2014-10-21 Sap Se Deploying software modules in computer system
CN102819456B (zh) * 2012-08-14 2016-12-21 魅族科技(中国)有限公司 剪贴板中内容的生成方法及装置
US9600940B2 (en) * 2013-04-08 2017-03-21 Kalloc Studios Asia Limited Method and systems for processing 3D graphic objects at a content processor after identifying a change of the object
US9298448B2 (en) * 2013-05-21 2016-03-29 Red Hat, Inc. System and method for run time dependency resolution
CN105991687B (zh) 2015-02-03 2019-09-17 阿里巴巴集团控股有限公司 一种服务管理方法和装置
JP6855348B2 (ja) * 2017-07-31 2021-04-07 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびダウンロード処理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756743A (ja) * 1993-08-17 1995-03-03 Inter Sci Kk モジュ−ル管理方法および装置
US5953533A (en) * 1997-08-27 1999-09-14 Lucent Technologies Inc. Computer software distribution, installation and maintenance method and apparatus
GB2331814B (en) * 1997-11-19 2002-11-13 Ibm Pre-emptive download of software in data processing network
US5991399A (en) * 1997-12-18 1999-11-23 Intel Corporation Method for securely distributing a conditional use private key to a trusted entity on a remote system
JP4006079B2 (ja) * 1998-02-27 2007-11-14 株式会社東芝 ネットワークコンピュータおよびその制御方法
US6611812B2 (en) * 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
US20030079222A1 (en) * 2000-10-06 2003-04-24 Boykin Patrick Oscar System and method for distributing perceptually encrypted encoded files of music and movies
US20020073238A1 (en) * 2000-11-28 2002-06-13 Eli Doron System and method for media stream adaptation
EP1973294A1 (en) * 2001-01-30 2008-09-24 Electronics and Telecommunications Research Institute Method and apparatus for delivery of metadata synchronized to multimedia contents

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004061625A1 (ja) * 2002-12-27 2004-07-22 Mitsui & Co., Ltd. ソフトウェア・ライセンス管理方法および生体認識装置を備えた携帯型電子デバイス
JP2009059084A (ja) * 2007-08-30 2009-03-19 Denso Corp 制御システム,電子機器およびプログラム
JP2010238112A (ja) * 2009-03-31 2010-10-21 Ntt Docomo Inc 通信端末および通信制御方法
JP2011123891A (ja) * 2009-12-13 2011-06-23 Internatl Business Mach Corp <Ibm> ネットワーク環境において仮想マシンのリモート配備を管理する方法、システムおよびコンピュータ・プログラム
JP2014120065A (ja) * 2012-12-18 2014-06-30 Canon Electronics Inc 周辺装置、周辺装置の制御方法およびプログラム
US10754779B2 (en) 2013-01-17 2020-08-25 Sony Interactive Entertainment Inc. Information processing device and method for managing file
US9529725B2 (en) 2013-01-17 2016-12-27 Sony Corporation Information processing device and method for managing file
WO2014111985A1 (ja) * 2013-01-17 2014-07-24 株式会社ソニー・コンピュータエンタテインメント 情報処理装置およびファイル管理方法
US11836725B2 (en) 2014-05-29 2023-12-05 Apple Inc. User interface for payments
US10467025B2 (en) 2016-01-15 2019-11-05 Google Llc Managing delivery of code and dependent data using application containers
US10521242B2 (en) 2016-01-15 2019-12-31 Google Llc Application containers with updatable application programming interface layers
JP2020074139A (ja) * 2016-01-15 2020-05-14 グーグル エルエルシー アプリケーションコンテナを使用するコードおよび従属データの送達の管理
US10445083B2 (en) 2016-01-15 2019-10-15 Google Llc Application containers with dynamic sub-package loading
US10963270B2 (en) 2016-01-15 2021-03-30 Google Llc Identifiers across application instances
CN113110848A (zh) * 2016-01-15 2021-07-13 谷歌有限责任公司 跨应用实例的标识符
JP7018463B2 (ja) 2016-01-15 2022-02-10 グーグル エルエルシー アプリケーションコンテナを使用するコードおよび従属データの送達の管理
JP2018538597A (ja) * 2016-01-15 2018-12-27 グーグル エルエルシー アプリケーションコンテナを使用するコードおよび従属データの送達の管理
JP2021168103A (ja) * 2020-04-10 2021-10-21 アップル インコーポレイテッドApple Inc. アクティビティを有効化するユーザインタフェース
US11782573B2 (en) 2020-04-10 2023-10-10 Apple Inc. User interfaces for enabling an activity

Also Published As

Publication number Publication date
CN1500241A (zh) 2004-05-26
CN1260643C (zh) 2006-06-21
JP3687587B2 (ja) 2005-08-24
WO2002077798A1 (fr) 2002-10-03
US20040107291A1 (en) 2004-06-03
EP1378822A1 (en) 2004-01-07

Similar Documents

Publication Publication Date Title
JP2002358208A (ja) データ処理システム及びデータ処理方法、情報処理装置及び情報処理方法、並びに記憶媒体
Ahmed et al. Docker container deployment in fog computing infrastructures
TWI276998B (en) Systems and methods for managing drivers in a computing system
EP1076290B1 (en) Method for on-demand network application download and execution
US6430570B1 (en) Java application manager for embedded device
JP3955358B2 (ja) 低減されたラン−タイム・メモリ空間要求を有するアーキテクチャ特定コードを実行する方法及びコンピュータ・システム
JP4713820B2 (ja) プログラム実行制御装置、プログラム実行制御方法
JP5167589B2 (ja) アプリケーションサーバ装置および仮想マシンプログラム
US8307364B2 (en) Multi-threaded annotator for hypertext information
US7587400B2 (en) Suspending a result set and continuing from a suspended result set for transparent session migration
US8024425B2 (en) Web services deployment
KR100783679B1 (ko) 데이터 스트림에 기반하는 서비스의 개발, 배치, 제공을용이하게 하는 미들웨어 시스템
JP2003157170A (ja) プログラムバイナリをデコードおよび実行する方法
US8620990B2 (en) Parsing contents of an e-Form
CN104516885B (zh) 浏览程序双内核组件的实现方法及装置
US20220004405A1 (en) 3D API Redirection for Virtual Desktop Infrastructure
JPH10228380A (ja) 低減されたラン−タイム・メモリ空間要求を有するネットワーク移動コードを実行する方法及びコンピュータ・システム
US20060036616A1 (en) Suspending a result set and continuing from a suspended result set for scrollable cursors
US7451390B2 (en) Structured document processing system, method, program and recording medium
JP2002304301A (ja) ダウンロード装置及びダウンロード方法
JPH1153321A (ja) コンピュータ・システム、エージェント送信方法及びエージェント復元方法
JP2005531061A (ja) モバイルアプリケーションのための実行環境
CN114064141A (zh) 中间件启动时长优化方法、装置和可读存储介质
CN112905325B (zh) 一种分布式数据缓存加速训练的方法、系统及介质
CN112689248A (zh) 一种消息处理方法及系统

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050418

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050530

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080617

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees