(57)【要約】      （修正有）【課題】イベントに応じた適切な処理を実行する。【解決手段】情報処理装置２は、１以上の各イベント識別子ごとに動作識別子を含む動作情報が格納される動作情報格納部２１１と、１以上の各ユーザ識別子ごとに１以上の動作識別子が格納されるユーザ動作情報格納部２１４と、イベント識別子を含むイベント情報をユーザ識別子に対応付けて受信するイベント受信部２２２と、イベント受信部２２２がイベント情報を受信した場合、イベント情報に対応するユーザ識別子に対応する１以上の各動作識別子で識別される１以上の動作を行い、１以上の動作結果を取得する動作部２３１と、１以上の動作結果を出力する出力部２４と、イベント受信部が受信したイベント識別子に対応する動作識別子を動作情報格納部２１１から取得し、動作識別子をユーザ識別子に対応付けてユーザ動作情報格納部２１４に蓄積する動作識別子蓄積部２３２と、を備える。【選択図】図３
2020027385.tif 000002
【特許請求の範囲】
【請求項１】
イベントを識別する１以上の各イベント識別子ごとに、動作を識別する動作識別子を含む動作情報が格納される動作情報格納部と、
ユーザを識別する１以上の各ユーザ識別子ごとに、１以上の動作識別子が格納されるユーザ動作情報格納部と、
イベントを識別するイベント識別子を含むイベント情報を、ユーザ識別子に対応付けて受信するイベント受信部と、
前記イベント受信部がイベント情報を受信した場合、当該イベント情報に対応するユーザ識別子に対応する１以上の各動作識別子で識別される１以上の動作を行い、１以上の動作結果を取得する動作部と、
前記１以上の動作結果を出力する動作結果出力部と、
前記イベント受信部が受信したイベント識別子に対応する動作識別子を前記動作情報格納部から取得し、当該動作識別子を前記イベント受信部が受信したユーザ識別子に対応付けてユーザ動作情報格納部に蓄積する動作識別子蓄積部とを具備する情報処理装置。
【請求項２】
前記動作識別子蓄積部は、
各ユーザ識別子に対して、重複する動作識別子は前記ユーザ動作情報格納部に蓄積しない請求項１記載の情報処理装置。
【請求項３】
前記動作部が行う１以上の動作のうちの少なくとも一の動作は、
当該情報処理装置と通信可能な外部の装置に存在する外部データベースを検索し、検索結果に基づく情報である外部情報を取得する動作を含む請求項１または請求項２記載の情報処理装置。
【請求項４】
１以上の各ユーザ識別子ごとに、１以上のイベント情報が格納されるユーザイベント情報格納部と、
前記イベント受信部が受信したイベント情報を、ユーザ識別子に対応付けて前記ユーザイベント情報格納部に蓄積するイベント情報蓄積部とをさらに具備し、
前記動作部が行う１以上の動作のうちの少なくとも一の動作は、
受信されたイベント情報に対応するユーザ識別子に対応する１以上のイベント情報であり、前記ユーザイベント情報格納部の１以上のイベント情報に対して統計処理した結果である内部情報を取得する動作を含む請求項１または請求項２記載の情報処理装置。
【請求項５】
前記動作部が行う１以上の動作のうちの少なくとも一の動作は、
当該情報処理装置と通信可能な外部の装置に存在する外部データベースを検索し、検索結果に基づく情報である外部情報を取得し、受信されたイベント情報に対応するユーザ識別子に対応する１以上のイベント情報であり、前記ユーザイベント情報格納部の１以上のイベント情報に対して統計処理した結果である内部情報を取得し、かつ前記外部情報と前記内部情報とを用いた統計処理結果を取得する動作を含む請求項１または請求項２記載の情報処理装置。
【請求項６】
１以上の各ユーザ識別子に対応付けて、１以上のイベント情報が格納されるユーザイベント情報格納部と、
１以上の各ユーザ識別子ごとに、１以上の内部情報、１以上の外部情報、または１以上の統計処理結果のうちの１種類以上の情報が、属性に対応付けて格納される統計処理結果格納部と、
前記イベント受信部が受信したイベント情報を、ユーザ識別子に対応付けて前記ユーザイベント情報格納部に蓄積するイベント情報蓄積部とをさらに具備し、
前記動作部が行う１以上の動作のうちの少なくとも一の動作は、
前記ユーザイベント情報格納部の１以上のイベント情報に対して統計処理した結果である内部情報を属性と共に取得する動作、および当該情報処理装置と通信可能な外部の装置に存在する外部データベースを検索し、検索結果に基づく情報である外部情報を属性と共に取得する動作を含み、
前記動作部は、
前記内部情報に対応する属性と前記外部情報に対応する属性とが予め決められた関係を有する場合のみ、前記外部情報と前記内部情報とを用いた統計処理結果を取得し、
前記動作結果出力部は、
前記動作部が取得した統計処理結果を出力する請求項１または請求項２記載の情報処理装置。
【請求項７】
前記動作部が行う１以上の動作のうちの少なくとも一の動作は、
前記イベント受信部が受信したイベント情報の履歴を用いたレコメンドのためのレコメンド情報を取得する動作を含む請求項１から請求項６いずれか一項に記載の情報処理装置。
【請求項８】
イベントを識別する１以上の各イベント識別子ごとに、動作を識別する動作識別子を含む動作情報が格納される動作情報格納部と、ユーザを識別する１以上の各ユーザ識別子ごとに、１以上の動作識別子が格納されるユーザ動作情報格納部と、イベント受信部と、動作部と、動作結果出力部と、動作識別子蓄積部とにより実現される情報処理方法であって、
前記イベント受信部が、イベントを識別するイベント識別子を含むイベント情報を、ユーザ識別子に対応付けて受信するイベント受信ステップと、
前記動作部が、前記イベント受信ステップでイベント情報が受信された場合、当該イベント情報に対応するユーザ識別子に対応する１以上の各動作識別子で識別される１以上の動作を行い、１以上の動作結果を取得する動作ステップと、
前記動作結果出力部が、前記１以上の動作結果を出力する動作結果出力ステップと、
前記動作識別子蓄積部が、前記イベント受信ステップで受信されたイベント識別子に対応する動作識別子を前記動作情報格納部から取得し、当該動作識別子を前記イベント受信ステップで受信されたユーザ識別子に対応付けてユーザ動作情報格納部に蓄積する動作識別子蓄積ステップとを具備する情報処理方法。
【請求項９】
イベントを識別する１以上の各イベント識別子ごとに、動作を識別する動作識別子を含む動作情報が格納される動作情報格納部と、ユーザを識別する１以上の各ユーザ識別子ごとに、１以上の動作識別子が格納されるユーザ動作情報格納部とにアクセス可能なコンピュータを、
イベントを識別するイベント識別子を含むイベント情報を、ユーザ識別子に対応付けて受信するイベント受信部と、
前記イベント受信部がイベント情報を受信した場合、当該イベント情報に対応するユーザ識別子に対応する１以上の各動作識別子で識別される１以上の動作を行い、１以上の動作結果を取得する動作部と、
前記１以上の動作結果を出力する動作結果出力部と、
前記イベント受信部が受信したイベント識別子に対応する動作識別子を前記動作情報格納部から取得し、当該動作識別子を前記イベント受信部が受信したユーザ識別子に対応付けてユーザ動作情報格納部に蓄積する動作識別子蓄積部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ端末から送信されたイベントに対応する処理を行う情報処理装置等に関するものである。
【背景技術】
【０００２】
従来、ポータルサイトや電子商取引のサイトへのアクセス回数を報告・集計するシステムがあった（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−７８９２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術においては、ユーザ端末から受信されたイベントに応じた適切な処理を実行できなかった。
【０００５】
特に、例えば、電子商取引のサイトを実現する情報処理装置において、ユーザの当該サイトへのアクションにより発生するイベントに応じた処理を、ユーザごとに行うことができなかった。
【課題を解決するための手段】
【０００６】
本第一の発明の情報処理装置は、ユーザ端末から受信されるイベントを識別する１以上の各イベント識別子ごとに、動作を識別する動作識別子を含む動作情報が格納される動作情報格納部と、ユーザを識別する１以上の各ユーザ識別子ごとに、１以上の動作識別子が格納されるユーザ動作情報格納部と、イベントを識別するイベント識別子を含むイベント情報を、ユーザ識別子に対応付けて受信するイベント受信部と、イベント受信部がイベント情報を受信した場合、イベント情報に対応するユーザ識別子に対応する１以上の各動作識別子で識別される１以上の動作を行い、１以上の動作結果を取得する動作部と、１以上の動作結果を出力する動作結果出力部と、イベント受信部が受信したイベント識別子に対応する動作識別子を動作情報格納部から取得し、動作識別子をイベント受信部が受信したユーザ識別子に対応付けてユーザ動作情報格納部に蓄積する動作識別子蓄積部とを具備する情報処理装置である。
【０００７】
かかる構成により、ユーザ端末から受信されたイベントに応じた適切な処理をユーザごとに実行できる。
【０００８】
また、本第二の発明の情報処理装置は、第一の発明に対して、動作識別子蓄積部は、各ユーザ識別子に対して、重複する動作識別子はユーザ動作情報格納部に蓄積しない情報処理装置である。
【０００９】
かかる構成により、ユーザ端末から受信されたイベントに応じた適切な処理を効率的に実行できる。
【００１０】
また、本第三の発明の情報処理装置は、第一または第二の発明に対して、動作部が行う１以上の動作のうちの少なくとも一の動作は、情報処理装置と通信可能な外部の装置に存在する外部データベースを検索し、検索結果に基づく情報である外部情報を取得する動作を含む情報処理装置である。
【００１１】
かかる構成により、ユーザ端末から受信されたイベントに応じた適切な処理を、外部データベースを用いて実行できる。
【００１２】
また、本第四の発明の情報処理装置は、第一または第二の発明に対して、１以上の各ユーザ識別子ごとに、１以上のイベント情報が格納されるユーザイベント情報格納部と、イベント受信部が受信したイベント情報を、ユーザ識別子に対応付けてユーザイベント情報格納部に蓄積するイベント情報蓄積部とをさらに具備し、動作部が行う１以上の動作のうちの少なくとも一の動作は、受信されたイベント情報に対応するユーザ識別子に対応する１以上のイベント情報であり、ユーザイベント情報格納部の１以上のイベント情報に対して統計処理した結果である内部情報を取得する動作を含む情報処理装置である。
【００１３】
かかる構成により、ユーザ端末から受信されたイベントに応じた適切な処理を、内部の情報を用いて実行できる。
【００１４】
また、本第五の発明の情報処理装置は、第一または第二の発明に対して、動作部が行う１以上の動作のうちの少なくとも一の動作は、情報処理装置と通信可能な外部の装置に存在する外部データベースを検索し、検索結果に基づく情報である外部情報を取得し、受信されたイベント情報に対応するユーザ識別子に対応する１以上のイベント情報であり、ユーザイベント情報格納部の１以上のイベント情報に対して統計処理した結果である内部情報を取得し、かつ外部情報と内部情報とを用いた統計処理結果を取得する動作を含む情報処理装置である。
【００１５】
かかる構成により、ユーザ端末から受信されたイベントに応じた適切な処理を、外部データベースと内部の情報とを用いて実行できる。
【００１６】
また、本第六の発明の情報処理装置は、第一または第二の発明に対して、１以上の各ユーザ識別子に対応付けて、１以上のイベント情報が格納されるユーザイベント情報格納部と、１以上の各ユーザ識別子ごとに、１以上の内部情報、１以上の外部情報、または１以上の統計処理結果のうちの１種類以上の情報が、属性に対応付けて格納される統計処理結果格納部と、イベント受信部が受信したイベント情報を、ユーザ識別子に対応付けてユーザイベント情報格納部に蓄積するイベント情報蓄積部とをさらに具備し、動作部が行う１以上の動作のうちの少なくとも一の動作は、ユーザイベント情報格納部の１以上のイベント情報に対して統計処理した結果である内部情報を属性と共に取得する動作、および情報処理装置と通信可能な外部の装置に存在する外部データベースを検索し、検索結果に基づく情報である外部情報を属性と共に取得する動作を含み、動作部は、内部情報に対応する属性と外部情報に対応する属性とが予め決められた関係を有する場合のみ、外部情報と内部情報とを用いた統計処理結果を取得し、結果出力部は、動作部が取得した統計処理結果を出力する情報処理装置である。
【００１７】
かかる構成により、ユーザ端末から受信されたイベントおよびデータの属性に応じた適切な処理を実行できる。
【００１８】
また、本第七の発明の情報処理装置は、第一から第六いずれか１つの発明に対して、動作部が行う１以上の動作のうちの少なくとも一の動作は、イベント受信部が受信したイベント情報の履歴を用いたレコメンドのためのレコメンド情報を取得する動作を含む情報処理装置である。
【００１９】
かかる構成により、ユーザ端末から受信されたイベントに応じたレコメンドを行える。
【発明の効果】
【００２０】
本発明による情報処理装置によれば、ユーザ端末から受信されたイベントに応じた適切な処理を実行できる。
【図面の簡単な説明】
【００２１】
【図１】実施の形態１における情報システムＡの概念図
【図２】同情報システムＡのブロック図
【図３】同情報処理装置２のブロック図
【図４】同情報処理装置２の動作について説明するフローチャート
【図５】同動作情報登録処理について説明するフローチャート
【図６】同ユーザ動作実行処理について説明するフローチャート
【図７】同動作情報管理表を示す図
【図８】同ユーザ情報管理表を示す図
【図９】同ユーザイベント情報管理表を示す図
【図１０】同ユーザ動作情報管理表を示す図
【図１１】同統計処理結果管理表を示す図
【図１２】同店舗購入情報管理表を示す図
【図１３】同コンピュータシステムの概観図
【図１４】同コンピュータシステムのブロック図
【発明を実施するための形態】
【００２２】
以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２３】
（実施の形態１）
本実施の形態において、イベントに対応付けて動作識別子が格納されており、イベントをユーザ識別子に対応付けて受信した場合に、当該イベントに対応する動作識別子がユーザ識別子に対応付けて蓄積され、かつユーザ端末からイベントを受信した場合に、当該ユーザ端末のユーザ識別子に対応する動作識別子で識別される動作を実行する情報処理装置について説明する。なお、本実施の形態において、実行される動作は、例えば、外部データベースの検索処理により外部情報を取得する処理、１以上のイベントを統計処理し、内部情報を取得する処理、外部情報と内部情報とを用いた統計処理、ユーザ端末へのレコメンド情報の送信等である。
【００２４】
図１は、本実施の形態における情報システムＡの概念図である。情報システムＡは、１または２以上のユーザ端末１、情報処理装置２、および１または２以上の管理端末３を備える。
【００２５】
１以上の各ユーザ端末１と情報処理装置２とは、インターネット等のネットワークを介して通信可能である。また、情報処理装置２と１以上の管理端末３とは、インターネット等のネットワークを介して通信可能である。ユーザ端末１、管理端末３は、例えば、スマートフォン、タブレット端末、いわゆるパーソナルコンピュータ等であり、その種類は問わない。情報処理装置２は、いわゆるサーバであり、例えば、クラウドサーバ、ＡＳＰサーバ等、その種類は問わない。情報処理装置２は、例えば、電子商取引を行うサーバである。また、ユーザ端末１は、例えば、情報処理装置２にアクセスし、商品等を購入するために、ユーザにより操作される端末である。管理端末３は、例えば、情報処理装置２の運営側の企業のメンバーが使用する端末である。管理端末３は、例えば、情報処理装置２にアクセスするユーザのアクションを監視したり、ユーザのアクションの統計処理結果を出力したりする端末である。
【００２６】
ただし、情報処理装置２、管理端末３の機能は問わない。例えば、情報システムＡは、ユーザ端末１のユーザと管理端末３の管理者とが、例えば、チャットを行うシステムであっても良い。ただし、メッセージの送信は、ユーザ端末１から管理端末３にのみ行えても良い。
【００２７】
図２は、本実施の形態における情報システムＡのブロック図である。図３は、情報処理装置２のブロック図である。
【００２８】
ユーザ端末１は、ユーザ格納部１１、ユーザ受付部１２、ユーザ受信部１３、ユーザ処理部１４、ユーザ出力部１５、およびユーザ送信部１６を備える。
【００２９】
情報処理装置２は、格納部２１、受信部２２、処理部２３、および出力部２４を備える。格納部２１は、動作情報格納部２１１、ユーザ情報格納部２１２、ユーザイベント情報格納部２１３、ユーザ動作情報格納部２１４、および統計処理結果格納部２１５を備える。受信部２２は、指示受信部２２１、およびイベント受信部２２２を備える。処理部２３は、動作部２３１、動作識別子蓄積部２３２、およびイベント情報蓄積部２３３を備える。出力部２４は、動作結果出力部２４１、および結果出力部２４２を備える。
【００３０】
管理端末３は、管理格納部３１、管理受付部３２、管理受信部３３、管理処理部３４、管理出力部３５、および管理送信部３６を備える。
【００３１】
ユーザ端末１を構成するユーザ格納部１１には、各種の情報が格納される。各種の情報は、例えば、ユーザ識別子等である。ユーザ識別子は、ユーザ端末１のユーザを識別する情報である。ユーザ識別子は、例えば、ユーザＩＤ、氏名、メールアドレス、電話番号などである。ユーザ識別子は、ユーザ端末１を識別する端末識別子でも良い。端末識別子は、例えば、ＩＰアドレス、端末ＩＤなどである。各種の情報は、例えば、後述するイベントである。
【００３２】
ユーザ受付部１２は、ユーザからの入力を受け付ける。入力は、指示または情報である。指示または情報の内容は問わない。指示は、例えば、ボタンの押下、メニュー項目の選択等により行われる。また、入力される情報は、例えば、購入する商品の数量、チャットにおけるメッセージ等である。
【００３３】
指示または情報の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。ユーザ受付部１２は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００３４】
ユーザ受信部１３は、各種の情報や指示等を受信する。ユーザ受信部１３は、例えば、情報処理装置２から各種の情報や指示等を受信する。各種の情報や指示等は、例えば、情報処理装置２におけるイベントの処理結果、後述するレコメンド情報、管理者が管理端末３に入力した情報（例えば、チャットの情報）である。また、ユーザ受信部１３は、例えば、管理端末３から各種の情報や指示等を受信する。各種の情報や指示等とは、例えば、管理者が管理端末３に入力した情報（例えば、チャットの情報）である。
【００３５】
ユーザ処理部１４は、各種の処理を行う。各種の処理は、例えば、ユーザ受付部１２が受け付けた指示や情報等に対応するイベント情報を取得する処理である。イベント情報は、イベント識別子を含む。
【００３６】
イベント情報は、例えば、ユーザが入力した情報を含む。イベント情報は、例えば、ユーザ端末１で発生したイベントである内部イベントを含む。内部イベントは、例えば、ユーザからの入力の受け付けにより、ユーザ端末１で発生したイベントである。なお、イベント情報は、例えば、押下されたボタンを識別するボタン識別子、選択されたメニュー項目を識別する項目識別子、ユーザからの入力により実行されたメソッド名または関数名またはスクリプト名等、入力の受け付けによりユーザ端末１で発生したプロセス名またはスレッド名、入力に対応する動作または操作を示す動作識別子のうちの１または２以上の情報を含む。イベント情報は、例えば、画面を識別する画面識別子を含む。動作識別子は、例えば、ウェブページの閲覧を開始したことを示す「閲覧開始」、「カート＆お気に入りボタンクリック」、「商品サムネイル画像クリック」等である。例えば、第一入力に対応付けられた動作識別子は、ユーザ格納部１１に格納されている。
【００３７】
なお、内部で発生したイベントを取得する技術は、公知技術であるので詳細な説明を省略する。また、ユーザ処理部１４がイベント情報を取得する処理は、公知技術により実現可能である。
【００３８】
ユーザ処理部１４は、例えば、ユーザの入力（例えば、一のボタンの押下）に対応する動作識別子（例えば、一のボタンのボタン識別子と対になる動作識別子）をユーザ格納部１１から取得する。動作識別子は、例えば、関数名、メソッド名、関数ＩＤ、実行モジュール名等である。
【００３９】
ユーザ処理部１４は、例えば、１または２以上のイベント情報と時刻情報とを対応付けて取得することは好適である。時刻情報は、時刻に関する情報であり、例えば、時刻を示す情報、時刻に対応する相対的なタイミングの情報である。ユーザ処理部１４は、例えば、時刻情報を図示しない時計またはＮＴＰサーバ等から取得する。
【００４０】
また、ユーザ処理部１４が行う各種の処理は、例えば、ユーザ受付部１２が受け付けた指示や情報等を送信する構造の指示や情報等に変更する処理である。各種の処理は、例えば、ユーザ受信部１３が受信した情報を出力する構造に変更する処理等である。
【００４１】
ユーザ出力部１５は、各種の情報を出力する。各種の情報とは、例えば、ユーザ処理部１４が構成した情報、ユーザ受付部１２が受け付けた指示や情報等、ユーザ受信部１３が受信した各種の情報や指示等である。
【００４２】
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【００４３】
ユーザ送信部１６は、指示や情報等を送信する。指示や情報等とは、例えば、イベント、イベント情報、ユーザ識別子、入力されたテキストである。
【００４４】
ユーザ送信部１６は、通常、指示や情報等を情報処理装置２に送信する。ただし、ユーザ送信部１６は、指示や情報等を管理端末３に送信しても良い。
【００４５】
情報処理装置２を構成する格納部２１には、各種の情報が格納される。各種の情報とは、例えば、後述する動作情報、後述するユーザ情報、後述するユーザイベント情報、後述するユーザ動作情報、後述する統計処理結果等である。
【００４６】
動作情報格納部２１１には、１または２以上の各イベント識別子ごとに、動作情報が格納される。イベント識別子は、イベントを識別する情報である。動作情報は、情報処理装置２で実行される動作に関する情報である。動作情報は、動作を識別する動作識別子を含む。動作識別子は、例えば、関数名、メソッド名、プログラム自体などである。また、動作情報は、動作識別子のみでも良いし、動作識別子と動作を実行するプログラムでも良い。
【００４７】
なお、上記のイベントは、例えば、ユーザ端末１で実行されるイベント、情報処理装置２で実行されるイベント、ユーザ端末１で実行された結果の情報、または情報処理装置２で実行された結果の情報である。イベントは、通常、ユーザ端末１で発生するイベントである。
【００４８】
ユーザ情報格納部２１２には、１または２以上のユーザ情報が格納される。ユーザ情報は、ユーザに関する情報である。ユーザ情報は、ユーザ識別子を含む。ユーザ情報は、例えば、氏名、連絡先情報、住所のうちの１または２以上の情報を有する。連絡先情報は、ユーザへの連絡先を特定する情報であり、例えば、メールアドレス、ユーザ端末１のＩＰアドレス、電話番号ある。
【００４９】
ユーザイベント情報格納部２１３には、１または２以上の各ユーザ識別子ごとに、１または２以上のイベント情報が格納される。ユーザイベント情報格納部２１３には、１以上の各ユーザ識別子に対応付けて、１以上のイベント情報が格納される。イベント情報は、イベントに関する情報である。イベント情報は、イベント識別子を有する。イベント情報は、例えば、１または２以上のパラメータ情報を有する。パラメータ情報は、イベントに関する情報である。パラメータ情報は、値を含む。パラメータ情報は、値の意味を示す属性識別子を有しても良い。属性識別子は、例えば、属性名、属性ＩＤである。イベント情報は、イベントが発生した時刻または実行された時刻を示す時刻情報を有しても良い。
【００５０】
ユーザ動作情報格納部２１４は、１または２以上の各ユーザ識別子ごとに、１または２以上の動作識別子が格納される。ここでの動作識別子は、ユーザのユーザ端末１からのイベントの受信に応じて実行される動作の動作識別子である。つまり、例えば、ユーザ端末１からのイベントの受信の際に、常に、当該ユーザ端末１のユーザのユーザ識別子と対になる１以上の各動作識別子で識別される動作が実行される。
【００５１】
動作識別子は、イベント識別子に対応付けて格納されていても良い。かかる場合、当該動作識別子で識別される動作が、ユーザ端末１からのイベントの受信に応じて、常に実行される訳では無く、動作識別子に対応付けられているイベント識別子で識別されるイベント（イベント識別子でも良い）がユーザ端末１から受信された場合のみ、当該動作識別子で識別される動作が実行されても良い。また、かかる場合、当該動作識別子で識別される動作が、ユーザ端末１からのイベントの受信に応じて、常に実行される訳では無く、動作識別子に対応付けられているイベント識別子で識別されるイベント（イベント識別子でも良い）以外のイベントがユーザ端末１から受信された場合のみ、当該動作識別子で識別される動作が実行されても良い。
【００５２】
統計処理結果格納部２１５は、１または２以上の各ユーザ識別子ごとに、１または２以上の内部情報、１または２以上の外部情報、または１または２以上の統計処理結果のうちの１または２種類以上の情報が、格納される。１以上の内部情報、１以上の外部情報、または１以上の統計処理結果のうちの１種類以上の情報は、属性に対応付けて格納されることは好適である。属性は、例えば、情報の意味を特定する情報、情報の取得方法を特定する情報、情報の演算方法を特定する情報である。属性は、例えば、ｓｕｍ（合計した値であることを示す）、ｌａｓｔ（最後の購入日を示す）、ｍａｘ（購入最高金額であることを示す）である。
【００５３】
受信部２２は、各種の指示や情報を受信する。各種の指示や情報は、例えば、イベント情報である。各種の指示や情報は、例えば、チャットにおけるメッセージである。メッセージは、ユーザ端末1から送信されたメッセージでも良いし、管理端末３から送信されたメッセージでも良い。
【００５４】
指示受信部２２１は、各種の指示を受信する。各種の指示は、例えば、ログイン指示、ログアウト指示である。
【００５５】
イベント受信部２２２は、イベント情報をユーザ識別子に対応付けて受信する。イベント情報は、ユーザ端末1から送信されたイベントに関する情報である。イベント情報は、イベントを識別するイベント識別子を含む。イベント情報は、１または２以上のパラメータ情報を含んでも良い。イベント情報は、イベント識別子のみでも良いし、イベント識別子と１または２以上のパラメータ情報を含む情報等でも良い。
【００５６】
イベント受信部２２２は、ユーザ識別子と共にイベント情報を受信しても良いし、ユーザ識別子を受信した後にイベント情報を受信しても良い。イベント受信部２２２が受信したイベント情報とユーザ識別子とが対応付けば良い。
【００５７】
処理部２３は、各種の処理を行う。各種の処理とは、例えば、動作部２３１、動作識別子蓄積部２３２、イベント情報蓄積部２３３が行う処理である。各種の処理とは、例えば、ユーザ端末１から受信されたログイン指示に従った、ユーザ端末１のログインのための処理（例えば、認証処理を含む）である。また、各種の処理とは、例えば、ユーザ端末１から受信されたログアウト指示に従った、ユーザ端末１のログアウトのための処理である。
【００５８】
動作部２３１は、イベント受信部２２２がイベント情報を受信した場合、当該イベント情報に対応する動作を行う。イベント情報に対応する動作の内容は問わない。イベント情報が商品の購入指示を含む場合、当該イベント情報に対応する動作は商品の購入のための処理（例えば、決済処理、購入指示が有する購入情報の蓄積処理など）である。
【００５９】
動作部２３１は、イベント受信部２２２がイベント情報を受信した場合、当該ベント情報に対応するユーザ識別子に対応する１または２以上の動作識別子をユーザ動作情報格納部２１４から取得し、当該１以上の各動作識別子で識別される１以上の動作を行い、１または２以上の動作結果を取得する。なお、動作識別子で識別される動作の情報は、例えば、動作情報格納部２１１に格納されている。
【００６０】
なお、動作部２３１は、イベント受信部２２２がイベント情報を受信した場合に、常に、ユーザに対応する１以上の各動作識別子で識別される１以上の動作を行っても良い。ただし、動作部２３１は、イベント情報の受信以外の条件に従って、ユーザ識別子に対応する１以上の各動作識別子で識別される１以上の動作を行っても良い。イベント情報の受信以外の条件とは、例えば、予め決められた時刻になった場合である。
【００６１】
また、動作識別子がイベント識別子に対応付けて格納されている場合、動作部２３１は、動作識別子に対応付けられているイベント識別子で識別されるイベント（イベント識別子でも良い）がユーザ端末１から受信された場合のみ、当該動作識別子で識別される動作を実行しても良い。また、動作識別子がイベント識別子に対応付けて格納されている場合、動作部２３１は、当該動作識別子に対応付けられているイベント識別子で識別されるイベント（イベント識別子でも良い）以外のイベントがユーザ端末１から受信された場合のみ、当該動作識別子で識別される動作を実行しても良い。
【００６２】
動作部２３１は、例えば、内部情報に対応する属性と外部情報に対応する属性とが予め決められた関係を有する場合のみ、外部情報と内部情報とを用いた統計処理結果を取得する。なお、予め決められた関係とは、例えば、一致すること、対応付けられていること等である。統計処理結果は、例えば、ＥＣサイトでの購入金額と店舗での購入金額の合計額、ＥＣサイトと実店舗の両方を考慮した最後の購入日、ＥＣサイトと実店舗の両方を考慮した購入最大金額などである。
【００６３】
動作識別子蓄積部２３２は、イベント受信部２２２が受信したイベント識別子に対応する動作識別子を動作情報格納部２１１から取得し、当該動作識別子をイベント受信部２２２が受信したユーザ識別子に対応付けてユーザ動作情報格納部２１４に蓄積する。
【００６４】
動作識別子蓄積部２３２は、各ユーザ識別子に対して、重複する動作識別子はユーザ動作情報格納部２１４に蓄積しないことは好適である。つまり、例えば、動作識別子蓄積部２３２は、イベント受信部２２２がイベント識別子を受信した場合に、当該イベント識別子に対応するユーザ識別子と対になる１以上のイベント識別子の中に、受信されたイベント識別子が存在するか否かを判断し、存在する場合には動作識別子を蓄積する処理は行わず、存在しない場合のみ、イベント受信部２２２が受信したイベント識別子に対応する動作識別子を動作情報格納部２１１から取得し、当該動作識別子をイベント受信部２２２が受信したユーザ識別子に対応付けてユーザ動作情報格納部２１４に蓄積する。
【００６５】
イベント情報蓄積部２３３は、イベント受信部２２２が受信したイベント情報を、ユーザ識別子に対応付けてユーザイベント情報格納部２１３に蓄積する。
【００６６】
出力部２４は、各種の情報を出力する。各種の情報とは、例えば、後述する動作結果、統計処理結果、イベント情報、ユーザまたは管理者が入力したチャットの情報等である。ここで、出力とは、通常、ユーザ端末１または管理端末３への送信である。ただし、出力とは、表示、他のプログラムへの引き渡し、記録媒体への蓄積等でも良い。出力部２４は、例えば、イベント情報を管理端末３に送信する。
【００６７】
動作結果出力部２４１は、１または２以上の動作結果を出力する。動作結果は、動作部２３１が取得した情報である。動作結果は、例えば、購入指示に対応する購入処理が完了した旨の情報、購入指示に対応する決済処理が完了した情報等である。
【００６８】
結果出力部２４２は、統計処理結果を出力する。統計処理結果は、動作部２３１が取得した情報である。
【００６９】
管理端末３を構成する管理格納部３１には、各種の情報が格納される。各種の情報とは、例えば、管理者識別子である。管理者識別子は、管理端末３の管理者を識別する情報であり、例えば、ＩＤである。管理者識別子は、電話番号、メールアドレス等でも良い。なお、第二管理者識別子は、管理端末３を識別する情報であっても良い。情報処理装置２が、例えば、ＥＣサイトである場合、管理端末３はＥＣサイトの管理者の端末である。
【００７０】
管理受付部３２は、管理者から指示や情報等の入力を受け付ける。指示や情報等とは、例えば、例えば、チャットシステムに入力されたテキストである。また、指示や情報等とは、例えば、メッセージ、メール、ショートメッセージ等でも良い。指示や情報等は、例えば、テキストであるが、画像等でも良く、データタイプは問わない。
【００７１】
また、ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付け、カメラでの撮影などを含む概念である。
【００７２】
管理受信部３３は、各種の情報を情報処理装置２から受信する。各種の情報とは、例えば、統計処理結果、イベント情報、ユーザが入力したチャットの情報である。
【００７３】
管理処理部３４は、各種の処理を行う。各種の処理とは、例えば、管理受付部３２が受け付けた指示や情報等を送信する構造の指示や情報等に変更する処理、管理受信部３３が受信した情報を出力する構造に変更する処理等である。
【００７４】
管理出力部３５は、各種の情報を出力する。各種の情報とは、例えば、統計処理結果、イベント情報、ユーザが入力したチャットの情報である。
【００７５】
管理送信部３６は、各種の情報を情報処理装置２に送信する。各種の情報は、例えば、管理者が入力したチャットの情報、各種の指示である。
【００７６】
ユーザ格納部１１、格納部２１、動作情報格納部２１１、ユーザ情報格納部２１２、ユーザイベント情報格納部２１３、ユーザ動作情報格納部２１４、統計処理結果格納部２１５、および管理格納部３１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００７７】
ユーザ格納部１１等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報がユーザ格納部１１等で記憶されるようになってもよく、通信回線等を介して送信された情報がユーザ格納部１１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報がユーザ格納部１１等で記憶されるようになってもよい。
【００７８】
ユーザ受信部１３、受信部２２、指示受信部２２１、イベント受信部２２２、および管理受信部３３は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【００７９】
ユーザ処理部１４、処理部２３、動作部２３１、動作識別子蓄積部２３２、およびイベント情報蓄積部２３３は、通常、ＭＰＵやメモリ等から実現され得る。ユーザ処理部１４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００８０】
ユーザ出力部１５、および管理出力部３５は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。ユーザ出力部１５等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００８１】
ユーザ送信部１６、出力部２４、動作結果出力部２４１、結果出力部２４２、および管理送信部３６は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【００８２】
次に、情報システムＡの動作について説明する。まず、ユーザ端末１の動作について説明する。
【００８３】
ユーザ端末１のユーザ受付部１２は、ユーザからの指示や情報等を受け付ける。次に、ユーザ処理部１４は、ユーザ受付部１２が受け付けた指示や情報等に対応するイベント情報を取得する。次に、ユーザ処理部１４は、ユーザ格納部１１のユーザ識別子を読み出す。そして、ユーザ処理部１４は、ユーザ識別子とイベント情報とを有する送信情報を構成する。次に、ユーザ送信部１６は、ユーザ識別子とイベント情報とを有する送信情報を情報処理装置２に送信する。そして、送信情報の送信に応じて、ユーザ端末１のユーザ受信部１３は、情報処理装置２から情報を受信する。次に、ユーザ処理部１４は、受信された情報を用いて、出力する情報を構成する。次に、ユーザ出力部１５は、構成された情報を出力する。なお、ユーザ端末１は、管理端末３とチャットを行う端末として動作しても良い。また、チャットの処理は公知技術であるので、詳細な説明は省略する。
【００８４】
次に、情報処理装置２の動作について、図４のフローチャートを用いて説明する。
【００８５】
（ステップＳ４０１）イベント受信部２２２は、イベント情報等を受信したか否かを判断する。イベント情報等を受信した場合はステップＳ４０２に行き、イベント情報等を受信しなかった場合はステップＳ４０１に戻る。なお、イベント情報等とは、例えば、イベント情報とユーザ識別子である。
【００８６】
（ステップＳ４０２）イベント情報蓄積部２３３は、ステップＳ４０１で受信されたイベント情報を、当該イベント情報に対応するユーザ識別子に対応付けて、ユーザイベント情報格納部２１３に蓄積する。
【００８７】
（ステップＳ４０３）動作部２３１は、ステップＳ４０１で受信されたイベント情報を用いて、当該イベント情報に対応する動作を行う。
【００８８】
（ステップＳ４０４）動作識別子蓄積部２３２は、動作情報登録処理を行う。動作情報登録処理について、図５のフローチャートを用いて説明する。
【００８９】
（ステップＳ４０５）動作部２３１は、ユーザ動作実行処理を行う。ユーザ動作実行処理について、図６のフローチャートを用いて説明する。
【００９０】
（ステップＳ４０６）処理部２３は、ステップＳ４０３における動作の結果、またはステップＳ４０３における動作の結果とステップＳ４０５におけるユーザ動作実行処理の結果を用いて、ユーザ端末１に送信する情報を構成する。
【００９１】
（ステップＳ４０７）出力部２４は、ステップＳ４０６で構成された情報をユーザ端末１に送信する。
【００９２】
（ステップＳ４０８）処理部２３は、ステップＳ４０３における動作の結果、ステップＳ４０５におけるユーザ動作実行処理の結果のうちの１または２以上の情報を用いて、管理端末３に送信する情報を構成する。
【００９３】
（ステップＳ４０９）出力部２４は、ステップＳ４０８で構成された情報を管理端末３に送信する。ステップＳ４０１に戻る。
【００９４】
なお、図４のフローチャートにおいて、指示受信部２２１が各種の指示（例えば、ログイン指示、ログアウト指示）を受信した場合、処理部２３は、当該指示に応じた処理を行う。
【００９５】
また、図４のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００９６】
次に、ステップＳ４０４の動作情報登録処理について、図５のフローチャートを用いて説明する。
【００９７】
（ステップＳ５０１）動作識別子蓄積部２３２は、受信されたイベント識別子を取得する。
【００９８】
（ステップＳ５０２）動作識別子蓄積部２３２は、ステップＳ５０１で取得したイベント識別子に対応するユーザ識別子を取得する。なお、通常、イベント識別子は、ユーザ識別子に対応付いて受信されている。
【００９９】
（ステップＳ５０３）動作識別子蓄積部２３２は、ユーザイベント情報格納部２１３の中のイベント識別子であり、ステップＳ５０２で取得したユーザ識別子に対応するイベント識別子の中に、ステップＳ５０１で取得されたイベント識別子が存在するか否かを判断する。
【０１００】
（ステップＳ５０４）動作識別子蓄積部２３２は、ステップＳ５０３における判断結果が「存在しない」との場合はステップＳ５０５に行き、「存在する」との場合は上位処理にリターンする。
【０１０１】
（ステップＳ５０５）動作識別子蓄積部２３２は、ステップＳ５０１で取得されたイベント識別子と対になる動作情報を動作情報格納部２１１から取得する。
【０１０２】
（ステップＳ５０６）動作識別子蓄積部２３２は、ステップＳ５０５で取得した動作情報を、ステップＳ５０２で取得したユーザ識別子に対応付けて、ユーザ動作情報格納部２１４に蓄積する。上位処理にリターンする。
【０１０３】
なお、図５のフローチャートのステップS５０４で判断処理を行ったが、判断処理を無くし、常に動作情報を取得し、蓄積しても良い。
【０１０４】
次に、ステップＳ４０５のユーザ動作実行処理について、図６のフローチャートを用いて説明する。
【０１０５】
（ステップＳ６０１）動作部２３１は、ステップＳ４０１で受信されたイベント情報に対応するユーザ識別子を取得する。
【０１０６】
（ステップＳ６０２）動作部２３１は、カウンタｉに１を代入する。
【０１０７】
（ステップＳ６０３）動作部２３１は、ステップＳ６０１で取得されたユーザ識別子に対応するｉ番目の動作情報が、ユーザ動作情報格納部２１４に存在するか否かを判断する。ｉ番目の動作情報が存在する場合はステップＳ６０４に行き、ｉ番目の動作情報が存在しない場合は上位処理にリターンする。
【０１０８】
（ステップＳ６０４）動作部２３１は、ｉ番目の動作情報に対応する動作を実行するか否かを判断する。実行する場合はステップＳ６０５に行き、実行しない場合はステップＳ６０７に行く。なお、動作部２３１は、例えば、ｉ番目の動作情報に対応付いているイベント識別子とステップＳ４０１で受信されたイベント情報（またはイベント識別子）とが予め決められた関係にあるか否かにより、動作を実行するか否かを判断する。
【０１０９】
（ステップＳ６０５）動作部２３１は、ｉ番目の動作情報に対応する動作を実行する。
【０１１０】
（ステップＳ６０６）動作部２３１は、ステップＳ６０５における動作の実行結果を、ユーザ識別子に対応付けて蓄積する。
【０１１１】
（ステップＳ６０７）動作部２３１は、カウンタｉを１、インクリメントする。ステップＳ６０３に戻る。
【０１１２】
次に、管理端末３の動作について説明する。管理端末３の管理受付部３２は、管理者からの指示や情報等を受け付ける。次に、管理処理部３４は、管理受付部３２が受け付けた指示や情報等から送信する情報を構成する。次に、管理送信部３６は、構成された情報を情報処理装置２に送信する。そして、送信情報の送信に応じて、管理端末３の管理受信部３３は、情報処理装置２から情報を受信する。次に、管理処理部３４は、受信された情報を用いて、出力する情報を構成する。次に、管理出力部３５は、構成された情報を出力する。なお、管理受信部３３は、プッシュ型の通信により（管理者からの入力なしに）、情報処理装置２から情報を受信しても良い。かかる場合も、管理処理部３４は受信された情報を用いて出力する情報を構成し、管理出力部３５は構成された情報を出力する。
【０１１３】
以下、本実施の形態における情報システムＡの具体的な動作について説明する。情報システムＡの概念図は図１である。本具体例において、情報処理装置２は、ＥＣサイトのサーバ装置である、とする。
【０１１４】
今、情報処理装置２の動作情報格納部２１１には、図７に示す構造を有する動作情報管理表が格納されている。動作情報管理表は、受信されたイベント識別子に対応して行う動作に関する情報を管理する表である。動作情報管理表は、通常、情報処理装置２の設計者により、予め準備されている表である。動作情報管理表は、「ＩＤ」「イベント識別子」「動作情報」を有するレコードを１または２以上格納し得る。「動作情報」は、ここでは「動作識別子」「プログラム」を有する。「ＩＤ」は、レコードを識別する情報である。なお、「ＩＤ」がレコードを識別する情報であることは他の表においても同様である。「プログラム」は、ここではｅｘｅファイルであるが、そのデータ構造等は問わない。
【０１１５】
また、プログラム「合計金額．ｅｘｅ」は、（１−１）当該ユーザのＥＣサイトでの購入金額の総額を取得する処理、（１−２）ユーザ識別子を有しているユーザに対して、当該ユーザの店舗での購入金額の総額を取得する処理、（１−３）当該ユーザのＥＣサイトでの購入金額の総額と店舗での購入金額の総額とを加算し、ＥＣサイトおよび店舗での購入金額の総額を取得する処理、の３つの処理を行う。なお、（１−１）では、動作部２３１は、現時点でのユーザのＥＣサイトでの購入金額の総額を取得する。つまり、（１−１）では、動作部２３１は、現時点でのユーザのユーザ識別子または端末識別子をキーとして、イベント情報（図９）を検索し、当該イベント情報から、イベント識別子「buy」および属性識別子「price」と対になる「値」をすべて取得し、取得したすべての「値」を加算して、Ｃサイトでの購入金額の総額を取得する。また、（１−２）では、動作部２３１は、外部のサーバ装置にアクセスし、ユーザ識別子をキーとして、商品購入情報管理表を検索し、当該ユーザ識別子と対になる「金額」の属性値をすべて加算し、店舗での購入金額の総額を取得する。さらに、（１−３）では、動作部２３１は、（１−１）と（１−２）で取得した総額を加算し、ＥＣサイトおよび店舗での購入金額の総額を取得する。なお、ユーザ識別子を有しているユーザは、ユーザ登録を行ったユーザである。ユーザ登録を行っていないユーザはユーザ識別子を有さず、端末識別子がキーとなり、他のユーザと区別され得る。
【０１１６】
また、プログラム「最終購入日．ｅｘｅ」は、（２−１）当該ユーザのＥＣサイトでの商品の購入の最終の日を取得する処理、（２−２）ユーザ識別子を有しているユーザに対して、当該ユーザの店舗での商品の購入の最終の日を取得する処理、（２−３）当該ユーザのＥＣサイトおよび店舗での商品の購入の最終の日を取得する処理、の３つの処理を行う。なお、（２−１）では、動作部２３１は、現時点でのユーザのＥＣサイトでの商品の購入の最終の日を取得する。つまり、動作部２３１は、現時点でのユーザのユーザ識別子または端末識別子をキーとして、イベント情報（図９）を検索し、当該イベント情報から、イベント識別子「buy」と対になる「日時」のうちの最新の「日時」が有する日の情報を取得する。また、（２−２）では、動作部２３１は、外部のサーバ装置にアクセスし、ユーザ識別子をキーとして、商品購入情報管理表を検索し、当該ユーザ識別子と対になる「購入日」の属性値のうち最新の日の情報を取得する。さらに、（２−３）では、動作部２３１は、（２−１）と（２−２）で取得した日のうち、新しい日の情報を取得する。
【０１１７】
また、プログラム「最高購入額．ｅｘｅ」は、（３−１）当該ユーザのＥＣサイトでの商品の購入額のうちの最高額を取得する処理、（３−２）ユーザ識別子を有しているユーザに対して、当該ユーザの店舗での商品の購入額のうちの最高額を取得する処理、（３−３）当該ユーザのＥＣサイトおよび店舗での商品の購入額のうちの最高額を取得する処理、の３つの処理を行う。なお、（３−１）では、動作部２３１は、現時点でのユーザのＥＣサイトでの商品の購入金額「price」のうちの最大値を取得する。つまり、動作部２３１は、現時点でのユーザのユーザ識別子または端末識別子をキーとして、イベント情報（図９）を検索し、当該イベント情報から、イベント識別子「buy」および属性識別子「price」と対になる「値」のうちの最大値を取得する。また、（３−２）では、動作部２３１は、外部のサーバ装置にアクセスし、ユーザ識別子をキーとして、商品購入情報管理表を検索し、当該ユーザ識別子と対になる「金額」の属性値のうち最大値を取得する。さらに、（３−３）では、動作部２３１は、（３−１）と（３−２）で取得した値のうち、大きい方の値（ｍａｘ（（３−１）の値，（３−２）の値）を取得する。
【０１１８】
また、プログラム「店舗情報検索．ｅｘｅ」は、当該ユーザが店舗で商品を購入した場合の購入情報を取得する処理を行う。
【０１１９】
また、プログラム「レコメンド．ｅｘｅ」は、ユーザ情報、ユーザの購入履歴のうちの１または２以上の情報を用いて、商品をレコメンドする処理を行う。なお、レコメンドのアルゴリズムは、協調フィルタリング等、問わない。レコメンドのアルゴリズムは、公知のあらゆるアルゴリズムを利用可能である。
【０１２０】
さらに、プログラム「最終訪問日．ｅｘｅ」は、（４−１）当該ユーザのＥＣサイトに最後に訪問した日を取得する処理、（４−２）ユーザ識別子を有しているユーザに対して、当該ユーザの店舗に最後に訪問した日を取得する処理、（４−３）当該ユーザのＥＣサイトおよび店舗に最後に訪問した日を取得する処理、の３つの処理を行う。なお、（４−１）では、動作部２３１は、現時点でのユーザのＥＣサイトでの商品の購入金額「price」のうちの最大値を取得する。つまり、動作部２３１は、現時点でのユーザのユーザ識別子または端末識別子をキーとして、イベント情報（図９）を検索し、当該イベント情報から、イベント識別子「view」と対になる「日時」のうちの最新の日時の中の日の情報を取得する。また、（４−２）では、動作部２３１は、外部のサーバ装置にアクセスし、ユーザ識別子をキーとして、商品購入情報管理表を検索し、当該ユーザ識別子と対になる「購入日」の属性値のうち最新の日の情報を取得する。さらに、（４−３）では、動作部２３１は、（４−１）と（４−２）で取得した値のうち、新しい方の日の情報を取得する。
【０１２１】
また、情報処理装置２のユーザ情報格納部２１２には、図８に示す構造を有するユーザ情報管理表が格納されている。ユーザ情報管理表は、「ユーザ識別子」「氏名」「パスワード」「メールアドレス」を有するレコードを１または２以上格納し得る。「パスワード」は、ユーザ端末１から情報処理装置２にログインする際に使用される。ユーザ情報管理表の各レコードは、ユーザ端末１からのユーザ登録指示を受信した情報処理装置２が、ユーザ登録の処理を行った結果である。なお、ユーザ情報管理表の各レコードは、情報処理装置２が、受信したユーザ登録指示に含まれる氏名、パスワード、メールアドレス等と、生成したユニークなユーザ識別子を有するレコードを構成し、ユーザ情報管理表に蓄積した結果である。また、情報処理装置２は、正常にユーザ登録処理が完了した後、ユーザ端末１に、「ユーザ識別子」「パスワード」を通知する、とする。
【０１２２】
また、情報処理装置２のユーザイベント情報格納部２１３には、図９に示す構造を有するユーザイベント情報管理表が格納されている。ユーザイベント情報管理表は、ユーザごとに、当該ユーザのユーザ端末１への操作に応じて発生したイベントであり、情報処理装置２に送信されたイベントに関する情報が格納される表である。ユーザイベント情報管理表は、「ＩＤ」「ユーザ識別子」「端末識別子」「イベント情報」「日時」を有するレコードを、ユーザごとに、１または２以上格納し得る。「イベント情報」は、ここでは、「イベント識別子」「パラメータ情報」を有する。「パラメータ情報」は、ここでは「属性識別子」「値」を有する。「端末識別子」は、ユーザ端末１を識別する情報であり、ここでは、例えば、ＩＰアドレスである、とする。「端末識別子」は、電話番号やＭＡＣアドレス等でも良い。
【０１２３】
図９において、イベント識別子「identify」は、ユーザ識別子が登録されたこと、またはユーザ識別子を有することを示す。なお、イベント識別子「identify」は、パラメータ情報として、属性識別子「uid」を採り得る。属性識別子「uid」は、「値」がユーザ識別子であることを示す。また、イベント識別子「view」は、ＥＣサイトのウェブページをユーザが閲覧したこと（ユーザ端末１に送信されたこと）を示す。イベント識別子「view」は、パラメータ情報として、属性識別子「page_id」を採り得る。「page_id」は、「値」がウェブページのＩＤであることを示す。また、イベント識別子「buy」は、商品を購入したことを示す。なお、イベント識別子「buy」は、パラメータ情報として、属性識別子「item_id」「price」を採り得る。属性識別子「item_id」は、「値」が購入した商品の識別子であることを示す。属性識別子「price」は、「値」が購入した商品の価格であることを示す。なお、「ユーザ識別子」に属性値を有し、「端末識別子」に属性値を有さないレコードは、ユーザ登録を行わずに、ＥＣサイトを利用しているユーザの管理情報である。
【０１２４】
図９における各レコードのイベント情報は、情報処理装置２がイベント情報を受信するごとに、ユーザ識別子または端末識別子に対応付けて蓄積した情報である。なお、情報処理装置２のイベント情報蓄積部２３３は、例えば、イベント情報が受信された時刻情報（日時）を取得し、図９のレコードを構成する。
【０１２５】
また、情報処理装置２のユーザ動作情報格納部２１４には、図１０に示す構造を有するユーザ動作情報管理表が格納されている。ユーザ動作情報管理表は、ユーザ端末１からイベントが受信された場合に、実行される動作を管理する表である。ユーザ動作情報管理表は、「ＩＤ」「ユーザ識別子」「端末識別子」「動作識別子」を有するレコードを多数格納し得る。
【０１２６】
図１０における各レコードの動作識別子は、情報処理装置２がイベント情報を受信した場合に、上述した動作情報登録処理（図５参照）により蓄積された情報である。
【０１２７】
また、情報処理装置２の統計処理結果格納部２１５には、図１１に示す構造を有する統計処理結果管理表が格納されている。統計処理結果管理表は、ユーザごとの商品購入などの統計処理結果が格納される。統計処理結果管理表は、「ユーザ識別子」「ＥＣサイト購入総額」「ＥＣサイ店舗購入総額」「ＥＣサイト最終訪問日」「ＥＣサイト店舗訪問日」「ＥＣサイト最終購入日」「ＥＣサイト店舗最終購入日」「ＥＣサイト最高購入額」「ＥＣサイト店舗最高購入額」を有するレコードを多数格納し得る。「ＥＣサイト購入総額」は、情報処理装置２（ＥＣサイト）での購入金額の総額である。「ＥＣサイ店舗購入総額」は、同一ユーザのＥＣサイトでの購入金額と店舗での購入金額とを合わせた総額である。「ＥＣサイト最終訪問日」は、ＥＣサイトに最近に訪問した日である。「ＥＣサイト店舗訪問日」は、同一ユーザのＥＣサイトと店舗とを合わせた、最近に訪問した日である。「ＥＣサイト最終購入日」は、ＥＣサイトで最近に商品を購入した日である。「ＥＣサイト店舗最終購入日」は、同一ユーザのＥＣサイトと店舗とを合わせた、最近に商品を購入した日である。「ＥＣサイト最高購入額」は、ＥＣサイトにおける最高の購入金額（最も高額の商品の金額）である。「ＥＣサイト店舗最高購入額」は、同一ユーザのＥＣサイトおよび店舗における最高の購入金額（最も高額の商品の金額）である。なお、店舗における情報は、図１２に示す店舗購入情報管理表から取得され得る。
【０１２８】
さらに、図示しない外部のサーバ装置に、図１２に示す店舗購入情報管理表が格納されている。店舗購入情報管理表は、店舗におけるユーザの商品購入の情報が管理される表である。店舗購入情報管理表は、「ユーザ識別子」「購入日」「購入品識別子」「金額」を有するレコードを多数格納し得る。
【０１２９】
なお、例えば、図示しない外部のサーバ装置は、店舗のＰＯＳレジスタと通信可能であり、ＰＯＳレジスタが読み取ったユーザカードのＩＤ（ユーザ識別子）と、ＰＯＳレジスタが読み取った購入品識別子と、外部のサーバ装置に格納されている商品データベース（図示しない）から購入品識別子をキーとして取得した金額、図示しない時計から取得した購入日を用いてレコードを構成し、蓄積する。このようにして構成された表が図１２に示す店舗購入情報管理表である。なお、店舗購入情報管理表の構成手順は問わない。店舗購入情報管理表の構成方法は公知技術であるので、詳細な説明を省略する。なお、ユーザカードには、ユーザ識別子が格納されている。
【０１３０】
かかる状況において、以下の２つの具体例について説明する。具体例１は、ユーザごとに登録されている動作を実行する例である。具体例２は、一のユーザに対応する新たなイベントを受信したことにより、当該一のユーザに対応付けて、動作識別子を登録する例である。
【０１３１】
（具体例１）
まず、山田Ａ子は、情報処理装置２にログインするために、ユーザ端末１に対して、ユーザ識別子「ｕ０１」、パスワード「ｘｘｘｙｙｙ」を有するログイン指示を入力した、とする。
【０１３２】
すると、ユーザ端末１のユーザ受付部１２は、ユーザ識別子「ｕ０１」、パスワード「ｘｘｘｙｙｙ」を有するログイン指示を受け付ける。次に、ユーザ処理部１４はユーザ識別子「ｕ０１」、パスワード「ｘｘｘｙｙｙ」を有するログイン指示を構成する。なお、当該ログイン指示は、イベント情報「identify uid=ｕ０１」を含む、とする。そして、ユーザ送信部１６は、当該ログイン指示を情報処理装置２に送信する。
【０１３３】
次に、情報処理装置２のイベント受信部２２２は、イベント情報「identify uid=ｕ０１」を含むログイン指示を、山田Ａ子のユーザ端末１から受信する。
【０１３４】
次に、イベント情報蓄積部２３３は、図示しない時計から時刻「２０１８／７／１  １５：１０」を取得する。そして、イベント情報蓄積部２３３は、ユーザ識別子「ｕ０１」に対応付けて、受信されたイベント情報「identify uid=ｕ０１」を、ユーザイベント情報管理表（図９）に蓄積する。すると、図９の「ＩＤ＝１」のレコードにイベント情報「イベント識別子：identify，属性識別子：uid，値：ｕ０１」が追記される。
【０１３５】
次に、動作部２３１は、受信されたログイン指示に従って、ログインのための処理を行う。ここでは、例えば、認証処理を行い、認証許可の結果を得て、認証許可後のウェブページを格納部２１から読み出す。そして、出力部２４は、当該ウェブページを山田Ａ子のユーザ端末１に送信する。なお、山田Ａ子のユーザ端末１は、当該ウェブページを受信し、出力する。
【０１３６】
次に、動作識別子蓄積部２３２は、図５で説明した動作に従って、以下のような動作情報登録処理を行う。つまり、動作識別子蓄積部２３２は、受信されたイベント識別子「identify」を取得する。また、動作識別子蓄積部２３２は、受信されたイベント識別子に対応するユーザ識別子「ｕ０１」を取得する。次に、動作識別子蓄積部２３２は、ユーザイベント情報管理表（図９）の中のイベント識別子であり、取得したユーザ識別子「ｕ０１」に対応するイベント識別子の中に、取得されたイベント識別子「identify」が存在する、と判断する。そして、動作識別子蓄積部２３２は、何らの動作識別子も登録しない。
【０１３７】
次に、動作部２３１は、図６で説明した動作に従って、以下のようなユーザ動作実行処理を行う。つまり、動作部２３１は、受信されたイベント情報に対応するユーザ識別子「ｕ０１」を取得する。そして、動作部２３１は、ユーザ識別子「ｕ０１」に対応する動作識別子「ａ０４，ａ０５，ａ０１，ａ０２，ａ０３」を取得する。
【０１３８】
次に、動作部２３１は、動作識別子「ａ０４」に対応するプログラム「店舗情報検索．ｅｘｅ」を実行し、外部のサーバ装置の店舗購入情報管理表を、ユーザ識別子「ｕ０１」をキーとして検索し、ユーザ識別子「ｕ０１」を含むレコードを取得する。そして、出力部２４は、かかるレコードを、ユーザ識別子「ｕ０１」を含むユーザ情報と共に、管理端末３に送信する。外部のサーバ装置の店舗購入情報管理表を検索する処理は公知技術である。
【０１３９】
次に、動作部２３１は、動作識別子「ａ０５」に対応するプログラム「レコメンド．ｅｘｅ」を実行し、山田Ａ子にレコメンドする商品情報を取得する。なお、多数の商品情報が格納部２１に格納されている、とする。また、ここでのレコメンドのアルゴリズムは問わない。そして、出力部２４は、当該レコメンドする商品情報を山田Ａ子のユーザ端末１に送信する。
【０１４０】
次に、動作部２３１は、動作識別子「ａ０１」に対応するプログラム「合計金額．ｅｘｅ」を実行し、山田Ａ子のＥＣサイトでの購入金額の総額を取得する処理、山田Ａ子の店舗での購入金額の総額を取得する処理、山田Ａ子のＥＣサイトおよび店舗での購入金額の総額を取得する処理を行う。そして、処理部２３は、かかる情報を、図１１にユーザ識別子「ｕ０１」に対応付けて蓄積（更新）する。また、出力部２４は、かかる情報を、ユーザ識別子「ｕ０１」を含むユーザ情報と共に、管理端末３に送信する。
【０１４１】
次に、動作部２３１は、動作識別子「ａ０２」に対応するプログラム「最終購入日．ｅｘｅ」を実行し、ユーザのＥＣサイトでの商品購入の最終日、ユーザの店舗での商品購入の最終日、およびユーザのＥＣサイトおよび店舗での商品購入の最終日を取得する。そして、処理部２３は、かかる情報を、図１１にユーザ識別子「ｕ０１」に対応付けて蓄積（更新）する。また、出力部２４は、かかる情報を、ユーザ識別子「ｕ０１」を含むユーザ情報と共に、管理端末３に送信する。
【０１４２】
次に、動作部２３１は、動作識別子「ａ０３」に対応するプログラム「最高購入額．ｅｘｅ」を実行し、山田Ａ子のＥＣサイトでの最高購入額を取得する処理、山田Ａ子の店舗での最高購入額を取得する処理、山田Ａ子のＥＣサイトおよび店舗での最高購入額を取得する処理を行う。そして、処理部２３は、かかる情報を、図１１にユーザ識別子「ｕ０１」に対応付けて蓄積（更新）する。また、出力部２４は、かかる情報を、ユーザ識別子「ｕ０１」を含むユーザ情報と共に、管理端末３に送信する。
【０１４３】
次に、ユーザ端末１は、レコメンドされる商品情報を受信し、出力する。また、管理端末３は、山田Ａ子のユーザ情報とともに、山田Ａ子の種々の情報を受信し、出力する。
【０１４４】
なお、いかなる情報をユーザ端末１に送信し、いかなる情報を管理端末３に送信するかについては、予め決められている。
【０１４５】
以上、具体例１の処理により、ユーザごとに管理されている動作情報に対応する動作が、イベントの受信に応じて実行される。
【０１４６】
（具体例２）
ユーザ識別子を有さない端末識別子「アドレス２」のユーザは、「氏名：加藤Ｈ子，パスワード：ＡＡＡＢＢＢ，メールアドレス：hk@a.jp」を有するユーザ登録指示をユーザ端末１に入力した、とする。すると、ユーザ端末１のユーザ受付部１２は、かかるユーザ登録指示を受け付ける。次に、ユーザ処理部１４は、送信するユーザ登録指示であり、「氏名：加藤Ｈ子，パスワード：ＡＡＡＢＢＢ，メールアドレス：hk@a.jp」を有するユーザ登録指示を構成する。次に、ユーザ送信部１６は、ユーザ登録指示を情報処理装置２に送信する。
【０１４７】
次に、情報処理装置２の指示受信部２２１は、ユーザ登録指示を受信する。次に、処理部２３は、ユーザ識別子「ｕ１９」を生成する。そして、出力部２４は、当該ユーザ識別子「ｕ１９」を加藤Ｈ子のユーザ端末１に送信する。
【０１４８】
次に、加藤Ｈ子のユーザ端末１のユーザ受信部１３は、「ユーザ識別子：ｕ１９」を受信する。そして、ユーザ端末１のユーザ処理部１４は、ユーザ処理部１４は、受信されたユーザ識別子を用いて、イベント情報「identify uid=ｕ１９」を構成する。次に、ユーザ送信部１６は、イベント情報「identify uid=ｕ１９」を情報処理装置２に送信する。
【０１４９】
次に、情報処理装置２のイベント受信部２２２は、イベント情報「identify uid=ｕ１９」を受信する。
【０１５０】
次に、イベント情報蓄積部２３３は、受信されたイベント情報を、ユーザ識別子「ｕ１９」に対応付けて、ユーザイベント情報管理表に蓄積する。
【０１５１】
次に、動作部２３１は、受信されたイベント情報を用いて、当該イベント情報に対応するユーザ登録処理を行う。つまり、動作部２３１は、ユーザ識別子「ｕ１９」とユーザ登録指示を用いて、ユーザ情報「ユーザ識別子：ｕ１９，氏名：加藤Ｈ子，パスワード：ＡＡＡＢＢＢ，メールアドレス：hk@a.jp」を構成し、当該ユーザ情報を図８に追記する。そして、情報処理装置２の出力部２４は、当該ユーザに対して、「ユーザ識別子：ｕ１９，パスワード：ＡＡＡＢＢＢ」を送信する。
【０１５２】
次に、加藤Ｈ子のユーザ端末１のユーザ受信部１３は、「ユーザ識別子：ｕ１９，パスワード：ＡＡＡＢＢＢ」を受信し、出力する。
【０１５３】
次に、情報処理装置２の動作識別子蓄積部２３２は、図５のフローチャートを用いて説明したように動作情報登録処理を行う。つまり、動作識別子蓄積部２３２は、受信されたイベント識別子「identify」を取得する。また、動作識別子蓄積部２３２は、当該イベント識別子に対応するユーザ識別子「ｕ１９」を取得する。次に、動作識別子蓄積部２３２は、ユーザイベント情報管理表の中のイベント識別子であり、ユーザ識別子「ｕ１９」に対応するイベント識別子の中に、取得されたイベント識別子「identify」が存在しない、と判断する。そして、動作識別子蓄積部２３２は、イベント識別子「identify」と対になる動作識別子「ａ０４」を、動作情報管理表（図７）から取得する。次に、動作識別子蓄積部２３２は、取得した動作識別子「ａ０４」を、ユーザ識別子「ｕ１９」に対応付けて、ユーザ動作情報管理表（図１０）に追記する。
【０１５４】
以上、具体例２の処理により、ユーザごとの動作情報が蓄積される。
【０１５５】
以上、本実施の形態によれば、ユーザ端末から受信されたイベントに応じた適切な処理をユーザごとに実行できる。
【０１５６】
また、本実施の形態によれば、ユーザ端末から受信されたイベントに応じた適切な処理を効率的に実行できる。
【０１５７】
また、本実施の形態によれば、ユーザ端末から受信されたイベントに応じた適切な処理を、外部データベースを用いて実行できる。
【０１５８】
また、本実施の形態によれば、ユーザ端末から受信されたイベントに応じた適切な処理を、内部の情報を用いて実行できる。
【０１５９】
また、本実施の形態によれば、ユーザ端末から受信されたイベントに応じた適切な処理を、外部データベースと内部の情報とを用いて実行できる。
【０１６０】
また、本実施の形態によれば、ユーザ端末から受信されたイベントおよびデータの属性に応じた適切な処理を実行できる。
【０１６１】
さらに、本実施の形態によれば、ユーザ端末から受信されたイベントに応じたレコメンドを行える。
【０１６２】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置２を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、例えば、ユーザ端末から受信されるイベントを識別する１以上の各イベント識別子ごとに、動作を識別する動作識別子を含む動作情報が格納される動作情報格納部と、ユーザを識別する１以上の各ユーザ識別子ごとに、１以上の動作識別子が格納されるユーザ動作情報格納部とにアクセス可能なコンピュータを、イベントを識別するイベント識別子を含むイベント情報を、ユーザ識別子に対応付けて受信するイベント受信部と、前記イベント受信部がイベント情報を受信した場合、当該イベント情報に対応するユーザ識別子に対応する１以上の各動作識別子で識別される１以上の動作を行い、１以上の動作結果を取得する動作部と、前記１以上の動作結果を出力する動作結果出力部と、前記イベント受信部が受信したイベント識別子に対応する動作識別子を前記動作情報格納部から取得し、当該動作識別子を前記イベント受信部が受信したユーザ識別子に対応付けてユーザ動作情報格納部に蓄積する動作識別子蓄積部として機能させるためのプログラムである。
【０１６３】
また、図１３は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置２等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図１３は、このコンピュータシステム３００の概観図であり、図１４は、システム３００のブロック図である。
【０１６４】
図１３において、コンピュータシステム３００は、ＣＤ−ＲＯＭドライブを含むコンピュータ３０１と、キーボード３０２と、マウス３０３と、モニタ３０４とを含む。
【０１６５】
図１４において、コンピュータ３０１は、ＣＤ−ＲＯＭドライブ３０１２に加えて、ＭＰＵ３０１３と、ＣＤ−ＲＯＭドライブ３０１２等に接続されたバス３０１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３０１５と、ＭＰＵ３０１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３０１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３０１７とを含む。ここでは、図示しないが、コンピュータ３０１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０１６６】
コンピュータシステム３００に、上述した実施の形態の情報処理装置２等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３１０１に記憶されて、ＣＤ−ＲＯＭドライブ３０１２に挿入され、さらにハードディスク３０１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３０１に送信され、ハードディスク３０１７に記憶されても良い。プログラムは実行の際にＲＡＭ３０１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３１０１またはネットワークから直接、ロードされても良い。
【０１６７】
プログラムは、コンピュータ３０１に、上述した実施の形態の情報処理装置２等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３００がどのように動作するかは周知であり、詳細な説明は省略する。
【０１６８】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１６９】
また、上記各実施の形態において、一の装置に存在する２以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
【０１７０】
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１７１】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１７２】
以上のように、本発明にかかる情報処理装置は、ユーザ端末で発生したイベントに応じた適切な処理を実行できるという効果を有し、ＥＣサイト等のサーバ装置等として有用である。
【符号の説明】
【０１７３】
１  ユーザ端末
２  情報処理装置
３  管理端末
１１  ユーザ格納部
１２  ユーザ受付部
１３  ユーザ受信部
１４  ユーザ処理部
１５  ユーザ出力部
１６  ユーザ送信部
２１  格納部
２２  受信部
２３  処理部
２４  出力部
３１  管理格納部
３２  管理受付部
３３  管理受信部
３４  管理処理部
３５  管理出力部
３６  管理送信部
２１１  動作情報格納部
２１２  ユーザ情報格納部
２１３  ユーザイベント情報格納部
２１４  ユーザ動作情報格納部
２１５  統計処理結果格納部
２２１  指示受信部
２２２  イベント受信部
２３１  動作部
２３２  動作識別子蓄積部
２３３  イベント情報蓄積部
２４１  動作結果出力部
２４２  結果出力部
【図１】
2020027385.tif 000003
【図２】
2020027385.tif 000004
【図３】
2020027385.tif 000005
【図４】
2020027385.tif 000006
【図５】
2020027385.tif 000007
【図６】
2020027385.tif 000008
【図７】
2020027385.tif 000009
【図８】
2020027385.tif 000010
【図９】
2020027385.tif 000011
【図１０】
2020027385.tif 000012
【図１１】
2020027385.tif 000013
【図１２】
2020027385.tif 000014
【図１３】
2020027385.tif 000015
【図１４】
2020027385.tif 000016