JP2001042987A - Form shortcut for application program of small foot print device - Google Patents

Form shortcut for application program of small foot print device

Info

Publication number
JP2001042987A
JP2001042987A JP2000176815A JP2000176815A JP2001042987A JP 2001042987 A JP2001042987 A JP 2001042987A JP 2000176815 A JP2000176815 A JP 2000176815A JP 2000176815 A JP2000176815 A JP 2000176815A JP 2001042987 A JP2001042987 A JP 2001042987A
Authority
JP
Japan
Prior art keywords
module
service
user
input
user interface
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
JP2000176815A
Other languages
Japanese (ja)
Inventor
Kurisuwikku John
ジョン・クリスウィック
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2001042987A publication Critical patent/JP2001042987A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To enable entry into a form displayed by an application program executed on a small foot print device by displaying a list wherein an input character string can be selected in response to the operation of a user interface control and arranging the character string that a user selects in an input field. SOLUTION: The application program displays an input field for making a user to perform input or requesting the input (S610). For example, a web browser displays an input field of the HTML form. The user operates a user interface control (S612). In response to the operation by the user, the system displays a list of input character strings which are generated in advance. The user selects a character string from the displayed list (S614). The application program inserts the selected character string into a proper input field (S616).

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は一般にコンピュータ
・アプリケーション・プログラムおよび小さいフットプ
リントのデバイスに関する。より詳細に言えば、本発明
は、その小フットプリント・デバイス上で実行されるア
プリケーション・プログラムで表示されるフォーム、例
えば、ウェブ・ブラウザ・プログラム内で表示されるH
TMLフォームに記入するシステムおよび方法を含む。
The present invention relates generally to computer application programs and small footprint devices. More specifically, the present invention relates to a form displayed in an application program running on the small footprint device, for example, H displayed in a web browser program.
Includes systems and methods for filling out TML forms.

【0002】[0002]

【従来の技術】「高性能」の小フットプリント・デバイ
スの分野は、急速に成長し、変化している。小フットプ
リント・デバイスとしては、ハンドヘルド・コンピュー
タ、携帯情報端末(PDA)、携帯電話、全世界測位シ
ステム(GPS)受信機、ゲーム・コンソール、および
さらに多数のこのようなデバイスなどがある。これらの
デバイスは、よりインテリジェントにかつ相互接続され
るようになりつつある。Sun Microsyste
ms社のJiniTMなどの技術およびOpenServ
ice Gateway Initiative(OS
GI)などのイニシアチブが、従来のコンピュータ・ネ
ットワークの概念を、小フットプリント・デバイスを含
めるように拡張している。
The field of "high performance" small footprint devices is growing and changing rapidly. Small footprint devices include handheld computers, personal digital assistants (PDAs), mobile phones, global positioning system (GPS) receivers, game consoles, and many more such devices. These devices are becoming more intelligent and interconnected. Sun Microsystem
ms Jini and other technologies and OpenServ
ice Gateway Initiative (OS
Initiatives such as GI) extend the traditional concept of computer networks to include small footprint devices.

【0003】このデバイス相互接続の増加によって、新
しいタイプのコンピューティング・サービスと、デバイ
ス間ベースおよびデバイス内ベースのサービスのコンピ
ューティング・サービスを統合する新しい方法に対する
必要性が出てきた。「サービス」とは、デバイス内ある
いはデバイスからアクセス可能に実装されたエンティテ
ィであり、人、アプリケーションまたは別のサービスに
よって使用することができるものである。サービスの概
念は幅広く、多数の異なる尺度で考慮することができ
る。たとえば、サービスとしては、共有印刷、電子メー
ル、テレフォニーなど、周知のネットワーク・ベースの
サービスがある。サービスには、ローカル・ネットワー
ク内のデバイスの電力消費量を制御することができるエ
ネルギー管理サービス、エラーが生じたときにデバイス
が情報をサービス技術者に送信することができる診断サ
ービス、保健専門家に急患を即座に通知する健康監視サ
ービスなど、それほど周知でない例もある。
[0003] This increase in device interconnects has created a need for new ways of integrating computing services with new types of computing services and inter-device and intra-device based services. A "service" is an entity implemented within or accessible to a device that can be used by a person, application, or another service. The concept of services is broad and can be considered on a number of different scales. For example, services include well-known network-based services such as shared printing, e-mail, telephony, and the like. Services include energy management services that can control the power consumption of devices in the local network, diagnostic services that allow devices to send information to service technicians when an error occurs, and health professionals. There are also lesser known examples, such as health monitoring services that provide immediate notification of an emergency.

【0004】サービスには、ローカルのマシンまたはデ
バイス内に位置する、実行可能なモジュールまたはアプ
リケーションなどもある。たとえば、ローカル・アプリ
ケーション・プログラムは、サービスを利用して、HT
TPサーバ、HTMLレンダ・エンジン・サービス、ブ
ックマーク・サービス、ユーザ・インタフェース・サー
ビスなどと通信することができる。この例では、アプリ
ケーション・プログラムがこれらのサービスを共に使用
して、ウェブ・ブラウザ・プログラムを実装することが
できる。
[0004] Services also include executable modules or applications located within a local machine or device. For example, a local application program uses a service to
It can communicate with TP servers, HTML render engine services, bookmark services, user interface services, and the like. In this example, an application program can use these services together to implement a web browser program.

【0005】今日、多数のサービスおよびアプリケーシ
ョンを共に単一の小フットプリント・デバイスで実行す
ることが、より一般的になりつつある。しかし、メモ
リ、処理能力および他のリソースが、一般に小フットプ
リント・デバイスでは非常に制限されるため、専用の軽
量サービス/アプリケーション・コンテイメント・フレ
ームワークが、所望のサービスおよびアプリケーション
の統合を達成するために必要である。コンテイメント・
フレームワークは、いかなる種類の小フットプリント・
デバイス用のいかなるタイプのサービスおよびアプリケ
ーション用のフレームワークをも提供するために、十分
柔軟性があり、拡張可能であることも望ましい。さらな
る目標は、コンテイメント・フレームワークが、Jin
TMネットワークにおけるデバイスに使用可能なサービ
スなど、オフ・デバイス・サービスと互換性を持ち、統
合されるようにすることであることがある。本明細書に
記載するコンテイメント・フレームワークは、上述の目
標を達成する。
[0005] Today, it is becoming more common to run many services and applications together on a single small footprint device. However, as memory, processing power and other resources are typically very limited on small footprint devices, a dedicated lightweight service / application containment framework achieves the desired service and application integration It is necessary for Containment
The framework is designed for any kind of small footprint
It is also desirable to be flexible and extensible enough to provide a framework for any type of service and application for the device. A further goal is that the containment framework
It may be to be compatible and integrated with off-device services, such as services available to devices in an iTM network. The containment framework described herein achieves the goals described above.

【0006】軽量のコンテイメント・フレームワーク
は、携帯情報端末、高性能携帯電話などの小フットプリ
ント・デバイスで、従来はデスクトップ・コンピューテ
ィング環境に関連したタイプの多目的アプリケーション
・プログラムを実行することができる。たとえば、Su
n Microsystems社から入手可能なPer
sonal Applicationsスーツは、コン
テイメント・フレームワークの一実施形態を中心に構築
されている。Personal Applicatio
nsスーツは、Personal Applicati
ons Browser、Personal Appl
ications Email ClientおよびP
ersonal Organizerなど、コンパクト
なメモリ効率のよいアプリケーションの統合セットを含
んでいる。
[0006] Lightweight containment frameworks are small footprint devices, such as personal digital assistants, high performance mobile phones, that can execute multipurpose application programs of the type traditionally associated with desktop computing environments. it can. For example, Su
Per available from Microsystems
The Sonal Applications suit is built around one embodiment of the containment framework. Personal Application
ns suit is Personal Applicati
ons Browser, Personal Appl
ications Email Client and P
Includes an integrated set of compact, memory-efficient applications, such as the personal Organizer.

【0007】[0007]

【発明が解決しようとする課題】小フットプリント・デ
バイス上で実行されるウェブ・ブラウザ、電子メール・
クライアントなどのアプリケーション・プログラムのユ
ーザは、デスクトップ・コンピュータなどの他のコンピ
ュータ・システム上でこれらの同じプログラムに関連し
ない問題に遭遇することが多い。例えば、通常の小フッ
トプリント・デバイスのディスプレイ機構はデスクトッ
プ・コンピュータ・システムのディスプレイ・モニタと
比較して小さいことがあり、その結果、ウェブ・ページ
などの文書を表示しようとする際に問題を引き起こすこ
とがある。
SUMMARY OF THE INVENTION A web browser, e-mail and web browser running on a small footprint device
Users of application programs, such as clients, often encounter problems not related to these same programs on other computer systems, such as desktop computers. For example, the display features of a typical small footprint device may be small compared to the display monitor of a desktop computer system, thereby causing problems when trying to display documents such as web pages. Sometimes.

【0008】小フットプリント・デバイスがしばしば遭
遇する別の問題はプログラム入力に関連する。例えば、
多くの小フットプリント・デバイスはキーボードなどの
フル機能搭載の好都合な文字入力システムを有しない。
この問題の解決策を提供するために実行できる様々な手
法がある。1つの方法は、フル機能搭載の好都合な文字
入力システムを可能にする小フットプリント・デバイス
に取り付けられる特別の入力ハードウェアを設けること
である。ただ、この手法は高価につくことがあり、高性
能携帯電話、パーソナル・データ・アシスタントなどの
いくつかの小フットプリント・デバイスの小型サイズと
可搬性という目標に適っていないことがある。
Another problem often encountered with small footprint devices is related to program entry. For example,
Many small footprint devices do not have a convenient full-featured character input system such as a keyboard.
There are various approaches that can be taken to provide a solution to this problem. One way is to provide special input hardware that is attached to a small footprint device that allows for a convenient full-featured character input system. However, this approach can be expensive and may not meet the goals of small size and portability of some small footprint devices, such as high-performance mobile phones and personal data assistants.

【0009】一般に使用される種類の入力の場合、小フ
ットプリント・デバイスのプログラム入力を扱うために
別の手法をとることができる。本発明は、ユーザが1組
の入力文字列を作成して記憶できる入力ソリューション
に関し、その結果、小フットプリント・デバイスのアプ
リケーションを用いて、使用しやすく、小フットプリン
ト・デバイスのアプリケーション・プログラムからいつ
でも利用可能なユーザ・インタフェースを介して、ユー
ザはこの文字列のリストからプログラム入力を選択でき
る。一般に使用される入力は、氏名、住所、またはユー
ザが作成したいと考える他の任意のタイプの入力文字列
などのフォームに記入するために通常使用される。
For commonly used types of inputs, other approaches can be taken to handle program inputs for small footprint devices. SUMMARY OF THE INVENTION The present invention relates to an input solution that allows a user to create and store a set of input strings, so that it is easy to use and uses a small footprint device application program from a small footprint device application program. Through an available user interface, the user can select a program entry from this list of strings. Commonly used inputs are commonly used to fill out forms such as names, addresses, or any other type of input string that the user wishes to create.

【0010】[0010]

【課題を解決するための手段】本発明は、小フットプリ
ント・デバイスのアプリケーション・プログラムのプロ
グラム入力の問題の解決策を含む。本発明によれば、ユ
ーザは後で使用できるように入力文字列のリストを作成
して記憶することができる。以下で説明するように、こ
の入力リストは様々な形で生成できる。その場合、小フ
ットプリント・デバイス上で実行されるアプリケーショ
ン・プログラムを用いて、ユーザはこの入力リストから
プログラム入力を選択できる。この入力選択を可能にす
るために、アプリケーション・プログラムは小フットプ
リント・デバイスのユーザが容易に使用できるユーザ・
インタフェースを利用することができる。
SUMMARY OF THE INVENTION The present invention includes a solution to the problem of program entry of an application program for a small footprint device. According to the present invention, a user can create and store a list of input strings for later use. As described below, this input list can be generated in various ways. In that case, with an application program running on the small footprint device, the user can select program inputs from this input list. To enable this input selection, the application program must be accessible to the user of the small footprint device.
Interface can be used.

【0011】ユーザ入力を要求するまたはできる様々な
タイプのアプリケーション・プログラムを用いて、ユー
ザは入力文字列のリストから選択することができる。例
えば、ウェブ・ブラウザ・アプリケーション・プログラ
ムを用いて、ユーザはリストからHTMLフォームの入
力フィールド用の文字列を選択できる。この例では、ウ
ェブ・ブラウザはHTMLフォームフィールドの隣にユ
ーザ・インタフェース・ウィジェットまたはコントロー
ルを配置できる。このユーザ・インタフェース・コント
ロールはボタン、ポップアップ・リストなどの様々なタ
イプの任意のものでよい。例えば、コントロールがボタ
ンの場合、ユーザはボタンをクリックし、ウェブ・ブラ
ウザは文字列のリスト・ボックスを表示でき、ユーザが
文字列の1つを選択することができる。次いで、ウェブ
・ブラウザは選択された文字列をフォームのフィールド
に配置できる。
Using various types of application programs that can or can require user input, the user can select from a list of input strings. For example, using a web browser application program, a user can select a string for an input field of an HTML form from a list. In this example, the web browser can place a user interface widget or control next to the HTML form field. This user interface control may be any of various types, such as buttons, pop-up lists, and the like. For example, if the control is a button, the user clicks the button, the web browser can display a list box of strings, and the user can select one of the strings. The web browser can then place the selected string into a form field.

【0012】入力リストから入力を選択できるようにす
るユーザ・インタフェースは、特定の小フットプリント
・デバイスまたはアプリケーション・プログラムにふさ
わしい様々なフォームを使用することができる。以下に
説明する小フットプリント・デバイスで実行されるアプ
リケーション/サービスのコンテイメント・フレームワ
ークによって、アプリケーション/サービスを様々なモ
ジュールから構築することができる。例えば、このコン
テイメント・フレームワークを用いて、あるアプリケー
ションのユーザ・インタフェースを別のモジュール内で
実施できる。次いで適当なユーザ・インタフェースを異
なる小フットプリント・デバイスに使用できる。その結
果、コンテイメント・フレームワーク内で実行されるア
プリケーションおよびサービスは、上述の入力システム
を実施する適当なユーザ・インタフェース・モジュール
または他のタイプのモジュールに依存することができ
る。
The user interface that allows the user to select an input from an input list can use a variety of forms appropriate to the particular small footprint device or application program. The application / service containment framework running on the small footprint device described below allows applications / services to be built from various modules. For example, the containment framework can be used to implement the user interface of one application in another module. A suitable user interface can then be used for the different small footprint devices. As a result, applications and services running within the containment framework may depend on a suitable user interface module or other type of module implementing the input system described above.

【0013】入力システムおよび入力方法は様々なタイ
プの入力について様々なタイプのアプリケーションおよ
びサービスに使用できる。例えば、ユーザは、HTML
フォームまたはXLM派生マークアップ・ランゲージな
どのその他のマークアップ・ランゲージのフォームに記
入するために、ウェブ・ブラウザを用いて入力リストか
ら入力を選択できる。また、ユーザは電子メール・クラ
イアントを用いて入力リストから電子メール・アドレス
を選択し、パーソナル・オーガナイザを用いて入力リス
トから氏名、住所、予定業務などの様々なタイプの入力
を選択することができる。
The input system and method can be used for different types of applications and services for different types of inputs. For example, the user can use HTML
An input can be selected from an input list using a web browser to fill out forms or other markup language forms, such as XLM-derived markup languages. Also, the user can select an e-mail address from the input list using an e-mail client, and use the personal organizer to select various types of input, such as name, address, and scheduled tasks, from the input list. .

