JP2004529419A - ソフトウェアアプリケーションローディング用のソフトウェアエンジンおよび方法 - Google Patents

ソフトウェアアプリケーションローディング用のソフトウェアエンジンおよび方法 Download PDF

Info

Publication number
JP2004529419A
JP2004529419A JP2002570066A JP2002570066A JP2004529419A JP 2004529419 A JP2004529419 A JP 2004529419A JP 2002570066 A JP2002570066 A JP 2002570066A JP 2002570066 A JP2002570066 A JP 2002570066A JP 2004529419 A JP2004529419 A JP 2004529419A
Authority
JP
Japan
Prior art keywords
application
engine
core
software
loading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002570066A
Other languages
English (en)
Other versions
JP2004529419A5 (ja
Inventor
ベドス、シエリー
フイ・クウォク、レオン
Original Assignee
ネクサスエッジ・テクノロジーズ・ピーティーイー・リミテッド
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 ネクサスエッジ・テクノロジーズ・ピーティーイー・リミテッド filed Critical ネクサスエッジ・テクノロジーズ・ピーティーイー・リミテッド
Publication of JP2004529419A publication Critical patent/JP2004529419A/ja
Publication of JP2004529419A5 publication Critical patent/JP2004529419A5/ja
Pending legal-status Critical Current

Links

Images

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)
  • Stored Programmes (AREA)

Abstract

ユーザマシーンにロードするためのソフトウェアエンジンアプリケーションであり、ここではアプリケーションのコアサービスはアプリケーションがユーザマシーンで動作を開始することを可能にするためユーザマシーンにロードされ、エンジンはそれが決定する優先順位にしたがってアプリケーションのコアではないサービスをロードする。対応する方法およびメモリ管理システムも開示されている。

Description

