(57)【要約】  実施形態によれば、システムは、第１端末において手書き入力される第１ストロークデータおよび第２端末において手書き入力される第２ストロークデータを受信する。システムは、前記第１ストロークデータを前記第２端末に送信し、前記第２ストロークデータを前記第１端末に送信する。前記第２端末のログアウト後に第３端末がログインした場合、システムは、前記第１端末において第３端末のログイン前に手書き入力された第１ストロークデータ群を前記第３端末に送信するための処理を実行する。
2015189964.tif 000002
【特許請求の範囲】
【請求項１】
ログイン状態である第１端末において手書き入力される第１ストロークデータおよびログイン状態である第２端末において手書き入力される第２ストロークデータを受信する受信手段と、
前記第１ストロークデータを前記第２端末に送信し、前記第２ストロークデータを前記第１端末に送信する送信手段と、
前記第２端末のログアウト後に第３端末がログインした場合、前記第１端末において前記第３端末のログイン前に手書き入力された第１ストロークデータ群を前記第３端末に送信するための処理を実行する処理手段とを具備し、
前記処理手段は、
前記第２端末において前記第２端末のログアウト前に手書き入力された第２ストロークデータ群を前記第３端末に送信しない、システム。
【請求項２】
前記第２端末のログアウトの後に、前記処理手段は、前記第２ストロークデータ群を非表示にするための情報を前記第１端末に送信するための処理を実行する請求項１記載のシステム。
【請求項３】
前記処理手段は、
ログアウトした端末のストロークデータを非表示にするための第１機能が有効であるか否かを判定し、
前記第１機能が有効である場合に、前記第１端末において前記第３端末のログイン前に手書きによって入力された第１ストロークデータ群を前記第３端末に送信するための処理を実行し、
前記第１機能が無効である場合に、前記第１端末において前記第３端末のログイン前に手書きによって入力された第１ストロークデータ群と、前記第２端末において前記第２端末のログアウト前に手書きによって入力された第２ストロークデータ群とを前記第３端末に送信するための処理を実行する請求項１記載のシステム。
【請求項４】
前記受信手段は、前記第３端末のログイン後に前記第３端末において手書き入力される第３ストロークデータを受信し、
前記送信手段は、前記第３ストロークデータを前記第１端末に送信する請求項１記載のシステム。
【請求項５】
前記第１ストロークデータは、前記第１端末、前記第２端末、および前記第３端末の各々において第１形態で表示され、
前記第２ストロークデータは、前記第１端末、前記第２端末、および前記第３端末の各々において前記第１形態とは異なる第２形態で表示される請求項１記載のシステム。
【請求項６】
ログイン状態である第１端末において手書き入力される第１ストロークデータおよびログイン状態である第２端末において手書き入力される第２ストロークデータを受信することと、
前記第１ストロークデータを前記第２端末に送信し、前記第２ストロークデータを前記第１端末に送信することと、
前記第２端末のログアウト後に第３端末がログインした場合、前記第１端末において前記第３端末のログイン前に手書き入力された第１ストロークデータ群を前記第３端末に送信するための処理を実行することを具備し、
前記実行することは、
前記第２端末において前記第２端末のログアウト前に手書き入力された第２ストロークデータ群を前記第３端末に送信しない、方法。
【請求項７】
前記第２端末のログアウトの後に、前記第２ストロークデータ群を非表示にするための情報を前記第１端末に送信するための処理を実行することをさらに具備する請求項６記載の方法。
【請求項８】
前記実行することは、
ログアウトした端末のストロークデータを非表示にするための第１機能が有効であるか否かを判定することと、
前記第１機能が有効である場合に、前記第１端末において前記第３端末のログイン前に手書きによって入力された第１ストロークデータ群を前記第３端末に送信するための処理を実行することと
前記第１機能が無効である場合に、前記第１端末において前記第３端末のログイン前に手書きによって入力された第１ストロークデータ群と、前記第２端末において前記第２端末のログアウト前に手書きによって入力された第２ストロークデータ群とを前記第３端末に送信するための処理を実行することとを含む請求項６記載の方法。
【請求項９】
前記受信することは、前記第３端末のログイン後に前記第３端末において手書き入力される第３ストロークデータを受信することを含み、
前記送信することは、前記第３ストロークデータを前記第１端末に送信することを含む請求項６記載の方法。
【請求項１０】
前記第１ストロークデータは、前記第１端末、前記第２端末、および前記第３端末の各々において第１形態で表示され、
前記第２ストロークデータは、前記第１端末、前記第２端末、および前記第３端末の各々において前記第１形態とは異なる第２形態で表示される請求項６記載の方法。
【請求項１１】
コンピュータによって実行されるプログラムであって、前記プログラムは、
ログイン状態である第１端末において手書き入力される第１ストロークデータおよびログイン状態である第２端末において手書き入力される第２ストロークデータを受信することと、
前記第１ストロークデータを前記第２端末に送信し、前記第２ストロークデータを前記第１端末に送信することと、
前記第２端末のログアウト後に第３端末がログインした場合、前記第１端末において前記第３端末のログイン前に手書き入力された第１ストロークデータ群を前記第３端末に送信するための処理を実行することと
の機能を実行するように前記コンピュータを制御し、
前記実行することは、前記第２端末において前記第２端末のログアウト前に手書き入力された第２ストロークデータ群を前記第３端末に送信しない、プログラム。
【請求項１２】
前記第２端末のログアウトの後に、前記第２ストロークデータ群を非表示にするための情報を前記第１端末に送信するための処理を実行する機能を実行するように前記コンピュータをさらに制御する請求項１１記載のプログラム。
【請求項１３】
前記実行することは、
ログアウトした端末のストロークデータを非表示にするための第１機能が有効であるか否かを判定することと、
前記第１機能が有効である場合に、前記第１端末において前記第３端末のログイン前に手書きによって入力された第１ストロークデータ群を前記第３端末に送信するための処理を実行することと
前記第１機能が無効である場合に、前記第１端末において前記第３端末のログイン前に手書きによって入力された第１ストロークデータ群と、前記第２端末において前記第２端末のログアウト前に手書きによって入力された第２ストロークデータ群とを前記第３端末に送信するための処理を実行することとを含む請求項１１記載のプログラム。
【請求項１４】
前記受信することは、前記第３端末のログイン後に前記第３端末において手書き入力される第３ストロークデータを受信することを含み、
前記送信することは、前記第３ストロークデータを前記第１端末に送信することを含む請求項１１記載のプログラム。
【請求項１５】
前記第１ストロークデータは、前記第１端末、前記第２端末、および前記第３端末の各々において第１形態で表示され、
前記第２ストロークデータは、前記第１端末、前記第２端末、および前記第３端末の各々において前記第１形態とは異なる第２形態で表示される請求項１１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに記載される実施形態は、手書き情報を共有するための技術に関する。
【背景技術】
【０００２】
近年、タブレット、ＰＤＡ、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。【０００３】
また最近では、複数の端末間で表示画面を共有することによって遠隔会議を行うシステムも開発されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−６５１２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来では、手書き情報を安全に共有するための技術については考慮されていないのが現状である。【０００６】
本発明の一形態の目的は、手書き情報を安全に共有することができるシステムおよび方法を提供することである。
【課題を解決するための手段】
【０００７】
実施形態によれば、システムは、受信手段と、送信手段と、処理手段とを具備する。前記受信手段は、ログイン状態である第１端末において手書き入力される第１ストロークデータおよびログイン状態である第２端末において手書き入力される第２ストロークデータを受信する。前記送信手段は、前記第１ストロークデータを前記第２端末に送信し、前記第２ストロークデータを前記第１端末に送信する。前記処理手段は、前記第２端末のログアウト後に第３端末がログインした場合、前記第１端末において前記第３端末のログイン前に手書き入力された第１ストロークデータ群を前記第３端末に送信するための処理を実行する。前記処理手段は、前記第２端末において前記第２端末のログアウト前に手書き入力された第２ストロークデータ群を前記第３端末に送信しない。
【図面の簡単な説明】
【０００８】
【図１】図１は実施形態に係る電子機器の外観を示す例示的な斜視図である。
【図２】図２は手書き共有サービスを利用する端末間の接続を示す例示的な図である。
【図３】図３は図１の電子機器（手書きコラボレーションサーバシステム）と各端末との間のデータの流れを示す例示的な図である。
【図４】図４は複数の端末の手書き情報を表示する画面の例を示す例示的な図である。
【図５】図５は図１の電子機器のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す例示的な図である。
【図６】図６は図５の手書き文書に対応する時系列情報（手書きページデータ）を示す例示的な図である。
【図７】図７は図１の電子機器のシステム構成を示す例示的なブロック図である。
【図８】図８は図１の電子機器によって実行される手書き共有アプリケーションプログラムの機能構成を示す例示的なブロック図である。
【図９】図９は図１の電子機器のストロークデータベースに格納される情報の内容を示す例示的な図である。
【図１０】図１０は図１の電子機器によって生成される表示スタイル管理テーブルを示す例示的な図である。
【図１１】図１１はある端末のログアウトの後に別の端末がログインした時に実行されるストロークデータ配信処理を示す例示的な図である。
【図１２】図１２は複数の端末にそれぞれ表示される複数の手書き共有画面の表示内容を示す例示的な図である。
【図１３】図１３は複数の端末にそれぞれ表示される複数の手書き共有画面の表示内容を示す別の例示的な図である。
【図１４】図１４は手書きコラボレーションサーバシステムの構成を示す例示的なブロック図である。
【図１５】図１５は図１の電子機器によって実行されるストローク配信処理の手順を示す例示的なフローチャートである。
【図１６】図１６は共有される手書き情報の取り扱いに関する幾つかのポリシーを示す例示的な図である。
【図１７】図１７は図１の電子機器によって実行されるストローク非表示制御処理の手順を示す例示的なフローチャートである。
【発明を実施するための形態】
【０００９】
以下、実施の形態について図面を参照して説明する。  
図１は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペン（スタイラス）または指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、ＰＤＡ等として実現され得る。以下では、この電子機器がタブレットコンピュータ１０として実現されている場合を想定する。タブレットコンピュータ１０は、タブレットまたはスレートコンピュータとも称される携帯型電子機器である。タブレットコンピュータ１０は、図１に示すように、本体１１とタッチスクリーンディスプレイ１７とを備える。タッチスクリーンディスプレイ１７は、本体１１の上面に重ね合わせるように取り付けられている。
【００１０】
本体１１は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１７には、フラットパネルディスプレイと、センサとが組み込まれている。センサは、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されている。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの２種類のセンサの双方がタッチスクリーンディスプレイ１７に組み込まれている場合を想定する。
【００１１】
このタッチスクリーンディスプレイ１７は、指を使用した画面に対するタッチ操作のみならず、ペン１００を使用した画面に対するタッチ操作も検出することができる。ペン１００は例えば電磁誘導ペン（デジタイザペン）であってもよい。ユーザは、ペン１００を使用してタッチスクリーンディスプレイ１７上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上のペン１００の動きの軌跡、つまり手書き入力操作によって手書きされるストロークの軌跡（筆跡）がリアルタイムに描画され、これによって各ストロークの軌跡が画面上に表示される。ペン１００が画面に接触されている間のペン１００の動きの軌跡が１ストロークに相当する。手書きされた文字または図形などに対応する多数のストロークの集合、つまり多数の軌跡（筆跡）の集合が手書き文書を構成する。
【００１２】
本実施形態では、この手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係とを示す時系列情報として記憶媒体に保存される。この時系列情報の詳細は図６を参照して後述するが、この時系列情報は、複数のストロークが手書きされた順を示し、且つ複数のストロークにそれぞれ対応する複数のストロークデータを含む。換言すれば、この時系列情報は、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある一つのストロークに対応し、このストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
【００１３】
さらに、タブレットコンピュータ１０は編集機能を有している。この編集機能は、「消しゴム」ツール、範囲指定ツール、および他の各種ツール等を用いたユーザによる編集操作に応じて、表示中の手書き文書内の任意のストロークまたは任意の手書き文字等を削除または移動することができる。さらに、この編集機能は、幾つかの手書き操作の履歴を取り消す機能も含んでいる。
【００１４】
本実施形態では、時系列情報は、１つまたは複数のページとして管理されうる。この場合、時系列情報を１つの画面に収まる面積単位で区切ることによって、１つの画面に収まる時系列情報のまとまりを１つのページとして記録してもよい。あるいは、ページのサイズを可変できるようにしてもよい。この場合、ページのサイズは１つの画面のサイズよりも大きい面積に広げることができるので、画面のサイズよりも大きな面積の手書き文書を一つのページとして扱うことができる。１つのページ全体をディスプレイに同時に表示できない場合は、そのページを縮小してするようにしてもよいし、縦横スクロールによってページ内の表示対象部分を移動するようにしてもよい。
【００１５】
このように、時系列情報はページデータとして管理することができるので、以下では、時系列情報を手書きページデータあるいは単に手書きデータとも称する。
【００１６】
さらに、タブレットコンピュータ１０は、Ｗｅｂページ、テキスト、画像、他の各種コンテンツ上に文字、図形のようなオブジェクトを手書きすることもできる。この場合、手書きストロークは、表示されているコンテンツ上に設定される透明レイヤ上に描画し得る。これにより、この手書きストロークを上述のコンテンツ上に重ねて表示することができる。
【００１７】
また、さらに、タブレットコンピュータ１０は、手書きコラボレーション機能を有している。手書きコラボレーション機能は、手書き情報（手書きストローク）を複数の端末間で共有して手書きによる協同作業を行うための手書き共有サービスを実行する。この手書き共有サービスは、複数の端末内のいずれかの端末において手書き入力されるストロークデータを他の各端末にリアルタイムに送信する。これによって、これら複数の端末の表示画面の内容を同期させることができる。この場合、異なるユーザによって手書き入力されたストロークは、異なる形態（例えば、異なる色、異なる太さ、異なるペンタイプ、等）で各端末の画面に表示することができる。ストロークデータの表示形態をユーザ毎に変更することは、どのストロークがどのユーザによって手書きされたかを識別することを可能にする。また、各端末の表示画面には、手書き共有サービスにログインしている各端末（各ユーザ）に割り当てられた表示形態を示すガイドを表示してもよい。
【００１８】
図２は、手書き共有サービスを利用する端末間の接続例を示す。  
端末１０Ａは、ユーザＡによって使用されるタブレットコンピュータである。端末Ｂは、ユーザＢによって使用されるタブレットコンピュータである。端末１０Ｃは、ユーザＣによって使用されるタブレットコンピュータである。端末１０Ａ、１０Ｂ、１０Ｃの各々は、本実施形態のタブレットコンピュータ１０と同等の手書きコラボレーション機能を有している。
【００１９】
端末１０Ａ、１０Ｂ、１０Ｃは互いに無線接続される。この無線接続のための方法としては、複数の端末を互いに無線接続することが可能な任意の無線接続規格を使用し得る。例えば、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）、またはＢｌｕｅｔｏｏｔｈ（登録商標）が、端末間を互いに無線接続するために使用されてもよい。以下では、一例として、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）を使用する場合を想定する。
【００２０】
Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）に対応する端末（機器）それぞれは、１対１ベーシスで、あるいは１対他ベーシスで、互いに接続することができる。端末１０Ａ、１０Ｂ、１０Ｃの各々は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）に対応する端末（機器）として機能し得る。
【００２１】
端末１０Ａ、１０Ｂ、１０Ｃのいずれか１つは、手書き共有サービスを管理するように構成されたサーバ（手書きコラボレーションサーバシステム）として機能することができる。この手書きコラボレーションサーバシステムは、他の端末それぞれを手書き共有サービスのグループに招待することができる。この場合、手書きコラボレーションサーバシステムは、手書き共有サービスのグループへの参加を促す招待信号を他の端末それぞれに送信してもよい。また、手書きコラボレーションサーバシステムは、グループへの参加を要求している各端末に、グループに参加すること、つまり手書きコラボレーションサーバシステム（手書き共有サービス）へログインすること、を許可するか否かを決定することもできる。手書きコラボレーションサーバシステムから許可を受け取った各端末だけが、手書き共有サービスにログインすること、つまりグループに参加してグループ内の他の端末に接続することが許可されても良い。
【００２２】
ここで、各端末が手書きコラボレーションサーバシステム（手書き共有サービス）へログインする方法としては、この端末自体のＩＤ（アカウント）を使用して手書き共有サービスにログインする方法、またはこの端末を使用するユーザのＩＤ（アカウント）を使用して手書き共有サービスにログインする方法のいずれを使用してもよい。つまり、手書き共有サービスに対するログインおよびログアウトは、端末自体のＩＤ（アカウント）を使用したログインおよびログアウト、またはユーザのＩＤ（アカウント）を使用したログインおよびログアウトのどちらであってもよい。
【００２３】
いま、端末１０Ａ、１０Ｂ、１０Ｃが手書き共有サービスにログインしている状態である場合、つまり端末１０Ａ、１０Ｂ、１０Ｃが相互に接続されている場合を想定する。端末１０Ａ、１０Ｂ、１０Ｃを含む手書き共有サービスのグループにおいては、これら端末１０Ａ、１０Ｂ、１０Ｃの表示画面の内容が同期される。
【００２４】
ユーザＡ，Ｂ，Ｃの各々が自身の端末において手書き入力したストロークデータは、自身の端末の画面に表示されるだけでなく、他の各ユーザの端末の画面にもリアルタイムに反映される。これにより、手書き共有サービスのグループに参加しているユーザ間で互いの手書き情報（手書き文字、手書き図形等）を交換・共有することができる。
【００２５】
さらに、手書き共有サービスのグループに参加している端末１０Ａ、１０Ｂ、１０Ｃは、会議資料のような同じコンテンツを画面上に表示することもできる。この場合、各端末において手書き入力されるストロークデータは、このコンテンツ上に表示される。ユーザＡ，Ｂ，Ｃは、同じコンテンツを見ながら、このコンテンツ上に手書きされる手書き情報（手書き文字、手書き図形等）をユーザＡ，Ｂ，Ｃ間で交換・共有することができる。
【００２６】
図３は、手書きコラボレーションサーバシステムと各端末との間のデータの流れを示す。
【００２７】
図３では、端末１０Ａが、手書きコラボレーションサーバシステムとして動作する場合が想定されている。端末１０Ａは、手書き共有サービスにログインしている複数の端末の一つである。
【００２８】
手書きコラボレーションサーバシステム（端末１０Ａ）は、１対他ベーシスで、端末１０Ｂ、１０Ｃの各々との通信をする能力を有している。手書きコラボレーションサーバシステム（端末１０Ａ）は、ログイン状態である端末１０Ｂに直接的に接続される。さらに、手書きコラボレーションサーバシステム（端末１０Ａ）は、ログイン状態である端末１０Ｃに直接的に接続される。
【００２９】
手書きコラボレーションサーバシステム（端末１０Ａ）は、端末１０Ｂにおいて手書き入力されるストロークデータを端末１０Ｂから受信する。また、手書きコラボレーションサーバシステム（端末１０Ａ）は、端末１０Ｃにおいて手書き入力されるストロークデータを端末１０Ｂから受信する。
【００３０】
さらに、手書きコラボレーションサーバシステム（端末１０Ａ）は、端末１０Ａにおいて手書き入力されるストロークデータと端末１０Ｃから受信されたストロークデータとを端末１０Ｂに送信する。またさらに、手書きコラボレーションサーバシステム（端末１０Ａ）は、端末１０Ａにおいて手書きに入力されるストロークデータと端末１０Ｂから受信されたストロークデータとを端末１０Ｃに送信する。
【００３１】
したがって、端末１０Ａのディスプレイにおいては、ユーザＡの手書きオブジェクトが表示されるだけでなく、ユーザＢの手書きオブジェクト、さらにはユーザＣの手書きオブジェクトもリアルタイムに表示される。
【００３２】
同様にして、端末１０Ｂのディスプレイにおいても、ユーザＢの手書きオブジェクトが表示されるだけでなく、ユーザＡの手書きオブジェクト、さらにはユーザＣの手書きオブジェクトがリアルタイムに表示される。
【００３３】
また同様に、端末１０Ｃのディスプレイにおいても、ユーザＣの手書きオブジェクトが表示されるだけでなく、ユーザＡの手書きオブジェクト、さらにはユーザＢの手書きオブジェクトもリアルタイムに表示される。
【００３４】
手書きコラボレーションサーバシステム（端末１０Ａ）は、各端末において手書き入力される複数のストロークデータの各々を送信元端末識別子（端末ＩＤ）に対応付けてデータベース１２に格納する。送信元端末識別子（端末ＩＤ）は、端末を識別可能な情報であればどのような情報であっても良い。例えば、端末ＩＤは、ＭＡＣアドレスやＩＰアドレスのような既存の情報や、手書き共有サービスにおいて設定される情報であっても良く、また手書きコラボレーションサーバシステム（端末１０Ａ）によって各端末１０Ａ，１０Ｂ，１０Ｃに付与される情報であっても良く、乱数に基づいて端末ごとに設定される情報であっても良い。
【００３５】
例えば、端末１０Ｂから受信される個々のストロークデータには、端末１０Ｂに対応する端末ＩＤが送信元端末識別子として付加されていても良い。端末１０Ｂから受信される個々のストロークデータは、端末１０Ｂに対応する端末ＩＤに対応付けてデータベース１２に格納される。同様に、端末１０Ｃから受信される個々のストロークデータには、端末１０Ｃに対応する端末ＩＤが送信元端末識別子として付加されていても良い。端末１０Ｃから受信される個々のストロークデータは、端末１０Ｃに対応する端末ＩＤに対応付けてデータベース１２に格納される。さらに、端末１０Ａにおいて手書き入力される個々のストロークデータは、端末１０Ａに対応する端末ＩＤに対応付けてデータベース１２に格納される。
【００３６】
なお、各ストロークデータには、送信元端末識別子（端末ＩＤ）だけでなく、そのストロークデータの手書き入力に使用されたペンを識別可能なペン識別子（ペンＩＤ）も付加されていても良い。手書き入力に使用されるペンがこのペンの固有のペンＩＤを端末に送信する機能を有している場合には、端末は、ペンからこのペンのペンＩＤを取得することができる。各端末１０Ａ，１０Ｂ，１０Ｃは、当該端末におけるストロークデータの手書き入力に使用されるペンのペンＩＤが取得可能な場合、当該端末の端末ＩＤと取得されたペンＩＤとが付加されたストロークデータを送信する。一方、当該端末におけるストロークデータの手書き入力に使用されるペンのペンＩＤが取得できない場合、各端末１０Ａ，１０Ｂ，１０Ｃは、当該端末の端末ＩＤが付加されたストロークデータを送信する。
【００３７】
手書きコラボレーションサーバシステム（端末１０Ａ）は、受信されたストロークデータに付加されている送信元端末識別子（端末ＩＤ）に基づいて、この受信されたストロークデータを、この受信されたストロークデータの送信元端末以外の他の各端末に送信する。換言すれば、手書きコラボレーションサーバシステム（端末１０Ａ）は、個々のストロークデータが配信されるべき端末を、個々のストロークデータに対応する端末ＩＤに基づいて決定することができる。
【００３８】
図４は、ログイン状態である端末の画面（手書き共有画面）の例を示している。各端末の手書き共有画面３０Ａの表示領域においては、手書き入力可能な透明のレイヤ（手書きレイヤ）３０Ｂが設定される。この手書き共有画面３０Ａ上に、各ユーザのストロークデータ（手書きストローク）が表示される。
【００３９】
例えば、端末１０Ａの手書き共有画面３０Ａにおいては、端末１０Ａの手書き共有画面３０Ａ上でペン１００Ａを使用してユーザＡによって手書き入力されるストロークデータ（ユーザＡの手書きストローク）４０が表示される。さらに、端末１０Ａの共有画面３０Ａ上においては、他の端末から受信されるストロークデータが表示される。他の端末から受信されるストロークデータには、ユーザＢによって手書き入力されたストロークデータ（ユーザＢの手書きストローク）４２と、ユーザＣによって手書き入力されたストロークデータ（ユーザＣの手書きストローク）４４とが含まれる。
【００４０】
上述したように、異なるユーザのストロークデータは異なる形態で手書き共有画面３０Ａ上に表示される。この場合、各ストロークデータがどのユーザ（端末）に対応するかは、各ストロークデータに対応する端末ＩＤに基づいて判定することができる。あるいは、各ストロークデータがどのユーザ（端末）に対応するかは、各ストロークデータに対応するペンＩＤに基づいて判定してもよい。
【００４１】
次に、図５および図６を参照して、ユーザによって手書き入力されるストロークデータ（手書き文字、手書きマーク、手書き図形、手書き表など）と時系列情報との関係について説明する。図５は、ペン１００などを使用してタッチスクリーンディスプレイ１７上に手書きされる手書き文書（手書き文字列）の例を示している。
【００４２】
図５においては、「ＡＢＣ」の手書き文字列が「Ａ」、「Ｂ」、「Ｃ」の順番で手書きされ、この後に、手書きの矢印が、手書き文字「Ａ」のすぐ近くに手書きされた場合が想定されている。
【００４３】
手書き文字「Ａ」は、ペン１００などを使用して手書きされる２つのストローク（「∧」形状の軌跡、「−」形状の軌跡）によって表現される。最初に手書きされる「∧」形状のペン１００の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標ＳＤ１１、ＳＤ１２、…ＳＤ１ｎが得られる。同様に、次に手書きされる「−」形状のペン１００の軌跡も等時間間隔でリアルタイムにサンプリングされ、これによって「−」形状のストロークの時系列座標ＳＤ２１、ＳＤ２１、…ＳＤ２ｎが得られる。
【００４４】
手書き文字「Ｂ」は、ペン１００などを使用して手書きされた２つのストロークによって表現される。手書き文字「Ｃ」は、ペン１００などを使用して手書きされた１つのストロークによって表現される。手書きの「矢印」は、ペン１００などを使用して手書きされた２つのストロークによって表現される。
【００４５】
図６は、図５の手書き文書に対応する時系列情報２００を示している。時系列情報は、複数のストロークデータＳＤ１、ＳＤ２、…、ＳＤ７を含む。時系列情報２００内においては、これらストロークデータＳＤ１、ＳＤ２、…、ＳＤ７は、筆跡順に、つまり複数のストロークが手書きされた順に時系列に並べている。
【００４６】
時系列情報２００において、先頭の２つのストロークデータＳＤ１、ＳＤ２は、手書き文字「Ａ」の２つのストロークをそれぞれ示している。３番目と４番目のストロークデータＳＤ３、ＳＤ４は、手書き文字「Ｂ」を構成する２つのストロークをそれぞれ示している。５番目のストロークデータＳＤ５は、手書き文字「Ｃ」を構成する１つのストロークを示している。６番目と７番目のストロークデータＳＤ６、ＳＤ７は、手書き「矢印」を構成する２つのストロークをそれぞれ示している。
【００４７】
各ストロークデータは、一つのストロークに対応する座標データ系列（時系列座標）、つまり一つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいては、複数の座標はストロークが書かれた順に時系列に並べられている。例えば、手書き文字「Ａ」に関しては、ストロークデータＳＤ１は、手書き文字「Ａ」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）、つまりｎ個の座標データＳＤ１１、ＳＤ１２、…ＳＤ１ｎを含む。ストロークデータＳＤ２は、手書き文字「Ａ」の「−」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりｎ個の座標データＳＤ２１、ＳＤ２２、…ＳＤ２ｎを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。
【００４８】
各座標データは、対応する軌跡内のある１点に対応するＸ座標およびＹ座標を示す。例えば、座標データＳＤ１１は、「∧」形状のストロークの始点のＸ座標（Ｘ１１）およびＹ座標（Ｙ１１）を示す。ＳＤ１ｎは、「∧」形状のストロークの終点のＸ座標（Ｘ１ｎ）およびＹ座標（Ｙ１ｎ）を示す。
【００４９】
さらに、各座標データには、筆圧を示す情報（Ｚ）を追加してもよい。
【００５０】
図７は、タブレットコンピュータ１０のシステム構成を示す。  
タブレットコンピュータ１０は、図７に示されるように、ＣＰＵ１０１、システムコントローラ１０２、主メモリ１０３、グラフィクスプロセッシングユニット（ＧＰＵ）１０４、ＢＩＯＳ−ＲＯＭ１０５、不揮発性メモリ１０６、無線通信デバイス１０７、エンベデッドコントローラ（ＥＣ）１０８等を備える。
【００５１】
ＣＰＵ１０１は、タブレットコンピュータ１０内の各種モジュールの動作を制御するプロセッサである。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０６から主メモリ１０３にロードされる様々なプログラムを実行する。これらプログラムには、オペレーティングシステム（ＯＳ）２０１、および様々なアプリケーションプログラムが含まれている。アプリケーションプログラムには、手書き共有アプリケーションプログラム２０２が含まれている。この手書き共有アプリケーションプログラム２０２は、手書き情報を複数の端末間で共有するための上述の手書きコラボレーション機能を実行可能に構成されている。
【００５２】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００５３】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ１０２は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してグラフィクスプロセッシングユニット（ＧＰＵ）１０４との通信を実行する機能も有している。
【００５４】
ＧＰＵ１０４は、本タブレットコンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示プロセッサである。このＧＰＵ１０４によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて画面イメージを表示する。このＬＣＤ１７Ａの上面側にはタッチパネル１７Ｂが配置されている。ＬＣＤ１７Ａの下面側にはデジタイザ１７Ｃが配置されている。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置および接触位置の動き等はタッチパネル１７Ｂによって検出される。デジタイザ１７ＣはＬＣＤ１７Ａの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン１００が接触される画面上の接触位置および接触位置の動き等はデジタイザ１７Ｃによって検出される。
【００５５】
無線通信デバイス１０７は、無線通信を実行するように構成されたデバイスである。無線通信デバイス１０７は、上述のＷｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）に対応する無線通信を実行するように構成されていてもよい。
【００５６】
ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１０８は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ１０を電源オンまたは電源オフする機能を有している。
【００５７】
次に、図８を参照して、手書き共有アプリケーションプログラム２０２の機能構成について説明する。
【００５８】
手書き共有アプリケーションプログラム２０２は、手書き情報を共有するための機能実行モジュールとして、手書き入力インタフェース３００、表示処理部３０１、ストロークデータ生成部３０２、送信処理部３０４、受信処理部３０５、および処理部３０５等を含む。
【００５９】
手書き共有アプリケーションプログラム２０２は、タッチスクリーンディスプレイ１７を用いて入力されるストロークデータを使用することによって、手書きページデータの作成、表示、編集等を行う。タッチスクリーンディスプレイ１７のデジタイザ１７Ｃは、「タッチ」、「移動（スライド）」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上にペンが接触したことを示すイベントである。「移動（スライド）」は、画面上にペンが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面からペンが離されたことを示すイベントである。
【００６０】
手書き入力インタフェース３００は、タッチスクリーンディスプレイ１７のデジタイザ１７Ｃと協同して手書き入力を行うように構成されたインタフェースである。手書き入力インタフェース３００は、タッチスクリーンディスプレイ１７のデジタイザ１７Ｃから「タッチ」または「移動（スライド）」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動（スライド）」イベントにも、移動先の接触位置の座標が含まれている。したがって、手書き入力インタフェース３００は、タッチスクリーンディスプレイ１７から、接触位置の動きの軌跡に対応する座標列を受信することができる。
【００６１】
表示処理部３０１は、手書き入力インタフェース３００から座標列を受信し、この座標列に基づいて、ペン１００を使用した手書き入力操作によって手書き入力される各ストロークデータをＬＣＤ１７Ａの画面上に表示する。さらに、表示処理部３０１は、処理部３０５の制御の下、他の端末から受信されたストロークデータをＬＣＤ１７Ａの画面上に表示する。
【００６２】
ストロークデータ生成部３０２は、手書き入力インタフェース３００から上述の座標列を受信し、この座標列に基づいて、図６で詳述したような構造を有する時系列情報を生成する。この場合、時系列情報はストロークデータベース１２に格納されてもよい。
【００６３】
送信処理部３０４は、処理部３０５の制御の下、無線通信デバイス１０７を使用してストロークデータベース１２内の各ストロークデータを他の端末に送信するための処理を実行する。受信処理部３０５は、処理部３０５の制御の下、無線通信デバイス１０７を使用して他の端末からストロークデータを受信するための処理を実行する。
【００６４】
処理部３０５は、複数の端末間で手書き情報を共有するための処理を実行する。この処理部３０５は、ペンＩＤ取得部３１１、メンバ管理部３１２、ストローク管理部３１３、および表示スタイル管理部３１４等を含む。
【００６５】
ペンＩＤ取得部３１１は、ストロークデータの手書き入力に使用されるペンからペンＩＤを取得する。ペンＩＤを有するペンつまりペンＩＤを送信可能なペンを使用している端末においては、ペンＩＤ取得部３１１は、手書き入力に現在使用されているペンのペンＩＤを取得することができる。メンバ管理部３１２は、手書き共有サービスにログインしているメンバ（端末）それぞれを管理する。メンバ管理部３１２は、手書き共有サービスへのログインを要求している端末に、ログインすることを許可するか否かを決定することができる。この場合、メンバ管理部３１２は、新たな端末のログインを許可するか否かを各メンバに問い合わせ、全てのメンバから許可を受け取ることを条件に、新たな端末のログインを許可してもよい。メンバ管理部３１２から許可を受け取った端末は、手書き共有サービスにログインすることが許可され、これによって手書き共有サービスにログインしている他の各端末と接続される。メンバ管理部３１２の機能は、手書きコラボレーションサーバシステムとして動作する端末においてのみ実行されても良い。
【００６６】
ストローク管理部３１３は、手書き共有サービスに参加している各端末つまりログイン状態である各端末から受信されるストロークデータを、ストロークデータベース１２を使用して、管理する。ストローク管理部３１３は、手書きコラボレーションサーバシステムとして動作する端末においてのみ実行されても良い。
【００６７】
表示スタイル管理部３１４は、ログインした端末（ユーザ）毎に、端末ＩＤまたはペンＩＤとストロークデータの表示の形態との関係を管理する。手書きコラボレーションサーバシステムとして動作する端末の表示スタイル管理部３１４は、端末ＩＤまたはペンＩＤとストロークデータの表示の形態との関係を端末毎に規定する形態情報である表示スタイル管理テーブルを生成し、この表示スタイル管理テーブルを他の各端末に送信することができる。手書き共有サービスの実行中は、各端末は、表示スタイル管理テーブルを使用して、個々のストロークデータの表示に使用する形態を決定する。
【００６８】
ところで、手書き共有サービスを会議等を実行するためのツールとして有用なものとするためには、図３で説明したようにユーザＡ，Ｂ，Ｃの三人が手書き共有サービスにログインしている状態で、新たにユーザＤがこの手書き共有サービスにログインした際に、既にユーザＡ，Ｂ，Ｃの各端末に表示されている手書き情報をユーザＤの端末の画面上に反映できるようにする同期機能が必要とされる。
【００６９】
しかし、一方で、手書き共有サービスをビジネス環境で利用する場合には、セキュリティが重要な要素になってくる。もし端末１０Ａ，端末１０Ｂ，端末１０Ｃに現在表示されている内容の全てが、後からログインしたユーザＤの端末に無条件に表示されてしまったならば、セキュリティ性が損なわれる可能性がある。
【００７０】
例えば、端末１０Ｃのログアウト後にユーザＤの端末が新たにログインするというケースを想定すると、端末１０ＣのユーザＣが本来意図しない範囲にまで、つまり新たにログインしたユーザＤの端末にまで、ユーザＣの手書き情報が拡散されてしまう可能性がある。
【００７１】
端末１０Ｃのログアウトは、例えば、端末１０Ｃの手書き共有アプリケーションプログラムの終了、ユーザＣによる明示的なログアウト操作、端末１０Ｃの電源オフ、のようなイベントの発生によって引き起こされる。
【００７２】
本実施形態では、処理部３０５は、既にログアウトした端末において手書き入力されたストローク群が新たにログインした端末において表示されるのを防止することを可能にするためのセキュリティ機能を有している。このセキュリティ機能の詳細は、図１１以降で説明する。
【００７３】
図９は、手書きコラボレーションサーバシステム（端末１０Ａ）のストロークデータベース１２の内容を示す。ストロークデータベース１２は、レコードＩＤがそれぞれ割り当てられた多数のレコード（多数の記憶領域）を含む。１つのレコードには１つのストロークデータ（１画）が割り当てられる。各レコードにおいては、端末ＩＤ（デバイスＩＤ）、およびストロークデータ（座標列）、等が格納される。さらに、ストロークデータに対応するユーザＩＤおよびペンＩＤ等を各レコードに格納しても良い。
【００７４】
図９においては、レコードＩＤ＝１、レコードＩＤ＝２、…、レコードＩＤ＝１０２の各レコードには、端末１０Ａ（端末ＩＤ＝Ａ）において手書き入力されたストロークデータが格納されている。レコードＩＤ＝３のレコードには、端末１０Ｂ（端末ＩＤ＝Ｂ）において手書き入力されたストロークデータが格納されている。レコードＩＤ＝４、…、レコードＩＤ＝１００、レコードＩＤ＝１０１の各レコードには、端末１０Ｃ（端末ＩＤ＝Ｃ）において手書き入力されたストロークデータが格納されている。
【００７５】
図１０は、手書きコラボレーションサーバシステムとして動作する端末の表示スタイル管理部３１４によって生成される表示スタイル管理テーブル４００を示す。
【００７６】
表示スタイル管理テーブル４００は、上述したように、端末ＩＤまたはペンＩＤとストロークデータの表示の形態（色、太さ、その他）との関係を端末毎に規定する。
【００７７】
図１０においては、端末１０Ａ、１０Ｂ、１０Ｃ、１０Ｄが手書き共有サービスにログインしている場合が想定されている。
【００７８】
ここでは、端末１０Ａ（端末ＩＤ＝Ａ）においてはペンＩＤ＝ＰＥＮ１のペンが手書き入力のために使用され、端末１０Ｂ（端末ＩＤ＝Ｂ）においてはペンＩＤを持たないペンが手書き入力のために使用され、端末１０Ｃ（端末ＩＤ＝Ｃ）においてはペンＩＤ＝ＰＥＮ３のペンが手書き入力のために使用され、端末１０Ｄ（端末ＩＤ＝Ｄ）においてはペンＩＤ＝ＰＥＮ１１のペンが手書き入力のために使用されている場合が想定されている。
【００７９】
表示スタイル管理テーブル４００は、手書き共有サービスにログインしているユーザそれぞれに対応するレコード（記憶領域）を含む。各レコードは、「端末ＩＤ」フィールド、「ペンＩＤ」フィールド、「ストロークの色」フィールド、「ストロークの太さ」フィールド、「その他」フィールドを含む。「端末ＩＤ」フィールドは、対応するユーザ（端末）の端末ＩＤを格納する。「ペンＩＤ」フィールドは、対応するユーザ（端末）がログイン時に使用したペンのペンＩＤを格納する。「ストロークの色」フィールドは、対応するユーザのストロークを表示するために使用すべき色を示す情報を格納する。「ストロークの太さ」フィールドは、対応するユーザのストロークを表示するために使用すべき太さを示す情報を格納する。
【００８０】
例えば、ユーザＡに対応するレコードに関しては、端末ＩＤ「Ａ」が「端末ＩＤ」フィールドに格納され、ペンＩＤ「ＰＥＮ１」が「ペンＩＤ」フィールドに格納され、色「黒」が「ストロークの色」フィールドに格納されている。
【００８１】
ユーザＢに対応するレコードに関しては、端末ＩＤ「Ｂ」が「端末ＩＤ」フィールドに格納され、ペンＩＤ「なし」が「ペンＩＤ」フィールドに格納され、色「赤」が「ストロークの色」フィールドに格納されている。なお、端末１０Ｂ（端末ＩＤ＝Ｂ）においてペンＩＤ＝ＰＥＮ２のペンがログイン時に使用された場合には、ペンＩＤ「なし」の代わりに、ペンＩＤ「ＰＥＮ２」が「ペンＩＤ」フィールドに格納される。
【００８２】
ユーザＣに対応するレコードに関しては、端末ＩＤ「Ｃ」が「端末ＩＤ」フィールドに格納され、ペンＩＤ「ＰＥＮ３」が「ペンＩＤ」フィールドに格納され、色「緑」が「ストロークの色」フィールドに格納されている。
【００８３】
ユーザＤに対応するレコードに関しては、端末ＩＤ「Ｄ」が「端末ＩＤ」フィールドに格納され、ペンＩＤ「ＰＥＮ１１」が「ペンＩＤ」フィールドに格納され、色「青」が「ストロークの色」フィールドに格納されている。
【００８４】
各ユーザ（各端末）の端末ＩＤまたはペンＩＤに割り当てられるストロークの表示形態（色、太さ、等）は、各ユーザが、現在使用されていない形態（色、太さ、等）から選択しても良い。あるいは、手書きコラボレーションサーバシステムとして動作する端末が、各ユーザ（各端末）に割り当てるべきストロークの形態を決定してもよい。
【００８５】
本実施形態においては、上述したように、表示スタイル管理テーブル４００は、ログイン状態である各端末に配信される。したがって、どの端末も、異なるユーザによって書かされたストロークデータを異なる形態で表示することができる。
【００８６】
次に、図１１を参照して、処理部３０５によって実行されるストロークデータ配信処理を説明する。このストロークデータ配信処理には、上述のセキュリティ機能（ストローク非表示制御処理）が組み込まれている。
【００８７】
図１１においては、図３で説明したように、端末１０Ａ、端末１０Ｂ、および端末１０Ｃが手書き共有サービスにログインしている場合が想定されている。端末１０Ａは、手書きコラボレーションサーバシステムとして機能する。
【００８８】
いま、端末１０Ｃのログアウト後に端末１０Ｄが手書き共有サービスに新たにログインする場合を想定する。この場合、もし手書きコラボレーションサーバシステム（端末１０Ａ）がストロークデータベース１２に格納されている全てのストロークデータを端末１０Ｄに送信したならば、ログアウトした端末１０ＣのユーザＣが意図していない端末１０Ｄにまで、ユーザＣのストロークデータが拡散されてしまう可能性がある。
【００８９】
このため、本実施形態では、手書きコラボレーションサーバシステム（端末１０Ａ）は、ログアウトした端末１０Ｃ以外の各端末の端末ＩＤに関連付けられているストローク群をストロークデータベース１２から取得し、この取得したストローク群のみを端末１０Ｄに送信する。
【００９０】
より詳しくは、手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５は、端末１０Ｄのログイン前に端末１０Ａにおいて手書き入力されたストロークデータ群と、端末１０Ｄのログイン前に端末１０Ｂにおいて手書き入力されたストロークデータ群とを、端末１０Ｄに送信する。端末１０Ｄのログイン前に端末１０Ａにおいて手書き入力されたストロークデータ群は、端末１０Ａの端末ＩＤが関連付けられた、ストロークデータベース１２内のストロークデータ群である。同様に、端末１０Ｄのログイン前に端末１０Ｂにおいて手書き入力されたストロークデータ群は、端末１０Ｂの端末ＩＤが関連付けられた、ストロークデータベース１２内のストロークデータ群である。手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５から端末１０Ｄに送信される各ストロークデータには、このストロークデータに対応する端末ＩＤが付加されていてもよい。あるいは、手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５から端末１０Ｄに送信される各ストロークデータには、このストロークデータに対応する端末ＩＤとこのストロークデータに対応するペンＩＤの双方が付加されていてもよい。
【００９１】
手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５は、ログアウトした端末１０Ｃにおいて手書き入力されたストロークデータ群を端末１０Ｄに送信しない。
【００９２】
以上のようなストローク非表示制御処理を含む配信処理（同期処理）により、現在ログイン状態である各端末の過去の手書き情報を、新たにログインした端末の画面に表示することができ、さらに、既にログアウトした端末１０ＣのユーザＣが意図していない範囲にまで、このユーザＣのストロークデータが拡散されてしまうことを防ぐことができる。
【００９３】
また、端末１０Ｄのログイン後においては、手書きコラボレーションサーバシステム（端末１０Ａ）の受信処理部３０３は、端末１０Ｄにおいて手書き入力されるストロークデータを受信する。端末１０Ｄから受信されたストロークデータは端末１０Ｄの端末ＩＤに対応付けられた状態でストロークデータベース１２に格納されると共に、送信処理部３０４によって他の各端末に送信される。
【００９４】
図１２は、端末１０Ａ、１０Ｂ、１０Ｃにそれぞれ表示される手書き共有画面の表示内容を示す。端末１０Ａ、１０Ｂの各々の手書き共有画面においては、端末１０Ａにおいて手書き入力された全てのストロークデータおよび端末１０Ｂにおいて手書き入力された全てのストロークデータが表示される。さらに、端末１０Ａ、１０Ｂの各々の手書き共有画面においては、端末１０Ｃのログアウト前に端末１０Ｃにおいて手書き入力された全てのストロークデータも表示され続ける。
【００９５】
一方、端末１０Ｃのログイン直後の端末１０Ｃの手書き共有画面においては、端末１０Ｃのログイン前に端末１０Ａにおいて手書き入力された全てのストロークデータと、端末１０Ｃのログイン前に端末１０Ｂにおいて手書き入力された全てのストロークデータが表示される。しかし、ログアウトした端末１０Ｃのどのストロークデータも端末１０Ｃの手書き共有画面に表示されない。
【００９６】
図１３は、端末１０Ａ、１０Ｂ、１０Ｃにそれぞれ表示される手書き共有画面の別の表示内容を示す。
【００９７】
図１３においては、端末１０Ａ、１０Ｂの各々の手書き共有画面においても、ログアウトした端末１０Ｃの全てのストロークデータが非表示となる。この場合、端末１０Ｃのログアウトの直後に、手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５は、端末１０の手書き共有画面上の端末１０Ｃのストロークデータ群を非表示にすると共に、端末１０Ｃのストロークデータ群を非表示にするための情報を端末１０Ｂに送信するための処理を実行する。
【００９８】
端末１０Ｃのストロークデータ群を非表示にするための情報は、端末１０Ｃのストロークデータ群を非表示にできる情報であればどのような情報であってもよい。例えば、手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５は、端末１０Ｃのストロークデータ群の非表示を要求するコマンドを、端末１０Ｂに送信するための処理を実行しても良い。あるいは、手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５は、端末１０Ｃの各ストロークデータを消去するための消去ストロークデータを端末１０Ｂに送信するための処理を実行しても良い。消去ストロークデータは、「消しゴム」ツールによって描画されるストロークデータと同様の属性、つまりこの消去ストロークデータと重なるストロークデータを透明にする属性を有する。
【００９９】
なお、以上の説明では、手書き共有サービスにログインしている複数の手書き可能端末の１つが手書きコラボレーションサーバシステムとして機能する場合を例示したが、手書きコラボレーションサーバシステムは、手書き可能端末以外の１以上のサーバによって実現されても良い。
【０１００】
図１４においては、手書きコラボレーションサーバシステム２は、インターネット、イントラネットのようなネットワーク１上の１以上のサーバによって実現されている。手書きコラボレーションサーバシステム２は、ストローク受信処理部２１、ストローク送信処理部２２、およびストローク処理部２３を備える。ストローク受信処理部２１は、端末１０Ａ，１０Ｂ，１０Ｃの各々において手書き入力されるストロークデータをこれら端末１０Ａ，１０Ｂ，１０Ｃの各々から受信する。ストローク処理部２３は、受信された各ストロークデータを当該ストロークデータの送信元端末の端末ＩＤに対応付けてストロークデータベース１２に格納する。ストローク送信処理部２２は、端末１０Ａ，１０Ｂ，１０Ｃ内の任意の端末（第１の端末）に、第１の端末以外の他の端末から受信されたストロークデータを送信する。
【０１０１】
ある端末（例えば端末１０Ｃ）のログアウト後に端末１０Ｄが新たにログインした場合には、ストローク送信処理部２２は、ログアウトした端末１０Ｃ以外の各端末の端末ＩＤに関連付けられているストローク群をストロークデータベース１２から取得し、この取得したストローク群を端末１０Ｄに送信する。
【０１０２】
図１５のフローチャートを参照して、本実施形態の配信処理の手順を示す。以下では、手書きコラボレーションサーバシステムが端末１０Ａによって実現されている場合を想定する。
【０１０３】
手書きコラボレーションサーバシステム（端末１０Ａ）は、ログイン状態である端末Ｂ（端末１０Ｂ）からストロークデータを受信する（ステップＳ１１）。端末Ｂ（端末１０Ｂ）から受信されるストロークデータは、端末Ｂ（端末１０Ｂ）において手書き入力されるストロークデータである。手書きコラボレーションサーバシステム（端末１０Ａ）は、端末Ｂ（端末１０Ｂ）から受信されるストロークデータを、ログイン状態である他の全ての端末に送信する（ステップＳ１２）。ステップＳ１２では、端末Ｂ（端末１０Ｂ）から受信されるストロークデータが、ログイン状態である他の全ての端末にブロードキャストされても良い。ステップＳ１１、Ｓ１２の処理により、端末Ｂ（端末１０Ｂ）において手書きされる手書きオブジェクトは、ストロークデータ単位で、他の各端末の画面にリアルタイムに反映される。
【０１０４】
手書きコラボレーションサーバシステム（端末１０Ａ）は、ログイン状態である端末Ｃ（端末１０Ｃ）からストロークデータを受信する（ステップＳ１３）。端末Ｃ（端末１０Ｃ）から受信されるストロークデータは、端末Ｃ（端末１０Ｃ）において手書き入力されるストロークデータである。手書きコラボレーションサーバシステム（端末１０Ａ）は、端末Ｃ（端末１０Ｃ）から受信されるストロークデータを、ログイン状態である他の全ての端末に送信する（ステップＳ１４）。ステップＳ１４では、端末Ｃ（端末１０Ｃ）から受信されるストロークデータが、ログイン状態である他の全ての端末にブロードキャストされても良い。ステップＳ１３、Ｓ１４の処理により、端末Ｃ（端末１０Ｃ）において手書きされる手書きオブジェクトも、ストロークデータ単位で、他の各端末の画面にリアルタイムに反映される。
【０１０５】
図１６は、共有される手書き情報の取り扱いに関する幾つかのポリシーの設定例を示す。
【０１０６】
本実施形態のポリシー設定においては、ログアウトしたユーザ（参加者）の手書きストロークを非表示にする機能を有効にするか否かを設定することができる。この設定は、例えば、手書きコラボレーションサーバシステムとして機能する端末１０ＡのユーザＡの操作に応じて実行されても良い。
【０１０７】
ログアウトしたユーザ（参加者）の手書きストロークを非表示にする機能が有効にされた場合には、「新たにログインした参加者に見せない」というオプションを有効にするか否かを設定することもできる。なお、このオプションは、ログアウトしたユーザ（参加者）の手書きストロークを非表示にする機能が有効にされた場合に自動的に有効になっても良い。
【０１０８】
また、ログアウトしたユーザ（参加者）の手書きストロークを非表示にする機能が有効にされた場合には、「既存の参加者に見せない」というオプションを有効にするか否かを設定することもできる。
【０１０９】
図１７のフローチャートは、ストローク非表示制御処理の手順を示す。  
手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５は、手書き共有サービスにログイン状態のある端末が手書き共有サービスからログアウトされたか否かを判定する（ステップＳ２１）。ステップＳ２１においては、処理部３０５は、ある端末からのログアウト要求の受信に応答して、あるいはある端末からのレスポンスが閾値時間以上途絶えたことの検出に応答して、このある端末がログアウトされたと決定しても良い。
【０１１０】
ある端末がログアウトされたならば（ステップＳ２１のＹＥＳ）、手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５は、「既存の参加者に見せない」というオプションが有効であるか否かを判定する（ステップＳ２２）。
【０１１１】
「既存の参加者に見せない」というオプションが有効であるならば（ステップＳ２２のＹＥＳ）、手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５は、ログアウトされた端末（例えば端末１０Ｃ）のストロークデータ群を非表示にするための情報を、ログイン状態である他の各端末に送信する（ステップＳ２３）。ステップＳ２３では、手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５は、端末１０Ａの手書き共有画面に表示されている端末１０Ｃのストロークデータ群を非表示にする処理も実行する。
【０１１２】
「既存の参加者に見せない」というオプションが有効でないならば（ステップＳ２２のＮＯ）、手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５は、ステップＳ２３の処理を実行しない。
【０１１３】
次いで、手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５は、新たな端末が手書き共有サービスにログインしたか否かを判定する（ステップＳ２４）。
【０１１４】
新たな端末が手書き共有サービスにログインしたならば（ステップＳ２４のＹＥＳ）、手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５は、「新たにログインした参加者に見せない」というオプションが有効であるか否かを判定する（ステップＳ２５）。
【０１１５】
「新たにログインした参加者に見せない」というオプションが有効であるならば（ステップＳ２５のＹＥＳ）、手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５は、ログアウトした端末以外の他の各端末のストロークデータ群のみを、新たにログインした端末に送信する（ステップＳ２６）。ステップＳ２６では、処理部３０５は、、ログアウトした端末以外の他の各端末の端末ＩＤに関連付けられたストロークデータ群をストロークデータベース１２から取得し、これらストロークデータ群を新たにログインした端末に送信する。
【０１１６】
「新たにログインした参加者に見せない」というオプションが有効でないならば（ステップＳ２５のＮＯ）、手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５は、全てのストロークデータを、つまりログアウトした端末のストロークデータ群と他の各端末のストロークデータ群とを新たにログインした端末に送信する（ステップＳ２７）。
【０１１７】
以上説明したように、本実施形態においては、ある端末のログアウト後に別の端末が新たなログインした場合には、ログアウトした端末以外の他の各端末のストロークデータ群が、新たにログインした端末に送信され、ログアウトした端末のストロークデータ群は、新たにログインした端末に送信されない。したがって、現在ログイン状態である各端末の過去の手書き情報を、新たにログインした端末の画面に表示することができ、さらに、既にログアウトした端末において手書き入力されたストローク群が、既にログアウトした端末のユーザが予期しない端末（つまり新たにログインした端末）において表示されるのを防止することができる。よって、既にログアウトした端末のユーザが意図しない範囲にまでこのユーザのストロークデータ群が拡散されてしまうことを防ぐことができるので、手書き情報を安全に共有することが可能となる。
【０１１８】
なお、本実施形態の手書きコラボレーションサーバシステム（端末１０Ａ）の処理部３０５の各機能はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１１９】
このコンピュータプログラムがインストールされたコンピュータ内のＣＰＵは上述のストローク非表示制御処理を含む配信処理を実行するように構成されたプロセッサとして機能し得る。また、このコンピュータプログラムがインストールされたコンピュータ内の無線通信デバイスは、各端末において手書き入力されるストロークデータを受信するように構成された受信部として機能し得、さらに、受信された各ストロークデータを、このストロークデータの送信元以外の他の各端末に送信する送信部として機能し得る。
【０１２０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【図１】
2015189964.tif 000003
【図２】
2015189964.tif 000004
【図３】
2015189964.tif 000005
【図４】
2015189964.tif 000006
【図５】
2015189964.tif 000007
【図６】
2015189964.tif 000008
【図７】
2015189964.tif 000009
【図８】
2015189964.tif 000010
【図９】
2015189964.tif 000011
【図１０】
2015189964.tif 000012
【図１１】
2015189964.tif 000013
【図１２】
2015189964.tif 000014
【図１３】
2015189964.tif 000015
【図１４】
2015189964.tif 000016
【図１５】
2015189964.tif 000017
【図１６】
2015189964.tif 000018
【図１７】
2015189964.tif 000019
【国際調査報告】
2015189964.tif 000020
2015189964.tif 000021
2015189964.tif 000022
2015189964.tif 000023