JP2007509428A - ユーザにアイテムをコンテクスト表示(contextualpresentation)で提示するためのシステムおよび方法 - Google Patents

ユーザにアイテムをコンテクスト表示(contextualpresentation)で提示するためのシステムおよび方法 Download PDF

Info

Publication number
JP2007509428A
JP2007509428A JP2006536596A JP2006536596A JP2007509428A JP 2007509428 A JP2007509428 A JP 2007509428A JP 2006536596 A JP2006536596 A JP 2006536596A JP 2006536596 A JP2006536596 A JP 2006536596A JP 2007509428 A JP2007509428 A JP 2007509428A
Authority
JP
Japan
Prior art keywords
item
items
display
explorer
shell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006536596A
Other languages
English (en)
Other versions
JP4604043B2 (ja
JP2007509428A5 (ja
Inventor
ピー.マッキー ティモシー
ジョージ デ ボロッキ デービッド
ジョエル シェルドン デービッド
ジェイ.ガザック クリス
ファーガス ムーア ジェーソン
ビー.カラタル ケレム
シエラ ジアンピエロ
ジェイ.ピーターソン レオナード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2007509428A publication Critical patent/JP2007509428A/ja
Publication of JP2007509428A5 publication Critical patent/JP2007509428A5/ja
Application granted granted Critical
Publication of JP4604043B2 publication Critical patent/JP4604043B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

ユーザに複数のアイテムを、文脈的な提示手法(contextual display)で提示するためのシステムおよび方法。データ・ストアを含むコンピュータ・システムが提供される。データ・ストア内のアイテムのうちの少なくとも一部は、1つまたは複数のフィールド・エントリを含む。エクスプローラは、データ・ストアと対話し、1つまたは複数の所望するフィールド・エントリを有するアイテムを選択し、選択されたアイテムをエクスプローラ表示スキーマに従って表示する。アプリケーションは、データ・ストアからアイテムを選択することができ、またシェル・ブラウザと対話して、選択されたアイテムを提示することができる。データ・ストア内のアイテムをユーザに提示するためのエクスプローラを確立するための方法。

Description

本発明は、一般には、コンピュータ・ソフトウェアの分野に関する。より詳細には、本発明は、コンピュータ内に格納されたアイテムをユーザに表示(display)するためのシステムおよび方法に関する。
コンピュータ・ユーザに、情報を迅速に見つけ表示(display)する能力を、情報のフォーマットまたはロケーションに関係なく提供することは、コンピュータ業界が長年取り組んできた課題である。今日、この問題は、ますます多くの個人がその日常業務でコンピュータを使用し、またコンピュータ内に格納される情報のタイプが多様化し続けているので、これまで以上に注目すべき事柄になっている。
マイクロソフト・コーポレーション社のWINDOWS(登録商標)98(商標)などでは従来、こうした格納された情報は、フォルダ内に格納された情報またはメディアのファイルの状態で、階層的に系統立てられた状態で、コンピュータ上のデータ・ストア内に保持されている。データ格納のこの方法は長年広く使用されてきたが、データによってはファイル階層外に常駐しており、またユーザが所望する情報のそれぞれ(desired pieces of information)を検索するときに限られたフォーマットおよび位置に制約されるという点で、それは制限されたものである。したがって、コンピュータ・ソフトウェアの提供元は、従来のファイル階層に代わるデータ格納の課題に現在取り組んでいる。
こうしたデータ格納の代替方法の一例は、本願の権利者が所有する同時係属出願「SYSTEM AND METHODS FOR REPRESENTING UNITS OF INFORMATION MANAGEABLE BY A HARDWARE/SOFTWARE INTERFACE SYSTEM BUT INDEPENDENT OF PHYSICAL REPRESENTATION」の文献に開示されている。この同時係属出願は、2003年8月21日に出願され、記憶装置(storage)を単一のデータベースに統合するデータ・ストアを開示している。このデータベースは、すべてのデータが格納された唯一の場所であり、したがって、データベースにデータを示すやり方は1つしかなく、またデータについて照会するやり方も1つしかない。この現代のデータベース技術が旧式のファイル・システムに取って代わることによって、データ・ストアは、より容易に検索することができ、より信頼性の高い、より利用しやすい、より弾力性のあるものになる。
この統合されたデータ・ストアの環境が整うと、格納されたデータと対話するための適切なツールおよび機能(capabilities)をユーザに提供することが必要になる。マイクロソフト・コーポレーション社のWINDOWS(登録商標)2000(商標)などの従来のオペレーティング・システムは、コンピュータに関する様々な情報のビューを得るためのユーザ・インターフェースを提供するシェル・ユーティリティを含む。シェルは一般に、ユーザがファイル・システム内をナビゲートし、ファイルおよびフォルダの位置を突き止め、それを開くことを可能にするファイル・システム・ブラウザを含む。例えば、マイクロソフト・コーポレーション社のWINDOWS(登録商標)EXPLORER(商標)は、WINDOWS(登録商標)2000(商標)に含まれるファイル・システム・ブラウザのユーティリティである。
このシェルは、また、ユーザがプリンタやフォントなどの非ファイル・アイテムのビューを得られるようにもする。典型的なシェルには、こうした特殊なアイテムをそれがまるでファイル・システム内に位置するように表示(display)するための特定の機能が組み込まれているので、このナビゲーションが可能である。例えば、WINDOWS(登録商標)2000(商標)では、ユーザは、スタート・メニューの設定オプション内に位置する「プリンタ」フォルダを開くことができる。プリンタはファイルではなくハードウェアの一部なので、プリンタのこうしたグラフィカル表示(graphical representation)は、プリンタをそれがまるで「プリンタ」フォルダ内に常駐するファイルであるように表示(display)することに向けられたカスタム・コードを使用することによって、実現される。しかし、カスタム・コードおよびカスタム描画の例外の使用は、開発者にとってその実装は複雑なものであり、信頼できないものになり、またシェル・ブラウザの弾力性を減少させる可能性がある。さらに、あるタイプのデータのためのカスタム・コードおよびカスタム描画の例外の環境が整っていない場合、シェルは、そのタイプのアイテムを表示(display)することができないことになる。したがって、従来のシェルは、ユーザに特定のアイテムを表示(display)する際の機能および柔軟性の点において制限されている。
従来のシェル・ブラウザについての別の制限は、リレーショナルな態様で(in a relational manner)アイテムを表示(display)する能力が限定されることである。シェル・ブラウザは、一般に、アイテムが、各フォルダ内に格納された各ファイルで系統立てて格納されている階層的なやり方でしかアイテムの表示(display)を実施できない。例えば、ユーザがコンピュータ上に格納されたすべての画像ファイルのビューを得たいと所望する場合、ユーザはまず、すべてのこうした画像ファイルを同じフォルダ内に置かなければならない。シェルがアイテム間のリレーションシップを決定できる能力は限られているので、ユーザがリレーションシップ・ドリブンの(relationship driven)コンテクストでファイルのビューを得ることは困難である。
さらに、従来のシェル・ブラウザは、関連する情報およびタスクを、表示(display)されるアイテム・セットと対にする、文脈的に規定された環境(contextually tailored environment)内にアイテムのセットを表示(display)する能力に限りがある。開発者は、こうした対(pairings)を提供することによって、アイテムに関連付けられる共通タスクの実施を容易にしながら、アイテム間をナビゲートするのに必要な適切な情報およびツールをユーザに提供することができる。しかし、従来技術では、開発者は、カスタム・コードを使用せずにこうした体験を提供することができない。
カスタム・コードを使用することによって強化された環境内に提示(present)されるファイルの一例は、マイクロソフト・コーポレーション社のWINDOWS(登録商標)XP(商標)オペレーティング・システム内に含まれるマイ・ピクチャ・フォルダである。画像ファイルがマイ・ピクチャ・フォルダ内に格納されると、ユーザは、様々なサイズで画像のビューを得たり、それを回転したり、スライド・ショーのビューを得たり、画像を印刷したり、またはCDに画像をコピーしたりすることができる。WINDOWS(登録商標)XP(商標)内のシェルは、ユーザがこの特殊なフォルダ内に画像を格納することを選択すると、容易に画像間をナビゲートしたり、またそれらファイルに関する共有のタスクを実施したりすることができるように、カスタム・コードを使用して、こうした画像関連のタスクをフォルダの表示(display)内に組み込んできた。しかし、この環境では、マイ・ピクチャ・フォルダ内に格納されたファイルしか表示(display)されず、またこの機能性(functionality)を提供するためにカスタム・コードが使用されている。マイ・ピクチャ・フォルダは、従来のアイテムのプレゼンテーションに比べて改善されてはいるが、開発者は、カスタム・コードを使用せずにこうしたコンテンツが豊富な環境(content-rich environments)を定義するためには、未だに限られた能力しか与えられていない。
したがって、それぞれのアイテムを汎用データ・ストア内に表示(display)することができる改良されたシェルが求められており、またさらに、汎用データ・ストア内にリレーションシップ・ドリブンのコンテクストでアイテムを提示(present)するように構成された改良されたシェルが求められている。開発者がカスタム・コードを必要とせずに、適切な文脈的な情報(contextual information)および関連タスクを含むアイテムを表示(display)するカスタム環境を作成するためのシェル内の改良された機能も求められている。
本発明は、データ・ストア内に格納されたアイテムを、ユーザに文脈的な提示手法(contextual presentation)で提示するシステムを提供することによって、上記の必要性を満たし、また従来技術の1つまたは複数の欠点を克服する。本発明の一態様では、データ・ストアを含むコンピュータ・システムが提供される。データ・ストア内のアイテムのうちの少なくとも一部は、1つまたは複数のフィールド・エントリを含む。エクスプローラが含まれ、それは、データ・ストアと対話し、1つまたは複数の所望するフィールド・エントリを含むアイテムを選択し、選択されたアイテムをエクスプローラ表示スキーマに従って表示する。
本発明の別の態様は、ユーザにアイテムを文脈的な提示手法(contextual presentation)で提示するための、コンピュータによって実施される方法を含む。データ・ストア内の少なくとも1つのアイテムに関連付けられるフィールド・エントリに対応する所望のフィールド・エントリが選択される。エクスプローラ表示スキーマが定義される。この方法は、データ・ストアにアクセスして、所望するフィールド・エントリを含む1つまたは複数のアイテムを選択し、1つまたは複数の選択されたアイテムをエクスプローラ表示スキーマに従って表示する。
本発明の別の態様は、複数のアイテムを提示するためのエクスプローラを含む。エクスプローラは、所望のフィールド・エントリを選択するフィールド・エントリ選択コンポーネントを含む。アイテム選択コンポーネントは、データ・ストアにアクセスして、所望するフィールド・エントリを含む1つまたは複数のアイテムを選択し、表示提示(display presentation)コンポーネントは、選択されたアイテムをユーザに提示する。
本発明の別の態様は、ユーザにアイテムを提示するためのアプリケーション・プログラムを提供する。このプログラムは、データ・ストアにアクセスし、所望するフィールド・エントリを含むアイテムを選択するように構成されたアイテム選択モジュールを含む。このプログラムは、シェル・ブラウザと対話して、選択されたアイテムをエクスプローラ表示スキーマに従って提示するように構成されたシェル対話コンポーネントをも含む。
本発明の別の態様は、アイテムを文脈的な提示手法(contextual presentation)で提示するためのエクスプローラを確立するための、コンピュータによって実施される方法である。この方法は、データ・ストア内の少なくとも1つのアイテムに関連付けられたフィールド・エントリに対応する所望するフィールド・エントリを選択することを含む。エクスプローラ属性が定義され、また所望のフィールド・エントリに関連付けられた1つまたは複数のアイテムが、エクスプローラ属性を含む表示スキーマを用いてユーザに提示される。
本発明について、添付の図面を参照して以下に詳しく述べる。
I.序論
本発明の主題について、法的要件を満たすように特定する形で(with specificity)説明する。しかし、その説明自体は、本特許の範囲を限定するためのものでない。むしろ、他の現在または将来の技術に関連して、特許請求の範囲に記載された主題を、本ドキュメントに記載されるものに類似のステップまたはステップの組合せを含むようなやり方でも実施することが可能であることが企図されている。さらに、用語「ステップ」は使用される方法の様々な要素を意味するためにここでは用いられているが、個々のステップの順序について明示的に説明されている場合を除いては、この用語は、本明細書で開示される様々なステップ間の特定の順序を示唆するものと解釈されるべきでない。
本発明は、コンピュータ上に格納されたアイテムをユーザに表示するための改良されたシステムおよび方法を提供する。本発明のための例示的なオペレーティング環境について以下に説明する。
A.例示的なオペレーティング環境
本発明の多数の実施形態は、コンピュータ上で実行されることができる。図1および以下の議論は、本発明を実装することが可能な適切なコンピューティング環境についての簡潔で一般的な説明を提供するためのものである。必須ではないが、本発明の様々な態様について、クライアント・ワークステーションやサーバなどのコンピュータによって実行される、プログラム・モジュールなどのコンピュータ実行可能命令の一般的なコンテクストで説明することができる。一般にプログラム・モジュールは、特定のタスクを実施し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造体などを含む。さらに、本発明は、ハンドヘルド装置、マルチ・プロセッサ・システム、マイクロ・プロセッサ・ベースまたはプログラマブルな家電製品、ネットワークPC、ミニ・コンピュータ、メインフレーム・コンピュータなどを含めて、他のコンピュータ・システム構成で実施することができる。本発明は、通信ネットワークを介してリンクされたリモート装置によってタスクが実行される分散型コンピューティング環境でも実施することができる。分散型コンピューティング環境では、プログラム・モジュールは、ローカルとリモートの両方のメモリ記憶装置内に置くことができる。
図1に示すように、例示的な汎用コンピューティング・システムは、処理装置21、システム・メモリ22、およびシステム・メモリを含めて様々なシステム構成要素を処理装置21に結合するシステム・バス23を含む。システム・バス23は、メモリ・バスまたはメモリ・コントローラ、周辺バス、および様々なバス・アーキテクチャのいずれかを使用するローカル・バスを含めて、いくつかのタイプのバス構造のうちのいずれかであることができる。システム・メモリは、読出し専用メモリ(ROM:read only memory)24およびランダム・アクセス・メモリ(RAM:random access memory)25を含む。起動時などにパーソナル・コンピュータ20内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システム(BIOS:basic input/output system)26は一般に、ROM24内に格納される。パーソナル・コンピュータ20はさらに、ハードウェア・ディスク(図示せず)から読み出しまたそこに書き込むためのハードディスク・ドライブ27、取出し可能な磁気ディスク29から読み出しまたはそこに書き込むための磁気ディスク・ドライブ28、およびCD−ROMや他の光媒体などの取出し可能な光ディスク31から読み出しまたはそこに書き込むための光ディスク・ドライブ30を含む。ハードディスク・ドライブ27、磁気ディスク・ドライブ28および光ディスク・ドライブ30は、ハードディスク・ドライブ・インターフェース32、磁気ディスク・ドライブ・インターフェース33および光ディスク・ドライブ・インターフェース34によってそれぞれシステム・バス23に接続される。ドライブおよびその関連のコンピュータ読取り可能媒体は、コンピュータ読取り可能命令、データ構造体、プログラム・モジュール、またはパーソナル・コンピュータ20の他のデータのための不揮発性の記憶を実現する。本明細書に示される例示的な環境では、ハードディスク、取出し可能磁気ディスク29および取出し可能光ディスク31が使用されているが、磁気カセット、フラッシュ・メモリ・カード、デジタル・ビデオ・ディスク、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)など、コンピュータによってアクセス可能なデータを格納することができる他のタイプのコンピュータ読取り可能媒体も例示的なオペレーティング・システム環境内で使用されことが可能であることが当業者には理解されたい。同様に、例示的な環境は、ヒート・センサ、およびセキュリティまたは火災の警報システムなどの多くのタイプの監視装置、ならびに他の情報ソースをも含むことができる。
オペレーティング・システム35、1つまたは複数のアプリケーション・プログラム36、他のプログラム・モジュール37およびプログラム・データ38を含めて複数のプログラム・モジュールは、ハードディスク、磁気ディスク29、光ディスク31、ROM24またはRAM25内に格納されることが可能である。ユーザは、キーボード40およびポインティング装置42などの入力装置を介してパーソナル・コンピュータ内20にコマンドおよび情報を入力することができる。他の入力装置(図示せず)には、マイク、ジョイスティック、ゲーム・パッド、パラボラ・アンテナ、スキャナなどを含むことができる。これらのおよび他の入力装置はしばしば、システム・バスに結合されたシリアル・ポート・インターフェース46を介して処理装置21に接続されるが、パラレル・ポート、ゲーム・ポートまたはユニバーサル・シリアル・バス(USB:universal serial bus)など、他のインターフェースによっても接続することができる。モニタ47または他のタイプの表示装置もまた、ビデオ・アダプタ48などのインターフェースを介してシステム・バス23に接続される。モニタ47に加え、パーソナル・コンピュータは一般に、スピーカおよびプリンタなどの他の周辺出力装置(図示せず)を含む。図1の例示的なシステムは、ホスト・アダプタ55、小型コンピュータ・システム・インターフェース(SCSI:Small Computer System Interface)バス56、およびSCSIバス56に接続された外部記憶装置62をも含む。
パーソナル・コンピュータ20は、リモート・コンピュータ49などの1つまたは複数のリモート・コンピュータへの論理接続を使用して、ネットワーク化された環境内で動作することができる。リモート・コンピュータ49は、別のパーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア・デバイスまたは他の一般的なネットワーク・ノードとすることができ、また図1にはメモリ記憶装置50だけが示されているが、パーソナル・コンピュータ20に関して上記で述べた要素の多くまたはすべてを一般に含む。図1に示す論理接続は、ローカル・エリア・ネットワーク(LAN:local area network)51および広域ネットワーク(WAN:wide area network)52を含む。こうしたネットワーキング環境は、オフィス、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットでは一般的なものである。
LANネットワーキング環境で使用される場合、パーソナル・コンピュータ20は、ネットワーク・インターフェースまたはアダプタ53を介してLAN51に接続される。WANネットワーキング環境で使用される場合、パーソナル・コンピュータ20は一般に、モデム54、またはインターネットなどの広域ネットワーク52を介して通信を確立する他の手段を含む。内部にあることも、外部にあることもあるモデム54は、シリアル・ポート・インターフェース46を介してシステム・バス23に接続されることができる。ネットワーク化された環境では、パーソナル・コンピュータ20に関して示したプログラム・モジュールまたはその一部は、リモート・メモリ記憶装置内に格納されることができる。図示するネットワーク接続は例示的なものであり、コンピュータ間で通信接続を確立する他の手段が使用されることができることが理解されよう。
図2Aのブロック図に示すように、コンピュータ・システム200は、概して3つの構成要素グループ、すなわちハードウェア構成要素202、ハードウェア/ソフトウェア・インターフェース・システム構成要素204、およびアプリケーション・プログラム構成要素206(本明細書の一部文脈では「ユーザ・コンポーネント」または「ソフトウェア・コンポーネント」とも称される)に分割されることができる。
コンピュータ・システム200の様々な実施形態において、また図1に戻って参照すると、ハードウェア構成要素202は、主なものを挙げると、中央処理装置(CPU:central processing unit)21、メモリ(ROM24とRAM25の両方)、基本入出力システム(BIOS)26、ならびにキーボード40、マウス42、モニタ47および/またはプリンタ(図示せず)などの様々な入出力装置(I/O:input/output)装置を含むことができる。ハードウェア構成要素202は、コンピュータ・システム200のための基本の物理的基盤を含む。
アプリケーション・プログラム構成要素206は、それだけに限らないが、コンパイラ、データベース・システム、ワード・プロセッサ、ビジネス・プログラム、ビデオ・ゲームなどを含めて、様々なソフトウェア・プログラムを含む。アプリケーション・プログラムは、問題解決のためにコンピュータ・リソースが使用される手段を提供し、解決策を提供し、また様々なユーザ(マシン、他のコンピュータ・システムおよび/またはエンド・ユーザなど)のためのデータを処理する。
ハードウェア/ソフトウェア・インターフェース・システム構成要素204は、ほとんどの場合においてそれ自体がシェルおよびカーネルを含むオペレーティング・システムを含む(また実施形態によっては、単にそれだけで構成される)。「オペレーティング・システム」(OS:operating system)は、アプリケーション・プログラムとコンピュータ・ハードウェアの間の仲介の働きをする特殊なプログラムである。ハードウェア/ソフトウェア・インターフェース・システム構成要素204は、コンピュータ・システム内のオペレーティング・システムの代わりにまたはそれに加えて、仮想マシン・マネージャ(VMM:virtual machine manager)、共通言語ランタイム(CRL:Common Language Runtime)またはその機能的等価物、Java(登録商標)仮想マシン(JVM:Java(登録商標)Virtual Machine)またはその機能的等価物、あるいは他のこうしたソフトウェア・コンポーネントをも含むことができる。ハードウェア/ソフトウェア・インターフェース・システムの目的は、ユーザがアプリケーション・プログラムを実行することができる環境を提供することである。任意のハードウェア/ソフトウェア・インターフェース・システムの目標は、コンピュータ・システムを利便性の高いものにし、またコンピュータ・ハードウェアを効率的に使用することである。
ハードウェア/ソフトウェア・インターフェース・システムは一般に、起動時にコンピュータ・システム内にロードされ、その後はコンピュータ・システム内のすべてのアプリケーション・プログラムを管理する。アプリケーション・プログラムは、アプリケーション・プログラム・インターフェース(API:application program interface)を介してサービスを要求することによってハードウェア/ソフトウェア・インターフェース・システムと対話する。アプリケーション・プログラムによっては、エンド・ユーザがコマンド言語またはグラフィカル・ユーザ・インターフェース(GUI:graphical user interface)などのユーザ・インターフェースを介してハードウェア/ソフトウェア・インターフェース・システムと対話することを可能にする。
ハードウェア/ソフトウェア・インターフェース・システムは、伝統的に、アプリケーションのための様々なサービスを実施する。複数のプログラムを同時に実行することが可能なマルチタスクのハードウェア/ソフトウェア・インターフェース・システムでは、ハードウェア/ソフトウェア・インターフェース・システムは、どのアプリケーションをどんな順序で実行すべきか、また順番のため別のアプリケーションに切り換える前に各アプリケーションについてどれくらいの時間を見込んでおくべきかを決定する。またハードウェア/ソフトウェア・インターフェース・システムは、複数のアプリケーション間の内部メモリの共有を管理し、ハードディスク、プリンタおよびダイアルアップ・ポートなどの接続されたハードウェア装置への入力およびそこからの出力を処理する。またハードウェア/ソフトウェア・インターフェース・システムは、操作の状況、および発生したかもしれないいずれかのエラーに関して、それぞれのアプリケーションに(また特定の場合にはエンド・ユーザに)メッセージを送信する。ハードウェア/ソフトウェア・インターフェース・システムは、開始側アプリケーションがバッチ・ジョブ(印刷など)の管理から解放され、他の処理および/または操作を再開できるようにバッチ・ジョブ管理の負荷を軽減することもできる。並列処理を提供することが可能なコンピュータでは、ハードウェア/ソフトウェア・インターフェース・システムは、同時に複数のプロセッサを実行できるようにプログラムの分割をも管理する。
ハードウェア/ソフトウェア・インターフェース・システム・シェル(本明細書では簡潔に「シェル」と称される)は、ハードウェア/ソフトウェア・インターフェース・システムとのインタラクティブなエンド・ユーザ・インターフェースである(シェルは、「コマンド・インタプリタ」と称され、またはオペレーティング・システムでは「オペレーティング・システム・シェル」とも称されこともある)。シェルは、アプリケーション・プログラムおよび/またはエンド・ユーザから直接にアクセスすることがきるハードウェア/ソフトウェア・インターフェース・システムの外部層である。「シェル・ブラウザ」は、ユーザがハードウェア/ソフトウェア・インターフェースのビューを得て、それと対話できるようにするユーザ・インターフェースを提供する。シェルとは異なりカーネルは、ハードウェア構成要素と直接に対話するハードウェア/ソフトウェア・インターフェース・システムの最も内側の層である。
本発明の多くの実施形態がコンピュータ化されたシステムに特によく適していると考えられるが、本文書中の記載には、本発明をこうした実施形態に制限するように意図したものはない。本明細書では、用語「コンピュータ・システム」は、情報を格納し処理することができ、かつ/または格納された情報を使用して装置自体の振舞いまたは実行を制御することができるあらゆる装置を、その装置が電子的、機械的、論理的または仮想的な性質のものであるかどうかに関係なく、包含することを表している。
B.従来のファイル・ベースの格納
今日のほとんどのコンピュータ・システムにおいて、「ファイル」は、ハードウェア/ソフトウェア・インターフェース・システム、ならびにアプリケーション・プログラム、データセットなどを含みことができる格納可能な情報の単位である。現代のすべてのハードウェア/ソフトウェア・インターフェース・システム(Windows(登録商標)、Unix(登録商標)、Linux、Mac OS、仮想マシンシステムなど)では、ファイルは、ハードウェア/ソフトウェア・インターフェース・システムによって操作されことが可能な基本的な個々の(格納可能であり、また取出し可能な)情報(データ、プログラムなど)の単位である。ファイルのグループは一般に、「フォルダ」内に編成される。Microsoft Windows(登録商標)、Macintosh OSおよび他のハードウェア/ソフトウェア・インターフェース・システムでは、フォルダは、情報の単一の単位として取り出され、移動され、また他の方法で操作することができるファイルの集まりである。こうしたフォルダはさらには、「ディレクトリ」(本明細書で以下により詳しく論じる)と呼ばれるツリー・ベースの階層的構成に編成される。DOS、z/OSおよびUnix(登録商標)ベースのほとんどのオペレーティング・システムなど、他の特定のハードウェア/ソフトウェア・インターフェース・システムでは、用語「ディレクトリ」および/または「フォルダ」は互いに置き換え可能であり、また初期のAppleコンピュータ・システム(Apple IIeなど)は、ディレクトリではなく用語「カタログ」を使用していた。しかし、本明細書では、これらのすべての用語は、同義であり、互いに置き換え可能であると見なして使用しており、また階層的な情報格納構造およびそのフォルダおよびファイルコンポーネントについての同義語およびそれに対する言及を、さらに含むことを意図している。
ディレクトリ(別名フォルダ・ディレクトリ)は、従来、ツリー・ベースの階層構造であり、そこでは、ファイルがフォルダに分類され、フォルダは、さらに、ディレクトリ・ツリーを含む相対ノード位置に従って配置される。例えば、図2Bに示すように、DOSベースのファイル・システムのベース・フォルダ(すなわち「ルート・ディレクトリ」)212は、複数のフォルダ214を含むことができ、このフォルダのそれぞれは、(その特定のフォルダの「サブ・フォルダ」として)追加のフォルダ216をさらに含むことができ、またそのそれぞれは追加のフォルダ218を含むことができ、以下無限に続く。これらのフォルダはそれぞれ、1つまたは複数のファイル220を含むことが可能であるが、ハードウェア/ソフトウェア・インターフェース・システムのレベルでは、フォルダ内の個々のファイルには、そのツリー階層上のそれらのロケーション以外の共通点はない。当然ながら、ファイルをフォルダ階層に編成するこの手法には、これらのファイルを格納するために使用される典型的な記憶媒体(例えば、ハードディスク、フロッピー(登録商標)ディスク、CD−ROMなど)の物理編成(physical organization)が間接的に反映されている。
上記内容に加えて、それぞれのフォルダは、そのサブ・フォルダおよびファイルの入れ物(container)であり、すなわちそれぞれのフォルダがサブ・フォルダおよびファイルを所有する。例えば、フォルダがハードウェア/ソフトウェア・インターフェース・システムによって削除される場合、そのフォルダのサブ・フォルダおよびファイルもまた削除される(各サブ・フォルダの場合には、それはさらにそれ自体のサブ・フォルダおよびファイルを再帰的に含む)。同様に、それぞれファイルは一般に、1つのフォルダだけによって所有され、またファイルはコピーされることができ、そのコピーが別のフォルダに置かれるが、ファイルのコピー自体は、オリジナル・ファイルとの直接的なつながりをもたない別個の独立した単位である(例えば、ハードウェア/ソフトウェア・インターフェース・システムのレベルでは、オリジナル・ファイルに対する変更がコピー・ファイル内に反映されない)。この点に関して、フォルダが物理的な入れ物のように扱われ、ファイルがその入れ物内の個々の独立した物理要素として扱われるので、ファイルおよびフォルダは、したがって、特性的には、事実上「物理的」なものである。
II.汎用データ・ストア
本発明によって使用されるストレージ・プラットフォームは、上記で論じた既存のファイル・システムの類を超えて、データプラットフォームを拡張し拡大し、またすべてのタイプのデータを格納するように設計される。すべてのタイプのデータを格納するように設計されたデータ・ストアは、汎用データ・ストアと称することができる。本発明の使用に適した汎用データ・ストアの一例は、2003年8月21日に出願された、本願の権利者が所有する同時係属出願「SYSTEM AND METHODS FOR REPRESENTING UNITS OF INFORMATION MANAGEABLE BY A HARDWARE/SOFTWARE INTERFACE SYSTEM BUT INDEPENDENT OF PHYSICAL REPRESENTATION」の文献に記載されている。この文献は、本明細書に参照により組み込まれている。
A.ストレージ・プラットフォームの概要
図3を参照すると、本発明によるストレージ・プラットフォーム300は、データベース・エンジン314上で実装された汎用データ・ストア302を含んでいる。ある実施形態では、データベース・エンジン314は、オブジェクト関係拡張機能(object relational extensions)を備えたリレーショナル・データベース・エンジンを含む。ある実施形態では、リレーショナル・データベース・エンジン314は、Microsoft SQLサーバ・リレーショナル・データベース・エンジンを含む。
汎用データ・ストア302は、データの編成、検索、共有、同期およびセキュリティをサポートするデータ・モデル304を実装する。特定のタイプのデータがスキーマ340などのスキーマに記述され、また以下でより十分に述べるように、ストレージ・プラットフォーム300は、そのスキーマの展開および拡張のためのツール346を提供する。
汎用データ・ストア302内に実装された変更トラッキング機構306は、データ・ストアに対する変更をトラッキングする能力を提供する。汎用データ・ストア302は、セキュリティ機能308およびpromotion/demotion機能310をも提供する。汎用データ・ストア302は、また、ストレージ・プラットフォームの他のコンポーネントおよび、ストレージ・プラットフォームを使用するアプリケーション・プログラム(アプリケーション・プログラム350A、350Bおよび350Cなど)に汎用データ・ストア302の機能を公開するための1組のアプリケーション・プログラミング・インターフェース312を提供する。
本発明のストレージ・プラットフォームはさらに、アプリケーション・プログラム350A、350Bおよび350Cなどのアプリケーション・プログラムが、ストレージ・プラットフォームのすべての上記機能にアクセスし、またスキーマに記述されたデータにアクセスできるようにするアプリケーション・プログラミング・インターフェース(API)322を含む。ストレージ・プラットフォームAPI322は、アプリケーション・プログラムによって、OLE DB API324およびMicrosoft Windows(登録商標)Win32 API326などの他のAPIと組み合わせて、使用されることができる。
本発明のストレージ・プラットフォーム300は、ユーザまたはシステム間のデータ共有を容易にする同期サービス330を含めて、アプリケーション・プログラムに様々なサービス328を提供することができる。例えば同期サービス330は、データ・ストア302と同じフォーマットを有する他のデータ・ストア340との相互運用、および他のフォーマットを有するデータ・ストア342へのアクセスを可能にすることができる。ストレージ・プラットフォーム300は、汎用データ・ストア302がWindows(登録商標)NTFSファイル・システム318などの既存のファイル・システムと相互運用できるようにするファイル・システム機能をも提供する。
少なくとも一部の実施形態では、ストレージ・プラットフォーム320は、データが操作を受けることを可能にし、また他のシステムとの対話を可能にするための追加の機能をアプリケーション・プログラムに提供することもできる。こうした機能は、Infoエージェント・サービス334および通知サービス332などの、追加のサービス328の形で、また他のユーティリティ336の形で実装されることができる。
少なくとも一部の実施形態では、ストレージ・プラットフォームは、コンピュータ・システムのハードウェア/ソフトウェア・インターフェース・システム内に実装され、またはその不可欠な部分を形成する。限定せずに、例を挙げると、本発明のストレージ・プラットフォームは、オペレーティング・システム、仮想マシン・マネージャ(VMM)、共通言語ランタイム(CLR)またはその機能的等価物、あるいはJava(登録商標)仮想マシン(JMV)またはその機能的等価物に実装され、またはその不可欠な部分を形成することができる。
本発明のストレージ・プラットフォームは、その共通のストレージ基盤および体系化されたデータによって、消費者、知識労働者および事業体向けのより効率的なアプリケーション開発を可能にする。それは、そのデータ・モデルに固有の機能を使用可能にするだけでなく、既存のファイル・システムおよびデータベース・アクセス方法を受け入れ拡張する、豊富で拡張可能なプログラミング表面積を提供する。
B.データ・モデル
本発明のストレージ・プラットフォーム300の汎用データ・ストア302は、ストア内に常駐するデータの編成(organization)、検索、共有、同期およびセキュリティをサポートするデータ・モデルを実装する。本発明のデータ・モデルでは、格納情報の基本の単位は、アイテムとして参照することができる。データ・モデルは、アイテムおよびアイテム拡張を宣言し、アイテム間のリレーションシップを確立し、フォルダおよびカテゴリ内にアイテムを編成するための機構を提供する。
本発明の一実施形態では、データ・モデルは、2つのプリミティブな機構、タイプ(type)およびリレーションシップに依存する。タイプは、そのタイプのインスタンスのタイプを決定するフォーマットを提供する構造である。フォーマットは、順序付けられた1組のプロパティとして表現される。プロパティは、値の名前または所与のタイプの1組の値である、例えばUSPostalAddress型は、通り、市、郵便番号、州というプロパティを有することができる。プロパティは、必須のことも、任意選択であることもある。
リレーションシップは、宣言することが可能であり、また2つのタイプのインスタンスのセット間のマッピングを表す。例えば、どの人がどの場所に住んでいるかを定義するLivesAtと呼ばれる、PersonタイプとLocationタイプの間で宣言されるリレーションシップがある。リレーションシップは、名前、2つのエンド・ポイントすなわちソース・エンド・ポイントおよびターゲット・エンド・ポイントを含む。リレーションシップは、順序付けられた1組のプロパティをも含むことができる。ソースとターゲットの両方のエンド・ポイントが、名前およびタイプを有する。例えばLivesAtリレーションシップは、PersonタイプのOccupantと呼ばれるソース、およびLocationタイプのDwellingと呼ばれるターゲットを含み、さらにその居住者がその住居で暮らした期間を示すStartDateおよびEndDateプロパティを含む。ある人物は、ある期間複数の住居で暮らすことがあり、また住居は複数の住居者をもつことがあり、したがって、StartDateおよびEndDate情報が置かれる可能性が最も高い場所は、リレーションシップ自体である、ことに留意されたい。
リレーションシップは、エンド・ポイントのタイプとして与えられるタイプによって制約されるインスタンス間のマッピングを定義する。例えば、LivesAtリレーションシップは、Automobile(車)はPerson(人)ではないので、Automobile(車)がOccupant(居住者)であるというリレーションシップはあり得ない。
1.アイテム
上述したように、本発明による汎用データ・ストア内の格納情報の基本単位は、アイテムとして参照することができる。アイテムは、格納可能な情報の単位であり、単純なファイルとは異なり、エンド・ユーザまたはアプリケーション・プログラムに公開されるすべてのオブジェクトにわたってストレージ・プラットフォームが共通にサポートする1組の基本のプロパティを含むオブジェクトである。データ・ストア内の各アイテムが、それに対して一定であるデータ・スキーマに従って格納されたこうした基本プロパティを示すデータを含んでいるという理由などから、汎用データ・ストアの一般性(universality)が実現されることを当業者には理解されたい。
汎用データ・スキーマは、アイテムおよびプロパティを作成し編成するための概念的フレームワークを確立する普遍的な基礎を提供する。汎用データ・スキーマは、アイテムおよびプロパティの特定の特殊なタイプを定義し、その特殊な基礎となるタイプの特徴を定義し、この基礎となるタイプからサブタイプをさらに派生させることができる。この汎用データ・スキーマを使用することによって、プログラマは、アイテム(およびそのそれぞれのタイプ)をプロパティ(およびそのそれぞれのタイプ)と概念的に区別することができる。さらに、汎用データ・スキーマは、すべてのアイテムが有することができる1組の基礎となるプロパティを示し、またすべてのアイテム(およびその対応するアイテムのタイプ)が汎用データ・スキーマ内のこの基礎となるアイテム(およびその対応するアイテムのタイプ)から派生する。汎用データ・スキーマに従って各アイテムを格納することによって、シェル・ブラウザは、データ・ストア内の各アイテムを、その基本のプロパティと併せて解釈し、ユーザに提示することができる。本発明の使用に適した汎用データ・ストアの一例は、2003年8月21日に出願された、本願の権利者が所有する同時係属出願「SYSTEM AND METHODS FOR REPRESENTING UNITS OF INFORMATION MANAGEABLE BY A HARDWARE/SOFTWARE INTERFACE SYSTEM BUT INDEPENDENT OF PHYSICAL REPRESENTATIONに記載されている。この文献は、本明細書に参照により組み込まれている。
アイテムは、新しいプロパティおよびリレーションシップを取り入れることを可能にする特徴(features)を含めて、すべてのアイテムのタイプにわたって共通にサポートされるプロパティおよびリレーションシップを有する。このプロパティおよびリレーションシップのデータは、アイテムに関連付けられたメタデータとして参照することができることが当業者には理解されよう。後述するように、このメタデータは、アイテム装飾スキーマ(item decoration schema)に従って格納することができる。このアイテム装飾スキーマは、アイテムをユーザに提示するのに適切なやり方を指示することができる。
アイテムは、コピー、削除、移動、開く、印刷、バックアップ、復元、複製などの共通操作のためのオブジェクトである。アイテムは、格納したり取り出したりすることができる単位であり、またストレージ・プラットフォームによって操作されるすべての形の格納可能情報は、それぞれについて本明細書で以下により詳しく論じるアイテム、アイテムのプロパティ、またはアイテム間のリレーションシップとして存在する。
アイテムは、連絡先、人、サービス、場所(location)、(すべての様々な種類の)ドキュメントなど、実世界の、容易に理解できるデータ単位を示すよう意図されている。
アイテムは独立型のオブジェクト(stand-alone objects)であり、したがって、アイテムが削除されると、そのアイテムのすべてのプロパティも同様に削除される。同様に、アイテムを取り出すと、取り出されたものは、アイテムおよびそのアイテムのメタデータ内に含まれるそのすべてのプロパティである。本発明の特定の実施形態では、特定のアイテムを取り出すときにプロパティのサブセットを要求することが可能であるが、こうした多くの実施形態の初期設定では、取り出される際に、その直接の、および継承されたプロパティ(immediate and inherited properties)の全てを備えたアイテムを提供する。さらに、アイテムのプロパティは、そのアイテムのタイプの既存のプロパティに新しいプロパティを追加することによって拡張することができる。以下ではこうした「拡張」は、アイテムの真正のプロパティ(bona fide properties)であり、そのアイテムのタイプのサブタイプは、拡張プロパティを自動的に含むことができる。その拡張は、ファイルに関連付けられたメタデータとして参照される。
2.アイテム・フォルダおよびカタログ
アイテムのグループは、(ファイル・フォルダと混同されるべきでない)アイテム・フォルダと呼ばれる特殊なアイテムに編成することができる。ほどんどのファイル・システムの場合と異なるが、アイテムは、複数のアイテム・フォルダに属すことができ、この結果、あるアイテム・フォルダ内でアイテムがアクセスされ変更された場合に、この変更されたアイテムが別のアイテム・フォルダから直接にアクセスすることができるようになる。要するに、それぞれ異なるアイテム・フォルダからアイテムへのアクセスが有ったとしても、実際にアクセスされているアイテムは、実際には、まさに同じアイテムである。しかし、アイテム・フォルダは、そのメンバ・アイテムのすべてを必ずしも所有しておらず、また、他のフォルダとともにアイテムを単に共同で所有するだけであり、その結果、アイテム・フォルダの削除によってそのアイテムが必ずしも削除されない。
アイテムは、アイテム・プロパティに対応する(a)アイテムのタイプ(あるいはタイプ)、(b)特定の直接的なまたは継承されたプロパティ(あるいはプロパティ)、あるいは(c)特定の値など、記述された共通の特性(characteristic)に基づくカテゴリに属することもできる。例えば、個人連絡先情報についての特定のプロパティを含むアイテムは、連絡先カテゴリに自動的に属し、連絡先情報プロパティを有するいずれのアイテムも同様に、このカテゴリに自動的に属すことになる。同様に、「New York City」の値を備えたロケーション・プロパティを有するいずれのアイテムも、NewYorkCityカテゴリに自動的に属すことになる。
カテゴリは、アイテム・フォルダとは概念的に異なる(すなわち記述された共通の特性をもたない)アイテムを含むことができるが、カテゴリ内の各アイテムはカテゴリについて記述された共通のタイプ、プロパティまたは値(共通性)を有し、またこの共通性がカテゴリ内の他のアイテムとのリレーションシップ、およびその間のリレーションシップの基礎を形成するという点で、アイテム・フォルダとは概念的に異なっている。さらに、アイテムの特定のフォルダへの帰属はアイテムのいずれかの特定の諸相(aspect)に基づくことが必須ではないが、特定の実施形態では、ハードウェア/ソフトウェア・システムのレベルで、カテゴリに断定的に関連する共通性を有するすべてのアイテムがそのカテゴリのメンバになる。概念的にカテゴリは、帰属が特定のクエリ(データベースのコンテクストなど)の結果に基づいている仮想アイテム・フォルダと見なすこともでき、したがって、(カテゴリの共通性によって定義される)このクエリの条件を満たすアイテムは、カテゴリへの帰属を含む。
図4に、本発明の様々な実施形態におけるアイテム、アイテム・フォルダおよびカテゴリ間の構造的リレーションシップを示す。複数のアイテム402、404、406、408、410、412、414、416、418および420は、様々なアイテム・フォルダ422、424、426、428および430のメンバである。アイテムによっては、複数のアイテム・フォルダに属することがあり、例えばアイテム402は、アイテム・フォルダ422および424に属する。一部のアイテム、例えばアイテム402、404、406、408、410および412は1つまたは複数のカテゴリ432、434および436のカテゴリのメンバでもあるが、一方、他のアイテム、例えばアイテム414、416、418、および420はカテゴリに属さないことがある(しかし、いずれかのプロパティを所有していることがカテゴリ内のメンバーシップであることを含意する特定の実施形態では、そうである可能性は非常に低く、したがってこうした実施形態では、アイテムは、いずれのカテゴリにも属さないためには、まったく特徴(feature)のないものでなければならない)。フォルダの階層的構造とは異なり、カテゴリとアイテム・フォルダの両方は、図示するグラフに類似の構造を有する。いずれにせよ、アイテム、アイテム・フォルダおよびカテゴリはすべて、(アイテムのタイプはそれぞれ異なるけれども)アイテムである。
ファイル、ファイル・フォルダおよびディレクトリとは異なり、本発明のアイテム、アイテム・フォルダおよびカテゴリは、物理的な入れ物に概念的に相当するものを有さないので、特性的には、「物理的」なものではなく、したがって、アイテムは、複数のこうしたロケーションに存在することができる。複数のアイテム・フォルダ位置に存在し、また複数のカテゴリに編成される、アイテムに対する能力によって、ハードウェア/ソフトウェア・インターフェース・レベルに、当技術分野で現在得られるもの以上の、強化され、豊富にされたデータ操作および格納構造の可能性(capabilities)がもたらされる。
3.関係(リレーションシップ)
アイテムは、2つ以上のアイテム間のリレーションシップが決定されることを可能にするリレーショナル情報(relational information)も含むことができる。リレーションシップは、1つのアイテムがソースと指定され、他方のアイテムがターゲットと指定されるバイナリー・リレーションシップである。ソース・アイテムとターゲット・アイテムは、リレーションシップによって関連付けられる。リレーションシップは、包含(containment)および参照(reference)リレーションシップに分類することができる。包含リレーションシップはターゲート・アイテムのライフタイム(life time)を制御し、参照リレーションシップは、ライフタイム管理のセマンティックスを提供しない。
包含リレーションシップのタイプはさらに、ホールディング(保留)リレーションシップおよびエンベッディング(組み込み)リレーションシップに分類される。保留リレーションシップは、参照カウント機構によってターゲットのライフタイムを制御する。保留リレーションシップは、そのターゲットを含まないが、ターゲットのライフタイムを制御する。アイテムとのすべての保留リレーションシップが削除されると、そのアイテムは削除される。組込みリレーションシップは、複合アイテム(compound item)のモデル化を可能にし、また排他的な保留リレーションシップであると見なすことができる。アイテムは、1つまたは複数の保留リレーションシップのターゲットでありことが可能であるが、厳密に1つの組込みリレーションシップのターゲットである。組込みリレーションシップのターゲットであるアイテムは、他の保留または組込みリレーションシップのターゲットとすることはできない。組込みリレーションシップはそのターゲットを含み、またターゲットのライフタイムを制御する。当業者には、単一のターゲットは、多くても1つの組込みリレーションシップ内にしか存在し得ないが、複数の保留リレーションシップ内に存在することができる。
参照リレーションシップは、ターゲット・アイテムのライフタイムを制御しない。それは、ぶら下がっている(dangling)かも知れない−ターゲット・アイテムが存在しないかも知れない。参照リレーションシップを使用して、グローバル・アイテムの名前空間内の(すなわちリモート・データ・ストアを含む)どこかのアイテムへの参照をモデル化することができる。
アイテムの取出しによって、そのリレーションシップは自動的に取り出されない。アプリケーションまたはシェルは、アイテムのリレーションシップを明示的に要求しなければならない。さらに、リレーションシップの修正によって、ソースまたはターゲット・アイテムは修正されず、同様に、リレーションシップの追加は、ソース/ターゲット・アイテムに影響を及ぼさない。2つのアイテム間のリレーションシップは宣言され、アイテムともに格納されることができ、あるいはシェルまたはアプリケーションは、リレーショナル情報を使用して、2つのアイテムが関連していることを決定することができる。
参照リレーションシップによって、それが参照するアイテムのライフタイム期間は制御されない。さらに、参照リレーションシップによって、ターゲットの存在は保証されず、またリレーションシップ宣言に指定されたターゲットのタイプも保証されない。これは、参照リレーションシップが、ぶら下がっていることを意味する。参照リレーションシップは、他のデータ・ストア内のアイテムを参照することもできる。参照リレーションシップは、ウェブ・ページのリンクの概念に類似の概念として考えることができる。
少なくとも1つの実施形態では、本発明のストレージ・プラットフォームは、リレーションシップの順序付けをサポートする。順序付けは、「Order」と称されるプロパティを用いて実現される。Orderフィールドに対する固有の制約はない。同じ「Order」プロパティ値を有するリレーションシップの順序は保証されないが、より低い「Order」値を有するリレーションシップの後に、またより高い「Order」フィールド値を有するリレーションシップの前に、それが順序付けられることが保証される。プロパティ「Order」は、基本のリレーションシップ定義内に存在しないことに留意されたい。そうではなく、これは、ソースとターゲットの間のリレーションシップの一部として格納される外因性(extrinsic)のプロパティである。
上述のように、アイテムは、アイテム・フォルダのメンバであることができる。リレーションシップの観点からは、アイテムは、アイテム・フォルダとのリレーションシップを有することができる。本発明のいくつかの実施形態では、特定のリレーションシップは、アイテム間に存在するリレーションシップによって表すことができる。
4.拡張性
図3を参照すると、上述したように、ストレージ・プラットフォームにスキーマ340の初期セットが設けられている。しかし、少なくとも一部の実施形態では、ストレージ・プラットフォームはさらに、独立系ソフトウェア・ベンダ(ISV:independent software vendor)を含めて顧客が新しいスキーマ344を作成できるようにする。
C.データベース・エンジン
上述したように、データ・ストアは、データベース・エンジン内に実装される。ある実施形態では、データベース・エンジンは、オブジェクト関係拡張機能を備えた、Microsoft SQLサーバエンジンなどの、SQLクエリ言語を実装するリレーショナル・データベース・エンジンを備える。しかし、様々なデータベース・エンジンを使用することができることが理解されよう。実際に、リレーショナル・データベース・エンジン上でストレージ・プラットフォームの概念データ・モデルを実装することに加えて、それは、他のタイプのデータベース、例えばオブジェクト指向およびXMLデータベース上に実装することもできる。
III.ユーザへのアイテムの提示(presentment)
汎用データ・ストア内のアイテムは、シェル・ブラウザによってユーザに提示される。こうしたブラウザは当技術分野ではよく知られており、上記で説明したように、シェル・ブラウザは、ユーザがハードウェア/ソフトウェア・インターフェースのビューを得て、それと対話できるようにするユーザ・インターフェースを提供する。
A.既定の表示ビュー(display view)
上述のように、汎用データ・ストア内の各アイテムは、汎用データ・スキーマに従って格納される。このスキーマは、タイプ関連付け(type association)と称されるアイテムを記述するための機構を含む。それぞれのタイプ関連付けは、シェル内での基本表現(basic representation)を含み、したがって、タイプの関連付けに従ってアイテムを格納することによって、シェルは、少なくとも基本のまたは既定の表示ビューに従ってアイテムを表示することができる。
タイプ関連付けは、アイテムに関連付けられるプロパティであり、データを汎用データ・ストア内に置くときは、それがどのタイプのアイテムかを決定できるように、データに関連付けられた1つまたは複数のプロパティが宣言されなければならない。こうしたプロパティは、データに関連付けられるメタデータとして含めることができる。シェルは、アイテムについて宣言されなければならない最も基本の最小限のプロパティを示す1組の既定のタイプ関連付けを有する。
図5に、アイテム500を示す。アイテム500は、汎用データ・スキーマに従って格納されており、1組のアイテム・データ502、およびプロパティ宣言を含めて1組のメタデータ504を含んでいる。アイテム・データ502は、データ・ストア内に含むのに適した任意のデータセットであることができる。例えばアイテム・データ502は、ワード・プロセッシング文書に関連付けることができる。プロパティ宣言メタデータ504は、アイテム500についての少なくとも基本タイプの宣言を含む。例えば、既定のタイプ関連付けはDocumentタイプとすることができ、メタデータ504は、アイテム500がDocumentタイプ・のアイテムであると示すことができる。シェルは、それぞれの既定のタイプ関連付けについて、既定の表示ビューを含んでいるので、Documentタイプの既定の表示ビューに従ってアイテム500を表示することができる。Documentタイプの既定の表示ビューは、例えばDocumentタイプ・アイテムよってのみ使用されるアイコンを含む。ワード処理アイテムをこのアイコンとともに提示することによって、ユーザは、アイテム500がドキュメントであることを迅速に認識することができる。任意の様々な既定のタイプ関連付けおよび既定の表示属性(display attributes)を本発明が許容できることが当業者には理解されよう。
B.アイテム装飾ビュー
アイテムに関連付けられるメタデータは、プロパティ宣言を超えて、シェルがどのようにアイテムのプレゼンテーションを装飾すべきかを示すデータを含むことができる。この場合の装飾は、アイテムをどのようにユーザに提示するかに関する「ヒント」として考えることができる。このメタデータは、アイテム装飾スキーマに従って格納することができる。アイテム装飾スキーマは、シェルがアイテムを提示するために使用することができるアイテム装飾ビューを定義する。例えば、アイテム装飾データは、アイテムにとって最も重要な宣言プロパティを表すことが可能である。こうした「高価値(high value)」プロパティは、シェル内のプレゼンテーションにとって最も望ましいものである可能性がある。
アイテム500は、アイテム装飾スキーマに従って格納されたアイテム装飾データ506を任意選択で含むことができる。アイテム500を提示するために、アイテム装飾データ506は、アイテム500のプレゼンテーションに適した1組のビュー・フィールドを指示することができる。ビュー・フィールドは宣言されたプロパティの投影であり、共通のビュー・フィールドは、「タイトル」、「作成者」、「作成日付」または「最終編集」を含むことができる。シェルは、1組の標準のビュー・フィールドを含み、独立系ソフトウェア・ベンダ(ISV)は、そのデータのプレゼンテーションに適したビュー・フィールドを定義することができる。新しいアイテムのタイプを開発する場合、ISVは、それらを定義するアイテム・プロパティをシェルのビュー・フィールドにマッピングすることができし、または彼ら自身のビュー・フィールドを提供することができる。
例えば、アイテム・データ502は、歌のデータを含むことができる。1組の宣言プロパティ506は、歌のタイトル、アーティスト、記録された日付、アルバム、歌の長さおよびこうした歌アイテムに適した他の宣言を含むことができる。アイテム装飾データ506は、シェル内でアイテム500を提示するときには「タイトル」、「アーティスト」および「アルバム」のビュー・フィールドがユーザに表示されなければならないことを示すことができる。
アイテム装飾データ506は、宣言されたプロパティとともに提示されるテキストなど、アイテム・データ502に関するより真に装飾的なアイテムを表すことができる。例えば、プロパティ宣言504のうちの1つは、記録の品質を表すビット・レート値を示すことができる。このプロパティは、格納された整数BITRATEであることができる。アイテム装飾データ506は、ビット・レートの表示を要求することができ、またこのフィールドを「〔BITRATE〕キロ・バイト/秒」と装飾することもできる。この方法では、ビット・レート・フィールドは、ユーザがビュー・フィールド内のビット・レート値の意味を容易に理解し得るように適切に装飾される。
アイテム装飾データ506およびその対応するアイテム装飾ビューは、多種多様なプレゼンテーション属性を指示することができることが、当業者には理解されよう。アイテム装飾は、シェルによってサポートされるディスプレイについての諸相(aspect)であることができる。他の一般的ないくつかの装飾には、例えばデータ・フォーマット設定、既定のソート順および既定のアイコン・サイズがある。さらに、アイテム装飾データ506は、所与のアイテムのディスプレイに使用する共通のコントロールを記述することができる。例えば格付けフィールドは、一連の星として格付けを表す格付けコントロールを使用することができる。アイテム装飾データ506は、アイテムでの使用に適したタスクおよび動詞を記述することができる。用語「タスク」および「動詞」は、アイテムに関して始められるべき何らかの動作(action)を表し、またこうした用語が互いに置き換え可能(interchangeable)であることが当業者には理解されよう。例えば「編集」または「プレビュー」は、アイテムに関連付けられる適切なタスク/動詞であることができる。シェルは、アイテムに関連する動作を実施するためのユーザ選択に基づいて、こうしたタスクをサポートするためにアプリケーションを起動するようにさらに構成することができる。
アイテム装飾は、時間とともに変化し発展することが当業者には理解されよう。本発明では、新しいアイテム装飾が実装されると、新しいアイテムはその装飾を使用することができるが、旧アイテムは、シェルによって提供される旧表示属性を使用して適切に表示し続けることが企図されている。
図6に、本発明による、ユーザにアイテムを提示するための方法600を図示するフローチャートを示す。602で、方法600は、ユーザに1つまたは複数のアイテムを表示することを求める要求に応答して、汎用データ・ストアにアクセスする。ステップ604で、この方法は、プレゼンテーションのために選択された1つまたは複数のアイテムについて考慮する。ステップ606に示すように、アイテム装飾スキーマに従って格納されたメタデータを含むアイテムが、アイテム装飾ビューに従ってユーザに提示される。ステップ608に示すように、こうしたメタデータを含まないアイテムは、既定の表示ビューに従って提示される。上記で論じたように、こうしたスキーマおよびプレゼンテーション・ビューは、データ・ストア内の各アイテムのプレゼンテーションに使用することができる様々な表示属性を含むことができる。
C.シェル・ビュー
上記で論じたように、アイテム装飾ビューは、所与のアイテム、あるいは同様のアイテム修飾ビューをもつアイテムからなる1組の同種のアイテムを完全に提示するのに十分である。それぞれ異なるアイテム装飾スキーマをもつアイテムを表示するために、シェルは、シェル装飾ビューに従ってアイテムを提示するシェル・ビュー・スキーマを提供する。シェル・ビュー・スキーマによって、シェルまたはISVは、異種なデータの所与の各組に適したビューを宣言することができる。
シェル装飾ビュー内の表示(representation)のために選択されたアイテムは、共通の特性を含むことができる。シェル装飾ビューが多種多様な共通の特性を許容できることが当業者には理解されよう。例えば、シェル・ビュー・スキーマは、すべての知られている画像タイプ(.GIF、.JPEG、.BMP、.TIFFなど)に共通の適したフィールドおよびメタデータを表示するために使用される「画像」ビューを定義することができる。シェル・ビュー・スキーマは、所与のアイテム装飾ビューについて、競合する表示属性に優先し、シェル・ビュー・スキーマに従ってそれぞれの画像アイテムを提示する。別の例では、シェルは、「ドキュメント」シェル・ビューを提供し、このビューは、各アイテムのアイテム装飾が互いに大きく異なるとしても、ワード処理文書、スプレッド・シートまたはデータベースなどの典型的な生産性アプリケーションによって作成されるアイテムに適したカラムおよびメタデータに基づいて、最適化される。こうしたビューは、その各ドキュメントに共通のプロパティを提供することによって価値を有する。後にドキュメント・タイプがインストールされる場合、そのシェル・ビューは、そのビューが最初に作成されたときにはその新しいタイプが考慮されていなかった可能性があるとしても、一貫したシェル・ビュー(consistent shell view)に従ってその新しいアイテムを堤示できることが当業者には理解されよう。
所与の1組の異種のアイテムに適したビュー・フィールドを形成することに加えて、シェル・ビュー・スキーマは、さらなる表示属性を定義することができる。例えば、アイコン・プロパティ、プレビュー・ペイン(pane)のサイズ、および既定のソート順を含めて、ビュー状態が、シェル・ビュー・スキーマによって定義することができる。ビュー・スキーマは、様々なカラムに適用される、データ・フォーマットなどのプロパティ装飾も含む。
シェル・ビュー・スキーマとアイテム装飾スキーマが競合する場合、シェル・ビュー・スキーマが優先して動作する。表示要素(display element)がシェル・ビュー・スキーマから欠落している場合、シェル・ビューは、適切に表示するためにアイテム装飾ビューに頼る。このように、シェル・ビューは、当初は予期していなかったデータを表示するときに適切なビューを作ることができる。さらに、本発明の一実施形態では、シェル・ビューは、競合しない装飾要素(decorative element)を提供するためにアイテム装飾ビューに従う(defer:譲る)ことが可能である。例えば、シェル・ビューは、それが含む1組のアイテムからの「高価値(high value)」メタデータを利用して、アイテム表示のために適切な1組のカラムおよびメタデータを作成することができる。
シェル・ビュー・スキーマは多種多様な表示属性を提供することができ、またISVがこうしたシェル・ビューの提供を希望する可能性があることが当業者には理解されよう。表示属性には、それに限定されないが、プレビュー・ペイン、プレビュー・ペイン内に表示するメタデータ、使用されるカスタム・コントロール、ならびに提示されるアイテムに適したタスクおよび動詞を含むことができる。
図7に、本発明による、ユーザにアイテムを提示するための方法700を図示するフローチャートを示す。702で、方法700は、ユーザに1つまたは複数のアイテムを提示するように求める要求に応答してデータ・ストアにアクセスする。704で、プレゼンテーションのために選択された各アイテムが同じアイテム装飾スキーマを含むかどうかが決定される。すべてのアイテムがこうした共有スキーマを有する場合、706に示すように、そのスキーマに従ってアイテムが提示される。提示されるアイテムが、異なるアイテム表示スキーマを含みまたはそれを含まないアイテムを含む場合は、708で、そのアイテム・セットがシェル装飾ビューに従って提示される。上記で論じたように、こうしたシェル・ビューは、アイテムの異種のセットのプレゼンテーションに適切である可能性がある。710に、選択されたアイテムのうちの1つまたは複数をアイテム装飾ビューからの表示要素を付けて提示する任意選択のステップが含まれている。こうした表示要素はシェル装飾ビューと競合しない可能性があり、その要素によって、シェルによるアイテムのプレゼンテーションを向上させることができる。
図8に移ると、例示的なビュー・スキーマ階層800が提示されている。階層の最下部は、アイテム・ビュー・スキーマ802である。アイテム・ビュー・スキーマ802は、アイテムを表すのに必要な基本の表示を提供し、またはビュー・スキーマが提供されない場合に既定の表示を提供する。アイテム・ビュー・スキーマ802より上位のスキーマは、必要時に、その表示要素に従い、またはその表示要素に頼ることができる。
シェル・ビュー・スキーマ804は、アイテム・ビュー・スキーマ802より上位に存在する。上記で論じたように、シェル・ビュー・スキーマを使用して、多種多様なアイテム・ビューを有する1組のアイテムを表示することができる。シェル・ビュー・スキーマは、シェル・ビュー804に従ってアイテムを表示するのに使用されるタスク806、プレビュー・ペイン特性808、カラム810および装飾812を定義する。このシェル・ビューは、シェル・ビュー804で使用するアイテム装飾と競合しないアイテム提供するために、例えばアイテム・ビュー・スキーマ802に頼ることができる。さらに、ユーザ・ビュー設定814が、このシェル・ビュー内に存在することができる。こうした設定は、シェル・アイテムについてユーザが所望するプレゼンテーション・フォーマット(desired presentation format)を提示する。表示スキーマ内に任意の数の表示属性を定義することができ、また表示設定に関する多くのオプションおよびコントロールをユーザに提示することができることが当業者には理解されよう。
D.エクスプローラ表示ビュー
シェルは、エクスプローラ表示ビューに従ってアイテムを提示するように構成することもできる。「エクスプローラ」は、ストレージ・アプリケーションと称されることができ、またシェルまたはISVによって提供することができる。本発明の一実施形態では、ユーザがアイテムの大規模な組(set)を管理するのを支援する全体観的な体験を提供するエクスプローラを作成することができる。例えば、エクスプローラによって、ユーザがデータ・ストア内の選択されたアイテムのビューを取得したり、照会したり、ナビゲートしたり、タスクを開始したり、または編成したりすることを可能にすることができる。用語「エクスプローラ」は、表示アイテムが常駐する場所を示唆するものではなく、また「アクティビティ・センタ(activity center)」、「ビューア」および「ライブラリ」は、本発明によるストレージ・アプリケーションを表すために「エクスプローラ」と同義的に使用することができる。
図9にエクスプローラの例示的なエクスプローラ・スキーマ階層900を示す。階層の最下層は、アイテム・ビュー・スキーマ902である。アイテム・ビュー・スキーマ902は、アイテムを表すのに必要な基本の表示を提供し、エクスプローラ・ビュー904は、必要時にその表示要素に従いまたは頼ることができる。
エクスプローラ・ビュー・スキーマは、シェル・ビュー・スキーマ906およびエクスプローラ装飾908を含む。エクスプローラ装飾908は、エクスプローラを全体的に装飾し、また特徴的な色(distinctive colors)およびブランド要素(branding elements)などの表示要素を提供する。こうしたエクスプローラ装飾908は、エクスプローラが提供する様々なビューの中で持続する。多種多様な表示属性がエクスプローラ装飾908に適切であることが当業者には理解されよう。例えば、エクスプローラ・アイテムに関連付けられたデータ・クエリまたはタスク/動詞を、エクスプローラでの表示に適切である可能性がある。表示されるタスクは、そのタスクを実施することができるアプリケーションに結合されることが好ましい。
エクスプローラ・ビュー・スキーマは、1つまたは複数のシェル・ビュー・スキーマ906を任意選択で含むことができる。シェル・ビュー・スキーマ906は、エクスプローラ・アイテムのサブセットのためのシェル・ビューを提供するように構成することができる。例えば、エクスプローラは、ユーザに歌アイテムを表示するように構成することができる。第1のシェル・ビュー・スキーマをアルバムの表示を提供するために含めることができ、第2のシェル・ビュー・スキーマを、曲のトラックの表示を提供するために含めることができる。このように、両方のタイプのアイテムが、エクスプローラ内に適切なビューを含むことができる。上記で論じたように、シェル・ビューを使用することは、共通の特性を任意選択で共有することができる1組のアイテムのプレゼンテーションに関連する。
エクスプローラは、シェル内に含まれるシェル・ビューに依存することもできる。エクスプローラ内でのプレゼンテーションのために選択されたアイテムが、エクスプローラに含まれるどのシェル・ビューによってもサポートされていない場合、シェルは、エクスプローラ内で使用するのに適したシェル・ビューを提供することができる。同様にまた上記で論じたように、エクスプローラは、シェルが提供するアイテム表示ビューまたは既定の表示ビューに頼ることもできる。この機能によって、シェルによって表示することができる任意のアイテムをエクスプローラ内でも表示できるようになる。エクスプローラは、こうしたシェルが提供する表示スキーマ(display schemas)に従うように構成されることができ、または例えば予期しないデータの表示を提供するためにそれに依存することができる。
図10に、本発明による、エクスプローラ表示内にアイテムを提示するための方法1000を示す。1002で、方法1000は、データ・ストアにアクセスし、1004で、エクスプローラ内に表示されるアイテムを選択する。エクスプローラ・アイテムの選択は、フィールド・エントリとも称されるアイテム装飾を考慮することに依存することもできる。上記で論じたように、データ・ストア内のアイテムは、プロパティ情報を含むことができる。この情報は、アイテムがデータ・ストア内に置かれるときに宣言され、またアイテムのライフタイムを通して更新することができる。こうした宣言は、1組のプロパティ・フィールドに対応するフィールド・エントリと見なすことが可能である。例えばプロパティ・フィールド「作成者」内のエントリは、所与のアイテムについての著作者情報を含むことができる。
1つまたは複数のフィールド・エントリを共有するアイテムを提示することが望ましいことがある。例えば、特定の人物によって書かれた各アイテムを含むエクスプローラが所望されることがある。作成者フィールドのフィールド・エントリを考慮することによって、エクスプローラは、特定の人物によって書かれたこうしたエクスプローラ・アイテムをデータ・ストアから選択することができる。こうしたデータベース・クエリの機構はよく知られていることが当業者には理解されよう。
1006で、エクスプローラがエクスプローラ・アイテムのプレゼンテーションに適したシェル・ビューを含んでいるかどうかが決定される。エクスプローラ内にこうした適切なシェル・ビューが見つからない場合、1008に示すように、方法1008は、シェル内に含まれるビューを使用する。エクスプローラ内に適切なシェル・ビューが含まれている場合、1010で、方法1000は、このシェル・ビューを使用してアイテムを提示する。1012で、アイテム表示スキーマからの装飾要素を使用する任意選択のステップが実施される。上述したように、エクスプローラは、アイテム・ビュー・スキーマからの競合しない装飾を使用して、アイテムのプレゼンテーションを向上させることができる。1014で、シェルおよびアイテム・ビューに従ってユーザにエクスプローラ・アイテムが提示される。1016で、エクスプローラ装飾プロパティが提示される。こうしたプロパティは、多種多様な表示属性とすることができ、またエクスプローラ・アイテムに関連付けられるデータ・クエリまたはタスクを含むことができる。
E.エクスプローラ開発(EXPLORER DEVELOPMENT)
エクスプローラは、多種多様なアイテムのタイプについて作成することができる。本発明の一実施形態では、エクスプローラは、プログラミングをほとんどまたはまったく行わないで定義することができる。エクスプローラをデータ・ドリブンのやり方で作成できるようにすることで、開発をより行いやすくし、またすべてのエクスプローラにわたって一貫性のあるルック・アンド・フィールが提供される。
特定の実施形態では、エクスプローラは、(アイテム拡張およびファイル拡張を含めて)それが提示することができるアイテムのタイプについて制約を課すことを可能にすることができ、またはすべてのタイプのアイテムを許容することを選択することがでる。また、エクスプローラは、特定な1組のアイテム拡張を含むアイテムのタイプを許容することを選択することができる。例えば、法律アイテム・エクスプローラは、「LegalItemExtension」が付加されたすべてのアイテムを表示することができる。エクスプローラは、特定のタイプのアイテム、およびそのタイプにマッピングするどのファイル拡張子をも許容することを選択することができる。例えば、音楽アイテム・エクスプローラは、mp3やwmaなどのすべての音楽ファイル拡張子を示すことができる。さらに、エクスプローラは、特定の1組のファイル拡張子のアイテムだけを許容することを選択することができる。エクスプローラが1組の特定のタイプに制限される場合、他のタイプのアイテムは、このエクスプローラ内に保存されたり、またはドロップされたりすることはない。エクスプローラは、それが許容するタイプについてのタイプ関連付けを再定義することができ、選択的にオーバーライドを許容しないことを選択することができ、または新しいコマンドの追加を許容しないことを選択することができる。さらに、エクスプローラは、エクスプローラ内でエンド・ユーザにタイプ関連付けをオーバーライドさせるかどうかを決定することができる。
上記内容を考慮すると、アイテム−タイプの環境内で使用するエクスプローラ作成のためのデータ・ドリブンな開発技術を提供することによって、エクスプローラが、宣言的なやり方(declarative manner)で、カスタム・コードを使用しないで、定義することができることが当業者には理解されよう。
図11に、エクスプローラ表示スキーマ(explorer display schema)に従ってアイテムを提示するための方法1100を示す。1102で、方法1100は、所望するフィールド・エントリ(desired field entry)を選択する。上記で論じたように、この所望するフィールド・エントリは、アイテムに関連付けられた、宣言されたプロパティに対応することができる。例えば、「写真アルバム」エクスプローラは、画像データを含むアイテムの包含を必要とする所望するフィールド・エントリを含むことができる。
1104で、エクスプローラ表示スキーマが定義される。この表示スキーマは、シェル・ビュー・スキーマおよびエクスプローラ装飾を含むことができる。エクスプローラ装飾は、エクスプローラを全体的に装飾し、特徴的な色およびブランド要素などの表示要素を提供する。こうしたエクスプローラ装飾は、エクスプローラが提供する様々なビューの中で持続する。多種多様な表示属性がエクスプローラ装飾に適切である可能性がある。例えば、エクスプローラ・アイテムに関連付けられるデータ・クエリまたはタスク/動詞が、エクスプローラでの表示に適切である可能性がある。表示されるタスクは、そのタスクを実施することができるアプリケーションに結合されることが望ましい。エクスプローラ・ビュー・スキーマは、1つまたは複数のシェル・ビュー・スキーマを含むことができる。シェル・ビュー・スキーマは、エクスプローラ・アイテムのサブセットについてのシェル・ビューを提供するように構成することができる。
1106で、方法1100は、データ・ストアにアクセスしてエクスプローラ・アイテムを選択する。エクスプローラ・アイテムは、所望するフィールド・エントリに関連付けられる。データベース内のこうしたアイテムの選択は、当技術分野ではよく知られていることが当業者には理解されよう。開発者がこうした対話を行うように構成されたエクスプローラを作成することができることが当業者にはさらに理解されよう。本発明では、データ・ストアにアクセスすることができるエクスプローラの開発が企図されている。
1108で、エクスプローラ表示スキーマに従ってエクスプローラ・アイテムが表示される。エクスプローラ表示スキーマについては上記で述べられており、またこの表示は、シェル・ブラウザとの対話をも含むことができる。例えばシェルは、1つまたは複数のシェル・ビューを提供することができる。さらに、アイテム装飾スキーマからのアイテム装飾要素を使用して、エクスプローラ・アイテムのプレゼンテーションを向上させることができる。
エクスプローラ・ストレージ・アプリケーションは、アプリケーションおよび/またはシェル・ブラウザの拡張機能であると見なすことができることが当業者には理解されよう。したがって、上記説明は、本発明についての両方の描写に適している。アプリケーションとしては、エクスプローラ・プログラムは、シェル・ブラウザと対話するように構成されたシェル対話モジュールを含むことができる。こうした対話によって、プログラムはシェルと情報を通信し、またソフトウェアは、アイテムを提示するために連携して働くことができる。シェル対話モジュールは、データ・ストアへのアクセスが円滑に行われるようにすることができ、また表示属性を提供することができる。アプリケーションとシェルの間のこうした対話は、当技術分野ではよく知られている。
F.関連アイテムのプレゼンテーション
本発明は、ユーザにデータ・ストア内の関連アイテムを提示することもできる。上記で論じたように、データ・ストア内のアイテムは、1つまたは複数の宣言プロパティを有するアイテムを含むことができる。アイテムは、リレーションシップを共有するデータ・ストア内の他のアイテムを明らかにする宣言されたリレーションシップを有することができる。例えば、電子メール・アドレスを含むアイテムは、その電子メール・アドレスの所有者についての他の連絡先情報を含むアイテムとのリレーションシップを宣言することができる。シェルは、この宣言されたリレーションシップを使用して、ユーザの要求に応じて他の連絡先情報を提示することができる。シェルは、アイテムの宣言されたプロパティを考慮することによってリレーションシップを決定することもできる。例えば、1組のドキュメントは、それが共通のプロパティを共有している場合に関連付けられることができる、すなわち、拡張子「LegalItemExtension」を有するアイテムは、また拡張子の一部として共通の値が格納されている場合に、関連付けられことができる。こうしたリレーションシップは、当技術分野ではよく知られているデータ・クエリによって決定されることになる。
図12に、本発明に従って関連アイテムを提示するための方法1200を示す。1202で、方法1200は、データ・ストアにアクセスし、1204で、データ・ストア内のアイテム間のリレーションシップが決定される。上述したように、こうした決定には、アイテムに含まれる宣言されたプロパティを使用する。その決定は、ユーザ入力に応答するもので有ることが可能である。例えば、宣言された1組のアイテム特性を含むアイテムを、ユーザに提示することができる。アイテム特性およびリレーショナル情報は、アイテムとともに提示することができる。ユーザは、特性のうちの1つを選択し、そのアイテム特性を共有する他のアイテムを見ることを求める要求を入力することができる。1206で、方法1200は、ユーザに関連アイテムを提示する。こうしたプレゼンテーションは、当技術分野で周知の任意の表示スキーマを含むことができる。
本発明の代替実施形態および実装は、図面を含めて本明細書を検討すると、それが関係する技術分野の技術者に明らかになろう。したがって、本発明の範囲は、上記説明ではなく特許請求の範囲によって定義される。
本発明の実施において使用するのに適したコンピューティング・システム環境のブロック図である。 3つの構成要素グループ、すなわちハードウェア構成要素、ハードウェア/ソフトウェア・インターフェース・システム構成要素およびアプリケーション・プログラム構成要素に分割されたコンピュータ・システムを示すブロック図である。 ファイル・ベースのオペレーティング・システム上でディレクトリ内のフォルダに分類されたファイルの従来型ツリー・ベース階層構造を示す図である。 本発明によるストレージ・プラットフォームを示すブロック図である。 本発明の様々な実施形態における、アイテムと、アイテム・フォルダと、カテゴリとの間の構造上のリレーションシップを示す図である。 本発明の一実施形態による、アイテム内に含まれるデータの図である。 本発明の一実施形態による、ユーザに1つまたは複数のアイテムを提示するための方法を示すフローチャートである。 本発明の一実施形態による、ユーザに1つまたは複数のアイテムを提示するための方法を示すフローチャートである。 本発明の一実施形態によるビュー・スキーマ階層を示す図である。 本発明の一実施形態による、エクスプローラ・ビュー・スキーマを含むビュー・スキーマ階層を示す図である。 本発明の一実施形態による、ユーザにアイテムを提示するための方法を示すフローチャートである。 本発明の一実施形態による、ユーザに関連アイテムを提示するための方法を示すフローチャートである。 本発明の一実施形態による、ユーザに関連アイテムを提示するための方法を示すフローチャートである。

Claims (44)

  1. 格納されたデータを提示するためコンピュータ・システムであって、
    複数のアイテムを含むデータ・ストアであって、前記アイテムの少なくとも一部は1つまたは複数のフィールド・エントリを含むデータ・ストアと、
    前記データ・ストアと対話して、1つまたは複数の所望するフィールド・エントリを有するアイテムを選択し、前記エクスプローラに関連するエクスプローラ表示スキーマに従って前記選択されたアイテムを表示するエクスプローラと
    を備えることを特徴とするコンピュータ・システム。
  2. 前記エクスプローラ表示スキーマは、前記選択されたアイテムで提示される1つまたは複数の装飾要素を含むことを特徴とする請求項1に記載のコンピュータ・システム。
  3. 前記エクスプローラ表示スキーマは、1つまたは複数のシェル・ビュー・スキーマを含み、前記選択されたアイテムのサブセットを表示するために、前記シェル・ビュー・スキーマの1つが使用されることを特徴とする請求項1に記載のコンピュータ・システム。
  4. 前記シェル・ビュー・スキーマのうちの1つまたは複数は、前記選択されたアイテムのサブセットを前記ユーザに表示するのに適した1つまたは複数の表示諸相を含むことを特徴とする請求項3に記載のコンピュータ・システム。
  5. 前記エクスプローラは、シェル・ブラウザに関連付けられたシェル表示スキーマを使用して、前記選択されたアイテムのうちの1つまたは複数を表示することを特徴とする請求項1に記載のコンピュータ・システム。
  6. 前記エクスプローラは、シェル・ブラウザに関連付けられた1つまたは複数のアイテム表示スキーマを使用して、1つまたは複数の選択されたアイテムの表示内に含まれる1つまたは複数の表示要素を提供することを特徴とする請求項1に記載のコンピュータ・システム。
  7. 前記エクスプローラ表示スキーマは、前記選択されたアイテムに関連する動詞を含むことを特徴とする請求項1に記載のコンピュータ・システム。
  8. 前記動詞は、前記選択されたアイテムのうちの1つまたは複数に対して前記動詞を実施することができるアプリケーションに関連付けられることを特徴とする請求項7に記載のコンピュータ・システム。
  9. 前記エクスプローラ表示スキーマは、前記選択されたアイテムに関連付けられる1つまたは複数のデータ・クエリを含むことを特徴とする請求項1に記載のコンピュータ・システム。
  10. 前記エクスプローラは、前記データ・クエリのうちの1つまたは複数の結果を表示するように構成されることを特徴とする請求項9に記載のコンピュータ・システム。
  11. データ・ストア内の1つまたは複数のアイテムをユーザに提示するための、コンピュータによって実施される方法であって、
    前記データ・ストア内の前記アイテムのうちの少なくとも一部は1つまたは複数のフィールド・エントリを含む、前記データ・ストア内の少なくとも1つの前記アイテムに関連付けられたフィールド・エントリに対応する所望するフィールド・エントリを選択すること、
    エクスプローラ表示スキーマを定義すること、
    前記データ・ストアにアクセスして、前記所望するフィールド・エントリを含む1つまたは複数のアイテムを選択すること、および
    前記選択されたアイテムのうちの1つまたは複数を、前記エクスプローラ表示スキーマに従って前記ユーザに表示すること
    を備えることを特徴とする方法。
  12. 前記エクスプローラ表示スキーマを定義することは、前記エクスプローラ表示スキーマによる表示内に含まれる1つまたは複数の装飾要素を定義することを含むことを特徴とする請求項11に記載の方法。
  13. 前記エクスプローラ表示スキーマを定義することは、1つまたは複数のシェル・ビュー・スキーマを定義することを含み、前記シェル・ビュー・スキーマのうちの1つを使用して、前記選択されたアイテムのサブセットを表示することを特徴とする請求項11に記載の方法。
  14. 前記アイテムのうちの1つまたは複数を表示することは、シェル・ブラウザに関連付けられたシェル表示スキーマを使用して、1つまたは複数の選択されたアイテムを表示することを含むことを特徴とする請求項11に記載の方法。
  15. 前記選択されたアイテムのうちの1つを表示することは、シェル・ブラウザに関連付けられたアイテム表示スキーマを使用して、1つまたは複数の選択されたアイテムの表示内に含まれる1つまたは複数の表示属性を提供することを含むことを特徴とする請求項11に記載の方法。
  16. 前記選択されたアイテムを表示することは、前記選択されたアイテムに関する動詞を表示することを含むことを特徴とする請求項11に記載の方法。
  17. 前記動詞は、前記1組の選択されたアイテムのうちの1つまたは複数のセットに対して前記動詞を実施することができるアプリケーションに関連付けられることを特徴とする請求項16に記載の方法。
  18. 前記選択されたアイテムを表示することは、前記選択されたアイテムに関連付けられる1つまたは複数のデータ・クエリを提供することを含むことを特徴とする請求項11に記載の方法。
  19. 前記エクスプローラは、前記データ・クエリのうちの1つまたは複数の結果を表示するように構成されることを特徴とする請求項18に記載の方法。
  20. データ・ストア内の複数のアイテムをユーザに提示するためのエクスプローラであって、
    前記データ・ストア内の前記アイテムのうちの少なくとも一部は1つまたは複数のフィールド・エントリを含み、前記データ・ストア内の前記アイテムのうちの少なくとも1つに関連するフィールド・エントリに対応する所望のフィールド・エントリを選択するためのフィールド・エントリ選択コンポーネントと、
    前記データ・ストアにアクセスして、前記所望のフィールド・エントリを含む1つまたは複数のアイテムを選択するように構成されたアイテム選択コンポーネントと、
    前記選択されたアイテムのうちの1つまたは複数を、エクスプローラ表示スキーマに従ってユーザに提示するように構成された表示提示コンポーネントと
    を備えることを特徴とするエクスプローラ。
  21. データ・ストアからの1つまたは複数のアイテムをユーザに提示するためのコンピュータ実行可能アプリケーション・プログラムであって、
    前記データ・ストア内の前記アイテムのうちの少なくとも一部は1つまたは複数のフィールド・エントリを含み、前記データ・ストアにアクセスし、前記フィールド・エントリから選択される所望のフィールド・エントリを含む前記データ・ストアからの1つまたは複数のアイテムを選択するように構成されたアイテム選択モジュールと、
    シェル・ブラウザと対話して、前記選択されたアイテムのうちの1つまたは複数をエクスプローラ表示スキーマに従ってユーザに提示するように構成されたシェル対話モジュールと
    を備えることを特徴とするアプリケーション・プログラム。
  22. 前記エクスプローラ表示スキーマは、前記エクスプローラ表示スキーマによる表示内に含まれるべき1つまたは複数の装飾要素を含むことを特徴とする請求項21に記載のアプリケーション。
  23. 前記シェル対話モジュールは1つまたは複数のシェル・ビュー・スキーマを提供するように構成され、選択されたアイテムのサブセットを表示するために、前記シェル・ビュー・スキーマのうちの1つが使用されることを特徴とする請求項21に記載のアプリケーション。
  24. 前記シェル対話モジュールは、シェル・ブラウザに関連付けられた1つまたは複数のシェル表示スキーマを使用して、1つまたは複数の選択されたアイテムを表示するように構成されることを特徴とする請求項21に記載のアプリケーション。
  25. 前記シェル対話モジュールは、シェル・ブラウザに関連付けられたアイテム表示スキーマを使用して、1つまたは複数の選択されたアイテムの表示内に含まれるべき1つまたは複数の表示属性を提供するように構成されることを特徴とする請求項21に記載のアプリケーション。
  26. 前記エクスプローラ表示スキーマは、前記選択されたアイテムに関連する動詞を含むことを特徴とする請求項21に記載のアプリケーション。
  27. 前記動詞は、前記選択されたアイテムのうちの1つまたは複数に対して前記動詞を実行することができるアプリケーションに関連付けられることを特徴とする請求項26に記載のアプリケーション。
  28. 前記エクスプローラ表示スキーマは、前記選択されたアイテムに関連付けられる1つまたは複数のデータ・クエリを含むことを特徴とする請求項21に記載のアプリケーション。
  29. データ・ストア内の複数のアイテムをユーザに提示するためのコンピュータ化された方法であって、
    前記複数のアイテムのうちの少なくとも一部は1つまたは複数のフィールド・エントリに関連付けられ、前記複数のアイテムのうちの少なくとも1つに関連付けられるフィールド・エントリに対応する所望のフィールド・エントリを選択すること、
    エクスプローラ表示スキーマを定義すること、
    前記データ・ストアにアクセスして、前記所望のフィールド・エントリを有する1つまたは複数のアイテムを選択すること、および
    シェル・ブラウザと対話して、前記選択されたアイテムのうちの1つまたは複数を前記エクスプローラ表示スキーマに従って前記ユーザに提示すること
    を備えることを特徴とする方法。
  30. 前記エクスプローラ表示スキーマは、
    1つまたは複数の装飾要素、
    前記選択されたアイテムに関連する1つまたは複数の動詞、および/または
    前記選択されたアイテムに関連する1つまたは複数のデータ・クエリ
    を含むことを特徴とする請求項29に記載の方法。
  31. 前記シェル・ブラウザと対話することは、1つまたは複数のシェル・ビュー・スキーマを提供することを含み、前記選択されたアイテムのサブセットを表示するために、前記シェル・ビュー・スキーマのうちの1つが使用されることを特徴とする請求項29に記載の方法。
  32. 前記シェル・ブラウザと対話することは、前記シェル・ブラウザに関連する1つまたは複数のシェル表示スキーマを使用して、1つまたは複数の選択されたアイテムを表示することを含むことを特徴とする請求項29に記載の方法。
  33. 前記シェル・ブラウザと対話することは、前記シェル・ブラウザに関連するアイテム表示スキーマを使用して、1つまたは複数の選択されたアイテムの表示内に含まれるべき1つまたは複数の表示属性を提供することを含むことを特徴とする請求項29に記載の方法。
  34. データ・ストア内のアイテムをユーザに提示するためのエクスプローラを確立するためのコンピュータ化された方法であって、
    前記データ・ストア内の前記アイテムであって、少なくとも一部は1つまたは複数のフィールド・エントリに関連する前記アイテムのうちの少なくとも1つに関連するフィールド・エントリに対応する所望するフィールド・エントリを選択すること、
    前記エクスプローラに関連付けられるエクスプローラ属性を定義すること、および
    前記エクスプローラ属性を含む表示スキーマを用いて、前記所望するフィールド・エントリに関連付けられた前記データ・ストア内の1つまたは複数のアイテムを前記ユーザに提示すること
    を備えることを特徴とする方法。
  35. 前記所望するフィールド・エントリは、前記エクスプローラ内に表示される各アイテムに所望されるアイテム・プロパティに関連付けられることを特徴とする請求項34に記載の方法。
  36. 前記エクスプローラ属性は、装飾要素、前記提示されたアイテムに関連付けられた1つまたは複数の動詞、および/または前記提示されたアイテムに関連付けられた1つまたは複数のデータ・クエリを含むことを特徴とする請求項34に記載の方法。
  37. 前記エクスプローラ属性は1つまたは複数のシェル・ビュー・スキーマを含み、前記提示されたアイテムのサブセットを表示するために、前記シェル・ビュー・スキーマのうちの1つが使用されることを特徴とする請求項34に記載の方法。
  38. 前記表示スキーマは、1つまたは複数の提示されたアイテムを表示するために、シェル・ブラウザに関連付けられた1つまたは複数のシェル表示スキーマを含むことを特徴とする請求項34に記載の方法。
  39. 前記表示スキーマは、1つまたは複数の提示されたアイテムの表示内に含まれるべき1つまたは複数の表示属性を提供するために、前記シェル・ブラウザに関連するアイテム表示スキーマを使用することを含むことを特徴とする請求項34に記載の方法。
  40. データ・ストア内の複数のアイテムをユーザに提示するためのエクスプローラを確立するためのコンピュータ化された方法であって、
    前記複数のアイテムであって、少なくとも一部は1つまたは複数のフィールド・エントリに関連付けられる前記複数のアイテムのうちの少なくとも1つに関連するフィールド・エントリに対応する所望するフィールド・エントリを選択すること、
    前記エクスプローラに関連付けられるエクスプローラ属性を定義すること、および
    シェル・ブラウザと対話して、前記エクスプローラ属性を含む表示スキーマを用いて前記所望するフィールド・エントリに関連付けられる前記データ・ストア内の1つまたは複数のアイテムを前記ユーザに提示すること
    を備えることを特徴とする方法。
  41. 前記エクスプローラ属性は、装飾要素、前記提示されたアイテムに関連する1つまたは複数の動詞、および/または前記提示されたアイテムに関連する1つまたは複数のデータ・クエリを含むことを特徴とする請求項40に記載の方法。
  42. 前記エクスプローラ属性は1つまたは複数のシェル・ビュー・スキーマを含み、前記シェル・ビュー・スキーマのうちの1つを使用して、前記提示されたアイテムのサブセットを表示することを特徴とする請求項40に記載の方法。
  43. 前記シェル・ブラウザと対話することは、前記シェル・ブラウザによって提供されたシェル表示スキーマを使用して、1つまたは複数の提示されたアイテムを前記ユーザに表示すること含むことを特徴とする請求項40に記載の方法。
  44. 前記シェル・ブラウザと対話することは、前記シェル・ブラウザによって提供されたアイテム表示スキーマからの1つまたは複数の表示属性を使用して、1つまたは複数の提示されたアイテムを前記ユーザに表示することを含むことを特徴とする請求項40に記載の方法。
JP2006536596A 2003-10-23 2004-07-30 ユーザにアイテムをコンテクスト表示(contextualpresentation)で提示するためのシステムおよび方法 Expired - Fee Related JP4604043B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/691,885 US7908562B2 (en) 2003-10-23 2003-10-23 System and a method for presenting items to a user with a contextual presentation
PCT/US2004/024635 WO2005045586A2 (en) 2003-10-23 2004-07-30 System and a method for presenting items to a user with a contextual presentation

Publications (3)

Publication Number Publication Date
JP2007509428A true JP2007509428A (ja) 2007-04-12
JP2007509428A5 JP2007509428A5 (ja) 2007-09-20
JP4604043B2 JP4604043B2 (ja) 2010-12-22

Family

ID=34521964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006536596A Expired - Fee Related JP4604043B2 (ja) 2003-10-23 2004-07-30 ユーザにアイテムをコンテクスト表示(contextualpresentation)で提示するためのシステムおよび方法

Country Status (17)

Country Link
US (1) US7908562B2 (ja)
EP (1) EP1597656A4 (ja)
JP (1) JP4604043B2 (ja)
KR (1) KR101002483B1 (ja)
CN (1) CN100399238C (ja)
AU (1) AU2004279176B2 (ja)
BR (1) BRPI0406380A (ja)
CA (1) CA2501704A1 (ja)
IL (1) IL168665A (ja)
MX (1) MXPA05007159A (ja)
MY (1) MY143913A (ja)
NO (1) NO20052048L (ja)
NZ (1) NZ540117A (ja)
RU (1) RU2369896C2 (ja)
TW (1) TWI360758B (ja)
WO (1) WO2005045586A2 (ja)
ZA (1) ZA200503154B (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
CN100375465C (zh) * 2005-06-02 2008-03-12 威盛电子股份有限公司 批次传送数据的服务器及批次传送数据方法
EP1798632A1 (en) * 2005-12-19 2007-06-20 Research In Motion Limited Computing device and method of indicating status of application program
US8775974B2 (en) * 2005-12-21 2014-07-08 International Business Machines Corporation Multi-contextual delta navigation in a compare view
US20090064006A1 (en) * 2007-08-30 2009-03-05 Indran Naick Techniques for Performing Tasks Associated with Custom Folder Controls
US9448971B2 (en) * 2007-10-19 2016-09-20 International Business Machines Corporation Content management system that renders multiple types of data to different applications
US20090193444A1 (en) * 2008-01-29 2009-07-30 Microsoft Corporation Techniques for creating and managing extensions
US8607166B2 (en) * 2008-06-06 2013-12-10 Apple Inc. Browsing or searching user interfaces and other aspects
US8516038B2 (en) * 2008-06-06 2013-08-20 Apple Inc. Browsing or searching user interfaces and other aspects
US20100114655A1 (en) * 2008-10-31 2010-05-06 D Elia Anthony Systems and methods for association-based electronic message communication
US20100114694A1 (en) * 2008-10-31 2010-05-06 D Elia Anthony Systems and methods for association-based electronic message communication
JP4671368B1 (ja) * 2009-09-30 2011-04-13 株式会社ユビキタスエンターテインメント 情報処理プログラム、情報処理装置及び情報処理方法
US9843665B2 (en) 2011-05-27 2017-12-12 Microsoft Technology Licensing, Llc Display of immersive and desktop shells
US10417018B2 (en) * 2011-05-27 2019-09-17 Microsoft Technology Licensing, Llc Navigation of immersive and desktop shells
US9087064B2 (en) 2011-10-27 2015-07-21 International Business Machines Corporation User-defined hierarchies in file system data sets
CN102622442A (zh) * 2012-03-12 2012-08-01 福建星网视易信息系统有限公司 基于linux系统的目录和文件显示方法及装置
US8965940B2 (en) 2012-07-20 2015-02-24 Microsoft Technology Licensing, Llc Imitation of file embedding in a document
RU2531375C2 (ru) * 2012-11-02 2014-10-20 Закрытое акционерное общество "Связь инжиниринг" Dc/dc-преобразователь
US9381425B1 (en) 2013-09-17 2016-07-05 Kabam, Inc. System and method for determining offer placement in a virtual space store interface
US9144742B1 (en) 2013-11-05 2015-09-29 Kabam, Inc. System and method for predicting payer dormancy through the use of a test bed environment
US10795908B1 (en) * 2017-10-09 2020-10-06 Tableau Software, Inc. Nested sorting of data marks in data visualizations
CN109933570B (zh) * 2019-03-15 2020-02-07 中山大学 一种元数据管理方法、系统及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751287A (en) * 1995-11-06 1998-05-12 Documagix, Inc. System for organizing document icons with suggestions, folders, drawers, and cabinets
JP2000090076A (ja) * 1998-08-31 2000-03-31 Xerox Corp ドキュメント管理方法およびドキュメント管理システム

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504852A (en) 1991-09-09 1996-04-02 Apple Computer, Inc. Method for creating a collection of aliases representing computer system files
ATE216104T1 (de) 1991-09-27 2002-04-15 Bmc Software Inc Definitionsänderungssprache für ein datenbankrechnersystem
EP0592638B1 (en) 1992-04-30 2001-02-07 Apple Computer, Inc. Method and apparatus for organizing information in a computer system
US5345550A (en) 1992-12-23 1994-09-06 International Business Machines Corporation User-modifiable popup menus for object oriented behavior
US5805885A (en) 1992-12-24 1998-09-08 Microsoft Corporation Method and system for aggregating objects
JP3317763B2 (ja) 1993-11-05 2002-08-26 富士通株式会社 プログラム起動方法およびその処理装置
US6339767B1 (en) 1997-06-02 2002-01-15 Aurigin Systems, Inc. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
US5991751A (en) 1997-06-02 1999-11-23 Smartpatents, Inc. System, method, and computer program product for patent-centric and group-oriented data processing
US5485617A (en) 1993-12-13 1996-01-16 Microsoft Corporation Method and system for dynamically generating object connections
EP0760125B1 (en) 1994-05-16 2002-04-03 Apple Computer, Inc. A system and method for customizing appearance and behavior of graphical user interfaces
US5613122A (en) 1994-11-14 1997-03-18 Object Technology Licensing Corp. Object-oriented operating system
US6360280B1 (en) 1994-12-13 2002-03-19 Microsoft Corporation Method and system for accessing shell folder capabilities by an application program
US5831606A (en) 1994-12-13 1998-11-03 Microsoft Corporation Shell extensions for an operating system
US5737557A (en) 1995-05-26 1998-04-07 Ast Research, Inc. Intelligent window user interface for computers
DE19538240A1 (de) 1995-10-13 1998-08-06 Annette Brueckner Informationssystem und Verfahren zur Speicherung von Daten in einem Informationssystem
US5890176A (en) 1996-04-24 1999-03-30 International Business Machines Corp. Object-oriented document version tracking method and apparatus
US5933646A (en) 1996-05-10 1999-08-03 Apple Computer, Inc. Software manager for administration of a computer operating system
US6101513A (en) 1996-05-31 2000-08-08 Microsoft Corporation Method and apparatus for displaying database information according to a specified print layout and page format
US6768999B2 (en) 1996-06-28 2004-07-27 Mirror Worlds Technologies, Inc. Enterprise, stream-based, information management system
US6061695A (en) 1996-12-06 2000-05-09 Microsoft Corporation Operating system shell having a windowing graphical user interface with a desktop displayed as a hypertext multimedia document
US5905492A (en) * 1996-12-06 1999-05-18 Microsoft Corporation Dynamically updating themes for an operating system shell
US6121964A (en) 1996-12-09 2000-09-19 Microsoft Corporation Method and system for automatic persistence of controls in a windowing environment
US5937406A (en) 1997-01-31 1999-08-10 Informix Software, Inc. File system interface to a database
US6098089A (en) 1997-04-23 2000-08-01 Sun Microsystems, Inc. Generation isolation system and method for garbage collection
US5995973A (en) 1997-08-29 1999-11-30 International Business Machines Corporation Storing relationship tables identifying object relationships
US6151608A (en) 1998-04-07 2000-11-21 Crystallize, Inc. Method and system for migrating data
US6167405A (en) 1998-04-27 2000-12-26 Bull Hn Information Systems Inc. Method and apparatus for automatically populating a data warehouse system
US6031532A (en) * 1998-05-08 2000-02-29 Apple Computer, Inc. Method and apparatus for generating composite icons and composite masks
US6188399B1 (en) 1998-05-08 2001-02-13 Apple Computer, Inc. Multiple theme engine graphical user interface architecture
GB9813828D0 (en) 1998-06-27 1998-08-26 Philips Electronics Nv Reference counting mechanism for garbage collectors
US6226630B1 (en) * 1998-07-22 2001-05-01 Compaq Computer Corporation Method and apparatus for filtering incoming information using a search engine and stored queries defining user folders
US6501491B1 (en) 1998-09-21 2002-12-31 Microsoft Corporation Extensible user interface for viewing objects over a network
US6212512B1 (en) 1999-01-06 2001-04-03 Hewlett-Packard Company Integration of a database into file management software for protecting, tracking and retrieving data
US6922708B1 (en) 1999-02-18 2005-07-26 Oracle International Corporation File system that supports transactions
US6285998B1 (en) 1999-02-23 2001-09-04 Microsoft Corporation System and method for generating reusable database queries
US6728966B1 (en) 1999-03-29 2004-04-27 Hughes Electronics Corporation Electronic television program guide data naming system and method
EP1212686A4 (en) 1999-05-26 2009-04-01 Fujitsu Ltd SYSTEM FOR MANAGING NETWORK ELEMENTS
US6526399B1 (en) 1999-06-15 2003-02-25 Microsoft Corporation Method and system for grouping and displaying a database
US6978269B1 (en) 1999-07-13 2005-12-20 International Business Machines Corporation Apparatus and method for generating and displaying a schema diagram for a database
US6405192B1 (en) 1999-07-30 2002-06-11 International Business Machines Corporation Navigation assistant-method and apparatus for providing user configured complementary information for data browsing in a viewer context
JP4256543B2 (ja) * 1999-08-17 2009-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 表示情報確定方法及び装置、表示情報確定のためのソフトウエア・プロダクトを格納した記憶媒体
US6526413B2 (en) 1999-09-28 2003-02-25 Microsoft Corporation Architecture for a hierarchical folder structure in hand-held computers
US7039860B1 (en) * 1999-10-01 2006-05-02 Netspinner Solutions As Creating web pages category list prior to the list being served to a browser
US6868419B1 (en) 1999-10-28 2005-03-15 Lightwaves Systems Inc. Method of transmitting data including a structured linear database
US6670970B1 (en) 1999-12-20 2003-12-30 Apple Computer, Inc. Graduated visual and manipulative translucency for windows
US6686938B1 (en) 2000-01-05 2004-02-03 Apple Computer, Inc. Method and system for providing an embedded application toolbar
US7043488B1 (en) 2000-01-21 2006-05-09 International Business Machines Corporation Method and system for storing hierarchical content objects in a data repository
US6636250B1 (en) 2000-04-12 2003-10-21 Emc Corp Methods and apparatus for presenting information to a user of a computer system
AU2001268688A1 (en) 2000-06-22 2002-01-02 Eventra, Inc. Method and system for supplier relationship management
EP1307803A2 (en) 2000-07-28 2003-05-07 Koninklijke Philips Electronics N.V. System for browsing a collection of information units
US20020156756A1 (en) 2000-12-06 2002-10-24 Biosentients, Inc. Intelligent molecular object data structure and method for application in heterogeneous data environments with high data density and dynamic application needs
US20040030741A1 (en) 2001-04-02 2004-02-12 Wolton Richard Ernest Method and apparatus for search, visual navigation, analysis and retrieval of information from networks with remote notification and content delivery
US7047257B2 (en) 2001-04-03 2006-05-16 Qnx Software Systems Computer file management system
US7054851B2 (en) 2001-06-25 2006-05-30 Siemens Medical Solutions Health Services Corporation Communication data format for use in data storage and retrieval
US7099869B1 (en) 2001-07-11 2006-08-29 Apple Computer, Inc. Method and apparatus for managing file extensions in a digital processing system
US7117225B2 (en) 2001-08-13 2006-10-03 Jasmin Cosic Universal data management interface
US7047497B2 (en) 2001-10-30 2006-05-16 Hewlett-Packard Development Company, L.P. System and method for displaying a layout of GUI properties panel
US7203737B2 (en) 2001-10-31 2007-04-10 Microsoft Corporation Computer system with file association and application retrieval
CN1419210A (zh) * 2001-11-12 2003-05-21 实密科技股份有限公司 结合网络浏览器检视各式档案文件的方法
AU2002362090A1 (en) 2001-12-07 2003-06-23 Dbase, Inc. Drag-and-drop dynamic distributed object model
AU2003252024A1 (en) 2002-07-16 2004-02-02 Bruce L. Horn Computer system for automatic organization, indexing and viewing of information from multiple sources
WO2004015542A2 (en) 2002-08-12 2004-02-19 Pool Kenneth D Jr Method for controlling access to informational objects
US7293031B1 (en) 2002-11-21 2007-11-06 Ncr Corp. Report specification generators and interfaces
US7243336B2 (en) 2002-12-17 2007-07-10 International Business Machines Corporation System and method of extending application types in a centrally managed desktop environment
US7711694B2 (en) 2002-12-23 2010-05-04 Sap Ag System and methods for user-customizable enterprise workflow management
US7634728B2 (en) 2002-12-28 2009-12-15 International Business Machines Corporation System and method for providing a runtime environment for active web based document resources
US7272818B2 (en) 2003-04-10 2007-09-18 Microsoft Corporation Creation of an object within an object hierarchy structure
US20040221228A1 (en) 2003-04-30 2004-11-04 International Business Machines Corporation Method and apparatus for domain specialization in a document type definition
US20040230555A1 (en) 2003-05-16 2004-11-18 John Phenix System and method for representing a relational database as a java object
US7069308B2 (en) 2003-06-16 2006-06-27 Friendster, Inc. System, method and apparatus for connecting users in an online computer system based on their relationships within social networks
CA2438368A1 (en) 2003-08-26 2005-02-26 Winnie W.N. Lai A method and system for creating navigational information for an electronic store from virtual and master catalog links
US20050066293A1 (en) 2003-09-23 2005-03-24 Hunt Simon Derek Tree and table GUI
US20050193054A1 (en) 2004-02-12 2005-09-01 Wilson Eric D. Multi-user social interaction network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751287A (en) * 1995-11-06 1998-05-12 Documagix, Inc. System for organizing document icons with suggestions, folders, drawers, and cabinets
JP2000090076A (ja) * 1998-08-31 2000-03-31 Xerox Corp ドキュメント管理方法およびドキュメント管理システム

Also Published As

Publication number Publication date
CA2501704A1 (en) 2005-04-23
EP1597656A4 (en) 2008-05-21
CN100399238C (zh) 2008-07-02
TW200515219A (en) 2005-05-01
US7908562B2 (en) 2011-03-15
AU2004279176A8 (en) 2008-10-02
NO20052048D0 (no) 2005-04-26
NO20052048L (no) 2005-08-17
WO2005045586A2 (en) 2005-05-19
AU2004279176A2 (en) 2005-06-23
TWI360758B (en) 2012-03-21
RU2005120237A (ru) 2006-01-20
AU2004279176A1 (en) 2005-06-23
US20050091667A1 (en) 2005-04-28
KR101002483B1 (ko) 2010-12-17
MXPA05007159A (es) 2005-08-26
JP4604043B2 (ja) 2010-12-22
BRPI0406380A (pt) 2005-08-09
WO2005045586A3 (en) 2006-04-06
ZA200503154B (en) 2006-07-26
MY143913A (en) 2011-07-29
CN1816791A (zh) 2006-08-09
RU2369896C2 (ru) 2009-10-10
KR20060114282A (ko) 2006-11-06
NZ540117A (en) 2007-05-31
EP1597656A2 (en) 2005-11-23
AU2004279176B2 (en) 2010-03-11
IL168665A (en) 2010-12-30

Similar Documents

Publication Publication Date Title
JP4604043B2 (ja) ユーザにアイテムをコンテクスト表示(contextualpresentation)で提示するためのシステムおよび方法
JP4627759B2 (ja) ユーザに関連アイテムを提示するためのシステムおよび方法
JP4739221B2 (ja) ユーザに関連アイテムを提示するためのシステムおよび方法
US7788144B2 (en) System and method for storing and presenting images and related items to a user
CA2501667C (en) System and method for managing data using static lists
JP2005174283A (ja) コンピュータプラットフォームのプログラミングインターフェース

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100805

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100928

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101004

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350