以下、サーバ装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、ユーザの端末装置の画面の動画を発生したイベントに対応付けてユーザ識別子とも対応付けて蓄積するサーバ装置を含む情報システムについて説明する。なお、イベントは、端末装置の内部で発生する内部イベントも含む。
また、本実施の形態において、イベントをキーにして画面の動画を取得し、当該動画を出力するサーバ装置を含む情報システムについて説明する。
さらに、本実施の形態において、チャットを行っている二者の端末装置の画面の動画を蓄積するサーバ装置を含む情報システムについて説明する。
図1は、本実施の形態における情報システムAの概念図である。情報システムAは、1または2以上の第一端末1、サーバ装置2、および1または2以上の第二端末3を備える。第一端末1または第二端末3を端末装置と言っても良い。
1以上の各第一端末1とサーバ装置2とは、インターネット等のネットワークを介して通信可能である。また、サーバ装置2と1以上の第二端末3とは、インターネット等のネットワークを介して通信可能である。第一端末1、第二端末3は、例えば、スマートフォン、タブレット端末、いわゆるパーソナルコンピュータ等であり、その種類は問わない。サーバ装置2は、いわゆるサーバであり、例えば、クラウドサーバ、ASPサーバ等、その種類は問わない。第一端末1と第二端末3とは、例えば、チャットを行うシステムである。ただし、メッセージの送信は、第一端末1から第二端末3にのみ行えても良い。第一端末1のユーザである第一ユーザは、第二端末3のユーザである第二ユーザに対して、情報を提供する立場のユーザであっても良い。
図2は、本実施の形態における情報システムAのブロック図である。図3は、情報システムAを構成するサーバ装置2のブロック図である。
第一端末1は、第一格納部11、第一受付部12、第一受信部13、第一処理部14、第一出力部15、および第一送信部16を備える。第一受信部13は、第一入力受信部131を備える。第一処理部14は、第一取得部141を備える。
サーバ装置2は、サーバ格納部21、サーバ受信部22、サーバ処理部23、およびサーバ送信部24を備える。サーバ受信部22は、第一サーバ受信部221、第二サーバ受信部222、および指示受信部223を備える。サーバ処理部23は、蓄積部231、および動画取得部232を備える。サーバ送信部24は、動画送信部241を備える。
第二端末3は、第二格納部31、第二受付部32、第二受信部33、第二処理部34、第二出力部35、および第二送信部36を備える。第二受信部33は、第二入力受信部331、および第二画面受信部332を備える。第二処理部34は、第二取得部341を備える。
第一端末1は、第二端末3と通信可能であるが、第二端末3の画面情報を出力しないことは好適である。第一端末1において、第二端末3の画面情報が出力されない場合、第二端末3は画面情報を送信しないことは好適である。
第一端末1を構成する第一格納部11には、各種の情報が格納される。各種の情報は、例えば、第一ユーザ識別子等である。第一ユーザ識別子は、第一ユーザを識別する情報であり、例えば、IDである。第一ユーザ識別子は、電話番号、メールアドレス等でも良い。第一ユーザ識別子は、第一端末1を識別する情報でも良い。各種の情報は、例えば、第一入力に対応するオブジェクト識別子(例えば、押下された一のボタンの識別子)と動作識別子との対の情報である。なお、第一ユーザは、例えば、一般ユーザである。
第一受付部12は、第一入力を受け付ける。第一入力は、第一端末1への第一ユーザの入力である。第一入力の内容は問わない。第一入力は、例えば、テキストであるが、画像等でも良く、データタイプは問わない。また、第二入力は、例えば、メッセージ、メール、ショートメッセージ等である。
第一受付部12は、第一画像を受け付けても良い。第一画像は、第一端末1で取得される画像である。第一画像は、例えば、第一ユーザを撮影した動画でも良いし、第一ユーザを撮影した静止画でも良い。
第一入力等の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。第一受付部12は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
第一受信部13は、各種の情報や指示等を受信する。各種の情報や指示等とは、例えば、後述する第二入力、後述する第二画像、後述する補助情報等である。なお、第一受信部13は、通常、サーバ装置2から情報を受信するが、第二端末3から直接的に情報を受信しても良い。
第一入力受信部131は、第二入力を受信する。第二入力は、第二端末3の第二ユーザの入力である。
第一処理部14は、各種の処理を行う。各種の処理は、例えば、第一取得部141が行う処理である。各種の処理は、例えば、第一受付部12が受け付けた指示や情報等を送信する構造の指示や情報等に変更する処理である。各種の処理は、例えば、第一受信部13が受信した情報を出力する構造に変更する処理等である。
第一処理部14は、例えば、補助情報である座標情報を用いて、出力されるポインタを構成する。なお、ポインタとは、例えば、マウスカーソルである。第一処理部14は、例えば、補助情報であるスクリプトを実行する。
第一取得部141は、1または2以上の第一画面情報を取得する。第一取得部141は、第一画面情報に対応付けて、1以上の第一イベントを取得する。
第一画面情報は、第一端末1の画面の全部または一部の情報である。第一画面情報は、例えば、第一端末1の画面のスクリーンショットまたはスクリーンショットの一部である。第一画面情報は、例えば、第一端末1の画面の中のウィンドウのスクリーンショットまたはスクリーンショットの一部である。スクリーンショットは、画面の情報のそのままであるが、データ構造は問わない。第一画面情報は、第一端末1の画面の全部の情報のうち、予め決められた情報を含まない画面の情報であることは好適である。予め決められた情報は、例えば、第一端末1で指示された情報である。予め決められた情報は、例えば、第一端末1で指示されたウィンドウの中の情報である。予め決められた情報は、例えば、サーバ装置2で管理されている情報である。予め決められた情報は、例えば、クレジットカード番号、銀行口座番号などの、第一ユーザの個人的な情報であり、秘密にすべき情報である。第一画面情報は、HTML、XML、ビットマップ等、そのデータ構造は問わない。2以上の第一画面情報は、動画であり、第一画面動画と言っても良い。第一画面動画は、第一端末1の画面の全部または一部の動画である。
第一イベントは、例えば、第一ユーザが入力した第一入力である。第一イベントは、例えば、第一端末1で発生したイベントである内部イベントである。内部イベントは、例えば、第一入力の受け付けにより、第一端末1で発生したイベントである。なお、イベントは、例えば、押下されたボタンを識別するボタン識別子、選択されたメニュー項目を識別する項目識別子、第一入力そのもの、第一入力により実行されたメソッド名または関数名またはスクリプト名等、第一入力の受け付けにより第一端末1で発生したプロセス名またはスレッド名、第一入力に対応する動作または操作を示す動作識別子である。イベントは、例えば、画面を識別する画面識別子を有する。動作識別子は、例えば、ウェブページの閲覧を開始したことを示す「閲覧開始」、「カート&お気に入りボタンクリック」、「商品サムネイル画像クリック」等である。例えば、第一入力に対応付けられた動作識別子は、第一格納部11に格納されている。
第一取得部141は、例えば、第一ユーザが入力した第一入力である第一イベントを取得する。また、第一取得部141は、例えば、第一入力の受け付けに応じて、第一端末1の内部で発生した第一イベントを取得する。内部で発生したイベントを取得する技術は、公知技術であるので詳細な説明を省略する。第一取得部141は、例えば、第一ユーザが入力した第一入力(例えば、一のボタンの押下)に対応する動作識別子(例えば、一のボタンのボタン識別子と対になる動作識別子)を第一格納部11から取得する。
第一取得部141は、例えば、第一ユーザが入力した第一入力を用いて、第一イベントを構成する。第一取得部141は、例えば、第一入力が入力された際の画面の画面識別子、押下されたボタンに対応付いて管理されている情報、第一入力が入力された際のウェブページの識別子、第一入力により購入された商品の商品識別子等のうちから1以上の情報を取得し、当該1以上の情報を用いて、第一イベントを構成する。
第一取得部141は、画面情報と1以上のイベントと時刻情報とを対応付けて取得することは好適である。時刻情報は、時刻に関する情報であり、例えば、時刻を示す情報、時刻に対応する相対的なタイミングの情報である。第一取得部141は、例えば、時刻情報を図示しない時計またはNTPサーバ等から取得する。
第一取得部141が第一画面情報を取得するタイミングは問わない。第一取得部141は、通常、連続して第一画面情報を取得する。第一取得部141は、例えば、定期的に第一画面情報を取得する。第一取得部141は、例えば、連続して、不定期に第一画面情報を取得する。第一取得部141は、例えば、イベントの受け付けまたは発生の際に第一画面情報を取得する。
第一取得部141による第一画面情報の取得は、例えば、第一端末1の画面のスクリーンショットを撮ることである。第一取得部141による第一画面情報の取得は、例えば、第一端末1の画面を構成するスクリプトを生成することである。スクリプトは、例えば、XML、HTML等である。
なお、第一取得部141は、例えば、第一端末1の画面のすべての情報のうち、予め決められた情報が非表示となる画面情報を取得することは好適である。また、画面情報は、例えば、第一端末1のマウスまたはペン等の入力手段のポインタの情報、チャット以外のテキストエリアなどへの入力情報等を含んでも良いことは言うまでもない。また、ポインタの情報は、例えば、ポイントの位置を示す座標情報、ポインタの形状の情報等である。
第一端末1の画面の一部の情報である画面情報は、第一端末1の画面の全部の情報のうち、予め決められた情報を含まない画面情報である。予め決められた情報は、例えば、第一ユーザが第一端末1に対して設定した情報である。予め決められた情報は、例えば、画面上のフィールドを識別するフィールド識別子に対応する情報、画面上のウィンドウを識別するウィンドウ識別子で識別されるウィンドウ内の情報である。
第一出力部15は、第一入力受信部131が受信した第二入力を出力する。第一出力部15は、第一ユーザが入力した第一入力を出力することは好適である。また、第一出力部15は、第一処理部14が構成したポインタを出力する。また、第一出力部15は、第一処理部14がスクリプトを実行した結果を出力しても良い。
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
第一送信部16は、第一取得部141が取得した1または2以上の第一画面情報を送信する。第一送信部16は、時間的に連続した2以上の第一画面情報を送信することは好適である。なお、時間的に連続した2以上の第一画面情報は、通常、いわゆる動画であり、第一画面動画と言っても良い。第一送信部16は、第一取得部141が取得した1以上の第一画面情報と1以上の第一イベントとを対応付けて送信することは好適である。第一送信部16は、第一取得部141が取得した1以上の第一画面情報と1以上の第一イベントと時刻情報とを対応付けて送信することは好適である。
第一送信部16は、例えば、第一取得部141が取得した1以上の第一画面情報と、第一受付部12が受け付けた第一入力とを送信する。なお、第一送信部16は、通常、サーバ装置2に第一画面情報等を送信するが、第二端末3にも直接に第一画面情報等を送信しても良い。
第一送信部16は、第一画面情報等と一緒に、または第一画面情報等とは別に、第一ユーザ識別子をもサーバ装置2に送信しても良い。
第一送信部16が第一画面情報等を送信するタイミングは問わない。第一送信部16は、定期的または不定期に連続して第一画面情報等を送信しても良いし、第一入力が受け付けられた場合に第一画面情報等を送信しても良いし、第一イベントが取得された場合に第一画面情報等を送信しても良い。
サーバ装置2を構成するサーバ格納部21には、各種の情報が格納される。各種の情報とは、例えば、後述するユーザ情報、後述するチャット情報、第一端末1から送信された1または2以上の第一画面情報と1または2以上の第一イベント、1以上の第一画面情報と1以上の第一イベントと1または2以上の時刻情報、第二端末3から送信された1または2以上の第二画面情報と1または2以上の第二イベント、1以上の第二画面情報と1以上の第二イベントと1または2以上の時刻情報、1または2以上のウェブページ等である。なお、時刻情報は、例えば、第一画面情報または第一イベントまたは第一画面動画に対応付いている。また、時刻情報は、例えば、第二画面情報または第二イベントまたは第二画面動画に対応付いている。
ユーザ情報は、ユーザに関する情報であり、例えば、1または2以上の属性値を有する。ユーザ情報は、通常、第一端末1のユーザである第一ユーザに関する情報である。1以上の属性値とは、静的属性値でも良いし、動的属性値でも良い。静的属性値とは、通常、変化しない属性値であるが、時々刻々とは変化しない属性値であると考えても良い。静的属性値は、例えば、氏名、年齢、住所、電話番号、クレジットカード番号、メールアドレス、第一端末識別子、第一ユーザ識別子、パスワード等である。第一端末識別子は、第一端末1を識別する情報であり、例えば、Cookie ID、セッション識別子、IPアドレス、MACアドレス等である。第一ユーザ識別子は、第一ユーザを識別する情報であり、例えば、IDである。第一ユーザ識別子は、電話番号、クレジットカード番号、メールアドレス等でも良い。動的属性値は、ユーザの操作等により、動的に変化し得る属性値である。動的属性値には、例えば、リアルタイム動的属性値、履歴情報利用動的属性値がある。リアルタイム動的属性値は、リアルタイムに時々刻々と変化する属性値である。リアルタイム動的属性値は、例えば、ユーザが現在閲覧しているウェブページの滞在時間、現在の滞在の際の閲覧したウェブページ数等である。履歴情報利用動的属性値は、過去の来訪時の操作情報の履歴をも用いて取得される動的属性値である。履歴情報利用動的属性値は、例えば、購入回数、購入金額、総購入金額、平均滞在時間、平均PV数、来訪回数等である。
チャット情報は、第一端末1のユーザである第一ユーザと、第二端末3のユーザである第二ユーザとの間で行ったチャット(会話と言っても良い)に関する情報である。チャット情報は、例えば、第一入力または第二入力を含む。チャット情報は、第一入力を含むことは好適である。つまり、チャット情報は、第一ユーザから第二ユーザに送信されるメッセージ、または第二ユーザから第一ユーザに送信されるメッセージを含む。チャット情報は、例えば、メッセージの送信者を識別するユーザ識別子を含む。チャット情報は、例えば、メッセージの受信者を識別するユーザ識別子を含む。なお、ユーザ識別子は、第一端末1のユーザのユーザ識別子である第一ユーザ識別子、または第二端末3のユーザのユーザ識別子である第二ユーザ識別子である。
ウェブページは、例えば、第一ユーザが閲覧するウェブページである。ウェブページは、例えば、ECサイトのウェブページ、情報提供のためのウェブページである。
サーバ受信部22は、各種の情報を受信する。各種の情報とは、例えば、第一画面情報、第一イベント、第一画面動画、第二画面情報、第二イベント、第二画面動画、第一入力、第二入力である。
第一サーバ受信部221は、1または2以上の第一イベントと1または2以上の第一画面情報とを、第一端末1から受信する。第一サーバ受信部221は、通常、第一ユーザ識別子に対応付けて、1以上の第一イベントと1以上の第一画面情報等とを受信する。第一ユーザ識別子に対応付けて第一画面情報等を受信することは、第一ユーザ識別子も受信することでも良いし、第一ユーザ識別子に対応する情報と共に第一画面情報等を受信することでも良い。つまり、受信された第一画面情報等が第一ユーザ識別子に対応付けば良い。第一サーバ受信部221は、第一イベントまたは第一画面情報または第一画面動画に対応付けられた時刻情報を、さらに受信しても良い。
第二サーバ受信部222は、第二端末3から1または2以上の第二画面情報を受信する。第二サーバ受信部222は、第二端末3から1または2以上の第二画面情報と1または2以上の第二イベントとを受信しても良い。第二サーバ受信部222は、第二イベントまたは第二画面情報または第二画面動画に対応付けられた時刻情報を、さらに受信しても良い。
第二端末3は、第一端末1を使用する第一ユーザとチャットを行う第二ユーザが使用する端末である。第二端末3は、第二ユーザの入力である第二入力を受け付けた端末である。第二ユーザは、例えば、サーバ装置2の管理者である。
第二画面情報は、第二端末3の画面の全部または一部の情報である。第二画面情報は、例えば、第二入力が受け付けられた画面の全部または一部の情報である。第二画面情報は、HTML、XML、ビットマップ等、そのデータ構造は問わない。第二画面情報は、第一画面情報と同じ構造であることが好適である。
第二イベントは、例えば、第二ユーザが入力した第二入力である。第二イベントは、例えば、第二端末3で発生したイベントである内部イベントである。内部イベントは、例えば、第二入力の受け付けにより、第二端末3で発生したイベントである。なお、イベントは、例えば、押下されたボタンを識別するボタン識別子、選択されたメニュー項目を識別する項目識別子、第二入力そのもの、第二入力により実行されたメソッド名または関数名またはスクリプト名、第二入力の受け付けにより第二端末3で発生したプロセス名またはスレッド名、第一入力に対応する動作または操作を示す動作識別子である。
第二サーバ受信部222は、第二入力に対応する1または2以上の第二イベントと1または2以上の第二画面情報とを第二端末3から受信する。第二端末3は、第一端末1を使用する第一ユーザとチャットを行う第二ユーザが使用する端末であり、第二ユーザの入力である第二入力を受け付ける端末である。
指示受信部223は、各種の指示を受信する。各種の指示は、例えば、画面動画検索指示、画面動画出力指示である。指示受信部223は、例えば、第二端末3から指示を受信する。
画面動画検索指示は、画面動画を検索する指示である。画面動画検索指示は、検索条件を含む。検索条件は、例えば、イベント、またはユーザ識別子、またはイベントとユーザ識別子を含む。検索条件は、例えば、日付、時刻情報に関する条件である。検索条件は、例えば、ユーザが閲覧したウェブページを識別するウェブページ識別子に関する条件である。なお、検索対象の画面動画は、第一画面動画、第二画面動画のどちらか一方でも良いし、両方でも良い。
画面動画出力指示は、画面の動画の出力の指示である。画面動画出力指示は、画面情報の出力の指示である、と言える。画面動画出力指示は、例えば、画面動画を識別する情報を含む。画面動画出力指示は、例えば、イベントを含む。イベントは、イベントを識別する情報と考えても良い。イベントは、人が見て理解可能な情報でも良いし、ID等の人が見て容易に理解できない情報でも良い。
サーバ処理部23は、各種の処理を行う。各種の処理とは、例えば、蓄積部231、動画取得部232が行う処理である。
蓄積部231は、第一サーバ受信部221が受信した1以上の第一画面情報を蓄積する。蓄積部231は、例えば、第一サーバ受信部221が受信した1以上の第一画面情報を、第一サーバ受信部221が受信した1以上の第一イベントと第一ユーザ識別子とに対応付けて蓄積する。蓄積部231は、1または2以上の第一画面情報を時刻情報に対応付けて蓄積しても良い。蓄積部231は、1以上の第一画面情報を1以上の第一イベントと時刻情報とに対応付けて蓄積しても良い。時刻情報は、通常、時刻であるが、フィールド識別子、タイミングを特定するタイミング情報等でも良い。また、時刻情報は、受信された情報でも良いし、図示しない時計またはNTPサーバ等から取得した情報でも良い。
蓄積部231は、例えば、第二サーバ受信部222が受信した1以上の第二画面情報を蓄積する。蓄積部231は、例えば、第二サーバ受信部222が受信した1以上の第二画面情報に対応付けて、第二サーバ受信部222が受信した1以上の第二イベントを蓄積する。蓄積部231は、1以上の第二画面情報を時刻情報に対応付けて蓄積しても良い。蓄積部231は、1以上の第二画面情報を1以上の第二イベントと時刻情報とに対応付けて蓄積しても良い。
蓄積部231は、例えば、第二サーバ受信部222が受信した1以上の第二画面情報を、1以上の第一画面情報に対応付けて蓄積する。蓄積部231は、同じ時に取得された1以上の第二画面情報と1以上の第一画面情報とを対応付けて蓄積する。同じ時に取得された1以上の第二画面情報と1以上の第一画面情報は、同じタイミングで受信された1以上の第二画面情報と1以上の第一画面情報でも良い。1以上の第二画面情報と1以上の第一画面情報とを対応付けて蓄積することは、同じタイミングの1以上の第二画面情報と1以上の第一画面情報とをリンク付けることでも良いし、同じタイミングの1以上の第二画面情報と1以上の第一画面情報とに同一の情報を付加して蓄積することでも良いし、同一の情報が付加された1以上の第二画面情報と1以上の第一画面情報とを蓄積することでも良い。なお、同じ情報とは、例えば、同じ時刻情報または同じフィールド識別子または同じタイミング情報等である。
動画取得部232は、1または2以上の第一画面動画をサーバ格納部21から取得する。1以上の第一画面動画は、例えば、画面動画出力指示に含まれるイベントと予め決められた関係を有する第一イベントに対応する第一画面情報を含む時間的に連続する第一画面情報の集合である。なお、予め決められた関係は、例えば、一致である。予め決められた関係は、例えば、部分一致である。動画取得部232は、1または2以上の各第一画面動画と、各第一画面動画に対応付いている1以上の第一イベントとを取得しても良い。動画取得部232は、さらに、各第一画面動画または1以上の各第一イベントに対応付いている他の情報(例えば、1以上の時刻情報、ユーザ識別子など)もサーバ格納部21から取得しても良い。
第一画面動画は、画面動画出力指示に含まれるイベントと予め決められた関係を有する第一イベントに対応する第一画面情報以降の、時間的に連続する第一画面情報の集合であることは好適である。
動画取得部232は、例えば、1または2以上の第二画面動画をサーバ格納部21から取得する。第二画面動画は、画面動画出力指示に含まれるイベントと予め決められた関係を有する第二イベントに対応する第二画面情報を含む時間的に連続する第二画面情報の集合である。第二画面動画は、画面動画出力指示に含まれるイベントと予め決められた関係を有する第二イベントに対応する第二画面情報以降の時間的に連続する第二画面情報の集合であることは好適である。動画取得部232は、1または2以上の各第二画面動画と、各第二画面動画に対応付いている1以上の第二イベントとを取得しても良い。動画取得部232は、さらに、各第二画面動画または1以上の各第二イベントに対応付いている他の情報(例えば、1以上の時刻情報、ユーザ識別子など)もサーバ格納部21から取得しても良い。
動画取得部232は、例えば、第一画面動画と、当該第一画面動画と時間的に対応する第二画面動画とを取得する。動画取得部232は、例えば、第二画面動画と、当該第二画面動画と時間的に対応する第一画面動画とを取得する。
動画取得部232は、例えば、取得した第一画面動画または第二画面動画に対応する1以上のイベントをも取得しても良い。
動画取得部232は、例えば、第一画面動画と、当該第一画面動画に対応する1以上の第一イベントとを取得する。動画取得部232は、例えば、第二画面動画と、当該第二画面動画に対応する1以上の第二イベントとを取得する。
動画取得部232は、例えば、画面動画検索指示が有する検索条件を用いて、サーバ格納部21を検索し、検索条件に合致する1または2以上の画面動画を決定する。そして、動画取得部232は、例えば、決定した1以上の画面動画のリストである動画リストを構成する。動画リストの各項目は、例えば、1以上の各画面動画に対応する情報から構成される。項目を構成する情報は、例えば、画面動画に対応するユーザ識別子、日付、時刻情報、時間情報、閲覧した「ウェブページ識別子」、イベント等のうちの1以上の情報である。動画リストの各項目は、第一画面動画および第二画面動画の組に対応する情報でも良い。
サーバ送信部24は、各種の情報を送信する。各種の情報は、例えば、動画取得部232が取得した情報である。つまり、各種の情報は、例えば、第一画面動画、第二画面動画、1または2以上のイベント、動画リストのうちの1種類以上の情報である。
動画送信部241は、動画取得部232が取得した情報を送信する。動画送信部241は、例えば、第一画面動画を送信する。動画送信部241は、例えば、第二画面動画を送信する。動画送信部241は、例えば、第一画面動画および第二画面動画を送信する。動画送信部241は、例えば、第一画面動画と1以上の第一イベントとを送信する。動画送信部241は、例えば、第二画面動画と1以上の第二イベントとを送信する。動画送信部241は、例えば、第一画面動画と1以上の第一イベント、および第二画面動画と1以上の第二イベントを送信する。なお、一緒に送信される第一画面動画と1以上の第一イベントとは対応付いている情報である。また、一緒に送信される第二画面動画と1以上の第二イベントとは対応付いている情報である。動画送信部241は、送信する画面動画またはイベントに対応付けられている1以上の時刻情報をも送信しても良い。
動画送信部241は、例えば、2以上の第一画面動画を送信する。動画送信部241は、例えば、2以上の第二画面動画を送信する。動画送信部241は、例えば、2以上の第一画面動画と2以上の第二画面動画とを送信する。動画送信部241は、第一画面動画に対応付いている1以上の第一イベント、第二画面動画に対応付いている1以上の第二イベントを送信しても良い。
動画送信部241が第一画面動画等を送信する先は、通常、第二端末3である。ただし、動画送信部241は、第一端末1に第二画面動画等を送信しても良い。
第二端末3を構成する第二格納部31には、各種の情報が格納される。各種の情報とは、例えば、第二ユーザ識別子である。第二ユーザ識別子は、第二端末3のユーザである第二ユーザ(ここでは、例えば、管理者)を識別する情報であり、例えば、IDである。第二ユーザ識別子は、電話番号、クレジットカード番号、メールアドレス等でも良い。なお、第二ユーザ識別子は、第二端末3を識別する情報であっても良い。
第二受付部32は、第二ユーザから指示や情報等の入力を受け付ける。指示や情報等とは、例えば、第二入力である。第二入力は、第二ユーザの入力である。第二入力の内容は問わない。第二入力は、例えば、テキストであるが、画像等でも良く、データタイプは問わない。第二入力は、例えば、チャットシステムに入力されたテキストである。また、第二入力は、例えば、メッセージ、メール、ショートメッセージ等でも良い。
指示や情報等とは、例えば、画面動画検索指示、画面動画出力指示である。画面動画検索指示は、例えば、イベントを含む。画面動画出力指示は、例えば、イベント、または画面動画を識別する画面動画識別子を含む。
また、指示や情報等とは、例えば、マウスやペン等の入力手段のポインタの画面内の位置を示す座標情報、マウスやペン等の入力手段のポインタのウィンドウ内の相対的な位置を示す座標情報、押下されたボタンに対応するイベントのイベント識別子、選択されたメニュー項目に対応するイベントのイベント識別子等である。
第二受付部32は、第二画像を受け付けても良い。第二画像は、第二端末3で取得される画像である。第二画像は、例えば、第二ユーザを撮影した動画でも良いし、第二ユーザを撮影した静止画でも良い。第二受付部32が第二画像を受け付ける場合、情報システムAは、テレビ会議システムとして機能しても良い。テレビ会議システムは、例えば、いわゆるSKYPE(登録商標)のようなシステムである。
また、ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付け、カメラでの撮影などを含む概念である。
第二入力等の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。第二受付部32は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
第二受信部33は、各種の情報を受信する。各種の情報とは、例えば、第一入力、第一画面情報、第一画像、第一画面動画、第二画面動画、第一イベント、第二イベント、時刻情報である。第一画像は、第一端末1で取得される画像である。第一画像は、例えば、第一ユーザを撮影した動画でも良いし、第一ユーザを撮影した静止画でも良い。なお、第二受信部33は、通常、サーバ装置2から情報を受信するが、第一端末1から直接的に情報を受信しても良い。
第二入力受信部331は、第一入力を受信する。第一入力は、第一端末1の第一ユーザの入力である。第一入力の内容は問わない。第一入力は、例えば、テキストであるが、画像等でも良く、データタイプは問わない。第一入力は、例えば、チャットシステムに入力されたテキストである。また、第一入力は、例えば、メッセージ、メール、ショートメッセージ等でも良い。
第二画面受信部332は、1または2以上の第一画面情報を受信する。第二画面受信部332は、例えば、第一画面動画、第二画面動画、第一イベント、第二イベントのうちの1または2種類以上の情報を受信する。
第二画面受信部332は、例えば、画面動画出力指示の送信に応じて、サーバ装置2から第一画面動画、第二画面動画、第一イベント、第二イベントのうちの1または2種類以上の情報を受信する。
第二処理部34は、各種の処理を行う。各種の処理とは、例えば、第二受付部32が受け付けた指示や情報等を、送信する構造の指示や情報等に変更する処理、第二受信部33が受信した情報を出力する構造に変更する処理等である。
また、各種の処理とは、例えば、第二画面受信部332が受信した第二画面情報のうち、一部の情報を非表示とする第二画面情報を構成する処理である。非表示とすることは、例えば、削除すること、マスクをかけること等である。
また、各種の処理とは、例えば、第二受付部32が第二ユーザから受け付けた指示や情報等の入力を用いて、当該入力に対応する情報である補助情報を構成する処理である。つまり、補助情報は、第二入力を除く情報であり、第二ユーザの操作に応じて取得される情報である。なお、補助情報は、例えば、マウスやペン等の入力手段のポインタの画面内の位置を示す座標情報、マウスやペン等の入力手段のポインタのウィンドウ内の相対的な位置を示す座標情報、押下されたボタンに対応するイベントのイベント識別子、選択されたメニュー項目に対応するイベントのイベント識別子等である。補助情報は、例えば、スクリプトであっても良い。
また、各種の処理とは、例えば、第二出力部35が出力した第二画面情報の領域内に、マウスやペン等の入力手段のポインタが存在する場合のみ、当該ポインタの画面内の位置を示す座標情報または当該ポインタのウィンドウ内の相対的な位置を示す座標情報を取得する処理である。
第二取得部341は、1または2以上の第二画面情報を取得する。第二取得部341は、第二画面情報に対応付けて、1以上の第二イベントを取得する。2以上の第二画面情報は、動画であり、第二画面動画と言っても良い。第二画面動画は、第二端末3の画面の全部または一部の動画である。第二取得部341が1以上の第二イベントを取得する方法は、第一取得部141が1以上の第一イベントを取得する方法と同じで良い。
第二取得部341が第二画面情報を取得するタイミングは問わない。第二取得部341は、通常、連続して画面情報を取得する。第二取得部341は、例えば、定期的に第二画面情報を取得する。第二取得部341は、例えば、連続して、不定期に第二画面情報を取得する。第二取得部341は、例えば、イベントの受け付けまたは発生の際に第二画面情報を取得する。
なお、第二取得部341は、例えば、第二端末3の画面のすべての情報のうち、予め決められた情報が非表示となる第二画面情報を取得することは好適である。また、第二画面情報は、例えば、第二端末3のマウスまたはペン等の入力手段のポインタの情報、チャット以外のテキストエリアなどへの入力情報等を含んでも良いことは言うまでもない。また、ポインタの情報は、例えば、ポイントの位置を示す座標情報、ポインタの形状の情報等である。
第二端末3の画面の一部の情報である画面情報は、第二端末3の画面の全部の情報のうち、予め決められた情報を含まない画面情報である。予め決められた情報は、例えば、第二ユーザが第二端末3に対して設定した情報である。予め決められた情報は、例えば、画面上のフィールドを識別するフィールド識別子に対応する情報、画面上のウィンドウを識別するウィンドウ識別子で識別されるウィンドウ内の情報である。
第二取得部341は、例えば、1以上の第二画面情報または1以上の第二イベントに対応付けて、時刻情報を取得しても良い。
第二出力部35は、第二画面受信部332が受信した1以上の第一画面情報を出力する。第二出力部35は、例えば、第二画面受信部332が受信した第一画面情報と、第二入力受信部331が受信した第一入力とを出力する。第二出力部35は、例えば、第一端末1の画面の全部の情報のうち、予め決められた情報を含まない画面情報を出力することは好適である。なお、第二画面受信部332が受信した第一画面情報を第二出力部35が出力することは、第二画面受信部332が受信した第一画面情報のうち、一部の情報を出力することも含むと考えても良い。つまり、第二出力部35は、第二画面受信部332が受信した第一画面情報のうち、予め決められた条件を満たす情報が非表示となるように第一画面情報を出力しても良い。また、予め決められた条件を満たす情報とは、例えば、第一端末1で指示されたウィンドウの中の情報である。予め決められた情報は、例えば、サーバ装置2で管理されている情報である。予め決められた情報は、例えば、クレジットカード番号、銀行口座番号などの、第一ユーザの個人的な情報であり、秘密にすべき情報である。なお、予め決められた条件とは、例えば、所定の構造を有する情報であること、第一端末1で指示されたウィンドウのウィンドウ識別子で識別されるウィンドウ内の情報であること、第一端末1で指示されたフィールドのフィールド識別子で識別されるフィールド内の情報であること等である。
ここで、出力とは、通常、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である、と考えても良い。
第二送信部36は、第二入力を送信する。この第二入力は、第二受付部32が受け付けた情報である。第二送信部36が第二入力を送信するタイミングは問わない。例えば、第二送信部36は、第二ユーザの指示を第二受付部32が受け付けることにより、第二入力を送信する。例えば、第二送信部36は、第二入力の入力が確定すると、当該第二入力を送信する。なお、第二送信部36は、例えば、第二入力をサーバ装置2に送信するが、直接に第一端末1に送信しても良い。
第二送信部36は、第二取得部341が取得した情報を送信する。第二取得部341が取得した情報は、例えば、1または2以上の第二画面情報である。第二取得部341が取得した情報は、例えば、1または2以上の第二画面情報と1以上の第二イベントである。第二取得部341が取得した情報は、例えば、1または2以上の第二画面情報と時刻情報である。
第二送信部36は、画面動画検索指示、または画面動画出力指示をサーバ装置2に送信する。送信される指示は、第二受付部32が受け付けた指示、または第二処理部34が構成した指示である。
第一格納部11、サーバ格納部21、および第二格納部31は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
第一格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が第一格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が第一格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が第一格納部11等で記憶されるようになってもよい。
第一受信部13、第一入力受信部131、サーバ受信部22、第一サーバ受信部221、第二サーバ受信部222、指示受信部223、第二受信部33、第二入力受信部331、および第二画面受信部332は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
第一処理部14、第一取得部141、サーバ処理部23、蓄積部231、動画取得部232、第二処理部34、および第二取得部341は、通常、MPUやメモリ等から実現され得る。第一処理部14の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
第一出力部15、および第二出力部35は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。第一出力部15は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
第一送信部16、サーバ送信部24、および動画送信部241は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
次に、情報システムAの動作について説明する。まず、第一端末1の動作例について、図4のフローチャートを用いて説明する。
(ステップS401)第一受信部13は、情報を受信したか否かを判断する。情報を受信し場合はステップS402に行き、情報を受信しなかった場合はステップS405に行く。
(ステップS402)第一処理部14は、ステップS401で受信された情報から第二入力等を取得する。なお、ここで、第二入力を取得できない場合があっても良い。なお、第二入力等とは、例えば、第二入力と第二端末3の第二画面情報である。また、第二入力等とは、例えば、第二入力のみである。
(ステップS403)第一処理部14は、ステップS402で取得された情報を用いて、出力される画面を構成する。画面の構成方法は、問わない。つまり、例えば、ステップS402で取得された第二入力の、画面内での位置は問わない。
(ステップS404)第一出力部115は、ステップS403で構成された画面を出力する。ステップS401に戻る。
(ステップS405)第一受付部12は、第一入力を受け付けたか否かを判断する。第一入力を受け付けた場合はステップS406に行き、第一入力を受け付けなかった場合はステップS407に行く。
(ステップS406)第一取得部141は、ステップS405で受け付けられた第一入力を用いて、送信する情報である第一入力等を構成する。そして、第一送信部16は、当該第一入力等を送信する。ステップS401に戻る。なお、第一入力等とは、例えば、第一入力と第一画面動画と第一ユーザ識別子である。第一入力等とは、例えば、第一入力から取得される1以上の第一イベントと第一画面動画と第一ユーザ識別子である。第一入力等とは、例えば、第一入力、または第一入力から取得される1以上の第一イベントである。
(ステップS407)第一処理部14は、第一画面情報等の送信のタイミングであるか否かを判断する。第一画面情報等の送信のタイミングである場合はステップS408に行き、第一画面情報等の送信のタイミングでない場合はステップS401に戻る。なお、第一画面情報等の送信のタイミングは、定期的でも良いし、イベントが受け付けられた場合でも良いし、第一入力が受け付けられた場合等でも良い。なお、イベントの受け付けとは、イベントの内部発生でも良い。
(ステップS408)第一取得部141は、第一端末1の画面の第一画面情報等を取得する。なお、第一画面情報を取得する処理は公知技術であるので、詳細な説明は省略する。また、第一画面情報等は、例えば、第一画面情報のみ、または第一画面情報と1以上の第一イベントである。
(ステップS409)第一処理部14は、ステップS408で取得した第一画面情報等を用いて、送信する情報を構成する。なお、送信する情報は、例えば、第一画面情報と第一ユーザ識別子とを有する。送信する情報は、例えば、第一画面情報と1以上の第一イベントとを有する。1以上の第一イベントは、例えば、予め決められたバッファに蓄積されている、とする。送信する情報は、例えば、第一画面情報と時刻情報とを含む。1以上の第一イベントは、例えば、第一入力が受け付けられた場合に、取得され、予め決められたバッファに蓄積された、とする。
(ステップS410)第一送信部16は、ステップS409で構成された情報を送信する。ステップS401に戻る。
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、サーバ装置2の動作例について、図5のフローチャートを用いて説明する。
(ステップS501)サーバ受信部22は、第二端末3から第二入力等を受信したか否かを判断する。第二入力等を受信した場合はステップS502に行き、第二入力等を受信しなかった場合はステップS505に行く。なお、第二入力等は、例えば、第二入力、第二入力の送信元の第二ユーザの第二ユーザ識別子、および第二入力の受信先の第一ユーザの第一ユーザ識別子を有する。また、第二入力等は、例えば、第二入力のみである。
(ステップS502)サーバ送信部24は、ステップS501で受信された第二入力等を第一端末1に送信する。
(ステップS503)サーバ処理部23は、ステップS501で受信された第二入力等を用いて、蓄積する情報を構成する。蓄積する情報は、例えば、ステップS501で受信された第二入力等と時刻情報である。なお、サーバ処理部23は、例えば、図示しない時計から時刻情報を取得し、当該時刻情報とステップS501で受信された第二入力等とから、蓄積する情報を構成する。
(ステップS504)サーバ処理部23は、ステップS503で構成した情報をサーバ格納部21に蓄積する。ステップS501に戻る。
(ステップS505)サーバ受信部22は、第一端末1から第一画面情報等を受信したか否かを判断する。第一画面情報等を受信した場合はステップS506に行き、第一画面情報等を受信しなかった場合はステップS509に行く。なお、第一画面情報等とは、例えば、第一画面情報と第一ユーザ識別子である。第一画面情報等は、例えば、1以上の第一イベントを含む。第一画面情報等は、例えば、時刻情報を含む。また、第一画面情報等は、例えば、第一画面情報のみである。また、第一画面情報等は、例えば、第一入力を含む。第一画面情報等は、例えば、第一画像を含む。
(ステップS506)サーバ送信部24は、ステップS505で受信された第一画面情報等の全部または一部を第二端末3に送信する。第一画面情報等の一部の情報は、例えば、第一画面情報、第一入力、第一画像のうちの1以上の情報である。
(ステップS507)蓄積部231は、ステップS505で受信された第一画面情報等を用いて、蓄積する情報を構成する。蓄積する情報は、例えば、ステップS505で受信された第一画面情報等と時刻情報である。なお、蓄積部231は、例えば、図示しない時計から時刻情報を取得し、当該時刻情報とステップS505で受信された第一画面情報等とから、蓄積する情報を構成する。
(ステップS508)蓄積部231は、ステップS507で構成した情報をサーバ格納部21に蓄積する。ステップS501に戻る。なお、蓄積部231は、受信された第一画面情報を1以上の第一イベントと第一ユーザ識別子とに対応付けて蓄積する。
(ステップS509)サーバ受信部22は、第二端末3から第二画面情報等を受信したか否かを判断する。第二画面情報等を受信した場合はステップS510に行き、第二画面情報等を受信しなかった場合はステップS512に行く。なお、第二画面情報等とは、例えば、第二画面情報と第二ユーザ識別子である。第二画面情報等は、例えば、1以上の第二イベントを含む。第二画面情報等は、例えば、時刻情報を含む。また、第二画面情報等は、例えば、第二画面情報のみである。また、第二画面情報等は、例えば、第二入力を含む。第二画面情報等は、例えば、第二画像を含む。
(ステップS510)蓄積部231は、ステップS509で受信された第二画面情報等を用いて、蓄積する情報を構成する。蓄積する情報は、例えば、ステップS505で受信された第二画面情報等と時刻情報である。なお、蓄積部231は、例えば、図示しない時計から時刻情報を取得し、当該時刻情報とステップS509で受信された第二画面情報等とから、蓄積する情報を構成する。
(ステップS511)蓄積部231は、ステップS510で構成した情報をサーバ格納部21に蓄積する。ステップS501に戻る。なお、蓄積部231は、第二ユーザの第二端末3から送信された第二画面情報または第二画面動画を、当該第二ユーザとチャットを行う第一ユーザが使用する第一端末1から送信された第一画面情報または第一画面動画に対応付けて蓄積することは好適である。
(ステップS512)指示受信部223は、端末装置から画面動画検索指示を受信したか否かを判断する。画面動画検索指示を受信した場合はステップS513に行き、画面動画検索指示を受信しなかった場合はステップS516に行く。なお、端末装置は、通常、第二端末3であるが、第一端末1でも良い。
(ステップS513)動画取得部232は、画面動画検索指示が有する検索条件を取得する。そして、動画取得部232は、当該検索条件を用いて、サーバ格納部21を検索し、検索条件に合致する1または2以上の画面動画を決定する。なお、この画面動画は、例えば、第一画面動画である。また、この画面動画は、例えば、第一画面動画と第二画面動画である。
(ステップS514)動画取得部232は、ステップS513で決定した1以上の画面動画のリストである動画リストを構成する。
(ステップS515)サーバ送信部24は、ステップS514で取得された動画リストを、画面動画検索指示を送信してきた端末装置に送信する。ステップS501に戻る。
(ステップS516)指示受信部223は、端末装置から画面動画出力指示を受信したか否かを判断する。画面動画出力指示を受信した場合はステップS517に行き、画面動画出力指示を受信しなかった場合はステップS501に戻る。なお、端末装置は、通常、第二端末3であるが、第一端末1でも良い。
(ステップS517)動画取得部232は、画面動画出力指示に対応する画面動画をサーバ格納部21から取得する。なお、ここで取得される画面動画は、第一画面動画だけでも良いし、第二画面動画だけでも良いし、第一画面動画と第二画面動画の両方でも良い。
(ステップS518)サーバ送信部24は、ステップS517で取得された画面動画を、画面動画出力指示を送信してきた端末装置に送信する。ステップS501に戻る。
なお、図5のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
また、図5のフローチャートにおいて、サーバ送信部24は、第一端末1から受信された第一入力を第二端末3に送信しても良い。
次に、第二端末3の動作例について、図6のフローチャートを用いて説明する。
(ステップS601)第二受信部33は、情報を受信したか否かを判断する。情報を受信し場合はステップS602に行き、情報を受信しなかった場合はステップS606に行く。
(ステップS602)第二処理部34は、ステップS601で受信された情報から第一画面情報を取得する。なお、ここで、第一画面情報を取得できない場合があっても良い。なお、ステップS601で受信された第一画面情報は、第二画面受信部332が受信する。
(ステップS603)第二処理部34は、ステップS601で受信された情報から第一入力等を取得する。なお、ここで、第一入力等を取得できない場合があっても良い。また、第一入力等とは、第一入力、または第一入力と第一画像等である。さらに、なお、ステップS601で受信された第一入力は、第二入力受信部331が受信する。
(ステップS604)第二処理部34は、ステップS602、ステップS603で取得された情報のうち、1以上の情報を用いて、出力される画面を構成する。画面の構成方法は、問わない。つまり、例えば、ステップS602で取得された第一画面情報、ステップS603で取得された第一入力等の、画面内での位置は問わない。なお、第二処理部34は、受信された画面情報の中の、予め決められた情報が非表示となるように出力される画面を構成しても良い。予め決められた情報とは、例えば、予め決められたフィールドの識別子に対応する情報、予め決められたウィンドウの識別子に対応する情報、予め決められた構造を有する情報(例えば、数字列16桁のクレジットカード番号等)である。予め決められた情報は、上述した特定情報により特定される情報である。特定情報は、例えば、フィールドの識別子、ウィンドウの識別子、情報の構造を示す情報等、情報を特定できる情報であれば何でも良い。
(ステップS605)第二出力部35は、ステップS604で構成された画面を出力する。ステップS601に戻る。
(ステップS606)第二受付部32は、第二入力を受け付けたか否かを判断する。第二入力を受け付けた場合はステップS607に行き、第二入力を受け付けなかった場合はステップS608に行く。
(ステップS607)第二処理部34は、ステップS606で受け付けた第二入力を用いて、送信する第二入力等を構成する。ステップS601に戻る。なお、送信する第二入力等とは、例えば、第二入力と第二格納部31の第二ユーザ識別子である。
(ステップS608)第二受付部32は、指示等を受け付けたか否かを判断する。指示等を受け付けた場合はステップS609に行き、指示等を受け付けなかった場合はステップS614に行く。なお、指示等とは、例えば、画面動画検索指示、または画面動画出力指示である。
(ステップS609)第二処理部34は、ステップS608で受け付けられた指示等を、送信する構造の指示等に変更する。
(ステップS610)第二送信部36は、ステップS609で構成された指示等をサーバ装置2に送信する。
(ステップS611)第二受信部33は、指示等の送信に応じて、サーバ装置2から情報を受信したか否かを判断する。情報を受信した場合はステップS612に行き、情報を受信しない場合はステップS611に戻る。なお、受信する情報は、例えば、動画リスト、第一画面動画、第二画面動画である。
(ステップS612)第二処理部34は、ステップS611で受信された情報を用いて、出力する画面を構成する。なお、画面は、例えば、動画リスト、第一画面動画、第二画面動画のうちの1以上の情報を有する。
(ステップS613)第二出力部35は、ステップS612で構成された画面を出力する。ステップS601に戻る。
(ステップS614)第二処理部34は、第二画面情報等の送信のタイミングであるか否かを判断する。第二画面情報等の送信のタイミングである場合はステップS615に行き、第二画面情報等の送信のタイミングでない場合はステップS601に戻る。なお、第二画面情報等の送信のタイミングは、定期的でも良いし、イベントが受け付けられた場合でも良いし、第二入力が受け付けられた場合等でも良い。
(ステップS615)第二取得部341は、第二端末3の画面の第二画面情報等を取得する。なお、第二画面情報を取得する処理は公知技術であるので、詳細な説明は省略する。また、第二画面情報等は、例えば、第二画面情報のみ、または第二画面情報と1以上の第二イベントである。
(ステップS616)第二処理部34は、ステップS615で取得した第二画面情報等を用いて、送信する情報を構成する。なお、送信する情報は、例えば、第二画面情報と第二ユーザ識別子とを有する。送信する情報は、例えば、第二画面情報と1以上の第二イベントとを有する。1以上の第二イベントは、例えば、予め決められたバッファに蓄積されている、とする。送信する情報は、例えば、第二画面情報と時刻情報とを含む。1以上の第二イベントは、例えば、第二入力が受け付けられた場合に、取得され、予め決められたバッファに蓄積された、とする。
(ステップS617)第二送信部36は、ステップS616で構成された情報を送信する。ステップS601に戻る。
なお、図6のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報システムAの具体的な動作について説明する。情報システムAの概念図は図1である。
今、情報システムAにおいて、第一ユーザ(以下、ユーザと言う)と第二ユーザ(以下、管理者と言う)とがチャットを行っている、とする。そして、情報システムAを構成する第一端末1、サーバ装置2、および第二端末3が、上記した動作を行い、ユーザと管理者とのチャットを実現している。かかる場合の3つの具体例を以下で説明する。
(具体例1)
具体例1において、ユーザは、図7に示すECサイトのウェブページを第一端末1にダウンロードする第一入力を入力した、とする。すると、第一端末1の第一受付部12は、かかる第一入力を受け付ける。
次に、第一取得部141は、受け付けられた第一入力を用いて、送信する情報である第一入力等を構成する。かかる第一入力等は、図7に示すECサイトのURLを含む。そして、第一送信部16は、当該第一入力等をサーバ装置2に送信する。
次に、サーバ装置2のサーバ受信部22は、第一端末1から第一入力等を受信する。次に、サーバ処理部23は、第一入力等に対応するECサイトのウェブページを取得する。そして、サーバ送信部24は、当該ウェブページを第一端末1に送信する。
次に、第一端末1の第一受信部13は、ECサイトのウェブページを受信する。そして、第一処理部14は、出力するウェブページを構成する。次に、第一出力部15は、当該ウェブページを出力する。そして、第一取得部141は、当該ウェブページを閲覧したことに関する第一イベントを構成する。第一イベントは、例えば、ウェブページ識別子、および「閲覧開始」を示す情報を有する。次に、第一取得部141は、画面から第一画面情報を取得する。次に、第一取得部141は、第一画面情報と第一イベントと第一ユーザ識別子とを有する情報を構成する。かかる情報は送信する情報であり、第一画面情報等である。そして、サーバ送信部24は、当該構成された第一画面情報等をサーバ装置2に送信する。
なお、第一画面情報等は、次々にサーバ装置2に送信される、とする。つまり、第一画面動画と1以上の第一イベントとが第一端末1からサーバ装置2に送信される、とする。この場合、第一画面動画を構成する一部の第一画面情報に、第一イベントが対応付いていなくても良い。
次に、サーバ装置2のサーバ受信部22は、第一端末1から第一画面情報等を受信する。
次に、サーバ送信部24は、受信された第一画面情報等から、第一画面情報を取得し、第一画面情報を第二端末3に送信する。
また、蓄積部231は、受信された第一画面情報等を用いて、蓄積する情報を構成する。つまり、蓄積部231は、受信された第一画面情報等から、第一画面情報と第一イベントと第一ユーザ識別子とを対応付けた情報を構成する。
次に、蓄積部231は、構成した情報をサーバ格納部21に蓄積する。なお、第一端末1から、次々に、第一画面情報等が送信され、サーバ装置2は、当該第一画面情報等を受信し、蓄積する、とする。蓄積部231は、図示しない時計等から時刻情報を取得し、当該時刻情報をも第一画面情報等に対応付けて、サーバ格納部21に蓄積しても良い。
そして、ユーザは、ECサイトに対して、商品を購入するための第一入力を入力していく、とする。
そして、商品の購入の過程で、分からないことが出てきたため、ユーザは、第二端末3を使用する管理者を呼び出し、第二端末3の管理者とチャットを開始した、とする。
かかる場合に、ユーザが使用する第一端末1の現在の画面は、図8である、とする。図8において、第一端末1のチャットの内容を表示している領域が801である。
そして、第一端末1の第一処理部14は、第一画面情報等の送信のタイミングであると、判断した、とする。次に、第一取得部141は、第一端末1の画面の第一画面情報を取得する。なお、ここでの第一画面情報は、図8の画面全体を構成するための情報であり、例えば、HTMLで構成されている、とする。
次に、第一処理部14は、取得した第一画面情報を用いて、送信する第一画面情報等を構成する。第一画面情報等は、図8の画面の第一画面情報、第一画面情報の送信元の第一ユーザの第一ユーザ識別子、管理者の第二ユーザ識別子、1以上の第一イベントを有する、とする。なお、チャット中において、第一ユーザ識別子、第二ユーザ識別子、1以上の第一イベントは、第一格納部11に格納されている、とする。なお、ここで、第一画面情報等は、1以上の第一イベントを有さなくても良い。
次に、第一送信部16は、第一面情報、第一ユーザ識別子、および第二ユーザ識別子を有する第一画面情報等をサーバ装置2に送信する。
次に、サーバ装置2のサーバ受信部22は、第一端末1から第一画面情報等を受信する。次に、サーバ送信部24は、受信された第一画面情報等のうちの、少なくとも第一画面情報を第二端末3に送信する。
次に、蓄積部231は、例えば、図示しない時計から現在時刻を示す時刻情報を取得する。そして、蓄積部231は、受信された第一画面情報等と時刻情報とを有する情報を構成する。かかる情報は、情報の記録ための情報であり、履歴情報と言うこととする。履歴情報は、第一画面情報、第二ユーザ識別子、第一ユーザ識別子、1以上の第一イベントおよび時刻情報を有する。そして、蓄積部231は、構成した履歴情報をサーバ格納部21に蓄積する。
次に、第二端末3の第二受信部33は、サーバ装置2から第一画面情報等を受信する。第二処理部34は、受信された情報から第一画面情報を取得する。
次に、第二処理部34は、取得された情報を用いて、出力される画面を構成する。次に、第二出力部35は、構成された画面を出力する。かかる画面の例は、図9である。図9の901は、管理者が行うチャットの画面である。902は、ユーザが見ている画面である。つまり、902は、第一端末1の画面の情報である。かかる図9の画面により、管理者は、通信相手のユーザが見ている画面を見ながら、適切にチャットを行える。
また、第一端末1の第一画面動画、1以上の第一イベント、第一ユーザ識別子が対応付けられて、サーバ格納部21に蓄積される。
なお、ユーザのチャットを行った管理者が使用する第二端末3の第二画面動画、1以上の第二イベント、第二ユーザ識別子が対応付けられて、サーバ格納部21に蓄積されても良い。
(具体例2)
具体例2において、管理者がユーザに対して、接客を行うチャットが、情報システムAで実現されている、とする。
かかる場合のユーザが使用する第一端末1の現在の画面は、図10である、とする。図10において、第一端末1のチャットの内容を表示している領域が1001である。
そして、第一端末1の第一処理部14は、第一画面情報等の送信のタイミングであると、判断した、とする。次に、第一取得部141は、第一端末1の画面の第一画面情報、および1以上の第一イベントを取得する。なお、ここでの第一画面情報は、図10の画面全体を構成するための情報である、とする。
次に、第一処理部14は、取得した第一画面情報と1以上の第一イベントとを用いて、送信する情報を構成する。送信する情報は、図10の画面の第一画面情報、1以上の第一イベント、第一画面情報の送信元の第一ユーザの第一ユーザ識別子、管理者の第二ユーザ識別子を有する、とする。なお、1以上の第一イベントは、例えば、ユーザがチャットに入力した文字列、文字列の入力により第一端末1が内部で生成した内部イベントである。
次に、第一送信部16は、第一画面情報、1以上の第一イベント、第一ユーザ識別子、および第二ユーザ識別子を有する情報をサーバ装置2に送信する。
次に、サーバ装置2のサーバ受信部22は、第一端末1から第一画面情報等を受信する。次に、サーバ送信部24は、受信された第一画面情報等が有する、少なくとも第一画面情報を第二端末3に送信する。
次に、蓄積部231は、例えば、図示しない時計から現在時刻を示す時刻情報を取得する。そして、蓄積部231は、受信された第一画面情報等と時刻情報とを有する情報を構成する。かかる情報は、情報の記録ための情報であり、履歴情報と言うこととする。履歴情報は、画面情報、第二ユーザ識別子、第一ユーザ識別子、および時刻情報を有する。そして、蓄積部231は、構成した履歴情報をサーバ格納部21に蓄積する。
次に、第二端末3の第二受信部33は、サーバ装置2から第一画面情報等を受信する。第一処理部14は、受信された情報から第一画面情報を取得する。
次に、第一処理部14は、取得された情報を用いて、出力される画面を構成する。次に、第一出力部15は、構成された画面を出力する。かかる画面の例は、図11である。図11の1101は、管理者が行う接客の画面である。なお、接客もチャットの一例である、と考えても良い。また、接客やチャットは、管理者等の一方のユーザのみから、入力(例えば、第二入力)を送信できても良い。また、図11の1102は、第一端末1のユーザが見ている画面である。つまり、1102は、第一端末1の画面の情報である。かかる図11の画面により、管理者は、通信相手のユーザが見ている画面を見ながら、適切にチャットを行える。
なお、図9、図11において、第一端末1のユーザが見ている画面の画面情報のウィンドウと、管理者のチャット用のウィンドウとがオーバーラップしていた。しかし、受信された画面情報のウィンドウと、チャット用のウィンドウとの配置や表示態様は問わない。例えば、図12のように、第二端末3の管理者の画面の中に、PinPの態様で、第一端末1のユーザが見ている画面の画面情報(1201参照)が配置されても良い。
(具体例3)
具体例1、具体例2で説明した処理により、サーバ装置2のサーバ格納部21には、図13に示す画面動画管理表が格納された、とする。画面動画管理表は、「ID」「第一端末情報」「第二端末情報」「時間」を有するレコードを多数、管理する。「ID」はレコードを識別する情報である。「第一端末情報」は、「第一ユーザ識別子」「第一画面動画」「第一イベント情報」を有する。「第二端末情報」は、「第二ユーザ識別子」「第二画面動画」「第二一イベント情報」を有する。「時間」は、画面動画が記録されていた時間帯を示す情報である。「第一イベント情報」は、「時刻情報」「第一イベント」を有する。「第二イベント情報」は、「時刻情報」「第二イベント」を有する。
第一端末1から「第一ユーザ識別子」「第一画面動画」「第一イベント」がサーバ装置2に送信される。サーバ装置2では、「第一イベント」を受信した時刻の時刻情報を取得し、「第一イベント」と「時刻情報」とを対にして蓄積する。
第二端末3から「第二ユーザ識別子」「第二画面動画」「第二イベント」がサーバ装置2に送信される。サーバ装置2では、「第二イベント」を受信した時刻の時刻情報を取得し、「第二イベント」と「時刻情報」とを対にして蓄積する。
なお、図13において、「第一端末情報」「第二端末情報」の両方の属性値が存在するレコードは、2者がチャットを行っていた場合の第一端末1と第二端末3の画面動画等を有する。例えば、「ID=729」のレコードは、2者がチャットを行っていた場合に蓄積されたレコードである。
また、図13において「第一端末情報」の属性値が存在し、「第二端末情報」の属性値が存在しないレコードは、第一ユーザが単独で第一端末1を使用した作業を行っていた場合の画面動画等を有する。例えば、「ID=730」のレコードは、一人が単独で作業を行っていた場合に蓄積されたレコードである。
かかる状況において、管理者は、第二端末3の図14の1401にウィンドウ領域に、画面動画検索指示を入力した、とする。なお、画面動画検索指示は、例えば、検索条件「((接客サービス:キャンペーン施策A:を閲覧)または(接客サービス:キャンペーン施策B:を閲覧))かつ(コンバージョン:商品Xを購入)」である。なお、「接客サービス:キャンペーン施策A:を閲覧」「接客サービス:キャンペーン施策B:を閲覧」「コンバージョン:商品Xを購入」はイベントの例である。また、「接客サービス:キャンペーン施策A」「接客サービス:キャンペーン施策B」は、ウェブページ識別子である。「コンバージョン:商品Xを購入」は、画面識別子「コンバージョン」、購入ボタンに対応付いている情報「購入」、購入対象の商品識別子「商品X」から構成された情報である。また、上記の検索条件は、接客サービスに対応するウェブページを見た後に商品を購入した場合の画面動画を検索する条件である。
次に、第二端末3の第二受付部32は、画面動画検索指示を受け付ける。次に、第二処理部34は、受け付けられた画面動画検索指示を、送信する構造の画面動画検索指示に変更する。そして、第二送信部36は、画面動画検索指示をサーバ装置2に送信する。
次に、サーバ装置2の指示受信部223は、第二端末3から画面動画検索指示を受信する。動画取得部232は、受信された画面動画検索指示が有する検索条件を取得する。そして、動画取得部232は、当該検索条件を用いて、サーバ格納部21を検索し、検索条件に合致する1または2以上の画面動画を決定する。次に、動画取得部232は、決定した1以上の画面動画のリストである動画リストを構成する。
次に、サーバ送信部24は、取得された動画リストを、画面動画検索指示を送信してきた第二端末3に送信する。
次に、第二端末3の第二受信部33は、画面動画検索指示の送信に応じて、サーバ装置2から動画リストを受信する。第二処理部34は、受信された動画リストを用いて、出力する画面を構成する。そして、第二出力部35は、構成された画面を出力する。なお、出力された画面の中の動画リストは、図14の1402である。
次に、管理者は、図14の1402の動画リストから、一の項目(例えば、1403)を選択した、とする。すると、第二端末3の第二受付部32は、一の項目に対応する動画識別子を有する画面動画出力指示を受け付ける。次に、第二処理部34は、受け付けられた画面動画出力指示を、送信する構造の画面動画出力指示に変更する。そして、第二送信部36は、構成された画面動画出力指示をサーバ装置2に送信する。
次に、サーバ装置2の指示受信部223は、第二端末3から画面動画出力指示を受信する。次に、動画取得部232は、画面動画出力指示に対応する画面動画をサーバ格納部21の画面動画管理表から取得する。そして、サーバ送信部24は、取得された画面動画を、画面動画出力指示を送信してきた第二端末3に送信する。
次に、第二端末3の第二受信部33は、画面動画出力指示の送信に応じて、サーバ装置2から画面動画を受信する。そして、第二処理部34は、受信された画面動画を用いて、出力する画面を構成する。次に、第二出力部35は、構成された画面を出力する。なお、かかる画面の中の画面動画は、図14の1404である。
なお、動画取得部232は、画面動画出力指示に対応する画面動画(例えば、第一画面動画)と1以上のイベント(例えば、第一イベント)を画面動画管理表から取得しても良い。そして、サーバ送信部24は、取得された画面動画と1以上のイベントとを、画面動画出力指示を送信してきた第二端末3に送信しても良い。そして、第二端末3の第二受信部33は、サーバ装置2から画面動画と1以上のイベントとを受信する。そして、第二処理部34は、受信された画面動画と1以上のイベントとを用いて、出力する画面を構成する。次に、第二出力部35は、構成された画面を出力する。なお、かかる画面は、例えば、図15である。図15において、1501は画面動画であり、1502は2以上のイベントのリストである。また、管理者が、図15の画面の中のイベントのリストの中の一の項目(例えば、1503)を選択した場合、1503のイベントに対応する時刻情報と対になる画面情報が1501の領域に表示されるように、動画がジャンプしても良い。
以上、本実施の形態によれば、端末の画面の動画と端末でのイベントとを対応付けて蓄積できる。
また、本実施の形態によれば、端末の内部で発生したイベントをも端末の画面の動画に対応付けて蓄積できる。
また、本実施の形態によれば、イベントをキーとして端末の画面の動画を検索できる。
また、本実施の形態によれば、チャットを行っている2つの端末の画面の動画を対応付けて蓄積できる。
また、本実施の形態によれば、チャットを行っている2つの端末のイベントも含めて蓄積できる。
また、本実施の形態によれば、イベントをキーとしてチャットを行っている2つの端末の画面のどちらかの画面の動画を検索できる。
また、本実施の形態によれば、イベントをキーとしてチャットを行っている2つの端末の画面のどちらかの画面の動画を検索できる。
また、本実施の形態によれば、相手との通信中に、相手が見ている画面を見ることができるため、相手との通信中に相手の様子が良く把握できる。
また、本実施の形態によれば、チャット等の通信をしながら、相手が見ている画面を見ることができるため、相手の様子を確認しながら、相手へ送信する情報を入力できる。
また、本実施の形態によれば、第二端末の画面の情報のうち出力すべきでない情報は第一端末で出力せずに済むため、第二ユーザのプライバシー等を守ることができる。
さらに、本実施の形態によれば、第一ユーザは、第二ユーザ通信しながら、第二ユーザが見ている画面を見ることができるため、第二ユーザの様子を把握しつつ、第一ユーザのプライバシーは担保できる。
なお、本実施の形態において、第二端末3の画面情報のうち予め決められた情報を含まない画面情報が第一端末1で出力された。かかる出力制御の方法として、例えば、上述した通り、以下の(1)から(3)の方法がある。
(1)第二端末3からサーバ装置2へ予め決められた情報を送らない方法
(2)サーバ装置2は第二端末3の画面情報のすべてを受信するが、サーバ装置2から第一端末1へ情報を予め決められた情報を送らない方法
(3)第一端末1は第二端末3の画面情報のすべてを受信するが、第一端末1で受信した画面情報のうちの予め決められた情報を出力しない方法
また、本実施の形態において、情報システムAは、1または2以上の第一端末1とサーバ装置2とを有するシステムでも良い。つまり、情報システムAは、チャットを支援するシステムではなく、第二端末3を有さなくても良い。かかる場合、第一端末1は、例えば、ECサイトであるサーバ装置2にアクセスし、電子商取引を行う端末である。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるサーバ装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、第一ユーザの入力である第一入力を受け付けた第一端末から第一入力に対応する1以上の第一イベントと、前記第一端末の画面の全部または一部の情報であり、前記第一入力に対応する画面の全部または一部の情報である第一画面情報を、前記第一ユーザを識別する第一ユーザ識別子に対応付けて受信する第一サーバ受信部と、前記第一サーバ受信部が受信した第一画面情報を、前記第一サーバ受信部が受信した1以上の第一イベントと前記第一ユーザ識別子とに対応付けて蓄積する蓄積部として機能させるためのプログラムである。
また、図16は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態のサーバ装置2等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図16は、このコンピュータシステム300の概観図であり、図17は、システム300のブロック図である。
図16において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図17において、コンピュータ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以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。