以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
[1−1.ファイル共有システムのハードウェア構成]
以下、データ共有としてファイル共有の場合を例に挙げ、共有ファイルを格納したフォルダ単位で共有サービスが提供されるものとして説明する。まず、図1を参照しながら、実施の形態1に係るファイル共有システム100(データ共有システムの一例)のハードウェア構成について説明する。図1は、実施の形態1に係るファイル共有システム100のハードウェア構成図である。
図1に示すように、ファイル共有システム100は、NAS(Network Attached Storage)10aと、PC(Personal Computer)20a,20b,20cと、スマートフォン20dとを備える。
NAS10aは、LAN(Local Area Network)50に接続されており、PC20a,20b,20c及びスマートフォン20dとの間でデータを送受信することができる。なお、LAN50は、ネットワークの一例であり、これに限定されない。
PC20a,20b,20cの各々は、例えばプロセッサ、メモリ、ディスプレイ及び入力デバイス等を備える。PC20a,20b,20cは、LAN50に接続されている。
スマートフォン20dは、例えばプロセッサ、メモリ及びタッチスクリーン等を備える。スマートフォン20dは、NAS10aに無線LANで直接接続することができる。なお、スマートフォン20dは、無線アクセスポイント(WAP:Wireless Access Point)等を介してLAN50に接続されてもよい。
[1−2.NASのハードウェア構成]
次に、図1を参照しながら、実施の形態1に係るNAS10aのハードウェア構成について説明する。
図1に示すように、NAS10aは、有線LANモジュール11aと、無線LANモジュール11bと、HDD(Hard Disk Drive)12a,12bと、RAID(Redundant Arrays of Inexpensive Disks)モジュール12dと、SD(Secure Digital)カード12eと、SoC(System on a Chip)13aと、DDR SDRAM(Double Data Rate Synchronous Dynamic Random-Access Memory)13bとを備える。
有線LANモジュール11aは、LANケーブル等が接続されるコネクタ(例えばRJ−45)と、通信用電子回路とを備える。有線LANモジュール11aは、コネクタに接続されたLANケーブルを介して、NAS10aをLAN50に接続する。
無線LANモジュール11bは、アンテナと、通信用電子回路とを備え、無線アクセスポイント(WAP)として機能する。無線LANモジュール11bは、電磁波を介して、複合機10aをスマートフォン20dに直接接続する。
HDD12a,12bの各々は、デジタルデータを格納する及び読み出す磁気記憶装置であり、SATA(Serial ATA)を介してRAIDモジュール12dに接続されている。
SDカード12eは、SDカードコネクタに着脱可能な不揮発性の半導体メモリである。SDカード12eは、プログラム及び設定データを記憶する。プログラムには、ファイル共有プログラム及びhttp(Hypertext Transfer Protocol)通信プログラム等が含まれる。
RAIDモジュール12dは、データの冗長性を向上させるために、複数台の物理的なHDD12a,12bに同じデータを書き込む。例えば、RAIDモジュール12dは、ミラーリング処理(RAID1)及びディスク管理等を実行する。
SoC13aは、有線LANモジュール11a、無線LANモジュール11b及びRAIDモジュール12d等の動作を制御する集積回路である。
DDR SDRAM13bは、揮発性の半導体メモリである。DDR SDRAM13bは、例えばSoC13aによって作業用の記憶領域として用いられる。
[1−3.ファイル共有システムの機能構成]
次に、図2を参照しながら、実施の形態1に係るファイル共有システム100の機能構成について説明する。図2は、実施の形態1に係るファイル共有システム100の機能構成を示すブロック図である。
図2に示すように、ファイル共有システム100は、機能的には、ストレージ装置10と、端末装置20とを備える。
[1−3−1.ストレージ装置の機能構成]
まず、図2を参照しながら、実施の形態1に係るストレージ装置10の機能構成について説明する。例えば、図1に示すNAS10aが、図2に示すストレージ装置10として機能する。
図2に示すように、ストレージ装置10は、通信部11と、ストレージ部12と、制御部13とを備える。
通信部11は、第1通信部の一例であり、例えば図1に示す有線LANモジュール11a及び/又は無線LANモジュール11bによって実現される。通信部11は、端末装置20とネットワークを介して通信する。具体的には、通信部11は、端末装置20から送信された第2鍵データを含む解錠信号を受信し、解錠信号に対する応答である応答信号(第1応答信号の一例)を端末装置20に送信する。また、通信部11は、端末装置20から送信された施錠信号を受信する。さらに、通信部11は、端末装置20から送信された問い合わせ信号を受信し、問い合わせ信号に対する応答である応答信号(第2応答信号の一例)を端末装置20に送信する。
解錠信号とは、予め記憶された共有設定データに基づくフォルダの共有サービスを有効化することを要求するための信号である。施錠信号とは、解錠信号によって有効化されたフォルダの共有サービスを無効化することを要求するための信号である。
鍵データとは、フォルダの共有サービスの有効化するための解錠信号の正当性を検証するためのデータである。
問い合わせ信号とは、有効化されたフォルダの共有サービスが無効化されたか否かを問い合わせるための信号である。
ストレージ部12は、例えば図1に示すHDD12a,12bと、RAIDモジュール12dと、SDカード12eとによって実現される。HDD12a,12bは、ユーザのファイルを格納する。さらに、SDカード12eは、ファイルをネットワーク上で共有するための共有設定データと第1鍵データとを対応付けて記憶している。
制御部13は、例えば図1に示すSoC13a及びDDR SDRAM13bによって実現される。制御部13は、通信部11及びストレージ部12を制御する。
具体的には、制御部13は、通信部11が端末装置20から送信された第2鍵データを含む解錠信号を受信した場合に、受信された解錠信号に含まれる第2鍵データがストレージ部12に記憶されている第1鍵データと一致するか否かを判定する。ここで、第2鍵データが第1鍵データと一致する場合には、制御部13は、第1鍵データに対応する共有設定データを用いてファイルのネットワーク上での共有サービスを有効化する。すなわち、制御部13は、第2鍵データが第1鍵データと一致する場合にファイルの共有サービスの有効化を許可し、第2鍵データが第1鍵データと一致しない場合にファイルの共有サービスの有効化を禁止する。ファイルの共有サービスが有効化されれば、当該ファイルはネットワーク上で共有される。
また、制御部13は、有効化されたファイルの共有サービスを無効化する。すなわち、制御部13は、ファイルの共有サービスを一旦停止する。例えば、通信部11が端末装置20から送信された施錠信号を受信した場合に、制御部13は、有効化されたファイルの共有サービスを無効化する。また例えば、端末装置20からファイルへ最後にアクセスがあった時刻からの経過時間が閾値時間以上であるか否かを判定し、経過時間が閾値時間以上である場合に、有効化されたファイルの共有サービスを無効化する。なお、経過時間は、例えばストレージ装置10のシステムクロックに基づいて計測される。
[1−3−2.端末装置の機能構成]
次に、図2を参照しながら、実施の形態1に係る端末装置20の機能構成について説明する。例えば、図1に示すPC20a,20b,20c及びスマートフォン20dの各々が、図2に示す端末装置20として機能する。
図2に示すように、端末装置20は、通信部21と、表示部22と、入力部23と、制御部24と、音声出力部25とを備える。
通信部21は、第2通信部の一例であり、例えば有線LANモジュール又は無線LANモジュールにより実現される。通信部21は、ストレージ装置10とネットワークを介して通信する。具体的には、通信部21は、第2鍵データを含む解錠信号をストレージ装置10に送信し、且つ、ストレージ装置10から送信された、解錠信号に対する応答である応答信号を受信する。また、通信部21は、施錠信号をストレージ装置10に送信する。さらに、通信部21は、問い合わせ信号をストレージ装置10に送信し、且つ、ストレージ装置10から送信された、問い合わせ信号に対する応答である応答信号を受信する。
表示部22は、例えば液晶ディスプレイ又は有機EL(Electro Luminescence)ディスプレイ等により実現される。表示部22は、例えばグラフィカルユーザインタフェース(GUI)、及び、ストレージ装置10のストレージ部12に格納されたファイル等を表示する。
入力部23は、例えばキーボード及びマウスの少なくとも一方により実現される。また、入力部23は、タッチスクリーンにより実現されてもよい。入力部23は、ユーザ(利用者)の操作を受け付ける。
音声出力部25は、例えばスピーカにより実現される。音声出力部25は、例えば効果音等の音声を出力する。
制御部24は、例えばプロセッサ及びメモリにより実現される。制御部24は、通信部21、表示部22、入力部23及び音声出力部25を制御する。具体的には、制御部24は、例えば第2鍵データの入力画面を表示部22に表示する。そして、制御部24は、入力部23を介して第2鍵データを受け付ける。それから、制御部24は、通信部21を介して、入力部23から受け付けた第2鍵データを含む解錠信号をストレージ装置10に送信する。
[1−4.ファイル共有システムの動作]
次に、図3〜図13を参照しながら、実施の形態1に係るファイル共有システム100の動作について説明する。
[1−4−1.共有設定処理]
まず、図3を参照しながら、ストレージ装置10が共有サービスを提供するための共有設定処理について説明する。図3は、実施の形態1に係るファイル共有システム100における共有設定処理の一例を示すシーケンス図である。
端末装置20は、ストレージ装置10に対して、ログイン画面要求信号を送信する。ストレージ装置10の制御部13は、端末装置20からのログイン画面要求に基づいて、http通信プログラムにより共有設定のためのログイン画面を端末装置20に送信する(WebUI)。図3に示すように、端末装置20の制御部24は、ログイン画面をブラウザにより表示部22に表示し、入力部23を介してストレージ装置10の管理者から認証情報の入力を受け付ける(S101)。ここでは、認証情報は、ユーザ識別子及びパスワードを含み、ストレージ装置10に送信される。認証情報、後述の解除信号及び施錠信号は、HTTP(Hypertext Transfer Protocol)等の一般的な通信プロトコルで通信される。この場合、鍵データが盗み取られないように、SSL(Secure Sockets Layer)/TLS(Transport Layer Security)を使用して暗号化して通信するHTTPS(Hypertext Transfer Protocol Secure)のようなセキュアな通信プロトコルが好ましい。
ストレージ装置10の制御部13は、端末装置20から受信し且つ復号したユーザ識別子及びパスワードに基づいてユーザ認証を行う(S102)。ここで、ユーザ認証が成功すれば、制御部13は、共有フォルダの登録画面を端末装置20に送信する。
端末装置20の制御部24は、登録画面を表示部22に表示する(S103)。このとき、登録画面の表示には、例えば、ファイル共有システム100に専用のアプリケーションプログラムが用いられてもよいし、汎用のアプリケーションプログラム(例えばインターネットブラウザ等)が用いられてもよい。
端末装置20の制御部24は、入力部23を介して、ログインしたユーザから共有設定データ及びユーザID並びに必要に応じてセキュリティキーの入力を受け付ける(S104)。具体的には、制御部24は、通常の共有フォルダのための共有設定データであれば、セキュリティキーの入力を受け付けず、セキュリティフォルダのための共有設定データであれば、セキュリティキーの入力を受け付ける。ここで受け付けられた共有設定データ及びユーザID並びにセキュリティキーは、ストレージ装置10に送信される。この通信もHTTPS通信プロトコルにより行われ、共有設定データ及びユーザID並びにセキュリティキーは暗号化されてストレージ装置10に送信される。
セキュリティフォルダとは、通常の共有フォルダよりも高い安全性を実現できる共有フォルダである。セキュリティフォルダと通常の共有フォルダとの違いについては、後述するアクセス処理等の説明で明らかにする。
ここで入力されるセキュリティキーは、第2鍵データに相当する。セキュリティキーは、セキュリティフォルダを特定し、当該セキュリティフォルダに対する解錠信号の正当性を検証するための文字列データである。文字列データは、文字、数字、記号又はそれらの任意の組み合わせを示す。また、ユーザIDは、第1ユーザ識別子に相当し、ユーザを特定するためのデータである。
ストレージ装置10の制御部13は、端末装置20から受信した共有設定データ及びユーザIDをSDカード12eに格納する(S105)。セキュリティキーを受信した場合には、制御部13は、セキュリティキーをユーザID及び共有設定データに対応付けてSDカード12eに格納する。
ストレージ装置10の制御部13は、ストレージ部12に格納された共有設定データに基づいて、通常の共有フォルダの共有サービスを開始する(S106)。ここでは、セキュリティフォルダの共有サービスはまだ開始されない。
[1−4−2.共有フォルダの登録画面]
ここで、図4を参照しながら、図3に示すステップS103において表示される登録画面30の一例について具体的に説明する。図4は、実施の形態1に係る共有フォルダの登録画面30の一例を示す図である。
図4に示すように、登録画面30は、共有フォルダの設定をストレージ装置10に登録するためのGUIである。登録画面30は、ウィジェット31〜39を含む。
ウィジェット31は、共有フォルダの名称(以下、「共有名」という)を入力するためのテキストボックスを含む。管理者は、入力部23を介してウィジェット31に共有名を表す文字列(例えば「SF1」)を入力する。
共有名は、ネットワーク上におけるフォルダの名称を示す。この共有名は、ストレージ装置10内におけるフォルダの名称と共用されてもよい。
ウィジェット32は、共有フォルダにセキュリティフォルダの設定を行うか否かを入力するためのチェックボックスを含む。管理者は、入力部23を介してウィジェット32にチェックマークを入力する。ここでは、チェックマークが付された場合に、セキュリティフォルダの設定が有効となり、チェックマークが付されなかった場合に、セキュリティフォルダの設定が無効となる。
ウィジェット33は、共有フォルダに隠しフォルダの設定を行うか否かを入力するためのチェックボックスを含む。隠しフォルダとは、隠し共有を意味し、ネットワーク上の機器において共有フォルダの一覧に表示されない共有フォルダのことである。つまり、隠しフォルダの共有名は、ネットワークに対して公開されない。ここでは、ウィジェット33にチェックマークが付された場合、例えばウィジェット31に入力された共有名の末尾に「$」の記号が自動的に付される。
ウィジェット34は、ウィジェット31に入力された共有名のフォルダの利用者を入力するためのリストボックスを含む。管理者は、入力部23を介して、ユーザIDのリストの中からユーザIDを選択する。ユーザIDのリストは、予め登録されたユーザIDを含む。
ウィジェット35は、セキュリティキーを入力するためのテキストボックスを含む。このテキストボックスは、ウィジェット32においてチェックボックスにチェックマークが付された場合に入力が許可される。管理者は、入力部23を介してウィジェット35にセキュリティキーに対応する文字列(例えば「SF1−KEY」)を入力する。
ウィジェット36は、ウィジェット34,35にそれぞれ入力されたユーザID及びセキュリティキーのセットを一時的に保存するためのボタンを含む。
ウィジェット37は、ウィジェット36によって一時的に保存されたユーザIDのリストと、リスト内のユーザIDを選択するためのチェックボックスと、チェックマークが付されたユーザID及びそれに対応するセキュリティキーを削除するためのボタンとを含む。管理者は、チェックボックスにチェックマークを入力して削除ボタンを押すことにより、チェックマークに対応するユーザID及びセキュリティキーのセットを削除することができる。
ウィジェット38は、共有フォルダのアクセス制限のためのラジオボタンを含む。予め登録された利用者であれば誰でも共有フォルダにフルアクセス可能な場合には、「全施錠/解錠ユーザアクセス可能」のラジオボタンが選択され、利用者毎にアクセス権限が管理される場合には「アクセス制限設定」のラジオボタンが選択される。「アクセス制限設定」のラジオボタンが選択された場合には、読み取り専用ユーザ及び読み書き可能ユーザを個別に設定可能な画面に遷移する。
ウィジェット39は、ウィジェット31〜38に入力された共有設定データを登録するか破棄するかを指示するためのボタンを含む。「保存」ボタンが押された場合に、共有設定データがストレージ装置10に送信される。
[1−4−3.共有設定テーブルの具体例]
次に、図5を参照しながら、図3に示すステップS105でストレージ部12に格納される共有設定データについて具体的に説明する。図5は、実施の形態1に係る共有設定テーブル40の一例を示す図である。
図5に示すように、共有設定テーブル40は、第1鍵データと共有設定データ及び第1ユーザ識別子とを対応付けて記録するテーブルデータである。共有設定テーブル40は、共有設定データとして、共有名41と、セキュリティフォルダ設定42と、アクセス権限45とを含む。また、共有設定テーブル40は、第1鍵データとしてセキュリティキー43を含み、第1ユーザ識別子としてユーザID44を含む。
共有名41には、図3に示す共有名のためのウィジェット31に入力された文字列データが登録される。なお、隠しフォルダ設定のウィジェット33にチェックマークが付されていた場合には、ウィジェット31に入力された文字列データの末尾に「$」の記号が付されたものが登録される。
セキュリティフォルダ設定42には、図3に示すセキュリティフォルダ設定のためのウィジェット32の入力に対応するデータが登録される。ここでは、ウィジェット32にチェックマークが付された場合に「true」が登録され、ウィジェット32にチェックマークが付されなかった場合に「false」が登録される。
セキュリティキー43には、共有名41に対応する文字列データであって、図3に示すセキュリティキーのためのウィジェット35に入力された文字列データが登録される。このセキュリティキー43では、重複登録が禁止される。
ユーザID44には、セキュリティキー43に対応するユーザIDが登録される。
アクセス権限45には、ユーザID44に対するアクセス権限が登録される。アクセス権限45には、例えば読み取り専用を示す「読み取り」及び読み書き可能を示す「読み書き」のいずれかが登録される。
図5に示す共有設定テーブル40では、例えば、「SF1−KEY1」のセキュリティキーに対応付けて、「SF1」の共有名を有する共有フォルダ、及び、読み取り専用の「USER1」のユーザIDが格納されている。また例えば、「SF1−KEY2」のセキュリティキーに対応付けて、「SF1」の共有名を有する共有フォルダ、及び、読み書き可能の「USER2」のユーザIDが格納されている。
このユーザID44に登録されたユーザIDで特定される利用者には、解錠信号によってセキュリティフォルダの共有サービスが提供される。
[1−4−4.通常の共有フォルダへのアクセス処理]
次に、図6を参照しながら、図3に示すステップS106で共有サービスが開始された後の通常の共有フォルダへのアクセス処理について説明する。図6は、実施の形態1に係るファイル共有システム100における通常の共有フォルダへのアクセス処理の一例を示すシーケンス図である。
図6に示すように、端末装置20の制御部24は、入力部23における利用者の操作に従って、通常の共有フォルダへのアクセス信号をストレージ装置10に送信する(S111)。このアクセス信号には、通常の共有フォルダのパスが含まれる。
共有フォルダへのアクセス信号は、例えば、共有フォルダへの接続を要求するための信号である。
パスとは、ネットワーク上のリソースの位置を示すネットワークパスを意味する。共有フォルダのパスは、フォルダの共有名を含む。例えば、ネットワークパスは、UNC(Universal Naming Convention)に基づいて決定される。
ストレージ装置10の制御部13は、端末装置20の利用者が未認証である場合に、端末装置20に認証情報を要求する(S112)。端末装置20の制御部24は、例えば認証画面を表示部22に表示する。そして、制御部24は、入力部23を介して、利用者から認証情報(例えばユーザID及びパスワード)の入力を受け付ける(S113)。入力された認証情報は、ストレージ装置10に送信される。ストレージ装置10の制御部13は、端末装置20から受信した認証情報に基づいてユーザ認証を行う(S114)。その後、認証結果に基づいて、アクセス信号に対する応答信号がストレージ装置10から端末装置20に送信される。
このステップS112〜S114のユーザ認証に関する処理には、従来技術が採用されてもよい。なお、端末装置20の利用者が既に認証済みである場合には、ステップS112〜S114の処理はスキップされてもよい。
端末装置20の制御部24は、ファイル操作のための入力を利用者から受け付け、ファイル操作信号をストレージ装置10に送信する(S115)。ファイル操作信号は、例えば、共有フォルダ内のファイル一覧を要求するための信号であってもよいし、共有ファルダ内のフィルの読み取り又は書き込みのための信号であってもよい。
ストレージ装置10の制御部13は、ユーザ認証が成功した場合に、利用者のアクセス権限に基づいて、ファイル操作信号に対応するファイル操作を行い、操作結果に対応する応答信号を端末装置20に送信する(S116)。この処理にも、従来技術が採用されてもよい。例えば、図5における「NF1」の共有フォルダ内のファイルの読み取りのためのファイル操作信号を受信した場合、認証された利用者が「USER3」であればファイル操作が禁止され、認証された利用者が「USER1」又は「USER2」であればファイル操作が許可される。一方、「NF1」の共有フォルダ内のファイルの書き込みのためのファイル操作信号を受信した場合、認証された利用者が「USER1」又は「USER3」であればファイル操作が禁止され、認証された利用者が「USER2」であればファイル操作が許可される。
なお、通常の共有フォルダが隠しフォルダに設定されていても、その共有名を含むファイル操作信号を受信した場合には、既にユーザ認証が行われていれば、利用者のアクセス権限に基づいて、ファイル操作信号に対応する、隠しフォルダ内のファイルに対するファイル操作を行うことが許可される。
[1−4−5.セキュリティフォルダへのアクセス処理]
次に、図7及び図8を参照しながら、図3に示すステップS106で共有サービスが開始された後のセキュリティフォルダへのアクセス処理について説明する。図7は、実施の形態1に係るファイル共有システム100におけるセキュリティフォルダへのアクセス処理の失敗例を示すシーケンス図である。
図7に示すように、端末装置20の制御部24は、入力部23に対する利用者の操作に従って、セキュリティフォルダへのアクセス信号をストレージ装置10に送信する(S121)。このアクセス信号には、セキュリティフォルダのパスが含まれる。
ストレージ装置10の制御部13は、セキュリティフォルダの共有サービスをまだ提供していないので、アクセス信号に対して応答しない(S122)。つまり、セキュリティフォルダのパスはまだ存在しないので、アクセス信号に対する応答信号が端末装置20に送信されない。例えば、ユーザがアプリケーションの最近使った項目からセキュリティフォルダ内のファイルを開こうとしても、ストレージ装置10から応答が無いため、アプリケーションはエラーを表示する。
端末装置20の制御部24は、ファイル操作信号を送信した時刻からの経過時間が閾値時間を超えたときに、エラーメッセージを表示部22に表示する(S123)。
以上のように、通常の共有フォルダの共有サービスが提供されている場合であっても、セキュリティフォルダの共有サービスは、まだ有効化されていないので、ネットワーク上にセキュリティフォルダは存在しない。
次に、図8を参照しながら、セキュリティフォルダにアクセスするための方法を説明する。図8は、実施の形態1に係るファイル共有システム100におけるセキュリティフォルダへのアクセス処理の成功例を示すシーケンス図である。
図8に示すように、まず、端末装置20の制御部24は、セキュリティフォルダの解錠信号をストレージ装置10に送信する(S131)。この解錠信号には、セキュリティフォルダに対応するセキュリティキーが含まれる。解錠信号の送信のためのGUIについては、図9を用いて後述する。
ストレージ装置10の制御部13は、解錠信号に含まれるセキュリティキーに対応するセキュリティフォルダ及びユーザを特定し、特定されたセキュリティフォルダについて特定されたユーザに対して共有サービスを有効化する(S132)。これにより、セキュリティフォルダの共有名を含む応答信号がストレージ装置10から端末装置20に送信される。このステップS132の処理の詳細については、図10を用いて後述する。なお、解錠信号及び応答信号はいずれもHTTPS通信プロトコルで送信される。
端末装置20の制御部24は、ストレージ装置10から送信された応答信号に基づいて、第1表示を表示部22に表示する(S133)。第1表示は、セキュリティフォルダの共有サービスが有効化されたことを示す表示(画像)の一例である。利用者は、表示部22に表示された第1表示を見ることにより、セキュリティフォルダの共有サービスが有効化されたことを容易に把握することができる。第1表示の表示例については、図12を用いて後述する。
端末装置20の制御部24は、応答信号に含まれるセキュリティフォルダの共有名に基づいて、セキュリティフォルダにアクセスするための操作信号をストレージ装置10に送信する(S121)。
ストレージ装置10の制御部13は、端末装置20の利用者が未認証である場合に、端末装置20に認証情報を要求する(S112)。端末装置20の制御部24は、例えば認証画面を表示部22に表示する。そして、制御部24は、入力部23を介して、利用者から認証情報(例えばユーザID及びパスワード)の入力を受け付ける(S113)。入力された認証情報は、ストレージ装置10に送信される。ストレージ装置10の制御部13は、端末装置20から受信した認証情報に基づいてユーザ認証を行う(S114)。その後、認証結果に基づいて、アクセス信号に対する応答信号がストレージ装置10から端末装置20に送信される。
このステップS112〜S114のユーザ認証に関する処理は、従来技術が用いられてもよい。なお、端末装置20の利用者が既に認証済みである場合には、ステップS112〜S114の処理はスキップされてもよい。
端末装置20の制御部24は、ファイル操作のための入力を利用者から受け付け、ファイル操作信号をストレージ装置10に送信する(S115)。
ストレージ装置10の制御部13は、ユーザ認証が成功した場合に、利用者のアクセス権限に基づいて、ファイル操作信号に対応するファイル操作を行い、操作結果に対応する応答信号を端末装置20に送信する(S134)。このステップS134の処理の詳細については、図13を用いて後述する。
セキュリティフォルダ内のファイルに対する操作が完了すれば、端末装置20の制御部24は、例えば入力部23に対する利用者の操作に基づいて、施錠信号をストレージ装置10に送信する(S135)。なお、例えばセキュリティフォルダに対して最後に操作があった時刻からの経過時間が閾値時間以上である場合に、制御部24は、施錠信号をストレージ装置10に送信してもよい。すなわち、セキュリティフォルダに対する操作が閾値時間以上実行されない場合に、制御部24は、施錠信号をストレージ装置10に送信してもよい。
ストレージ装置10の制御部13は、所定の条件を満たす場合に、セキュリティフォルダの共有サービスを無効化する(S136)。このとき、制御部13は、後述する共有状態テーブルに登録されたレコードを削除する。
なお、所定の条件は、例えば、端末装置20から送信された施錠信号を受信することである。あるいは、所定の条件は、例えば、セキュリティフォルダへ最後にアクセスがあった時刻からの経過時間が閾値時間以上であることであってもよい。
端末装置20の制御部24は、問い合わせ信号をストレージ装置10に送信する(S137)。ストレージ装置10の制御部13は、端末装置20から送信された問い合わせ信号に基づいて、セキュリティフォルダの共有サービスが無効化されたことを示す応答信号を端末装置20に送信する(S138)。端末装置20の制御部24は、ストレージ装置10から送信された応答信号に基づいて、セキュリティフォルダの共有サービスが無効化されたと判断することができる。
端末装置20の制御部24は、ストレージ装置10から送信された応答信号に基づいて、表示部22に表示されている第1表示を第2表示に変更する(S139)。第2表示は、セキュリティフォルダの共有サービスが無効化されたことを示す表示(画像)の一例である。利用者は、表示部22に表示された第2表示を見ることにより、セキュリティフォルダの共有サービスが無効化されたことを容易に把握することができる。第2表示の表示例については、図12を用いて後述する。
端末装置20の制御部24は、第1表示を第2表示に変更した際に、音声出力部25から効果音を出力させる(S140)。セキュリティフォルダの共有サービスが無効化されてから所定時間(例えば3秒)が経過した際に、端末装置20の制御部24は、表示部22に表示されている第2表示を非表示にする(S141)。
なお、上述したステップS141を省略して、第2表示を表示部22に常時表示させてもよい。また、第1表示を表示部22に表示する際にも(S133)、音声出力部25から効果音を出力させてもよい。
[1−4−6.解錠信号の送信画面]
ここで、図9を参照しながら、図8に示すステップS131において表示される解錠信号の送信画面の一例について説明する。図9は、実施の形態1に係る解錠信号の送信画面の一例を示す図である。
図9の(a)に示すように、端末装置20の制御部24は、タスクバー上のアイコン51に対する入力部23による操作(例えばマウスの右ボタンのクリック)が検出された際に、第1コンテクストメニュー52を表示部22に表示する。ここで、第1コンテクストメニュー52内の「SF解錠」に対する入力部23による操作(例えばマウスの左ボタンのクリック(以下、「左クリック」という))が検出された際に、制御部24は、第2コンテクストメニュー53を表示部22に表示する。
第2コンテクストメニュー53には、端末装置20にセキュリティキーが予め登録されたセキュリティフォルダ「SF1」、「SF2」及び「SF3」の各項目と、端末装置20にセキュリティキーが未登録のセキュリティフォルダのための「任意」の項目とが表示される。
ここで、第2コンテクストメニュー53内の「任意」に対する入力部23による操作(例えば左クリック)が検出された際に、図9の(b)に示すように、制御部24は、セキュリティキーの入力ダイアログ54を表示部22に表示する。利用者は、例えば管理者からセキュリティキーを取得し、取得したセキュリティキーを入力ダイアログ54に入力する。ここで、入力ダイアログ54内の「OK」ボタンに対する操作(例えば左クリック)が検出されれば、制御部24は、入力ダイアログ54に入力されたセキュリティキーを含む解錠信号をストレージ装置10に送信する。
一方、第2コンテクストメニュー53内の「SF1」、「SF2」又は「SF3」に対する入力部23による操作(例えば左クリック)が検出された際には、制御部24は、操作されたセキュリティフォルダに対応付けて端末装置20に予め登録されたセキュリティキーを読み出し、当該セキュリティキーを含む解錠信号をストレージ装置10に送信する。
なお、端末装置20の制御部24は、このような送信画面を用いずに、解錠信号をストレージ装置10に送信してもよい。例えば、制御部24は、キーボード又はマウスによる特定の操作(例えば、マウスジェスチャ又はショートカットキーの入力)を検出した場合に、当該特定の操作に対応するセキュリティキーを含む解錠信号をストレージ装置10に送信してもよい。
[1−4−7.セキュリティフォルダの共有サービスの有効化処理]
次に、図10を参照しながら、図8に示すステップS132におけるセキュリティフォルダの共有サービスの有効化処理について具体的に説明する。図10は、実施の形態1に係るストレージ装置10による共有サービスの有効化処理を示すフローチャートである。
図10に示すように、ストレージ装置10に制御部13は、解錠信号からセキュリティキーを取得する(S1321)。
そして、制御部13は、取得したセキュリティキーが共有設定テーブルに登録されているか否かを判定する(S1322)。すなわち、制御部13は、解錠信号に含まれるセキュリティキーが共有設定テーブルに含まれるセキュリティキーと一致するか否かを判定する。例えば、図5に示す共有設定テーブル40では、解錠信号にセキュリティキー「SF1−KEY1」、「SF1−KEY2」、「SF2−KEY1」、「SF2−KEY2」、「SF2−KEY3」のいずれかが含まれていれば、制御部13は、取得したセキュリティキーが共有設定テーブル40に登録されていると判定する。
ここで、セキュリティキーが共有設定テーブルに登録されている場合(S1322でYes)、制御部13は、セキュリティキーに対応するセキュリティフォルダの共有サービスを、セキュリティキーに対応付けられたユーザに対して有効化する(S1323)。例えば、図5に示す共有設定テーブル40では、解錠信号にセキュリティキー「SF1−KEY1」が含まれている場合に、制御部13は、共有名「SF1」のセキュリティフォルダの共有サービスを、「USER1」に対して有効化する。
さらに、制御部13は、有効化されたセキュリティフォルダの共有名、解錠信号の送信元のIP(Internet Protocol)アドレス及びユーザIDを共有状態テーブルに登録する(S1324)。なお、送信元のIPアドレスは、解錠信号から取得することができる。その後、制御部13は、セキュリティフォルダの共有名を端末装置20に送信する(S1325)。
一方、セキュリティキーが共有設定テーブルに登録されていない場合(S1322でNo)、制御部13は、エラー応答を端末装置20に送信する(S1326)。すなわち、解錠信号に含まれるセキュリティキーが共有設定テーブルに登録されたセキュリティキーと一致しない場合、制御部13は、セキュリティフォルダの共有サービスの有効化を禁止する。
[1−4−8.共有状態テーブルの具体例]
ここで、図11を参照しながら、図10に示すステップS1325における共有状態テーブルの具体例について説明する。図11は、実施の形態1に係る共有状態テーブル60の一例を示す図である。
図11に示すように、共有状態テーブル60は、共有名61と、IPアドレス62と、ユーザID63とを含む。
共有名61には、解錠信号に含まれるセキュリティキーに対応するセキュリティフォルダ、すなわち、共有サービスが有効化されたセキュリティフォルダの共有名が登録される。IPアドレス62には、解錠信号の送信元のIPアドレスが登録される。ユーザID63には、解錠信号に含まれるユーザIDが登録される。
例えば、ストレージ装置10が「192.168.0.1」のIPアドレスを有する端末装置20から、セキュリティキー「SF1−KEY1」を含む解錠信号を受信した場合、図11に示すように「SF1」、「192.168.0.1」及び「USER1」のレコードが共有状態テーブル60に登録される。
[1−4−9.第1表示及び第2表示の各表示例]
次に、図12を参照しながら、図8に示すステップS133における第1表示、及び、ステップS139における第2表示の各表示例について説明する。図12は、実施の形態1に係る第1表示81及び第2表示91の各表示例を示す図である。
図12の(a)に示すように、端末装置20の表示部22には、共有名「SF1」のセキュリティフォルダ71を表示するためのウィンドウ70が表示されている。例えばセキュリティフォルダ71の共有サービスが有効化された際には、第1表示81が表示部22に表示される。第1表示81は、例えば、半透明ウィンドウであり、内部に解錠された錠前を表す画像である第1アイコン82を含む。利用者は、表示部22に表示された第1アイコン82を見ることにより、セキュリティフォルダ71の共有サービスが有効化されたことを容易に把握することができる。
また、第1表示81は、カウンタ83を含む。カウンタ83は、共有サービスが有効化されているセキュリティフォルダの数を示す表示(いわゆるバッジ)である。例えば、共有サービスが有効化されているセキュリティフォルダの数が1個である場合には、カウンタ83は「1」を表示する。同様に、共有サービスが有効化されているセキュリティフォルダの数が10個である場合には、カウンタ83は「10」を表示する。利用者は、このカウンタ83を見ることにより、共有サービスが有効化されているセキュリティフォルダの数を容易に把握することができる。なお、このカウンタ83は必須ではなく、省略してもよい。
さらに、第1表示81は、施錠ボタン84を含む。施錠ボタン84は、セキュリティフォルダをロックする(すなわち、セキュリティフォルダの共有サービスを無効化する)ためのボタンである。端末装置20の制御部24は、施錠ボタン84に対する入力部23による操作(例えば左クリック)が検出された際に、施錠信号をストレージ装置10に送信する。なお、例えば共有サービスが有効化されているセキュリティフォルダが複数存在する場合には、上記操作によって、全てのセキュリティフォルダの共有サービスが一括して無効化される。
図12の(b)に示すように、セキュリティフォルダ71の共有サービスが無効化された際には、第1表示81が第2表示91に変更される。第2表示91は、例えば半透明ウィンドウであり、施錠された錠前を表す画像である第2アイコン92を含む。利用者は、表示部22に表示された第2アイコン92を見ることにより、セキュリティフォルダ71の共有サービスが無効化されたことを容易に把握することができる。
また、第2表示91は、カウンタ93を含む。カウンタ93は、上述したカウンタ83と同様に、共有サービスが有効化されているセキュリティフォルダの数を示す表示(いわゆるバッジ)である。共有サービスが有効化されているセキュリティフォルダの数が0個である場合、カウンタ93は「0」を表示する。この場合も、カウンタ93は必須ではなく、省略してもよい。
さらに、第2表示91は、文字表示94を含む。この文字表示94は、セキュリティフォルダがロックされた(すなわち、セキュリティフォルダの共有サービスが無効化された)ことを示す文字表示である。なお、この文字表示94をボタンとし、文字表示94に対する入力部23による操作(例えば左クリック)によりセキュリティフォルダを再解錠するようにしてもよい。
[1−4−10.ファイル操作処理]
次に、図13を参照しながら、図8に示すステップS134におけるセキュリティフォルダ内のファイルの操作処理について具体的に説明する。図13は、実施の形態1に係るストレージ装置10によるファイル操作処理を示すフローチャートである。
図13に示すように、ストレージ装置10の制御部13は、ファイル操作信号からセキュリティフォルダの共有名、ユーザID及び送信元のIPアドレスを取得する(S1341)。制御部13は、共有状態テーブルを参照することにより、取得した共有名が、取得したユーザID及びIPアドレスに対応付けて登録されているか否かを判定する(S1342)。すなわち、制御部13は、セキュリティフォルダの共有サービスが有効化されているか否か、及び、ファイル操作信号の送信元の端末装置20が解錠信号の送信元の端末装置20と一致するか否かを判定する。
ここで、共有名がユーザID及びIPアドレスに対応付けられて登録されている場合(S1342でYes)、制御部13は、利用者のアクセス権限に基づいて、ファイル操作信号に対応するファイル操作を行い、操作結果に対応する応答信号を端末装置20に送信する(S1343)。すなわち、制御部13は、ファイル操作信号の送信元の端末装置20が解錠信号の送信元の端末装置20と一致する場合に、ファイル操作信号に対応するファイル操作を許可する。
一方、共有名がユーザID及びIPアドレスに対応付けられていない場合(S1342でNo)、制御部13は、エラー応答を端末装置20に送信する(S1344)。すなわち、制御部13は、ファイル操作信号の送信元の端末装置20が解錠信号の送信元の端末装置20と一致しない場合に、ファイル操作信号に対応するファイル操作を禁止する。
例えば、図11に示す共有状態テーブル60では、IPアドレス「192.168.0.1」を有する端末装置におけるユーザID「USER1」の利用者から「SF1」のセキュリティフォルダ内のファイルに対するファイル操作信号が送信された場合に、当該ファイル操作信号に対応するファイル操作が許可される。
一方、IPアドレス「192.168.0.1」を有する端末装置におけるユーザID「USER2」の利用者から「SF1」のセキュリティフォルダ内のファイルに対するファイル操作信号が送信された場合に、当該ファイル操作信号に対応するファイル操作が禁止される。すなわち、解錠信号を送信した利用者とは異なる利用者からファイル操作信号が送信されれば、そのファイル操作信号に対応するファイル操作は禁止される。
また、IPアドレス「192.168.0.2」を有する端末装置20におけるユーザID「USER2」の利用者から「SF1」のセキュリティフォルダに対するファイル操作信号が送信された場合に、当該ファイル操作信号に対応する操作が禁止される。すなわち、解錠信号の送信元の端末装置20と異なる端末装置からファイル操作信号が送信されれば、そのファイル操作信号に対応するファイル操作は禁止される。
[1−5.効果]
以上のように、本実施の形態では、セキュリティフォルダの共有サービスが有効化された際には、第1表示81が表示部22に表示される。利用者は、表示部22における第1表示81の表示の有無を確認することにより、セキュリティフォルダの共有サービスが有効化されているか否かを容易に把握することができる。
(実施の形態2)
[2−1.ファイル共有システムの動作]
次に、図14を参照しながら、実施の形態2に係るファイル共有システム100A(図2参照)の動作について説明する。図14は、実施の形態2に係るファイル共有システム100Aにおけるセキュリティフォルダへのアクセス処理の成功例を示すシーケンス図である。なお、本実施の形態では、上記実施の形態1と実質的に同一の構成又は処理には同一の符号又はステップ番号を付し、説明を省略する。
図14に示すように、まず、上記実施の形態1と同様に、ステップS131〜S138が実行される。その後、端末装置20A(図2参照)の制御部24Aは、ストレージ装置10(図2参照)から送信された応答信号に基づいて、表示部22に表示されている第1表示を非表示にする(S151)。すなわち、本実施の形態では、セキュリティフォルダの共有サービスが無効化された際に、第1表示を第2表示に変化させることなく非表示にする点が上記実施の形態1と異なる。
利用者は、表示部22に表示されている第1表示が非表示になったことを確認することにより、セキュリティフォルダの共有サービスが無効化されたことを容易に把握することができる。
[2−2.第1表示の表示例]
次に、図15を参照しながら、図14に示すステップS133における第1表示の表示例について説明する。図15は、実施の形態2に係る第1表示81Aa,81Abの表示例を示す図である。
図15の(a)に示すように、端末装置20Aの表示部22には、共有名「SF1」のセキュリティフォルダ71と、共有名「SF2」のセキュリティフォルダ72とがウィンドウ70に表示されている。例えばセキュリティフォルダ71,72の共有サービスが有効化された際には、第1表示81Aa,81Abが表示部22に表示される。
第1表示81Aa,81Abはそれぞれ、セキュリティフォルダ71,72に対応して表示される。上記実施の形態1と同様に、第1表示81Aa,81Abはそれぞれ、第1アイコン82a,82bを含む。
第1表示81Aaは、セキュリティフォルダ71に対応していることを示す共有名表示85aを含む。共有名表示85aは、例えば「SF1」という文字列である。また、第1表示81Abは、セキュリティフォルダ72に対応していることを示す共有名表示85bを含む。共有名表示85bは、例えば「SF2」という文字列である。利用者は、共有名表示85a,85bを見ることにより、どのセキュリティフォルダの共有サービスが有効化されているのかを把握することができる。
さらに、上記実施の形態1と同様に、第1表示81Aa,81Abはそれぞれ、施錠ボタン84a,84bを含む。利用者が施錠ボタン84a,84bに対して入力部23による操作(例えば左クリック)を実行することにより、セキュリティフォルダ71,72の共有サービスを個別に無効化することができる。
図12の(b)に示すように、例えばセキュリティフォルダ72の共有サービスが無効化された際には、セキュリティフォルダ72に対応する第1表示81Abが非表示となる。
[2−3.効果]
以上のように、本実施の形態では、例えばセキュリティフォルダ71,72毎に第1表示81Aa,81Abが表示部22に表示される。これにより、利用者は、例えばセキュリティフォルダ71,72毎に、共有サービスが有効化されているか否かを容易に把握することができる。
(他の変形例等)
以上、本発明の端末装置、データ共有システム及びデータ共有方法について、実施の形態1及び2に基づいて説明したが、本発明は、上記各実施の形態に限定されるものではない。上記各実施の形態に対して当業者が思い付く変形を施して得られる形態、及び、上記各実施の形態における構成要素を任意に組み合わせて実現される別の形態も本発明に含まれる。
上記各実施の形態では、セキュリティフォルダの共有サービスが有効化された際に、アイコン及び文字列を含む第1表示81(81Aa,81Ab)を表示部22に表示させたが、アイコン及び文字列のいずれか一方のみを含んでもよい。また、第1表示81(81Aa,81Ab)の表示形態として、ウィンドウの他に、例えばデスクトップガジェットを使用することもできる。さらに、第1表示81(81Aa,81Ab)の表示場所は、デスクトップだけでなく、例えばタスクバー中であってもよい。
また、例えば、上記各実施の形態におけるファイル共有システム100(100A)のハードウェア構成は一例であり、これに限定されない。例えば、上記各実施の形態では、ネットワークがLANである場合について説明したが、ネットワークはこれに限定されない。ネットワークは、コンピュータネットワークであればどのようなネットワークであってもよく、例えばWAN(Wide Area Network)又はインターネットであってもよい。また、上記各実施の形態では、NAS10aがストレージ装置10として機能している例を説明したが、他の機器がストレージ装置10として機能してもよい。例えば複合機(MFP:Multi Function Peripheral)、ルータ、又は、ファイルサーバも、ストレージ装置10として機能することができる。
また、上記各実施の形態では、NAS10aは、有線LANモジュール11a及び無線LANモジュール11bの2つの通信モジュールを備えていたが、これに限定されない。例えば、NAS10aは、有線LANモジュール11a及び無線LANモジュール11bのうちの一方のみを備えてもよい。また、NAS10aは、SoC13aの代わりに汎用プロセッサを備えてもよい。
また、上記各実施の形態では、NAS10aは、RAIDモジュール12dを備えていたが、RAIDモジュール12dを備えなくてもよい。NAS10aは、ストレージに対して要求される容量、信頼性及び速度等に応じてRAIDモジュール12dを備えればよい。
また、上記各実施の形態では、NAS10aは、複数のHDD12a,12bとSDカード12eとを備えていたが、これに限られない。NAS10aは、例えば、複数のHDD12a,12b及びSDカード12eの代わりに、SSD(Solid State Drive)を備えてもよい。
なお、上記各実施の形態では、セキュリティフォルダの共有サービスの有効化処理において、解錠信号に含まれるセキュリティキーに基づいて共有サービスを有効化する否かが判定されていたが、ユーザ識別子による判定も行ってもよい。すなわち、図10において、ステップS1322においてセキュリティキーが共有設定テーブルに登録されていれば(S1322でYes)、その後、解錠信号に含まれるユーザ識別子が、共有設定テーブルに登録されているユーザ識別子と一致するか否かを判定し、一致する場合にはステップS1323の処理に進み、ステップS1323においてセキュリティフォルダの共有サービスが有効化されてもよい。
なお、上記各実施の形態では、端末装置20(20A)からファイル操作信号を受信した場合に、共有名、ユーザID及びIPアドレスが共有状態テーブルに登録されているか否かが判定されていたが、この判定はなくてもよい。すなわち、ファイル操作信号の送信元の端末装置20(20A)が解錠信号の送信元の端末装置20(20A)と一致するか否かは判定されなくてもよい。さらに、ファイル操作信号の利用者が解錠信号の利用者と一致するか否かの判定もされなくてもよい。具体的には、例えば図13において、ステップS1342はスキップされてもよい。この場合、ファイル操作信号を受信した場合に、ステップS1343において利用者のアクセス権限に基づいて、ファイル操作信号に対応するファイル操作が行われればよい。したがって、共有状態テーブルは記憶されなくてもよい。
なお、上記各実施の形態において、端末装置20(20A)を識別するためにIPアドレスが用いられていたが、これに限られない。IPアドレスの代わりに、例えばMAC(Media Access Control address)アドレス又はホスト名等が用いられてもよい。
なお、上記各実施の形態では、ストレージ装置は、フォルダ単位で共有サービスを提供していたが、これに限られない。ストレージ装置は、ファイル単位で共有サービスを提供してもよい。
なお、上記各実施の形態では、施錠信号が受信された場合に、施錠信号を送信したユーザに提供されていたすべてのセキュリティフォルダの共有サービスが無効化されていたが、セキュリティフォルダ、ユーザ若しくは端末装置20(20A)、又は、これらの任意の組合せ毎に共有サービスが無効化されてもよい。この場合、例えば、施錠信号に含まれる共有名及びユーザID、送信元のIPアドレスの組み合わせが共有状態テーブルに登録されている場合に、対応するセキュリティフォルダの共有サービスが無効化されればよい。
なお、上記各実施の形態では、解錠信号の送信画面等の各種画面について説明したが、これらの画面は一例であり、これに限定されない。例えば、図4の共有フォルダの登録画面に、隠しフォルダの設定のためのウィジェット33は含まれなくてもよい。
なお、上記各実施の形態では、ストレージ装置10は、通常の共有フォルダとセキュリティフォルダとの両方のフォルダの共有サービスを提供していたが、セキュリティフォルダの共有サービスのみを提供してもよい。この場合、図4及び図5等において、通常の共有フォルダの設定は含まれなくてもよい。
また、本発明の一態様は、このようなストレージ装置10だけではなく、ストレージ装置10に含まれる特徴的な構成部をステップとするファイル共有方法であってもよい。また、本発明の一態様は、ファイル共有方法に含まれる特徴的な各ステップをコンピュータに実行させるコンピュータプログラムであってもよい。また、本発明の一態様は、そのようなコンピュータプログラムが記録された、コンピュータ読み取り可能な非一時的な記録媒体であってもよい。
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態のストレージ装置などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、ファイルを格納するストレージ装置と、前記ストレージ装置とネットワークを介して接続された端末装置と、を備えるファイル共有システムにおけるファイル共有方法であって、前記端末装置が、前記ファイルの前記ネットワーク上での共有サービスを有効化することを要求するための解錠信号を前記ストレージ装置に送信するステップと、前記ストレージ装置が、前記解錠信号に対する応答である第1応答信号を前記端末装置に送信するステップと、前記端末装置が、前記第1応答信号に基づいて、前記ファイルの前記ネットワーク上での共有サービスが有効化されたことを示す表示を前記端末装置の表示部に表示させるステップと、を実行させる。