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
Application number
JP2003092813A
Other languages
English (en)
Other versions
JP4381709B2 (ja
JP2003330715A5 (ja
Inventor
Hoi Lee Candy Wong
リー キャンディー ウオング,ホイ
Hao-Hua Chu
チュー,ハオーファ
Masaji Katagiri
マサジ カタギリ
Yuu Songu
ソング,ユー
Shoji Kurakake
ショウジ クラカケ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Docomo Innovations Inc
Original Assignee
Docomo Communications Labs USA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Docomo Communications Labs USA Inc filed Critical Docomo Communications Labs USA Inc
Publication of JP2003330715A publication Critical patent/JP2003330715A/ja
Publication of JP2003330715A5 publication Critical patent/JP2003330715A5/ja
Application granted granted Critical
Publication of JP4381709B2 publication Critical patent/JP4381709B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer 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

(57)【要約】 【課題】 異種装置プラットフォームの表示画面のサイ
ズに適合させるプラットフォーム独立型のGUIウィジェ
ットを提供すること。 【解決手段】装置プラットフォーム独立型モデルは、少
なくとも1つのプラットフォーム独立型のGUIウィジェ
ットを有している。装置プラットフォーム独立型のモデ
ルを基に、プラットフォーム独立型のGUIウィジェット
に対応する、プラットフォーム特定型のGUIウィジェッ
トがページ上に配置され、そして異種装置プラットフォ
ームの表示画面のサイズと比較される。ページが表示画
面のサイズと適合しない場合は、プラットフォーム独立
型のGUIウィジェットは、ページ上において再び配置さ
れる。また、プラットフォーム独立型のGUIウィジェッ
トが分割可能な場合、表示画面サイズに適合させるた
め、プレゼンテーションの複数ページ内にわたって分割
される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、グラフィカルユー
ザインターフェイス(GUI)に関し、特に、異種装置プラ
ットフォーム間をマイグレーションするプラットフォー
ム特定型のGUIウィジェットの動的レイアウトに関す
る。
【0002】
【従来の技術】パソコン、個人情報端末(PDA)、無線電
話、そしてページャーなどの個人向けの電子装置(携帯
装置)が、ここ近年流行している。これらの携帯装置
は、無線や有線ネットワークを利用した通信を行なえる
ので、モバイルコンピューティングを可能にしている。
ネットワークは、これらの携帯装置に、情報ソースおよ
び他の類似の装置への接続を提供している。一般的に、
ネットワークはインターネット上での通信も含んでい
る。
【0003】モバイルコンピューティング装置は、ある
型のユーザインターフェイス(UI)を持っている。ある装
置のユーザインターフェイスの特性は、その装置の処理
能力とハードウェアによる。例えば無線電話には、限ら
れた処理能力、及び限られたグラフィックとユーザイン
ターフェイス能力しか有していない小さなグラフィカル
ユーザインターフェイス(GUI)しか与えられていな
い。逆に、ノートパソコンには、相対的に拡張性のある
グラフィック能力とユーザインターフェイス能力、そし
て処理能力が与えられている。携帯装置の人気が高まる
に連れて、アプリケーションのメインプラットフォーム
は、デスクトップ型パソコンから携帯装置へとシフトす
ると思われる。
【0004】
【発明が解決しようとする課題】携帯装置のアプリケー
ションの開発が困難な1つの理由は、携帯装置の異質性
である。多種多様なディスプレイのサイズ、解像度、コ
マンドの入力方法、そしてGUIライブラリがあるため、
アプリケーションの開発者は、各装置プラットフォーム
のグラフィカルユーザインターフェイス(GUI)用に、ア
プリケーションを再設計及び再実装する必要がある。た
くさんの異なる携帯装置が利用され、または市場に参入
しているので、再設計と再実装に、たくさんの労働力と
生産コストを要する努力が現在もなされている。
【0005】1つの解決策は、モデルベース技術による
開発である。1つの例が、ユーザインターフェイスモデ
リングである。一般的に、ユーザインターフェイスモデ
リングは、プラットフォームモデル、プレゼンテーショ
ンモデル、そしてタスクモデルを含む。プラットフォー
ムモデルでは、サポートされる装置用のユーザインター
フェイスを形成する操作機能が示される。プレゼンテー
ションモデルでは、サポートされる装置に関連したユー
ザインターフェイスの外観に関する階層、及び様式の選
択と配置が示される。タスクモデルでは、サポートされ
る装置のユーザが実行するタスクが示される。この技術
を使用することにより、特定の装置用のインターフェイ
スの生成のため、異なるモデル間におけるマッピングが
開発されると思われる。
【0006】モデルベース型アプローチの実装は、モデ
ルを実装するためのハイレベル言語の開発を含んでい
る。さらに開発者は、装置をサポートするためにモデル
の重要な部分を設定し、かつ特定する。ハイレベル言語
は非常に複雑なので、モデルベース型アプローチを実行
する前に、開発者は、実行メカニズムの知識とハイレベ
ル言語を共に学ぶ必要がある。さらにモデルベース型ア
プローチは、開発者が作った異なるモデルに基づくコー
ドを作成する。装置のユーザインターフェイス要求にお
いては小さな差異でも、2つの似たタイプの装置用に生
成されたコードにおいては大きな差異になることもあ
る。従って開発者に求められるプログラミング技能のレ
ベルは、とても重要になってくる。
【0007】
【課題を解決するための手段】本発明では、ノンモデル
ベース型の拡張性のあるグラフィカルユーザインターフ
ェイス(SGUI)システムを開示している。SGUIシステム
により、拡張性のあるアプリケーションは、複数の異種
装置プラットフォーム上において動作することが可能と
なる。拡張性のあるアプリケーションは、アプリケーシ
ョン・グラフィカルユーザインターフェイス(GUI)を
含んでもよい。アプリケーションGUIは、拡張性のある
アプリケーションが動作している異種装置プラットフォ
ームの中の1つのユーザインターフェイスで動くSGUIシ
ステムに適合していてもよい。アプリケーション開発者
は、モデルベース型のアプローチの複雑さを伴わない異
種装置プラットフォーム内において、ユーザインターフ
ェイス機能から独立している複数のアプリケーションGU
Iを設定してもよい。さらに異種装置プラットフォーム
に関連しているユーザインターフェイスとGUIライブラ
リの複雑さも、SGUIシステムを利用しているアプリケー
ション開発者により解消されることが可能になる。
【0008】SGUIシステムは、拡張性のあるGUIライブ
ラリ、カスタマイズモジュール、そしてレンダーマネー
ジャモジュールを有している。カスタマイズモジュール
は、タスクマネージャモジュールと変換マネージャモジ
ュールを有している。拡張性のあるアプリケーションが
起動、または異種装置プラットフォーム(ここでは、タ
ーゲット装置プラットフォーム)へ移ると、アプリケー
ションGUIの中間表現が、拡張性のあるアプリケーショ
ンによりインスタンス化される。その中間表現は、階層
的な構造において、少なくとも1つの論理パネルと、少
なくとも1つの拡張性のあるグラフィカルユーザインタ
ーフェイス(SGUI)コンポーネントの表示を含むことが
可能な装置プラットフォーム独立型の論理構造形式にお
けるプラットフォーム独立型のプレゼンテーションモデ
ルである。中間表現内におけるノードは、論理パネルを
表すコンテナノードと、SGUIコンポーネントを表すコン
ポーネントノードを含んでもよい。
【0009】中間表現は、アプリケーションGUIのアプ
リケーション開発者により特定されたプロパティ、及び
ターゲット装置プラットフォームの機能に基づいたカス
タマイズモジュールによりカスタマイズされたものであ
ってもよい。中間表現のカスタマイズにより、プラット
フォーム独立型のプレゼンテーションモデルは、プラッ
トフォームの特定表示を表している特定のプラットフォ
ーム依存型の論理構造へと変換する。
【0010】カスタマイズモジュールによるレイアウト
のカスタマイズは、装置プラットフォーム独立型モデル
に含まれている少なくとも1つのノード処理を含んでい
る。該ノードは、少なくとも1つのプラットフォーム独
立型のウィジェットに関連していてもよい。プラットフ
ォーム独立型のウィジェットは、SGUIコンポーネントや
SGUIコンポーネント複合であってもよい。ノードに関連
している各々のプラットフォーム独立型のウィジェット
は、ページに配置されている対応するプラットフォーム
特定型のウィジェットへマップされてもよい。ページの
サイズは、異種装置プラットフォームの表示画面と比較
されてもよい。ページにあるプラットフォーム特定型の
ウィジェットが、現在の表示画面より大きいページを作
成すると、SGUIコンポーネント複合である対応するプラ
ットフォーム独立型のウィジェットは、複数のSGUIコン
ポーネントに分割されてもよい。その結果分割されたSG
UIコンポーネントは、表示画面に適合するため、既存ペ
ージと新たに追加されたページ(少なくとも1ページ)間
において分割可能なプラットフォーム特定型のウィジェ
ットへマップしてもよい。
【0011】SGUIシステム関する魅力的な特徴は、カス
タマイズモジュールが利用可能なプラットフォーム独立
型のウィジェットに関連しているプロパティである。詳
細なレイアウトプロパティは、ページ内において対応す
るプラットフォーム特定型のウィジェットの相対的な位
置を示してもよい。SGUIコンポーネント複合の場合、同
コンポーネントが複数のページ間において分割可能な場
合に、分割可能なプロパティが、ページ内における対応
するプラットフォーム特定型のウィジェットの相対的な
位置を示してもよい。さらに、分割されたSGUIコンポー
ネントからのプラットフォーム特定型のウィジェット
が、複数のページ内にどのように分配されるかという事
を優先プロパティーが示してもよい。
【0012】またSGUIシステムに関する別の魅力的な特
徴は、非分割SGUIコンポーネント(例:分割可能なプロ
パティに指定された非分割SGUIコンポーネント)である
プラットフォーム独立型のウィジェットである。もし非
分割なSGUIコンポーネントであるプラットフォーム独立
型のウィジェットに対応するプラットフォーム特定型の
ウィジェットにより、ページサイズが表示画面のサイズ
を超えてしまったら、カスタマイズモジュールによる変
換ルールが、非分割SGUIコンポーネントに適用されても
よい。
【0013】またSGUIシステムに関する別の魅力的な特
徴は、フローマネージャの使用である。SGUIコンポーネ
ント複合が分割、あるいは変換したとき、フローマネー
ジャが、分割されたSGUIコンポーネントに対応するペー
ジ内に、プラットフォーム特定型のウィジェットをレイ
アウトするために使用されてもよい。
【0014】
【発明の実施の形態】本発明における他の特徴と利点
は、図面と以下の詳細な説明で明らかにされる。好まし
い実施形態の以上の説明は、ただの一例に過ぎず、本発
明の範囲を定義する特許請求の範囲を制限するものでは
ない。
【0015】本発明の好ましい実施形態において、異な
る複数の装置プラットフォーム上で動作することのでき
る拡張性のあるアプリケーションと共に使う拡張性のあ
るグラフィカルユーザインターフェイス(SGUI)アーキテ
クチャを説明する。拡張性のあるアプリケーションは、
異種装置プラットフォームに対応付けられた多種のユー
ザインターフェイスと共に動作するように、SGUIシステ
ムにより動的に適合されてもよい。SGUIシステムを使用
することにより、拡張性のあるアプリケーションを、そ
の拡張性のあるアプリケーションが動作することになる
異種装置プラットフォームから独立したユーザインター
フェイス機能を有するように設計できる。拡張性のある
アプリケーションの開発者は、SGUIシステムの使用をし
なければ、種々の異種装置プラットフォームへのユーザ
インターフェイスを作成する時に、多くの複雑なプログ
ラム作成が必要になるが、SGUIシステムを使用すると、
これらを避けることができる。さらに、SGUIシステム
は、モデルベース型の技術のようなモデル構造がなくて
も、異種装置プラットフォームで動作する。このような
わけで、アプリケーション開発者によるプログラミング
は比較的簡単であり、モデル構築、及び/またはモデル
操作技術は必要でない。
【0016】拡張性のあるアプリケーションには、異な
るプラットフォーム装置上で動作することのできるアプ
リケーションが含まれる。拡張性のあるアプリケーショ
ンのほとんどは、異種装置プラットフォームの表示画面
用のプレゼンテーションを生成する機能を有している。
プレゼンテーションは、視覚的な素材からなる1ページ
またはそれ以上のページ(またはプレゼンテーション単
位)を含んでもよい。視覚的な素材は、異種装置プラッ
トフォームのユーザのために、表示画面上に配置されて
もよい。拡張性のあるアプリケーションは、アプリケー
ションGUIでプレゼンテーションを生成してもよい。ア
プリケーションGUIは、拡張性のあるグラフィカル・ユ
ーザインターフェイス・アプリケーションのコンポーネ
ントである。
【0017】異種装置プラットフォームは、表示機能と
拡張性のあるアプリケーションを動作させる機能を兼ね
備えた装置であってもよい。典型的な異種装置プラット
フォームは、無線電話、ポケットPC、個人情報端末(PD
A)、ぺージャー、デスクトップコンピュータ、ノートブ
ックコンピュータ、車載コンピュータ、または拡張性の
あるアプリケーションを実行する機能のある表示画面を
兼ね備えた有線/無線装置を含んでもよい。また異種装
置プラットフォームは、例えばWindows NT(登録商
標)、Windows 2000(登録商標)、Linux(登録商
標)、Solaris(登録商標)、MacOS(登録商標)、Palm
(登録商標)、Windows CE(登録商標)、独自のオペレ
ーティングシステム、またはその他の装置に機能性を提
供するオペレーティングシステムを含んでもよい。オペ
レーティングシステムは、拡張性のあるアプリケーショ
ンを起動させたりサポートするための機能を提供しても
よい。
【0018】異種装置プラットフォームは、拡張性のあ
るアプリケーションを動作させたり、機能を提供するハ
ードウェアまたはソフトウェアを含んでいてもよい。例
えば、メモリのような記憶手段を含んでいてもよい。記
憶手段は、例えば、オペレーティングシステム、拡張性
のあるアプリケーション、および装置プラットフォーム
に関する他の情報を記憶してもよい。さらに、異種装置
プラットフォームは、ユーザインターフェイスを含んで
もよい。ユーザインターフェイスは、例えば、表示装
置、キーボード、マウスに似たポインティングデバイ
ス、タッチスクリーン、キーパッド、オーディオ機能、
または異種装置プラットフォームのユーザ用のインター
フェイスを提供する手段を含んでもよい。
【0019】異種装置プラットフォームの機能は、多岐
に異なっていてもよい。ここで言う機能とは、異種装置
プラットフォームと拡張性のあるアプリケーションの動
作に影響を与えるハードウェア的な特徴と装置機能のこ
とである。つまり、例えば、装置プラットフォームのタ
イプ(例:無線電話、PDA,ラップトップPC等)、利用可
能なユーザインターフェイスライブラリ、表示画面のサ
イズと解像度である。さらに、代表的な機能として、表
示画面に関するユーザインターフェイス、計算処理容
量、メモリのサイズ、プラットフォームの使用、または
装置プラットフォームのユーザインターフェイスと動作
に影響するその他のパラメータが挙げられる。
【0020】本発明の好ましい実施形態において、異種
装置プラットフォームは、Java(登録商標)の技術で作
られた拡張性のあるアプリケーションを実行する移動装
置である。Java(登録商標)の技術は、Java(登録商
標)VM(Virtual Machine;バーチャルマシン)上で動くJa
va(登録商標)プログラミング言語を有している。Java
(登録商標)VMは、多種に渡る装置プラットフォーム上
に移植されてもよい。典型的なJava(登録商標)技術の
実装は、ノートPCの装置プラットフォーム上で動くJava
(登録商標)VM、ポケットPCの装置プラットフォーム上
にあるパーソナルJava(登録商標)VM、無線電話の装置
プラットフォーム上で動くJava(登録商標)KVMであ
る。他の実施形態においては、他のプログラミング言語
/技術、および他の装置プラットフォームが、SGUIシス
テムで使用される。他のプログラミング言語/技術と
は、C言語、C++言語、マイクロソフトのCシャープ言
語、及び/または他の技術である。
【0021】SGUIシステムは、拡張性のあるアプリケー
ションに対応付けられたアプリケーションGUIの中間表
現をインスタンス化させる。中間表現と同様にアプリケ
ーションGUIは、非装置に特定したもの(例えば、装置
プラットフォームから独立しているもの)であるが、装
置プラットフォームと適合性がある方が好ましい。プラ
ットフォーム独立型のプレゼンテーションモデルにおけ
る中間表現のインスタンスの作成は、拡張性のあるアプ
リケーションのアプリケーションGUIに基づいてもよ
い。中間表現は、拡張性のあるアプリケーションにより
生成されるプレゼンテーション用の論理構造を提供して
もよい。この論理構造を、異種装置プラットフォーム用
にカスタマイズして、SGUIシステムによるプラットフォ
ーム特定型のプレゼンテーションを作成してもよい。カ
スタマイズは、プレゼンテーションを表示させる異種装
置プラットフォームの機能と、アプリケーションGUI内
で特定されたプロパティに基づいてもよい。SGUIシステ
ムによるカスタマイズは、装置プラットフォーム用のグ
ラフィカルユーザインターフェイスの開発において共通
な3つの問題を提起している。即ちそれらは、表示画面
サイズ、入力方法、及びユーザインターフェイスライブ
ラリである。
【0022】・表示画面サイズ 拡張性のあるアプリケーションは、複数の異種装置プラ
ットフォーム上で動作することができる。よって、拡張
性のあるアプリケーションを開発しているアプリケーシ
ョンプログラマは、表示画面用に特定なサイズを採り上
げる必要はない。例えば、ドコモ 503i無線電話は120
×130画素の表示画面を兼ね備え、コンパックのIPAQポ
ケットPCは320×240画素の表示画面を兼ね備え、典型的
なノートPCは、1024×768画素の表示画面を兼ね備えて
いる。表示画面のサイズは、表示画面上におけるプレゼ
ンテーションのページを形成しているコンポーネントの
レイアウトや、視覚的なプレゼンテーションの品質に影
響を及ぼすこともある。
【0023】ページを形成するコンポーネントを、グラ
フィカルユーザインターフェイス(GUI)コンポーネン
トと呼んでもよい。GUIコンポーネントは、表示画面の
状況に応じて、固定およびアニメ化が可能であり、及び
/またはインタラクティブであるプレゼンテーションの
表示機能である。GUIコンポーネントの典型例は、グラ
フィカルラベル、グラフィカルボタン、グラフィカルチ
ェックボックス、グラフィカルテキストフィールド、グ
ラフィカルテキストエリア、グラフィカルリスト/テー
ブル、グラフィカルバックグラウンド、データ入力フィ
ールド、プルダウンメニュー、及び/または表示画面上
に表示する機能を兼ね備えているものである。GUIコン
ポーネントは、固有の識別子と一緒にGUIライブラリに
保存されてもよい。この識別子により、例えば、既に述
べられているアプリケーションGUIは、GUIコンポーネン
トでプレゼンテーションを作る。
【0024】プレゼンテーションは、表示画面のサイズ
の関数として、複数ページに細かく分割されてもよい。
例えば、ノートブックPCのような相対的に大きな表示画
面は、大きなサイズ、及び/またはたくさんの量のGUIコ
ンポーネントを含んだ大きなページを表示することがで
きる。一方、例えば、無線電話のような小さな画面は、
かなりコンパクトなGUIコンポーネントを持った小さな
ページのみ表示することができる。さらに、小さなペー
ジは、表示画面上において、一度にほんの少しのGUIコ
ンポーネントしか表示できない。
【0025】SGUIシステムは、異種装置プラットフォー
ムの表示画面を最大限に埋めるために用いることもでき
る。中間表現を用いることにより、SGUIシステムは、ダ
イナミックなレイアウトとアプリケーションGUIのグラ
フィカルユーザインターフェイス(GUI)変換を提供で
きる。このようにアプリケーションGUIは、拡張性のあ
るアプリケーションが動いている異種装置プラットフォ
ームの表示画面に拡大縮小されてもよい。
【0026】・入力方法 異種装置プラットフォームは、また拡張性のあるアプリ
ケーションとアプリケーションGUIに対応付けられてい
る異なる入力方法を兼ね備えていてもよい。例えば入力
方法として、無線電話はキーパッド、ポケットPCは手書
き入力用のペン、ノートブックPCはキーボード、及び/
またはマウスのようなポインティングデバイスを利用す
る。従って、拡張性のあるアプリケーションのアプリケ
ーション開発者は、対応しているアプリケーションGUI
用特定の入力方法を採用しなくてもよい。
【0027】SGUIシステムは、異種装置プラットフォー
ムに対応できる装置プラットフォーム独立型のGUIイベ
ントを提供する。GUIイベントは、ページ上の視覚的な
素材内における状態の変化である。ユーザが、異種装置
プラットフォームのユーザインターフェイスと対話する
ことにより、GUIイベントを引き起こされることもあ
る。SGUIシステムにより、装置プラットフォーム特定の
GUIイベントを、装置プラットフォーム独立のGUIイベン
トに、動的に変換される。このように、SGUIシステムを
利用している拡張性のあるアプリケーションは、異種装
置プラットフォームのユーザインターフェイスと適合性
があり、かつ異種装置プラットフォームのユーザインタ
ーフェイスから独立しているGUIイベント機能を持つよ
うに設計される。
【0028】・ユーザインターフェイスライブラリ 異種装置プラットフォームは、また異なるアプリケーシ
ョンプログラムインターフェイス(API)をサポートし
てもよい。APIは、広範囲にわたる機能を提供する出来
合いのソフトウェアコンポーネントの集まりの1つであ
る。例えば、Java(登録商標)技術は、Java(登録商
標)プリケーションプログラムインターフェイス(AP
I)を持っている。Java(登録商標)(API)は、Java
(登録商標)型プログラム内で実装される標準的な機能
を提供するソフトウェアコンポーネントの集まりであ
る。
【0029】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をサ
ポートしてもよい。
【0030】APIは、異種装置プラットフォームによっ
て、異なるGUIライブラリをサポートしてもよい。例え
ば、PDAは、対応しているGUIライブラリ内において、よ
り多くのタッチスクリーン関連のGUIコンポーネントを
兼ね備えていてもよい。一方、例えば無線電話は、対応
しているGUIライブラリ内において、指示関連のGUIコン
ポーネントしか兼ね備えていてなくてもよい。既に知ら
れている通り、GUIライブラリは、プレゼンテーション
を作成するためにアクセス可能な既成のGUIコンポーネ
ントを編集したものである。
【0031】1つの実施形態のSGUIシステムは、異種装
置プラットフォームと適合性があり、かつその上でサポ
ートされる装置プラットフォーム独立型APIを提供す
る。装置プラットフォーム独立型のAPIは、異種装置プ
ラットフォームに対応付けられている異なるGUIライブ
ラリへ、ブリッジング(橋渡し)機能を提供する。した
がって、SGUIシステムを利用しているアプリケーション
開発者は、異種装置プラットフォーム用のプラットフォ
ーム特定型のGUIプレゼンテーションを開発するため、
異なるGUIライブラリに精通している必要はない。
【0032】SGUIシステムの典型的な動作例は、拡張性
のあるアプリケーションがある装置プラットフォームか
ら別の装置プラットフォームへマイグレーションするこ
とである。拡張性のあるアプリケーションのマイグレー
ションは、ソース(供給元)装置プラットフォームから
ターゲット装置プラットフォームへ、動作中の拡張性の
あるアプリケーションのインスタンスのマイグレーショ
ンを含んでいる。例えば、会社でマウスやキーボードを
使い、ラップトップPCで、Eメールに関連している拡張
性のあるアプリケーションを操作しているユーザを考え
てください。ここで仕事の完了前に、ユーザは会社を出
る必要がある。この時にユーザは、まだアクティブな拡
張性のあるアプリケーションを、ラップトップPC(ソー
ス(供給元)装置プラットフォーム)からPDA(ターゲッ
ト(目的)装置プラットフォーム)へと動かすことによ
り、Eメール作業機能を続行できる。ラップトップPCの
表示画面はPDAより大きいので、アプリケーションのプ
レゼンテーションは、SGUIシステムによりPDAの表示画
面に適合される。これに伴い、ラップトップPCのマウス
やキーボードで動いていたユーザインターフェイス機能
もまた、SGUIシステムにより、PDA上にあるタッチスク
リーンのユーザインターフェイス機能に適合されてもよ
い。SGUIシステムは、ソースおよびターゲット装置プラ
ットフォームから独立しているユーザインターフェイス
の拡張性のあるアプリケーションの移動性を提供する。
このように拡張性のあるアプリケーションは、SGUIシス
テムを使いながら動作する時にだけ必要であり、特に2
つの装置プラットフォーム上で動作する時に必要なわけ
ではない。
【0033】図1は、拡張性のあるグラフィカルユーザ
インターフェイス(SGUI)システム10のある実施形態の
ブロック図である。SGUIシステム10は、拡張性のある
GUIライブラリモジュール12、カスタマイズモジュー
ル14、そしてレンダーマネージャモジュール16を持
っている。図に描かれた実施形態は、本発明の理解を助
けるためのものであり、これらの装置は個々に独立した
ものではなく、同図より少ないまたは多い装置が、SGUI
システム10を説明している様々な実施形態で利用され
てもよい。
【0034】拡張性のあるGUIライブラリモジュール1
2は、拡張性のあるアプリケーションの開発中におい
て、アプリケーションの開発者が使用するツールであっ
てもよい。さらに、拡張性のあるGUIライブラリモジュ
ール12は、SGUIシステム10による中間表現と共に使
用するため、GUIコンポーネントのライブラリを提供し
てもよい。ある実施形態において、装置プラットフォー
ム独立型APIは、拡張性のあるアプリケーションの開発
中において使用されてもよい。また中間表現を作るた
め、装置プラットフォーム独立型APIは、装置プラット
フォーム独立型のアプリケーションGUI内に、アプリケ
ーション開発者により実装されてもよい。したがって、
装置プラットフォーム独立型のアプリケーションGUIを
使用して中間表現のインスタンス化には、拡張性のある
GUIライブラリモジュール12内において、装置プラッ
トフォーム独立型のAPIを実行することが含まれる。中
間表現のインスタンス化は、中間表現は装置プラットフ
ォーム独立型のプレゼンテーションモデルということを
表している図1において、「装置独立型中間表現」とな
っている。
【0035】一般的に、拡張性のあるGUIライブラリモ
ジュール12は、Java(登録商標)アブストラクト ウ
インドウ ツールキット(AWT)のようなGUIライブラリの
他のフォームに似ている。本発明の好ましい実施形態に
おいて、拡張性のあるGUIライブラリモジュール12
は、Java(登録商標)のアプリケーションGUIに似たス
タイルで作られている。従って、Java(登録商標)技術
に詳しいアプリケーションプログラマが、装置プラット
フォーム特定型APIを利用する現存の装置プラットフォ
ーム特定型のアプリケーションGUIを、SGUIシステム1
0内において、装置プラットフォーム独立型のAPIを利
用する装置プラットフォーム独立型のアプリケーション
GUIに変換する要求は少なくなる。
【0036】カスタマイズモジュール14は、ターゲッ
ト装置プラットフォームの装置独立の中間表現をカスタ
マイズするために動作する。「ターゲット装置プラット
フォーム」と言う語は、拡張性のあるアプリケーション
がディスプレイ用のプレゼンテーションを生成する、異
種装置プラットフォームを特定する。ターゲット装置プ
ラットフォームとして、拡張性のあるアプリケーション
が特定された装置プラットフォーム上を動作している間
に、プレゼンテーションは生成されてもよい。さらに拡
張性のあるアプリケーションが、ソースからマイグレー
ションの目的である装置プラットフォーム(ターゲット
装置プラットフォーム)へマイグレーションする時、プ
レゼンテーションが生成されてもよい。ある実施形態に
おけるカスタマイズモジュール14は、タスクマネージ
ャモジュール18と変換マネージャモジュール20を持
っている。
【0037】ある実施形態におけるタスクマネージャモ
ジュール18は、ターゲット装置プラットフォームの機
能に基づいて装置独立型の中間表現の機能を取り除いて
もよい。その中間表現は、タスクマネージャモジュール
18によりタスクが取り除かれたことを表している「取
り除かれた中間表現」と図1に示されている。ある実施
形態において、拡張性のあるアプリケーションは、ター
ゲット装置プラットフォームの機能を特定し、そしてそ
の機能をタスクマネージャモジュール18へ提供する。
またある実施形態において、タスクマネージャモジュー
ル18は、ターゲット装置プラットフォームの機能を特
定することができる。
【0038】中間表現から取り除かれたタスクは、ター
ゲット装置プラットフォームに適合しない拡張性のある
アプリケーションの代表的な機能/能力を持っていても
よい。例えば、ラップトップパソコンは、電話のテンキ
ー機能に関連しているタスクは使わない。同様に、利用
できる能力に制約があるため、ターゲット装置プラット
フォーム上に全てのタスクを表示することは望ましくな
いともいえる。例えば、多量のテキストデータを入力す
るのに、無線電話のテンキーを使うのは面倒くさい上、
時間もかかる。だからタスクマネージャモジュール18
は、無線電話にとっては面倒である編集機能に関連した
タスクを取り除いてもよい。ある実施形態において、タ
スクマネージャは、ターゲット装置プラットフォームの
機能、及び/または中間表現内におけるアプリケーショ
ン開発者により特定された他のプロパティに応じて、タ
スクを取り除いてもよい。
【0039】変換マネージャモジュール20は、中間表
現を装置プラットフォーム依存型のプレゼンテーション
に変換するように動く。装置プラットフォーム依存型の
プレゼンテーションは、ターゲット装置プラットフォー
ム内で、特定のユーザインターフェイスに適合してもよ
い。中間表現の変換は、タスクマネージャモジュール1
8が不要なタスクを取り除くことにより始まる。中間表
現の変換には、ターゲット装置プラットフォームの機能
ベースの中間表現、中間表現の論理構造、及び/または
アプリケーションGUIが特定したプロパティを動的に変
更することが含まれる。以下における変換マネージャモ
ジュール20による変換において、中間表現は装置プラ
ットフォーム依存型の中間表現であり、この装置プラッ
トフォーム依存型の中間表現は、プラットフォーム特定
のプレゼンテーション方式における特定のある異種装置
プラットフォーム(ターゲット装置プラットフォーム)に
対するカスタマイズを示すために「装置依存型中間表
現」として図1に表されている。
【0040】レンダーマネージャモジュール16は、タ
ーゲット装置プラットフォームの表示画面上にプレゼン
テーションを表示するようにしてもよい。レンダーマネ
ージャモジュール16は、カスタマイズモジュール14
による中間表現のカスタマイズを行う。レンダーマネー
ジャモジュール16は、装置プラットフォーム依存型の
中間表現から、プレゼンテーションを取り出してもよ
い。さらにレンダーマネージャモジュール16は、ター
ゲット装置プラットフォームの表示画面上にプレゼンテ
ーションを表示するために、拡張性のあるGUIライブラ
リモジュール12を利用してもよい。
【0041】レンダーマネージャモジュール16の動作
は、プレゼンテーションを取り出すため、装置プラット
フォーム依存型の中間表現をトラバースすることを含
む。装置プラットフォーム依存型の中間表現は、ターゲ
ット装置プラットフォームに依存している装置プラット
フォーム用にカスタマイズされたアプリケーションGUI
の符号化表示である。このように、レンダーマネージャ
モジュール16により取り出されたプレゼンテーション
は、ターゲット装置プラットフォームの表示画面上に写
っている装置依存型のアプリケーションGUIを表示す
る。
【0042】SGUIシステム10の好ましい実施形態にお
いて、SGUIシステム10は、ターゲット装置プラットフ
ォームに対しアプリケーションGUIの継ぎ目のないスケ
ーリングを提供するため、拡張性のあるアプリケーショ
ンと連動して動いてもよい。アプリケーション開発者
は、アプリケーションGUIから装置プラットフォーム独
立型の中間表現を作るためのツールとして、拡張性のあ
るGUIライブラリモジュール12を使うことができる。
図1に示すように、SGUIシステム10の稼動中、アプリ
ケーションGUIは、拡張性のあるGUIライブラリモジュー
ル12を使う装置プラットフォーム独立型の中間表現を
インスタンス化してもよい。カスタマイズモジュール1
4は、拡張性のあるアプリケーションが動いているター
ゲット装置プラットフォームに基づく装置プラットフォ
ーム依存型の中間表現に対し、中間表現をカスタマイズ
してもよい。レンダーマネージャモジュール16は、タ
ーゲット装置プラットフォームのユーザインターフェイ
ス用にカスタマイズされたプレゼンテーションを取り出
すため、装置プラットフォーム依存型の中間表現を使用
してもよい。そしてプレゼンテーションは、レンダーマ
ネージャモジュール16により、ターゲット装置プラッ
トフォームの表示画面上に表示されてもよい。
【0043】図1に表されているモジュールのより細か
な詳細について説明する。
【0044】図2は、拡張性のあるGUIライブラリモジ
ュール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を作るために利用できる。
【0045】SGUIコンポーネントは、ライブラリ内にお
けるグラフィカルユーザインターフェイスコンポーネン
トである。SGUIコンポーネントは、SGUIシステムで動作
可能な異種装置プラットフォームによりサポートされる
装置独立型のグラフィカルユーザインターフェイスコン
ポーネントとして描かれている。さらにSGUIコンポーネ
ントは、グラフィカルユーザインターフェイスコンポー
ネントが、異種装置プラットフォーム用にカスタマイズ
可能なことを表すために用いられてもよい。またSGUIコ
ンポーネントは、SGUIコンポーネント複合として言及さ
れてもよい。ここでSGUIコンポーネント複合は、関連の
ある機能を提供するためにグループ化された複数のSGUI
コンポーネント単体である。
【0046】装置独立型のアプリケーションGUIは、SGU
Iコンポーネントの表示を含む装置独立型の中間表現の
インスタンスを作るのに使われてもよい。しかしながら
ディスプレイ用のプレゼンテーションを作る前に、中間
表現は、装置プラットフォーム依存型の中間表現が表示
可能になるように、変換(またはカスタマイズ)されて
もよい。
【0047】好ましい実施形態において、GUIコンポー
ネントライブラリモジュール22は、Java(登録商標)
SWINGに似ている。これにより、Java(登録商標)スイ
ングに明るいアプリケーション開発者は、拡張性のある
GUIコンポーネントライブラリモジュール22を容易に
学ぶことができる。ある実施形態において、Java(登録
商標)スイングとSGUIコンポーネントの類似点は、共に
接頭辞がSだということである。つまり、この実施形態
でJava(登録商標)SWINGの接頭辞は、Java(登録商
標)SWINGのJではなく、Sなのである。
【0048】一般的に、クロスプラットフォームGUIラ
イブラリを作るために、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ライブラリを提供する。
【0049】SGUIシステムのある実施形態において、ダ
イレクトAPIエミュレーションとラッパー技術のコンビ
ネーションが実装される。他の実施形態において、他の
技術との組み合わせが使われてもよい。しかしながら、
LCD技術の利用は、SGUIコンポーネントの利用を制限す
ることもある。さらに、SGUIシステムがサポートするGU
Iライブラリの数が増えた時、スーパーセットエミュレ
ーションの利用は、拡張性を制限することもある。
【0050】ダイレクトAPIエミュレーションとラッパ
ー技術の組み合わせが、拡張性のあるGUIコンポーネン
トライブラリモジュール22により実装されてもよい。
拡張性のあるGUIコンポーネントライブラリモジュール
22は、他のGUIライブラリへマッピングされてもよ
い。ある実施形態において、拡張性のあるGUIコンポー
ネントライブラリモジュール22は、装置特定のGUIラ
イブラリへマッピングされてもよい。装置特定のGUIラ
イブラリは、例えば、Java(登録商標)スイング、Java
(登録商標)AWT、及び/またはJava(登録商標)Dojaを
有していてもよい。他の実施形態において、拡張性のあ
るGUIコンポーネントライブラリモジュール22は、非
装置特定のライブラリを有している増設された/異なる
ライブラリへマッピングされてもよい。
【0051】拡張性のあるGUIコンポーネントライブラ
リモジュール22内でのマッピングにおいて、SGUIコン
ポーネントを、他のライブラリ内にある装置特定のGUI
コンポーネントへマッピングする。このマッピングは、
対応する装置特定のGUIコンポーネントが装置特定のGUI
ライブラリ内において利用可能な場所で実行されてもよ
い。もし装置特定のGUIライブラリが利用できないと
き、SGUIコンポーネントは、装置特定のGUIライブラリ
内において、装置特定のGUIコンポーネント複合へマッ
ピングされてもよい。ある実施形態において、マッピン
グは定着してない。したがって、この実施形態におい
て、アプリケーション開発者は、拡張性のあるGUIコン
ポーネントライブラリモジュール22内においてSGUIコ
ンポーネントのマッピングを変えたり/加えたりするこ
とにより、デフォルトマッピングを無視してもよい。
【0052】再び図2に戻るが、中間表現(IR)モジュー
ル24は、中間表現を作るためにアプリケーションGUI
が使用する装置独立型APIを有している、いかなるアプ
リケーションでもよい。中間表現は、拡張性のあるGUI
コンポーネントライブラリモジュール22を利用する装
置独立型アプリケーションGUIを表している。好ましい
実施形態において、中間表現は木構造のような構造を有
しているので、だから中間表現は中間表現(IR)ツリー
(木)と呼ばれてもよい。他の実施形態において、例え
ば、アウトライン構造、マトリックス構造、または他の
論理ベースの構造を、中間表現を表すために用いてもよ
い。
【0053】IRツリーは、SGUIコンポーネントが配置さ
れているかもしれない論理構造を提供する。SGUIコンポ
ーネントは、IRツリー内の簡単な中間表現内に装置プラ
ットフォーム独立型のアプリケーションGUIを入れるこ
とにより、配置されてもよい。アプリケーションGUIは
装置プラットフォーム独立型なので、IRツリーは拡張性
のあるアプリケーションによりサポートされる、すべて
の可能なSGUIコンポーネントを含んでいてもよい。SGUI
コンポーネントは、装置プラットフォーム独立型のプレ
ゼンテーションへ簡単な変換を提供するように配置され
てもよい。さらに詳細は後で述べるが、レイアウト構
造、レイアウトの制約、そして制約を示すその他のプロ
パティは、IRツリーの論理構造内において特定されても
よい。さらに、IRツリーは、Java(登録商標)のアプリ
ケーションGUI開発との類似を永続させるため、Java
(登録商標)技術の階層的なコンテナ概念を取り入れる
ことが望ましい。
【0054】図3は、IRツリー40の構成例を示すブロ
ック図である。IRツリー40は、階層型構造内にある相
互に連結した複数のノードを持っている。図の階層構造
は、数ある構造の中における1つの例に過ぎない。好ま
しい実施形態において、IRツリー40は、少なくとも1
つのコンポーネントノード42と1つのコンテナノード
44を持っている。他の実施形態において、その他のカ
テゴリーを持つノードが、アプリケーションGUIを表す
ように特定されてもよい。
【0055】ある実施形態のコンポーネントノード42
は、個々のSGUIコンポーネントを表している。コンポー
ネントノード42より下の位置には他のノードがこれ以
上無いので、コンポーネントノード42は、IRツリー4
0の「葉」と見なしてもよい。ある実施形態のコンテナ
ノード44は、IRツリー40内における論理パネルを表
している。論理パネルは、装置プラットフォームの表示
画面に表示するためIRツリー40から作られたプレゼン
テーションのページ内で、異なるセクション、または異
なるパネルを表している。例えば、Eメールに関するア
プリケーション内において、コンテナノード44は、ユ
ーザが受け取った全てのEメールを表示するウインドウ
を表すことができる。
【0056】図に示す通り、コンテナノード44は、下
位の位置に自身と連結しているコンポーネントノード4
2、及び/または他のコンテナノード44を持っていて
もよい。IRツリー40の下位に位置しているノードは、
上位の関連論理パネルにより表されるセクションの一部
またはパネルである、関連サブ論理パネル及び関連SGUI
コンポーネントを表している。例えば、Eメールを表示
するウインドウにおいて、下位にあるコンテナノード4
4は、ウインドウ内で記述的なヘッダーを提供してもよ
いし、そして接続先のコンポーネントノード42は、受
信したメールを分類する機能を提供してもよい。
【0057】図3のIRツリー40における例で、最も高
い位置にあるルートコンテナノード44aは、全体的な
プレゼンテーションを表してもよい。その他のコンテナ
ノード44は、プレゼンテーション内で異なる論理パネ
ルを表しているので、ルートコンテナノード44aの階
層的な子供と考えてよい。コンテナノード44c、44
d、44e、44g、そして44hは、ルートコンテナ
ノード44aの一番下位のコンテナノードであると言え
る。逆に言えば、コンテナノード44b、44c、44
dは、ルートコンテナノード44aの直系の階層的な子
供である。さらに図にあるように、いくつかのコンテナ
ノード44の階層的な子供達はコンポーネントノード4
2である。例えば、コンテナノード44c、44dの子
供は、それぞれコンポーネントノード42g、42hと
コンポーネントノード42j、42kである。
【0058】またIRツリー40は、拡張性のあるアプリ
ケーションのタスク構造でもよい。タスク構造は、拡張
性のあるアプリケーションが実行するタスクに関連する
SGUIコンポーネントをグループ化することにより、表示
されてもよい。タスクという言葉は、装置プラットフォ
ームのユーザが、拡張性のあるアプリケーションで実行
できる機能を特定している。機能は、拡張性のあるアプ
リケーションと装置プラットフォームに依存している。
例えば、無線電話機(装置プラットフォーム)におけるE
メール機能(拡張性のあるアプリケーション)は、タッチ
スクリーンを使いながらEメールを見ること、削除する
こと、そして作成することができる機能を有している。
したがって、ユーザの指示を示し、かつ受け入れるSGUI
コンポーネントは、機能別にグループ化される。
【0059】タスク構造は、特定のタスク(機能)に関す
るSGUIコンポーネント(コンポーネントノード42)を、
論理パネル(コンテナノード44)内にグループ化する。
コンテナノード44内によるグルーピングにより、装置
プラットフォームのディスプレイ上におけるSGUIコンポ
ーネントの対応するグループが表すタスクを表示するこ
とができる。例えば、図3において、タスク46はコン
テナノード44e、そしてその階層的な子供であるコン
ポーネントノード42aと42bである。一方、タスク
は、複数のコンテナノード44と、それに対応するコン
ポーネントノード42である。
【0060】ある実施形態において、SGUIコンポーネン
トのグルーピングにより、アプリケーションGUIがタス
クの優先度を示している制約を提供するためのプロパテ
ィを特定する。プロパティは、対応するコンテナノード
44に対し、タスクの優先順位を添付してもよい。例え
ば、タスクの優先順位は、特定の装置プラットフォーム
に適しているタスクを特定しても良いし、異種装置プラ
ットフォームにおける別のタスクを特定しても良いし、
及び/または、タスク及び/または拡張性のあるアプリケ
ーションが動いている装置プラットフォームに関連する
情報を特定しても良い。
【0061】既に述べたように、アプリケーション開発
者は、その開発中に、拡張性のあるアプリケーション内
で、IRツリー40を作ってもよい。コンテナノードとコ
ンポーネントノードの階層構造を特定する他に、アプリ
ケーション開発者は、IRツリー40の論理構造、及び/
またはIRツリー40のレイアウトパラメータに影響する
制約を提供するプロパティを特定してもよい。プロパテ
ィは、コンポーネントノード42(SGUIコンポーネン
ト)、コンテナノード44(論理パネル)、及び/またはIR
ツリー40に対し、特定されてもよい。IRツリー40の
インスタンスは、特定のプロパティを含んでもよいし、
また特定のプロパティベースで作られてもよい。好まし
い実施形態において、プロパティの特定化は、アプリケ
ーションGUI内において起こってもよい。また他の実施
形態において、プロパティの特定化は、ターゲット装置
プラットフォーム内、または他の関連ある装置またはア
プリケーション内の拡張性のあるアプリケーションにお
いて起こり得る。
【0062】IRツリー40は、プレゼンテーションのペ
ージ内(プレゼンテーション部)において、アプリケーシ
ョンGUIのレイアウトを表してもよい。ある実施形態に
おいて、IRツリー40内の相互関連のパターンによりレ
イアウトストラクチャは、直系の階層的子供ノードによ
り、高い水準の論理パネル用に特定されてもよい。アプ
リケーション開発者は、アプリケーションGUIで、コン
ポーネントノード42とコンテナノード44用のレイア
ウト構造を示しているプロパティを特定してもよい。プ
ロパティは、論理パネル(コンテナノード44)とコンテ
ナノード44の階層的な子供であるSGUIコンポーネント
(コンポーネントノード42)の位置を特定してもよい。
例えば、コンポーネントノード42aにおけるレイアウ
ト構造は、コンテナノード44eが表す論理パネルの右
上において、SGUIコンポーネントの位置を特定してもよ
い。同様に、コンポーネントノード42bは、コンテナ
ノード44eが表す論理パネルの左上において、対応す
るSGUIコンポーネントの位置を示しているレイアウト構
造を含んでいてもよい。コンテナノード44eも、コン
テナノード44bにより表される論理パネルのセンター
において、対応する論理パネルの位置を特定するレイア
ウト構造を含んでいてもよい。
【0063】さらに、図3のIRツリー40の例におい
て、プレゼンテーションのページ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における他のノー
ドの階層構造は、ページのフォーメーション(形成)に起
因してもよい。
【0064】ターゲット装置プラットフォーム用のプレ
ゼンテーションのページの生成時、SGUIシステムは、提
案されているレイアウト構造に従ってもよい。しかしな
がら、ある実施形態において、例えば、ターゲット装置
プラットフォームの表示画面を最大限に利用することに
高い優先順位が設定されている場合において、提案され
たレイアウト構造に従うことを無視してもよい。
【0065】IRツリー40の装置独立型プラットフォー
ムが有する性質のせいで、アプリケーションGUIが生成
されたときに、異種装置プラットフォーム内における多
様な機能は、レイアウト構造の特定化を難しくする。例
えば、許容されるページの最大のサイズは、ターゲット
装置プラットフォームの表示画面のサイズに依存してお
り、開発時間を特定するのは難しい。さらに、開発時間
においては、SGUIコンポーネントの実際サイズはわから
ない。SGUIコンポーネントは、ターゲット装置プラット
フォームの機能に基づき、多種あるサイズの中から1つ
のSGUIコンポーネントに変換するので、SGUIコンポーネ
ントの実際サイズはわからない。
【0066】ある実施形態において、アプリケーション
開発者は、プレゼンテーション内において配置されたSG
UIコンポーネントに関するSGUIコンポーネントのサイズ
を予測することは可能である。仮に、その予測が正確(S
GUIコンポーネントの変換後のサイズに近い)なら、ター
ゲット装置プラットフォームの表示画面内のレイアウト
におけるSGUコンポーネント間の大きな「穴」は、避け
ることができる。また別の実施形態において、SGUIシス
テムは、いわゆる「穴」を避けるために、同じコンテナ
ノード44(論理パネル)内で、SGUIコンポーネントに似
たサイズを保存するように努める。また他の実施形態に
おいて、自動レイアウト生成のためのフォーム、ターゲ
ット装置プラットフォーム用レイアウトのアプリケーシ
ョン開発者によるカスタマイズ、及び/またはSGUIコン
ポーネントのサイズの多様性を指定するための技術によ
り、多様なレイアウト構造は指定される。
【0067】タスクの優先順位とレイアウト構造を示す
プロパティの特定化に加えて、アプリケーション開発者
は、IRツリー40の論理構造、及び/またはIRツリー4
0のレイアウトパラメータに影響する制約を提供するプ
ロパティを特定してもよい。ある実施形態において、コ
ンテナノード44のレイアウト優先順位に関連している
プロパティが特定される。本実施形態のプロパティは、
コンテナノード44がページ上に配置されるオーダを特
定する。最も高いレイアウト優先順位のコンテナノード
44は、表示画面内で最初のページに位置し、かつ対応
するコンポーネントノード42により特定されるSGUIコ
ンポーネントを保持してもよい。例えば、装置プラット
フォームのユーザのために、あるタスクを易しくしたい
というアプリケーション開発者は、対応するパネル(コ
ンテナノード44)に、高いレイアウト優先順位を設定
する。
【0068】他の実施形態において、レイアウトの制約
を特定するプロパティは、コンポーネントノード42に
含まれてもよい。レイアウトの制約は、同ページに互い
に隣接して配置される2つまたはそれ以上のSGUIコンポ
ーネントを条件として指定してもよい。例えば、イエス
を示している選択可能なボタンとノーを示している選択
可能なボタンは、ボタンが隣接していることを条件とし
て指定するレイアウトの制約を含んでもよい。
【0069】同様に他の実施形態で、プロパティは、コ
ンテナノード44内のレイアウトグループを特定しても
よい。レイアウトグループは、コンテナノード44内の
ノードが、レイアウト構造内で別ページに配置されるか
どうかを条件として指定することもできる。ある実施形
態において、直系の階層的な子供としてコンポーネント
ノード42を持っている全てのコンテナノード44は、
レイアウトグループに特定されない限り分割できない。
同様に、直系の階層的な子供としてコンポーネントノー
ド42を持っていない本実施形態の全てのコンテナノー
ド44は分割可能である。
【0070】別の実施形態において、プロパティはコン
テナノード44のラベルを特定できる機能を持ってい
る。ラベルは、論理パネルに対応付けられてもよいし、
ページ間を移動するプレゼンテーション内において、ナ
ビゲーションバー/またはメニューを作成してもよい。
他の実施形態においてプロパティは、他の仕様や、論理
コンディション、及び/またはコンポーネントノード4
2、コンテナノード44及び/またはIRツリー40に関
連する付加機能を特定するのに利用されてもよい。
【0071】再び図2に戻り、拡張性のあるGUIイベン
ト変換モジュール26は、ターゲット装置プラットフォ
ームのユーザインターフェイスにより生成されるGUIイ
ベントを変換する技術(方法)であってもよい。ある実施
形態において、拡張性のあるGUIイベント変換モジュー
ル26は、装置独立型のGUIイベントAPIを持っている。
装置独立型のGUIイベントAPIは、拡張性のあるアプリケ
ーションに対するイベントを処理する。前にも述べたが
GUIイベントは、表示画面上のSGUIコンポーネント内の
状態の変化を表しているが、これはユーザが対応する装
置プラットフォームに関連しているユーザインターフェ
イスと対話するためである。
【0072】先行技術では、GUIイベントは、装置特定
型アプリケーションGUIアプリケーションプログラムイ
ンターフェイス(API)により定義されている。装置特定
型GUI APIは、GUIイベントを生成する、特定装置の入出
力方法に接続されているGUIイベントを定義する。拡張
性のあるGUIイベント変換モジュール26は、異種装置
プラットフォーム用のGUIイベントを変換するのに使わ
れる。また拡張性のあるGUIイベント変換モジュール2
6は、異なる複数の入力方法で動作が可能な装置独立型
のGUIイベント変換機を有している。
【0073】ある実施形態において、GUIイベント変換
機は、アクションと呼ばれる抽象的なイベントを定義す
る。アクションは入力方法から独立している。例えば、
ボタンとして動作するGUIコンポーネントに対応付けら
れたアクションは、装置プラットフォームに依存してい
るラップトップコンピュータのマウスクリック、ポケッ
トコンピュータのスタイラス・タップ、または携帯電話
のソフトキーから生成されてもよい。拡張性のあるアプ
リケーションは、GUIイベント変換機のGUIイベントを表
すアクションにより提供されてもよい。このように、GU
Iイベントを生成する入力方法は、拡張性のあるアプリ
ケーションに対し、無関係なものであってもよい。
【0074】拡張性のあるGUIイベント変換モジュール
26は、プラットフォーム独立型のアクションの拡張性
のあるユーザインターフェイスライブラリを持ってい
る。拡張性のあるユーザインターフェイスライブラリ
は、拡張性のあるGUIコンポーネントライブラリ22、
または異なるライブラリに含まれていてもよい。ある実
施形態において、拡張性のあるGUIイベント変換モジュ
ール26は、装置プラットフォーム独立型のGUIイベン
トAPIに基づいた論理マッピングを含んでいてもよい。
拡張性のあるアプリケーションの開発者は、装置プラッ
トフォーム特定型のGUIイベントと同等のプラットフォ
ーム独立型のアクションの間で、論理マッピング用の装
置プラットフォーム独立型のAPIを利用してもよい。こ
のようにプラットフォーム独立型のアクションは、対応
する装置プラットフォーム特定型のGUIイベントの結果
として、拡張性のあるアプリケーションへと配信されて
もよい。
【0075】いくつかの拡張性のあるアプリケーション
において、装置プラットフォームの制約のために、プラ
ットフォーム特定型のGUIイベントとプラットフォーム
独立型のアクション間におけるマッピングは不可能かも
しれない。例えば、ユーザがマップ・イメージにおける
特定のポイントをクリックするとき、拡張性のあるアプ
リケーションは、拡大または縮小できるインターラクテ
ィブマップを有していてもよい。パソコンサイドでは、
装置プラットフォーム特定型のマウスイベントは、マウ
スがクリックされた特定の位置を把握する。しかしなが
ら、無線電話において、ユーザインターフェイスとして
位置決め入力装置は含まれなくてもよい。このように、
無線電話における同等のプラットフォーム独立型のアク
ションは、マップされることはない。この場合、拡張性
のあるGUIイベント変換モジュール26のライブラリ
は、別段の定めがなければプラットフォーム独立型アク
ションが表す、プラットフォーム特定入力方法用の装置
プラットフォーム依存型アクションを有していてもよ
い。これに伴い、アプリケーションGUIは、制約を伴う
ターゲット装置プラットフォーム用のアプリケーション
GUIをカスタマイズするプロパティを持っていてもよ
い。ある実施形態において、一般的に装置プラットフォ
ーム特定型GUIイベントは拡張性がないため、拡張性の
あるアプリケーションの主要な機能を実装するのに装置
プラットフォーム独立型のアクションを用いなくてもよ
い。本実施形態において、装置プラットフォーム依存型
のアクションは、主要な機能に対する付加拡張機能とし
て用いられてもよい。
【0076】図4は、変換マネージャモジュール20の
より詳細なブロック図における1つの実施形態である。
変換マネージャモジュール20は、変換ルールモジュー
ル50、サイズ変換コンポーネントモジュール52、代
替コンポーネントモジュール54、GUI変換ルールモジ
ュール単体56、GUI変換ルールモジュール複合58、
ダイナミックレイアウトモジュール60、スタイルガイ
ドモジュール62とSGUIコンポーネントリストモジュー
ル64から成っている。他の実施形態において、変換マ
ネージャモジュール20内での機能は、本実施形態で使
用されているモジュールより少ない、または多い数のモ
ジュールで表される。
【0077】変換ルールモジュール50は、IRツリーを
動的に作るために、拡張性のあるGUIコンポーネントラ
イブラリモジュール22(図2)を利用してもよい。IRツ
リーの構造は、対応するプレゼンテーションのページに
あるIRツリー内に表されるSGUIコンポーネントと、変換
ルールで選択的に変換するSGUIコンポーネントから成っ
ている。
【0078】変換ルールモジュール50は、IRツリー4
0(図3)におけるSGUIコンポーネントを変換するのに使
われる複数の変換ルールから成っている。ある実施形態
において、変換ルールモジュール50は、変換ルールの
2つのカテゴリを表しているサイズ変換コンポーネント
モジュール52と、代替コンポーネントモジュール54
から成っている。サイズ変換コンポーネントモジュール
52は、ターゲット装置プラットフォームの表示画面の
サイズをベースにSGUIコンポーネントのサイズを調整す
るルールを提供できる。代替コンポーネントモジュール
54は、IRツリー内におけるアプリケーションGUIを表
すSGUIコンポーネントと置き換えに、代替のSGUIコンポ
ーネントを特定できる。
【0079】ある実施形態の代替コンポーネントモジュ
ール54は、代替のSGUIコンポーネントに対する2つの
カテゴリのルールを表しているGUI変換ルールモジュー
ル単体56と、GUI変換ルールモジュール複合58から
成っている。GUI変換ルールモジュール単体56は、SGU
Iコンポーネントをターゲット装置プラットフォームに
特定するSGUIコンポーネントに変換するルールを提供す
る。
【0080】図5は、第1SGUIコンポーネント70がタ
ーゲット装置プラットフォームに特定する第2SGUIコン
ポーネント72に、変換ルールで変換する例を示してい
る。ターゲット装置プラットフォームの機能、ターゲッ
ト装置プラットフォームのタイプ、ターゲット装置プラ
ットフォームのユーザインターフェイス、拡張性のある
アプリケーションの機能、及び/またはSGUIコンポーネ
ントのディスプレイに関するパラメータをベースに、SG
UIコンポーネントはターゲット装置プラットフォームに
特定すると考えてよい。
【0081】図の例では、第1SGUIコンポーネント70
は、ユーザにより選択される「高」、「中」、「低」、
いわゆる優先度の選択リストを表している。同様に、第
2SGUIコンポーネント72は、優先度の選択ボタンを表
している。仮に、第1SGUIコンポーネント70とターゲ
ット装置プラットフォーム用のコンポーネントノード4
2(図3)を含んでいるIRツリー40(図3)はPDAだとし
た場合、GUI変換ルールモジュール単体56(図4)は、
第1SGUIコンポーネント70を第2SGUIコンポーネント
72に変換する変換ルールを提供してもよい(矢印7
4)。
【0082】PDAの表示画面におけるサイズの限定、PDA
で利用可能なユーザインターフェイス、またはPDAや拡
張性のあるアプリケーションに関連性のある理由によ
り、本実施例における第2SGUIコンポーネント72は特
定のものと考えられてもよい。この図における例は、SG
UIコンポーネントに適用可能な数ある変換ルールの一例
にすぎない。
【0083】図4に再び戻り、GUI変換ルールモジュー
ル複合58は、SGUIコンポーネント複合が、ターゲット
装置プラットフォームに特定するSGUIコンポーネントに
変換する変換ルールを提供する。前にも述べた通り、SG
UIコンポーネント複合は、IRツリー(図3)におけるコン
テナノード44(図3)および対応するコンポーネントノ
ード42(図3)により表されてもよい。
【0084】図6は、第1SGUIコンポーネント複合76
が、ターゲット装置プラットフォームに特定している第
2SGUIコンポーネント複合78へ変換する変換例を示し
ている。
【0085】図の例によると、第1SGUIコンポーネント
複合76は、複数のデータエントリ80、優先度セレク
ション82、そして好みセレクション84から成ってい
る。第2SGUIコンポーネント複合78は、ピックリスト
86と単一のデータエントリ88から成っている。図5
における例と同様、矢印90で示されているように、第
1SGUIコンポーネント複合76を第2SGUIコンポーネン
ト複合78に変換するのに、GUI変換ルールモジュール
複合58から利用可能な変換ルールを用いてもよい。
【0086】図4に戻るが、ダイナミックレイアウトモ
ジュール60は、装置プラットフォーム依存型のプレゼ
ンテーションを表すIRツリーを構成してもよい。ダイナ
ミックな構成とは、プレゼンテーションのページのIRツ
リーが表すSGUIコンポーネントの配置と、選択的にSGUI
コンポーネントが変換することを含んでいる。ある実施
形態において、レイアウト構造やアプリケーションGUI
が特定する他の制約に従い、IRツリーにより表されるSG
UIコンポーネントがページ上にあってもよい。さらに、
ダイナミックレイアウトモジュール60は、適合性を確
認するために、プレゼンテーションとターゲット装置プ
ラットフォームの機能とを比べてもよい。例えば、制約
に関する機能は、プレゼンテーションのページサイズで
もよい。ダイナミックレイアウトモジュール60が構成
するページのサイズは、プレゼンテーションを表示する
ターゲット装置プラットフォームの表示画面サイズを超
えてはいけない。制約に関する他の機能例は、SGUIコン
ポーネントの最小の視覚サイズ、またはターゲット装置
プラットフォームに関する他の機能である。
【0087】ダイナミックレイアウトモジュール60
は、変換ルールを選択&適用する。そしてSGUIコンポー
ネントを機能あるいは制約に従う形に変換するため、変
換ルールモジュール50から利用可能な変換ルールを適
用する。例えば表示画面のサイズの制約を満たすため、
ダイナミックレイアウトモジュール60は、もっとコン
パクトなプレゼンテーションを作るために、変換ルール
をIRツリー内のSGUIコンポーネントに適用してもよい。
変換ルールの選択は、拡張性のあるアプリケーション、
ターゲット装置プラットフォームの表示画面サイズ、装
置プラットフォームのユーザインターフェイス機能、及
び/またはディスプレイ、及びターゲット装置プラット
フォームとの相互作用に関するパラメータにより、決め
られてもよい。
【0088】ある実施形態において、ダイナミックレイ
アウトモジュール60は、その機能や制約をベースにプ
レゼンテーション用のページを生成してもよい。また別
の実施形態において、変換ルールの適用により、ターゲ
ット装置プラットフォームに特定する様々な構成のペー
ジセットが生成される。ページセットとは、予想される
装置プラットフォーム依存型プレゼンテーションの一部
分である。予想されるプレゼンテーション内で開発され
たページをベースに、ダイナミックレイアウトモジュー
ル60は、最も望ましい装置プラットフォーム依存型の
プレゼンテーションを得るために、ページセット内から
選択的にページを利用してもよい。ダイナミックレイア
ウトモジュール60の望ましい機能とは、ページ数の最
少化、アプリケーションGUIが特定するプロパティに従
うこと、それぞれのページ用の表示画面を最大に利用す
ること、及び/またはプレゼンテーション、ターゲット
装置プラットフォーム及び/または拡張性のあるアプリ
ケーションに関連しているその他の特徴である。
【0089】さらに図4に示されているように、本実施
形態のダイナミックレイアウトモジュール60は、スタ
イルガイドモジュール62とSGUIコンポーネントリスト
モジュール64から成り立っている。また他の実施形態
において、少ないまたは多い数のモジュールが、機能を
表すため、ダイナミックレイアウトモジュール60内で
特定されてもよい。
【0090】スタイルガイドモジュール62は、少なく
とも1つのプリケーション用のスタイルガイドパラメー
タセットをSGUIコンポーネントに提供してもよい。スタ
イルガイドパラメータは、プレゼンテーション内におい
て変わらない外観を提供するため、SGUIコンポーネント
の視覚的な外観を標準化してもよい。典型的なスタイル
ガイドパラメータは、フォントサイズ、コンポネント間
におけるスペース、色彩などから成っている。ある実施
形態において、スタイルガイドパラメータの1セット
は、全ての装置プラットフォームに使われている。また
別の実施形態において、スタイルガイドパラメータのセ
ットは、1つまたはそれ以上のターゲット装置プラット
フォームに対応付けられていてもよい。
【0091】SGUIコンポーネントリストモジュール64
は、予想されるSGUIコンポーネントのリストを編集す
る。予想されるSGUIコンポーネントのリストは、IRツリ
ー内にあるSGUIコンポーネントの変換から生じるSGUIコ
ンポーネントを表してもよい。ダイナミックレイアウト
モジュール60は、リスト作成のため、変換ルールをIR
ツリー内にあるSGUIコンポーネントに適用してもよい。
ある実施形態において、SGUIコンポーネントリストモジ
ュール64が、リスト内のSGUIコンポーネントのサイズ
に応じて、SGUIコンポーネントのリストを編集してもよ
い。
【0092】ダイナミックレイアウトモジュール60
は、SGUIコンポーネントのリスト作成のため、変換ルー
ルモジュール50から選択的に適切な変換ルールを適用
してもよい。ある実施形態において、適切な変換ルール
の選択のために、ダイナミックレイアウトモジュール6
0はルールに基づいた技術(方法)を用いてもよい。そ
の技術(方法)においては、2つの前提条件に基づいた
選択的な変換ルールが適用可能である。最初の前提条件
とは、変換するSGUIコンポーネントの特徴を考慮するこ
とである。第2の前提条件とは、プレゼンテーション用
のターゲット装置プラットフォームの機能を考慮するこ
とである。
【0093】前提条件に加えて、ある実施形態では、ダ
イナミックレイアウトモジュール60のランキングか
ら、適切な変換ルールを選択してもよい。変換ルールの
ランキングは、変換ルールを適用した結果に基づいても
よい。例えばどのくらいの確率で変換ルールが、異なる
拡張性のあるアプリケーション用に適正な変換を実現す
るかということに基づき、ランキングが決まるというこ
とである。よって、かつ高い確率で変換が成功する変換
ルールはランキングが高く、逆にある特定の拡張性のあ
るアプリケーション用にしか特定されていない変換ルー
ルはランキングが低い。例えば、(少ない数の選択可能
なアイテムにおける)選択ボタン(図5参照)に対する選
択リストの変換は、世界的な規模で拡張性のあるアプリ
ケーションにおいて適用可能なので、高いランキングが
指定されてもよい。
【0094】SGUIコンポーネントリストの生成に続い
て、ダイナミックレイアウトモジュール60は、プレゼ
ンテーションにおける使用目的でリストからSGUIコンポ
ーネントを選択してもよい。ある実施形態において、最
大サイズの表示画面に基づき、SGUIコンポーネントが選
択される。また他の実施形態において、ターゲット装置
プラットフォームの機能や拡張性のあるアプリケーショ
ンの機能、及び/またはその他条件が、選択過程におい
て用いられてもよい。SGUIコンポーネントはリストから
選択され、プレゼンテーションを表すページ上に配置さ
れてもよい。リストから選択されたSGUIコンポーネント
は、リストを作るのに用いられたSGUIコンポーネントを
置き換えてもよい。SGUIコンポーネントの置き換えによ
り、装置プラットフォーム独立型のSGUIコンポーネント
は、効果的にターゲット装置プラットフォームに特定す
るSGUIコンポーネントに変換される。
【0095】ある実施形態において、各々のページは、
表示画面の最大のサイズと比較されてもよい。この実施
形態において、ページを構成するSGUIコンポーネントを
縮小するか、または拡大する必要性があるかどうかによ
り、ダイナミックレイアウトモジュール60は、リスト
から大きな、または小さなサイズのSGUIコンポーネント
を選択してもよい。ある実施形態において、SGUIコンポ
ーネントに対応するリスト内に、似たサイズのSGUIコン
ポーネントがある場合におけるSGUIコンポーネントの選
択は、リスト内でSGUIコンポーネントを作るのに用いら
れる変換ルール(既に紹介済み)のランキングに基づいて
もよい。
【0096】本発明の好ましい実施形態において、ダイ
ナミックレイアウトモジュール60は、プレゼンテーシ
ョンに対応しているページを作るために、IRツリーを通
して繰り返し処理を行ってもよい。ある実施形態におい
て、ダイナミックレイアウトモジュール60によるプロ
セスは、IRツリーの最も低い階層レベルから高いレベル
に向けて処理を行う。ページを満たすために、ダイナミ
ックレイアウトモジュール60は、論理パネルをプレゼ
ンテーションのページに付け加えてもよい。ページが満
たされてないときは、兄弟ノードあるいは高いレベルに
あるノードからの階層的に関連のある論理パネルが、ペ
ージに付け加えられてもよい。例えば、図3によれば、
コンテナノード44h、44f、そして44eが、ペー
ジ48を作るために、コンテナノード44gに付け加え
られてもよい。これとは逆にページがはみ出したとき
は、表示画面のサイズに合わせるために、ページ内にお
いてSGUIコンポーネントの変換を実行してもよい。
【0097】ページがおおむね満たされたとき、プレゼ
ンテーション用の新しいページが作られる。おおむね満
たされたページとは、利用可能なSGUIコンポーネント
で、ターゲット装置プラットフォームの表示画面を最大
化することである。ある実施形態において、おおむね満
たされたページとは、およそ95%から100%の割合
で、ターゲット装置プラットフォームの表示画面を満た
していることである。レイアウト構造、他の条件として
指定されてる制約、及び/またはSGUIコンポーネントは
表示画面が完全に満たされることを防ぐが、おおむね満
たされたページ内では、現条件のもとで満たされている
部分を最大限に活用する。
【0098】図7は、図3のIRツリー40を参照しなが
ら、図4の変換マネージャモジュール20のある実施形
態の動作を示しているブロック図である。変換マネージ
ャモジュール20の動作がブロック100で始まる。変
換マネージャモジュール20は、好ましくは、以下にお
いてIRツリー40をインスタンス化し、そして取り除く
ことにより発生する。IRツリー40において、最も高い
レイアウト優先度を持ち、かつ最も低いレベルにあるコ
ンテナノード44が特定される。(ブロック&)低いレベ
ルにあるコンテナノードは、SGUIコンポーネント(コン
ポーネントノード42)を表す階層的な子供ノードであ
る。図3におけるIRツリー40の例では、コンテナノー
ド44c、44d、44e、44g、そして44hが、
最も低いレベルにあるコンテナノードである。レイアウ
トの優先度は、アプリケーションGUIのプロパティによ
り特定される。ここでは動作を説明する目的上、図3の
コンテナノード44gが、最も高いレイアウト優先度を
持っているとする。
【0099】スタイルガイドモジュール62は、特定の
コンテナノード44(コンテナノード44g)に関連して
いるSGUIコンポーネント(コンポーネントノード42c
と42d)に対し、ターゲット装置プラットフォームに
対応するスタイルガイドパラメータセットを適用する。
(ブロック104)SGUIコンポーネントは、IRツリー4
0のレイアウト構造とアプリケーションGUIに条件とし
て指定される制約に従い、プレゼンテーションのページ
上に配置される。(ブロック106)そして、ページのサ
イズが決定する。(ブロック108)その後、表示画面
からページのサイズがはみ出したかどうかが決まる。
(ブロック110)ページのサイズが、ターゲット装置
プラットフォームの表示画面のサイズより大きければ、
ページはターゲット装置プラットフォームの表示画面か
らはみ出していることになる。
【0100】図8のブロック114において、ページが
はみ出していたら、適切な変換ルールが選択され、ダイ
ナミックレイアウトモジュール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に進む。
【0101】図9に戻り、ブロック110(図7)におい
てページがはみ出していない場合、ページが満たされて
いないことが決定される。(図9:ブロック126)ペ
ージのサイズがターゲット装置プラットフォームの表示
画面のサイズより小さい時、ページは満たされていない
という事になる。もしページが満たされないと決定した
時、まだページ上に配置されていない兄弟ノード(図3
のコンテナノード44h)の特定作業が行われる。(ブロ
ック128)もし兄弟ノードが配置されていない場合、
最も高い優先度を持つ特定された兄弟ノードが選択され
(ブロック144)、そして選択されたノードの処理を始
めるため、動作は図7のブロック104に戻る。もし兄
弟ノードが既に配置されているなら(または存在しない
なら)、次に高い階層レベル(図3のコンテナノード4
4f)からの関連ノードが特定される。(ブロック13
0)
【0102】ルートコンテナノード(コンテナノード4
4a)かどうかを判断するのに、次に高い階層レベルか
らのノードが確認される。(ブロック132)もしイエス
なら、まだページ上に置かれていない付加的で最も低い
レベルのコンテナノードの有無を調べるためにIRツリー
を確認する。(ブロック134)もしそのような最も低い
レベルのコンテナノードが存在するなら、最も低いレベ
ルにありかつ次に高い優先度を持っている別のコンテナ
ノード44(図3)を特定するため、動作はブロック10
2(図7)へ戻る。もしそのような最も低いレベルのコン
テナノードが存在しないなら動作は終わる。(ブロック
136)
【0103】ブロック132に戻り、次に高い階層レベ
ルにおけるノード(図3のコンテナノード44f)がルー
トコンテナノード(コンテナノード44a)でない場合、
ノードがページ内に以前に配置されたかどうかを決め
る。(ブロック138)ノードが以前に配置されていな
いなら、ノード処理を始めるために、動作はブロック1
04(図7)へ戻る。ノードが以前に配置されているな
ら、次の高い階層レベルにあるノードの兄弟ノード(図
3のコンテナノード44e)が配置されていないかどう
かを判定する。(ブロック140)もし兄弟ノードがペー
ジ内で既に配置されているなら(または存在しないな
ら)、動作はブロック134へ戻る。兄弟ノードが配置
されていないなら、最も高いレイアウト優先度を持って
いる兄弟ノードが選択され(ブロック142)、選択され
たノードの処理を始めるため、動作はブロック104
(図7)へ戻る。
【0104】ブロック126へ戻り、ページが満たされ
ていないとは言えない場合、ページはおおむね満たされ
ていると見なされる。(ブロック146)残りのSGUIコン
ポーネントを配置するために、新しいページが割り当て
られ(ブロック148)、動作はブロック134へ戻る。
【0105】別の実施形態において、ページが満たされ
たと判断されると、リストからの代替SGUIコンポーネン
トを用いることにより、同ページにおける付加的な変化
の生成のための追加的な動作が実行されてもよい。追加
的な動作に続いて、ダイナミックレイアウトモジュール
60は、既に前述した通り、最も望ましい装置プラット
フォーム依存型のプレゼンテーションを選択してもよ
い。
【0106】通信システム内におけるSGUIシステムの利
用例が説明される。図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は、インターネット、公衆または専用イントラネッ
ト、イクストラネット、及び/または無線、光フャイ
バ、及び/または有線通信を介し、データ送信や指令が
可能なネットワーク構成の形式などであってもよい。
【0107】通信システム200内において、SGUIシス
テムは動作可能である。ある実施形態において、拡張性
のあるアプリケーション210は、装置プラットフォー
ム202上において動作してもよい。さらに、拡張性の
あるGUIライブラリモジュール12とレンダーマネージ
ャモジュール16は、装置プラットフォーム202上に
おいて動作してもよい。さらに、この実施形態では、タ
スクマネージャモジュール18と変換マネージャモジュ
ール20は、変換サーバ204上のカスタマイズモジュ
ール14内で動作してもよい。既に前実施形態で説明さ
れている拡張性のあるアプリケーション210、拡張性
のあるGUIライブラリモジュール12、カスタマイズモ
ジュール14、そしてレンダーマネージャモジュール1
6は、本実施形態においても同様の働きをする。
【0108】他の実施形態において、SGUIシステムにお
ける異なる機能、及び拡張性のあるアプリケーション
は、異種装置プラットフォームとサーバ間において配信
されてもよい。例えば、各動作をサポートするのに十分
な能力があるところで、SGUIシステムと拡張性のあるア
プリケーション210は、装置プラットフォーム202
上を動作可能となる。また別の例において、SGUIシステ
ムと拡張性のあるアプリケーション210の一部分は装
置プラットフォーム202上において動作可能であり、
またSGUIシステムと拡張性のあるアプリケーション21
0のその他の部分は、その他の装置プラットフォーム上
で動作可能である。また別の例においてSGUIシステムの
大部分は、サーバ上またはその他類似の装置上で動作可
能であり、そしてSGUIシステムの不可欠な部分だけが、
装置プラットフォーム202上において動作可能であっ
てもよい。
【0109】ある実施形態において、拡張性のあるGUI
ライブラリモジュール12における拡張性のあるGUIコ
ンポーネントライブラリ22全体(図2)は、装置プラッ
トフォーム202に保存されてもよい。この実施形態に
おいて、変換サーバ204は、ネットワーク208経由
で、拡張性のあるGUIコンポーネントライブラリへアク
セスしてもよい。既に説明されているが、変換マネージ
ャモジュール20は、GUIコンポーネントの変換中に、
拡張性のあるGUIコンポーネントライブラリへ、アクセ
スしてもよい。
【0110】別の実施形態において、拡張性のある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を保存してもよ
い。
【0111】また別の実施形態において、変換サーバ2
04は、GUIライブラリモジュール12の一部分を持っ
ていてもよい。例えば装置プラットフォーム202の制
限された処理能力、装置プラットフォーム202のリソ
ースを保存する要求、そしてSGUIシステムの動作に関す
るその他の理由により、GUIライブラリモジュール12
の一部分は、変換サーバ204内に保存されてもよい。
ある実施形態において、中間表現モジュール24(図2)
の一部分は、変換サーバ204に含まれていてもよい。
変換サーバ204に含まれている中間表現モジュールの
一部分は、モバイルコードをベースにしたIRツリーのイ
ンスタンスを作るために動作してもよい。この実施形態
においてモバイルコードは、拡張性のあるアプリケーシ
ョン210のアプリケーションGUIから、ネットワーク
208を介して、変換サーバ204へ送信されてもよ
い。中間表現モジュールの一部分は、アプリケーション
GUIを表すIRツリーのインスタンスを作るために、モバ
イルコードを実行してもよい。
【0112】図11は、図10を参照しながら説明され
た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に特定されているプロパティを含んでいる。
【0113】ブロック264において、ターゲット装置
プラットフォームの機能が、変換サーバ204に送信さ
れる。ターゲット装置プラットフォームの機能として、
タスクマネージャモジュール18は、IRツリーから不必
要な論理パネル及び/またはSGUIコンポーネントを削除
する。(ブロック266)変換マネージャモジュール20
は、タスクマネージャモジュール18からIRツリーを受
け取り、IRツリーの変換を始める。(ブロック268)
IRツリーの変換は、IRツリーにおいて表されているSGUI
コンポーネントの構成を含む。装置プラットフォーム依
存型のプレゼンテーションのレイアウトを作るため、IR
ツリーは変換される。
【0114】再び図12に戻るが、変換の後、装置依存
型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)
【0115】GUIのマイグレーションのイベント前に、
ユーザに対して利用可能な技術的特徴を提供する他、SG
UIシステム10は、第1異種装置プラットフォームから
第2異種装置プラットフォームへマイグレーションする
GUIアプリケーションの実行状態を保存することができ
る。ここでいう実行状態とは、SGUIコンポーネントに影
響を与えている拡張性のあるアプリケーションのエンド
ユーザがもたらした変化を指している。この変化はSGUI
コンポーネントの変数(外観の変化、データエントリ
ー、状態変化)を含んでもよい。図13は、第1異種装
置プラットフォーム302、第2異種装置プラットフォ
ーム304、そしてサーバコンピュータ306を有して
いるSGUIシステム10の実施形態により動作している通
信システムのブロック図である。他の例において、本実
施形態とは異なる数のプラットフォーム、及びサーバが
利用可能なのはいうまでもない。
【0116】第1異種装置プラットフォーム302、第
2異種装置プラットフォーム304は、前に説明され
た、いかなる異種装置プラットフォームであってもよい
し、かつ各々はレンダーマネージャモジュール16を有
してもよい。サーバコンピュータ306はコンピュータ
装置に類似のものであってよいし、また拡張性のあるGU
Iライブラリ12やカスタマイズモジュール14内にあ
るタスクマネージャモジュール18及び変換マネージャ
モジュール20を有していてもよい。他の例においてモ
ジュールは、コンピュータ装置の処理能力、ネットワー
ク208の構成、プロバイダーの優先度などの様々な変
化に応じながら、通信システム内にある装置へと別々に
配信されてもよい。第1異種装置プラットフォーム30
2&第2異種装置プラットフォーム304とサーバ30
6間における通信は、ネットワーク208を介してもよ
い。
【0117】前にも説明した通り、装置プラットフォー
ム独立型(PI)の中間表現は、拡張性のあるアプリケーシ
ョンを開発の一部分として開発される。プラットフォー
ム独立型の中間表現は、プラットフォーム独立型の中間
モデル形式で保存されてもよい。プラットフォーム独立
型の中間モデルは、サーバ306、第1異種装置プラッ
トフォーム302、第2異種装置プラットフォーム30
4あるいはネットワーク208と通信しているその他の
装置内で保存されてもよい。
【0118】本実施形態において、装置プラットフォー
ム独立型の中間表現は、最大の表示画面と最も大規模な
ユーザインターフェイスメカニズムを有している装置プ
ラットフォームに基づいて特定されてもよい。ここでア
プリケーション開発者は、拡張性のあるアプリケーショ
ンは最大の表示画面と最も大規模なユーザインターフェ
イスメカニズムで動作していることが予測できる。例え
ば、装置プラットフォーム独立型の中間表現は、大きな
表示画面と複数のユーザインターフェイス(例:タッチ
スクリーン、マウス、キーボードなど)を持つラップト
ップコンピュータの動作に基づいて特定されてもよい。
従って、プラットフォーム独立型のプレゼンテーション
モデルから生成されたプラットフォーム特定型のプレゼ
ンテーションは、プラットフォーム独立型のプレゼンテ
ーションモデルと同サイズ、あるいはそれより小さいも
のであってもよい。
【0119】図14は、IRツリー40及び対応するGUI
プレゼンテーション404形式における拡張性のあるサ
ーチアイテムアプリケーション用のプラットフォーム独
立型のプレゼンテーションモデルである。前に説明済み
だが、ルートノード44aはIRツリー40上に位置し、
かつGUIプレゼンテーションを表してもよい。ルートノ
ード44aの子供ノードは、コンテナノードあるいは拡
張性のあるアプリケーションのエンドユーザに対して利
用可能な異なるタスクを表しているタスクノードであ
る。コンポーネントノード、個々のSGUIコンポーネント
及びSGUIコンポーネント複合を表している「葉ノード」
が広がるまで、コンテナノード44は、さらにサブタス
クノード、サブのサブタスクノード等に分割可能な論理
パネルであってもよい。
【0120】図14の例において、「アイテムタスクの
サーチ」として特定されているコンテナノード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コンポーネントへマ
ッピングする。
【0121】「タスクのサーチ」として特定されたコン
テナノード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コンポーネ
ントにより表される。
【0122】プラットフォーム独立型のプレゼンテーシ
ョンモデル内において、SGUIコンポーネント及びSGUIコ
ンポーネント複合は、プラットフォーム独立(PI)ウィジ
ェット、あるいはプラットフォーム独立型のGUIウィジ
ェットと見なしてもよい。SGUIコンポーネント及びSGUI
コンポーネント複合は、プラットフォーム特定のプレゼ
ンテーションにおけるプラットフォーム特定(PS)のウィ
ジェットにより表される。プラットフォーム特定型のウ
ィジェットを有するSGUIコンポーネントおよびSGUIコン
ポーネント複合は、事前に決められたマッピングに基づ
いている。ここでのマッピングは、拡張性のあるGUIコ
ンポーネントライブラリモジュール22と他のライブラ
リにおける装置特定のGUIコンポーネント間のことであ
る。事前に決められたマッピングは、プラットフォーム
特定のプレゼンテーション内にあるプラットフォーム特
定型のウィジェットを、プラットフォーム独立型のプレ
ゼンテーションモデル内の(プラットフォーム独立型の
ウィジェットに対応している) SGUIコンポーネント、お
よびSGUIコンポーネント複合に対応づける。
【0123】前にも説明した通り、プロパティはIRツリ
ー40のタスクノード内に含まれてもよい。ここでプロ
パティは、少なくとも1つのタスクノード用の詳細なレ
イアウトプロパティ、少なくとも1つのタスク優先プロ
パティ、少なくとも1つの優先プロパティ、そして1つ
以上の対応するタスクノードに関連する少なくとも1つ
の分割可能なプロパティのことである。タスクノード用
の詳細なレイアウトプロパティは、例えばページ内でプ
ラットフォーム独立型のウィジェットの位置を提供す
る、レイアウトを制御するJava(登録商標)Gridbag に
似ている。タスク優先プロパティはブール(Boolean)機
能の配列として実装され、その配列は特定の異種装置プ
ラットフォームを表し、及び/または、タスクが特定の
プラットフォームに適しているかどうかを示す。優先プ
ロパティは、プラットフォーム独立型のウィジェット所
望のレイアウト結果を表すための整数(インテジャ)と
して実装される。分割可能なプロパティは、プラットフ
ォーム独立型のウィジェットが複数ページのプレゼンテ
ーションに拡散可能なことを表すブール機能として実装
される。
【0124】ある実施形態において、各々のタスクノー
ドは、対応するタスクノードの重要性を示している、少
なくとも1つの重要プロパティを含んでもよい。重要プ
ロパティは、タスクノードにより表されているプラット
フォーム独立型のウィジェットが、コアあるいはオプシ
ョンかということを示すブール機能として実装される。
【0125】コアプラットフォーム独立型のウィジェッ
トは、よく使われるプラットフォーム独立型のウィジェ
ット、あるいは拡張性のあるアプリケーション内におい
て主要なタスクを実行するプラットフォーム独立型のウ
ィジェットとして定義されてもよい。残りのプラットフ
ォーム独立型のウィジェットは、オプショナルのプラッ
トフォーム独立型のウィジェットとして定義されてもよ
い。例えば、図14における「サーチアイテムタスク」
コンテナノード44mは、前に説明した通り、3つの階
層的なサブタスク(コンテナノード44n,44p,44
q)を持っている。サーチアイテム実行のため、拡張性
のあるアプリケーションのエンドユーザはバーチャルテ
キスト領域412にアイテム名を入力し、そしてサーチ
処理を始める為にバーチャルボタン410を起動しても
よい。しかしながら本例において、分類優先タスクと表
示選択タスクはサーチ結果を表示するための付加的な機
能なので、エンドユーザは両タスクを特定させる必要は
ない。このように、サーチタスク(コンテナノード44
n)と関連のあるプラットフォーム独立型のウィジェッ
トはコアとして特定され、そして結果分類タスク(コン
テナノード44p)、および結果表示タスク(コンテナノ
ード44q)と関連のあるプラットフォーム独立型のウ
ィジェットはアプリケーション開発者によるオプション
と特定されてもよい。
【0126】再び図13に戻り、中間表現におけるアプ
リケーション開発者により特定されたプロパティは、タ
スクマネージャ18と変換マネージャモジュール20に
より利用されてもよい。GUIのマイグレーション中にお
いて、変換マネージャモジュール20はタスク優先プロ
パティを利用し、タスクマネージャ18は残りのプロパ
ティを利用してもよい。
【0127】図15は、第1異種装置プラットフォーム
302から第2異種装置プラットフォーム304へ、GU
Iアプリケーションの実行状態がマイグレーションする
プロセスを表しているフロー図である。同図のGUIアプ
リケーションのマイグレーションにおいて、プラットフ
ォーム特定型のプレゼンテーションは、以前カスタマイ
ズモジュール14におけるプラットフォーム独立型のプ
レゼンテーションモデルから生成され、そして第1異種
装置プラットフォーム302へ提供されていた。第1異
種装置プラットフォーム302は、プラットフォーム特
定型のプレゼンテーションに基づき、対応する表示画面
上に対話式の表示を提供してもよい。
【0128】第1プラットフォーム302上に表示され
る、プラットフォーム特定型のプレゼンテーション内の
プラットフォーム特定型のウィジェットの実行状態がシ
リアル化された時、動作は始まる。(ブロック502)プ
ラットフォーム特定型のウィジェットのシリアル化され
た実行状態と共に、マイグレーションのターゲット装置
として第2異種装置プラットフォーム304を特定する
マイグレーション要求は、ネットワーク208経由でサ
ーバ306へ伝達される。(ブロック504)プラットフ
ォーム独立型のプレゼンテーションモデルに含まれてい
るプラットフォーム独立型のウィジェットは、第1プラ
ットフォーム302が提供するプラットフォーム特定型
のウィジェットの実行状態により更新される。(ブロッ
ク506)プラットフォーム独立型のプレゼンテーショ
ンモデルのコピーが作られる。(ブロック508)
【0129】サーバ306は、第2異種装置プラットフ
ォーム304のGUI能力を調査し、そして表示画面サイ
ズ、ユーザ入力メカニズム等のユーザインターフェイス
関連の能力を確認する。(ブロック510)タスクマネ
ージャ18はタスク優先プロパティを利用し、プラット
フォーム独立型のプレゼンテーションモデルのコピーか
ら不必要なタスクノードを除去し、そして第2異種装置
プラットフォーム304用にプラットフォーム特定型の
プレゼンテーションの生成を始める。(ブロック51
2)
【0130】変換マネージャモジュール20はプラット
フォーム独立型のプレゼンテーションモデルのコピーか
らノードを選択し、ノードに関連するプラットフォーム
独立型のウィジェットを、第2異種装置プラットフォー
ム304用に、プラットフォーム特定型のウィジェット
へマップする。(ブロック514)プラットフォーム特
定型のウィジェットは、プラットフォーム特定型のプレ
ゼンテーションのページ上に配置される。(ブロック5
16)ここでページサイズが、第2異種装置プラットフ
ォーム304の表示画面より大きいかどうかを判定す
る。(ブロック518)もしページサイズが大きすぎて
表示画面に適さない場合、変換マネージャモジュール2
0は、プラットフォーム独立型のプレゼンテーションモ
デルのコピーからプラットフォーム独立型のウィジェッ
トをカスタマイズし、1あるいはそれ以上のページを表
示画面520へと適合させる。(ブロック520)カス
タマイズされたプラットフォーム独立型のウィジェット
は、プラットフォーム特定型のプレゼンテーション用の
プラットフォーム特定型のウィジェットへマップされ
る。(ブロック522)プラットフォーム独立型のプレ
ゼンテーションモデルにおけるプラットフォーム独立型
のウィジェットの実行状態が、プラットフォーム特定型
のプレゼンテーション用のプラットフォーム特定型のウ
ィジェットの実行状態へ適用される。(ブロック52
3)
【0131】プラットフォーム独立型のプレゼンテーシ
ョンモデル内において、未処理のノードがないかどうか
を判定する。(ブロック524)もしイエスなら動作は
ブロック514へ戻り、別ノードを選択し、対応するプ
ラットフォーム特定型のウィジェットをページ等へ追加
し、そしてプラットフォーム特定型のプレゼンテーショ
ンの生成を続ける。もしノーなら、プラットフォーム特
定型のプレゼンテーションにより利用されるプラットフ
ォーム特定型のプレゼンテーションの生成されたペー
ジ、プラットフォーム独立型のプレゼンテーションモデ
ルの最終コピー、および拡張性のあるGUIライブラリ1
2の一部分を第2異種装置プラットフォーム304へ送
信する。(ブロック526)もしページが表示画面に適
していたら(ブロック518)、動作はそのままブロッ
ク524へと進み、未処理のノードがないかどうかを判
定する。第2異種装置プラットフォーム304のレンダ
ーマネージャモジュール516は、送信されたプラット
フォーム特定型のプレゼンテーション上、プラットフォ
ーム独立型のプレゼンテーションモデルの最終コピー
上、および拡張性のあるGUIライブラリ12の一部分を
使っている表示画面上にプレゼンテーションを表示す
る。
【0132】ページに適したプラットフォーム特定型の
プレゼンテーションの生成中におけるカスタマイズは、
ウィジェットのレイアウトカスタマイズとウィジェット
の変換カスタマイズを含んでいてもよい。このようなカ
スタマイズは、次における要件に基づいている。(1)
アプリケーション開発者が特定した最低限の指示によ
り、比較的高品質のプレゼンテーションを生成する。
(2)プレゼンテーション生成の遅れを最小限にするた
め、カスタマイズを比較的シンプルにする。(3)プラ
ットフォーム特定型のプレゼンテーション全体のページ
を見るため、表示画面上においてスクロールを避ける。
【0133】前にも設明した通り、レイアウトカスタマ
イズは、IRツリーにおける各々のノード処理、およびペ
ージ内において関連のあるプラットフォーム特定型のウ
ィジェットを配置することを含んでもよい。またレイア
ウトカスタマイズ中におけるプラットフォーム特定型の
ウィジェットの配置において、ページを最適化して、タ
ーゲット装置異種プラットフォームの表示画面に適合さ
せる変換を実行してもよい。プラットフォーム特定型の
ウィジェットの最初のレイアウトは、アプリケーション
開発者が特定するノードに関連したプラットフォーム特
定型のウィジェットのレイアウトプロパティに基づいて
もよい。レイアウトプロパティは、レイアウトを制御す
るJava(登録商標)Gridbagに類似のものであってよい
し、かつページ上で対応するプラットフォーム特定型の
ウィジェットの相対的な位置を示すものであってもよ
い。もしページサイズがターゲット異種装置プラットフ
ォームの表示画面に適合していないなら、プラットフォ
ーム独立型のウィジェットをカスタマイズすることによ
り、プラットフォーム特定型のウィジェットのレイアウ
トは更にカスタマイズされる。
【0134】更にレイアウトカスタマイズは、フローレ
イアウトマネージャを使いながら、ページ内にあるプラ
ットフォーム独立型のウィジェットを再配置再配置して
もよい。フローレイアウトマネージャを使うプラットフ
ォーム独立型のウィジェットの再配置においては、例え
ば、プラットフォーム独立型のウィジェットを一列では
なく、一列以上に配置すること等を含めてもよい。再配
置されたプラットフォーム独立型のウィジェットは、プ
レゼンテーションのページが表示画面のサイズを超える
プラットフォーム特定型のウィジェットに対応する、プ
ラットフォーム独立型のウィジェットであってもよい。
一方、物理的な空間や優先度などのクライテリアは、動
的な再配置用に、ページ内のプラットフォーム特定型の
ウィジェットに対応している、どのプラットフォーム独
立型のウィジェットを選択するかを決定してもよい。
【0135】フローレイアウトマネージャは、変換マネ
ージャモジュール20により起動されてもよいし、ある
いは変換マネージャモジュール20の一部分であっても
よい。フローレイアウトマネージャは、Java FlowLayou
tである。さらに、分割可能なプロパティとしてアプリ
ケーション開発者に特定され、かつSGUIコンポーネント
複合であるプラットフォーム独立型のウィジェットは、
SGUIコンポーネント単体に分割されてもよい。SGUIコン
ポーネント単体がマップされるプラットフォーム特定型
のウィジェットは、SGUIコンポーネント単体あるいはそ
の他のプロパティに関連する優先プロパティに基づきな
がら、プレゼンテーションの複数のページ間において分
配されてもよい。分割されたSGUIコンポーネント単体の
レイアウトは、フローレイアウトマネージャで実行され
てもよい。ここでSGUIコンポーネント複合は、アプリケ
ーション開発者により、非分割として特定されてもよ
い。以下におけるカスタマイズにおいて、プレゼンテー
ションのページが表示画面に適さない場合、変換カスタ
マイズを起動してもよい。
【0136】変換カスタマイズは、変換ルールのアプリ
ケーションを含んでいてもよい。変換ルールは、ターゲ
ット異種装置プラットフォームの表示画面に適合させる
ため、ページ内におけるプラットフォーム特定型ウィジ
ェットの適切なサイズ変換実現の為に適用されてもよ
い。変換カスタマイズの目的は、プレゼンテーションの
ページサイズを縮小し、異種装置プラットフォームの表
示画面内に丁度適合させることにより、スクロールの使
用を避けることである。
【0137】変換カスタマイズ中において、変換マネー
ジャモジュール20は、どのプラットフォーム独立型の
ウィジェットが変換され、そしてどのようにプラットフ
ォーム独立型のウィジェットが変換されるかを決定して
もよい。どのプラットフォーム独立型のウィジェットを
変換するかの決定は、変換可能で、かつ変換ルーツをト
リガするプラットフォーム独立型のウィジェットを特定
する事に基づいてよい。変換ルールをトリガするプラッ
トフォーム独立型のウィジェットは、プレゼンテーショ
ンのページサイズが表示画面のサイズを超えてしまう原
因となるプラットフォーム特定型のウィジェットへマッ
プする、非分割なSGUIコンポーネント単体、あるいは非
分割なSGUIコンポーネント複合であってもよい。
【0138】プラットフォーム独立型のウィジェットが
どのように変換するかは、特定されたウィジェットに基
づいている。プラットフォーム独立型のウィジェットが
SGUIコンポーネント単体な場合、変換ルールがそのSGUI
コンポーネント単体に適用されてもよい。しかしなが
ら、プラットフォーム独立型のウィジェットがSGUIコン
ポーネント複合である場合、SGUIコンポーネント複合内
にあるSGUIコンポーネント単体の各々は、SGUIコアコン
ポーネントとSGUIオプショナルコンポーネントとしてカ
テゴリー化される。SGUIコンポーネント複合内にあるSG
UIコンポーネント単体のカテゴリー化は、プレゼンテー
ションモデルのタスクにおいて、アプリケーション開発
者が特定する重要プロパティに基づいてもよい。
【0139】プラットフォーム独立型のウィジェット
を、よりコンパクトなウィジェットにする変換はGUIの
有用性を劣化させるかもしれないので、変換ルールはSG
UIオプショナルコンポーネントに適用される。もし重要
プロパティによるSGUIオプショナルコンポーネントが特
定されていない場合、あるいはページをターゲット異種
装置プラットフォームへ適合させるためSGUIオプショナ
ルコンポーネントのサイズを縮小することが適切でない
場合、変換ルールはSGUIコアコンポーネントへ適用され
てもよい。
【0140】また変換マネージャモジュール20は、複
数のルールの中から最も適した変換ルールを決定するこ
とにより、プラットフォーム独立型のウィジェット(SGU
Iコンポーネント単体)を変換してもよい。ここで言う適
切な変換ルールとは、対応するプラットフォーム特定型
のウィジェットのサイズを変換し、表示画面のサイズに
適合させることである。変換ルールは、次の4つのタイ
プにカテゴリー化されてもよい。(1)「1から1タイ
プへの変換ルール」(2)「1から複数タイプへの変換
ルール」(3)「複数の同クラスから1タイプへの変換
ルール」(4)「複数から複数タイプへの変換ルール」
【0141】「1対1タイプへの変換ルール」とは、プ
ラットフォーム独立型のウィジェット(SGUIコンポーネ
ント単体)を別のプラットフォーム独立型のウィジェッ
ト(SGUIコンポーネント単体)に変換することである。例
を挙げると、図5における第1SGUIコンポーネント70
は、1から1タイプの変換ルールにより、第2SGUIコン
ポーネント72であるドロップダウンボックスに変換さ
れる。「1から複数タイプへの変換ルール」とは、プラ
ットフォーム独立型のウィジェット(SGUIコンポーネン
ト単体)を複数のプラットフォーム独立型のウィジェッ
ト(各々のSGUIコンポーネント単体)へ変換することで
ある。例を挙げると、データテーブルを表している単一
のプラットフォーム独立型のウィジェットが、複数のデ
ータリストを表している単一のプラットフォーム独立型
のウィジェット、あるいは複数のデータリストを表して
いる単一のプラットフォーム独立型のウィジェットに変
換されてもよい。
【0142】「複数の同クラスから1タイプへの変換ル
ール」とは、同じクラスに属する複数のプラットフォー
ム独立型のウィジェット(各々のSGUIコンポーネント単
体)を、プラットフォーム独立型のウィジェット(SGUIコ
ンポーネント単体)に変換することである。例を挙げる
と、同じクラスにあり、かつラジオボタンを表している
複数の単一のプラットフォーム独立型のウィジェット
は、リストあるいはドロップダウンボックスを表してい
る単一のプラットフォーム独立型のウィジェットに変換
されてもよい。同様に、テキスト領域あるいはラベルを
表している、いくつかの単一のプラットフォーム独立型
のウィジェットは、各々1つのテキスト領域、あるいは
ドロップダウンボックスを表している単一のプラットフ
ォーム独立型のウィジェットに変換されてもよい。
【0143】「複数から複数タイプへの変換ルール」と
は、異なるクラスに属する複数のプラットフォーム独立
型のウィジェットを、別の対応する複数のプラットフォ
ーム独立型のウィジェットに変換することである。各々
の複数から複数タイプへの変換ルールは、「1つ以上の
複数の同クラスから1タイプへの変換ルール」、及びフ
ォーム記入関係のような、異なるプラットフォーム独立
型のウィジェット間における対応関係を含んでいてもよ
い。
【0144】フォーム記入とは、拡張性のあるアプリケ
ーションのエンドユーザが入力したデータをプラットフ
ォーム特定型のウィジェット形式で表すことを可能にす
る、プラットフォーム独立型のウィジェット間における
関係を示している。言い換えれば、第1プラットフォー
ム特定型のプレゼンテーションにあるプラットフォーム
特定型のウィジェットの状態を、第2プラットフォーム
特定型のプレゼンテーションへ変換されたプラットフォ
ーム特定型のウィジェットと同様の状態にすることであ
る。プラットフォーム独立型のウィジェット間における
関係は、開発者、知識ベース型システム、実験、あるい
はプラットフォーム独立型のウィジェットと変換された
プラットフォーム独立型のウィジェット間において関係
を作るその他のメカニズムにより、プラットフォーム独
立型のプレゼンテーションモデルにおいて提供可能であ
る。
【0145】例えば、図6にあるデータエントリ80に
あるラベル(例:「アイテム名」、「ブランド名」)はピ
ックリスト86に変換され、そして対応するデータエン
トリ領域は、拡張性のある「複数の同クラスから1タイ
プへの変換ルール」を利用している単一のデータエント
リ88へと変換される。これら2つの変換は、プラット
フォーム独立型のプレゼンテーションモデル、およびプ
ラットフォーム特定型モデルにおけるフォーム記入関係
にリンクさせてもよい。
【0146】変換マネージャモジュール20により、
「複数の同クラスから1タイプへの変換ルール」、およ
び「複数から複数タイプへの変換ルール」で変換された
プラットフォーム独立型のウィジェットを、他のプラッ
トフォーム独立型のウィジェットへリンクさせてもよ
い。リンクは、プレゼンテーション内の2つ以上のプラ
ットフォーム特定型のウィジェット間における動作関係
(例:図14のバーチャルボタン410とバーチャルテ
キスト領域412間における動作関係)に関連してい
る。第1プラットフォーム特定型のウィジェットと第2
プラットフォーム特定型のウィジェット間におけるリン
クは、第1プラットフォーム特定型のウィジェットの状
態を変化させることになり、かつ第2プラットフォーム
特定型のウィジェットの状態を変化させることになる。
プラットフォーム特定型のウィジェット間におけるリン
クは、プラットフォーム独立型のプレゼンテーションモ
デルにおいて、対応する第1&第2プラットフォーム独
立型のウィジェットのリンクにより提供されてもよい。
【0147】変換ルールが採用されると、オリジナルプ
ラットフォーム独立型のウィジェットの実行状態は別の
フォームで表されてもよい。異なる変換ルールが特定の
プラットフォームの制約に基づきオリジナルプラットフ
ォーム独立型のウィジェットに対して適用可能なので、
プラットフォーム特定型のウィジェットの実行状態が変
換可能となる。オリジナルプラットフォーム独立型のウ
ィジェットの実行状態は、プラットフォーム独立型のプ
レゼンテーションモデルに保存されてもよい。つまり、
変換されたプラットフォーム独立型のウィジェットの実
行状態は、オリジナルプラットフォーム独立型のウィジ
ェットの実行状態へとマップされてもよい。
【0148】変換されたプラットフォーム独立型のウィ
ジェットは、対応するプラットフォーム特定型のウィジ
ェットとしてターゲット装置の表示画面上に表示され
る、変換ルールにより選択された装置独立型のウィジェ
ットであってもよい。オリジナルプラットフォーム独立
型のウィジェットは、表示画面上に表示される、開発者
が選んだ装置独立型のウィジェットである。オリジナル
プラットフォーム独立型のウィジェットは、プラットフ
ォーム独立型のプレゼンテーションモデルに接続されて
もよい。同様に、変換が成功したとき、変換されたプラ
ットフォーム独立型のウィジェットもプラットフォーム
独立型のプレゼンテーションモデルに接続されてもよ
い。上記の両接続は、コンポーネントノード形式で表現
されてもよい。ここで各々のコンポーネントノードは、
少なくとも1つのプラットフォーム独立型のウィジェッ
トを表している。
【0149】実行状態の変換をするため、プラットフォ
ーム独立型のプレゼンテーションモデルは、オリジナル
プラットフォーム独立型のウィジェット及び変換された
プラットフォーム独立型のウィジェット両方のインスタ
ンスを含んでいてもよい。GUIのマイグレーションの実
行時間次第で、オリジナルプラットフォーム独立型のウ
ィジェットだけのインスタンス、あるいは変換されたプ
ラットフォーム独立型のウィジェットだけのインスタン
スが、同時にアクティブ状態になってもよい。
【0150】図16は、変換されたプラットフォーム独
立型のウィジェットの接続、及びアクティブ状態におけ
る変換されたプラットフォーム独立型のウィジェットの
変化を表しているプラットフォーム独立型のプレゼンテ
ーションモデル530の例である。図のプラットフォー
ム独立型のプレゼンテーションモデル530は、コンテ
ナノード532、及び関連性のある複数のオリジナルコ
ンポーネントノード534を有している。コンテナノー
ド532は、論理パネルであるプラットフォーム独立型
のウィジェットを表してもよい。また各々のオリジナル
コンポーネントノード534、及び関連のあるプラット
フォーム独立型のウィジェットは、パネル内のラジオボ
タン(RB)である、プラットフォーム独立型のウィジェッ
トを表してもよい。
【0151】プラットフォーム独立型のプレゼンテーシ
ョンモデルのコピー536による、プラットフォーム特
定型のプレゼンテーションの生成中において、矢印53
7で示されている変換が起こり得る。プラットフォーム
独立型のウィジェットへマップされるプラットフォーム
特定型のウィジェット(コンテナノード532)が大きい
ため、ターゲット異種装置の表示画面上に配置できない
時、この変換は起こる。例えば、コンテナノード532
を変えずに、ラジオボタン(オリジナルコンポーネント
ノード534)を表している全てのプラットフォーム独
立型のウィジェットを、変換されたコンポーネントノー
ド538(コンボボックス:CB)へ変換してもよい。コン
ボボックスは、ラジオボタンと類似の機能を提供する小
さなプラットフォーム独立型のウィジェットであっても
よい。
【0152】変換されたコンポーネントノード538
は、変換されたウィジェットを保存、あるいは表すため
のプラットフォーム独立型のプレゼンテーションモデル
のコピー536において作られた新しいコンポーネント
ノードであってもよい。以下の変換において、変換され
たコンポーネントノード538は、「変換された子供ノ
ード」としてコンテナノード532にリンクされること
により、新しい論理関係を形成してもよい。新しい論理
関係がアクティブになることにより、コンテナノード5
32とオリジナルコンポーネントノード534間におけ
る既存の論理関係と置き換えられてもよい。変換された
子供ノード(変換されたコンポーネントノード538)
は、コンテナノード532を特有の子供ノードとしても
よい。
【0153】コンテナノード532とオリジナルコンポ
ーネントノード534間における前の論理関係は、図1
6において点線で表されている、プラットフォーム独立
型のプレゼンテーションモデルのコピー536の論理参
照として保存されてもよい。しかしながらオリジナルコ
ンポーネントノード534は、開発者が明確に特定して
いない限り、コンテナノード532の子供ノードである
必要はない。このようにIRツリーのレイアウト構造にお
いて、オリジナルコンポーネントノード534は含まれ
ないことになる。またこの論理関係は、あるプラットフ
ォーム特定型のプレゼンテーションから別のプラットフ
ォーム特定型のプレゼンテーションへの実行状態のマイ
グレーション、及びイベント処理をサポートするのに保
存されてもよい。
【0154】最も最適な変換ルールを選択するため、ル
ールには種類に応じて優先順位が設定されていく。「複
数から複数タイプへの変換ルール」は大幅に全体のプレ
ゼンテーションを変え、そしてGUIの有用性を劣化させ
るので、「複数から複数タイプへの変換ルール」には、
最も低い優先度が割り当てられてもよい。その他の変換
ルールの優先度を決定するに当たって、変換マネージャ
モジュール20が各ルールを選択してもよい。
【0155】各変換ルールの選別機能により、オリジナ
ルプラットフォーム独立型のウィジェットが有する機
能、あるいはその他パラメータと適合性のない、変換さ
れたプラットフォーム独立型のウィジェットを作成する
変換ルールを削除してもよい。適合性のない機能には、
オリジナルプラットフォーム独立型のウィジェットが、
変換されたオリジナルプラットフォーム独立型のウィジ
ェットによりサポートされていない入力メカニズムを要
求する、変換ルールが含まれている。例えば、アプリケ
ーション開発者が、アクション実行のためにマウスイン
イベント(例:マウスの矢印がボタンを指しているとき
(クリックではない))に対応しているJ2MEDoJaボタン
へ、プラットフォーム独立型のウィジェット用のマッピ
ングを特定するとする。しかしながら、ソフトキーはマ
ウスインイベントをサポートしないので、変換カスタマ
イズの間、ボタンはソフトキーに変換されることはな
い。このように、当該プラットフォーム独立型のウィジ
ェット用に、かつ当該変換をサポートする変換ルール
は、選別機能により削除されてもよい。
【0156】変換マネージャモジュール20は、一連の
スペース縮小パラメータに基づき、変換ルールに優先順
位を付けてもよい。スペース縮小パラメータの優先順位
とは、変換に基づくプラットフォーム独立型のウィジェ
ットのサイズ、及び/または変換ルールをプラットフォ
ーム独立型のウィジェットに適用することから生じるサ
イズ縮小量に基づいてもよい。プラットフォーム独立型
のプレゼンテーションにあるプラットフォーム独立型の
ウィジェットにおけるスペース縮小とは、対応するプラ
ットフォーム独立型のウィジェットにおけるスペース縮
小により特定される。
【0157】最小のスペース縮小を提供する変換ルール
には、最も高い優先順位が与えられてもよい。あまりコ
ンパクトでない対応するプラットフォーム特定型のウィ
ジェットは、コンパクトなプラットフォーム特定型のウ
ィジェットより高いGUIの有用性を持っているので、最
も高い優先順位は最小のスペース縮小を提供する変換ル
ールに与えられてもよい。スペース縮小パラメータは、
プラットフォーム独立型のウィジェットの幅縮小率、高
さ縮小率、そして大きさ縮小率を含んでいてもよい。
【0158】変換ルールをトリガさせるプラットフォー
ム独立型のウィジェットの状態に基づいて、スペース縮
小パラメータの優先順位は変更されてもよい。例えばプ
ラットフォーム独立型のウィジェット用の変換ルール
が、幅があって、かつ対応するプラットフォーム独立型
のウィジェットによりトリガされると、幅縮小率が最も
重要なパラメータとして特定されてもよい。次に高さ縮
小率が2番目に重要なパラメータとして特定された場
合、大きさ縮小率は無視されてもよい。同様に変換ルー
ルが、高すぎるプラットフォーム特定型のウィジェット
によりトリガされると、高さ縮小率が最も重要なパラメ
ータとして特定され、次に幅縮小率が2番目に重要なパ
ラメータとして特定されるので、大きさ縮小率は無視さ
れてもよい。また変換ルールが、幅と高さが両方あり過
ぎるプラットフォーム特定型のウィジェットによりトリ
ガされると、大きさ縮小率が最も重要なパラメータとし
て特定され、残りのパラメータ(幅と高さ縮小率)は無視
されてもよい。
【0159】変換ルールをタイプ化するカテゴライゼー
ション、選別、およびスペース縮小を実行することによ
り、各々に対し優先順位が付けられてもよい。また、タ
イプ化のカテゴライゼーション、選別、またはスペース
縮小だけを利用することにより、優先順位が付けられて
もよい。さらに、タイプ化のカテゴライゼーション、選
別、またはスペース縮小のいかなる組み合わせや順番な
どを利用することにより、優先順位が付けられてもよ
い。
【0160】異種装置プラットフォームがJava技術を用
いて拡張性のあるアプリケーションを実行することに関
し、変換ルールはJavaクラスで特定されてもよい。各々
の変換ルールは、1つのJavaクラスで表される。クラス
の詳細に関して、実行状態及びイベント処理の変換が、
プラットフォーム独立型のウィジェット用のアプリケー
ション開発者によって特定されてもよい。
【0161】例えば図6のような変換を実施する、Java
を用いて作成される変換ルールの例を以下に示す。 プライベートクラスのフォーム記入の変換 /*プラットフォーム特定型のウィジェット変換*/ ・新しいプラットフォーム独立型のウィジェット(ドロ
ップダウンボックス(DD1))の構成 ・バーチャルな「アイテム名」、「ブランド名」等、ラ
ベルのプロパティ(例:フォントサイズ)をDD1へコピー ・バーチャルテキスト領域(TF1)の構成 ・バーチャルな「アイテム名」、「ブランド名」等、テ
キスト領域のプロパティをTF1へコピー /*実行状態の変換*/ ・オリジナルのバーチャルラベルとテキスト領域のペア
例を、以下のJavaハッシュテーブルに記録: ・拡張性のある選択イベントのリスナー(イベントライ
ブラリからの)をDD1へ追加、そしてアクションを特
定。よってエンドユーザがアイテムをDD1 (例:アイテ
ム名) から選択すると、それに対応する物(例:ボトル
水)がハッシュテーブルから選択される。 ・その物をTF1上に表示する。 /*イベント処理の変換*/ ・エンドユーザがエンターキー、あるいは相当のキーを
ヒットした時、「アイテム名」、あるいは「ブランド
名」等、テキスト領域にある物が自動的に更新されるこ
とをアプリケーション開発者は特定する。 ・マイグレーション後に、エンターキーイベントが受信
されたら、TF1上に、例えば「コーラ」のような物を入
力する。 ・例えば「アイテム名」のような、今選択されたアイテ
ムをDD1上に入力する。・ハッシュテーブル上におい
て、選択されたアイテムのタイトルを検索し、そしてそ
れに対応するアイテム(物)を更新する。 ・イベントの出所として入力された「アイテム名」、及
び新しい物として入力された「コーラ」を用いてイベン
トを作成する。 ・オリジナルの状態と変換された状態を同期化させるた
め、イベントをオリジナルのバーチャル「アイテム名」
テキスト領域へ送信。
【0162】図17は、図13と図14を参照して説明
されるレイアウトカスタマイズのプロセス、及び変換カ
スタマイズのプロセスの実施形態を表すフロー図であ
る。動作はIRツリーのルートノード44aを現在ノード
に設定することから始まる。(ブロック540)現在ノー
ドの未処理である直接子供ノードがあるかどうかを判定
する。(ブロック542)イエスなら、最も高い優先順位
の未処理の直接子供ノードが現在ノードへ設定され(ブ
ロック544)、処理はブロック542へ戻る。もし未
処理の直接子供ノードがないなら、現在ノードはルート
ノード44aであるかどうかを判定する。(ブロック5
46)もしイエスなら、プラットフォーム特定型のプレ
ゼンテーション、プラットフォーム独立型のプレゼンテ
ーション、及び拡張性のあるGUIライブラリ12の関連
性のある部分が、ターゲット異種装置プラットフォーム
へ送信される。(ブロック548)
【0163】もし現在ノードがルートノード44aでな
い場合、プラットフォーム特定型のプレゼンテーション
モデル内で現在ノードと関連のあるサブノードで表され
ているプラットフォーム特定型のウィジェットが、アプ
リケーション開発者によって特定されているプロパティ
に基づいて、ページ上に配置されてもよい。(ブロック
550)プロパティは、ページ上でプラットフォーム特
定型のウィジェットの位置を示すため、レイアウトを制
御するJava Gridbag に類似であってもよい。ページの
サイズが算出される。(ブロック552)ページのサイズ
が、ターゲット表示画面のサイズと比較される。(ブロ
ック554)もしページが、ターゲット表示画面内に適
合するなら、現在ノードに関連しているプラットフォー
ム独立型のウィジェットが、プラットフォーム独立型の
プレゼンテーションモデルのコピー内に保存される。
(ブロック556)処理済みの現在ノードがマークされ
(ブロック558)、別の現在ノードを選択するため
に、動作はブロック540へ戻る。一方ページのサイズ
が、ターゲット表示画面より大きいのなら(ブロック5
54)、フローレイアウトマネージャを使っているプラ
ットフォーム独立型のウィジェットを再配置することに
より、プラットフォーム特定型のウィジェットはページ
内で動的に再配置される。(ブロック560)
【0164】図18に進み、ページのサイズが、再びタ
ーゲット表示画面のサイズと比較される(ブロック56
2)。もしページがターゲット表示画面に適合するのな
ら、動作はブロック556へと戻り、プラットフォーム
特定型のプレゼンテーションのコピー内においてプラッ
トフォーム独立型のウィジェットを保存する。もしペー
ジがまだターゲット表示画面のサイズより大きいのな
ら、現在ノード(プラットフォーム独立型のウィジェッ
ト)、あるいは他の関連するノードが分割可能かどうか
を判定する(ブロック564)。ブロック566でイエ
スと判定されたなら、少なくとも第2ページがインスタ
ンス化される。プレゼンテーションがページに適合する
まで、特定された分割ノードに関連しているプラットフ
ォーム特定型のウィジェットが、フローマネージャを使
うことにより第1ページと少なくとも第2ページの間で
分配される(ブロック568)。プラットフォーム独立
型のウィジェットが、プラットフォーム独立型のプレゼ
ンテーションのコピー内において保存される。(ブロッ
ク569)処理済みの現在ノードがマークされ(ブロッ
ク570)、別の現在ノードを選択するために、動作は
ブロック540へ戻る。
【0165】関連のあるサブノード、あるいは現在ノー
ドのいずれもが分割できない場合(ブロック564)、
現在ノードと関連のある変換可能なプラットフォーム独
立型のウィジェットが特定される。(ブロック574)プ
ラットフォーム独立型のウィジェットが、SGUIコンポー
ネントであるかどうかの判定が実行される。(ブロック
576)もしプラットフォーム独立型のウィジェットがS
GUIコンポーネントであるなら、複合ウィジェット内に
あるSGUIコンポーネント単体は、重要プロパティに基づ
いたSGUIコアコンポーネント、及びSGUIオプショナルコ
ンポーネントとして、カテゴリー化される。(ブロック
578)
【0166】図19に進み、SGUIオプショナルコンポー
ネントが全て処理されたかどうかを判定する。(ブロッ
ク580)もしノーなら、次の未処理のSGUIオプショナ
ルコンポーネントが選択される。(ブロック582)適
用可能な全ての変換ルールが、選択された全てのSGUIコ
ンポーネント用に検索される。(ブロック584)検索
された変換ルールが、4つある変換ルールの中の1つと
して特定される。(ブロック586)「複数から複数タ
イプへの変換ルール」に対し、最も低い優先順位が付け
られる。(ブロック588)残りの3つの変換ルールにつ
いては選別され、不適合なルールが除去される。(ブロ
ック590)残り3つの変換ルールに関して、変換され
たSGUIコンポーネントの予想されるスペース縮小量が算
出される。(ブロック592)
【0167】図20に進み、スペース縮小量に基づい
て、残りの変換ルールに対しても優先順位が付けられ
る。(ブロック594)最も高い優先順位(最も少ない
スペース縮小)を持つ変換ルールが、SGUIコンポーネン
トに適用される。(ブロック596)変換されたSGUIコ
ンポーネントが、プラットフォーム特定型のウィジェッ
トへマップされる。(ブロック598)プラットフォー
ム特定型のウィジェットが、フローレイアウトマネージ
ャにより、ページ内に配置される。(ブロック599)
ここでページが、ターゲット異種装置プラットフォーム
の表示画面より大きいかどうかを判断する。(ブロック
600)もしノーなら、動作は図17のブロック556
に戻り、プラットフォーム独立型のプレゼンテーション
モデル等のコピー内に、現在ノードと関連したプラット
フォーム独立型のウィジェットを保存する。もしページ
がまだ大きすぎるのなら、プラットフォーム独立型のウ
ィジェット内の全てのSGUIコンポーネントが処理された
かどうかを判定する。(ブロック602)もしノーな
ら、動作は図19のブロック580へ戻る。もしプラッ
トフォーム独立型のウィジェットにおける全てのSGUIコ
ンポーネントが処理されているのなら、対応するプラッ
トフォーム独立型のウィジェット用のノードが、処理さ
れたものとしてマークされる。(ブロック604)現在
ノードと関連している全ての変換可能なプラットフォー
ム独立型のウィジェットが、処理されたどうかを判定す
る。(ブロック606)もしノーなら、動作は図18のブ
ロック574に戻り、その他の変換可能なプラットフォ
ーム独立型のウィジェットを特定する。もし現在ノード
と関連している全ての変換可能なプラットフォーム独立
型のウィジェットが処理されたなら、ノードを縮小する
ことが不可能だというアラームがアプリケーション開発
者用に生成され(ブロック608)、別の現在ノードを
選択するため、動作は図17のブロック504へ戻る。
【0168】図19に戻り、プラットフォーム独立型の
ウィジェットにおける全てのSGUIオプショナルコンポー
ネントが処理された(あるいは存在しないか)と判断さ
れると(ブロック580)、未処理のSGUIコアコンポー
ネントが選択され(ブロック610)、動作はブロック
584へと進む。図18に戻るが、プラットフォーム独
立型のウィジェットがSGUIコンポーネント複合でなけれ
ば、動作は図19のブロック584へと進み、SGUIコン
ポーネント複合を持つプラットフォーム独立型のウィジ
ェットに似た、SGUIコンポーネント単体を持つプラット
フォーム独立型のウィジェットの処理をする。
【0169】図13へ戻り、実行状態の変換、及びプラ
ットフォーム独立型のウィジェットのイベント処理は、
変換カスタマイズの一部分として起こってもよい。前に
も述べたが、マイグレーションしたプレゼンテーション
は、オリジナルのプレゼンテーションから、異なる一連
のプラットフォーム独立型のウィジェットを採用しても
よい。エンドユーザ用にアプリケーションの継続性を保
つため、オリジナルプラットフォーム特定型のプレゼン
テーションにおけるプラットフォーム特定型のウィジェ
ットの実行状態は、マイグレーションしたプラットフォ
ーム特定型のプレゼンテーションにおけるプラットフォ
ーム特定型のウィジェットへマップされてもよい。
【0170】実行状態のマイグレーションを、拡張性の
あるGUIライブラリ12を用いて実行することにより、
第1プラットフォーム特定型のプレゼンテーションにお
けるプラットフォーム特定型のウィジェットの現実行状
態が、プラットフォーム独立型のプレゼンテーションモ
デル(中間プレゼンテーション)内の対応するプラットフ
ォーム独立型のウィジェットへマップされてもよい。プ
ラットフォーム独立型のプレゼンテーションモデルのコ
ピーがコピー&削除された後、ターゲット異種装置プラ
ットフォーム用の第2プラットフォーム特定型のプレゼ
ンテーションの開発中に、ノードに関連した対応してい
るプラットフォーム特定型のウィジェットが、ページ内
に配置される。プラットフォーム独立型のプレゼンテー
ションモデルにおけるプラットフォーム独立型のウィジ
ェットの実行状態が、第2プラットフォーム特定型のプ
レゼンテーションにおいて、対応しているプラットフォ
ーム特定型のウィジェットの実行状態として適用されて
もよい。したがって、第1プラットフォーム特定型のプ
レゼンテーションの現実行状態が、第2プラットフォー
ム特定型のプレゼンテーションにおいて実装されてもよ
い。
【0171】マイグレーションの前に、プラットフォー
ム特定型のウィジェットの現実行状態と、それに対応す
るプラットフォーム独立型のウィジェットの現実行状態
を同期させてもよい。この同期化には、外観、状態変
化、あるいは/またはプラットフォーム特定型のウィジ
ェットから入手されたデータを有する、プラットフォー
ム独立型のウィジェットの実行状態を更新することを含
んでもよい。ターゲット異種装置プラットフォーム用の
プラットフォーム特定型プレゼンテーションの開発中に
おいて、プラットフォーム独立型のウィジェットの実行
状態が保存されてもよい。マイグレーションに続いて、
プラットフォーム独立型のウィジェットの実行状態が検
索され、そしてプラットフォーム特定型のプレゼンテー
ションを用いる、マイグレーションしたプラットフォー
ム特定型のウィジェット上にプラットフォーム独立型の
ウィジェットの実行状態が表わされる。
【0172】GUIのマイグレーションのイベント中に、
変換ルールが適用されたとき、オリジナルプラットフォ
ーム独立型のウィジェットの現実行状態を変換されたプ
ラットフォーム独立型のウィジェットにマップすること
により、類似のプロセスが実行されてもよい。変換され
たプラットフォーム独立型のウィジェットは、プラット
フォーム特定型のプレゼンテーションにおけるプラット
フォーム特定型のウィジェットへマップされてもよい。
プラットフォーム特定型のプレゼンテーションを達成す
る為の、プラットフォーム独立型のプレゼンテーション
のレイアウト及び変換が実行されてもよい。(図17か
ら20において説明済み)
【0173】レイアウト及び変換中において、プラット
フォーム独立型のウィジェット(SGUIコンポーネント)が
プラットフォーム特定型のウィジェットへマップされる
と、SGUIコンポーネントライブラリにおけるAPIは、同
様にプラットフォーム独立型のウィジェットの状態をプ
ラットフォーム特定型のウィジェットの状態へマップし
てもよい。このようにGUIのマイグレーションが起こる
と、実行状態は、プラットフォーム独立型のプレゼンテ
ーションにおけるプラットフォーム独立型のウィジェッ
トとプラットフォーム特定型のプレゼンテーションにお
けるプラットフォーム特定型のウィジェットの間を往来
してもよい。
【0174】実行状態のマッピングは、各々の変換ルー
ルに対して特有のものなので、各々の変換ルールは実行
状態を変換できるメカニズムを提供してもよい。実行状
態の変換例が、Java(登録商標)コードを使って作成さ
れる変換ルールの例(前に説明済み)に含まれていてもよ
い。コード例に関して、全てのオリジナルのテキスト領
域の状態が、Javaハッシュテーブル(既に説明済み)に
保存される。変換されたテキスト領域は、ドロップダウ
ンボックスの状態に基づき、全てのオリジナルのテキス
ト領域の状態を一度に表示する。
【0175】実行状態の変換、またはマッピングの手順
は、異なるタイプの変換において適用されてもよい。例
えば、SGUIシステムの初期使用中やマイグレーション中
において、プラットフォーム独立型のウィジェットの実
行状態が、プラットフォーム特定型のウィジェットの実
行状態に変換される。さらにマイグレーションの前に、
プラットフォーム特定型のウィジェットの実行状態が、
プラットフォーム独立型のウィジェットの実行状態へ変
換されてもよい。さらに、プラットフォーム独立型のウ
ィジェットの実行状態が、別のプラットフォーム独立型
のウィジェットの実行状態へ変換されてもよい。(例:
プラットフォーム特定型のプレゼテーションの進展中
に、変換がトリガされた時)
【0176】図16を参照しながら説明した通り、例え
ばラジオボタンのセットのような、スペースを取り過ぎ
る複数の第1コンポーネントノード534は、コンボボ
ックスのような、新しい第2コンポーネントノード単体
538への変換が必要かもしれない。ラジオボタンの実
行状態からコンボボックスの実行状態への実行状態の変
換は、プラットフォーム独立型のラジオボタンの実行状
態から、マッピングを通して、プラットフォーム独立型
のコンボボックスの実行状態への変換を含んでもよい。
またマッピングを通して、プラットフォーム独立型のラ
ジオボタンの実行状態が、プラットフォーム独立型のコ
ンボボックスの実行状態へ変換されてもよい。さらに、
プラットフォーム特定型のコンボボックスからプラット
フォーム独立型のコンボボックスへ実行状態を変換す
る、実行状態のマッピングが実行されてもよい。プラッ
トフォーム独立型をプラットフォーム独立型の実行状態
の変換へ用いることにより、プラットフォーム独立型の
プレゼンテーションモデルは、ウィジェットの実行状態
を保存することが可能になる。
【0177】図21は、実行状態の変換とプラットフォ
ーム独立型のウィジェットのマッピング間における一般
的な動作を表しているプロセスのフロー図である。オリ
ジナルプラットフォーム独立型のウィジェットのタイプ
が特定されるところで、動作は始まる。(ブロック65
0)例えば、ウィジェットのタイプは、ラジオボタンタ
イプやコンボボックスタイプなどである。オリジナルプ
ラットフォーム独立型のウィジェットが、少なくとも1
つの変換されたプラットフォーム独立型のウィジェット
に変換される。(ブロック652)変換が成功すると、
変換されたウィジェットのタイプが特定される。(ブロ
ック654)オリジナルプラットフォーム独立型のウィ
ジェットの実行状態が検索される。(ブロック656)
実行状態が、決定された構成(例:配列)で保存され
る。(ブロック658)ウィジェットのタイプに応じ
て、オリジナルプラットフォーム独立型のウィジェット
の実行状態が、変換されたプラットフォーム独立型のウ
ィジェットの実行状態へ変換される。(ブロック66
0)変換された実行状態は、変換されたプラットフォー
ム独立型のウィジェットに関連づけて保存される。(ブ
ロック662)変換されたプラットフォーム独立型のウ
ィジェットが、プラットフォーム特定型のプレゼンテー
ション内のプラットフォーム特定型のウィジェットへマ
ップされる。(ブロック664)変換されたプラットフ
ォーム独立型のウィジェットの実行状態が、プラットフ
ォーム特定型のウィジェットの実行状態へマップされ
る。(ブロック666)変換されたプラットフォーム独
立型のウィジェットの実行状態が、変換されたプラット
フォーム特定型のウィジェット上に表される。(ブロッ
ク668)
【0178】イベント処理の変換は、GUIのマイグレー
ション後に、同レベルのGUIインタラクションを提供す
るので重要である。マウスボタンを押したり、あるいは
第1異種装置プラットフォーム上におけるプラットフォ
ーム特定型のウィジェットのタイプされた文字入力等の
イベントが、バーチャルイベント形成のために抽出され
てもよい。別の異種装置プラットフォームにおいて、上
記プラットフォーム特定型のウィジェットに対して同じ
入力を表している異なるイベントが、同様に同じバーチ
ャルイベント形成のために抽出されてもよい。異種装置
プラットフォーム上における異なるイベントが、バーチ
ャルイベントに基づいている、プラットフォーム独立型
のプレゼンテーションモデル内のプラットフォーム独立
型のウィジェットの同じ入力(を表している異なるイベ
ント)へマップされてもよい。
【0179】例えば図6が、J2SE SWINGプラットフォ
ームからJ2ME Personal Java AWT プラットフォームま
での、GUIのマイグレーションを表していると仮定す
る。マイグレーションの前において、エンドユーザは、
SWINGテキスト領域であるかもしれない「アイテム名」
として特定されているデータを、データエントリ80に
入力し、そしてSWINGイベントが生成されてもよい。SWI
NGイベントは、データベース内に「アイテム名」データ
を保存するアクションを引き起こしてもよい。マイグレ
ーション後において、SWINGテキスト領域がAWTテキスト
領域へと変換したとき、AWTテキスト領域がAWTイベント
のみをサポートしていたとしても、SWINGイベントは同
様のアクションを引き起こしてもよい。
【0180】拡張性のあるGUIライブラリ12を使うこ
とにより、SWINGイベントとAWTイベントが、汎用のバー
チャルイベント形成用に抽出されてもよい。このよう
に、汎用なバーチャルイベントが受信されたとき(例:
「アイテム名」データが入力されたとき)、それに関連
するアクションが引き起こされる。変換ルールがプラッ
トフォーム独立型のウィジェットに適用されたとき、上
記と同様な抽出が適用されてもよい。イベントマッピン
グは、各々の変換ルールに対して特有のものなので、各
々の変換ルールはまたイベント処理の変換を提供しても
よい。イベント処理の変換例は、Javaを用いて作成され
た変換ルールの例に関する個所で既に説明済みである。
(図6参照)コードに関して、イベントが、変換された
単一のデータエントリ88から生成されたとき、変換マ
ネージャモジュール20は、複数のデータエントリ80
内においてオリジナルのテキスト領域として動作し、そ
してアクションを引き起こすためにイベントを送信して
もよい。
【0181】実行状態の変換あるいはマッピングと同様
に、イベント処理の変換、あるいはマッピングも各々の
変換ルールに対して特有のものであってもよい。実行状
態とは違い、イベント処理は実行時間により異なるもの
ではないので、イベント処理のマイグレーションは必要
ではない。代わりに、少なくとも1つのオリジナルプラ
ットフォーム独立型のウィジェットのタイプ、及び少な
くとも1つの変換されたオリジナルプラットフォーム独
立型のウィジェットのタイプが特定される。そして、両
方のタイプを利用できるイベント処理のメカニズムが、
特定されてもよい。オリジナルプラットフォーム独立型
のウィジェットのイベント処理メカニズムは、変換され
たプラットフォーム独立型ウィジェットのイベント処理
メカニズムにマップされてもよい。マッピングにより、
オリジナルプラットフォーム独立型のウィジェットの状
態変化に影響を与えている、入出力機能が可能になる。
この機能は、変換されたプラットフォーム独立型ウィジ
ェットにより実行される。
【0182】既に記載済みのSGUIシステムは、拡張性の
あるアプリケーションのアプリケーションGUI用に装置
プラットフォーム独立型の動作を提供している。SGUIシ
ステムの拡張性により、拡張性のあるアプリケーション
は、異なるサイズの表示画面、入力方法、及び異種装置
プラットフォームのユーザインターフェイスに関連して
いるGUIライブラリでの動作が可能となる。さらに、SGU
Iシステム全体のデザインにより、拡張性のあるアプリ
ケーションが動作可能な異種装置プラットフォームのユ
ーザインターフェイスに関連する複雑性を回避しなが
ら、拡張性を有するアプリケーションの開発者は、手軽
にSGUIシステムを使うことができる。
【0183】SGUIシステムにより、拡張性のあるアプリ
ケーションにおいて、装置プラットフォーム独立型のア
プリケーションGUIの使用が可能になる。アプリケーシ
ョンGUIは、SGUIシステムがターゲット装置プラットフ
ォーム用にカスタマイズするプラットフォーム独立型の
プレゼンテーションモデルにより表されてもよい。プラ
ットフォーム独立型のプレゼンテーションモデルのカス
タマイズは、拡張性のあるアプリケーションにより特定
されるプロパティ、及びターゲット装置プラットフォー
ムの機能や性能に基づいてもよい。したがって、装置プ
ラットフォーム独立型のアプリケーションGUIは、複数
の異種装置プラットフォーム上において表示される装置
プラットフォーム特定型のアプリケーションGUI用に、S
GUIシステムによりカスタマイズされてもよい。
【0184】SGUIシステムは3つの長所を持っている。
1つめはGUIのマイグレーションのコンセプトである。
2つめはエンドユーザが、スクロール機能を使用しなく
ても、変換を用いることによりプレゼンテーションのペ
ージをターゲット異種装置プラットフォームの表示画面
に適合できることである。3つめは、SGUIシステムが有
する柔軟性により、アプリケーション開発者は、特定の
拡張性のあるアプリケーションのアプリケーションGUI
をベストサポートするアプリケーション特定型の変換ル
ールの設定することが可能になる。
【0185】本発明を説明するために、特定の実施形態
を使用したが、本発明の趣旨を逸脱しない範囲で、本発
明に対し種々の変更または付加を施すことは、当業者に
とって容易である。したがって、本出願における図面と
説明は、単なる実例に過ぎず、本発明を限定するもので
はない。
【0186】
【発明の効果】装置プラットフォーム独立型のモデルを
基に、プラットフォーム独立型のGUIウィジェットに対
応する、プラットフォーム特定型のGUIウィジェットは
ページ上に配置される。ページが表示画面のサイズと適
合しない場合は、プラットフォーム独立型のGUIウィジ
ェットは、ページ上で再配置される。さらに分割可能な
場合、プラットフォーム独立型のGUIウィジェットは、
プレゼンテーションの複数ページ内において分割されて
もよい。
【図面の簡単な説明】
【図1】 拡張性のあるグラフィカルユーザインターフ
ェイスシステムのブロック図である。
【図2】 図1に示す拡張性のあるグラフィカルユーザ
インターフェイスシステムの一部のより詳細なブロック
図である。
【図3】 図1に示す拡張性のあるグラフィカルユーザ
インターフェイスシステムが利用した中間表現の一例を
示した図である。
【図4】 図1に示す拡張性のあるグラフィカルユーザ
インターフェイスシステムの別の部分のより詳細なブロ
ック図である。
【図5】 図1に示す拡張性のあるグラフィカルユーザ
インターフェイスシステムを使っているグラフィカルユ
ーザインターフェイスコンポーネントの変換例を示す図
である。
【図6】 図1に示す拡張性のあるグラフィカルユーザ
インターフェイスシステムを使っているグラフィカルユ
ーザインターフェイスコンポーネント複合の変換例を示
す図である。
【図7】 図1に示す拡張性のあるグラフィカルユーザ
インターフェイスシステムの動作を示している流れ図で
ある。
【図8】 図7に示す流れ図の続きである。
【図9】 図7に示す流れ図の続きである。
【図10】 図1に示す拡張性のあるグラフィカルユー
ザインターフェイスシステムで動作している装置を有し
ている通信システムの一例である。
【図11】 図10に示す通信システム内の拡張性のあ
るグラフィカルユーザインターフェイスシステムの動作
を示す流れ図である。
【図12】 図11に示す流れ図の続きである。
【図13】 図1に示す拡張性のあるグラフィカルユー
ザインターフェイスシステムで動作している装置を有す
る通信システムの他の例である。
【図14】拡張性のあるグラフィカルユーザシステムが
利用しているプラットフォーム独立型のプレゼンテーシ
ョンモデルの例である。
【図15】図13の通信システム内をGUIマイグレーシ
ョンしている間における拡張性のあるグラフィカルユー
ザインターフェイスシステムの動作を示す流れ図であ
る。
【図16】図1の拡張性のあるグラフィカルユーザイン
ターフェイスシステムを使っているプラットフォーム独
立型のプレゼンテーションモデル内における変換例であ
る。
【図17】図13のグラフィカルユーザインターフェイ
スシステムでページをカスタマイズしている流れ図であ
る。
【図18】図16に示す流れ図の続きである。
【図19】図16に示す流れ図の続きである。
【図20】図16に示す流れ図の続きである。
【図21】図1の拡張性のあるグラフィカルユーザイン
ターフェイスにおける実行状態の変換例を表しているフ
ロー図である。
【符号の説明】
10……SGUIシステム、12……拡張性のある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コンポーネントノード)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウオング,ホイ リー キャンディー アメリカ合衆国,カリフォルニア州95110 サンノゼ,スイート300,メトロ ドラ イブ181 (72)発明者 チュー,ハオーファ アメリカ合衆国,カリフォルニア州95110 サンノゼ,スイート300,メトロ ドラ イブ181 (72)発明者 カタギリ マサジ アメリカ合衆国,カリフォルニア州95110 サンノゼ,スイート300,メトロ ドラ イブ181 (72)発明者 ソング,ユー アメリカ合衆国,カリフォルニア州95110 サンノゼ,スイート300,メトロ ドラ イブ181 (72)発明者 クラカケ ショウジ アメリカ合衆国,カリフォルニア州95110 サンノゼ,スイート300,メトロ ドラ イブ181 Fターム(参考) 5B069 AA01 BA00 CA00 JA01 JA02 JA06 5B076 DB04 DF08

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】 異種装置プラットフォーム間をマイグレ
    ーション可能なグラフィカルユーザインターフェイスア
    プリケーションのレイアウトを動的にカスタマイズする
    方法において、(a)プラットフォーム独立型のグラフィ
    カルユーザインターフェイスのウィジェットに関連して
    いるプロパティの関数として、プラットフォーム独立型
    のプレゼンテーションモデルにおいて、複数の当該プラ
    ットフォーム独立型のグラフィカルユーザインターフェ
    イスのウィジェットを配置する過程と、(b)異種装置プ
    ラットフォームの表示画面に適合しない、プラットフォ
    ーム独立型のグラフィカルユーザインターフェイスのウ
    ィジェットを調整する過程と、(c)前記表示画面に適合
    しない、異なるページ内において分割可能と指定された
    プラットフォーム独立型のグラフィカルユーザインター
    フェイスのウィジェットを特定する過程と、(d)前記特
    定されたプラットフォーム独立型のグラフィカルユーザ
    インターフェイスのウィジェットを、複数のページ内に
    おいて分割する過程とを有することを特徴とする方法。
  2. 【請求項2】 予想可能な最大の表示画面に適合させる
    ため、前記(a)過程は、プラットフォーム独立型のグラ
    フィカルユーザインターフェイスのウィジェットを配置
    する過程を有することを特徴とする請求項1に記載の方
    法。
  3. 【請求項3】 前記(a)過程は、前記プロパティで、前
    記表示画面において前記プラットフォーム独立型のグラ
    フィカルユーザインターフェイスのウィジェットの相対
    的な位置を指定する過程を有することを特徴とする請求
    項1に記載の方法。
  4. 【請求項4】 前記(a)過程の後に前記(b)過程が、前記
    表示画面のサイズを超えたプラットフォーム独立型のグ
    ラフィカルユーザインターフェイスのウィジェット上に
    おいて実行されることを特徴とする請求項1に記載の方
    法。
  5. 【請求項5】 前記(b)過程は、フローレイアウトマネ
    ージャを用いて、前記プラットフォーム独立型のグラフ
    ィカルユーザインターフェイスのウィジェットを動的に
    再配置する過程を更に有することを特徴とする請求項1
    に記載の方法。
  6. 【請求項6】 前記(b)過程を行なった結果、前記表示
    画面のサイズを超えたら、前記(c)過程と前記(d)過程が
    実行されることを特徴とする請求項1に記載の方法。
  7. 【請求項7】 フローレイアウトマネージャを用いて複
    数のページ内において分割される前記プラットフォーム
    独立型のグラフィカルユーザインターフェイスのウィジ
    ェットを動的に配置する(e)過程を更に有することを特
    徴とする請求項1に記載の方法。
  8. 【請求項8】 前記表示画面に適合せず、かつ分割不可
    能であると指定されているプラットフォーム独立型のグ
    ラフィカルユーザインターフェイスのウィジェットに対
    して、さらに変換ルールを適用する前記(e)過程を更に
    有することを特徴とする請求項1に記載の方法。
  9. 【請求項9】異種装置プラットフォーム間をマイグレー
    ション可能なグラフィカルユーザインターフェイスアプ
    リケーションのレイアウトをカスタマイズする方法にお
    いて、(a)異種装置プラットフォームの表示画面のプレ
    ゼンテーションサポート能力を判断する過程と、(b)前
    記決定されたプレゼンテーションサポート能力の関数、
    及びノードに関連するプロパティの関数として、プラッ
    トフォーム独立型のプレゼンテーションモデルにおい
    て、プラットフォーム独立型のグラフィカルユーザイン
    ターフェイスのウィジェットと関連している前記ノード
    を処理する過程と、(c)前記プロパティの関数として、
    ページ上にある前記プラットフォーム独立型のグラフィ
    カルユーザインターフェイスのウィジェットと対応する
    プラットフォーム特定型のグラフィカルユーザインター
    フェイスのウィジェットを配置する過程と、(d)前記ペ
    ージが表示画面に適合しない場合、複数のページ内にお
    いて前記プラットフォーム独立型のグラフィカルユーザ
    インターフェイスのウィジェットを分割する過程とを有
    することを特徴とする方法。
  10. 【請求項10】 前記(a)過程は、表示画面サイズ、あ
    るいはユーザ入力メカニズムのうちの少なくとも1つを
    有しているユーザインターフェイス能力を判断すること
    を特徴とする請求項9に記載の方法。
  11. 【請求項11】 前記(b)過程は、前記プラットフォー
    ム独立型のプレゼンテーションモデルにおける前記ノー
    ドの階層的な位置関数、及び前記ノード用に特定される
    優先順位のプロパティの関数として、前記ノードを選択
    することを特徴とする請求項9に記載の方法。
  12. 【請求項12】 前記ページが前記表示画面に適合しな
    いとき、前記(c)過程は、前記ページ内において前記プ
    ラットフォーム独立型のグラフィカルユーザインターフ
    ェイスのウィジェットを再配置することを特徴とする請
    求項9に記載の方法。
  13. 【請求項13】 前記(d)過程は、前記ページのサイズ
    を算出し、そして前記表示画面のサイズと前記算出され
    たページサイズを比較することを特徴とする請求項9に
    記載の方法。
  14. 【請求項14】 前記プラットフォーム独立型のグラフ
    ィカルユーザインターフェイスのウィジェットが分割可
    能であると特定された後、前記(d)過程は、前記プラッ
    トフォーム独立型のグラフィカルユーザインターフェイ
    スのウィジェットを分割することを特徴とする請求項9
    に記載の方法。
  15. 【請求項15】 複数のページ間において、前記(d)過
    程は、前記分割可能なプラットフォーム独立型のグラフ
    ィカルユーザインターフェイスのウィジェットに相当す
    る、複数のプラットフォーム特定型のグラフィカルユー
    ザインターフェイスのウィジェットを分配することを特
    徴とする請求項9に記載の方法。
  16. 【請求項16】 異種装置プラットフォーム間をマイグ
    レーション可能なグラフィカルユーザインターフェイス
    アプリケーションのレイアウトをカスタマイズする方法
    において、(a)第1ページに配置するため、グラフィカ
    ルユーザインターフェイスアプリケーションのプラット
    フォーム独立型のプレゼンテーションモデルに含まれ、
    かつ拡張可能なグラフィカルユーザインターフェイスコ
    ンポーネント複合と関連しているノードを処理する過程
    と、(b)前記第1ページのサイズと異種装置プラットフ
    ォームの表示画面のサイズを比較する過程と、(c)前記
    第1ページが大きすぎて前記表示画面に適合しないと
    き、前記拡張可能なグラフィカルユーザインターフェイ
    スコンポーネント複合を少なくとも2つの拡張可能なグ
    ラフィカルユーザインターフェイスコンポーネントに分
    割する過程と、(d)前記第1ページと少なくとも第2ペ
    ージの間に、前記拡張可能なグラフィカルユーザインタ
    ーフェイスコンポーネントを分配する過程とを有するこ
    とを特徴とする方法。
  17. 【請求項17】 前記(a)過程は、前記第1ページ上に
    位置していることを示し、かつ前記拡張可能なグラフィ
    カルユーザインターフェイスコンポーネント複合と関連
    しているプロパティを適用することを特徴とする請求項
    16に記載の方法。
  18. 【請求項18】 前記(b)過程は、前記第1ページが大
    きすぎて前記表示画面に適合しないとき、前記拡張可能
    なグラフィカルユーザインターフェイスコンポーネント
    複合を再配置再配置することを特徴とする請求項16に
    記載の方法。
  19. 【請求項19】 前記(b)過程は、前記表示画面のサイ
    ズを含むグラフィカルユーザインターフェイスの能力を
    判断するために、前記異種装置プラットフォームを調べ
    ることを特徴とする請求項16に記載の方法。
  20. 【請求項20】 前記(c)過程は、前記拡張可能なグラ
    フィカルユーザインターフェイスコンポーネント複合用
    に特定された分割プロパティの関数として、分割を始め
    ることを特徴とする請求項16に記載の方法。
  21. 【請求項21】 前記(d)過程は、前記拡張可能なグラ
    フィカルユーザインターフェイスコンポーネント複合に
    関連している優先順位プロパティの関数として、ページ
    内に前記拡張可能なグラフィカルユーザインターフェイ
    スコンポーネント複合を分配することを特徴とする請求
    項16に記載の方法。
  22. 【請求項22】 前記(c)過程は、プラットフォーム特
    定型のプレゼンテーションを生成するために前記プラッ
    トフォーム独立型のプレゼンテーションモデルを変更
    し、さらに前記プラットフォーム特定型のプレゼンテー
    ションを前記異種装置プラットフォームへ送信する(e)
    過程を更に有することを特徴とする請求項16に記載の
    方法。
  23. 【請求項23】 異種装置プラットフォーム間をマイグ
    レーション可能なグラフィカルユーザインターフェイス
    アプリケーションのレイアウトをカスタマイズするシス
    テムにおいて、 拡張可能なグラフィカルユーザインターフェイスコンポ
    ーネント複合を有するノードを含むプラットフォーム独
    立型のプレゼンテーションモデルで、第1ページを生成
    するサーバと、 前記第1ページのサイズとターゲット異種装置プラット
    フォームにある表示画面のサイズとを比較するサーバと
    通信を行っているターゲット異種装置プラットフォーム
    を有し、 前記サーバは、前記第1ページが大きすぎて前記表示画
    面に適合しないとき、前記拡張可能なグラフィカルユー
    ザインターフェイスコンポーネント複合を少なくとも2
    つの拡張可能なグラフィカルユーザインターフェイスコ
    ンポーネントに分割するように動作し、また前記拡張可
    能なグラフィカルユーザインターフェイスコンポーネン
    トは、プラットフォーム特定型のプレゼンテーションを
    生成するため、前記第1ページ及び少なくとも第2ペー
    ジ上に配置されることを特徴とするシステム。
  24. 【請求項24】 前記プラットフォーム独立型のプレゼ
    ンテーションモデルで生成された前記第1ページは、い
    かなる複数のターゲット異種装置プラットフォームの予
    想可能な最大の表示画面に適合されるように調整される
    ことを特徴とする請求項23に記載のシステム。
  25. 【請求項25】 前記サーバは、各々のノードに含まれ
    ている詳細なレイアウトプロパティの関数として、前記
    第1ページ内に前記拡張可能なグラフィカルユーザイン
    ターフェイスコンポーネント複合を配置するように動作
    することを特徴とする請求項23に記載のシステム。
  26. 【請求項26】 前記サーバは、前記拡張可能なグラフ
    ィカルユーザインターフェイスコンポーネント複合が分
    割可能であることを確認する前に、最初に分割可能なプ
    ロパティを確認するように動作することを特徴とする請
    求項23に記載のシステム。
  27. 【請求項27】 前記サーバは拡張可能なグラフィカル
    ユーザインターフェイスのライブラリと変換マネージャ
    モジュールを有し、そして前記変換マネージャモジュー
    ルは、前記拡張可能なグラフィカルユーザインターフェ
    イスのライブラリと連動して、前記プラットフォーム独
    立型のプレゼンテーションモデルから、複数の異種装置
    プラットフォーム用の前記プラットフォーム特定型のプ
    レゼンテーションを生成することを特徴とする請求項2
    3に記載のシステム。
  28. 【請求項28】 前記変換マネージャモジュールはフロ
    ーレイアウトマネージャを有し、そして前記フローレイ
    アウトマネージャは、前記表示画面に適合させるために
    前記拡張可能なグラフィカルユーザインターフェイスコ
    ンポーネントを配置するように動作することを特徴とす
    る請求項23に記載のシステム。
  29. 【請求項29】 前記サーバは、前記プラットフォーム
    独立型のプレゼンテーションモデルのコピーを生成し、
    そして前記プラットフォーム独立型のプレゼンテーショ
    ンモデルの前記コピーを変更することにより、前記プラ
    ットフォーム特定型のプレゼンテーションを生成するこ
    とを特徴とする請求項23に記載のシステム。
JP2003092813A 2002-05-08 2003-03-28 サーバ Expired - Lifetime JP4381709B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (15)

* Cited by examiner, † Cited by third party
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