(57)【要約】【課題】  ファイル共有サービス上でセキュリティを維持した上で代理人に操作を実行させる。【解決手段】  ファイル共有サービス上で収集保存管理している操作履歴に対して代理人による再実行権限を付与し、代理人による操作再実行時には該履歴の操作を行った利用者権限でファイル操作を実行する。【選択図】  図１
2007025972.tif 000002
【特許請求の範囲】
【請求項１】
ファイル共有サービスを実現するファイル共有手段と、
ファイル共有サービス上での利用者の操作履歴を収集・保存・検索・取得する履歴管理手段と、
利用者の認証手段とを持つファイル共有システムであって、
操作履歴毎の利用権限を設定する手段と、
取得した操作履歴データを元にファイル共有サービス上の操作を再実行する手段と、
再実行時に操作の実行権限を前記設定された操作履歴の利用権限に基づいて変更する手段と、
を有することを特徴とするファイル共有システム。
【請求項２】
前記操作履歴毎の利用権限設定手段で、該履歴操作を行った利用者以外の利用者に代理人としての再実行権限を付与することを特徴とする請求項１に記載のファイル共有システム。
【請求項３】
前記代理人としての再実行権限は複数の利用者に対して付与することが可能であることを特徴とする請求項２に記載のファイル共有システム。
【請求項４】
前記操作履歴毎の利用権限設定手段は、該履歴操作を行った利用者にのみ可能であることを特徴とする請求項１ないし請求項３のいずれかに記載のファイル共有システム。
【請求項５】
前記取得した操作履歴データを元にファイル共有サービス上の操作を再実行する手段は、操作履歴データを元にした再実行であることを識別できることを特徴とする請求項１ないし請求項４のいずれかに記載のファイル共有システム。
【請求項６】
ファイル共有サービスを実現するファイル共有工程と、
ファイル共有サービス上での利用者の操作履歴を収集・保存・検索・取得する履歴管理工程と、
利用者の認証工程とを持つファイル共有方法であって、
操作履歴毎の利用権限を設定する工程と、
取得した操作履歴データを元にファイル共有サービス上の操作を再実行する工程と、
再実行時に操作の実行権限を前記設定された操作履歴の利用権限に基づいて変更する工程と、
を有することを特徴とするファイル共有方法。
【請求項７】
請求項６に記載のファイル共有方法をコンピュータが読み出し可能な形で製作した制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書ファイルを複数の利用者間で共有するためのファイル共有システム及びファイル共有方法ならびにファイル共有方法を実行するプログラムに関するものである。
【背景技術】
【０００２】
電子文書ファイルを共有することは広く普及しており、その形態・機能ともに様々な拡張が現在も行われつつある。しかし、その拡張に伴って利用者の操作手順が複雑化する傾向もあり、これを補うものとして利用者が一度行った操作手順を記憶し、２回目以降の実行を容易にする機能も現れてきている（例えば、特許文献１参照）。
【０００３】
一方、セキュリティの確保も重要な課題であり、利用者毎のアクセス権設定はもはや標準機能といってもよい。しかし、セキュリティの向上と利用者の利便性の向上には相反する面があり、アクセス権を持った利用者がその場にいないと何もできないといった状況も見られるようになってきている。これに対してはファイル操作を代行する代理人の機能が付加されるようにもなってきている（例えば、特許文献２参照）。
【特許文献１】特開2003-167769号公報
【特許文献２】特開2002-222168号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
セキュリティの確保が本来の目的であるので、代理人のアクセス権限にも制限が求められる。このため、前記 特開2002-222168 においては、代理人が実行することのできる操作を代理人毎に予め設定を行う必要がある。
【０００５】
しかしながら、上述したように操作手順が複雑化する傾向にあるので、代理人に行わせたい操作手順を想定し、個々の操作について代理人権限を設定するのは代理人に委託しようとする利用者にとっては大きな負担である。
【０００６】
また、代理人が委託された操作を実行する場合、操作対象となるファイルにアクセス権限が必要であるが、代理人にはその権限がない場合がある。しかしながら代理人に権限を付与してしまうと、代理人権限を設定した以外の操作をも実行可能となりセキュリティが保たれない。セキュリティを優先すると、操作対象が代理人が元々アクセス権を所有するファイルに限定されてしまうので、代理人に委託したい操作も限定されてしまうという二律背反があった。
【課題を解決するための手段】
【０００７】
本発明は、上述した問題を解決するために、ファイル共有サービスを実現するファイル共有手段と、ファイル共有サービス上での利用者の操作履歴を収集・保存・検索・取得する履歴管理手段と、利用者の認証手段とを持つファイル共有システムであって、操作履歴毎の利用権限を設定する手段と、取得した操作履歴データを元にファイル共有サービス上の操作を再実行する手段と、再実行時に操作の実行権限を前記設定された操作履歴の利用権限に基づいて変更する手段とを有することを特徴とするファイル共有システムである。
【発明の効果】
【０００８】
本発明によって、電子文書ファイルの共有システムにおいて、権限を有しない代理人に操作を委託する際に、操作を委託する利用者は保存されている自身が以前に行った操作履歴に対して代理人に再実行権限を付与するだけで済み、委託する操作を事前に想定して操作内容や操作対象を設定する手順が不要となる。
【０００９】
さらに代理人が操作対象のファイルにアクセス権限を持たない場合にも、操作実行時にのみ委託者のアクセス権限が与えられるため、代理人に予め権限を付与してセキュリティが低下したり、委託する操作を限定する必要がなくなり、セキュリティを維持した上で利便性が向上する効果が得られる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００１１】
図１は本発明の実施に好適なファイル共有システムのシステム構成図である。ファイル共有サーバ100、履歴サーバ110、認証サーバ120、クライアント130aならびに130b、プリンタ140がネットワーク150を介して相互に接続される。
【００１２】
サーバ100、110、120ならびにクライアント130a、130bはそれぞれ情報処理装置（コンピュータ）で構成される。それぞれの詳細については後述する。なおクライアント130a、130bは同一構成のものであり、明示的に区別する必要のない場合にはクライアント130と総称する。また使用形態によってはクライアント130a、130bと分けずに１台のクライアント130としてもよい。これはサーバ100、110、120においても同様であり、１台ないし２台の情報処理装置で機能を構成してもよい。
【００１３】
プリンタ140はここではネットワーク150に自身のネットワークI/Fを介して接続され、自身で印刷要求を受付け管理するものとしたが、印刷要求を受けつけ管理する情報処理装置からなるプリンタサーバにシリアルI/F等で接続されるものであってもよい。またスキャナ等の機能も有していてもよい。
【００１４】
ネットワーク150はEthernet（登録商標）等の通信規格を満足する複数のルータ、スイッチ、ケーブル等から構成される。本発明においては各サーバ・クライアント間の通信が支障なく行えるものであればその通信規格、規模、構成を問わない。故にインターネットからLAN (Local Area Network)にまで適用可能である。
【００１５】
図２は上述のサーバ100、110、120ならびにクライアント130に好適な情報処理装置（コンピュータ）の詳細ブロック図である。CPU 200、１次記憶装置210、２次記憶装置220、ユーザ入出力I/F 230、ネットワークI/F 250が内部バス260を介して相互に接続されている。
【００１６】
ここで1次記憶装置210はRAMに代表される書込み可能な高速の記憶装置で、OSや各種プログラム及び各種データがロードされ、またOSや各種プログラムの作業領域としても使用される。
【００１７】
２次記憶装置220はFDDやHDD、フラッシュメモリ、CD-ROMドライブ等に代表される不揮発性を持った記憶装置で、OSや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。サーバ100、110、120ならびにクライアント130で1次記憶装置210及び２次記憶装置220に置かれる各種プログラム等の詳細については後述する。
【００１８】
ユーザ入出力I/F 230は、ディスプレイ、キーボード、マウス等に代表されるユーザ入出力機器240を接続するためのI/Fである。なお、サーバ100、110、120においてはユーザ入出力I/F 230及びユーザ入出力機器240は必須なものではない。
【００１９】
ネットワークI/F 250は上述のネットワーク150と接続するためのI/Fであり、Ethernet（登録商標）等の通信媒体を介して他の情報処理装置との通信を担う。
【００２０】
図３は上述のファイル共有サーバ100の１次記憶装置210及び２次記憶装置220に置かれる各種プログラム等の詳細を示したものである（CPU 200等については図示を省略した）。
【００２１】
ここで１次記憶装置210上にはOS 300、HTTPサーバ310、ファイル共有管理プログラム320、プリンタドライバ330がロードされ、２次記憶装置220上には利用者の共有対象になる電子文書ファイル340が保存される。
【００２２】
HTTPサーバ310は後述のクライアント130上のブラウザ610とのネットワーク150を介した通信を司り、クライアント130とのデータをファイル共有管理プログラム320に受け渡す。本実施例ではサーバ・クライアント間の通信プロトコルをHTTPとしているが、後述するデータのやり取りに支障がなければHTTP以外の通信プロトコルを用いてもよい。
【００２３】
ファイル共有管理プログラム320は本発明の根幹を成すプログラムであり、クライアント130とのファイル340のやり取り、それに伴う認証やアクセス管理を司る。詳細な動作については後述する。
【００２４】
プリンタドライバ330はファイル340を利用者の要求とプリンタ140の仕様に合わせたデータ書式に変換したデータをネットワーク150を介してプリンタ140に転送することを司る。
【００２５】
図４は上述の履歴サーバ110の１次記憶装置210及び２次記憶装置220に置かれる各種プログラム等の詳細を示したものである（CPU 200等については図示を省略した）。
【００２６】
ここで１次記憶装置210上にはOS 400、HTTPサーバ410、操作履歴管理プログラム420がロードされ、２次記憶装置220上には利用者の操作履歴情報が操作履歴データ430として保存される。
【００２７】
HTTPサーバ310はファイル共有サーバ100、後述のクライアント130上のブラウザ610とのネットワーク150を介した通信を司り、送受信されたデータを操作履歴管理プログラム420に受け渡す。本実施例ではサーバ・クライアント間の通信プロトコルをHTTPとしているが、後述するデータのやり取りに支障がなければHTTP以外の通信プロトコルを用いてもよい。
【００２８】
操作履歴管理プログラム420は、利用者がクライアント130を介してファイル共有サーバ100に対して行った操作を操作履歴データ430に保存するとともに、操作履歴に対する代理人権限設定等の操作履歴管理を司る。詳細な動作については後述する。また操作履歴データ430の詳細についても後述する。
【００２９】
図５は上述の履歴サーバ110の１次記憶装置210及び２次記憶装置220に置かれる各種プログラム等の詳細を示したものである（CPU 200等については図示を省略した）。
【００３０】
ここで１次記憶装置210上にはOS 500、HTTPサーバ510、認証管理プログラム520がロードされ、２次記憶装置220上には利用者の認証情報が認証データ530として保存される。
【００３１】
HTTPサーバ510はファイル共有サーバ100、履歴サーバ110、後述のクライアント130上のブラウザ610とのネットワーク150を介した通信を司り、送受信されたデータを認証管理プログラム520に受け渡す。本実施例ではサーバ・クライアント間の通信プロトコルをHTTPとしているが、後述するデータのやり取りに支障がなければHTTP以外の通信プロトコルを用いてもよい。
【００３２】
認証管理プログラム520は、ファイル共有サーバ100及び履歴サーバ110からの利用者の認証要求に対して認証データ530を参照して認証結果を返すとともに、各利用者の認証データの管理を司る。詳細な動作については後述する。
【００３３】
認証データ530は暗号化したパスワード文字列や、共有鍵暗号方式を用いる場合の鍵情報等、利用する認証方法で必要となるデータを保持する。
【００３４】
図６は上述のクライアント130の１次記憶装置210及び２次記憶装置220に置かれる各種プログラム等の詳細を示したものである（CPU 200等については図示を省略した）。
【００３５】
ここで１次記憶装置210上にはOS 600、Webブラウザ610がロードされ、２次記憶装置220上にはファイル共有サーバ100とやり取りする電子文書ファイル630が保存される。
【００３６】
Webブラウザ610は上述のサーバ100、110、120上のHTTPサーバ310、410、510とのネットワーク150を介した通信を司りデータをやり取りするとともに、利用者とのユーザインタフェースとして機能する。即ち、上述のHTTPサーバ310、410、510から受信したHTML等で表現されたページデータ620を解析し利用者に表示するとともに、ページデータ620の内容に基づいて利用者が選択した操作を要求する入力を受付け、所定のHTTPサーバ310、410、510に要求データを送信する。本実施例ではサーバ・クライアント間の通信プロトコルをHTTPとしているが、後述するデータのやり取りに支障がなければHTTP以外の通信プロトコルを用いてもよいし、汎用のWebブラウザではなくユーザインタフェースを持った専用のアプリケーションプログラムであってもよい。なお、ページデータ620やサーバ100、110、120との通信の詳細についてはサーバ100、110、120の動作の詳細説明の中で触れるので、個別の詳細説明は省略する。
【００３７】
以下、本実施例の動作について、図７から図１３を用いながら説明する。なお以下の説明においてはUser_A、User_B、User_C、User_D、User_Eの５人の利用者、User_BとUser_Cが所属するGroup_Xの利用者グループが設定され、ファイル共有サーバ100上にはぞれぞれの利用者・グループのみがアクセス権限を持つUser_A、User_B、User_C、User_D、User_EとGroup_Xの各フォルダ、利用者全員がアクセス権限を持つCommonフォルダが提供されているものとする。
【００３８】
まず図８、図９、図１１、図１２、図１３を用いて操作履歴管理プログラム420の動作について説明する。図８は操作履歴管理プログラム420の動作の流れを示したフローチャートである。操作履歴管理プログラム420はHTTPサーバ410からファイル共有サーバ100もしくはクライアント130から処理要求のデータを受信する（ステップs800）。受信したデータから処理要求を行った利用者ないしプログラムの認証用データを抽出し、これを基に認証サーバ120に認証要求する（ステップs805）。認証に失敗したならステップs850に進み、認証に失敗したことを示す結果ページデータを生成し、HTTPサーバ410に送信することで結果をファイル共有サーバ100もしくはクライアント130に返す。
【００３９】
認証に成功した場合はステップs810に進み、処理要求が履歴保存要求かどうかを判断する。履歴保存要求であった場合はステップs815に進み、データとして送られた操作履歴を操作履歴データ430に保存する。ここで操作履歴データ430の例を図１１に示す。データ1100には操作履歴を識別するID、操作が行われた時刻情報、操作を行った利用者、操作対象のファイル名、操作種別、操作に与えられた変数、操作を要求するために実際にクライアント130から送られたコマンド列が保存される。代理人設定と履歴公開設定情報については初期値を保存する。保存が終了すればステップs850に進み、保存終了結果を示すデータを生成し、HTTPサーバ410に送信して終了する。
【００４０】
操作履歴保存要求でなかった場合はステップs820に進み、操作履歴の検索要求かどうか判断する。検索要求であった場合はステップs830に進み、操作履歴の検索処理を行う。
【００４１】
この操作履歴検索処理の詳細を図９を用いて説明する。まず操作履歴データ430から検索要求を行った利用者が操作を行った利用者として記録されている履歴を抽出する(ステップs900)。続いて代理人として検索要求を行った利用者が指定されている履歴を抽出する(ステップs910)。これはデータ1100の“Deputy”項に該利用者が設定されているもので、後述する代理人設定処理(ステップs845)で設定される。さらに全利用者に対して公開されている履歴を抽出する(ステップs920)。これはデータ1100の“Open”項が“Yes”に設定されているもので、後述する履歴公開設定処理(ステップs835)で設定される。
【００４２】
以上のステップs900、s910、s920で抽出された履歴から重複分を除きIDで並べ替えを行い（ステップs930）、これをクライアント130に返信するページデータに生成する(ステップs940)。データ1100に示すデータから利用者User_Dについて処理を行った結果が図１２に示すデータ1200に、利用者User_Bについて処理を行った結果が図１３に示すデータ1300に示す。ステップs940ではクライアント130から検索結果に基づいた次の操作を要求できるように、検索結果ページデータに処理要求を行うコマンドを埋め込むことも行う。具体的にはデータ1200ないし1300を例えばHTMLの表として生成した場合は、色付けされたセルに対してそれぞれで次の処理要求を行うURLへのhyper linkを割り付ける。例えば表のセル1210に対しては操作履歴ID 332を再実行するためのURLを生成し割り付ける。この履歴を生成する元となったコマンド列(URL)である、図１１のセル1110に示す
/share?ci=/User_D/foo.html
から、履歴による再実行を識別するための情報を付加したコマンド列
http://ファイル共有サーバ/share?ci=/User_D/foo.html&history=332
を生成し、セル1210のhyper link先として埋め込む。
【００４３】
同様にセル1220には後述の代理人設定処理（ステップs845）へのURLを、セル1230には後述の履歴公開設定処理（ステップs835）へのURLをそれぞれ生成し、埋め込む。なお代理人設定処理、履歴公開設定処理への処理要求コマンド埋め込みは該利用者が操作実行者である操作履歴に対してのみ行うことで該利用者が意図しない設定が行われないようにする。ページデータが生成できたらステップs850に進み、HTTPサーバへ送信する。
【００４４】
ステップs820で履歴検索要求でなかった場合はステップs825で履歴公開設定要求かどうか判断する。履歴公開設定要求であった場合はステップs835で該当操作履歴の“Open”項を利用者の要求に合わせて“Yes”または“No”に設定し、ステップs850に進み処理結果を示すページデータを生成しHTTPサーバ410に送信して終了する。
【００４５】
履歴公開設定要求でなかった場合の残る処理種別は代理人設定処理のみであり、ステップs845で該当操作履歴の“Deputy”項に利用者の要求した利用者IDを追加ないし削除し、ステップs850に進み処理結果を示すページデータを生成しHTTPサーバ410に送信して終了する。なお代理人設定はデータ1300に示したように、操作を複数回行うことで複数の利用者を設定することも可能である。
【００４６】
以上で操作履歴管理プログラム420の説明を終える。
【００４７】
続いて図7を用いてファイル共有管理プログラム320の動作の説明を行う。図７はファイル共有管理プログラム320の動作の流れを示したフローチャートである。ファイル共有管理プログラム320はHTTPサーバ310からクライアント130から処理要求のデータを受信する（ステップs700）。受信したデータから処理要求を行った利用者の認証用データを抽出し、これを基に認証サーバ120に認証要求する（ステップs705）。認証に失敗したならステップs745に進み、認証に失敗したことを示す結果ページデータを生成し、HTTPサーバ310に送信することで結果をクライアント130に返す。
【００４８】
認証に成功した場合はステップs710に進み、処理要求が保存された操作履歴に基づく再実行かどうかを判断する。これは履歴による再実行を識別するための情報の有無を調べる。上述のコマンド列(URL)の例、
http://ファイル共有サーバ/share?ci=/User_D/foo.html&history=332
では
history=332
の部分が該当する。再実行識別情報がなく、再実行でない場合は後述するステップs735に進む。
【００４９】
再実行識別情報があり、再実行であった場合にはステップs715に進み、再実行要求を出した利用者が履歴データの所有者であるかどうかを判断する。これは例えば履歴サーバ110に履歴検索要求を行い、該当履歴の操作者情報を取得し比較を行う。上述のコマンド列の例では再実行を示す情報に履歴IDが埋め込まれており、これを検索のキーとすることができる。履歴所有者であった場合は、同じ利用者権限での操作となるのでそのままステップs735に進む。
【００５０】
履歴所有者でなかった場合にはステップs720に進み、再実行要求を出した利用者が履歴データで代理人に指定された利用者であるかどうかを判断する。これも履歴サーバ110に履歴検索要求を行い、該当履歴の代理人情報を取得することで判断される。
【００５１】
代理人であった場合にはステップs725に進み、以降の操作を行う際の実行権限を履歴所有者の権限に変更する。これにより、代理人にアクセス権限のないファイルに対してもファイル操作が行えることになる。変更処理が終わったらステップs735に進む。
【００５２】
代理人でなかった場合の残る実行者種別は公開された履歴の第三者による実行であり、操作対象ファイルに再実行を要求した利用者にアクセス権限がない場合もあり得る。そのためステップs730で該利用者が対象ファイルにアクセス権を所有しているかどうかを調べる。アクセス権がなかった場合にはステップs745で再実行不能とした結果ページデータを生成し、HTTPサーバ310に送信して終了する。アクセス権があった場合にはステップs735に進む。
【００５３】
ステップs735では設定された実行者権限で要求されたファイル操作を行い、操作の結果に応じたデータを生成する。例えばフォルダのファイル一覧要求であった場合には各ファイルへの各操作要求を行うコマンドを埋め込んだページデータを生成し、印刷要求であった場合にはプリンタドライバ330を通してプリンタ140にデータを送り印刷を行うとともに印刷出力を行った旨のページデータを生成する。
【００５４】
続くステップs740では該操作の操作履歴データを作成し、履歴サーバ110に履歴保存要求として送信する。
【００５５】
最後にステップs745でここまでの結果を最終的なページデータに編集し、HTTP310に送信することで、クライアント130に操作結果を返信する。
【００５６】
最後に認証管理プログラム520の動作の説明を行う。図１０は認証管理プログラム520の動作の流れを示したフローチャートである。認証管理プログラム520はHTTPサーバ510からファイル共有サーバ100、履歴サーバ110、クライアント130から処理要求のデータを受信する（ステップs1000）。受信したデータから処理要求内容を抽出し、認証処理要求であった場合には（ステップs1010）ステップs1020に進み認証処理を行う。これはファイル共有サーバ100、履歴サーバ110から送られた利用者IDとパスワード、鍵情報等を認証データ530と照合することによる。照合結果は認証結果としてHTTPサーバ510に送り認証要求元に回答する（ステップs1040）。
【００５７】
認証処理要求でなかった場合はクライアント130からの認証データ530のメンテナンスのための更新要求であり、ステップs1030で利用者の追加・削除、パスワードの変更等の要求処理を行い、更新結果を示すページデータを生成してHTTPサーバ510に送りクライアントに返信する（ステップs1050）。
【図面の簡単な説明】
【００５８】
【図１】本発明を実施するファイル共有システムのシステム構成図
【図２】ファイル共有システムを構成する情報処理装置の構成図
【図３】ファイル共有サーバのプログラム及びデータ構成図
【図４】履歴サーバのプログラム及びデータ構成図
【図５】認証サーバのプログラム及びデータ構成図
【図６】クライアントのプログラム及びデータ構成図
【図７】ファイル共有管理プログラムの動作の流れを示すフローチャート
【図８】操作履歴管理プログラムの動作の流れを示すフローチャート
【図９】操作履歴管理プログラムのうち、履歴検索処理の動作を詳細に示したフローチャート
【図１０】認証管理プログラムの動作の流れを示すフローチャート
【図１１】操作履歴データの例
【図１２】操作履歴データから利用者User_Dの検索を行った結果の例
【図１３】操作履歴データから利用者User_Bの検索を行った結果の例
【符号の説明】
【００５９】
100  ファイル共有サーバ
110  履歴サーバ
120  認証サーバ
130a  クライアント
130b  クライアント
140  プリンタ
150  ネットワーク
200  CPU
210  １次記憶装置
220  ２次記憶装置
230  ユーザ入出力I/F
240  ユーザ入出力機器
250  ネットワークI/F
310  HTTPサーバ
320  ファイル共有管理プログラム
410  HTTPサーバ
420  履歴管理プログラム
430  操作履歴データ
510  HTTPサーバ
520  認証管理プログラム
530  認証データ
610  ブラウザ
620  ページデータ
【図１】
2007025972.tif 000003
【図２】
2007025972.tif 000004
【図３】
2007025972.tif 000005
【図４】
2007025972.tif 000006
【図５】
2007025972.tif 000007
【図６】
2007025972.tif 000008
【図７】
2007025972.tif 000009
【図８】
2007025972.tif 000010
【図９】
2007025972.tif 000011
【図１０】
2007025972.tif 000012
【図１１】
2007025972.tif 000013
【図１２】
2007025972.tif 000014
【図１３】
2007025972.tif 000015