(57)【要約】コンピュータ（１０１）で実行される際に、ブラウザ・プログラム（２００）を形成するコンピュータ・プログラムであって、前記プログラムは、プログラム・コンポーネント（３０１、．．．３０６）を含むブラウザ構造（３００）に構成され、該ブラウザプログラムは、データ構造、例えば、ＸＭＬタグによって閉じられたモジュールから成る拡張マークアップ言語（ＸＭＬ）、に構成されたコンテンツを処理するように構成される。前記ブラウザ構造の各プログラム・コンポーネントは、前記データ構造における、それぞれのモジュールと整合する。前記ＸＭＬ文書レベルにおける、ある機能の組み込み、又は除去は、アーキテクチャにおける、ソフトウェアの部品の追加又は除去に対応する。したがって、資源制約型装置は、例えば、インターネットから、適時情報交換可能で互換性のある態様で、情報をアクセスすることができる。前記資源制約は、記憶容量及び処理能力のみならず、ディスプレイサイズ、その他に関係する。
2005507521.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ上で実行される際にブラウザ・プログラムを形成するコンピュータ・プログラムであって、
前記プログラムは、プログラム・コンポーネントから成るブラウザ構造に構成され、
前記ブラウザ・プログラムは、モジュールから成るデータ構造に構成されたコンテンツを処理するように構成され、
前記ブラウザ構造における各プログラム・コンポーネントは、前記データ構造におけるそれぞれのモジュールに整合する、コンピュータ・プログラム。
【請求項２】
請求項１に記載のコンピュータ・プログラムであって、
前記プログラム・コンポーネントの各々は、前記それぞれのモジュールからコンテンツを受取り、該それぞれのモジュールのコンテンツに作用するよう構成された機能が提供される、コンピュータ・プログラム。
【請求項３】
請求項１又は２に記載のコンピュータ・プログラムであって、
前記コンピュータ・プログラムは、それぞれのモジュールからコンテンツを抽出し、前記それぞれのモジュールに整合するプログラム・コンポーネントへ、それぞれのモジュールのコンテンツを提供するための文法関係解析器を有する、コンピュータ・プログラム。
【請求項４】
請求項１から請求項３のいずれか１項に記載のコンピュータ・プログラムであって、
プログラム・コンポーネントの前記サイズ及び機能は、前記コンピュータ・プログラムを動作させるシステムの利用可能な資源の大きさに合わせて調整される、コンピュータ・プログラム。
【請求項５】
請求項１から請求項４のいずれか１項に記載のコンピュータ・プログラムであって、
前記データ構造は、ＸＭＬ要素によって規定されたモジュールを有するＸＭＬデータ構造である、コンピュータ・プログラム。
【請求項６】
請求項１から請求項５のいずれか１項に記載のコンピュータ・プログラムであって、
前記コンピュータ・プログラムは、プログラム・コンポーネントをダウンロードするように構成され、該プログラムコンポーネントを、前記ブラウザの一部として統合する、コンピュータ・プログラム。
【請求項７】
請求項１から請求項６のいずれか１項に記載のコンピュータ・プログラムであって、
前記データ構造は、前記モジュールによって分離され、複数の装置に配置されたブラウザへ転送される、コンピュータ・プログラム。
【請求項８】
選択されたプロファイルに関連する一組のコンポーネントを前記構造に読み込むことにより、プロファイルの形態で、異なる能力を配置するように構成された、請求項１から請求項７のいずれか１項に記載のコンピュータ・プログラム。
【請求項９】
請求項１から請求項７のいずれか１項に記載されたコンピュータ・プログラムを有するセットトップボックス。
【請求項１０】
請求項１から請求項７のいずれか１項に記載されたコンピュータ・プログラムを有する携帯電話。
【請求項１１】
請求項１から請求項７のいずれか１項に記載されたコンピュータ・プログラムを有する汎用コンピュータ。
【請求項１２】
プログラム・コンポーネントから成るブラウザ構造に構成されたブラウザ・プログラムを形成する方法であって、
モジュールから成るデータ構造に構成されたコンテンツを処理し、
前記ブラウザ構造における各プログラム・コンポーネントを、前記データ構造におけるそれぞれのモジュールと整合する、ブラウザ・プログラムを形成する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケーラブル・ブラウザ・プログラムに関する。
【背景技術】
【０００２】
ブラウザ・プログラムは、ローカルディスク、ローカル・ネットワーク、インターネット、その他のような媒体に配置される情報を見て、そして、やり取りするための、ユーザ・インタフェースを提供するアプリケーション・プログラムとして広く知られており、使用されている。前記情報及び前記ブラウザは、単一のアプリケーション、ブラウザ、によって、ユーザが様々なタイプの情報をやり取りすることを可能とするために、互いに、ますます、より緊密に、インタフェースで結合するように構成されている。
【０００３】
特に、インターネットでの使用のためには、情報は、表示言語に従って構成される。そのような表示言語は、例えば、ハイパー・テキスト・マークアップ・言語（ＨＴＭＬ：Hyper Text Mark-up Language）、ダイナミックＨＴＭＬ（ＤＨＴＭＬ：Dynamic HTML）、及び拡張マークアップ言語（ＸＭＬ：Extensible Mark-up Language）である。ＸＭＬ表示言語は、スキーマ、例えば文書型定義（ＤＴＤ：Document Type Definition）又はＸＭＬスキーマ、に従って予め定義されたＸＭＬ要素（又はタグ）から成る。
【０００４】
モジュール化とは、そのような、１つの言語の１組の要素を、サブセット又はモジュールに分離させる行為である。ＸＨＴＭＬ及びＳＭＩＬは、そのようなモジュール化が定義された例である。表示セマンティクス、及び他の要素と結合され得る（又は埋め込まれ得る）要素で、要素の組を定義することもまた、それ自体に完全な言語を有さずとも可能である。ＭａｔｈＭＬ，Ｒｕｂｙ及びＸＦｏｒｍｓは、そのようなカテゴリに属する例である。
【０００５】
いったん前記モジュールが利用可能になると、該モジュールは、プロファイルの中に結合され得る。プロファイルは言語であり、前記ユーザによって必要とされる一貫性のある完全なセマンティクスの組を提供する１組の要素を提供する。明らかなプロファイルは、ＸＨＴＭＬ及びＳＭＩＬ言語のような、モジュールが導き出される前記言語である。プロファイルは、アプリケーションによって実現される。
【０００６】
モジュール化及びプロファイリングの仕組みは、ＸＭＬの拡張されたプロパティに基づいている。ＸＭＬは、どのように、要素が文書に結合され得るか、ということを明記する。
【０００７】
プロファイリングは、また、元の言語領域に重なり得る。例は、ＸＨＴＭＬ＋ＳＭＩＬプロファイル、及びＳＶＧをアニメーションする目的のＳＭＩＬアニメーションである。
【０００８】
このように、ブラウザへ表示情報を提供するための大いなる機会が存在する。データ・コミュニケーションにおいて、前記表示されるべき情報及び表示を記述する情報は、例えば、広く使用されているＴＣＰ／ＩＰプロトコルを経由して、通信される。
【０００９】
上記に従って情報を表示するために、前記ブラウザ・プログラムは、表示言語をサポートしなければならない。これは、情報の文法関係を解析すること、及び該情報のコンテンツを、前記言語のレンダリング規則に従ってレンダリングすることを含む。前記言語は、ますます進歩しており、前記ブラウザにおけるレンダリング規則の複雑な実装を含む。これは、作業メモリ、記憶容量、及び処理能力の大量使用を必要とする。特に、より多くの表示言語がブラウザによってサポートされる場合、大量のシステム資源が必要とされる。今日、携帯電話、ポータブル・デジタル・アシスタンツ（ＰＤＡ’ｓ）、その他のような、小サイズ/携帯用装置に提供される、増え続ける量の情報を見るための、これらの装置におけるブラウザの、より一層の需要がある。そのような装置は、比較的少ないシステム資源に苦しむので、システム資源の要求を低くすることが、また必要である。
【００１０】
欧州特許公開公報第１００３１０１号は、ユーザ・インタフェース・コンポーネントとデータ・コンポーネントとの組合せにおいて使用されるアプリケーション・カーネルを開示する。前記カーネルは、クライアント側に常駐し、必要に応じ、サーバからコンポーネントをダウンロードすることができる。これは、前記カーネルによって制御される動的プロセスであり、サーバと通信しながら実行される。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、前述の先行技術方法は、そのようにしなければ（すなわちダウンロードの前には）実行され得ないデータを実行するために必要とされるコンポーネントをダウンロードすることに関連するのみである、という問題を含む。この先行技術は、本発明を補足することとして、考慮され得る。
【課題を解決するための手段】
【００１２】
前述の及び他の問題は、コンピュータ上で実行される際にブラウザ・プログラムを形成するコンピュータ・プログラムであって、前記プログラムは、プログラム・コンポーネントから成るブラウザ構造に構成され、前記ブラウザ・プログラムは、モジュールから成るデータ構造に構成されたコンテンツを処理するように構成され、前記ブラウザ構造における各プログラム・コンポーネントは、前記データ構造におけるそれぞれのモジュールに整合する、コンピュータ・プログラム、によって解決される。
【００１３】
これにより、前記コンピュータ・プログラム及び該コンピュータ・プログラムが処理する前記機能は、現在のデータに合わせてサイズを調整され得る。更なる利点は、異なるソースの、（例えばＸＭＬ構造によって定義された）類似したタイプのモジュールは、異なるプロファイル又はアプリケーションにおいて、再利用され得る。
【００１４】
その結果、資源制約型装置は、例えばインターネットからの情報へ、適時情報交換可能で互換性のある態様で、アクセスをすることを可能にされ得る。前記資源制約は、記憶容量及び処理能力に関わるだけでなく、ディスプレイの大きさ、その他にも関連する。携帯電話のようなハンドヘルド装置は、この領域で、多数派を形成している。
【００１５】
前記資源制約型装置上で動作させられるべき前記ブラウザ・プログラムは、カスタマイズされた表示言語のプロファイルを、一致させるように構成され得る。
【００１６】
本発明の目的は、ＸＭＬ文書レンダリングを実行するためのソフトウェア構造を、ＸＭＬモジュールによって表現される機能もまた前記構造中にモジュール化されて表れる、という態様で、設計することである。前記ＸＭＬ文書レベルにおける、ある機能の前記結合又は取り外しは、前記アーキテクチャにおけるソフトウェアの一部分の追加又は取り外しに対応する。これは、コンポーネント技術によって実現され得る。
【００１７】
コンポーネント技術では、明確な相互依存により、ソフトウェアの一部分を設計する。コンポーネント技術の例は、ＣＯＭ，Ｄａｒｗｉｎ及びＫｏａｌａである。前記コンポーネント（プログラム・コンポーネント）は、インタフェースを介して周囲と通信することができる、ソフトウェアのカプセル化された一部分であることを特徴とする。前記インタフェースは、入力又は出力のいずれのための方法をも実現する。前記入力は、自らの機能を正しく実行するためにコンポーネントに必要とされるものに対応し、前記出力は、当該機能の結果に対応する。
【００１８】
前記コンポーネントは、出力と入力インタフェースを接続することによって、構造に結合され得る。前記接続は、コンパイル時又は実行時に実現され得る。コンポーネントの一群は、それ自身によって、又は、逆に、コンポーネントはサブ・コンポーネントへの分離によって、コンポーネントとして識別され得る。
【００１９】
望ましくは、前記プログラム・コンポーネントの各々は、前記それぞれのモジュールからコンテンツを受取り、該それぞれのモジュールのコンテンツに作用するよう構成された機能が提供される。
【００２０】
好適な実施例では、前記コンピュータ・プログラムは、それぞれのモジュールからコンテンツを抽出し、前記それぞれのモジュールに整合するプログラム・コンポーネントへ、それぞれのモジュールのコンテンツを提供するための文法関係解析器を有する。
【００２１】
プログラム・コンポーネントの大きさ及び機能が、コンピュータ・プログラムを動作させるためのシステムの利用可能な資源の大きさに合わせてサイズを調整される際、サイズ調整は、個々のコンポーネントを必要とする。これは、前記ブラウザ・プログラムを、非常に制限された資源のみを有する装置に適合させることを可能にする。
【００２２】
前記データ構造がＸＭＬ要素によって定義されたモジュールを有するＸＭＬデータ構造である場合、整合はとても単純に行われ得る。
【００２３】
前記コンピュータ・プログラムは、プログラム・コンポーネントをダウンロードするように構成され得、該プログラム・コンポーネントを、前記ブラウザの部分として統合し得る。これによって、前記プログラムは、例えば、変更された及び/又は追加のプログラム・コンポーネントを利用することで、自然に、変更に適合し得る、又は適合され得る。
【００２４】
前記データ構造が前記モジュールによって分離され、複数の装置に配置されたブラウザに転送される場合、該ブラウザは、固有の装置に合わせられ得る。前記装置が相互に通信できる場合、これは、特に好都合である。
【００２５】
前記プログラムは、選択されたプロファイルに関する一組のコンポーネントを前記構成に読み込むことにより、異なる能力を、プロファイルの形態で配置するように構成され得る。これにより、前記ブラウザは、選択されたプロファイルの要求にあわせてサイズを調整する。前記プログラムの前記構造アーキテクチャは、選択されたプロファイルへの、適合性の程度を与える。これは、言い換えると、非常に効果的なメモリ使用方法を利用可能にする。
【発明を実施するための最良の形態】
【００２６】
本発明は、好適な実施例、及び図面への参照とともに、より完全に、以下に説明される。
【００２７】
図１は、システムにけるブラウザを示す。システム１０１は、携帯電話、パーソナルデジタルアシスタント（ＰＤＡ）、汎用コンピュータ、その他、であり得る。一般的に、ここで使用されるようなコンピュータという用語は、テレビセット、ラジオ、セットトップボックス、その他のような、家庭用電化製品の全てのタイプを含む。
【００２８】
前記システムは、オペレーティング・システム・プログラム（ＯＳ）１０５、アプリケーション・プログラム（Ａｐｐｓ）１０４，及びブラウザ・プログラム（ＢｒｗｓｒＰｒｇ）（１０３）を動作させ得るコンピュータ・ユニット１０２を有する。「アプリケーション・プログラム（Ａｐｐｓ）」という用語は、種々の目的のために、コンピュータシステム１０２によって動作させられるプログラムを包含する。そのようなアプリケーション・プログラムは、電子メールアプリケーション、カレンダーアプリケーション、その他であり得る。
【００２９】
前記システムは、マイクロフォン１０９、スピーカ１０８、ディスプレイ１０７及びキーボード１０６のようなインタフェース手段を有する。更に、前記インタフェース手段は、コンピュータ・マウス（図示されていない）を有しても良い。
【００３０】
図２は、ブラウザ・プログラムの第１の構造を示す。ブラウザ・プログラム２００は、入力ファイル又はデータストリーム内の、別々のコンテンツ部分を処理するためのプログラム・コンポーネントから成る。ブラウザ・プログラム２００は、モジュールから成るデータ構造として構成されたコンテンツを処理するように構成される。望ましくは、前記データ構造は、拡張マークアップ言語（ＸＭＬ）に従って、該モジュールが該ＸＭＬ構造のツリー表現におけるノード及び、もし存在するのなら、サブノードとして規定される。ノード又はサブノードは、１つあるいはそれ以上の、コンテンツを含む要素を有し、スタート・タグ及びエンド・タグによって閉じられている。図では、入力ファイル２１２（ＸＭＬ）は、ブラウザ・プログラム２００の文法関係解析コンポーネント（Ｐｒｓ）２０１によって受け取られる。文法関係解析コンポーネント２０１は、それぞれのモジュールからコンテンツを抽出し、それぞれのモジュールのコンテンツ（すなわちコンテンツ部分）を、該それぞれのモジュールに整合するプログラム・コンポーネントへ提供するように構成される。
【００３１】
ストリームドテキスト（ｓｔｒｍＴｘｔ）と表示された第１のコンポーネント２０２は、Ｌｏａｄｅｒ（Ｌｄｒ）と表示されたサブ・コンポーネント２０３及び‘Ｔｅｘｔ  Ｒｅｎｄｉｔｉｏｎ  ａｎｄ  Ｌａｙｏｕｔ‘（ｔｘｔＲ／Ｌ）と表示されたサブ・コンポーネント２０４を有する。前記第１のコンポーネントへの入力情報は、文法関係解析器２０１から、及び同期化（Ｓｙｎｃ）と表示された第２のコンポーネント２０５から供給される。前記第１のコンポーネントからの出力情報は、ドライバ（図示されない）を介して表示手段２１３へ供給される。
【００３２】
前記第２のコンポーネント２０５は、Ｆｉｌｔｅｒ（ＦＬＴ）と表示されたサブ・コンポーネント２０６、Ｃｌｏｃｋ（ＣＬＫ）と表示されたサブ・コンポーネント２０７、Ｃｏｍｐａｒａｔｏｒ（Ｃｏｍｐ）と表示されたサブ・コンポーネント２０８、を有する。このコンポーネントへの入力情報は、文法関係解析器２０１によって提供される。
【００３３】
プレイオーディオ（ｐＡｕｄ）と表示された第３のコンポーネント２０９は、ＤＲＭと表示されたサブ・コンポーネント２１０、及び’Ｒｅｎｄｅｒ  ａｎｄ  Ｄｅｃｏｄｅ‘（Ｒ／Ｄ）と表示されたサブ・コンポーネント２１１を有する。前記第３のコンポーネントからの出力情報は、ドライバ（図示されない）を介してスピーカ手段２１４へ供給される。
【００３４】
以下の例Iに示されるように、ブラウザ構成中の、これらのプログラム・コンポーネントは、前記データ構造における、それぞれのモジュールと整合する。
【実施例１】
【００３５】
例Iはプロファイルに関して説明されている。プロファイルは、システム能力に従いながらユーザの要求に応じるための、一貫した完全な機能の組を提供するように構成されたサービスである、ということが思い出される。一般的に、以下の用語は、いわゆる当業者にとっては周知であるだろうと考えられる。しかしながら、例の中で使用されるセマンティクス及び要素に関する多くの情報は、ＳＭＩＬ（同期化マルチメディア統合言語：Ｓｙｎｃｈｒｏｎｉｚｅｄ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｇｒａｔｉｏｎ  Ｌａｎｇｕａｇｅ）が説明されている、www.w3.org/AudioVideoにおいて、見出だされる。
【００３６】
例I：同期化。
この例では、４つのプロファイルが例示されている。
プロファイル１Ａ−ストリームドテキストの表示。
プロファイル１Ｂ−オーディオの表示。
プロファイル１Ｃ−両者の表示。
プロファイル１Ｄ−同期化された表示
プロファイル１Ａ−ストリームドテキストの表示：‘ＳｔｒｅａｍｄＴｅｘｔ’（大文字Ｓ）と呼ばれる、１つのＸＭＬモジュールがある。：
2005507521.tif 000003
【００３７】
前記‘ＳｔｒｅａｍｄＴｅｘｔ’モジュールは、２つの要素、<textstream>及び<page>から成る。前記要素<textstream>は、モジュール‘ＳｔｒｅａｍｄＴｅｘｔ’を包み、前記要素<page>は、他の一連の文の後に表示されるべき各一連の文の範囲を定める。前記要素<text>は、‘time’と表示される属性を有し、いつ新たな<page>が以前のものと置換されるべきか、を示す。例えば、表示位置を決定するため、表示の継続期間、その他、という他の要素及び属性が考えられ得る、ということに留意されるべきである。
【００３８】
図２を見ると、前記プログラム・コンポーネントは、その入力情報及び出力情報に関して明記されており、該入力情報及び出力情報は、言い換えると、該コンポーネントのインタフェースを構成する。
【００３９】
【表１】
2005507521.tif 000004
【００４０】
前記Ｌｏａｄｅｒ、及び前記Ｔｅｘｔ  Ｒｅｎｄｉｔｉｏｎ  Ａｎｄ  Ｌａｙｏｕｔコンポーネントは、単一のコンポーネント、ｓｔｒｅａｍｅｄＴｅｘｔ（小文字ｓ）に結合され得る。
【００４１】
プロファイル１Ｂ−オーディオの表示：ＰｌａｙＡｕｄｉｏ（大文字Ｐ）と呼ばれる、１つのＸＭＬモジュールがある。
2005507521.tif 000005
【００４２】
前記ＰｌａｙＡｕｄｉｏモジュールは、１つの要素<audio>から成る。それは、属性“src”によって表示されるインターネット上のオーディオファイルを参照する。前記ファイルは“mp3”タイプであり、属性“drm”に従って、自由にプレイバックがされる。前記プログラム・コンポーネントは、以下の表２に明記される。
【００４３】
【表２】
2005507521.tif 000006
【００４４】
前記ＤＲＭ及び前記“Ｒｅｎｄｅｒ  Ａｎｄ  Ｄｅｏｃｄｅ”コンポーネントは、単一のコンポーネント、ｐｌａｙＡｕｄｉｏ（小文字ｐ）に結合され得る。
【００４５】
プロファイル  １Ｃ−両者の表示：前記プロファイルは、前述の２つのＸＭＬモジュール、ＳｔｒｅａｍＴｅｘｔ及びＰｌａｙＡｕｄｉｏ、をともに持つ。
2005507521.tif 000007
【００４６】
実は、前記プロファイルは、２つのチルドレン、<teststream>及び<audio>が同時に表示されるべきあるということを示す要素<par>をも含むので、３つのモジュールからなっている。前記要素は文法関係を解析されるが、このプロファイルにおいては、これ以上処理されない。前記オーディオは、前記歌のラインがスクリーンに表示されるのと同じ時間、再生される。前記２つは、非同期に進行する。
【００４７】
前記プログラム・コンポーネントは、下記の表３に明記される。
【００４８】
【表３】
2005507521.tif 000008
【００４９】
プロファイル１Ｄ−同期された両者の表示。前記プロファイルは、同期機能を備えることで以前のプロファイルを拡張し、又は、逆にいうと、前記プロファイルは、当該プロファイルのサブセットとなる。
2005507521.tif 000009
【００５０】
このプロファイルは、例１Ｃにおけるものと同じモジュールから成るが、メディア・マーカ及び同期化機能を含む、ＭｅｄｉａＭａｒｋｅｒＴｉｍｉｎｇ（ＳＭＩＬ２０の仕様書における、同じ名前のモジュールと同様である）と呼ばれる４番目のモジュールを備えることによって拡張されている。前記オーディオは、前記歌のラインがスクリーンに表示されるのと同じ時間、再生される。ここで、前記２つは同期して進行する。
【００５１】
前記プログラム・コンポーネントは、以下の表４−１から表４−４に明記される。
【００５２】
【表４−１】
2005507521.tif 000010
【００５３】
【表４−２】
2005507521.tif 000011
【００５４】
【表４−３】
2005507521.tif 000012
【００５５】
【表４−４】
2005507521.tif 000013
【００５６】
例IにおけるＸＭＬモジュールとプログラム・コンポーネントとの間の関係は、以下の通りである。
【００５７】
【表５】
2005507521.tif 000014
【００５８】
前記Ｆｉｌｔｅｒコンポーネントは、２つのタイミングタイプ：ＳｔｒｅａｍｄＴｅｘｔ及びＭｅｄｉａＭａｒｋｅｒＴｉｍｉｎｇの存在によって意味付けされる。
【００５９】
モジュールとコンポーネントとの関連は、前記プロファイルにおける階層に依存し得る、ということに留意されたい。Ｃｌｏｃｋは、ＳｔｒｅａｍｄＴｅｘｔに関連しており、タイミングの両フォームがプロファイルに加わった場合に、Ｆｉｌｔｅｒ及び前記ラッパたるＳｙｎｃｈｒｏｎｉｚａｔｉｏｎが導かれる。これらのタイミングモジュールの結合は、前記タイミングにおける階層に関連する。例えば、Ｃｌｏｃｋの時間値をサポートしないというプロファイルが考えられる。それは、空のコンポーネントによるＣｌｏｃｋコンポーネントの置き換え（及びＦｉｌｔｅｒが空にされ得る）を意味する。前記Ｃｌｏｃｋコンポーネントは、ＳｔｒｅａｍｄＴｅｘｔモジュールとは、ハードウェア的には関連しない。
【００６０】
図３は、ブラウザの第２の構成を示す。図では、入力ファイル３０７（ＸＭＬ）は、ブラウザ・プログラム３００の文法関係解析コンポーネント３０１（Ｐｒｓ）によって受け取られる。文法関係解析コンポーネント３０１は、それぞれのモジュールからコンテンツを抽出し、それぞれのモジュールに整合するプログラム・コンポーネントへ、該それぞれのモジュール（すなわちコンテンツ部分）のコンテンツを提供するように、構成される。
【００６１】
‘Ｉｍａｇｅ  Ｒｅｎｄｅｒ’（ＩＭＧＲ）と表現されたコンポーネント３０２は、文法関係解析器３０１から入力を受け取り、‘Ｌａｙｏｕｔ  Ｍａｎａｇｅｒ’３０３（ＬｏＭａｎ）と表現されたコンポーネントへ出力情報を提供し、次いで、ドライバ（図示されない）を経由して、ディスプレイ３０８へ出力情報を提供する。‘Ｌａｙｏｕｔ  Ｍａｎａｇｅｒ’３０３は、文法関係解析器３０１、及び、‘Ｌｉｓｔ  Ｍａｎａｇｅｒ’（ＬｉｓｔＭａｎ）と表現されるコンポーネント３０４から、追加の入力情報を受け取る。
【００６２】
前記‘Ｌｉｓｔ  Ｍａｎａｇｅｒ’コンポーネントは、ユーザ・インタフェースを操作するユーザによって起こされるイベントを受け取る責任がある。前記イベントは、いわゆる「クリック」イベント、「マウスムーブ」イベント、「ダブルクリック」イベント、その他であり得る。前記‘Ｌａｙｏｕｔ  Ｍａｎａｇｅｒ’へ出力情報を供給することに加えて、出力情報は、‘Ｅｖｅｎｔ  Ｌｉｓｔｅｎｅｒ’コンポーネント３０５（ＥｖＬｉｓｔ）へ供給される。
【００６３】
コンポーネント‘Ｅｘｃｌ  Ｍａｎａｇｅｒ’３０６（Ｅｘｃｌｍａｎ）は、前記文法関係解析器、及び前記‘Ｅｖｅｎｔ  Ｌｉｓｔｅｎｅｒ’から入力情報を受け取り、該‘Ｅｖｅｎｔ  Ｌｉｓｔｅｎｅｒ’へ出力情報を供給する。
【００６４】
以下の例IIで示されるように、これらのプログラム・コンポーネントは、ブラウザ構造において、前記データ構造におけるそれぞれのモジュールと整合する。
【実施例２】
【００６５】
例II：レイアウト。
この例では、３つのプロファイルが例示される。：
プロファイル２Ａ−レイアウトなしのイメージギャラリの表示
プロファイル２Ｂ−レイアウトを有するＵＩ-リストの追加
プロファイル２Ｃ−小スクリーンのためのＵＩ−リストの追加（レイアウトなし）
【００６６】
プロファイル２Ａ-レイアウトなしのイメージギャラリの表示：２つのＸＭＬモジュール：ＥｘｃｌＴｉｍｅＣｏｎｔａｉｎｅｒｓ、ＥｖｅｎｔＴｉｍｉｎｇ、及びＳＭＩＬ２０のＭｕｌｔｉＡｒｃＴｉｎｉｎｇと同様のＭｕｌｔｉＡｒｃＴｉｎｉｎｇ、及びＸＨＴＭＬのＩｍａｇｅと同様のＩｍａｇｅ、が存在する。
モジュール。
2005507521.tif 000015
【００６７】
前記ＥｘｃｌＴｉｍｅＣｏｎｔａｉｎｅｒｓモジュールの前記<excl>要素は、Ｉｍａｇｅモジュールの<img>要素を含む。前記<excl>要素は、それ自身のチルドレンの１つだけが、同時に表示され得るべきというセマンティクスを有する。ある要素が活性状態になった場合、前記現在の要素は非活性状態になる。前記ＥｖｅｎｔＴｉｍｉｎｇモジュールのbegin属性は、対応する<img>要素が、いつ示されるかを明示する。
【００６８】
前記第１の<img>のbegin属性は、ＭｕｌｔｉＡｒｃＴｉｎｉｎｇモジュールによって許可された、２つの値を持つ。それは、<excl>の始動を実現する。
【００６９】
新たな<img>は、それ自身の前の<img>から「クリック」イベントを受け取った後に示される。前記「クリック」イベントは、いくつかのユーザ・アクションによって始動され、プラットフォームに依存する態様で、システムに運ばれる。
【００７０】
イメージ結果の循環表示。
【００７１】
前記プログラム・コンポーネント：
【００７２】
【表６】
2005507521.tif 000016
【００７３】
プロファイル２Ｂ-レイアウトを有するＵＩ-リストの追加：前記プロファイルは、Ｌｉｓｔモジュール及びＬａｙｏｕｔモジュールによって、前記先のプロファイルを拡張し、後者は、前記ＳＭＩＬの「基本レイアウト」モジュールに匹敵する。
2005507521.tif 000017
【００７４】
前記Ｌａｙｏｕｔモジュールは、上部、左部、幅、高さ、の属性を加え（属性を加えるという点で、前記ＳＭＩＬ２０の基本レイアウトモジュールとは異なる。）；前記Ｌｉｓｔモジュールは、<list>及び<item>要素を加え、ＵＩリストの部品及びその領域、それぞれを宣言する。前記リストは、スクリーンの左半分に表示されるべきであり、前記画像は右半分に表示されるべきである。前記<list>の前記ＵＩレンダリングは、一方向又はそれ以外の方向にスクロール可能であろう。前記<item>要素は、前記リストの前記領域に表示されるべきテキスト・ストリングを含んでいる。領域をクリックすることによって、対応する<item>要素に関連したイベントが生じる。（前記<gallery>要素は、ＸＭＬの的確性目的のために必要とされるが、今回の議論には関連しない。）
前記プログラム・コンポーネント
【００７５】
【表７−１】
2005507521.tif 000018
【００７６】
【表７−２】
2005507521.tif 000019
【００７７】
プロファイル  ２Ｃ−小スクリーンのためのＵＩリストの追加（レイアウトなし）：前記プロファイルは、先のプロファイルと同一であるが、前記Ｌａｙｏｕｔモジュールはサポートされない；前記Ｌａｙｏｕｔ構文は、文法関係を解析され、正当性を確認されるが、宣言された行為は実行されない。
2005507521.tif 000020
【００７８】
前記リスト又は選択された画像のいずれかが示される。画像は、前記リスト上をクリックすることにより選択される。画像をクリックすることは、常に前記リストを示すこととなる。（例えば、ダブルクリック及び右クリックを使用すること、又は下記例３Ｂに示されているようなこと、その他により、常時ではなく、前記リストが画像の間に示されるような、より精巧なスキームが考えられる。これは、今回の議論には関係ない。）
前記プログラム・コンポーネント
【００７９】
【表８−１】
2005507521.tif 000021
【００８０】
【表８−２】
2005507521.tif 000022
【００８１】
前記‘ＬａｙｏｕｔＭａｎａｇｅｒ’は著しく削減される。該‘ＬａｙｏｕｔＭａｎａｇｅｒ’は、最後に受け取った入力で前記スクリーンイメージを置換するというタスクを実行する。視認し得る１つのレンダリング、すなわち１つの要素が、同時に存在するだろう。
【００８２】
再び、例は、簡潔に本発明を示すことが意図される、ということが思い出される。より精巧な領域解析は、コンポーネントを設計する他の方法を導くだろう。例えば、ここに示されたような前記コンポーネントは、サブ・コンポーネントに分離されても良く、該サブ・コンポーネントは、前記プロファイルに依存する、異なる方法でグループ化される。しかしながら、ＸＭＬモジュールがこれらのサブ・コンポーネントに関連するということは、維持される。より正確には、この例２Ｃにおいて、ユーザのクリックの分類は、前記ＬｉｓｔＭａｎａｇｅｒリスト・マネジャーによっては実行されず、追加のコンポーネント及びイベントのディスパッチに、より関連するだろう。説明したように、これは、前記例においては、詳述されない。同様の言は、<img>が非活性化される場合におけるレイアウト領域のクリアランスに関連する。
【００８３】
ＸＭＬモジュールとＳＷコンポーネントとの間の前記関連は、次の表９の通りである。
【００８４】
【表９】
2005507521.tif 000023
【実施例３】
【００８５】
例III：複数装置
この例では、２つのプロファイルが例示される：
プロファイル  ３Ａ-文書のための装置及びオーディオのための装置。
プロファイル  ３Ｂ-イメージ表示のための装置、及びリストを管理するための装置。
【００８６】
この例は、スケーラビリティ・プロパティ・アプリケーションの他の形態を論じる。最初の２つの例では、前記スケーラビリティは、クライアント装置の能力を拡張することに関連する。この例では、我々は、先の２つのシナリオを採用するが、我々は、互いに補完し合う能力の２つの装置を結合する。前記２つの装置は、同一のＸＭＬ文書がロードされる。望ましくは、それらは、それらの処理を同期できるように、相互結合される。第１の装置は、前記文書の一部分を表示することができ、第２の装置は他の部分を表示することができる。
【００８７】
前記装置は、同一のＸＭＬ文書がロードされるので、前記クライアントが前記文書の部分的な表示のみしか行うことができない場合には、該文書は、当該文書の部分的な表示を許す、ということが想定される。さもなければ、プリプロセッサ（おそらく前記装置の１つの上位装置とされるプロキシ）は、前記文書を分割することを要求される。
【００８８】
前記２つの装置への前記文書のフェッチ及びローディングは、また、前記２つの装置間の幾つかの通信の型を必要とする。前記２つの装置の間の同期の場合には、前記文書表示の間中、その機能をホスティングするための必要性もまた存在する。
【００８９】
前記ＳＭＩＬ２０の基本仕様は、前記同一の文書が、どのようにして異なる能力のクライアントにロードされ得るか、の例である。それは、すなわち、あるモジュールのサポートのための必要性を宣言するためのｓｙｓｔｅｍＲｅｑｕｉｒｅｄと呼ばれる属性を使用する。前記属性は、ＢａｓｉｃＣｏｎｔｅｎｔＣｏｎｔｒｏｌと呼ばれるモジュールの一部分である。前記ｓｙｓｔｅｍＲｅｑｕｉｒｅｄは、該ｓｙｓｔｅｍＲｅｑｕｉｒｅｄに関連する能力がサポートされている場合、当該ｓｙｓｔｅｍＲｅｑｕｉｒｅｄが呼び出される前記要素のサブツリーの前記レンダリングのみが、実行されるであろう、というセマンティクスを有する。一方、前記クライアントが、前記文書の残りをレンダリングすることを実行しても良い場合、前記サブツリーはスキップされるべきである。以下の例で、我々は、このモジュールを複写する。それは、能力チェックを実行する対応するプログラム・コンポーネントを意味する、ということに留意されたい。
【００９０】
例３Ａ-テキストのための装置及びオーディオのための装置：２つの装置があり、一方はプロファイル１Ａによるストリームドテキストを表示可能で、他方は、プロファイル１Ｂによるオーディを上演可能である。前記２つの装置は、ともに、プロファイル１Ｃから前記ＸＭＬ文書がローディングされるが、しかしながら、ｓｙｓｔｅｍＲｅｑｕｉｒｅｄ属性により修正される。
2005507521.tif 000024
【００９１】
前記第１の装置はストリームドテキストを表示し、前記第２はオーディを再生するだろう。両装置が同期され得る場合、図２で示され、プロファイル１Ｄで説明された、前記同期モジュールは、該２つの装置の間の同期を制御するためにホスティングされなければならない。前記ホスティングは、前記プロキシ、又は前記２つの装置の内の１つ、において行われる。前記ＸＭＬ文書の執筆者が同期を要求することを望む場合、ｓｙｓｔｅｍＲｅｑｕｉｒｅｄは、ＭｅｄｉａＭａｋｅｒＴｉｍｉｎｇが必要とされるということを、<par>要素において要求する。
【００９２】
例３Ｂ−イメージ表示のための装置及びリストを管理するための装置：２つの装置が存在し、一方は、プロファイル２Ａによる画像を表示することができ、他方は、ユーザが画像を渡り歩くことを可能とする当該画像のリストを表示することができる。前記リストは、プロファイル２Ｂ及び２Ｃのうちの１つに関連する。前記２つの装置は、互いに接続されており、前記「リスト」装置は、「画像」表示へ、選んだものを知らせることができる。前記２つの装置は、ともに、プロファイル２ＣからＸＭＬ文書がローディングされるが、しかし、ｓｙｓｔｅｍＲｅｑｕｉｒｅｄ及び、プロファイル２Ａによる、<img>における追加のイベント宣言で修正される。
2005507521.tif 000025
【００９３】
前記第１の装置は、前記画像を表示するだろう；ユーザは該画像を「クリック」することによって、当該画像をスクロールすることができる（該クリックは、ディスプレイ装置上のノブ・ボタンを叩くという態様にし得る）。前記第１の装置は、プロファイル２Ａで説明したようなコンポーネントをサポートする。前記第２の装置は、画像のリストを表示する。それは、プロファイル２Ｃがプロファイル２Ａに加えた、注目すべき前記ＬｉｓｔＭａｎａｇｅｒというコンポーネントをサポートする。前記第２の装置は、前記イベント通知するために、前記第１の装置と通信する。
【００９４】
第１の装置は、プロファイル２Ｃ、すなわち、それはＬｉｓｔＭａｎａｇｅｒを含む、の場合のように動作する、ということが考えられる。前記第２の装置は、前記第１の装置に遠隔操作を提供する。イメージのリストを渡り歩く代わりに、テレビ番組を渡り歩くことが考えられ、前記リストはＥＰＧ（電子番組ガイド）を意味する。前記テレビスクリーンは、テレビ番組を表示したままであり、前記番組ガイドは、リモコン上で調べられ得る。別の筋書きは、テレビ番組が、複数の（カメラ）視点から成るというものである。前記渡り歩き領域を、選択された視点とともに同一のスクリーン上に表示する代わりに、周辺装置が表示のその部分を肩代わりすることができる。前記プログラム・メーカは、前記視点を渡り歩くことを含む前記完全なプログラムを記述するＸＭＬ文書を設計する。前記テレビは、プロファイル２Ｃと同様に、前記テレビをＵＩコンポーネントのための専用リモコンで拡張し、プログラム・メーカから同一のＸＭＬ文書を該テレビにローディングするとともに、（遠隔使用の楽さは別として）ＵＩと番組表示との分離を可能にする全てを提供し得る。これは、ＸＭＬ文書が、ｓｙｓｔｅｍＲｅｑｕｉｒｅｄのような情報を含んでいるということとなる。前記プログラムは、２Ａのシナリオ上は、渡り歩くことを全くサポートしないテレビセットにおいて使用され得る、ということに留意されたい。
【００９５】
「コンポーネント」及び「構造」は、ソフトウェア設計段階で使用される概念であるということを強調することは有益であるだろう。それらは、それ自身の機能を説明する前述の現実のプログラムコードに、概要レベルを提供する。コンパイラは、現実のコードを生成し、コードサイズのような性能規準のために、該コードを最適化することとなる。
【００９６】
コンポーネントは、それらが同一の入出力関係を満たしている限り、他のコンポーネントによって置換され得る。例えば、ある機能は、入出力関係を満足する空のコンポーネントを介して、対応するコンポーネントを置換することによって、前記構造から削除され得る。前記空のコンポーネントは、それ自身の入力部が接続さる他のコンポーネントから出力情報を受け取り、該出力情報を捨てるか又はそれ自身の出力部を介してそれを渡すかのいずれかを行う。前記出力部において有効となる前記情報、例えば固定値、は、また、前記コンポーネントによって生成され得る。前記受け取った入力情報は、出力部に供給される前に、少々修正される、ということもまた、可能である。これは、全て、前記コンポーネントの正確な機能、及び全体構成の中の、それ自身の役割に依存する。「空」コンポーネントを置換するという考え方は、残りの機能を実行するコンポーネント間の（簡潔なコンポーネントの形態の）接着層という考え方である。
【００９７】
言語レベルにおいて機能を表現するＸＭＬモジュール（又は１組のＸＭＬモジュール）は、該機能を実現するプログラム又はソフトウェアレベルにおけるコンポーネント（又は１組のコンポーネント）と関連する。言語レベルにおける前記プロファイルは、前記構造内のコンポーネントの（再）構成／インスタンスの作成に関連する。１つの統一された構成があるが、しかしながら、装置上での実装は、要求された機能プロファイルに合わせてサイズを調整するように、それのほんの一部分だけを実現する。実現された前記部分は、ＸＭＬ表現言語レベルにおけるプロファイルを形成する、前記ＸＭＬモジュールに対応するコンポーネントのサブセットを含む。
【００９８】
ＸＭＬ機能モジュールの例は、以下を含む：
-同期のためのタイミング
-相互作用及び他のイベントのタイミング
-アニメーションのタイミング
-ＵＩ；部品（ボタン、スライダ）
-ＵＩ；ユーザ入力（Ｘフォーム）
-ＵＩ；ことば（入力、及び/又は出力）
-テキストのレイアウト（ＨＴＭＬ）
-テキストスタイルのレイアウト（ＣＳＳ）
-メディアのレイアウト（オーディオ/ビデオ翻訳）
-グラフィックのレイアウト
-ストリームテキストのレイアウト（クローズ  キャプショニング）
-デジタル権利及びキー管理のレイアウト（暗号化）
-数学的公式のレイアウト（ＭａｔｈＭＬ）
【００９９】
前記従来のＸＭＬのマークアップのような、この文書における全ての設計は、例示によるものである。同一の構文及び文法を有する実在するＸＭＬによる１対１の（セマンティクス）マップは必要ない。マークアップの良い設計を提供するという提案も存在しない。同様に、前記プログラム・コンポーネントは、例示によって指定されたものであるが、メモリ消費又は機能的動作のような、性能測定基準に関する最適設計を意味しない。
【０１００】
コンポーネントの数を低く保つために、コンポーネントは、より大きなコンポーネントにグループ化され、これにより前記例に影響を与えはしない。前記例に関連しない平凡なコンポーネントは除外される。
【図面の簡単な説明】
【０１０１】
【図１】図１は、システムにおけるブラウザを示す。
【図２】図２は、ブラウザの第１の構成を示す。
【図３】図３は、ブラウザの第２の構成を示す。
【国際公開パンフレット】
2005507521.tif 000026
2005507521.tif 000027
2005507521.tif 000028
2005507521.tif 000029
2005507521.tif 000030
2005507521.tif 000031
2005507521.tif 000032
2005507521.tif 000033
2005507521.tif 000034
2005507521.tif 000035
2005507521.tif 000036
2005507521.tif 000037
2005507521.tif 000038
2005507521.tif 000039
2005507521.tif 000040
2005507521.tif 000041
2005507521.tif 000042
2005507521.tif 000043
2005507521.tif 000044
2005507521.tif 000045
2005507521.tif 000046
2005507521.tif 000047
2005507521.tif 000048
2005507521.tif 000049
2005507521.tif 000050
2005507521.tif 000051
2005507521.tif 000052
2005507521.tif 000053
2005507521.tif 000054
2005507521.tif 000055
【国際公開パンフレット（コレクトバージョン）】
2005507521.tif 000056
【国際調査報告】
2005507521.tif 000057
2005507521.tif 000058
2005507521.tif 000059