特許第6054401号(P6054401)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特許6054401格子上におけるプレゼンテーション・タイルの動的レイアウト技法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6054401
(24)【登録日】2016年12月9日
(45)【発行日】2016年12月27日
(54)【発明の名称】格子上におけるプレゼンテーション・タイルの動的レイアウト技法
(51)【国際特許分類】
   G06T 11/60 20060101AFI20161219BHJP
【FI】
   G06T11/60 100A
【請求項の数】10
【全頁数】57
(21)【出願番号】特願2014-532059(P2014-532059)
(86)(22)【出願日】2012年9月23日
(65)【公表番号】特表2015-503132(P2015-503132A)
(43)【公表日】2015年1月29日
(86)【国際出願番号】US2012056789
(87)【国際公開番号】WO2013044194
(87)【国際公開日】20130328
【審査請求日】2015年9月18日
(31)【優先権主張番号】13/242,009
(32)【優先日】2011年9月23日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100075270
【弁理士】
【氏名又は名称】小林 泰
(74)【代理人】
【識別番号】100101373
【弁理士】
【氏名又は名称】竹内 茂雄
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100153028
【弁理士】
【氏名又は名称】上田 忠
(74)【代理人】
【識別番号】100120112
【弁理士】
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100147991
【弁理士】
【氏名又は名称】鳥居 健一
(74)【代理人】
【識別番号】100119781
【弁理士】
【氏名又は名称】中村 彰吾
(74)【代理人】
【識別番号】100162846
【弁理士】
【氏名又は名称】大牧 綾子
(74)【代理人】
【識別番号】100173565
【弁理士】
【氏名又は名称】末松 亮太
(74)【代理人】
【識別番号】100138759
【弁理士】
【氏名又は名称】大房 直樹
(72)【発明者】
【氏名】ダグラス,マリア
(72)【発明者】
【氏名】デーヴィス,トリスタン
(72)【発明者】
【氏名】ウッド,マシュー
(72)【発明者】
【氏名】トロイ,ロビン
(72)【発明者】
【氏名】テー,パム
【審査官】 真木 健彦
(56)【参考文献】
【文献】 特開平08−044883(JP,A)
【文献】 特表2011−517346(JP,A)
【文献】 米国特許第07581176(US,B1)
【文献】 アーロン・マーカス,GUIを設計する 前編 グラフィック・デザインのノウハウと具体例,日経BYTE DECEMBER 1990,日本,日経BP社,1990年12月 1日,第79号,P.287-297,ISSN 0289-6508
【文献】 Louis Weitzman,Automatic presentation of multimedia documents using relational grammars,Proceeding MULTIMEDIA '94 oceedings of the second ACM international conference on Multimedia,米国,ACM,1994年,P.443-451
(58)【調査した分野】(Int.Cl.,DB名)
G06T 11/60
H04N 1/38 − 1/393
G06F 17/20 − 17/26
G06F 3/01
G06F 3/048 − 3/0489
(57)【特許請求の範囲】
【請求項1】
方法であって、
ディスプレイ上のプレゼンテーション表面上に提示するためにモンタージュを受けるステップであって、前記モンタージュが複数のプレゼンテーション・タイルとイアウトとを含み、前記プレゼンテーション表面が、格子を含み、該格子のディメンジョンに関連したパンニング方向を有する、ステップと、
前記パンニング方向に垂直な固定格子ディメンションが、前記イアウトにおける対応する格子ディメンションよりも前記ディスプレイ上において小さいときを判定するステップと、
前記プレゼンテーション・タイルの互いに対する空間特徴付けを保存しつつ、前記小さい固定格子ディメンションに応答して前記格子上において前記複数のプレゼンテーション・タイルの位置を変更するステップと、
前記プレゼンテーション表面のユーザー・インターフェース・ビューに、前記変更した位置において前記複数のプレゼンテーション・タイルを提示するステップであって、各プレゼンテーション・タイルが、コンテンツ・ファイルに関連し、該コンテンツ・ファイルから取り出したコンテンツの一部を表示するように構成された、ステップと、
を含む、方法。
【請求項2】
請求項1記載の方法であって、更に、
前記イアウトからプレゼンテーション・タイルの順序を決定するステップと、
前記格子の原点に、第1プレゼンテーション・タイルを置くステップと、
前記プレゼンテーション・タイルの順序において第2プレゼンテーション・タイルを選択するステップと、
前記第1プレゼンテーション・タイルに対する前記第2プレゼンテーション・タイルについての空間特徴付けを判定するステップと、
前記空間特徴付けにしたがって、前記格子上に前記第2プレゼンテーション・タイルを置くステップと、
を含む、方法。
【請求項3】
請求項2記載の方法において、空間特徴付けが、第1方向、第2方向、または第3方向の内1つを含み、前記第3方向が右オフセットを含み、前記原点が前記格子の上角にあり、前記格子上に前記第2タイルを置くステップが、
前記第1プレゼンテーション・タイルに隣接してその右側に第1方向プレゼンテーション・タイルを置くステップと、
前記格子上に十分な余裕がある場合、前記第1プレゼンテーション・タイルの下に、第2方向プレゼンテーション・タイルを置くステップと、
前記第1プレゼンテーション・タイルの下に前記プレゼンテーション・タイルを置く十分な余裕がない場合、前記格子の最上位行におけるプレゼンテーション・タイルの右側で前記格子における第1の利用可能な列に、第2方向プレゼンテーション・タイルを置くステップと、
前記右オフセットにおける列数だけ前記第1プレゼンテーション・タイルの右に、第3方向プレゼンテーション・タイルを置き、前記第3方向プレゼンテーション・タイルおよび前記第1プレゼンテーション・タイルがオーバーラップするか否か判定するステップと、
前記第3方向プレゼンテーション・タイルおよび前記第1プレゼンテーション・タイルがオーバーラップし、かつ前記第1プレゼンテーション・タイルの下に前記第3方向プレゼンテーション・タイルを置く余裕がある場合、前記第1プレゼンテーション・タイルの下に、前記右オフセットにおける列数だけ前記第1プレゼンテーション・タイルより右に、前記第3方向プレゼンテーション・タイルを動かすステップと、
前記第3方向プレゼンテーション・タイルおよび前記第1プレゼンテーション・タイルがオーバーラップし、前記第1タイルの下に前記第3方向プレゼンテーション・タイルを置く余裕がない場合、前記格子の最上位行におけるプレゼンテーション・タイルの右側で最初に利用可能な列に、前記第3方向プレゼンテーション・タイルを動かすステップと、
を含む、方法。
【請求項4】
請求項1記載の方法であって、更に、
プレゼンテーション・タイルをモンタージュに追加することおよび前記モンタージュからプレゼンテーション・タイルを削除することの一方を行い、前記追加または削除が、前記プレゼンテーション表面に空白空間を作り、
前記プレゼンテーション・タイルの互いに対する前記空間特徴付けを保存しつつ前記空白空間を埋めるために、前記格子上において前記複数のプレゼンテーション・タイルの前記位置を変更する、
ことを含み、更に、
前記空白空間の幅に一致する幅を前記パンニング方向に有する第1チャネルを定めるステップと、
前記第1チャネルの後端エッジに先端エッジを有するタイルの連続ブロックを前記パンニング方向において特定するステップと、
前記タイルの連続ブロックの幅を有する第2チャネルを定めるステップと、
チャネル毎にカレントを割り当てるステップであって、カレントが固定ディメンションと整列され、前記隣接チャネルのカレントが逆方向に流れる、ステップと、
前記プレゼンテーション・タイルの順序で各タイルを選択するステップと、
選択された前記タイルを前記カレントに沿ってできるだけ遠くまで動かすステップと、
を含む、方法。
【請求項5】
求項1、2、3、または4のいずれか1項に記載の方法をコンピューターに実行させるためのコンピューター・プログラム
【請求項6】
装置であって、
格子と、該格子のディメンジョンに関連したパンニング方向とを含むプレゼンテーション表面上にモンタージュを提示するために第1ユーザー・インターフェース・ビューを生成するように動作するプレゼンテーション・コンポーネントを含むモンタージュ・アプリケーションを実行するように構成された論理デバイスであって、前記モンタージュが複数のプレゼンテーション・タイルとイアウトとを含み、前記プレゼンテーション・コンポーネントが、更に、
ディスプレイ上の前記プレゼンテーション表面における前記パンニング方向に垂直な固定格子ディメンションが、前記イアウトにおける対応する格子ディメンションよりも前記ディスプレイ上において小さいときを判定し、
前記固定格子ディメンションに対する変更を決定するために、前記プレゼンテーション表面の前記固定格子ディメンションにおける格子ブロックの数を、前記イアウトの前記対応する格子ディメンションにおける格子ブロックの数と比較し、
前記プレゼンテーション・タイルの互いに対する空間特徴付けを保存しつつ、前記固定格子ディメンションに対する前記変更に基づいて前記格子上において前記複数のプレゼンテーション・タイルの位置を変更し、
前記プレゼンテーション表面の前記第1ユーザー・インターフェース・ビューに、前記変更した位置において前記複数のプレゼンテーション・タイルを提示する、
ように動作する、
論理デバイスと、
オーサリング・コンポーネントであって、該オーサリング・コンポーネントが、前記モンタージュにおけるプレゼンテーション・タイルの追加または削除によって空白空間が作られたときに、前記プレゼンテーション・タイルの互いに対する前記空間特徴付けを保存しつつ前記空白空間を埋めるために、前記格子上の前記複数のプレゼンテーション・タイルの前記位置を変更するように動作し、これを、前記パンニング方向におけるプレゼンテーション・タイルの連続グループを特定して該プレゼンテーション・タイルの連続グループを前記固定ディメンションにおいて中心に位置付けすることにより行う、オーサリング・コンポーネントと、
を含む装置。
【請求項7】
請求項6記載の装置において、前記プレゼンテーション・コンポーネントが、更に、
前記イアウトからプレゼンテーション・タイルの順序を決定し、
前記格子の原点に、第1プレゼンテーション・タイルを置き、
前記プレゼンテーション・タイルの順序において第2プレゼンテーション・タイルを選択し、
前記第1プレゼンテーション・タイルに対する前記第2プレゼンテーション・タイルについての空間特徴付けを判定し、
前記空間特徴付けにしたがって、前記格子上に前記第2プレゼンテーション・タイルを置く、
ように動作する、装置。
【請求項8】
請求項7記載の装置において、空間特徴付けが、第1方向、第2方向、または第3方向の内1つを含み、前記第3方向が右オフセットを含み、前記原点が前記格子の上角にあり、前記プレゼンテーション・コンポーネントが、更に、
前記第1プレゼンテーション・タイルに隣接してその右側に第1方向プレゼンテーション・タイルを置き、
前記格子上に十分な余裕がある場合、前記第1プレゼンテーション・タイルの下に、第2方向プレゼンテーション・タイルを置き、
前記第1プレゼンテーション・タイルの下に前記プレゼンテーション・タイルを置く十分な余裕がない場合、前記格子の最上位行におけるプレゼンテーション・タイルの右側で前記格子における第1の利用可能な列に、第2方向プレゼンテーション・タイルを置くステップと、
前記右オフセットにおける列数だけ前記第1プレゼンテーション・タイルの右に、第3方向プレゼンテーション・タイルを置き、前記第3方向プレゼンテーション・タイルおよび前記第1プレゼンテーション・タイルがオーバーラップするか否か判定し、
前記第3方向プレゼンテーション・タイルおよび前記第1プレゼンテーション・タイルがオーバーラップし、かつ前記第1プレゼンテーション・タイルの下に前記第3方向プレゼンテーション・タイルを置く余裕がある場合、前記第1プレゼンテーション・タイルの下に、前記右オフセットにおける列数だけ前記第1プレゼンテーション・タイルより右に、前記第3方向プレゼンテーション・タイルを動かし、
前記第3方向プレゼンテーション・タイルおよび前記第1プレゼンテーション・タイルがオーバーラップし、前記第1タイルの下に前記第3方向プレゼンテーション・タイルを置く余裕がない場合、前記格子の最上位行におけるプレゼンテーション・タイルの右側で最初に利用可能な列に、前記第3方向プレゼンテーション・タイルを動かす、
ように動作する、装置。
【請求項9】
請求項6記載の装置において、前記プレゼンテーション・コンポーネントが、更に、
前記格子から任意の空の列および行を除去し、
前記プレゼンテーション・タイルの連続グループが、前記格子において固定ディメンションにおいて中央に位置付けられているか否か判定し、
前記プレゼンテーション・タイルの連続グループを前記固定ディメンションにおいて中央に位置付ける、
ように動作する、装置。
【請求項10】
請求項6記載の装置であって、前記オーサリング・コンポーネントが更に、
前記空白空間の幅と等価の幅を前記パンニング方向に有する第1チャネルを定め、
前記第1チャネルの後端エッジに先端エッジを有するタイルの連続ブロックを前記パンニング方向において特定し、
前記タイルの連続ブロックの幅を有する第2チャネルを定め、
チャネル毎にカレントを割り当て、カレントが固定ディメンションと整列され、前記隣接チャネルのカレントが逆方向に流れ、
各タイルを順序で選択し、
チャネルにおいて前記カレント方向にタイルをできるだけ遠くまで動かす、または
前記チャネルまたは前記チャネルの先端エッジに隣接するチャネルの一方において、前記パンニング方向に前記タイルをできるだけ遠くまで動かす、
の内少なくとも1つを行う、
ように動作する、装置。
【発明の詳細な説明】
【従来技術】
【0001】
[0001] モンタージュは、1つの複合エレメントを形成するために別個のエレメントの集合体を含むことができる。例えば、モンタージュは、数個の別個のピクチャーで構成される複合ピクチャー、または異種画像の素早いシーケンスを含むビデオ・シーケンスを含むこともできる。異なるウェブ・アプリケーションからサーブされる異なる構成ウェブ・ページを含む複合ウェブ・ページというような、ディジタル・コンテンツを使用してディジタル・モンタージュを作るために、電子モンタージュ・システムが設計された。ときには、サーチ・エンジンによって使用される所与のサーチ・ターム、またはブラウザー履歴に格納されるような、ユーザーが定期的に行くウェブ・ページというように、構成ウェブ・ページが、中心的主題にしたがって編成されることもある。多くの場合、構成ウェブ・ページは、複合ウェブ・ページの空間に制限があるために、実際のウェブ・ページよりも忠実度を落とした表現となる。したがって、ユーザーは、更に深く(in-depth)見るために、選択されたウェブ・ページの忠実度を高めたバージョンを引き出すために、構成ウェブ・ページを選択することもできる。
【発明の概要】
【発明が解決しようとする課題】
【0002】
しかしながら、ディジタル情報量が増えるに連れて、有意な情報をユーザーに提供するようにディジタル・モンタージュを組み立てることが増々難しくなる。
[0002] 更に、1つのサイズまたはディスプレイ解像度に対して設計されたモンタージュは、異なるサイズまたは解像度のディスプレイ上で見ると、適正に表示されない場合がある。タイルの一部が、それらの本来の位置における利用可能な空間に収まらない場合がある。空間に収めるためにタイルをシャッフルすると、それらの位置関係を壊す虞がある。タイルのサイズを変えると、モンタージュが見にくくなり、とくに小さい表示エリアにおいて対話処理しにくくなる虞がある。本発明が必要とされたのは、これらおよび他の検討事項に関してである。
【課題を解決するための手段】
【0003】
[0003] この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断するときに補助として使用されることを意図するのでもない。
【0004】
[0004] 種々の実施形態は、総合的に、電子モンタージュ・システムを目的とする。一部の実施形態は、特に、異質なデーター・ソースからディジタル・モンタージュを生成するように構成された電子モンタージュ・システムを目的とする。この電子モンタージュ・システムは、ユーザーが、データー・ソースに対してカスタム化された表現によって、カスタム化されたディジタル・モンタージュを生成することを可能にし、これによって他のユーザーが、もっと拡大して見るために、関心のあるデーター・ソースを素早く特定し選択することを可能にすることができる。この電子モンタージュ・システムは、カスタム化されたディジタル・モンタージュを他のユーザーに、公開モデル、メッセージング・モデル、または公開モデルおよびメッセージング・モデルの組み合わせによって公開することができる。
【0005】
[0005] 一実施形態では、例えば、装置(apparatus)は、モンタージュ・アプリケーションを実行するように構成された論理デバイスを含むことができる。この論理デバイスは、例えば、プロセッサーおよびメモリーを有する処理システムを含むことができる。モンタージュ・アプリケーションは、複数のプレゼンテーション・タイルを有するプレゼンテーション表面を設け、コンテンツ・ファイルをプレゼンテーション・タイルと関連付ける制御指令(directive)を受け、コンテンツ・ファイルのコンテンツ・ファイル・タイプに基づいてコンテンツ・ファイルに対してタイル・オブジェクトを生成し、プレゼンテーション表面およびタイル・オブジェクトをモンタージュとして格納するように動作するオーサリング・コンポーネントを含むことができる。更に、モンタージュ・アプリケーションは、プレゼンテーション表面の各関連プレゼンテーション・タイル内において各タイル・オブジェクトを提示し、タイル・オブジェクトを選択する制御指令を受け、タイル・オブジェクトに対応するコンテンツ・ファイルを提示するために第2ユーザー・インターフェース・ビューを生成するように動作するプレゼンテーション・コンポーネントも含むことができる。
【0006】
[0006] モンタージュ・アプリケーションは、表示サイズまたは解像度がモンタージュに対する元のレイアウトと異なるときを検出するプレゼンテーション・コンポーネントを含むことができる。表示サイズまたは解像度が変化した場合、プレゼンテーション表面がディメンション(dimension)を変更することができる。プレゼンテーション・コンポーネントは、タイルの互いに対する空間特性を保存するような方法で、変更したプレゼンテーション表面上にタイルを分配し直すことができる。他の実施形態についても記載し、特許請求する。
【0007】
[0007] これらおよび他の特徴ならびに利点は、以下の詳細な説明を読み関連する図面を検討することによって明白となろう。尚、以上の概略的な説明および以下の詳細な説明は双方共説明のために過ぎず、特許請求される形態を限定するのではないことは言うまでもない。
【図面の簡単な説明】
【0008】
図1図1は、モンタージュ・システムの一実施形態を示す。
図2図2は、オーサリング・コンポーネントの一実施形態を示す。
図3A図3Aは、プレゼンテーション表面の一実施形態を示す。
図3B図3Bは、プレゼンテーション表面の一実施形態をタイル・オブジェクトと共に示す。
図4図4は、オーサリング・コンポーネントの一例を示す。
図5図5は、メッセージング・システムの一実施形態を示す。
図6図6は、メッセージ・システムに対するメッセージ・フローの一実施形態を示す。
図7AB図7Aは、メッセージのユーザー・インターフェース・ビューの一実施形態を示す。図7Bは、モンタージュのユーザー・インターフェース・ビューの一実施形態を示す。
図7CD図7Cは、タイル・オブジェクトのユーザー・インターフェース・ビューの一実施形態を示す。図7Dは、コンテンツ・ファイルのユーザー・インターフェース・ビューの一実施形態を示す。
図8図8は、オーサリング・コンポーネントに対する論理フローの一実施形態を示す。
図9図9は、公開コンポーネントに対する論理フローの一実施形態を示す。
図10図10は、モンタージュ・アプリケーションの一実施形態を示す。
図11図11は、プレゼンテーション表面の一例を、元のモンタージュと共に示す。
図12図12は、異なるプレゼンテーション表面を、元のモンタージュと共に示す。
図13図13は、元のモンタージュがリフローされた後における異なるプレゼンテーション表面の一例を示す。
図14A図14Aは、リフローされたモンタージュをバランスする前における、異なるプレゼンテーション表面の一例を示す。
図14B図14Bは、リフローされたモンタージュをバランスした後における、異なるプレゼンテーション表面の一例を示す。
図15図15は、モンタージュをリフローするための論理フローの一実施形態を示す。
図16図16は、モンタージュをリフローするときに位置を決定するための論理フローの一実施形態を示す。
図17図17は、モンタージュをバランスするための論理フローの一実施形態を示す。
図18A図18Aは、タイルが削除された元のモンタージュの一例を示す。
図18B図18Bは、タイル除去後にリフローされた元のモンタージュの一例を示す。
図19図19は、タイルが除去された後にモンタージュをリフローするための論理フローの一実施形態を示す。
図20図20は、計算アーキテクチャーの一実施形態を示す。
【発明を実施するための形態】
【0009】
[0034] 種々の実施形態は、総合的に、異質なデーター・ソースからディジタル・モンタージュを生成するように構成された電子モンタージュ・システムを目的とする。この電子モンタージュ・システムは、例えば、アプリケーション・プログラムのような、異なるソフトウェア・プログラムによって生成されたコンテンツ・ファイルを使用して、非常にカスタム化されたディジタル・モンタージュをユーザーが生成することを可能にすることができる。ディジタル・モンタージュは、基礎コンテンツ・ファイルについてカスタム化された表現を含む1つ以上のタイル・オブジェクトを含むことができる。タイル・オブジェクトは、コンテンツ・ファイルから選択的に抽出されこのコンテンツ・ファイルのために特定的に作られるタイプ定義にしたがってフォーマットされた情報を使用して組み立てることができる。タイプ定義は、コンテンツ・ファイルについての詳細情報を含み、ファイル拡張、データー方式、フォーマッティング制御、埋め込みオブジェクト、埋め込みコード、プロパティ、スクリプト、および他のファイル特定情報というような情報を含む。また、タイプ定義は、コンテンツ・ファイルから抽出する情報のタイプ、抽出したファイルのフォーマッティング、作るオブジェクト・バージョンの数等に関する1組の規則も含む。このように、ディジタル・モンタージュを著作する(author)ためにより広い範囲のコンテンツ・ファイルを使用することができ、見る人に有意な情報を提供する、非常に表現性が高いタイル・オブジェクトを組み立てることができる。この手法により、見る人はモンタージュにおいてタイル・オブジェクトを容易に通読し(peruse)、多くのタイル・オブジェクトの中で関心のあるコンテンツ・ファイルを特定し、タイル・オブジェクトを選択して、更に接近して見るためにコンテンツ・ファイルを素早く引き出すことが可能になる。
【0010】
[0035] 一部の実施形態は、プレゼンテーション・コンポーネントを有する電子モンタージュ・システムを目的とする。このプレゼンテーション・コンポーネントは、表示サイズまたは解像度がモンタージュの元のレイアウトに使用されるものから変化したときを検出する。プレゼンテーション・コンポーネントは、タイルの互いに対する空間特性を保存するように、変化したディスプレイにおけるモンタージュでタイルを位置付けしなおす、即ち、「リフローする」ことができる。実施形態は、タイルがモンタージュに追加されるまたはモンタージュから削除されるときに、自動的にタイルをリフローし、タイル間の空白空間を最小限に抑えることができる。その結果、実施形態は、オペレーター(operator)、デバイス、またはネットワークに対する、費用負担可能性(affordability)、スケーラビリティ、モジュール性、拡張性、または相互動作性を改良することができる。
【0011】
[0036] 図1は、モンタージュ・アプリケーション140を有するモンタージュ・システム100のブロック図を示す。一実施形態では、例えば、モンタージュ・システム100およびモンタージュ・アプリケーション140は、例えば、コンポーネント110、130のような、種々のコンポーネントを含むことができる。本明細書において使用する場合、「システム」、「アプリケーション」、および「コンポーネント」という用語は、コンピューター関連エンティティに言及することを意図しており、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアを含む。例えば、コンポーネントは、プロセッサーにおいて実行するプロセス、プロセッサー、ハード・ディスク・ドライブ、複数の記憶デバイス(光および/または磁気記憶媒体の記憶デバイス)、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および/またはコンピューターとして実現することができる。例示として、サーバーにおいて実行するアプリケーションおよびサーバーの双方がコンポーネントであることができる。所与の実現例に望まれる通りに、1つ以上のコンポーネントがプロセスおよび/または実行のスレッド内に存在することができ、1つのコンポーネントを1つのコンピューターに局在させること、および/または2つ以上のコンピューター間で分散させることができる。実施形態は、このコンテキストにおいて限定されない。
【0012】
[0037] 図1に示す例示実施形態では、モンタージュ・システム100およびモンタージュ・アプリケーション140は、電子デバイスによって実現することができる。電子デバイスの例には、限定ではなく、移動体デバイス、パーソナル・ディジタル・アシスタント、移動体計算デバイス、スマート・フォン、セルラ電話機、ハンドセット、一方向ページャー、双方向ページャー、メッセージング・デバイス、コンピューター、パーソナル・コンピューター(PC)、デスクトップ・コンピューター、ラップトップ・コンピューター、ノートブック・コンピューター、ハンドヘルド・コンピューター、タブレット・コンピューター、サーバー、サーバー・アレイまたはサーバー・ファーム、ウェブ・サーバー、ネットワーク・サーバー、インターネット・サーバー、ワーク・ステージョン、ミニコンピューター、メイン・フレーム・コンピューター、スーパーコンピューター、ネットワーク機器、ウェブ機器、分散型計算システム、マルチプロセッサー・システム、プロセッサー・ベース・システム、ゲーミング・デバイス、消費者用電子機器、プログラマブル消費者用電子機器、テレビジョン、ディジタル・テレビジョン、セット・トップ・ボックス、ワイヤレス・アクセス・ポイント、基地局、加入者局、移動体加入者センタ、無線ネットワーク・コントローラー、ルーター、ハブ、ゲートウェイ、ブリッジ、交換機、装置(machine)、またはこれらの組み合わせを含むことができる。図1に示すモンタージュ・アプリケーション140は、ある種のトポロジーでは限定された数のエレメントを有するが、代替トポロジーでは、所与の実現例に対して望まれる通りに、モンタージュ・アプリケーション140がそれよりも多いまたは少ないエレメントを含んでもよいことは認められよう。
【0013】
[0038] コンポーネント110、130は、種々のタイプの通信媒体を介して、通信可能に結合することができる。コンポーネント110、130は、互いの間で動作を調整することができる。この調整は、情報の一方向または双方向交換を含むことができる。例えば、コンポーネント110、130は、通信媒体を介して通信される信号の形態で情報を伝達することができる。この情報は、種々の信号ラインに割り当てられる信号として実現することができる。このような割り当てでは、各メッセージが信号となる。しかしながら、他の実施形態では、データー・メッセージを代わりに採用してもよい。このようなデーター・メッセージは、種々の接続を介して送ることができる。接続の例には、パラレル・インターフェース、シリアル・インターフェース、およびバス・インターフェースが含まれる。
【0014】
[0039] 図1に示す例示実施形態では、モンタージュ・システムが1つ以上のコンテンツ・ファイル104−cおよびモンタージュ・アプリケーション140を含むことができる。コンテンツ・ファイル104−cは、アプリケーション・プログラム、ウェブ・アプリケーション、ウェブ・サービス等というようなソフトウェア・プログラムによって生成されるディジタル・コンテンツを含むことができる。モンタージュ・アプリケーション140は、モンタージュ120を生成するために、1つ以上の選択されたコンテンツ・ファイル104−cを使用することができる。一実施形態では、サーチ・エンジンによって使用される所与のサーチ・タームに関するサーチ結果、またはブラウザー履歴としてユーザーが定期的に行くコンテンツ・ファイル104−cを使用することによるというように、1つ以上のコンテンツ・ファイル104−cが、ソフトウェア・プログラムによって自動的に選択されてもよい。
【0015】
[0040] モンタージュ・アプリケーション140は、エレメントの中でもとりわけ、オーサリング・コンポーネント110およびプレゼンテーション・コンポーネント130を含むことができる。オーサリング・コンポーネント110は、モンタージュ120を著作する、即ち、生成するために、ユーザーによって使用することができる。モンタージュ120を著作する即ち生成するユーザーは、本明細書では、「コンテンツ・プロデューサー」と呼ばれることもある。プレゼンテーション・コンポーネント130は、モンタージュ120を見る、即ち、ナビゲートするために、ユーザーによって使用することができる。モンタージュ120を見る即ちナビゲートするユーザーは、本明細書では、「コンテンツ・コンシューマー」(content consumer)と呼ばれることもある。更に、モンタージュ・アプリケーション140は、図2から図11を参照して更に詳しく説明するような他のコンポーネントも含む。
【0016】
[0041] オーサリング・コンポーネント110は、モンタージュ・アプリケーション140に対するオーサリング動作を総合的に管理することができ、コンテンツ・プロデューサーがモンタージュ120を生成、作成、または言い換えると著作することを可能にするために、ユーザー・インターフェース・ビューおよびツールを生成することを含む。モンタージュ120は、1つの複合ディジタル情報エレメントを形成するために、選択されたコンテンツ・ファイル104−cからのディジタル情報エレメントの単数(singular)複合体または集合体を構成することができる。モンタージュ120は、例えば、アプリケーション・プログラムのためのアプリケーション・ファイルというような、異質のアプリケーションによって生成される異なる構成ディジタル情報エレメントを有する複合文書を構成することができる。構成ディジタル情報エレメントは、業務計画、個人的な休暇、または休日に関するディジタル情報エレメントといような、中心的主題にしたがって編成される場合もある。多くの場合、構成ディジタル情報エレメントは、複合エレメントの空間制限のために、実際のコンテンツ・ファイル104−cよりも忠実度が低い表現となる。したがって、コンテンツ・コンシューマーは、もっと深くまで見るには、関連するコンテンツ・ファイル104−cの忠実度を高めたバージョンを引き出すために、構成ディジタル情報エレメントを選択することができる。
【0017】
[0042] 一実施形態では、例えば、オーサリング・コンポーネント110は、モンタージュ120に対してプレゼンテーション表面122を設けるように構成することができる。プレゼンテーション表面122は、プレゼンテーション表面122上にある種のトポロジーで定められたまたは配置された複数のプレゼンテーション・ファイル124−aを有することができる。オーサリング・コンポーネント110は、ある種のコンテンツ・ファイル104−cをある種のプレゼンテーション・タイル124−aと関連付けるために、制御指令102−bを受けることができる。オーサリング・コンポーネント110は、コンテンツ・ファイル104−cに関連する種々のコンテンツ・ファイル・タイプおよびタイプ定義に基づいて、コンテンツ・ファイル104−cに対してタイル・オブジェクト126−eを生成することができる。オーサリング・コンポーネント110は、プレゼンテーション表面122およびタイル・オブジェクト126−eをモンタージュ120の一部として格納することができる。次いで、これらを種々のコンテンツ・コンシューマーに公開または配給することができる。
【0018】
[0043] 尚、本明細書において使用される「a」、「b」、「c」、および同様の符号は、任意の正の整数を表す変数であることを意図することは、注記するに値する。つまり、例えば、実現例がa=5に対してある値を設定する場合、完全な1組のプレゼンテーション・タイル124−aは、プレゼンテーション・タイル124−1、124−2、124−3、124−4、および125−5を含むことができる。実施形態は、このコンテキストにおいて限定されない。
【0019】
[0044] オーサリング・コンポーネント110は、複数のプレゼンテーション・タイル124−aを有するプレゼンテーション表面122を設けることによって、モンタージュ120を生成するオーサリング動作を開始することができる。プレゼンテーション表面122は、座標系および境界を有する任意の定められたサイズの二次元(2D)または三次元(3D)トポロジー空間を構成することができる。プレゼンテーション表面122の例は、ワープロ・プログラム用の文書、プレゼンテーション・プログラム用のスライド、表計算プログラム用のワークシート、ノート・プログラム用のノート、個人情報マネージャ(PIM)用の連絡先カード、およびアプリケーション・プログラムによって通例使用される他の空間を含むことができる。
【0020】
[0045] プレゼンテーション・タイル124−aは、タイル・オブジェクト126−eのような、離散した1組の情報を提示するために指定されるプレゼンテーション表面122の定められた領域を構成することができる。定められた領域は、所与の実現例に対して望まれる通りの任意のサイズ、寸法、または形状にすることができる。所与のプレゼンテーション表面122は、任意の数のプレゼンテーション・タイル124−aを有することができ、各プレゼンテーション・タイル124−aは、全てのプレゼンテーション・タイル124−aが、プレゼンテーション表面122に対する所与のサイズ内に収まることを確保するために、1組の定義(例えば、サイズ、形状、寸法、幾何学的形状)を有することができる。プレゼンテーション・タイル124−aに対する定義は、プレゼンテーション表面122、1組のコンテンツ・ファイル104−c、コンテンツ・ファイル104−cとプレゼンテーション・タイル124−aとの間の関連付け、コンテンツ・ファイル104−cに関連するタイル・オブジェクト126−e、表示についてのプロパティ、デバイスについてのプロパティ、ユーザーの好み、および他の要因に基づいて、動的に変更することができる。実施形態は、このコンテキストにおいて限定されない。
【0021】
[0046] 一実施形態では、コンテンツ・プロデューサーがプレゼンテーション表面122およびプレゼンテーション・タイル124−aを個別に(custom)定めることができる。モンタージュ・アプリケーション140用のユーザー・インターフェースが、プレゼンテーション表面122およびこのプレゼンテーション表面122上における1組のプレゼンテーション・タイル124−aの特性を変更するために特定して定められた種々の制御手段を設けることができる。このような制御手段の例には、限定ではなく、描画制御手段、寸法制御手段、サイズ制御手段、幅制御手段、高さ制御手段、画素制御手段、リフレッシュ制御手段等を含むことができる。あるいは、コンテンツ・プロデューサーが、異なるプレゼンテーション表面およびプレゼンテーション・タイル124−aを提供する任意の数のモンタージュ・テンプレートから選択してもよい。
【0022】
[0047] オーサリング・コンポーネント110は、ある種のコンテンツ・ファイル104−cをある種のプレゼンテーション・タイル124−aと関連付けるために、制御指令102−bを受けることができる。オーサリング・コンポーネント110は、ユーザー・インターフェース・ビューおよびツールを生成し、ユーザーがコンテンツ・ファイル104−aを選択し、およびコンテンツ・ファイル104−aをプレゼンテーション・タイル124−aと関連付けることを可能にすることができる。例えば、ユーザーが、コンテンツ・ファイル104−1を選択し、このコンテンツ・ファイル104−1をプレゼンテーション・タイル124−1上でドラッグするために、ポインティング・デバイスのような入力デバイスを選択することができる。ユーザーの選択は、その選択をオーサリング・コンポーネント110に示すメッセージまたは信号として、制御指令102−bを生成することができる。あるいは、制御指令120−bが、コンテンツ選択アルゴリズムにしたがって、プログラムによって生成されてもよい。例えば、コンテンツ選択アルゴリズムが、サーチ・エンジンによって生成されるサーチ結果から、またはパターンをブラウズするユーザーの分析によって、コンテンツ・ファイル104−cを自動的に選択するために、1組の定められた規則を有するのでもよい。実施形態は、このコンテキストにおいて限定されない。
【0023】
[0048] コンテンツ・ファイル104−cは、アプリケーション・プログラム、ウェブ・アプリケーション、ウェブ・サービス、クライアント・アプリケーション、サーバー・アプリケーション、システム・プログラム等というような、ソフトウェア・プログラムによって生成される任意のディジタル情報エレメントまたはディジタル・コンテンツを含むことができる。異なるソフトウェア・プログラムが、異なるタイプのディジタル・コンテンツを生成することもできる。したがって、異なるソフトウェア・プログラムによって生成されるディジタル・コンテンツが異質のディジタル・コンテンツを含むこともできる。コンテンツ・ファイル104−cの例には、限定ではなく、ワープロ・ファイル、表計算ファイル、プレゼンテーション・ファイル、個人情報管理(PIM)ファイル、データーベース・ファイル、出版ファイル(publisher file)、描画ファイル、ノート・ファイル、メッセージ・ファイル、プロジェクト・ファイル等というような、アプリケーション・ファイルを含むことができる。コンテンツ・ファイル104−cの更に他の例には、オーディオ・ファイル、画像ファイル、ビデオ・ファイル、オーディオ/ビデオ(AV)ファイル、アニメーション・ファイル、ゲーム・ファイル、マークアップ・ファイル、ウェブ・ページ・ファイル、ソーシャル・ネットワーキング・サービス(SNS)ファイル等というような、マルチメディア・ファイルを含むことができる。尚、これらは、コンテンツ・ファイル104−cの少数の例に過ぎず、実施形態はこれらの例には限定されないことは認めることができよう。
【0024】
[0049] 一実施形態では、コンテンツ・ファイル104−cは、ワシントン州、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を含むことができる。実施形態は、これらの例に限定されるのではない。
【0025】
[0050] 一実施形態では、コンテンツ・ファイル104−cは、モンタージュ120を作るためにモンタージュ・アプリケーション140の同じコンテンツ・プロデューサーによって個人的に著作されたコンテンツ・ファイルを含むことができる。例えば、コンテンツ・プロデューサーがビジネス・プロジェクトのプロジェクト・マネージャであり、このビジネス・プロジェクトの間に、ワープロ・ファイル、表計算ファイル、およびプレゼンテーション・ファイルというような、このビジネス・プロジェクトに関連する種々のアプリケーション・ファイルを著作したと仮定する。このコンテンツ・プロデューサーは、モンタージュ・アプリケーション140のオーサリング・コンポーネント110を使用して、コンテンツ・プロデューサーによって個人的に著作されたファイル毎に、タイル・オブジェクト126−eを有する実行報告(executive report)を作ることができる。
【0026】
[0051] オーサリング・コンポーネント110は、コンテンツ・ファイル104−cに対する種々のコンテンツ・ファイル・タイプに基づいて、選択されたコンテンツ・ファイル104−cに対してタイル・オブジェクト126−eを生成することができる。一旦コンテンツ・ファイル104−cがプレゼンテーション・タイル124−aと関連付けられたなら、オーサリング・コンポーネント110は、選択されたコンテンツ・ファイル104−cに対してタイル・オブジェクト126−eを生成することができる。一実施形態では、1つのコンテンツ・ファイル104−cが1つのプレゼンテーション・タイル124−aと関連付けられることによって、1対1の対応を形成することができる。一実施形態では、複数のコンテンツ・ファイル104−cが1つのプレゼンテーション・タイル124−aと関連付けられることによって、1対複数の対応を形成することもできる。
【0027】
[0052] タイル・オブジェクト126−eは、コンテンツ・ファイル104−cに対する表現、エージェント、または「ティーザー」(teaser)を含むことができる。タイル・オブジェクト126−eは、コンテンツ・コンシューマーが、関連するコンテンツ・ファイル104−cが興味深いか否か素早く容易に判断することを可能にするような方法でレンダリングされた関連コンテンツ・ファイル104−cからの1組の簡潔な情報であり、関連するコンテンツ・ファイル104−cをより近くから検査できる利点がある(merit)。
【0028】
[0053] タイル・オブジェクト126−eは、コンテンツ・ファイル104−cから引き出されたコンテンツ部分106−dを使用して生成されてもよい。コンテンツ部分106−dは、コンテンツ・ファイル104−cによって格納される完全な1組の情報から導かれる情報または抽出される情報の部分集合を含むことができる。モンタージュ120の1つの利点は、異なるコンテンツ・ファイル104−cからの情報を1つのプレゼンテーション表面122上において提示できることである。しかしながら、各コンテンツ・ファイル104−cは、1つのプレゼンテーション・タイル124−aの定められた領域内で提示出来るよりも多い情報量を含むこともあり得る。例えば、コンテンツ・ファイル104−1がワープロ文書を含む場合、オーサリング・コンポーネント110はこのワープロ文書内に含まれる全ての情報(例えば、テキスト、図(figure)、画像、図面(drawings)、埋め込みオブジェクト)を、サムネイルとして微小化したとしても、プレゼンテーション・タイル124−1の利用可能な面積または空間に収めることができない場合もある。したがって、オーサリング・コンポーネント110は、コンテンツ・ソース104−1内に含まれる1組の情報からの情報の部分集合を引き出し、この情報の部分集合を、プレゼンテーション・タイル124−1に対する1組の境界内に収まるようにフォーマットし、このフォーマットした情報の部分集合をタイル・オブジェクト126−1として格納することができる。例えば、タイル・オブジェクト126−1は、ワープロ文書の名称、ワープロ文書のコンテンツ・プロデューサー(例えば、著者)、およびワープロ文書からの画像の組み合わせを含むことができる。
【0029】
[0054] また、タイル・オブジェクト126−eは、対応するコンテンツ・ファイル104−cに対する参照(例えば、アドレス、ポインター、またはリンク)を含むか、またはこの参照と関連付けられてもよい。タイル・オブジェクト126−eが、もっと近くから検査するために、ユーザーによって選択されると、コンテンツ・ファイル104−cの最大忠実度表現を提示するために、対応するコンテンツ・ファイル104−cを引き出すのに参照を使用することができる。一実施形態では、参照は、ローカル・データーベースに格納されているコンテンツ・ファイル104−cに対するのでもよい。この場合、参照は、ピア・ツー・ピア技術を使用して、コンテンツ・ファイル104−cを引き出すために使用することができる。一実施形態では、参照は、リモート・データーストアに格納されているコンテンツ・ファイル104−cに対するのでもよい。この場合、参照は、ネットワーク記憶およびアクセス技術を使用して、コンテンツ・ファイル104−cを引き出すために使用することができる。
【0030】
[0055] 一実施形態では、1つのコンテンツ・ファイル104−cが1つのプレゼンテーション・タイル124−aと関連付けられるのでもよい。この場合、1つのタイル・オブジェクト126−eが各プレゼンテーション・タイル124−a内に提示される。一実施形態では、複数のコンテンツ・ファイル104−cが1つのプレゼンテーション・タイル124−aと関連付けられてもよい。この場合、複数のタイル・オブジェクト126−eは、1つのプレゼンテーション・タイル124−a内に提示されればよい。レンダリングするとき、コンテンツ・コンシューマーは、プレゼンテーション・コンポーネント130によって設けられる選択ツールを使用して、異なるプレゼンテーション・タイル124−a内に提示される複数のタイル・オブジェクト126−e間、そして1つのプレゼンテーション・タイル124−a内に提示される複数のタイル・オブジェクト126−e間においてもナビゲートし、コンテンツ・コンシューマーが興味深いタイル・オブジェクト126−eを選択できるようにする。例えば、コンテンツ・プロデューサーが対応するコンテンツ・ファイル104−1〜104−100からのピクチャーをプレゼンテーション・タイル124−1と関連付けると仮定する。100個のピクチャーに対するサムネイルが、タイル・オブジェクト126−1〜126−100として生成され、プレゼンテーション・タイル124−1に対する所与の寸法内に収まるように大きさを決めることができる。タイル・オブジェクト126−1〜126−100間でナビゲートして所与のピクチャーを選択し拡大するために、選択ツールを使用してもよい。
【0031】
[0056] 一旦ユーザーが異なるコンテンツ・ファイル104−cをプレゼンテーション表面122の異なるプレゼンテーション・タイル124−aと関連付けるためのオーサリング動作を完了したなら、オーサリング・コンポーネント110はプレゼンテーション表面122およびタイル・オブジェクト126−eを、モンタージュ120の一部として、格納することができる。
【0032】
[0057] プレゼンテーション・コンポーネント130は、モンタージュ・アプリケーション140に対するプレゼンテーション動作を総合的に管理することができ、電子デバイスの電子ディスプレイ上にモンタージュ120を提示するためのユーザー・インターフェース・ビューおよびツールを生成することを含む。一実施形態では、例えば、プレゼンテーション・コンポーネント130は、モンタージュ120のプレゼンテーション表面122上において、関連する各プレゼンテーション・タイル124−a内に各タイル・オブジェクト126−eを提示するために、第1ユーザー・インターフェース・ビューを生成することができる。プレゼンテーション・コンポーネント130は、タイル・オブジェクト126−eを選択する制御指令132−fを受け、選択されたタイル・オブジェクト126−eに対応するコンテンツ・ファイル104−cを提示するために第2ユーザー・インターフェース・ビューを生成する。
【0033】
[0058] 図2は、モンタージュ・アプリケーション140のオーサリング・コンポーネント110の更に詳細なブロック図を示す。オーサリング・コンポーネント110は、コンテンツ・ファイル104−cのタイプに対するタイプ定義に基づいて、コンテンツ・ファイル104−cからコンテンツのある部分を引き出すことによって、関連するコンテンツ・ファイル104−cに対してタイル・オブジェクト126−eをインテリジェントに生成することができる。例えば、このコンテンツの部分は、コンテンツ・ファイル104−cからのテキスト、コンテンツ・ファイル104−cについてのメタデーター、コンテンツ・ファイル104−cからのオブジェクト、またはこれらの何らかの組み合わせを含むことができる。
【0034】
[0059] 一実施形態では、コンテンツ・ファイル104−cは、モンタージュ・アプリケーション140を実装する同じ電子デバイス内に実装されるローカル・データーベース210に格納されてもよい。例えば、計算デバイスが、当該計算デバイスの大容量記憶デバイス上に格納されたコンテンツ・ファイル104−1、104−2を使用して、モンタージュ・アプリケーション140を実装することもできる。一実施形態では、コンテンツ・ファイル104−cが、モンタージュ・アプリケーション140を実装する電子デバイスとは異なる電子デバイスによって実装されるリモート・データーベース212に格納されてもよい。例えば、計算デバイスが、サーバー・デバイスの大容量記憶デバイスに格納されたコンテンツ・ファイル104−3を使用して、モンタージュ・アプリケーション140を実装することもできる。
【0035】
[0060] 図2に示す例示実施形態では、オーサリング・コンポーネント110が複数のタイプ・モジュール202−gを含むまたは実装してもよい。各タイプ・モジュール202−gは、それぞれのコンテンツ・ファイル104−cに対するコンテンツ・ファイル・タイプに対応することができる。コンテンツ・ファイル104−cに対するコンテンツ・ファイル・タイプの例には、限定ではなく、ワープロ・ファイル・タイプ、表計算ファイル・タイプ、プレゼンテーション・ファイル・タイプ、PIMファイル・タイプ、データーベース・ファイル・タイプ、パブリッシャー・ファイル・タイプ、図面ファイル・タイプ、ノート・ファイル・タイプ、メッセージ・ファイル・タイプ等というような、アプリケーション・ファイル・タイプを含むことができる。コンテンツ・ファイル104−cの更に他の例には、オーディオ・ファイル・タイプ、画像ファイル・タイプ、ビデオ・ファイル・タイプ、AVファイル・タイプ、アニメーション・ファイル・タイプ、ゲーム・ファイル・タイプ、マークアップ・ファイル・タイプ、ウェブ・ページ・タイプ等というような、マルチメディア・ファイル・タイプを含むことができる。尚、これらは、コンテンツ・ファイル・タイプの少数の例に過ぎず、実施形態はこれらの例に限定されないことは認めることができよう。
【0036】
[0061] タイプ・モジュール202−gは、コンテンツ・ファイル・タイプに対するタイプ定義204−hに基づいて、コンテンツ・ファイル104−cから情報を引き出し、この引き出した情報およびタイプ定義204−hに基づいてタイル・オブジェクト126−eを生成することができる。タイプ定義204−hは、コンテンツ・ファイル104−cから選択された部分を引き出すために、1組の定義、規則、プロパティ、メソッド、イベント、座標、または命令を含み、プレゼンテーション・タイル124−aの定められた領域内において抽出された部分をフォーマットすることができる。特定のコンテンツ・ファイル104−cに対して特定のタイプ定義204−hを実現することによって、オーサリング・コンポーネント110は特定のコンテキスト(例えば、ビジネス、個人)および関連する1組のコンテンツ・コンシューマーに対して特定的に設計された、高度カスタム化タイル・オブジェクト126−eを生成することができる。タイプ定義204−hは、モンタージュ・アプリケーション140に規定されるデフォルト・タイプの定義であってもよく、またはモンタージュ・アプリケーション140を使用して作られる、ユーザーが定めるタイプ定義であってもよい。
【0037】
[0062] 一例として、コンテンツ・ファイル104−1がワープロ文書104−1であり、タイプ・モジュール202−1がワープロ・ファイル・タイプに対するものであり、タイプ定義204−1がワープロ・ファイル・タイプについての1組の定義であると仮定する。タイプ定義204−1は、タイル・オブジェクト126−1を作るときに使用される種々のタイプの情報を含むことができる。例えば、タイプ定義204−1は、拡張可能マークアップ言語フォーマット(例えば、.docx、.docm、.dotx、.dotm)、バイナリー・フォーマット(例えば、.doc、.dot)、およびオープン文書フォーマット(例えば、.odt)というような、ワープロ・アプリケーションの異なるバージョンに関連してサポートされるファイル・フォーマットを含むことができる。タイプ定義204−1は、暗号化ファイルにアクセスするためのセキュリティ証明書(例えば、パスワード、証明書、公開鍵または秘密鍵)を含むことができる。タイプ定義204−1は、ファイルに対する埋め込みコードまたはロード・コード(loaded code)(例えば、マクロ、拡張パック(expansion pack))にアクセスするためのツールを含むことができる。タイプ定義204−1は、文書においてサポートされるフィールド(例えば、問い合わせ(Ask)フィールド、著者(Author)フィールド、データーベース(Database)フィールド、記入(Fillin)フィールド、グラフィック・ファイル読み込み(Includepicture)フィールド、テキスト読み込み(Includetext)フィールド、差し込み印刷(Mailmerge)フィールド)を含むことができる。タイプ定義204−1は、文書に対するリンクを扱うための規則を含むことができる(例えば、リンクされたオブジェクト、マスター文書、テンプレート参照、リンクされたカスケード型シート参照)、タイプ定義204−1は、データー集合(例えば、メール合併データー)を扱うための規則を含むことができる。タイプ定義204−1は、オブジェクト・リンキングおよび埋め込み(OLE)オブジェクトを扱うための規則を含むことができる。タイプ定義204−1についての他の情報も可能であり、実施形態はこのコンテキストにおいて限定されない。
【0038】
[0063] 更に、タイプ定義204−1は、コンテンツ・ファイル104−1から引き出す情報のタイプに関する1組の規則を含むこともできる。例えば、タイプ定義204−1は、3つのクラスの情報および関連する規則を含むことができ、コンテンツ・ファイル104−1からのコンテンツおよびプロパティ・クラス(例えば、パラグラフまたはプロパティ)、コンテンツ・ファイル104−1についてのコンテンツ・オブジェクト・クラス(例えば、画像、埋め込みオブジェクト)、およびコンテンツ・ファイル104−1内におけるコンテンツ・ページ・クラス、またはこれらの何らかの組み合わせを含むことができる。尚、所与のコンテンツ・ファイル・タイプに対して、任意の数のクラスまたはカテゴリが定められてもよいことは認めることができよう。
【0039】
[0064] 一実施形態では、コンテンツおよびプロパティ・クラスの例は、以下のように、表1に例示することができる。
【0040】
【表1】
【0041】
[0065] 一実施形態では、コンテンツ・オブジェクト・クラスの例は、以下のように、表2に例示することができる。
【0042】
【表2】
【0043】
[0066] 一実施形態では、コンテンツ・ページ・クラスの例は、以下のように、表3に例示することができる。
【0044】
【表3】
【0045】
[0067] オーサリング・コンポーネント110は、タイプ・モジュール202−1および関連するタイプ定義204−1を使用して、ローカル・データーストア210からのコンテンツ・ファイル104−1からコンテンツ部分106−1を引き出すことができる。タイプ・モジュール202−1は、次いで、コンテンツ部分106−1を編成しフォーマットして、タイル・オブジェクト126−1を生成することができる。例えば、タイプ定義204−1についての規則が、最初のN個のパラグラフというような、文書内から引き出される任意のテキストが、文書内で指定されたスタイル・フォーマッティングを保持することを述べる(state)ことができる。他の規則が、文書内において実際のテキストでないコンテンツ・プロパティが、文書内で定義される通常スタイル(Normal Style)としてフォーマットされることでもよい。更に他の規則が、コンテンツ部分106−1のテキスト全体がプレゼンテーション・タイル124−1の寸法内に収まらない場合、そのテキストの終端に省略符号「...」が付けられることでもよい。これらは、単にいくつかの規則の例に過ぎず、他のものも可能である。実施形態は、このコンテキストにおいて限定されない。
【0046】
[0068] 場合によっては、タイプ定義204−1が、コンテンツおよびプロパティ・クラス、コンテンツ・オブジェクト・クラス、および、コンテンツ・ページ・クラスの組み合わせからタイル・オブジェクト126−1を作るために1組の規則を定めるとよい。この組み合わせは、非公式に「マッシュアップ」と呼ばれることもある。これは、コンテンツ・ファイル104−1のコンテンツを表すために組み立てられる高度カスタム化タイル・オブジェクト126−1を考慮に入れている。
【0047】
[0069] 一実施形態では、異なるクラスの組み合わせの例は、以下のように、表4に例示することができる。
【0048】
【表4】
【0049】
[0070] また、タイプ定義204−1は、タイル・オブジェクト126−1をクラス内の1つのクラスまたはタイプに限定する規則を与えることもできる。例えば、タイプ・モジュール202−1がコンテンツ・ファイル104−1からのテキスト形態のコンテンツ、またはコンテンツ・ファイル104−1に対する画像形態のコンテンツ・オブジェクトのみを使用することを、規則が定めることもできる。
【0050】
[0071] タイプ定義204−1は、更に、コンテンツ・ファイル104−1に対してタイル・オブジェクト126−1を生成するデバイスを特定することもできる。例えば、タイプ・モジュール202−1がサーバー・デバイスと相互作用してタイル・オブジェクト126−1を生成し引き出すことを、規則が定めることもできる。
【0051】
[0072] 更にまた、タイプ定義204−1は、最終的な選択のためにユーザーに提示するために、タイル・オブジェクト126−1の複数のバージョンのリストを生成する規則を設けることもできる。例えば、規則がP通りのバージョンのタイル・オブジェクト126−1を生成することもでき、Pは任意の正の整数を表す(例えば、P=10)。タイル・オブジェクト126−1の複数のバージョンのリストは、以下のように表5に示す例にしたがって生成することができる。
【0052】
【表5】
【0053】
[0073] タイプ・モジュール202−gは、タイプ定義204−hによって与えられるものに対する追加の情報を使用して、タイル・オブジェクト126−eを生成することができる。例えば、タイプ・モジュール202−gは、コンテンツ・ファイル104−aに対して選択されたプレゼンテーション・タイル124−aについての情報を入力として受けることができる。タイプ・モジュール202ーgは、位置、サイズ、形状、寸法、幾何学的形状、境界、隣接するプレゼンテーション・タイル124−a、近隣の(adjoining)プレゼンテーション・タイル124−a等というような情報を受けることができる。例えば、タイプ・モジュール202−1がタイル・オブジェクト126−1を組み立てるためにタイプ定義204−1を使用しているが、タイル・オブジェクト126−1がプレゼンテーション・タイル124−1の現在の寸法には大きすぎる場合、タイプ・モジュール202−1は、隣接するまたは近隣のプレゼンテーション・タイル124−2、124−3についての情報を使用して、もっと大きなタイル・オブジェクト126−1を収容するためにプレゼンテーション・タイル124−1に対する現在の寸法を拡大させるとよいか、そしてこれに応じてプレゼンテーション・タイル124−2、124−3に対する現在の寸法を縮小させるとよいか否か判断することができる。オーサリング・コンポーネント110は、このような場合に対処するために、種々のはめ込みアルゴリズムを実装することができる。
【0054】
[0074] 図3Aは、オーサリング・コンポーネント110によって生成されるユーザー・インターフェース・ビュー300の一実施形態を示す。ユーザー・インターフェース・ビュー300は、いずれのタイル・オブジェクト126−eもコンテンツ・ファイル104−cのために作られる前には複数の空白プレゼンテーション・タイル124−aを有するプレゼンテーション表面122を含むことができる。また、ユーザー・インターフェース・ビュー300は、コピー・コマンド302−1、カット・コマンド302−2、およびペースト・コマンド302−3のような、著者からの制御指令102−bを受けるために、種々のグラフィカル・ユーザー・インターフェース(GUI)ツール302−sも含むことができる。移動コマンド、ペースト特殊コマンド等というような、図3Aに示すものを超える、他のGUIツール302−sも使用してもよい。
【0055】
[0075] 更に、ユーザー・インターフェース・ビュー300は、ファイル・ナビゲーション・ツール304も含むことができる。ファイル・ナビゲーション・ツール304は、格納されているデーター・ファイルによってファイル・システムをナビゲートするために設計された所与のOSのために、ファイル管理アプリケーションを含むことができる。例えば、ファイル・ナビゲーション・ツール304は、ローカル・データーストア210またはリモート・データーストア212から種々のコンテンツ・ファイル104−cをナビゲートし提示するために使用することができる。ファイル・ナビゲーション・ツール304の一例には、MICROSOFT WINDOWSオペレーティング・システム用に設計されたMICROSOFT WINDOWS EXPLORERを含むことができる。他のファイル・ナビゲーション・ツールも使用することができる。
【0056】
[0076] オーサリング動作の間、オーサリング・コンポーネント110は、コンテンツ・ファイル104−1をプレゼンテーション・タイル124−1と関連付ける制御指令102−bを、例えば、ポインティング・デバイス308のような入力デバイス、またはタッチ・スクリーン・ディスプレイ上におけるジェスチャーから受けることができる。例えば、コンテンツ・プロデューサーは、ファイル・ナビゲーション・ツール304を利用して、一方または双方のデーターストア210、212によって格納されているコンテンツ・ファイル104−cをナビゲートし提示することによって、モンタージュ120を作ることができる。コンテンツ・プロデューサーは、ポインティング・デバイス308のような入力デバイスまたはタッチ・スクリーン・ディスプレイ上におけるジェスチャー310を使用して、プレゼンテーション・タイル124−aのためにコンテンツ・ファイル104−cを選択することができる。図示のように、ポインティング・デバイス308は、コンテンツ・ファイル104−1を選択するために使用され、コンテンツ・ファイル104−1をプレゼンテーション・タイル124−1上に動かすために、ドラッグ・アンド・ドロップ技法を使用することができる。あるいは、同様の動作を行うために、GUI入力ツール302が使用されてもよい。
【0057】
[0077] 図3Bは、オーサリング・コンポーネント110によって生成されるユーザー・インターフェース・ビュー320の一実施形態を示す。ユーザー・インターフェース・ビュー320は、コンテンツ・ファイル104−1に対してタイル・オブジェクト126−1が作られた後には満たされているプレゼンテーション・タイル124−1を有するプレゼンテーション表面122を含むことができる。一旦コンテンツ・プロデューサーがコンテンツ・ファイル104−1を選択しそれをプレゼンテーション・タイル124−1と関連付けたなら、オーサリング・コンポーネント110はコンテンツ・ファイル104−1に対してコンテンツ・ファイル・タイプを特定することができる。この例では、オーサリング・コンポーネント110は、コンテンツ・ファイル104−1に対するコンテンツ・ファイル・タイプを、アプリケーション・ファイル・タイプとして特定し、更に特定すれば、ワープロ・ファイルとして特定する。オーサリング・コンポーネント110は、ワープロ・ファイルからタイル・オブジェクトを生成するために特定的に設計されたタイプ・モジュール202−1およびタイプ定義204−1を利用することができる。タイプ・モジュール202−1は、タイプ定義204−1を使用して、コンテンツ・ファイル104−1からしかるべきコンテンツ部分106−1を引き出すことができ、コンテンツ部分106−1は、コンテンツおよびプロパティ・クラス、コンテンツ・オブジェクト・クラス、コンテンツ・ページ・クラス、またはクラスの組み合わせの情報を含む。タイプ・モジュール202−1は、コンテンツ部分106−1を使用してタイル・オブジェクト126−1を生成し、プレゼンテーション・タイル124−1の境界内にタイル・オブジェクト126−1を提示することができる。
【0058】
[0078] 図4は、タイル・オブジェクト126−1を生成するオーサリング・コンポーネント110の一例を示す。図示のように、コンテンツ・ファイル104−1は、種々のタイプのコンテンツおよびプロパティ・クラスの情報を含むことができ、名称402、第1パラグラフ404、第2パラグラフ406、および種々のメタデーター408を含む。更に、コンテンツ・ファイル104−1は、種々のタイプのコンテンツ・オブジェクト・クラスの情報も含むことができ、画像410、棒グラフ412、および式414を含む。タイプ定義204−1は、5つの規則を含むことができる。これらの規則は、「タイル・テンプレート1」と名付けられた特定のタイル・テンプレートを使用するための第1規則、名称402を引き出すための第2規則、メタデーター408から著者を引き出すための第3規則、最初のN個のパラグラフ404、406(例えば、N=2)を引き出すための第4規則、および第1グラフを引き出すための第5規則を含む。第1グラフは、この場合、棒グラフ412となる。タイプ・モジュール201−1は、タイプ定義204−1を使用して、タイプ定義204−1の規則1〜5にしたがってコンテンツ・ファイル104−1からコンテンツ部分106−1を引き出し、タイル・オブジェクト126−1を生成することができる。タイル・オブジェクト126−1は、「タイル・テンプレート1」にしたがってフォーマットされたコンテンツ部分106−1の特定情報と共に、ユーザー・インターフェース・ビューとして提示される。
[0079] 図5は、モンタージュ・アプリケーション140によって生成されたモンタージュ120を公開または配布するのに適したメッセージング・システム500の一実施形態を示す。コンテンツ・プロデューサーは、モンタージュ・アプリケーション140を使用し、ユーザー・インターフェース・コンポーネント540によって供給される種々のユーザー・インターフェース・ビューを使用して、モンタージュ120を生成することができる。ユーザー・インターフェース538は、モンタージュ・アプリケーション140用のネーティブ・ユーザー・インターフェース・コンポーネント、またはモンタージュ・アプリケーション140を実行するOS(例えば、Microsoft Windows)用のユーザー・インターフェース・コンポーネントを含むことができる。一旦モンタージュ120が生成されたなら、コンテンツ・プロデューサーは、公開モデル、メッセージング・モデル、または公開モデルおよびメッセージング・モデルの組み合わせを使用して、モンタージュ120を種々のコンテンツ・コンシューマーに配布することができる。
【0059】
[0080] 一実施形態では、モンタージュ・アプリケーション140は、公開コンポーネント532を使用して、モンタージュおよび関連するコンテンツ・ファイル104−cをローカル・データーストア210からリモート・データーストア212に公開することができる。リモート・データーストア212は、例えば、ソーシャル・ネットワーキング・サービス(SNS)のような、ネットワーク・サービスによってアクセス可能なネットワーク・ストレージ・サーバー550の一部として実現することができる。コンテンツ・コンシューマーは、ネットワーク・サービスにアクセスしてネットワーク・サービス・バージョンを見ることができる。
【0060】
[0081] 一実施形態では、モンタージュ・アプリケーション140はネーティブ・メッセージ・コンポーネント534を使用して、モンタージュ120および関連するコンテンツ・ファイル104−cをメッセージ516およびメッセージ添付ファイルとして、メッセージ・サーバー540のようなメッセージング・アーキテクチャーに送ることができる。コンテンツ・コンシューマーは、メッセージ・バージョンにアクセスしてこれを見ることができる。あるいは、モンタージュ・アプリケーション140は外部(非ネーティブ)メッセージ・アプリケーション542−kを使用することもできる。
【0061】
[0082] 一実施形態では、モンタージュ・アプリケーション140は、公開モデルおよびメッセージング・モデル双方の組み合わせを使用し、モンタージュ120および関連するコンテンツ・ファイル104−cをネットワーク・サービスに公開することによって、モンタージュ120および関連するコンテンツ・ファイル104−cのネットワーク・バージョンのためのリンク518−nを受け、このリンク518−nによってメッセージ516を送ることができる。コンテンツ・コンシューマーは、メッセージ516にアクセスし、リンク518−nを選択し、モンタージュ120のネットワーク・バージョンを見ることができる。更に、コンテンツ・コンシューマーは、モンタージュ120のタイル・オブジェクト126−eを選択して、この選択したタイル・オブジェクト126−eに関連するコンテンツ・ファイル104−cのネットワーク・バージョンを見ることができる。
【0062】
[0083] モンタージュ・アプリケーション140は、セキュリティ・コンポーネント536を使用して、コンテンツ・コンシューマーによるモンタージュ120および関連するコンテンツ・ファイル104−cに対する許可およびアクセスを管理することができる。セキュリティ・コンポーネント536は、アカウント、認証情報、許可情報、セキュリティ情報(例えば、暗号化/解読アルゴリズム、セキュリティ鍵、証明書等)、許可レベル等を管理することができる。一実施形態では、セキュリティ・コンポーネント536は、入力デバイスから制御指令を受けることができる。この制御指令は、ネットワーク・サービスによってアクセス可能なネットワーク・ストレージ・サーバー550のためにコンテンツ・ファイル104−cをローカル・データーストア210からリモート・データーストア212に伝達することを許可するための、コンテンツ・プロデューサーからのコマンドを表す。
【0063】
[0084] 図5に示す例示実施形態では、メッセージング・システム500は、複数の計算デバイス510−j、メッセージ・サーバー540、およびネットワーク・ストレージ・サーバー550を含むことができ、これらは全てネットワーク530を介して通信する。計算デバイス510−jは、各々、モンタージュ・アプリケーション140および/または1つ以上のメッセージ・アプリケーション542−kを実装する。図5に示すメッセージング・システム500は、ある種のトポロジーでは限られた数のエレメントを有するが、メッセージング・システム500は、代わりのトポロジーでは、所与の実現例に望まれる通りに、それよりも多いまたは少ないエレメントを含むことができる。
【0064】
[0085] ネットワーク530は、メッセージング・システム500の種々のデバイス間において情報を伝達するように設計された通信フレームワークを含むことができる。ネットワーク530は、パケット交換ネットワーク(例えば、インターネットのような公開ネットワーク、企業イントラネットのような私有ネットワーク等)、回線交換ネットワーク(例えば、公衆電話交換ネットワーク)、またはパケット交換ネットワークおよび回線交換ネットワークの組み合わせ(適したゲートウェイおよび変換器を使用する)との使用に適した技法というような、周知の通信技法の内任意のものを実施することができる。
【0065】
[0086] メッセージ・サーバー540は、1つ以上のサーバー計算デバイスおよび/またはサーバー・プログラムを含むたは採用することができる。これらは、記載する実施形態にしたがって、種々の方法を実行するように動作する。例えば、インストールされるおよび/または展開されると、サーバー・プログラムはある種のサービスおよび機構を設けるためにサーバー計算デバイスの1つ以上のサーバーの役割をサポートすることができる。メッセージ・サーバー540の例には、例えば、MICROSOFT OS、UNIX(登録商標)OS、LINUX(登録商標)OS、または他の適したサーバー・ベースOSというような、サーバーOSを動作させる、単体のサーバー・コンピューターまたは企業クラスのサーバー・コンピューターを含むことができる。サーバー・プログラムの例には、例えば、着信メッセージおよび発送メッセージを管理するための、MICROSOFT OFFICE COMMUNICATIONS SERVER (OCS) というような通信サーバー・プログラム、電子メール、音声メール、VoIP、インスタント・メッセージング(IM)、グループIM、拡張プレゼンス(enhanced presence)、およびオーディオ−ビデオ会議のために統一されたメッセージング(UM)を提供する MICROSOFT EXCHANGE SERVER というようなメッセージング・サーバー・プログラム、および/または記載する実施形態に従う他のタイプのプログラム、アプリケーション、またはサービスを含むことができる。
【0066】
[0087] また、ネットワーク・ストレージ・サーバー550も、記載する実施形態にしたがって種々の方法を実行するように動作する1つ以上のサーバー計算デバイスおよび/またはサーバー・プログラムも含むまたは採用することができる。例えば、インストールおよび/または展開されると、サーバー・プログラムはある種のサービスおよび機構を設けるためにサーバー計算デバイスの1つ以上のサーバーの役割をサポートすることができる。ネットワーク・ストレージ・サーバー540の例には、例えば、MICROSOFT OS、UNIX OS、LINUX OS、または他の適したサーバー・ベースOSというような、サーバーOSを動作させる、単体のサーバー・コンピューターまたは企業クラスのサーバー・コンピューターを含むことができる。サーバー・プログラムの例には、例えば、文書およびファイルのオンライン・ネットワーク・ストレージを提供するMICROSOFT LIVEのような、ネットワーク・ストレージ・サーバー・プログラムを含むことができる。ファイルは、画像、写真、写真アルバム、ビデオ、ビデオ・アルバム等のようなマルチメディア・ファイルまたはメディア・ファイルを含む。更に、サーバー・プログラムの例には、例えば、ソーシャル・ネットワーキング・アプリケーション・プログラムのようなネットワーク・アプリケーション・プログラム、サーチ・アプリケーション、文書管理プログラム、ウェブログ(ブログ)、ワープロ・プログラム、表計算プログラム、データーベース・プログラム、描画プログラム、文書共有プログラム、メッセージ・アプリケーション、ウェブ・サービス、ウェブ・アプリケーション、ウェブ・サーバー、および/または記載する実施形態にしたがう他のタイプのプログラム、アプリケーション、またはサービスを含むことができる。
【0067】
[0088] 計算デバイス510−jは、各々、プロセッサー502と、このプロセッサー502と通信可能に結合されるメモリー504とを含むことができる。プロセッサー502およびメモリー504は、各々、通信インターフェース509に通信可能に結合されるとよい。アーキテクチャー例および計算デバイス510−jの例については、図10を参照して説明することができる。
【0068】
[0089] 通信インターフェース509は、計算デバイス510−jが互いにそしてメッセージング・システム500の他のデバイスとネットワーク530を介して通信することを可能にするために、種々の通信技法を含むまたは実装することができる。例えば、メッセージング・システム500の種々のデバイスは、各々、通信インターフェース509を含むことができる。通信インターフェース509は、1つ以上の通信インターフェース、ネットワーク・インターフェース、ネットワーク・インターフェース・カード(NIC)、無線機、ワイヤレス送信機/受信機(送受信機)、有線および/またはワイヤレス通信媒体、物理コネクター等のような、ネットワーク530と相互動作可能に設計される、種々のタイプの標準的な通信エレメントを実装する。一例として、そして限定ではなく、通信媒体は、有線通信媒体およびワイヤレス通信媒体を含む。有線通信媒体の例には、ワイヤ、ケーブル、金属リード、印刷回路基板(PCB)、バックプレーン、スイッチ・ファブリック、半導体材料、撚り線対、同軸ケーブル、光ファイバー、伝搬信号等を含むことができる。ワイヤレス通信媒体の例には、音響、無線周波(RF)スペクトル、赤外線、および他のワイヤレス媒体を含むことができる。
【0069】
[0090] 種々の実施形態において、通信インターフェース509は、複数の異なるタイプのトランスポート(transport)512−mを含むことができる。トランスポート512−mの各々は、メッセージング・システム500の種々のデバイス間で情報を伝達するために、同じまたは異なる1組の通信パラメーターを実装または利用することができる。一実施形態では、例えば、トランスポート512−mの各々は、計算デバイス510−jとメッセージ・サーバー540との間において情報を伝達するために、異なる1組の通信パラメーターを実装または利用することができる。通信パラメーターの例には、限定ではなく、通信プロトコル、通信規格、無線周波数(RF)帯、無線機、送信機/受信機(送受信機)、無線プロセッサー、ベースバンド・プロセッサー、ネットワーク・スキャニング閾値パラメーター、無線周波数チャネル・パラメーター、アクセス・ポイント・パラメーター、レート選択パラメーター、フレーム・サイズ・パラメーター、集計サイズ・パラメーター、パケット・リトライ制限パラメーター、プロトコル・パラメーター、無線パラメーター、変調および符合化方式(MCS)、承認パラメーター、メディア・アクセス制御(MAC)レイヤー・パラメーター、物理(PHY)レイヤー・パラメーター、ならびに計算デバイス510−jによって実現される通信インターフェース509の動作に影響を及ぼす任意の他の通信パラメーターを含むことができる。実施形態は、このコンテキストにおいて限定されない。
【0070】
[0091] 種々の実施形態では、計算デバイス510−1の通信インターフェース509は、可変帯域幅または通信速度を提供する異なる通信パラメーターを実装することができる。例えば、トランスポート512−1は、ネットワーク530への情報の高速通信に適した通信パラメーターを実装する高速インターフェースを含むことができ、一方トランスポート512−2は、それよりも遅いネットワーク530への情報通信に適した通信パラメーターを実装する低速インターフェースを含むことができる。
【0071】
[0092] 有線通信に関して、例えば、トランスポート512−1は、インターネットのようなパケット交換ネットワークを介して情報を通信するように設計されたネットワーク・インターフェースを含むことができる。トランスポート512−1は、異なるタイプの有線ネットワーク・システムまたはプロトコルにしたがって機能的にデーター通信を設けるように構成することができる。データー通信サービスを提供する適した有線ネットワーク・システムの例には、インターネット・エンジニアリング・タスク・フォース(IETF)送信制御プロトコル(TCP)およびインターネット・プロトコル(IP)の一揃いの通信規格、ユーザー・データーグラム・プロトコル(UDP)、データーグラム輻輳制御プロトコル(DCCP)、ストリーム制御送信プロトコル(SCTP)、リソース予約プロトコル(RSVP)、明示的輻輳通知(ECN)プロトコル、 一揃いのオープン最短パス優先(OSPF:Open Shortest Path First)プロトコル、高信頼性トランスポート・プロトコル(RTP)、IETFリアル・タイム・トランスポート・プロトコル(RTP)等を含むことができる。トランスポート512−2は、シンプル・メール・トランスファ・プロトコル(SMTP)、拡張SMTP(ESMTP)、ポスト・オフィス・プロトコル(POP)、POP3、インターネット・メッセージ・アクセス・プロトコル(IMAP)、多目的インターネット・メール拡張(MIME)プロトコル、ユニックス−ユニックス・コピー(UUCP)プロトコル、ITU-T X.400プロトコルのような一揃いの国際電気通信連合(ITU)プロトコル等というような、異なるメッセージ・プロトコルにしたがってデーター通信を提供するように構成することができる。尚、他の優先通信技法を実施してもよく、実施形態はこのコンテキストにおいて限定されないことは認めることができよう。
【0072】
[0093] ワイヤレス通信に関して、例えば、トランスポート512−1は、ワイヤレス・ローカル・エリア・ネットワーク(WLAN)を介して情報を伝達するように設計された無線機を含むことができる。トランスポート512−1は、異なるタイプのワイヤレス・ネットワーク・システムまたはプロトコルにしたがって機能的にデーター通信を提供するように構成することができる。データー通信サービスを提供する適したワイヤレス・ネットワーク・システムの例には、IEEE802.11a/b/g/nシリーズの標準プロトコルおよびバリアント(「WiFi」とも呼ばれる)、IEEE802.16シリーズの標準プロトコルおよびバリアント(「WiMAX」とも呼ばれる)、IEEE802.20リリースの標準プロトコルおよびバリアント等というような、米国電気電子工学学会(IEEE)の802.xxシリーズのプロトコルを含むことができる。トランスポート512−2は、1つ以上のセルラ無線電話システムによって提供されるデーター・ネットワーキング・リンクを介して情報を伝達するように設計された無線機を含むことができる。データー通信サービスを提供するセルラ無線電話システムの例には、GSM/一般パケット無線サービス(GPRS)システム(GSM/GPRS), CDMA/1xRTTシステム、GSM進化型高速データー・レート(EDGE)システム、進化データー専用または進化データー最適化(EV-DO)システム、データーおよび音声進化 (EV-DV)システム、高速ダウンリンク・パケット・アクセス(HSDPA)システム、高速上り方向パケット・アクセス (HSUPA)等を含むことができる。尚、他のワイヤレス技法を実施してもよく、実施形態はこのコンテキストにおいて限定されないことは認めることができよう。
【0073】
[0094] 種々の実施形態において、計算デバイス510−1の通信インターフェース509は、同一または実質的に同様の帯域幅または通信速度を提供する、同じ1組の通信パラメーターを実装することができる。しかしながら、トランスポート512−1、512−2は、異なる時点において、モンタージュ・アプリケーション140および/またはメッセージ・アプリケーション542−1によって利用されてもよい。一実施形態では、例えば、モンタージュ・アプリケーション140が第1時間間隔の間にモンタージュ120およびモンタージュ120のための1つ以上のコンテンツ・ファイル104−cを伝達することができ、モンタージュ・アプリケーション140および/またはメッセージ・アプリケーション542−1は、第2時間間隔の間に、メッセージ516をモンタージュ120および/またはサポートするコンテンツ・ファイル104−cに関する情報と共に伝達することができる。一実施形態では、例えば、第1および第2時間間隔は、完全に不連続であってもよく、この場合、第1時間間隔の開始時刻および終了時刻は、第2時間間隔の開始時刻よりも前になる。一実施形態では、例えば、第1および第2時間間隔が部分的にオーバーラップしてもよく、この場合、第1時間間隔の開始時刻は第2時間間隔の開始時刻よりも前になるが、第1時間間隔の終了時刻は、第2時間間隔の開始時刻よりも後になる。実施形態は、このコンテキストにおいて限定されない。
【0074】
[0095] 計算デバイス510−jは、各々、モンタージュ・アプリケーション140に、メッセージ・コンポーネント534および/または種々のタイプのメッセージを種々のフォーマットで伝達するように構成された1つ以上のメッセージ・アプリケーション542−kを実装することができる。メッセージング・モデル用のメッセージ・アプリケーション542−kを参照して一実施形態について説明するが、このような説明は、モンタージュ・アプリケーション140のメッセージ・コンポーネント534を利用する他の実施形態にも応用することができる。
【0075】
[0096] メッセージ・アプリケーション542−kの各々は、特定の種類のトランスポートを代表することができ、特定のアプリケーションに対する特定のタイプおよびフォーマットのメッセージを扱うことを可能にする。メッセージ・アプリケーション542−kは、限定ではなく、ファクシミリ・アプリケーション、ビデオ・メッセージ・アプリケーション、インスタント・メッセージング(IM)アプリケーション、チャット・アプリケーション、電子メール(eメール)アプリケーション、ショート・メッセージ・サービス(SMS)アプリケーション、マルチメディア・メッセージ・サービス(MMS)アプリケーション、ソーシャル・ネットワーク・システム(SNS)アプリケーション等を含むことができる。尚、実施形態はこれに関して限定されないこと、そしてメッセージ・アプリケーション542−kは、記載する実施形態と一貫する任意の他のタイプのメッセージング・アプリケーションまたは通信アプリケーションを含んでもよいことは言うまでもない。また、計算デバイス510−jは、各々、記載する実施形態と一貫するメッセージ・アプリケーション542−kに加えて、他のタイプのアプリケーションも実装してもよいことも認められてしかるべきである。
【0076】
[0097] 図5に示すように、例えば、計算デバイス510−1、510−2は、それぞれのメッセージ・アプリケーション542−1、542−2を実装する。メッセージ・アプリケーション542−1、542−2は、一般に、計算デバイス510−1、510−2のためにメッセージを生成し、送信し、受信し、更新し、変更し、それ以外では管理するように動作することができる。尚、本明細書において説明する計算デバイス510−1およびそのメッセージ・アプリケーション542−1について示される実現例の詳細は、計算デバイス510−2およびそのそれぞれのメッセージ・アプリケーション542−2にも該当することは認めることができよう。
【0077】
[0098] 一実施形態では、メッセージ・アプリケーション542−1、542−2は、単体のクライアント・ベース・アプリケーションとして実装され、計算デバイス510−1のプロセッサー502およびメモリー504のような、計算デバイス510−1、510−2によって設けられるローカル・リソースによって格納および実行され、ネットワーク・デバイスにおいて実装され、ウェブ・ブラウザーを介して計算デバイス510−1、510−2によってアクセスされるネットワーク・ベースのメッセージ・アプリケーションではない。一実施形態では、メッセージ・アプリケーション542−1、542−2は、分散処理に適しており、部分的に計算デバイス510−1、510−2のローカル・リソースにおいて実行し、部分的にネットワーク・リソースにおいて実行する分散型アプリケーションを含むことができる。加えてまたは代わりに、メッセージ・アプリケーション542−1、542−2は、ネットワーク・デバイスにおいて実装され、ウェブ・ブラウザーを介して計算デバイス510−1、510−2によってアクセスされるネットワーク・ベースのメッセージ・アプリケーションを含むこともできる。実施形態は、このコンテキストにおいて限定されない。
【0078】
[0099] 一実施形態では、例えば、メッセージ・アプリケーション542−1は、メッセージ516をトランスポート512−2を介して伝達するように構成することができる。メッセージ516は、トランスポート512−2を介して通信されるときは、モンタージュ120および/または1つ以上のコンテンツ・ファイル104−cのための1つ以上の埋め込みリンク518−n、および/またはモンタージュ120を含むことができる。1つ以上の埋め込みリンク518−nは、例えば、ネットワーク・ストレージ・サーバー550に格納されメッセージ送信側またはメッセージ受信側によってアクセス可能な、モンタージュ120および/または1つ以上のコンテンツ・ファイル104−cに対する参照を含むことができる。
【0079】
[00100] リンク518−nの各々は、格納されているモンタージュ120およびコンテンツ・ファイル104−cに対する参照またはポインターを含むことができる。この参照またはポインターは、ユーザーが直接追跡することができ、またはプログラムによって自動的に追跡される。参照は、デバイス(例えば、ファイル・サーバー)のメモリーにおけるいずれかの位置にある参照先(referent)(例えば、オブジェクト、ファイル、データー項目等というような、格納されたモンタージュ120およびコンテンツ・ファイル104−c)を指し示すデーター型であり、参照先にアクセスするために使用される。一般に、参照は、プログラムが直接参照先をアクセスすることを可能にする値である。参照先は、参照と同じデバイスに格納しても、参照とは異なるデバイスに格納してもよい。殆どのプログラミング言語は、何らかの形態の参照をサポートする。リンク518−nの例には、限定ではなく、ワールド・ワイド・ウェブ(WWW)によって使用されるような、ハイパーテキストおよびハイパーリンクを含むことができる。ハイパーテキストとは、ハイパーリンクが付いたテキストである。ハイパーリンクは、通例、アンカーを含む。アンカーとは、そのハイパーリンクを追跡することができるメッセージ内の位置である。ハイパーリンクのターゲットは、格納されているモンタージュ120および/またはコンテンツ・ファイル104−cであり、ハイパーリンクが導く先である。ユーザーは、リンクのアンカーが示されているときに、リンクにタッチする(例えば、タッチ・スクリーン・ディスプレイの場合)またはポインティング・デバイス(例えば、マウス)によってその上でクリックすることによってというように、リンクを何らかの方法でアクティブにすることによって、リンクを追跡することができる。リンク518−nがアクティブになったなら、ウェブ・ブラウザーまたはアプリケーション・プログラムによってそのターゲットが表示される。
【0080】
[00101] 既に説明したように、モンタージュ・アプリケーション140は、公開モデルおよびメッセージング・モデル双方の混成を使用し、モンタージュ120および関連するコンテンツ・ファイル104−cをネットワーク・ストレージ・サーバー550のリモート・データーストア212に公開することによって、モンタージュ120および関連するコンテンツ・ファイル104−cのためのリンク518−nを受け、リンク518−nと共にメッセージ516を送ることができる。コンテンツ・コンシューマーは、メッセージ516にアクセスし、リンク518−nを選択し、モンタージュ120のネットワーク・バージョンを見ることができる。更に、コンテンツ・コンシューマーは、モンタージュ120のタイル・オブジェクト126−eを選択して、この選択したタイル・オブジェクト126−eに関連するコンテンツ・ファイル104−cのネットワーク・バージョンを見ることができる。この混成モデルについては、図6を参照して更に詳しく説明する。
【0081】
[00102] 図6は、メッセージング・システム500についてのメッセージ・フローの一実施形態を示す。図6に示すように、公開コンポーネント532は、モンタージュ120および関連するコンテンツ・ファイル104−cをネットワーク・サービス652に公開することができる。公開コンポーネント532は、矢印602で示すように、モンタージュ120および関連するコンテンツ・ファイル104−cをネットワーク・ストレージ・サーバー550にトランスポート512−1を介して送ることができる。高速トランスポートであるため、トランスポート512−1は、例えば、メッセージ516のメッセージ・サイズと比較して相対的に大きなファイル・サイズを伴うことが通例であるコンテンツ・ファイル104−cを伝えるのに十分な帯域幅を有することができる。
【0082】
[00103] ネットワーク・ストレージ・サーバー550は、モンタージュ120および関連するコンテンツ・ファイル104−cを受信し、これらをリモート・データーストア212に格納することができる。矢印604で示すように、ネットワーク・ストレージ・サーバー550は、次いで、リモート・データーストア212に格納されているモンタージュ120およびコンテンツ・ファイル104−cに対するリンク518−nを送ることができる。
【0083】
[00104] 公開コンポーネント532は、リンク518−nを受信し、これらのリンクをオーサリング・コンポーネント110に転送することができる。オーサリング・コンポーネント110は、リンク518−nを各タイル・オブジェクト126−eと関連付け、コンテンツ・コンシューマーが、コンテンツ・ファイル104−cを更に深く検討するために、タイル・オブジェクト126−eを選択しリモート・データーストア212からの関連コンテンツ・ファイル104−cにアクセスすることができるように、モンタージュ120をこれらの関連付けによって更新する。
【0084】
[00105] 一実施形態では、公開モデルにしたがって(consistent with)、オーサリング・コンポーネント110は、更新したモンタージュ120を公開コンポーネント532に送ることができる。すると、矢印606で示すように、公開コンポーネント532は、更新したモンタージュ120およびリンク518−nをネットワーク・サービス652において公開することができる。例えば、ネットワーク・サービス652は、ソーシャル・ネットワーキング・サービス(SNS)を含むことができ、コンテンツ・プロデューサーと定められた関係(例えば、友人)を有するコンテンツ・コンシューマーが、公開されたリンク518−nを介して、モンタージュ120および関連するコンテンツ・ファイル104−cにアクセスすることができる。他の例では、ネットワーク・サービス652がコンテンツ・プロデューサーにアカウントを与えるのでもよく、ネットワーク・サービス652および/またはセキュリティ・コンポーネント536に対して設定された許可にしたがって、コンテンツ・コンシューマーが見るために、イネーブルすることができる。コンテンツ・コンシューマーは、計算デバイス510−2を介してネットワーク・サービス652にアクセスし、ウェブ・ブラウザーを介してモンタージュ120のファイルへのリンク518−nを選択し、矢印610で示すように、リモート・データーストア212にモンタージュ120を要求することができる。ネットワーク・サービス652は、この要求を受け、矢印612で示すように、モンタージュ120を計算デバイス510−2に送ることができる。計算デバイス510−2は、プレゼンテーション・タイル124−aにおけるタイル・オブジェクト126−eによって、モンタージュ120をプレゼンテーション表面122のユーザー・インターフェース・ビューとして提示することができる。計算デバイス510−2は、ユーザー・インターフェース・ビューを、ウェブ・ブラウザーのためのウェブ・ページとして、またはモンタージュ・アプリケーション140のようなアプリケーション・プログラムのユーザー・インターフェース・ビューとして、またはモンタージュ120を見るために設計されたモンタージュ・ビューアーとして生成することができる。
【0085】
[00106] 一実施形態では、メッセージング・モデルにしたがって、オーサリング・コンポーネント110は、更新したモンタージュ120およびリンク518−nをメッセージ・コンポーネント534(または、メッセージ・アプリケーション542−1)に転送することができる。メッセージ・コンポーネント534は、入力として、リンク518−nおよびメッセージ・コンテンツ620を受けることができる。メッセージ・コンテンツ620は、コンテンツ・プロデューサーからのメッセージを含むことができる。メッセージ・コンポーネント534は、メッセージ・コンテンツ620およびリンク518−nによってメッセージ516を生成することができる。加えてまたは代わりに、メッセージ516は、任意に、ファイル・サイズの制約およびメッセージ・トランスポート512−2において利用可能な帯域幅に依存して、モンタージュ120および/またはある種のコンテンツ・ファイル104−cを含むこともできる。モンタージュ120は、モンタージュ120の最大忠実度バージョン、または、モンタージュ120のサムネイル・バージョンというような、トランスポート512−2の利用可能な帯域幅に一層適した、忠実度を下げたバージョンのモンタージュ120を構成することもできる。
【0086】
[00107] 矢印608で示すように、メッセージ・コンポーネント534は、トランスポート512−2を介して、計算デバイス510−2のメッセージ・アプリケーション542−2に、メッセージ・サーバー540を経由してメッセージ516を送ることができる。コンテンツ・コンシューマーは、メッセージ516を開き、モンタージュ120へのリンク518−nを選択し、矢印610で示すように、モンタージュ120をリモート・データーストア212に要求することができる。ネットワーク・サービス652は、この要求を受け、矢印612で示すように、モンタージュ120を計算デバイス510−2に送ることができる。計算デバイス510−2は、プレゼンテーション表面122のユーザー・インターフェース・ビューとして、プレゼンテーション・タイル124−aにおけるタイル・オブジェクト126−eによって、モンタージュ120を提示することができる。計算デバイス510−2は、ユーザー・インターフェース・ビューを、ウェブ・ブラウザーのためのウェブ・ページとして、またはモンタージュ・アプリケーション140のようなアプリケーション・プログラムのユーザー・インターフェース・ビューとして、またはモンタージュ120を見るために設計されたモンタージュ・ビューアーとして生成することができる。
【0087】
[00108] 図7Aは、メッセージ例516のユーザー・インターフェース・ビュー700の一実施形態を示す。図6を参照して説明したように、コンテンツ・プロデューサーはモンタージュ・アプリケーション140および/またはメッセージング・アプリケーション542−1を使用して、モンタージュ120付きのメッセージ516またはモンタージュ120への参照付きのメッセージ516を生成して送ることができる。コンテンツ・コンシューマーは、メッセージ516を計算デバイス510−2およびメッセージング・アプリケーション542−2を介して受信することができる。ユーザー・インターフェース・ビュー700は、電子メール・メッセージとして実現されたメッセージ516の例を示す。
【0088】
[00109] メッセージ516は、電子メールのために、とりわけ、回答(Reply)ボタン、全員回答(Reply to All)ボタン、転送(Forward)ボタン、削除(Delete)ボタン、フォルダ移動(Move to Folder)ボタン、および規則作成(Create Rule)ボタンというような種々のコマンド・エレメントを有するリボン・バー702を含むことができる。メッセージ516は、更に、アドレシング情報を有するアドレス・バー704、およびメッセージ本体706も含むことができる。メッセージ本体706は、モンタージュ・ファイル・サムネイル720を有する表面と、リモート・データーストア212に格納されているモンタージュ120へのリンク518−1とを含むことができる。モンタージュ・ファイル・サムネイル720は、モンタージュ120の忠実度を落としたバージョンを構成するのでよい。
【0089】
[00110] コンテンツ・コンシューマーは、例えば、ポインティング・デバイス710のような、入力デバイスを使用して、モンタージュ・サムネイル720を選択することができる。また、コンテンツ・コンシューマーは、例えば、タッチ・スクリーン・ディスプレイ上におけるジェスチャー712のような、入力デバイスを使用して、「学生クラスの旅行」と題するリンク518−1を選択することができる。双方の場合において、選択によって、ウェブ・ブラウザーまたはモンタージュ120を見るためのアプリケーション・プログラムが起動する。
【0090】
[00111] 図7Bは、一旦メッセージ516から送り出された(launched)モンタージュ120のユーザー・インターフェース・ビュー740の一実施形態を示す。計算デバイス510−2の所与の実現例に依存して、計算デバイス510−2は、ユーザー・インターフェース・ビュー740を、ウェブ・ブラウザーのためのウェブ・ページとして、またはモンタージュ・アプリケーション140のようなアプリケーション・プログラムのユーザー・インターフェース・ビューとして、または特定的にモンタージュ120を見るために設計されたモンタージュ・ビューアー730として生成することができる。例えば、計算デバイス510−2に実装されたモンタージュ・アプリケーション140のプレゼンテーション・コンポーネント130および/またはモンタージュ・ビューアー730は、モンタージュ120を開く制御指令を受け、リモート・データーストア212からモンタージュ120を引き出す動作を開始することができる。プレゼンテーション・コンポーネント130および/またはモンタージュ・ビューアー730は、プレゼンテーション表面122を含む、モンタージュ120のユーザー・インターフェース・ビュー740を、しかるべきプレゼンテーション・タイル124−aにおけるタイル・オブジェクト126−eによって提示することができる。
【0091】
[00112] ウェブ・ページとしてレンダリングされるとき、プレゼンテーション・コンポーネント130は、ハイパーテキスト・マークアップ言語(HTML)または同様のコードのような、ウェブ・ページのために特定的に設計されたコードを使用することができる。しかしながら、HTMLコードは、クライアント・デバイス510−2によって実装された所与のタイプのウェブ・ブラウザーによって限定される場合がある。モンタージュ・ビューアー730のユーザー・インターフェース・ビューとしてレンダリングされるとき、プレゼンテーション・コンポーネント130および/またはモンタージュ・ビューアー730は、モンタージュ・ビューアー730に最適化されたコードを使用することができる。例えば、モンタージュ120は、ウェブ・ページ用のHTMLコードを使用して生成してもよく、このHTMLコード内に拡張可能マークアップ言語(XML)コードが埋め込まれる。XMLコードは、モンタージュ・アプリケーション140またはモンタージュ・ビューアー730のために特定的に設計されたデーター方式で生成されるのでもよい。したがって、モンタージュ・アプリケーション140またはモンタージュ・ビューアー730は、ウェブ・ページに使用されるモンタージュ120の忠実度が低いバージョンと比較して、もっと忠実度が高いバージョンのモンタージュ120をレンダリングすることができる。
【0092】
[00113] 図7Cは、モンタージュ・ビューアー730において提示されるときのモンタージュ120の一例のユーザー・インターフェース・ビュー750の一実施形態を示す。図7Bを参照して説明したように、モンタージュ・ビューアー730は、プレゼンテーション表面122を含む、モンタージュ120のユーザー・インターフェース・ビュー740を、しかるべきプレゼンテーション・タイル124−aにおけるタイル・オブジェクト126−eによって提示することができる。図4を参照して説明したように、プレゼンテーション表面122がコンテンツ・ファイル104−1に対してタイル・オブジェクト126−1を含むと仮定する。
【0093】
[00114] コンテンツ・コンシューマーは、例えば、ポインティング・デバイス710のような入力デバイスを使用して、タイル・オブジェクト126−1を選択することができる。計算デバイス510−2のために実装されたモンタージュ・アプリケーション140のプレゼンテーション・コンポーネント130および/またはモンタージュ・ビューアー730は、タイル・オブジェクト126−1を選択する制御指令を受け、リモート・データーストア212から、タイル・オブジェクト126−1のコンテンツ・ファイル104−1を引き出す。
【0094】
[00115] 図7Dは、一旦モンタージュ120から送り出されたコンテンツ・ファイル104−1のユーザー・インターフェース・ビュー760の一実施形態を示す。プレゼンテーション・コンポーネント130および/またはモンタージュ・ビューアー730は、リモート・データーストア212から引き出されたコンテンツ・ファイル104−1の最大忠実度バージョンを、ユーザー・インターフェース・ビュー760に提示することができる。あるいは、コンテンツ・ファイル104−1は、コンテンツ・ファイル104−1を生成するために使用されたプログラムと同様のネーティブ・アプリケーション・プログラム、またはこのようなアプリケーション・プログラムのために特定的に設計されたビューアーを使用してレンダリングされるのでもよい。実施形態は、このコンテキストにおいて限定されない。
【0095】
[00116] 種々の実施形態において、プレゼンテーション・コンポーネント130は、異なるサイズ、解像度、リフレッシュ・レート、バックライト機能、電力消費等というような、異なるプロパティを有するディスプレイ上で見るために、モンタージュ120を動的に生成することができる。このような場合、プレゼンテーション・コンポーネント130は、ディスプレイの表示プロパティを検出し、このディスプレイ上での提示のためにモンタージュ120を変更するように構成することができる。例えば、プレゼンテーション・コンポーネント130は、多くの会議室において見られるような、タッチ制御手段を有する大型壁面ディスプレイ上に提示するときには、プレゼンテーション・タイル124−aおよびタイル・オブジェクト126−eの個数を増やして、遙かに大きなバージョンのモンタージュ120を生成することができる。その一方、プレゼンテーション・コンポーネント130は、小型電話機上に提示するときには、プレゼンテーション・タイル124−aおよびタイル・オブジェクト126−eの個数を減らして、もっと小さいバージョンのモンタージュ120を生成することもできる。同様に、プレゼンテーション・コンポーネント130は、所与のディスプレイの画面解像度または画素サイズに基づいて、異なるレベルの忠実度でモンタージュ120を生成することもできる。他の例では、プレゼンテーション・コンポーネント130は、縦型モードでは、あるバージョンのモンタージュ120を生成し、ユーザーがスマート・フォンまたはタブレットを回転させるときというような、パノラマ・モードでは、他のバージョンのモンタージュ120を生成することもできる。実施形態は、このコンテキストにおいて限定されない。
【0096】
[00117] 以上で説明した実施形態の動作について、1つ以上の論理フローを参照しながら更に説明することができる。尚、代表的な論理フローは、別段指示がなければ、提示される順序、または任意の特定順序で必ずしも実行される必要はないことは認めることができよう。更に、論理フローに関して説明される種々の動作(activities)は、直列または並列に実行することができる。論理フローは、所与の1組の設計および性能の制約に対して望まれるように、説明した実施形態の1つ以上のハードウェア・エレメントおよび/またはソフトウェア・エレメント、あるいは代替エレメントを使用して実現することができる。例えば、論理フローは、論理デバイス(例えば、汎用または特殊目的コンピューター)による実行のために、ロジック(例えば、コンピューター・プログラム命令)として実現することができる。
【0097】
[00118] 図8は、論理フロー800の一実施形態を示す。論理フロー800は、モンタージュ・アプリケーション140のオーサリング・コンポーネント110のような、本明細書において説明した1つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
【0098】
[00119] 図8に示す例示実施形態では、論理フロー800は、ブロック802において、複数のプレゼンテーション・ファイルを有するプレゼンテーション表面を設けることができる。例えば、オーサリング・コンポーネント110が、複数のプレゼンテーション・タイル124−aを有するプレゼンテーション表面122を、ユーザー・インターフェース538を介して設けることができる。プレゼンテーション表面122は、複数のモンタージュ・テンプレートから選択されるのでも、コンテンツ・プロデューサーによって個別設計されるのでもよい。
【0099】
[00120] 論理フロー800は、ブロック804において、コンテンツ・ファイルをプレゼンテーション・タイルと関連付ける制御指令を受けることができる。例えば、オーサリング・コンポーネント110が、コンテンツ・ファイル104−cをプレゼンテーション・タイル124−aと関連付ける制御指令102−bを受けることができる。制御指令102−bは、コンテンツ・プロデューサーによるコマンドを表す入力デバイスからでもよい。
【0100】
[00121] 論理フロー800は、ブロック806において、コンテンツ・ファイルに対してコンテンツ・ファイル・タイプを特定することができる。例えば、オーサリング・コンポーネント110が、コンテンツ・ファイル104−cに対してコンテンツ・ファイル・タイプを特定することができる。この特定は、コンテンツ・ファイル104−cのファイル実行を検査することによって、コンテンツ・ファイル104−cについてのメタデーター、コンテンツ・ファイル104−c内の情報の分析、コンテンツ・ファイル104−cを生成するために使用されたアプリケーション・プログラムについての情報等によって行うことができる。
【0101】
[00122] 論理フロー800は、ブロック808において、コンテンツ・ファイル・タイプに基づいて、コンテンツ・ファイルからコンテンツの一部を引き出すことができる。例えば、オーサリング・コンポーネント110が、コンテンツ・ファイル・タイプに基づいてタイプ・モジュール202−gを選択し、この選択したタイプ・モジュール202−gを使用して、コンテンツ・ファイル104−cについて発見されたコンテンツ・ファイル・タイプに関連するタイプ定義204−hにしたがって、コンテンツ・ファイル104−cからしかるべきコンテンツ部分106−dを引き出すことができる。一実施形態では、コンテンツ・ファイル104−cがローカル・データーストア210に格納されていることもあり、ファイル・ナビゲーション・ツール304を使用してデーター・バスを介してコンテンツ部分106−dを引き出せばよい。一実施形態では、コンテンツ・ファイル104−cがリモート・データーストア212に格納されていることもあり、ファイル・ナビゲーション・ツール304を使用してネットワークを介してコンテンツ部分106−dを引き出すとよい。
【0102】
[00123] 論理フロー800は、ブロック810において、このコンテンツ部分に基づいて、タイル・オブジェクトを生成することができる。例えば、オーサリング・コンポーネント110が、選択したタイプ・モジュール202−gを使用して、関連するタイプ定義204−hにしたがって、引き出されたコンテンツ部分106−dからタイル・オブジェクト126−eを生成することができる。タイル・オブジェクト126−eは、プレゼンテーション・タイル124−a内で提示することができる。タイル・オブジェクト126−eは、コンテンツ・コンシューマーがコンテンツ・ファイル104−cの最大忠実度ビューを見る方がよいか否か判断できるように、基礎のコンテンツ・ファイル104−cについて十分な情報を提示するように設計される。
【0103】
[00124] 論理フロー800は、ブロック812において、プレゼンテーション表面およびタイル・オブジェクトをモンタージュとして格納することができる。例えば、オーサリング・コンポーネント110がプレゼンテーション表面122および任意のタイル・オブジェクト126−eをモンタージュ120として格納することができる。次いで、モンタージュ120を配布し、公開し、例えば、メッセージング・システム500を使用して種々のコンテンツ・コンシューマーによって消費することができる。
【0104】
[00125] 図9は、論理フロー900の一実施形態を示す。論理フロー900は、モンタージュ・アプリケーション140のプレゼンテーション・コンポーネント130のような、本明細書において説明した1つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
【0105】
[00126] 図9に示す例示実施形態では、論理フロー900は、ブロック902において、プレゼンテーション表面を含むモンタージュを、各々対応するコンテンツ・ファイルのタイル・オブジェクトを有する複数のプレゼンテーション・タイルによって生成することができる。例えば、プレゼンテーション・コンポーネント130が、プレゼンテーション表面122を含むモンタージュ120を、各々対応するコンテンツ・ファイル104−cのタイル・オブジェクト126−eを有する複数のプレゼンテーション・タイル124−aによって生成することができる。
【0106】
[00127] 論理フロー900は、ブロック904において、モンタージュおよびコンテンツ・ファイルをネットワーク・サービスに送ることができる。例えば、モンタージュ・アプリケーション140の公開コンポーネント532が、ネットワーク・サービス652を介してアクセス可能なリモート・データーストア212による格納のために、モンタージュ120および関連するコンテンツ・ファイル104−cをネットワーク・ストレージ・サーバー550に送ることができる。
【0107】
[00128] 論理フロー900は、ブロック906において、モンタージュおよび各コンテンツ・ファイルに対する参照を受けることができる。例えば、公開コンポーネント532が、モンタージュ120および各コンテンツ・ファイル104−cへのリンク518−nを受けることができる。リンク518−nは、リモート・データーストア212に格納されているモンタージュ120および各コンテンツ・ファイル104−cのネットワーク・バージョンに対する参照またはポインターを含むことができる。
【0108】
[00129] 論理フロー900は、ブロック908において、コンテンツ・ファイルに対する参照を、対応するタイル・オブジェクトと関連付けることができる。例えば、公開コンポーネント532が、受けたリンク518−nをオーサリング・コンポーネント110に渡すことができる。オーサリング・コンポーネント110は、コンテンツ・ファイル104−cに対するリンク518−nを、対応するタイル・オブジェクト126−eと関連付けることができる。コンテンツ・コンシューマーがタイル・オブジェクト126−eを選択すると、プレゼンテーション・コンポーネント130は、関連するリンク518−nを介して、オブジェクト126−eに関連するコンテンツ・ファイル104−cを引き出すことができる。
【0109】
[00130] 図10は、モンタージュ・アプリケーション1000の一実施形態を示す。モンタージュ・アプリケーション1000は、モンタージュ・アプリケーション140の代表例とすることができる。モンタージュ・アプリケーション140に関して先に説明した機能の一部または全部に加えて、モンタージュ・アプリケーション1000は、本明細書において説明した機能を設けるために1つ以上のコンポーネントまたはモジュールを含むことができる。一実施形態では、例えば、モンタージュ・アプリケーション1000は、プレゼンテーション・コンポーネント1010およびオーサリング・コンポーネント1020を含むことができる。これらは、それぞれ、プレゼンテーション・コンポーネント352およびオーサリング・コンポーネント110の代表例とすることができる。実施形態は、図10に示すコンポーネントのタイプにも、個数にも、そして配置にも限定されない。
【0110】
[00131] 背景として、モンタージュは、例えば、モンタージュ・ファイルにおいてモンタージュ設計者によって指定される、元のレイアウトを有することができる。モンタージュは、1つ以上の順序付けられたタイルを含むことができる。各タイルのサイズは、定められている。順序付けは、例えば、モンタージュにおいてタイルが作られた順序、モンタージュにおいてタイルが置かれた順序、またはモンタージュ内の位置にしたがってオーサリング・コンポーネント1020によって指定された順序を反映することができる。プレゼンテーション表面は、様々なディメンション(dimension)を含み、例えば、パンニング方向よって定められるディメンション、例えば、水平、およびパンニング方向に対して垂直なディメンション、例えば、垂直を含むことができる。一実施形態では、パンニング方向に対して垂直なディメンションは、サイズが固定されてもよく、パンニングできなくてもよい。パンニング方向に垂直なディメンションは、本明細書では、「固定ディメンション」(fixed dimension)と呼ぶこともできる。二次元では、プレゼンテーション表面は、列および行の格子で構成することができる。格子上におけるモンタージュ・タイルの位置が定められる。モンタージュ・タイルは、その順序付けにおいて直前のタイルに対して空間的特性を有することができる。二次元システムでは、例えば、第1方向、第2方向、および第3方向があればよい。例えば、水平パンニング方向のモンタージュでは、あるタイルが直前のタイルの下にある場合、直前のタイルに対して第1方向の「下」空間特性を有することができる。他の空間特性には、タイルがその直前のタイルの右側にあるときに第2方向の「右」、およびタイルがその直前のタイルの右上にあるときに第3方向の「右上」を含むことができる。実施形態は、この例に限定されるのではない。
【0111】
[00132] プレゼンテーション・コンポーネント1010は、プレゼンテーション表面上に表示するモンタージュを受けることができる。プレゼンテーション・コンポーネント1010は、このモンタージュが、その元のレイアウトで、固定ディメンションにおいて利用可能なディスプレイに収まるか否か判断することができる。モンタージュが収まらないとき、プレゼンテーション・コンポーネント1010は、タイルをスケーリングし(scale)、タイルの空間特性を互いに対して保存するように、タイルを利用可能なディスプレイ上で位置決めし直すことができ、あるいはスケーリングおよび位置決めし直しの何らかの組み合わせを実行することができる。
【0112】
[00133] プレゼンテーション・コンポーネント1010は、それ自体が、以上で説明した機能を設けるために1つ以上のコンポーネントまたはモジュールを含むことができる。一実施形態では、例えば、プレゼンテーション・コンポーネント1010は、タイル・リフロー・モジュール1012およびタイル・バランシング・モジュール1014を含むことができる。また、プレゼンテーション・コンポーネント1010は、プレゼンテーション表面仕様(specification)1016も含むことができる。プレゼンテーション表面コンポーネント1016は、プレゼンテーション表面、例えば、プレゼンテーション表面122のディメンション(dimensions)を含むことができる。プレゼンテーション表面仕様1016は、モンタージュのために元のレイアウトを設計するときに使用されるプレゼンテーション表面のディメンションを含むことができる。プレゼンテーション表面仕様1016は、更に、または代わりに、モンタージュが表示されようとする、プレゼンテーション表面のディメンションを含むこともできる。このプレゼンテーション表面は、元のプレゼンテーション表面とは異なってもよい
[00134] モンタージュ・タイルを位置決めし直す必要があるとき、つまり、ここでは「リフロー」とも呼ばれる動作が行われるとき、リフロー・モジュール1012がモンタージュにおけるタイルの空間特性を判定することができる。タイル・リフロー・モジュール1012は、タイルが固定ディメンション内に収まるように、タイルを分散し直しつつ、可能な限り、タイルの空間特性を保存することができる。したがって、リフローは、1つのディメンションにおけるパンニングを保存することができる。例えば、「下」タイルがその直前のタイルの下に収まることができない場合、タイル・リフロー・モジュール1012はこのタイルを、直前のタイルの右側にあり次に利用可能な列の最上位に動かすことができる。他の例についても、図16に関して更に説明する。
【0113】
[00135] 一旦タイルの全てがリフローされたなら、バランシング・モジュール(balancing module)1014が空白の列または行を除去し、タイルの上下にある空白空間を均衡させるために、タイルを固定ディメンション内で再分散することができる。
【0114】
[00136] オーサリング・コンポーネント1020は、以前に説明した他の機能に加えて、除去リフロー・モジュール(removal reflow module)1022も含む。除去リフロー・モジュール1022は、1つ以上のタイルが追加または削除されるときに、モンタージュにおいてタイルを自動的に位置決めし直す。リフロー動作は、モンタージュにおけるプレゼンテーション表面上の未使用空間を最小限にすることができる。除去リフロー・モジュール1022は、残っているタイルを、削除されたタイルによって残された空白空間内に「押し込み」つつ、残っているタイルの空間特性を保存することができる。除去リフロー動作の一例について、図19に関して以下で説明する。
【0115】
[00137] 図11は、元のモンタージュ1110があるプレゼンテーション表面1102の例1100を示す。プレゼンテーション表面102は、ビュー・ポート1104を含むことができる。ビュー・ポート1104は、モンタージュが提示されるユーザー・インターフェース・ウィンドウまたはディスプレイの寸法に対応する。また、プレゼンテーション表面1102はパンニング方向1106も有する。本明細書において図示および説明する例は、水平パンニング方向および垂直固定ディメンションを使用するが、説明する動作は、垂直パンニング方向および水平固定ディメンションを有するプレゼンテーション表面にも同様に応用することができる。プレゼンテーション表面1102は、7つの格子ブロックの固定ディメンションと、12個の格子ブロックのパンニング方向ディメンションとを有する。プレゼンテーション表面1102は、例えば、その周囲に未使用ブロックの「ガッター」(gutter)を含み、ユーザーが不用意にプレゼンテーション・タイルを選択することなくパンニングするために、タッチ・インターフェース上にパンニング領域を設けることができる。
【0116】
[00138] モンタージュ1110は、10個のプレゼンテーション・タイル1110−1〜1110−10を含むことができ、ここでは、簡潔にするために、タイル1〜10と呼ぶ。タイル1〜10は、以下の空間特性を有する。
【0117】
[00139] タイル1は、最初のタイルであり、プレゼンテーション表面の原点に位置付けられる。プレゼンテーション表面1102の原点は左上にあるが、他のプレゼンテーション表面は他の角に原点を有してもよい。タイル1は空間特性を有さない。
【0118】
[00140] タイル2は、タイル1から「下」にある。
[00141] タイル3は、タイル2から「下」にある。
[00142] タイル4は、タイル3から「下」にある。
【0119】
[00143] タイル5は、タイル4から「右上」にある。
[00144] タイル6は、タイル5から「下」にある。
[00145] タイル7は、タイル6から「右」にある。
【0120】
[00146] タイル8は、タイル7から「右上」にある。
[00147] タイル9は、タイル8から「下」にある。
[00148] タイル10は、タイル9から「下」にある。
【0121】
[00149] 一実施形態では、空間特性「右」および「右上」は、タイルの最も左側(先端)にあるエッジが、直前のタイルの先端エッジから、格子ブロックいくつ分だけ右にあるかを示すオフセットを含むことができる。例えば、タイル5は、タイル4から2格子ブロックずれており、タイル7はタイル6から2つずれており、タイル8はタイル7から2つずれている。
【0122】
[00150] 図12は、プレゼンテーション表面1102とは異なるディメンションを有するプレゼンテーション表面1202の例1200を示す。具体的には、プレゼンテーション表面1202は、6格子ブロックの固定ディメンションを有する。プレゼンテーション表面1202は、ビュー・ポート1204を有する。ビュー・ポート1204は、プレゼンテーション表面1202の固定ディメンションを反映する。例1200は、モンタージュ1110がプレゼンテーション表面1202上においてその元のレイアウトに表示されたとすると何が起こり得たかを示す。タイル3、4、および10の下半分が切断されて、見えなくなる。これは、望ましくない結果になり得る。実施形態の中には、プレゼンテーション・コンポーネント1010が、タイルをスケーリングして、もっと狭いプレゼンテーション表面内に収めることができるとよい場合がある。しかしながら、場合によっては、はめ込むためにタイルをスケーリングすると、テキストや画像が読んだり見たりするには小さすぎるという結果になることもある。これらの場合、タイルをリフローすることが望ましいであろう。
【0123】
[00151] 図13は、例えば、タイル・リフロー・モジュール1012によって、モンタージュ1110がリフローされた後におけるプレゼンテーション表面1302の例1300を示す。プレゼンテーション表面1302は、6格子ブロックの固定ディメンションを有する。プレゼンテーション表面1302は、プレゼンテーション表面1302の固定ディメンションを反映するビュー・ポート1304を有する。リフローを実行する方法例を図16において説明する。
【0124】
[00152] 要約すると、タイル2はタイル1から下にあり、タイル1の下にある空間に収まる。タイル3はタイル2から下にあるが、収まらない。したがって、タイル3は、タイル2の右にある次に利用可能な空間に置かれる。タイル2はタイル1の右側にある。タイル4は、タイル3から右にあり、タイル3の右側に置かれる。タイル5は、タイル4から右上にあり、2つずれる。タイル5を、タイル4の先端エッジと整列させて、そのオフセットだけ右に動かすと、この位置ではタイル5がタイル4とオーバーラップするので、タイル5はタイル4の下に動かされる。タイル6は、タイル5から下にあるが、下に収まらない。したがって、タイル6は、タイル5の右側において次に利用可能な空間に置かれる。この空間は、タイル4の右隣りになる。タイル7は、タイル6から右にあり、タイル6の右側に置かれる。タイル8は、タイル7から右上にあり、2つずれる。タイル8は、タイル7の先端エッジと整列され(align)、そこから右に動かされる。タイル8は、その位置ではタイル7とオーバーラップせず、そこに置かれる。タイル9は、タイル8から下にあり、タイル8の下に収まり、そこに置かれる。タイル10は、タイル9から下にあるが、収まらないので、したがって、タイル9の右側にある次に利用可能な空間に置かれる。タイル9は、タイル8の右隣りにある。一実施形態では、パンニング方向に関係する空間特性を保存することは、固定ディメンションにおけるパッキング(packing)に優先するとよい。したがって、例1300は、黒空間を最小限に抑えるために、垂直ディメンションでは密にパッキングされず、代わりに、「右」および「右上」空間特性をできるだけ多く保存する。
【0125】
[00153] 図14Aは、例えば、バランシング・モジュール1014によってプレゼンテーション表面1302上でバランスされるプロセスにおいてリフローされたモンタージュ1110の一例を示す。タイル・バランシング・モジュール1014は、リフローによって生じた6番目(最下位)の空行を除去し、最上位および最下位の水平ガッターを調節し終えている。タイル・バランシング・モジュール1014は、タイルの連続ブロックを特定することができる。タイルの連続ブロックは、第1水平座標に先端エッジを有する第1タイルと、第1水平座標または第1タイルが占める水平座標内にある水平座標に先端エッジを有する第2タイルの全てと、ブロックに以前に追加されたタイルの水平座標内に先端エッジを有する任意の第3タイルとを含むことができる。
【0126】
[00154] 例えば、連続ブロック1402は、水平座標0に先端エッジを有するタイル1から形成される。タイル2は、同じ座標において先端エッジを有し、ブロック1402に含まれる。タイル1および2の範囲には他のタイルは存在しない。ブロック1404は、水平座標4において先端エッジを有するタイル3から形成される。タイル3の範囲には他のタイルは存在しない。
【0127】
[00155] ブロック1406は、水平座標6を有するタイル4から形成される。尚、タイル4は、座標6から10までに及ぶことを注記しておく。タイル5はタイル4の下にあり、8において先端エッジを有する。これは、タイル4の範囲内である。タイル5は、座標8から12の範囲を取る。タイル6は、10において先端エッジを有する。これは、タイル4の範囲を超えるが、タイル4およびタイル5のブロック内にあり、このブロックに含まれる。タイル4、5、および6の水平範囲内には、他のタイルは存在しない。
【0128】
[00156] ブロック1408は、ブロック1404と同様、タイル7から形成される。
[00157] ブロック1410は、タイル8および9から形成され、座標13において先端エッジを有し、集合的に座標13から18までに及ぶ。タイル10は、16において先端エッジを有する。これは、13から18までの範囲内にあり、このブロックに追加される。
【0129】
[00158] 図14Bは、例えば、タイル・バランシング・モジュール1014によってプレゼンテーション表面1302上でバランスされた後における、リフローされたモンタージュ1110の一例を示す。タイル・バランシング・モジュール1014は、各連続ブロック、例えば、ブロック1402、1404、1406、1408、および1410を検査し、これらのブロックの内いずれかが、固定ディメンションにおける一方側に、他方側よりも多くの白色空間を有するか否かチェックし終えている。例えば、ブロック1404は、タイル3の下に、3行の空白空間を有する。バランスされていない白色空間が特定されると、バランシング・モジュールは、タイルの連続するブロックを、固定ディメンションにおいて、可能な限り中心に位置するように動かすことによって、この白色空間をバランスさせることができる。偶数の白色空間または空白行がある場合、このグループの上下に等しい数の行ができるように、このグループを動かすことができる。奇数の空白行がある場合、上の行の数と下の行の数の差が1つになるように、このグループを動かすことができる。ブロック1404、即ち、タイル3は、その上に1つの行、その下に2つの行を有することによって、中心に置かれる。一実施形態では、タイルが格子ブロックの端数上に置かれてもよい場合、固定ディメンションにおいて、グループの上にある空白空間を、このグループの下にある空白空間と等しくすることによって、このグループを中心に置くことができる。
【0130】
[00159] 図15は、モンタージュをリフローする論理フロー1500の一実施形態を示す。論理フロー1500は、モンタージュ・アプリケーション140、1000のプレゼンテーション・コンポーネント532、1010のような、本明細書において説明した1つ以上の実施形態によって実行される動作の一部または全部を表すことができる。
【0131】
[00160] 図15に示す例示実施形態では、論理フロー1500は、ブロック1502において、プレゼンテーション表面上に表示するモンタージュを受けることができる。例えば、モンタージュ・アプリケーション140は、ローカル・ストレージからまたはネットワーク・ストレージ・サーバーから計算デバイスにおいてモンタージュを受けることができる。このモンタージュは、複数のプレゼンテーション・タイルおよび基準レイアウトを含むことができる。プレゼンテーション表面は、格子、パンニング方向、および固定ディメンションを含むことができる。
【0132】
[00161] 論理フロー1500は、ブロック1504において、プレゼンテーション表面の固定ディメンションが、基準レイアウトの固定ディメンションよりも小さいか否か判定することができる。たとえば、プレゼンテーション・コンポーネント1010は、プレゼンテーション表面の固定ディメンションにおける格子ブロックの数を、基準レイアウトの固定ディメンションにおける格子ブロックの数と比較することができる。
【0133】
[00162] ブロック1504において、プレゼンテーション表面の固定ディメンションの方が小さくない場合、ブロック1508において基準レイアウトを使用してモンタージュをその元の形態で表示することができる。
【0134】
[00163] 一実施形態(図示せず)では、プレゼンテーション表面の固定ディメンションの方が小さい場合、モンタージュが収まるようにスケーリングすることもできる。例えば、タイルおよびプレゼンテーション表面を元のモンタージュの閾値割合、例えば、90%より小さくならないように縮小する(scale down)することができる場合、リフローを必要とせず、このスケーリングで十分であろう。スケーリングのみで十分か否かに影響を及ぼす可能性がある他の要因には、例えば、閾値にしたがって、スケーリングされたタイルが小さすぎないこと、あるいはタイル上のテキストが引き続きタイル内に収まることおよび/または小さすぎないことが含まれるとよい。
【0135】
[00164] ブロック1504においてプレゼンテーション表面の固定ディメンションの方が小さい場合(そして、スケーリングが容認可能な選択肢でない場合)、論理フロー1500は、ブロック1506において、タイルの互いに対する空間特徴付け(characterization)を保存しつつ、格子上におけるタイルの位置を変更することができる。ブロック1506の動作の一例を、図16および図17において説明する。
【0136】
[00165] 次いで、論理フロー1500は、ブロック1508においてモンタージュを表示することができる。ブロック1506においてモンタージュがリフローされた場合、表示は、このモンタージュのリフローされたレイアウトを使用する。
【0137】
[00166] 図16は、モンタージュをリフローするときにタイル配置を決定する論理フロー1600の一実施形態を示す。論理フロー1600は、プレゼンテーション・コンポーネント1010のタイル・リフロー・モジュール1012のような、本明細書において説明した1つ以上の実施形態によって実行される動作の一部または全部を表すことができる。論理フロー1600は、論理フロー1500からのブロック1506の動作の一部または全部を表すことができる。論理フロー1600は、図11および図13における例に関して例示の目的に限って説明することができるが、これらの例によって限定されるのではない。以下の説明において、固定垂直ディメンションおよび水平パンニング方向を仮定する。しかしながら、論理フローは、固定水平ディメンションおよび垂直パンニング方向についても同様に実行することができる。
【0138】
[00167] 図16に示す例示実施形態では、論理フロー1600は、ブロック1602において格子ディメンションを更新することができる。例えば、プレゼンテーション・コンポーネント1010が、論理フロー1500のブロック1504において行われた決定から、プレゼンテーション表面の固定ディメンションを更新することができる。図11および図13の例を参照すると、固定ディメンションを7行から6行に更新することができる。
【0139】
[00168] 論理フロー1600は、ブロック1604において、プレゼンテーション表面上において第1タイルを選択し、それを左上角の位置に置くことができる。例えば、タイル1が、格子ブロック内において列0行0にその左上角が来るように置かれる。
【0140】
[00169] ブロック1606において、論理フロー1600は、追加の置くタイルがあるか否か判定することができる。これ以上置くタイルがない場合、論理フロー1600はブロック1626において図17のブロック1702に進むことができる。そうでない場合、論理フロー1600は終了することができる。
【0141】
[00170] 追加の置くタイルがある場合、論理フロー1600は、ブロック1608において、次のタイルを選択し、直前のタイルに対する空間特徴付けを判定することができる。例えば、タイル・リフロー・モジュール1012は、次に順序付けられたタイル、例えば、タイル2を選択し、タイル1に対するその空間特徴付け、例えば、モンタージュにおける基準レイアウトから「下」を参照することができる。
【0142】
[00171] 空間特徴付けに依存して、判断ブロック1610から異なる配置規則に従うこともできる。
[00172] 空間特徴付けが「右」である場合、論理フロー1600はブロック1612においてタイルを直前のタイルに隣接して右側に置くことができる。
【0143】
[00173] 空間特徴付けが「下」である場合、論理フロー1600は、ブロック1614において、直前のタイルの下に、現在のタイルを置くだけの十分な余裕があるか否か判定することができる。例えば、タイル・リフロー・モジュール1012は、タイルの垂直ディメンションを、直前のタイルの底辺エッジの下にある空白行の数と比較することができる。タイルの垂直ディメンションが利用可能な行の数を超過するとき、論理フロー1600は、ブロック1616において、最上位行における直前のタイルの右側にある、最初の利用可能な列にタイルを置くことができる。例えば、タイルの先端(左)エッジをこの列に置いて、左上角を最上位行に置くことができる。このコンテキストにおける「利用可能」という用語は、その中にタイルを有しておらず、タイルを収容するだけの十分な隣接する空の列(または行)がある列(または行)のことを言う。
【0144】
[00174] 直前のタイルの下に余裕があるとき、論理フロー1600は、ブロック1618において、直前のタイルの下にタイルを置くことができる。論理フロー1600に限って言えば、「下」のタイルはゼロのオフセットを有する。一実施形態では、直前および現在のタイルの先端エッジが整列されるとよい。上の例から、タイル2は、3の垂直ディメンションを有し、タイル1はその下に4つの空の行を有する。したがって、タイル2は、タイル1から「下」にあり、図13に見られるように、タイル1の下に置くことができる。
【0145】
[00175] 空間特徴付けが「右上」である場合、論理フロー1600は最初に、ブロック1620において、直前のタイルの先端エッジからそのオフセット量だけ右に向けてタイルを動かすことができる。一実施形態では、このタイルおよび直前のタイルがその上側エッジ上で整列されればよい。ブロック1622において、これらのタイルがこの位置でオーバーラップしない場合、論理フロー1600はこのタイルを置くことができる。
【0146】
[00176] ブロック1622において、これらのタイルがオーバーラップする場合、論理フロー1600は、ブロック1614において、直前のタイルの下に余裕があるか否か判定することができる。余裕がある場合、ブロック1618において、オフセット位置にその先端エッジが来るように、論理フロー1600は直前のタイルの下にこのタイルを置くことができる。
【0147】
[00177] ブロック1614において、直前のタイルの下に余裕がない場合、論理フロー1600はブロック1616において、直前のタイルの右側にある最初に利用可能な列にこのタイルを置くことができる。
【0148】
[00178] 論理フロー1600は、タイルの全てがリフローされ終えるまで、繰り返す。
[00179] これより、図11および図13に関して、タイル1および2が図13において置かれる時点から開始するいくつかの代表的例を示す。
【0149】
[00180] タイル3は、タイル2から「下」にあるので、論理フロー1600は、ブロック1614において、タイル2の下にはタイル3を置く余裕がないと判定する。タイル3は、タイル2の右側において次に利用可能な列の最上位、たとえば、タイル1の隣りに置かれる。
【0150】
[00181] タイル4は、タイル3から「右」にあるので、論理フロー1600は、ブロック1612において、タイル4をタイル3に隣接してその右側に置く。
[00182] タイル5は、タイル4から「右上」にあり、2のオフセットがある。論理フロー1600は、ブロック1620において、タイル4の先端エッジの右側にタイル5を2列だけ動かす。ブロック1622において、論理フロー1600は、タイル5がタイル4とオーバーラップすると判定する。次いで、論理フロー1600は、ブロック1614において、タイル4の下に余裕があると判定し、ブロック1618において、タイル4の下に、そしてタイル4の先端エッジよりも2列右側にタイル5を置く。
【0151】
[00183] タイル6は、タイル5から「下」にあるので、論理フロー1600は、ブロック1614において、タイル5の下には余裕がないと判定し、ブロック1616において、タイル5の右側に次に利用可能な列の最上位に、例えば、タイル4の隣りに、タイル6を置く。
【0152】
[00184] タイル7は、タイル6から「右」にあるので、論理フロー1600は、ブロック1612において、タイル7をタイル6に隣接してその右側に置く。
[00185] タイル8は、タイル7から「右上」にあり、2のオフセットがある。論理フロー1600は、ブロック1620において、タイル7の先端エッジよりも2列右にタイル8を動かす。ブロック1622において、論理フロー1600は、タイル8はタイル7とオーバーラップしないと判定し、ブロック1624において、タイル7の隣りにタイル8を置く。
【0153】
[00186] タイル9および10は、それぞれ、タイル2および3と同様に置かれる。
[00187] 論理フロー1600は、リフロー配置技法の一実施形態である。実施形態の主旨から逸脱することなく、他の技法も採用することができる。例えば、異なる空間特徴付け定義を使用してもよく、または同じ空間特徴付け定義に異なる位置決め規則を採用してもよい。
【0154】
[00188] 図17は、モンタージュをバランスする論理フロー1700の一実施形態を示す。論理フロー1700は、プレゼンテーション・コンポーネント1010のタイル・バランシング・モジュール1014のような、本明細書において説明した1つ以上の実施形態によって実行される動作の一部または全部を表すことができる。論理フロー1700は、論理フロー1500からのブロック1506の動作の一部または全部を表すことができる。論理フロー1700は、例示の目的に限って、図14Aおよび図14Bにおける例に関して説明することができるが、これらの例によって限定されるのではない。以下の説明では、固定垂直ディメンションおよび水平パンニング方向を仮定する。しかしながら、論理フロー1700は、固定水平ディメンションおよび垂直パンニング方向についても同様に実行することができる。
【0155】
[00189] 図17に示す例示実施形態では、論理フロー1700は、ブロック1702においてあらゆる空の行および列を除去することができる。例えば、タイル・バランシング・モジュール1014が、図13に示すように、タイル2、5、および9の下にある行を除去することができる。一実施形態では、残っているタイルの上下においてガッターを調節することもできる。プレゼンテーション表面1302をビュー・ポート1304に関してシフトさせてもよく、その結果図14Aのようになる。
【0156】
[00190] 論理フロー1700は、ブロック1704において、タイルの連続グループを特定することができる。タイルの連続ブロックは、第1水平座標において先端エッジを有する第1タイルと、第1水平座標または第1タイルの範囲に含まれる水平座標内にある水平座標において先端エッジを有する第2タイルの全てと、ブロックに以前に追加されたタイルの水平座標内に先端エッジを有する任意のタイルを含む。図14Aにおいて、タイル1および2は、タイルの連続グループを形成する。何故なら、これらはその先端エッジに対して同じ水平座標を有するからである。タイル1および/または2の水平範囲内には、他のタイルはない。
【0157】
[00191] 論理フロー1700は、グループがパンニング方向に対して垂直に、例えば、固定ディメンションにおいて中央に位置付けられているか否か判定することができる。このコンテキストでは、「中央に位置付けられる」とは、当該グループの上下に等しい数の格子ブロックを有するタイルを含むことができる。また、「中央に位置付けられる」は、グループの上にある格子ブロックの数が、グループの下にある格子ブロックの数とは1つだけ異なる場合のタイルも含むことができる。例えば、格子ブロックの3つの空白行がある場合、グループが上に1つの行を有し、下に2つの行を有する場合、このグループは中央に位置付けられると言える。図14Aにおいて、空の行がないので、グループ1402は既に中央に位置付けられている。
【0158】
[00192] 論理フロー1700は、ブロック1710内に他のもタイルがあるか否かチェックすることができ、ある場合、ブロック1704において、連続タイルの他のグループを特定することができる。
【0159】
[00193] タイルのグループが中央に位置付けられていない場合、ブロック1706にいて、論理フロー1700は固定ディメンションにおいてこのグループを中央に位置付けることができる。例えば、タイル・バランシング・モジュール1014が、図14Aにおいてタイル3から成るグループ1404を特定することができる。タイル3は、その上に行を有しておらず、その下に3つの行を有するので、中央に位置付けられていない。タイル・バランシング・モジュール1014は、図14Bに示すように、タイル3を下に1行または2行動かして、それを中央に位置付けることができる。
【0160】
[00194] バランスを取り直すタイルが他にはない場合、論理フロー1700はブロック1712において終了する。
[00195] 図18Aは、タイル1が削除されたときのモンタージュ1110の一例を示す。図18Bは、タイル除去後にリフローされたモンタージュ1110の一例を示す。図18Aおよび図18Bについて、図19における論理フロー1900に関連付けて説明する。
【0161】
[00196] 図19は、タイルが除去された後にモンタージュをリフローする論理フロー1900の一実施形態を示す。論理フロー1900は、プレゼンテーション・コンポーネント1010の除去リフロー・モジュール1022のような、本明細書において説明した1つ以上の実施形態によって実行される動作の一部または全部を表すことができる。論理フロー1700は、例示の目的に限って、図18Aおよび図18Bにおける例に関して説明することができるが、これらの例に限定されるのではない。以下の説明では、固定垂直ディメンションおよび水平パンニング方向を仮定する。しかしながら、論理フロー1900は、固定水平ディメンションおよび垂直パンニング方向についても同様に実行することができる。論理フロー1900は、モンタージュにプレゼンテーション・タイルを追加して空白空間ができた場合にも同様に実行することができ、リフロー動作によって空白空間を最小限にすることができる。
【0162】
[00197] 図19に示す例示実施形態では、論理フロー1900は、ブロック1902においてモンタージュからタイルを削除することができる。例えば、オーサリング・コンポーネント1020が、モンタージュ1110からタイル1を削除する削除コマンドをユーザーから受けることができ、そのタイルを除去することができ、モンタージュ内に空白空間が残る。
【0163】
[00198] 論理フロー1900は、ブロック1904において、削除されたタイルの幅にしたがって第1チャネル幅を指定することができる。例えば、除去リフロー・モジュール1022が、削除されたタイルの先端エッジの水平座標と、削除されたタイルの後端(右)エッジの水平座標との間にあるチャネル1802を指定することができる。
【0164】
[00199] 論理フロー1900は、ブロック1906において、後端エッジが発見されるまで、このチャネルの右エッジから掃引することができる。例えば、除去リフロー・モジュール1022が、後端エッジが発見されるまで、第1チャネルの右エッジから右に向かって掃引することができる。一実施形態では、この掃引は、図17においてブロック1704について説明したタイルの連続ブロックの特定と同様に行うことができ、この掃引は、連続グループにおけるタイルの右端の後端エッジにおいて終了する。図18Aにおいて、この次に発見される後端エッジは、タイル5および7の後端エッジを含む。
【0165】
[00200] 論理フロー1900は、ブロック1908において、掃引において発見されたタイルの最大幅から、次のチャネルの幅を指定することができる。例えば、チャネル1804は、チャネル1802の右エッジ、およびタイル5の後端エッジによって定めることができる。チャネル1804におけるタイルの最大幅は、タイル5の水平ディメンションであり、これは、タイル6および7の水平ディメンションを組み合わせたものに対応する。
【0166】
[00201] 論理フロー1900は、ブロック1910において、丁度定められたチャネルの右に追加のタイルがあるか否か判定することができる。図18Aでは、追加のタイルがあり、ブロック1906および1908が、チャネル1806を定めるために繰り返される。チャネル1806は、タイル8、9、および10の最大幅によって定められる幅を有する。
【0167】
[00202] 一旦右側にタイルがなくなったなら、ブロック1910において、論理フロー1900はチャネル毎に左から右に「カレント」(current)を割り当てることができる。各チャネルにおけるカレントは、隣接するチャネルにおけるカレントとは逆方向になる。カレントは、固定ディメンションに沿って方位付けされるとよい。例えば、除去リフロー・モジュール1022が、矢印1810として示す「上」カレントをチャネル1802に割り当てることができる。チャネル1804には、「下」カレント1812を割り当てることができ、チャネル1806には「上」カレント1814を割り当てることができる。カレントは、リフロー・プロセスが行われるときに当該チャネルにおけるタイルが「フローする」方向を示すことができる。
【0168】
[00203] 次に、論理フロー1900は、タイル毎に順番に(ブロック1914)、ブロック1916において、チャネル・カレントにおいてできるだけ遠くまでタイルを動かすことができる。例えば、除去リフロー・モジュール1022が、タイル2を「上」方向に動かし、タイル1によって既に占められている空白内に入れることができる。このコンテキストでは、「できるだけ遠く」は、タイルを収容することができるディメンションを有する「下流側」空白空間に、タイルを動かすことを意味することができる。尚、実施形態の中には、チャネル内の他のタイルを越してタイルを押すことができない場合もあることを注記しておく。
【0169】
[00204] 論理フロー1900は、ブロック1918において、第1チャネルに向けて、パンニング方向においてできるだけ遠くまでタイルを動かすことができる。このコンテキストでは、パンニング方向は左から右に向かい、「できるだけ遠く」という句は、当該タイルを収容することができるディメンションを有する空白空間に、チャネルにおいて左に向かってタイルを動かすことを示すことができる。加えて、チャネルのエントリー・ポイントにおいて左側の隣接チャネルに十分な空白空間がある場合、この空間にタイルを動かすこともできる。「上」チャネルに対するエントリー・ポイントは、そのチャネルの底辺とすることができ、一方「下」チャネルに対するエントリー・ポイントは、チャネルの上辺とすることができる。図18において、タイル2は既にパンニング方向にできるだけ遠くにあり、左側に隣接チャネルを有さない。
【0170】
[00205] 論理フロー1900は、ブロック1920において、タイルを動かすことができる追加の空白空間があるか否か判定することができる。例えば、タイルが隣接チャネルのエントリー・ポイントまで動いた場合、論理フロー1900は、タイルを動かすことができる下流空白空間があるか否か判定することができる。
【0171】
[00206] ブロック1920において、タイルを動かす余裕が他にない場合、論理フロー1900は、次に順序付けられたタイルを選択することができ、ループ・エントリー1914に戻る。あるいは、タイルの全てを選択し終えた場合、論理フロー1900は、ブロック1922において終了することができる。
【0172】
[00207] 図18Aおよび図18Bに示す例の説明を続けると、一旦タイル2が動かされると、ブロック1914においてタイル3を選択する。この時点で、タイル3の上には3つの空白行があり、図18Bに示すように、タイル3はチャネル・カレントにおいて上に、これらの空白行内に動かすことができる。タイル3は、既にパンニング方向にできるだけ遠くなっており、動かす追加の余裕はないので、論理フロー1900はタイル4を選択する。
【0173】
[00208] タイル4は、その上に2列分の空白空間を有するが、この空間はブロック1916においてタイル4を動かすには十分でない。しかしながら、この時点では、タイル4の左側に2つの列があり、ブロック1918において、タイル4をパンニング方向においてできるだけ遠くまで動かすことができ、タイル4をタイル3の直下に置く。
【0174】
[00209] タイル5、6、および7は、これらを動かすことができる空白空間を全く有していないが、タイル4が動かされたとき、幅4列、高さ2行の空白空間が、タイル6および7の下に作られた。
【0175】
[00210] タイル8は、チャネル1806においてチャネル方向にこれ以上動かすことができないが、ブロック1918において、タイル6および7の下にパンニング方向に動かすことができる。
【0176】
[00211] タイル9は、チャネル1806において上に動くことができ、続いてタイル10が上に動くことができ、この時点で、論理フロー1900は終了する。
[00212] タイルが追加または削除されるときのタイルの自動リフローは、得られる空白空間に各タイルをユーザーが手作業で動かさなければならない場合の時間を節約することができる。
【0177】
[00213] 図20は、既に説明した種々の実施形態を実現するのに適した計算アーキテクチャー例2000の一実施形態を示す。計算アーキテクチャー2000は、1つ以上のプロセッサー、コプロセッサー、メモリー・ユニット、チップセット、コントローラー、周辺機器、インターフェース、発振器、タイミング・デバイス、ビデオ・カード、オーディオ・カード、マルチメディア入力/出力(I/O)コンポーネント等のような、種々の共通する計算エレメントを含む。しかしながら、実施形態は、計算アーキテクチャー2000による実現例に限定されるのではない。
【0178】
[00214] 図20に示すように、計算アーキテクチャー2000は、処理ユニット2004、システム・メモリー2006、およびシステム・バス2008を含む。処理ユニット2004は、種々の市販のプロセッサーの内任意のものにすることができる。デュアル・マイクロプロセッサーおよび他のマルチプロセッサー・アーキテクチャーも、処理ユニット2004として採用することができる。システム・バス2008は、システム・メモリー2006から処理ユニット2004までを含むがこれらに限定されないシステム・コンポーネントのためにインターフェースを設ける。システム・バス2008は、様々なタイプのバス構造の内任意のものにすることができ、更に、種々の市販のバス・アーキテクチャーの内任意のものを使用して、メモリー・バス(メモリー・コントローラー付きまたはなし)、周辺バス、およびローカル・バスに相互接続することができる。
【0179】
[00215] システム・メモリー2006は、リード・オンリー・メモリー(ROM)、ランダム・アクセス・メモリー(RAM)、ダイナミックRAM(DRAM)、データー倍速DRAM(DDRAM)、同期DRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュ・メモリー、強磁性ポリマー・メモリーのようなポリマー・メモリー、オボニック・メモリー、位相変化または強磁性メモリー、シリコン−酸化物−窒化物−酸化物−シリコン(SONOS)メモリー、磁気または光カード、あるいは情報を格納するのに適した任意の他のタイプの媒体というような、種々のタイプのメモリー・ユニットを含むことができる。図20に示す例示実施形態では、システム・メモリー2006は、不揮発性メモリー2010および/または揮発性メモリー2012を含むことができる。基本入力/出力システム(BIOS)は、不揮発性メモリー2010に格納することができる。
【0180】
[00216] コンピューター2002は、種々のタイプのコンピューター読み取り可能記憶媒体を含むことができ、内部ハード・ディスク・ドライブ(HDD)2014、リムーバブル磁気ディスク2018から読み取るまたはこれに書き込むための磁気フロッピー・ディスク・ドライブ(FDD)2016、およびリムーバブル光ディスク2022(例えば、CD−ROMまたはDVD)から読み取るまたはこれに書き込むための光ディスク・ドライブ2020を含む。HDD2014、FDD2016、および光ディスク・ドライブ2020は、それぞれ、HDDインターフェース2024、FDDインターフェース2026、および光ディスク・インターフェース2028によって、システム・バス2008に接続することができる。外部ドライブ実装のためのHDDインターフェース2024は、ユニバーサル・シリアル・バス(USB)およびIEEE1394インターフェース技術の内少なくとも1つまたは双方を含むことができる。
【0181】
[00217] ドライブおよび関連するコンピューター読み取り可能媒体は、データー、データー構造、コンピューター実行可能命令等の揮発性および/または不揮発性記憶を考慮している。例えば、複数のプログラム・モジュールをドライブおよびメモリー・ユニット2010、2012に格納することができ、オペレーティング・システム2030、1つ以上のアプリケーション・プログラム2032、他のプログラム・モジュール2034、およびプログラム・データー2036を含む。1つ以上のアプリケーション・プログラム2032、他のプログラム・モジュール2034、およびプログラム・データー2036は、例えば、モンタージュ・アプリケーション140、オーサリング・コンポーネント110、プレゼンテーション・コンポーネント130、セキュリティ・コンポーネント536、公開コンポーネント532、メッセージ・コンポーネント534、ユーザー・インターフェース538、およびメッセージング・アプリケーション542を含むことができる。
【0182】
[00218] ユーザーは、コマンドおよび情報をコンピューター2002に、1つ以上の有線/ワイヤレス入力デバイス、例えば、キーボード2038および、マウス2040のような、ポインティング・デバイスを介して入力することができる。他の入力デバイスには、マイクロフォン、赤外線(IR)リモコン、ジョイスティック、ゲーム・パッド、スタイラス・ペン、タッチ・スクリーン等を含むことができる。これらおよび他の入力デバイスは、多くの場合、システム・バス2008に結合される入力デバイス・インターフェース2042を介して処理ユニット2004に接続されるが、パラレル・ポート、IEEE1394シリアル・ポート、ゲーム・ポート、USBポート、IRインターフェース等のような他のインターフェースによって接続することもできる。
【0183】
[00219] モニター2044または他のタイプのディスプレイ・デバイスも、システム・バス2008に、ビデオ・アダプター2046のようなインターフェースを介して接続される。モニター2044に加えて、コンピューターは、通例、スピーカー、プリンター等のような、他の周辺出力デバイスも含む。
【0184】
[00220] コンピューター2002は、論理接続を使用し、リモート・コンピューター2048のような1つ以上のリモート・コンピューターへの有線および/またはワイヤレス通信によって、ネットワーク接続環境において動作することができる。リモート・コンピューター2048は、ワークステーション、サーバー・コンピューター、ルーター、パーソナル・コンピューター、携帯用コンピューター、マイクロプロセッサー・ベースの娯楽機器、ピア・デバイスまたは他の共通ネットワーク・ノードとすることができ、通例、コンピューター2002に関して説明したエレメントの多くまたは全てを含むが、簡潔にすることの目的で、メモリー/記憶デバイス2050のみを示す。図示されている論理接続は、ローカル・エリア・ネットワーク(LAN)2052および/またはそれよりも大きなネットワーク、例えば、ワイド・エリア・ネットワーク(WAN)2054への有線/ワイヤレス接続を含む。このようなLANおよびWANネットワーク接続環境は、事務所や会社では極普通であり、イントラネットのような、企業規模のコンピューター・ネットワークを容易にする。その全ては、グローバル通信ネットワーク、例えば、インターネットに接続することができる。
【0185】
[00221] LANネットワーク接続環境において使用されるとき、コンピューター2002は、有線および/またはワイヤレス通信ネットワーク・インターフェースあるいはアダプター2056を介して、LAN2052に接続される。アダプター2056は、LAN2052への有線通信および/またはワイヤレス通信を容易にすることができ、LAN2052は、アダプター2056のワイヤレス機能と通信するために設置されたワイヤレス・アクセス・ポイントも含むことができる。
【0186】
[00222] WANネットワーク接続環境において使用されるとき、コンピューター2002はモデム2058を含むことができ、あるいはWAN2054における通信サーバーに接続され、あるいはインターネットを介してというようにして、WAN2054を介して通信を作るための他の手段を有する。モデル2058は、内部または外部の有線デバイスおよび/またはワイヤレス・デバイスとすることができ、入力デバイス・インターフェース2042を介してシステム・バス2008に接続する。ネットワーク接続環境では、コンピューター2002に関して図示したプログラム・モジュールまたはその一部は、リモート・メモリー/記憶デバイス2050に格納することができる。尚、図示したネットワーク接続は例であり、コンピューター間に通信リンクを作る他の手段を使用することもできることは認められよう。
【0187】
[00223] コンピューター2002は、例えば、プリンター、スキャナ、デスクトップおよび/または携帯用コンピューター、パーソナル・ディジタル・アシスタント(PDA)、通信衛星、ワイヤレス検出可能タグに関連する任意の機器または位置(例えば、駅の売店、売店、手洗い)とワイヤレス通信可能に動作的に配置されるワイヤレス・デバイスおよび電話機というような、IEEE802規格ファミリ−(例えば、IEEE802空中変調技法)を使用する有線およびワイヤレス・デバイスまたはエンティティと通信するように動作可能である。これは、少なくとも、Wi-Fi(またはワイヤレス・フィデリティ)、WiMax、およびBluetooth(商標)ワイヤレス技術を含む。つまり、通信は、従来のネットワークのように、既に定められた構造とすることができ、または少なくとも2つのデバイス間における単なるアドホック通信であることもできる。Wi-Fiネットワークは、IEEE802.11x(a、b、g等)を使用して、安全で、信頼性が高く、高速なワイヤレス接続を提供する。Wi-Fiネットワークは、コンピューターを互いに、インターネットに、そして有線ネットワークに(IEEE802.3関連媒体および機能を使用する)接続するために使用することができる。
【0188】
[00224] 種々の実施形態は、ハードウェア・エレメント、ソフトウェア・エレメント、または双方の組み合わせを使用して実現することができる。ハードウェア・エレメントの例には、デバイス、コンポーネント、プロセッサー、マイクロプロセッサー、回路、回路エレメント(例えば、トランジスター、抵抗器、キャパシター、インダクター等)、集積回路、特定用途集積回路(ASIC)、プログラマブル論理デバイス(PLD)、ディジタル信号プロセッサー(DSP)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、メモリー・ユニット、論理ゲート、レジスター、半導体デバイス、チップ、マイクロチップ、チップ・セット等を含むことができる。ソフトウェア・エレメントの例には、ソフトウェア・コンポーネント、プログラム、アプリケーション、コンピューター・プログラム、アプリケーション・プログラム、システム・プログラム、装置プログラム、オペレーティング・システム・プログラム、ミドルウェア、ファームウェア、ソフトウェア・モジュール、ルーチン、サブルーチン、関数、メソッド、手順、ソフトウェア・インターフェース、アプリケーション・プログラム・インターフェース(API)、命令セット、計算コード、コンピューター・コード、コード・セグメント、コンピューター・コード・セグメント、ワード、値、記号、またはこれらの任意の組み合わせを含むことができる。実施形態がハードウェア・エレメントおよび/またはソフトウェア・エレメントを使用して実現されるか否かの判断は、所望の計算速度、電力レベル、耐熱性、処理サイクル予算、入力データー・レート、出力データー・レート、メモリー・リソース、データー・バス速度、および所与の実現例のために望まれる通りの他の設計または性能制約というような、任意の数の要素にしたがって変化する可能性がある。
【0189】
[00225] 実施形態の中には、製造品(article of manufacture)を含むことができるものもある。製造品は、ロジックを格納する記憶媒体を含むことができる。記憶媒体の例には、電子データーを格納することができる1つ以上のタイプのコンピューター読み取り可能記憶媒体が含まれ、これには、揮発性メモリーまたは不揮発性メモリー、リムーバブルまたは非リムーバブル・メモリー、消去可能または消去可能でないメモリー、書き込み可能または再書き込み可能メモリー等が含まれる。ロジックの例には、ソフトウェア・コンポーネント、プログラム、アプリケーション、コンピューター・プログラム、アプリケーション・プログラム、システム・プログラム、機械プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェア・モジュール、ルーチン、サブルーチン、関数、メソッド、手順、ソフトウェア・インターフェース、アプリケーション・プログラム・インターフェース(API)、命令セット、計算コード、コンピューター/コード、コード・セグメント、コンピューター・コード・セグメント、ワード、値、記号、またはこれらの任意の組み合わせというような、種々のソフトウェア・エレメントを含むことができる。一実施形態では、例えば、製造品は、実行可能コンピューター・プログラム命令を格納するのでもよく、この命令をコンピューターによって実行すると、このコンピューターに、説明した実施形態にしたがって方法および/または動作を実行させる。実行可能コンピューター・プログラム命令は、ソース・コード、コンパイル・コード、インタプリター・コード、実行可能コード、スタティック・コード、ダイナミック・コードなどのような、適したタイプのコードであればいずれでも含むことができる。実行可能コンピューター・プログラム命令は、既定のコンピューター言語、様式(manner)または構文(syntax)にしたがって、一定の機能を実行するようにコンピューターに命令するために、実装することができる。命令は、適した高級言語、低級言語、オブジェクト指向言語、ビジュアル言語、コンパイル言語および/またはインタプリター型プログラム言語の内任意のものを使用しても実装することができる。
【0190】
[00226] 実施形態の中には、「一実施形態」または「実施形態」という表現をその派生語と共に用いて説明するとよいものがある。これらの用語は、当該実施形態と関連付けて説明された特定の特徴、構造、または特性が、少なくとも1つの実施形態に含まれることを意味する。本明細書の種々の場所において「一実施形態では」という句が出てくる場合、必ずしも全てが同じ実施形態を指す訳ではない。
【0191】
[00227] 実施形態の中には、「結合される」および「接続される」という表現を、その派生語と共に用いて説明するとよいものがある。これらの用語は、必ずしも互いに対する同義語であることを意図しているのではない。例えば、実施形態の中には、2つ以上のエレメントが直接物理的にまたは電気的に互いに接触していることを示すために、「接続される」および/または「結合される」という用語を用いて説明するとよい場合がある。しかしながら、「結合される」という用語は、2つ以上のエレメントが互いに直接接触していないが、それでも互いに協働するまたは相互作用することを意味することもできる。
【0192】
[00228] 尚、開示の要約は、37C.F.R、1.72(b)章に沿うように設けられ、37C.F.R、1.72(b)章は、読者が本技術的開示の固有性を素早く確認することを可能にすることを要約書に要求することを強調しておく。尚、これは、請求項の範囲または意味を解釈するためや限定するために用いられるのではないことを理解した上で申し述べられることである。加えて、以上の詳細な説明では、開示を簡素化する目的に限って、1つの実施形態において種々の特徴が一緒に纏められていることがわかるであろう。この開示方法は、特許請求する実施形態が各請求項において明示的に記載されるよりも多くの特徴を必要とするという意図を反映するというように解釈してはならない。逆に、以下の請求項が示す(reflect)ように、発明の主題は、1つの開示された実施形態の全ての特徴に存在する訳ではない。つまり、以下の請求項は、詳細な説明に含まれることとし、各請求項が別個の実施形態としてそれ自体を成り立たせている(stand on its own)。添付した特許請求の範囲において、「含む」(including)および「において」(in which)という用語は、それぞれ、「含む」(comprising)および「において」(wherein)というそれぞれの用語の平素な英語の同等語(equivalent)として用いられるものとする。更に、「第1」、「第2」、「第3」等は、単に名称として用いられるのであり、それらの目的語に対して数値的な要件を強制することは意図していない。
【0193】
[00229] 以上、構造的特徴および/または方法論的動作に特定的な文言で本主題について説明したが、添付した特許請求の範囲において定義されている主題は、必ずしも以上で説明した具体的な特徴や動作には限定されないことは理解されてしかるべきである。逆に、以上で説明した具体的な特徴や動作は、特許請求の範囲を実現する形態例として開示したまでである。
図1
図2
図3A
図3B
図4
図5
図6
図7AB
図7CD
図8
図9
図10
図11
図12
図13
図14A
図14B
図15
図16
図17
図18A
図18B
図19
図20