【0014】[0014]

【発明の実施の形態】本発明の他の目的および利点は、
以下の詳細な説明を読み、添付の図面を参照することに
よって明らかになるであろう。
Other objects and advantages of the present invention are:
It will become apparent from a reading of the following detailed description and a review of the accompanying drawings.

【0015】図1−入力文字列の作成 図1は、アプリケーション・プログラム内で後で使用で
きるように入力文字列を入力して記憶する処理を示す。
図1は入力文字列を作成して記憶する処理の一実施形態
を示すことに留意されたい。様々なステップが追加さ
れ、組み合わされ、変更され、または省略されたその他
の実施形態も可能である。
FIG. 1—Creating an Input String FIG. 1 shows the process of entering and storing an input string for later use in an application program.
Note that FIG. 1 illustrates one embodiment of a process for creating and storing an input string. Other embodiments are possible in which various steps are added, combined, modified, or omitted.

【0016】図1のステップ600で、ユーザは入力文
字列を入力するセッションを要求する。例えば、このセ
ッションは軽量のコンテイメント・フレームワーク内で
アプリケーションとサービスとを実行する小フットプリ
ント・デバイス上で開始できる。コンテイメント・フレ
ームワークはフレームワークの他のモジュールが使用す
る入力文字列の作成と記憶を管理するサービス・モジュ
ールを含むことができる。この種のアプリケーション/
サービスのコンテイメント・フレームワークについて以
下に詳述する。
In step 600 of FIG. 1, a user requests a session for inputting an input character string. For example, the session can be started on a small footprint device running applications and services within a lightweight containment framework. The containment framework can include service modules that manage the creation and storage of input strings used by other modules of the framework. This kind of application /
The service containment framework is described in detail below.

【0017】図1のステップ600で起動されたセッシ
ョンは後で入力文字列を使用するアプリケーションを含
む小フットプリント・デバイス以外のシステムからも起
動することができる。例えば、ユーザはこのセッション
を文字列を入力するより好都合な機構を有するデスクト
ップ・コンピュータ・システムから起動することができ
る。入力文字列のリストは後で小フットプリント・デバ
イスにダウンロードすることができ、または小フットプ
リント・デバイスはネットワークまたは無線接続を介し
て入力文字列のリストに動的にアクセスできる。
The session launched in step 600 of FIG. 1 can later be launched from a system other than a small footprint device containing an application that uses the input string. For example, a user can launch this session from a desktop computer system that has a more convenient mechanism for entering strings. The list of input strings can later be downloaded to a small footprint device, or the small footprint device can dynamically access the list of input strings via a network or wireless connection.

【0018】ステップ600で起動されたセッションは
上記の実施形態以外の様々な他の実施形態をとることが
できる。例えば、このセッションはユーザ要求以外の何
か別のイベントに応答して、例えばインストール手順の
一部として起動できる。ステップ600で起動されたセ
ッションは、特定のアプリケーション・プログラム内か
ら起動でき、または特定のアプリケーション・プログラ
ムに関連付けることができる。ステップ600で起動さ
れたセッションを用いてユーザは以前に記憶された入力
文字列を編集することができる。
The session started in step 600 can take various other embodiments besides the above embodiment. For example, the session can be launched in response to some other event other than a user request, for example, as part of an installation procedure. The session launched in step 600 can be launched from within a particular application program or can be associated with a particular application program. Using the session launched in step 600, the user can edit a previously stored input string.

【0019】ステップ602で、システムは入力文字列
を入力するユーザへユーザ・インタフェースを与える。
このユーザ・インタフェースは特定のシステムにふさわ
しい様々な形式をとることができる。例えば、デスクト
ップ・コンピュータ・システムでは、ユーザ・インタフ
ェースは、ウインドウが提示されてユーザがキーボード
を介して文字列を入力できる標準のグラフィカル・ユー
ザ・インタフェースであってもよい。小フットプリント
・デバイスでは、装置の入力機構はより限定されている
場合がある。例えば、キーボードが存在しないことがあ
る。そのような場合、システムは文字列のリストを提示
してユーザがボタン、トラックボールなどの利用可能な
あらゆる入力手段を用いて文字を選択できるようにす
る。入力文字列を入力する手段は他のシステムにふさわ
しい、または可能な様々な他の形式をとることができ
る。例えば、一実施形態では、ユーザはタッチ・ペンを
用いて入力文字列を記述し、それをシステムがディジタ
ル・テキストに変換する。
At step 602, the system provides a user interface to a user entering an input string.
This user interface can take various forms appropriate for the particular system. For example, in a desktop computer system, the user interface may be a standard graphical user interface in which windows are presented and the user can enter strings via a keyboard. For small footprint devices, the input mechanism of the device may be more limited. For example, a keyboard may not be present. In such a case, the system presents a list of strings so that the user can select characters using any available input means, such as buttons, trackballs, and the like. The means for inputting the input string may take various other forms suitable or possible for other systems. For example, in one embodiment, the user writes an input string using a touch pen and the system converts it into digital text.

【0020】ステップ604で、ユーザはステップ60
2に示すユーザ・インタフェースを介して1つまたは複
数の入力文字列を入力する。ユーザは、氏名、住所、電
子メール・アドレス、クレジット・カード番号などのフ
ォームで一般に使用される様々なタイプの任意の文字列
を入力できる。一実施形態では、これらの文字列は安全
な方法で記憶できる、例えば、文字列を暗号化でき、ま
たはシステムはその他の利用可能な機密保護手段を採用
することができる。一実施形態では、ユーザは限定され
た数の一般に使用される文字列を入力するように制限さ
れることがある。他の実施形態では、ユーザは利用可能
なメモリ空間に従う無限の数の文字列を入力することが
できる。一実施形態では、ユーザは、例えば、文字列が
アプリケーション・プログラムの選択リスト内で表示さ
れる順序を定義する優先順位を文字列に割り当てるか、
別々のアプリケーション用の別々の入力文字列を定義す
ることで、様々な方法で入力文字列を分類できる。
At step 604, the user proceeds to step 60
One or more input character strings are input via the user interface shown in FIG. The user can enter any of the various types of character strings commonly used in forms such as names, addresses, email addresses, credit card numbers, and the like. In one embodiment, these strings can be stored in a secure manner, for example, the strings can be encrypted, or the system can employ other available security measures. In one embodiment, the user may be restricted to entering a limited number of commonly used strings. In other embodiments, the user can enter an unlimited number of strings according to the available memory space. In one embodiment, the user assigns a priority to the string, for example, defining the order in which the string appears in the selection list of the application program,
By defining separate input strings for different applications, the input strings can be classified in various ways.

【0021】ステップ606で、システムはユーザによ
ってステップ604で入力された入力文字列を記憶す
る。文字列は後でアプリケーション/サービスからアク
セスできるフォーマットで記憶される。文字列は入力文
字列が後で使用される小フットプリント・デバイスのメ
モリに記憶できる。入力作成セッションが別のシステム
上で実行される場合、入力リストをそれが使用される小
フットプリント・デバイスに直ちにダウンロードする
か、リストを記憶して後で小フットプリント・デバイス
にダウンロードするか、小フットプリント・デバイスか
ら後で入力リストに動的にアクセスすることなどが可能
である。
At step 606, the system stores the input character string entered at step 604 by the user. The string is stored in a format that can be accessed later by the application / service. The string can be stored in the memory of the small footprint device where the input string will be used later. If the input creation session is performed on another system, either download the input list immediately to the small footprint device where it is used, store the list and download it to the small footprint device later, It is possible to dynamically access the input list later from a small footprint device, and so on.

【0022】図2−アプリケーション・プログラム内で
使用される入力文字列 図2は事前に作成された入力文字列を使用してアプリケ
ーション・プログラムまたはサービスへの入力する処理
を示す。図2は入力文字列のリストを使用するプロセス
の一実施形態を示すことに留意されたい。様々なステッ
プが追加され、組み合わされ、変更され、または省略さ
れたその他の実施形態も可能である。
FIG. 2—Input Character String Used in Application Program FIG. 2 shows a process of inputting to an application program or service using an input character string created in advance. Note that FIG. 2 illustrates one embodiment of a process that uses a list of input strings. Other embodiments are possible in which various steps are added, combined, modified, or omitted.

【0023】ステップ610で、アプリケーション・プ
ログラムはユーザに入力させる、または入力を要求する
入力フィールドを表示する。この入力フィールドは様々
なタイプの任意のアプリケーションで表示できる。例え
ば、ウェブ・ブラウザはHTMLフォームの入力フィー
ルドを表示でき、電子メール・クライアントは電子メー
ル・アドレス入力フィールドを備えたダイアログ・ボッ
クスまたは画面を表示でき、パーソナル・オーガナイザ
は電話番号の入力フィールドを表示できる。
At step 610, the application program displays an input field that prompts the user for input or requires input. This input field can be displayed in any of a variety of types of applications. For example, a web browser can display an HTML form input field, an e-mail client can display a dialog box or screen with an e-mail address input field, and a personal organizer can display a telephone number input field. .

【0024】ステップ610で、アプリケーションは、
ユーザが操作して事前に作成された入力文字列から文字
列を選択できるユーザ・インタフェース・コントロール
またはウィジェットを表示する。このユーザ・インタフ
ェース・コントロールは、特定のアプリケーションまた
はシステムにふさわしいボタン、ポップアップ・リスト
などの様々なタイプの任意のものでよい。例えば、コン
トロールはユーザがクリックによって操作して文字列の
リストを表示できるドロップダウン・リストであっても
よい。
At step 610, the application:
Display a user interface control or widget that allows the user to select a string from pre-created input strings. This user interface control may be any of a variety of types, such as buttons, pop-up lists, etc., appropriate for the particular application or system. For example, the control may be a drop-down list that the user can click to display a list of strings.

【0025】入力文字列のリストを起動するユーザ・イ
ンタフェース・コントロールは特定のアプリケーション
またはシステムにふさわしいルック・アンド・フィール
と配置を有することができる。例えば、一実施形態で
は、アプリケーションは表示される各入力フィールドの
脇またはその付近に別のコントロールを配置することが
できる。別の実施形態では、アプリケーションは、ユー
ザが操作して現在選択されている入力フィールドの入力
文字列を選択することができる単一のユーザ・インタフ
ェース・コントロールまたはウィジットを表示すること
ができる。
The user interface control that activates the list of input strings can have the look and feel and arrangement appropriate for the particular application or system. For example, in one embodiment, the application may place another control beside or near each displayed input field. In another embodiment, the application can display a single user interface control or widget that can be manipulated by the user to select the input string of the currently selected input field.

【0026】ステップ612で、ユーザは上記のユーザ
・インタフェース・コントロールを操作する。例えば、
ユーザはタッチ・ペンまたは指でディスプレイの特定の
部分に触れ、あるいはトラックボールまたは矢印キーを
用いてカーソルをコントロールに合わせてボタンを押す
といった操作ができる。ユーザの操作に応答して、シス
テムは事前に作成された入力文字列のリストを表示す
る。リストは様々な方法のうち任意の方法で表示でき
る。例えば、このリストはユーザがスクロールして特定
の文字列を選択するドロップダウン・リストの形式で表
示できる。
At step 612, the user operates the user interface controls described above. For example,
The user can touch a particular portion of the display with a touch pen or finger, or use a trackball or arrow keys to position the cursor on the control and press a button. In response to the user's operation, the system displays a list of previously created input strings. The list can be displayed in any of a variety of ways. For example, the list can be displayed in the form of a drop-down list where the user scrolls to select a particular string.

【0027】ステップ614で、ユーザはステップ61
2で表示された入力文字列のリストから文字列を選択す
る。
At step 614, the user proceeds to step 61
A character string is selected from the input character string list displayed in step 2.

【0028】ステップ616で、アプリケーション・プ
ログラムはステップ614で選択された文字列を適当な
入力フィールドに挿入する。アプリケーション・プログ
ラムは選択された文字列のテキストを簡単に入力フィー
ルド内に表示することができる。選択された文字列を挿
入する操作は特定のアプリケーションにふさわしい様々
なその他の操作を必然的に伴う。
At step 616, the application program inserts the character string selected at step 614 into an appropriate input field. The application program can easily display the text of the selected string in the input field. The operation of inserting the selected character string involves various other operations appropriate to the particular application.

【0029】図3−HTMLフォーム・クイックカット 図3は、事前に作成された入力文字列のリストを使用し
て、ウェブ・ブラウザ内のHTMLフォームまたはXM
L派生マークアップ・ランゲージ・フォームなどのその
他のマークアップ・ランゲージのフォームの入力の処理
を示す。図3はウェブ・ブラウザ内で入力文字列のリス
トを使用するプロセスの一実施形態を示すことに留意さ
れたい。様々なステップが追加され、組み合わされ、変
更され、または省略されたその他の実施形態も可能であ
る。
FIG. 3-HTML Form Quick Cut FIG. 3 shows an HTML form or XML in a web browser using a list of pre-created input strings.
Fig. 7 shows the processing of inputting other markup language forms such as an L-derived markup language form. Note that FIG. 3 illustrates one embodiment of a process for using a list of input strings in a web browser. Other embodiments are possible in which various steps are added, combined, modified, or omitted.

【0030】小フットプリント・デバイスが他の装置お
よびネットワークとさらに相互接続されるにつれて、小
フットプリント・デバイスがウェブ・ブラウザなどのア
プリケーションを実行できるようにすることがますます
望ましくなってきた。ウェブ・ブラウザなどのアプリケ
ーションを小フットプリント・デバイスが実行できるよ
うにする軽量のアプリケーション/サービス・コンテイ
メント・フレームワークについて以下に詳述する。多く
の場合、アプリケーションを特定の方法で変更してアプ
リケーションを小フットプリント・デバイス内で使用で
きるようにするか又はより便利にすることが、必要であ
るか又は望ましい。上述したように、1つの特定の問題
がユーザ入力に関係する。図3はウェブ・ブラウザでの
フォーム入力に適用可能な本明細書に記載のユーザ入力
ソリューションの一実施形態を示す。ウェブフォーム入
力用のこのユーザ入力ソリューションの一実施形態を
「クイックカット」と呼ぶ。
As small footprint devices become more interconnected with other devices and networks, it has become increasingly desirable to enable small footprint devices to execute applications such as web browsers. A lightweight application / service containment framework that enables small footprint devices to run applications such as web browsers is described in detail below. In many cases, it is necessary or desirable to modify the application in a particular way to make the application usable or more convenient in a small footprint device. As mentioned above, one particular problem involves user input. FIG. 3 illustrates one embodiment of the user input solution described herein applicable to form input in a web browser. One embodiment of this user input solution for web form input is called "quick cut".

【0031】HTMLフォームなどのフォームはウェブ
・ページでは極めて一般的である。以下のHTMLコー
ドはHTMLフォームの一例である。 <FORM action="http://somesite.com/prog/adduser" method="post"> <P> First name: <INPUT type="text" name="firstname"><BR> Last name: <INPUT type="text" name="lastname"><BR> email: <INPUT type="text" name="email"><BR><BR> <INPUT type="submit" value="Send"> <INPUT type="reset"> </P> </FORM>
Forms such as HTML forms are very common on web pages. The following HTML code is an example of an HTML form. <FORM action = "http://somesite.com/prog/adduser" method = "post"><P> First name: <INPUT type = "text" name = "firstname"><BR> Last name: <INPUT type = "text" name = "lastname"><BR> email: <INPUT type = "text" name = "email"><BR><BR><INPUT type = "submit" value = "Send"><INPUT type = "reset"></P></FORM>