【技術分野】
【0001】
本発明はソフトウェアアプリケーションローディング用のソフトウェアエンジンおよび方法、特にそれに限定されないがダウンロード可能なソフトウェアエンジンとソフトウェアアプリケーションのダウンロード方法に関する。本発明はジャバで書かれたソフトウェアアプリケーションに対して特別な応用を有するが、その言語のアプリケーションに限定されず、他の言語で書かれたソフトウェアアプリケーションにも応用可能である。
【背景技術】
【0002】
例えばジャバのアプリケーションのようなソフトウェアアプリケーションは例えばインターネットにわたってダウンロードされることによりユーザのマシーンへロードされることができる。現在の技術はアプリケーションの使用が開始できる前にアプリケーション全体がダウンロードされることができることを必要とする。これはジャバアプレットまたはスタンドアロンアプリケーションである。ダウンロードされるものはアプリケーションの実行に必要なジャババイトコードのクラスのセットである。アプリケーションが複雑であるならば、多数のクラスがダウンロードされることを必要とされ、したがって多量のコードがダウンロードされることを示唆する。コードの一部はアプリケーションの開始に必要とされる。しかしながら、幾つかのクラスはアプリケーションの開始に使用されないで、ある時間後、ユーザがアプリケーションと対話した後のみに使用され、または全く使用されない。最初にこれらはダウンロードされているので、これらはダウンロード時間とメモリの使用を増加する。これは望ましくない。
【0003】
最近の提案はhttp://www.javaworld.com/javaworld/javatips/jw-javatips95.htmlで利用可能なJava WorldのTips'N Tricks 、Tip 95中に存在する。しかしながら、これは自動的にそれ自体を付勢するアプリケーションのエンジンではなく各アプリケーションで別々に動作されなければならないユーザマシーンからのダイナミックローディングシステムである。
【発明の開示】
【発明が解決しようとする課題】
【0004】
それ故、本発明の主要な目的はアプリケーションが漸進的にロードされることを可能にするためのエンジンを与えることである。
さらに別の目的は初期ローディングがアプリケーションの開始に必要なアプリケーション部分であるこのようなエンジンを提供することである。
【0005】
別の目的はアプリケーションの残りが制御された方法でロードされるこのようなエンジンを提供することである。
最終的な目的はアプリケーション性能を改良するためにメモリ管理システムを提供することである。
【課題を解決するための手段】
【0006】
前述および他の目的を念頭において、本発明はユーザマシーンにロード可能なソフトウェアアプリケーション用のソフトウェアエンジンを提供し、アプリケーションのコアサービスはユーザのマシーンで動作するためにアプリケーションの開始を可能にするようにユーザマシーンへロードされることである。エンジンは結果として、エンジンにより決定された優先順位にしたがってコアではないアプリケーションサービスをロードする。エンジンはコアサービスの一部および好ましくはそのサービスと共にロードされ、コアサービスのローディングによりスタートされる。好ましくはこれはコアサービスのローディングの完了時にスタートする。
【0007】
優先順位はトップの優先順位を含んでおり、トップの優先順位はユーザによるアプリケーションとの対話の結果としてユーザのマシーンで必要とされる任意のコアではないアプリケーションサービスに対して与えられる。コアではないサービスはエンジンにより制御される方法でロードされることがこのましい。制御はユーザによるアプリケーションとの対話を考慮してエンジンにより行われる。
【0008】
好ましくは、コアではないサービスをロードする前に、これらはエンジンにより登録される。さらに好ましくは、エンジンはリクエストされたコアではないサービスをロードする前にコアではないサービスの登録リストをチェックする。エンジンはアプリケーションの一部であってもよい。
【0009】
少なくともアプリケーションの1つのオブジェクトが記憶されることのできるキャッシュが設けられる。キャッシュはアプリケーションがユーザマシーンに存在するときのみ動作し、少なくとも1つのオブジェクトが位置されるオブジェクトリポジトリと、少なくとも1つのオブジェクト記述を含んでもよい。オブジェクト記述はオブジェクト基準、オブジェクトキー、基準カウンタ、タイムスタンプからなるグループから選択された1以上のものを含んでいてもよい。ローディングはインターネットによるダウンロードを含むダウンローディングである。
【0010】
好ましくは、キャッシュされたオブジェクトの使用の追跡を維持するメモリ管理モジュールも設けられており、メモリ管理モジュールは1以上のオブジェクトの割当てを解除することができる。1以上のオブジェクトの割当て解除は任意のタイムオフセットを含んでいる。オブジェクトリポジトリのオブジェクトのオブジェクト記述が少なくともタイムオフセットに等しい時間でゼロに等しい基準カウンタを有するならば、対応するオブジェクト記述はオブジェクトリポジトリから除去されてもよい。
【0011】
エンジンは所望ならばメモリ管理モジュールと合体してもよい。代わりに、この2つは相互に独立してもよい。
別の形態では、本発明はソフトウェアエンジンを使用しているユーザマシーンへソフトウェアアプリケーションをロードする方法を提供し、その方法はユーザがアプリケーションと対話することを可能にするためアプリケーションのコアサービスをユーザマシーンへロードし、エンジンにより決定された優先順位にしたがってアプリケーションのコアではないサービスをロードすることを含んでいる。
【0012】
好ましくは、コアではないサービスをロードする前に、これらはエンジンにより登録される。優先順位はトップの優先順位を含んでおり、トップの優先順位はユーザによるアプリケーションとの対話の結果としてユーザマシーンで必要とされる任意のコアではないアプリケーションサービスに与えられる。コアではないサービスはエンジンにより制御される方法でロードされることが好ましく、エンジンはユーザによるアプリケーションとの対話を考慮する。
【0013】
便宜的に、エンジンはローディング前にコアではないサービスの登録リストを作成し、リクエストされたコアではないサービスをロードする前にコアではないサービスの登録リストをチェックしてもよい。
ローディングはダウンロードであり、インターネットにわたってもよい。好ましくは、少なくともアプリケーションの1つのオブジェクトが記憶されることができるキャッシュが設けられる。キャッシュがアプリケーションがユーザマシーンに存在するときのみ動作可能であることがさらに好ましい。
【0014】
キャッシュはオブジェクトが位置されるオブジェクトリポジトリとオブジェクト記述を含んでもよい。オブジェクト記述はオブジェクト基準、オブジェクトキー、基準カウンタ、タイムスタンプの1以上のものを含んでもよい。
キャッシュされたオブジェクトの使用は1以上のオブジェクトの割当てを解除するメモリ管理モジュールにより追跡され、任意のタイムオフセットの使用を含む。オブジェクトリポジトリのオブジェクト記述が少なくともタイムオフセットに等しい時間に対してゼロに等しい基準カウンタを有するならば、対応するオブジェクト記述はオブジェクトリポジトリから除去されてもよい。割当て解除は特定のオブジェクトがもはや必要ではないことをモジュールがキャッシュオペレーティングシステムに通知するときに行われる。オペレーティングシステムはその後キャッシュからオブジェクトを消去することができ、したがってメモリをフリーにする。フリーにされたメモリはその後、必要な時に使用されることができる。
【発明を実施するための最良の形態】
【0015】
本発明を良好に理解し、その効果を実践するために、本発明の好ましい実施形態の技術的範囲を限定するためではなく単なる例示により説明し、説明は添付図面を参照する。
説明する実施形態はソフトウェアアプリケーションを漸進的にダウンロードするソフトウェアエンジンまたはフレームワークと、メモリ管理用のメモリ管理モジュールを提供する。これはクライアントマシーンで使用されるメモリの量を管理しながら、大きいアプリケーションがダウンロードされ幾つかのステップで成長することを可能にする。コアクラスの第1のセットはクライアントマシーンにダウンロードされ、残りのアプリケーションクラスはクライアントマシーンの背景タスクによりダウンロードされる。幾つかのクラスが特別なユーザ対話のためにアプリケーションにより必要とされるならば、対応するクラスは高い優先順位でダウンロードされる。このエンジン/フレームワークはしたがってエンジンの背景ローディングと“要求されている”ローディングとを実行する。メモリ管理機能はアプリケーションがクライアントマシーンで使用するメモリリソース量を減少するためにユーザが直接使用しない幾つかのメモリをフリーにする。
【0016】
最初に図1を参照するため、ネットワーク3により接続されているサーバマシーン1とクライアントマシーン2と、サーバ1からダウンロードされクライアントマシーン2で実行されるジャバアプリケーションのようなジャバアプリケーションが与えられており、本発明はそのアプリケーションをコアアプリケーションと付加的なサービスに分割する。コアアプリケーションはアプリケーションを開始するためにダウンロードを必要とされる全てのアプリケーションコンポーネント(ジャバクラス)である。付加的なサービスはアプリケーションのその後の機能を実行するためダウンロードされる必要なコンポーネントのセットである。1つのサービスはそのアプリケーションの機能に等しい。エンジンはコアアプリケーションの一部であり、好ましくはコアアプリケーションによりロードされ、コアアプリケーションのロードの完了により開始されるようにトリガーされる。
【0017】
グラフィックアプリケーションの場合、コアアプリケーションはメインスクリーンであり、基本的なオブジェクトはこの第1のスクリーンをユーザに示すために必要とされた。付加的なサービスはアプリケーションの全てのサブスクリーンと、アプリケーションにより転送される基本的なサービスと、ユーザのアプリケーションとの対話の全ての結果からなる。各サービスはそのサービスを実現するのに必要な1以上のジャバクラスの名称により示される。さらにアプリケーションは全ての可能なユーザ対話と、それがトリガーする対応するサービスとの間にリンクを設定する。例えばグラフィックアプリケーションの場合、アプリケーションはボタンのクリックと、開始される対応するサービスとの間に関係を維持する。
【0018】
ローディングエンジンまたはフレームワークはサーバからジャバクラスをダウンロードできるクライアントタスクである。これはダウンロードされるサービスのリストを維持し、各サービスに必要とされるクラスをダウンロードする。これはリスト中に現れる順序にしたがってクラスをダウンロードする程度に簡単である。クラスのダウンロードの順番は変更されることができる。これはエンジンにより行われ、例えばマシーンのリソースのさらに効率的な使用のため、または既にダウンロードされたアプリケーションクラスがアプリケーションの動作を拡張するため新しいクラスを使用できることを可能にするためのユーザ対話によるものである。そのサービスリストに新しいサービスを付加することができる。ダウンロードエンジンはコアアプリケーションの一部であり、それと共にロードされる。エンジンを含むコアアプリケーションのローディングの完了はエンジンのスタートをトリガーする。しかしながら、所望ならば早期に開始してもよい。エンジンはユーザではなくコアアプリケーションの動作により開始される。ダウンロードエンジンとサーバとの間のリンクは所望ならば暗号化されてもよい。
【0019】
コアアプリケーションのダウンロードはサーバ1からジャババイトコードをダウンロードして実行するクライアント2により開始される。コアアプリケーションはその後サーバから、付加的なサービスのための説明情報をリクエストする。サーバはこの情報をその記憶媒体4から獲得し、クライアント2へそれを送信する。このステップはサービス情報が既にコアアプリケーションクラスに含まれているならば必要ではない。
【0020】
ダウンロードエンジンはその後、スタートされる。コアアプリケーションはダウンロードエンジンによりダウンロードされるべきサービスを登録し、これは必要なクラスのダウンロードを開始する。ダウンロードは登録順序を含むエンジンにより決定された任意の順序であってよい。
【0021】
ユーザがコアアプリケーションと対話するとき、ある付加的なサービスがダウンロードされるのに必要とされる。その場合、コアアプリケーションはダウンロードエンジンに特別なサービスがダウンロードされるのに必要であることを通知する。ダウンロードエンジンは対応するサービスが既にダウンロードされているか否かをチェックする。ダウンロードされていないならば、優先順位の事柄として任意の他のクラスの前の任意の事象でこのサービスのクラスをダウンロードする。サービスに対応するコードはそれ故、ダウンロードされ、アプリケーションはサービスを開始する。図4に示されているように、サービス3がユーザの対話のためにダウンロードされる必要があり、サービス2がダウンロードされるがその時に必要ではないならば、サービス2のダウンロードは中断され、サービス3がダウンロードされる。
【0022】
ダウンロードエンジンは後続の(図5参照)前述の方法により制御された方法または必要なときにその他の方法で全てのサービスをダウンロードする。一度、コアアプリケーションと全ての登録されたコアではないサービスがダウンロードされると、ユーザがアプリケーションと対話しないのでサービスはもはやダウンロードされる必要はない。それ故、エンジンはさらにコアではないサービスが登録されるのに対して準備または待機する。いつでもローディング順序または優先順位を制御するのはエンジンである。任意の時に、アプリケーションはエンジンにより新しいサービスのダウンロードをリクエストでき、エンジンに付加的なコードをダウンロードさせる。
【0023】
動作の最後では、ユーザに利用可能なサービス/機能の量はアプリケーションの開始でよりも高いので、アプリケーションは“成長”している。
アプリケーションがクライアントマシーンで開始された後、コアアプリケーションまたはコアアプリケーションプラス幾つかのサービスであるので、ユーザはそれと対話を開始し、アプリケーションにより実現されるサービスをサービスエンジンにリクエストさせる。各サービスはオブジェクトがユーザマシーンのメモリで作成されることを必要とする。このようなオブジェクトはイメージ、データ構造または特別なサービスを転送するジャバオブジェクト、またはその他を含んでいる。一度サービスが完了すると、ジャバの仮想マシーンの不要情報コレクタはオブジェクトにより使用されたメモリをフリーにする。
【0024】
図6乃至9を参照すると、システムはこのようなオブジェクトをキャッシュするプロセスを提供し、それによってアプリケーションがそれらを作成する必要なくそれらを再使用することが可能である。オブジェクトリポジトリという名称のこのシステムはユーザが規則的に同一のサービスをリクエストするときに性能を増加する。アプリケーションはメモリでオブジェクトを再作成する必要がないのでアプリケーション速度は増加する。例えば、グラフィックアプリケーションの場合、ユーザは質問に回答しようとする。その後、アプリケーションは質問のテキストを有する質問箱と質問マークの形状のアイコンを表示する。アイコンはジャバオブジェクトにより表示され、これはメモリにキャッシュされることができる。ユーザが質問に回答し、質問メッセージ箱が消去された後、アプリケーションがユーザに新しい質問を与える必要があるならば、それを再度作成する代わりに同一のアイコンオブジェクトを使用できる。
【0025】
オブジェクトリポジトリによりキャッシュされるために、オブジェクトは図7乃至9の“キー1”、“キー2”等の特有のキー(有効なジャバクラスのインスタンス)により識別される必要がある。イメージの場合、これはジャバストリングとして表されるイメージの名称である。
【0026】
オブジェクト記述は少なくとも以下の情報を含んでいるデータ構造である。
・オブジェクト基準−オブジェクトに対するジャバ基準、
・オブジェクトキー−オブジェクトに関連するキー、
・基準カウンタ−(オブジェクトリポジトリを除く)オブジェクトを現在使用しているサービスの数、
・タイムスタンプ−オブジェクトリポジトリのオブジェクトを呼出した最後の時間/日付値。
【0027】
オグジェクト基準は図7乃至9の“Obj1”、“Obj2”として示され、基準カウンタは図7乃至9の表の第3の列に示されており、タイムスタンプは第4の列に示されている。
オブジェクトリポジトリは種々のサービスにより再使用されるためシステムによりキャッシュされるオブジェクトの中央リポジトリである。オブジェクトリポジトリはアプリケーションが作動している限り存続するデータ構造のオブジェクト記述を追跡する。このデータ構造はオブジェクトリストと呼ばれる。オブジェクトリポジトリは以下のことを行うことができる。
・オブジェクトリストへ新しいオブジェクト記述を付加する。この動作はこのオブジェクト記述の基準カウンタを増加し、そのタイムスタンプを更新する。
・オブジェクトリストから既存のオブジェクト記述を除去する。
・キーに基づいてオブジェクト記述を発見し、オブジェクト記述に含まれる対応するオブジェクト基準を戻す。この動作はこのオブジェクト記述の基準カウンタを増加し、そのタイムスタンプを更新する。
【0028】
サービスが特別なオブジェクトを必要とするとき、それは最初にそのオブジェクトに対応する特有のキーを構成し、その後、オブジェクトの特有のキーに基づいてオブジェクトリポジトリからオブジェクトをリクエストする(図7)。図7では、Obj1のリクエストはキー1の参照による。オブジェクトがオブジェクトリポジトリのオブジェクトリストで発見されるならば、それはリクエストを行うサービスへ戻される(図8)。
【0029】
オブジェクトがオブジェクトリポジトリで発見されないならば、選択された構造に基づいて以下の2つの可能性が生じる。
・オブジェクトリポジトリはキーに基づいてオブジェクトを作成できる。オブジェクトリポジトリはオブジェクトとオブジェクト記述を作成し、オブジェクト記述をそのオブジェクトリストへ追加し、オブジェクト基準をリクエストを行うサービスへ戻し、または
・オブジェクトリポジトリはオブジェクトを作成できない。これは“0”値を呼出しサービスへ戻す。呼出しサービスはその後、オブジェクトを作成し、それをオブジェクトリポジトリへ付加しなければならない。
【0030】
図9で示されているように、(例えばユーザが質問に回答した後、質問ダイアローグ箱に含まれるイメージに対する)オブジェクトの使用をもはや必要としないことをサービスが決定するとき、オブジェクトに対する基準カウンタを減少するようにオブジェクトリポジトリを呼出す。これはオブジェクトにより占有されるメモリが劇的に増加し、したがってクライアントマシーンのリソースを使用するためである。それ故、メモリ管理モジュールは幾つかのオブジェクトの割当てを解除する。例えば、任意の時間オフセットはアプリケーションにより選択されることができ、オブジェクトリポジトリのオブジェクト記述が時間オフセット以上の時間期間にゼロに等しい基準カウンタを有するならば、対応するオブジェクト記述はオブジェクトリポジトリから除去される。ジャバ仮想マシーンの不要情報コレクタはその後、クライアントマシーンのメモリからオブジェクトをクリアする。
【0031】
このメモリ管理モジュールはクライアントマシーンの過剰な量のリソースを占有せずに、アプリケーションがさらに高い性能レベルを実行することを可能にするためにアプリケーションにより使用されるリソースをフリーにする。
前述の説明では本発明の好ましい実施形態を説明したが、多数の変化または変形が本発明を逸脱せずに行われることが当業者により理解されるであろう。
【図面の簡単な説明】
【0032】
【図1】システムアーキテクチャを示す図。
【図2】ダウンロードエンジンを示す図。
【図3】第1のサービスダウンロード後のダウンロードエンジンを示す図。
【図4】ダウンロードの順序の変化を示したダウンロードエンジンを示す図。
【図5】ダウンロードプロセスの最後におけるダウンロードエンジンを示す図。
【図6】2つのオブジェクト記述を含んでいるオブジェクトリストを有するオブジェクトリポジトリを示す図。
【図7】メモリ管理モジュールの動作を示す図。
【図8】メモリ管理モジュールの動作を示す図。
【図9】メモリ管理モジュールの動作を示す図。

