以下、情報システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1) 本実施の形態において、第一端末での操作により発生したイベントを識別するイベント識別子を含むイベント情報を容易に情報処理装置に登録できる情報システムについて説明する。
また、本実施の形態において、第一端末と情報処理装置とのペアリングの後に、第一端末での操作により発生したイベントを識別するイベント識別子を情報処理装置に送信する第一端末を含む情報システムについて説明する。
図1は、本実施の形態における情報システムAの概念図である。情報システムAは、通常、1または2以上の第一端末1、情報処理装置2、1または2以上の第二端末3、および1または2以上の第三端末4を備える。ただし、情報システムAは、通常、1または2以上の第一端末1、情報処理装置2、および1または2以上の第二端末3のみでも良い。
第一端末1は、操作を受け付け、当該操作に対応するイベント識別子を取得し、情報処理装置2に送信する端末であり、イベント情報を登録するために使用される端末である。
情報処理装置2は、1以上のイベント識別子を受信し、1以上のイベント識別子に対応する付加情報を受信し、かつ当該1以上のイベント識別子と付加情報とを対応付けて有するイベント情報を蓄積する装置である。
第二端末3は、1以上のイベント識別子を受信し、当該1以上のイベント識別子で識別されるイベントに関する付加的な情報である付加情報を受け付け、情報処理装置2に送信する端末であり、イベント情報を登録するために使用される端末である。
第三端末4は、操作を受け付け、当該操作に対応する1以上のイベント識別子を取得し、送信する端末であり、イベント情報を利用する場合に使用される端末である。
第一端末1、情報処理装置2の一部の構成要素、および第二端末3は、イベント情報の登録のために使用される。情報処理装置2の一部の構成要素、および第三端末4は、イベント情報の利用のために使用される。
また、第一端末1、第二端末3、および第三端末4は、例えば、パーソナルコンピュータ、タブレット、スマートフォン等であり、その種類は問わない。
また、情報処理装置2は、通常、いわゆるサーバ装置であり、クラウドサーバ、ASPサーバ等、その種類は問わない。
図2は、本実施の形態における情報システムAのブロック図である。図3は、情報処理装置2のブロック図である。図4は、第二端末3のブロック図である。さらに、図5は、第三端末4のブロック図である。
情報システムAを構成する第一端末1は、第一格納部10、第一受付部11、第一処理部12、第一送信部13、第一受信部14、および第一出力部15を備える。第一処理部12は、第一イベント実行部121、および第一イベント識別子取得部122を備える。第一送信部13は、ペアリング部131、および第一イベント識別子送信部132を備える。
情報処理装置2は、格納部20、受信部21、処理部22、出力部23、および送信部24を備える。格納部20は、イベント情報格納部201を備える。受信部21は、登録用イベント識別子受信部211、登録用付加情報受信部212、および処理用イベント識別子受信部213を備える。処理部22は、登録用イベント情報蓄積部221、判断部222、およびイベント処理部223を備える。送信部24は、登録用イベント識別子送信部241を備える。
第二端末3は、第二格納部30、第二受付部31、第二処理部32、第二送信部33、第二受信部34、および第二出力部35を備える。第二受付部31は、第二付加情報受付部311を備える。第二受信部34は、イベント識別子受信部341を備える。
第三端末4は、第三格納部40、第三受付部41、第三処理部42、第三送信部43、第三受信部44、および第三出力部45を備える。第三処理部42は、イベント実行部421を備える。
第一端末1を構成する第一格納部10には、各種の情報が格納され得る。各種の情報とは、例えば、イベント識別子送信プログラム、ペアリングプログラムである。
イベント識別子送信プログラムは、ユーザの操作により第一端末1で発生したイベントを識別するイベント識別子を取得し、情報処理装置2に送信するプログラムである。
ペアリングプログラムは、受け付けた通信開始指示により、情報処理装置2と通信可能にするための処理を行うプログラムである。なお、イベント識別子送信プログラム、ペアリングプログラムは、一のプログラムでも良いことは言うまでもない。
第一受付部11は、指示や情報等を受け付ける。第一受付部11は、例えば、通信開始指示を受け付ける。通信開始指示とは、情報処理装置2との通信を開始する指示である。また、第一受付部11は、例えば、ユーザの操作を受け付ける。操作は、例えば、ウェブページに対する操作である。操作は、後述するイベントを発生させる操作である。なお、ウェブページは、例えば、ECサイトであるが、その内容は問わない。
ここで、受け付けとは、通常、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付けであるが、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念であっても良い。
通信開始指示や各種の操作の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。第一受付部11は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
第一処理部12は、各種の処理を行う。各種の処理とは、例えば、第一イベント実行部121、第一イベント識別子取得部122が行う処理である。
第一イベント実行部121は、第一受付部11が受け付けた操作によりイベントを発生させ、当該イベントを実行する。なお、イベントは、ユーザからの入力の受け付けにより、第一端末1で発生する。イベントは、例えば、メソッド、メッセージ、関数、1または2以上の操作情報やその他情報がグループ化されたもの等であり、実行されたプログラムが発生させる。
第一イベント識別子取得部122は、第一イベント実行部121が実行したイベントを識別する1または2以上のイベント識別子を取得する。イベント識別子は、例えば、「rightButtonON」(右マウスボタンが押下されたことを示すイベントの識別子)、「drug object A」(オブジェクトAがドラッグされたことを示すイベントの識別子)、「Touch on UITableViewLabel」、「_backButtonAction」、「_butonDown」(ボタンが押下あるいはタップされたことを示すイベントの識別子)、「_PushAnchor」(アンカーを指示したことを示すイベントの識別子)、「_JumpPage」(別のページに飛ぶことを示すイベントの識別子)、「view pageA」(pageAで識別されるページを閲覧したことを示すイベントの識別子)、「buy itemA price 5000」(5000円の価格のitemAで識別される商品を購入したことを示すイベントの識別子)等である。イベント識別子は、例えば、押下されたボタンを識別するボタン識別子、選択されたメニュー項目を識別する項目識別子、ユーザからの入力により実行されたメソッド名または関数名またはスクリプト名等、入力の受け付けにより第一端末1で発生したプロセス名またはスレッド名、入力に対応する動作または操作を特定する識別子である動作識別子のうちの1または2以上の情報を含む。イベント識別子は、例えば、画面を識別する画面識別子を含む。動作識別子は、例えば、ウェブページの閲覧を開始したことを示す「閲覧開始」等である。
第一送信部13は、各種の情報または指示を送信する。第一送信部13の各種の情報等の送信先は、通常、情報処理装置2である。
ペアリング部131は、通信開始指示の受け付けに応じて、情報処理装置2と通信可能になるための処理であるペアリング処理を行う。ペアリング処理により、第一端末1から情報処理装置2にイベント識別子等を送信するモードであるイベント送信モードに、通常モードから移行することは好適である。なお、ペアリング処理は公知技術であるので、詳細な説明を省略する。
第一イベント識別子送信部132は、第一イベント識別子取得部122が取得した1以上のイベント識別子を情報処理装置2に送信する。
第一イベント識別子送信部132は、ペアリング部131がペアリング処理を行った後、1以上のイベント識別子を情報処理装置2に送信することは好適である。
第一受信部14は、各種の情報を受信する。各種の情報とは、例えば、ウェブページ、第一受付部11が受け付けた操作の結果の情報である。各種の情報とは、例えば、第一処理部12の処理の結果である。
第一出力部15は、イベントの実行結果を出力する。イベントの実行結果は、第一イベント実行部121におけるイベントの実行結果でも良いし、操作に対応するイベント識別子を情報処理装置2または図示しないサーバに送信した結果の情報でも良い。
出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念であることは好適である。
なお、第一端末1を構成する第一イベント識別子取得部122と第一イベント識別子送信部132とは、他の構成要素とは独立したプログラムであることは好適である。第一イベント識別子取得部122と第一イベント識別子送信部132とは、第一端末1で発生したイベントを監視し、イベント識別子を取得し、情報処理装置2に送信するプログラムにより実現されることは好適である。また、第一端末1を構成する第一イベント識別子取得部122とペアリング部131と第一イベント識別子送信部132とは、他の構成要素とは独立したプログラムであることは好適である。第一イベント識別子取得部122とペアリング部131と第一イベント識別子送信部132とは、情報処理装置2に対してペアリング処理を行い、第一端末1で発生したイベントを監視し、イベント識別子を取得し、情報処理装置2に送信するプログラムにより実現されることは好適である。かかる場合、第一端末1には、通常のプログラムに加えて、第一イベント識別子取得部122と第一イベント識別子送信部132とを実現するプログラム(アプリケーション)、または第一イベント識別子取得部122とペアリング部131と第一イベント識別子送信部132とを実現するプログラム(アプリケーション)がインストールされる。
情報処理装置2を構成する格納部20には、各種の情報が格納される。各種の情報とは、例えば、イベント情報、画面情報の雛形の情報、ユーザ情報である。画面情報の雛形の情報とは、付加情報を入力するための画面情報を構成するための情報であり、受信された1以上のイベント識別子が挿入され得る情報である。画面情報、画面情報の雛形の情報は、例えば、HTML、XML等により記述されるが、そのデータ構造や実現手段等は問わないことは言うまでもない。
また、ユーザ情報とは、ユーザに関する情報である。ユーザ情報は、例えば、ユーザを識別するユーザ識別子を有する、ユーザ識別子は、例えば、ユーザID、氏名、メールアドレス、電話番号などである。ユーザ識別子は、端末を識別する端末識別子でも良い。端末識別子は、例えば、IPアドレス、端末IDなどである。ユーザ情報は、例えば、ユーザの属性値を有する。ユーザの属性値は、静的属性値でも良いし、動的属性値でも良い。静的属性値とは、通常、変化しない属性値であるが、時々刻々とは変化しない属性値であると考えても良い。静的属性値は、例えば、氏名、年齢、住所、電話番号、クレジットカード番号、メールアドレス等である。動的属性値は、ユーザの操作等により、動的に変化し得る属性値である。動的属性値には、例えば、リアルタイム動的属性値、履歴情報利用動的属性値がある。リアルタイム動的属性値は、リアルタイムに時々刻々と変化する属性値である。リアルタイム動的属性値は、例えば、ユーザが現在閲覧しているウェブページの滞在時間、現在の滞在の際の閲覧したウェブページ数等である。履歴情報利用動的属性値は、過去の来訪時の操作情報の履歴をも用いて取得される動的属性値である。履歴情報利用動的属性値は、例えば、購入回数、購入金額、総購入金額、平均滞在時間、平均PV数、来訪回数、後述するスコア等である。
イベント情報格納部201には、1または2以上のイベント情報が格納される。イベント情報は、1または2以上のイベント識別子と付加情報とを有する。イベント情報は、1または2以上のイベント識別子を用いた条件を有しても良い。付加情報は、イベントに関する付加的な情報である。付加情報は、例えば、第二イベントの名称、第二イベントの説明である。第二イベントは、イベント情報に対応する。第二イベントは、1または2以上のイベント識別子で識別される1以上のイベントの発生に関する条件に対応する事項である。第二イベントは、1または2以上のイベント識別子またはイベントの種類のうちの1以上の情報に関する条件に対応する。第二イベントは、通常、人が理解できるユーザの行為に関する事項であり、例えば、把握したい事項(例えば、「特定のウェブページに閾値以上の時間、滞在したこと」「ECサイトで商品が購入されたこと」「ECサイトで買い物かごに商品が入れられてから、キャンセルになったこと」)である。付加情報は、例えば、第二イベント表示名、第二イベント名、第二イベント説明・目的等である。なお、イベント情報は、1または2以上のイベントに関する条件と付加情報とを有する、と考えても良い。かかる場合、1以上のイベントに関する条件は、第二イベントを特定する条件である。第二イベントを特定する条件は、例えば「購入ボタンが押下されたことを示す条件」「特定のページを閲覧したことを示す条件」である。
受信部21は、各種の情報または指示等を受信する。各種の情報または指示等とは、例えば、イベント識別子、付加情報、第二イベント情報である。第二イベント情報は、1以上のイベント識別子と付加情報とを有する。第二イベント情報は、例えば、1以上のイベント識別子を用いた1以上のイベントに関する条件と付加情報とを有する。なお、第二イベント情報は、イベント情報と同じでも良い。
登録用イベント識別子受信部211は、1または2以上のイベント識別子を第一端末1から受信する。かかるイベント識別子は、第一端末1で発生したイベントの識別子である。
登録用付加情報受信部212は、第二端末3に送信した1または2以上のイベント識別子に対する付加情報を第二端末3から受信する。登録用付加情報受信部212は、第二端末3に送信した1または2以上のイベント識別子に関する条件に対する付加情報を第二端末3から受信する。登録用付加情報受信部212は、第二イベントに対する付加情報を第二端末3から受信する。
処理用イベント識別子受信部213は、第三端末4のイベント実行部421が実行したイベントを識別する1または2以上のイベント識別子を受信する。処理用イベント識別子受信部213は、第三端末4で実行されたたイベントを識別する1以上のイベント識別子を受信する。処理用イベント識別子受信部213は、1以上のイベント識別子とユーザを識別するユーザ識別子とを受信することは好適である。
処理部22は、各種の処理を行う。各種の処理とは、例えば、登録用イベント情報蓄積部221、判断部222、イベント処理部223が行う処理である。
各種の処理とは、例えば、画面情報構成処理である。処理部22は、例えば、受信された1以上のイベント識別子を含む画面情報であり、付加情報を入力するための画面情報を構成する。さらに具体的には、処理部22は、例えば、格納部20に格納されている画面情報の雛形の情報に、受信された1以上のイベント識別子を挿入し、付加情報を入力するための画面情報を構成する。
登録用イベント情報蓄積部221は、受信された1以上のイベント識別子と受信された付加情報とを有するイベント情報を蓄積する。登録用イベント情報蓄積部221は、受信された1以上のイベント識別子に関する条件と受信された付加情報とを有するイベント情報を蓄積する。イベント情報の蓄積先は、例えば、イベント情報格納部201であるが、図示しない外部の装置でも良い。なお、登録用イベント情報蓄積部221は、イベント識別子と付加情報とを一緒に受信しても良いし、別々に受信しても良い。ただし、イベント識別子と付加情報とが対応付く必要はある。
判断部222は、処理用イベント識別子受信部213が受信した1以上のイベント識別子に対応するイベント情報が登録されているか否かを判断する。判断部222は、例えば、処理用イベント識別子受信部213が受信した1以上のイベント識別子と同一のイベント識別子が登録されているか否かを判断する。判断部222は、例えば、処理用イベント識別子受信部213が受信した1以上のイベント識別子が、1以上のイベント識別子を用いた条件であり、登録されているいずれかのイベント情報に含まれる条件に合致するか否かを判断する。判断部222は、例えば、処理用イベント識別子受信部213が受信したイベント識別子と同一のイベント識別子がイベント情報格納部201に存在するか否かを判断する。判断部222は、例えば、処理用イベント識別子受信部213が受信したイベント識別子と同一のイベント識別子が、予め決められた図示しない外部の装置に存在するか否かを判断する。
イベント処理部223は、処理用イベント識別子受信部213が受信した1以上のイベント識別子に対応するイベント情報が登録されていると判断部222が判断した場合に、予め決められた処理を行う。予め決められた処理の内容は問わない。予め決められた処理は、例えば、イベント識別子と対になる付加情報を送信する処理である。予め決められた処理は、例えば、イベント識別子で識別されるイベントに対する統計処理である。統計処理は、例えば、イベントの総発生回数を取得する処理、一定期間内のイベントの発生回数を取得する処理等である。
イベント処理部223は、例えば、処理用イベント識別子受信部213が受信した1以上のイベント識別子に対応するイベント情報が登録されていると判断部222が判断した場合に、イベント識別子とユーザ識別子とに対応付いている処理識別子で識別される処理を実行する。かかる処理は、例えば、ユーザ識別子に対応する端末に、イベント識別子と対になる付加情報を送信する処理である。
出力部23は、各種の情報を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念であることは好適である。
送信部24は、各種の情報を送信する。各種の情報は、例えば、イベント識別子である。各種の情報は、例えば、付加情報である。
登録用イベント識別子送信部241は、登録用イベント識別子受信部211が受信した1以上のイベント識別子を第二端末3に送信する。
第二端末3を構成する第二格納部30には、各種の情報が格納される。各種の情報は、例えば、端末識別子である。端末識別子は、例えば、MACアドレス、IPアドレス、端末のIDである。
第二受付部31は、各種の情報または指示等を受け付ける。各種の情報または指示等とは、例えば、付加情報である。各種の情報または指示等とは、例えば、イベント識別子の選択である。
各種の情報または指示等の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。第二受付部31は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
第二付加情報受付部311は、第二出力部35が出力した1または2以上のイベント識別子に対応する付加情報を受け付ける。付加情報の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。第二付加情報受付部311は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
第二処理部32は、各種の処理を行う。各種の処理とは、例えば、第二受信部34が受信した情報を出力するデータ構造にする処理である。各種の処理とは、例えば、第二受付部31が受け付けた情報を送信する構造にする処理である。各種の処理とは、例えば、受信された画面情報から画面を構成する処理である。
第二送信部33は、第二付加情報受付部311が受け付けた付加情報を情報処理装置2に送信する。第二送信部33は、第二付加情報受付部311が受け付けた付加情報を対応する1以上のイベント識別子とともに情報処理装置2に送信しても良い。なお、対応するイベント識別子は、例えば、ユーザにより選択されたイベント識別子である。
第二受信部34は、各種の情報を受信する。各種の情報とは、イベント識別子である。また、各種の情報とは、イベント識別子に対応付けて送信する付加情報を入力するための画面を構成する画面情報である。
イベント識別子受信部341は、情報処理装置2から1以上のイベント識別子を受信する。イベント識別子受信部341は、情報処理装置2から付加情報を入力するための画面を構成する画面情報を受信する。
第二出力部35は、イベント識別子受信部341が受信した1以上のイベント識別子を出力する。第二出力部35は、構成された画面であり、付加情報を入力するための画面を出力する。
第三端末4を構成する第三格納部40には、各種の情報が格納される。各種の情報とは、例えば、ユーザ識別子である。
第三受付部41は、ユーザの操作を受け付ける。操作は、例えば、出力されているウェブページに対する操作である。
操作の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。第三受付部41は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
第三処理部42は、各種の処理を行う。各種の処理とは、例えば、イベント実行部421が行う処理である。
イベント実行部421は、操作によりイベントを発生させ、イベントを実行する。イベント実行部421は、実行したイベントの1以上のイベント識別子を取得する。
第三送信部43は、各種の情報または指示を送信する。各種の情報または指示とは、例えば、イベント識別子である。第三送信部43は、例えば、1以上のイベント識別子を情報処理装置2に送信する。
第三受信部44は、各種の情報を受信する。各種の情報とは、例えば、操作による処理結果の情報である。
第三出力部45は、イベントの実行結果を出力する。第三出力部45は、第三受信部44が受信した処理結果の情報を出力する。なお、処理結果の情報は、イベントの実行結果でも良い。つまり、イベントの実行は、第三端末4で行っても、他の装置(例えば、情報処理装置2または図示しないサーバ)で行っても良い。
第一格納部10、格納部20、イベント情報格納部201、第二格納部30、および第三格納部40は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
第一格納部10等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が第一格納部10等で記憶されるようになってもよく、通信回線等を介して送信された情報が第一格納部10等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が第一格納部10等で記憶されるようになってもよい。
第一処理部12、第一イベント実行部121、第一イベント識別子取得部122、処理部22、ペアリング部131、登録用イベント情報蓄積部221、判断部222、イベント処理部223、第二処理部32、第三処理部42、およびイベント実行部421は、通常、MPUやメモリ等から実現され得る。第一処理部12等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
第一送信部13、ペアリング部131、第一イベント識別子送信部132、送信部24、登録用イベント識別子送信部241、第二送信部33、および第三送信部43は、例えば、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
第一受信部14、受信部21、登録用イベント識別子受信部211、登録用付加情報受信部212、処理用イベント識別子受信部213、第二受信部34、および第三受信部44は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
第一出力部15、出力部23、第二出力部35、および第三出力部45は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部23等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報システムAの動作について説明する。まず、第一端末1の動作について、図6のフローチャートを用いて説明する。
(ステップS601)第一受付部11は、通信開始指示を受け付けたか否かを判断する。通信開始指示を受け付けた場合はステップS602に行き、通信開始指示を受け付けなかった場合はステップS601に戻る。
(ステップS602)ペアリング部131は、ステップS601で受け付けられた通信開始指示に応じて、情報処理装置2と通信可能になるためのペアリング処理を行う。
(ステップS603)第一受付部11は、ユーザから操作を受け付けたか否かを判断する。操作を受け付けた場合はステップS604に行き、操作を受け付けなかった場合はステップS603に戻る。
(ステップS604)第一処理部12は、ステップS603で受け付けた操作が、イベント情報の登録のための処理の終了の操作であるか否かを判断する。処理の終了の操作である場合はステップS604に行き、処理の終了の操作でない場合はステップS606に行く。なお、処理の終了の操作は、例えば、「終了」ボタンの押下、情報処理装置2との通信切断の操作等であり、その操作は問わないことは言うまでもない。
(ステップS605)第一処理部12は、イベント情報の登録のための処理の終了処理を行う。ステップS601に戻る。終了処理は、例えば、情報処理装置2との通信切断の処理、情報処理装置2への処理の終了の通知の処理等である。
(ステップS606)第一イベント実行部121は、ステップS603で受け付けた操作に対応するイベントを発生させる。
(ステップS607)第一イベント識別子取得部122は、ステップS606で発生したイベントの1以上のイベント識別子を取得する。
(ステップS608)第一イベント実行部121は、ステップS60で発生させたイベントを実行する。
(ステップS609)第一イベント識別子取得部122は、ステップS607で取得した1以上のイベント識別子を含む情報であり、送信する情報を構成する。なお、送信する情報は、1以上のイベント識別子でみでも良いし、1以上のイベント識別子と第一格納部10のユーザ識別子でも良い。
(ステップS610)第一イベント識別子送信部132は、ステップS609で構成した情報を情報処理装置2に送信する。ステップS603に戻る。
なお、図6のフローチャートにおいて、2以上のイベント識別子を一緒に情報処理装置2に送信しても良い。かかる場合、ステップS609で、ステップS607で取得された2以上のイベント識別子を含む情報であり、送信する情報を構成する。
また、図6のフローチャートにおいて、ユーザの指示を受け付けることにより、第一イベント識別子送信部132は、1または2以上のイベント識別子を有する情報を情報処理装置2に送信しても良い。イベント識別子を有する情報を自動的に送信することは好適であるが、ユーザの指示の受け付けにより送信しても良い。
また、図6のフローチャートにおいて、ペアリング処理の後の操作について、イベント識別子を有する情報を情報処理装置2に送信したが、ペアリング処理を行わずに、例えば、ユーザの指示の受け付ける毎に、イベント識別子を有する情報を情報処理装置2に送信する等しても良い。
さらに、図6のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、情報処理装置2において、イベント情報が登録される処理であるイベント情報登録処理について、図7のフローチャートを用いて説明する。なお、第一端末1とのペアリングの処理の後に、以下のイベント情報登録動作が行われることは好適である。
(ステップS701)登録用イベント識別子受信部211は、第一端末1から1以上のイベント識別子を含む情報を受信したか否かを判断する。情報を受信した場合はステップS702に行き、情報を受信しなかった場合はステップS706に行く。
(ステップS702)処理部22は、ステップS701で受信された1以上のイベント識別子を含む情報を、格納部20に一時蓄積する。
(ステップS703)処理部22は、画面情報を送信するか否かを判断する。画面情報を送信する場合はステップS704に行き、画面情報を送信しない場合はステップS701に戻る。なお、ここで、1以上のイベント識別子を含む情報が受信された場合に、常に、画面情報が送信されても良いし、処理部22は、予め決められた時間の間に受信されたイベント識別子を纏めても良い。また、ここで、第二端末3のユーザからの指示が第二端末3から受信した場合に、画面情報を送信すると判断しても良い。
(ステップS704)処理部22は、ステップS701で受信された1以上のイベント識別子を含む画面情報であり、付加情報を入力するための画面情報を構成する。
(ステップS705)登録用イベント識別子送信部241は、ステップS704で構成された画面情報を第二端末3に送信する。ステップS701に戻る。なお、かかる画面情報は、1以上のイベント識別子を含む。
(ステップS706)登録用付加情報受信部212は、第二端末3から付加情報等を受信したか否かを判断する。付加情報等を受信した場合はステップS707に行き、付加情報等を受信しなかった場合はステップS701に戻る。
(ステップS707)登録用イベント情報蓄積部221は、ステップS706で受信された付加情報と、1以上のイベント識別子とを有するイベント情報を構成する。
(ステップS708)登録用イベント情報蓄積部221は、ステップS707で構成したイベント情報をイベント情報格納部201に蓄積する。ステップS701に戻る。
なお、図7のフローチャートにおいて、1以上のイベント識別子を含む情報が受信された場合に、常に、画面情報が送信される場合、ステップS703は省略される。
また、図7のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、情報処理装置2において、イベント情報が利用される処理であるイベント情報利用処理について、図8のフローチャートを用いて説明する。
(ステップS801)処理用イベント識別子受信部213は、1以上のイベント識別子等を受信したか否かを判断する。1以上のイベント識別子等を受信した場合はステップS802に行き、イベント識別子等を受信しなかった場合はステップS801に戻る。なお、イベント識別子等とは、例えば、イベント識別子、またはイベント識別子とユーザ識別子である。
(ステップS802)判断部222は、ステップS801で受信された1以上のイベント識別子等を取得する。
(ステップS803)判断部222は、ステップS802で取得した1以上のイベント識別子等がイベント情報格納部201に登録されているイベント情報が有する条件に合致するか(登録されているか)否かを判断する。登録されている場合はステップS804に行き、登録されていない場合はステップS801に戻る。
(ステップS804)イベント処理部223は、予め決められた処理を行う。ステップS801に戻る。
なお、図8のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、第二端末3の動作について、図9のフローチャートを用いて説明する。なお、ステップS901以降の動作が行われる前に、第二端末3と情報処理装置2とが通信可能にペアリングされていることは好適である。
(ステップS901)イベント識別子受信部341は、情報処理装置2から画面情報を受信したか否かを判断する。画面情報を受信した場合はステップS902に行き、画面情報を受信しなかった場合はステップS901に戻る。なお、画面情報は、1以上のイベント識別子を有し、付加情報を入力するための画面の情報である。
(ステップS902)第二処理部32は、ステップS901で受信された画面情報を用いて、画面を構成する。次に、第二出力部35は、当該画面を出力する。
(ステップS903)第二付加情報受付部311は、付加情報等を受け付けたか否かを判断する。付加情報等を受け付けた場合はステップS904に行き、付加情報等を受け付けなかった場合はステップS907に行く。なお、受け付けられた付加情報は、通常、第二格納部30に一時蓄積される。
(ステップS904)第二受付部31は、送信指示を受け付けたか否かを判断する。送信指示を受け付けた場合はステップS905に行き、送信指示を受け付けなかった場合はステップS903に戻る。
(ステップS905)第二処理部32は、ステップS903で受け付けられた付加情報等を用いて、送信する情報を構成する。なお、送信する情報は、例えば、受け付けられた1以上の付加情報、または受け付けられた1以上の付加情報と選択された1以上のイベント識別子である。送信する情報は、付加情報、第二イベント情報等と言っても良い。
(ステップS906)第二送信部33は、ステップS905で構成された情報を情報処理装置2に送信する。ステップS903に戻る。
(ステップS907)第二受付部31は、終了指示を受け付けたか否かを判断する。終了指示を受け付けた場合はステップS908に行き、終了指示を受け付けなかった場合はステップS904に戻る。
(ステップS908)第二処理部32は、終了処理を行う。ステップS901に戻る。
なお、図9のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、第三端末4の動作について、図10のフローチャートを用いて説明する。
(ステップS1001)第三受付部41は、操作を受け付けたか否かを判断する。操作を受け付けた場合はステップS1002に行き、操作を受け付けなかった場合はステップS1001に戻る。
(ステップS1002)イベント実行部421は、ステップS1001で受け付けられた操作に対応するイベントを発生させる。
(ステップS1003)イベント実行部421は、ステップS1002で発生させたイベントを実行する。なお、イベントの実行により、第三送信部43が図示しない外部の装置に情報を送信したり、第三受信部44が図示しない外部の装置から情報を受信したり、第三出力部45が情報を出力したりすることがあり得る。
なお、図10のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報システムAの具体的な動作について説明する。情報システムAの概念図は図1である。
以下、2つの具体例について説明する。具体例1では、情報システムAにおけるイベント情報登録処理について説明する。具体例2では、情報システムAにおけるイベント情報利用処理について説明する。
(具体例1)
具体例1では、情報システムAは、第一端末1と情報処理装置5と第二端末3とを備える。また、具体例1では、情報処理装置5は、情報処理装置2の一部の構成である。情報処理装置5のブロック図を図11に示す。かかる場合、情報処理装置5は、格納部20、受信部51、処理部52、出力部23、および送信部24を備える。受信部51は、登録用イベント識別子受信部211、および登録用付加情報受信部212を備える。処理部52は、登録用イベント情報蓄積部221、および判断部222を備える。
そして、情報処理装置2のイベント情報格納部201には、図12に示す構造を有するイベント情報管理表が格納され得る、とする。イベント情報管理表は、イベント情報を管理する表である。イベント情報管理表には、「ID」「イベント識別子」「付加情報」の属性値を有する1以上のレコードが格納される。「イベント識別子」には、ここでは、1または2以上のイベント識別子が含まれる。「イベント識別子」には、1以上のイベント識別子を用いた条件である。「イベント識別子」には、第二イベント情報と言っても良い。「付加情報」は、ここでは、「イベント表示名」「イベント名」「イベント説明・目的」を有する。「ID」はレコードを識別する情報である。属性「イベント識別子」にはイベント識別子が格納される。属性「付加情報」には、複数の付加情報が格納される。付加情報は、例えば、「イベント表示名」、「イベント名」は、イベント識別子を説明する文字列であり、人が理解可能な自然言語による文字列である。「イベント説明・目的」は、イベントの説明やイベントを発生させる目的等である。
また、情報処理装置2の格納部20には、情報処理装置2とペアリングを行うための画面を構成する画面情報の雛形の情報(第一雛形画面情報と言う)が格納される。また、格納部20には、付加情報を入力するための画面を構成する画面情報の雛形の情報(第二雛形画面情報と言う)が格納される。なお、第一雛形画面情報、第二雛形画面情報も画面情報である。
かかる状況において、イベント情報を登録したいユーザは、第二端末3を操作し、情報処理装置2にアクセスし、情報処理装置2と第一端末1とがペアリングを行うための画面の情報である第一雛形画面情報を情報処理装置2から受信し、出力した、とする。かかる出力例は、図13である。
そして、第二端末3の画面に表示された図13を見て、ユーザは、第一端末1が有するカメラでコード1301を読み取る操作を行ったとする。次に、第一受付部11は、通信開始指示を受け付ける。ペアリング部131は、ステップS601で受け付けられた通信開始指示に応じて、情報処理装置2と通信可能になるためのペアリング処理を行う。
次に、ユーザは、例えば、第一端末1を用いて、あるECサイトにアクセスし、第一端末1にはECサイトのウェブページが表示された、とする。そして、ユーザは、当該表示されたウェブページに対して、操作を続けた、とする。
次に、第一端末1の第一受付部11は、ユーザから操作を受け付ける。そして、第一イベント実行部121は、受け付けられた操作に対応するイベントを発生させる。次に、第一イベント識別子取得部122は、発生したイベントのイベント識別子を取得する。ここで、第一イベント識別子取得部122は、4つのイベントのイベント識別子を取得した、とする。
次に、第一イベント実行部121は、発生させた4つのイベントを実行する。なお、イベントの実行は、通常、順序、行われる。
次に、第一イベント識別子取得部122は、取得した4つのイベント識別子を含む情報であり、送信する情報を構成する。第一イベント識別子送信部132は、構成された情報を情報処理装置2に送信する。
次に、情報処理装置2の登録用イベント識別子受信部211は、第一端末1から1以上のイベント識別子を含む情報を受信する。
次に、処理部22は、受信された1以上のイベント識別子を含む情報を、格納部20に一時蓄積する。
次に、処理部22は、格納部20から第二雛形画面情報を読み出す。そして、処理部22は、受信された1以上のイベント識別子を第二雛形画面情報に挿入し、付加情報を入力するための画面情報を構成する。
次に、登録用イベント識別子送信部241は、構成された画面情報を第二端末3に送信する。
次に、第二端末3のイベント識別子受信部341は、情報処理装置2から画面情報を受信する。そして、第二処理部32は、ステップS901で受信された画面情報を用いて、画面を構成する。次に、第二出力部35は、当該画面を出力する。かかる画面の例は、図14である。図14において、1401の領域は、イベント識別子が表示されている領域である。また、1402は、ユーザがイベント識別子を選択するためのチェックボックスである。また、1403は、ユーザが付加情報を入力するための領域である。
かかる状況において、ユーザは、例えば、1402のうちの「Touch on UITableViewLabel」を選択した、とする。次に、ユーザは、1403の領域の「イベント表示名」のフィールドに「UIテーブルのビューを表示」を入力し、「イベント説明・目的」のフィールドに「ZZZ・・・・・・・」を入力し、「来訪ログ」のチェックボックスにチェックを付加し、「ゴールイベント」のチェックボックスにチェックを付加した、とする。そして、ユーザは、送信指示を第二端末3に入力した、とする。
すると、第二受付部31は、送信指示を受け付ける。次に、第二処理部32は、受け付けられた付加情報等を用いて、送信する情報を構成する。なお、送信する情報は、ここでは、受け付けられた複数の付加情報と選択されたイベント識別子「Touch on UITableViewLabel」である。そして、第二送信部33は、構成された情報を情報処理装置2に送信する。
次に、情報処理装置2の登録用付加情報受信部212は、第二端末3から付加情報等を受信する。
次に、登録用イベント情報蓄積部221は、受信された付加情報とイベント識別子とを有するイベント情報を構成する。
次に、登録用イベント情報蓄積部221は、構成されたイベント情報をイベント情報格納部201に蓄積する。かかるイベント情報は、図12の「ID=58」のレコードである。
以上により、非常に容易にイベント情報が登録できた。
(具体例2)
具体例2では、情報システムAは、情報処理装置6と1または2以上の第三端末4を備える。具体例2では、情報処理装置6は、情報処理装置2の一部の構成である。情報処理装置6のブロック図を図15に示す。かかる場合、情報処理装置6は、格納部20、受信部61、処理部62、出力部23、および送信部24を備える。受信部61は、処理用イベント識別子受信部213を備える。処理部62は、イベント処理部223を備える。
なお、ここで、イベント処理部223は、登録されたイベントが実行されたことを示す情報等をリアルタイムに図示しない端末に送信する処理を行う、とする。
つまり、イベント処理部223は、受信されたイベント識別子に対応するイベント表示名を、イベント情報管理表(例えば、図12)から取得する。そして、イベント処理部223は、受信されたユーザ識別子に対応するユーザ名またはユーザ属性値をユーザ情報管理表から取得する。そして、イベント処理部223は、取得したイベント表示名とユーザ名とユーザ属性値とを図示しない端末に送信する。なお、図示しない端末では、イベント表示名とユーザ名とユーザ属性値とを受信し、出力する。また、かかる処理により、図示しない端末のユーザは、監視したいイベントが発生した場合に、当該イベントを発生させたユーザに関する情報をリアルタイムに得ることができる。
また、格納部20には、図12のイベント情報管理表、および図16に示す構造を有するユーザ情報管理表が格納されている。ユーザ情報管理表には、ユーザに関する情報が管理される表である。ユーザ情報管理表は、「ユーザ識別子」「氏名」「メールアドレス」「静的属性値」「動的属性値」を有するレコードが1以上格納されている。
「静的属性値」は、「性別」「年齢」「未婚/既婚」「出身地」「メンバー」等を有する。「動的属性値」は、「リアルタイム動的属性値」「履歴情報利用動的属性値」を有する。「リアルタイム動的属性値」は「滞在時間」「閲覧ページ数」を有する。「履歴情報利用動的属性値」は、「来訪回数」「購入回数」「総購入金額(円)」「平均PV数」「スコア」を有する。
「未婚/既婚」は、未婚か既婚かを示す情報を採り得る。「メンバー」は、情報処理装置6を使用可能なメンバーであるか(例えば、値「1」)、メンバーでないか(例えば、値「0」)を採り得る。「滞在時間」は、現在のECサイトまたはウェブページの滞在時間である。「閲覧ページ数」は、現在の滞在で圧欄したページ数である。「来訪回数」は該当するサイトへの今までの来訪回数である。「購入回数」は該当するサイトで商品を購入した回数である。「総購入金額(円)」は該当するサイトでの購入金額の総額である。「平均PV数」は1回の来訪あたりの平均のページビューの数である。「スコア」は、ユーザのスコアであり、高いほど優良なユーザであることを示す。「スコア」は、「来訪回数」「購入回数」「総購入金額(円)」「平均PV数」のうちの1以上の情報を用いて算出される値であり、「来訪回数」「購入回数」「総購入金額(円)」「平均PV数」のうちの1以上の情報が大きいほど、大きい値となる。なお、例えば、処理部22が、1以上の履歴情報利用動的属性値を用いてスコアを算出する。
かかる状況において、第三端末4のユーザが第三端末4を用いてECサイトにアクセスし、ECサイトの画面を第三端末4に表示させた、とする。そして、ECサイトの画面に対して、操作を行った、とする。
すると、第三端末4の第三受付部41は、操作を受け付ける。また、イベント実行部421は、受け付けられた操作に対応するイベントを発生させる。次に、イベント実行部421は、発生させたイベントを実行する。そして、イベントの実行の結果、第三端末4の第三送信部43は、情報処理装置6にイベント識別子「Touch on UITableViewLabel」とユーザ識別子「u01」とを送信した、とする。なお、ユーザ識別子「u01」は、第三格納部40に格納されている、とする。
次に、情報処理装置6の処理用イベント識別子受信部213は、イベント識別子「Touch on UITableViewLabel」とユーザ識別子「u01」とを受信する。次に、判断部222は、イベント識別子「Touch on UITableViewLabel」とユーザ識別子「u01」とを取得する。
次に、判断部222は、イベント情報管理表を参照し、取得したイベント識別子「Touch on UITableViewLabel」がイベント情報管理表に登録されている、と判断する。
次に、イベント処理部223は、受信されたユーザ識別子「u01」に対応するユーザ名「山田A夫」、ユーザ属性値(来訪回数:21,購入回数:5,総購入金額:23000,平均PV数:10,スコア:99,・・・)をユーザ情報管理表(図16)から取得する。そして、イベント処理部223は、イベント識別子「Touch on UITableViewLabel」と対になるイベント表示名「UIテーブルのビューを表示」等の付加情報をイベント情報管理表(図12)から取得する。
次に、イベント処理部223は、取得したイベント表示名とユーザ名とユーザ属性値とを図示しない端末(管理者用端末)に送信する。
なお、図示しない端末では、イベント表示名とユーザ名とユーザ属性値とを受信し、出力する。また、かかる処理により、図示しない端末のユーザは、監視したいイベントが発生した場合に、当該イベントを発生させたユーザに関する情報をリアルタイムに得ることができる。
また、かかる出力例は、例えば、図17である。図17の1701は、チャットの相手のユーザ識別子「u01」で識別されるユーザからのメッセージである。1702は、第三端末4の管理者が入力したメッセージである。1703は、チャットの相手のユーザ識別子「u01」で識別されるユーザの静的属性値である。1704は、チャットの相手のユーザ識別子「u01」で識別されるユーザの動的属性値である。1705は、チャットの相手のユーザ識別子「u01」で識別されるユーザと過去にやりとりしたメールである。1706は、チャットの相手のユーザ識別子「u01」で識別されるユーザがSNSサーバに投稿した投稿情報である。1707は、発生したイベントに対応するイベント表示名である。また、1708は、ユーザ「山田A夫」のスコア「99」である。
なお、図17の画面は、ECサイトを訪れた第三端末4を使用するユーザ「山田A夫」と図示しない端末を使用する管理者とが、ユーザ「山田A夫」がECサイトの訪問中に、チャットを行いながら、管理者が見る画面である。そして、図17の画面により、管理者は、ユーザの状況を詳細に理解しながら、ユーザがECサイトを利用することをチャットにより支援できる。つまり、情報処理装置6の処理部22は、2つの端末のチャットを行う機能を有する。また、情報処理装置6の処理部22は、ユーザ識別子「u01」と対になるメール、SNS投稿情報を図示しないサーバから取得する機能を有する。また、処理部22は、図17の画面の元になる画面情報を構成する機能を有する。
以上、本具体例によれば、登録されたイベント情報を有効に利用できる。
以上、本実施の形態によれば、第一端末における操作により発生するイベントに関するイベント情報を、第二端末を用いて、容易に登録できる。
また、本実施の形態によれば、登録されたイベント情報を有効に利用できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置5を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、イベント識別子を第一端末から受信する登録用イベント識別子受信部と、前記登録用イベント識別子受信部が受信したイベント識別子を第二端末に送信する登録用イベント識別子送信部と、前記イベント識別子に対する付加的な情報である付加情報を前記第二端末から受信する登録用付加情報受信部と、前記イベント識別子と前記付加情報とを有するイベント情報を蓄積する登録用イベント情報蓄積部として機能させるためのプログラムである。
また、本実施の形態における第一端末1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、ユーザの操作を受け付ける第一受付部と、前記操作によりイベントを発生させ、当該イベントを実行する第一イベント実行部と、前記イベントの実行結果を出力する第一出力部と、前記イベントを識別するイベント識別子を取得する第一イベント識別子取得部と、前記イベント識別子取得部が取得したイベント識別子を情報処理装置に送信する第一イベント識別子送信部として機能させるためのプログラムである。
また、図18は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置2等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図18は、このコンピュータシステム300の概観図であり、図19は、システム300のブロック図である。
図18において、コンピュータシステム300は、CD−ROMドライブを3012含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図19において、コンピュータ301は、CD−ROMドライブ3012と、MPU3013と、バス3014と、ROM3015と、RAM3016と、ハードディスク3017とを含む。ROM3015は、ブートアッププログラム等のプログラムを記憶している。RAM3016は、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供する。ハードディスク3017は、通常、アプリケーションプログラム、システムプログラム、及びデータを記憶している。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の情報処理装置2等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。また、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の情報処理装置2等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切なモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。