【0032】図4はこのフォームの表示された構成を示
す。このフォームはユーザがファースト・ネーム、ラス
ト・ネーム、および電子メール・アドレスを入力するた
めの3つの入力フィールドを備える。このようなフォー
ムは、小フットプリント・デバイス上で実行されるウェ
ブ・ブラウザ・プログラム内で表示できる。例えば、S
un Microsystems Inc.製のPer
sonal Applications Browse
rはこのようなフォームを表示できる。
FIG. 4 shows the displayed structure of this form. This form has three input fields for the user to enter a first name, last name, and email address. Such forms can be displayed in a web browser program running on a small footprint device. For example, S
un Microsystems Inc. Per
Sonal Applications Browse
r can display such a form.

【0033】ただし、上述したように、小フットプリン
ト・デバイスのユーザがこれらの入力フィールドにテキ
ストを入力することは、不可能か不便で時間がかかるで
あろう。したがって、図5に示すように、ウェブ・ブラ
ウザはユーザ・インタフェースまたはウィジェットをテ
キスト・フィールドの各々の脇に配置することができ
る。次いでユーザはユーザ・インタフェース・コントロ
ールを操作して対応する入力フィールド用の入力文字列
を選択できる。上述したように、これらのユーザ・イン
タフェース・コントロールは他の領域に配置することも
できる。例えば、表示領域を節約するために、ウェブ・
ブラウザは操作してテキストを任意の入力フィールド内
に配置できる単一のユーザ・インタフェースを表示上に
配置することができる。
However, as mentioned above, it would be impossible, inconvenient and time-consuming for a user of a small footprint device to enter text in these input fields. Thus, as shown in FIG. 5, a web browser can place a user interface or widget beside each of the text fields. The user can then operate the user interface controls to select an input string for the corresponding input field. As mentioned above, these user interface controls may be located in other areas. For example, to save display space,
The browser can place a single user interface on the display that can be manipulated to place text in any input field.

【0034】ユーザがユーザ・インタフェース・コント
ロールを操作する際、ブラウザは図1についてすでに述
べたように以前に作成された入力文字列のリストを表示
することができる。図6に、ドロップダウン・リストが
ユーザによって操作されるコントロール付近にポップア
ップする一実施形態を示す。ブラウザは記憶された入力
文字列一式または文字列の様々なサブセットを表示でき
る。例えば、ブラウザはブラウザ内にタグ付きで表示さ
れている文字列のリストを表示するか、「email」
などとラベルが付いた入力フィールドの有効な電子メー
ル・アドレスである文字列などの、特定の入力フィール
ドのラベルに基づいて文字列のサブセットを表示でき
る。図7はユーザが図6に示すリストから電子メール・
アドレスを選択し、ブラウザが電子メール・アドレスを
入力フィールドに挿入した後の表示を示す。
When the user operates the user interface controls, the browser can display a list of previously created input strings as described above for FIG. FIG. 6 illustrates one embodiment where a drop-down list pops up near a control operated by a user. The browser can display a stored set of input strings or various subsets of the strings. For example, the browser may display a list of strings that are displayed with a tag in the browser, or “email”
A subset of the string can be displayed based on the label of a particular input field, such as a string that is a valid email address for an input field labeled as. FIG. 7 shows that the user can send an e-mail from the list shown in FIG.
Shows the display after selecting an address and the browser inserting the email address into the input field.

【0035】小フットプリント・デバイスのアプリケー
ション/サービスコンテイメント・フレームワーク モジュール方式のアプリケーション/サービスのフレー
ムワークが小フットプリント・デバイスのアプリケーシ
ョンの上記の入力ソリューションを実施するために必要
な場合がある。以下に説明するコンテイメント・フレー
ムワークを用いて小フットプリント・デバイス上で実行
されるアプリケーション/サービスを様々なモジュール
から構築することができる。例えば、このコンテイメン
ト・フレームワークを用いてあるアプリケーションのユ
ーザ・インタフェースを別のモジュール内で実施でき
る。次いで適切なユーザ・インタフェース・モジュール
異なるフットプリント・デバイスに用いることができ
る。
Small Footprint Device Application / Service Containment Framework A modular application / service framework may be necessary to implement the above input solution for small footprint device applications. Applications / services running on small footprint devices can be built from various modules using the containment framework described below. For example, the user interface of one application can be implemented in another module using the containment framework. The appropriate user interface module can then be used for different footprint devices.

【0036】図8−ハードウェア・アーキテクチャのブ
ロック図 図8は、典型的な小フットプリント・デバイスのハード
ウェア・アーキテクチャを示すブロック図である。本明
細書で使用しているように、小フットプリント・デバイ
スは、プロセッサおよびシステム・メモリなどのコンピ
ューティング・リソースを含むハードウェア・デバイス
であるが、これらのリソースの1つまたは複数に、典型
的なデスクトップ・コンピュータにある制約よりも著し
く大きい制約がある。たとえば、小フットプリント・デ
バイスは2メガバイト以下のメモリを有することができ
るが、典型的なデスクトップ・システムは64メガバイ
ト以上のメモリを有することができる。また、典型的な
小フットプリント・デバイスは、プロセッサのタイプま
たはプロセッサの速度、あるいはその両方のいずれかに
関して、典型的なデスクトップ・コンピューティング・
システムよりも著しく処理能力が劣るであろう。たとえ
ば、携帯情報端末デバイスは16MHzのプロセッサを
有することができるが、典型的なデスクトップ・システ
ムは100MHz以上のプロセッサ速度を有することが
できる。また、典型的な小フットプリント・デバイス
は、デスクトップ・コンピューティング・システムのデ
ィスプレイ画面よりも著しく小さいディスプレイ・サイ
ズを有する。たとえば、ハンドヘルド・コンピュータの
ディスプレイ画面は、一般にデスクトップ・モニタのデ
ィスプレイ画面に比較して小さい。
FIG. 8-Hardware Architecture Block Diagram FIG. 8 is a block diagram illustrating the hardware architecture of a typical small footprint device. As used herein, a small footprint device is a hardware device that includes computing resources, such as a processor and system memory, but typically includes one or more of these resources. There are limitations that are significantly greater than those of a typical desktop computer. For example, a small footprint device can have less than 2 megabytes of memory, while a typical desktop system can have more than 64 megabytes of memory. Also, a typical small footprint device may be a typical desktop computing device in terms of either processor type and / or processor speed.
It will have significantly less processing power than the system. For example, a personal digital assistant device may have a 16 MHz processor, while a typical desktop system may have a processor speed of 100 MHz or more. Also, typical small footprint devices have a display size that is significantly smaller than the display screen of a desktop computing system. For example, the display screen of a handheld computer is typically smaller than the display screen of a desktop monitor.

【0037】ここに挙げた特定の数値は例示的なものに
すぎず、比較のために使用するものであることに留意さ
れたい。たとえば、8メガバイト以上のメモリを有する
携帯情報端末は、なお小フットプリント・デバイスであ
る可能性があるが、このデバイスは、上述の典型的な数
字である2メガバイトより多いメモリを有している。
It should be noted that the specific numerical values given here are exemplary only and are used for comparison. For example, a personal digital assistant with more than 8 megabytes of memory may still be a small footprint device, but this device has more than the typical number of 2 megabytes of memory mentioned above. .

【0038】小フットプリント・デバイスは、上述のメ
モリ、プロセッサおよびディスプレイ・サイズのリソー
スのほかにも、典型的なデスクトップ・コンピューティ
ング・システムに比較して、他のリソースのタイプに制
約があることがある。たとえば、典型的な小フットプリ
ント・デバイスはハード・ディスクを有していないこと
があったり、ネットワーク接続を有していないことがあ
ったり、あるいは断続的なネットワーク接続を有した
り、あるいは無線ネットワーク接続を有したりすること
がある。
The small footprint device is constrained by the types of resources other than the memory, processor and display size resources described above, as compared to a typical desktop computing system. There is. For example, a typical small footprint device may not have a hard disk, may not have a network connection, may have an intermittent network connection, or may have a wireless network. Or have a connection.

【0039】多数の小フットプリント・デバイスは携帯
用であり、かつ/またはデスクトップ・コンピュータに
比較して小型であるが、必ずしもそうではない。また、
多数の小フットプリント・デバイスは、主として、ある
いは専ら、バッテリ駆動型でもある。また、小フットプ
リント・デバイスは典型的に、典型的なデスクトップ・
コンピューティング・システムよりも制限された範囲ま
たは狭い範囲の使用可能性を有することもある。小フッ
トプリント・デバイスには、これだけに限定されるもの
ではないが、以下の例が含まれる。すなわち、ハンドヘ
ルド・コンピュータ、ウェアラブル・デバイス(たとえ
ば、腕時計コンピュータ)、携帯情報端末(PDA)、
「高性能」携帯電話、セット・トップ・ボックス、ゲー
ム・コンソール、全世界測位システム(GPS)ユニッ
ト、電子テキストブック・デバイスなどである。新しい
クラスのコンシューマ・デバイスが急速に出現している
ので、小フットプリント・デバイスの網羅的なリストを
提供することは不可能である。しかし、「小フットプリ
ント・デバイス」という用語は、上述の用語の精神およ
び範囲内に適度に含めることができるようなデバイスを
含むことを意図するものである。
Many small footprint devices are portable and / or small, as compared to desktop computers, but are not necessarily so. Also,
Many small footprint devices are also primarily or exclusively battery powered. Also, small footprint devices are typically
It may have a more limited or narrower range of possibilities than a computing system. Small footprint devices include, but are not limited to, the following examples. A handheld computer, a wearable device (eg, a wristwatch computer), a personal digital assistant (PDA),
"High-performance" mobile phones, set-top boxes, game consoles, global positioning system (GPS) units, electronic textbook devices, and the like. With the rapid emergence of new classes of consumer devices, it is not possible to provide an exhaustive list of small footprint devices. However, the term "small footprint device" is intended to include devices that can be reasonably included within the spirit and scope of the above term.

【0040】図8は、典型的な小フットプリント・デバ
イスのブロック図である。小フットプリント・デバイス
が、所望の様々な異なるアーキテクチャを有することが
できることに留意されたい。本発明の動作を理解する上
で必要でないハードウェア要素は、簡素にするため省略
した。
FIG. 8 is a block diagram of a typical small footprint device. Note that the small footprint device can have a variety of different architectures as desired. Hardware elements that are not necessary for understanding the operation of the present invention have been omitted for simplicity.

【0041】図8のように、小フットプリント・デバイ
スはプロセッサ100を含む。プロセッサ100は、x
86プロセッサを含む様々なタイプのいずれにもするこ
とができる。たとえば、Pentium(登録商標)ク
ラス、PowerPC(登録商標)プロセッサ、ならび
に他の低パワーのプロセッサ、または小フットプリント
・デバイス専用に開発されたプロセッサである。プロセ
ッサ100は、デスクトップ・コンピュータ・クラスの
プロセッサで見られるクロック速度に類似したクロック
速度、ならびに16MHzなどの低速を含む、様々なク
ロック速度を有することができる。
As shown in FIG. 8, the small footprint device includes a processor 100. The processor 100 has x
It can be of any of a variety of types, including 86 processors. For example, the Pentium® class, the PowerPC® processor, and other low power processors, or processors developed specifically for small footprint devices. Processor 100 may have various clock speeds, including clock speeds similar to those found in desktop computer class processors, as well as low speeds, such as 16 MHz.

【0042】図8のように、このデバイスはシステム・
メモリ102を含む。システム・メモリ102は、RA
MまたはROMを含む様々なタイプのメモリを含むこと
ができる。典型的な小フットプリント・デバイスは、典
型的なデスクトップ・コンピュータ・システムに比較し
て、非常に小さいメモリ記憶容量を有することがある。
As shown in FIG. 8, this device is
The memory 102 is included. The system memory 102 stores the RA
Various types of memory can be included, including M or ROM. A typical small footprint device may have a very small memory storage capacity compared to a typical desktop computer system.

【0043】小フットプリント・デバイスは、1つまた
は複数の入力機構も含むことができる。入力機構104
を図8に示す。入力機構104は、特定のデバイスに適
した様々なタイプのいずれにもすることができる。たと
えば、入力機構は、キーパッド、マウス、トラックボー
ル、タッチ・ペン、マイクロフォンなどにすることがで
きる。
The small footprint device can also include one or more input mechanisms. Input mechanism 104
Is shown in FIG. The input mechanism 104 can be any of a variety of types suitable for a particular device. For example, the input mechanism can be a keypad, mouse, trackball, touch pen, microphone, and the like.

【0044】小フットプリント・デバイスは、1つまた
は複数のディスプレイ機構も含むことができる。ディス
プレイ106を図8に示す。しかし、小フットプリント
・デバイスはディスプレイを含まないことがあり、ある
いはオーディオ・スピーカなど別のタイプの出力機構を
含むことがある。ディスプレイ機構106は、特定のデ
バイスに適した様々なタイプのいずれにもすることがで
きる。高性能携帯電話などの典型的な小フットプリント
・デバイス用のディスプレイ機構は、デスクトップ・コ
ンピュータ・システムのディスプレイに比較して小型で
あることがある。
The small footprint device can also include one or more display mechanisms. The display 106 is shown in FIG. However, small footprint devices may not include a display, or may include another type of output mechanism, such as audio speakers. Display mechanism 106 can be any of a variety of types appropriate for a particular device. The display mechanism for a typical small footprint device, such as a smart phone, may be small compared to the display of a desktop computer system.

【0045】図9−ハードウェア/ソフトウェアの階層
図 図9は、コンテイメント・フレームワーク内でアプリケ
ーションおよびサービスを実行するシステムに含まれて
いるハードウェア/ソフトウェア層の典型的な階層であ
る。この図は例示的なものであり、特定のデバイスまた
は実装に適するように、様々な層を追加し、結合し、あ
るいは省略することができる。
FIG. 9-Hardware / Software Hierarchy Diagram FIG. 9 is a typical hierarchy of hardware / software layers included in a system executing applications and services within the containment framework. This diagram is exemplary, and various layers may be added, combined, or omitted as appropriate for a particular device or implementation.

【0046】図9の基本層がデバイス・ハードウェア層
120であり、プロセッサおよびシステム・メモリな
ど、ソフトウェア・システムをサポートするために必要
なハードウェア・リソースを含む。一実施形態では、図
8の小フットプリント・デバイス・ハードウェアの例な
ど、小フットプリント・デバイスのハードウェアが、図
9のハードウェア層120を実装する。しかし、他の実
施形態では、ハードウェア層120は、他のタイプのデ
バイスで実装することができる。たとえば、スマート・
カードなど、典型的な小フットプリント・デバイスより
もさらに大きいリソース上の制約を有するデバイスなど
である。
The base layer in FIG. 9 is the device hardware layer 120, which contains the hardware resources needed to support the software system, such as a processor and system memory. In one embodiment, the hardware of the small footprint device, such as the example small footprint device hardware of FIG. 8, implements the hardware layer 120 of FIG. However, in other embodiments, the hardware layer 120 can be implemented with other types of devices. For example, smart
For example, a device such as a card that has greater resource constraints than a typical small footprint device.

