(57)【特許請求の範囲】
【請求項１】
ディスプレイと、
複数のグループの各オーナー電子機器と通信接続され、第１電子機器と第２電子機器とが属するグループで作成され、前記第１電子機器上で手書き入力された複数の第１ストロークに対応する第１ストロークデータと、前記第２電子機器上で手書き入力された複数の第２ストロークに対応する第２ストロークデータとを含むドキュメントを、受信する受信手段と、
前記複数のグループの各グループに属する各ユーザの貢献を算出する処理手段と、
を具備し、
前記処理手段は、
前記第１ストロークデータを用いて、前記グループに属する第１ユーザが前記第１電子機器を使用して前記ドキュメントの作成に貢献した度合いに関する第１貢献度を算出し、
前記第２ストロークデータを用いて、前記グループに属する第２ユーザが前記第２電子機器を使用して前記ドキュメントの作成に貢献した度合いに関する第２貢献度を算出し、
前記ドキュメント、前記第１貢献度、及び前記第２貢献度を前記ディスプレイの画面に表示する
電子機器。
【請求項２】
前記処理手段は、
前記第１ストロークデータに含まれるストロークの数、前記第１ストロークデータに含まれる複数の点の数、前記第１ストロークデータに含まれるストロークの長さ、の１つ以上に基づいて、前記第１貢献度を算出し、
前記第２ストロークデータに含まれるストロークの数、前記第２ストロークデータに含まれる複数の点の数、前記第２ストロークデータに含まれるストロークの長さ、の１つ以上に基づいて、前記第２貢献度を算出する
請求項１に記載の電子機器。
【請求項３】
前記処理手段は、
前記第１ユーザによる前記第１ストロークデータ及び前記第２ストロークデータの入力又は編集において、手書き入力されるストロークのペンタイプ、色、太さ、及び透過度の少なくとも１つで規定される属性の変更に関する度合いにより前記第１貢献度を算出し、
前記第２ユーザによる前記第１ストロークデータ及び前記第２ストロークデータの入力又は編集において、手書き入力されるストロークのペンタイプ、色、太さ、及び透過度の少なくとも１つで規定される属性の変更に関する度合いにより前記第２貢献度を算出する
請求項１に記載の電子機器。
【請求項４】
前記処理手段は、
前記第１ユーザが前記第１電子機器を使用して、前記第２ストロークデータの内の１つ以上のストロークを編集した度合いにより前記第１貢献度を算出し、
前記第２ユーザが前記第２電子機器を使用して、前記第１ストロークデータの内の１つ以上のストロークを編集した度合いにより前記第２貢献度を算出する
請求項１に記載の電子機器。
【請求項５】
前記処理手段は、
前記第１ユーザが前記第１電子機器を使用して、前記第１ストロークデータが手書き入力されたときの時間の偏りに関する度合いにより前記第１貢献度を算出し、
前記第２ユーザが前記第２電子機器を使用して、前記第２ストロークが手書き入力されたときの時間の偏りに関する度合いにより前記第２貢献度を算出する
請求項１に記載の電子機器。
【請求項６】
複数のグループの各オーナー電子機器と通信接続され、第１電子機器と第２電子機器とが属するグループで作成され、前記第１電子機器上で手書き入力された複数の第１ストロークに対応する第１ストロークデータと、前記第２電子機器上で手書き入力された複数の第２ストロークに対応する第２ストロークデータとを含むドキュメントを、受信することと、
前記グループに属する第１ユーザの貢献を算出するため、前記第１ストロークデータを用いて、前記第１ユーザが前記第１電子機器を使用して前記ドキュメントの作成に貢献した度合いに関する第１貢献度を算出することと、
前記グループに属する第２ユーザの貢献を算出するため、前記第２ストロークデータを用いて、前記第２ユーザが前記第２電子機器を使用して前記ドキュメントの作成に貢献した度合いに関する第２貢献度を算出することと、
前記ドキュメント、前記第１貢献度、及び前記第２貢献度をディスプレイの画面に表示することと、
を含む方法。
【請求項７】
前記第１貢献度を算出することは、前記第１ストロークデータに含まれるストロークの数、前記第１ストロークデータに含まれる複数の点の数、前記第１ストロークデータに含まれるストロークの長さ、の１つ以上に基づいて、前記第１貢献度を算出することを含み、
前記第２貢献度を算出することは、前記第２ストロークに含まれるストロークの数、前記第２ストロークデータに含まれる複数の点の数、前記第２ストロークデータに含まれるストロークの長さ、の１つ以上に基づいて、前記第２貢献度を算出することを含む
請求項６に記載の方法。
【請求項８】
前記第１貢献度を算出することは、前記第１ユーザによる前記第１ストロークデータ及び前記第２ストロークデータの入力又は編集において、手書き入力されるストロークのペンタイプ、色、太さ、及び透過度の少なくとも１つで規定される属性の変更に関する度合いにより前記第１貢献度を算出することを含み、
前記第２貢献度を算出することは、前記第２ユーザによる前記第１ストロークデータ及び前記第２ストロークデータの入力又は編集において、手書き入力されるストロークのペンタイプ、色、太さ、及び透過度の少なくとも１つで規定される属性の変更に関する度合いにより前記第２貢献度を算出することを含む
請求項６に記載の方法。
【請求項９】
前記第１貢献度を算出することは、前記第１ユーザが前記第１電子機器を使用して、前記第２ストロークデータの内の１つ以上のストロークを編集した度合いにより前記第１貢献度を算出することを含み、
前記第２貢献度を算出することは、前記第２ユーザが前記第２電子機器を使用して、前記第１ストロークデータの内の１つ以上のストロークを編集した度合いにより前記第２貢献度を算出することを含む
請求項６に記載の方法。
【請求項１０】
前記第１貢献度を算出することは、前記第１ユーザが前記第１電子機器を使用して、前記第１ストロークデータが手書き入力されたときの時間の偏りに関する度合いにより前記第１貢献度を算出することを含み、
前記第２貢献度を算出することは、前記第２ユーザが前記第２電子機器を使用して、前記第２ストロークデータが手書き入力されたときの時間の偏りに関する度合いにより前記第２貢献度を算出することを含む
請求項６に記載の方法。
【請求項１１】
コンピュータにより実行されるプログラムであって、
複数のグループの各オーナー電子機器と通信接続され、第１電子機器と第２電子機器とが属するグループで作成され、前記第１電子機器上で手書き入力された複数の第１ストロークに対応する第１ストロークデータと、前記第２電子機器上で手書き入力された複数の第２ストロークに対応する第２ストロークデータとを含むドキュメントを、受信する手順と、
前記グループに属する第１ユーザの貢献を算出するため、前記第１ストロークデータを用いて、前記第１ユーザが前記第１電子機器を使用して前記ドキュメントの作成に貢献した度合いに関する第１貢献度を算出する手順と、
前記グループに属する第２ユーザの貢献を算出するため、前記第２ストロークデータを用いて、前記第２ユーザが前記第２電子機器を使用して前記ドキュメントの作成に貢献した度合いに関する第２貢献度を算出する手順と、
前記ドキュメント、前記第１貢献度、及び前記第２貢献度をディスプレイの画面に表示する手順と、
を前記コンピュータに実行させるプログラム。
【請求項１２】
前記第１ストロークデータに含まれるストロークの数、前記第１ストロークデータに含まれる複数の点の数、前記第１ストロークデータに含まれるストロークの長さ、の１つ以上に基づいて、前記第１貢献度を算出する手順と、
前記第２ストロークデータに含まれるストロークの数、前記第２ストロークデータに含まれる複数の点の数、前記第２ストロークデータに含まれるストロークの長さ、の１つ以上に基づいて、前記第２貢献度を算出する手順と、
を更に含む請求項１１に記載のプログラム。
【請求項１３】
前記第１ユーザによる前記第１ストロークデータ及び前記第２ストロークデータの入力又は編集において、手書き入力されるストロークのペンタイプ、色、太さ、及び透過度の少なくとも１つで規定される属性の変更に関する度合いにより前記第１貢献度を算出する手順と、
前記第２ユーザによる前記第１ストロークデータ及び前記第２ストロークデータの入力又は編集において、手書き入力されるストロークのペンタイプ、色、太さ、及び透過度の少なくとも１つで規定される属性の変更に関する度合いにより前記第２貢献度を算出する手順と、
を更に含む請求項１１に記載のプログラム。
【請求項１４】
前記第１ユーザが前記第１電子機器を使用して前記第２ストロークデータの内の１つ以上のストロークを編集した度合いにより前記第１貢献度を算出する手順と、
前記第２ユーザが前記第２電子機器を使用して前記第１ストロークデータの内の１つ以上のストロークを編集した度合いにより前記第２貢献度を算出する手順と、
を更に含む請求項１１に記載のプログラム。
【請求項１５】
前記第１ユーザが前記第１電子機器を使用して、前記第１ストロークデータが手書き入力されたときの時間の偏りに関する度合いにより前記第１貢献度を算出する手順と、
前記第２ユーザが前記第２電子機器を使用して、前記第２ストロークデータが手書き入力されたときの時間の偏りに関する度合いにより前記第２貢献度を算出する手順と、
を更に含む請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、手書き情報を共有するための技術に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（ＰＣ）、タブレット、スマートフォンといった種々の電子機器が開発されている。
【０００３】
この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
【０００４】
また最近では、手書き情報を共有するための技術も開発されている。手書き情報を共有する技術は、授業のような教育分野での利用や、会議のようなビジネスシーンでの利用に有用である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２９０９３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
授業では、例えば、グループ学習に、手書き情報を共有するための技術が利用される。あるグループに属する複数の児童や生徒は、各自が使用する電子機器のタッチスクリーンディスプレイ上に文字や図形を手書き入力し、これに応じて、グループに属する他の児童や生徒のタッチスクリーンディスプレイ上に、その手書き入力された文字や図形が表示される。このような処理により、各グループに属する児童や生徒の協働作業によるドキュメント（成果物）を作成することができる。
【０００７】
ところで、このようなグループでの学習は、複数のグループで並行して行われることが多い。教師は、例えば、各グループで作成中のドキュメントを順に見回ることで学習の様子を確認するので、すべてのグループでの学習の経過を綿密に把握することは困難である。そのため、複数のグループのそれぞれで協働作業によってドキュメント（成果物）が作成された場合に、各ユーザによる活動を適切に評価できない場合があった。
【０００８】
本発明の一形態は、グループで協働作業によりドキュメントが作成された場合に、各ユーザによる活動を適切に評価することを支援できる電子機器及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
実施形態によれば、電子機器は、ディスプレイと、受信手段と、処理手段とを具備する。受信手段は、複数のグループの各オーナー電子機器と通信接続され、第１電子機器と第２電子機器とが属するグループで作成され、前記第１電子機器上で手書き入力された複数の第１ストロークに対応する第１ストロークデータと、前記第２電子機器上で手書き入力された複数の第２ストロークに対応する第２ストロークデータとを含むドキュメントを、受信する。処理手段は、前記複数のグループの各グループに属する各ユーザの貢献を算出する。前記処理手段は、前記第１ストロークデータを用いて、前記グループに属する第１ユーザが前記第１電子機器を使用して前記ドキュメントの作成に貢献した度合いに関する第１貢献度を算出し、前記第２ストロークデータを用いて、前記グループに属する第２ユーザが前記第２電子機器を使用して前記ドキュメントの作成に貢献した度合いに関する第２貢献度を算出し、前記ドキュメント、前記第１貢献度、及び前記第２貢献度を前記ディスプレイの画面に表示する。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る電子機器（スーパーバイザ機器）によって管理される手書き共有サービスの例を説明するための図。
【図２】同実施形態の電子機器の外観を示す斜視図。
【図３】同実施形態の電子機器と手書き共有サービスを利用するユーザ機器間の接続の例を示す図。
【図４】複数のユーザ機器（電子機器）間で同一の画面（カンバス）が共有される例を示す図。
【図５】複数のユーザ機器間で手書き情報を共有する画面（カンバス）上の各ストロークと筆記者との関係の例を示す図。
【図６】複数のユーザ機器間で手書き情報を共有する画面（カンバス）の例を示す図。
【図７】同実施形態の電子機器及びユーザ機器のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す図。
【図８】図７の手書き文書に対応する時系列情報の例を示す図。
【図９】同実施形態の電子機器とユーザ機器との間の、手書き共有サービス開始時のデータの流れの概要を説明するための図。
【図１０】同実施形態の電子機器とユーザ機器との間の、手書き共有サービス実行中のデータの流れの概要を説明するための図。
【図１１】同実施形態の電子機器のシステム構成を示すブロック図。
【図１２】同実施形態の電子機器によって実行される手書き共有アプリケーションプログラムの機能構成を示すブロック図。
【図１３】同実施形態の電子機器によって用いられるグループデータの一構成例を示す図。
【図１４】同実施形態の電子機器によって用いられるストロークデータの一構成例を示す図。
【図１５】同実施形態の電子機器によって用いられるストローク属性データの一構成例を示す図。
【図１６】同実施形態の電子機器によって用いられるストローク編集データの一構成例を示す図。
【図１７】手書き共有サービスを利用する電子機器によって表示される共有画面（共有カンバス）の例を示す図。
【図１８】同実施形態の電子機器によって用いられる貢献度データの一構成例を示す図。
【図１９】同実施形態の電子機器によって表示される学習結果ビューの例を示す図。
【図２０】図１９の学習結果ビュー上でストロークの表示／非表示が設定される例を示す図。
【図２１】同実施形態の電子機器によって実行されるドキュメント（共同成果物）の回収処理の手順の例を示すフローチャート。
【図２２】同実施形態の電子機器によって実行される学習結果表示処理の手順の例を示すフローチャート。
【図２３】同実施形態の電子機器によって実行されるストローク表示／非表示処理の手順の例を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、実施の形態について図面を参照して説明する。
【００１２】
図１は、一実施形態に係る電子機器によって管理されるグループの例を示す。この電子機器は、手書き共有サービスを利用する少なくとも１つのグループを管理（監視）するスーパーバイザ機器として用いられ、グループ毎の手書き共有サービスの開始、終了、再開等のための処理や、グループで作成されたドキュメント（共同成果物）に対する各ユーザの貢献度を評価するための処理、等を実行する。
【００１３】
グループには、複数の電子機器（以下、ユーザ機器とも称する）が属し、そのグループ内の電子機器間で手書き情報が共有される。グループに参加しているユーザ機器において手書き入力されるストロークのデータは、このグループに参加している他の各ユーザ機器にリアルタイムで配信される。これによって、グループ内のユーザ機器の画面に表示される手書き文書の内容を同期させることができる。
【００１４】
手書き共有サービスは、図１に示すように、例えば、学校の授業支援システムで提供されるサービスとして利用される。教師が使用する電子機器（スーパーバイザ機器）は、手書き情報を共有する児童や生徒の電子機器（ユーザ機器）が属するグループを管理する。スーパーバイザ機器は、グループのオーナー機器に設定された１台のユーザ機器との間で必要なときだけ通信を行うことによって、グループを管理する。そして、グループ内では、そのオーナー機器が手書き共有サービスを管理することによって、グループに参加しているユーザ機器間で手書き情報が共有される。これにより、スーパーバイザ機器は、各々が手書き情報を共有する複数のユーザ機器からなる複数のグループを管理することができる。例えば、Ｎ個のグループそれぞれにＭ台のユーザ機器が参加する場合、スーパーバイザ機器は、Ｎ×Ｍ台のユーザ機器を管理できることになる。
【００１５】
教師は、このような複数のグループで並行して行われるグループ学習（グループでの協働学習）の授業において、児童や生徒をそれぞれ評価する必要がある。教師は、グループ学習において、例えば、児童や生徒の意欲、協調性、課題に関する知識、等をポイントとして評価を行う。
【００１６】
しかし、グループ学習で制作されたドキュメント等の成果物は、グループに属する複数のユーザが合同で制作したものであるので、誰がどの部分を作成し、成果物の制作にどのように貢献したのかが不明である。そのため、完成したドキュメント（成果物）の内容だけに基づいて、児童や生徒を適切に評価することは困難である。このような評価を適切に行うためには、教師は、例えば、グループ学習が行われる授業中に、ドキュメントが制作される過程での児童や生徒による活動の様子を観察する必要がある。しかし、複数のグループで並行して行われるグループ学習の授業において、児童や生徒による活動の様子をくまなく観察することは困難である。
【００１７】
そのため本実施形態では、グループで作成されたドキュメント（成果物）に対する各ユーザの貢献度（貢献度パラメータ）を可視化する。貢献度は、例えば、各ユーザによるストロークの入力又は編集を示すデータを解析することにより算出される。このような貢献度が可視化されることにより、グループで協働作業によりドキュメントが作成された場合に、スーパーバイザ（教師）が各ユーザ（児童や生徒）によるドキュメント作成のための活動を適切に評価することを支援できる。
【００１８】
図２は、本実施形態の電子機器の外観を示す斜視図である。この電子機器は、例えば、ペン（スタイラス）又は指を使用した手書き入力を実行することが可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、ＰＤＡ等として実現され得る。以下では、この電子機器がタブレットコンピュータ１０として実現されている場合を例示する。タブレットコンピュータ１０は、タブレット又はスレートコンピュータとも称される携帯型電子機器である。このタブレットコンピュータ１０は、上述したスーパーバイザ機器とユーザ機器のいずれとしても動作し得る。タブレットコンピュータ１０は、例えば、当該コンピュータ１０上で実行されるアプリケーションプログラムによって、スーパーバイザ機器として動作するモードとユーザ機器として動作するモードとを切り替えることができる。
【００１９】
タブレットコンピュータ１０は、図２に示すように、本体１１とタッチスクリーンディスプレイ１７とを備える。タッチスクリーンディスプレイ１７は、本体１１の上面に重ね合わされるように取り付けられている。
【００２０】
本体１１は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１７には、フラットパネルディスプレイと、センサとが組み込まれている。センサは、ペン又は指と接触されるフラットパネルディスプレイの画面上の位置（接触位置）を検出する。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量式のタッチパネル、電磁誘導式のデジタイザなどを使用することができる。デジタイザとタッチパネルの２種類のセンサの双方がタッチスクリーンディスプレイ１７に組み込まれていてもよい。
【００２１】
このタッチスクリーンディスプレイ１７は、指と接触される画面上の位置を検出することができ、またペン１００と接触される画面上の位置を検出することもできる。ペン１００は例えば電磁誘導ペン（デジタイザペン）であってもよい。ユーザは、外部オブジェクト（指又はペン１００）を使用してタッチスクリーンディスプレイ１７の画面上に文字等を書くことができる。この手書き入力操作中においては、画面上の外部オブジェクトの動きの軌跡、つまり手書き入力されるストロークが、リアルタイムで画面上に描画される。外部オブジェクトが画面に接触されている間の外部オブジェクトの動きの軌跡が１ストロークに相当する。手書き入力された文字又は図形などに対応する多数のストロークの集合が手書き文書を構成する。
【００２２】
一つのストロークは、このストローク上の複数の点それぞれに対応する複数の点データの集合によって表現される。各点データは、対応する点の座標（Ｘ座標、Ｙ座標）を示す。上述したように、外部オブジェクトはペン１００又は指のいずれであってもよいが、以下では、ペン１００を使用して手書き入力が行われる場合を主に説明する。
【００２３】
さらに、タブレットコンピュータ１０は、手書き情報を複数の電子機器間で共有することが可能な手書き共有サービスを実行する。手書き共有サービスは、各電子機器のユーザが、共有される手書き情報を閲覧すること、他の電子機器のユーザとの協働作業によって手書き情報を編集することを可能にする。
【００２４】
手書き共有サービスは、複数人が属するグループによって利用される。グループには、例えば、一人のオーナー（主催者）と、一人以上の参加者とが属する。また、オーナーもグループに参加している一人と云える。
【００２５】
図３は、手書き共有サービスを利用する電子機器間の接続例を示す。  
電子機器（スーパーバイザ機器）１０Ｓは、グループを管理するスーパーバイザ（例えば、教師）によって使用されるタブレットコンピュータである。
【００２６】
電子機器（ユーザ機器）１０Ａは、第１グループに属するユーザＡによって使用されるタブレットコンピュータである。電子機器（ユーザ機器）１０Ｂは、第１グループに属するユーザＢによって使用されるタブレットコンピュータである。電子機器（ユーザ機器）１０Ｃは、第１グループに属するユーザＣによって使用されるタブレットコンピュータである。
【００２７】
電子機器（ユーザ機器）１０Ｄは、第Ｎグループに属するユーザＤによって使用されるタブレットコンピュータである。電子機器（ユーザ機器）１０Ｅは、第Ｎグループに属するユーザＥによって使用されるタブレットコンピュータである。電子機器（ユーザ機器）１０Ｆは、第Ｎグループに属するユーザＦによって使用されるタブレットコンピュータである。
【００２８】
これらスーパーバイザ機器１０Ｓとユーザ機器１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅ，１０Ｆの各々は、本実施形態のタブレットコンピュータ１０と同等の機能を有している。
【００２９】
スーパーバイザ機器１０Ｓは、各グループ内のいずれか１台のユーザ機器（ここでは、第１グループのユーザ機器１０Ａと第Ｎグループのユーザ機器１０Ｄ）と有線ネットワーク又は無線ネットワークを介して互いに接続される。第１グループ内のユーザ機器１０Ａ，１０Ｂ，１０Ｃは有線ネットワーク又は無線ネットワークを介して互いに接続され得る。また、第Ｎグループ内のユーザ機器１０Ｄ，１０Ｅ，１０Ｆは有線ネットワーク又は無線ネットワークを介して互いに接続され得る。２台の機器を互いに無線接続するための方法としては、複数の機器を互いに無線接続することが可能な任意の無線接続規格が使用され得る。例えば、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）、又はＢｌｕｅｔｏｏｔｈ（登録商標）、等が使用されてもよい。
【００３０】
図３に示す例では、スーパーバイザ機器１０Ｓと第１グループに属するユーザ機器１０Ａとが無線ネットワークを介して接続され、スーパーバイザ機器１０Ｓと第Ｎグループに属するユーザ機器１０Ｄとが無線ネットワークを介して接続されている。第１グループでは、ユーザ機器１０Ａとユーザ機器１０Ｂとが無線ネットワークを介して接続され、ユーザ機器１０Ａとユーザ機器１０Ｃとが無線ネットワークを介して接続されている。また、第Ｎグループでは、ユーザ機器１０Ｄとユーザ機器１０Ｅとが無線ネットワークを介して接続され、ユーザ機器１０Ｄとユーザ機器１０Ｆとが無線ネットワークを介して接続されている。
【００３１】
スーパーバイザ機器１０Ｓは、各グループのための手書き共有サービスを開始し、グループへの参加を要求したユーザ機器が手書き共有サービスを利用するための処理を実行する。スーパーバイザ機器１０Ｓは、各グループのための手書き共有サービスを実行する暫定的なオーナー（暫定的なサーバ）として機能する。オーナーは、手書き共有サービスの主催者に相当する。
【００３２】
より具体的には、スーパーバイザ機器１０Ｓは、各グループのための手書き共有サービスを開始し、いずれかのユーザ機器からグループへの参加が要求された場合、グループで共有されるデータをそのユーザ機器に送信する。スーパーバイザ機器１０Ｓは、グループへの参加を要求しているユーザ機器がグループに参加すること、すなわち、手書き共有サービスにログインすること、を許可するか否かを決定してもよい。オーナーから参加（ログイン）の許可を受け取った機器だけが、手書き共有サービスにログインすること、つまりこのグループに参加することが許可されてもよい。
【００３３】
次いで、スーパーバイザ機器１０Ｓは、グループのオーナーを、スーパーバイザ機器１０Ｓからそのグループに最初に参加したユーザ機器に変更するための処理を実行する。ここでは、ユーザ機器１０Ａが第１グループに最初に参加し、ユーザ機器１０Ｄが第Ｎグループに最初に参加した場合を例示する。その場合、スーパーバイザ機器１０Ｓは、第１グループのオーナーを、スーパーバイザ機器１０Ｓからユーザ機器１０Ａに変更し、また第Ｎグループのオーナーを、スーパーバイザ機器１０Ｓからユーザ機器１０Ｄに変更する。このオーナーを変更する処理の詳細については図９を参照して後述する。
【００３４】
スーパーバイザ機器１０Ｓは、２番目以降に第１グループへの参加を要求したユーザ機器１０Ｂ，１０Ｃに、第１グループのオーナーがユーザ機器１０Ａであることを通知する。ユーザ機器１０Ｂ，１０Ｃは、この通知に応じて、暫定的なオーナーであったスーパーバイザ機器１０Ｓではなく、ユーザ機器１０Ａに第１グループへの参加を要求する。同様に、スーパーバイザ機器１０Ｓは、２番目以降に第Ｎグループへの参加を要求したユーザ機器１０Ｅ，１０Ｆに、第Ｎグループのオーナーがユーザ機器１０Ｄであることを通知する。ユーザ機器１０Ｅ，１０Ｆは、この通知に応じて、暫定的なオーナーであったスーパーバイザ機器１０Ｓではなく、ユーザ機器１０Ｄに第Ｎグループへの参加を要求する。
【００３５】
第１グループのオーナーとなったユーザ機器１０Ａは、第１グループのための手書き共有サービスを開始し、第１グループへの参加を要求したユーザ機器１０Ｂ，１０Ｃが手書き共有サービスを利用するための処理を実行する。ユーザ機器１０Ａは、ユーザ機器１０Ｂ，１０Ｃが第１グループへの参加を要求した場合、ユーザ機器１０Ａ，１０Ｂ，１０Ｃ間で手書き情報を共有するための処理を実行する。
【００３６】
いま、ユーザ機器１０Ａ，１０Ｂ，１０Ｃが第１グループの手書き共有サービスにログインしている状態である場合、つまり、ユーザ機器１０Ａ，１０Ｂ，１０Ｃが第１グループに参加している場合を想定する。ユーザ機器１０Ａ，１０Ｂ，１０Ｃの各々のディスプレイには、共有される手書き情報を見るための手書き共有画面（共有カンバス）が表示される。手書き共有画面はユーザ機器１０Ａ，１０Ｂ，１０Ｃに共通の表示エリアとして使用される。この手書き共有画面は、ユーザ機器１０Ａ，１０Ｂ，１０Ｃ間のビジュアル通信を可能にする。ビジュアル通信は、手書き情報、及び他の様々な電子文書を機器間で交換することを可能にする。
【００３７】
ユーザＡ，Ｂ，Ｃの各々が自身の電子機器上で手書き入力したストロークは、自身のユーザ機器の手書き共有画面に表示されるだけでなく、他の各ユーザのユーザ機器の手書き共有画面にもリアルタイムで反映される。つまり、ユーザＡ，Ｂ，Ｃの各々が手書き入力したストローク（手書き文字、手書き図形等）に対応するストロークデータをユーザ機器１０Ａ，１０Ｂ，１０Ｃ間で交換・共有することができる。
【００３８】
さらに、ユーザ機器１０Ａ，１０Ｂ，１０Ｃは、教材のような同じコンテンツをカンバス上に表示することもできる。この場合、各ユーザ機器において手書き入力されるストロークデータは、このコンテンツ上に表示される。ユーザＡ，Ｂ，Ｃは、同じコンテンツを見ながら、このコンテンツ上に手書きされる手書き文字、手書き図形等をユーザ機器１０Ａ，１０Ｂ，１０Ｃ間で交換・共有することができる。
【００３９】
同様にして、第Ｎグループのオーナーとなったユーザ機器１０Ｄは、第Ｎグループのための手書き共有サービスを開始し、第Ｎグループへの参加を要求したユーザ機器１０Ｅ，１０Ｆが手書き共有サービスを利用するための処理を実行する。ユーザ機器１０Ｄは、ユーザ機器１０Ｅ，１０Ｆが第Ｎグループへの参加を要求した場合、ユーザ機器１０Ｄ，１０Ｅ，１０Ｆ間で手書き情報を共有するための処理を実行する。
【００４０】
スーパーバイザ機器１０Ｓは、各グループのオーナーのユーザ機器１０Ａ，１０Ｄと通信することにより、各グループを管理する。スーパーバイザ機器１０Ｓは、例えば、ユーザ機器１０Ａ，１０Ｄからグループで共有されているデータを受信することによって、グループのオーナーになることなく、グループを管理することができる。したがって、スーパーバイザ機器１０Ｓによって実行される処理の負荷を低減することができる。
【００４１】
図４は、同一のカンバスがユーザ機器１０Ａ，１０Ｂ，１０Ｃ間で共有される例を示す。
【００４２】
手書き共有サービスでは、ユーザ機器１０Ａとユーザ機器１０Ｂとが互いに無線接続され、またユーザ機器１０Ａとユーザ機器１０Ｃとが互いに無線接続される。そして、手書き共有サービスは、各端末の画面表示及び手書き操作を同期させることによって、複数人のユーザが同じカンバスに同時に手書きすることを実現する。
【００４３】
ユーザ機器１０Ａ，１０Ｂ，１０Ｃそれぞれのカンバス上には、同一のストローク２１，２２，２３が表示される。図５に示されているように、ストローク２１は、ユーザ機器１０ＡにおいてユーザＡによって手書き入力されたストロークである。ストローク２２は、ユーザ機器１０ＢにおいてユーザＢによって手書き入力されたストロークである。ストローク２３は、ユーザ機器１０ＣにおいてユーザＣによって手書き入力されたストロークである。
【００４４】
図６は、手書き共有画面（カンバス）の例を示している。各ユーザ機器のカンバス３０Ａは手書きエリアである。この手書きエリア３０Ａ上に、各ユーザが手書き入力したストロークが表示される。なお、教材のようなコンテンツがカンバス３０Ａ上に表示されてもよい。この場合、各ユーザのストロークはこのコンテンツ上に描画される。
【００４５】
例えば、ユーザ機器１０Ｂのカンバス３０Ａには、カンバス３０Ａ上でペン１００Ｂを使用してユーザＢによって手書き入力されるストローク４０がそれぞれ表示される。さらに、カンバス３０Ａには、他の各ユーザ機器１０Ａ，１０Ｃで手書き入力されたストロークがそれぞれ表示される。他の各ユーザ機器１０Ａ，１０Ｃで手書き入力されたストロークには、ユーザＣがユーザ機器１０Ｃ上で手書き入力したストローク４２と、ユーザＡがユーザ機器１０Ａ上で手書き入力したストローク４４とが含まれる。
【００４６】
次いで、図７を参照して、ストロークデータについて説明する。図７においては、「ＡＢＣ」の手書き文字列が「Ａ」、「Ｂ」、「Ｃ」の順番で手書きされた場合が想定されている。
【００４７】
手書き文字「Ａ」は、ペン１００などを使用して手書き入力される２つのストローク（「∧」形状の軌跡、「−」形状の軌跡）によって表現される。
【００４８】
ペン１００が画面に接触している間に、「∧」形状のペン１００の軌跡がリアルタイムでサンプリングされる。これによって、「∧」形状のペン１００の軌跡上の複数の点それぞれに対応する複数の点データ（複数の座標データ）ＰＤ１１、ＰＤ１２、…ＰＤ１ｍが次々と得られる。点データは、ペン１００が画面に接触している間に、例えば、所定時間毎に得られる。点データは、ペン１００が画面に接触した状態で移動しない場合にも、所定時間毎に得られる。そのような場合には、同一又はほぼ同一の座標を示す点データが生成されることになる。
【００４９】
図７においては、図示の簡単化のために点データの密度が粗く描かれているが、実際には、より高い密度で複数の点データが得られる。これら点データＰＤ１１、ＰＤ１２、…ＰＤ１ｍは、「∧」形状のペン１００の軌跡を画面上に描画するために使用される。ペン１００の動きに追従するように、「∧」形状のペン１００の軌跡がリアルタイムで画面上に描画される。
【００５０】
同様に、「−」形状のペン１００の軌跡も、ペン１００が画面に接触している間に、リアルタイムでサンプリングされる。これによって「−」形状のペン１００の軌跡上の複数の点それぞれに対応する複数の点データ（複数の座標データ）ＰＤ２１、ＰＤ２２、…ＰＤ２ｎが次々と得られる。
【００５１】
手書き文字「Ｂ」は、ペン１００などを使用して手書きされた２つのストロークによって表現される。手書き文字「Ｃ」は、ペン１００などを使用して手書きされた１つのストロークによって表現される。
【００５２】
図８は、図７の手書き文字列に対応する時系列情報２００を示している。時系列情報２００は、複数のストロークデータＳＤ１、ＳＤ２、…、ＳＤ５を含む。時系列情報２００内においては、これらストロークデータＳＤ１、ＳＤ２、…、ＳＤ５は、筆跡順に、つまり複数のストロークが手書きされた順に時系列に並べられている。
【００５３】
時系列情報２００において、１番目と２番目のストロークデータＳＤ１、ＳＤ２は、手書き文字「Ａ」の２つのストロークをそれぞれ示している。３番目と４番目のストロークデータＳＤ３、ＳＤ４は、手書き文字「Ｂ」を構成する２つのストロークをそれぞれ示している。５番目のストロークデータＳＤ５は、手書き文字「Ｃ」を構成する１つのストロークを示している。
【００５４】
各ストロークデータは、１つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいて、複数の座標はストロークが書かれた順に時系列に並べられている。例えば、手書き文字「Ａ」に関しては、ストロークデータＳＤ１は、手書き文字「Ａ」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）、つまりｎ個の座標データＳＤ１１、ＳＤ１２、…ＳＤ１ｎを含む。ストロークデータＳＤ２は、手書き文字「Ａ」の「−」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりｎ個の座標データＳＤ２１、ＳＤ２２、…ＳＤ２ｎを含む。なお、座標データの数ｎは、ストロークデータ毎に異なる。
【００５５】
各座標データは、対応する軌跡内のある１点に対応するＸ座標及びＹ座標を示す。例えば、座標データＳＤ１１は、「∧」形状のストロークの始点のＸ座標（Ｘ１１）及びＹ座標（Ｙ１１）を示す。ＳＤ１ｎは、「∧」形状のストロークの終点のＸ座標（Ｘ１ｎ）及びＹ座標（Ｙ１ｎ）を示す。
【００５６】
さらに、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Ｔを含んでいてもよい。手書きされた時点は、絶対時間（例えば、年月日時分秒）又はある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間（例えば、年月日時分秒）をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Ｔとして付加してもよい。
【００５７】
さらに、各座標データには、筆圧を示す情報（Ｚ）が追加されてもよい。
【００５８】
次いで、図９を参照して、第１グループのための手書き共有サービスが開始される場合の、スーパーバイザ機器１０Ｓ及びユーザ機器１０Ａ，１０Ｂ，１０Ｃの間のデータの流れを説明する。図９に示す例では、スーパーバイザ機器１０Ｓが、第１グループのための手書き共有サービスの暫定的なオーナー（サーバ）として動作した後に、この第１グループに最初に参加したユーザ機器１０Ａが、当該手書き共有サービスのオーナー（サーバ）として動作する場合が想定されている。ユーザ機器１０Ｂとユーザ機器１０Ｃとは、ユーザ機器１０Ａがオーナーである第１グループに参加する。つまり、ユーザ機器１０Ｂ，１０Ｃの各々はクライアントとして動作する。
【００５９】
まず、スーパーバイザ機器１０Ｓは第１グループを作成する。スーパーバイザ機器１０Ｓは、第１グループのための手書き共有サービスで共有される画面（カンバス）のフォーマットデータ（共有データ）を生成し、ローカルなデータベース１２Ｓに格納する。このフォーマットデータは、例えば、初期状態の空白のカンバスを表示するためのデータや、第１グループに与えられる課題（コンテンツ）を含むカンバスを表示するためのデータである。
【００６０】
スーパーバイザ機器１０Ｓは、生成されたフォーマットデータを用いて、暫定的なオーナーとして第１グループのための手書き共有サービスを開始する。そして、スーパーバイザ機器１０Ｓは、最初の参加者であるユーザ機器１０Ａから第１グループへの参加要求を受信する。スーパーバイザ機器１０Ｓは、この要求を受信したことに応じて、第１グループで共有されるフォーマットデータをユーザ機器１０Ａに送信する。ユーザ機器１０Ａは、このフォーマットデータを受信し、ローカルなデータベース１２Ａに格納する。これにより、スーパーバイザ機器１０Ｓとユーザ機器１０Ａとは、このフォーマットデータに基づく画面をディスプレイに表示することができるので、これら２つの機器１０Ｓ，１０Ａ間で画面を共有することができる。なお、暫定的なオーナーとして動作するスーパーバイザ機器１０Ｓは、フォーマットデータをユーザ機器１０Ａに送信するための処理を行えばよく、フォーマットデータに基づく画面をディスプレイに表示するための処理は行ってもよいし、行わなくてもよい。
【００６１】
次いで、暫定的なオーナーであるスーパーバイザ機器１０Ｓは、第１グループのための手書き共有サービスを終了すると共に、ユーザ機器１０Ａに第１グループのための手書き共有サービスを開始させる。ユーザ機器１０Ａは、スーパーバイザ機器１０Ｓから受信したフォーマットデータを用いて、オーナーとして、第１グループのための手書き共有サービスを開始する。これにより、グループの作成や管理が難しいユーザ（例えば、子供）が使用するユーザ機器で、ユーザにオーナーであることを意識させることなく、グループを開催させることができる。
【００６２】
スーパーバイザ機器１０Ｓは、当該スーパーバイザ機器１０Ｓに対して、２番目以降に第１グループへの参加を要求したユーザ機器１０Ｂ，１０Ｃに、第１グループのオーナーがユーザ機器１０Ａであること（すなわち、第１グループのオーナーがスーパーバイザ機器１０Ｓからユーザ機器１０Ａに移ったこと）を通知する。ユーザ機器１０Ｂ，１０Ｃは、この通知に応じて、ユーザ機器１０Ａに第１グループへの参加を要求し直す。
【００６３】
ユーザ機器１０Ａは、ユーザ機器１０Ｂから、当該ユーザ機器１０Ｂが第１グループに参加することを要求する参加要求を受け取ったことに応じて、第１グループのフォーマットデータをユーザ機器１０Ｂに送信する。同様に、ユーザ機器１０Ａは、ユーザ機器１０Ｃから、当該ユーザ機器１０Ｃが第１グループに参加することを要求する参加要求を受け取ったことに応じて、第１グループのフォーマットデータをユーザ機器１０Ｃに送信する。ユーザ機器１０Ｂ，１０Ｃは、このフォーマットデータを受信し、ローカルなデータベース１２Ｂ，１２Ｃに格納する。これにより、ユーザ機器１０Ａ，１０Ｂ，１０Ｃは、このフォーマットデータに基づく画面をディスプレイに表示することができるので、これら３つの機器１０Ａ，１０Ｂ，１０Ｃ間で画面を共有することができる。
【００６４】
次いで、図１０は、第１グループのための手書き共有サービスが実行されている間の、スーパーバイザ機器１０Ｓ及びユーザ機器１０Ａ，１０Ｂ，１０Ｃの間のデータの流れを示す。ここでは、ユーザ機器１０Ａがオーナーである第１グループにユーザ機器１０Ｂ，１０Ｃが参加し、スーパーバイザ機器１０Ｓがこの第１グループを管理する場合を例示する。
【００６５】
ユーザ機器１０Ａは、ユーザ機器１０Ｂにおいて手書き入力されるストロークに対応するストロークデータ（ユーザＢのストロークデータ）をユーザ機器１０Ｂから受信する。また、ユーザ機器１０Ａは、ユーザ機器１０Ｃにおいて手書き入力されるストロークに対応するストロークデータ（ユーザＣのストロークデータ）をユーザ機器１０Ｃから受信する。
【００６６】
さらに、ユーザ機器１０Ａは、ユーザ機器１０Ａにおいて手書き入力されるストロークに対応するストロークデータ（オーナーであるユーザＡのストロークデータ）と、ユーザ機器１０Ｃから受信されたストロークデータ（ユーザＣのストロークデータ）とをユーザ機器１０Ｂに送信する。またさらに、ユーザ機器１０Ａは、ユーザ機器１０Ａにおいて手書き入力されるストロークに対応するストロークデータ（オーナーであるユーザＡのストロークデータ）と、ユーザ機器１０Ｂから受信されたストロークデータ（ユーザＢのストロークデータ）とをユーザ機器１０Ｃに送信する。
【００６７】
したがって、ユーザ機器１０Ａのディスプレイには、ユーザＡ（オーナー）のストロークが表示されるだけでなく、ユーザＢのストローク、さらにはユーザＣのストロークも表示される。
【００６８】
同様にして、ユーザ機器１０Ｂのディスプレイにも、ユーザＢのストロークが表示されるだけでなく、ユーザＡ（オーナー）のストローク、さらにはユーザＣのストロークも表示される。
【００６９】
また同様に、ユーザ機器１０Ｃのディスプレイにも、ユーザＣのストロークが表示されるだけでなく、ユーザＡ（オーナー）のストローク、さらにはユーザＢのストロークも表示される。
【００７０】
このように、ユーザ機器１０Ａ，１０Ｂ，１０Ｃのいずれのディスプレイにも同様のストロークが描画された画面が表示され、したがって、第１グループに参加しているユーザ機器１０Ａ，１０Ｂ，１０Ｃ間で画面が共有されている。
【００７１】
ユーザ機器１０Ａ，１０Ｂ，１０Ｃの各々は、自身の電子機器で手書き入力されたストロークに対応するストロークデータをローカルなデータベース１２Ａ，１２Ｂ，１２Ｃに格納する。さらに、ユーザ機器１０Ａ，１０Ｂ，１０Ｃの各々は、他のユーザ機器から受信されたストロークデータもローカルなデータベース１２Ａ，１２Ｂ，１２Ｃに格納する。
【００７２】
スーパーバイザ機器１０Ｓは、上述のような手書きストロークの共有を行う第１グループを管理する。スーパーバイザ機器１０Ｓは、第１グループのオーナーであるユーザ機器１０Ａに、スーパーバイザ機器１０Ｓが第１グループに参加することを要求する。ユーザ機器１０Ａは、スーパーバイザ機器１０Ｓの第１グループへの参加を許可し、第１グループの共有データをスーパーバイザ機器１０Ｓに送信する。この第１グループの共有データには、例えば、ローカルなデータベース１２Ａに格納されているストロークデータ（すなわち、ユーザ機器１０Ａで手書き入力されたストロークに対応するストロークデータ、及び他のユーザ機器１０Ｂ，１０Ｃから受信されたストロークデータ）が含まれている。
【００７３】
スーパーバイザ機器１０Ｓは、受信された第１グループの共有データをローカルなデータベース１２Ｓに格納する。これにより、スーパーバイザ機器１０Ｓは、第１グループの共有データを回収することができる。
【００７４】
スーパーバイザ機器１０Ｓは、共有データを回収した後、第１グループを退出してもよいし、第１グループへの参加を続行してもよい。第１グループへの参加を続行する場合、スーパーバイザ機器１０Ｓは、この共有データを用いてディスプレイに第１グループの共有画面を表示する。スーパーバイザ機器１０Ｓは、スーパーバイザ機器１０Ｓで手書き入力されたストロークに対応するストロークデータをユーザ機器１０Ａ（オーナー）に送信する。ユーザ機器１０Ａは、スーパーバイザ機器１０Ｓから受信したストロークデータを、ユーザ機器１０Ｂ，１０Ｃに送信する。また、スーパーバイザ機器１０Ｓは、ユーザ機器１０Ａ，１０Ｂ，１０Ｃで手書き入力されたストロークに対応するストロークデータをユーザ機器１０Ａから受信する。
【００７５】
したがって、スーパーバイザ機器１０Ｓのディスプレイには、スーパーバイザのストロークが表示されるだけでなく、ユーザＡ，Ｂ，Ｃのストロークも表示される。同様に、ユーザ機器１０Ａ，１０Ｂ，１０Ｃのディスプレイには、ユーザＡ，Ｂ，Ｃのストロークが表示されるだけでなく、スーパーバイザのストロークも表示される。
【００７６】
図１１は、タブレットコンピュータ１０のシステム構成を示す。上述したように、このタブレットコンピュータ１０は、スーパーバイザ機器１０Ｓとユーザ機器１０Ａ，１０Ｂ，１０Ｃのいずれとしても動作し得る。
【００７７】
タブレットコンピュータ１０は、ＣＰＵ１０１、システムコントローラ１０２、主メモリ１０３、グラフィクスプロセッシングユニット（ＧＰＵ）１０４、ＢＩＯＳ−ＲＯＭ１０５、不揮発性メモリ１０６、無線通信デバイス１０７、エンベデッドコントローラ（ＥＣ）１０８等を備える。
【００７８】
ＣＰＵ１０１は、タブレットコンピュータ１０内の様々なコンポーネントの動作を制御するプロセッサである。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０６から主メモリ１０３にロードされる様々なプログラムを実行する。これらプログラムには、オペレーティングシステム（ＯＳ）２０１、及び様々なアプリケーションプログラムが含まれている。アプリケーションプログラムには、手書き共有アプリケーションプログラム２０２が含まれている。この手書き共有アプリケーションプログラム２０２は、手書き情報を共有するグループを管理する機能、グループに属する電子機器間で手書き情報を共有するための機能、グループ内での手書き情報の共有によるドキュメントの制作を評価するための機能、等を実行することができる。
【００７９】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００８０】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ１０２は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してグラフィクスプロセッシングユニット（ＧＰＵ）１０４との通信を実行する機能も有している。
【００８１】
ＧＰＵ１０４は、本タブレットコンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示プロセッサである。このＧＰＵ１０４によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて画面イメージを表示する。このＬＣＤ１７Ａの上面側にはタッチパネル１７Ｂが配置されている。ＬＣＤ１７Ａの下面側にはデジタイザ１７Ｃが配置されている。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置及び接触位置の動き等はタッチパネル１７Ｂによって検出される。デジタイザ１７ＣはＬＣＤ１７Ａの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン（スタイラス）１００が接触される画面上の接触位置及び接触位置の動き等はデジタイザ１７Ｃによって検出される。
【００８２】
無線通信デバイス１０７は、無線通信を実行するように構成されたデバイスである。無線通信デバイス１０７は、信号を無線送信する送信部１０７Ｔと、信号を無線受信する受信部１０７Ｒとを含む。ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１０８は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ１０を電源オン又は電源オフする機能を有している。
【００８３】
次いで、図１２を参照して、手書き共有アプリケーションプログラム２０２の構成について説明する。手書き共有アプリケーションプログラム２０２は、グループを管理するためのスーパーバイザモードと、グループ内で手書き情報を共有するためのユーザモードのいずれかのモードで動作する。つまり、スーパーバイザモードで動作する手書き共有アプリケーションプログラム２０２が実行されている電子機器１０がスーパーバイザ機器に相当し、ユーザモードで動作する手書き共有アプリケーションプログラム２０２が実行されている電子機器１０がユーザ機器に相当する。
【００８４】
手書き共有アプリケーションプログラム２０２は、グループを管理し、グループ内で手書き情報を共有し、グループ内での手書き情報の共有によるドキュメントの制作を評価するための機能実行モジュールとして、グループ処理部３０１、表示処理部３０２、ストロークデータ処理部３０３、送信制御部３０４、受信制御部３０５、貢献度算出部３０６、等を備える。
【００８５】
まず、手書き共有アプリケーションプログラム２０２がスーパーバイザモードで動作する場合について説明する。  
グループ処理部３０１は、手書き共有サービスが実行されるグループを管理する。
【００８６】
グループ処理部３０１は、グループを作成するための処理を実行する。グループ処理部３０１は、スーパーバイザ機器１０Ｓがオーナーであるグループを作成する。グループ処理部３０１は、作成されたグループに対応するグループデータ４１１のレコードを生成し、記憶媒体４０２（スーパーバイザ機器１０Ｓのローカルなデータベース１２Ｓ）に格納されているグループデータ４１１に追加する。このグループデータ４１１は、スーパーバイザ機器１０Ｓによって管理されるグループに関するデータを含む。
【００８７】
図１３は、グループデータ４１１の一構成例を示す。グループデータ４１１は、スーパーバイザ機器１０Ｓによって管理される複数のグループに対応する複数のレコードを含む。各レコードは、例えば、「グループＩＤ」フィールド、「グループ名」フィールド、「オーナーＩＤ」フィールド、「参加者ＩＤ」フィールド、「状態」フィールド、等を含む。
【００８８】
あるグループに対応するレコードにおいて、「グループＩＤ」フィールドは、そのグループに付与された識別情報を示す。「グループ名」フィールドは、そのグループに付けられた名称を示す。「グループ名」フィールドには、“１班”、“２班”のようなグループの名称だけでなく、そのグループで扱うコンテンツを示す情報（例えば、グループによる協働作業が行われる教科、課題、教材等を示す情報）であってもよい。
【００８９】
「オーナーＩＤ」フィールドは、そのグループを主催するユーザに付与された識別情報を示す。なお、「オーナーＩＤ」フィールドには、そのグループを主催するユーザが使用する電子機器に付与された識別情報（デバイスＩＤ）が設定されてもよい。「参加者ＩＤ」フィールドは、そのグループに参加しているユーザに付与された識別情報（又は、そのユーザが使用する電子機器に付与された識別情報）を示す。「状態」フィールドは、そのグループの状態を示し、例えば、ユーザがグループに参加できる状態であることを示す「開催」、又はユーザがグループに参加できない状態であることを示す「終了」が設定される。
【００９０】
なお、グループデータ４１１のレコードには、グループが作成された作成日時、グループの内容が更新された更新日時、等の情報が含まれていてもよい。
【００９１】
グループ処理部３０１は、作成されたグループ内で共有されるカンバス（共有画面）を生成する。表示処理部３０２は、初期状態のカンバス（例えば、空白のカンバス）を画面に表示する。スーパーバイザは、このカンバス上に、グループ内のユーザに配布したいコンテンツ（教材等）を配置するための操作を行うことができる。グループ処理部３０１は、スーパーバイザがカンバスに配置するコンテンツを選択した場合、カンバス上に、選択されたコンテンツを配置する。このコンテンツは、文書や画像等である。
【００９２】
なお、このカンバス上には、スーパーバイザによる手書き入力操作に応じてストロークを描画することもできる。タッチスクリーンディスプレイ１７（デジタイザ１７Ｃ、又はタッチパネル１７Ｂ）は、「タッチ」、「移動（スライド）」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上に外部オブジェクトが接触したことを示すイベントである。「移動（スライド）」は、画面上に外部オブジェクトが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面から外部オブジェクトが離されたことを示すイベントである。
【００９３】
表示処理部３０２及びストロークデータ処理部３０３は、タッチスクリーンディスプレイ１７によって発生される「タッチ」、「移動（スライド）」又は「リリース」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動（スライド）」イベントには、移動先の接触位置の座標が含まれている。「リリース」イベントには、接触位置が画面から離された位置の座標が含まれている。したがって、表示処理部３０２及びストロークデータ処理部３０３は、タッチスクリーンディスプレイ１７から、接触位置の動きの軌跡に対応する座標列を受信することができる。
【００９４】
表示処理部３０２は、タッチスクリーンディスプレイ１７の画面上で手書き入力されるストロークをカンバスに表示する。表示処理部３０２は、タッチスクリーンディスプレイ１７から座標列を受信し、この座標列に基づいて、ペン１００等を使用した手書き入力操作によって手書きされる各ストロークの軌跡をカンバスに表示する。
【００９５】
ストロークデータ処理部３０３は、タッチスクリーンディスプレイ１７から出力される上述の座標列を受信し、この座標列に基づくストロークデータ４１２Ａを生成する。そして、ストロークデータ処理部３０３は、描画されるストロークに用いられるペンのタイプ、色、太さ、透過度、等のペンの属性を示すストローク属性データ４１２Ｂを生成する。この場合、生成されたストロークデータ４１２Ａ及びストローク属性データ４１２Ｂは作業メモリ４０１に一時保存されてもよい。
【００９６】
さらに、スーパーバイザによる編集操作に応じて、カンバス上に描画されているストロークを編集することもできる。この編集操作は、例えば、描画されているストロークの内の１つ以上のストロークに対して、移動、削除、サイズの変更、ペンタイプの変更、色の変更、太さの変更、透過度の変更等を施すための操作である。ストロークデータ処理部３０３は、このような編集操作によりストロークが編集された内容を示すストローク編集データ４１２Ｃを生成する。
【００９７】
グループ処理部３０１は、上述のようにして生成されたストロークデータ４１２Ａ、ストローク属性データ４１２Ｂ及びストローク編集データ４１２Ｃを、グループ共有データ４１２として記憶媒体４０２等に格納する。このグループ共有データ４１２を利用して、グループに参加する他の電子機器でも同一のカンバスを表示することができるので、グループ内でカンバス（画面）を共有することができる。
【００９８】
次いで、グループ処理部３０１は、作成されたグループを開催するための処理、すなわち、作成されたグループのための手書き共有サービスを開始するための処理を行う。グループ処理部３０１は、例えば、作成されたグループの開催が指示された場合、そのグループのグループ共有データ４１２を用いて、暫定的なオーナー（サーバ）としてグループを開催する。以下では、説明を分かりやすくするために、第１グループが開催される場合を例示するが、グループ処理部３０１は複数のグループを開催するための処理を並行して行うこともできる。
【００９９】
グループ処理部３０１は、開催中のグループを広告する。より具体的には、グループ処理部３０１は、受信制御部３０５を介して、ユーザ機器から開催中のグループの問い合わせを受信したことに応じて、送信制御部３０４を介して、そのユーザ機器に開催中のグループを通知する。
【０１００】
そして、グループ処理部３０１は、受信制御部３０５を介して、ユーザ機器（クライアント）からの第１グループへの参加要求を待ち受ける。グループ処理部３０１は、その第１グループに最初に参加を要求したユーザ機器１０Ａに、送信制御部３０４を介して、第１グループのグループ共有データ４１２を送信する。なお、グループ処理部３０１は、ユーザ機器１０Ａに、送信制御部３０４を介して、グループデータ４１１内の第１グループに対応するレコードを送信してもよい。グループ処理部３０１は、ユーザ機器１０Ａからのグループ参加要求を受け取ったときに、このユーザ機器１０ＡのＩＰアドレスを保存する。送信制御部３０４は、このＩＰアドレスに基づいて、ユーザ機器１０Ａにデータを送信する。ユーザ機器１０Ａは、この第１グループのグループ共有データ４１２を受信し、ローカルなデータベース１２Ａに保存する。
【０１０１】
次いで、このユーザ機器１０Ａが第１グループに参加した場合（例えば、受信制御部３０５を介して、ユーザ機器１０Ａからグループ共有データ４１２の受信確認が受信された場合）、グループ処理部３０１は第１グループを終了する。グループ処理部３０１は、例えば、送信制御部３０４を介して、グループに参加しているユーザ機器１０Ａにグループの終了を通知し、ユーザ機器１０Ａがグループから退出した後に、グループを終了する。そして、グループ処理部３０１は、送信制御部３０４を介して、保存していたユーザ機器１０ＡのＩＰアドレスに基づいて、ユーザ機器１０Ａに、開催していた第１グループの開催を要求する。
【０１０２】
クライアントであったユーザ機器１０Ａは、この要求に応じて、オーナーとして第１グループを開催する。ユーザ機器１０Ａは、スーパーバイザ機器１０Ｓから受信していた第１グループのグループ共有データ４１２を用いて、第１グループのための手書き共有サービスを実行する。これにより、スーパーバイザ機器１０Ｓが暫定的なオーナーとして開催していたグループを、このグループに最初に参加したユーザ機器１０Ａに、オーナーとして開催させることができる。
【０１０３】
グループ処理部３０１は、さらに、開催中のグループを管理するための処理を実行する。グループ処理部３０１は、開催中のグループで共有されているグループ共有データ４１２を回収するための処理を実行する。グループ処理部３０１は、共有データ４１２を回収しようとするグループに一時的に参加することによって、グループの共有データ４１２を受信する。グループ処理部３０１は、送信制御部３０４を介して、オーナーであるユーザ機器１０Ａに、スーパーバイザ機器１０Ｓがグループに参加することを要求し、受信制御部３０５を介して、そのグループの共有データ４１２を受信する。グループ処理部３０１は、受信されたグループ共有データ４１２を記憶媒体４０２（ローカルなデータベース１２Ｓ）に格納する。グループ共有データ４１２を回収した後、グループ処理部３０１は、スーパーバイザ機器１０Ｓがグループから退出することをオーナーであるユーザ機器１０Ａに通知する。
【０１０４】
グループ処理部３０１は、スーパーバイザによる操作等に応じて、例えば、グループ学習（授業）の終了時に、各グループのグループ共有データ４１２を回収するための処理を行う。これにより、スーパーバイザ機器１０Ｓは、各グループのオーナー機器から、グループで制作された共有カンバス上のドキュメント（成果物）に関するグループ共有データ４１２を受信（回収）することができる。
【０１０５】
開催中のグループで共有されるグループ共有データ４１２を回収することによって、スーパーバイザは、グループの状況を把握することができる。また、スーパーバイザ機器１０Ｓが、グループのオーナー（サーバ）として動作することなく、オーナーとなったユーザ機器との通信だけでグループを管理できるので、スーパーバイザ機器１０Ｓによって実行される処理の負荷を低減することができる。
【０１０６】
次いで、手書き共有アプリケーションプログラム２０２がユーザモードで動作する場合について説明する。  
まず、グループ処理部３０１は、送信制御部３０４を介して、開催中のグループの探索要求をマルチキャストする。グループ処理部３０１は、受信制御部３０５を介して、開催中のグループの探索結果を受信し、表示処理部３０２は、その探索結果を用いて、開催中のグループのリストを画面に表示する。グループ処理部３０１は、送信制御部３０４を介して、表示されているリストから選択されたグループへの参加を、そのグループのオーナー機器に要求する。
【０１０７】
グループ処理部３０１は、受信制御部３０５を介して、グループのオーナー機器から、そのグループの共有データ４１２を受信する。表示処理部３０２は、受信されたグループ共有データ４１２を用いて、グループの共有カンバス（共有画面）を表示する。
【０１０８】
オーナー機器がスーパーバイザ機器１０Ｓである場合、グループ処理部３０１は、受信制御部３０５を介して、スーパーバイザ機器１０Ｓからグループの終了の通知を受信したことに応じて、グループを退出する。そして、グループ処理部３０１は、受信制御部３０５を介して、スーパーバイザ機器１０Ｓ（オーナー機器）から、退出したグループの開催が要求されたことに応じて、スーパーバイザ機器１０Ｓから受信していたグループ共有データ４１２を用いて、自身をオーナーとしてグループを開催する（すなわち、グループの手書き共有サービスを開始する）。そして、表示処理部３０２は、このグループ共有データ４１２に基づく共有カンバス（共有画面）を表示する。
【０１０９】
そして、グループ処理部３０１は、受信制御部３０５を介して、クライアント機器からのグループへの参加要求を待ち受ける。グループ処理部３０１は、グループへの参加を要求したクライアント機器に、送信制御部３０４を介して、グループ共有データ４１２を送信する。クライアント機器でも同様に、表示処理部３０２によって、このグループ共有データ４１２に基づく共有カンバス（共有画面）が表示される。
【０１１０】
表示処理部３０２及びストロークデータ処理部３０３は、タッチスクリーンディスプレイ１７によって発生される「タッチ」、「移動（スライド）」又は「リリース」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動（スライド）」イベントには、移動先の接触位置の座標が含まれている。「リリース」イベントには、接触位置が画面から離された位置の座標が含まれている。したがって、表示処理部３０２及びストロークデータ処理部３０３は、タッチスクリーンディスプレイ１７から、接触位置の動きの軌跡に対応する座標列を受信することができる。
【０１１１】
表示処理部３０２は、タッチスクリーンディスプレイ１７の画面上で手書きにより入力されるストロークをカンバスに表示する。表示処理部３０２は、タッチスクリーンディスプレイ１７から座標列を受信し、この座標列に基づいて、ペン１００等を使用した手書き入力操作によって手書きされる各ストロークの軌跡をカンバスに表示する。
【０１１２】
ストロークデータ処理部３０３は、タッチスクリーンディスプレイ１７から出力される上述の座標列を受信し、この座標列に基づくストロークデータ４１２Ａを生成する。そして、ストロークデータ処理部３０３は、描画されるストロークに用いられるペンのタイプ、色、太さ、透過度、等のペンの属性を示すストローク属性データ４１２Ｂを生成する。この場合、生成されたストロークデータ４１２Ａ及びストローク属性データ４１２Ｂは作業メモリ４０１に一時保存されてもよい。
【０１１３】
さらに、ユーザによる編集操作に応じて、カンバス上に描画されているストロークを編集することもできる。この編集操作は、例えば、描画されているストロークの内の１つ以上のストロークに対して、移動、削除、サイズの変更、ペンタイプの変更、色の変更、太さの変更、透過度の変更等を施すための操作である。ストロークデータ処理部３０３は、このような編集操作によりストロークが編集された内容を示すストローク編集データ４１２Ｃを生成する。
【０１１４】
グループ処理部３０１は、上述のようにして生成されたストロークデータ４１２Ａ、ストローク属性データ４１２Ｂ及びストローク編集データ４１２Ｃを、グループ共有データ４１２として記憶媒体４０２等に格納する。
【０１１５】
また、送信制御部３０４は、自身がクライアント機器である場合、オーナー機器に、生成されたストロークデータ４１２Ａ、ストローク属性データ４１２Ｂ及びストローク編集データ４１２Ｃを送信する。送信制御部３０４は、自身がオーナー機器である場合、クライアント機器に、生成されたストロークデータ４１２Ａ、ストローク属性データ４１２Ｂ及びストローク編集データ４１２Ｃを送信する。
【０１１６】
さらに、受信制御部３０５は、自身がクライアント機器である場合、オーナー機器からストロークデータ４１２Ａ、ストローク属性データ４１２Ｂ及びストローク編集データ４１２Ｃを受信する。表示処理部３０２は、受信したストロークデータ４１２Ａ及びストローク属性データ４１２Ｂに基づくストロークを共有カンバスに表示し、また受信したストローク編集データ４１２Ｃに基づいて、共有カンバス上に描画されているストロークを編集（変更）する。
【０１１７】
受信制御部３０５は、自身がオーナー機器である場合、クライアント機器からストロークデータ４１２Ａ、ストローク属性データ４１２Ｂ及びストローク編集データ４１２Ｃを受信する。表示処理部３０２は、受信したストロークデータ４１２Ａ及びストローク属性データ４１２Ｂに基づくストロークを共有カンバスに表示し、また受信したストローク編集データ４１２Ｃに基づいて、共有カンバス上に描画されているストロークを編集（変更）する。さらに、送信制御部３０４は、このストロークデータ４１２Ａ、ストローク属性データ４１２Ｂ及びストローク編集データ４１２Ｃをクライアント機器に送信する。
【０１１８】
このように送受信されるストロークデータ４１２Ａ、ストローク属性データ４１２Ｂ及びストローク編集データ４１２Ｃを利用して、グループに参加する他の電子機器でも同一のカンバスを表示することができるので、グループ内でカンバス（画面）を共有することができる。
【０１１９】
なお、タブレットコンピュータ１０は、例えば、手書き共有アプリケーションプログラム２０２と同様にして手書き文書を作成することができるノートブックアプリケーションプログラムも実行することができる。ユーザは、このノートブックアプリケーションプログラムを用いて、自身の記録のための手書きのノートを作成することができる。そして、ユーザは、この手書きのノート上のストロークをコピーし、手書き共有アプリケーションプログラム２０２で共有されるカンバス上に貼り付けるための操作を行うことができる。
【０１２０】
この操作に応じて、表示処理部３０２は貼り付けが指示されたストロークをカンバス上に描画し、ストロークデータ処理部３０３は、そのストロークに対応するストロークデータ４１２Ａ及びストローク属性データ４１２Ｂを生成する。生成されるストローク属性データ４１２Ｂでは、そのストロークがカンバス上に貼り付けられたものであることが示される。
【０１２１】
貼り付けられたストロークに対応するストロークデータ４１２Ａ及びストローク属性データ４１２Ｂも同様にして、送信制御部３０４及び受信制御部３０５を介して、グループ内の電子機器で共有され、グループに参加する他の電子機器でも同一のカンバスを表示することができるので、グループ内でカンバス（画面）を共有することができる。
【０１２２】
図１４から図１６を参照して、グループ共有データ４１２の一構成例について説明する。グループ共有データ４１２は、グループ毎に生成され、例えば、各グループの識別情報（グループＩＤ）に関連付けられることによって、いずれのグループのグループ共有データ４１２であるかを特定することができる。グループ共有データ４１２は、上述したように、ストロークの軌跡を示すストロークデータ（ストロークの時系列情報）４１２Ａと、ストロークに関する各種の属性を示すストローク属性データ４１２Ｂと、カンバス（画面）上のストロークの編集に関するストローク編集データ４１２Ｃとを含む。
【０１２３】
図１４は、ストロークデータ４１２Ａの一構成例を示す。このストロークデータ４１２Ａは、ストローク（軌跡）が手書き入力される間にサンプリングされた、ストローク上の複数の点に対応する複数のレコードを含む。各レコードは、例えば、「ストロークＩＤ」フィールド、「Ｘ座標」フィールド、「Ｙ座標」フィールド、「時間」フィールドを含む。
【０１２４】
ある点に対応するレコードにおいて、「ストロークＩＤ」フィールドは、その点がサンプリングされたストロークに付与された識別情報を示す。「Ｘ座標」フィールドは、その点のＸ座標を示す。「Ｙ座標」フィールドは、その点のＹ座標を示す。「時間」フィールドは、その点が手書き入力（すなわち、サンプリング）された時間を示す。「時間」フィールドには、例えば、カンバス上の最初のストロークの手書き入力が開始された時間を基準（例えば、００：００）として、その基準時間からの経過時間（相対時間）が設定される。
【０１２５】
図１５は、ストローク属性データ４１２Ｂの一構成例を示す。このストローク属性データ４１２Ｂは、複数のストロークに対応する複数のレコードを含む。各レコードは、「ストロークＩＤ」フィールド、「ユーザＩＤ」フィールド、「ペンタイプ」フィールド、「色」フィールド、「太さ」フィールド、「透過度」フィールド、「貼り付け」フィールド、等を含む。
【０１２６】
あるストロークに対応するレコードにおいて、「ストロークＩＤ」は、そのストロークに付与された識別情報を示す。「ユーザＩＤ」は、そのストロークを手書き入力したユーザに付与された識別情報を示す。なお、この「ユーザＩＤ」の代わりに、そのストロークが手書き入力された電子機器に付与された識別情報（デバイスＩＤ）が用いられてもよい。
【０１２７】
「ペンタイプ」フィールドは、そのストロークを描画するために用いられるペンのタイプ（例えば、ボールペン、鉛筆、毛筆、万年筆、マーカ、等）を示す。「色」フィールドは、そのストロークが描画される色を示す。「太さ」フィールドは、そのストロークが描画される太さ（幅）を示す。「透過度」フィールドは、そのストロークが描画される透過度を示す。このようなストロークの描画に関する属性は、ユーザが、例えば、そのストロークを手書き入力する前に、ペンタイプ、色、幅、透過度、等の各種の属性を選択することによって決定される。
【０１２８】
「貼り付け」フィールドは、そのストロークが、別の手書き文書上のストロークをコピーして、カンバス上に貼り付けられたものであるか否かを示す。上述したように、ユーザは、ノートブックアプリケーションプログラムを用いて、自身の記録のための手書きのノートを作成することができる。ユーザは、この手書きのノート上のストロークをコピーし、手書き共有アプリケーションプログラム２０２で共有されるカンバス上に貼り付ける操作を行うことができる。この操作により、例えば、ユーザが予習により手書き入力したノート上のストローク（ストローク群）が、カンバス上に貼り付けられる。このような貼り付けられたストロークに対応するレコードの「貼り付け」フィールドには、そのストロークがカンバス上に貼り付けられたものであることを示す値（例えば、“ＹＥＳ”）が設定される。なお、カンバス上に貼り付けられたストロークではなく、カンバス上で手書き入力されたストロークに対応するレコードの「貼り付け」フィールドには、そのストロークがカンバス上に貼り付けられたものではないことを示す値（例えば、“ＮＯ”）が設定される。
【０１２９】
また、図１６は、グループ編集データ４１２Ｃの一構成例を示す。グループ編集データ４１２Ｃは、カンバス上に描画されているストロークに対する複数の編集操作に対応する複数のレコードを含む。各レコードは、例えば、「編集ＩＤ」フィールド、「時間」フィールド、「ユーザＩＤ」フィールド、「ストロークＩＤ」フィールド、「編集内容」フィールド、等を含む。
【０１３０】
ある編集操作に対応するレコードにおいて、「編集ＩＤ」フィールドは、その編集操作に付与された識別情報を示す。「時間」フィールドは、その編集操作が行われた時間を示す。この「時間」フィールドには、例えば、カンバス上の最初のストロークの手書き入力が開始された時間を基準（例えば、００：００）として、その基準時間からの経過時間（相対時間）が設定される。「ユーザＩＤ」フィールドは、その編集操作を行ったユーザに付与された識別情報を示す。なお、この「ユーザＩＤ」の代わりに、その編集操作が行われた電子機器に付与された識別情報（デバイスＩＤ）が用いられてもよい。
【０１３１】
「ストロークＩＤ」フィールドは、その編集操作によって編集されたストロークに付与された識別情報を示す。複数のストロークがまとめて編集された場合、「ストロークＩＤ」フィールドには、それら複数のストロークに対応する複数の識別情報が設定される。「編集内容」フィールドは、その編集操作によって実行された編集の内容を示す。この「編集内容」フィールドには、編集操作に応じて、例えば、ストロークの消去、位置の変更（移動）、サイズの変更（拡大／縮小）、色の変更、太さの変更、透過度の変更、等の編集の種類と、変更後に設定された位置やサイズのような各種の値とが記述される。
【０１３２】
なお、図１４から図１６では、グループで共有されるカンバスに手書きストロークが描画されている場合のグループ共有データ４１２の例を示したが、グループ共有データ４１２には、カンバス上に配置されたコンテンツ（例えば、画像や文書）のデータや、そのカンバス上の位置やサイズを示すデータ等も含まれ得る。
【０１３３】
図１７は、手書き共有サービスを利用する電子機器（グループに参加するユーザ機器１０Ａ，１０Ｂ，１０Ｃ、スーパーバイザ機器１０Ｓ、等）のディスプレイに表示される画面の例を示す。この画面は、共有カンバスのプレビュー表示エリア５１と、ツールバー５２とを含む。ツールバー５２は、このプレビュー表示エリア１５上での入力のための各種のツールボタンを含み、例えば、「領域選択」ボタン５２１、「消しゴム」ボタン５２２、「ペン」ボタン５２３、等を含む。ユーザは、ツールバー５２内のこれらのボタン５２１，５２２，５２３を選択（例えば、タップ）することによって、プレビュー表示エリア５１上での入力のモードを切り替えることができる。
【０１３４】
より具体的には、「領域選択」ボタン５２１は、プレビュー表示エリア５１内の領域を選択するモード（第３モード）に切り替えるためのボタンである。このモードにおいて、ユーザは、プレビュー表示エリア５１内の領域を選択する操作を行った後、選択された領域に対する各種の編集操作、すなわち、領域内のストロークに対する各種の編集操作（ストロークのコピー、削除、移動、サイズ変更、ペンタイプ変更、色変更、太さ変更、透過度変更、等）を行うことができる。この領域内のストロークに対する編集操作の内容は、ストローク編集データ４１２Ｃとして保存される。
【０１３５】
「消しゴム」ボタン５２２は、プレビュー表示エリア５１上に描画されたストローク等を消去するモード（第２モード）に切り替えるためのボタンである。このモードにおいて、ユーザは、プレビュー表示エリア５１上で外部オブジェクト（ペン１００又は指）が接触した位置のストロークを消去する操作を行うことができる。このストロークを消去する操作の内容は、ストローク編集データ４１２Ｃとして保存される。
【０１３６】
なお、プレビュー表示エリア５１上で消去（削除）されたストロークに対応するストロークデータのレコードは、保存されているストロークデータ４１２Ａから削除されない。これは、プレビュー表示エリア５１上で消去されたストロークのデータも保存しておくことで、この消去されたストロークも用いて、例えば、各ユーザによるグループでの学習活動を適切に評価するためである。
【０１３７】
また、「ペン」ボタン５２３は、プレビュー表示エリア５１にストロークを手書き入力するモード（第１モード）に切り替えるためのボタンである。このモードにおいて、ユーザは、プレビュー表示エリア５１上で外部オブジェクト（ペン１００又は指）が接触した位置にストロークを手書き入力（描画）する操作を行うことができる。「ペン」ボタン５２３がタップされたことに応じて、手書き入力されるストロークの属性を設定するための属性設定画面５３が表示されてもよい。この属性設定画面５３には、ペンのタイプを選択するためのボタン５３１、色を選択するためのカラーパレット５３２、太さを指定するためのスライダ５３３、透過度（濃さ）を指定するためのスライダ５３４、選択（指定）された設定をキャンセルするためのキャンセルボタン５３５、選択（指定）された設定を確定するためのＯＫボタン５３６、等が含まれている。この属性設定画面５３で選択（指定）された属性は、ストロークが手書き入力された場合に、そのストロークのストローク属性データ４１２Ｂとして保存される。
【０１３８】
上述したように、スーパーバイザモードで動作する手書き共有アプリケーションプログラム２０２が実行されるスーパーバイザ機器１０Ｓでは、グループのオーナーとして動作する電子機器（ユーザ機器）から、そのグループで共有されているカンバス上のドキュメントを示すグループ共有データ４１２を回収することができる。スーパーバイザ機器１０Ｓは、回収されたグループ共有データ４１２を用いて、スーパーバイザ（教師）が、グループでの学習をユーザ（児童や生徒）毎に評価するための画面を表示することができる。
【０１３９】
例えば、受信制御部３０５は、第１ユーザ機器（第１電子機器）と第２ユーザ機器（第２電子機器）とが属するグループで作成され、第１ユーザ機器上で手書き入力された複数の第１ストロークに対応する第１ストロークデータと第２ユーザ機器上で手書き入力された複数の第２ストロークに対応する第２ストロークデータとを含むドキュメント（グループ共有データ４１２）を受信（回収）する。受信制御部３０５は、このドキュメントを、そのグループのオーナーであるユーザ機器（例えば、第１ユーザ機器又は第２ユーザ機器）から受信する。貢献度算出部３０６は、第１ストロークデータを用いて、第１ユーザ機器を使用する第１ユーザが、ドキュメントの作成に貢献した度合いに関する第１貢献度を算出し、第２ストロークデータを用いて、第２ユーザ機器を使用する第２ユーザが、ドキュメントの作成に貢献した度合いに関する第２貢献度を算出する。そして、表示処理部３０２は、ドキュメントと、算出された第１貢献度と第２貢献度とをＬＣＤ１７Ａの画面に表示する。
【０１４０】
より具体的には、グループ処理部３０１、貢献度算出部３０６及び表示処理部３０２は、例えば、あるグループから回収されたグループ共有データ４１２を用いて、そのグループで制作された共有カンバス上のドキュメント（共同成果物）と、そのドキュメントに対してグループ内の各ユーザが貢献した度合いに関する貢献度とを含むビューをＬＣＤ１７Ａの画面に表示する。以下では、スーパーバイザによって、評価の対象となる第１グループが選択された場合を例示する。
【０１４１】
まず、グループ処理部３０１は、記憶媒体４０２から、選択された第１グループに対応するグループ共有データ４１２を読み出す。
【０１４２】
貢献度算出部３０６は、読み出されたグループ共有データ４１２を用いて、第１グループに属する各ユーザが、当該第１グループによる共有カンバス上のドキュメントの制作に貢献した度合いに関する貢献度を算出する。この貢献度は、グループ学習における、ユーザ（児童や生徒）の意欲、協調性、課題に関する知識、等を評価するために、ユーザ毎の、例えば、ストローク量、ストロークが手書き入力されたときの時間の偏りに関する度合い、ツールやペンの属性の変更に関する度合い、予習に関する度合い、編集の度合い、及び関連ストローク量のような複数のパラメータ（貢献度パラメータ）を含む。貢献度算出部３０６は、このような複数のパラメータの内の少なくとも１つを用いて、ユーザの貢献度を算出してもよい。
【０１４３】
以下に、貢献度算出部３０６によって算出される貢献度及び複数の貢献度パラメータの一例を説明する。
【０１４４】
貢献度算出部３０６は、あるユーザによって手書き入力された複数のストロークに対応するストロークデータ４１２Ａを用いて、そのユーザによって手書き入力されたストロークの量に基づく貢献度を算出する。例えば、貢献度算出部３０６は、ユーザによって手書き入力された複数のストロークに対応するストロークデータ４１２Ａを用いて、それら複数のストロークに含まれるストロークの数と、複数のストロークに含まれる複数の点の数（座標データの数）と、複数のストロークの長さの少なくともいずれか１つに基づいて、貢献度を算出する。また、貢献度算出部３０６は、各ユーザにより手書き入力されたストローク群の外接矩形の面積のような、ストロークの量に関する他の特徴量をさらに用いて、貢献度を算出することもできる。
【０１４５】
より具体的には、貢献度算出部３０６は、第１グループに属する第１ユーザによって手書き入力された複数の第１ストロークについて、複数の第１ストロークに含まれるストロークの数と、複数の第１ストロークに含まれる複数の点の数（座標データの数）と、複数の第１ストロークの長さ（例えば、複数の第１ストロークに含まれる各ストロークの長さの総和）の少なくともいずれか１つに基づいて、第１ユーザが、ドキュメントの作成に貢献した度合いに関する第１貢献度を算出する。また、貢献度算出部３０６は、第１グループに属する第２ユーザによって手書き入力された複数の第２ストロークについて、複数の第２ストロークに含まれるストロークの数と、複数の第２ストロークに含まれる複数の点の数と、複数の第２ストロークの長さ（例えば、複数の第２ストロークに含まれる各ストロークの長さの総和）の少なくともいずれか１つに基づいて、第２ユーザが、ドキュメントの作成に貢献した度合いに関する第２貢献度を算出する。
【０１４６】
なお、カンバス上で、塗りつぶしのためのストロークが手書き入力される場合、例えば、そのようなストロークに含まれる多数の点の数や長さに基づいて、大きな貢献度が算出されてしまうので、ドキュメントの作成に貢献した度合いに関する貢献度として適切でなくなる可能性がある。そのため、貢献度算出部３０６は、塗りつぶしのためのストロークが一筆で書き続けられる傾向があることに基づいて、第１しきい値以上の長さ、又は第２しきい値以上の点の数を有するストロークを、貢献度を算出する対象のストロークから除外してもよい。
【０１４７】
また、貢献度算出部３０６は、ユーザによって手書き入力されたストロークに対応するストロークデータ４１２Ａを用いて、ユーザによってストロークが手書き入力されたときの時間の偏りに関する度合いを算出する。貢献度算出部３０６は、例えば、複数の第１ストロークが手書き入力されたときの時間の偏りに関する度合いを算出し、複数の第２ストロークが手書き入力されたときの時間の偏りに関する度合いを算出する。
【０１４８】
より具体的には、貢献度算出部３０６は、例えば、ユーザによってストロークが手書き入力されたときの時間の間隔の標準偏差を、ストロークが手書き入力されたときの時間の偏りに関する度合いとして算出する。例えば、上述した第１ストロークデータは、複数の第１ストロークの各々の手書き入力が開始された時間と終了した時間とを含み、第２ストロークデータは、複数の第２ストロークの各々の手書き入力が開始された時間と終了した時間とを含む。貢献度算出部３０６は、複数の第１ストロークの内の連続する２つのストローク毎に、前のストロークの手書き入力が終了した時間（例えば、前のストロークの最後の座標データの入力時間）と、後のストロークの手書き入力が開始された時間（例えば、後のストロークの最初の座標データの入力時間）との間隔を算出し、算出された複数の間隔の標準偏差を算出する。また、貢献度算出部３０６は、複数の第２ストロークの内の連続する２つのストローク毎に、前のストロークの手書き入力が終了した時間と後のストロークの手書き入力が開始された時間との間隔を算出し、算出された複数の間隔の標準偏差を算出する。なお、貢献度算出部３０６は、ユーザによってストロークが手書き入力されたときの時間の間隔の平均と標準偏差のような、手書き入力されたときの時間の偏りに関する複数のパラメータを用いて、ストロークが手書き入力されたときの時間の偏りに関する度合いを算出してもよい。
【０１４９】
スーパーバイザは、例えば、ユーザによってストロークが手書き入力されたときの時間の偏り（例えば、書き込み時間間隔の標準偏差）が小さいほど、ストロークを書き込んでいない時間（平均無操作時間）のばらつきが小さく、グループでの学習に能動的に参加していると判断することができる。
【０１５０】
また、貢献度算出部３０６は、ユーザによって手書き入力又は編集されたストロークに対応するストロークデータ４１２Ａ、ストローク属性データ４１２Ｂ及びストローク編集データ４１２Ｃを用いて、そのユーザによるストロークの入力又は編集における、ツールやペンの属性の変更に関する度合いを算出する。貢献度算出部３０６は、例えば、ユーザがストロークを入力又は編集するために、ペンのツールと、領域選択のツールと、消しゴムのツールとを切り替えた第１の回数をツールの変更に関する度合いとして算出し、ペンタイプ、色、太さ、及び透過度のようなペンの属性を切り替えた第２の回数をペンの属性の変更に関する度合いとして算出する。なお、貢献度算出部３０６は、第１の回数と第２回数との総和を、ツール及びペンの属性の変更に関する度合いとして算出してもよい。また、貢献度算出部３０６は、ツール及びペンの属性が変更された時間や頻度のような他のパラメータを用いて、ツールやペンの属性の変更に関する度合いを算出してもよい。
【０１５１】
より具体的には、貢献度算出部３０６は、例えば、ユーザが第１ストロークと第２ストロークとを連続して入力していた場合に、第１ストロークに対応するストローク属性データ４１２Ｂのレコードに示される属性（ペンタイプ、色、太さ、透過度）と、第２ストロークに対応するストローク属性データ４１２Ｂのレコードに示される属性とが異なれば、そのユーザによって属性が変更されたと判断し、１回の属性変更としてカウントする。また、貢献度算出部３０６は、例えば、ユーザが第３ストロークを入力した直後に、カンバス上に既に描画されていた第１ストロークを消去する編集を行っていた場合に、そのユーザによって、「ペン」のツールから「消しゴム」のツールに変更されたと判断し、１回のツール変更としてカウントする。このように、ストロークデータ４１２Ａ、ストローク属性データ４１２Ｂ及びストローク編集データ４１２Ｃを用いて属性変更回数やツール変更回数が算出されることにより、ストロークが入力又は編集されることなく、ツールやペンの属性の変更だけが繰り返し行われたような場合には、その変更が、変更回数としてカウントされないようにすることができる。
【０１５２】
また、例えば、グループ共有データ４１２は、さらに、上述した複数の第１ストロークの入力に用いられた複数のペンの属性を示す第１属性データと、複数の第２ストロークの入力に用いられた複数のペンの属性を示す第２属性データと、第１ユーザ機器上で、複数の第１ストロークと複数の第２ストロークとの内の１つ以上のストロークが編集された内容を示す第１編集データと、第２ユーザ機器上で、複数の第１ストロークと複数の第２ストロークとの内の１つ以上のストロークが編集された内容を示す第２編集データとを含む。
【０１５３】
その場合、貢献度算出部３０６は、第１ストロークデータと第１属性データと第１編集データとを用いて、第１ユーザによる複数の第１ストローク及び複数の第２ストロークの入力又は編集において、手書き入力されるストロークのペンタイプ、色、太さ、及び透過度の少なくとも１つで規定される属性の変更に関する度合いを算出する。また、貢献度算出部３０６は、第２ストロークデータと第２属性データと第２編集データとを用いて、第２ユーザによる複数の第１ストローク及び複数の第２ストロークの入力又は編集において、手書き入力されるストロークのペンタイプ、色、太さ、及び透過度の少なくとも１つで規定される属性の変更の度合いを算出する。
【０１５４】
また、貢献度算出部３０６は、第１ストロークデータと第１属性データと第１編集データとを用いて、第１ユーザ機器上で、複数の第１ストローク及び複数の第２ストロークを入力又は編集するために、ストロークを手書き入力する第１モード（ペンのツール）と、ストロークを消去する第２モード（消しゴムのツール）と、ストロークを選択する第３モード（領域選択のツール）との間で、モードが切り替えられた後に、複数の第１ストローク及び複数の第２ストロークが入力又は編集された回数を、第１ユーザによるツールの変更に関する度合いとして算出し、第１ユーザ機器が第１モードに設定されている間に、手書き入力されるストロークのペンタイプ、色、太さ、及び透過度の少なくとも１つで規定される属性が変更された後に、複数の第１ストロークの内の１つ以上のストロークが入力された回数を、第１ユーザによる属性の変更に関する度合いとして算出してもよい。さらに、貢献度算出部３０６は、第２ストロークデータと第２属性データと第２編集データとを用いて、第２ユーザ機器上で、複数の第１ストローク及び複数の第２ストロークを入力又は編集するために、上述した第１モードと第２モードと第３モードとの間でモードが切り替えられた後に、複数の第１ストローク及び複数の第２ストロークが入力又は編集された回数を、第２ユーザによるツールの変更に関する度合いとして算出し、第２ユーザ機器が第１モードに設定されている間に、手書き入力されるストロークのペンタイプ、色、太さ、及び透過度の少なくとも１つで規定される属性が変更された後に、複数の第２ストロークの内の１つ以上のストロークが入力された回数を、第２ユーザによる属性の変更の度合いとして算出してもよい。
【０１５５】
また、貢献度算出部３０６は、ユーザによって予め作成されたストロークデータに基づくストロークを用いて貼り付けられた、共有カンバス（プレビュー表示エリア５１）上のストロークに基づいて、予習に関する度合い（例えば、予習量）を算出する。ユーザは、自身のノートに手書き入力されたストロークの一部をコピーし、共有カンバス上に貼り付けるための操作を行うことができる。予習に関する度合いは、例えば、この操作により貼り付けられたストロークの量（すなわち、貼り付けられたストロークの数、ストロークに含まれる点の数、及びストロークの長さの少なくともいずれか１つに基づく値）によって示される。貢献度算出部３０６は、例えば、ユーザに対応するストローク属性データ４１２Ｂを用いて「貼り付け」フィールドに“ＹＥＳ”が設定されたストロークを検出し、その検出されたストロークの量を対応するストロークデータ４１２Ａを用いて算出することにより、予習に関する度合いを決定する。
【０１５６】
算出された貢献度や貢献度パラメータ（例えば、ストローク量、ストロークが手書き入力されたときの時間の偏りに関する度合い、ツールや属性の変更に関する度合い、及び予習に関する度合い）を用いて、スーパーバイザは、例えば、今回のグループ学習に対するユーザの意欲を評価することができる。
【０１５７】
また、貢献度算出部３０６は、ユーザが、共有カンバス上で他のユーザが入力したストロークを編集した度合いを算出する。貢献度算出部３０６は、例えば、ユーザが、共有カンバス上で他のユーザが入力したストロークを編集した回数（編集回数）に基づいて、この度合いを算出する。また、貢献度算出部３０６は、編集回数だけでなく、編集されたストロークの量や編集内容のような編集に関する他のパラメータをさらに用いて、この度合いを算出してもよい。
【０１５８】
貢献度算出部３０６は、例えば、上述した第１編集データを用いて、第１ユーザが複数の第２ストロークの内の１つ以上のストロークを編集した度合い（例えば、編集した回数）を算出する。また、貢献度算出部３０６は、第２編集データを用いて、第２ユーザが複数の第１ストロークの内の１つ以上のストロークを編集した度合い（例えば、編集した回数）を算出する。
【０１５９】
より具体的には、貢献度算出部３０６は、例えば、あるユーザによる編集を示すストローク編集データ４１２Ｃのレコードの内、「ストロークＩＤ」フィールドに、他のユーザが入力したストロークのＩＤが含まれるレコードの数を算出し、算出された数を他のユーザが入力したストロークを編集した度合い（編集回数）に決定する。この度合いは、例えば、他のユーザによって手書き入力されたストロークに対して、移動、消去、サイズの変更、色の変更、太さの変更、透過度の変更、等を指示する操作を行った回数を表す。ユーザは、例えば、共有カンバス上に描画されたストロークのまとまりを整理したり、ストロークを見やすくしたりするために、このような編集操作を行うことが想定されるので、決定された度合いは協調性の指標として用いられる。
【０１６０】
さらに、貢献度算出部３０６は、ストロークデータ４１２Ａを用いて、ユーザによって共有カンバス上にストロークが手書き入力されていた場合に、そのストロークに関連して、他のユーザによってストロークが手書き入力された度合いを算出する。この度合いは、例えば、ユーザによって共有カンバス上にストロークが手書き入力されていた場合に、その第３しきい値時間内又は第４しきい値距離内に、他のユーザによって入力されたストロークの量（関連ストローク量とも称する）によって表される。この度合い（関連ストローク量）も、他のユーザが入力したストロークに協調してユーザが手書き入力を行ったことや、ユーザが入力したストロークに促進されて他のユーザが手書き入力を行ったことを表すので、協調性の指標として用いられる。
【０１６１】
貢献度算出部３０６は、上述のような貢献度のパラメータを、第１グループに属するユーザ毎に算出する。貢献度算出部３０６は、算出されたユーザ毎の貢献度のパラメータを貢献度データ４１３として記憶媒体４０２に格納する。
【０１６２】
図１８は、貢献度データ４１３の一構成例を示す。貢献度データ４１３は、複数のユーザに対応する複数のレコードを含む。各レコードは、例えば、「ユーザＩＤ」フィールド、「ユーザ名」フィールド、「グループＩＤ」フィールド、「ストローク量」フィールド、「書き込み時間間隔」フィールド、「ツール変更回数」フィールド、「予習量」フィールド、「編集回数」フィールド、「関連ストローク量」フィールド、等を含む。
【０１６３】
あるユーザに対応するレコードにおいて、「ユーザＩＤ」フィールドは、そのユーザに付与された識別情報を示す。「ユーザ名」フィールドは、そのユーザの名前を示す。「グループＩＤ」フィールドは、そのユーザ（又はユーザが使用する電子機器）が属するグループに付与された識別情報を示す。
【０１６４】
「ストローク量」フィールドは、そのユーザによって手書き入力されたストロークの量を示す。「書き込み時間間隔」フィールドは、そのユーザによってストロークが手書き入力された時間の間隔に関する値を示す。この値は、例えば、ストロークが手書き入力された時間の間隔の標準偏差である。「ツール変更回数」フィールドは、そのユーザによって、ストロークを入力又は編集するためにツールやペンの属性が変更された回数を示す。「予習量」フィールドは、そのユーザによって予め作成されたストロークデータに基づくストロークを用いて貼り付けられた、共有カンバス（プレビュー表示エリア５１）上のストロークの量を示す。「編集回数」フィールドは、共有カンバス上で他のユーザが入力したストロークが、そのユーザによって編集された回数を示す。「関連ストローク量」フィールドは、そのユーザによって共有カンバス上にストロークが手書き入力された場合に、その第３しきい値時間内又は第４しきい値距離内に、他のユーザによって手書き入力されたストロークの量を示す。
【０１６５】
なお、貢献度データ４１３のレコードには、「貢献度」フィールドがさらに含まれてもよい。「貢献度」フィールドは、そのユーザがグループでのドキュメントの作成に貢献した度合いに関する貢献度を示す。「貢献度」フィールドには、例えば、「ストローク量」フィールド、「書き込み時間間隔」フィールド、「ツール変更回数」フィールド、「予習量」フィールド、「編集回数」フィールド、及び「関連ストローク量」フィールドの各々に設定された値の少なくともいずれか１つを重み付け加算することにより算出された値が設定される。
【０１６６】
表示処理部３０２は、第１グループのストロークデータ４１２Ａ、ストローク属性データ４１２Ｂ、ストローク編集データ４１２Ｃ、及び貢献度データ４１３を用いて、第１グループで制作された共有カンバス上のドキュメントと、そのドキュメントに対して第１グループ内の各ユーザが貢献した度合いに関する貢献度（貢献度パラメータ）とを含む学習結果ビューをＬＣＤ１７Ａの画面に表示する。
【０１６７】
図１９は、スーパーバイザ機器１０ＳのＬＣＤ１７Ａに表示される学習結果ビュー６１の例を示す。この学習結果ビュー６１は、スーパーバイザによって指定された１つのグループでの学習結果が示される画面であって、例えば、プレビュー表示エリア７１とユーザ情報エリア６２，６３，６４，６５とを含む。プレビュー表示エリア７１は、指定されたグループで作成されたドキュメント（共同成果物）を含む。プレビュー表示エリア７１内のドキュメント上のストロークは、そのストロークを入力したユーザ毎に異なる色で描画することができる。
【０１６８】
ユーザ情報エリア６２，６３，６４，６５は、そのグループに属する各ユーザに関する情報が含まれる。各ユーザ情報エリア６２，６３，６４，６５には、例えば、対応するユーザの名前６２１，６３１，６４１，６５１、そのユーザによって入力されたストロークが、表示中のドキュメント上に描画される色６２２，６３２，６４２，６５２、そのユーザによって入力されたストロークの表示又は非表示を指定するためのチェックボックス６２３，６３３，６４３，６５３、ドキュメント作成に対するそのユーザの貢献度に関するパラメータ６２４，６３４，６４４，６５４、等が含まれている。
【０１６９】
ユーザ情報エリア６２には、ユーザＡによって入力されたストロークが緑で描画されることが示され、プレビュー表示エリア７１には、ユーザＡによって入力されたストローク群７２が緑で描画されている。同様に、プレビュー表示エリア７１には、ユーザＢによって入力されたストローク群７３が青で描画され、ユーザＣによって入力されたストローク群７４が黄で描画され、ユーザＤによって入力されたストローク群７５が紫で描画されている。これらストローク群７２，７３，７４，７５は、スーパーバイザがユーザ別にストロークを見分けるために、各ユーザがドキュメントの作成時に指定した色とは異なる色で描画され得る。
【０１７０】
なお、ユーザ情報エリア６２，６３，６４，６５には、ユーザ毎に、貢献度に関する複数のパラメータ６２４，６３４，６４４，６５４が示されているが、これら複数のパラメータが統合された値、例えば、貢献度に関する複数のパラメータが重み付け加算された値が、各ユーザの貢献度として表示されてもよい。貢献度に関する複数のパラメータ６２４，６３４，６４４，６５４は、図１９に示すようなグラフではなく、数値で表示されてもよいし、グラフと数値の両方が表示されるようにしてもよい。このような貢献度の可視化により、スーパーバイザは、グループ学習終了後に、各ユーザのグループでの活動を定量的に評価することができる。そのため、スーパーバイザが、たとえ各ユーザのグループでの活動の一部を見逃したとしても、適切な評価を行うことができるように支援できる。
【０１７１】
また、スーパーバイザは、チェックボックス６２３，６３３，６４３，６５３にチェックマークを入れる操作（例えば、チェックマークの入っていないチェックボックスのタップ）によって、対応するユーザが入力したストロークを、プレビュー表示エリア７１上に表示することを指示できる。また、スーパーバイザは、チェックボックス６２３，６３３，６４３，６５３のチェックマークを外す操作（例えば、チェックマークの入っているチェックボックスのタップ）によって、対応するユーザが入力したストロークを、プレビュー表示エリア７１上に表示しないことを指示できる。
【０１７２】
表示処理部３０２は、このようなチェックボックス６２３，６３３，６４３，６５３にチェックマークを入れる操作に応じて、プレビュー表示エリア７１上の対応するユーザのストロークを表示する。また、表示処理部３０２は、チェックボックス６２３，６３３，６４３，６５３のチェックマークを外す操作に応じて、プレビュー表示エリア７１上の対応するユーザのストロークを非表示にする。
【０１７３】
表示処理部３０２は、例えば、スーパーバイザがユーザＤに関連付けられたチェックボックス６５３のチェックマークを外す操作に応じて、図２０に示すように、ユーザＤによって入力されたストローク群７５が、プレビュー表示エリア７１上に表示されないようにする。このような機能により、注目する１人又は複数のユーザのストロークだけをフィルタリングして画面に表示することができるので、スーパーバイザ（教師）が、どのユーザが何を書いたかを事後確認することができる。したがって、スーパーバイザが、各ユーザの課題に関する知識を評価するための作業を支援することができる。
【０１７４】
次いで、図２１のフローチャートを参照して、スーパーバイザ機器１０Ｓによって実行されるグループ共有データの回収処理の手順の例について説明する。
【０１７５】
まず、ＣＰＵ１０１は、送信部１０７Ｔを介して、グループ共有データを回収するグループのオーナー機器に、スーパーバイザ機器１０Ｓがそのグループに参加することを要求する（ブロックＢ１１）。オーナー機器は、この要求に応じて、グループ共有データをスーパーバイザ機器１０Ｓに送信する。
【０１７６】
ＣＰＵ１０１は、受信部１０７Ｒを介して、オーナー機器によって送信されたグループのグループ共有データを受信する（ブロックＢ１２）。ＣＰＵ１０１は、受信されたグループ共有データを記憶媒体４０２（ローカルなデータベース１２Ｓ）に保存する（ブロックＢ１３）。そして、ＣＰＵ１０１は、送信部１０７Ｔを介して、スーパーバイザ機器１０Ｓがこのグループから退出することをオーナー機器に通知する（ブロックＢ１４）。
【０１７７】
次いで、ＣＰＵ１０１は、共有データを回収すべき別のグループがあるか否かを判定する（ブロックＢ１５）。共有データを回収すべき別のグループがある場合（ブロックＢ１５のＹＥＳ）、ブロックＢ１１に戻り、その別のグループの共有データを回収するための処理が実行される。共有データを回収すべき別のグループがない場合（ブロックＢ１５のＮＯ）、すなわち全てのグループの共有データの回収が完了した場合、処理を終了する。
【０１７８】
また、図２２のフローチャートは、スーパーバイザ機器１０Ｓの画面に、あるグループのグループ共有データ４１２に基づく学習結果を表示するための学習結果表示処理の手順の例を示す。この学習結果表示処理では、あるグループに属する複数のユーザによって共同で作成されたカンバス上のドキュメントが、各ユーザがドキュメント作成に貢献した度合いに関する貢献度パラメータと共に画面に表示される。
【０１７９】
まず、ＣＰＵ１０１は、あるグループに属する複数のユーザの内、貢献度パラメータを算出する対象の第１ユーザを設定する（ブロックＢ２０１）。ＣＰＵ１０１は、ストロークデータ４１２Ａを用いて、第１ユーザによって入力されたストロークの量を算出する（ブロックＢ２０２）。次いで、ＣＰＵ１０１は、ストロークデータ４１２Ａを用いて、第１ユーザによって入力されたストロークの内の、連続する２つのストローク毎に時間間隔を算出し、その時間間隔の標準偏差を算出する（ブロックＢ２０３）。
【０１８０】
また、ＣＰＵ１０１は、ストロークデータ４１２Ａ、ストローク属性データ４１２Ｂ及びストローク編集データ４１２Ｃを用いて、第１ユーザによって、ストロークを入力又は編集するためにツールが変更された回数を算出する（ブロックＢ２０４）。さらに、ＣＰＵ１０１は、ストロークデータ４１２Ａ及びストローク属性データ４１２Ｂを用いて、第１ユーザによって予め作成されたストロークデータに基づくストロークを用いて貼り付けられた、ドキュメント（カンバス）上のストロークの量を示す予習量を算出する（ブロックＢ２０５）。
【０１８１】
次いで、ＣＰＵ１０１は、ストローク編集データ４１２Ｃを用いて、第１ユーザによって、他のユーザが手書き入力したストロークが編集された編集回数を算出する（ブロックＢ２０６）。また、ＣＰＵ１０１は、ストロークデータ４１２Ａを用いて、第１ユーザによって入力されたストロークの内、第３しきい値時間内又は第４しきい値距離内に他のユーザが入力したストロークが存在するストロークの数を、関連ストローク量として算出する（ブロックＢ２０７）。ＣＰＵ１０１は、ブロックＢ２０１からブロックＢ２０７の手順によって算出された第１ユーザに関する貢献度パラメータを用いて、貢献度データ４１３のレコードを作成し、記憶媒体４０２に格納される貢献度データ４１３に追加してもよい。
【０１８２】
次いで、ＣＰＵ１０１は、貢献度パラメータが算出されるグループ内に別のユーザが存在するか否かを判定する（ブロックＢ２０８）。別のユーザが存在する場合（ブロックＢ２０８のＹＥＳ）、ブロックＢ２０１に戻り、その別のユーザに関する貢献度パラメータを算出するための手順が実行される。
【０１８３】
一方、別のユーザが存在しない場合（ブロックＢ２０８のＮＯ）、すなわち、グループ内の全てのユーザに関する貢献度パラメータが算出された場合、ＣＰＵ１０１は、そのグループで作成されたドキュメント（共有カンバス）と、ユーザ毎の貢献度パラメータとを含むビューをＬＣＤ１７Ａの画面に表示する（ブロックＢ２０９）。
【０１８４】
また、図２３のフローチャートは、上述した学習結果表示処理によってドキュメント（共有カンバス）が表示されている場合に、そのドキュメント内のストロークを、手書き入力したユーザ毎に表示又は非表示にするためのストローク表示／非表示処理の手順の例を示す。
【０１８５】
まず、ＣＰＵ１０１は、学習結果ビュー６１上のチェックボックス６２３，６３３，６４３，６５３がタップされたか否かを判定する（ブロックＢ３１）。チェックボックス６２３，６３３，６４３，６５３がタップされていない場合（ブロックＢ３１のＮＯ）、ブロックＢ３１に戻り、チェックボックス６２３，６３３，６４３，６５３がタップされたか否かが再度判定される。
【０１８６】
チェックボックス６２３，６３３，６４３，６５３がタップされた場合（ブロックＢ３１のＹＥＳ）、ＣＰＵ１０１は、そのタップされたチェックボックスがチェックマーク入りのチェックボックスであるか否か、すなわち、選択状態に設定されたチェックボックスであるか否かを判定する（ブロックＢ３２）。タップされたチェックボックスがチェックマーク入りのチェックボックスである場合（ブロックＢ３２のＹＥＳ）、ＣＰＵ１０１は、そのチェックボックスからチェックマークを外し（すなわち、非選択状態のチェックボックスに変更し）、当該チェックボックスに関連付けられたユーザによって入力された、ドキュメント上のストロークを非表示にする（ブロックＢ３３）。
【０１８７】
また、タップされたチェックボックスがチェックマークの入っていないチェックボックスである場合（ブロックＢ３２のＮＯ）、ＣＰＵ１０１は、そのチェックボックスにチェックマークを入れ（すなわち、選択状態のチェックボックスに変更し）、当該チェックボックスに関連付けられたユーザによって入力されたストロークを、ドキュメント上に表示する（ブロックＢ３４）。
【０１８８】
以上説明したように、本実施形態によれば、グループで協働作業によりドキュメントが作成された場合に、各ユーザによる活動を適切に評価することを支援することができる。グループ処理部３０１及び受信制御部３０５は、第１電子機器と第２電子機器とが属するグループで作成され、第１電子機器上で手書き入力された複数の第１ストロークに対応する第１ストロークデータと第２電子機器上で手書き入力された複数の第２ストロークに対応する第２ストロークデータとを含むドキュメントを受信する。貢献度算出部３０６は、第１ストロークデータを用いて、第１電子機器を使用する第１ユーザが、ドキュメントの作成に貢献した度合いに関する第１貢献度を算出し、第２ストロークデータを用いて、第２電子機器を使用する第２ユーザが、ドキュメントの作成に貢献した度合いに関する第２貢献度を算出する。表示処理部３０２は、ドキュメントと第１貢献度と第２貢献度とをＬＣＤ１７Ａの画面に表示する。
【０１８９】
スーパーバイザは、第１ユーザがドキュメントの作成に貢献した度合いに関する第１貢献度と、第２ユーザがドキュメントの作成に貢献した度合いに関する第２貢献度とを見ることにより、各ユーザによる活動を定量的に評価することができる。
【０１９０】
また、本実施形態に記載された様々な機能の各々は、回路（処理回路）によって実現されてもよい。処理回路の例には、中央処理装置（ＣＰＵ）のような、プログラムされたプロセッサが含まれる。このプロセッサは、メモリに格納されたコンピュータプログラム（命令群）を実行することによって、記載された機能それぞれを実行する。このプロセッサは、電気回路を含むマイクロプロセッサであってもよい。処理回路の例には、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、マイクロコントローラ、コントローラ、他の電気回路部品も含まれる。本実施形態に記載されたＣＰＵ以外の他のコンポーネントの各々もまた処理回路によって実現されてもよい。
【０１９１】
また、本実施形態の各種処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１９２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１９３】
１７Ａ…ＬＣＤ、１０７…無線通信デバイス、１０７Ｔ…送信部、１０７Ｒ…受信部、２０２…手書き共有アプリケーションプログラム、３０１…グループ処理部、３０２…表示処理部、３０３…ストロークデータ処理部、３０４…送信制御部、３０５…受信制御部、３０６…貢献度算出部、４０２…記憶媒体、４１１…グループデータ、４１２…グループ共有データ、４１２Ａ…ストロークデータ、４１２Ｂ…ストローク属性データ、４１２Ｃ…ストローク編集データ、４１３…貢献度データ。
【図１】
0006562853.tif 000002
【図２】
0006562853.tif 000003
【図３】
0006562853.tif 000004
【図４】
0006562853.tif 000005
【図５】
0006562853.tif 000006
【図６】
0006562853.tif 000007
【図７】
0006562853.tif 000008
【図８】
0006562853.tif 000009
【図９】
0006562853.tif 000010
【図１０】
0006562853.tif 000011
【図１１】
0006562853.tif 000012
【図１２】
0006562853.tif 000013
【図１３】
0006562853.tif 000014
【図１４】
0006562853.tif 000015
【図１５】
0006562853.tif 000016
【図１６】
0006562853.tif 000017
【図１７】
0006562853.tif 000018
【図１８】
0006562853.tif 000019
【図１９】
0006562853.tif 000020
【図２０】
0006562853.tif 000021
【図２１】
0006562853.tif 000022
【図２２】
0006562853.tif 000023
【図２３】
0006562853.tif 000024