JP2003186665A - 拡張性のあるグラフィカルユーザインターフェイスアーキテクチャ - Google Patents
拡張性のあるグラフィカルユーザインターフェイスアーキテクチャInfo
- Publication number
- JP2003186665A JP2003186665A JP2002281829A JP2002281829A JP2003186665A JP 2003186665 A JP2003186665 A JP 2003186665A JP 2002281829 A JP2002281829 A JP 2002281829A JP 2002281829 A JP2002281829 A JP 2002281829A JP 2003186665 A JP2003186665 A JP 2003186665A
- Authority
- JP
- Japan
- Prior art keywords
- user interface
- graphical user
- device platform
- sgui
- component
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
Abstract
(57)【要約】
【課題】 装置プラットフォーム独立型のアプリケーシ
ョングラフィカルユーザインターフェイスを、複数の異
種装置プラットフォーム用の表示画面へスケーリングす
る拡張性のあるグラフィカルユーザインターフェイスア
ーキテクチャが開示されている。 【解決手段】 アプリケーショングラフィカルユーザイ
ンターフェイスの中間表示のインスタンスを作るため、
装置プラットフォーム独立型のアプリケーショングラフ
ィカルユーザインターフェイスは動作する。カスタマイ
ジングモジュールは、異種装置プラットフォームの機能
として、中間表示をカスタマイズする。当該異種装置プ
ラットフォームの表示画面上に、装置プラットフォーム
依存型のアプリケーショングラフィカルユーザインター
フェイスを作るために、レンダーマネージャモジュール
は中間表示を移動させる。
ョングラフィカルユーザインターフェイスを、複数の異
種装置プラットフォーム用の表示画面へスケーリングす
る拡張性のあるグラフィカルユーザインターフェイスア
ーキテクチャが開示されている。 【解決手段】 アプリケーショングラフィカルユーザイ
ンターフェイスの中間表示のインスタンスを作るため、
装置プラットフォーム独立型のアプリケーショングラフ
ィカルユーザインターフェイスは動作する。カスタマイ
ジングモジュールは、異種装置プラットフォームの機能
として、中間表示をカスタマイズする。当該異種装置プ
ラットフォームの表示画面上に、装置プラットフォーム
依存型のアプリケーショングラフィカルユーザインター
フェイスを作るために、レンダーマネージャモジュール
は中間表示を移動させる。
Description
【0001】
【発明の属する技術分野】本発明は、グラフィカルユー
ザインターフェイス(GUI)、特に異種装置プラットフォ
ームのユーザインターフェイスにアプリケーションを適
合させる拡張性のあるGUIアーキテクチャに関する。
ザインターフェイス(GUI)、特に異種装置プラットフォ
ームのユーザインターフェイスにアプリケーションを適
合させる拡張性のあるGUIアーキテクチャに関する。
【0002】
【従来の技術】パソコンや、個人情報端末(PDA)、無線
電話やページャーなどの個人向けの電子装置が、ここ近
年流行している。これらの装置は、無線やワイヤーライ
ンネットワークとの通信によりモバイルコンピューティ
ングを可能にしている。ネットワークは、他の装置同様
に、情報ソースとこれらの装置との相互接続を提供して
いる。有名なのは、インターネット上での通信である。
電話やページャーなどの個人向けの電子装置が、ここ近
年流行している。これらの装置は、無線やワイヤーライ
ンネットワークとの通信によりモバイルコンピューティ
ングを可能にしている。ネットワークは、他の装置同様
に、情報ソースとこれらの装置との相互接続を提供して
いる。有名なのは、インターネット上での通信である。
【0003】モバイルコンピューティング装置は、いく
つかのユーザインターフェイス(UI)の様式を含んでい
る。装置におけるユーザインターフェイスの本質は、処
理能力と装置に設けられたハードウェアの関数である。
例えば、無線電話は、限られた処理能力と、限られたグ
ラフィックとユーザインターフェイス能力しか持たない
比較的小さなグラフィカルユーザインターフェイス(GU
I)とを持っている。逆に、ノートパソコンは、相対的
に拡張性のあるグラフィック能力とユーザインターフェ
イス能力、そして処理能力を持っている。携帯装置の人
気が高まるに連れて、アプリケーションのメインプラッ
トフォームは、デスクトップのパソコンから携帯装置へ
とシフトする可能性がある。
つかのユーザインターフェイス(UI)の様式を含んでい
る。装置におけるユーザインターフェイスの本質は、処
理能力と装置に設けられたハードウェアの関数である。
例えば、無線電話は、限られた処理能力と、限られたグ
ラフィックとユーザインターフェイス能力しか持たない
比較的小さなグラフィカルユーザインターフェイス(GU
I)とを持っている。逆に、ノートパソコンは、相対的
に拡張性のあるグラフィック能力とユーザインターフェ
イス能力、そして処理能力を持っている。携帯装置の人
気が高まるに連れて、アプリケーションのメインプラッ
トフォームは、デスクトップのパソコンから携帯装置へ
とシフトする可能性がある。
【0004】
【発明が解決しようとする課題】携帯装置のアプリケー
ションを進化させるのが難しい1つの理由は、装置の不
統一性である。多岐にわたるディスプレイのサイズ、解
像度、入力方法、そしてGUIライブラリにより、アプリ
ケーションの開発者は、装置プラットフォームのグラフ
ィカルユーザインターフェイス(GUI)用のアプリケーシ
ョンを再デザインし、かつ再実装する必要がある。たく
さんの異なる携帯装置が利用され、または市場に参入す
ることにより、新たなデザイン化と再実装化が進んでお
り、労働力とコストの削減が叫ばれている。
ションを進化させるのが難しい1つの理由は、装置の不
統一性である。多岐にわたるディスプレイのサイズ、解
像度、入力方法、そしてGUIライブラリにより、アプリ
ケーションの開発者は、装置プラットフォームのグラフ
ィカルユーザインターフェイス(GUI)用のアプリケーシ
ョンを再デザインし、かつ再実装する必要がある。たく
さんの異なる携帯装置が利用され、または市場に参入す
ることにより、新たなデザイン化と再実装化が進んでお
り、労働力とコストの削減が叫ばれている。
【0005】1つの解決策は、モデルベースの技術によ
る開発である。1つの例が、ユーザインターフェイスモ
デリングである。一般的に、ユーザインターフェイスモ
デリングは、プラットフォームモデル、プレゼンテーシ
ョンモデル、そしてタスクモデルを含む。プラットフォ
ームモデルは、サポートされる装置用のユーザインター
フェイスを形成する操作機能を表している。プレゼンテ
ーションモデルは、サポート装置に対応付けられたユー
ザインターフェイスの外観に関する階層、様式的な選択
と配置を表している。タスクモデルは、サポートデバイ
スのユーザが実行するタスクを表している。異なるモデ
ル間におけるマッピングが、特定の装置用のインターフ
ェイスを作るために開発されている。
る開発である。1つの例が、ユーザインターフェイスモ
デリングである。一般的に、ユーザインターフェイスモ
デリングは、プラットフォームモデル、プレゼンテーシ
ョンモデル、そしてタスクモデルを含む。プラットフォ
ームモデルは、サポートされる装置用のユーザインター
フェイスを形成する操作機能を表している。プレゼンテ
ーションモデルは、サポート装置に対応付けられたユー
ザインターフェイスの外観に関する階層、様式的な選択
と配置を表している。タスクモデルは、サポートデバイ
スのユーザが実行するタスクを表している。異なるモデ
ル間におけるマッピングが、特定の装置用のインターフ
ェイスを作るために開発されている。
【0006】モデルベース型アプローチの実行は、モデ
ルを実行するためのハイレベルランゲージを含んでい
る。さらに開発者は、装置をサポートするために、モデ
ルの重要な一部分を作り、特定する。ハイレベルランゲ
ージは非常に複雑なので、モデルベース型アプローチを
実行する前に、開発者は、実行メカニズムの知識と共に
ハイレベルランゲージを学ぶ必要がある。さらに、モデ
ルベース型アプローチは、開発者が作った異なるモデル
に基づくコードを作成する。装置のユーザインターフェ
イス規定における小さな差異でも、結果として、2つの
似たタイプの装置用に生成されたコードにおいて、大き
な差異を生み出すこともある。従って、開発者が求めら
れるプログラミング技能の水準は、とても重要である。
ルを実行するためのハイレベルランゲージを含んでい
る。さらに開発者は、装置をサポートするために、モデ
ルの重要な一部分を作り、特定する。ハイレベルランゲ
ージは非常に複雑なので、モデルベース型アプローチを
実行する前に、開発者は、実行メカニズムの知識と共に
ハイレベルランゲージを学ぶ必要がある。さらに、モデ
ルベース型アプローチは、開発者が作った異なるモデル
に基づくコードを作成する。装置のユーザインターフェ
イス規定における小さな差異でも、結果として、2つの
似たタイプの装置用に生成されたコードにおいて、大き
な差異を生み出すこともある。従って、開発者が求めら
れるプログラミング技能の水準は、とても重要である。
【0007】
【問題を解決するための手段】本発明では、ノンモデル
ベース型の拡張性のあるグラフィカルユーザインターフ
ェイス(SGUI)アーキテクチャを開示している。SGUIア
ーキテクチャにより、拡張性のあるアプリケーション
が、複数の異種装置プラットフォーム上において動作す
ることができる。拡張性のあるアプリケーションは、グ
ラフィカルユーザインターフェイス(GUI)アプリケー
ションを含んでもよい。アプリケーションGUIは、拡張
性のあるアプリケーションが動いている異種装置プラッ
トフォームの中の1つのユーザインターフェイスで動く
SGUIアーキテクチャに適合していてもよい。アプリケー
ション開発者は、モデルベース型のアプローチの複雑さ
を伴わない異種装置プラットフォーム内において、ユー
ザインターフェイス機能から独立している複数のアプリ
ケーションGUIを作ってもよい。さらに、異なる異種装
置プラットフォームに対応付けられたユーザインターフ
ェイスとGUIライブラリの複雑さも、SGUIアーキテクチ
ャを利用しているアプリケーション開発者により解消さ
れることが可能になる。
ベース型の拡張性のあるグラフィカルユーザインターフ
ェイス(SGUI)アーキテクチャを開示している。SGUIア
ーキテクチャにより、拡張性のあるアプリケーション
が、複数の異種装置プラットフォーム上において動作す
ることができる。拡張性のあるアプリケーションは、グ
ラフィカルユーザインターフェイス(GUI)アプリケー
ションを含んでもよい。アプリケーションGUIは、拡張
性のあるアプリケーションが動いている異種装置プラッ
トフォームの中の1つのユーザインターフェイスで動く
SGUIアーキテクチャに適合していてもよい。アプリケー
ション開発者は、モデルベース型のアプローチの複雑さ
を伴わない異種装置プラットフォーム内において、ユー
ザインターフェイス機能から独立している複数のアプリ
ケーションGUIを作ってもよい。さらに、異なる異種装
置プラットフォームに対応付けられたユーザインターフ
ェイスとGUIライブラリの複雑さも、SGUIアーキテクチ
ャを利用しているアプリケーション開発者により解消さ
れることが可能になる。
【0008】SGUIアーキテクチャは、拡張性のあるGUI
ライブラリ、カスタマイジングモジュール、そしてレン
ダーマネージャモジュールを含んでいる。カスタマイジ
ングモジュールは、タスクマネージャモジュールと変換
マネージャモジュールを含んでいる。拡張性のあるアプ
リケーションが起動、または異種装置プラットフォーム
(ここでは、ターゲット装置プラットフォーム)へ移る
と、アプリケーションGUIの中間表示が、拡張性のある
アプリケーションによりインスタンス化される。その中
間表示は、階層的な構造において、少なくとも1つの論
理パネルと少なくとも1つのグラフィカルユーザインタ
ーフェイス(GUI)コンポーネントの表示を含んでもよ
い装置プラットフォーム独立型の論理構造である。中間
表示内におけるノードは、論理パネルを表すコンテナノ
ードと、グラフィカルユーザインターフェイスコンポー
ネントを表すコンポーネントノードを含んでもよい。
ライブラリ、カスタマイジングモジュール、そしてレン
ダーマネージャモジュールを含んでいる。カスタマイジ
ングモジュールは、タスクマネージャモジュールと変換
マネージャモジュールを含んでいる。拡張性のあるアプ
リケーションが起動、または異種装置プラットフォーム
(ここでは、ターゲット装置プラットフォーム)へ移る
と、アプリケーションGUIの中間表示が、拡張性のある
アプリケーションによりインスタンス化される。その中
間表示は、階層的な構造において、少なくとも1つの論
理パネルと少なくとも1つのグラフィカルユーザインタ
ーフェイス(GUI)コンポーネントの表示を含んでもよ
い装置プラットフォーム独立型の論理構造である。中間
表示内におけるノードは、論理パネルを表すコンテナノ
ードと、グラフィカルユーザインターフェイスコンポー
ネントを表すコンポーネントノードを含んでもよい。
【0009】中間表示は、アプリケーションGUIのアプ
リケーション開発者により特定されたプロパティと同様
に、ターゲット装置プラットフォームの機能に基づいた
カスタマイジングモジュールによりカスタマイズされた
ものであってもよい。中間表示のカスタマイゼーション
により、装置プラットフォーム独立型の論理構造は、装
置プラットフォームの依存型論理構造に変わる。
リケーション開発者により特定されたプロパティと同様
に、ターゲット装置プラットフォームの機能に基づいた
カスタマイジングモジュールによりカスタマイズされた
ものであってもよい。中間表示のカスタマイゼーション
により、装置プラットフォーム独立型の論理構造は、装
置プラットフォームの依存型論理構造に変わる。
【0010】カスタマイゼーションのポーションついて
は、タスクマネージャモジュールにより実行される。タ
スクマネージャモジュールは、中間表示内で選択的に論
理パネルとグラフィカルユーザインターフェイスコンポ
ーネントを保持してもよい。ターゲット装置プラットフ
ォーム用の論理パネルおよび/またはグラフィカルユー
ザインターフェイスコンポーネントは、中間表示内にお
ける保持のために選択されてもよい。
は、タスクマネージャモジュールにより実行される。タ
スクマネージャモジュールは、中間表示内で選択的に論
理パネルとグラフィカルユーザインターフェイスコンポ
ーネントを保持してもよい。ターゲット装置プラットフ
ォーム用の論理パネルおよび/またはグラフィカルユー
ザインターフェイスコンポーネントは、中間表示内にお
ける保持のために選択されてもよい。
【0011】変換マネージャモジュールは、カスタマイ
ゼーションの別ポーションを実行してもよい。変換マネ
ージャモジュールは、論理構造の階層とアプリケーショ
ンGUIにより特定された制約に基づく、グラフィカルユ
ーザインターフェイスコンポーネントと論理パネルを構
成してもよい。グラフィカルユーザインターフェイスコ
ンポーネントと論理パネルは、ダイナミック構造の第1
パートとして、少なくともプレゼンテーションの1つの
ページ上にアレンジされてもよい。プレゼンテーション
は、ターゲット装置プラットフォームの表示画面上に表
示されてもよい。さらに変換マネージャモジュールは、
選択的にグラフィカルユーザインターフェイスコンポー
ネントをページのサイズに合わせるために変換し、そし
てダイナミック構造の第2パートとして、表示画面を最
大にしてもよい。グラフィカルユーザインターフェイス
コンポーネントの選択的な変換において、変換ルールに
基づいたコンポーネントのサイズ変更と別のグラフィカ
ルユーザインターフェイスコンポーネントを選択しても
よい。
ゼーションの別ポーションを実行してもよい。変換マネ
ージャモジュールは、論理構造の階層とアプリケーショ
ンGUIにより特定された制約に基づく、グラフィカルユ
ーザインターフェイスコンポーネントと論理パネルを構
成してもよい。グラフィカルユーザインターフェイスコ
ンポーネントと論理パネルは、ダイナミック構造の第1
パートとして、少なくともプレゼンテーションの1つの
ページ上にアレンジされてもよい。プレゼンテーション
は、ターゲット装置プラットフォームの表示画面上に表
示されてもよい。さらに変換マネージャモジュールは、
選択的にグラフィカルユーザインターフェイスコンポー
ネントをページのサイズに合わせるために変換し、そし
てダイナミック構造の第2パートとして、表示画面を最
大にしてもよい。グラフィカルユーザインターフェイス
コンポーネントの選択的な変換において、変換ルールに
基づいたコンポーネントのサイズ変更と別のグラフィカ
ルユーザインターフェイスコンポーネントを選択しても
よい。
【0012】以下のカスタマイゼーションでは、レンダ
ーマネージャモジュールは、ターゲット装置プラットフ
ォームの表示画面上にアプリケーションGUIを作るため
に、カスタマイズされた中間表示を横断してもよい。グ
ラフィカルユーザインターフェイスコンポーネントと論
理パネルは、アプリケーションGUIを作るため、論理構
造から抽出されてもよい。
ーマネージャモジュールは、ターゲット装置プラットフ
ォームの表示画面上にアプリケーションGUIを作るため
に、カスタマイズされた中間表示を横断してもよい。グ
ラフィカルユーザインターフェイスコンポーネントと論
理パネルは、アプリケーションGUIを作るため、論理構
造から抽出されてもよい。
【0013】アプリケーションGUIは、異種装置プラッ
トフォームのユーザインターフェイス上で動作するよう
に適合されてもよい。したがって、装置プラットフォー
ムの独立型アプリケーションGUIは、SGUIアーキテクチ
ャにより、装置プラットフォームの依存型アプリケーシ
ョンGUIに変換される。
トフォームのユーザインターフェイス上で動作するよう
に適合されてもよい。したがって、装置プラットフォー
ムの独立型アプリケーションGUIは、SGUIアーキテクチ
ャにより、装置プラットフォームの依存型アプリケーシ
ョンGUIに変換される。
【0014】SGUIアーキテクチャの面白い特徴は、アプ
リケーションGUIにあるプロパティを含むために、中間
表示の機能を伴うことである。プロパティにより、アプ
リケーション開発者は、論理パネル、グラフィカルユー
ザインターフェイスコンポーネント、そして中間表示用
の制約を決める。
リケーションGUIにあるプロパティを含むために、中間
表示の機能を伴うことである。プロパティにより、アプ
リケーション開発者は、論理パネル、グラフィカルユー
ザインターフェイスコンポーネント、そして中間表示用
の制約を決める。
【0015】また別の面白い特徴は、中間表示内におけ
るタスクを表示する機能を伴うことである。タスクは、
少なくとも1つのコンテナノードと1つのコンポーネン
トノードを含んでもよい。中間表示におけるノード間の
階層的な関係により、タスク用の制約を決めたり、タス
クを作り出すことができる。
るタスクを表示する機能を伴うことである。タスクは、
少なくとも1つのコンテナノードと1つのコンポーネン
トノードを含んでもよい。中間表示におけるノード間の
階層的な関係により、タスク用の制約を決めたり、タス
クを作り出すことができる。
【0016】
【発明の実施の形態】本発明における他の特徴とメリッ
トは、図面と以下の詳細な説明で明らかにされる。これ
までに説明された好ましい実施形態は、ただの一例に過
ぎず、本発明の範囲を定義する以下におけるクレームを
制限するものではない。
トは、図面と以下の詳細な説明で明らかにされる。これ
までに説明された好ましい実施形態は、ただの一例に過
ぎず、本発明の範囲を定義する以下におけるクレームを
制限するものではない。
【0017】本発明の好ましい実施形態において、異な
る複数の装置プラットフォーム上で動作することのでき
る拡張性のあるアプリケーションと共に使う拡張性のあ
るグラフィカルユーザインターフェイス(SGUI)アーキテ
クチャを説明する。異種装置プラットフォームに対応付
けられた多種のユーザインターフェイスで動作するよう
に、SGUIアーキテクチャが、拡張性のあるアプリケーシ
ョンを適合してもよい。SGUIアーキテクチャにより、拡
張性のあるアプリケーションが動作可能な異種装置プラ
ットフォームから独立しているユーザインターフェイス
機能で、拡張性のあるアプリケーションが設計される。
拡張性のあるアプリケーションのアプリケーション開発
者によるSGUIアーキテクチャの使用により、多数に及ぶ
コードの複雑化を避けることができる一方、異種装置プ
ラットフォームに対応付けられた異なるユーザインター
フェイスへスケーリングする。さらに、SGUIアーキテク
チャは、モデルベース型の技術のようなモデル構造がな
くても、異種装置プラットフォームで動作する。このよ
うなわけで、通信開発者によるプログラミングは精巧で
あるとは言えず、モデルビルディング、および/または
モデル操作技術は必要でない。
る複数の装置プラットフォーム上で動作することのでき
る拡張性のあるアプリケーションと共に使う拡張性のあ
るグラフィカルユーザインターフェイス(SGUI)アーキテ
クチャを説明する。異種装置プラットフォームに対応付
けられた多種のユーザインターフェイスで動作するよう
に、SGUIアーキテクチャが、拡張性のあるアプリケーシ
ョンを適合してもよい。SGUIアーキテクチャにより、拡
張性のあるアプリケーションが動作可能な異種装置プラ
ットフォームから独立しているユーザインターフェイス
機能で、拡張性のあるアプリケーションが設計される。
拡張性のあるアプリケーションのアプリケーション開発
者によるSGUIアーキテクチャの使用により、多数に及ぶ
コードの複雑化を避けることができる一方、異種装置プ
ラットフォームに対応付けられた異なるユーザインター
フェイスへスケーリングする。さらに、SGUIアーキテク
チャは、モデルベース型の技術のようなモデル構造がな
くても、異種装置プラットフォームで動作する。このよ
うなわけで、通信開発者によるプログラミングは精巧で
あるとは言えず、モデルビルディング、および/または
モデル操作技術は必要でない。
【0018】拡張性のあるアプリケーションは、異なる
プラットフォーム装置上で動くことのできるアプリケー
ションを含んでいる。拡張性のあるアプリケーションの
ほとんどは、異種装置プラットフォームの表示画面用の
プレゼンテーションを生成する機能を含む。プレゼンテ
ーションは、視覚的なデータの1ページまたはそれ以上
のページ(またはプレゼンテーション部)を含んでもよ
い。視覚的なデータは、ユーザの異種装置プラットフォ
ームの表示画面上にアレンジされてもよい。拡張性のあ
るアプリケーションは、アプリケーションGUIでプレゼ
ンテーションを生成してもよい。アプリケーションGUI
は、拡張性のあるアプリケーションのグラフィカルユー
ザインターフェイスコンポーネントである。
プラットフォーム装置上で動くことのできるアプリケー
ションを含んでいる。拡張性のあるアプリケーションの
ほとんどは、異種装置プラットフォームの表示画面用の
プレゼンテーションを生成する機能を含む。プレゼンテ
ーションは、視覚的なデータの1ページまたはそれ以上
のページ(またはプレゼンテーション部)を含んでもよ
い。視覚的なデータは、ユーザの異種装置プラットフォ
ームの表示画面上にアレンジされてもよい。拡張性のあ
るアプリケーションは、アプリケーションGUIでプレゼ
ンテーションを生成してもよい。アプリケーションGUI
は、拡張性のあるアプリケーションのグラフィカルユー
ザインターフェイスコンポーネントである。
【0019】異種装置プラットフォームは、表示機能と
拡張性のあるアプリケーションを動作させる機能を兼ね
備えた装置であってもよい。典型的な異種装置プラット
フォームは、無線電話、ポケットPC、個人情報端末(PD
A)、ぺージャー、デスクトップコンピュータ、ノートブ
ックコンピュータ、搭載ビアクルコンピュータ、または
拡張性のあるアプリケーションを実行する機能のある表
示画面を兼ね備えた有線/無線装置を含んでもよい。ま
た異種装置プラットフォームは、例えばWindowsNT(商
標)、Windows 2000(商標)、Linux(商標)、Solaris(商
標)、MacOS(商標)、Palm(商標)、Windows CE(商標)、独
自のオペレーティングシステム、またはその他の装置に
機能性を提供するオペレーティングシステムを含んでも
よい。オペレーティングシステムは、起動させたりサポ
ートするための機能を提供してもよい。
拡張性のあるアプリケーションを動作させる機能を兼ね
備えた装置であってもよい。典型的な異種装置プラット
フォームは、無線電話、ポケットPC、個人情報端末(PD
A)、ぺージャー、デスクトップコンピュータ、ノートブ
ックコンピュータ、搭載ビアクルコンピュータ、または
拡張性のあるアプリケーションを実行する機能のある表
示画面を兼ね備えた有線/無線装置を含んでもよい。ま
た異種装置プラットフォームは、例えばWindowsNT(商
標)、Windows 2000(商標)、Linux(商標)、Solaris(商
標)、MacOS(商標)、Palm(商標)、Windows CE(商標)、独
自のオペレーティングシステム、またはその他の装置に
機能性を提供するオペレーティングシステムを含んでも
よい。オペレーティングシステムは、起動させたりサポ
ートするための機能を提供してもよい。
【0020】異種装置プラットフォームは、拡張性のあ
るアプリケーションを動作させたり、機能性を提供する
ハードウェアまたはソフトウェアを含んでいてもよい。
例えば、メモリのような記憶手段を含んでいてもよい。
記憶手段は、例えば、拡張性のあるアプリケーションや
装置プラットフォームに関する他の情報を記憶してもよ
い。さらに、異種装置プラットフォームは、ユーザイン
ターフェイスを含んでもよい。ユーザインターフェイス
は、例えば、表示装置、キーボード、マウスに似たポイ
ント装置、タッチスクリーン、キーパッド、オーディオ
機能、または異種装置プラットフォームのユーザ用のイ
ンターフェイスを提供する手段を含んでもよい。
るアプリケーションを動作させたり、機能性を提供する
ハードウェアまたはソフトウェアを含んでいてもよい。
例えば、メモリのような記憶手段を含んでいてもよい。
記憶手段は、例えば、拡張性のあるアプリケーションや
装置プラットフォームに関する他の情報を記憶してもよ
い。さらに、異種装置プラットフォームは、ユーザイン
ターフェイスを含んでもよい。ユーザインターフェイス
は、例えば、表示装置、キーボード、マウスに似たポイ
ント装置、タッチスクリーン、キーパッド、オーディオ
機能、または異種装置プラットフォームのユーザ用のイ
ンターフェイスを提供する手段を含んでもよい。
【0021】異種装置プラットフォームの機能は、多岐
に異なっていてもよい。ここで言う機能は、ハードウェ
ア的な特徴と、異種装置プラットフォームと拡張性のあ
るアプリケーションの動作にインパクトを与える装置機
能のことである。その機能とは、例えば、装置プラット
フォームのタイプ(例:無線電話、PDA,ラップトップPC
等)、利用可能なユーザインターフェイスライブラリ、
表示画面のサイズと解像度である。さらに、代表的な機
能として、表示画面に関するユーザインターフェイス、
計算処理容量、メモリのサイズ、プラットフォームの使
用、または装置プラットフォームのユーザインターフェ
イスと動作に影響するその他のパラメータが挙げられ
る。
に異なっていてもよい。ここで言う機能は、ハードウェ
ア的な特徴と、異種装置プラットフォームと拡張性のあ
るアプリケーションの動作にインパクトを与える装置機
能のことである。その機能とは、例えば、装置プラット
フォームのタイプ(例:無線電話、PDA,ラップトップPC
等)、利用可能なユーザインターフェイスライブラリ、
表示画面のサイズと解像度である。さらに、代表的な機
能として、表示画面に関するユーザインターフェイス、
計算処理容量、メモリのサイズ、プラットフォームの使
用、または装置プラットフォームのユーザインターフェ
イスと動作に影響するその他のパラメータが挙げられ
る。
【0022】本発明の好ましい実施形態において、異種
装置プラットフォームは、Java(商標)の技術で作られ
た拡張性のあるアプリケーションを実行する移動装置で
ある。Java(商標)の技術は、Java(商標)VM(Virtual
Machine;仮想マシン)上で動くJava(商標)プログラミ
ングランゲージを兼ね備えている。Java(商標)VMは、
多種に渡る装置プラットフォーム上に移植されてもよ
い。典型的なJava(商標)技術の移植は、ノートPCの装
置プラットフォーム上で動くJava(商標)VM、ポケット
PCの装置プラットフォーム上にあるパーソナルJava(商
標)VM、無線電話の装置プラットフォーム上で動くJava
(商標)KVMである。他の実施形態において、他のプロ
グラミング言語/技術と共に、他の装置プラットフォー
ムは、SGUIアーキテクチャで使用される。他のプログラ
ミング言語/技術とは、C言語、C++言語、マイクロソ
フトのCシャープ言語、および/または他の技術であ
る。
装置プラットフォームは、Java(商標)の技術で作られ
た拡張性のあるアプリケーションを実行する移動装置で
ある。Java(商標)の技術は、Java(商標)VM(Virtual
Machine;仮想マシン)上で動くJava(商標)プログラミ
ングランゲージを兼ね備えている。Java(商標)VMは、
多種に渡る装置プラットフォーム上に移植されてもよ
い。典型的なJava(商標)技術の移植は、ノートPCの装
置プラットフォーム上で動くJava(商標)VM、ポケット
PCの装置プラットフォーム上にあるパーソナルJava(商
標)VM、無線電話の装置プラットフォーム上で動くJava
(商標)KVMである。他の実施形態において、他のプロ
グラミング言語/技術と共に、他の装置プラットフォー
ムは、SGUIアーキテクチャで使用される。他のプログラ
ミング言語/技術とは、C言語、C++言語、マイクロソ
フトのCシャープ言語、および/または他の技術であ
る。
【0023】SGUIアーキテクチャは、拡張性のあるアプ
リケーションに対応付けられたアプリケーションGUIの
中間表示をインスタンス化させる。中間表示と同様に、
アプリケーションGUIは、特定されたノンデバイス
(例:独立した装置プラットフォーム)、装置プラット
フォームと互換性がある方が好ましい。中間表示のイン
スタンスの作成は、拡張性のあるアプリケーションのア
プリケーションGUIに基づいてもよい。中間表示は、拡
張性のあるアプリケーションにより生成されたプレゼン
テーション用の論理構造を提供してもよい。論理構造
は、SGUIアーキテクチャにより異種装置プラットフォー
ム用にカスタマイズされてもよい。カスタマイゼーショ
ンは、プレゼンテーションを表示させる異種装置プラッ
トフォームの機能と、アプリケーションGUI内で特定さ
れたプロパティに基づいてもよい。具体的に、SGUIアー
キテクチャによるカスタマイゼーションは、装置プラッ
トフォーム用のグラフィカルユーザインターフェイス開
発に共通の3つの問題を提起している。即ちそれらは、
表示画面サイズ、入力方法、及びユーザインターフェイ
スライブラリである。
リケーションに対応付けられたアプリケーションGUIの
中間表示をインスタンス化させる。中間表示と同様に、
アプリケーションGUIは、特定されたノンデバイス
(例:独立した装置プラットフォーム)、装置プラット
フォームと互換性がある方が好ましい。中間表示のイン
スタンスの作成は、拡張性のあるアプリケーションのア
プリケーションGUIに基づいてもよい。中間表示は、拡
張性のあるアプリケーションにより生成されたプレゼン
テーション用の論理構造を提供してもよい。論理構造
は、SGUIアーキテクチャにより異種装置プラットフォー
ム用にカスタマイズされてもよい。カスタマイゼーショ
ンは、プレゼンテーションを表示させる異種装置プラッ
トフォームの機能と、アプリケーションGUI内で特定さ
れたプロパティに基づいてもよい。具体的に、SGUIアー
キテクチャによるカスタマイゼーションは、装置プラッ
トフォーム用のグラフィカルユーザインターフェイス開
発に共通の3つの問題を提起している。即ちそれらは、
表示画面サイズ、入力方法、及びユーザインターフェイ
スライブラリである。
【0024】・表示画面サイズA
拡張性のあるアプリケーションは、異種装置プラットフ
ォーム上で動く能力がある。よって、拡張性のあるアプ
リケーションを開発しているアプリケーションプログラ
マは、表示画面用に特定なサイズを仮定する必要はな
い。例えば、ドコモ 503i無線電話は、120×130画素
の表示画面を兼ね備え、コンパックのIPAQポケットPC
は、320×240画素の表示画面を兼ね備え、典型的なノー
トPCは、1024×768画素の表示画面を兼ね備えている。
表示画面のサイズは、表示画面上におけるプレゼンテー
ションのページを形成しているコンポーネントのレイア
ウトや、視覚的なプレゼンテーションの品質に影響を及
ぼすこともある。
ォーム上で動く能力がある。よって、拡張性のあるアプ
リケーションを開発しているアプリケーションプログラ
マは、表示画面用に特定なサイズを仮定する必要はな
い。例えば、ドコモ 503i無線電話は、120×130画素
の表示画面を兼ね備え、コンパックのIPAQポケットPC
は、320×240画素の表示画面を兼ね備え、典型的なノー
トPCは、1024×768画素の表示画面を兼ね備えている。
表示画面のサイズは、表示画面上におけるプレゼンテー
ションのページを形成しているコンポーネントのレイア
ウトや、視覚的なプレゼンテーションの品質に影響を及
ぼすこともある。
【0025】ページを形成するコンポーネントは、グラ
フィカルユーザインターフェイス(GUI)コンポーネン
トと呼んでもよい。GUIコンポーネントは、表示画面の
コンテキスト内で固定されたもの、アニメ化されたも
の、および/またはインタラクティブなものかもしれな
いプレゼンテーションの表示機能である。GUIコンポー
ネントの典型例は、グラフィカルラベル、グラフィカル
ボタン、グラフィカルチェックボックス、グラフィカル
テキストフィールド、グラフィカルテキストエリア、グ
ラフィカルリスト/テーブル、グラフィカルバックグラ
ウンド、データ入力フィールド、プルダウンメニュー、
および/または表示画面上に表示する機能を兼ね備えて
いる。GUIコンポーネントは、固有の識別子と一緒にGUI
ライブラリに保存されてもよい。この識別子により、例
えば、既に述べられているアプリケーションGUIは、GUI
コンポーネントでプレゼンテーションを作る。
フィカルユーザインターフェイス(GUI)コンポーネン
トと呼んでもよい。GUIコンポーネントは、表示画面の
コンテキスト内で固定されたもの、アニメ化されたも
の、および/またはインタラクティブなものかもしれな
いプレゼンテーションの表示機能である。GUIコンポー
ネントの典型例は、グラフィカルラベル、グラフィカル
ボタン、グラフィカルチェックボックス、グラフィカル
テキストフィールド、グラフィカルテキストエリア、グ
ラフィカルリスト/テーブル、グラフィカルバックグラ
ウンド、データ入力フィールド、プルダウンメニュー、
および/または表示画面上に表示する機能を兼ね備えて
いる。GUIコンポーネントは、固有の識別子と一緒にGUI
ライブラリに保存されてもよい。この識別子により、例
えば、既に述べられているアプリケーションGUIは、GUI
コンポーネントでプレゼンテーションを作る。
【0026】プレゼンテーションは、表示画面のサイズ
機能として、さらにページに細かく分割されてもよい。
例えば、ノートブックPCのような相対的に大きな表示画
面は、大きなサイズ、および/またはたくさんの量のGUI
コンポーネントにより、大きなページに適合できる。一
方、例えば、無線電話のような小さな画面は、高価でコ
ンパクトなGUIコンポーネントと共に、小さなページに
しか適合できない。さらに、小さなページは、表示画面
上において、一度にほんの少しのGUIコンポーネントし
か表示できない。
機能として、さらにページに細かく分割されてもよい。
例えば、ノートブックPCのような相対的に大きな表示画
面は、大きなサイズ、および/またはたくさんの量のGUI
コンポーネントにより、大きなページに適合できる。一
方、例えば、無線電話のような小さな画面は、高価でコ
ンパクトなGUIコンポーネントと共に、小さなページに
しか適合できない。さらに、小さなページは、表示画面
上において、一度にほんの少しのGUIコンポーネントし
か表示できない。
【0027】SGUIアーキテクチャは、異種装置プラット
フォームの表示画面を最大限に大きくするために用いる
こともできる。中間表示を用いることにより、SGUIアー
キテクチャは、ダイナミックなレイアウトとアプリケー
ションGUIのグラフィカルユーザインターフェイス(GU
I)を提供してもよい。このように、アプリケーションG
UIは、拡張性のあるアプリケーションが動いている異種
装置プラットフォームの表示画面に拡大縮小されてもよ
い。
フォームの表示画面を最大限に大きくするために用いる
こともできる。中間表示を用いることにより、SGUIアー
キテクチャは、ダイナミックなレイアウトとアプリケー
ションGUIのグラフィカルユーザインターフェイス(GU
I)を提供してもよい。このように、アプリケーションG
UIは、拡張性のあるアプリケーションが動いている異種
装置プラットフォームの表示画面に拡大縮小されてもよ
い。
【0028】・入力方法
異種装置プラットフォームは、また拡張性のあるアプリ
ケーションとアプリケーションGUIに対応付けられてい
る異なる入力方法を兼ね備えていてもよい。例えば入力
方法として、無線電話はキーパッド、ポケットPCは手書
き入力用のペン、ノートブックPCはキーボード、および
/またはマウスのようなポインティング装置を利用す
る。従って、拡張性のあるアプリケーションのアプリケ
ーション開発者は、対応しているアプリケーションGUI
用の特定入力方法を想定しなくてもよい。
ケーションとアプリケーションGUIに対応付けられてい
る異なる入力方法を兼ね備えていてもよい。例えば入力
方法として、無線電話はキーパッド、ポケットPCは手書
き入力用のペン、ノートブックPCはキーボード、および
/またはマウスのようなポインティング装置を利用す
る。従って、拡張性のあるアプリケーションのアプリケ
ーション開発者は、対応しているアプリケーションGUI
用の特定入力方法を想定しなくてもよい。
【0029】SGUIアーキテクチャは、異種装置プラット
フォームに対応できる装置プラットフォームの独立型GU
Iイベントを提供する。GUIイベントは、ページ上の視覚
的なデータ内におけるステートの変化である。異種装置
プラットフォームのユーザインターフェイスによるイン
ターラクションは、GUIイベントを引き起こすこともあ
る。SGUIアーキテクチャは、装置プラットフォームの特
定型GUIイベントのダイナミックな変換を装置プラット
フォームの独立型GUIイベントに提供する。このよう
に、SGUIアーキテクチャを利用している拡張性のあるア
プリケーションは、異種装置プラットフォームのユーザ
インターフェイスと互換性があり、かつ異種装置プラッ
トフォームのユーザインターフェイスから独立している
GUIイベント機能で設計される。
フォームに対応できる装置プラットフォームの独立型GU
Iイベントを提供する。GUIイベントは、ページ上の視覚
的なデータ内におけるステートの変化である。異種装置
プラットフォームのユーザインターフェイスによるイン
ターラクションは、GUIイベントを引き起こすこともあ
る。SGUIアーキテクチャは、装置プラットフォームの特
定型GUIイベントのダイナミックな変換を装置プラット
フォームの独立型GUIイベントに提供する。このよう
に、SGUIアーキテクチャを利用している拡張性のあるア
プリケーションは、異種装置プラットフォームのユーザ
インターフェイスと互換性があり、かつ異種装置プラッ
トフォームのユーザインターフェイスから独立している
GUIイベント機能で設計される。
【0030】・ユーザインターフェイスライブラリ
異種装置プラットフォームは、また異なるアプリケーシ
ョンプログラムインターフェイス(API)をサポートし
てもよい。APIは、広範囲にわたる機能を提供する出来
合いのソフトウェアコンポーネントの集まりの1つであ
る。例えば、Java(商標)技術は、Java(商標)プリケ
ーションプログラムインターフェイス(API)を持って
いる。Java(商標)(API)は、Java(商標)型プログ
ラム内で実行される標準的な機能を提供するソフトウェ
アコンポーネントの集まりである。
ョンプログラムインターフェイス(API)をサポートし
てもよい。APIは、広範囲にわたる機能を提供する出来
合いのソフトウェアコンポーネントの集まりの1つであ
る。例えば、Java(商標)技術は、Java(商標)プリケ
ーションプログラムインターフェイス(API)を持って
いる。Java(商標)(API)は、Java(商標)型プログ
ラム内で実行される標準的な機能を提供するソフトウェ
アコンポーネントの集まりである。
【0031】Java(商標)プラットフォームは、一度書
いたらどこでも動いている(WriteOnce, Run Anywhere;
WORA)を主張しているが、移動装置環境で発達してい
るJava(商標)プリケーションにとって、これは当ては
まらないこともある。例えば無線電話で、Java(商標)
プログラミングランゲージは、Java(商標) 2 MicroEd
ition(J2ME)であってもよい。基本的に、J2MEのデザイ
ンは、柔軟性とフラグメンテーションに基づいている。
柔軟性を成し遂げるため、J2MEは装置プラットフォーム
の特定型APIを設定している。装置プラットフォームの
特定型APIは、プロファイルとして言及される。J2MEア
プリケーションは、特定の装置プラットフォームで動く
ように書かれているので、異なるプロファイルは細分化
してしまう。例えば、ドコモ503iの無線電話はJ2ME Do
Ja APIとして言及されるJava(商標)プロファイルをサ
ポートしてもよい。同様に、ポケットPCはPersonal Jav
a(商標) AWT APIを、ノートブックパソコンはJava
(商標)2 Standard Edition (J2SE) SWING APIをサポ
ートしてもよい。
いたらどこでも動いている(WriteOnce, Run Anywhere;
WORA)を主張しているが、移動装置環境で発達してい
るJava(商標)プリケーションにとって、これは当ては
まらないこともある。例えば無線電話で、Java(商標)
プログラミングランゲージは、Java(商標) 2 MicroEd
ition(J2ME)であってもよい。基本的に、J2MEのデザイ
ンは、柔軟性とフラグメンテーションに基づいている。
柔軟性を成し遂げるため、J2MEは装置プラットフォーム
の特定型APIを設定している。装置プラットフォームの
特定型APIは、プロファイルとして言及される。J2MEア
プリケーションは、特定の装置プラットフォームで動く
ように書かれているので、異なるプロファイルは細分化
してしまう。例えば、ドコモ503iの無線電話はJ2ME Do
Ja APIとして言及されるJava(商標)プロファイルをサ
ポートしてもよい。同様に、ポケットPCはPersonal Jav
a(商標) AWT APIを、ノートブックパソコンはJava
(商標)2 Standard Edition (J2SE) SWING APIをサポ
ートしてもよい。
【0032】APIは、異種装置プラットフォームによっ
て、異なるGUIライブラリをサポートしてもよい。例え
ば、PDAは、対応しているGUIライブラリ内において、よ
り多くのタッチスクリーン関連のGUIコンポーネントを
兼ね備えていてもよい。一方、例えば無線電話は、対応
しているGUIライブラリ内において、指示関連のGUIコン
ポーネントしか兼ね備えていてなくてもよい。既に知ら
れている通り、GUIライブラリは、プレゼンテーション
を作成するためにアクセス可能な未開発のGUIコンポー
ネントのコンパイル(編集)である。
て、異なるGUIライブラリをサポートしてもよい。例え
ば、PDAは、対応しているGUIライブラリ内において、よ
り多くのタッチスクリーン関連のGUIコンポーネントを
兼ね備えていてもよい。一方、例えば無線電話は、対応
しているGUIライブラリ内において、指示関連のGUIコン
ポーネントしか兼ね備えていてなくてもよい。既に知ら
れている通り、GUIライブラリは、プレゼンテーション
を作成するためにアクセス可能な未開発のGUIコンポー
ネントのコンパイル(編集)である。
【0033】1つの実施形態のSGUIアーキテクチャは、
異種装置プラットフォームと互換性があり、かつその上
でサポートされる装置プラットフォーム独立型APIを提
供する。装置プラットフォーム独立型APIは、異種装置
プラットフォームに対応付けられている異なるGUIライ
ブラリへ、ブリッジング(橋渡し)機能を提供する。し
たがって、SGUIアーキテクチャを利用しているアプリケ
ーション開発者は、異種装置プラットフォーム用のプラ
ットフォーム特定型のGUIプレゼンテーションを開発す
るため、異なるGUIライブラリに精通している必要はな
い。
異種装置プラットフォームと互換性があり、かつその上
でサポートされる装置プラットフォーム独立型APIを提
供する。装置プラットフォーム独立型APIは、異種装置
プラットフォームに対応付けられている異なるGUIライ
ブラリへ、ブリッジング(橋渡し)機能を提供する。し
たがって、SGUIアーキテクチャを利用しているアプリケ
ーション開発者は、異種装置プラットフォーム用のプラ
ットフォーム特定型のGUIプレゼンテーションを開発す
るため、異なるGUIライブラリに精通している必要はな
い。
【0034】拡張性のあるアプリケーションの移動中に
おける、SGUIアーキテクチャの典型的な動作例は、ある
装置プラットフォームから別の装置プラットフォームへ
の動作である。拡張性のあるアプリケーションの移動
は、ソース(供給元)装置プラットフォームから、ター
ゲット装置プラットフォームへと、拡張性のあるアプリ
ケーションを動作するインスタンスの動きを含んでい
る。例えば、会社でマウスやキーボードを使い、ラップ
トップPCで、Eメールに関連している拡張性のあるアプ
リケーションを操作しているユーザを考えてください。
仕事の完了前に、ユーザは会社を出る必要がある。この
時に、ユーザは、まだアクティブな拡張性のあるアプリ
ケーションを、ラップトップPC(ソース(供給元)装置
プラットフォーム)からPDA(ターゲット(目的)装置プ
ラットフォーム)へと動かし、Eメール作業機能を続行
できる。ラップトップPCの表示画面はPDAより大きいの
で、アプリケーションのプレゼンテーションは、SGUIア
ーキテクチャにより、PDAの表示画面に適合される。こ
れに伴い、ラップトップPCのマウスやキーボードで動い
ていたユーザインターフェイス機能もまた、SGUIアーキ
テクチャにより、PDA上にあるタッチスクリーンのユー
ザインターフェイス機能に適合されてもよい。SGUIアー
キテクチャは、ソースおよびターゲット装置プラットフ
ォームから独立しているユーザインターフェイスの拡張
性のあるアプリケーションの移動性を提供する。そのよ
うに、拡張性のあるアプリケーションは、SGUIアーキテ
クチャを使いながら動く時にだけ必要であり、特に2つ
の装置プラットフォームのうちの一方を動く時に必要で
はない。
おける、SGUIアーキテクチャの典型的な動作例は、ある
装置プラットフォームから別の装置プラットフォームへ
の動作である。拡張性のあるアプリケーションの移動
は、ソース(供給元)装置プラットフォームから、ター
ゲット装置プラットフォームへと、拡張性のあるアプリ
ケーションを動作するインスタンスの動きを含んでい
る。例えば、会社でマウスやキーボードを使い、ラップ
トップPCで、Eメールに関連している拡張性のあるアプ
リケーションを操作しているユーザを考えてください。
仕事の完了前に、ユーザは会社を出る必要がある。この
時に、ユーザは、まだアクティブな拡張性のあるアプリ
ケーションを、ラップトップPC(ソース(供給元)装置
プラットフォーム)からPDA(ターゲット(目的)装置プ
ラットフォーム)へと動かし、Eメール作業機能を続行
できる。ラップトップPCの表示画面はPDAより大きいの
で、アプリケーションのプレゼンテーションは、SGUIア
ーキテクチャにより、PDAの表示画面に適合される。こ
れに伴い、ラップトップPCのマウスやキーボードで動い
ていたユーザインターフェイス機能もまた、SGUIアーキ
テクチャにより、PDA上にあるタッチスクリーンのユー
ザインターフェイス機能に適合されてもよい。SGUIアー
キテクチャは、ソースおよびターゲット装置プラットフ
ォームから独立しているユーザインターフェイスの拡張
性のあるアプリケーションの移動性を提供する。そのよ
うに、拡張性のあるアプリケーションは、SGUIアーキテ
クチャを使いながら動く時にだけ必要であり、特に2つ
の装置プラットフォームのうちの一方を動く時に必要で
はない。
【0035】図1は、拡張性のあるグラフィカルユーザ
インターフェイス(SGUI)10のある実施形態のブロック
図である。SGUIアーキテクチャ10は、拡張性のあるGU
Iライブラリモジュール12、カスタマイジングモジュ
ール14、そしてレンダーマネージャモジュール16を
持っている。図に描かれた実施形態は、本発明の理解を
助けるためのものであり、これらの装置は個々に独立し
たものではなく、同図より少ないまたは多い装置が、多
岐にわたるSGUIアーキテクチャ10の実施形態で利用さ
れてもよい。
インターフェイス(SGUI)10のある実施形態のブロック
図である。SGUIアーキテクチャ10は、拡張性のあるGU
Iライブラリモジュール12、カスタマイジングモジュ
ール14、そしてレンダーマネージャモジュール16を
持っている。図に描かれた実施形態は、本発明の理解を
助けるためのものであり、これらの装置は個々に独立し
たものではなく、同図より少ないまたは多い装置が、多
岐にわたるSGUIアーキテクチャ10の実施形態で利用さ
れてもよい。
【0036】拡張性のあるGUIライブラリモジュール1
2は、拡張性のあるアプリケーションの開発中におい
て、アプリケーションの開発者が使用するツールであっ
てもよい。さらに、拡張性のあるGUIライブラリモジュ
ール12は、SGUIアーキテクチャ10による中間表示と
ともに使用するため、GUIコンポーネントのライブラリ
を提供してもよい。実施形態において、装置プラットフ
ォーム独立型APIは、拡張性のあるアプリケーションの
開発中において実行されてもよい。また、中間表示を作
るため、装置プラットフォームの独立型API内におい
て、アプリケーション開発者により実行されてもよい。
拡張性のあるGUIライブラリモジュール12内におい
て、装置プラットフォームの独立型アプリケーションGU
Iによる中間表示のインスタンティエーションは、装置
プラットフォームの独立型APIを実行してもよい。中間
表示のインスタンティエーションは、中間表示は装置プ
ラットフォームの独立型ということを表している図1に
おいて、「装置独立型中間表示」となっている。
2は、拡張性のあるアプリケーションの開発中におい
て、アプリケーションの開発者が使用するツールであっ
てもよい。さらに、拡張性のあるGUIライブラリモジュ
ール12は、SGUIアーキテクチャ10による中間表示と
ともに使用するため、GUIコンポーネントのライブラリ
を提供してもよい。実施形態において、装置プラットフ
ォーム独立型APIは、拡張性のあるアプリケーションの
開発中において実行されてもよい。また、中間表示を作
るため、装置プラットフォームの独立型API内におい
て、アプリケーション開発者により実行されてもよい。
拡張性のあるGUIライブラリモジュール12内におい
て、装置プラットフォームの独立型アプリケーションGU
Iによる中間表示のインスタンティエーションは、装置
プラットフォームの独立型APIを実行してもよい。中間
表示のインスタンティエーションは、中間表示は装置プ
ラットフォームの独立型ということを表している図1に
おいて、「装置独立型中間表示」となっている。
【0037】一般的に、拡張性のあるGUIライブラリモ
ジュール12は、Java(商標)アブストラクト ウインド
ウ ツールキット(AWT)のようなGUIライブリの他のフォ
ームに似ている。本発明の好ましい実施形態において、
拡張性のあるGUIライブラリモジュール12は、Java(商
標)のアプリケーションGUIに似たスタイルで作られてい
る。従って、Java(商標)技術に詳しいアプリケーショ
ンプログラマが、装置プラットフォームの特定型APIを
利用する現存の装置プラットフォームの特定型アプリケ
ーションGUIを、SGUIアーキテクチャ10内において、
装置プラットフォームの独立型APIを利用する装置プラ
ットフォームの独立型アプリケーションGUIに変換する
要求は少なくなる。
ジュール12は、Java(商標)アブストラクト ウインド
ウ ツールキット(AWT)のようなGUIライブリの他のフォ
ームに似ている。本発明の好ましい実施形態において、
拡張性のあるGUIライブラリモジュール12は、Java(商
標)のアプリケーションGUIに似たスタイルで作られてい
る。従って、Java(商標)技術に詳しいアプリケーショ
ンプログラマが、装置プラットフォームの特定型APIを
利用する現存の装置プラットフォームの特定型アプリケ
ーションGUIを、SGUIアーキテクチャ10内において、
装置プラットフォームの独立型APIを利用する装置プラ
ットフォームの独立型アプリケーションGUIに変換する
要求は少なくなる。
【0038】カスタマイジングモジュール14は、ター
ゲット装置プラットフォームの装置独立の中間表示をカ
スタマイズするために動く。「ターゲット装置プラット
フォーム」は、拡張性のあるアプリケーションが、ディ
スプレイ用のプレゼンテーションを生成する異種装置プ
ラットフォームを特定する。プレゼンテーションの生成
は、拡張性のあるアプリケーションが、ターゲット装置
プラットフォームとして特定された装置プラットフォー
ム上を動いている間に、なされてもよい。さらに、プレ
ゼンテーションは、拡張性のあるアプリケーションが、
ソースから移動の目的である装置プラットフォーム(タ
ーゲット装置プラットフォーム)へ移動する時、生成さ
れてもよい。ある実施形態におけるカスタマイジングモ
ジュール14は、タスクマネージャモジュール18と変
換マネージャモジュール20を持っている。
ゲット装置プラットフォームの装置独立の中間表示をカ
スタマイズするために動く。「ターゲット装置プラット
フォーム」は、拡張性のあるアプリケーションが、ディ
スプレイ用のプレゼンテーションを生成する異種装置プ
ラットフォームを特定する。プレゼンテーションの生成
は、拡張性のあるアプリケーションが、ターゲット装置
プラットフォームとして特定された装置プラットフォー
ム上を動いている間に、なされてもよい。さらに、プレ
ゼンテーションは、拡張性のあるアプリケーションが、
ソースから移動の目的である装置プラットフォーム(タ
ーゲット装置プラットフォーム)へ移動する時、生成さ
れてもよい。ある実施形態におけるカスタマイジングモ
ジュール14は、タスクマネージャモジュール18と変
換マネージャモジュール20を持っている。
【0039】ある実施形態におけるタスクマネージャモ
ジュール18は、ターゲット装置プラットフォームの機
能に基づいている装置独立型の中間表示の機能を取り除
いてもよい。その中間表示は、タスクマネージャモジュ
ール18がタスクを取り除いたことを表している「取り
除かれた中間表示」と図1に示されている。ある実施形
態において、拡張性のあるアプリケーションは、ターゲ
ット装置プラットフォームの機能を特定し、そしてその
機能をタスクマネージャモジュール18へ提供する。ま
たある実施形態において、タスクマネージャモジュール
18は、ターゲット装置プラットフォームの機能を特定
することができる。
ジュール18は、ターゲット装置プラットフォームの機
能に基づいている装置独立型の中間表示の機能を取り除
いてもよい。その中間表示は、タスクマネージャモジュ
ール18がタスクを取り除いたことを表している「取り
除かれた中間表示」と図1に示されている。ある実施形
態において、拡張性のあるアプリケーションは、ターゲ
ット装置プラットフォームの機能を特定し、そしてその
機能をタスクマネージャモジュール18へ提供する。ま
たある実施形態において、タスクマネージャモジュール
18は、ターゲット装置プラットフォームの機能を特定
することができる。
【0040】中間表示から取り除かれたタスクは、ター
ゲット装置プラットフォームに適合しない拡張性のある
アプリケーションの代表的な機能を持っていてもよい。
例えば、ラップトップパソコンは、電話のテンキー機能
に関連しているタスクは使わない。同様に、利用できる
能力に制約があるため、ターゲット装置プラットフォー
ム上に全てのタスクを表示することは望ましくないとも
いえる。例えば、多量のテキストデータを入力するの
に、無線電話のテンキーを使うのは面倒くさい上、時間
もかかる。だから、タスクマネージャモジュール18
は、無線電話には面倒な編集機能に関連したタスクを取
り除いてもよい。ある実施形態において、タスクマネー
ジャは、ターゲット装置プラットフォームの機能、およ
び/または中間表示内におけるアプリケーション開発者
により特定された他のプロパティに応じて、タスクを取
り除いてもよい。
ゲット装置プラットフォームに適合しない拡張性のある
アプリケーションの代表的な機能を持っていてもよい。
例えば、ラップトップパソコンは、電話のテンキー機能
に関連しているタスクは使わない。同様に、利用できる
能力に制約があるため、ターゲット装置プラットフォー
ム上に全てのタスクを表示することは望ましくないとも
いえる。例えば、多量のテキストデータを入力するの
に、無線電話のテンキーを使うのは面倒くさい上、時間
もかかる。だから、タスクマネージャモジュール18
は、無線電話には面倒な編集機能に関連したタスクを取
り除いてもよい。ある実施形態において、タスクマネー
ジャは、ターゲット装置プラットフォームの機能、およ
び/または中間表示内におけるアプリケーション開発者
により特定された他のプロパティに応じて、タスクを取
り除いてもよい。
【0041】変換マネージャモジュール20は、中間表
示を装置プラットフォームの依存型プレゼンテーション
に変換するように動く。装置プラットフォームの依存型
プレゼンテーションは、ターゲット装置プラットフォー
ム内で、特定のユーザインターフェイスに適合してもよ
い。中間表示の変換は、タスクマネージャモジュール1
8が不要なタスクを取り除くことにより始まる。中間表
示の変換によって、ターゲット装置プラットフォームの
機能ベースの中間表示、中間表示の論理構造、および/
またはアプリケーションGUIが特定したプロパティを構
成する。以下における変換マネージャモジュール20に
よる変換において、中間表示は、特定のある異種装置プ
ラットフォーム(ターゲット装置プラットフォーム)に対
するカスタマイゼーションを示すために「装置依存型中
間表示」として図1に表されている装置プラットフォー
ムの依存型中間表示である。
示を装置プラットフォームの依存型プレゼンテーション
に変換するように動く。装置プラットフォームの依存型
プレゼンテーションは、ターゲット装置プラットフォー
ム内で、特定のユーザインターフェイスに適合してもよ
い。中間表示の変換は、タスクマネージャモジュール1
8が不要なタスクを取り除くことにより始まる。中間表
示の変換によって、ターゲット装置プラットフォームの
機能ベースの中間表示、中間表示の論理構造、および/
またはアプリケーションGUIが特定したプロパティを構
成する。以下における変換マネージャモジュール20に
よる変換において、中間表示は、特定のある異種装置プ
ラットフォーム(ターゲット装置プラットフォーム)に対
するカスタマイゼーションを示すために「装置依存型中
間表示」として図1に表されている装置プラットフォー
ムの依存型中間表示である。
【0042】レンダーマネージャモジュール16は、タ
ーゲット装置プラットフォームは、ターゲット装置プラ
ットフォームの表示画面上にプレゼンテーションを表示
するようにしてもよい。レンダーマネージャモジュール
16は、カスタマイジングモジュール14による中間表
示のカスタマイゼーションを行う。レンダーマネージャ
モジュール16は、装置プラットフォーム依存型の中間
表示から、プレゼンテーションを取り出してもよい。さ
らに、レンダーマネージャモジュール16は、ターゲッ
ト装置プラットフォームの表示画面上にプレゼンテーシ
ョンを表示するために、拡張性のあるGUIライブラリモ
ジュール12を利用してもよい。
ーゲット装置プラットフォームは、ターゲット装置プラ
ットフォームの表示画面上にプレゼンテーションを表示
するようにしてもよい。レンダーマネージャモジュール
16は、カスタマイジングモジュール14による中間表
示のカスタマイゼーションを行う。レンダーマネージャ
モジュール16は、装置プラットフォーム依存型の中間
表示から、プレゼンテーションを取り出してもよい。さ
らに、レンダーマネージャモジュール16は、ターゲッ
ト装置プラットフォームの表示画面上にプレゼンテーシ
ョンを表示するために、拡張性のあるGUIライブラリモ
ジュール12を利用してもよい。
【0043】レンダーマネージャモジュール16の動作
は、プレゼンテーションを取り出すため、装置プラット
フォームの依存型中間表示をトラバースすることを含
む。装置プラットフォームの依存型中間表示は、ターゲ
ット装置プラットフォーム用に依存している装置プラッ
トフォームなるようにカスタマイズされたアプリケーシ
ョンGUIの符号化表示である。このように、レンダーマ
ネージャモジュール16により取り出されたプレゼンテ
ーションは、ターゲット装置プラットフォームの表示画
面上の装置依存型アプリケーションGUIを表示する。
は、プレゼンテーションを取り出すため、装置プラット
フォームの依存型中間表示をトラバースすることを含
む。装置プラットフォームの依存型中間表示は、ターゲ
ット装置プラットフォーム用に依存している装置プラッ
トフォームなるようにカスタマイズされたアプリケーシ
ョンGUIの符号化表示である。このように、レンダーマ
ネージャモジュール16により取り出されたプレゼンテ
ーションは、ターゲット装置プラットフォームの表示画
面上の装置依存型アプリケーションGUIを表示する。
【0044】SGUIアーキテクチャ10の好ましい実施形
態において、SGUIアーキテクチャ10は、ターゲット装
置プラットフォームに対し、アプリケーションGUIの継
ぎ目のないスケーリングを提供する拡張性のあるアプリ
ケーションで動いてもよい。アプリケーション開発者
は、アプリケーションGUIから、装置プラットフォーム
の独立型中間表示を作るためのツールとして、拡張性の
あるGUIライブラリモジュール12を使うことができ
る。図1に示すように、SGUIアーキテクチャ10の稼動
中、アプリケーションGUIは、拡張性のあるGUIライブラ
リモジュール12を使う装置プラットフォームの独立型
中間表示をインスタンス化してもよい。カスタマイジン
グモジュール14は、拡張性のあるアプリケーションが
動いているターゲット装置プラットフォームに基づく装
置プラットフォームの依存型中間表示に対し、中間表示
をカスタマイズしてもよい。レンダーマネージャモジュ
ール16は、ターゲット装置プラットフォームのユーザ
インターフェイス用にカスタマイズされたプレゼンテー
ションを取り出すため、装置プラットフォームの依存型
中間表示を使用してもよい。そして、プレゼンテーショ
ンは、レンダーマネージャモジュール16により、ター
ゲット装置プラットフォームの表示画面上に表示されて
もよい。
態において、SGUIアーキテクチャ10は、ターゲット装
置プラットフォームに対し、アプリケーションGUIの継
ぎ目のないスケーリングを提供する拡張性のあるアプリ
ケーションで動いてもよい。アプリケーション開発者
は、アプリケーションGUIから、装置プラットフォーム
の独立型中間表示を作るためのツールとして、拡張性の
あるGUIライブラリモジュール12を使うことができ
る。図1に示すように、SGUIアーキテクチャ10の稼動
中、アプリケーションGUIは、拡張性のあるGUIライブラ
リモジュール12を使う装置プラットフォームの独立型
中間表示をインスタンス化してもよい。カスタマイジン
グモジュール14は、拡張性のあるアプリケーションが
動いているターゲット装置プラットフォームに基づく装
置プラットフォームの依存型中間表示に対し、中間表示
をカスタマイズしてもよい。レンダーマネージャモジュ
ール16は、ターゲット装置プラットフォームのユーザ
インターフェイス用にカスタマイズされたプレゼンテー
ションを取り出すため、装置プラットフォームの依存型
中間表示を使用してもよい。そして、プレゼンテーショ
ンは、レンダーマネージャモジュール16により、ター
ゲット装置プラットフォームの表示画面上に表示されて
もよい。
【0045】図1で表されてるモジュールのより細かな
詳細について説明する。
詳細について説明する。
【0046】図2は、拡張性のあるGUIライブラリモジ
ュール12のある実施形態のより詳細なブロック図であ
る。ある実施形態の拡張性のあるGUIライブラリモジュ
ール12は、拡張性のあるGUIコンポーネントライブラ
リモジュール22、中間表示モジュール24(IR)、そ
して拡張性のあるGUIイベント変換モジュール26を持
っている。他の実施形態において、これより少ないまた
は多いモジュールにより、拡張性のあるGUIライブラリ
モジュール12の機能を表してもよい。拡張性のあるGU
Iコンポーネントライブラリモジュール22は、ある点
において、有名なGUIコンポーネントライブラリに共通
している。GUIコンポーネントライブラリモジュール2
2のある実施形態において、GUIコンポーネントライブ
ラリモジュール22は、複数の拡張性のあるグラフィッ
クユーザインターフェイス(SGUI)コンポーネントと装置
プラットフォームの独立型APIを持っている。既に述べ
たように、装置プラットフォームの独立型APIは、異種
装置プラットフォームと互換性があり、そして装置独立
型アプリケーションGUIを作るために利用できる。
ュール12のある実施形態のより詳細なブロック図であ
る。ある実施形態の拡張性のあるGUIライブラリモジュ
ール12は、拡張性のあるGUIコンポーネントライブラ
リモジュール22、中間表示モジュール24(IR)、そ
して拡張性のあるGUIイベント変換モジュール26を持
っている。他の実施形態において、これより少ないまた
は多いモジュールにより、拡張性のあるGUIライブラリ
モジュール12の機能を表してもよい。拡張性のあるGU
Iコンポーネントライブラリモジュール22は、ある点
において、有名なGUIコンポーネントライブラリに共通
している。GUIコンポーネントライブラリモジュール2
2のある実施形態において、GUIコンポーネントライブ
ラリモジュール22は、複数の拡張性のあるグラフィッ
クユーザインターフェイス(SGUI)コンポーネントと装置
プラットフォームの独立型APIを持っている。既に述べ
たように、装置プラットフォームの独立型APIは、異種
装置プラットフォームと互換性があり、そして装置独立
型アプリケーションGUIを作るために利用できる。
【0047】SGUIコンポーネントは、ライブラリ内にお
けるグラフィカルユーザインターフェイスコンポーネン
トである。SGUIコンポーネントは、SGUIアーキテクチャ
で動作可能な異種装置プラットフォームがサポートする
グラフィカルユーザインターフェイスコンポーネントで
ある。さらに、SGUIコンポーネントは、グラフィカルユ
ーザインターフェイスコンポーネントが、異種装置プラ
ットフォーム用にカスタマイズ可能なことを表すために
使用される。またSGUIコンポーネントは、合成SGUIコン
ポーネントとして言及されてもよい。また合成SGUIコン
ポーネントは、関連のある機能を提供するためにグルー
プ化された複数のSGUIコンポーネントである。
けるグラフィカルユーザインターフェイスコンポーネン
トである。SGUIコンポーネントは、SGUIアーキテクチャ
で動作可能な異種装置プラットフォームがサポートする
グラフィカルユーザインターフェイスコンポーネントで
ある。さらに、SGUIコンポーネントは、グラフィカルユ
ーザインターフェイスコンポーネントが、異種装置プラ
ットフォーム用にカスタマイズ可能なことを表すために
使用される。またSGUIコンポーネントは、合成SGUIコン
ポーネントとして言及されてもよい。また合成SGUIコン
ポーネントは、関連のある機能を提供するためにグルー
プ化された複数のSGUIコンポーネントである。
【0048】装置独立型アプリケーションGUIは、SGUI
コンポーネントの表示を含む装置独立型中間表示のイン
スタンスを作るのに使われてもよい。ディスプレイ用の
プレゼンテーションを作る前に、中間表示は、装置プラ
ットフォームの独立型中間表示が表示可能になるよう
に、変換(またはカスタマイズ)されてもよい。
コンポーネントの表示を含む装置独立型中間表示のイン
スタンスを作るのに使われてもよい。ディスプレイ用の
プレゼンテーションを作る前に、中間表示は、装置プラ
ットフォームの独立型中間表示が表示可能になるよう
に、変換(またはカスタマイズ)されてもよい。
【0049】好ましい実施形態において、GUIコンポー
ネントライブラリモジュール22は、Java(商標) SWING
に似ている。これにより、Java(商標)スイングに明るい
アプリケーション開発者にとって、拡張性のあるGUIコ
ンポーネントライブラリモジュール22を容易に学ぶこ
とができる。ある実施形態において、Java(商標)スイン
グと似ている点は、共にSGUIコンポーネントの接頭辞を
含んでいる。しかしながら、この実施形態で接頭辞は、
Java(商標)SWINGのJではなく、Sである。
ネントライブラリモジュール22は、Java(商標) SWING
に似ている。これにより、Java(商標)スイングに明るい
アプリケーション開発者にとって、拡張性のあるGUIコ
ンポーネントライブラリモジュール22を容易に学ぶこ
とができる。ある実施形態において、Java(商標)スイン
グと似ている点は、共にSGUIコンポーネントの接頭辞を
含んでいる。しかしながら、この実施形態で接頭辞は、
Java(商標)SWINGのJではなく、Sである。
【0050】一般的に、クロスプラットフォームライブ
ラリを作るため、即ちLeast CommonDenominator(LCD),S
uperset Emulation(スーパーセットエミュレーション),
Direct API Emulation(ダイレクトAPIエミュレーショ
ン)and Layering/Wrapper(レイヤリング/ラッパー)を
作るために4つの有名な技術がある。LCD技術は、全て
のGUIライブラリに共通の特徴を持っている。Superset
Emulation技術は、全てのGUIライブラリ用のGUIコンポ
ーネントのスーパーセットを提供できる。ダイレクトAP
Iエミュレーションの技術は、直接あるGUIライブラリの
装置特定型APIを別のGUIライブラリの装置特定型APIへ
マッピングできる。レイヤリング/ラッパー技術は、GUI
ライブラリへマッピングする、アブストラクトなGUIラ
イブラリを提供する。
ラリを作るため、即ちLeast CommonDenominator(LCD),S
uperset Emulation(スーパーセットエミュレーション),
Direct API Emulation(ダイレクトAPIエミュレーショ
ン)and Layering/Wrapper(レイヤリング/ラッパー)を
作るために4つの有名な技術がある。LCD技術は、全て
のGUIライブラリに共通の特徴を持っている。Superset
Emulation技術は、全てのGUIライブラリ用のGUIコンポ
ーネントのスーパーセットを提供できる。ダイレクトAP
Iエミュレーションの技術は、直接あるGUIライブラリの
装置特定型APIを別のGUIライブラリの装置特定型APIへ
マッピングできる。レイヤリング/ラッパー技術は、GUI
ライブラリへマッピングする、アブストラクトなGUIラ
イブラリを提供する。
【0051】SGUIアーキテクチャのある実施形態におい
て、ダイレクトAPIエミュレーションとラッパー技術の
コンビネーションが実行される。他の実施形態におい
て、他の技術との組み合わせが使われてもよい。しかし
ながら、LCD技術の利用は、SGUIコンポーネントの利用
を制限することもある。さらに、スーパーセットエミュ
レーションの利用により、SGUIアーキテクチャがサポー
トするGUIライブラリの数が増えた時、その拡張性が制
限されることもある。
て、ダイレクトAPIエミュレーションとラッパー技術の
コンビネーションが実行される。他の実施形態におい
て、他の技術との組み合わせが使われてもよい。しかし
ながら、LCD技術の利用は、SGUIコンポーネントの利用
を制限することもある。さらに、スーパーセットエミュ
レーションの利用により、SGUIアーキテクチャがサポー
トするGUIライブラリの数が増えた時、その拡張性が制
限されることもある。
【0052】SGUIアーキテクチャのある実施形態におい
て、ダイレクトAPIエミュレーションとラッパー技術の
組み合わせが、拡張性のあるGUIコンポーネントライブ
ラリモジュール22と共に実行されてもよい。拡張性の
あるGUIコンポーネントライブラリモジュール22は、
他のGUIライブラリへマッピングされてもよい。ある実
施形態において、拡張性のあるGUIコンポーネントライ
ブラリモジュール22は、装置特定のGUIライブラリへ
マッピングされてもよい。装置特定のGUIライブラリ
は、例えば、Java(商標)スイング、Java(商標)AW
T、および/またはJava(商標)Dojaを持っていてもよ
い。他の実施形態において、拡張性のあるGUIコンポー
ネントライブラリモジュール22は、非装置特定のライ
ブラリを持っている増設された/異なるライブラリへマ
ッピングされてもよい。
て、ダイレクトAPIエミュレーションとラッパー技術の
組み合わせが、拡張性のあるGUIコンポーネントライブ
ラリモジュール22と共に実行されてもよい。拡張性の
あるGUIコンポーネントライブラリモジュール22は、
他のGUIライブラリへマッピングされてもよい。ある実
施形態において、拡張性のあるGUIコンポーネントライ
ブラリモジュール22は、装置特定のGUIライブラリへ
マッピングされてもよい。装置特定のGUIライブラリ
は、例えば、Java(商標)スイング、Java(商標)AW
T、および/またはJava(商標)Dojaを持っていてもよ
い。他の実施形態において、拡張性のあるGUIコンポー
ネントライブラリモジュール22は、非装置特定のライ
ブラリを持っている増設された/異なるライブラリへマ
ッピングされてもよい。
【0053】拡張性のあるGUIコンポーネントライブラ
リモジュール22内でのマッピングにおいて、SGUIコン
ポーネントを、他のライブラリ内にある装置特定のGUI
コンポーネントへマッピングする。このマッピングは、
対応する装置特定のGUIコンポーネントが、装置特定のG
UIライブラリ内の利用可能な場所で実行されてもよい。
もし装置特定のGUIライブラリが利用できないとき、SGU
Iコンポーネントは、装置特定のGUIライブラリ内におい
て、装置特定の合成GUIコンポーネントへマッピングさ
れてもよい。ある実施形態において、マッピングは定着
してない。したがって、この実施形態において、アプリ
ケーション開発者は、拡張性のあるGUIコンポーネント
ライブラリモジュール22内で、SGUIコンポーネントの
マッピングを変えたり/加えたりすることにより、デフ
ォルトマッピングに優先してもよい。
リモジュール22内でのマッピングにおいて、SGUIコン
ポーネントを、他のライブラリ内にある装置特定のGUI
コンポーネントへマッピングする。このマッピングは、
対応する装置特定のGUIコンポーネントが、装置特定のG
UIライブラリ内の利用可能な場所で実行されてもよい。
もし装置特定のGUIライブラリが利用できないとき、SGU
Iコンポーネントは、装置特定のGUIライブラリ内におい
て、装置特定の合成GUIコンポーネントへマッピングさ
れてもよい。ある実施形態において、マッピングは定着
してない。したがって、この実施形態において、アプリ
ケーション開発者は、拡張性のあるGUIコンポーネント
ライブラリモジュール22内で、SGUIコンポーネントの
マッピングを変えたり/加えたりすることにより、デフ
ォルトマッピングに優先してもよい。
【0054】再び図2に戻るが、中間表示(IR)モジュー
ル24は、中間表示を作るアプリケーションGUIが使用
する装置独立型APIを含む、いかなるアプリケーション
でもよい。中間表示は、拡張性のあるGUIコンポーネン
トライブラリモジュール22を利用する装置独立型アプ
リケーションGUIを表している。好ましい実施形態にお
いて、中間表示は木構造のような構造を有しているの
で、だから中間表示は中間表示(IR)ツリー(木)と呼ばれ
てもよい。他の実施形態において、例えば、アウトライ
ン構造、マトリックス構造、または他の論理ベースの構
造を、中間表示を表すために用いてもよい。
ル24は、中間表示を作るアプリケーションGUIが使用
する装置独立型APIを含む、いかなるアプリケーション
でもよい。中間表示は、拡張性のあるGUIコンポーネン
トライブラリモジュール22を利用する装置独立型アプ
リケーションGUIを表している。好ましい実施形態にお
いて、中間表示は木構造のような構造を有しているの
で、だから中間表示は中間表示(IR)ツリー(木)と呼ばれ
てもよい。他の実施形態において、例えば、アウトライ
ン構造、マトリックス構造、または他の論理ベースの構
造を、中間表示を表すために用いてもよい。
【0055】IRツリーは、SGUIコンポーネントがアレン
ジされているかもしれない論理構造を提供する。SGUIコ
ンポーネントは、IRツリー内の簡単な中間表示内に、装
置プラットフォームの独立型アプリケーションGUIを入
れることにより、アレンジされてもよい。アプリケーシ
ョンGUI装置プラットフォームの独立型なので、IRツリ
ーは、拡張性のあるアプリケーションがサポートする、
すべての可能なSGUIコンポーネントを含んでいてもよ
い。SGUIコンポーネントは、装置プラットフォームの独
立型プレゼンテーションに対して簡単な変換をするよう
にアレンジされてもよい。さらに、詳細は後で述べる
が、レイアウト構造、レイアウトの制約、そして制約を
示す他のプロパティは、IRツリーの論理構造内におい
て、特定されてもよい。さらに、IRツリーは、Java(商
標)のアプリケーションGUI開発との類似点を伝えるた
め、Java(商標)技術の階層的なコンテナ概念を取り入
れることが望ましい。
ジされているかもしれない論理構造を提供する。SGUIコ
ンポーネントは、IRツリー内の簡単な中間表示内に、装
置プラットフォームの独立型アプリケーションGUIを入
れることにより、アレンジされてもよい。アプリケーシ
ョンGUI装置プラットフォームの独立型なので、IRツリ
ーは、拡張性のあるアプリケーションがサポートする、
すべての可能なSGUIコンポーネントを含んでいてもよ
い。SGUIコンポーネントは、装置プラットフォームの独
立型プレゼンテーションに対して簡単な変換をするよう
にアレンジされてもよい。さらに、詳細は後で述べる
が、レイアウト構造、レイアウトの制約、そして制約を
示す他のプロパティは、IRツリーの論理構造内におい
て、特定されてもよい。さらに、IRツリーは、Java(商
標)のアプリケーションGUI開発との類似点を伝えるた
め、Java(商標)技術の階層的なコンテナ概念を取り入
れることが望ましい。
【0056】図3は、IRツリー40の構成例を示すブロ
ック図である。IRツリー40は、階層型構造内にある相
互に連結した複数のノードを持っている。図の階層構造
は、数ある構造の中における1つの例に過ぎない。好ま
しい実施形態において、IRツリー40は、少なくとも1
つのコンポーネントノード42と1つのコンテナノード
44を持っている。他の実施形態において、その他のカ
テゴリーを持つノードが、アプリケーションGUIを表す
ように特定されてもよい。
ック図である。IRツリー40は、階層型構造内にある相
互に連結した複数のノードを持っている。図の階層構造
は、数ある構造の中における1つの例に過ぎない。好ま
しい実施形態において、IRツリー40は、少なくとも1
つのコンポーネントノード42と1つのコンテナノード
44を持っている。他の実施形態において、その他のカ
テゴリーを持つノードが、アプリケーションGUIを表す
ように特定されてもよい。
【0057】ある実施形態のコンポーネントノード42
は、個々のSGUIコンポーネントを表している。コンポー
ネントノード42の下の位置においては、他のノードが
これ以上無いので、コンポーネントノード42は、IRツ
リー40の「葉」と見なしてもよい。ある実施形態のコ
ンテナノード44は、IRツリー40内における論理パネ
ルを表している。論理パネルは、装置プラットフォーム
の表示画面に表示するため、IRツリー40から作られた
プレゼンテーションのページ内で、異なるセクション、
または異なるパネルを表している。例えば、Eメールに
関するアプリケーション内において、コンテナノード4
4は、ユーザが受け取った全てのEメールを表示するウ
インドウを表すことができる。
は、個々のSGUIコンポーネントを表している。コンポー
ネントノード42の下の位置においては、他のノードが
これ以上無いので、コンポーネントノード42は、IRツ
リー40の「葉」と見なしてもよい。ある実施形態のコ
ンテナノード44は、IRツリー40内における論理パネ
ルを表している。論理パネルは、装置プラットフォーム
の表示画面に表示するため、IRツリー40から作られた
プレゼンテーションのページ内で、異なるセクション、
または異なるパネルを表している。例えば、Eメールに
関するアプリケーション内において、コンテナノード4
4は、ユーザが受け取った全てのEメールを表示するウ
インドウを表すことができる。
【0058】図に示す通り、コンテナノード44は、下
位の位置に自身と連結しているコンポーネントノード4
2、および/または他のコンテナノード44を持ってい
てもよい。IR40の下位に位置しているノードは、関連
しているサブ論理パネルと、上位の関連論理ノードが表
すセクションまたはパネルの一部分である関連している
SGUIコンポーネントを表している。例えば、Eメールを
表示するウインドウにおいて、下位にあるコンテナノー
ド44は、ウインドウ内で記述的なヘッダーを提供して
もよいし、そして接続先のコンポーネントノード42
は、受信したメールを分類する機能を提供してもよい。
位の位置に自身と連結しているコンポーネントノード4
2、および/または他のコンテナノード44を持ってい
てもよい。IR40の下位に位置しているノードは、関連
しているサブ論理パネルと、上位の関連論理ノードが表
すセクションまたはパネルの一部分である関連している
SGUIコンポーネントを表している。例えば、Eメールを
表示するウインドウにおいて、下位にあるコンテナノー
ド44は、ウインドウ内で記述的なヘッダーを提供して
もよいし、そして接続先のコンポーネントノード42
は、受信したメールを分類する機能を提供してもよい。
【0059】図3のIRツリー40における例で、最も高
い位置にあるルートコンテナノード44aは、全体的な
プレゼンテーションを表してもよい。その他のコンテナ
ノード44は、プレゼンテーション内で異なる論理パネ
ルを表しているので、ルートコンテナノード44aの階
層的な子供と考えてよい。コンテナノード44c、44
d、44e、44g、そして44hは、ルートコンテナ
ノード44aの一番下位のコンテナノードであると言え
る。逆に言えば、コンテナノード44b、44c、44
dは、ルートコンテナノード44aの直系の階層的な子
供である。さらに図にあるように、いくつかのコンテナ
ノード44の階層的な子供達はコンポーネントノード4
2である。例えば、コンテナノード44c、44dの子
供は、それぞれコンポーネントノード42g、42hと
コンポーネントノード42j、42kである。
い位置にあるルートコンテナノード44aは、全体的な
プレゼンテーションを表してもよい。その他のコンテナ
ノード44は、プレゼンテーション内で異なる論理パネ
ルを表しているので、ルートコンテナノード44aの階
層的な子供と考えてよい。コンテナノード44c、44
d、44e、44g、そして44hは、ルートコンテナ
ノード44aの一番下位のコンテナノードであると言え
る。逆に言えば、コンテナノード44b、44c、44
dは、ルートコンテナノード44aの直系の階層的な子
供である。さらに図にあるように、いくつかのコンテナ
ノード44の階層的な子供達はコンポーネントノード4
2である。例えば、コンテナノード44c、44dの子
供は、それぞれコンポーネントノード42g、42hと
コンポーネントノード42j、42kである。
【0060】またIRツリー40は、拡張性のあるアプリ
ケーションのタスク構造でもよい。タスク構造は、拡張
性のあるアプリケーションが実行するタスクに関連する
SGUIコンポーネントをグループ化することにより、表示
されてもよい。タスクという言葉は、装置プラットフォ
ームのユーザが、拡張性のあるアプリケーションで実行
できる機能を特定している。機能は、拡張性のあるアプ
リケーションと装置プラットフォームに依存している。
例えば、無線電話機(装置プラットフォーム)におけるE
メール機能(拡張性のあるアプリケーション)により、タ
ッチスクリーンを使いEメールを見ること、削除するこ
と、そして作成することができる。したがって、ユーザ
の指示を示しそして受け入れるSGUIコンポーネントは、
機能別にグループ化される。
ケーションのタスク構造でもよい。タスク構造は、拡張
性のあるアプリケーションが実行するタスクに関連する
SGUIコンポーネントをグループ化することにより、表示
されてもよい。タスクという言葉は、装置プラットフォ
ームのユーザが、拡張性のあるアプリケーションで実行
できる機能を特定している。機能は、拡張性のあるアプ
リケーションと装置プラットフォームに依存している。
例えば、無線電話機(装置プラットフォーム)におけるE
メール機能(拡張性のあるアプリケーション)により、タ
ッチスクリーンを使いEメールを見ること、削除するこ
と、そして作成することができる。したがって、ユーザ
の指示を示しそして受け入れるSGUIコンポーネントは、
機能別にグループ化される。
【0061】タスク構造は、特定のタスク(機能)に関す
るSGUIコンポーネント(コンポーネントノード42)を、
論理パネル(コンテナノード44)内にグループ化する。
コンテナノード44内によるグルーピングにより、装置
プラットフォームのディスプレイ上のSGUIコンポーネン
トの対応するグループが表すタスクを表示することがで
きる。例えば、図3において、タスク46はコンテナノ
ード44e、そしてその階層的な子供であるコンポーネ
ントノード42aと42bであってもよい。一方、タス
クは、複数のコンテナノード44と、それに対応するコ
ンポーネントノード42から成っていてもよい。
るSGUIコンポーネント(コンポーネントノード42)を、
論理パネル(コンテナノード44)内にグループ化する。
コンテナノード44内によるグルーピングにより、装置
プラットフォームのディスプレイ上のSGUIコンポーネン
トの対応するグループが表すタスクを表示することがで
きる。例えば、図3において、タスク46はコンテナノ
ード44e、そしてその階層的な子供であるコンポーネ
ントノード42aと42bであってもよい。一方、タス
クは、複数のコンテナノード44と、それに対応するコ
ンポーネントノード42から成っていてもよい。
【0062】ある実施形態において、SGUIコンポーネン
トのグルーピングにより、アプリケーションGUIが、タ
スクの優先度を示している制約を提供するため、プロパ
ティを特定する。プロパティは、対応するコンテナノー
ド44に対し、タスクの優先順位を添付してもよい。例
えば、タスクの優先順位は、特定の装置プラットフォー
ムに適しているタスクを特定しても良いし、異種装置プ
ラットフォームにおける別のタスクを特定しても良い
し、および/または、タスクおよび/または拡張性のある
アプリケーションが動いている装置プラットフォームに
関連する情報を特定しても良い。
トのグルーピングにより、アプリケーションGUIが、タ
スクの優先度を示している制約を提供するため、プロパ
ティを特定する。プロパティは、対応するコンテナノー
ド44に対し、タスクの優先順位を添付してもよい。例
えば、タスクの優先順位は、特定の装置プラットフォー
ムに適しているタスクを特定しても良いし、異種装置プ
ラットフォームにおける別のタスクを特定しても良い
し、および/または、タスクおよび/または拡張性のある
アプリケーションが動いている装置プラットフォームに
関連する情報を特定しても良い。
【0063】既に述べたように、アプリケーション開発
者は、その開発中に、拡張性のあるアプリケーション内
で、IRツリー40を作ってもよい。コンテナノードとコ
ンポーネントノードの階層構造を特定する他に、アプリ
ケーション開発者は、IRツリー40の論理構造、および
/またはIRツリー40のレイアウトパラメータに影響す
る制約を提供するプロパティを特定してもよい。プロパ
ティは、コンポーネントノード42(SGUIコンポーネン
ト)、コンテナノード44(論理パネル)、および/または
IRツリー40に対し、特定されてもよい。IRツリー40
のインスタンスは、特定のプロパティを含んでもよい
し、また特定のプロパティベースで作られてもよい。好
ましい実施形態において、プロパティの特定化は、アプ
リケーションGUI内において起こってもよい。他の実施
形態において、プロパティの特定化は、ターゲット装置
プラットフォーム内の拡張性のあるアプリケーションに
おいて、または他の関連ある装置またはアプリケーショ
ン内の拡張性のあるアプリケーションにおいて、どこで
も発生可能である。
者は、その開発中に、拡張性のあるアプリケーション内
で、IRツリー40を作ってもよい。コンテナノードとコ
ンポーネントノードの階層構造を特定する他に、アプリ
ケーション開発者は、IRツリー40の論理構造、および
/またはIRツリー40のレイアウトパラメータに影響す
る制約を提供するプロパティを特定してもよい。プロパ
ティは、コンポーネントノード42(SGUIコンポーネン
ト)、コンテナノード44(論理パネル)、および/または
IRツリー40に対し、特定されてもよい。IRツリー40
のインスタンスは、特定のプロパティを含んでもよい
し、また特定のプロパティベースで作られてもよい。好
ましい実施形態において、プロパティの特定化は、アプ
リケーションGUI内において起こってもよい。他の実施
形態において、プロパティの特定化は、ターゲット装置
プラットフォーム内の拡張性のあるアプリケーションに
おいて、または他の関連ある装置またはアプリケーショ
ン内の拡張性のあるアプリケーションにおいて、どこで
も発生可能である。
【0064】IRツリー40は、プレゼンテーションのペ
ージ内(プレゼンテーション部)において、アプリケーシ
ョンGUIのレイアウトを表してもよい。ある実施形態に
おいて、IRツリー40内の相互関連のパターンにより、
レイアウトストラクチャは、直系の階層的子供ノードに
より、高い水準の論理パネル用に特定されてもよい。ア
プリケーション開発者は、アプリケーションGUIで、コ
ンポーネントノード42とコンテナノード44用のレイ
アウト構造を示しているプロパティを特定してもよい。
プロパティは、コンテナノード44の階層的な子供であ
るSGUIコンポーネント(コンポーネントノード42)と論
理パネル(コンテナノード44)の位置を特定してもよ
い。例えば、コンポーネントノード42aにおけるレイ
アウト構造は、コンテナノード44eが表す論理パネル
の右上において、SGUIコンポーネントの位置を特定して
もよい。同様に、コンポーネントノード42bは、コン
テナノード44eが表す論理パネルの左上において、対
応するSGUIコンポーネントの位置を示しているレイアウ
ト構造を含んでいてもよい。コンテナノード44eも、
コンテナノード44bが表す論理パネルのセンターにお
いて、対応する論理パネル位置を特定するレイアウト構
造を含んでいてもよい。
ージ内(プレゼンテーション部)において、アプリケーシ
ョンGUIのレイアウトを表してもよい。ある実施形態に
おいて、IRツリー40内の相互関連のパターンにより、
レイアウトストラクチャは、直系の階層的子供ノードに
より、高い水準の論理パネル用に特定されてもよい。ア
プリケーション開発者は、アプリケーションGUIで、コ
ンポーネントノード42とコンテナノード44用のレイ
アウト構造を示しているプロパティを特定してもよい。
プロパティは、コンテナノード44の階層的な子供であ
るSGUIコンポーネント(コンポーネントノード42)と論
理パネル(コンテナノード44)の位置を特定してもよ
い。例えば、コンポーネントノード42aにおけるレイ
アウト構造は、コンテナノード44eが表す論理パネル
の右上において、SGUIコンポーネントの位置を特定して
もよい。同様に、コンポーネントノード42bは、コン
テナノード44eが表す論理パネルの左上において、対
応するSGUIコンポーネントの位置を示しているレイアウ
ト構造を含んでいてもよい。コンテナノード44eも、
コンテナノード44bが表す論理パネルのセンターにお
いて、対応する論理パネル位置を特定するレイアウト構
造を含んでいてもよい。
【0065】さらに、図3のIRツリー40の例におい
て、プレゼンテーションのページ48は、コンテナノー
ド44の階層的に関連のあるグループからコンポーネン
トノード42へと形成されていてもよい。図の例におい
て、ページ48は、コンテナノード44bで形成されて
いる。ページ48は、コンテナノード44b以下の関連
のある階層レベルが課したレイアウト構造に起因しても
よい。具体的に、44f内におけるコンテナノード44
g、44h、そして44b内における44e、44fの
特定化と同様に、対応するコンテナノード44e、44
g、44h内におけるコンポーネントノード42a、4
2b、42c、42d、42e、42f、のレイアウト
構造を特定するプロパティが、ページ48を作ることも
できる。他の実施形態において、他のレイアウト構造の
特定化に関連するIRツリー40における他のノードの階
層構造は、ページのフォーメーションに起因してもよ
い。
て、プレゼンテーションのページ48は、コンテナノー
ド44の階層的に関連のあるグループからコンポーネン
トノード42へと形成されていてもよい。図の例におい
て、ページ48は、コンテナノード44bで形成されて
いる。ページ48は、コンテナノード44b以下の関連
のある階層レベルが課したレイアウト構造に起因しても
よい。具体的に、44f内におけるコンテナノード44
g、44h、そして44b内における44e、44fの
特定化と同様に、対応するコンテナノード44e、44
g、44h内におけるコンポーネントノード42a、4
2b、42c、42d、42e、42f、のレイアウト
構造を特定するプロパティが、ページ48を作ることも
できる。他の実施形態において、他のレイアウト構造の
特定化に関連するIRツリー40における他のノードの階
層構造は、ページのフォーメーションに起因してもよ
い。
【0066】ターゲット装置プラットフォーム用のプレ
ゼンテーションのページが作られた時、SGUIアーキテク
チャは、提案されているレイアウト構造に従ってもよ
い。ある実施形態において、例えば、ターゲット装置プ
ラットフォームの表示画面を最大限に利用することに高
い優先順位が設定されている場合において、提案された
レイアウト構造に従うことを無視してもよい。
ゼンテーションのページが作られた時、SGUIアーキテク
チャは、提案されているレイアウト構造に従ってもよ
い。ある実施形態において、例えば、ターゲット装置プ
ラットフォームの表示画面を最大限に利用することに高
い優先順位が設定されている場合において、提案された
レイアウト構造に従うことを無視してもよい。
【0067】IRツリー40の装置独立型が持つ性質のせ
いで、異種装置プラットフォーム内における多様な機能
により、アプリケーションGUIが生成されたとき、レイ
アウト構造の特定化が難しくなる。例えば、許容される
ページの最大のサイズは、ターゲット装置プラットフォ
ームの表示画面のサイズに依存しており、開発時間を特
定するのは難しい。さらに、開発時間においては、SGUI
コンポーネントの実際サイズはわからない。SGUIコンポ
ーネントは、ターゲット装置プラットフォームの機能に
基づき、多種あるサイズの中から1つのSGUIコンポーネ
ントに変換するので、SGUIコンポーネントの実際サイズ
はわからない。
いで、異種装置プラットフォーム内における多様な機能
により、アプリケーションGUIが生成されたとき、レイ
アウト構造の特定化が難しくなる。例えば、許容される
ページの最大のサイズは、ターゲット装置プラットフォ
ームの表示画面のサイズに依存しており、開発時間を特
定するのは難しい。さらに、開発時間においては、SGUI
コンポーネントの実際サイズはわからない。SGUIコンポ
ーネントは、ターゲット装置プラットフォームの機能に
基づき、多種あるサイズの中から1つのSGUIコンポーネ
ントに変換するので、SGUIコンポーネントの実際サイズ
はわからない。
【0068】ある実施形態において、アプリケーション
開発者は、プレゼンテーション内で、SGUIコンポーネン
トに関するサイズを予測することは可能である。仮に、
その予測が正確(SGUIコンポーネントの変換のサイズに
近い)なら、ターゲット装置プラットフォームの表示画
面内のレイアウトにおけるSGUコンポーネント間の大き
な「穴」は、避けることができる。また別の実施形態に
おいて、SGUIアーキテクチャは、いわゆる「穴」を避け
るために、同じコンテナノード44(論理パネル)内で、
SGUIコンポーネントの似たサイズを保存するように努め
る。また他の実施形態において、自動レイアウト生成の
ためのフォーム、ターゲット装置プラットフォーム用レ
イアウトのアプリケーション開発者によるカスタマイゼ
ーション、および/またはSGUIコンポーネントのサイズ
の多様性を指定するための技術により、多様なレイアウ
ト構造は指定される。
開発者は、プレゼンテーション内で、SGUIコンポーネン
トに関するサイズを予測することは可能である。仮に、
その予測が正確(SGUIコンポーネントの変換のサイズに
近い)なら、ターゲット装置プラットフォームの表示画
面内のレイアウトにおけるSGUコンポーネント間の大き
な「穴」は、避けることができる。また別の実施形態に
おいて、SGUIアーキテクチャは、いわゆる「穴」を避け
るために、同じコンテナノード44(論理パネル)内で、
SGUIコンポーネントの似たサイズを保存するように努め
る。また他の実施形態において、自動レイアウト生成の
ためのフォーム、ターゲット装置プラットフォーム用レ
イアウトのアプリケーション開発者によるカスタマイゼ
ーション、および/またはSGUIコンポーネントのサイズ
の多様性を指定するための技術により、多様なレイアウ
ト構造は指定される。
【0069】タスクの優先順位とレイアウト構造を示す
プロパティの特定化に加えて、アプリケーション開発者
は、IRツリー40の論理構造、および/またはIRツリー
40のレイアウトパラメータに影響する制約を提供する
プロパティを特定してもよい。ある実施形態において、
コンテナノード44のレイアウト優先順位に関連してい
るプロパティは特定される。本実施形態のプロパティ
は、コンテナノード44がページ上に配置されているオ
ーダを特定する。最も高いレイアウト優先順位のコンテ
ナノード44は、表示画面内で最初のページに位置し、
かつ対応するコンポーネントノード42が特定するSGUI
コンポーネントを保持してもよい。例えば、装置プラッ
トフォームのユーザのために、あるタスクを易しくした
いというアプリケーション開発者は、対応するパネル
(コンテナノード44)に、高いレイアウト優先順位を設
定する。
プロパティの特定化に加えて、アプリケーション開発者
は、IRツリー40の論理構造、および/またはIRツリー
40のレイアウトパラメータに影響する制約を提供する
プロパティを特定してもよい。ある実施形態において、
コンテナノード44のレイアウト優先順位に関連してい
るプロパティは特定される。本実施形態のプロパティ
は、コンテナノード44がページ上に配置されているオ
ーダを特定する。最も高いレイアウト優先順位のコンテ
ナノード44は、表示画面内で最初のページに位置し、
かつ対応するコンポーネントノード42が特定するSGUI
コンポーネントを保持してもよい。例えば、装置プラッ
トフォームのユーザのために、あるタスクを易しくした
いというアプリケーション開発者は、対応するパネル
(コンテナノード44)に、高いレイアウト優先順位を設
定する。
【0070】他の実施形態において、レイアウトの制約
を特定するプロパティは、コンポーネントノード42に
含まれてもよい。レイアウトの制約は、同ページに互い
に隣接して配置される、2つまたはそれ以上のSGUIコン
ポーネントを特定してもよい。例えば、イエスを示して
いる選択可能なボタンとノーを示している選択可能なボ
タンは、ボタンが隣接していることを特定するレイアウ
トの制約を含んでもよい。
を特定するプロパティは、コンポーネントノード42に
含まれてもよい。レイアウトの制約は、同ページに互い
に隣接して配置される、2つまたはそれ以上のSGUIコン
ポーネントを特定してもよい。例えば、イエスを示して
いる選択可能なボタンとノーを示している選択可能なボ
タンは、ボタンが隣接していることを特定するレイアウ
トの制約を含んでもよい。
【0071】同様に他の実施形態で、プロパティは、コ
ンテナノード44内のレイアウトグループを特定しても
よい。レイアウトグループは、コンテナノード44内の
ノードが、レイアウト構造内で別ページに配置されるか
どうかを特定してもよい。ある実施形態において、直系
の階層的な子供としてコンポーネントノード42を持っ
ている全てのコンテナノード44は、レイアウトグルー
プに特定されない限り分割できない。同様に、直系の階
層的な子供としてコンポーネントノード42を持ってい
ない本実施形態の全てのコンテナノード44は分割可能
である。
ンテナノード44内のレイアウトグループを特定しても
よい。レイアウトグループは、コンテナノード44内の
ノードが、レイアウト構造内で別ページに配置されるか
どうかを特定してもよい。ある実施形態において、直系
の階層的な子供としてコンポーネントノード42を持っ
ている全てのコンテナノード44は、レイアウトグルー
プに特定されない限り分割できない。同様に、直系の階
層的な子供としてコンポーネントノード42を持ってい
ない本実施形態の全てのコンテナノード44は分割可能
である。
【0072】別実施形態において、プロパティはコンテ
ナノード44のラベルを特定できる機能を持っている。
ラベルは、論理パネルに対応付けられてもよいし、ペー
ジ間を移動するプレゼンテーション内において、ナビゲ
ーションバー/またはメニューを作ってもよい。他の実
施形態において、プロパティは、他の仕様や、論理コン
ディション、および/またはコンポーネントノード4
2、コンテナノード44、および/またはIRツリー40
に関連する付加機能を特定するのに利用されてもよい。
ナノード44のラベルを特定できる機能を持っている。
ラベルは、論理パネルに対応付けられてもよいし、ペー
ジ間を移動するプレゼンテーション内において、ナビゲ
ーションバー/またはメニューを作ってもよい。他の実
施形態において、プロパティは、他の仕様や、論理コン
ディション、および/またはコンポーネントノード4
2、コンテナノード44、および/またはIRツリー40
に関連する付加機能を特定するのに利用されてもよい。
【0073】再び図2に戻り、拡張性のあるGUIイベン
ト変換モジュール26は、ターゲット装置プラットフォ
ームのユーザインターフェイスが生成するGUIイベント
を変換する技術でもよい。ある実施形態において、拡張
性のあるGUIイベントモジュール26は、装置独立型のG
UIイベントAPIを持っている。装置独立型のGUIイベント
APIは、拡張性のあるアプリケーションに対するイベン
トを処理する。前にも述べたが、GUIイベントは、表示
画面上のSGUIコンポーネント内の状態の変化を表してい
るが、これは対応する装置プラットフォームに対応付け
られているユーザインターフェイスとのインターラクシ
ョンから起因している。
ト変換モジュール26は、ターゲット装置プラットフォ
ームのユーザインターフェイスが生成するGUIイベント
を変換する技術でもよい。ある実施形態において、拡張
性のあるGUIイベントモジュール26は、装置独立型のG
UIイベントAPIを持っている。装置独立型のGUIイベント
APIは、拡張性のあるアプリケーションに対するイベン
トを処理する。前にも述べたが、GUIイベントは、表示
画面上のSGUIコンポーネント内の状態の変化を表してい
るが、これは対応する装置プラットフォームに対応付け
られているユーザインターフェイスとのインターラクシ
ョンから起因している。
【0074】先行技術では、GUIイベントは、装置特定
型アプリケーションGUIアプリケーションプログラムイ
ンターフェイス(API)が定義している。装置特定型GUI A
PIは、GUIイベントを生成する特定装置の入出力方法に
接続されているGUIイベントを定義する。拡張性のあるG
UIイベントモジュール26は、異種装置プラットフォー
ム用のGUIイベントを変換するのに使われる。また、異
なる複数の入力方法で動くことのできる装置独立型のGU
Iイベント変換機を持っている。
型アプリケーションGUIアプリケーションプログラムイ
ンターフェイス(API)が定義している。装置特定型GUI A
PIは、GUIイベントを生成する特定装置の入出力方法に
接続されているGUIイベントを定義する。拡張性のあるG
UIイベントモジュール26は、異種装置プラットフォー
ム用のGUIイベントを変換するのに使われる。また、異
なる複数の入力方法で動くことのできる装置独立型のGU
Iイベント変換機を持っている。
【0075】ある実施形態において、GUIイベント変換
機は、アクションと呼ばれるアブストラクトなイベント
を定義する。アクションは入力方法から独立している。
例えば、ボタンとして動作するGUIコンポーネントに対
応付けられたアクションは、装置プラットフォームに依
存しているラップトップコンピュータのマウスクリッ
ク、ポケットコンピュータのスタイラスタップ、または
携帯電話のソフトキーから生成されてもよい。拡張性の
あるアプリケーションは、GUIイベント変換機のGUIイベ
ントを表すアクションにより提供されてもよい。そのよ
うに、GUIイベントを生成する入力方法は、拡張性のあ
るアプリケーションに対し、トランスペアレントであっ
てもよい。
機は、アクションと呼ばれるアブストラクトなイベント
を定義する。アクションは入力方法から独立している。
例えば、ボタンとして動作するGUIコンポーネントに対
応付けられたアクションは、装置プラットフォームに依
存しているラップトップコンピュータのマウスクリッ
ク、ポケットコンピュータのスタイラスタップ、または
携帯電話のソフトキーから生成されてもよい。拡張性の
あるアプリケーションは、GUIイベント変換機のGUIイベ
ントを表すアクションにより提供されてもよい。そのよ
うに、GUIイベントを生成する入力方法は、拡張性のあ
るアプリケーションに対し、トランスペアレントであっ
てもよい。
【0076】拡張性のあるGUIイベント変換モジュール
26は、プラットフォーム独立型アクションの拡張性の
あるユーザインターフェイスライブラリを、持ってい
る。拡張性のあるユーザインターフェイスライブラリ
は、拡張性のあるGUIコンポーネントライブラリ22、
または異なるライブラリに含まれていてもよい。ある実
施形態において、拡張性のあるGUIイベント変換モジュ
ール26は、装置プラットフォームの独立型GUIイベン
トAPIに基づいた論理マッピングを含んでいてもよい。
拡張性のあるアプリケーションの開発者は、装置プラッ
トフォーム特定型GUIイベントと同等のプラットフォー
ムの独立型アクションの間で、論理マッピング用の装置
プラットフォームの独立型APIを利用してもよい。その
ように、プラットフォーム独立型アクションは、対応す
る装置プラットフォームの特定型GUIイベントの結果と
して、拡張性のあるアプリケーションへと配信されても
よい。
26は、プラットフォーム独立型アクションの拡張性の
あるユーザインターフェイスライブラリを、持ってい
る。拡張性のあるユーザインターフェイスライブラリ
は、拡張性のあるGUIコンポーネントライブラリ22、
または異なるライブラリに含まれていてもよい。ある実
施形態において、拡張性のあるGUIイベント変換モジュ
ール26は、装置プラットフォームの独立型GUIイベン
トAPIに基づいた論理マッピングを含んでいてもよい。
拡張性のあるアプリケーションの開発者は、装置プラッ
トフォーム特定型GUIイベントと同等のプラットフォー
ムの独立型アクションの間で、論理マッピング用の装置
プラットフォームの独立型APIを利用してもよい。その
ように、プラットフォーム独立型アクションは、対応す
る装置プラットフォームの特定型GUIイベントの結果と
して、拡張性のあるアプリケーションへと配信されても
よい。
【0077】いくつかの拡張性のあるアプリケーション
において、プラットフォーム特定型GUIイベントとプラ
ットフォーム独立型アクション間におけるマッピング
は、装置プラットフォームの制約のために、できないか
もしれない。例えば、ユーザがイメージマップの特定の
ポイントクリックすると、拡張性のあるアプリケーショ
ンは、拡大または縮小できるインターラクティブマップ
を持っていてもよい。パソコンサイドでは、装置プラッ
トフォームの特定型マウスイベントは、マウスがクリッ
クされた特定の位置を把握する。しかしながら、無線電
話では、ユーザインターフェイスとして指示入力装置は
含まなくてもよい。そのように無線電話では、同等のプ
ラットフォームの独立型アクションをマッピングできな
いかもしれない。この場合、拡張性のあるGUIイベント
変換モジュール26のライブラリは、別段の定めがなけ
ればプラットフォーム独立型アクションが表す、プラッ
トフォーム特定入力方法用の装置プラットフォーム依存
型アクションを持っていてもよい。これに伴い、アプリ
ケーションGUIは、制約を伴うターゲット装置プラット
フォーム用のアプリケーションGUIをカスタマイズする
プロパティを持っていてもよい。ある実施形態におい
て、一般的に、装置プラットフォーム特定型GUIイベン
トは拡張性がないため、装置プラットフォームの独立型
アクションは、拡張性のあるアプリケーションの主要な
機能を実行するのに用いなくてもよい。本実施形態にお
いて、装置プラットフォーム依存型アクションは、主要
な機能に対する付加拡張機能として用いられてもよい。
において、プラットフォーム特定型GUIイベントとプラ
ットフォーム独立型アクション間におけるマッピング
は、装置プラットフォームの制約のために、できないか
もしれない。例えば、ユーザがイメージマップの特定の
ポイントクリックすると、拡張性のあるアプリケーショ
ンは、拡大または縮小できるインターラクティブマップ
を持っていてもよい。パソコンサイドでは、装置プラッ
トフォームの特定型マウスイベントは、マウスがクリッ
クされた特定の位置を把握する。しかしながら、無線電
話では、ユーザインターフェイスとして指示入力装置は
含まなくてもよい。そのように無線電話では、同等のプ
ラットフォームの独立型アクションをマッピングできな
いかもしれない。この場合、拡張性のあるGUIイベント
変換モジュール26のライブラリは、別段の定めがなけ
ればプラットフォーム独立型アクションが表す、プラッ
トフォーム特定入力方法用の装置プラットフォーム依存
型アクションを持っていてもよい。これに伴い、アプリ
ケーションGUIは、制約を伴うターゲット装置プラット
フォーム用のアプリケーションGUIをカスタマイズする
プロパティを持っていてもよい。ある実施形態におい
て、一般的に、装置プラットフォーム特定型GUIイベン
トは拡張性がないため、装置プラットフォームの独立型
アクションは、拡張性のあるアプリケーションの主要な
機能を実行するのに用いなくてもよい。本実施形態にお
いて、装置プラットフォーム依存型アクションは、主要
な機能に対する付加拡張機能として用いられてもよい。
【0078】図4は、変換マネージャモジュール20の
より詳細なブロック図における1つの実施形態である。
変換マネージャモジュール20は、変換ルールモジュー
ル50、サイズ変換コンポーネントモジュール52、代
替コンポーネントモジュール54、簡易GUI変換ルール
モジュール56、合成GUI変換ルールモジュール58、
ダイナミックレイアウトモジュール60、スタイルガイ
ドモジュール62とSGUIコンポーネントリストモジュー
ル64から成っている。他の実施形態において、変換マ
ネージャモジュール20内での機能は、本実施形態で使
用されているモジュールより少ない、または多いモジュ
ールで表されている。
より詳細なブロック図における1つの実施形態である。
変換マネージャモジュール20は、変換ルールモジュー
ル50、サイズ変換コンポーネントモジュール52、代
替コンポーネントモジュール54、簡易GUI変換ルール
モジュール56、合成GUI変換ルールモジュール58、
ダイナミックレイアウトモジュール60、スタイルガイ
ドモジュール62とSGUIコンポーネントリストモジュー
ル64から成っている。他の実施形態において、変換マ
ネージャモジュール20内での機能は、本実施形態で使
用されているモジュールより少ない、または多いモジュ
ールで表されている。
【0079】変換ルールモジュール50は、IRツリーを
動的に作るために、拡張性のあるGUIコンポーネントラ
イブラリモジュール22(図2)を利用してもよい。IRツ
リーの構造は、対応するプレゼンテーションのページに
あるIRツリー内にあるSGUIコンポーネントと、変換ルー
ルで選択的に変換するSGUIコンポーネントから成ってい
る。
動的に作るために、拡張性のあるGUIコンポーネントラ
イブラリモジュール22(図2)を利用してもよい。IRツ
リーの構造は、対応するプレゼンテーションのページに
あるIRツリー内にあるSGUIコンポーネントと、変換ルー
ルで選択的に変換するSGUIコンポーネントから成ってい
る。
【0080】変換ルールモジュール50は、IRツリー4
0(図3)におけるSGUIコンポーネントを変換するのに使
われる複数の変換ルールから成っている。ある実施形態
において、変換ルールモジュール50は、変換ルールの
2つのカテゴリを表しているサイズ変換コンポーネント
モジュール52と、代替コンポーネントモジュール54
から成っている。サイズ変換コンポーネントモジュール
52は、ターゲット装置プラットフォームの表示画面の
サイズをベースに、SGUIコンポーネントのサイズを調整
するルールを提供できる。代替コンポーネントモジュー
ル54は、IRツリー内におけるアプリケーションGUIを
表すSGUIコンポーネントの代わりに、代替のSGUIコンポ
ーネントを特定できる。
0(図3)におけるSGUIコンポーネントを変換するのに使
われる複数の変換ルールから成っている。ある実施形態
において、変換ルールモジュール50は、変換ルールの
2つのカテゴリを表しているサイズ変換コンポーネント
モジュール52と、代替コンポーネントモジュール54
から成っている。サイズ変換コンポーネントモジュール
52は、ターゲット装置プラットフォームの表示画面の
サイズをベースに、SGUIコンポーネントのサイズを調整
するルールを提供できる。代替コンポーネントモジュー
ル54は、IRツリー内におけるアプリケーションGUIを
表すSGUIコンポーネントの代わりに、代替のSGUIコンポ
ーネントを特定できる。
【0081】ある実施形態の代替コンポーネントモジュ
ール54は、代替のSGUIコンポーネントに対する2つの
カテゴリのルールを表している簡易GUI変換ルールモジ
ュール56と合成GUI変換ルールモジュール58から成
っている。簡易GUI変換ルールモジュール56は、SGUI
コンポーネントをターゲット装置プラットフォームに特
定するSGUIコンポーネントに変換するルールを提供す
る。
ール54は、代替のSGUIコンポーネントに対する2つの
カテゴリのルールを表している簡易GUI変換ルールモジ
ュール56と合成GUI変換ルールモジュール58から成
っている。簡易GUI変換ルールモジュール56は、SGUI
コンポーネントをターゲット装置プラットフォームに特
定するSGUIコンポーネントに変換するルールを提供す
る。
【0082】図5は、第1SGUIコンポーネント70か
ら、ターゲット装置プラットフォームに特定する第2SG
UIコンポーネント72に、変換ルールで変換する例を示
している。ターゲット装置プラットフォームの機能、タ
ーゲット装置プラットフォームのタイプ、ターゲット装
置プラットフォームのユーザインターフェイス、拡張性
のあるアプリケーションの機能、および/またはSGUIコ
ンポーネントのディスプレイに関するパラメータをベー
スに、SGUIコンポーネントはターゲット装置プラットフ
ォームに特定すると考えてよい。
ら、ターゲット装置プラットフォームに特定する第2SG
UIコンポーネント72に、変換ルールで変換する例を示
している。ターゲット装置プラットフォームの機能、タ
ーゲット装置プラットフォームのタイプ、ターゲット装
置プラットフォームのユーザインターフェイス、拡張性
のあるアプリケーションの機能、および/またはSGUIコ
ンポーネントのディスプレイに関するパラメータをベー
スに、SGUIコンポーネントはターゲット装置プラットフ
ォームに特定すると考えてよい。
【0083】図の例では、第1SGUIコンポーネント70
は、ユーザが「高」、「中」、「低」を選択可能な、いわ
ゆる優先度の選択リストを表している。同様に、第2SG
UIコンポーネント72は、優先度の選択ボタンを表して
いる。仮に、第1SGUIコンポーネント70とターゲット
装置プラットフォーム用のコンポネントノード42(図
3)を含んでいるIRツリー40(図3)はPDAだったが、簡
易GUI変換ルールモジュール56(図4)は、矢印74で
示す通り、第1SGUIコンポーネント70を第2SGUIコン
ポーネント72に変換する変換ルールを提供してもよ
い。
は、ユーザが「高」、「中」、「低」を選択可能な、いわ
ゆる優先度の選択リストを表している。同様に、第2SG
UIコンポーネント72は、優先度の選択ボタンを表して
いる。仮に、第1SGUIコンポーネント70とターゲット
装置プラットフォーム用のコンポネントノード42(図
3)を含んでいるIRツリー40(図3)はPDAだったが、簡
易GUI変換ルールモジュール56(図4)は、矢印74で
示す通り、第1SGUIコンポーネント70を第2SGUIコン
ポーネント72に変換する変換ルールを提供してもよ
い。
【0084】PDAの表示画面におけるサイズの限定、PDA
で利用可能なユーザインターフェイス、またはPDAや拡
張性のあるアプリケーションに関連性のある理由によ
り、本実施例における第2SGUIコンポーネント72は、
特定のものと考えられてもよい。この図における例は、
SGUIコンポーネントに適用可能な数ある変換ルール中の
一例にすぎない。
で利用可能なユーザインターフェイス、またはPDAや拡
張性のあるアプリケーションに関連性のある理由によ
り、本実施例における第2SGUIコンポーネント72は、
特定のものと考えられてもよい。この図における例は、
SGUIコンポーネントに適用可能な数ある変換ルール中の
一例にすぎない。
【0085】図4に再び戻り、合成GUI変換ルールモジ
ュール58は、合成SGUIコンポーネントをターゲット装
置プラットフォームに特定するSGUIコンポーネントに変
換する変換ルールを提供する。前にも述べた通り、合成
SGUIコンポーネントは、IRツリー(図3)におけるコンテ
ナノード44(図3)と対応するコンポーネントノード4
2(図3)により表されてもよい。
ュール58は、合成SGUIコンポーネントをターゲット装
置プラットフォームに特定するSGUIコンポーネントに変
換する変換ルールを提供する。前にも述べた通り、合成
SGUIコンポーネントは、IRツリー(図3)におけるコンテ
ナノード44(図3)と対応するコンポーネントノード4
2(図3)により表されてもよい。
【0086】図6は、第1合成SGUIコンポーネント76
から、ターゲット装置プラットフォームに特定する第2
合成SGUIコンポーネント78への変換例を示している。
から、ターゲット装置プラットフォームに特定する第2
合成SGUIコンポーネント78への変換例を示している。
【0087】図の例によると、第1合成SGUIコンポーネ
ント76は、複数のデータエントリ80、優先度セレク
ション82、そして好みセレクション84から成ってい
る。第2合成SGUIコンポーネント78は、ピックリスト
86とシングルデータエントリ88から成っている。図
5における例と同様、矢印90で示されているように、
第1合成SGUIコンポーネント76を第2合成SGUIコンポ
ーネント78に変換するのに、合成GUI変換ルールモジ
ュール58から利用可能な変換ルールが用いられてもよ
い。
ント76は、複数のデータエントリ80、優先度セレク
ション82、そして好みセレクション84から成ってい
る。第2合成SGUIコンポーネント78は、ピックリスト
86とシングルデータエントリ88から成っている。図
5における例と同様、矢印90で示されているように、
第1合成SGUIコンポーネント76を第2合成SGUIコンポ
ーネント78に変換するのに、合成GUI変換ルールモジ
ュール58から利用可能な変換ルールが用いられてもよ
い。
【0088】図4に再び触れるが、ダイナミックレイア
ウトモジュール60は、装置プラットフォーム依存型プ
レゼンテーションを表すIRツリーを構成してもよい。ダ
イナミックな構成とは、プレゼンテーションのページの
IRツリーが表すSGUIコンポーネントの配置と、選択的に
SGUIコンポーネントの変換することである。ある実施形
態において、レイアウト構造やアプリケーションGUIが
特定する他の制約に従い、IRツリーにより表されるSGUI
コンポーネントがページ上にあってもよい。さらに、ダ
イナミックレイアウトモジュール60は、プレゼンテー
ションを、適合性を確認するターゲット装置プラットフ
ォームの機能とを比べてもよい。例えば、制約に関する
ある機能は、プレゼンテーションのページサイズでもよ
い。ダイナミックレイアウトモジュール60が構成する
ページのサイズは、プレゼンテーションを表示するター
ゲット装置プラットフォームの表示画面サイズを超えて
はいけない。制約に関する他の機能例は、SGUIコンポー
ネントの最小の視覚サイズ、またはターゲット装置プラ
ットフォームに関する他の機能であってもよい。
ウトモジュール60は、装置プラットフォーム依存型プ
レゼンテーションを表すIRツリーを構成してもよい。ダ
イナミックな構成とは、プレゼンテーションのページの
IRツリーが表すSGUIコンポーネントの配置と、選択的に
SGUIコンポーネントの変換することである。ある実施形
態において、レイアウト構造やアプリケーションGUIが
特定する他の制約に従い、IRツリーにより表されるSGUI
コンポーネントがページ上にあってもよい。さらに、ダ
イナミックレイアウトモジュール60は、プレゼンテー
ションを、適合性を確認するターゲット装置プラットフ
ォームの機能とを比べてもよい。例えば、制約に関する
ある機能は、プレゼンテーションのページサイズでもよ
い。ダイナミックレイアウトモジュール60が構成する
ページのサイズは、プレゼンテーションを表示するター
ゲット装置プラットフォームの表示画面サイズを超えて
はいけない。制約に関する他の機能例は、SGUIコンポー
ネントの最小の視覚サイズ、またはターゲット装置プラ
ットフォームに関する他の機能であってもよい。
【0089】ダイナミックレイアウトモジュール60
は、変換ルールを選択する。そしてSGUIコンポーネント
を、機能または制約に従った形に変換するため、変換ル
ールモジュール50が利用可能な変換ルールを適用す
る。例えば、表示画面のサイズの制約を満たすため、ダ
イナミックレイアウトモジュール60は、もっとコンパ
クトなプレゼンテーションを作るために、変換ルールを
IRツリー内のSGUIコンポーネントに適用してもよい。変
換ルールは、拡張性のあるアプリケーション、ターゲッ
ト装置プラットフォームの表示画面サイズ、装置プラッ
トフォームのユーザインターフェイス機能、および/ま
たはディスプレイとターゲット装置プラットフォームと
の相互作用に関するパラメータにより、決められてもよ
い。
は、変換ルールを選択する。そしてSGUIコンポーネント
を、機能または制約に従った形に変換するため、変換ル
ールモジュール50が利用可能な変換ルールを適用す
る。例えば、表示画面のサイズの制約を満たすため、ダ
イナミックレイアウトモジュール60は、もっとコンパ
クトなプレゼンテーションを作るために、変換ルールを
IRツリー内のSGUIコンポーネントに適用してもよい。変
換ルールは、拡張性のあるアプリケーション、ターゲッ
ト装置プラットフォームの表示画面サイズ、装置プラッ
トフォームのユーザインターフェイス機能、および/ま
たはディスプレイとターゲット装置プラットフォームと
の相互作用に関するパラメータにより、決められてもよ
い。
【0090】ある実施形態において、ダイナミックレイ
アウトモジュール60は、その機能や制約をベースにプ
レゼンテーション用のページを生成してもよい。また別
の実施形態において、変換ルールの適用により、ターゲ
ット装置プラットフォームに特定する様々な構成のペー
ジセットが生成される。ページセットとは、予想される
装置プラットフォーム依存型プレゼンテーションの一部
分である。予想されるプレゼンテーション内で開発され
たページをベースに、ダイナミックレイアウトモジュー
ル60は、最も望ましい装置プラットフォーム依存型プ
レゼンテーションを得るために、ページセット内から、
選択的にページを利用してもよい。ダイナミックレイア
ウトモジュール60の望ましい特徴として、ページ数の
最少化、アプリケーションGUIが特定するプロパティに
従うこと、それぞれのページ用の表示画面を最大に利用
すること、および/またはプレゼンテーション、ターゲ
ット装置プラットフォームおよび/または拡張性のある
アプリケーションに対応している特徴である。
アウトモジュール60は、その機能や制約をベースにプ
レゼンテーション用のページを生成してもよい。また別
の実施形態において、変換ルールの適用により、ターゲ
ット装置プラットフォームに特定する様々な構成のペー
ジセットが生成される。ページセットとは、予想される
装置プラットフォーム依存型プレゼンテーションの一部
分である。予想されるプレゼンテーション内で開発され
たページをベースに、ダイナミックレイアウトモジュー
ル60は、最も望ましい装置プラットフォーム依存型プ
レゼンテーションを得るために、ページセット内から、
選択的にページを利用してもよい。ダイナミックレイア
ウトモジュール60の望ましい特徴として、ページ数の
最少化、アプリケーションGUIが特定するプロパティに
従うこと、それぞれのページ用の表示画面を最大に利用
すること、および/またはプレゼンテーション、ターゲ
ット装置プラットフォームおよび/または拡張性のある
アプリケーションに対応している特徴である。
【0091】さらに図4に示されているように、本実施
形態のダイナミックレイアウトモジュール60は、スタ
イルガイドモジュール62とSGUIコンポーネントリスト
モジュール64から成り立っている。また他の実施形態
において、少ないまたは多い数のモジュールが、機能を
表すため、ダイナミックレイアウトモジュール60内で
特定されてもよい。
形態のダイナミックレイアウトモジュール60は、スタ
イルガイドモジュール62とSGUIコンポーネントリスト
モジュール64から成り立っている。また他の実施形態
において、少ないまたは多い数のモジュールが、機能を
表すため、ダイナミックレイアウトモジュール60内で
特定されてもよい。
【0092】スタイルガイドモジュール62は、SGUIコ
ンポーネントに適用するため、少なくともスタイルガイ
ドパラメータセットを提供してもよい。スタイルガイド
パラメータは、プレゼンテーション内において、変わら
ない外観を提供するため、SGUIコンポーネントの視覚的
な外観を標準化してもよい。典型的なスタイルガイドパ
ラメータは、フォントサイズ、コンポネント間における
スペース、色彩などから成っている。ある実施形態にお
いて、スタイルガイドパラメータのセットは、全ての装
置プラットフォームに使われている。また別の実施形態
において、スタイルガイドパラメータのセットは、1つ
またはそれ以上のターゲット装置プラットフォームに対
応付けられていてもよい。
ンポーネントに適用するため、少なくともスタイルガイ
ドパラメータセットを提供してもよい。スタイルガイド
パラメータは、プレゼンテーション内において、変わら
ない外観を提供するため、SGUIコンポーネントの視覚的
な外観を標準化してもよい。典型的なスタイルガイドパ
ラメータは、フォントサイズ、コンポネント間における
スペース、色彩などから成っている。ある実施形態にお
いて、スタイルガイドパラメータのセットは、全ての装
置プラットフォームに使われている。また別の実施形態
において、スタイルガイドパラメータのセットは、1つ
またはそれ以上のターゲット装置プラットフォームに対
応付けられていてもよい。
【0093】SGUIコンポーネントリストモジュール64
は、予想されるSGUIコンポーネントのリストをコンパイ
ルする。予想されるSGUIコンポーネントのリストは、IR
ツリー内にあるSGUIコンポーネントの変換から生じるSG
UIコンポーネントを表してもよい。ダイナミックレイア
ウトモジュール60は、リスト作成のため、変換ルール
をIRツリー内にあるSGUIコンポーネントに適用してもよ
い。ある実施形態において、SGUIコンポーネントリスト
モジュール64が、リスト内のSGUIコンポーネントのサ
イズに応じて、SGUIコンポーネントのリストをコンパイ
ルしてもよい。
は、予想されるSGUIコンポーネントのリストをコンパイ
ルする。予想されるSGUIコンポーネントのリストは、IR
ツリー内にあるSGUIコンポーネントの変換から生じるSG
UIコンポーネントを表してもよい。ダイナミックレイア
ウトモジュール60は、リスト作成のため、変換ルール
をIRツリー内にあるSGUIコンポーネントに適用してもよ
い。ある実施形態において、SGUIコンポーネントリスト
モジュール64が、リスト内のSGUIコンポーネントのサ
イズに応じて、SGUIコンポーネントのリストをコンパイ
ルしてもよい。
【0094】ダイナミックレイアウトモジュール60
は、SGUIコンポーネントのリスト作成のため、変換ルー
ルモジュール50から選択的に適切な変換ルールを適用
してもよい。ある実施形態において、ダイナミックレイ
アウトモジュール60は、適切な変換ルールの選択にお
いて、ルールに基づいた技術を用いてもよい。その技術
は、2つの前提条件に基づき、選択的に変換ルールを適
用してもよい。最初の前提条件とは、変換するSGUIコン
ポーネントの特徴を考慮することである。第2の前提条
件とは、プレゼンテーション用のターゲット装置プラッ
トフォームの機能を考慮することである。
は、SGUIコンポーネントのリスト作成のため、変換ルー
ルモジュール50から選択的に適切な変換ルールを適用
してもよい。ある実施形態において、ダイナミックレイ
アウトモジュール60は、適切な変換ルールの選択にお
いて、ルールに基づいた技術を用いてもよい。その技術
は、2つの前提条件に基づき、選択的に変換ルールを適
用してもよい。最初の前提条件とは、変換するSGUIコン
ポーネントの特徴を考慮することである。第2の前提条
件とは、プレゼンテーション用のターゲット装置プラッ
トフォームの機能を考慮することである。
【0095】前提条件に加えて、ある実施形態では、ダ
イナミックレイアウトモジュール60のランキングか
ら、適切な変換ルールを選択してもよい。変換ルールの
ランキングは、変換ルールを適用した結果に基づいても
よい。例えば、多岐に渡っている拡張性のあるアプリケ
ーション用に、変換ルールが、どのくらいの確率で適正
な変換を作るかということに基づき、ランキングが決ま
るということである。よって、多岐に渡っている拡張性
のあるアプリケーション用で、かつ高い確率で適正な変
換が発生する変換ルールはランキングが高く、ある特定
の拡張性のあるアプリケーション用に特定している変換
ルールはランキングが低い。例えば、選択ボタン(図5
参照)に対する選択リスト(少ない数の選択可能なアイテ
ム)の変換は、世界的な規模で拡張性のあるアプリケー
ションにおいて適用されることにより、高いランキング
が指定されてもよい。
イナミックレイアウトモジュール60のランキングか
ら、適切な変換ルールを選択してもよい。変換ルールの
ランキングは、変換ルールを適用した結果に基づいても
よい。例えば、多岐に渡っている拡張性のあるアプリケ
ーション用に、変換ルールが、どのくらいの確率で適正
な変換を作るかということに基づき、ランキングが決ま
るということである。よって、多岐に渡っている拡張性
のあるアプリケーション用で、かつ高い確率で適正な変
換が発生する変換ルールはランキングが高く、ある特定
の拡張性のあるアプリケーション用に特定している変換
ルールはランキングが低い。例えば、選択ボタン(図5
参照)に対する選択リスト(少ない数の選択可能なアイテ
ム)の変換は、世界的な規模で拡張性のあるアプリケー
ションにおいて適用されることにより、高いランキング
が指定されてもよい。
【0096】SGUIコンポーネントリストの生成に続い
て、ダイナミックレイアウトモジュール60は、プレゼ
ンテーションにおける使用目的で、リストからSGUIコン
ポーネントを選択してもよい。ある実施形態において、
表示画面の最大のサイズに基づき、SGUIコンポーネント
が選択される。また他の実施形態において、ターゲット
装置プラットフォームの機能や拡張性のあるアプリケー
ションの機能、そして他の条件が、選択過程において用
いられてもよい。SGUIコンポーネントはリストから選択
され、プレゼンテーションを表すページ上にあってもよ
い。リストから選択されたSGUIコンポーネントは、リス
トを作るのに用いられたSGUIコンポーネントと置き換え
てもよい。SGUIコンポーネントの置き換えにより、装置
プラットフォームの独立型SGUIコンポーネントは、効果
的にターゲット装置プラットフォームに特定するSGUIコ
ンポーネントに変換する。
て、ダイナミックレイアウトモジュール60は、プレゼ
ンテーションにおける使用目的で、リストからSGUIコン
ポーネントを選択してもよい。ある実施形態において、
表示画面の最大のサイズに基づき、SGUIコンポーネント
が選択される。また他の実施形態において、ターゲット
装置プラットフォームの機能や拡張性のあるアプリケー
ションの機能、そして他の条件が、選択過程において用
いられてもよい。SGUIコンポーネントはリストから選択
され、プレゼンテーションを表すページ上にあってもよ
い。リストから選択されたSGUIコンポーネントは、リス
トを作るのに用いられたSGUIコンポーネントと置き換え
てもよい。SGUIコンポーネントの置き換えにより、装置
プラットフォームの独立型SGUIコンポーネントは、効果
的にターゲット装置プラットフォームに特定するSGUIコ
ンポーネントに変換する。
【0097】ある実施形態において、ページは、表示画
面の最大のサイズと比較されてもよい。この実施形態に
おいて、ページを構成するSGUIコンポーネントを縮小す
るか、または拡大するかにより、ダイナミックレイアウ
トモジュール60は、リストから大きな、または小さな
サイズのSGUIコンポーネントを選択できる。ある実施形
態において、SGUIコンポーネントに対応するリスト内で
似たサイズのSGUIコンポーネントがあるところで、SGUI
コンポーネントの選択は、リスト内でSGUIコンポーネン
トを作るのに用いられる変換ルール(既に紹介済み)のラ
ンキングに基づいてもよい。
面の最大のサイズと比較されてもよい。この実施形態に
おいて、ページを構成するSGUIコンポーネントを縮小す
るか、または拡大するかにより、ダイナミックレイアウ
トモジュール60は、リストから大きな、または小さな
サイズのSGUIコンポーネントを選択できる。ある実施形
態において、SGUIコンポーネントに対応するリスト内で
似たサイズのSGUIコンポーネントがあるところで、SGUI
コンポーネントの選択は、リスト内でSGUIコンポーネン
トを作るのに用いられる変換ルール(既に紹介済み)のラ
ンキングに基づいてもよい。
【0098】本発明の好ましい実施形態において、ダイ
ナミックレイアウトモジュール60は、プレゼンテーシ
ョンに対応づけられているページを作るために、IRツリ
ーを通して、繰り返し処理を行うことができる。ある実
施形態において、ダイナミックレイアウトモジュール6
0によるプロセスは、IRツリーの最も低い階層レベルか
ら、高いレベルに向けて処理を行う。ダイナミックレイ
アウトモジュール60は、ページを満たすために、論理
パネルをプレゼンテーションのページに付け加えてもよ
い。ページが満たされてないときは、同じタイプの階層
的に関連のある論理パネル、または高いレベルにあるノ
ードが付け加えられてもよい。例えば、図3によれば、
コンテナノード44h、44f、そして44eが、ペー
ジ48を作るために、コンテナノード44gに付け加え
られてもよい。これとは逆に、ページがはみ出したとき
は、表示画面のサイズに合わせるために、ページ内にお
いて、SGUIコンポーネントの変換を実行してもよい。
ナミックレイアウトモジュール60は、プレゼンテーシ
ョンに対応づけられているページを作るために、IRツリ
ーを通して、繰り返し処理を行うことができる。ある実
施形態において、ダイナミックレイアウトモジュール6
0によるプロセスは、IRツリーの最も低い階層レベルか
ら、高いレベルに向けて処理を行う。ダイナミックレイ
アウトモジュール60は、ページを満たすために、論理
パネルをプレゼンテーションのページに付け加えてもよ
い。ページが満たされてないときは、同じタイプの階層
的に関連のある論理パネル、または高いレベルにあるノ
ードが付け加えられてもよい。例えば、図3によれば、
コンテナノード44h、44f、そして44eが、ペー
ジ48を作るために、コンテナノード44gに付け加え
られてもよい。これとは逆に、ページがはみ出したとき
は、表示画面のサイズに合わせるために、ページ内にお
いて、SGUIコンポーネントの変換を実行してもよい。
【0099】ページがおおむね満たされたとき、プレゼ
ンテーション用の新しいページが作られる。おおむね満
たされたページとは、利用可能なSGUIコンポーネント
で、ターゲット装置プラットフォームの表示画面を最大
化することである。ある実施形態において、おおむね満
たされたページとは、およそ95%から100%の割合
で、ターゲット装置プラットフォームの表示画面を満た
していることである。レイアウト構造、他の特定されて
る制約、および/またはSGUIコンポーネントは表示画面
が完全に満たされることを防ぐが、おおむね満たされた
ページ内では、現条件のもとで満たされていない部分を
最大限に活用する。
ンテーション用の新しいページが作られる。おおむね満
たされたページとは、利用可能なSGUIコンポーネント
で、ターゲット装置プラットフォームの表示画面を最大
化することである。ある実施形態において、おおむね満
たされたページとは、およそ95%から100%の割合
で、ターゲット装置プラットフォームの表示画面を満た
していることである。レイアウト構造、他の特定されて
る制約、および/またはSGUIコンポーネントは表示画面
が完全に満たされることを防ぐが、おおむね満たされた
ページ内では、現条件のもとで満たされていない部分を
最大限に活用する。
【0100】図7は、図3のIRツリー40を参照しなが
ら、図4の変換モジュール20のある実施形態の動作を
示しているブロック図である。変換モジュール20の動
作は、ブロック100で始まる。変換モジュール20
は、好ましくは、以下においてIRツリー40をインスタ
ンス化し、そして取り除くことにより発生する。ブロッ
ク102では、IRツリー40において、最も高いレイア
ウト優先度を持つ最も低いレベルにあるコンテナノード
44が特定される。低いレベルにあるコンテナノード
は、SGUIコンポーネント(コンポーネントノード42)を
表す階層的な子供ノードである。図3におけるIRツリー
40の例では、コンテナノード44c、44d、44
e、44g、そして44hが、最も低いレベルにあるコ
ンテナノードである。レイアウトの優先度は、アプリケ
ーションGUIのプロパティにより特定される。ここでは
動作を説明する目的上、図3のコンテナノード44g
が、最も高いレイアウト優先度を持っているとする。
ら、図4の変換モジュール20のある実施形態の動作を
示しているブロック図である。変換モジュール20の動
作は、ブロック100で始まる。変換モジュール20
は、好ましくは、以下においてIRツリー40をインスタ
ンス化し、そして取り除くことにより発生する。ブロッ
ク102では、IRツリー40において、最も高いレイア
ウト優先度を持つ最も低いレベルにあるコンテナノード
44が特定される。低いレベルにあるコンテナノード
は、SGUIコンポーネント(コンポーネントノード42)を
表す階層的な子供ノードである。図3におけるIRツリー
40の例では、コンテナノード44c、44d、44
e、44g、そして44hが、最も低いレベルにあるコ
ンテナノードである。レイアウトの優先度は、アプリケ
ーションGUIのプロパティにより特定される。ここでは
動作を説明する目的上、図3のコンテナノード44g
が、最も高いレイアウト優先度を持っているとする。
【0101】スタイルガイドモジュール62は、ブロッ
ク104において、特定のコンテナノード44(コンテ
ナノード44g)に対応付けられているSGUIコンポーネ
ント(コンポーネントノード42cと42d)に対し、タ
ーゲット装置プラットフォームに対応するスタイルガイ
ドパラメータセットを適用する。ブロック106におい
て、SGUIコンポーネントは、IRツリー40のレイアウト
構造とアプリケーションGUIに特定される制約に従い、
プレゼンテーションのページ上に配置される。ブロック
108において、ページのサイズが決定する。ブロック
110において、ページからはみ出したかどうかが決ま
る。ページのサイズがターゲット装置プラットフォーム
の表示画面のサイズより大きければ、ページからはみ出
していることになる。
ク104において、特定のコンテナノード44(コンテ
ナノード44g)に対応付けられているSGUIコンポーネ
ント(コンポーネントノード42cと42d)に対し、タ
ーゲット装置プラットフォームに対応するスタイルガイ
ドパラメータセットを適用する。ブロック106におい
て、SGUIコンポーネントは、IRツリー40のレイアウト
構造とアプリケーションGUIに特定される制約に従い、
プレゼンテーションのページ上に配置される。ブロック
108において、ページのサイズが決定する。ブロック
110において、ページからはみ出したかどうかが決ま
る。ページのサイズがターゲット装置プラットフォーム
の表示画面のサイズより大きければ、ページからはみ出
していることになる。
【0102】図8のブロック114において、ページが
はみ出したら、適切な変換ルールが選択され、ダイナミ
ックレイアウトモジュール60により、っそのルールが
SGUIコンポーネントに適用される。ブロック116にお
いて、予想されるSGUIコンポーネントのリストが作成さ
れ、サイズに従いながらSGUIコンポーネントリストモジ
ュール64と共にコンパイルされる。ブロック118に
おいて、例えば縮小される必要のあるサイズ等の条件を
ベースにしたリストから、SGUIコンポーネントは特定さ
れる。ブロック120において、リスト内の1つ以上の
SGUIコンポーネントが特定されるかどうかが決定され
る。もしノーなら、ブロック122において、特定され
たSGUIコンポーネントが選択される。ブロック124に
おいて、選択されたSGUIコンポーネントが、ページ(ブ
ロック106)内において、以前に表示された対応するS
GUIコンポーネントと交換され、動作は図7のブロック
104に戻る。もし複数のSGUIコンポーネントが特定さ
れたら、最も高いランクの変換ルールから作られたSGUI
コンポーネントが、ブロック125において選択され、
動作はブロック124に進む。
はみ出したら、適切な変換ルールが選択され、ダイナミ
ックレイアウトモジュール60により、っそのルールが
SGUIコンポーネントに適用される。ブロック116にお
いて、予想されるSGUIコンポーネントのリストが作成さ
れ、サイズに従いながらSGUIコンポーネントリストモジ
ュール64と共にコンパイルされる。ブロック118に
おいて、例えば縮小される必要のあるサイズ等の条件を
ベースにしたリストから、SGUIコンポーネントは特定さ
れる。ブロック120において、リスト内の1つ以上の
SGUIコンポーネントが特定されるかどうかが決定され
る。もしノーなら、ブロック122において、特定され
たSGUIコンポーネントが選択される。ブロック124に
おいて、選択されたSGUIコンポーネントが、ページ(ブ
ロック106)内において、以前に表示された対応するS
GUIコンポーネントと交換され、動作は図7のブロック
104に戻る。もし複数のSGUIコンポーネントが特定さ
れたら、最も高いランクの変換ルールから作られたSGUI
コンポーネントが、ブロック125において選択され、
動作はブロック124に進む。
【0103】ブロック110(図7)においてページが満
たされていない場合、図9のブロック126において、
ページが満たされていないことが決定される。ページの
サイズが、ターゲット装置プラットフォームの表示画面
のサイズより小さい時、ページは満たされていない。も
しページが満たされないと決定した時、ブロック128
において、まだページ上に置かれてない兄弟ノード(図
3のコンテナノード44h)の特定作業が行われる。も
し兄弟ノードが置かれていない場合、最も高い優先度を
持つ特定された兄弟ノードが、ブロック144において
選択され、そして選択されたノードの処理を始めるた
め、動作は図7のブロック104に戻る。もし兄弟ノー
ドが既に置かれているなら(または存在しないなら)、
次に高い階層レベル(図3のコンテナノード44f)から
の関連ノードが、ブロック130において特定される。
たされていない場合、図9のブロック126において、
ページが満たされていないことが決定される。ページの
サイズが、ターゲット装置プラットフォームの表示画面
のサイズより小さい時、ページは満たされていない。も
しページが満たされないと決定した時、ブロック128
において、まだページ上に置かれてない兄弟ノード(図
3のコンテナノード44h)の特定作業が行われる。も
し兄弟ノードが置かれていない場合、最も高い優先度を
持つ特定された兄弟ノードが、ブロック144において
選択され、そして選択されたノードの処理を始めるた
め、動作は図7のブロック104に戻る。もし兄弟ノー
ドが既に置かれているなら(または存在しないなら)、
次に高い階層レベル(図3のコンテナノード44f)から
の関連ノードが、ブロック130において特定される。
【0104】ブロック132において、ルートコンテナ
ノード(コンテナノード44a)かどうかを決めるのに、
次に高い階層レベルからのノードが確認される。もしイ
エスなら、ブロック134において、まだページ上に置
かれていない付加的な最も低いレベルのコンテナノード
の有無を調べるためにIRツリーを確認する。もしそのよ
うな付加的な最も低いレベルのコンテナノードが存在す
るなら、最も低いレベルにあり、そして次に高い優先度
を持っている別のコンテナノード44(図3)を特定する
ため、動作はブロック102(図7)へ戻る。もしそのよ
うな付加的で最も低いレベルのコンテナノードが存在し
ないなら、動作はブロック136で終わる。
ノード(コンテナノード44a)かどうかを決めるのに、
次に高い階層レベルからのノードが確認される。もしイ
エスなら、ブロック134において、まだページ上に置
かれていない付加的な最も低いレベルのコンテナノード
の有無を調べるためにIRツリーを確認する。もしそのよ
うな付加的な最も低いレベルのコンテナノードが存在す
るなら、最も低いレベルにあり、そして次に高い優先度
を持っている別のコンテナノード44(図3)を特定する
ため、動作はブロック102(図7)へ戻る。もしそのよ
うな付加的で最も低いレベルのコンテナノードが存在し
ないなら、動作はブロック136で終わる。
【0105】ブロック132に戻り、次に高い階層レベ
ルのノード(図3のコンテナノード44f)が、ルートコ
ンテナノード(コンテナノード44a)でない場合、ブロ
ック138において、ノードが以前に置かれたかどうか
を決める。ノードが以前に置かれていないなら、ノード
処理を始めるために、動作はブロック104(図7)へ戻
る。ノードが以前に置かれているなら、ブロック140
において、次の高い階層レベルにあるノードの兄弟ノー
ド(図3のコンテナノード44e)が置かれていないかど
うかが判定される。兄弟ノードがページ内で既に置かれ
ているなら(または存在しないなら)、動作はブロック
134へ戻る。兄弟ノードが置かれていないなら、最も
高いレイアウト優先度を持っている兄弟ノードが、ブロ
ック142において選択され、選択されたノードの処理
を始めるため、動作はブロック104(図7)へ戻る。
ルのノード(図3のコンテナノード44f)が、ルートコ
ンテナノード(コンテナノード44a)でない場合、ブロ
ック138において、ノードが以前に置かれたかどうか
を決める。ノードが以前に置かれていないなら、ノード
処理を始めるために、動作はブロック104(図7)へ戻
る。ノードが以前に置かれているなら、ブロック140
において、次の高い階層レベルにあるノードの兄弟ノー
ド(図3のコンテナノード44e)が置かれていないかど
うかが判定される。兄弟ノードがページ内で既に置かれ
ているなら(または存在しないなら)、動作はブロック
134へ戻る。兄弟ノードが置かれていないなら、最も
高いレイアウト優先度を持っている兄弟ノードが、ブロ
ック142において選択され、選択されたノードの処理
を始めるため、動作はブロック104(図7)へ戻る。
【0106】ブロック126へ戻り、ページが満たされ
ていない場合、ブロック146において、ページはおお
むね満たされていると見なされる。ブロック148にお
いて、残りのSGUIコンポーネントを置くために、新しい
ページが割り当てられ、動作はブロック134へ戻る。
ていない場合、ブロック146において、ページはおお
むね満たされていると見なされる。ブロック148にお
いて、残りのSGUIコンポーネントを置くために、新しい
ページが割り当てられ、動作はブロック134へ戻る。
【0107】別の実施形態において、ページが満たされ
たと判断されると、リストからのSGUIコンポーネント
で、同ページにおける付加的な変化の生成に対して、追
加的な動作が実行されてもよい。追加的な動作に続い
て、ダイナミックレイアウトモジュール60は、既に前
述した通り、最も望ましい装置プラットフォームの依存
型プレゼンテーションを選択してもよい。
たと判断されると、リストからのSGUIコンポーネント
で、同ページにおける付加的な変化の生成に対して、追
加的な動作が実行されてもよい。追加的な動作に続い
て、ダイナミックレイアウトモジュール60は、既に前
述した通り、最も望ましい装置プラットフォームの依存
型プレゼンテーションを選択してもよい。
【0108】通信システム内におけるSGUIアーキテクチ
ャの利用例が説明される。図10は、ネットワーク20
8に対し、動作可能な通信内において、装置プラットフ
ォーム202、変換サーバ204、そしてライブラリサ
ーバ206を含んでいる通信システム200の実施例で
ある。装置プラットフォーム202は、既に述べられて
いる異種装置プラットフォームでもよい。変換サーバ2
04、そしてライブラリサーバ206は、ネットワーク
208内において、サーバ機能を実行するいかなる装置
であってもよい。ある実施形態において、動作システム
を含む1つまたはそれ以上のサーバコンピュータは、変
換サーバ204、そしてライブラリサーバ206として
動く。動作システムの例として、マイクロソフト、ウイ
ンドウズNT、UNIX、またはサーバ機能をサポートできる
他の動作システムが挙げられる。サーバ204、206
は、データを保存し、データにアクセスする機能や、SG
UIアーキテクチャの一部分などのアプリケーションを実
行する機能を持っていてもよい。ネットワーク208
は、インターネット、公衆または私設イントラネット、
イクストラネット、および/または無線、光フャイバ、
および/またはワイヤーライン通信を介し、データ送信
や指令が可能なネットワーク構成などであってもよい。
ャの利用例が説明される。図10は、ネットワーク20
8に対し、動作可能な通信内において、装置プラットフ
ォーム202、変換サーバ204、そしてライブラリサ
ーバ206を含んでいる通信システム200の実施例で
ある。装置プラットフォーム202は、既に述べられて
いる異種装置プラットフォームでもよい。変換サーバ2
04、そしてライブラリサーバ206は、ネットワーク
208内において、サーバ機能を実行するいかなる装置
であってもよい。ある実施形態において、動作システム
を含む1つまたはそれ以上のサーバコンピュータは、変
換サーバ204、そしてライブラリサーバ206として
動く。動作システムの例として、マイクロソフト、ウイ
ンドウズNT、UNIX、またはサーバ機能をサポートできる
他の動作システムが挙げられる。サーバ204、206
は、データを保存し、データにアクセスする機能や、SG
UIアーキテクチャの一部分などのアプリケーションを実
行する機能を持っていてもよい。ネットワーク208
は、インターネット、公衆または私設イントラネット、
イクストラネット、および/または無線、光フャイバ、
および/またはワイヤーライン通信を介し、データ送信
や指令が可能なネットワーク構成などであってもよい。
【0109】SGUIアーキテクチャは、通信システム20
0内で、動作可能である。ある実施形態において、拡張
性のあるアプリケーション210は、装置プラットフォ
ーム202において動作してもよい。さらに、拡張性の
あるGUIライブラリモジュール12とレンダーマネージ
ャモジュール16は、装置プラットフォーム202上に
おいて動作してもよい。さらに、この実施形態では、タ
スクマネージャモジュール18と変換マネージャモジュ
ール20は、変換サーバ204上のカスタマイジングモ
ジュール14内で動作してもよい。拡張性のあるアプリ
ケーション210、拡張性のあるGUIライブラリモジュ
ール12、カスタマイジングモジュール14、そしてレ
ンダーマネージャモジュール16は、既に説明された通
り、この実施形態でも同様の働きをする。
0内で、動作可能である。ある実施形態において、拡張
性のあるアプリケーション210は、装置プラットフォ
ーム202において動作してもよい。さらに、拡張性の
あるGUIライブラリモジュール12とレンダーマネージ
ャモジュール16は、装置プラットフォーム202上に
おいて動作してもよい。さらに、この実施形態では、タ
スクマネージャモジュール18と変換マネージャモジュ
ール20は、変換サーバ204上のカスタマイジングモ
ジュール14内で動作してもよい。拡張性のあるアプリ
ケーション210、拡張性のあるGUIライブラリモジュ
ール12、カスタマイジングモジュール14、そしてレ
ンダーマネージャモジュール16は、既に説明された通
り、この実施形態でも同様の働きをする。
【0110】SGUIアーキテクチャ内における異なる機能
と、拡張性のあるアプリケーションは、他の実施形態に
おける異種装置プラットフォームとサーバ間において、
配信されてもよい。例えば、装置プラットフォーム20
2上において、SGUIアーキテクチャと拡張性のあるアプ
リケーション210は、各動作をサポートするのに十分
な機能があるところで動作してもよい。また別の例にお
いて、SGUIアーキテクチャと拡張性のあるアプリケーシ
ョン210のある部分は、装置プラットフォーム202
上において動作してもよいし、SGUIアーキテクチャと拡
張性のあるアプリケーション210のその他の部分は、
その他の装置プラットフォーム上で動作してもよい。ま
た別の例において、SGUIアーキテクチャの大部分は、サ
ーバ上またはその他類似の装置上で動いてもよいし、そ
してSGUIアーキテクチャの不可欠な部分だけが、装置プ
ラットフォーム202上において動作してもよい。
と、拡張性のあるアプリケーションは、他の実施形態に
おける異種装置プラットフォームとサーバ間において、
配信されてもよい。例えば、装置プラットフォーム20
2上において、SGUIアーキテクチャと拡張性のあるアプ
リケーション210は、各動作をサポートするのに十分
な機能があるところで動作してもよい。また別の例にお
いて、SGUIアーキテクチャと拡張性のあるアプリケーシ
ョン210のある部分は、装置プラットフォーム202
上において動作してもよいし、SGUIアーキテクチャと拡
張性のあるアプリケーション210のその他の部分は、
その他の装置プラットフォーム上で動作してもよい。ま
た別の例において、SGUIアーキテクチャの大部分は、サ
ーバ上またはその他類似の装置上で動いてもよいし、そ
してSGUIアーキテクチャの不可欠な部分だけが、装置プ
ラットフォーム202上において動作してもよい。
【0111】ある実施形態では、拡張性のあるGUIコン
ポーネントライブラリ22全体(図2)は、拡張性のある
GUIライブラリモジュール12内において、装置プラッ
トフォーム202に保存されてもよい。この実施形態で
は、変換サーバ204は、ネットワーク208経由で、
拡張性のあるGUIコンポーネントライブラリへアクセス
してもよい。既に説明されているが、変換マネージャ2
0は、GUIコンポーネントの変換中に、拡張性のあるGUI
コンポーネントライブラリへアクセスしてもよい。
ポーネントライブラリ22全体(図2)は、拡張性のある
GUIライブラリモジュール12内において、装置プラッ
トフォーム202に保存されてもよい。この実施形態で
は、変換サーバ204は、ネットワーク208経由で、
拡張性のあるGUIコンポーネントライブラリへアクセス
してもよい。既に説明されているが、変換マネージャ2
0は、GUIコンポーネントの変換中に、拡張性のあるGUI
コンポーネントライブラリへアクセスしてもよい。
【0112】別の実施形態において、拡張性のあるGUI
コンポーネントライブラリ22のサブセットと共に、拡
張性のあるGUIライブラリモジュール12の1部は、装
置プラットフォーム202に保存されてもよい。拡張性
のあるGUIコンポーネントライブラリ22の保存につい
ては、そのサブセットに限られているが、その理由は、
例えば、装置プラットフォーム202の限られた保存機
能や検索結果の増加、そして装置プラットフォーム20
2および/または拡張性のあるアプリケーション210
の動作に関する理由である。拡張性のあるGUIコンポー
ネントライブラリ22のサブセットは、装置プラットフ
ォーム202が頻繁に用いるSGUIコンポーネントを含ん
でいてもよい。この実施形態では、拡張性のあるGUIコ
ンポーネントライブラリ22全体(図2)と共に、拡張性
のあるGUIライブラリモジュール12の1部が、ライブ
ラリサーバ206に保存され、そして必要があれば、装
置プラットフォーム202により、ネットワーク208
を介してアクセスされる。またカスタマイジングモジュ
ール14は、装置プラットフォーム202内の拡張性の
あるGUIコンポーネントライブラリ22のサブセット、
および/またはライブラリサーバ206内の拡張性のあ
るGUIコンポーネントライブラリ22全体にアクセスし
てもよい。変換サーバ204は、装置プラットフォーム
202からと変換サーバ204自身からのアクセスのた
めに、拡張性のあるGUIコンポーネントライブラリ22
を保存してもよい。
コンポーネントライブラリ22のサブセットと共に、拡
張性のあるGUIライブラリモジュール12の1部は、装
置プラットフォーム202に保存されてもよい。拡張性
のあるGUIコンポーネントライブラリ22の保存につい
ては、そのサブセットに限られているが、その理由は、
例えば、装置プラットフォーム202の限られた保存機
能や検索結果の増加、そして装置プラットフォーム20
2および/または拡張性のあるアプリケーション210
の動作に関する理由である。拡張性のあるGUIコンポー
ネントライブラリ22のサブセットは、装置プラットフ
ォーム202が頻繁に用いるSGUIコンポーネントを含ん
でいてもよい。この実施形態では、拡張性のあるGUIコ
ンポーネントライブラリ22全体(図2)と共に、拡張性
のあるGUIライブラリモジュール12の1部が、ライブ
ラリサーバ206に保存され、そして必要があれば、装
置プラットフォーム202により、ネットワーク208
を介してアクセスされる。またカスタマイジングモジュ
ール14は、装置プラットフォーム202内の拡張性の
あるGUIコンポーネントライブラリ22のサブセット、
および/またはライブラリサーバ206内の拡張性のあ
るGUIコンポーネントライブラリ22全体にアクセスし
てもよい。変換サーバ204は、装置プラットフォーム
202からと変換サーバ204自身からのアクセスのた
めに、拡張性のあるGUIコンポーネントライブラリ22
を保存してもよい。
【0113】また別の実施形態において、変換サーバ2
04は、GUIライブラリモジュール12の一部分を持っ
ていてもよい。例えば、装置プラットフォーム202の
制限された処理能力、装置プラットフォーム202のリ
ソースを保存する要求、そしてSGUIアーキテクチャの動
作に関する理由により、GUIライブラリモジュール12
の一部分は、変換サーバ204内に保存されてもよい。
ある実施形態において、中間表示モジュール24(図2)
の一部分は、変換サーバ204に含まれていてもよい。
変換サーバ204に含まれている中間表示モジュールの
一部分は、モバイルコードをベースにしたIRツリーのイ
ンスタンスを作るために動作してもよい。この実施形態
において、モバイルコードは、拡張性のあるアプリケー
ション210のアプリケーションGUIから、ネットワー
ク208を介して、変換サーバ204へ送信されてもよ
い。中間表示モジュールの一部分は、アプリケーション
GUIを表すIRツリーのインスタンスを作るために、モバ
イルコードを実行してもよい。
04は、GUIライブラリモジュール12の一部分を持っ
ていてもよい。例えば、装置プラットフォーム202の
制限された処理能力、装置プラットフォーム202のリ
ソースを保存する要求、そしてSGUIアーキテクチャの動
作に関する理由により、GUIライブラリモジュール12
の一部分は、変換サーバ204内に保存されてもよい。
ある実施形態において、中間表示モジュール24(図2)
の一部分は、変換サーバ204に含まれていてもよい。
変換サーバ204に含まれている中間表示モジュールの
一部分は、モバイルコードをベースにしたIRツリーのイ
ンスタンスを作るために動作してもよい。この実施形態
において、モバイルコードは、拡張性のあるアプリケー
ション210のアプリケーションGUIから、ネットワー
ク208を介して、変換サーバ204へ送信されてもよ
い。中間表示モジュールの一部分は、アプリケーション
GUIを表すIRツリーのインスタンスを作るために、モバ
イルコードを実行してもよい。
【0114】図11は、図10を参照しながら説明され
たSGUIアーキテクチャのある実施形態のにおける動作を
説明したブロック図である。拡張性のあるアプリケーシ
ョン210が、ターゲット装置プラットフォーム(装置
プラットフォーム202)へ移動、またはターゲット装
置プラットフォームから起動したとき、ブロック250
において動作は始まる。ブロック252において、拡張
性のあるアプリケーション210は、IRツリーのインス
タンスがターゲット装置プラットフォーム上において作
られるかどうか判断する。もしイエスならブロック25
4において、拡張性のあるアプリケーション210内で
アプリケーションGUIは、IRツリーのインスタンスを作
るために、GUIライブラリモジュール12と共に利用さ
れる。ブロック256において、アプリケーションGUI
を表しているIRツリーは、変換サーバ204に送信され
てもよい。もしIRツリーのインスタンスが、ターゲット
装置プラットフォーム上において作られないなら、ブロ
ック258において、モバイルコードが変換サーバ20
4に送信される。変換サーバ204は、ブロック260
において、アプリケーションGUIを表しているIRツリー
のインスタンスを作るために、モバイルコードを実行す
る。既に説明されているが、IRツリーは装置プラットフ
ォーム独立型で、そしてアプリケーションGUIに特定さ
れているプロパティを含んでいる。
たSGUIアーキテクチャのある実施形態のにおける動作を
説明したブロック図である。拡張性のあるアプリケーシ
ョン210が、ターゲット装置プラットフォーム(装置
プラットフォーム202)へ移動、またはターゲット装
置プラットフォームから起動したとき、ブロック250
において動作は始まる。ブロック252において、拡張
性のあるアプリケーション210は、IRツリーのインス
タンスがターゲット装置プラットフォーム上において作
られるかどうか判断する。もしイエスならブロック25
4において、拡張性のあるアプリケーション210内で
アプリケーションGUIは、IRツリーのインスタンスを作
るために、GUIライブラリモジュール12と共に利用さ
れる。ブロック256において、アプリケーションGUI
を表しているIRツリーは、変換サーバ204に送信され
てもよい。もしIRツリーのインスタンスが、ターゲット
装置プラットフォーム上において作られないなら、ブロ
ック258において、モバイルコードが変換サーバ20
4に送信される。変換サーバ204は、ブロック260
において、アプリケーションGUIを表しているIRツリー
のインスタンスを作るために、モバイルコードを実行す
る。既に説明されているが、IRツリーは装置プラットフ
ォーム独立型で、そしてアプリケーションGUIに特定さ
れているプロパティを含んでいる。
【0115】ブロック264において、ターゲット装置
プラットフォームの機能が、変換サーバ204に送信さ
れる。ブロック266において、タスクマネージャモジ
ュール18は、ターゲット装置プラットフォームの機能
として、IRツリーから、不必要な論理パネルおよび/ま
たはSGUIコンポーネントを削除する。ブロック268に
おいて、変換マネージャモジュール20は、タスクマネ
ージャモジュール18からIRツリーを受け取り、IRツリ
ーの変換を始める。IRツリーの変換においては、IRツリ
ーにおいて表されているSGUIコンポーネントの構成が実
行される。装置プラットフォームの依存型プレゼンテー
ションのレイアウトを作るため、IRツリーは変換する。
プラットフォームの機能が、変換サーバ204に送信さ
れる。ブロック266において、タスクマネージャモジ
ュール18は、ターゲット装置プラットフォームの機能
として、IRツリーから、不必要な論理パネルおよび/ま
たはSGUIコンポーネントを削除する。ブロック268に
おいて、変換マネージャモジュール20は、タスクマネ
ージャモジュール18からIRツリーを受け取り、IRツリ
ーの変換を始める。IRツリーの変換においては、IRツリ
ーにおいて表されているSGUIコンポーネントの構成が実
行される。装置プラットフォームの依存型プレゼンテー
ションのレイアウトを作るため、IRツリーは変換する。
【0116】再び図12に戻るが、変換の後、ブロック
270において、装置依存型IRツリーはターゲット装置
プラットフォームに送信される。ブロック272におい
て、レンダーマネージャモジュール16は、装置依存型
IRツリーの移動を開始し、SGUIコンポーネントのインス
タンス化を開始する。ブロック274において、レンダ
ーマネージャモジュール16は、SGUIコンポーネントが
ターゲット装置プラットフォーム202内において、拡
張性のあるGUIコンポーネントライブラリ22に保存さ
れているかを判断する。もしイエスなら、ブロック27
6において、レンダーマネージャモジュール16は、装
置プラットフォーム202の表示画面上に、カスタマイ
ズされたアプリケーションGUIを表示することを指示す
る。SGUIコンポーネントが、ターゲット装置プラットフ
ォーム202内で、拡張性のあるGUIコンポーネントラ
イブラリ22内に保存されていないなら、ブロック27
8において、レンダーマネージャモジュール16は、ラ
イブラリサーバ206から装置プラットフォーム202
に対し、SGUIコンポーネントをダウンロードする。レン
ダーマネージャモジュール16は、装置プラットフォー
ム202の表示画面上に、装置依存型アプリケーション
GUIの表示を指示する。
270において、装置依存型IRツリーはターゲット装置
プラットフォームに送信される。ブロック272におい
て、レンダーマネージャモジュール16は、装置依存型
IRツリーの移動を開始し、SGUIコンポーネントのインス
タンス化を開始する。ブロック274において、レンダ
ーマネージャモジュール16は、SGUIコンポーネントが
ターゲット装置プラットフォーム202内において、拡
張性のあるGUIコンポーネントライブラリ22に保存さ
れているかを判断する。もしイエスなら、ブロック27
6において、レンダーマネージャモジュール16は、装
置プラットフォーム202の表示画面上に、カスタマイ
ズされたアプリケーションGUIを表示することを指示す
る。SGUIコンポーネントが、ターゲット装置プラットフ
ォーム202内で、拡張性のあるGUIコンポーネントラ
イブラリ22内に保存されていないなら、ブロック27
8において、レンダーマネージャモジュール16は、ラ
イブラリサーバ206から装置プラットフォーム202
に対し、SGUIコンポーネントをダウンロードする。レン
ダーマネージャモジュール16は、装置プラットフォー
ム202の表示画面上に、装置依存型アプリケーション
GUIの表示を指示する。
【0117】既に説明されたSGUIアーキテクチャの実施
形態は、拡張性のあるアプリケーションのアプリケーシ
ョンGUIに対し、装置プラットフォーム独立型の動作を
提供する。SGUIアーキテクチャの拡張性により、拡張性
のあるアプリケーションが、多様な表示画面のサイズ、
入力方法、そして異種装置プラットフォームのユーザイ
ンターフェイスに対応付けられたGUIライブラリで動作
することを可能にする。さらに、SGUIアーキテクチャの
全体デザインにより、拡張性のあるアプリケーションの
開発者が、拡張性のあるアプリケーションが動作可能な
異種装置プラットフォームのユーザインターフェイスに
関連する複雑さを回避できる一方、容易にSGUIアーキテ
クチャに詳しくなる。
形態は、拡張性のあるアプリケーションのアプリケーシ
ョンGUIに対し、装置プラットフォーム独立型の動作を
提供する。SGUIアーキテクチャの拡張性により、拡張性
のあるアプリケーションが、多様な表示画面のサイズ、
入力方法、そして異種装置プラットフォームのユーザイ
ンターフェイスに対応付けられたGUIライブラリで動作
することを可能にする。さらに、SGUIアーキテクチャの
全体デザインにより、拡張性のあるアプリケーションの
開発者が、拡張性のあるアプリケーションが動作可能な
異種装置プラットフォームのユーザインターフェイスに
関連する複雑さを回避できる一方、容易にSGUIアーキテ
クチャに詳しくなる。
【0118】SGUIアーキテクチャにより、拡張性のある
アプリケーション内において、装置プラットフォーム独
立型アプリケーションGUIが使用される。アプリケーシ
ョンGUIは、SGUIアーキテクチャにより装置プラットフ
ォームに対してカスタマイズされた中間表示により表わ
されてもよい。中間表示のカスタマイゼーションは、拡
張性のあるアプリケーションに特定されたプロパティ
や、ターゲット装置プラットフォームの機能に基づいて
もよい。したがって、装置プラットフォーム独立型のア
プリケーションGUIは、複数の異種装置プラットフォー
ムの表示用の装置プラットフォーム依存型のアプリケー
ションGUIに対するSGUIアーキテクチャにより、カスタ
マイズされてもよい。
アプリケーション内において、装置プラットフォーム独
立型アプリケーションGUIが使用される。アプリケーシ
ョンGUIは、SGUIアーキテクチャにより装置プラットフ
ォームに対してカスタマイズされた中間表示により表わ
されてもよい。中間表示のカスタマイゼーションは、拡
張性のあるアプリケーションに特定されたプロパティ
や、ターゲット装置プラットフォームの機能に基づいて
もよい。したがって、装置プラットフォーム独立型のア
プリケーションGUIは、複数の異種装置プラットフォー
ムの表示用の装置プラットフォーム依存型のアプリケー
ションGUIに対するSGUIアーキテクチャにより、カスタ
マイズされてもよい。
【0119】特定の実施形態を参照しながら、本発明は
説明されてきたが、本発明の趣旨を逸脱しない範囲にお
いて、本発明に対し種々の変換または付加を施すこと
は、当業者にとって容易に理解される。したがって、本
発明における図面と説明は、単なる実例に過ぎず、限定
されてはいない。
説明されてきたが、本発明の趣旨を逸脱しない範囲にお
いて、本発明に対し種々の変換または付加を施すこと
は、当業者にとって容易に理解される。したがって、本
発明における図面と説明は、単なる実例に過ぎず、限定
されてはいない。
【0120】
【発明の効果】以上説明したように本発明によれば、グ
ラフィカルユーザインターフェイスコンポーネントとロ
ジックパネルは、少なくともプレゼンテーションの1ペ
ージ上にアレンジされる。プレゼンテーションは、ター
ゲット装置プラットフォームの表示画面上に表示され
る。変換マネージャは、選択的にグラフィカルユーザイ
ンターフェイスコンポーネントをページのサイズに合わ
せるために変換し、そして表示画面を最大にすることが
できる。
ラフィカルユーザインターフェイスコンポーネントとロ
ジックパネルは、少なくともプレゼンテーションの1ペ
ージ上にアレンジされる。プレゼンテーションは、ター
ゲット装置プラットフォームの表示画面上に表示され
る。変換マネージャは、選択的にグラフィカルユーザイ
ンターフェイスコンポーネントをページのサイズに合わ
せるために変換し、そして表示画面を最大にすることが
できる。
【図1】 拡張性のあるグラフィカルユーザインターフ
ェイスアーキテクチャの実施形態のブロック図である。
ェイスアーキテクチャの実施形態のブロック図である。
【図2】 図1における拡張性のあるグラフィカルユー
ザインターフェイスアーキテクチャの1ポーションのよ
り詳細なブロック図である。
ザインターフェイスアーキテクチャの1ポーションのよ
り詳細なブロック図である。
【図3】 図1の拡張性のあるグラフィカルユーザイン
ターフェイスアーキテクチャが利用した中間表示の1つ
の実施形態例を示した図である。
ターフェイスアーキテクチャが利用した中間表示の1つ
の実施形態例を示した図である。
【図4】 図1における拡張性のあるグラフィカルユー
ザインターフェイスアーキテクチャの別ポーションのよ
り詳細なブロック図である。
ザインターフェイスアーキテクチャの別ポーションのよ
り詳細なブロック図である。
【図5】 図1における拡張性のあるグラフィカルユー
ザインターフェイスアーキテクチャを使っているグラフ
ィカルユーザインターフェイスコンポーネントの変換例
の1つの実施形態を示す図である。
ザインターフェイスアーキテクチャを使っているグラフ
ィカルユーザインターフェイスコンポーネントの変換例
の1つの実施形態を示す図である。
【図6】 図1における拡張性のあるグラフィカルユー
ザインターフェイスアーキテクチャを使っている合成グ
ラフィカルユーザインターフェイスコンポーネントの変
換例の1つの実施形態を示す図である。
ザインターフェイスアーキテクチャを使っている合成グ
ラフィカルユーザインターフェイスコンポーネントの変
換例の1つの実施形態を示す図である。
【図7】 図1における拡張性のあるグラフィカルユー
ザインターフェイスアーキテクチャの1つの実施形態の
動作を示している流れ図である。
ザインターフェイスアーキテクチャの1つの実施形態の
動作を示している流れ図である。
【図8】 図7における流れ図の第2ポーションであ
る。
る。
【図9】 図7における流れ図の第3ポーションであ
る。
る。
【図10】 図1における拡張性のあるグラフィカルユ
ーザインターフェイスアーキテクチャで動いている装置
を含んでいる通信システムの1つの実施形態である。
ーザインターフェイスアーキテクチャで動いている装置
を含んでいる通信システムの1つの実施形態である。
【図11】 図10における通信システム内の拡張性の
あるグラフィカルユーザインターフェイスアーキテクチ
ャの動作を示す流れ図である。
あるグラフィカルユーザインターフェイスアーキテクチ
ャの動作を示す流れ図である。
【図12】 図11における流れ図の第2ポーションで
ある。
ある。
10 拡張性のあるSGUIアーキテクチャ
12 拡張性のあるGUIライブラリ
14 カスタマイジングモジュール
16 レンダーマネージャ
18 タスクマネージャ
20 変換マネージャ
22 拡張性のあるGUIコンポーネントライブラリ
24 中間表示
26 拡張性のあるGUIイベント変換機
40 IRツリー
42 コンポーネントノード
44 コンテナノード
46 タスク
48 ページ
50 変換ルールモジュール
52 サイズ変更コンポーネントモジュール
54 代替コンポーネントモジュール
56 簡易GUI変換ルールモジュール
58 合成GUI変換ルールモジュール
60 ダイナミックレイアウトモジュール
62 スタイルガイドモジュール
64 SGUIコンポーネントリストモジュール
70 第1SGUIコンポーネント70
72 第2SGUIコンポーネント72
74 矢印
76 第1合成SGUIコンポーネント76
78 第2合成SGUIコンポーネント
80 データエントリ
82 優先度セレクション
84 好みセレクション
86 ピックリスト
88 シングルデータエントリ
90 矢印
200 通信システム
202 装置プラットフォーム
204 変換サーバ
206 ライブラリサーバ
208 ネットワーク
210 拡張性のあるアプリケーション
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 ウオング,ホイ リー キャンディー
アメリカ合衆国,カリフォルニア州95110
サンノゼ,スイート300,メトロ ドラ
イブ181
(72)発明者 チュー,ハオーファ
アメリカ合衆国,カリフォルニア州95110
サンノゼ,スイート300,メトロ ドラ
イブ181
(72)発明者 ソング,ユー
アメリカ合衆国,カリフォルニア州95110
サンノゼ,スイート300,メトロ ドラ
イブ181
(72)発明者 クラカケ ショウジ
アメリカ合衆国,カリフォルニア州95110
サンノゼ,スイート300,メトロ ドラ
イブ181
Fターム(参考) 5B069 AA01 BB16 DD01 DD11 FA02
5E501 AA04 AB03 BA20 CA04 EB11
Claims (30)
- 【請求項1】 複数の異種装置プラットフォームで表示
するためのアプリケーショングラフィカルユーザインタ
ーフェイスをスケーリングする方法において、(a)装置
プラットフォーム独立型アプリケーショングラフィカル
ユーザインターフェイスの中間表示のインスタンスを作
成し、(b)前記異種装置プラットフォームの機能とし
て、前記中間表示をカスタマイジングし、(c)カスタマ
イズされた前記中間表示から、装置プラットフォーム依
存型のアプリケーショングラフィカルユーザインターフ
ェイスを取り出し、(d)前記異種装置プラットフォーム
で、前記装置プラットフォーム依存型のアプリケーショ
ングラフィカルユーザインターフェイスを表示すること
を特徴とする方法。 - 【請求項2】 ステップ(a)は、拡張性のあるアプリケ
ーションを携帯装置へ移動し、前記拡張性のあるアプリ
ケーションは、前記装置プラットフォーム独立型のアプ
リケーショングラフィカルユーザインターフェイスを含
んでいることを含む請求項1に記載の方法。 - 【請求項3】 ステップ(a)は、前記中間表示で少なく
とも1つの装置独立型のグラフィカルユーザインターフ
ェイスコンポーネントを表すことを含む請求項1または
2に記載の方法。 - 【請求項4】 ステップ(a)は、サーバコンピュータ
で、前記中間表示をインスタンス化することを含む請求
項1ないし3のいずれかに記載の方法。 - 【請求項5】 ステップ(a)は、サーバコンピュータ
に、前記中間表示を送信することを含む請求項1ないし
3のいずれかに記載の方法。 - 【請求項6】 ステップ(b)は、カスタマイズされた前
記中間表示を、前記サーバコンピュータから前記異種装
置プラットフォームへ送信することを含む請求項5に記
載の方法。 - 【請求項7】 ステップ(b)は、前記異種装置プラット
フォームの機能として、前記中間表示から、不必要なタ
スクを取り除くことを含む請求項1ないし6のいずれか
に記載の方法。 - 【請求項8】 ステップ(b)は、前記異種装置プラット
フォームの機能として、前記中間表示を変換することを
含む請求項1ないし7のいずれかに記載の方法。 - 【請求項9】 ステップ(a)は、前記中間表示で、複数
のタスクを階層的に表していることを特徴とする請求項
1ないし8のいずれかに記載の方法。 - 【請求項10】 複数の異種装置プラットフォームの表
示画面上に表示用のアプリケーショングラフィカルユー
ザインターフェイスをスケーリングする方法において、
(a) 装置プラットフォーム独立型のアプリケーショング
ラフィカルユーザインターフェイスから論理構造をイン
スタンス化し、前記論理構造は、少なくとも1つの論理
パネルと、少なくとも1つのグラフィカルユーザインタ
ーフェイスコンポーネントの表示を含み、(b)少なくと
も1つの前記論理パネルの適合性機能と、前記異種装置
プラットフォームに対する少なくとも1つの前記グラフ
ィカルユーザインターフェイスコンポーネント機能とし
て、前記論理構造において、選択的に少なくとも1つの
前記論理パネルと、少なくとも1つの前記グラフィカル
ユーザインターフェイスコンポーネントとを保持し、
(c)前記異種装置プラットフォームの表示画面の機能と
互換性のあるレイアウト内において、少なくとも1つの
前記論理パネルと少なくとも1つの前記グラフィカルユ
ーザインターフェイスコンポーネントを構成し、(d) 前
記論理構造から、少なくとも1つの前記グラフィカルユ
ーザインターフェイスコンポーネントと少なくとも1つ
の前記論理パネルを取り出すことを特徴とする方法。 - 【請求項11】 少なくとも1つの前記グラフィカルユ
ーザインターフェイスコンポーネント機能と、前記論理
構造から抽出された少なくとも1つの前記論理パネル機
能として、前記表示画面上に、装置プラットフォーム依
存型のアプリケーショングラフィカルユーザインターフ
ェイスを表示することを特徴とする請求項10に記載の
方法。 - 【請求項12】 ステップ(a)は、前記装置独立型のア
プリケーショングラフィカルユーザインターフェイスで
前記論理構造のレイアウトパラメータを含んでいるプロ
パティを特定することを含む請求項10ないし11のい
ずれかに記載の方法。 - 【請求項13】 ステップ(b)は、前記装置プラットフ
ォームに適合しないタスク機能として、前記論理構造か
ら、少なくとも1つの前記グラフィカルユーザインター
フェイスコンポーネントを取り除くことを含む請求項1
0ないし12のいずれかに記載の方法。 - 【請求項14】 ステップ(a)は、前記装置プラットフ
ォーム独立型のアプリケーショングラフィカルユーザイ
ンターフェイスで前記論理構造内で、少なくとも1つの
前記論理パネルを保持することを含む請求項10ないし
13のいずれかに記載の方法。 - 【請求項15】 ステップ(a)は、前記装置プラットフ
ォーム独立型のアプリケーショングラフィカルユーザイ
ンターフェイスで少なくとも1つの前記論理パネルと、
少なくとも1つの前記グラフィカルユーザインターフェ
イスコンポーネント用に提案されているレイアウト構造
を特定することを含む請求項10ないし14のいずれか
に記載の方法。 - 【請求項16】 ステップ(a)は、前記装置プラットフ
ォーム独立型のアプリケーショングラフィカルユーザイ
ンターフェイスで少なくとも1つの前記論理パネル用
に、レイアウト優先度を特定することを含む請求項10
ないし15のいずれかに記載の方法。 - 【請求項17】 ステップ(a)は、前記装置プラットフ
ォーム独立型のアプリケーショングラフィカルユーザイ
ンターフェイスで少なくとも1つの前記グラフィカルユ
ーザインターフェイスコンポーネント用に、レイアウト
制約を特定することを含む請求項10ないし16のいず
れかに記載の方法。 - 【請求項18】 ステップ(a)は、前記装置プラットフ
ォーム独立型のアプリケーショングラフィカルユーザイ
ンターフェイスで少なくとも1つの前記論理パネルのレ
イアウトグループを特定することを含む請求項10ない
し17のいずれかに記載の方法。 - 【請求項19】 ステップ(a)は、前記装置プラットフ
ォーム独立型のアプリケーショングラフィカルユーザイ
ンターフェイスで少なくとも1つの前記論理パネル用
に、ラベルを特定することを特徴とする請求項10ない
し18のいずれかに記載の方法。 - 【請求項20】 ステップ(d)は、少なくとも1つの前
記グラフィカルユーザインターフェイスコンポーネント
を得るために、拡張性のあるラフィカルユーザインター
フェイスライブラリへアクセスすることを含む請求項1
0ないし19のいずれかに記載の方法。 - 【請求項21】 ステップ(d)は、サーバコンピュータ
から、少なくとも1つの前記グラフィカルユーザインタ
ーフェイスコンポーネントをダウンロードすることを含
む請求項10ないし20のいずれかに記載の方法。 - 【請求項22】 複数の異種装置プラットフォームの表
示画面にスケーリングする拡張性のあるグラフィカルユ
ーザインターフェイスアーキテクチャにおいて、表示画
面から成るターゲット装置プラットフォームと、装置プ
ラットフォーム独立型のアプリケーショングラフィカル
ユーザインターフェイスの中間表示のインスタンスを作
るため、前記ターゲット装置プラットフォーム内で、動
作可能な前記装置プラットフォーム独立型のアプリケー
ショングラフィカルユーザインターフェイスと、前記タ
ーゲット装置プラットフォームの機能として、前記中間
表示をカスタマイズするカスタマイジングモジュール
と、前記カスタマイズされた中間表示の機能として、前
記表示画面上に装置プラットフォーム依存型のアプリケ
ーショングラフィカルユーザインターフェイスを作るレ
ンダーマネージャモジュールから成ることを特徴とする
拡張性のあるグラフィカルユーザインターフェイスアー
キテクチャ。 - 【請求項23】 前記中間表示の前記インスタンスを作
るため、前記装置プラットフォーム独立型のアプリケー
ショングラフィカルユーザインターフェイスで動作可能
な拡張性のあるグラフィカルユーザインターフェイスラ
イブラリを持つことを特徴とする請求項22に記載の拡
張性のあるグラフィカルユーザインターフェイスアーキ
テクチャ。 - 【請求項24】 前記カスタマイジングモジュールは、
前記ターゲット装置プラットフォームと前記表示画面の
機能に適合するタスクを保持するタスクマネージャモジ
ュールを持つことを特徴とする請求項22または23に
記載の拡張性のあるグラフィカルユーザインターフェイ
スアーキテクチャ。 - 【請求項25】 前記カスタマイジングモジュールは、
前記装置プラットフォーム独立型のアプリケーショング
ラフィカルユーザインターフェイスにより特定されるプ
ロパティの機能として、ディスプレーのレイアウト構造
を構成する変換マネージャモジュールを持つことを特徴
とする請求項22ないし24のいずれかに記載の拡張性
のあるグラフィカルユーザインターフェイスアーキテク
チャ。 - 【請求項26】 前記拡張性のあるグラフィカルユーザ
インターフェイスライブラリは、ユーザインターフェイ
スイベント変換機モジュールを持ち、前記ユーザインタ
ーフェイスイベント変換機モジュールは、前記装置プラ
ットフォーム独立型アプリケーショングラフィカルユー
ザインターフェイスと互換性のあるアクションに対し、
ターゲット装置プラットフォームにより生成されたグラ
フィカルユーザインターフェイスイベントを変換可能で
あることを特徴とする請求項23に記載の拡張性のある
アプリケーショングラフィカルユーザインターフェイス
アーキテクチャ。 - 【請求項27】 前記中間表示は、少なくとも1つの論
理パネルと、少なくとも1つのグラフィカルユーザイン
ターフェイスコンポーネントの表示を持っていることを
特徴とする請求項22ないし26のいずれかに記載の拡
張性のあるグラフィカルユーザインターフェイスアーキ
テクチャ。 - 【請求項28】 前記ターゲット装置プラットフォーム
は、1つのページャー、無線電話、個人情報端末(PD
A)、携帯パソコン、カーナビ装置、そしてノートパソコ
ンを持っていることを特徴とする請求項22ないし27
のいずれかに記載の拡張性のあるグラフィカルユーザイ
ンターフェイスアーキテクチャ。 - 【請求項29】 前記装置プラットフォーム独立型のア
プリケーショングラフィカルユーザインターフェイス
は、異種装置プラットフォームの中の装置プラットフォ
ーム独立型を除いて、互換性があることを特徴とする請
求項22ないし28のいずれかに記載の拡張性のあるグ
ラフィカルユーザインターフェイスアーキテクチャ。 - 【請求項30】 前記ターゲット装置プラットフォーム
は、複数の異種装置プラットフォーム中の1つの異種装
置プラットフォームを持っていることを特徴とする請求
項22ないし29のいずれかに記載の拡張性のあるグラ
フィカルユーザインターフェイスアーキテクチャ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/966,185 US20030063120A1 (en) | 2001-09-28 | 2001-09-28 | Scalable graphical user interface architecture |
US09/966185 | 2001-09-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003186665A true JP2003186665A (ja) | 2003-07-04 |
Family
ID=25511026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002281829A Withdrawn JP2003186665A (ja) | 2001-09-28 | 2002-09-26 | 拡張性のあるグラフィカルユーザインターフェイスアーキテクチャ |
Country Status (2)
Country | Link |
---|---|
US (1) | US20030063120A1 (ja) |
JP (1) | JP2003186665A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006236323A (ja) * | 2005-01-25 | 2006-09-07 | Sony Corp | アプリケーション提供システム、サーバ、クライアントおよびアプリケーション提供方法 |
JP2007538314A (ja) * | 2004-05-03 | 2007-12-27 | マイクロソフト コーポレーション | 汎用ユーザインターフェースコマンドアーキテクチャ |
KR101756803B1 (ko) | 2015-01-21 | 2017-07-12 | 신재민 | 이동 단말기 운영 체제를 확장시킨 브릿지 시스템 |
Families Citing this family (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7037886B2 (en) * | 2000-06-01 | 2006-05-02 | Ecolab Inc. | Method for manufacturing a molded detergent composition |
US8396859B2 (en) * | 2000-06-26 | 2013-03-12 | Oracle International Corporation | Subject matter context search engine |
WO2003058483A1 (en) | 2002-01-08 | 2003-07-17 | Seven Networks, Inc. | Connection architecture for a mobile network |
CA2388101A1 (en) * | 2002-02-01 | 2003-08-01 | Concepts Egeria Inc. | Conceptual user interface |
US7676748B1 (en) * | 2002-11-04 | 2010-03-09 | Sun Microsystems, Inc. | System graphics for security shield |
US8468126B2 (en) | 2005-08-01 | 2013-06-18 | Seven Networks, Inc. | Publishing data in an information community |
US7917468B2 (en) | 2005-08-01 | 2011-03-29 | Seven Networks, Inc. | Linking of personal information management data |
US7853563B2 (en) | 2005-08-01 | 2010-12-14 | Seven Networks, Inc. | Universal data aggregation |
US8127252B2 (en) * | 2003-11-07 | 2012-02-28 | Microsoft Corporation | Method and system for presenting user interface (UI) information |
US7644367B2 (en) | 2003-05-16 | 2010-01-05 | Microsoft Corporation | User interface automation framework classes and interfaces |
US7275221B2 (en) * | 2003-11-07 | 2007-09-25 | Microsoft Corporation | Method and system for representing hierarchal structures of a user-interface |
US7568167B2 (en) * | 2003-06-26 | 2009-07-28 | Microsoft Corporation | Non-persistent user interface for real-time communication |
US7607110B2 (en) * | 2003-10-23 | 2009-10-20 | Microsoft Corporation | Element persistent identification |
US7315988B2 (en) | 2004-02-02 | 2008-01-01 | International Business Machines Corporation | System and method for using short captions to map user interfaces |
US7516414B2 (en) | 2004-02-02 | 2009-04-07 | International Business Machines Corporation | System and method for tab order mapping of user interfaces |
US20050172235A1 (en) * | 2004-02-02 | 2005-08-04 | International Business Machines Corporation | System and method for excluded elements mapping in a user interface |
US20060005174A1 (en) * | 2004-07-01 | 2006-01-05 | International Business Machines Corporation | Defining hierarchical structures with markup languages and reflection |
US20060026555A1 (en) * | 2004-07-13 | 2006-02-02 | International Business Machines Corporation | Method and apparatus to support multiple hierarchical architectures |
US7536634B2 (en) * | 2005-06-13 | 2009-05-19 | Silver Creek Systems, Inc. | Frame-slot architecture for data conversion |
US20060067654A1 (en) * | 2004-09-24 | 2006-03-30 | Magix Ag | Graphical user interface adaptable to multiple display devices |
US8010082B2 (en) | 2004-10-20 | 2011-08-30 | Seven Networks, Inc. | Flexible billing architecture |
US7441271B2 (en) | 2004-10-20 | 2008-10-21 | Seven Networks | Method and apparatus for intercepting events in a communication system |
US7706781B2 (en) | 2004-11-22 | 2010-04-27 | Seven Networks International Oy | Data security in a mobile e-mail service |
FI117152B (fi) | 2004-12-03 | 2006-06-30 | Seven Networks Internat Oy | Sähköpostiasetusten käyttöönotto matkaviestimelle |
US20060123345A1 (en) * | 2004-12-06 | 2006-06-08 | International Business Machines Corporation | Platform-independent markup language-based gui format |
US7752633B1 (en) | 2005-03-14 | 2010-07-06 | Seven Networks, Inc. | Cross-platform event engine |
US7796742B1 (en) | 2005-04-21 | 2010-09-14 | Seven Networks, Inc. | Systems and methods for simplified provisioning |
US8438633B1 (en) | 2005-04-21 | 2013-05-07 | Seven Networks, Inc. | Flexible real-time inbox access |
US8275793B2 (en) * | 2005-04-29 | 2012-09-25 | Microsoft Corporation | Transaction transforms |
US8132148B2 (en) | 2005-04-29 | 2012-03-06 | Microsoft Corporation | XML application framework |
US8418132B2 (en) * | 2005-04-29 | 2013-04-09 | Microsoft Corporation | Application description language |
US20060245096A1 (en) * | 2005-04-29 | 2006-11-02 | Microsoft Corporation | Application framework phasing model |
US8799857B2 (en) * | 2005-04-29 | 2014-08-05 | Microsoft Corporation | XML application framework |
WO2006136660A1 (en) | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Maintaining an ip connection in a mobile network |
US8069166B2 (en) | 2005-08-01 | 2011-11-29 | Seven Networks, Inc. | Managing user-to-user contact with inferred presence information |
WO2007015302A1 (ja) * | 2005-08-04 | 2007-02-08 | Fujitsu Limited | ウェブページ制御プログラム、方法及びサーバ |
US9207917B2 (en) | 2005-12-20 | 2015-12-08 | Oralce International Corporation | Application generator for data transformation applications |
US7921367B2 (en) * | 2005-12-20 | 2011-04-05 | Oracle International Corp. | Application generator for data transformation applications |
US9317302B2 (en) * | 2006-01-30 | 2016-04-19 | International Business Machines Corporation | Method and algorithm for content layout across diverse and dynamic displays |
US7769395B2 (en) | 2006-06-20 | 2010-08-03 | Seven Networks, Inc. | Location-based operations and messaging |
US20070222788A1 (en) * | 2006-03-21 | 2007-09-27 | Computer Associates Think, Inc. | Method and system for sharing user interface rendering among heterogeneous architectures |
US20070266335A1 (en) * | 2006-05-12 | 2007-11-15 | Microsoft Corporation | Providing a standard user interface (UI) across disparate display interfaces |
KR101288970B1 (ko) * | 2006-11-28 | 2013-07-24 | 삼성전자주식회사 | 렌더링 장치 및 방법 |
US8843853B1 (en) * | 2006-12-05 | 2014-09-23 | At&T Mobility Ii Llc | Home screen user interface for electronic device display |
US8693494B2 (en) | 2007-06-01 | 2014-04-08 | Seven Networks, Inc. | Polling |
US8805425B2 (en) | 2007-06-01 | 2014-08-12 | Seven Networks, Inc. | Integrated messaging |
US8082507B2 (en) * | 2007-06-12 | 2011-12-20 | Microsoft Corporation | Scalable user interface |
US8209675B2 (en) | 2007-07-25 | 2012-06-26 | Sap Ag | Method and system for customizing a software application |
US20090055757A1 (en) * | 2007-08-20 | 2009-02-26 | International Business Machines Corporation | Solution for automatically generating software user interface code for multiple run-time environments from a single description document |
US20090140977A1 (en) * | 2007-11-30 | 2009-06-04 | Microsoft Corporation | Common User Interface Structure |
US8364181B2 (en) | 2007-12-10 | 2013-01-29 | Seven Networks, Inc. | Electronic-mail filtering for mobile devices |
US9002828B2 (en) | 2007-12-13 | 2015-04-07 | Seven Networks, Inc. | Predictive content delivery |
US8793305B2 (en) | 2007-12-13 | 2014-07-29 | Seven Networks, Inc. | Content delivery to a mobile device from a content service |
US8107921B2 (en) | 2008-01-11 | 2012-01-31 | Seven Networks, Inc. | Mobile virtual network operator |
US8862657B2 (en) | 2008-01-25 | 2014-10-14 | Seven Networks, Inc. | Policy based content service |
US20090193338A1 (en) | 2008-01-28 | 2009-07-30 | Trevor Fiatal | Reducing network and battery consumption during content delivery and playback |
US7814054B2 (en) * | 2008-04-03 | 2010-10-12 | Laurion James E | System and method for providing common operators across multiple applications |
US7930343B2 (en) * | 2008-05-16 | 2011-04-19 | Honeywell International Inc. | Scalable user interface system |
US8787947B2 (en) | 2008-06-18 | 2014-07-22 | Seven Networks, Inc. | Application discovery on mobile devices |
US8078158B2 (en) | 2008-06-26 | 2011-12-13 | Seven Networks, Inc. | Provisioning applications for a mobile device |
US20110115702A1 (en) * | 2008-07-08 | 2011-05-19 | David Seaberg | Process for Providing and Editing Instructions, Data, Data Structures, and Algorithms in a Computer System |
US8909759B2 (en) | 2008-10-10 | 2014-12-09 | Seven Networks, Inc. | Bandwidth measurement |
US8005930B2 (en) * | 2009-06-03 | 2011-08-23 | Microsoft Corporation | Add-ins dynamically extending display targets and business-logic programming model |
US10248438B2 (en) * | 2009-09-17 | 2019-04-02 | Fluffy Spider Technologies Pty. Ltd. | System and methods for a run time configurable user interface controller |
US20110083082A1 (en) * | 2009-10-02 | 2011-04-07 | Thomas Gottwald | Fractional download based on currently presented portions from large content pages |
JP5588695B2 (ja) * | 2010-03-01 | 2014-09-10 | 株式会社日立製作所 | コンテンツ共有システム |
US9043731B2 (en) | 2010-03-30 | 2015-05-26 | Seven Networks, Inc. | 3D mobile user interface with configurable workspace management |
CA2806527A1 (en) | 2010-07-26 | 2012-02-09 | Seven Networks, Inc. | Mobile network traffic coordination across multiple applications |
GB2495066B (en) | 2010-07-26 | 2013-12-18 | Seven Networks Inc | Mobile application traffic optimization |
US8838783B2 (en) | 2010-07-26 | 2014-09-16 | Seven Networks, Inc. | Distributed caching for resource and mobile network traffic management |
CA2806548C (en) | 2010-07-26 | 2015-03-31 | Seven Networks, Inc. | Distributed implementation of dynamic wireless traffic policy |
US20120030584A1 (en) * | 2010-07-30 | 2012-02-02 | Brian Bian | Method and apparatus for dynamically switching between scalable graphical user interfaces for mobile devices |
WO2012060995A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
US9330196B2 (en) | 2010-11-01 | 2016-05-03 | Seven Networks, Llc | Wireless traffic management system cache optimization using http headers |
US8484314B2 (en) | 2010-11-01 | 2013-07-09 | Seven Networks, Inc. | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
US8843153B2 (en) | 2010-11-01 | 2014-09-23 | Seven Networks, Inc. | Mobile traffic categorization and policy for network use optimization while preserving user experience |
US8204953B2 (en) | 2010-11-01 | 2012-06-19 | Seven Networks, Inc. | Distributed system for cache defeat detection and caching of content addressed by identifiers intended to defeat cache |
WO2012061430A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed management of keep-alive message signaling for mobile network resource conservation and optimization |
EP2635973A4 (en) | 2010-11-01 | 2014-01-15 | Seven Networks Inc | TO THE BEHAVIOR OF A MOBILE APPLICATION AND INTERMEDIATE STORAGE TAILORED TO NETWORK CONDITIONS |
WO2012060997A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Application and network-based long poll request detection and cacheability assessment therefor |
US9060032B2 (en) | 2010-11-01 | 2015-06-16 | Seven Networks, Inc. | Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic |
CA2798523C (en) | 2010-11-22 | 2015-02-24 | Seven Networks, Inc. | Aligning data transfer to optimize connections established for transmission over a wireless network |
WO2012071384A2 (en) | 2010-11-22 | 2012-05-31 | Michael Luna | Optimization of resource polling intervals to satisfy mobile device requests |
EP2466456A1 (en) | 2010-12-20 | 2012-06-20 | Clayster Asia Ltd. | Device independent method for defining a graphical user interface |
WO2012094675A2 (en) | 2011-01-07 | 2012-07-12 | Seven Networks, Inc. | System and method for reduction of mobile network traffic used for domain name system (dns) queries |
GB2517815A (en) | 2011-04-19 | 2015-03-04 | Seven Networks Inc | Shared resource and virtual resource management in a networked environment |
WO2012149434A2 (en) | 2011-04-27 | 2012-11-01 | Seven Networks, Inc. | Detecting and preserving state for satisfying application requests in a distributed proxy and cache system |
WO2012149221A2 (en) | 2011-04-27 | 2012-11-01 | Seven Networks, Inc. | System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief |
WO2013015995A1 (en) | 2011-07-27 | 2013-01-31 | Seven Networks, Inc. | Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network |
EP2573755A3 (en) * | 2011-09-23 | 2013-06-19 | LG Electronics, Inc. | Mobile terminal and resolution compatibility method thereof |
US8934414B2 (en) | 2011-12-06 | 2015-01-13 | Seven Networks, Inc. | Cellular or WiFi mobile traffic optimization based on public or private network destination |
EP2789137A4 (en) | 2011-12-06 | 2015-12-02 | Seven Networks Inc | SYSTEM OF REDUNDANTLY CLUSTERED MACHINES FOR PROVIDING TILTING MECHANISMS IN MOBILE TRAFFIC MANAGEMENT AND NETWORK RESOURCE PRESERVATION |
WO2013086455A1 (en) | 2011-12-07 | 2013-06-13 | Seven Networks, Inc. | Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation |
US9277443B2 (en) | 2011-12-07 | 2016-03-01 | Seven Networks, Llc | Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol |
US8861354B2 (en) | 2011-12-14 | 2014-10-14 | Seven Networks, Inc. | Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization |
EP2792188B1 (en) | 2011-12-14 | 2019-03-20 | Seven Networks, LLC | Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system |
WO2013090834A1 (en) | 2011-12-14 | 2013-06-20 | Seven Networks, Inc. | Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic |
WO2013103988A1 (en) | 2012-01-05 | 2013-07-11 | Seven Networks, Inc. | Detection and management of user interactions with foreground applications on a mobile device in distributed caching |
US9459887B2 (en) * | 2012-01-31 | 2016-10-04 | Ncr Corporation | Automatic graphical user interface creation |
WO2013116856A1 (en) | 2012-02-02 | 2013-08-08 | Seven Networks, Inc. | Dynamic categorization of applications for network access in a mobile network |
WO2013116852A1 (en) | 2012-02-03 | 2013-08-08 | Seven Networks, Inc. | User as an end point for profiling and optimizing the delivery of content and data in a wireless network |
SE537794C2 (sv) * | 2012-03-20 | 2015-10-20 | Propellerhead Software Aktiebolag | Förfaranden för att distribuera en dataprogramprodukt och ett datorsystem |
US8812695B2 (en) | 2012-04-09 | 2014-08-19 | Seven Networks, Inc. | Method and system for management of a virtual network connection without heartbeat messages |
US10263899B2 (en) | 2012-04-10 | 2019-04-16 | Seven Networks, Llc | Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network |
US20130290851A1 (en) * | 2012-04-30 | 2013-10-31 | Microsoft Corporation | User interface web services |
WO2014011216A1 (en) | 2012-07-13 | 2014-01-16 | Seven Networks, Inc. | Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications |
US20140035945A1 (en) * | 2012-08-03 | 2014-02-06 | Todd Anglin | Computing device applications with an automatically adapting user interface |
US9161258B2 (en) | 2012-10-24 | 2015-10-13 | Seven Networks, Llc | Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion |
US20140177497A1 (en) | 2012-12-20 | 2014-06-26 | Seven Networks, Inc. | Management of mobile device radio state promotion and demotion |
US9271238B2 (en) | 2013-01-23 | 2016-02-23 | Seven Networks, Llc | Application or context aware fast dormancy |
US8874761B2 (en) | 2013-01-25 | 2014-10-28 | Seven Networks, Inc. | Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
US8750123B1 (en) | 2013-03-11 | 2014-06-10 | Seven Networks, Inc. | Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network |
US9400660B1 (en) * | 2013-03-12 | 2016-07-26 | Intuit Inc. | Customizing user interfaces of native applications for portable electronic devices |
US9792014B2 (en) | 2013-03-15 | 2017-10-17 | Microsoft Technology Licensing, Llc | In-place contextual menu for handling actions for a listing of items |
US9065765B2 (en) | 2013-07-22 | 2015-06-23 | Seven Networks, Inc. | Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network |
US20160132992A1 (en) | 2014-11-06 | 2016-05-12 | Microsoft Technology Licensing, Llc | User interface scaling for devices based on display size |
US10949075B2 (en) * | 2014-11-06 | 2021-03-16 | Microsoft Technology Licensing, Llc | Application command control for small screen display |
WO2016070259A1 (en) | 2014-11-07 | 2016-05-12 | Counterpath Technologies Inc. | Method and system for dynamically configuring a client installed and running on a communication device |
US10558345B2 (en) * | 2015-11-16 | 2020-02-11 | Sap Se | User interface development in a transcompiling environment |
KR20170112588A (ko) * | 2016-03-31 | 2017-10-12 | 엘에스산전 주식회사 | Hmi 시스템 |
US10996948B2 (en) | 2018-11-12 | 2021-05-04 | Bank Of America Corporation | Software code mining system for assimilating legacy system functionalities |
KR20210086263A (ko) * | 2019-12-31 | 2021-07-08 | 한국과학기술원 | 이기종 다중 기기 상호작용을 위한 안전한 사용자 인터페이스 분산 방법 |
US12019855B2 (en) * | 2022-03-04 | 2024-06-25 | Ford Global Technologies, Llc | Methods and systems for vehicle interface control |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5583983A (en) * | 1994-11-17 | 1996-12-10 | Objectware, Inc. | Multi-platform object-oriented software development and deployment system |
JP3544422B2 (ja) * | 1996-03-04 | 2004-07-21 | 日本電気株式会社 | 記事配置装置 |
US6353448B1 (en) * | 2000-05-16 | 2002-03-05 | Ez Online Network, Inc. | Graphic user interface display method |
-
2001
- 2001-09-28 US US09/966,185 patent/US20030063120A1/en not_active Abandoned
-
2002
- 2002-09-26 JP JP2002281829A patent/JP2003186665A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007538314A (ja) * | 2004-05-03 | 2007-12-27 | マイクロソフト コーポレーション | 汎用ユーザインターフェースコマンドアーキテクチャ |
JP2006236323A (ja) * | 2005-01-25 | 2006-09-07 | Sony Corp | アプリケーション提供システム、サーバ、クライアントおよびアプリケーション提供方法 |
KR101756803B1 (ko) | 2015-01-21 | 2017-07-12 | 신재민 | 이동 단말기 운영 체제를 확장시킨 브릿지 시스템 |
Also Published As
Publication number | Publication date |
---|---|
US20030063120A1 (en) | 2003-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003186665A (ja) | 拡張性のあるグラフィカルユーザインターフェイスアーキテクチャ | |
JP4381708B2 (ja) | グラフィカルユーザインターフェイスシステム | |
JP2003186664A (ja) | 装置プラットフォームに対するguiプレゼンテーションのダイナミックな適合 | |
JP4381709B2 (ja) | サーバ | |
US7392483B2 (en) | Transformation of platform specific graphical user interface widgets migrated between heterogeneous device platforms | |
Paterno' et al. | MARIA: A universal, declarative, multiple abstraction-level language for service-oriented applications in ubiquitous environments | |
USRE43438E1 (en) | Extensible, replaceable network component system | |
US20060117267A1 (en) | System and method for property-based focus navigation in a user interface | |
US20110010613A1 (en) | System and method for building mixed mode execution environment for component applications | |
EP0472444A2 (en) | Electronic document editing system | |
US5907843A (en) | Replaceable and extensible navigator component of a network component system | |
JP2000048016A (ja) | コンピュ―タプロセッサ上で実行可能なテキストのフォ―マット及び表示方法、テキストをフォ―マットし表示可能なコンピュ―タ装置、テキストをフォ―マットし表示可能なプログラムを記憶したコンピュ―タ読み取り可能な記憶媒体、テキストをフォ―マットし表示可能なテキストエディタに新たなスタイルを付加する付加方法 | |
WO1998038573A1 (en) | Asynchronous-event opening component of a network component system | |
JP2008282392A (ja) | コンテキストに基づくソフトウェア層を確立するための方法、システム、および媒体(コンテキストに基づくソフトウェア層) | |
US7603624B2 (en) | System and method for styling content in a graphical user interface control | |
JP2009070411A (ja) | 条件付きui制御及び画面ナビゲーションを有する対話型無線アプリケーションのためのシステム及び方法 | |
CA2686367A1 (en) | Dynamic native editor code view facade | |
Nilsson et al. | Model-based user interface adaptation | |
US20030202014A1 (en) | Graphical user interface development tool | |
US6122675A (en) | Replaceable and extensible log component of a network component system | |
Wang et al. | Abstract interface specification languages for device-independent interface design: classification, analysis and challenges | |
Wong et al. | GUI migration across heterogeneous Java profiles | |
Kotsalis | Managing non-native widgets in model-based UI engineering | |
Muller et al. | The use of multimethods and method combination in a CLOS based window interface | |
Meskens et al. | User-Centered Adaptation of User Interfaces for Heterogeneous Environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050421 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20050930 |