本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置1は、図1に例示するように、制御部11と、記憶部12と、操作部13と、表示部14と、通信部15とを含んで構成される。この情報処理装置1は、通信部15を介して、利用者が所持する種々の機器2との間で通信可能に接続される。各機器2は、通信部を介して情報処理装置1との間で情報を送受する。また、ここでの各機器2は例えばJAVA(登録商標)仮想マシンのように、共通のプログラムを実行可能な環境を備えているものとする。
情報処理装置1の制御部11は、CPU(Central Processing Unit)等のプログラム制御デバイスであり、記憶部12に格納されているプログラムに従って動作する。この制御部11の詳しい処理の内容については、後に述べる。
記憶部12は、メモリデバイス等であり、制御部11によって実行されるプログラムが格納される。このプログラムは、DVD−ROM(Digital Versatile Disc-Read Only Memory)等のコンピュータ可読な記録媒体に格納されて提供され、この記憶部12に複写されたものであってもよい。この記憶部12は、また、図2(a)に例示するように、場面を特定する場面情報に対し、当該場面で必要となる役割を特定する少なくとも一つの役割情報を関連づけた役割一覧情報を記憶している。図2(a)では一例として、場面情報「プレゼンテーション」に対して、「プレゼンター」と、「メモ帳」との役割があるものと規定しており、また場面情報「ブレインストーミング」に対して、「レイアウター」と、「付箋」との役割があるものと規定しており、さらに場面情報「行動観察」に対して、「ログ記録サービス」、「映像記録サービス」、「ログ生成」、「ノート」、「カメラ」の各役割があるものと規定している。
なお、この図2(a)に示した場面情報の他にも任意の場面情報を設定してよいし、場面情報で特定される場面に必要となる役割もこの例に示したものに限られない。
さらに記憶部12には、図3に例示するように、機器種別情報と役割情報との組に対して、当該機器種別情報で特定される種別の機器が実行するべき処理を規定するアプリケーションプログラムが保持されている。本実施の形態では、機器種別情報は予め、「サービス」、「ボード」、「パッド」、「タブ」のいずれか、等というようにカテゴリに分けて規定しておく。すなわち機器種別情報は個々の機器の具体的な機種を表す情報ではなく、機器の機能に応じて予め定めたカテゴリのどれに属するかを表す情報であってもよい。
図3では機器種別情報:「ボード」、役割情報:「プレゼンター」に対して「プレゼンテーション・アプリケーション」が関連づけられ、機器種別情報「パッド」、役割情報「メモ帳」に対して「メモ帳アプリケーション」…が関連づけられている例を示している。さらにこの記憶部12は、制御部11のワークメモリとしても動作する。
操作部13は、キーボードやマウス等であり、利用者の操作を受け入れて、当該操作の内容を制御部11に出力する。表示部14は、ディスプレイ等であり、制御部11から入力される指示に従って情報を表示する。通信部15は、例えばネットワークインタフェース等であり、ネットワークなどの通信手段を介し、制御部11から入力される指示に従って、種々の機器との間で通信を行う。この通信部15はまた、各種の機器から受信する情報を制御部11に出力している。
[基本動作]
本実施の形態の制御部11は、場面の指定を受け入れて、図4に例示する処理を開始する。そして制御部11は、指定された場面に関連づけられた役割情報の一覧を取得する(S1)。また制御部11は、各利用者が利用する機器2を特定する情報を受け入れる(S2)。制御部11は、受け入れた情報で特定される機器2のそれぞれを注目機器として選択しつつ、次の処理を繰り返し行う(S3)。すなわち制御部11は、注目機器の機器種別を表す機器種別情報(注目情報と呼ぶ)を取得する(S4)。ここでは各利用者から注目機器の注目情報の入力を受け入れるようにすればよい。そして役割情報のうち、注目情報で特定される種別の機器に対応するプログラムが定義されている役割情報を抽出する(S6)。
例えば図3において、機器種別「パッド」と、機器種別「タブ」との双方には役割情報「付箋」に対応するプログラムである「パッド用付箋アプリケーション」や「タブ用付箋アプリケーション」が関連づけられているが、機器種別「ボード」には役割情報「付箋」に対応するプログラムが関連づけられていない。制御部11は、指定された場面に必要となる役割として「付箋」が定められていた場合に、利用者の機器の種別として「パッド」が指定されると、「パッド用付箋アプリケーション」が定義されているので、役割情報である「付箋」を抽出する。
また利用者の機器の種別として「ボード」が指定された場合は、役割情報「付箋」に対応するプログラムが定義されていないので、役割情報「付箋」を抽出しない。なお、複数の役割情報に対応するプログラムが定義されている場合は、制御部11は、当該複数の役割情報を抽出する。
制御部11は、処理S6で抽出した役割情報が複数であったか否かを調べ(S7)、複数であれば当該抽出した役割情報の一覧を利用者に提示する(S8)。具体的には抽出した役割情報の一覧を表示部14に表示すればよい。そして制御部11は、当該提示した一覧に含まれる役割情報の一つを利用者に選択させ、利用者の選択の操作を操作部13を介して受け入れる(S9)。
制御部11は、処理S7において役割情報が単数であると判断した場合は、当該抽出した役割情報と、処理S4で取得した注目情報とに関連づけられたプログラムを取り出す(S12)。そして制御部11は、通信部15を介して、取り出したプログラムを、注目機器へ送信する(S11)。
一方、制御部11は処理S7で役割情報が複数であった場合、処理S9で受け入れた操作によって選択された役割情報と、処理S4で受け入れた注目情報とに関連づけられたプログラムを取り出し(S10)、処理S11に移行して、当該取り出したプログラムを注目機器へ送信する。
制御部11は、以上の処理S4からS12までの処理を注目機器ごとに実行し、すべての注目機器に対して処理が完了したならば、処理を終了する。各機器2は、情報処理装置1が送信するプログラムを受信して記憶し、その実行を開始する。
[機器間の通信]
本実施の形態の情報処理装置1は、また、機器2間での情報の送受信経路を定める。本実施の形態では、役割の情報を用いて情報の通信経路が定められ、各機器2は自らの役割と相手の役割とに基づいて情報の送信先となる機器2を特定する。
具体的に情報処理装置1は、役割情報ごとに、情報の送信先となる機器の役割情報を特定する情報を関連づけた通信経路データベース(図5)を記憶している。また情報処理装置1は、図4に例示した処理で各機器2の役割情報を確定したとき(処理S7または処理S9で定められる)に、機器2を特定する情報と当該機器2について定めた役割情報とを関連づけたセッションデータベースを生成する(図6)。
情報処理装置1は、機器2から情報の送信要求を受け入れて、当該機器2の送信先を特定する処理を実行する。一例として情報処理装置1は、図4に示した処理の対象とした機器2のうち、いずれかの機器2から情報の送信要求を受けると、セッションデータベースを参照し、当該送信要求元となった機器2に関連づけられた役割情報を取り出す。
情報処理装置1は、取り出した役割情報に関連づけて、通信経路データベースに格納された、情報の送信先となる機器の役割情報を取り出す。そして当該取り出した役割情報に関連づけてセッションデータベースに格納されている送信先としての機器2を特定する情報を取得する。情報処理装置1は、当該取得した機器2を特定する情報を、情報の送信要求元である機器2に送信して通知する。
情報の送信要求を行った機器2側では、情報の送信先となるべき機器2を特定する情報を、情報処理装置1から受け入れて、送信の対象となった情報を、当該情報処理装置1から通知された情報で特定される機器2へ送信する。
また別の例として本実施の形態の情報処理装置1は、各機器2の通信を仲介してもよい。この場合の情報処理装置1は、役割情報ごとに情報の送信先となる機器の役割情報を特定する情報を関連づけた通信経路データベース(図5)を記憶し、また図6に例示したセッションデータベースを生成する。そして図4に示した処理の対象とした機器2のうち、いずれかの機器2から、送信の対象となる情報と、送信要求とを受け入れる。すると情報処理装置1はセッションデータベースを参照し、当該送信要求元となった機器2に関連づけられた役割情報を取り出す。
情報処理装置1は、取り出した役割情報に関連づけて、通信経路データベースに格納された、情報の送信先となる機器の役割情報を取り出す。そして当該取り出した役割情報に関連づけてセッションデータベースに格納されている送信先としての機器2を特定する情報を取得する。そして情報処理装置1は、当該取得した情報で特定される機器2に対して送信の対象として受け入れた情報を送信する。
[役割情報の変更]
また情報処理装置1は、機器2に関する役割情報を指定する指示を受け入れて、当該指示に従って機器2に関する役割情報を明示的に変更してもよい。この場合、情報処理装置1は、役割情報を変更する機器2を特定する情報と、当該機器2の機器種別を表す機器種別情報との入力を受け入れる。そして情報処理装置1は、役割情報のうち、入力された機器種別情報に対応するプログラムが定義されている役割情報を抽出する。
情報処理装置1は、抽出した役割情報の一覧を利用者に提示し、当該提示した一覧に含まれる役割情報の一つを利用者に選択させ、利用者の選択の操作を受け入れる。そして先に受け入れた機器種別情報と、選択された役割情報に関連づけられたプログラムを取り出して、当該取り出したプログラムを注目機器へ送信する。
[プレゼンテーション時の動作]
本実施の形態は、以上のように構成されており、一例としてプレゼンテーションの場面においては次のように動作する。ここでは図2(a)に例示したように、役割一覧情報において場面情報「プレゼンテーション」に対し「プレゼンター」と、「メモ帳」との役割があるものと規定されているものとする。また、以下の説明では機器2はいずれもコンピュータデバイスであり、一つの例として、ここでは電子ホワイトボード2aと、パーソナルコンピュータ2bとがあるものとする。この電子ホワイトボード2aは、CPU(Central Processing Unit)等のプログラム制御デバイスと、メモリデバイス、タッチパネルなどの入力手段、ディスプレイ等の表示手段、そして通信手段を備える。この電子ホワイトボード2aのCPUは、メモリデバイスに格納されたプログラムに従って動作しており、プレゼンテーション・プログラムの実行中には、(1)タッチパネル上で行われた描画操作を受け入れ、当該描画操作された内容に従い、ディスプレイに図形等を描画する処理、並びに(2)通信手段から入力される画像を、ディスプレイ上に表示する処理を行う。電子ホワイトボード2aは、グラフィカルなユーザインタフェースを備えて、ウィンドウ内に画像を描画できるようになっており、(2)通信手段から入力される画像をディスプレイ上に表示する処理を行う際には、一般的なウィンドウズ(登録商標)・オペレーティングシステムのインタフェースにあるように、新しいウィンドウを生成し、このウィンドウ内に画像を描画することとしてもよい。また当該ウィンドウは画面上で移動可能となっていてもよい。
また、パーソナルコンピュータ2bも、CPU等のプログラム制御デバイスと、メモリデバイス、キーボードやポインティングデバイスなどの入力手段、ディスプレイ等の表示手段、そして通信手段を備える。このパーソナルコンピュータ2bのCPUは、メモリデバイスに格納されたメモ帳アプリケーションなどのプログラムが実行する。一例としてメモ帳アプリケーションでは、利用者から文字列の入力を受け入れて、当該文字列を保持する。またCPUは、当該保持した文字列を送信するべき旨の指示を受けると、保持した文字列を通信手段を介して送出する。
情報処理装置1は、場面の指定として「プレゼンテーション」である旨の指定を受け入れる。そして情報処理装置1は、指定された場面である「プレゼンテーション」に関連づけられた役割情報の一覧を取得する。既に述べたように、ここでは役割一覧情報において「プレゼンテーション」なる場面情報に関連づけられた「プレゼンター」と、「メモ帳」とが見いだされる。
一方、情報処理装置1は、各利用者が利用する機器2を特定する情報を受け入れる。ここで機器2を特定する情報は、例えば機器2への情報の送信先を表すアドレス情報(ネットワークアドレスの情報等)でよい。また情報処理装置1は、アドレス情報が入力された機器2のそれぞれについて、機器種別を表す機器種別情報の入力を受け入れる。この入力は、利用者が情報処理装置1の操作部13を操作して入力してもよいし、情報処理装置1が通信回線を介して機器2へ問い合わせ、機器2が予め定めた機器種別情報を応答するようにしてもよい。情報処理装置1は、この応答により機器種別情報を受け入れることになる。
ここでは電子ホワイトボード2aについて「ボード」の機器種別情報が入力され、また、パーソナルコンピュータ2bについて「パッド」の機器種別情報が入力されたものとする。情報処理装置1は、電子ホワイトボード2aのアドレス情報と「ボード」との機器種別情報とを関連づけて記憶し、また、パーソナルコンピュータ2bのアドレス情報と、「パッド」との機器種別情報とを関連づけて記憶する。
情報処理装置1はさらに、先に見いだした役割情報のうち、入力された機器種別情報で特定される種別の機器2に対応するプログラムが定義されている役割情報を抽出する。ここでは「プレゼンター」と、「メモ帳」とが見いだされているが、役割情報「プレゼンター」については、機器種別情報「ボード」について「プレゼンテーション・アプリケーション」が設定されており、また役割情報「メモ帳」については、機器種別情報「パッド」について「メモ帳アプリケーション」が設定されている。
そこで情報処理装置1は、電子ホワイトボード2a(機器種別情報「ボード」)については、「プレゼンター」の役割情報を抽出する。そして抽出した役割情報が「プレゼンター」一つ(単数)であるので、当該抽出した役割情報「プレゼンター」と、電子ホワイトボード2aの機器種別情報である「ボード」とに関連づけられたプログラム、「プレゼンテーション・アプリケーション」を取り出す。そして情報処理装置1は、当該取り出したプログラムを、電子ホワイトボード2aへ送信する。
電子ホワイトボード2aでは、情報処理装置1からプログラムを受信してメモリデバイスに格納し、CPUによってその実行を開始する。
一方、情報処理装置1は、パーソナルコンピュータ2b(機器種別情報「パッド」)については、「メモ帳」の役割情報を抽出する。そして抽出した役割情報が「メモ帳」一つ(単数)であるので、当該抽出した役割情報「メモ帳」と、パーソナルコンピュータ2bの機器種別情報である「パッド」とに関連づけられたプログラム、「メモ帳アプリケーション」を取り出す。そして情報処理装置1は、当該取り出したプログラムを、パーソナルコンピュータ2bへ送信する。パーソナルコンピュータ2bでは、情報処理装置1からプログラムを受信してメモリデバイスに格納し、CPUによってその実行を開始する。
このとき情報処理装置1では、機器2ごとに、機器2を特定する情報(ここでは機器2への情報の送信先を表すアドレス情報)と、ここで定めた役割情報とを関連づけてセッションデータベースとして保持する。ここでの例では、電子ホワイトボード2aのアドレス情報と役割情報「プレゼンター」とが関連づけられ、また、パーソナルコンピュータ2bのアドレス情報と役割情報「メモ帳」とが関連づけられてセッションデータベースに保持されることになる。
パーソナルコンピュータ2bの利用者が、メモ帳アプリケーションで入力した文字列等の情報を送信する指示を行うと、パーソナルコンピュータ2bは、メモ帳アプリケーションのプログラムに従って、当該指示により送信の対象となった文字列等の情報と、送信要求とを情報処理装置1へ送信する。
情報処理装置1では、送信要求元となったパーソナルコンピュータ2bを特定する情報を取得し(パーソナルコンピュータ2bから送信要求とともにパーソナルコンピュータ2bのアドレス情報を受け入れればよい)、当該取得したパーソナルコンピュータ2bを特定する情報に関連づけられた役割情報「メモ帳」を、セッションデータベースから取り出す。
情報処理装置1は、通信経路データベースを参照して、役割情報「メモ帳」からの情報の送信先である機器の役割情報を取得する。ここで情報処理装置1には、予め通信経路データベースとして、役割情報「メモ帳」に対して、当該「メモ帳」からの情報送信先の機器の役割情報である「プレゼンター」が設定されているものとすると、情報処理装置1は、役割情報「プレゼンター」を取得することになる。
そして情報処理装置1は、当該取り出した役割情報に関連づけてセッションデータベースに格納されている送信先としての機器2を特定する情報を取得する。ここでは役割情報「プレゼンター」に対しては電子ホワイトボード2aのアドレス情報が関連づけられているので、情報処理装置1は電子ホワイトボード2aのアドレス情報を取得する。
情報処理装置1は、当該取得したアドレス情報で特定される電子ホワイトボード2aに対し、パーソナルコンピュータ2bから受信した、送信の対象となる文字列等の情報を送信する。
電子ホワイトボード2aでは、文字列等の情報を受信すると、プレゼンテーション・アプリケーションのプログラムに従って、当該受信した情報をディスプレイ等に表示出力する。
[ブレインストーミング時の動作]
また別の例としてブレインストーミングの場面における動作について説明する。ここでは図2(a)に例示したように、役割一覧情報において場面情報「ブレインストーミング」に対し「レイアウター」と、「付箋」との役割があるものと規定されているものとする。また、以下の説明においても機器2はいずれもコンピュータデバイスであり、一つの例として、ここでは電子ホワイトボード2aと、パーソナルコンピュータ2bと、PDA(Personal Digital Assistant)2c等の機器が利用者により利用されるものとする。
この電子ホワイトボード2a、及びパーソナルコンピュータ2bは、既に説明した例と同様の構成を採るものである。また、PDAは、CPU等のプログラム制御デバイスと、メモリデバイス、タッチパネルなどの入力手段、ディスプレイ等の表示手段、そして通信手段を備える。このPDA2cのCPUは、メモリデバイスに格納されたプログラムに従って動作しており、「付箋プログラム」の実行中は、利用者から文字列の入力を受け入れて、当該文字列を保持する。またCPUは、当該保持した文字列を送信するべき旨の指示を受けると、保持した文字列を通信手段を介して送出する。
情報処理装置1は、場面の指定として「ブレインストーミング」である旨の指定を受け入れる。そして情報処理装置1は、指定された場面である「ブレインストーミング」に関連づけられた役割情報の一覧として、「レイアウター」と、「付箋」とを見いだす。
また情報処理装置1は、各利用者が利用する機器2を特定するアドレス情報と、当該アドレス情報が入力された機器2のそれぞれについて、機器種別を表す機器種別情報の入力を受け入れる。ここでは電子ホワイトボード2aについて「ボード」の機器種別情報が入力され、また、パーソナルコンピュータ2bについて「パッド」の機器種別情報が入力され、PDA2cについて「タブ」の機器種別情報が入力されたものとする。
情報処理装置1はさらに、先に見いだした役割情報のうち、入力された機器種別情報で特定される種別の機器2に対応するプログラムが定義されている役割情報を抽出する。ここでは「レイアウター」と、「付箋」とが見いだされているが、役割情報「レイアウター」については、機器種別情報「ボード」について「レイアウト・アプリケーション」が設定されており、また役割情報「付箋」については、機器種別情報「パッド」について「パッド用付箋アプリケーション」が設定され、機器種別情報「タブ」について「タブ用付箋アプリケーション」が設定されている。
そこで情報処理装置1は、電子ホワイトボード2a(機器種別情報「ボード」)については、「レイアウター」の役割情報を抽出する。そして抽出した役割情報が「レイアウター」一つ(単数)であるので、当該抽出した役割情報「レイアウター」と、電子ホワイトボード2aの機器種別情報である「ボード」とに関連づけられたプログラム、「レイアウト・アプリケーション」を取り出す。そして情報処理装置1は、当該取り出したプログラムを、電子ホワイトボード2aへ送信する。
電子ホワイトボード2aでは、情報処理装置1からプログラムを受信してメモリデバイスに格納し、CPUによってその実行を開始する。ここでレイアウト・アプリケーションのプログラムに従い、電子ホワイトボード2aのCPUは、(1)タッチパネル上で行われた文字列や図形等の入力操作を受け入れ、当該操作に従い、ディスプレイに文字列や図形等を描画する処理、並びに(2)通信手段から入力される画像を、ディスプレイ上に表示する処理を行う。ここで電子ホワイトボード2aは、グラフィカルなユーザインタフェースを備えて、ウィンドウ内に画像を描画できるようになっており、通信手段から入力される画像をディスプレイ上に表示する処理を行う際には、一般的なウィンドウズ(登録商標)・オペレーティングシステムのインタフェースにあるように、新しいウィンドウを生成し、このウィンドウ内に画像を描画する。また当該ウィンドウは画面上で移動可能(ウインドウの配置レイアウトを調整可能)なものとしておく。このようなプログラムについては、広く知られているので、その詳細な内容については省略する。
また情報処理装置1は、パーソナルコンピュータ2b(機器種別情報「パッド」)については、「付箋」の役割情報を抽出する。そして抽出した役割情報が「付箋」一つ(単数)であるので、当該抽出した役割情報「付箋」と、パーソナルコンピュータ2bの機器種別情報である「パッド」とに関連づけられたプログラム、「パッド用付箋アプリケーション」を取り出す。そして情報処理装置1は、当該取り出したプログラムを、パーソナルコンピュータ2bへ送信する。パーソナルコンピュータ2bでは、情報処理装置1からプログラムを受信してメモリデバイスに格納し、CPUによってその実行を開始する。この「パッド用付箋アプリケーション」のプログラムに従い、パーソナルコンピュータ2bのCPUは、利用者から文字列の入力を受け入れて、当該文字列を保持する。またCPUは、当該保持した文字列を送信するべき旨の指示を受けると、保持した文字列を通信手段を介して送出する。
さらに情報処理装置1は、PDA2c(機器種別情報「タブ」)については、「付箋」の役割情報を抽出する。そして抽出した役割情報が「付箋」一つ(単数)であるので、当該抽出した役割情報「付箋」と、PDA2cの機器種別情報である「タブ」とに関連づけられたプログラム、「タブ用付箋アプリケーション」を取り出す。そして情報処理装置1は、当該取り出したプログラムを、PDA2cへ送信する。PDA2cでは、情報処理装置1からプログラムを受信してメモリデバイスに格納し、CPUによってその実行を開始する。
このとき情報処理装置1では、機器2ごとに、機器2を特定する情報(ここでは機器2への情報の送信先を表すアドレス情報)と、ここで定めた役割情報とを関連づけてセッションデータベースとして保持する。ここでの例では、電子ホワイトボード2aのアドレス情報と役割情報「レイアウター」とが関連づけられ、また、パーソナルコンピュータ2bのアドレス情報と役割情報「付箋」とが関連づけられ、さらにPDA2cのアドレス情報と役割情報「付箋」とが関連づけられてセッションデータベースに保持されることになる。
パーソナルコンピュータ2bの利用者が、パッド用付箋アプリケーションで入力した文字列等の情報を送信する指示を行うと、パーソナルコンピュータ2bは、パッド用付箋アプリケーションのプログラムに従って、当該指示により送信の対象となった文字列等の情報と、送信要求とを情報処理装置1へ送信する。
情報処理装置1では、送信要求元となったパーソナルコンピュータ2bを特定する情報を取得し(パーソナルコンピュータ2bから送信要求とともにパーソナルコンピュータ2bのアドレス情報を受け入れればよい)、当該取得したパーソナルコンピュータ2bを特定する情報に関連づけられた役割情報「付箋」を、セッションデータベースから取り出す。
情報処理装置1は、通信経路データベースを参照して、役割情報「付箋」からの情報の送信先である機器の役割情報を取得する。ここで情報処理装置1には、予め通信経路データベースとして、役割情報「付箋」に対して、当該「付箋」からの情報送信先の機器の役割情報である「レイアウター」が設定されているものとすると、情報処理装置1は、役割情報「レイアウター」を取得することになる。
そして情報処理装置1は、当該取り出した役割情報に関連づけてセッションデータベースに格納されている送信先としての機器2を特定する情報を取得する。ここでは役割情報「レイアウター」に対しては電子ホワイトボード2aのアドレス情報が関連づけられているので、情報処理装置1は電子ホワイトボード2aのアドレス情報を取得する。
情報処理装置1は、当該取得したアドレス情報で特定される電子ホワイトボード2aに対し、パーソナルコンピュータ2bから受信した、送信の対象となる文字列等の情報を送信する。
電子ホワイトボード2aでは、文字列等の情報を受信すると、レイアウト・アプリケーションのプログラムに従って、当該受信した情報をディスプレイ等に表示出力する。
同様に、PDA2cの利用者が、タブ用付箋アプリケーションで入力した文字列等の情報を送信する指示を行うと、PDA2cは、タブ用付箋アプリケーションのプログラムに従って、当該指示により送信の対象となった文字列等の情報と、送信要求とを情報処理装置1へ送信する。
情報処理装置1では、送信要求元となったPDA2cを特定するアドレス情報を取得し、当該取得したPDA2cを特定する情報に関連づけられた役割情報「付箋」を、セッションデータベースから取り出す。
ここでは、役割情報「付箋」に対して、当該「付箋」からの情報送信先の機器の役割情報である「レイアウター」が設定されているものとしているので、情報処理装置1は、役割情報「付箋」の機器からの情報の送信先となる機器の役割情報として、役割情報「レイアウター」を取得することになる。
そして情報処理装置1は、当該取り出した役割情報「レイアウター」に関連づけてセッションデータベースに格納されている送信先としての電子ホワイトボード2aのアドレス情報を取得する。そして情報処理装置1は、当該取得したアドレス情報で特定される電子ホワイトボード2aに対し、PDA2cから受信した、送信の対象となる文字列等の情報を送信する。電子ホワイトボード2aでは、文字列等の情報を受信すると、レイアウト・アプリケーションのプログラムに従って、当該受信した情報をディスプレイ等に表示出力する。
[行動観察作業時の動作]
さらに別の例として行動観察の場面における動作について説明する。この行動観察とは例えば、オフィスの効率化等のために、オフィスにおける従業者の行動を観察することを意味する。図2(a)に例示したように、役割一覧情報において場面情報「行動観察」に対して、「ログ記録サービス」、「映像記録サービス」、「ログ生成」、「ノート」、「カメラ」の各役割があるものと規定している。また、以下の説明においても機器2はいずれもコンピュータデバイスであり、一つの例として、ここでは電子ホワイトボード2aと、パーソナルコンピュータ2bと、PDA2cと、サーバコンピュータ2d等の機器が利用者により利用されるものとする。
この電子ホワイトボード2a、パーソナルコンピュータ2b、PDA2cは、既に説明した例と同様の構成を採るものである。また、サーバコンピュータ2dは、CPU等のプログラム制御デバイスと、メモリデバイス、そして通信手段を備える。このサーバコンピュータ2dのCPUは、メモリデバイスに格納されたプログラムに従って動作しており、「ロガープログラム」の実行中は、受信した情報をメモリデバイスに蓄積して保持する。また「ビデオプログラム」の実行中は、受信した映像の情報をメモリデバイスに蓄積して保持する。
情報処理装置1は、場面の指定として「行動観察」である旨の指定を受け入れる。そして情報処理装置1は、指定された場面である「行動観察」に関連づけられた役割情報の一覧として、「ログ記録サービス」、「映像記録サービス」、「ログ生成」、「ノート」、「カメラ」の各役割を見いだす。
また情報処理装置1は、各利用者が利用する機器2を特定するアドレス情報と、当該アドレス情報が入力された機器2のそれぞれについて、機器種別を表す機器種別情報の入力を受け入れる。ここでは電子ホワイトボード2aについて「ボード」の機器種別情報が入力され、また、パーソナルコンピュータ2bについて「パッド」の機器種別情報が入力され、PDA2cについて「タブ」の機器種別情報が入力され、さらにサーバコンピュータ2dについて「サービス」の機器種別情報が入力されたものとする。
情報処理装置1はさらに、先に見いだした役割情報のうち、入力された機器種別情報で特定される種別の機器2に対応するプログラムが定義されている役割情報を抽出する。ここでは役割情報と機器種別情報とプログラムとの関係は例えば次のように設定されている(以下の記法で「A、B:C」は、AとBとに関連づけてプログラムCが設定されていることを意味する)。
役割情報「ログ記録サービス」、機器種別情報「サービス」:プログラム「ロガープログラム」
役割情報「映像記録サービス」、機器種別情報「サービス」:プログラム「ビデオプログラム」
役割情報「ログ生成」、機器種別情報「ボード」:プログラム「ログエージェント」
役割情報「ノート」、機器種別情報「パッド」:プログラム「観察ノート」
役割情報「カメラ」、機器種別情報「タブ」:プログラム「撮影プログラム」
そこで情報処理装置1は、電子ホワイトボード2a(機器種別情報「ボード」)については、「ログ生成」の役割情報を抽出する。そして抽出した役割情報が「ログエージェント」一つ(単数)であるので、プログラム「ログエージェント」を取り出す。そして情報処理装置1は、当該取り出したプログラムを、電子ホワイトボード2aへ送信する。
電子ホワイトボード2aでは、情報処理装置1からプログラムを受信してメモリデバイスに格納し、CPUによってその実行を開始する。ここではログエージェントのプログラムに従い、電子ホワイトボード2aのCPUは、(1)タッチパネル上で行われた文字列や図形等の入力操作を受け入れ、当該操作に従い、ディスプレイに文字列や図形等を描画する処理、並びに(2)ディスプレイに描画した文字列や図形等の情報を送信する処理を実行する。
また情報処理装置1は、パーソナルコンピュータ2b(機器種別情報「パッド」)については、「ノート」の役割情報を抽出する。そして抽出した役割情報が「ノート」一つ(単数)であるので、プログラム「観察ノート」を取り出す。そして情報処理装置1は、当該取り出したプログラムを、パーソナルコンピュータ2bへ送信する。パーソナルコンピュータ2bでは、情報処理装置1からプログラムを受信してメモリデバイスに格納し、CPUによってその実行を開始する。この「観察ノート」のプログラムに従い、パーソナルコンピュータ2bのCPUは、利用者から文字列の入力を受け入れて、当該文字列を保持する。またCPUは、当該保持した文字列を送信するべき旨の指示を受けると、保持した文字列を通信手段を介して送出する。
さらに情報処理装置1は、PDA2c(機器種別情報「タブ」)については、「カメラ」の役割情報を抽出する。そして抽出した役割情報が「カメラ」一つ(単数)であるので、当該抽出した役割情報「カメラ」と、PDA2cの機器種別情報である「タブ」とに関連づけられたプログラム、「撮影プログラム」を取り出す。そして情報処理装置1は、当該取り出したプログラムを、PDA2cへ送信する。PDA2cでは、情報処理装置1からプログラムを受信してメモリデバイスに格納し、CPUによってその実行を開始する。PDA2cのCPUは、「撮影プログラム」に従い、PDA2cにカメラなど映像を撮像する機能を備えたデバイスが搭載されているか否かを調べる。ここで、映像を撮像する機能を備えたデバイスがなければ、エラーを出力する。また、映像を撮像する機能を備えたデバイスがあれば、利用者が映像を撮影する指示を入力するごとに、カメラなどのデバイスで映像を撮影して送信する。
そして情報処理装置1は、サーバコンピュータ2d(機器種別情報「サービス」)については、プログラム「ロガープログラム」及び「ビデオプログラム」のそれぞれに関連づけられている、役割情報「ログ記録サービス」及び「映像記録サービス」を抽出する。ここでは抽出される役割情報が複数あるので、情報処理装置1は当該抽出した役割情報の一覧を利用者に提示する。そして情報処理装置1は、当該提示した一覧に含まれる役割情報の一つを利用者に選択させ、利用者の選択の操作を受け入れる。
以下の例では利用者が「ログ記録サービス」を選択したものとする。このときは情報処理装置1は、選択された役割情報「ログ記録サービス」と、サーバコンピュータ2dの機器種別情報である「サービス」とに関連づけられたプログラム「ロガープログラム」を取り出す。そして情報処理装置1は、当該取り出したプログラムを、サーバコンピュータ2dへ送信する。サーバコンピュータ2dでは、情報処理装置1からプログラムを受信してメモリデバイスに格納し、CPUによってその実行を開始する。
このとき情報処理装置1では、機器2ごとに、機器2を特定する情報(ここでは機器2への情報の送信先を表すアドレス情報)と、ここで定めた役割情報とを関連づけてセッションデータベースとして保持する。ここでの例では、電子ホワイトボード2aのアドレス情報と役割情報「ログ生成」とが関連づけられ、また、パーソナルコンピュータ2bのアドレス情報と役割情報「ノート」とが関連づけられ、さらにPDA2cのアドレス情報と役割情報「カメラ」とが関連づけられ、さらにサーバコンピュータ2dのアドレス情報と選択された役割情報「ログ記録サービス」とが関連づけられてセッションデータベースに保持されることになる。
電子ホワイトボード2aに対して、利用者が文字列等を描画する指示を入力すると、電子ホワイトボード2aは、当該操作に従い、ディスプレイに文字列や図形等を描画する。また電子ホワイトボード2aは、ディスプレイに描画した文字列や図形等の情報(描画情報)と、送信要求とを情報処理装置1へ送信する。
情報処理装置1では、送信要求元となった電子ホワイトボードを特定するアドレス情報を取得し、当該アドレス情報に関連づけられた役割情報「ログ生成」を、セッションデータベースから取り出す。
情報処理装置1は、通信経路データベースを参照して、役割情報「ログ生成」からの情報の送信先である機器の役割情報を取得する。ここで情報処理装置1には、予め通信経路データベースとして、役割情報「ログ生成」に対して、情報送信先の機器の役割情報である「ログ記録サービス」が設定されているものとすると、情報処理装置1は、役割情報「ログ記録サービス」を取得することになる。
そして情報処理装置1は、当該取り出した役割情報に関連づけてセッションデータベースに格納されている送信先としての機器2を特定する情報を取得する。ここでは役割情報「ログ記録サービス」に対してはサーバコンピュータ2dのアドレス情報が関連づけられているので、情報処理装置1はサーバコンピュータ2dのアドレス情報を取得する。
情報処理装置1は、当該取得したアドレス情報で特定されるサーバコンピュータ2dに対し、電子ホワイトボード2aから受信した、送信の対象となる描画情報を送信する。サーバコンピュータ2dでは、描画情報を受信すると、ロガープログラムに従って、当該受信した描画情報をメモリデバイスに蓄積して記録する。
またパーソナルコンピュータ2bの利用者が、観察ノートアプリケーションで入力した文字列等の情報を送信する指示を行うと、パーソナルコンピュータ2bは、観察ノートのプログラムに従って、当該指示により送信の対象となった文字列等の情報と、送信要求とを情報処理装置1へ送信する。
情報処理装置1では、送信要求元となったパーソナルコンピュータ2bを特定するアドレス情報を取得し、当該アドレス情報に関連づけられた役割情報「ノート」を、セッションデータベースから取り出す。情報処理装置1は、通信経路データベースを参照して、役割情報「ノート」からの情報の送信先である機器の役割情報を取得する。ここで情報処理装置1には、予め通信経路データベースとして、役割情報「ノート」に対して、情報の送信先として役割情報「ログ記録サービス」が設定されているものとすると、情報処理装置1は、役割情報「ログ記録サービス」を取得することになる。
そして情報処理装置1は、当該取り出した役割情報「ログ記録サービス」に関連づけてセッションデータベースに格納されている送信先としてのサーバコンピュータ2dのアドレス情報を取得する。情報処理装置1は、当該取得したアドレス情報で特定されるサーバコンピュータ2dに対し、パーソナルコンピュータ2bから受信した、送信の対象となる文字列等の情報を送信する。サーバコンピュータ2dでは、文字列等の情報を受信すると、ロガープログラムに従って、当該受信した情報をメモリデバイスに蓄積して記録する。
さらにPDA2c(ここではカメラなど映像を撮像する機能を備えたデバイスが搭載されているものとする)の利用者が、映像を撮影する指示を入力すると、PDA2cは、カメラなどのデバイスで映像を撮影し、当該撮影した映像と、送信要求とを情報処理装置1へ送信する。
情報処理装置1では、送信要求元となったPDA2cを特定するアドレス情報を取得し、当該取得したPDA2cを特定する情報に関連づけられた役割情報「カメラ」を、セッションデータベースから取り出す。ここでは、役割情報「カメラ」に対して、当該「カメラ」からの情報送信先の機器の役割情報として「ログ記録サービス」と「映像記録サービス」とが設定されているものとする。情報処理装置1は、この設定に従い、「カメラ」の役割の機器からの情報送信先として、役割情報「ログ記録サービス」と「映像記録サービス」とを取得することになる。
そして情報処理装置1は、当該取り出した役割情報「ログ記録サービス」と「映像記録サービス」とに関連づけてセッションデータベースに格納されている送信先としての機器2を検索する。ここでは「ログ記録サービス」に関連づけてサーバコンピュータ2dのアドレス情報が記録されているが、「映像記録サービス」はセッションデータベース上に記録されていない。そこで情報処理装置1は、セッションデータベースから見いだした「ログ記録サービス」に関連づけられたサーバコンピュータ2dのアドレス情報を取得する。そして情報処理装置1は、当該取得したアドレス情報で特定されるサーバコンピュータ2dに対し、PDA2cから受信した、送信の対象となる映像を送信する。サーバコンピュータ2dでは、映像の情報を受信すると、ロガープログラムに従って、当該受信した映像の情報をメモリデバイスに蓄積して格納する。
なお、ここで「ログ記録サービス」に関連づけてサーバコンピュータ2dのアドレス情報が記録されているほか、「映像記録サービス」に関連づけていずれかの機器2のアドレス情報が記録されていたときには、情報処理装置1は、セッションデータベースから見いだした「ログ記録サービス」と「映像記録サービス」とのそれぞれに関連づけられた機器2のアドレス情報を取得し、それぞれのアドレス情報で特定される各機器2に対して、PDA2cから受信した、送信の対象となる映像を送信してもよい。
[必須役割]
また本実施の形態では、各場面情報に関連づけられた役割情報を、必須の役割情報と任意の役割情報とに分けて規定してもよい。すなわちこの場合の役割一覧情報は、図2(b)に例示するように、場面を特定する場面情報に対し、当該場面での役割を特定する少なくとも一つの役割情報と、必須であるか否かを表す情報とを関連づけたものとすればよい。
この場合の情報処理装置1もまた、場面情報が入力されたときに、入力された場面情報に関連づけられた役割情報を利用して既に説明した処理を行うものであるが、機器2を特定する情報と、機器2の機器種別情報とが入力され、各機器2の役割情報を設定した後、指定された場面情報に関連づけられた役割情報のうち、必須である旨の情報が関連づけられた役割情報であって、いずれの機器2を特定する情報にも関連づけられていない役割情報があるか否かを調べる。
例えば、プレゼンテーションの場面情報において、「プレゼンター」の役割が必須であると設定されているとしたとき、プレゼンターの役割情報に関連づけられるべき「ボード」(例えば電子ホワイトボード)の種別の機器2があるか否かを調べる。
そして指定された場面情報に関連づけられた役割情報のうち、必須である旨の情報が関連づけられた役割情報であって、いずれの機器2を特定する情報にも関連づけられていない役割情報がある場合、例えばプレゼンテーションの場面においてプレゼンターの役割に対応する機器2が存在しない場合(かかる機器2を特定する情報等が入力されていない場合)は、情報処理装置1は必須である旨の情報が関連づけられた役割(必須役割)に対応する機器2を特定する情報等が入力されるまで、情報処理装置1は当該対応する機器2が未だ存在しない、必須役割を表す情報を表示して、処理を中断してもよい。
[代替処理]
また必須役割に対応する機器2が存在しない場合、情報処理装置1は、既に入力されている情報で特定される機器2のうちに、当該必須役割として機能し得る機器2があるか否かを調べ、当該必須役割として機能し得る機器2があれば、当該機器2に対して必須役割として機能させるためのプログラムを送信してもよい。この場合、当該機器2が本来必須役割としての機能を果たす種別の機器に代替することになる。
ここで、必須役割として機能し得る機器2があるか否かは次のようにして判断することとしてもよい。すなわち情報処理装置1は、機器種別情報ごとに、当該機器種別情報の表す種別の機器2の備える特性を表す情報を関連づけて保持する。一例として図7では、各機器の特性として画面サイズ、入力手段…といった情報が規定され、「サービス」、「ボード」、「パッド」、「タブ」の各機器種別情報に対応してそれぞれの特性を表す情報が関連づけられている。図7の例では画面サイズについて、「サービス」は「0」、「ボード」は「6」、「パッド」が「4」、タブが「1」と設定される。また、入力手段として「サービス」は「0」、「ボード」は「2」、「パッド」が「1」、タブが「2」と設定される。この設定値は、管理者などが任意に設定することとすればよい。
情報処理装置1は、本来必須役割を果たすべき機器の種別を表す機器種別情報に関連づけられた各特性の値から特徴量を演算する。ここでの特徴量は例えば各特性に関連づけられた値を各成分とするベクトル量としておけばよい。一例として、プレゼンターの役割が必須役割であるとして、この必須役割を果たすべき「ボード」の機器に係る情報の入力がない場合、情報処理装置1は、当該「ボード」に代替する機器を次のように特定する。
まず情報処理装置1は、本来必須役割を果たすべき「ボード」についての特徴量を算出する。図7の例を用いて特徴量としての上記のベクトル量を得るものとすると、この特徴量(以下では比較特徴量と呼ぶ)は(6,2)という量となる。一方、情報処理装置1は、既に入力されている機器2の機器種別情報の各々について、同じく特徴量を算出する。例えば「パッド」の機器種別情報と「タブ」の機器種別情報とが入力されているとすると、情報処理装置1は、それぞれについての特徴量(代替候補特徴量と呼ぶ)を得る。図7の例によると、「パッド」について(4,1)、「タブ」について(1,2)と得られる。
情報処理装置1は、比較特徴量と、各代替候補特徴量とを比較する。ベクトル量であれば、距離の情報(成分ごとの差の二乗和)とすればよい。上の例では、「パッド」について距離「5」、「タブ」について距離「25」と演算される。情報処理装置1は、この比較の結果、代替に適した機器種別情報を見いだす。上述のような距離を用いて比較する場合、距離の最も小さい機器種別情報を代替に適した機器種別情報とすればよい。従って、上述の例では、「パッド」が選択され、「パッド」として入力された機器2に対して、役割情報「プレゼンター」、機器種別情報「ボード」に対応して設定されたプログラムが送信される。そして当該「パッド」である機器2が、当該プログラムを実行して、「プレゼンター」としての役割を代替する。