【0047】図9のように、ハードウェア層の次の上層
がオペレーティング・システム層122である。当業者
には周知であるように、オペレーティング・システム
は、デバイス・ハードウェアと、そのデバイス上で動作
するソフトウェアの間のインタフェース層として機能
し、入出力、メモリ管理などの低レベルのタスクのマネ
ージャとしての機能を果たす。図9のオペレーティング
・システム122は、図9のより高い層をサポートする
いかなる特定のオペレーティング・システムにもするこ
とができる。オペレーティング・システム122は、小
フットプリント・デバイスで使用するために適している
か、あるいはそのために特に書かれた、小型で効率的な
ものにすることができる。たとえば、オペレーティング
・システム122は、Sun Microsystem
s社から入手可能なJavaOSオペレーティング・シ
ステムにすることができる。
As shown in FIG. 9, the operating system layer 122 is located next to the hardware layer. As is well known to those skilled in the art, an operating system acts as an interface layer between device hardware and software running on the device, and is a manager of low-level tasks such as I / O, memory management, etc. Serve as a function. The operating system 122 of FIG. 9 can be any particular operating system that supports the higher layers of FIG. The operating system 122 may be small and efficient, suitable for use with, or specifically written for, small footprint devices. For example, operating system 122 may be a Sun Microsystem
The operating system can be a JavaOS operating system available from Microsoft Corporation.

【0048】一実施形態では、コンテイメント・フレー
ムワークが、JavaTMアプリケーション環境において
1つまたは複数のJavaTMクラスとして実装される。
図9のように、JavaTM仮想マシン層124およびJ
avaTMアプリケーション・プログラミング・インタフ
ェース(API)クラス・ライブラリ層126は、オペ
レーティング・システムの次の上層である。これらの2
層が共にJavaTMアプリケーション環境またはJav
TMプラットフォームを作成する。コンテイメント・フ
レームワークを実装するクラスは、JavaTMライブラ
リ126を使用して構築することができ、バイトコード
にコンパイルすることができる。このバイトコードは、
JavaTM仮想マシン124上で実行する命令であり、
オペレーティング・システム122および/またはデバ
イス・ハードウェア120と対話する。
In one embodiment, the containment framework is implemented as one or more Java classes in a Java application environment.
As shown in FIG. 9, Java virtual machine layer 124 and J
The ava application programming interface (API) class library layer 126 is the next upper layer of the operating system. These two
Both layers are Java application environment or Java
a Create a TM platform. A class that implements the containment framework can be built using the Java library 126 and can be compiled into bytecode. This bytecode is
An instruction to be executed on the Java virtual machine 124,
Interact with operating system 122 and / or device hardware 120.

【0049】一実施形態では、コンテイメント・フレー
ムワークがPersonalJava JavaTMアプ
リケーション環境で実装される。これは、高スケーラブ
ルでモジュール方式、かつ構成可能に設計されたJav
TMプラットフォームであり、最低限のシステム・リソ
ースを必要とするものである。PersonalJav
TMは、JavaTM仮想マシンおよびJavaTM AP
Iのサブセットを含み、コアおよびオプションのAPI
およびクラス・ライブラリを含む。さらに、Perso
nalJavaTM APIは、専用バージョンのJav
TM abstract window toolki
t(AWT)など、リソースが制限された環境でコンシ
ューマ・アプリケーションが要求する特定の機能を含
む。PersonalJavaTM AWTライブラリ
は、コンシューマ製品のルック・アンド・フィールを目
標として調整されており、グラフィックスおよびウィン
ドウ機能を提供し、低解像度のディスプレイおよび代替
入力デバイスをサポートする(マウスおよびキーボード
のないデバイス用に拡張されたイベント・モデルを介す
る)。
In one embodiment, the containment framework is implemented in a PersonalJava Java application environment. This is a highly scalable, modular and configurable design of the Java
a TM platform that requires minimal system resources. PersonalJav
a is a Java virtual machine and a Java AP
Core and optional API, including a subset of I
And class libraries. In addition, Person
nalJava API is a dedicated version of Java
a TM abstract window tooli
Includes specific features required by consumer applications in resource-constrained environments, such as t (AWT). The PersonalJava AWT library is tuned for the look and feel of consumer products, provides graphics and windowing capabilities, supports low-resolution displays and alternative input devices (for devices without a mouse and keyboard) Via the extended event model).

【0050】再度図9を参照して、コンテイメント・フ
レームワーク128をJavaTMプラットフォーム層の
次の上層として示す。上述のように、コンテイメント・
フレームワーク128を他のプラットフォームに基づか
せることもできる。以下で詳細に述べるように、コンテ
イメント・フレームワーク128は、たとえばモジュー
ル登録、ルックアップ、インスタンス追跡などを可能に
することによって、プログラム・モジュールを管理す
る。モジュールは様々なサービスを提供することができ
る。コンテイメント・フレームワーク128は、モジュ
ールが他のモジュールを要求してそれらのサービスを使
用できるようにする。アプリケーションは、他のモジュ
ールのサービスを利用するモジュールとして実装するこ
とができる。したがって、コンテイメント・フレームワ
ーク128は、軽量で拡張可能なサービスおよびアプリ
ケーション・フレームワークを提供し、アプリケーショ
ンが共存してモジュラー・コード・ベースを共有できる
ようにする。
Referring again to FIG. 9, the containment framework 128 is shown as the next layer above the Java platform layer. As mentioned above, containment
The framework 128 can be based on other platforms. As described in detail below, the containment framework 128 manages program modules, for example, by allowing module registration, lookup, instance tracking, and the like. Modules can provide various services. Containment framework 128 allows modules to request other modules to use their services. An application can be implemented as a module that uses the services of another module. Thus, the containment framework 128 provides a lightweight and extensible service and application framework, allowing applications to coexist and share a modular code base.

【0051】このタイプの拡張可能なアーキテクチャ
は、多数のプログラム・モジュールを協調可能にするも
のであり、小フットプリント・デバイスには重要な開発
である。小フットプリント・デバイスは、歴史的に、相
対的に狭い用途に制限されてきた。たとえば、携帯電話
は通常、テレフォニーおよび他のわずかな用途に使用さ
れていた。しかし、様々な技術が開発され、小フットプ
リント・デバイスが「より高性能」になり、汎用プロセ
ッサ、より大型のディスプレイ画面などを有することが
可能になるので、小フットプリント・デバイスで使用さ
れるアプリケーションの範囲を拡張することが望ましく
なっている。
This type of scalable architecture allows multiple program modules to cooperate and is an important development for small footprint devices. Small footprint devices have historically been limited to relatively narrow applications. For example, mobile phones were typically used for telephony and a few other applications. However, as various technologies are developed and small footprint devices become "more sophisticated" and can have general-purpose processors, larger display screens, etc., they are used in small footprint devices It has become desirable to extend the range of applications.

【0052】このコンテイメント・フレームワークは、
一般にデスクトップ・コンピューティング環境に関連す
るタイプのアプリケーションおよびサービスが、小フッ
トプリント・デバイスにおいて、デスクトップ・コンピ
ュータのユーザが慣れている様式で、共に動作できるよ
うにすることができる。図9および上述のように、小フ
ットプリント・デバイス上で動作するサービスおよびア
プリケーション130は、コンテイメント・フレームワ
ーク層128上で構築されたモジュールとして実装する
ことができる。たとえば、Sun Microsyst
ems社から入手可能なPersonal Appli
cationスーツは、コンテイメント・フレームワー
ク128の一実施形態を用いて構築されている。Per
sonal Application Suiteは、
ブラウザ、電子メール・クライアント、およびパーソナ
ル・オーガナイザなどのアプリケーションの統合セット
を含んでいる。
This containment framework is:
Applications and services of the type generally associated with a desktop computing environment may be able to work together on small footprint devices in a manner that desktop computer users are accustomed to. As shown in FIG. 9 and described above, the services and applications 130 running on the small footprint device can be implemented as modules built on the containment framework layer 128. For example, Sun Microsystem
Personal Appli available from ems
The cation suit is constructed using one embodiment of the containment framework 128. Per
The Sonal Application Suite is
It includes an integrated set of applications such as browsers, e-mail clients, and personal organizers.

【0053】図9は、コンテイメント・フレームワーク
128のいくつかの実施形態の、オフ・デバイス・サー
ビス132をオン・デバイス・アプリケーション/サー
ビス130と統合する能力も示す。たとえば、コンテイ
メント・フレームワーク128は、小フットプリント・
デバイスとJiniネットワークなどのネットワークの
間のインタフェースを提供することができる。小フット
プリント・デバイス・システムは、そのサービスを、ネ
ットワーク内の他のデバイスまたはクライアントが使用
するように登録することができる。コンテイメント・フ
レームワークは、小フットプリント・デバイス内のサー
ビスおよびアプリケーションが、他のネットワーク・デ
バイスが提供するサービスをルック・アップおよび使用
できるようにすることもできる。小フットプリント・デ
バイスのサービスをネットワーク・サービスと統合する
ことについては、以下で図10についてより詳細に論ず
る。
FIG. 9 also illustrates the ability of some embodiments of the containment framework 128 to integrate off-device services 132 with on-device applications / services 130. For example, the containment framework 128 provides a small footprint
An interface between the device and a network such as a Jini network can be provided. The small footprint device system can register its services for use by other devices or clients in the network. The containment framework may also allow services and applications within the small footprint device to look up and use services provided by other network devices. Integrating the services of a small footprint device with network services is discussed in greater detail below with respect to FIG.

【0054】図10−11:例示的ネットワーク・デバ
イスおよびサービス・フェデレーション 図10は例示的ネットワークであり、コンテイメント・
フレームワーク内のアプリケーション/サービスを実行
する小フットプリント・デバイスが、ローカル・サービ
ス・ベースのネットワークに接続される。図示の例で
は、コンテイメント・フレームワーク144を利用する
高性能携帯電話134が、ネットワークに接続される。
図ではまた、ネットワークに、プリンタ130およびイ
ンターネット使用可能テレビ132も接続されている。
この例では、プリンタ130およびテレビ132のデバ
イスが、サービスをネットワークにエクスポートし、場
合によってはネットワーク上の他のデバイスのサービス
を使用するように、動作可能であると仮定する。たとえ
ば、プリンタがそのプリント・サービス138をエクス
ポートすることができ、インターネット・テレビがその
プリント・サービスをルックアップして使用し、ウェブ
・ページを印刷することができる。デバイスおよびサー
ビスのフェデレーションをこの方法で容易にするため
に、ルックアップ・サービス136はネットワーク上に
位置している。ルックアップ・サービス136は、ネッ
トワーク・サーバなどの別のデバイス上に存在すること
ができる。
FIG. 10-11: Exemplary Network Devices and Service Federation FIG. 10 is an exemplary network,
Small footprint devices that run applications / services within the framework are connected to a local service based network. In the example shown, a smart phone 134 utilizing the containment framework 144 is connected to the network.
In the figure, a printer 130 and an Internet-enabled television 132 are also connected to the network.
In this example, it is assumed that the printer 130 and television 132 devices are operable to export services to the network and possibly use the services of other devices on the network. For example, a printer can export its print service 138, and Internet TV can look up and use the print service to print web pages. To facilitate federation of devices and services in this manner, a lookup service 136 is located on the network. Lookup service 136 may reside on another device, such as a network server.

【0055】デバイスおよびサービスのフェデレーショ
ンは、様々な方法で実装することができる。たとえば、
Sun Microsystems社から入手可能なJ
iniTM技術は、図10のタイプの分散システムを使用
可能にするコンポーネントおよびプログラミング・モデ
ルを含む。一実施形態では、図10のローカル・ネット
ワークをJiniTMネットワークにすることができ、プ
リンタ130およびインターネット・テレビ132をJ
iniTM使用可能デバイスにすることができる。各デバ
イスは、JiniTMネットワーク・ルックアップ・サー
ビスを見つけて、そのデバイスが提供するサービスをこ
のルックアップ・サービスに登録するように、動作可能
である。このルックアップ・サービスは、サービスが提
供する機能性を示すインタフェースを、そのサービスを
実装するオブジェクトのセットにマッピングする。
Federation of devices and services can be implemented in various ways. For example,
J available from Sun Microsystems
The ini technology includes components and programming models that enable a distributed system of the type of FIG. In one embodiment, the local network of FIG. 10 can be a Jini network, and printer 130 and Internet television 132
It can be an ini enabled device. Each device is operable to find a Jini network lookup service and register the service provided by the device with the lookup service. The lookup service maps an interface that indicates the functionality provided by the service to a set of objects that implement the service.

【0056】デバイスまたは他のサービス・プロバイダ
は、そのサービスをサービス・フェデレーションへ追加
するために、まず「発見」プロトコルを使用して適切な
ルックアップ・サービスを探し出すことができる。図1
1は、発見プロセスである。図示のように、サービス・
プロバイダ164、たとえば図10のプリンタ130
は、ローカル・ネットワーク上で、ルックアップ・サー
ビスにそれら自体を識別させる要求を同報通信すること
ができる。
A device or other service provider can first find an appropriate lookup service using a "discovery" protocol to add that service to service federation. FIG.
1 is a discovery process. As shown,
Provider 164, for example, printer 130 of FIG.
Can broadcast a request on the local network to make the lookup service identify itself.

【0057】サービス・プロバイダ164がルックアッ
プ・サービス160を探し出した後、サービス・プロバ
イダ164は、「結合」プロトコルを使用して、そのサ
ービスをルックアップ・サービス160に登録すること
ができる。図12は、結合プロセスである。サービス・
プロバイダ164は、クライアントがそのサービスを呼
び出すために使用できるサービス・オブジェクトを作成
することができる。図12のように、次いで、提供され
たサービスのサービス・オブジェクトを、提供されたサ
ービスのタイプや名前についての情報を含むサービス属
性または記述子と共に、ルックアップ・サービス160
にロードすることができる。たとえば、JiniTMネッ
トワークでは、図10のプリンタ130が、プリント・
サービス138用のJavaTMプログラミング・インタ
フェースを含むサービス・オブジェクトを作成すること
ができる。次いで、プリンタ130は、ルックアップ・
サービス136の「登録」メソッドを呼び出して、この
サービス・オブジェクトを、登録中のサービス138が
プリント・サービス、印刷解像度、可能な用紙サイズな
どであると指定する属性と共に、渡すことができる。
After the service provider 164 has located the lookup service 160, the service provider 164 can register the service with the lookup service 160 using a “join” protocol. FIG. 12 shows the joining process. service·
Provider 164 can create a service object that clients can use to invoke the service. As in FIG. 12, the service object of the provided service is then looked up, along with a service attribute or descriptor containing information about the type and name of the provided service, by a lookup service 160.
Can be loaded. For example, in the Jini network, the printer 130 of FIG.
A service object can be created that includes the Java programming interface for service 138. The printer 130 then looks up
The "register" method of service 136 can be invoked to pass this service object along with attributes specifying that the service 138 being registered is a print service, print resolution, possible paper size, and the like.

【0058】サービス・プロバイダ164がそのサービ
スをルックアップ・サービス160に結合した後、他の
ネットワーク・クライアントがこのサービスを要求し、
使用することができる。サービスを要求するプロセスは
ルックアップと呼ばれ、これを図13に示す。ルックア
ップ・サービスを発見した後、クライアント162は、
要求するサービスの記述を使用して、ルックアップ・サ
ービス160からサービスを要求することができる。ル
ックアップ・サービス160は、要求側から与えられた
記述を、ルックアップ・サービスに結合されたサービス
に突き合わせようと試みる。ルックアップ・サービス1
60は、結合プロセス中にサービス・プロバイダ164
から送信されたサービス属性を使用して、この突合せを
実行することができる。合致が発見された場合、ルック
アップ・サービス160は適切なサービス・オブジェク
トをクライアント162へ提供する。たとえば、要求さ
れたサービス用のJavaTMインタフェースを、クライ
アント162へ提供することができる。
After the service provider 164 combines the service with the lookup service 160, other network clients request the service,
Can be used. The process of requesting a service is called a lookup, and is shown in FIG. After discovering the lookup service, the client 162
The service description can be used to request a service from the lookup service 160. Lookup service 160 attempts to match the description provided by the requester to the service coupled to the lookup service. Lookup service 1
60 may use the service provider 164 during the binding process.
This matching can be performed using the service attributes sent from. If a match is found, lookup service 160 provides the appropriate service object to client 162. For example, a Java interface for the requested service can be provided to client 162.

