(57)【特許請求の範囲】
【請求項１】
データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示する方法であって、
前記データリポジトリに格納された第１のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために再使用可能なロジックを用いることと、
前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第２のデータオブジェクトを生成することと、
前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせることと、
前記第２のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために前記再使用可能なロジックを再使用することとであって、前記少なくとも１つの表示された入力エレメントは、データオブジェクトを選択するための選択肢を提供し、前記選択肢は前記第２のデータオブジェクトにリンクされた前記一または複数の関連するデータオブジェクトに依存すること
を含む方法。
【請求項２】
請求項１に記載の方法において、
前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせることは、前記第２のデータオブジェクトを前記第１のデータオブジェクトにリンクさせることを含む、方法。
【請求項３】
請求項１に記載の方法において、
前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせることは、前記第２のデータオブジェクトを一または複数の関連するリンクを介して前記第１のデータオブジェクトに関連する少なくとも１つのデータオブジェクトにリンクさせることを含む、方法。
【請求項４】
請求項１に記載の方法であって、
一または複数の関連するリンクを介して前記第２のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに関連付けられた一または複数のエレメントを前記グラフィカルユーザインターフェイス上に表示すること、をさらに含む、方法。
【請求項５】
請求項４に記載の方法において、
前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、どのデータオブジェクトが前記第１のデータオブジェクトに関連しているかについての情報を表示するエレメントを含む、方法。
【請求項６】
請求項５に記載の方法において、
前記情報は前記第２のデータオブジェクトについての情報を含む、方法。
【請求項７】
請求項４に記載の方法において、
前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、ユーザからの情報を受け取るための入力エレメントを含む、方法。
【請求項８】
請求項７に記載の方法において、
前記入力エレメントは、前記情報を提供するために前記ユーザが選択する選択肢のセットを提供する、方法。
【請求項９】
請求項８に記載の方法において、
前記選択肢のセットは、一または複数の関連するリンクを介して前記第２のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに基づく、方法。
【請求項１０】
請求項４に記載の方法において、
前記グラフィカルユーザインターフェイスは、前記一または複数のデータオブジェクトに関連付けられた前記一または複数のエレメントを含むブラウザページを提供する、方法。
【請求項１１】
請求項１に記載の方法において、
前記再使用可能なロジックは、前記データリポジトリに格納された第３のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために再使用される、方法。
【請求項１２】
請求項１１に記載の方法において、
前記再使用可能なロジックは、前記第１のデータオブジェクトに関連付けられた前記表示された入力エレメントと、前記第２のデータオブジェクトに関連付けられた前記表示された入力エレメントと、ブラウザページ上にレンダリングされる前記第３のデータオブジェクトに関連付けられた前記表示された入力エレメントと、を提供するためにレンダラによって使用される、方法。
【請求項１３】
請求項１に記載の方法において、
前記表示された入力エレメントに関連付けられた前記ユーザ入力は、前記表示された入力エレメントとのユーザインタラクションを含む、方法。
【請求項１４】
請求項１に記載の方法であって、
前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納するための第３のデータオブジェクトを生成すること、をさらに含む、方法。
【請求項１５】
請求項１に記載の方法において、
前記第２のデータオブジェクトを生成するために前記ユーザ入力を収集するべく一連の画面が用いられる、方法。
【請求項１６】
請求項１に記載の方法において、
前記第１のデータオブジェクトは専用のエディタに関連付けられた、方法。
【請求項１７】
請求項１に記載の方法において、
前記第２のデータオブジェクトに関連付けられた前記表示された入力エレメントは、前記第２のデータオブジェクトにおいて実行されることが可能な１つまたは複数のアクションに基づいて決定される、方法。
【請求項１８】
データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示するコンピュータプログラムを格納するコンピュータ読み取り可能な記憶媒体であって、該コンピュータプログラムは、
前記データリポジトリに格納された第１のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するための再使用可能なロジックの使用、
前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第２のデータオブジェクトの生成、および、
前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトへの前記第２のデータオブジェクトの自動的なリンク、
前記第２のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために前記再使用可能なロジックの再使用
をコンピュータシステムに実行させる命令を含み、前記少なくとも１つの表示された入力エレメントは、データオブジェクトを選択するための選択肢を提供し、前記選択肢は前記第２のデータオブジェクトにリンクされた前記一または複数の関連するデータオブジェクトに依存する、コンピュータ読み取り可能な記憶媒体。
【請求項１９】
請求項１８に記載のコンピュータ読み取り可能な記憶媒体において、
前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせることは、前記第２のデータオブジェクトを前記第１のデータオブジェクトにリンクさせることを含む、コンピュータ読み取り可能な記憶媒体。
【請求項２０】
請求項１８に記載のコンピュータ読み取り可能な記憶媒体において、
前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせることは、前記第２のデータオブジェクトを、一または複数の関連するリンクを介して前記第１のデータオブジェクトに関連する少なくとも１つのデータオブジェクトにリンクさせることを含む、コンピュータ読み取り可能な記憶媒体。
【請求項２１】
請求項１８に記載のコンピュータ読み取り可能な記憶媒体であって、
一または複数の関連するリンクを介して前記第２のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに関連付けられた一または複数のエレメントを前記グラフィカルユーザインターフェイス上に表示
をコンピュータシステムに実行させる命令をさらに含む、コンピュータ読み取り可能な記憶媒体。
【請求項２２】
請求項２１に記載のコンピュータ読み取り可能な記憶媒体において、
前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、どのデータオブジェクトが前記第１のデータオブジェクトに関連しているかについての情報を表示するエレメントを含む、コンピュータ読み取り可能な記憶媒体。
【請求項２３】
請求項２２に記載のコンピュータ読み取り可能な記憶媒体において、
前記情報は前記第２のデータオブジェクトについての情報を含む、コンピュータ読み取り可能な記憶媒体。
【請求項２４】
請求項２１に記載のコンピュータ読み取り可能な記憶媒体において、
前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、ユーザからの情報を受け取るための入力エレメントを含む、コンピュータ読み取り可能な記憶媒体。
【請求項２５】
請求項２４に記載のコンピュータ読み取り可能な記憶媒体において、
前記入力エレメントは、前記情報を提供するために前記ユーザが選択する選択肢のセットを提供する、コンピュータ読み取り可能な記憶媒体。
【請求項２６】
請求項２５に記載のコンピュータ読み取り可能な記憶媒体において、
前記選択肢のセットは、一または複数の関連するリンクを介して前記第２のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに基づく、コンピュータ読み取り可能な記憶媒体。
【請求項２７】
請求項２１に記載のコンピュータ読み取り可能な記憶媒体において、
前記グラフィカルユーザインターフェイスは、前記一または複数のデータオブジェクトに関連付けられた前記一または複数のエレメントを含むブラウザページを提供する、コンピュータ読み取り可能な記憶媒体。
【請求項２８】
請求項１８に記載のコンピュータ読み取り可能な記憶媒体において、
前記再使用可能なロジックは、前記データリポジトリに格納された第３のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために再使用される、コンピュータ読み取り可能な記憶媒体。
【請求項２９】
請求項２８に記載のコンピュータ読み取り可能な記憶媒体において、
前記再使用可能なロジックは、前記第１のデータオブジェクトに関連付けられた前記表示された入力エレメントと、前記第２のデータオブジェクトに関連付けられた前記表示された入力エレメントと、ブラウザページ上にレンダリングされる前記第３のデータオブジェクトに関連付けられた前記表示された入力エレメントと、を提供するためにレンダラによって使用される、コンピュータ読み取り可能な記憶媒体。
【請求項３０】
請求項１８に記載のコンピュータ読み取り可能な記憶媒体において、
前記表示された入力エレメントに関連付けられた前記ユーザ入力は、前記表示された入力エレメントとのユーザインタラクションを含む、コンピュータ読み取り可能な記憶媒体。
【請求項３１】
請求項１８に記載のコンピュータ読み取り可能な記憶媒体であって、
前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納するための第３のデータオブジェクトの生成
をコンピュータシステムに実行させる命令をさらに含む、コンピュータ読み取り可能な記憶媒体。
【請求項３２】
請求項１８に記載のコンピュータ読み取り可能な記憶媒体において、
前記第２のデータオブジェクトを生成するために前記ユーザ入力を収集するべく一連の画面が用いられる、コンピュータ読み取り可能な記憶媒体。
【請求項３３】
請求項１８に記載のコンピュータ読み取り可能な記憶媒体において、
前記第１のデータオブジェクトは専用のエディタに関連付けられた、コンピュータ読み取り可能な記憶媒体。
【請求項３４】
請求項１８に記載のコンピュータ読み取り可能な記憶媒体において、
前記第２のデータオブジェクトに関連付けられた前記表示された入力エレメントは、前記第２のデータオブジェクトにおいて実行されることが可能な１つまたは複数のアクションに基づいて決定される、コンピュータ読み取り可能な記憶媒体。
【請求項３５】
データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示するシステムであって、該システムは、
データオブジェクトを格納するデータリポジトリを提供するデータ格納システムと、
グラフィカルユーザインターフェイスを提供するための少なくとも１つの出力デバイスまたはポートと、
前記データ格納システムおよび前記少なくとも１つの出力デバイスまたはポートに接続されたコンピュータシステムであって、
前記データリポジトリに格納された第１のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために再使用可能なロジックを用い、
前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第２のデータオブジェクトを生成し、
前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせ、
前記第２のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために前記再使用可能なロジックを再使用する
ための回路を含み、前記少なくとも１つの表示された入力エレメントは、データオブジェクトを選択するための選択肢を提供し、前記選択肢は前記第２のデータオブジェクトにリンクされた前記一または複数の関連するデータオブジェクトに依存する、コンピュータシステム、
を含む、システム。
【請求項３６】
請求項３５に記載のシステムにおいて、
前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせることは、前記第２のデータオブジェクトを前記第１のデータオブジェクトにリンクさせることを含む、システム。
【請求項３７】
請求項３５に記載のシステムにおいて、
前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせることは、前記第２のデータオブジェクトを一または複数の関連するリンクを介して前記第１のデータオブジェクトに関連する少なくとも１つのデータオブジェクトにリンクさせることを含む、システム。
【請求項３８】
請求項３５に記載のシステムであって、
一または複数の関連するリンクを介して前記第２のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに関連付けられた一または複数のエレメントを前記グラフィカルユーザインターフェイス上に表示するための回路をさらに含む、システム。
【請求項３９】
請求項３８に記載のシステムにおいて、
前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、どのデータオブジェクトが前記第１のデータオブジェクトに関連しているかについての情報を表示するエレメントを含む、システム。
【請求項４０】
請求項３９に記載のシステムにおいて、
前記情報は前記第２のデータオブジェクトについての情報を含む、システム。
【請求項４１】
請求項３８に記載のシステムにおいて、
前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、ユーザからの情報を受け取るための入力エレメントを含む、システム。
【請求項４２】
請求項４１に記載のシステムにおいて、
前記入力エレメントは、前記情報を提供するために前記ユーザが選択する選択肢のセットを提供する、システム。
【請求項４３】
請求項４２に記載のシステムにおいて、
前記選択肢のセットは、一または複数の関連するリンクを介して前記第２のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに基づく、システム。
【請求項４４】
請求項３８に記載のシステムにおいて、
前記グラフィカルユーザインターフェイスは、前記一または複数のデータオブジェクトに関連付けられた前記一または複数のエレメントを含むブラウザページを提供する、システム。
【請求項４５】
請求項３５に記載のシステムにおいて、
前記再使用可能なロジックは、前記データリポジトリに格納された第３のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために再使用される、システム。
【請求項４６】
請求項４５に記載のシステムにおいて、
前記再使用可能なロジックは、前記第１のデータオブジェクトに関連付けられた前記表示された入力エレメントと、前記第２のデータオブジェクトに関連付けられた前記表示された入力エレメントと、ブラウザページ上にレンダリングされる前記第３のデータオブジェクトに関連付けられた前記表示された入力エレメントと、を提供するためにレンダラによって使用される、システム。
【請求項４７】
請求項３５に記載のシステムにおいて、
前記表示された入力エレメントに関連付けられた前記ユーザ入力は、前記表示された入力エレメントとのユーザインタラクションを含む、システム。
【請求項４８】
請求項３５に記載のシステムであって、
前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納するための第３のデータオブジェクトを生成するための回路をさらに含む、システム。
【請求項４９】
請求項３５に記載のシステムにおいて、
前記第２のデータオブジェクトを生成するために前記ユーザ入力を収集するべく一連の画面が用いられる、システム。
【請求項５０】
請求項３５に記載のシステムにおいて、
前記第１のデータオブジェクトは専用のエディタに関連付けられた、システム。
【請求項５１】
請求項３５に記載のシステムにおいて、
前記第２のデータオブジェクトに関連付けられた前記表示された入力エレメントは、前記第２のデータオブジェクトにおいて実行されることが可能な１つまたは複数のアクションに基づいて決定される、システム。
【請求項５２】
データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示するシステムであって、該システムは、
前記データリポジトリに格納された第１のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために再使用可能なロジックを用いる手段と、
前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第２のデータオブジェクトを生成する手段と、
前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせる手段と、
を含み、
再使用可能なロジックを用いる前記手段は、前記第２のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために前記再使用可能なロジックを再使用し、前記少なくとも１つの表示された入力エレメントは、データオブジェクトを選択するための選択肢を提供し、前記選択肢は前記第２のデータオブジェクトにリンクされた前記一または複数の関連するデータオブジェクトに依存する、システム。
【請求項５３】
請求項５２に記載のシステムにおいて、
前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせることは、前記第２のデータオブジェクトを前記第１のデータオブジェクトにリンクさせることを含む、システム。
【請求項５４】
請求項５２に記載のシステムにおいて、
前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせることは、前記第２のデータオブジェクトを一または複数の関連するリンクを介して前記第１のデータオブジェクトに関連する少なくとも１つのデータオブジェクトにリンクさせることを含む、システム。
【請求項５５】
請求項５２に記載のシステムであって、
一または複数の関連するリンクを介して前記第２のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに関連付けられた一または複数のエレメントを前記グラフィカルユーザインターフェイス上に表示する手段、をさらに含む、システム。
【請求項５６】
請求項５５に記載のシステムにおいて、
前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、どのデータオブジェクトが前記第１のデータオブジェクトに関連しているかについての情報を表示するエレメントを含む、システム。
【請求項５７】
請求項５６に記載のシステムにおいて、
前記情報は前記第２のデータオブジェクトについての情報を含む、システム。
【請求項５８】
請求項５５に記載のシステムにおいて、
前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、ユーザからの情報を受け取るための入力エレメントを含む、システム。
【請求項５９】
請求項５８に記載のシステムにおいて、
前記入力エレメントは、前記情報を提供するために前記ユーザが選択する選択肢のセットを提供する、システム。
【請求項６０】
請求項５９に記載のシステムにおいて、
前記選択肢のセットは、一または複数の関連するリンクを介して前記第２のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに基づく、システム。
【請求項６１】
請求項５５に記載のシステムにおいて、
前記グラフィカルユーザインターフェイスは、前記一または複数のデータオブジェクトに関連付けられた前記一または複数のエレメントを含むブラウザページを提供する、システム。
【請求項６２】
請求項５２に記載のシステムにおいて、
前記再使用可能なロジックは、前記データリポジトリに格納された第３のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために再使用される、システム。
【請求項６３】
請求項６２に記載のシステムにおいて、
前記再使用可能なロジックは、前記第１のデータオブジェクトに関連付けられた前記表示された入力エレメントと、前記第２のデータオブジェクトに関連付けられた前記表示された入力エレメントと、ブラウザページ上にレンダリングされる前記第３のデータオブジェクトに関連付けられた前記表示された入力エレメントと、を提供するためにレンダラによって使用される、システム。
【請求項６４】
請求項５２に記載のシステムにおいて、
前記表示された入力エレメントに関連付けられた前記ユーザ入力は、前記表示された入力エレメントとのユーザインタラクションを含む、システム。
【請求項６５】
請求項５２に記載のシステムであって、
前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納するための第３のデータオブジェクトを生成する手段、をさらに含む、システム。
【請求項６６】
請求項５２に記載のシステムにおいて、
前記第２のデータオブジェクトを生成するために前記ユーザ入力を収集するべく一連の画面が用いられる、システム。
【請求項６７】
請求項５２に記載のシステムにおいて、
前記第１のデータオブジェクトは専用のエディタに関連付けられた、システム。
【請求項６８】
請求項５２に記載のシステムにおいて、
前記第２のデータオブジェクトに関連付けられた前記表示された入力エレメントは、前記第２のデータオブジェクトにおいて実行されることが可能な１つまたは複数のアクションに基づいて決定される、システム。
【発明の詳細な説明】
【関連する出願の相互参照】
【０００１】
本出願は、２００８年１１月１２日に出願された米国出願Ｎｏ．６１／１１４，０３２に基づく優先権を主張するものであり、その内容はここに参照として取り込まれる。
【背景技術】
【０００２】
本発明はスケーラブルオブジェクト指向データベースシステムにおけるデータオブジェクトの管理および自動的リンクに関する。
【０００３】
従来のデータエントリシステムは、ユーザがリンクをクリックすることによって新しいオブジェクトを生成し得るようなウェブアプリケーションとして実装されている。このようなリンクは、生成され得るオブジェクトの型をリストするウェブページに、ユーザを誘導する。次いで、ユーザは、オブジェクトの型に対応するリンクを選択するとともに、新しく生成された空のオブジェクトに対応するエディタに誘導される。次いで、ユーザは、新しく生成されたオブジェクトについて必要な情報（既存のオブジェクトへのリンクを含む。）を、書き込む。既存のオブジェクトへのこれらリンクを設定する際には、リンク先を見つけるための広範なナビゲーションまたは既存のオブジェクトの長いリストをくまなく調べることが、しばしば要求された。
【０００４】
ロータスノート（登録商標）に組み込まれたカスタムアプリケーションは、新しいオブジェクト（「ドキュメント」）が生成されるとともに他のドキュメントにリンクされることもあるカスタムインターフェイスを定義する点において、少なくとも類似する。ディスカッションフォーラムインターフェイスは、新しいオブジェクトまたは応答が生成されるとともに、それらが先に存在しているオブジェクト（先のメッセージ）にリンクされる、他の例である。
【発明の概要】
【０００５】
一の態様において、一般的に、本記載は、データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示する方法を対象とする。前記方法は、前記データリポジトリに格納された第１のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために再使用可能なロジックを用いること、前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第２のデータオブジェクトを生成すること、および、前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせること、を含む。
【０００６】
いくつかの態様には、後述する特徴の一または複数が含まれ得る。
【０００７】
前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせること、は、前記第２のデータオブジェクトを前記第１のデータオブジェクトにリンクさせること、を含む。
【０００８】
前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせること、は、前記第２のデータオブジェクトを一または複数の関連するリンクを介して前記第１のデータオブジェクトに関連する少なくとも１つのデータオブジェクトにリンクさせること、を含む。
【０００９】
前記方法は、一または複数の関連するリンクを介して前記第２のオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに関連付けられた一または複数のエレメントを前記グラフィカルユーザインターフェイス上に表示すること、をさらに含む。
【００１０】
前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、どのデータオブジェクトが前記第１のデータオブジェクトに関連しているかについての情報を表示するエレメントを含む。
【００１１】
前記情報は前記第２のデータオブジェクトについての情報を含む。
【００１２】
前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、ユーザからの情報を受け取るための入力エレメントを含む。
【００１３】
前記入力エレメントは、前記情報を提供するために前記ユーザが選択する選択肢のセットを提供する。
【００１４】
前記選択肢のセットは、一または複数の関連するリンクを介して前記第２のオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに基づく。
【００１５】
前記グラフィカルユーザインターフェイスは、前記一または複数のデータオブジェクトに関連付けられた前記一または複数のエレメントを含むブラウザページを提供する。
【００１６】
前記再使用可能なロジックは、前記データリポジトリに格納された第３のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために再使用される。
【００１７】
前記再使用可能なロジックは、前記第１のデータオブジェクトに関連付けられた前記表示された入力エレメントと、ブラウザページ上にレンダリングされる前記第１のデータオブジェクトに関連付けられた前記表示された入力エレメントと、を提供するためにレンダラによって使用される。
【００１８】
前記表示された入力エレメントに関連付けられた前記ユーザ入力は、前記表示された入力エレメントとのユーザインタラクションを含む。
【００１９】
前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納するための第３のデータオブジェクトを生成すること、をさらに含み得る。
【００２０】
前記第２のデータオブジェクトを生成するために前記ユーザ入力を収集するべく一連の画面が用いられ得る。
【００２１】
前記第１のデータオブジェクトは専用のエディタに関連付けられ得る。
【００２２】
他の態様において、一般に、コンピュータ読み取り可能な媒体は、データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示するコンピュータプログラムを格納し、該コンピュータプログラムは、前記データリポジトリに格納された第１のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するための再使用可能なロジックの使用、前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第２のデータオブジェクトの生成、および、
前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトへの前記第２のデータオブジェクトの自動的なリンク、をコンピュータシステムに実行させる命令を含む。
【００２３】
他の態様において、一般に、システムは、データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示するために提供される。該システムは、データオブジェクトを格納するデータリポジトリを提供するデータ格納システム、グラフィカルユーザインターフェイスを提供するための少なくとも１つの出力デバイスまたはポート、および、前記データ格納システムおよび前記少なくとも１つの出力デバイスまたはポートに接続されたコンピュータシステムであって、前記データリポジトリに格納された第１のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために再使用可能なロジックを用い、前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第２のデータオブジェクトを生成し、および、前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせる、ための回路を含む。
【００２４】
他の態様において、一般に、システムは、データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示するために提供される。該システムは、前記データリポジトリに格納された第１のデータオブジェクトに関連付けられた少なくとも１つの表示された入力エレメントを提供するために再使用可能なロジックを用いる手段、前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第２のデータオブジェクトを生成する手段、および、前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第２のデータオブジェクトを自動的にリンクさせる手段、を含む。
【００２５】
いくつかの態様には、後述する特徴の一または複数の利点を有する。
【００２６】
データリポジトリにおいて十分に相互接続されたメタデータを自動的に生成するとともにリンクさせ、さらに、データリポジトリをバックデータストアとして用いるカスタムワークフローを支援するのに有利である。さらに、メタデータアプリケーションは、データリポジトリ自身の外に構成され得る。
【００２７】
以下、本記載の他の特徴および利点は、以下の記述および請求の範囲から理解され得る。
【図面の簡単な説明】
【００２８】
【図１】グラフベース計算を実行するシステムのブロック図である。
【図２】計算グラフを示す。
【図３】スクリーンショットである。
【図４Ａ】グラフベース計算環境における入力データから出力データへの変換を示す。
【図４Ｂ】グラフベース計算の例を示す。
【図５】ビジネスルール環境に格納されたデータオブジェクトの生成、表示およびリンクのスクリーンショットを示す。
【図６】一連のウィザード画面を示す。
【図７】一連のウィザード画面を示す。
【図８】オブジェクトエディタに関連付けられた一連の画面を示す。
【図９】オブジェクトエディタに関連付けられた一連の画面を示す。
【図１０】データリポジトリに格納されたデータオブジェクトの生成、表示およびリンクの実行例のフローチャートである。
【発明を実施するための形態】
【００２９】
１．システム概観
図１は、グラフベース計算の開発、実行および管理のための計算システム１００のパーツの相互関連を示す概略的ブロック図である。グラフベース計算は、有向グラフによる「データフローグラフ」（グラフの頂点がグラフを表現する成分（例えば、データファイル、処理等）に対応し、グラフにおける有向リンクまたは「辺」が各成分間のデータフローに対応する。）を用いて実装される。いくつかの例において、グラフィック開発環境（ＧＤＥ）１０２は、実行可能なグラフを特定しかつグラフ成分に対するパラメータを定義するユーザインターフェイスを提供する。ＧＤＥ１０２は、リポジトリ１０４および並列処理環境１０６と情報をやり取りする。また、リポジトリ１０４および並列処理環境１０６には、ユーザインターフェイスモジュール１０８および外部データストア１１２が接続されている。
【００３０】
好ましくは、リポジトリ１０４は、スケーラブルオブジェクト指向データベースシステムであり、グラフベースアプリケーションの開発および実行、およびグラフベースアプリケーションと他のシステム（例えば、他のオペレーティングシステム）との間のメタデータのやり取りを支援するように設計される。この構成においては、リポジトリ１０４は、エンタープライズメタ環境（ＥＭＥ）と称呼され、ドキュメンテーション、レコードフォーマット（例えば、テーブル内のレコードのフィールドおよびデータ型）、変換機能、グラフ、ジョブ、監視情報などを含む一または複数の型のメタデータを格納できる。特に、ＥＭＥ１０４は、グラフベース計算に関連付けられたメタデータを格納できる。この意味では、各コンピュータプログラムは、計算グラフ（データフローグラフとも、または、単にグラフとも呼ばれる。）を用いて実行されるものとして考えることができる。グラフは、（例えば、フローまたは辺によって）接続されてデータをやり取りさせることができる一または複数の成分（または、頂点）を含む。いくつかの構成においては、グラフは並列処理環境１０６において実行することができる。
【００３１】
データストアとして実装されたＥＭＥ１０４は、グラフの開発における変化を追跡でき、統計的な依存性解析を実行でき、関連するグラフの開発に係るメタデータを管理でき、他の同様の機能性を提供できる。一般に、グラフに関連するメタデータの格納は、データインパクト解析を可能にする。これにより、グラフにおいてデータがどのように変化しているか、および、これらデータの変化が一または複数の他のグラフに与えるインパクト、についての視覚的情報が、ユーザに提供される。加えて、ＥＭＥ１０４は、複数のバージョンのグラフが格納されることを許容し得る（例えば、開発中のコードの変化および調整の追跡）。また、ＥＭＥ１０４は、外部データストア１１２に格納されたデータを含む計算システム１００によって処理される実際のデータを示すデータオブジェクトを格納する。
【００３２】
並列処理環境１０６は、ＧＤＥ１０２において生成されたデータフローグラフの仕様を受け取り、グラフによって定義された処理ロジックおよびリソースに対応する実行可能な命令（例えば、コンピュータ命令）を生成する。そして、並列処理環境１０６は、一般に、例えば複数のプロセッサ（同種である必要はない。）にてそれら命令を実行する。
【００３３】
ユーザインターフェイスモジュール１０８は、ＥＭＥ１０４の内容をブラウザ上にて表示する。ユーザは、ユーザインターフェイスモジュール１０８を用いて、オブジェクトの閲覧、新しいオブジェクトの生成、現存するオブジェクトの変更等ができる。例えば、ユーザインターフェイス１０８は、オブジェクトおよびＥＭＥ１０４に格納されたオブジェクトについての情報をユーザが探索して閲覧するためのブラウザ画面を生成する。
【００３４】
ＥＭＥ１０４に格納されたメタデータは、グラフ成分を含むグラフベースアプリケーション、および、計算グラフを構成する他の機能的オブジェクトを含み得る。ＥＭＥ１０４には、メタデータの一または複数の型も格納され得る。例えば、「技術的」メタデータ（例えば、アプリケーションに関連するビジネスルール、レコードフォーマット、および、実行統計）、「エンタープライズ」または「ビジネス」メタデータ（例えば、職務権限についてのユーザ定義情報、役割および責任）、および、他の同様な型が格納され得る。
）、
【００３５】
ＥＭＥ１０４に格納されたデータオブジェクト形式の情報は、アプリケーションおよびこれらのアプリケーションによって処理されたデータに関する種々の解析を可能にする。例えば、ユーザは、データ系統についての質問（与えられた値はどこから来たか、出力値はどのように計算されたか、どのアプリケーションがデータを生成してそのデータに依存するか、等）に対する回答を得ることができる。開発者は、提案された変更の結果を理解することができる（例えば、この成分が変化すると他の成分は如何なる影響を受けるか、このソースフォーマットが変化すると、どのアプリケーションが影響をうけるか、等）。ユーザまたは開発者は、技術的なメタデータおよびビジネスメタデータの双方に関連する質問（例えば、どのユーザまたは開発者グループが特定のデータのセットを生成して用いることに責任があるか、特定のアプリケーションの最新の更新は何か、等）への回答を得ることができる。
【００３６】
ＥＭＥ１０４は、格納されたデータの状態を追跡し得る。例えば、一または複数のデータオブジェクトの複数のバージョンが追跡・格納され得る。これにより、ある期間（例えば、１週間、１ヶ月、または、１年）にわたるオブジェクトの状態が調べられ得るとともに、オブジェクトの状態とオブジェクトの現在の状態とが比較され得る。例えば、ＥＭＥ１０４は、ジョブ追跡または実行情報を収集し得るとともに、それにより傾向解析（例えば、データがどの程度の速度で増大しているか）および容量プロジェクト（例えば、そのアプリケーションが起動するのにどの程度の時間を要したか、どの程度のデータを処理したか、処理速度はどの程度か、そのアプリケーションがどの程度のリソースを消費したか、いつサーバの追加が必要であるか）が可能となる。
【００３７】
ユーザは、ユーザインターフェイス１０８を介して、格納されたデータオブジェクトに含まれかつ関連付けられた情報を見る（および任意に、編集する）ことができる。一の態様において、ユーザは一または複数の「ビュー」（データオブジェクトの関連するサブセットについての情報をブラウザページに提供する。）を定義し得る。１つの「ビュー」は、それらオブジェクト間の関連に基づいて一または複数のデータオブジェクトを選択するための構文を用いて定義される。
【００３８】
図２に示されるように、ＥＭＥブラウザインターフェイス２０２は、ＥＭＥ１０４におけるユーザインターフェイスモジュール１０８によって生成され得る。ＥＭＥ１０４に特定のオブジェクトについての詳細を表示するために、ＥＭＥブラウザインターフェイス２０２は、オブジェクト（例えば、オブジェクトＡ）に含まれる情報を用いて、ブラウザページ２０６の少なくとも一部（例えば、ハイパーテキストマークアップ言語（ＨＴＭＬ）形式を含む）を生成し得る。例えば、図３に示すスクリーンショットにおいて、「例１」と名付けられたドキュメントオブジェクトの詳細が表示されている。図２に戻ると、ブラウザページ２０６の生成の一部としてエレメントレンダラ２０４に対してコールがなされ、エレメントレンダラ２０４はオブジェクト（例えば、オブジェクトＡ）からの情報を用いてレンダリングされるページまたはページの部分を返す。このページは、オブジェクトＡに関連付けられた表示エレメントを含む種々のブラウザ形式エレメントを含むことができ、ユーザインタラクションを受けるための入力エレメントを含むことができる。この特定の構成において、ボタン２０８はユーザインタラクションを受け取ることができるエレメントとして設けられるが、他の入力エレメントも種々のユーザインタラクションを受け取るために用いられ得る。例えば、メニュー（例えば、ドロップダウンメニュー）、チェックボックスおよび他の同様な型の入力エレメントが用いられ得る。一般に、エレメントレンダラ２０４は、一または複数のソフトウェアプログラムまたはルーチンによって実装される再使用可能なロジックを参照し、このソフトウェアプログラムまたはルーチンは、通常、特定の型のオブジェクトにおいて実行され得る特定のアクティビティに対して定義される。このようなものとして、エレメントレンダラ２０４は、どのようなアクションがオブジェクトに実行されるかを決定でき、その後、どの入力エレメント（例えば、ボタン２０８）が（ブラウザインターフェイス２０２に表示された）ブラウザページ２０６にレンダリングされるべきかを決定する。ユーザアクションとこれに対応するエレメント（例えば、ボタン）との関連は、一般に、エレメントレンダラ２０４内にて特定されるロジックによって与えられる。エレメントレンダラが複数のアクションまたは異なる選択をサポートするように構成されていれば、パラメータの内容を「ビュー」において特定するとき、ユーザはそのパラメータをレンダラに渡し得る。
【００３９】
１つの構成において、エレメントレンダラ（「file_upload.py」と称呼される。）は、ＥＭＥ１０４に新ドキュメントを追加するか既存のドキュメントを置換するかの一方をすることができる。図３のスクリーンショットを参照すると、テキスト「ドキュメント置換」の右側のエレメントは、エレメントレンダラ２０４によって生成されている。しかし、「ビュー」の一部としてエレメントレンダラ２０４を構成するときには、とるべきアクションは特定し得る。一例において、関数呼び出しエレメントレンダラ（例えば、file_upload.py）はデフォルトで新ドキュメントをＥＭＥ１０４に追加し得る。また、関数呼び出しエレメントレンダラ（例えば、file_upload.pyにおいて「action=replace」）は現在のドキュメントを置換し得る。他の例においては、そのような関数呼び出しに対して（例えば、file_upload.pyにおいて「action=add&rule_name=my_doc_oid」）、複数のパラメータが特定され得る。特定のエレメントをエレメントレンダラによって表示すべきこと（例えば、ボタン２０８）を決定するために、レンダラに関連付けられた（および「ビュー」の一部に関連付けられた）ロジックは、提供されたパラメータを用いることができる。エレメントレンダラ２０４およびこれに関連付けられたプログラムも、一般にＥＭＥ１０４に格納される。このようなプログラムは単一のオブジェクトに専用のものではないので、このようなプログラムはＥＭＥ１０４に存在する複数のオブジェクトに適用することができる。
【００４０】
ブラウザ（例えば、ファイル「閲覧」操作ボタン３０２および「送信」ボタン３０４）に表示されたＨＴＭＬ形式の可視的な部分に加えて、ＨＴＭＬ形式内に隠された情報もまたファイルの送信中（または他の同様な動作）に用いられ得る。一般に、ボタン２０８が（ユーザインタラクションを介して）押されると、シナリオまたは関連付けられた機能性（例えば、図３の送信ボタン３０４）に関わりなく、スクリプト２１０が呼び出される。スクリプト２１０は、種々のユーザリクエスト（例えば、ＨＴＴＰ固有サービス）に応答でき、サーバ側処理をＥＭＥ１０４に提供する。ＥＭＥ１０４のオブジェクトのためのブラウザページ（例えば、ブラウザページ２０６）は、特定のオブジェクトまたはオブジェクトのセットに基づき描画される。例えば、ＥＭＥ１０４に格納された一または複数のオブジェクトを選択するユーザに応答して表示されたブラウザページは、選択されたオブジェクトに関連付けられた情報のまたは種々の特徴がレンダリングされたものである。スクリプト（例えば、スクリプト２１０）は、ページまたはオブジェクトに依存する内容および／またはレイアウトを有するページのエレメントについてのカスタムレンダリングを生成することができる。ある構成において、エレメントレンダラ２０４は特定のオブジェクトに基づくブラウザページの一または複数のエレメントをレンダリングすることができ、また、ブラウザページの他の部分は異なるオブジェクトに基づくエレメントがレンダリングされたものの一または複数を含み得る。種々の型の入力が、スクリプト２１０によって用いられ得る。例えば、オブジェクト（例えば、オブジェクトＡ）に関連付けられた情報、ユーザが提供した（例えば、ブラウザページ２０６を介して入力された）情報および他の型の情報である。実行中は、スクリプト２１０は、一または複数の他のオブジェクトをＥＭＥ１０４内にて生成し得る。例えば、第２のオブジェクトＢ２１２がＥＭＥ１０４内にて生成され得るが、複数のオブジェクトが生成されてもよい。一または複数のオブジェクトの生成に伴い、スクリプト２１０は、オブジェクト間にリンク（リレーションとも称呼される。）を確立し得る。例えば、リンク２１４は、オブジェクトＢ２１２とオブジェクトＡとの間に確立し得る。このようなリンクを確立するために、一または複数の技術が用いられ得る。例えば、指令がコールされ得る（例えば、ＥＭＥ１０４に関連付けられたコマンドラインインターフェイスを用いて）。その生成に関連付けられたオブジェクト（例えば、オブジェクトＡ）にリンクされながら、オブジェクトＢ２１２は、オブジェクトＡについての一または複数のレンダリングされたエレメント（例えば、ボタン３０４）に関連付けられたスクリプト２１０によって決定された他のオブジェクトにもリンクされ得ることとなる。
【００４１】
この構成において、ＥＭＥ１０４はオブジェクト指向リポジトリであり、オブジェクトおよびこれに関連付けられるリレーションを含む。ある例において、新しく生成されたオブジェクトは、表示されているブラウザページに対応したオブジェクト（または、複数のオブジェクト）にリンクされ得る。他のケースにおいて、オブジェクト（例えば、既存のオブジェクト）へのリンクは、ＨＴＭＬ形式に提供された情報から決定され得る。ある例では、オブジェクトＡおよびＢがＥＭＥ１０４（例えば、リンク２１４）内でリンクされ、このリンクはリンクとしてブラウザページ２０６上にナビゲーションのために表示され得る。このような技術は、一または複数の利点を提供する。例えば、どのオブジェクトがＥＭＥ１０４内でリンクするかについての情報が、自動的に決定されるものとして考えられることとなる。ＥＭＥ１０４内の各オブジェクトは、「ドメイン」に格納され、この「ドメイン」はＥＭＥ１０４内におけるオブジェクトが他のオブジェクトに関連付けられているというリレーションに関する情報を含む。リンクの一つ（例えば、リンク２１４）を生成するとき、オブジェクトが関連付けられる（すなわち、ポイントする）ドメインを示す情報がドメインに追加され得る。スクリプト２１０は、対象とするオブジェクトのドメインを更新（例えば、逆リレーション（例えば、他のオブジェクトがポイントする）を記録）し得る。リンク２１４のようなリンクは、特定のオブジェクト（例えば、オブジェクトＡまたはＢ）に関するＥＭＥ１０４に格納されているドキュメントのいくつかまたはすべてに対して示され得る。ある例では、スクリプト２１０は、ユーザ入力に関連付けられるとともに新しいオブジェクトの生成が許可されるか否かを決定するためのパーミッションをチェックし得る。そして、これが許可されない場合、ユーザはそれを通知され得る。
【００４２】
ある構成において、ユーザは、実行されたアクションの（例えば、スクリプト２１０によって実行されたアクションがもたらす）結果を示すための新しいブラウザページまたは更新された現ページ（例えば、ページ２０６）に誘導され得る。ある例においては、複数のユーザはほぼ同時にＥＭＥ１０４に対して修正を行うことができ、これにより、その変更を表示するための更新が行われる。他の例においては、スクリプト２１０の実行により、新しいオブジェクト（または複数の新しいオブジェクト）が生成され、いくつかの属性が（ユーザによる直接の編集を介して）設定され、新しいオブジェクト（または複数のオブジェクト）が既存のオブジェクトにリンクされ得る。この更新に基づいて、新しく生成したオブジェクトの詳細なビューが表示され得る。このビューは、属性を編集するときにユーザによって与えられたユーザ情報に対して示され得る。例えば、オブジェクトのビューは、オブジェクト間のリンクを利用してＥＭＥ１０４の他のオブジェクトへナビゲーションし、追加情報を収集し得る。ナビゲーションは、開始オブジェクトから開始オブジェクトにリンクした他のオブジェクトへ（リンク方向に対して「上流」または「下流」に）ウォークアクションを実行することを含み得る。一または複数の関連するオブジェクトにナビゲーションするために、複数のウォークアクションが連続的なリンクにわたって実行され得る。このウォークアクションの結果、更新後に、追加情報がユーザに提供されることとなる。
【００４３】
また、ユーザは、新しいブラウザページまたは現在のブラウザページ２０６の更新版へ誘導され、追加情報をＥＭＥ１０４に格納するように促される。例えば、ユーザは、新しく生成されたオブジェクト（例えば、オブジェクトＢ）、または、関連するリンクにわたってナビゲーションすることによって関連付けられた異なる一または複数のオブジェクト、に関連する情報を提供するように促され得る。新しく生成されたオブジェクトの自動的リンクの利点は、オブジェクトの内容が、後続するユーザインタラクションを洗練し強化させることを支援できることである。例えば、ユーザは、組織の多数の部門の１つに関連付けられたブラウザページにて従業員を表すデータオブジェクトを（例えば、その部門のデータオブジェクトに基づいて）生成するための入力を提供し得る。ブラウザページの更新時に、選択メニュー（例えば、ドロップダウンメニュー）がデータオブジェクト（例えば、追加される従業員の監督者を表す）を選択するために提供され得る。スクリプト２１０が従業員データオブジェクトを部門データオブジェクトに自動的にリンクさせるとき、そのメニュー中の選択リストは、データオブジェクトが部門データオブジェクトにその部門の部員としてリンクしている既存の従業員に限定されることになる。
【００４４】
エレメントレンダラ２０４は、例えば、ＥＭＥ１０４に格納されているパイソン（python）スクリプトまたはコーンシェル（Korn  shell）スクリプトのような高レベルコンピュータプログラミング言語を用いて実装され得る。その実行結果は、ビュー設計に依存するブラウザページ２０６のフラグメントであり、ＥＭＥブラウザインターフェイス２０２によって生成された内容の残余に挿入され得る。エレメントレンダラ２０４は、「ビュー」の１つのエレメントに対してＨＴＭＬを生成し得る。ある例においては、ビューエレメントはコマンドラインインターフェイス（図示せず）を用いて逐次的に構成される。エレメントレンダラ２０４によって返されたブラウザページフラグメントは、ある場合においては単一のボタン２０８と同程度に単純に表示されるが、他の場合には、ページ部分はデータエントリのための他の形式のエレメントを含み得る。図３に示す例は、ファイル「閲覧」入力エレメント３０２を有する。
【００４５】
上述したように、ユーザがファイルを送信するためにクリックしたとき、通常はスクリプト２１０が呼び出される。スクリプト２１０は、パイソンスクリプトまたは他の同様な形式で実装され得る。ある例では、スクリプト２１０によって実行されるアクションは以下の手順にて実行され得る。始めに、スクリプト２１０は、ＥＭＥ１０４へのコマンドラインインターフェイスを用いて新オブジェクト（例えば、オブジェクトＢ２１２）をＥＭＥ１０４のデータストア内に生成し得る。図３に示す例を参照すると、ファイルのアップロードに関連付けて、新オブジェクトはユーザがデスクトップコンピュータからアップロードしたファイルとし得る。他のケースでは、新オブジェクトは、初めに空の状態であるとともに他のメタデータまたは属性を付すことができるプレースホルダとして生成され得る。次に、スクリプト２１０は、新オブジェクトをＥＭＥ１０４内の既存のオブジェクト（例えば、オブジェクトＡ）にリンクさせ得る。最後に、スクリプト２１０は、ユーザを新ページに誘導し、または、ユーザのために元ページを更新し得る。ユーザが新ページに誘導されると、そのページは、通常は新たにリンクされ生成されたオブジェクトに対するウェブベースエディタである。
【００４６】
２．例
例１：ユーザフィードバック
１つの実装において、ボタン（例えば、ボタン２０８）は、ＥＭＥ１０４のいかなるオブジェクトに対するブラウザページ（例えば、ブラウザページ２０６）上に表示され得る。ユーザがボタンをクリックすると、新ノートオブジェクトを生成するための処理を行うべくスクリプト（例えば、スクリプト２１０）が構成され得る。スクリプトは、新ノートオブジェクトに向かう元のオブジェクト（例えば、オブジェクトＡ）のリンクを生成し得る。生成された新ノートオブジェクトは、元のオブジェクトに関するものと推定される。ある例においては、新ノートは、元のオブジェクトの一部として格納されなくてもよい。そのようなものとして、後にこのノートを見つけて表示するために、元のノートオブジェクトと新ノートオブジェクトとの間のリンクまたはリレーションが生成され得る。これにより、ブラウザページまたはレポートは、オブジェクトに関するすべてのノート、または、オブジェクトのより大きな集合、を表示するように設計され得る。例えば、この実装は、ユーザがあるプロジェクトのオブジェクト上に誘導されたというフィードバックを提供し得る。さらに、ユーザは、新ノートオブジェクトのためのテキスト内容を入力するために、エディタに再度誘導され得る。
【００４７】
例２：ファイルアップロード
この例においては、ファイル閲覧制御（例えば、サーバへのアップロードのためのコンピュータシステム上のユーザが選択可能なファイル）、および、ＥＭＥオブジェクトのためのブラウザページ上のボタン（例えば、ボタン２０８）を含むフォームを表示するために、エレメントレンダラ２０４が用いられる。ある例においては、エレメントレンダラ２０４は、固有の識別子に関連付けられたブラウザページエレメントを生成し、複数のファイルアップロードフォームを同じブラウザページ上に表示する。ユーザが閲覧してＥＭＥ１０４に存在するプロジェクトの一部であるオブジェクトに関するファイル（例えば、エクセルスプレッドシート）を選択し（さらに、ボタンをクリックし）、スクリプト２１０が呼び出されてそのファイルを新ドキュメントオブジェクトとしてＥＭＥ１０４にロードする。スクリプト２１０に関連付けられたオペレーションは、元のブラウザページに対応するオブジェクトから新ドキュメントオブジェクトへのリンクを生成し得る。続いて、ユーザは、オブジェクトがナビゲーションおよびレポートを目的としてリンクされているドキュメントのリストを示す元のオブジェクトについてのブラウザページへ再度誘導される。
【００４８】
例３：ビジネスルール環境（ＢＲＥ）におけるルールセットの水平バージョニング
一の実装において、ビジネスルール（例えば、メタデータのサブセット形式）は、ＥＭＥ１０４に格納され得る。種々の形式および態様のビジネスルールが実装され得る。例えば、２００７年４月１０日に出願された米国出願Ｎｏ．１１／７３３，４３４（発明の名称「ビジネスルールの編集およびコンパイリング」）の内容の全体は、参照としてここに取り込まれる。各ビジネスルールは、別個のＥＭＥオブジェクトに格納され得る。ビジネスルールは、データを一のフォーマットから他のフォーマットへ変換する基準のセットとして表現され、データについての決定、または、入力データのセットに基づいて新データを生成する。例えば、図４Ａにおいて、フライト予約システムにおけるレコード４０２は、乗客の名前４０４、乗客の今年度の飛行マイル数４０６、乗客のチケットのクラス４０８、および、乗客の座席の行４１０を示すフィールドの値を含む。ビジネスルールは、そのような乗客が特定の搭乗グループ（例えば、搭乗グループ１）に割当てられるべきかを示し得る。ビジネスルールは一般にユーザに理解され易いものの（例えば、「ファーストクラスの乗客はグループ１である」）、その情報はコンピュータデバイス（例えば、コンピュータシステム）に認識され且つ処理される一または複数の形式に変換される必要があり得る。
【００４９】
一の特定の構成においては、グラフベース計算環境においてビジネスルールを実装するために、一または複数のデータソース（例えば、入力データセット４００）からレコード４０２のような入力レコードを受取る変換式４１２が生成され得る。この変換式は、この情報を出力レコード（例えば、レコード４１４。乗客の名前４０４および乗客がどのグループに割当てられているか（例えば、グループ４１８）を示す。）に挿入する。これに対応して、レコード４１４は出力データセット４２０に挿入され得る。この例においては、データセット（例えば、データセット４２０）はレコードの例を示しているが、一般的には、データセットはいかなる数および型のレコードを含み得る。ある構成においては、入力および出力データセットは、データストリームとも称呼され得る。例えば、（データセットからの）データはグラフに流れ込みまたは流れ出す。
【００５０】
変換式は、データ処理成分を有するグラフベース計算に導入することができ、データフローを示すリンクエレメントによって接続され得る。例えば、図４Ｂに示す計算グラフ４３０は、一または複数の計算のための入力を提供する２つのデータセット４３２、４３４（例えば、利用頻度の高い乗客のデータおよびフライト予約データ）を含む。フォーマット成分４３６、４３８は、例えば、（例えば、結合成分４４０によって）結合されて出力データセット４４２（追加の処理動作に対して用いられる）となる共通にフォーマットされたデータセットを生成するために、同様のまたは異なる型のアジャストメントを用いて、入力データをフォーマットする。変換式は、グラフ４３０内にあるようなグラフベース計算そのものであってもよく、グラフの成分（例えば、グラフ４３０を構成する個々の成分４３６，４３８および４４０）内に実装されているものであってもよい。
【００５１】
ある構成において、変換式の生成を簡略化するために、一または複数の技術が用いられ得る（例えば、技術分野に詳しくないユーザに対して）。例えば、ビジネスルールのセット（ルールセットと称呼される。）をユーザが理解し易い形式にて入力するツールが提供される。同ツールは、実行すべき一または複数の変換式をコンピュータシステムに提供するものである。例えば、ルールセットは、一の変換式を生成するルールのセットであると考え得る。ルールは、入力に応じてルールの異なる出力値を算出する一または複数のルールケースによって構成され得る。また、ルールは、追加の出力値または代替の出力値を生成する複数のルールを含んでもよい。また、ルールセットは、「被包含」ルールセットとも称呼される他のルールセットを含んでもよい。
【００５２】
ＥＭＥ１０４におけるプロジェクトについて、ブラウザページはプロジェクトに含まれるいくつかまたはすべてのルールセットをリストし得る。この場合のブラウザページは、特定のオブジェクト（例えば、特定のプロジェクト）に関連した詳細を表示し得る。ＥＭＥ１０４におけるプロジェクトは、通常、種々の技術的なメタデータを含む。この例では、ブラウザページは、プロジェクトに含まれるすべてのルールセットをリストし得る。このリストにおける各ルールセットに対して、例えば同一のエレメントレンダラ２０４を介して、いくつかのボタンまたは他の型のエレメントが表示され得る。
【００５３】
図５を参照すると、一連の行がリストの例に含まれており、リストの各行は４つのボタン（例えば、ボタン５０２、５０４、５０６および５０８）を含んでいる。表示された各ボタンは、異なるオプションを有するエレメントレンダラ（例えば、エレメントレンダラ２０４）を呼び出すことによって提供される。特に、ボタン５０２、５０４、５０６および５０８は、それぞれ、ルールセット「ルールセット昇格」、「ルールセット降格」、「新マイナー版」および「新メジャー版」に基づいて実行され得る異なるアクションを示す。ルールセットを昇格させることは、特定のルールセットを、開発段階からテスト段階へ移行させること、最終的に生産段階（ルールセットがユーザによってデータ処理のために実行され得る段階）へ移行させること、に広く関連付けられ得る。これらの４つのアクションは、開発ライフサイクル中にルールを昇格または降格すること、場合によっては異なるバージョンのルール（例えば、新メジャー版、マイナー版など）を生成すること、のために用いられ得る。このような機能は、ルールセットを改良しつつも、以前のバージョンの（比較的古い）ルールセットにアクセス（および使用）することを、所定の期間にわたって可能とする。例えば、既存のルールまたはルールセットが変更されることに代えて、そのルールまたはルールセットの新しいコピーが生成され、調整され、新しいバージョン番号が付与され得る。
【００５４】
ある構成において、エレメントレンダラ（例えば、エレメントレンダラ２０４）は、ルールセットに関連付けられた一または複数のパーミッションに基づいて特定のボタンが表示されるべきか否かを決定するように構成され得る。例えば、パーミッションは、ルールセットの修正および現在の開発ライフサイクルに関連付けられ得る。例えば、開発ライフサイクルについて、ライフサイクルの異なる段階は、開発（「Dev」）、テスト（「Test」）および製造（「Prod」）とされ得る。エレメントレンダラ（例えば、エレメントレンダラ２０４）のロジックは、これら３つの段階を順次（その特定の順序で）経て改良され得る。「Prod」段階に一旦到達すると、ルールセットはそれ以上昇格しないことになる。同様に、「Dev」段階では、ユーザはルールを降格させないことになる。ユーザがボタンをクリックすると、エレメントレンダラ２０４は表示し得る確認テキストを事前計算し得る。つまり、ユーザがボタンの１つをクリックすると、テキストを含むポップアップグラフィックが表示され、アクションを確認され得る。例えば、第１行目のボタン５０２をクリックすると、「あなたは本当にルールセット−１−DevをTestに昇格させたいか？」とのテキストが示されたダイアログボックスがポップアップされ得る。このような表示により、ユーザは、（意図しないクリックによる）意図しない変更がなされる可能性が低減されるように、アクションを確認し得る。
【００５５】
さらに、ユーザがボタンの１つをクリックすると、スクリプト２１０が呼び出されて対応するルールセットがコピーされる。既に内容が含まれていれば、ルールセットはコピーされ、後の変更の開始点として使用され得る。あるいは、元のルールセットが変化され得るように、コピーはバックアップとしても用いられ得る。ルールセットの新しいコピーの名前は、ルールの元の名前およびアクションに基づいて決定され得る。また、ユーザが後にそれらを区別し得るように、異なる名前も用いられ得る。例えば、ルールの元の名前が「Dev」で終わるものであれば、それが昇格されるとき、新しいルールの名前は「Test」で終わるものとされ得る。上述したように、異なる段階にて異なるアクションがルールに施される。「Dev」段階であれば、開発者によって修正されるものと考えられ得る。「Test」段階であれば、ルールまたはルールセットは一般に適切に作動するかがチェックされ、通常は変更されない。「Prod」段階であれば、ルールセットは例えば意図された目的のために用いられ、通常は変更されない。ルールセットが「Dev」から「Test」に昇格すると、開発者は新たな変更を開始し得るので、異なる段階およびバージョンが必要となることもある。新しい名前に基づき、スクリプト２１０はルールセットに格納された情報のいくつかを更新する必要とすることもある。ある例では、ルールセットは、コードファイル（例えば、図４のグラフの変換式４１２）の名前についての情報を含む。ある例では、このコードファイルはルールセットの名前をとって名付けられる。このように、ルールセットが新しい名前と共に生成されれば、生成したファイルに対する名前もまた更新される。次いで、更新されて新しいルールを含む（さらに、実行されたアクションの結果を見ることができる）プロジェクトにおけるルールセットのリストに、ユーザは再度誘導され得る。例えば、これらのアクションのいずれかがルールセットに施されると、ユーザは新しいまたは修正されたルールのためのブラウザページに誘導される。
【００５６】
例４：オブジェクト作成のためのウィザード
図６を参照すると、例えばユーザインタラクションに基づき、一または複数のオブジェクトの生成のために追加的な動作が実装され得る。ある構成においては、一または複数のオブジェクトを生成するために一連の段階にわたってユーザから情報が収集され得る。例えば、ユーザインタラクション（例えば、ボタンの表示画像上でのユーザのクリック）は、ウィザード（例えば、一連のダイアログ）またはユーザを一連のステップを通じて誘導する他の型のＵＩ画面シーケンスの実行を開始し得る。シーケンスを進行しながら、例えば一または複数のオブジェクトを生成するための情報がユーザから収集される。収集された情報は他の動作にも用いられ得る。例えば、収集された情報は、一または複数のオブジェクトに関連付けられたプロパティを示してもよく、その一または複数のオブジェクトを修正するために用いられてもよい。
【００５７】
例示を目的として図に示すように、スクリーン６００の一部は、データセット（例えば、テーブル）内にフィールド（例えば、列）を含む。この例では、データマスキングルール（例えば、難読化、識別不能化など）が定義され、フィールドに関連付けられたデータに対して動作され得る。この処理を開始するために、（「マスキングルール追加」と表示された）ボタン６２０の表示画像が、ユーザによって（マウスのような位置入力装置を用いた操作を通じて）選択される。選択されると、一連の画面を含むウィザードが実行される。例えば、ユーザが提供する情報を収集するために、第１のウィザード画面６０４の一部が初めに示され得る。この例においては、ウィザード画面６０４は２つのラジオボタンを表示し、ユーザに、生成されるマスキングルールの型を選択するように促す。選択が一旦なされると、ユーザは、次のウィザード画面に移るために（「次へ」と表示された）ボタン６０６を選択し得る。ウィザードを終了させるためには、（「キャンセル」と表示された）もう１つのボタン６０８がユーザによって選択され得る。次に、このシナリオにおいて、他のウィザード画面が（画面６１０の一部として示されているように）表示される。この特定の画面６１０には、新しいルールを生成するか又は既存のルールに追加するかをユーザが選択するように、２つのラジオボタンが示される。ユーザによる選択に基づき、ウィザードは、特定のパス（例えば、一連の画面）のいずれをその後に続けるかを決定し得る。そのようなものとして、ウィザードは、ユーザを誘導する種々のシナリオに対応した複数の分岐したパス（例えば、ツリー構造）を含み得る。画面６０４と同様、ユーザは（「次へ」と表示された）ボタン６１２を選択することによってウィザードに従って処理を進めるか、（「戻る」と表示された）ボタン６１４を選択することによって画面を１つ戻るか、または、（「キャンセル」と表示された）ボタン６１６を選択することによってウィザードを中止し得る。
【００５８】
図７を参照すると、ウィザードによって与えられた画面７００の他の一部は、マスキングルールを定義するためにオブジェクトのリストから選択するように、ユーザを促す。この例において、この選択のために、関数のリストがメニュー（例えば、ドロップダウンメニュー）に設けられる。選択された関数のそれぞれは、（例えば、リポジトリ１０４に）格納され得る一または複数のオブジェクトに関連付けられ得る。この例では、一または複数のマスク関数（例えば、ハッシュ調査１）が、格納されたオブジェクトに関連付けられている。マスク選択のためのメニューを用いると共に、ユーザは、（ボタン６１２、６１４および６１６と同様な）ボタンを用いてウィザードを介した処理の流れを調整し得る。この例においては、（「次へ」と表示された）ボタン７０２が選択されると、ユーザの選択の概略を示す画面７０４に誘導される。この例において、（画面６００に図示するような）「優先」と名付けられたフィールドは、機能「ハッシュ調査１」に関連付けられている。情報を再検討して（「終了」と表示された）ボタン７０６を選択すると、新しいオブジェクト（または、複数のオブジェクト）が生成され、（例えば、一または複数のオブジェクトへ誘導するための）一または複数の表示画像が生成され得る。例えば、図６の画面６００に戻ると、ボタン６０２が新しく生成されたオブジェクトへのリンクによって置換されており、それが選択されると、ユーザは新オブジェクトに誘導され得る。一の構成においては、生成されたオブジェクトに関連付けられた情報およびパラメータを確認するための画面７０８がユーザに示され得る。このウィザードの例は１つのオブジェクト（または、複数のオブジェクト）を生成することについて説明したものであるが、他の処理が同様なウィザードによって行われ得る。例えば、オブジェクト調整（例えば、機能割当てなど）、オブジェクト削除、および、他の同様な動作が実行され得る。
【００５９】
例５：編集レンダラ
図８を参照すると、一または複数のオブジェクトが作成された際、例えばデータの交換に関連付けられた処理のような他の処理が実行され得る。ある構成において、レンダリングされたエレメントの機能性は編集能力を含むように拡張され得る。例えば、他のプログラム（例えば、専用エディタ）に関連付けられ得るオブジェクトを生成するために、スクリプト、プログラムまたは他の型の命令収集が実行され得る。オブジェクトに関連付けられたエディタを導入することにより、編集機能を拡張し得る（メタデータを制約下にて編集する、外部編集制御を開始する、等）。編集機能が拡張されるとともに、オブジェクトに関連付けられたエディタは、編集機能をより柔軟にし得る。
【００６０】
図示するように、画面８００は編集画面の一部を含む。画面に含まれている（「キー」と表示された）フィールド８０２は、編集レンダラとしての機能を有する。この例では、値（例えば、数値、テキスト、関数等）は、直接には入力または編集されない。それに代えて、ユーザは、ボタン画像８０４を選択することによってキーフィールドのオブジェクトに関連付けられた編集を起動し得る。この構成においては、画面８０６は、キーフィールドに関連付けられるとともにユーザによって選択された情報がフィールドに関連付けられることを許可するエディタ８０８の例を示す。この特定の構成においては、エディタ８０８は、Flex(Adobe  Systems，San  Jose，California)のような複数のプラットフォーム向けのリッチインターネットアプリケーション（例えば、ユーザインターフェイス）を生み出すソフトウェア開発製品にて実装され得る。この例においては、エディタ８０８は、キーフィールド８０２のデータを識別するための選択可能レコードのセット８１０および選択ツール８１２を、ユーザに提供する。これらが選択された場合、前の画面８００に戻る（さらに、選択されたデータを提供する）ためにボタン画像８１４が選択され得る。
【００６１】
図９を参照すると、画面９００は、エディタ８０８（画面８０６に表示）からの情報が入ったキーフィールドを有する画面８００の更新版を表す。特に、更新されたキーフィールド９０２は、エディタ８０８からの２つの選択されたフィールドを含む。このように、２つのデータセットが画面９００に関連付けられているが、更なるデータのセットが設けられてもよい。データセットの１つは、画面９００に関連付けられたオブジェクトによって提供される。例えば、プルダウンメニュー９０４で選択されるとともに、画面９００にレンダリングされたダイアログ９０６に入力されたデータである。第２のデータのセットは、画面８０６に含まれた（および、キーフィールド８０２に関連付けられた）エディタ８０８によって提供される。このデータは、例えば、一または複数の技術を用いて他の画面へ渡され得る。例えば、データセットは同様の形式をとり得る。１つの構成においては、データは、クエリ文字列（例えば、HTTPクエリ文字列）にて送信されるように所定の形式またはフォーマットにてまとめられ得る。例えば、ユーザは、データをクエリ文字列にてまとめることを開始する（「変更を保存」と表示された）ボタン画像９０８を選択し得る。クエリ文字列へまとめられると、文字列は、一または複数の画面、オブジェクトまたはさらなる処理および表示のための位置に提供され得る。種々の型のエディタ（例えば、時間および日付に関連付けられたエディタ、（例えば、３次元物体の種々の側面を見るための）画像エディタ、および他の型のエディタ）も実装され得る。
【００６２】
３．実装方式
図１０を参照すると、フローチャート１０００は、データリポジトリ（つまり、ＥＭＥ１０４）に格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス（つまり、ユーザインターフェイスモジュール１０８）に表示するべく、エレメントレンダラ（例えば、エレメントレンダラ２０４）およびスクリプト（例えば、スクリプト２１０）によって実装された処理を示す。
【００６３】
上述したように、ＥＭＥ１０４において十分に相互接続されたメタデーダオブジェクトは、関連リンクによって参照され得る。複数のデータオブジェクト間の論理関連性を強調し且つ維持することに加え、ＥＭＥ１０４は、ウェブブラウザ上で作動するグラフィカルユーザインターフェイス（例えば、インターフェイス２０２）を用いて特定のデータオブジェクトの詳細を表示する。特に、オブジェクト内の情報は、一または複数のデータオブジェクトにおける対応する処理を呼び出し得るフォーム（例えば、ウェブフォーム）を生成する（１００２）ために、自動的に用いられる。これは通常はエレメントレンダラによって実装され、ＥＭＥ１０４に存在するほぼすべてのデータオブジェクトに適用され得る。データオブジェクトに関する種々のユーザインターフェイスインタラクションによって表されるユーザ入力を受け取ると（６０４）、スクリプト２１０は、ユーザ入力データをウェブフォームに変換して新しいデータオブジェクトをデータリポジトリ内に生成する（１００６）。単に入力データをコピーすること又は中間的処理の間に取得される一時的な変数を採用することよりも、この新しいデータオブジェクトは、ＥＭＥ１０４に存在し得る内容を含むことになる。次いで、この新データオブジェクトをＥＭＥ１０４内の一または複数の関連するオブジェクトにリンクすること（１００８）は、ユーザ処理が呼び出される位置に基づいて自動的に実装され得る。上述したオブジェクトの生成およびリンクの結果、ブラウザインターフェイス２０２は、グラフィカルユーザインターフェイス上の表示内容を管理し、ユーザがインターフェイスを介してＥＭＥ１０４の変化を見ることができるようにする。
【００６４】
上述のオブジェクト生成およびリンク方式は、コンピュータ上で実行されるソフトウェアを用いて実装し得る。例えば、このソフトウェアは、一または複数のプログラムされたまたはプログラム可能なコンピュータシステム（分散型、クライアント/サーバ型またはグリッド型等の種々アーキテクチャであってよい）上で実行される一または複数のコンピュータプログラム上の処理を構成する。コンピュータシステムの各々は、少なくとも１つのプロセッサ、（揮発性メモリおよび不揮発性メモリおよび／または記憶素子）を含む少なくとも１つのデータ記憶システム、少なくとも１つの入力デバイスまたはポート、および、少なくとも１つの出力デバイスまたはポートを含む。ソフトウェアは、例えば、計算グラフの設計および構成に関連した他のサービスを提供するより大きなプログラムの一または複数のモジュールを形成し得る。グラフのノードおよびエレメントは、コンピュータ読み取り可能媒体に格納されたデータ構造、または、データリポジトリに格納されたデータモデルに合致する他の構成されたデータ、として実装され得る。
【００６５】
ソフトウェアは、汎用または専用のプログラマブルコンピュータによって読み取り可能な媒体（例えば、ＣＤ−ＲＯＭ）にて提供されてもよく、（伝搬信号に符号化されて）ネットワークを介してそのソフトウェアが実行されるコンピュータに送られてもよい。すべての機能は専用コンピュータまたはコプロセッサのような専用ハードウェアを用いて実行され得る。ソフトウェアは、ソフトウェアによって指定された計算の異なる部分が異なるコンピュータによって実行される分散方式によって実装され得る。上述の各コンピュータプログラムは、上述の処理を実行するために記憶媒体または装置がコンピュータシステムによって読み取られたとき、コンピュータを構成および動作させるべく、汎用または専用プログラマブルコンピュータによって読み取り可能な記憶媒体またはデバイス（例えば、固体メモリまたは媒体、または磁気的または光学的媒体）上に格納またはダウンロードされることが好ましい。また、本発明のシステムは、コンピュータプログラムとともに構成されたコンピュータ読み取り可能記憶媒体であって、このように構成された記憶媒体がコンピュータシステムを特定のおよび予め定義された方法で動作させて上述の機能を実行させ得るものとしても実現され得る。
【００６６】
いくつかの本発明の実施態様が記載された。しかしながら、本発明の精神および範囲から逸脱することなく種々の変更がなされ得る。例えば、上述のいくつかのステップは独立した順序に並べることができ、上述の順序とは異なる順序で実行し得る。上記記載は、本発明を説明することを意図したものであって、添付される特許請求の範囲によって定義される本発明の範囲を限定することを意図するものではない。他の態様は以下の特許請求の範囲に含まれる。
【図１】
0005651121.tif 000002
【図２】
0005651121.tif 000003
【図３】
0005651121.tif 000004
【図４Ａ】
0005651121.tif 000005
【図４Ｂ】
0005651121.tif 000006
【図５】
0005651121.tif 000007
【図６】
0005651121.tif 000008
【図７】
0005651121.tif 000009
【図８】
0005651121.tif 000010
【図９】
0005651121.tif 000011
【図１０】
0005651121.tif 000012