(57)【特許請求の範囲】
【請求項１】
所望のウェブサーバから取得された所望のウェブページについて、該ウェブページのデータ内に含まれる、該ウェブページから切り出して該ウェブページのその他の部分とは独立に処理可能なように記述された独立可能部分を特定するタグ情報を抽出するタグ情報抽出手段と、
このウェブページに含まれる独立可能部分がユーザ指定されたことが、抽出された前記タグ情報に基づいて検出された場合、該ユーザ指定された独立可能部分の内容に対応するページ部品を生成するページ部品生成手段と、
生成された前記ページ部品を記憶するページ部品記憶手段と、
１または複数のウェブサーバから取得された複数のウェブページの各々から生成された複数のページ部品に対応する独立可能部分を含む新たなウェブページを生成するウェブページ生成手段とを備えたことを特徴とするウェブページ部品統合処理装置。
【請求項２】
タグ情報抽出手段と、ページ部品生成手段と、ページ部品記憶手段と、ウェブページ生成手段とを備えたウェブページ部品統合処理装置におけるウェブページ部品統合処理方法であって、
所望のウェブサーバから取得された所望のウェブページについて、該ウェブページのデータ内に含まれる、該ウェブページから切り出して該ウェブページのその他の部分とは独立に処理可能なように記述された独立可能部分を特定するタグ情報を前記タグ情報抽出手段により抽出するステップと、
このウェブページに含まれる独立可能部分がユーザ指定されたことが、抽出された前記タグ情報に基づいて検出された場合、該ユーザ指定された独立可能部分の内容に対応するページ部品を前記ページ部品生成手段により生成するステップと、
生成された前記ページ部品を前記ページ部品記憶手段に記憶するステップと、
１または複数のウェブサーバから取得された複数のウェブページの各々から生成された複数のページ部品に対応する独立可能部分を含む新たなウェブページを前記ウェブページ生成手段により生成するステップとを有することを特徴とするウェブページ部品統合処理方法。
【請求項３】
前記新たなウェブページのスタイルとして、該新たなウェブページに含ませたいずれの独立可能部分が元々含まれていたウェブページのスタイルを用いるか、または新たに定義されたスタイルを用いるかを、ユーザ選択に基づいて決定することを特徴とする請求項２に記載のウェブページ部品統合処理方法。
【請求項４】
前記独立可能部分に対するユーザ指定を受け付けるにあたって、対象となる前記ウェブページを、抽出された前記タグ情報に基づいて前記独立可能部分がユーザに識別可能なように表示することを特徴とする請求項２に記載のウェブページ部品統合処理方法。
【請求項５】
前記ページ部品は、少なくとも、対応する前記独立可能部分の内容と、該独立可能部分が含まれていたウェブページから全ての独立可能部分を取り除いた残りの部分の内容と、該独立可能部分が該ウェブページにおいて含まれていた位置に関する情報とを含むことを特徴とする請求項２に記載のウェブページ部品統合処理方法。
【請求項６】
前記独立可能部分のデータ内に、該独立可能部分に関連するアプリケーションプログラムに共するデータの所在を示す情報、該データのタイプを示す情報および必要な場合における該データのダウンロードに関する手続を含むアプリデータ属性情報が含まれている場合、該アプリデータ属性情報を前記ページ部品に含めて記憶することを特徴とする請求項２に記載のウェブページ部品統合処理方法。
【請求項７】
タグ情報抽出手段と、ページ部品生成手段と、ページ部品記憶手段と、ウェブページ生成手段とを備えたウェブページ部品統合処理装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体であって、
所望のウェブサーバから取得された所望のウェブページについて、該ウェブページのデータ内に含まれる、該ウェブページから切り出して該ウェブページのその他の部分とは独立に処理可能なように記述された独立可能部分を特定するタグ情報を前記タグ情報抽出手段により抽出するステップと、
このウェブページに含まれる独立可能部分がユーザ指定されたことが、抽出された前記タグ情報に基づいて検出された場合、該ユーザ指定された独立可能部分の内容に対応するページ部品を前記ページ部品生成手段により生成するステップと、
生成された前記ページ部品を前記ページ部品記憶手段に記憶するステップと、
１または複数のウェブサーバから取得された複数のウェブページの各々から生成された複数のページ部品に対応する独立可能部分を含む新たなウェブページを前記ウェブページ生成手段により生成するステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項８】
所望のウェブサーバから取得された所望のウェブページについて、該ウェブページのデータ内に含まれる、該ウェブページから切り出して該ウェブページのその他の部分とは独立に処理可能なように記述された独立可能部分を特定するタグ情報を抽出するタグ情報抽出手段と、
このウェブページに含まれる独立可能部分がユーザ指定されたことが、抽出された前記タグ情報に基づいて検出された場合、該ユーザ指定された独立可能部分の内容に対応するページ部品を生成するためのページ部品生成手段と、
生成された前記ページ部品を記憶するためのページ部品記憶手段と、
複数の前記ページ部品を元にした新たなウェブページを生成するためのウェブページ生成手段とを備えたことを特徴とするクライアント装置。
【請求項９】
前記ウェブページは前記タグ情報が記述されて前記ウェブサーバから送信されるものであり、
前記ページ部品生成手段は、前記タグ情報に基づいて前記ウェブページのデータの中からユーザ指定された前記独立可能部分に対応するデータを取り出し、該データをもとに前記ページ部品を生成することを特徴とする請求項８に記載のクライアント装置。
【請求項１０】
前記ウェブページは前記独立可能部分に対するユーザ指定がなされたことが検出されたときに該独立可能部分に対応するデータを出力するプログラムが付加されて前記ウェブサーバから送信されるものであり、
前記ページ部品生成手段は、前記プログラムの動作によって出力された前記データをもとに前記ページ部品を生成することを特徴とする請求項８に記載のクライアント装置。
【請求項１１】
前記ウェブサーバはショッピングサイトのウェブサーバであり、
前記ウェブページは前記ショッピングサイトのウェブサーバから取得されたショッピングページであり、
前記独立可能部分は前記ショッピングページに含まれる各々の商品カタログの部分であり、
前記新たなウェブページは複数のショッピングサイトのウェブサーバから取得された各々のショッピングページから選択された個々の商品カタログに対応するページ部品を元にして生成されたショッピングカートページであることを特徴とする請求項８に記載のクライアント装置。
【請求項１２】
前記新たなウェブページを発信するためのウェブページ発信手段を更に備えたことを特徴とする請求項８に記載のクライアント装置。
【請求項１３】
生成された前記新たなウェブページ内で、複数の前記ページ部品に含まれるデータに対し処理を行う手段を更に備えたことを特徴とする請求項８に記載のクライアント装置。
【請求項１４】
生成された前記新たなウェブページ単位もしくは前記ページ部品単位で、該新たなウェブページもしくは該ページ部品に対して行われた操作を保存する手段を更に備えたことを特徴とする請求項８に記載のクライアント装置。
【請求項１５】
タグ情報抽出手段と、ページ部品生成手段と、ページ部品記憶手段と、ウェブページ生成手段とを備えたクライアント装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体であって、
所望のウェブサーバから取得された所望のウェブページについて、該ウェブページのデータ内に含まれる、該ウェブページから切り出して該ウェブページのその他の部分とは独立に処理可能なように記述された独立可能部分を特定するタグ情報を前記タグ情報抽出手段により抽出するステップと、
このウェブページに含まれる独立可能部分がユーザ指定されたことが、抽出された前記タグ情報に基づいて検出された場合、該ユーザ指定された独立可能部分の内容に対応するページ部品を前記ページ部品生成手段により生成するステップと、
生成された前記ページ部品を前記ページ部品記憶手段に記憶するステップと、
複数の前記ページ部品を元にした新たなウェブページを前記ウェブページ生成手段により生成するステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項１６】
受信手段と、受付手段と、ページ部品生成手段と、ウェブページ生成手段とを備えたクライアント装置におけるウェブページ部品統合処理方法であって、
前記受信手段により、提供者側から、所望のウェブページと、当該ウェブページから独立に切り出すことの可能な独立可能部分であって当該提供者側において予め定義されたものを指示する情報とを受信するステップと、
選択された独立可能部分を指示するＧＵＩ入力を前記受付手段により受け付けるステップと、
前記ＧＵＩ入力が受け付けられた場合、該ＧＵＩ入力が指示する前記選択された独立可能部分の内容に対応するページ部品を前記ページ部品生成手段により生成するステップと、
複数の前記ページ部品を統合した一つの新たなウェブページを前記ウェブページ生成手段により生成するステップとを有することを特徴とするウェブページ部品統合処理方法。
【請求項１７】
受信手段と、受付手段と、ページ部品生成手段と、ウェブページ生成手段とを備えたクライアント装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体であって、
前記受信手段により、提供者側から、所望のウェブページと、当該ウェブページから独立に切り出すことの可能な独立可能部分であって当該提供者側において予め定義されたものを指示する情報とを受信するステップと、
選択された独立可能部分を指示するＧＵＩ入力を前記受付手段により受け付けるステップと、
前記ＧＵＩ入力が受け付けられた場合、該ＧＵＩ入力が指示する前記選択された独立可能部分の内容に対応するページ部品を前記ページ部品生成手段により生成するステップと、
複数の前記ページ部品を統合した一つの新たなウェブページを前記ウェブページ生成手段により生成するステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項１８】
受信手段と、受付手段と、ページ部品生成手段と、ウェブページ生成手段とを備えたクライアント装置におけるウェブページ部品統合処理方法であって、
前記受信手段により、提供者側から、所望のウェブページと、当該ウェブページから独立に切り出すことの可能な独立可能部分であって当該提供者側において予め定義されたものを指示する情報とを受信するステップと、
選択された独立可能部分を指示する、エンドユーザからのＧＵＩ入力を前記受付手段により受け付けるステップと、
前記ＧＵＩ入力が受け付けられた場合、該ＧＵＩ入力が指示する前記選択された独立可能部分の内容に対応するページ部品であって前記選択された独立可能部分に関する前記情報を含むものを前記ページ部品生成手段により生成するステップと、
複数の前記ページ部品を統合した一つの新たなウェブページを前記ウェブページ生成手段により生成するステップとを有することを特徴とするウェブページ部品統合処理方法。
【請求項１９】
受信手段と、受付手段と、ページ部品生成手段と、ウェブページ生成手段とを備えたクライアント装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体であって、
前記受信手段により、提供者側から、所望のウェブページと、当該ウェブページから独立に切り出すことの可能な独立可能部分であって当該提供者側において予め定義されたものを指示する情報とを受信するステップと、
選択された独立可能部分を指示する、エンドユーザからのＧＵＩ入力を前記受付手段により受け付けるステップと、
前記ＧＵＩ入力が受け付けられた場合、該ＧＵＩ入力が指示する前記選択された独立可能部分の内容に対応するページ部品であって前記選択された独立可能部分に関する前記情報を含むものを前記ページ部品生成手段により生成するステップと、
複数の前記ページ部品を統合した一つの新たなウェブページを前記ウェブページ生成手段により生成するステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所望のウェブサイトが提供する所望のウェブページ上の所望の情報を統合的に処理するためのウェブページ部品統合処理装置、ウェブページ部品統合処理方法及びクライアント装置に関する。
【０００２】
【従来の技術】
検索機能を提供する検索ページサイトのいくつかは、検索した結果、確からしいウェブページのＵＲＬをハイパーリンクとして列挙表示するウェブページを、自動的に生成する、といった技術を用いている。
【０００３】
また、電子商取引のサービスを提供する電子モールサイトのいくつかは、他の店舗のウェブページを取得して、ウェブページに含まれる情報を解析し、サイト内部のデータベースに格納する。そして、ウェブクライアントから要求があると、データベースから情報を引き出して、ウェブページを自動生成する。ただし、他の店舗のウェブページの記述形式は店舗によって違うため、電子モールサイトは、店舗ごとに異なる解析プログラムを用意するという高いコストを支払う方法を取っている。一方、そのような高いコストを避けるため、ウェブページの記述形式を全く統一するという試みがあるが、記述形式を全く統一することは、ウェブページの作者に強い制限を与えて、ページ記述の拡張性・自由度を失わせるという欠点を持つ。
【０００４】
【発明が解決しようとする課題】
まず、ＷＷＷにおいて、異なるウェブサイトや異なるウェブページに記載される情報を集めて分解・再構築して１つのウェブページに統合する際に、二つの問題点が存在する。１つは、集める対象となるウェブページごとに記述形式が異なるということが原因となって、ウェブページの分解・解析に高いコストを要する点である。もう１つは、このコストを防ぐために集める対象となるウェブページの記述方法に強い制約を与えると、そのためにそれらウェブページの記述自由度が大きく引き下げられる点である。
【０００５】
また、ＷＷＷにおいて、異なるウェブサイトやウェブページに記載される情報を集めて分解・再構築して１つのウェブページにまとめる機能は、従来、ウェブサーバサイトにおいてのみしか行うことができなかった。したがって、ウェブページを閲覧するエンドユーザは、ウェブサーバサイトが用意した再構築結果しか構築できないという欠点があった。
【０００６】
本発明は、上記事情を考慮してなされたもので、ウェブページの記述方法に強い制約を与えることなく、ウェブページの分解・解析を低コスト化することを可能とし、また、エンドユーザ側でウェブページの再構築等を行うことを可能とするウェブページ部品統合処理装置、ウェブページ部品統合処理方法及びクライアント装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明に係るウェブページ部品統合処理装置は、所望のウェブサーバから取得された所望のウェブページについて、該ウェブページのデータ内に含まれる、該ウェブページから切り出して該ウェブページのその他の部分とは独立に処理可能なように記述された独立可能部分を特定するタグ情報を抽出するタグ情報抽出手段と、このウェブページに含まれる独立可能部分がユーザ指定されたことが、抽出された前記タグ情報に基づいて検出された場合、該ユーザ指定された独立可能部分の内容に対応するページ部品を生成するページ部品生成手段と、生成された前記ページ部品を記憶するページ部品記憶手段と、１または複数のウェブサーバから取得された複数のウェブページの各々から生成された複数のページ部品に対応する独立可能部分を含む新たなウェブページを生成するウェブページ生成手段とを備えたことを特徴とする。
本発明は、タグ情報抽出手段と、ページ部品生成手段と、ページ部品記憶手段と、ウェブページ生成手段とを備えたウェブページ部品統合処理装置におけるウェブページ部品統合処理方法であって、所望のウェブサーバから取得された所望のウェブページについて、該ウェブページのデータ内に含まれる、該ウェブページから切り出して該ウェブページのその他の部分とは独立に処理可能なように記述された独立可能部分を特定するタグ情報（例えば、ＸＭＬの新しいタグでもよいし、ＨＴＭＬの既存のタグに新しい意味付けを与えたものでもよい）を前記タグ情報抽出手段により抽出するステップと、このウェブページに含まれる独立可能部分がユーザ指定されたことが、抽出された前記タグ情報に基づいて検出された場合、該ユーザ指定された独立可能部分の内容に対応するページ部品を前記ページ部品生成手段により生成するステップと、生成された前記ページ部品を前記ページ部品記憶手段に記憶するステップと、１または複数のウェブサーバから取得された複数のウェブページの各々から生成された複数のページ部品に対応する独立可能部分を含む新たなウェブページを前記ウェブページ生成手段により生成するステップとを有することを特徴とする。
好ましくは、前記新たなウェブページのスタイルとして、該新たなウェブページに含ませたいずれの独立可能部分が元々含まれていたウェブページのスタイルを用いるか、または新たに定義されたスタイルを用いるかを、ユーザ選択に基づいて決定するようにしてもよい。
好ましくは、前記独立可能部分に対するユーザ指定を受け付けるにあたって、対象となる前記ウェブページを、抽出された前記タグ情報に基づいて前記独立可能部分がユーザに識別可能なように表示するようにしてもよい。
好ましくは、前記ページ部品は、少なくとも、対応する前記独立可能部分の内容と、該独立可能部分が含まれていたウェブページから全ての独立可能部分を取り除いた残りの部分の内容と、該独立可能部分が該ウェブページにおいて含まれていた位置に関する情報とを含むようにしてもよい。
好ましくは、前記独立可能部分のデータ内に、該独立可能部分に関連するアプリケーションプログラムに共するデータの所在を示す情報、該データのタイプを示す情報および必要な場合における該データのダウンロードに関する手続を含むアプリデータ属性情報が含まれている場合、該アプリデータ属性情報を前記ページ部品に含めて記憶するようにしてもよい。
また、本発明は、タグ情報抽出手段と、ページ部品生成手段と、ページ部品記憶手段と、ウェブページ生成手段とを備えたウェブページ部品統合処理装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体であって、所望のウェブサーバから取得された所望のウェブページについて、該ウェブページのデータ内に含まれる、該ウェブページから切り出して該ウェブページのその他の部分とは独立に処理可能なように記述された独立可能部分を特定するタグ情報を前記タグ情報抽出手段により抽出するステップと、このウェブページに含まれる独立可能部分がユーザ指定されたことが、抽出された前記タグ情報に基づいて検出された場合、該ユーザ指定された独立可能部分の内容に対応するページ部品を前記ページ部品生成手段により生成するステップと、生成された前記ページ部品を前記ページ部品記憶手段に記憶するステップと、１または複数のウェブサーバから取得された複数のウェブページの各々から生成された複数のページ部品に対応する独立可能部分を含む新たなウェブページを前記ウェブページ生成手段により生成するステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体である。
また、本発明に係るクライアント装置は、所望のウェブサーバから取得された所望のウェブページについて、該ウェブページのデータ内に含まれる、該ウェブページから切り出して該ウェブページのその他の部分とは独立に処理可能なように記述された独立可能部分を特定するタグ情報を抽出するタグ情報抽出手段と、このウェブページに含まれる独立可能部分がユーザ指定されたことが、抽出された前記タグ情報に基づいて検出された場合、該ユーザ指定された独立可能部分の内容に対応するページ部品を生成するためのページ部品生成手段と、生成された前記ページ部品を記憶するためのページ部品記憶手段と、複数の前記ページ部品を元にした新たなウェブページを生成するためのウェブページ生成手段とを備えたことを特徴とする。
好ましくは、前記ウェブページは前記タグ情報が記述されて前記ウェブサーバから送信されるものであり、前記ページ部品生成手段は、前記タグ情報に基づいて前記ウェブページのデータの中からユーザ指定された前記独立可能部分に対応するデータを取り出し、該データをもとに前記ページ部品を生成するようにしてもよい。
好ましくは、前記ウェブページは前記独立可能部分に対するユーザ指定がなされたことが検出されたときに該独立可能部分に対応するデータを出力するプログラムが付加されて前記ウェブサーバから送信されるものであり、前記ページ部品生成手段は、前記プログラムの動作によって出力された前記データをもとに前記ページ部品を生成するようにしてもよい。
好ましくは、前記ウェブサーバはショッピングサイトのウェブサーバであり、前記ウェブページは前記ショッピングサイトのウェブサーバから取得されたショッピングページであり、前記独立可能部分は前記ショッピングページに含まれる各々の商品カタログの部分であり、前記新たなウェブページは複数のショッピングサイトのウェブサーバから取得された各々のショッピングページから選択された個々の商品カタログに対応するページ部品を元にして生成されたショッピングカートページであるようにしてもよい。
好ましくは、前記新たなウェブページを発信するためのウェブページ発信手段を更に備えるようにしてもよい。
好ましくは、生成された前記新たなウェブページ内で、複数の前記ページ部品に含まれるデータに対し（比較、合計金額見積もり、個数設定、一括発注等の）処理を行う手段を更に備えるようにしてもよい。
好ましくは、生成された前記新たなウェブページ単位もしくは前記ページ部品単位で、該新たなウェブページもしくは該ページ部品に対して行われた操作を保存する手段を更に備えるようにしてもよい。
また、本発明は、タグ情報抽出手段と、ページ部品生成手段と、ページ部品記憶手段と、ウェブページ生成手段とを備えたクライアント装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体であって、所望のウェブサーバから取得された所望のウェブページについて、該ウェブページのデータ内に含まれる、該ウェブページから切り出して該ウェブページのその他の部分とは独立に処理可能なように記述された独立可能部分を特定するタグ情報を前記タグ情報抽出手段により抽出するステップと、このウェブページに含まれる独立可能部分がユーザ指定されたことが、抽出された前記タグ情報に基づいて検出された場合、該ユーザ指定された独立可能部分の内容に対応するページ部品を前記ページ部品生成手段により生成するステップと、生成された前記ページ部品を前記ページ部品記憶手段に記憶するステップと、複数の前記ページ部品を元にした新たなウェブページを前記ウェブページ生成手段により生成するステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体である。
また、本発明は、受信手段と、受付手段と、ページ部品生成手段と、ウェブページ生成手段とを備えたクライアント装置におけるウェブページ部品統合処理方法であって、
前記受信手段により、提供者側から、所望のウェブページと、当該ウェブページから独立に切り出すことの可能な独立可能部分であって当該提供者側において予め定義されたものを指示する情報とを受信するステップと、選択された独立可能部分を指示するＧＵＩ入力を前記受付手段により受け付けるステップと、前記ＧＵＩ入力が受け付けられた場合、該ＧＵＩ入力が指示する前記選択された独立可能部分の内容に対応するページ部品を前記ページ部品生成手段により生成するステップと、複数の前記ページ部品を統合した一つの新たなウェブページを前記ウェブページ生成手段により生成するステップとを有することを特徴とする。
また、本発明は、受信手段と、受付手段と、ページ部品生成手段と、ウェブページ生成手段とを備えたクライアント装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体であって、前記受信手段により、提供者側から、所望のウェブページと、当該ウェブページから独立に切り出すことの可能な独立可能部分であって当該提供者側において予め定義されたものを指示する情報とを受信するステップと、選択された独立可能部分を指示するＧＵＩ入力を前記受付手段により受け付けるステップと、前記ＧＵＩ入力が受け付けられた場合、該ＧＵＩ入力が指示する前記選択された独立可能部分の内容に対応するページ部品を前記ページ部品生成手段により生成するステップと、複数の前記ページ部品を統合した一つの新たなウェブページを前記ウェブページ生成手段により生成するステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体である。
また、本発明は、受信手段と、受付手段と、ページ部品生成手段と、ウェブページ生成手段とを備えたクライアント装置におけるウェブページ部品統合処理方法であって、前記受信手段により、提供者側から、所望のウェブページと、当該ウェブページから独立に切り出すことの可能な独立可能部分であって当該提供者側において予め定義されたものを指示する情報とを受信するステップと、選択された独立可能部分を指示する、エンドユーザからのＧＵＩ入力を前記受付手段により受け付けるステップと、前記ＧＵＩ入力が受け付けられた場合、該ＧＵＩ入力が指示する前記選択された独立可能部分の内容に対応するページ部品であって前記選択された独立可能部分に関する前記情報を含むものを前記ページ部品生成手段により生成するステップと、複数の前記ページ部品を統合した一つの新たなウェブページを前記ウェブページ生成手段により生成するステップとを有することを特徴とする。
また、本発明は、受信手段と、受付手段と、ページ部品生成手段と、ウェブページ生成手段とを備えたクライアント装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体であって、前記受信手段により、提供者側から、所望のウェブページと、当該ウェブページから独立に切り出すことの可能な独立可能部分であって当該提供者側において予め定義されたものを指示する情報とを受信するステップと、選択された独立可能部分を指示する、エンドユーザからのＧＵＩ入力を前記受付手段により受け付けるステップと、前記ＧＵＩ入力が受け付けられた場合、該ＧＵＩ入力が指示する前記選択された独立可能部分の内容に対応するページ部品であって前記選択された独立可能部分に関する前記情報を含むものを前記ページ部品生成手段により生成するステップと、複数の前記ページ部品を統合した一つの新たなウェブページを前記ウェブページ生成手段により生成するステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体である。
【００１１】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
【００１２】
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための（あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための）プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【００１３】
本発明によれば、（エンド）ユーザは、任意のウェブサイトから取得したウェブページから選択した部分（部分情報）同士を組み合わせて、新しいページを作成することができる。このページは、その（エンド）ユーザだけのオリジナルであり、他人に公開しないで秘密にすることもできる。あるいは、他人に提供して使用して貰うこともできる。
また、本発明によれば、ウェブページに対して、部分的に取り出せる領域を示す印（タグ情報）を付けるという記法によって、あるいは該部分に対応するデータを出力するプログラム（例えば、ドラッグイベントハンドラ）を付加することによって、情報を収集する手続きが汎用的になり、収集作業を低コスト化することができる。その一方で、ウェブページの作者自身が、部分的に取り出して欲しい領域の単位を収集する側に主張することができる。
また、本発明によれば、上記印もしくは上記プログラムを付加することまたはその他の必要な情報を付加することなどのページ記述のルールに準拠すればよいため、ウェブページの作者に対して強い制限を与えないで済むという利点がある。
【００１４】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【００１５】
（第１の実施形態）
図１は、本発明を適用するネットワーク環境の一例を示す。この環境下において、インターネットに代表されるコンピュータネットワーク基盤１０３を通じて、あるウェブクライアントサイト（ウェブクライアント側ＬＡＮ）１０２におけるウェブクライアント（クライアント装置）１０１は、複数のウェブサーバサイト（ウェブサーバ側ＬＡＮ）１０４〜１０６におけるウェブサーバ（サーバ装置）１０７〜１０９に存在する所望のウェブページを取得し、ＣＲＴ等の表示装置（図示せず）を用いて表示する。なお、各サイトには複数のクライアント装置やサーバ装置が接続されても構わない。また、コンピュータネットワーク基盤１０３には、複数のウェブクライアントサイトが接続されるのが通常であるが、図１ではある１つのウェブクライアントサイトのみ示してある。
【００１６】
本発明を適用したソフトウェアは、このような環境において、「ウェブクライアント１０１」および取得対象となる各々の「ウェブページ」の内部に配置される。
【００１７】
図２は、本実施形態のクライアント装置（計算機）上で実現されるシステムの全体構成例を示している。
【００１８】
本システムは、ウェブページ２０１および人間の操作（以下、ユーザ操作）２０２，２０３，２０４を入力対象、ＣＲＴあるいは液晶等の表示装置２０５およびアプリケーションプログラム２０６を出力対象とする。
【００１９】
また、本システムは、大きく二つのサブシステムを持っている。一つはウェブページ内に組み込まれる第１のソフトウェアプログラム２１０であり、もう一つはＯＳ上で直接動作する一般的なアプリケーションとして実行される第２のソフトウェアプログラム２２０である。
【００２０】
本システムは、それらに加えて、それらを支援するページ受信モジュール２８０およびまたはページ発信モジュール２８２を備えてもよい。ページ受信モジュール２８０は外部システムからウェブページを受け取るためのモジュールであり、ページ発信モジュール２８２は外部システムへウェブページを発信するためのモジュールである。
【００２１】
ページ受信モジュール２８０は、外部システムからウェブページを取得して、第１のソフトウェアプログラム２１０に転送する。このページ受信モジュール２８０は、ウェブページをＨＴＴＰを介して取得することができることに加えて、ＰＯＰ３などのメールプロトコルを通じて取得することもできる。また、外部のページ発信モジュールとＰｏｉｎｔ−ｔｏ−Ｐｏｉｎｔで接続して、インスタントメッセージとして受け取ることもできる。メールプロトコルの場合、本文にウェブページが記載された形式のメールを受信することになる。メールプロトコルは、ＨＴＴＰと違い、特定の人間から特定の人間へ転送することができる特徴があり、場合によってこれが利点となる。いずれのプロトコルを経由したとしても、ただちに第１のソフトウェアプログラム２１０に転送される。
【００２２】
図２に示されるように、第１のソフトウェアプログラム２１０は、ページ表示モジュール２１１、ページ部品抽出モジュール２１２、ページ部品送信モジュール２１３を含む。また、第２のソフトウェアプログラム２２０は、ページ部品受信モジュール２２１、ページ部品データベース２２２、ページ部品整理モジュール２２３、一般アプリ接続モジュール２２４、ページ生成モジュール２２５を含む。
【００２３】
さて、ウェブページ２０１が本システムに入力されると、そのウェブページ内に組み込まれているソフトウェアプログラム２１０が駆動される。まず、ページ表示モジュール２１１が駆動されて、ウェブページは人間（以下、ユーザ）に読めるように整形される。その整形されたウェブページが表示装置２０５に出力されることによって、ユーザに対してウェブページが表示される。次に、ページ表示モジュール２１１は、獲得したウェブページ２０１を、ページ部品抽出モジュール２１２に送信する。
【００２４】
ページ部品抽出モジュール２１２は、ページ表示モジュール２１１から入力されるウェブページ２０１とユーザ操作２０２を両方受け取って初めて起動される。ページ部品抽出モジュール２１２は、起動されると、受け取ったウェブページから、ユーザ操作２０２により指定される部分文書を判定して（例えば、ウェブページが表示された表示画面上においてマウスカーソルにより指示された箇所に該当する部分文書を求めて）、その部分文書をもとにページ部品を生成する。さらに引き続いて、ページ部品送信モジュール２１３へ生成されたページ部品を送信する。
【００２５】
ここで、「部分文書」とは、ウェブページのデータ内に含まれる、該ウェブページから切り出して該ウェブページのその他の部分とは独立に処理可能なように記述された部分である。
【００２６】
部分文書は、例えば、これを特定するタグ（例えば、ＸＭＬの新しいタグでも、ＨＴＭＬの既存のタグに新しい意味付けを与えたものでもよい）で特定される。なお、ウェブページと部分文書の具体例を後に示す（図４参照）。
【００２７】
また、「ページ部品」とは、ウェブページの部分文書を含み、他のページ部品と組み合わされて新しいウェブページを構成することのできるデータ単位である。なお、ページ部品のデータ構造の具体例を後に示す（図９参照）。
【００２８】
ページ部品送信モジュール２１３は、ページ部品抽出モジュール２１２からページ部品を受信すると、ページ部品受信モジュール２２１に対して、ページ部品を送信する。
【００２９】
第２のソフトウェアプログラム２２０側のページ部品受信モジュール２２１は、ページ部品を受信すると、該ページ部品をページ部品データベース２２２に格納する。
【００３０】
ページ部品整理モジュール２２３は、ページ部品格納モジュール２２２に蓄積されているページ部品群に対して、検索や削除など種々のコマンドを実行することのできるモジュールである。ページ部品整理モジュール２２３は、ユーザ操作２０３により発行されるコマンドに従い、それらのコマンドを実行する。
【００３１】
一般アプリ接続モジュール２２４は、ページ部品整理モジュール２２３が持つコマンドの１つによって起動され、ページ部品内部のアプリケーション用のデータを取り出し、そのデータに対応するアプリケーションに対して、そのデータを送信するのに必要な手続きをユーザと対話的に実行する。
【００３２】
ページ生成モジュール２２５は、ページ部品整理モジュール２２３が持つコマンドの１つによって起動される。ページ生成モジュール２２５は、ページ部品データベース２２２に蓄積されているページ部品の全てまたは選択された一部のものを表示する（含む）ウェブページを生成する。作成されたウェブページは、ページ表示モジュール２１１へ送信される。
【００３３】
なお、ウェブページを表示する際には、部分文書の部分については、それが部分文書であること（ページ部品にできること）をユーザに分かるように表示等してもよい。
【００３４】
また、ページ生成モジュール２２５によって作成されたウェブページを外部システムに対して発信する場合は、そのウェブページをページ発信モジュール２８２へ転送する。ページ発信モジュール２８２は、ウェブページを受け取るとＨＴＴＰまたはＳＭＴＰなどのメールプロトコルを通じて外部システムに当ウェブページを発信する。メールプロトコルの場合、本文にウェブページが記載された形式のメールを受信することになる。メールプロトコルは、ＨＴＴＰと違い、特定の人間から特定の人間へ転送することができる特徴があり、場合によってこれが利点となる。
【００３５】
図３は、本実施形態のシステムの論理的な処理の流れの概要を示している。
【００３６】
本システムは、例えば、外部からウェブページ（３０９）がダウンロードされることにより起動される（手順３０２）。その後、ダウンロードされたウェブページを解釈して、該ウェブページをＣＲＴ等の表示装置に表示する手順３０３を行う。この手順３０２，３０３の機能は、一般的なウェブブラウザの機能を利用して実装されるものである。
【００３７】
次に、手順３０２，３０３で処理されたウェブページを解析し、該ウェブページに含まれる、ページ部品の素材となる１または複数の部分文書のうち、ユーザ操作により指定されたものを特定した上で、その部分文書を抽出し加工してページ部品として生成し、それらを格納する手順を行う（手順３０４）。
【００３８】
ここまでの手順はウェブページに含まれるソフトウェアプログラム２１０として実装されるのに対して、以降の作業は一般的なアプリケーションのソフトウェアプログラム２２０として実装される。
【００３９】
さて、続いて、手順３０４において生成されたページ部品を転送する手順を行う（手順３０５）。この手順３０５の機能は、「当該ウェブページ内のソフトウェアプログラム２１０が、当該ウェブページ内部に維持するページ部品を、一般的なアプリケーションとして実装されるソフトウェアプログラム２２０の持つページ部品用のデータベース２２２に、コピーすること」を実現するものであり、このコピー機能自体はＯＳの機能を利用して実現される。例えば、Ｍｉｃｒｏｓｏｆｔ社の製品であるＷｉｎｄｏｗｓシリーズのＯＳ上で本システムを動作させる場合は、ＯＳの機能の１つであるＯＬＥ転送を用いて実装することによっても実現可能である。
【００４０】
次に、アプリケーションとして実装されるソフトウェアプログラム２２０が内部に持つページ部品をユーザのために整理して見せる手順を行う（手順３０６）。この手順はＧＵＩを用いてユーザと対話的に行われるものであり、フォルダー作成、検索、部品削除などのコマンドが用意されている。
【００４１】
また、手順３０６の整理手順を行っている状態において、ＧＵＩ上のコマンドを介して、図面ＣＡＤアプリケーションや表計算ソフトなどといった一般アプリケーションへデータを転送する手順３０７を動作させることができる。このアプリケーションへデータを転送する手順３０７では、ページ部品を解析することにより、ページ部品にあらかじめ含まれているまたは関連付けられている、ＣＡＤや表計算ソフトウェアといった様々なアプリケーション用のデータを取り出す作業に引き続き、取り出されたそれらアプリケーション用のデータを、そのデータに対応するアプリケーションへ転送する手順が実行される。なお、その手順を行う前に、対応するアプリケーションがＯＳ上で起動されていない場合は、その対応するアプリケーションをあらかじめ起動する。
【００４２】
また、手順３０６の整理手順を行っている状態において、ＧＵＩ上のコマンドを介して、現在格納しているページ部品群を１つのウェブページとして再構築する手順３０８を動作させることができる。具体的には、このページの生成手順３０８では、格納されている全てのまたはユーザによって指定されたページ部品群のページ部品の各々がその内部に持つＨＴＭＬやＸＭＬなどに代表されるマークアップ言語をもとに、それらの変換、結合、加筆作業等を行うことにより、様々なウェブページから切り出され維持されているページ部品を表示として含むウェブページを新たに構築する。また、この作業過程において、構成するページ部品のうち、ＸＳＬやＣＳＳなどに代表されるスタイルシートが含まれている場合、ユーザは当該新たに作成するウェブページに対して適用するスタイルシートを選択することができる。さらに、この作業が終わると、そのページを表示する作業が行われる。
【００４３】
なお、ウェブページは、ウェブサーバからネットワークを介して取得したものでなくても構わない。例えば、ウェブサーバからネットワークを介して取得した他のウェブクライアントから記録媒体により取得したものであってもよい。また、ネットワーク環境の外部で作成されたものであってもよい。また、本システムによって再構築されたウェブページであってもよい。
【００４４】
図４は、本実施形態のシステムに入力されるウェブページの一例である。この例を用いて、ウェブページの構成、構成要素名、構成要素の役割等について説明する。
【００４５】
図４において、４０１は、本システムが処理できるウェブページの一例であり、この例ではＸＭＬで記述されている。なお、本システムは、ＨＴＭＬ等の他の記述言語で記述されているウェブページに対しても、以下に説明する動作原理において、同様に処理することができる。
【００４６】
部分文書（４０４，４１２）は、ウェブページの作者がウェブページ４０１において独立に取り出されることを意図しているウェブページの部分的な情報資源であり、ウェブページ４０１において１つ以上存在する。なお、ウェブページには部分文書を含まないものも存在し得るが、本システムは、１つ以上の部分文書を含むウェブページを対象とする。
【００４７】
また、１つの部分文書に対して１つの部分文書のルートタグが存在し、部分文書のルートタグ４０６および４１１は、それぞれ部分文書４０４および４１２の記述範囲を示す。具体的には、ＸＭＬやＨＴＭＬなどのマークアップ言語は、木構造をなしており、部分文書の記述範囲は、木構造上、指定されたルートタグ以下となる領域をもって示されている。
【００４８】
部分文書のルートタグ（４０６，４１１）は、特定の印によって識別される。この印は、ウェブページ上のプログラム２１０により異なる。図４の例では、タグのｃｏｍｐｏｎｅｎｔ属性を印としている。
【００４９】
また、部分文書（４０４，４１２）は、アプリデータ属性情報（４０７）を１つ以上含むことができる。アプリデータ属性情報４０７は、部分文書４０４に関連付けられるアプリケーション用のデータのタイプ、所在、ダウンロードに必要な手続などを含む構造的な情報である。アプリデータ属性情報の記述範囲は、部分文書の記述範囲指定方法と同様、特定のタグに印をつけることにより示される。図４の例では、タグのａｐｐｄａｔａ属性を印としている。
【００５０】
また、アプリデータ属性情報４０７は、アプリデータ取得手続き情報４０８、アプリデータの所在情報４０９、アプリデータタイプ情報４１０を含み、それぞれタグに印が付けられることによって記述位置が示される。図４の例では、それぞれタグ名ｐｒｏｃ−ｕｒｌ、ｄａｔａ−ｕｒｌ、ａｐｐ−ｔｙｐｅを印としている。
【００５１】
アプリデータの所在情報４０９は、部分文書４０４が含むアプリケーション用のデータの所在を示すＵＲＬを持つ。本システムがユーザの入力コマンドにしたがって、アプリケーション用のデータをダウンロードする際には、このＵＲＬを参照する。また、このアプリケーション用のデータがオープンではなく、課金が必要であるとか会員に限定されているというように、限定的に公開されている場合がある。このような場合は、上記のダウンロードは失敗するので、データがダウンロードできるようにウェブページ上で手続きを行う必要がある。この手続が用意されているウェブページのＵＲＬを示すものが、アプリデータ取得手続き情報４０８である。本システムは、ダウンロードには手続きが要求されていることを自動認識し、このアプリデータ取得手続き情報４０８をもとに、手続きが用意されているウェブページをユーザに開示する。また、アプリデータタイプ情報４１０は、ダウンロードの対象となるデータが、たとえば特定のＣＡＤアプリケーションや特定の表計算ソフトウェアなど、何のアプリケーション用のデータであるかを示す。この情報をもとに、本システムは、アプリケーション用のデータのダウンロードが成功したときに、自動的に対応するアプリケーションへそのデータを送信する。
【００５２】
図５は、ページ部品抽出モジュール２１２によるページ部品抽出手順（図３の３０４）の詳細な論理的手順の一例を示している。
【００５３】
ページ部品抽出手順３０４は、ウェブページとユーザ操作にしたがってページ部品を作成する。
具体的には、まず、ページ部品の「内容部」を作成する（手順５０１）。手順５０１については、図６にて詳細に説明する。
次に、ページ部品の「管理情報部」を作成する（手順５０２）。手順５０２については、図７にて詳細に説明する。
次に、ページ部品の「アプリデータ属性情報部」を作成する（手順５０３）。手順５０３については、図８にて詳細に説明する。
最後に、手順５０１で作成されたページ部品の内容部と、手順５０２で作成されたページ部品の管理情報部と、手順５０３で作成されたページ部品のアプリデータ属性情報部とを合わせることによって、ページ部品を完成する（手順５０４）。
【００５４】
なお、ページ部品は部分文書毎に作成するので、１つのウェブページからＮ個の部分文書が指定された場合には、ページ部品抽出手順が部分文書毎に繰り返されて、Ｎ個のページ部品が作成される。この場合に、重複する不要な処理が存在する場合には、これを検出して省くようにしてもよい。
【００５５】
図６は、図５における手順のうちのページ部品の内容部を作成する手順５０１の詳細な論理的手順の一例を示している。
【００５６】
ページ部品内容抽出モジュール６１０は、ページ部品の内容部を作成する手順５０１を実行するソフトウェアプログラムモジュールである。ページ部品内容抽出モジュール６１０は、ユーザ操作６０１とウェブページ６０２を入力とし、内容部６０３を出力とする。
【００５７】
まず、ページ部品内容抽出モジュール６１０は、ウェブページ内でユーザ操作６０１により指定された部分文書を特定する（手順６１１）。ユーザ操作６０１は、ウェブブラウザにおけるページ表示を直接利用して、部分文書を指定するものであり、具体的には、一般的なウェブブラウザにおいて表示されたウェブページ上の領域で、たとえばドラッグ操作やクリック操作やコンテクストメニュー実行などの操作を行うことにより、部分文書を指定することができる。本実施形態では、ウェブブラウザがサポートするＨＴＭＬなどのマークアップ言語のウェブページに関するイベント配送機構を利用して、このようなウェブページ上の操作を実現するものとする。
【００５８】
次に、ページ部品内容抽出モジュール６１０は、特定されたルートタグを接続位置情報６２１として保存する（手順６１２）。
【００５９】
次に、ページ部品内容抽出モジュール６１０は、特定された部分文書のルートタグ以下の文書を内容文書６２２として保存する（手順６１３）。
【００６０】
次に、ページ部品内容抽出モジュール６１０は、ページ内部に含まれるすべての部分文書をページから除去したものをコンテナ文書６２３として保存する（手順６１４）。
【００６１】
次に、手順６１２〜６１４で得られた接続位置情報・内容文書・コンテナ文書を構成して、当該ページ部品の内容部６０３を作成する（手順６１５）。
【００６２】
図７は、図５における手順のうちのページ部品の管理情報部を作成する手順５０２の詳細な論理的手順の一例を示している。
【００６３】
ページ部品管理情報生成モジュール７１０は、ページ部品の管理情報部を生成する手順５０２を実行するモジュールである。ページ部品管理情報生成モジュール７１０は、ページ部品の管理情報部７０１を出力とする。
【００６４】
具体的な論理的手順を以下に説明する。
【００６５】
まず、対象となるウェブページに関して、補助的な外部モジュールが存在するかどうかを判断する（手順７１１）。ウェブページを補助する外部モジュールとしては、たとえばイメージファイル、音楽ファイル、文書型ファイル、スタイルシートファイル、スクリプトファイルなどがある。ウェブページがＸＭＬの場合、外部モジュール名が記述されている領域のタグに印を付けるというルールを課すことにより、処理手続きが外部モジュール名を取り出すことができ、これにより判断を下す。図４の例４０２および４０５では、タグにｅｘｔｅｒｎａｌ属性が添付されていることを印としている。外部モジュールが存在する場合は手順７１２へ移行し、存在しない場合は手順７１８へ移行する。
【００６６】
次に、外部モジュールが存在する場合、存在するすべての外部モジュールをクライアントサイトのファイルシステムにコピーする（手順７１２）。
【００６７】
このコピーに際しては、クライアントサイトのコピー先ディレクトリは、ウェブサーバサイトのディレクトリの相対位置を再現するように選択する。すなわち、ミラーリングする。このようにコピーすることにより、外部モジュールがウェブページ内部で相対的に参照指定されていたとしても、図３の手順３０８においてウェブページを再構成する際に、特別に参照位置を書き直す処理する必要がないという利点がある。ミラーリングの一例として、コピー元のＵＲＬのうち、ホスト名部をディレクトリ名に変更しコピー先のディレクトリ名に変更してコピー先のディレクトリとする方法がある。例えば、コピー元のＵＲＬが、
http://www.domain.comain.com/dir1/dir2/file1
の場合、ｆｉｌｅ１を、
/www.domain/com/dir1/dir2
にコピーする。この方法だと、複数のウェブサーバサイトから外部モジュールをコピーしても、ファイル名が重なることによって上書きされることを未然に防止することができる。
【００６８】
手順７１２に引き続き、これらミラーリングされた外部モジュールに関して、コピー先のディレクトリをフルパスで添付した形式で、それら外部モジュール名を管理情報部７０１内部に追加する（手順７１３）。
【００６９】
手順７１３に引き続き、外部モジュールの中にスタイルシートが存在するかどうかを判断する（手順７１４）。ウェブページがＸＭＬの場合、スタイルシート名が記述されている領域のタグに印を付けるというルールを課すことにより、処理手続きがスタイルシート名を取り出すことができ、これにより判断を下す。スタイルシートが存在する場合は手順７１５へ移行し、存在しない場合は手順７１６へ移行する。
【００７０】
手順７１５では、手順７１２でミラーリングされたスタイルシートに関して、コピー先のディレクトリをフルパス形式で、それらスタイルシート名を管理情報部７０１内部に追加する。結果として、手順７１３で書きこまれた外部ファイル名と重複する。
【００７１】
手順７１６では、外部モジュールの中に文書型定義ファイルは存在するかどうかを判断する。ウェブページがＸＭＬの場合、文書型定義ファイル名が記述されている領域のタグに印を付けるというルールを課すことにより、処理手続きが文書型定義ファイルを取り出すことができ、これにより判断を下す。もしくはＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）という標準ＡＰＩを用いることにより、取り出すこともできる。文書型定義ファイルが存在する場合は手順７１７へ移行し、存在しない場合は手順７１８へ移行する。
【００７２】
手順７１７では、手順７１２でミラーリングされたスタイルシートに関して、コピー先のディレクトリをフルパス形式で、これらスタイルシート名を管理情報部７０１内部に追加する。結果として、手順７１３で書きこまれた外部ファイル名と重複する。
【００７３】
手順７１８では、ウェブページのＵＲＬを管理情報部７０１内部に追加する。
【００７４】
以上の手順で完成された管理情報部７０１をもって、ページ部品管理情報生成モジュール７１０の出力結果とする。
【００７５】
図８は、図５における手順のうちのページ部品の管理情報部を作成する手順５０３の詳細な論理的手順の一例を示している。
【００７６】
ページ部品アプリデータ属性情報生成モジュール８１０は、ページ部品の管理情報部を生成する手順５０３を実行するソフトウェアプログラムモジュールである。ページ部品管理情報生成モジュール８１０は、ページ部品のアプリデータ属性情報部８０１を出力とする。
【００７７】
具体的な論理的手順を以下に説明する。
【００７８】
まず、対象とする部分文書に含まれるアプリデータ属性情報をすべて特定する（手順８１１）。この特定は、ＸＭＬの場合、アプリデータ属性情報に付けられた印を元に部分文書内を検索することで実現する。図４の例４０７では、タグにａｐｐｄａｔａ属性が添付されていることを印としている。
【００７９】
引き続き、特定されたアプリデータ属性情報すべてを、アプリデータ属性情報部８０１として格納する（手順８１２）。
【００８０】
以上の手順で完成されたアプリデータ属性情報部８０１をもって、ページ部品アプリデータ属性情報生成モジュール８１０の出力結果とする。
【００８１】
図９は、図５から図８で説明したページ部品作成手順において扱うページ部品のデータ構造の概要をまとめたものである。
【００８２】
ページ部品９００は、ウェブページの再構成およびアプリケーションへのデータ転送を実現するために必要な情報を維持している。すなわち、図９に示されるように、ページ部品９００は、内容部９１０、管理情報部９３０、アプリデータ属性情報部９２０を含む。
【００８３】
内容部９１０は、ページ部品が持つウェブページの部分文書を組み立てる際に必要な情報を維持する。内容文書９１１は、ウェブページから切り出された部分文書そのものが格納されている。これはウェブページの再構成においてそのまま再利用される。コンテン文書９１２は、ウェブページにおける部分文書（４０４や４１２など）以外の領域の文書が格納されている。ＨＴＭＬやＸＭＬなどのマークアップ言語は、ルートタグが一つであることがルールとなっているため、複数のページ部品９００の内容文書を並べてつなげるだけでは、有効な文書として再構成することはできない。このためウェブページとして構成するためには、複数の部分文書に加えてそれらをサブツリーとして包含する文書が必要となる。その文書がコンテナ文書９１２である。接続位置情報９１３は、コンテナ文書９１２内において複数の部分文書（４０４や４１２など）をサブツリーとして挿入できるノードを示している。
【００８４】
管理情報部９３０は、組み立てられたウェブページを管理するのに必要な情報を維持する。ＵＲＬ９３１は、ページ部品の取りだし元のＵＲＬを維持する。これは、手順７１２でのミラーリングやページ部品の整理や手順１２１２におけるスタイルシートの種類の識別などに利用される。外部モジュール名リスト９４０は、クライアントサイトのファイルシステムにミラーリングされた、ウェブページを表示可能とするのに必要な外部モジュール名すべてがフルパス形式で格納されている。ページを表示可能とするのに必要な外部モジュール名すべてがフルパス形式で格納されている。外部モジュール名は、スタイルシートファイル名９４１と文書型定義ファイル名９４２とその他の外部モジュール名９４３の３種類に区別されて維持される。
【００８５】
アプリデータ属性情報部９２０は、ページ部品９００が持つアプリケーション用のデータに関する情報を維持する。具体的には、アプリデータ属性情報９２１を複数維持する。
【００８６】
図１０は、図３におけるページ部品の整理手順３０６の詳細な論理的手順の一例を示している。
【００８７】
ページ部品整理モジュール２２３は、今までに獲得した複数のページ部品を整理し、ユーザが発行するコマンド群にしたがって、さまざまな機能を提供するモジュールである。
【００８８】
ページ部品整理モジュール２２３は、今までにウェブページから集めてきたページ部品項目を列挙して表示する、部品項目表示モジュール１０１０を含んでいる。
【００８９】
部品項目表示モジュール１０１０は、ページ部品の項目を列挙して表示する方式として３種類の方式を持っており、これらは表示モードを切り替えるコマンドによって、表示の方式を選択することができる（手順１０１１）。また、いずれの表示方式においても、表示されているページ部品の項目を選択することができ、選択されている項目はフォーカスされる。以下に説明するコマンドのうち、ページ部品に対して働きかけるコマンドにおいて、維持しているページ部品すべてに適用されるものと、単一のページ部品に適用されるものとがあり、後者の場合、フォーカスされているページ部品に対してコマンドは適用される。
【００９０】
表示の仕方は、
・分類なしの表示方式１０１２、
・ユーザがフォルダーを動的に作成して分類することのできる表示方式１０１３、
・部品内部にあらかじめ含まれているクラス情報を元に自動的にフォルダーを作り分類表示する方式１０１４、
の３種類が用意されている。
【００９１】
ページ部品整理モジュール２２３は、部品単一閲覧モジュール１０２０を含んでいる。
【００９２】
部品単一閲覧モジュール１０２０は、部品項目表示モジュール１０１０においてフォーカスされているページ部品を単一で、２種類の閲覧モードで表示する機能を有し、コマンド１０２１によって切り替えることができる。具体的には、閲覧モードは、
・対象となるページ部品がコピー元のウェブページにおいて適用されていたスタイルで表示するオリジナルスタイル再現モード１０２２、
・部品単一閲覧モジュール１０２０があらかじめ持っているスタイルで表示する統一スタイル生成モード１０２３、
の２種類が用意されている。
【００９３】
オリジナルスタイルを再現する手順１０２２では、ページ部品の内容部を元に、ローカルファイルシステム上にウェブページのソースファイルを生成する。具体的には、内容部のコンテナ文書９１２に対して、接続位置９１３において内容文書９１１を挿入するという作業によりソースファイルの内容を得る。ページ部品の内容部がＸＭＬの場合、さらにそのソースファイル内にスタイルファイルへの関連付けの記述を加筆する。それらの手順において作成されたウェブページのソースファイルを表示する。
【００９４】
一方、統一スタイルで閲覧する手順１０２３では、ページ部品の内容部がＸＭＬおよびそれに準ずるマークアップ言語で記述されているときのみ有効であり、次の手順で実現される。まず、ページ部品の内容部をもとに、ローカルファイルシステム上にウェブページのソースファイルを生成する。さらに、ソースファイル内に、部品単一閲覧モジュール１０２０があらかじめ用意したスタイルファイルへの関連付けの記述を加筆する。それらの手順において作成されたウェブページのソースファイルを表示する。
【００９５】
また、部品項目表示モジュール１０１０において列挙されているページ部品群に関して、４種類のコマンド（１００２〜１００５）を適用することができる（手順１００１）。
・ページ生成コマンド（１００２）を発行すると、維持している全部または一部のページ部品を含むウェブページが生成され、一般的なウェブブラウザで表示される。
・アプリデータ転送コマンド（１００３）を発行すると、フォーカスされているページ部品が含んでいるアプリケーション用のデータをそれに対応するローカルアプリケーションに転送するのに必要な手続きを対話的に実行する。
・検索コマンド（１００４）を発行すると、維持しているページ部品の中から、タグ名（すなわち要素名）とその内容（すなわち要素値）を元に条件を記述し、それにマッチするページ部品を見つけ出すことができる。
・削除コマンド（１００５）を発行すると、フォーカスされているページ部品が削除される。
【００９６】
図１１は、図３における一般アプリケーションへの接続３０７の詳細な論理的手順の一例を示している。
【００９７】
一般アプリ接続モジュール２２４は、一般アプリケーションへの接続を行うモジュールであり、具体的にはページ部品が含んでいるアプリケーション用のデータをそれに対応するローカルアプリケーションに転送するのに必要な手続きを対話的に実行する。
【００９８】
まず、手順１１０１において、ページ部品に含まれているアプリデータ属性情報４０７をすべて抽出する。
【００９９】
その後、手順１１０２において、ページ部品に含まれているアプリデータ属性情報４０７が１セットであるかどうかを判定し、複数セットある場合は手順１１０４へ移行し、１セットしかない場合は手順１１０５へ移行する。
【０１００】
手順１１０４では、選択メニューコマンドなどのユーザ操作を受け取り、複数存在するアプリデータ属性情報４０７のうち、今回取り出す対象とするアプリケーション用のデータを決定する。
【０１０１】
手順１１０５では、アプリケーション用のデータをダウンロードする際に必要な手続きが存在するかどうかを判定する。具体的には、アプリデータ属性情報を解析しアプリデータ属性情報４０７に、アプリデータ取得手続き情報４０８が含まれている場合は手続きが存在すると判断し、含まれていない場合は手続きが存在しないと判断する。手続きが存在すると判断された場合は手順１１０６へ移行し、手続きが存在しないと判断された場合は手順１１０７へ移行する。
【０１０２】
手順１１０６では、手続きに必要なウェブページを開き、ユーザに手続きを行わせる。具体的には、ウィンドウを開き、そのウィンドウ上にアプリデータ属性情報４０７に含まれているアプリデータ取得手続き情報４０８に記述されているＵＲＬのウェブページを表示して、ユーザに手続きを行わせる。
【０１０３】
手順１１０７では、アプリデータ属性情報に含まれているアプリデータの所在情報４０９に記述されているＵＲＬからアプリケーション用のデータをウェブサーバからダウンロードする。引き続き、手順１１０７では、アプリデータ属性情報４０７に含まれているアプリデータタイプ情報４１０に記述されている識別情報から、対象のアプリケーション用のデータに対応するアプリケーションを特定する。
【０１０４】
そして、手順１１０９では、対応するアプリケーションに対してダウンロードされたアプリケーション用のデータを転送する。ただし、対応するアプリケーションが起動されていない場合は、アプリケーション用のデータを転送する前に、対応するアプリケーションを起動しておく。本実施形態では、この手順１１０９について、ＯＳのシェルの機能を利用して実現するものとする。
【０１０５】
図１２は、図３におけるページの生成３０８の詳細な論理的手順の一例を示している。
【０１０６】
ページ生成モジュール２２５は、維持している全部または一部のページ部品を含むウェブページを生成するモジュールである。
【０１０７】
まず、手順１２１１において、ページ部品データベース２２２から対象となるページ部品を取り出す。
【０１０８】
次に、手順１２１２において、それぞれのページ部品における管理情報部のスタイルシートファイル名９４１を参照することにより、ページ部品に含まれるスタイルシートをリストアップする。このとき、管理情報部のスタイルシートファイル名が一致している場合は同一スタイルシートであるとみなし、重複するスタイルシートは代表を一つ残して、他のスタイルシートはリストアップしない。
【０１０９】
続いて、手順１２１３では、手順１２１２においてリストアップされたスタイルシートの適用されたイメージを、ダイアログボックスに列挙し、ユーザにスタイルシート１２０４を選択させる。ここまでが作成するウェブページに適用するスタイルシートの選択するための手順である。
【０１１０】
次に、手順１２１４において、対象となるページ部品群１２０２の中からページ部品を一つ取りだし、その内容部９１０のコンテナ文書９１２をページ草案１２０５として一時的に維持する。
【０１１１】
次に、手順１２１５において、取り出したページ部品の内容部９１０の接続位置情報９１３を参照することにより、接続位置に対して内容文書９１１をページ草案１２０５に挿入する。
【０１１２】
続いて、手順１２１６において、同じ接続位置に対して、その他のページ部品の内容文書９１１を挿入する。
【０１１３】
最後に、手順１２１７において、手順１２１３にて選択されたスタイルシートを関連付ける記述をページ草案に対して加筆し、ウェブページを完成させる。
【０１１４】
以下では、実行画面例に沿って本システムの利用手順を詳細に説明する。おおまかな手順は以下の通りである。
（１）ウェブページページから本システムへのページ部品のピックアップ
（２）集めたページ部品の整理
（３）集めたページ部品の検索
（４）ページ部品群から新規ウェブページの作成
図１３は、実行画面例の一つを表している。
【０１１５】
１３００は一般的なウェブブラウザ（に対応するウィンドウ）であり、ウェブページを表示する領域を持っている。
【０１１６】
１３２０は、アプリケーションとして実装される、図２の第１のソフトウェアプログラム２２０に対応する部分である。
【０１１７】
１３２１は、ページ部品整理モジュール２２３の部品項目表示モジュール１０１０に相当し、今までに蓄積したページ部品群（１３２３）が表示される。
【０１１８】
１３２２は、部品単一閲覧モジュール１０２０に相当し、部品項目表示モジュール１０１０に表示されているページ部品群のうち、フォーカスされているページ部品の内容が表示される。
【０１１９】
ウェブページ１３１０は、複数の部分文書を含み、ページ内部に図２の第１のソフトウェアプログラム２１０に相当するプログラムを内蔵している。図１３の例では、ウェブページ１３１０は、３つの部分文書（１３１１〜１３１３）が画面内に列挙して表示されており、また、各部分文書には画像（１３１５〜１３１７）が含まれている。
【０１２０】
この部分文書の内容はどのようなものであってもよい。例えば、ウェブページが音楽ＣＤ、書籍、工業部品等の商品のカタログページ、部分文書が個々の商品毎の情報、画像がその商品の外形図である。あるいは、ウェブページがニュースページ、部分文書が１つのニュース、画像がそのニューズ写真である。あるいは、ウェブページが検索サービスページ、部分文書が１つの検索結果、画像がその検索結果に関連する映像である。
【０１２１】
ウェブページ（１３１０）を表示する際には、部分文書（１３１１〜１３１３）については、それが部分文書であること（ページ部品にできること）をユーザに分かるように表示等してもよい。例えば、部分文書であることを示す簡単な画像を部分文書に上書きして表示する方法、部分文書の輪郭を特定の色に着色する方法、これらの処理をマウスカーソルが部分文書上に位置するときにのみ行う方法、マウスカーソルが部分文書上に位置するときにカーソルの表示を変化（例えば、色変化、形状変化）して、もしくは音を発生して、もしくは発生している音を変化させて通知する方法、ドラッグできたことをもって部分文書であることを知らしめる方法など、種々の方法が考えられる。
【０１２２】
なお、図１３の例では、ウェブブラウザのウィンドウ内に本システムに対応する領域が表示されているが、ウェブブラウザのウィンドウと本システムに対応するウィンドウとを別々にしてももちろん構わない。
【０１２３】
本システムによって、表示されたウェブページ内の部分文書（１３１１〜１３１３）は、ページ部品として取り出すことができるように仕組まれており、例えばユーザが所望の部分文書（１３１１〜１３１３）の任意の部分（図１３の例では画像（１３１５〜１３１７）が表示された部分）をドラッグ（１３３１参照）することにより、ページ部品として取り出すことができる。このドラッグ操作は、ユーザ操作２０２にあたり、ページ部品抽出モジュール２１２およびページ部品送信モジュール２１３が順に起動される。そして、例えばドラッグ中のページ部品を部品項目表示モジュール１０１０用表示領域１３２１にドロップ（１３３２参照）することにより、ページ部品がページ部品受信モジュール２２１に渡され、ページ部品データベース２２２に格納される。
【０１２４】
以上の操作を通じて、ユーザは所望の情報をウェブサーバサイトからピックアップし、ページ部品として収集することができる。
【０１２５】
また、このページ部品収集作業は、ウェブページやサイトを超えて行うことができる。例えば、まず、会社Ａのカタログページにおいて、いくつかのカタログ（部分文書）を本システムにピックアップし、続いて、会社Ｂのカタログページへ立ち寄り、そのページからもいくつかのカタログ（部分文書）をピックアップするといったことが可能である。これにより、サイトを超えて情報を収集し比較検討することが可能となる。
【０１２６】
部品単一閲覧モジュール１３２２は、スタイル形式およびジャケット形式の２種類の閲覧モードを持っており、それぞれオリジナルタイル再現機能１０２２および統一スタイル１０２３に相当する。
【０１２７】
図１４（ａ）に示すように、スタイル形式１４０１は、ページ部品がその内部に持っているスタイルシートを適用して表示する方式である。したがって、ページ部品を取得してきた元のサイトで表示されていたスタイルと同じとなる。
【０１２８】
一方、図１４（ｂ）に示すように、ジャケット形式１４０２は、すべてのページ部品に対して適用できる共通のスタイルで表示するものである。
【０１２９】
部品項目表示モジュール１３２１は、ページ部品を図１５の１５０１に示されるユーザフォルダ方式、図１６の１６０１に示される自動カテゴリ方式、図１７（ａ）の１７０１（大きいリスト表示）あるいは図１７（ｂ）の１７０２（小さいリスト表示）に示されるリスト方式の３つの表示方式を有しており、これらは下部についているタブによって切り替えることができる。
【０１３０】
ユーザフォルダ方式１５０１は、集めてきたページ部品をフォルダを用いて分離することができる方式である。ユーザは任意にフォルダを作成、削除することができ、任意フォルダ下に集めてきたページ部品を配置することができる。例えば、会社Ａのウェブサーバサイトから集めてきたページ部品は会社Ａフォルダの下に置くとし、会社Ａフォルダ下に、「売約済み」「これから購入」などのサブフォルダを作成するといったことができる。
【０１３１】
自動カテゴリ方式１６０１は、ページ部品内部にあらかじめ埋め込まれたカテゴリ情報を用いて、自動的にカテゴリ表示する方式である。図１６において、１６０２はカテゴリを表し、１６０３はページ部品を表す。
【０１３２】
例えば、ＰＬＩＢでは工業部品の分類が業界において定義されているので、これを利用し例えばＩＳＯ１３５８４（ＰＬＩＢ）という工業部品規格に沿ってカタログを表示させることができる。その他の分野としては音楽ＣＤや書籍などが考えられる。このように、業界側でトップダウンにアイテムの分類が定義されているような適用領域において、カテゴリ方式１６０１は有効である。
【０１３３】
リスト方式１７０１，１７０２は、カテゴライズを行わない表示方式であり、とりあえず放り込む買い物カゴのイメージである。表示方式は、大きなアイコン表示１７０１と小さなアイコン表示１７０２の２種類があり、メニューによって切り替えることができる。
【０１３４】
また、内部に格納しているページ部品群に対して条件を指定して検索を行うことができる。これにより格納されたページ部品の個数が非常に多くなっても、対象を簡単に見つけ出すことができる。この機能は検索コマンド（１００４）に相当する。検索コマンドは編集メニューから発行する。
【０１３５】
検索コマンドを発行すると、図１８に例示するようなダイアログボックス１８０１が現れる。このダイアログボックス１８０１に検索条件を入力して検索開始ボタン１８０４を押すと、検索が実行される。検索条件の指定方法は、項目別にマッチさせたい値を入力する方法（１８０２）と、問い合わせ言語であるＸＱＬ形式で記述する方法（１８０３）の２種類ある。検索を実行した結果、検索にマッチしたページ部品が存在した場合は、部品項目表示モジュール１３２１において当該ページ部品がフォーカスされる。
【０１３６】
本システムは、以上で説明した手順で複数のウェブサーバサイトからページ部品というモジュール単位で、情報を集めてくることができる。以降で説明する機能は、これら集めてきたページ部品群を一つのウェブページに再構成する機能である。これはページ生成モジュール２２５に相当する。
【０１３７】
ページ部品群を集めたウェブページを作成するには、メニューからブラウズコマンドを発行する。すると、図１９に例示したようなダイアログボックス１９００が現れる。このダイアログボックスはこれから作成するウェブページに適用するスタイルを選択するものである。候補として挙げられているスタイルは、内部に格納しているページ部品群が保持しているスタイルである。重複している場合は代表して一つだけ表示される。
【０１３８】
例えば、二つのウェブサイトから情報を取ってきている場合には、（それらが同じスタイルでないとすると）選択する候補として２種類のスタイルが呈示される（１９０１）。なお、領域１９０２では、１９０１にてフォーカスされているスタイルのサンプルイメージを表示している。
【０１３９】
また、ファイル指定ボタン１９０３を押すと、図２０の２０００のようにダイアログボックスが変化する。ここで現れたエディットボックス２００１にスタイルファイル名を記述することにより、クライアントサイトのファイルシステムに存在するスタイルを適用することができる。これは、サーバサイトに存在するページに対して顧客の資源を適用することができることを意味している。例えば、外部からカタログなどの情報を集めてきて、それを自社のスタイルを適用してページを再構成するということが可能となる。
【０１４０】
以上の手順により適用するスタイルを決定すると、内部に格納しているページ部品群を元に、それらページ部品の情報の全部または一部を含むウェブページが構築され、例えば図２１に示すように、ウェブブラウザのページウィンドウに表示される。
【０１４１】
なお、本実施形態では、本システムを実現するプログラムを、ウェブページ内に組み込まれる第１のソフトウェアプログラムと、ＯＳ上で直接動作する一般的なアプリケーションとして実装される第１のソフトウェアプログラムとに分割して構成したが、第１のソフトウェアプログラムをウェブページにかかわらず共用できるように共通化し、第１のソフトウェアプログラムと第２のソフトウェアプログラムをＯＳ上で直接動作する一般的なアプリケーションとして実装される一体化プログラムとして実施することも可能である。
【０１４２】
また、上記の第２のソフトウェアプログラムや一体化プログラムは、記録媒体に格納した形でもしくは通信媒体を利用して受け渡し等することができる。
【０１４３】
また、本実施形態のウェブ文書内の部分文書の中にさらに部分文書を含ませるような階層構造を採用することも可能である。
【０１４４】
（第２の実施形態）
続いて、本発明をショッピングカートへ適用した場合の実施形態について説明する。
【０１４５】
昨今、ＷＷＷベースの電子商取引システムあるいは電子店舗システム、特に個人客を対象としたＢ２Ｃショッピングサイトなどが、よく見かけられるようになった。ショッピングサイトの多くは、商品検索や比較、購入候補商品の合計金額の見積もり計算、一括した購入手続きなどの機能を提供し、顧客の便宜を図っている。
【０１４６】
電子店舗を提供するショッピングサイトでは、ショッピングカート機能を提供するものもある。ショッピングカート機能では、通常、客は、その電子店舗で選んだ商品をショッピングカートに入れたり、一度入れた商品を自由にカートから取り出したりすることができ、最後に例えば『購入ボタン』あるいは『決定ボタン』あるいは『確定ボタン』を押すなどすることによって、そのときにショッピングカート内に入っている１または複数の商品についてまとめて購入手続きをすることができるようになっている（ここでクレジット番号を入力するなどして複数の商品について一括して支払い手続きを行うことも多い）。
【０１４７】
このようなショッピングサイトは各々、閉じたシステムとして構築されており、いずれのショッピングサイトも他のショッピングサイトとの連携を取る機能を持っていない（なお、単一店舗を提供するショッピングサイトの他に、複数店舗を提供するショッピングモール的なショッピングサイトも散見されるようになったが、サイトの運営が複数ベンダーの出資によって行われているという違いがあるだけであって、システム的には単一店舗のショッピングサイトと同様である）。
【０１４８】
したがって、オンラインで商品を購入するに際して複数の購入先ショッピングサイトの候補がある場合、顧客は、候補となる各々のショッピングサイトにアクセスし、ページ切り替えや画面スクロールやページ・ジャンプなどを何度も繰り返し行いまた必要に応じてメモ・ソフトまたは現実の紙にメモを取るなどして、所望の商品を探し求め、商品の比較を行い、合計金額を計算するなどの作業を行う必要があり、そして、複数のショッピングサイトから商品を購入する段階になったときは該当する各々のショッピングサイトに逐一アクセスし直して発注手続きをしなければならない。このように、顧客は不便を強いられることになる。
【０１４９】
そこで、本実施形態では、クライアント装置側において、各ショッピングページから選択した商品カタログをページ部品にしてクライアント装置が生成するウェブページ（ショッピングカートページ）へ挿入可能とすることによって、複数のショッピングサイトにまたがったショッピングカート機能をクライアント上で実現するようにしている。
詳しくは後述するが本実施形態では、ウェブページからピックアップできる文書単位を（ショッピングサイトから提供されるウェブページに含まれる）商品カタログとし、商品カタログ群を取り扱うことのできるコンテナ文書およびスタイルシートをクライアント・システム内に用意し、これによって商品を列挙するウェブページ（ショッピングカートページ）を合成できるようにしている。さらに詳しくは後述するが本実施形態では、スタイルシートの中にクライアント側で実行される（例えば、Ｊａｖａｓｃｒｉｐｔ、ＶＢＳｃｒｉｐｔ、ＡｐｐｌｅｔあるいはＡｃｔｉｖｅＸなどによる）プログラムを埋め込み、このプログラムにウェブページに対する何らかのユーザ操作に反応したときにあるいはウェブページの表示のときに実行が開始され、各商品のデータ項目（例えば商品の価格情報等）を参照し、必要な処理（例えば合計金額の計算あるいは個数の変更等）を行い、その結果をウェブページの表示に反映させる（フィードバックする）機能を持たせることにより（後述する各機能エンジン）、種々の機能を提供できるようにする（なお、スタイルシートは、あらかじめシステム内に用意しておいてもよいし（内蔵スタイル）、どこかのショッピングサイトから得たものを使ってもよい）。
【０１５０】
まず、本実施形態の概要について説明する。
【０１５１】
本発明を適用するネットワーク環境の一例は図１で説明したものと同様である。本実施形態では、ウェブサーバサイトは電子店舗事業者のショッピングサイトであり、ウェブクライアントは電子店舗の顧客となるユーザの使用するコンピュータシステムである。
【０１５２】
本実施形態では、顧客のウェブクライアント上に配置されたショッピングカートシステムを中心として、個々の独立したショッピングサイトを連携させる。
【０１５３】
以下では、クライアント側のシステムを、「パーソナルショッピングモールシステム」と呼ぶものとする。
【０１５４】
このパーソナルショッピングモールシステムは、次の機能を提供する。
（１）任意のショッピングサイトのウェブページすなわちショッピングページ（商品一覧を含むページ）から任意の商品の商品カタログをピックアップして、ウェブクライアント上に配置されたショッピングカートに格納する機能
（２）ウェブクライアント上のショッピングカートに格納された商品カタログ群に関して、ウェブクライアント上で比較、ソート、合計金額の見積もりなどの処理を行う機能
（３）ウェブクライアント上のショッピングカートに格納された商品群を購入するための手続を一括して行うための機能
これにより、任意のショッピングサイトの任意の商品群に関する商品比較、ソート、合計金額の見積もり、一括購入等が実現される。
【０１５５】
本実施形態では、ウェブクライアント上で上記機能を実現するために、ショッピングサイトの提供するショッピングページには、次のような条件が課せられるものとする。
・ショッピングページの各商品に関して、ウェブクライアント上から「商品データ」、「商品の表示スタイル」を読み取ることができるようになっている。ウェブクライアント上において、商品データに加えて商品の表示スタイルを必要とするのは、商品データをショッピングページ上からピックアップするためのイベントハンドラをセットするときに、その商品データの表示領域を知る必要があるからである。
・商品データには、「価格」および「発注手続き」が含まれている。
【０１５６】
ショッピングサイトの提供するショッピングページに課せられるこのような必要条件を「モール参加規約」と呼ぶものとする。ショッピングサイト事業者は、そのショッピングサイトが提供するショッピングページをモール参加規約に適合させることで、パーソナルショッピングモールシステムに利用してもらうことができる。このようなモール参加規約は、上記必要条件を満たす様々なバージョン（バリエーション）が考えられる。
【０１５７】
以下では、本実施形態についてより詳しく説明する。
【０１５８】
本実施形態のパーソナルショッピングモールシステムでは、モール参加規約を次の内容としている。
（１）各商品カタログの表示部に対してドラッグイベントハンドラを用意し、そのハンドラではＸＭＬ形式の当該商品データ（部分文書）をクリップボードへコピーする処理を入れること。
（２）商品データには「価格」が含まれていること。
（３）商品データには「発注手続き」に関するフォームページへのＵＲＬが含まれていること。
上記のモール参加規約では、ショッピングページをＸＭＬページまたはＨＴＭＬページのいずれで提供してもかまわない。
【０１５９】
ＸＭＬページで提供する場合は、例えば、次のようなページ実装が考えられる。
（１）ショッピングページをＸＭＬ形式で提供する。
（２）各商品カタログのＸＭＬ記述には「価格」が含まれている。
（３）各商品カタログのＸＭＬ記述には「発注手続き」に関するフォームページへのＵＲＬが含まれている。
（４）各商品カタログの表示部に対してドラッグイベントハンドラを用意し、そのハンドラでは当該商品カタログのＸＭＬ記述をクリップボードへコピーする処理を入れる。
【０１６０】
図２２に、モール参加規約に則ったショッピングページの一例を示す。
【０１６１】
図２２（ａ）はウェブページのソースの例であり、この例ではルートタグ＜ｂｏｄｙ＞から＜ｂｏｄｙ／＞までの記述範囲（２９０１）が、１つの商品カタログのソースデータに相当する。商品カタログは、ショッピングページの作者がショッピングページにおいて独立に取り出されることを意図しているショッピングページの部分的な情報資源であり、ショッピングページにおいて１つ以上存在する。
【０１６２】
図２２（ａ）に例示するように、商品データには、著者等の情報（＜ａｕｔｈｅｒ＞、＜ｔｉｔｌｅ＞、＜ｉｓｂｎ＞）の他に、価格に関する情報（＜ｐｒｉｃｅ  ｐｒｉｃｅ＝“ｙｅｓ”  ｕｎｉｔ＝“ｙｅｎ”＞２０００＜／ｐｒｉｃｅ＞）および発注手続に関する情報（＜ｏｒｄｅｒ  ｈｒｅｆ＝“．／ｏｒｄｅｒ．ｃｇｉ？ｉｄ＝１１１”／＞）が含まれている。
【０１６３】
図２２（ｂ）は、（ａ）のショッピングページを表示した例であり、表示イメージ２９０２が商品データ２９０１の表示領域を表している。
【０１６４】
図２２（ｃ）は、商品データ（２９０１）の表示部に対するドラッグイベントハンドラを表している。このイベントハンドラは、この表示部に対するドラッグイベントが検出されると、その商品データを出力する（当該商品データをクリップボードへコピーする）働きを行う。このイベントハンドラは、第１の実施形態のように「タグ情報」に基づいてショッピングページのデータから該当するものを抽出するものであってもよいし、あるいはこのイベントハンドラ内に出力すべきデータが作り込まれているものであってもよい。
【０１６５】
なお、イベントハンドラが商品データを出力する代わりに、商品データのＵＲＬを出力し、クライアント装置がそのＵＲＬにページ要求することによって、商品データ取得するように構成することも可能である。
【０１６６】
ＨＴＭＬページで提供する場合は、例えば、次のようなページ構成が考えられる。
（１）ショッピングページをＡＳＰなどのサーバスクリプトページで記述する。また、そのページには各商品に関するＸＭＬデータが含まれている。
（２）各商品のＸＭＬデータには「価格」が含まれている。
（３）各商品のＸＭＬデータには「発注手続き」に関するフォームページへのＵＲＬが含まれている。
（４）ＡＳＰ内のスクリプトでは、ページ内のＸＭＬデータをＨＴＭＬに変換する。この変換ルールは、ＸＳＬとして記述することも可能である。
（５）この際、各商品表示部に対して、当該ＸＭＬデータをクリップボードへコピーするドラッグイベントハンドラを順にセットする。ＸＭＬデータは、ハンドラプログラム内において、文字列定数として展開されて埋め込まれている。
【０１６７】
本実施形態で例示するパーソナルショッピングモールシステムの主な機能は、以下のようである。
（１）モール参加規約に則った任意のショッピングサイトから任意の商品カタログを、システム内に用意されたショッピングカートに、ドラッグアンドドロップすることにより、その商品カタログを（ページ部品にして）取り込むことができる。
（２）システムが生成したショッピングカートページ内で、システム内に取り込まれた商品カタログ群に関して、次の処理を実行できる。
・比較
・合計金額見積もり
・個数設定
・一括発注
図２３に、本実施形態のクライアント装置（計算機）上で実現されるパーソナルショッピングモールシステムの全体構成例を示す（なお、サーバ装置も図示している）。
【０１６８】
顧客のウェブクライアント上に設置されたパーソナルショッピングモールシステム３００１は、所望のショッピングサイトに配置されているウェブサーバ３０００と、ＨＴＴＰを介して接続可能であり、モール参加規約則った所望のショッピングページ３８２０を取得することができる。なお、第１の実施形態と同様、ページ受信モジュール２８０およびまたはページ発信モジュール２８２を備えてもよい。
【０１６９】
パーソナルショッピングモールシステム３００１は、大きく分けて、ショッピングサイトブラウザ３１００と、ショッピングカートブラウザ３２００から構成されている。
【０１７０】
ショッピングサイトブラウザ３１００は、外部サイトの複数のショッピングサイトを切り替え表示する機能を持っている。
【０１７１】
ショッピングカートブラウザ３２００は、ショッピングサイトブラウザ３１００にて表示されたショッピングページの中からユーザが選択した商品カタログをショッピングカートページ（３８２４）に列挙表示するとともに、さまざまなショッピングカート的な機能を提供する。
【０１７２】
本システムの基本的な利用方法としては、任意の外部のショッピングサイトをショッピングサイトブラウザ３１００上で開き、そのページ上の任意の商品をドラッグアンドドロップ操作３８００を用いてショッピングカートブラウザ３２００上へピックアップすることを想定している。
【０１７３】
図２４に、この商品カタログ選択時（ドラッグアンドドロップ操作時）の処理の流れの概要を示す。
すなわち、ユーザから要求があった場合には、該当するサーバにアクセスしてショッピングページをダウンロードし（手順２４０１）、ダウンロードされたウェブページを解釈して、該ウェブページをＣＲＴ等の表示装置に表示する（手順２４０２）。
なお、既にダウンロードされ保持されているショッピングページが要求された場合には、ダウンロードせずに、保持されているショッピングページを表示してもよいが、保持してから一定時間以上経過しているページは（更新されている可能性があるので）これを再度ダウンロードするように構成すると好ましい。また、ウェブページとして記録媒体により取得したもの（例えば、電子店舗事業者より郵送されてきたもの）を併用することも可能である。さらに、第１の実施形態と同様に、ウェブページを表示する際には、商品カタログについては、それがページ部品にできることをユーザに分かるように表示等してもよい。
次に、ユーザ操作によりドラッグされた商品カタログを抽出しこれをページ部品にして（手順２４０３）、ユーザ操作によりドロップされたショッピングカートページに挿入し（手順２４０４）、ショッピングカートページを（再）表示する（手順２４０５）。
【０１７４】
以下、それぞれの機能およびシステム構成について説明する。
【０１７５】
ショッピングサイトブラウザ３１００は、複数のショッピングサイトを表示することができ、またブラウザ内でのドラッグ操作によって各商品をピックアップすることができる。本例では、この商品のピックアップ機能は、各ショッピングサイトが用意するウェブページに任せているため、ショッピングサイトブラウザ３１００はピックアップに関知しないで済む。
【０１７６】
さて、対象とするショッピングサイトは、一般的なウェブブラウザのようにＵＲＬを直接入力したり、ハイパーリンクをたどることにより訪問することができるのに加え、ショッピングページデータベース３１０１から選択することによって訪問することもできる。また、複数のショッピングサイトを選択した場合は、それらのサイトは同時に開かれタブなどによって切り替えることができる。また、立ち寄ったショッピングサイトのＵＲＬは、自動または指定によって、ショッピングページデータベース３１０１に登録することができる。また、データベース内において、それらＵＲＬのグループ化やカテゴリやグルーピングなどの整理をすることにより、ショッピングページやサイト同士を関連付けることができる。データベース登録されたショッピングサイトは、次回からは選択するだけで訪問することができるのに加え、関連付けられたショッピングサイト群は、そのグループ名を選択するだけで同時に開くことができる。このショッピングサイト同士を関連付ける機能を利用することにより、ユーザが好むショッピングサイトの組み合わせのショッピングモールを仮想的に無限のパターン数で作ることができる。
【０１７７】
ショッピングカートブラウザ３２００は、システムに内蔵された、ショッピングカートＸＳＬモジュール３２１０と、ショッピングカートＸＭＬモジュール３２２０を含んで構成される。また、後述する読込保存モジュール３２３０を更に含んで構成されるようにしてもよい。
【０１７８】
ショッピングカートＸＳＬモジュール３２１０は、商品発注エンジン３２１１、合計金額見積もりエンジン３２１２、商品ソートエンジン３２１３、ページ部品挿入エンジン３２１４、商品並べ替えエンジン３２１５、商品個数変更エンジン３２１６の６つの機能モジュールによって、ショッピングカートブラウザの各機能を提供する。なお、これらのエンジンは、ＸＳＬの出力（フォーマティングオブジェクト）となるＨＴＭＬに付属するクライアント側プログラム（例えば、Ｊａｖａｓｃｒｉｐｔ、ＶＢＳｃｒｉｐｔ、Ａｐｐｌｅｔ、ＡｃｔｉｖｅＸなど）として実装される。
【０１７９】
ショッピングカートＸＭＬモジュール３２２０は、現在システムが格納している各商品カタログに対応する商品データの集合およびその順序を管理しており、ショッピングカートＸＳＬモジュール３２１０に含まれる各機能モジュールの共有データとなっている。
【０１８０】
ショッピングカートブラウザ３２００は、ショッピングサイトブラウザ３１００からドロップされた商品データ３８２２をショッピングカートページ（３８２４）上で一覧表示するとともに、例えば、比較、合計金額見積もり、個数設定、一括発注などのさまざまなショッピングカート的機能を提供する。これらの機能は、ショッピングカートページ上に配置されたボタンなどのＷｉｄｇｅｔを操作することによって利用することができる。
【０１８１】
具体的には、例えば、商品データ３８２２をショッピングカートブラウザ３２００にドロップすると、ページ部品挿入エンジン３２１４がドロップ位置を検出し、ショッピングカートＸＭＬモジュール３２２０の適切な位置に当該商品データ３８２２を挿入し、ショッピングカートブラウザ３２００のショッピングカートページ（３８２４）を再表示する。このとき、合計金額見積もりエンジン３２１２が自動的に合計金額を計算し直す。また、ユーザ操作３８０１に応じて商品のソートや商品個数の変更を行うことができる。これらの機能は、商品ソートエンジン３２１３および商品個数変更エンジン３２１６によって実行される。また、購入ボタンを押すなどのユーザ操作３８０１に応じてそれぞれの商品に対するフォームページである、発注書３９００を各ウェブサーバに対してポストする。この機能は、商品発注エンジン３２１１によって実行される。
【０１８２】
また、オプションとして読込保存モジュール３２３０が組み込まれている場合は、上述のショッピングの作業の状態をファイルとして保存することにより、作業の中断・再開ができる。なお、詳細については、後述する。
【０１８３】
次に、ショッピングサイトブラウザ３１００についてより詳しく説明する。
【０１８４】
ショッピングサイトブラウザ３１００は、内部にショッピングページデータベース３１０１を持っているだけの単純な構造である。そこで、ここでは、ショッピングページデータベースの機能を具体的に説明する。実装は一般的なＤＢＭＳと同じでよい。
【０１８５】
ショッピングページデータベース３１０１は、ショッピングサイトやページのＵＲＬを木構造で管理するデータベースである。
【０１８６】
図２５に、ショッピングページデータベース３１０１に登録されたＵＲＬの一例を示す。「データベースのコンテンツ」のうち、ハッチングで示したノードは、ＵＲＬが保持するノード（これをブックマークと呼ぶ）であり、木構造の葉でなければならない。その他のノードは、それらブックマークをグループ化するためのノード（これをフォルダと呼ぶ）であり、ブックマークおよびフォルダを子ノードを持つことができる。
【０１８７】
ショッピングページデータベース３１０１は、ユーザのコマンドにより、ＵＲＬを任意のフォルダに登録することができる。また、自動登録モードをオンにしておくと、ユーザの明示的なコマンドなしで、訪問したＵＲＬ（あるいは商品の操作を行ったＵＲＬ）の履歴を特定フォルダに自動的に登録することができる。また、ユーザの構成編集系コマンド群によって、フォルダを新規作成したり、各ノードを、移動、コピー、削除することができる。
【０１８８】
また、ショッピングサイトブラウザ３１００でショッピングサイトを閲覧する際は、ショッピングページデータベース３１０１から任意のノードを選択して開くことができる。対象とするノードがブックマークであれば、１箇所のウェブページだけが開かれるが、フォルダである場合、子孫のすべてのブックマークのウェブページが同時にブラウザ上に開かれ、それらはタブなどによって任意の順序で切り替えることができる。
【０１８９】
次に、ショッピングカートブラウザ３２００についてより詳しく説明する。
【０１９０】
ショッピングカートブラウザ３２００は、システムに内蔵された、ショッピングカートＸＳＬモジュール３２１０と、ショッピングカートＸＭＬモジュール３２２０から構成される。
【０１９１】
ショッピングカートブラウザ３２００が提供する機能モジュールは、ショッピングカートＸＳＬモジュール３２１０内にあり、ショッピングカートＸＭＬモジュール３２２０は、それら機能モジュールの共有データとしての位置付けを果たしている。そこで、ここでは、ショッピングカートＸＳＬモジュール３２１０に含まれる、商品発注エンジン３２１１、合計金額見積もりエンジン３２１２、商品ソートエンジン３２１３、ページ部品挿入エンジン３２１４、商品並べ替えエンジン３２１５、商品個数変更エンジン３２１６の６つの機能モジュール別に、それらの機能とアルゴリズムについて説明する。
【０１９２】
まず、ページ部品挿入エンジン３２１４について説明する。
【０１９３】
図２６に、ページ部品挿入エンジン３２１４の構成例を示す。図２６に示されるように、ページ部品挿入エンジン３２１４は、ドロップイベント監視プログラム３２１４１、ルートノード特定プログラム３２１４２、商品カタログ挿入プログラム３２１４３、ウェブページ再表示プログラム３２１４４から構成されている。これらの機能により、ショッピングサイトブラウザ３１００からのドロップによって、ユーザが希望する位置へ当該商品カタログが挿入される。
【０１９４】
図２７に、この場合の処理の一例を示す。以下、このアルゴリズム例を順に説明する。
【０１９５】
手順２７０１において、ドロップイベント監視プログラム３２１４１は、ＸＳＬ処理後のショッピングカートＨＴＭＬ（３８２４）内において、それぞれの商品カタログおよびｂｏｄｙタグに対してドロップイベントハンドラが埋め込まれている。もし新規の商品カタログがドロップされた場合、そのドロップされた場所に存在する商品カタログのドロップイベントハンドラが起動されるか、そのドロップされた場所に商品カタログが存在しない場合は、ｂｏｄｙタグに埋め込まれたドロップイベントハンドラが起動される。前者のドロップイベントハンドラを「位置指定型ドロップイベントハンドラ」、後者のドロップイベントハンドラを「デフォルトドロップイベントハンドラ」と呼ぶものとする。位置指定型ドロップイベントハンドラが起動された場合は、手順２７０２へ進み、デフォルトドロップイベントハンドラが起動された場合は、手順２７０４へ進む。
【０１９６】
手順２７０２において、位置指定型ドロップイベントハンドラは、イベント発生源のＨＴＭＬからそれに該当するＸＭＬの文書領域のルートノードをショッピングカートＸＭＬモジュール３２２０から特定する。特定の方法の一つとしては、表示に際してＸＭＬからＨＴＭＬへ変換するときに、各商品カタログのＸＭＬ文書のルートノードおよび変換後のＨＴＭＬのルートノードにユニークな値のＩＤ属性を付けておき、特定するときはそのＩＤ属性値を元にサーチするという方法がある。
【０１９７】
手順２７０３において、特定されたイベント発生源のＸＭＬルートノードの１つ上の兄となる位置に、ドロップされた商品カタログのＸＭＬ文書を挿入する。
【０１９８】
手順２７０４において、ショッピングカートＸＭＬモジュール３２２０のうち、商品カタログ群を挿入するノード位置はあらかじめシステム内で決められている。デフォルトドロップイベントハンドラは、その位置に対して、ドロップされた商品カタログのＸＭＬ文書を挿入する。
【０１９９】
手順２７０５において、ショッピングカートＸＭＬモジュール３２２０が更新されたので、それに対してショッピングカートＸＳＬモジュール３２１０を適用して、ウェブページを再表示する。
【０２００】
次に、商品並べ替えエンジン３２１５について説明する。
【０２０１】
図２８に、商品並べ替えエンジン３２１５の構成例を示す。図２８に示されるように、商品並べ替えエンジン３２１５は、大きく、ドラッグ処理プログラム３２１８、ドロップ処理プログラム３２１９から構成される。また、ドラッグ処理プログラム３２１８は、ドラッグイベント監視プログラム３２１８１、ドラッグ実行処理プログラム３２１８２から構成されており、ドロップ処理プログラム３２１９は、ドロップイベント監視プログラム３２１９１、ルートノード特定プログラム３２１９２、商品カタログ挿入プログラム３２１９３、ウェブページ再表示プログラム３２１９４から構成されている。これらの機能により、ショッピングカートブラウザ３２００内でのドラッグアンドドロップによって、商品カタログの順序を並べ替えることができる。
【０２０２】
まず、図２９に、ドラック時の処理の一例を示す。
【０２０３】
手順３９０１において、ドラッグイベント監視プログラム３２１８１は、ＸＳＬ処理後のショッピングカートＨＴＭＬ（３８２４）内において、商品カタログごとにドロップイベントハンドラとして埋め込まれている。もしショッピングカート内の商品カタログのいずれかがドラッグされた場合、その商品カタログに割り当てられていたドロップイベントハンドラが起動される。
【０２０４】
手順３９０２において、ドロップイベントハンドラでは、ドラッグ処理を実行するが、これがドラッグ処理実行プログラム３２１８２にあたる。ドラッグ処理実行プログラム３２１８２は、イベント発生源のＨＴＭＬからそれに該当するＸＭＬの文書領域のルートノードをショッピングカートＸＭＬモジュール３２２０から特定する。特定の方法の一つとしては、表示に際してＸＭＬからＨＴＭＬへ変換するときに、各商品カタログのＸＭＬ文書のルートノードおよび変換後のＨＴＭＬのルートノードにユニークな値のＩＤ属性を付けておき、特定するときはそのＩＤ属性値を元にサーチするという方法がある。また、この特定されたノードに対して特定の属性（例えば、ｄｒａｇｇｉｎｇ＝“ｙｅｓ”など）を付けておき（この属性をドラッグ属性と呼ぶものとする）、プログラム内部の特定のグローバルなフラグ変数（例えば、ｂＤｒａｇｇｉｎｇ）をＴｒｕｅにセットする（この変数を並べ替えモードフラグと呼ぶものとする）。これらの情報は、ドロップ処理プログラム３２１９で利用される。
【０２０５】
次に、図３０に、ドロップ時の処理の一例を示す。この処理例は、ページ部品挿入エンジン３２１４による処理例（図２７）とほぼ同じであり、異なるのは手順３９１３および手順３９１４での挿入時に、挿入元となる商品カタログを消去する作業が加わっているだけである。実装においてもページ部品挿入エンジン３２１４の機構を流用することができる。
【０２０６】
手順３９１１において、ドロップイベント監視プログラム３２１９１は、ＸＳＬ処理後のショッピングカートＨＴＭＬ（３８２４）内において、それぞれの商品カタログおよびｂｏｄｙタグに対してドロップイベントハンドラが埋め込まれている。もし新規の商品カタログがドロップされた場合、そのドロップされた場所に存在する商品カタログのドロップイベントハンドラが起動されるか、そのドロップされた場所に商品カタログが存在しない場合は、ｂｏｄｙタグに埋め込まれたドロップイベントハンドラが起動される。前者のドロップイベントハンドラを位置指定型ドロップイベントハンドラ、後者のドロップイベントハンドラをデフォルトドロップイベントハンドラと呼ぶものとする。位置指定型ドロップイベントハンドラが起動された場合は、手順３９１２へ進み、デフォルトドロップイベントハンドラが起動された場合は、手順３９１４へ進む。
【０２０７】
手順３９１２において、位置指定型ドロップイベントハンドラは、イベント発生源のＨＴＭＬからそれに該当するＸＭＬの文書領域のルートノードをショッピングカートＸＭＬモジュール３２２０から特定する。特定の方法の一つとしては、表示に際してＸＭＬからＨＴＭＬへ変換するときに、各商品カタログのＸＭＬ文書のルートノードおよび変換後のＨＴＭＬのルートノードにユニークな値のＩＤ属性を付けておき、特定するときはそのＩＤ属性値を元にサーチするという方法がある。
【０２０８】
手順３９１３において、特定されたイベント発生源のＸＭＬルートノードの１つ上の兄となる位置に、ドロップされた商品カタログのＸＭＬ文書を挿入する。このとき、ドラッグ処理プログラム３２１８によってセットされる並べ替えモードフラグがＴｒｕｅならば、ドラッグ属性の付いているノードを探し、そのノード以下を消去する。
【０２０９】
手順３９１４において、ショッピングカートＸＭＬモジュール３２２０のうち、商品カタログ群を挿入するノード位置はあらかじめシステム内で決められている。デフォルトドロップイベントハンドラは、その位置に対して、ドロップされた商品カタログのＸＭＬ文書を挿入する。このとき、ドラッグ処理プログラム３２１８によってセットされる並べ替えモードフラグがＴｒｕｅならば、ドラッグ属性の付いているノードを探し、そのノード以下を消去する。
【０２１０】
手順３９１５において、ショッピングカートＸＭＬモジュール３２２０が更新されたので、それに対してショッピングカートＸＳＬモジュール３２１０を適用して、ウェブページを再表示する。
【０２１１】
次に、商品個数変更エンジン３２１６について説明する。
【０２１２】
商品個数変更エンジン３２１６は、ショッピングカート上の各商品に関して発注する個数を変更する機能を提供する。これを実現するためには、モール参加規約に、次のルールを追加する。
・発注手続きのＵＲＬに関して、個数を指定する特定のパラメータ記述をサポートすること。
【０２１３】
具体的には、ある商品に関する発注ＵＲＬが“ｈｔｔｐ：／／ｗｗｗ．ｈｏｇｅ．ｃｏｍ／ｏｒｄｅｒ．ｃｇｉ？ｉｄ＝１１１”であるとして、２個発注する場合は、“ｈｔｔｐ：／／ｗｗｗ．ｈｏｇｅ．ｃｏｍ／ｏｒｄｅｒ．ｃｇｉ？ｉｄ＝１１１＆ｎｕｍ＝２”とするなどのルールである。ここでは、モール参加規約は、“ｎｕｍ＝”で商品発注個数を記述するというルールを追加採用するものとする。
【０２１４】
商品個数変更エンジン３２１６は、ＪａｖａｓｃｒｉｐｔやＶＢＳｃｒｉｐｔなどのＤＯＭをアクセスできるクライアントサイドプログラムで実装するのが最も簡単である。ここでは、そのようなプログラムシステムで実装する。
【０２１５】
商品個数変更エンジン３２１６は、２つの処理に分かれる。
【０２１６】
一つは、ショッピングサイトブラウザ３１００からショッピングカートブラウザ３２００にドロップされたときの処理である。ドロップするときにはまだ発注個数は決定していないので、商品記述のＸＭＬには個数に関する記述が含まれていない。したがって、商品カタログのＸＭＬの中に、＜ｎｕｍｂｅｒ＞１＜／ｎｕｍｂｅｒ＞という文書を挿入する。
【０２１７】
次は、個数変更の処理である。個数変更は、ウェブページ上のテキストボックスに対するユーザ書き込みによって行われる。テキストボックスの値が変化すると、個数変更の処理プログラムが起動される。この処理プログラムは、テキストボックスの値を読み取り、ショッピングカートＸＭＬモジュール３２２０内の該当する個数記述（ｎｕｍｂｅｒ要素）を特定して要素値を変更する。ただし、該当するＸＭＬの個数記述を特定する方法は、ページ部品挿入エンジン３２１４と同じ方法（ＩＤによってサーチする方法）を使う。
【０２１８】
次に、合計金額見積もりエンジン３２１２について説明する。
【０２１９】
合計金額見積もりエンジン３２１２は、ＪａｖａｓｃｒｉｐｔやＶＢＳｃｒｉｐｔなどのＤＯＭをアクセスできるクライアントサイドプログラムで実装するのが最も簡単である。ここでは、そのようなプログラムシステムで実装する。
【０２２０】
ショッピングカートＸＭＬモジュール３２２０は、各商品において価格の情報および発注個数を持っている。合計金額見積もりエンジン３２１２は、出力するＨＴＭＬのうち合計金額を表示するテキストボックスなどのタグを処理するときに、ショッピングカートＸＭＬモジュール３２２０の中の各商品の価格と発注個数を読み取って合計を計算し結果をＨＴＭＬの当該タグの値として書き込むように作られている。したがって、ウェブページを（再）表示する際に実行される。
【０２２１】
ただし、各商品の価格をＸＭＬから取り出すためには要素名や属性名など何らかの手がかりが必要であるため、元のショッピングサイト側は、価格のＸＭＬ記述に関するルールにしたがって商品ページを提供していなければならない。
【０２２２】
次に、商品ソートエンジン３２１３について説明する。
【０２２３】
商品ソートエンジン３２１３は、ＪａｖａｓｃｒｉｐｔやＶＢＳｃｒｉｐｔなどのＤＯＭをアクセスできるクライアントサイドプログラムで実装するのが最も簡単である。ここでは、そのようなプログラムシステムで実装する。
【０２２４】
ショッピングカートＸＭＬモジュール３２２０は、各商品において、さまざまなパラメータを持っている。商品ソートエンジン３２１３は、各商品に含まれる項目をすべて取り出して、任意の項目でソートできるようになっている。商品ソートエンジン３２１３には、ユーザ操作のためのＷｉｄｇｅｔとして、ソート項目を選択するセレクタとソートを実行するボタンが用意されており、処理は大きく二つに分かれる。
【０２２５】
まず、処理の一つは、セレクタで選択できる項目を作成である。これは、出力するＨＴＭＬのうち当該セレクタのタグを処理するとき、すなわちウェブページの（再）表示時に実行され、各商品が持つすべての要素名をリストアップしてその結果をセレクタに登録する。
【０２２６】
もう一つの処理は、ソート自身である。ＸＳＬ言語は、ソート命令を持っているので、商品ソートエンジン３２１３は、その機能を利用する。具体的には、ショッピングカートＸＳＬモジュール３２１０のＸＳＬソース内の商品カタログを列挙する命令タグに対して、セレクタで現在選択されている項目でソートするようなソート命令を上書きする。すなわち、自己書き換えを行う。そして、改めてウェブページを再表示する。これにより、ソートされたウェブページが表示される。
【０２２７】
また、商品表示の順序をドラッグアンドドロップで並び替えることができるようにしてもよい。この場合には、まず、ユーザにより商品カタログがドラッグされると自分自身の内容をクリップボードにコピーする、そして、その商品カタログがドロップされるとその位置にその商品カタログをクリップボードからコピーするとともに、元の商品カタログを消す。
【０２２８】
次に、商品発注エンジン３２１１について説明する。
【０２２９】
この場合には、ショッピングサイトが提供する商品カタログ内に購入手続きへの実行エントリポイントが埋め込まれているものとする。
【０２３０】
商品発注エンジン３２１１は、ＪａｖａｓｃｒｉｐｔやＶＢＳｃｒｉｐｔなどのＤＯＭをアクセスできるクライアントサイドプログラムで実装するのが最も簡単である。ここでは、そのようなプログラムシステムで実装する。
【０２３１】
商品発注エンジン３２１１は、ショッピングカートブラウザ３２００に含まれる各商品を一括購入する機能を提供する。具体的には、ショッピングカートブラウザ３２００で表示されているウェブページの一括購入に関するボタンを押すと、各商品に関して発注の手続きが含まれるフォームページを表示しているダイアログボックスがポップアップされる。それらすべてのダイアログボックス上でフォームページを送信すると、各商品がショッピングカート上で指定した個数で発注される。
【０２３２】
処理手順は、次のようになる。まず、一括購入ボタンのクリックイベントを監視し、押された時に、各商品について、その発注手続き用のＵＲＬとその発注個数を取り出す。続いて、各商品について、取り出されたＵＲＬの末尾に対して、“＆ｎｕｍ＝２”など（２個の場合）の個数情報を付け加えて、購入手続きをキックする。そして、取得した当該ＵＲＬのウェブページ（フォームページ）を表示するダイアログボックスを開く。後は、それぞれのフォームページにおいて、ユーザが必要事項を入力して手続を行う。
【０２３３】
次に、読込保存モジュール３２３０について説明する。
【０２３４】
読込保存モジュール３２３０は、パーソナルショッピングモールで行った作業状況をファイルへ保存したり、保存されたファイルを読み込んで前回の作業状況を復活させ、作業の続きを行うことを可能にする。
【０２３５】
保存の方法としては、例えば、ショッピングカート単位で保存する方法と、部品単位で保存する方法の２種類の保存方式があり、それぞれ効果と実装が異なる。
【０２３６】
まず、ショッピングカート単位で保存・読込する方法について説明する。この場合、保存する際には、ショッピングカートＸＭＬモジュール３２２０の内容、およびショッピングサイトブラウザ３１００で開いているＵＲＬのリストを書き出す。逆に、リジュームさせる場合は、それらを読み込んで状態へ反映させる。これにより、作業の続きを行うことが可能となる。
【０２３７】
次に、商品単位で保存・読込する方法について説明する。この場合、保存する際には、ショッピングカートＸＭＬモジュール３２２０の内容を各商品単位に分解し、指定された商品についてもしくはすべての各商品について商品情報を書き込む。ただし、商品情報には、その商品カタログがもともと掲載されていたウェブページのＵＲＬ情報が含まれていなければならない。
逆に、リジュームさせる場合は、まずユーザが対象とする商品情報を複数選択する。選択された商品情報にそれぞれを、ショッピングカートＸＭＬモジュール３２２０に対して追加する。それと同時に、その商品情報に含まれるＵＲＬをショッピングサイトブラウザ３１００に追加する。これにより、指定された商品情報のみがショッピングカートブラウザ３２００で登録され、またそれらの商品に関するウェブページのみがショッピングサイトブラウザ３１００で開かれる結果となる。
【０２３８】
なお、保存の方法については、例えば、複数種類備えておき、ユーザが適宜選択して使用可能としてもよいし、いずれか１種類のみを備えるようにしてもよい。
【０２３９】
次に、本パーソナルショッピングモールシステムのＧＵＩについて説明する。
【０２４０】
図３１に、本パーソナルショッピングモールシステムの実行画面の一例を示す。
【０２４１】
大きく二つのウィンドウがあるが、左側のウィンドウ４１００がショッピングサイトのウェブページを表示しているウェブブラウザで、下部には現在同時に開いているショップを切り替えるためのタブ（４１０３〜４１０６）が付いている。また、右側のウィンドウ４２００が集めてきた商品の一覧（４２１１〜４２１４）を表示しているウェブブラウザである。
【０２４２】
訪れるショッピングサイトは、一般のウェブブラウザと同様ＵＲＬを入力（４００１）することによって選択することもできるし、ショッピングページデータベース３１０１からお気に入りショップとして選択（４００２）することもできる。
【０２４３】
ユーザは、複数のショッピングサイトを回って、気に入った商品があればその商品カタログ（４１０１）を右側のウェブブラウザへドロップする。これにより、ショッピングカートに登録される。
【０２４４】
この作業を経て集めてきた商品群に対し、ソート条件の指定（４２０２）、ソート（４２０１）、合計値段見積もり（４００３）、個数設定（図示せず）、一括発注（４２０４）を行うことができる。これらは、ショッピングカートページの中に配置されているｗｉｄｇｅｔを操作することで実行できる。
【０２４５】
個数の表示・設定は、例えば、ショッピングカートブラウザのウィンドウ４２００のシッピングカートページに表示されている商品カタログの領域内で行われる。
【０２４６】
なお、ショッピングサイトブラウザのウィンドウ４１００の個別のサイトのページで、個別の商品の発注ボタン４１２０を押して、個別に発注することももちろん可能である。
【０２４７】
以下では、本実施形態の利点について説明する。
【０２４８】
ショッピングサイトの連携を図る方法の一つとして、Ｈａｒｒｉｎｇｔｏｎの米国特許（ＵＳＰ：５，８９５，４５４）のように構成対象のショッピングシステムのデータベース管理システムを接続する手法がある。説明の便宜上、この方法によって実現された統合システムを「サーバショッピングモールシステム」と呼ぶものとし、サーバショッピングモールシステムと比較したパーソナルショッピングモールシステムの優位性について以下に説明する。
【０２４９】
パーソナルショッピングモールシステムは、サーバショッピングモールに対して、各ショッピングサイトの構築コストに関して次の優位性がある。
サーバショッピングモールシステムの場合、出店するショッピングサイトは、モールシステム用に特別にシステムを作りこむ必要がある。また、参加先のモールシステムを変更する際には、ショッピングシステムを構築しなおさなければならない。それに対し、パーソナルショッピングモールシステムの場合、対象となるショッピングサイトは、提供する商品カタログ記述に関してモール参加規約を遵守するだけでよい（特別なシステムは不要）。
【０２５０】
サーバショッピングモールシステムにおけるショッピングサイトの出店構成は、概して固定的である。なぜなら出店構成を変更するためには、システムを再構築しなければならないからである。その出店構成が顧客の望むものではなかったとしても、顧客は出店構成を変更することはできない。
それに対しパーソナルショッピングモールシステムの場合、あらかじめ与えられた出店構成というものはなく、顧客は任意のサイトの商品を組み合わせることができる。つまり、顧客は好きなショッピングサイトの商品を組み合わせるショッピングサイト先を自由に決められるので、顧客の嗜好性に合わせたショッピングサイトの組み合わせ、すなわちマイ商店街を作ることが可能である。このことは、例えば、契約などによる取引先に関する制限を持つ企業顧客、ロジスティクスや政治的問題などに関して地域的な制約を持った顧客、レアなジャンルの商品を捜し求めているなど対象商品に制約を持つ顧客などに利益をもたらすことも期待される。
また、中古ショップや「売ります買います」サイトなど、草の根的なショッピングサイトを束ねるのにも便利である。
また、サーバショッピングモールシステムとして構築されたポータルサイトをまたいで、商品をピックアップすることもできるので、サーバショッピングモールシステムを顧客側で補完する使い方もできる。
【０２５１】
なお、第２の実施形態の構成例では、フォームページを取り寄せる際に該当するＵＲＬの末尾に対して“＆ｎｕｍ＝２”などの個数情報を付け加えて購入手続きをキックしたが、このときには個数情報を付加せず、個数情報はユーザがフォームページで入力するようにしてもよい。
また、一括購入数量によって単価が変わる商品を扱う場合、例えば、商品カタログの中に、一括購入数量と単価の関係または一括購入数量と総額の関係を記述することを規約に含めるようにしてもよいし、あるいは一括購入数量毎に商品カタログを用意するようにしてもよい。
また、第１の実施形態のように、スタイルを適宜設定あるいは選択可能としてもよい。
また、商品売買を例にとったが、もちろんホテルの部屋あるいは電車の座席の予約等、種々の契約についても適用可能である。
【０２５２】
さらに、第１の実施形態において第２の実施形態におけるページ部品抽出方法を用いる異も可能であり、第２の実施形態において第１の実施形態におけるページ部品抽出方法を用いる異も可能である。
【０２５３】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【０２５４】
【発明の効果】
本発明によれば、エンドユーザは、汎用的な手続きによって、任意のウェブサイトの独立可能部分同士を組み合わせて、新しいページを作成することができる。また、本発明によれば、ウェブページの提供側に対して強い制限を与えないで済む。
【図面の簡単な説明】
【図１】本発明を適用するネットワーク環境の一例を示す図
【図２】本発明の一実施形態に係るシステムの全体構成例を示す図
【図３】同実施形態のシステムの処理の流れの一例を示すフローチャート
【図４】ウェブページの一例を示す図
【図５】ページ部品の抽出手順の一例を示すフローチャート
【図６】ページ部品の内容部の作成手順の一例を示すフローチャート
【図７】ページ部品の管理情報部の作成手順の一例を示すフローチャート
【図８】ページ部品の管理情報部の作成手順の一例を示すフローチャート
【図９】ページ部品のデータ構造の一例を示す図
【図１０】ページ部品の整理手順の一例を示すフローチャート
【図１１】一般アプリケーションへの接続手順の一例を示すフローチャート
【図１２】ページ生成手順の一例を示すフローチャート
【図１３】実行画面の一例を示す図
【図１４】部品単一閲覧画面の一例を示す図
【図１５】部品項目表示画面の一例を示す図
【図１６】部品項目表示画面の他の例を示す図
【図１７】部品項目表示画面のさらに他の例を示す図
【図１８】検索用入力画面の一例を示す図
【図１９】スタイル選択画面の一例を示す図
【図２０】スタイル選択画面の他の例を示す図
【図２１】複数のページ部品を含むウェブページの表示例を示す図
【図２２】モール参加規約に則ったウェブページの一例について説明するための図
【図２３】本発明の他の実施形態に係るパーソナルショッピングモールシステムの全体構成例を示す図
【図２４】同実施形態のシステムの処理の流れの一例を示すフローチャート
【図２５】ショッピングページデータベースの登録内容の一例を示す図
【図２６】ページ部品挿入エンジンの構成例を示す図
【図２７】ページ部品挿入エンジンの処理手順の一例を示すフローチャート
【図２８】商品並べ替えエンジンの構成例を示す図
【図２９】ドラッグ処理の手順の一例を示すフローチャート
【図３０】ドロップ処理の手順の一例を示すフローチャート
【図３１】パーソナルショッピングモールシステムの表示画面の一例を示す図
【符号の説明】
１０１…クライアント装置
１０２…ウェブクライアントサイト
１０３…コンピュータネットワーク基盤
１０４〜１０６…ウェブサーバサイト
１０７〜１０９…サーバ装置
２０１…ウェブページ
２０５…表示装置
２０６…アプリケーション
２１０…第１のソフトウェアプログラム
２２０…第１のソフトウェアプログラム
２１１…ページ表示モジュール
２１２…ページ部品抽出モジュール
２１３…ページ部品送信モジュール
２２１…ページ部品受信モジュール
２２２…ページ部品データベース
２２３…ページ部品整理モジュール
２２４…一般アプリ接続モジュール
２２５…ページ生成モジュール
２８０…ページ受信モジュール
２８２…ページ発信モジュール
６１０…ページ部品内容抽出モジュール
７１０…ページ部品管理情報生成モジュール
８１０…ページ部品アプリデータ属性情報生成モジュール
１０１０…部品項目表示モジュール
１０２０…部品単一閲覧モジュール
３００１…パーソナルショッピングモールシステム
３０００…ウェブサーバ
３１００…ショッピングサイトブラウザ
３１０１…ショッピングページデータベース
３２００…ショッピングカートブラウザ
３２１０…ショッピングカートＸＳＬモジュール
３２１１…商品発注エンジン
３２１２…合計金額見積もりエンジン
３２１３…商品ソートエンジン
３２１４…ページ部品挿入エンジン
３２１５…商品並べ替えエンジン
３２１６…商品個数変更エンジン
３２１８…ドラッグ処理プログラム
３２１９…ドロップ処理プログラム
３２２０…ショッピングカートＸＭＬモジュール
３２３０…読込保存モジュール
３２１４１，３２１９１…ドロップイベント監視プログラム
３２１４２，３２１９２…ルートノード特定プログラム
３２１４３，３２１９３…商品カタログ挿入プログラム
３２１４４，３２１９４…ウェブページ再表示プログラム
３２１８１…ドラッグイベント監視プログラム
３２１８２…ドラッグ実行処理プログラム
【図１】
0003946934.tif 000002
【図２】
0003946934.tif 000003
【図３】
0003946934.tif 000004
【図４】
0003946934.tif 000005
【図５】
0003946934.tif 000006
【図６】
0003946934.tif 000007
【図７】
0003946934.tif 000008
【図８】
0003946934.tif 000009
【図９】
0003946934.tif 000010
【図１０】
0003946934.tif 000011
【図１１】
0003946934.tif 000012
【図１２】
0003946934.tif 000013
【図１３】
0003946934.tif 000014
【図１４】
0003946934.tif 000015
【図１５】
0003946934.tif 000016
【図１６】
0003946934.tif 000017
【図１７】
0003946934.tif 000018
【図１８】
0003946934.tif 000019
【図１９】
0003946934.tif 000020
【図２０】
0003946934.tif 000021
【図２１】
0003946934.tif 000022
【図２２】
0003946934.tif 000023
【図２３】
0003946934.tif 000024
【図２４】
0003946934.tif 000025
【図２５】
0003946934.tif 000026
【図２６】
0003946934.tif 000027
【図２７】
0003946934.tif 000028
【図２８】
0003946934.tif 000029
【図２９】
0003946934.tif 000030
【図３０】
0003946934.tif 000031
【図３１】
0003946934.tif 000032