【0059】クライアント162がサービス・オブジェ
クトをルックアップ・サービスから受け取った後、クラ
イアントがこのサービスを呼び出すことができる。図1
4は、サービスを呼び出すプロセスである。サービスが
呼び出されたとき、クライアント162およびサービス
・プロバイダ164は直接互いに通信することができ
る。様々な対話プロトコルのいずれも、この通信に使用
することができる。たとえば、使用するプロトコルを、
JavaTM Remote Method Invoc
ation(RMI)、CORBA、DCOMなどにす
ることができる。クライアントがルックアップ・サービ
スから受け取るサービス・オブジェクトは、たとえばR
MIメソッドを呼び出すことによって、サービス・プロ
バイダに位置するコードへコール・バックすることがで
き、あるいは、要求されたサービスを提供するようにロ
ーカルで実行することができ、あるいは、これらの手法
を組み合わせて使用することができる。
After the client 162 receives the service object from the lookup service, the client can invoke the service. FIG.
4 is a process for calling a service. When the service is invoked, the client 162 and the service provider 164 can communicate with each other directly. Any of a variety of interaction protocols can be used for this communication. For example, the protocol used
Java Remote Method Invoc
(RMI), CORBA, DCOM, etc. The service object that the client receives from the lookup service is, for example, R
By calling the MI method, you can call back to the code located at the service provider, or execute locally to provide the requested service, or combine these approaches. Can be used.

【0060】図10のように、ローカル・ネットワーク
用のルックアップ・サービス136は、インターネット
154など外部ネットワークへのゲートウェイとしても
動作することができる。したがって、サービス・ベース
の分散コンピューティング・モデルを、ローカル・ネッ
トワーク外部に位置するクライアントおよびサービスを
含めるように拡張することができる。たとえば、Ope
n ServiceGateway Initiati
ve(OSGI)用に開発されている技術を利用して、
このタイプの分散コンピューティング・システムを実装
することができる。
As shown in FIG. 10, the lookup service 136 for the local network can also operate as a gateway to an external network such as the Internet 154. Thus, the service-based distributed computing model can be extended to include clients and services located outside the local network. For example, Open
n ServiceGateway Initiati
ve (OSGI) using technology developed for
This type of distributed computing system can be implemented.

【0061】このタイプの、異なるネットワークとイン
ターネットの間のサービス共有によって、新しいタイプ
のアプリケーションを開発可能にすることができる。た
とえば、商人はインターネット・サービスを使用して特
定の顧客についてのデータを記録することができ、広告
サービス・プロバイダはこのデータを使用して、どのロ
ーカル・ネットワークにコンシューマ・デバイスが接続
されているかなどに応じて、コンテキスト特異的な広告
をコンシューマ・デバイスに出すことができる。たとえ
ば、顧客はショッピング・モールに入り、無線接続を介
して携帯情報端末(PDA)をこのショッピング・モー
ルのローカル・ネットワークに接続することができる。
インターネット・ベースの顧客データ・サービスをショ
ッピング・モール・ネットワーク用のルックアップ・サ
ービスに結合することができ、このモール・ネットワー
クに接続したばかりの特定の顧客についての情報を提供
することができる。次いで、このショッピング・モール
・ネットワーク内で動作するサービスは、このデータ
を、モール内の顧客の現在位置、時間などの他の要素と
共に使用して、個別化された広告を生成して顧客のPD
Aに出すことができる。
This type of service sharing between different networks and the Internet allows new types of applications to be developed. For example, a merchant can use an Internet service to record data about a particular customer, and an advertising service provider can use this data to determine which local network the consumer device is connected to, etc. , Context-specific advertisements can be placed on consumer devices. For example, a customer may enter a shopping mall and connect a personal digital assistant (PDA) to the shopping mall's local network via a wireless connection.
An Internet-based customer data service can be coupled to a look-up service for a shopping mall network to provide information about a particular customer who has just connected to the mall network. The service operating within the shopping mall network then uses this data, along with other factors such as the customer's current location within the mall, time, etc., to generate personalized advertisements and the customer's PD.
A.

【0062】図10のネットワークに基づく他の多数の
サービス例が可能である。たとえば、住宅内のネットワ
ーク使用可能コンシューマ・デバイスは、電力会社が提
供する、住宅内の電力消費量を管理するサービスを、イ
ンターネットを介して利用することができ、セキュリテ
ィ・サービス・プロバイダは、ネットワーク・サービス
を介して家庭または特定のデバイスを監視することがで
き、資産が荒らされたときに直ちに所有者に通知するこ
とができ、健康サービス・プロバイダは、医療機器と通
信することによって患者の容態をリモートで監視するこ
とができる。
Many other service examples based on the network of FIG. 10 are possible. For example, a network-enabled consumer device in a home can use services provided by a power company to manage power consumption in the home via the Internet, and a security service provider can use a network service. Home or specific devices can be monitored via the service, owners can be notified immediately when assets are compromised, and health service providers can communicate with medical devices to help patients Can be monitored remotely.

【0063】上に挙げた例では、デバイスが透過的にネ
ットワークに接続することができ、ネットワーク・サー
ビスをデバイス常駐サービスと統合することができ、ネ
ットワーク・クライアントが使用するためにデバイス常
駐サービスをエクスポートすることができると仮定す
る。本明細書で説明するコンテイメント・フレームワー
クは、携帯情報端末、ハンドヘルド・コンピュータ、高
性能携帯電話などの小フットプリント・デバイスのサー
ビスおよびアプリケーションを、ネットワーク・サービ
ス・フェデレーションと統合するために必要なインタフ
ェースを提供することができる。
In the example given above, devices can transparently connect to the network, integrate network services with device resident services, and export device resident services for use by network clients. Suppose you can. The containment framework described herein is necessary for integrating services and applications of small footprint devices, such as personal digital assistants, handheld computers, and high-performance mobile phones, with network service federation. An interface can be provided.

【0064】図10に図示し、以下により詳細に説明す
るように、コンテイメント・フレームワーク144は、
所有するタイプのルックアップ・サービス146を有す
る。コンテイメント・フレームワーク144内のルック
アップ・サービス146は、上述のローカル・ネットワ
ーク・ルックアップ・サービスと類似した方法で動作す
ることができ、発見、結合、ルックアップ、およびサー
ビス呼び出しプロセスを利用する。たとえば、パーソナ
ル・オーガナイザ・アプリケーション152は、カレン
ダ・サービス、コンタクト・リスト・サービス、ブック
マーク・サービスなど、様々なサービスを利用すること
ができる(図示せず)。パーソナル・オーガナイザ・ア
プリケーション152は、これらのサービスと通信する
ための参照を、コンテイメント・フレームワーク・ルッ
クアップ・サービス146を介して得ることができる。
As shown in FIG. 10 and described in more detail below, the containment framework 144 includes:
It has a lookup service 146 of its own type. The lookup service 146 in the containment framework 144 can operate in a manner similar to the local network lookup service described above, and utilizes a discovery, combining, lookup, and service invocation process. . For example, the personal organizer application 152 can utilize various services such as a calendar service, a contact list service, a bookmark service (not shown). The personal organizer application 152 can obtain references to communicate with these services via the containment framework lookup service 146.

【0065】コンテイメント・フレームワーク144
は、所有するルックアップ・サービス146を、図10
のローカル・ネットワーク・ルックアップ・サービス1
36などのオフ・デバイス・ルックアップ・サービスに
統合することができる。このように、プリント・サービ
ス138およびウェブ・サービス140などのオフ・デ
バイス・サービスを、コンテイメント・フレームワーク
のアプリケーション/サービス148、150および1
52で使用可能にすることができ、その逆に使用するこ
ともできる。たとえば、パーソナル・オーガナイザ・ア
プリケーション152は、プリント・サービスをコンテ
イメント・フレームワーク・ルックアップ・サービス1
46から要求することができる。コンテイメント・フレ
ームワーク・ルックアップ・サービス146はまず、オ
ン・デバイスプリント・サービスを探索することができ
る。これが見つからなかった場合、コンテイメント・フ
レームワーク・ルックアップ・サービス146は、プリ
ント・サービスをネットワーク・ルックアップ・サービ
ス136から要求することができる。次いで、プリント
・サービス138のサービス・オブジェクトをパーソナ
ル・オーガナイザ152へ返すことができる。オン・デ
バイス・サービス/アプリケーションとオフ・デバイス
・サービスの間のインタフェース142を、図10に示
す。オン・デバイス/オフ・デバイス・サービスの統合
を実装する方法について、以下に詳述する。
Containment Framework 144
Finds its own lookup service 146 in FIG.
Local network lookup service 1
36 and can be integrated into an off-device lookup service. Thus, off-device services, such as print service 138 and web service 140, can be transferred to the containment framework applications / services 148, 150 and 1
It can be enabled at 52 and vice versa. For example, the personal organizer application 152 may use the print service to include the containment framework lookup service 1
46 can be requested. The containment framework lookup service 146 can first search for an on-device print service. If this is not found, the containment framework lookup service 146 can request a print service from the network lookup service 136. The service object for the print service 138 can then be returned to the personal organizer 152. The interface 142 between on-device services / applications and off-device services is shown in FIG. Details of how to implement on-device / off-device service integration are detailed below.

【0066】上述のように、サービスのクライアントは
それ自体を他のクライアントへのサービスにすることが
できる。たとえば、図10の高性能携帯電話の電子メー
ル・クライアント「アプリケーション」150は、それ
自体を、コンテイメント・フレームワーク144で動作
するクライアントまたはネットワーク・クライアントへ
のサービスにすることができる。たとえば、誤動作が起
こった場合、図10のプリンタ130が電子メール・サ
ービスを要求して、診断情報をサービス技術者へ送信で
きるようにすることができる。ネットワーク・ルックア
ップ・サービス136がネットワーク・ベースの電子メ
ール・サービスを見つけることができなかった場合、イ
ンタフェース142を介して電子メール・サービスを高
性能携帯電話134から要求することができる。コンテ
イメント・フレームワーク144で動作する電子メール
・アプリケーション/サービス150のサービス・オブ
ジェクトを、要求側のプリンタ・クライアント130へ
渡すことができる。この例では、プリンタ・クライアン
ト130が直接電子メール・アプリケーション/サービ
ス150と通信して、診断情報を含む電子メールをプリ
ンタ・サービス技術者へ送信することができる。電子メ
ール・アプリケーション/サービス150は、電子メー
ル・サーバ・サービスを見つけることができた場合に電
子メールを直ちに送信することができ、あるいは、後に
携帯電話のユーザが異なるネットワークへ接続する際に
このようなサービスが使用可能になるときに、この電子
メールを送信することができる。
As mentioned above, a client of a service can itself be a service to other clients. For example, the e-mail client "application" 150 of the smart phone of FIG. For example, if a malfunction occurs, the printer 130 of FIG. 10 may request an e-mail service to enable transmission of diagnostic information to a service technician. If the network lookup service 136 cannot find a network-based email service, the email service can be requested from the smart phone 134 via the interface 142. The service object of the email application / service 150 running on the containment framework 144 can be passed to the requesting printer client 130. In this example, printer client 130 may communicate directly with email application / service 150 to send an email containing diagnostic information to a printer service technician. The e-mail application / service 150 can send the e-mail immediately if it can find the e-mail server service, or later when the mobile phone user connects to a different network. This e-mail can be sent when a new service becomes available.

【0067】上記の説明は、JiniTM技術など、特定
のプロトコルおよびプログラミング・モデルを参照する
が、これらの特定の技術は例示的なものにすぎないこと
に留意されたい。たとえば、コンテイメント・フレーム
ワーク内のアプリケーションおよびサービスを、様々な
タイプの規格、プロトコル、およびプログラミング・モ
デルを使用するクライアント、サービス、デバイス、ネ
ットワークなどと統合することができる。これらの規
格、プロトコル、およびプログラミング・モデルには、
JiniTM、CORBA、COM/DCOM、Blue
tooth、CAL、CEBus、HAVi、Home
API、HomePNA、HomePnP、Home
RF、VESAなどが含まれるが、それだけに限定され
るものではない。
Although the above description makes reference to particular protocols and programming models, such as Jini technology, it should be noted that these particular technologies are merely exemplary. For example, applications and services within the containment framework can be integrated with clients, services, devices, networks, etc. that use various types of standards, protocols, and programming models. These standards, protocols, and programming models include:
Jini , CORBA, COM / DCOM, Blue
tooth, CAL, CEBus, HAVi, Home
API, HomePNA, HomePnP, Home
RF, VESA, etc., but are not limited thereto.

【0068】図15−コンテイメント・フレームワーク
のブロック図 図15は、コンテイメント・フレームワーク環境の基本
アーキテクチャを示す抽象的なブロック図である。上述
のように、コンテイメント・フレームワークはアプリケ
ーションおよびサービス用のコンテイメント・システム
を提供する。これらのアプリケーションおよびサービス
は、システム内でモジュールと呼ばれるユニットとして
管理される。コンテイメント・フレームワークは軽量で
あり、一実施形態では、モジュールが、すべてのモジュ
ール管理を実行する単一のフレームワーク・マネージャ
と対話することができる。このマネージャを、本明細書
では中央フレームワーク・インスタンスと呼ぶ。一実施
形態では、中央フレームワーク・インスタンスをJav
TMクラスのインスタンスとして実装することができ
る。図15は、中央フレームワーク・インスタンス17
0、およびそれが含む/管理するコードおよびデータで
ある。図15がコンテイメント・フレームワークの一実
施形態を示すことに留意されたい。他の実施形態は、異
なるアーキテクチャを使用することができ、かつ/また
は異なるプログラミング言語またはソフトウェア環境で
実装することができる。たとえば、図15の中央フレー
ムワーク・インスタンス170が実行するモジュール管
理/コンテイメントを、他の実施形態では、多数のオブ
ジェクトまたはコンポーネントが実行することができ
る。
FIG. 15—Containment Framework Block Diagram FIG. 15 is an abstract block diagram illustrating the basic architecture of the containment framework environment. As described above, the containment framework provides a containment system for applications and services. These applications and services are managed in the system as units called modules. The containment framework is lightweight, and in one embodiment, the modules can interact with a single framework manager that performs all module management. This manager is referred to herein as a central framework instance. In one embodiment, the central framework instance is Java
a Can be implemented as an instance of a TM class. FIG. 15 shows the central framework instance 17
0, and the code and data it contains / manages. Note that FIG. 15 illustrates one embodiment of the containment framework. Other embodiments may use different architectures and / or be implemented in different programming languages or software environments. For example, the module management / containment performed by central framework instance 170 of FIG. 15 may be performed by multiple objects or components in other embodiments.

