JP2003330715A - 異種装置プラットフォーム間をマイグレーションするプラットフォーム特定型のグラフィカルユーザインターフェイスのウィジェットのレイアウト - Google Patents
異種装置プラットフォーム間をマイグレーションするプラットフォーム特定型のグラフィカルユーザインターフェイスのウィジェットのレイアウトInfo
- Publication number
- JP2003330715A JP2003330715A JP2003092813A JP2003092813A JP2003330715A JP 2003330715 A JP2003330715 A JP 2003330715A JP 2003092813 A JP2003092813 A JP 2003092813A JP 2003092813 A JP2003092813 A JP 2003092813A JP 2003330715 A JP2003330715 A JP 2003330715A
- Authority
- JP
- Japan
- Prior art keywords
- platform
- user interface
- independent
- graphical user
- page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
- Digital Computer Display Output (AREA)
Abstract
ズに適合させるプラットフォーム独立型のGUIウィジェ
ットを提供すること。 【解決手段】装置プラットフォーム独立型モデルは、少
なくとも1つのプラットフォーム独立型のGUIウィジェ
ットを有している。装置プラットフォーム独立型のモデ
ルを基に、プラットフォーム独立型のGUIウィジェット
に対応する、プラットフォーム特定型のGUIウィジェッ
トがページ上に配置され、そして異種装置プラットフォ
ームの表示画面のサイズと比較される。ページが表示画
面のサイズと適合しない場合は、プラットフォーム独立
型のGUIウィジェットは、ページ上において再び配置さ
れる。また、プラットフォーム独立型のGUIウィジェッ
トが分割可能な場合、表示画面サイズに適合させるた
め、プレゼンテーションの複数ページ内にわたって分割
される。
Description
ザインターフェイス(GUI)に関し、特に、異種装置プラ
ットフォーム間をマイグレーションするプラットフォー
ム特定型のGUIウィジェットの動的レイアウトに関す
る。
話、そしてページャーなどの個人向けの電子装置(携帯
装置)が、ここ近年流行している。これらの携帯装置
は、無線や有線ネットワークを利用した通信を行なえる
ので、モバイルコンピューティングを可能にしている。
ネットワークは、これらの携帯装置に、情報ソースおよ
び他の類似の装置への接続を提供している。一般的に、
ネットワークはインターネット上での通信も含んでい
る。
型のユーザインターフェイス(UI)を持っている。ある装
置のユーザインターフェイスの特性は、その装置の処理
能力とハードウェアによる。例えば無線電話には、限ら
れた処理能力、及び限られたグラフィックとユーザイン
ターフェイス能力しか有していない小さなグラフィカル
ユーザインターフェイス(GUI)しか与えられていな
い。逆に、ノートパソコンには、相対的に拡張性のある
グラフィック能力とユーザインターフェイス能力、そし
て処理能力が与えられている。携帯装置の人気が高まる
に連れて、アプリケーションのメインプラットフォーム
は、デスクトップ型パソコンから携帯装置へとシフトす
ると思われる。
ションの開発が困難な1つの理由は、携帯装置の異質性
である。多種多様なディスプレイのサイズ、解像度、コ
マンドの入力方法、そしてGUIライブラリがあるため、
アプリケーションの開発者は、各装置プラットフォーム
のグラフィカルユーザインターフェイス(GUI)用に、ア
プリケーションを再設計及び再実装する必要がある。た
くさんの異なる携帯装置が利用され、または市場に参入
しているので、再設計と再実装に、たくさんの労働力と
生産コストを要する努力が現在もなされている。
開発である。1つの例が、ユーザインターフェイスモデ
リングである。一般的に、ユーザインターフェイスモデ
リングは、プラットフォームモデル、プレゼンテーショ
ンモデル、そしてタスクモデルを含む。プラットフォー
ムモデルでは、サポートされる装置用のユーザインター
フェイスを形成する操作機能が示される。プレゼンテー
ションモデルでは、サポートされる装置に関連したユー
ザインターフェイスの外観に関する階層、及び様式の選
択と配置が示される。タスクモデルでは、サポートされ
る装置のユーザが実行するタスクが示される。この技術
を使用することにより、特定の装置用のインターフェイ
スの生成のため、異なるモデル間におけるマッピングが
開発されると思われる。
ルを実装するためのハイレベル言語の開発を含んでい
る。さらに開発者は、装置をサポートするためにモデル
の重要な部分を設定し、かつ特定する。ハイレベル言語
は非常に複雑なので、モデルベース型アプローチを実行
する前に、開発者は、実行メカニズムの知識とハイレベ
ル言語を共に学ぶ必要がある。さらにモデルベース型ア
プローチは、開発者が作った異なるモデルに基づくコー
ドを作成する。装置のユーザインターフェイス要求にお
いては小さな差異でも、2つの似たタイプの装置用に生
成されたコードにおいては大きな差異になることもあ
る。従って開発者に求められるプログラミング技能のレ
ベルは、とても重要になってくる。
ベース型の拡張性のあるグラフィカルユーザインターフ
ェイス(SGUI)システムを開示している。SGUIシステム
により、拡張性のあるアプリケーションは、複数の異種
装置プラットフォーム上において動作することが可能と
なる。拡張性のあるアプリケーションは、アプリケーシ
ョン・グラフィカルユーザインターフェイス(GUI)を
含んでもよい。アプリケーションGUIは、拡張性のある
アプリケーションが動作している異種装置プラットフォ
ームの中の1つのユーザインターフェイスで動くSGUIシ
ステムに適合していてもよい。アプリケーション開発者
は、モデルベース型のアプローチの複雑さを伴わない異
種装置プラットフォーム内において、ユーザインターフ
ェイス機能から独立している複数のアプリケーションGU
Iを設定してもよい。さらに異種装置プラットフォーム
に関連しているユーザインターフェイスとGUIライブラ
リの複雑さも、SGUIシステムを利用しているアプリケー
ション開発者により解消されることが可能になる。
ラリ、カスタマイズモジュール、そしてレンダーマネー
ジャモジュールを有している。カスタマイズモジュール
は、タスクマネージャモジュールと変換マネージャモジ
ュールを有している。拡張性のあるアプリケーションが
起動、または異種装置プラットフォーム(ここでは、タ
ーゲット装置プラットフォーム)へ移ると、アプリケー
ションGUIの中間表現が、拡張性のあるアプリケーショ
ンによりインスタンス化される。その中間表現は、階層
的な構造において、少なくとも1つの論理パネルと、少
なくとも1つの拡張性のあるグラフィカルユーザインタ
ーフェイス(SGUI)コンポーネントの表示を含むことが
可能な装置プラットフォーム独立型の論理構造形式にお
けるプラットフォーム独立型のプレゼンテーションモデ
ルである。中間表現内におけるノードは、論理パネルを
表すコンテナノードと、SGUIコンポーネントを表すコン
ポーネントノードを含んでもよい。
リケーション開発者により特定されたプロパティ、及び
ターゲット装置プラットフォームの機能に基づいたカス
タマイズモジュールによりカスタマイズされたものであ
ってもよい。中間表現のカスタマイズにより、プラット
フォーム独立型のプレゼンテーションモデルは、プラッ
トフォームの特定表示を表している特定のプラットフォ
ーム依存型の論理構造へと変換する。
のカスタマイズは、装置プラットフォーム独立型モデル
に含まれている少なくとも1つのノード処理を含んでい
る。該ノードは、少なくとも1つのプラットフォーム独
立型のウィジェットに関連していてもよい。プラットフ
ォーム独立型のウィジェットは、SGUIコンポーネントや
SGUIコンポーネント複合であってもよい。ノードに関連
している各々のプラットフォーム独立型のウィジェット
は、ページに配置されている対応するプラットフォーム
特定型のウィジェットへマップされてもよい。ページの
サイズは、異種装置プラットフォームの表示画面と比較
されてもよい。ページにあるプラットフォーム特定型の
ウィジェットが、現在の表示画面より大きいページを作
成すると、SGUIコンポーネント複合である対応するプラ
ットフォーム独立型のウィジェットは、複数のSGUIコン
ポーネントに分割されてもよい。その結果分割されたSG
UIコンポーネントは、表示画面に適合するため、既存ペ
ージと新たに追加されたページ(少なくとも1ページ)間
において分割可能なプラットフォーム特定型のウィジェ
ットへマップしてもよい。
タマイズモジュールが利用可能なプラットフォーム独立
型のウィジェットに関連しているプロパティである。詳
細なレイアウトプロパティは、ページ内において対応す
るプラットフォーム特定型のウィジェットの相対的な位
置を示してもよい。SGUIコンポーネント複合の場合、同
コンポーネントが複数のページ間において分割可能な場
合に、分割可能なプロパティが、ページ内における対応
するプラットフォーム特定型のウィジェットの相対的な
位置を示してもよい。さらに、分割されたSGUIコンポー
ネントからのプラットフォーム特定型のウィジェット
が、複数のページ内にどのように分配されるかという事
を優先プロパティーが示してもよい。
徴は、非分割SGUIコンポーネント(例:分割可能なプロ
パティに指定された非分割SGUIコンポーネント)である
プラットフォーム独立型のウィジェットである。もし非
分割なSGUIコンポーネントであるプラットフォーム独立
型のウィジェットに対応するプラットフォーム特定型の
ウィジェットにより、ページサイズが表示画面のサイズ
を超えてしまったら、カスタマイズモジュールによる変
換ルールが、非分割SGUIコンポーネントに適用されても
よい。
徴は、フローマネージャの使用である。SGUIコンポーネ
ント複合が分割、あるいは変換したとき、フローマネー
ジャが、分割されたSGUIコンポーネントに対応するペー
ジ内に、プラットフォーム特定型のウィジェットをレイ
アウトするために使用されてもよい。
は、図面と以下の詳細な説明で明らかにされる。好まし
い実施形態の以上の説明は、ただの一例に過ぎず、本発
明の範囲を定義する特許請求の範囲を制限するものでは
ない。
る複数の装置プラットフォーム上で動作することのでき
る拡張性のあるアプリケーションと共に使う拡張性のあ
るグラフィカルユーザインターフェイス(SGUI)アーキテ
クチャを説明する。拡張性のあるアプリケーションは、
異種装置プラットフォームに対応付けられた多種のユー
ザインターフェイスと共に動作するように、SGUIシステ
ムにより動的に適合されてもよい。SGUIシステムを使用
することにより、拡張性のあるアプリケーションを、そ
の拡張性のあるアプリケーションが動作することになる
異種装置プラットフォームから独立したユーザインター
フェイス機能を有するように設計できる。拡張性のある
アプリケーションの開発者は、SGUIシステムの使用をし
なければ、種々の異種装置プラットフォームへのユーザ
インターフェイスを作成する時に、多くの複雑なプログ
ラム作成が必要になるが、SGUIシステムを使用すると、
これらを避けることができる。さらに、SGUIシステム
は、モデルベース型の技術のようなモデル構造がなくて
も、異種装置プラットフォームで動作する。このような
わけで、アプリケーション開発者によるプログラミング
は比較的簡単であり、モデル構築、及び/またはモデル
操作技術は必要でない。
るプラットフォーム装置上で動作することのできるアプ
リケーションが含まれる。拡張性のあるアプリケーショ
ンのほとんどは、異種装置プラットフォームの表示画面
用のプレゼンテーションを生成する機能を有している。
プレゼンテーションは、視覚的な素材からなる1ページ
またはそれ以上のページ(またはプレゼンテーション単
位)を含んでもよい。視覚的な素材は、異種装置プラッ
トフォームのユーザのために、表示画面上に配置されて
もよい。拡張性のあるアプリケーションは、アプリケー
ションGUIでプレゼンテーションを生成してもよい。ア
プリケーションGUIは、拡張性のあるグラフィカル・ユ
ーザインターフェイス・アプリケーションのコンポーネ
ントである。
拡張性のあるアプリケーションを動作させる機能を兼ね
備えた装置であってもよい。典型的な異種装置プラット
フォームは、無線電話、ポケットPC、個人情報端末(PD
A)、ぺージャー、デスクトップコンピュータ、ノートブ
ックコンピュータ、車載コンピュータ、または拡張性の
あるアプリケーションを実行する機能のある表示画面を
兼ね備えた有線/無線装置を含んでもよい。また異種装
置プラットフォームは、例えばWindows NT(登録商
標)、Windows 2000(登録商標)、Linux(登録商
標)、Solaris(登録商標)、MacOS(登録商標)、Palm
(登録商標)、Windows CE(登録商標)、独自のオペレ
ーティングシステム、またはその他の装置に機能性を提
供するオペレーティングシステムを含んでもよい。オペ
レーティングシステムは、拡張性のあるアプリケーショ
ンを起動させたりサポートするための機能を提供しても
よい。
るアプリケーションを動作させたり、機能を提供するハ
ードウェアまたはソフトウェアを含んでいてもよい。例
えば、メモリのような記憶手段を含んでいてもよい。記
憶手段は、例えば、オペレーティングシステム、拡張性
のあるアプリケーション、および装置プラットフォーム
に関する他の情報を記憶してもよい。さらに、異種装置
プラットフォームは、ユーザインターフェイスを含んで
もよい。ユーザインターフェイスは、例えば、表示装
置、キーボード、マウスに似たポインティングデバイ
ス、タッチスクリーン、キーパッド、オーディオ機能、
または異種装置プラットフォームのユーザ用のインター
フェイスを提供する手段を含んでもよい。
に異なっていてもよい。ここで言う機能とは、異種装置
プラットフォームと拡張性のあるアプリケーションの動
作に影響を与えるハードウェア的な特徴と装置機能のこ
とである。つまり、例えば、装置プラットフォームのタ
イプ(例:無線電話、PDA,ラップトップPC等)、利用可
能なユーザインターフェイスライブラリ、表示画面のサ
イズと解像度である。さらに、代表的な機能として、表
示画面に関するユーザインターフェイス、計算処理容
量、メモリのサイズ、プラットフォームの使用、または
装置プラットフォームのユーザインターフェイスと動作
に影響するその他のパラメータが挙げられる。
装置プラットフォームは、Java(登録商標)の技術で作
られた拡張性のあるアプリケーションを実行する移動装
置である。Java(登録商標)の技術は、Java(登録商
標)VM(Virtual Machine;バーチャルマシン)上で動くJa
va(登録商標)プログラミング言語を有している。Java
(登録商標)VMは、多種に渡る装置プラットフォーム上
に移植されてもよい。典型的なJava(登録商標)技術の
実装は、ノートPCの装置プラットフォーム上で動くJava
(登録商標)VM、ポケットPCの装置プラットフォーム上
にあるパーソナルJava(登録商標)VM、無線電話の装置
プラットフォーム上で動くJava(登録商標)KVMであ
る。他の実施形態においては、他のプログラミング言語
/技術、および他の装置プラットフォームが、SGUIシス
テムで使用される。他のプログラミング言語/技術と
は、C言語、C++言語、マイクロソフトのCシャープ言
語、及び/または他の技術である。
ションに対応付けられたアプリケーションGUIの中間表
現をインスタンス化させる。中間表現と同様にアプリケ
ーションGUIは、非装置に特定したもの(例えば、装置
プラットフォームから独立しているもの)であるが、装
置プラットフォームと適合性がある方が好ましい。プラ
ットフォーム独立型のプレゼンテーションモデルにおけ
る中間表現のインスタンスの作成は、拡張性のあるアプ
リケーションのアプリケーションGUIに基づいてもよ
い。中間表現は、拡張性のあるアプリケーションにより
生成されるプレゼンテーション用の論理構造を提供して
もよい。この論理構造を、異種装置プラットフォーム用
にカスタマイズして、SGUIシステムによるプラットフォ
ーム特定型のプレゼンテーションを作成してもよい。カ
スタマイズは、プレゼンテーションを表示させる異種装
置プラットフォームの機能と、アプリケーションGUI内
で特定されたプロパティに基づいてもよい。SGUIシステ
ムによるカスタマイズは、装置プラットフォーム用のグ
ラフィカルユーザインターフェイスの開発において共通
な3つの問題を提起している。即ちそれらは、表示画面
サイズ、入力方法、及びユーザインターフェイスライブ
ラリである。
ットフォーム上で動作することができる。よって、拡張
性のあるアプリケーションを開発しているアプリケーシ
ョンプログラマは、表示画面用に特定なサイズを採り上
げる必要はない。例えば、ドコモ 503i無線電話は120
×130画素の表示画面を兼ね備え、コンパックのIPAQポ
ケットPCは320×240画素の表示画面を兼ね備え、典型的
なノートPCは、1024×768画素の表示画面を兼ね備えて
いる。表示画面のサイズは、表示画面上におけるプレゼ
ンテーションのページを形成しているコンポーネントの
レイアウトや、視覚的なプレゼンテーションの品質に影
響を及ぼすこともある。
フィカルユーザインターフェイス(GUI)コンポーネン
トと呼んでもよい。GUIコンポーネントは、表示画面の
状況に応じて、固定およびアニメ化が可能であり、及び
/またはインタラクティブであるプレゼンテーションの
表示機能である。GUIコンポーネントの典型例は、グラ
フィカルラベル、グラフィカルボタン、グラフィカルチ
ェックボックス、グラフィカルテキストフィールド、グ
ラフィカルテキストエリア、グラフィカルリスト/テー
ブル、グラフィカルバックグラウンド、データ入力フィ
ールド、プルダウンメニュー、及び/または表示画面上
に表示する機能を兼ね備えているものである。GUIコン
ポーネントは、固有の識別子と一緒にGUIライブラリに
保存されてもよい。この識別子により、例えば、既に述
べられているアプリケーションGUIは、GUIコンポーネン
トでプレゼンテーションを作る。
の関数として、複数ページに細かく分割されてもよい。
例えば、ノートブックPCのような相対的に大きな表示画
面は、大きなサイズ、及び/またはたくさんの量のGUIコ
ンポーネントを含んだ大きなページを表示することがで
きる。一方、例えば、無線電話のような小さな画面は、
かなりコンパクトなGUIコンポーネントを持った小さな
ページのみ表示することができる。さらに、小さなペー
ジは、表示画面上において、一度にほんの少しのGUIコ
ンポーネントしか表示できない。
ムの表示画面を最大限に埋めるために用いることもでき
る。中間表現を用いることにより、SGUIシステムは、ダ
イナミックなレイアウトとアプリケーションGUIのグラ
フィカルユーザインターフェイス(GUI)変換を提供で
きる。このようにアプリケーションGUIは、拡張性のあ
るアプリケーションが動いている異種装置プラットフォ
ームの表示画面に拡大縮小されてもよい。
ケーションとアプリケーションGUIに対応付けられてい
る異なる入力方法を兼ね備えていてもよい。例えば入力
方法として、無線電話はキーパッド、ポケットPCは手書
き入力用のペン、ノートブックPCはキーボード、及び/
またはマウスのようなポインティングデバイスを利用す
る。従って、拡張性のあるアプリケーションのアプリケ
ーション開発者は、対応しているアプリケーションGUI
用特定の入力方法を採用しなくてもよい。
ムに対応できる装置プラットフォーム独立型のGUIイベ
ントを提供する。GUIイベントは、ページ上の視覚的な
素材内における状態の変化である。ユーザが、異種装置
プラットフォームのユーザインターフェイスと対話する
ことにより、GUIイベントを引き起こされることもあ
る。SGUIシステムにより、装置プラットフォーム特定の
GUIイベントを、装置プラットフォーム独立のGUIイベン
トに、動的に変換される。このように、SGUIシステムを
利用している拡張性のあるアプリケーションは、異種装
置プラットフォームのユーザインターフェイスと適合性
があり、かつ異種装置プラットフォームのユーザインタ
ーフェイスから独立しているGUIイベント機能を持つよ
うに設計される。
ョンプログラムインターフェイス(API)をサポートし
てもよい。APIは、広範囲にわたる機能を提供する出来
合いのソフトウェアコンポーネントの集まりの1つであ
る。例えば、Java(登録商標)技術は、Java(登録商
標)プリケーションプログラムインターフェイス(AP
I)を持っている。Java(登録商標)(API)は、Java
(登録商標)型プログラム内で実装される標準的な機能
を提供するソフトウェアコンポーネントの集まりであ
る。
「一度書いたらどこでも動く(WriteOnce, Run Anywher
e; WORA)」を主張しているが、移動装置環境で開発し
ているJava(登録商標)アプリケーションにとって、こ
れは当てはまらないこともある。例えば無線電話で、Ja
va(登録商標)プログラミング言語は、Java(登録商
標) 2 Micro Edition(J2ME)であってもよい。基本的に
J2MEのデザインは、柔軟性と分断に基づいている。柔軟
性を成し遂げるため、J2MEは装置プラットフォーム特定
型のAPIを設定している。装置プラットフォーム特定型
のAPIは、プロファイルとして言及される。J2MEアプリ
ケーションは、特定の装置プラットフォームで動くよう
に書かれているので、異なるプロファイルは分断してし
まう。例えば、ドコモ503iの無線電話はJ2ME DoJa API
として言及されるJava(登録商標)プロファイルをサポ
ートしてもよい。同様に、ポケットPCはPersonal Java
(登録商標) AWT APIを、ノートブックパソコンはJava
(登録商標)2 Standard Edition(J2SE) SWING APIをサ
ポートしてもよい。
て、異なるGUIライブラリをサポートしてもよい。例え
ば、PDAは、対応しているGUIライブラリ内において、よ
り多くのタッチスクリーン関連のGUIコンポーネントを
兼ね備えていてもよい。一方、例えば無線電話は、対応
しているGUIライブラリ内において、指示関連のGUIコン
ポーネントしか兼ね備えていてなくてもよい。既に知ら
れている通り、GUIライブラリは、プレゼンテーション
を作成するためにアクセス可能な既成のGUIコンポーネ
ントを編集したものである。
置プラットフォームと適合性があり、かつその上でサポ
ートされる装置プラットフォーム独立型APIを提供す
る。装置プラットフォーム独立型のAPIは、異種装置プ
ラットフォームに対応付けられている異なるGUIライブ
ラリへ、ブリッジング(橋渡し)機能を提供する。した
がって、SGUIシステムを利用しているアプリケーション
開発者は、異種装置プラットフォーム用のプラットフォ
ーム特定型のGUIプレゼンテーションを開発するため、
異なるGUIライブラリに精通している必要はない。
のあるアプリケーションがある装置プラットフォームか
ら別の装置プラットフォームへマイグレーションするこ
とである。拡張性のあるアプリケーションのマイグレー
ションは、ソース(供給元)装置プラットフォームから
ターゲット装置プラットフォームへ、動作中の拡張性の
あるアプリケーションのインスタンスのマイグレーショ
ンを含んでいる。例えば、会社でマウスやキーボードを
使い、ラップトップPCで、Eメールに関連している拡張
性のあるアプリケーションを操作しているユーザを考え
てください。ここで仕事の完了前に、ユーザは会社を出
る必要がある。この時にユーザは、まだアクティブな拡
張性のあるアプリケーションを、ラップトップPC(ソー
ス(供給元)装置プラットフォーム)からPDA(ターゲッ
ト(目的)装置プラットフォーム)へと動かすことによ
り、Eメール作業機能を続行できる。ラップトップPCの
表示画面はPDAより大きいので、アプリケーションのプ
レゼンテーションは、SGUIシステムによりPDAの表示画
面に適合される。これに伴い、ラップトップPCのマウス
やキーボードで動いていたユーザインターフェイス機能
もまた、SGUIシステムにより、PDA上にあるタッチスク
リーンのユーザインターフェイス機能に適合されてもよ
い。SGUIシステムは、ソースおよびターゲット装置プラ
ットフォームから独立しているユーザインターフェイス
の拡張性のあるアプリケーションの移動性を提供する。
このように拡張性のあるアプリケーションは、SGUIシス
テムを使いながら動作する時にだけ必要であり、特に2
つの装置プラットフォーム上で動作する時に必要なわけ
ではない。
インターフェイス(SGUI)システム10のある実施形態の
ブロック図である。SGUIシステム10は、拡張性のある
GUIライブラリモジュール12、カスタマイズモジュー
ル14、そしてレンダーマネージャモジュール16を持
っている。図に描かれた実施形態は、本発明の理解を助
けるためのものであり、これらの装置は個々に独立した
ものではなく、同図より少ないまたは多い装置が、SGUI
システム10を説明している様々な実施形態で利用され
てもよい。
2は、拡張性のあるアプリケーションの開発中におい
て、アプリケーションの開発者が使用するツールであっ
てもよい。さらに、拡張性のあるGUIライブラリモジュ
ール12は、SGUIシステム10による中間表現と共に使
用するため、GUIコンポーネントのライブラリを提供し
てもよい。ある実施形態において、装置プラットフォー
ム独立型APIは、拡張性のあるアプリケーションの開発
中において使用されてもよい。また中間表現を作るた
め、装置プラットフォーム独立型APIは、装置プラット
フォーム独立型のアプリケーションGUI内に、アプリケ
ーション開発者により実装されてもよい。したがって、
装置プラットフォーム独立型のアプリケーションGUIを
使用して中間表現のインスタンス化には、拡張性のある
GUIライブラリモジュール12内において、装置プラッ
トフォーム独立型のAPIを実行することが含まれる。中
間表現のインスタンス化は、中間表現は装置プラットフ
ォーム独立型のプレゼンテーションモデルということを
表している図1において、「装置独立型中間表現」とな
っている。
ジュール12は、Java(登録商標)アブストラクト ウ
インドウ ツールキット(AWT)のようなGUIライブラリの
他のフォームに似ている。本発明の好ましい実施形態に
おいて、拡張性のあるGUIライブラリモジュール12
は、Java(登録商標)のアプリケーションGUIに似たス
タイルで作られている。従って、Java(登録商標)技術
に詳しいアプリケーションプログラマが、装置プラット
フォーム特定型APIを利用する現存の装置プラットフォ
ーム特定型のアプリケーションGUIを、SGUIシステム1
0内において、装置プラットフォーム独立型のAPIを利
用する装置プラットフォーム独立型のアプリケーション
GUIに変換する要求は少なくなる。
ト装置プラットフォームの装置独立の中間表現をカスタ
マイズするために動作する。「ターゲット装置プラット
フォーム」と言う語は、拡張性のあるアプリケーション
がディスプレイ用のプレゼンテーションを生成する、異
種装置プラットフォームを特定する。ターゲット装置プ
ラットフォームとして、拡張性のあるアプリケーション
が特定された装置プラットフォーム上を動作している間
に、プレゼンテーションは生成されてもよい。さらに拡
張性のあるアプリケーションが、ソースからマイグレー
ションの目的である装置プラットフォーム(ターゲット
装置プラットフォーム)へマイグレーションする時、プ
レゼンテーションが生成されてもよい。ある実施形態に
おけるカスタマイズモジュール14は、タスクマネージ
ャモジュール18と変換マネージャモジュール20を持
っている。
ジュール18は、ターゲット装置プラットフォームの機
能に基づいて装置独立型の中間表現の機能を取り除いて
もよい。その中間表現は、タスクマネージャモジュール
18によりタスクが取り除かれたことを表している「取
り除かれた中間表現」と図1に示されている。ある実施
形態において、拡張性のあるアプリケーションは、ター
ゲット装置プラットフォームの機能を特定し、そしてそ
の機能をタスクマネージャモジュール18へ提供する。
またある実施形態において、タスクマネージャモジュー
ル18は、ターゲット装置プラットフォームの機能を特
定することができる。
ゲット装置プラットフォームに適合しない拡張性のある
アプリケーションの代表的な機能/能力を持っていても
よい。例えば、ラップトップパソコンは、電話のテンキ
ー機能に関連しているタスクは使わない。同様に、利用
できる能力に制約があるため、ターゲット装置プラット
フォーム上に全てのタスクを表示することは望ましくな
いともいえる。例えば、多量のテキストデータを入力す
るのに、無線電話のテンキーを使うのは面倒くさい上、
時間もかかる。だからタスクマネージャモジュール18
は、無線電話にとっては面倒である編集機能に関連した
タスクを取り除いてもよい。ある実施形態において、タ
スクマネージャは、ターゲット装置プラットフォームの
機能、及び/または中間表現内におけるアプリケーショ
ン開発者により特定された他のプロパティに応じて、タ
スクを取り除いてもよい。
現を装置プラットフォーム依存型のプレゼンテーション
に変換するように動く。装置プラットフォーム依存型の
プレゼンテーションは、ターゲット装置プラットフォー
ム内で、特定のユーザインターフェイスに適合してもよ
い。中間表現の変換は、タスクマネージャモジュール1
8が不要なタスクを取り除くことにより始まる。中間表
現の変換には、ターゲット装置プラットフォームの機能
ベースの中間表現、中間表現の論理構造、及び/または
アプリケーションGUIが特定したプロパティを動的に変
更することが含まれる。以下における変換マネージャモ
ジュール20による変換において、中間表現は装置プラ
ットフォーム依存型の中間表現であり、この装置プラッ
トフォーム依存型の中間表現は、プラットフォーム特定
のプレゼンテーション方式における特定のある異種装置
プラットフォーム(ターゲット装置プラットフォーム)に
対するカスタマイズを示すために「装置依存型中間表
現」として図1に表されている。
ーゲット装置プラットフォームの表示画面上にプレゼン
テーションを表示するようにしてもよい。レンダーマネ
ージャモジュール16は、カスタマイズモジュール14
による中間表現のカスタマイズを行う。レンダーマネー
ジャモジュール16は、装置プラットフォーム依存型の
中間表現から、プレゼンテーションを取り出してもよ
い。さらにレンダーマネージャモジュール16は、ター
ゲット装置プラットフォームの表示画面上にプレゼンテ
ーションを表示するために、拡張性のあるGUIライブラ
リモジュール12を利用してもよい。
は、プレゼンテーションを取り出すため、装置プラット
フォーム依存型の中間表現をトラバースすることを含
む。装置プラットフォーム依存型の中間表現は、ターゲ
ット装置プラットフォームに依存している装置プラット
フォーム用にカスタマイズされたアプリケーションGUI
の符号化表示である。このように、レンダーマネージャ
モジュール16により取り出されたプレゼンテーション
は、ターゲット装置プラットフォームの表示画面上に写
っている装置依存型のアプリケーションGUIを表示す
る。
いて、SGUIシステム10は、ターゲット装置プラットフ
ォームに対しアプリケーションGUIの継ぎ目のないスケ
ーリングを提供するため、拡張性のあるアプリケーショ
ンと連動して動いてもよい。アプリケーション開発者
は、アプリケーションGUIから装置プラットフォーム独
立型の中間表現を作るためのツールとして、拡張性のあ
るGUIライブラリモジュール12を使うことができる。
図1に示すように、SGUIシステム10の稼動中、アプリ
ケーションGUIは、拡張性のあるGUIライブラリモジュー
ル12を使う装置プラットフォーム独立型の中間表現を
インスタンス化してもよい。カスタマイズモジュール1
4は、拡張性のあるアプリケーションが動いているター
ゲット装置プラットフォームに基づく装置プラットフォ
ーム依存型の中間表現に対し、中間表現をカスタマイズ
してもよい。レンダーマネージャモジュール16は、タ
ーゲット装置プラットフォームのユーザインターフェイ
ス用にカスタマイズされたプレゼンテーションを取り出
すため、装置プラットフォーム依存型の中間表現を使用
してもよい。そしてプレゼンテーションは、レンダーマ
ネージャモジュール16により、ターゲット装置プラッ
トフォームの表示画面上に表示されてもよい。
な詳細について説明する。
ュール12の1実施形態のより詳細なブロック図であ
る。ある実施形態の拡張性のあるGUIライブラリモジュ
ール12は、拡張性のあるGUIコンポーネントライブラ
リモジュール22、中間表現モジュール24(IR)、そ
して拡張性のあるGUIイベント変換モジュール26を有
している。他の実施形態において、これより少ないまた
は多いモジュールにより、拡張性のあるGUIライブラリ
モジュール12の機能を表してもよい。拡張性のあるGU
Iコンポーネントライブラリモジュール22は、有名なG
UIコンポーネントライブラリに共通している点がいくつ
かある。GUIコンポーネントライブラリモジュール22
のある実施形態において、GUIコンポーネントライブラ
リモジュール22は、複数の拡張性のあるグラフィック
ユーザインターフェイス(SGUI)コンポーネントと装置プ
ラットフォーム独立型のAPIを有している。既に述べた
ように、装置プラットフォーム独立型のAPIは、異種装
置プラットフォームと適合性があり、そして装置独立型
のアプリケーションGUIを作るために利用できる。
けるグラフィカルユーザインターフェイスコンポーネン
トである。SGUIコンポーネントは、SGUIシステムで動作
可能な異種装置プラットフォームによりサポートされる
装置独立型のグラフィカルユーザインターフェイスコン
ポーネントとして描かれている。さらにSGUIコンポーネ
ントは、グラフィカルユーザインターフェイスコンポー
ネントが、異種装置プラットフォーム用にカスタマイズ
可能なことを表すために用いられてもよい。またSGUIコ
ンポーネントは、SGUIコンポーネント複合として言及さ
れてもよい。ここでSGUIコンポーネント複合は、関連の
ある機能を提供するためにグループ化された複数のSGUI
コンポーネント単体である。
Iコンポーネントの表示を含む装置独立型の中間表現の
インスタンスを作るのに使われてもよい。しかしながら
ディスプレイ用のプレゼンテーションを作る前に、中間
表現は、装置プラットフォーム依存型の中間表現が表示
可能になるように、変換(またはカスタマイズ)されて
もよい。
ネントライブラリモジュール22は、Java(登録商標)
SWINGに似ている。これにより、Java(登録商標)スイ
ングに明るいアプリケーション開発者は、拡張性のある
GUIコンポーネントライブラリモジュール22を容易に
学ぶことができる。ある実施形態において、Java(登録
商標)スイングとSGUIコンポーネントの類似点は、共に
接頭辞がSだということである。つまり、この実施形態
でJava(登録商標)SWINGの接頭辞は、Java(登録商
標)SWINGのJではなく、Sなのである。
イブラリを作るために、4つの有名な技術がある。それ
ら4つの技術とは「Least Common Denominator (LC
D)」,「Superset Emulation」,「 Direct API Emulatio
n」and 「Layering/Wrapper」である。LCD技術は、全て
のGUIライブラリに共通の特徴を持っている。Superset
Emulation技術は、全てのGUIライブラリ用のGUIコンポ
ーネントのスーパーセットを提供できる。ダイレクトAP
Iエミュレーションの技術は、直接的に、あるGUIライブ
ラリの装置特定型APIを別のGUIライブラリの装置特定型
APIへマッピングできる。レイヤリング/ラッパー技術
は、GUIライブラリへマッピングする、アブストラクト
なGUIライブラリを提供する。
イレクトAPIエミュレーションとラッパー技術のコンビ
ネーションが実装される。他の実施形態において、他の
技術との組み合わせが使われてもよい。しかしながら、
LCD技術の利用は、SGUIコンポーネントの利用を制限す
ることもある。さらに、SGUIシステムがサポートするGU
Iライブラリの数が増えた時、スーパーセットエミュレ
ーションの利用は、拡張性を制限することもある。
ー技術の組み合わせが、拡張性のあるGUIコンポーネン
トライブラリモジュール22により実装されてもよい。
拡張性のあるGUIコンポーネントライブラリモジュール
22は、他のGUIライブラリへマッピングされてもよ
い。ある実施形態において、拡張性のあるGUIコンポー
ネントライブラリモジュール22は、装置特定のGUIラ
イブラリへマッピングされてもよい。装置特定のGUIラ
イブラリは、例えば、Java(登録商標)スイング、Java
(登録商標)AWT、及び/またはJava(登録商標)Dojaを
有していてもよい。他の実施形態において、拡張性のあ
るGUIコンポーネントライブラリモジュール22は、非
装置特定のライブラリを有している増設された/異なる
ライブラリへマッピングされてもよい。
リモジュール22内でのマッピングにおいて、SGUIコン
ポーネントを、他のライブラリ内にある装置特定のGUI
コンポーネントへマッピングする。このマッピングは、
対応する装置特定のGUIコンポーネントが装置特定のGUI
ライブラリ内において利用可能な場所で実行されてもよ
い。もし装置特定のGUIライブラリが利用できないと
き、SGUIコンポーネントは、装置特定のGUIライブラリ
内において、装置特定のGUIコンポーネント複合へマッ
ピングされてもよい。ある実施形態において、マッピン
グは定着してない。したがって、この実施形態におい
て、アプリケーション開発者は、拡張性のあるGUIコン
ポーネントライブラリモジュール22内においてSGUIコ
ンポーネントのマッピングを変えたり/加えたりするこ
とにより、デフォルトマッピングを無視してもよい。
ル24は、中間表現を作るためにアプリケーションGUI
が使用する装置独立型APIを有している、いかなるアプ
リケーションでもよい。中間表現は、拡張性のあるGUI
コンポーネントライブラリモジュール22を利用する装
置独立型アプリケーションGUIを表している。好ましい
実施形態において、中間表現は木構造のような構造を有
しているので、だから中間表現は中間表現(IR)ツリー
(木)と呼ばれてもよい。他の実施形態において、例え
ば、アウトライン構造、マトリックス構造、または他の
論理ベースの構造を、中間表現を表すために用いてもよ
い。
れているかもしれない論理構造を提供する。SGUIコンポ
ーネントは、IRツリー内の簡単な中間表現内に装置プラ
ットフォーム独立型のアプリケーションGUIを入れるこ
とにより、配置されてもよい。アプリケーションGUIは
装置プラットフォーム独立型なので、IRツリーは拡張性
のあるアプリケーションによりサポートされる、すべて
の可能なSGUIコンポーネントを含んでいてもよい。SGUI
コンポーネントは、装置プラットフォーム独立型のプレ
ゼンテーションへ簡単な変換を提供するように配置され
てもよい。さらに詳細は後で述べるが、レイアウト構
造、レイアウトの制約、そして制約を示すその他のプロ
パティは、IRツリーの論理構造内において特定されても
よい。さらに、IRツリーは、Java(登録商標)のアプリ
ケーションGUI開発との類似を永続させるため、Java
(登録商標)技術の階層的なコンテナ概念を取り入れる
ことが望ましい。
ック図である。IRツリー40は、階層型構造内にある相
互に連結した複数のノードを持っている。図の階層構造
は、数ある構造の中における1つの例に過ぎない。好ま
しい実施形態において、IRツリー40は、少なくとも1
つのコンポーネントノード42と1つのコンテナノード
44を持っている。他の実施形態において、その他のカ
テゴリーを持つノードが、アプリケーションGUIを表す
ように特定されてもよい。
は、個々のSGUIコンポーネントを表している。コンポー
ネントノード42より下の位置には他のノードがこれ以
上無いので、コンポーネントノード42は、IRツリー4
0の「葉」と見なしてもよい。ある実施形態のコンテナ
ノード44は、IRツリー40内における論理パネルを表
している。論理パネルは、装置プラットフォームの表示
画面に表示するためIRツリー40から作られたプレゼン
テーションのページ内で、異なるセクション、または異
なるパネルを表している。例えば、Eメールに関するア
プリケーション内において、コンテナノード44は、ユ
ーザが受け取った全てのEメールを表示するウインドウ
を表すことができる。
位の位置に自身と連結しているコンポーネントノード4
2、及び/または他のコンテナノード44を持っていて
もよい。IRツリー40の下位に位置しているノードは、
上位の関連論理パネルにより表されるセクションの一部
またはパネルである、関連サブ論理パネル及び関連SGUI
コンポーネントを表している。例えば、Eメールを表示
するウインドウにおいて、下位にあるコンテナノード4
4は、ウインドウ内で記述的なヘッダーを提供してもよ
いし、そして接続先のコンポーネントノード42は、受
信したメールを分類する機能を提供してもよい。
い位置にあるルートコンテナノード44aは、全体的な
プレゼンテーションを表してもよい。その他のコンテナ
ノード44は、プレゼンテーション内で異なる論理パネ
ルを表しているので、ルートコンテナノード44aの階
層的な子供と考えてよい。コンテナノード44c、44
d、44e、44g、そして44hは、ルートコンテナ
ノード44aの一番下位のコンテナノードであると言え
る。逆に言えば、コンテナノード44b、44c、44
dは、ルートコンテナノード44aの直系の階層的な子
供である。さらに図にあるように、いくつかのコンテナ
ノード44の階層的な子供達はコンポーネントノード4
2である。例えば、コンテナノード44c、44dの子
供は、それぞれコンポーネントノード42g、42hと
コンポーネントノード42j、42kである。
ケーションのタスク構造でもよい。タスク構造は、拡張
性のあるアプリケーションが実行するタスクに関連する
SGUIコンポーネントをグループ化することにより、表示
されてもよい。タスクという言葉は、装置プラットフォ
ームのユーザが、拡張性のあるアプリケーションで実行
できる機能を特定している。機能は、拡張性のあるアプ
リケーションと装置プラットフォームに依存している。
例えば、無線電話機(装置プラットフォーム)におけるE
メール機能(拡張性のあるアプリケーション)は、タッチ
スクリーンを使いながらEメールを見ること、削除する
こと、そして作成することができる機能を有している。
したがって、ユーザの指示を示し、かつ受け入れるSGUI
コンポーネントは、機能別にグループ化される。
るSGUIコンポーネント(コンポーネントノード42)を、
論理パネル(コンテナノード44)内にグループ化する。
コンテナノード44内によるグルーピングにより、装置
プラットフォームのディスプレイ上におけるSGUIコンポ
ーネントの対応するグループが表すタスクを表示するこ
とができる。例えば、図3において、タスク46はコン
テナノード44e、そしてその階層的な子供であるコン
ポーネントノード42aと42bである。一方、タスク
は、複数のコンテナノード44と、それに対応するコン
ポーネントノード42である。
トのグルーピングにより、アプリケーションGUIがタス
クの優先度を示している制約を提供するためのプロパテ
ィを特定する。プロパティは、対応するコンテナノード
44に対し、タスクの優先順位を添付してもよい。例え
ば、タスクの優先順位は、特定の装置プラットフォーム
に適しているタスクを特定しても良いし、異種装置プラ
ットフォームにおける別のタスクを特定しても良いし、
及び/または、タスク及び/または拡張性のあるアプリケ
ーションが動いている装置プラットフォームに関連する
情報を特定しても良い。
者は、その開発中に、拡張性のあるアプリケーション内
で、IRツリー40を作ってもよい。コンテナノードとコ
ンポーネントノードの階層構造を特定する他に、アプリ
ケーション開発者は、IRツリー40の論理構造、及び/
またはIRツリー40のレイアウトパラメータに影響する
制約を提供するプロパティを特定してもよい。プロパテ
ィは、コンポーネントノード42(SGUIコンポーネン
ト)、コンテナノード44(論理パネル)、及び/またはIR
ツリー40に対し、特定されてもよい。IRツリー40の
インスタンスは、特定のプロパティを含んでもよいし、
また特定のプロパティベースで作られてもよい。好まし
い実施形態において、プロパティの特定化は、アプリケ
ーションGUI内において起こってもよい。また他の実施
形態において、プロパティの特定化は、ターゲット装置
プラットフォーム内、または他の関連ある装置またはア
プリケーション内の拡張性のあるアプリケーションにお
いて起こり得る。
ージ内(プレゼンテーション部)において、アプリケーシ
ョンGUIのレイアウトを表してもよい。ある実施形態に
おいて、IRツリー40内の相互関連のパターンによりレ
イアウトストラクチャは、直系の階層的子供ノードによ
り、高い水準の論理パネル用に特定されてもよい。アプ
リケーション開発者は、アプリケーションGUIで、コン
ポーネントノード42とコンテナノード44用のレイア
ウト構造を示しているプロパティを特定してもよい。プ
ロパティは、論理パネル(コンテナノード44)とコンテ
ナノード44の階層的な子供であるSGUIコンポーネント
(コンポーネントノード42)の位置を特定してもよい。
例えば、コンポーネントノード42aにおけるレイアウ
ト構造は、コンテナノード44eが表す論理パネルの右
上において、SGUIコンポーネントの位置を特定してもよ
い。同様に、コンポーネントノード42bは、コンテナ
ノード44eが表す論理パネルの左上において、対応す
るSGUIコンポーネントの位置を示しているレイアウト構
造を含んでいてもよい。コンテナノード44eも、コン
テナノード44bにより表される論理パネルのセンター
において、対応する論理パネルの位置を特定するレイア
ウト構造を含んでいてもよい。
て、プレゼンテーションのページ48は、コンテナノー
ド44とコンポーネントノード42の階層的に関連のあ
るグループから形成されていてもよい。図の例におい
て、ページ48はコンテナノード44bで形成されてい
る。ページ48は、コンテナノード44b以下の関連の
ある階層レベルが課したレイアウト構造に起因してもよ
い。具体的に説明すると、44f内におけるコンテナノ
ード44g、44h、そして44b内における44e、
44fの特定化と同様に、対応するコンテナノード44
e、44g、44h内におけるコンポーネントノード4
2a、42b、42c、42d、42e、42fのレイ
アウト構造を特定するプロパティが、ページ48を作る
こともできる。他の実施形態において、他のレイアウト
構造の特定化に関連するIRツリー40における他のノー
ドの階層構造は、ページのフォーメーション(形成)に起
因してもよい。
ゼンテーションのページの生成時、SGUIシステムは、提
案されているレイアウト構造に従ってもよい。しかしな
がら、ある実施形態において、例えば、ターゲット装置
プラットフォームの表示画面を最大限に利用することに
高い優先順位が設定されている場合において、提案され
たレイアウト構造に従うことを無視してもよい。
ムが有する性質のせいで、アプリケーションGUIが生成
されたときに、異種装置プラットフォーム内における多
様な機能は、レイアウト構造の特定化を難しくする。例
えば、許容されるページの最大のサイズは、ターゲット
装置プラットフォームの表示画面のサイズに依存してお
り、開発時間を特定するのは難しい。さらに、開発時間
においては、SGUIコンポーネントの実際サイズはわから
ない。SGUIコンポーネントは、ターゲット装置プラット
フォームの機能に基づき、多種あるサイズの中から1つ
のSGUIコンポーネントに変換するので、SGUIコンポーネ
ントの実際サイズはわからない。
開発者は、プレゼンテーション内において配置されたSG
UIコンポーネントに関するSGUIコンポーネントのサイズ
を予測することは可能である。仮に、その予測が正確(S
GUIコンポーネントの変換後のサイズに近い)なら、ター
ゲット装置プラットフォームの表示画面内のレイアウト
におけるSGUコンポーネント間の大きな「穴」は、避け
ることができる。また別の実施形態において、SGUIシス
テムは、いわゆる「穴」を避けるために、同じコンテナ
ノード44(論理パネル)内で、SGUIコンポーネントに似
たサイズを保存するように努める。また他の実施形態に
おいて、自動レイアウト生成のためのフォーム、ターゲ
ット装置プラットフォーム用レイアウトのアプリケーシ
ョン開発者によるカスタマイズ、及び/またはSGUIコン
ポーネントのサイズの多様性を指定するための技術によ
り、多様なレイアウト構造は指定される。
プロパティの特定化に加えて、アプリケーション開発者
は、IRツリー40の論理構造、及び/またはIRツリー4
0のレイアウトパラメータに影響する制約を提供するプ
ロパティを特定してもよい。ある実施形態において、コ
ンテナノード44のレイアウト優先順位に関連している
プロパティが特定される。本実施形態のプロパティは、
コンテナノード44がページ上に配置されるオーダを特
定する。最も高いレイアウト優先順位のコンテナノード
44は、表示画面内で最初のページに位置し、かつ対応
するコンポーネントノード42により特定されるSGUIコ
ンポーネントを保持してもよい。例えば、装置プラット
フォームのユーザのために、あるタスクを易しくしたい
というアプリケーション開発者は、対応するパネル(コ
ンテナノード44)に、高いレイアウト優先順位を設定
する。
を特定するプロパティは、コンポーネントノード42に
含まれてもよい。レイアウトの制約は、同ページに互い
に隣接して配置される2つまたはそれ以上のSGUIコンポ
ーネントを条件として指定してもよい。例えば、イエス
を示している選択可能なボタンとノーを示している選択
可能なボタンは、ボタンが隣接していることを条件とし
て指定するレイアウトの制約を含んでもよい。
ンテナノード44内のレイアウトグループを特定しても
よい。レイアウトグループは、コンテナノード44内の
ノードが、レイアウト構造内で別ページに配置されるか
どうかを条件として指定することもできる。ある実施形
態において、直系の階層的な子供としてコンポーネント
ノード42を持っている全てのコンテナノード44は、
レイアウトグループに特定されない限り分割できない。
同様に、直系の階層的な子供としてコンポーネントノー
ド42を持っていない本実施形態の全てのコンテナノー
ド44は分割可能である。
テナノード44のラベルを特定できる機能を持ってい
る。ラベルは、論理パネルに対応付けられてもよいし、
ページ間を移動するプレゼンテーション内において、ナ
ビゲーションバー/またはメニューを作成してもよい。
他の実施形態においてプロパティは、他の仕様や、論理
コンディション、及び/またはコンポーネントノード4
2、コンテナノード44及び/またはIRツリー40に関
連する付加機能を特定するのに利用されてもよい。
ト変換モジュール26は、ターゲット装置プラットフォ
ームのユーザインターフェイスにより生成されるGUIイ
ベントを変換する技術(方法)であってもよい。ある実施
形態において、拡張性のあるGUIイベント変換モジュー
ル26は、装置独立型のGUIイベントAPIを持っている。
装置独立型のGUIイベントAPIは、拡張性のあるアプリケ
ーションに対するイベントを処理する。前にも述べたが
GUIイベントは、表示画面上のSGUIコンポーネント内の
状態の変化を表しているが、これはユーザが対応する装
置プラットフォームに関連しているユーザインターフェ
イスと対話するためである。
型アプリケーションGUIアプリケーションプログラムイ
ンターフェイス(API)により定義されている。装置特定
型GUI APIは、GUIイベントを生成する、特定装置の入出
力方法に接続されているGUIイベントを定義する。拡張
性のあるGUIイベント変換モジュール26は、異種装置
プラットフォーム用のGUIイベントを変換するのに使わ
れる。また拡張性のあるGUIイベント変換モジュール2
6は、異なる複数の入力方法で動作が可能な装置独立型
のGUIイベント変換機を有している。
機は、アクションと呼ばれる抽象的なイベントを定義す
る。アクションは入力方法から独立している。例えば、
ボタンとして動作するGUIコンポーネントに対応付けら
れたアクションは、装置プラットフォームに依存してい
るラップトップコンピュータのマウスクリック、ポケッ
トコンピュータのスタイラス・タップ、または携帯電話
のソフトキーから生成されてもよい。拡張性のあるアプ
リケーションは、GUIイベント変換機のGUIイベントを表
すアクションにより提供されてもよい。このように、GU
Iイベントを生成する入力方法は、拡張性のあるアプリ
ケーションに対し、無関係なものであってもよい。
26は、プラットフォーム独立型のアクションの拡張性
のあるユーザインターフェイスライブラリを持ってい
る。拡張性のあるユーザインターフェイスライブラリ
は、拡張性のあるGUIコンポーネントライブラリ22、
または異なるライブラリに含まれていてもよい。ある実
施形態において、拡張性のあるGUIイベント変換モジュ
ール26は、装置プラットフォーム独立型のGUIイベン
トAPIに基づいた論理マッピングを含んでいてもよい。
拡張性のあるアプリケーションの開発者は、装置プラッ
トフォーム特定型のGUIイベントと同等のプラットフォ
ーム独立型のアクションの間で、論理マッピング用の装
置プラットフォーム独立型のAPIを利用してもよい。こ
のようにプラットフォーム独立型のアクションは、対応
する装置プラットフォーム特定型のGUIイベントの結果
として、拡張性のあるアプリケーションへと配信されて
もよい。
において、装置プラットフォームの制約のために、プラ
ットフォーム特定型のGUIイベントとプラットフォーム
独立型のアクション間におけるマッピングは不可能かも
しれない。例えば、ユーザがマップ・イメージにおける
特定のポイントをクリックするとき、拡張性のあるアプ
リケーションは、拡大または縮小できるインターラクテ
ィブマップを有していてもよい。パソコンサイドでは、
装置プラットフォーム特定型のマウスイベントは、マウ
スがクリックされた特定の位置を把握する。しかしなが
ら、無線電話において、ユーザインターフェイスとして
位置決め入力装置は含まれなくてもよい。このように、
無線電話における同等のプラットフォーム独立型のアク
ションは、マップされることはない。この場合、拡張性
のあるGUIイベント変換モジュール26のライブラリ
は、別段の定めがなければプラットフォーム独立型アク
ションが表す、プラットフォーム特定入力方法用の装置
プラットフォーム依存型アクションを有していてもよ
い。これに伴い、アプリケーションGUIは、制約を伴う
ターゲット装置プラットフォーム用のアプリケーション
GUIをカスタマイズするプロパティを持っていてもよ
い。ある実施形態において、一般的に装置プラットフォ
ーム特定型GUIイベントは拡張性がないため、拡張性の
あるアプリケーションの主要な機能を実装するのに装置
プラットフォーム独立型のアクションを用いなくてもよ
い。本実施形態において、装置プラットフォーム依存型
のアクションは、主要な機能に対する付加拡張機能とし
て用いられてもよい。
より詳細なブロック図における1つの実施形態である。
変換マネージャモジュール20は、変換ルールモジュー
ル50、サイズ変換コンポーネントモジュール52、代
替コンポーネントモジュール54、GUI変換ルールモジ
ュール単体56、GUI変換ルールモジュール複合58、
ダイナミックレイアウトモジュール60、スタイルガイ
ドモジュール62とSGUIコンポーネントリストモジュー
ル64から成っている。他の実施形態において、変換マ
ネージャモジュール20内での機能は、本実施形態で使
用されているモジュールより少ない、または多い数のモ
ジュールで表される。
動的に作るために、拡張性のあるGUIコンポーネントラ
イブラリモジュール22(図2)を利用してもよい。IRツ
リーの構造は、対応するプレゼンテーションのページに
あるIRツリー内に表されるSGUIコンポーネントと、変換
ルールで選択的に変換するSGUIコンポーネントから成っ
ている。
0(図3)におけるSGUIコンポーネントを変換するのに使
われる複数の変換ルールから成っている。ある実施形態
において、変換ルールモジュール50は、変換ルールの
2つのカテゴリを表しているサイズ変換コンポーネント
モジュール52と、代替コンポーネントモジュール54
から成っている。サイズ変換コンポーネントモジュール
52は、ターゲット装置プラットフォームの表示画面の
サイズをベースにSGUIコンポーネントのサイズを調整す
るルールを提供できる。代替コンポーネントモジュール
54は、IRツリー内におけるアプリケーションGUIを表
すSGUIコンポーネントと置き換えに、代替のSGUIコンポ
ーネントを特定できる。
ール54は、代替のSGUIコンポーネントに対する2つの
カテゴリのルールを表しているGUI変換ルールモジュー
ル単体56と、GUI変換ルールモジュール複合58から
成っている。GUI変換ルールモジュール単体56は、SGU
Iコンポーネントをターゲット装置プラットフォームに
特定するSGUIコンポーネントに変換するルールを提供す
る。
ーゲット装置プラットフォームに特定する第2SGUIコン
ポーネント72に、変換ルールで変換する例を示してい
る。ターゲット装置プラットフォームの機能、ターゲッ
ト装置プラットフォームのタイプ、ターゲット装置プラ
ットフォームのユーザインターフェイス、拡張性のある
アプリケーションの機能、及び/またはSGUIコンポーネ
ントのディスプレイに関するパラメータをベースに、SG
UIコンポーネントはターゲット装置プラットフォームに
特定すると考えてよい。
は、ユーザにより選択される「高」、「中」、「低」、
いわゆる優先度の選択リストを表している。同様に、第
2SGUIコンポーネント72は、優先度の選択ボタンを表
している。仮に、第1SGUIコンポーネント70とターゲ
ット装置プラットフォーム用のコンポーネントノード4
2(図3)を含んでいるIRツリー40(図3)はPDAだとし
た場合、GUI変換ルールモジュール単体56(図4)は、
第1SGUIコンポーネント70を第2SGUIコンポーネント
72に変換する変換ルールを提供してもよい(矢印7
4)。
で利用可能なユーザインターフェイス、またはPDAや拡
張性のあるアプリケーションに関連性のある理由によ
り、本実施例における第2SGUIコンポーネント72は特
定のものと考えられてもよい。この図における例は、SG
UIコンポーネントに適用可能な数ある変換ルールの一例
にすぎない。
ル複合58は、SGUIコンポーネント複合が、ターゲット
装置プラットフォームに特定するSGUIコンポーネントに
変換する変換ルールを提供する。前にも述べた通り、SG
UIコンポーネント複合は、IRツリー(図3)におけるコン
テナノード44(図3)および対応するコンポーネントノ
ード42(図3)により表されてもよい。
が、ターゲット装置プラットフォームに特定している第
2SGUIコンポーネント複合78へ変換する変換例を示し
ている。
複合76は、複数のデータエントリ80、優先度セレク
ション82、そして好みセレクション84から成ってい
る。第2SGUIコンポーネント複合78は、ピックリスト
86と単一のデータエントリ88から成っている。図5
における例と同様、矢印90で示されているように、第
1SGUIコンポーネント複合76を第2SGUIコンポーネン
ト複合78に変換するのに、GUI変換ルールモジュール
複合58から利用可能な変換ルールを用いてもよい。
ジュール60は、装置プラットフォーム依存型のプレゼ
ンテーションを表すIRツリーを構成してもよい。ダイナ
ミックな構成とは、プレゼンテーションのページのIRツ
リーが表すSGUIコンポーネントの配置と、選択的にSGUI
コンポーネントが変換することを含んでいる。ある実施
形態において、レイアウト構造やアプリケーションGUI
が特定する他の制約に従い、IRツリーにより表されるSG
UIコンポーネントがページ上にあってもよい。さらに、
ダイナミックレイアウトモジュール60は、適合性を確
認するために、プレゼンテーションとターゲット装置プ
ラットフォームの機能とを比べてもよい。例えば、制約
に関する機能は、プレゼンテーションのページサイズで
もよい。ダイナミックレイアウトモジュール60が構成
するページのサイズは、プレゼンテーションを表示する
ターゲット装置プラットフォームの表示画面サイズを超
えてはいけない。制約に関する他の機能例は、SGUIコン
ポーネントの最小の視覚サイズ、またはターゲット装置
プラットフォームに関する他の機能である。
は、変換ルールを選択&適用する。そしてSGUIコンポー
ネントを機能あるいは制約に従う形に変換するため、変
換ルールモジュール50から利用可能な変換ルールを適
用する。例えば表示画面のサイズの制約を満たすため、
ダイナミックレイアウトモジュール60は、もっとコン
パクトなプレゼンテーションを作るために、変換ルール
をIRツリー内のSGUIコンポーネントに適用してもよい。
変換ルールの選択は、拡張性のあるアプリケーション、
ターゲット装置プラットフォームの表示画面サイズ、装
置プラットフォームのユーザインターフェイス機能、及
び/またはディスプレイ、及びターゲット装置プラット
フォームとの相互作用に関するパラメータにより、決め
られてもよい。
アウトモジュール60は、その機能や制約をベースにプ
レゼンテーション用のページを生成してもよい。また別
の実施形態において、変換ルールの適用により、ターゲ
ット装置プラットフォームに特定する様々な構成のペー
ジセットが生成される。ページセットとは、予想される
装置プラットフォーム依存型プレゼンテーションの一部
分である。予想されるプレゼンテーション内で開発され
たページをベースに、ダイナミックレイアウトモジュー
ル60は、最も望ましい装置プラットフォーム依存型の
プレゼンテーションを得るために、ページセット内から
選択的にページを利用してもよい。ダイナミックレイア
ウトモジュール60の望ましい機能とは、ページ数の最
少化、アプリケーションGUIが特定するプロパティに従
うこと、それぞれのページ用の表示画面を最大に利用す
ること、及び/またはプレゼンテーション、ターゲット
装置プラットフォーム及び/または拡張性のあるアプリ
ケーションに関連しているその他の特徴である。
形態のダイナミックレイアウトモジュール60は、スタ
イルガイドモジュール62とSGUIコンポーネントリスト
モジュール64から成り立っている。また他の実施形態
において、少ないまたは多い数のモジュールが、機能を
表すため、ダイナミックレイアウトモジュール60内で
特定されてもよい。
とも1つのプリケーション用のスタイルガイドパラメー
タセットをSGUIコンポーネントに提供してもよい。スタ
イルガイドパラメータは、プレゼンテーション内におい
て変わらない外観を提供するため、SGUIコンポーネント
の視覚的な外観を標準化してもよい。典型的なスタイル
ガイドパラメータは、フォントサイズ、コンポネント間
におけるスペース、色彩などから成っている。ある実施
形態において、スタイルガイドパラメータの1セット
は、全ての装置プラットフォームに使われている。また
別の実施形態において、スタイルガイドパラメータのセ
ットは、1つまたはそれ以上のターゲット装置プラット
フォームに対応付けられていてもよい。
は、予想されるSGUIコンポーネントのリストを編集す
る。予想されるSGUIコンポーネントのリストは、IRツリ
ー内にあるSGUIコンポーネントの変換から生じるSGUIコ
ンポーネントを表してもよい。ダイナミックレイアウト
モジュール60は、リスト作成のため、変換ルールをIR
ツリー内にあるSGUIコンポーネントに適用してもよい。
ある実施形態において、SGUIコンポーネントリストモジ
ュール64が、リスト内のSGUIコンポーネントのサイズ
に応じて、SGUIコンポーネントのリストを編集してもよ
い。
は、SGUIコンポーネントのリスト作成のため、変換ルー
ルモジュール50から選択的に適切な変換ルールを適用
してもよい。ある実施形態において、適切な変換ルール
の選択のために、ダイナミックレイアウトモジュール6
0はルールに基づいた技術(方法)を用いてもよい。そ
の技術(方法)においては、2つの前提条件に基づいた
選択的な変換ルールが適用可能である。最初の前提条件
とは、変換するSGUIコンポーネントの特徴を考慮するこ
とである。第2の前提条件とは、プレゼンテーション用
のターゲット装置プラットフォームの機能を考慮するこ
とである。
イナミックレイアウトモジュール60のランキングか
ら、適切な変換ルールを選択してもよい。変換ルールの
ランキングは、変換ルールを適用した結果に基づいても
よい。例えばどのくらいの確率で変換ルールが、異なる
拡張性のあるアプリケーション用に適正な変換を実現す
るかということに基づき、ランキングが決まるというこ
とである。よって、かつ高い確率で変換が成功する変換
ルールはランキングが高く、逆にある特定の拡張性のあ
るアプリケーション用にしか特定されていない変換ルー
ルはランキングが低い。例えば、(少ない数の選択可能
なアイテムにおける)選択ボタン(図5参照)に対する選
択リストの変換は、世界的な規模で拡張性のあるアプリ
ケーションにおいて適用可能なので、高いランキングが
指定されてもよい。
て、ダイナミックレイアウトモジュール60は、プレゼ
ンテーションにおける使用目的でリストからSGUIコンポ
ーネントを選択してもよい。ある実施形態において、最
大サイズの表示画面に基づき、SGUIコンポーネントが選
択される。また他の実施形態において、ターゲット装置
プラットフォームの機能や拡張性のあるアプリケーショ
ンの機能、及び/またはその他条件が、選択過程におい
て用いられてもよい。SGUIコンポーネントはリストから
選択され、プレゼンテーションを表すページ上に配置さ
れてもよい。リストから選択されたSGUIコンポーネント
は、リストを作るのに用いられたSGUIコンポーネントを
置き換えてもよい。SGUIコンポーネントの置き換えによ
り、装置プラットフォーム独立型のSGUIコンポーネント
は、効果的にターゲット装置プラットフォームに特定す
るSGUIコンポーネントに変換される。
表示画面の最大のサイズと比較されてもよい。この実施
形態において、ページを構成するSGUIコンポーネントを
縮小するか、または拡大する必要性があるかどうかによ
り、ダイナミックレイアウトモジュール60は、リスト
から大きな、または小さなサイズのSGUIコンポーネント
を選択してもよい。ある実施形態において、SGUIコンポ
ーネントに対応するリスト内に、似たサイズのSGUIコン
ポーネントがある場合におけるSGUIコンポーネントの選
択は、リスト内でSGUIコンポーネントを作るのに用いら
れる変換ルール(既に紹介済み)のランキングに基づいて
もよい。
ナミックレイアウトモジュール60は、プレゼンテーシ
ョンに対応しているページを作るために、IRツリーを通
して繰り返し処理を行ってもよい。ある実施形態におい
て、ダイナミックレイアウトモジュール60によるプロ
セスは、IRツリーの最も低い階層レベルから高いレベル
に向けて処理を行う。ページを満たすために、ダイナミ
ックレイアウトモジュール60は、論理パネルをプレゼ
ンテーションのページに付け加えてもよい。ページが満
たされてないときは、兄弟ノードあるいは高いレベルに
あるノードからの階層的に関連のある論理パネルが、ペ
ージに付け加えられてもよい。例えば、図3によれば、
コンテナノード44h、44f、そして44eが、ペー
ジ48を作るために、コンテナノード44gに付け加え
られてもよい。これとは逆にページがはみ出したとき
は、表示画面のサイズに合わせるために、ページ内にお
いてSGUIコンポーネントの変換を実行してもよい。
ンテーション用の新しいページが作られる。おおむね満
たされたページとは、利用可能なSGUIコンポーネント
で、ターゲット装置プラットフォームの表示画面を最大
化することである。ある実施形態において、おおむね満
たされたページとは、およそ95%から100%の割合
で、ターゲット装置プラットフォームの表示画面を満た
していることである。レイアウト構造、他の条件として
指定されてる制約、及び/またはSGUIコンポーネントは
表示画面が完全に満たされることを防ぐが、おおむね満
たされたページ内では、現条件のもとで満たされている
部分を最大限に活用する。
ら、図4の変換マネージャモジュール20のある実施形
態の動作を示しているブロック図である。変換マネージ
ャモジュール20の動作がブロック100で始まる。変
換マネージャモジュール20は、好ましくは、以下にお
いてIRツリー40をインスタンス化し、そして取り除く
ことにより発生する。IRツリー40において、最も高い
レイアウト優先度を持ち、かつ最も低いレベルにあるコ
ンテナノード44が特定される。(ブロック&)低いレベ
ルにあるコンテナノードは、SGUIコンポーネント(コン
ポーネントノード42)を表す階層的な子供ノードであ
る。図3におけるIRツリー40の例では、コンテナノー
ド44c、44d、44e、44g、そして44hが、
最も低いレベルにあるコンテナノードである。レイアウ
トの優先度は、アプリケーションGUIのプロパティによ
り特定される。ここでは動作を説明する目的上、図3の
コンテナノード44gが、最も高いレイアウト優先度を
持っているとする。
コンテナノード44(コンテナノード44g)に関連して
いるSGUIコンポーネント(コンポーネントノード42c
と42d)に対し、ターゲット装置プラットフォームに
対応するスタイルガイドパラメータセットを適用する。
(ブロック104)SGUIコンポーネントは、IRツリー4
0のレイアウト構造とアプリケーションGUIに条件とし
て指定される制約に従い、プレゼンテーションのページ
上に配置される。(ブロック106)そして、ページのサ
イズが決定する。(ブロック108)その後、表示画面
からページのサイズがはみ出したかどうかが決まる。
(ブロック110)ページのサイズが、ターゲット装置
プラットフォームの表示画面のサイズより大きければ、
ページはターゲット装置プラットフォームの表示画面か
らはみ出していることになる。
はみ出していたら、適切な変換ルールが選択され、ダイ
ナミックレイアウトモジュール60により、そのルール
がSGUIコンポーネントに適用される。予想されるSGUIコ
ンポーネントのリストが作成され、サイズに従いながら
SGUIコンポーネントリストモジュール64と共に編集さ
れる。(ブロック116)例えば、サイズ縮小の必要があ
る等の条件をベースにしたリストから、SGUIコンポーネ
ントは特定される。(ブロック118)そして、リスト内
にある1つ以上のSGUIコンポーネントが特定されたかど
うかを決定する。(ブロック120)もしノーなら、特定
されたSGUIコンポーネントが選択される。(ブロック1
22)その後、選択されたSGUIコンポーネントが、ペー
ジ(ブロック106)内で以前に表示された対応するSGUI
コンポーネントと交換され(ブロック124)、動作は図
7のブロック104に戻る。もし複数のSGUIコンポーネ
ントが特定されたら、最も高いランクの変換ルールから
作られたSGUIコンポーネントが選択され(ブロック12
5)、動作はブロック124に進む。
てページがはみ出していない場合、ページが満たされて
いないことが決定される。(図9:ブロック126)ペ
ージのサイズがターゲット装置プラットフォームの表示
画面のサイズより小さい時、ページは満たされていない
という事になる。もしページが満たされないと決定した
時、まだページ上に配置されていない兄弟ノード(図3
のコンテナノード44h)の特定作業が行われる。(ブロ
ック128)もし兄弟ノードが配置されていない場合、
最も高い優先度を持つ特定された兄弟ノードが選択され
(ブロック144)、そして選択されたノードの処理を始
めるため、動作は図7のブロック104に戻る。もし兄
弟ノードが既に配置されているなら(または存在しない
なら)、次に高い階層レベル(図3のコンテナノード4
4f)からの関連ノードが特定される。(ブロック13
0)
4a)かどうかを判断するのに、次に高い階層レベルか
らのノードが確認される。(ブロック132)もしイエス
なら、まだページ上に置かれていない付加的で最も低い
レベルのコンテナノードの有無を調べるためにIRツリー
を確認する。(ブロック134)もしそのような最も低い
レベルのコンテナノードが存在するなら、最も低いレベ
ルにありかつ次に高い優先度を持っている別のコンテナ
ノード44(図3)を特定するため、動作はブロック10
2(図7)へ戻る。もしそのような最も低いレベルのコン
テナノードが存在しないなら動作は終わる。(ブロック
136)
ルにおけるノード(図3のコンテナノード44f)がルー
トコンテナノード(コンテナノード44a)でない場合、
ノードがページ内に以前に配置されたかどうかを決め
る。(ブロック138)ノードが以前に配置されていな
いなら、ノード処理を始めるために、動作はブロック1
04(図7)へ戻る。ノードが以前に配置されているな
ら、次の高い階層レベルにあるノードの兄弟ノード(図
3のコンテナノード44e)が配置されていないかどう
かを判定する。(ブロック140)もし兄弟ノードがペー
ジ内で既に配置されているなら(または存在しないな
ら)、動作はブロック134へ戻る。兄弟ノードが配置
されていないなら、最も高いレイアウト優先度を持って
いる兄弟ノードが選択され(ブロック142)、選択され
たノードの処理を始めるため、動作はブロック104
(図7)へ戻る。
ていないとは言えない場合、ページはおおむね満たされ
ていると見なされる。(ブロック146)残りのSGUIコン
ポーネントを配置するために、新しいページが割り当て
られ(ブロック148)、動作はブロック134へ戻る。
たと判断されると、リストからの代替SGUIコンポーネン
トを用いることにより、同ページにおける付加的な変化
の生成のための追加的な動作が実行されてもよい。追加
的な動作に続いて、ダイナミックレイアウトモジュール
60は、既に前述した通り、最も望ましい装置プラット
フォーム依存型のプレゼンテーションを選択してもよ
い。
用例が説明される。図10は、装置プラットフォーム2
02、変換サーバ204、そしてプラットフォーム20
2、変換サーバ204とネットワーク208を介して通
信しているライブラリサーバ206を有している、通信
システム200の実施例を示している。装置プラットフ
ォーム202は、既に述べられている異種装置プラット
フォームでもよい。変換サーバ204およびライブラリ
サーバ206は、ネットワーク208内において、サー
バ機能を実行するいかなる装置であってもよい。ある実
施形態において、動作システムを含む1つまたはそれ以
上のサーバコンピュータは、変換サーバ204およびラ
イブラリサーバ206として動作する。動作システムの
例として、Microsoft (登録商標)、Windows NT(登録
商標)、UNIX(登録商標)、またはサーバ機能をサポー
トできる他の動作システムが挙げられる。サーバ20
4、206は、データを保存し、データにアクセスする
機能や、SGUIシステムの一部分などのアプリケーション
を実行する機能を有していてもよい。ネットワーク20
8は、インターネット、公衆または専用イントラネッ
ト、イクストラネット、及び/または無線、光フャイ
バ、及び/または有線通信を介し、データ送信や指令が
可能なネットワーク構成の形式などであってもよい。
テムは動作可能である。ある実施形態において、拡張性
のあるアプリケーション210は、装置プラットフォー
ム202上において動作してもよい。さらに、拡張性の
あるGUIライブラリモジュール12とレンダーマネージ
ャモジュール16は、装置プラットフォーム202上に
おいて動作してもよい。さらに、この実施形態では、タ
スクマネージャモジュール18と変換マネージャモジュ
ール20は、変換サーバ204上のカスタマイズモジュ
ール14内で動作してもよい。既に前実施形態で説明さ
れている拡張性のあるアプリケーション210、拡張性
のあるGUIライブラリモジュール12、カスタマイズモ
ジュール14、そしてレンダーマネージャモジュール1
6は、本実施形態においても同様の働きをする。
ける異なる機能、及び拡張性のあるアプリケーション
は、異種装置プラットフォームとサーバ間において配信
されてもよい。例えば、各動作をサポートするのに十分
な能力があるところで、SGUIシステムと拡張性のあるア
プリケーション210は、装置プラットフォーム202
上を動作可能となる。また別の例において、SGUIシステ
ムと拡張性のあるアプリケーション210の一部分は装
置プラットフォーム202上において動作可能であり、
またSGUIシステムと拡張性のあるアプリケーション21
0のその他の部分は、その他の装置プラットフォーム上
で動作可能である。また別の例においてSGUIシステムの
大部分は、サーバ上またはその他類似の装置上で動作可
能であり、そしてSGUIシステムの不可欠な部分だけが、
装置プラットフォーム202上において動作可能であっ
てもよい。
ライブラリモジュール12における拡張性のあるGUIコ
ンポーネントライブラリ22全体(図2)は、装置プラッ
トフォーム202に保存されてもよい。この実施形態に
おいて、変換サーバ204は、ネットワーク208経由
で、拡張性のあるGUIコンポーネントライブラリへアク
セスしてもよい。既に説明されているが、変換マネージ
ャモジュール20は、GUIコンポーネントの変換中に、
拡張性のあるGUIコンポーネントライブラリへ、アクセ
スしてもよい。
コンポーネントライブラリ22のサブセットと共に、拡
張性のあるGUIライブラリモジュール12の一部分は、
装置プラットフォーム202に保存されてもよい。拡張
性のあるGUIコンポーネントライブラリ22の保存につ
いては、そのサブセットに限られているが、その理由
は、例えば、装置プラットフォーム202の限られた保
存機能、情報検索の増加、及び/または装置プラットフ
ォーム202及び/または拡張性のあるアプリケーショ
ン210の動作に関する理由である。拡張性のあるGUI
コンポーネントライブラリ22のサブセットは、装置プ
ラットフォーム202により頻繁に用いられるSGUIコン
ポーネントを含んでいてもよい。この実施形態では、拡
張性のあるGUIコンポーネントライブラリ22全体(図
2)と共に、拡張性のあるGUIライブラリモジュール12
の一部分がライブラリサーバ206に保存され、そして
必要があれば、装置プラットフォーム202によりネッ
トワーク208を介してアクセスされる。またカスタマ
イズモジュール14は、装置プラットフォーム202内
の拡張性のあるGUIコンポーネントライブラリ22のサ
ブセット、及び/またはライブラリサーバ206内の拡
張性のあるGUIコンポーネントライブラリ22全体へア
クセスしてもよい。別の実施形態において、変換サーバ
204は、装置プラットフォーム202からの、または
変換サーバ204自身からのアクセスに備え、拡張性の
あるGUIコンポーネントライブラリ22を保存してもよ
い。
04は、GUIライブラリモジュール12の一部分を持っ
ていてもよい。例えば装置プラットフォーム202の制
限された処理能力、装置プラットフォーム202のリソ
ースを保存する要求、そしてSGUIシステムの動作に関す
るその他の理由により、GUIライブラリモジュール12
の一部分は、変換サーバ204内に保存されてもよい。
ある実施形態において、中間表現モジュール24(図2)
の一部分は、変換サーバ204に含まれていてもよい。
変換サーバ204に含まれている中間表現モジュールの
一部分は、モバイルコードをベースにしたIRツリーのイ
ンスタンスを作るために動作してもよい。この実施形態
においてモバイルコードは、拡張性のあるアプリケーシ
ョン210のアプリケーションGUIから、ネットワーク
208を介して、変換サーバ204へ送信されてもよ
い。中間表現モジュールの一部分は、アプリケーション
GUIを表すIRツリーのインスタンスを作るために、モバ
イルコードを実行してもよい。
たSGUIシステムのある実施形態における動作を説明した
ブロック図である。拡張性のあるアプリケーション21
0がターゲット装置プラットフォーム(装置プラットフ
ォーム202)へマイグレーション、またはターゲット
装置プラットフォームから起動したとき、動作は始まる
(ブロック250)。拡張性のあるアプリケーション2
10は、IRツリーのインスタンスがターゲット装置プラ
ットフォーム上において作成されるかどうかを判断す
る。(ブロック252)もしイエスなら、IRツリーのイ
ンスタンスを作るために、拡張性のあるアプリケーショ
ン210内のアプリケーションGUIは、GUIライブラリモ
ジュール12に関連して利用される。(ブロック254)
アプリケーションGUIを表しているIRツリーは、変換サ
ーバ204に送信されてもよい。(ブロック256)もし
IRツリーのインスタンスがターゲット装置プラットフォ
ーム上において作成されないなら、モバイルコードが変
換サーバ204に送信される。(ブロック258)アプリ
ケーションGUIを表しているIRツリーのインスタンスを
作るために、変換サーバ204はモバイルコードを実行
する。(ブロック260)既に説明済みだが、IRツリーは
装置プラットフォーム独立型で、そしてアプリケーショ
ンGUIに特定されているプロパティを含んでいる。
プラットフォームの機能が、変換サーバ204に送信さ
れる。ターゲット装置プラットフォームの機能として、
タスクマネージャモジュール18は、IRツリーから不必
要な論理パネル及び/またはSGUIコンポーネントを削除
する。(ブロック266)変換マネージャモジュール20
は、タスクマネージャモジュール18からIRツリーを受
け取り、IRツリーの変換を始める。(ブロック268)
IRツリーの変換は、IRツリーにおいて表されているSGUI
コンポーネントの構成を含む。装置プラットフォーム依
存型のプレゼンテーションのレイアウトを作るため、IR
ツリーは変換される。
型IRツリーはターゲット装置プラットフォームに送信さ
れる。(ブロック270)レンダーマネージャモジュー
ル16は装置依存型IRツリーを通過して、SGUIコンポー
ネントのインスタンス化を開始する。(ブロック272)
レンダーマネージャモジュール16は、SGUIコンポーネ
ントがターゲット装置プラットフォーム内において拡張
性のあるGUIコンポーネントライブラリ22に保存され
ているかどうかを判断する。(ブロック274)もしイエ
スなら、レンダーマネージャモジュール16は、装置プ
ラットフォーム202の表示画面上に、カスタマイズさ
れたアプリケーションGUIを表示することを指示する。
(ブロック276)SGUIコンポーネントが、ターゲット装
置プラットフォーム202内における拡張性のあるGUI
コンポーネントライブラリ22内に保存されていないな
ら、レンダーマネージャモジュール16は、ライブラリ
サーバ206から装置プラットフォーム202へSGUIコ
ンポーネントを動的にダウンロードする。(ブロック2
78)そして、レンダーマネージャモジュール16は、
装置プラットフォーム202の表示画面上に、装置依存
型アプリケーションGUIの表示を指示する。(ブロック2
76)
ユーザに対して利用可能な技術的特徴を提供する他、SG
UIシステム10は、第1異種装置プラットフォームから
第2異種装置プラットフォームへマイグレーションする
GUIアプリケーションの実行状態を保存することができ
る。ここでいう実行状態とは、SGUIコンポーネントに影
響を与えている拡張性のあるアプリケーションのエンド
ユーザがもたらした変化を指している。この変化はSGUI
コンポーネントの変数(外観の変化、データエントリ
ー、状態変化)を含んでもよい。図13は、第1異種装
置プラットフォーム302、第2異種装置プラットフォ
ーム304、そしてサーバコンピュータ306を有して
いるSGUIシステム10の実施形態により動作している通
信システムのブロック図である。他の例において、本実
施形態とは異なる数のプラットフォーム、及びサーバが
利用可能なのはいうまでもない。
2異種装置プラットフォーム304は、前に説明され
た、いかなる異種装置プラットフォームであってもよい
し、かつ各々はレンダーマネージャモジュール16を有
してもよい。サーバコンピュータ306はコンピュータ
装置に類似のものであってよいし、また拡張性のあるGU
Iライブラリ12やカスタマイズモジュール14内にあ
るタスクマネージャモジュール18及び変換マネージャ
モジュール20を有していてもよい。他の例においてモ
ジュールは、コンピュータ装置の処理能力、ネットワー
ク208の構成、プロバイダーの優先度などの様々な変
化に応じながら、通信システム内にある装置へと別々に
配信されてもよい。第1異種装置プラットフォーム30
2&第2異種装置プラットフォーム304とサーバ30
6間における通信は、ネットワーク208を介してもよ
い。
ム独立型(PI)の中間表現は、拡張性のあるアプリケーシ
ョンを開発の一部分として開発される。プラットフォー
ム独立型の中間表現は、プラットフォーム独立型の中間
モデル形式で保存されてもよい。プラットフォーム独立
型の中間モデルは、サーバ306、第1異種装置プラッ
トフォーム302、第2異種装置プラットフォーム30
4あるいはネットワーク208と通信しているその他の
装置内で保存されてもよい。
ム独立型の中間表現は、最大の表示画面と最も大規模な
ユーザインターフェイスメカニズムを有している装置プ
ラットフォームに基づいて特定されてもよい。ここでア
プリケーション開発者は、拡張性のあるアプリケーショ
ンは最大の表示画面と最も大規模なユーザインターフェ
イスメカニズムで動作していることが予測できる。例え
ば、装置プラットフォーム独立型の中間表現は、大きな
表示画面と複数のユーザインターフェイス(例:タッチ
スクリーン、マウス、キーボードなど)を持つラップト
ップコンピュータの動作に基づいて特定されてもよい。
従って、プラットフォーム独立型のプレゼンテーション
モデルから生成されたプラットフォーム特定型のプレゼ
ンテーションは、プラットフォーム独立型のプレゼンテ
ーションモデルと同サイズ、あるいはそれより小さいも
のであってもよい。
プレゼンテーション404形式における拡張性のあるサ
ーチアイテムアプリケーション用のプラットフォーム独
立型のプレゼンテーションモデルである。前に説明済み
だが、ルートノード44aはIRツリー40上に位置し、
かつGUIプレゼンテーションを表してもよい。ルートノ
ード44aの子供ノードは、コンテナノードあるいは拡
張性のあるアプリケーションのエンドユーザに対して利
用可能な異なるタスクを表しているタスクノードであ
る。コンポーネントノード、個々のSGUIコンポーネント
及びSGUIコンポーネント複合を表している「葉ノード」
が広がるまで、コンテナノード44は、さらにサブタス
クノード、サブのサブタスクノード等に分割可能な論理
パネルであってもよい。
サーチ」として特定されているコンテナノード44m
は、「タスクのサーチ」として特定されている第1タス
クノード44n、「結果タスクの分類」として特定され
ている第2タスクノード44p、および「結果タスクの
表示」として特定されている第3タスクノード44qを
有している。タスクノード44n,44p,44qの各々
は論理パネルを表しており、かつコンポーネントノード
を有している。図の例においてコンポーネントノード
は、IRツリー40のプラットフォーム独立型のプレゼン
テーションモデルから生成されたJ2SE Swing GUIのよう
なGUIプレゼンテーション404内に描かれている。従
ってGUIプレゼンテーション404を形成するために、I
Rツリー40のSGUIコンポーネントは、J2SE Swingにお
けるプラットフォーム特定型のGUIコンポーネントへマ
ッピングする。
テナノード44nは、3つのサブタスクノード(コンポ
ーネントノード)に分割される論理パネルを表してもよ
い。ここで3つのサブタスクノードとは、SGUIコンポー
ネントあるいはSGUIコンポーネント複合である。3つの
サブタスクノードは次のように表されている。 1.「アイテムの検索」(バーチャルラベル408)として
表されている第1コンポーネントノード 2.「サーチ」(バーチャルボタン410)として表され
ている第2コンポーネントノード 3.バーチャルテキスト領域412として表されている
第3コンポーネントノード。 拡張性のあるアプリケーションのエンドユーザが選択可
能な分類優先タスクと表示選択タスクを提供するため
に、第2コンテナノード44p&第3コンテナノード4
4qと関連しているSGUIコンポーネント及び/またはSGU
Iコンポーネント複合も同様に、GUIプレゼンテーション
404内にあるプラットフォーム特定のGUIコンポーネ
ントにより表される。
ョンモデル内において、SGUIコンポーネント及びSGUIコ
ンポーネント複合は、プラットフォーム独立(PI)ウィジ
ェット、あるいはプラットフォーム独立型のGUIウィジ
ェットと見なしてもよい。SGUIコンポーネント及びSGUI
コンポーネント複合は、プラットフォーム特定のプレゼ
ンテーションにおけるプラットフォーム特定(PS)のウィ
ジェットにより表される。プラットフォーム特定型のウ
ィジェットを有するSGUIコンポーネントおよびSGUIコン
ポーネント複合は、事前に決められたマッピングに基づ
いている。ここでのマッピングは、拡張性のあるGUIコ
ンポーネントライブラリモジュール22と他のライブラ
リにおける装置特定のGUIコンポーネント間のことであ
る。事前に決められたマッピングは、プラットフォーム
特定のプレゼンテーション内にあるプラットフォーム特
定型のウィジェットを、プラットフォーム独立型のプレ
ゼンテーションモデル内の(プラットフォーム独立型の
ウィジェットに対応している) SGUIコンポーネント、お
よびSGUIコンポーネント複合に対応づける。
ー40のタスクノード内に含まれてもよい。ここでプロ
パティは、少なくとも1つのタスクノード用の詳細なレ
イアウトプロパティ、少なくとも1つのタスク優先プロ
パティ、少なくとも1つの優先プロパティ、そして1つ
以上の対応するタスクノードに関連する少なくとも1つ
の分割可能なプロパティのことである。タスクノード用
の詳細なレイアウトプロパティは、例えばページ内でプ
ラットフォーム独立型のウィジェットの位置を提供す
る、レイアウトを制御するJava(登録商標)Gridbag に
似ている。タスク優先プロパティはブール(Boolean)機
能の配列として実装され、その配列は特定の異種装置プ
ラットフォームを表し、及び/または、タスクが特定の
プラットフォームに適しているかどうかを示す。優先プ
ロパティは、プラットフォーム独立型のウィジェット所
望のレイアウト結果を表すための整数(インテジャ)と
して実装される。分割可能なプロパティは、プラットフ
ォーム独立型のウィジェットが複数ページのプレゼンテ
ーションに拡散可能なことを表すブール機能として実装
される。
ドは、対応するタスクノードの重要性を示している、少
なくとも1つの重要プロパティを含んでもよい。重要プ
ロパティは、タスクノードにより表されているプラット
フォーム独立型のウィジェットが、コアあるいはオプシ
ョンかということを示すブール機能として実装される。
トは、よく使われるプラットフォーム独立型のウィジェ
ット、あるいは拡張性のあるアプリケーション内におい
て主要なタスクを実行するプラットフォーム独立型のウ
ィジェットとして定義されてもよい。残りのプラットフ
ォーム独立型のウィジェットは、オプショナルのプラッ
トフォーム独立型のウィジェットとして定義されてもよ
い。例えば、図14における「サーチアイテムタスク」
コンテナノード44mは、前に説明した通り、3つの階
層的なサブタスク(コンテナノード44n,44p,44
q)を持っている。サーチアイテム実行のため、拡張性
のあるアプリケーションのエンドユーザはバーチャルテ
キスト領域412にアイテム名を入力し、そしてサーチ
処理を始める為にバーチャルボタン410を起動しても
よい。しかしながら本例において、分類優先タスクと表
示選択タスクはサーチ結果を表示するための付加的な機
能なので、エンドユーザは両タスクを特定させる必要は
ない。このように、サーチタスク(コンテナノード44
n)と関連のあるプラットフォーム独立型のウィジェッ
トはコアとして特定され、そして結果分類タスク(コン
テナノード44p)、および結果表示タスク(コンテナノ
ード44q)と関連のあるプラットフォーム独立型のウ
ィジェットはアプリケーション開発者によるオプション
と特定されてもよい。
リケーション開発者により特定されたプロパティは、タ
スクマネージャ18と変換マネージャモジュール20に
より利用されてもよい。GUIのマイグレーション中にお
いて、変換マネージャモジュール20はタスク優先プロ
パティを利用し、タスクマネージャ18は残りのプロパ
ティを利用してもよい。
302から第2異種装置プラットフォーム304へ、GU
Iアプリケーションの実行状態がマイグレーションする
プロセスを表しているフロー図である。同図のGUIアプ
リケーションのマイグレーションにおいて、プラットフ
ォーム特定型のプレゼンテーションは、以前カスタマイ
ズモジュール14におけるプラットフォーム独立型のプ
レゼンテーションモデルから生成され、そして第1異種
装置プラットフォーム302へ提供されていた。第1異
種装置プラットフォーム302は、プラットフォーム特
定型のプレゼンテーションに基づき、対応する表示画面
上に対話式の表示を提供してもよい。
る、プラットフォーム特定型のプレゼンテーション内の
プラットフォーム特定型のウィジェットの実行状態がシ
リアル化された時、動作は始まる。(ブロック502)プ
ラットフォーム特定型のウィジェットのシリアル化され
た実行状態と共に、マイグレーションのターゲット装置
として第2異種装置プラットフォーム304を特定する
マイグレーション要求は、ネットワーク208経由でサ
ーバ306へ伝達される。(ブロック504)プラットフ
ォーム独立型のプレゼンテーションモデルに含まれてい
るプラットフォーム独立型のウィジェットは、第1プラ
ットフォーム302が提供するプラットフォーム特定型
のウィジェットの実行状態により更新される。(ブロッ
ク506)プラットフォーム独立型のプレゼンテーショ
ンモデルのコピーが作られる。(ブロック508)
ォーム304のGUI能力を調査し、そして表示画面サイ
ズ、ユーザ入力メカニズム等のユーザインターフェイス
関連の能力を確認する。(ブロック510)タスクマネ
ージャ18はタスク優先プロパティを利用し、プラット
フォーム独立型のプレゼンテーションモデルのコピーか
ら不必要なタスクノードを除去し、そして第2異種装置
プラットフォーム304用にプラットフォーム特定型の
プレゼンテーションの生成を始める。(ブロック51
2)
フォーム独立型のプレゼンテーションモデルのコピーか
らノードを選択し、ノードに関連するプラットフォーム
独立型のウィジェットを、第2異種装置プラットフォー
ム304用に、プラットフォーム特定型のウィジェット
へマップする。(ブロック514)プラットフォーム特
定型のウィジェットは、プラットフォーム特定型のプレ
ゼンテーションのページ上に配置される。(ブロック5
16)ここでページサイズが、第2異種装置プラットフ
ォーム304の表示画面より大きいかどうかを判定す
る。(ブロック518)もしページサイズが大きすぎて
表示画面に適さない場合、変換マネージャモジュール2
0は、プラットフォーム独立型のプレゼンテーションモ
デルのコピーからプラットフォーム独立型のウィジェッ
トをカスタマイズし、1あるいはそれ以上のページを表
示画面520へと適合させる。(ブロック520)カス
タマイズされたプラットフォーム独立型のウィジェット
は、プラットフォーム特定型のプレゼンテーション用の
プラットフォーム特定型のウィジェットへマップされ
る。(ブロック522)プラットフォーム独立型のプレ
ゼンテーションモデルにおけるプラットフォーム独立型
のウィジェットの実行状態が、プラットフォーム特定型
のプレゼンテーション用のプラットフォーム特定型のウ
ィジェットの実行状態へ適用される。(ブロック52
3)
ョンモデル内において、未処理のノードがないかどうか
を判定する。(ブロック524)もしイエスなら動作は
ブロック514へ戻り、別ノードを選択し、対応するプ
ラットフォーム特定型のウィジェットをページ等へ追加
し、そしてプラットフォーム特定型のプレゼンテーショ
ンの生成を続ける。もしノーなら、プラットフォーム特
定型のプレゼンテーションにより利用されるプラットフ
ォーム特定型のプレゼンテーションの生成されたペー
ジ、プラットフォーム独立型のプレゼンテーションモデ
ルの最終コピー、および拡張性のあるGUIライブラリ1
2の一部分を第2異種装置プラットフォーム304へ送
信する。(ブロック526)もしページが表示画面に適
していたら(ブロック518)、動作はそのままブロッ
ク524へと進み、未処理のノードがないかどうかを判
定する。第2異種装置プラットフォーム304のレンダ
ーマネージャモジュール516は、送信されたプラット
フォーム特定型のプレゼンテーション上、プラットフォ
ーム独立型のプレゼンテーションモデルの最終コピー
上、および拡張性のあるGUIライブラリ12の一部分を
使っている表示画面上にプレゼンテーションを表示す
る。
プレゼンテーションの生成中におけるカスタマイズは、
ウィジェットのレイアウトカスタマイズとウィジェット
の変換カスタマイズを含んでいてもよい。このようなカ
スタマイズは、次における要件に基づいている。(1)
アプリケーション開発者が特定した最低限の指示によ
り、比較的高品質のプレゼンテーションを生成する。
(2)プレゼンテーション生成の遅れを最小限にするた
め、カスタマイズを比較的シンプルにする。(3)プラ
ットフォーム特定型のプレゼンテーション全体のページ
を見るため、表示画面上においてスクロールを避ける。
イズは、IRツリーにおける各々のノード処理、およびペ
ージ内において関連のあるプラットフォーム特定型のウ
ィジェットを配置することを含んでもよい。またレイア
ウトカスタマイズ中におけるプラットフォーム特定型の
ウィジェットの配置において、ページを最適化して、タ
ーゲット装置異種プラットフォームの表示画面に適合さ
せる変換を実行してもよい。プラットフォーム特定型の
ウィジェットの最初のレイアウトは、アプリケーション
開発者が特定するノードに関連したプラットフォーム特
定型のウィジェットのレイアウトプロパティに基づいて
もよい。レイアウトプロパティは、レイアウトを制御す
るJava(登録商標)Gridbagに類似のものであってよい
し、かつページ上で対応するプラットフォーム特定型の
ウィジェットの相対的な位置を示すものであってもよ
い。もしページサイズがターゲット異種装置プラットフ
ォームの表示画面に適合していないなら、プラットフォ
ーム独立型のウィジェットをカスタマイズすることによ
り、プラットフォーム特定型のウィジェットのレイアウ
トは更にカスタマイズされる。
イアウトマネージャを使いながら、ページ内にあるプラ
ットフォーム独立型のウィジェットを再配置再配置して
もよい。フローレイアウトマネージャを使うプラットフ
ォーム独立型のウィジェットの再配置においては、例え
ば、プラットフォーム独立型のウィジェットを一列では
なく、一列以上に配置すること等を含めてもよい。再配
置されたプラットフォーム独立型のウィジェットは、プ
レゼンテーションのページが表示画面のサイズを超える
プラットフォーム特定型のウィジェットに対応する、プ
ラットフォーム独立型のウィジェットであってもよい。
一方、物理的な空間や優先度などのクライテリアは、動
的な再配置用に、ページ内のプラットフォーム特定型の
ウィジェットに対応している、どのプラットフォーム独
立型のウィジェットを選択するかを決定してもよい。
ージャモジュール20により起動されてもよいし、ある
いは変換マネージャモジュール20の一部分であっても
よい。フローレイアウトマネージャは、Java FlowLayou
tである。さらに、分割可能なプロパティとしてアプリ
ケーション開発者に特定され、かつSGUIコンポーネント
複合であるプラットフォーム独立型のウィジェットは、
SGUIコンポーネント単体に分割されてもよい。SGUIコン
ポーネント単体がマップされるプラットフォーム特定型
のウィジェットは、SGUIコンポーネント単体あるいはそ
の他のプロパティに関連する優先プロパティに基づきな
がら、プレゼンテーションの複数のページ間において分
配されてもよい。分割されたSGUIコンポーネント単体の
レイアウトは、フローレイアウトマネージャで実行され
てもよい。ここでSGUIコンポーネント複合は、アプリケ
ーション開発者により、非分割として特定されてもよ
い。以下におけるカスタマイズにおいて、プレゼンテー
ションのページが表示画面に適さない場合、変換カスタ
マイズを起動してもよい。
ケーションを含んでいてもよい。変換ルールは、ターゲ
ット異種装置プラットフォームの表示画面に適合させる
ため、ページ内におけるプラットフォーム特定型ウィジ
ェットの適切なサイズ変換実現の為に適用されてもよ
い。変換カスタマイズの目的は、プレゼンテーションの
ページサイズを縮小し、異種装置プラットフォームの表
示画面内に丁度適合させることにより、スクロールの使
用を避けることである。
ジャモジュール20は、どのプラットフォーム独立型の
ウィジェットが変換され、そしてどのようにプラットフ
ォーム独立型のウィジェットが変換されるかを決定して
もよい。どのプラットフォーム独立型のウィジェットを
変換するかの決定は、変換可能で、かつ変換ルーツをト
リガするプラットフォーム独立型のウィジェットを特定
する事に基づいてよい。変換ルールをトリガするプラッ
トフォーム独立型のウィジェットは、プレゼンテーショ
ンのページサイズが表示画面のサイズを超えてしまう原
因となるプラットフォーム特定型のウィジェットへマッ
プする、非分割なSGUIコンポーネント単体、あるいは非
分割なSGUIコンポーネント複合であってもよい。
どのように変換するかは、特定されたウィジェットに基
づいている。プラットフォーム独立型のウィジェットが
SGUIコンポーネント単体な場合、変換ルールがそのSGUI
コンポーネント単体に適用されてもよい。しかしなが
ら、プラットフォーム独立型のウィジェットがSGUIコン
ポーネント複合である場合、SGUIコンポーネント複合内
にあるSGUIコンポーネント単体の各々は、SGUIコアコン
ポーネントとSGUIオプショナルコンポーネントとしてカ
テゴリー化される。SGUIコンポーネント複合内にあるSG
UIコンポーネント単体のカテゴリー化は、プレゼンテー
ションモデルのタスクにおいて、アプリケーション開発
者が特定する重要プロパティに基づいてもよい。
を、よりコンパクトなウィジェットにする変換はGUIの
有用性を劣化させるかもしれないので、変換ルールはSG
UIオプショナルコンポーネントに適用される。もし重要
プロパティによるSGUIオプショナルコンポーネントが特
定されていない場合、あるいはページをターゲット異種
装置プラットフォームへ適合させるためSGUIオプショナ
ルコンポーネントのサイズを縮小することが適切でない
場合、変換ルールはSGUIコアコンポーネントへ適用され
てもよい。
数のルールの中から最も適した変換ルールを決定するこ
とにより、プラットフォーム独立型のウィジェット(SGU
Iコンポーネント単体)を変換してもよい。ここで言う適
切な変換ルールとは、対応するプラットフォーム特定型
のウィジェットのサイズを変換し、表示画面のサイズに
適合させることである。変換ルールは、次の4つのタイ
プにカテゴリー化されてもよい。(1)「1から1タイ
プへの変換ルール」(2)「1から複数タイプへの変換
ルール」(3)「複数の同クラスから1タイプへの変換
ルール」(4)「複数から複数タイプへの変換ルール」
ラットフォーム独立型のウィジェット(SGUIコンポーネ
ント単体)を別のプラットフォーム独立型のウィジェッ
ト(SGUIコンポーネント単体)に変換することである。例
を挙げると、図5における第1SGUIコンポーネント70
は、1から1タイプの変換ルールにより、第2SGUIコン
ポーネント72であるドロップダウンボックスに変換さ
れる。「1から複数タイプへの変換ルール」とは、プラ
ットフォーム独立型のウィジェット(SGUIコンポーネン
ト単体)を複数のプラットフォーム独立型のウィジェッ
ト(各々のSGUIコンポーネント単体)へ変換することで
ある。例を挙げると、データテーブルを表している単一
のプラットフォーム独立型のウィジェットが、複数のデ
ータリストを表している単一のプラットフォーム独立型
のウィジェット、あるいは複数のデータリストを表して
いる単一のプラットフォーム独立型のウィジェットに変
換されてもよい。
ール」とは、同じクラスに属する複数のプラットフォー
ム独立型のウィジェット(各々のSGUIコンポーネント単
体)を、プラットフォーム独立型のウィジェット(SGUIコ
ンポーネント単体)に変換することである。例を挙げる
と、同じクラスにあり、かつラジオボタンを表している
複数の単一のプラットフォーム独立型のウィジェット
は、リストあるいはドロップダウンボックスを表してい
る単一のプラットフォーム独立型のウィジェットに変換
されてもよい。同様に、テキスト領域あるいはラベルを
表している、いくつかの単一のプラットフォーム独立型
のウィジェットは、各々1つのテキスト領域、あるいは
ドロップダウンボックスを表している単一のプラットフ
ォーム独立型のウィジェットに変換されてもよい。
は、異なるクラスに属する複数のプラットフォーム独立
型のウィジェットを、別の対応する複数のプラットフォ
ーム独立型のウィジェットに変換することである。各々
の複数から複数タイプへの変換ルールは、「1つ以上の
複数の同クラスから1タイプへの変換ルール」、及びフ
ォーム記入関係のような、異なるプラットフォーム独立
型のウィジェット間における対応関係を含んでいてもよ
い。
ーションのエンドユーザが入力したデータをプラットフ
ォーム特定型のウィジェット形式で表すことを可能にす
る、プラットフォーム独立型のウィジェット間における
関係を示している。言い換えれば、第1プラットフォー
ム特定型のプレゼンテーションにあるプラットフォーム
特定型のウィジェットの状態を、第2プラットフォーム
特定型のプレゼンテーションへ変換されたプラットフォ
ーム特定型のウィジェットと同様の状態にすることであ
る。プラットフォーム独立型のウィジェット間における
関係は、開発者、知識ベース型システム、実験、あるい
はプラットフォーム独立型のウィジェットと変換された
プラットフォーム独立型のウィジェット間において関係
を作るその他のメカニズムにより、プラットフォーム独
立型のプレゼンテーションモデルにおいて提供可能であ
る。
あるラベル(例:「アイテム名」、「ブランド名」)はピ
ックリスト86に変換され、そして対応するデータエン
トリ領域は、拡張性のある「複数の同クラスから1タイ
プへの変換ルール」を利用している単一のデータエント
リ88へと変換される。これら2つの変換は、プラット
フォーム独立型のプレゼンテーションモデル、およびプ
ラットフォーム特定型モデルにおけるフォーム記入関係
にリンクさせてもよい。
「複数の同クラスから1タイプへの変換ルール」、およ
び「複数から複数タイプへの変換ルール」で変換された
プラットフォーム独立型のウィジェットを、他のプラッ
トフォーム独立型のウィジェットへリンクさせてもよ
い。リンクは、プレゼンテーション内の2つ以上のプラ
ットフォーム特定型のウィジェット間における動作関係
(例:図14のバーチャルボタン410とバーチャルテ
キスト領域412間における動作関係)に関連してい
る。第1プラットフォーム特定型のウィジェットと第2
プラットフォーム特定型のウィジェット間におけるリン
クは、第1プラットフォーム特定型のウィジェットの状
態を変化させることになり、かつ第2プラットフォーム
特定型のウィジェットの状態を変化させることになる。
プラットフォーム特定型のウィジェット間におけるリン
クは、プラットフォーム独立型のプレゼンテーションモ
デルにおいて、対応する第1&第2プラットフォーム独
立型のウィジェットのリンクにより提供されてもよい。
ラットフォーム独立型のウィジェットの実行状態は別の
フォームで表されてもよい。異なる変換ルールが特定の
プラットフォームの制約に基づきオリジナルプラットフ
ォーム独立型のウィジェットに対して適用可能なので、
プラットフォーム特定型のウィジェットの実行状態が変
換可能となる。オリジナルプラットフォーム独立型のウ
ィジェットの実行状態は、プラットフォーム独立型のプ
レゼンテーションモデルに保存されてもよい。つまり、
変換されたプラットフォーム独立型のウィジェットの実
行状態は、オリジナルプラットフォーム独立型のウィジ
ェットの実行状態へとマップされてもよい。
ジェットは、対応するプラットフォーム特定型のウィジ
ェットとしてターゲット装置の表示画面上に表示され
る、変換ルールにより選択された装置独立型のウィジェ
ットであってもよい。オリジナルプラットフォーム独立
型のウィジェットは、表示画面上に表示される、開発者
が選んだ装置独立型のウィジェットである。オリジナル
プラットフォーム独立型のウィジェットは、プラットフ
ォーム独立型のプレゼンテーションモデルに接続されて
もよい。同様に、変換が成功したとき、変換されたプラ
ットフォーム独立型のウィジェットもプラットフォーム
独立型のプレゼンテーションモデルに接続されてもよ
い。上記の両接続は、コンポーネントノード形式で表現
されてもよい。ここで各々のコンポーネントノードは、
少なくとも1つのプラットフォーム独立型のウィジェッ
トを表している。
ーム独立型のプレゼンテーションモデルは、オリジナル
プラットフォーム独立型のウィジェット及び変換された
プラットフォーム独立型のウィジェット両方のインスタ
ンスを含んでいてもよい。GUIのマイグレーションの実
行時間次第で、オリジナルプラットフォーム独立型のウ
ィジェットだけのインスタンス、あるいは変換されたプ
ラットフォーム独立型のウィジェットだけのインスタン
スが、同時にアクティブ状態になってもよい。
立型のウィジェットの接続、及びアクティブ状態におけ
る変換されたプラットフォーム独立型のウィジェットの
変化を表しているプラットフォーム独立型のプレゼンテ
ーションモデル530の例である。図のプラットフォー
ム独立型のプレゼンテーションモデル530は、コンテ
ナノード532、及び関連性のある複数のオリジナルコ
ンポーネントノード534を有している。コンテナノー
ド532は、論理パネルであるプラットフォーム独立型
のウィジェットを表してもよい。また各々のオリジナル
コンポーネントノード534、及び関連のあるプラット
フォーム独立型のウィジェットは、パネル内のラジオボ
タン(RB)である、プラットフォーム独立型のウィジェッ
トを表してもよい。
ョンモデルのコピー536による、プラットフォーム特
定型のプレゼンテーションの生成中において、矢印53
7で示されている変換が起こり得る。プラットフォーム
独立型のウィジェットへマップされるプラットフォーム
特定型のウィジェット(コンテナノード532)が大きい
ため、ターゲット異種装置の表示画面上に配置できない
時、この変換は起こる。例えば、コンテナノード532
を変えずに、ラジオボタン(オリジナルコンポーネント
ノード534)を表している全てのプラットフォーム独
立型のウィジェットを、変換されたコンポーネントノー
ド538(コンボボックス:CB)へ変換してもよい。コン
ボボックスは、ラジオボタンと類似の機能を提供する小
さなプラットフォーム独立型のウィジェットであっても
よい。
は、変換されたウィジェットを保存、あるいは表すため
のプラットフォーム独立型のプレゼンテーションモデル
のコピー536において作られた新しいコンポーネント
ノードであってもよい。以下の変換において、変換され
たコンポーネントノード538は、「変換された子供ノ
ード」としてコンテナノード532にリンクされること
により、新しい論理関係を形成してもよい。新しい論理
関係がアクティブになることにより、コンテナノード5
32とオリジナルコンポーネントノード534間におけ
る既存の論理関係と置き換えられてもよい。変換された
子供ノード(変換されたコンポーネントノード538)
は、コンテナノード532を特有の子供ノードとしても
よい。
ーネントノード534間における前の論理関係は、図1
6において点線で表されている、プラットフォーム独立
型のプレゼンテーションモデルのコピー536の論理参
照として保存されてもよい。しかしながらオリジナルコ
ンポーネントノード534は、開発者が明確に特定して
いない限り、コンテナノード532の子供ノードである
必要はない。このようにIRツリーのレイアウト構造にお
いて、オリジナルコンポーネントノード534は含まれ
ないことになる。またこの論理関係は、あるプラットフ
ォーム特定型のプレゼンテーションから別のプラットフ
ォーム特定型のプレゼンテーションへの実行状態のマイ
グレーション、及びイベント処理をサポートするのに保
存されてもよい。
ールには種類に応じて優先順位が設定されていく。「複
数から複数タイプへの変換ルール」は大幅に全体のプレ
ゼンテーションを変え、そしてGUIの有用性を劣化させ
るので、「複数から複数タイプへの変換ルール」には、
最も低い優先度が割り当てられてもよい。その他の変換
ルールの優先度を決定するに当たって、変換マネージャ
モジュール20が各ルールを選択してもよい。
ルプラットフォーム独立型のウィジェットが有する機
能、あるいはその他パラメータと適合性のない、変換さ
れたプラットフォーム独立型のウィジェットを作成する
変換ルールを削除してもよい。適合性のない機能には、
オリジナルプラットフォーム独立型のウィジェットが、
変換されたオリジナルプラットフォーム独立型のウィジ
ェットによりサポートされていない入力メカニズムを要
求する、変換ルールが含まれている。例えば、アプリケ
ーション開発者が、アクション実行のためにマウスイン
イベント(例:マウスの矢印がボタンを指しているとき
(クリックではない))に対応しているJ2MEDoJaボタン
へ、プラットフォーム独立型のウィジェット用のマッピ
ングを特定するとする。しかしながら、ソフトキーはマ
ウスインイベントをサポートしないので、変換カスタマ
イズの間、ボタンはソフトキーに変換されることはな
い。このように、当該プラットフォーム独立型のウィジ
ェット用に、かつ当該変換をサポートする変換ルール
は、選別機能により削除されてもよい。
スペース縮小パラメータに基づき、変換ルールに優先順
位を付けてもよい。スペース縮小パラメータの優先順位
とは、変換に基づくプラットフォーム独立型のウィジェ
ットのサイズ、及び/または変換ルールをプラットフォ
ーム独立型のウィジェットに適用することから生じるサ
イズ縮小量に基づいてもよい。プラットフォーム独立型
のプレゼンテーションにあるプラットフォーム独立型の
ウィジェットにおけるスペース縮小とは、対応するプラ
ットフォーム独立型のウィジェットにおけるスペース縮
小により特定される。
には、最も高い優先順位が与えられてもよい。あまりコ
ンパクトでない対応するプラットフォーム特定型のウィ
ジェットは、コンパクトなプラットフォーム特定型のウ
ィジェットより高いGUIの有用性を持っているので、最
も高い優先順位は最小のスペース縮小を提供する変換ル
ールに与えられてもよい。スペース縮小パラメータは、
プラットフォーム独立型のウィジェットの幅縮小率、高
さ縮小率、そして大きさ縮小率を含んでいてもよい。
ム独立型のウィジェットの状態に基づいて、スペース縮
小パラメータの優先順位は変更されてもよい。例えばプ
ラットフォーム独立型のウィジェット用の変換ルール
が、幅があって、かつ対応するプラットフォーム独立型
のウィジェットによりトリガされると、幅縮小率が最も
重要なパラメータとして特定されてもよい。次に高さ縮
小率が2番目に重要なパラメータとして特定された場
合、大きさ縮小率は無視されてもよい。同様に変換ルー
ルが、高すぎるプラットフォーム特定型のウィジェット
によりトリガされると、高さ縮小率が最も重要なパラメ
ータとして特定され、次に幅縮小率が2番目に重要なパ
ラメータとして特定されるので、大きさ縮小率は無視さ
れてもよい。また変換ルールが、幅と高さが両方あり過
ぎるプラットフォーム特定型のウィジェットによりトリ
ガされると、大きさ縮小率が最も重要なパラメータとし
て特定され、残りのパラメータ(幅と高さ縮小率)は無視
されてもよい。
ション、選別、およびスペース縮小を実行することによ
り、各々に対し優先順位が付けられてもよい。また、タ
イプ化のカテゴライゼーション、選別、またはスペース
縮小だけを利用することにより、優先順位が付けられて
もよい。さらに、タイプ化のカテゴライゼーション、選
別、またはスペース縮小のいかなる組み合わせや順番な
どを利用することにより、優先順位が付けられてもよ
い。
いて拡張性のあるアプリケーションを実行することに関
し、変換ルールはJavaクラスで特定されてもよい。各々
の変換ルールは、1つのJavaクラスで表される。クラス
の詳細に関して、実行状態及びイベント処理の変換が、
プラットフォーム独立型のウィジェット用のアプリケー
ション開発者によって特定されてもよい。
を用いて作成される変換ルールの例を以下に示す。 プライベートクラスのフォーム記入の変換 /*プラットフォーム特定型のウィジェット変換*/ ・新しいプラットフォーム独立型のウィジェット(ドロ
ップダウンボックス(DD1))の構成 ・バーチャルな「アイテム名」、「ブランド名」等、ラ
ベルのプロパティ(例:フォントサイズ)をDD1へコピー ・バーチャルテキスト領域(TF1)の構成 ・バーチャルな「アイテム名」、「ブランド名」等、テ
キスト領域のプロパティをTF1へコピー /*実行状態の変換*/ ・オリジナルのバーチャルラベルとテキスト領域のペア
例を、以下のJavaハッシュテーブルに記録: ・拡張性のある選択イベントのリスナー(イベントライ
ブラリからの)をDD1へ追加、そしてアクションを特
定。よってエンドユーザがアイテムをDD1 (例:アイテ
ム名) から選択すると、それに対応する物(例:ボトル
水)がハッシュテーブルから選択される。 ・その物をTF1上に表示する。 /*イベント処理の変換*/ ・エンドユーザがエンターキー、あるいは相当のキーを
ヒットした時、「アイテム名」、あるいは「ブランド
名」等、テキスト領域にある物が自動的に更新されるこ
とをアプリケーション開発者は特定する。 ・マイグレーション後に、エンターキーイベントが受信
されたら、TF1上に、例えば「コーラ」のような物を入
力する。 ・例えば「アイテム名」のような、今選択されたアイテ
ムをDD1上に入力する。・ハッシュテーブル上におい
て、選択されたアイテムのタイトルを検索し、そしてそ
れに対応するアイテム(物)を更新する。 ・イベントの出所として入力された「アイテム名」、及
び新しい物として入力された「コーラ」を用いてイベン
トを作成する。 ・オリジナルの状態と変換された状態を同期化させるた
め、イベントをオリジナルのバーチャル「アイテム名」
テキスト領域へ送信。
されるレイアウトカスタマイズのプロセス、及び変換カ
スタマイズのプロセスの実施形態を表すフロー図であ
る。動作はIRツリーのルートノード44aを現在ノード
に設定することから始まる。(ブロック540)現在ノー
ドの未処理である直接子供ノードがあるかどうかを判定
する。(ブロック542)イエスなら、最も高い優先順位
の未処理の直接子供ノードが現在ノードへ設定され(ブ
ロック544)、処理はブロック542へ戻る。もし未
処理の直接子供ノードがないなら、現在ノードはルート
ノード44aであるかどうかを判定する。(ブロック5
46)もしイエスなら、プラットフォーム特定型のプレ
ゼンテーション、プラットフォーム独立型のプレゼンテ
ーション、及び拡張性のあるGUIライブラリ12の関連
性のある部分が、ターゲット異種装置プラットフォーム
へ送信される。(ブロック548)
い場合、プラットフォーム特定型のプレゼンテーション
モデル内で現在ノードと関連のあるサブノードで表され
ているプラットフォーム特定型のウィジェットが、アプ
リケーション開発者によって特定されているプロパティ
に基づいて、ページ上に配置されてもよい。(ブロック
550)プロパティは、ページ上でプラットフォーム特
定型のウィジェットの位置を示すため、レイアウトを制
御するJava Gridbag に類似であってもよい。ページの
サイズが算出される。(ブロック552)ページのサイズ
が、ターゲット表示画面のサイズと比較される。(ブロ
ック554)もしページが、ターゲット表示画面内に適
合するなら、現在ノードに関連しているプラットフォー
ム独立型のウィジェットが、プラットフォーム独立型の
プレゼンテーションモデルのコピー内に保存される。
(ブロック556)処理済みの現在ノードがマークされ
(ブロック558)、別の現在ノードを選択するため
に、動作はブロック540へ戻る。一方ページのサイズ
が、ターゲット表示画面より大きいのなら(ブロック5
54)、フローレイアウトマネージャを使っているプラ
ットフォーム独立型のウィジェットを再配置することに
より、プラットフォーム特定型のウィジェットはページ
内で動的に再配置される。(ブロック560)
ーゲット表示画面のサイズと比較される(ブロック56
2)。もしページがターゲット表示画面に適合するのな
ら、動作はブロック556へと戻り、プラットフォーム
特定型のプレゼンテーションのコピー内においてプラッ
トフォーム独立型のウィジェットを保存する。もしペー
ジがまだターゲット表示画面のサイズより大きいのな
ら、現在ノード(プラットフォーム独立型のウィジェッ
ト)、あるいは他の関連するノードが分割可能かどうか
を判定する(ブロック564)。ブロック566でイエ
スと判定されたなら、少なくとも第2ページがインスタ
ンス化される。プレゼンテーションがページに適合する
まで、特定された分割ノードに関連しているプラットフ
ォーム特定型のウィジェットが、フローマネージャを使
うことにより第1ページと少なくとも第2ページの間で
分配される(ブロック568)。プラットフォーム独立
型のウィジェットが、プラットフォーム独立型のプレゼ
ンテーションのコピー内において保存される。(ブロッ
ク569)処理済みの現在ノードがマークされ(ブロッ
ク570)、別の現在ノードを選択するために、動作は
ブロック540へ戻る。
ドのいずれもが分割できない場合(ブロック564)、
現在ノードと関連のある変換可能なプラットフォーム独
立型のウィジェットが特定される。(ブロック574)プ
ラットフォーム独立型のウィジェットが、SGUIコンポー
ネントであるかどうかの判定が実行される。(ブロック
576)もしプラットフォーム独立型のウィジェットがS
GUIコンポーネントであるなら、複合ウィジェット内に
あるSGUIコンポーネント単体は、重要プロパティに基づ
いたSGUIコアコンポーネント、及びSGUIオプショナルコ
ンポーネントとして、カテゴリー化される。(ブロック
578)
ネントが全て処理されたかどうかを判定する。(ブロッ
ク580)もしノーなら、次の未処理のSGUIオプショナ
ルコンポーネントが選択される。(ブロック582)適
用可能な全ての変換ルールが、選択された全てのSGUIコ
ンポーネント用に検索される。(ブロック584)検索
された変換ルールが、4つある変換ルールの中の1つと
して特定される。(ブロック586)「複数から複数タ
イプへの変換ルール」に対し、最も低い優先順位が付け
られる。(ブロック588)残りの3つの変換ルールにつ
いては選別され、不適合なルールが除去される。(ブロ
ック590)残り3つの変換ルールに関して、変換され
たSGUIコンポーネントの予想されるスペース縮小量が算
出される。(ブロック592)
て、残りの変換ルールに対しても優先順位が付けられ
る。(ブロック594)最も高い優先順位(最も少ない
スペース縮小)を持つ変換ルールが、SGUIコンポーネン
トに適用される。(ブロック596)変換されたSGUIコ
ンポーネントが、プラットフォーム特定型のウィジェッ
トへマップされる。(ブロック598)プラットフォー
ム特定型のウィジェットが、フローレイアウトマネージ
ャにより、ページ内に配置される。(ブロック599)
ここでページが、ターゲット異種装置プラットフォーム
の表示画面より大きいかどうかを判断する。(ブロック
600)もしノーなら、動作は図17のブロック556
に戻り、プラットフォーム独立型のプレゼンテーション
モデル等のコピー内に、現在ノードと関連したプラット
フォーム独立型のウィジェットを保存する。もしページ
がまだ大きすぎるのなら、プラットフォーム独立型のウ
ィジェット内の全てのSGUIコンポーネントが処理された
かどうかを判定する。(ブロック602)もしノーな
ら、動作は図19のブロック580へ戻る。もしプラッ
トフォーム独立型のウィジェットにおける全てのSGUIコ
ンポーネントが処理されているのなら、対応するプラッ
トフォーム独立型のウィジェット用のノードが、処理さ
れたものとしてマークされる。(ブロック604)現在
ノードと関連している全ての変換可能なプラットフォー
ム独立型のウィジェットが、処理されたどうかを判定す
る。(ブロック606)もしノーなら、動作は図18のブ
ロック574に戻り、その他の変換可能なプラットフォ
ーム独立型のウィジェットを特定する。もし現在ノード
と関連している全ての変換可能なプラットフォーム独立
型のウィジェットが処理されたなら、ノードを縮小する
ことが不可能だというアラームがアプリケーション開発
者用に生成され(ブロック608)、別の現在ノードを
選択するため、動作は図17のブロック504へ戻る。
ウィジェットにおける全てのSGUIオプショナルコンポー
ネントが処理された(あるいは存在しないか)と判断さ
れると(ブロック580)、未処理のSGUIコアコンポー
ネントが選択され(ブロック610)、動作はブロック
584へと進む。図18に戻るが、プラットフォーム独
立型のウィジェットがSGUIコンポーネント複合でなけれ
ば、動作は図19のブロック584へと進み、SGUIコン
ポーネント複合を持つプラットフォーム独立型のウィジ
ェットに似た、SGUIコンポーネント単体を持つプラット
フォーム独立型のウィジェットの処理をする。
ットフォーム独立型のウィジェットのイベント処理は、
変換カスタマイズの一部分として起こってもよい。前に
も述べたが、マイグレーションしたプレゼンテーション
は、オリジナルのプレゼンテーションから、異なる一連
のプラットフォーム独立型のウィジェットを採用しても
よい。エンドユーザ用にアプリケーションの継続性を保
つため、オリジナルプラットフォーム特定型のプレゼン
テーションにおけるプラットフォーム特定型のウィジェ
ットの実行状態は、マイグレーションしたプラットフォ
ーム特定型のプレゼンテーションにおけるプラットフォ
ーム特定型のウィジェットへマップされてもよい。
あるGUIライブラリ12を用いて実行することにより、
第1プラットフォーム特定型のプレゼンテーションにお
けるプラットフォーム特定型のウィジェットの現実行状
態が、プラットフォーム独立型のプレゼンテーションモ
デル(中間プレゼンテーション)内の対応するプラットフ
ォーム独立型のウィジェットへマップされてもよい。プ
ラットフォーム独立型のプレゼンテーションモデルのコ
ピーがコピー&削除された後、ターゲット異種装置プラ
ットフォーム用の第2プラットフォーム特定型のプレゼ
ンテーションの開発中に、ノードに関連した対応してい
るプラットフォーム特定型のウィジェットが、ページ内
に配置される。プラットフォーム独立型のプレゼンテー
ションモデルにおけるプラットフォーム独立型のウィジ
ェットの実行状態が、第2プラットフォーム特定型のプ
レゼンテーションにおいて、対応しているプラットフォ
ーム特定型のウィジェットの実行状態として適用されて
もよい。したがって、第1プラットフォーム特定型のプ
レゼンテーションの現実行状態が、第2プラットフォー
ム特定型のプレゼンテーションにおいて実装されてもよ
い。
ム特定型のウィジェットの現実行状態と、それに対応す
るプラットフォーム独立型のウィジェットの現実行状態
を同期させてもよい。この同期化には、外観、状態変
化、あるいは/またはプラットフォーム特定型のウィジ
ェットから入手されたデータを有する、プラットフォー
ム独立型のウィジェットの実行状態を更新することを含
んでもよい。ターゲット異種装置プラットフォーム用の
プラットフォーム特定型プレゼンテーションの開発中に
おいて、プラットフォーム独立型のウィジェットの実行
状態が保存されてもよい。マイグレーションに続いて、
プラットフォーム独立型のウィジェットの実行状態が検
索され、そしてプラットフォーム特定型のプレゼンテー
ションを用いる、マイグレーションしたプラットフォー
ム特定型のウィジェット上にプラットフォーム独立型の
ウィジェットの実行状態が表わされる。
変換ルールが適用されたとき、オリジナルプラットフォ
ーム独立型のウィジェットの現実行状態を変換されたプ
ラットフォーム独立型のウィジェットにマップすること
により、類似のプロセスが実行されてもよい。変換され
たプラットフォーム独立型のウィジェットは、プラット
フォーム特定型のプレゼンテーションにおけるプラット
フォーム特定型のウィジェットへマップされてもよい。
プラットフォーム特定型のプレゼンテーションを達成す
る為の、プラットフォーム独立型のプレゼンテーション
のレイアウト及び変換が実行されてもよい。(図17か
ら20において説明済み)
フォーム独立型のウィジェット(SGUIコンポーネント)が
プラットフォーム特定型のウィジェットへマップされる
と、SGUIコンポーネントライブラリにおけるAPIは、同
様にプラットフォーム独立型のウィジェットの状態をプ
ラットフォーム特定型のウィジェットの状態へマップし
てもよい。このようにGUIのマイグレーションが起こる
と、実行状態は、プラットフォーム独立型のプレゼンテ
ーションにおけるプラットフォーム独立型のウィジェッ
トとプラットフォーム特定型のプレゼンテーションにお
けるプラットフォーム特定型のウィジェットの間を往来
してもよい。
ルに対して特有のものなので、各々の変換ルールは実行
状態を変換できるメカニズムを提供してもよい。実行状
態の変換例が、Java(登録商標)コードを使って作成さ
れる変換ルールの例(前に説明済み)に含まれていてもよ
い。コード例に関して、全てのオリジナルのテキスト領
域の状態が、Javaハッシュテーブル(既に説明済み)に
保存される。変換されたテキスト領域は、ドロップダウ
ンボックスの状態に基づき、全てのオリジナルのテキス
ト領域の状態を一度に表示する。
は、異なるタイプの変換において適用されてもよい。例
えば、SGUIシステムの初期使用中やマイグレーション中
において、プラットフォーム独立型のウィジェットの実
行状態が、プラットフォーム特定型のウィジェットの実
行状態に変換される。さらにマイグレーションの前に、
プラットフォーム特定型のウィジェットの実行状態が、
プラットフォーム独立型のウィジェットの実行状態へ変
換されてもよい。さらに、プラットフォーム独立型のウ
ィジェットの実行状態が、別のプラットフォーム独立型
のウィジェットの実行状態へ変換されてもよい。(例:
プラットフォーム特定型のプレゼテーションの進展中
に、変換がトリガされた時)
ばラジオボタンのセットのような、スペースを取り過ぎ
る複数の第1コンポーネントノード534は、コンボボ
ックスのような、新しい第2コンポーネントノード単体
538への変換が必要かもしれない。ラジオボタンの実
行状態からコンボボックスの実行状態への実行状態の変
換は、プラットフォーム独立型のラジオボタンの実行状
態から、マッピングを通して、プラットフォーム独立型
のコンボボックスの実行状態への変換を含んでもよい。
またマッピングを通して、プラットフォーム独立型のラ
ジオボタンの実行状態が、プラットフォーム独立型のコ
ンボボックスの実行状態へ変換されてもよい。さらに、
プラットフォーム特定型のコンボボックスからプラット
フォーム独立型のコンボボックスへ実行状態を変換す
る、実行状態のマッピングが実行されてもよい。プラッ
トフォーム独立型をプラットフォーム独立型の実行状態
の変換へ用いることにより、プラットフォーム独立型の
プレゼンテーションモデルは、ウィジェットの実行状態
を保存することが可能になる。
ーム独立型のウィジェットのマッピング間における一般
的な動作を表しているプロセスのフロー図である。オリ
ジナルプラットフォーム独立型のウィジェットのタイプ
が特定されるところで、動作は始まる。(ブロック65
0)例えば、ウィジェットのタイプは、ラジオボタンタ
イプやコンボボックスタイプなどである。オリジナルプ
ラットフォーム独立型のウィジェットが、少なくとも1
つの変換されたプラットフォーム独立型のウィジェット
に変換される。(ブロック652)変換が成功すると、
変換されたウィジェットのタイプが特定される。(ブロ
ック654)オリジナルプラットフォーム独立型のウィ
ジェットの実行状態が検索される。(ブロック656)
実行状態が、決定された構成(例:配列)で保存され
る。(ブロック658)ウィジェットのタイプに応じ
て、オリジナルプラットフォーム独立型のウィジェット
の実行状態が、変換されたプラットフォーム独立型のウ
ィジェットの実行状態へ変換される。(ブロック66
0)変換された実行状態は、変換されたプラットフォー
ム独立型のウィジェットに関連づけて保存される。(ブ
ロック662)変換されたプラットフォーム独立型のウ
ィジェットが、プラットフォーム特定型のプレゼンテー
ション内のプラットフォーム特定型のウィジェットへマ
ップされる。(ブロック664)変換されたプラットフ
ォーム独立型のウィジェットの実行状態が、プラットフ
ォーム特定型のウィジェットの実行状態へマップされ
る。(ブロック666)変換されたプラットフォーム独
立型のウィジェットの実行状態が、変換されたプラット
フォーム特定型のウィジェット上に表される。(ブロッ
ク668)
ション後に、同レベルのGUIインタラクションを提供す
るので重要である。マウスボタンを押したり、あるいは
第1異種装置プラットフォーム上におけるプラットフォ
ーム特定型のウィジェットのタイプされた文字入力等の
イベントが、バーチャルイベント形成のために抽出され
てもよい。別の異種装置プラットフォームにおいて、上
記プラットフォーム特定型のウィジェットに対して同じ
入力を表している異なるイベントが、同様に同じバーチ
ャルイベント形成のために抽出されてもよい。異種装置
プラットフォーム上における異なるイベントが、バーチ
ャルイベントに基づいている、プラットフォーム独立型
のプレゼンテーションモデル内のプラットフォーム独立
型のウィジェットの同じ入力(を表している異なるイベ
ント)へマップされてもよい。
ームからJ2ME Personal Java AWT プラットフォームま
での、GUIのマイグレーションを表していると仮定す
る。マイグレーションの前において、エンドユーザは、
SWINGテキスト領域であるかもしれない「アイテム名」
として特定されているデータを、データエントリ80に
入力し、そしてSWINGイベントが生成されてもよい。SWI
NGイベントは、データベース内に「アイテム名」データ
を保存するアクションを引き起こしてもよい。マイグレ
ーション後において、SWINGテキスト領域がAWTテキスト
領域へと変換したとき、AWTテキスト領域がAWTイベント
のみをサポートしていたとしても、SWINGイベントは同
様のアクションを引き起こしてもよい。
とにより、SWINGイベントとAWTイベントが、汎用のバー
チャルイベント形成用に抽出されてもよい。このよう
に、汎用なバーチャルイベントが受信されたとき(例:
「アイテム名」データが入力されたとき)、それに関連
するアクションが引き起こされる。変換ルールがプラッ
トフォーム独立型のウィジェットに適用されたとき、上
記と同様な抽出が適用されてもよい。イベントマッピン
グは、各々の変換ルールに対して特有のものなので、各
々の変換ルールはまたイベント処理の変換を提供しても
よい。イベント処理の変換例は、Javaを用いて作成され
た変換ルールの例に関する個所で既に説明済みである。
(図6参照)コードに関して、イベントが、変換された
単一のデータエントリ88から生成されたとき、変換マ
ネージャモジュール20は、複数のデータエントリ80
内においてオリジナルのテキスト領域として動作し、そ
してアクションを引き起こすためにイベントを送信して
もよい。
に、イベント処理の変換、あるいはマッピングも各々の
変換ルールに対して特有のものであってもよい。実行状
態とは違い、イベント処理は実行時間により異なるもの
ではないので、イベント処理のマイグレーションは必要
ではない。代わりに、少なくとも1つのオリジナルプラ
ットフォーム独立型のウィジェットのタイプ、及び少な
くとも1つの変換されたオリジナルプラットフォーム独
立型のウィジェットのタイプが特定される。そして、両
方のタイプを利用できるイベント処理のメカニズムが、
特定されてもよい。オリジナルプラットフォーム独立型
のウィジェットのイベント処理メカニズムは、変換され
たプラットフォーム独立型ウィジェットのイベント処理
メカニズムにマップされてもよい。マッピングにより、
オリジナルプラットフォーム独立型のウィジェットの状
態変化に影響を与えている、入出力機能が可能になる。
この機能は、変換されたプラットフォーム独立型ウィジ
ェットにより実行される。
あるアプリケーションのアプリケーションGUI用に装置
プラットフォーム独立型の動作を提供している。SGUIシ
ステムの拡張性により、拡張性のあるアプリケーション
は、異なるサイズの表示画面、入力方法、及び異種装置
プラットフォームのユーザインターフェイスに関連して
いるGUIライブラリでの動作が可能となる。さらに、SGU
Iシステム全体のデザインにより、拡張性のあるアプリ
ケーションが動作可能な異種装置プラットフォームのユ
ーザインターフェイスに関連する複雑性を回避しなが
ら、拡張性を有するアプリケーションの開発者は、手軽
にSGUIシステムを使うことができる。
ケーションにおいて、装置プラットフォーム独立型のア
プリケーションGUIの使用が可能になる。アプリケーシ
ョンGUIは、SGUIシステムがターゲット装置プラットフ
ォーム用にカスタマイズするプラットフォーム独立型の
プレゼンテーションモデルにより表されてもよい。プラ
ットフォーム独立型のプレゼンテーションモデルのカス
タマイズは、拡張性のあるアプリケーションにより特定
されるプロパティ、及びターゲット装置プラットフォー
ムの機能や性能に基づいてもよい。したがって、装置プ
ラットフォーム独立型のアプリケーションGUIは、複数
の異種装置プラットフォーム上において表示される装置
プラットフォーム特定型のアプリケーションGUI用に、S
GUIシステムによりカスタマイズされてもよい。
1つめはGUIのマイグレーションのコンセプトである。
2つめはエンドユーザが、スクロール機能を使用しなく
ても、変換を用いることによりプレゼンテーションのペ
ージをターゲット異種装置プラットフォームの表示画面
に適合できることである。3つめは、SGUIシステムが有
する柔軟性により、アプリケーション開発者は、特定の
拡張性のあるアプリケーションのアプリケーションGUI
をベストサポートするアプリケーション特定型の変換ル
ールの設定することが可能になる。
を使用したが、本発明の趣旨を逸脱しない範囲で、本発
明に対し種々の変更または付加を施すことは、当業者に
とって容易である。したがって、本出願における図面と
説明は、単なる実例に過ぎず、本発明を限定するもので
はない。
基に、プラットフォーム独立型のGUIウィジェットに対
応する、プラットフォーム特定型のGUIウィジェットは
ページ上に配置される。ページが表示画面のサイズと適
合しない場合は、プラットフォーム独立型のGUIウィジ
ェットは、ページ上で再配置される。さらに分割可能な
場合、プラットフォーム独立型のGUIウィジェットは、
プレゼンテーションの複数ページ内において分割されて
もよい。
ェイスシステムのブロック図である。
インターフェイスシステムの一部のより詳細なブロック
図である。
インターフェイスシステムが利用した中間表現の一例を
示した図である。
インターフェイスシステムの別の部分のより詳細なブロ
ック図である。
インターフェイスシステムを使っているグラフィカルユ
ーザインターフェイスコンポーネントの変換例を示す図
である。
インターフェイスシステムを使っているグラフィカルユ
ーザインターフェイスコンポーネント複合の変換例を示
す図である。
インターフェイスシステムの動作を示している流れ図で
ある。
ザインターフェイスシステムで動作している装置を有し
ている通信システムの一例である。
るグラフィカルユーザインターフェイスシステムの動作
を示す流れ図である。
ザインターフェイスシステムで動作している装置を有す
る通信システムの他の例である。
利用しているプラットフォーム独立型のプレゼンテーシ
ョンモデルの例である。
ョンしている間における拡張性のあるグラフィカルユー
ザインターフェイスシステムの動作を示す流れ図であ
る。
ターフェイスシステムを使っているプラットフォーム独
立型のプレゼンテーションモデル内における変換例であ
る。
スシステムでページをカスタマイズしている流れ図であ
る。
ターフェイスにおける実行状態の変換例を表しているフ
ロー図である。
ブラリ(モジュール)、14……カスタマイズモジュー
ル、16……レンダーマネージャ(モジュール)、18…
…タスクマネージャ(モジュール)、20……変換マネー
ジャ(モジュール)、22……拡張性のあるGUIコンポ
ーネントライブラリ(モジュール)、24……中間表現、
26……拡張性のあるGUIイベント変換(モジュール)、
40……IRツリー、42……コンポーネントノード、4
4……コンテナノード、46……タスク、48……ペー
ジ、50……変換ルール(モジュール)、52……サイズ
変換コンポーネント(モジュール)、54……代替コンポ
ーネント(モジュール)、56……GUI変換ルール(モジュ
ール)単体、58……GUI変換ルール(モジュール)複合、
60……ダイナミックレイアウト(モジュール)、62
……スタイルガイド(モジュール)、64……SGUIコンポ
ーネントリスト(モジュール)、70……第1SGUIコンポ
ーネント、72……第2SGUIコンポーネント、76……
第1SGUIコンポーネント複合、78……第2SGUIコンポ
ーネント複合、80……(複数の)データエントリ、82
……優先度セレクション、84……好みセレクション、
86……ピックリスト、88……単一のデータエント
リ、200……通信システム、202……装置プラット
フォーム、204……変換サーバ、206……ライブラ
リサーバ、208……ネットワーク、210……拡張性
のあるアプリケーション、302……第1(異種装置)プ
ラットフォーム、304……第2(異種装置)プラットフ
ォーム、306……サーバコンピュータ、44a……ル
ート(コンテナ)ノード、44m……コンテナノード(ア
イテムタスクのサーチ)、44n……第1タスクノード
(タスクのサーチ)、44p……第2タスクノード(結果
タスクの分類)、44q……第3タスクノード(結果タス
クの表示)、404……GUIプレゼンテーション、408
……バーチャルラベル(アイテムのサーチ:第1コンポ
ーネントノード)、410……バーチャルボタン(サー
チ:第2コンポーネントノード)、412……バーチャ
ルテキスト領域(第3コンポーネントノード)
Claims (29)
- 【請求項1】 異種装置プラットフォーム間をマイグレ
ーション可能なグラフィカルユーザインターフェイスア
プリケーションのレイアウトを動的にカスタマイズする
方法において、(a)プラットフォーム独立型のグラフィ
カルユーザインターフェイスのウィジェットに関連して
いるプロパティの関数として、プラットフォーム独立型
のプレゼンテーションモデルにおいて、複数の当該プラ
ットフォーム独立型のグラフィカルユーザインターフェ
イスのウィジェットを配置する過程と、(b)異種装置プ
ラットフォームの表示画面に適合しない、プラットフォ
ーム独立型のグラフィカルユーザインターフェイスのウ
ィジェットを調整する過程と、(c)前記表示画面に適合
しない、異なるページ内において分割可能と指定された
プラットフォーム独立型のグラフィカルユーザインター
フェイスのウィジェットを特定する過程と、(d)前記特
定されたプラットフォーム独立型のグラフィカルユーザ
インターフェイスのウィジェットを、複数のページ内に
おいて分割する過程とを有することを特徴とする方法。 - 【請求項2】 予想可能な最大の表示画面に適合させる
ため、前記(a)過程は、プラットフォーム独立型のグラ
フィカルユーザインターフェイスのウィジェットを配置
する過程を有することを特徴とする請求項1に記載の方
法。 - 【請求項3】 前記(a)過程は、前記プロパティで、前
記表示画面において前記プラットフォーム独立型のグラ
フィカルユーザインターフェイスのウィジェットの相対
的な位置を指定する過程を有することを特徴とする請求
項1に記載の方法。 - 【請求項4】 前記(a)過程の後に前記(b)過程が、前記
表示画面のサイズを超えたプラットフォーム独立型のグ
ラフィカルユーザインターフェイスのウィジェット上に
おいて実行されることを特徴とする請求項1に記載の方
法。 - 【請求項5】 前記(b)過程は、フローレイアウトマネ
ージャを用いて、前記プラットフォーム独立型のグラフ
ィカルユーザインターフェイスのウィジェットを動的に
再配置する過程を更に有することを特徴とする請求項1
に記載の方法。 - 【請求項6】 前記(b)過程を行なった結果、前記表示
画面のサイズを超えたら、前記(c)過程と前記(d)過程が
実行されることを特徴とする請求項1に記載の方法。 - 【請求項7】 フローレイアウトマネージャを用いて複
数のページ内において分割される前記プラットフォーム
独立型のグラフィカルユーザインターフェイスのウィジ
ェットを動的に配置する(e)過程を更に有することを特
徴とする請求項1に記載の方法。 - 【請求項8】 前記表示画面に適合せず、かつ分割不可
能であると指定されているプラットフォーム独立型のグ
ラフィカルユーザインターフェイスのウィジェットに対
して、さらに変換ルールを適用する前記(e)過程を更に
有することを特徴とする請求項1に記載の方法。 - 【請求項9】異種装置プラットフォーム間をマイグレー
ション可能なグラフィカルユーザインターフェイスアプ
リケーションのレイアウトをカスタマイズする方法にお
いて、(a)異種装置プラットフォームの表示画面のプレ
ゼンテーションサポート能力を判断する過程と、(b)前
記決定されたプレゼンテーションサポート能力の関数、
及びノードに関連するプロパティの関数として、プラッ
トフォーム独立型のプレゼンテーションモデルにおい
て、プラットフォーム独立型のグラフィカルユーザイン
ターフェイスのウィジェットと関連している前記ノード
を処理する過程と、(c)前記プロパティの関数として、
ページ上にある前記プラットフォーム独立型のグラフィ
カルユーザインターフェイスのウィジェットと対応する
プラットフォーム特定型のグラフィカルユーザインター
フェイスのウィジェットを配置する過程と、(d)前記ペ
ージが表示画面に適合しない場合、複数のページ内にお
いて前記プラットフォーム独立型のグラフィカルユーザ
インターフェイスのウィジェットを分割する過程とを有
することを特徴とする方法。 - 【請求項10】 前記(a)過程は、表示画面サイズ、あ
るいはユーザ入力メカニズムのうちの少なくとも1つを
有しているユーザインターフェイス能力を判断すること
を特徴とする請求項9に記載の方法。 - 【請求項11】 前記(b)過程は、前記プラットフォー
ム独立型のプレゼンテーションモデルにおける前記ノー
ドの階層的な位置関数、及び前記ノード用に特定される
優先順位のプロパティの関数として、前記ノードを選択
することを特徴とする請求項9に記載の方法。 - 【請求項12】 前記ページが前記表示画面に適合しな
いとき、前記(c)過程は、前記ページ内において前記プ
ラットフォーム独立型のグラフィカルユーザインターフ
ェイスのウィジェットを再配置することを特徴とする請
求項9に記載の方法。 - 【請求項13】 前記(d)過程は、前記ページのサイズ
を算出し、そして前記表示画面のサイズと前記算出され
たページサイズを比較することを特徴とする請求項9に
記載の方法。 - 【請求項14】 前記プラットフォーム独立型のグラフ
ィカルユーザインターフェイスのウィジェットが分割可
能であると特定された後、前記(d)過程は、前記プラッ
トフォーム独立型のグラフィカルユーザインターフェイ
スのウィジェットを分割することを特徴とする請求項9
に記載の方法。 - 【請求項15】 複数のページ間において、前記(d)過
程は、前記分割可能なプラットフォーム独立型のグラフ
ィカルユーザインターフェイスのウィジェットに相当す
る、複数のプラットフォーム特定型のグラフィカルユー
ザインターフェイスのウィジェットを分配することを特
徴とする請求項9に記載の方法。 - 【請求項16】 異種装置プラットフォーム間をマイグ
レーション可能なグラフィカルユーザインターフェイス
アプリケーションのレイアウトをカスタマイズする方法
において、(a)第1ページに配置するため、グラフィカ
ルユーザインターフェイスアプリケーションのプラット
フォーム独立型のプレゼンテーションモデルに含まれ、
かつ拡張可能なグラフィカルユーザインターフェイスコ
ンポーネント複合と関連しているノードを処理する過程
と、(b)前記第1ページのサイズと異種装置プラットフ
ォームの表示画面のサイズを比較する過程と、(c)前記
第1ページが大きすぎて前記表示画面に適合しないと
き、前記拡張可能なグラフィカルユーザインターフェイ
スコンポーネント複合を少なくとも2つの拡張可能なグ
ラフィカルユーザインターフェイスコンポーネントに分
割する過程と、(d)前記第1ページと少なくとも第2ペ
ージの間に、前記拡張可能なグラフィカルユーザインタ
ーフェイスコンポーネントを分配する過程とを有するこ
とを特徴とする方法。 - 【請求項17】 前記(a)過程は、前記第1ページ上に
位置していることを示し、かつ前記拡張可能なグラフィ
カルユーザインターフェイスコンポーネント複合と関連
しているプロパティを適用することを特徴とする請求項
16に記載の方法。 - 【請求項18】 前記(b)過程は、前記第1ページが大
きすぎて前記表示画面に適合しないとき、前記拡張可能
なグラフィカルユーザインターフェイスコンポーネント
複合を再配置再配置することを特徴とする請求項16に
記載の方法。 - 【請求項19】 前記(b)過程は、前記表示画面のサイ
ズを含むグラフィカルユーザインターフェイスの能力を
判断するために、前記異種装置プラットフォームを調べ
ることを特徴とする請求項16に記載の方法。 - 【請求項20】 前記(c)過程は、前記拡張可能なグラ
フィカルユーザインターフェイスコンポーネント複合用
に特定された分割プロパティの関数として、分割を始め
ることを特徴とする請求項16に記載の方法。 - 【請求項21】 前記(d)過程は、前記拡張可能なグラ
フィカルユーザインターフェイスコンポーネント複合に
関連している優先順位プロパティの関数として、ページ
内に前記拡張可能なグラフィカルユーザインターフェイ
スコンポーネント複合を分配することを特徴とする請求
項16に記載の方法。 - 【請求項22】 前記(c)過程は、プラットフォーム特
定型のプレゼンテーションを生成するために前記プラッ
トフォーム独立型のプレゼンテーションモデルを変更
し、さらに前記プラットフォーム特定型のプレゼンテー
ションを前記異種装置プラットフォームへ送信する(e)
過程を更に有することを特徴とする請求項16に記載の
方法。 - 【請求項23】 異種装置プラットフォーム間をマイグ
レーション可能なグラフィカルユーザインターフェイス
アプリケーションのレイアウトをカスタマイズするシス
テムにおいて、 拡張可能なグラフィカルユーザインターフェイスコンポ
ーネント複合を有するノードを含むプラットフォーム独
立型のプレゼンテーションモデルで、第1ページを生成
するサーバと、 前記第1ページのサイズとターゲット異種装置プラット
フォームにある表示画面のサイズとを比較するサーバと
通信を行っているターゲット異種装置プラットフォーム
を有し、 前記サーバは、前記第1ページが大きすぎて前記表示画
面に適合しないとき、前記拡張可能なグラフィカルユー
ザインターフェイスコンポーネント複合を少なくとも2
つの拡張可能なグラフィカルユーザインターフェイスコ
ンポーネントに分割するように動作し、また前記拡張可
能なグラフィカルユーザインターフェイスコンポーネン
トは、プラットフォーム特定型のプレゼンテーションを
生成するため、前記第1ページ及び少なくとも第2ペー
ジ上に配置されることを特徴とするシステム。 - 【請求項24】 前記プラットフォーム独立型のプレゼ
ンテーションモデルで生成された前記第1ページは、い
かなる複数のターゲット異種装置プラットフォームの予
想可能な最大の表示画面に適合されるように調整される
ことを特徴とする請求項23に記載のシステム。 - 【請求項25】 前記サーバは、各々のノードに含まれ
ている詳細なレイアウトプロパティの関数として、前記
第1ページ内に前記拡張可能なグラフィカルユーザイン
ターフェイスコンポーネント複合を配置するように動作
することを特徴とする請求項23に記載のシステム。 - 【請求項26】 前記サーバは、前記拡張可能なグラフ
ィカルユーザインターフェイスコンポーネント複合が分
割可能であることを確認する前に、最初に分割可能なプ
ロパティを確認するように動作することを特徴とする請
求項23に記載のシステム。 - 【請求項27】 前記サーバは拡張可能なグラフィカル
ユーザインターフェイスのライブラリと変換マネージャ
モジュールを有し、そして前記変換マネージャモジュー
ルは、前記拡張可能なグラフィカルユーザインターフェ
イスのライブラリと連動して、前記プラットフォーム独
立型のプレゼンテーションモデルから、複数の異種装置
プラットフォーム用の前記プラットフォーム特定型のプ
レゼンテーションを生成することを特徴とする請求項2
3に記載のシステム。 - 【請求項28】 前記変換マネージャモジュールはフロ
ーレイアウトマネージャを有し、そして前記フローレイ
アウトマネージャは、前記表示画面に適合させるために
前記拡張可能なグラフィカルユーザインターフェイスコ
ンポーネントを配置するように動作することを特徴とす
る請求項23に記載のシステム。 - 【請求項29】 前記サーバは、前記プラットフォーム
独立型のプレゼンテーションモデルのコピーを生成し、
そして前記プラットフォーム独立型のプレゼンテーショ
ンモデルの前記コピーを変更することにより、前記プラ
ットフォーム特定型のプレゼンテーションを生成するこ
とを特徴とする請求項23に記載のシステム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37871302P | 2002-05-08 | 2002-05-08 | |
US60/378713 | 2002-05-08 | ||
US10/271,302 US7895522B2 (en) | 2001-09-28 | 2002-10-15 | Layout of platform specific graphical user interface widgets migrated between heterogeneous device platforms |
US10/271302 | 2002-10-15 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003330715A true JP2003330715A (ja) | 2003-11-21 |
JP2003330715A5 JP2003330715A5 (ja) | 2006-06-08 |
JP4381709B2 JP4381709B2 (ja) | 2009-12-09 |
Family
ID=29714923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003092813A Expired - Lifetime JP4381709B2 (ja) | 2002-05-08 | 2003-03-28 | サーバ |
Country Status (2)
Country | Link |
---|---|
US (1) | US7895522B2 (ja) |
JP (1) | JP4381709B2 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005346719A (ja) * | 2004-06-03 | 2005-12-15 | Microsoft Corp | 完全な柔軟性を有する自動化に基づくユーザインターフェースを生成する方法および装置 |
JP2008047120A (ja) * | 2006-08-10 | 2008-02-28 | Toshiba Corp | ワークフロー・ユーザ・インターフェイスをカスタム化するシステムおよび方法 |
JP2008135036A (ja) * | 2006-11-28 | 2008-06-12 | Samsung Electronics Co Ltd | レンダリング装置及び方法 |
JP2010531479A (ja) * | 2007-05-03 | 2010-09-24 | 3ディーラブス インク., エルティーディー. | 携帯機器のユーザインターフェースを離れた場所から構成する方法 |
JP2013524381A (ja) * | 2010-04-15 | 2013-06-17 | マイクロソフト コーポレーション | プラットフォーム非依存プレゼンテーションの構成 |
JP2013235438A (ja) * | 2012-05-09 | 2013-11-21 | Hitachi Solutions East Japan Ltd | 画面変換システム |
JP2015049661A (ja) * | 2013-08-30 | 2015-03-16 | Kddi株式会社 | 操作性評価尺度に基づくgui変換プログラム、装置及びgui変換方法 |
US9146779B2 (en) | 2011-03-31 | 2015-09-29 | Fujitsu Limited | System and method for migrating an application |
US9258514B2 (en) | 2005-08-30 | 2016-02-09 | Samsung Electronics Co., Ltd. | User interface method, system, and device in multitasking environment |
US10552181B2 (en) | 2016-12-30 | 2020-02-04 | Dropbox, Inc. | User interface extender |
Families Citing this family (112)
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 |
CA2388101A1 (en) * | 2002-02-01 | 2003-08-01 | Concepts Egeria Inc. | Conceptual user interface |
US8136088B2 (en) * | 2002-06-24 | 2012-03-13 | National Instruments Corporation | Task based polymorphic graphical program function nodes |
US20080313282A1 (en) | 2002-09-10 | 2008-12-18 | Warila Bruce W | User interface, operating system and architecture |
US7681112B1 (en) | 2003-05-30 | 2010-03-16 | Adobe Systems Incorporated | Embedded reuse meta information |
JP2007501995A (ja) * | 2003-08-07 | 2007-02-01 | ペリコン リミテッド | より均一なエレクトロルミネッセンスディスプレイ |
US20050125787A1 (en) * | 2003-12-05 | 2005-06-09 | Leonid Tertitski | Convertible runtime graphical user interface |
US20050172235A1 (en) * | 2004-02-02 | 2005-08-04 | International Business Machines Corporation | System and method for excluded elements mapping in a user interface |
US7516414B2 (en) * | 2004-02-02 | 2009-04-07 | International Business Machines Corporation | System and method for tab order mapping of user interfaces |
US7315988B2 (en) | 2004-02-02 | 2008-01-01 | International Business Machines Corporation | System and method for using short captions to map user interfaces |
EP1711891B1 (en) * | 2004-02-03 | 2010-12-15 | Corizon Limited | Method and apparatus for composite user interface creation |
US20050235293A1 (en) * | 2004-04-14 | 2005-10-20 | Microsoft Corporation | Methods and systems for framework layout editing operations |
US7636922B2 (en) * | 2004-05-03 | 2009-12-22 | Microsoft Corporation | Generic user interface command architecture |
US8068103B2 (en) * | 2004-06-24 | 2011-11-29 | Apple Inc. | User-interface design |
US8453065B2 (en) * | 2004-06-25 | 2013-05-28 | Apple Inc. | Preview and installation of user interface elements in a display environment |
US8302020B2 (en) * | 2004-06-25 | 2012-10-30 | Apple Inc. | Widget authoring and editing environment |
US7490295B2 (en) * | 2004-06-25 | 2009-02-10 | Apple Inc. | Layer for accessing user interface elements |
US8566732B2 (en) | 2004-06-25 | 2013-10-22 | Apple Inc. | Synchronization of widgets and dashboards |
DK1691278T3 (da) * | 2005-02-11 | 2008-07-28 | Sap Ag | Fremgangsmåde og system til redigering af dokumenter |
US8543931B2 (en) | 2005-06-07 | 2013-09-24 | Apple Inc. | Preview including theme based installation of user interface elements in a display environment |
US20070006095A1 (en) * | 2005-07-01 | 2007-01-04 | Liangkui Feng | Auto layout of user interface elements in a window |
US7907966B1 (en) * | 2005-07-19 | 2011-03-15 | Aol Inc. | System and method for cross-platform applications on a wireless phone |
US20070078925A1 (en) * | 2005-09-27 | 2007-04-05 | Research In Motion Limited | Porting an interface defining document between mobile device platforms |
US8543824B2 (en) | 2005-10-27 | 2013-09-24 | Apple Inc. | Safe distribution and use of content |
US7752556B2 (en) | 2005-10-27 | 2010-07-06 | Apple Inc. | Workflow widgets |
US9104294B2 (en) | 2005-10-27 | 2015-08-11 | Apple Inc. | Linked widgets |
US7743336B2 (en) * | 2005-10-27 | 2010-06-22 | Apple Inc. | Widget security |
US20070101279A1 (en) * | 2005-10-27 | 2007-05-03 | Chaudhri Imran A | Selection of user interface elements for unified display in a display environment |
US7954064B2 (en) * | 2005-10-27 | 2011-05-31 | Apple Inc. | Multiple dashboards |
US7707514B2 (en) * | 2005-11-18 | 2010-04-27 | Apple Inc. | Management of user interface elements in a display environment |
US20070162850A1 (en) * | 2006-01-06 | 2007-07-12 | Darin Adler | Sports-related widgets |
US8166390B2 (en) * | 2006-02-15 | 2012-04-24 | Microsoft Corporation | Figure sizing and positioning on dynamic pages |
US20070220035A1 (en) * | 2006-03-17 | 2007-09-20 | Filip Misovski | Generating user interface using metadata |
US8307307B2 (en) | 2006-05-25 | 2012-11-06 | Research In Motion Limited | Method for prompting user confirmation |
US20080034309A1 (en) * | 2006-08-01 | 2008-02-07 | Louch John O | Multimedia center including widgets |
US8869027B2 (en) | 2006-08-04 | 2014-10-21 | Apple Inc. | Management and generation of dashboards |
US20080071883A1 (en) * | 2006-09-20 | 2008-03-20 | Eric Alterman | Method and Apparatus for Proliferating Adoption of Web Components |
US8214345B2 (en) * | 2006-10-05 | 2012-07-03 | International Business Machines Corporation | Custom constraints for faceted exploration |
US7788273B2 (en) * | 2006-12-06 | 2010-08-31 | International Business Machines Corporation | User interface for faceted exploration |
US20080168368A1 (en) * | 2007-01-07 | 2008-07-10 | Louch John O | Dashboards, Widgets and Devices |
US20080168382A1 (en) * | 2007-01-07 | 2008-07-10 | Louch John O | Dashboards, Widgets and Devices |
US20080168367A1 (en) * | 2007-01-07 | 2008-07-10 | Chaudhri Imran A | Dashboards, Widgets and Devices |
US8072467B2 (en) * | 2007-01-31 | 2011-12-06 | Microsoft Corporation | Request-driven on-demand processing |
US20080282205A1 (en) * | 2007-02-06 | 2008-11-13 | Access Systems Americas, Inc. | Unified launcher user interface system and method for integrating multiple disparate environments on an electronic device |
US20080320383A1 (en) * | 2007-06-25 | 2008-12-25 | Microsoft Corporation | Presentation of numerous and arbitrarily sized figures within a document |
US20090005071A1 (en) * | 2007-06-28 | 2009-01-01 | Apple Inc. | Event Triggered Content Presentation |
US8635537B1 (en) * | 2007-06-29 | 2014-01-21 | Amazon Technologies, Inc. | Multi-level architecture for image display |
US8954871B2 (en) | 2007-07-18 | 2015-02-10 | Apple Inc. | User-centric widgets and dashboards |
US20090021486A1 (en) * | 2007-07-19 | 2009-01-22 | Apple Inc. | Dashboard Surfaces |
US8667415B2 (en) | 2007-08-06 | 2014-03-04 | Apple Inc. | Web widgets |
TW200907813A (en) * | 2007-08-10 | 2009-02-16 | Asustek Comp Inc | Method for operating computer and operating system thereof |
US8156467B2 (en) * | 2007-08-27 | 2012-04-10 | Adobe Systems Incorporated | Reusing components in a running application |
US8782555B2 (en) | 2007-08-30 | 2014-07-15 | Microsoft Corporation | Nested user interfaces for multiple displays |
US10176272B2 (en) * | 2007-09-28 | 2019-01-08 | Excalibur Ip, Llc | System and method of automatically sizing and adapting a widget to available space |
US8176466B2 (en) | 2007-10-01 | 2012-05-08 | Adobe Systems Incorporated | System and method for generating an application fragment |
US8943425B2 (en) * | 2007-10-30 | 2015-01-27 | Google Technology Holdings LLC | Method and apparatus for context-aware delivery of informational content on ambient displays |
US9619304B2 (en) | 2008-02-05 | 2017-04-11 | Adobe Systems Incorporated | Automatic connections between application components |
US7814054B2 (en) * | 2008-04-03 | 2010-10-12 | Laurion James E | System and method for providing common operators across multiple applications |
US20140040862A1 (en) * | 2008-04-03 | 2014-02-06 | Adobe Systems Incorporated | Copying Reusable Components from a Remote Source |
US8656293B1 (en) | 2008-07-29 | 2014-02-18 | Adobe Systems Incorporated | Configuring mobile devices |
US9495471B2 (en) * | 2008-12-04 | 2016-11-15 | International Business Machines Corporation | Optimize view elements sizes to maximize most data viewed in a multiple view elements GUI |
US20100251150A1 (en) * | 2009-03-25 | 2010-09-30 | Honeywell International Inc. | System for defining a user interface of a remote display device |
US8375402B2 (en) * | 2009-03-25 | 2013-02-12 | Honeywell International Inc. | Mechanism for interfacing a display screen of another technology with a computing platform |
US8997053B2 (en) * | 2010-01-14 | 2015-03-31 | Worksoft, Inc. | System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies |
JP5056875B2 (ja) * | 2010-03-17 | 2012-10-24 | ブラザー工業株式会社 | 印刷制御装置,プログラム,および印刷設定画面の表示方法 |
CN101882082B (zh) * | 2010-06-23 | 2015-08-12 | 中兴通讯股份有限公司 | 一种Java编辑框本地化的方法和装置 |
KR101743244B1 (ko) * | 2010-07-16 | 2017-06-02 | 삼성전자주식회사 | 메뉴 표시 방법 및 장치 |
KR101660746B1 (ko) * | 2010-08-24 | 2016-10-10 | 엘지전자 주식회사 | 이동 단말기 및 이것의 애플리케이션 지시자 설정 방법 |
US8972873B2 (en) * | 2010-11-30 | 2015-03-03 | International Business Machines Corporation | Multi-environment widget assembly, generation, and operation |
US8694900B2 (en) | 2010-12-13 | 2014-04-08 | Microsoft Corporation | Static definition of unknown visual layout positions |
US8766936B2 (en) | 2011-03-25 | 2014-07-01 | Honeywell International Inc. | Touch screen and method for providing stable touches |
US9946429B2 (en) | 2011-06-17 | 2018-04-17 | Microsoft Technology Licensing, Llc | Hierarchical, zoomable presentations of media sets |
US9230223B2 (en) * | 2011-12-05 | 2016-01-05 | Houzz, Inc. | Consistent presentation of content and passive relevance determination of content relationship in an on-line commerce system |
US10789412B2 (en) * | 2012-02-20 | 2020-09-29 | Wix.Com Ltd. | System and method for extended dynamic layout |
US9310888B2 (en) | 2012-03-16 | 2016-04-12 | Microsoft Technology Licensing, Llc | Multimodal layout and rendering |
US9733707B2 (en) | 2012-03-22 | 2017-08-15 | Honeywell International Inc. | Touch screen display user interface and method for improving touch interface utility on the same employing a rules-based masking system |
CN103365641B (zh) * | 2012-03-31 | 2016-05-11 | 国际商业机器公司 | 一种gui开发工具的设计方法和系统 |
US9342618B2 (en) * | 2012-06-04 | 2016-05-17 | Sap Se | Web application compositon and modification editor |
US9411783B2 (en) | 2012-07-12 | 2016-08-09 | Adobe Systems Incorporated | Method and apparatus for selective synchronization of a display layout |
US9423871B2 (en) | 2012-08-07 | 2016-08-23 | Honeywell International Inc. | System and method for reducing the effects of inadvertent touch on a touch screen controller |
US20140075377A1 (en) * | 2012-09-10 | 2014-03-13 | Samsung Electronics Co. Ltd. | Method for connecting mobile terminal and external display and apparatus implementing the same |
EP2706740B1 (en) * | 2012-09-10 | 2018-05-16 | Samsung Electronics Co., Ltd | Method for connecting mobile terminal and external display and apparatus implementing the same |
US9128580B2 (en) | 2012-12-07 | 2015-09-08 | Honeywell International Inc. | System and method for interacting with a touch screen interface utilizing an intelligent stencil mask |
KR101822463B1 (ko) * | 2013-01-21 | 2018-01-26 | 삼성전자주식회사 | 복수 개의 아이콘들을 화면상에 배치하는 장치 및 이의 운용 방법 |
US9507480B1 (en) * | 2013-01-28 | 2016-11-29 | Amazon Technologies, Inc. | Interface optimization application |
US9792014B2 (en) | 2013-03-15 | 2017-10-17 | Microsoft Technology Licensing, Llc | In-place contextual menu for handling actions for a listing of items |
US8671352B1 (en) | 2013-05-07 | 2014-03-11 | Axure Software Solutions, Inc. | Variable dimension version editing for graphical designs |
US9389759B2 (en) * | 2013-05-07 | 2016-07-12 | Axure Software Solutions, Inc. | Environment for responsive graphical designs |
US9946806B2 (en) | 2013-05-07 | 2018-04-17 | Axure Software Solutions, Inc. | Exporting responsive designs from a graphical design tool |
US10135910B2 (en) | 2013-09-26 | 2018-11-20 | International Business Machines Corporation | Cross-platform document presentation |
US9898255B2 (en) | 2013-11-13 | 2018-02-20 | Sap Se | Grid designer for multiple contexts |
US9886175B1 (en) * | 2013-12-18 | 2018-02-06 | EMC IP Holding Company LLC | Adaptive and special user interface modes |
US9986242B2 (en) * | 2014-01-28 | 2018-05-29 | Vmware, Inc. | Enhanced image encoding in a virtual desktop infrastructure environment |
US20150227265A1 (en) * | 2014-02-10 | 2015-08-13 | Packsize Llc | Generating and implementing a customizable user interface |
US10949075B2 (en) * | 2014-11-06 | 2021-03-16 | Microsoft Technology Licensing, Llc | Application command control for small screen display |
US20160132317A1 (en) * | 2014-11-06 | 2016-05-12 | Intertrust Technologies Corporation | Secure Application Distribution Systems and Methods |
US20160132992A1 (en) | 2014-11-06 | 2016-05-12 | Microsoft Technology Licensing, Llc | User interface scaling for devices based on display size |
IN2015CH01317A (ja) * | 2015-03-18 | 2015-04-10 | Wipro Ltd | |
US10372285B2 (en) | 2015-04-14 | 2019-08-06 | Ebay Inc. | Standardizing user interface elements |
US9996365B2 (en) | 2015-05-12 | 2018-06-12 | International Business Machines Corporation | Mirroring application GUI layout to operating system GUI layout |
US10990258B2 (en) * | 2015-08-04 | 2021-04-27 | Google Llc | Interactively presenting a visible portion of a rendering surface on a user device |
CN106547528B (zh) * | 2015-09-22 | 2020-07-14 | 腾讯科技(深圳)有限公司 | 一种界面布局方法以及装置 |
US10643023B2 (en) * | 2015-09-25 | 2020-05-05 | Oath, Inc. | Programmatic native rendering of structured content |
US20180181555A1 (en) * | 2016-12-27 | 2018-06-28 | Ohio State Innovation Foundation | Rewriting forms for constrained interaction |
BR112019026121A2 (pt) * | 2017-06-16 | 2020-07-07 | Microsoft Technology Licensing, Llc | geração de interface com o usuário baseada em regras |
US11157259B1 (en) | 2017-12-22 | 2021-10-26 | Intuit Inc. | Semantic and standard user interface (UI) interoperability in dynamically generated cross-platform applications |
US11138518B1 (en) * | 2018-01-31 | 2021-10-05 | Intuit Inc. | Right for me deployment and customization of applications with customized widgets |
US10664245B2 (en) * | 2018-02-01 | 2020-05-26 | Ricoh Company, Ltd. | Guided web-application generation |
US10592589B1 (en) | 2018-08-21 | 2020-03-17 | Axure Software Solutions, Inc. | Multi-view masters for graphical designs |
US10776083B2 (en) * | 2018-09-21 | 2020-09-15 | Salesforce.Com, Inc. | Application builder with connected components |
US10996948B2 (en) | 2018-11-12 | 2021-05-04 | Bank Of America Corporation | Software code mining system for assimilating legacy system functionalities |
CN110162367B (zh) * | 2019-05-10 | 2020-11-24 | 上海莉莉丝科技股份有限公司 | 用户界面自适应配置的方法、系统、设备和介质 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05324232A (ja) | 1992-05-20 | 1993-12-07 | N T T Data Tsushin Kk | 共有オブジェクトの視覚的入出力処理方法 |
JP2947704B2 (ja) | 1994-03-04 | 1999-09-13 | 株式会社ピーエフユー | 表示画面の作成方法および表示画面作成装置 |
US5583983A (en) * | 1994-11-17 | 1996-12-10 | Objectware, Inc. | Multi-platform object-oriented software development and deployment system |
JP3492014B2 (ja) | 1995-03-27 | 2004-02-03 | 株式会社東芝 | データ入出力方法及び計算機装置 |
US6037939A (en) * | 1995-09-27 | 2000-03-14 | Sharp Kabushiki Kaisha | Method for enabling interactive manipulation of data retained in computer system, and a computer system for implementing the method |
JP3544422B2 (ja) * | 1996-03-04 | 2004-07-21 | 日本電気株式会社 | 記事配置装置 |
JPH1091412A (ja) * | 1996-07-25 | 1998-04-10 | Toshiba Corp | 表示部品選択装置及び表示部品選択方法 |
US5895477A (en) * | 1996-09-09 | 1999-04-20 | Design Intelligence, Inc. | Design engine for automatic layout of content |
US5999948A (en) * | 1997-09-03 | 1999-12-07 | 3Com Corporation | Dynamic configuration forms in network management software |
US6310601B1 (en) | 1998-05-12 | 2001-10-30 | International Business Machines Corporation | Resizing images to improve network throughput |
US6097382A (en) | 1998-05-12 | 2000-08-01 | Silverstream Software, Inc. | Method and apparatus for building an application interface |
JP3202968B2 (ja) | 1998-06-30 | 2001-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 表示制御情報生成方法及びコンピュータ |
US6285366B1 (en) | 1998-06-30 | 2001-09-04 | Sun Microsystems, Inc. | Hierarchy navigation system |
US6317143B1 (en) | 1999-01-26 | 2001-11-13 | Gateway, Inc. | Programmable graphical user interface control system and method |
US7117446B2 (en) | 1999-02-01 | 2006-10-03 | Sonic Solutions, Inc. | User interface method and system for application programs implemented with component architectures |
US6650347B1 (en) | 1999-02-24 | 2003-11-18 | Cisco Technology, Inc. | Heirarchical GUI representation for web based network management applications |
US6429882B1 (en) | 1999-03-15 | 2002-08-06 | Sun Microsystems, Inc. | User interface component |
US6636250B1 (en) | 2000-04-12 | 2003-10-21 | Emc Corp | Methods and apparatus for presenting information to a user of a computer system |
US6353448B1 (en) * | 2000-05-16 | 2002-03-05 | Ez Online Network, Inc. | Graphic user interface display method |
US7596791B2 (en) | 2000-12-19 | 2009-09-29 | Emc Corporation | Methods and techniques for delivering rich Java applications over thin-wire connections with high performance and scalability |
US20030046316A1 (en) * | 2001-04-18 | 2003-03-06 | Jaroslav Gergic | Systems and methods for providing conversational computing via javaserver pages and javabeans |
-
2002
- 2002-10-15 US US10/271,302 patent/US7895522B2/en active Active
-
2003
- 2003-03-28 JP JP2003092813A patent/JP4381709B2/ja not_active Expired - Lifetime
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005346719A (ja) * | 2004-06-03 | 2005-12-15 | Microsoft Corp | 完全な柔軟性を有する自動化に基づくユーザインターフェースを生成する方法および装置 |
US9258514B2 (en) | 2005-08-30 | 2016-02-09 | Samsung Electronics Co., Ltd. | User interface method, system, and device in multitasking environment |
US11363337B2 (en) | 2005-08-30 | 2022-06-14 | Samsung Electronics Co., Ltd. | User interface method, system, and device in multitasking environment |
US10455182B2 (en) | 2005-08-30 | 2019-10-22 | Samsung Electronics Co., Ltd. | User interface method, system, and device in multitasking environment |
JP2008047120A (ja) * | 2006-08-10 | 2008-02-28 | Toshiba Corp | ワークフロー・ユーザ・インターフェイスをカスタム化するシステムおよび方法 |
JP2008135036A (ja) * | 2006-11-28 | 2008-06-12 | Samsung Electronics Co Ltd | レンダリング装置及び方法 |
JP2013225326A (ja) * | 2006-11-28 | 2013-10-31 | Samsung Electronics Co Ltd | レンダリング装置及び方法 |
US8581934B2 (en) | 2006-11-28 | 2013-11-12 | Samsung Electronics Co., Ltd. | Rendering apparatus and method |
JP2010531479A (ja) * | 2007-05-03 | 2010-09-24 | 3ディーラブス インク., エルティーディー. | 携帯機器のユーザインターフェースを離れた場所から構成する方法 |
US9513882B2 (en) | 2010-04-15 | 2016-12-06 | Microsoft Technology Licensing, Llc | Platform independent presentation composition |
JP2013524381A (ja) * | 2010-04-15 | 2013-06-17 | マイクロソフト コーポレーション | プラットフォーム非依存プレゼンテーションの構成 |
US9146779B2 (en) | 2011-03-31 | 2015-09-29 | Fujitsu Limited | System and method for migrating an application |
JP2013235438A (ja) * | 2012-05-09 | 2013-11-21 | Hitachi Solutions East Japan Ltd | 画面変換システム |
JP2015049661A (ja) * | 2013-08-30 | 2015-03-16 | Kddi株式会社 | 操作性評価尺度に基づくgui変換プログラム、装置及びgui変換方法 |
US10552181B2 (en) | 2016-12-30 | 2020-02-04 | Dropbox, Inc. | User interface extender |
Also Published As
Publication number | Publication date |
---|---|
US20030067489A1 (en) | 2003-04-10 |
JP4381709B2 (ja) | 2009-12-09 |
US7895522B2 (en) | 2011-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4381709B2 (ja) | サーバ | |
JP4381708B2 (ja) | グラフィカルユーザインターフェイスシステム | |
JP2003330713A (ja) | 異種装置プラットフォーム間を移動するプラットフォーム特定型のグラフィカルユーザインターフェイスのウィジェットの変換 | |
US7234111B2 (en) | Dynamic adaptation of GUI presentations to heterogeneous device platforms | |
JP2003186665A (ja) | 拡張性のあるグラフィカルユーザインターフェイスアーキテクチャ | |
US7017118B1 (en) | Method and apparatus for reordering data items | |
Florins et al. | Graceful degradation of user interfaces as a design method for multiplatform systems | |
US5625783A (en) | Automated system and method for dynamic menu construction in a graphical user interface | |
USRE43438E1 (en) | Extensible, replaceable network component system | |
Paterno' et al. | MARIA: A universal, declarative, multiple abstraction-level language for service-oriented applications in ubiquitous environments | |
US6344855B1 (en) | Encapsulated network entity reference of a network component system for integrating object oriented software components | |
US5781189A (en) | Embedding internet browser/buttons within components of a network component system | |
US5862395A (en) | Customizable user interfaces for programmed computer systems | |
US5724506A (en) | Replaceable and extensible connection dialog component of a network component system | |
US6836878B1 (en) | Visual programming from a tree structure | |
US5864850A (en) | Asynchronous-event opening component of a network component system | |
US5907843A (en) | Replaceable and extensible navigator component of a network component system | |
JP2001306308A (ja) | データ中心アプリケーションのクラス定義方法 | |
US20070016870A1 (en) | Control panel framework | |
JP2009070411A (ja) | 条件付きui制御及び画面ナビゲーションを有する対話型無線アプリケーションのためのシステム及び方法 | |
US6122675A (en) | Replaceable and extensible log component of a network component system | |
Wong et al. | GUI migration across heterogeneous Java profiles | |
Muller et al. | The use of multimethods and method combination in a CLOS based window interface | |
Francisco | Chu et al. | |
EP0912931A2 (en) | Program modules and parameter files in a network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20051130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060328 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060328 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060407 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090414 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090615 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090707 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090812 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090915 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090916 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4381709 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131002 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |