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

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

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

特許6231981コンテンツファイルを表すカスタムオブジェクトを生成するための技法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6231981
(24)【登録日】2017年10月27日
(45)【発行日】2017年11月15日
(54)【発明の名称】コンテンツファイルを表すカスタムオブジェクトを生成するための技法
(51)【国際特許分類】
   G06F 3/0484 20130101AFI20171106BHJP
【FI】
   G06F3/0484 120
【請求項の数】20
【全頁数】46
(21)【出願番号】特願2014-516070(P2014-516070)
(86)(22)【出願日】2012年6月15日
(65)【公表番号】特表2014-519673(P2014-519673A)
(43)【公表日】2014年8月14日
(86)【国際出願番号】US2012042830
(87)【国際公開番号】WO2012174491
(87)【国際公開日】20121220
【審査請求日】2015年6月10日
(31)【優先権主張番号】13/161,215
(32)【優先日】2011年6月15日
(33)【優先権主張国】US
(31)【優先権主張番号】PCT/US2011/065489
(32)【優先日】2011年12月16日
(33)【優先権主張国】US
(31)【優先権主張番号】13/422,814
(32)【優先日】2012年3月16日
(33)【優先権主張国】US
(31)【優先権主張番号】PCT/US2012/030952
(32)【優先日】2012年3月28日
(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)【発明者】
【氏名】ウッド,マシュー
(72)【発明者】
【氏名】スナイダー,ダニエル・アール
【審査官】 菊池 智紀
(56)【参考文献】
【文献】 特表2003−513350(JP,A)
【文献】 特開2010−170500(JP,A)
【文献】 特開2002−014854(JP,A)
【文献】 特開平08−123813(JP,A)
【文献】 特開平07−129658(JP,A)
【文献】 特開2002−278994(JP,A)
【文献】 特開2006−277727(JP,A)
【文献】 特開2006−244276(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048−3/0489
(57)【特許請求の範囲】
【請求項1】
コンテンツファイルをデジタルモンタージュの表示面の表示タイルと関連付けるための制御指示を受信するステップであって、前記表示タイルは前記表示面の別個の領域を画定している、ステップと、
前記コンテンツファイルのコンテンツファイルタイプを特定するステップと、
前記コンテンツファイルタイプに基づいて前記コンテンツファイルのコンテンツ部分を取り込むステップと、
前記コンテンツ部分に基づいて前記表示タイルに関するタイルオブジェクトを生成するステップであって、前記タイルオブジェクトは対応するタイルオブジェクトコンテナーを備える、ステップと、
前記コンテンツ部分からの情報が前記タイルオブジェクトのタイルオブジェクトコンテナーの現在の寸法には大きすぎることを判定するステップと、
前記タイルオブジェクトコンテナーの寸法を増加してコンテンツ部分からの情報を収容するステップと
を含む、コンピューター実施方法。
【請求項2】
対応するタイルオブジェクトコンテナー内に格納される選択されたコンテンツ部分クリップを有するタイルオブジェクト面として、前記タイルオブジェクトを生成するステップを含む、請求項1に記載のコンピューター実施方法。
【請求項3】
前記コンテンツファイルのコンテンツファイルタイプを、ワードプロセッシングファイル、スプレッドシートファイル、プレゼンテーションファイル、個人情報マネージャファイル、データベースファイル、パブリッシャーファイル、ドローイングファイル、メモ帳ファイル、またはメッセージファイルを含むアプリケーションファイルタイプとして識別するステップを含む、請求項1に記載のコンピューター実施方法。
【請求項4】
前記コンテンツファイルタイプに基づいて前記コンテンツファイルのコンテンツ部分からコンテンツ部分クリップを選択するステップを含む、請求項1に記載のコンピューター実施方法。
【請求項5】
前記コンテンツファイルタイプと関連付けられるタイプ定義に基づいて、前記コンテンツファイルの前記コンテンツ部分からコンテンツ部分クリップを選択するステップを含み、前記タイプ定義が、コンテンツおよびプロパティクラス、コンテンツオブジェクトクラス、またはコンテンツページクラスの情報を含む、請求項1に記載のコンピューター実施方法。
【請求項6】
選択されたコンテンツ部分クリップをタイルオブジェクト面の対応するタイルオブジェクトコンテナーと関連付けるステップを含む、請求項1に記載のコンピューター実施方法。
【請求項7】
前記コンテンツファイルの前記コンテンツ部分からコンテンツ部分クリップを選択するための制御指示を入力デバイスから受け取ることを含む、請求項1に記載のコンピューター実施方法。
【請求項8】
前記コンテンツファイルの前記コンテンツ部分からのコンテンツ部分クリップを、対応するタイルオブジェクトコンテナーと関連付けるための制御指示を入力デバイスから受け取るステップを含む、請求項1に記載のコンピューター実施方法。
【請求項9】
対応するタイルオブジェクトコンテナー内にコンテンツ部分クリップを収めて、前記対応するタイルオブジェクトコンテナーのコンテナー定義とフィッティングアルゴリズムとのセットに従って、埋まったコンテナーを形成するステップを含む、請求項1に記載のコンピューター実施方法。
【請求項10】
前記タイルオブジェクト面とフィッティングアルゴリズムの画面定義のセットに従って埋まったコンテナーを前記タイルオブジェクト面内に収めるステップを含む、請求項1に記載のコンピューター実施方法。
【請求項11】
実行されると、
コンテンツファイルをデジタルモンタージュの表示面の表示タイルと関連付けるための制御指示を受信することであって、前記表示タイルの各々は前記表示面の別個の画定された領域を含む、制御指示を受信すること、
前記コンテンツファイルのコンテンツファイルタイプを特定すること、
前記コンテンツファイルタイプに基づいて前記コンテンツファイルからのコンテンツを有する前記表示タイルに関するタイルオブジェクトを生成することであって、前記タイルオブジェクトは対応するタイルオブジェクトコンテナーを含む、タイルオブジェクトを生成すること、
コンテンツ部分からの情報が、前記タイルオブジェクトの前記タイルオブジェクトコンテナーの現在の寸法には大きすぎることを判定すること、
前記タイルオブジェクトコンテナーの寸法を増加して前記コンテンツ部分からの情報を収容すること、
をシステムが実行することを可能にする命令を格納した記憶媒体を備える製品。
【請求項12】
実行されると、個々のタイルオブジェクトコンテナー内に含まれる選択されたコンテンツを有するタイルオブジェクト面として前記タイルオブジェクトを生成することを前記システムが実行することを可能にする命令をさらに含む、請求項11に記載の製品。
【請求項13】
実行されると、前記コンテンツファイルタイプに基づいてコンテンツファイルからコンテンツを選択することを前記システムが実行することを可能にする命令をさらに含む、請求項11に記載の製品。
【請求項14】
実行されると、前記コンテンツファイルからのコンテンツを個々のタイルオブジェクトコンテナー内に収めて、前記対応するタイルオブジェクトコンテナーのコンテナー定義とフィッティングアルゴリズムとのセットに従って、埋まったコンテナーを形成することを前記システムが実行することを可能にする命令をさらに含む、請求項11に記載の製品。
【請求項15】
実行されると、前記タイルオブジェクト面とフィッティングアルゴリズムの画面定義のセットに従って埋まったコンテナーを前記タイルオブジェクト面内に収めることを前記システムが実行することを可能にする命令をさらに含む、請求項11に記載の製品。
【請求項16】
デジタルモンタージュのためのタイルオブジェクトを生成するように動作可能な作成コンポーネントを含むモンタージュアプリケーションを実行するように構成された論理デバイスであって、前記作成コンポーネントが、コンテンツファイルを前記デジタルモンタージュの表示面の表示タイルと関連付けるための制御指示を受け取り、前記コンテンツファイルのコンテンツファイルタイプを特定し、前記コンテンツファイルタイプに従って、前記コンテンツファイルからの情報を伴う前記表示タイルに関する前記タイルオブジェクトを生成し、前記コンテンツファイルからの情報が前記タイルオブジェクトのタイルオブジェクトコンテナーの現在の寸法に対し大きすぎることを判定し、タイルオブジェクトコンテナーの寸法を増加して、前記コンテンツファイルからの情報を収容する、論理デバイスを備え、前記表示タイルは前記表示面の別個の領域を画定し、前記タイルオブジェクトは対応するタイルオブジェクトコンテナーを含む、装置。
【請求項17】
前記作成コンポーネントは、1以上のタイルオブジェクトコンテナー内に含まれる前記コンテンツファイルから選択された情報を有するタイルオブジェクト面として前記タイルオブジェクトを生成するよう動作する、請求項16に記載の装置。
【請求項18】
前記作成コンポーネントは、各コンテンツファイルタイプに対応する複数のタイプモジュールを含み、タイプモジュールはコンテンツファイルからの情報をコンテンツファイルタイプに対するタイプ定義に基づいて取り込むよう動作する、請求項16に記載の装置。
【請求項19】
作成コンポーネントは、タイルオブジェクトコンテナーの前記コンテンツファイルから情報を、前記コンテンツファイルタイプに対応するタイプモジュールのタイプ定義に基づいて選択し、前記選択された情報に基づいて前記タイルオブジェクトを生成するよう動作する、請求項16に記載の装置。
【請求項20】
前記作成コンポーネントが、フィッティングアルゴリズムを実行し、前記フィッティングアルゴリズムが、1つまたは複数のタイルオブジェクトコンテナー内に前記コンテンツファイルからの情報を収めて、対応するタイルオブジェクトコンテナーのコンテナー定義と前記フィッティングアルゴリズムとのセットに従って、埋まったコンテナーを形成するように構成される、請求項16に記載の装置。
【発明の詳細な説明】
【背景技術】
【0001】
[0001]モンタージュ(montage)は、別々の要素を統合して単一の合成要素を形成することを含み得る。たとえば、モンタージュは、いくつかの別々の写真で構成された合成写真、または完全に異なる画像の高速なシーケンスを含むビデオシーケンスを含み得る。電子モンタージュシステムは、異なるウェブアプリケーションから提供された異なる構成ウェブページを含む合成ウェブページなど、デジタルコンテンツを使用して、デジタルモンタージュを作成するように設計されてきた。場合によっては、構成ウェブページは、検索エンジンによって使用される所与の検索用語に関連するウェブページなどの主題、またはブラウザーの履歴に記憶されたユーザーが常に訪れるウェブページに従って、編成される。構成ウェブページは、合成ウェブページに空間的な制約があることにより、実際のウェブページの忠実度の低い表現であることがしばしばある。したがって、ユーザーは、ある構成ウェブページを選択して、より精細な表示のために、選択されたウェブページのより忠実度の高いバージョンを取り込むことができる。
【発明の概要】
【発明が解決しようとする課題】
【0002】
[0002]しかしながら、デジタル情報の量が増えるにつれて、意味のある情報をユーザーに提供するような方法でデジタルモンタージュを構築することが、ますます難しくなっている。より具体的には、ある特定のコンテンツソースに関心があるかどうかについてユーザーが情報に基づく判断を下すことを可能にする方法で、複数のコンテンツソースからのコンテンツをデジタルモンタージュにおいて表現することがますます難しくなっている。本改善点が必要とされたのは、これらの、および他の検討事項を考慮した結果である。
【課題を解決するための手段】
【0003】
[0003]この「発明の概要」は、以下の「発明を実施するための形態」においてさらに説明される複数の概念から選ばれたものを、簡単な形態で紹介するために与えられる。この「発明の概要」は、特許請求される主題の主要な特徴または不可欠な特徴を特定することも、特許請求される主題の範囲を決定するのを助けることも意図されていない。
【0004】
[0004]様々な実施形態は、一般に、電子モンタージュシステムを対象とする。いくつかの実施形態は特に、異種のデータソースからデジタルモンタージュを生成するように構成された、電子モンタージュシステムを対象とする。電子モンタージュシステムは、ユーザーが、データソースのカスタマイズされた表現を伴う、カスタマイズされたデジタルモンタージュを生成することを可能にでき、これによって、他のユーザーが、より詳細な表示を行うことに関心のあるデータソースを迅速に特定し選択することが可能になる。電子モンタージュシステムは、公開モデル、メッセージングモデル、または公開モデルとメッセージングモデルの組合せを介して、カスタマイズされたデジタルモンタージュを他のユーザーに公開することができる。
【0005】
[0005]一実施形態では、たとえば、装置は、モンタージュアプリケーションを実行するように構成される論理デバイスを含み得る。論理デバイスは、たとえば、プロセッサとメモリとを有する処理システムを含み得る。モンタージュアプリケーションは、複数の表示タイルを有する表示面を提供し、コンテンツファイルを表示タイルと関連付けるための制御指示を受け取り、コンテンツファイルのコンテンツファイルタイプに基づいてコンテンツファイルのためのタイルオブジェクトを生成し、表示面とタイルオブジェクトとをモンタージュとして記憶するように動作可能な、作成コンポーネントを含み得る。
【0006】
[0006]モンタージュアプリケーションはさらに、デジタルモンタージュのためのタイルオブジェクトを生成するように動作可能な、作成コンポーネントを含み得る。作成コンポーネントは、コンテンツファイルをデジタルモンタージュの表示面の表示タイルと関連付け、コンテンツファイルのコンテンツファイルタイプを特定し、コンテンツファイルタイプに従ってコンテンツファイルからの情報を伴うタイルオブジェクトを生成するための、制御指示を受け取ることができる。作成コンポーネントは、1つまたは複数のタイルオブジェクトコンテナーに格納されているコンテンツファイルからの選択された情報を有するタイルオブジェクト面として、タイルオブジェクトを生成することができる。
【0007】
[0007]モンタージュアプリケーションはまたさらに、表示面の各々の関連付けられた表示タイル内に各々のタイルオブジェクトを表示するための第1のユーザーインターフェースビューを生成し、タイルオブジェクトを選択するための制御指示を受け取り、タイルオブジェクトに対応するコンテンツファイルを表示するための第2のユーザーインターフェースビューを生成するように動作可能な、表示コンポーネントを含み得る。
【0008】
[0008]これらのおよび他の特徴および利点は、以下の発明を実施するための形態を読み、関連する図面を検討すれば明らかであろう。前述の全般的な説明と、以下の発明を実施するための形態の両方が単なる例であり、特許請求される態様を制限するものではないことを理解されたい。
【図面の簡単な説明】
【0009】
図1】[0009]モンタージュシステムのある実施形態を示す図である。
図2】[0010]作成コンポーネントのある実施形態を示す図である。
図3A】[0011]表示面のある実施形態を示す図である。
図3B】[0012]タイルオブジェクトを伴う表示面のある実施形態を示す図である。
図3C】[0013]タイルオブジェクトコンテナーを伴うタイルオブジェクトのある実施形態を示す図である。
図4】[0014]作成コンポーネントのある例を示す図である。
図5】[0015]メッセージングシステムのある実施形態を示す図である。
図6】[0016]メッセージングシステムのメッセージフローのある実施形態の図である。
図7AB】[0017]図7Aはメッセージのユーザーインターフェースビューのある実施形態の図である。[0018]図7Bはモンタージュのユーザーインターフェースビューのある実施形態の図である。
図7CD】[0019] 図7Cはタイルオブジェクトのユーザーインターフェースビューのある実施形態の図である。[0020] 図7Dはコンテンツファイルのユーザーインターフェースビューのある実施形態の図である。
図8A】[0021]作成コンポーネントがモンタージュを生成するための論理フローのある実施形態を示す図である。
図8B】[0022]作成コンポーネントがモンタージュのためのタイルオブジェクトを生成するための論理フローのある実施形態を示す図である。
図9】[0023]コンポーネントを公開するための論理フローのある実施形態を示す図である。
図10】[0024]コンピューティングアーキテクチャのある実施形態を示す図である。
【発明を実施するための形態】
【0010】
[0025]様々な実施形態は全般に、異種のデータソースからデジタルモンタージュを生成するように構成された、電子モンタージュシステムを対象とする。電子モンタージュシステムは、たとえば、ユーザーが、アプリケーションプログラムなどの異なるソフトウェアプログラムによって生成されるコンテンツファイルを使用して、高度にカスタマイズされたデジタルモンタージュを生成することを可能にし得る。
【0011】
[0026]デジタルモンタージュは、基礎となるコンテンツファイルのカスタマイズされた表現を含む、1つまたは複数のタイルオブジェクトを含み得る。タイルオブジェクトは、コンテンツファイルの表現、エージェント、または「ティーザー(teaser)」を含み得る。タイルオブジェクトは、関連付けられたコンテンツファイルに関心があるかどうか、および関連付けられたコンテンツファイルがより詳細な調査に値するかどうかを、コンテンツ利用者が迅速かつ容易に判定することを可能にする方法でレンダリングされた、関連付けられたコンテンツファイルからの情報の簡潔なセットである。タイルオブジェクトは、コンテンツファイルから選択的に抽出されコンテンツファイルのために特別に作成されたタイプ定義に従ってフォーマットされた情報を使用して、構築され得る。タイプ定義は、ファイル拡張、データスキーマ、フォーマット制御、埋め込みオブジェクト、埋め込みコード、プロパティ、スクリプト、および他のファイル特有の情報などの、コンテンツファイルについての詳細な情報を含む。タイプ定義はまた、コンテンツファイルから抽出すべき情報のタイプ、抽出された情報のフォーマット、作成すべきタイルオブジェクトのバージョンの数などに関する、規則のセットを含む。このようにして、広範囲のコンテンツファイルを使用してデジタルモンタージュを作成しつつ、見る者に意味のある情報を提供する表現が高度なタイルオブジェクトを構築することができる。この手法は、見る者が、モンタージュ中のタイルオブジェクトを容易に調査し、多数のタイルオブジェクトの中から関心のあるコンテンツファイルを特定し、あるタイルオブジェクトを選択してより詳細な表示のためにコンテンツファイルを迅速に取り込むことを可能にする。その結果、実施形態は、価格、スケーラビリティ、モジュール性、拡張性、または操作者、デバイス、もしくはネットワークのための相互運用性を改善することができる。
【0012】
[0027]図1は、モンタージュアプリケーション140を有するモンタージュシステム100のブロック図を示す。一実施形態では、たとえば、モンタージュシステム100およびモンタージュアプリケーション140は、たとえば、コンポーネント110、130などの様々なコンポーネントを含み得る。本明細書で使用される場合、「システム」および「アプリケーション」および「コンポーネント」という用語は、ハードウェア、ハードウェアとソフトウェアと組合せ、ソフトウェア、または実行中のソフトウェアといずれかを含む、コンピューター関連のエンティティを指すことが意図される。たとえば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、ハードディスクドライブ、(光学/または磁気ストレージ媒体の)複数のストレージデバイス、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピューターとして実装され得る。例示として、サーバー上で実行されるアプリケーションとサーバーの両方が、コンポーネントであり得る。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッド内に存在してもよく、コンポーネントは、所与の実装形態における望みに応じて、1つのコンピューターに局在してもよく、かつ/また2つ以上のコンピューターに分散してもよい。実施形態は、これに関連して限定はされない。
【0013】
[0028]図1に示される図解された実施形態では、モンタージュシステム100およびモンタージュアプリケーション140は、電子デバイスによって実装され得る。電子デバイスの例は、限定されることなく、モバイルデバイス、携帯情報端末、モバイルコンピューティングデバイス、スマートフォン、携帯電話、ハンドセット、受信用ページャー、双方向ページャー、メッセージングデバイス、コンピューター、パーソナルコンピューター(PC)、デスクトップコンピューター、ラップトップコンピューター、ノートブックコンピューター、ハンドヘルドコンピューター、タブレットコンピューター、サーバー、サーバーアレイまたはサーバーファーム、ウェブサーバー、ネットワークサーバー、インターネットサーバー、ワークステーション、ミニコンピューター、メインフレームコンピューター、スーパーコンピューター、ネットワーク機器、ウェブ機器、分散型コンピューティングシステム、マルチプロセッサシステム、プロセッサベースのシステム、ゲームデバイス、家電製品、プログラム可能な家電製品、テレビ、デジタルテレビ、セットトップボックス、ワイヤレスアクセスポイント、基地局、加入者局、モバイルサブスクライバーセンター、無線ネットワークコントローラー、ルーター、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはこれらの組合せを含み得る。図1に示されるモンタージュアプリケーション140は、あるトポロジーでは限られた数の要素を有するが、モンタージュアプリケーション140は、所与の実装形態に必要に応じて、代替的なトポロジーでは、より多数またはより少数の要素を含み得ることが理解され得る。
【0014】
[0029]コンポーネント110、130は、様々なタイプの通信媒体を介して通信可能に結合され得る。コンポーネント110、130は、互いに動作を調整することができる。この調整には、単方向のまたは双方向の情報の交換が関与し得る。たとえば、コンポーネント110、130は、通信媒体を通じて通信される信号という形で、情報を通信することができる。情報は、様々な信号線に割り当てられる信号として実装され得る。そのような割り当てにおいては、各メッセージが信号である。しかしながら、さらなる実施形態は代わりに、データメッセージを利用することができる。そのようなデータメッセージは、様々な接続を通じて送信され得る。例示的な接続には、パラレルインターフェース、シリアルインターフェース、およびバスインターフェースがある。
【0015】
[0030]図1に示される図解された実施形態では、モンタージュシステムは、1つまたは複数のコンテンツファイル104−cと、モンタージュアプリケーション140とを含み得る。コンテンツファイル104−cは、アプリケーションプログラム、ウェブアプリケーション、ウェブサービスなど、ソフトウェアプログラムによって生成されたデジタルコンテンツを含み得る。モンタージュアプリケーション140は、1つまたは複数の選択されたコンテンツファイル104−cを使用して、モンタージュ120を生成することができる。一実施形態では、1つまたは複数のコンテンツファイル104−cは、ユーザーによって手動で選択され得る。一実施形態では、1つまたは複数のコンテンツファイル104−cは、たとえば、検索エンジンによって使用される所与の検索語に関連する検索結果、またはブラウザーの履歴に記憶されているユーザーが常に訪れているコンテンツファイル104−cを使用して、ソフトウェアプログラムによって自動的に選択され得る。
【0016】
[0031]モンタージュアプリケーション140は、要素の中でもとりわけ、作成コンポーネント110と表示コンポーネント130とを含み得る。作成コンポーネント110は、モンタージュ120を作成または生成するためにユーザーによって使用され得る。モンタージュ120を作成または生成するユーザーは、本明細書では「コンテンツ作成者」と呼ばれることがあり得る。表示コンポーネント130は、モンタージュ120を見る、または操作するためにユーザーによって使用され得る。モンタージュ120を見るまたは操作するユーザーは、本明細書では「コンテンツ利用者」と呼ばれることがあり得る。モンタージュアプリケーション140はさらに、図2図11を参照してより詳しく説明されるような、他のコンポーネントを含む。
【0017】
[0032]作成コンポーネント110は概して、コンテンツ作成者がモンタージュ120を生成し、創作し、または他の方法で作成することを可能にするための、ユーザーインターフェースビューとツールとを生成することを含む、モンタージュアプリケーション140のための作成動作を管理することができる。モンタージュ120は、単一の合成デジタル情報要素を形成するための、選択されたコンテンツファイル104−cからのデジタル情報要素の単一の合成または統合を含み得る。モンタージュ120は、たとえば、アプリケーションプログラムのためのアプリケーションファイルなど、異種のアプリケーションによって生成される異なる構成デジタル情報要素を有する合成ドキュメントを含み得る。場合によっては、構成デジタル情報要素は、そうしたデジタル情報要素が事業プロジェクトに関するか、個人的な休暇に関するか、または休日に関するかなどの、主題に従って編成される。構成デジタル情報要素は、しばしば合成ドキュメントの空間制約が原因で、実際のコンテンツファイル104−cの忠実度の低い表現である。したがって、コンテンツ利用者は、ある構成デジタル情報要素を選択して、より精細な表示のために、関連するコンテンツファイル104−cのより忠実度の高いバージョンを取り込むことができる。
【0018】
[0033]一実施形態では、たとえば、作成コンポーネント110は、モンタージュ120のための表示面122を設けるように構成され得る。表示面122は、あるトポロジーでは、表示面122上で画定または配置される複数の表示タイル124−aを有し得る。作成コンポーネント110は、いくつかのコンテンツファイル104−cをいくつかの表示タイル124−aと関連付けるための、制御指示102−bを受け取ることができる。作成コンポーネント110は、様々なコンテンツファイルタイプと、コンテンツファイル104−cと関連付けられるタイプ定義とに基づいて、コンテンツファイル104−cのためのタイルオブジェクト126−eを生成することができる。作成コンポーネント110は、モンタージュ120の一部として、表示面122とタイルオブジェクト126−eとを記憶することができ、モンタージュ120は次いで、様々なコンテンツ利用者に公開または配信され得る。
【0019】
[0034]本明細書で使用されるような「a」および「b」および「c」および同様の識別子が、任意の正の整数を表す変数を意図することは、注目に値する。したがって、たとえば、ある実装形態においてa=5という値を設定する場合、表示タイル124−aの完全なセットは、表示タイル124−1、124−2、124−3、124−4、および125−5を含み得る。実施形態は、これに関連して限定はされない。
【0020】
[0035]作成コンポーネント110は、複数の表示タイル124−aを有する表示面122を設けることによって、モンタージュ120を生成するための作成動作を開始することができる。表示面122は、座標系と境界とを有する任意の定義されたサイズの2次元(2D)または3次元(3D)の位相空間を含み得る。表示面122の例は、ワードプロセッシングプログラムのドキュメント、プレゼンテーションプログラムのスライド、スプレッドシートプログラムのワークシート、メモ帳プログラムのメモ帳、個人情報マネージャー(PIM)の連絡先カード、およびアプリケーションプログラムによって、典型的に使用される他の空間を含み得る。
【0021】
[0036]表示タイル124−aは、タイルオブジェクト126−eなどの具体的な情報のセットを提示するように設計された、表示面122の定義された領域を含み得る。定義された領域は、所与の実装形態における望みに応じて、任意のサイズ、寸法、または形状であってもよい。所与の表示面122は、任意の数の表示面124−aを有してもよく、各表示タイル124−aは、すべての表示タイル124−aが表示面122の所与のサイズ内に確実に収まるような、定義のセット(たとえば、サイズ、形状、寸法、配置)を有し得る。表示タイル124−aの定義は、表示面122、コンテンツファイル104−cのセット、コンテンツファイル104−cと表示タイル124−aとの関連、コンテンツファイル104−cと関連付けられるタイルオブジェクト126−e、ディスプレイの特性、デバイスの特性、ユーザー選好、および他の要因に基づいて、動的に変化し得る。実施形態は、これに関連して限定はされない。
【0022】
[0037]一実施形態では、コンテンツ作成者は、表示面122と表示タイル124−aとをカスタム定義することができる。モンタージュアプリケーション140のユーザーインターフェースは、表示面122の特性と、表示面122上の表示タイル124−aのセットとを修正するように特別に定義される、様々な制御機構を提供することができる。そのような制御機構の例は、限定されることなく、描画制御機構、寸法制御機構、サイズ制御機構、幅制御機構、高さ制御機構、ピクセル制御機構、リフレッシュ制御機構などを含み得る。あるいは、コンテンツ作成者は、異なる表示面と表示タイル124−aとを提供する、任意の数のモンタージュテンプレートから選択することができる。
【0023】
[0038]作成コンポーネント110は、いくつかのコンテンツファイル104−cをいくつかの表示タイル124−aと関連付けるための、制御指示102−bを受け取ることができる。作成コンポーネント110は、ユーザーが、コンテンツファイル104−aを選択し、コンテンツファイル104−aを表示タイル124−aと関連付けることを可能にする、ユーザーインターフェースビューとツールとを生成することができる。たとえば、ユーザーは、コンテンツファイル104−1を選択し表示タイル124−1上でコンテンツファイル104−1をドラッグするためのポインティングデバイスなどの入力デバイスを使用することができる。ユーザーの選択は、選択を作成コンポーネント110に示すメッセージまたは信号として、制御指示102−bを生成することができる。あるいは、制御指示120−bは、コンテンツ選択アルゴリズムに従ってプログラム的に生成され得る。たとえば、コンテンツ選択アルゴリズムは、検索エンジンによって生成される検索結果から、またはユーザーのブラウジングパターンの分析によって、コンテンツファイル104−cを自動的に選択するための、定義された規則のセットを有し得る。実施形態は、これに関連して限定はされない。
【0024】
[0039]コンテンツファイル104−cは、アプリケーションプログラム、ウェブアプリケーション、ウェブサービス、クライアントアプリケーション、サーバーアプリケーション、システムプログラムなど、ソフトウェアプログラムによって生成される、任意のデジタル情報要素またはデジタルコンテンツを含み得る。異なるソフトウェアプログラムは、異なるタイプのデジタルコンテンツを生成し得る。したがって、異なるソフトウェアプログラムによって生成されるデジタルコンテンツは、異種のデジタルコンテンツを含み得る。コンテンツファイル104−cの例は、限定されることなく、ワードプロセッシングファイル、スプレッドシートファイル、プレゼンテーションファイル、個人情報マネージャー(PIM)ファイル、データベースファイル、パブリッシャーファイル、ドローイングファイル、メモ帳ファイル、メッセージファイル、プロジェクトファイルなど、アプリケーションファイルを含み得る。コンテンツファイル104−cのさらなる例は、オーディオファイル、画像ファイル、ビデオファイル、オーディオ/ビデオ(AV)ファイル、動画ファイル、ゲームファイル、マークアップファイル、ウェブページファイル、ソーシャルネットワーキングサービス(SNS)ファイルなど、マルチメディアファイルを含み得る。これらはコンテンツファイル104−cの少数の例にすぎず、実施形態はこれらの例に限定されないことが理解され得る。
【0025】
[0040]一実施形態では、コンテンツファイル104−cは、ワシントン州レッドモンドの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を含み得る。実施形態は、これらに関連して限定はされない。
【0026】
[0041]一実施形態では、コンテンツファイル104−cは、モンタージュ120を作成するためにモンタージュアプリケーション140の同じコンテンツ作成者によって個人的に作成された、コンテンツファイルを含み得る。たとえば、コンテンツ作成者が事業プロジェクトのプロジェクトマネージャーであり、事業プロジェクトの過程で、ワードプロセッシングファイル、スプレッドシートファイル、およびプレゼンテーションファイルなど、事業プロジェクトと関連する様々なアプリケーションファイルを作成したと仮定する。コンテンツ作成者は、モンタージュアプリケーション140の作成コンポーネント110を使用して、コンテンツ作成者によって個人的に作成された各ファイルのためのタイルオブジェクト126−eを有する、幹部向けの報告を作成することができる。
【0027】
[0042]作成コンポーネント110は、コンテンツファイル104−cの様々なコンテンツファイルタイプに基づいて、選択されたコンテンツファイル104−cのためのタイルオブジェクト126−eを生成することができる。コンテンツファイル104−cが表示タイル124−aと関連付けられると、作成コンポーネント110は、選択されたコンテンツファイル104−cのためのタイルオブジェクト126−eを生成することができる。一実施形態では、単一のコンテンツファイル104−cが単一の表示タイル124−aと関連付けられてもよく、これによって1対1の対応を形成する。一実施形態では、複数のコンテンツファイル104−cが単一の表示タイル124−aと関連付けられてもよく、これによって1対多数の対応を形成する。
【0028】
[0043]タイルオブジェクト126−eは、コンテンツファイル104−cの表現、エージェント、または「ティーザー」を含み得る。タイルオブジェクト126−eは、関連付けられたコンテンツファイル104−cに関心があるかどうか、および関連付けられたコンテンツファイル104−cがより詳細な調査に値するかどうかを、コンテンツ利用者が迅速かつ容易に判定することを可能にする方法でレンダリングされた、関連付けられたコンテンツファイル104−cからの情報の簡潔なセットである。
【0029】
[0044]タイルオブジェクト126−eは、コンテンツファイル104−cから取り込まれたコンテンツ部分106−dを使用して生成され得る。コンテンツ部分106−dは、コンテンツファイル104−cによって記憶されている完全な情報のセットから導出または抽出された、情報のサブセットを含み得る。モンタージュ120の1つの利点は、異なるコンテンツファイル104−cからの情報が、単一の表示面122に表示され得るということである。しかしながら、各コンテンツファイル104−cは、単一の表示タイル124−aの定義された領域内で表示され得る、より多くの量の情報を含み得る。たとえば、コンテンツファイル104−1がワードプロセッシングドキュメントを含む場合、作成コンポーネント110は、サムネイルとして小型化される場合でも、ワードプロセッシングドキュメント内に含まれるすべての情報(たとえば、テキスト、図、画像、絵、埋め込みオブジェクト)を表示タイル124−1の利用可能な領域または空間の中に収めることが不可能であり得る。したがって、作成コンポーネント110は、コンテンツソース104−1内に含まれる情報のセットから情報のサブセットを取り込み、表示タイル124−1の境界のセット内へと情報のサブセットをフォーマットし、タイルオブジェクト126−1としてフォーマットされた情報のサブセットを記憶することができる。たとえば、タイルオブジェクト126−1は、ワードプロセッシングドキュメント、ワードプロセッシングドキュメントのコンテンツ作成者(たとえば、作成者)、およびワードプロセッシングドキュメントからの画像の組合せを含み得る。
【0030】
[0045]タイルオブジェクト126−eはまた、対応するコンテンツファイル104−cへの参照(たとえば、アドレス、ポインタ、またはリンク)を含んでよく、またはこれと関連付けられてもよい。タイルオブジェクト126−eがより詳細な調査のためにユーザーによって選択される場合、対応するコンテンツファイル104−cを取り込みコンテンツファイル104−cの完全な忠実度の表示を行うために、この参照が使用され得る。一実施形態では、参照は、ローカルのデータストアに記憶されるような、コンテンツファイル104−cに対するものであってもよい。この場合、参照は、ピアツーピア技術を使用して、コンテンツファイル104−cを取り込むために使用され得る。一実施形態では、参照は、遠隔のデータストアに記憶されるコンテンツファイル104−cに対するものであってもよい。この場合、参照は、ネットワークストレージおよびアクセス技術を使用して、コンテンツファイル104−cを取り込むために使用され得る。
【0031】
[0046]一実施形態では、単一のコンテンツファイル104−cは、単一の表示タイル124−aと関連付けられ得る。この場合、単一のタイルオブジェクト126−eは、各表示タイル124−aの中に表示される。一実施形態では、複数のコンテンツファイル104−cは、単一の表示タイル124−aと関連付けられ得る。この場合、複数のタイルオブジェクト126−eは、単一の表示タイル124−aの中に表示され得る。レンダリングされるとき、コンテンツ利用者は、表示コンポーネント130によって提供される選択ツールを使用して、異なる表示タイル124−aに表示される複数のタイルオブジェクト126−eの間を行き来し、単一の表示タイル124−aに表示される複数のタイルオブジェクト126−eの間も行き来できるので、コンテンツ利用者は、関心のあるタイルオブジェクト126−eを選択することができる。たとえば、コンテンツ作成者が、対応するコンテンツファイル104−1〜104−100からの写真を表示タイル124−1と関連付けると仮定する。100個の写真のサムネイルが、タイルオブジェクト126−1〜126−100として生成されてもよく、表示タイル124−1の所与の寸法の中に収まる大きさにされ得る。選択ツールは、タイルオブジェクト126−1〜126−100の間を行き来して、所与の画像を選択し拡大するために使用され得る。
【0032】
[0047]異なるコンテンツファイル104−cを表示面122の異なる表示タイル124−aと関連付けるための作成動作をユーザーが完了すると、作成コンポーネント110は、モンタージュ120の一部として、表示面122とタイルオブジェクト126−eとを記憶することができる。
【0033】
[0048]表示コンポーネント130は概して、電子デバイスの電子ディスプレイにモンタージュ120を表示するためのユーザーインターフェースビューとツールとを生成することを含めて、モンタージュアプリケーション140の表示動作を管理することができる。一実施形態では、たとえば、表示コンポーネント130は、モンタージュ120の表示面122上の各々の関連付けられる表示タイル124−a内に各タイルオブジェクト126−eを表示するための、第1のユーザーインターフェースビューを生成することができる。表示コンポーネント130は、タイルオブジェクト126−eを選択するための制御指示132−fを受け取り、選択されたタイルオブジェクト126−eに対応するコンテンツファイル104−cを表示するための第2のユーザーインターフェースビューを生成することができる。
【0034】
[0049]図2は、モンタージュアプリケーション140の作成コンポーネント110のより詳細なブロック図を示す。作成コンポーネント110は、コンテンツファイル104−cのタイプのタイプ定義に基づいて、コンテンツファイル104−cからコンテンツのいくつかの部分を取り込むことによって、関連付けられるコンテンツファイル104−cのためのタイルオブジェクト126−eをインテリジェントに生成することができる。たとえば、コンテンツの部分は、コンテンツファイル104−cからのテキスト、コンテンツファイル104−cのメタデータ、コンテンツファイル104−cからのオブジェクト、またはこれらの何らかの組合せを含み得る。
【0035】
[0050]一実施形態では、コンテンツファイル104−cは、モンタージュアプリケーション140を実装する同じ電子デバイス内で実装される、ローカルのデータストア210に記憶され得る。たとえば、コンピューティングデバイスは、コンピューティングデバイスの大容量ストレージデバイスに記憶されるコンテンツファイル104−1、104−2を使用して、モンタージュアプリケーション140を実装することができる。一実施形態では、コンテンツファイル104−cは、モンタージュアプリケーション140を実装する電子デバイスとは異なる電子デバイスによって実装される、遠隔のデータストア212に記憶され得る。たとえば、コンピューティングデバイスは、サーバーデバイスの大容量ストレージデバイスに記憶されるコンテンツファイル104−3を使用して、モンタージュアプリケーション140を実装することができる。
【0036】
[0051]図2に示される図解された実施形態では、作成コンポーネント110は、複数のタイプのモジュール202−gを含み、または実装することができる。各々のタイプモジュール202−gは、それぞれのコンテンツファイル104−cのコンテンツファイルタイプに対応し得る。コンテンツファイル104−cのコンテンツファイルタイプの例は、限定されることなく、ワードプロセッシングファイルタイプ、スプレッドシートファイルタイプ、プレゼンテーションファイルタイプ、PIMファイルタイプ、データベースファイルタイプ、パブリッシャーファイルタイプ、ドローイングファイルタイプ、メモ帳ファイルタイプ、メッセージファイルタイプなど、アプリケーションファイルタイプを含み得る。コンテンツファイル104−cのさらなる例は、オーディオファイルタイプ、画像ファイルタイプ、ビデオファイルタイプ、AVファイルタイプ、動画ファイルタイプ、ゲームファイルタイプ、マークアップファイルタイプ、ウェブページタイプなど、マルチメディアファイルタイプを含み得る。これらはコンテンツファイルタイプの少数の例にすぎず、実施形態はこれらの例には限定されないことが理解され得る。
【0037】
[0052]タイプモジュール202−gは、あるコンテンツファイルタイプのタイプ定義204−hに基づいてコンテンツファイル104−cから情報を取り込み、取り込まれた情報およびタイプ定義204−hに基づいてタイルオブジェクト126−eを生成することができる。タイプ定義204−hは、コンテンツファイル104−cから選択された部分を抽出し、表示タイル124−aの定義された領域内へと抽出された部分をフォーマットするための、定義、規則、プロパティ、方法、イベント、座標、または命令のセットを含み得る。特定のコンテンツファイル104−cのための特定のタイプ定義204−hを実装することによって、作成コンポーネント110は、特定の状況(たとえば、仕事、私用)およびコンテンツ利用者の関連するセットに対して特別に設計された、高度にカスタマイズされたタイルオブジェクト126−eを生成することができる。タイプ定義204−hは、モンタージュアプリケーション140に提供されるデフォルトのタイプ定義、またはモンタージュアプリケーション140を使用して作成されるユーザー定義されたタイプ定義であってもよい。
【0038】
[0053]例として、コンテンツファイル104−1はワードプロセッシングドキュメント104−1であり、タイプモジュール202−1はワードプロセッシングファイルタイプのためのものであり、タイプ定義204−1はワードプロセッシングファイルタイプのための定義のセットであると仮定する。タイプ定義204−1は、タイプオブジェクト126−1を作成するときに使用される様々なタイプの情報を含み得る。たとえば、タイプ定義204−1は、拡張マークアップ言語フォーマット(たとえば、.docx、.docm、.dotx、.dotm)、バイナリフォーマット(たとえば、.doc、.dot)、およびオープンドキュメントフォーマット(たとえば、.odt)など、ワードプロセッシングアプリケーションの様々なバージョンと関連付けられる、サポートされるファイルフォーマットを含み得る。タイプ定義204−1は、暗号化されたファイルにアクセスするためのセキュリティ認証情報(たとえば、パスワード、証明書、公開鍵または秘密鍵)を含み得る。タイプ定義204−1は、ファイルのための埋め込みコードまたはロードされたコード(たとえば、マクロ、拡張パック)にアクセスするためのツールを含み得る。タイプ定義204−1は、ドキュメント中にサポートされるフィールド(たとえば、Askフィールド、Authorフィールド、Databaseフィールド、Fillinフィールド、Includepictureフィールド、Includetextフィールド、Mailmergeフィールド)を含み得る。タイプ定義204−1は、ドキュメントに対するリンク(たとえば、リンクされたオブジェクト、マスタードキュメント、テンプレート参照、リンクされたカスケードスタイルシート参照)を扱うための規則を含み得る。タイプ定義204−1は、データセット(たとえば、メールマージデータ)を扱うための規則を含み得る。タイプ定義204−1は、オブジェクトのリンクと埋め込み(object linking and embedding:OLE)オブジェクトを扱うための規則を含み得る。タイプ定義204−1の他の情報が可能であり、実施形態はこれに関連して限定はされない。
【0039】
[0054]さらに、タイプ定義204−1は、コンテンツファイル104−1から取り込むべき情報のタイプに関する、規則のセットを含み得る。たとえば、タイプ定義204−1は、コンテンツファイル104−1からのコンテンツおよびプロパティクラス(たとえば、段落またはプロパティ)、コンテンツファイル104−1のコンテンツオブジェクトクラス(たとえば、画像、埋め込みオブジェクト)、およびコンテンツファイル104−1内のコンテンツページクラス、またはこれらの何らかの組合せを含む、情報の3つのクラスと関連する規則とを含み得る。任意の数のクラスまたはカテゴリーが、所与のコンテンツファイルタイプに対して定義され得ることが、理解され得る。
【0040】
[0055]一実施形態では、コンテンツおよびプロパティクラスの例は、次のように表1において示され得る。
【0041】
【表1】
【0042】
[0056]一実施形態では、コンテンツオブジェクトクラスの例は、次のように表2において示され得る。
【0043】
【表2】
【0044】
[0057]一実施形態では、コンテンツページクラスの例は、次のように表3において示され得る。
【0045】
【表3】
【0046】
[0058]作成コンポーネント110は、タイプモジュール202−1と関連するタイプ定義204−1とを使用して、ローカルのデータストア210からコンテンツファイル104−1からのコンテンツ部分106−1を取り込むことができる。タイプモジュール202−1は次いで、コンテンツ部分106−1を編成しフォーマットして、タイルオブジェクト126−1を生成することができる。たとえば、タイプ定義204−1のための規則は、ドキュメント内から取り込まれた任意のテキスト、たとえば最初のN個の段落が、ドキュメント内で規定されるようなスタイルフォーマットを保持することを定め得る。別の規則は、ドキュメント内の実際のテキストではないコンテンツプロパティが、ドキュメント内で定義される通常のスタイルとしてフォーマットされるというものであり得る。さらに別の規則は、コンテンツ部分106−1のテキスト全体が表示タイル124−1の寸法の中に収まり得ない場合、省略記号「…」がテキストの終わりに付加されるというものであり得る。これらはいくつかの例示的な規則にすぎず、他の規則が可能である。実施形態は、これに関連して限定はされない。
【0047】
[0059]いくつかの場合には、タイプ定義204−1は、非公式には「マッシュアップ(mashup)」と呼ばれることがある、コンテンツおよびプロパティクラスとコンテンツオブジェクトクラスとコンテンツページクラスとの組合せから、タイルオブジェクト126−1を作成するための規則のセットを定義することができる。これによって、コンテンツファイル104−1のコンテンツを表すように構築される、高度にカスタマイズされたタイルオブジェクト126−1を実現する。
【0048】
[0060]一実施形態では、異なるクラスの組合せの例が、次のように表4において示され得る。
【0049】
【表4】
【0050】
[0061]タイプ定義204−1はまた、タイルオブジェクト126−1を単一のクラスまたはクラス内のタイプに制限する規則を提供することができる。たとえば、規則は、コンテンツファイル104−1からのテキストの形式のコンテンツのみ、またはコンテンツファイル104−1の画像の形式のコンテンツオブジェクトのみを使用するように、タイプモジュール202−1を定義することができる。
【0051】
[0062]タイプ定義204−1はさらに、コンテンツファイル104−1のためのタイルオブジェクト126−1を生成するための、デバイスを特定することができる。たとえば、規則は、サーバーデバイスと対話してタイルオブジェクト126−1を生成し取り込むための、タイプモジュール202−1を定義することができる。
【0052】
[0063]タイプ定義204−1はまたさらに、最終的な選択のためにユーザーへ表示する、タイルオブジェクト126−1の複数のバージョンのリストを生成するための規則を提供することができる。たとえば、規則は、タイルオブジェクト126−1のP個のバージョンを生成することができ、Pは任意の正の整数を表す(たとえば、P=10)。タイルオブジェクト126−1の複数のバージョンのリストは、次のような表5において与えられる例に従って生成され得る。
【0053】
【表5】
【0054】
[0064]タイプモジュール202−gは、タイプ定義204−hによって提供される情報に対する追加の情報を使用して、タイルオブジェクト126−eを生成することができる。たとえば、タイプモジュール202−gは、コンテンツファイル104−aのために選択された表示タイル124−aについての情報を入力として受け取ることができる。タイプモジュール202−gは、位置、サイズ、形状、寸法、配置、境界、隣接する(adjacent)表示タイル124−a、隣り合う(adjoining)表示タイル124−aなどの情報を受け取ることができる。たとえば、タイプモジュール202−1が、表示タイル124−1の現在の寸法には大きすぎるタイルオブジェクト126−1を構築するためのタイプ定義204−1を使用している場合、タイプモジュール202−1は、隣接するまたは隣り合う表示タイル124−2、124−3についての情報を使用して、表示タイル124−1の現在の寸法がより大きなタイルオブジェクト126−1を収容するように大きくされ得るかどうか、および表示タイル124−2、124−3の現在の寸法がそれに従って小さくされ得るかどうかを、判定することができる。作成コンポーネント110は、そのような場合に対応するための、様々なフィッティングアルゴリズムを実装することができる。
【0055】
[0065]図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が使用されてもよい。
【0056】
[0066]ユーザーインターフェースビュー300はさらに、ファイルナビゲーションツール304を含み得る。ファイルナビゲーションツール304は、記憶されたデータファイルを伴うファイルシステムをナビゲートするために設計された、所与のOS向けのファイルマネージャーアプリケーションを含み得る。たとえば、ファイルナビゲーションツール304は、ローカルのデータストア210または遠隔のデータストア212からの様々なコンテンツファイル104−cをナビゲートし表示するために使用され得る。ファイルナビゲーションツール304の例は、MICROSOFT WINDOWSオペレーティングシステムのために設計されたMICROSOFT WINDOWS EXPLORERを含み得る。他のファイルナビゲーションツールも使用され得る。
【0057】
[0067]作成動作の間、作成コンポーネント110は、たとえば、ポインティングデバイス308またはタッチスクリーンディスプレイ上でのジェスチャー310など、入力デバイスからコンテンツファイル104−1を表示タイル124−1と関連付けるための制御指示102−bを受け取ることができる。たとえば、コンテンツ作成者は、1つまたは両方のデータストア210、212によって記憶されているコンテンツファイル104−cをナビゲートし表示するためのファイルナビゲーションツール304を利用することによって、モンタージュ120を作成することができる。コンテンツ作成者は、ポインティングデバイス308またはタッチスクリーンディスプレイ上でのジェスチャー310など、様々な入力デバイスを使用して、表示タイル124−aのためのコンテンツファイル104−cを選択することができる。示されるように、ポインティングデバイス308は、コンテンツファイル104−1を選択して、ドラッグアンドドロップ技法を使用してコンテンツファイル104−1を表示タイル124−1上で動かすために使用され得る。あるいは、GUI入力ツール302が、同様の動作を実行するために使用され得る。
【0058】
[0068]図3Bは、作成コンポーネント110によって生成されるユーザーインターフェースビュー320のある実施形態を示す。ユーザーインターフェースビュー320は、タイルオブジェクト126−1がコンテンツファイル104−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を表示することができる。
【0059】
[0069]図3Cは、作成コンポーネント110によって生成されるユーザーインターフェースビュー340のある実施形態を示す。ユーザーインターフェースビュー340は、所与のコンテンツファイル104−cが対応する表示タイル124−aと関連付けられた後の、タイルオブジェクト126−eの構築を示す。
【0060】
[0070]前に説明されたように、MICROSOFT OFFICEドキュメント、ウェブサイト、地図、フィード、記事、ウェブログ(ブログ)など、コンテンツファイル104−cの、何らかの種類の意味のある表現を行うことが望ましい場合がある。タイルオブジェクト126−eは、コンテンツファイル104−cからのコンテンツを読みまたは見ることをユーザーに求めまたは勧める、コンテンツファイル104−cのカスタム表現を提供する。目立つようにするために、タイルオブジェクト126−eの1つの望ましい特徴は、コンテンツファイル104−cのティーザーまたはプレビューのように、可読であり人を引きつけるものでなければならないということである。加えて、タイルオブジェクト126−eは、強制的なユーザー入力または対話を何ら必要とすることなく、自動的に生成されるべきである。しかしながら、いくつかの場合には、ユーザーインターフェース制御(たとえば、GUI入力ツール302)は、任意選択で、ユーザー入力を勧めるように表示されてもよい。
【0061】
[0071]タイル作成動作を開始するために、作成コンポーネント110は、コンテンツファイル104−cをデジタルモンタージュ120の表示面122の表示タイル124−aと関連付けるための、制御指示102−bを受け取ることができる。作成コンポーネント110は、コンテンツファイル104−cのコンテンツファイルタイプを特定し、コンテンツファイルタイプに従って、コンテンツファイル104−cからの情報を伴うタイルオブジェクト126−eを生成することができる。
【0062】
[0072]様々な実施形態では、作成コンポーネント110は、1つまたは複数のタイルオブジェクトコンテナー342−u内に格納または表示されるものとして、コンテンツファイル104−cから取り込まれた選択情報を伴うタイルオブジェクト面346を有するタイルオブジェクト126−eを自動的に生成することができる。一実施形態では、選択される情報は、たとえば、コンテンツファイル104−cからのコンテンツ、またはコンテンツファイル104−1のためのコンテンツ部分106−1など、コンテンツファイル104−cから取り込まれたコンテンツ部分を含み得る。
【0063】
[0073]表示面122の表示タイル124−aと同様に、タイルオブジェクトコンテナー342−uは、コンテンツ部分またはコンテンツ部分クリップ344−vなど、具体的な情報のセットを表示するために指定された、タイルオブジェクト面346の定義された領域を含み得る。定義された領域は、所与の実装形態における望みに応じて、任意のサイズ、寸法、または形状であってもよい。所与のタイルオブジェクト面346は、任意の数のタイルオブジェクトコンテナー342−uを有してもよく、各タイルオブジェクトコンテナー342−uは、すべてのタイルオブジェクトコンテナー342−uがタイルオブジェクト面346の所与のサイズ内に確実に収まるようにするための、定義のセット(たとえば、サイズ、形状、寸法、配置)を有し得る。タイルオブジェクトコンテナー342−uの定義は、他のタイルオブジェクトコンテナー342−u、タイルオブジェクト面346、コンテンツ部分またはコンテンツ部分クリップ344−vとタイルオブジェクトコンテナー342−uとの関連、1つまたは複数の表示タイル124−a、表示面122、コンテンツファイル104−cのセット、コンテンツファイル104−cと表示タイル124−aとの関連、コンテンツファイル104−cと関連付けられるタイルオブジェクト126−e、ディスプレイの特性、デバイスの特性、ユーザー選好、および他の要因に基づいて、動的に変化し得る。実施形態は、これに関連して限定はされない。
【0064】
[0074]一実施形態では、コンテンツ作成者は、タイルオブジェクト面346とタイルオブジェクトコンテナー342−uとをカスタム定義することができる。モンタージュアプリケーション140のユーザーインターフェースは、タイルオブジェクト面346の特性とタイルオブジェクト面346上のタイルオブジェクトコンテナー342−uのセットとを修正するために特別に定義された様々な制御機構(たとえば、GUI入力ツール302)を提供することができる。そのような制御機構の例は、限定されることなく、描画制御機構、寸法制御機構、サイズ制御機構、幅制御機構、高さ制御機構、ピクセル制御機構、リフレッシュ制御機構などを含み得る。あるいは、コンテンツ作成者は、異なるタイルオブジェクト面とタイルオブジェクトコンテナー342−uとを提供する任意の数のタイルテンプレートから選択することができる。
【0065】
[0075]一実施形態では、たとえば、作成コンポーネント110は、それぞれのタイルオブジェクトコンテナー342−uに適したコンテンツファイル104−cから情報を選択することができる。作成コンポーネント110は、たとえば、コンテンツファイル104−cのコンテンツファイルタイプに基づいて、そのような情報を選択することができる。図2を参照して詳しく説明されたように、作成コンポーネント110は、各々のコンテンツファイルタイプに対応する複数のタイプモジュール202−gを含み、各々のタイプモジュール202−gは、タイプモジュール202−gのためのタイプ定義204−hに基づいて、特別な方式でコンテンツファイル104−cから情報のセットを取り込むように構成される。作成コンポーネント110は、コンテンツファイル104−cのコンテンツファイルタイプを特定し、タイプモジュール202−gと関連するタイプ定義204−hとを使用してコンテンツファイル104−cから情報を選択し、選択された情報を伴うタイルオブジェクト126−eを生成することができる。
【0066】
[0076]一実施形態では、作成コンポーネント110は、1つまたは複数のタイルオブジェクトコンテナー342−u内にコンテンツファイル104−cからの情報を収めるように設計されるフィッティングアルゴリズムを実行し、対応するタイルオブジェクトコンテナー342−uのコンテナー定義とフィッティングアルゴリズムとのセットに従って、埋まったコンテナー348−wを形成することができる。一実施形態では、コンテナー定義は、タイプモジュール202−gのタイプ定義204−hの一部を含み得る。加えて、または代替的に、コンテナー定義は、タイプ定義204−hによって提供される情報に対して追加の情報を含み得る。たとえば、タイプモジュール202−gは、コンテンツファイル104−cのために選択された表示タイル124−aのタイルオブジェクトコンテナー342−uについての情報を入力として受け取ることができる。タイプモジュール202−gは、位置、サイズ、形状、寸法、配置、境界、隣接するタイルオブジェクトコンテナー342−u、隣り合うタイルオブジェクトコンテナー342−uなどの情報を受け取ることができる。たとえば、タイプモジュール202−1が、表示タイル124−1のタイルオブジェクトコンテナー342−1の現在の寸法には大きすぎるタイルオブジェクト126−1を構築するためのタイプ定義204−1を使用している場合、タイプモジュール202−1は、隣接するまたは隣り合うタイルオブジェクトコンテナー342−2、342−3についての情報を使用して、タイルオブジェクトコンテナー342−1の現在の寸法がコンテンツ部分106−1からのより大量の情報を収容するように大きくされ得るかどうか、およびタイルオブジェクトコンテナー342−2、342−3の現在の寸法がそれに従って小さくされ得るかどうかを、判定することができる。作成コンポーネント110は、そのような場合に対応するための、様々なフィッティングアルゴリズムを実装することができる。
【0067】
[0077]ユーザーが、特定のコンテンツファイル104−cに対して利用可能な自動的に生成されたタイルテンプレートのセットから、所与のタイルオブジェクト126−eのタイルテンプレートを選べるようにすることが望ましい場合があり得る。たとえば、ユーザーが、タイルテンプレートまたは自動的に生成されたタイルオブジェクト126−eのいずれも好まない場合、ユーザーは、ユーザーインターフェース制御機構のセットを使用して、タイルテンプレートまたは特定のタイルオブジェクト126−eを編集し、タイルオブジェクト126−eのために選択されたコンテンツをカスタマイズすることができる。ユーザーインターフェース制御機構の例は、たとえば、GUI入力ツール302を含み得る。
【0068】
[0078]図3Bを参照して説明されるように、コンテンツ作成者がコンテンツファイル104−1を選択し、それを表示タイル124−1と関連付けると、作成コンポーネント110は、タイルオブジェクト126−1の作成、構築、または生成を開始し、コンテンツファイル104−1内に含まれるコンテンツを表現することができる。
【0069】
[0079]たとえば、作成コンポーネント104−1は、コンテンツファイル104−1のコンテンツファイルタイプを特定することができる。この例では、作成コンポーネント110は、コンテンツファイル104−1のコンテンツファイルタイプを、アプリケーションファイルタイプ、より具体的にはワードプロセッシングファイルとして特定する。作成コンポーネント110は、タイプモジュール202−1と、ワードプロセッシングファイルからタイルオブジェクトを生成するために特別に設計されたタイプ定義204−1とを利用することができる。タイプモジュール202−1は、タイプ定義204−1を使用して、コンテンツファイル104−1から適切なコンテンツ部分106−1および/またはコンテンツ部分クリップ344−vを取り込むことができ、コンテンツ部分106−1は、コンテンツおよびプロパティクラス、コンテンツオブジェクトクラス、コンテンツページクラス、またはクラスの組合せの情報を含む。タイプモジュール202−1は、コンテンツ部分106−1および/またはコンテンツ部分クリップ344−vを使用してタイルオブジェクト126−1のための1つまたは複数の埋まったコンテナー348−wを生成することができる。タイプモジュール202−1は次いで、タイルオブジェクト126−1の境界内で埋まったコンテナー348−wを表示することができる。
【0070】
[0080]図3Cを参照すると、ユーザーインターフェースビュー340は、コンテンツファイル104−1が図3A図3Bを参照して説明されたような表示タイル124−1と関連付けられた場合を示し得る。より具体的には、ユーザーインターフェースビュー340は、所与のコンテンツファイル104−1が対応する表示タイル124−1と関連付けられた後の、タイルオブジェクト126−1の構築を示す。図3Cに示されるように、ユーザーインターフェースビュー340は、コンテンツファイル104−1のタイルオブジェクト126−1の作成の間の、コンテンツファイル104−1のコンテンツ部分106−1からのコンテンツ部分クリップ344−1を格納する埋まったコンテナー348−1を伴うタイルオブジェクト126−1を示す。たとえば、作成コンポーネント110は、コンテンツファイル104−1から取り込まれたコンテンツ部分106−1から、1つまたは複数のコンテンツ部分クリップ344−vを抽出することができる。タイプ定義204−1は、コンテンツファイル104−1から取り込むべき情報のタイプに関する、規則のセットを含み得る。たとえば、タイプ定義204−1は、コンテンツファイル104−1からのコンテンツおよびプロパティクラス(たとえば、段落またはプロパティ)、コンテンツファイル104−1のコンテンツオブジェクトクラス(たとえば、画像、埋め込みオブジェクト)、およびコンテンツファイル104−1内のコンテンツページクラス、またはこれらの何らかの組合せを含む、情報の3つのクラスと関連する規則とを含み得る。作成コンポーネント110は、タイプ定義204−1によって提供される規則を使用して、コンテンツファイル104−1のコンテンツ部分106−1から選択されたコンテンツ部分クリップ344−vを取り込むことができる。ユーザーインターフェースビュー340は、コンテンツ部分クリップ344−1がコンテンツ部分106−1から取り込まれ、対応するタイルオブジェクトコンテナー342−1内に配置され、埋まったコンテナー348−1を形成する場合を示す。作成コンポーネント110は、タイルオブジェクト126−1が完全に埋まるまで、タイプ定義204−1によって提供される規則に従って追加の埋まったコンテナー348−2〜348−wを作成するために、コンテンツ部分106−1から選択されたコンテンツ部分クリップ344−vを取り込み続けることができる。
【0071】
[0081]図4は、タイルオブジェクト126−1を生成する作成コンポーネント110の例を示す。示されるように、コンテンツファイル104−1は、タイトル402と、最初の段落404と、2番目の段落406と、様々なメタデータ408とを含む、コンテンツおよびプロパティクラスの様々なタイプの情報を含み得る。コンテンツファイル104−1はさらに、画像410と、棒グラフ412と、等式414とを含む、コンテンツオブジェクトクラスの様々なタイプの情報を含み得る。タイプ定義204−1は、「タイルテンプレート1」と名付けられた特定のタイルテンプレートを使用するための第1の規則と、タイトル402を取り込むための第2の規則と、メタデータ408から作成者を取り込むための第3の規則と、最初のN個の段落404、406(たとえば、N=2)を取り込むための第4の規則と、この場合には棒グラフ412である最初のグラフを取り込むための第5の規則とを含む、5つの規則を含み得る。タイプモジュール201−1は、タイプ定義204−1を使用して、タイプ定義204−1の規則1〜5に従ってコンテンツファイル104−1からコンテンツ部分106−1を取り込み、オブジェクト126−1を生成することができ、オブジェクト126−1は、「タイルテンプレート1」に従ってフォーマットされるコンテンツ部分106−1の特定の情報を伴う、ユーザーインターフェースビューとして表示される。
【0072】
[0082]図5は、モンタージュアプリケーション140によって生成されるモンタージュ120を公開または配信するのに適した、メッセージングシステム500のある実施形態を示す。コンテンツ作成者は、ユーザーインターフェースコンポーネント538によって提供される様々なユーザーインターフェースビューを使用して、モンタージュアプリケーション140を使用してモンタージュ120を生成することができる。ユーザーインターフェースコンポーネント538は、モンタージュアプリケーション140のネイティブなユーザーインターフェースコンポーネント、またはモンタージュアプリケーション140を実行するOS(たとえば、MICROSOFT WINDOWS)のためのユーザーインターフェースコンポーネントを含み得る。モンタージュ120が生成されると、コンテンツ作成者は、公開モデル、メッセージングモデル、または公開モデルとメッセージングモデルの組合せを使用して、モンタージュ120を様々なコンテンツ利用者に配信することができる。
【0073】
[0083]一実施形態では、モンタージュアプリケーション140は、公開コンポーネント532を使用して、ローカルのデータストア210から遠隔のデータストア212に、モンタージュと関連するコンテンツファイル104−cとを公開することができる。遠隔のデータストア212は、たとえば、ソーシャルネットワーキングサービス(SNS)などのネットワークサービスによってアクセス可能な、ネットワークストレージサーバー530の一部として実装され得る。コンテンツ利用者は、ネットワークサービスにアクセスして、ネットワークサービスの複数のバージョンを見ることができる。
【0074】
[0084]一実施形態では、モンタージュアプリケーション140は、ネイティブなメッセージコンポーネント534を使用して、モンタージュ120と関連するコンテンツファイル104−cとを、メッセージサーバー540などのメッセージングアーキテクチャを介して、メッセージ516およびメッセージの添付物として送ることができる。コンテンツ利用者は、メッセージの複数のバージョンにアクセスし、それらを見ることができる。あるいは、モンタージュアプリケーション140は、外部の(ネイティブではない)メッセージアプリケーション542−kを使用してもよい。
【0075】
[0085]一実施形態では、モンタージュアプリケーション140は、モンタージュ120と関連するコンテンツファイル104−cとをネットワークサービスに公開することによって、公開モデルとメッセージングモデルの両方の組合せを使用し、モンタージュ120と関連するコンテンツファイル104−cとのネットワークバージョンのためのリンク518−nを受け取り、リンク518−nを伴うメッセージ516を送ることができる。コンテンツ利用者は、メッセージ516にアクセスし、リンク518−nを選択し、モンタージュ120のネットワークバージョンを見ることができる。さらに、コンテンツ利用者は、モンタージュ120のタイルオブジェクト126−eを選択し、選択されたタイルオブジェクト126−eと関連付けられるコンテンツファイル104−cのネットワークバージョンを見ることができる。
【0076】
[0086]モンタージュアプリケーション140は、セキュリティコンポーネント536を使用して、コンテンツ利用者によるモンタージュ120および関連するコンテンツファイル104−cへのアクセス許可とアクセス権とを管理することができる。セキュリティコンポーネント536は、アカウント、認証情報、許可情報、セキュリティ情報(たとえば、暗号化/復号アルゴリズム、セキュリティキー、証明書など)、アクセス許可レベルなどを管理することができる。一実施形態では、セキュリティコンポーネント536は、ローカルのデータストア210から、ネットワークサービスがアクセス可能なネットワークストレージサーバー550のための遠隔のデータストア212への、コンテンツファイル104−cの通信を許可するための、コンテンツ作成者からのコマンドを表す制御指示を、入力デバイスから受け取ることができる。
【0077】
[0087]図5に示される図解された実施形態では、メッセージングシステム500は、すべてがネットワーク530を通じて通信している、複数のコンピューティングデバイス510−jと、メッセージサーバー540と、ネットワークストレージサーバー550とを含み得る。コンピューティングデバイス510−jは各々、モンタージュアプリケーション140および/または1つまたは複数のメッセージアプリケーション542−kを実装することができる。図5に示されるようなメッセージングシステム500は、あるトポロジーでは限られた数の要素を有するが、メッセージングシステム500は、所与の実装形態における望みに応じて、代替的なトポロジーではより多数または少数の要素を含み得ることが理解され得る。
【0078】
[0088]ネットワーク530は、メッセージングシステム500の様々なデバイスの間で情報を通信するように設計される、通信フレームワークを含み得る。ネットワーク530は、パケット交換ネットワーク(たとえば、インターネットなどの公開ネットワーク、企業イントラネットなどの非公開ネットワークなど)、回線交換ネットワーク(たとえば、公衆交換電話網)、またはパケット交換ネットワークと回線交換ネットワークの組合せ(適切なゲートウェイと変換器とを伴う)とともに使用するのに適した技法など、任意のよく知られている通信技法を実装することができる。
【0079】
[0089]メッセージサーバー540は、説明された実施形態に従って様々な方法を実行するように動作する、1つまたは複数のサーバーコンピューティングデバイスおよび/またはサーバープログラムを、含みまたは利用することができる。たとえば、サーバープログラムは、インストールされかつ/または配備されると、いくつかのサービスおよび機能を提供するための、サーバーコンピューティングデバイスの1つまたは複数のサーバー機能をサポートすることができる。例示的なメッセージサーバー540は、たとえば、MICROSOFT OS、UNIX(登録商標)OS、LINUX(登録商標)OS、または他の適切なサーバーベースのOSなど、サーバーOSを動作させる、スタンドアロンな企業規模のサーバーコンピューターを含み得る。例示的なサーバープログラムは、たとえば、着信メッセージと送信メッセージとを管理するためのMICROSOFT OFFICE COMMUNICATIONS SERVER(OCS)などの通信サーバープログラム、電子メール、ボイスメール、VoIP、インスタントメッセージング(IM)、グループIM、拡張プレゼンス、およびオーディオビデオ会議のユニファイドメッセージング(UM)を実現するためのMICROSOFT EXCHANGE SERVERなどのメッセージングサーバープログラム、ならびに/または説明された実施形態に従った、他のタイプのプログラム、アプリケーション、もしくはサービスを含み得る。
【0080】
[0090]ネットワークストレージサーバー550はまた、説明された実施形態に従って様々な動作を実行するように動作する、1つまたは複数のサーバーコンピューティングデバイスおよび/またはサーバープログラムを、含みまたは利用することができる。たとえば、サーバープログラムは、インストールされかつ/または配備されると、いくつかのサービスと機能とを提供するための、サーバーコンピューティングデバイスの1つまたは複数のサーバー機能をサポートすることができる。例示的なネットワークストレージサーバー550は、たとえば、MICROSOFT OS、UNIX OS、LINUX OS、または他の適切なサーバーベースのOSなど、サーバーOSを動作させる、スタンドアロンな企業規模のサーバーコンピューターを含み得る。例示的なサーバープログラムは、たとえば、画像、写真、フォトアルバム、ビデオ、ビデオアルバムなどのマルチメディアファイルまたはメディアファイルを含む、ドキュメントおよびファイルのオンラインネットワークストレージを提供する、MICROSOFT LIVEなどのネットワークストレージサーバープログラムを含み得る。例示的なサーバープログラムはさらに、たとえば、ソーシャルネットワーキングアプリケーションプログラム、検索アプリケーション、ドキュメント管理プログラム、ウェブログ(ブログ)、ワードプロセッシングプログラム、スプレッドシートプログラム、データベースプログラム、ドローイングプログラム、ドキュメント共有プログラム、メッセージアプリケーション、ウェブサービス、ウェブアプリケーション、ウェブサーバー、および/または説明された実施形態に従った、他のタイプのプログラム、アプリケーション、もしくはサービスを含み得る。
【0081】
[0091]コンピューティングデバイス510−jは各々、プロセッサ502に通信可能に結合された、プロセッサ502とメモリ504とを含み得る。プロセッサ502およびメモリ504は各々、通信インターフェース509に通信可能に結合され得る。コンピューティングデバイス510−jの例示的なアーキテクチャおよび例は、図10を参照して説明され得る。
【0082】
[0092]通信インターフェース509は、コンピューティングデバイス510−jが、ネットワーク530を介して、互いにかつメッセージングシステム500の他のデバイスと通信するのを可能にするための、様々な通信技法を含みまたは実装することができる。たとえば、メッセージングシステム500の様々なデバイスは各々、1つまたは複数の通信インターフェース、ネットワークインターフェース、ネットワークインターフェースカード(NIC)、無線、ワイヤレス送信機/受信機(送受信機)、有線および/またはワイヤレスの通信媒体、物理的な接続など、ネットワーク530と相互運用可能なように設計された様々なタイプの標準的な通信要素を実装する、通信インターフェース509を含み得る。限定ではなく例として、通信媒体は、有線通信媒体とワイヤレス通信媒体とを含む。有線通信媒体の例は、ワイヤ、ケーブル、金属リード線、プリント回路基板(PCB)、バックプレーン、スイッチ構成、半導体材料、ツイストペアワイヤ、同軸ケーブル、光ファイバー、伝搬信号などを含み得る。ワイヤレス通信媒体の例は、音響媒体、無線周波数(RF)スペクトル媒体、赤外線媒体、および他のワイヤレス媒体を含み得る。
【0083】
[0093]様々な実施形態では、通信インターフェース509は、複数の異なるタイプの転送機構512−mを含み得る。転送機構512−mの各々は、通信パラメーターの同じまたは異なるセットを実装または利用して、メッセージングシステム500の様々なデバイスの間で情報を通信することができる。一実施形態では、たとえば、転送機構512−mの各々は、通信パラメーターの異なるセットを実装または利用して、コンピューティングデバイス510−jとメッセージサーバー540との間で情報を通信することができる。通信パラメーターのいくつかの例は、限定されることなく、通信プロトコル、通信規格、無線周波数(RF)バンド、無線、送信機/受信機(送受信機)、無線プロセッサ、ベースバンドプロセッサ、ネットワークスキャン閾値パラメーター、無線周波数チャネルパラメーター、アクセスポイントパラメーター、速度選択パラメーター、フレームサイズパラメーター、アグリゲーションサイズパラメーター、パケットリトライ限界パラメーター、プロトコルパラメーター、無線パラメーター、変調および符号化方式(MCS)、確認応答パラメーター、媒体アクセス制御(MAC)層パラメーター、物理(PHY)層パラメーター、およびコンピューティングデバイス510−jによって実施される通信インターフェース509に対する動作に影響を与える任意の他の通信パラメーターを含み得る。実施形態は、これに関連して限定はされない。
【0084】
[0094]様々な実施形態では、コンピューティングデバイス510−1の通信インターフェース509は、様々な帯域幅または通信速度を提供する、異なる通信パラメーターを実装することができる。たとえば、転送機構512−1は、ネットワーク530への情報の高速通信に適した通信パラメーターを実装する高速インターフェースを含み得るが、転送機構512−2は、ネットワーク530への情報の低速通信に適した通信パラメーターを実装する低速インターフェースを含み得る。
【0085】
[0095]有線通信に関しては、たとえば、転送機構512−1は、インターネットなどのパケット交換ネットワークを通じて情報を通信するように設計される、ネットワークインターフェースを含み得る。転送機構512−1は、異なるタイプの有線ネットワークシステムまたはプロトコルに従って、データ通信機能を提供するように構成され得る。データ通信サービスを提供する適切な有線ネットワークの例は、Internet Engineering Task Force(IETF) Transmission Control Protocol(TCP)およびInternet Protocol(IP)通信規格スイート、User Datagram Protocol(UDP)、Datagram Congestion Control Protocol(DCCP)、Stream Control Transmission Protocol(SCTP)、Resource Reservation Protocol(RSVP)、Explicit Congestion Notification(ECN)プロトコル、Open Shortest Path First(OSPF)プロトコルスイート、Reliable Transport Protocol(RTP)、IETF Real−Time Transport Protocol(RTP)などを含み得る。転送機構512−2は、Simple Mail Transfer Protocol(SMTP)、extended SMTP(ESMTP)、Post Office Protocol(POP)、POP3、Internet Message Access Protocol(IMAP)、Multipurpose Internet Mail Extensions(MIME)プロトコル、Unix−to−Unix Copy(UUCP)プロトコル、ITU−T X.400プロトコルなどのInternational Telecommunication Union(ITU)プロトコルスイートなど、様々なメッセージプロトコルに従ってデータ通信を提供するように構成され得る。他の有線通信技法が実装されてもよく、実施形態はこれに関連して限定されないことが理解され得る。
【0086】
[0096]ワイヤレス通信に関しては、たとえば、転送機構512−1は、ワイヤレスローカルエリアネットワーク(WLAN)を通じて情報を通信するように設計された無線を含み得る。転送機構512−1は、異なるタイプのワイヤレスネットワークシステムまたはプロトコルに従って、データ通信機能を提供するように構成され得る。データ通信サービスを提供する適切なワイヤレスネットワークシステムの例は、IEEE802.11a/b/g/n標準プロトコルシリーズおよびそれらの変形(「WiFi」とも呼ばれる)、IEEE802.16標準プロトコルシリーズおよびその変形(「WiMax」とも呼ばれる)、IEEE802.20標準プロトコルシリーズおよびその変形など、Institute of Electrical and Electronics Engineers(IEEE)802.xxプロトコルシリーズを含み得る。転送機構512−2は、1つまたは複数のセルラー無線電話システムによって提供されるデータネットワーキングリンクを通じて、情報を通信するように設計される無線を含み得る。データ通信サービスを提供するセルラー無線電話システムの例は、General Packet Radio Service(GPRS)システムを伴うGSM(登録商標)(GSM/GPRS)、CDMA/1xRTTシステム、Enhanced Data Rates for Global Evolution(EDGE)システム、Evolution Data Only またはEvolution Data Optimized(EV−DO)システム、Evolution For Data and Voice(EV−DV)システム、High Speed Downlink Packet Access(HSDPA)システム、High Speed Uplink Packet Access(HSUPA)などを含み得る。他のワイヤレス技法が実装されてもよく、実施形態はこれに関連して限定されないことが理解され得る。
【0087】
[0097]様々な実施形態において、コンピューティングデバイス510−1の通信インターフェース509は、同一のまたは実質的に同様の帯域幅または通信速度を提供する、通信パラメーターの同じセットを実装することができる。しかしながら、転送機構512−1、512−2は、異なる時点で、モンタージュアプリケーション140および/またはメッセージアプリケーション542−1によって利用されることがある。一実施形態では、たとえば、モンタージュアプリケーション140は、第1の期間に、モンタージュ120とモンタージュ120のための1つまたは複数のコンテンツファイル104−cとを通信することができ、モンタージュアプリケーション140および/またはメッセージアプリケーション542−1は、第2の期間に、モンタージュ120および/またはサポートするコンテンツファイル104−cに関連する情報を伴うメッセージ516を通信することができる。一実施形態では、たとえば、第1の期間および第2の期間は完全に不連続であってもよく、この場合、第1の期間の開始時間と終了時間は第2の期間の開始時間よりも前である。一実施形態では、たとえば、第1の期間および第2の期間は部分的に重複していてもよく、この場合、第1の期間の開始時間は第2の期間の開始時間よりも前であるが、第1の期間の終了時間は第2の期間の開始時間よりも後である。実施形態は、これに関連して限定はされない。
【0088】
[0098]コンピューティングデバイス510−jは各々、種々のフォーマットで様々なタイプのメッセージを通信するように構成された、メッセージコンポーネント534を伴うモンタージュアプリケーション140、および/または1つまたは複数のメッセージアプリケーション542−kを実装することができる。1つの実施形態が、メッセージングモデルとしてメッセージアプリケーション542−kに関して説明されるが、そのような説明は、モンタージュアプリケーション140のメッセージコンポーネント534を利用する他の実施形態に適用され得る。
【0089】
[0099]メッセージアプリケーション542−kの各々が、特定のアプリケーションのための特定のタイプおよびフォーマットのメッセージの処理を可能にする、特定の種類の転送機構を表すものであってもよい。メッセージアプリケーション542−kは、限定されることなく、ファクシミリアプリケーション、ビデオメッセージアプリケーション、インスタントメッセージング(IM)アプリケーション、チャットアプリケーション、電子メール(eメール)アプリケーション、ショートメッセージサービス(SMS)アプリケーション、マルチメディアメッセージサービス(MMS)アプリケーション、ソーシャルネットワークシステム(SNS)アプリケーションなどを含み得る。実施形態はこれに関して限定されず、メッセージアプリケーション542−kは、説明された実施形態と矛盾しない任意の他のタイプのメッセージングアプリケーションまたは通信アプリケーションを含み得ることを理解されたい。コンピューティングデバイス510−jは各々、説明された実施形態と矛盾しないメッセージアプリケーション542−kに加えて、他のタイプのアプリケーションを実装することができることも理解されたい。
【0090】
[00100]図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にも適用されることが理解され得る。
【0091】
[00101]一実装形態では、メッセージアプリケーション542−1、542−2は、ネットワークデバイス上で実装されウェブブラウザーを介してコンピューティングデバイス510−1、510−2によってアクセスされる、ネットワークベースのメッセージアプリケーションではなく、コンピューティングデバイス510−1のプロセッサ502およびメモリ504など、コンピューティングデバイス510−1、510−2によって提供されるローカルのリソースによって記憶され実行される、スタンドアロンのクライアントベースアプリケーションとして実装される。一実施形態では、メッセージアプリケーション542−1、542−2は、コンピューティングデバイス510−1、510−2のローカルのリソース上で部分的に実行されネットワークリソース上で部分的に実行される、分散処理に適した分散型アプリケーションを含み得る。加えて、または代替的に、メッセージアプリケーション542−1、542−2は、ネットワークデバイス上で実装されウェブブラウザーを介してコンピューティングデバイス510−1、510−2によってアクセスされる、ネットワークベースのメッセージアプリケーションを含み得る。実施形態は、これに関連して限定はされない。
【0092】
[00102]一実施形態では、たとえば、メッセージアプリケーション542−1は、転送機構512−2を通じてメッセージ516を通信するように構成され得る。メッセージ516は、転送機構512−2を通じて通信する場合、モンタージュ120に対する1つまたは複数の埋め込みリンク518−nおよび/または1つまたは複数のコンテンツファイル104−cおよび/またはモンタージュ120を含み得る。1つまたは複数の埋め込みリンク518−nは、たとえば、ネットワークストレージサーバー550に記憶されメッセージ送信者またはメッセージ受信者によってアクセス可能な、モンタージュ120および/または1つまたは複数のコンテンツファイル104−cに対する参照を含み得る。
【0093】
[00103]リンク518−nの各々は、ユーザーが直接たどり得る、またはプログラムが自動的にたどる、記憶されたモンタージュ120およびコンテンツファイル104−cに対する参照またはポインタを含み得る。参照は、デバイス(たとえば、ファイルサーバー)のメモリ中の他の場所にある参照対象(たとえば、オブジェクト、ファイル、データ項目など、記憶されたモンタージュ120およびコンテンツファイル104−c)を参照するデータ型であり、参照対象にアクセスするために使用される。概して、参照は、プログラムが参照対象に直接アクセスすることを可能にする値である。参照対象は、参照と同じデバイス、または参照と異なるデバイスに記憶され得る。大半のプログラミング言語が、何らかの形式の参照をサポートする。リンク518−nの例は、限定されることなく、World Wide Web(WWW)によって使用されるような、ハイパーテキストおよびハイパーリンクを含み得る。ハイパーテキストは、ハイパーリンクを伴うテキストである。ハイパーリンクは、典型的には、アンカーを含み、アンカーは、ハイパーリンクが存在し得るメッセージ内の位置である。ハイパーリンクの対象は、ハイパーリンクが導く記憶されたモンタージュ120および/またはコンテンツファイル104−cである。ユーザーは、アンカーが示されているとき、何らかの方法でアンカーを活動させることによって、たとえば、アンカーにタッチする(たとえば、タッチスクリーンディスプレイによって)ことによって、またはポインティングデバイス(たとえば、マウス)でアンカーをクリックすることによって、リンクをたどることができる。リンク518−nが活動すると、その対象が、ウェブブラウザーまたはアプリケーションプログラムを介して表示される。
【0094】
[00104]前に説明されたように、モンタージュアプリケーション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を参照してより詳しく説明され得る。
【0095】
[00105]図6は、メッセージングシステム500のためのメッセージフローのある実施形態を示す。図6に示されるように、公開コンポーネント532は、モンタージュ120と関連するコンテンツファイル104−cとをネットワークサービス652に公開することができる。公開コンポーネント532は、矢印602によって示されるように、転送機構512−1を通じて、モンタージュ120と関連するコンテンツファイル104−cとをネットワークストレージサーバー550に送信することができる。高速な転送機構として、転送機構512−1は、たとえば、メッセージ516のメッセージサイズに対して、典型的には、コンテンツファイル104−cと関連付けられるより大きなサイズのファイルを転送するのに十分な帯域幅を有し得る。
【0096】
[00106]ネットワークストレージサーバー550は、モンタージュ120と関連するコンテンツファイル104−cとを受信し、それらを遠隔のデータストア212に記憶することができる。ネットワークストレージサーバー550は次いで、矢印604によって示されるように、遠隔のデータストア212に記憶されるようなモンタージュ120およびコンテンツファイル104−cへのリンク518−nを送信することができる。
【0097】
[00107]公開コンポーネント532は、リンク518−nを受信し、リンクを作成コンポーネント110に転送することができる。作成コンポーネント110は、リンク518−nを各タイルオブジェクト126−eと関連付け、また、コンテンツ利用者がタイルオブジェクト126−eを選択し遠隔のデータストア212からの関連するコンテンツファイル104−cをより詳しく見るためにそれにアクセスできるように、上記の関連付けによってモンタージュ120を更新することができる。
【0098】
[00108]公開モデルにふさわしい一実施形態では、作成コンポーネント110が、更新されたモンタージュ120を公開コンポーネント532に送信することができる。公開コンポーネント532は次いで、矢印606によって示されるように、更新されたモンタージュ120とリンク518−nとをネットワークサービス652上で公開することができる。たとえば、ネットワークサービス652は、ソーシャルネットワーキングサービス(SNS)を含んでよく、コンテンツ作成者と定義された関係を有するコンテンツ利用者(たとえば、友人)は、公開されたリンク518−nを介して、モンタージュ120および関連するコンテンツファイル104−cにアクセスすることができる。別の例では、ネットワークサービス652は、アカウントをコンテンツ作成者に提供することができ、このアカウントは、ネットワークサービス652および/またはセキュリティコンポーネント536のためのアクセス許可セットに従って、コンテンツ利用者による閲覧が可能にされ得る。矢印610によって示されるように、コンテンツ利用者は、コンピューティングデバイス510−2を介してネットワークサービス652にアクセスし、ウェブブラウザーを介して、モンタージュ120のためのファイルへのリンク518−nを選択し、遠隔のデータストア212からモンタージュ120を要求することができる。矢印612によって示されるように、ネットワークサービス652は、要求を受信し、モンタージュ120をコンピューティングデバイス510−2に送信することができる。コンピューティングデバイス510−2は、表示タイル124−aの中で、タイルオブジェクト126−eを伴う表示面122のユーザーインターフェースビューとして、モンタージュ120を表示することができる。コンピューティングデバイス510−2は、ウェブブラウザー向けのウェブページとして、またはモンタージュ120を見るように設計されたモンタージュアプリケーション140もしくはモンタージュビューワーなどのアプリケーションプログラムのユーザーインターフェースビューとして、ユーザーインターフェースビューを生成することができる。
【0099】
[00109]メッセージングモデルにふさわしい一実施形態では、作成コンポーネント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の完全な忠実度のバージョン、または転送機構512−2の利用可能な帯域幅により適したモンタージュ120のより忠実度の低いバージョン、たとえばモンタージュ120のサムネイルバージョンを含み得る。
【0100】
[00110]矢印608によって示されるように、メッセージコンポーネント534は、メッセージサーバー540を介して、コンピューティングデバイス510−2のメッセージアプリケーション542−2に、転送機構512−2を通じてメッセージ516を送信することができる。矢印610によって示されるように、コンテンツ利用者は、メッセージ516を開け、モンタージュ120へのリンク518−nを選択し、遠隔のデータストア212からのモンタージュ120を要求することができる。矢印612によって示されるように、ネットワークサービス652は、要求を受信し、モンタージュ120をコンピューティングデバイス510−2に送信することができる。コンピューティングデバイス510−2は、表示タイル124−aの中で、タイルオブジェクト126−eを伴う表示面122のユーザーインターフェースビューとして、モンタージュ120を表示することができる。コンピューティングデバイス510−2は、ウェブブラウザー向けのウェブページ、またはモンタージュ120を見るように設計されたモンタージュアプリケーション140もしくはモンタージュビューワーなど、アプリケーションプログラムのユーザーインターフェースビューとして、ユーザーインターフェースビューを生成することができる。
【0101】
[00111]図7Aは、例示的なメッセージ516のユーザーインターフェースビュー700のある実施形態を示す。図6を参照して説明されたように、コンテンツ作成者は、モンタージュアプリケーション140および/またはメッセージングアプリケーション542−1を使用して、モンタージュ120またはモンタージュ120への参照を伴うメッセージ516を生成し送信することができる。コンテンツ利用者は、コンピューティングデバイス510−2とメッセージングアプリケーション542−2とを介して、メッセージ516を受信することができる。ユーザーインターフェースビュー700は、メッセージ516が電子メールメッセージとして実装される例を提供する。
【0102】
[00112]メッセージ516は、とりわけ、返信ボタン、全員に返信ボタン、転送ボタン、削除ボタン、フォルダーに移動ボタン、規則作成ボタンなど、電子メールのための種々のコマンド要素を有する、リボンバー702を含み得る。メッセージ516はさらに、アドレス情報を伴うアドレスバー704、およびメッセージ本文706を含み得る。メッセージ本文706は、モンタージュファイルサムネイル720と、遠隔のデータストア212に記憶されるようなモンタージュ120へのリンク518−1とを有する、画面を含み得る。モンタージュファイルサムネイル720は、モンタージュ120のより忠実度の低いバージョンを含み得る。
【0103】
[00113]コンテンツ利用者は、たとえば、ポインティングデバイス710などの入力デバイスを使用して、モンタージュサムネイル720を選択することができる。コンテンツ利用者はまた、たとえば、タッチスクリーンディスプレイ上でのジェスチャー712などの入力デバイスを使用して、「生徒クラス旅行」というタイトルのリンク518−1を選択することができる。どちらの場合でも、この選択によって、モンタージュ120を見るためのウェブブラウザーまたはアプリケーションプログラムが起動する。
【0104】
[00114]図7Bは、メッセージ516から起動された後の、モンタージュ120のユーザーインターフェースビュー740のある実施形態を示す。コンピューティングデバイス510−2の所与の実装形態に応じて、コンピューティングデバイス510−2は、ウェブブラウザー向けのウェブページとして、またはモンタージュ120を見るために特別に設計されたモンタージュアプリケーション140またはモンタージュビューワー730など、アプリケーションプログラムのユーザーインターフェースビューとして、ユーザーインターフェースビュー740を生成することができる。たとえば、コンピューティングデバイス510−2および/またはモンタージュビューワー730のために実装されるモンタージュアプリケーション140の表示コンポーネント130は、モンタージュ120を開くための制御指示を受け取り、遠隔のデータストア212からモンタージュ120を取り込む動作を開始することができる。表示コンポーネント130および/またはモンタージュビューワー730は、適切な表示タイル124−aの中のタイルオブジェクト126−eを伴う表示面122を含む、モンタージュ120のユーザーインターフェースビュー740を表示することができる。
【0105】
[00115]ウェブページとしてレンダリングされる場合、表示コンポーネント130は、ハイパーテキストマークアップ言語(HTML)または同様のコードなど、ウェブページのために特別に設計されたコードを使用することができる。しかしながら、HTMLコードは、クライアントデバイス510−2によって実装される所与のタイプのウェブブラウザーによって制限され得る。モンタージュビューワー730のためのユーザーインターフェースビューとしてレンダリングされる場合、表示コンポーネント130および/またはモンタージュビューワー730は、モンタージュビューワー730に最適化されたコードを使用することができる。たとえば、モンタージュ120は、ウェブページ向けのHTMLコードを使用して生成されてもよく、拡張マークアップ言語(XML)コードがそのHTMLコードに埋め込まれる。XMLコードは、モンタージュアプリケーション140またはモンタージュビューワー730のために特別に設計されたデータスキーマによって生成され得る。したがって、モンタージュアプリケーション140またはモンタージュビューワー730は、ウェブページに使用されるモンタージュ120の忠実度の低いバージョンと比べて、忠実度の高いモンタージュ120のバージョンをレンダリングすることができる。
【0106】
[00116]図7Cは、モンタージュビューワー730の中で表示される、モンタージュ120のある例のユーザーインターフェースビュー750のある実施形態を示す。図7Bを参照して説明されたように、モンタージュビューワー730は、適切な表示タイル124−aの中のタイルオブジェクト126−eを伴う表示面122を含む、モンタージュ120のユーザーインターフェースビュー740を表示することができる。表示面122は、図4を参照して上で説明されたように、コンテンツファイル104−1のためのタイルオブジェクト126−1を含むと仮定する。
【0107】
[00117]コンテンツ利用者は、たとえば、ポインティングデバイス710などの入力デバイスを使用して、タイルオブジェクト126−1を選択することができる。コンピューティングデバイス510−2および/またはモンタージュビューワー730に対して実装されるモンタージュアプリケーション140の表示コンポーネント130は、タイルオブジェクト126−1を選択するための制御指示を受け取り、遠隔のデータストア212からタイルオブジェクト126−1のためのコンテンツファイル104−1を取り込む。
【0108】
[00118]図7Dは、モンタージュ120から起動された後の、コンテンツファイル104−1のユーザーインターフェースビュー760のある実施形態を示す。表示コンポーネント130および/またはモンタージュビューワー730は、遠隔のデータストア212から取り込まれたコンテンツファイル104−1の完全な忠実度のバージョンとともに、ユーザーインターフェースビュー760を表示することができる。あるいは、コンテンツファイル104−1は、コンテンツファイル104−1を生成するために使用されるものと同様のネイティブなアプリケーションプログラムを使用して、またはそのようなアプリケーションプログラムのために特別に設計されたビューワーを使用して、レンダリングされ得る。実施形態は、これに関連して限定はされない。
【0109】
[00119]様々な実施形態では、表示コンポーネント130は、様々なサイズ、解像度、リフレッシュレート、バックライト、消費電力など、様々な特性を有するディスプレイ上で見るための、モンタージュ120を動的に生成することができる。そのような場合、表示コンポーネント130は、ディスプレイのディスプレイ特性を検出し、ディスプレイ上での表示のためにモンタージュ120を修正するように構成され得る。たとえば、表示コンポーネント130は、多くの会議室で行われるようにタッチ制御によって大型の壁面ディスプレイ上に表示される場合、より多数の表示タイル124−aおよびタイルオブジェクト126−eを伴う、はるかに大型のバージョンのモンタージュ120を生成することができる。一方、表示コンポーネント130は、スマートフォンで表示される場合、より少数の表示タイル124−aおよびタイルオブジェクト126−eを伴う、より小型のバージョンのモンタージュ120を生成することができる。同様に、表示コンポーネント130は、所与のディスプレイの画面解像度またはピクセルサイズに基づいて、異なるレベルの忠実度でモンタージュ120を生成することができる。別の例では、表示コンポーネント130は、ポートレートモードではあるバージョンのモンタージュ120を生成し、パノラミックモードでは、たとえばユーザーがスマートフォンまたはタブレットを回転させるときは、別のバージョンのモンタージュ120を生成することができる。実施形態は、これに関連して限定はされない。
【0110】
[00120]上で説明された実施形態の動作はさらに、1つまたは複数の論理フローを参照して説明され得る。それぞれの論理フローは、別段示されない限り、必ずしも提示された順序または任意の特定の順序で実行される必要はないことが理解され得る。その上、論理フローに関して説明された様々な動作は、順番にまたは並行に実行され得る。論理フローは、設計および性能の制約の所与のセットに必要に応じて、説明される実施形態または代替的な実施形態の1つまたは複数のハードウェア要素および/またはソフトウェア要素を使用して実装され得る。たとえば、論理フローは、論理デバイス(たとえば、汎用または専用コンピューター)による実行のための論理(たとえば、コンピュータープログラム命令)として実装され得る。
【0111】
[00121]図8Aは、論理フロー800の一実施形態を示す。論理フロー800は、モンタージュ120を生成するためのモンタージュアプリケーション140の作成コンポーネント110など、本明細書で説明される1つまたは複数の実施形態によって実行される動作の一部またはすべてを表すものであってもよい。
【0112】
[00122]図8Aに示される図解された実施形態では、論理フロー800は、ブロック802において、複数の表示タイルを有する表示面を提供することができる。たとえば、作成コンポーネント110は、ユーザーインターフェース538を介して、複数の表示タイル124−aを有する表示面122を提供することができる。表示面122は、多数のモンタージュテンプレートの中から選択されてもよく、またはコンテンツ作成者によってカスタム設計されてもよい。
【0113】
[00123]論理フロー800は、ブロック804において、コンテンツファイルを表示タイルと関連付けるための制御指示を受け取ることができる。たとえば、作成コンポーネント110は、コンテンツファイル104−cを表示タイル124−aと関連付けるための制御指示102−bを受け取ることができる。制御指示102−bは、コンテンツ作成者によるコマンドを示す、入力デバイスからのものであり得る。
【0114】
[00124]論理フロー800は、ブロック806において、コンテンツファイルのコンテンツファイルタイプを特定することができる。たとえば、作成コンポーネント110は、コンテンツファイル104−cのコンテンツファイルタイプを特定することができる。特定は、コンテンツファイル104−cのファイル拡張子、コンテンツファイル104−cのメタデータ、コンテンツファイル104−c内の情報の分析、コンテンツファイル104−cを作成するために使用されるアプリケーションプログラム向けの情報などを、調査することによって実行され得る。
【0115】
[00125]論理フロー800は、ブロック808において、コンテンツファイルタイプに基づいて、コンテンツファイルからコンテンツのある部分を取り込むことができる。たとえば、作成コンポーネント110は、コンテンツファイルタイプに基づいてタイプモジュール202−gを選択し、選択されたタイプモジュール202−gを使用して、コンテンツファイル104−cについて見出されたコンテンツファイルタイプと関連付けられるタイプ定義204−hに従って、コンテンツファイル104−cから適切なコンテンツ部分106−dを取り込むことができる。一実施形態では、コンテンツファイル104−cは、ローカルのデータストア210に記憶されてもよく、コンテンツ部分106−dがファイルナビゲーションツール304を使用してデータバスを通じて取り込まれる。一実施形態では、コンテンツファイル104−cは、遠隔のデータストア212に記憶されてもよく、コンテンツ部分106−dがファイルナビゲーションツール304を使用してネットワークを通じて取り込まれる。
【0116】
[00126]論理フロー800は、ブロック810において、コンテンツ部分に基づいてタイルオブジェクトを生成することができる。たとえば、作成コンポーネント110は、選択されたタイプモジュール202−gを使用して、関連するタイプ定義204−hに従って、取り込まれたコンテンツ部分106−dからタイルオブジェクト126−eを生成することができる。タイルオブジェクト126−eは、表示タイル124−a内に表示され得る。タイルオブジェクト126−eは、コンテンツ利用者が、コンテンツファイル104−cの完全な忠実度のビューを見ることを望むかどうかを判定することを可能にするように、基礎となるコンテンツファイル104−cについての十分な情報を表示するように設計されている。
【0117】
[00127]論理フロー800は、ブロック812において、表示面とタイルオブジェクトとをモンタージュとして記憶することができる。たとえば、作成コンポーネント110は、表示面122と任意のタイルオブジェクト126−eとをモンタージュ120として記憶することができる。モンタージュ120は次いで、たとえばメッセージングシステム500を使用して、様々なコンテンツ利用者によって配信され、公開され、利用され得る。
【0118】
[00128]図8Bは、論理フロー820の一実施形態を示す。論理フロー820は、モンタージュ120のタイルオブジェクト126−eを生成するためのモンタージュアプリケーション140の作成コンポーネント110など、本明細書で説明される1つまたは複数の実施形態によって実行される動作の一部またはすべてを表すものであり得る。
【0119】
[00129]図8Bに示される図解された実施形態では、論理フロー820は、ブロック822において、コンテンツファイルをデジタルモンタージュの表示面の表示タイルと関連付けるための制御指示を受け取ることができる。たとえば、作成コンポーネント110は、コンテンツファイル104−1を、モンタージュ120などのデジタルモンタージュの表示面122の表示タイル124−1と関連付けるための、制御指示102−bを受け取ることができる。
【0120】
[00130]論理フロー820は、ブロック824において、コンテンツファイルのコンテンツファイルタイプを特定することができる。たとえば、作成コンポーネント110は、コンテンツファイル104−1のコンテンツファイルタイプを特定することができる。作成コンポーネント110は、とりわけ、ワードプロセッシングファイル、スプレッドシートファイル、プレゼンテーションファイル、個人情報マネージャーファイル、データベースファイル、パブリッシャーファイル、ドローイングファイル、メモ帳ファイル、またはメッセージファイルのうちの1つとして、コンテンツファイル104−1のコンテンツファイルタイプを特定することができる。
【0121】
[00131]論理フロー820は、ブロック826において、コンテンツファイルタイプに基づいて、コンテンツファイルのコンテンツ部分を取り込むことができる。たとえば、作成コンポーネント110は、特定されたコンテンツファイルタイプに基づいて、コンテンツファイル104−1のコンテンツ部分106−1を取り込むことができる。
【0122】
[00132]論理フロー820は、ブロック828において、コンテンツ部分に基づいてタイルオブジェクトを生成することができる。たとえば、作成コンポーネント110は、コンテンツ部分106−1に基づいて、タイルオブジェクト126−1を自動的に生成することができる。より具体的には、作成コンポーネント110は、対応するタイルオブジェクトコンテナー342−u内に格納される選択されたコンテンツ部分クリップ344−vを有するタイプオブジェクト画面346として、タイルオブジェクト126−1を生成することができる。
【0123】
[00133]作成コンポーネント110は、コンテンツファイルタイプに基づいて、コンテンツファイル104−1のコンテンツ部分106−1から、いくつかのコンテンツ部分クリップ344−vを自動的に選択することができる。より具体的には、作成コンポーネント110は、コンテンツファイルタイプと関連付けられるタイプ定義204−hに基づいて、コンテンツファイル104−1のコンテンツ部分106−1からコンテンツ部分クリップ344−vを選択することができ、タイプ定義は、コンテンツおよびプロパティクラス、コンテンツオブジェクトクラス、またはコンテンツページクラスの情報を含む。選択されると、作成コンポーネント110は、選択されたコンテンツ部分クリップを、タイルオブジェクト面346の対応するオブジェクトコンテナー342−uと関連付けることができる。
【0124】
[00134]加えて、または代替的に、作成コンポーネント110は、ユーザーの制御指示に応答して、コンテンツファイル104−1のコンテンツ部分106−1からいくつかのコンテンツ部分クリップ344−vを選択することができる。たとえば、作成コンポーネント110は、コンテンツファイル104−1のコンテンツ部分106−1からコンテンツ部分クリップ344−vを選択するための制御指示102−bを、入力デバイスから受け取ることができる。さらに、作成コンポーネント110はまた、コンテンツファイル104−1のコンテンツ部分106−1からの選択されたコンテンツ部分クリップ344−vを対応するタイルオブジェクトコンテナー342−uと関連付けるための制御指示102−bを、入力デバイスから受け取ることができる。
【0125】
[00135]コンテンツ部分クリップ344−vがタイルオブジェクトコンテナー342−uと関連付けられると、作成コンポーネント110は、コンテンツ部分クリップ344−vを対応するタイルオブジェクトコンテナー342−u内に収めるためのフィッティングアルゴリズムを利用して、対応するタイルオブジェクトコンテナー342−uのコンテナー定義および/またはタイルオブジェクト面346のセットに従って、埋まったコンテナー348−wを形成することができる。
【0126】
[00136]埋まったコンテナー348−wのセットが生成されると、作成コンポーネント110は、同じまたは同様のフィッティングアルゴリズムを利用して、タイルオブジェクト面346および/または表示面122の画面定義のセットに従って、埋まったコンテナー348−wをタイルオブジェクト面346内に収めることができる。
【0127】
[00137]図9は、論理フロー900の一実施形態を示す。論理フロー900は、モンタージュアプリケーション140の表示コンポーネント130など、本明細書で説明された1つまたは複数の実施形態によって実行された動作の一部またはすべてを表すものであり得る。
【0128】
[00138]図9に示される図解された実施形態では、論理フロー900は、ブロック902において、対応するコンテンツファイルのためのタイルオブジェクトを各々有する複数の表示タイルを伴う表示面を含む、モンタージュを生成することができる。たとえば、表示コンポーネント130は、対応するコンテンツファイル104−cのためのタイルオブジェクト126−eを各々有する複数の表示タイル124−aを伴う表示面122を含む、モンタージュ120を生成することができる。
【0129】
[00139]論理フロー900は、ブロック904において、モンタージュとコンテンツファイルとをネットワークサービスに送信することができる。たとえば、モンタージュアプリケーション140の公開コンポーネント532は、ネットワークサービス652を介してアクセス可能な遠隔のデータストア212による記憶のために、モンタージュ120および関連するコンテンツファイル104−cをネットワークストレージサーバー550に送信することができる。
【0130】
[00140]論理フロー900は、ブロック906において、モンタージュおよび各コンテンツファイルへの参照を受け取ることができる。たとえば、公開コンポーネント532は、モンタージュ120および各コンテンツファイル104−cへのリンク518−nを受け取ることができる。リンク518−nは、遠隔のデータストア212に記憶されるような、モンタージュ120および各コンテンツファイル104−cのネットワークバージョンへの参照またはポインタを含み得る。
【0131】
[00141]論理フロー900は、ブロック908において、コンテンツファイルへの参照を、対応するタイルオブジェクトと関連付けることができる。たとえば、公開コンポーネント532は、受け取られたリンク518−nを作成コンポーネント110に渡すことができる。作成コンポーネント110は、コンテンツファイル104−cへのリンク518−nを、対応するタイルオブジェクト126−eと関連付けることができる。コンテンツ利用者がタイルオブジェクト126−eを選択すると、表示コンポーネント130は、関連するリンク518−nを介して、タイルオブジェクト126−eと関連付けられるコンテンツファイル104−cを取り込むことができる。
【0132】
[00142]図10は、前に説明されたような様々な実施形態を実装するのに適した、例示的なコンピューティングアーキテクチャ1000のある実施形態を示す。コンピューティングアーキテクチャ1000は、1つまたは複数のプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラー、周辺機器、インターフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入力/出力(I/O)コンポーネントなどのような、様々な共通のコンピューティング要素を含む。しかしながら、実施形態は、コンピューティングアーキテクチャ1000による実装形態に限定されない。
【0133】
[00143]図10に示されるように、コンピューティングアーキテクチャ1000は、処理ユニット1004と、システムメモリ1006とシステムバス1008とを含む。処理ユニット1004は、様々な市販のプロセッサのいずれであってもよい。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャも、処理ユニット1004として利用され得る。システムバス1008は、限定はされないが、システムメモリ1006を含むシステムコンポーネントのためのインターフェースを、処理ユニット1004に提供する。システムバス1008は、メモリバス(メモリコントローラーを伴う、または伴わない)、周辺バス、およびローカルバスに、種々の商用のバスアーキテクチャのいずれかを使用してさらに相互接続できる、いくつかのタイプのバスアーキテクチャのいずれであってもよい。
【0134】
[00144]システムメモリ1006は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、ダブルデータレートDRAM(DDRAM)、同期型DRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電子的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、強誘電性ポリマーメモリなどのポリマーメモリ、オーボニックメモリ、相変化メモリもしくは強誘電性メモリ、シリコン−酸化物−窒化物−酸化物−シリコン(SONOS)メモリ、磁気カードもしくは光学カード、または情報を記憶するのに適した任意の他のタイプの媒体など、様々なタイプのメモリユニットを含み得る。図10に示される図解された実施形態では、システムメモリ1006は、非揮発性メモリ1010および/または揮発性メモリ1012を含み得る。基本入力/出力システム(BIOS)は、非揮発性メモリ1010に記憶され得る。
【0135】
[00145]コンピューター1002は、内部のハードディスクドライブ(HDD)1014、取り外し可能な磁気ディスク1018から読み取りそれに書き込むための磁気フロッピー(登録商標)ディスクドライブ(FDD)1016、取り外し可能な光学ディスク1022(たとえば、CD−ROMまたはDVD)から読み取りそれに書き込むための光学ディスクドライブ1020を含む、様々なタイプのコンピューター可読記憶媒体を含み得る。HDD1014、FDD1016および光学ディスクドライブ1020は、それぞれ、HDDインターフェース1024、FDDインターフェース1026、および光学ドライブインターフェース1028によって、システムバス1008に接続され得る。外部ドライブの実装形態のためのHDDインターフェース1024は、Universal Serial Bus(USB)とIEEE1394インターフェース技術のうちの少なくとも1つまたは両方を含み得る。
【0136】
[00146]ドライブおよび関連するコンピューター可読媒体は、データ、データ構造、コンピューター実行可能命令などの、揮発性記憶および/または非揮発性記憶を行う。たとえば、多数のプログラムモジュールが、オペレーティングシステム1030、1つまたは複数のアプリケーションプログラム1032、他のプログラムモジュール1034、およびプログラムデータ1036を含む、ドライブおよびメモリユニット1010、1012に記憶され得る。1つまたは複数のアプリケーションプログラム1032、他のプログラムモジュール1034、およびプログラムデータ1036は、たとえば、モンタージュアプリケーション140、作成コンポーネント110、表示コンポーネント130、セキュリティコンポーネント536、公開コンポーネント532、メッセージコンポーネント534、ユーザーインターフェース538、およびメッセージングアプリケーション542を含み得る。
【0137】
[00147]ユーザーは、1つまたは複数の有線/ワイヤレス入力デバイス、たとえばキーボード1038と、マウス1040などのポインティングデバイスとを通じて、コマンドまたは情報をコンピューター1002に入力することができる。他の入力デバイスは、マイクロフォン、赤外線(IR)リモートコントロール、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーンなどを含み得る。これらおよび他の入力デバイスは、システムバス1008に結合された入力デバイスインターフェースを通じて処理ユニット1004に接続されることが多いが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェースなど、他のインターフェースによって接続されてもよい。
【0138】
[00148]モニター1044または他のタイプのディスプレイデバイスも、ビデオアダプター1046などのインターフェースを介して、システムバス1008に接続される。モニター1044に加えて、コンピューターは典型的には、スピーカー、プリンターなど、他の周辺出力デバイスを含む。
【0139】
[00149]コンピューター1002は、リモートコンピューター1048などの1つまたは複数のリモートコンピューターへの有線および/またはワイヤレス通信を介した論理接続を使用して、ネットワーク化された環境において動作することができる。リモートコンピューター1048は、ワークステーション、サーバーコンピューター、ルーター、パーソナルコンピューター、ポータブルコンピューター、マイクロプロセッサベースの娯楽機器、ピアデバイスまたは他の共通ネットワークノードであってもよく、典型的には、コンピューター1002に関連して説明される要素の多くまたはすべてを含むが、簡潔にするために、メモリ/ストレージデバイス1050のみが示されている。図示される論理接続は、ローカルエリアネットワーク(LAN)1052および/またはより大きなネットワーク、たとえばワイドエリアネットワーク(WAN)1054への、有線/ワイヤレス接続を含む。そのようなLANおよびWANネットワーキング環境は、オフィスおよび会社では普通であり、そのすべてが世界的な通信ネットワーク、たとえばインターネットに接続できるイントラネットなどの企業規模のコンピューターネットワークを支援する。
【0140】
[00150]LANネットワーキング環境で使用される場合、コンピューター1002は、有線および/またはワイヤレス通信ネットワークインターフェースまたはアダプター1056を通じて、LAN1052に接続される。アダプター1056は、LAN1052への有線および/またはワイヤレス通信を支援することができ、LAN1052は、アダプター1056のワイヤレス機能と通信するために配置されたワイヤレスアクセスポイントも含み得る。
【0141】
[00151]WANネットワーキング環境で使用される場合、コンピューター1002はモデム1058を含んでよく、またはWAN1054上の通信サーバーに接続され、またはたとえばインターネットによってWAN1054を通じて通信を確立するための他の手段を有する。内部にあっても外部にあってもよく有線デバイスおよび/またはワイヤレスデバイスであり得るモデム1058は、入力デバイスインターフェース1042を介してシステムバス1008に接続する。ネットワーク化された環境では、コンピューター1002に関連して図示されたプログラムモジュール、またはその一部は、遠隔のメモリ/ストレージデバイス1050に記憶され得る。示されたネットワーク接続は例示的であり、コンピューター間の通信リンクを確立する他の手段が使用され得ることが理解されるだろう。
【0142】
[00152]コンピューター1002は、たとえば、プリンター、スキャナー、デスクトップおよび/またはポータブルコンピューター、携帯情報端末(PDA)、通信衛星、ワイヤレスに検出可能なタグと関連付けられる任意の装置または位置(たとえば、売店、新聞売店、休憩室)、および電話とのワイヤレス通信(たとえば、IEEE802.11無線変調技法)状態にある動作可能に配置されたワイヤレスデバイスなどの、IEEE802規格群を使用する有線およびワイヤレスのデバイスまたはエンティティと通信するように動作可能である。これは少なくとも、Wi−Fi(またはWireless Fidelity)、WiMax、およびBluetooth(登録商標)ワイヤレス技術を含む。したがって、通信は、従来のネットワークのように事前に定義された構造、または単に、少なくとも2つのデバイスの間のアドホック通信であってもよい。Wi−Fiネットワークは、IEEE802.11x(a、b、gなど)と呼ばれる無線技術を使用して、安全で、信頼性があり、高速なワイヤレス接続を提供する。Wi−Fiネットワークは、互いに、インターネットへ、かつ有線ネットワーク(IEEE802.3関連の媒体および機能を使用する)へ、コンピューターを接続するために使用され得る。
【0143】
[00153]様々な実施形態は、ハードウェア要素、ソフトウェア要素、またはこれら両方の組合せを使用して実装され得る。ハードウェア要素の例は、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、回路素子(たとえば、トランジスタ、抵抗、コンデンサー、誘導子など)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含み得る。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータープログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、方法、プロシージャ、ソフトウェアインターフェース、アプリケーションプログラムインターフェース(API)、命令セット、コンピューティングコード、コンピューターコード、コードセグメント、コンピューターコードセグメント、ワード、値、シンボル、またはこれらの任意の組合せを含み得る。実施形態がハードウェア要素および/またはソフトウェア要素を使用して実装されるかどうかを決定することは、所与の実装形態における望みに応じて、所望の計算速度、電力レベル、熱耐性、処理サイクルの量、入力データ速度、出力データ速度、メモリリソース、データバス速度、および他の設計または性能の制約など、任意の数の要因に従って変化し得る。
【0144】
[00154]いくつかの実施形態は、製造物品を含み得る。製造物品は、論理を記憶するための記憶媒体を含み得る。記憶媒体の例は、揮発性メモリまたは非揮発性メモリ、取り外し可能または取り外し不能メモリ、消去可能または消去不能メモリ、書き込み可能または再書き込み可能メモリなどを含む、電子データを記憶することが可能な1つまたは複数のタイプのコンピューター可読記憶媒体を含み得る。論理の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータープログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、方法、プロシージャ、ソフトウェアインターフェース、アプリケーションプログラムインターフェース(API)、命令セット、コンピューティングコード、コンピューターコード、コードセグメント、コンピューターコードセグメント、ワード、値、シンボル、またはこれらの任意の組合せなど、様々なソフトウェア要素を含み得る。一実施形態では、たとえば、製造物品は、コンピューターによって実行されると、説明された実施形態に従った方法および/または動作をコンピューターに実行させる、実行可能なコンピュータープログラム命令を記憶することができる。実行可能なコンピュータープログラム命令は、ソースコード、コンパイルされたコード、解釈されたコード、実行可能なコード、スタティックコード、ダイナミックコードなど、任意の適切なタイプのコードを含み得る。実行可能なコンピュータープログラム命令は、ある機能を実行するようにコンピューターに命令するための、事前に定義されたコンピューター言語、方式または構文に従って実装され得る。命令は、任意の適切な高水準プログラミング言語、低水準プログラミング言語、オブジェクト指向プログラミング言語、ビジュアルプログラミング言語、コンパイラプログラミング言語、および/またはインタプリタプログラミング言語を使用して実装され得る。
【0145】
[00155]いくつかの実施形態は、「一実施形態」または「ある実施形態」という表現を、それらの派生形とともに使用して説明されることがある。これらの用語は、実施形態に関連して説明される特定の機能、構造、または特徴が、少なくとも1つの実施形態に含まれるということを意味する。本明細書の様々な場所における「一実施形態では」という語句の出現は、必ずしもすべてが同じ実施形態を指しているとは限らない。
【0146】
[00156]いくつかの実施形態は、「結合された」および「接続された」という表現を、それらの派生形とともに使用して説明されることがある。これらの用語は、必ずしも互いに同義であることは意図されない。たとえば、いくつかの実施形態は、2つ以上の要素が互いに直接物理的にまたは電気的に接触していることを示すために、「接続された」および/または「結合された」という用語を使用して説明されることがある。しかしながら、「結合された」という用語は、2つ以上の要素が互いに直接接触していないがそれでも互いに協働または対話していることも、意味し得る。
【0147】
[00157]本開示の要約は、読者が技術的な開示の本質を迅速に確認できるようにするために与えられたことを、強調する。要約は特許請求の範囲または意味を説明または制限するために使用されないという理解とともに、要約は提出される。加えて、前述の発明を実施するための形態では、様々な特徴が、本開示を簡潔にする目的で単一の実施形態に一緒にまとめられていることが理解され得る。本開示のこの方法は、特許請求される実施形態が各請求項において明示的に記載されているものよりも多くの特徴を必要とするという意図を反映するものと、解釈されるべきではない。むしろ、以下の特許請求の範囲が示すように、発明の主題は、単一の開示された実施形態のすべてではない特徴の中にある。したがって、以下の特許請求の範囲は、ここで発明を実施するための形態に組み込まれ、各々の請求項は、別個の実施形態として独立している。添付の特許請求の範囲では、「including」および「in which」という用語がそれぞれ、「comprising」および「wherein」というそれぞれの用語の平易な英語の同義語として使用される。その上、「第1の」、「第2の」、「第3の」などの用語は、単に標識として使用され、それらの対象に数値的な要件を課すことは意図されない。
【0148】
[00158]本主題は、構造的な特徴および/または方法の動作に特有の言葉で説明されてきたが、添付の特許請求の範囲で定義される主題は、上で説明された特定の特徴または動作には必ずしも限定されないことを理解されたい。むしろ、上で説明された特定の特徴および動作は、特許請求の範囲を実施する例示的な形式として開示される。
図1
図2
図3A
図3B
図3C
図4
図5
図6
図7AB
図7CD
図8A
図8B
図9
図10