【0069】図15のように、中央フレームワーク・イ
ンスタンス170は、現在システムにロードされている
モジュールを表現するデータ182を含む。コンテイメ
ント・フレームワーク・アーキテクチャは非階層であ
る。したがって、ロードされたモジュールを、モジュー
ルの単層リストまたは配列として表現することができ
る。この非階層システムは、コア・コンテイメント・フ
レームワーク・コードおよびフレームワーク内で動作す
るモジュールを小さく保つための助けとなる。Java
BeansTMコンポーネントなど、階層コンポーネント
を使用するシステムは、それに伴う利点を提供すること
ができるが、これらの利点は、より多くのシステム・リ
ソースを必要とするより複雑な管理システムを負担する
ことで得られる。しかし、コンテイメント・フレームワ
ークは、非階層モジュールが階層コンテイメント・シス
テムの利点を多数得るための機構を提供する。この機構
を、図16および図17について以下に説明する。
As shown in FIG. 15, the central framework instance 170 includes data 182 representing the modules currently loaded in the system. The containment framework architecture is non-hierarchical. Thus, loaded modules can be represented as a flat list or array of modules. This non-hierarchical system helps keep the core containment framework code and the modules running within the framework small. Java
Systems that use hierarchical components, such as the Beans component, can provide the attendant benefits, but these benefits come from the burden of more complex management systems that require more system resources. Can be However, the containment framework provides a mechanism for non-hierarchical modules to gain many of the benefits of a hierarchical containment system. This mechanism is described below with reference to FIGS.

【0070】図15のように、一実施形態では、中央フ
レームワーク・インスタンス170が、公開されたアク
セス可能なメソッド178を含み、モジュールがこれら
を呼び出すことができる。これらのメソッドを抽象グル
ープに分割することができる。たとえば、あるグループ
のメソッド172には、ルックアップ・メソッドを含め
ることができる。ルックアップ・メソッドは、上述のル
ックアップ・サービス機能性を実装する。モジュール
は、モジュール記述子を中央フレームワーク・インスタ
ンス170のルックアップ・メソッドに渡して、特定の
サービス・モジュールを探し出すことができる。コンテ
イメント・フレームワーク・ルックアップ・プロセスに
ついては、以下で図19について説明する。別のグルー
プのフレームワーク・メソッド174には、モジュール
をロードおよびアンロードするメソッドを含めることが
できる。サービス・モジュールを見つけた後、クライア
ント・モジュールは中央フレームワーク・インスタンス
170に対して、このサービス・モジュールをロードし
て、ロードしたモジュールへの参照を返すように要求す
ることができる。次いで、クライアント・モジュールが
このサービスを呼び出すことができる。クライアント
は、サービス・モジュールを使用し終えたときに、フレ
ームワーク・メソッドを呼び出してこのサービス・モジ
ュールを解放することができる。異なるグループとして
記載したが、メソッドをルックアップおよびロード/ア
ンロードのグループに分割することは、概念上の分割に
すぎないことがある。たとえば、一実施形態では、ルッ
クアップ・メソッドが、合致するモジュールをロードし
て、合致したモジュールへの参照を返すこともできる。
As shown in FIG. 15, in one embodiment, the central framework instance 170 includes publicly accessible methods 178 that modules can invoke. These methods can be divided into abstract groups. For example, a group of methods 172 may include a lookup method. Lookup methods implement the lookup service functionality described above. The module can pass the module descriptor to the lookup method of the central framework instance 170 to locate a particular service module. The containment framework look-up process is described below with respect to FIG. Another group of framework methods 174 may include methods for loading and unloading modules. After finding the service module, the client module can request the central framework instance 170 to load the service module and return a reference to the loaded module. The client module can then invoke this service. When the client has finished using the service module, it can call a framework method to release the service module. Although described as different groups, dividing methods into lookup and load / unload groups may be only a conceptual division. For example, in one embodiment, a lookup method may load a matching module and return a reference to the matching module.

【0071】図15は、フレームワーク・メタデータと
呼ばれるシステム・データ180も示す。これは、ロー
ドしたモジュールのリストを記述するデータ182およ
びシステムの状態を記述する他のデータを含むことがで
きる。中央フレームワーク・インスタンス170の別の
抽象グループのメソッド176には、リフレクション・
メソッドを含めることができる。リフレクション・メソ
ッドは、コア・メタデータ180への直接アクセスを提
供するので、他のグループのメソッドとはやや異なる。
システム・モジュールと呼ばれるモジュールの特殊クラ
スが、リフレクション・メソッドを呼び出して、メタデ
ータ180へのアクセスを得ることができる。通常のモ
ジュールはメタデータ180にアクセスすることができ
ない。
FIG. 15 also shows system data 180 called framework metadata. This can include data 182 describing the list of loaded modules and other data describing the state of the system. Methods 176 of another abstract group of the central framework instance 170 include reflection and
Methods can be included. Reflection methods are slightly different from other groups of methods because they provide direct access to core metadata 180.
A special class of modules, called system modules, can invoke reflection methods to gain access to metadata 180. Regular modules cannot access the metadata 180.

【0072】コア・システム・データ180への参照を
受け取った後、システム・モジュールはいかなる望まし
い方法でもデータを使用あるいは修正することができ
る。したがって、コンテイメント・フレームワークは大
幅に拡張可能である。中央フレームワーク・インスタン
ス170はそれ自体を小さく保つことができ、システム
・モジュールを追加して、中央フレームワーク・インス
タンス170によってまだ使用可能にされていない機能
性を実装することができる。たとえば、システム・モジ
ュールは、図10から図14について上述した、コンテ
イメント・フレームワーク内で動作するアプリケーショ
ン/サービスと外部ネットワークに基づくサービスの間
の統合を、可能にすることができる。
After receiving a reference to core system data 180, the system module may use or modify the data in any desired manner. Thus, the containment framework is significantly extensible. The central framework instance 170 can keep itself small and can add system modules to implement functionality not yet enabled by the central framework instance 170. For example, a system module may enable integration between applications / services operating within the containment framework and services based on external networks, as described above with respect to FIGS.

【0073】この例では、このようなシステム・モジュ
ールを、外部ネットワークのプロトコルおよびプログラ
ミング・モデルに従う第2のルックアップ・サービスと
して書くことができる。たとえば、JiniTMネットワ
ークでは、JiniTMネットワーク・ルックアップ・サ
ービスを発見してネットワーク・ルックアップ・サービ
スを結合し、それ自体を第2のルックアップ・サービス
として登録するシステム・モジュールを書くことができ
る。ネットワーク・クライアントがサービスを要求した
とき、ネットワーク・ルックアップ・サービスが、シス
テム・モジュールによって実装されたルックアップ・サ
ービスを呼び出すことができる。このシステム・モジュ
ールは、コンテイメント・フレームワーク内で、要求し
たサービスの記述に合致するサービス・モジュールを発
見しようと試みることができる。合致が見つかった場
合、システム・モジュールは、このサービス・モジュー
ルをネットワーク・クライアントへエクスポートするた
めに必要なステップを実行することができる。これは、
システム・モジュールがシステム・モジュール・リスト
およびメタデータへの完全アクセスを有しているからで
ある。たとえば、システム・モジュールは、合致したサ
ービス・モジュールをシステムへロードして登録し、J
avaTMインタフェースなど、新たにロードしたモジュ
ールへのインタフェースを要求側に返すことができる。
In this example, such a system module can be written as a second lookup service according to the protocol and programming model of the external network. For example, in a Jini network, a system module can be written that discovers the Jini network lookup service, combines the network lookup service, and registers itself as a second lookup service. . When a network client requests a service, the network lookup service can invoke the lookup service implemented by the system module. The system module can attempt to find a service module in the containment framework that matches the description of the requested service. If a match is found, the system module can perform the necessary steps to export this service module to the network client. this is,
This is because the system module has full access to the system module list and metadata. For example, the system module loads and registers the matched service module into the system,
An interface to the newly loaded module, such as the ava interface, can be returned to the requestor.

【0074】図16および図17−階層環境のシミュレ
ート モジュールの階層コンテキストを確立することは、しば
しば望ましい。たとえば、同じタイプのいくつかのサー
ビス・モジュールがシステム内に存在することができる
が、それぞれがわずかに異なる挙動を示すことができ
る。階層コンテイメント・システムでは、モジュールに
よるサービスの要求を、要求側モジュールの親または含
んでいるモジュールを通じてフィルタリングすることが
でき、特定のサービス・モジュールへの参照を要求側へ
戻すことができるようにする。階層コンテイメントは、
他の固有の利点も有する。たとえば、データをモジュー
ルの階層の間で容易に分散させ、格納する能力などであ
る。しかし、上述のように、階層コンテイメント・シス
テムの完全実装には、メモリおよび処理能力など、必要
なシステム・リソースに関して非常に費用がかかること
がある。コンテイメント・フレームワークは、開発者と
アプリケーションに、階層コンテイメントの利点を多数
もたらす機構を提供することができるが、通常、これに
伴う高い間接経費はかからない。
FIGS. 16 and 17-Simulating a Hierarchical Environment It is often desirable to establish a hierarchical context for a module. For example, several service modules of the same type may exist in the system, but each may exhibit slightly different behavior. In a hierarchical containment system, requests for services by a module can be filtered through the parent or containing module of the requesting module, allowing a reference to a particular service module to be returned to the requestor. . Hierarchical containment
It also has other inherent advantages. For example, the ability to easily distribute and store data across a hierarchy of modules. However, as noted above, a complete implementation of a hierarchical containment system can be very expensive in terms of required system resources, such as memory and processing power. Containment frameworks can provide developers and applications with mechanisms that provide many of the benefits of hierarchical containment, but typically do not have the high overhead involved.

【0075】たとえば、一実施形態のコンテイメント・
フレームワークでは、モジュールがそれ自体を、他のモ
ジュールのモジュール要求リスナとして登録することが
できる。たとえば、モジュールAは、それ自体を、モジ
ュールBの要求リスナとして登録することができる。こ
れは、たとえば、中央フレームワーク・インスタンスの
AddRequestListenerメソッドを呼び
出すことによって行う。続いて、モジュールBが、特定
のサービスを見つけるために中央フレームワーク・イン
スタンスのメソッドを呼び出したとき、中央フレームワ
ーク・インスタンスは、モジュールBのモジュール要求
リスナがあるかどうかを検査する。この場合、中央フレ
ームワーク・インスタンスはモジュールAを要求リスナ
として見つけ、モジュールAに対して、要求されたサー
ビス・モジュールをモジュールBへ提供するように求め
る。
For example, in one embodiment,
The framework allows a module to register itself as a module request listener for other modules. For example, module A may register itself as a request listener for module B. This is done, for example, by calling the AddRequestListener method of the central framework instance. Subsequently, when module B invokes a method of the central framework instance to find a particular service, the central framework instance checks for module B's module request listener. In this case, the central framework instance finds module A as a request listener and asks module A to provide the requested service module to module B.

【0076】図16および図17は、コンテイメント・
フレームワークにおけるモジュール要求リスナの例示的
使用である。図16は、プリント・サービスの所望の概
念上のモジュール階層である。図示のように、2つのプ
リント・サービス・モジュール192および194、プ
リント・サービスAおよびプリント・サービスBが、プ
リント・マネージャ・モジュール190内にカプセル化
されている。たとえば、2つのプリント・サービス19
2および194は、異なる場所に印刷することができ、
異なる解像度および色機能などを有することができる。
これらのプリント・サービス・モジュールのいずれか
が、別のモジュールによるプリント・サービスのルック
アップ要求を満たすことができる。しかし、特定のプリ
ント・サービスを選択して返すプリント・マネージャ・
モジュールを使用することが望ましいことがある。たと
えば、プリント・マネージャ190は、どのクライアン
ト・モジュールが印刷要求を行うかに基づいてプリント
・サービスを選択することができ、あるいは、プリント
・マネージャは、ユーザに対して所望のプリント・サー
ビス特性を入力するように求めるダイアログ・ボックス
を表示することができる。
FIG. 16 and FIG.
5 is an exemplary use of a module request listener in a framework. FIG. 16 is a desired conceptual module hierarchy of the print service. As shown, two print service modules 192 and 194, print service A and print service B, are encapsulated within print manager module 190. For example, two print services 19
2 and 194 can be printed in different locations,
It can have different resolution and color capabilities, etc.
Either of these print service modules can satisfy a print service lookup request by another module. However, a print manager that selects and returns a particular print service
It may be desirable to use modules. For example, print manager 190 may select a print service based on which client module makes a print request, or print manager may enter desired print service characteristics for a user. You can display a dialog box asking you to

【0077】コンテイメント・フレームワークは非階層
コンテイメント・モデルを利用するが、図16の階層を
実現することができる。これは、プリント・マネージャ
・モジュール190を、プリント・サービスを要求する
ことができるクライアント・モジュールのモジュール要
求リスナとして登録することによって行う。図17は、
システム内で動作することができるモジュール例198
である。先に述べたように、これらのモジュールはみず
から他のモジュールをサービスとして使用することがで
きる。コンテイメント・フレームワークの非階層モデル
に従って、モジュールを、単層のレイアウトで固有のモ
ジュール階層を使わずに配列して示す。
Although the containment framework utilizes a non-hierarchical containment model, the hierarchy of FIG. 16 can be implemented. This is done by registering the print manager module 190 as a module request listener for a client module that can request print services. FIG.
Example module 198 that can operate within the system
It is. As mentioned earlier, these modules can themselves use other modules as services. According to the non-hierarchical model of the containment framework, the modules are shown arranged in a single-layer layout without using a specific module hierarchy.

【0078】この例では、ウェブ・ブラウザ・モジュー
ル196が、たとえばウェブ・ページを印刷するため
に、印刷要求を行うように動作可能にすることができ
る。図17のように、プリント・マネージャ・モジュー
ル190を、ウェブ・ブラウザ・モジュール196のモ
ジュール要求リスナとして登録することができる。プリ
ント・サービス要求をウェブ・ブラウザ196から受け
取ると、コンテイメント・フレームワーク・ルックアッ
プ・サービスは、ウェブ・ブラウザ・モジュール196
の要求リスナとして登録されたプリント・マネージャ・
モジュール190を見つけることができ、プリント・マ
ネージャ・モジュール190に対して、プリント・サー
ビス・モジュールをウェブ・ブラウザ要求側196へ提
供するように求めることができる。次いで、プリント・
マネージャ・モジュール190が、プリント・サービス
・モジュールA192またはプリント・サービス・モジ
ュールB194への参照を返すことができ、あるいは、
プリント・マネージャ・モジュール190が、ダイアロ
グ・ボックスをユーザに提示して、どのプリント・サー
ビス・モジュールを返すかを判断することができる。し
たがって、図16の所望のモジュール階層を、コンテイ
メント・フレームワークの非階層モジュールのために実
装することができる。
In this example, web browser module 196 may be operable to make a print request, for example, to print a web page. As shown in FIG. 17, the print manager module 190 can be registered as a module request listener of the web browser module 196. Upon receiving a print service request from the web browser 196, the containment framework lookup service causes the web browser module 196
Print manager registered as a request listener for
The module 190 can be found and the print manager module 190 can be requested to provide the print service module to the web browser requestor 196. Then print
The manager module 190 can return a reference to the print service module A 192 or the print service module B 194, or
The print manager module 190 can present a dialog box to the user to determine which print service module to return. Thus, the desired module hierarchy of FIG. 16 can be implemented for non-hierarchical modules of the containment framework.

【0079】図18−パーセル・パッケージ化ユニット モジュールを、パーセルと呼ばれるユニットにパッケー
ジ化することができる。このパッケージ化はいくつかの
目的に役立つ。たとえば、パーセルは、関連するコード
およびデータをユニットとして管理するために好都合な
機構を提供する。密接に関連したモジュールが静的な従
属性を有する場合、これらを共にパーセルにパッケージ
化することができる。パーセルを使用して、システム内
のインストレーションおよびアップグレードを処理する
ことができる。
FIG. 18—Parcel Packaging Unit Modules can be packaged into units called parcels. This packaging serves several purposes. For example, parcels provide a convenient mechanism for managing related code and data as units. If closely related modules have static dependencies, they can be packaged together in a parcel. Parcels can be used to handle installations and upgrades in the system.

