(57)【特許請求の範囲】
【請求項１】
電子カタログを提供するコンピュータシステムであって、
前記コンピュータシステムは、
複数のデータレコードを有する電子データベース
を具備し、
複数のデータレコードはマスタデータセットを含み、ここで、複数のデータレコードの各々は複数のデータ要素を含み、
前記コンピュータシステムは、
データレコードの第１および第２のサブセット
を具備し、
各サブセットは、マスタデータセットから選択された１つまたは複数のデータレコードを具備し、
前記コンピュータシステムは、
第１のサブセットを第１のユーザに表示するための第１の画像と第２のサブセットを第２のユーザに表示するための第２の画像とを選択的に供給するマスクモジュールを含むソフトウェアプログラムと、
複数のビットベクトルインデックスと
を具備し、
前記マスクモジュールは、更に、第１および第２のビットベクトルインデックス間のビット様式のＡＮＤ演算を実行することによって、第１のサブセットを規定し、
第１のビットベクトルインディックスが、マスタデータセットで使用可能な全データレコードを規定し、
第２のビットベクトルインディックスが、第１のサブセットにおけるデータレコードを規定し、
前記ソフトウェアプログラムは、第１のユーザからユーザ入力選択基準を受信しかつ第１のサブセット上でパラメータ検索を実行するパラメータ検索モジュールを具備し、
前記マスタデータセットは、第１のユーザに使用可能な検索基準の全てを照合する複数の検索ビットベクトルインデックスを含み、
検索ビットベクトルインデックスの各々はフィールドまたは属性に対応し、第１のユーザは、該フィールドまたは属性から、１つまたは複数の特定の値あるいは興味がある値の範囲を選択し、
繰り返しのパラメータ検索を実行する場合、中間生成ビットベクトルが、繰り返されるパラメータ検索の最中の間に、各ルックアップフィールドに対して記憶され、付加制約が、中間生成ビットベクトルに適用される
ことを特徴とする電子カタログを提供するコンピュータシステム。
【請求項２】
複数のデータ要素の各々が製品情報データを含むことを特徴とする、請求項１に記載のシステム。
【請求項３】
マスクモジュールが、さらに第１の画像が表示される第１のユーザを選択するためのものであることを特徴とする、請求項１に記載のシステム。
【請求項４】
マスクモジュールが、さらに第１のデータサブセットのデータレコードのどのデータ要素がユーザに表示されるかを規定するためのものであり、前記マスクモジュールが、さらにマスタデータセット内の各レコードで使用可能な全データ要素を規定するための第３のビットベクトルインディックスを使用するためのものであり、前記マスクモジュールが、さらに第１のユーザに表示される第１のデータサブセットのデータ要素を規定するための第４のビットベクトルインディックスを使用し、マスクモジュールが、さらに第３および第４のビットベクトルインディックス間のビット様式のＡＮＤ演算を実行するためのものであることを特徴とする、請求項１に記載のシステム。
【請求項５】
マスクモジュールが、さらに第１および第５のビットベクトルインディックス間のビット様式のＡＮＤ演算を実行することによって第２のサブセットを規定するためのものであり、第５のビットベクトルインディックスが第２のサブセットのデータレコードを規定することを特徴とする、請求項１に記載のシステム。
【請求項６】
マスクモジュールが、さらに第２のサブセットのデータレコードのどのデータ要素が第２のユーザに表示されるかを規定するための第６のビットベクトルインデックスを使用し、前記マスクモジュールが、さらに第２のユーザに表示されるデータ要素を規定するために、第３および第６のビットベクトルインディックス間のビット様式のＡＮＤ演算を実行するためのものであることを特徴とする、請求項５に記載のシステム。
【請求項７】
マスクモジュールが、第１のユーザが第２のサブセットのデータの全部にアクセスすることを防止するためのものであることを特徴とする、請求項１に記載のシステム。
【請求項８】
マスクモジュールが、複数のサブセットの各々に画像を提供するためのものであり、各画像が、各それぞれのサブセットを複数のそれぞれのユーザに表示するためのものであることを特徴とする、請求項７に記載のシステム。
【請求項９】
電子データベースおよびソフトウェアプログラムが、ネットワークに接続されたサーバに記憶されることを特徴とする、請求項８に記載のシステム。
【請求項１０】
ネットワークに電気的に接続される１つまたは複数のデリバティブプロセッサを含む、請求項９に記載のシステム。
【請求項１１】
１つまたは複数のデリバティブプロセッサの各々が、１つまたは複数のユーザの、１つまたは複数のグループを規定するためのものであることを特徴とする、請求項１０に記載のシステム。
【請求項１２】
マスクモジュールが、それぞれのデリバティブプロセッサによって規定されたグループの各々に表示するためにどのサブセットが各デリバティブプロセッサに利用できるかを規定することを特徴とする、請求項１１に記載のシステム。
【請求項１３】
各それぞれのユーザに与えられたライセンスに基づいて各サブセット内のデータを保持し、かつ修正するためのソフトウェアプログラムにライセンスモジュールを含むことを特徴とする、請求項１２に記載のシステム。
【請求項１４】
ライセンスモジュールが、各デリバティブプロセッサに与えられたそれぞれのライセンスに基づいて、各デリバティブプロセッサに利用できるサブセットを保持し、かつ修正するためのものであることを特徴とする、請求項１３に記載のシステム。
【請求項１５】
ソフトウェアプログラムが、それぞれのライセンスに基づいて各デリバティブプロセッサに課金する課金モジュールを含むことを特徴とする、請求項１４に記載のシステム。
【請求項１６】
ライセンスの少なくとも１つが、１つまたは複数のデータレコードがそれぞれのデリバティブプロセッサのユーザに表示される回数に基づいて課金を規定することを特徴とする、請求項１５に記載のシステム。
【請求項１７】
表示するための１つまたは複数のデータサブセットをフォーマット化するための第１のメタデータのセットを含むことを特徴とする、請求項１６に記載のシステム。
【請求項１８】
第１のメタデータのセットによって規定されるフォーマットが、１つまたは複数のデータサブセットを表示するためのスタイルおよび他のパラメータを含むことを特徴とする、請求項１７に記載のシステム。
【請求項１９】
第１のメタデータのセットを使用するコンピュータ命令を含むことを特徴とする、請求項１８に記載のシステム。
【発明の詳細な説明】
【０００１】（関連出願）
本出願は、１９９９年１２月１０日に出願された仮特許出願第６０／１７０，２８３号に基づいている。
【０００２】（技術分野）
本発明は、一般にプリントカタログおよび電子カタログの製品のコンピュータ実施方法、より詳細には各々がそれ自体の固有画像を有するように発行され、さらに少しの作業あるいは管理上のオーバーヘッドなしにマスタカタログの単一コピーから得られる全てであるカタログを作り出すシステムに関するものである。さらにより詳細には、本発明は、リンクされたマルチメディアコンテンツおよび関連メタデータとともに、マスタカタログおよびそのデリバティブの動的およびカスタマイズ電子・プリント表示の作成を可能にする機能性とともに、限られた数の製造者からの類似および非類似製品情報を記憶し、更新し、分類し、保持するデータ構造および機能的方法のセットに関するものである。
【０００３】（背景技術）
これまで、カタログを作成することは、多数の異なる技術を必要とした、高価で、時間がかかり、骨の折れるプロセスであった。工程では、複数のソースから製品データを収集し、画像を走査し、処理し、全てのものをレイアウトし、次に適切なレイアウトを得るためにこのプロセスを数回繰り返すことを含んでいた。これらの障害の全てを克服した後さえ、手間がかかり、時間がかかり、非常に高価であるマニュアルの複数の工程のプロセスがなお必要とされる。カタログが更新あるいは再発行される度に、最初からもう一度やり直す必要がある。
【０００４】  前述された障害の結果として、多数の項目を有する専門家向きの品質のカタログを発行することは、大きくて、十分資金を提供された組織だけの力量および範囲にあった。より小さい事業体は、既製のカタログに共に商標をつけ、ライセンスを与えることするか、あるいは製造者によって供給されたデータシートおよび他の情報の編集を様々なフォーマットおよびスタイルで済ますかのいずれかをしなければならなかった。
【０００５】  したがって、前述された欠点の全てを解決するシステムに対する必要性がある。さらに、迅速な更新およびこのシステムへの新しい製品情報、仕様およびメディアコンテンツの統合を可能にするシステムに対する必要性があり、この更新は、全サブセットカタログの全ユーザに直ちに目にすることができるようになる。システムは、注文のカタログソリューションを設計し、開発し、配置し、デバッグする必要を取り除くために、非常に短く、費用効率の高いカタログ取り決めを備えるシステムに対する更なる要求がある。
【０００６】（発明の開示）
本発明は、前述された現システムの欠点を解決する。したがって、本発明のいくつかの目的および長所は、そのように予めあるいは別々に行う手段を別のやりかたで有しない機構のための専門家向けに設計されたオンライン電子商取引の実在の迅速な形成を可能にし、製品情報で予め占められる一見したところ注文のカタログを安価に、効率的に作成し、漠大な数のユーザにアクセスされやすいこれらのカタログを作り、少しの作業あるいは管理上のオーバーヘットなしに単一のマスタカタログデータベースにアクセスする複数のユーザをサポートし、かつ製品販売者が、販売者独自の作成に関係するように見え、販売者独自のＣＩを与えるカタログを作ることができることにある。
【０００７】  さらに、本発明は、テンプレート駆動カタログ作成を可能にするためにカタログコンテンツを表示フォーマットから抜粋する。さらに製品情報の有効な更新および保守のための遠隔インタフェースを備えている。さらに、統計量（例えばユーザの好み、ショッピングパターンおよび閲覧習慣）は、買い手がこのシステムを使用している間に収集され、次にカタログライセンシーのサービスとして利用でき、広告はターゲット視聴者に基づいてカタログ内に組み込まれる。
【０００８】  さらに、本発明の目的および長所は、下記の通りである図面および説明の考察から明らかになる。
【０００９】  前述の目的によれば、マスタ製品データベースを保持し、いろいろなフォーマットで複数の同時に集中するユーザに、表示される製品データベース内に含まれた複数の重複するサブセットの情報を供給しているカタログ発行システムが開示されている。このシステムは、データベースの複数の画像をサポートするデータの基礎をなす構造とは無関係であってもよい製品マスクを、各画像が画像そのものの内部の別個のカタログであるように表示されるように使用する１つまたは複数の中央に置かれるもしくは分散されるデータベースで構成される。
【００１０】  このマスキング機能の上部に層になっている場合、１つの方法は、複数の店頭の役目を果たすことができる複数の画像を有する、複数の時分割カタログを形成する。このシステムは、さらにこれらの電子カタログに複数の価格表を与え、他のバックエンドシステムおよびフロントエンドシステムと統合する手段を提供する。
【００１１】  ウェブカタログ使用量は、月決めの料金、ペイパービュー契約、あるいはペイパートランザクション料金を含むさまざまな方法で課金されるが、これに限定されない。コンパクトディスク（ＣＤ）および紙のカタログに対するライセンス料金は、特定のサブセットカタログの製品数および作成されるコピー数によって計算される。
【００１２】（好ましい実施例の詳細な説明）
図１および図２を参照すると、時分割電子カタログを提供するシステムを示す２つのブロック図が示されている。このシステムは、マスタデータセット（図２の１２０）を含む複数のデータレコードを有する電子データベース１００を含む。このシステムは、データレコードの少なくとも第１および第２のサブセット（図２の１３０および１３２）を含み、各サブセット１３０〜１３２は、マスタデータセット１２０から選択された１つまたは複数のデータレコードを含む。このシステムは、サブセット１３０の１つを第１のユーザ（図２の１７２）に表示するための第１の画像（図２の１７０）を選択的に供給するデータレコードマスクモジュール２０２を含む。
【００１３】  複数のデータレコード１２０の各々は、当業者がデータレコード１２０のフィールドあるいは属性として認める複数のデータ要素（図３の１１０）を含む。データ要素１１０は製品情報データを含む。このデータレコードマスクモジュール２０２は、さらに第１の画像１７０が表示される第１のユーザ１７２を選択するためのものである。
【００１４】  このデータレコードマスクモジュール２０２は、複数のビットベクトルインディックスを含む。このデータレコードマスクモジュール２０２は、第１および第２のビットベクトルインディックス間のビット様式のＡＮＤ演算を実行することによって第１のサブセット１３０を規定する。第１のビットベクトルインディックスは、マスタデータセット２０２で利用可能なデータレコードの全てを規定する。第２のビットベクトルインディックスは、第１の画像１７０に示された第１のサブセット１３０のデータレコードを規定する。
【００１５】  データレコードマスクモジュール２０２は、さらに第１のデータサブセット１３０のデータレコード１２０のどのデータ要素１１０がユーザに表示されるかを規定する。データレコードマスクモジュールは、マスタデータセット１２０に示すのに役立つデータ要素１１０の全てを規定する第３のビットベクトルインディックスを使用する。このマスクモジュールは、さらに第１のユーザ１３０に表示される第１のデータサブセット１３０のデータ要素を規定する第４のビットベクトルインディックスを使用する。マスクモジュール２０２は、さらに第３および第４のビットベクトルインディックス間のビット様式のＡＮＤ演算を実行するためのものである。
【００１６】  マスクモジュール２０２は、さらに第２のサブセット１３２を第２のユーザ１８２に表示する第２の画像１８０を供給するためのものである。このマスクモジュールは、第１および第５のビットベクトルインディックス間のビット様式のＡＮＤ演算を実行することによって第２のサブセット１３２を規定する。第５のビットベクトルインデックスは第２のサブセット１３２のデータレコードを規定する。
【００１７】  マスクモジュール２０２は、さらに第２のデータサブセット１３２のデータレコードのどのデータ要素１１０が第２のユーザ１８２に表示されるかを規定するためのものである。マスクモジュール２０２は、第２のユーザに表示されるデータ要素を規定するための第３および第６のビットベクトルインディックス間のビット様式のＡＮＤ演算を実行する。第６のビットベクトルインディックスは、表示される第２のサブセット１３２の各レコードのデータ要素１１０を規定する。
【００１８】  マスクモジュール２０２は、第１のユーザが、第１のユーザを第２のビットベクトルインディックスによって規定されるこれらのレコードだけに限定することによって第２のサブセットのデータレコードの全てにアクセスすることを防止する。
【００１９】  当業者が上記の説明から認めるように、マスクモジュール２０２は、複数のサブセットの各々に対する複数の画像を提供するためのものであってもよい。各画像は各それぞれのサブセットを複数のそれぞれのユーザに表示するためのものである。
【００２０】  電子データベース１００およびソフトウェアプログラム２００は、ネットワークに接続されるサーバ１０に記憶される。このサーバは、中央処理装置（ＣＰＵ）５２と、読み出し専用メモリ（ＲＯＭ）５４と、ランダムアクセスメモリ５６と、ビデオ装置と、当業者がコンピュータシステム５０の典型的な一部と認める固定記憶装置とを有するコンピュータシステム５０を含む。コンピュータシステム５０は、さらにネットワークスタック５８および、ローカルエリアネットワーク、インターネット、イントラネットあるいはエクストラネットを含んでもよいネットワーク２５０と通信するために使用されるイーサネットアダプタのような通信インタフェース６０とを含んでいる。このコンピュータシステム５０は、付加記憶機能あるいはバックアップ目的のためのコンパクトディスクレコーダ６２を含んでもよい。ファイヤウオール６８は、付加セキュリティのためにコンピュータシステム５０とネットワーク２５０との間に電気的に接続されてもよい。
【００２１】  ネットワーク２５０に電気的に接続されてもよい１つまたは複数のデリバティブプロセッサ２５４は、このシステムと併用してもよい。１つまたは複数のデリバティブプロセッサ２５４の各々は、複数のユーザの１つまたは複数のグループを規定してもよい。マスクモジュール２０２は、データレコードのサブセット１３０〜１３２のどれがそれぞれのデリバティブプロセッサ２５４によって規定されるグループの各々に表示するために各デリバティブプロセッサ２５４に利用できるかを規定してもよい。
【００２２】  コンピュータプログラム２００は、各それぞれのユーザ１７２〜１８２に与えられたライセンスに基づいて各サブセット１３０〜１３２内のデータを保持し、修正するライセンスモジュール２０４を含む。このライセンスモジュールは、各デリバティブプロセッサ２５４に与えられたそれぞれのライセンスに基づいて各デリバティブプロセッサ２５４に利用できるサブセットを保持し、修正する。
【００２３】  ライセンスモジュール２０４は、さらにそれぞれのライセンスに基づいて各デリバティブプロセッサ２５４の所有者に課金する課金モジュール２１０を含んでいる。このライセンスの少なくとも１つは、１つまたは複数のデータレコード１１０がそれぞれのデリバティブプロセッサ２５４のユーザ１７２〜１８２に表示される回数に基づいて課金するために設けてもよい。
【００２４】  コンピュータプログラム２００は、表示するためのデータセット１３０〜１３２の１つまたは複数をフォーマット化するためのデータベース１００の一部として記憶されるメタデータのセットを使用するコンピュータ命令を含むメタデータマネージャ２０６を含んでもよい。メタデータ１００のセットによって規定されるフォーマットは、１つまたは複数のデータサブセット１３０〜１３２を表示するためのスタイルおよび他のパラメータを含む。
【００２５】  コンピュータプログラム２００は、さらに機能マネージャ、あるいはマスクモジュール２０８を含む。コンピュータプログラム２００は、電子データベース１００の実行可能な機能を実行する。コンピュータシステム２００の機能マスクモジュール２０８によって、第１のユーザ１７２は、第１のユーザが第２の実行可能な機能を実行することを防止する間に、少なくとも第１の実行可能な機能を実行できる。機能マスクモジュール２０８は、さらに第２のユーザ１８２が第２の実行可能な機能を実行できるためのものである。機能マスクモジュール２０８は、さらに第２のユーザ１８２が第１の実行可能な機能を実行することを防止するためのものである。このシステムは、データベース１００で実行するための複数の実行可能な機能を有してもよい。機能マスクモジュール２０８によって、複数のユーザ１７２〜１８２は、実行可能な機能の１つまたは複数を実行できる。機能マスクモジュール２０８は、実行可能な機能のどれがそれぞれのデリバティブプロセッサ２５４によって規定されるグループの各々によって使用するための各デリバティブプロセッサ２５４に利用できるかを規定する。
【００２６】  コンピュータプログラムのライセンスモジュール２０４は、各それぞれのユーザ１７２〜１８２に関連した機能を保持し、修正する。このライセンスモジュール２０４は、さらに各デリバティブプロセッサ２５４に利用できる機能を保持し、修正する。課金モジュール２１０は、それぞれのデリバティブプロセッサ２５４に与えられたライセンスに基づいて各それぞれのデリバティブプロセッサ２５４の所有者に課金する。課金モジュール２１０は、それぞれのデリバティブプロセッサ２５４に利用できる機能に基づいて各デリバティブプロセッサ２５４の各所有者に課金してもよい。さらに、課金モジュール２１０は、１つまたは複数の機能が使用される回数に基づいて課金してもよい。
【００２７】  本発明のシステムは、個別のデータ処理装置としての機能を果たしてもよいしあるいは図１に示されるような共有データ処理資源のネットワークの一部であってもよい。コンピュータシステム５０は、いろいろなオペレーティングシステムによって管理される、最小マイクロコンピュータシステムから最大メインフレームコンピュータおよびスーパーコンピュータの１つまでのどこででもの範囲にあってもよく、任意の付属ハードウェア部品およびソフトウェア部品を含んでもよい。
【００２８】  このコンピュータシステム５０は、メモリ（ＲＡＭ５６およびＲＯＭ５４）および１つまたは複数の固定記憶装置５８（例えば、ハードディスク）に結合された中央処理装置（ＣＰＵ）５２を有するコンピュータおよび陰極線管（ＣＲＴ）あるいは液晶ディスプレイのようなディスプレイおよびキーボードおよびカーソル制御装置とを含む。
【００２９】  コンピュータプログラム２００は、コンピュータシステムにインストールされ、本発明によって提供される機能を容易にするその動作を制御する。コンピュータシステム５０は、順にローカルあるいは遠隔プリンタ７２に出力を送信してもよい出版ソフトウェア７０のような外部ソフトウェアシステムにも局部的あるいは遠隔的のいずれかにインタフェースしてもよい。ソフトウェア内部のある種の要素は、情報を通信し、データベース１００に記憶する。データベース１００およびその管理ソフトウェアは、局部的にインストールされてもよいしあるいはコンピュータネットワーク２５０を介してアクセスされてもよい。
【００３０】  コンピュータプログラムは、さらにその各々が固有命令を実行する複数の他のモジュールで構成されている。例えば、パラメータ検索モジュール２１２は、マスタカタログあるいはそのデリバティブカタログのいずれかもしくはサブセット１３０〜１３２のいずれかで利用可能なレコードのセットの中からレコードのセットを迅速に、正確に、直観的に、双方向に探索し、指定するために使用される。
【００３１】  フィールドマスキング、あるいはフィルタ、モジュール２１４は、どのフィールド１１０が、利用可能なフィールドの中からデリバティブ、あるいはサブセット１３０〜１３２、カタログで表示されるかを選択する。各カタログライセンシーは、どのフィールド１１０がそのそれぞれのデリバティブカタログで表示されるかを選択するように決めて、それに応じて課金されてもよい。依存確認器は、一貫性および統一性のための各サブセットカタログ１３０〜１３２を分析し、全ての必要とされるフィールド１１０および機能がカタログに含まれることを確認し、このフィールド１１０によって決まる機能（例えば、相互参照モジュール）を含む同じデリバティブカタログに存在しないフィールド１１０（例えば、製品情報の相互参照フィールド）の可能性を取り除く。
【００３２】  機能マスキングフィルタモジュール２０８は、それぞれのカタログライセンシープロフィールに応じて、どの機能が各デリバティブカタログに役立つかを制御する。これらの機能のいくつかは、サブセット１３０〜１３２の製品、ファジー検索モジュール２１８、あるいは後述される相互参照マネージャモジュール２２０を比較する製品比較モジュール２１６の動作を含んでもよい。
【００３３】  カリフォルニア州のロサンゼルス市のＡ２ｉ社、ワシントン州のシアトル市のＡＭＡＺＯＮ．ＣＯＭ、あるいはカリフォルニア州のＡｌｉｓｏ  Ｖｉｅｊｏ市のＢＵＹ．ＣＯＭによるＣＡＴＡＬＯＧ  ＭＡＮＡＧＥＲと併用されるモジュールのようなショッピングカートモジュール２２２が含まれる。いかなるカタログも、買い手が可能な後の購入のための興味のある項目を入れてもよいショッピングカートを含んでもよい。
【００３４】  製品比較モジュール２１６の場合、ユーザは、若干の選択製品間の類似性および差異を比較するように選択してもよい。このような製品比較モジュール２１６は、カリフォルニア州のロサンゼルス市のＡ２ｉ社によるＣＡＴＡＬＯＧ  ＭＡＮＡＧＥＲで販売される。
【００３５】  ファジー検索モジュール２１８は、同じ照合が含まれる方法で要求される製品の非正確な定義に基づいている検索のための方法を提供し、この結果のセットは、関連性によって分類できる。このようなファジー検索モジュール２１８は、ノースカリフォルニア州のチャペルヒル市のＭｅｔｕｓ  ＳｙｓｔｅｍｓによるＦＵＺＺＹ  ＤＡＴＡ  ＥＸＰＬＯＲＥＲ製品を含んでもよい。
【００３６】  フリーテキスト検索モジュール２２５によって、ユーザは、照合製品のリストを作成するために製品のデータフィールド１１０と比較して照合されるテキストストリングを入力できる。１つの方式におけるこの全ては、ユーザの入力を細かく調べ、カテゴリー、製品およびメーカー名ならびに属性名および値と照合する。このようなフリーテキスト検索モジュール２２５は、カリフォルニア州のロサンゼルスのＡ２ｉ社によるＣＡＴＡＬＯＧ  ＭＡＮＡＧＥＲとともに販売されている。
【００３７】  ライセンシーによってカスタマイズされたカタログ価格は、それぞれのサブセットライセンシーによってアップロードされた価格に基づいている価格を各デリバティブサーバ２５４に供給する注文価格付エンジン２２４を介して処理される。顧客価格エンジンは、カリフォルニア州のレッドウッド市のブロードビジョン社によって販売されるＯＮＥ‐ＴＯ‐ＯＮＥ製品から得られてもよい。
【００３８】  関連項目ロケータモジュール２２６は、製品に関連している他の製品を表示する機能性を提供する。このような関連された項目ロケータモジュール２２６は、カリフォルニア州のロサンゼルス市のＡ２ｉ社によるＣＡＴＡＬＯＧ  ＭＡＮＡＧＥＲとともに販売されている。
【００３９】  カタログバージョンエンジン２２８は、テキスト言語および／他の基準で異なってもよいサブセットカタログのバージョンとは異なる表示を処理する。カタログバージョンエンジン２２８は、当業者に公知であるいかなる数の電子言語翻訳システムを含んでもよい。
【００４０】  プリント出版インタフェースモジュール２３０は、ハードウェア、およびカタログのプリントバージョンを生成するために使用されるソフトウェアにインタフェースする必要とされる機能性を提供する。プリント出版インタフェースモジュール２３０は、カタログサブセット１３０〜１３２を紙形式で表示するためにコロラド州のデンバー市のクォーク社によるＱＵＡＲＫＸＰＲＥＳＳ製品とのインタフェースを含んでもよい。
【００４１】  ウェブカタログインタフェースモジュール２３２は、ハードウェアおよびインターネットのようなコンピュータネットワーク２５０を介してカタログユーザ１７２〜１８２に送信されるカタログの電子バージョンを生成するために使用されるソフトウェアにインタフェースする必要とされる機能性を提供する。ウェブカタログインタフェースモジュール２３２は、電子カタログを作るためにワシントン州ののレッドモンド市のマイクロソフト社によるＩＮＴＥＲＮＥＴ  ＩＮＦＯＭＡＴＩＯＮ  ＳＥＲＶＥＲとインタフェースしてもよい。
【００４２】  ＣＤカタログインタフェース２３４は、ハードウェアおよび非揮発性記憶手段（例えば、ＣＤ、ＤＶＤ等）に常駐するスタンドアロンプログラムであるカタログの電子バージョンを生成するために使用されるソフトウェアにインタフェースする必要とされる機能性を提供する。このＣＤカタログインタフェースモジュール２３４は、カリフォルニア州のサンホゼ市のＨｙＣＤによるＨＹＣＤ製品を含んでもよい。
【００４３】  類似項目ロケータモジュール２３６によって、ユーザは、項目の選択されたセットに類似している項目を検索し、見つけることができる。類似項目ロケータモジュール２３６は、カリフォルニア州のロサンゼルス市のＡ２ｉ社によるＣＡＴＡＬＯＧ  ＭＡＮＡＧＥＲ製品にあってもよい。
【００４４】  このシステムは、カタログサブセット１３０〜１３２および他のサブシステムを管理するのに必要とされる機能性を提供する管理インタフェースモジュール２３８を介して管理される。このような管理インタフェースモジュール２３８は、カリフォルニア州のロサンゼルス市のＡ２ｉ社によるＣＡＴＡＬＯＧ  ＭＡＮＡＧＥＲ製品にあってもよい。
【００４５】  カタログライセンスモジュール２０４によって、さらにカタログライセンシーは、ライセンシーの課金情報、統計値および他の関連データを照会できると同様にライセンシーのデリバティブカタログを管理できる。
【００４６】  プロフィールマネージャモジュール２４０は、買い手の閲覧習慣、地理的位置、およびターゲットコンテンツおよび広告を生成するために使用される他のこのような情報に関連したデータを含んでもよい。プロフィールマネージャモジュール２４０は、カリフォルニア州のレッドウッド市のブロードビジョン社によるＯＮＥ‐ＴＯ‐ＯＮＥ  ＣＯＭＭＥＲＣＥ製品を含んでもよい。
【００４７】  電子商取引インタフェースモジュール２４２は、（内部あるいは外部のいずれかで）電子商取引システムと通信し、提出され、追跡され、照会される注文情報を可能にする。電子商取引インタフェースモジュール２４２は、カリフォルニア州のレッドウッド市のブロードビジョン社によるＯＮＥ‐ＴＯ‐ＯＮＥ  ＣＯＭＭＥＲＣＥ製品を含んでもよい。
【００４８】  相互参照マネージャモジュール２２０は、異なるメーカーにわたる製品仕様および製品ラインに一致し、類似特性を有する製品の異なるソースからの検索および表示を行うために使用される。このような相互参照マネージャモジュール２２０は、カリフォルニア州のロサンゼルス市のＡ２ｉ社によるＣＡＴＡＬＯＧ  ＭＡＮＡＧＥＲ製品にあってもよい。
【００４９】  メーカーは、メーカーインタフェース２４４を介してメーカーの事業に関連する統計情報を照会し、見るのと同様にメーカーの製品レコードを付加し、更新してもよい。このようなメーカーのインタフェース２４４は、カリフォルニア州のロサンゼルス市のＡ２ｉ社によるＣＡＴＡＬＯＧ  ＭＡＮＡＧＥＲ製品にあってもよい。
【００５０】  遠隔あるいはデリバティブサーバ２５４との通信は、遠隔サーバからの情報プッシュサービスおよびプルサービスの両方を提供する遠隔サーバインタフェースモジュール２４６を介して処理される。情報の交換は、製品情報、課金データ、履歴および使用ログのような項目を含んでもよい。このようなサーバインタフェースモジュール２４６は、ワシントン州のレッドモンド市のマイクロソフト社のＭＩＣＲＯＳＯＦＴ  ＳＩＴＥ  ＳＥＲＶＥＲにあってもよい。
【００５１】  カタログサブセット使用量の統計値は、レコード画像使用量、機能使用量および使用履歴および統計データベースエンティティ１１４に記憶される統計処理、分析処理、課金処理および他のデータ収集処理で使用できる他のデータのようなデータを検出し、収集する使用量統計追跡モジュール２４８を使用して収集される。このような統計追跡モジュール２４８は、オレゴン州のポートランド市のウェブトレンド社によるＷＥＢＴＲＥＮＤＳ製品にあってもよい。
【００５２】  カタログ買い手の動作は、使用量・統計量追跡器モジュール２４８によって収集され、記憶される。当業者が理解するように、このようなデータの収集は、ウェブあるいはカタログサーバのログファイルを読み取ることによって行われる。
【００５３】  セキュリティマネージャモジュール１９８は、許可されたエンティティだけが承認された動作を実行し、この動作が許可されたデータを見ることができる。このようなセキュリティマネージャモジュール１９８は、カリフォルニア州のロサンゼルス市のＡ２ｉ社によるＣＡＴＡＬＯＧ  ＭＡＮＡＧＥＲ製品にあってもよい。
【００５４】  このシステムを使用している間にカタログの買い手に表示される広告および販売促進は、広告・販売促進マネージャモジュール１９６によって制御される。モジュール１９６は、ワシントン州のレッドモンド市のマイクロソフト社のＭＩＣＲＯＳＯＦＴ  ＡＤ  ＳＥＲＶＥＲで実行されてもよい。
【００５５】  画像マネージャ１９４は、画像を持ち込み、操作し、データベース内の項目およびメタデータに結合するために使用される。このような画像マネージャ１９４は、カリフォルニア州のロサンゼルス市のＡ２ｉ社によるＣＡＴＡＬＯＧ  ＭＡＮＡＧＥＲ製品にあってもよい。
【００５６】  機能マネージャモジュール１９２は、利用可能なセット、例えば相互参照、ファジー検索、あるいは製品比較の中からどの機能がカタログのユーザ１７２〜１８２に許可可能であるかを指定し、制御するために使用される。機能マネージャモジュール１９２の動作は、下記により詳細に説明される機能マスクモジュール２１４とともに作動する。
【００５７】  相互販売および／または処分販売の項目申し込みを含むようにユーザのディスプレイ１７２〜１８２に動的に調整する相互販売および処分販売エンジンモジュール１９０によって処理される。モジュール１９０は、カリフォルニア州のレッドウッド市のブロードビジョン社によるＯＮＥ‐ＴＯ‐ＯＮＥ  ＣＯＭＭＥＲＣＥ製品を使用して実行されてもよい。
【００５８】  特定の製品に適用してもよいディスカウントは、ディスカウントエンジン１８８によって計算される。このモジュールは、動的に（マスタデータベース１２０からの規則および情報および／またはライセンシーによってカスタマイズされた規則およびデータを使用して）割り引きされた価格を計算し、ユーザのショッピングセッション中ユーザのスクリーン上に表示する。モジュール１８８は、カリフォルニア州のレッドウッド市のブロードビジョン社によるＯＮＥ‐ＴＯ‐ＯＮＥ  ＣＯＭＭＥＲＣＥ製品を使用して実行されてもよい。
【００５９】  前述されているように、コンピュータプログラム２００のいろいろなモジュールは、１つまたは複数のデータベース１００と通信する。データベース１００は、各々が、複数のテーブル、関連インディックス、記憶された手順、外部ファイル、および前述されたモジュールの各々によって別個におよび概してこのモジュールの中の全てによって必要とされる機能性を提供するのに必要とされる外部参照を有する複数のデータベースを処理する１つまたは複数のデータベース管理システムを含んでもよい。これに関して、下記のデータベースエンティティは、テーブル、インディックス、記憶された手順、外部ファイルおよび外部参照を含み、いずれにしても他のデータおよび構造は必要とされてもよい。
【００６０】  製品カタログデータベースエンティティ１２０は、製品特性、ならびにメーカー、価格、流通方法、パッケージング、およびデータレコードの危険な材料状態（図３の３０２〜３０６）に関連する情報を記憶するマスタ製品カタログである。
【００６１】  メタデータデータベースエンティティ１０４は、製品に関連したデータと、カテゴリー階層配置と、分類法情報と、テンプレート関連と、製品データレコード３０２〜３０６およびカタログレイアウトの関数および表示に関連した他のこのような情報とを含んでいる。メタデータデータベースエンティティ１０４は、フィールドリストの粒状インスタンス、優先順位ランキングおよび相互参照モジュール２２０および類似項目ロケータモジュール２２６に対する初期許容差値および精度値も含んでいる。
【００６２】  ライセンシープロフィールデータベースエンティティ１０８は、マスタデータセット１２０からのライセンスされた注文の動的に分割されたカタログサブセットを有するカタログライセンシーの各々および全部に関連した情報を記憶する。ライセンスプロフィールデータベースエンティティ１０８に記憶された情報は、コンタクト情報、注文価格表、製品のための注文記述、注文テンプレートへのリンク、ならびに動的分割データベースエンティティ１１６に記憶されたレコードマスクへのリンクおよび参照、動的分割データベースエンティティ１１６に記憶されたフィールドマスク、動的分割データベースエンティティ１１６に記憶された機能マスク、課金データベースエンティティ１１２の課金データ、使用履歴・統計データベースエンティティ１１４に記憶された統計データ、使用履歴・統計データベースエンティティ１１４に記憶された履歴ログおよび使用ログ、ディスカウントデータあるいは他の属性へのリンクおよび参照を含んでいる。
【００６３】  動的分割データベースエンティティ１１６はカタログデータベースエンティティ１２０の動的分割機能を必要とする情報を記憶する。動的分割データベースエンティティ１１６に記憶されたデータには、フィールドマスク、機能マスク、製品、フィールドおよび特徴の間の関係従属性がある。
【００６４】  使用履歴・統計データベースエンティティ１１４は、これらのレコードがその後追跡使用、統計使用およびセキュリティ使用のために総合的レポートおよび重点レポートの両方を生成するために使用できるように、カタログサイトのユーザによって実行される全ての動作のレコードを記憶する。
【００６５】  カスタマイズ化情報データベースエンティティ１１８は、動的カタログのためのカタログライセンシーカスタマイズ化機能をサポートするのに必要とされる情報を含む。記憶されたデータは、ライセンシーによって構成された注文テンプレート情報および参照、ロゴおよび他の画像、ならびに注文価格、テンプレートおよびディスカウント価格データを含んでいる。
【００６６】  広告データベースエンティティ１２４は、カタログシステムのカタログの買い手の使用中にタログの買い手に対象にされる広告内容を動的に表示するために使用される情報を記憶する。広告データベースエンティティ１２４は、レポート目的のために使用される（印象およびクリックスルー比から集められる）広告効能のための情報も含んでいる。
【００６７】  販売促進エンティティ１２６は、異なるライセンシーがライセンシーのカタログをカスタマイズし、注文宣伝パンフレットおよびサービス品を表示できるように製品相互販売および処分販売のような販売促進の表示および提案に関連した情報を記憶する。
【００６８】  ディスカウント情報データベースエンティティ１２８は、ウェブサイト上のカタログの買い手によって購入された製品のためのディスカウントの適用および計算に関連した情報を記憶する。
【００６９】  トランザクションログデータベースエンティティ１３８は、カタログシステムによって容易にされ、製品購入、ライセンシー支払い、広告収入、および他のトランザクションを含む全トランザクションのログを記憶する。
【００７０】  テンプレート・表示データベースエンティティ１４０は、付加表示命令を組み込んでいる間に、グラフィカル要素、コンピュータ命令、表示仕様およびライセンシー選択テンプレートを製品データで動的に占めるのに必要とされるメタデータ参照を記憶する。
【００７１】  セキュリティデータ・ログデータベースエンティティ１４２は、システムで実行できる各公知のエンティティおよびあらゆる動作に対するアクセス制御リストを記憶する。セキュリティデータ・ログデータベースエンティティ１４２は、全データアクセス、更新、操作およびシステムのユーザによって実行され、侵害の試みおよび他の不許可動作を含む動作のログも追跡し、記憶する。
【００７２】  課金データベースエンティティ１１２は、顧客およびライセンシー課金に関連した情報、課金データおよび課金トランザクションおよびシステム使用量のために使用される他の情報を記憶する。
【００７３】  カタログの買い手プロフィールデータベースエンティティ１４４は、いかなるデリバティブカタログも閲覧するカタログユーザの各々に対する個別のプロフィールを記憶する。カタログの買い手プロフィールデータベースエンティティ１４４に記憶された情報の中には、コンタクト情報のような課金情報、クレジットおよびバランス情報、ならびに購入履歴；個人化データおよびユーザセッティング；カタログの選択エリアのためのブックマークがある。
【００７４】  このシステムのデータベース管理は、カリフォルニア州のレットウッドショア市のオラクル社によるＯＲＡＣＬＥ８ｉリリース２あるいはワシントン州のベルビュー市のマイクロソフト社によるＭＩＣＲＯＳＯＦＴ  ＳＱＬ  ＳＥＲＶＥＲのような市販用リレーショナルデータベース管理システム（ＲＤＢＭＳ）によって行われる。本発明は、データベース１００を操作するために使用される根元的なハードウェアおよびソフトウェアから実際の実装を取り出す。
【００７５】  分割、あるいはサブセット、管理は、マスク、あるいはサブセット１３０〜１３２を形成し、更新し、記憶し、サブセット１３０〜１３２をカタログライセンシープロフィールデータベースエンティティ１０８に記憶されたカタログライセンシープロフィールに関連付けるデータレコードマスクモジュール２０２、フィールドマスクモジュール２１４および機能マスクモジュール２０８を介して処理される。モジュール２０２、２１４および２０８は、どのレコード、フィールドおよび機能がマスタカタログ１２０に使用可能なサブセット１３０〜１３２のセットの中からカタログライセンシーに利用されるべきである。
【００７６】  本発明の一部は、動的分割フィルタリングソフトウェア構成要素２０２、２１４および２０８を使用して実時間で生成されるマスタカタログ１２０のサブセット１３０〜１３２と同様な時分割デリバティブカタログとして記述できる。これらの構成要素は、ライセンシープロフィールデータベースエンティティ１０８に記憶されたカタログライセンシーのプロフィールから適切な情報を読み出し、ライセンシーのプロフィールが規定する関連マスタを引き出し、このマスタを使用し、マスタカタログ１２０に含まれる情報をフィルタリングするために使用する。この結果は、製品、機能および力タログライセンシーによって申し込まれるフィールドだけを含む動的に生成されたカタログ１３０〜１３２である。
【００７７】  カタログライセンシーは、このライセンシーのデリバティブカタログ１３０〜１３２をカスタマイズできる。例えば、下記の機能が提供できる。すなわち
サブセットカタログ１３０〜１３２の製品の選択；
価格表のアップロード；
カスタマイズされたロゴおよびコンタクト情報；
カスタマイズされたフィールドのアップロードおよび関連；
カスタマイズされたテンプレートのアップロードおよび関連、および
課金状態ディスプレイ
【００７８】  電子カタログ（スタンドアロンおよびネットワークベースの両方）は、使用量、閲覧習慣、および購入パターンについての統計量を収集するオプションを有する。ネットワークカタログ統計量は、使用履歴・統計データベースエンティティ１１４に直接記憶されている。スタンドアロンカタログからの情報は、手動工程あるいは自動工程を介して個別のユーザから主保存場所に転送されてもよい。
【００７９】  デリバティブカタログを認可する際に関与する当事者は、カタログ供給者を登録するオプションを与えられる。登録は、オンライン、バッチアップロードあるいは他の手段を介することを含むいかなる数の方法でも生じ得る。オンライン登録形式は、コンタクトおよび課金情報の入力のために備えられている。したがって、項目、機能およびフィールド選択は、オンラインインタフェースを介して行われる。大量の新しいカタログライセンシーは、バッチアップロード工程を介しても入力される。この技術は、主に特権あるいは他のチェーン供給機構に役立つ。例えば、全部の関与している販路はこのシステムに申し込み、さらに各々は、販路自体のデリバティブカタログ１３０〜１３２を表示する。最後に、ファックス、電話およびメール形式のような他の手段は、デリバティブカタログ１３０〜１３２を申し込むために使用できる。
【００８０】  本発明に関して記載されたカタログシステムは、電子商取引インタフェースモジュール２４２を介して他のコンピュータシステムにインタフェースできる。このモジュール２４２は、注文入力、在庫品確認、および出荷追跡のような電子商取引関連手順を含む。さらに、このシステムは、電子商取引応用および外部ビジネスシステムとの統合のためのＥＤＩのような標準化プロトコルの使用をサポートする。
【００８１】  ローカルメディアに記憶されるスタンドアロン電子カタログは、カタログ命令と、カタログデータと、カタログ申請と動的ネットワークベース更新とを含む。
このカタログ命令は、特定のカタログの表示、性質および機能性を制御するカタログ固有のプラットホーム独立の機械可読命令である。このカタログデータは、製品データと、メタデータと、ローカルディスプレイ装置でユーザに出力される補足的な情報とを含む。このカタログ申請は、カタログ命令および機能性をユーザのコンピュータスクリーン上に表示するためのカタログデータと合体するようにカタログインタープリターの役目を果たす一般的なアプリケーションプログラムを含む。ハードディスク、ＣＤ‐ＲＯＭおよびＤＶＤのようなローカル記憶媒体上に記憶された電子カタログは、コンピュータネットワークを介する更新を受信し、これらの更新を局部的に記憶できる。カタログが表示される場合、更新情報は、使用可能である場合に別の場所に表示される既存のカタログデータで表示される。
【００８２】  図３を参照すると、マスタ製品カタログ１２０を分割する例が示されている。マスタあるいは製品カタログ１２０は、各デリバティブ分割カタログ１３０、１３２、３２４および３２６がレコード１０２〜１０６、フィールド１１０および機能へのアクセス、例えば２２０、２２２、２２４および２３６のサブセット（１３０、１３２、３２４あるいは３２６）の中の予め指定されたサブセットだけを有するように複数の動的分割カタログ１３０、１３２、３２４および３２６として利用される。この工程は、マスキング機能を使用することによって可能にされる。このマスキング機能は、レコード、フィールドおよび特定のカタログライセンシーが許可した機能の通過を可能にするフィルタモジュール２０４、２１４および２０８を含む。
【００８３】  カタログデータは、製品レコード、フィールドおよび加入者が支払った機能だけを含むサブセット１３０、１３２および３２４および３２６を生じるようにそのとき分割されるマスタあるいは製品カタログ１２０に存在する。図３の例では、ベアリングおよびシャフトに関する情報は、デリバティブカタログ１３０、１３２、３２４および３２６に選択的に含まれてもよい。マスタ製品カタログ１２０に記憶された複数のデータレコードの中の３つが示されている。後述されるビットベクトルインデクシング工程によって、データレコードマスクモジュール２０２は、データエンティティ１１６に記憶された製品マスクに従ってマスタ製品カタログ１２０をサブセット１３０、１３２、３２４および３２６に分割する。次に、ビットベクトルインデクシング工程の場合、フィールドマスクモジュール２１４は、どのフィールド１１０がデータエンティティ１１６に記憶されるフィールドマスクに従って各サブセットのために表示されるべきであるかを決定する。ビットマスキング工程の場合、機能マスクモジュール２０８は、コンピュータプログラム２００のどの機能が機能マスク３３０、３３２、３３４、３３６、３４０、３４２および３４４に従って使用可能である。各機能マスクは、図示されるようなこの特定の機能マスクに役立つ使用可能な機能のサブセットを規定する。例えば、機能マスク３４０（この例ではサブセットのいずれかによっても使用されない）は、コンピュータプログラム２００で機能２３６および２２２の使用を可能にする。
【００８４】  コンピュータプログラム２００は、メタデータデータベースエンティティ１０４に記憶された関連テンプレートポインタに従ってテンプレート・表示データベースエンティティ１４０に記憶された複数のテンプレート３８０〜３８２の１つを選択する。テンプレートの選択を行うコンピュータプログラム２００のモジュールは、特定のサブセットに対する出力の種類によって決まる。例えば、このサブセットが印刷されたカタログを作るためのものである場合、テンプレートは、ローカルプリンタ７２あるいは遠隔プリンタ（図１の２７２）で印刷するために選択され、印刷のための命令は印刷発行インタフェースモジュール２３０にある。このサブセットがワールドワイドウェブ、イントラネット、あるいはインターネット（ウェブカタログ）に電子カタログを生成するためのものである場合、ＨＴＭＬ、ＸＭＬ、あるいは他のウェブコンパチブルテンプレートは、ローカルプリンタ端末あるいは複数の遠隔端末（図１の２９０〜２９２）の遠隔端末にサブセットを表示するために選択され、電子表示のための命令はウェブカタログインタフェースモジュール２３２にある。このサブセットがコンパクトディスク（ＣＤ）に電子カタログを生成するためのものである場合、ＣＤコンパチブルテンプレートは、ローカルＣＤレコーダ６２あるいは遠隔ＣＤレコーダ（図１の２９４）にサブセットを表示するために選択され、電子表示のための命令はＣＤカタログ発生器モジュール２３４にある。
【００８５】  図４〜図５を参照すると、デリバティブカタログがサポートされる出力フォーマットのいずれかに対するビットベクトルインディックス（ＢＶＩ）マスキングによって作成される工程を示すフロー図が示されている。マスタカタログ１２０は、メタデータデータベースエンティティ１０４にもリンクされる全ての使用可能な製品情報を含む。管理インタフェース２３８は、どの製品レコード１０２〜１０６、コンピュータプログラム２００の機能およびデータフィールド１１０が各ライセンシープロフィール、あるいはサブセットに含まれるべきであるかを示すためにカタログアドミニストレータおよびライセンシーによって（図１のプロキシーあるいは管理端末２９６によって）使用される。次に、適切なマスクは、動的分割データベースエンティティ１１６から読み出される。選択のための課金情報は、課金データベースエンティティ１１２に記憶されている。
【００８６】  デリバティブカタログ１３０が、電子的あるいは静的媒体のいずれかに出力される場合、動的分割データベースエンティティ１１６は、どんな情報がデリバティブカタログ（例えば１３０）内に含まれるかを決定するために製品、フィールドおよび機能マスクフィルタ（それぞれ２０２、２１４および２０８）によって照会される。デリバティブカタログ１３０は、静的あるいは動的のいずれかであってもよい。静的カタログは、１度のマスキング動作によって形成されるカタログであるので、独立して用紙あるいはＣＤ‐ＲＯＭのような静的媒体にある。動的カタログは、ユーザ動作に対する対話式応答に基づいてマスタデータベース１２０から各サブセットカタログ１３０、１３２、３２４、３２６の各ユーザ１７２〜１８２に対して実時間に形成され、ユーザによって閲覧されるデリバティブカタログ１３０内に含まれる項目だけを含むように実時間でフィルタリングされる。
【００８７】  製品、フィールドおよび機能マスクフィルタモジュール２０２、２１４および２０８は、好ましくは各々、改良されたビットベクトルインデクシング解決策を使用し、別の典型的なデータベースインデクシングを増加させ、製品サブセット１３０〜１３２、それの中で使用可能なフィールドおよび機能を規定する。この製品マスクモジュール２０２は、各サブセット１３０〜１３２に対する１つまたは複数のビットベクトルインディックス（ＢＶＩ）を形成する。第１のＢＶＩは、マスタデータセット１２０で使用可能なレコードを識別するためのものである。第２のＢＶＩは、サブセット１３０〜１３２で使用可能なレコードを規定する。製品マスクモジュール２０２は、サブセット１３０〜１３２で使用可能なレコードを規定するために第１および第２のＢＶＩ間のビット様式のＡＮＤ演算を実行する。同様に、第３のＢＶＩは、マスタデータセット１２０における各レコードで使用可能なフィールド（図３の１１０）を規定する。フィールドマスクモジュール２１４は、第４のＢＶＩを使用し、サブセット１３０〜１３２で使用可能なフィールド１１０を規定し、ビット様式のＡＮＤ演算は、使用可能なフィールドを規定するように第３および第４のＢＶＩ間で実行される。同様に、機能マスクモジュールは、データセット１３０〜１３２で演算するためのソフトウェアプログラム２００で使用可能な機能を規定するための第５のＢＶＩを含む。第６のＢＶＩは、各データセット１３０〜１３２に役立つ機能を規定する。この機能マスクモジュール２０８は、データセット１３０〜１３２で機能を規定するように第５および第６のＢＶＩ間でビット様式のＡＮＤ演算を実行する。
【００８８】  各ＢＶＩは複数のビットベクトルを含む。ＢＶＩにおける各ビットベクトルは、レコード、ビットベクトルに相当するフィールドあるいは機能の有効性を識別する。特定の製品、フィールドあるいは機能が利用される場合、特定のビットベクトルに対するビット値は、オン、すなわち１にセットされる。使用可能な製品、フィールドあるいは機能を規定するビットベクトルの集合体は、サブセットで有効性を規定するために前述されたビット様式のＡＮＤ演算を実行することによってサブセットのＢＶＩと列対で照合するためのＢＶＩを含む。
【００８９】  サブセット１３０〜１３２を規定し、それによってレコード、フィールドおよび機能をマスキングし、ルックアップ値に基づいてルックアップフィールドを検索することは、ルックアップテーブルの特定の値に相当するマスタ製品セット１２０のレコードのセットを識別する必要がある全てはこの値に対するビットベクトルをルックアップテーブルに対するＢＶＩから取り出すことにあるために、ＢＶＩを使用して従来のインディックスよりも目覚ましく速い。ビットベクトルでセットされるビットは直ちにレコードのセットを識別する。この方式を使用して、ルックアップフィールドの特定の値を有するレコードのセットを識別するのに必要とされる時間は、レコードの数とともに幾何学的によりもむしろ直線的にならびにテーブル数とともに指数関数的によりもむしろ直線的に増加する。
【００９０】  さらに、単一ルックアップフィールドの複数の制約を処理することはまさに簡単である。単一ルックアップフィールドを制約する値の各々に対するビット値は、単に一緒にビット様式でオアされる。結果として生じるビットベクトルにセットされるいかなるビットも、対応するレコードが結果セットに含まれるべきであることを示している。
【００９１】  ＢＶＩおよびビットベクトルは多数の他の長所を有する。まず第一に、従来のインディックスに対するレコード当たり最少の８バイトとは対照的にビットベクトルに対するマスタデータセット１２０のレコード当たり１ビットで、ビットベクトルは対応するインディックスよりも実質的に小さい。これは、ビットベクトルがより速く処理でき、より小さいメモリを必要とし、ディスクに記憶されることを必要とする可能性がないことを意味し、可能性がある場合、より少ないデータが特定の動作に対してディスクでアクセスされるべきであることを必要とする。付加的改良は、ビットベクトルが必要とする記憶量をさらに減らすためにまばらのビットベクトルを符号化することにある。使用されるいろいろな符号化方式は、列挙と、ランレングス符号化と、先行ゼロおよび後行ゼロの切り捨てと、ＬＺＷ圧縮と、ならびに全ＢＶＩにわたる付加圧縮とを含んでいる。
【００９２】  第二に、ＢＶＩは複数のフィールドの制約の問題を解決する。複数の制約を結合するために個別の照会結果のセットを一致させる複雑なアルゴリズムの代わりに、対応するＢＶＩ動作はまた簡単であり、非常に速い。単一ルックアップフィールドを制約する複数の値に対するビットベクトルは最初にビット様式でオアされた後、ルックアップフィールドの各々に対する結果として生じるビットベクトルは、次にビット様式でアンドされる。個別の結果セットを一致させるのに必要とされる幾何学的時間と違って、この時間は主テーブルのレコード数と直線的に増大する。
【００９３】  第三に、ＢＶＩは、対話式閲覧の問題を解決する。レコードのサブセット１３０〜１３２は直ちに既知である−このサブセットはビット様式のオアおよびアンドから生じるビットベクトルに相当する−照会結果の一時ファイルはサブセット１２０のために作成される必要が全然ないので、レコードそれ自体は前以てアクセスされる必要がなく、各特定のレコード１１０は、まず画面の中で閲覧される場合だけアクセスされる。
【００９４】  第四に、ＢＶＩは、対話式の繰り返しの照会を実行する場合反復オーバーヘッドを減らす。中間の生じるビットベクトルは、繰り返される照会の最中の間各ルックアップフィールドのために記憶されてもよい。次に、付加制約は、ＢＶＩの最初のビットベクトルを使用して最初から制約の全てに適用するよりもむしろこのビットベクトルに適用できる。
【００９５】  最後に、ＢＶＩは、複数のルックアップテーブルにわたり制限する値に完全に適していて、複雑な複数のテーブルの継ぎ目を実行する要求を完全に取り除く。特定のルックアップフィールドで制限する値を実行するために、このシステムは、このフィールドの制約を無視し、他のルックアップフィールドの全ての残りの制約のための中間結果ビットベクトルを生成する。次に、このシステムは、中間結果ビットベクトルとこのルックアップフィールドのためのＢＶＩの各ビットベクトルとの間の論理アンドを実行する。すなわち論理アンドの結果がＦＡＬＳＥであるいかなる値も値を制限リストから除去されるべきである。論理アンドは、ＴＲＵＥあるいはＦＡＬＳＥの単一の値だけに戻り、ベクトルのビット全部が比較されるべきであることを常に必要としなくて、ビットの１対が両方共セットされると分かるや否や比較が停止できることに注目せよ。制限される値であるルックアップフィールドの制約を無視することが行われるので、次の反復照会は、レコードが主テーブルに存在する値全てに基づいて特定のルックアップフィールドの制約を変えることができ、丁度制約として既に選択される値に基づいて特定のルックアップフィールドの制約を変えることができない。
【００９６】  ＢＶＩの使用を示すために、下記のサンプルデータベースが使用される。
0005254515.tif 000002
0005254515.tif 000003
【００９７】  主テーブルに２つのルックアップテーブルがあるので、２つのＢＶＩが必要とされる−一方がメーカー用であり、他方がカテゴリー用である。
0005254515.tif 000004
0005254515.tif 000005
【００９８】  サブセット１３０がメーカー＝Ａｐｅｘであるレコードだけ表示すべきであることを示す検索照会＝メーカー＝Ａｐｅｘを考察する。生じるレコードをマスタデータセットで探すために、製品マスクモジュール２０２は、メーカーＢＶＩからのＡＰｅｘに対応するビットベクトルを取り出す。ビットベクトルは［００１０１］、（第３のビットがセットされているので）ＩＤ＝３および（第５のビットがセットされているので）ＩＤ＝５に関する主テーブルからのレコードは結果サブセット１３０を含むことを示す。
【００９９】  他のサブセット１３２を規定するために検索メーカー＝ＡＣＭＥ  ＯＲ  メーカー＝Ｂｅｓｔを考察する。生じるレコード１１０をマスタデータセット１２０で探すために、製品マスクモジュール２０２は、ＡＣＭＥおよびＢｅｓｔの両方に対応するビットベクトルをメーカーＢＶＩから引き出し、このビットベクトルを一緒にビット様式でオアされる。これらのビットベクトルは、それぞれ［１１０００］および［０００１０］であり、ビット様式のオア演算から生じるビットベクトルは［１１０１０］である。これは、ＩＤ＝１、２あるいは４に関する主テーブルからのレコードが生じるサブセット１３２を含むことを示している。
【０１００】  さらにもう一つのサブセットを規定するために検索メーカー＝ＡＣＭＥ  ＡＮＤ  カテゴリー＝コンピュータを考察する。生じるレコード１１０をマスタデータセット１２０で探すために、製品マスクモジュール２０２は、ＡＣＭＥのためのビットベクトルをメーカーＢＶＩから、コンピュータのためのビットベクトルをカテゴリーＢＶＩから引き出す。これらのビットベクトルは、それぞれ［１１０００］および［０１１００］であり、ビット様式のＡＮＤ演算から生じるビットベクトルは［０１０００］である。これは、ＩＤ＝２に関する主テーブルからのレコードが結果サブセットを含むことを示している。
【０１０１】  次に、制限する値に対する上記の検索を考察する。有効なメーカーを探すために、製品マスクモジュール２０２は、メーカーの制約を無視する限り、結果ビットベクトルを生成する。この場合、モジュール２０２は、［０１１００］であるカテゴリーＢＶＩからコンピュータのためのビットベクトルを単に規定する。製品マスクモジュール２０２は、これとメーカーＢＶＩのビットベクトルの各々との論理アンドを実行する。両方ともセットされている第２のビットを有するので、ＩＤ＝１（ビットベクトルは［１１０００］である）に対してＴＲＵＥである。同様に、両方ともセットされている第３のビットを有するので、ＩＤ＝２（ビットベクトルは［００００１］である）に対してＴＲＵＥである。しかしながら、ＩＤ＝３（ビットベクトルは［００１０１］である）は、共通するビットを全然有しないので、ＦＡＬＳＥである。したがって、メーカーの値制限セットは、ＡＣＭＥ（ＩＤ＝１）およびＡｐｅｘ（ＩＤ＝２）である。データのバリデーションチェックは、コンピュータ製品に関する唯一のメーカーは確かにＡＣＭＥおよびＡｐｅｘであることを示している。同様に、有効なカテゴリーを探すために、製品マスクモジュール２０２は、カテゴリー制約を無視する限り、結果ビットベクトルを発生する。この場合、これは、単に［１１０００］であるメーカーＢＶＩからのＡＣＭＥビットベクトルである。製品マスクモジュール２０２は、カテゴリーＢＶＩからのビットベクトルの各々を有するこのビットベクトル間の論理アンドを実行する。これは、ＩＤ＝１（［１００１０］）およびＩＤ＝２（［０１１００］）に対してＴＲＵＥであるが、ＩＤ＝３（［００００１］）に対してＦＡＬＳＥである。したがって、有効カテゴリーはプリンタおよびコンピュータである。
【０１０２】  本発明のシステムとのＢＶＩの使用は、下記の（ａ）〜（ｅ）を提供する。すなわち、（ａ）リレーショナルＤＢＭＳに記憶されたデータにアクセスするためにＢＶＩを使用する能力、（ｂ）読み出し専用であるＢＶＩよりもむしろ許可されたユーザによって更新可能なＤＢＭＳに対してＢＶＩを保持する能力、（ｃ）制限している値に対するＢＶＩの使用、（ｄ）大きなデータベースに対するＢＶＩのより有効な記憶および符号化、および（ｅ）マスタデータセット１２０あるいはデリバティブカタログ１３０〜１３２で有効なパラメータ検索を可能にする。
【０１０３】  図３に戻って参照すると、デリバティブカタログあるいはサブセットは、紙フォーマットあるいは電子フォーマットを含むがこれに限定されないいろいろなフォーマットで存在し得る。電子インスタンスは、固定記憶装置（例えば、ハードディスク、ＣＤ‐ＲＯＭ、ＤＶＤ等）あるいは対話式（インターネットあるいは他のコンピュータネットワークを介してアクセスできる）のいずれかである。デリバティブカタログは紙媒体に対して生成されてもよい。図３の工程からの出力は、テンプレート情報と関連し、次に市販の第３者の出版プログラム内にプログラム的に配置される。レイアウトプログラム内に存在するページレイアウトは、次に紙にプリントアウトされてもよいしあるいはさらにカスタマイズされてもよい。本発明は、将来の集団処理におけるアプリケーションのためのグラフィカル修正を保持する。さらに、追跡され、後方へ伝搬され、マスタカタログあるいはそのデリバティブカタログのいずれかになるレイアウトプログラムで実行されるデータ修正のための機構が備えられる。
【０１０４】  テンプレート命令１０４は、各レコードに対する情報の各フィールドを一定の順序に配列し、フォーマット化し、配置し、名付ける方法を指定する。このテンプレート１４０は、テンプレートの境をつけるボックスの形状が変更されねばならない場合に使用される出力ページあるいはディスプレイ内のその位置に基づいてテンプレートのフォーマット化を調整する命令を含む。テンプレートは、特定の製品、フィールド、属性、カテゴリー、あるいはカタログの任意の他のデータに関連してもよい画像を配置し、表示する方法の命令を含んでもよい。
【０１０５】  下記は、ＨＴＭＬ言語を使用してコンピュータスクリーン上のカタログ出力をフォーマット化するテンプレート命令の例である。
＜html＞
＜TITLE＞ACME Interactive Catalog＜/TITLE＞
＜IMAGEFIELDS＞
＜p align=center＞＜IMG SRC=＜IMAGEFIELDIMAGE＞＞＜/p＞
＜/IMAGEFIELDS＞
＜table align=center width=400＞
＜TEXTFIELDS＞
＜tr valign=top＞
＜td width=118＞
＜font face=“Verdana,Arial,sans-serif" size=-2＞
＜b＞＜TEXTFIELDNAME＞＜/b＞
＜/font＞
＜/td＞
＜td＞＜font face=“Verdana,Arial,sans-serif" size=-2＞
＜TEXTFIELDTEXT＞
＜BR＞＜/font＞＜/td＞
＜/tr＞
＜/TEXTFIELDS＞
＜/table＞
＜/body＞
＜/html＞
【０１０６】  上記の例は、いかにテキストおよび画像フィールドが実時間でカタログデータから集団化されるかを示している。マーカ＜ＩＭＡＧＥＦＩＥＬＤＩＭＡＧＥ＞は、製品の画像と置き換えられる。製品の属性データは、＜ＴＥＸＴＦＩＥＬＤＳ＞によって区切られたコードブロックを繰り返すことによって、フィールド名およびフィールド値を有するテーブルを生成するために表示される。＜ＴＥＸＴＦＩＥＬＤＮＡＭＥ＞タグは、製品の属性データのフィールド名と置き換えられ、＜ＴＥＸＴＦＩＥＬＤＴＥＸＴ＞マーカは対応するフィールド値と置き換えられる。
【０１０７】  静的デリバティブ電子カタログ１３０が形成される場合、最初は、カタログデータは静的記憶媒体に転送され、グラフィカルユーザインタフェースは、データのためのブレースホルダーとともにカタログのために設計される。次に、カタログからのデータソースは、ピックリスト、製品情報テーブル等のような設計上のいろいろな要素にリンクされる。最後に、スタンドアロンカタログは、データおよびグラフィカル設計を機械可読コンピュータ命令にカプセル化することによって生成される。
【０１０８】  システムの出力は、複数の同時発生するユーザにアクセスできるネットワークベース電子カタログを含んでもよい。ネットワークベースカタログのためのデータは、マスタカタログデータベース１２０にあり、デリバティブカタログ１３０に含められるべきである製品、フィールド１１０および機能だけを含むようにシステムによって動的にマスクされる。カタログのグラフィックおよび機能表示は、グラフィカルインタフェース要素および機能インタフェース要素を含むサーバ側アプリケーション（ＨＴＭＬ、ＡＳＰあるいはＪａｖａＳｃｒｉｐｔを含んでもよいモジュール２３２）を介して制御される。製品情報およびメタデータは、通信インタフェース５８〜６０を介してサーバコンピュータプログラム２００に送られ、結合された結果はネットワーク２５０を介してユーザに送られる。外部システムのインタフェースは、（サーバ側のアプリケーション２００によって制御されるような）ウェブサーバソフトウェアは、電子商取引システム、顧客ビジネスシステムあるいは他のメーカー／流通業者操作システム（図１の２９８）のような外部システムにインタフェースできるように備えられてもよい。ネットワークユーザによるカタログ使用量のための統計量および課金は、累積され、データエンティティ１１４に記憶される。
【０１０９】  マスタカタログ１２０は、そのいずれかがデリバティブカタログ１３０、１３２、３２４、あるいは３２６に含めるために選択されてもよい製品の全貯蔵所を含む。製造選択は、パラメータ検索モジュール２１２のような手段、ＳＫＵあるいはＵＰＣ番号リストあるいは選択ウィザードのアップロードによって行われてもよい。カタログライセンシーは、デリバティブカタログ１３０に含められる製品を選択するためにパラメータ検索モジュール２１２を使用することができる。複数の検索が実行でき、各々からの結果は、ライセンシープロフィールデータベースエンティティ１０８に累積する。このシステムによって、カタログライセンシーは、マスタカタログ１２０の製品に照合される項目識別子のリスト（ＵＰＣ、ＳＫＵ番号、メーカー部品番号等を含むが、これに限定されない）をアップロードでき、照合製品は、ライセンシープロフィールデータベースエンティティ１０８のこのライセンシーのプロフィールに含められる。興味のある製品は、案内された選択スクリーンあるいは選択ウィザードの使用によってカタログライセンシープロフィールに関連付けられてもよい。これらのユーザによって使い勝手がよいスクリーンは、そのプロフィールに含めるための製品を対話式に選択するためにカタログライセンシーによって使用される。選択ウィザードを使用する選択工程は、製品、カテゴリーおよびメーカーの選択を示すピックリストおよびチェックボックスを使用することによって生じる。
【０１１０】  カテゴリーライセンシーは、いかにそのデリバティブカテゴリーが、予め存在するフォーマットのセットの中で選択するかあるいは新しいフォーマットを作成し、このフォーマットを本発明によって示されたカタログシステムに転送するかのいずれかによって表示されるかを選択できる。
【０１１１】  カタログライセンシーに与えられる使用可能な表示のセットは、使用可能な表示のリストから動的に得られ、カタログライセンシーによって申し込まれるフィールドおよび機能を含む。
【０１１２】  全ユーザインタフェースは、好ましくはクライアントインタフェースがローカルサーバおよび遠隔サーバで情報を制御し、操作するために使用できるようにクライアント／サーバパラダイムに従う。カタログインタフェース（図１の２９５）によって、ネットワークカタログユーザは、このカタログを使用できる。ライセンシーインタフェースによって、カタログライセンシーは、このシステムと対話し、ライセンシーのプロフィールを修正できる。管理インタフェース２９６によって、特権ユーザは、管理作業を実行できる。
【０１１３】  デリバティブ電子カタログ１３０は、任意の手段数で配信されてもよい。ここに示された実施例はこのような手段の唯一の例である。カタログ情報は、全製品情報を含む単一マスタカタログ１２０からユーザに供給されてもよい。マスタカタログ１２０からの情報は、ユーザがそのカタログを閲覧している個別のカタログライセンシーによって申し込まれる製品、フィールドおよび機能にだけアクセスするようにデリバティブカタログを動的に形成するように実時間でマスクされる。その代わりに、カタログ情報は、複数の分散サーバに記憶されてもよく、マスタサーバは、複数のデリバティブカタログのためのマスキング機能を与える。分散サーバの各々は、全製品ベースあるいはこの特定のサーバによって管理される特定のデリバティブカタログ１３０に対して必要とされる製品だけのいずれかを含む。マスタサーバおよび分散サーバは、新しい製品情報、課金データ、および他のこのような関連情報の転送を行うように通信ネットワーク２５０を介して、または他の方法で相互接続できる。代替のスタンドアロン電子カタログは、ユーザのローカルマシンで実行するためのカタログインタープリタとともに、カタログ命令およびデータのカプセル化された“スナップショット”を含んでもよい。スタンドアロンカタログは中央サーバからダウンロードされてもよいけれども、情報は、実行時間中サーバからカタログに全然転送されないしまた必要とされる接続もない。これは任意の機能であるけれども、スタンドアロンカタログは、コンピュータネットワークを介して中央サーバから更新されてもよい。
【０１１４】  本発明のカタログシステムによって処理される購入物は、各トランザクションのためのトランザクション料金を含んでもいろいろな手段あるいはパーセンテージベース料金を取り立てる取次機構で課金されてもよい。
【０１１５】  カタログライセンシーは、サービス料金のために設けることあるいは課金を繰り返すことによってこのライセンシーのライセンスされたデリバティブカタログの使用量に対して課金されてもよい。サービス料金実現に対して、デリバティブカタログ１３０の設定、更新あるいは修正に対する料金は請求されてもよい。定期的な課金に対しては、ライセンシーのデリバティブカタログの維持費の定期的な料金、ホスティングおよび保守は課金されてもよい。
【０１１６】  図４に戻って参照すると、ライセンシーサブセット１３０をフィルタリングするために、マスタデータセット１２０のためのＢＶＩを含む製品マスクモジュール２０２は、入力としてマスタデータセット１２０を使用する（ステップ４００）。この製品マスクモジュール２０２は、分割データベースエンティティ１１６を読み出し、ライセンシーのためのサブセットＢＶＩを引き出す（ステップ４０２）。この製品マスクモジュールは、製品のためのフィルタリング動作を実行する（ステップ４０４）。下記の擬似コードは、ステップ４０４で実行されるサブステップを示す。
for i=1 to max_products
if prod[i]AND mask[i]＝1
then output_product_list[i]＝1
next i
ここで、ｍａｘ＿ｐｒｏｄｕｃｔｓは、ライセンシーのためのサブセットＢＶＩの長さであり、ｍａｓｔｅｒは、全マスタデータセット１２０のためのＢＶＩであり、ｐｒｏｄは、マスタデータセット１２０の使用可能なレコードのＢＶＩである。
【０１１７】  次に、フィールドマスクモジュール２１４は、分割データベースエンティティ１１６を読み出し、マスタフィールドマスクＢＶＩおよびライセンシーのためのサブセットマスクＢＶＩを引き出す（ステップ４０６）。フィールドマスクモジュール２１４は、下記の擬似コードに従ってフィールドフィルタリング動作を実行する（ステップ４０８）。
for i=1 to num_fields
if field[i]AND field_master[i]＝1
then output_field_list[i]＝1
next i
ここで、ｎｕｍ＿ｆｉｅｌｄｓは、各レコードで使用可能なフィールド数であり、ｆｉｅｌｄ［ｉ］は、各レコードのｉ番目のフィールドに対するビットベクトルを示し、ｆｉｅｌｄ＿ｍａｓｋ［ｉ］は、フィールドマスクＢＶＩのｉ番目のビットベクトルであり、ｏｕｔｐｕｔ＿ｆｉｅｌｄ＿ｌｉｓｔは、サブセット１３０のためのフィールドリストＢＶＩである。
【０１１８】  図４に示された動作からのサブセット１３０カタログ出力は、図５の入力である。図５では、機能マスクモジュール２０２は、入力として図４から出力を受信する（ステップ５００）。機能マスクモジュール２０８は、マスタ機能マスクＢＶＩおよび機能サブセットＢＶＩを分割データベースエンティティ１１６から受信する（ステップ５０２）。機能マスクモジュール２０８は、下記の擬似コードに従って機能マスキング機能を実行する（ステップ５０４）。
for i=1 to num_features
if feature[i]AND feature_mask[i]＝1
then output_feature_list[i]＝1
next i
ここで、ｎｕｍ＿ｆｅａｔｕｒｅｓは、全ての使用可能な機能数であり、ｆｅａｔｕｒｅ［ｉ］は、マスタ機能ＢＶＩのｉ番目の機能であり、ｆｅａｔｕｒｅ_ｍａｓｋ［ｉ］は機能サブセットＢＶＩの機能であり、ｏｕｔｐｕｔ_ｆｅａｔｕｒｅ  ｌｉｓｔは、サブセット１３０に利用可能である機能のためのＢＶＩである。
【０１１９】  適切なテンプレートは、テンプレート・表示データベースエンティティ１４０から読み出される（ステップ５０６）。使用されるテンプレートは、メタデータデータベースエンティティ１０４に記憶された関連テンプレートポインタにより選択される。このテンプレートは、サブセット１３０で処理される（ステップ５１０）。テンプレートの選択および処理を行うモジュールは、前述されるような特定のサブセット１３０のための出力の種類によって決まる。次に、サブセット１３０は、前述されるような出力の種類によりユーザに表示される（ステップ５１２）。サブセット１３０の表示は、その代わりにコロラド州のデンバー市のクォーク社によるＱＵＡＲＫＸＰＲＥＳＳあるいはカリフォルニア州のサンホセ市のＡｄｏｂｅ  Ｓｙｓｔｅｍｓ社によるＡＤＯＢＥＩＮＤＥＳＩＧＮのようなデスクトップ出版アプリケーションのための入力ファイルの形であってもよい。
【０１２０】  図６に戻って参照すると、パラメータ検索モジュール２１２によって実行されるステップを示すフロー図が示されている。ユーザ１７２がそのサブセット１３０のパラメータ検索を実行することを望む場合、ライセンシーサブセット１３０がフィルタリングされる。マスタデータセット１２０のためのＢＶＩを含む製品マスクモジュール２０２は、マスタデータセット１２０を入力として使用する（ステップ６００）。製品マスクモジュール２０２は、分割データベースエンティティ１１６を読み出し、ライセンシーのためのサブセットＢＶＩを引き出す（ステップ６０２）。製品マスクモジュールは、製品のためのフィルタ動作を実行する（ステップ６０４）。下記の擬似コードは、ステップ６０４で実行されるサブステップを示す。
for i=1 to max_products
if prod[i]AND master+i＝1
then output_product_list[i]＝1
next i
ここで、ｍａｘ  ｐｒｏｄｕｃｔｓは、ライセンシーのためのサブセットＢＶＩの長さであり、ｍａｓｔｅｒは、マスタデータセット１２０のためのＢＶＩであり、ｏｕｔｐｕｔ_ｐｒｏｄｕｃｔ_ｌｉｓｔは使用可能なレコードのＢＶＩマスタデータセット１２０である。
【０１２１】  次に、パラメータ検索モジュール２１２は、ユーザ入力選択基準をユーザ１７２から受信する（ステップ６０６）。パラメータ検索モジュール２１２は、ユーザ入力選択基準を使用し、パラメータ検索を実行する（ステップ６０８）。ステップ６０８で実行されたパラメータ検索の結果は示される（ステップ６１０）。ユーザは、検索を再定義、すなわち検索を拡張あるいは縮小することを望むかもしれない（ステップ６１２）。望む場合、この処理は、ステップ６０８の現結果を入力として使用して移動し、ステップ６０６に戻る。
【０１２２】  ステップ６０８で実行されたパラメータ検索は、改善数による一連のビット様式のＡＮＤ演算＋実行される最初の検索を実行することを含む。マスタデータセット１２０は、ユーザに使用可能な検索基準の全てを照合する複数の検索ＢＶＩを含んでいる。検索ＢＶＩの各々は、ユーザ１７２が１つまたは複数の特定の値あるいは興味がある値の範囲を選択できる。パラメータ検索モジュール２１２は、パラメータ検索を実行するのに使用する適切な検索ＢＶＩを選択する。パラメータ検索モジュール２１２は、下記の式によるビット様式のＡＮＤフィルタリング動作を実行する（ステップ６０８）。
for BVI_index＝1 to max_BVI
for prod index ＝1 to max_products
if prod[BVI_index][prod_index]AND
search_output_Prod_list[prod_index]＝1
then search_output_product_list[prod index]＝1
next prod_index
nextBVI_index
ここで、ｓｅａｒｃｈ_ｏｕｔｐｕｔ_ｐｒｏｄ_ｌｉｓｔ［ｐｒｏｄ_ｉｎｄｅｘ］は、表示される製品データレコードのリストのためのＢＶＩのビットベクトルであり、ｐｒｏｄ［ＢＶＩ_ｉｎｄｅｘ］［ｐｒｏｄ_ｉｎｄｅｘ］は、周期的に起こるユーザ選択基準に基づいて現在選択されたＢＶＩのためのビットベクトルである。
【０１２３】  同じ項目ロケータ２３６は、図６に示された同じパラメータロジックを使用し、ユーザが実行されるパラメータ検索の結果において類似しているが同一である製品を探すことができる。
【０１２４】  図７を参照すると、デリバティブカタログ出力のためのモジュール間の対話を示す全工程図が示されている。管理インタフェースモジュール２３８は、ライセンシープロフィールデータベースエンティティ１０８を管理するために使用される。データベースエンティティ１０８は、使用履歴・統計データベースエンティティ１１４とインタフェースし、カタログサブセット１３０〜１３２使用量の統計データを記憶する課金データベースエンティティ１１２とインタフェースする。使用履歴・統計データエンティティ１１４は、レポートおよび目録を生成するためにオレゴン州のポートランド市のウェブトレンド社によるＷＥＢＴＲＥＮＤＳあるいはワシントン州のベルビュー市のシーゲートソフトウェア社によるＣＲＹＳＴＡＬ  ＲＥＰＯＲＴＳのようなウェブ分析・統計パッケージ７０２を使用してもよい。
【０１２５】  マスタデータセット１２０は、出力カタログサブセット１３０を生成する、製品マスクモジュール２０２、フィールドマスクモジュール２１４、および機能マスクモジュール２０８への入力のためのメタデータデータベースエンティティとインタフェースする。統計追跡モジュール２４８は、レコードビュー使用量、機能使用量のようなデータおよび使用履歴・統計データベースエンティティ１１４に記憶される統計処理、分析処理、課金処理および他のデータ収集処理で使用できる他のデータを検出し、収集する。カタログサブセット１３０はサブセット画像１７０で表示されてもよい。
【０１２６】  したがって、読者は、本発明がマスタ製品カタログの複数の個別の画像を迅速に形成する手段を備えていることが分かり、各画像は、見かけ上個別の全機能電子カタログおよび電子商取引システムの役目を果たす。
【０１２７】  その説明は多数の詳細を含むが、これらは本発明の範囲の限定と解釈すべきでなく、むしろその好ましい実施例の例証と解釈すべきである。他の変更は可能である。例えば、カタログ表示は、コンピュータスクリーンにだけ限定される必要がなく、テレビジョン受像機、インターネットを意識した装置、あるいは任意の他の電子実施例あるいは機械実施例に出現されてもよい。したがって、本発明の範囲は図示された実施例によって決定されるべきでなく、添付された特許請求の範囲およびその法的均等物によって決定されるべきである。
【図面の簡単な説明】
【図１】  本発明のシステムの実施例の主要な機能を示すブロック図である。
【図２】  図１のシステムのマスキング機能をより詳細に示すデータフロー図である。
【図３】  図１のシステムの典型的なマスキング機能およびテンプレート実装を示すデータフロー図である。
【図４】  誘導物カタログが図１のシステムによってサポートされる出力フォーマットのいずれかに対するビットベクトル・インディックスマスキングによって作成される工程を示すフロー図である。
【図５】  誘導物カタログが図１のシステムによってサポートされる出力フォーマットのいずれかに対するビットベクトル・インディックスマスキングによって作成される工程を示すフロー図である。
【図６】  パラメータ検索が図１のシステムで実行される工程を示すデータフロー図である。
【図７】  図１のシステムの基本データフローを示すデータフロー図である。
【図１】
0005254515.tif 000006
【図２】
0005254515.tif 000007
【図３】
0005254515.tif 000008
【図４】
0005254515.tif 000009
【図５】
0005254515.tif 000010
【図６】
0005254515.tif 000011
【図７】
0005254515.tif 000012