(57)【要約】【課題】階層化ユーザインタフェース。【解決手段】機器に対するユーザインタフェースは複数の層を含む。ユーザインタフェースのためのコンテンツは複数の層のうちの１つに関連している。【選択図】      図４
2007523417.tif 000002
【特許請求の範囲】
【請求項１】
機器のためのユーザインタフェースを生成する方法であって、
（ａ）  ユーザインタフェースエレメントの複数のセットを生成するステップと、なおユーザインタフェースエレメントの前記複数のセットの各々は、１以上のユーザインタフェースエレメントを備え、なおここでは、前記又は各々のユーザインタフェースエレメントは前記ユーザインタフェースの定義された領域に関連している；
（ｂ）  ユーザインタフェースエレメントの前記複数のセットの各々を１順序に配列するステップと；
（ｃ）  前記ユーザインタフェースにおいて使用のための複数のユーザインタフェースエレメントを選択するためにユーザインタフェースエレメントの前記複数のセットの各々を検索するステップと、なお前記セットはステップ（ｂ）において実行された前記配列に従って検索され、なおここでは、もしも１より多くのユーザインタフェースエレメントが前記ユーザインタフェースの同じ領域に関連する場合は、そのとき、前記選択されたユーザインタフェースエレメントはステップ（ｂ）において決定された前記順序内で最初に発生するエレメントの前記セットから取り出される；そして
（ｄ）  ステップ（ｃ）で選択された前記複数のユーザインタフェースエレメントに従って前記ユーザインタフェースを与えるステップと；
を備える方法。
【請求項２】
ステップ（ｃ）において選択されそしてステップ（ｄ）において与えられた第１ユーザインタフェースエレメントは、前記与えられたユーザインタフェースから、
ｉ）  ステップ（ｂ）において、更なるユーザインタフェースエレメントを備えるユーザインタフェースエレメントのセットが、前記第１ユーザインタフェースエレメントを備えるユーザインタフェースエレメントの前記セットの前に配列されるように、前記更なるユーザインタフェースエレメントをユーザインタフェースエレメントのセットの中に挿入すること、
によって取り除かれることが出来、
ｉｉ）  なおここでは、前記更なるユーザインタフェースエレメントは前記第１ユーザインタフェースエレメントと同じユーザインタフェース領域に関連している、
請求項１記載の方法。
【請求項３】
ステップ（ｃ）において選択されそしてステップ（ｄ）において与えられた第１ユーザインタフェースエレメントは、前記与えられたユーザインタフェースから、
ｉ）  ユーザインタフェースエレメントの更なるセットが、前記第１ユーザインタフェースエレメントを備えるユーザインタフェースエレメントの前記セットの前に配列されるように、ユーザインタフェースエレメントの前記更なるセットをステップ（ｂ）において決定された前記配列された順序の中に挿入すること、
によって取り除かれることが出来、
ｉｉ）  なお、ユーザインタフェースエレメントの前記更なるセットは、前記第１ユーザインタフェースエレメントと同じユーザインタフェース領域に関連している更なるユーザインタフェースエレメントを備えている、
請求項１記載の方法。  
【請求項４】
１以上のユーザインタフェースエレメントが前記ＵＩ（ユーザインタフェース）に付加されており、前記方法は、１以上のユーザインタフェースエレメントを、ユーザインタフェースエレメントの前記複数のセットの１あるいは複数の中に挿入するステップを更に備える、請求項１記載の方法。
【請求項５】
１以上のユーザインタフェースエレメントが前記ＵＩに付加されており、前記方法は、１以上の更なるセットのユーザインタフェースエレメントを生成するステップを更に備え、前記又は各々の更なるセットは１以上のユーザインタフェースエレメントを備える、請求項１記載の方法。
【請求項６】
ユーザインタフェースエレメントの前記複数のセットの１あるいは複数は、前記ユーザインタフェースを通してアクティブな状態にされることが出来るアプリケーションと関連付けられている、請求項１乃至５の何れかに記載の方法。
【請求項７】
ユーザインタフェースエレメントの前記複数のセットの１あるいは複数は、前記機器の製造者と関連付けられている、請求項１乃至６の何れかに記載の方法。
【請求項８】
ユーザインタフェースエレメントの前記複数のセットの１あるいは複数は、前記機器のユーザと関連付けられている、請求項１乃至７の何れかに記載の方法。
【請求項９】
表示手段と前記表示手段によって表示されるユーザインタフェースとを備える機器であって、
使用時に、
（ａ）  ユーザインタフェースエレメントの複数のセットを生成し、なおユーザインタフェースエレメントの前記複数のセットの各々は、１以上のユーザインタフェースエレメントを備え、なおここでは、前記又は各々のユーザインタフェースエレメントは前記ユーザインタフェースの定義された領域に関連している；
（ｂ）  ユーザインタフェースエレメントの前記複数のセットの各々を１順序に配列し；
（ｃ）  前記ユーザインタフェースにおいて使用のための複数のユーザインタフェースエレメントを選択するためにユーザインタフェースエレメントの前記複数のセットの各々を検索し、なお前記セットはステップ（ｂ）において実行された前記配列に従って検索され、なおここでは、もしも１より多くのユーザインタフェースエレメントが前記ユーザインタフェースの同じ領域に関連する場合は、そのとき、前記選択されたユーザインタフェースエレメントはステップ（ｂ）において決定された前記順序内で最初に発生するエレメントの前記セットから取り出される；そして
（ｄ）  ステップ（ｃ）で選択された前記複数のユーザインタフェースエレメントに従って前記ユーザインタフェースを与える；
ように構成されている、機器。
【請求項１０】
使用時、ステップ（ｃ）において選択されそしてステップ（ｄ）において与えられた第１ユーザインタフェースエレメントは、前記与えられたユーザインタフェースから取り除かれ、前記機器は、
ｉ）  ステップ（ｂ）において、更なるユーザインタフェースエレメントを備えるユーザインタフェースエレメントのセットが、前記第１ユーザインタフェースエレメントを備えるユーザインタフェースエレメントの前記セットの前に配列されるように、前記更なるユーザインタフェースエレメントをユーザインタフェースエレメントのセットの中に挿入し；
ｉｉ）  なおここでは、前記更なるユーザインタフェースエレメントは前記第１ユーザインタフェースエレメントと同じユーザインタフェース領域に関連している；
ように更に構成されている、請求項９記載の機器。
【請求項１１】
使用時、ステップ（ｃ）において選択されそしてステップ（ｄ）において与えられた第１ユーザインタフェースエレメントは、前記与えられたユーザインタフェースから取り除かれ、前記機器は、
ｉ）  ユーザインタフェースエレメントの更なるセットが、前記第１ユーザインタフェースエレメントを備えるユーザインタフェースエレメントの前記セットの前に配列されるように、ユーザインタフェースエレメントの前記更なるセットをステップ（ｂ）において決定された前記配列された順序の中に挿入し；
ｉｉ）  なお、ユーザインタフェースエレメントの前記更なるセットは、前記第１ユーザインタフェースエレメントと同じユーザインタフェース領域に関連している更なるユーザインタフェースエレメントを備えている；
ように更に構成されている、請求項９記載の機器
【請求項１２】
１以上のユーザインタフェースエレメントが前記ＵＩに付加されており、前記機器は、使用時、１以上のユーザインタフェースエレメントを、ユーザインタフェースエレメントの前記複数のセットの１あるいは複数の中に挿入するように、更に構成されている、請求項９記載の機器。
【請求項１３】
１以上のユーザインタフェースエレメントが前記ＵＩに付加されており、前記機器は、使用時、１以上の更なるセットのユーザインタフェースエレメントを生成するように更に構成され、前記又は各々の更なるセットは１以上のユーザインタフェースエレメントを備える、請求項９記載の機器。
【請求項１４】
ユーザインタフェースエレメントの前記複数のセットの１あるいは複数は、前記ユーザインタフェースを通してアクティブな状態にされることが出来るアプリケーションと関連付けられている、請求項９乃至１３の何れかに記載の機器。
【請求項１５】
ユーザインタフェースエレメントの前記複数のセットの１あるいは複数は、前記機器の製造者と関連付けられている、請求項９乃至１４の何れかに記載の機器。
【請求項１６】
ユーザインタフェースエレメントの前記複数のセットの１あるいは複数は、前記機器のユーザと関連付けられている、請求項９乃至１５の何れかに記載の機器。
【請求項１７】
前記機器は、無線通信ネットワークと通信するための１以上の無線通信インタフェースを更に備え、そしてユーザインタフェースエレメントの前記複数のセットの１あるいは複数は、無線通信ネットワークのオペレータと関連付けられている、請求項９乃至１６の何れかに記載の機器。
【請求項１８】
請求項１乃至８の何れかの方法を実行するためのコンピュータ実行可能コードを備えるデータキャリア。
【発明の詳細な説明】
【技術分野】
【０００１】
（分野）
本発明は、ユーザインタフェース(user interfaces)に関し、特に、モバイル通信ネットワークで使用する機器(device)のためのユーザインタフェースに関する。
【背景技術】
【０００２】
ユーザが彼らのモバイル電話の外見を変更することを可能にする、画像、着信音(ringtones)、壁紙(wallpaper)等をダウンロードする重要な市場が現在ある。商業的理由のため、モバイルネットワークオペレータ及び／又はコンテンツプロバイダが、モバイル機器(a mobile device)のスクリーン上に表示されるであろうユーザインタフェースに対して何らかの制御を持つことが可能であることが、望ましい。ユーザインタフェースを実現するための従来の方法は、このような方式が実現されることを可能にする柔軟性と構造化可能性(configurability)に欠けている。
【発明の開示】
【０００３】
［要約］
本発明の第１の面によれば、機器のためのユーザインタフェースを生成する方法が提供され、方法は、（ａ）ユーザインタフェースエレメントの複数のセット(a plurality of sets of user interface elements)を生成する(generating)ステップと、なおユーザインタフェースエレメントの前記複数のセットの各々は、１以上のユーザインタフェースエレメント(one or more user interface elements)を備え、なおここでは、前記又は各々の(the or each)ユーザインタフェースエレメントは前記ユーザインタフェースの定義された領域(a defined region)に関連している；（ｂ）ユーザインタフェースエレメントの前記複数のセットの各々を１順序(an sequence)に配列する(ordering)ステップと；（ｃ）前記ユーザインタフェースにおいて使用のための複数のユーザインタフェースエレメントを選択するためにユーザインタフェースエレメントの前記複数のセットの各々を検索する(querying)ステップと、なお前記セットはステップ（ｂ）において実行された前記配列に従って検索され、なおここでは、もしも１より多くのユーザインタフェースエレメントが前記ユーザインタフェースの同じ領域に関連する場合は、そのとき、前記選択されたユーザインタフェースエレメントはステップ（ｂ）において決定された前記順序内で最初に発生するエレメントの前記セットから取り出される；そして（ｄ）ステップ（ｃ）で選択された前記複数のユーザインタフェースエレメントに従って前記ユーザインタフェースを与える(rendering the user interface)ステップと；を備える。
【０００４】
本発明の第２の面によれば、表示手段と表示手段によって表示されるユーザインタフェースとを備える機器が提供され、機器は、使用時に(in use)、（ａ）ユーザインタフェースエレメントの複数のセットを生成し、なおユーザインタフェースエレメントの前記複数のセットの各々は、１以上のユーザインタフェースエレメントを備え、なおここでは、前記又は各々のユーザインタフェースエレメントは前記ユーザインタフェースの定義された領域に関連している；（ｂ）ユーザインタフェースエレメントの前記複数のセットの各々を１順序に配列し；（ｃ）前記ユーザインタフェースにおいて使用のための複数のユーザインタフェースエレメントを選択するためにユーザインタフェースエレメントの前記複数のセットの各々を検索し、なお前記セットはステップ（ｂ）において実行された前記配列に従って検索されており、なおここでは、もしも１より多くのユーザインタフェースエレメントが前記ユーザインタフェースの同じ領域に関連する場合は、そのとき、前記選択されたユーザインタフェースエレメントはステップ（ｂ）において決定された前記順序内で最初に発生するエレメントの前記セットから取り出され；そして、（ｄ）ステップ（ｃ）で選択された前記複数のユーザインタフェースエレメントに従って前記ユーザインタフェースを与える；ように構成されている(being configured)機器。
【０００５】
本発明の第３の面によれば、上記に記載された方法の何れかを実行するためのコンピュータ実行可能コード(computer executable code)を備えるデータキャリア(a data carrier)が提供される。
【０００６】
［詳細な説明］
さて、本発明は、例としてのみ、そして添付された図面に関して説明されるが、添付図面の中の図１は、本発明を組み込んでいるシステムの図式描写を示す。システムは、サーバ１００、コンテンツツールセット(content toolset)２００、モバイル機器(mobile devices)３００、オペレーショナルサポートシステム(operational support systems)（ＯＳＳｓ）７００、コンテンツフィード(content feeds)５００及びユーザインタフェース(user interface)（ＵＩ）ソース(source)６００を備える。使用時、サーバ１００は、コンテンツデータ及びＵＩデータを、各々がソフトウエアパッケージ４００を備えるモバイル機器３００、３０１、…、に伝達する。サーバ１００は、ＯＳＳｓ７００とインタフェースをとり、ＯＳＳｓは、例えば、請求伝票発行業務、アカウント管理、等のためにモバイルネットワークを操作するために従来から使用されているものである。サーバ１００は更に、コンテンツツールセット２００とインタフェースをとる:コンテンツツールセットは、ＵＩソース６００、６０１、…、からデータを受信し、そして、サーバが、パッケージされたＵＩデータ(the packaged UI data)をモバイル機器３００の中に含まれるソフトウエアパッケージ４００に送信することが出来るように、ＵＩデータをパッケージする(packages)。サーバは、複数のコンテンツフィードからデータを受信し、そして、このデータは、それがソフトウエアパッケージ４００に送られることが出来るように、或いは、モバイル機器３００がソフトウエアパッケージ４００を使用してデータにアクセス出来るように、処理されそしてパッケージされる。
【０００７】
システムは、３つの別々のドメイン(domains)に分割されているものとして考えられることが出来る(can be envisaged)ことができる:オペレータドメイン(operator domain)５０は、モバイルネットワークオペレータ(mobile network operator)（ＭＮＯ）によって操作されるシステム及び装置を含む：ユーザドメイン(user domain)６０は、複数の(a plurality of)モバイル機器を含み；そして第三者ドメイン(third-party domain)７０は、複数の(a number of)異なったエンティティ(entities)によって制御され或いは操作されることが可能なコンテンツフィード及びＵＩフィードを含む。
【０００８】
図２は、より詳細に、サーバ１００の構造及び動作を示す。サーバ１００は、パブリッシングコンポーネント(publishing component)１１０とコンテンツサーバコンポーネント(content server component)１５０とを含む。パブリッシングコンポーネントは、データベース１１１、インポート待ち行列(import queue)１１２、コンテンツツールセットインタフェース１１３、ユーザインタフェース１１４及びカタログ１１５を含む。動作時、パブリッシングコンポーネントは、コンテンツツールセットインタフェースにおいてコンテンツツールセットからコンテンツを受信する。コンテンツは、１以上のトリグ(trigs)と１以上のトリグレット(triglet)とを備えるパーセル(parcel)２１０ａ、２１０ｂ、…、（以下を参照のこと）の形で提供される。トリグはモバイル電話機等のモバイル機器に対するユーザインタフェースであり、トリグレットはトリグを拡張し或いは交換するために使用されることが可能なデータファイルである。もしもパーセルが１より多いトリグを含む場合、そのときは、トリグの１つは、それから他のトリグが導き出される(derived)マスタートリグ(a master trig)であるかもしれない。
【０００９】
パブリッシングコンポーネントユーザインタフェース１１４は、パーセルをデータベース１１１の中にインポート(import)するために使用されることが出来、そして、このプロセスによって、各トリグ及びトリグレットへの参照はインポート待ち行列１１４の中にロードされる(this process causes references to each trig and triglet to be loaded into the import queue)、インポート待ち行列は、複数のパーセル２１０ａ、２１０ｂ、… の参照を備えることが出来る。パーセルのコンテンツは、ユーザインタフェースを使用して調べられることが出来、又、パーセルのコンテンツはカタログに渡されることが出来る。
【００１０】
ＭＮＯは、いくつかのパブリッシングドメイン、例えば、複数の国或いは領域における各ターゲットサーバに対し1つ、を持つことが出来る。各ドメインは、他のドメインから分離して処理され、そして、どのようにして対象物がライブと舞台の両方の環境においてコンテンツサーバ上に発表(publish)されるべきかを記述するそれぞれのスキーム(its own scheme)を有する。パブリッシングコンポーネントＧＵＩは、各ドメインにいくつかの異なるビュー(view)を与え、オペレータがコンテンツの発表を完全に管理することを可能にしている。カタログは、コンテンツを種々のドメインに転送するために使用される更新チャネル及びフィードチャネル(the update channels and feed channels)とカタログの中に保存されたトリグに対する参照を含む。各ドメインに対し、オペレータは、ドメイン構成をセットアップしそしてトリグをカタログから各ドメインノード(each domain node)に割り当てるためにパブリッシングコンポーネントＧＵＩを使用する。オペレータがトリグを効率的に選択するのを援助するため、フィルタ(a filter)がカタログに設けられ、関連項目のみが示される。
【００１１】
コンテンツサーバコンポーネント１５０は、ウエブサーバの標準インプリメンテーション(a standard implementation)であり、そしてそのようなものとしてスケーリングモデル(the scaling model)が十分理解される。サーバの能力(the capabilities of a server)は、ウエブサーバがベンチマーク条件の下において取り扱うことが可能な同時発生セションの数(the number of concurrent sessions)を示している“ＳＰＥＣｗｅｂ９９”数字(a “SPECweb99” number)を使用して格付けされる(rated)ことが可能である。発表されたＳＰＥＣｗｅｂ９９数字は、４０４から２１，０００の範囲にあり、典型的な商用ウエブサーバは、５，０００のオーダーのＳＰＥＣｗｅｂ９９数字を有する。時間ごとに更新するコンテンツを持った１ｍ加入者(1m subscribers)の典型的な展開シナリオ(deployment scenario)は、単に１，１１２のＳＰＥＣｗｅｂ９９ レーティング(a SPECweb99 rating of only 1,112)を有するウエブサーバを必要とする。成功する展開は、失敗に対する高い回復力があり且つスケーラブル(both scalable and highly resilient to failure)であるインフラストラクチャー(infrastructure)を更なるサーバが作ることを可能にすることによって、提供されることができる増大したサービスの使用(increased service use)、へと導くであろう。
【００１２】
モバイル機器からＷＡＰゲートウエイを経由してサーバに接続が行なわれることが出来る。この場合、ウエブサーバセション(the web server session)は、モバイル電話機とウエブサーバというよりは寧ろ、ＷＡＰゲートウエイとウエブサーバとの間に存在する。ＷＡＰゲートウエイを経由してファイルに対して要求がなされる場合、ウエブサーバとのセションは、ウエブサーバからＷＡＰゲートウエイに転送されるに必要とされる期間だけ続く−、すなわち、接続帯域幅(the connection bandwidth)が非常に高く(high)、待ち時間(latency)が極端に短いので、セションは極端に短い。
【００１３】
あるいは、モバイル電話機とウエブサーバとの間に直接の接続が確立されることが出来る。この場合、データが電話機にダウンロードされる期間中、ウエブサーバはセションを開いて保つことが必要となるであろう。
【００１４】
コンテンツサーバコンポーネントによって配送される２つの形式のコンテンツが存在する：通常１００ＫＢのオーダーのトリグ(trigs)と、通常１ＫＢのオーダーの定期的に更新されるトリグレット(triglets)である。トリグのダウンロードによって生成されるトラフィックは、現存するコンテンツダウンロードによって生成されるトラフィックに非常に類似している。そしてこのように、関連する問題(issues)はよく理解される。通常のトリグレット更新(regular triglet updates)のダウンロードは、ＭＮＯのトラフィックモデルにおける新しい特徴である、が、１つのデータパケット内に典型的に適合する小さいサイズの更新のため、トラフィックが依然として典型的なウエブサーバによって取り扱われることが出来るということを示すことは可能である。
【００１５】
トリグレットダウンロードの場合、１ＫＢを転送するためには典型的には１つのデータパケットのみが必要とされる。２秒のＧＰＲＳネットワーク全体にわたる往復待ち時間(a round-trip latency)を仮定すると、ウエブサーバは、約４秒の間、典型的なセションを開いたまま保持することを必要とするであろう。１時間ごとに更新するコンテンツを備えたそれらの電話機上のトリグを有する１００万の加入者に関するシナリオに対しては、このことは、ウエブサーバ上毎秒２７８ヒット及び１，１１２同時発生セションを意味する。上述したように、この数字は、典型的なウエブサーバの性能(the capability)内に十分収まる。
【００１６】
図３は、モバイル機器３００のためのソフトウェア４００の図式描写を示し、マークアップ言語レンダラー(a mark-up language renderer)４１０、更新マネージャ(update manager)４２０、ネットワーク通信エージェント(network communication agent)４２５、リソースマネージャ(resource manager)４３０、仮想ファイルシステム(virtual file system)４３５、アクターマネージャ(actor manager)４４０、複数のアクター(actors)４４５ａ、４４５、…、ネイティブＵＩレンダラー(native UI renderer)４５０、サポートマネージャ(support manager)４６０、トリグマネージャ(trig manager)４６５、及びマークアップ言語パーサ(mark-up language parser)４７０を備える。
【００１７】
ソフトウェアは、ＸＭＬアプリケーションであるＴｒｉｇＭＬを使用して動作することが、又、マークアップ言語レンダラー４１０は、モバイル機器３００上での表示のためにＴｒｉｇＭＸＬコードを与える(render)ことが、好ましい。マークアップ言語レンダラーはまた、ＴｒｉｇＭＬリソースをパース(parse)し機器スクリーン上にコンテンツを表示するためにＴｒｉｇＭＬパーサを使用し、そして、置換(replacement)を制御し、ハンドセット(the handset)上のコンテンツをビューする(viewing)。ネイティブＵＩレンダラーは、ＴｒｉｇＭＬの使用無しに表示されることが出来るＵＩコンポーネントを表示するために、そして誤りメッセージを表示するために使用される。
【００１８】
ソフトウェア４００は、機器の固有の方法で、準備され(provisioned)そしてインストールされる。例えば、ノキアシリーズ６０機器に対しては、ソフトウェアはＳＩＳファイルを使用してインストールされ、これに反し、ＭＳスマートフォン機器(a MS Smartphone device)に対しては、ソフトウェアは、ＣＡＢファイルを使用してインストールされる。同様に、ソフトウエアアップグレード(software upgrades)は、機器固有の方法で取り扱われる。ソフトウェアは、その組み込まれたコンテンツのみ(its built in content only)を提供する(renders)内蔵型(self-contained)アプリケーションとして、より限定されたフォーマットで準備されることが出来る：即ち、ソフトウェアは、組み込まれたトリグ(a built in trig)が準備されるが、更なるトリグ(additional trigs)は後で付け加えられることは出来ない。供給されたトリグは、無線で(over the air)アップグレードされること出来る。
【００１９】
トリグマネージャ４６５は、リソースマネージャ４３０とマークアップ言語レンダラーにインタフェースを提供する。それはトリグ管理全般に責任を負っている。これは、使用中のトリグの知識を存続すること(persisting)、現在のトリグを変更すること(changing)、スタートアップ時のトリグの選定（selection）、汚損されたトリグに対する代替としての(as a fall back)更なるトリグの選定(selection)、インストールされたトリグのセットを維持すること(maintaining)、どこに特定のトリグがリソースマネージャに対してインストールされているかを識別すること(identifying)、そしてトリグの更新チャネル定義を読み出すこと、そして更新マネージャを適切に構成すること(configuring)、を含む。
【００２０】
リソースマネージャは、機器上の永続的な保存の抽象(abstraction)を提供し、すなわち、真のファイルとして或いはデータベース中の記録としてファイルを保存する。リソースマネージャは、マークアップ言語レンダラーと更新マネージャに、ファイルシステムインタフェースを提供する。それは、ファイルパス論理を取り扱うこと(handling)、真のリソースファイルとアクターの属性(actor attributes)との間を区別すること(distinguishing)、トリグ-相対パス(trig-relative paths)を絶対パス(absolute paths)上にマッピングすること(mapping)、トリグマネージャとインタフェースをとること(interfacing)、そして更新マネージャに修正インタフェースを提供すること(providing)、に対し責任を負っている。
【００２１】
更新マネージャは、トリグ及びトリグレットのリセプション及びアプリケーション(the reception and application)を取り扱う。更新マネージャは、レンダラーとトリグマネージャにインタフェースを提供し：レンダラーによって指示される(instructed)時のマニュアル更新の開始；トリグマネージャによってそのように構成される(configured)時の自動更新チャネルを制御すること及び実行すること；マニュアル更新の進展を示すこと、及びネットワーク接続及び／又は機器パワーの予期せぬ損失に続く更新を回復すること；に対し責任を負う。更新パケットのフォーマットは、ＸＭＬスキーマ(XML schema)のバイナリシリアライゼーション(a binary serialisation)として定義されることが可能である。
【００２２】
サポートマネージャは、イベント(event)或いはエラー(error)の発生を報告するために、他のコンポーネントにインタフェースを提供する。エラーの重大さに応じ、サポートマネージャはイベントをログ記録(log)し、及び／又は、誤りメッセージポップアップ(an error message popup)を掲示する(put up)であろう。
【００２３】
ＸＭＬは、ＴｒｉｇＭＬコンテンツと同様に、更新パケットフォーマット(the update packet format)を定義するために使用される便利なデータフォーマッティング言語(a convenient data formatting language)である。帯域幅及び保存効率の理由から、テキストＸＭＬは、バイナリ表現にシリアル化される(serialised)。更新パケットとＴｒｉｇＭＬフラグメント(TrigML fragments)の両方は、同じコンポーネント、マークアップ言語パーサ(the mark-up language parser)でパース(parsed)される。ソフトウェアにおけるＸＭＬの何らかの更なる使用は、バイナリＸＭＬエンコーディング(the binary XML encoding)を使用しなければならず、従って、パーサを再使用する。
【００２４】
アクターマネージャ４４０は、ソフトウェア内に存在する前記セットのアクター(the set of actors)４４５の世話をする。それは、コンテンツがイベントをあるアクターに送っている場合はレンダラーによって；属性値が変更されていることを通知することを望むアクターによって；そして、あるイベントを発する(emit)ことを望むアクターによって；使用される（以下を参照）。
【００２５】
ソフトウェアは、いくつのそしてどういうアクターが含まれるか次第で(depending on how many and what sort of actors are included)もっと多くの可能性を有するが、最少２つのスレッド(thread)を実行するマルチスレッデッドアプリケーション(a multi-threaded application)を備えることが出来る。ソフトウェアは、メインスレッド(the main thread)と呼ばれる１つのスレッドで、大部分実行する(runs mostly)。メインスレッドは、他のコンポーネントと同期して通信するレンダラーを実行するために使用される。アクターは、レンダラーに対する同期インタフェースを常に有する。もしもアクターがその機能のために更なるスレッドを必要とする場合は、そのときは、スレッド相互間の通信(the inter-thread communication)を管理するのは、アクターの責任である。多くのアクターがスレッド相互間の通信を要求する不要なコード重複(unnecessary code duplication)を避けるために、軽いメッセージングフレームワーク(a light messaging framework)が使用されることが好ましい。
【００２６】
メインスレッドに加えて、更新マネージャがネットワークスレッド(a network thread)を実行する。ネットワークスレッドは、更新パケットをダウンロードするために使用され、そして、パケットが到着するまでレンダラーが影響されずに継続することを可能にするためにメインスレッドから離れている(is separate)。更新パケットの中で定義された変更(the changes)を適用する時に更新マネージャがレンダラーとリソースマネージャとに同期して通信するように、更新マネージャは、スレッド相互間メッセージングを管理する(for handling)責任を有する。
【００２７】
レンダラーは、キー プレス(the key press)に関する情報を受信する。もしキーに対しビルドタイムに構成された動作(behaviour configured at build time)がない場合、それは、ＴｒｉｇＭＬコンテンツイベント(a TrigML content event)としてカレントフォーカスエレメント(the current focus element)に送られる。コンテンツイベントはそのあと、ＴｒｉｇＭＬの通常イベント処理ロジック(TrigML's normal event processing logic)によって定義されているように取り扱われる。
【００２８】
例えば、もしキーが押し下げられる場合は、「キープレス」イベント(a ‘keypress' event)が、それら関係するキーに対するパラメータセットと共にレンダラーに届けられる(delivered)。もしキーが解放される場合は、「！キープレス」イベント(a ‘!keypress' event)がレンダラーに届けられる。もしキーが延長された期間押し続けられる場合は、「ロングキープレス」イベント(a ‘longkeypress' event)がレンダラーに届けられる。解放時には、「！ロングキープレス」と「！キープレス」イベントの両方(both a ‘!longkeypress' and a ‘!keypress' event)がレンダラーに届けられる。
【００２９】
トリグは、定義されたリソース名、スタートアップ／デフォールトをロードすることにより開始される。スタートアップ／デフォールトの中に定義されたＴｒｉｇＭＬは、コンテンツルートノード(the content root node)に対する新しいコンテンツとしてパースされる(parsed)。
【００３０】
トリグがそのインストール(its installation)に続いてソフトウェアによって実行される最初のとき、トリグは、リソース名 スタートアップ／ファーストタイムをロードすることによって開始される。ソフトウェアは、トリグが実行されたのかされていないのかを、そのトリグに対するトップレベルフォルダ(the top level folder)の中に位置するファイルの中に、記録出来る。モバイル機器によって使用されるプラットフォーム(the platform)に依存して、ソフトウェアの自動的なスタートアップは、ビルドタイム コンフィギュレーション オプション(a build-time configuration option)としてセットされることが出来る。更に、自動スタートに続くバックグランドの中に(in the background)ソフトウェアを置くこともまた、ビルドタイム コンフィギュレーション オプションであり得る。
【００３１】
ラウンチャ(a launcher)がアプリケーションアイコンとしてユーザに対し表示される(appear)ことが出来、そしてそれを選択することは、そのラウンチャによって特定されたトリグを用いてソフトウェアを開始する（このトリグはラウンチャアイコン及び／又は名前によって示されることが可能である）。トリグをスタートするのにラウンチャを使用する時、「エントリーポイント」パラメータ(an ‘entry point' parameter)を特定することが可能である。該パラメータは、「スタートアップ」フォルダ(the ‘start-up’ folder)の中で見つけられるファイルのリソース名称(a resource name)である。このファイルは、もしもトリグが以前に１度も実行されていない場合は使用されず、その場合は「ファーストタイム」（‘firsttime’）と呼ばれるファイルが代わりに使用される。
【００３２】
ソフトウェアは、機器上の仮想ファイルシステム(a virtual file system)内に保存されたコンテンツリソースファイル(content resource files)を使用する。該ファイルシステムは、古典的なファイルシステムとしては実現されないかもしれないので仮想(virtual)として記述されるが、然しながら、リソースに対するすべての参照は、フォルダ及びファイルの階層システム内にあたかも記憶されているようなファイルパス(file paths)である。更に、ソフトウェアは、次の情報のいくつか或いは全てを保存する：使用統計データ(usage statistics)、アクティブなユーザカウント(active user counts)、ＴｒｉｇＭａｎａｇｅｒ状態(TrigManager state)、ＴｒｉｇＭＬフラグメント及び更新チャネル定義(TrigML fragments & update channel definition)（バイナリＸＭＬとしてシリアル化されている）、ＰＮＧ画像(PNG images)、ＵＴＦ−８ ＯＴＡとして符号化されそのあとプラットフォーム固有エンコーディング中に(in a platform specific encoding)保存されるプレーンテキスト(plain text)、他のプラットフォーム固有リソース(other platform specific resources)、例えば、呼出音ファイル(ring tone files)、バックグランド画像(background images)等。
【００３３】
ファイルシステムの中のファイルは、アクターの属性値が変わる場合か又はファイルがトリグレットによって置換される場合の何れかの場合に変更されることが可能である。
【００３４】
／ａｔｔｒｓディレクトリ内のファイル(files in the/attrs directory)が変わる場合、レンダラーは、直ちに通知されそしてコンテンツツリーの関連するブランチは更新されそしてリフレッシュされる(refreshed)。画像及びテキストリソースが変更される場合、レンダラーはあたかも影響されたリソースが直ちに再ロードされるかのように動作する（全体のコンテンツツリーかまたは単に影響を受けたブランチだけかがリフレッシュされることが出来る）。ＴｒｉｇＭＬフラグメントが変更される時、レンダラーは、あたかもそれが通知されないかのごとく動作し、そしてその現在の、ひょっとしたら時間を経過した(possibly out of date)、コンテンツを表示し続ける。これは、現在のコンテンツの＜ロード＞ヒストリとエレメントを持続する＜含む＞ことを必要とするソフトウェアを避けるためである(this is to avoid the software needing to persist <include> elements and the <load> history of the current content)。
【００３５】
ソフトウェア４００は、機器固有の方法で、モバイル機器に準備される。１以上のトリグがインストールの部分として準備され、例えば、圧縮されない更新パケット(an uncompressed update packet)として保存される、ことが可能である。スタートアップ時に、パケットは展開され(expanded)そしてファイルシステムにインストールされことが出来る。
【００３６】
アクター４４５は、属性値を発表し(publish)、そしてイベントを取り扱い(handle)そして発する(emit)コンポーネントである。アクターは、レンダラーと同期して通信する。もしもアクターが非同期的動作(asynchronous behaviour)を必要とする場合、そのとき、レンダラーのメインスレッド(the main thread)の外側のスレッドと通信し管理することは、アクターの責任である。アクターは、＜スロー(throw)＞エレメントとともにイベントをそれに送ることによって、メッセージを送られることが出来る(can be messaged)。アクターによって発せられたイベントは、コンテンツイベントとしてコンテンツツリーに届けられることが可能である：これらはエレメントＩｄまたは「トップ」を(at an element Id or ‘top’)ターゲットとすることが出来る。アクターに対するインタフェースはアクターインタフェース定義ファイル(Actor Interface Definition file)によって定義される。これは、属性、タイプ、フィールド名称、イベント−イン(events-in)及びパラメータ、及びイベントアウト(event out)を定義する、ＸＭＬ文書(XML document)である。該セットのアクターは、ソフトウェアのビルドタイムに構成可能である(configurable)。
【００３７】
商用的理由のために、ＭＮＯ及び／又はコンテンツプロバイダが、モバイル機器のスクリーン上に表示されるであろうユーザインタフェースの何らかの制御(some control over the user interface)を持つことが可能であることが望ましい。ユーザが、彼らの機器の外観を変更するために、そしてまた使用中のトリグ或いはトリグレットによって決定される表示された画像に対し更に変更するために、トリグレット或いは新しいトリグをダウンロードすることを可能にする程度の柔軟性が存在することもまた重要である。
【００３８】
ユーザインタフェースに対するコンテンツは、アーカイブファイル(archive files)内に保存され、そしてａｐｐのＵＩは、１以上のアーカイブファイルによって定義されることが出来る。各アーカイブファイルは複数のリソース（マークアップエレメント(mark-up elements)、画像、テキスト等）を含むことが可能である。アーカイブ内にあるファイルは、他のアーカイブファイルフォーマットのように、ツリー構造の中に、既知のフォルダ／ファイル構造に類似した方法で保存される。ＵＩを定義するために１より多くのアーカイブファイルが使用される場合は、必要とされるアーカイブファイルは厳密な順序（又はリスト）に配列される(arranged)。リソースが要求されるときは、それは各アーカイブファイルの中で調査され、調査は、見つけられた第１ファイルを戻す(returning)。
【００３９】
リスト中でより早いアーカイブファイルから抽出されたリソースが、アーカイブファイルのリスト中でより低い下部で見つけられる(found lower down)アーカイブファイル(an archive file (or files))の中で見つけられるリソースをマスクする(mask)方法で、アーカイブファイルを配列する(order)ことは可能である。例えば、もしも一時的にＵＩのあるエレメント、例えばウインドウ、を見えにくくする(obscure)要求(a requirement)が存在する場合は、そのとき、見えにくくされるべきＵＩエレメントを備えるアーカイブファイルよりもより高いレベルで保存されるアーカイブファイルの中で、マスクエレメント(a mask element)が定義されることが可能である。
【００４０】
ユーザインタフェースコンテンツがＵＩを与える(render the ＵＩ)ように解釈される時、見えにくくするエレメントの付加によって結果として、見えにくくするエレメントがＵＩの中に与えられる(rendered within the UI)、ということに注目すべきである。見えにくくするエレメントとマスクされるべきＵＩエレメントとがＵＩの共通領域を占有し、そして、見えにくくするエレメントが、マスクされるべきエレメントを備えるアーカイブファイルよりもより高い層にあるアーカイブファイルの中に維持されるので、見えにくくするエレメントのみがＵＩの中で示されるべきものであり、従って見えにくくするエレメントのみがＵＩを与えるためにレンダラーによってフェッチされる(fetched)。見えにくくするエレメントが与えられるべきものであり、それがマスクされるべきエレメントと同様の位置を占有するので、マスクされるべきエレメントはレンダラーにフェッチされない。このアプローチは、ＵＩを与えるためにレンダラーによってフェッチされるデータの量を減らし、従って、ＵＩを与えるために必要とされる処理パワー(processing power)の量を減らし、又、ＵＩを与えるためにかかる時間を減少させる。
【００４１】
この方法は、アーカイブファイルが機器上で１よりも多いアプリケーションによって必要とされる場合に、非常に有益である（そのようなアーカイブファイルは、共通アーカイブ(the common archive)或いはベースアーカイブ(base archive)と呼ばれるかもしれない）。各アプリケーションはさらに、共通アーカイブファイル中のリソースのいくつかをマスクし又必要とされる更なるリソースを付け加えるそれら自身のアプリケーション特有のアーカイブファイル(application-specific archive file)を、供給することが出来る。各アプリケーションは、それが使用するアーカイブファイルのリストを有しているが、しかしこれらのアーカイブファイルのいくつかは同様に他のアプリケーションによって使用されるであろう。これはアーカイブファイルの階層(a hierarchy)として考えられることが可能である：共通アーカイブファイルは階層の最上層(the top layer)にあり、階層の下層(the lower layers)を構成するアプリケーション特有のアーカイブファイルを備える。アプリケーション特有のアーカイブファイルは、異なったアーカイブファイルが階層の同じ層の中で見られるので、フラットファイル(flat files)と呼ばれるかもしれない。
【００４２】
更なる実施例によれば、上記の配置(arrangement)は、ＵＩの構成(configuration)及び外観(appearance)が制御されることを可能とするように拡張されることが可能である。例えば、ＵＩは、階層の異なった層と関連しているアーカイブファイル中に保存されるエレメントの相互作用(the interaction)から効率的に形成されるので、階層の１あるいは複数の層を、異なったエンティティ(entities)、例えばＭＮＯ、機器製造者、トリグプロバイダ、機器ユーザ、等、に割り当てることが可能である。階層の異なった層のこの割り当ては、例えば、階層の最上層を製造者に割り当てることによって、機器製造者に関連するロゴ(a logo)がＵＩの中で常時(permanently)表示されることを可能にする。もしもネットワークオペレータ或いはトリグプロバイダが時間の制限された販売促進申し出を発表することを希望する場合は、そのとき、適切なエレメントが、ネットワークオペレータに関連する層の中のアーカイブファイルに付加されることが可能である。階層の最も低いレベル(the lowest level (s))を割り当てられたエンティティは、階層のより高いレベルの何れにおいてもアーカイブファイルの中で定義されていないＵＩエレメントの全てを、変更し修正することが可能である。
【００４３】
図４は、４つの階層面(hierarchical planes)４０５ａ〜ｄの図式描写を示す：面(plane)４０５ａは、ＭＮＯによって定義されたＵＩエレメントを備える。面４０５ｂは機器製造者によって定義されたＵＩエレメントを備える。面４０５ｃはトリグによって定義されたＵＩエレメントを備える。そして面４０５ｄはユーザによって定義されたＵＩエレメントを含む。面４０５ａは階層の中で最も高い位置(the highest position)を有し、そして面４０５ｄは階層の中で最も低い位置(the lowest position)を有する。例えば、面４０５ａの中のｍｎｏ＿ｌｏｇｏエレメントは、使用されているグラフィックエレメントと機器の表示スクリーン上のその位置を定義する。それが階層の最も高い面の中にあるので、それは常に現れ、そして、ｍｎｏ＿ｌｏｇｏによって使用されるピクセルを使用することを試みるより低い階層エレメント中のいかなる他のＵＩエレメントに対しても優先権を取得するであろう。面４０５ｄは背景色エレメント(the backgroundcolour element)を備えている、それは、他の面のどこにも定義されておらず、従って、背景色の中で定義された色はＵＩにおいて使用されるであろう。
【００４４】
面４０５ｃは、ウインドウのタイトルの中で使用されるテキストの属性を定義するｗｉｎｄｏｗｔｉｔｌｅ．ｔｅｘｔ エレメントを備える。これは、テキストの属性を定義するためにｗｉｎｄｏｗｔｉｔｌｅ．ｔｅｘｔ エレメントを４０５ａ又は４０５ｂの何れかの面に付加することによって、或いは、何れの引き続いておこるｗｉｎｄｏｗｔｉｔｌｅ．ｔｅｘｔ エレメントも無視することをＵＩレンダラーに指示するためにｗｉｎｄｏｗｔｉｔｌｅ．ｔｅｘｔ＿ｄｅｌｅｔｅｄ エレメントを４０５ａ又は４０５ｂの何れかの面に付加することによって、上書きされる(overwritten)ことが可能である。
【００４５】
これは、ＵＩの各特徴(feature)が構成され得る(configurable)ことを可能とするだけではなく、また、他のエンティティがそれらの定義されたＵＩエレメントを変更し或いは妨害することを防止するような方法で、あるＵＩエレメントがネットワークオペレータのようなエンティティによって定義されることが可能なフレームワーク(a framework)を提供する。
【００４６】
上記の説明は、アーカイブファイル内に保存されるユーザインタフェースコンテンツに関連したが、ユーザインタフェースコンテンツは、ファイルのコレクション、例えば、アンパックファイル(unpacked files)のフォルダ、又はアンパックファイルを備えるフォルダ、及び他のフォルダなど、を提供する他の形態の中に、もう一つの選択してして保存されることが可能であることは容易に理解されるであろう。
【００４７】
従来のモバイル機器においては、バッテリー強度、信号強度、新しいテキストメッセージ等に関する情報は、ユーザに示される。典型的にはこの情報は、関連するハードウェア又はソフトウェアのエンティティに呼(a call)を送るオペレーティングシステムと、受信された応答を解釈しそれを表示するＵＩと、によって取得される。
【００４８】
この情報は、ＴｒｉｇＭＬタグ（以下を参照）＜ｐｈｏｎｅｓｔａｔｕｓ＞（又は ＜ｓｉｇｎａｌｓｔｒｅｎｇｔｈ＞）を使用してＵＩ内に表示されることが出来る。このタグを与えること(rendering this tag)が原因となって、リスニングクエリー(a listening query)が、関連するハードウェア或いはソフトウェアのエンティティに開かれる。もし、状態に変化が発生する場合、そのとき、ＵＩレンダラーは通知され、そして、ＵＩレンダラーは、状態の変化をユーザに伝えるために関連するアイコン或いはグラフィックをロードする。もしユーザがＵＩ内のビュー(the view)を変更する場合は、タグは取り消されることが出来、リスニングクエリーは終了される。このアプローチは、リスニングクエリーはタグが使用されているときだけアクティブであるので、リソース効率がよりよい(more resource efficient)。
【００４９】
ＴｒｉｇＭＬは、属性値の代わりにコンスタント変数(constant variables)を使用することが可能である。コンスタント変数は、＜ｉｎｃｌｕｄｅ＞パラメータ、例えば＄ｂａｃｋｇｒｏｕｎｄ＿ｃｏｌｏｒ、と同じシンタックス(syntax)を用いてアクセスされる。コンスタントは、トリグにおいてグローバル変数(global variables)として扱われ、予約フォルダ(the reserved folder)、ｃｏｎｓｔａｎｔｓ／、の中で定義される。ｃｏｎｓｔａｎｔｓ／フォルダの中のファイルの中に含まれる変数定義(variable definitions)は、コンパイル時に(at compile time)解釈され(resolved)それらの値で直接に置換される(with direct substitution of their values)ことが出来る。代わりの実施例においては、ｃｏｎｓｔａｎｔｓ／における変数定義は、グローバル変数としてコンパイルされ(compiled)、コンテンツパース時に(at content parse time)ソフトウェアによって解釈される。これは、トリグがそのコンスタントファイルの１つ或いは全ての単純な取替えによって更新されることを可能とする。
【００５０】
システムストリング辞書(System String Dictionary)は、全ての良く知られたストリング(strings)、即ち、予約語(reserved words)に対して使用する整数値(the integer values)を定義する。これらは、ＴｒｉｇＭＬエレメント及び属性名称（「Ｇｒｏｕｐ」、「ｒｅｓ」、「ｌａｙｅｒ」、「ｉｍａｇｅ」、「ｘ」）、ＴｒｉｇＭＬ属性値（例：「ｌｅｆｔ」、「ａｃｔｉｖａｔｅ」、「ｆｏｃｕｓ」）及び共通リソースパス（例：「ａｔｔｒ」、「ｓｔａｒｔ−ｕｐ」、「ｄｅｆａｕｌｔ」）を含む、いくつかのタイプ有する。入力として、ストリング辞書はオプション(optional)である。トリグがコンパイルされる最初の時、それはストリング辞書(a String Dictionary)を有さないであろう。この最初のコンパイル(compilations)がストリング辞書を作成し(creates)、それが、そのあと、そのトリグの全ての将来のコンパイルに対して使用される。トリグレットコンパイルは、それが修正しているトリグによって使用される全てのストリングマッピング(the string mappings)を定義するストリング辞書を有さなければならない。
【００５１】
モバイル機器のユーザインタフェースを首尾よく提供する(render)ために、マークアップ言語(the mark-up language)は次の品質を持たなければならない：簡潔なページ定義(concise page definitions)、一貫したレイアウトルール(consistent layout rules)、コンパクトレンダラーにおいて実現可能である(be implementable in a compact renderer)、多重階層化(multiple layering)と任意のオーバーラッピングコンテンツ(arbitrary overlapping content)を提供する、イベントモデル(event model)、ＵＩのページ間で変更しなければならない表示の領域のみの再描画(the repaint)を必要とする、イベントを受け取りイベントを送るプロパティ値(property values)を読むためのプラットフォームにフック(hook)を含む、拡張可能である(extensible)、そして図表的に柔軟である(graphically flexible)。ＴｒｉｇＭＬはこれらの特徴(features)を提供し、そして、所望の機能(functionality)を提供する属性及びエレメントの概要は、２００４年２月１９日に出願された我々の同時係属中の出願ＧＢ０４０３７０９．９の中に見られることが出来る。
【００５２】
ＵＩｓをリブランドし(re-branding)そして更新の連続的なストリーム(a continual stream of updates)を生成するコストが最少であることが望ましい。これは、創造的なプロセスからユーザへのデータの伝送までを通して情報の効率的な流れを提供することによって可能とされる。
【００５３】
パーセル(a parcel)と呼ばれるコンテナ(a container)は、ＵＩｓ、ＵＩ更新、及び第三者関与(3rd party involvement)のためのテンプレートに対して使用される。パーセルは、第三者がブランドされたＵＩｓ及び更新を生成し、テストし、そして配送するために必要な全ての情報を含む。図５はコンテンツツールセット(the content toolset)２００の図式描写を示しており、それは、スクリプティング環境(scripting environment)２２０と、テスト及びシミュレーション環境(test and simulation environment)２３０と、保守環境(maintenance environment)２４０とを含む。
【００５４】
パーセルプロセスは５つのプロセス段階を備える：
１）スクリプティング環境２２０は、１あるいは複数のＵＩｓに対するテンプレートと、そのテンプレートに基づいたＵＩｓに対する更新戦略(the update strategy)とを、設計するための手段を提供する。  
２）保守環境２４０は、よく制御されガイドされた環境(a well-controlled and guided environment)の中で高速ＵＩ(rapid UI)及び更新生成(update production)に備え、それはコンテンツプロバイダにアウトソーシングされる(outsourced)ことが出来る。  
３）保守環境２４０「ｐｒｅ−ｆｌｉｇｈｔ」機能は、展開管理者(the deployment administrator)がＵＩｓ及びそれらが第三者から受けとる更新をチェックし最適化する(tune)ことを可能にする。  
４）パブリッシングコンポーネント１１０は、新リリースの段階を含む展開ポイントで、ＵＩｓと更新の管理を提供する。  
５）パブリッシングコンポーネント１１０は、ライブコンテンツフィード(live content feeds)から更新の自動生成を可能にする。  
典型的なプロジェクトにおいては、パーセルは、スクリプティング環境２２０の中で；同じ「ｆｅｅｌ」であるが異なる「ｌｏｏｋ」を組み込んでいる、テンプレートからのリブランドされたＵＩｓを生成するコンテンツプロバイダ；周期的な或いはユーザが選択したＵＩコンテンツのバリエーションを提供する、テンプレートからの更新を生成するコンテンツプロバイダ；又は、周期的な基準で新しいサービスを促進する、テンプレートからの更新を生成するための広告代理店；に対して生成される。
【００５５】
これらの使用の場合のすべてに関して、保守環境２４０は、パーセルをインポートし(import)、コンテンツをリブランドしそして再構成し(reconfigure)、そしてパブリッシングコンポーネント１１０に提出するための新しいパーセルを生成する、ために使用される。ＵＩテンプレートの設計に於いては、つぎの問題が考慮されるべきである：ＵＩのどの部分がリブランドされることが可能であるか；ＵＩのどの特徴が、リブランディング(re-branding)において、或いは遠隔的に、再構成されることを必要とするか；ＵＩコンテンツのどの部分が更新されることが可能であるか；そして、もしもＵＩがリブランドされる場合はそのときユーザは使用されているコンテンツフィードを(content feeds)選択することが可能であるか。スクリプティング環境２２０は、これらの戦略が定義されることを可能とし、各戦略の各段階の設計者(the implementer)として保守環境２４０を動作可能にする。
【００５６】
パーセルは、編集のためのテンプレートＵＩ或いは更新を備えるスクリプティング環境２２０によって、生成される。一旦編集が完了すると、パーセルは、コンテンツサーバへの公開(publishing)のために保守環境２４０へのディスパッチ(despatch)の準備が出来ている「ｏｕｔｂｏｘ」の中にセーブされる。次の「パーセル」機能が提供される。保守環境２４０は、パーセルの中に保持されたリソースを編集(edit)／置換(replace)するために使用されることが可能である。パーセルは、モバイル機器に関するＵＩ又はＵＩ更新のパーフォーマンスをテストするためにシミュレーション環境にエクスポートされる(exported)ことが可能である。
【００５７】
パーセルエントリー(a parcel entry)は、適切なエディタ(editor)を起動するためにダブルクリックされることが可能である。（例えば、画像リソースは画像エディタを起動するであろう。）全てのリソースは、テキスト記述(text description)／注釈(note)を、保守環境の中に挿入させ、又、保守環境の中の適切なコンテクストの中で(in the appropriate context)表示させることが出来る。メニューエントリーのリストは、各エントリーがそれ自身のリソースのサブカタログ（例えば、題名、ヘルプストリング、画像、ロールオーバー画像、ＵＲＬ及び呼出音プレビュー）を示している特別なリソースタイプとして取り扱われる。
【００５８】
多くの異なったＵＩｓが、コモンベース(a common base)から導き出されることが出来る。典型的には、コモンベースはインタフェースそれ自身の大部分を実現し(implement)、そして、それから導き出されたトリグ(Trings)は、その上に小さいバリエーション、例えばブランディング(branding)等、を実現するであろう。トリグレット(a Tringlet)はトリグから導き出されることが出来、そして、それは、それが選択したペアレントトリグからの任意のリソースを無視する(override)ことが出来る（オプションでそれはそれ自身のリソースを導入することが出来る）。ここでの「リソース」もまたＴｒｉｇＭＬを参照し、従って、Ｔｒｉｇの動作及びレイアウトは、丁度それが単一の画像或いはテキストの部分を置換するほどに容易に、トリグレットによって修正されることが出来る、ということに注意すべきである。
【００５９】
パーセルは１以上のベーストリグ(base Trigs)(即ち何れの他のトリグからも導出されないトリグ)を備えることが出来、１以上のマルチプルトリグ(one or more multiple Trigs)がベーストリグから導き出され、複数のトリグレットが任意のトリグから導き出され、そして、複数のトリグレットが他のトリグレットから導出される。
【００６０】
図５は、本発明の実施例に従った、ユーザインタフェースを備える機器８００の図式描写を示す。機器は、ユーザインタフェース８１５を表示する表示８１０と、ユーザがユーザインタフェース８１５と相互に作用することを可能にするユーザインタフェース手段８２０と、を含む。処理装置８３０は、１以上の記憶手段８４０内に保存されているソフトウェアを実行し、そして他の機器及び／又は通信ネットワークとの通信を可能とするための１以上の無線通信インタフェース８５０が提供されることが可能である。１あるいは複数のバッテリー８６０が機器にパワーを供給するために(to power)受け取られることが可能であり、それはまた電力及び／又は通信ケーブルを受け取るためのインタフェースを備えることが可能である。
【００６１】
これらのコンポーネント及びインタフェースの性質(nature)は、機器の性質に依存するであろう。そのようなユーザインタフェースはモバイル或いは携帯電話ハンドセット(a mobile or cellular telephone handset)において実現されることが可能であるが、しかし、それは又、ディジタルカメラ、パーソナルディジタルオーガナイザ、デジタル音楽プレイヤ、ＧＰＳナビゲータ、ポータブルゲーミングコンソール等のような他のポータブル機器にも適用可能である、ということが理解されるであろう。更に、それはまた、ラップトップ或いはデスクトップコンピュータなどのようなユーザインタフェースを備える他の機器にも適用可能である。
【００６２】
ユーザインタフェース手段は、数字或いは英数字キーボードなどのような複数のボタン、或いはタッチスクリーン或いは同様のものを備えることが可能である。１以上の記憶機器は、パワーが失われても保存されたデータが失われないように、メモリカードなどのような不揮発性メモリの形態を備えることが可能である。ＲＯＭ記憶手段は、更新すること或いは変更することを必要としないデータを保存するために提供されることが可能である。より速い応答時間が頻繁にアクセスされるデータのキャッシングをサポートするので、いくつかのＲＡＭは、一時記憶場所用に提供されることが可能である。機器はまたユーザによって取り外し可能なメモリカードを受け入れることが可能であり、そして、オプションとしてハードディスクドライブが保存手段として使用されることが可能である。使用される保存手段は、機器サイズ、消費電力、必要とされる保存量、等の異なった要求条件(requirements)のバランスによって決定される。
【００６３】
そのような機器は、実際には、任意の無線通信ネットワーク、例えば第２世代ディジタルモバイル電話ネットワーク（即ち、ＧＳＭ、Ｄ−ＡＭＰＳ）、所謂２．５Ｇ ネットワーク（即ち，ＧＰＲＳ、ＨＳＣＳＤ，ＥＤＧＥ）、第３世代ＷＣＤＭＡ、或いはＣＤＭＡ−２０００ネットワーク、そして、これらの及び類似のネットワークの改良及び派生、とともに、実現される(implemented)ことが可能である。建物及びキャンパスの中では、他の技術、例えばブルートゥース、ＩｒＤａ或いは無線ＬＡＮ（無線或いは光学のシステムに基づくであろうとなかろうと）もまた使用されることが可能である。ＵＳＢ及び／又はファイヤワイヤ(FireWire)接続が、他の機器とのデータ同期のために、及び／又は、バッテリーチャージのために、提供されることが可能である。
【００６４】
該方法を実現するための(for implementing)、及び／又は、上記された機器を構成するための(for configuring)、コンピュータソフトウェアは、フロッピー(登録商標)ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、不揮発性メモリカード、等、のデータキャリア上に提供されることが可能である。
【００６５】
この出願は、２００４年２月１９日に出願され、そのコンテンツは参照によってこの中に組み込まれている、英国特許出願番号０４０３７０９．９の利益(benefit)を主張する。
【図面の簡単な説明】
【００６６】
【図１】図１は、本発明を組み込んでいるシステムの図式描写を示す。
【図２】図２は、サーバの構造と動作をより詳細に描写する。
【図３】図３は、図３は、モバイル機器のためのソフトウェアの図式描写を示す。
【図４】図４は、４つの階層面の図式描写を示す。
【図５】図５は、本発明の一実施例に従ったユーザインタフェースを備える機器の図式描写を示す。
【図１】
2007523417.tif 000003
【図２】
2007523417.tif 000004
【図３】
2007523417.tif 000005
【図４】
2007523417.tif 000006
【図５】
2007523417.tif 000007
【手続補正書】
【提出日】平成17年12月16日(2005.12.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
機器のためのユーザインタフェースを生成する方法であって、
第１の複数のユーザインタフェースエレメントを配列するステップと、なお前記エレメントの各々は、前記ユーザインタフェースの定義された領域に関連しており、前記第１の複数のユーザインタフェースエレメントは、前記ユーザインタフェースの第１階層レベルに関連している；
１以上の更なる複数のユーザインタフェースエレメントを配列するステップと、なお前記エレメントの各々は、前記ユーザインタフェースの定義された領域に関連しており、前記又は各々の更なる複数のユーザインタフェースエレメントは前記ユーザインタフェースの単一の階層レベルに一意的に関連し、前記ユーザインタフェースの前記又は各々のレベルは、前記第１階層レベルに対しより低い階層位置を占めている；
を備え、
なお前記機器は、
ｉ）  前記ユーザインタフェースの前記第１階層レベルに関連する前記ユーザインタフェースエレメントを与え；そして
ｉｉ）  前記ユーザインタフェースの次のより低い階層レベルに関連する前記ユーザエレメントを与え；
なおここで、もし前記機器が、前記ユーザインタフェースの定義された領域に関連しているユーザインタフェースエレメントを与える場合は、そのあとそれは、前記ユーザインタフェースのその定義された領域に関連している更なるユーザインタフェースエレメントを与えない；
ことによって前記ユーザインタフェースを生成する、
方法。
【請求項２】
１以上のユーザインタフェースエレメントを、１以上の前記複数のユーザインタフェースエレメントに付加する、更なるステップを備える請求項１記載の方法。
【請求項３】
更なる階層レベルを前記ユーザインタフェースに付加する、更なるステップを備える請求項１記載の方法。
【請求項４】
複数のユーザインタフェースエレメントを前記更なる階層レベルに関連させる、更なるステップを備える請求項３記載の方法。
【請求項５】
１以上のユーザインタフェースエレメントを１以上の前記複数のユーザインタフェースエレメントから取り除く、更なるステップを備える請求項１記載の方法。
【請求項６】
前記方法は、前記階層レベルの１つを前記ユーザインタフェースから取り除く、更なるステップを備える、請求項１記載の方法。
【請求項７】
前記方法は、前記取り除かれた階層レベルに関連する前記複数のユーザインタフェースエレメントを削除する、更なるステップを備える、請求項６記載の方法。
【請求項８】
請求項１乃至７の何れかの方法を実行するための、コンピュータ実行可能コードを備える、データキャリア。
【請求項９】
表示手段を備える機器であって、ユーザインタフェースは、前記表示手段によって表示され、前記ユーザインタフェースは、使用時に、複数の階層レベルを備えており、前記機器は、
第１の複数のユーザインタフェースエレメントを配列し、なお前記エレメントの各々は、前記ユーザインタフェースの定義された領域に関連しており、前記第１の複数のユーザインタフェースエレメントは前記ユーザインタフェースの第１の階層レベルに関連している；
１以上の更なる複数のユーザインタフェースエレメントを配列し、なお前記エレメントの各々は、前記ユーザインタフェースの定義された領域に関連しており、前記又は各々の更なる複数のユーザインタフェースエレメントは前記ユーザインタフェースの単一の階層レベルに一意的に関連し、前記ユーザインタフェースの前記又は各々のレベルは、前記第１階層レベルに対しより低い階層位置を占めている；
なお前記機器は、使用時、
ｉ）  前記ユーザインタフェースの前記第１階層レベルに関連する前記ユーザインタフェースエレメントを与え；そして
ｉｉ）  前記ユーザインタフェースの次のより低い階層レベルに関連する前記ユーザエレメントを与え；
なおここで、もし前記機器が、前記ユーザインタフェースの定義された領域に関連しているユーザインタフェースエレメントを与える場合は、そのあとそれは、前記ユーザインタフェースのその定義された領域に関連している更なるユーザインタフェースエレメントを与えない；
ことによって前記ユーザインタフェースを生成する、
機器。  
【請求項１０】
使用時、前記機器は、１以上のユーザインタフェースエレメントを、１以上の前記複数のユーザインタフェースエレメントに付加する、請求項９記載の機器。
【請求項１１】
使用時、前記機器は、更なる階層レベルを前記ユーザインタフェースに付加する、請求項９記載の機器。
【請求項１２】
使用時、前記機器は、複数のユーザインタフェースエレメントを前記更なる階層レベルに関連させる、請求項１１記載の機器。
【請求項１３】
使用時、前記機器は、１以上のユーザインタフェースエレメントを１以上の前記複数のユーザインタフェースエレメントから取り除く、請求項９記載の機器。
【請求項１４】
使用時、前記機器は、前記階層レベルの１つを前記ユーザインタフェースから取り除く、請求項９記載の機器。
【請求項１５】
使用時、前記機器は、前記取り除かれた階層レベルに関連する前記複数のユーザインタフェースエレメントを削除する、請求項１４記載の機器。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
［要約］
本発明の第１の面によれば、機器のためのユーザインタフェースを生成する方法が提供され、方法は、第１の複数のユーザインタフェースエレメント(a first plurality of user interface elements)を配列する(arranging)ステップと、なお前記エレメントの各々は、前記ユーザインタフェースの定義された領域(a defined region)に関連しており、そして前記第１の複数のユーザインタフェースエレメントは、前記ユーザインタフェースの第１階層レベル(a first hierarchical level)に関連している；１以上の更なる複数のユーザインタフェースエレメント(one or more further pluralities of user interface elements)を配列するステップと、なお前記エレメントの各々は、前記ユーザインタフェースの定義された領域に関連しており、そして前記又は各々の(the or each)更なる複数のユーザインタフェースエレメントは前記ユーザインタフェースの単一の階層レベル(a single hierarchical level)に一意的に(uniquely)関連し、そして前記ユーザインタフェースの前記又は各々のレベルは、前記第１階層レベルに対しより低い階層位置を占めている(occupying)；を備え、なお前記機器は、ｉ）前記ユーザインタフェースの前記第１階層レベルに関連する前記ユーザインタフェースエレメントを与え(rendering the user interface elements associated with the first hierarchical level of the user interface)；そして、ｉｉ）前記ユーザインタフェースの次のより低い階層レベルに(subsequent lower hierarchical level)関連する前記ユーザエレメントを与え；なおここで、もし前記機器が、前記ユーザインタフェースの定義された領域に関連しているユーザインタフェースエレメントを与える場合は、そのあとそれは、前記ユーザインタフェースのその定義された領域に関連している更なるユーザインタフェースエレメントを与えない；ことによって前記ユーザインタフェースを生成する。本発明の第２の面によれば、上記記載の方法を実行するためのコンピュータ実行可能コードを備えるデータキャリアが提供される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
本発明の第３の面によれば、表示手段を備える機器が提供され、ユーザインタフェースは、前記表示手段によって表示され、前記ユーザインタフェースは、使用時に、複数の階層レベルを備えており、前記機器は、第１の複数のユーザインタフェースエレメントを配列し、なお前記エレメントの各々は、前記ユーザインタフェースの定義された領域に関連しており、そして前記第１の複数のユーザインタフェースエレメントは前記ユーザインタフェースの第１の階層レベルに関連している；１以上の更なる複数のユーザインタフェースエレメントを配列し、なお前記エレメントの各々は、前記ユーザインタフェースの定義された領域に関連しており、そして前記又は各々の更なる複数のユーザインタフェースエレメントは前記ユーザインタフェースの単一の階層レベルに一意的に関連し、前記ユーザインタフェースの前記又は各々のレベルは、前記第１階層レベルに対しより低い階層位置を占めている；なお前記機器は、使用時、ｉ）前記ユーザインタフェースの前記第１階層レベルに関連する前記ユーザインタフェースエレメントを与え；そして、ｉｉ）前記ユーザインタフェースの次のより低い階層レベルに関連する前記ユーザエレメントを与え；なおここで、もし前記機器が、前記ユーザインタフェースの定義された領域に関連しているユーザインタフェースエレメントを与える場合は、そのあとそれは、前記ユーザインタフェースのその定義された領域に関連している更なるユーザインタフェースエレメントを与えない；ことによって前記ユーザインタフェースを生成する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】削除
【補正の内容】
【国際調査報告】
2007523417.tif 000008
2007523417.tif 000009