【0080】図18は、個人情報マネージャ(PIM)
に関するモジュールを共にグループ化するパーセル例2
00である。この図では、カレンダ・モジュール20
2、コンタクト・リスト・モジュール204、アポイン
トメント・モジュール208、およびユーザ・インタフ
ェース・モジュール206を示す。他の様々なモジュー
ルを、所望するようにパーセル内に存在させることがで
きる。PIMパーセル200のモジュールは、ブックマ
ーク・サービス、検索サービスなど、コンテイメント・
フレームワーク内で動作する様々なコア・サービス・モ
ジュールを使用することもできる。PIMパーセルを使
用すると、PIMアプリケーションのインストレーショ
ンおよびアップグレードを簡素化することができる。P
IMモジュールをこのようにしてパーセルにパッケージ
化すると、多目的な開発のために別々のコード・ユニッ
トを作成する際の開発時間の利点もある。
FIG. 18 shows a personal information manager (PIM).
Parcel example 2 of grouping modules together
00. In this figure, the calendar module 20
2, a contact list module 204, an appointment module 208, and a user interface module 206. Various other modules can be present in the parcel as desired. The modules of the PIM parcel 200 are used for contention services such as bookmark services and search services.
Various core service modules operating within the framework may also be used. The use of a PIM parcel can simplify the installation and upgrade of a PIM application. P
Packaging an IM module in a parcel in this way also has the advantage of development time in creating separate code units for versatile development.

【0081】パーセルは、非階層モジュールのランタイ
ム・コンテキストを提供するための追加の方法も提供す
る。モジュールがシステムにロードされたとき、中央フ
レームワーク・インスタンスは、このモジュールが属す
るパーセルがあればそれを指定するメタデータを格納す
ることができる。サービス・モジュールは後にこの情報
を使用して、異なるクライアント・モジュールに対し、
そのクライアントが属するパーセルに応じて異なる方法
でサービスを提供することができる。たとえば、クライ
アント・モジュールは、ファイル・アクセス・サービス
・モジュールを使用してルート・ディレクトリを得るこ
とができる。ファイル・アクセス・モジュールは、異な
るクライアントに対し、そのクライアントが属するパー
セルに応じて異なるルート・ディレクトリを返すことが
できる。
Parcels also provide additional ways to provide runtime context for non-hierarchical modules. When a module is loaded into the system, the central framework instance can store metadata specifying which parcel the module belongs to, if any. The service module will later use this information for different client modules.
Services can be provided in different ways depending on the parcel to which the client belongs. For example, a client module can use a file access service module to obtain a root directory. The file access module may return different root directories to different clients depending on the parcel to which the client belongs.

【0082】図19−モジュール要求フローチャート 図19は、典型的なルックアップ・プロセスを示すフロ
ーチャートであり、このプロセスでは、中央フレームワ
ーク・インスタンスが、サービス・モジュールへのルッ
クアップ要求をクライアント・モジュールから受け取っ
たときに実行することができる。図19が例示的なもの
であり、様々なステップを結合し、省略し、あるいは修
正することができることに留意されたい。たとえば、先
に述べたように、ルックアップ・プロセスをカスタマイ
ズするシステム・モジュールを追加することができる。
FIG. 19—Module Request Flowchart FIG. 19 is a flowchart illustrating an exemplary lookup process in which the central framework instance issues a lookup request to the service module from the client module. Can be performed when received. Note that FIG. 19 is exemplary, and that the various steps may be combined, omitted, or modified. For example, as described above, a system module that customizes the lookup process can be added.

【0083】図19のステップ300で、中央フレーム
ワーク・インスタンスがモジュール・ルックアップ要求
を要求側モジュールから受け取る。たとえば、要求側モ
ジュールは、中央フレームワーク・インスタンスのRe
questModuleメソッドを呼び出して、要求さ
れているサービス・モジュールのモジュール記述子、な
らびに要求側モジュール自体への参照を渡すことができ
る。要求側モジュールへの参照をシステム・データに追
加して、サービス・モジュール・ユーザの追跡を維持す
ることができる。以下でより詳細に述べるように、他の
モジュールがモジュールを使用していないときは、この
モジュールをアンロードすることができる。
At step 300 of FIG. 19, the central framework instance receives a module lookup request from the requesting module. For example, the requesting module may specify that the central framework instance Re
The requestModule method can be invoked to pass the module descriptor of the service module being requested, as well as a reference to the requesting module itself. A reference to the requesting module can be added to the system data to keep track of the service module user. As described in more detail below, this module can be unloaded when no other module is using the module.

【0084】要求側モジュールによって渡されたモジュ
ール記述子は、要求したモジュールについての様々な属
性を指定し、フレームワーク・インスタンスがこの属性
を使用して、合致するモジュールを見つけようと試みる
ことができる。このモジュール記述子は、要求したモジ
ュールのサービス・タイプ、クラス名、および/または
サービス固有の属性などの情報を含むオブジェクトにす
ることができる。要求側はテキスト記述を中央フレーム
ワーク・インスタンスに渡すこともでき、中央フレーム
ワーク・インスタンスはこの記述を使用して、モジュー
ル記述子オブジェクトを作成することができる。
The module descriptor passed by the requesting module specifies various attributes for the requested module, and the framework instance can use this attribute to attempt to find a matching module. . This module descriptor can be an object that contains information such as the requested module's service type, class name, and / or service-specific attributes. The requestor can also pass the text description to the central framework instance, which can use this description to create a module descriptor object.

【0085】ステップ302で、中央フレームワーク・
インスタンスは、要求リスナ・モジュールが要求モジュ
ールについて登録されているかどうかを検査する。要求
リスナが見つかった場合、ステップ304で、フレーム
ワーク・インスタンスが要求リスナにこの要求を通知
し、要求リスナに対して、モジュール要求記述子に合致
するモジュールを提供しようと試みるように指令する。
要求リスナが合致するモジュールを提供できた場合、実
行はステップ314へ進行する。そうでない場合は、登
録されている他の要求リスナに対して、合致が見つかる
かあるいはそれ以上の要求リスナがなくなるまで、モジ
ュールを提供するように求めることができる。
At step 302, the central framework
The instance checks whether the request listener module is registered for the request module. If a request listener is found, at step 304, the framework instance notifies the request listener of the request and instructs the request listener to attempt to provide a module that matches the module request descriptor.
If the request listener is able to provide a matching module, execution proceeds to step 314. Otherwise, other registered request listeners can be asked to provide the module until a match is found or there are no more request listeners.

【0086】要求リスナが見つからなかった場合、ある
いはどの要求リスナも要求されたモジュールを提供でき
なかった場合、実行はステップ306へ進行する。しか
し、一実施形態では、1つまたは複数の要求リスナが要
求モジュールについて登録されており、そのうちのいず
れも合致するモジュールを提供できなかった場合、実行
はステップ304の後で停止することがある。ステップ
306で、中央フレームワーク・インスタンスがモジュ
ールのリストを検査して、モジュールの1つがモジュー
ル記述子に合致するかどうかを判定する。合致が見つか
った場合、ステップ308で、フレームワーク・インス
タンスが、合致したモジュールがマルチ・インスタンス
化可能かどうかを検査する。そうでない場合、実行はス
テップ314へ進行する。
If no request listener was found, or if none of the request listeners could provide the requested module, execution proceeds to step 306. However, in one embodiment, execution may stop after step 304 if one or more request listeners are registered for the request module, none of which could provide a matching module. At step 306, the central framework instance examines the list of modules to determine if one of the modules matches the module descriptor. If a match is found, at step 308, the framework instance checks whether the matched module is multi-instantiable. Otherwise, execution proceeds to step 314.

【0087】ステップ308で、合致したモジュールが
マルチ・インスタンス化可能であることが分かった場
合、中央フレームワーク・インスタンスは合致を求めて
モジュール・リストの探索を継続することができる。探
索するモジュールがそれ以上なくなった場合、実行はス
テップ310へ進行する。ステップ310で、フレーム
ワーク・インスタンスがモジュール提供側モジュールを
モジュール・リスト内で探索する。モジュール提供側モ
ジュールは、要求されたモジュールを提供することがで
きるモジュールである。たとえば、ネットワーク・ルッ
クアップ・サービスを、コンテイメント・フレームワー
ク用のモジュール提供側モジュールとしてインポートす
ることができる。
If step 308 finds that the matched module is multi-instantiable, the central framework instance can continue to search the module list for a match. If there are no more modules to search, execution proceeds to step 310. At step 310, the framework instance searches for a module provider module in the module list. The module providing module is a module that can provide the requested module. For example, a network lookup service can be imported as a module provider module for the containment framework.

【0088】モジュール提供側モジュールが見つかった
場合、ステップ312で、中央フレームワーク・インス
タンスがモジュール提供側モジュールに要求を通知し、
モジュール要求記述子に合致するモジュールを提供しよ
うと試みるように指令する。合致が見つかった場合、実
行はステップ314へ進行する。モジュール提供側が要
求されたモジュールを提供できなかった場合、中央フレ
ームワーク・インスタンスは他のモジュール提供側モジ
ュールを探索して、ステップ312を繰り返すことがで
きる。モジュール提供側がモジュール・リスト内に存在
しない場合、あるいはいずれも要求されたモジュールを
提供できなかった場合、要求側に、この要求を満たすこ
とができないことが通知され、実行が完了する。
If a module providing module is found, at step 312 the central framework instance notifies the module providing module of the request,
Directs an attempt to provide a module that matches the module request descriptor. If a match is found, execution proceeds to step 314. If the module provider fails to provide the requested module, the central framework instance may search for another module provider module and repeat step 312. If the module provider is not in the module list, or if none of the requested modules can be provided, the requester is notified that this request cannot be satisfied and execution is complete.

【0089】ステップ314には、ステップ304、3
08または312から到達することができる。すべての
場合において、モジュール要求記述子に合致するモジュ
ールが見つけられる。ステップ314で、要求側は合致
したモジュールのユーザとして登録され、ステップ31
6で、合致したモジュールへの参照が要求側に返され
る。合致したモジュールのロードおよび初期化に含まれ
る、いかなる必要な初期化ステップも、ステップ314
で実行される。たとえば、モジュールは、モジュールが
ロードされたときに呼び出されるInitialize
メソッドを有することができる。
Step 314 includes steps 304 and 3
08 or 312. In all cases, a module matching the module request descriptor is found. In step 314, the requester is registered as a user of the matching module, and
At 6, a reference to the matched module is returned to the requestor. Any necessary initialization steps involved in loading and initializing the matched module are included in step 314.
Executed in For example, the module may be initialized when the module is loaded.
Can have methods.

【0090】上述のように、図19のフローチャートは
例示的なものであり、様々な実施形態が異なるルックア
ップ/ロード・シナリオを有することができる。たとえ
ば、モジュールは、中央フレームワーク・メソッドを呼
び出して、合致したモジュールへの参照を返すことなく
サービス・モジュールをロードすることができ、あるい
はいくつかの場合で要求リスナを無視することができ
る。
As mentioned above, the flowchart of FIG. 19 is exemplary, and various embodiments may have different look-up / load scenarios. For example, a module may call a central framework method to load a service module without returning a reference to the matched module, or may ignore the request listener in some cases.

【0091】図20−モジュール解放フローチャート クライアント・モジュールがサービス・モジュールを使
用し終えたとき、クライアントは中央フレームワーク・
インスタンスのメソッドを呼び出して、このモジュール
を解放することができる。図20は、モジュール解放プ
ロセスを示すフローチャートである。図20のフローチ
ャートは例示的なものであり、異なる実施形態につい
て、必要であるように、あるいは所望するように、様々
なステップを結合し、省略し、追加し、あるいは修正す
ることができる。
FIG. 20—Module Release Flowchart When the client module has finished using the service module, the client returns to the central framework module.
You can release this module by calling an instance method. FIG. 20 is a flowchart showing the module release process. The flowchart of FIG. 20 is exemplary, and various steps may be combined, omitted, added, or modified as needed or desired for different embodiments.

【0092】ステップ330で、中央フレームワーク・
インスタンスは、モジュール解放通知をユーザ・モジュ
ールから受け取る。図19について先に述べたように、
ユーザ・モジュールがサービス・モジュールを要求した
とき、ユーザ・モジュールがサービス・モジュールのユ
ーザのリストに追加される。ステップ332で、中央フ
レームワーク・インスタンスが、解放するユーザ・モジ
ュールを、解放されるモジュールのユーザのリストから
削除する。ステップ334で、フレームワーク・インス
タンスは、他のユーザ・モジュールがこの解放されるモ
ジュールを使用中であるかどうかを判定する。この判定
は、たとえば、他のモジュールが解放モジュールのユー
ザ・モジュール・リスト内に存在するかどうかを検査す
ることによって行う。そうである場合、実行が停止す
る。
At step 330, the central framework
The instance receives a module release notification from the user module. As described above with reference to FIG.
When a user module requests a service module, the user module is added to the list of users of the service module. At step 332, the central framework instance deletes the user module to be released from the list of users of the module to be released. At step 334, the framework instance determines whether another user module is using the released module. This determination is made, for example, by checking whether another module is present in the user module list of the release module. If so, execution stops.

【0093】他のモジュールが、解放されるモジュール
を使用中でない場合、中央フレームワーク・インスタン
スは、解放されるモジュールをアンロードしようと試み
ることができる。ステップ336で、フレームワーク・
インスタンスは、解放されるモジュールのCanFin
alizeメソッドを呼び出すことができる。CanF
inalizeメソッドは、このモジュールをアンロー
ドできる場合にtrueを返し、そうでない場合にfa
lseを返す。ステップ336で、CanFinali
zeメソッドがfalseを返した場合、実行が停止す
る。そうでない場合、解放されるモジュールのFina
lizeメソッドを呼び出すことができる。Final
izeメソッドは、リソースの解放など、モジュールの
アンロードに必要ないかなるステップも実行することが
できる。次いで、このモジュールをアンロードすること
ができ、特定の実施形態に応じてこれにガベージ・コレ
クションなどを含めることができる。
If no other module is using the released module, the central framework instance can attempt to unload the released module. In step 336, the framework
The instance is the CanFin of the module to be released
You can call the align method. CanF
The initialize method returns true if this module can be unloaded; otherwise, fa
Returns 1se. In step 336, the CanFinali
If the ze method returns false, execution stops. Otherwise, the Fina of the module to be released
The raise method can be called. Final
The size method can perform any steps required to unload the module, such as releasing resources. This module can then be unloaded, which can include garbage collection, etc., depending on the particular embodiment.

【0094】本発明を特定の実施形態と共に説明した
が、本明細書に述べた特定の形式に限定することを意図
するものでなく、逆に、添付の特許請求の範囲によって
定義された本発明の精神および範囲内に適度に含めるこ
とができるような代替物、修正および均等物を包含する
ことを意図するものである。
Although the invention has been described in conjunction with specific embodiments, it is not intended to be limited to the specific form set forth herein, but rather, that the invention be defined by the appended claims. It is intended to cover alternatives, modifications and equivalents as may be reasonably included within the spirit and scope of the invention.

【図面の簡単な説明】[Brief description of the drawings]

【図1】後で使用できるように入力文字列のリストを入
力して記憶する処理を示す流れ図である。
FIG. 1 is a flowchart illustrating a process of inputting and storing a list of input character strings for later use.

【図2】事前に作成された入力文字列のリストを使用し
てアプリケーション・プログラムまたはサービスへの入
力を提供する処理を示す流れ図である。
FIG. 2 is a flow diagram illustrating a process for providing input to an application program or service using a list of input strings created in advance.