Claims (39)

  1. ユーザマシーンにソフトウェアアプリケーションをロードするアプリケーション用のソフトウェアエンジにおいて、アプリケーションのコアサービスはユーザマシーンで動作するためにアプリケーションの開始を可能にするようにユーザマシーンへロードされ、エンジンが結果として、エンジンにより決定された優先順位にしたがってコアではないアプリケーションサービスをロードするソフトウェアエンジン。
  2. エンジンはコアサービスの一部であり、そのコアサービスと共にロードされる請求項2記載のソフトウェアエンジン。
  3. エンジンはコアサービスのローディングの完了時に動作を開始する請求項2記載のソフトウェアエンジン。
  4. 優先順位はトップの優先順位を含んでおり、トップの優先順位はユーザによるアプリケーションとの対話の結果としてユーザマシーンで必要とされる任意のコアではないアプリケーションサービスに与えられる請求項1記載のソフトウェアエンジン。
  5. コアではないサービスはエンジンにより制御される方法でロードされる請求項1記載のソフトウェアエンジン。
  6. 制御はアプリケーションとのユーザの対話を考慮に入れる請求項5記載のソフトウェアエンジン。
  7. コアではないサービスをロードする前に、これらはエンジンで登録される請求項5記載のエンジン。
  8. エンジンはコアではないリクエストされたサービスをロードする前にコアではないサービスの登録リストをチェックする請求項7記載のソフトウェアエンジン。
  9. 少なくともアプリケーションに対する1つのオブジェクトが記憶されることができるキャッシュが設けられる請求項1記載のソフトウェアエンジン。
  10. エンジンはキャッシュされたオブジェクトの使用の追跡を維持するメモリ管理モジュールを含んでおり、メモリ管理モジュールは1以上のオブジェクトの割当てを解除することができる請求項9記載のソフトウェアエンジン。
  11. キャッシュはアプリケーションがユーザマシーンに存在するときのみ動作可能である請求項10記載のソフトウェアエンジン。
  12. 少なくとも1つのオブジェクトが位置されるオブジェクトリポジトリと、オブジェクト記述とを含んでいる請求項9記載のソフトウェアエンジン。
  13. オブジェクト記述はオブジェクト基準、オブジェクトキー、基準カウンタ、タイムスタンプからなるグループから選択された1以上のものを含んでいる請求項12記載のソフトウェアエンジン。
  14. 1以上のオブジェクトの割当て解除は任意のタイムオフセットを含んでいる請求項10記載のソフトウェアエンジン。
  15. オブジェクトリポジトリのオブジェクトのオブジェクト記述が少なくともタイムオフセットに等しい時間に対してゼロに等しい基準カウンタを有するならば、対応するオブジェクト記述はオブジェクトリポジトリから除去される請求項14記載のソフトウェアエンジン。
  16. ローディングはインターネットにわたるダウンローディングである請求項1記載のソフトウェアエンジン。
  17. ソフトウェアエンジンを使用してユーザマシーンへソフトウェアアプリケーションをロードする方法において、ユーザがアプリケーションと対話することを可能にするためにアプリケーションのコアサービスをユーザマシーンへロードし、エンジンにより決定された優先順位にしたがってアプリケーションのコアではないサービスをロードするステップを含んでいるロード方法。
  18. エンジンはコアサービスの一部であり、そのコアサービスと共にロードされる請求項17記載の方法。
  19. エンジンはコアサービスのローディングの完了時に開始する請求項18記載の方法。
  20. コアではないサービスをロードする前に、これらはエンジンで登録される請求項17記載の方法。
  21. 優先順位により、トップの優先順位が生成され、トップの優先順位はユーザによるアプリケーションとの対話の結果としてユーザマシーンで必要とされる任意のコアではないアプリケーションサービスに与えられる請求項17記載の方法。
  22. ユーザがアプリケーションと対話するとき、アプリケーションは少なくとも1つのコアではないサービスをロードするようにエンジンにリクエストし、エンジンは登録をチェックし、少なくとも1つのコアではないサービスにローディングのトップの優先順位を与える請求項21記載の方法。
  23. コアではないサービスのロードはエンジンにより制御される方法である請求項21記載の方法。
  24. 制御はアプリケーションとのユーザの対話を考慮に入れている請求項23記載の方法。
  25. アプリケーションのオブジェクトは再使用のためにキャッシュに記憶可能である請求項17記載の方法。
  26. キャッシュされたオブジェクトは1以上のオブジェクトの割当てを解除することができるエンジンのメモリ管理モジュールを使用して追跡される請求項25記載の方法。
  27. キャッシュはアプリケーションがユーザマシーンに存在するときのみ動作可能である請求項26記載の方法。
  28. オブジェクトはオブジェクト記述と共にキャッシュ中のオブジェクトリポジトリに位置される請求項25記載の方法。
  29. オブジェクト記述はオブジェクト基準、オブジェクトキー、基準カウンタ、タイムスタンプからなるグループから選択された1以上のものを含んでいる請求項28記載の方法。
  30. 割当て解除は任意のタイムオフセットを含んでいる請求項26記載の方法。
  31. オブジェクトリポジトリのオブジェクト記述が少なくともタイムオフセットに等しい時間に対してゼロに等しい基準カウンタを有するならば、対応するオブジェクト記述はオブジェクトリポジトリから除去される請求項30記載の方法。
  32. ローディングはインターネットにわたるダウンローディングである請求項17記載の方法。
  33. キャッシュを含んでおり、アプリケーションのオブジェクトは再使用のためにキャッシュに記憶されることが可能であるソフトウェアアプリケーションと共に使用するためのコンピュータメモリ管理システム。
  34. キャッシュはアプリケーションがユーザマシーンに存在するときのみ動作可能である請求項33記載のシステム。
  35. オブジェクトはオブジェクト記述と共にキャッシュのオブジェクトリポジトリ中に位置される請求項33記載のシステム。
  36. オブジェクト記述はオブジェクト基準、オブジェクトキー、基準カウンタ、タイムスタンプからなるグループから選択された1以上のものを含んでいる請求項35記載のシステム。
  37. キャッシュされたオブジェクトは1以上のオブジェクトの割当てを解除することができるメモリ管理モジュールを使用して追跡される請求項33記載のシステム。
  38. 割当て解除は任意のタイムオフセットを含んでいる請求項37記載のシステム。
  39. オブジェクトリポジトリのオブジェクト記述が少なくともタイムオフセットに等しい時間でゼロに等しい基準カウンタを有するならば、対応するオブジェクト記述はオブジェクトリポジトリから除去される請求項38記載のシステム。
