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