(57)【要約】  リッチコンテンツを格納することができるフレキシブルファイルを提供するシステムおよび方法が開示される。フレキシブルファイルが、セクションオブジェクトと、セクションオブジェクト内に格納された１つまたは複数のタイルオブジェクトと、各タイルオブジェクトと関連する１つまたは複数のクリップオブジェクトとを含むことができる。クリップオブジェクトは、コンテンツ項目を格納することができる。あるいはクリップオブジェクトは、フレキシブルファイルの外部に格納されているコンテンツ項目への１つまたは複数の参照を格納することができる。開示するフレキシブルファイルは、アプリケーションがユーザーまたはアプリケーションの必要に基づいてアトミック性を調整できるようにする。
2015508212.tif 000002
【特許請求の範囲】
【請求項１】
フレキシブルファイルを作成するための方法であって、
前記フレキシブルファイルの一部として面オブジェクトを作成するステップと、
前記面オブジェクト内にある第１のタイルオブジェクトを作成するステップと、
前記フレキシブルファイルのロードを最適化するための指示を受け取るステップと、
前記指示を受け取ることに応答して、前記第１のタイルオブジェクトと関連する第１のクリップオブジェクトを作成するステップであって、該第１のクリップオブジェクトは、第１のコンテンツ項目への第１の複数の参照を含む、ステップ、
前記フレキシブルファイルを格納するステップと
を含む方法。
【請求項２】
請求項１に記載の方法であって、前記第１の複数の参照が、
絶対ＵＲＬと、
相対リンクと
を含み、前記絶対ＵＲＬおよび前記相対リンクが、前記第１のデータ項目を識別する、方法。
【請求項３】
請求項２に記載の方法であって、前記第１の複数の参照が、トークン化されたＵＲＬをさらに含み、前記トークン化されたＵＲＬが、前記第１のデータ項目を識別する、方法。
【請求項４】
請求項１に記載の方法であって、
前記第１のタイルオブジェクトと関連する第２のクリップオブジェクトを作成するステップ
をさらに含み、前記第２のクリップオブジェクトが、第２のコンテンツ項目への第２の複数の参照を含む、方法。
【請求項５】
請求項４に記載の方法であって、前記第１のタイルオブジェクトが、ディスプレイ上で、前記第１のクリップオブジェクトから前記第２のクリップオブジェクトへナビゲートするためのナビゲーションスタイルを識別する情報を含む、方法。
【請求項６】
請求項１に記載の方法であって、
第２のタイルオブジェクトを作成するステップであって、前記第２のタイルオブジェクトのコンテナが前記面オブジェクト内にある、ステップと、
前記第２のタイルオブジェクトと関連する第２のクリップオブジェクトを作成するステップであって、該第２のクリップオブジェクトは、コンテンツのコレクションへの第２の複数の参照を含む、ステップと
をさらに含む方法。
【請求項７】
モンタージュファイルを作成するための方法であって、
前記モンタージュファイルの一部として面オブジェクトを作成するステップと、
前記面オブジェクト内にある第１のタイルオブジェクトを作成するステップと、
コンテンツのリクエストを最小にするための指示を受け取るステップと、
前記指示を受け取ることに応答して、前記第１のタイルオブジェクトと関連する第１のクリップオブジェクトを作成するステップであって、該第１のクリップオブジェクトは、第１のコンテンツ項目を含む、ステップと、
前記モンタージュファイルを格納するステップと
を含む方法。
【請求項８】
請求項７に記載の方法であって、
前記面オブジェクト内にある第２のタイルオブジェクトを作成するステップと、
コンテンツのコレクションへの複数の参照を含む第２のクリップオブジェクトを作成するステップと
をさらに含む方法。
【請求項９】
請求項７に記載の方法であって、
前記第１のコンテンツ項目が、
文書と、
画像と、
ビデオと
のうちの１つを含む、方法。
【請求項１０】
少なくとも１つのプロセッサによって実行されるとき、モンタージュファイルを作成するための方法を実行するコンピューター実行可能命令を符号化するコンピューター記憶媒体であって、前記方法が、
前記モンタージュファイルの一部として面オブジェクトを作成するステップと、
前記面オブジェクト内にある第１のタイルオブジェクトを作成するステップと、
前記第１のタイルオブジェクトと関連する第１のクリップオブジェクトを作成するステップであって、該第１のクリップオブジェクトは、第１のコンテンツ項目への第１の複数の参照を含む、ステップと、
前記第１のタイルオブジェクトと関連する第２のクリップオブジェクトを作成するステップであって、該第２のクリップオブジェクトは、第２のコンテンツ項目を含む、ステップと、
前記面オブジェクト内にある第２のタイルオブジェクトを作成するステップと、
前記第２のタイルオブジェクトと関連する第３のクリップオブジェクトを作成するステップであって、該第３のクリップオブジェクトは、コンテンツのコレクションへの第２の複数の参照を含む、ステップと、
前記モンタージュファイルを格納するステップと
を含む、コンピューター記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]単一ファイルにコンテンツのリッチコレクションを格納するアプリケーションは、しばしば多くの操作性の障害に直面する。ファイル自体の中に大量のコンテンツが格納されている場合、ファイルをロードするために必要とされる時間は、ユーザー体験に悪影響を与える恐れがある。しかしながら、ファイルが外部コンテンツを参照する場合、コンテンツにアクセスするために必要とされる要求および検索動作の数によって、計算リソースに過度な負担がかかる可能性がある。この一般的な環境に関して、本開示の実施形態を検討した。
【０００２】
[0002]この「背景技術」では特定の問題を扱っているが、本開示は、これらの特定の問題を解決することに限定されることをいかなる形でも意図していない。
【発明の概要】
【０００３】
[0003]本開示の実施形態は、効率的なアトミックアクセスのために最適化することができるフレキシブルファイルに関する。本明細書に開示する実施形態は、任意のタイプのソフトウェアアプリケーション（例えば、ワードププロセッサ、プレゼンテーションソフトウェア、作図ソフトウェアなど）と併せて使用することもできる。さらに、本明細書に開示する実施形態は、ユーザーに大量のコンテンツを提供するアプリケーションと共に使用することができる。開示するフレキシブルファイルは、ユーザーの必要とローカルおよびネットワークのコンピューティングリソースにかかる負担との間のバランスをとりながら、大量のコンテンツを収集するおよび／または集約する能力をアプリケーションに提供する。本明細書に開示するフレキシブルファイルは、集約されたコンテンツの検索および／または格納方法に関して様々なアトミック性の程度を可能にすることによって、融通性（ｆｌｅｘｉｂｉｌｉｔｙ）を提供する。
【０００４】
[0004]さらなる実施形態では、フレキシブルファイルは、ネットワーク上のコンテンツの移動に関して回復性（ｒｅｓｉｌｉｅｎｃｙ）もまた提供する。すでに述べたように、フレキシブルファイル形式は、実際のコンテンツまたはコンテンツへの参照を格納することができる。ファイルがコンテンツへの参照を格納する場合、コンテンツの移動は参照を破壊し、それによってその後ファイルにアクセスすることおよび／またはファイルを検索することを妨げる恐れがある。本明細書に開示する実施形態は、各コンテンツ項目に対して異なる参照を格納することによって、コンテンツの移動に対する回復性を提供する。諸実施形態では、各参照が、異なる方法で同じコンテンツ項目にリンクし、それによってフレキシブルファイルに、コンテンツを発見し、検索するための複数の機構を提供することができる。
【０００５】
[0005]この概要により、以下の「発明を実施するための形態」でさらに説明する概念の抜粋を簡略化して紹介する。この概要は、特許請求の範囲に記載する主題の主要な特徴または本質的特徴を特定することを目的としておらず、さらに特許請求の範囲に記載する主題の範囲を限定するように使用されることを目的としていない。
【０００６】
[0006]すべての図面において、同じ符号は同じ要素または同じ型の要素を表す。
【図面の簡単な説明】
【０００７】
【図１】[0007]フレキシブルファイル１００の実施形態を示す概念図である。
【図２】[0008]オフラインモードで高いアトミック性を提供するために使用されることが可能であるフレキシブルファイルの構成要素の実施形態を示す図である。
【図３】[0009]オンラインモードで高いアトミック性を提供するために使用されることが可能であるフレキシブルファイルの構成要素の実施形態を示す図である。
【図４】[0010]オンラインモードでバランス調整されたレベルのアトミック性を提供するために使用されることが可能であるフレキシブルファイルの構成要素の実施形態を示す図である。
【図５】[0011]フレキシブルファイルを作成するために使用することができる方法５００の実施形態を示す図である。
【図６】[0012]本明細書に記載する様々な実施形態と共に使用することができるネットワークシステム６００の実施形態を示す図である。
【図７】[0013]本明細書に開示する方法を実施するためのコンピューター環境およびコンピューターシステム７００の実施形態を示す図である。
【図８Ａ】[0014]本明細書に記載するフレキシブルファイル形式の実施形態を作成し、使用する実施形態を実行するためのモバイルコンピューティングデバイス８００の１つの実施形態を示す図である。
【図８Ｂ】[0015]本明細書に開示するフレキシブルファイル形式の実施形態を実践するために好適な例示のモバイルコンピューティングデバイスシステム８０２の簡略化したブロック図である。
【図９】[0016]本明細書に開示する実施形態を１つまたは複数のクライアントデバイスに提供するためのシステムの実施形態を示す図である。
【発明を実施するための形態】
【０００８】
[0017]この開示は、次に、考えられる実施形態の一部を示した添付の図面を参照して例示の実施形態を十分に説明する。しかしながら、多くの異なる形式で他の態様が具体化されることがあり、開示に特定の実施形態を含むことは、そのような態様を本明細書に示す実施形態に限定することと解釈されるべきではない。むしろ、図面に示す実施形態は、徹底的かつ完全な開示、ならびに意図された範囲を当業者に十分に伝える開示を提供するために含まれている。図面を参照するとき、全体を通して示される同様の構造および要素は、同様の参照符号を用いて表される。
【０００９】
[0018]本開示の実施形態は、効率的なアトミックアクセスのために最適化することができるフレキシブルファイル形式に関する。本明細書に開示する実施形態は、任意のタイプのソフトウェアアプリケーション（例えば、ワードププロセッサ、プレゼンテーションソフトウェア、作図ソフトウェアなど）と併せて使用することもできる。さらに、本明細書に開示する実施形態は、ユーザーに大量のコンテンツを提供するアプリケーションと共に使用することができる。例えば、本明細書に開示するフレキシブルファイル形式は、モンタージュを作成するアプリケーションによって利用されることがある。モンタージュは、ユーザーまたはアプリケーションが集約し、表示および／または消費のために提供する画像、文書、プレゼンテーション、スプレッドシート、図表、音声ファイル、ビデオ、ウェブコンテンツ、または任意のその他のタイプのデジタルコンテンツのリッチコレクションとすることができる。説明を容易にするために、本明細書における記載は、フレキシブルファイル形式を説明するとき、モンタージュの作成を指すことになる。しかしながら、本明細書に開示するフレキシブルファイル形式は、任意のタイプのアプリケーション用の任意のタイプのファイルを作成するために使用されることが可能であることを当業者は理解し、本明細書に開示される実施形態をモンタージュの作成に限定されるものと解釈しないであろう。
【００１０】
[0019]モンタージュなど、リッチコレクションは、多数のファイルで構成される可能性がある。このために、モンタージュを格納する標準的なファイル、または一般に大量のコンテンツは、ローカルコンピューティングリソースおよびネットワークコンピューティングリソースに重い負担をかける可能性がある。コレクションのサイズもまた、ユーザーがファイルにアクセスしようとする、またはファイルを開こうとするとき、ユーザー体験に悪影響を及ぼす恐れがある。例えば、モンタージュで集められたコンテンツのすべてが、モンタージュファイルに格納される場合、ファイルを開くこと、およびコンテンツをユーザーに表示することは、ロードされるコンテンツの量が原因で法外に長い時間がかかる可能性がある。他方では、モンタージュファイルがコンテンツ自体ではなく、コンテンツへの参照のコレクションで構成される場合、ファイルのサイズははるかに小さいものとなり、それによって迅速な初期ロードをユーザーに提供することができるが、ユーザーがファイルから選択するコンテンツのすべての部分が、検索されなければならない可能性がある。ファイルに格納された参照は、ユーザーをローカルに格納されたコンテンツと、ネットワークを通じてリモートに格納されたコンテンツとの両方に誘導するので、ファイル中のリンクにアクセスしてコンテンツを検索することは、ローカルリソースおよびネットワークリソースに重い負担をかける恐れがある。
【００１１】
[0020]本明細書に開示するフレキシブルファイル形式の実施形態は、説明した状況間でバランスをとり、ユーザーの必要とローカルコンピューティングリソースおよびネットワークコンピューティングリソースにかかる負担との間のバランスをとりながら、アプリケーションに大量のコンテンツを収集するおよび／または集約する能力を提供する。したがって、フレキシブルファイル形式は、ユーザーおよび／またはアプリケーションが大量のコンテンツを集約できるようにしながら、必要とされる検索の量でロード時間のバランスをとるファイルの作成を提供する。さらに、フレキシブルファイルは、特定のユーザーパフォーマンスの必要に適合するように、および／または利用できるコンピューティングリソースで動作するように、調整されることが可能である。
【００１２】
[0021]本明細書に開示されたフレキシブルファイルの実施形態は、集約されたコンテンツが検索されるおよび／または格納される方法に関して様々な度合いのアトミック性を提供することにより、融通性を提供することができる。諸実施形態では、アトミック性は、コンテンツが格納される方法を指す。高度のアトミック性は、個々に格納されたコンテンツを指すことができる。例えば、コンテンツの各部分が個々に格納されるまたは参照されるファイルは、高度のアトミック性を有する。高度のアトミック性が提供されるとき、少なくとも一部のコンテンツは、個々にアクセスされる、または検索されることが可能である。反対に、低度のアトミック性は、グループまたはコレクションとして格納されたコンテンツを指すことができる。例えば、コンテンツの各部分が一緒に（例えば、単一のコンテナ、ファイル、ディレクトリなどに）格納されたファイルは、非常に低度のアトミック性を有する。低度のアトミック性が提供されるとき、コンテンツの少なくとも一部は、個々にアクセスされない、または検索されない可能性がある。代わりにコンテンツは、グループとしてアクセスされる、または検索される可能性がある。
【００１３】
[0022]高いアトミック性を提供するファイルは、迅速なロード時間を提供することによってユーザー体験を向上させることができる。コンテンツは、高いアトミック性の環境では個々にアクセスされることが可能であるので、ユーザーは、単にユーザーが選択したコンテンツが検索されるのを待てばよく、したがってロード時間が削減される。しかしながら、高いアトミック性の環境で多数のコンテンツに個々にアクセスすることは、検索およびリクエストの数を増やし、したがって、ローカルリソースおよびネットワークリソースの負担を増やす。
【００１４】
[0023]低いアトミック性を提供するファイルは、必要とされるリクエストおよび検索の数を減らし、それによってローカルコンピューティングリソースおよびネットワークコンピューティングリソースの負担を低減することができる。しかしながら、コンテンツは、低いアトミック環境においてはグループとしてアクセスされるので、ユーザー体験は、低下する恐れがある。ユーザーは、ユーザーが選択したコンテンツのみならず、追加のコンテンツも同様に待たなければならない可能性があるからである。
【００１５】
[0024]諸実施形態では、フレキシブルファイル形式は、様々な度合いのアトミック性を提供し、それによってユーザー体験とコンピューティングリソースの使用との間のバランスをとることができる。例えば、フレキシブルファイル形式は、頻繁にアクセスされることになるいくつかのコンテンツを個別に格納し、それによって、肯定的なユーザー体験を保証し、一方では他のコンテンツをグループとして格納し（例えば、一緒にアクセスされると思われるコンテンツ）、それによってコンピューティングリソースにかかるストレスを軽減することができる。
【００１６】
[0025]諸実施形態では、フレキシブルファイル形式はまた、コンテンツの移動に関してある程度の回復性を提供することができる。すでに述べたように、フレキシブルファイル形式は、実際のコンテンツまたはコンテンツへの参照を格納することができる。コンテンツへの参照が格納されるとき、ファイルは、コンテンツが移動される場合、コンテンツへのアクセスを失う恐れがある。諸実施形態は、各コンテンツ項目に対していくつかの異なる参照を格納することによって、コンテンツの移動に対する回復性を提供する。諸実施形態では、各参照は、異なる方法でコンテンツにリンクし、それによって、フレキシブルファイルにコンテンツを発見し、検索するための複数の機構を提供することができる。
【００１７】
[0026]図１は、フレキシブルファイル１００の実施形態の概念図である。記載する実施形態では、フレキシブルファイルは、モンタージュアプリケーションによって使用されて、コンテンツのモンタージュを格納し得る。他の実施形態では、フレキシブルファイルは、他のタイプのアプリケーションによって使用されて、コンテンツを格納し得る。フレキシブルファイル１００は、面オブジェクト１０２を含むことができる。諸実施形態では、面オブジェクト１０２は、フレキシブルファイル１００中に収集されたコンテンツを整理するおよび／または格納するために使用されることがある。したがって、面オブジェクト１０２は、様々な異なるコンテンツ項目（またはコンテンツ項目への参照）を含むことがある。モンタージュ面オブジェクト１０２は、フレキシブルファイル１００に含まれているコンテンツを集約し、整理し、格納することができる。諸実施形態では、面オブジェクト１００は、アプリケーションによってロードされて、異なるコンテンツを表示することがある。モンタージュ面オブジェクトは、コンテンツ自体ではなく、コンテンツへの参照を格納することができるので、面オブジェクト１０２のサイズは、フレキシブルファイル中に集約されたコンテンツに比べて小さく、それによってユーザーによるフレキシブルファイルの迅速な初期ロードを可能にすることができる。
【００１８】
[0027]フレキシブルファイル１００が使用されてモンタージュを格納するとき、面オブジェクト１０２は、単一モンタージュの基本的なプロパティを含むことができる。プロパティは、モンタージュにおけるコンテンツの表示を整理するために使用することができる面オブジェクトのグリッド寸法（ｇｒｉｄ  ｄｉｍｅｎｓｉｏｎ）およびパディング（ｐａｄｄｉｎｇ）、モンタージュの背景（例えば、背景の画像または色）を定義するために使用することができる背景のレイヤー、ならびにテーマ情報を含むことができる。面オブジェクトは、タイルオブジェクトのコレクション（例えば、タイルオブジェクト１０４Ａ、１０４Ｂ、および１０４Ｃ）、ならびにクリップオブジェクトのコレクション（例えば、クリップオブジェクト１０６Ａ、１０６Ｂ、および１０６Ｃ）を含むこともできる。諸実施形態では、クリップオブジェクト１０６Ａ、１０６Ｂ、および１０６Ｃは、タイルオブジェクト１０４Ｃなどのタイルオブジェクトと視覚的に関連付けることができるが、クリップオブジェクト１０６Ａ、１０４６Ｂ、および１０６Ｃは、面オブジェクト１０２に格納することができる。したがって、クリップオブジェクト、例えばクリップオブジェクト１０４Ａ、１０６Ｂ、および１０６Ｃが、面オブジェクト１０２に格納される場合、クリップオブジェクト、例えばタイルオブジェクト１０４Ｃ中のクリップオブジェクト１０６Ａ、１０６Ｂ、および１０６Ｃの並べ替えは、フレキシブルファイル１００に格納されたクリップオブジェクトのＩＤおよび／またはティーザ−ＩＤの順序指定されたリストを更新することを含むことができる。さらに、この実施形態では、クリップオブジェクトは、複数のタイルオブジェクト（例えば、タイルオブジェクト１０４Ｃとタイルオブジェクト１０４Ａ）間で共有されることが可能であり、タイルオブジェクト間で大量のデータをエクスポートしない。
【００１９】
[0028]諸実施形態では、面オブジェクト１０２は、ユーザーまたはアプリケーションが面オブジェクト１０２および／または面オブジェクト１０２上のコンテンツの表示をカスタマイズするように設定することができるいくつかの調整可能なプロパティを提供することができる。表１は、面オブジェクト１０２によって提供されることが可能であるプロパティの非限定的な例を提供する。
【００２０】
【表１】
2015508212.tif 000003
【００２１】
[0029]諸実施形態では、フレキシブルファイル１００は、オブジェクト１０４Ａ、１０４Ｂ、および１０４Ｃなどのいくつかのタイルオブジェクトを含むことができる。タイルオブジェクトは、異なるコンテンツを関連付けて１つまたは複数のグループにするように使用されることが可能である。例えば、フレキシブルファイル１００が表示されるとき、特定のタイルオブジェクトと関連付けられたコンテンツ項目は、関連付けられたタイルオブジェクトを使用してアクセスされることが可能である。１つの前述の実施形態では、クリップオブジェクトおよび／またはコンテンツは、面オブジェクト１０２に格納されることが可能である。このような実施形態では、クリップオブジェクトおよび／またはコンテンツは、やはりタイルオブジェクト１０４Ａ、１０４Ｂ、および１０４Ｃなどのタイルオブジェクトと視覚的に関連付けられる。代替的実施形態では、クリップオブジェクトおよび／またはコンテンツは、タイルオブジェクト自体に格納することができる。提供されるフレキシブルファイル１００の概念的実施形態は、３つのタイルオブジェクトを示すが、より多くのタイルオブジェクトまたはより少ないタイルオブジェクトが面オブジェクト１０２に含まれる場合もあることを当業者は理解するであろう。
【００２２】
[0030]諸実施形態では、タイルオブジェクト１０４Ｃなどのタイルオブジェクトは、単一の最上位コンテナとすることができる。タイルオブジェクトは、１つまたは複数のクリップオブジェクト（例えば、クリップオブジェクト１０６Ａ、１０６Ｂ、および１０６Ｃ）および／またはコンテンツを含むことができる。諸実施形態では、タイルオブジェクトは、作成時に、テンプレートに定義されたプレースホルダのクリップオブジェクトを含むことができる。例えば、フレキシブルファイルは、クリップと関連付けられたコンテンツはまだないが、将来コンテンツを持つ可能性のあるクリップを含むことができる。このような実施形態では、クリップは、プレースホルダとして使用されることが可能である。さらなる実施形態では、タイルオブジェクトは、クリップオブジェクトおよび／またはコンテンツがフレキシブルファイル１００に追加されるとき、さらなるクリップオブジェクトおよび／またはコンテンツを蓄積することができることがある。タイルオブジェクトは、グリッドベースの測位情報（例えば、列、行、列のスパン、行のスパンなど）、ｚオーダー情報、および形状情報（例えば、矩形、円形、楕円形など）を含むことができる。諸実施形態では、情報は、タイルオブジェクトの視覚的レイアウトおよび／またはデザインを定義することができる。
【００２３】
[0031]諸実施形態では、各タイルオブジェクトは、２つ以上のクリップオブジェクトを含むことができる。例えば、タイルオブジェクト１０４Ｃは、３つのクリップオブジェクト、クリップオブジェクト１０６Ａ、１０６Ｂ、および１０６Ｃを含む。タイルオブジェクトは、タイルオブジェクト内に含まれているクリップオブジェクト間のナビゲーションの性能に関連する情報を提供することもできる。例えば、タイルオブジェクトは、各クリップオブジェクトと関連付けられた異なるコンテンツがアクセスされるおよび／または表示される方法を定義することができる。本明細書に開示する実施形態を用いて使用されることが可能なナビゲーションのタイプの例は、これらに限定ではないが、自動ナビゲーション（例えば、タイルオブジェクト中のクリップオブジェクト間の指定時刻に作動するクロスフェード（ｔｉｍｅｄ  ｃｒｏｓｓ−ｆａｄｅ））、手動ナビゲーション（例えば、次へボタン／戻るボタン）、またはこの２つの組合せを含む。諸実施形態では、手動ナビゲーションが選択される場合、タイルオブジェクトは、タイルオブジェクトと関連付けられたクリップオブジェクトおよび／またはコンテンツ間でナビゲートするためにユーザーが対話することができるナビゲーション構成要素の格納および／または表示に関連する情報も含むことができる。さらなる実施形態では、タイルオブジェクトは、自動ナビゲーションのためのアニメーション設定（例えば、期間および待ち時間（ｄｅｌａｙ））に関連する情報、スタイル情報、およびタイトル情報を含むこともできる。諸実施形態では、アニメーション設定は、コンテンツの自動ナビゲーションのためのアニメーションを定義する、またはタイルオブジェクトにアクセスする前のプレビューとしてコンテンツを表示し得る方法を定義することができる。さらなる実施形態では、タイルオブジェクトは、タイルオブジェクトを一意に識別することができるタイルオブジェクト識別子と関連付けられることがある。タイルオブジェクト識別子情報は、面オブジェクト１０２によって格納されて、面オブジェクト１０２内にある特定のタイルオブジェクトを識別することができる。さらに別の実施形態では、タイルオブジェクトは、１つもしくは複数のティーザ−識別子（ティーザ−ＩＤ）と関連付けられることがある、または１つもしくは複数のティーザ−ＩＤを格納することがある。ティーザ−ＩＤは、タイルオブジェクトがアクセスされる前に、タイルオブジェクトの面オブジェクトに表示可能であるコンテンツを識別することができる。表２は、タイルオブジェクト１０４Ｃなどのタイルオブジェクトによって提供されることが可能であるプロパティの非限定的な例を提供する。
【００２４】
【表２】
2015508212.tif 000004
【００２５】
[0032]１つの実施形態では、各タイルオブジェクトは、各タイルオブジェクトがただ１つのタイプのコンテンツと関連付けられていることを意味する同種であることが可能である。別の実施形態では、各タイルオブジェクトは、異種コンテンツを格納することができる場合がある。諸実施形態では、タイルオブジェクトは、文書コンテンツ（例えば、．ｄｏｃｘ、．ｐｐｔｘ、．ｐｄｆ、．ｘｓｌｘなど）、画像コンテンツ（例えば、．ｊｐｇ、．ｐｎｇ、．ｂｍｐ、．ｇｉｆなど）、フォトアルバム、ビデオ、テキスト、フィード（例えば、ＲＳＳフィード）、および／またはウェブコンテンツと関連付けられることが可能である。タイルオブジェクトと関連付けたコンテンツの特定の例を提供しているが、いかなるタイプのコンテンツもタイルオブジェクトと関連付けることができる。
【００２６】
[0033]諸実施形態では、フレキシブルファイル１００は、クリップオブジェクト１０６Ａ、１０６Ｂ、および１０６Ｃなどのいくつかのクリップオブジェクトを含むことができる。諸実施形態では、クリップオブジェクトは、タイルオブジェクトと関連付けられることが可能である。例えば、図１では、クリップオブジェクト１０６Ａ、１０６Ｂ、および１０６Ｃはタイルオブジェクト１０４Ｃと関連付けられる。フレキシブルファイル１００と関連付けられたコンテンツに関連する情報は、クリップオブジェクトに格納されることが可能である。１つの実施形態では、クリップオブジェクトは、実際のコンテンツ項目を格納することができる。例えば、クリップオブジェクトは、画像、文書、ビデオなどを格納することができる。別の実施形態では、クリップオブジェクトは、コンテンツ自体ではなくコンテンツ項目への１つまたは複数の参照を格納することができる。このような実施形態では、実際のコンテンツ項目は、ファイルの外部に格納される。外部コンテンツは、ローカルマシンに、ネットワークを介してアクセスできるリモートマシンに、またはクラウドに、存在することがある。諸実施形態では、クラウドは、ネットワークを介してアクセスできるコンテンツを格納しているサーバーの分布とすることができる。
【００２７】
[0034]クリップオブジェクトが実際のコンテンツ項目ではなく、コンテンツ項目への参照を格納する諸実施形態では、クリップオブジェクトは、コンテンツ項目の移動または再編成に対して回復性を提供するために、コンテンツ項目への複数の参照を格納することができる。複数の参照のそれぞれは、同じコンテンツ項目を識別することができるが、各参照は、様々に識別することができる。例えば、クリップオブジェクトは、絶対参照、相対参照、トークン化された参照、または当技術分野に知られている任意の他のタイプの参照を格納することができる。絶対参照は、コンテンツ項目の正確な位置を指し示す参照とすることができる。例示の絶対参照は、ＵＲＬ、ＵＲＩ、メモリまたはストレージのアドレスなどを含むが、これらに限定されない。相対的参照は、コンテンツ項目を、コレクション（例えば、パッケージ、ディレクトリなど）におけるその相対的位置で識別することができる。トークン化された参照は、名前および位置データに依存することなく、コンテンツを識別することができる参照である。諸実施形態では、クリップオブジェクトに格納された１つまたは複数の参照は、同じコンテンツを識別し、それによってコンテンツの要求および検索に関する回復性を提供することができる。例えば、クリップオブジェクトにおいて参照されるコンテンツ項目が、例えば異なる記憶領域に移動することによって、その位置を変更する場合、絶対参照は、このコンテンツ項目を正確に識別することができないが、フレキシブルファイル１００は、相対的参照またはトークン化された参照を使用して、コンテンツ項目を正常にリクエストし、検索することができる。
【００２８】
[0035]諸実施形態では、参照は、コンテンツの個々の項目、またはコンテンツのコレクションを参照することができる。高いアトミック性が望ましい場合、クリップオブジェクトに格納された１つまたは複数の参照は、単一コンテンツ項目（例えば、単一文書、単一画像など）を参照することができる。低いアトミック性が望ましい場合、クリップオブジェクトに格納された１つまたは複数の参照は、コンテンツのコレクションを参照することができる。低いアトミック性の実施形態では、大量のコンテンツのロードが原因で、ユーザー体験が劣化する可能性があるが、コンテンツにアクセスするために必要とされるリクエスト数の低下によって、計算リソースの負荷は緩和される可能性がある。したがって、フレキシブルファイル１００のクリップオブジェクトの構成要素は、とローカルおよびネットワークのコンピューティングリソースにかかる負荷に対してユーザー体験のニーズのバランスをとるために、フレキシブルファイル１００のアトミック性のレベルを調整する能力を提供する。
【００２９】
[0036]クリップオブジェクトは、クリップオブジェクトと関連付けられたコンテンツに関する追加情報を格納することができる。表２は、クリップオブジェクト１０６Ａなどのクリップオブジェクトによって提供可能であるプロパティの非限定的な例を提供する。
【００３０】
【表３】
2015508212.tif 000005
【００３１】
[0037]面オブジェクト、タイルオブジェクト、およびクリップオブジェクト構成要素は、フレキシブルファイル１００の融通性を提供する。諸実施形態では、コンテンツ項目またはコンテンツへの参照のいずれかを格納するクリップオブジェクトの能力は、融通性を提供するために活用することができる。さらに、諸実施形態では、コンテンツ項目を格納する、または項目への１つまたは複数の参照を格納するクリップオブジェクトの能力は、フレキシブルファイル１００に様々なユーザー状況で動作する能力を与える。例えば、ユーザーがオフラインモードで動作している場合、フレキシブルファイル１００は、１つまたは複数のクリップオブジェクトに実際のコンテンツ項目を格納するように適合することができる。そのようにして、フレキシブルファイル１００は、オフライン環境でコンテンツを格納し、提供するように使用することができる。あるいは、諸実施形態ではフレキシブルファイル１００は、コンテンツがローカルに格納されている場合、コンテンツへの参照を使用しながらオフラインモードで正常に使用することができる。反対に、フレキシブルファイル１００は、クリップオブジェクトにコンテンツ項目への参照を格納し、オンライン環境で動作することができる。このような実施形態では、フレキシブルファイルのサイズを削減することができる。
【００３２】
[0038]諸実施形態では、フレキシブルファイル１００は、ＸＭＬファイルとすることができる。セクション１０２、タイルオブジェクト１０４Ａ、１０４Ｂ、および１０４Ｃ、ならびにクリップオブジェクト１０６Ａ、１０６Ｂ、および１０６Ｃは、ＸＭＬ要素とすることができる。あるいは、フレキシブルファイル１００は、異なる形式とすることができる。例えば、フレキシブルファイルは、バイナリファイル、ＨＴＭＬファイル、ＪａｖａＳｃｒｉｐｔ（登録商標）ファイル、または当技術分野に知られている任意の他のタイプのファイル形式とすることができる。
【００３３】
[0039]図２は、オフラインモードで高いアトミック性を提供するように使用されることが可能なフレキシブルファイルの構成要素の実施形態である。タイルオブジェクト２００が、１つまたは複数のクリップオブジェクト（例えば、クリップオブジェクト２０２、２０４、および２０６）と関連付けられることが可能である。図２では単に３つのクリップオブジェクトが、タイルオブジェクト２００と関連付けられているが、より多くのクリップオブジェクト、またはより少ないクリップオブジェクトがタイルオブジェクト２００と関連付けられることがある。図２に示す実施形態では、各クリップオブジェクト２０２、２０４、および２０６が、実際のコンテンツを格納することができる。例えば、諸実施形態では、クリップオブジェクト２０２が画像を格納し、クリップオブジェクト２０４が文書を格納し、クリップオブジェクト２０６がプレゼンテーションを格納する。図示した実施形態では、コンテンツ項目がフレキシブルファイル内に格納されているので、フレキシブルファイルは、オフライン環境で動作するのに適したものとすることができる。
【００３４】
[0040]図３は、オンラインモードで高いアトミック性を提供するように使用されることが可能なフレキシブルファイルの構成要素の実施形態である。タイルオブジェクト３００は、１つまたは複数のクリップオブジェクト（例えば、クリップオブジェクト３０２、３０４、および３０６）と関連付けられることが可能である。図３では単に３つのクリップオブジェクトが、タイルオブジェクト３００と関連付けられているが、より少ないクリップオブジェクト、またはより多くのクリップオブジェクトがオブジェクト３００と関連付けられることがある。図３に示す実施形態では、各クリップオブジェクト３０２、３０４、および３０６が、コンテンツ項目への１つまたは複数の参照を格納することができる。諸実施形態では、参照は、ローカルに格納されたコンテンツ項目を識別することができるが、このコンテンツ項目はフレキシブルファイル形式の一部ではないことがある。例えば、コンテンツ項目は、同じマシン上にフレキシブルファイルとして格納されることがあるが、メモリまたはコンピューター記憶媒体の異なる部分に、異なるディレクトリに、またはローカルマシン上の他の場所に格納されることがある。別の実施形態では、参照は、例えばネットワークを介してアクセス可能な異なるマシン上に、またはクラウド上になど、リモートに格納されたコンテンツ項目を識別することができる。
【００３５】
[0041]例えば、図３において、クリップオブジェクト３０２は、画像への１つまたは複数の参照を含むことができ、クリップオブジェクト３０４は、文書への１つまたは複数の参照を含むことができ、クリップオブジェクト３０６は、プレゼンテーションへの１つまたは複数の参照を含むことができる。諸実施形態では、１つまたは複数の参照は、絶対参照、相対参照、トークン化された参照、または当技術分野に知られている任意の他のタイプの参照とすることができる。クリップオブジェクト内の参照のそれぞれは、同じコンテンツ項目を、ただし異なる方法で、識別することができる。図３に示す実施形態は、ユーザーが様々なコンテンツ項目に個々にアクセスできるようにし、それによって、フレキシブルファイルがコンテンツを迅速にロードし、ユーザー体験を向上させる能力を提供する。しかしながら、コンテンツに個々にアクセスすると、コンテンツにアクセスするためのリクエストおよび／または検索の数が増加する可能性があり、したがって、ローカルおよびネットワークのコンピューティングリソースに増加した負荷がかかる可能性がある。
【００３６】
[0042]図４は、オンラインモードでバランス調整されたレベルのアトミック性を提供するために使用されることが可能なフレキシブルファイルの構成要素の実施形態である。タイルオブジェクト４００は、１つまたは複数のクリップオブジェクト（例えば、クリップオブジェクト４０２、４０４、および４０６）と関連付けられることが可能である。図４では単に３つのクリップオブジェクトが、タイルオブジェクト４００と関連付けられているが、より少ないクリップオブジェクト、またはより多くのクリップオブジェクトがタイルオブジェクト４００と関連付けられることがある。図４に示す実施形態では、クリップオブジェクト４０２および４０６が、コンテンツ項目への１つまたは複数の参照を格納することができる。例えば、クリップオブジェクト４０２は、画像への１つまたは複数の参照を含み、クリップオブジェクト４０６は、プレゼンテーション項目への１つまたは複数の参照を含む。クリップオブジェクト４０４は、項目のグループへの１つまたは複数の参照を含むことができる。例えば、クリップオブジェクト４０４は、いくつかの文書を含むことができる文書のコンテナへの１つまたは複数の参照を含む。諸実施形態では、コンテンツ項目のコンテナを参照することにより、コンテンツを検索するために必要とされるリクエストの数を削減し、それによって、ローカルおよびネットワークのコンピューティングリソースにかかる負担を減らすことができる。諸実施形態では、１つまたは複数の参照は、絶対参照、相対参照、トークン化された参照、または当技術分野に知られている任意の他のタイプの参照とすることができる。クリップオブジェクト内の参照のそれぞれは、同じコンテンツ項目または同じコンテンツコンテナを、ただし異なる方法で、識別することができる。
【００３７】
[0043]再び図１を参照すると、フレキシブルファイル１００は、いくつかのオブジェクト（例えば、タイルオブジェクト１０４Ａ、１０４Ｂ、および１０４Ｃ）を含むことができ、各タイルオブジェクトは、いくつかのクリップオブジェクト（例えば、クリップオブジェクト１０６Ａ、１０６Ｂ、および１０４Ｃ）を含むことができる。諸実施形態では、クリップオブジェクトは、コンテンツ項目またはコンテンツ項目への参照を含むことができる。したがって、フレキシブルファイル１００は、クリップオブジェクトの種々のタイプに関連付けられたタイルオブジェクトの種々のタイプ（例えば、図２〜図４の実施形態）を同時に組み込み、それによって高レベルの適合性および融通性をフレキシブルファイル１００にもたらすことができる可能性がある。したがって、フレキシブルファイルは、多くの異なる動作シナリオで使用するためにカスタマイズすることができる。
【００３８】
[0044]図５は、フレキシブルファイルを作成するために使用することができる方法５００の実施形態である。方法５００は、図７に関して述べられるコンピューティングシステムなど、コンピューティングデバイス上で実行するアプリケーションまたはプロセスによって行われることが可能である。フローは、図１の面オブジェクト１０２などの面オブジェクトが作成される動作５０２から始まる。諸実施形態では、動作５０２で作成される面オブジェクトは、フレキシブルファイルの主要な構成要素とすることができる。フローは、図１のタイルオブジェクト１０４Ａ、１０４Ｂ、および１０４Ｃなどの少なくとも１つのタイルオブジェクトが作成される動作５０４に進む。１つの実施形態では、フレキシブルファイルに含まれているコンテンツおよび／またはクリップオブジェクトは、タイルオブジェクトと関連付けることができる。別の実施形態では、タイルオブジェクトは、フレキシブルファイルに含まれている任意のコンテンツおよび／またはクリップオブジェクトを格納するためのコンテナとして働くことができる。
【００３９】
[0045]フローは、決定動作５０６に進む。決定動作５０６において、フレキシブルファイルを作成する方法は、決定を行う、またはフレキシブルファイルを最適化することができるユーザーのシナリオおよび／または状況のタイプの指示を受け取る。例えば、フレキシブルファイルは、最良のユーザー体験（例えば、高速なロード時間）を求めて最適化することができる、フレキシブルファイルは、ローカルおよび／またはネットワークのコンピューティングリソースを管理する（例えば、コンテンツのリクエストを最小にする）ために最適化することができる、または、フレキシブルファイルは、バランス調整された手法をとることができる。諸実施形態では、指示は、フレキシブルファイルを最適化すべき方法に関する命令を提供する。例えば、指示は、フレキシブルファイル内に一部のデータを保存または格納し、一方ではファイル内に他のデータへの参照を格納するための命令を含むことができる。諸実施形態では、フレキシブルファイル内にコンテンツを格納すべきかどうかに関する命令は、コンテンツのタイプ、コンテンツのサイズ、またはコンテンツの他の特性とすることができる。方法５００は、３つの異なるタイプの最適化を提供するように示しているが、格納されるコンテンツ、個々に参照されるコンテンツ、および／またはまとめて参照されるコンテンツの混合を含むことによって、フレキシブルファイルは、コンテンツをすべてファイル自体の内に格納すること、またはコンテンツをすべてリモートに格納することの間の範囲のどこにでも入るように作成可能であることを、当業者は理解するであろう。
【００４０】
[0046]１つの実施形態では、動作５０６において行われる決定は、方法５００を行っているアプリケーションおよび／またはプロセスによって受け取られる指示に基づくことができる。例えば、ユーザーによって設定される選好（ｐｒｅｆｅｒｅｎｃｅ）の指示を使用して、動作５０６において決定を行うことができる。別の実施形態では、使用履歴、ネットワークリソース、フレキシブルファイルに含まれるコンテンツの量に基づいて、またはいずれかの他の機構によって、動的に決定を行うことができる。
【００４１】
[0047]諸実施形態では、フレキシブルファイルが最小のロード時間に最適化される（例えば、ユーザー体験を最大にする）場合、フローは、決定５０６から動作５０８へ「ロード時間を最小にする」を分岐させる。動作５０８では、実際のコンテンツ項目を格納するのではなく、１つまたは複数のコンテンツ項目への１つまたは複数の参照を格納する１つまたは複数のクリップオブジェクトが作成される。諸実施形態では、１つまたは複数の参照は、絶対参照、相対参照、トークン化された参照、または当技術分野に知られている任意の他のタイプの参照とすることができる。フローは動作５１０に進み、１つまたは複数の参照のコンテンツ項目がフレキシブルファイルの外部の、ローカルマシン、（例えば、クラウドに格納された）マシンのネットワーク全域に分散されたリモートマシン、または場所の組合せに格納される。ロード回数を増やすために、動作５１０において格納される１つまたは複数のコンテンツ項目は個別に格納され、それによって、コンテンツの個々の部分のリクエストおよび検索を可能にし、したがってロード時間を最小にすることができる。特定の実施形態では、例えば動作５０８および５１０は、ロード時間を最小にするために、図３に示す実施形態と同様の構成要素の大部分を含むことができるフレキシブルファイルを作成することができるが、他のタイプの構成要素もまた、フレキシブルファイルに含むことができる。動作５０８においてすべてのクリップオブジェクトが作成され、動作５１０においてすべてのコンテンツが格納されると、フローは動作５１８に進み、例えば、フレキシブルファイルをメモリに書き込むことによって、フレキシブルファイルが格納される。
【００４２】
[0048]諸実施形態では、フレキシブルファイルがローカルおよび／またはネットワークのコンピューティングリソースにかかる負荷を最小にするように最適化される場合、フローは、決定５０６から動作５１２へ「リクエストを最小にする」を分岐させる。動作５１２において、１つまたは複数のコンテンツ項目を格納した１つまたは複数のクリップオブジェクト。特定の実施形態では、例えば動作５１２は、コンテンツのリクエストおよび検索を最小にするために、図２に示す実施形態と同様の構成要素の大部分を含むことができるフレキシブルファイルを作成することができるが、他のタイプの構成要素もまた、フレキシブルファイルに含むことができる。諸実施形態では、動作５１２においてクリップオブジェクトに格納されるコンテンツは、個々に、またはコレクションとして、格納することができる。動作５１２においてすべてのクリップオブジェクトが作成されると、フローは動作５１８に進み、例えば、フレキシブルファイルをメモリに書き込むことによって、フレキシブルファイルが格納される。
【００４３】
[0049]諸実施形態では、より多くのバランス調整されたフレキシブルファイルが作成されることがあり、この場合、フローは、決定５０６から動作５１４へ「バランス調整する」を分岐する。動作５１２において、複数のクリップオブジェクトを作成することができる。複数のクリップオブジェクトは、コンテンツ項目を格納する、個々のコンテンツ項目への参照を格納する、および／またはコンテンツのコレクションへの参照を格納する、クリップオブジェクトを含むことができる。さらに、参照を格納しているクリップオブジェクトは、絶対参照、相対参照、トークン化された参照、または当技術分野に知られている任意の他のタイプの参照を格納することができる。フローは、動作５１６へ進み、動作５１４においてクリップオブジェクトに格納されなかったコンテンツが、個別に、コンテンツのコレクションとして、または両方で、格納される。個別のおよび集合的なコンテンツは、フレキシブルファイルの外部の、ローカルマシン、（例えば、クラウドに格納された）マシンのネットワーク全域に分散されたリモートマシン上に、または場所の組合せに格納されることが可能である。特定の実施形態では、例えば５１４および５１６は、図４に示す実施形態と同様の構成要素の大部分を含むことができるフレキシブルファイルを作成することができる。動作５１４においてすべてのクリップオブジェクトが作成され、動作５１６においてすべてのコンテンツが格納されると、フローは動作５１８に進み、例えば、フレキシブルファイルをメモリに書き込むことによって、フレキシブルファイルが格納される。
【００４４】
[0050]諸実施形態では、フレキシブルファイルが作成されると、変化するユーザーのシナリオおよび／またはハードウェアの状況に適応するように、ファイルを変更することができる。例えば、フレキシブルファイルにコンテンツ項目を格納したクリップは、その後に、コンテンツ項目への参照を格納するように変更することができる。すでにクリップに格納されたコンテンツ項目は、ローカルに、またはリモートに、ファイルから外部に格納されるように移動することができる。移動されたコンテンツ項目は、個別に、またはコンテンツのコレクションの一部として、外部に格納されることが可能である。同様に、コンテンツ項目またはコンテンツのコレクションへの１つまたは複数の参照を格納したクリップは、実際のコンテンツ項目またはコンテンツ項目のコレクションを格納するように変更することができる。したがって、フレキシブルファイルの構造は、ファイルに流動性を与え、ファイルが変化する状況に適応できるようにする。
【００４５】
[0051]図６は、本明細書に記載する様々な実施形態と共に使用することができるネットワークシステム６００の実施形態である。ネットワークシステム６００は、クライアントデバイス６０２を含むことができる。諸実施形態では、クライアントデバイスは、パーソナルコンピューター、ラップトップコンピューター、タブレットコンピューター、スマートフォン、または任意の他のタイプのコンピューティングデバイスとすることができる。クライアントデバイスは、ネットワーク６０８などのネットワークを介して、サーバーデバイス６０４およびサーバーデバイス６０６などの１つまたは複数のリモートデバイスと電気通信している可能性がある。諸実施形態では、サーバーデバイス６０４および６０６は、サーバーコンピューターまたは任意の他のタイプのコンピューティングデバイスとすることができる。１つの実施形態では、サーバーデバイス６０４および６０６は、サーバークラスタの一部であることがある、またはクラウドネットワークの一部であることがある。別の実施形態では、サーバーデバイス６０４および６０６は、分かれた、関連のないデバイスであることがある。ネットワーク６０８は、ＬＡＮ、ＷＡＮ、セルラネットワーク（ｃｅｌｌｕｌａｒ  ｎｅｔｗｏｒｋ）、インターネット、またはコンピューティングデバイス間の通信を容易にすることができる任意の他のタイプのネットワークとすることができる。
【００４６】
[0052]ユーザーが、クライアントデバイス６０２上でフレキシブルファイルを開いて、フレキシブルファイルによって集約されたコンテンツにアクセスすることができる。１つの実施形態では、フレキシブルファイルに集約されたコンテンツは、クライアントデバイス６０２にあることがある。例えば、集約されたコンテンツは、フレキシブルファイル自体に、またはクライアントコンピューター６０２上にあることが可能である。別の実施形態では、クライアントデバイス６０２上でアクセスされるフレキシブルファイルは、例えば、サーバーデバイス６０４および６０６上に、リモートにあるコンテンツへの１つまたは複数の参照を含むことができる。コンテンツがリモートにある場合、クライアントデバイスは、ネットワーク６０８を介して、コンテンツに対する１つまたは複数のリクエストをサーバーデバイス６０４および６０８に発行することができる。サーバーデバイス６０４および６０８は、ネットワーク６０８を介してクライアントデバイスにコンテンツを返すことができる。
【００４７】
[0053]図７を参照すると、本明細書に記載する様々な実施形態を実行するためのコンピューティング環境の実施形態が、コンピューターシステム７００などのコンピューターシステムを含んでいる。記載する実施形態のあらゆる構成要素が、クライアントコンピューターシステム、サーバーコンピューターシステム、クライアントコンピューターシステムとサーバーコンピューターシステムの組合せ、ハンドヘルドデバイス、および本明細書に記載する他の考えられるコンピューティング環境もしくはシステムとして、あるいはこれらの上で、動作することができる。したがって、これらの環境すべてに適用可能な基本的なコンピューターシステムについて、以下に説明する。
【００４８】
[0054]最も基本的な構成では、コンピューターシステム７００は、少なくとも１つの処理ユニットまたはプロセッサ７０４と、システムメモリ７０７とを含む。コンピューターシステム７００の最も基本的な構成は、図７に破線７０２で示している。いくつかの実施形態では、記載したシステムの１つまたは複数の構成要素は、システムメモリ７０７にロードされ、システムメモリ７０６から処理ユニット７０４によって実行される。システムメモリ７０６は、コンピューターシステム７００の正確な構成およびタイプに応じて、システムメモリ７０６は、揮発性オブジェクト（ＲＡＭなど）、不揮発性オブジェクト（ＲＯＭ、フラッシュメモリ、その他など）、またはこの２つの何らかの組合せとすることができる。
【００４９】
[0055]また、コンピューターシステム７００は、追加の特徴および機能を有することもある。例えば、コンピューターシステム７００は、磁気または光のディスクまたはテープなどを含む、これらに限らないが、リムーバブルおよび／または非リムーバブル記憶装置など、追加の記憶媒体７０８を含む。いくつかの実施形態では、ソフトウェアまたは実行可能コードおよび記載したシステムに使用されるいかなるデータも、記憶媒体７０８に恒久的に格納される。記憶媒体７０８は、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を保存する任意の方法または技術で実現された揮発性オブジェクトおよび不揮発性オブジェクトの、リムーバブルおよび非リムーバブル媒体を含む。諸実施形態では、記憶媒体７０８は、開示するフレキシブルファイルおよびフレキシブルファイル７０８を作成する方法を実行する命令を含む。
【００５０】
[0056]システムメモリ７０６および記憶媒体７０８は、コンピューター記憶媒体の例である。コンピューター記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途オブジェクトディスク（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｏｂｊｅｃｔ  ｄｉｓｋ：「ＤＶＤ」）もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、他の磁気記憶装置、または所望の情報を保存するために使用され、コンピューターシステム７００およびプロセッサ７０４によってアクセスされる任意の他の媒体が含まれるが、これらに限定されない。このようないかなるコンピューター記憶媒体も、コンピューターシステム７００の一部とすることができる。諸実施形態では、システムメモリ７０６および／または記憶媒体７０８は、フレキシブルファイルの実施形態、および本明細書に開示するフレキシブルファイルを作成する方法など、方法を行うおよび／または本明細書に開示する（１つまたは複数の）システムを形成するために使用されるデータを格納する。諸実施形態では、システムメモリ７０６は、フレキシブルファイル７１８およびフレキシブルファイルを生成するための命令７１６などの情報を格納する。
【００５１】
[0057]コンピューターシステム７００は、装置が他の装置と通信できるようにする（１つまたは複数の）通信接続７１０を含むこともできる。諸実施形態では、（１つまたは複数の）通信接続７１０は、送信装置、中継装置、および受信装置の間でメッセージを送受信するために使用されることが可能である。（１つまたは複数の）通信接続７１０は、通信媒体の一例である。通信媒体は、搬送波または他の転送機構など、変調されたデータ信号を組み入れることができ、変調されたデータ信号に、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータを組み入れることができるいかなる情報配信媒体も含む。「変調されたデータ信号」という用語は、その特性の１つまたは複数が、データ信号中の情報またはメッセージを符号化するような方法で設定されたまたは変更された信号を意味する。一例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、ＲＦ、赤外線、およびその他の無線媒体などの無線媒体を含むが、これらに限定されない。
【００５２】
[0058]いくつかの実施形態では、コンピューターシステム７００はまた、入力および出力接続７１２、ならびにグラフィカルユーザーインターフェイスなどのインターフェイスおよび周辺装置を含む。（１つまたは複数の）入力装置は、ユーザーインターフェイス選択装置とも呼ばれ、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などを含むが、これらに限定されない。本開示の実施形態と一致して、入力装置は、ユーザーの運動を検出することができる検出装置を含むことができる。例えば、入力装置は、複数のカメラと、複数のマイクを備えたＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ製のＫＩＮＥＣＴ（登録商標）モーションキャプチャデバイスを含むことができる。他の実施形態も可能である。（１つまたは複数の）出力装置は、ディスプレイとも呼ばれ、ブラウン管ディスプレイ、プラズマ画面ディスプレイ、液晶画面ディスプレイ、スピーカー、プリンターなどを含むが、これらに限定されない。個々にまたは組み合わせて、入力および出力接続７１２に接続されたこれらのデバイスは、本明細書に記載するように情報を表示するために使用される。これらのデバイスはすべて当技術分野でよく知られており、本明細書で詳細に説明する必要はない。
【００５３】
[0059]いくつかの実施形態では、本明細書に記載する構成要素は、コンピューター記憶媒体および他の有形媒体に格納する、および通信媒体で送信することができる、コンピューターシステム７００によって実行可能なモジュールまたは命令を含む。コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するための任意の方法または技術により実現される、揮発性オブジェクトおよび不揮発性オブジェクト、リムーバブルおよび非リムーバブル媒体を含む。上述のいずれかの組合せもまた、可読媒体の範囲内に含まれるべきである。いくつかの実施形態では、コンピューターシステム７００は、コンピューターシステム７００で使用するためにリモート記憶媒体にデータを格納するネットワークの一部である。
【００５４】
[0060]本明細書に記載する例示の実施形態は、ネットワーク接続されたコンピューティングシステム環境においてコンピューティングデバイスで論理演算として実行することができる。論理演算は、（ｉ）コンピューティングデバイスで動作する一連のコンピューター実行命令、ステップ、またはプログラムモジュール、（ｉｉ）コンピューティングデバイス内で動作する相互接続した論理モジュールまたはハードウェアモジュールとして、実行することができる。
【００５５】
[0061]例えば、本開示の実施形態は、システムオンチップ（ＳＯＣ）により実践することができ、図７に示す構成要素のそれぞれ、または多くは、単一の集積回路に統合することができる。このようなＳＯＣデバイスは、１つまたは複数の処理ユニット、グラフィックユニット、通信ユニット、システム仮想化ユニット、およびアプリケーション機能を含むことができ、これらのすべてが、単一集積回路にとしてチップ基板に統合される。
【００５６】
[0062]さらに、論理演算は、本開示の範囲を逸脱することなく、ソフトウェア、ファームウェア、アナログ／デジタル回路、および／またはその任意の組合せにアルゴリズムとして実装することができる。ソフトウェア、ファームウェア、または同様の一連のコンピューター命令は、符号化され、コンピューター可読記憶媒体に格納されることが可能であり、コンピューター装置間で伝送するために搬送波信号内に符号化されることも可能である。
【００５７】
[0063]図８Ａおよび図８Ｂは、例えば、携帯電話、スマートフォン、タブレットパーソナルコンピューター、ラップトップコンピューター、などのモバイルコンピューティングデバイス８００を示し、開示の実施形態は、これらを用いて実践することができる。図８Ａを参照すると、諸実施形態を実行するための例示のモバイルコンピューティングデバイス８００が示されている。基本的な構成では、モバイルコンピューティングデバイス８００は、入力要素と出力要素の両方を有するハンドヘルドコンピューターである。モバイルコンピューティングデバイス８００は、一般的にディスプレイ８０５と、ユーザーがモバイルコンピューティングデバイス８００に情報を入力できるようにする１つまたは複数の入力ボタン８１０とを含む。モバイルコンピューティングデバイス８００のディスプレイ８０５は、入力装置（例えば、タッチスクリーンディスプレイ）としても機能することができる。含まれている場合は、オプションの側面入力要素８１５により、さらなるユーザー入力が可能となる。側面入力要素８１５は、ロータリースイッチ、ボタン、または任意の他のタイプの手動入力要素とすることができる。代替的実施形態では、モバイルコンピューティング装置８００は、より多くの要素またはより少ない要素を組み込むことがある。例えば、ディスプレイ８０５は、いくつかの実施形態では、タッチスクリーンではないことがある。さらに別の代替的実施形態では、モバイルコンピューティングデバイス８００は、セルラフォンなどの携帯電話システムである。モバイルコンピューティングデバイス８００は、オプションのキーパッド８３５を含むこともできる。オプションのキーパッド８３５は、物理的キーパッド、またはタッチスクリーンディスプレイ上に生成される「ソフト」キーパッドとすることができる。様々な実施形態では、出力要素は、グラフィカルユーザーインターフェイス（ＧＵＩ）を表示するためのディスプレイ８０５、視覚的インジケーター８２０（例えば、発光ダイオード）、および／または音声変換器８２５（例えば、スピーカー）を含む。いくつかの実施形態では、モバイルコンピューティングデバイス８００は、ユーザーに触覚フィードバックを提供するための振動変換器を組み込む。さらに別の実施形態では、モバイルコンピューティングデバイス８００は、外部装置へ信号を送信する、または外部装置から信号を受信するための、音声入力（例えば、マイクロホンジャック）、音声出力（例えば、ヘッドホンジャック）、およびビデオ出力（例えば、ＨＤＭＩ（登録商標）ポート）などの、入力ポートおよび／または出力ポートを組み込む。諸実施形態では、フレキシブルファイル形式で格納されたコンテンツは、ディスプレイ８０５上に表示されることが可能である。
【００５８】
[0064]本明細書ではモバイルコンピューティングデバイス８００と組み合わせて説明しているが、開示の代替的実施形態は、デスクトップ環境、ラップトップまたはノートブックコンピューターシステム、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューターなど、任意の数のコンピューターシステムと組み合わせて使用することができる。開示の実施形態は、分散コンピューティング環境で実践されることも可能であり、分散コンピューティング環境ではタスクが通信ネットワークを介してリンクされたリモート処理装置によって行われ、プログラムが、ローカルとリモートの両方のメモリ記憶装置に配置される。要約すると、複数の環境センサー、ユーザーへの通知および複数の通知イベントタイプを提供するための複数の出力要素を有する任意のコンピューターシステムが、本発明の諸実施形態を組み込むことができる。
【００５９】
[0065]図８Ｂは、モバイルコンピューティングデバイスの１つの実施形態のアーキテクチャを示すブロック図である。すなわち、モバイルコンピューティングデバイス８００は、システム（すなわち、アーキテクチャ）８０２を組み込んで、いくつかの実施形態を実行することができる。１つの実施形態では、システム８０２は、１つまたは複数のアプリケーション（例えば、ブラウザ、電子メール、予定表、連絡先管理、メッセージングクライアント、ゲーム、およびメディアクライアント／プレイヤー）を動作させることができる「スマートフォン」として実行される。いくつかの実施形態では、システム８０２は、統合された携帯情報端末（ＰＤＡ）および無線電話など、コンピューティングデバイスとして統合される。
【００６０】
[0066]１つまたは複数のアプリケーションプログラム８６６は、メモリ８６２にロードされ、オペレーティングシステム８６４上で、またはオペレーティングシステム８６４に関連して動作することができる。アプリケーションプログラムの例は、電話ダイヤラプログラム、電子メールプログラム、個人情報管理（ＰＩＭ）プログラム、文書処理プログラム、スプレッドシートプログラム、インターネットブラウザプログラム、メッセージングプログラム、作図アプリケーションなどを含む。システム８０２はまた、メモリ８６２内に不揮発性記憶領域８６８を含む。不揮発性記憶領域８６８は、システム８０２が電源を切られた場合に失われるべきではない固定情報を格納するために使用されることが可能である。アプリケーションプログラム８６６は、電子メールアプリケーションによって使用される電子メールまたは他のメッセージなど、不揮発性記憶領域８６８中の情報を使用し、格納することができる。同期アプリケーション（図示せず）もまた、システム８０２に常駐し、ホストコンピューターに常駐する対応する同期アプリケーションと対話して、不揮発性記憶領域８６８に格納された情報を、ホストコンピューターに格納された対応する情報と同期しておくようにプログラムされる。理解されるように、本明細書に開示するフレキシブルファイル形式、フレキシブルファイルを作成する方法、および未知のファイルコンテンツを提示する方法を含む、モバイルコンピューティングデバイス８００上で、他のアプリケーションがメモリ８６２にロードされ、実行されることがある。
【００６１】
[0067]システム８０２は、１つまたは複数のバッテリーとして実装可能である電源８７０を有する。電源８７０は、バッテリーを補うまたは再充電するＡＣアダプタまたは充電ドッキングクレードル（ｐｏｗｅｒｅｄ  ｄｏｃｋｉｎｇ  ｃｒａｄｌｅ）などの外部電源をさらに含むことができる。
【００６２】
[0068]システム８０２は、無線周波数通信を送受信する機能を行う無線機８７２を含むこともできる。無線機８７２は、通信キャリアまたはサービスプロバイダーを介して、システム８０２と「外界」との間の無線接続を容易にする。無線機８７２への伝送および無線機８７２からの伝送は、オペレーティングシステム８６４の制御下で行われる。言い換えれば、無線機８７２によって受信される通信は、オペレーティングシステム８６４を介してアプリケーションプログラム８６６に広めることができ、その逆も同様である。無線機８７２は、システム８０２が例えばネットワークを通じて他のコンピューティングデバイスと通信できるようにする。無線機８７２は、通信媒体の一例である。通信媒体は、一般的に、搬送波または他のトランスポート機構などの変調されたデータ信号中の、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータによって具体化されることが可能であり、いかなる情報配信媒体も含む。「変調されたデータ信号」という用語は、信号の中の情報を符号化するような方法でその特性の１つまたは複数が設定されたまたは変更された信号を意味する。一例として、限定ではないが、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、ＲＦ、赤外線、およびその他の無線媒体などの無線媒体を含む。本明細書で使用するコンピューター可読媒体という用語は、記憶媒体と通信媒体の両方を含む。
【００６３】
[0069]システム８０２のこの実施形態は、視覚的通知を提供するために使用することができる視覚的インジケーター８２０、および／または音声変換器８２５を介して可聴音の通知を生産する音声インターフェイス８７４を使用して、通知を提供する。例示的実施形態では、視覚的インジケーター８２０は発光ダイオード（ＬＥＤ）であり、音声変換器８２５はスピーカーである。これらのデバイスは、アクティブにされるとき、たとえプロセッサ８６０および他の構成要素が、バッテリー電力を保存するためにシャットダウンしたとしても、通知機構によって指示された期間、オン状態のままであるように、電源８７０に直接結合されることが可能である。ＬＥＤは、ユーザーがアクションを起こすまで無期限に点灯したままであって、デバイスの電源が入っている状態を示すようにプログラムされることが可能である。音声インターフェイス８７４は、可聴信号をユーザーに提供する、および可聴信号をユーザーから受信するために、使用される。例えば、音声変換器８２５に結合されることに加えて、音声インターフェイス８７４は、例えば電話の会話を容易にするために、可聴入力を受信するようにマイクロホンに結合されることも可能である。本発明の実施形態によれば、マイクロホンは、以下に説明するように、通知の制御を容易にするために音声センサーとして機能することもできる。システム８０２は、静止画像、ビデオストリームなどを記録するためにオンボードカメラ８３０の操作を可能にするビデオインターフェイス８７６をさらに含むことができる。
【００６４】
[0070]システム８０２を実装するモバイルコンピューティングデバイス８００は、さらなる特徴または機能を有することができる。例えばモバイルコンピューティングデバイス８００は、磁気ディスク、光ディスク、またはテープなど、追加のデータ記憶装置（リムーバブルおよび／または非リムーバブル）を含むこともできる。このような追加の記憶装置は、図８Ｂに不揮発性記憶領域８６８で示す。コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を保存する任意の方法または技術で実現された、揮発性および不揮発性の、リムーバブルおよび非リムーバブル媒体を含むことができる。
【００６５】
[0071]モバイルコンピューティングデバイス８００によって生成され、または取り込まれ、システム８０２を介して格納されるデータ／情報は、上述のように、モバイルコンピューティングデバイス８００上にローカルに格納されることが可能である、またはデータは、モバイルコンピューティングデバイス８００と、モバイルコンピューティングデバイス８００と関連する別個のコンピューティングデバイス、例えばインターネットなどの分散コンピューティングネットワークのサーバーコンピューターとの間で、無線機８７２を介して、もしくは有線接続を介して、デバイスによってアクセスされることが可能である任意の数の記憶媒体に格納されることが可能である。理解されるように、このようなデータ／情報は、モバイルコンピューティングデバイス８００を介して、無線機８７２を介して、または分散コンピューティングネットワークを介して、アクセスされることが可能である。同様に、このようなデータ／情報は、電子メールおよび協調データ／情報共有システム（ｃｏｌｌａｂｏｒａｔｉｖｅ  ｄａｔａ／ｉｎｆｏｒｍａｔｉｏｎ  ｓｈａｒｉｎｇ  ｓｙｓｔｅｍ）などを含む、よく知られているデータ／情報転送および格納手段により格納および使用するためにコンピューティングデバイス間で容易に転送されることが可能である。
【００６６】
[0072]図９は、上述のように本明細書に開示するフレキシブルファイル１００および方法を１つまたは複数のクライアントデバイスに提供するためのシステムのアーキテクチャの１つの実施形態を示す。フレキシブルファイル１０２と関連して開発される、対話される、または編集されるコンテンツは、様々な通信チャネルで、または他のストレージタイプで格納されることが可能である。例えば、様々な文書は、ディレクトリサービス９２２、ウェブポータル９２４、メールボックスサービス９２６、インスタントメッセージングストア９２８、またはソーシャルネットワーキングサイト９３０を使用して格納されることが可能である。フレキシブルファイル１０２は、本明細書に記載するように、データの利用を可能にするためにこれらのタイプのシステムまたは同様のもののいずれかを使用することができる。サーバー９２０は、フレキシブルファイル１０２および／または本明細書に開示するフレキシブルファイルを作成もしくは変更するための方法を、クライアントに提供することができる。１つの例として、サーバー９２０は、ウェブを通じてフレキシブルファイル１０２および／または本明細書に開示するフレキシブルファイルを作成するもしくは変更するための方法を提供するウェブサーバーとすることができる。サーバー９２０は、ウェブを通じてフレキシブルファイル１０２および／または本明細書に開示するフレキシブルファイルを作成するもしくは変更するための方法をネットワーク９１５を介してクライアントに提供することができる。例として、クライアントコンピューティングデバイス９１８は、コンピューティングデバイス７００として実装され、パーソナルコンピューター９１８ａ、タブレットコンピューティングデバイス９１８ｂ、および／またはモバイルコンピューティングデバイス９１８ｃ（例えば、スマートフォン）に具体化されることが可能である。クライアントコンピューティング９１８のこれらの実施形態のいずれも、ストア９１６からコンテンツを取得することができる。様々な実施形態では、本発明を作り出すコンピューティングデバイス間で通信に利用されるネットワークのタイプは、インターネット、イントラネット、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、および仮想プライベートネットワーク（ＶＰＮ）を含むが、これらに限定されない。本アプリケーションでは、ネットワークは、企業ネットワーク、およびクライアントコンピューティングデバイスがそれを通じて企業ネットワークにアクセスするネットワーク（すなわち、クライアントネットワーク）を含む。１つの実施形態では、クライアントネットワークは、企業ネットワークの一部である。別の実施形態では、クライアントネットワークは、ゲートウェイ、リモートアクセスプロトコル、またはパブリックもしくはプライベートインターネットアクセスなど、外部から利用できるエントリポイントを介して企業ネットワークにアクセスする別個のネットワークである。
【００６７】
[0073]この開示は、考えられる実施形態の一部のみを示した添付の図面を参照していくつかの実施形態を説明した。しかしながら、他の態様が多くの様々な形で具体化されることが可能であり、本明細書に示した実施形態に限定されると解釈されるべきではない。むしろ、これらの実施形態は、この開示が徹底的かつ完全であって、考えられる実施形態の範囲を当業者に十分に伝えられるように提供された。
【００６８】
[0074]諸実施形態について、構造的特徴、方法的行為、およびそのような行為を含んでいるコンピューター可読媒体に特定の言い回しで説明したが、添付の特許請求の範囲で定めるように、考えられる実施形態は、必ずしも上記の特定の構造、行為、または媒体に限定されないことを理解されたい。本開示の範囲および趣旨の内である他の実施形態または改善を、当業者は理解するであろう。したがって、特定の構造、行為、または媒体は、単に例示的実施形態として開示される。開示は、添付の特許請求の範囲によって定められる。
【図１】
2015508212.tif 000006
【図２】
2015508212.tif 000007
【図３】
2015508212.tif 000008
【図４】
2015508212.tif 000009
【図５】
2015508212.tif 000010
【図６】
2015508212.tif 000011
【図７】
2015508212.tif 000012
【図８Ａ】
2015508212.tif 000013
【図８Ｂ】
2015508212.tif 000014
【図９】
2015508212.tif 000015
【国際調査報告】
2015508212.tif 000016
2015508212.tif 000017
2015508212.tif 000018
2015508212.tif 000019
2015508212.tif 000020