JP5587781B2 - 一般的モデルの編集フレームワーク - Google Patents

一般的モデルの編集フレームワーク Download PDF

Info

Publication number
JP5587781B2
JP5587781B2 JP2010528980A JP2010528980A JP5587781B2 JP 5587781 B2 JP5587781 B2 JP 5587781B2 JP 2010528980 A JP2010528980 A JP 2010528980A JP 2010528980 A JP2010528980 A JP 2010528980A JP 5587781 B2 JP5587781 B2 JP 5587781B2
Authority
JP
Japan
Prior art keywords
entity
data
schema
entities
view
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.)
Active
Application number
JP2010528980A
Other languages
English (en)
Other versions
JP2011501267A (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 JP2011501267A publication Critical patent/JP2011501267A/ja
Application granted granted Critical
Publication of JP5587781B2 publication Critical patent/JP5587781B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/34Browsing; Visualisation therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Description

本発明は、一般的モデルの編集フレームワークに関する。
コンピュータは、労働の場、家庭、およびモバイルデバイスに非常に浸透してきている。コンピュータは、大量の情報を素早くかつ効率的に処理することが可能である。コンピュータシステム上で稼働するように設計されるソフトウェアアプリケーションは、ユーザが、ビジネスアプリケーション、学業、娯楽などを含め幅広い種類の機能を実行することを可能にする。ソフトウェアアプリケーションはしばしば、文書を作成するためのワードプロセッサアプリケーションや、電子メールを送信、受信、および整理するための電子メールプログラムなど、特定のタスクを実行するよう設計される。
いくつかの場合において、ソフトウェアアプリケーションを使用して、モデルの形式のデータを生成、編集、および表示することが可能である。例えば、モデルをビジネスおよび他のエンティティにより使用することで、プロセス、システム、エンティティおよび他の情報を記述することができる。一部のモデルは、フロー図、プロセスフロー、フローチャート、プロセス図、および/または管理図と呼ばれることがある。他には、リスト、表、円グラフ、またはデータを分類し表示する他の形式と呼ばれることがある。いくつかの場合において、モデルを使用して、システムの要素間の組織的関係(organizational relationship)を示すことができる。これらのモデルは、しばしば組織図と呼ばれる。より広い意味においては、モデルを使用して、異なるオブジェクト間の任意のタイプの関係情報を示すことができる。
しかし、多くの場合、データを生成、表示および編集するソフトウェアプログラムは、データの型に制限される。例えば、ソフトウェアプログラムはしばしば、ある特定の型のデータを生成、編集およびナビゲートすることができるが、他のものについてはできないようにハードコードされる。さらに、データの分類および表示は、データの型に基づいて、ある特定のレイアウトまたは表示形式に制限されることがある。従って、モデル、データセットまたは他の情報の生成、閲覧、編集またはナビゲートに使用される、コンピュータで稼働するソフトウェアアプリケーションは、データの型に依拠してどの機能がエンドユーザに利用可能であるかを決定することとなる。
本明細書に記載される実施形態は、データを編集および提示するためのフレームワークを対象とする。一実施形態において、コンピュータシステムは、編集を実行する前にはエンティティの型が潜在的に未知である、1つまたは複数のエンティティを編集するための方法を実行する。例えば、コンピュータシステムは、一般的ビューワ(generic viewer)上に提示するために、様々なデータ型のエンティティに関連付けられたエンティティのビューを生成する。エンティティとデータ型は、対応するスキーマおいて定義される関係を有する。該スキーマは、データとしてリポジトリ内にデータ型と共に記憶される。コンピュータシステムは、各エンティティが関連付けられたデータ型を有する種々の選択されたエンティティを変更するよう構成された、編集要求を受信する。該コンピュータシステムは、受け取った編集要求に対応しデータ型を含む、選択されたエンティティの種々のプロパティを決定するように、リポジトリにクエリを行う。該コンピュータシステムは、編集がスキーマ内に記憶された関係情報に基づいて有効であることを、スキーマに基づいて判断する。該コンピュータシステムはまた、有効とされた編集情報を提示のために一般的ビューワに送る。一般的ビューワは、選択されたエンティティおよび対応するデータ型をどのように処理すべきかに関する事前の知識を有しない。
別の実施形態において、コンピュータシステムは、様々なデータ型のエンティティ間をナビゲートするための方法を実行する。例えば、コンピュータシステムは、一般的ビューワ上に提示するために、様々なデータ型のエンティティに関連付けられたエンティティのビューを生成する。エンティティとデータ型は、対応するスキーマにおいて定義される関係を有する。スキーマは、データ型と共にリポジトリ内にデータとして記憶される。コンピュータシステムは、第2の異なるデータ型に関連付けられた第2の選択されたエンティティの選択を示す、ナビゲーション入力を受信する。コンピュータシステムは、第1の選択されたエンティティと第2の選択されたエンティティとに関連付けられたデータ型についての関係情報にアクセスする。コンピュータシステムは、第1の選択されたエンティティと第2の選択されたエンティティとを含む更新ビューであって、上記アクセスした関係情報に基づいた更新ビューを生成する。コンピュータシステムはまた、ナビゲーション入力に基づいて、生成された更新ビューを提示する。
別の実施形態において、コンピュータシステムは、エンティティをどのように表示すべきかを示すヒントを、スキーマ内に提供するための方法を実行する。例えば、コンピュータシステムは、一般的ビューワ上に提示するために、様々なデータ型のエンティティに関連付けられたエンティティのビューを生成する。エンティティとデータ型は、対応するスキーマにおいて定義される関係を有する。スキーマは、データ型と共にリポジトリ内にデータとして記憶される。コンピュータシステムは、少なくとも1つのエンティティに対して取られるべきアクションを示す、ユーザ入力を受信する。コンピュータシステムは、リポジトリ内に記憶されたヒントにアクセスして、エンティティに対してどのアクションを実行すべきかをユーザ入力に基づいて決定する。ヒントは、特定の予め定義された入力がユーザによって提供されるとき、どのアクションを取るべきか記述する。コンピュータシステムはまた、決定されたアクションをユーザ入力に対応するヒントに従って実行する。
別の実施形態において、コンピュータシステムは、種々のエンティティに基づいて2つまたはそれ以上の構成されたビューの組み合わせを表示するための方法を実行する。例えば、コンピュータシステムは、一般的ビューワ上に提示するために、種々のデータ型のエンティティに関連付けられた種々のエンティティの第1のビューを生成する。エンティティとデータ型は、対応するスキーマにおいて定義される種々の関係を有する。スキーマは、データ型と共にリポジトリ内にデータとして記憶される。コンピュータシステムは、一般的ビューワ上に提示するために、種々のデータ型のエンティティに関連付けられた種々のエンティティの第2のビューを生成する。コンピュータシステムは、第1のビューと第2のビューが統合されるべきであることを示す、ユーザ入力を受信する。コンピュータシステムは、ユーザ入力に従って、第1のビューと第2のビューを統合する。コンピュータシステムはまた、第1のビューおよび第2のビューのエンティティに関連付けられたエンティティを、各エンティティの対応するスキーマに従って更新する。
この「課題を解決するための手段」の記載は、以下の「発明を実施するための形態」でさらに述べる概念の選択を簡略化した形式で紹介するために提供されるものである。この「課題を解決するための手段」の記載は、特許請求される主題の重要な特徴または主要な特徴を特定するようには意図されておらず、特許請求される主題の範囲を決定する際の助けとして使用されることも意図されていない。
本発明の実施形態に関する上述および他の利点および特徴をさらに明らかにするために、本発明の実施形態のさらに詳しい説明を、添付の図面を参照することによって提供する。これらの図面は本発明の典型的な実施形態のみを示すものであり、従ってその範囲を制限するものとしてみなされるべきではないことを理解されたい。本発明は、添付の図面の使用を通して追加の仕様および詳細とともに記載され説明されるであろう。
本発明の実施形態が、様々なデータ型の情報モデルの編集、ナビゲート、および操作を含む動作が可能なコンピュータアーキテクチャを示す図である。 編集を実行する前はその型が未知である1つまたは複数のエンティティを編集するための例示的な方法のフローチャートである。 様々なデータ型のエンティティ間をナビゲートするための例示的な方法のフローチャートである。 エンティティをどのように表示すべきかを示すヒントをスキーマ内に提供するための例示的な方法のフローチャートである。 1つまたは複数のエンティティに基づいて2つまたはそれ以上の構成されたビューの組み合わせを表示するための例示的な方法のフローチャートである。 情報が表示されナビゲートされる、本発明の実施形態を示す図である。 情報が表示されナビゲートされる、本発明の実施形態を示す図である。
本明細書で説明される実施形態は、データを編集および提示するためのフレームワークを対象とする。一実施形態において、コンピュータシステムは、編集を実行する前はその型が未知である1つまたは複数のエンティティを編集する方法を実行する。例えば、コンピュータシステムは、一般的ビューワ上に提示するために、様々なデータ型のエンティティに関連付けられたエンティティのビューを生成する。エンティティとデータ型は、対応するスキーマにおいて定義される関係を有する。スキーマは、データ型と共にリポジトリ内にデータとして記憶される。コンピュータシステムは、各エンティティが関連するデータ型を有する、1つまたは複数の選択されたエンティティを変更するよう構成された編集要求を受け取る。コンピュータシステムは、データ型を含み、受信した編集要求に対応する、選択されたエンティティの種々のプロパティを決定するようにリポジトリにクエリを行う。コンピュータシステムは、編集がスキーマ内に記憶される関係情報に基づいて有効であることを、スキーマに基づいて判断する。コンピュータシステムはまた、有効とされた編集情報を提示のために一般的ビューワに送る。一般的ビューワは、選択されたエンティティおよび対応するデータ型をどのように処理すべきかに関する特別な知識を有しない。
別の実施形態において、コンピュータシステムは、様々なデータ型のエンティティ間をナビゲートするための方法を実行する。例えば、コンピュータシステムは、一般的ビューワ上に提示するために、様々なデータ型のエンティティに関連付けられたエンティティのビューを生成する。エンティティとデータ型は、対応するスキーマ内に定義される関係を有する。スキーマは、データ型と共にリポジトリ内にデータとして記憶される。コンピュータシステムは、第2の異なるデータ型に関連付けられた第2の選択されたエンティティの選択を示す、ナビゲーション入力を受け取る。コンピュータシステムは、第1の選択されたエンティティおよび第2の選択されたエンティティに関連付けられたデータ型についての関係情報にアクセスする。コンピュータシステムは、第1の選択されたエンティティおよび第2の選択されたエンティティを含む、更新ビューを生成し、該更新ビューはアクセスされた関係情報に基づいている。コンピュータシステムはまた、ナビゲーション入力に基づいて、生成された更新ビューを提示する。
別の実施形態において、コンピュータシステムは、エンティティをどのように表示すべきかを示すヒントを、スキーマ内に提供するための方法を実行する。例えば、コンピュータシステムは、一般的ビューワ上に提示するために、様々なデータ型のエンティティに関連付けられたエンティティのビューを生成する。エンティティとデータ型は、対応するスキーマ内に定義される関係を有する。スキーマは、データ型と共にリポジトリ内にデータとして記憶される。コンピュータシステムは、少なくとも1つのエンティティに対して取られるべきアクションを示す、ユーザ入力を受け取る。コンピュータシステムは、リポジトリ内に記憶されたヒントにアクセスして、エンティティに対してどのアクションを実行すべきかをユーザ入力に基づいて決定する。システムは、ヒントを使用して、特定の予め定義された入力がユーザにより提供されるときにどのアクションを取るべきか決定する。コンピュータシステムはまた、決定されたアクションをユーザ入力に対応するヒントに従って実行する。
別の実施形態において、コンピュータシステムは、種々のエンティティに基づいて2つまたはそれ以上の構成されたビューの組み合わせを表示するための方法を実行する。例えば、コンピュータシステムは、一般的ビューワ上に提示するために、種々のデータ型のエンティティに関連付けられた種々のエンティティの第1のビューを生成する。エンティティとデータ型は、対応するスキーマ内に定義される種々の関係を有する。スキーマは、データ型と共にリポジトリ内にデータとして記憶される。コンピュータシステムは、一般的ビューワ上に提示するために、種々のデータ型のエンティティに関連付けられた種々のエンティティの第2のビューを生成する。コンピュータシステムは、第1のビューと第2のビューが統合されるべきであることを示す、ユーザ入力を受け取る。コンピュータシステムは、ユーザ入力に従って、第1のビューと第2のビューとを統合する。コンピュータシステムはまた、第1のビューおよび第2のビューのエンティティに関連付けられたエンティティを、それぞれのエンティティの対応するスキーマに従って更新する。
本発明の実施形態は、以下でより詳細に述べるように、コンピュータハードウェアを含む特定用途または汎用のコンピュータを備えること、または利用することができる。本発明の範囲内の実施形態は、コンピュータ実行可能命令および/またはデータ構造を担持または記憶するための、物理的および他のコンピュータ読取可能媒体も含む。そのようなコンピュータ読取可能媒体は、汎用または特定用途のコンピュータシステムによりアクセス可能な任意の利用可能な媒体とすることができる。コンピュータ実行可能命令を記録するコンピュータ読取可能媒体は、物理的な記録媒体である。コンピュータ実行可能命令を担持するコンピュータ読取可能媒体は、伝送媒体である。従って、限定ではなく例として、本発明の実施形態は、少なくとも2つの明確に異なる種類のコンピュータ読取可能媒体、すなわち、物理的記録媒体および伝送媒体を含むことが可能である。
物理的記録媒体には、RAM、ROM、EEPROM、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または、所望のプログラムコード手段をコンピュータ実行可能命令またはデータ構造の形式で記憶するために使用可能であって、汎用または特定用途のコンピュータによりアクセス可能な任意の他の媒体が含まれる。
「ネットワーク」は、コンピュータシステムおよび/またはモジュールおよび/または他の電子デバイス間の電子データの伝送を可能にする、1つまたは複数のデータリンクとして定義される。情報がネットワークまたは別の通信接続(有線、無線、または有線と無線の組み合わせのいずれか)を介してコンピュータに転送または提供されると、該コンピュータは適切に、該接続を伝送媒体とみなす。伝送媒体には、所望のプログラムコード手段をコンピュータ実行可能命令またはデータ構造の形式で担持または伝送するために使用可能であって、汎用または特定用途のコンピュータによりアクセス可能な、ネットワークおよび/またはデータリンクが含まれ得る。上記のものの組み合わせも、コンピュータ読取可能媒体の範囲内に含まれるべきである。
しかし、種々のコンピュータシステムコンポーネントに達すると、コンピュータ実行可能命令またはデータ構造の形式のプログラムコード手段は、伝送媒体から物理的記録媒体に自動的に転送され得ることを理解されたい。例えば、ネットワークまたはデータリンクを介して受信されたコンピュータ実行可能命令またはデータ構造は、ネットワークインターフェースカード内のRAMにバッファリングされ、そして、最終的にはコンピュータシステムにおいてコンピュータシステムRAMおよび/または低揮発性の物理的記録媒体へ転送され得る。従って、物理的記録媒体が、伝送媒体をも(または主に)利用するコンピュータシステムコンポーネント内に含まれ得ることを理解されたい。
コンピュータ実行可能命令は、例えば、汎用コンピュータ、特定用途コンピュータ、または特定用途の処理装置に或る特定の機能または機能のグループを実行させる、命令またはデータを備える。コンピュータ実行可能命令は、例えば、バイナリ、アセンブリ言語などの中間フォーマット命令、またはさらにはソースコードとすることができる。本発明の主題を、構造的特徴および/または方法論的な動作に特有の言語で説明するが、添付の特許請求の範囲で定義される主題は、必ずしも上述のような説明される特徴または動作には限定されないことを理解されたい。むしろ、説明される特徴および動作は、特許請求の範囲に記載の事項の実装する例示の形式として開示される。
当業者には、本発明を、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、メッセージプロセッサ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースもしくはプログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、携帯電話、PDA、ページャ、ルータ、スイッチャなどを含む、多数のタイプのコンピュータシステム構成を有するネットワークコンピュータ環境において実施することができることが理解されよう。本発明を、ネットワークを通じて(有線のデータリンク、無線のデータリンク、または有線のデータリンクと無線のデータリンクとの組み合わせのいずれかにより)リンクされる、ローカルおよびリモートのコンピュータシステムの両方がタスクを実行する、分散システム環境において実施することもできる。分散システム環境では、プログラムモジュールを、ローカルおよびリモートのメモリ記憶装置の両方に配置することができる。
図1は、本発明の原理が利用され得るコンピュータアーキテクチャ100を図示している。コンピュータアーキテクチャ100は、コンピュータシステム101を含む。一部の実施形態において、コンピュータシステム101は、システムメモリ155およびプロセッサ156を含むことができる。上述のように、メモリ155は、RAM、ROM、半導体、磁気または他のメモリを含め、任意のタイプのコンピュータメモリとすることができる。同様に、プロセッサ156は、任意のタイプのプロセッサ、マイクロコントローラ、状態マシン、あるいは情報を処理および/またはコンピュータシステムの機能性を制御する他の手段とすることができる。
コンピュータシステム101は、ビューワ110も含むことができる。ビューワ110は、電子信号を受信し、表示することが可能な任意のタイプのソフトウェアまたはハードウェア装置とすることができる。例えば、ビューワ110は、ビュー111または更新ビュー112を受信し、そのビューをユーザに表示するように構成されることがある。ビューワ110は、例えば、ユーザ105からのユーザ入力106などの、コンピュータシステム101の外部からの入力を受信するように構成されることがある。一部の実施形態において、ビューワ110は、中間の正規化形式(canonical form)で受信したデータを処理し、表示するように構成されることがある。ユーザ105は、開発者、エンドユーザ、または任意の他のタイプのユーザを含め、任意のタイプのコンピュータユーザとすることができる。ユーザ入力106は、マウス、キーボードもしくは他の周辺機器入力、タッチスクリーン、カメラもしくは他の装置により記録されるようなジェスチャ、動き(motion)、キーストロークの組み合わせ、または他の入力を含め、任意のタイプの入力とすることができる。ビューワ110は、ユーザ入力106をユーザ105から受信し、ユーザ入力106をデータフローエンジン115に送信することができる。
一部の実施形態において、データフローエンジンは、エンティティとデータとの間の依存関係(dependency)を管理する。例えば、データフローエンジン115は、エンティティ120と、リポジトリ125内のデータアイテム130との間の依存関係116を管理することができる。依存関係は、エンティティ、スキーマ、データ型または他のデータアイテムの間に存在し得る、任意の種類の関係(relationship)とすることができる。依存関係は、どのクエリの結果が或る特定のデータアイテムに依存するかを追跡することができるため、データアイテムが変わるときクエリを再評価することが可能である。データフローエンジン115は、データを中間の正規化形式からビューワ110によって表示可能な形式に変換するように構成されることもある。データフローエンジン115は、以下で説明するように、エンティティ120から、正規情報(canonical information)をクエリ117および/または編集118の形式で受信することができる。
リポジトリ125は、ファイル、データベース、UDDI(universal description, discovery and integration)レジストリ、LDAP(lightweight directory access protocol)ディレクトリ、または他の形式のデータベースもしくはデータベースのセットなど、情報を記憶する任意の手段とすることができ、ハードドライブ、ネットワークドライブ、フラッシュドライブ、光または他のタイプのストレージを含め任意のタイプのデータストア内に記憶することができる。一部の実施形態において、ビューワ110、データフローエンジン115、またはエンティティ120のいずれかを、リポジトリ125から情報を読み込みおよび/またはリポジトリ125に情報を書き込むように構成することができる。このような読み込みおよび/または書き込みは、(いかなる他のモジュールを介することなく)直接起こることもあり、図1に示される(または示されない)種々のモジュールを介して間接的に起こることもある。エンティティ120は、任意のタイプのエンティティを含むことができる。簡略化のため、エンティティ120内には、人120A、タスク120B、およびイベント120Cのみを示す。しかし、本明細書においてエンティティという用語が使用されるとき、データに関連付けられる任意のアイテムを、エンティティとすることができることは理解されよう。一部の場合において、エンティティ120は、リポジトリ125に記憶されるデータアイテム130の正規表現である。
データフローエンジンは、クエリ117および/または編集118を使用して、エンティティ120および/またはリポジトリ125と通信することができる。例えば、データフローエンジン115は、クエリをエンティティ120に送信して、選択すべきエンティティを決定することができる。加えてクエリ117は、情報をリポジトリ125から読み出すべきか、またはリポジトリ125に書き込むべきかを示すことがある。同様に、リポジトリ125は、クエリ(例えば、クエリ117)をデータフローエンジン116に送信して、依存関係または他の情報を取り出すことができる。データフローエンジン115は、提案された編集118をエンティティ120および/またはリポジトリ125に送信することができる。一部の場合において、エンティティ120およびデータアイテム130はそれぞれ、別個にまたは全体として編集可能である。さらに、リポジトリ125は、提案された編集118を検証のためにデータフローエンジン115に送信することができる。編集の検証については、図2に関連して、以下でより詳細に説明する。
ビュー111および更新ビュー112は、任意のタイプのデータ提示を含むことができる。例えば、ビュー111には、リスト、チャート、グラフ、スプレッドシート、ウェブページ、ワープロ文書、スライド、ピクチャ、アプリケーションウィンドウ、あるいは、情報をフォーマットおよび/または提示する任意の他の方法が含まれ得る。更新ビュー112には、上記ビューに対して行われた変更、追加、削除、置換、または他の修正を含んでいる、上記の例の任意のものが含まれ得る。ビュー111が変更されていない場合、またはビューの現在閲覧されていない部分に変更を生じさせた情報を受け取った場合など一部の場合では、ビュー111および更新ビュー112は、同じである。ビューの現在閲覧されていない部分に変更を生じさせる情報を受信し、続いてビューのその部分がビュー内に移動される場合には、更新ビュー112は、オンザフライで更新され、従って、潜在的に任意の不必要な処理は省かれることとなる。
図2は、1つまたは複数のエンティティを編集するための方法200のフローチャートを図示しており、該方法では、編集を実行する前は上記エンティティの型は未知である。方法200は、環境100の構成要素およびデータを頻繁に参照して説明される。
方法200は、一般的ビューワ上に提示するために、1つまたは複数のデータ型に関連付けられた1つまたは複数のエンティティのビューを生成する動作(動作210)を含み、ここで、エンティティとデータ型は、対応するスキーマにおいて定義される関係を有し、スキーマは、データとしてリポジトリ内にデータ型と共に記憶されている。例えば、ビューワ110は、ビューワ110上に提示するための、1つまたは複数のデータ型130Bに関連付けられたエンティティ120(例えば、エンティティ120A−120C)のビュー111を生成することができ、ここでエンティティ120とデータ型130Bは、対応するスキーマ130A内に定義されるように関係130Dを有し、そして該スキーマ130Aは、データ型130Bと共にリポジトリ125内にデータとして記憶されている。代替実施形態では、データフローエンジン115などの他のモジュールが、ビュー111を生成することもできる。
一部の場合において、ビュー111は、データ型の一部分に基づくものとすることができる。例えば、ビュー111は、フルネーム(氏名)データ型のうちのファーストネーム(名)(例えば、「ジョン・ドウ」のうちの「ジョン」)に基づくものとすることができる。データ型130Bは、データ形式、レイアウト、ファイル拡張子、ファイルタイプ、命名分類、組織的分類、および他のものを含め、任意のタイプのデータ分類子(classifier)を含むことができる。一部の場合において、データ型130Bは、コンピュータユーザにより定義可能および/または選択可能である。例えば、ユーザは、特定のデータ型の入力を可能にし、および「通りの名前(Street Name)」、「郵便番号(Zip Code)」、「都市(City)」および「州(State)」などの追加のデータ型を含み得る、データ型「勤務先住所(Business Address)」を定義することができる。上述のように、データ型は、「ピクチャ」、「ムービー」または「スプレッドシート」などのファイルタイプを示すことができる。他のデータ型は、「.jpg」、「.mpeg」または「.xls」などのファイル拡張子を指定することができる。一部の実施形態において、ビューは、異なるデータ型の組み合わせに基づくものとすることができる。さらに、新しいユーザ定義のデータ型を検出すると、スキーマを自動的に更新することができる。
スキーマ130Aは、エンティティ120とデータ型130Bとの間のある特定のルールおよび/または関係を示すことができる。例えば、スキーマ130は、「人」120などの特定のエンティティが、データ型「フルネーム」を有することを示すことができる。スキーマ130Aは、各「人」エンティティが、該「人」エンティティにリンクされた「タスク」エンティティを有することを示すこともできる。従って、一部の実施形態において、ユーザ105が「人」エンティティ120A内のデータを編集するとき、「タスク」120Bからのデータも編集に利用可能である。さらに、任意のデータ型が、エンティティ120Aおよび120Bの両方で重複し、または両方に現れるとき、一方のエンティティ内の上記データの更新により、他方のエンティティ内の対応するデータは自動的に更新され得る。容易に理解されるように、エンティティおよび関係の多くの組み合わせが可能であり、上記の例は、スキーマ、データ型、エンティティ、関係、または例に使用される任意の他の概念の使用を限定するものとして使用されるべきではない。
上で示したように、スキーマ130は、他の型のデータの記憶と同様に、データとしてリポジトリ125内に記憶される。一部の場合において、スキーマ130は、ユーザ105によって編集可能である。例えば、ユーザ105は、データフローエンジン115によって使用されるユーザ入力106を入力して、クエリを行うこと、および/またはリポジトリ125内のデータアイテムを編集することができる。スキーマ130A内またはスキーマ全体内またはスキーマのグループ内の任意の情報が、ユーザ105によって編集されることがある。ユーザは、スキーマに基づいてエンティティがどのように提示されるべきかを記述するヒントを、追加することができる。例えば、ユーザ106は、特定の他のエンティティが既に表示されているとき、または、エンティティ120Cがそれ自身により表示されているとき、「イベント」エンティティ120Cがどのように提示されるべきかを示すヒントを、スキーマ130Aに追加することができる。スキーマデータを変更することによって、多数の他のプロパティまたはルールを変えることができる。一部の場合において、エンティティは、1つまたは複数の言語でローカル化が可能である。
方法200は、各エンティティが関連するデータ型を有する、1つまたは複数の選択されたエンティティを変更するように構成された編集要求を受信する動作(動作220)を含む。例えば、ビューワ110は、各エンティティが関連するデータ型(例えば、データ型130B)を有する複数のエンティティ120を変更するように構成される編集要求を含む、ユーザ入力106を受信することができる。データフローエンジン115は、入力106をクエリ117または編集118の形式でエンティティ120およびリポジトリ125に渡す前に、ユーザ入力106を処理することができる。追加または代替的に、データフローエンジン115は、ユーザ入力106を処理することなく、ユーザ入力106を、単にエンティティ120および/またはリポジトリ125に渡すことができる。クエリ117は、一部の実施形態では、ユーザ入力106においてユーザ105により選択された、これらのエンティティに対するクエリを含むことがある。編集118は、一部の実施形態では、意図された編集、および/または依存関係116に基づいて編集が有効であるという指示(indication)を含む、処理済みのクエリを含むことがある。
方法200は、データ型を含む受信した編集要求に対応する選択されたエンティティに関する、1つまたは複数のプロパティを決定するように、リポジトリにクエリを行う動作(動作230)を含む。例えば、クエリ117を使用して、データ型130Bを含むユーザ入力106内の受信した編集要求に対応する、ユーザ選択されたエンティティのプロパティを決定するように、リポジトリ125にクエリを行うことができる。
方法200は、スキーマ内に記憶される関係情報に基づいて編集が有効であることを、スキーマに基づいて判断する動作(動作240)も含む。例えば、コンピュータシステム101は、スキーマ130および関係情報130Dに基づいて、編集118が有効であると判断することができる。ユーザ105は、ユーザ入力106において「タスク」エンティティが編集されるべきであることを示すことができる。より具体的には、入力106は、「日付」データ型を、「年/月/日」形式から「日/月/年」形式に変更すべきであることを示すことがある。スキーマが、どちらの形式もそのデータ型に対して許容可能であることを示すとき、該編集は有効であると宣言される。しかし、ユーザ入力106が、「日付」データ型を、「年/月/日」から「氏名」に変更することを示すとき、スキーマは「氏名」データ型を許容しないため、指示された編集は無効であると宣言される。スキーマ130Aおよび関係情報130Dは、ある特定のエンティティ内に存在すべきまたは存在すべきではない任意のタイプの情報を指定することができ、さらにスキーマ130Aに基づいてエンティティ内に存在すべきまたは存在すべきではないデータ型または任意の他の情報を指定することができる。一部の場合において、編集は、編集要求を受信する前に有効とされることがある。このような構成により、ユーザは、ある特定のコマンドを有効にする(enable)/無効にする(disable)こと、検証コマンドのメニューを構築すること、または他のシステムの機能を選択することが可能になる。
方法200は、有効とされた編集情報を、提示のために、選択されたエンティティおよび対応するデータ型をどのように処理すべきかに関する事前の知識を有しない一般的ビューワに送信する動作(動作250)も含む。例えば、リポジトリ125またはエンティティ120のいずれかが、編集118内の有効な編集情報を提示のためにビューワ110に送信することができる。一般的ビューワ110は、選択されたエンティティ120および対応するデータ型130Bをどのように処理すべきかに関する事前の知識を有していない。
ビューワ110は従って、ある特定のエンティティまたは特定のデータ型をどのように提示するかに関する任意の事前の指示なしで、エンティティに対応するスキーマを参照して、エンティティをどのように提示するかを決定することができる。例えば、ビューワ110が、ユーザ定義されたデータ型「会議(Conferences)」を有する「イベント」エンティティを提示したことが全くない場合、ビューワ110は、スキーマ130Aを見ることで、どのように情報を提示するか決定することが可能である。このようなスキーマへの参照は、動的であり、エンティティが提示される度に行うことが可能である。一部の場合において、ユーザは、選択された複数のエンティティを、個々に見ることができ、または有効な編集情報に基づいて、生成されたビューの一部として見ることができる。例えば、ユーザは、選択されたエンティティを、編集する前に見ることを選ぶことができる。他の場合において、ユーザは、編集が実行された後に、エンティティを見ることを望むこともできる。さらに他の場合には、ユーザは、編集が実行されているときに見ることもできる。
一部の実施形態において、コンピュータシステム101は、リポジトリ内の利用可能な各データ型のリストを送信するオプションの動作を実行することができる。これは、ユーザ105が、リポジトリ125内の利用可能な全てのデータ型130Bを知りたい場合に有用である。
図3は、様々なデータ型のエンティティ間をナビゲートするための方法300のフローチャートを図示している。方法300を、図1、6Aおよび6Bに示される環境の構成要素およびデータを頻繁に参照して説明する。
方法300は、一般的ビューワ上に提示するために、第1のデータ型に関連付けられた第1の選択されたエンティティのビューを生成する動作(動作310)を含み、上記エンティティとデータ型は、対応するスキーマで定義された関係を有し、該スキーマは、データとしてリポジトリ内にデータ型と共に記憶されている。例えば、ビューワ110は、「ファーストネーム」データ型に関連付けられた円グラフビュー605Aを生成することができる。該ファーストネームのエンティティであるジョー、フランク、ビル、マイク、およびその他を、605Aに示している。これらのエンティティは、リポジトリ125内にデータ型130B(例えば「ファーストネーム」)と共にデータとして記憶されているスキーマ130Aにおいて定義された関係を有する。ビュー605Aは、リポジトリ内のファーストネームの全てまたはサブセットを表すことができる。例えば、ビュー605Aは、会議の出席者である人のファーストネームを表すことができる。
方法300は、第2の異なるデータ型に関連付けられた第2の選択されたエンティティの選択を示す、ナビゲーション入力を受信する動作(動作320)を含む。例えば、コンピュータシステム101は、(ユーザ入力106と同じまたは異なる)ユーザ選択入力610Aを、ユーザ105から受信することができる。ユーザ選択入力610Aは、異なるデータ型の選択、または異なるデータ型を有するエンティティの選択を示すことができる。例えば、ユーザは、リポジトリ125内に記憶された複数の会議の全てまたはサブセットについての円グラフを見ることを選択することができる。その結果、「会議」データ型のエンティティ(本例では、会議A、会議B、会議C、会議D、および会議E)を示す、ビュー615Aを表示することができる。従って、ユーザは、あるビューから別のビューへナビゲートする。一部の場合において、異なるデータ型を有するエンティティは、第1の選択されたエンティティとの関係を通じて発見される。例えば、上記の例において、ビュー605Aは、会議AからEのいずれかに出席した人のファーストネームを表示することができる。従って、ユーザが、あるファーストネームを選択すると、会議に関連付けられたデータが、各ユーザの名前にさらにリンクされる。
一部の場合において、コンピュータシステム101は、複数のデータ型に関連付けられた複数の選択されたエンティティの選択を示す、複数のナビゲーション入力を受信するように構成されることがある。例えば、複数のユーザ選択入力610Aは、データ型「ファーストネーム」、「年齢」、「会社」および「電子メールアドレス」を有するエンティティの選択を示すことができる。この例では、ビューワ110は、エンティティのグループの各エンティティを1つずつ、または全てのエンティティを一度に、データ型に関わらず表示するように構成される。各エンティティを、他のエンティティとの関係に基づいて表示することができる。
方法300は、第1の選択されたエンティティおよび第2の選択されたエンティティに関連付けられたデータ型の関係情報にアクセスする動作(動作330)を含む。例えば、コンピュータシステム101は、第1の選択されたエンティティ「ジョー」および第2の選択されたエンティティ「会議A」に関連付けられたデータ型130Bに関する関係情報130Dにアクセスすることができる。上記で説明したように、「ジョー」および「会議A」などのエンティティは、ジョーが会議Aの出席者であり得るという点において、あるタイプの関係を共有することがある。
方法300は、第1の選択されたエンティティおよび第2の選択されたエンティティを含む更新ビューであって、アクセスされた関係情報に基づいて更新ビューを生成する動作(動作340)を含む。例えば、コンピュータシステム101は、第1の選択されたエンティティ(例えば、「ジョー」)および第2の選択されたエンティティ(例えば、「会議A」)を含む、更新ビュー112(ビュー615Aと同じでも同じでなくとも良い)を生成することができ、該更新ビュー112は、関係情報130Dに基づいている。関係情報130Dは、様々なデータ型のエンティティをリンクまたは結び付けるのに使用される、任意のタイプの情報、スキーマ130Aの一部分、または他のものとすることができる。
方法300は、ナビゲーション入力に基づいて、生成された更新ビューを提示する動作(動作350)を含む。例えば、生成された更新ビュー112を、ユーザ選択入力を受信した結果として生成されたビューワ110上に、提示することができる。ユーザは、選択されたエンティティを、個々に、または生成された更新ビューの一部として見ることができる。例えば、ユーザは、選択されたエンティティを、編集する前に見ることを選ぶことができる。他の場合、ユーザは、該エンティティを、編集を実行した後に見ることを望むことができる。さらに他の場合、ユーザは、編集が実行されているときに該編集を見ることができる。代替実施形態において、生成された更新ビューを別のアプリケーションのウィンドウ内に提示することができるように、生成された更新ビュー112へのリンクを提示することもある。該リンクは、ハイパーリンクとすること、あるいはビューの全てまたは一部分を別のアプリケーションのウィンドウ内に開くことを可能にする他のタイプのリンクとすることができる。
図4は、エンティティをどのように表示すべきかを示すヒントを、スキーマ内に提供するための方法400のフローチャートを図示している。方法400を、環境100の構成要素およびデータを頻繁に参照して説明する。
方法400は、一般的ビューワ上に提示するために、1つまたは複数のデータ型に関連付けられた1つまたは複数のエンティティのビューを生成する動作(動作410)を含み、上記エンティティとデータ型は、対応するスキーマで定義された種々の関係を有し、該スキーマは、データとしてリポジトリ内にデータ型と共に記憶されている。例えば、ビューワ110は、ビューワ110上に提示するために、1つまたは複数のデータ型130Bに関連付けられたエンティティ120(例えば、エンティティ120A−120C)のビュー111を生成することができ、ここで、エンティティ120とデータ型130Bは、対応するスキーマ130Aで定義される関係130Dを有し、該スキーマ130Aは、リポジトリ125内にデータ型130Bと共にデータとして記憶される。代替実施形態において、データフローエンジン115などの他のモジュールが、ビュー111を生成することもできる。
方法400は、少なくとも1つのエンティティに対して取られるべきアクションを示す、ユーザ入力を受信する動作(動作420)を含む。例えば、ビューワ110は、「人」エンティティ120Aに対して取られるべきアクションを示す、ユーザ入力106を受信することができる。ユーザ入力106によって、任意の妥当なアクションを指定することができることに留意されたい。例えば、取られるべきアクションには、作成、読み込み、更新、削除、編集、移動、複写(duplicating)、または任意の他のアクションが含まれ得る。ユーザ入力106には、マウスジェスチャ、キーボードジェスチャ、またはマウスジェスチャとキーボードジェスチャの組み合わせが含まれ得る。例えば、特定のキーストローク、または特定のマウスクリックが、削除、更新、または他のジェスチャとして解釈され得る。マウスジェスチャには、ダブルクリック、クリックアンドドラック、マウスオーバおよび全ての他の形式のマウスの通信が含まれ得る。カメラおよびタッチスクリーンなどの他の装置を使用して、ジェスチャを入力してもよい。ジェスチャの解釈および/またはジェスチャのコマンドへのマッピングは、ユーザにより手動で行うことも、またはソフトウェアプログラムにより自動で行うこともできる。コマンドへのジェスチャのマップは、ユーザ105によってカスタマイズされてもよい。
方法400は、リポジトリ内に記憶された1つまたは複数のヒントにアクセスして、ユーザ入力に基づいてエンティティに対してどのアクションを実行すべきかを決定する動作(動作430)を含み、上記ヒントは、ユーザが特定の予め定義された入力を提供したときに、どの動作を取るべきかを記述している。例えば、データフローエンジン115は、リポジトリ125に記憶されたヒント130Cにアクセスして、ユーザ入力106に基づいてエンティティ(例えば、「人」)に対してどの動作を実行すべきかを決定することができる。ヒント130Cは、ユーザが特定のジェスチャを提供するとき、どの動作を取るべきかを記述することができる。例えば、ヒント130Cは、ユーザ入力106がエンティティに対するダブルクリックを含むとき、該エンティティが複写されるべきであることを指示することができる。他のヒントは、エンティティがダブルクリックされるとき、エンティティが編集に利用可能になることを示すことができる。ヒント130Cは、任意のジェスチャを、エンティティに対して使用され得る機能性の任意の一部に結び付けることができる。追加または代替的に、ヒントを使用してユーザがエンティティのプロパティを選択できるようにすることができる。例えば、ヒントは、特定のジェスチャを受信すると、エンティティのレイアウト、形状、色または他のプロパティを選択および/または変更することを指定することができる。一部の場合において、ヒントを使用して、ユーザ入力106を受信する前にビューを構築することができる。
方法400は、決定されたアクションを、ユーザ入力に対応するヒントに従って実行する動作(動作440)を含む。例えば、コンピュータシステム101は、決定された動作をユーザ入力106に対応するヒント130Cに従って実行することができる。上記で説明したように、ユーザ入力106はジェスチャを含むことができる。該ジェスチャを、選択されたエンティティに対して取るべきアクションにマッピングすることができる。リポジトリ125は、受信したジェスチャに基づいてどの動作を実行すべきかを決定するのに全体としてまたはスキーマ130Aに加えて使用される、ヒント130Cを記憶することができる。
図5は、1つまたは複数のエンティティに基づいて2つまたはそれ以上の構成されたビューの組み合わせを表示するための方法500のフローチャートを図示している。方法500を、図1、6Aおよび6Bに示される環境の構成要素およびデータを頻繁に参照して説明する。
方法500は、一般的ビューワ上に提示するために、1つまたは複数のデータ型に関連付けられた1つまたは複数のエンティティの第1のビューを生成する動作(動作510)を含み、上記エンティティとデータ型は、対応するスキーマ内で定義される種々の関係を有し、該スキーマは、データ型と共にリポジトリ内にデータとして記憶されている。例えば、方法300に関して説明したように、ビューワ110は、データ型「ファーストネーム」に関連付けられた円グラフビュー605Bを生成することができる。ファーストネームのエンティティであるジョー、フランク、ビル、マイク、およびその他が605Bに示されている。これらのエンティティは、データ型130B(例えば「ファーストネーム」)と共にリポジトリ125内にデータとして記憶されているスキーマ130Aに定義される関係を有する。ビュー605Bは、リポジトリ内のファーストネームの全てまたはサブセットを表すことができる。例えば、ビュー605Bは、会議の出席者のファーストネームを表すことができる。
方法500は、一般的ビューワ上に提示するために、1つまたは複数のデータ型に関連付けられた1つまたは複数の異なるエンティティの第2のビューを生成するオプションの動作(動作520)を含む。例えば、動作510と同様に、ビューワ110は、ユーザ選択入力610Bに示されるように、選択されたデータ型に関連付けられたチャートまたは他のビューを生成することができる。第2のビューを、ビューワ110上に表示してもしなくとも良く、あるいは、第2のビューの少なくとも特定の部分を表示してもしなくとも良い。第2のビューを表示するかどうかは、ユーザによって決定され得る。一部の場合において、ユーザが、2つまたはそれ以上のビューの「マッシュアップ(mashup)」の作成を望むことがある。マッシュアップは、多数の異なるビューの1つまたは複数の要素の組み合わせ、または統合(integration)である。例えば、ユーザは、あるビューからの要素Aと、あるビューからの要素Bと、および別のビューからの要素Cとを組み合わせて、それらを1つのビューに組み合わせることを望むことがある。これについて、以下により詳細に説明する。
方法500は、第1のビューと第2のビューを統合すべきことを示す、ユーザ入力を受信する動作(動作530)を含む。例えば、コンピュータシステム101は、第1のビューと第2のビューが統合されるべきであることを示すユーザ選択入力610Bを受信することがある。一部の場合において、統合は、あるビューにおける次のユーザのアクション(例えば、選択)が、他のビューにおける変更を引き起こすこととなることを暗黙的に示す。一例では、第1のビューが、リポジトリ125内に記憶されるファーストネームのチャートを示すことがある。第2のビュー(図示せず)が、利用可能な会議(例えば会議A−E)のチャートを含むことがある。ユーザ105は、会議Aを選択し、そして、2つのビューを組み合わせることによって統合620Bを取得することができる。統合620Bは、会議Aに出席者のファーストネームの円グラフビューを表す。このような統合は、リポジトリ125内のファーストネームのビューと、リポジトリ125内の利用可能な会議とのマッシュアップと称することができる。多数の他の例が可能である。統合630Bから分かるように、ユーザが出席者のファーストネーム(例えば、ジョー)および会議名(「会議A」)を選択した場合、チャートは、会議Aに出席したジョーという名前のユーザのグラフを示すことができる。他の名前/会議の関係およびチャートが可能である。さらに、任意のタイプのモデルまたはチャートを、任意のデータ型と同様に使用することができることに留意されたい。上記の説明は、単に説明の目的のために意図されたものであり、多数の可能な実施形態のうちのほんの数例を表すものである。
方法500は、ユーザ入力に従って第1のビューと第2のビューを統合する動作(動作540)を含む。例えば、コンピュータシステム101は、ユーザ入力610Bに従って第1のビューと第2のビューを統合することができる。2つまたはそれ以上のビューの統合は、ユーザがどのようにデータが提示されることを望んでいるか、および各ビューのどの部分を統合全体において使用すべきかに基づくものとすることができる。一部の実施形態において、2つのビューを統合する方法は、入力610Bにおいてユーザがどのジェスチャを使用したかにより決定され得る。例えば、ユーザが第1のビューをクリックして第2のビューへドラッグした場合、統合には、第1のビューの全ての重複する要素を第2のビューからの要素で上書きするが、第1のビューの全ての固有の要素は保持することが含まれる。上記の例と同様に、これらは可能な統合のタイプを限定するように使用されるべきではない。
方法500は、各エンティティの対応するスキーマに従って、第1のビューおよび第2ビューのエンティティを更新する動作(動作550)を含む。例えば、「ジョー」および「会議A」などのエンティティを、上記の例で使用されるように、各エンティティの対応するスキーマに従って更新することができる。スキーマは、上記エンティティを更新する間に保持されるべき他のエンティティとの関係を指示することができる。一部の実施形態において、スキーマにアクセスして、どのように更新を実行すべきかを指示する、エンティティに対応する関係情報を取得することができる。一部の場合において、ビューの更新は、第2のビューの選択時に自動的に起こり得る。
以上、様々なデータ型の情報モデルを編集、ナビゲート、および操作するための実施形態を提示した。様々なデータ型のエンティティを、該データ型を事前に知る必要なく編集することができる。様々なデータ型のエンティティを、エンティティ間の関係に基づいてナビゲートすることができる。エンティティをどのように表示すべきかを示すヒントを、スキーマ内に提供することができる。また、2つまたはそれ以上の構成されたビューの組み合わせをユーザ選択入力に基づいて表示することができる。
本発明を、本発明の精神または主要な特徴から逸脱することなく他の特定の形式で具現化することができる。説明される実施形態は、全ての点において限定としてではなく単に例示としてみなされるべきである。本発明の範囲は、従って、前述の説明ではなく添付の特許請求の範囲によって示される。特許請求の範囲と等価の意味および範囲にある全ての変更がその範囲に含まれるべきである。

Claims (12)

  1. コンピュータシステム内で1つまたは複数のエンティティを編集するための方法であって、前記エンティティの型は該編集を実行する前は未知であり、前記方法は、
    一般的ビューワ上に提示するために、1つまたは複数のデータ型に関連付けられた1つまたは複数のエンティティのビューを生成する動作であって、前記エンティティと前記データ型は、対応するスキーマで定義される関係を有し、前記スキーマは、リポジトリ内に前記データ型と共にデータとして記憶される、動作と、
    各エンティティが関連するデータ型を有する、1つまたは複数の選択されたエンティティを変更するように構成された編集要求を受信する動作と、
    前記データ型を含む、前記受信した編集要求に対応する前記選択されたエンティティの1つまたは複数のプロパティを決定するように前記リポジトリにクエリを行う動作と、
    前記スキーマに記憶された関係情報に基づいて前記編集が有効であることを、前記スキーマに基づいて判断する動作と、
    提示のために、該有効とされた編集情報を、前記選択されたエンティティおよび対応するデータ型をどのように処理すべきかに関する事前の知識を有しない一般的ビューワに送信する動作と
    を含むことを特徴とする方法。
  2. 前記リポジトリ内の利用可能な各データ型のリストを送信する動作をさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記ビューは、データ型の一部分に基づいていることを特徴とする請求項1に記載の方法。
  4. 前記選択されたエンティティを表示する動作さらに含むことを特徴とする請求項1に記載の方法。
  5. 前記スキーマは、前記スキーマに基づいてエンティティをどのように提示すべきかを記述するヒントを含むことを特徴とする請求項1に記載の方法。
  6. 前記エンティティは、1つまたは複数の言語でローカライズ可能であることを特徴とする請求項1に記載の方法。
  7. データ型は、コンピュータのユーザによって定義可能であることを特徴とする請求項1に記載の方法。
  8. 新しいユーザ定義のデータ型が検出されると、前記スキーマを自動的に更新する動作をさらに含むことを特徴とする請求項7に記載の方法。
  9. 前記スキーマにアクセスして、1つまたは複数のデータ型の前記エンティティに対応する関係情報を取得する動作をさらに含むことを特徴とする請求項1に記載の方法。
  10. コンピュータシステムにおいて、エンティティをどのように表示すべきかを示すヒントをスキーマ内に提供する方法であって、
    一般的ビューワ上に提示するために、1つまたは複数のデータ型に関連付けられた1つまたは複数のエンティティのビューを生成する動作であって、前記エンティティと前記データ型は、対応するスキーマ内に定義される種々の関係を有し、前記スキーマは、リポジトリ内に前記データ型と共にデータとして記憶されている、動作と、
    少なくとも1つのエンティティに対して取るべきアクションを示す、ユーザ入力を受信する動作と、
    前記リポジトリ内に記憶される1つまたは複数のヒントにアクセスして、前記ユーザ入力に基づいて前記エンティティに対して実行すべきアクションを決定する動作であって、前記ヒントは、特定の予め定義された入力がユーザにより提供されたときに取るべきアクションを記述する、動作と、
    前記ユーザ入力に対応する前記ヒントに従って前記決定されたアクションを実行する動作と
    前記決定されたアクションの実行結果を、前記スキーマにより特定されるエンティティおよびデータ型をどのように処理すべきかに関する事前の知識を有しない一般的ビューワ上に提示する動作と
    を含むことを特徴とする方法。
  11. 前記ユーザ入力は、マウスジェスチャ、キーボードジェスチャ、またはマウスジェスチャとキーボードジェスチャの組み合わせを含むことを特徴とする請求項10に記載の方法。
  12. ヒントを使用して、表示のプロパティを選択することを特徴とする請求項10に記載の方法。
JP2010528980A 2007-10-11 2008-10-07 一般的モデルの編集フレームワーク Active JP5587781B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/871,001 2007-10-11
US11/871,001 US8880564B2 (en) 2007-10-11 2007-10-11 Generic model editing framework
PCT/US2008/079116 WO2009048891A2 (en) 2007-10-11 2008-10-07 Generic model editing framework

Publications (2)

Publication Number Publication Date
JP2011501267A JP2011501267A (ja) 2011-01-06
JP5587781B2 true JP5587781B2 (ja) 2014-09-10

Family

ID=40535233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010528980A Active JP5587781B2 (ja) 2007-10-11 2008-10-07 一般的モデルの編集フレームワーク

Country Status (7)

Country Link
US (1) US8880564B2 (ja)
EP (1) EP2208147A4 (ja)
JP (1) JP5587781B2 (ja)
CN (1) CN101821731B (ja)
BR (1) BRPI0816936A2 (ja)
RU (1) RU2479016C2 (ja)
WO (1) WO2009048891A2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903842B2 (en) 2007-10-26 2014-12-02 Microsoft Corporation Metadata driven reporting and editing of databases
US8015217B2 (en) * 2008-01-02 2011-09-06 International Business Machines Corporation Method and system for obtaining user data having user-defined data types
US8612892B2 (en) * 2009-06-18 2013-12-17 Microsoft Corporation Incremental run-time layout composition
US20110320431A1 (en) * 2010-06-25 2011-12-29 Microsoft Corporation Strong typing for querying information graphs
US8601366B2 (en) 2011-09-08 2013-12-03 Microsoft Corporation Visualization and editing of composite layouts
KR102071550B1 (ko) * 2013-03-06 2020-01-31 삼성전자주식회사 전력 절감을 위한 이동용 전자 장치 및 그 방법
US9417890B2 (en) * 2013-04-12 2016-08-16 Microsoft Technology Licensing, Llc Compilation of transformation in recalculation user interface
CN106033291A (zh) * 2015-03-13 2016-10-19 阿里巴巴集团控股有限公司 智能终端文本复制方法及装置
US9734608B2 (en) 2015-07-30 2017-08-15 Microsoft Technology Licensing, Llc Incremental automatic layout of graph diagram for disjoint graphs
US11163806B2 (en) 2016-05-27 2021-11-02 International Business Machines Corporation Obtaining candidates for a relationship type and its label
CN110945478B (zh) * 2018-07-11 2021-07-06 埃森哲环球解决方案有限公司 管理用于软件应用开发的软件组件

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446575A (en) 1991-06-28 1995-08-29 Digital Equipment Corp. System for constructing and loading a table data structure based on an associated configuration data
JP2000231480A (ja) 1999-02-09 2000-08-22 Nippon Steel Corp ソフトウェアの自動生成装置および方法、画面生成装置、記録媒体
US6990238B1 (en) * 1999-09-30 2006-01-24 Battelle Memorial Institute Data processing, analysis, and visualization system for use with disparate data types
US6643663B1 (en) 1999-10-08 2003-11-04 The Belo Company Method and system for operating a content management system
JP2001273313A (ja) 2000-01-19 2001-10-05 Fuji Xerox Co Ltd プロセス記述装置および方法ならびにプロセス分類方法
US20020013779A1 (en) 2000-03-20 2002-01-31 Sridhar Mandayam Andampillai Reverse foreign key techniques in website development
US7055095B1 (en) 2000-04-14 2006-05-30 Picsel Research Limited Systems and methods for digital document processing
GB0009129D0 (en) * 2000-04-14 2000-05-31 Picsel Technologies Limited Digital document processing
US7089256B2 (en) 2000-07-11 2006-08-08 Knowledge Dynamics, Inc. Universal data editor
EP1323088A4 (en) * 2000-07-31 2005-01-26 Realhome Com METHOD AND SYSTEM FOR PROVIDING COMPETITIVE COMPARATIVE MODALITIES TO THE USER
US6609122B1 (en) 2000-08-01 2003-08-19 Bmc Software, Inc. Navigation of view relationships in database system
US20020069083A1 (en) 2000-12-05 2002-06-06 Exiprocity Solutions, Inc. Method and apparatus for generating business activity-related model-based computer system output
US7246344B1 (en) * 2000-12-11 2007-07-17 Microsoft Corporation Drag and drop stateless data class specification and programming
US6973618B2 (en) * 2000-12-29 2005-12-06 International Business Machines Corporation Method and system for importing MS office forms
CA2349905A1 (en) * 2001-06-07 2002-12-07 Ibm Canada Limited-Ibm Canada Limitee System and method of mapping between software objects and structured language element based documents
US7373595B2 (en) * 2002-06-27 2008-05-13 Microsoft Corporation System and method for validating an XML document and reporting schema violations
US20040060002A1 (en) 2002-09-12 2004-03-25 Microsoft Corporation Schema-based service for identity-based access to lists
US20040133445A1 (en) * 2002-10-29 2004-07-08 Marathon Ashland Petroleum L.L.C. Generic framework for applying object-oriented models to multi-tiered enterprise applications
US7120618B2 (en) * 2003-02-28 2006-10-10 Microsoft Corporation System and method for defining and using subclasses declaratively within markup
US20040268229A1 (en) * 2003-06-27 2004-12-30 Microsoft Corporation Markup language editing with an electronic form
US8301661B2 (en) 2003-07-28 2012-10-30 Roy Gelbard Generic information system builder and runner
US7370052B2 (en) * 2003-10-23 2008-05-06 Microsoft Corporation Efficiently and reliably providing message related data
US8073836B2 (en) 2004-03-01 2011-12-06 Epicor Software Corporation System for viewing databases
JP2006127277A (ja) 2004-10-29 2006-05-18 Fuji Xerox Co Ltd オブジェクト処理方法および装置並びにプログラム、オブジェクト管理方法および装置並びにプログラム
US20060129590A1 (en) 2004-12-10 2006-06-15 Aoki-Rice Companies Method and medium for managing data
US7853961B2 (en) 2005-02-28 2010-12-14 Microsoft Corporation Platform for data services across disparate application frameworks
US7467149B2 (en) * 2005-03-14 2008-12-16 Microsoft Corporation Complex syntax validation and business logic validation rules, using VAXs (value-added XSDs) compliant with W3C-XML schema specification
US7478102B2 (en) * 2005-03-28 2009-01-13 Microsoft Corporation Mapping of a file system model to a database object
US20060242104A1 (en) 2005-04-21 2006-10-26 Microsoft Corporation Systems and methods for manipulating data in a data storage system
US20060241956A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Transforming business models
US7634515B2 (en) * 2005-05-13 2009-12-15 Microsoft Corporation Data model and schema evolution
WO2006137563A1 (ja) 2005-06-24 2006-12-28 Justsystems Corporation データ処理装置及びデータ処理方法
US7739292B2 (en) * 2005-09-28 2010-06-15 Altova Gmbh System and method for modeling and managing enterprise architecture data and content models and their relationships
US7716255B2 (en) 2005-11-30 2010-05-11 Sap Ag Modeling a data element
US20080092057A1 (en) * 2006-10-05 2008-04-17 Instrinsyc Software International, Inc Framework for creation of user interfaces for electronic devices
US20080222515A1 (en) * 2007-02-26 2008-09-11 Microsoft Corporation Parameterized types and elements in xml schema
US7904809B2 (en) * 2007-06-29 2011-03-08 Microsoft Corporation Model-based editors for dynamic validation
US7844600B2 (en) * 2007-07-13 2010-11-30 Oracle International Corp. Materialized views with user-defined aggregates
US20090089739A1 (en) * 2007-09-28 2009-04-02 Microsoft Corporation Intelligent editing of relational models

Also Published As

Publication number Publication date
US20090100084A1 (en) 2009-04-16
JP2011501267A (ja) 2011-01-06
CN101821731A (zh) 2010-09-01
RU2479016C2 (ru) 2013-04-10
BRPI0816936A2 (pt) 2015-03-17
EP2208147A2 (en) 2010-07-21
WO2009048891A2 (en) 2009-04-16
WO2009048891A3 (en) 2009-06-11
EP2208147A4 (en) 2016-08-24
CN101821731B (zh) 2016-06-15
US8880564B2 (en) 2014-11-04
RU2010114245A (ru) 2011-10-20

Similar Documents

Publication Publication Date Title
JP5587781B2 (ja) 一般的モデルの編集フレームワーク
US20200372432A1 (en) Managing project tasks using content items
JP6928644B2 (ja) コンテンツ管理システムにおけるプロジェクトの作成
JP4732358B2 (ja) 静的および動的リストの使用を伴う仮想フォルダおよび項目共有のためのシステムおよび方法
RU2495484C2 (ru) Структурированная соавторская разработка
US11704353B2 (en) Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags
JP4378292B2 (ja) ファイルシステムシェル
US10970656B2 (en) Automatically suggesting project affiliations
US20080141136A1 (en) Clipping Synchronization and Sharing
US20140019843A1 (en) Generic annotation framework for annotating documents
US11144516B2 (en) Reversible data transforms
KR20060112177A (ko) 정적 리스트들을 사용하여 데이터를 관리하는 시스템 및방법
US20170185626A1 (en) Embedded folder views
US11212363B2 (en) Dossier interface and distribution
US8103668B2 (en) Search control and authoring environment
US20070055928A1 (en) User workflow lists to organize multimedia files
KR20060112714A (ko) 통합 컬렉션 생성용 툴 및 데이터 항목 통합 리스트 제공방법
KR20070028981A (ko) 파일 객체 기술을 적용한 지식확장형 웹문서발행시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110831

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140120

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: 20140625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140724

R150 Certificate of patent or registration of utility model

Ref document number: 5587781

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250