以下、図面を参照して本発明の実施の形態について詳細に説明する。なお、ここでは、本発明に係る文書処理装置及び文書処理プログラムをクライアント/サーバ・システムとして構成された文書処理システムに適用した場合について説明する。
〔システム構成〕
図1は、本実施の形態に係る文書処理システム90の全体概略構成を示す図である。
同図に示すように、文書処理システム90は、文書処理システム90において使用される電子データ(文書データに限らず、文書処理システム90で対応している他の電子的なデータの全てを含む)を処理するサーバシステム92と、文書処理システム90の利用者が使用するクライアントシステム94と、を備えている。
サーバシステム92は、電子文書(以下、単に「文書」ともいう。)を管理する文書管理サーバ10及びアノテーションを管理するアノテーション管理サーバ20を有する。文書管理サーバ10は主として文書の保存と検索を行うサーバであり、アノテーション管理サーバ20は主として文書に付与されたアノテーションの保存と検索を行うサーバである。
このように、文書全体を管理する文書管理サーバ10と、電子文書に付与されたアノテーションを管理するアノテーション管理サーバ20とを設けることで、複数の電子文書に対する加筆修正が複数の利用者によって独自に行われる場合でも、最終的な電子文書や加筆修正等の内容に矛盾が生じることを回避することができる。
例えば、何れかの利用者が電子文書の原本のある部分にアノテーションとして補足説明を加え、その一方で、他の利用者が同じ部分を削除するような修正を加えたときでも、それらの編集部分を文書管理サーバ10で管理している電子文書本体と対応付けてアノテーション管理サーバ20により登録しておくことで、電子文書本体やこれに対応する加筆修正等の内容に矛盾が生じることなく情報の管理を行うことができる。
同図に示すように、文書管理サーバ10は、文書管理サーバ10全体の動作を司る制御部11と、各種情報を記憶するための主記憶部12と、液晶ディスプレイ等のディスプレイを含んで構成された表示部13と、キーボード及びマウス(ポインティング・デバイス)を含んで構成された操作部14と、後述する文書データベースDB1や各種プログラム、各種パラメータ情報等を記憶するための二次記憶部15と、外部装置との間での各種情報の授受を司る送受信部16と、を備えており、これら各部はシステムバスS1を介して電気的に接続されている。すなわち、本実施の形態に係る文書管理サーバ10は、通常のパーソナル・コンピュータ(以下、「PC」ともいう。)により構成されている。
一方、アノテーション管理サーバ20も、アノテーション管理サーバ20全体の動作を司る制御部21と、各種情報を記憶するための主記憶部22と、液晶ディスプレイ等のディスプレイを含んで構成された表示部23と、キーボード及びマウスを含んで構成された操作部24と、後述する付箋用アノテーションデータベースDB2、ペン入力用アノテーションデータベースDB3や各種プログラム、各種パラメータ情報等を記憶するための二次記憶部25と、外部装置との間での各種情報の授受を司る送受信部26と、を備えており、これら各部はシステムバスS2を介して電気的に接続されている。すなわち、本実施の形態に係るアノテーション管理サーバ20もまた、通常のPCにより構成されている。
そして、クライアントシステム94は、文書処理システム90の各利用者毎に設けられたクライアント装置50及び当該クライアント装置50に対してペン入力を行う際に用いられるペン型のアノテーションデバイス56を有する。
同図に示すように、クライアント装置50は、クライアント装置50全体の動作を司る制御部51と、各種情報を記憶するための主記憶部52と、ディスプレイを含んで構成された表示部53と、キーボード及びマウスを含んで構成された操作部54と、外部装置との間での各種情報の授受を司る送受信部55と、を備えており、これら各部はシステムバスS3を介して電気的に接続されている。
クライアント装置50は、主記憶部52から読み出したデータや、送受信部55を介してサーバシステム92等から取得したデータに基づいて画像を表示部53に表示するように構成されている。
なお、本実施の形態に係るクライアント装置50は、ディスプレイ表面にタッチパネル(図示省略。)が重ねられて構成されたタッチパネル・ディスプレイが設けられた表示部53を採用した、所謂タブレットPCとして構成されており、表示部53における表示面上をアノテーションデバイス56によって直接指示(手書き入力)することができる。
ここで、当該手書き入力に対応したコントローラとしては、手書きで入力したデータを‘デジタルインク(手書き文字)’として認識し、処理するためのものであればよく、必ずしも、手書き入力したものをテキスト変換する機能(手書き文字認識機能)を備えたものである必要はない。この場合でも、テキストの最上位フォーマットとして取り扱うことができ、手書き文字のまま検索したり、文字を加工(カラー変更等)したりすることができる。なお、デジタルインクデータフォーマットを画像データ(例えば、ビットマップデータ)として取り扱ってもよい。
このように、クライアント装置50は、紙の文書を読む際に当該文書に好きな形で下線や丸等のマークを付けたり、コメントを書き込んだりするのと同様に、アノテーションデバイス56を用いて書き込み入力が可能となっている。
また、クライアント装置50は、以上のようなアノテーションデバイス56を用いた手書き入力機能の他、表示部53により文書を表示させた状態において、当該文書の任意の位置に所定形状(本実施の形態では、矩形状)の付箋を添付した状態とすることのできる付箋添付機能を備えている。ここで、当該付箋には、任意のコメントを直接記述したり、コメントや関連記事等のリンク先を示すリンク情報を関連付けたりすることができる。なお、付箋にリンク情報を関連付けた場合、当該付箋にはリンクが張られていることを示す所定形状(本実施の形態では、正方形)のマークが表示される。この場合に本実施の形態に係る文書処理システム90では、付箋自身がアノテーションであるものとしている。
このように、クライアント装置50は、紙の文書を読む際に当該文書に付箋を貼り付けるのと同様に、注目すべき箇所や補足説明を要する箇所等の任意の位置に対して付箋を添付した状態とすることができる。
文書処理システム90は、以上のような文書管理サーバ10、アノテーション管理サーバ20、及び複数のクライアント装置50が、各々に備えられた送受信部を介し、ネットワーク60によって電気的に接続されて構成されている。なお、本実施の形態に係る文書処理システム90では、ネットワーク60としてインターネットを適用しているが、これに限らず、イントラネット、LAN(Local Area Network)、VAN(Value Added Network)、電話回線網、エコーネット(ECHONET)、HomePNA等の各種ネットワークを単独又は組み合わせて適用することもできる。
本実施の形態に係る文書管理サーバ10及びアノテーション管理サーバ20はHTTP(Hypertext Transfer Protocol)サーバとして機能し、各クライアント装置50はHTTPクライアントとして機能するものとされており、文書管理サーバ10、アノテーション管理サーバ20、及び各クライアント装置50はネットワーク60を介して相互にアクセスすることができる。
そして、クライアント装置50においてアノテーションデバイス56を用いて手書き入力されたアノテーション(以下、「手書き入力アノテーション」ともいう。)や、付箋として添付されたアノテーション(以下、「付箋アノテーション」ともいう。)に関する情報は主記憶部52に一旦保持された後、所定のタイミングでアノテーション管理サーバ20にネットワーク60を介して送信され、文書本体と対応付けられて記憶される。そして、後にクライアント装置50において、当該文書を読み出すときには、文書本体と共に、過去に付加したアノテーションに関する情報も読み出され、表示部53により表示される。
〔クライアント装置50の表示部53による表示画面の構成〕
図2は、本実施の形態に係るクライアント装置50の表示部53による表示画面の概略構成を示す図である。
同図に示すように、クライアント装置50の表示部53における表示エリア53Aには、各々所定の役割を有する複数のボタンを表示するためのエリアであるボタン表示エリア53Bと、文書84を表示するためのエリアである文書表示エリア53Cとが設けられている。
本実施の形態に係るクライアント装置50では、上記複数のボタンとして、文書管理サーバ10において管理(記憶)されている文書を読み込む際に指定される文書読込みボタン70と、付箋アノテーションを文書に添付する際に指定される付箋ボタン72と、文書表示エリア53Cに表示された付箋アノテーション86や手書き入力アノテーション88を保存する際に指定される保存ボタン74と、アノテーション管理サーバ20において管理(記憶)されているアノテーションを検索して文書表示エリア53Cに表示させる際に指定される検索ボタン76とが、ボタン表示エリア53Bに表示される。
また、上記複数のボタンとして、更に、文書表示エリア53Cの表示内容を更新する際に指定される更新ボタン78と、文書表示エリア53Cに表示されている文書にアノテーションを付加した利用者の一覧を表示する際に指定されるユーザボタン80と、表示されている文書のページを前後に捲るための前ページ送りボタン82A及び次ページ送りボタン82Bからなるページ捲りボタン82とが、ボタン表示エリア53Bに表示される。
クライアント装置50は、本を読むようにページを捲りながらページ単位で表示を切り替えていく機能(ページ捲り表示機能)が搭載されており、このページ捲り表示機能を利用することで、例えば、取り込んだ多数の情報の中から所望の情報を素早く検索できるように構成されている。
すなわち、このクライアント装置50における情報検索時には、前ページ送りボタン82A及び次ページ送りボタン82Bの2つのボタンをアノテーションデバイス56や、操作部54のキーボード、マウス等によりポインティング指定することによって、ページ捲り操作を行いながら所望のページ情報を表示部53に表示させることができる。
また、クライアント装置50は、ページ捲りボタン82以外のボタンについても、アノテーションデバイス56や、操作部54のキーボード、マウス等によりポインティング指定することによって、当該ボタンに割り当てられた機能を実行させることができる。
なお、本実施の形態に係るクライアント装置50では、以上のように、表示部53の表示エリア53Aに表示させることで各種機能を実行させるためのボタンをソフトウェア的に設けているが、これに代えて、表示部53や操作部54等にハードウェアのボタンを設けたり、操作部54のキーボードにおける所定キーを各ボタンとして利用する形態とすることもできることは言うまでもない。
〔文書管理サーバ10及び文書データベースDB1〕
ところで、本実施の形態に係る文書管理サーバ10は、「登録」と「文書読込み」を外部からの指示に応じて受け付ける。
上記「登録」は、例えば‘http://datacenter.company.co.jp/access.cgi?DocumentID=8gjk3cl3’等のように、文書データベースDB1への文書の格納先を示すアドレスを示した登録したい文書へのURL(Uniform Resource Locators)等のパスやディレクトリへのパスで外部から与えることとする。
文書管理サーバ10は、与えられたパスが示す文書(群)に対し、順次、文書IDを付与し、各文書ID毎に文書名と文書本文を文書データベースDB1に登録する。このとき、文書データベースDB1内のデータ構造は、一例として図3に示すようなものとなる。ここで、文書名又は文書本文はURL等の文書へのパスであってもよい。
そして、何れかのクライアント装置50において文書読込みボタン70が指定されたことを検知すると、当該クライアント装置50は、その旨を示す情報を文書管理サーバ10に通知する。これに応じて文書管理サーバ10は、文書データベースDB1内の文書名の一覧を作成し、アクセス元のクライアント装置50に送信する。
これに応じて当該クライアント装置50は、文書名の一覧をリストボックス等で表示し、利用者に選択を促す。これに応じて利用者により所望の文書名がアノテーションデバイス56や、操作部54のキーボード、マウス等によりポインティング指定されると、クライアント装置50は、指定された文書名を文書管理サーバ10に送信する。
これに応じて文書管理サーバ10は、当該クライアント装置50から受信した文書名に対応する文書本文及び文書IDを文書データベースDB1から読み出してクライアント装置50に送信する。これによって、クライアント装置50の表示部53における文書表示エリア53Cには、指定した文書名に対応する文書の本文が表示されることになる。
〔アノテーション管理サーバ20、付箋用アノテーションデータベースDB2、ペン入力用アノテーションデータベースDB3〕
一方、本実施の形態に係るアノテーション管理サーバ20は、「保存」と「検索」を外部からの指示に応じて受け付ける。
すなわち、何れかのクライアント装置50において表示部53により文書が表示された状態で当該文書に対してアノテーションが付与され、保存ボタン74が指定されたことを検知すると、当該クライアント装置50は、その旨を示す情報をアノテーション管理サーバ20に通知する。これにより、アノテーション管理サーバ20は、保存を指示されたアノテーションに関する情報を、当該アノテーションが付与された文書に対応付けて、当該アノテーションが付箋アノテーションである場合は付箋用アノテーションデータベースDB2に、当該アノテーションが手書き入力アノテーションである場合はペン入力用アノテーションデータベースDB3に、各々登録(格納)する。
すなわち、例えば、何れかのクライアント装置50から「保存」の指示を受け付けたときにアノテーション管理サーバ20では、保存対象とするアノテーションが付箋アノテーションである場合には、以下に示すようにアノテーションの登録処理が行われる。
まず、アノテーション管理サーバ20は、保存対象とするアノテーションの付与されている位置を示す位置情報、当該アノテーションの表示名及び当該アノテーションにリンクが張られている場合のリンク先、アノテーションが付与された文書の文書ID及び当該保存の指示を行ったクライアント装置50の端末IDがクライアント装置50から与えられる。また、このとき、保存対象とするアノテーションを付与した利用者のユーザ名(又はユーザID)、当該アノテーションに関する公開属性、当該アノテーションの状況(新規、既存、消去)を示すステータス、及びアノテーションが付与された時刻もクライアント装置50から与えられる。
そして、アノテーション管理サーバ20は、アノテーションID、端末ID、ユーザID(又はユーザ名)、文書ID、位置情報、表示名、リンク先、公開属性、ステータス、及び生成時刻を、テーブル形式で付箋用アノテーションデータベースDB2に保存する。このとき、付箋用アノテーションデータベースDB2内のデータ構造は、一例として図4に示すようなものとなる。
同図において、アノテーションIDは、個々のアノテーションを管理するものであり、1付箋分のアノテーション毎にユニークなID番号が割り振られる。ここで、アノテーションIDは、クライアントシステム94側で発行する方式や、アノテーション管理サーバ20側で発行する方式がある。なお、少なくとも、アノテーションIDと文書IDの2つ組みで唯一である必要がある。与えられたアノテーションID又は上記2つ組みが新規でない場合は、そのアノテーションID又は上記2つ組みで示される行を上書きするものとする。
また、端末IDは、クライアント装置50を唯一に識別するID番号である。ここで、端末IDは、利用者が使用しているクライアント装置50のハードウェアを直接示す場合もあれば、IP(Internet Protocol)アドレスやホスト名に対応するものであってもよい。また、ユーザID(又はユーザ名)は、クライアント装置50を操作しているユーザを一意に識別するための情報であり、例えば、ログインユーザ名等に対応する。更に、文書IDは、文書データベースDB1に格納された文書毎にユニークなID番号が割り振られる。ここで、本実施の形態に係る文書処理システム90では、文書ファイル名が同じでも複数回文書データベースDB1に投稿されていれば、異なる文書IDで登録されるものとする。
一方、位置情報は、1付箋分のアノテーションの付与位置を示す情報であり、文書内位置情報及び文書外位置情報の2つの位置情報に分類される。
ここで、文書内位置情報は、文書表示エリア53Cに表示されている文書内の当該アノテーションに関連する位置を示す情報である。すなわち、本来、付箋は文書内の注目すべき箇所や補足説明を要する箇所等の関連箇所に添付するものであり、文書内位置情報は、この本来の添付箇所を示す情報である。従って、当該文書内位置情報は全てのアノテーションにおいて指定されるべきものである。これに対し、文書外位置情報は、アノテーションを文書の表示範囲外に添付した際の添付箇所を示す情報であり、アノテーションを文書の表示範囲外に添付した場合のみに登録されるものである。
このように、本実施の形態に係る文書処理システム90では、アノテーションを、表示部53によって表示されている文書の表示範囲の内外の何れに対しても配置することができるものとされており、利用者によってアノテーションが文書の表示領域内に配置された場合には位置情報として文書内位置情報のみが付箋用アノテーションデータベースDB2に登録され、アノテーションが文書の表示領域外に配置された場合には位置情報として文書内位置情報及び文書外位置情報の双方が付箋用アノテーションデータベースDB2に登録される。
そして、本実施の形態に係る文書処理システム90は、アノテーションが文書の表示範囲内に配置されている場合に、当該アノテーションを他の利用者による共有を許可する状態である共有状態であるものとし、アノテーションが文書の表示範囲外に配置されている場合に、当該アノテーションを他の利用者との共有を許可しない状態である個人用状態であるものとして取り扱うものとされている。
なお、本実施の形態に係る文書処理システム90では、アノテーションの表示範囲が一部でも文書の表示範囲内に入っていれば当該表示範囲内に配置されているものとしているが、これに限定されるものではなく、アノテーションの予め定められた位置(例えば、アノテーションの左上角点位置や、右上角点位置等)が文書の表示範囲内に入っている場合に当該表示範囲内に配置されているものとする形態や、アノテーションの表示範囲の全域が文書の表示範囲内に入っている場合に当該表示範囲内に配置されているものとする形態とすることもできる。
図2に示される例では、表示名が‘案件X’とされた付箋アノテーション86のみが文書の表示範囲外に配置されたアノテーション、すなわち、個人用状態として取り扱われるアノテーションとなっている。
なお、同図に示されるように、本実施の形態に係る文書処理システム90は、当該アノテーションの関連箇所を示す所定形状(ここでは、黒丸状)のマーク40を表示すると共に、当該マーク40と当該アノテーションとを結ぶ直線42を表示するものとされている。これによって、利用者は、文書の表示範囲外に表示されたアノテーションについても、当該アノテーションの文書内の関連箇所を容易に把握することができる。
なお、本実施の形態では、文書内位置情報は、対応する文書IDにより示される文書内のページ番号と、当該ページ番号によって示されるページにおける位置座標との組み合わせによって表され、文書外位置情報は、文書表示エリア53Cの文書が表示されない領域(以下、「背景領域」という。)における位置座標によって表される。
ここで、本実施の形態では、文書表示エリア53Cを横方向及び縦方向に、文書表示エリア53Cに表示されている文書の横方向サイズ及び縦方向サイズを基準としたサイズ(ここでは、横方向に表示文書の横方向サイズの1/20(20分の1)で、縦方向に表示文書の縦方向サイズの1/25(25分の1)のサイズ)の矩形領域でマトリクス状に区分し、各区分領域に対して左上から横方向に順に連続した番号が予め付与されており、当該番号を上記位置座標として適用している。
一方、アノテーションの表示名(図4参照)は、アノテーション(付箋)に記述されたコメントを示し、リンク先は、アノテーションに関連付けられたリンク情報を示す。なお、本実施の形態に係る文書処理システム90では、上記リンク情報を、一例として同図に示すように‘http://MessageServer/threadViewer?MessageId=1517’等のようにURL等のパスやディレクトリへのパスで与えることとする。
利用者は、付与するアノテーション毎に、これらの表示名やリンク先を設定することができる。なお、この表示名やリンク先は、アノテーションを付与する度に、或いはアノテーションの保存指示を発する度に設定可能である。
一方、公開属性は、例えば、アノテーションを共有状態とする(=Pub)と、個人用状態とする(=Priv)の何れかをとるものとする。
利用者は、上述したように、付与するアノテーション毎に、これらの公開属性を、アノテーションの配置位置として設定することができる。この公開属性は、アノテーションを付与する度に、或いはアノテーションの移動を行う度に設定可能である。
なお、アノテーションを表示する際には、個人用のアノテーションも含めて全てのアノテーションをアノテーション管理サーバ20からクライアントシステム94に送信し、クライアントシステム94側でアノテーションに設定されている公開属性をチェックして表示(公開)/非表示(非公開)を切り替えたり、アノテーション管理サーバ20側で、公開対象のアノテーションのみを送信したりする。
また、ステータスは、アノテーションが新規に作られたのか(=New)、既に存在していたものか(=Exist)、削除されたものか(=Deleted)の何れかの状態を示す。一旦付与したアノテーションを利用者が電子的な消しゴム等で消去した場合には、ここは‘Deleted’となる。この場合、この削除指示により付箋用アノテーションデータベースDB2から消去されたアノテーションのデータがなくなるのではなく、あくまでステータスが変更されるだけである。すなわち、アノテーションの新規付与時間、属性や位置の変更等があった場合には変更前のアノテーションの生成時間と変更後のアノテーションの生成時間、及び消去されたアノテーションの消去時間(図示省略。)が、アノテーションのアクセス履歴として、アノテーション毎に付箋用アノテーションデータベースDB2に登録・管理される。
ここで、アノテーションを表示する際には、‘Deleted’のアノテーションを含めて全てのアノテーションをアノテーション管理サーバ20からクライアントシステム94に送信して、クライアントシステム94側でアノテーションに設定されているステータスをチェックして表示/非表示を切り替えたり、或いはアノテーション管理サーバ20側で‘Exist’のものだけをクライアントシステム94に送信したりする。
更に、生成時刻は、クライアント装置50において1付箋分のアノテーションが付与された(表示エリア53Aに描画された)時刻であり、日付と時間からなる。これは、1付箋分のアノテーション毎に、クライアント装置50上で保存ボタン74を指定して保存した時刻とは別にサーバで一元的に管理されるようになっている。
なお、既に付与されていたアノテーションについて、場所移動(すなわち、位置情報の変化)があった場合や、アノテーションの公開属性等に変化があった場合、元のアノテーションは事実上削除されたものとして、そのステータスを‘Deleted’とし、最新の状態のアノテーションについて新たなアノテーションIDを発行することとする。こうすることによって、一旦付与されたアノテーションについては、たとえ削除又は変更された場合であっても、‘Deleted’のアノテーションを含めた全てのアノテーションをアノテーション管理サーバ20からクライアントシステム94に送信し、クライアントシステム94側でステータスをチェックして、ステータスが‘Deleted’であるものについても表示/非表示を切り替えることで、必要に応じて元の状態で再現することができる。
以上が保存対象とするアノテーションが付箋アノテーションである場合についての説明であるが、これに対し保存対象とするアノテーションが手書き入力アノテーションである場合には、アノテーション管理サーバ20において以下に示すようにアノテーションの登録処理が行われる。
まず、アノテーション管理サーバ20は、保存対象とするアノテーションのアノテーション内容と当該アノテーションの位置情報と色や形状、アノテーションが付与された文書の文書ID及び当該保存の指示を行ったクライアント装置50の端末IDがクライアント装置50から与えられる。また、このとき、保存対象とするアノテーションを付与した利用者のユーザ名(又はユーザID)、当該アノテーションに関する公開属性、当該アノテーションの状況(新規、既存、消去)を示すステータス、及びアノテーションが付与された時刻もクライアント装置50から与えられる。
そして、アノテーション管理サーバ20は、アノテーションID、端末ID、ユーザID(又はユーザ名)、文書ID、位置情報、アノテーション内容、色、形状、公開属性、ステータス、及び生成時刻を、テーブル形式でペン入力用アノテーションデータベースDB3に保存する。このとき、ペン入力用アノテーションデータベースDB3内のデータ構造は、一例として図5に示すようなものとなる。
同図において、アノテーションID、端末ID、ユーザID、文書ID、位置情報、公開属性、ステータス、及び生成時刻は、前述した付箋用アノテーションデータベースDB2と同様のものである。但し、アノテーションIDに関しては、付箋用アノテーションデータベースDB2で登録されるものが1付箋毎に割り振られるものであるのに対し、ペン入力用アノテーションデータベースDB3では1ストローク毎に割り振られるものである点のみが異なる。
一方、同図におけるアノテーション内容は、1ストロークのアノテーションの軌跡情報であって、描画されたアノテーションを再現するために利用されるデータであり、例えば、ビットマップやベクトルデータ等のデータとなる。また、色形状は、アノテーションに使用されたインクの色や、円や四角等の形状情報である。更に、線種は、アノテーションの太さや実線或いは点線等といった線種を示す。
クライアント装置50は、表示部53の文書表示エリア53Cに文書が表示された状態において検索ボタン76が指定されたことを検知すると、その旨を示す情報をアノテーション管理サーバ20に通知する。これに応じてアノテーション管理サーバ20は、検索を指示されたアノテーションに関する情報を付箋用アノテーションデータベースDB2及びペン入力用アノテーションデータベースDB3から読み出す。
すなわち、アノテーション管理サーバ20は、クライアント装置50から「検索」の指示を受け付ける。このとき、アノテーション管理サーバ20は、文書IDとアノテーション付与範囲に関する情報をクライアント装置50から受け取る。そして、アノテーション管理サーバ20は、これらの情報(検索条件)に基づき、付箋用アノテーションデータベースDB2及びペン入力用アノテーションデータベースDB3を検索し、表示対象となり得るアノテーションに関する情報を読み出してアクセス元のクライアント装置50に送信する。
これに応じて当該クライアント装置50では、アノテーション管理サーバ20から受信した情報によって示されるアノテーションを閲覧中の文書に重ねて表示する。なお、図2では、以上の処理によって文書84に付箋アノテーション86及び手書き入力アノテーション88が重ねて表示された状態の一例が示されている。
〔クライアント装置50のアノテーション付与及びアノテーション移動に関する処理〕
次に、本実施の形態に係るクライアント装置50の、利用者によってアノテーションが付与される際の処理と、利用者によってアノテーションが移動される際の処理について詳細に説明する。
まず、図6及び図7を参照して、利用者によりアノテーションが付与される際のクライアント装置50の処理について説明する。
本実施の形態に係るクライアント装置50では、一例として図6(A)に示すように、アノテーションデバイス56や、操作部54のキーボード、マウス等による指定位置を示すポインタ46が表示部53の表示エリア53Aに表示されるものとされている。
そして、アノテーションを文書84の表示範囲外に付与する際に利用者は、まず、図6(A)に示すように、ポインタ46を文書84の表示範囲内における当該アノテーションの関連箇所に位置させた状態でアノテーションデバイス56、キーボード、マウス等によってポインティング指定する。これに応じて表示部53には、指定された関連箇所にマーク40が表示される。また、このとき、指定された関連箇所を示す位置情報が文書内位置情報として主記憶部52に一時的に記憶される。
次に、利用者は、図6(B)に示すように、アノテーションの関連箇所を指定したアノテーションデバイス56等を移動させることによって、ポインタ46を文書84の表示範囲外におけるアノテーションの所望の表示位置まで移動させた後に、当該アノテーションデバイス56等にてポインティング指定する。これに応じて表示部53には、指定された位置とマーク40とを結ぶ直線42が表示される。また、このとき、指定された文書表示範囲外の位置(アノテーションの表示位置)を示す位置情報が文書外位置情報として主記憶部52に一時的に記憶される。
付与するアノテーションが付箋アノテーションである場合は、以上の利用者による操作により、図6(C)に示すように、利用者によって指定された文書84の表示範囲外の位置に付箋アノテーション86が表示されることになる。
これに対し、付与するアノテーションが手書き入力アノテーションである場合に利用者は、アノテーションデバイス56によって引き続きアノテーションの手書き入力を行う。これにより、当該アノテーションの軌跡情報であるアノテーション内容が主記憶部52に一時的に記憶される。
一方、アノテーションを文書の表示範囲内に付与する際に利用者は、ポインタ46を文書84の表示範囲内における当該アノテーションの関連箇所に位置させた状態でアノテーションデバイス56等によりポインティング指定を2回続けて行う。これに応じて表示部53には、指定された関連箇所にマーク40が表示される。また、このとき、指定された関連箇所を示す位置情報が文書内位置情報として主記憶部52に一時的に記憶される。
付与するアノテーションが付箋アノテーションである場合は、以上の利用者による操作により、一例として図7に示すように、指定された関連箇所に付箋アノテーション86が表示されることになる。
これに対し、付与するアノテーションが手書き入力アノテーションである場合に利用者は、アノテーションデバイス56によって引き続きアノテーションの手書き入力を行う。これにより、当該アノテーションの軌跡情報であるアノテーション内容が主記憶部52に一時的に記憶される。
なお、ここで、付与されたアノテーションが付箋アノテーションである場合は、必要に応じて当該アノテーションに対する表示名及びリンク情報が適宜入力され、付与されたアノテーションが手書き入力アノテーションである場合は、必要に応じて当該アノテーションに対する色形状、線種の各情報が適宜入力され、入力された情報が主記憶部52に一時的に記憶される。
そして、その後、利用者により保存ボタン74が指定された時点で、当該アノテーションをアノテーション管理サーバ20へ登録する処理(以下、「アノテーション登録処理」という。)が実行される。
次に、図8を参照して、利用者によりアノテーションが移動される際のクライアント装置50の処理について説明する。
この際、利用者は、一例として図8に示すように、アノテーションデバイス56や、操作部54のキーボード、マウス等を用いて、表示部53に表示されているアノテーション86を文書84の表示範囲内から表示範囲外へ移動させたり、表示範囲外から表示範囲内へ移動させるといった操作を行うことになる。
このような利用者による操作の際にクライアント装置50では、利用者によって移動操作が行われているアノテーションの移動状態がリアルタイムで表示されるように表示部53が逐次制御される。
そして、利用者による移動操作が終了した時点で、このときのアノテーション86の位置が、当該位置が文書84の表示範囲内となっている場合は文書内位置情報として、当該位置が文書84の表示範囲外となっている場合は文書外位置情報として、主記憶部52に一時的に記憶された後、アノテーション86の移動をアノテーション管理サーバ20における付箋用アノテーションデータベースDB2又はペン入力用アノテーションデータベースDB3に反映させる処理(以下、「アノテーション移動反映処理」という。)が実行される。
次に、アノテーション登録処理及びアノテーション移動反映処理の実行時におけるクライアント装置50の処理について説明する。
図9は、アノテーション登録処理及びアノテーション移動反映処理に着目したクライアント装置50の機能的な構成例を示すブロック図である。
同図に示すように、クライアント装置50は、アノテーション管理サーバ20にアノテーションを追加登録させる処理を実行するアノテーション追加処理部30と、アノテーション管理サーバ20に利用者によって行われたアノテーションの移動を反映させる処理を実行するアノテーション移動処理部32と、アノテーションの表示位置が文書の表示範囲内とされているか否かに応じて当該アノテーションの公開属性を共有状態(=Pub)又は個人用状態(=Priv)に設定する属性設定処理部34と、アノテーションの表示位置が文書の表示範囲外から表示範囲内に移動されたとき、当該アノテーションの表示位置を当該アノテーションの関連箇所(本来の添付箇所)となるように調整するアノテーション位置調整処理部36と、を備えている。
本実施の形態に係るアノテーション追加処理部30は、上述したアノテーション付与時の処理によって主記憶部52に記憶された文書内位置情報、文書外位置情報等の登録対象とするアノテーションに関する情報を取得し、これをアノテーション管理サーバ20に送信することによってアノテーション管理サーバ20に当該アノテーションを追加登録させるものとされている。
また、本実施の形態に係るアノテーション移動処理部32は、上述したアノテーション移動時の処理によって主記憶部52に記憶された文書内位置情報、文書外位置情報等の移動後のアノテーションに関する情報を取得し、これをアノテーション管理サーバ20に送信することによってアノテーション管理サーバ20に当該アノテーションの移動を既登録の情報に対して反映させるものとされている。
また、本実施の形態に係る属性設定処理部34は、アノテーション追加処理部30又はアノテーション移動処理部32から処理対象とするアノテーションの表示位置を示す位置情報が取得され(アノテーション移動処理部32から取得される場合は、移動後のアノテーションの位置を示す位置情報が取得される。)、当該位置情報によって示されるアノテーションの表示位置が文書の表示範囲内とされている場合に当該アノテーションを共有状態とするように設定し、アノテーションの表示位置が文書の表示範囲外とされている場合に当該アノテーションを個人用状態とするように設定するものとされている。
更に、本実施の形態に係るアノテーション位置調整処理部36は、アノテーション移動処理部32から移動後のアノテーションの位置を示す位置情報が取得され、当該位置情報によって示されるアノテーションの表示位置が、当該アノテーションに対応する付箋用アノテーションデータベースDB2又はペン入力用アノテーションデータベースDB3の文書内位置情報により示される位置となるように調整するものとされている。従って、本実施の形態では、当該文書内位置情報が本発明の関連位置情報に相当し、アノテーション管理サーバ20に設けられた二次記憶部25が本発明の記憶手段に相当することになる。
ところで、本実施の形態に係るクライアント装置50は、以上のようなアノテーション追加処理部30、アノテーション移動処理部32、属性設定処理部34及びアノテーション位置調整処理部36の各機能を、アノテーション登録処理を実行する際と、アノテーション移動反映処理を実行する際とで異なるプログラムを実行することにより、ソフトウェアによって実現するものとされている。
次に、アノテーション登録処理を実行する際のクライアント装置50の作用を、図10を参照しつつ詳細に説明する。なお、図10は、この際(ここでは、保存ボタン74が指定された際)、クライアント装置50の制御部51において実行されるアノテーション登録処理プログラムの処理の流れを示すフローチャートであり、当該プログラムは主記憶部52の所定領域に予め記憶される。
まず、同図のステップ100では、前述したアノテーション付与時の処理によって主記憶部52に一時的に記憶された、登録対象とするアノテーションに関する情報を取得し、次のステップ102では、アノテーションの表示位置が付与対象とする文書の表示範囲内とされているか否かを判定し、肯定判定となった場合はステップ104に移行する。なお、本実施の形態では、上記ステップ102における判定処理を、前述したアノテーション付与時の処理において文書外位置情報が主記憶部52に記憶されなかった場合に文書の表示範囲内とされているものと判定(肯定判定)し、文書外位置情報が主記憶部52に記憶された場合に文書の表示範囲内とされていないものと判定(否定判定)することによって行う。
ステップ104では、処理(登録)対象とするアノテーションの公開属性を共有状態(=Pub)に設定し、その後にステップ108に移行する。なお、上記ステップ104における共有状態への設定処理を、本実施の形態では、予め定められた属性フラグFに所定値(ここでは、‘1’)を設定することによって行う。
一方、上記ステップ102において否定判定となった場合にはステップ106に移行し、処理(登録)対象とするアノテーションの公開属性を個人用状態(=Priv)に設定し、その後にステップ108に移行する。なお、上記ステップ106における個人用状態への設定処理を、本実施の形態では、上記属性フラグFに上記所定値以外の値(ここでは、‘0’)を設定することによって行う。
ステップ108では、アノテーションの追加登録を指示する旨の情報を、上記ステップ100において取得したアノテーションに関する情報と、上記ステップ104又は上記ステップ106の処理によって設定された公開属性の各情報と共にアノテーション管理サーバ20に送信することにより、アノテーション管理サーバ20に対して当該アノテーションを追加登録させ、その後に本アノテーション登録処理プログラムを終了する。
次に、アノテーション移動反映処理を実行する際のクライアント装置50の作用を、図11を参照しつつ詳細に説明する。なお、図11は、この際にクライアント装置50の制御部51において実行されるアノテーション移動反映処理プログラムの処理の流れを示すフローチャートであり、当該プログラムは主記憶部52の所定領域に予め記憶される。
まず、同図のステップ200では、移動対象となったアノテーションに対応する文書内位置情報を、当該アノテーションを表示するに当たってアノテーション管理サーバ20から受信したアノテーションに関する情報から取得し、次のステップ202では、アノテーションの移動後の表示位置が付与対象とする文書の表示範囲内とされているか否かを判定し、肯定判定となった場合はステップ204に移行する。なお、本実施の形態では、上記ステップ202における判定処理を、前述したアノテーション移動時の処理において文書内位置情報が主記憶部52に記憶された場合に文書の表示範囲内とされているものと判定(肯定判定)し、文書外位置情報が主記憶部52に記憶された場合に文書の表示範囲内とされていないものと判定(否定判定)することによって行う。
ステップ204では、移動対象となったアノテーションの公開属性を共有状態(=Pub)に設定し、その後にステップ206に移行する。なお、上記ステップ204における共有状態への設定処理を、本実施の形態では、属性フラグFに所定値(ここでは、‘1’)を設定することによって行う。
ステップ206では、上記ステップ200の処理によって取得した文書内位置情報によって示される位置、すなわち、移動対象となったアノテーションの関連箇所に当該アノテーションを位置させるための処理を行い、その後にステップ212に移行する。なお、上記ステップ206の処理を、本実施の形態では、移動対象となったアノテーションの表示位置を上記ステップ200の処理によって取得した文書内位置情報によって示される位置に移動させると共に、当該文書内位置情報に前述したアノテーション移動時の処理において主記憶部52に記憶された文書内位置情報を置き換えることによって行われる。
一方、上記ステップ202において否定判定となった場合にはステップ208に移行し、移動対象となったアノテーションの公開属性を個人用状態(=Priv)に設定し、その後にステップ210に移行する。なお、上記ステップ208における個人用状態への設定処理を、本実施の形態では、上記属性フラグFに上記所定値以外の値(ここでは、‘0’)を設定することによって行う。
ステップ210では、文書の表示範囲外の位置で、かつ上記ステップ200の処理によって取得した文書内位置情報によって示される位置に最も近い位置、すなわち、移動対象となったアノテーションの関連箇所に最も近い位置に当該アノテーションを位置させるための処理を行い、その後にステップ212に移行する。なお、上記ステップ210の処理を、本実施の形態では、移動対象となったアノテーションの表示位置を、文書の表示範囲外の位置で、かつ上記ステップ200の処理によって取得した文書内位置情報によって示される位置に最も近い位置に移動させると共に、当該最も近い位置を示す情報に前述したアノテーション移動時の処理において主記憶部52に記憶された文書外位置情報を置き換えることによって行われる。
ステップ212では、アノテーションの移動の反映を指示する旨の情報を、上記ステップ206の処理によって得られた文書内位置情報又は上記ステップ210の処理によって得られた文書外位置情報と、移動対象となったアノテーションのアノテーションID及び文書IDと共にアノテーション管理サーバ20に送信することにより、アノテーション管理サーバ20に対して当該アノテーションの移動を反映させ、その後に本アノテーション移動反映処理プログラムを終了する。
上記ステップ212の処理により、アノテーション管理サーバ20では、受信したアノテーションID及び文書IDによって示される元のアノテーションは事実上削除されたものとして、そのステータスを‘Deleted’とし、最新の状態のアノテーションについて新たなアノテーションIDを発行して当該アノテーションに関する情報を付箋用アノテーションデータベースDB2又はペン入力用アノテーションデータベースDB3に追加登録する。
以上のアノテーション移動反映処理プログラムにより、図12(A)に示すように当初文書84の表示範囲内の関連箇所に付与されたアノテーション86を、図12(B)に示すように文書84の表示範囲外に移動し、その後に図12(C)に示すように再び文書84の表示範囲内に戻した場合であっても、図12(D)に示すように文書84内の関連箇所に位置されるようにアノテーション86の表示位置が自動的に調整されることになる。
アノテーション登録処理プログラムのステップ104及びステップ106の処理と、アノテーション移動反映処理プログラムのステップ204及びステップ208の処理が本発明の設定ステップに相当する。
以上詳細に説明したように、本実施の形態では、電子文書及び付加情報(ここでは、アノテーション)を表示する際の付加情報の表示位置が電子文書の表示範囲内とされているか否かに応じて当該付加情報を複数の利用者による共有を許可する共有情報とするのか、当該共有を許可しない個人用情報とするのかを設定しているので、煩雑な操作を伴うことなく付加情報の共有状態及び個人用状態を設定することができると共に、当該設定の状態を直感的に把握することができる。
また、本実施の形態では、前記付加情報の表示位置が前記電子文書の表示範囲内とされている場合に当該付加情報を前記共有情報とするように設定し、前記付加情報の表示位置が前記電子文書の表示範囲外とされている場合に前記付加情報を前記個人用情報とするように設定しているので、付加情報を共有情報とするように設定した際における、複数の利用者による当該付加情報の参照をしやすくすることができ、この際の利便性を向上させることができる。
また、本実施の形態では、前記付加情報の表示位置を移動させる付加情報移動手段(ここでは、アノテーションデバイス56や、操作部54のキーボード、マウス)を備えているので、付加情報を容易に移動することができ、この結果として付加情報の共有状態ないし個人用状態の切り替えを容易に行うことができる。
更に、本実施の形態では、前記付加情報の、添付された電子文書内の関連する位置を示す関連位置情報(ここでは、文書内位置情報)を記憶手段(ここでは、二次記憶部25)によって記憶しておき、前記付加情報移動手段によって前記付加情報の表示位置が前記電子文書の表示範囲外から表示範囲内に移動されたとき、当該付加情報の表示位置を前記関連位置情報によって示される位置となるように調整しているので、当該移動の際の利便性を向上させることができる。
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
また、上記の実施形態は、クレーム(請求項)にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
例えば、本実施の形態では、アノテーションデバイス56による手書き入力をタッチパネル方式にて実現した場合について説明したが、本発明はこれに限定されるものではなく、例えば、電磁誘導方式の検知機構によって実現する形態とすることもできる。この場合も、本実施の形態と同様の効果を奏することができる。
また、本実施の形態では、ペン型のアノテーションデバイス56を用いて手書き入力を実現した場合について説明したが、本発明はこれに限定されるものではなく、例えば、キーボードやマウス等の入力・指示デバイスを用いて実現する形態とすることもできる。この場合、クライアント装置50としてタブレットPCを用いる必要がなくなるため、文書処理システム90を低コストで構築することができる。
また、本実施の形態では、本発明をクライアント/サーバ・システムに適用した場合について説明したが、本発明はこれに限定されるものではなく、例えば、P2P(Peer to Peer)システムに適用する形態とすることもできる。この場合も、本実施の形態と同様の効果を奏することができる。
また、本実施の形態では、文書管理サーバ10及びアノテーション管理サーバ20を別体として構成した場合について説明したが、本発明はこれに限定されるものではなく、例えば、PC、ワークステーション等の単体(スタンドアロン)の情報処理装置にて双方のサーバの機能を実現する形態とすることもできる。この場合も、本実施の形態と同様の効果を奏することができる。
また、本実施の形態では、アノテーション追加処理部30、アノテーション移動処理部32、属性設定処理部34及びアノテーション位置調整処理部36の各機能をソフトウェアによって実現した場合について説明したが、本発明はこれに限定されるものではなく、例えば、これらの機能をハードウェアにより実現する形態とすることもできる。この場合は、本実施の形態に比較して、処理の高速化が期待できる。
また、本実施の形態で示した各データベースのデータ構造(図3〜図5参照。)も一例であり、必要に応じて記憶する項目を追加したり、不要な項目を削除したりすることができることは勿論のこと、各項目の記憶内容も適宜変更可能であることは言うまでもない。例えば、図4に示される付箋用アノテーションデータベースDB2において「リンク先情報」、「ステータス」は必ずしも必要ではなく、削除することも可能である。
更に、システムを構築する上で各機能要素をサーバシステム92及びクライアントシステム94にどのように振り分けるかは本実施の形態で説明したものに限定されず、システムを構築する上で都合のよい振り分けを行えばよいことも言うまでもない。