JP2002570066A 2001-03-07 2002-03-06 ソフトウェアアプリケーションローディング用のソフトウェアエンジンおよび方法 Pending JP2004529419A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/801,150 US20020129351A1 (en) 2001-03-07 2001-03-07 Software engine and method for software application loading
PCT/SG2002/000034 WO2002071210A1 (en) 2001-03-07 2002-03-06 Software engine and method for software application loading

Publications (2)

Publication Number Publication Date
JP2004529419A true JP2004529419A (ja) 2004-09-24
JP2004529419A5 JP2004529419A5 (ja) 2005-12-22

Family

ID=25180331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002570066A Pending JP2004529419A (ja) 2001-03-07 2002-03-06 ソフトウェアアプリケーションローディング用のソフトウェアエンジンおよび方法

Country Status (3)

Country Link
US (1) US20020129351A1 (ja)
JP (1) JP2004529419A (ja)
WO (1) WO2002071210A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005208691A (ja) * 2004-01-19 2005-08-04 Networks Plus Inc ウェブページまたはデジタル映像ページ上での情報収集とコミュニケーションを可能にするための画像データを活用した方法、画像データプログラム製品、情報処理装置およびシステム
JP2009059084A (ja) * 2007-08-30 2009-03-19 Denso Corp 制御システム,電子機器およびプログラム
JPWO2013146047A1 (ja) * 2012-03-29 2015-12-10 ソニー株式会社 情報処理装置、情報処理方法、サーバ装置、検索方法および情報処理システム
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

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7337434B2 (en) * 2003-04-29 2008-02-26 Sony Ericsson Mobile Communications Ab Off-device class/resource loading methods, systems and computer program products for debugging a Java application in a Java micro device
US20060020938A1 (en) * 2004-07-20 2006-01-26 Elcock Albert F Method, article of manufacture and apparatus for updating software in a consumer device
US20070150889A1 (en) * 2005-12-22 2007-06-28 Shapiro Alan J Method and apparatus for panoplex generation and gryphing
CN101390050B (zh) 2005-12-22 2018-04-24 艾伦·J·薛比洛 通过相减性安装达成选择性分配软件资源的装置与方法
WO2018175028A1 (en) * 2017-03-23 2018-09-27 Mz Ip Holdings, Llc System and method for reducing start-up times for software applications

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311221B1 (en) * 1998-07-22 2001-10-30 Appstream Inc. Streaming modules
GB2341463B (en) * 1998-09-12 2003-02-19 Ibm Software file loading
US6279030B1 (en) * 1998-11-12 2001-08-21 International Business Machines Corporation Dynamic JAVA™ class selection and download based on changeable attributes
US6272674B1 (en) * 1998-12-14 2001-08-07 Nortel Networks Limited Method and apparatus for loading a Java application program
US6430564B1 (en) * 1999-03-01 2002-08-06 Hewlett-Packard Company Java data manager for embedded device
US6430570B1 (en) * 1999-03-01 2002-08-06 Hewlett-Packard Company Java application manager for embedded device
GB9914927D0 (en) * 1999-06-26 1999-08-25 Koninkl Philips Electronics Nv Computer system and method for loading applications
US6324637B1 (en) * 1999-08-13 2001-11-27 Sun Microsystems, Inc. Apparatus and method for loading objects from a primary memory hash index
US6807559B1 (en) * 2000-04-06 2004-10-19 Attachmate Corporation System and method for applet management
US6629227B1 (en) * 2000-05-04 2003-09-30 Scientific-Atlanta, Inc. System and method for a communication terminal to manage memory and maintain a current application version for multiple applications

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005208691A (ja) * 2004-01-19 2005-08-04 Networks Plus Inc ウェブページまたはデジタル映像ページ上での情報収集とコミュニケーションを可能にするための画像データを活用した方法、画像データプログラム製品、情報処理装置およびシステム
JP2009059084A (ja) * 2007-08-30 2009-03-19 Denso Corp 制御システム,電子機器およびプログラム
JPWO2013146047A1 (ja) * 2012-03-29 2015-12-10 ソニー株式会社 情報処理装置、情報処理方法、サーバ装置、検索方法および情報処理システム
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
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 グーグル エルエルシー アプリケーションコンテナを使用するコードおよび従属データの送達の管理
US10963270B2 (en) 2016-01-15 2021-03-30 Google Llc Identifiers across application instances
JP7018463B2 (ja) 2016-01-15 2022-02-10 グーグル エルエルシー アプリケーションコンテナを使用するコードおよび従属データの送達の管理

