(57)【特許請求の範囲】
【請求項１】
サーバ装置と通信するクライアント装置側でユーザが商品を注文することを可能にする方法であって、
前記クライアント装置は、記憶手段と、前記クライアント装置に結合されたグラフィカルユーザインタフェースへの表示を行う表示手段と、ユーザからの入力を受取る入力手段とを備え、
前記方法は、
前記クライアント装置が、商品の販売促進アイテム（promotional item）を収めているＷｅｂページに対するユーザからの閲覧要求を受けて、オンデマンド要求を前記サーバ装置へ送信するステップと、
前記サーバ装置が、前記オンデマンド要求に応答して、前記Ｗｅｂページと前記販売促進アイテムに関する記述データを収めている補助ファイルとを前記クライアント装置に送信するステップと、
前記クライアント装置が、前記サーバ装置から送信された前記補助ファイルを前記記憶手段に格納するステップと、
前記クライアント装置が、前記サーバ装置から送信された、１つ以上の前記販売促進アイテムのイメージを含む前記Ｗｅｂページを前記グラフィカルユーザインタフェース上にグラフィカル描写するステップと、
前記クライアント装置が、前記Ｗｅｂページおよび前記補助ファイルが前記クライアント装置に送信されて前記記憶手段に格納された後に表示されたＷｅｂページのグラフィック表示に含まれる、いずれかの前記販売促進アイテムのイメージに対するユーザからの第１の選択要求を受けて、前記記憶手段に格納した前記補助ファイルから当該選択された販売促進アイテムに関する記述データを読出すステップと、
前記クライアント装置が、前記第１の選択要求を受けて、前記グラフィカルユーザインタフェース上に前記Ｗｅｂページのグラフィック表示と併せて表示された記述データパネル内に、前記補助ファイルから読出した当該選択された販売促進アイテムに関する記述データを表示するステップと、
前記クライアント装置が、前記Ｗｅｂページおよび前記補助ファイルが前記クライアント装置に送信されて前記記憶手段に格納された後に表示されたＷｅｂページのグラフィック表示に含まれる、いずれかの前記販売促進アイテムのイメージに対するユーザからの第２の選択要求を受けて、前記記憶手段に格納した前記補助ファイルから当該選択された販売促進アイテムに関する記述データを読出すステップと、
前記クライアント装置が、前記第２の選択要求を受けて、前記グラフィカルユーザインタフェース上に前記Ｗｅｂページのグラフィック表示と併せて表示されたオーダパネル内に、前記補助ファイルから読出した当該選択された販売促進アイテムに関する記述データの少なくとも一部を表示するステップであって、前記オーダパネルは前記記述データパネルとは異なるものであるステップと
を含む方法。
【請求項２】
前記補助ファイルは、前記販売促進アイテムの価格、製品名、モデル、サイズ、カラーのうち少なくともいずれか１つのデータを含む、請求項１に記載の方法。
【請求項３】
前記第１の選択要求および前記第２の選択要求は、前記クライアント装置に結合された入力デバイスにリンクされて前記グラフィカルユーザインタフェース上を移動するポインタによって与えられる、請求項１または２に記載の方法。
【請求項４】
前記補助ファイルは、前記販売促進アイテムのカラーコードを含み、
前記方法は、
前記クライアント装置が、前記グラフィカルユーザインタフェース上における前記販売促進アイテムの表示位置への前記ポインタの移動に応答して、当該販売促進アイテムの前記カラーコードを前記補助ファイルから読出すステップと、
前記クライアント装置が、前記グラフィカルユーザインタフェース上に、前記補助ファイルから読出した前記カラーコードに応じたカラーの前記販売促進アイテムのイメージを表示するステップとをさらに含む、請求項３に記載の方法。
【請求項５】
前記第２の選択要求は、前記入力デバイスが操作されて、前記グラフィカルユーザインタフェース上に表示される前記販売促進アイテムが前記オーダパネルまでドラッグされた後にドロップされることによって与えられる、請求項３または４に記載の方法。
【請求項６】
前記第２の選択要求は、前記入力デバイスが操作されて、前記グラフィカルユーザインタフェース上に表示される前記販売促進アイテムがクリックされることによって与えられる、請求項３または４に記載の方法。
【請求項７】
前記補助ファイルは、前記販売促進アイテムのサブアセンブリに関するデータおよび当該サブアセンブリのイメージマップのロケーションを指定するサブアセンブリイメージキーをさらに含み、
前記方法は、
前記クライアント装置が、前記入力デバイスが操作されて前記グラフィカルユーザインタフェース上に表示される前記販売促進アイテムがクリックされると、当該クリックされた販売促進アイテムのサブアセンブリに関する前記サブアセンブリイメージキーを前記補助ファイルから読出し、当該サブアセンブリイメージキーに基づいて前記サブアセンブリのイメージマップをロードするステップと、
前記クライアント装置が、前記入力デバイスが操作されて前記グラフィカルユーザインタフェース上に表示される前記販売促進アイテムにポインタが置かれると、当該販売促進アイテムのサブアセンブリに関するデータを前記補助ファイルから読出し、前記サブアセンブリに関するデータを前記グラフィカルユーザインタフェース上に表示するステップとをさらに含む、請求項２〜６のいずれか１項に記載の方法。
【請求項８】
前記クライアント装置が、ユーザからの前記第２の選択要求を受けて、当該選択された販売促進アイテムを通知するステップと、
前記サーバ装置が、前記クライアント装置から通知された選択された販売促進アイテムをリストに格納するステップとをさらに含む、請求項１〜６のいずれか１項に記載の方法。
【請求項９】
前記クライアント装置が、選択された販売促進アイテムに対するユーザからのオーダ要求を受けて、購入要求を前記サーバ装置へ送信するステップと、
前記サーバ装置が、前記クライアント装置からの前記購入要求に応答して、前記サーバ装置に格納したリストの内容を前記クライアント装置で選択中の販売促進アイテムと同期させるステップをさらに含む、請求項８に記載の方法。
【請求項１０】
前記クライアント装置が、ユーザによる前記入力デバイスの操作によって、前記グラフィカルユーザインタフェース上に表示される販売促進アイテムが前記オーダパネル外にドラックされると、選択中の販売促進アイテムから当該販売促進アイテムを削除するステップをさらに含む、請求項５に記載の方法。
【請求項１１】
前記Ｗｅｂページは、前記販売促進アイテムの部品展開画像（分解画像）のイメージを含み、
前記部品展開画像内の各部品は、販売促進アイテムのコンポーネント（構成部分）を表す、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
前記グラフィカルユーザインタフェース上に表示される前記オーダパネルは、ショッピングカート、ショッピングバスケットまたはワゴンがメタファ（比喩的）に表現されたイメージを含み、
前記記述データは、前記オーダパネル上に表示される、請求項５に記載の方法。
【請求項１３】
クライアント装置側でユーザが商品を購入することが可能な、サーバ装置およびクライアント装置を含むシステムであって、
前記クライアント装置は、
商品の販売促進アイテムのイメージを収めているＷｅｂページと前記販売促進アイテムに関する記述データを収めている補助ファイルとに対する要求をサーバ装置へ送信する送信手段と、
前記サーバ装置から送信される前記補助ファイルを格納する手段と、
前記クライアント装置に結合されたグラフィカルユーザインタフェースへの表示を行う表示手段と、
前記Ｗｅｂページに基づいて、前記グラフィカルユーザインタフェース上に１つまたは２つ以上の前記販売促進アイテムのイメージを含むグラフィックを表示させるためのデータを作成するイメージジェネレータとを備え、
前記クライアント装置は、
前記クライアント装置に結合された入力デバイスにリンクされて前記グラフィカルユーザインタフェース上を移動するポインタがユーザによって操作されることでＷｅｂページ上から販売促進アイテムを選択するユーザの第１の選択により、当該販売促進アイテムに関する記述データを前記グラフィカルユーザインタフェース上に表示させるためのデータを生成する記述データジェネレータと、
前記グラフィカルユーザインタフェース上に表示される前記販売促進アイテムに対してユーザが第２の選択を行うためのオーダパネルを表示するためのデータを生成するオーダパネルジェネレータと、
ユーザの前記第２の選択により選択された販売促進アイテムに関する記述データを前記補助ファイルから読出し、当該記述データの少なくとも一部を前記Ｗｅｂページに応じたグラフィックと併せて前記グラフィカルユーザインタフェース上に表示するアイテムアダーと、
前記オーダパネルを用いて選択された前記販売促進アイテムをリストに格納する手段とを備え、
前記記述データジェネレータは、ユーザの前記第１の選択により選択された販売促進アイテムに関する記述データを前記補助ファイルから読出し、当該記述データを前記Ｗｅｂページに応じたグラフィックと併せて前記グラフィカルユーザインタフェース上に表示された記述データパネル内に表示し、
前記オーダパネルは前記記述データパネルとは異なるものである
ことを特徴とするシステム。
【請求項１４】
前記補助ファイルは、前記販売促進アイテムのカラーコードを含み、
前記イメージジェネレータは、前記グラフィカルユーザインタフェース上における前記販売促進アイテムの表示位置への前記ポインタの移動に応答して、当該販売促進アイテムの前記カラーコードを前記補助ファイルから読出し、前記グラフィカルユーザインタフェース上に、前記カラーコードに応じたカラーの前記販売促進アイテムのイメージを表示する、請求項１３に記載のシステム。
【請求項１５】
前記オーダパネルジェネレータは、前記オーダパネルを前記イメージジェネレータで生成された前記販売促進アイテムのイメージとともに前記グラフィカルユーザインタフェース上に表示する、請求項１３または１４に記載のシステム。
【請求項１６】
前記クライアント装置は、
選択された販売促進アイテムに対するユーザからのオーダ要求を受けて、当該販売促進アイテムを購入するための要求を前記サーバ装置へ送信するためのオーダエグゼクタと、
前記オーダパネルの複製を前記サーバ装置側に生成するためのオーダイニシエータと、
ユーザの操作によって、選択中の販売促進アイテムが前記オーダパネルから削除されると、前記サーバ装置側の前記オーダパネルの複製から当該販売促進アイテムを削除するための要求を前記サーバ装置へ送信するためのアイテムリムーバとをさらに備え、
前記アイテムアダーは、ユーザの操作によって、前記オーダパネルにいずれかの前記販売促進アイテムが追加されると、前記サーバ装置側の前記オーダパネルの複製に当該販売促進アイテムを追加するための要求を前記サーバ装置へ送信する、請求項１３〜１５のいずれか１項に記載のシステム。
【請求項１７】
サーバ装置とインターネットを介して接続されたコンピュータ上で商品を注文するプログラムであって、
当該プログラムは、前記コンピュータに、
商品の販売促進アイテムのイメージを収めているＷｅｂページと前記販売促進アイテムに関する記述データを収めている補助ファイルとに対する要求をサーバ装置へ送信するステップと、
前記サーバ装置から送信される前記補助ファイルを格納するステップと、
前記Ｗｅｂページに基づいて、グラフィカルユーザインタフェース上に１つまたは２つ以上の前記販売促進アイテムのイメージを含むグラフィックを表示させるためのデータを作成するステップと、
入力デバイスにリンクされて前記グラフィカルユーザインタフェース上を移動するポインタがユーザによって操作されることでＷｅｂページ上から選択される販売促進アイテムに関する記述データを前記グラフィカルユーザインタフェース上に表示させるためのデータを生成するステップと、
前記補助ファイルから読み出した記述データを、前記販売促進アイテムのイメージを含むグラフィックとともに前記グラフィカルユーザインタフェース上に表示するステップと、
前記グラフィカルユーザインタフェース上に表示される前記販売促進アイテムに対してユーザが第１の選択を行うための記述データパネルおよび第２の選択を行うためのオーダパネルを表示するためのデータを生成するステップと、
前記オーダパネルを用いて選択された前記販売促進アイテムをリストに格納するステップと、
前記第１の選択により選択された販売促進アイテムに関する記述データを前記補助ファイルから読出し、前記Ｗｅｂページに応じたグラフィックと併せて前記グラフィカルユーザインタフェース上に表示された記述データパネル内に表示するステップと、
前記第２の選択により選択された販売促進アイテムに関する記述データの少なくとも一部を前記補助ファイルから読出し、前記Ｗｅｂページに応じたグラフィックと併せて前記グラフィカルユーザインタフェース上に表示されたオーダパネル内に表示するステップとを実行させ、
前記オーダパネルは前記記述データパネルとは異なるものである
ことを特徴とするプログラム。
【請求項１８】
前記補助ファイルは、前記販売促進アイテムのカラーコードを含み、
前記プログラムは、前記コンピュータに、さらに、
前記グラフィカルユーザインタフェース上における前記販売促進アイテムの表示位置への前記ポインタの移動に応答して、当該販売促進アイテムの前記カラーコードを前記補助ファイルから読出し、前記グラフィカルユーザインタフェース上に、前記補助ファイルから読出した前記カラーコードに応じたカラーの前記販売促進アイテムのイメージを表示するステップを実行させる、請求項１７に記載のプログラム。
【請求項１９】
前記プログラムは、前記コンピュータに、さらに、選択された販売促進アイテムに対するユーザからのオーダ要求を受けて、購入要求を前記サーバ装置へ送信するステップを実行させる、請求項１７または１８に記載のプログラム。
【請求項２０】
前記プログラムは、前記コンピュータに、さらに、
選択された販売促進アイテムのリストと同じリストを前記サーバ装置側に生成させるステップと、
ユーザの操作によって前記グラフィカルユーザインタフェース上に表示された前記オーダパネルにいずれの前記販売促進アイテムが追加され、もしくは前記オーダパネルから選択中の前記販売促進アイテムが削除されると、当該変更内容を前記サーバ装置側のリストに反映するための要求を前記サーバ装置へ送信するステップとを実行させる、請求項１７〜１９のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的には、エレクトロニックカタログ（電子カタログ）から製品を購入することに関し、さらに具体的には、コンピュータネットワーク上で製品を注文するためのユーザフレンドリなグラフィカルインタフェースを提供するシステム、方法およびコンピュータプログラムプロダクトに関する。
【０００２】
【従来の技術】
関連技術分野の精通者に周知であるように、グローバルインターネットは、種々のコンピュータネットワークが相互接続された巨大なネットワークである。コンピュータネットワークは、ローカルインターネット、企業内ネットワーク (corporate intranet)、ローカルエリアネットワーク (local area network  LAN)、広域ネットワーク (wide area network  WAN)、私企業ネットワーク (private enterprise network) などのように、規模とタイプがさまざまである。以上のように、グローバルインターネットは、広範囲に配置されたコンピュータおよびコンピュータネットワークにおいて情報を交換し、管理するときコスト効果的（cost-effective）で、信頼性のあるメディアとなっている。
【０００３】
歴史的に見ると、インターネットは長距離通信を低コストで実現する代替手段となっているため、テクノロジの進歩により、インターネットを利用してマルチメディアを伝送する道が開かれた。例えば、インターネットを利用すると、テキスト、音声、ビデオ、グラフィックスおよびマルチメディアを高速に伝送することができる。その結果、インターネットは、エレクトロニックメーリングサービス（ｅメール）、テレビ会議 (video conferencing)、音声電話 (voice telephony) およびファクシミリをサポートするまでに発展している。
【０００４】
インターネットテクノロジの進歩により、政府機関、教育機関、企業、非営利組織および個人は、他の個人や組織のローカルネットワークやパーソナルコンピュータと通信することが可能になった。インターネットユーザはWebサイトやホームページを開設して、商業活動や個人的活動を宣伝促進することが可能になった。例えば、さまざまなWebサイトをブラウズ（閲覧）して、情報を探し出し、製品（つまり、物品やサービス）を購入し、製品サポートグループに加入し、その他諸々のことを行うことが可能になっている。
【０００５】
以上のように、インターネットは、電子商取引 (electronic commerce) を展開する上で影響力のある役割を果たしている。多くの企業はWebサイトを開設して、自社製品を潜在的コンシューマに宣伝し、販売促進している。代表例として、Webサイトにはユーザインタフェースがあり、このユーザインタフェースを通して、コンシューマは、ブラウズを続けている間に、購入したいアイテム（品目）を選択し、選択したアイテムをバーチャル（仮想）ショッピングカートに入れることを可能にしている。バーチャルショッピングカートとそのコンテンツ（内容物）は、ブラウズ/選択プロセス期間中はコンシューマに表示されない。コンシューマがWebサイト上でブラウズを完了するか、他のアイテムの選択を完了し、「チェックアウト(check out)」する準備状態になると、コンシューマは注文プロセスを完了し、アイテムを購入することになる。チェックアウトフェーズ期間に、Webサイトは別のWebページに移るようにコンシューマに指示し、そこでコンシューマはオーダフォーム（注文書）を完成し、出荷指示と支払い情報を与えなければならない。
【０００６】
従来のエレクトロニックショッピングカートには、多くの問題がある。チェックアウトプロセスは時間が長くなる可能性があり、また、センシティブ情報（機密情報）がインターネット上に転送されなければならないため、セキュリティが危険にさらされるという問題がある。コンシューマは、有効であるかどうかを遠隔のサーバに検証させる必要のあるクレジットカードのアカウント番号を入力し、出荷指示を入力する必要があるだけでなく、ショッピングカートに入れられた各アイテムが有効かどうかを、遠隔のサーバに検証させる必要がある。例えば、サーバはそのアイテムが在庫に残っているかどうかを確認する必要がある。また、サーバは、価格の変更を確認する必要もある。オーダ発注時には、課される税金および出荷/取り扱い費用が分かっていないため、正確な送り状がコンシューマに送られないことがよく起こっている。
【０００７】
従来のエレクトロニックショッピングカートによれば、製品に関する新規または詳細製品情報を、コンシューマがWebサイトをブラウズしている間にやりとりすることが容易化されていない。例えば、コンシューマはある製品をオンラインで購入したあとで、価格が変更されたこと、あるいはそのモデルが製造中止になっていることを知ることがある。同様に、コンシューマが製品に関する詳細情報を必要とするとき、従来の電子商取引サイトでは、コンシューマは別のWebページまたはWebサイトに移る必要があるため、コンシューマはショッピングカートに追加された情報を失うおそれがある。
【０００８】
また、従来のショッピングカートは、販売促進されている製品とは別のWebページに置かれているのが普通である。従って、コンシューマは製品を選択し、あるいは製品をショッピングカートに送るたびに、コンシューマが他のページを訪ねない限り、ショッピングカートのコンテンツ（内容）を見ることができない。その結果、コンシューマは、Webサイトから出る必要があり、場合によっては、自分がWebサイトのどこに置かれているのかを見失うおそれもある。コンシューマがショッピングカートを見ることがなければ、コンシューマはどのアイテムを選択したのか、アイテムの合計価格がいくらであるかを忘れる可能性がある。
【０００９】
【発明が解決しようとする課題】
以上の結果として、上述した問題を解決し、単純かつ効率的で、コスト効果的な方法でオンライン製品情報をリアルタイムで提供し、エレクトロニックオーダ（電子注文）を出せるシステムおよび方法が要望されている。
【００１０】
【課題を解決するための手段】
本発明は、コンピュータネットワークに接続されたコンピュータを使用してエレクトロニックページをフォーマッティングし、そのページをバーチャルカタログから複数のコンシューマに送信するエレクトロニックショッピングシステムを提供することによって上述した問題を解決している。エレクトロニックショッピングサーバは、複数のクライアントコンピュータとの、複数の同時ショッピングセッションを管理している。
【００１１】
ある実施形態では、エレクトロニックショッピングサーバは初期化パケット (initialization packet) をコンシューマのコンピュータに送信してアプリケーション（例えば、Javaアプレット (applet) など）を起動し、インタラクティブカタログページ (interactive catalog page) をクライアントディスプレイから表示するようにしている。ローカルセッションコントローラ (local sessions controller) はアプリケーションの一部として組み込まれ、クライアントとサーバとのすべてのコミュニケーションを仲介する働きをすると共に、エレクトロニックショッピングサーバ側に置かれているエレクトロニックセッションコントローラからの命令（指示）を実行するために使用されている。この常駐アプリケーションには、イメージジェネレータ (image generator)、記述データジェネレータ (descriptive data generator) およびオーダパネルジェネレータ (order panel generator) も組み込まれている。
【００１２】
イメージジェネレータには、各カタログページのコンテンツを表示するための命令が収められている。コンテンツとしては、販売促進アイテムまたは製品（つまり、物品またはサービス）がある。記述データジェネレータには、コンテンツに関するサポートデータ（支援データ）を表示するための命令が収められている。サポートデータとしては、価格、製品名、モデル、サイズ、カラー、などがある。ある実施形態では、コンテンツは、部品展開図 (parts explosion drawing)のイメージマップになっている。イメージマップ上でホットスポット (hot spot) をアクチベート（活性化）すると、ユーザはそのホットスポットに対応する部品の価格情報と詳細情報が得られるようにしている。
【００１３】
オーダパネルジェネレータには、ショッピングバスケット、ショッピングカート、ワゴンなどをメタファ (metaphorical：比喩的) に表示するための命令が収められている。コンシューマが購入しようとするアイテムを選択すると、選択されたアイテムはカタログページに組み込まれているショッピングバスケットに入れられるので、ショッピングバスケットは販売促進アイテムと一緒に同じブラウザページに表示されることになる。従って、コンシューマは、ショッピングバスケットにリストされているアイテムを見るために別のブラウザページを訪ねないで済むことになる。ある実施形態では、ショッピングバスケットは、コンシューマが他のｅコマース（電子商取引）Webサイトをブラウズすると、あるWebサイトから次のWebサイトに移るようになっている。
【００１４】
常駐アプリケーションには、これらはクライアント入力デバイスとやりとりして、ショッピングバスケットにアイテムを追加するアイテムアダー (item adder) と、アイテムをショッピングバスケットから除去するアイテムリムーバ (item remover) も組み込まれている。本発明は、マウスなどのポインティングデバイス (pointing device) の使用をサポートしているので、例えば、アイテムをドラッグアンドドロップまたはダブルクリックして、追加または削除イベントを引き起こすことができる。本発明によれば、他の入力方法もサポートされている。ある実施形態では、ショッピングバスケットは、カレントカタログページを得るために常駐アプリケーションに組み込まれているファイルを読み取ると、更新（つまり、アイテムの追加/除去）されるようになっている。
【００１５】
以上のように、本発明の特徴はクライアントベースのアプリケーションを提供することであり、そこには、ショッピングバスケットに入っているアイテムを表示し、そのリストをとるために必要とされる、すべての情報と命令が収められているので、ホスト側サーバにクエリー（query：照会、問い合わせ）を送信しなくても済むようにしている。本発明によれば、エレクトロニックオーダはローカルで処理されるので時間が大幅に節減されるという利点と、クライアントとサーバ間のデータ転送量が低減されるのでコンシューマのセキュリティが大幅に向上するという利点がある。
【００１６】
常駐クライアントベースアプリケーションをサポートするために、エレクトロニックショッピングサーバ側には、カタログセレクタ (catalog selector) も置かれている。このカタログセレクタは、カタログページごとにコンテンツとサポートデータのオンデマンド要求に応答する働きをする。さらに、エレクトロニックショッピングサーバ側には、コンシューマがカタログページに販売促進されているアイテムを購入するのを容易化するオーダプロセッサ (order processor) も置かれている。ある実施形態では、各コンシューマがアイテムをクライアントのショッピングバスケットに入れると、オーダプロセッサは、クライアントのショッピングバスケットに入っているアイテムを示すリストをとり、サーバ側に残しておくようになっている。この実施形態では、コンシューマがオーダを実行すると、オーダプロセッサは、エレクトロニックショッピングサーバ側にストアされているリストを、クライアントのショッピングバスケットに表示されているリストと比較し、エラーの有無を検査するようになっている。
【００１７】
本発明の特徴は、ユーザがエレクトロニックカタログに含まれる他のアイテムのブラウズを続けている間に、アイテムを選択し、ショッピングバスケットに入れたアイテムを表示することを高速化したことである。ブラウザページを変えなくても、ショッピングバスケットを見ることができるので、時間が節約される。さらに、この特徴によれば、ユーザは、オーダと選択アイテムの合計価格を、瞬時にかつ都合よく知ることができる。
【００１８】
ある実施形態では、常駐クライアントベースアプリケーションには、コンシューマが最初のアイテムをクライアント側バスケットに入れたとき、サーバ側にも同じショッピングバスケットを作成する要求をサーバに送る  オーダイニシエータ (order initiator：注文開始プログラム) も含まれている。サーバ側バスケットには、クライアント側バスケットに追加またはそこから削除されたすべてのアイテムのコピーが収められることになる。クライアント側とサーバ側のバスケットへのアイテム追加または除去は、アイテムアダーとアイテムリムーバによって行われる。オーダエグゼキュタ (order executor：注文実行プログラム) は、これら２ショッピングバスケットの同期をとり、ショッピングバスケットにリストされているアイテムを購入する要求をオーダプロセッサに送るために使用することができる。
【００１９】
エレクトロニックショッピングサーバ側では、ｅセッションコントローラが各ショッピングセッションを管理し、追跡している。サーバには、コンシューマを特定し、そのコンシューマがショッピングセッションに参加することを許可するプロファイルジェネレータ (profile generator) も含まれている。このプロファイルジェネレータは、コンシューマ、サーチエンジン (search engine)、プロファリングエンジン (profiling engine)、データベースなどにクエリーし、コンシューマプロファイルを生成するようにプログラムすることが可能である。このコンシューマプロファイルは、カタログページをフォーマッティングし、他のショッピングセッション要求条件をサポートするために使用されるものである。このプロファイルには、ショッピングアドレスや支払いデータのような、各コンシューマに関する個人情報も含まれ、オーダ発注プロセスを高速化している。サーバ側に置かれたｅセッションコントローラまたはルートコントローラは、サーバからのすべてのコミュニケーションを圧縮し、暗号化してセキュアなコネクションが得られる。
【００２０】
本発明の利点は、エレクトロニックカタログに販売促進されている製品に関するリアルタイム情報をユーザフレンドリな環境で収集できることである。マウスや他のポインティングデバイスを動かすことにより、コンシューマは製品の価格と入手可能性に関する最新情報を受け取ることができる。さらに、マウスをクリックすると、コンシューマは即時に製品を選択し、ショッピングバスケットに送ってからその製品を電子的に購入したあと、指定のアドレスに出荷させること、および/またはクレジットカードカウントにビリング（請求書送付）させることができる。さらに、コンシューマは、マウスを使用して製品をショッピングバスケットまでドラッグアンドドロップすることも、そこから製品を除去することも簡単に行うことができる。
【００２１】
本発明の別の利点は、オンラインオーダを処理できるので、時間が大幅に節減され、全体の効率が大幅に向上することである。ショッピングバスケットは販売促進製品と一緒に同じブラウザページ上に置かれ、表示されるので、ユーザは、ブラウズを続けたまま選択製品を確かめることができる。チェックアウト時には、コンシューマはショッピングバスケットが送られてくるのを待たなくても、オーダを確認することができる。これとは逆に、オーダはバーチャルボタンをクリックするだけで瞬時に送信することができる。
【００２２】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２３】
本明細書に添付され、本明細書の一部を構成している添付図面は本発明を示しており、本明細書の記載と併用することにより、本発明の原理を理解しやすくすると共に、関連技術分野の精通者が本発明を製造し、使用することを容易にするものである。図面において、同一エレメントまたは機能的に類似するエレメントは類似の参照符号で示されている。さらに、参照符号の左端の数字は、その参照符号が最初に現れている図面を示している。
【００２４】
I.エレクトロニックショッピングシステムの概要
図１は、コンピュータネットワーク１１０を利用した１または２以上のコンシューマ（図示せず）とのオンラインショッピングセッションを管理するための、本発明の実施形態によるエレクトロニックショッピングシステム１００を示す図である。エレクトロニックショッピングシステム１００は、エレクトロニックショッピングサーバ１２０、セッションリポジトリ (sessions repository) １４４、コンシューマデータベース１４８、カタログリポジトリ（catalog repository）１５２およびオーダデータバンク (orders databank) １５６を含んでいる。システム１００は、異種コンピュータネットワークを利用したエレクトロニックショッピングサーバ１２０と各コンシューマとの間の双方向コミュニケーションをサポートしている。異種コンピュータネットワークトとしては、企業内ネットワーク（イントラネット）などのワイヤド（有線）またはワイヤレス（無線）ローカルエリアネットワーク (LAN) および/または広域ネットワーク (WAN)、グローバルベースのインターネット（World Wide Web (WWW) を含む）などがある。
【００２５】
エレクトロニックショッピングサーバ１２０（「サーバ１２０」）には、複数のコンシューマとの複数の同時ショッピングセッションを、サーバ１２０が指示し、制御することを可能にする複数のルーチンとサブルーチンが置かれている。図１は、本発明の理解を容易にするためにエレクトロニックショッピングサーバ１２０を概念図で示したものである。すなわち、ブロックの１つまたは２つ以上は、同じハードウェア部分またはソフトウェアモジュールで実行可能になっている。また、当然に理解されるように、本発明の実施形態は、ハードウェアでも、ソフトウェアでも、あるいはその組み合わせでも実現することが可能である。そのような実施形態では、種々のコンポーネントとステップは、ハードウェアおよび/またはソフトウェアに実装され、本発明の機能が実行されることになる。
【００２６】
エレクトロニックショッピングサーバ１２０は、１つまたは２つ以上のコンピュータが種々の共有リソースを相互に利用すると共に、他のネットワークコンピュータも利用できるようになっている。共有リソースとしては、プログラムを収めているファイル、Webページ、データベースおよびライブラリ、プリンタ、プロッタ、ディスプレイモニタ、ファクシミリマシンなどの出力デバイス、モデムやインターネットアクセス施設などのコミュニケーションデバイス、などがある。コミュニケーションデバイスは、ワイヤドとワイヤレスコミュニケーションをサポートすることができ、その中には、衛星、地上（光ファイバ、銅線、同軸など）、無線、マイクロウェーブ、その他の伝送形体または方式が含まれている。サーバ１２０は、パブリック（公衆）およびプライベート（専用、私設）インターネットバックボーン（インターネット中枢網）を利用したコミュニケーションを統御するために開発された標準インターネットプロトコル (Internet Protocol  IP) をサポートする構成になっている。このプロトコルは、Internet Standard (STD) 5, Request for Comments (RFC) 791 (Internet Architecture Board)に規定されている。サーバは、伝送制御プロトコル (Transmission Control Protocol  TCP)、ユーザデータグラムプロトコル (User Datagram Protocol  UDP)およびリアルタイムトランスポートプロトコル (Real Time Transport Protocol  RTP) などの、トランスポートプロトコルをサポートすることも可能になっている。これらのトランスポートプロトコルは、ファイル転送プロトコル (File Transport Protocol  FTP)、ハイパテキスト転送プロトコル (Hypertext Transport Protocol  HTTP)、簡易ネットワーク管理プロトコル (Simple Network Management Protocol  SNMP)、ネットワークタイムプロトコル (Network Time Protocol  NTP) などの、種々タイプのデータ伝送標準をサポートしている。サーバ１２０は、Novell（登録商標）提供のNetware（商標）、Microsoft（登録商標）提供のMS-DOS（登録商標）、Windows NT（登録商標）およびWindows（登録商標）3.xx/95/98/2000、Linux Online Inc.提供のLinux（登録商標）、Sun Microsystems, Inc.提供のSolaris（登録商標）、などの種々のオペレーティングシステムをサポートする構成にもなっている。なお、これらのオペレーティングシステムは関連技術分野の精通者ならば、周知されているものである。
【００２７】
図１に示すように、代表的な実施形態におけるエレクトロニックショッピングサーバ１２０は、ルートコントローラ１２４、ｅセッションコントローラ１２８、プロファイルジェネレータ１３２、カタログセレクタ１３６およびオーダプロセッサ１４０を含んでいる。ルートコントローラ１２４は、クライアントワークステーション（図示せず）を使用して１または２以上のコンシューマまたは潜在的コンシューマとコミュニケーションをやりとりする。クライアントワークステーション（詳細は以下で説明する）は、コンピュータネットワーク１１０を利用してルートコントローラ１２４と通信する構成になっている。また、図１に示すように、ルートコントローラ１２４は、ｅセッションコントローラ１２８、プロファイルジェネレータ１３２、カタログセレクタ１３６、オーダプロセッサ１４０およびクライアントワークステーションの間でコミュニケーションをルーティング（経路選択）するスイッチの働きをしている。従って、ある実施形態では、サーバ１２０に対して読み書きするクライント要求は、すべてルートコントローラ１２４を経由するようになっている。ルートコントローラ１２４は、サーバ要求を収めているデータパケット（例えば、IPデータグラム）を受信し、そのデータパケットを処理して該当デスティネーションを読み取るか、あるいは判断し、その判断に応じてデータパケットのルートを選択する。ある実施形態では、ルートコントローラ１２４は、宛先システム１００のコンポーネント（例えば、ｅセッションコントローラ１２８、プロファイルジェネレータ１３２、クライアントワークステーションなど）が利用可能になるまでデータパケットをそこに置いておくためのルーティングキュー（図示せず）を含んでいる。ルートコントローラ１２４は、例えば、宛先システムコンポーネントの容量とカレントワークロード、サブミットされたジョブに必要なリソースなどを評価することによって、コンポーネントの利用可能性を判断する。なお、これは、関連技術分野の精通者ならば自明のことである。
【００２８】
ルートコントローラ１２４は、ユーザ（つまり、コンシューマ、システム１００の管理者など）によるサーバ側データへのアクセスとサーバ１２０とのコミュニケーションも保護している。ある実施形態では、すべてのコミュニケーションは、セキュアソケットレイヤ (Secure Sockets Layer  SSL) が提供するセキュアデータ通路 (secure data path) を通して行われる。サーバ１２０に置かれたリソースへのアクセスは、ユーザ認証 (user authentication)、ファイアウォール (firewalls)、暗号化 (encryption) などの、セキュリティ手法を使用して制御される。ある実施形態では、サーバ１２０にアクセスするには、ユーザ名/パスワード (username/password) の認証が要求される。プロファイルジェネレータ１３２に関連して以下で説明するように、ユーザ名/パスワードは、サーバアクセス、ユーザ役割 (user roles)、セキュリティレベル、その他のサーバ機能を判断するために使用できる。例えば、サーバアクセスは、コンシューマデータベース１４８に置かれているコンシューマプロファイルを、コンシューマが読み取り、書き込み、更新できるかどうかを制御する。このようにして、ルートコントローラは、システム１００の保全性 (integrity)、サーバ１２０側データ、サーバ１２０のコンシューマ/ユーザ、およびシステム１００の利用可能性を保護している。
【００２９】
ルートコントローラ１２４のセキュリティ機能はシステム１００に組み込まれている。そのようなものとしては、コンピュータネットワーク１１０（例えば、インターネットコミュニケーション）のアクセスプロトコル、セッションリポジトリ１４４、コンシューマデータベース１４８、カタログリポジトリ１５２、オーダデータバンク１５６などがある。ある実施形態では、トップレベルのハイパテキストノード（つまり、Webページ）は、一般公衆へのオープンアクセスをサポートしている。セキュアハイパテキストノードは、データを検証してからデータベースへの入力を行うJavaアプレットなどを使用して、データを入力することをサポートしている。この実施形態では、システム１００への完全アクセスを受けるように登録されていないユーザによる限定照会 (limited inquiries) と連絡情報もサポートされている。さらに、各ユーザ役割は、セキュリティ機能のキーコンポーネントになっている。ユーザ役割は、自身のショッピングデータ以外のデータへのユーザのアクセスを判断し、各ユーザが実行できるシステム１００の機能 (features) を判断するように構成されている。
【００３０】
エレクトロニックショッピングサーバ１２０のもう１つのコンポーネントは、ｅセッションコントローラ１２８である。ｅセッションコントローラ１２８は、コンピュータネットワーク１１０を利用したコンシューマとのすべてのショッピングセッションを開始し、管理する。ショッピングセッション開始許可を要求するデータパケットを受信すると、ｅセッションコントローラ１２８は、初期化命令 (initialization instructions) をアセンブルし、それをコンシューマのクライアントワークステーションに送信する。これについては、図２を参照して以下で説明する。ある実施形態では、ｅセッションコントローラ１２８はJavaアプリケーションを使用して初期化命令を生成している。関連技術分野の精通者ならば理解されるように、JavaScript、C、C++などの、他のプログラミング言語を使用することも可能である。ｅセッションコントローラ１２８は、プロファイルジェネレータ１３２との共同コミュニケーションを通して、コンシューマのIDの有効性を検査または検証する。ショッピングセッション期間中、ｅセッションコントローラ１２８はカタログセレクタ１３８と協調して、入手可能商品に関する情報をコンシューマに提供する。同様に、ｅセッションコントローラ１２８はオーダプロセッサ１４０と協調して、コンシューマによる商品購入要求をサポートしている。ｅセッションコントローラ１２８は各コンシューマとのすべてのトランザクションを追跡し、オンラインショッピングセッションをモニタし、追跡し、管理するために使用されるセッション番号を割り当てる。図１に示す代表的な実施形態では、ｅセッションコントローラ１２８はセッションリポジトリ１４４とコミュニケーションをやりとりして、エレクトロニックショッピングセッションを管理するために使用するプログラムとファイルをストアし、そのバックアップをとり、あるいはそれらを取り出す。
【００３１】
ｅセッションコントローラ１２８は、サーバ１２０が各コンシューマのクライアントワークステーションに送信するデータパケットまたはデータストリームをフォーマッティングすることも受け持っている。ある実施形態では、ｅセッションコントローラ１２８はショッピングセッション命令を圧縮してから、それらをコンシューマのクライアントワークステーションにルーティング（経路指定）するようにしている。ある実施形態では、ｅセッションコントローラ１２８は、セッションデータパケットを暗号化してから、つまり、暗号化するようにルートコントローラ１２４に指示してから、それらをクライアントワークステーションにストリーミングまたはダウンローディングすることも可能になっている。ある実施形態では、ｅセッションコントローラ１２８は、プロファイルジェネレータ１３２に置かれているコンシューマプロファイル（詳細は以下で説明する）を読み取り、データストリームをクライアントワークステーションと互換性を持つように構成することによって、データストリームをフォーマッティングする。例えば、データストリームは、Apple（登録商標）、Microsoft（登録商標）、およびRealNetworks（登録商標）のマルチメディアアプリケーション、Java 1.1または以降、JavaScript、C、C++などのプログラミング言語の処理能力をもつNetscape（登録商標）（例えば、Navigator（登録商標）4.0または以降）とMicrosoft（登録商標）（例えば、Internet Explorer（登録商標）4.0または以降）のブラウザ、Windows（登録商標）、Novell（登録商標）およびLinux（登録商標）オペレーティングシステム、ハイパテキストマークアップ言語 (HyperText Markup Language  HTML)、SMIL(Synchronized Multimedia Integration Language)、Allaire（登録商標）Cold Fusion、Apple（登録商標）Web Objects（登録商標）、Haht Site（登録商標）、PHPおよびAestiva（登録商標）スクリプト言語、などをサポートするフォーマットにすることが可能になっている。なお、これらは関連技術分野の精通者に自明のことである。ある実施形態では、データストリームは、GIF（グラフィックス用）、JPEG（写真用）、Apple（登録商標）QuickTime（登録商標）（ダイナミックメディア用−オーディオとビデオ用）、Macromedia（登録商標）Flash（商標）（単純アニメーション用）、Macromedia（登録商標）Shockware（登録商標）（より高度のアニメーション用）、Adobe（登録商標）Acrobat（登録商標）（マニュアル用）、などをサポートするフォーマットにすることが可能になっている。
【００３２】
エレクトロニックショッピングサーバ１２０は、各コンシューマのショッピングセッションをサポートするために使用される関連情報を提供するプロファイルジェネレータ１３２も含んでいる。上述したように、プロファイルジェネレータ１３２は、ルートコントローラ１２４のユーザ認証機能とｅセッションコントローラ１２８のユーザID機能をサポートしている。ある実施形態では、コンシューマが初めてサーバ１２０に訪問し、それを受け付けると、プロファイルジェネレータ１３２はコンシューマのIDを判断し、コンシューマがサーバデータを受け取ることを許可する。コンシューマのIDは、受動的（パッシブ）にも、能動的（アクティブ）にも判断することができる。ある実施形態では、プロファイルジェネレータ１３２は、パスワード付きまたはパスワードなしでユーザ名を入力するようにコンシューマに督促（プロンプト）する命令を、コンシューマのクライアントワークステーションに送信する。コンシューマが以前に登録されていなければ、コンシューマはユーザ名とパスワードを作成するオプションが許可されるか、さもなければ、プロファイルジェネレータ１３２がコンシューマに代わってそれらを生成する。以後のセッションでは、コンシューマはユーザ名の入力を督促されることになる。
【００３３】
別の実施形態では、コンシューマは、プロファイルジェネレータ１３２に受動的に登録される。例えば、この実施形態では、コンシューマがショッピングセッション開始要求を送ってきたとき、情報パケットがプロファイルジェネレータ１３２からコンシューマのクライアントワークステーションに送られるようになっている。この識別パケット（つまり、クッキー (cookies) など）は、コンシューマがエレクトロニックショッピングサーバ１２０にアクセスするたびに、コンシューマのクライアントワークステーションから送り返されることになる。この識別パケットには、ユーザ名、ネットワークアドレス、あるいはプロファイルジェネレータ１３２が登録コンシューマを認証または識別するために使用できる他の情報を入れることができる。コンシューマには、識別パケットから検出されたIDを確認するように督促することができる。
【００３４】
別の実施形態では、プロファイルジェネレータ１３２はコンシューマのIP番号（IPアドレス）を利用して受動（パッシブ）型登録を行うことが可能になっている。代表例として、コンシューマがインターネットにログオンしたとき、一時的IP番号がコンシューマのインターネットサービスプロバイダによって自動的に割り当てられるようになっている。ルートコントローラ１２４またはプロファイルジェネレータ１３２は、コンシューマのデータパケット要求からIP番号を読み取ってコンシューマを特定することができる。この手法は、コンシューマのクライアントワークステーションが、例えば、クッキー (cookies) を受け付けないとき使用することができる。
【００３５】
プロファイルジェネレータ１３２はコンシューマのIDを判断または認証したあと、プロファイルジェネレータ１３２は、引き続いてコンシューマのプロファイルを生成または更新する。ある実施形態では、サーバ１２０への新訪問者は、初めての登録時にコンシューマのプロファイルを完成するように督促される。別の実施形態では、プロファイルジェネレータ１３２は、サーチエンジン、データベース、プロファイリングエンジンなどを使用して、コンシューマプロファイルを自動的に作成することが可能になっている。さらに別の実施形態では、コンシューマプロファイルは、Acxiom（登録商標）やPRIZM（商標）などの、サードパーティデータベースを調べることによって作成することができる。ある実施形態では、コンシューマプロファイルが作成されたあと、コンシューマは、後続セッション期間にプロファイルを更新するように督促されるか、あるいは更新することが許可される。再び図１を参照して説明すると、コンシューマプロファイルはコンシューマデータベース１４８にストアされる。
【００３６】
コンシューマプロファイルには、名前、住所アドレス、エレクトロニックメーリング（ｅメール）アドレス、クレジットカードアカウント番号、ビリング（請求書送付）アドレス、出荷アドレスといったように、各コンシューマの人口統計データを含めることができる。なお、これは関連技術分野の精通者ならば、自明のことである。コンシューマプロファイルには、適用される税金、コンシューマの住所アドレスまたは要求された発送先アドレスに基づく出荷取り扱いコストに関する情報を含めることもできる。さらに、コンシューマプロファイルには、モデル、メーカ、シリアル番号、オペレーティングシステム、ブラウザソフトウェア、ワードプロセッシングプログラム、グラフィックスソフトウェア、メモリ容量、マイクロプロセッサのスピードといったように、それぞれのクライアントワークステーションに関するデータを含めることも可能であるが、これは関連技術分野の精通者ならば自明のことである。プロファイルデータは、コンシューマのクライアントワークステーションが、エレクトロニックショッピングサーバ１２０からデータパケットを受け取るために要求される基本的構成条件に合致しているかどうかを判断するために使用される。上述したように、プロファイルデータは、サーバ１２０からのデータパケットをクライアントワークステーションと互換性をもつように構成するためにも使用できる。
【００３７】
再び図１を参照して説明すると、カタログセレクタ１３６は、すべての商品に関するイメージ、イメージマップおよびサポートマルチメディアデータ（この中には、テキスト、グラフィックス、オーディオ、ビデオ、これらを組み合わせたもの、などが含まれる）を、ショッピングセッション期間に生成し、送信する。ショッピングセッションが開始されると、カタログセレクタ１３６は、ある実施形態では、イメージマップとサポートデータを選択してカタログページを作成する。このイメージデータとサポートデータはｅセッションコントローラ１２８に送られ、これを受けて、ｅセッションコントローラ１２８は、その商品データをクライアントワークステーションに送付される初期化データパケットの中に組み入れる。そのあと、コンシューマが他のカタログページ上の別商品に関する情報を要求すると、カタログセレクタ１３６は、該当のイメージマップとサポートデータを提供する。従って、商品データは、ある実施形態では、分解組立図で展開可能 (explodable) なファイルになっているため、クライアントワークステーション側のブラウザアプリケーションは、サーバに照会（クエリー）しなくても、現在表示されているカタログページに関する問い合わせを処理できるようになっている。図１に示すように、商品データはカタログリポジトリ１５２にストアされる。カタログセレクタ１３６はカタログリポジトリ１５２と通信して、コンシューマが商品データを要求するのをサポートしている。
【００３８】
エレクトロニックショッピングサーバ１２０は、ｅセッションコントローラ１２８とコミュニケーションをやりとりして、コンシューマがカタログサーバ１３６によって宣伝販売されている商品をオンラインで発注できる  、オーダプロセッサ１４０も含んでいる。ある実施形態では、オーダプロセッサ１４０は、テキストまたはグラフィカルユーザインタフェース (GUI) からオーダパネル (order panel) をクライアントワークステーションに作成させるための命令を生成する。オーダパネルは、ショッピングバスケット、ショッピングカート、ワゴンなどをバーチャルに表すことができる。オーダプロセッサ１４０からの命令には、コンシューマがオーダパネルに商品を追加またはそこから削除し、数量を指示する権利も含まれることになる。ある実施形態では、オーダパネル命令が準備されると、ｅセッションコントローラ１２８に転送され、そこでオーダパネル命令はカタログセレクタ１３６からの命令と統合され、商品データを収めているカタログページが作られるようになっている。ｅセッションコントローラ１２８は、クライアントのブラウザアプリケーションが商品イメージと一緒に同じブラウザページ上にオーダパネルを表示するように統合データをフォーマッティングする。ある実施形態では、オーダプロセッサ１４０は、ショッピングセッション期間中の各コンシューマのオーダをレコードとして記録している。従って、コンシューマがアイテムをオーダパネルに追加するか、あるいはアイテムをそこから削除すると、オーダプロセッサ１４０も、コンシューマのカレントオーダの複製をとるように構成可能になっている。オーダプロセッサ１４０は、すべてのコンシューマレコードをヒストリレコード (historical record) として記録しておくように構成することも可能である。ある実施形態では、オーダプロセッサ１４０は、オーダデータバンク１５６と通信して、コンシューマのカレントオーダとヒストリオーダをストアし、これらを取り出すようになっている。
【００３９】
上述したように、エレクトロニックショッピングサーバ１２０は、セッションリポジトリ１４４、コンシューマデータベース１４８、カタログリポジトリ１５２およびオーダデータバンク１５６（以下では、「サーバデータベース」と総称する）によってサポートされている。各サーバデータベースは、上述したようにエレクトロニックショッピングサーバ１２０をサポートするために使用される統合レコードの集まりから構成されている。関連技術分野の精通者ならば理解されるように、サーバデータベースには、データベースレコードに入っているデータやメタデータのストア、検索、および更新を制御する、リレーショナルまたはオブジェクト指向 (object oriented  OO)/コンポーネントベースのデータベース管理システム（図示せず）などを含めることができる。また、データベース管理システムはデータのやりとりを制御し、保全性ルールと拘束条件（データ保全性と参照保全性 (referential integrity) を含む）を適用し、セキュリティ拘束条件を適用する。再び図１を参照して説明すると、データ管理システムは、ある実施形態では、サーバ１２０のコンポーネント（つまり、ｅセッションコントローラ１２８、プロファイルジェネレータ１３２、カタログサーバ１３６およびオーダプロセッサ１４０）からコミュニケーションを受信し、該当サーバデータベース（つまり、セッションリポジトリ１４４、コンシューマデータベース１４８、カタログリポジトリ１５２およびオーダデータバンク１５６）を操作し、必要に応じてレコードを検索するか、ストアするか、あるいは更新する。ある実施形態では、Open DataBase Connectivity (ODBC) またはJava DataBase Connectivity (JDBC) プロトコルを用意することで、サーバデータベースへの直接コネクションが可能になっている。
【００４０】
II.エレクトロニックショッピングセッションのためのクライアントコンポーネントの概要
図２は、エレクトロニックショッピングシステム１００からオンラインショッピングセッションを受信するための、本発明の実施形態によるクライアント側エレクトロニックセッションシステム２００を示す図である。好ましい実施形態では、クライアントエレクトロニックセッションシステム２００は、クライアントワークステーション側に置かれていて、ショッピングセッションを受信するアプリケーションプログラムを表している。各クライアントワークステ−ションは、コンピュータネットワーク１１０にリンクされていて、エレクトロニックオーダを出せる能力をもつディスプレイデバイスを備えている、パーソナルコンピュータ、パーソナルデジタルアシスタント (personal digital assistant  PDA：形態用情報端末)、電話、テレビジョンまたは類似デバイスにすることができる。各クライアントワークステーションのディスプレイデバイスはGUI（グラフィカルユーザインターフェース）を備えているため、ユーザ（つまり、コンシューマ）はデータストリームをブラウズし、対話方式でエレクトロニックショッピングサーバ１２０と通信することが可能になっている。ディスプレイには、種々のエレクトロニックショッピングコマンドに対応するグラフィカルコントロールが装備されている。
【００４１】
本発明のある実施形態では、各コンシューマはキーボードおよび/またはマウスを使用し、ディスプレイのグラフィカルコントロール（例えば、ボタン、スクロールバー、リンクなど）を操作することによってエレクトロニックセッションシステム２００とやりとりするようになっている。別の実施形態では、クライアントワークステーションは、ショッピングセッション期間中に音声コマンドを受け取って種々のタスクを実行する構成にすることが可能になっている。ルールベースエキスパートシステム (rule-based expert system) を使用すると、処理ユニットは、音声認識ユニットにコンシューマの音声を識別させ、音声コマンドを認識し、グラフィカルコントロールをアクチベートするように処理させることが可能になる。他の入力デバイスとして、マウスホイール、ジョイスティック、ラダ−ペダル (rudder pedal)、タッチスクリーン、マイクロホン、スタイラス、ライトペン、その他のタイプのペリフェラルユニットを使用することも可能である。上記は、本発明と共に使用できる代表的な入力デバイスを列挙したものである。関連技術分野の精通者ならば当然に理解されるように、上記以外のタイプの入力デバイスを容易に組み入れることも可能であり、そのために本発明の範囲が変更されるものではない。現在利用可能であるデバイスであっても、将来開発されるデバイスであっても、それが汎用インタフェースに対応するものであれば、本発明の範囲に含まれるものである。
【００４２】
アプリケーションプログラムインタフェース (application program interface  API) は、ディスプレイデバイスおよび入力デバイスとやりとりして、エレクトロニックセッションシステム２００のコンポーネントとのリアルタイムビジュアルフィードバックとコミュニケーションをサポートしている。従って、コンシューマがディスプレイからあるグラフィカルコントロールをアクチベートすると、それに応答して、クライアントワークステーションはエレクトロニックセッションシステム２００にシグナル（信号）を送る。従って、アクチベートされたグラフィカルコントロールに対応するエレクトロニックショッピングサーバ１２０にもシグナルが送られる。
【００４３】
再び図２を参照して説明すると、クライアントエレクトロニックセッションシステム２００は、ある実施形態では、Javaアプレットになっており、これはショッピングセッションのホスト役を果たすクライアントワークステーション側でルーティングおよび/またはストアされている。前述したように、JavaScript、C、C++などの、他のプログラミング言語を実装することも可能である。以上のようになっているため、クライアントエレクトロニックセッションシステム２００には、ショッピングセッションをビジュアルに表現したものをクライアントディスプレイから表示するようにクライアントワークステーションに指示するルーチンとサブルーチンが置かれている。図２は、本発明の理解を容易にするためにクライアントエレクトロニックセッションシステム２００を概念図で示したものである。すなわち、ブロックの１つまたは２つ以上は、同じハードウェア部分またはソフトウェアモジュールで実行可能になっている。また、当然に理解されるように、本発明の実施形態はハードウェアでも、ソフトウェアでも、あるいはこれらを組み合わせたものでも、実現することが可能である。そのような実施形態では、種々のコンポーネントとステップはハードウェアおよび/ソフトウェアで実現され、本発明の機能が実行されることになる。
【００４４】
図２に示すように、クライアントエレクトロニックセッションシステム２００は、代表的な実施形態では、ローカルセッションコントローラ２２８、イメージジェネレータ２３２、記述データジェネレータ２３６、オーダパネルジェネレータ２４０、オーダイニシエータ２４４、アイテムアダー２４８、アイテムリムーバ２５２およびオーダエグゼクタ (order executor) ２５６を含んでいる。ローカルセッションコントローラ２２８はエレクトロニックショッピングサーバ１２０のファイルおよびプログラムとやりとりする。ローカルセッションコントローラ２２８は、共通ゲートウェイインタフェースを使用してコンピュータネットワーク１１０上でコミュニケーションをやりとりすることによって、エレクトロニックショッピングサーバ１２０とのショッピングセッションを開始し、管理することを担当している。また、ローカルセッションコントローラ２２８はクライアントディスプレイ（例えば、ブラウザアプリケーション）ともやりとりして、ビジュアルコミュニケーションをコンシューマに提供する。さらに、ローカルセッションコントローラ２２８はAPIともやりとりして、クライアント入力デバイスからのシグナルを渡すことができる。一般的に、ローカルセッションコントローラ２２８はすべてのイベント（つまり、入力デバイスからのシグナル）および情報をクライアントディスプレイから表示するすべての側面を処理する。
【００４５】
ある実施形態では、ローカルセッションコントローラ２２８は、コンシューマがハイパテキストノードまたはWebサイトを訪ねてエレクトロニックショッピングサーバ１２０（図１に図示）とのコネクションが得られたときアクチベートされるようになっている。アクチベートされると、ローカルセッションコントローラ２２８はショッピングセッションを開始する要求をルートコントローラ１２４（図１に図示）に送付する。要求が認証され、許可されると（上述したように）、ｅセッションコントローラ１２８（図１に図示）は初期化パケットをローカルセッションコントローラ２２８に送付する。ローカルセッションコントローラ２２８は初期化パケットを伸張 (decompress) し、それを読み取ってセッションを調整するための命令を実行する。
【００４６】
初期化パケットは、ある実施形態では、バーチャルカタログからエレクトロニックショッピングページをオープンするための初期化命令を収めている。図４は、例示のエレクトロニックショッピングページをクライアントディスプレイから表示するGUI４００の実施形態を示す図である。同図に示すように、GUI４００は、代表的な実施形態では、商品イメージ４１０、オーダパネル４２０および記述パネル４３０を含んでいる。商品イメージ４１０は、宣伝販売促進されている製品（つまり、物品またはサービス）を可視的に描写している。この例示の実施形態では、製品は機械的構造物の部品１−４２のアセンブリになっている。従って、商品イメージ４１０は、例えば、商品の個別部品１−４２の部品展開イメージを提供するイメージマップになっている。各部品１−４２は別のイメージ、イメージマップ、Webサイトなどへのリンクまたはアンカの働きをしている。ある実施形態では、部品１−４２の１つは、上位レベルの部品アセンブリにすることができる。従って、上位レベル部品１−４２をアクチベートすると、ブラウザはサブアセンブリ部品のイメージマップをロードするようになっている。
【００４７】
この実施形態では、商品イメージ４１０は部品アセンブリを表示するが、当然に理解されるように、本発明は機械的および電気的部品を表す商品に限定されるものではない。関連技術分野の精通者ならば理解されるように、本発明は、どのタイプのサービス、物品または日用品でも、宣伝販売促進することをサポートしており、この中には、衣服、食品、スポーツ用品、車両、宝石類、コンピュータ、エレクトロニクス、フラワー、ミュージカルコンパクトディスク、ビデオカセット、書籍類、医薬品、オフィスサプライ、ホーム改善サプライなどが含まれるが、これらに限定されるものではない。
【００４８】
再び図４を参照して説明すると、記述データパネル４３０には、商品イメージ４１０に入っている部品１−４２に関する詳細情報が表示される。同図に示すように、ある実施形態では、記述データパネル４３０には、タブコントロール４３２、４３４および４３６を操作することで、異種タイプの情報が表示されるようになっている。説明 (description) タブ４３６は、ある実施形態では、サブパネルをオープンし、そこには、商品イメージ４１０として表示されたカレントアセンブリの中の、選択された部品１−４２に関する情報が記載されている。この情報としては、部品名、部品番号、SKU(stock keeping unit：発注指示の単位)、モデル、メーカ名、などがある。ノート(note)タブ４３２は、カレントアセンブリの中の、選択された部品１−４２に関する他の情報を表示する。そのような他情報としては、最低限要求されるオーダ条件、在庫数量、他のカストマからのコメント、批判などのほかに、認可販売業者、類似製品の別ソース、などがある。ノートタブ４３２か説明タブ４３６のどちらかでアクチベートされるサブパネルには、販売促進セールス、数量または会員割引、関連製品の販売促進などのように、選択した部品１−４２に関する販売促進情報を表示させることも可能である。カタログ(catalog)タブ４３４は、ある実施形態では、カレント部品アセンブリの全部品のリストを表示する。当然に理解されるように、上記以外のタイプの情報を表示する追加タブを含めることも可能であり、それらのタブは本発明の精神と範囲に属するものである。例えば、ベンダ（売り主）、メーカ、発送予定時刻、保証条項、類似製品、据付け指示、修理サービス、などを確かめるためのタブを含めることができる。
【００４９】
商品イメージ４１０として表示される初期イメージは、ローカルセッションコントローラ２２８（図２に図示）に送られる初期化命令によって決まる。初期化命令は、ある実施形態では、１つまたは２つ以上のショッピングセッションパラメータを含み、その中には、例えば、セッション番号、ローカルコード、税金/出荷コード、イメージキーおよびオーダパネルキーが含まれている。セッション番号はｅセッションコントローラ１２８（図１に図示）によって割り当てられ、ｅセッションコントローラ１２８が管理している複数の同時セッションからコンシューマのセッションを特定するために使用される。セッション番号はローカルセッションコントローラ２２８に残されているので、ローカルセッションコントローラ２２８はこの識別番号を使用して、エレクトロニックショッピングサーバ１２０とのデータ交換にスタンプを付ける。
【００５０】
再び図４を参照して説明すると、商品イメージ４１０のイメージマップは、イメージキーによって判断される。イメージとサポートデータがエレクトロニックショッピングサーバ１２０またはカタログリポジトリ１５２（図１に図示）のどのファイル名に置かれているかは、このイメージキーによって判断される。同様に、オーダパネルキーも同じような働きをして、オーダパネル４２０を生成する。ショッピングセッション期間中、オーダパネルキーは、オーダプロセッサ１４０（図１に図示）に置かれている必要情報を指しているポインタの働きする。
【００５１】
初期化データパケットには、オプションとして２つのショッピングセッションパラメータが含まれている。すなわち、ローカルコードと税金/出荷コードである。ローカルコードと税金/出荷コードはプロファイルジェネレータ１３２（図１に図示）によって判断され、ユーザの居住アドレスか発送アドレスのどちらか該当する方に基づいている。ローカルコードはユーザの州（米国の場合）、zipコード（米国の場合）、エリアコード（米国の場合）などにすることができる。このローカルコードを使用して、プロファイルジェネレータ１３２は、連邦、州、都市または地方のプロパティ（資産、所有物）、ライセンス、特権、セールス、課税、粗収入またはトランザクション（取引）、プロパティ、そのセールス、その価値またはその使用、またはプロパティまたはトランザクションに関連して行われたサービスに対しあるいは関連して適用され、それらによって査定され、あるいは課税される他の類似の税金または諸税を判断する。さらに、プロファイルジェネレータ１３２はローカルコードを使用して、トランザクションに対する該当出荷取り扱い費用を計算する。プロファイルジェネレータ１３２は税金/出荷コードを生成し、それを１つまたは２以上のレートまたはパーセンテージの形でローカルセッションコントローラ２２８(図２に図示)に提供する。
【００５２】
再び図２を参照して説明すると、初期化データパケットには、イメージジェネレータ２３２、記述データジェネレータ２３６、オーダパネルジェネレータ２４０、オーダイニシエータ２４４、アイテムアダー２４８、アイテムリムーバ２５２およびオーダエグゼクタ２５６を、クライアントワークステーションに常駐アプリケーション（Javaアプレットなど）としてロードするためのコマンドも含まれている。イメージジェネレータ２３２はイメージキーで指定されたイメージマップを受け取り、図４に示す商品イメージ４１０を生成する。同様に、記述データジェネレータ２３６はイメージキーで指定されたサポートデータを受け取り、記述データパネル４３０を生成する。前述したように、ある実施形態では、現在表示されている商品イメージ４１０をサポートするために必要な全商品データは、イメージジェネレータ２３２、記述データジェネレータ２３６およびオーダパネルジェネレータ２４０に関連する展開可能ファイル（図示せず）としてクライアントに送られる。従って、各々のカタログページごとに、全必要商品データは、アクセスを高速化し、効率化するためにクライント側にストアされる。別のカタログページが要求されたときは、そのページの必要商品データはエレクトロニックショッピングサーバ１２０によって送付される。
【００５３】
オーダパネルジェネレータ２４０、オーダイニシエータ２４４、アイテムアダー２４８、アイテムリムーバ２５２およびオーダエグゼクタ２５６は、オーダパネルキーを通してオーダプロセッサ（図１に図示）と通信し、オーダパネル４２０のフォーマットとコンテンツを管理する。オーダパネルジェネレータ２４０は、オーダパネル２４０を生成し、そのフォーマットを制御することを担当している。前述したように、オーダパネル２４０はバーチャルショッピングバスケット、ショッピングカート、ワゴンなどであり、コンシューマが購入する１つまたは２つ以上の商品アイテムを指定するために使用できる。好ましい実施形態では、オーダパネル４２０は商品イメージ４１０と同じブラウザページに置かれていて、そこから同時に表示される。そのために、コンシューマは商品イメージ４１０のコンテンツを見つづけながら、オーダパネル４２０のコンテンツを調べることができる。商品イメージが置かれているWebページのコンテンツ、つまり、商品イメージ４１０自体がブラウザページまたはスクリーンのマージンを越えた場合には、ブラウザページを横方向または縦方向にスクロールすることで、コンシューマはWebページの全部、つまり、商品イメージ４１０を見ることができる。従って、ある実施形態では、オーダパネル４２０は、商品イメージ４１０と一緒にスクロールするフォーマットにすることが可能になっている。しかし、別の実施形態では、オーダパネル４２０は別のウィンドウに置かれているため、ブラウザページをスクロールして商品イメージ４１０の隠れているセクションを見えるとき、オーダパネル４２０は移動しないで、表示されたままになっている。さらに別の実施形態では、オーダパネル４２０はバックグラウンドに移す  ことも、以下で詳しく説明するように、コンシューマがオーダパネル４２０の背後に置かれている情報を見ることができるように浮動 (float) する構成にすることも可能である。
【００５４】
ある実施形態では、オーダパネル４２０は、ショッピングセッション期間中クライアントワークステーションに残されている。従って、新しいカタログページが準備され、ｅセッションコントローラ１２８から戻されたとき、カレントオーダパネル４２０は、ローカルセッションコントローラ２２８によってクライアントワークステーション側でその新カタログページに組み込まれる。従って、サーバ１２０は、オーダパネル４２０に追加されたアイテムのリストを更新する必要もなければ、クライアントにストリーミングされた新Webページにそのデータを組み込む必要もない。
【００５５】
図４を参照して説明すると、オーダパネル４２０は、代表的な実施形態では、名前、価格および数量フィールドを含んでいる。名前フィールドには、選択された商品アイテム（つまり、部品）の名前が表示される。数量フィールドには、購入のために選択されたアイテムの数が表示され、価格フィールドには、選択されたアイテムの販売価格が表示される。関連技術分野の精通者ならば理解されるように、オーダパネル４２０には他のフィールドを含めることも可能であり、そのために本発明の範囲が変更されるものではない。そのようなフィールドとしては、SKU、カラー、サイズ、メーカ、モデルなどがある。
【００５６】
ある実施形態では、オーダパネルジェネレータ２４０は税金/出荷コードを受け取り、合計価格を計算する。ある実施形態では、すべての計算はコンシューマのトランザクションをセキュア（安全）にするためクライアントワークステーション側でローカルに行われる。別の実施形態では、これらの計算は、エレクトロニックショッピングサーバ１２０側で行われ、暗号化されてから、ローカルセッションコントローラ２２８に送られる。再び図４を参照して説明すると、オーダパネル４２０には価格ウィンドウ４２２があり、オーダパネル４２０にリストされている全アイテムの現在の総計が表示されるようになっている。図５に示す別の実施形態では、エレクトロニックショッピングページの例がGUI５００として示されている。同図に示すように、GUI５００には、別の実施形態による価格ウィンドウ４２２が含まれている。図５に示すように、価格ウィンドウ４２２には、適用される税金、出荷取り扱い費用を税金/出荷コードからタリー (tally：計算、集計) するためのフィールドがある。
【００５７】
さらに、図５に示すように、オーダパネル４２０にはステータスウィンドウ５２０を含めることも可能である。ある実施形態では、コンシューマがポインタを動かして商品イメージ４１０に表示されている部品１−４２の上に置くと、ステータスウィンドウ５２０にその部品１−４２の説明が表示されるようになっている。この説明には、部品１−４２の名前を含めることが可能であるが、部品価格も一緒に表示するかどうかは任意である。図４を参照して説明したように、ポインタを動かして部品１−４２の上に置いたとき、説明タブ４３６がアクチベートされていれば、部品１−４２に関する類似情報が記述データパネル４３０に表示されることができる。
【００５８】
記述情報を表示するほかに、商品イメージ４１０に表示されている各部品１−４２は、ポインタを動かして部品の上に置いたとき、カラー（色合い、彩度、輝度、明るさまたはこれらの任意の組み合わせを含む）が変わることも可能である。カラーはイメージキーによって判断される。ある実施形態では、イメージのタイプは、異なるカラーを使用して判断することができる。例えば、部品１−４２が、例えば、ブルーに変わったとき、部品１−４２を上位アセンブリイメージにすることができる。従って、部品１−４２をアクチベートすると、サブアセンブリイメージがロードされることになる。同様に、部品１−４２が、例えば、レッドに変わったとき、部品１−４２はアトミックであるので、サブアセンブリイメージがないことになる。他方、ポインタを動かして部品１−４２の上に置いたとき、部品１−４２がカラーを変えなければ、その部品１−４２は、この実施形態では、在庫がないため販売されないことになる。
【００５９】
別の実施形態では、製品に関する詳細情報があるかどうかをコンシューマに知らせるためにもカラーが使用されている。例えば、製品に割引、関連製品、代替パッケージング、サイズ、カラーなどがあるかどうか、最低限の発注条件、カストマまたは消費者活動団体からのコメントなどをカラーで知らせることができる。
【００６０】
オーダパネル４２０には、オプションとして組み入れることができる、いくつかのボタンまたはリンクも含まれている。関連技術分野の精通者ならば理解されるように、ボタンは、GUIの一部として現れる電気的押しボタンを表すことを目的としたアイコンになっている。一般的に、入力デバイス（例えば、マウス）を使用してポインタをグラフィカルボタンの上に置き、そのボタンをクリックすると、なんらかのソフトウェアアクションが始動されるようになっている。再び図４を参照して説明すると、オーダパネル４２０には、ヘルプ (help) ボタン４２４、サーチ (search) ボタン４２６およびオーダ発注 (order placement) ボタン４２８がある。ヘルプボタン４２４は、例えば、イメージキーで指定されたWebページが置かれている、新しいウィンドウをオープンする。ヘルプボタン４２４を使用すると、コンシューマはエレクトロニックショッピングセッションの特定機能に関するオンライン情報をリアルタイムで得ることができる。サーバ１２０は、全般的ヘルプ要求だけでなく、コンテキストセンシティブ（context sensitive: 文脈に依存した）ヘルプ要求もサポートしている。例えば、ヘルプ要求を受けると、サーバ１２０は、エレクトロニックショッピングセッションに関係するすべてのキーワードまたはトピックス（項目、見出し）のインデックス（索引）を、それぞれのコンシューマに送信することができる。別の方法として、サーバ１２０はインデックスをフィルタに通し、カレントエレクトロニックショッピングセッションのコンテキスト（文脈）に関係する情報だけを送信することもできる。ある実施形態では、ヘルプファイル全体またはヘルプファイルの一部は、初期化パケットと一緒にクライアントワークステーションに送付される。この実施形態では、ヘルプクエリーはすべてローカルで処理される。
【００６１】
サーチボタン４２６も、イメージキーで指定されたページをロードする。このページは、特定の商品アイテムをサーチする要求をカタログセレクタ１３６に送信するオプションをコンシューマが選択できるようになっている。ある実施形態では、ショッピングセッションは、サーチが行われている間一時的に中止される。サーチが完了すると、ショッピングセッションは再開される。別の実施形態では、ショッピングセッションはｅセッションコントローラ１２８によって中止されるが、セッションデータのすべては、コンシューマデータベースにストアされているコンシューマのプロファイルにログ（経過記録）される。この実施形態では、サーチが完了すると、ｅセッションコントローラ１２８は、最後に訪問されたページをロードすることによってショッピングセッションを再初期化し、オーダパネルにアイテムが入っていれば、それも一緒にロードされる。しかし、オーダ発注ボタン４２８はオプションではないので、オーダパネル４２０のコンテンツはオーダパネルキーで指定されたロケーションに送られる。
【００６２】
図５を参照して説明すると、オーダパネル４２０は、別の実施形態では、バック (back：後退) ボタン５２２（オーダパネルのあるセクションが商品イメージ４１０で隠されていることを示すためにファントムラインで示されている）、リドロー (redraw：再描画) ボタン５２４およびカートフロート (cart float) ボタン５２６を含んでいる。バックボタン５２２は、商品イメージ４１０の中でカレントアイテムの前に表示されていたアイテムにイメージマップを変更する。バックボタン５２２はアクチベートされるたびに、最初に表示されるアイテムに到達するまでディスプレイヒストリを戻し続ける。リドローボタン５２４は、オーダパネル４２０に追加されたすべてのアイテムを除去するために使用できる。カートフロートボタン５２６は、ポインタがなにかをドラッグアウトすることなく、オーダパネル４２０の境界上に動かされたとき、GUI５００上の２位置の間でオーダパネル４２０をトグル（二重化）し、それを移動する。カートフロートボタン５２６がアクチベートされないときは、オーダパネル４２０は静止したままになっている。
【００６３】
図２に戻って説明すると、クライアントエレクトロニックセッションシステム２００には、オーダイニシエータ２４４も含まれている。オーダイニシエータ２４４は、コンシューマのオーダパネル４２０を複写したものをエレクトロニックショッピングサーバ１２０側に生成するようにオーダプロセッサ１４０（図１に図示）に通知する。セッション番号はサーバ側オーダパネル側に通知され、オーダパネル４２０と突き合わされる。ある実施形態では、オーダパネルジェネレータ２４０がオーダパネルをクライアントディスプレイ上に作成すると、オーダイニシエータ２４４は、オーダパネル４２０の複製をサーバ１２０側に作成し、それをオーダパネルキーで指定されたロケーションに置く  要求を送信する。ある実施形態では、オーダプロセッサ１４０は各コンシューマのオーダパネル４２０を、ユニークなソケットを通して各クライアントワークステーションから行われるデータ入力を管理するマルチスレッドJavaアプリケーションの一部として保存している。別の実施形態では、オーダパネル１４０は、各コンシューマのオーダパネル４２０を、オーダデータバンク１５６内でJavaアプリケーションのスレッドとして管理している。
【００６４】
図２に示すように、クライアントエレクトロニックセッションシステム２００は、アイテムアダー（アイテム加算プログラム）２４８も含んでいる。アイテムアダー２４８はAPI入力デバイス、記述データジェネレータ２３６およびオーダパネルキーとやりとりし、アイテムをオーダパネル４２０とサーバ側オーダパネルに追加する。同様に、アイテムリムーバ２５２は入力デバイス、記述データジェネレータ２３６およびオーダパネルキーとやりとりし、オーダパネル２５６とサーバ側オーダパネルからアイテムを除去する。上述したように、商品イメージ４１０（図４に図示）は、別のイメージ、イメージマップ、Webページ、Webサイトへの１つまたは２つ以上のリンクまたはアンカを収めているイメージマップである。図４において、各部品１−４２はリンクになることができる。このリンクをアクチベートすると、各部品１−４２に関する詳細情報を要求できるだけでなく、それぞれの部品１−４２をオーダパネル４２０に送ることもできる。ある実施形態では、コンシューマが部品１−４２をダブルクリックすると、それがオーダパネル４２０に送られるようになっている。別の実施形態では、コンシューマは入力デバイス（例えば、マウスなど）を使用して、部品４２０をオーダパネル４２０にドラッグアンドドロップするようになっている。この実施形態では、コンシューマは、例えば、マウスを使用して部品１−４２をクリックし、マウスボタンを押さえたままにして、部品１−４２をドラッグしてオーダパネル４２０に移すことになる。部品１−４２を表すイメージは、マウスポインタと一緒にドラッグされてオーダパネル４２０に移されるものとして示されている。コンシューマは、複数の部品１−４２を選択して、それらを同時にオーダパネル４２０にドラッグアンドドロップするために入力デバイスを使用することも可能である。関連技術分野の精通者ならば理解されるように、部品１−４２で表されたリンクをアクチベートするために、他の方法を使用することも可能である。そのような方法として、左クリック、プルダウンメニュー、タッチスクリーンシグナル、音声コマンド、などがあるが、これらに限定されるものではなく、またそのために本発明の範囲が変更されるものではない。
【００６５】
上述したように、ある部品１−４２がオーダパネル４２０に入れられると、選択された部品１−４２の名前、価格および数量がオーダパネル４２０に表示される。ある実施形態では、記述データジェネレータ２３６は、対応する商品データが入っているローカルファイルを読み取ることによってデータを与えるようになっている。従って、ローカルセッションコントローラ２２８はオーダパネル４２０のコンテンツを変更するためにサーバ１２０にクエリーする必要がない。しかし、別の実施形態では、オーダパネルキーを使用すると、ローカルセッションコントローラ２２８がサーバ１２０側の該当ロケーションからデータを取り出すようになっている。この実施形態よると、オーダパネル４２０は最新の価格情報を受け取ることができる。
【００６６】
コンシューマは、数量フィールド（項目、欄）をクリックし、例えば、キーボードから必要な値を示すことでオーダパネル４２０の数量値を変更することができる。別の方法として、コンシューマは、選択した部品１−４２を何度もドラッグアンドドロップしてオーダパネル４２０に移すことで、数量を増加することもできる。さらに、部品１−４２を追加するための、上述した同じ方法を使用して、数量を増加することもできる（つまり、ダブルクリック、左クリック、プルダウンメニュー、タッチスクリーンシグナル、音声コマンドなど）。
【００６７】
部品１−４２の数量をオーダパネル４２０から除去または減少するには、コンシューマは同じ方法（つまり、ダブルクリック、左クリック、プルダウンメニュー、タッチスクリーンシグナル、音声コマンドなど）を使用することができる。追加または除去トランザクションをサーバ側オーダパネルに通知したあと（アクチベーション方法に関係なく）、オーダプロセッサ１４０は、アイテムアダー２４８かアイテムリムーバ２５２のどちらか該当するほうに確認シグナルを送り、トランザクションが完了したことを通知する。
【００６８】
オーダエグゼクタ２５６は、コンシューマがオーダ発注ボタン４２８をアクチベートすると、オーダを発注する。ある実施形態では、オーダエグゼクタ２５６は、同期上の問題をサーチしてコンシューマのオーダを認証してから、オーダを発注するようになっている。この実施形態では、オーダエグゼクタ２５６は、サーバ１２０によって完了したとの確認を得ていない追加または除去要求があるかどうかを知るために、アイテムアダー２４８とアイテムリムーバ２５２にクエリーすることができる。別の方法として、アイテムアダー２４８とアイテムリムーバ２５２は、追加または削除要求が所定の時間フレーム以内に確認されなかったとき、そのことをオーダエグゼクタ２５６に自動的に警告するようにプログラムすることも可能である。さらに、オーダエグゼクタ２５６は、アイテムアダー２４８またはアイテムリムーバ２５２へのリターンが予想されている場合でも、同期上の問題をサーチするようにプログラムすることができる。この実施形態では、同期プロセスを実行するために、オーダエグゼクタ２５６はオーダパネル４２０を複写したものを、オーダパネルキーで指定されたサーバ１２０側のロケーションに送付する。この場合、オーダプロセッサ１４０（図１に図示）は、オーダエグゼクタ２５６から送られてきたコピーを、サーバ１２０側にすでに置かれているサーバ側オーダパネルと比較することになる。両方のオーダパネルのコンテンツが相互に一致していていれば、オーダプロセッサ１４０は、オーダパネル４２０が認証されたことをオーダエグゼクタ２５６に通知する。一致していなければ、オーダプロセッサ１４０は、エラーが発生したことをオーダエグゼクタ２５６に通知する。この場合、オーダエグゼクタ２５６は、必要ならば、オーダパネル４２０に規定されている通りにオーダを確認または修正するようにコンシューマに督促するようにプログラムすることができる。別の方法として、オーダパネルが相互に矛盾しているとき、オーダプロセッサ１４０はサーバ側オーダパネルを無視し、コンシューマからの確認の有無に関係なく、オーダエグゼクタ２５６から送られてきたコピーだけを使用するようにプログラムすることもできる。いずれの場合も、オーダプロセッサ１４０は、オーダを該当ベンダ（売り主）に転送することによって最終的にオーダを発注することになる。
【００６９】
前述したように、ある実施形態では、エレクトロニックセッションシステム２００は、コンシューマによって選択されたアイテムの複製リスト（オーダパネル４２０に表示）を作成し、その複製リストをオーダパネル４２０に表示されているリストと同期させる設計になっている。ある実施形態では、複製リストは、上述したようにサーバ１２０側に置かれている。しかし、別の実施形態では、複製リストはコンシューマのクライアントワークステーションの常駐メモリにストアすることが可能になっている。この実施形態では、初期化パケットには、２つのショッピングリストをクライアントワークステーション側で作成し、更新し、同期させる命令が含まれることになる。従って、アイテムアダー２４８、アイテムリムーバ２５２およびオーダエグゼクタ２５６も、同じように、オーダプロセッサ１４０に代わって複製ショッピングリストとコミュニケーションをやりとりするように指示されることになる。
【００７０】
別の実施形態では、エレクトロニックセッションシステム２００は、ショッピングリストの冗長性と同期機能を除外する構成にすることが可能になっている。この実施形態では、オーダパネル４２０を複製したものは生成されないので、サーバ１２０側にも、コンシューマのクライアントワークステーション側にも置かれていない。従って、この代替実施形態では、エレクトロニックセッションシステム２００にはオーダイニシエータ２４４が含まれないことになる。コンシューマが入力デバイス（例えば、マウス）を操作してオーダパネル４２０のコンテンツを変更すると、アイテムアダー２４８とアイテムリムーバ２５２は、前述したように、オーダパネル４２０にアイテムを追加または除去し、価格と数量を調整するように動作する。オーダ発注ボタン４２８をアクチベートすると、オーダエグゼクタ２５６はオーダパネル４２０のコンテンツをオーダプロセッサ１４０に送り、ベンダ（売り主）に発注されることになる。別の方法として、オーダエグゼクタ２５６はオーダをベンダ（売り主）に直接に送ることも可能である。従って、エレクトロニックオーダは、エレクトロニックショッピングサーバ１２０にクエリーしなくても、クライアントワークステーション側で行うことができる。ある実施形態では、オーダエグゼクタ２５６は、オーダがオーダプロセッサ１４０に送られる前にコンシューマにオーダの確認を督促するダイアログボックスを生成することができる。
【００７１】
上述したように、また図２に示すように、エレクトロニックセッションシステム２００には、ある実施形態では、クライアントワークステーションに送られるJavaアプリケーションなどが置かれている。この実施形態では、エレクトロニックショッピングサーバ１２０はシステム２００のコンポーネントをすべてクライアントワークステーションに送付する。しかし、別の実施形態（図示せず）では、クライアントワークステーションに送付されるのはローカルセッションコントローラ２２８だけにし、システム２００の残りのコンポーネント、つまり、イメージジェネレータ２３２、記述データジェネレータ２３６、オーダパネルジェネレータ２４０、オーダイニシエータ２４４、アイテムダアダー２４８、アイテムリムーバ２５２およびオーダエグゼクタ２５６は、エレクトロニックショッピングサーバ１２０に置いておくことが可能になっている。この代替実施形態では、ｅセッションコントローラ１２８は、セッションパラメータ（つまり、セッション番号、ローカルコード、税金/出荷コード、イメージキーおよびオーダパネルキー）をサーバ１２０内のロケーション（図示せず）に送付し、コンシューマセッションが行われるつど、システム２００の常駐コンポーネントを作成することになる。GUI４００またはGUI５００のフォーマットとコンテンツを生成し、管理するための命令は、コンピュータネットワーク１１０を利用してリアルタイムでローカルセッションコントローラ２２８に送られることになる。そのために、この実施形態では、ローカルセッションコントローラ２２８は、サーバ１２０からのコマンドを実行するスチュワードの働きをする。
【００７２】
上述してきたシステム１００と２００の種々実施形態は、本発明を実現する例として示されたものである。関連技術分野の精通者ならば理解されるように、システム２００は別の配置および構成で実現することも可能であり、そのために本発明の範囲が変更されるものではない。言い換えれば、例えば、ローカルセッションコントローラ２２８、イメージジェネレータ２３２および記述データジェネレータ２３６はクライアントワークステーション側に置いておくことができ、システム２００の残りのコンポーネント（つまり、オーダパネルジェネレータ２４０、オーダイニシエータ２４４、アイテムアダー２４８、アイテムリムーバ２５２およびオーダエグゼクタ２５６）はサーバ１２０側に残しておくことができ、サーバ・クライアント間コンポーネントは類似構成と組み合わせにすることができる。
【００７３】
別の実施形態では、クライアントセッションシステム２００は、コンピュータ使用可能記憶媒体にストアされたソフトウェアアプリケーションにすることができる。例えば、ローカルセッションコントローラ２２８、イメージジェネレータ２３２、記述データジェネレータ２３６、オーダパネルジェネレータ２４０、オーダイニシエータ２４４、アイテムアダー２４８、アイテムリムーバ２５２およびオーダエグゼクタ２５６は、クライアントワークステーションにロードされるCD-ROMに格納されたソフトウェアコンポーネントにすることができる。この実施形態では、ローカルセッションコントローラ２２８が起動されると、システム２００に置かれているファイルとプログラムを更新する要求がコンピュータネットワーク１１０上に送信される。この要求を受けて、システム２００は上述したようにショッピングセッションをロードし、管理する。ただし、イメージとサポートデータだけは、コンピュータネットワーク１１０上を転送されるのではなく、すべてがローカルファイルから読み取られる。ある実施形態では、複製オーダパネルはサーバ１２０またはコンシューマのクライアントワークステーションに置かれ、同期をサポートしている。しかし、別の実施形態では、オーダパネルの複製も、同期も行われないようになっている。
【００７４】
III.ソフトウェアとハードウェアの実施形態
本発明（例えば、エレクトロニックショッピングシステム１００、クライアントエレクトロニックセッションシステム２００、エレクトロニックショッピングサーバ１２０、セッションリポジトリ１４４、コンシューマデータベース１４８、カタログリポジトリ１５２、オーダデータバンク１５６、ローカルセッションコントローラ２２８、またはこれらの任意の部分）は、ハードウェア、ソフトウェアまたはこれらの組み合わせを使用して実現することが可能であり、１つまたは２つ以上のコンピュータシステムまたは他の処理システムに実装させることが可能である。実際には、本発明は本明細書に説明されている機能を実行する能力をもつ１つまたは２つ以上のコンピュータシステムを目的としている。
【００７５】
図３を参照して説明すると、図には、本発明を実装するのに有用であるコンピュータシステム３００の例が示されている。このコンピュータシステム３００は、プロセッサ３０４のような、１つまたは２つ以上のプロセッサを含んでいる。プロセッサ３０４はコミュニケーションインフラストラクチャ（例えば、コミュニケーションバス、クロスオーババー、またはネットワーク）に接続されている。以下では、このコンピュータシステム例を中心にして、種々のソフトウェア実施形態について説明する。以下の記載を読めば、関連技術分野の精通者ならば理解されるように、以下では、本発明が他のコンピュータシステムおよび/またはコンピュータアーキテクチャを使用してどのように実現されるかも説明されている。
【００７６】
コンピュータシステム３００は、グラフィックス、テキスト、およびその他のデータをコミュニケーションインフラストラクチャ３０６から（あるいは図示していないフレームバッファから）転送して、ディスプレイユニット３００から表示するためのディスプレイインタフェース３０２を装備することもできる。
【００７７】
コンピュータシステム３００はメインメモリ３０８、好ましくはランダムアクセスメモリ (random access memory  RAM) も装備しているが、二次メモリ３１０を装備させることも可能である。二次メモリ３１０としては、例えば、ハードディスクドライブ３１２および/またはフロッピディスクドライブで代表される取り外し可能ストレージ（記憶）ドライブ、磁気テープドライブ、光ディスクドライブなどがある。取り外し可能ストレージドライブ３１４は周知のように、取り外し可能ストレージユニット３１８との間で読み書きを行う。取り外し可能ストレージユニットで代表されるものとして、フロッピディスク、磁気テープ、光ディスクなどがあり、これらは取り外し可能ストレージドライブ３１４との間で読み書きされる。当然に理解されるように、取り外し可能ストレージユニット３１８はコンピュータ使用可能記憶媒体を含み、そこにコンピュータソフトウェアおよび/またはデータが格納されている。
【００７８】
代替実施形態では、二次メモリ３１０として、コンピュータプログラムや他の命令をコンピュータシステム３００にロードすることを可能にする他の類似手段を使用することも可能である。そのような手段としては、例えば、取り外し可能ストレージユニット３２２とインタフェース３２０がある。そのようなものの例としては、プログラムカートリッジとカートリッジインタフェース（ビデオゲーム機に見られるようなもの）、取り外し可能チップメモリ（EPROMやPROMなど）と関連ソケット、さらには、ソフトウェアとデータを取り外し可能ストレージユニット３２２からコンピュータシステム３００に転送できる  、その他の取り外し可能ストレージユニット３２２とインタフェース３２０などがある。
【００７９】
コンピュータシステム３００はコミュニケーションインタフェース３２４を装備することも可能である。コミュニケーションインタフェース３２４は、ソフトウェアとデータをコンピュータシステム３００と外部デバイスの間で転送することを可能にする。コミュニケーションインタフェース３２４の例としては、モデム、ネットワークインタフェース（Ethernetカードなど）、コミュニケーションポート、PCMCIAスロットとカード（PCカード）などがある。コミュニケーションインタフェース３２４を経て転送されるソフトウェアとデータはシグナル（信号）３２８の形体になっており、コミュニケーションインタフェース３２４によって受信できる電子信号、電磁信号、光信号、その他の信号にすることが可能である。これらの信号３２８は、通信路（つまり、チャネル）を経由してコミュニケーションインタフェース３２４に与えられる。このチャネル３２６は信号を伝搬し、ワイヤやケーブル、光ファイバ、電話回線、セルラ電話リンク、RFリンク、その他の通信チャネルで実現することができる。
【００８０】
本明細書では、「コンピュータプログラム媒体(computer program medium)」および「コンピュータ使用可能媒体(computer usable medium)」という用語が用いられているが、これらは、広い意味で、取り外し可能ストレージドライブ３１４、ハードディスクドライブ３１２に設置されたハードディスク、およびシグナル３２８などのメディアを指している。これらのコンピュータプログラムプロダクトは、ソフトウェアをコンピュータシステム３００にロードするときの手段となるものである。本発明は、そのようなコンピュータプログラムプロダクトを目的としている。
【００８１】
コンピュータプログラム（コンピュータ制御ロジックとも呼ばれる）は、メインメモリ３０８および/または二次メモリ３１０に格納されている。コンピュータプログラムはコンピュータインタフェース３２４経由で受け取ることも可能である。このようなコンピュータプログラムは、実行されると、以下で説明するように、コンピュータシステム３００に本発明の機能を実行させる働きをする。具体的には、コンピュータプログラムは、実行されると、プロセッサ３０４に本発明の機能を実行させる働きをする。従って、この種のコンピュータプログラムはコンピュータシステム３００のコントローラの働きをしている。
【００８２】
本発明がソフトウェアを使用して実現されている実施形態では、ソフトウェアはコンピュータプログラムプロダクトに格納しておき、取り外し可能ストレージドライブ３１４、ハードドライブ３１２またはコミュニケーションインタフェース３２４を使用してコンピュータシステム３００にロードすることが可能になっている。制御ロジック（ソフトウェア）は、プロセッサ３０４によって実行されると、以下で説明するように、プロセッサ３０４に本発明の機能を実行させる働きをする。
【００８３】
別の実施形態では、本発明は、例えば、特定用途向け集積回路 (application specific integrated circuit  ASIC) などのハードウェアコンポーネントを使用して、主にハードウェアで実現されている。以下に説明する機能を実行するようにハードウェアステートマシン（ハードウエア状態機械）で実現することは、関連技術分野の精通者には自明のことである。
【００８４】
さらに別の実施形態では、本発明はハードウェアとソフトウェアの組み合わせを使用して実現されている。
【００８５】
IV.エレクトロニックショッピングセッションの例
図６を参照して説明すると、フローチャート６００は、本発明のある実施形態が動作するときのフロー全体を示している。もっと具体的に説明すると、フローチャート６００は、コンピュータネットワーク１１０を利用して商品のオーダを生成し、発注するときのコントロールフロー（制御の流れ）の例を示している。
【００８６】
図６に示すように、フローチャート６００のコントロールフローは６０１からスタートし、即時にステップ６０６に移っている。ステップ６０６で、コンシューマは、クライアントワークステーションを使用して、Webサイトを訪問するか、あるいはクライアントワークステーションを起動してエレクトロニックショッピングセッションを開始する。その結果として、常駐ローカルセッションコントローラ２２８は、ゲット（get：取得）またはポスト（post：掲示）要求を収めているデータパケットをエレクトロニックショッピングサーバ１２０に送信する。上述したように、ローカルセッションコントローラ２２８は、Webサイトのホームページをオープンするためにクライアントワークステーションに送られるアプリケーション（例えば、Javaアプリケーションなど）の一部にすることも、Webページからアクチベートされるハイパリンクに応答して送信することも、例えば、ディスクドライブなどからクライアントワークステーションにロードされるコンピュータプログラムの一部にすることも可能である。
【００８７】
ステップ６０９で、ルートコントローラ１２４はデータパケット要求を受け取り、ヘッダフレームを読んでそのデータパケットがｅセッションコントローラ１２８宛てであることを検出する。ｅセッションコントローラ１２８はエレクトロニックショッピングセッションを開始し、管理することを受け持っている。ある実施形態では、データパケットをｅセッションコントローラ１２８に送信する前に、ルートコントローラ１２４はプロファイルジェネレータ１３２とのアクティビティを調整して、要求側コンシューマのIDを判断または認証する。エレクトロニックショッピングサーバ１２０は、コンシューマのIDを判断するために受動型（パッシブ）と能動型（アクティブ）登録手法をサポートする構成にすることができる。例えば、ある実施形態では、プロファイルジェネレータ１３２はJavaアプレットなどを、コンシューマのクライアントワークステーションに送って、コンシューマにユーザ名とパスワードを要求できるようになっている（それがコンシューマの最初のショッピングセッションであれば、ユーザ名/パスワードを作成できるようになっている）。別の実施形態では、プロファイルジェネレータ１３２は、コンシューマのクライアントワークステーション側に置かれているクッキー (cookie) またはデータパケット要求のヘッダフレームに入っているIPアドレスを読むことによって、コンシューマのIDを判断できるようになっている。プロファイルジェネレータ１３２はコンシューマのIDを判断したあと、プロファイルジェネレータ１３２は、コンシューマ、サーチエンジン、データベース、プロファイリングエンジン、などのいずれかにクエリーすることによってコンシューマプロファイルを設定する。
【００８８】
プロファイルジェネレータ１３２がコンシューマプロファイルを設定すると、ｅセッションコントローラ１２８は、コンシューマのクライアントワークステーション側でショッピングセッションを開始する命令を収めている初期化パケットを作成する。ステップ６１２で、ｅセッションコントローラ１２８は初期化パケットをローカルセッションコントローラ２２８に送信する。コンシューマのプロファイルに基づいて、初期化パケットは、コンシューマのクライアントワークステーションと互換性のあるフォーマットにされる。ある実施形態では、初期化パケットには、コンシューマによるサーバ１２０への訪問を追跡するために使用されるセッション番号、コンシューマの税金、出荷取り扱い費用を判断するために使用される税金/出荷コード、エレクトロニックカタログからのどのページがコンシューマに送られるかを判断するために使用されるイメージキー、およびエレクトロニックカタログに販売促進されている商品を購入するために使用されるオーダパネルキーが含まれている。ある実施形態では、ｅセッションコントローラ１２８は初期化データパケットを圧縮、暗号化してから、そのデータパケットをローカルセッションコントローラ２２８に送るようにしている。
【００８９】
ステップ６１５で、ローカルセッションコントローラ２２８は、初期化データパケットを受信し、伸張し、そこから命令を読み取る。その結果として、ブラウザアプリケーションは、エレクトロニックショッピングカタログからのページのイメージをGUI上に表示する。ある実施形態では、カタログページには、販売促進されている製品のイメージマップと、部品を注文するために使用できるショッピングバスケットが含まれている。図４に戻って説明すると、ある実施形態によるカタログページがGUI４００として示されている。上述したように、GUI４００の初期コンテンツはイメージとオーダパネルキーによって判断される。ある実施形態では、サーバ１２０から送付されるファイルは、新しいラインに対してWindows（登録商標）のコードを使用してCSV ASCIIフォーマットで格納されている。例えば、最初のラインには、カラムヘッダ情報が入っている。"またはカンマが入っているセルは引用符で囲まれている。引用符は引用符を二重にすることでセルコンテンツに入れることができる。例えば、値 "は、""""でセル内に表されている。値 5"は、"5"""でセル内に表されている。"""を収めているセルはエラーであるので、行全体が無視される。すべての行にはヘッダで指定されたすべてのカラムがあり、さもなければ、行は無視される。ヘッダセルに引用符またはカンマを使用することは許されない。従って、この実施形態では、イメージマップのCSVファイルを収めているデータパケットには、各部品１−４２の部品名、ポインタを動かしてその上に来たとき部品１−４２のカラーを判断するためのカラーコード、オーダを発注するとき部品１−４２を特定するために使用されるSKU、部品展開図面のイメージマップ内のURLフィールドと突き合わせるために使用されるローカル座標、各部品１−４２の価格、および該当する場合には、サブアセンブリイメージマップがサーバ１２０側またはクライアントワークステーション側に置かれているロケーションを指定しているサブアセンブリイメージキー、などを含めることができる。
【００９０】
ステップ６１８で、コンシューマは、マウスまたは類似の入力デバイスを使用してポインタを動かし、個々の部品１−４２の上に置くことができる。ポインタが部品１−４２の上を通過するとき、いくつかのタイプの情報をコンシューマに表示することができる。例えば、ある実施形態では、部品１−４２は、ポインタを動かしてその上に置いたとき、カラーが変わるようになっている。部品１−４２の１つがブルーに変わったときは、その部品１−４２はサブアセンブリの別の部品展開イメージへのリンクの働きをしている。その部品１−４２をアクチベートまたはクリックすると、ブラウザはサブアセンブリのイメージマップをロードする。部品１−４２の１つがレッドに変わったときは、その部品１−４２にはサブアセンブリイメージがないことを意味する。さらに、ポインタを動かして部品１−４２の上に置くと、部品１−４２に関する記述情報（つまり、製品名および/または価格）は、説明タブ４３６がアクチベートされていれば、記述データパネル４３０に表示され、さもなければ、図５に示すように、ステータスウィンドウ５２０に表示される。
【００９１】
ステップ６２１で、コンシューマは、オーダパネル４２０として表示されているショッピングバスケットにアイテムを入れることによって、１つまたは２つ以上の部品１−４２を注文することを要求することができる。マウスまたは類似の入力デバイスを使用すると、コンシューマは部品１−４２をクリックし、マウスボタンを押したままその部品１−４２をオーダパネル４２０までドラッグすることによって部品を選択することができる。エレクトロニックセッションシステム２００はダブルクリックや類似の方法で、部品１−４２を選択し、それをオーダパネル４２０に送ることもサポートしている。部品１−４２がオーダパネル４２０に送られると、順序付けリスト (ordered list) が作成され、そこには、例えば、部品１−４２の名前、SKU、数量、販売価格などの情報が示されている。ある実施形態では、アイテムアダー２４８は、記述データジェネレータ２３６にクエリーして、常駐商品データファイルからこの情報を取り出すようにしている。しかし、別の実施形態では、アイテムアダー２４８は、オーダパネルキーで指定されたサーバ１２０側の該当ロケーションからこの情報を取り出している。この実施形態では、価格がコンシューマのクライアントワークステーションに戻されるたびに、以前に戻された価格が異なっている場合でも、同じSKUをもつすべての部品１−４２にその価格が適用される。ある実施形態では、オーダパネル４２０は、初期化データパケットに入っているオーダパネルキーから税金、出荷取り扱い費用も計算する。
【００９２】
図２に戻って説明すると、ある実施形態では、オーダイニシエータ２４４に用意されているJavaなどのアプリケーションは、上述したように、オーダパネル４２０の複製をエレクトロニックショッピングサーバ１２０側またはコンシューマのクライアントワークステーション側に作成する。部品１−４２がオーダパネル４２０に追加されるか、あるいはそこから除去されるたびに、アイテムアダー２４８またはアイテムリムーバ２５２はデータパケットをサーバ１２０に送信し、サーバ側ショッピングバスケットまたはクライアントバックアップショッピングバスケットを更新する。
【００９３】
ステップ６２４で、コンシューマは、オーダ発注ボタン４２８をアクチベートすることによってオーダを発注する。ある実施形態では、オーダエグゼクタ２５６は、オーダパネル４２０と、サーバ側ショッピングバスケットのコンテンツとの同期をとっている。不一致が見つかると、オーダエグゼクタ２５６は、オーダを訂正し、確認するオプションをコンシューマに与える。不一致が見つからなければ、オーダは発注され、確認メッセージがコンシューマに送信される。この時点で、エレクトロニックショッピングセッションは終了し、コントロールフローはステップ６９５に示すように終了する。
【００９４】
V.サイバトレッキングショッピングセッション
図７は、エレクトロニックショッピングサーバ１２０によって生成されたショッピングバスケット（例えば、オーダパネル４２０）の利用を続けている間に、コンシューマが他のWebサイトを訪問することを可能にする、本発明によるシステムと方法（システム７００で示されている）の別の実施形態を示す図である。ショッピングバスケットは、コンシューマが他のWebサイトを訪問すると、コンシューマと一緒に移動するように見える。従って、コンシューマは、複数の異なるWebサイト上で製品をブラウズして購入し、販売促進商品やサービスと一緒に同じディスプレイ上に移動ショッピングバスケット (traveling shopping basket) を置いておくことができる。
【００９５】
移動ショッピングバスケットを作成するには、いくつかの方法が可能である。ある実施形態では、コンシューマはエレクトロニックショッピングサーバ１２０とのショッピングセッションを開始することができる。上述したように、コンシューマのクライアントワークステーションは、例えば、図４に示すようにオーダパネル４２０が入っているGUI４００を作成するために初期化パケットを受け取る。この時点で、コンシューマがWebサイトのURL要求を別のWebサイトから送信していれば、ｅセッションコントローラ１２８（図１に図示）は、エレクトロニックショッピングサーバ１２０とのカレントショッピングセッションが終了することをコンシューマに知らせるためのダイアログボックスを作成するために、Javaアプレットなどを送信することになる。カレントセッションを終了させないことをコンシューマが通知すると、ｅセッションコントローラ１２８はコンシューマのクライアントワークステーションとのコネクション（接続）を存続するので、ショッピングセッションは継続されることになる。
【００９６】
他方、コンシューマがショッピングセッションを終了させないことを通知したときは、ｅセッションコントローラ１２８は、将来のショッピングセッションに備えてオーダパネルをアーカイブ（保管、保存、記録）しておくオプションをコンシューマに与えることになる。従って、エレクトロニックショッピングサーバ１２０とのショッピングセッションをコンシューマが再開始すると、オーダパネル４２０のコンテンツが利用可能になる。従って、ある実施形態では、コンテンツは、エレクトロニックショッピングサーバ１２０と連絡しているオーダデータバンク１５６やコンシューマデータベース１４８、あるいは類似のストレージ媒体やユニットに格納されている。別の実施形態では、コンテンツはクライアント側の類似ストレージ媒体やユニットに格納されている。この実施形態では、将来のショッピングセッションに備えてオーダパネル４２０をアーカイブしておくことを、ローカルセッションコントローラ２２８が督促するようになっている。
【００９７】
オーダパネル４２０をアーカイブしておくのとは別に、ある実施形態では、ｅセッションコントローラ１２８は、オーダパネル４２０をコンシューマのブラウザスクリーン上に残しておくオプションを与えるようになっている。この  と、コンシューマはオーダパネル４２０の使用を続けたまま、他のｅコマースWebサイトをブラウズすることができる。この実施形態では、コンシューマは、独立サーバ７２０とのブラウジングセッションを開始し、その独立サーバ７２０がホストするWebサイト上で商品のショッピングを続けることになる。なお、この独立サーバ７２０は、エレクトロニックショッピングサーバを所有または運用している同じマーチャントに所有または運用させることも、サードパーティソースに所有または運用させることも可能である。
【００９８】
図７に戻って説明すると、独立サーバ７２０はエレクトロニックショッピングサーバ１２０と同等のコンポーネントを備え、コンシューマがコンピュータネットワーク１１０上で商品を購入することを可能にしている。具体的には、独立サーバ７２０は、カタログセレクタ１３６と同じ働きをするカタログセレクタ７３６を備えている。従って、カタログセレクタ７３６はイメージまたはサポートデータをGUI４００に渡し、コンシューマが種々の商品やサービスを評価することを可能にしている。コンシューマは、購入したい商品があるときは、入力デバイスを操作して、商品を追加または除去するようにオーダパネル４２０を更新することができる。従って、カタログセレクタ７３６は製品名、価格情報などをオーダパネル４２０に送り、フィールドに入れられる。この実施形態では、独立サーバ７２０は、該当ベンダ（売り主）にオーダを発注するためのIPアドレスを指示する命令も、オーダパネル４２０に渡すようにしている。このIPアドレスは、独立サーバ７２０のアドレスにすることも、販売促進商品の別のベンダ（売り主）または販売業者が運用する別のサーバのアドレスにすることも可能である。
【００９９】
別の実施形態では、コンシューマは、エレクトロニックショッピングサーバ１２０側ではなく、独立サーバ７２０側でショッピングセッションを開始することができる。独立サーバ７２０は、エレクトロニックショッピングサーバ１２０側またはクライアントワークステーション側にストアされている移動ショッピングバスケットを使用するオプションを与えるようにしている。従って、ある実施形態では、独立サーバ７２０からストリーミング（流出）されるWebページには、エレクトロニックショッピングサーバ１２０へのハイパリンクが含まれている。このハイパリンクをアクチベートすると、ルートコントローラ１２４（図１に図示）は、上述したように、コンシューマを認証するようにプロファイルジェネレータ１３２に通知し、ｅセッションコントローラ１２８はオーダパネル４２０を移動ショッピングバスケットとして作成するための初期化命令を出すようにオーダプロセッサ１４０に指示する。別の実施形態では、独立サーバ７２０からのWebページには、クライアントワークステーション側にストアされている移動ショッピングバスケットをロードするようにクライアントブラウザに指示するリンクが含まれている。オーダパネル４２０の働きは上述した通りであるが、独立サーバ７２０は異なり、オーダパネル４２０のコンテンツと一緒に、その結果得たオーダを該当IPアドレスに発注するための指示も渡すようにしている。
【０１００】
クライアントコンポーネントに関連して上述したように、オーダパネル４２０を管理するためのアプリケーションの一部または全部（つまり、オーダイニシエータ２４４、アイテムアダー２４８、アイテムリムーバ２５２、およびオーダエグゼクタ２５６）は、コンシューマのクライアントワークステーション側に置いておくことも、エレクトロニックショッピングサーバ１２０側に置いておくことも可能である。オーダパネルアプリケーションの一部または全部がエレクトロニックショッピングサーバ１２０側に置かれているときは、ある実施形態では、独立サーバ７２０とエレクトロニックショッピングサーバ１２０の両方との同時セッションを維持するためにプロキシ (proxy) アプリケーションが使用されている。再び図７を参照して説明すると、プロキシアプリケーションはオーダプロセッサ１４０（図１に図示）と、コンシューマのディスプレイに置かれているオーダパネル４２０との間のコミュニケーションを仲介する働きをする。
【０１０１】
別の実施形態において、オーダパネルアプリケーションの全部がコンシューマのクライアントワークステーション側に置かれているときは、プロキシアプリケーション７６０がアクチベートされるのは、オーダをオーダプロセッサ１４０に出すときだけである。さらに、システム７００は、重複するオーダパネルをエレクトロニックショッピングサーバ１２０側またはクライアントワークステーション側に生成し、上述したように同期をサポートするように構成することが可能である。しかし、上述したように、ある実施形態では、オーダエグゼクタ２５６は、オーダプロセッサ１４０と通信しなくても、オーダを直接にベンダ（売り主）に出すように指示される。従って、この実施形態では、プロキシアプリケーション７６０は、エレクトロニックショッピングサーバ１２０と通信する必要がなければ、独立サーバ７２０のオプションコンポーネントになっている。図７は単なる例として示したものである。プロキシアプリケーション７６０をJavaアプレットなどとしてコンシューマのクライアントワークステーションに送り、必要に応じて、エレクトロニックショッピングサーバ１２０とのコミュニケーションを仲介させることも可能である。従って、本発明の他の構成および配置は、本発明の範囲に属するものである。
【０１０２】
VI.その他の実施形態
以上、本発明の種々実施形態を説明してきたが、当然に理解されるように、これらの実施形態は単なる例であり、これらに制約されるものではない。関連技術分野の精通者ならば理解されるように、本発明の精神および範囲から逸脱しない限り、細部において種々態様に変更することが可能である。従って、本発明は上述してきた例示実施形態に限定されるものではなく、請求項の記載内容およびその等価技術に従ってのみ解釈されるものである。
【０１０３】
【発明の効果】
以上説明したように、本発明によれば、単純かつ効率的で、コスト効果的な方法でオンライン製品情報をリアルタイムで提供し、商品の電子注文を速やかに出すことができる等の効果が得られる。
【０１０４】
また、本明細書の［課題を解決するための手段］の欄において、本発明の詳細な作用・効果が記載されている。
【図面の簡単な説明】
【図１】本発明によるエレクトロニックショッピングシステムの実施形態を示すハイレベルブロック図である。
【図２】本発明によるクライアント側エレクトロニックセッションシステムの実施形態を示すハイレベルブロック図である。
【図３】本発明を実装するのに好都合なコンピュータシステムの例を示すブロック図である。
【図４】本発明によるバーチャルカタログからエレクトロニックショッピングページとやりとりするためのグラフィカルユーザインタフェースの実施形態を示す図である。
【図５】本発明によるバーチャルカタログからエレクトロニックショッピングページとやりとりするためのグラフィカルユーザインタフェースの、別の実施形態を示す図である。
【図６】本発明の実施形態に従ってコンピュータネットワーク上でオーダを生成し、発注する際に実行されるステップを示すハイレベルオペレーションフロー図である。
【図７】本発明によるエレクトロニックショッピングシステムの別の実施形態を示すハイレベルブロック図である。
【符号の説明】
１００  エレクトロニックショッピングシステム
１１０  コンピュータネットワーク
１２０  エレクトロニックショッピングサーバ
１２４  ルートコントローラ
１２８  ｅセッションコントローラ
１３２  プロファイルジェネレータ
１３６  カタログセレクタ
１４０  オーダプロセッサ
１４４  セッションリポジトリ
１４８  コンシューマデータベース
１５２  カタログリポジトリ
１５６  オーダデータバンク
２００  エレクトロニックセッションシステム（クライアント側）
２２８  ローカルセッションコントローラ
２３２  イメージジェネレータ
２３６  記述データジェネレータ
２４０  オーダパネルジェネレータ
２４４  オーダイニシエータ
２４８  アイテムアダー
２５２  アイテムリムーバ
２５６  オーダエグゼクタ
４００  グラフィカルユーザインタフェース (GUI)
４１０  商品イメージ
４２０  オーダパネル
４２２  価格ウィンドウ
４２４  ヘルプボタン
４２６  サーチボタン
４２８  オーダ発注ボタン
４３２  ノートタブ
４３６  説明タブ
５００  GUI
５２０  ステータスウィンドウ
５２２  バックボタン
５２４  リドローボタン
５２６  カートフロートボタン
【図１】
0004971552.tif 000002
【図２】
0004971552.tif 000003
【図３】
0004971552.tif 000004
【図４】
0004971552.tif 000005
【図５】
0004971552.tif 000006
【図６】
0004971552.tif 000007
【図７】
0004971552.tif 000008