【図3】事前に作成された入力文字列のリストを使用し
てウェブ・ブラウザ内のHTMLまたはXLMフォーム
への入力を提供する処理を示す流れ図である。
FIG. 3 is a flowchart illustrating a process for providing input to an HTML or XLM form in a web browser using a pre-created list of input strings.

【図4】入力フィールドを含む通常のHTMLフォーム
を示す図である。
FIG. 4 is a diagram showing a normal HTML form including an input field.

【図5】ユーザが入力フィールド用の入力文字列を選択
すること可能にする追加のユーザ・インタフェース・コ
ントロールを備えた図4のHTMLフォームを示す図で
ある。
FIG. 5 illustrates the HTML form of FIG. 4 with additional user interface controls that allow a user to select an input string for an input field.

【図6】ユーザが対応する入力フィールド用のユーザ・
インタフェース・コントロールを操作する時に表示され
るドロップ・ダウン・リストを示す図である。
FIG. 6 shows a user for an input field corresponding to the user.
FIG. 6 is a diagram illustrating a drop-down list displayed when operating an interface control.

【図7】ユーザがフィールドのための入力文字列を選択
した後の図5のHTMLフォームを示す図である。
FIG. 7 shows the HTML form of FIG. 5 after the user has selected an input string for a field.

【図8】通常の小フットプリント・デバイスのハードウ
ェア・アーキテクチャを示すブロック図である。
FIG. 8 is a block diagram illustrating the hardware architecture of a typical small footprint device.

【図9】コンテイメント・フレームワーク内でアプリケ
ーションおよびサービスを実行するシステム内に含まれ
るハードウェア/ソフトウェア層の通常の階層を示す図
である。
FIG. 9 illustrates a typical hierarchy of hardware / software layers included in a system executing applications and services within the containment framework.

【図10】コンテイメント・フレームワーク内でアプリ
ケーション/サービスを実行する小フットプリント・デ
バイスがローカル・サービス・ベースのネットワークに
接続される例示的ネットワークを示す図である。
FIG. 10 illustrates an exemplary network in which small footprint devices executing applications / services within the containment framework are connected to a local service based network.

【図11】サービス・プロバイダがルックアップ・サー
ビスを検索する検索処理を示す図である。
FIG. 11 is a diagram illustrating a search process in which a service provider searches for a lookup service.

【図12】サービス・プロバイダがそのサービスをルッ
クアップ・サービスに登録する結合処理を示す図であ
る。
FIG. 12 is a diagram illustrating a joining process in which a service provider registers the service with a lookup service.

【図13】クライアントがルックアップ・サービスにサ
ービスを要求するルックアップ処理を示す図である。
FIG. 13 is a diagram illustrating a lookup process in which a client requests a service from a lookup service.

【図14】クライアントがルックアップ・サービスから
受け取ったサービス・オブジェクトを用いてサービスを
起動するサービス起動処理を示す図である。
FIG. 14 is a diagram illustrating a service activation process in which a client activates a service using a service object received from a lookup service.

【図15】コンテイメント・フレームワークの基本アー
キテクチャを示すブロック図である。
FIG. 15 is a block diagram showing the basic architecture of the containment framework.

【図16】階層コンテイメント環境をシミュレーション
するコンテイメント・フレームワーク内のモジュール要
求リスナの使用を示す図である。
FIG. 16 illustrates the use of a module request listener in a containment framework to simulate a hierarchical containment environment.

【図17】階層コンテイメント環境をシミュレーション
するコンテイメント・フレームワーク内のモジュール要
求リスナの使用を示す図である。
FIG. 17 illustrates the use of a module request listener in a containment framework to simulate a hierarchical containment environment.

【図18】モジュールをグループ化するパーセルの使用
を示す図である。
FIG. 18 illustrates the use of parcels to group modules.

【図19】セントラル・フレームワーク・インスタンス
がクライアント・モジュールからサービス・モジュール
のルックアップ要求を受け取った時に実行可能な通常の
ルックアップ処理を示す図である。
FIG. 19 illustrates a normal lookup process that can be performed when a central framework instance receives a service module lookup request from a client module.

【図20】モジュール解放処理を示す流れ図である。FIG. 20 is a flowchart showing module release processing.

【符号の説明】[Explanation of symbols]

100 プロセッサ 102 メモリ 104 入力機構 106 ディスプレイ 120 ハードウェア 122 オペレーティング・システム 124 Java仮想マシン 126 Java APIクラス・ライブラリ 128 コンテイメント・フレームワーク 130 オンデバイス・アプリケーション/サービス 130 プリンタ 132 インターネット・テレビジョン 132 オフデバイス・サービス 134 「高性能」携帯電話 136 ルックアップ・サービス 140 ウェブ・サービス 142 コンテイメント・フレームワーク・インタフェ
ース 144 コンテイメント・フレームワーク 146 ルックアップ・サービス 148 ウェブ・ブラウザ 150 電子メール・クライアント 152 パーソナル・オーガナイザ 154 インターネット 160 ルックアップ・サービス 162 クライアント 164 サービス・プロバイダ 190 プリント・マネージャ 190 プリント・マネージャ 192 プリント・サービスA 192 プリント・サービスA 194 プリント・サービスB 196 ウェブ・ブラウザ 198 アプリケーション/サービス・モジュール 200 パーソナル情報マネージャ・パーセル 202 カレンダ・モジュール 204 連絡リスト・モジュール 206 ユーザ・インタフェース・モジュール 208 アポイントメント・モジュール
REFERENCE SIGNS LIST 100 processor 102 memory 104 input mechanism 106 display 120 hardware 122 operating system 124 Java virtual machine 126 Java API class library 128 containment framework 130 on-device application / service 130 printer 132 internet television 132 off-device Services 134 "High Performance" Cell Phones 136 Lookup Services 140 Web Services 142 Containment Framework Interface 144 Containment Framework 146 Lookup Services 148 Web Browser 150 Email Client 152 Personal Organizer 154 Internet 160 Look Top service 162 Client 164 Service provider 190 Print manager 190 Print manager 192 Print service A 192 Print service A 194 Print service B 196 Web browser 198 Application / service module 200 Personal information manager parcel 202 Calendar module 204 Contact list module 206 User interface module 208 Appointment module

─────────────────────────────────────────────────────
────────────────────────────────────────────────── ───

【手続補正書】[Procedure amendment]

【提出日】平成12年8月14日(2000.8.1
4)
[Submission date] August 14, 2000 (2000.8.1)
4)

【手続補正1】[Procedure amendment 1]

【補正対象書類名】図面[Document name to be amended] Drawing

【補正対象項目名】全図[Correction target item name] All figures

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【図1】 FIG.

【図2】 FIG. 2

【図3】 FIG. 3

【図4】 FIG. 4

【図5】 FIG. 5

【図16】 FIG. 16

【図6】 FIG. 6

【図7】 FIG. 7

【図8】 FIG. 8

【図9】 FIG. 9

【図10】 FIG. 10

【図11】 FIG. 11

【図12】 FIG.

【図13】 FIG. 13

【図14】 FIG. 14

【図17】 FIG.

【図18】 FIG.

【図15】 FIG.

【図19】 FIG.

【図20】 FIG.

───────────────────────────────────────────────────── フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 ジョン・クリスウィック カナダ国・ケイ1エヌ 5ジイ3・オンタ リオ州・オタワ・セント アンドリュー ストリート・153 ────────────────────────────────────────────────── ─── Continuation of the front page (71) Applicant 591064003 901 SAN ANTONIO ROAD PALO ALTO, CA 94303, US A. (72) The Inventor John Chriswick Canada 1K 5J3 Ontario Ottawa St Andrew Street 153

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 小フットプリント・デバイス上で実行さ
れるコンピュータ・プログラムの入力フィールドにテキ
ストを入力する方法であって、 ユーザが入力文字列のリストを作成するステップと、 前記入力文字列のリストを記憶するステップとを含み、 前記コンピュータ・プログラムによってユーザ・インタ
フェース・コントロールが前記入力フィールド付近に表
示され、 前記コンピュータ・プログラムによって、ユーザの前記
ユーザ・インタフェース・コントロールの操作に応答し
て入力文字列の選択可能なリストが表示され、前記選択
可能なリストが入力文字列の前記リストを含み、 ユーザが前記選択可能なリストから文字列を選択し、 前記コンピュータ・プログラムによって、ユーザによっ
て選択された前記文字列が前記入力フィールドに配置さ
れる方法。
1. A method for inputting text into an input field of a computer program running on a small footprint device, comprising the steps of: creating a list of input strings by a user; Storing a user interface control near the input field by the computer program, wherein the computer program causes an input character string in response to a user operation of the user interface control by the computer program. A selectable list is displayed, the selectable list includes the list of input strings, a user selects a character string from the selectable list, and the computer program selects the character string. The character string is How to be placed in the field.
【請求項2】 ユーザが請求項1に記載の前記コンピュ
ータ・プログラムとは別個のコンピュータ・プログラム
を用いて入力文字列の前記リストを作成する請求項1に
記載の方法。
2. The method of claim 1, wherein the user creates the list of input strings using a computer program separate from the computer program of claim 1.
【請求項3】 前記コンピュータ・プログラムがウェブ
・ページを表示するために操作できるプログラムで、前
記入力フィールドがマークアップ・ランゲージ・フォー
ムの入力フィールドである請求項1に記載の方法。
3. The method of claim 1, wherein the computer program is operable to display a web page, and wherein the input field is a markup language form input field.
【請求項4】 前記マークアップ・ランゲージがHTM
Lである請求項3に記載の方法。
4. The markup language is an HTM.
4. The method of claim 3, wherein L is L.
【請求項5】 ユーザが前記コンピュータ・プログラム
にウェブ・ページを表示するように要求するステップを
さらに含み、前記ウェブ・ページがマークアップ・ラン
ゲージ・フォームの入力フィールドを備えたマークアッ
プ・ランゲージ・フォームを含み、前記入力フィールド
付近にユーザ・インタフェース・コントロールを配置す
る前記コンピュータ・プログラムが、 前記コンピュータ・プログラムが前記ウェブ・ページを
解析し、前記マークアップ・ランゲージ・フォームの入
力フィールドを検出するステップと、 前記コンピュータ・プログラムが前記マークアップ・ラ
ンゲージ・フォームの入力フィールドの脇に前記ウェブ
・ページへの前記ユーザ・インタフェース・コントロー
ルを追加するステップと、 前記コンピュータ・プログラムが追加された前記ユーザ
・インタフェース・コントロールで前記ウェブ・ページ
を表示するステップとを含む請求項3に記載の方法。
5. A markup language form comprising a user requesting the computer program to display a web page, the web page comprising a markup language form input field. The computer program locating a user interface control near the input field, the computer program analyzing the web page and detecting an input field of the markup language form. The computer program adding the user interface control to the web page beside an input field of the markup language form; Displaying the web page with the user interface control to which a ram has been added.
【請求項6】 前記マークアップ・ランゲージがHTM
Lである請求項5に記載の方法。
6. The markup language is an HTM.
The method of claim 5, wherein L is L.
【請求項7】 ユーザが前記ユーザ・インタフェース・
コントロールを操作するステップが、ユーザが前記ユー
ザ・インタフェース・コントロールをクリックするステ
ップを含む求項1に記載の方法。
7. The method according to claim 1, wherein the user is the user interface user.
The method of claim 1 wherein manipulating controls comprises a user clicking on the user interface control.
【請求項8】 小フットプリント・デバイス上で実行さ
れるプログラムの入力フィールドに入力文字列を入力す
るシステムであって、 プロセッサおよびシステム・メモリを含む小フットプリ
ント・デバイスと、 前記システム・メモリ内に記憶されたソフトウェア実行
環境であって、ソフトウェア・フレームワークが前記ソ
フトウェア実行環境で実行され、前記ソフトウェア・フ
レームワークがコンピュータ・サービスを実施するため
に実行可能なプログラム・モジュールをサポートするソ
フトウェア実行環境と、 前記ソフトウェア・フレームワーク上に構築された第1
のプログラム・モジュールであって、ユーザが入力文字
列のリストを作成して記憶することを可能にする第1の
プログラム・モジュールと、 前記ソフトウェア・フレームワーク上に構築された第2
のプログラム・モジュールであって、前記第2のプログ
ラム・モジュールを操作して前記小フットプリント・デ
バイスのユーザへのユーザ・インタフェースを表示で
き、前記ユーザ・インタフェースが入力フィールドを含
み、前記ユーザ・インタフェースが前記入力フィールド
付近にユーザ・インタフェース・コントロールをさらに
含み、ユーザの前記ユーザ・インタフェース・コントロ
ールの操作に応答して、前記ユーザ・インタフェース・
コントロールを操作して入力文字列の前記リストを含む
選択可能なリストを表示できる第2のプログラム・モジ
ュールとを含むシステム。
8. A system for inputting an input character string into an input field of a program executed on a small footprint device, comprising: a small footprint device including a processor and a system memory; A software execution environment stored in the software execution environment, wherein the software framework executes in the software execution environment and the software framework supports program modules executable to perform computer services. And the first built on the software framework
A first program module that allows a user to create and store a list of input strings, and a second program module built on the software framework.
A program interface for operating the second program module to display a user interface to a user of the small footprint device, the user interface including an input field, the user interface comprising: Further includes a user interface control near the input field, wherein the user interface control is responsive to a user operation of the user interface control.
A second program module capable of operating a control to display a selectable list including said list of input strings.
【請求項9】 前記小フットプリント・デバイスが、パ
ーソナル・データ・アシスタント(PDA)、携帯電
話、および全地球衛星測位システム(GPS)受信機か
らなるグループに属する小フットプリント・デバイスで
ある請求項8に記載のシステム。
9. The small footprint device is a small footprint device belonging to the group consisting of a personal data assistant (PDA), a cellular phone, and a global satellite positioning system (GPS) receiver. 9. The system according to 8.
JP2000176815A 1999-06-15 2000-06-13 Form shortcut for application program of small foot print device Pending JP2001042987A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33362499A 1999-06-15 1999-06-15
US09/333624 1999-06-15

Publications (1)

Publication Number Publication Date
JP2001042987A true JP2001042987A (en) 2001-02-16

Family

ID=23303579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000176815A Pending JP2001042987A (en) 1999-06-15 2000-06-13 Form shortcut for application program of small foot print device

Country Status (1)

Country Link
JP (1) JP2001042987A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012230514A (en) * 2011-04-26 2012-11-22 Konica Minolta Business Technologies Inc Image formation apparatus and computer program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012230514A (en) * 2011-04-26 2012-11-22 Konica Minolta Business Technologies Inc Image formation apparatus and computer program

Similar Documents

Publication Publication Date Title
AU762637B2 (en) Just-in-time services for small footprint devices
JP4995367B2 (en) High performance bookmarks for small footprint device applications
US6993570B1 (en) System and method for pushing personalized content to small footprint devices
US6675351B1 (en) Table layout for a small footprint device
CA2495024C (en) System and method for adaptable provisioning of generic application content
US7472157B2 (en) Architecture for a system of portable information agents
EP2042989A1 (en) System and method for extending a component-based application platform with custom services
EP1818820A1 (en) System and method for installing custom services on a component-based application platform
JP2001043125A (en) Caching for reducing web page on small footprint device
US20050172281A1 (en) System and method for customized provisioning of application content
JP2001042987A (en) Form shortcut for application program of small foot print device
AU761686B2 (en) Integration of small footprint device applications and services with network-based services
US20140108564A1 (en) Architecture for a system of portable information agents
EP1560114A1 (en) Computer system and method for customized provisioning of application content
EP1560115A1 (en) Computer system and method for adaptable provisioning of generic application content