文書管理システムにおける文書更新方法
【課題】 文書管理システムを導入していない環境において、文書管理システム内の文書を直接更新することを目的とする。
【解決手段】 バインダ文書をエクスポートする際に、文書から求めらるハッシュ値、サーバのアドレス、文書を特定する文書IDを埋め込んだ文書を作成する。文書更新者は、当該文書を起動すると、埋め込まれたハッシュ値、文書から求めたハッシュ値、サーバに格納されたハッシュ値を比較して、文書が正当なものであるか検証して、文書更新を認める。また、バインダ文書と言う独自フォーマットを利用することにより、通常扱えない文書が流通することになり、アプリケーション文書をエクスポートするよりセキュリティが高まる。
【解決手段】 バインダ文書をエクスポートする際に、文書から求めらるハッシュ値、サーバのアドレス、文書を特定する文書IDを埋め込んだ文書を作成する。文書更新者は、当該文書を起動すると、埋め込まれたハッシュ値、文書から求めたハッシュ値、サーバに格納されたハッシュ値を比較して、文書が正当なものであるか検証して、文書更新を認める。また、バインダ文書と言う独自フォーマットを利用することにより、通常扱えない文書が流通することになり、アプリケーション文書をエクスポートするよりセキュリティが高まる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子的な文書管理システムに関するものである。
【背景技術】
【0002】
企業ではドキュメント管理システムを導入し、文書の再利用を推進しようとしている。初期の製品は紙の文書をスキャナで画像として取り込み、登録保存うるようなものであったが、最近はパソコンで作られた文書が多くなり、それも登録保存できるようになってきた。
【0003】
文書管理システムにおいては、様々な文書をデータベース内に保存し、複数の利用者から共有される形態を取る。文書管理システムでは、文書の実体を表すデータを保持するとともに、前記文書に付随する様々な文書情報も保持している。文書管理システム内で、文書の登録、削除や更新処理を行うことができる。
【0004】
また、最近では登録されている複数の文書から任意のページを抜き出してバインダのように綴じて一つの文書のようにすることもできるようになっている。それをここでは電子バインダと呼ぶ。
【0005】
従来は文書更新を行う際に、文書管理システムのクライアントソフトウェア全体をインストールする必要があった。一般に、文書管理システムのクライアントソフトウェアは、機能を多く有し、巨大なソフトウェアであり、また、データベースの接続を設定する必要があるなど、ユーザ環境によって文書管理システムを導入することが困難であった。そのため、文書管理システムを導入していないユーザに対しては、文書管理システムの文書を一旦ファイルとして保存して、電子メールや物理的なCD−RやMOなどのメディアによって前記文書管理システムを導入していないユーザに渡すなどをしていた。更には、更新後に再度前記文書管理システムを導入していないユーザが編集された文書を電子メール等により文書管理システムを導入しているユーザに送付し、前記文書管理システムを導入しているユーザが、文書管理システムに再登録、もしくは文書の更新作業を行う。
【0006】
又、従来例としては、例えば特許文献1をあげることが出来る。
【特許文献1】特開2003-173329号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
文書管理システムを導入していないユーザに対して文書更新を依頼する場合は、文書を一旦アプリケーションが扱えるファイルにして送付し、編集後に再度更新済みファイルを受信し、文書管理システムに再登録、あるいは更新するため、ユーザの手間が掛かった。
【0008】
また、一旦ファイル化するために、文書管理システム外に文書が流通してしまい、不正利用される可能性がある。
【課題を解決するための手段】
【0009】
本発明は、
文書を登録する手段と、前記登録された文書を更新する手段を持ち、文書に関する情報を文書管理テーブルとして保持する、文書管理システムにおいて、文書を外部へ保存する際に、前記文書に関する情報が保持されているサーバのURL情報と、文書を特定するための文書IDと、前記文書より求められるハッシュ値を前記文書中に埋め込み、更には、文書を外部にエクスポート中には他ユーザが前記文書を操作できないようにロックを行い、文書を更新する際に、前記文書中に埋め込まれたハッシュ値と実文書データから求められるハッシュ値と文書管理テーブル内に保持されたハッシュ値とを比較して文書の更新を認めることを特徴とする文書更新方法であるので、
文書管理システムを導入していないユーザに対して文書更新を依頼する場合は、文書を一旦アプリケーションが扱えるファイルにして送付し、編集後に再度更新済みファイルを受信し、文書管理システムに再登録、あるいは更新するため、ユーザの手間が掛かかり、
また、一旦ファイル化するために、文書管理システム外に文書が流通してしまい、不正利用される可能性があることが解消される。
【発明の効果】
【0010】
以上述べてきたように、文書を登録する手段と、前記登録された文書を更新する手段を持ち、文書に関する情報を文書管理テーブルとして保持する、文書管理システムにおいて、文書を外部へ保存する際に、前記文書に関する情報が保持されているサーバのURL情報と、文書を特定するための文書IDと、前記文書より求められるハッシュ値を前記文書中に埋め込み、更には、文書を外部にエクスポート中には他ユーザが前記文書を操作できないようにロックを行い、文書を更新する際に、前記文書中に埋め込まれたハッシュ値と実文書データから求められるハッシュ値と文書管理テーブル内に保持されたハッシュ値とを比較して文書の更新を認めることを特徴とする文書更新方法によって、文書管理システムを導入していないユーザに対して文書更新を依頼する場合は、文書を一旦アプリケーションが扱えるファイルにして送付し、編集後に再度更新済みファイルを受信し、文書管理システムに再登録、あるいは更新するため、ユーザの手間が掛かかり、また、一旦ファイル化するために、文書管理システム外に文書が流通してしまい、不正利用される可能性があることが解消される。
【発明を実施するための最良の形態】
【0011】
以下、図面を参照して本発明を説明する。
【実施例1】
【0012】
本発明は、文書管理システムに関する発明である。
【0013】
図1に本発明における文書管理システムの構成を表す図である。101は、クライアントPCであり、この中に文書管理ソフトウェアのクライアントソフトが存在している。102は、文書データサーバであり、この中に文書管理システムに入力された文書の実体が格納される。文書に付随する作成者や作成日、更新日などの情報は、103の文書情報サーバ内に格納される。これら、クライアントPC101、文書データサーバ102、文書情報サーバ103は、ネットワーク105で結ばれている。ここで、ネットワーク105は、LAN(Local Area Network)である場合が多い。図1においては、説明の簡便化のために、クライアントPC101を1台にしてあるが、通常の文書管理システムの運用においては、複数台のクライアントPCが存在する。また、ネットワークを介して、文書管理ソフトウェアのクラインとソフトが存在しないクライアントPC104がある。
【0014】
具体的に、文書を文書管理システムに登録する処理について説明する。クライアントPC101において、文書管理ソフトウェアのクライアントソフトを用いて文書を登録すると、当該文書の実体を文書データサーバ102へ格納し、当該文書の作成者や更新日時、要約、検索情報、サムネイルなどの付随する文書情報が、文書情報サーバ103に格納される。文書管理ソフトウェアのクライアントソフトにおいて、検索、サムネイル表示等の文書に付随する情報を表示するときは、文書情報サーバから情報を得て表示を行い、また、文書の実データにアクセスする必要のある場合は、文書データサーバから文書データを取得する。
【0015】
本実施例によると、文書管理システムのクライアントソフトウェアが無い環境、すなわちクライアントPC104のような環境においても、文書データサーバのデータを更新することが可能となる。以下、具体的に説明を行う。
【0016】
まず、本実施例を説明するための文書フォーマットとして、電子バインダ文書を説明する。
【0017】
電子バインダ文書は、異なる文書を統一的なフォーマットに変換する。たとえば、TIFFやビットマップファイルのような画像フォーマット、あるいは、PDF、また、World Wide Web Consortiumで作成されたSVGなどでページデータを表す。そして、変換されたページデータを基にページや文書の順番の入れ替えや回転、削除などの編集操作を行う。
【0018】
この統一的なフォーマットへの変換には、ページデータを確定させる必要があるために、アプリケーションから印刷を実行することで、ページデータを生成させる方法がある。このとき、所望のページデータフォーマットに変換するために、プリンタドライバを用いて、ページデータを統一的なフォーマットに変換する。これは、図2に示すように、バインダ生成プログラム201がバインダに取り込みたいアプリケーションファイル202に関連付いたアプリケーション203を起動させ、特定の統一フォーマットへ変換するプリンタドライバ204を用いて印刷させるように実行する。プリンタドライバによって生成されたデータをページデータとしてバインダ内部に取り込む。
【0019】
ここで、アプリケーションを起動して特定のプリンタドライバで印刷することによって、ページデータ生成して電子バインダ文書に取り込む方式について説明したが、特定のアプリケーションに関連付かないファイルフォーマット、たとえば画像フォーマットなどは、アプリケーションを起動しないで、直接、統一的なフォーマットに変換してもよい。
【0020】
電子バインダ文書の中には、変換されたページデータとともにオリジナル文書データを持ってもよい。オリジナル文書データとは、変換に利用された元となるデータのことである。電子バインダ文書では、オリジナル文書データを持つ場合に、電子バインダ文書のページとして利用されている変換されたページがオリジナル文書データの何ページに相当するのか覚えている。すなわち、電子バインダ文書内のページ番号から、オリジナル文書とその何ページ目に相当するか判明し、逆にオリジナル文書内の特定のページが電子バインダ文書の何ページ目に相当するか分かる。
【0021】
図5に一つの事例のソフトウェアのGUIを用いて、説明を行う。501は、文書管理ソフトウェアの例である。502は、コンピュータのOS上で管理されたファイル管理の例である。503は、本発明の事項を処理するバインダソフトウェアの例である。504は、オリジナル文書を管理するDocument Listである。505は、オリジナルの各ページを表示するPage Viewである。506は、バインダ文書を管理するWorkspaceである。507は、電子バインダ文書を表示するための表示ソフトウェアである。
【0022】
図5では、たとえば、文書管理ソフトウェア501やOSのファイル管理502からマウスによるドラッグ&ドロップによってバインダソフトウェアにオリジナル文書を持ってくると、先に説明したプリンタドライバなどによる統一フォーマットへの変換を行う。このとき、このシステムでは、オリジナル文書を電子バインダ文書内に取り込み、Document Listにオリジナル文書の一覧が表示され、Page Viewに選択されたオリジナル文書の各ページが表示されている。Workspace、DocumentList、PageViewには、各ページを縮小表示したサムネイルを用いて表示される。
【0023】
このバインダソフトウェアの例では、DocumentListやPageViewからWorkspaceにページや文書を移動することで、電子バインダ文書としてのデータを構築していく。また、Workspace内でページの並べ替えなどが行える。
【0024】
また、電子バインダ文書のページ構成としてより簡潔に行うために、PageViewが存在せずに文書単位で電子バインダ文書を構成することが可能である。このようなバインダソフトウェアの例として、図3を用いて説明する。301は図5と同じようにWorkspaceであり、バインダデータを表す。Workspace301が506と異なるのは、ここで扱われるのが、文書単位のデータになることである。たとえば、図3では、Workspaceに3文書あり、それぞれ303、304、305である。それぞれ文書の先頭ページのサムネイルが表示され、また、サムネイルの隅にどのようなアプリケーションのファイルであるかを示すアイコンが付加されている。
【0025】
DocumentList302には、バインダ内のオリジナル文書の一覧が表示される。このとき、306のように、文書名とこの文書に関連付いたアプリケーションのアイコンが表示される。もし、307のようにアイコンが表示されていない場合は、バインダ内にオリジナル文書は入っておらず、変換後のページデータだけが入っている。
【0026】
本実施例では、電子バインダ文書を例に説明する。電子バインダ文書を文書管理システムからエクスポート(取り出す)する。これは、クライアントPC101から電子バインダ文書をエクスポートすることと同義である。電子バインダ文書をクライアントPC101からエクスポートするときに、文書データサーバ102から文書の実データが取り出される。更に、文書情報サーバ103の文書情報に対してロックされた旨の情報が記述される。
【0027】
例えば、文書情報として、図6に示すような文書管理テーブルによって管理されているとする。なお、図6は文書情報の一部であり、この他に文書に関連する情報が格納されているものとする。601は、文書IDであり、当該文書管理システム内で文書を唯一に特定するIDである。同一文書管理システム内において、この文書ID601が重なることはない。602は、ロックフラグである。各文書がロックされているかを示すものであり、これは、文書を共有する際に誰かが編集を行っているときに他ユーザが変更できなくするためのフラグである。更に、606に編集ユーザIDフィールドがあり、編集中の場合にはこの606に編集しているユーザを特定する一意なIDが与えられる。602のロックフラグが立っている場合には、文書がロックされており、編集ユーザID606で指定された文書の編集ユーザ以外は、当該文書の編集が行えない。文書の編集終了後に、ロックフラグ602と編集ユーザIDフィールド606はクリアされる。
【0028】
603は、エクスポートロックフラグである。文書がエクスポートされた場合に、このフラグが立つ。このとき、ロックフラグ602と同様に、エクスポートユーザIDフィールド607があり、エクスポートしたユーザを特定するIDが記載される。文書のエクスポート中は他ユーザが編集等の文書関連の操作を行えなくなる。更に、文書をエクスポートする際には、文書データからハッシュ関数によってハッシュ値が計算される。このハッシュ値の計算には公知の技術であるハッシュ関数を利用する。例えば、RFC1321(Request For Comment)で規定されるMD5を利用する。この値が604のハッシュ値フィールドに与えられる。608は、エクスポートパスワードフィールドであり、エクスポートする際にパスワードを設定した場合には、608にパスワードが格納される。アクセスする際に、パスワードを確認することにより、認証を行える。
【0029】
また、605には、ユーザIDフィールドがあり、この文書の所有者のIDが格納さえる。文書情報のテーブルはこの限りではなく、例えば、更新日時、サムネイル情報といった文書情報や、本実施例で触れていないが、ユーザ間におけるアクセス権の設定、あるいは、グループを定義することによりグループでのアクセス権などの情報を与えることも可能である。
【0030】
図6中には明示していないが、文書データの実体がどの文書データベースのどこにあるかと言った情報も文書管理テーブル内に格納されているものとする。
【0031】
文書をエクスポートするときに、先に記したようにハッシュ値を計算する。計算したハッシュ値を実文書データに埋め込み、その文書をエクスポートする。具体的には、図7に示すように、実文書データ701に対して、ハッシュデータ702を付加する。なお、この実施例においては、先頭に付加しているが、末尾や中間に存在させるようにさせてもよい。先に説明したように、ハッシュ関数としてMD5を利用する場合は、ハッシュデータ702は、128ビットとなる。更には、文書情報サーバのURL情報をURLフィールド703に格納する。当該文書の文書IDを文書IDフィールド704に格納する。
【0032】
文書をエクスポートすると、先に述べたようにエクスポートロックフラグ603が有効になり、エクスポートユーザIDフィールド605にエクスポートしたユーザIDが記載される。また、文書から計算されて実データに埋め込まれたハッシュ値をハッシュ値フィールド604に書き込む。
【0033】
エクスポートする処理について、図8のフローチャートを利用して説明する。S801でエクスポートしよとする文書のロックフラグ602が有効であるか判断する。有効であれば、文書が自分、もしくは他のユーザによって利用されているため、エクスポートできないので、処理を終了する。ロックフラグ602が有効でなければ、S802へ進み、ロックフラグ602を有効にする。606編集ユーザIDフィールドに自らのユーザIDを格納する。このようにロックすることで、他ユーザが当該文書を編集できないようにする。
【0034】
S803へ進み、文書データを文書データベースより取り出す。S804において、ハッシュ値を計算する。S805では、計算されたハッシュ値を604ハッシュ値フィールドに格納する。S806に進んで、前記ハッシュ値、文書情報サーバのURL情報、文書IDを文書データに埋め込む。S807へ進み、603エクスポートロックフラグを立てる。S808で、607エクスポートユーザIDフィールドにエクスポートを実行したユーザIDを記載する。S809では、S806で情報が埋め込まれた文書データをディスク上の所望の場所に移動する。S810で、S801で立てた602ロックフラグを解除する。
【0035】
図8の処理に従えば、文書更新のために必要なデータを付加した文書をエクスポートすることが可能となる。
【0036】
前記文書更新のために必要なデータを付加した文書を電子メールや物理的なメディアを媒体として他ユーザに送付する。前記他ユーザが文書管理ソフトウェアのクライアントソフトを所持していなければ直接更新することができないが、本実施例においては、バインダの編集機能のみを有するソフトウェアでのみ文書の編集、更新処理を行うことが可能となる。以下では、前記文書更新のために必要なデータを付加した文書をエクスポートされた文書とする。
【0037】
これは、ユーザが前記エクスポートされた文書を起動したときに、文書中に含まれる文書情報サーバのURL情報703に対してアクセスを行い、文書管理テーブルにおける文書ID704で特定される文書に対応する604ハッシュ値フィールドと、前記起動した文書データ中のハッシュ値702と、実文書データ701から再度求めたハッシュ値の3つの値を比較する。前記エクスポートされた文書データ中のハッシュ値702と、実文書データ701から再度求めたハッシュ値が異なっていれば、実文書データが変更されている、もしくは文書データ中のハッシュ値が変更されていることが分かり、起動を認めない。また、文書管理テーブルにおける文書ID704で特定される文書に対応する604ハッシュ値フィールドと、前記エクスポートされた文書データ中のハッシュ値702が異なっている場合も、変更があったものとして起動を認めない。
【0038】
当該文書、すなわちバインダ文書を編集して、保存するときには、再度文書情報サーバURL703で指定される文書情報サーバにアクセスを行い、文書データベースの格納されているデータに対して、更新処理を行う。更新処理でなくても、新規に文書の追加処理でも構わない。
【0039】
以下、図9のフローチャートを用いて上記処理を説明する。S901で、エクスポートされた文書データより、ハッシュ値を取り出す。S902では、エクスポートされた文書データより、文書IDを取り出す。S903では、エクスポートされた文書データより、文書情報サーバのURL情報を取り出す。S904では、エクスポートされた文書データより、実文書データを取り出す。ここで、実文書データは、ファイルなどの物理的にアクセス可能な媒体として取り出すのではなく、コンピュータにおけるメモリ上に展開して取り出すようにする。このようにすることによって、編集ユーザが実文書データを取得できないようにする。
【0040】
S905では、S904で取り出された実文書データに対してハッシュ値を計算する。このハッシュ値の計算方法は、文書情報サーバで計算されるものと同一である。S906では、S905で計算されたハッシュ値とS901で取り出されたハッシュ値が同一かを判断する。同一でない場合は、処理を終了する。同一の場合は、S907へ進み、S903で得られた文書情報サーバのURLにアクセスが可能であるかを判断する。アクセス不可能であれば、処理を終了する。アクセス可能であれば、S908へ進む。S908では、S901で取り出されたハッシュ値と文書管理テーブルにおいてS902で取り出された文書IDに対応する604ハッシュ値フィールドの値との比較を行う。同一でなければ、処理を終了する。同一であれば、S909へ進む。S909では、当該文書に対するエクスポートパスワードフィールド608にパスワードが設定されているか調べる。パスワードが設定されていなければ、S912へ進む。パスワードが設定されていれば、S910へ進みパスワードの入力をユーザに行われせる。S911では、入力したパスワードを確認して、異なっていれば、再度入力させるためにS910へ戻る。なお、本実施例のフローチャートでは、パスワードの入力を何度でも認めるようになっているが、規定回パスワードを間違えたらアクセスできなくするような仕組みであってもよい。なお、パスワードの確認方法については、本実施例の範疇ではなく、公知の技術を用いればよい。パスワードが正しければ、S912へ進む。S912では、S904で取り出された実データを編集可出来るように開く。
【0041】
なお、S910でパスワードの確認を行っているが、このパスワードはエクスポートしたユーザが設定したパスワードであり、このパスワードを知っていれば文書管理ソフトウェアのユーザでなくとも文書更新が可能である。文書管理ソフトウェアのユーザに限定したい場合は、S910において、文書管理ソフトウェアにおけるユーザIDとパスワードの確認を行うようにすればよい。
【0042】
本実施例では、先に説明した文書管理システムの一機能であるバインダ機能を利用しているために、実文書データの取り出しによって一時的に利用可能なファイルを出力することによるセキュリティの低下を防御できる。これは、一般アプリケーションであれば、前記アプリケーションが文書を読み込めるようにするために、ディスク上などにファイルで存在する必要がある。本実施例では、バインダであるので実文書データ取り出した際に直接データをアプリケーション(バインダビューア)に展開できるため、悪意のあるユーザによる不正使用を防げる。
【0043】
以上が、文書を開くときの処理を説明するフローチャートである。編集については、先に説明したように行う。
【0044】
文書を編集後について、図10のフローチャートを用いて説明を行う。S1001において、文書情報サーバを経由して、実文書を文書データベースに登録する。S1002では、文書情報サーバに対して新規に文書を登録する。なお、文書を新規に登録するのではなく、当該文書を上書きによる更新、あるいは、バージョン管理による新規バージョン登録による更新を行ってもよい。S1003では、604ハッシュ値フィールドに対して、無効な値を入れることで再更新をできなくする。
【0045】
エクスポートを実行したユーザが、文書管理システムのクライアントソフトウェアを用いて当該文書にアクセスした場合、604ハッシュ値フィールドが無効な値になっていることから、当該文書に対して更新が行われたことを把握できる。エクスポートを実行したユーザは、更新文書を受け入れる、あるいは別名として保存するなど文書管理システム上で処理を行う。文書更新を完了したあとは、エクスポートロックフラグ603が解除され、エクスポートユーザIDフィールド605とハッシュ値フィールド604がクリアされる。
【0046】
なお、本実施例中で、通信に用いるプロトコルとして言明していないが、例えば、公知の技術であるセキュリティ機能を有するhttps(Hypertext Transfer Protocol Security)などを用いる。
【0047】
文書フォーマット内部にURL情報を持つものとして、特開2003−173329「文書管理システム」があるが、これは、複数の文書保存サービスが存在している環境で保存位置を明確にするものであり、ディレクトリサービスに文書位置を登録し、各クライアント上にファイルが存在するため、本発明による文書管理システムのように一意に管理された文書を対象としていない。
【0048】
本実施例では、文書を編集する対象として、バインダ文書としたが、バインダ文書に限らず、ワードプロセッサや表計算ソフトウェアなど一般のアプリケーション文書を実文書データとしてもよい。但し、実文書データが一般のアプリケーション文書である場合には、実文書データを取り出した段階で、編集作業を行うユーザが、実文書データを取得することが可能となる。バインダ文書の場合は、文書管理ソフトウェアに依存したフォーマットであるため、実文書データを取得することができてしまう。実文書データを取得できてもよい場合には、一般のアプリケーション文書に対しても適用することが可能である。バインダ文書で無く、一般のアプリケーションを対象文書とすることにより、本実施例の図2、図3、図5で説明した文書編集機能が不要となり、実文書データと文書情報取り出し機能、及びハッシュ値による文書検証機能、及び文書更新機能のみの実装されたモジュールとなり、文書管理システムを導入できないユーザにとって、より軽快に扱うことが可能となる。
【0049】
以上説明したように、本発明によれば、文書管理システムにおけるクライアントソフトウェアにおいて、クライアントソフトウェアが無い環境でも文書更新を行うことができる。
【実施例2】
【0050】
実施例1においては、単一のユーザからの更新のみを対象としていたが複数のユーザからの更新処理を行えるようにしてもよい。
【0051】
図11に示す文書管理テーブルのように、1101更新データリンクリストを設ければよい。1101は、リストの参照先を表し、更新データリンクリストは、1103のようなリスト形式で表される。複数ユーザから文書更新を行った場合の具体的な動作について説明する。各ユーザより文書更新がなされる度に、更新された文書は新規文書として登録される。このときに新規文書IDが付与されるが、1102の更新文書フィールドを設け、ここに更新前の文書を表す親文書IDが格納され、この文書は通常では扱えない文書となる。更新の確認のみ行える。
【0052】
更新データリンクリストは、1104文書IDフィールド、1105ユーザIDフィールド、1106更新日時フィールドからなる。文書更新を行うために、ユーザが文書情報サーバにアクセスしてきた場合には、実文書データを新規文書として登録して、文書IDを取得する。ただし、1102の更新文書フィールドに親文書IDを入れ、通常の文書として扱えない文書とする。取得した文書IDを1104文書IDフィールドにいれ、また、アクセスしてきたユーザIDを1105ユーザIDフィールドに格納する。ここで、先の実施例1で説明したように、文書管理ソフトウェアでないユーザがアクセスした場合には、特定のキーワードを入れる、アクセスしてきたコンピュータのIPアドレスを入れる、ユーザにユーザ名を入れさせる、OSのユーザ名を利用するなどの仕組みがある。また、1106には、更新を行った日時が格納される。
【0053】
具体的には、図11において、文書IDが00152ものがエクスポートされたとする。エクスポートされた文書は、ユーザIDがU00773のユーザによって編集され、文書管理ソフトに再登録されたとする。この再登録された文書が、文書ID00649で表される文書である。更新文書であるため、1102更新文書フィールドには、親文書の文書IDである00152が入り、通常では見られない文書となる。この文書は、文書ID00152の1101更新データリンクリストの示される更新データリンクリスト内にユーザ情報や日時とともに情報が収められ、00152の文書とともに前記00649の文書にアクセスすうことが可能となる。
【0054】
エクスポートを行ったユーザは、各文書を比較して、必要な文書のみを登録したり、文書をまとめたりすることで、文書更新を完了する。なお、文書更新を完了した際に、エクスポートロックフラグ603が解除され、エクスポートユーザIDフィールド605とハッシュ値フィールド604がクリアされることにより、更なる文書更新を認めないようにする。
【0055】
また、本実施例によれば、実施例1では、一度しかユーザに更新の機会を与えなかったが、1ユーザが複数回文書を更新するように認めるようにしてもよい。このとき、ユーザIDによって区別を行っているため、同一ユーザからの複数の更新は、最新の更新だけを取っておくようにすることも可能である。
【実施例3】
【0056】
実施例1、2においては、無条件にアクセスを更新を認めていたが、アクセス可能なユーザやIPアドレスを設定してアクセス制限を掛けてもよい。
【0057】
図4に示す文書管理テーブルのように、1201アクセス可能ユーザリリスト、1202アクセス可能IPアドレスリストを設ける。1201は、アクセスが可能なユーザIDの一覧を表すリストへの参照を表す。アクセス可能なユーザIDリストは、1203に示すように、アクセスを許可するユーザIDに対しては、「+」を付与し、アクセスを拒否するユーザIDに対しては「−」を付与する。同様に、1202はアクセス可能なIPアドレスの一覧を表すリストへの参照を表す。アクセス可能なIPリストは、1204に示すように、アクセスを許可するIPアドレスに対しては、「+」を付与し、アクセスを拒否するIPアドレスに対しては「−」を付与する。ここで、IPアドレスに対しては、例えば「192.10.1.*」のように、アスタリスク(*)を用いて一定の範囲のIPアドレス全てをアクセス許可、不許可にしてもよい。また、本実施例では、1201、1203において、ユーザIDによるアクセス制御を行っているが、文書管理ソフトウェアにおいて、複数のユーザをまとめて管理するためのユーザグループの概念がある場合には、ユーザグループ単位でアクセス制御を行ってもよい。
【図面の簡単な説明】
【0058】
【図1】文書管理システムの構成の一例。
【図2】バインダソフトウェアの処理の一例。
【図3】バインダソフトウェアの画面構成例。
【図4】アクセス可能なユーザIDとIPアドレスのフィールドが設けられた文書管理テーブルの例。
【図5】文書管理システムとバインダソフトウェアの表示例。
【図6】文書管理テーブルの例。
【図7】情報が埋め込まれてエクスポートされた文書の例。
【図8】文書をエクスポートすることを説明するフローチャート。
【図9】エクスポートされた文書を編集対象として開くことを説明するフローチャート。
【図10】文書編集後の文書登録処理を説明するフローチャート。
【図11】更新文書リスト保持できる文書管理テーブルの例。
【技術分野】
【0001】
本発明は、電子的な文書管理システムに関するものである。
【背景技術】
【0002】
企業ではドキュメント管理システムを導入し、文書の再利用を推進しようとしている。初期の製品は紙の文書をスキャナで画像として取り込み、登録保存うるようなものであったが、最近はパソコンで作られた文書が多くなり、それも登録保存できるようになってきた。
【0003】
文書管理システムにおいては、様々な文書をデータベース内に保存し、複数の利用者から共有される形態を取る。文書管理システムでは、文書の実体を表すデータを保持するとともに、前記文書に付随する様々な文書情報も保持している。文書管理システム内で、文書の登録、削除や更新処理を行うことができる。
【0004】
また、最近では登録されている複数の文書から任意のページを抜き出してバインダのように綴じて一つの文書のようにすることもできるようになっている。それをここでは電子バインダと呼ぶ。
【0005】
従来は文書更新を行う際に、文書管理システムのクライアントソフトウェア全体をインストールする必要があった。一般に、文書管理システムのクライアントソフトウェアは、機能を多く有し、巨大なソフトウェアであり、また、データベースの接続を設定する必要があるなど、ユーザ環境によって文書管理システムを導入することが困難であった。そのため、文書管理システムを導入していないユーザに対しては、文書管理システムの文書を一旦ファイルとして保存して、電子メールや物理的なCD−RやMOなどのメディアによって前記文書管理システムを導入していないユーザに渡すなどをしていた。更には、更新後に再度前記文書管理システムを導入していないユーザが編集された文書を電子メール等により文書管理システムを導入しているユーザに送付し、前記文書管理システムを導入しているユーザが、文書管理システムに再登録、もしくは文書の更新作業を行う。
【0006】
又、従来例としては、例えば特許文献1をあげることが出来る。
【特許文献1】特開2003-173329号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
文書管理システムを導入していないユーザに対して文書更新を依頼する場合は、文書を一旦アプリケーションが扱えるファイルにして送付し、編集後に再度更新済みファイルを受信し、文書管理システムに再登録、あるいは更新するため、ユーザの手間が掛かった。
【0008】
また、一旦ファイル化するために、文書管理システム外に文書が流通してしまい、不正利用される可能性がある。
【課題を解決するための手段】
【0009】
本発明は、
文書を登録する手段と、前記登録された文書を更新する手段を持ち、文書に関する情報を文書管理テーブルとして保持する、文書管理システムにおいて、文書を外部へ保存する際に、前記文書に関する情報が保持されているサーバのURL情報と、文書を特定するための文書IDと、前記文書より求められるハッシュ値を前記文書中に埋め込み、更には、文書を外部にエクスポート中には他ユーザが前記文書を操作できないようにロックを行い、文書を更新する際に、前記文書中に埋め込まれたハッシュ値と実文書データから求められるハッシュ値と文書管理テーブル内に保持されたハッシュ値とを比較して文書の更新を認めることを特徴とする文書更新方法であるので、
文書管理システムを導入していないユーザに対して文書更新を依頼する場合は、文書を一旦アプリケーションが扱えるファイルにして送付し、編集後に再度更新済みファイルを受信し、文書管理システムに再登録、あるいは更新するため、ユーザの手間が掛かかり、
また、一旦ファイル化するために、文書管理システム外に文書が流通してしまい、不正利用される可能性があることが解消される。
【発明の効果】
【0010】
以上述べてきたように、文書を登録する手段と、前記登録された文書を更新する手段を持ち、文書に関する情報を文書管理テーブルとして保持する、文書管理システムにおいて、文書を外部へ保存する際に、前記文書に関する情報が保持されているサーバのURL情報と、文書を特定するための文書IDと、前記文書より求められるハッシュ値を前記文書中に埋め込み、更には、文書を外部にエクスポート中には他ユーザが前記文書を操作できないようにロックを行い、文書を更新する際に、前記文書中に埋め込まれたハッシュ値と実文書データから求められるハッシュ値と文書管理テーブル内に保持されたハッシュ値とを比較して文書の更新を認めることを特徴とする文書更新方法によって、文書管理システムを導入していないユーザに対して文書更新を依頼する場合は、文書を一旦アプリケーションが扱えるファイルにして送付し、編集後に再度更新済みファイルを受信し、文書管理システムに再登録、あるいは更新するため、ユーザの手間が掛かかり、また、一旦ファイル化するために、文書管理システム外に文書が流通してしまい、不正利用される可能性があることが解消される。
【発明を実施するための最良の形態】
【0011】
以下、図面を参照して本発明を説明する。
【実施例1】
【0012】
本発明は、文書管理システムに関する発明である。
【0013】
図1に本発明における文書管理システムの構成を表す図である。101は、クライアントPCであり、この中に文書管理ソフトウェアのクライアントソフトが存在している。102は、文書データサーバであり、この中に文書管理システムに入力された文書の実体が格納される。文書に付随する作成者や作成日、更新日などの情報は、103の文書情報サーバ内に格納される。これら、クライアントPC101、文書データサーバ102、文書情報サーバ103は、ネットワーク105で結ばれている。ここで、ネットワーク105は、LAN(Local Area Network)である場合が多い。図1においては、説明の簡便化のために、クライアントPC101を1台にしてあるが、通常の文書管理システムの運用においては、複数台のクライアントPCが存在する。また、ネットワークを介して、文書管理ソフトウェアのクラインとソフトが存在しないクライアントPC104がある。
【0014】
具体的に、文書を文書管理システムに登録する処理について説明する。クライアントPC101において、文書管理ソフトウェアのクライアントソフトを用いて文書を登録すると、当該文書の実体を文書データサーバ102へ格納し、当該文書の作成者や更新日時、要約、検索情報、サムネイルなどの付随する文書情報が、文書情報サーバ103に格納される。文書管理ソフトウェアのクライアントソフトにおいて、検索、サムネイル表示等の文書に付随する情報を表示するときは、文書情報サーバから情報を得て表示を行い、また、文書の実データにアクセスする必要のある場合は、文書データサーバから文書データを取得する。
【0015】
本実施例によると、文書管理システムのクライアントソフトウェアが無い環境、すなわちクライアントPC104のような環境においても、文書データサーバのデータを更新することが可能となる。以下、具体的に説明を行う。
【0016】
まず、本実施例を説明するための文書フォーマットとして、電子バインダ文書を説明する。
【0017】
電子バインダ文書は、異なる文書を統一的なフォーマットに変換する。たとえば、TIFFやビットマップファイルのような画像フォーマット、あるいは、PDF、また、World Wide Web Consortiumで作成されたSVGなどでページデータを表す。そして、変換されたページデータを基にページや文書の順番の入れ替えや回転、削除などの編集操作を行う。
【0018】
この統一的なフォーマットへの変換には、ページデータを確定させる必要があるために、アプリケーションから印刷を実行することで、ページデータを生成させる方法がある。このとき、所望のページデータフォーマットに変換するために、プリンタドライバを用いて、ページデータを統一的なフォーマットに変換する。これは、図2に示すように、バインダ生成プログラム201がバインダに取り込みたいアプリケーションファイル202に関連付いたアプリケーション203を起動させ、特定の統一フォーマットへ変換するプリンタドライバ204を用いて印刷させるように実行する。プリンタドライバによって生成されたデータをページデータとしてバインダ内部に取り込む。
【0019】
ここで、アプリケーションを起動して特定のプリンタドライバで印刷することによって、ページデータ生成して電子バインダ文書に取り込む方式について説明したが、特定のアプリケーションに関連付かないファイルフォーマット、たとえば画像フォーマットなどは、アプリケーションを起動しないで、直接、統一的なフォーマットに変換してもよい。
【0020】
電子バインダ文書の中には、変換されたページデータとともにオリジナル文書データを持ってもよい。オリジナル文書データとは、変換に利用された元となるデータのことである。電子バインダ文書では、オリジナル文書データを持つ場合に、電子バインダ文書のページとして利用されている変換されたページがオリジナル文書データの何ページに相当するのか覚えている。すなわち、電子バインダ文書内のページ番号から、オリジナル文書とその何ページ目に相当するか判明し、逆にオリジナル文書内の特定のページが電子バインダ文書の何ページ目に相当するか分かる。
【0021】
図5に一つの事例のソフトウェアのGUIを用いて、説明を行う。501は、文書管理ソフトウェアの例である。502は、コンピュータのOS上で管理されたファイル管理の例である。503は、本発明の事項を処理するバインダソフトウェアの例である。504は、オリジナル文書を管理するDocument Listである。505は、オリジナルの各ページを表示するPage Viewである。506は、バインダ文書を管理するWorkspaceである。507は、電子バインダ文書を表示するための表示ソフトウェアである。
【0022】
図5では、たとえば、文書管理ソフトウェア501やOSのファイル管理502からマウスによるドラッグ&ドロップによってバインダソフトウェアにオリジナル文書を持ってくると、先に説明したプリンタドライバなどによる統一フォーマットへの変換を行う。このとき、このシステムでは、オリジナル文書を電子バインダ文書内に取り込み、Document Listにオリジナル文書の一覧が表示され、Page Viewに選択されたオリジナル文書の各ページが表示されている。Workspace、DocumentList、PageViewには、各ページを縮小表示したサムネイルを用いて表示される。
【0023】
このバインダソフトウェアの例では、DocumentListやPageViewからWorkspaceにページや文書を移動することで、電子バインダ文書としてのデータを構築していく。また、Workspace内でページの並べ替えなどが行える。
【0024】
また、電子バインダ文書のページ構成としてより簡潔に行うために、PageViewが存在せずに文書単位で電子バインダ文書を構成することが可能である。このようなバインダソフトウェアの例として、図3を用いて説明する。301は図5と同じようにWorkspaceであり、バインダデータを表す。Workspace301が506と異なるのは、ここで扱われるのが、文書単位のデータになることである。たとえば、図3では、Workspaceに3文書あり、それぞれ303、304、305である。それぞれ文書の先頭ページのサムネイルが表示され、また、サムネイルの隅にどのようなアプリケーションのファイルであるかを示すアイコンが付加されている。
【0025】
DocumentList302には、バインダ内のオリジナル文書の一覧が表示される。このとき、306のように、文書名とこの文書に関連付いたアプリケーションのアイコンが表示される。もし、307のようにアイコンが表示されていない場合は、バインダ内にオリジナル文書は入っておらず、変換後のページデータだけが入っている。
【0026】
本実施例では、電子バインダ文書を例に説明する。電子バインダ文書を文書管理システムからエクスポート(取り出す)する。これは、クライアントPC101から電子バインダ文書をエクスポートすることと同義である。電子バインダ文書をクライアントPC101からエクスポートするときに、文書データサーバ102から文書の実データが取り出される。更に、文書情報サーバ103の文書情報に対してロックされた旨の情報が記述される。
【0027】
例えば、文書情報として、図6に示すような文書管理テーブルによって管理されているとする。なお、図6は文書情報の一部であり、この他に文書に関連する情報が格納されているものとする。601は、文書IDであり、当該文書管理システム内で文書を唯一に特定するIDである。同一文書管理システム内において、この文書ID601が重なることはない。602は、ロックフラグである。各文書がロックされているかを示すものであり、これは、文書を共有する際に誰かが編集を行っているときに他ユーザが変更できなくするためのフラグである。更に、606に編集ユーザIDフィールドがあり、編集中の場合にはこの606に編集しているユーザを特定する一意なIDが与えられる。602のロックフラグが立っている場合には、文書がロックされており、編集ユーザID606で指定された文書の編集ユーザ以外は、当該文書の編集が行えない。文書の編集終了後に、ロックフラグ602と編集ユーザIDフィールド606はクリアされる。
【0028】
603は、エクスポートロックフラグである。文書がエクスポートされた場合に、このフラグが立つ。このとき、ロックフラグ602と同様に、エクスポートユーザIDフィールド607があり、エクスポートしたユーザを特定するIDが記載される。文書のエクスポート中は他ユーザが編集等の文書関連の操作を行えなくなる。更に、文書をエクスポートする際には、文書データからハッシュ関数によってハッシュ値が計算される。このハッシュ値の計算には公知の技術であるハッシュ関数を利用する。例えば、RFC1321(Request For Comment)で規定されるMD5を利用する。この値が604のハッシュ値フィールドに与えられる。608は、エクスポートパスワードフィールドであり、エクスポートする際にパスワードを設定した場合には、608にパスワードが格納される。アクセスする際に、パスワードを確認することにより、認証を行える。
【0029】
また、605には、ユーザIDフィールドがあり、この文書の所有者のIDが格納さえる。文書情報のテーブルはこの限りではなく、例えば、更新日時、サムネイル情報といった文書情報や、本実施例で触れていないが、ユーザ間におけるアクセス権の設定、あるいは、グループを定義することによりグループでのアクセス権などの情報を与えることも可能である。
【0030】
図6中には明示していないが、文書データの実体がどの文書データベースのどこにあるかと言った情報も文書管理テーブル内に格納されているものとする。
【0031】
文書をエクスポートするときに、先に記したようにハッシュ値を計算する。計算したハッシュ値を実文書データに埋め込み、その文書をエクスポートする。具体的には、図7に示すように、実文書データ701に対して、ハッシュデータ702を付加する。なお、この実施例においては、先頭に付加しているが、末尾や中間に存在させるようにさせてもよい。先に説明したように、ハッシュ関数としてMD5を利用する場合は、ハッシュデータ702は、128ビットとなる。更には、文書情報サーバのURL情報をURLフィールド703に格納する。当該文書の文書IDを文書IDフィールド704に格納する。
【0032】
文書をエクスポートすると、先に述べたようにエクスポートロックフラグ603が有効になり、エクスポートユーザIDフィールド605にエクスポートしたユーザIDが記載される。また、文書から計算されて実データに埋め込まれたハッシュ値をハッシュ値フィールド604に書き込む。
【0033】
エクスポートする処理について、図8のフローチャートを利用して説明する。S801でエクスポートしよとする文書のロックフラグ602が有効であるか判断する。有効であれば、文書が自分、もしくは他のユーザによって利用されているため、エクスポートできないので、処理を終了する。ロックフラグ602が有効でなければ、S802へ進み、ロックフラグ602を有効にする。606編集ユーザIDフィールドに自らのユーザIDを格納する。このようにロックすることで、他ユーザが当該文書を編集できないようにする。
【0034】
S803へ進み、文書データを文書データベースより取り出す。S804において、ハッシュ値を計算する。S805では、計算されたハッシュ値を604ハッシュ値フィールドに格納する。S806に進んで、前記ハッシュ値、文書情報サーバのURL情報、文書IDを文書データに埋め込む。S807へ進み、603エクスポートロックフラグを立てる。S808で、607エクスポートユーザIDフィールドにエクスポートを実行したユーザIDを記載する。S809では、S806で情報が埋め込まれた文書データをディスク上の所望の場所に移動する。S810で、S801で立てた602ロックフラグを解除する。
【0035】
図8の処理に従えば、文書更新のために必要なデータを付加した文書をエクスポートすることが可能となる。
【0036】
前記文書更新のために必要なデータを付加した文書を電子メールや物理的なメディアを媒体として他ユーザに送付する。前記他ユーザが文書管理ソフトウェアのクライアントソフトを所持していなければ直接更新することができないが、本実施例においては、バインダの編集機能のみを有するソフトウェアでのみ文書の編集、更新処理を行うことが可能となる。以下では、前記文書更新のために必要なデータを付加した文書をエクスポートされた文書とする。
【0037】
これは、ユーザが前記エクスポートされた文書を起動したときに、文書中に含まれる文書情報サーバのURL情報703に対してアクセスを行い、文書管理テーブルにおける文書ID704で特定される文書に対応する604ハッシュ値フィールドと、前記起動した文書データ中のハッシュ値702と、実文書データ701から再度求めたハッシュ値の3つの値を比較する。前記エクスポートされた文書データ中のハッシュ値702と、実文書データ701から再度求めたハッシュ値が異なっていれば、実文書データが変更されている、もしくは文書データ中のハッシュ値が変更されていることが分かり、起動を認めない。また、文書管理テーブルにおける文書ID704で特定される文書に対応する604ハッシュ値フィールドと、前記エクスポートされた文書データ中のハッシュ値702が異なっている場合も、変更があったものとして起動を認めない。
【0038】
当該文書、すなわちバインダ文書を編集して、保存するときには、再度文書情報サーバURL703で指定される文書情報サーバにアクセスを行い、文書データベースの格納されているデータに対して、更新処理を行う。更新処理でなくても、新規に文書の追加処理でも構わない。
【0039】
以下、図9のフローチャートを用いて上記処理を説明する。S901で、エクスポートされた文書データより、ハッシュ値を取り出す。S902では、エクスポートされた文書データより、文書IDを取り出す。S903では、エクスポートされた文書データより、文書情報サーバのURL情報を取り出す。S904では、エクスポートされた文書データより、実文書データを取り出す。ここで、実文書データは、ファイルなどの物理的にアクセス可能な媒体として取り出すのではなく、コンピュータにおけるメモリ上に展開して取り出すようにする。このようにすることによって、編集ユーザが実文書データを取得できないようにする。
【0040】
S905では、S904で取り出された実文書データに対してハッシュ値を計算する。このハッシュ値の計算方法は、文書情報サーバで計算されるものと同一である。S906では、S905で計算されたハッシュ値とS901で取り出されたハッシュ値が同一かを判断する。同一でない場合は、処理を終了する。同一の場合は、S907へ進み、S903で得られた文書情報サーバのURLにアクセスが可能であるかを判断する。アクセス不可能であれば、処理を終了する。アクセス可能であれば、S908へ進む。S908では、S901で取り出されたハッシュ値と文書管理テーブルにおいてS902で取り出された文書IDに対応する604ハッシュ値フィールドの値との比較を行う。同一でなければ、処理を終了する。同一であれば、S909へ進む。S909では、当該文書に対するエクスポートパスワードフィールド608にパスワードが設定されているか調べる。パスワードが設定されていなければ、S912へ進む。パスワードが設定されていれば、S910へ進みパスワードの入力をユーザに行われせる。S911では、入力したパスワードを確認して、異なっていれば、再度入力させるためにS910へ戻る。なお、本実施例のフローチャートでは、パスワードの入力を何度でも認めるようになっているが、規定回パスワードを間違えたらアクセスできなくするような仕組みであってもよい。なお、パスワードの確認方法については、本実施例の範疇ではなく、公知の技術を用いればよい。パスワードが正しければ、S912へ進む。S912では、S904で取り出された実データを編集可出来るように開く。
【0041】
なお、S910でパスワードの確認を行っているが、このパスワードはエクスポートしたユーザが設定したパスワードであり、このパスワードを知っていれば文書管理ソフトウェアのユーザでなくとも文書更新が可能である。文書管理ソフトウェアのユーザに限定したい場合は、S910において、文書管理ソフトウェアにおけるユーザIDとパスワードの確認を行うようにすればよい。
【0042】
本実施例では、先に説明した文書管理システムの一機能であるバインダ機能を利用しているために、実文書データの取り出しによって一時的に利用可能なファイルを出力することによるセキュリティの低下を防御できる。これは、一般アプリケーションであれば、前記アプリケーションが文書を読み込めるようにするために、ディスク上などにファイルで存在する必要がある。本実施例では、バインダであるので実文書データ取り出した際に直接データをアプリケーション(バインダビューア)に展開できるため、悪意のあるユーザによる不正使用を防げる。
【0043】
以上が、文書を開くときの処理を説明するフローチャートである。編集については、先に説明したように行う。
【0044】
文書を編集後について、図10のフローチャートを用いて説明を行う。S1001において、文書情報サーバを経由して、実文書を文書データベースに登録する。S1002では、文書情報サーバに対して新規に文書を登録する。なお、文書を新規に登録するのではなく、当該文書を上書きによる更新、あるいは、バージョン管理による新規バージョン登録による更新を行ってもよい。S1003では、604ハッシュ値フィールドに対して、無効な値を入れることで再更新をできなくする。
【0045】
エクスポートを実行したユーザが、文書管理システムのクライアントソフトウェアを用いて当該文書にアクセスした場合、604ハッシュ値フィールドが無効な値になっていることから、当該文書に対して更新が行われたことを把握できる。エクスポートを実行したユーザは、更新文書を受け入れる、あるいは別名として保存するなど文書管理システム上で処理を行う。文書更新を完了したあとは、エクスポートロックフラグ603が解除され、エクスポートユーザIDフィールド605とハッシュ値フィールド604がクリアされる。
【0046】
なお、本実施例中で、通信に用いるプロトコルとして言明していないが、例えば、公知の技術であるセキュリティ機能を有するhttps(Hypertext Transfer Protocol Security)などを用いる。
【0047】
文書フォーマット内部にURL情報を持つものとして、特開2003−173329「文書管理システム」があるが、これは、複数の文書保存サービスが存在している環境で保存位置を明確にするものであり、ディレクトリサービスに文書位置を登録し、各クライアント上にファイルが存在するため、本発明による文書管理システムのように一意に管理された文書を対象としていない。
【0048】
本実施例では、文書を編集する対象として、バインダ文書としたが、バインダ文書に限らず、ワードプロセッサや表計算ソフトウェアなど一般のアプリケーション文書を実文書データとしてもよい。但し、実文書データが一般のアプリケーション文書である場合には、実文書データを取り出した段階で、編集作業を行うユーザが、実文書データを取得することが可能となる。バインダ文書の場合は、文書管理ソフトウェアに依存したフォーマットであるため、実文書データを取得することができてしまう。実文書データを取得できてもよい場合には、一般のアプリケーション文書に対しても適用することが可能である。バインダ文書で無く、一般のアプリケーションを対象文書とすることにより、本実施例の図2、図3、図5で説明した文書編集機能が不要となり、実文書データと文書情報取り出し機能、及びハッシュ値による文書検証機能、及び文書更新機能のみの実装されたモジュールとなり、文書管理システムを導入できないユーザにとって、より軽快に扱うことが可能となる。
【0049】
以上説明したように、本発明によれば、文書管理システムにおけるクライアントソフトウェアにおいて、クライアントソフトウェアが無い環境でも文書更新を行うことができる。
【実施例2】
【0050】
実施例1においては、単一のユーザからの更新のみを対象としていたが複数のユーザからの更新処理を行えるようにしてもよい。
【0051】
図11に示す文書管理テーブルのように、1101更新データリンクリストを設ければよい。1101は、リストの参照先を表し、更新データリンクリストは、1103のようなリスト形式で表される。複数ユーザから文書更新を行った場合の具体的な動作について説明する。各ユーザより文書更新がなされる度に、更新された文書は新規文書として登録される。このときに新規文書IDが付与されるが、1102の更新文書フィールドを設け、ここに更新前の文書を表す親文書IDが格納され、この文書は通常では扱えない文書となる。更新の確認のみ行える。
【0052】
更新データリンクリストは、1104文書IDフィールド、1105ユーザIDフィールド、1106更新日時フィールドからなる。文書更新を行うために、ユーザが文書情報サーバにアクセスしてきた場合には、実文書データを新規文書として登録して、文書IDを取得する。ただし、1102の更新文書フィールドに親文書IDを入れ、通常の文書として扱えない文書とする。取得した文書IDを1104文書IDフィールドにいれ、また、アクセスしてきたユーザIDを1105ユーザIDフィールドに格納する。ここで、先の実施例1で説明したように、文書管理ソフトウェアでないユーザがアクセスした場合には、特定のキーワードを入れる、アクセスしてきたコンピュータのIPアドレスを入れる、ユーザにユーザ名を入れさせる、OSのユーザ名を利用するなどの仕組みがある。また、1106には、更新を行った日時が格納される。
【0053】
具体的には、図11において、文書IDが00152ものがエクスポートされたとする。エクスポートされた文書は、ユーザIDがU00773のユーザによって編集され、文書管理ソフトに再登録されたとする。この再登録された文書が、文書ID00649で表される文書である。更新文書であるため、1102更新文書フィールドには、親文書の文書IDである00152が入り、通常では見られない文書となる。この文書は、文書ID00152の1101更新データリンクリストの示される更新データリンクリスト内にユーザ情報や日時とともに情報が収められ、00152の文書とともに前記00649の文書にアクセスすうことが可能となる。
【0054】
エクスポートを行ったユーザは、各文書を比較して、必要な文書のみを登録したり、文書をまとめたりすることで、文書更新を完了する。なお、文書更新を完了した際に、エクスポートロックフラグ603が解除され、エクスポートユーザIDフィールド605とハッシュ値フィールド604がクリアされることにより、更なる文書更新を認めないようにする。
【0055】
また、本実施例によれば、実施例1では、一度しかユーザに更新の機会を与えなかったが、1ユーザが複数回文書を更新するように認めるようにしてもよい。このとき、ユーザIDによって区別を行っているため、同一ユーザからの複数の更新は、最新の更新だけを取っておくようにすることも可能である。
【実施例3】
【0056】
実施例1、2においては、無条件にアクセスを更新を認めていたが、アクセス可能なユーザやIPアドレスを設定してアクセス制限を掛けてもよい。
【0057】
図4に示す文書管理テーブルのように、1201アクセス可能ユーザリリスト、1202アクセス可能IPアドレスリストを設ける。1201は、アクセスが可能なユーザIDの一覧を表すリストへの参照を表す。アクセス可能なユーザIDリストは、1203に示すように、アクセスを許可するユーザIDに対しては、「+」を付与し、アクセスを拒否するユーザIDに対しては「−」を付与する。同様に、1202はアクセス可能なIPアドレスの一覧を表すリストへの参照を表す。アクセス可能なIPリストは、1204に示すように、アクセスを許可するIPアドレスに対しては、「+」を付与し、アクセスを拒否するIPアドレスに対しては「−」を付与する。ここで、IPアドレスに対しては、例えば「192.10.1.*」のように、アスタリスク(*)を用いて一定の範囲のIPアドレス全てをアクセス許可、不許可にしてもよい。また、本実施例では、1201、1203において、ユーザIDによるアクセス制御を行っているが、文書管理ソフトウェアにおいて、複数のユーザをまとめて管理するためのユーザグループの概念がある場合には、ユーザグループ単位でアクセス制御を行ってもよい。
【図面の簡単な説明】
【0058】
【図1】文書管理システムの構成の一例。
【図2】バインダソフトウェアの処理の一例。
【図3】バインダソフトウェアの画面構成例。
【図4】アクセス可能なユーザIDとIPアドレスのフィールドが設けられた文書管理テーブルの例。
【図5】文書管理システムとバインダソフトウェアの表示例。
【図6】文書管理テーブルの例。
【図7】情報が埋め込まれてエクスポートされた文書の例。
【図8】文書をエクスポートすることを説明するフローチャート。
【図9】エクスポートされた文書を編集対象として開くことを説明するフローチャート。
【図10】文書編集後の文書登録処理を説明するフローチャート。
【図11】更新文書リスト保持できる文書管理テーブルの例。
【特許請求の範囲】
【請求項1】
文書を登録する手段と、前記登録された文書を更新する手段を持ち、文書に関する情報を文書管理テーブルとして保持する、文書管理システムにおいて、文書を外部へ保存する際に、前記文書に関する情報が保持されているサーバのURL情報と、文書を特定するための文書IDと、前記文書より求められるハッシュ値を前記文書中に埋め込み、更には、文書を外部にエクスポート中には他ユーザが前記文書を操作できないようにロックを行い、文書を更新する際に、前記文書中に埋め込まれたハッシュ値と実文書データから求められるハッシュ値と文書管理テーブル内に保持されたハッシュ値とを比較して文書の更新を認めることを特徴とする文書更新方法。
【請求項2】
前記請求項1に記載の文書管理システムにおいて、パスワードによる認証を行うことを特徴とする文書更新方法。
【請求項3】
前記請求項1ないしは2に記載の文書管理システムにおいて、複数の更新文書を保持する文書更新データリストを有することを特徴とする文書更新方法。
【請求項4】
前記請求項1ないしは2ないしは3に記載の文書管理システムにおいて、文書更新を認めるユーザを指定するためのアクセス可能ユーザリスト、及びIPアドレスを指定するためのアクセス可能IPアドレスリストを持つことを特徴とする文書更新方法。
【請求項5】
前記請求項4に記載の文書管理システムにおいて、アクセス可能ユーザリストで文書更新を認めないユーザを指定することを特徴とし、アクセス可能IPアドレスリストで文書更新を認めないIPアドレスを指定することを特徴とする文書更新方法。
【請求項6】
前記請求項1から請求項5に記載の文書管理システムにおいて、利用対象文書がバインダ文書であることを特徴とする文書更新方法。
【請求項7】
前記請求項1から請求項5に記載の文書管理システムにおいて、利用対象文書を問わないことを特徴とする文書更新方法。
【請求項1】
文書を登録する手段と、前記登録された文書を更新する手段を持ち、文書に関する情報を文書管理テーブルとして保持する、文書管理システムにおいて、文書を外部へ保存する際に、前記文書に関する情報が保持されているサーバのURL情報と、文書を特定するための文書IDと、前記文書より求められるハッシュ値を前記文書中に埋め込み、更には、文書を外部にエクスポート中には他ユーザが前記文書を操作できないようにロックを行い、文書を更新する際に、前記文書中に埋め込まれたハッシュ値と実文書データから求められるハッシュ値と文書管理テーブル内に保持されたハッシュ値とを比較して文書の更新を認めることを特徴とする文書更新方法。
【請求項2】
前記請求項1に記載の文書管理システムにおいて、パスワードによる認証を行うことを特徴とする文書更新方法。
【請求項3】
前記請求項1ないしは2に記載の文書管理システムにおいて、複数の更新文書を保持する文書更新データリストを有することを特徴とする文書更新方法。
【請求項4】
前記請求項1ないしは2ないしは3に記載の文書管理システムにおいて、文書更新を認めるユーザを指定するためのアクセス可能ユーザリスト、及びIPアドレスを指定するためのアクセス可能IPアドレスリストを持つことを特徴とする文書更新方法。
【請求項5】
前記請求項4に記載の文書管理システムにおいて、アクセス可能ユーザリストで文書更新を認めないユーザを指定することを特徴とし、アクセス可能IPアドレスリストで文書更新を認めないIPアドレスを指定することを特徴とする文書更新方法。
【請求項6】
前記請求項1から請求項5に記載の文書管理システムにおいて、利用対象文書がバインダ文書であることを特徴とする文書更新方法。
【請求項7】
前記請求項1から請求項5に記載の文書管理システムにおいて、利用対象文書を問わないことを特徴とする文書更新方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2007−34933(P2007−34933A)
【公開日】平成19年2月8日(2007.2.8)
【国際特許分類】
【出願番号】特願2005−220817(P2005−220817)
【出願日】平成17年7月29日(2005.7.29)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成19年2月8日(2007.2.8)
【国際特許分類】
【出願日】平成17年7月29日(2005.7.29)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]