以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、イベントに対応付けて動作識別子が格納されており、イベントをユーザ識別子に対応付けて受信した場合に、当該イベントに対応する動作識別子がユーザ識別子に対応付けて蓄積され、かつユーザ端末からイベントを受信した場合に、当該ユーザ端末のユーザ識別子に対応する動作識別子で識別される動作を実行する情報処理装置について説明する。なお、本実施の形態において、実行される動作は、例えば、外部データベースの検索処理により外部情報を取得する処理、1以上のイベントを統計処理し、内部情報を取得する処理、外部情報と内部情報とを用いた統計処理、ユーザ端末へのレコメンド情報の送信等である。
図1は、本実施の形態における情報システムAの概念図である。情報システムAは、1または2以上のユーザ端末1、情報処理装置2、および1または2以上の管理端末3を備える。
1以上の各ユーザ端末1と情報処理装置2とは、インターネット等のネットワークを介して通信可能である。また、情報処理装置2と1以上の管理端末3とは、インターネット等のネットワークを介して通信可能である。ユーザ端末1、管理端末3は、例えば、スマートフォン、タブレット端末、いわゆるパーソナルコンピュータ等であり、その種類は問わない。情報処理装置2は、いわゆるサーバであり、例えば、クラウドサーバ、ASPサーバ等、その種類は問わない。情報処理装置2は、例えば、電子商取引を行うサーバである。また、ユーザ端末1は、例えば、情報処理装置2にアクセスし、商品等を購入するために、ユーザにより操作される端末である。管理端末3は、例えば、情報処理装置2の運営側の企業のメンバーが使用する端末である。管理端末3は、例えば、情報処理装置2にアクセスするユーザのアクションを監視したり、ユーザのアクションの統計処理結果を出力したりする端末である。
ただし、情報処理装置2、管理端末3の機能は問わない。例えば、情報システムAは、ユーザ端末1のユーザと管理端末3の管理者とが、例えば、チャットを行うシステムであっても良い。ただし、メッセージの送信は、ユーザ端末1から管理端末3にのみ行えても良い。
図2は、本実施の形態における情報システムAのブロック図である。図3は、情報処理装置2のブロック図である。
ユーザ端末1は、ユーザ格納部11、ユーザ受付部12、ユーザ受信部13、ユーザ処理部14、ユーザ出力部15、およびユーザ送信部16を備える。
情報処理装置2は、格納部21、受信部22、処理部23、および出力部24を備える。格納部21は、動作情報格納部211、ユーザ情報格納部212、ユーザイベント情報格納部213、ユーザ動作情報格納部214、および統計処理結果格納部215を備える。受信部22は、指示受信部221、およびイベント受信部222を備える。処理部23は、動作部231、動作識別子蓄積部232、およびイベント情報蓄積部233を備える。出力部24は、動作結果出力部241、および結果出力部242を備える。
管理端末3は、管理格納部31、管理受付部32、管理受信部33、管理処理部34、管理出力部35、および管理送信部36を備える。
ユーザ端末1を構成するユーザ格納部11には、各種の情報が格納される。各種の情報は、例えば、ユーザ識別子等である。ユーザ識別子は、ユーザ端末1のユーザを識別する情報である。ユーザ識別子は、例えば、ユーザID、氏名、メールアドレス、電話番号などである。ユーザ識別子は、ユーザ端末1を識別する端末識別子でも良い。端末識別子は、例えば、IPアドレス、端末IDなどである。各種の情報は、例えば、後述するイベントである。
ユーザ受付部12は、ユーザからの入力を受け付ける。入力は、指示または情報である。指示または情報の内容は問わない。指示は、例えば、ボタンの押下、メニュー項目の選択等により行われる。また、入力される情報は、例えば、購入する商品の数量、チャットにおけるメッセージ等である。
指示または情報の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。ユーザ受付部12は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
ユーザ受信部13は、各種の情報や指示等を受信する。ユーザ受信部13は、例えば、情報処理装置2から各種の情報や指示等を受信する。各種の情報や指示等は、例えば、情報処理装置2におけるイベントの処理結果、後述するレコメンド情報、管理者が管理端末3に入力した情報(例えば、チャットの情報)である。また、ユーザ受信部13は、例えば、管理端末3から各種の情報や指示等を受信する。各種の情報や指示等とは、例えば、管理者が管理端末3に入力した情報(例えば、チャットの情報)である。
ユーザ処理部14は、各種の処理を行う。各種の処理は、例えば、ユーザ受付部12が受け付けた指示や情報等に対応するイベント情報を取得する処理である。イベント情報は、イベント識別子を含む。
イベント情報は、例えば、ユーザが入力した情報を含む。イベント情報は、例えば、ユーザ端末1で発生したイベントである内部イベントを含む。内部イベントは、例えば、ユーザからの入力の受け付けにより、ユーザ端末1で発生したイベントである。なお、イベント情報は、例えば、押下されたボタンを識別するボタン識別子、選択されたメニュー項目を識別する項目識別子、ユーザからの入力により実行されたメソッド名または関数名またはスクリプト名等、入力の受け付けによりユーザ端末1で発生したプロセス名またはスレッド名、入力に対応する動作または操作を示す動作識別子のうちの1または2以上の情報を含む。イベント情報は、例えば、画面を識別する画面識別子を含む。動作識別子は、例えば、ウェブページの閲覧を開始したことを示す「閲覧開始」、「カート&お気に入りボタンクリック」、「商品サムネイル画像クリック」等である。例えば、第一入力に対応付けられた動作識別子は、ユーザ格納部11に格納されている。
なお、内部で発生したイベントを取得する技術は、公知技術であるので詳細な説明を省略する。また、ユーザ処理部14がイベント情報を取得する処理は、公知技術により実現可能である。
ユーザ処理部14は、例えば、ユーザの入力(例えば、一のボタンの押下)に対応する動作識別子(例えば、一のボタンのボタン識別子と対になる動作識別子)をユーザ格納部11から取得する。動作識別子は、例えば、関数名、メソッド名、関数ID、実行モジュール名等である。
ユーザ処理部14は、例えば、1または2以上のイベント情報と時刻情報とを対応付けて取得することは好適である。時刻情報は、時刻に関する情報であり、例えば、時刻を示す情報、時刻に対応する相対的なタイミングの情報である。ユーザ処理部14は、例えば、時刻情報を図示しない時計またはNTPサーバ等から取得する。
また、ユーザ処理部14が行う各種の処理は、例えば、ユーザ受付部12が受け付けた指示や情報等を送信する構造の指示や情報等に変更する処理である。各種の処理は、例えば、ユーザ受信部13が受信した情報を出力する構造に変更する処理等である。
ユーザ出力部15は、各種の情報を出力する。各種の情報とは、例えば、ユーザ処理部14が構成した情報、ユーザ受付部12が受け付けた指示や情報等、ユーザ受信部13が受信した各種の情報や指示等である。
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
ユーザ送信部16は、指示や情報等を送信する。指示や情報等とは、例えば、イベント、イベント情報、ユーザ識別子、入力されたテキストである。
ユーザ送信部16は、通常、指示や情報等を情報処理装置2に送信する。ただし、ユーザ送信部16は、指示や情報等を管理端末3に送信しても良い。
情報処理装置2を構成する格納部21には、各種の情報が格納される。各種の情報とは、例えば、後述する動作情報、後述するユーザ情報、後述するユーザイベント情報、後述するユーザ動作情報、後述する統計処理結果等である。
動作情報格納部211には、1または2以上の各イベント識別子ごとに、動作情報が格納される。イベント識別子は、イベントを識別する情報である。動作情報は、情報処理装置2で実行される動作に関する情報である。動作情報は、動作を識別する動作識別子を含む。動作識別子は、例えば、関数名、メソッド名、プログラム自体などである。また、動作情報は、動作識別子のみでも良いし、動作識別子と動作を実行するプログラムでも良い。
なお、上記のイベントは、例えば、ユーザ端末1で実行されるイベント、情報処理装置2で実行されるイベント、ユーザ端末1で実行された結果の情報、または情報処理装置2で実行された結果の情報である。イベントは、通常、ユーザ端末1で発生するイベントである。
ユーザ情報格納部212には、1または2以上のユーザ情報が格納される。ユーザ情報は、ユーザに関する情報である。ユーザ情報は、ユーザ識別子を含む。ユーザ情報は、例えば、氏名、連絡先情報、住所のうちの1または2以上の情報を有する。連絡先情報は、ユーザへの連絡先を特定する情報であり、例えば、メールアドレス、ユーザ端末1のIPアドレス、電話番号ある。
ユーザイベント情報格納部213には、1または2以上の各ユーザ識別子ごとに、1または2以上のイベント情報が格納される。ユーザイベント情報格納部213には、1以上の各ユーザ識別子に対応付けて、1以上のイベント情報が格納される。イベント情報は、イベントに関する情報である。イベント情報は、イベント識別子を有する。イベント情報は、例えば、1または2以上のパラメータ情報を有する。パラメータ情報は、イベントに関する情報である。パラメータ情報は、値を含む。パラメータ情報は、値の意味を示す属性識別子を有しても良い。属性識別子は、例えば、属性名、属性IDである。イベント情報は、イベントが発生した時刻または実行された時刻を示す時刻情報を有しても良い。
ユーザ動作情報格納部214は、1または2以上の各ユーザ識別子ごとに、1または2以上の動作識別子が格納される。ここでの動作識別子は、ユーザのユーザ端末1からのイベントの受信に応じて実行される動作の動作識別子である。つまり、例えば、ユーザ端末1からのイベントの受信の際に、常に、当該ユーザ端末1のユーザのユーザ識別子と対になる1以上の各動作識別子で識別される動作が実行される。
動作識別子は、イベント識別子に対応付けて格納されていても良い。かかる場合、当該動作識別子で識別される動作が、ユーザ端末1からのイベントの受信に応じて、常に実行される訳では無く、動作識別子に対応付けられているイベント識別子で識別されるイベント(イベント識別子でも良い)がユーザ端末1から受信された場合のみ、当該動作識別子で識別される動作が実行されても良い。また、かかる場合、当該動作識別子で識別される動作が、ユーザ端末1からのイベントの受信に応じて、常に実行される訳では無く、動作識別子に対応付けられているイベント識別子で識別されるイベント(イベント識別子でも良い)以外のイベントがユーザ端末1から受信された場合のみ、当該動作識別子で識別される動作が実行されても良い。
統計処理結果格納部215は、1または2以上の各ユーザ識別子ごとに、1または2以上の内部情報、1または2以上の外部情報、または1または2以上の統計処理結果のうちの1または2種類以上の情報が、格納される。1以上の内部情報、1以上の外部情報、または1以上の統計処理結果のうちの1種類以上の情報は、属性に対応付けて格納されることは好適である。属性は、例えば、情報の意味を特定する情報、情報の取得方法を特定する情報、情報の演算方法を特定する情報である。属性は、例えば、sum(合計した値であることを示す)、last(最後の購入日を示す)、max(購入最高金額であることを示す)である。
受信部22は、各種の指示や情報を受信する。各種の指示や情報は、例えば、イベント情報である。各種の指示や情報は、例えば、チャットにおけるメッセージである。メッセージは、ユーザ端末1から送信されたメッセージでも良いし、管理端末3から送信されたメッセージでも良い。
指示受信部221は、各種の指示を受信する。各種の指示は、例えば、ログイン指示、ログアウト指示である。
イベント受信部222は、イベント情報をユーザ識別子に対応付けて受信する。イベント情報は、ユーザ端末1から送信されたイベントに関する情報である。イベント情報は、イベントを識別するイベント識別子を含む。イベント情報は、1または2以上のパラメータ情報を含んでも良い。イベント情報は、イベント識別子のみでも良いし、イベント識別子と1または2以上のパラメータ情報を含む情報等でも良い。
イベント受信部222は、ユーザ識別子と共にイベント情報を受信しても良いし、ユーザ識別子を受信した後にイベント情報を受信しても良い。イベント受信部222が受信したイベント情報とユーザ識別子とが対応付けば良い。
処理部23は、各種の処理を行う。各種の処理とは、例えば、動作部231、動作識別子蓄積部232、イベント情報蓄積部233が行う処理である。各種の処理とは、例えば、ユーザ端末1から受信されたログイン指示に従った、ユーザ端末1のログインのための処理(例えば、認証処理を含む)である。また、各種の処理とは、例えば、ユーザ端末1から受信されたログアウト指示に従った、ユーザ端末1のログアウトのための処理である。
動作部231は、イベント受信部222がイベント情報を受信した場合、当該イベント情報に対応する動作を行う。イベント情報に対応する動作の内容は問わない。イベント情報が商品の購入指示を含む場合、当該イベント情報に対応する動作は商品の購入のための処理(例えば、決済処理、購入指示が有する購入情報の蓄積処理など)である。
動作部231は、イベント受信部222がイベント情報を受信した場合、当該ベント情報に対応するユーザ識別子に対応する1または2以上の動作識別子をユーザ動作情報格納部214から取得し、当該1以上の各動作識別子で識別される1以上の動作を行い、1または2以上の動作結果を取得する。なお、動作識別子で識別される動作の情報は、例えば、動作情報格納部211に格納されている。
なお、動作部231は、イベント受信部222がイベント情報を受信した場合に、常に、ユーザに対応する1以上の各動作識別子で識別される1以上の動作を行っても良い。ただし、動作部231は、イベント情報の受信以外の条件に従って、ユーザ識別子に対応する1以上の各動作識別子で識別される1以上の動作を行っても良い。イベント情報の受信以外の条件とは、例えば、予め決められた時刻になった場合である。
また、動作識別子がイベント識別子に対応付けて格納されている場合、動作部231は、動作識別子に対応付けられているイベント識別子で識別されるイベント(イベント識別子でも良い)がユーザ端末1から受信された場合のみ、当該動作識別子で識別される動作を実行しても良い。また、動作識別子がイベント識別子に対応付けて格納されている場合、動作部231は、当該動作識別子に対応付けられているイベント識別子で識別されるイベント(イベント識別子でも良い)以外のイベントがユーザ端末1から受信された場合のみ、当該動作識別子で識別される動作を実行しても良い。
動作部231は、例えば、内部情報に対応する属性と外部情報に対応する属性とが予め決められた関係を有する場合のみ、外部情報と内部情報とを用いた統計処理結果を取得する。なお、予め決められた関係とは、例えば、一致すること、対応付けられていること等である。統計処理結果は、例えば、ECサイトでの購入金額と店舗での購入金額の合計額、ECサイトと実店舗の両方を考慮した最後の購入日、ECサイトと実店舗の両方を考慮した購入最大金額などである。
動作識別子蓄積部232は、イベント受信部222が受信したイベント識別子に対応する動作識別子を動作情報格納部211から取得し、当該動作識別子をイベント受信部222が受信したユーザ識別子に対応付けてユーザ動作情報格納部214に蓄積する。
動作識別子蓄積部232は、各ユーザ識別子に対して、重複する動作識別子はユーザ動作情報格納部214に蓄積しないことは好適である。つまり、例えば、動作識別子蓄積部232は、イベント受信部222がイベント識別子を受信した場合に、当該イベント識別子に対応するユーザ識別子と対になる1以上のイベント識別子の中に、受信されたイベント識別子が存在するか否かを判断し、存在する場合には動作識別子を蓄積する処理は行わず、存在しない場合のみ、イベント受信部222が受信したイベント識別子に対応する動作識別子を動作情報格納部211から取得し、当該動作識別子をイベント受信部222が受信したユーザ識別子に対応付けてユーザ動作情報格納部214に蓄積する。
イベント情報蓄積部233は、イベント受信部222が受信したイベント情報を、ユーザ識別子に対応付けてユーザイベント情報格納部213に蓄積する。
出力部24は、各種の情報を出力する。各種の情報とは、例えば、後述する動作結果、統計処理結果、イベント情報、ユーザまたは管理者が入力したチャットの情報等である。ここで、出力とは、通常、ユーザ端末1または管理端末3への送信である。ただし、出力とは、表示、他のプログラムへの引き渡し、記録媒体への蓄積等でも良い。出力部24は、例えば、イベント情報を管理端末3に送信する。
動作結果出力部241は、1または2以上の動作結果を出力する。動作結果は、動作部231が取得した情報である。動作結果は、例えば、購入指示に対応する購入処理が完了した旨の情報、購入指示に対応する決済処理が完了した情報等である。
結果出力部242は、統計処理結果を出力する。統計処理結果は、動作部231が取得した情報である。
管理端末3を構成する管理格納部31には、各種の情報が格納される。各種の情報とは、例えば、管理者識別子である。管理者識別子は、管理端末3の管理者を識別する情報であり、例えば、IDである。管理者識別子は、電話番号、メールアドレス等でも良い。なお、第二管理者識別子は、管理端末3を識別する情報であっても良い。情報処理装置2が、例えば、ECサイトである場合、管理端末3はECサイトの管理者の端末である。
管理受付部32は、管理者から指示や情報等の入力を受け付ける。指示や情報等とは、例えば、例えば、チャットシステムに入力されたテキストである。また、指示や情報等とは、例えば、メッセージ、メール、ショートメッセージ等でも良い。指示や情報等は、例えば、テキストであるが、画像等でも良く、データタイプは問わない。
また、ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付け、カメラでの撮影などを含む概念である。
管理受信部33は、各種の情報を情報処理装置2から受信する。各種の情報とは、例えば、統計処理結果、イベント情報、ユーザが入力したチャットの情報である。
管理処理部34は、各種の処理を行う。各種の処理とは、例えば、管理受付部32が受け付けた指示や情報等を送信する構造の指示や情報等に変更する処理、管理受信部33が受信した情報を出力する構造に変更する処理等である。
管理出力部35は、各種の情報を出力する。各種の情報とは、例えば、統計処理結果、イベント情報、ユーザが入力したチャットの情報である。
管理送信部36は、各種の情報を情報処理装置2に送信する。各種の情報は、例えば、管理者が入力したチャットの情報、各種の指示である。
ユーザ格納部11、格納部21、動作情報格納部211、ユーザ情報格納部212、ユーザイベント情報格納部213、ユーザ動作情報格納部214、統計処理結果格納部215、および管理格納部31は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
ユーザ格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報がユーザ格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報がユーザ格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報がユーザ格納部11等で記憶されるようになってもよい。
ユーザ受信部13、受信部22、指示受信部221、イベント受信部222、および管理受信部33は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
ユーザ処理部14、処理部23、動作部231、動作識別子蓄積部232、およびイベント情報蓄積部233は、通常、MPUやメモリ等から実現され得る。ユーザ処理部14の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
ユーザ出力部15、および管理出力部35は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。ユーザ出力部15等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
ユーザ送信部16、出力部24、動作結果出力部241、結果出力部242、および管理送信部36は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
次に、情報システムAの動作について説明する。まず、ユーザ端末1の動作について説明する。
ユーザ端末1のユーザ受付部12は、ユーザからの指示や情報等を受け付ける。次に、ユーザ処理部14は、ユーザ受付部12が受け付けた指示や情報等に対応するイベント情報を取得する。次に、ユーザ処理部14は、ユーザ格納部11のユーザ識別子を読み出す。そして、ユーザ処理部14は、ユーザ識別子とイベント情報とを有する送信情報を構成する。次に、ユーザ送信部16は、ユーザ識別子とイベント情報とを有する送信情報を情報処理装置2に送信する。そして、送信情報の送信に応じて、ユーザ端末1のユーザ受信部13は、情報処理装置2から情報を受信する。次に、ユーザ処理部14は、受信された情報を用いて、出力する情報を構成する。次に、ユーザ出力部15は、構成された情報を出力する。なお、ユーザ端末1は、管理端末3とチャットを行う端末として動作しても良い。また、チャットの処理は公知技術であるので、詳細な説明は省略する。
次に、情報処理装置2の動作について、図4のフローチャートを用いて説明する。
(ステップS401)イベント受信部222は、イベント情報等を受信したか否かを判断する。イベント情報等を受信した場合はステップS402に行き、イベント情報等を受信しなかった場合はステップS401に戻る。なお、イベント情報等とは、例えば、イベント情報とユーザ識別子である。
(ステップS402)イベント情報蓄積部233は、ステップS401で受信されたイベント情報を、当該イベント情報に対応するユーザ識別子に対応付けて、ユーザイベント情報格納部213に蓄積する。
(ステップS403)動作部231は、ステップS401で受信されたイベント情報を用いて、当該イベント情報に対応する動作を行う。
(ステップS404)動作識別子蓄積部232は、動作情報登録処理を行う。動作情報登録処理について、図5のフローチャートを用いて説明する。
(ステップS405)動作部231は、ユーザ動作実行処理を行う。ユーザ動作実行処理について、図6のフローチャートを用いて説明する。
(ステップS406)処理部23は、ステップS403における動作の結果、またはステップS403における動作の結果とステップS405におけるユーザ動作実行処理の結果を用いて、ユーザ端末1に送信する情報を構成する。
(ステップS407)出力部24は、ステップS406で構成された情報をユーザ端末1に送信する。
(ステップS408)処理部23は、ステップS403における動作の結果、ステップS405におけるユーザ動作実行処理の結果のうちの1または2以上の情報を用いて、管理端末3に送信する情報を構成する。
(ステップS409)出力部24は、ステップS408で構成された情報を管理端末3に送信する。ステップS401に戻る。
なお、図4のフローチャートにおいて、指示受信部221が各種の指示(例えば、ログイン指示、ログアウト指示)を受信した場合、処理部23は、当該指示に応じた処理を行う。
また、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS404の動作情報登録処理について、図5のフローチャートを用いて説明する。
(ステップS501)動作識別子蓄積部232は、受信されたイベント識別子を取得する。
(ステップS502)動作識別子蓄積部232は、ステップS501で取得したイベント識別子に対応するユーザ識別子を取得する。なお、通常、イベント識別子は、ユーザ識別子に対応付いて受信されている。
(ステップS503)動作識別子蓄積部232は、ユーザイベント情報格納部213の中のイベント識別子であり、ステップS502で取得したユーザ識別子に対応するイベント識別子の中に、ステップS501で取得されたイベント識別子が存在するか否かを判断する。
(ステップS504)動作識別子蓄積部232は、ステップS503における判断結果が「存在しない」との場合はステップS505に行き、「存在する」との場合は上位処理にリターンする。
(ステップS505)動作識別子蓄積部232は、ステップS501で取得されたイベント識別子と対になる動作情報を動作情報格納部211から取得する。
(ステップS506)動作識別子蓄積部232は、ステップS505で取得した動作情報を、ステップS502で取得したユーザ識別子に対応付けて、ユーザ動作情報格納部214に蓄積する。上位処理にリターンする。
なお、図5のフローチャートのステップS504で判断処理を行ったが、判断処理を無くし、常に動作情報を取得し、蓄積しても良い。
次に、ステップS405のユーザ動作実行処理について、図6のフローチャートを用いて説明する。
(ステップS601)動作部231は、ステップS401で受信されたイベント情報に対応するユーザ識別子を取得する。
(ステップS602)動作部231は、カウンタiに1を代入する。
(ステップS603)動作部231は、ステップS601で取得されたユーザ識別子に対応するi番目の動作情報が、ユーザ動作情報格納部214に存在するか否かを判断する。i番目の動作情報が存在する場合はステップS604に行き、i番目の動作情報が存在しない場合は上位処理にリターンする。
(ステップS604)動作部231は、i番目の動作情報に対応する動作を実行するか否かを判断する。実行する場合はステップS605に行き、実行しない場合はステップS607に行く。なお、動作部231は、例えば、i番目の動作情報に対応付いているイベント識別子とステップS401で受信されたイベント情報(またはイベント識別子)とが予め決められた関係にあるか否かにより、動作を実行するか否かを判断する。
(ステップS605)動作部231は、i番目の動作情報に対応する動作を実行する。
(ステップS606)動作部231は、ステップS605における動作の実行結果を、ユーザ識別子に対応付けて蓄積する。
(ステップS607)動作部231は、カウンタiを1、インクリメントする。ステップS603に戻る。
次に、管理端末3の動作について説明する。管理端末3の管理受付部32は、管理者からの指示や情報等を受け付ける。次に、管理処理部34は、管理受付部32が受け付けた指示や情報等から送信する情報を構成する。次に、管理送信部36は、構成された情報を情報処理装置2に送信する。そして、送信情報の送信に応じて、管理端末3の管理受信部33は、情報処理装置2から情報を受信する。次に、管理処理部34は、受信された情報を用いて、出力する情報を構成する。次に、管理出力部35は、構成された情報を出力する。なお、管理受信部33は、プッシュ型の通信により(管理者からの入力なしに)、情報処理装置2から情報を受信しても良い。かかる場合も、管理処理部34は受信された情報を用いて出力する情報を構成し、管理出力部35は構成された情報を出力する。
以下、本実施の形態における情報システムAの具体的な動作について説明する。情報システムAの概念図は図1である。本具体例において、情報処理装置2は、ECサイトのサーバ装置である、とする。
今、情報処理装置2の動作情報格納部211には、図7に示す構造を有する動作情報管理表が格納されている。動作情報管理表は、受信されたイベント識別子に対応して行う動作に関する情報を管理する表である。動作情報管理表は、通常、情報処理装置2の設計者により、予め準備されている表である。動作情報管理表は、「ID」「イベント識別子」「動作情報」を有するレコードを1または2以上格納し得る。「動作情報」は、ここでは「動作識別子」「プログラム」を有する。「ID」は、レコードを識別する情報である。なお、「ID」がレコードを識別する情報であることは他の表においても同様である。「プログラム」は、ここではexeファイルであるが、そのデータ構造等は問わない。
また、プログラム「合計金額.exe」は、(1-1)当該ユーザのECサイトでの購入金額の総額を取得する処理、(1-2)ユーザ識別子を有しているユーザに対して、当該ユーザの店舗での購入金額の総額を取得する処理、(1-3)当該ユーザのECサイトでの購入金額の総額と店舗での購入金額の総額とを加算し、ECサイトおよび店舗での購入金額の総額を取得する処理、の3つの処理を行う。なお、(1-1)では、動作部231は、現時点でのユーザのECサイトでの購入金額の総額を取得する。つまり、(1-1)では、動作部231は、現時点でのユーザのユーザ識別子または端末識別子をキーとして、イベント情報(図9)を検索し、当該イベント情報から、イベント識別子「buy」および属性識別子「price」と対になる「値」をすべて取得し、取得したすべての「値」を加算して、Cサイトでの購入金額の総額を取得する。また、(1-2)では、動作部231は、外部のサーバ装置にアクセスし、ユーザ識別子をキーとして、商品購入情報管理表を検索し、当該ユーザ識別子と対になる「金額」の属性値をすべて加算し、店舗での購入金額の総額を取得する。さらに、(1-3)では、動作部231は、(1-1)と(1-2)で取得した総額を加算し、ECサイトおよび店舗での購入金額の総額を取得する。なお、ユーザ識別子を有しているユーザは、ユーザ登録を行ったユーザである。ユーザ登録を行っていないユーザはユーザ識別子を有さず、端末識別子がキーとなり、他のユーザと区別され得る。
また、プログラム「最終購入日.exe」は、(2-1)当該ユーザのECサイトでの商品の購入の最終の日を取得する処理、(2-2)ユーザ識別子を有しているユーザに対して、当該ユーザの店舗での商品の購入の最終の日を取得する処理、(2-3)当該ユーザのECサイトおよび店舗での商品の購入の最終の日を取得する処理、の3つの処理を行う。なお、(2-1)では、動作部231は、現時点でのユーザのECサイトでの商品の購入の最終の日を取得する。つまり、動作部231は、現時点でのユーザのユーザ識別子または端末識別子をキーとして、イベント情報(図9)を検索し、当該イベント情報から、イベント識別子「buy」と対になる「日時」のうちの最新の「日時」が有する日の情報を取得する。また、(2-2)では、動作部231は、外部のサーバ装置にアクセスし、ユーザ識別子をキーとして、商品購入情報管理表を検索し、当該ユーザ識別子と対になる「購入日」の属性値のうち最新の日の情報を取得する。さらに、(2-3)では、動作部231は、(2-1)と(2-2)で取得した日のうち、新しい日の情報を取得する。
また、プログラム「最高購入額.exe」は、(3-1)当該ユーザのECサイトでの商品の購入額のうちの最高額を取得する処理、(3-2)ユーザ識別子を有しているユーザに対して、当該ユーザの店舗での商品の購入額のうちの最高額を取得する処理、(3-3)当該ユーザのECサイトおよび店舗での商品の購入額のうちの最高額を取得する処理、の3つの処理を行う。なお、(3-1)では、動作部231は、現時点でのユーザのECサイトでの商品の購入金額「price」のうちの最大値を取得する。つまり、動作部231は、現時点でのユーザのユーザ識別子または端末識別子をキーとして、イベント情報(図9)を検索し、当該イベント情報から、イベント識別子「buy」および属性識別子「price」と対になる「値」のうちの最大値を取得する。また、(3-2)では、動作部231は、外部のサーバ装置にアクセスし、ユーザ識別子をキーとして、商品購入情報管理表を検索し、当該ユーザ識別子と対になる「金額」の属性値のうち最大値を取得する。さらに、(3-3)では、動作部231は、(3-1)と(3-2)で取得した値のうち、大きい方の値(max((3-1)の値,(3-2)の値)を取得する。
また、プログラム「店舗情報検索.exe」は、当該ユーザが店舗で商品を購入した場合の購入情報を取得する処理を行う。
また、プログラム「レコメンド.exe」は、ユーザ情報、ユーザの購入履歴のうちの1または2以上の情報を用いて、商品をレコメンドする処理を行う。なお、レコメンドのアルゴリズムは、協調フィルタリング等、問わない。レコメンドのアルゴリズムは、公知のあらゆるアルゴリズムを利用可能である。
さらに、プログラム「最終訪問日.exe」は、(4-1)当該ユーザのECサイトに最後に訪問した日を取得する処理、(4-2)ユーザ識別子を有しているユーザに対して、当該ユーザの店舗に最後に訪問した日を取得する処理、(4-3)当該ユーザのECサイトおよび店舗に最後に訪問した日を取得する処理、の3つの処理を行う。なお、(4-1)では、動作部231は、現時点でのユーザのECサイトでの商品の購入金額「price」のうちの最大値を取得する。つまり、動作部231は、現時点でのユーザのユーザ識別子または端末識別子をキーとして、イベント情報(図9)を検索し、当該イベント情報から、イベント識別子「view」と対になる「日時」のうちの最新の日時の中の日の情報を取得する。また、(4-2)では、動作部231は、外部のサーバ装置にアクセスし、ユーザ識別子をキーとして、商品購入情報管理表を検索し、当該ユーザ識別子と対になる「購入日」の属性値のうち最新の日の情報を取得する。さらに、(4-3)では、動作部231は、(4-1)と(4-2)で取得した値のうち、新しい方の日の情報を取得する。
また、情報処理装置2のユーザ情報格納部212には、図8に示す構造を有するユーザ情報管理表が格納されている。ユーザ情報管理表は、「ユーザ識別子」「氏名」「パスワード」「メールアドレス」を有するレコードを1または2以上格納し得る。「パスワード」は、ユーザ端末1から情報処理装置2にログインする際に使用される。ユーザ情報管理表の各レコードは、ユーザ端末1からのユーザ登録指示を受信した情報処理装置2が、ユーザ登録の処理を行った結果である。なお、ユーザ情報管理表の各レコードは、情報処理装置2が、受信したユーザ登録指示に含まれる氏名、パスワード、メールアドレス等と、生成したユニークなユーザ識別子を有するレコードを構成し、ユーザ情報管理表に蓄積した結果である。また、情報処理装置2は、正常にユーザ登録処理が完了した後、ユーザ端末1に、「ユーザ識別子」「パスワード」を通知する、とする。
また、情報処理装置2のユーザイベント情報格納部213には、図9に示す構造を有するユーザイベント情報管理表が格納されている。ユーザイベント情報管理表は、ユーザごとに、当該ユーザのユーザ端末1への操作に応じて発生したイベントであり、情報処理装置2に送信されたイベントに関する情報が格納される表である。ユーザイベント情報管理表は、「ID」「ユーザ識別子」「端末識別子」「イベント情報」「日時」を有するレコードを、ユーザごとに、1または2以上格納し得る。「イベント情報」は、ここでは、「イベント識別子」「パラメータ情報」を有する。「パラメータ情報」は、ここでは「属性識別子」「値」を有する。「端末識別子」は、ユーザ端末1を識別する情報であり、ここでは、例えば、IPアドレスである、とする。「端末識別子」は、電話番号やMACアドレス等でも良い。
図9において、イベント識別子「identify」は、ユーザ識別子が登録されたこと、またはユーザ識別子を有することを示す。なお、イベント識別子「identify」は、パラメータ情報として、属性識別子「uid」を採り得る。属性識別子「uid」は、「値」がユーザ識別子であることを示す。また、イベント識別子「view」は、ECサイトのウェブページをユーザが閲覧したこと(ユーザ端末1に送信されたこと)を示す。イベント識別子「view」は、パラメータ情報として、属性識別子「page_id」を採り得る。「page_id」は、「値」がウェブページのIDであることを示す。また、イベント識別子「buy」は、商品を購入したことを示す。なお、イベント識別子「buy」は、パラメータ情報として、属性識別子「item_id」「price」を採り得る。属性識別子「item_id」は、「値」が購入した商品の識別子であることを示す。属性識別子「price」は、「値」が購入した商品の価格であることを示す。なお、「ユーザ識別子」に属性値を有し、「端末識別子」に属性値を有さないレコードは、ユーザ登録を行わずに、ECサイトを利用しているユーザの管理情報である。
図9における各レコードのイベント情報は、情報処理装置2がイベント情報を受信するごとに、ユーザ識別子または端末識別子に対応付けて蓄積した情報である。なお、情報処理装置2のイベント情報蓄積部233は、例えば、イベント情報が受信された時刻情報(日時)を取得し、図9のレコードを構成する。
また、情報処理装置2のユーザ動作情報格納部214には、図10に示す構造を有するユーザ動作情報管理表が格納されている。ユーザ動作情報管理表は、ユーザ端末1からイベントが受信された場合に、実行される動作を管理する表である。ユーザ動作情報管理表は、「ID」「ユーザ識別子」「端末識別子」「動作識別子」を有するレコードを多数格納し得る。
図10における各レコードの動作識別子は、情報処理装置2がイベント情報を受信した場合に、上述した動作情報登録処理(図5参照)により蓄積された情報である。
また、情報処理装置2の統計処理結果格納部215には、図11に示す構造を有する統計処理結果管理表が格納されている。統計処理結果管理表は、ユーザごとの商品購入などの統計処理結果が格納される。統計処理結果管理表は、「ユーザ識別子」「ECサイト購入総額」「ECサイ店舗購入総額」「ECサイト最終訪問日」「ECサイト店舗訪問日」「ECサイト最終購入日」「ECサイト店舗最終購入日」「ECサイト最高購入額」「ECサイト店舗最高購入額」を有するレコードを多数格納し得る。「ECサイト購入総額」は、情報処理装置2(ECサイト)での購入金額の総額である。「ECサイ店舗購入総額」は、同一ユーザのECサイトでの購入金額と店舗での購入金額とを合わせた総額である。「ECサイト最終訪問日」は、ECサイトに最近に訪問した日である。「ECサイト店舗訪問日」は、同一ユーザのECサイトと店舗とを合わせた、最近に訪問した日である。「ECサイト最終購入日」は、ECサイトで最近に商品を購入した日である。「ECサイト店舗最終購入日」は、同一ユーザのECサイトと店舗とを合わせた、最近に商品を購入した日である。「ECサイト最高購入額」は、ECサイトにおける最高の購入金額(最も高額の商品の金額)である。「ECサイト店舗最高購入額」は、同一ユーザのECサイトおよび店舗における最高の購入金額(最も高額の商品の金額)である。なお、店舗における情報は、図12に示す店舗購入情報管理表から取得され得る。
さらに、図示しない外部のサーバ装置に、図12に示す店舗購入情報管理表が格納されている。店舗購入情報管理表は、店舗におけるユーザの商品購入の情報が管理される表である。店舗購入情報管理表は、「ユーザ識別子」「購入日」「購入品識別子」「金額」を有するレコードを多数格納し得る。
なお、例えば、図示しない外部のサーバ装置は、店舗のPOSレジスタと通信可能であり、POSレジスタが読み取ったユーザカードのID(ユーザ識別子)と、POSレジスタが読み取った購入品識別子と、外部のサーバ装置に格納されている商品データベース(図示しない)から購入品識別子をキーとして取得した金額、図示しない時計から取得した購入日を用いてレコードを構成し、蓄積する。このようにして構成された表が図12に示す店舗購入情報管理表である。なお、店舗購入情報管理表の構成手順は問わない。店舗購入情報管理表の構成方法は公知技術であるので、詳細な説明を省略する。なお、ユーザカードには、ユーザ識別子が格納されている。
かかる状況において、以下の2つの具体例について説明する。具体例1は、ユーザごとに登録されている動作を実行する例である。具体例2は、一のユーザに対応する新たなイベントを受信したことにより、当該一のユーザに対応付けて、動作識別子を登録する例である。
(具体例1)
まず、山田A子は、情報処理装置2にログインするために、ユーザ端末1に対して、ユーザ識別子「u01」、パスワード「xxxyyy」を有するログイン指示を入力した、とする。
すると、ユーザ端末1のユーザ受付部12は、ユーザ識別子「u01」、パスワード「xxxyyy」を有するログイン指示を受け付ける。次に、ユーザ処理部14はユーザ識別子「u01」、パスワード「xxxyyy」を有するログイン指示を構成する。なお、当該ログイン指示は、イベント情報「identify uid=u01」を含む、とする。そして、ユーザ送信部16は、当該ログイン指示を情報処理装置2に送信する。
次に、情報処理装置2のイベント受信部222は、イベント情報「identify uid=u01」を含むログイン指示を、山田A子のユーザ端末1から受信する。
次に、イベント情報蓄積部233は、図示しない時計から時刻「2018/7/1 15:10」を取得する。そして、イベント情報蓄積部233は、ユーザ識別子「u01」に対応付けて、受信されたイベント情報「identify uid=u01」を、ユーザイベント情報管理表(図9)に蓄積する。すると、図9の「ID=1」のレコードにイベント情報「イベント識別子:identify,属性識別子:uid,値:u01」が追記される。
次に、動作部231は、受信されたログイン指示に従って、ログインのための処理を行う。ここでは、例えば、認証処理を行い、認証許可の結果を得て、認証許可後のウェブページを格納部21から読み出す。そして、出力部24は、当該ウェブページを山田A子のユーザ端末1に送信する。なお、山田A子のユーザ端末1は、当該ウェブページを受信し、出力する。
次に、動作識別子蓄積部232は、図5で説明した動作に従って、以下のような動作情報登録処理を行う。つまり、動作識別子蓄積部232は、受信されたイベント識別子「identify」を取得する。また、動作識別子蓄積部232は、受信されたイベント識別子に対応するユーザ識別子「u01」を取得する。次に、動作識別子蓄積部232は、ユーザイベント情報管理表(図9)の中のイベント識別子であり、取得したユーザ識別子「u01」に対応するイベント識別子の中に、取得されたイベント識別子「identify」が存在する、と判断する。そして、動作識別子蓄積部232は、何らの動作識別子も登録しない。
次に、動作部231は、図6で説明した動作に従って、以下のようなユーザ動作実行処理を行う。つまり、動作部231は、受信されたイベント情報に対応するユーザ識別子「u01」を取得する。そして、動作部231は、ユーザ識別子「u01」に対応する動作識別子「a04,a05,a01,a02,a03」を取得する。
次に、動作部231は、動作識別子「a04」に対応するプログラム「店舗情報検索.exe」を実行し、外部のサーバ装置の店舗購入情報管理表を、ユーザ識別子「u01」をキーとして検索し、ユーザ識別子「u01」を含むレコードを取得する。そして、出力部24は、かかるレコードを、ユーザ識別子「u01」を含むユーザ情報と共に、管理端末3に送信する。外部のサーバ装置の店舗購入情報管理表を検索する処理は公知技術である。
次に、動作部231は、動作識別子「a05」に対応するプログラム「レコメンド.exe」を実行し、山田A子にレコメンドする商品情報を取得する。なお、多数の商品情報が格納部21に格納されている、とする。また、ここでのレコメンドのアルゴリズムは問わない。そして、出力部24は、当該レコメンドする商品情報を山田A子のユーザ端末1に送信する。
次に、動作部231は、動作識別子「a01」に対応するプログラム「合計金額.exe」を実行し、山田A子のECサイトでの購入金額の総額を取得する処理、山田A子の店舗での購入金額の総額を取得する処理、山田A子のECサイトおよび店舗での購入金額の総額を取得する処理を行う。そして、処理部23は、かかる情報を、図11にユーザ識別子「u01」に対応付けて蓄積(更新)する。また、出力部24は、かかる情報を、ユーザ識別子「u01」を含むユーザ情報と共に、管理端末3に送信する。
次に、動作部231は、動作識別子「a02」に対応するプログラム「最終購入日.exe」を実行し、ユーザのECサイトでの商品購入の最終日、ユーザの店舗での商品購入の最終日、およびユーザのECサイトおよび店舗での商品購入の最終日を取得する。そして、処理部23は、かかる情報を、図11にユーザ識別子「u01」に対応付けて蓄積(更新)する。また、出力部24は、かかる情報を、ユーザ識別子「u01」を含むユーザ情報と共に、管理端末3に送信する。
次に、動作部231は、動作識別子「a03」に対応するプログラム「最高購入額.exe」を実行し、山田A子のECサイトでの最高購入額を取得する処理、山田A子の店舗での最高購入額を取得する処理、山田A子のECサイトおよび店舗での最高購入額を取得する処理を行う。そして、処理部23は、かかる情報を、図11にユーザ識別子「u01」に対応付けて蓄積(更新)する。また、出力部24は、かかる情報を、ユーザ識別子「u01」を含むユーザ情報と共に、管理端末3に送信する。
次に、ユーザ端末1は、レコメンドされる商品情報を受信し、出力する。また、管理端末3は、山田A子のユーザ情報とともに、山田A子の種々の情報を受信し、出力する。
なお、いかなる情報をユーザ端末1に送信し、いかなる情報を管理端末3に送信するかについては、予め決められている。
以上、具体例1の処理により、ユーザごとに管理されている動作情報に対応する動作が、イベントの受信に応じて実行される。
(具体例2)
ユーザ識別子を有さない端末識別子「アドレス2」のユーザは、「氏名:加藤H子,パスワード:AAABBB,メールアドレス:hk@a.jp」を有するユーザ登録指示をユーザ端末1に入力した、とする。すると、ユーザ端末1のユーザ受付部12は、かかるユーザ登録指示を受け付ける。次に、ユーザ処理部14は、送信するユーザ登録指示であり、「氏名:加藤H子,パスワード:AAABBB,メールアドレス:hk@a.jp」を有するユーザ登録指示を構成する。次に、ユーザ送信部16は、ユーザ登録指示を情報処理装置2に送信する。
次に、情報処理装置2の指示受信部221は、ユーザ登録指示を受信する。次に、処理部23は、ユーザ識別子「u19」を生成する。そして、出力部24は、当該ユーザ識別子「u19」を加藤H子のユーザ端末1に送信する。
次に、加藤H子のユーザ端末1のユーザ受信部13は、「ユーザ識別子:u19」を受信する。そして、ユーザ端末1のユーザ処理部14は、ユーザ処理部14は、受信されたユーザ識別子を用いて、イベント情報「identify uid=u19」を構成する。次に、ユーザ送信部16は、イベント情報「identify uid=u19」を情報処理装置2に送信する。
次に、情報処理装置2のイベント受信部222は、イベント情報「identify uid=u19」を受信する。
次に、イベント情報蓄積部233は、受信されたイベント情報を、ユーザ識別子「u19」に対応付けて、ユーザイベント情報管理表に蓄積する。
次に、動作部231は、受信されたイベント情報を用いて、当該イベント情報に対応するユーザ登録処理を行う。つまり、動作部231は、ユーザ識別子「u19」とユーザ登録指示を用いて、ユーザ情報「ユーザ識別子:u19,氏名:加藤H子,パスワード:AAABBB,メールアドレス:hk@a.jp」を構成し、当該ユーザ情報を図8に追記する。そして、情報処理装置2の出力部24は、当該ユーザに対して、「ユーザ識別子:u19,パスワード:AAABBB」を送信する。
次に、加藤H子のユーザ端末1のユーザ受信部13は、「ユーザ識別子:u19,パスワード:AAABBB」を受信し、出力する。
次に、情報処理装置2の動作識別子蓄積部232は、図5のフローチャートを用いて説明したように動作情報登録処理を行う。つまり、動作識別子蓄積部232は、受信されたイベント識別子「identify」を取得する。また、動作識別子蓄積部232は、当該イベント識別子に対応するユーザ識別子「u19」を取得する。次に、動作識別子蓄積部232は、ユーザイベント情報管理表の中のイベント識別子であり、ユーザ識別子「u19」に対応するイベント識別子の中に、取得されたイベント識別子「identify」が存在しない、と判断する。そして、動作識別子蓄積部232は、イベント識別子「identify」と対になる動作識別子「a04」を、動作情報管理表(図7)から取得する。次に、動作識別子蓄積部232は、取得した動作識別子「a04」を、ユーザ識別子「u19」に対応付けて、ユーザ動作情報管理表(図10)に追記する。
以上、具体例2の処理により、ユーザごとの動作情報が蓄積される。
以上、本実施の形態によれば、ユーザ端末から受信されたイベントに応じた適切な処理をユーザごとに実行できる。
また、本実施の形態によれば、ユーザ端末から受信されたイベントに応じた適切な処理を効率的に実行できる。
また、本実施の形態によれば、ユーザ端末から受信されたイベントに応じた適切な処理を、外部データベースを用いて実行できる。
また、本実施の形態によれば、ユーザ端末から受信されたイベントに応じた適切な処理を、内部の情報を用いて実行できる。
また、本実施の形態によれば、ユーザ端末から受信されたイベントに応じた適切な処理を、外部データベースと内部の情報とを用いて実行できる。
また、本実施の形態によれば、ユーザ端末から受信されたイベントおよびデータの属性に応じた適切な処理を実行できる。
さらに、本実施の形態によれば、ユーザ端末から受信されたイベントに応じたレコメンドを行える。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、例えば、ユーザ端末から受信されるイベントを識別する1以上の各イベント識別子ごとに、動作を識別する動作識別子を含む動作情報が格納される動作情報格納部と、ユーザを識別する1以上の各ユーザ識別子ごとに、1以上の動作識別子が格納されるユーザ動作情報格納部とにアクセス可能なコンピュータを、イベントを識別するイベント識別子を含むイベント情報を、ユーザ識別子に対応付けて受信するイベント受信部と、前記イベント受信部がイベント情報を受信した場合、当該イベント情報に対応するユーザ識別子に対応する1以上の各動作識別子で識別される1以上の動作を行い、1以上の動作結果を取得する動作部と、前記1以上の動作結果を出力する動作結果出力部と、前記イベント受信部が受信したイベント識別子に対応する動作識別子を前記動作情報格納部から取得し、当該動作識別子を前記イベント受信部が受信したユーザ識別子に対応付けてユーザ動作情報格納部に蓄積する動作識別子蓄積部として機能させるためのプログラムである。
また、図13は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置2等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図13は、このコンピュータシステム300の概観図であり、図14は、システム300のブロック図である。
図13において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図14において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の情報処理装置2等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の情報処理装置2等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。