Also Published As

Publication number Publication date
US20020129351A1 (en) 2002-09-12
WO2002071210A1 (en) 2002-09-12

Similar Documents

Publication Publication Date Title
US6718438B2 (en) Using feedback to determine the size of an object cache
CA2280588C (en) Code wrapping to simplify access to and use of enterprise java beans
US9189263B1 (en) Object synchronization in shared object space
US6105074A (en) Data processing method and device
CN101106578B (zh) 一种更换界面主题的方法和系统
CN102681836B (zh) 针对大量并发用户进行扩展的系统和方法
CN100343811C (zh) 在托管应用程序进程中引发异步行为变化的系统
US20060143389A1 (en) Main concept for common cache management
US20050086237A1 (en) Shared queues in shared object space
US9477497B2 (en) Methods for determining resource dependency and systems thereof
WO2001090945A2 (en) Portal server that provides a customizable user interface for access to computer networks
JP2004529419A (ja) ソフトウェアアプリケーションローディング用のソフトウェアエンジンおよび方法
US20030229849A1 (en) Web content management software utilizing a workspace aware JSP servlet
CN101789012A (zh) 基于j2ee的web动态页面静态化解决方法
EP2256633A2 (en) Service provider management device, service provider management program, and service provider management method
Tai et al. The aglets project
JPH10171662A (ja) アプリケーション実行方法
US8260850B2 (en) Thin-client and distributed development using data programming
Noble Arguments and results
US7523453B2 (en) System, method and program product for maintaining session information during dynamic resource additions or updates
Ebner et al. The five-module framework for Internet application development
EP1221085A2 (en) Method and system for dynamic injection of execution logic into a windowed operating system
US7926068B2 (en) Printing interface for a computer platform
JP2002351677A (ja) アプリケーション・プログラム実行順序制御システム
KR20000051344A (ko) 애플릿의 버전 컨트롤을 통한 웹 서비스 방법

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20040826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050307

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070807