以下、図面を参照して本発明の実施の形態について詳細に説明する。
図1は、本発明に係る表示制御方法および情報表示処理システムを適用した電子会議システムの構成例を示す図である。
なお、この例での電子会議の場面設定としては、たとえば、開発開始提案や国際技術標準化会議など、電子的なドキュメントベースの会議の場面を想定する。
電子的なドキュメントとしては、たとえば、開発開始提案の場面では、前任機(現行機種など開発対象機種に対するそれ以前の機種)に関する仕様書、市場トラブルレポート、サポート部門の技術標準書類、など類似文書が多数ある。また、技術標準化会議の場面では、似たような技術標準書や同じ技術に関するメーリングリストなど関連する文書が周囲に存在している。
電子会議システムへの参加者としては、たとえば、決定に影響を与えたり決定事項から影響を受けたりする組織の代表である参加者、議長、記録係などが想定される。
電子会議システムでは、たとえば、代表者の誰かが提案書を纏め事前に資料を配布している。そして、会議の前に参加者ならびに議長が資料を読み、手書きのアノテーションを表示画面上に加えることができる。また、会議の進行中に組織の代表者は、バックオフィスにいる関係者とアノテーションを用いてコンテキストを共有し、また互いに連絡をとりながらリアルタイムに部門意見の調整を行なうこともできる。
ここで、電子会議システムにおける会議の流れの中で、手書きアノテーションの共有が関わる場面としては、たとえば、次のようなものが考えられる。
*配布された資料を会議前に読み、アノテーションを書き込む。
*説明内容を聞きながらアノテーションを入れる。
*質疑応答セッションで、アノテーションをもとに質問箇所を素早く探して質問する、あるいは応答する。
*過去の関連文書を検索する。
*会議中で同僚に質問する。
*議論のセッション。
*採択や意見集約のセッション。
*合意事項の確認のセッション。
*議事録作成。
*会議の模様をグループのメンバーに報告する。
*会議を通して専門家を発見したり、多様な視点に気付かされたりする。
<<システム構成の概要>>
次に、図1に示した電子会議システムの構成を説明する。電子会議システム1は、電子会議の参加者が使用するクライアントシステム100と、電子会議システム1にて使用される電子データ(文書データに限らず、会議に必要な他の電子的な情報の全てを含む)を処理するサーバシステム200とを備えている。クライアントシステム100およびサーバシステム200を構成する各機能要素は、有線や無線などのネットワーク(通信網)9によって接続されている。
クライアントシステム100は、会議への参加者ごとに設けられている。図示した例では、2セット分を例示しているが、その数は2つに限らない。なお、1つのセットを複数人が共用してもかまわない。
クライアントシステム100は、電子文書を表示するための文書ビューア102(図では102a,102b)、文書ビューア102に表示されている電子文書に付加情報の一例であるアノテーションを付与するためのアノテーションデバイス170(図では170a,170b)、および画面操作の履歴を保存したり文書ビューア102を制御したりするマネジャ部180(図では180a,180b)を有する。文書ビューア102とアノテーションデバイス170とで、付加情報付与部106(図では106a,106b)およびアノテーション検出部(アノテーション付与部分情報取得部)107(図では107a,107b)とが構成される。
文書ビューア102は、図示しない本体(クレードル/ドッキングステーション)に装着自在となっている。文書ビューア102としては、たとえば、パソコンなどに使用されるCRTや液晶(LCD)などのディスプレイや、紙を模倣したようなデバイス(たとえばタブレットPC)などを使用するとよい。なお、文書ビューア102は、ホワイトボード程度の大きさにした大型タブレットとして構成してもよい。
アノテーションデバイス170としては、手書き入力ができる機能を備えたものであるのがよく、たとえばペンの形状を持つデバイスなどの入力デバイスを使用するとよい。ペン形状のデバイスの場合、表示面上をデバイスで直接指示できるように、たとえば電磁誘導方式の検知機構とする場合には文書ビューア102およびアノテーションデバイス170ともに指示入力を検知する仕組みを持つものとする。また、タッチパネル方式を採用してもかまわない。また、アノテーションデバイス170は、ペン型のものに限らず、マウスやキーボードなどの入力・指示デバイスを用いるものであってもよい。
マネジャ部180は、文書の閲覧履歴やアノテーションの履歴(ログファイル)を保存するログファイル格納部182(図では182a,182b)を有する。また、このマネジャ部180は、読み手により指定された表示手法(本例では強調表示機能)を実現する機能部が設けられる(後述する図3参照)。
サーバシステム200は、付加情報管理部の一例であってログファイルやアノテーションを管理するアノテーション管理部210、電子文書を管理する文書管理部220、個人のプロファイルを管理するプロファイル管理部230、会議と参加ユーザとを管理する会議管理部235、および文章の解析や重要語の抽出を行なうなどして会議を支援する情報検索部240を有する。
アノテーション管理部210は、文書に付与されたアノテーションの保存と検索を行なうサーバであるアノテーションサーバ212と、各クライアント端末のログファイルの内容を保存するデータベース(Data Base )であるアクションログDB214と、付加情報格納部の一例であってアノテーションおよびそれに付随する属性情報を保存するためのデータベースであるアノテーションDB216とを有する。
文書管理部220は、文書の保存と検索を行なうサーバである文書サーバ222と、文書およびそれに付随した属性情報を保存するためのデータベースである文書DB224とを有する。
文書本体を管理する文書管理部220と、電子文書に付与されるアノテーションなどの付加情報を管理するアノテーション管理部210とを設けることで、配布資料に対する加筆修正がそれぞれ独自に行なわれるケースでも、会議終了時に原本と合わせたときにその内容に矛盾が生じることを回避することができる。
たとえば、だれかが原本のある部分に補足説明を加え、一方、だれかが同じ部分を削除するような修正を加えたときでも、それらの編集部分を文書DB224に登録されている文書本体とは別に、文書本体と対応付けてアノテーションDB216に登録しておくことで、会議資料本体やこれに対する加筆修正などの内容に矛盾が生じることなく情報の管理を行なうことができる。また、アノテーションDB216を参照することで、その場で出された意見や討論の内容を後で書き出すことも容易である。
プロファイル管理部230は、各ユーザの氏名やパスワード、あるいは会社での所属グループなどの個人のプロファイルの保存と検索を行なうサーバであるプロファイルサーバ232と、個人のプロファイルを保存するデータベースであるプロファイルDB234とを有する。
会議管理部235は、会議とその会議に参加可能なユーザとを管理するサーバである会議サーバ236と、会議IDと参加可能なユーザIDとを対応付けて保存するデータベースである会議DB238とを有する。
情報検索部240は、文章の解析や重要語の抽出を行なうサーバである自然言語処理サーバ242と、自然言語処理サーバ242が参照する解析辞書や類義語辞書などを保存したデータベースである自然言語処理DB244とを有する。
自然言語処理DB244には、情報検索手法に適したデータ構造で所定のデータが格納される。たとえば、語義ベースで単語の意味ベクトルを格納する単語ベクトル辞書(辞書はデータベースの一例)、係り受け単語間の共起関係を格納する共起データベース、あるいは類義語展開や関連展開を行なうために使用される拡張辞書(類義語辞書を含む)などを格納する。
情報検索部240は、自然言語処理DB244に、これら種々のデータベース(辞書を含む)を有することで、さまざまな検索エンジンを選択して使うことができるようになる。
なお、図示したサーバシステム200の各管理部210,220,230,235,240は、それぞれ別体のものであってもよいし、任意の組合せにて同一筐体内に収容されたものであってもよい。たとえば、各サーバは共通のコンピュータで構成されていてもよいし、各データベースとして共通のハードディスク装置を利用するものであってもよい。なお、アノテーション管理部210、文書管理部220、および情報検索部240を纏めて、文書情報管理部ともいう。これら管理部210,220,230,240としては、たとえばワークステーションが使用されるとよい。
<文書ビューアの外観>
図2は、情報表示処理装置の一実施形態である文書ビューア102の表示面側に着目した外観図である。図示するように、この文書ビューア102は、表示デバイスの一例である液晶表示パネル103と種々のハードウェアキーで構成された操作ボタン110とが筐体109に収容されて構成されており、ある程度の厚みを持った1枚の板状に形成されている。
液晶表示パネル103は、バックライト付きパネルとして構成されており、文書を表示するための文書表示エリア104として使用される。文書表示エリア104上は、アノテーションデバイス170にて手書き入力(デジタルインク)が可能である。マネジャ部180には、このデジタルインクに対応したメモ書きユーティリティ(ハードウェアおよびアプリケーションソフト)が組み込まれる。
デジタルインクに対応したコントローラとしては、手書きで入力したデータを“デジタルインク(手書き文字)”として認識し処理するためのものであればよく、必ずしも、手書きで入力したものをテキスト変換する機能(手書き文字認識機能)を備えたものである必要はない。この場合でも、テキストの最上位フォーマットとして取り扱うことができ、手書き文字のまま検索したり、文字を加工(カラー変更など)したりすることができる。なお、デジタルインクデータフォーマットを画像データ(たとえばビットマップデータ)として取り扱ってもよい。
このように、文書ビューア102は、紙の文書を読む際に文書に好きな形で下線や丸を付けたり、メモを書き込んだりするのと同様に、アノテーションデバイス170を用いて書込み入力が可能となっている。また、厚みを持った1枚の板状に形成されているので、たとえば、書込み時に、膝の上に置いたり傾けたりして読みやすい位置や角度に据えることも容易である。
書込み入力された情報(文書本体の付加情報)は、文書ビューア102内の図示しない記憶部に保持され、所定のときにサーバシステム200のアノテーション管理部210に送られ、アノテーションDB216に文書本体と対応付けられて格納される。後にその文書を読み出すときには、文書本体とともに、過去に記入したアノテーションも読み出され、文書表示エリア104に表示される。
これにより、紙のように自由に好きな形で下線や丸あるいはメモなどの書込みを入れることで、情報の記載場所に関する読み手の記憶を視覚的に助ける効果を発揮させることが可能となる。
たとえば、電子会議システム1を利用した会議であれば、配布された資料を会議前に読みアノテーションを書き込んだり、あるいは説明内容を聞きながらアノテーションを入れたりするなどに利用することができる。
操作ボタン110としては、複数のハードウェアキーが用意されている。たとえば図示するように、文書DB224に格納された文書を読み込むための文書読込みボタン114と、文書表示エリア104に描画されたアノテーションを保存するための保存ボタン116と、アノテーションDB216に保存されるアノテーションを検索し文書表示エリア104に表示させるための検索ボタン118と、表示を更新させるための更新ボタン120とを備えている。
また、操作ボタン110としては、ページを前後に捲るための前ページ送りボタン122aおよび次ページ送りボタン122bからなるページ捲りボタン122と、重要語を表示するための強調表示ボタン124と、文書ビューア102が開いている文書にアノテーションを付けているユーザの一覧を表示するユーザ表示ボタン126とを備えている。
なお、操作ボタン110のハードウェアキーに代えて、文書表示エリア104にキーボタンを表示するソフトウェアキーとしてもよい。
この文書ビューア102は、内部に備えられている記憶媒体から読み出したデータ、あるいは図示しないネットワーク接続機能部を介してサーバシステム200(Webサーバでもよい)などから取得したデータに基づいて画像を液晶表示パネル103に表示するように構成されている。
また、文書ビューア102は、本を読むようにパラパラと捲りながらページ単位で表示を切り替えていく機能(捲り表示機能)が搭載されており、この捲り表示機能を利用することで、たとえば、取り込んだ多数の情報の中から所望の情報を素早く検索できるように構成されている。
すなわち、この文書ビューア102における情報検索時には、前ページ送りボタン122aや次ページ送りボタン122bといった2つのページ送りボタン(ページ捲りボタン122)を操作することで、ページ捲り操作を行ないながら所望のページ情報を液晶表示パネル103に表示させることができる。また、前ページ送りボタン122aや次ページ送りボタン122bの何れか一方を連続的に押し続けると高速でページ送りを行なうことができ、これにより、次々と表示される情報を確認しながら所望とする情報を探すという操作が可能となっている。
また、捲り表示の際は、ページ送り操作に合わせて、液晶表示パネル103の液晶素子を駆動する画素振幅である画像コントラストや画像全体の明るさである表示明度(ブライトネス/背景輝度)を通常表示時と異なるものとし、表示デバイス上の表示画像の明暗状態を所定時間に亘って通常状態の明暗の調子と異なるものにすることで、全体の画像の特徴抽出が容易となるように構成されている。
<文書ビューア/マネジャ部>
図3は、文書ビューア102とマネジャ部180の機能ブロック図である。文書ビューア102は、ページ単位で画像を表示する表示デバイスの一例である液晶表示パネル103と、文書ビューア102におけるの表示処理全体を制御するコントローラ130と、所定条件の元に新しいページ画像を生成するページ画像生成部140とを備える。コントローラ130は、操作ボタン110を介して液晶表示パネル103上のページ画像の切替指示を受け付けるページ送り指示受付部132を有する。ページ画像生成部140は、ページ送り指示受付部132がページ画像の切替指示を受け付けたことを条件として新しいページ画像を生成する。
また、文書ビューア102は、ページ送り指示受付部132がページ画像の切替指示を受け付けたことを条件として、液晶表示パネル103上の画像を切り替えるとともに表示画像の明暗状態を所定順序に従って切り替える表示輝度制御部150を備える。
ページ画像生成部140は、ページ送り指示受付部132がページ画像の切替指示を受け付けると、指示された方向(前方/後方の何れか)の新しいページ画像を生成し、生成し終えると、その旨を示す生成完了信号S1を表示輝度制御部150に通知する。
表示輝度制御部150は、液晶表示パネル103上におけるページ画像の表示コントラストを制御する機能部であるコントラスト制御部150aと、液晶表示パネル103のバックライト輝度を制御することでブライトネスを制御する機能部であるブライトネス制御部150bとを有する。また、表示輝度制御部150は、液晶表示パネル103上のページ画像のコントラストをコントラスト制御部150aにより調整したり、あるいはページ画像のブライトネスをブライトネス制御部150bにより調整することで、液晶表示パネル103上における表示輝度を制御する。なお、コントラストおよびブライトネスの両方に限らず、この両者の少なくとも一方を調整するものであればよい。
この表示輝度制御部150は、ページ送り指示受付部132がページ画像の切替指示を受け付けると、液晶表示パネル103の画像をページ画像生成部140が生成した新しいページ画像に切り替えるとともに、表示輝度を所定時間だけ通常表示(その時点にユーザが設定しているコントラストやブライトネスの状態)と少し変える機能を備えている。これにより、本を読むようにパラパラと捲りながら表示を行なっていく場合でも、判別能を高めることができる。
一方、マネジャ部180は、ログファイル格納部182の他に、読み手が読もうとする対象文書を文書DB224から取り込み強調表示すべき文字やセンテンスを特定する強調語/センテンス特定部184と、強調表示すべき文字やセンテンスの選択手法を強調語/センテンス特定部184に指示する強調語/センテンス選択手法指示部186と、強調表示機能の有効/無効(オン/オフ)を制御する強調指示制御部188とを備える。
マネジャ部180は、先ず、強調語/センテンス選択手法指示部186にて読み手(本例では会議参加者)により指定された手法を実現する強調語/センテンス特定手法を選択し強調語/センテンス特定部184に指示する。読み手が読もうとする対象文書は、強調語/センテンス特定部184に入力される。強調表示機能がオンとなっている場合は、強調語/センテンス特定部184にて強調表示すべき語句(単語、センテンス、あるいは文章)をどのように表示するかが決定された後に文書ビューア102のコントローラ130を通じページ画像生成部140へ画像情報が送られる。
なお、強調表示手法としては、濃度(コントラスト/ブライト)を変化させて表示させる、フォント(種類やサイズ)を変化させて表示させる、文字色を変化させて表示させる、文字の背景色を変化させて表示させる、下線やべた塗りを付す、などという方法がある。なお、“強調表示”の目的は、他の部分との峻別にあり、視覚的に差を持たせることのできるものであればよく、変化の方向は問わない。たとえば、濃度を濃くすることで該当部分を強調してもよいし、逆に濃度を薄くすることで該当部分を強調してもよい。
また、強調表示機能を利用することで、「流し読み機能」を持たせる場合にも効果を高めることができる。たとえば、紙の文書を流し読みするとき、読み手は、興味を引く語句や文書を特徴づけている語句を拾い読みしながら、大事な内容が掲載されていそうなページや文書の大凡の印象を得るといったことを行なっている。この文書ビューア102でも、「流し読みモード」を設けることで、文意をよく表現していると思われる重要語句を濃く表示することができる。濃く表示されているキーワードを追っていくことによって、短時間で文書の内容を理解することができる。また、読み手は、濃く表示されている語句の周辺が重要な箇所であると推測することもできる。より深く内容を理解したければ、そこを読み進めればよい。
また、アノテーション機能を利用した文献リストの自動生成とリンクさせた文書を表示することもできる。たとえば、ある文書に読み手が書き込んだ下線や丸などの印がついた語句をキーワードにして、サーバシステム200に保持している文書に検索をかける。そしてキーワードが頻出する文書を参考文献としてリストアップする。読み手は、文書のタイトル、キーワードが頻出している個所の文章(クリップ)とページ番号を参照することができる。指定された参照文献を表示する際には、クリップ(検索条件に該当した語句を示す状態)中のキーワードに、たとえば、フォント種やサイズを変える、下線を引く、色塗りする、あるいは濃い文字で表示するなどの強調表示をする。こうすることで、参照文献の内容を素早く理解することが可能となる。
なお、強調語/センテンス特定部184、強調語/センテンス選択手法指示部186、および強調指示制御部188の各処理は、本願出願人に係る特願2002−314876号を参照するとよい。
<文書サーバ/文書データベース>
図4は、文書サーバ222および文書DB224の構成例を示す図である。文書サーバ222は、「登録」と「文書読込み」を外部からの指示により受け付ける。たとえば、文書ビューア102の文書読込みボタン114が操作されたことをクライアントシステム100にて検知すると、クライアントシステム100は、サーバシステム200を構成する文書管理部220の文書サーバ222にその旨を通知する。これにより、文書サーバ222は、文書DB224から指示された文書を読み込む。
なお、「登録」は、たとえば“http://datacenter.company.co.jp/access.cgi?DocumentID=8gjk3cl3”などのように、文書DB224への文書の格納先を示すアドレスを示した登録したい文書へのURL(Uniform Resource Locators )などのパスやディレクトリへのパスで与えることとする。
文書サーバ222は、与えられたパスが示す文書(群)に対し、順次、文書IDを付与し、文書名と文書本文を文書DB224に登録する。このとき、文書DB224内のデータ構造は、たとえば図4(B)のようになる。文書名または文書本文はURLなどの文書へのパスでもかまわない。
文書サーバ222は、文書ビューア102から「文書読込み」の指示を受け付ける。文書サーバ222は、「文書読込み」の指示を受け付けると、文書DB224内の文書名の一覧を作成し、文書ビューア102へ返す。また、文書サーバ222は、文書ビューア102より文書名を受け取り、対応する文書本文を文書ビューア102へ送り返す。
<アノテーションサーバ/アノテーションデータベース>
図5は、アノテーションサーバ212およびアノテーションDB216の構成例を示す図である。
アノテーションサーバ212は、「保存」と「検索」を外部からの指示により受け付ける。たとえば、文書ビューア102の保存ボタン116が操作されたことをクライアントシステム100にて検知すると、クライアントシステム100は、サーバシステム200を構成するアノテーション管理部210のアノテーションサーバ212にその旨を通知する。なお、アノテーションの保存の指示がなく文書ビューア102を終了すると、先ず、アノテーションを自動的に保存を指示するようにする。これにより、アノテーションサーバ212は、保存を指示されたアノテーション情報(付加情報の特徴を表した情報の一例)をそのアノテーションが付与されていた文書に対応付けて、記憶部の一例であるアノテーションDB216に登録(格納)する。
たとえば、アノテーションサーバ212は、文書ビューア102から「保存」の指示を受け付ける。このとき、保存したいアノテーション内容とアノテーションの矩形情報と色や形状、またアノテーションが付与された文書IDおよび「保存」指示を発した文書ビューア102の端末IDが与えられる。またこのとき、同様に、「保存」を指示した会議参加者(クライアント)のユーザ名(あるいはユーザID)や、その参加者が参加している会議の名称(あるいは会議ID)、保存を指示したアノテーションに関する公開属性、並びにアノテーションが付与された時刻(アノテーション生成時刻)も与えられる。
アノテーションサーバ212は、与えられた端末ID、文書ID、矩形情報、アノテーション内容、色、形状、ユーザID(あるいはユーザ名)、会議ID(あるいは会議名)、公開属性、ステータス、生成時刻を、テーブルデータとしてアノテーションDB216に保存する。このときアノテーションDB216内のデータ構造は、たとえば図5(B)のようになる。
アノテーションIDは、1ストロークのアノテーションごとにユニークなID番号が割り振られる。端末IDは、クライアントを唯一に識別するID番号である。ユーザが使用しているクライアント端末のハードウェアを直接指す場合もあれば、IP(Internet Protocol )アドレスやホスト名に対応するものであってもよい。文書IDは、文書DB224に格納された文書ごとにユニークなIDが割り振られる。文書ファイル名が同じでも複数回文書DB224に投稿されていれば、異なる文書IDで登録される。
アノテーションの矩形情報は、1ストロークのアノテーションが指す矩形領域の矩形番号である。水平方向に伸びた直線の場合は連続した整数値になる場合もあるが、四角形や円などを複数行に亘って描いた場合は、不連続な整数値となる。なお、このアノテーションの矩形情報については、後述する“アノテーション付与処理”にて詳しく説明する。
アノテーション内容は、1ストロークのアノテーションの軌跡情報であり、描画されたアノテーションを再現するために利用されるデータである。たとえば、ビットマップやベクトルデータなどのデータとなる。色形状は、アノテーションに使用されたインクの色や、円や四角などの形状情報である。線種は、アノテーションの太さや実線あるいは点線などの線種を示す。
ユーザID(あるいはユーザ名)は、文書ビューア102を操作しているユーザを一意に識別する情報である。たとえば、ログインユーザ名などに対応する。会議IDは、会議など活動単位のユーザをまとめるための情報である。会議中に生成された全員のアノテーションを集計する場合などに使われる。たとえば、ログイン時に、会議名(会議ID)とユーザ名(ユーザID)を指定して認証をする。
公開属性は、たとえば、公開可能(制限なし)とする(=Pub)、特定の他のユーザやグループ内(たとえば会議参加メンバー)だけに公開する(=Frd)、アノテーションを非公開(個人用)とする(=Priv)、認証が得られた場合にのみ公開を許可する(=Protect)、のうち何れかをとるものとする。特定公開(=Frd)および認証公開(=Protect)については、ユーザやグループあるいは認証コード(ユーザ名とパスワード)などのサブ属性が設定可能である。また、特定公開(=Frd)および認証公開(=Protect)の場合、表示のみの公開(読取専用)に限らず、他人による編集も許可するフルアクセス設定のサブ属性が設定可能である。文書やアノテーションの共用閲覧は、通常、読取専用として公開するのはいうまでもない。誰でもが自由に編集できるようにしておくことによる不都合を防止するためである。ただし、会議の場などにおいては、自由に編集可能な方が都合のよい場合もある。このような場合、フルアクセス設定をしておけばよい。
ユーザは、付与するアノテーションのそれぞれに対して、これらの公開属性を設定することができる。この公開属性は、アノテーションを付与する都度、あるいはアノテーションの保存指令を発する都度、設定可能である。また、何れかを予めデフォルトに設定しておき、特段の変更指示がない場合はそのデフォルトの属性が設定されたものとしてもよい。また、アノテーションの保存時に公開属性の変更指示がない場合は、その時点に設定されている(デフォルトも含めて)属性を受け付けることとする。
たとえば、ある会議の参加メンバーだけに公開する(Frd)場合には、公開対象の会議の情報(たとえば会議ID)もアノテーションDB216に登録する。また、認証が得られた場合にのみ公開を許可する(=Protect)場合には、プロファイル管理部230に問い合わせて、パスワード認証が得られたときのみ公開を許可する。
アノテーションを表示する際には、非公開対象のアノテーションも含め全てのアノテーションをアノテーションサーバ212よりクライアントシステム100に送付して、クライアントシステム100側で、アノテーションに設定されている公開属性をチェックして表示(公開)/非表示(非公開)を切り替えたり、アノテーションサーバ212側で、公開対象のアノテーションだけを送付したりする。なお、アノテーションに公開属性を持たせることで、付与されたアノテーションの表示/非表示を切り替える手法については、後で詳しく説明する。
ステータスは、アノテーションが新規に作られたのか(=New)、既に存在していたものか(=Exist)、削除されたものか(=Deleted)の状態がを示す。一旦付与したアノテーションを、ユーザが、消しゴム(電子的な)などで消した場合には、ここは“Deleted”となる。この場合、この削除指令によりアノテーションDB216からその消去されたアノテーションのデータがなくなるわけではなく、あくまでステータスが変わるだけである。
アノテーションを表示する際には、“Deleted”のアノテーションを含め全てのアノテーションをアノテーションサーバ212よりクライアントシステム100に送付して、クライアントシステム100側でアノテーションに設定されているステータスをチェックして表示/非表示を切り替えたり、あるいはアノテーション管理部210側で“Exist”のものだけをクライアントシステム100に送付したりする。
生成時刻は、文書ビューア102において1ストロークのアノテーションが付与された(ビューア画面上に描かれた)時刻であり、日付と時間からなる。これは、1ストロークのアノテーションごとに、文書ビューア102上で保存ボタン116を押して保存した時刻(アクションログDB214にて管理されている)とは別に管理されるようになっている。
なお、既に付与されていたアノテーションについて、場所移動(つまり矩形情報の変化)がある場合や、アノテーションの属性(色・形状・線種)や公開属性に変化がある場合、元のアノテーションは事実上削除されたものとして、そのステータスを“deleted”とし、最新の状態のアノテーションについて新たなアノテーションIDを発行することとする。こうすることで、一旦付与されたアノテーションについては、たとえ削除もしくは変更された場合であっても、“Deleted”のアノテーションを含め全てのアノテーションをアノテーションサーバ212よりクライアントシステム100に送付して、クライアントシステム100側でステータスをチェックして、ステータスが“deleted”であるものについても表示/非表示を切り替えることで、必要に応じて元の状態で再現することができる。
また、クライアントシステム100は、文書ビューア102の検索ボタン118が操作されたことを検知すると、サーバシステム200を構成するアノテーション管理部210のアノテーションサーバ212にその旨を通知する。これにより、アノテーションサーバ212は、検索を指示されたアノテーション情報をアノテーションDB216から読み出す。
たとえば、アノテーションサーバ212は、文書ビューア102から「検索」の指示を受け付ける。このとき、アノテーションサーバ212は、文書IDと矩形情報とアノテーション付与範囲に関する情報をクライアントシステム100(文書ビューア102)から受け取る。アノテーションサーバ212は、これらの情報(検索条件)に基づきアノテーションDB216内を検索し、適切なアノテーション内容を文書ビューア102へ返す。この検索処理については後述する。
<プロファイルサーバ/プロファイルデータベース>
図6は、プロファイルサーバ232およびプロファイルDB234の基本的な構成例を示す図である。
プロファイルサーバ232は、「登録」、「修正」、あるいは「検索」を外部からの指示により受け付ける。たとえば、ユーザ情報管理ウィンドウを文書ビューア102上に表示させ、このユーザ情報管理ウィンドウにて、各指示やユーザ情報の入力や修正を受け付ける。ユーザ情報管理ウィンドウは図示を割愛する。
なお、閲覧中の文書に関わるアノテーションを検索する際に、プロファイルサーバ232に登録されている人物属性を検索条件に設定することもできる。この場合のユーザ情報の「検索」は、アノテーション検索を介して行なう。
クライアントシステム100は、ユーザ情報管理ウィンドウにて、所定のフォーマットに従ったユーザ情報の入力を受け付ける。ユーザ情報は、ユーザ名およびパスワードと、種々の属性情報からなる。属性情報としては、たとえば、性別、年齢、職種、役職、所属グループ、住所、あるいは国籍などがある。クライアントシステム100は、「登録」の指示を検知すると、入力されたユーザ名、パスワード、および属性情報をサーバシステム200を構成するプロファイル管理部230のプロファイルサーバ232に通知する。
これにより、プロファイルサーバ232は、登録を指示されたユーザ情報を、記憶部の一例であるプロファイルDB234に登録(格納)する。このとき、プロファイルDB234内のデータ構造は、たとえば図6(B)のようになる。ユーザIDは、登録されるユーザが新規の場合、新たに割り当てられる。
また、クライアントシステム100は、「修正」の指示を検知すると、プロファイル管理部230のプロファイルサーバ232から「修正」を指示したユーザの登録内容を読み出し、文書ビューア102上のユーザ情報管理ウィンドウに提示する。ユーザは、提示された内容を確認しながら、修正を希望する項目に、新たな入力をする。つまり、ユーザ情報を修正するために修正項目を与える。
また、クライアントシステム100は、「検索」の指示を検知すると、ユーザ情報管理ウィンドウにて指示されたある特定の属性を持つユーザIDの検索をプロファイル管理部230のプロファイルサーバ232に要求する。プロファイルサーバ232は、指示された検索条件に合致するユーザIDに対応するユーザ情報を検索結果として文書ビューア102上に提示する。なお、パスワードは非公開とするのはいうまでもない。
<<アノテーション付与に関する処理>>
次に、アノテーション付与に関する処理について、具体例を用いて説明する。先ず、ユーザプロファイルの登録の具体例について説明する。
図7は、本事例におけるプロファイルDB234のデータ構造の一例を示す図である。クライアントシステム100は、プロファイルを、所定のフォーマットに記述されたテキストファイルとして、プロファイルサーバ232へ送る。プロファイルサーバ232は、与えられたプロファイルをプロファイルDB234へ保存する。このとき、ユーザIDを割り当てる。ここでは図7のように登録されたとする。なお、プロファイルは、テキストファイルで与える必要はなく、CGI(Common Gateway Interface)などを利用したGUI(Graphical User Interface)上からの登録も可能である。
次に、文書の登録、読込み、アノテーション付与、保存までを説明する。
<文書の登録処理>
図8は、以下に述べる具体例における文書DB224の構成例を示す図である。本例におけるそれぞれの文書は、コピー機の操作に関するマニュアルである。
先にも述べたように、文書の登録は、登録したい文書へのURLやディレクトリへのパスで与えることとする。文書サーバ222は、受け取ったパスで示される文書の文書ID、文書名、文書本文を、文書DB224への文書の登録内容として、図8のように登録する。
<文書の読込み処理>
文書の読み込みを希望する参加者は、文書ビューア102の文書読込みボタン114を押下する。この指示を受け付けた文書ビューア102は、文書読込み要求を文書サーバ222へ発信する。
この通知を受けた文書サーバ222は、文書DB224内の文書名の一覧を作成し、文書ビューア102へ返す。ここでは“manual1.txt ,manual2.txt ,manual3.txt ,manual4.txt ”となる。文書ビューア102は、文書名の一覧をリストボックスなどで表示しユーザA(ユーザIDはuser1)へ選択を促す。
ユーザAは、“manual2.txt ”を選択したものとする。文書ビューア102は、“manual2.txt ”が選択されたことを文書サーバ222へ通知する。文書サーバ222は、“manual2.txt ”に付与される文書IDと文書本文を文書DB224より検索し、文書ビューア102へ返す。文書ビューア102は、受け取った文書本文を文書表示エリア104へ表示する。なお、文書サーバ222に全文検索機能などを設けると、読込みの対象として検索結果を提示することも可能である。
<アノテーション付与処理>
図9は、文書ビューア102の文書表示エリア104に表示された文書にアノテーションを付与した状態の表示例を示す図である。読み手(ユーザA)は、文書表示エリア104に表示された文書に対して、興味や関心に応じて下線や丸などの印(アノテーションなどの電子付箋)を付与しながら文書を読む。ここではアノテーションデバイス170としてペン型のデバイスを利用する。この場合、紙に書き込むようにアノテーションを付与することができる。
このとき、文書表示エリア104は、図9(A)に示されるように、アノテーションが付与された部分を特定するために、実際には目に見えないが文字を含む矩形に区切られているものとする。文字の無い空白名部分や図表などの部分も適当な大きさの矩形に区切る。たとえば、前後の文字のフォントサイズを参考に適当な大きさの矩形に区切るとよい。日本語文字ならば1文字を囲む四角形の領域とする。
それぞれの矩形には、各矩形を特定するための情報が付与される。たとえば、連続した矩形番号が左上から横方向に順に付与される。複数ページに亘る文書の場合には、次ページ以降も前ページに連続した番号が付与されるものとする。つまり、文書の最初から最後までの連続した矩形番号で管理する。矩形番号によって、どのページに付与されたアノテーションであるのかを特定することができる。なお、ページごとに独立した矩形番号を付与し、ページ番号と各ページの矩形番号とにより、どのページに付与されたアノテーションであるのかを特定するようにしてもよい。
たとえば、コピー機のマニュアルの校正を行う会議で、ユーザAはマニュアルのあるページの説明文の「原稿の中心を…」に着目して、図9(A)に示されるアノテーションa1を付与したとする。また、綴じ代を行なう操作にも注目してアノテーションb1を付与したとする。この後、2ページ目、3ページ目と読み進み、実際に操作を行ないながら注意すべき点などを、図9(B)のように3ページに亘ってアノテーションを付与したとする。
<保存処理>
図10は、本事例において文書ビューア102がアノテーションサーバ212へ送る情報の一例を示した図である。また、図11は、本事例におけるアノテーションDB216の構成例を示す図である。また、図12は、本事例におけるアクションログDB214の構成例を示す図である。
ユーザA(ユーザIDはuser1)は、本システムの利用の際、事前に付与されているユーザIDとパスワードとを入力してプロファイルサーバ232に問い合わせることで個人認証をする。照合に合致すれば、本システムが利用可能となる。また、会議に参加する場合、ユーザAは、ログイン時に、会議名(会議ID)とユーザ名(ユーザID)を入力して会議サーバ236に問い合わせることで会議への参加が許可されているかどうかの認証をする。認証に合格すれば、会議への参加が許可され、その会議で使用される文書の閲覧も許可される。
この後、ユーザAは、文書ビューア102の保存ボタン116を押下することによってアノテーションの保存を指示可能である。文書ビューア102は、アノテーションの保存指示を受け付けると、アノテーションが付与された文書の文書ID、端末ID、文書ID、アノテーションが付与された矩形の矩形番号、アノテーション内容、色・形状、線種、ユーザID、公開属性、ステータスおよび生成時刻をアノテーションサーバ212へ送る。アノテーションサーバ212へ送る情報は、図10のようになる。ここで文書ビューア102の端末IDは“3”であるとする。
ここで、文書ビューア102(クライアントシステム100)からサーバシステム200のアノテーション管理部210にアノテーションデータを送付する手法には、何通りかの方法を採り得る。たとえば、
1)保存ボタンを押したときに、文書内全てのアノテーションデータが送付されるケース、
2)保存ボタンを押したときに、前の更新から追加された分と変更された分だけを送信するケース、
3)1ストローク描くごとにあるいは既存のアノテーションの場所や属性が変更されるごとに(以下纏めて1ストロークごとにともいう)、アノテーション管理部210にアノテーションデータを送信するケース、
などである。
なお、3)のケースでは、アノテーションデバイス170が文書ビューア102から離れることで、1つの操作(変更も含めて1ストロークとする)を確定させることとする。またこの場合、アノテーション管理部210は、1ストロークのアノテーションデータの通知を受けても、アノテーションDB216への保存はしない。その代わりに、この通知があったことをその時点で該当文書を閲覧している他ユーザのクライアントシステム100に通知(転送する)する。この機能(自動更新通知機能)については、後で詳しく説明する。
また、アノテーションIDは、クライアントシステム100側で発行してもよいし、アノテーション管理部210側で発行してもよい。ただし、最低でも、アノテーションID、ユーザID、文書IDの3つの組みで捉えたときに、唯一である必要がある。クライアントシステム100側で発行する場合、アノテーション管理部210側で管理しているアノテーションIDの最終番号の通知を受け、その後に続く番号を新規に付与されたアノテーションに発行する。また、既に付与されていたアノテーションについて、場所移動あるいは属性(色・形状・線種)や公開属性の変化がある場合、元のアノテーションのステータスを“deleted”ととし、新たなアノテーションIDを発行する。
なお、会議の場などにおいて、複数のユーザが同一文書を同時に閲覧可能であってかつ同時にアノテーションを付与可能な構成とする場合には、各ユーザで付与された個々のアノテーションにユニーク(唯一の)なID番号が付与される仕組みを考えなければならない。アノテーション管理部210側でアノテーションIDを発行する場合には、一元管理が可能であり、アノテーションデータを受け取りアノテーションDB216に保存するときに個々のアノテーションにユニークなID番号を付与することができるので、何ら問題は生じない。
これに対して、クライアントシステム100側でアノテーションIDを発行する場合には、クライアントシステム100側でID番号を付与すると重複を生じかねない。これを避けるため、たとえば、同時閲覧者がいるときには、アノテーション管理部210に付与可能なID番号をその都度問い合わせるなどの仕組みとするとよい。あるいは、文書オープン時に、各クライアントシステム100側で発行可能な所定数(たとえば10個分)のID番号の通知をアノテーション管理部210から得ておき、その範囲内で順次発行するようにしてもよい。新規付与のアノテーション数が多くてID番号が足りなくなったときには、所定数のID番号の通知を再度得ればよい。
図10に示した例は、アノテーションIDをクライアントシステム100側で発行するものとし、保存ボタンを押したときに文書内全てのアノテーションデータが送付されるケース(上記の1)で示している。1ストロークごとに送付されるケース(上記の3)では、図10に示した1つのID分のデータが送信される。クライアントシステム100は、ユーザが閲覧中の文書に既に付与されているアノテーションを読み込んで文書ビューア102上に表示する。
図10のステータスの項目に着目すると、アノテーションID2,3は既に付与されていたものを読み込んで文書ビューア102上に表示したものであることが分かる。またアノテーションID2については、このユーザによりそれを消しゴムで消した状態であることが分かる。また、アノテーションID28,29は、このユーザにより新規に付与されたアノテーションであることが分かる。
アノテーションサーバ212は、図10に示した情報をクライアントシステム100から受け取り、アノテーションDB216へ格納する。このとき、既に同一のアノテーションIDとユーザIDと文書IDとの組合せがある場合は、基本的には、受け取った情報をそこに上書きをする。単に閲覧だけされたアノテーションについては、事実上なんの変化も生じない。
アノテーションサーバ212は、ステータスが“deleted”のものについて、アノテーションDB216に登録されているアノテーションIDとユーザIDと文書IDとの3組みで一致するレコードのステータスを“deleted”に変える(データを更新する)。また、アノテーションサーバ212は、ステータスが“New”のものについは、クライアントシステム100から受け取ったアノテーションデータのうちのステータスを“Exist”とし、残りの項目は受け取ったままで、アノテーションDB216にデータを追加する。
図5に示した状態のデータに対して、図10に示した情報に基づいてアノテーションDB216の情報を更新した状態を図11に示す。図11において、網を掛けて示している項目が追加もしくは変更される部分である。図10に示した情報から、追加・変更の対象となるアノテーションIDは、ステータスが“deleted”であって消去されたことを示すID2,ステータスが“New”であって追加されたことを示すID28,29である。
また、文書ビューア102は、ユーザA(ユーザIDはuser1)による保存指示を受け付けると、ログファイル格納部182に格納しているログファイルの内容もアノテーションサーバ212に送る。アノテーションサーバ212は、文書ビューア102から受け取ったログファイルを、図12に示すように、アクションログDB214に保存する。なお、アクションログDB214には、閲覧している文書のページが変更された時間(PAGE_OPEN )と文書を開いた時間(DOC_OPEN)と文書を閉じた時間(DOC_CLOSE )も記録する。また、アノテーションが保存された時間(ANT_SAVE )も記録する。
以上で、アノテーションや文書およびページに関する操作履歴の所定のデータベースへの保存が終了する。
図13は、本事例におけるアノテーションDB216の他の構成例を示す図である。この構成例の場合、アノテーションは予め任意の纏まりによって1つのアノテーションに纏められる。たとえば、ある時間以内において書き込まれたアノテーションは1つのベクトルデータに纏められるとする。ここで「ベクトルデータ」とは、ある色や太さを持つ複数の座標点が書き込まれた時間順に纏められているデータである。
<<電子付箋を利用した情報検索表示処理>>
次に、文書ビューア102の文書表示エリア104に表示された文書にアノテーションなどの電子付箋を付し、このアノテーションなどで示された情報を利用することで、効率的な情報検索を実現する手法について、具体的に説明する。以下、このような情報検索機能をなす電子会議システム1の情報検索表示処理に関わるシステムを、特に情報表示処理システムという。
ビューア使用者(ユーザ;本例では会議への参加者)は、会議進行中に、文書ビューア102の文書表示エリア104に表示された文書をページ捲りをしながら読みつつ、アノテーションデバイス170を用いて、興味を引く語句や文書を特徴づけている語句に下線や丸などの印(アノテーション)を書き込む。あるいは、メモ書きを付してもよい。メモ書きは、フリーハンドによるものに限らず、規定枠にテキスト入力をするテキストアノテーションであっても構わない。
これらの文書に付与されたアノテーションなどの文書本体に対する付加情報に関する情報は、保存ボタンが押されることで、ネットワーク9を介してサーバシステム200に送信される(図10参照)。文書本体は、文書管理部220にて管理されている(図4や図8参照)。
文書本体に対応するアノテーションなどの付加情報は、アノテーション管理部210のアノテーションDB216に、その文書本体に対応付けられて管理(保存)される(図11や図13参照)。
そして、必要に応じて読み手から検索が指示されると、読み手が指定した検索条件に従って適合する付加情報(たとえばアノテーション)をアノテーション管理部210を利用してサーチ(検索)し、検索条件に合致する情報をユーザに提示する。
たとえば、図1に示した電子会議システム1の構成では、ユーザは、電子会議の最中に、電子文書を文書ビューア102の表示面に表示し、その表示面上でアノテーションを付与することができる。ここで、様々な文書や、膨大な量の文書を使う会議において、または長期間継続して文書を使った活動において、アノテーションを付与できる文書表示装置を使って、知的活動を行った場合を考える。
最初はある1つの文書から使い始め、その文書のある箇所について詳細を知る必要に迫られ、別の文書を表示することがある。その別の文書でもさらに別の文書の情報を必要としている箇所があり、また別の文書を開くケースも生じ得る。このように、次々に肝要となる箇所にアノテーションを付けていくシーンを考える。
このシステムでは、電子的に表示された文書に対して付与されたアノテーション(アンダーラインやマーキングや文字の書込みなど)を共有できるようになっている。また、ある文書の一部に付与されたアノテーションの状態をクエリとして、既に同じ位置に付与されている文書のアノテーションを検索結果として再現することもできる。アノテーションが付与された位置は読み手にとって、何らかの興味がある位置であると思われる。
また、他人や自分が以前に付与したアノテーションを再現することにより他人や自分が付与した興味のある位置を知ることができる。また、アノテーションを付与した人物または付与された時刻で管理し、ある特定の人物を指定することによりその人物が付与したアノテーションを再現したり、特定の時刻に付与されたアノテーションを再現したりすることができる。つまり、ある特定の人物やある特定の時刻を指定することで、所望のアノテーションのみを再現することができる。
ところが、アノテーションには個人的にあるいは所定のグループ内だけに開示したい内容もあり、不特定多数のものに公開すべきではない場合もある。このような問題を解消するべく、本実施形態の電子会議システム1(情報表示処理システム7)は、アノテーションに公開属性を持たせ、アノテーションの公開に制限を加える公開制限機能を備えている。
また、会議などの場面で、複数人が同時間帯に同一文書にアノテーションを付与して、このアノテーションを共有しようとする場合には、従来の方法では、問題が生じる。すなわち、ユーザが常にアノテーションの読込み・再現手続きを行なわなければ、他ユーザによって付与されていく“新規な”あるいは既存のアノテーションに対する場所移動や属性(色・形状・線種)変更(纏めてアノテーションの変更という)された”アノテーションを文書ビューア102上に再現させることができない。しかしながら、このような操作は、面倒である。
また、読込み・再現の手続きを行なっても、前回と今回の手続き間に新規なアノテーションが付与されていない、あるいはアノテーションの変更がないなどのケースでは、その操作は無駄なものとなってしまう。また、前回の更新後にアノテーションが付与もしくは変更されているものの、公開属性の設定によって、その操作をしたユーザの閲覧が禁止されているケースも起こり得る。この場合も前述と同様に、読込み・再現の手続きが無駄な操作となってしまう。
このような問題を解消するべく、本実施形態の電子会議システム1(情報表示処理システム7)は、アノテーションが新規に付与された場合やアノテーションの変更があった場合に、その旨を、その時点に対象文書を参照している所定のユーザへ自動的に通知することで、効率的な情報共有を実現する機能(以下自動更新通知機能という)を備えている。
以下、本実施形態の特徴部分であるアノテーションの公開制限機能や自動更新通知機能について詳しく説明する。
図14は、情報表示処理システム7について、アノテーションを利用した情報検索機能に着目した一実施形態のブロック図である。ここで、図14(A)は、全体構成の概要を示し、図14(B)は、情報表示処理機能に特化した機能要素の詳細を示す。この図により、アノテーションの公開制限機能や自動更新通知機能を果たすための機構が具体的に示されることとなる。
図14(A)に示すように、これらの機能をなす情報表示処理システム7は、付加情報表示処理部の一例であって、効率的な検索処理やアノテーション情報の提供処理を実行する仕組みを司る専用の装置(サーバの一例)であるアノテーション処理装置218を備えている。また、情報表示処理システム7は、読み手から検索処理や情報表示指示を受け付けるための検索要求部の一例である検索要求指定部500と、アノテーション処理装置218から送られた検索結果やその他の情報を表示する表示処理部101とを備える。また、情報表示処理システム7は、付加情報の表示を許可するか否かを示す公開属性の設定を受け付ける公開属性設定部600をクライアントシステム100側に備える。
アノテーション処理装置218は、検索要求された該当文書やその他の関連した情報がアノテーション管理部210のアノテーションDB216や文書管理部220の文書DB224に登録済みか否かを検索し、該当品がある場合にはその検索結果やアノテーションと関わりのある関連情報をクライアントシステム100側へ送る。また、アノテーション処理装置218は、アノテーションが追加されたり変更されたりしたとき、公開が許可されているもしくはされ得る(公開属性=Protect)ユーザが使用しているであろうクライアントシステム100に対して、それらのアノテーションの公開(つまり表示)を許可する。
なお、アノテーション処理装置218の機能を、アノテーションサーバ212や文書サーバ222にて担当してもよい。この場合、図中点線で示すように、アノテーションサーバ212と文書サーバ222とが直接に(あるいはネットワーク9を介して)アノテーションの検索処理に関わるアノテーション情報のやり取りをするようにする。
表示処理部101は、文書ビューア102とマネジャ部180とにおける表示処理に関わる部分で構成される。クライアントシステム100側へ送られるアノテーションと関わりのある関連情報としては、たとえばアノテーションそのものの情報や、アノテーション処理装置218で生成される検索結果を纏めたリスト情報、さらにはアノテーションが追加されたり既存のアノテーションの状態(付与場所や色や線種などの属性)が変更されたことを他ユーザに通知するための更新通知情報などがある。
クライアントシステム100に設けられている検索要求指定部500は、アノテーションの自動更新通知機能を効率的に果たすための機構を有している。たとえば、アノテーションが追加・変更される都度、そのことを示す更新情報(図10のアノテーションデータ)をアノテーション処理装置218に通知する更新情報通知部502と、ユーザによるアノテーションの保存指示をアノテーション処理装置218に通知する手段としての保存ボタン116とを備える。
また、検索要求指定部500は、他ユーザによるアノテーションの更新通知情報をアノテーション処理装置218から受け取りユーザにその旨(更新メッセージ)を通報する更新メッセージ通報部504と、更新メッセージ通報部504がユーザに更新メッセージを通報するモードを設定するための通報モード設定部506と、文書表示エリア104の表示を更新させるための指示をユーザから受け付けるための手段である更新ボタン120とを備えている。更新ボタン120の機能は、更新メッセージ通報部504が更新通知情報を受けたことを条件として作動するようになっている。通報モード設定部506は、通報対象者設定部と表示タイミング設定部の両機能を備える。
ユーザは、他人によるアノテーション更新(新規付与と変更)があったときに、どのような他人による更新であるときにその情報を受け取りたいかを、つまり更新メッセージの通報を希望する対象である通報対象ユーザを通報モード設定部506(通報対象者設定部)に設定する。通報モード設定部506は、プロファイル管理部230や会議管理部235に問い合わせて、ユーザにより設定されたユーザ、あるいはグループや会議に対応する通報対象ユーザのユーザIDを取得して図示しないメモリに登録しておく。
たとえば、全員を対象、会議参加メンバーのみ対象、特定の部課やグループのみ対象、特定の個人のみ対象、などである。“全員を対象”以外は、任意組合せの登録ができる。また、部課やグループ、個人は、複数の登録ができる。
たとえば、同一文書が異なる場面で使用され得るので、会議中に、その会議に参加していないユーザにより新規アノテーションが付与されるということもあり得る。このような場合、会議参加メンバーは、同一会議の参加メンバーによるアノテーション更新のみを即時に知り得れば十分である。また、同一部課メンバーのみや臨席者との間で筆談を交わすケースでは、それらのメンバーによる更新のみを即時に知り得れば十分である。一方、会議などを除く場面での通常の文書閲覧時には、常に最新の情報を知り得た方が好ましく、全員のアノテーション更新を即時に知り得ることが望ましい。
また、ユーザは、更新ボタン120の押下を条件としてアノテーション表示を更新するか(マニュアル表示更新モード)、前述のようにして設定した通報対象ユーザによるアノテーション更新があれば自動的にアノテーション表示を更新するか(自動表示更新モード)、の表示更新モードを通報モード設定部506(表示タイミング設定部)に登録する。
自動表示更新モードに設定すれば、希望する通報対象ユーザがアノテーション更新をする都度自動的に文書ビューア102上のアノテーション表示が更新される。閲覧者は、アノテーションの読込み・再現手続きの操作から完全に解放される。
一方、自動表示更新モードに設定した場合において、通報対象ユーザによるアノテーション更新が頻繁にあるケースでは、表示更新も頻繁にされ、却って煩わしくなるケースも起こり得る。このような場合、マニュアル表示更新モードに設定するとよい。ユーザは、アノテーション更新があった旨の通報をその都度受けるが、自分が希望するタイミングで表示を更新させることがでる。たとえば、当初は自動表示更新モードに設定しておき、自動表示更新が煩わしくなったときにマニュアル表示更新モードに切り替えることができ、便利である。
また、アノテーションの書入れ中や編集作業中に画面が自動更新されたのでは都合が悪いと感じる場合がある。この場合には、マニュアル表示更新モードにあるとよい。通常は自動表示更新モードに設定している場合には、新規書入れや編集作業のために、ユーザがその都度マニュアル表示更新モードに設定することも考えられるが、使い勝手はよくない。このような場合、アノテーションデバイス170が画面にタッチされたことを付加情報付与部106が検知した時点で、自動的にマニュアル表示更新モードに移行させ、アノテーションデバイス170が画面から離れて所定時間経過後自動的に自動表示更新モードに戻るようにするとよい。
また、会議の場で自由闊達な議論がなされる場合、複数のメンバーが、ほぼ同じ位置に追記したり、同一アノテーションにほぼ同時に編集を加えたりするようなケースも起こり得る。このような場合には、リアルタイムに表示更新された方が好ましいので、自分がアノテーションの書入れ中や編集作業中であっても、他人の新規追加や編集の状態を即時に画面に反映させる自動表示更新モードを維持することが望ましい。
このため、通報モード設定部506は、付加情報付与部106がアノテーションの付与や変更を検知するタイミングに応じて、マニュアル表示更新モードと自動表示更新モードとを自動的に切り替える構成であるのがよい。通報モード設定部506には、前述のような様々な表示更新態様のニーズに応えるためのモード設定を受け付ける仕組みを設けるとよい。
なお、マニュアル表示更新モードの場合でも、アノテーション更新があった旨の通報を受けた後にアノテーションの読込み・再現手続きの操作(本例では更新ボタン120の押下)を行なえばよい。常にアノテーションの読込み・再現手続きの操作を必要としていた従来例と比べて、操作の煩雑さは格段に軽減される。
更新メッセージ通報部504は、追加・変更のアノテーションのあった文書ID、ユーザID(ユーザ名)、および追加・変更されたアノテーションIDを示す更新通知情報を受け取り、送られてきたユーザIDと予め図示しないメモリに登録してある通報対象ユーザのユーザIDとを比較する。また更新メッセージ通報部504は、送られてきた文書IDと文書ビューア102に表示されている文書IDとを比較する。
登録されている通報対象ユーザに合致しかつ文書ID同士が同じ場合は、更新通知情報に含まれているユーザID(ユーザ名)で示されるユーザによって、表示中の文書に対してアノテーションの追加や変更があった(アノテーションが更新された)ことを、所定の文字・記号・メッセージなどの表示情報や音声メッセージなど(纏めて更新メッセージという)により、文書閲覧中のユーザへ通報する。検索要求指定部500は、更新ボタン120の押下を検知すると、更新通知情報に含まれているアノテーションIDをアノテーション処理装置218に送信する。
アノテーション処理装置218の一構成例は図14(B)に示される。図示するように、アノテーション処理装置218は、検索条件を決定する検索条件決定部544と検索条件決定部544により決定された検索条件に合致するアノテーション情報を検索する検索部546と、検索部546により検索された検索条件に合致するアノテーション情報を関連情報としてユーザに提示する情報提示制御部の一例であるアノテーション提示制御部550とを備える。検索部546とアノテーション提示制御部550とにより表示制御部の一例である検索表示処理部545が構成される。検索条件決定部544による検索条件の決定は、文書ビューア102上に条件設定のための画面を提示し、ユーザからの指示入力を受け付けることで実現する。
検索条件決定部544は、先ず、文書の閲覧要求をユーザから受け付ける。このとき、クライアントシステム100(文書ビューア102)は、ユーザが文書ビューア102上で閲覧を希望する文書の文書名(たとえば“manual2.txt ”)をアノテーション処理装置218に通知する。これを受けて、検索条件決定部544は、その文書名“manual2.txt ”に付与される文書IDと文書本文を文書サーバ222を介して、文書DB224を検索し、文書名“manual2.txt ”の文書本文を文書ビューア102へ返す。文書ビューア102は、受け取った文書本文を文書表示エリア104へ表示する。このとき、アノテーションを付与するときと同様に、検索されたアノテーションを、文書ビューア102の文書表示エリア104に表示されている閲覧中の文書に重ねて表示させる。
また、検索条件決定部544は、アノテーションを利用した検索処理要求をユーザから受け付ける。このとき、クライアントシステム100(文書ビューア102)は、ユーザが文書ビューア102上で閲覧中の文書を特定する文書IDをアノテーション処理装置218に通知する。これを受けて、検索条件決定部544は、受け取った文書IDを検索条件に設定し、検索部546に検索を指示する。検索部546は、アノテーションサーバ212を介して、アノテーション情報を登録しているアノテーションDB216を検索し、検索を指示された文書(閲覧中の文書)に付与されている全てのアノテーションを検索し、検索結果(アノテーションの実体)をアノテーション提示制御部550に渡す。
また、検索条件決定部544は、1ストロークごとのアノテーションについての自動更新通知機能を効率的に果たすための機構を有している。たとえば、クライアントシステム100(更新情報通知部502)からアノテーションが追加されたり変更されたりしたことを示す更新情報(図10に示す1つのID分のデータ)を受け取り、アノテーションDB216に保存する更新情報格納制御部582を有する。その保存領域は、文書ビューア102側で保存ボタン116が押下されたときに使用される通常の保存領域ではなく、自動更新通知機能用の専用の格納領域とする。データ構造は、通常の保存指令を受けたときと同じ構造(図11や図13など)でよい。
更新情報格納制御部582は、格納領域のサイズを予め定めておき、規定容量を超えるようになったときには、古いデータから順次更新(上書き)して繰り返し使用するようにする。容量バランスを考慮しつつ、一定範囲内で、常に最新のアノテーションの情報を保存するためである。
また、検索条件決定部544は、他の端末であって現在セッションが存在するすべてのクライアントシステム100の更新メッセージ通報部504に、追加・変更のアノテーションのあった文書ID、ユーザID(ユーザ名)、および追加・変更されたアノテーションIDを示す更新通知情報を送信する更新通知情報送信部584を有する。
検索要求指定部500(特に更新情報通知部502および更新メッセージ通報部504)と検索条件決定部544(特に更新情報格納制御部582および更新通知情報送信部584)とで、更新情報通報制御部が構成される。
なお、更新通知情報送信部584は、「現在セッションが存在するすべてのクライアントシステム100」ではなく、追加・変更されたアノテーションに設定されている公開属性を参照して、公開が許可されているもしくはされ得る(公開属性=Protect)ユーザが使用しているであろうクライアントシステム100に対してのみ、更新通知情報を送信するのが好ましい。
このとき、更新通知情報送信部584は、更新通知情報を送信した端末から前記更新通知情報に含まれているアノテーションIDの通知を受けるためのフラグを立てておく。また、公開属性を考慮することなく、現在セッションが存在する全てのクライアントシステム100」に更新通知情報を送信する場合には、そのことも対応付けて記憶しておく。そして、アノテーションIDの通知が所定時間内になければ、アノテーションの更新要求を拒否する。
このような処理とするのは、クライアントシステム100側にてアノテーションIDを付与するケースもあり、この場合、ストロークごとのアノテーションの通知や保存ボタン116の押下があったときに通知されるアノテーションIDと自動更新通知機能のために通知されるアノテーションIDとを峻別するためである。また、公開属性の判定を1回で済ますためである。なお、クライアントシステム100からアノテーションIDを受け取ったときに、ID番号のみで、図10に示したような矩形情報やアノテーション属性あるいはアノテーション内容などの他のデータ(アノテーションの実体)が添付されていない場合には、自動更新通知機能のための通知であると判定するようにしてもよい。
また、検索条件決定部544は、自動更新通知機能のためのアノテーションIDをクライアントシステム100から受け取ると、このアノテーションIDを検索条件に設定し、検索部546に検索を指示する。検索部546は、アノテーションサーバ212を介して、アノテーションIDをキーとして自動更新通知用のアノテーション情報を登録しているアノテーションDB216の専用格納領域を検索し、アノテーション提示制御部550に渡す。
アノテーション提示制御部550は、検索ボタン118が押下されたとき(通常の検索処理機能時)や自動更新通知機能時に、検索部546からアノテーション内容を受け取ると、要求したユーザに提示してよいものであるのか否か(相応しい公開属性であるか否か)を、公開属性を参照して判定することで公開アノテーションを特定する。
ここで、相応しい公開属性とは、制限なし(=Pub)のアノテーション、特定公開(=Frd)のうちの文書閲覧中のユーザと同一の会議IDをもつアノテーション、認証公開(=Protect)のアノテーションである。たとえば、そのまま公開してよいもの(公開属性=Pubの全てとFrdの対応ユーザ分)については、検索部546から受け取ったアノテーション内容を、直ぐにマネジャ部180に渡し文書ビューア102に送る。もちろん、公開属性が「個人」の場合でも、文書閲覧者と同一ユーザが付与したアノテーションであれば検索される。
また、公開属性としては、他のユーザID(ユーザ名)やグループを指定することもできる。ユーザIDを指定した場合、そのユーザが制限なし属性を指定したアノテーションが再現される。また、グループ名を指定した場合、そのグループ属性が付与されたアノテーションが再現される。たとえば、通常のアノテーション検索処理機能時に、そのユーザIDで示されるユーザが付与したアノテーションの公開属性に、制限なし(=Pub)や特定公開(=Frdで他のユーザIDを設定)などの相応しい公開属性が設定されていれば、検索要求したユーザに対してアノテーションが再現される。また、制限なし(=Pub)や特定公開(=FrdでグループIDを設定)などの相応しい公開属性が設定されていれば、Frdで設定されているグループIDを持つユーザに対してそのアノテーションが再現される。
また、公開属性に“Protect”が設定されているアノテーションについては、先ずそのようなアノテーションがある旨を閲覧中のユーザに通知し、パスワードの入力を求める。所定時間内にパスワードの入力がありプロファイル管理部230との間での認証処理にて認証が得られた場合には、そのアノテーション内容をマネジャ部180に渡し文書ビューア102に送る。たとえば、会議参加メンバーのみへの特定公開(=Frd)としつつ、特定の個人、あるいは特定の部・課やより小さなグループ名(纏めて特定部門という)を指定する認証公開(=Protect)を設定することができる。
実際の会議の場合では、参加メンバー全員が共通の文書を閲覧しつつ、その文書上にメモを書きながら隣の参加メンバー同士で筆談をする、あるいは近隣の席に座った同一部門内でのみ筆談をするようなケースを電子会議で実現する場合に有効である。また、ログインしたユーザと、その時点で閲覧しているユーザとが異なる場合にも有効である。
これにより、通常の検索処理機能時であるのか自動更新通知機能時であるのかを問わず、ユーザが閲覧を希望する文書とその時点に既に付与されている全てのアノテーションのうち、閲覧中のユーザに対して公開が許可されているもののみが文書ビューア102上に提示されることとなる。つまり、アノテーションの属性として持たせた公開属性を利用することで、アノテーションの公開制限機能を確実に実現することができる。
なお、検索部546にて、検索条件に一致する文書IDでかつ公開属性が相応しいアノテーションのみを検索するようにしてもよい。つまりアノテーション提示制御部550における公開アノテーション特定処理の機能部分を検索部546が兼用するということである。何れの場合も、サーバ側で、公開対象のアノテーションだけをクライアントシステム100側に送付することとなる。
また、アノテーション提示制御部550をクライアントシステム100側に設け、サーバシステム200(アノテーション処理装置218やアノテーション管理部210)から同一文書IDに付与されている全アノテーションをクライアントシステム100側に送り、クライアントシステム100側のアノテーション提示制御部550にて、個々のアノテーションに付与されている公開属性に応じて表示(公開)/非表示(非公開)を制御するようにしてもよい。
また、自動更新通知機能を実現する場合のアノテーション表示に際しては、新規あるいは変更のあったアノテーションを、一定期間(たとえば数秒程度)強調表示するとよい。既存のアノテーションとの差別化のためである。この場合、“強調表示”の目的は、他の部分との峻別にあり、視覚的に差を持たせることのできるものであればよく、変化の方向は問わない。たとえば、新規な部分や変更後も存在している部分は濃度を濃くすることで該当部分を一定期間強調表示するとよい。逆に、消去部分や場所移動された元の部分は、濃度を薄くすることで該当部分を一定期間強調表示するとよい。強調表示を実行する機能部分は、前述の表示輝度制御部150や、強調語/センテンス特定部184、強調語/センテンス選択手法指示部186、および強調指示制御部188を利用するとよい。
図15は、公開制限機能を実現するための処理手順の概要を示したフローチャートである。ユーザは、文書ビューア102上で閲覧中の文書にアノテーションを付与し、所定のタイミングで保存ボタン116を押下する(S100)。このとき、ユーザは、付加情報付与部106に対して、付与・保存するアノテーションの公開属性として、制限なし(=Pub)、特定公開(=Frd)、非公開(=Priv)、認証公開(=Protect)、のうち何れかを設定する(S102)。
クライアントシステム100の文書ビューア102は、保存ボタン116が押下されたことを検知すると、ユーザID、文書ID、アノテーション内容、公開属性などを含むアノテーションデータ(図10に示したデータ)をアノテーション処理装置218に送付する(S104)。
アノテーション処理装置218は、アノテーションサーバ212を介して、アノテーションデータをアノテーションDB216に登録する(S106)。以上で、公開制限機能を実現するためのアノテーションの保存処理が完了する。上記の保存処理を、多数のユーザによりなされることで、アノテーションDB216は、図13に示すような内容になる。
次に、あるユーザは、文書を読み出して閲覧する。このため、先ず、ユーザは、文書ビューア102にログイン操作を行なう(S120)。ログインを受け付けた文書ビューア102は、プロファイル管理部230に問い合わせ、プロファイルサーバ232からユーザが所属するグループのID番号を取得する(S122)。この後、システムは、閲覧希望の文書を文書ビューア102に提示する。
そして、文書に付与されているアノテーションの表示を希望する場合、ユーザは検索ボタン118を押下することで、アノテーション検索を指示する(S124)。ここでは、ユーザによる検索条件の設定(たとえば特定のユーザや時刻など)がないものとする。文書ビューア102は、保存ボタン116が押下されたことを検知すると、検索要求指定部500に通知する。検索要求指定部500は、文書ビューア102に表示されている文書の文書ID、閲覧中(ログインした)のユーザID、そのユーザが属するグループIDをアノテーション処理装置218に送付する。
アノテーション処理装置218の検索条件決定部544は文書IDを検索条件に設定し、検索部546は指示された文書IDの文書に付与されている全てのアノテーションをアノテーションDB216から検索する(S130)。アノテーション提示制御部550は、検索部546により検索されたアノテーションの実体について、公開属性が相応しいか否かを判定する(S142)。
そして、公開するに相応しいアノテーションであれば(S142−YES)、そのアノテーションの実体を文書ビューア102に提示する(S144)。一方、公開するに相応しくないアノテーションであれば(S142−NO)、そのアノテーションの公開を禁止する(S146)。アノテーション提示制御部550は、検索部546により検索された全てのアノテーションについて上記ステップS142〜S146の公開アノテーション特定処理を繰り返す(S148)。
このように、アノテーションに公開属性を持たせることで、特定の閲覧者のみに自身が付与したアノテーションを公開することができる。また、手書き文字であってもストロークごとに公開属性を設定することができ、特開2002−222185号公報に記載の発明のように構造化ファイルを作る必要がなく文字認識などのような複雑な処理が不要であり、処理が極めて簡便である。
なお、上記実施形態の構成では、アノテーションの公開制限機能を実現するに際して、アノテーションの付与・保存時に公開属性をユーザの指定により登録することとしていた。しかしながら、追加・変更するアノテーションが多数ある場合には、この公開属性の登録操作が面倒になる。
このような場合、公開属性設定部600を、付加情報が付与または変更または保存指示されたときに、文書の閲覧者の属性に応じて公開属性が自動的に設定されるように構成しておくとよい。たとえば、ログインしたときに、アノテーションに付与する公開属性を事前に割り当てておくとよい。具体的には、会議参加メンバーとしてのログインであれば、特定公開(=Frd)でかつフルアクセス可能とする設定をしておくとよい。勿論、その他の公開属性の設定に関しても、閲覧者の属性に応じて自動設定するようにしてよい。
また、公開属性設定部600を、公開属性が対応付けられた透明または半透明のシート媒体を液晶表示パネル103の表示面上に配置可能に構成し、かつ、シート媒体を介してアノテーションが付与または変更されたことに基づいて公開属性が自動的に設定されるように構成してもよい。以下、このような構成の公開属性設定部600にすることで、公開属性の指定操作をより簡便にする手法について説明する。
図16は、シート媒体を利用することで、公開属性の登録操作をより簡便にする構成事例を説明する図である。この事例は、シートGUI(Graphical User Interface)を利用した公開属性設定部600によりアクセス制限処理を行なうようにした点に特徴を有する。
図16に示されるように、文書ビューア102に(半)透明のシートを複数枚被せる仕組みをシートGUI601として表現する。シートGUI601を構成する各シート602(図16では2枚;それぞれa,b)には、1つの公開属性を割り当てる。何れのシート602が被せられているかを自動検知する機構を設ける。このとき、複数のシート媒体の重ねの順序に応じて公開属性が自動的に設定されるようにする。
ユーザは、そのシート602を文書ビューア102の表示面に被せてアノテーションを付与する。これにより、自動的に被せられているシート602の公開属性が割り当てられる。また、公開属性の登録時に利用することに限らず、アノテーション表示(アノテーション検索)時に、そのシートを被せた状態で検索ボタン118を押下することにより、その属性の他人のアノテーションを再現する構成とすることもできる。
たとえば、図16に示すように、文書ビューア102そのものには個人属性を付与し、1枚目のシート602aにあるグループ属性を割り当て、2枚目(1番上)のシート602bに制限なしの属性を与える。このように公開属性を設定することにより、シート602a,bを被せるごとに、徐々に公開制限が緩くなるアノテーションを付与することができる。個人的なアノテーションを付与する場合は、直接文書ビューア102に、グループで共有する場合は1枚目のシート602aを被せてアノテーションを付与し、誰に見られてもかまわないアノテーションは2枚目のシート602bを被せて付与する。
シート602を半透明とした場合、重ねられるシート602a,bが増えることにより、画面(文書ビューア102)は徐々に色が濃く表示されるため、どの属性のビューに書き込もうとしているのか一目瞭然である。また、この場合、シート602が半透明なので、自分が付与したアノテーションを常に見ることができる。
なお、図16に示した例は、物理的なシート602を順次重ねる構成であったが、各シート602を交換可能に構成してもよい。また、物理的なシート602を利用することに限らず、文書ビューア102を構成する液晶表示パネル103の表示面に画像イメージとしてシート媒体を与えるもの(純粋なGUIによるシート)としてもよい。この場合、それぞれ異なる公開属性が割り当てられたシートGUI(シート画像)を多数用意しておくとよい。
ユーザは、多数の画像イメージとしてシートGUI(シート画像)の中から希望のものをメニュー選択(交換)して利用することができる。また、シート画像を重ねることで、図16に示した構成例と同様の使い方をすることもできる。また、画像イメージの場合、使用するシート画像の組合せや数あるいは重ねの順序を自由に指定することができるので、公開属性の対応付けの自由度が増し、使い勝手がよい。
このように、透明または半透明のシート媒体(画像イメージのGUIによるソフトウェア的なものも含む)に公開属性を対応付けて、このシート媒体を文書ビューア102の表示面に被せてアノテーションを付与・保存したり検索指示を発するようにすることで、公開属性の指定を簡便に行なうことができる。
図17は、アノテーションの自動更新通知機能を実現するための処理手順の概要(第1例)を示したフローチャートである。ここでは、マニュアル表示更新モードが通報モード設定部506に登録されているものとする。
ユーザは、文書ビューア102上で閲覧中の文書にアノテーションを付与する(S200)。このとき、ユーザは、付加情報付与部106に対して、付与するアノテーションの公開属性として、制限なし(=Pub)、特定公開(=Frd)、非公開(=Priv)、認証公開(=Protect)、のうち何れかを設定する(S202)。
クライアントシステム100の更新情報通知部502は、1ストロークのアノテーションが新規に付与されたことや既存のアノテーション(1ストローク)に変更があったことを検知すると、そのことを示す更新情報(アノテーションデータの1つのID分でよい)をアノテーション処理装置218に通知する(S204)。
アノテーション処理装置218の検索条件決定部544において、更新情報格納制御部582は、クライアントシステム100(更新情報通知部502)からアノテーションが追加されたり変更されたりしたことを示す更新情報(図10に示す1つのID分のデータ)を受け取り、アノテーションDB216の自動更新通知機能用の専用格納領域に保存する(S206)。
更新通知情報送信部584は、他の端末であって現在セッションが存在する(たとえば会議などで文書閲覧中の)クライアントシステム100をアクションログDB214に問い合わせて特定する。そして、セッション中のすべてのクライアントシステム100の更新メッセージ通報部504に、追加・変更のアノテーションのあった文書ID、ユーザID(ユーザ名)、および追加・変更されたアノテーションIDを示す更新通知情報を送信する(S210)。
更新通知情報を受信した各クライアントシステム100において、更新メッセージ通報部504は、検索条件決定部544から送られてきたユーザIDと事前登録してある通報対象ユーザのユーザIDとを比較することで、通報対象ユーザによるアノテーション更新であるのか否かを判定する(S220)。クライアントシステム100側で通報対象ユーザの判定処理をするのは、ビューア使用者(閲覧者)によって、通知希望の条件設定が異なるからである。通報対象ユーザによるアノテーション更新でない場合には、その閲覧者には通知する必要がないので、次の更新通知を受けるまで待機する(S220−NO)。
一方、通報対象ユーザに該当するものによるアノテーション更新の場合には、更新メッセージ通報部504は、検索条件決定部544から送られてきた文書IDと文書ビューア102に表示されている文書IDとを比較する(S220−YES,S222)。文書ID同士が異なる場合には、そのユーザが閲覧中の文書に付与されたアノテーションではないので、次の更新通知を受けるまで待機する(S222−NO)。
文書ID同士が同じ場合は(S222−YES)、更新通知情報に含まれているユーザID(ユーザ名)で示されるユーザによって、表示中の文書に対して、アノテーションの追加や変更があったことを、所定の表示や音声などの更新メッセージにより、文書閲覧中のユーザへ通報する(S230)。クライアントシステム100側で文書IDの判定処理をするのは、会議に参加している(セッション中の)全てのユーザが、その時点でアノテーション変更のあった同一文書を閲覧しているとは限らないからである。なお、本例では、文書IDが同一か否かを判定基準としているので、同一文書ではあるが異なるページを開いている場合でも、更新メッセージが発せられる。
更新メッセージなどがあってもアノテーション表示の更新を希望しないユーザは、そのままとしておけばよい(S232−NO)。この場合、クライアントシステム100は、次の更新通知情報を受信するまで待機していればよい。また、更新ボタン120が押下される前に次の更新通知情報を受信した場合、更新メッセージ通報部504は、前回通知分のアノテーションIDの情報を図示しないメモリに保持しておく。
更新通知のメッセージ(たとえば誰によるアノテーション更新であったのか)を確認し、アノテーション表示の更新を希望するユーザは、更新ボタン120を押下する(S232−YES)。検索要求指定部500は、更新ボタン120の押下を検知すると、更新通知情報に含まれているアノテーションIDをアノテーション処理装置218に送信することで表示更新指示を発する(S234)。
このとき、前回通知分のアノテーションID(更新ボタン120の押下がなかったので保持されていたもの)もアノテーション処理装置218に送信する。これにより、前回の通知時に表示更新させなかった分も合わせて文書ビューア102上に表示されることとなる。表示更新されたときには、メモリに保持しておいた前回分のアノテーションIDの情報をクリアする。これにより、その後の無駄な更新要求を防止することができる。
アノテーション処理装置218の検索条件決定部544は、自動更新通知機能のためのアノテーションIDをクライアントシステム100から受け取ると、このアノテーションID(前回分を含む)を検索条件に設定し、検索部546に検索を指示する。検索部546は、アノテーションIDをキーとしてアノテーションDB216の自動更新通知機能のための専用格納領域を検索し、該当するものを読み出しアノテーション提示制御部550に渡す(S240)。
アノテーション提示制御部550は、検索部546により検索されたアノテーションの実体について、公開属性が相応しいか否かを判定する(S242)。そして、公開するに相応しいアノテーションであれば(S242−YES)、そのアノテーションの実体を文書ビューア102に提示する(S244)。一方、公開するに相応しくないアノテーションであれば(S242−NO)、そのアノテーションの公開を禁止する(S246)。この後には、次回の更新通知があるまで待機する。
なお、自動表示更新モードが通報モード設定部506に登録されている場合には、上記ステップS230,S232の処理をパスし、更新通知情報に含まれているアノテーションIDをアノテーション処理装置218に送信する。更新メッセージ通報部504は、ユーザIDをアノテーション提示制御部550に通知する。これを受けて、アノテーション提示制御部550は、アノテーション更新表示の際に、誰によるアノテーション更新であったのかを、ユーザIDを参照して閲覧者に通知するとよい。
自動表示更新モードおよびマニュアル表示更新モードの何れに設定されている場合であっても、アノテーション提示制御部550によるアノテーション表示のタイミングが、通報モード設定部506の設定状態によって管理されることとなる。つまり、アノテーション提示制御部550は、更新通知情報送信部584が送信した更新通知情報に呼応して発せられる表示更新指示を受けて、アノテーションの実体の送信処理(検索処理)を開始する。このように、クライアント端末側の設定条件に応じたタイミング調整をするために、ストロークごとの自動更新通報の場合においても、アノテーションの実体を保管するアノテーションDB216が利用される。
なお、アノテーション処理装置218(すなわちサーバ側)は、アノテーション更新のあった一方のクライアント端末からアノテーションの実体を受け取ると、受け取ったアノテーションの実体を、即時に(これも所定のタイミングの一例である)、他の共用閲覧者が使用する他方のクライアント端末に配信するようにしても構わない。いわゆる、プッシュ型のデータ配信機能である。この場合、他方のクライアント端末に更新通知情報を送信する必要はない。また、クライアント端末側に、必要に応じて、タイミング調整をするためにアノテーションの実体を保管する記憶部を設けるとよい。
上記第1例の処理手順では、マニュアル表示更新モードが通報モード設定部506に登録されている場合には、ユーザによる更新ボタン120の押下を条件としてアノテーションIDをアノテーション処理装置218に送信することで、アノテーション検索処理、すなわちアノテーションの実体の取得処理(S240)を行なうようにしている。このため、表示更新されない場合にはアノテーションの実体の送信処理を割愛でき、アノテーションの実体を無駄に送信してしまうことによる通信負荷を防止することができる。
一方、第1例の処理手順では、ステップS222にて文書IDが同一か否かを判定基準としているので、同一文書ではあるが異なるページを開いている場合でも、更新メッセージが閲覧者に通知される。このとき、その閲覧者が更新ボタン120を押下しても、アノテーション更新の対象ページが現在閲覧中のページでなければ、更新メッセージの通報やアノテーションの実体の送信処理が無駄となってしまう。当然、ユーザによる更新ボタン120の押下も無駄な操作となる。
このような無駄を避けるには、検索条件決定部544の更新通知情報送信部584から更新メッセージ通報部504に通知される更新情報の中にアノテーションの矩形番号も加えることが望ましい。あるいは、更新通知情報送信部584は、更新情報格納制御部582により自動更新通知機能のための専用格納領域に保存された矩形番号を参照して、アノテーション更新のあったページ番号を特定し、このページ番号も更新メッセージ通報部504に通知するようにしてもよい。
更新メッセージ通報部504は、矩形番号の通知を受けたときには、この矩形番号を参照してページ番号を特定する。そして、更新メッセージ通報部504は、更新メッセージを閲覧者に通報する際、アノテーション更新のあったページ番号も通報する。閲覧者は、閲覧中のページに対するアノテーション更新でなく表示更新不要と感じたときには更新ボタン120の押下を割愛することができ、便利である。
また、他ページではあるが確認したいと感じたときには、更新ボタン120を押下すればよい。このとき、予め閲覧ページを更新対象ページに切り替えてから更新ボタン120を押下してもよいし、現在のままで更新ボタン120を押下し表示更新された後に更新対象ページに捲ってもよい。また、ユーザが適当にページを捲ったときに更新対象ページに該当していると、先ず更新がある旨の通報をし、そのページの更新が求められたとき(更新ボタン120が押下されたとき)に既に取得済みのデータを使って即時に表示を更新するようにしてもよい。何れの場合でも、最初の表示における一定期間(たとえば数秒程度)は新規あるいは変更のあったアノテーションを強調表示するとよい。
図18は、アノテーションの自動更新通知機能を実現するための処理手順の第2例のフローチャートである。上記第1例の処理手順では、セッション中のすべてのクライアントシステム100に更新通知情報を送信し(S210)、公開属性が相応しいか否かの判定を更新ボタン120の押下を受けた後に行なっていた(S242)。このため、前回の表示更新後にアノテーションが付与もしくは変更されているものの、公開属性の設定によって、更新ボタン120を押下したユーザの閲覧が禁止されているケースでは、そのアノテーションが表示されず、更新ボタン120を押下が無駄となってしまう。
この無駄を避けるには、図18に示すように、更新メッセージ通報部504は、セッション中のクライアントシステム100を特定した後、格納領域に保存したアノテーションの実体を、セッション中の各クライアントシステム100(文書ビューア102)を使用している閲覧者に対して公開するのが相応しいか否かを判定する(S208)。公開するに相応しいアノテーションである場合は、対象の更新メッセージ通報部504に、追加・変更のアノテーションのあった文書ID、ユーザID(ユーザ名)、および追加・変更されたアノテーションIDを示す更新通知情報を送信する(S208−YES,S210)。一方、公開するに相応しくないアノテーションであれば、次回の更新通知があるまで待機する(S208−NO)。
このように、第2例の処理手順によれば、公開属性の設定によって公開が制限されている閲覧者には、アノテーション更新があってもそのことが通知されないので、無駄なデータの送信処理やボタン操作を防ぐことができる。
図19は、アノテーションの自動更新通知機能を実現するための処理手順の第3例のフローチャートである。上記第1例や第2例の処理手順では、1ストロークのアノテーションごとに更新通知を行なうようにしていた。これに対して、この第3例の処理手順は、保存ボタン116が押下されるごとに更新通知を行なう点に特徴を有する。図19の例は、第1例に対する変更事例を示したもので、基本的な処理手順は、第1例の処理手順と同様である。
ユーザは、文書ビューア102上で閲覧中の文書にアノテーションを付与し、所定のタイミングで保存ボタン116を押下する(S300)。このとき、ユーザは、付加情報付与部106に対して、付与・保存するアノテーションの公開属性として、制限なし(=Pub)、特定公開(=Frd)、非公開(=Priv)、認証公開(=Protect)、のうち何れかを設定する(S302)。
クライアントシステム100の更新情報通知部502は、保存ボタン116の押下を検知すると、そのことを示す更新情報(図10のアノテーションデータそのものでよい)をアノテーション処理装置218に通知する(S304)。
アノテーション処理装置218の検索条件決定部544において、更新情報格納制御部582は、クライアントシステム100(更新情報通知部502)からアノテーション保存指令と更新情報(図10にアノテーションデータ)を受け取り、アノテーションデータをアノテーションDB216の通常の格納領域に保存する(S306)。
更新通知情報送信部584は、他の端末であって現在セッションが存在する(たとえば会議などで文書閲覧中の)クライアントシステム100をアクションログDB214に問い合わせて特定する。そして、セッション中のすべてのクライアントシステム100の更新メッセージ通報部504に、追加・変更のアノテーションのあった文書ID、ユーザID(ユーザ名)、および追加・変更されたアノテーションIDを示す更新通知情報を送信する(S310)。なお、この第3例では、保存指令を受けてからの処理であるので、複数のアノテーションを含むケースがある。この場合、複数のアノテーションについての更新通知情報を送信する。
更新通知情報を受信した各クライアントシステム100において、更新メッセージ通報部504は、検索条件決定部544から送られてきたユーザIDと事前登録してある通報対象ユーザのユーザIDとを比較することで、通報対象ユーザによるアノテーション更新であるのか否かを判定する(S320)。複数のアノテーションについての更新通知情報を受信していたときには、個々のアノテーションについてステップS320の処理を行なう。当然に、後述するステップS322の処理も同様である。
処理対象のアノテーションが通報対象ユーザによるアノテーション更新でない場合には、その閲覧者には通知する必要がないので、残りのアノテーションがあれば残りのアノテーションについてステップS320の処理を繰り返す(S320−NO、S324−NO)。一方、通報対象ユーザに該当するものによるアノテーション更新の場合には、更新メッセージ通報部504は、検索条件決定部544から送られてきた文書IDと文書ビューア102に表示されている文書IDとを比較する(S320−YES,S322)。文書ID同士が異なる場合には、そのユーザが閲覧中の文書に付与されたアノテーションではないので、残りのアノテーションがあれば残りのアノテーションについてステップS320の処理を繰り返す(S322−NO、S324−NO)。
複数のアノテーションについてステップS320,S322の処理が完了したとき(S324−YES)、通報対象ユーザに該当するものによるアノテーション更新であって文書ID同士が同一のもの(つまり通報対象あり)が1つも存在しなければ、次の更新通知を受けるまで待機する(S226−NO)。一方、通報対象あの場合には(S226−YES)、通報対象分について、更新通知情報(図10のアノテーションデータ)に含まれているユーザID(ユーザ名)で示されるユーザによって、表示中の文書に対して、誰によってアノテーションの追加や変更があったかを、アノテーションごとに、所定の表示や音声などの更新メッセージにより、文書閲覧中のユーザへ通報する(S330)。複数のアノテーションについての更新通知情報を受信していたときには、閲覧者ごとに通報対象分が異なり、通報される内容、たとえば更新したユーザ名などが異なる。
更新メッセージなどがあってもアノテーション表示の更新を希望しないユーザは、そのままとしておけばよい(S332−NO)。検索要求指定部500は、更新ボタン120の押下を検知すると(S332−YES)、更新通知情報に含まれているアノテーションIDをアノテーション処理装置218に送信することで表示更新指示を発する(S334)。このとき、前回通知分のアノテーションID(更新ボタン120の押下がなかったので保持されていたもの)もアノテーション処理装置218に送信する。
アノテーション処理装置218の検索条件決定部544は、自動更新通知機能のためのアノテーションIDをクライアントシステム100から受け取ると、このアノテーションID(複数であってもよいし、前回分を含んでいてもよい)を検索条件に設定し、検索部546に検索を指示する。検索部546は、アノテーションIDをキーとしてアノテーションDB216を検索し、該当するものを読み出しアノテーション提示制御部550に渡す(S340)。
アノテーション提示制御部550は、検索部546により検索されたアノテーションの実体について、公開属性が相応しいか否かを判定する(S342)。そして、公開するに相応しいアノテーションであれば(S342−YES)、そのアノテーションの実体を文書ビューア102に提示する(S344)。一方、公開するに相応しくないアノテーションであれば(S342−NO)、そのアノテーションの公開を禁止する(S346)。複数のアノテーションの更新であったときには、残りのアノテーションがあれば残りのアノテーションについてステップS342〜S346の処理を繰り返す(S348−NO)。この後には、次回の更新通知があるまで待機する。
上記第3例の処理手順では、更新ボタン120の押下を受けて、対象分全てを一括してアノテーション検索することとしていたが、表示更新の対象を個別に指定して可能な構成としてもよい。たとえば、更新メッセージを表示する際、ユーザ名やアノテーションIDにチェックボックスを設け、チェックボックスへのマークを受けたもののみを検索するようにしてもよい。ユーザ名のチェックボックスの場合、検索要求指定部500は、そのユーザに該当する全てのアノテーションIDの情報を検索条件決定部544に通知して検索を要求する。
なお、1ストローク分のアノテーションの追加や変更がある都度と(第1例および第2例)と、保存指令がある都度(第3例)との中間的な自動更新通報処理として、適当なサイクルで自動通報する態様(第4例という)を採り得る。この第4例の処理手順を示したフローチャートを図20に示す。
基本的には、第1例と第3例とを組み合わせた処理となっている。たとえば、アノテーションデータのアノテーションDB216への格納までは、第1例と同じである(S300〜S306)。更新通知情報送信部584は、ストロークごとにアノテーションデータをクライアントシステム100の更新情報通知部502から取得しても、所定の通報タイミングになるまで、セッション中のクライアントへの更新通知情報の送信を保留する(S308−NO)。通報タイミングになると、第3例と同様の処理を行なう(S310〜S348)。ただし、アノテーションデータは、アノテーションDB216の通常の格納領域ではなく、自動更新通知機能用の専用格納領域である。ユーザからの保存指示に基づく保存でないからである。
以上のように、1ストローク分のアノテーションの追加や変更がある都度、あるいはアノテーションの保存指令がある都度、その旨を他の閲覧者(公開属性が設定されているときは公開対象者のみ)に通知するようにしたので、ユーザは、アノテーションの読込みや再現手続きを頻繁に行なう必要性から開放され、操作の煩わしさを軽減することができる。
また、表示更新の指示を待たずに自動的に表示更新までを実行するようにすれば、ユーザは、アノテーションの読込みや再現手続きの操作を一切行なわなくても、常に最新のアノテーションの状況を確認することができる。また、公開属性も考慮しアノテーション更新のあったことを通知する第2例の手順とすることで、無駄なデータの送信処理やボタン操作を防ぐことができる。
なお、上述したアノテーションを利用した公開制限機能や自動更新通知機能の一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ(組込みマイコンなど)、または、各種のプログラムをインストールすることで各種の機能を実行することが可能な汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
この記録媒体は、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD−ROM(Compact Disc-Read Only Memory )、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc )を含む)、もしくは半導体メモリなどよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供されてもよいし、プログラムが記録されているROMやハードディスクなどで構成されてもよい。あるいは、ソフトウェアを構成するプログラムが、通信網を介して提供されてもよい。
図21は、上述した情報表示処理システム7を、コンピュータにより構成する場合のシステム構成の概略を示した図である。このようなコンピュータシステムの基本構成は、ハードウェア層910、OS(Operating Systems )層920、文書情報管理層930、ユーザインタフェース層940という4つの層から成り立っている。各層は独立性が保たれており、層ごとに機能を拡張したり別のものに交換したりすることが容易になっている。
ハードウェア層910は、図1で示したシステム構成に相当するもので、たとえば、文書ビューア102に対応するタブレット911、アノテーションデバイス170に対応するペン入力装置912、操作ボタン110に対応するボタン913、およびネットワーク9に対応する通信ネットワーク914からなる。なお、たとえば音声入出力インタフェース915など、その他の仕組みを設けてもよい。
文書情報管理層930は、文書管理部220に対応し文書本体の管理を担当する文書層932、アノテーション管理部210に対応しアノテーションなどの文書本体に付加される付加情報の管理を担当するワークスペース934、およびアノテーションなどを利用して情報検索を行なう情報検索層936からなる。
ユーザインタフェース層940は、文書ビューア102やアノテーションデバイス170に対応しユーザからの入力を管理するユーザ入力管理層942、文書表示エリア104における情報表示に関わる画面層944、およびマネジャ部180に対応し文書表示エリア104の表示動作を管理する画面マネジャ946からなる。
このようなシステム構成においては、たとえば前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムに供給し、そのシステムのコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによって、上記実施形態で述べた効果が達成される。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステムOSなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される場合であってもよい。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によって前述の実施形態の機能が実現される場合であってもよい。
なお、上記実施形態で述べた処理を実現するプログラムコードを記述したファイルとしプログラムが提供されるが、この場合、一括のプログラムファイルとして提供されることに限らず、システムのハードウェア構成に応じて、個別のプログラムモジュールとして提供されてもよい。
たとえば、図1に示したシステム構成では、クライアントシステム100とサーバシステム200とがネットワーク9で接続された形態であるので、表示に関する処理プログラム(たとえばページ捲り時や検索結果を反映した強調表示機能用の処理プログラム)は、クライアントシステム100側の装置に向けて、クライアントシステム用モジュールとして提供されるのがよい。
一方、アノテーションの管理や検索に関する処理プログラムは、サーバシステム200側の装置に向けて、サーバシステム用モジュールとして提供されるのがよい。また、サーバシステム用モジュールは、さらに、サーバシステム200を構成する各管理部の構成に応じて、一括ファイルもしくはサブモジュールファイルとして提供されてもよい。
また、図1に示したシステム構成では、クライアントシステム100とサーバシステム200とがネットワーク9にて接続されているが、これらは近接した場所に配置されてもよい。この場合、クライアントシステム100のマネジャ部180をサーバシステム200(その全体あるいはその一部)と一体化させてもよい。
また、上述の説明では、文書ビューア102がマネジャ部180を収容した本体(クレードル/ドッキングステーション)と別体であるものとして説明したが、上記実施形態で説明したマネジャ部180内の機能部分を文書ビューア102と一体化させてもかまわない。
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
また、上記の実施形態は、クレーム(請求項)にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
たとえば、上記実施形態の構成では、更新メッセージを閲覧者に通知した後に更新ボタン120の押下を受けて該当するアノテーションを検索して表示を更新するようにしていたが、更新ボタン120に対応するメニューボタンを更新メッセージと一体的にポップアップ画像として提示してもよい。この場合、メニューボタンのクリック操作を受けてアノテーションを検索して表示を更新する。
なお、上記実施形態では、検索部により検索されたアノテーションなどの付加情報を、表示デバイス(文書ビューア102)の文書表示エリア104に表示されている閲覧中の文書に重ねて表示させるようにしていたが、検索結果の情報の提示手法は、必ずしもこのようなものに限らない。たとえば、文書ビューア102上に、文書本文を表示する文書表示エリア104とは別にパレット表示エリアを設け、このパレット表示エリアに検索結果を一覧表示(リスト表示)するようにしてもよい。
この場合、アノテーションが付加されたテキスト部分を一覧表示するとともに、この一覧表示から文書本文中のアノテーションが付与された場所を参照可能とするリンク機能をもたせるようにしてもよい。また、この一覧表示は、文書本文にアノテーションが付与された状態でその部分(その周辺を含んでいてよい)を切り出した画像として提示してもよい。この場合、一覧表示だけで、アノテーションが付与された部分だけを素早く読み進めることができる。
なお、文書本文を表示している文書ビューア102とは別に検索結果を提示する専用の提示デバイスを用意してもよい。たとえば、専用の表示デバイスに、アノテーションが付与された部分だけを一覧表示する、あるいは、プリンタにて、アノテーションが付与された部分だけを、一覧形式で印刷出力するなどである。
また、システムを構築する上で、各機能要素をどの部分で分けてクライアントシステム100とサーバシステム200とに振り分けるかは、上述した実施形態のものに限定されない。システムを構成する上で、都合のよい部分にて分ければよいのはいうまでもない。また、逆に、クライアントシステム100とサーバシステム200とを一体化させたシステム構成としてもよい。たとえば、電子会議システムに利用する場合、会議進行を管理する者(たとえば議長)が使用する端末として、この一体化させたものを使用し、他の会議参加者が使用する端末として、上述通りの構成のクライアントシステム100を使用するシステム構成とすればよい。
1…電子会議システム、7…情報表示処理システム、9…ネットワーク、100…クライアントシステム、101…表示処理部、102…文書ビューア、103…液晶表示パネル、104…文書表示エリア、106…付加情報付与部、107…アノテーション検出部(付加情報付与部分情報取得部)、109…筐体、110…操作ボタン、114…文書読込みボタン、116…保存ボタン、118…検索ボタン、120…更新ボタン、122…ページ捲りボタン、122a…前ページ送りボタン、122b…次ページ送りボタン、124…強調表示ボタン、126…ユーザ表示ボタン、130…コントローラ、132…ページ送り指示受付部、140…ページ画像生成部、150…表示輝度制御部、150a…コントラスト制御部、150b…ブライトネス制御部、170…アノテーションデバイス、180…マネジャ部、182…ログファイル格納部、184…強調語/センテンス特定部、186…強調語/センテンス選択手法指示部、188…強調指示制御部、200…サーバシステム、210…アノテーション管理部、212…アノテーションサーバ、216…アノテーションDB、220…文書管理部、222…文書サーバ、224…文書DB、230…プロファイル管理部、232…プロファイルサーバ、234…プロファイルDB、500…検索要求指定部、502…更新情報通知部、504…更新メッセージ通報部、544…検索条件決定部、545…検索表示処理部、546…検索部、550…アノテーション提示制御部、582…更新情報格納制御部、584…更新通知情報送信部、600…公開属性設定部、601…シートGUI、602…透明シート