(57)【特許請求の範囲】
【請求項１】
方法であって、
ディスプレイ上のプレゼンテーション表面上に提示するためにモンタージュを受けるステップであって、前記モンタージュが複数のプレゼンテーション・タイルとレイアウトとを含み、前記プレゼンテーション表面が、格子を含み、該格子のディメンジョンに関連したパンニング方向を有する、ステップと、
前記パンニング方向に垂直な固定格子ディメンションが、前記レイアウトにおける対応する格子ディメンションよりも前記ディスプレイ上において小さいときを判定するステップと、
前記プレゼンテーション・タイルの互いに対する空間特徴付けを保存しつつ、前記小さい固定格子ディメンションに応答して前記格子上において前記複数のプレゼンテーション・タイルの位置を変更するステップと、
前記プレゼンテーション表面のユーザー・インターフェース・ビューに、前記変更した位置において前記複数のプレゼンテーション・タイルを提示するステップであって、各プレゼンテーション・タイルが、コンテンツ・ファイルに関連し、該コンテンツ・ファイルから取り出したコンテンツの一部を表示するように構成された、ステップと、
を含む、方法。
【請求項２】
請求項１記載の方法であって、更に、
前記レイアウトからプレゼンテーション・タイルの順序を決定するステップと、
前記格子の原点に、第１プレゼンテーション・タイルを置くステップと、
前記プレゼンテーション・タイルの順序において第２プレゼンテーション・タイルを選択するステップと、
前記第１プレゼンテーション・タイルに対する前記第２プレゼンテーション・タイルについての空間特徴付けを判定するステップと、
前記空間特徴付けにしたがって、前記格子上に前記第２プレゼンテーション・タイルを置くステップと、
を含む、方法。
【請求項３】
請求項２記載の方法において、空間特徴付けが、第１方向、第２方向、または第３方向の内１つを含み、前記第３方向が右オフセットを含み、前記原点が前記格子の上角にあり、前記格子上に前記第２タイルを置くステップが、
前記第１プレゼンテーション・タイルに隣接してその右側に第１方向プレゼンテーション・タイルを置くステップと、
前記格子上に十分な余裕がある場合、前記第１プレゼンテーション・タイルの下に、第２方向プレゼンテーション・タイルを置くステップと、
前記第１プレゼンテーション・タイルの下に前記プレゼンテーション・タイルを置く十分な余裕がない場合、前記格子の最上位行におけるプレゼンテーション・タイルの右側で前記格子における第１の利用可能な列に、第２方向プレゼンテーション・タイルを置くステップと、
前記右オフセットにおける列数だけ前記第１プレゼンテーション・タイルの右に、第３方向プレゼンテーション・タイルを置き、前記第３方向プレゼンテーション・タイルおよび前記第１プレゼンテーション・タイルがオーバーラップするか否か判定するステップと、
前記第３方向プレゼンテーション・タイルおよび前記第１プレゼンテーション・タイルがオーバーラップし、かつ前記第１プレゼンテーション・タイルの下に前記第３方向プレゼンテーション・タイルを置く余裕がある場合、前記第１プレゼンテーション・タイルの下に、前記右オフセットにおける列数だけ前記第１プレゼンテーション・タイルより右に、前記第３方向プレゼンテーション・タイルを動かすステップと、
前記第３方向プレゼンテーション・タイルおよび前記第１プレゼンテーション・タイルがオーバーラップし、前記第１タイルの下に前記第３方向プレゼンテーション・タイルを置く余裕がない場合、前記格子の最上位行におけるプレゼンテーション・タイルの右側で最初に利用可能な列に、前記第３方向プレゼンテーション・タイルを動かすステップと、
を含む、方法。
【請求項４】
請求項１記載の方法であって、更に、
プレゼンテーション・タイルをモンタージュに追加することおよび前記モンタージュからプレゼンテーション・タイルを削除することの一方を行い、前記追加または削除が、前記プレゼンテーション表面に空白空間を作り、
前記プレゼンテーション・タイルの互いに対する前記空間特徴付けを保存しつつ前記空白空間を埋めるために、前記格子上において前記複数のプレゼンテーション・タイルの前記位置を変更する、
ことを含み、更に、
前記空白空間の幅に一致する幅を前記パンニング方向に有する第１チャネルを定めるステップと、
前記第１チャネルの後端エッジに先端エッジを有するタイルの連続ブロックを前記パンニング方向において特定するステップと、
前記タイルの連続ブロックの幅を有する第２チャネルを定めるステップと、
チャネル毎にカレントを割り当てるステップであって、カレントが固定ディメンションと整列され、前記隣接チャネルのカレントが逆方向に流れる、ステップと、
前記プレゼンテーション・タイルの順序で各タイルを選択するステップと、
選択された前記タイルを前記カレントに沿ってできるだけ遠くまで動かすステップと、
を含む、方法。
【請求項５】
請求項１、２、３、または４のいずれか１項に記載の方法をコンピューターに実行させるためのコンピューター・プログラム。
【請求項６】
装置であって、
格子と、該格子のディメンジョンに関連したパンニング方向とを含むプレゼンテーション表面上にモンタージュを提示するために第１ユーザー・インターフェース・ビューを生成するように動作するプレゼンテーション・コンポーネントを含むモンタージュ・アプリケーションを実行するように構成された論理デバイスであって、前記モンタージュが複数のプレゼンテーション・タイルとレイアウトとを含み、前記プレゼンテーション・コンポーネントが、更に、
ディスプレイ上の前記プレゼンテーション表面における前記パンニング方向に垂直な固定格子ディメンションが、前記レイアウトにおける対応する格子ディメンションよりも前記ディスプレイ上において小さいときを判定し、
前記固定格子ディメンションに対する変更を決定するために、前記プレゼンテーション表面の前記固定格子ディメンションにおける格子ブロックの数を、前記レイアウトの前記対応する格子ディメンションにおける格子ブロックの数と比較し、
前記プレゼンテーション・タイルの互いに対する空間特徴付けを保存しつつ、前記固定格子ディメンションに対する前記変更に基づいて前記格子上において前記複数のプレゼンテーション・タイルの位置を変更し、
前記プレゼンテーション表面の前記第１ユーザー・インターフェース・ビューに、前記変更した位置において前記複数のプレゼンテーション・タイルを提示する、
ように動作する、
論理デバイスと、
オーサリング・コンポーネントであって、該オーサリング・コンポーネントが、前記モンタージュにおけるプレゼンテーション・タイルの追加または削除によって空白空間が作られたときに、前記プレゼンテーション・タイルの互いに対する前記空間特徴付けを保存しつつ前記空白空間を埋めるために、前記格子上の前記複数のプレゼンテーション・タイルの前記位置を変更するように動作し、これを、前記パンニング方向におけるプレゼンテーション・タイルの連続グループを特定して該プレゼンテーション・タイルの連続グループを前記固定ディメンションにおいて中心に位置付けすることにより行う、オーサリング・コンポーネントと、
を含む装置。
【請求項７】
請求項６記載の装置において、前記プレゼンテーション・コンポーネントが、更に、
前記レイアウトからプレゼンテーション・タイルの順序を決定し、
前記格子の原点に、第１プレゼンテーション・タイルを置き、
前記プレゼンテーション・タイルの順序において第２プレゼンテーション・タイルを選択し、
前記第１プレゼンテーション・タイルに対する前記第２プレゼンテーション・タイルについての空間特徴付けを判定し、
前記空間特徴付けにしたがって、前記格子上に前記第２プレゼンテーション・タイルを置く、
ように動作する、装置。
【請求項８】
請求項７記載の装置において、空間特徴付けが、第１方向、第２方向、または第３方向の内１つを含み、前記第３方向が右オフセットを含み、前記原点が前記格子の上角にあり、前記プレゼンテーション・コンポーネントが、更に、
前記第１プレゼンテーション・タイルに隣接してその右側に第１方向プレゼンテーション・タイルを置き、
前記格子上に十分な余裕がある場合、前記第１プレゼンテーション・タイルの下に、第２方向プレゼンテーション・タイルを置き、
前記第１プレゼンテーション・タイルの下に前記プレゼンテーション・タイルを置く十分な余裕がない場合、前記格子の最上位行におけるプレゼンテーション・タイルの右側で前記格子における第１の利用可能な列に、第２方向プレゼンテーション・タイルを置くステップと、 
前記右オフセットにおける列数だけ前記第１プレゼンテーション・タイルの右に、第３方向プレゼンテーション・タイルを置き、前記第３方向プレゼンテーション・タイルおよび前記第１プレゼンテーション・タイルがオーバーラップするか否か判定し、
前記第３方向プレゼンテーション・タイルおよび前記第１プレゼンテーション・タイルがオーバーラップし、かつ前記第１プレゼンテーション・タイルの下に前記第３方向プレゼンテーション・タイルを置く余裕がある場合、前記第１プレゼンテーション・タイルの下に、前記右オフセットにおける列数だけ前記第１プレゼンテーション・タイルより右に、前記第３方向プレゼンテーション・タイルを動かし、
前記第３方向プレゼンテーション・タイルおよび前記第１プレゼンテーション・タイルがオーバーラップし、前記第１タイルの下に前記第３方向プレゼンテーション・タイルを置く余裕がない場合、前記格子の最上位行におけるプレゼンテーション・タイルの右側で最初に利用可能な列に、前記第３方向プレゼンテーション・タイルを動かす、
ように動作する、装置。
【請求項９】
請求項６記載の装置において、前記プレゼンテーション・コンポーネントが、更に、
前記格子から任意の空の列および行を除去し、
前記プレゼンテーション・タイルの連続グループが、前記格子において固定ディメンションにおいて中央に位置付けられているか否か判定し、
前記プレゼンテーション・タイルの連続グループを前記固定ディメンションにおいて中央に位置付ける、
ように動作する、装置。
【請求項１０】
請求項６記載の装置であって、前記オーサリング・コンポーネントが更に、
前記空白空間の幅と等価の幅を前記パンニング方向に有する第１チャネルを定め、
前記第１チャネルの後端エッジに先端エッジを有するタイルの連続ブロックを前記パンニング方向において特定し、
前記タイルの連続ブロックの幅を有する第２チャネルを定め、
チャネル毎にカレントを割り当て、カレントが固定ディメンションと整列され、前記隣接チャネルのカレントが逆方向に流れ、
各タイルを順序で選択し、
チャネルにおいて前記カレント方向にタイルをできるだけ遠くまで動かす、または
前記チャネルまたは前記チャネルの先端エッジに隣接するチャネルの一方において、前記パンニング方向に前記タイルをできるだけ遠くまで動かす、
の内少なくとも１つを行う、
ように動作する、装置。
【発明の詳細な説明】
【従来技術】
【０００１】
[0001]  モンタージュは、１つの複合エレメントを形成するために別個のエレメントの集合体を含むことができる。例えば、モンタージュは、数個の別個のピクチャーで構成される複合ピクチャー、または異種画像の素早いシーケンスを含むビデオ・シーケンスを含むこともできる。異なるウェブ・アプリケーションからサーブされる異なる構成ウェブ・ページを含む複合ウェブ・ページというような、ディジタル・コンテンツを使用してディジタル・モンタージュを作るために、電子モンタージュ・システムが設計された。ときには、サーチ・エンジンによって使用される所与のサーチ・ターム、またはブラウザー履歴に格納されるような、ユーザーが定期的に行くウェブ・ページというように、構成ウェブ・ページが、中心的主題にしたがって編成されることもある。多くの場合、構成ウェブ・ページは、複合ウェブ・ページの空間に制限があるために、実際のウェブ・ページよりも忠実度を落とした表現となる。したがって、ユーザーは、更に深く(in-depth)見るために、選択されたウェブ・ページの忠実度を高めたバージョンを引き出すために、構成ウェブ・ページを選択することもできる。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
しかしながら、ディジタル情報量が増えるに連れて、有意な情報をユーザーに提供するようにディジタル・モンタージュを組み立てることが増々難しくなる。
[0002]  更に、１つのサイズまたはディスプレイ解像度に対して設計されたモンタージュは、異なるサイズまたは解像度のディスプレイ上で見ると、適正に表示されない場合がある。タイルの一部が、それらの本来の位置における利用可能な空間に収まらない場合がある。空間に収めるためにタイルをシャッフルすると、それらの位置関係を壊す虞がある。タイルのサイズを変えると、モンタージュが見にくくなり、とくに小さい表示エリアにおいて対話処理しにくくなる虞がある。本発明が必要とされたのは、これらおよび他の検討事項に関してである。
【課題を解決するための手段】
【０００３】
[0003]  この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断するときに補助として使用されることを意図するのでもない。
【０００４】
[0004]  種々の実施形態は、総合的に、電子モンタージュ・システムを目的とする。一部の実施形態は、特に、異質なデーター・ソースからディジタル・モンタージュを生成するように構成された電子モンタージュ・システムを目的とする。この電子モンタージュ・システムは、ユーザーが、データー・ソースに対してカスタム化された表現によって、カスタム化されたディジタル・モンタージュを生成することを可能にし、これによって他のユーザーが、もっと拡大して見るために、関心のあるデーター・ソースを素早く特定し選択することを可能にすることができる。この電子モンタージュ・システムは、カスタム化されたディジタル・モンタージュを他のユーザーに、公開モデル、メッセージング・モデル、または公開モデルおよびメッセージング・モデルの組み合わせによって公開することができる。
【０００５】
[0005]  一実施形態では、例えば、装置(apparatus)は、モンタージュ・アプリケーションを実行するように構成された論理デバイスを含むことができる。この論理デバイスは、例えば、プロセッサーおよびメモリーを有する処理システムを含むことができる。モンタージュ・アプリケーションは、複数のプレゼンテーション・タイルを有するプレゼンテーション表面を設け、コンテンツ・ファイルをプレゼンテーション・タイルと関連付ける制御指令(directive)を受け、コンテンツ・ファイルのコンテンツ・ファイル・タイプに基づいてコンテンツ・ファイルに対してタイル・オブジェクトを生成し、プレゼンテーション表面およびタイル・オブジェクトをモンタージュとして格納するように動作するオーサリング・コンポーネントを含むことができる。更に、モンタージュ・アプリケーションは、プレゼンテーション表面の各関連プレゼンテーション・タイル内において各タイル・オブジェクトを提示し、タイル・オブジェクトを選択する制御指令を受け、タイル・オブジェクトに対応するコンテンツ・ファイルを提示するために第２ユーザー・インターフェース・ビューを生成するように動作するプレゼンテーション・コンポーネントも含むことができる。
【０００６】
[0006]  モンタージュ・アプリケーションは、表示サイズまたは解像度がモンタージュに対する元のレイアウトと異なるときを検出するプレゼンテーション・コンポーネントを含むことができる。表示サイズまたは解像度が変化した場合、プレゼンテーション表面がディメンション(dimension)を変更することができる。プレゼンテーション・コンポーネントは、タイルの互いに対する空間特性を保存するような方法で、変更したプレゼンテーション表面上にタイルを分配し直すことができる。他の実施形態についても記載し、特許請求する。
【０００７】
[0007]  これらおよび他の特徴ならびに利点は、以下の詳細な説明を読み関連する図面を検討することによって明白となろう。尚、以上の概略的な説明および以下の詳細な説明は双方共説明のために過ぎず、特許請求される形態を限定するのではないことは言うまでもない。
【図面の簡単な説明】
【０００８】
【図１】図１は、モンタージュ・システムの一実施形態を示す。
【図２】図２は、オーサリング・コンポーネントの一実施形態を示す。
【図３Ａ】図３Ａは、プレゼンテーション表面の一実施形態を示す。
【図３Ｂ】図３Ｂは、プレゼンテーション表面の一実施形態をタイル・オブジェクトと共に示す。
【図４】図４は、オーサリング・コンポーネントの一例を示す。
【図５】図５は、メッセージング・システムの一実施形態を示す。
【図６】図６は、メッセージ・システムに対するメッセージ・フローの一実施形態を示す。
【図７ＡＢ】図７Ａは、メッセージのユーザー・インターフェース・ビューの一実施形態を示す。図７Ｂは、モンタージュのユーザー・インターフェース・ビューの一実施形態を示す。
【図７ＣＤ】図７Ｃは、タイル・オブジェクトのユーザー・インターフェース・ビューの一実施形態を示す。図７Ｄは、コンテンツ・ファイルのユーザー・インターフェース・ビューの一実施形態を示す。
【図８】図８は、オーサリング・コンポーネントに対する論理フローの一実施形態を示す。
【図９】図９は、公開コンポーネントに対する論理フローの一実施形態を示す。
【図１０】図１０は、モンタージュ・アプリケーションの一実施形態を示す。
【図１１】図１１は、プレゼンテーション表面の一例を、元のモンタージュと共に示す。
【図１２】図１２は、異なるプレゼンテーション表面を、元のモンタージュと共に示す。
【図１３】図１３は、元のモンタージュがリフローされた後における異なるプレゼンテーション表面の一例を示す。
【図１４Ａ】図１４Ａは、リフローされたモンタージュをバランスする前における、異なるプレゼンテーション表面の一例を示す。
【図１４Ｂ】図１４Ｂは、リフローされたモンタージュをバランスした後における、異なるプレゼンテーション表面の一例を示す。
【図１５】図１５は、モンタージュをリフローするための論理フローの一実施形態を示す。
【図１６】図１６は、モンタージュをリフローするときに位置を決定するための論理フローの一実施形態を示す。
【図１７】図１７は、モンタージュをバランスするための論理フローの一実施形態を示す。
【図１８Ａ】図１８Ａは、タイルが削除された元のモンタージュの一例を示す。
【図１８Ｂ】図１８Ｂは、タイル除去後にリフローされた元のモンタージュの一例を示す。
【図１９】図１９は、タイルが除去された後にモンタージュをリフローするための論理フローの一実施形態を示す。
【図２０】図２０は、計算アーキテクチャーの一実施形態を示す。
【発明を実施するための形態】
【０００９】
[0034]  種々の実施形態は、総合的に、異質なデーター・ソースからディジタル・モンタージュを生成するように構成された電子モンタージュ・システムを目的とする。この電子モンタージュ・システムは、例えば、アプリケーション・プログラムのような、異なるソフトウェア・プログラムによって生成されたコンテンツ・ファイルを使用して、非常にカスタム化されたディジタル・モンタージュをユーザーが生成することを可能にすることができる。ディジタル・モンタージュは、基礎コンテンツ・ファイルについてカスタム化された表現を含む１つ以上のタイル・オブジェクトを含むことができる。タイル・オブジェクトは、コンテンツ・ファイルから選択的に抽出されこのコンテンツ・ファイルのために特定的に作られるタイプ定義にしたがってフォーマットされた情報を使用して組み立てることができる。タイプ定義は、コンテンツ・ファイルについての詳細情報を含み、ファイル拡張、データー方式、フォーマッティング制御、埋め込みオブジェクト、埋め込みコード、プロパティ、スクリプト、および他のファイル特定情報というような情報を含む。また、タイプ定義は、コンテンツ・ファイルから抽出する情報のタイプ、抽出したファイルのフォーマッティング、作るオブジェクト・バージョンの数等に関する１組の規則も含む。このように、ディジタル・モンタージュを著作する(author)ためにより広い範囲のコンテンツ・ファイルを使用することができ、見る人に有意な情報を提供する、非常に表現性が高いタイル・オブジェクトを組み立てることができる。この手法により、見る人はモンタージュにおいてタイル・オブジェクトを容易に通読し(peruse)、多くのタイル・オブジェクトの中で関心のあるコンテンツ・ファイルを特定し、タイル・オブジェクトを選択して、更に接近して見るためにコンテンツ・ファイルを素早く引き出すことが可能になる。
【００１０】
[0035]  一部の実施形態は、プレゼンテーション・コンポーネントを有する電子モンタージュ・システムを目的とする。このプレゼンテーション・コンポーネントは、表示サイズまたは解像度がモンタージュの元のレイアウトに使用されるものから変化したときを検出する。プレゼンテーション・コンポーネントは、タイルの互いに対する空間特性を保存するように、変化したディスプレイにおけるモンタージュでタイルを位置付けしなおす、即ち、「リフローする」ことができる。実施形態は、タイルがモンタージュに追加されるまたはモンタージュから削除されるときに、自動的にタイルをリフローし、タイル間の空白空間を最小限に抑えることができる。その結果、実施形態は、オペレーター(operator)、デバイス、またはネットワークに対する、費用負担可能性(affordability)、スケーラビリティ、モジュール性、拡張性、または相互動作性を改良することができる。
【００１１】
[0036]  図１は、モンタージュ・アプリケーション1４０を有するモンタージュ・システム１００のブロック図を示す。一実施形態では、例えば、モンタージュ・システム１００およびモンタージュ・アプリケーション１４０は、例えば、コンポーネント１１０、１３０のような、種々のコンポーネントを含むことができる。本明細書において使用する場合、「システム」、「アプリケーション」、および「コンポーネント」という用語は、コンピューター関連エンティティに言及することを意図しており、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアを含む。例えば、コンポーネントは、プロセッサーにおいて実行するプロセス、プロセッサー、ハード・ディスク・ドライブ、複数の記憶デバイス（光および／または磁気記憶媒体の記憶デバイス）、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および／またはコンピューターとして実現することができる。例示として、サーバーにおいて実行するアプリケーションおよびサーバーの双方がコンポーネントであることができる。所与の実現例に望まれる通りに、１つ以上のコンポーネントがプロセスおよび／または実行のスレッド内に存在することができ、１つのコンポーネントを１つのコンピューターに局在させること、および／または２つ以上のコンピューター間で分散させることができる。実施形態は、このコンテキストにおいて限定されない。
【００１２】
[0037]  図１に示す例示実施形態では、モンタージュ・システム１００およびモンタージュ・アプリケーション１４０は、電子デバイスによって実現することができる。電子デバイスの例には、限定ではなく、移動体デバイス、パーソナル・ディジタル・アシスタント、移動体計算デバイス、スマート・フォン、セルラ電話機、ハンドセット、一方向ページャー、双方向ページャー、メッセージング・デバイス、コンピューター、パーソナル・コンピューター（ＰＣ）、デスクトップ・コンピューター、ラップトップ・コンピューター、ノートブック・コンピューター、ハンドヘルド・コンピューター、タブレット・コンピューター、サーバー、サーバー・アレイまたはサーバー・ファーム、ウェブ・サーバー、ネットワーク・サーバー、インターネット・サーバー、ワーク・ステージョン、ミニコンピューター、メイン・フレーム・コンピューター、スーパーコンピューター、ネットワーク機器、ウェブ機器、分散型計算システム、マルチプロセッサー・システム、プロセッサー・ベース・システム、ゲーミング・デバイス、消費者用電子機器、プログラマブル消費者用電子機器、テレビジョン、ディジタル・テレビジョン、セット・トップ・ボックス、ワイヤレス・アクセス・ポイント、基地局、加入者局、移動体加入者センタ、無線ネットワーク・コントローラー、ルーター、ハブ、ゲートウェイ、ブリッジ、交換機、装置(machine)、またはこれらの組み合わせを含むことができる。図１に示すモンタージュ・アプリケーション１４０は、ある種のトポロジーでは限定された数のエレメントを有するが、代替トポロジーでは、所与の実現例に対して望まれる通りに、モンタージュ・アプリケーション１４０がそれよりも多いまたは少ないエレメントを含んでもよいことは認められよう。
【００１３】
[0038]  コンポーネント１１０、１３０は、種々のタイプの通信媒体を介して、通信可能に結合することができる。コンポーネント１１０、１３０は、互いの間で動作を調整することができる。この調整は、情報の一方向または双方向交換を含むことができる。例えば、コンポーネント１１０、１３０は、通信媒体を介して通信される信号の形態で情報を伝達することができる。この情報は、種々の信号ラインに割り当てられる信号として実現することができる。このような割り当てでは、各メッセージが信号となる。しかしながら、他の実施形態では、データー・メッセージを代わりに採用してもよい。このようなデーター・メッセージは、種々の接続を介して送ることができる。接続の例には、パラレル・インターフェース、シリアル・インターフェース、およびバス・インターフェースが含まれる。
【００１４】
[0039]  図１に示す例示実施形態では、モンタージュ・システムが１つ以上のコンテンツ・ファイル１０４−ｃおよびモンタージュ・アプリケーション１４０を含むことができる。コンテンツ・ファイル１０４−ｃは、アプリケーション・プログラム、ウェブ・アプリケーション、ウェブ・サービス等というようなソフトウェア・プログラムによって生成されるディジタル・コンテンツを含むことができる。モンタージュ・アプリケーション１４０は、モンタージュ１２０を生成するために、１つ以上の選択されたコンテンツ・ファイル１０４−ｃを使用することができる。一実施形態では、サーチ・エンジンによって使用される所与のサーチ・タームに関するサーチ結果、またはブラウザー履歴としてユーザーが定期的に行くコンテンツ・ファイル１０４−ｃを使用することによるというように、１つ以上のコンテンツ・ファイル１０４−ｃが、ソフトウェア・プログラムによって自動的に選択されてもよい。
【００１５】
[0040]  モンタージュ・アプリケーション１４０は、エレメントの中でもとりわけ、オーサリング・コンポーネント１１０およびプレゼンテーション・コンポーネント１３０を含むことができる。オーサリング・コンポーネント１１０は、モンタージュ１２０を著作する、即ち、生成するために、ユーザーによって使用することができる。モンタージュ１２０を著作する即ち生成するユーザーは、本明細書では、「コンテンツ・プロデューサー」と呼ばれることもある。プレゼンテーション・コンポーネント１３０は、モンタージュ１２０を見る、即ち、ナビゲートするために、ユーザーによって使用することができる。モンタージュ１２０を見る即ちナビゲートするユーザーは、本明細書では、「コンテンツ・コンシューマー」(content consumer)と呼ばれることもある。更に、モンタージュ・アプリケーション１４０は、図２から図１１を参照して更に詳しく説明するような他のコンポーネントも含む。
【００１６】
[0041]  オーサリング・コンポーネント１１０は、モンタージュ・アプリケーション１４０に対するオーサリング動作を総合的に管理することができ、コンテンツ・プロデューサーがモンタージュ１２０を生成、作成、または言い換えると著作することを可能にするために、ユーザー・インターフェース・ビューおよびツールを生成することを含む。モンタージュ１２０は、１つの複合ディジタル情報エレメントを形成するために、選択されたコンテンツ・ファイル１０４−ｃからのディジタル情報エレメントの単数(singular)複合体または集合体を構成することができる。モンタージュ１２０は、例えば、アプリケーション・プログラムのためのアプリケーション・ファイルというような、異質のアプリケーションによって生成される異なる構成ディジタル情報エレメントを有する複合文書を構成することができる。構成ディジタル情報エレメントは、業務計画、個人的な休暇、または休日に関するディジタル情報エレメントといような、中心的主題にしたがって編成される場合もある。多くの場合、構成ディジタル情報エレメントは、複合エレメントの空間制限のために、実際のコンテンツ・ファイル１０４−ｃよりも忠実度が低い表現となる。したがって、コンテンツ・コンシューマーは、もっと深くまで見るには、関連するコンテンツ・ファイル１０４−ｃの忠実度を高めたバージョンを引き出すために、構成ディジタル情報エレメントを選択することができる。
【００１７】
[0042]  一実施形態では、例えば、オーサリング・コンポーネント１１０は、モンタージュ１２０に対してプレゼンテーション表面１２２を設けるように構成することができる。プレゼンテーション表面１２２は、プレゼンテーション表面１２２上にある種のトポロジーで定められたまたは配置された複数のプレゼンテーション・ファイル１２４−ａを有することができる。オーサリング・コンポーネント１１０は、ある種のコンテンツ・ファイル１０４−ｃをある種のプレゼンテーション・タイル１２４−ａと関連付けるために、制御指令１０２−ｂを受けることができる。オーサリング・コンポーネント１１０は、コンテンツ・ファイル１０４−ｃに関連する種々のコンテンツ・ファイル・タイプおよびタイプ定義に基づいて、コンテンツ・ファイル１０４−ｃに対してタイル・オブジェクト１２６−ｅを生成することができる。オーサリング・コンポーネント１１０は、プレゼンテーション表面１２２およびタイル・オブジェクト１２６−ｅをモンタージュ１２０の一部として格納することができる。次いで、これらを種々のコンテンツ・コンシューマーに公開または配給することができる。
【００１８】
[0043]  尚、本明細書において使用される「ａ」、「ｂ」、「ｃ」、および同様の符号は、任意の正の整数を表す変数であることを意図することは、注記するに値する。つまり、例えば、実現例がａ＝５に対してある値を設定する場合、完全な１組のプレゼンテーション・タイル１２４−ａは、プレゼンテーション・タイル１２４−１、１２４−２、１２４−３、１２４−４、および１２５−５を含むことができる。実施形態は、このコンテキストにおいて限定されない。
【００１９】
[0044]  オーサリング・コンポーネント１１０は、複数のプレゼンテーション・タイル１２４−ａを有するプレゼンテーション表面１２２を設けることによって、モンタージュ１２０を生成するオーサリング動作を開始することができる。プレゼンテーション表面１２２は、座標系および境界を有する任意の定められたサイズの二次元（２Ｄ）または三次元（３Ｄ）トポロジー空間を構成することができる。プレゼンテーション表面１２２の例は、ワープロ・プログラム用の文書、プレゼンテーション・プログラム用のスライド、表計算プログラム用のワークシート、ノート・プログラム用のノート、個人情報マネージャ（ＰＩＭ）用の連絡先カード、およびアプリケーション・プログラムによって通例使用される他の空間を含むことができる。
【００２０】
[0045]  プレゼンテーション・タイル１２４−ａは、タイル・オブジェクト１２６−ｅのような、離散した１組の情報を提示するために指定されるプレゼンテーション表面１２２の定められた領域を構成することができる。定められた領域は、所与の実現例に対して望まれる通りの任意のサイズ、寸法、または形状にすることができる。所与のプレゼンテーション表面１２２は、任意の数のプレゼンテーション・タイル１２４−ａを有することができ、各プレゼンテーション・タイル１２４−ａは、全てのプレゼンテーション・タイル１２４−ａが、プレゼンテーション表面１２２に対する所与のサイズ内に収まることを確保するために、１組の定義（例えば、サイズ、形状、寸法、幾何学的形状）を有することができる。プレゼンテーション・タイル１２４−ａに対する定義は、プレゼンテーション表面１２２、１組のコンテンツ・ファイル１０４−ｃ、コンテンツ・ファイル１０４−ｃとプレゼンテーション・タイル１２４−ａとの間の関連付け、コンテンツ・ファイル１０４−ｃに関連するタイル・オブジェクト１２６−ｅ、表示についてのプロパティ、デバイスについてのプロパティ、ユーザーの好み、および他の要因に基づいて、動的に変更することができる。実施形態は、このコンテキストにおいて限定されない。
【００２１】
[0046]  一実施形態では、コンテンツ・プロデューサーがプレゼンテーション表面１２２およびプレゼンテーション・タイル１２４−ａを個別に(custom)定めることができる。モンタージュ・アプリケーション１４０用のユーザー・インターフェースが、プレゼンテーション表面１２２およびこのプレゼンテーション表面１２２上における１組のプレゼンテーション・タイル１２４−ａの特性を変更するために特定して定められた種々の制御手段を設けることができる。このような制御手段の例には、限定ではなく、描画制御手段、寸法制御手段、サイズ制御手段、幅制御手段、高さ制御手段、画素制御手段、リフレッシュ制御手段等を含むことができる。あるいは、コンテンツ・プロデューサーが、異なるプレゼンテーション表面およびプレゼンテーション・タイル１２４−ａを提供する任意の数のモンタージュ・テンプレートから選択してもよい。
【００２２】
[0047]  オーサリング・コンポーネント１１０は、ある種のコンテンツ・ファイル１０４−ｃをある種のプレゼンテーション・タイル１２４−ａと関連付けるために、制御指令１０２−ｂを受けることができる。オーサリング・コンポーネント１１０は、ユーザー・インターフェース・ビューおよびツールを生成し、ユーザーがコンテンツ・ファイル１０４−ａを選択し、およびコンテンツ・ファイル１０４−ａをプレゼンテーション・タイル１２４−ａと関連付けることを可能にすることができる。例えば、ユーザーが、コンテンツ・ファイル１０４−１を選択し、このコンテンツ・ファイル１０４−１をプレゼンテーション・タイル１２４−１上でドラッグするために、ポインティング・デバイスのような入力デバイスを選択することができる。ユーザーの選択は、その選択をオーサリング・コンポーネント１１０に示すメッセージまたは信号として、制御指令１０２−ｂを生成することができる。あるいは、制御指令１２０−ｂが、コンテンツ選択アルゴリズムにしたがって、プログラムによって生成されてもよい。例えば、コンテンツ選択アルゴリズムが、サーチ・エンジンによって生成されるサーチ結果から、またはパターンをブラウズするユーザーの分析によって、コンテンツ・ファイル１０４−ｃを自動的に選択するために、１組の定められた規則を有するのでもよい。実施形態は、このコンテキストにおいて限定されない。
【００２３】
[0048]  コンテンツ・ファイル１０４−ｃは、アプリケーション・プログラム、ウェブ・アプリケーション、ウェブ・サービス、クライアント・アプリケーション、サーバー・アプリケーション、システム・プログラム等というような、ソフトウェア・プログラムによって生成される任意のディジタル情報エレメントまたはディジタル・コンテンツを含むことができる。異なるソフトウェア・プログラムが、異なるタイプのディジタル・コンテンツを生成することもできる。したがって、異なるソフトウェア・プログラムによって生成されるディジタル・コンテンツが異質のディジタル・コンテンツを含むこともできる。コンテンツ・ファイル１０４−ｃの例には、限定ではなく、ワープロ・ファイル、表計算ファイル、プレゼンテーション・ファイル、個人情報管理（ＰＩＭ）ファイル、データーベース・ファイル、出版ファイル(publisher file)、描画ファイル、ノート・ファイル、メッセージ・ファイル、プロジェクト・ファイル等というような、アプリケーション・ファイルを含むことができる。コンテンツ・ファイル１０４−ｃの更に他の例には、オーディオ・ファイル、画像ファイル、ビデオ・ファイル、オーディオ／ビデオ（ＡＶ）ファイル、アニメーション・ファイル、ゲーム・ファイル、マークアップ・ファイル、ウェブ・ページ・ファイル、ソーシャル・ネットワーキング・サービス（ＳＮＳ）ファイル等というような、マルチメディア・ファイルを含むことができる。尚、これらは、コンテンツ・ファイル１０４−ｃの少数の例に過ぎず、実施形態はこれらの例には限定されないことは認めることができよう。
【００２４】
[0049]  一実施形態では、コンテンツ・ファイル１０４−ｃは、ワシントン州、RedmondのMicrosoft Corporation（マイクロソフト社）が製造するMICROSOFT WINDOWS（登録商標）のためのMICROSOFT（登録商標）OFFICE生産性スイートのような、特定のオペレーティング・システムのために設計された、相互に関係するクライアント・アプリケーション、サーバー・アプリケーション、およびウェブ・サービスの生産性スイートのためのコンテンツ・ファイルを含むことができる。クライアント・アプリケーションの例には、限定ではなく、MICROSOFT WORD, MICROSOFT EXCEL（登録商標）, MICROSOFT POWERPOINT（登録商標）、MICROSOFT OUTLOOK（登録商標）、MICROSOFT ACCESS（登録商標）、MICROSOFT INFOPATH（登録商標）、MICROSOFT ONENOTE（登録商標）、MICROSOFT PROJECT、MICROSOFT PUBLISHER、MICROSOFT SHAREPOINT（登録商標） WORKSPACE、MICROSOFT VISIO（登録商標）、MICROSOFT OFFICE INTERCONNECT、MICROSOFT OFFICE PICTURE MANAGER,MICROSOFT SHAREPOINT DESIGNER、およびMICROSOFT LYNCを含むことができる。サーバー・アプリケーションの例には、限定ではなく、MICROSOFT SHAREPOINT SERVER、MICROSOFT LYNC SERVER、MICROSOFT OFFICE FORMS SERVER、MICROSOFT OFFICE GROOVE（登録商標） SERVER、MICROSOFT OFFICE PROJECT SERVER、MICROSOFT OFFICE PROJECT PORTFOLIO SERVER、およびMICROSOFT OFFICE PERFORMANCEPOINT（登録商標） SERVERを含むことができる。ウェブ・サービスの例には、限定ではなく、MICROSOFT WINDOWS LIVE（登録商標）、MICROSOFT OFFICE WEB APPLICATIONS、MICROSOFT OFFICE LIVE、MICROSOFT LIVE MEETING、MICROSOFT OFFICE PRODUCT WEB SITE、MICROSOFT UPDATE SERVER、およびMICROSOFT OFFICE 365を含むことができる。実施形態は、これらの例に限定されるのではない。
【００２５】
[0050]  一実施形態では、コンテンツ・ファイル１０４−ｃは、モンタージュ１２０を作るためにモンタージュ・アプリケーション１４０の同じコンテンツ・プロデューサーによって個人的に著作されたコンテンツ・ファイルを含むことができる。例えば、コンテンツ・プロデューサーがビジネス・プロジェクトのプロジェクト・マネージャであり、このビジネス・プロジェクトの間に、ワープロ・ファイル、表計算ファイル、およびプレゼンテーション・ファイルというような、このビジネス・プロジェクトに関連する種々のアプリケーション・ファイルを著作したと仮定する。このコンテンツ・プロデューサーは、モンタージュ・アプリケーション１４０のオーサリング・コンポーネント１１０を使用して、コンテンツ・プロデューサーによって個人的に著作されたファイル毎に、タイル・オブジェクト１２６−ｅを有する実行報告(executive report)を作ることができる。
【００２６】
[0051]  オーサリング・コンポーネント１１０は、コンテンツ・ファイル１０４−ｃに対する種々のコンテンツ・ファイル・タイプに基づいて、選択されたコンテンツ・ファイル１０４−ｃに対してタイル・オブジェクト１２６−ｅを生成することができる。一旦コンテンツ・ファイル１０４−ｃがプレゼンテーション・タイル１２４−ａと関連付けられたなら、オーサリング・コンポーネント１１０は、選択されたコンテンツ・ファイル１０４−ｃに対してタイル・オブジェクト１２６−ｅを生成することができる。一実施形態では、１つのコンテンツ・ファイル１０４−ｃが１つのプレゼンテーション・タイル１２４−ａと関連付けられることによって、１対１の対応を形成することができる。一実施形態では、複数のコンテンツ・ファイル１０４−ｃが１つのプレゼンテーション・タイル１２４−ａと関連付けられることによって、１対複数の対応を形成することもできる。
【００２７】
[0052]  タイル・オブジェクト１２６−ｅは、コンテンツ・ファイル１０４−ｃに対する表現、エージェント、または「ティーザー」(teaser)を含むことができる。タイル・オブジェクト１２６−ｅは、コンテンツ・コンシューマーが、関連するコンテンツ・ファイル１０４−ｃが興味深いか否か素早く容易に判断することを可能にするような方法でレンダリングされた関連コンテンツ・ファイル１０４−ｃからの１組の簡潔な情報であり、関連するコンテンツ・ファイル１０４−ｃをより近くから検査できる利点がある(merit)。
【００２８】
[0053]  タイル・オブジェクト１２６−ｅは、コンテンツ・ファイル１０４−ｃから引き出されたコンテンツ部分１０６−ｄを使用して生成されてもよい。コンテンツ部分１０６−ｄは、コンテンツ・ファイル１０４−ｃによって格納される完全な１組の情報から導かれる情報または抽出される情報の部分集合を含むことができる。モンタージュ１２０の１つの利点は、異なるコンテンツ・ファイル１０４−ｃからの情報を１つのプレゼンテーション表面１２２上において提示できることである。しかしながら、各コンテンツ・ファイル１０４−ｃは、１つのプレゼンテーション・タイル１２４−ａの定められた領域内で提示出来るよりも多い情報量を含むこともあり得る。例えば、コンテンツ・ファイル１０４−１がワープロ文書を含む場合、オーサリング・コンポーネント１１０はこのワープロ文書内に含まれる全ての情報（例えば、テキスト、図(figure)、画像、図面(drawings)、埋め込みオブジェクト）を、サムネイルとして微小化したとしても、プレゼンテーション・タイル１２４−１の利用可能な面積または空間に収めることができない場合もある。したがって、オーサリング・コンポーネント１１０は、コンテンツ・ソース１０４−１内に含まれる１組の情報からの情報の部分集合を引き出し、この情報の部分集合を、プレゼンテーション・タイル１２４−１に対する１組の境界内に収まるようにフォーマットし、このフォーマットした情報の部分集合をタイル・オブジェクト１２６−１として格納することができる。例えば、タイル・オブジェクト１２６−１は、ワープロ文書の名称、ワープロ文書のコンテンツ・プロデューサー（例えば、著者）、およびワープロ文書からの画像の組み合わせを含むことができる。
【００２９】
[0054]  また、タイル・オブジェクト１２６−ｅは、対応するコンテンツ・ファイル１０４−ｃに対する参照（例えば、アドレス、ポインター、またはリンク）を含むか、またはこの参照と関連付けられてもよい。タイル・オブジェクト１２６−ｅが、もっと近くから検査するために、ユーザーによって選択されると、コンテンツ・ファイル１０４−ｃの最大忠実度表現を提示するために、対応するコンテンツ・ファイル１０４−ｃを引き出すのに参照を使用することができる。一実施形態では、参照は、ローカル・データーベースに格納されているコンテンツ・ファイル１０４−ｃに対するのでもよい。この場合、参照は、ピア・ツー・ピア技術を使用して、コンテンツ・ファイル１０４−ｃを引き出すために使用することができる。一実施形態では、参照は、リモート・データーストアに格納されているコンテンツ・ファイル１０４−ｃに対するのでもよい。この場合、参照は、ネットワーク記憶およびアクセス技術を使用して、コンテンツ・ファイル１０４−ｃを引き出すために使用することができる。
【００３０】
[0055]  一実施形態では、１つのコンテンツ・ファイル１０４−ｃが１つのプレゼンテーション・タイル１２４−ａと関連付けられるのでもよい。この場合、１つのタイル・オブジェクト１２６−ｅが各プレゼンテーション・タイル１２４−ａ内に提示される。一実施形態では、複数のコンテンツ・ファイル１０４−ｃが１つのプレゼンテーション・タイル１２４−ａと関連付けられてもよい。この場合、複数のタイル・オブジェクト１２６−ｅは、１つのプレゼンテーション・タイル１２４−ａ内に提示されればよい。レンダリングするとき、コンテンツ・コンシューマーは、プレゼンテーション・コンポーネント１３０によって設けられる選択ツールを使用して、異なるプレゼンテーション・タイル１２４−ａ内に提示される複数のタイル・オブジェクト１２６−ｅ間、そして１つのプレゼンテーション・タイル１２４−ａ内に提示される複数のタイル・オブジェクト１２６−ｅ間においてもナビゲートし、コンテンツ・コンシューマーが興味深いタイル・オブジェクト１２６−ｅを選択できるようにする。例えば、コンテンツ・プロデューサーが対応するコンテンツ・ファイル１０４−１〜１０４−１００からのピクチャーをプレゼンテーション・タイル１２４−１と関連付けると仮定する。１００個のピクチャーに対するサムネイルが、タイル・オブジェクト１２６−１〜１２６−１００として生成され、プレゼンテーション・タイル１２４−１に対する所与の寸法内に収まるように大きさを決めることができる。タイル・オブジェクト１２６−１〜１２６−１００間でナビゲートして所与のピクチャーを選択し拡大するために、選択ツールを使用してもよい。
【００３１】
[0056]  一旦ユーザーが異なるコンテンツ・ファイル１０４−ｃをプレゼンテーション表面１２２の異なるプレゼンテーション・タイル１２４−ａと関連付けるためのオーサリング動作を完了したなら、オーサリング・コンポーネント１１０はプレゼンテーション表面１２２およびタイル・オブジェクト１２６−ｅを、モンタージュ１２０の一部として、格納することができる。
【００３２】
[0057]  プレゼンテーション・コンポーネント１３０は、モンタージュ・アプリケーション１４０に対するプレゼンテーション動作を総合的に管理することができ、電子デバイスの電子ディスプレイ上にモンタージュ１２０を提示するためのユーザー・インターフェース・ビューおよびツールを生成することを含む。一実施形態では、例えば、プレゼンテーション・コンポーネント１３０は、モンタージュ１２０のプレゼンテーション表面１２２上において、関連する各プレゼンテーション・タイル１２４−ａ内に各タイル・オブジェクト１２６−ｅを提示するために、第１ユーザー・インターフェース・ビューを生成することができる。プレゼンテーション・コンポーネント１３０は、タイル・オブジェクト１２６−ｅを選択する制御指令１３２−ｆを受け、選択されたタイル・オブジェクト１２６−ｅに対応するコンテンツ・ファイル１０４−ｃを提示するために第２ユーザー・インターフェース・ビューを生成する。
【００３３】
[0058]  図２は、モンタージュ・アプリケーション１４０のオーサリング・コンポーネント１１０の更に詳細なブロック図を示す。オーサリング・コンポーネント１１０は、コンテンツ・ファイル１０４−ｃのタイプに対するタイプ定義に基づいて、コンテンツ・ファイル１０４−ｃからコンテンツのある部分を引き出すことによって、関連するコンテンツ・ファイル１０４−ｃに対してタイル・オブジェクト１２６−ｅをインテリジェントに生成することができる。例えば、このコンテンツの部分は、コンテンツ・ファイル１０４−ｃからのテキスト、コンテンツ・ファイル１０４−ｃについてのメタデーター、コンテンツ・ファイル１０４−ｃからのオブジェクト、またはこれらの何らかの組み合わせを含むことができる。
【００３４】
[0059]  一実施形態では、コンテンツ・ファイル１０４−ｃは、モンタージュ・アプリケーション１４０を実装する同じ電子デバイス内に実装されるローカル・データーベース２１０に格納されてもよい。例えば、計算デバイスが、当該計算デバイスの大容量記憶デバイス上に格納されたコンテンツ・ファイル１０４−１、１０４−２を使用して、モンタージュ・アプリケーション１４０を実装することもできる。一実施形態では、コンテンツ・ファイル１０４−ｃが、モンタージュ・アプリケーション１４０を実装する電子デバイスとは異なる電子デバイスによって実装されるリモート・データーベース２１２に格納されてもよい。例えば、計算デバイスが、サーバー・デバイスの大容量記憶デバイスに格納されたコンテンツ・ファイル１０４−３を使用して、モンタージュ・アプリケーション１４０を実装することもできる。
【００３５】
[0060]  図２に示す例示実施形態では、オーサリング・コンポーネント１１０が複数のタイプ・モジュール２０２−ｇを含むまたは実装してもよい。各タイプ・モジュール２０２−ｇは、それぞれのコンテンツ・ファイル１０４−ｃに対するコンテンツ・ファイル・タイプに対応することができる。コンテンツ・ファイル１０４−ｃに対するコンテンツ・ファイル・タイプの例には、限定ではなく、ワープロ・ファイル・タイプ、表計算ファイル・タイプ、プレゼンテーション・ファイル・タイプ、ＰＩＭファイル・タイプ、データーベース・ファイル・タイプ、パブリッシャー・ファイル・タイプ、図面ファイル・タイプ、ノート・ファイル・タイプ、メッセージ・ファイル・タイプ等というような、アプリケーション・ファイル・タイプを含むことができる。コンテンツ・ファイル１０４−ｃの更に他の例には、オーディオ・ファイル・タイプ、画像ファイル・タイプ、ビデオ・ファイル・タイプ、ＡＶファイル・タイプ、アニメーション・ファイル・タイプ、ゲーム・ファイル・タイプ、マークアップ・ファイル・タイプ、ウェブ・ページ・タイプ等というような、マルチメディア・ファイル・タイプを含むことができる。尚、これらは、コンテンツ・ファイル・タイプの少数の例に過ぎず、実施形態はこれらの例に限定されないことは認めることができよう。
【００３６】
[0061]  タイプ・モジュール２０２−ｇは、コンテンツ・ファイル・タイプに対するタイプ定義２０４−ｈに基づいて、コンテンツ・ファイル１０４−ｃから情報を引き出し、この引き出した情報およびタイプ定義２０４−ｈに基づいてタイル・オブジェクト１２６−ｅを生成することができる。タイプ定義２０４−ｈは、コンテンツ・ファイル１０４−ｃから選択された部分を引き出すために、１組の定義、規則、プロパティ、メソッド、イベント、座標、または命令を含み、プレゼンテーション・タイル１２４−ａの定められた領域内において抽出された部分をフォーマットすることができる。特定のコンテンツ・ファイル１０４−ｃに対して特定のタイプ定義２０４−ｈを実現することによって、オーサリング・コンポーネント１１０は特定のコンテキスト（例えば、ビジネス、個人）および関連する１組のコンテンツ・コンシューマーに対して特定的に設計された、高度カスタム化タイル・オブジェクト１２６−ｅを生成することができる。タイプ定義２０４−ｈは、モンタージュ・アプリケーション１４０に規定されるデフォルト・タイプの定義であってもよく、またはモンタージュ・アプリケーション１４０を使用して作られる、ユーザーが定めるタイプ定義であってもよい。
【００３７】
[0062]  一例として、コンテンツ・ファイル１０４−１がワープロ文書１０４−１であり、タイプ・モジュール２０２−１がワープロ・ファイル・タイプに対するものであり、タイプ定義２０４−１がワープロ・ファイル・タイプについての１組の定義であると仮定する。タイプ定義２０４−１は、タイル・オブジェクト１２６−１を作るときに使用される種々のタイプの情報を含むことができる。例えば、タイプ定義２０４−１は、拡張可能マークアップ言語フォーマット（例えば、.docx、.docm、.dotx、.dotm）、バイナリー・フォーマット（例えば、.doc、.dot）、およびオープン文書フォーマット（例えば、.odt）というような、ワープロ・アプリケーションの異なるバージョンに関連してサポートされるファイル・フォーマットを含むことができる。タイプ定義２０４−１は、暗号化ファイルにアクセスするためのセキュリティ証明書（例えば、パスワード、証明書、公開鍵または秘密鍵）を含むことができる。タイプ定義２０４−１は、ファイルに対する埋め込みコードまたはロード・コード(loaded code)（例えば、マクロ、拡張パック(expansion pack)）にアクセスするためのツールを含むことができる。タイプ定義２０４−１は、文書においてサポートされるフィールド（例えば、問い合わせ(Ask)フィールド、著者(Author)フィールド、データーベース(Database)フィールド、記入(Fillin)フィールド、グラフィック・ファイル読み込み(Includepicture)フィールド、テキスト読み込み(Includetext)フィールド、差し込み印刷(Mailmerge)フィールド）を含むことができる。タイプ定義２０４−１は、文書に対するリンクを扱うための規則を含むことができる（例えば、リンクされたオブジェクト、マスター文書、テンプレート参照、リンクされたカスケード型シート参照）、タイプ定義２０４−１は、データー集合（例えば、メール合併データー）を扱うための規則を含むことができる。タイプ定義２０４−１は、オブジェクト・リンキングおよび埋め込み（ＯＬＥ）オブジェクトを扱うための規則を含むことができる。タイプ定義２０４−１についての他の情報も可能であり、実施形態はこのコンテキストにおいて限定されない。
【００３８】
[0063]  更に、タイプ定義２０４−１は、コンテンツ・ファイル１０４−１から引き出す情報のタイプに関する１組の規則を含むこともできる。例えば、タイプ定義２０４−１は、３つのクラスの情報および関連する規則を含むことができ、コンテンツ・ファイル１０４−１からのコンテンツおよびプロパティ・クラス（例えば、パラグラフまたはプロパティ）、コンテンツ・ファイル１０４−１についてのコンテンツ・オブジェクト・クラス（例えば、画像、埋め込みオブジェクト）、およびコンテンツ・ファイル１０４−１内におけるコンテンツ・ページ・クラス、またはこれらの何らかの組み合わせを含むことができる。尚、所与のコンテンツ・ファイル・タイプに対して、任意の数のクラスまたはカテゴリが定められてもよいことは認めることができよう。
【００３９】
[0064]  一実施形態では、コンテンツおよびプロパティ・クラスの例は、以下のように、表１に例示することができる。
【００４０】
【表１】
0006054401.tif 000002
【００４１】
[0065]  一実施形態では、コンテンツ・オブジェクト・クラスの例は、以下のように、表２に例示することができる。
【００４２】
【表２】
0006054401.tif 000003
【００４３】
[0066]  一実施形態では、コンテンツ・ページ・クラスの例は、以下のように、表３に例示することができる。
【００４４】
【表３】
0006054401.tif 000004
【００４５】
[0067]  オーサリング・コンポーネント１１０は、タイプ・モジュール２０２−１および関連するタイプ定義２０４−１を使用して、ローカル・データーストア２１０からのコンテンツ・ファイル１０４−１からコンテンツ部分１０６−１を引き出すことができる。タイプ・モジュール２０２−１は、次いで、コンテンツ部分１０６−１を編成しフォーマットして、タイル・オブジェクト１２６−１を生成することができる。例えば、タイプ定義２０４−１についての規則が、最初のＮ個のパラグラフというような、文書内から引き出される任意のテキストが、文書内で指定されたスタイル・フォーマッティングを保持することを述べる(state)ことができる。他の規則が、文書内において実際のテキストでないコンテンツ・プロパティが、文書内で定義される通常スタイル(Normal Style)としてフォーマットされることでもよい。更に他の規則が、コンテンツ部分１０６−１のテキスト全体がプレゼンテーション・タイル１２４−１の寸法内に収まらない場合、そのテキストの終端に省略符号「...」が付けられることでもよい。これらは、単にいくつかの規則の例に過ぎず、他のものも可能である。実施形態は、このコンテキストにおいて限定されない。
【００４６】
[0068]  場合によっては、タイプ定義２０４−１が、コンテンツおよびプロパティ・クラス、コンテンツ・オブジェクト・クラス、および、コンテンツ・ページ・クラスの組み合わせからタイル・オブジェクト１２６−１を作るために１組の規則を定めるとよい。この組み合わせは、非公式に「マッシュアップ」と呼ばれることもある。これは、コンテンツ・ファイル１０４−１のコンテンツを表すために組み立てられる高度カスタム化タイル・オブジェクト１２６−１を考慮に入れている。
【００４７】
[0069]  一実施形態では、異なるクラスの組み合わせの例は、以下のように、表４に例示することができる。
【００４８】
【表４】
0006054401.tif 000005
【００４９】
[0070]  また、タイプ定義２０４−１は、タイル・オブジェクト１２６−１をクラス内の１つのクラスまたはタイプに限定する規則を与えることもできる。例えば、タイプ・モジュール２０２−１がコンテンツ・ファイル１０４−１からのテキスト形態のコンテンツ、またはコンテンツ・ファイル１０４−１に対する画像形態のコンテンツ・オブジェクトのみを使用することを、規則が定めることもできる。
【００５０】
[0071]  タイプ定義２０４−１は、更に、コンテンツ・ファイル１０４−１に対してタイル・オブジェクト１２６−１を生成するデバイスを特定することもできる。例えば、タイプ・モジュール２０２−１がサーバー・デバイスと相互作用してタイル・オブジェクト１２６−１を生成し引き出すことを、規則が定めることもできる。
【００５１】
[0072]  更にまた、タイプ定義２０４−１は、最終的な選択のためにユーザーに提示するために、タイル・オブジェクト１２６−１の複数のバージョンのリストを生成する規則を設けることもできる。例えば、規則がＰ通りのバージョンのタイル・オブジェクト１２６−１を生成することもでき、Ｐは任意の正の整数を表す（例えば、Ｐ＝１０）。タイル・オブジェクト１２６−１の複数のバージョンのリストは、以下のように表５に示す例にしたがって生成することができる。
【００５２】
【表５】
0006054401.tif 000006
【００５３】
[0073]  タイプ・モジュール２０２−ｇは、タイプ定義２０４−ｈによって与えられるものに対する追加の情報を使用して、タイル・オブジェクト１２６−ｅを生成することができる。例えば、タイプ・モジュール２０２−ｇは、コンテンツ・ファイル１０４−ａに対して選択されたプレゼンテーション・タイル１２４−ａについての情報を入力として受けることができる。タイプ・モジュール２０２ーｇは、位置、サイズ、形状、寸法、幾何学的形状、境界、隣接するプレゼンテーション・タイル１２４−ａ、近隣の(adjoining)プレゼンテーション・タイル１２４−ａ等というような情報を受けることができる。例えば、タイプ・モジュール２０２−１がタイル・オブジェクト１２６−１を組み立てるためにタイプ定義２０４−１を使用しているが、タイル・オブジェクト１２６−１がプレゼンテーション・タイル１２４−１の現在の寸法には大きすぎる場合、タイプ・モジュール２０２−１は、隣接するまたは近隣のプレゼンテーション・タイル１２４−２、１２４−３についての情報を使用して、もっと大きなタイル・オブジェクト１２６−１を収容するためにプレゼンテーション・タイル１２４−１に対する現在の寸法を拡大させるとよいか、そしてこれに応じてプレゼンテーション・タイル１２４−２、１２４−３に対する現在の寸法を縮小させるとよいか否か判断することができる。オーサリング・コンポーネント１１０は、このような場合に対処するために、種々のはめ込みアルゴリズムを実装することができる。
【００５４】
[0074]  図３Ａは、オーサリング・コンポーネント１１０によって生成されるユーザー・インターフェース・ビュー３００の一実施形態を示す。ユーザー・インターフェース・ビュー３００は、いずれのタイル・オブジェクト１２６−ｅもコンテンツ・ファイル１０４−ｃのために作られる前には複数の空白プレゼンテーション・タイル１２４−ａを有するプレゼンテーション表面１２２を含むことができる。また、ユーザー・インターフェース・ビュー３００は、コピー・コマンド３０２−１、カット・コマンド３０２−２、およびペースト・コマンド３０２−３のような、著者からの制御指令１０２−ｂを受けるために、種々のグラフィカル・ユーザー・インターフェース（ＧＵＩ）ツール３０２−ｓも含むことができる。移動コマンド、ペースト特殊コマンド等というような、図３Ａに示すものを超える、他のＧＵＩツール３０２−ｓも使用してもよい。
【００５５】
[0075]  更に、ユーザー・インターフェース・ビュー３００は、ファイル・ナビゲーション・ツール３０４も含むことができる。ファイル・ナビゲーション・ツール３０４は、格納されているデーター・ファイルによってファイル・システムをナビゲートするために設計された所与のＯＳのために、ファイル管理アプリケーションを含むことができる。例えば、ファイル・ナビゲーション・ツール３０４は、ローカル・データーストア２１０またはリモート・データーストア２１２から種々のコンテンツ・ファイル１０４−ｃをナビゲートし提示するために使用することができる。ファイル・ナビゲーション・ツール３０４の一例には、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳオペレーティング・システム用に設計されたＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ  ＥＸＰＬＯＲＥＲを含むことができる。他のファイル・ナビゲーション・ツールも使用することができる。
【００５６】
[0076]  オーサリング動作の間、オーサリング・コンポーネント１１０は、コンテンツ・ファイル１０４−１をプレゼンテーション・タイル１２４−１と関連付ける制御指令１０２−ｂを、例えば、ポインティング・デバイス３０８のような入力デバイス、またはタッチ・スクリーン・ディスプレイ上におけるジェスチャーから受けることができる。例えば、コンテンツ・プロデューサーは、ファイル・ナビゲーション・ツール３０４を利用して、一方または双方のデーターストア２１０、２１２によって格納されているコンテンツ・ファイル１０４−ｃをナビゲートし提示することによって、モンタージュ１２０を作ることができる。コンテンツ・プロデューサーは、ポインティング・デバイス３０８のような入力デバイスまたはタッチ・スクリーン・ディスプレイ上におけるジェスチャー３１０を使用して、プレゼンテーション・タイル１２４−ａのためにコンテンツ・ファイル１０４−ｃを選択することができる。図示のように、ポインティング・デバイス３０８は、コンテンツ・ファイル１０４−１を選択するために使用され、コンテンツ・ファイル１０４−１をプレゼンテーション・タイル１２４−１上に動かすために、ドラッグ・アンド・ドロップ技法を使用することができる。あるいは、同様の動作を行うために、ＧＵＩ入力ツール３０２が使用されてもよい。
【００５７】
[0077]  図３Ｂは、オーサリング・コンポーネント１１０によって生成されるユーザー・インターフェース・ビュー３２０の一実施形態を示す。ユーザー・インターフェース・ビュー３２０は、コンテンツ・ファイル１０４−１に対してタイル・オブジェクト１２６−１が作られた後には満たされているプレゼンテーション・タイル１２４−１を有するプレゼンテーション表面１２２を含むことができる。一旦コンテンツ・プロデューサーがコンテンツ・ファイル１０４−１を選択しそれをプレゼンテーション・タイル１２４−１と関連付けたなら、オーサリング・コンポーネント１１０はコンテンツ・ファイル１０４−１に対してコンテンツ・ファイル・タイプを特定することができる。この例では、オーサリング・コンポーネント１１０は、コンテンツ・ファイル１０４−１に対するコンテンツ・ファイル・タイプを、アプリケーション・ファイル・タイプとして特定し、更に特定すれば、ワープロ・ファイルとして特定する。オーサリング・コンポーネント１１０は、ワープロ・ファイルからタイル・オブジェクトを生成するために特定的に設計されたタイプ・モジュール２０２−１およびタイプ定義２０４−１を利用することができる。タイプ・モジュール２０２−１は、タイプ定義２０４−１を使用して、コンテンツ・ファイル１０４−１からしかるべきコンテンツ部分１０６−１を引き出すことができ、コンテンツ部分１０６−１は、コンテンツおよびプロパティ・クラス、コンテンツ・オブジェクト・クラス、コンテンツ・ページ・クラス、またはクラスの組み合わせの情報を含む。タイプ・モジュール２０２−１は、コンテンツ部分１０６−１を使用してタイル・オブジェクト１２６−１を生成し、プレゼンテーション・タイル１２４−１の境界内にタイル・オブジェクト１２６−１を提示することができる。
【００５８】
[0078]  図４は、タイル・オブジェクト１２６−１を生成するオーサリング・コンポーネント１１０の一例を示す。図示のように、コンテンツ・ファイル１０４−１は、種々のタイプのコンテンツおよびプロパティ・クラスの情報を含むことができ、名称４０２、第１パラグラフ４０４、第２パラグラフ４０６、および種々のメタデーター４０８を含む。更に、コンテンツ・ファイル１０４−１は、種々のタイプのコンテンツ・オブジェクト・クラスの情報も含むことができ、画像４１０、棒グラフ４１２、および式４１４を含む。タイプ定義２０４−１は、５つの規則を含むことができる。これらの規則は、「タイル・テンプレート１」と名付けられた特定のタイル・テンプレートを使用するための第１規則、名称４０２を引き出すための第２規則、メタデーター４０８から著者を引き出すための第３規則、最初のＮ個のパラグラフ４０４、４０６（例えば、Ｎ＝２）を引き出すための第４規則、および第１グラフを引き出すための第５規則を含む。第１グラフは、この場合、棒グラフ４１２となる。タイプ・モジュール２０１−１は、タイプ定義２０４−１を使用して、タイプ定義２０４−１の規則１〜５にしたがってコンテンツ・ファイル１０４−１からコンテンツ部分１０６−１を引き出し、タイル・オブジェクト１２６−１を生成することができる。タイル・オブジェクト１２６−１は、「タイル・テンプレート１」にしたがってフォーマットされたコンテンツ部分１０６−１の特定情報と共に、ユーザー・インターフェース・ビューとして提示される。
[0079]  図５は、モンタージュ・アプリケーション１４０によって生成されたモンタージュ１２０を公開または配布するのに適したメッセージング・システム５００の一実施形態を示す。コンテンツ・プロデューサーは、モンタージュ・アプリケーション１４０を使用し、ユーザー・インターフェース・コンポーネント５４０によって供給される種々のユーザー・インターフェース・ビューを使用して、モンタージュ１２０を生成することができる。ユーザー・インターフェース５３８は、モンタージュ・アプリケーション１４０用のネーティブ・ユーザー・インターフェース・コンポーネント、またはモンタージュ・アプリケーション１４０を実行するＯＳ（例えば、Microsoft Windows）用のユーザー・インターフェース・コンポーネントを含むことができる。一旦モンタージュ１２０が生成されたなら、コンテンツ・プロデューサーは、公開モデル、メッセージング・モデル、または公開モデルおよびメッセージング・モデルの組み合わせを使用して、モンタージュ１２０を種々のコンテンツ・コンシューマーに配布することができる。
【００５９】
[0080]  一実施形態では、モンタージュ・アプリケーション１４０は、公開コンポーネント５３２を使用して、モンタージュおよび関連するコンテンツ・ファイル１０４−ｃをローカル・データーストア２１０からリモート・データーストア２１２に公開することができる。リモート・データーストア２１２は、例えば、ソーシャル・ネットワーキング・サービス（ＳＮＳ）のような、ネットワーク・サービスによってアクセス可能なネットワーク・ストレージ・サーバー５５０の一部として実現することができる。コンテンツ・コンシューマーは、ネットワーク・サービスにアクセスしてネットワーク・サービス・バージョンを見ることができる。
【００６０】
[0081]  一実施形態では、モンタージュ・アプリケーション１４０はネーティブ・メッセージ・コンポーネント５３４を使用して、モンタージュ１２０および関連するコンテンツ・ファイル１０４−ｃをメッセージ５１６およびメッセージ添付ファイルとして、メッセージ・サーバー５４０のようなメッセージング・アーキテクチャーに送ることができる。コンテンツ・コンシューマーは、メッセージ・バージョンにアクセスしてこれを見ることができる。あるいは、モンタージュ・アプリケーション１４０は外部（非ネーティブ）メッセージ・アプリケーション５４２−ｋを使用することもできる。
【００６１】
[0082]  一実施形態では、モンタージュ・アプリケーション１４０は、公開モデルおよびメッセージング・モデル双方の組み合わせを使用し、モンタージュ１２０および関連するコンテンツ・ファイル１０４−ｃをネットワーク・サービスに公開することによって、モンタージュ１２０および関連するコンテンツ・ファイル１０４−ｃのネットワーク・バージョンのためのリンク５１８−ｎを受け、このリンク５１８−ｎによってメッセージ５１６を送ることができる。コンテンツ・コンシューマーは、メッセージ５１６にアクセスし、リンク５１８−ｎを選択し、モンタージュ１２０のネットワーク・バージョンを見ることができる。更に、コンテンツ・コンシューマーは、モンタージュ１２０のタイル・オブジェクト１２６−ｅを選択して、この選択したタイル・オブジェクト１２６−ｅに関連するコンテンツ・ファイル１０４−ｃのネットワーク・バージョンを見ることができる。
【００６２】
[0083]  モンタージュ・アプリケーション１４０は、セキュリティ・コンポーネント５３６を使用して、コンテンツ・コンシューマーによるモンタージュ１２０および関連するコンテンツ・ファイル１０４−ｃに対する許可およびアクセスを管理することができる。セキュリティ・コンポーネント５３６は、アカウント、認証情報、許可情報、セキュリティ情報（例えば、暗号化／解読アルゴリズム、セキュリティ鍵、証明書等）、許可レベル等を管理することができる。一実施形態では、セキュリティ・コンポーネント５３６は、入力デバイスから制御指令を受けることができる。この制御指令は、ネットワーク・サービスによってアクセス可能なネットワーク・ストレージ・サーバー５５０のためにコンテンツ・ファイル１０４−ｃをローカル・データーストア２１０からリモート・データーストア２１２に伝達することを許可するための、コンテンツ・プロデューサーからのコマンドを表す。
【００６３】
[0084]  図５に示す例示実施形態では、メッセージング・システム５００は、複数の計算デバイス５１０−ｊ、メッセージ・サーバー５４０、およびネットワーク・ストレージ・サーバー５５０を含むことができ、これらは全てネットワーク５３０を介して通信する。計算デバイス５１０−ｊは、各々、モンタージュ・アプリケーション１４０および／または１つ以上のメッセージ・アプリケーション５４２−ｋを実装する。図５に示すメッセージング・システム５００は、ある種のトポロジーでは限られた数のエレメントを有するが、メッセージング・システム５００は、代わりのトポロジーでは、所与の実現例に望まれる通りに、それよりも多いまたは少ないエレメントを含むことができる。
【００６４】
[0085]  ネットワーク５３０は、メッセージング・システム５００の種々のデバイス間において情報を伝達するように設計された通信フレームワークを含むことができる。ネットワーク５３０は、パケット交換ネットワーク（例えば、インターネットのような公開ネットワーク、企業イントラネットのような私有ネットワーク等）、回線交換ネットワーク（例えば、公衆電話交換ネットワーク）、またはパケット交換ネットワークおよび回線交換ネットワークの組み合わせ（適したゲートウェイおよび変換器を使用する）との使用に適した技法というような、周知の通信技法の内任意のものを実施することができる。
【００６５】
[0086]  メッセージ・サーバー５４０は、１つ以上のサーバー計算デバイスおよび／またはサーバー・プログラムを含むたは採用することができる。これらは、記載する実施形態にしたがって、種々の方法を実行するように動作する。例えば、インストールされるおよび／または展開されると、サーバー・プログラムはある種のサービスおよび機構を設けるためにサーバー計算デバイスの１つ以上のサーバーの役割をサポートすることができる。メッセージ・サーバー５４０の例には、例えば、MICROSOFT OS、UNIX（登録商標）ＯＳ、LINUX（登録商標）ＯＳ、または他の適したサーバー・ベースＯＳというような、サーバーＯＳを動作させる、単体のサーバー・コンピューターまたは企業クラスのサーバー・コンピューターを含むことができる。サーバー・プログラムの例には、例えば、着信メッセージおよび発送メッセージを管理するための、MICROSOFT OFFICE COMMUNICATIONS SERVER (OCS) というような通信サーバー・プログラム、電子メール、音声メール、ＶｏＩＰ、インスタント・メッセージング（ＩＭ）、グループＩＭ、拡張プレゼンス(enhanced presence)、およびオーディオ−ビデオ会議のために統一されたメッセージング（ＵＭ）を提供する MICROSOFT EXCHANGE SERVER というようなメッセージング・サーバー・プログラム、および／または記載する実施形態に従う他のタイプのプログラム、アプリケーション、またはサービスを含むことができる。
【００６６】
[0087]  また、ネットワーク・ストレージ・サーバー５５０も、記載する実施形態にしたがって種々の方法を実行するように動作する１つ以上のサーバー計算デバイスおよび／またはサーバー・プログラムも含むまたは採用することができる。例えば、インストールおよび／または展開されると、サーバー・プログラムはある種のサービスおよび機構を設けるためにサーバー計算デバイスの１つ以上のサーバーの役割をサポートすることができる。ネットワーク・ストレージ・サーバー５４０の例には、例えば、MICROSOFT OS、UNIX ＯＳ、LINUX ＯＳ、または他の適したサーバー・ベースＯＳというような、サーバーＯＳを動作させる、単体のサーバー・コンピューターまたは企業クラスのサーバー・コンピューターを含むことができる。サーバー・プログラムの例には、例えば、文書およびファイルのオンライン・ネットワーク・ストレージを提供するMICROSOFT LIVEのような、ネットワーク・ストレージ・サーバー・プログラムを含むことができる。ファイルは、画像、写真、写真アルバム、ビデオ、ビデオ・アルバム等のようなマルチメディア・ファイルまたはメディア・ファイルを含む。更に、サーバー・プログラムの例には、例えば、ソーシャル・ネットワーキング・アプリケーション・プログラムのようなネットワーク・アプリケーション・プログラム、サーチ・アプリケーション、文書管理プログラム、ウェブログ（ブログ）、ワープロ・プログラム、表計算プログラム、データーベース・プログラム、描画プログラム、文書共有プログラム、メッセージ・アプリケーション、ウェブ・サービス、ウェブ・アプリケーション、ウェブ・サーバー、および／または記載する実施形態にしたがう他のタイプのプログラム、アプリケーション、またはサービスを含むことができる。
【００６７】
[0088]  計算デバイス５１０−ｊは、各々、プロセッサー５０２と、このプロセッサー５０２と通信可能に結合されるメモリー５０４とを含むことができる。プロセッサー５０２およびメモリー５０４は、各々、通信インターフェース５０９に通信可能に結合されるとよい。アーキテクチャー例および計算デバイス５１０−ｊの例については、図１０を参照して説明することができる。
【００６８】
[0089]  通信インターフェース５０９は、計算デバイス５１０−ｊが互いにそしてメッセージング・システム５００の他のデバイスとネットワーク５３０を介して通信することを可能にするために、種々の通信技法を含むまたは実装することができる。例えば、メッセージング・システム５００の種々のデバイスは、各々、通信インターフェース５０９を含むことができる。通信インターフェース５０９は、１つ以上の通信インターフェース、ネットワーク・インターフェース、ネットワーク・インターフェース・カード（ＮＩＣ）、無線機、ワイヤレス送信機／受信機（送受信機）、有線および／またはワイヤレス通信媒体、物理コネクター等のような、ネットワーク５３０と相互動作可能に設計される、種々のタイプの標準的な通信エレメントを実装する。一例として、そして限定ではなく、通信媒体は、有線通信媒体およびワイヤレス通信媒体を含む。有線通信媒体の例には、ワイヤ、ケーブル、金属リード、印刷回路基板（ＰＣＢ）、バックプレーン、スイッチ・ファブリック、半導体材料、撚り線対、同軸ケーブル、光ファイバー、伝搬信号等を含むことができる。ワイヤレス通信媒体の例には、音響、無線周波（ＲＦ）スペクトル、赤外線、および他のワイヤレス媒体を含むことができる。
【００６９】
[0090]  種々の実施形態において、通信インターフェース５０９は、複数の異なるタイプのトランスポート(transport)５１２−ｍを含むことができる。トランスポート５１２−ｍの各々は、メッセージング・システム５００の種々のデバイス間で情報を伝達するために、同じまたは異なる１組の通信パラメーターを実装または利用することができる。一実施形態では、例えば、トランスポート５１２−ｍの各々は、計算デバイス５１０−ｊとメッセージ・サーバー５４０との間において情報を伝達するために、異なる１組の通信パラメーターを実装または利用することができる。通信パラメーターの例には、限定ではなく、通信プロトコル、通信規格、無線周波数（ＲＦ）帯、無線機、送信機／受信機（送受信機）、無線プロセッサー、ベースバンド・プロセッサー、ネットワーク・スキャニング閾値パラメーター、無線周波数チャネル・パラメーター、アクセス・ポイント・パラメーター、レート選択パラメーター、フレーム・サイズ・パラメーター、集計サイズ・パラメーター、パケット・リトライ制限パラメーター、プロトコル・パラメーター、無線パラメーター、変調および符合化方式（ＭＣＳ）、承認パラメーター、メディア・アクセス制御（ＭＡＣ）レイヤー・パラメーター、物理（ＰＨＹ）レイヤー・パラメーター、ならびに計算デバイス５１０−ｊによって実現される通信インターフェース５０９の動作に影響を及ぼす任意の他の通信パラメーターを含むことができる。実施形態は、このコンテキストにおいて限定されない。
【００７０】
[0091]  種々の実施形態では、計算デバイス５１０−１の通信インターフェース５０９は、可変帯域幅または通信速度を提供する異なる通信パラメーターを実装することができる。例えば、トランスポート５１２−１は、ネットワーク５３０への情報の高速通信に適した通信パラメーターを実装する高速インターフェースを含むことができ、一方トランスポート５１２−２は、それよりも遅いネットワーク５３０への情報通信に適した通信パラメーターを実装する低速インターフェースを含むことができる。
【００７１】
[0092]  有線通信に関して、例えば、トランスポート５１２−１は、インターネットのようなパケット交換ネットワークを介して情報を通信するように設計されたネットワーク・インターフェースを含むことができる。トランスポート５１２−１は、異なるタイプの有線ネットワーク・システムまたはプロトコルにしたがって機能的にデーター通信を設けるように構成することができる。データー通信サービスを提供する適した有線ネットワーク・システムの例には、インターネット・エンジニアリング・タスク・フォース(IETF)送信制御プロトコル(TCP)およびインターネット・プロトコル(IP)の一揃いの通信規格、ユーザー・データーグラム・プロトコル(UDP)、データーグラム輻輳制御プロトコル(DCCP)、ストリーム制御送信プロトコル(SCTP)、リソース予約プロトコル(RSVP)、明示的輻輳通知（ECN)プロトコル、 一揃いのオープン最短パス優先（OSPF：Open Shortest Path First)プロトコル、高信頼性トランスポート・プロトコル(RTP)、IETFリアル・タイム・トランスポート・プロトコル(RTP)等を含むことができる。トランスポート５１２−２は、シンプル・メール・トランスファ・プロトコル(SMTP)、拡張SMTP(ESMTP)、ポスト・オフィス・プロトコル(POP)、POP3、インターネット・メッセージ・アクセス・プロトコル(IMAP)、多目的インターネット・メール拡張(MIME)プロトコル、ユニックス−ユニックス・コピー(UUCP)プロトコル、ITU-T  X.400プロトコルのような一揃いの国際電気通信連合（ＩＴＵ）プロトコル等というような、異なるメッセージ・プロトコルにしたがってデーター通信を提供するように構成することができる。尚、他の優先通信技法を実施してもよく、実施形態はこのコンテキストにおいて限定されないことは認めることができよう。
【００７２】
[0093]  ワイヤレス通信に関して、例えば、トランスポート５１２−１は、ワイヤレス・ローカル・エリア・ネットワーク（ＷＬＡＮ）を介して情報を伝達するように設計された無線機を含むことができる。トランスポート５１２−１は、異なるタイプのワイヤレス・ネットワーク・システムまたはプロトコルにしたがって機能的にデーター通信を提供するように構成することができる。データー通信サービスを提供する適したワイヤレス・ネットワーク・システムの例には、IEEE802.11a/b/g/nシリーズの標準プロトコルおよびバリアント（「WiFi」とも呼ばれる）、IEEE802.16シリーズの標準プロトコルおよびバリアント（「WiMAX」とも呼ばれる）、IEEE802.20リリースの標準プロトコルおよびバリアント等というような、米国電気電子工学学会（ＩＥＥＥ）の802.xxシリーズのプロトコルを含むことができる。トランスポート５１２−２は、１つ以上のセルラ無線電話システムによって提供されるデーター・ネットワーキング・リンクを介して情報を伝達するように設計された無線機を含むことができる。データー通信サービスを提供するセルラ無線電話システムの例には、GSM／一般パケット無線サービス（GPRS)システム(GSM/GPRS), CDMA/1xRTTシステム、GSM進化型高速データー・レート(EDGE)システム、進化データー専用または進化データー最適化(EV-DO)システム、データーおよび音声進化 (EV-DV)システム、高速ダウンリンク・パケット・アクセス(HSDPA)システム、高速上り方向パケット・アクセス (HSUPA)等を含むことができる。尚、他のワイヤレス技法を実施してもよく、実施形態はこのコンテキストにおいて限定されないことは認めることができよう。
【００７３】
[0094]  種々の実施形態において、計算デバイス５１０−１の通信インターフェース５０９は、同一または実質的に同様の帯域幅または通信速度を提供する、同じ１組の通信パラメーターを実装することができる。しかしながら、トランスポート５１２−１、５１２−２は、異なる時点において、モンタージュ・アプリケーション１４０および／またはメッセージ・アプリケーション５４２−１によって利用されてもよい。一実施形態では、例えば、モンタージュ・アプリケーション１４０が第１時間間隔の間にモンタージュ１２０およびモンタージュ１２０のための１つ以上のコンテンツ・ファイル１０４−ｃを伝達することができ、モンタージュ・アプリケーション１４０および／またはメッセージ・アプリケーション５４２−１は、第２時間間隔の間に、メッセージ５１６をモンタージュ１２０および／またはサポートするコンテンツ・ファイル１０４−ｃに関する情報と共に伝達することができる。一実施形態では、例えば、第１および第２時間間隔は、完全に不連続であってもよく、この場合、第１時間間隔の開始時刻および終了時刻は、第２時間間隔の開始時刻よりも前になる。一実施形態では、例えば、第１および第２時間間隔が部分的にオーバーラップしてもよく、この場合、第１時間間隔の開始時刻は第２時間間隔の開始時刻よりも前になるが、第１時間間隔の終了時刻は、第２時間間隔の開始時刻よりも後になる。実施形態は、このコンテキストにおいて限定されない。
【００７４】
[0095]  計算デバイス５１０−ｊは、各々、モンタージュ・アプリケーション１４０に、メッセージ・コンポーネント５３４および／または種々のタイプのメッセージを種々のフォーマットで伝達するように構成された１つ以上のメッセージ・アプリケーション５４２−ｋを実装することができる。メッセージング・モデル用のメッセージ・アプリケーション５４２−ｋを参照して一実施形態について説明するが、このような説明は、モンタージュ・アプリケーション１４０のメッセージ・コンポーネント５３４を利用する他の実施形態にも応用することができる。
【００７５】
[0096]  メッセージ・アプリケーション５４２−ｋの各々は、特定の種類のトランスポートを代表することができ、特定のアプリケーションに対する特定のタイプおよびフォーマットのメッセージを扱うことを可能にする。メッセージ・アプリケーション５４２−ｋは、限定ではなく、ファクシミリ・アプリケーション、ビデオ・メッセージ・アプリケーション、インスタント・メッセージング（ＩＭ）アプリケーション、チャット・アプリケーション、電子メール（ｅメール）アプリケーション、ショート・メッセージ・サービス（ＳＭＳ）アプリケーション、マルチメディア・メッセージ・サービス（ＭＭＳ）アプリケーション、ソーシャル・ネットワーク・システム（ＳＮＳ）アプリケーション等を含むことができる。尚、実施形態はこれに関して限定されないこと、そしてメッセージ・アプリケーション５４２−ｋは、記載する実施形態と一貫する任意の他のタイプのメッセージング・アプリケーションまたは通信アプリケーションを含んでもよいことは言うまでもない。また、計算デバイス５１０−ｊは、各々、記載する実施形態と一貫するメッセージ・アプリケーション５４２−ｋに加えて、他のタイプのアプリケーションも実装してもよいことも認められてしかるべきである。
【００７６】
[0097]  図５に示すように、例えば、計算デバイス５１０−１、５１０−２は、それぞれのメッセージ・アプリケーション５４２−１、５４２−２を実装する。メッセージ・アプリケーション５４２−１、５４２−２は、一般に、計算デバイス５１０−１、５１０−２のためにメッセージを生成し、送信し、受信し、更新し、変更し、それ以外では管理するように動作することができる。尚、本明細書において説明する計算デバイス５１０−１およびそのメッセージ・アプリケーション５４２−１について示される実現例の詳細は、計算デバイス５１０−２およびそのそれぞれのメッセージ・アプリケーション５４２−２にも該当することは認めることができよう。
【００７７】
[0098]  一実施形態では、メッセージ・アプリケーション５４２−１、５４２−２は、単体のクライアント・ベース・アプリケーションとして実装され、計算デバイス５１０−１のプロセッサー５０２およびメモリー５０４のような、計算デバイス５１０−１、５１０−２によって設けられるローカル・リソースによって格納および実行され、ネットワーク・デバイスにおいて実装され、ウェブ・ブラウザーを介して計算デバイス５１０−１、５１０−２によってアクセスされるネットワーク・ベースのメッセージ・アプリケーションではない。一実施形態では、メッセージ・アプリケーション５４２−１、５４２−２は、分散処理に適しており、部分的に計算デバイス５１０−１、５１０−２のローカル・リソースにおいて実行し、部分的にネットワーク・リソースにおいて実行する分散型アプリケーションを含むことができる。加えてまたは代わりに、メッセージ・アプリケーション５４２−１、５４２−２は、ネットワーク・デバイスにおいて実装され、ウェブ・ブラウザーを介して計算デバイス５１０−１、５１０−２によってアクセスされるネットワーク・ベースのメッセージ・アプリケーションを含むこともできる。実施形態は、このコンテキストにおいて限定されない。
【００７８】
[0099]  一実施形態では、例えば、メッセージ・アプリケーション５４２−１は、メッセージ５１６をトランスポート５１２−２を介して伝達するように構成することができる。メッセージ５１６は、トランスポート５１２−２を介して通信されるときは、モンタージュ１２０および／または１つ以上のコンテンツ・ファイル１０４−ｃのための１つ以上の埋め込みリンク５１８−ｎ、および／またはモンタージュ１２０を含むことができる。１つ以上の埋め込みリンク５１８−ｎは、例えば、ネットワーク・ストレージ・サーバー５５０に格納されメッセージ送信側またはメッセージ受信側によってアクセス可能な、モンタージュ１２０および／または１つ以上のコンテンツ・ファイル１０４−ｃに対する参照を含むことができる。
【００７９】
[00100]  リンク５１８−ｎの各々は、格納されているモンタージュ１２０およびコンテンツ・ファイル１０４−ｃに対する参照またはポインターを含むことができる。この参照またはポインターは、ユーザーが直接追跡することができ、またはプログラムによって自動的に追跡される。参照は、デバイス（例えば、ファイル・サーバー）のメモリーにおけるいずれかの位置にある参照先(referent)（例えば、オブジェクト、ファイル、データー項目等というような、格納されたモンタージュ１２０およびコンテンツ・ファイル１０４−ｃ）を指し示すデーター型であり、参照先にアクセスするために使用される。一般に、参照は、プログラムが直接参照先をアクセスすることを可能にする値である。参照先は、参照と同じデバイスに格納しても、参照とは異なるデバイスに格納してもよい。殆どのプログラミング言語は、何らかの形態の参照をサポートする。リンク５１８−ｎの例には、限定ではなく、ワールド・ワイド・ウェブ（ＷＷＷ）によって使用されるような、ハイパーテキストおよびハイパーリンクを含むことができる。ハイパーテキストとは、ハイパーリンクが付いたテキストである。ハイパーリンクは、通例、アンカーを含む。アンカーとは、そのハイパーリンクを追跡することができるメッセージ内の位置である。ハイパーリンクのターゲットは、格納されているモンタージュ１２０および／またはコンテンツ・ファイル１０４−ｃであり、ハイパーリンクが導く先である。ユーザーは、リンクのアンカーが示されているときに、リンクにタッチする（例えば、タッチ・スクリーン・ディスプレイの場合）またはポインティング・デバイス（例えば、マウス）によってその上でクリックすることによってというように、リンクを何らかの方法でアクティブにすることによって、リンクを追跡することができる。リンク５１８−ｎがアクティブになったなら、ウェブ・ブラウザーまたはアプリケーション・プログラムによってそのターゲットが表示される。
【００８０】
[00101]  既に説明したように、モンタージュ・アプリケーション１４０は、公開モデルおよびメッセージング・モデル双方の混成を使用し、モンタージュ１２０および関連するコンテンツ・ファイル１０４−ｃをネットワーク・ストレージ・サーバー５５０のリモート・データーストア２１２に公開することによって、モンタージュ１２０および関連するコンテンツ・ファイル１０４−ｃのためのリンク５１８−ｎを受け、リンク５１８−ｎと共にメッセージ５１６を送ることができる。コンテンツ・コンシューマーは、メッセージ５１６にアクセスし、リンク５１８−ｎを選択し、モンタージュ１２０のネットワーク・バージョンを見ることができる。更に、コンテンツ・コンシューマーは、モンタージュ１２０のタイル・オブジェクト１２６−ｅを選択して、この選択したタイル・オブジェクト１２６−ｅに関連するコンテンツ・ファイル１０４−ｃのネットワーク・バージョンを見ることができる。この混成モデルについては、図６を参照して更に詳しく説明する。
【００８１】
[00102]  図６は、メッセージング・システム５００についてのメッセージ・フローの一実施形態を示す。図６に示すように、公開コンポーネント５３２は、モンタージュ１２０および関連するコンテンツ・ファイル１０４−ｃをネットワーク・サービス６５２に公開することができる。公開コンポーネント５３２は、矢印６０２で示すように、モンタージュ１２０および関連するコンテンツ・ファイル１０４−ｃをネットワーク・ストレージ・サーバー５５０にトランスポート５１２−１を介して送ることができる。高速トランスポートであるため、トランスポート５１２−１は、例えば、メッセージ５１６のメッセージ・サイズと比較して相対的に大きなファイル・サイズを伴うことが通例であるコンテンツ・ファイル１０４−ｃを伝えるのに十分な帯域幅を有することができる。
【００８２】
[00103]  ネットワーク・ストレージ・サーバー５５０は、モンタージュ１２０および関連するコンテンツ・ファイル１０４−ｃを受信し、これらをリモート・データーストア２１２に格納することができる。矢印６０４で示すように、ネットワーク・ストレージ・サーバー５５０は、次いで、リモート・データーストア２１２に格納されているモンタージュ１２０およびコンテンツ・ファイル１０４−ｃに対するリンク５１８−ｎを送ることができる。
【００８３】
[00104]  公開コンポーネント５３２は、リンク５１８−ｎを受信し、これらのリンクをオーサリング・コンポーネント１１０に転送することができる。オーサリング・コンポーネント１１０は、リンク５１８−ｎを各タイル・オブジェクト１２６−ｅと関連付け、コンテンツ・コンシューマーが、コンテンツ・ファイル１０４−ｃを更に深く検討するために、タイル・オブジェクト１２６−ｅを選択しリモート・データーストア２１２からの関連コンテンツ・ファイル１０４−ｃにアクセスすることができるように、モンタージュ１２０をこれらの関連付けによって更新する。
【００８４】
[00105]  一実施形態では、公開モデルにしたがって(consistent with)、オーサリング・コンポーネント１１０は、更新したモンタージュ１２０を公開コンポーネント５３２に送ることができる。すると、矢印６０６で示すように、公開コンポーネント５３２は、更新したモンタージュ１２０およびリンク５１８−ｎをネットワーク・サービス６５２において公開することができる。例えば、ネットワーク・サービス６５２は、ソーシャル・ネットワーキング・サービス（ＳＮＳ）を含むことができ、コンテンツ・プロデューサーと定められた関係（例えば、友人）を有するコンテンツ・コンシューマーが、公開されたリンク５１８−ｎを介して、モンタージュ１２０および関連するコンテンツ・ファイル１０４−ｃにアクセスすることができる。他の例では、ネットワーク・サービス６５２がコンテンツ・プロデューサーにアカウントを与えるのでもよく、ネットワーク・サービス６５２および／またはセキュリティ・コンポーネント５３６に対して設定された許可にしたがって、コンテンツ・コンシューマーが見るために、イネーブルすることができる。コンテンツ・コンシューマーは、計算デバイス５１０−２を介してネットワーク・サービス６５２にアクセスし、ウェブ・ブラウザーを介してモンタージュ１２０のファイルへのリンク５１８−ｎを選択し、矢印６１０で示すように、リモート・データーストア２１２にモンタージュ１２０を要求することができる。ネットワーク・サービス６５２は、この要求を受け、矢印６１２で示すように、モンタージュ１２０を計算デバイス５１０−２に送ることができる。計算デバイス５１０−２は、プレゼンテーション・タイル１２４−ａにおけるタイル・オブジェクト１２６−ｅによって、モンタージュ１２０をプレゼンテーション表面１２２のユーザー・インターフェース・ビューとして提示することができる。計算デバイス５１０−２は、ユーザー・インターフェース・ビューを、ウェブ・ブラウザーのためのウェブ・ページとして、またはモンタージュ・アプリケーション１４０のようなアプリケーション・プログラムのユーザー・インターフェース・ビューとして、またはモンタージュ１２０を見るために設計されたモンタージュ・ビューアーとして生成することができる。
【００８５】
[00106]  一実施形態では、メッセージング・モデルにしたがって、オーサリング・コンポーネント１１０は、更新したモンタージュ１２０およびリンク５１８−ｎをメッセージ・コンポーネント５３４（または、メッセージ・アプリケーション５４２−１）に転送することができる。メッセージ・コンポーネント５３４は、入力として、リンク５１８−ｎおよびメッセージ・コンテンツ６２０を受けることができる。メッセージ・コンテンツ６２０は、コンテンツ・プロデューサーからのメッセージを含むことができる。メッセージ・コンポーネント５３４は、メッセージ・コンテンツ６２０およびリンク５１８−ｎによってメッセージ５１６を生成することができる。加えてまたは代わりに、メッセージ５１６は、任意に、ファイル・サイズの制約およびメッセージ・トランスポート５１２−２において利用可能な帯域幅に依存して、モンタージュ１２０および／またはある種のコンテンツ・ファイル１０４−ｃを含むこともできる。モンタージュ１２０は、モンタージュ１２０の最大忠実度バージョン、または、モンタージュ１２０のサムネイル・バージョンというような、トランスポート５１２−２の利用可能な帯域幅に一層適した、忠実度を下げたバージョンのモンタージュ１２０を構成することもできる。
【００８６】
[00107]  矢印６０８で示すように、メッセージ・コンポーネント５３４は、トランスポート５１２−２を介して、計算デバイス５１０−２のメッセージ・アプリケーション５４２−２に、メッセージ・サーバー５４０を経由してメッセージ５１６を送ることができる。コンテンツ・コンシューマーは、メッセージ５１６を開き、モンタージュ１２０へのリンク５１８−ｎを選択し、矢印６１０で示すように、モンタージュ１２０をリモート・データーストア２１２に要求することができる。ネットワーク・サービス６５２は、この要求を受け、矢印６１２で示すように、モンタージュ１２０を計算デバイス５１０−２に送ることができる。計算デバイス５１０−２は、プレゼンテーション表面１２２のユーザー・インターフェース・ビューとして、プレゼンテーション・タイル１２４−ａにおけるタイル・オブジェクト１２６−ｅによって、モンタージュ１２０を提示することができる。計算デバイス５１０−２は、ユーザー・インターフェース・ビューを、ウェブ・ブラウザーのためのウェブ・ページとして、またはモンタージュ・アプリケーション１４０のようなアプリケーション・プログラムのユーザー・インターフェース・ビューとして、またはモンタージュ１２０を見るために設計されたモンタージュ・ビューアーとして生成することができる。
【００８７】
[00108]  図７Ａは、メッセージ例５１６のユーザー・インターフェース・ビュー７００の一実施形態を示す。図６を参照して説明したように、コンテンツ・プロデューサーはモンタージュ・アプリケーション１４０および／またはメッセージング・アプリケーション５４２−１を使用して、モンタージュ１２０付きのメッセージ５１６またはモンタージュ１２０への参照付きのメッセージ５１６を生成して送ることができる。コンテンツ・コンシューマーは、メッセージ５１６を計算デバイス５１０−２およびメッセージング・アプリケーション５４２−２を介して受信することができる。ユーザー・インターフェース・ビュー７００は、電子メール・メッセージとして実現されたメッセージ５１６の例を示す。
【００８８】
[00109]  メッセージ５１６は、電子メールのために、とりわけ、回答(Reply)ボタン、全員回答(Reply to All)ボタン、転送(Forward)ボタン、削除(Delete)ボタン、フォルダ移動(Move to Folder)ボタン、および規則作成(Create Rule)ボタンというような種々のコマンド・エレメントを有するリボン・バー７０２を含むことができる。メッセージ５１６は、更に、アドレシング情報を有するアドレス・バー７０４、およびメッセージ本体７０６も含むことができる。メッセージ本体７０６は、モンタージュ・ファイル・サムネイル７２０を有する表面と、リモート・データーストア２１２に格納されているモンタージュ１２０へのリンク５１８−１とを含むことができる。モンタージュ・ファイル・サムネイル７２０は、モンタージュ１２０の忠実度を落としたバージョンを構成するのでよい。
【００８９】
[00110]  コンテンツ・コンシューマーは、例えば、ポインティング・デバイス７１０のような、入力デバイスを使用して、モンタージュ・サムネイル７２０を選択することができる。また、コンテンツ・コンシューマーは、例えば、タッチ・スクリーン・ディスプレイ上におけるジェスチャー７１２のような、入力デバイスを使用して、「学生クラスの旅行」と題するリンク５１８−１を選択することができる。双方の場合において、選択によって、ウェブ・ブラウザーまたはモンタージュ１２０を見るためのアプリケーション・プログラムが起動する。
【００９０】
[00111]  図７Ｂは、一旦メッセージ５１６から送り出された(launched)モンタージュ１２０のユーザー・インターフェース・ビュー７４０の一実施形態を示す。計算デバイス５１０−２の所与の実現例に依存して、計算デバイス５１０−２は、ユーザー・インターフェース・ビュー７４０を、ウェブ・ブラウザーのためのウェブ・ページとして、またはモンタージュ・アプリケーション１４０のようなアプリケーション・プログラムのユーザー・インターフェース・ビューとして、または特定的にモンタージュ１２０を見るために設計されたモンタージュ・ビューアー７３０として生成することができる。例えば、計算デバイス５１０−２に実装されたモンタージュ・アプリケーション１４０のプレゼンテーション・コンポーネント１３０および／またはモンタージュ・ビューアー７３０は、モンタージュ１２０を開く制御指令を受け、リモート・データーストア２１２からモンタージュ１２０を引き出す動作を開始することができる。プレゼンテーション・コンポーネント１３０および／またはモンタージュ・ビューアー７３０は、プレゼンテーション表面１２２を含む、モンタージュ１２０のユーザー・インターフェース・ビュー７４０を、しかるべきプレゼンテーション・タイル１２４−ａにおけるタイル・オブジェクト１２６−ｅによって提示することができる。
【００９１】
[00112]  ウェブ・ページとしてレンダリングされるとき、プレゼンテーション・コンポーネント１３０は、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）または同様のコードのような、ウェブ・ページのために特定的に設計されたコードを使用することができる。しかしながら、ＨＴＭＬコードは、クライアント・デバイス５１０−２によって実装された所与のタイプのウェブ・ブラウザーによって限定される場合がある。モンタージュ・ビューアー７３０のユーザー・インターフェース・ビューとしてレンダリングされるとき、プレゼンテーション・コンポーネント１３０および／またはモンタージュ・ビューアー７３０は、モンタージュ・ビューアー７３０に最適化されたコードを使用することができる。例えば、モンタージュ１２０は、ウェブ・ページ用のＨＴＭＬコードを使用して生成してもよく、このＨＴＭＬコード内に拡張可能マークアップ言語（ＸＭＬ）コードが埋め込まれる。ＸＭＬコードは、モンタージュ・アプリケーション１４０またはモンタージュ・ビューアー７３０のために特定的に設計されたデーター方式で生成されるのでもよい。したがって、モンタージュ・アプリケーション１４０またはモンタージュ・ビューアー７３０は、ウェブ・ページに使用されるモンタージュ１２０の忠実度が低いバージョンと比較して、もっと忠実度が高いバージョンのモンタージュ１２０をレンダリングすることができる。
【００９２】
[00113]  図７Ｃは、モンタージュ・ビューアー７３０において提示されるときのモンタージュ１２０の一例のユーザー・インターフェース・ビュー７５０の一実施形態を示す。図７Ｂを参照して説明したように、モンタージュ・ビューアー７３０は、プレゼンテーション表面１２２を含む、モンタージュ１２０のユーザー・インターフェース・ビュー７４０を、しかるべきプレゼンテーション・タイル１２４−ａにおけるタイル・オブジェクト１２６−ｅによって提示することができる。図４を参照して説明したように、プレゼンテーション表面１２２がコンテンツ・ファイル１０４−１に対してタイル・オブジェクト１２６−１を含むと仮定する。
【００９３】
[00114]  コンテンツ・コンシューマーは、例えば、ポインティング・デバイス７１０のような入力デバイスを使用して、タイル・オブジェクト１２６−１を選択することができる。計算デバイス５１０−２のために実装されたモンタージュ・アプリケーション１４０のプレゼンテーション・コンポーネント１３０および／またはモンタージュ・ビューアー７３０は、タイル・オブジェクト１２６−１を選択する制御指令を受け、リモート・データーストア２１２から、タイル・オブジェクト１２６−１のコンテンツ・ファイル１０４−１を引き出す。
【００９４】
[00115]  図７Ｄは、一旦モンタージュ１２０から送り出されたコンテンツ・ファイル１０４−１のユーザー・インターフェース・ビュー７６０の一実施形態を示す。プレゼンテーション・コンポーネント１３０および／またはモンタージュ・ビューアー７３０は、リモート・データーストア２１２から引き出されたコンテンツ・ファイル１０４−１の最大忠実度バージョンを、ユーザー・インターフェース・ビュー７６０に提示することができる。あるいは、コンテンツ・ファイル１０４−１は、コンテンツ・ファイル１０４−１を生成するために使用されたプログラムと同様のネーティブ・アプリケーション・プログラム、またはこのようなアプリケーション・プログラムのために特定的に設計されたビューアーを使用してレンダリングされるのでもよい。実施形態は、このコンテキストにおいて限定されない。
【００９５】
[00116]  種々の実施形態において、プレゼンテーション・コンポーネント１３０は、異なるサイズ、解像度、リフレッシュ・レート、バックライト機能、電力消費等というような、異なるプロパティを有するディスプレイ上で見るために、モンタージュ１２０を動的に生成することができる。このような場合、プレゼンテーション・コンポーネント１３０は、ディスプレイの表示プロパティを検出し、このディスプレイ上での提示のためにモンタージュ１２０を変更するように構成することができる。例えば、プレゼンテーション・コンポーネント１３０は、多くの会議室において見られるような、タッチ制御手段を有する大型壁面ディスプレイ上に提示するときには、プレゼンテーション・タイル１２４−ａおよびタイル・オブジェクト１２６−ｅの個数を増やして、遙かに大きなバージョンのモンタージュ１２０を生成することができる。その一方、プレゼンテーション・コンポーネント１３０は、小型電話機上に提示するときには、プレゼンテーション・タイル１２４−ａおよびタイル・オブジェクト１２６−ｅの個数を減らして、もっと小さいバージョンのモンタージュ１２０を生成することもできる。同様に、プレゼンテーション・コンポーネント１３０は、所与のディスプレイの画面解像度または画素サイズに基づいて、異なるレベルの忠実度でモンタージュ１２０を生成することもできる。他の例では、プレゼンテーション・コンポーネント１３０は、縦型モードでは、あるバージョンのモンタージュ１２０を生成し、ユーザーがスマート・フォンまたはタブレットを回転させるときというような、パノラマ・モードでは、他のバージョンのモンタージュ１２０を生成することもできる。実施形態は、このコンテキストにおいて限定されない。
【００９６】
[00117]  以上で説明した実施形態の動作について、１つ以上の論理フローを参照しながら更に説明することができる。尚、代表的な論理フローは、別段指示がなければ、提示される順序、または任意の特定順序で必ずしも実行される必要はないことは認めることができよう。更に、論理フローに関して説明される種々の動作(activities)は、直列または並列に実行することができる。論理フローは、所与の１組の設計および性能の制約に対して望まれるように、説明した実施形態の１つ以上のハードウェア・エレメントおよび／またはソフトウェア・エレメント、あるいは代替エレメントを使用して実現することができる。例えば、論理フローは、論理デバイス（例えば、汎用または特殊目的コンピューター）による実行のために、ロジック（例えば、コンピューター・プログラム命令）として実現することができる。
【００９７】
[00118]  図８は、論理フロー８００の一実施形態を示す。論理フロー８００は、モンタージュ・アプリケーション１４０のオーサリング・コンポーネント１１０のような、本明細書において説明した１つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
【００９８】
[00119]  図８に示す例示実施形態では、論理フロー８００は、ブロック８０２において、複数のプレゼンテーション・ファイルを有するプレゼンテーション表面を設けることができる。例えば、オーサリング・コンポーネント１１０が、複数のプレゼンテーション・タイル１２４−ａを有するプレゼンテーション表面１２２を、ユーザー・インターフェース５３８を介して設けることができる。プレゼンテーション表面１２２は、複数のモンタージュ・テンプレートから選択されるのでも、コンテンツ・プロデューサーによって個別設計されるのでもよい。
【００９９】
[00120]  論理フロー８００は、ブロック８０４において、コンテンツ・ファイルをプレゼンテーション・タイルと関連付ける制御指令を受けることができる。例えば、オーサリング・コンポーネント１１０が、コンテンツ・ファイル１０４−ｃをプレゼンテーション・タイル１２４−ａと関連付ける制御指令１０２−ｂを受けることができる。制御指令１０２−ｂは、コンテンツ・プロデューサーによるコマンドを表す入力デバイスからでもよい。
【０１００】
[00121]  論理フロー８００は、ブロック８０６において、コンテンツ・ファイルに対してコンテンツ・ファイル・タイプを特定することができる。例えば、オーサリング・コンポーネント１１０が、コンテンツ・ファイル１０４−ｃに対してコンテンツ・ファイル・タイプを特定することができる。この特定は、コンテンツ・ファイル１０４−ｃのファイル実行を検査することによって、コンテンツ・ファイル１０４−ｃについてのメタデーター、コンテンツ・ファイル１０４−ｃ内の情報の分析、コンテンツ・ファイル１０４−ｃを生成するために使用されたアプリケーション・プログラムについての情報等によって行うことができる。
【０１０１】
[00122]  論理フロー８００は、ブロック８０８において、コンテンツ・ファイル・タイプに基づいて、コンテンツ・ファイルからコンテンツの一部を引き出すことができる。例えば、オーサリング・コンポーネント１１０が、コンテンツ・ファイル・タイプに基づいてタイプ・モジュール２０２−ｇを選択し、この選択したタイプ・モジュール２０２−ｇを使用して、コンテンツ・ファイル１０４−ｃについて発見されたコンテンツ・ファイル・タイプに関連するタイプ定義２０４−ｈにしたがって、コンテンツ・ファイル１０４−ｃからしかるべきコンテンツ部分１０６−ｄを引き出すことができる。一実施形態では、コンテンツ・ファイル１０４−ｃがローカル・データーストア２１０に格納されていることもあり、ファイル・ナビゲーション・ツール３０４を使用してデーター・バスを介してコンテンツ部分１０６−ｄを引き出せばよい。一実施形態では、コンテンツ・ファイル１０４−ｃがリモート・データーストア２１２に格納されていることもあり、ファイル・ナビゲーション・ツール３０４を使用してネットワークを介してコンテンツ部分１０６−ｄを引き出すとよい。
【０１０２】
[00123]  論理フロー８００は、ブロック８１０において、このコンテンツ部分に基づいて、タイル・オブジェクトを生成することができる。例えば、オーサリング・コンポーネント１１０が、選択したタイプ・モジュール２０２−ｇを使用して、関連するタイプ定義２０４−ｈにしたがって、引き出されたコンテンツ部分１０６−ｄからタイル・オブジェクト１２６−ｅを生成することができる。タイル・オブジェクト１２６−ｅは、プレゼンテーション・タイル１２４−ａ内で提示することができる。タイル・オブジェクト１２６−ｅは、コンテンツ・コンシューマーがコンテンツ・ファイル１０４−ｃの最大忠実度ビューを見る方がよいか否か判断できるように、基礎のコンテンツ・ファイル１０４−ｃについて十分な情報を提示するように設計される。
【０１０３】
[00124]  論理フロー８００は、ブロック８１２において、プレゼンテーション表面およびタイル・オブジェクトをモンタージュとして格納することができる。例えば、オーサリング・コンポーネント１１０がプレゼンテーション表面１２２および任意のタイル・オブジェクト１２６−ｅをモンタージュ１２０として格納することができる。次いで、モンタージュ１２０を配布し、公開し、例えば、メッセージング・システム５００を使用して種々のコンテンツ・コンシューマーによって消費することができる。
【０１０４】
[00125]  図９は、論理フロー９００の一実施形態を示す。論理フロー９００は、モンタージュ・アプリケーション１４０のプレゼンテーション・コンポーネント１３０のような、本明細書において説明した１つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
【０１０５】
[00126]  図９に示す例示実施形態では、論理フロー９００は、ブロック９０２において、プレゼンテーション表面を含むモンタージュを、各々対応するコンテンツ・ファイルのタイル・オブジェクトを有する複数のプレゼンテーション・タイルによって生成することができる。例えば、プレゼンテーション・コンポーネント１３０が、プレゼンテーション表面１２２を含むモンタージュ１２０を、各々対応するコンテンツ・ファイル１０４−ｃのタイル・オブジェクト１２６−ｅを有する複数のプレゼンテーション・タイル１２４−ａによって生成することができる。
【０１０６】
[00127]  論理フロー９００は、ブロック９０４において、モンタージュおよびコンテンツ・ファイルをネットワーク・サービスに送ることができる。例えば、モンタージュ・アプリケーション１４０の公開コンポーネント５３２が、ネットワーク・サービス６５２を介してアクセス可能なリモート・データーストア２１２による格納のために、モンタージュ１２０および関連するコンテンツ・ファイル１０４−ｃをネットワーク・ストレージ・サーバー５５０に送ることができる。
【０１０７】
[00128]  論理フロー９００は、ブロック９０６において、モンタージュおよび各コンテンツ・ファイルに対する参照を受けることができる。例えば、公開コンポーネント５３２が、モンタージュ１２０および各コンテンツ・ファイル１０４−ｃへのリンク５１８−ｎを受けることができる。リンク５１８−ｎは、リモート・データーストア２１２に格納されているモンタージュ１２０および各コンテンツ・ファイル１０４−ｃのネットワーク・バージョンに対する参照またはポインターを含むことができる。
【０１０８】
[00129]  論理フロー９００は、ブロック９０８において、コンテンツ・ファイルに対する参照を、対応するタイル・オブジェクトと関連付けることができる。例えば、公開コンポーネント５３２が、受けたリンク５１８−ｎをオーサリング・コンポーネント１１０に渡すことができる。オーサリング・コンポーネント１１０は、コンテンツ・ファイル１０４−ｃに対するリンク５１８−ｎを、対応するタイル・オブジェクト１２６−ｅと関連付けることができる。コンテンツ・コンシューマーがタイル・オブジェクト１２６−ｅを選択すると、プレゼンテーション・コンポーネント１３０は、関連するリンク５１８−ｎを介して、オブジェクト１２６−ｅに関連するコンテンツ・ファイル１０４−ｃを引き出すことができる。
【０１０９】
[00130]  図１０は、モンタージュ・アプリケーション１０００の一実施形態を示す。モンタージュ・アプリケーション１０００は、モンタージュ・アプリケーション１４０の代表例とすることができる。モンタージュ・アプリケーション１４０に関して先に説明した機能の一部または全部に加えて、モンタージュ・アプリケーション１０００は、本明細書において説明した機能を設けるために１つ以上のコンポーネントまたはモジュールを含むことができる。一実施形態では、例えば、モンタージュ・アプリケーション１０００は、プレゼンテーション・コンポーネント１０１０およびオーサリング・コンポーネント１０２０を含むことができる。これらは、それぞれ、プレゼンテーション・コンポーネント３５２およびオーサリング・コンポーネント１１０の代表例とすることができる。実施形態は、図１０に示すコンポーネントのタイプにも、個数にも、そして配置にも限定されない。
【０１１０】
[00131]  背景として、モンタージュは、例えば、モンタージュ・ファイルにおいてモンタージュ設計者によって指定される、元のレイアウトを有することができる。モンタージュは、１つ以上の順序付けられたタイルを含むことができる。各タイルのサイズは、定められている。順序付けは、例えば、モンタージュにおいてタイルが作られた順序、モンタージュにおいてタイルが置かれた順序、またはモンタージュ内の位置にしたがってオーサリング・コンポーネント１０２０によって指定された順序を反映することができる。プレゼンテーション表面は、様々なディメンション(dimension)を含み、例えば、パンニング方向よって定められるディメンション、例えば、水平、およびパンニング方向に対して垂直なディメンション、例えば、垂直を含むことができる。一実施形態では、パンニング方向に対して垂直なディメンションは、サイズが固定されてもよく、パンニングできなくてもよい。パンニング方向に垂直なディメンションは、本明細書では、「固定ディメンション」(fixed dimension)と呼ぶこともできる。二次元では、プレゼンテーション表面は、列および行の格子で構成することができる。格子上におけるモンタージュ・タイルの位置が定められる。モンタージュ・タイルは、その順序付けにおいて直前のタイルに対して空間的特性を有することができる。二次元システムでは、例えば、第１方向、第２方向、および第３方向があればよい。例えば、水平パンニング方向のモンタージュでは、あるタイルが直前のタイルの下にある場合、直前のタイルに対して第１方向の「下」空間特性を有することができる。他の空間特性には、タイルがその直前のタイルの右側にあるときに第２方向の「右」、およびタイルがその直前のタイルの右上にあるときに第３方向の「右上」を含むことができる。実施形態は、この例に限定されるのではない。
【０１１１】
[00132]  プレゼンテーション・コンポーネント１０１０は、プレゼンテーション表面上に表示するモンタージュを受けることができる。プレゼンテーション・コンポーネント１０１０は、このモンタージュが、その元のレイアウトで、固定ディメンションにおいて利用可能なディスプレイに収まるか否か判断することができる。モンタージュが収まらないとき、プレゼンテーション・コンポーネント１０１０は、タイルをスケーリングし(scale)、タイルの空間特性を互いに対して保存するように、タイルを利用可能なディスプレイ上で位置決めし直すことができ、あるいはスケーリングおよび位置決めし直しの何らかの組み合わせを実行することができる。
【０１１２】
[00133]  プレゼンテーション・コンポーネント１０１０は、それ自体が、以上で説明した機能を設けるために１つ以上のコンポーネントまたはモジュールを含むことができる。一実施形態では、例えば、プレゼンテーション・コンポーネント１０１０は、タイル・リフロー・モジュール１０１２およびタイル・バランシング・モジュール１０１４を含むことができる。また、プレゼンテーション・コンポーネント１０１０は、プレゼンテーション表面仕様(specification)１０１６も含むことができる。プレゼンテーション表面コンポーネント１０１６は、プレゼンテーション表面、例えば、プレゼンテーション表面１２２のディメンション(dimensions)を含むことができる。プレゼンテーション表面仕様１０１６は、モンタージュのために元のレイアウトを設計するときに使用されるプレゼンテーション表面のディメンションを含むことができる。プレゼンテーション表面仕様１０１６は、更に、または代わりに、モンタージュが表示されようとする、プレゼンテーション表面のディメンションを含むこともできる。このプレゼンテーション表面は、元のプレゼンテーション表面とは異なってもよい
[00134]  モンタージュ・タイルを位置決めし直す必要があるとき、つまり、ここでは「リフロー」とも呼ばれる動作が行われるとき、リフロー・モジュール１０１２がモンタージュにおけるタイルの空間特性を判定することができる。タイル・リフロー・モジュール１０１２は、タイルが固定ディメンション内に収まるように、タイルを分散し直しつつ、可能な限り、タイルの空間特性を保存することができる。したがって、リフローは、１つのディメンションにおけるパンニングを保存することができる。例えば、「下」タイルがその直前のタイルの下に収まることができない場合、タイル・リフロー・モジュール１０１２はこのタイルを、直前のタイルの右側にあり次に利用可能な列の最上位に動かすことができる。他の例についても、図１６に関して更に説明する。
【０１１３】
[00135]  一旦タイルの全てがリフローされたなら、バランシング・モジュール(balancing module)１０１４が空白の列または行を除去し、タイルの上下にある空白空間を均衡させるために、タイルを固定ディメンション内で再分散することができる。
【０１１４】
[00136]  オーサリング・コンポーネント１０２０は、以前に説明した他の機能に加えて、除去リフロー・モジュール(removal reflow module)１０２２も含む。除去リフロー・モジュール１０２２は、１つ以上のタイルが追加または削除されるときに、モンタージュにおいてタイルを自動的に位置決めし直す。リフロー動作は、モンタージュにおけるプレゼンテーション表面上の未使用空間を最小限にすることができる。除去リフロー・モジュール１０２２は、残っているタイルを、削除されたタイルによって残された空白空間内に「押し込み」つつ、残っているタイルの空間特性を保存することができる。除去リフロー動作の一例について、図１９に関して以下で説明する。
【０１１５】
[00137]  図１１は、元のモンタージュ１１１０があるプレゼンテーション表面１１０２の例１１００を示す。プレゼンテーション表面１０２は、ビュー・ポート１１０４を含むことができる。ビュー・ポート１１０４は、モンタージュが提示されるユーザー・インターフェース・ウィンドウまたはディスプレイの寸法に対応する。また、プレゼンテーション表面１１０２はパンニング方向１１０６も有する。本明細書において図示および説明する例は、水平パンニング方向および垂直固定ディメンションを使用するが、説明する動作は、垂直パンニング方向および水平固定ディメンションを有するプレゼンテーション表面にも同様に応用することができる。プレゼンテーション表面１１０２は、７つの格子ブロックの固定ディメンションと、１２個の格子ブロックのパンニング方向ディメンションとを有する。プレゼンテーション表面１１０２は、例えば、その周囲に未使用ブロックの「ガッター」(gutter)を含み、ユーザーが不用意にプレゼンテーション・タイルを選択することなくパンニングするために、タッチ・インターフェース上にパンニング領域を設けることができる。
【０１１６】
[00138]  モンタージュ１１１０は、１０個のプレゼンテーション・タイル１１１０−１〜１１１０−１０を含むことができ、ここでは、簡潔にするために、タイル１〜１０と呼ぶ。タイル１〜１０は、以下の空間特性を有する。
【０１１７】
[00139]  タイル１は、最初のタイルであり、プレゼンテーション表面の原点に位置付けられる。プレゼンテーション表面１１０２の原点は左上にあるが、他のプレゼンテーション表面は他の角に原点を有してもよい。タイル１は空間特性を有さない。
【０１１８】
[00140]  タイル２は、タイル１から「下」にある。
[00141]  タイル３は、タイル２から「下」にある。
[00142]  タイル４は、タイル３から「下」にある。
【０１１９】
[00143]  タイル５は、タイル４から「右上」にある。
[00144]  タイル６は、タイル５から「下」にある。
[00145]  タイル７は、タイル６から「右」にある。
【０１２０】
[00146]  タイル８は、タイル７から「右上」にある。
[00147]  タイル９は、タイル８から「下」にある。
[00148]  タイル１０は、タイル９から「下」にある。
【０１２１】
[00149]  一実施形態では、空間特性「右」および「右上」は、タイルの最も左側（先端）にあるエッジが、直前のタイルの先端エッジから、格子ブロックいくつ分だけ右にあるかを示すオフセットを含むことができる。例えば、タイル５は、タイル４から２格子ブロックずれており、タイル７はタイル６から２つずれており、タイル８はタイル７から２つずれている。
【０１２２】
[00150]  図１２は、プレゼンテーション表面１１０２とは異なるディメンションを有するプレゼンテーション表面１２０２の例１２００を示す。具体的には、プレゼンテーション表面１２０２は、６格子ブロックの固定ディメンションを有する。プレゼンテーション表面１２０２は、ビュー・ポート１２０４を有する。ビュー・ポート１２０４は、プレゼンテーション表面１２０２の固定ディメンションを反映する。例１２００は、モンタージュ１１１０がプレゼンテーション表面１２０２上においてその元のレイアウトに表示されたとすると何が起こり得たかを示す。タイル３、４、および１０の下半分が切断されて、見えなくなる。これは、望ましくない結果になり得る。実施形態の中には、プレゼンテーション・コンポーネント１０１０が、タイルをスケーリングして、もっと狭いプレゼンテーション表面内に収めることができるとよい場合がある。しかしながら、場合によっては、はめ込むためにタイルをスケーリングすると、テキストや画像が読んだり見たりするには小さすぎるという結果になることもある。これらの場合、タイルをリフローすることが望ましいであろう。
【０１２３】
[00151]  図１３は、例えば、タイル・リフロー・モジュール１０１２によって、モンタージュ１１１０がリフローされた後におけるプレゼンテーション表面１３０２の例１３００を示す。プレゼンテーション表面１３０２は、６格子ブロックの固定ディメンションを有する。プレゼンテーション表面１３０２は、プレゼンテーション表面１３０２の固定ディメンションを反映するビュー・ポート１３０４を有する。リフローを実行する方法例を図１６において説明する。
【０１２４】
[00152]  要約すると、タイル２はタイル１から下にあり、タイル１の下にある空間に収まる。タイル３はタイル２から下にあるが、収まらない。したがって、タイル３は、タイル２の右にある次に利用可能な空間に置かれる。タイル２はタイル１の右側にある。タイル４は、タイル３から右にあり、タイル３の右側に置かれる。タイル５は、タイル４から右上にあり、２つずれる。タイル５を、タイル４の先端エッジと整列させて、そのオフセットだけ右に動かすと、この位置ではタイル５がタイル４とオーバーラップするので、タイル５はタイル４の下に動かされる。タイル６は、タイル５から下にあるが、下に収まらない。したがって、タイル６は、タイル５の右側において次に利用可能な空間に置かれる。この空間は、タイル４の右隣りになる。タイル７は、タイル６から右にあり、タイル６の右側に置かれる。タイル８は、タイル７から右上にあり、２つずれる。タイル８は、タイル７の先端エッジと整列され(align)、そこから右に動かされる。タイル８は、その位置ではタイル７とオーバーラップせず、そこに置かれる。タイル９は、タイル８から下にあり、タイル８の下に収まり、そこに置かれる。タイル１０は、タイル９から下にあるが、収まらないので、したがって、タイル９の右側にある次に利用可能な空間に置かれる。タイル９は、タイル８の右隣りにある。一実施形態では、パンニング方向に関係する空間特性を保存することは、固定ディメンションにおけるパッキング(packing)に優先するとよい。したがって、例１３００は、黒空間を最小限に抑えるために、垂直ディメンションでは密にパッキングされず、代わりに、「右」および「右上」空間特性をできるだけ多く保存する。
【０１２５】
[00153]  図１４Ａは、例えば、バランシング・モジュール１０１４によってプレゼンテーション表面１３０２上でバランスされるプロセスにおいてリフローされたモンタージュ１１１０の一例を示す。タイル・バランシング・モジュール１０１４は、リフローによって生じた６番目（最下位）の空行を除去し、最上位および最下位の水平ガッターを調節し終えている。タイル・バランシング・モジュール１０１４は、タイルの連続ブロックを特定することができる。タイルの連続ブロックは、第１水平座標に先端エッジを有する第１タイルと、第１水平座標または第１タイルが占める水平座標内にある水平座標に先端エッジを有する第２タイルの全てと、ブロックに以前に追加されたタイルの水平座標内に先端エッジを有する任意の第３タイルとを含むことができる。
【０１２６】
[00154]  例えば、連続ブロック１４０２は、水平座標０に先端エッジを有するタイル１から形成される。タイル２は、同じ座標において先端エッジを有し、ブロック１４０２に含まれる。タイル１および２の範囲には他のタイルは存在しない。ブロック１４０４は、水平座標４において先端エッジを有するタイル３から形成される。タイル３の範囲には他のタイルは存在しない。
【０１２７】
[00155]  ブロック１４０６は、水平座標６を有するタイル４から形成される。尚、タイル４は、座標６から１０までに及ぶことを注記しておく。タイル５はタイル４の下にあり、８において先端エッジを有する。これは、タイル４の範囲内である。タイル５は、座標８から１２の範囲を取る。タイル６は、１０において先端エッジを有する。これは、タイル４の範囲を超えるが、タイル４およびタイル５のブロック内にあり、このブロックに含まれる。タイル４、５、および６の水平範囲内には、他のタイルは存在しない。
【０１２８】
[00156]  ブロック１４０８は、ブロック１４０４と同様、タイル７から形成される。
[00157]  ブロック１４１０は、タイル８および９から形成され、座標１３において先端エッジを有し、集合的に座標１３から１８までに及ぶ。タイル１０は、１６において先端エッジを有する。これは、１３から１８までの範囲内にあり、このブロックに追加される。
【０１２９】
[00158]  図１４Ｂは、例えば、タイル・バランシング・モジュール１０１４によってプレゼンテーション表面１３０２上でバランスされた後における、リフローされたモンタージュ１１１０の一例を示す。タイル・バランシング・モジュール１０１４は、各連続ブロック、例えば、ブロック１４０２、１４０４、１４０６、１４０８、および１４１０を検査し、これらのブロックの内いずれかが、固定ディメンションにおける一方側に、他方側よりも多くの白色空間を有するか否かチェックし終えている。例えば、ブロック１４０４は、タイル３の下に、３行の空白空間を有する。バランスされていない白色空間が特定されると、バランシング・モジュールは、タイルの連続するブロックを、固定ディメンションにおいて、可能な限り中心に位置するように動かすことによって、この白色空間をバランスさせることができる。偶数の白色空間または空白行がある場合、このグループの上下に等しい数の行ができるように、このグループを動かすことができる。奇数の空白行がある場合、上の行の数と下の行の数の差が１つになるように、このグループを動かすことができる。ブロック１４０４、即ち、タイル３は、その上に１つの行、その下に２つの行を有することによって、中心に置かれる。一実施形態では、タイルが格子ブロックの端数上に置かれてもよい場合、固定ディメンションにおいて、グループの上にある空白空間を、このグループの下にある空白空間と等しくすることによって、このグループを中心に置くことができる。
【０１３０】
[00159]  図１５は、モンタージュをリフローする論理フロー１５００の一実施形態を示す。論理フロー１５００は、モンタージュ・アプリケーション１４０、１０００のプレゼンテーション・コンポーネント５３２、１０１０のような、本明細書において説明した１つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
【０１３１】
[00160]  図１５に示す例示実施形態では、論理フロー１５００は、ブロック１５０２において、プレゼンテーション表面上に表示するモンタージュを受けることができる。例えば、モンタージュ・アプリケーション１４０は、ローカル・ストレージからまたはネットワーク・ストレージ・サーバーから計算デバイスにおいてモンタージュを受けることができる。このモンタージュは、複数のプレゼンテーション・タイルおよび基準レイアウトを含むことができる。プレゼンテーション表面は、格子、パンニング方向、および固定ディメンションを含むことができる。
【０１３２】
[00161]  論理フロー１５００は、ブロック１５０４において、プレゼンテーション表面の固定ディメンションが、基準レイアウトの固定ディメンションよりも小さいか否か判定することができる。たとえば、プレゼンテーション・コンポーネント１０１０は、プレゼンテーション表面の固定ディメンションにおける格子ブロックの数を、基準レイアウトの固定ディメンションにおける格子ブロックの数と比較することができる。
【０１３３】
[00162]  ブロック１５０４において、プレゼンテーション表面の固定ディメンションの方が小さくない場合、ブロック１５０８において基準レイアウトを使用してモンタージュをその元の形態で表示することができる。
【０１３４】
[00163]  一実施形態（図示せず）では、プレゼンテーション表面の固定ディメンションの方が小さい場合、モンタージュが収まるようにスケーリングすることもできる。例えば、タイルおよびプレゼンテーション表面を元のモンタージュの閾値割合、例えば、９０％より小さくならないように縮小する(scale down)することができる場合、リフローを必要とせず、このスケーリングで十分であろう。スケーリングのみで十分か否かに影響を及ぼす可能性がある他の要因には、例えば、閾値にしたがって、スケーリングされたタイルが小さすぎないこと、あるいはタイル上のテキストが引き続きタイル内に収まることおよび／または小さすぎないことが含まれるとよい。
【０１３５】
[00164]  ブロック１５０４においてプレゼンテーション表面の固定ディメンションの方が小さい場合（そして、スケーリングが容認可能な選択肢でない場合）、論理フロー１５００は、ブロック１５０６において、タイルの互いに対する空間特徴付け(characterization)を保存しつつ、格子上におけるタイルの位置を変更することができる。ブロック１５０６の動作の一例を、図１６および図１７において説明する。
【０１３６】
[00165]  次いで、論理フロー１５００は、ブロック１５０８においてモンタージュを表示することができる。ブロック１５０６においてモンタージュがリフローされた場合、表示は、このモンタージュのリフローされたレイアウトを使用する。
【０１３７】
[00166]  図１６は、モンタージュをリフローするときにタイル配置を決定する論理フロー１６００の一実施形態を示す。論理フロー１６００は、プレゼンテーション・コンポーネント１０１０のタイル・リフロー・モジュール１０１２のような、本明細書において説明した１つ以上の実施形態によって実行される動作の一部または全部を表すことができる。論理フロー１６００は、論理フロー１５００からのブロック１５０６の動作の一部または全部を表すことができる。論理フロー１６００は、図１１および図１３における例に関して例示の目的に限って説明することができるが、これらの例によって限定されるのではない。以下の説明において、固定垂直ディメンションおよび水平パンニング方向を仮定する。しかしながら、論理フローは、固定水平ディメンションおよび垂直パンニング方向についても同様に実行することができる。
【０１３８】
[00167]  図１６に示す例示実施形態では、論理フロー１６００は、ブロック１６０２において格子ディメンションを更新することができる。例えば、プレゼンテーション・コンポーネント１０１０が、論理フロー１５００のブロック１５０４において行われた決定から、プレゼンテーション表面の固定ディメンションを更新することができる。図１１および図１３の例を参照すると、固定ディメンションを７行から６行に更新することができる。
【０１３９】
[00168]  論理フロー１６００は、ブロック１６０４において、プレゼンテーション表面上において第１タイルを選択し、それを左上角の位置に置くことができる。例えば、タイル１が、格子ブロック内において列０行０にその左上角が来るように置かれる。
【０１４０】
[00169]  ブロック１６０６において、論理フロー１６００は、追加の置くタイルがあるか否か判定することができる。これ以上置くタイルがない場合、論理フロー１６００はブロック１６２６において図１７のブロック１７０２に進むことができる。そうでない場合、論理フロー１６００は終了することができる。
【０１４１】
[00170]  追加の置くタイルがある場合、論理フロー１６００は、ブロック１６０８において、次のタイルを選択し、直前のタイルに対する空間特徴付けを判定することができる。例えば、タイル・リフロー・モジュール１０１２は、次に順序付けられたタイル、例えば、タイル２を選択し、タイル１に対するその空間特徴付け、例えば、モンタージュにおける基準レイアウトから「下」を参照することができる。
【０１４２】
[00171]  空間特徴付けに依存して、判断ブロック１６１０から異なる配置規則に従うこともできる。
[00172]  空間特徴付けが「右」である場合、論理フロー１６００はブロック１６１２においてタイルを直前のタイルに隣接して右側に置くことができる。
【０１４３】
[00173]  空間特徴付けが「下」である場合、論理フロー１６００は、ブロック１６１４において、直前のタイルの下に、現在のタイルを置くだけの十分な余裕があるか否か判定することができる。例えば、タイル・リフロー・モジュール１０１２は、タイルの垂直ディメンションを、直前のタイルの底辺エッジの下にある空白行の数と比較することができる。タイルの垂直ディメンションが利用可能な行の数を超過するとき、論理フロー１６００は、ブロック１６１６において、最上位行における直前のタイルの右側にある、最初の利用可能な列にタイルを置くことができる。例えば、タイルの先端（左）エッジをこの列に置いて、左上角を最上位行に置くことができる。このコンテキストにおける「利用可能」という用語は、その中にタイルを有しておらず、タイルを収容するだけの十分な隣接する空の列（または行）がある列（または行）のことを言う。
【０１４４】
[00174]  直前のタイルの下に余裕があるとき、論理フロー１６００は、ブロック１６１８において、直前のタイルの下にタイルを置くことができる。論理フロー１６００に限って言えば、「下」のタイルはゼロのオフセットを有する。一実施形態では、直前および現在のタイルの先端エッジが整列されるとよい。上の例から、タイル２は、３の垂直ディメンションを有し、タイル１はその下に４つの空の行を有する。したがって、タイル２は、タイル１から「下」にあり、図１３に見られるように、タイル１の下に置くことができる。
【０１４５】
[00175]  空間特徴付けが「右上」である場合、論理フロー１６００は最初に、ブロック１６２０において、直前のタイルの先端エッジからそのオフセット量だけ右に向けてタイルを動かすことができる。一実施形態では、このタイルおよび直前のタイルがその上側エッジ上で整列されればよい。ブロック１６２２において、これらのタイルがこの位置でオーバーラップしない場合、論理フロー１６００はこのタイルを置くことができる。
【０１４６】
[00176]  ブロック１６２２において、これらのタイルがオーバーラップする場合、論理フロー１６００は、ブロック１６１４において、直前のタイルの下に余裕があるか否か判定することができる。余裕がある場合、ブロック１６１８において、オフセット位置にその先端エッジが来るように、論理フロー１６００は直前のタイルの下にこのタイルを置くことができる。
【０１４７】
[00177]  ブロック１６１４において、直前のタイルの下に余裕がない場合、論理フロー１６００はブロック１６１６において、直前のタイルの右側にある最初に利用可能な列にこのタイルを置くことができる。
【０１４８】
[00178]  論理フロー１６００は、タイルの全てがリフローされ終えるまで、繰り返す。
[00179]  これより、図１１および図１３に関して、タイル１および２が図１３において置かれる時点から開始するいくつかの代表的例を示す。
【０１４９】
[00180]  タイル３は、タイル２から「下」にあるので、論理フロー１６００は、ブロック１６１４において、タイル２の下にはタイル３を置く余裕がないと判定する。タイル３は、タイル２の右側において次に利用可能な列の最上位、たとえば、タイル１の隣りに置かれる。
【０１５０】
[00181]  タイル４は、タイル３から「右」にあるので、論理フロー１６００は、ブロック１６１２において、タイル４をタイル３に隣接してその右側に置く。
[00182]  タイル５は、タイル４から「右上」にあり、２のオフセットがある。論理フロー１６００は、ブロック１６２０において、タイル４の先端エッジの右側にタイル５を２列だけ動かす。ブロック１６２２において、論理フロー１６００は、タイル５がタイル４とオーバーラップすると判定する。次いで、論理フロー１６００は、ブロック１６１４において、タイル４の下に余裕があると判定し、ブロック１６１８において、タイル４の下に、そしてタイル４の先端エッジよりも２列右側にタイル５を置く。
【０１５１】
[00183]  タイル６は、タイル５から「下」にあるので、論理フロー１６００は、ブロック１６１４において、タイル５の下には余裕がないと判定し、ブロック１６１６において、タイル５の右側に次に利用可能な列の最上位に、例えば、タイル４の隣りに、タイル６を置く。
【０１５２】
[00184]  タイル７は、タイル６から「右」にあるので、論理フロー１６００は、ブロック１６１２において、タイル７をタイル６に隣接してその右側に置く。
[00185]  タイル８は、タイル７から「右上」にあり、２のオフセットがある。論理フロー１６００は、ブロック１６２０において、タイル７の先端エッジよりも２列右にタイル８を動かす。ブロック１６２２において、論理フロー１６００は、タイル８はタイル７とオーバーラップしないと判定し、ブロック１６２４において、タイル７の隣りにタイル８を置く。
【０１５３】
[00186]  タイル９および１０は、それぞれ、タイル２および３と同様に置かれる。
[00187]  論理フロー１６００は、リフロー配置技法の一実施形態である。実施形態の主旨から逸脱することなく、他の技法も採用することができる。例えば、異なる空間特徴付け定義を使用してもよく、または同じ空間特徴付け定義に異なる位置決め規則を採用してもよい。
【０１５４】
[00188]  図１７は、モンタージュをバランスする論理フロー１７００の一実施形態を示す。論理フロー１７００は、プレゼンテーション・コンポーネント１０１０のタイル・バランシング・モジュール１０１４のような、本明細書において説明した１つ以上の実施形態によって実行される動作の一部または全部を表すことができる。論理フロー１７００は、論理フロー１５００からのブロック１５０６の動作の一部または全部を表すことができる。論理フロー１７００は、例示の目的に限って、図１４Ａおよび図１４Ｂにおける例に関して説明することができるが、これらの例によって限定されるのではない。以下の説明では、固定垂直ディメンションおよび水平パンニング方向を仮定する。しかしながら、論理フロー１７００は、固定水平ディメンションおよび垂直パンニング方向についても同様に実行することができる。
【０１５５】
[00189]  図１７に示す例示実施形態では、論理フロー１７００は、ブロック１７０２においてあらゆる空の行および列を除去することができる。例えば、タイル・バランシング・モジュール１０１４が、図１３に示すように、タイル２、５、および９の下にある行を除去することができる。一実施形態では、残っているタイルの上下においてガッターを調節することもできる。プレゼンテーション表面１３０２をビュー・ポート１３０４に関してシフトさせてもよく、その結果図１４Ａのようになる。
【０１５６】
[00190]  論理フロー１７００は、ブロック１７０４において、タイルの連続グループを特定することができる。タイルの連続ブロックは、第１水平座標において先端エッジを有する第１タイルと、第１水平座標または第１タイルの範囲に含まれる水平座標内にある水平座標において先端エッジを有する第２タイルの全てと、ブロックに以前に追加されたタイルの水平座標内に先端エッジを有する任意のタイルを含む。図１４Ａにおいて、タイル１および２は、タイルの連続グループを形成する。何故なら、これらはその先端エッジに対して同じ水平座標を有するからである。タイル１および／または２の水平範囲内には、他のタイルはない。
【０１５７】
[00191]  論理フロー１７００は、グループがパンニング方向に対して垂直に、例えば、固定ディメンションにおいて中央に位置付けられているか否か判定することができる。このコンテキストでは、「中央に位置付けられる」とは、当該グループの上下に等しい数の格子ブロックを有するタイルを含むことができる。また、「中央に位置付けられる」は、グループの上にある格子ブロックの数が、グループの下にある格子ブロックの数とは１つだけ異なる場合のタイルも含むことができる。例えば、格子ブロックの３つの空白行がある場合、グループが上に１つの行を有し、下に２つの行を有する場合、このグループは中央に位置付けられると言える。図１４Ａにおいて、空の行がないので、グループ１４０２は既に中央に位置付けられている。
【０１５８】
[00192]  論理フロー１７００は、ブロック１７１０内に他のもタイルがあるか否かチェックすることができ、ある場合、ブロック１７０４において、連続タイルの他のグループを特定することができる。
【０１５９】
[00193]  タイルのグループが中央に位置付けられていない場合、ブロック１７０６にいて、論理フロー１７００は固定ディメンションにおいてこのグループを中央に位置付けることができる。例えば、タイル・バランシング・モジュール１０１４が、図１４Ａにおいてタイル３から成るグループ１４０４を特定することができる。タイル３は、その上に行を有しておらず、その下に３つの行を有するので、中央に位置付けられていない。タイル・バランシング・モジュール１０１４は、図１４Ｂに示すように、タイル３を下に１行または２行動かして、それを中央に位置付けることができる。
【０１６０】
[00194]  バランスを取り直すタイルが他にはない場合、論理フロー１７００はブロック１７１２において終了する。
[00195]  図１８Ａは、タイル１が削除されたときのモンタージュ１１１０の一例を示す。図１８Ｂは、タイル除去後にリフローされたモンタージュ１１１０の一例を示す。図１８Ａおよび図１８Ｂについて、図１９における論理フロー１９００に関連付けて説明する。
【０１６１】
[00196]  図１９は、タイルが除去された後にモンタージュをリフローする論理フロー１９００の一実施形態を示す。論理フロー１９００は、プレゼンテーション・コンポーネント１０１０の除去リフロー・モジュール１０２２のような、本明細書において説明した１つ以上の実施形態によって実行される動作の一部または全部を表すことができる。論理フロー１７００は、例示の目的に限って、図１８Ａおよび図１８Ｂにおける例に関して説明することができるが、これらの例に限定されるのではない。以下の説明では、固定垂直ディメンションおよび水平パンニング方向を仮定する。しかしながら、論理フロー１９００は、固定水平ディメンションおよび垂直パンニング方向についても同様に実行することができる。論理フロー１９００は、モンタージュにプレゼンテーション・タイルを追加して空白空間ができた場合にも同様に実行することができ、リフロー動作によって空白空間を最小限にすることができる。
【０１６２】
[00197]  図１９に示す例示実施形態では、論理フロー１９００は、ブロック１９０２においてモンタージュからタイルを削除することができる。例えば、オーサリング・コンポーネント１０２０が、モンタージュ１１１０からタイル１を削除する削除コマンドをユーザーから受けることができ、そのタイルを除去することができ、モンタージュ内に空白空間が残る。
【０１６３】
[00198]  論理フロー１９００は、ブロック１９０４において、削除されたタイルの幅にしたがって第１チャネル幅を指定することができる。例えば、除去リフロー・モジュール１０２２が、削除されたタイルの先端エッジの水平座標と、削除されたタイルの後端（右）エッジの水平座標との間にあるチャネル１８０２を指定することができる。
【０１６４】
[00199]  論理フロー１９００は、ブロック１９０６において、後端エッジが発見されるまで、このチャネルの右エッジから掃引することができる。例えば、除去リフロー・モジュール１０２２が、後端エッジが発見されるまで、第１チャネルの右エッジから右に向かって掃引することができる。一実施形態では、この掃引は、図１７においてブロック１７０４について説明したタイルの連続ブロックの特定と同様に行うことができ、この掃引は、連続グループにおけるタイルの右端の後端エッジにおいて終了する。図１８Ａにおいて、この次に発見される後端エッジは、タイル５および７の後端エッジを含む。
【０１６５】
[00200]  論理フロー１９００は、ブロック１９０８において、掃引において発見されたタイルの最大幅から、次のチャネルの幅を指定することができる。例えば、チャネル１８０４は、チャネル１８０２の右エッジ、およびタイル５の後端エッジによって定めることができる。チャネル１８０４におけるタイルの最大幅は、タイル５の水平ディメンションであり、これは、タイル６および７の水平ディメンションを組み合わせたものに対応する。
【０１６６】
[00201]  論理フロー１９００は、ブロック１９１０において、丁度定められたチャネルの右に追加のタイルがあるか否か判定することができる。図１８Ａでは、追加のタイルがあり、ブロック１９０６および１９０８が、チャネル１８０６を定めるために繰り返される。チャネル１８０６は、タイル８、９、および１０の最大幅によって定められる幅を有する。
【０１６７】
[00202]  一旦右側にタイルがなくなったなら、ブロック１９１０において、論理フロー１９００はチャネル毎に左から右に「カレント」(current)を割り当てることができる。各チャネルにおけるカレントは、隣接するチャネルにおけるカレントとは逆方向になる。カレントは、固定ディメンションに沿って方位付けされるとよい。例えば、除去リフロー・モジュール１０２２が、矢印１８１０として示す「上」カレントをチャネル１８０２に割り当てることができる。チャネル１８０４には、「下」カレント１８１２を割り当てることができ、チャネル１８０６には「上」カレント１８１４を割り当てることができる。カレントは、リフロー・プロセスが行われるときに当該チャネルにおけるタイルが「フローする」方向を示すことができる。
【０１６８】
[00203]  次に、論理フロー１９００は、タイル毎に順番に（ブロック１９１４）、ブロック１９１６において、チャネル・カレントにおいてできるだけ遠くまでタイルを動かすことができる。例えば、除去リフロー・モジュール１０２２が、タイル２を「上」方向に動かし、タイル１によって既に占められている空白内に入れることができる。このコンテキストでは、「できるだけ遠く」は、タイルを収容することができるディメンションを有する「下流側」空白空間に、タイルを動かすことを意味することができる。尚、実施形態の中には、チャネル内の他のタイルを越してタイルを押すことができない場合もあることを注記しておく。
【０１６９】
[00204]  論理フロー１９００は、ブロック１９１８において、第１チャネルに向けて、パンニング方向においてできるだけ遠くまでタイルを動かすことができる。このコンテキストでは、パンニング方向は左から右に向かい、「できるだけ遠く」という句は、当該タイルを収容することができるディメンションを有する空白空間に、チャネルにおいて左に向かってタイルを動かすことを示すことができる。加えて、チャネルのエントリー・ポイントにおいて左側の隣接チャネルに十分な空白空間がある場合、この空間にタイルを動かすこともできる。「上」チャネルに対するエントリー・ポイントは、そのチャネルの底辺とすることができ、一方「下」チャネルに対するエントリー・ポイントは、チャネルの上辺とすることができる。図１８において、タイル２は既にパンニング方向にできるだけ遠くにあり、左側に隣接チャネルを有さない。
【０１７０】
[00205]  論理フロー１９００は、ブロック１９２０において、タイルを動かすことができる追加の空白空間があるか否か判定することができる。例えば、タイルが隣接チャネルのエントリー・ポイントまで動いた場合、論理フロー１９００は、タイルを動かすことができる下流空白空間があるか否か判定することができる。
【０１７１】
[00206]  ブロック１９２０において、タイルを動かす余裕が他にない場合、論理フロー１９００は、次に順序付けられたタイルを選択することができ、ループ・エントリー１９１４に戻る。あるいは、タイルの全てを選択し終えた場合、論理フロー１９００は、ブロック１９２２において終了することができる。
【０１７２】
[00207]  図１８Ａおよび図１８Ｂに示す例の説明を続けると、一旦タイル２が動かされると、ブロック１９１４においてタイル３を選択する。この時点で、タイル３の上には３つの空白行があり、図１８Ｂに示すように、タイル３はチャネル・カレントにおいて上に、これらの空白行内に動かすことができる。タイル３は、既にパンニング方向にできるだけ遠くなっており、動かす追加の余裕はないので、論理フロー１９００はタイル４を選択する。
【０１７３】
[00208]  タイル４は、その上に２列分の空白空間を有するが、この空間はブロック１９１６においてタイル４を動かすには十分でない。しかしながら、この時点では、タイル４の左側に２つの列があり、ブロック１９１８において、タイル４をパンニング方向においてできるだけ遠くまで動かすことができ、タイル４をタイル３の直下に置く。
【０１７４】
[00209]  タイル５、６、および７は、これらを動かすことができる空白空間を全く有していないが、タイル４が動かされたとき、幅４列、高さ２行の空白空間が、タイル６および７の下に作られた。
【０１７５】
[00210]  タイル８は、チャネル１８０６においてチャネル方向にこれ以上動かすことができないが、ブロック１９１８において、タイル６および７の下にパンニング方向に動かすことができる。
【０１７６】
[00211]  タイル９は、チャネル１８０６において上に動くことができ、続いてタイル１０が上に動くことができ、この時点で、論理フロー１９００は終了する。
[00212]  タイルが追加または削除されるときのタイルの自動リフローは、得られる空白空間に各タイルをユーザーが手作業で動かさなければならない場合の時間を節約することができる。
【０１７７】
[00213]  図２０は、既に説明した種々の実施形態を実現するのに適した計算アーキテクチャー例２０００の一実施形態を示す。計算アーキテクチャー２０００は、１つ以上のプロセッサー、コプロセッサー、メモリー・ユニット、チップセット、コントローラー、周辺機器、インターフェース、発振器、タイミング・デバイス、ビデオ・カード、オーディオ・カード、マルチメディア入力／出力（Ｉ／Ｏ）コンポーネント等のような、種々の共通する計算エレメントを含む。しかしながら、実施形態は、計算アーキテクチャー２０００による実現例に限定されるのではない。
【０１７８】
[00214]  図２０に示すように、計算アーキテクチャー２０００は、処理ユニット２００４、システム・メモリー２００６、およびシステム・バス２００８を含む。処理ユニット２００４は、種々の市販のプロセッサーの内任意のものにすることができる。デュアル・マイクロプロセッサーおよび他のマルチプロセッサー・アーキテクチャーも、処理ユニット２００４として採用することができる。システム・バス２００８は、システム・メモリー２００６から処理ユニット２００４までを含むがこれらに限定されないシステム・コンポーネントのためにインターフェースを設ける。システム・バス２００８は、様々なタイプのバス構造の内任意のものにすることができ、更に、種々の市販のバス・アーキテクチャーの内任意のものを使用して、メモリー・バス（メモリー・コントローラー付きまたはなし）、周辺バス、およびローカル・バスに相互接続することができる。
【０１７９】
[00215]  システム・メモリー２００６は、リード・オンリー・メモリー（ＲＯＭ）、ランダム・アクセス・メモリー（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、データー倍速ＤＲＡＭ（ＤＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュ・メモリー、強磁性ポリマー・メモリーのようなポリマー・メモリー、オボニック・メモリー、位相変化または強磁性メモリー、シリコン−酸化物−窒化物−酸化物−シリコン（ＳＯＮＯＳ）メモリー、磁気または光カード、あるいは情報を格納するのに適した任意の他のタイプの媒体というような、種々のタイプのメモリー・ユニットを含むことができる。図２０に示す例示実施形態では、システム・メモリー２００６は、不揮発性メモリー２０１０および／または揮発性メモリー２０１２を含むことができる。基本入力／出力システム（ＢＩＯＳ）は、不揮発性メモリー２０１０に格納することができる。
【０１８０】
[00216]  コンピューター２００２は、種々のタイプのコンピューター読み取り可能記憶媒体を含むことができ、内部ハード・ディスク・ドライブ（ＨＤＤ）２０１４、リムーバブル磁気ディスク２０１８から読み取るまたはこれに書き込むための磁気フロッピー・ディスク・ドライブ（ＦＤＤ）２０１６、およびリムーバブル光ディスク２０２２（例えば、ＣＤ−ＲＯＭまたはＤＶＤ）から読み取るまたはこれに書き込むための光ディスク・ドライブ２０２０を含む。ＨＤＤ２０１４、ＦＤＤ２０１６、および光ディスク・ドライブ２０２０は、それぞれ、ＨＤＤインターフェース２０２４、ＦＤＤインターフェース２０２６、および光ディスク・インターフェース２０２８によって、システム・バス２００８に接続することができる。外部ドライブ実装のためのＨＤＤインターフェース２０２４は、ユニバーサル・シリアル・バス（ＵＳＢ）およびIEEE1394インターフェース技術の内少なくとも１つまたは双方を含むことができる。
【０１８１】
[00217]  ドライブおよび関連するコンピューター読み取り可能媒体は、データー、データー構造、コンピューター実行可能命令等の揮発性および／または不揮発性記憶を考慮している。例えば、複数のプログラム・モジュールをドライブおよびメモリー・ユニット２０１０、２０１２に格納することができ、オペレーティング・システム２０３０、１つ以上のアプリケーション・プログラム２０３２、他のプログラム・モジュール２０３４、およびプログラム・データー２０３６を含む。１つ以上のアプリケーション・プログラム２０３２、他のプログラム・モジュール２０３４、およびプログラム・データー２０３６は、例えば、モンタージュ・アプリケーション１４０、オーサリング・コンポーネント１１０、プレゼンテーション・コンポーネント１３０、セキュリティ・コンポーネント５３６、公開コンポーネント５３２、メッセージ・コンポーネント５３４、ユーザー・インターフェース５３８、およびメッセージング・アプリケーション５４２を含むことができる。
【０１８２】
[00218]  ユーザーは、コマンドおよび情報をコンピューター２００２に、１つ以上の有線／ワイヤレス入力デバイス、例えば、キーボード２０３８および、マウス２０４０のような、ポインティング・デバイスを介して入力することができる。他の入力デバイスには、マイクロフォン、赤外線（ＩＲ）リモコン、ジョイスティック、ゲーム・パッド、スタイラス・ペン、タッチ・スクリーン等を含むことができる。これらおよび他の入力デバイスは、多くの場合、システム・バス２００８に結合される入力デバイス・インターフェース２０４２を介して処理ユニット２００４に接続されるが、パラレル・ポート、IEEE1394シリアル・ポート、ゲーム・ポート、ＵＳＢポート、ＩＲインターフェース等のような他のインターフェースによって接続することもできる。
【０１８３】
[00219]  モニター２０４４または他のタイプのディスプレイ・デバイスも、システム・バス２００８に、ビデオ・アダプター２０４６のようなインターフェースを介して接続される。モニター２０４４に加えて、コンピューターは、通例、スピーカー、プリンター等のような、他の周辺出力デバイスも含む。
【０１８４】
[00220]  コンピューター２００２は、論理接続を使用し、リモート・コンピューター２０４８のような１つ以上のリモート・コンピューターへの有線および／またはワイヤレス通信によって、ネットワーク接続環境において動作することができる。リモート・コンピューター２０４８は、ワークステーション、サーバー・コンピューター、ルーター、パーソナル・コンピューター、携帯用コンピューター、マイクロプロセッサー・ベースの娯楽機器、ピア・デバイスまたは他の共通ネットワーク・ノードとすることができ、通例、コンピューター２００２に関して説明したエレメントの多くまたは全てを含むが、簡潔にすることの目的で、メモリー／記憶デバイス２０５０のみを示す。図示されている論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）２０５２および／またはそれよりも大きなネットワーク、例えば、ワイド・エリア・ネットワーク（ＷＡＮ）２０５４への有線／ワイヤレス接続を含む。このようなＬＡＮおよびＷＡＮネットワーク接続環境は、事務所や会社では極普通であり、イントラネットのような、企業規模のコンピューター・ネットワークを容易にする。その全ては、グローバル通信ネットワーク、例えば、インターネットに接続することができる。
【０１８５】
[00221]  ＬＡＮネットワーク接続環境において使用されるとき、コンピューター２００２は、有線および／またはワイヤレス通信ネットワーク・インターフェースあるいはアダプター２０５６を介して、ＬＡＮ２０５２に接続される。アダプター２０５６は、ＬＡＮ２０５２への有線通信および／またはワイヤレス通信を容易にすることができ、ＬＡＮ２０５２は、アダプター２０５６のワイヤレス機能と通信するために設置されたワイヤレス・アクセス・ポイントも含むことができる。
【０１８６】
[00222]  ＷＡＮネットワーク接続環境において使用されるとき、コンピューター２００２はモデム２０５８を含むことができ、あるいはＷＡＮ２０５４における通信サーバーに接続され、あるいはインターネットを介してというようにして、ＷＡＮ２０５４を介して通信を作るための他の手段を有する。モデル２０５８は、内部または外部の有線デバイスおよび／またはワイヤレス・デバイスとすることができ、入力デバイス・インターフェース２０４２を介してシステム・バス２００８に接続する。ネットワーク接続環境では、コンピューター２００２に関して図示したプログラム・モジュールまたはその一部は、リモート・メモリー／記憶デバイス２０５０に格納することができる。尚、図示したネットワーク接続は例であり、コンピューター間に通信リンクを作る他の手段を使用することもできることは認められよう。
【０１８７】
[00223]  コンピューター２００２は、例えば、プリンター、スキャナ、デスクトップおよび／または携帯用コンピューター、パーソナル・ディジタル・アシスタント（ＰＤＡ）、通信衛星、ワイヤレス検出可能タグに関連する任意の機器または位置（例えば、駅の売店、売店、手洗い）とワイヤレス通信可能に動作的に配置されるワイヤレス・デバイスおよび電話機というような、IEEE802規格ファミリ−（例えば、IEEE802空中変調技法）を使用する有線およびワイヤレス・デバイスまたはエンティティと通信するように動作可能である。これは、少なくとも、Wi-Fi（またはワイヤレス・フィデリティ）、WiMax、およびBluetooth（商標）ワイヤレス技術を含む。つまり、通信は、従来のネットワークのように、既に定められた構造とすることができ、または少なくとも２つのデバイス間における単なるアドホック通信であることもできる。Wi-Fiネットワークは、IEEE802.11x(ａ、ｂ、ｇ等）を使用して、安全で、信頼性が高く、高速なワイヤレス接続を提供する。Wi-Fiネットワークは、コンピューターを互いに、インターネットに、そして有線ネットワークに（IEEE802.3関連媒体および機能を使用する）接続するために使用することができる。
【０１８８】
[00224]  種々の実施形態は、ハードウェア・エレメント、ソフトウェア・エレメント、または双方の組み合わせを使用して実現することができる。ハードウェア・エレメントの例には、デバイス、コンポーネント、プロセッサー、マイクロプロセッサー、回路、回路エレメント（例えば、トランジスター、抵抗器、キャパシター、インダクター等）、集積回路、特定用途集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、ディジタル信号プロセッサー（ＤＳＰ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、メモリー・ユニット、論理ゲート、レジスター、半導体デバイス、チップ、マイクロチップ、チップ・セット等を含むことができる。ソフトウェア・エレメントの例には、ソフトウェア・コンポーネント、プログラム、アプリケーション、コンピューター・プログラム、アプリケーション・プログラム、システム・プログラム、装置プログラム、オペレーティング・システム・プログラム、ミドルウェア、ファームウェア、ソフトウェア・モジュール、ルーチン、サブルーチン、関数、メソッド、手順、ソフトウェア・インターフェース、アプリケーション・プログラム・インターフェース（ＡＰＩ）、命令セット、計算コード、コンピューター・コード、コード・セグメント、コンピューター・コード・セグメント、ワード、値、記号、またはこれらの任意の組み合わせを含むことができる。実施形態がハードウェア・エレメントおよび／またはソフトウェア・エレメントを使用して実現されるか否かの判断は、所望の計算速度、電力レベル、耐熱性、処理サイクル予算、入力データー・レート、出力データー・レート、メモリー・リソース、データー・バス速度、および所与の実現例のために望まれる通りの他の設計または性能制約というような、任意の数の要素にしたがって変化する可能性がある。
【０１８９】
[00225]  実施形態の中には、製造品(article of manufacture)を含むことができるものもある。製造品は、ロジックを格納する記憶媒体を含むことができる。記憶媒体の例には、電子データーを格納することができる１つ以上のタイプのコンピューター読み取り可能記憶媒体が含まれ、これには、揮発性メモリーまたは不揮発性メモリー、リムーバブルまたは非リムーバブル・メモリー、消去可能または消去可能でないメモリー、書き込み可能または再書き込み可能メモリー等が含まれる。ロジックの例には、ソフトウェア・コンポーネント、プログラム、アプリケーション、コンピューター・プログラム、アプリケーション・プログラム、システム・プログラム、機械プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェア・モジュール、ルーチン、サブルーチン、関数、メソッド、手順、ソフトウェア・インターフェース、アプリケーション・プログラム・インターフェース（ＡＰＩ）、命令セット、計算コード、コンピューター／コード、コード・セグメント、コンピューター・コード・セグメント、ワード、値、記号、またはこれらの任意の組み合わせというような、種々のソフトウェア・エレメントを含むことができる。一実施形態では、例えば、製造品は、実行可能コンピューター・プログラム命令を格納するのでもよく、この命令をコンピューターによって実行すると、このコンピューターに、説明した実施形態にしたがって方法および／または動作を実行させる。実行可能コンピューター・プログラム命令は、ソース・コード、コンパイル・コード、インタプリター・コード、実行可能コード、スタティック・コード、ダイナミック・コードなどのような、適したタイプのコードであればいずれでも含むことができる。実行可能コンピューター・プログラム命令は、既定のコンピューター言語、様式(manner)または構文(syntax)にしたがって、一定の機能を実行するようにコンピューターに命令するために、実装することができる。命令は、適した高級言語、低級言語、オブジェクト指向言語、ビジュアル言語、コンパイル言語および／またはインタプリター型プログラム言語の内任意のものを使用しても実装することができる。
【０１９０】
[00226]  実施形態の中には、「一実施形態」または「実施形態」という表現をその派生語と共に用いて説明するとよいものがある。これらの用語は、当該実施形態と関連付けて説明された特定の特徴、構造、または特性が、少なくとも１つの実施形態に含まれることを意味する。本明細書の種々の場所において「一実施形態では」という句が出てくる場合、必ずしも全てが同じ実施形態を指す訳ではない。
【０１９１】
[00227]  実施形態の中には、「結合される」および「接続される」という表現を、その派生語と共に用いて説明するとよいものがある。これらの用語は、必ずしも互いに対する同義語であることを意図しているのではない。例えば、実施形態の中には、２つ以上のエレメントが直接物理的にまたは電気的に互いに接触していることを示すために、「接続される」および／または「結合される」という用語を用いて説明するとよい場合がある。しかしながら、「結合される」という用語は、２つ以上のエレメントが互いに直接接触していないが、それでも互いに協働するまたは相互作用することを意味することもできる。
【０１９２】
[00228]  尚、開示の要約は、37C.F.R、1.72(b)章に沿うように設けられ、37C.F.R、1.72(b)章は、読者が本技術的開示の固有性を素早く確認することを可能にすることを要約書に要求することを強調しておく。尚、これは、請求項の範囲または意味を解釈するためや限定するために用いられるのではないことを理解した上で申し述べられることである。加えて、以上の詳細な説明では、開示を簡素化する目的に限って、１つの実施形態において種々の特徴が一緒に纏められていることがわかるであろう。この開示方法は、特許請求する実施形態が各請求項において明示的に記載されるよりも多くの特徴を必要とするという意図を反映するというように解釈してはならない。逆に、以下の請求項が示す(reflect)ように、発明の主題は、１つの開示された実施形態の全ての特徴に存在する訳ではない。つまり、以下の請求項は、詳細な説明に含まれることとし、各請求項が別個の実施形態としてそれ自体を成り立たせている(stand on its own)。添付した特許請求の範囲において、「含む」(including)および「において」(in which)という用語は、それぞれ、「含む」(comprising)および「において」(wherein)というそれぞれの用語の平素な英語の同等語(equivalent)として用いられるものとする。更に、「第１」、「第２」、「第３」等は、単に名称として用いられるのであり、それらの目的語に対して数値的な要件を強制することは意図していない。
【０１９３】
[00229]  以上、構造的特徴および／または方法論的動作に特定的な文言で本主題について説明したが、添付した特許請求の範囲において定義されている主題は、必ずしも以上で説明した具体的な特徴や動作には限定されないことは理解されてしかるべきである。逆に、以上で説明した具体的な特徴や動作は、特許請求の範囲を実現する形態例として開示したまでである。
【図１】
0006054401.tif 000007
【図２】
0006054401.tif 000008
【図３Ａ】
0006054401.tif 000009
【図３Ｂ】
0006054401.tif 000010
【図４】
0006054401.tif 000011
【図５】
0006054401.tif 000012
【図６】
0006054401.tif 000013
【図７ＡＢ】
0006054401.tif 000014
【図７ＣＤ】
0006054401.tif 000015
【図８】
0006054401.tif 000016
【図９】
0006054401.tif 000017
【図１０】
0006054401.tif 000018
【図１１】
0006054401.tif 000019
【図１２】
0006054401.tif 000020
【図１３】
0006054401.tif 000021
【図１４Ａ】
0006054401.tif 000022
【図１４Ｂ】
0006054401.tif 000023
【図１５】
0006054401.tif 000024
【図１６】
0006054401.tif 000025
【図１７】
0006054401.tif 000026
【図１８Ａ】
0006054401.tif 000027
【図１８Ｂ】
0006054401.tif 000028
【図１９】
0006054401.tif 000029
【図２０】
0006054401.tif 000030