以下、本発明の一実施形態に係るデータ転送システム1について、図1〜図10を参照しつつ説明する。本実施形態において、データ転送システム1は、図1に示すように、教育委員会側に設置されたコンピュータ端末(以下、委員会側PCという。本発明における第1コンピュータ)11と、学校側に設置されたコンピュータ端末(以下、学校側PCという。本発明における第2コンピュータ)21との間でデータを転送するために使用される。データ転送システム1は、アプリケーションサーバ110、データベースサーバ120(本発明における対象データ保存手段)、無害化処理サーバ103(本発明における無害化処理手段)、リバースプロキシサーバ201、メール送信サーバ202、リバースプロキシサーバ301及びメール送信サーバ302を備えている。なお、リバースプロキシサーバとは、特定のサーバの代理としてクライアントとの間で通信するサーバをいう。本実施形態におけるリバースプロキシサーバ201及び301の具体的な機能については後述する。
委員会側PC11、学校側PC21、アプリケーションサーバ110、データベースサーバ120、無害化処理サーバ103、リバースプロキシサーバ201及び301並びにメール送信サーバ202及び302のそれぞれは、コンピュータを含むハードウェアと、データ転送システム1の各種機能を実現するようにハードウェアを機能させるプログラムを含むソフトウェアとを備えている。各コンピュータは、CPU(Central Processing Unit)、ROM(Read−Only Memory)及びRAM(Random Access Memory)等のメモリ装置、並びに、入出力インタフェース等の各種インタフェース等からなる。また、コンピュータには、ユーザ入力を受け付ける入力装置やディスプレイ等の出力装置、ハードディスク等の記録装置等が外部装置として接続されるか、内部装置として搭載されている。ソフトウェアは、メモリ装置やハードディスク等の記録装置に記録されたプログラムデータ等からなる。そして、コンピュータ等のハードウェアがソフトウェアに従って演算処理、入出力処理等の各種の情報処理を実行する。ソフトウェアに従ったハードウェアの機能により、以下において説明する委員会側PC11、学校側PC21、アプリケーションサーバ110、データベースサーバ120、無害化処理サーバ103、リバースプロキシサーバ201及び301並びにメール送信サーバ202及び302の各種の機能が実現される。
図1に示すように、アプリケーションサーバ110、データベースサーバ120及び無害化処理サーバ103は共通のセグメント(ゲートウェイセグメント100)に属している。リバースプロキシサーバ201及びメール送信サーバ202は共通のセグメント(LGWAN公開セグメント200)に属している。リバースプロキシサーバ301及びメール送信サーバ302は共通のセグメント(外部ネットワーク公開セグメント300)に属している。ゲートウェイセグメント100とLGWAN公開セグメント200とは、ファイアウォール(以下、FWという。)12を介して互いに隣接している。また、ゲートウェイセグメント100と外部ネットワーク公開セグメント300とは、FW12を介して互いに隣接している。アプリケーションサーバ110並びにリバースプロキシサーバ201及び301は、互いに、FW12を介して、TCP/IP(Transmission Control Protocol/Internet Protocol)に基づく通信を行う。アプリケーションサーバ110及び無害化処理サーバ103同士はTCP/IPに基づく通信を行う。アプリケーションサーバ110及びデータベースサーバ120同士はTCP/IPに基づく通信を行う。
LGWAN公開セグメント200は、LGWAN N1(本発明における第1通信ネットワーク)と、FW12及びLGWAN接続用のルータ13を介して接続している。LGWAN N1には複数の委員会側PC11が接続している。外部ネットワーク公開セグメント300は、FW12及びインターネット接続用のルータ14を介してインターネットN2(本発明における第2通信ネットワーク)と接続している。インターネットN2には、FW12及びルータ14を介して複数の学校側PC21が接続している。
アプリケーションサーバ110、リバースプロキシサーバ201及び301、委員会側PC11並びに学校側PC21の相互の通信は、セキュリティ向上のため、以下の仕様に従っている。第1に、ゲートウェイセグメント100に属するサーバは、LGWAN N1側にもインターネットN2側にも公開されていない。これに対し、LGWAN公開セグメント200に設置されたリバースプロキシサーバ201は、LGWAN N1に対してIPアドレスが公開されている。また、外部ネットワーク公開セグメント300に設置されたリバースプロキシサーバ301は、インターネットN2に対してIPアドレスが公開されている。これにより、アプリケーションサーバ110は、委員会側PC11及び学校側PC21とは直接アクセスせず、リバースプロキシサーバ201又は301がその代理としてこれらのPCとアクセスする。委員会側PC11は、リバースプロキシサーバ201の公開されたIPアドレス又はこれに対応するURL(Uniform Resource Locator)を用いて、リバースプロキシサーバ201との間で、LGWAN N1を介して、TCP/IPに基づく通信を実行する。委員会側PC11においては、リバースプロキシサーバ201との通信にウェブブラウザアプリケーション(以下、ウェブブラウザという。)が用いられる。また、学校側PC21は、リバースプロキシサーバ301の公開されたIPアドレス又はこれに対応するURLを用いて、リバースプロキシサーバ301との間でインターネットN2を介したTCP/IPに基づく通信を実行する。学校側PC21においては、リバースプロキシサーバ201との通信にウェブブラウザが用いられる。
そして、委員会側PC11又は学校側PC21とリバースプロキシサーバ201又は301との間では第1の通信プロトコルが用いられているのに対し、アプリケーションサーバ110とリバースプロキシサーバ201又は301との間では、第1の通信プロトコルと異なる第2の通信プロトコルが用いられている。第1及び第2の通信プロトコルとしては、HTTP(Hypertext Transfer Protocol)、HTTPS(Hypertext Transfer Protocol Secure)等、HTML(HyperText Markup Language)で記述されたデータファイル(以下、HTMLファイルという。)を送信するための複数の通信プロトコルのうち、互いに異なる任意の2つが用いられてよい。このように、委員会側PC11又は学校側PC21とリバースプロキシサーバ201又は301との間の通信に用いられるプロトコルと、リバースプロキシサーバ201又は301とアプリケーションサーバ110との間の通信に用いられるプロトコルとが互いに異なっている。これにより、前者の通信におけるセッションと後者の通信におけるセッションとが互いに明確に分断される。したがって、アプリケーションサーバ110への侵入を試みる場合には、LGWAN N1側から及びインターネットN2側からのいずれの侵入経路においても、2段階の侵入を成功させる必要が生じる。このため、アプリケーションサーバ110への不正な侵入が困難になっている。
以下、アプリケーションサーバ110、データベースサーバ120及び無害化処理サーバ103の構成及び機能について説明する。これらは、データ転送システム1におけるメインの処理であるデータ転送処理を実行する。本実施形態においては、転送対象となるデータは、転送元と転送先の間で交わされるメッセージ及び転送対象となるデータファイル(以下、ファイルという。)を含んだフォルダとして管理される。本実施形態において、フォルダの種類には、「通知フォルダ」「調査フォルダ」「様式等共有フォルダ」の3つがある。「通知フォルダ」は、転送先に対して通知を行うときに使用される。「調査フォルダ」は、転送先に対して調査を依頼したいときに使用される。「様式等共有フォルダ」は、転送先に対して書類の様式等を共有したいときに使用される。各フォルダは、転送元のユーザによって指定された他のユーザに共有される。共有先のユーザは、後述の通り、フォルダ内のメッセージを閲覧したり、ファイルをダウンロードしたりすることができる。共有先のユーザは、本データ転送システム1のユーザとして登録されている者が対象となる。本実施形態においては、教育委員会側の職員ユーザ及び学校側のユーザの両方が対象である。ユーザは、「校長」、「教頭」、「事務」及び「一般」の4者に分類される。「一般」は、一般教員に対応する。
データベースサーバ120は、図2に示すように、フォルダの内容を示すフォルダデータ121をフォルダごとに管理している。フォルダデータ121は、フォルダの作成日、期限日、フォルダの種類、転送対象となるファイル及びメッセージを示すデータ、並びに、フォルダの作成者及び共有先を示すユーザIDのデータを含んでいる。また、フォルダデータ121は、フォルダの状況を示すデータを含んでいる。フォルダの状況を示すデータは、確認済みか否かを示すデータ、返信済みか否かを示すデータ及び完了済みか否かを示すデータを含んでいる。フォルダの状況のデフォルトは、確認済みでなく、返信済みでなく、且つ完了済みでない。また、データベースサーバ120は、ユーザID、その他のユーザに関する情報を示すユーザデータ122を、登録されたユーザごとに管理している。ユーザデータ122は、ユーザ名、教育委員会側・学校側の別、教育委員会名/学校名、学校側のユーザである場合の校長、教頭、一般及び事務の別、並びに、メールアドレスを示すデータを含んでいる。
無害化処理サーバ103は、転送対象となるファイルに無害化処理を施すサーバである。本実施形態の無害化処理は、例えば、ファイル中に含まれるマクロ等のプログラムを削除すること等により、ファイルの転送先において元のファイルに含まれたマルウェアによる被害が発生するリスクを低下させる処理をいう。その他、特定のファイル形式のファイルをテキスト形式のファイルに変換する処理が無害化処理に含まれていてもよい。本実施形態では、インターネットN2を介して転送された学校側PC21からのファイルのみに無害化処理が施される。無害化処理サーバ103は、アプリケーションサーバ110から受け取ったファイルに無害化処理を施すと共に、無害化処理が完了した場合、無害化処理済みのファイルをアプリケーションサーバ110に送信する。
アプリケーションサーバ110は、リバースプロキシサーバ201又は301を介して委員会側PC11又は学校側PC21から送信された要求に基づいてデータ転送処理を実行する。かかるデータ転送処理を実行するための機能部として、アプリケーションサーバ110は、図2に示すように、転送処理管理部111及び無害化処理管理部112を有している。
転送処理管理部111は、フォルダデータ121の生成、更新等のデータベースサーバ120への指示や、リバースプロキシサーバ201及び301との間のファイルの転送処理等を実行する。また、転送処理管理部111は、委員会側PC11及び学校側PC21においてウェブブラウザを用いて表示されるテキストや画像等を示すHTMLファイル及び画像ファイル等を生成し、これらのPCへと送信する。データの生成に当たっては、データベースサーバ120が管理しているフォルダデータ121及びユーザデータ122や、アプリケーションサーバ110内の記憶装置に保存されたデータが用いられる。生成されるHTMLファイルは、例えば、フォルダの共有先の候補となるユーザのリストや、内容確認・返信の対象となるフォルダの情報等を、マウス等のポインティングデバイスを用いて選択可能に送信先のPCのディスプレイに表示させるためのデータを含んでいる。ユーザのリストやフォルダの情報は、フォルダデータ121及びユーザデータ122から取得される。かかるHTMLファイルに基づいて送信先のPCのディスプレイに表示される画面の具体例は後述の通りである(図4、図5及び図7参照)。送信先のPCにおいては、ディスプレイの画面表示に基づいて、フォルダの共有先となるユーザや内容確認・返信の対象となるフォルダ等をユーザが選択する。その選択結果は、当該PCからリバースプロキシサーバ201又は301を介してアプリケーションサーバ110に送信される。転送処理管理部111は、送信された選択結果が示すユーザやフォルダに関してフォルダデータ121の生成や更新、データ転送等の処理を実行する。かかる処理の具体例については後述の通りである(図6及び図8参照)。また、転送処理管理部111は、送信された選択結果が示すユーザに対応するメールアドレスを宛先としたメールを送信するようにメール送信サーバ202及び302に指示する。メールアドレスはユーザデータ122に基づいて取得される。委員会側のユーザに関してはメール送信サーバ202に指示が送られ、学校側のユーザに関してはメール送信サーバ302に指示が送られる。メール送信サーバ202及び302は、アプリケーションサーバ110からの送信指示に基づいて委員会側及び学校側のユーザへとメールを送信する。委員会側ユーザ及び学校側ユーザ宛てに送信されるメールは、いずれもテキストメッセージのみを含み、添付ファイルは含まない。
無害化処理管理部112は、学校側PC21からアプリケーションサーバ110へとファイルが転送された際に、そのファイルを無害化処理サーバ103に送信する。また、無害化処理管理部112は、無害化処理サーバ103によって無害化処理が施されたファイルを無害化処理サーバ103から受信する。無害化処理が施されたファイルは、転送処理管理部111を通じてデータベースサーバ120にフォルダデータ121の一部として保存される。
以下、データ転送システム1によって実行されるデータ転送処理の実装例について説明する。委員会側PC11及び学校側PC21のそれぞれにおいては、これらのPCと接続されたディスプレイに、ウェブブラウザの機能によって文字や画像等が表示される。これらの表示は、上記の通り、アプリケーションサーバ110の転送処理管理部111から送信されるHTMLファイルや画像データ等に基づいて実行される。図3〜図5、図7、図9及び図10は、委員会側PC11及び学校側PC21のいずれかに接続された又は搭載されたディスプレイにおいて実行される画面表示の一例である。委員会側又は学校側のユーザは、ディスプレイの画面表示に基づき、マウスやキーボード等の入力デバイスを使用して各種の情報や指示を委員会側PC11又は学校側PC21に入力する。入力された情報や指示は、ウェブブラウザの機能により、リバースプロキシサーバ201又は301を介してアプリケーションサーバ110に送信される。
図3の画像IM0は、ログインのための情報入力画面の一例である。この画面は、委員会側PC11又は学校側PC21において、URLを指定したリバースプロキシサーバ201又は301へのアクセスが開始された際に最初にディスプレイに表示される。画像IM0において、画像L1〜L3は、マウス等のポインティングデバイスを用いて選択可能である。画像L1及びL2は、ログインID及びパスワードを入力するためのコントロールの画像である。本実施形態では、ログインIDとしてユーザIDが用いられるが、ユーザIDとは別の文字列等がログインIDとして用いられてもよい。画像L1及びL2のコントロールにユーザID及びパスワードがキーボード等を用いて入力された状態で画像L3が選択されると、入力されたユーザID及びパスワードがリバースプロキシサーバ201又は301を介してアプリケーションサーバ110に送信される。アプリケーションサーバ110は、データベースサーバ120のユーザデータ122を照会した結果に基づき、送信されたユーザID及びパスワードを認証する。
ユーザID及びパスワードの認証が成功すると、ログインが実行された委員会側PC11又は学校側PC21のディスプレイにホーム画面が表示される。ホーム画面は、委員会側PC11及び学校側PC21のいずれにおいても同様のレイアウトで表示される。図4の画像IM1は、委員会側PC11のディスプレイに表示されるホーム画面の一例である。画像IM1は、他のユーザと共有されたフォルダの情報を示す領域A1〜A3、更新履歴を示す文字等を含んだ領域A4等を含んでいる。領域A1には教育委員会側のユーザとの間で共有された調査フォルダ及び通知フォルダに関する情報が表示される。領域A2には、学校側のユーザとの間で共有された調査フォルダ及び通知フォルダに関する情報が表示される。領域A3には、共有された様式等共有フォルダに関する情報が表示される。例えば、画像IM1には、フォルダに関する情報を示す項目F1〜F6が含まれている。各項目は、フォルダ名、フォルダの種類、フォルダの作成日、期限日、共有メンバー(共有先)の人数、フォルダの状況、及び作成者の各情報を含んでいる。フォルダの状況は、図4に示すように、「共有メンバー」の欄において、2つの数字に表されている。左側の数字はフォルダの内容を確認済みとした共有先の人数を、右側の数字は返信済みの共有先の人数を示している。
画像IM1において、画像B1〜B5のコントロール及び項目F1〜F6は、マウス等のポインティングデバイスを用いて選択可能である。画像B1は、フォルダを新規作成するためのコントロールの画像である。画像B2は、フォルダに関する情報の表示態様を選択するためのコントロールの画像である。画像B3は、返信済み又は完了済みにしたフォルダに関する情報を表示するか否かを選択するためのコントロールの画像である。画像B4は、無害化処理中のファイルを一覧で表示するためのコントロールの画像である。画像B5は、システムからログアウトするためのコントロールの画像である。画像B1、B3及びB4のコントロールが選択された場合のPCにおける処理や動作については後述する。
ユーザが画像B1のコントロールを選択すると、フォルダの新規作成のための情報を入力する画面がディスプレイに表示される。図5の画像IM2は、一例として、教育員会側のユーザが学校側のユーザを主な共有先として調査フォルダを作成する場合の画面を示す。委員会側のユーザは、画像IM2を用いてフォルダの新規作成の処理を実行する。なお、学校側のユーザが新規作成の処理を実行する場合にも同様の処理となるので、以下においては、委員会側PC11において処理が実行される場合及び学校側PC21において処理が実行される場合の両方を想定して説明する。
画像IM2は、ポインティングデバイスを用いて選択したりキーボード等を用いて情報を入力したりすることが可能なコントロールの画像B11〜B21を含んでいる。ユーザは、画像B11〜B19のコントロールを選択して情報を入力した後で、画像B20のコントロールを選択することにより、新たにフォルダを作成できる。なお、画像B21のコントロールを選択すると、フォルダの新規作成をキャンセルできる。
画像B11のコントロールは、新規作成するフォルダの種類を選択するためのものである。画像B12のコントロールは、フォルダの名称を入力するためのコントロールである。画像B13のコントロールは、画像B11のコントロールにおいて「調査フォルダ」が選択された場合に、調査に対する回答期限を入力するためのものである。画像B14のコントロールは、フォルダの共有相手に向けたメッセージを入力するためのものである。画像B15のコントロールは、共有対象となるファイルのファイル名を入力するためのものである。なお、画像B16の「削除」ボタンを選択すると、入力されたファイル名が削除される。画像B17のコントロールは、ドラッグ&ドロップの操作によってファイルの選択を行える領域である。画像B17のコントロールに含まれる「ファイルを選択」とのボタンを選択すると、標準のダイアログボックスを用いてファイルを選択することも可能である。画像B18及びB19のコントロールは、共有相手を選択するためのものである。画像B18のコントロールには「全選択」「全解除」「全校長」「全教頭」「全一般」「全事務」の各ボタンが含まれている。これらのうち、「全選択」ボタン画像を選択すると、候補となるユーザ全員を選択できる。「全校長」ボタンを選択すると、候補となるユーザのうち、校長ユーザ全員を選択できる。「全教頭」ボタンを選択すると、候補となるユーザのうち、教頭ユーザ全員を選択できる。「全一般」ボタンを選択すると、候補となるユーザのうち、一般ユーザ全員を選択できる。「全事務」ボタンを選択すると、候補となるユーザのうち、事務ユーザ全員を選択できる。画像B19のコントロールは、選択されたユーザを表示するためのものである。画像B19は、共有先の候補となるユーザのリストの表示と、リスト中の各項目の前に配置されたチェックボックスの画像とを含んでいる。画像B18のコントロールにおいてユーザが選択されると、選択されたユーザに対応する画像B19のチェックボックスにチェックマークが表示される。また、各チェックボックスはポインティングデバイスを用いて選択可能なコントロールでもある。チェックボックスを選択すると、そのチェックボックスに対応するユーザの選択状態を切り替えることができる。図5は、一例として、教育委員会側の一ユーザと各校の校長ユーザが選択された状態を示している。
画像B20が選択されると、画像B11〜B19のコントロールにおいて入力された情報が、リバースプロキシサーバ201又は301を介して委員会側PC11又は学校側PC21からアプリケーションサーバ110へと送信される。これに応じ、アプリケーションサーバ110の転送処理管理部111は、図6に示す処理を実行する。まず、アプリケーションサーバ110は、情報の送信元が委員会側PC11であるか、学校側PC21であるかを判定する(ステップS11)。情報の送信元が委員会側PC11である場合(ステップS11、委員会側PC)には、転送処理管理部111は、受信した情報に基づいてフォルダデータ121を生成するようにデータベースサーバ120に指示する(ステップS12)。データベースサーバ120は、これに基づいて、画像B11〜B19のコントロールにおいて入力された情報に対応するフォルダデータ121を生成する。次に、転送処理管理部111は、フォルダの共有先となるユーザに対し、フォルダが生成された旨を通知するメールを送信するようにメール送信サーバ202又は302に指示する(ステップS13)。共有先となるユーザのメールアドレスは、データベースサーバ120のユーザデータ122から取得される。これに応じ、メール送信サーバ202又は302は、アプリケーションサーバ110から指示されたメールアドレスに向けて、指示された内容のメールを送信する。
一方、ステップS11において、送信元が学校側PC21であると判定された場合、アプリケーションサーバ110は、ステップS14〜S17に示すように、送信された情報中のファイルに無害化処理が施されてからデータベースサーバ120にそのファイルを格納する。まず、アプリケーションサーバ110の無害化処理管理部112は、受信した情報に含まれるファイルを無害化処理サーバ103に送信する(ステップS14)。これに応じ、無害化処理サーバ103は、ファイルの無害化処理を開始する。次に、転送処理管理部111は、受信した情報に基づいてフォルダデータ121を生成するようにデータベースサーバ120に指示する(ステップS15)。データベースサーバ120は、これに基づいて、画像B11〜B19のコントロールにおいて入力された情報に対応するフォルダデータ121を生成する。ただし、この段階ではファイルの無害化が完了していないため、新規に生成されたフォルダデータ121にはファイルが含まれていない。次に、無害化処理管理部112は、無害化処理サーバ103から無害化処理が完了した旨の通知を受信するまでデータ転送処理の進行を保留にする(ステップS16、NO)。無害化処理サーバ103から無害化処理が完了した旨の通知を受信すると(ステップS16、YES)、無害化処理管理部112が無害化処理後のファイルを無害化処理サーバ103から受信すると共に、転送処理管理部111がデータベースサーバ120のフォルダデータ121へと無害化処理後のファイルを格納するようにデータベースサーバ120に指示する(ステップS17)。これに応じ、データベースサーバ120は、フォルダデータ121中に無害化済みのファイルを追加する。そして、アプリケーションサーバ110はステップS13を実行する。
図6の処理が完了すると、委員会側PC11及び学校側PC21のうち、以上のように新規作成の処理が実行されたPCにおいては、ディスプレイの表示がホーム画面(例えば、図4の画像IM1)の表示に戻る。ホーム画面には、新規作成されたフォルダの項目が領域A1及びA2のいずれか対応する方に追加される。一方、委員会側PC11及び学校側PC21のうち、新規作成されたフォルダの共有先のPCにおいては、新規作成されたフォルダの項目がホーム画面の領域A1及びA2のいずれか対応する方に表示される。例えば、委員会側PC11において共有先を学校側ユーザとして新規作成が実行されたフォルダは、委員会側PC11のホーム画面には領域A2に、学校側PC21のホーム画面には領域A1にそれぞれ表示される。なお、新規作成されたフォルダに関するファイルが無害化処理の対象となる場合には、共有先のPCのディスプレイにフォルダの項目が表示されるのは、無害化処理が完了してからとなる。
委員会側PC11又は学校側PC21のディスプレイに表示されたホーム画面(例えば、図4の画像IM1)において、フォルダの詳細情報を示す項目(例えば、図4の項目F1〜F6のいずれか)をユーザが選択すると、選択された項目がいずれであるかを示す情報が当該PCからアプリケーションサーバ110に送信される。アプリケーションサーバ110は、選択された項目に応じたフォルダに対応するフォルダデータ121をデータベースサーバ120から取得すると共に、取得したフォルダデータ121に基づいてフォルダの詳細情報を示す画面を表示させるHTMLファイルを生成して当該PCに送信する。当該PCのディスプレイには、アプリケーションサーバ110から送信されたHTMLファイルに基づいてフォルダの詳細情報を示す画面が表示される。
図7の画像IM3は、フォルダの共有先のPCにおいて、受信したフォルダに対応する項目が選択された場合にディスプレイに表示される画面の一例を示す。特に、画像IM3は、委員会側のユーザが作成したフォルダに対応する項目をその共有先の学校側のユーザが選択した場合の画面を示す。学校側のユーザは、画像IM3を用いてフォルダの内容確認及び返信の処理を実行できる。なお、学校側のユーザが作成したフォルダの内容確認及び返信の処理を委員会側のユーザが実行する場合にも同様の処理となるので、以下においては、委員会側PC11において処理が実行される場合及び学校側PC21において処理が実行される場合の両方を想定して説明する。
画像IM3は、フォルダ作成者が入力したメッセージや回答期限日等の情報を表示した情報表示部C1及びフォルダ作成者や作成日等の情報を示す情報表示部C2を含んでいる。また、画像IM3は、ポインティングデバイスを用いて選択したりキーボード等を用いて情報を入力したりすることが可能なコントロールの画像B31〜B40を含んでいる。ユーザは、画像B36〜B39のコントロールを選択して情報を入力した後で、画像B40のコントロールを選択することにより、フォルダの作成者に対して返信できる。
画像B31のコントロールは、フォルダの新規作成時にデータベースサーバ120に保存されたファイルすべてを一度にダウンロードするためのものである。画像B32及びB33のコントロールは、フォルダの新規作成時にデータベースサーバ120に保存されたファイルをファイルごとにダウンロードするためのものである。画像B31〜B33のコントロールを選択すると、画像B32及びB33の左側に表示されたファイル名に対応するファイルを一括又は個別にダウンロードすることができる。画像B31〜B33のコントロールが選択されると、画像B31〜B33のコントロールのうち、選択されたコントロールに応じたファイルのダウンロードの要求が、リバースプロキシサーバ201又は301を介してアプリケーションサーバ110に送信される。これに応じ、アプリケーションサーバ110は、要求されたファイルをデータベースサーバ120から取得すると共に、リバースプロキシサーバ201又は301を介して委員会側PC11又は学校側PC21へと送信する。
画像B34のコントロールが選択されると、その旨がリバースプロキシサーバ201又は301を介してアプリケーションサーバ110に送信される。これに応じ、アプリケーションサーバ110は、データベースサーバ120のフォルダデータ121におけるフォルダの状況を確認済みに更新する。画像B35のコントロールが選択されると、ディスプレイの表示が図4に示すホーム画面の表示に戻る。
画像B36のコントロールは、フォルダ作成者に返信するファイル名を入力するためのものである。画像B37の「削除」ボタンを選択すると、画像B36のファイル名が削除される。画像B38のコントロールは、ドラッグ&ドロップの操作によってファイルの選択を行える領域である。画像B38のコントロールに含まれる「ファイルを選択」とのボタンを選択すると、標準のダイアログボックスを用いてファイルを選択することも可能である。画像B39のコントロールは、フォルダ作成者に向けたメッセージを入力するためのものである。
画像B40のコントロールが選択されると、画像B36〜B39のコントロールにおいて入力された情報が、リバースプロキシサーバ201又は301を介して委員会側PC11又は学校側PC21からアプリケーションサーバ110へと送信される。これに応じ、アプリケーションサーバ110は、図8に示す処理を実行する。まず、アプリケーションサーバ110の転送処理管理部111は、情報の送信元が委員会側PC11であるか、学校側PC21であるかを判定する(ステップS21)。情報の送信元が委員会側PC11である場合(ステップS21、委員会側PC)には、転送処理管理部111は、受信した情報をフォルダデータ121に追加するようにデータベースサーバ120に指示する(ステップS22)。データベースサーバ120は、これに基づいて、画像B36〜B39のコントロールにおいて入力された情報を、これと対応するフォルダデータ121に追加する。
一方、ステップS21において、送信元が学校側PC21であると判定された場合、アプリケーションサーバ110は、ステップS24〜S27に示すように、送信された情報中のファイルに無害化処理を施してからデータベースサーバ120にそのファイルを格納する。まず、アプリケーションサーバ110の無害化処理管理部112は、受信した情報に含まれるファイルを無害化処理サーバ103に送信する(ステップS24)。これに応じ、無害化処理サーバ103は、ファイルの無害化処理を開始する。次に、転送処理管理部111は、受信した情報のうち、ファイルを除いた部分をフォルダデータ121に追加するようにデータベースサーバ120に指示する(ステップS25)。データベースサーバ120は、これに基づいて、画像B38及びB39のコントロールにおいて入力された情報を、対応するフォルダデータ121に追加する。次に、無害化処理管理部112は、無害化処理サーバ103から無害化処理が完了した旨の通知を受信するまでデータ転送処理の進行を保留にする(ステップS26、NO)。無害化処理サーバ103から無害化処理が完了した旨の通知を受信すると(ステップS26、YES)、無害化処理管理部112は、無害化処理後のファイルを無害化処理サーバ103から受信すると共に、転送処理管理部111がデータベースサーバ120のフォルダデータ121へと無害化処理後のファイルを格納するようにデータベースサーバ120に指示する(ステップS27)。これに応じ、データベースサーバ120は、フォルダデータ121中に無害化済みのファイルを追加する。次に、転送処理管理部111は、フォルダ作成者である委員会側のユーザに対し、フォルダに返信がなされた旨を通知するメールを送信するようにメール送信サーバ202に指示する(ステップS28)。フォルダ作成者のメールアドレスは、データベースサーバ120のユーザデータから取得される。これに応じ、メール送信サーバ202は、アプリケーションサーバ110から指示されたメールアドレスに向けて、指示された内容のメールを送信する。
図8の処理が完了すると、ディスプレイの表示がホーム画面(例えば、図4の画像IM1)の表示に戻る。ホーム画面においては、確認済みとなったフォルダに関する項目におけるフォルダの状況の表示が更新される。また、返信済みのフォルダの情報はホーム画面に表示されなくなる。なお、フォルダの情報が一旦表示されなくなったホーム画面(例えば、図4の画像IM1)において画像B3のコントロールを選択することで、返信済みのフォルダの情報を再びホーム画面に表示させることができる。
図9の画像IM4は、ホーム画面中、過去に作成したフォルダに対応する項目をそのフォルダ作成者が選択した場合にディスプレイに表示される画面の一例を示す。特に、画像IM4は、委員会側のユーザが作成したフォルダに対応する項目をそのユーザが選択した場合の画面を示す。委員会側のユーザは、画像IM4を用いて共有先からの返信内容を確認する処理を実行できる。なお、学校側のユーザが共有先からの返信内容を確認する処理を実行する場合にも同様の処理となるので、以下においては、委員会側PC11において処理が実行される場合及び学校側PC21において処理が実行される場合の両方を想定して説明する。
画像IM4は、フォルダの情報を表示する情報表示部C11〜C14を含んでいる。情報表示部C11は、フォルダ作成者が入力したメッセージや回答期限日等の情報を表示している。情報表示部C12は、フォルダ作成者や作成日等の情報を表示している。情報表示部C13は、フォルダの共有先からの返信状況を表示している。情報表示部C13は、画像中の「アイコン種別」に示すように、フォルダの状況を表す以下4種類のアイコンを含んでいる:確認済みであることを表す「既読」アイコン、確認済みでないことを表す「未読」アイコン、返信済みであることを表す「返信あり」アイコン、及び返信済みでないことを表す「返信なし」アイコン。情報表示部C13の最上部において、「既読」アイコンの右側の数字は確認済みとした共有先の人数を、「返信あり」アイコンの右側の数字は返信済みとした共有先の人数を示している。また、「校長」や「教頭」の右側のアイコンは、共有先の各ユーザにおいて確認済みか否か及び返信済みか否かを示している。情報表示部C14は、共有先との間でやり取りしたメッセージを表示している。
また、画像IM4は、ポインティングデバイスを用いて選択したりキーボード等を用いて情報を入力したりすることが可能なコントロールの画像B51〜B63を含んでいる。画像B51のコントロールは、フォルダの新規作成時にデータベースサーバ120に保存されたファイルすべてを一度にダウンロードするためのものである。画像B52及びB53のコントロールは、フォルダの新規作成時にデータベースサーバ120に保存されたファイルをファイルごとにダウンロードするためのものである。画像B51〜B53のコントロールを選択すると、画像B52及びB53の左側に表示されたファイル名に対応するファイルを一括又は個別にダウンロードすることができる。これらのボタンが選択されると、画像B51〜B53のコントロールのうち、選択されたコントロールに応じたファイルのダウンロードの要求が、リバースプロキシサーバ201又は301を介してアプリケーションサーバ110に送信される。これに応じ、アプリケーションサーバ110は、要求されたファイルをデータベースサーバ120から取得すると共に、リバースプロキシサーバ201又は301を介して委員会側PC11又は学校側PC21へと送信する。
画像B54及びB55のコントロールは、フォルダの新規作成時にデータベースサーバ120に保存されたファイルをファイルごとに削除するためのものである。これらのボタンが選択されると、画像B54及びB55のコントロールのうち、選択されたコントロールに応じたファイルの削除の要求が、リバースプロキシサーバ201又は301を介してアプリケーションサーバ110に送信される。これに応じ、アプリケーションサーバ110は、要求されたファイルを削除するようにデータベースサーバ120に指示する。データベースサーバ120はそのファイルを削除する。
画像B56のコントロールが選択されると、その旨がリバースプロキシサーバ201又は301を介してアプリケーションサーバ110に送信される。これに応じ、アプリケーションサーバ110は、データベースサーバ120のフォルダデータ121におけるフォルダの状況を完了済みに更新する。完了済みのフォルダの情報はホーム画面に表示されなくなる。なお、フォルダの情報が一旦表示されなくなったホーム画面(例えば、図4の画像IM1)において画像B3のコントロールを選択することで、完了済みのフォルダの情報を再びホーム画面に表示させることができる。
画像B57のコントロールは、当該フォルダを削除するためのものである。このコントロールが選択されると、その旨がアプリケーションサーバ110に送信される。アプリケーションサーバ110は、当該フォルダに対応するフォルダデータ121を削除するようにデータベースサーバ120に指示する。データベースサーバ120は、その指示に基づいてフォルダデータ121を削除する。当該フォルダが削除されると、画像IM1における画像B3のコントロールによる切り替えに関わらず、削除されたフォルダの情報がホーム画面に表示されなくなる。画像B58のコントロールが選択されると、ディスプレイの表示が図4に示すホーム画面に戻る。画像B62のコントロールは、返信元であるフォルダ共有先に向けたメッセージを入力するためのものである。画像B63のコントロールが選択されると、画像B62のコントロールに入力されたメッセージがリバースプロキシサーバ201又は301を介してアプリケーションサーバ110に送信される。アプリケーションサーバ110は、送信されたメッセージをフォルダデータ121に追加するようにデータベースサーバ120に指示する。データベースサーバ120は、対応するフォルダに応じたフォルダデータ121にメッセージを追加する。
画像B59及びB60のコントロールは、共有先のユーザから返信されたファイルを個別にダウンロードするためのものである。これらの画像に含まれる「校長」「教頭」等の記載を含む枠は、個別に選択可能となっている。これらのうちのいずれかの枠を選択すると、その枠に対応するユーザから返信されたファイルをダウンロードできる。また、画像B61のコントロールは、共有先の全ユーザから返信されたファイルを一括でダウンロードするためのものである。画像B59〜B61のコントロールが選択されると、画像B59〜B61のコントロールのうち、選択されたコントロールに応じたファイルのダウンロードの要求が、リバースプロキシサーバ201又は301を介してアプリケーションサーバ110に送信される。これに応じ、アプリケーションサーバ110は、要求されたファイルをデータベースサーバ120から取得すると共に、リバースプロキシサーバ201又は301を介して委員会側PC11又は学校側PC21へと送信する。
以上は、主に調査フォルダに関して実行される一連の処理についての説明である。一方、通知フォルダに関しては、フォルダに含まれるメッセージ及びファイルに対し、フォルダの共有先においてファイルのダウンロードと確認済みの処理のみが実行可能である。つまり、フォルダに対して返信の処理がなされない他は、調査フォルダに関する上記の処理の内容と同様である。また、様式等共有フォルダに関しては、フォルダに含まれるファイルのダウンロードがフォルダの共有先において実行されるのみである。本明細書においては、説明が重複するのを避けるため、通知フォルダ及び様式等共有フォルダに関する処理についての詳細な説明を省略する。
委員会側PC11又は学校側PC21において、ホーム画面(例えば、図4の画像IM1)中、画像B4のコントロールをユーザが選択すると、無害化処理中のファイルの一覧がディスプレイに表示される。図10の画像IM5は、ディスプレイに表示されるファイル一覧の一例である。画像IM5には、送信中のファイルと受信中のファイルとに分けて一覧が表示されている。一覧に含まれる各項目には、無害化処理中のファイルが含まれるフォルダの名称、フォルダの種類、無害化処理中のファイルの名称、ファイルの登録日及びフォルダ作成者の情報が含まれている。
以上説明した本実施形態によると、ゲートウェイセグメント100に隣接した外部ネットワーク公開セグメント300にリバースプロキシサーバ301が設置されている。これにより、学校側PC21からのファイルは、リバースプロキシサーバ301を介して、ゲートウェイセグメント100に設置されたアプリケーションサーバ110へと転送されることになる。リバースプロキシサーバ301のIPアドレスはインターネットN2側に公開されているが、ゲートウェイセグメント100内のサーバ(例えば、アプリケーションサーバ110)のIPアドレスはインターネットN2側に公開されていない。つまり、インターネットN2側からの直接のアクセスはリバースプロキシサーバ301との間に限られ、ゲートウェイセグメント100との間ではできない。したがって、データ転送システム1は、インターネットN2側からの不正侵入に対して堅固である。
一方で、LGWAN N1は、高度なセキュリティを確保した行政専用のネットワークである。このため、LGWAN N1と接続するシステムには高いセキュリティが要求される。したがって、インターネットN2側からの攻撃に堅固であるのみでは、LGWAN N1側のセキュリティの要求に応えられないおそれがある。例えば、外部ネットワーク公開セグメント300にリバースプロキシサーバ301を設けるのみでは、必ずしも、LGWAN N1側からのゲートウェイセグメント100への不正侵入による不正なデータ転送(例えば、LGWAN N1側からインターネットN2側へのデータ流出)を防ぎやすいとはいえないからである。
そこで、本実施形態に係るデータ転送システム1においては、LGWAN公開セグメント200にリバースプロキシサーバ201が設けられている。このため、LGWAN N1側からもゲートウェイセグメント100には直接アクセスできない。このように、インターネットN2側からの不正侵入のみならず、LGWAN N1側からの不正侵入にも堅固なシステムとなっていることにより、LGWAN N1の高いセキュリティ要求を満たしやすいシステムが実現する。
また、本実施形態においては、無害化処理サーバ103がゲートウェイセグメント100に設置されている。したがって、無害化処理サーバ103には、LGWAN N1側からもインターネットN2側からも直接アクセスできない。よって、無害化処理サーバ103を目標とした攻撃に対しても堅固なシステムが実現する。なお、無害化処理サーバ103は、リバースプロキシサーバ301からリバースプロキシサーバ201までファイルが転送される間に当該ファイルに無害化処理を施すようにデータ転送システム1に設けられていればよい。つまり、無害化処理サーバ103は、リバースプロキシサーバ301からリバースプロキシサーバ201までのファイルの転送経路のいずれかに配置されていれば、どのようにファイルに無害化処理を施してもよい。例えば、データベースサーバ120に一旦、ファイルが転送された後、当該ファイルがゲートウェイセグメント100内の無害化処理サーバ103に転送され、無害化処理が施される構成であってもよい。
また、本実施形態においては、委員会側PC11又は学校側PC21とリバースプロキシサーバ201又は301との間の通信に用いられるプロトコルと、リバースプロキシサーバ201又は301とアプリケーションサーバ110との間の通信に用いられるプロトコルとが互いに異なっている。したがって、LGWAN N1又はインターネットN2からのアプリケーションサーバ110への不正侵入を試みる場合には、2つの異なる通信プロトコルの通信に対してそれぞれ攻撃を成功させる必要が生じる。よって、アプリケーションサーバ110への不正侵入に対して堅固なシステムが実現する。
また、本実施形態においては、新規作成されたフォルダの共有先のユーザが、そのフォルダの確認の処理(例えば、図7の画像IM3を用いた処理や図9の画像IM4を用いた処理)においてファイルのダウンロードを指示することで、共有先のユーザの委員会側PC11又は学校側PC21へとファイルがダウンロードされる。つまり、共有先のユーザが転送の指示を委員会側PC11又は学校側PC21に入力してはじめて、データがそのPCへと転送される。このため、共有先のユーザが所望のタイミングで委員会側PC11又は学校側PC21へのデータ転送を実行することが可能である。
また、本実施形態においては、フォルダが新規作成されると、メール送信サーバ202又は302を介してアプリケーションサーバ110からフォルダの共有先のユーザに対応するメールアドレスに、フォルダが新規作成された旨の電子メールが送信される。このため、共有先のユーザはメール通知に基づいて、フォルダの内容確認やファイルのダウンロードを実施できる。
<変形例>
以上は、本発明の好適な実施形態についての説明であるが、本発明は上述の実施形態に限られるものではなく、課題を解決するための手段に記載された範囲の限りにおいて様々な変更が可能なものである。
例えば、上述の実施形態においては、委員会側PC11又は学校側PC21とリバースプロキシサーバ201又は301の間の通信と、リバースプロキシサーバ201又は301とアプリケーションサーバ110の間の通信とに異なる通信プロトコルが用いられている。しかし、これらの通信に共通の通信プロトコルが用いられていてもよい。
また、上述の実施形態においては、無害化処理サーバ103がゲートウェイセグメント100内に設けられている。しかし、無害化処理を行う手段がゲートウェイセグメント100外に設けられていてもよい。例えば、無害化処理サーバ103がインターネットN2と接続され、学校側PC21及びリバースプロキシサーバ301とインターネットN2を介して通信するように設けられていてもよい。この場合、インターネットN2を介して学校側PC21から無害化処理サーバ103へと送信されたファイルに無害化処理が施され、インターネットN2を介して無害化処理サーバ103からリバースプロキシサーバ301へと無害化済みのファイルが送信される。
また、上述の実施形態においては、アプリケーションサーバ110、データベースサーバ120及び無害化処理サーバ103が互いに独立したサーバとして構成されている。しかし、これらのサーバのうちの2つ又は3つにおける機能を兼ね備えたサーバがその代わりに設けられてもよい。例えば、アプリケーションサーバ110及びデータベースサーバ120の機能を兼ね備えたサーバがこれらの代わりに用いられる場合、かかるサーバは本発明におけるデータ保存手段に対応するものとなる。
また、上述の実施形態では、新規作成されたフォルダの共有先のユーザが、ファイルのダウンロードを指示することで、共有先のユーザの委員会側PC11又は学校側PC21へとファイルがダウンロードされる。しかし、例えば、学校側PC21からリバースプロキシサーバ301を介して転送されたファイルへの無害化処理が完了したら自動的に、アプリケーションサーバ110がリバースプロキシサーバ201を介してLGWAN N1に接続されたいずれかのコンピュータ又はサーバへと無害化処理済みのファイルを転送するようにデータ転送システム1が構成されてもよい。
また、データ転送システム1によって実行されるデータ転送処理の一実装例として、委員会側PC11又は学校側PC21のディスプレイに表示される画面の遷移がなされるたびに、委員会側PC11又は学校側PC21とアプリケーションサーバ110との間の通信に関して実行される通信セッションが一旦切断されるようにデータ転送システム1が構成されていてもよい。具体的には、例えば、図3の画像IM0の画面から図4の画像IM1の画面への遷移や、図4の画像IM1の画面から図5の画像IM2の画面への遷移等がなされるたびに、委員会側PC11又は学校側PC21とリバースプロキシサーバ201又は301の間の通信セッションと、リバースプロキシサーバ201又は301とアプリケーションサーバ110の間の通信セッションとが一旦切断された後、新規な通信セッションがそれぞれ開始されるようにデータ転送システム1が構成されていることが好ましい。この場合、新規な通信セッションにおいて、古い通信セッションとの連続性が確保される必要がある。このための仕様として、例えば、委員会側PC11又は学校側PC21においてログイン期間中に保持されたユーザID及びパスワードが画面の遷移のたびに、つまり、新規な通信セッションが開始されるたびに委員会側PC11又は学校側PC21からアプリケーションサーバ110へと送信され、アプリケーションサーバ110においてこれらの認証がなされる構成が採用されてもよい。これによると、アプリケーションサーバ110は、新規な通信セッションが古い通信セッションと同じユーザによることを把握できる。これに基づき、アプリケーションサーバ110は、新規なセッションにおけるデータ転送処理等を、古い通信セッションと同じユーザに関連した処理であって、古い通信セッションから連続した通信セッションにおける処理として実行する。