[第1実施例]
図1はこの発明の情報処理システム10の構成の一例を示す図である。
図1を参照して、この発明の第1実施例である情報処理システム10は、情報処理装置の一例であるサーバ12および複数のユーザ端末14を含む。サーバ12は、複数のユーザ端末14の各々と、インターネットのようなネットワーク16を介して通信可能に接続される。この第1実施例の情報処理システム10では、二台以上のユーザ端末14がネットワーク16に接続される。
図2は図1に示すサーバ12の電気的な構成を示すブロック図である。図2に示すように、サーバ12は、汎用のサーバであり、CPU20を含む。CPU20には、バス22を介して、RAM24、HDD26および通信回路28が接続される。
CPU20は、サーバ12の全体的な制御を司る。RAM24は、CPU20のワーク領域およびバッファ領域として用いられる。HDD26は、サーバ12の主記憶装置である。ただし、HDD26に代えて、SSD、フラッシュメモリ、EEPROMなどの他の不揮発性メモリを用いてもよい。
通信回路28は、インターネットなどのネットワーク(この第1実施例では、ネットワーク16)に接続するための通信回路である。この通信回路28は、有線または無線でネットワーク16に接続し、CPU20からの指示に従って、ネットワーク16を介して、ユーザ端末14などの外部のコンピュータと通信する。つまり、サーバ12は、ユーザ端末14と通信可能に接続される。
また、図1に示したユーザ端末14は、ユーザが使用する汎用のコンピュータ(端末)である。ユーザ端末14は、一例として、タブレットPCであるが、デスクトップPC、ノート(ラップトップ)PCおよびスマートフォンなどの各種の情報機器ないし電子機器をユーザ端末14として用いることもできる。
図3は図1に示すユーザ端末14の電気的な構成を示すブロック図である。ただし、図3に示すユーザ端末14の電気的な構成は単なる一例であり、これに限定される必要はない。また、上記のサーバ12で説明したコンポーネントと同じコンポーネントについては簡単に説明することにする。
図3を参照して、第1実施例のユーザ端末14はCPU40を含む。CPU40には、バス42を介して、RAM44、タッチパネル制御回路46、表示制御回路48、HDD54および通信回路56が接続される。また、タッチパネル制御回路46にはタッチパネル50が接続され、表示制御回路48にはディスプレイ52が接続される。ディスプレイ52は、たとえばLCDであり、タッチパネル50は、ディスプレイ52の表示面上に設けられても良いし、ディスプレイ52とは別に設けられてもよい。ただし、タッチパネル50がディスプレイ52と一体的に形成されたタッチディスプレイが設けられてもよい。なお、ディスプレイ52としては、有機ELを用いることもできる。
CPU40は、ユーザ端末14の全体的な制御を司る。RAM44は、CPU40のワーク領域およびバッファ領域として用いられる。通信回路56は、有線または無線でネットワーク16に接続するための通信回路である。この通信回路56は、CPU40からの指示に従って、ネットワーク16を介して、サーバ12および他のユーザ端末14などの外部のコンピュータと通信する。
タッチパネル制御回路46は、タッチパネル50に必要な電圧などを付与するとともに、タッチパネル50のタッチ有効範囲内でのタッチ操作(タッチ入力)を検出されると、そのタッチ入力の位置を示すタッチ座標データをCPU40に出力する。タッチパネル50は、静電容量方式などの任意の方式のタッチパネルである。
表示制御回路48は、GPUおよびVRAMなどを含んでおり、CPU40の指示の下、GPUは、RAM44に記憶された画像生成データ324a(図9参照)を用いて、各種の画面(図4〜図6など)を表示するための画面データをVRAMに生成し、生成した画面データをディスプレイ52に出力する。HDD54は、ユーザ端末14の主記憶装置である。
このような構成の情報処理システム10は、ファイル共有システムとして機能し、サーバ12は、登録されたユーザの情報(ユーザ情報)を管理するとともに、登録されたユーザの操作に従って、データ(ファイル)をHDD26に記憶(アップロードまたはバックアップ)し、または、登録されたユーザの操作に従って、データをHDD26から読み出す(ダウンロード)などの処理(管理)を行う。
なお、この第1実施例で示されるデータの種類は限定される必要は無く、文書データ、表データ、画像(映像)データ、音データなどの種々のデータを記憶等することができる。
たとえば、ユーザ端末14は、ユーザの操作を受け付けて、サーバ12へのアクセスを要求するアクセス要求をサーバ12に送信する。サーバ12は、ユーザ端末14からのアクセス要求を受け付けると、受け付けたアクセス要求に基づいて、当該ユーザ端末14からのアクセスの許否を判定する。つまり、アクセス要求を送信したユーザ端末14のユーザが登録されたユーザであるかどうかを認証(ユーザ認証)する。サーバ12は、ユーザ認証の結果、アクセス要求の要求元のユーザ端末14のユーザが登録されたユーザであると判断した場合(認証に成功した場合)には、アクセスを許可し、当該要求元の要求に基づいて、データの記憶場所(記憶領域)の確保、確保された記憶領域へのデータの記憶、または、当該記憶領域からのデータの読み出し等を行う。たとえば、この第1実施例では、登録されたユーザの各々に対応する記憶領域はHDD26に確保(作成)され、記憶領域はフォルダ(分割領域に相当)で管理される。また、各フォルダは、登録されたユーザに割り当てられるユーザID(図7参照)に関連付けられて管理される。
また、サーバ12は、ユーザ端末14から特定のURLを要求するアクセス要求を受け付けたときは、URLに対応する記憶領域へのアクセスを許可し、要求元の要求に基づいて、当該記憶領域へのデータの記憶または当該記憶領域からのデータの読み出し等を行う。
たとえば、このような情報処理システム10(ファイル共有システム)では、登録されたユーザがデータの共有を指示すると、サーバ12によって、当該データをダウンロードするためのリンク(URL)が生成され、当該ユーザが生成されたリンクを取得して、データを共有する他のユーザに電子メールまたはSNS(social networking service)などで取得したリンクを通知したり、データを共有する他のユーザの宛先に当該リンクを含む電子メールをサーバ12から送信して当該リンクを通知したりする。
他のユーザは、自身のユーザ端末14を用いて、通知されたリンク(URL)に従ってサーバ12にアクセスすることにより、URLで指定されたデータを読み出す(ダウンロードする)ことができる。この他のユーザが、サーバ12に登録されたユーザであれば、ダウンロードしたデータを自身のフォルダに記憶(アップロード)することもできる。
このように、データを共有することができるが、上記のように、データを共有する他のユーザは、サーバ12に登録されたユーザであっても、サーバ12からデータを一旦ダウンロードし、その後、データをアップロードする必要がある。つまり、他のユーザは、ユーザ端末14を用いてサーバ12との間でデータを送受信する必要がある。このため、送受信されるデータのデータ量が多くなり、通信効率が悪い。また、データは、ネットワーク16を介して、サーバ12とユーザ端末14の間で送受信されるため、セキュリティ上の問題もある。
そこで、この第1実施例の情報処理システム10では、このような不都合を回避するために、サーバ12に登録されたユーザ同士でデータを共有する場合には、データを共有する各ユーザに対して作成されたフォルダ間でデータを送受信するようにしてある。
以下、具体的に説明するが、サーバ12に登録されていない他のユーザとの間でデータを共有する場合には、従来のように、当該データをダウンロードするためのリンク(URL)が生成され、電子メール等によって直接的にまたは間接的に他のユーザにリンクが通知される。そして、他のユーザは、当該リンクに従ってサーバ12にアクセスし、データを取得(ダウンロード)する。第1実施例においては、これ以降、登録されていない他のユーザについての説明は省略する。
また、登録されたユーザについては、対応する記憶領域(フォルダ)が既にHDD26に確保(作成)されているものとする。
ここでは、データの共有を設定する共有元のユーザをユーザAと呼び、共有されるデータのコピー(複製)を取得するコピー先(共有先)のユーザをユーザBと呼ぶ。
ユーザAが自身のユーザ端末14を用いてサーバ12にアクセスする場合には、ユーザ端末14のディスプレイ52にログイン画面(図示せず)が表示される。ログイン画面は、サーバ12にログインするためのID(ログインID)およびパスワードを入力するための画面である。このログイン画面の画像データは、一例として、ユーザ端末14に記憶されているものとするが、アクセス(ログイン)の要求に応じて、サーバ12からユーザ端末14に送信されてもよい。
ユーザAがログイン画面でログインIDおよびパスワードを入力すると、それらのデータがユーザ端末14からサーバ12に送信される。サーバ12は、ログインIDおよびパスワードのデータを受信すると、上述したように、ユーザ認証を行う。ここでは、サーバ12は、HDD26に記憶されたユーザ情報のテーブル(図7参照)を参照して、ログインIDおよびパスワードの組み合わせが正しいかどうかを判断する。
ログインIDおよびパスワードの組み合わせが正しく無い場合には、ユーザ認証は失敗であり、ユーザ端末14はサーバ12にログインできない。一方、ログインIDおよびパスワードの組み合わせが正しい場合には、ユーザ認証は成功であり、ユーザA(ユーザ端末14)はサーバ12にログインできる。
図4(A)はユーザについての管理画面100の一例を示す図解図であり、図4(B)は処理選択画面120の一例を示す図解図である。図5は宛先設定画面150の一例を示す図解図である。
ユーザAがサーバ12にログインすると、図4(A)に示すように、当該ユーザAについての管理画面100がユーザ端末14のディスプレイ52に表示される。ただし、ユーザAについての管理画面100の画像データはサーバ12からユーザ端末14に送信される。ユーザAについての管理画面100は、ユーザAに対応するフォルダの内容を表示するとともに、データを当該フォルダに記憶したり、データを当該フォルダから読み出したり、データを共有したりするための操作を行うための画面である。
図4(A)に示す管理画面100の例では、左上にユーザAのフォルダであることを示す文字列(後述するユーザID)が表示され、その下方に、選択中のデータないしフォルダの名称を表示するための表示枠が表示され、さらに下方に、ユーザAのフォルダ内のデータを示す画像およびファイル名と、下階層のフォルダを示す画像およびフォルダ名が表示される。
なお、図示は省略するが、下階層のフォルダが指示(選択)された場合には、当該下階層のフォルダ内のデータ(フォルダ)ついての画像およびファイル名(フォルダ名)がツリー構造で表示される。
管理画面100において、ユーザAが所望のデータを選択し、当該所望のデータを他のユーザと共有することを選択(指示)すると、図4(B)に示すような処理選択画面120がディスプレイ52に表示される。図4(B)に示す例では、管理画面100の前面に処理選択画面120が表示される例を示してあるが、管理画面100に代えて処理選択画面120が表示されてもよい。
なお、図4(B)では、図4(A)に示す管理画面100において、ファイル名が「売上報告.aaa」であるデータが共有することを選択された例を示してある。
処理選択画面120には、アイコン122aおよびアイコン122bが表示される。アイコン122aは、選択されたデータを他のユーザにダウンロードさせるために設けられる。アイコン122bは、選択されたデータを他のユーザと共有するために設けられる。
たとえば、アイコン122bが選択(オン)されると、図5に示すように、データを共有する他のユーザに、データを共有することを通知する電子メールを送信するための宛先を設定(入力)するための画面(宛先設定画面)150をディスプレイ52に表示する。たとえば、この宛先設定画面150の画像データはサーバ12から送信されるが、ユーザ端末14に記憶されていてもよい。
宛先設定画面150には、選択されたデータのファイル名が表示され、画面中央に宛先の入力欄154aおよびメッセージの入力欄154bが表示される。入力欄154aには、データを共有する所望の他のユーザに設定された電子メールアドレスが入力される。ただし、他のユーザは、複数人でもよい。かかる場合には、複数の電子メールアドレスが入力欄154aに入力される。入力欄154bには、データを共有する所望の他のユーザへのメッセージを入力することができる。
また、宛先設定画面150には、入力欄154bの下方に、アイコン154cが表示される。アイコン154cは、上記の電子メールを送信するために設けられる。アイコン154cが選択(オン)されると、宛先毎にリンク(URL)が生成され、生成された電子メールの本文に貼り付けられる。この第1実施例では、リンク(URL)は、共有するデータの記憶場所(フォルダ)およびコピー先のフォルダを示す情報などの共有情報を含む。
なお、サーバ12は、電子メールを作成すると、図示しないメールサーバに電子メールを送信し、このメールサーバから宛先の電子メールアドレスが設定されたユーザ端末14に電子メールが送信される。または、サーバ12がメールサーバとしても機能する場合には、サーバ12から宛先の電子メールアドレスが設定されたユーザ端末14に作成された電子メールが送信される。
図6(A)は上記の電子メールを受信したユーザ端末14のディスプレイ52に表示される画面(以下、「共有通知画面」という)200の一例を示す図解図である。この共有通知画面200は、上記の電子メールの本文であり、ユーザAが入力したコメントは省略してある。共有通知画面200には、ユーザAがデータ(ファイル)を共有することを設定したこと、ユーザAが共有することを設定したデータ(ファイル)のファイル名、共有することを設定したデータ(ファイル)を自身(ユーザB)のフォルダにコピーするためのリンク(URL)202(共有指示情報に相当)、当該データを共有(コピー)する場合には当該リンク202をクリック(選択)する必要があることおよびリンクの有効期限が表示される。
ただし、リンク(URL)は、サーバ12によって生成され、電子メールの本文に貼り付けられる。また、リンクの有効期限は設定されなくてもよい。かかる場合には、リンクの有効期限は、共有通知画面200には表示されない。
たとえば、ユーザBがリンク202をクリックすると、当該リンク202に従ってサーバ12に共有(コピー)の指示(複製指示情報に相当)が送信される。ただし、コピーが指示されるとともに、コピー元のデータおよびフォルダが指示(指定)され、コピー先のフォルダも指示(指定)される。
なお、有効期限を過ぎている場合には、リンク202がクリックされても、サーバ12に共有の指示が送信されない、または、サーバ12に共有の指示が送信されてもデータの共有(コピー)が実行されない。
リンク202に従ってデータのコピーが完了すると、サーバ12は、共有を指示したユーザ端末14にコピー完了を通知する。すると、ユーザ端末14のディスプレイ52には、図6(B)に示すようなコピー完了画面250が表示される。コピー完了画面250には、ユーザAが共有することを設定したデータの共有(コピー)が完了したこと、データのファイル名、コピー先のフォルダ名およびユーザBが使用可能なHDD26(ストレージ)の記憶容量(残り容量)が表示される。
詳細な説明は省略するが、第1実施例では、データを共有する他のユーザを指定するだけであるため、コピー先のフォルダは所定のフォルダ(Guest Folder)に設定される。
ただし、図示は省略するが、管理画面100には、サーバ12からログアウト(サーバ12へのアクセスを終了)するための指示を入力するアイコン(ログアウトアイコン)が表示される。たとえば、ログアウトアイコンが選択(オン)されると、ユーザ端末14のディスプレイ52にログアウト画面(図示せず)が表示される。ログアウト画面は、ログアウトを実行するかどうかをユーザ(ここでは、ユーザA)に選択させるための画面である。たとえば、ログアウト画面には、実際にログアウトするためのアイコン(OKアイコン)と、ログアウトせずに管理画面100に戻るためのアイコン(キャンセルアイコン)とが表示される。
ログアウト画面において、OKアイコンが選択(オン)されると、ユーザ端末14(ユーザA)はサーバ12からログアウトする。ただし、ユーザ端末14(ユーザA)がサーバ12からログアウトするときに、ユーザ端末14から、サーバ12へのアクセスを終了する指示(終了指示)がサーバ12に送信される。なお、ログアウトされた場合に限られず、ユーザAが管理画面100を閉じた場合などにも、ユーザ端末14からサーバ12に終了指示が送信される。
図7は上述したユーザ情報のテーブルの一例を示す図解図である。このユーザ情報のテーブルのデータは、HDD26に記憶され、管理される。図7に示すように、ユーザ情報は、ユーザIDを含み、ユーザIDに対応して、メールアドレス、ログインIDおよびパスワードが記述される。
ユーザIDは、サーバ12に登録されたユーザを個別に識別するための識別情報である。図7に示す例では、三つのアルファベットで示してあるが、これに限定される必要はなく、ユーザの名称でもよい。メールアドレスは、ユーザに設定された電子メールアドレスである。たとえば、電子メールアドレスは、共有通知の電子メールの宛先が入力されたときに、登録されたユーザであるかどうかを判断するために記憶される。ログインIDおよびパスワードは、ユーザ認証を実行するために用いられ、サーバ12に登録されたユーザのそれぞれに割り当てられる。たとえば、ログインIDおよびパスワードは、サーバ12の管理者または運営者等によって発行され、登録されたユーザに通知される。図7に示す例では、ログインIDを三つの数字または英数字を用いて示すとともに、パスワードを六つの記号を用いて示してあるが、これに限定される必要はなく、適宜変更可能である。
図示は省略するが、HDD26には、サーバ12に登録されたユーザの各々に対応するフォルダ(記憶領域)が設けられ、このフォルダと対応するユーザのユーザ情報とがユーザIDで関連付けられている。
情報処理システム10の上記のような動作は、サーバ12のCPU20がRAM24に記憶されたサーバ12用の情報処理プログラム(サーバ側情報処理)を実行し、また、ユーザ端末14のCPU40がRAM44に記憶されたユーザ端末14用の情報処理プログラム(端末側情報処理)を実行することによって実現される。具体的な処理については、後でフロー図を用いて説明する。
図8は図2に示すサーバ12のRAM24のメモリマップ300の一例を示す図解図である。図8に示すように、RAM24は、プログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、上述したように、サーバ12用の情報処理プログラムが記憶される。このサーバ12用の情報処理プログラムは、通信プログラム302a、ユーザ情報管理プログラム302b、データ管理プログラム302c、共有プログラム302d、通知プログラム302eおよび複製プログラム302fなどを含む。
通信プログラム302aは、ネットワーク16を介して、または、ネットワーク16を介さずに直接、ユーザ端末14等の外部のコンピュータと通信(データを送受信)するためのプログラムである。
ユーザ情報管理プログラム302bは、サーバ12に登録されたユーザについてのユーザ情報を管理するためのプログラムである。ユーザがサーバ12に登録されると、当該ユーザについての情報をユーザ情報のテーブルに追加し、ユーザが登録を解除すると、当該ユーザについての情報をユーザ情報のテーブルから消去する。
データ管理プログラム302cは、情報処理システム10を利用するユーザ毎に作成されたフォルダを管理するためのプログラムである。たとえば、データ管理プログラム302cは、新たなユーザがサーバ12に登録された場合に、この新たなユーザが使用する(ユーザに対応する)フォルダを作成したり、ユーザが登録を解除した場合に、このユーザに対応するフォルダを削除したり、ユーザに対応するフォルダにデータを記憶したり、当該フォルダからデータを読み出したりするためのプログラムである。
共有プログラム302dは、共有元のユーザが操作するユーザ端末14からデータを共有する指示があった場合に、当該データを共有するためのリンク202を生成するとともに、生成したリンクを含む電子メールを生成するためのプログラムである。
通知プログラム302eは、共有プログラム302dに従って生成された電子メールを宛先のユーザ端末14に送信するためのプログラムである。ただし、電子メールを送信するときには、通信プログラム302aが実行される。
複製プログラム302fは、コピー先(共有先)のユーザが操作するユーザ端末14からリンク202に従ってコピーの指示があった場合に、コピーの指示が示す共有元のユーザのフォルダに記憶されたデータのコピーを、コピーの指示が示すコピー先のユーザのフォルダ(この第1実施例では、Guest Folder)に記憶するためのプログラムである。
なお、図示は省略するが、プログラム記憶領域302には、ユーザ認証を行うためのプログラム等も記憶される。
また、RAM24のデータ記憶領域304には、テーブルデータ304aなどが記憶される。テーブルデータ304aは、図7に示したようなユーザ情報のテーブルについてのデータであり、必要に応じて、HDD26からRAM24に読み込まれる。
なお、図示は省略するが、データ記憶領域304には、サーバ12用の情報処理プログラムの実行に必要な他のデータが記憶されたり、サーバ12用の情報処理プログラムの実行に必要なタイマ(カウンタ)やレジスタが設けられたりする。
図9は図3に示すユーザ端末14のRAM44のメモリマップ400の一例を示す図解図である。図9に示すように、RAM44は、プログラム記憶領域402およびデータ記憶領域404を含む。プログラム記憶領域402には、上述したように、ユーザ端末14用の情報処理プログラムが記憶される。このユーザ端末14用の情報処理プログラムは、通信プログラム402a、表示プログラム402b、操作検出プログラム402c、共有設定プログラム402d、宛先設定プログラム402e、送受信プログラム402fおよび複製指示プログラム402gを含む。
通信プログラム402aは、ネットワーク16を介して、または、ネットワーク16を介さずに直接、サーバ12等の外部のコンピュータと通信するためのプログラムである。
表示プログラム402bは、後述する画像生成データ404aを用いて、ディスプレイ52に表示する各種の画面(管理画面100、処理選択画面120、宛先設定画面150、共有通知画面200、コピー完了画面250など)に対応する表示画像データを生成し、ディスプレイ52に出力するためのプログラムである。
操作検出プログラム402cは、タッチパネル制御回路46から出力されるタッチ座標データを取得して、ディスプレイ52に表示されるメニュー画面などの各種の画面に含まれる各種アイコンなどが操作されたことを検出するためのプログラムである。また、タッチパネル50以外の入力装置が設けられる場合には、操作検出プログラム402cは、当該入力装置を操作したことを検出するためのプログラムでもある。
共有設定プログラム402dは、ユーザの操作に従って選択されたデータを、他のユーザとの間で共有することを設定するためのプログラムである。
宛先設定プログラム402eは、ユーザの操作に従って、データのコピー先すなわちデータを共有したことを通知する他(宛先)のユーザの電子メールアドレスを設定するためのプログラムである。
送受信プログラム402fは、ログインIDおよびパスワードなどを含む各種のデータをサーバ12に送信するとともに、サーバ12から送信された各種のデータを受信するためのプログラムである。ただし、データを送受信する場合には、通信プログラム402aに従って通信処理が実行される。
複製指示プログラム402gは、リンク202に従って、データのコピーをサーバ12に指示するためのプログラムである。ただし、データのコピーをサーバ12に指示するときには、通信プログラム402aに従って通知処理が実行される。
なお、図示は省略するが、プログラム記憶領域402には、他のアプリケーションプログラムおよび音出力プログラムなどのプログラムも記憶される。
また、RAM44のデータ記憶領域404には、画像生成データ404aなどが記憶される。
画像生成データ404aは、ディスプレイ52に表示する各種の画面に対応する表示画像データを生成するためのポリゴンデータまたはテクスチャデータ等のデータである。
なお、図示は省略するが、データ記憶領域404には、タッチパネル50からの操作データなど、ユーザ端末14用の情報処理プログラムの実行に必要な他のデータが記憶されたり、ユーザ端末14用の情報処理プログラムの実行に必要なタイマ(カウンタ)やレジスタが設けられたりする。
図10は、図2に示したサーバ12のCPU20のサーバ側情報処理の一例を示すフロー図である。ユーザ端末14との間で通信接続されると、図10に示すように、サーバ12のCPU20は、サーバ側情報処理を開始し、ステップS1で、コピー指示があるかどうかを判断する。つまり、通信接続されたユーザ端末14からコピー指示が送信されたかどうかを判断する。
ステップS1で“YES”であれば、つまり、コピー指示が有れば、ステップS3で、指定されたデータをコピーして、指定のフォルダに記憶する。つまり、データがユーザ間で共有される。次のステップS5では、コピー完了画面の画像データをコピー指示の送信元のユーザ端末14に送信して、サーバ側情報処理を終了する。
一方、ステップS1で“NO”であれば、つまり、コピー指示が無ければ、ステップS7で、ユーザ認証を行う。ここでは、CPU20は、ユーザ端末14から送信されるログインIDおよびパスワードを受信し、HDD26に記憶されるユーザ情報を参照して、登録されたユーザであるかどうかを認証する。
続いて、ステップS9では、認証成功かどうかを判断する。つまり、ユーザ認証に成功したかどうかを判断する。ステップS9で“NO”であれば、つまり、認証失敗であれば、サーバ側情報処理を終了する。ただし、ユーザ認証に失敗した場合には、ログインIDとパスワードの入力(送信)を要求するようにしてもよい。かかる場合には、ユーザ認証に数回失敗した場合に、サーバ側情報処理を終了すればよい。
一方、ステップS9で“YES”であれば、つまり、認証成功であれば、ステップS11で、図4(A)に示したような管理画面100の画像データを送付する。ただし、ここでは、ユーザ認証に成功したユーザについての管理画面100の画像データが送付される。
次のステップS13では、ユーザ端末14からデータの共有指示が有るかどうかを判断する。ステップS13で“NO”であれば、つまり、ユーザ端末14からデータの共有指示が無ければ、ステップS15で、ユーザ端末14から終了指示が有るかどうかを判断する。
ステップS15で“NO”であれば、つまり、終了指示が無ければ、ステップS11に戻る。図示は省略するが、終了指示が無い場合には、CPU20は、ユーザの指示に従ってデータを保存したり、フォルダまたはデータを閲覧したりするための処理を実行する。一方、ステップS15で“YES”であれば、つまり、終了指示があれば、サーバ側情報処理を終了する。
また、ステップS13で“YES”であれば、つまり、ユーザ端末14からデータの共有指示が有れば、ステップS17で、図5に示したような宛先設定画面150の画像データを当該ユーザ端末14に送付する。続くステップS19では、ユーザ端末14から共有の指示が有るかどうかを判断する。
ステップS19で“NO”であれば、つまり、ユーザ端末14から共有の指示が無ければ、ステップS17に戻る。一方、ステップS19で“YES”であれば、つまり、ユーザ端末14から共有の指示が有れば、ステップS21で、共有通知のメールを生成し、ステップS23で、生成した共有用のメールを送信して、サーバ側情報処理を終了する。
図11〜図13は、図3に示したユーザ端末14のCPU40の端末側情報処理のフロー図である。たとえば、ユーザがユーザ端末14を用いてデータ共有サービスのアプリケーションを起動すると、図11に示すように、CPU40は、端末側情報処理を開始し、ステップS31で、ログインかどうかを判断する。ここでは、CPU40は、ログインの指示が入力されたかどうかを判断する。
ステップS31で“NO”であれば、つまり、ログインでなければ、後述するように、図13に示すステップS57に進む。一方、ステップS31で“YES”であれば、つまり、ログインであれば、ステップS33で、ログイン画面を表示する。続くステップS35では、認証情報をサーバ12に送信する。図示は省略するが、ユーザが、認証情報、すなわち、ログインIDおよびパスワードを入力し、ログインを指示すると、認証情報がサーバ12に送信される。
続いて、ステップS37では、サーバ12から、図4(A)に示したような管理画面100の画像データを受信したかどうかを判断する。ステップS37で“NO”であれば、つまり、管理画面100の画像データを受信していなければ、同じステップS37に戻る。ただし、所定時間(30秒程度)を経過しても、管理画面100の画像データを受信しない場合には、通信エラーを通知した後に、端末側情報処理を終了してもよい。以下、サーバ12から画像データおよび通知を受信しない場合について同様である。
一方、ステップS37で“YES”であれば、つまり、管理画面100の画像データを受信すれば、ステップS39で、管理画面100をディスプレイ52に表示し、ステップS41で、共有指示が有るかどうかを判断する。ステップS41で“NO”であれば、つまり、共有指示が無ければ、ステップS43で、終了指示が有るかどうかを判断する。
ステップS43で“NO”であれば、つまり、終了指示が無ければ、ステップS39に戻る。図示は省略するが、終了指示が無い場合には、データの閲覧またはデータの保存(アップロード)指示が有ると、対応する指示がサーバ12に送信され、データの閲覧またはデータの保存が実行される。
一方、ステップS43で“YES”であれば、つまり、終了指示が有れば、ステップS45で、終了指示をサーバ12に送信して、端末側情報処理を終了する。このとき、管理画面100が非表示され、ログアウトされる。以下、端末側情報処理を終了する場合について同じである。
また、ステップS41で“YES”であれば、つまり、共有指示があれば、ステップS47で、共有指示をサーバ12に送信して、図12に示すステップS49で、サーバ12から、図5に示したような宛先設定画面150の画像データを受信したかどうかを判断する。
ステップS49で“NO”であれば、つまり、宛先設定画面150の画像データを受信していなければ、同じステップS49に戻る。一方、ステップS49で“YES”であれば、つまり、宛先設定画面150の画像データを受信すれば、ステップS51で、宛先設定画面150をディスプレイ52に表示する。
続くステップS53では、宛先の入力を完了したかどうかを判断する。ここでは、CPU40は、入力欄154aに宛先の電子メールアドレスが一つ以上入力された状態で、アイコン154cが選択されたかどうかを判断する。ステップS53で“NO”であれば、つまり、宛先の入力を完了していなければ、同じステップS53に戻る。一方、ステップS53で“YES”であれば、つまり、宛先の入力を完了すれば、ステップS55で、データの共有をサーバ12に指示して、端末側情報処理を終了する。
上述したように、ステップS31で“NO”である場合には、図13に示すステップS57で、共有通知のメールを表示する。ここでは、図5(A)に示したような共有通知画面200がディスプレイ52に表示される。続くステップS59では、リンク202が選択されたかどうかを判断する。
ステップS59で“NO”であれば、つまり、リンク202が選択されていなければ、ステップS61で、終了指示が有るかどうかを判断する。ステップS61で“NO”であれば、つまり、終了指示が無ければ、ステップS59に戻る。一方、ステップS61で“YES”であれば、つまり、終了指示が有れば、ステップS63で、終了指示をサーバ12に送信して、端末側情報処理を終了する。
一方、ステップS59で“YES”であれば、つまり、リンク202が選択されれば、ステップS65で、データのコピーをサーバ12に指示する。このとき、リンク202によって、コピーされるデータが指定されるとともに、コピー先のフォルダ(または、ユーザID)が指定される。
続くステップS67では、サーバ12からコピー完了の通知を受信したかどうかを判断する。ステップS67で“NO”であれば、つまり、サーバ12からコピー完了の通知を受信していなければ、同じステップS67に戻る。一方、ステップS67で“YES”であれば、つまり、サーバ12からコピー完了の通知を受信すれば、ステップS69で、図6(B)に示したようなコピー完了画面250をディスプレイ52に表示して、端末側情報処理を終了する。
この第1実施例によれば、ユーザ端末14からの共有指示に従ってサーバ12のHDD26に設けたフォルダに記憶されたデータのコピーを他のフォルダに記憶するので、データの実体がネットワーク16を介して送受信されることがない。このため、送受信するデータ量を少なくすることができる。よって、通信効率の向上を図ることができるとともに、安全性(セキュリティ)を向上することができる。
また、第1実施例によれば、サーバ12のHDD26内において、データをコピーするので、サーバーログを用いてコピーの履歴を追跡することができるとともに、メタデータも残すことができる。したがって、データを管理し易くすることができる。
なお、この第1実施例では、ユーザ端末14からデータのコピーの指示を受けると、これに応じて、サーバ12がデータのコピーを実行するようにしたが、コピー回数に上限を設けるようにしてもよい。これは、宛先以外のユーザ端末14でメールが受信された場合に、不正にデータが取得される可能性があるからである。たとえば、データをコピーすることができる回数を、ユーザ端末14で指定された宛先の数に設定しておき、宛先の数だけコピーが実行されると、それ以降にユーザ端末14からコピーの指示を受けたとしても、サーバ12において、コピーを実行しないようにすることができる。
また、第1実施例では、サーバ12からユーザ端末14に共有通知のメールを送信した後で、ユーザ端末14からコピーの指示が有る場合に、データのコピーを実行するようにしたが、たとえば、所定期間(数日から数週間程度)にコピーの指示が無い場合には、コピーの指示を促すようにしてもよい。たとえば、サーバ12は、ユーザ端末14に、共有通知のメールを再度送信してもよいし、別途コピーの指示を促すための通知を送信するようにしても良い。
なお、第1実施例では、サーバ12のHDD26にデータを記憶および管理するようにしたが、これに限定される必要はない。サーバ12が直接アクセス可能な記憶装置(データベース)を設けて、この記憶装置でデータを記憶および管理するようにしてもよい。また、ネットワーク16上にサーバ12と通信可能に記憶装置を設けて、サーバ12の指示の下、データの書込み、データの読み出し、データの共有(コピー)を行うようにしてもよい。つまり、サーバ12と通信可能(データの送受信可能)であれば、記憶装置が設けられる場所は限定されない。
また、第1実施例では、宛先設定画面150において、データを共有する他のユーザの電子メールアドレスを入力するようにしたが、これに限定される必要はない。たとえば、ユーザ情報において、各ユーザがデータを共有する他のユーザを予め登録しておくことにより、プルダウンメニューで他のユーザまたは他のユーザの電子メールアドレスを選択可能にしてもよい。
[第2実施例]
第2実施例の情報処理システム10は、コピー先のユーザが、共有元のユーザによって共有することが設定されたデータを、サーバ12のHDD26における自身のフォルダにコピーするか、自身が操作するユーザ端末14にダウンロードするかを選択できるようにした以外は第1実施例と同じであるため、第1実施例と異なる内容について説明し、重複した説明については省略することにする。
図14(A)は第2実施例における共有通知画面200の一例を示す図解図であり、図14(B)は第2実施例におけるダウンロード完了画面270の一例を示す図解図である。
図14(A)に示すように、第2実施例の共有通知画面200には、第1実施例で表示される内容に加えて、ユーザAが共有することを設定したデータ(ファイル)をダウンロードするための送信用のリンク204および当該データをダウンロードする場合には当該リンク204をクリック(選択)する必要があることが表示される。
ただし、リンク204は、サーバ12によって生成され、電子メールの本文に貼り付けられる。また、共有通知画面200に表示されるリンクの有効期限は、リンク202およびリンク204の共通の有効期限である。
たとえば、ユーザBがリンク204をクリックすると、当該リンク204に従ってサーバ12にダウンロードの指示(送信指示情報に相当)が送信される。サーバ12は、ダウンロードの指示に従って、コピー先(ダウンロードの要求元)のユーザ端末14に、ユーザAが共有することを設定したデータを送信する。サーバ12から送信されたデータは、コピー先のユーザ端末14のHDD54に記憶される。
なお、有効期限を過ぎている場合には、リンク202がクリックされても、サーバ12にダウンロードの指示が送信されない、または、サーバ12にダウンロードの指示が送信されてもデータがコピー先のユーザ端末14に送信されない。
リンク204に従ってデータのダウンロードが完了すると、ユーザ端末14のディスプレイ52には、図14(B)に示すようなダウンロード完了画面270が表示される。ダウンロード完了画面270には、ユーザAが共有することを設定したデータのダウンロードが完了したこと、データのファイル名およびコピー先のフォルダ名が表示される。
第2実施例では、ダウンロード先のフォルダはユーザが使用しているブラウザの設定により所定のローカルフォルダ(たとえば図14(A)および図14(B)に示す「Download Folder」など )に予め設定される。
なお、ユーザによってリンク202が選択された場合の情報処理システム10の動作については、第1実施例と同じであるため、重複した説明は省略する。
また、図示は省略するが、第2実施例では、サーバ12のRAM24のプログラム記憶領域302には、データ送信プログラムが記憶される。データ送信プログラムは、ダウンロードの指示があった場合に、ダウンロードの指示が示す共有元のユーザのフォルダに記憶されたデータのコピーを、ダウンロードの指示が示すコピー先のユーザ端末14に送信するためのプログラムである。
同様に、ユーザ端末14のRAM44のプログラム記憶領域402には、ダウンロード指示プログラムが記憶される。ダウンロード指示プログラムは、リンク204に従って、データのダウンロードをサーバ12に指示するためのプログラムである。ただし、データのダウンロードをサーバ12に指示するときには、通信プログラム402aに従って通信処理が実行される。また、サーバ12から送信されたデータを受信するときには、通信プログラム402aに従ってデータの受信処理が実行される。
以下、フロー図を用いて、第2実施例におけるサーバ12用のサーバ側情報処理およびユーザ端末14用の共有処理について説明するが、第1実施例で説明したサーバ側情報処理および端末側情報処理と同じ処理については同じ参照符号を付し、重複した内容については、説明を省略するまたは簡単に説明することにする。
図15は第2実施例におけるサーバ12のCPU20のサーバ側情報処理の一例を示すフロー図である。図15に示すように、サーバ12のCPU20は、ステップS1で“NO”であれば、つまり、コピー指示が無ければ、ステップS81で、ダウンロード指示があるかどうかを判断する。つまり、通信接続されたユーザ端末14からリンク204に従うダウンロード指示が送信されたかどうかを判断する。
ステップS81で“NO”であれば、つまり、ダウンロード指示が無ければ、ステップS7に進み、ユーザ認証を行う。一方、ステップS81で“YES”であれば、つまり、ダウンロード指示が有れば、ステップS83で、指定されたデータを要求元のユーザ端末14(コピー先のユーザ端末14)に送信して、サーバ側情報処理を終了する。
図16は第2実施例におけるユーザ端末14のCPU40の端末側情報処理の他の一部である。図16に示すように、ユーザ端末14のCPU40は、ステップS59で“NO”であれば、つまり、リンク202が選択されていなければ、ステップS91で、ダウンロードを行うためのリンク204が選択されたかどうかを判断する。
ステップS91で“NO”であれば、つまり、リンク204が選択されていなければ、ステップS61に進み、終了指示が有るかどうかを判断する。一方、ステップS91で“YES”であれば、つまり、リンク204が選択されれば、ステップS93で、データの送信(ダウンロードの指示)をサーバ12に指示する。
続くステップS95では、サーバ12から送信されたデータを受信したかどうかを判断する。ステップS95で“NO”であれば、つまり、サーバ12から送信されたデータを受信していなければ、同じステップS95に戻る。一方、ステップS95で“YES”であれば、つまり、サーバ12から送信されたデータを受信すれば、ステップS97で、受信したデータをHDD54に記憶し、ステップS99で、図14(B)に示したようなダウンロード完了画面270をディスプレイ52に表示して、端末側情報処理を終了する。
この第2実施例によれば、第1実施例と同じ効果を得ることができるとともに、コピー先のユーザが、共有元のユーザによって共有することが設定されたデータを、サーバ12のHDD26における自身のフォルダにコピーするか、自身が操作するユーザ端末14にダウンロードするかを選択できるので、利便性を向上することができる。
[第3実施例]
第3実施例の情報処理システム10では、コピー先のユーザが、共有元のユーザによって共有することが設定されたデータのコピー先のフォルダを、サーバ12のHDD26における自身のフォルダの下階層のフォルダの中から指示(選択)できるようにした以外は第1実施例と同じであるため、第1実施例と異なる内容について説明し、重複した説明については省略することにする。
図17(A)は第3実施例における共有通知画面200の一例を示す図解図であり、図17(B)は第3実施例におけるコピー完了画面250の一例を示す図解図である。
図17(A)に示すように、第3実施例の共有通知画面200には、第1実施例で表示される内容に加えて、サーバ12のHDD26におけるユーザBのフォルダ内の下階層のフォルダを示すフォルダ名がツリー構造で表示されるフォルダツリー210が表示される。また、第1実施例で表示された内容に代えて、コピー先のフォルダを指定する必要があることが表示される。
ただし、フォルダツリー210は、サーバ12によって生成され、電子メールの本文に貼り付けられる。また、フォルダツリー210は、サーバ12が電子メールを作成する時点でのサーバ12のHDD26におけるユーザBのフォルダについての情報に応じて生成される。さらに、フォルダツリー210に含まれる各フォルダ名に対応して、それぞれリンクが設定されている。なお、それぞれのリンクは、フォルダ名の横に表記されてもよい。また、図17(A)では「売上データ」のフォルダが指定された状態を示してある。
たとえば、ユーザBがフォルダツリー210に含まれるいずれかのフォルダ(フォルダ名)を指定すると、指定されたフォルダ名に応じて設定されたリンク202に従ってサーバ12に共有(コピー)の指示が送信される。これ以降では、指定されたフォルダにコピーされたデータが記憶される以外、第1実施例と同じである。
したがって、リンク202に従ってデータのコピーが完了すると、サーバ12は、共有を指示したユーザ端末14にコピー完了を通知する。すると、ユーザ端末14のディスプレイ52には、図17(B)に示すようなコピー完了画面250が表示される。このコピー完了画面250には、ユーザBが指定したコピー先のフォルダ名などが表示される。
なお、第3実施例では、第1実施例で示したサーバ側情報処理のステップS21で生成される電子メールの内容が異なるだけである。
この第3実施例によれば、第1実施例と同じ効果を得ることができるとともに、コピー先のユーザが、コピーの指示を行うときにコピー先のフォルダを指定するので、データのコピー後に所望のフォルダにデータを移動させる手間を省くことができる。
なお、第2実施例における変形と第3実施例における変形とは、同時に採用することも可能である。
また、上述の実施例で挙げた具体的な構成等は一例であり、実際の製品に応じて適宜変更することが可能である。また、上述の実施例で示したフロー図の各ステップは、同じ結果が得られるのであれば、処理される順番は適宜変更することが可能である。