(57)【要約】【課題】ビューセット（例えば、リスト、フォルダ、ディレクトリ）のコンテンツの属性に基づいて異なるデータ収集レンダラー（例えば、ビュー）を使用できるデータシステムユーザ・インターフェースを提供する。【解決手段】本主題発明の態様に従って、コンテンツの特定のタイプを提示するのに適するビューを自動的に選択できる。自動選択は、ビューセットのコンテンツに基づいてより特殊化し、最適化されたビューを使用できる。ビューセットのコンテンツを分析し、ビュー選択ルールの拡張可能な設定にマッチングさせることができる。カスタム・ビューが標準ビュー、デフォルト・ビューおよび／または汎用ビューとは完全に異なる視覚的外観を持てるが、本主題発明により、標準ビューと同一のウインドウ中でカスタム・ビューを実行させることが理解できる。【選択図】図１
2006107509.tif 000002
【特許請求の範囲】
【請求項１】
ビューセット・コンポーネントのコンテンツの提示を容易にするシステムであって、
前記コンテンツの特性を判定するアナライザ・コンポーネント、および
前記特性に基づく前記コンテンツの少なくともサブセットに関するビューを、自動的に選択するビュー選択コンポーネント
を備えることを特徴とするシステム。
【請求項２】
前記特性は、ファイル・タイプであることを特徴とする請求項１に記載のシステム。
【請求項３】
前記ファイル・タイプは、ワード・プロセッサ文書であることを特徴とする請求項２に記載のシステム。
【請求項４】
前記ファイル・タイプは、画像文書であることを特徴とする請求項２に記載のシステム。
【請求項５】
前記特性は、ファイル・サイズであることを特徴とする請求項１に記載のシステム。
【請求項６】
前記特性が日付であることを特徴とする請求項１に記載のシステム。
【請求項７】
前記コンテンツは、クエリ結果を含むことを特徴とする請求項１に記載のシステム。
【請求項８】
前記コンテンツは、電子文書であることを特徴とする請求項１に記載のシステム。
【請求項９】
前記電子文書は、画像ファイルであることを特徴とする請求項８に記載のシステム。
【請求項１０】
前記電子文書は、ハイパーリンクであることを特徴とする請求項８に記載のシステム。
【請求項１１】
前記ビューセット・コンポーネントは、前記アナライザ・コンポーネントから遠隔に
あることを特徴とする請求項１に記載のシステム。
【請求項１２】
前記ビュー選択コンポーネントは、
ルールを自動的に選択するルール・エンジン・コンポーネント、および
前記特性の関数として前記ルールを適用し、前記ビューを選択するルール評価コンポーネント
を備えることを特徴とする請求項１に記載のシステム。
【請求項１３】
前記ルール・エンジン・コンポーネントは、前記ルール評価コンポーネントから遠隔に配置されることを特徴とする請求項１２に記載のシステム。
【請求項１４】
ユーザの意図を履歴的ユーザ基準の関数として予測する人工知能（ＡＩ）コンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１５】
前記ＡＩコンポーネントは、前記特性に関する前記ユーザの意図の関数としての前記ビューの自動選択を容易にする推論コンポーネントを含むことを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記推論コンポーネントは、前記自動選択を行う際に、ユーティリティに基づく分析を使用することを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記ビュー選択コンポーネントは、アプリケーションのタイプおよび前記アプリケーションの状態のうちの少なくとも１つの関数としての前記ビューを動的に選択することを特徴とする請求項１に記載のシステム。
【請求項１８】
前記ビューセット・コンポーネントの前記コンテンツは、サブビューセット・コンポーネントを含み
前記アナライザ・コンポーネントは、前記サブビューセット・コンポーネントのサブビューセットの特性を判定し、および
前記ビュー選択コンポーネントは、前記サブビューセットの特性の関数として、サブビューセット・レンダラーを動的に選択して、前記サブビューセット・コンポーネントの少なくともサブセットをレンダリングすること
を特徴とする請求項１に記載のシステム。
【請求項１９】
請求項１に記載のシステムを使用することを特徴とするデスクトップ・コンピューティング・システム。
【請求項２０】
請求項１に記載のシステムを使用することを特徴とする携帯型コンピューティング・デバイス。
【請求項２１】
統計に基づく分析を使用して、ユーザが所望するアクションを推論し、自動的に実行するインテリジェンス・コンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項２２】
請求項１に記載のシステムを実行するためのコンピュータが実行可能命令をその上に格納していることを特徴とするコンピュータ可読媒体。
【請求項２３】
データを提示する方法であって、
ビューセット・コンポーネントのコンテンツの特性を判定すること、および
前記特性の関数として、複数のレンダラーを動的に選択し、前記ビューセット・コンポーネントの前記コンテンツの少なくともサブセットを自動的にレンダリングすること
を備えることを特徴とする方法。
【請求項２４】
前記特性は、ファイル・タイプであることを特徴とする請求項２３に記載の方法。
【請求項２５】
自動的に前記レンダラーを判定するルールを選択することをさらに備えることを特徴とする請求項２３に記載の方法。
【請求項２６】
前記レンダラーを自動的に選択する前記ルールをインスタンス化することをさらに備えることを特徴とする請求項２５に記載の方法。
【請求項２７】
ユーザに対して、前記コンテンツの前記サブセットをレンダリングすることをさらに備えることを特徴とする請求項２３に記載の方法。
【請求項２８】
前記特性の関数として、ユーザの意図を予測することをさらに備えることを特徴とする請求項２３に記載の方法。
【請求項２９】
前記レンダラーを選択する前記行為は、前記予測されたユーザの意図に基づくことを特徴とする請求項２８に記載の方法。
【請求項３０】
前記ビューセット・コンポーネントを分析して前記特性を判定することを特徴とする請求項２３に記載の方法。
【請求項３１】
請求項２３に記載の行為を行うためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項３２】
ビューセット・コンポーネントの１つまたは複数の属性を分析する手段、および
前記１つまたは複数の属性の関数として、ビューを動的に選択する手段
を備えることを特徴とするビュー選択システム。
【請求項３３】
前記ビューを自動的にインスタンス化する手段をさらに備えることを特徴とする請求項３２に記載のシステム。
【請求項３４】
ユーザの意図を推論する手段をさらに備えることを特徴とする請求項３２に記載のシステム。
【請求項３５】
前記コンテンツを表示する手段をさらに備えることを特徴とする請求項３２に記載のシステム。
【請求項３６】
請求項３２に記載のシステムを実施するコンピュータ実行可能命令をその上に格納していることを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・システム、特にシステムおよび指定した基準および／またはルールに従ってカスタム・ビューセット（view-set）・レンダラーをインスタンス化するための方法に関するものである。
【背景技術】
【０００２】
今日のコンピュータ・ユーザは、自身の文書、ウエブ・ベースのコンテンツ、データベース検索結果等を含めて、ますます多くのアイテム・セットを管理している。現在のユーザ・インターフェース・メカニズムは、そうした膨大なワーキング・セットをうまく処理するようには設計されていない。今日のユーザ・インターフェース・システムのいくつかは、この問題を部分的には回避する特殊化されたビューを提供することができるが、ユーザは、通常、そうした特殊なビューを見つけて、適用する責任を負っている。フォト・ビュー等の「デフォルト・ビュー」を選択できるシステムにおいても、複数の特殊化されたビューを構成する機能（facility）はない。
【０００３】
従って、そうした問題の両方に対処するシステムを求める要望が存在する。まず、様々な環境パラメータに基づいて、そのディスプレイに先立ってデータを分析し、最も役立ち、適切なビューを動的に選択するシステムが必要である。第２に、ユーザとルールとにガイドされた複合的な特殊化されたビューの広いスペースを提供する特殊化されたビューを任意に、再帰的に組み合わせることができるシステムに対する要求が満たされていない。そうした（例えば、管理アプリケーションを介する）メカニズムは、コンテンツの明確で包括的な描写を自動的にユーザに提供する。
【０００４】
最近、コンピュータ技術関連の効率を簡素化するために、アプリケーションをパーソナライズおよび／またはカスタマイズするルール・ベース・システムおよびアプリケーションが出現した。しかしながら、ルール・ベース・システムは、データ収集および／またはビューセット管理のアプリケーションには適用されていない。
【０００５】
従来は、コンピュータ・システムおよびアプリケーションは、標準レンダリングおよび／またはデフォルト・レンダリング技術（例えば、標準詳細リストビュー）を使用して、データ収集および／またはファイル・システムのコンテンツをユーザに提示している。このデフォルト・リスト・ビューは、プログラムおよび／またはファイルの限定されたリストを提供するに過ぎない。例えば、一実施形態では、特定のファイル・タイプには顧慮せずにアプリケーション名のみで分類したアルファベット順リストを提供する。更なる実例として、ユーザは、ファイル・タイプ、アルファベット順、サイズ、日付等による幾つかの方法でリストを手動でカスタマイズしたり、または分類したりできる。
【０００６】
この点で、多くのコンピュータ・プログラムおよびアプリケーションは、ユーザがデフォルト・ビューから離れることを可能にし、それにより、ファイル・システム、または、データ・ストアのコンテンツ（例えば、ビューセット）を、手動でより特殊な方法を選択して、ディスプレイできるようにするメカニズムを提供する。換言すれば、伝統的なデスクトップ・オペレーティング・システム環境は、その各々が異なる方法でディレクトリ・コンテンツをディスプレイする異なるビューをユーザが選択できるようにする。実例として、ユーザは、特定の複数のファイル・タイプを描写する複数のアイコンを与えるやり方で、ディレクトリをディスプレイさせるアイコン・ビューを選択することができる。アイコン・ビューは、ユーザによって手動で指定されると、ファイル・タイプについて小さい、または、大きいアイコンを示す。別の実例では、サムネイル・ビューを手動で選択することができ、それにより、画像ファイルを収容するディレクトリをディスプレイさせるために使用できる。このビュー・レンダラーは、ディレクトリ（例えば、ビューセット）内の各画像ファイルのサムネイル画像を提示する。そうした既存のビューワは、均一であるという制約がある。例えば、ただ１つのビューセット・レンダラーのみが、所定のビューセットに適用できる。また、所定のビューセットの個々のセクションに対して複数のビューセット・レンダラーを組み立てる機能（facility）は存在しない。
【０００７】
ユーザの好み、または、アプリケーション・タイプに基づいてビュー選択スキームをカスタマイズおよび／またはパーソナライズする必要に加えて、技術とハードウエアの進歩が、ハードウエアの制約に応じて複数のビュー・スキームを操作する必要性を裏付けている。コンピューティング能力を備えた通信装置（例えば、スマート・フォン、携帯情報端末（ＰＤＡ））の技術的進歩は、ハードウエア装置および／またはディスプレイの仕様に関するデータを提示するシステムおよび／または方法を提供する必要性を裏付けている。実例として、１９インチのモニタを備えたデスクトップ・パーソナル・コンピュータ（ＰＣ）と比較して、ＰＤＡのディスプレイの仕様がビューセット・レンダラーの制限に大きく影響を与えている。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来のシステムは、ビューセットの予め定義されたレンダラーを手動で選択する制限された能力しか提供しないが、ユーザが、プレゼンテーション特性（presentation characteristics）（例えば、ビューセット・レンダラー）をカスタマイズして、選択することを可能とし、データ・ストアのコンテンツ（例えば、ビューセット）を動的に、また自動的にディスプレイさせるシステムおよび／または方法を提供するという実質的な満たされていない要求が存在する。本発明は、多種多様な特殊化されたビューセット・レンダラーを提供するので、ビューセットの特性とディスプレイ環境に基づいた複数のビューセット・レンダラーを自動的に選択するシステムに対する増大する要求が存在する。さらに、標準的なデスクトップＰＣに加えて、今日の頻繁に出現する携帯型通信装置に、この機能性を適用する要求が満たされていない。
【課題を解決するための手段】
【０００９】
本発明の幾つかの態様を基本的に理解するために本発明の簡易要約を以下に示す。本要約は、発明の広範な概観ではない。本発明のキー要素／クリティカルな要素を識別したり、本発明の範囲を線引したりすることを意図したものでもない。後に提示する詳細な説明への前置きとして、本発明の幾つかの概念を簡易化した形で示すことが唯一の目的である。
【００１０】
ファイル・システム・ディレクトリや検索結果といったデータの収集（例えば、ビューセット）を、そのコンテンツの属性（例えば、サイズ、または、タイプ）に関わらず、均一な方法で表示できる。ここに開示し、請求する主題発明は、その一態様において、ビューセット（例えば、リスト、フォルダ、ディレクトリ、検索結果）のコンテンツの属性に基づいて異なるデータ・レンダラー（例えば、ビュー）を提供できるデータ・システム・ユーザ・インターフェース（ＵＩ）で構成される。本主題発明の態様に従って、特定のタイプのコンテンツを提示するのに適したビューを自動的に選択することが可能になる。この自動的選択は、ビューセットのコンテンツに基づいたより特殊化し、最適化されたビューの使用を採用する。ビューセットのコンテンツを分析し、拡張可能なビュー選択ルールに対してマッチングさせることができる。カスタム・ビューが標準ビュー、デフォルト・ビューおよび／または汎用ビューとは完全に異なる視覚的外観を持つことがあるが、本主題発明により、標準ビューと同一のウインドウ内でカスタム・ビューを実行できる、ということを理解されたい。
【００１１】
本発明の一態様では、データ表示を容易にするシステムが提供される。本システムには、ビューセット・コンポーネントのコンテンツの特性を判定するアナライザ・コンポーネントが含まれる。特性はいかなるビューセット属性でも良いことを認識されたい。実例として、特性はファイル・タイプ、サイズ、発信日付、ロケーション等を含むことができるが、それに限定されない。さらに、ファイル・タイプには当業者既知の電子ファイル・タイプを含むが、ワード・プロセッシング、テキスト、画像、スプレッド・シート、オーディオ・ドキュメント等に制限されないことを理解されたい。
【００１２】
このシステムには、さらに特性の関数（function）としてレンダラー（例えば、ビュー）を自動的に選択するビュー選択コンポーネントを含むことができる。レンダラーは、ビューセット・コンポーネントのコンテンツ、または、そのサブセットを自動的に提示することを容易にすることができる。コンテンツのすべて、または、一部をディスプレイ、または、他の視覚的装置を介してユーザにレンダリングする（例えば、ディスプレイする）ことができる。
【００１３】
その別の態様では、ビューセットのコンテンツはクエリ結果を含めることができる。例えば、ビューセットは、インターネット、またはデータベースの検索結果を含めることができる。インターネット検索の場合は、ビューセットのコンテンツがハイパーリンク等の形でのクエリ結果を含むことができることを理解されたい。
【００１４】
本発明のさらに別の態様では、ビュー選択コンポーネントはルール・ベース決定メカニズムを使用できる。それに従って、自動的にルールを選択するルール・エンジン・コンポーネントを設けることができる。それに加えて、レンダラーを選択するために特性の関数（function）としてルールを適用するルール評価コンポーネントを設けることができる。ルール・エンジン・コンポーネントは、ルール評価コンポーネント、またはシステムの他のコンポーネントから離れた位置に置くことができることを理解されたい。
【００１５】
別の代替的態様では、ルール・ベース決定メカニズムの代わりに、または、それに加えて、履歴ユーザ基準の関数（function）としてユーザの意図を予測する人工知能（ＡＩ）コンポーネントを設けることができる。ＡＩコンポーネントは、特性に関してユーザの意図の関数（function）としてレンダラーの自動的選択を容易にする推論コンポーネントを含めることができる。推論コンポーネントは、自動的選択を行う際にユーティリティおよび／または統計ベース分析を使用することができる。さらに、ビュー選択コンポーネントは、アプリケーション、または他のコンポーネントの状態の関数（function）としてレンダラーを動的に選択することができる。
【００１６】
また別の態様では、システムは動作で再帰的であることができる。例えば、ビューセット・コンポーネントのコンテンツは、１または複数のサブビューセット・コンポーネントを含めることができる。アナライザ・コンポーネントは、サブビューセット・コンポーネントに従ってサブビューセット特性を判定することができる。それに従って、ビュー選択コンポーネントは、サブビューセット特性の関数（function）として動的に、また自動的にサブビューセット・レンダリングを選択し、サブビューセット・コンポーネントの少なくとも一つのサブセットをレンダリングする。
【発明を実施するための最良の形態】
【００１７】
前述および関連した目的を達成するために、下記の記述と添付の図面について、本発明の例示的態様をここで記述する。しかしながら、これらの態様は、本発明の原理を使用でき、すべてのそうした態様とその等価物を本発明が含めようと意図する様々な方法のうちのごくわずかを示すに過ぎない。図面と共に考えれば、下記の詳細な記述から、本発明の別の利点と新たな特徴が明確になるだろう。
【００１８】
図面を参照しながら本発明を記述する。そこでは、全体を通して同一の参照番号を同一のエレメントを参照するために使用している。下記の記述では、説明のために、多くの特定の詳細を示し、本発明を完全に理解できるようにした。しかしながら、特定の詳細なしでも本発明を実行できることは明らかである。また、良く知られた構造と装置をブロック図の形で示し、本発明の記述を容易にした。
【００１９】
このアプリケーションに使用したように、“コンポーネント”と“システム”というタームは、コンピュータ関連エンティティ、ハードウエア、ハードウエアとソフトウエアの組み合わせ、ソフトウエア、または、実行中のソフトウエアを指すことを意図したものである。例えば、それに制約される訳ではないが、コンポーネントは、プロセッサ上で実行中のプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラムおよび／またはコンピュータであることができる。実例として、サーバ上で実行中のアプリケーション、およびサーバの両方ともコンポーネントであることができる。実行のプロセスおよび／またはスレッド内に１または複数のコンポーネントが存在でき、コンポーネントを一つのコンピュータにローカライズしたり、および／または、２またはそれ以上のコンピュータ間に分散することもできる。
【００２０】
ここで使用したように、“推論する”、または、“推論”というタームは、一般的に、イベントおよび／またはデータを介して取得した観察のセットから、システムの状態、環境および／またはユーザについて推察、または推論するプロセスを指している。推論を使用して、特定のコンテキストまたはアクションを識別したり、または、例えば、状態の確率分布を生成したりすることができる。推論は確率論的であることができる。すなわち、データおよびイベントの考慮に基づいた関心のある状態の確率分布の計算である。また、推論は、イベントおよび／またはデータのセットから高レベルのイベントを構成するために使用される技術を指すこともある。そうした推論により、イベントが、近接した時間的な近接性おいて相互に関連があるかどうか、または、イベントとデータが１または複数のイベントおよびデータ・ソースに由来するかどうか、観察されたイベントおよび／または格納されたイベントデータのセットから新しいイベント、またはアクションを構成する。
【００２１】
本発明に従って、所望の基準（例えば、メタ・データ、ファイル・タイプ、サイズ、日付）に基づいて、ビューセット内のコンテンツ（例えば、ファイル、フォルダ、クエリ結果）のディスプレイを特殊化することができる。例として、情報の提示（presentation）は、ディスプレイされることになるアイテムのタイプおよび／または数に基づくことができる。ここに記述したシステムと方法は、ディスプレイ領域をより効率的に使用されるようにすることができることを理解されたい。本発明は、より小さく、よりコンパクトなディスプレイ・システムを使用する新しいハンドヘルド・デバイスに鑑みて、特に有用である。また、ここに開示したシステムと方法は、従来のシステムよりもより包括的な方法でコンテンツをディスプレイすることによって、ユーザがより迅速に、効率的に様々なディレクトリおよび／またはファイルのコンテンツを識別するのを支援することができる。
【００２２】
上記で論じたように、現代のデスクトップ・オペレーティング・システム環境により、ユーザは、制限された数の事前定義したビューを手動で選択ができ、その各々は異なる方法でディレクトリ・コンテンツをディスプレイする。本発明の様々な態様においては、所望の基準（例えば、メタ・データ、ファイル・タイプ、サイズ、エイジ）に基づいて、特殊化したビューセット・レンダラー（例えば、ビュー）を動的に、および／または自動的に選択することができる。換言すれば、あるファイル・タイプに適したビューセット・レンダラーを自動的に選択できるので、提示しようとするコンテンツに基づいてより特殊化され、最適化されたビューが使用できるようになる。
【００２３】
図１を参照すると、本発明に従ってデータの提示を容易にするシステム１００の態様の概略的表現を図示してある。一般的に、システム１００は、そこに（１つあるいは複数の）ビューセット・コンポーネント１０４を有するデータ格納コンポーネント１０２を含めることができる。更に、システム１００は、ビューセット・アナライザ・コンポーネント１０６およびビュー選択コンポーネント１０８を含めることができる。
【００２４】
データ格納コンポーネント１０２は、ビューセット・コンポーネント１〜Ｎを含めることができ、ここでＮは整数である。ビューセット・コンポーネント１〜Ｎは、図示したように集合的に、または個別的にビューセット・コンポーネント１０４と呼ぶことができる。ビューセット・コンポーネント１０４は、いくつもの電子アイテム、レコード、またはドキュメントのコンパイルであることができ、またそれを含むことができる。例として、ビューセット・コンポーネント１０４は、単一のドキュメント、リスト、フォルダ、ディレクトリ、クエリ結果等であることができる。更に、ビューセット・コンポーネント１０４が１または複数の電子ファイル、または、様々なファイル・タイプのドキュメント（例えば、スプレッド・シート、ワード・プロセッシング、画像、テキスト、ハイパーリンク）を含めることができることが理解されるべきである。また、ビューセット・コンポーネント１０４は、代替的にサブビューセットをその中に含めることができることを理解されたい。
【００２５】
本発明の一態様は、デスク・トップ・オペレーティング・システムのユーザ・インターフェース（ＵＩ）が、様々なビューセット１０４（例えば、ディレクトリ、リスト）のレンダラー（例えば、ビュー）によってコンテンツの提示を容易にできるシステムと方法に向けられる。前に論じたように、従来のシステムでは普通、ビューセット１０４は、アプリケーションおよび／またはユーザの好みとは無関係に、デフォルトのスキーム、または手動で選択したスキームで提示されていた。対照的に、また、様々な態様に従って、本発明のシステムおよび／または方法は、特定のデータシステムに関して、動的に、および／または自動的にカスタム（例えば、定義された、または所定のユーザ／アプリケーション）ビューセット・レンダラー（例えば、ビュー）を呼び出すことができ、これにより、コンテンツを、ユーザ・フレンドリで、包括的、および効率的に提示することができる。
【００２６】
システム１００は、更にビューセット・コンポーネント１０４から特性（例えば、メタ・データ、ファイル・タイプ、ファイル・サイズ）の判定を容易にできるビューセット・アナライザ・コンポーネント１０６を含めることができる。判定した特性は、システム１００によってカスタム・ビューセット・レンダラー（例えば、ビュー）の選択に利用されることになる。ビューセット・アナライザ・コンポーネント１０６の機能性はビュー選択コンポーネント１０８内に含まれる別の評価コンポーネントに、または意志決定コンポーネントに統合することができることを理解されたい。これらの代替的態様については後でより詳細に論じる。
【００２７】
最後に、ビュー選択コンポーネント１０８は、ビューセット・アナライザ・コンポーネント１０６の出力（例えば、特性）に従って、適切なビューセット・レンダラー、またはビュー（例えば、リスト、サムネイル、フィルム・ストリップ）を選択するように構成することができる。換言すれば、ビューセット１０４の境界とコンテンツに基づいて、ビュー選択コンポーネント１０８はレンダラー（例えば、ビュー）を自動的に選択して、ビューセット・コンポーネント１０４を包括的に提示できる。後に論じるように、ビュー選択コンポーネント１０８を、選択を利用可能な所望の基準に基づくように、構成することができる。例として、ビュー選択コンポーネント１０８を、ファイル・タイプに基づいてレンダラー（例えば、ビュー）を選択するように、構成することができる。例えば、ビューセット・コンポーネント１０４が３つのワード・プロセッシング・ドキュメントと５つの画像ファイルを含むとする。システムを予め構成するか、または、プログラムして、大多数のファイルが画像ファイルであることに基づいて、フィルム・ストリップ・ビューを自動的に選択できる。同様に、その後、３つのワード・プロセッシング・ファイルと２つの画像ファイルを残して３つの画像ファイルを削除したとすると、システムは、各ドキュメントのファイル・タイプ識別すためのタイルを図示するタイル・ビューを用いて、動的にコンテンツを提示することができる。この状況は例示的あり、本システムに従って、所望のカスタム・ビューおよび／または基準を使用することができることを理解されたい。
【００２８】
再び図１の例示的態様を参照すると、一旦ビューセット・コンポーネント１０４のコンテンツの詳細および／または特性のセットを判定したら（例えば、ビューセット・アナライザ・コンポーネント１０６を介して）、ビュー選択コンポーネント１０８を使用して、ビューセット・コンポーネント１０４内に含まれる特定のファイル・タイプに基づいて適切なレンダラーを自動的に選択、インスタンス化するように、システム１００を構成できる。例示的状況では、ビュー選択コンポーネント１０８を、ワード・プロセッシング・ドキュメントのアイコン・ビューと共に画像ファイルのサムネイル・ビューのコンビネーションを実装するように構成することができる。代替的に、ビュー選択コンポーネント１０８を、対象のビューセット・コンポーネント１０４中の大多数のファイルが画像ファイルである結果として、フィルム・ストリップ・ビューを呼び出すように自動的に構成することができる。ここでは特定の例と態様を論じるが、幾つかのオプション・ビューおよび／または決定スキームを使用することが、理解され、また、このことは、本発明の請求の範囲および機能内で考慮されることである。
【００２９】
代替的態様で、また更なる例として、ビューセット・コンポーネント１０４は、ルール・エンジンの形で意志決定メカニズムを有するように構成することができ、これにより、ルールを適用できるビュー選択コンポーネント１０８にルールを適用し、自動的に適切なビュー・コンポーネントを選択することができる。代替的態様に加えて、人工知能コンポーネントを、ビューセットのコンテンツに基づいてビューの選択を行うために、個別に、または他の評価スキームと組み合わせて用いることができる。こうした代替的態様を後で詳細に論じる。
【００３０】
更に、ここで記述したシステムと方法を再帰的に実行できることが理解されるべきである。換言すれば、ビューセット１０４は、データ格納コンポーネント１０２、またはビューセット１０４のいずれのレベルでも、動的に、および／または自動的にカスタマイズできる。従って、親リスト中にサブリスト、またはサブビューセットを含めることができ、それによって、上述でしたコンポーネント（例えば、１０６、１０８）が下位レベルでカスタマイズしたビューの自動ビュー選択を容易にすることができる。例として、ビュー選択コンポーネント１０８は、ビューセット・コンポーネント１０４の境界を参照して、適切なレンダラー（例えば、ビュー）を選択できる。ビューセットが、付加的な、またはサブビューセット（例えば、リスト、フォルダ、クエリ）を含むことを選択したレンダラーが判定した場合、ビュー選択コンポーネント１０８が、再び呼出され、これにより、適切なレンダラーが選択され、付加的なビューセットを提示することができる。本発明のレンダリング機能を適用して、ユーザ、または他のエンティティ（例えば、アプリケーション、コンポーネント、モジュール）にビューセット、またはビューセットのコンテンツを提示することができるということが意図されている。
【００３１】
別の代替的態様では、ビュー選択コンポーネント１０８は、アプリケーションのタイプおよび／または状態に関してレンダラー（例えば、ビュー）を動的に選択できるように、構成することができる。例として、ユーザがワード・プロセッシング・アプリケーションを使用しているとする。本発明は、アプリケーション、またはアプリケーション内の状態に基づいてカスタム・ビューの選択を容易にできるように構成することができる。換言すれば、ユーザがアプリケーション内でファイルを挿入、または開くことを選択した場合、システムはフィルム・ストリップ、またはドキュメント・ビューを動的に選択して、画像、またはテキスト・ファイルのそれぞれに従って、挿入／開く操作を支援することができる。この自動化された判定は、開くべきまたは挿入すべき適切なファイルの選択において、包括的にまた効率的にユーザを支援するために、ファイル・タイプに基づいて適切なビューを選択することができる。
【００３２】
適切なビューを自動的に選択することによって、ビューセットのコンテンツに鑑みていずれのビューが最も効率的かをユーザが決定する負担を軽減することができることを理解されたい。その上、動的選択によって、ユーザ・インターフェースの量が削減され、その結果、誤ったビューの選択に由来する潜在的なエラー状態、または最適ではないユーザの体験および／または実行が解消される。
【００３３】
図２を参照すると、本発明の態様に従ったフローチャートを図示してある。説明の簡略化のために、例えばフローチャートの形でここに示した１または複数の方法は、一連の行為として示し記述したが、いくつかの行為が、本発明に従って、ここで示し記述した順序とは異なる順序で、および／または他の行為と同時に発生するので、本発明は行為の順序に制約されないことを理解され、認識されるべきである。例えば、方法論（methodology）は、状態図（state diagram）といった一連の相互に関係付ける状態、またはイベントとして代替的に表すことができることが、当業者には理解され、認識されることである。更に、本発明に従った方法を実施するために、図示した行為がすべて必要なわけではない。
【００３４】
図２を参照し、２０２に進み、ビューセット（例えば、リスト、フォルダ、クエリ）を選択する。本発明に従って、ビューセットを手動、または自動的に選択できることを理解されたい。例として、ビューセットは、ユーザが手動で選択するか、またはアプリケーション、または他のシステム・コンポーネントを介して自動的に選択することができる。２０４では、ビューセットを分析して、そのコンテンツとそれらの特性を判定する。上記で論じたように、ビューセットを分析する機能は図１に示したように別個のコンポーネントに存在することが可能であり、または、代替的に別のコンポーネント（例えば、ビュー選択コンポーネント）の機能と組み合わせることができる。どちらかの場合、２０４で、ビューセットの他の特性を含めて、そのコンテンツについて決定が行われる。
【００３５】
分析されると、２０６で、実施スキーム（例えば、ルール）を適用して、適切なレンダラー（例えば、ビュー）をビューセットのコンテンツおよび／または特性に従って識別することができる。自動的に、および／または動的にビューを選択するルール・ベースの実施は、所望の基準（例えば、ファイル・タイプ、ファイル・サイズ、ハードウエア特性）に基づいて事前定義した、および／またはプログラムしたルールを使用できることを理解されたい。例として、ユーザは、所定の様々な状況に従って好ましいビューを選択するルールを確立することができる。
【００３６】
ある例示的態様では、ビューセットのコンテンツ、またはコンテンツの大多数が画像ファイルである場合、フィルム・ストリップ、または、サムネイル・ビューを実装するように、ルールを確立することができる。別の態様では、最新から最古までのドキュメントの作成日付が事前定義された閾値を越えるイベントで履歴の詳細、またはリスト・ビューを使用するようにルールを確立することができる。開示した態様に従って、“リスト”（例えば、ビューセット）がデータベース・コンポーネント内に存在できることを理解されたい。従って、本発明は、付加的な情報（例えば、豊富なメタデータ）へのアクセスを容易にし、それによって、この付加的な情報を使用して、適切なレンダラーについての動的判定および／またはリファインメントを支援することができることを意図している。例えば、ユーザが音楽ファイルをディスプレイしたいと仮定する。システムが適切なビュー（例えば、アルバム・カバーのサムネイル）を自動的に判定する。更に、システムがデータベース環境に存在できるので、選択したビューの結果として付加的な情報を自動的にリファインメントでき、および／または取得することができることを理解されたい。例示的なシナリオでは、アーチスト画像、または対象となるアーチストと一致する付加的なトラックを得ることによって、更にシステムはリファインメントすることができる。いずれの場合も、システムがクエリを介してビューをリファインメントできることが理解されるべきである。
【００３７】
識別すると、２０８で、システムはカスタム・レンダラーをインスタンス化して、ビューセットのコンテンツを提示できる。本発明に従って、所望の方法でここで論じたビューセットのコンテンツの提示を行えることが理解されるべきである。例として、ディスプレイ、またはモニタを介してコンテンツを直接ユーザに提示できる。また、コンテンツをアプリケーションにレンダリングすることができ、それによって、別の要因（例えば、ハンドヘルド表示サイズ）に従ってレンダリングされた提示を変更し（例えば、スケーリングして）、所定の仕様に適合させることができる。従って、ハンドヘルド表示装置を介してスケーリングされたビューをユーザに表示できる。
【００３８】
例を続け、図３を参照し、ビュー選択コンポーネント１０８のより詳細な概略図ビューを示す。図示したように、ビュー選択コンポーネント１０８は、一般的にルール・エンジン・コンポーネント３０２、ルール評価コンポーネント３０４、およびカスタム・ビュー格納コンポーネント３０６を含むことができる。カスタム・ビュー格納コンポーネント３０６は、ビュー１〜Ｍを含むことができ、ここでＭは整数である。ビュー１〜Ｍを個別に、または集約的にビュー３０８と呼ぶことができることを理解されたい。それに加えて、この技術で知られた任意の手法でビュー３０８を保持できることは当然である。例として、ビュー３０８はメモリ・デバイスを利用して保持することができことを理解されたい。例として、ビュー３０８は、限定されないが、ハードディスク・デバイス等に、バッファされた、キャッシュされた、格納されたものを含む、任意のメモリ・デバイスを使用して保持される。後に論じるように、オプションの人工知能コンポーネント（不図示）を、ルールを自動的に推論するために、ルール・エンジン・コンポーネント３０２と共に、または、その代わりに使用することができる。
【００３９】
図３の例示的の態様では、ルール・エンジン・コンポーネント３０２は、ユーザ定義の優先傾向に従って、プログラムしたり、または構成したりすることができる。また、ルールは、特定のハードウエア構成に従って、ソフトウエア・アプリケーションに従って、既存の親ビューに従って（サブビュー上関再帰的に呼び出されている場合）、または、現在のユーザのような他の環境パラメータに従って、ルールを確立することができる。例えば、特定のメモリ容量および／またはデバイスの表示メカニズムに従って、ルールを作成することができる。換言すれば、前に論じたように、ルールは、ハードウエア・デバイス（ディスプレイ・メカニズム）の特定の制約を考慮に入れるように、確立することができる。
【００４０】
ルール評価コンポーネント３０４は、ビューセット・アナライザ・コンポーネント１０６が判定したコンテンツと特性に従うルールの適用を容易にする。ルール評価コンポーネント３０４の出力に基づいて、ビュー選択コンポーネント１０８は、カスタム・ビュー格納コンポーネント３０６からカスタム・ビュー３０８を選択し、呼び出すことができる。カスタム・ビュー・コンポーネント３０８は、この技術で知られた、または知られるようになる所望のビューまたは配置とすることができることが理解されるべきである。例として、カスタム・ビュー・コンポーネント３０８は、限定されないが、リスト、詳細、フィルム・ストリップ、魚眼、スライド・ショー、アイコン、ウェブ・レイアウト、階層、時系列等を含む任意の方法での提示を容易にすることができる。
【００４１】
理解を容易にするために、図４に本発明の代替的態様に従った例示的な方法のフローチャートを示す。図４を参照して、４０２に進み、ディレクトリ（例えば、ビューセット）を選択する。前に論じたように、特定のビューセット、またはディレクトリの選択をユーザが手動で開始することができる。ユーザが手動でその選択を開始することにより例示的態様はシステムに向けられるが、特定のビューセットを選択する方法は、本発明の請求項に従って、実施することができることを理解されるべきである。更なる例として、ディレクトリおよび／またはビューセットは、コンピュータ・プログラム、またはアプリケーションを介して動的に、および／または自動的に選択できる。例えば、ビューセットは、インターネット検索、またはクエリの結果としてクエリ・コンポーネントによって、動的に選択することができる。
【００４２】
４０４では、ビューセット、またはディレクトリのコンテンツ（例えば、ファイル、ハイパーリンク、ユニフォーム・リソース・ロケータ（ＵＲＬ））を分析し、拡張可能なビュー選択ルールのセットに対して、適合させる。前に論じたように、図１に示したビューセット・アナライザ・コンポーネント１０６によって、この分析手順を実行することができる。ルールを対照させるために適切なソース・コードを使用することができる。例として、例示的実装形態において、限定されないが、Ｔ−ＳＱＬ，Ｃ＃ソース・コード等を含む適切なコンピュータ言語の形でルールを実装することができる。
【００４３】
４０６で、ビューセットのコンテンツ、または、他の所望の属性に基づいて、システムは適用可能なルールが存在するかどうかを判定する。４０６で、ディレクトリのコンテンツに適用可能なルールが見つからない場合、汎用、または標準的レンダラー（例えば、ビュー）を選択し、４０８でインスタンス化することができる。他方、４０６で、適用可能なルールが発見できた場合は、適用可能なルールに従って、４１０で、カスタム・レンダラー（例えば、ビュー）を選択することができる。一つ以上の適用可能なルールが見つかった場合は、ルールの特殊性に従ってルールをランク付けし、最高のランク（最も特定な）のルールを選択することができる。次に、４１２で、カスタム・レンダラー、または、ビューをインスタンス化することができる。
【００４４】
カスタム、または標準ビューをそれぞれ４１２、または、４０８でインスタンス化するかどうか、いずれの場合でも、次に、本発明の再帰的機能を４１４で適用できるかどうかをシステムが判定する。データ（例えば、ファイル・システムを閲覧する場合はサブディレクトリ）の自然サブグループ分け（natural subgroupings）が存在する場合、または、現在のカスタム・ビューワが特に再帰を表現する場合は、再帰的機能を適用することができる。例えば、写真、ドキュメント、およびビデオの収集（collection）の場合、最も当てはまるルールが“メディア・ライブラリ・ビュー”を選択でき、このメディア・ライブラリ・ビューは、タイプ（写真、等）に従ってビューセットを順にグループ化し、次にそれらのセットに再帰する。結果、サブビューとして“写真ビュー”、“ビデオ・ビュー”、および“ドキュメント・ビュー”を含む“メディア・ライブラリ・ビュー”となる。そうした再帰的ビュー構成が適用できる多くの状況が存在することを理解されたい。そうした適用性が判定されると、システムは、４１６で、それが許されるかどうかを判定する。例えば、ユーザは、サブディレクトリを拡張すべきでないことを指示することができる。提示され、要求された場合は、システムは、ディレクトリと適切なレンダラーを選択するために４０２に戻る。サブディレクトリが存在しないか、および／または要求されない場合は、システム方法は図示のように終了する。当業者には、ここで開示した実装形態が、階層的、および／またはネスト化されたビューをサポートするので、記述した方法が上に論じたように再帰的に繰り返されることを、理解されることになる。
【００４５】
カスタム・ビューが標準ビューとは完全に異なる視覚的外観を使用できるけれども、標準ビュー、または汎用ビューと同じウインドウ内部で実行でき、その逆も可能であることは、理解されたい。さらに、そのシステムは、カスタム・ビューを、特定のハードウエア、または所望基準に合致するように適合させることができる。例として、写真フィルム・ストリップ・ビューを動的に選択するようにシステムを構成することが可能であり、それにより、ターゲット・デバイスに合致するようにビューを適合させることができる。写真は、そのタイトルや他の補助的データによってよりむしろ、まずその視覚的コンテンツによって識別されるので、フィルム・ストリップ・ビューは、写真を隙間無くパックしたり、または整列させることができ、それによって、そのタイトルのディスプレイを隠すことができることを理解されたい。この整列によって、画像、または、写真の提示密度を大きくできるが、このビューはポータブル・デバイスのディスプレイ・メカニズムに適さない可能性がある。ディレクトリのコンテンツのすべて、または大多数が画像ファイルであり、ターゲット・デバイスがそうしたレンダリングされた提示をディスプレイできる場合に、例示的なルールがこのフィルム・ストリップ・ビューを起動することができる。代わりに、ルールが、代替のターゲット・デバイス（例えば、ＰＤＡ）の限定された仕様に適合する代替ビューを介してそのビューセットを動的に選択、提示するように、構成することができる。
【００４６】
図５に、本発明の代替的態様に従う例示的な、ＵＩ、レンダラー、またはビューを示す。しかし、本発明はここに示し記述した例に限るものではないことを理解すべきである。図５を参照すると、クエリ結果のページを図示してある。本発明の態様に従って、例示的なクエリ結果の表示５００を複合ビューとして図示してある。このタイプのビューを使用して、所与の検索結果に関するより詳細な情報に関して提示を強調することができる。この態様において、データの各サブグループについて、アイコン化したビューがインスタンス化されている。しかしながら、“写真”サブグループの場合、すべてのインラインのメンバーを示す特殊化された“ページ”ビュー（５０２）がインスタンス化されている。そのビュー内で、より明確に“写真”ビュー（５０３）がインスタンス化されているが、それはそのアイテムの名前、または、他の詳細を示してはいない。代替的な態様では、ウェブ・ページ結果のサムネイル画像を利用して、結果を表示できる。
【００４７】
本発明の別の態様の概略図を図６に示す。一般的に、図６は、ビューセット・コンポーネント１０４、ビューセット・アナライザ・コンポーネント１０６、およびビュー選択コンポーネント６０２を含むシステム６００を示す。特に、ビューセット・コンポーネント１０４およびビューセット・アナライザ・コンポーネント１０６は、前に図１を参照して論じたものと類似の機能を持つ。他方、この態様のビュー選択コンポーネント６０２は、人工知能（ＡＩ）エンジン・コンポーネント６０４、ＡＩ評価コンポーネント６０６、および内部にビュー・コンポーネント３０８を有するカスタム・ビュー格納コンポーネント３０６を含む。
【００４８】
この態様に従って、オプションのＡＩエンジン６０４およびＡＩ評価コンポーネント６０６は、ここで記述したように本発明の様々な態様（例えば、カスタム・ビュー−選択、ズームイン／アウト、スケーリング、配置）の自動的実行を容易にすることができる。ＡＩコンポーネント６０４、６０６は、オプションで、更に、与えられた時間と状態で行うべく意図されたアクションの推論を容易にする推論ベース・スキームを部分的に使用して、ＡＩコンポーネントの自動化の態様を強化する推論コンポーネントを含むことができる。適切な機械学習ベース技法および／または統計ベース技法および／または確率論ベース技法を介して、本発明のＡＩベースの態様を実行することができる。
【００４９】
図６に示したこの代替的態様で、本発明（例えば、カスタム・レンダラーを選択することに関して）は、その様々な態様を自動的に実行するために、状況に応じて（オプションで）様々なＡＩベース・スキームを使用できる。特に、状況に応じて（オプションで）ＡＩエンジン６０４および評価コンポーネント６０６を設けて、ＡＩプロセス（例えば、信頼、推論）に基づいた本発明の態様を実施することができる。例えば、ビューセット１０４のコンテンツに基づいて適切なレンダラー（例えば、カスタム・ビュー−コンポーネント３０８）を判定するためのプロセスを、自動的クラシファイア・システムおよびプロセスを介して容易にできる。更に、オプションのＡＩエンジン６０４および評価コンポーネント６０６を使用して、ハードウエア仕様に従って構成（configuration）の自動化プロセス（例えば、スケーリング、ズームイン／アウト）を容易にできる。
【００５０】
クラシファイアは、入力属性ベクトルｘ＝（ｘ１，ｘ２，ｘ３，ｘ４，ｘｎ）を入力があるクラスに属する信頼性にマッピングする関数、すなわち、ｆ（ｘ）＝信頼性（クラス）である。そうした分類は、確率論的、および／または統計ベース分析（例えば、ユーティリティとコストの分析に要因として取り込むこと）を用いて、ユーザが自動的に行うことを希望するアクションを予知、または、推論することができる。例えば、レンダラーを選択する場合、属性は、ファイル・タイプ、またはファイル・タイプおよび／またはビューセットのコンテンツから導出した他のデータ特有の属性であることが可能であり、クラスはカテゴリー、または、他の関心領域であることが可能である。
【００５１】
サポート・ベクター・マシン（ＳＶＭ）は、使用できるクラシファイアの例である。ＳＶＭは、可能な入力の空間で超曲面を探すことによって動作し、その超曲面は非トリガ・イベントからトリガ・イベントを分割しようと試みる。直感的に、これは、近いがトレーニング・データと同一でないデータを試験に対してその分類を修正する。他の有向および非有向モデル分類のアプローチは、例えば、ナイーブ・ベイズ、ベイジアン・ネットワーク、デシジョン・ツリーを含み、および異なる独立性のパターンを提供する確率論的分類モデルを使用することができる。ここで使用した分類は、優先順位モデルを展開するために利用する統計的回帰を含む。
【００５２】
本仕様からすぐに分かるように、本発明は、（例えば、汎用トレーニング・データを介して）明示的にトレーニングしたクラシファイア、並びに、（例えば、ユーザの挙動の観察、外部情報（extrinsic information）の受信を介して）暗黙的にトレーニングしたクラシファイアを使用できる。例えば、ＳＶＭは、クラシファイア・コンストラクタ、および特徴選択モジュール内の学習、またはトレーニング・フェーズで、構成することができる。換言すれば、エキスパート・システム、ファジー論理、サポート・ベクター・マシン、グリーディ・検索アルゴリズム、ルール・ベース・システム、ベイズ・モデル、（例えば、ベイジアン・ネットワーク）、ニューラル・ネットワーク、他の非線形トレーニング技法、データ融合、ユーティリティ・ベース分析システム、ベイズ・モデルを使用するシステム、等を使用することが考えられ、また、それは本発明の請求の範囲に入ることが意図されている。
【００５３】
ここで図７を参照すると、開示したアーキテクチャを実行するために動作可能なコンピュータのブロック図を示してある。本発明の様々な態様に関する付加的なコンテキストを提示するために、図７および次の議論は、本発明の様々な態様を実現できる適切なコンピューティング環境７００の一般的な簡略な記述を提供することを意図したものである。１または複数のコンピュータ上で実行することができるコンピュータ実行可能命令の一般的なコンテキストにおいて本発明を上述したが、当業者には、別のプログラム・モジュールと組み合わせて、および／または、ハードウエアとソフトウエアの組み合わせとして、本発明を実施できることが分かるであろう。
【００５４】
一般的に、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象的なデータ・タイプを実装するルーチン、プログラム、コンポーネント、データ構造、等を含む。更に、当業者には、その各々を１または複数の関連デバイスに動作可能に結合できるシングル・プロセッサ、またはマルチ・プロセッサ・コンピュータ・システム、ミニ・コンピュータ、メインフレーム・コンピュータ、並びに、パーソナル・コンピュータ、ハンドヘルド・コンピューティング・デバイス、マイクロ・プロセッサ・ベース、または、プログラム可能な家庭用電化製品、および類似のものを含む他のコンピュータ・システム構成を用いて、発明の方法を実践できることが分かるだろう。
【００５５】
通信ネットワークでリンクされたリモート処理装置によって一定のタスクが実践される分散コンピューティング環境でも本発明の図示した態様を実践できる。分散コンピューティング環境では、プログラム・モジュールをローカル、および遠隔メモリ・ストレージ・デバイスの両方に配置できる。
【００５６】
コンピュータには、典型的に、様々なコンピュータ可読媒体が含まれる。コンピュータ可読媒体、コンピュータがアクセスでき、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体を含む利用可能ないずれの媒体でも良い。例として、制限することなく、コンピュータ可読媒体は、コンピュータ・ストレージ媒体、および通信媒体を備えることができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラム・モジュール、またはその他のデータといった情報のストレージのために何らかの方法、または、技術で実施された揮発性および不揮発性、リムーバブル、および非リムーバブル媒体が含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ、または、他のメモリ技術、ＣＤ−ＲＯＭ、デジタル・ビデオ・ディスク（ＤＶＤ）、または、他の光学ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ、または、他の磁気ストレージ、または所望の情報を格納するために使用でき、コンピュータがアクセスできる他の媒体が含まれるが、それには限定されない。
【００５７】
通信媒体は、典型的に、コンピュータ可読命令、データ構造、プログラム・モジュール、またはその他のデータを、搬送波、または他のトランスポート機構のような変調データ信号で具体化し、情報配信媒体を含む。“変調データ信号”というタームは、情報を信号に符号化するような方法で設定または変更された１または複数の特性を有する信号を意味する。例として、限定することなく、通信媒体は、有線ネットワーク、または、直接有線接続といった有線媒体、および音声、ＲＦ、赤外線、および他の無線媒体といった無線媒体を含む。上記のいずれかの組み合わせも、コンピュータ可読媒体の範囲に含まれる。
【００５８】
再度、図７を参照すると、処理ユニット７０４、システム・メモリ７０６、およびシステム・バス７０８を含むコンピュータ７０２を含む本発明の様々な態様を実施するための例示的環境７００を図示してある。システム・バス７０８は、それに限定はしないがシステム・メモリ７０６を含むシステム・コンポーネントを処理ユニット７０４に結合する。処理ユニット７０４は、市場で入手可能な様々なプロセッサのいずれでも良い。処理ユニット７０４として、デュアル・マイクロ・プロセッサおよび他のマルチ・プロセッサ・アーキテクチャもまた使用できる。
【００５９】
システム・バス７０８は、幾つかのタイプのバス構造のいずれでも良く、更に、市場で入手可能な様々なバス・アーキテクチャのいずれかを用いてメモリ・バス（メモリ・コントローラ付き、または、なし）、周辺バス、およびローカル・バスに相互接続できる。システム・メモリ７０６は、リード・オンリ・メモリ（ＲＯＭ）７１０およびランダム・アクセス・メモリ（ＲＡＭ）７１２を含む。基本入出力システム（ＢＩＯＳ）は、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭといった不揮発性メモリ７１０に格納され、そのＢＩＯＳに基本ルーチンが含まれ、スタートアップ時などにコンピュータ７０２内のエレメント間の情報転送を支援する。ＲＡＭ７１２は、データ・キャシュ用スタティックＲＡＭといった高速ＲＡＭを含めることができる。
【００６０】
コンピュータ７０２は、更に、適切なシャーシ（不図示）での外部使用のために構成できる内部ハードディスク・ドライブ（ＨＤＤ）７１４（例えば、ＥＩＤＥ、ＳＡＴＡ）、磁気フロッピー(登録商標)・ディスク・ドライブ（ＦＤＤ）７１６、（例えば、リムーバブル・ディスケット７１８からの読み書きのため）、および光ディスク・ドライブ７２０（例えば、ＣＤ−ＲＯＭディスク７２２の読み取り、または、ＤＶＤのような他の高容量光媒体との読み書き）を含むことができる。ハードディスク・ドライブ７１４、磁気ディスク・ドライブ７１６、および光ディスク・ドライブ７２０を、それぞれハードディスク・ドライブ・インターフェース７２４、磁気ディスク・ドライブ・インターフェース７２６、および光ドライブ・インターフェース７２８によってシステム・バス７０８に接続できる。外部ドライブ実施のためのインターフェース７２４は、少なくともユニバーサル・シリアル・バス（ＵＳＢ）およびＩＥＥＥ１３９４インターフェース技術の一つか、または両方を含む。
【００６１】
ドライブとその関連したコンピュータ可読媒体により、データの不揮発性ストレージ、データ構造、コンピュータ実行可能命令などを提供する。コンピュータ７０２に対し、ドライブと媒体がデータのストレージを適切なデジタル形式に適応させる。上述のコンピュータ可読媒体の記述はＨＤＤ、リムーバブル磁気ディスケット、およびＣＤやＤＶＤといったリムーバブル光媒体に当てはまるが、当業者には当然のことながら、ジップドライブ、磁気カセット、フラッシュ・メモリ・カード、カートリッジ等のコンピュータ可読の他のタイプの媒体も、例示的なオペレーティング環境で使用してもよく、更には、そうした媒体が本発明の方法を実行するためのコンピュータ実行可能命令を含んでもよい。
【００６２】
オペレーティング・システム７３０、１または複数のアプリケーション・プログラム７３２、他のプログラム・モジュール７３４、およびプログラム・データ７３６を含めて、ドライブとＲＡＭ７１２に多数のプログラム・モジュールを格納できる。オペレーティング・システム、アプリケーション、モジュールおよび／または、データのすべて、または一部もＲＡＭ７１２にキャシュできる。当然のことながら、様々な市場で入手可能なオペレーティング・システムで、またはオペレーティング・システムの組み合わせで、本発明を実施できる。
【００６３】
ユーザは、１または複数の有線／無線入力デバイス、例えば、キーボード７３８およびマウス７４０のようなポインティング・デバイスによってコマンドと情報をコンピュータ７０２に入力できる。他の入力デバイス（不図示）には、マイクロフォン、ＩＲリモコン、ジョイスティック、ゲーム・パッド、スタイラス・ペン、タッチ・スクリーン等を含めることができる。これらおよび他の入力デバイスは、システム・バス７０８に結合された入力デバイス・インターフェース７４２経由でしばしば処理ユニット７０４に接続されるが、パラレル・ポート、ＩＥＥＥ１３９４シリアル・ポート、ゲーム・ポート、ＵＳＢポート、ＩＲインターフェースといった別のインターフェースによって接続することもできる。
【００６４】
モニタ７４４、または他のタイプの表示装置をビデオ・アダプタ７４６といったインターフェースを介してシステム・バス７０８にも接続する。モニタ７４４に加えて、コンピュータは典型的にスピーカー、プリンタといった他の周辺出力デバイス（不図示）を含む。
【００６５】
コンピュータ７０２は、有線および／または無線通信を介して、リモート・コンピュータ７４８のような１または複数のリモート・コンピュータへの論理接続を用いたネットワーク環境で動作できる。リモート・コンピュータ７４８は、ワークステーション、サーバコンピュータ、ルータ、パーソナル・コンピュータ、ポータブル・コンピュータ、マイクロ・プロセッサ・ベースのエンターテインメント機器、ピア装置、または、他の共通ネットワーク・ノードであることが可能で、典型的には、コンピュータ７０２に関して記述した多くの、または、すべてのエレメントを含むが、簡潔さのためにメモリ・ストレージ・デバイス７５０のみを図示した。図示した論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）７５２および／または大規模ネットワーク、例えば、広域ネットワーク（ＷＡＮ）７５４への有線／無線接続を含む。そうしたＬＡＮおよびＷＡＮネットワーク環境は、オフィス、会社では一般的であり、イントラネットといった企業内コンピュータ・ネットワークを容易にし、そのすべてをグローバル通信ネットワーク、例えば、インターネットに接続できる。
【００６６】
ＬＡＮネットワーク環境で使用した場合、有線および／または、無線通信ネットワークインターフェース、またはアダプタ７５６を介してコンピュータ７０２をローカル・ネットワーク７５２に接続する。アダプタ７５６は、ＬＡＮ７５２への有線、または、無線通信を容易にし、無線アダプタ７５６との通信のために配置された無線アクセスポイントも含む。ＷＡＮネットワーク環境で使用した場合、コンピュータ７０２は、モデム７５８を含めるか、または、ＷＡＮ７５４の通信サーバに接続するか、または、ＷＡＮ７５４で通信を確立するためのインターネットのような別の手段を持つことができる。内部、または外部、および有線、または無線装置とすることができるモデム７５８を、シリアル・ポート・インターフェース７４２を介してシステム・バス７０８に接続する。ネットワーク環境では、コンピュータ７０２に関して図示したプログラム・モジュール、またはその一部をリモート・メモリ／ストレージ・デバイス７５０に格納できる。当然のことながら、示したネットワーク接続は例示的であり、コンピュータ間の通信リンクを確立するための別の手段を使用できることが分かるだろう。
【００６７】
コンピュータ７０２は、無線装置、または、無線通信で動作可能に配置されたエンティティ、例えば、プリンタ、スキャナ、デスクトップおよび／またはポータブル・コンピュータ、ポータブル・データ・アシスタント、通信衛星、無線感知タグと関連した装置または場所（例えば、キオスク、ニュース・スタンド、休憩所）の一部、および電話と通信するために動作可能である。これには、少なくともＷｉ−Ｆｉおよびブルートゥース無線技術が含まれる。従って、通信は、事前定義された構造、または、単に少なくとも２つのデバイス間のアドホック通信であることができる。
【００６８】
Ｗｉ−Ｆｉ、または、無線フィデリティによって、家庭の長椅子、ホテルのベッド、または進行中の会議室からインターネットへの接続が無線で可能になる。Ｗｉ−Ｆｉは、ベース・ステーションの範囲内でどこでも、コンピュータのようなデバイスの屋内、屋外でデータの送受信を可能にする携帯電話のような無線技術である。Ｗｉ−Ｆｉネットワークは、安全で、信頼でき、高速の無線接続を提供するためにＩＥＥＥ８０２．１１（ａ，ｂ，ｇ，等）と呼ばれる無線技術を使用する。Ｗｉ−Ｆｉネットワークを使用して、コンピュータを互いに、インターネットに、そして（ＩＥＥＥ８０２．３またはイーサネット(登録商標)を使用する）有線ネットワークに接続できる。Ｗｉ−Ｆｉネットワークは、例えば、１１Ｍｂｐｓ（８０２．１１ａ）、または、５４Ｍｂｐｓ（８０２．１１ｂ）データレートで無免許２．４、および５ＧＨｚ無線帯域で、または両方の帯域（デュアル・バンド）を含む製品を用いて動作するので、ネットワークは、多くのオフィスで使用される基本１０ＢａｓｅＴ有線イーサネット(登録商標)・ネットワークに類似した現実の性能を提供できる。
【００６９】
図８を参照すると、本発明に従った例示的コンピューティング環境８００の概略のブロック図を図示してある。システム８００は、１または複数のクライアント８０２を含む。クライアント８０２は、ハードウエアおよび／またはソフトウエア（例えば、スレッド、プロセス、コンピューティング・デバイス）であることができる。クライアント８０２は、例えば、本発明を使用することによって、クッキーおよび／または関連するコンテキスト情報を収容できる。システム８００はまた、１または複数のサーバ８０４を含む。サーバ８０４は、ハードウエア、および／またはソフトウエア（例えば、スレッド、プロセス、コンピューティング・デバイス）であることができる。サーバ８０４は、例えば、本発明を使用することによって変換を行うスレッドを収容できる。クライアント８０２とサーバ８０４との間の一つの可能な通信は、２台のコンピュータ、またはそれ以上のコンピュータ・プロセス間の送信に適合させたデータ・パケットの形が可能である。データ・パケットは、例えばクッキーおよび／または関連するコンテキスト情報を含むことができる。システム８００は、クライアント８０２とサーバ８０４との間の通信を容易にするために使用できる通信フレームワーク８０６（例えば、インターネットのようなグローバル通信ネットワーク）を含む。
【００７０】
有線（光ファイバーを含む）および／または無線技術によって、通信を容易にできる。クライアント８０２は、クライアント８０２（例えば、クッキーおよび／または関連するコンテキスト情報）に対してローカルな情報を格納するために使用される１または複数のクライアント・データ格納８０８に動作可能なように接続される。同様に、サーバ８０４は、サーバ８０４に対してローカルな情報を格納するために使用できる１または複数のサーバ・データ格納８１０に動作的に接続する。
【００７１】
上記で記述したことは、本発明の例を含む。もちろん、本発明を記述するために、コンポーネント、または方法のあらゆる考えられる組み合わせを記述することはできないが、当業者には、本発明の更に多くの組み合わせと変更が可能であることが明らかであろう。同様に、本発明は、添付の請求の精神と範囲に含まれるすべての改変、変更、および変形を包含することを意図したものである。更に、“含む”というタームを詳細な記述、または請求で使用する範囲で、請求の移行的言葉として使用された場合に“備えている”が解釈されるように“備えている”というタームに類似した方法でそのタームが包含的であることを意図したものである。
【図面の簡単な説明】
【００７２】
【図１】本発明の態様に従ってデータを提示するための、システムの一般的なコンポーネントを示すブロック図である。
【図２】開示された態様に従ってビューセットを選択しビューセットのコンテンツをレンダリングする手順を示す例示的フローチャートである。
【図３】開示された態様に従って代表的なルールベース・ビュー選択コンポーネントを例示するネットワーク・アーキテクチャ図である。
【図４】代替的態様の再帰的態様を含む手順を示す例示的フローチャートである。
【図５】本発明の態様に従って焦点ビューの態様を例示する例示的ユーザ・インターフェース（ＵＩ）ビューである。
【図６】代替的態様に従って代表的な人工知能ベースのビュー選択コンポーネントを例示するネットワーク・アーキテクチャ図である。
【図７】開示されたアーキテクチャを実行するために動作可能なコンピュータを示すブロック図である。
【図８】本発明に従った例示的なコンピューティング環境を示す概略ブロック図である。
【符号の説明】
【００７３】
１０２  データ格納コンポーネント
１０６  ビューセット・アナライザ・コンポーネント
１０８  ビュー選択コンポーネント
２０２  ビューセットを選択する
２０４  ビューセットを分析する
２０６  ルールを実施する
２０８  カスタム・レンダラーをインスタンス化する
１０４  ビューセット・コンポーネント
１０６  ビューセット・アナライザ・コンポーネント
３０２  ルール・エンジン・コンポーネント
３０４  ルール評価コンポーネント
３０６  カスタム・ビュー格納コンポーネント
５００  例示的なクエリ結果表示
５０２  “ページ”ビュー
５０３  “写真”ビュー
７００  コンピューティング環境
７０２  コンピュータ
７０４  処理ユニット
７０６  システム・メモリ
７０８  バス
７１０  ＲＯＭ
７１２  ＲＡＭ
７１４  ＨＤＤ
７１６  フロッピー(登録商標)・ディスク・ドライブ
７１８  ディスク
７２０  ＣＤドライブ
７２２  ディスク
７２４  インターフェース
７２６  インターフェース
７２８  インターフェース
７３０  オペレーティング・システム
７３２  アプリケーション
７３４  モジュール
７３６  データ
７３８  キーボード
７４０  マウス
７４２  入力装置インターフェース
７４４  モニタ
７４６  ビデオ・アダプタ
７４８  リモート・コンピュータ
７５０  メモリ／ストレージ
７５２  ＬＡＮ
７５４  ＷＡＭ
７５６  ネットワーク・アダプタ
７５８  モデム
８００  コンピューティング環境
８０２  クライアント
８０４  サーバ
８０６  通信フレームワーク
８０８  クライアント・データ・ストア
８１０  サーバ・データ・ストア
【図１】
2006107509.tif 000003
【図２】
2006107509.tif 000004
【図３】
2006107509.tif 000005
【図４】
2006107509.tif 000006
【図５】
2006107509.tif 000007
【図６】
2006107509.tif 000008
【図７】
2006107509.tif 000009
【図８】
2006107509.tif 000010