(57)【要約】【課題】フィルタリングの運用を停止することなく、フィルタリング対象となるＵＲＬの変更に対処することを課題とする。【解決手段】フィルタリング装置１は、運用テーブル群１２０ａのＵＲＬリストテーブル１２２ａと、非運用テーブル群１２０ｂのＵＲＬリストテーブル１２２ｂとを有しており、所定の条件が満たされると、運用テーブル群１２０ａを非運用テーブル群とし、非運用テーブル群１２０ｂを運用テーブル群とする切り替えを行う切替処理部１１２と、ＵＲＬリストテーブル１２２の更新要求を受信すると、非運用テーブル群１２０ｂのＵＲＬリストテーブル１２２ｂに対して、更新を行う更新処理部１１４と、ＵＲＬが入力されると、運用テーブル群１２０ａのＵＲＬリストテーブル１２２ａを基に、入力されたＵＲＬが、フィルタリングの対象であるか否かを判定するリストマッチング部１１６と、を有することを特徴とする。【選択図】図１
2015156100.tif 000002
【特許請求の範囲】
【請求項１】
フィルタリング対象に関する情報が格納されているフィルタリング情報を、少なくとも２つ記憶部に有し、
前記フィルタリング情報のうち、１つは情報のフィルタリングを行うフィルタリング処理に使用される運用中のフィルタリング情報であり、その他は前記フィルタリング処理に使用されない非運用中のフィルタリング情報であり、
所定の条件が満たされると、前記運用中のフィルタリング情報を非運用中のフィルタリング情報に切り替え、前記非運用中の前記フィルタリング情報を運用中のフィルタリング情報に切り替える切替処理部と、
前記フィルタリング情報の更新要求を受信すると、前記非運用中のフィルタリング情報に対して、更新を行う更新処理部と、
フィルタリング判定対象となる情報が入力されると、前記運用中のフィルタリング情報を基に、入力された前記情報が、フィルタリングの対象であるか否かを判定するフィルタリング処理部と、
を有することを特徴とするフィルタリング装置。
【請求項２】
前記記憶部には、前記フィルタリング情報から削除される情報に関する削除情報が格納されており、
前記フィルタリング情報の更新要求として、前記フィルタリング対象の情報の削除要求を受信すると、
前記更新処理部は、
前記非運用中のフィルタリング情報から、前記削除要求された情報を削除するとともに、前記削除情報に前記削除要求された情報を追加し、
前記切替処理部による前記切り替え後、前記運用中のフィルタリングから前記非運用中のフィルタリング情報に切り替えられた前記フィルタリング情報から、前記削除要求された情報を削除し、
前記フィルタリング処理部は、
前記フィルタリング判定対象となる情報が入力されると、前記運用中のフィルタリング情報及び前記削除情報を基に、入力された前記情報がフィルタリングの対象であるか否かを判定する
ことを特徴とする請求項１に記載のフィルタリング装置。
【請求項３】
前記記憶部には、前記フィルタリング情報に追加される情報に関する追加情報が格納されており、
前記更新処理部は、
前記削除要求された情報が、前記追加情報に含まれるか否かを判定し、
前記追加情報に含まれている場合、前記追加情報から前記削除要求された情報を削除し、
前記追加情報に含まれていない場合、前記削除情報に前記削除要求された情報を追加する
ことを特徴とする請求項２に記載のフィルタリング装置。
【請求項４】
前記記憶部には、前記フィルタリング情報に追加される情報に関する追加情報が格納されており、
前記フィルタリング情報の更新要求として、前記フィルタリング対象となる情報の追加要求を受信すると、
前記更新処理部は、
前記非運用中のフィルタリング情報に、前記追加要求された情報を追加するとともに、前記追加情報に前記追加要求された情報を追加し、
前記切替処理部による前記切り替え後、前記運用中のフィルタリングから前記非運用中のフィルタリング情報に切り替えられた前記フィルタリング情報に、前記追加情報に前記追加要求された情報を追加し、
前記フィルタリング処理部は、
前記フィルタリング判定対象となる情報が入力されると、前記運用中のフィルタリング情報及び前記追加情報を基に、入力された前記情報がフィルタリングの対象であるか否かを判定する
ことを特徴とする請求項１に記載のフィルタリング装置。
【請求項５】
前記記憶部には、前記フィルタリング情報から削除される情報に関する削除情報が格納されており、
前記更新処理部は、
前記追加要求された情報が、前記削除情報に含まれるか否かを判定し、
前記削除情報に含まれている場合、前記削除情報から前記追加要求された情報を削除し、
前記削除情報に含まれていない場合、前記追加情報に前記追加要求された情報を追加する
ことを特徴とする請求項４に記載のフィルタリング装置。
【請求項６】
フィルタリング対象に関する情報が格納されているフィルタリング情報を、少なくとも２つ記憶部に有するフィルタリング装置によるフィルタリング制御方法であって、
前記フィルタリング情報のうち、１つは情報のフィルタリングを行うフィルタリング処理に使用される運用中のフィルタリング情報であり、その他は前記フィルタリング処理に使用されない非運用中のフィルタリング情報であり、
前記フィルタリング装置は、
所定の条件が満たされると、前記運用中のフィルタリング情報を非運用中のフィルタリング情報に切り替え、前記非運用中の前記フィルタリング情報を運用中のフィルタリング情報に切り替えるとともに、
前記フィルタリング情報の更新要求を受信すると、前記非運用中のフィルタリング情報に対して、更新を行い、
かつ、フィルタリング判定対象となる情報が入力されると、前記運用中のフィルタリング情報を基に、入力された前記情報が、フィルタリングの対象であるか否かを判定する
を有することを特徴とするフィルタリング制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報のフィルタリングを行うフィルタリング装置及びフィルタリング制御方法の技術に関する。
【背景技術】
【０００２】
有害サイト等のブロックの必要性が高まるにつれて、情報フィルタリングに関する技術の必要性が高まっている。
このような情報フィルタリングに関する技術として、例えば、非特許文献１に記載の技術が開示されている。
非特許文献１では、予め有害サイト等のフィルタリング対象のＵＲＬ（Uniform Resource Locator）のリストであるＵＲＬリストが高速フィルタリング装置に格納されている。このＵＲＬリスト中のＵＲＬは予めソートされている。そして、高速フィルタリング装置は、入力されたＵＲＬ（入力ＵＲＬ）について、ＵＲＬリストを二分木探索することで、入力されたＵＲＬがフィルタリング対象のＵＲＬであるか否かを判定する。
【０００３】
すなわち、（１）高速フィルタリング装置は、ＵＲＬリストの中央エントリと、入力ＵＲＬとを比較する。（２）次に、入力ＵＲＬの値が中央エントリより小さければ、高速フィルタリング装置はＵＲＬリストの前半の中央エントリと入力ＵＲＬを比較する。入力ＵＲＬの値が中央エントリより大きければ、高速フィルタリング装置はＵＲＬリストの後半の中央エントリと入力ＵＲＬを比較する。つまり、高速フィルタリング装置は、ＵＲＬリストのうち、入力ＵＲＬが含まれる可能性のないエントリ群を検索せず、残りのエントリ群で検索を行う。
【０００４】
高速フィルタリング装置は、（１）、（２）の処理を繰り返した結果、入力ＵＲＬと一致するＵＲＬをＵＲＬリストから検出した場合、該入力ＵＲＬへの接続を禁止する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】戸田  賢二、他４名、”高速ネットワークフィルタリング装置のアーキテクチャ”、電子情報通信学会技術研究報告、社団法人  電子情報通信学会、２００６年、ＤＣ２００６−２９、ｐ．１９−２３
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、ＵＲＬリストにおけるＵＲＬの追加、削除等といったＵＲＬリストの更新が必要となった場合、非特許文献１に記載の技術は、高速フィルタリング装置の運用を停止状態にしなければならないといった課題を有している。すなわち、ＵＲＬリストの更新が必要になると、高速フィルタリング装置は、フィルタリングの運用を一旦停止させた後、ＵＲＬリストの更新を行う。そして、高速フィルタリング装置は、ＵＲＬリストの更新終了後、運用を再開するといった手順を行わなければならない。
【０００７】
このような背景に鑑みて本発明がなされたのであり、本発明は、フィルタリングの運用を停止することなく、フィルタリング対象となる情報の変更に対処することを課題とする。
【課題を解決するための手段】
【０００８】
本発明は、前記課題を解決するために創案されたものであり、請求項１に記載のフィルタリング装置は、フィルタリング対象に関する情報が格納されているフィルタリング情報を、少なくとも２つ記憶部に有し、前記フィルタリング情報のうち、１つは情報のフィルタリングを行うフィルタリング処理に使用される運用中のフィルタリング情報であり、その他は前記フィルタリング処理に使用されない非運用中のフィルタリング情報であり、所定の条件が満たされると、前記運用中のフィルタリング情報を非運用中のフィルタリング情報に切り替え、前記非運用中の前記フィルタリング情報を運用中のフィルタリング情報に切り替える切替処理部と、前記フィルタリング情報の更新要求を受信すると、前記非運用中のフィルタリング情報に対して、更新を行う更新処理部と、フィルタリング判定対象となる情報が入力されると、前記運用中のフィルタリング情報を基に、入力された前記情報が、フィルタリングの対象であるか否かを判定するフィルタリング処理部と、を有することを特徴とする。
【０００９】
かかる発明によれば、非運用中のフィルタリング情報に対して情報の更新を行うことにより、フィルタリング対象となる情報の更新要求を受信するたびにフィルタリング装置を停止することなく、更新を行うことができる。
【００１０】
また、請求項２に記載のフィルタリング装置は、請求項１におけるフィルタリング装置であって、前記記憶部には、前記フィルタリング情報から削除される情報に関する削除情報が格納されており、前記フィルタリング情報の更新要求として、前記フィルタリング対象の情報の削除要求を受信すると、前記更新処理部は、前記非運用中のフィルタリング情報から、前記削除要求された情報を削除するとともに、前記削除情報に前記削除要求された情報を追加し、前記切替処理部による前記切り替え後、前記運用中のフィルタリングから前記非運用中のフィルタリング情報に切り替えられた前記フィルタリング情報から、前記削除要求された情報を削除し、前記フィルタリング処理部は、前記フィルタリング判定対象となる情報が入力されると、前記運用中のフィルタリング情報及び前記削除情報を基に、入力された前記情報がフィルタリングの対象であるか否かを判定することを特徴とする。
【００１１】
かかる発明によれば、フィルタリング情報とは別の削除情報を有することで、フィルタリング対象となる情報の削除要求を受信しても、運用されているフィルタリング情報の更新を行うことなく、削除要求を反映したフィルタリング処理を行うことができる。
【００１２】
また、請求項３に記載のフィルタリング装置は、請求項２に記載のフィルタリング装置であって、前記記憶部には、前記フィルタリング情報に追加される情報に関する追加情報が格納されており、前記更新処理部は、前記削除要求された情報が、前記追加情報に含まれるか否かを判定し、前記追加情報に含まれている場合、前記追加情報から前記削除要求された情報を削除し、前記追加情報に含まれていない場合、前記削除情報に前記削除要求された情報を追加することを特徴とする。
【００１３】
かかる発明によれば、フィルタリング対象の情報が追加要求された後、該情報がフィルタリング対象から削除要求しなおされた場合に対処できる。
【００１４】
そして、請求項４に記載のフィルタリング装置は、請求項１に記載のフィルタリング装置であって、前記記憶部には、前記フィルタリング情報に追加される情報に関する追加情報が格納されており、前記フィルタリング情報の更新要求として、前記フィルタリング対象となる情報の追加要求を受信すると、前記更新処理部は、前記非運用中のフィルタリング情報に、前記追加要求された情報を追加するとともに、前記追加情報に前記追加要求された情報を追加し、前記切替処理部による前記切り替え後、前記運用中のフィルタリングから前記非運用中のフィルタリング情報に切り替えられた前記フィルタリング情報に、前記追加情報に前記追加要求された情報を追加し、前記フィルタリング処理部は、前記フィルタリング判定対象となる情報が入力されると、前記運用中のフィルタリング情報及び前記追加情報を基に、入力された前記情報がフィルタリングの対象であるか否かを判定することを特徴とする。
【００１５】
かかる発明によれば、フィルタリング情報とは別の追加情報を有することで、フィルタリング対象となる情報の追加要求を受信しても、運用されているフィルタリング情報の更新を行うことなく、追加要求を反映したフィルタリング処理を行うことができる。
【００１６】
また、請求項５に記載のフィルタリング装置は、請求項４に記載のフィルタリング装置であって、前記記憶部には、前記フィルタリング情報から削除される情報に関する削除情報が格納されており、前記更新処理部は、前記追加要求された情報が、前記削除情報に含まれるか否かを判定し、前記削除情報に含まれている場合、前記削除情報から前記追加要求された情報を削除し、前記削除情報に含まれていない場合、前記追加情報に前記追加要求された情報を追加することを特徴とする。
【００１７】
かかる発明によれば、フィルタリング対象の情報が削除要求された後、該情報がフィルタリング対象に追加要求しなおされた場合に対処できる。
【００１８】
そして、請求項６に記載のフィルタリング制御方法は、フィルタリング対象に関する情報が格納されているフィルタリング情報を、少なくとも２つ記憶部に有するフィルタリング装置によるフィルタリング制御方法であって、前記フィルタリング情報のうち、１つは情報のフィルタリングを行うフィルタリング処理に使用される運用中のフィルタリング情報であり、その他は前記フィルタリング処理に使用されない非運用中のフィルタリング情報であり、前記フィルタリング装置は、所定の条件が満たされると、前記運用中のフィルタリング情報を非運用中のフィルタリング情報に切り替え、前記非運用中の前記フィルタリング情報を運用中のフィルタリング情報に切り替えるとともに、前記フィルタリング情報の更新要求を受信すると、前記非運用中のフィルタリング情報に対して、更新を行い、かつ、フィルタリング判定対象となる情報が入力されると、前記運用中のフィルタリング情報を基に、入力された前記情報が、フィルタリングの対象であるか否かを判定するを有することを特徴とする。
【００１９】
かかる発明によれば、非運用中のフィルタリング情報に対して情報の更新を行うことにより、フィルタリング対象となる情報の更新要求を受信するたびにフィルタリング装置を停止することなく、更新を行うことができる。
【発明の効果】
【００２０】
本発明によれば、フィルタリングの運用を停止することなく、フィルタリング対象となる情報の変更に対処することができる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態に係るフィルタリング装置の構成例を示す機能ブロック図である。
【図２】本実施形態に係るネットワークシステムの構成例を示す図である。
【図３】本実施形態に係るフィルタリング装置の処理概要を示す図である。
【図４】本実施形態に係るＵＲＬリストテーブルの例を示す図である。
【図５】本実施形態に係る削除ＵＲＬハッシュテーブル及び参照用削除ＵＲＬハッシュテーブルの例を示す図である。
【図６】本実施形態に係る追加ＵＲＬハッシュテーブル及び参照用追加ＵＲＬハッシュテーブルの例を示す図である。
【図７】本実施形態に係るフィルタリング処理の処理手順を示すフローチャートである。
【図８】本実施形態に係る切替処理の処理手順を示すフローチャートである。
【図９】本実施形態に係る削除処理の処理手順を示すフローチャートである。
【図１０】本実施形態に係る追加処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００２２】
次に、本発明を実施するための形態（「実施形態」という）について、適宜図面を参照しながら詳細に説明する。
【００２３】
［フィルタリング装置］
図１は、本実施形態に係るフィルタリング装置の構成例を示す機能ブロック図である。
フィルタリング装置１は、ＲＡＭ（Random Access Memory）や、ＲＯＭ（Read Only Memory）等のメモリ（記憶部）１００と、ＣＰＵ（Central Processing Unit）等の演算装置３００と、ＨＤ（Hard Disk）等の記憶装置２００と、入出力インタフェースである入出力装置４００とを有している。
【００２４】
メモリ１００には以下の各テーブル１２１〜１２３が格納されている。
削除ＵＲＬハッシュテーブル（削除情報）１２１は、削除されるＵＲＬが該ＵＲＬを基に算出されたハッシュ値と対になって格納されているハッシュテーブルである。
ＵＲＬリストテーブル（フィルタリング情報）１２２は、フィルタリング対象となっているＵＲＬが格納されているリストテーブルである。
追加ＵＲＬハッシュテーブル（追加情報）１２３は、追加されるＵＲＬが、該ＵＲＬを基に算出されたハッシュ値と対になって格納されているハッシュテーブルである。
【００２５】
図１に示すように、各テーブル１２１〜１２３は、テーブル群１２０に属しており、各テーブル群１２０は、一方が運用中のテーブル群１２０である運用テーブル群１２０ａ、他方が非運用中のテーブル群１２０である非運用テーブル群１２０ｂとなっている。
ここで、運用テーブル群１２０ａとはクライアント端末３（図２）からＵＲＬへの接続要求が入力されたとき、このＵＲＬがフィルタリングの対象となっているか否かを判定する（フィルタリング処理）際に使用されるテーブルである。一方、非運用テーブル群１２０ｂとは、フィルタリング処理時には使用されないテーブルである。
【００２６】
ここでは、テーブル１２１ａ〜１２３ａを運用テーブル群１２０ａとし、テーブル１２１ｂ〜１２３ｂを非運用テーブル群１２０ｂとしている。後記するように、所定の切替条件が満たされると、運用テーブル群１２０ａのテーブル１２１ａ〜１２３ａが非運用テーブル群となり、非運用テーブル群１２０ｂのテーブル１２１ｂ〜１２３ｂが運用テーブル群に切り替えられる。
なお、非運用テーブル群１２０ｂの削除ＵＲＬハッシュテーブル１２１ｂ及び追加ＵＲＬハッシュテーブル１２３ｂが破線で示されているのは、これらのテーブルがＮＵＬＬもしくは削除されていることを示している。
【００２７】
また、メモリ１００には、記憶装置２００に格納されているプログラムが展開され、演算装置３００によって実行されることで、処理部１００及び処理部１００を構成する以下の各部１１１〜１１８が具現化されている。
なお、各部１１１〜１１８が行う処理の詳細は後記する。
【００２８】
接続処理部１１８は、削除ＵＲＬマッチング部１１５、リストマッチング部１１６、追加ＵＲＬマッチング部１１７の判定結果に応じて、接続要求ＵＲＬへの接続を行ったり、禁止したりする。
切替処理部１１２は、運用テーブル群１２０ａを非運用テーブル群に切り替え、非運用テーブル群１２０ｂを運用テーブル群に切り替える。
統合処理部１１３は、切替処理部１１２による運用中テーブル群１２０ａと、非運用中テーブル群１２０ｂとの切り替え後、非運用となったＵＲＬリストテーブル１２２ａを更新する。この更新は、運用・非運用の切替によって非運用テーブル群となった削除ＵＲＬハッシュテーブル１２１ａ及び追加ＵＲＬハッシュテーブル１２３ａに従って行われる。
【００２９】
更新処理部１１４は、オペレーションサーバ２（図２）からフィルタリング対象となるＵＲＬの削除要求や、追加要求を受信すると、後記する削除処理や、追加処理を行う。なお、更新処理部１１４は、運用テーブル群１２０ａにおける削除ＵＲＬハッシュテーブル１２１ａと同じテーブルである参照用削除ＵＲＬハッシュテーブル１３１を有している。同様に、更新処理部１１４は、運用テーブル群１２０ａにおける追加ＵＲＬハッシュテーブル１２３ａと同じテーブルである参照用追加ＵＲＬハッシュテーブル１３２を有している。
【００３０】
参照用削除ＵＲＬハッシュテーブル１３１は、後記するフィルタリング対象のＵＲＬの追加処理において、既に削除ＵＲＬハッシュテーブル１２１ａに登録されているか否かを判定する際に使用される。追加処理において、既に削除ＵＲＬハッシュテーブル１２１ａに登録されていることは、処理対象となっているＵＲＬが一度削除要求された後、再度追加要求されなおしたことを意味している。この際、更新処理部１１４が有している参照用削除ＵＲＬハッシュテーブル１３１を参照するのは、高速に判定を行うためであり、参照用削除ＵＲＬハッシュテーブル１３１ではなく、削除ＵＲＬハッシュテーブル１２１ａが直接参照されてもよい。
【００３１】
同様に、参照用追加ＵＲＬハッシュテーブル１３２は、後記するフィルタリング対象のＵＲＬの削除処理において、既に追加ＵＲＬハッシュテーブル１２３ａに登録されているか否かを判定する際に使用される。削除処理において、既に追加ＵＲＬハッシュテーブル１２３ａに登録されていることは、処理対象となっているＵＲＬが一度追加要求された後、再度削除要求されなおしたことを意味している。この際、更新処理部１１４が有している参照用追加ＵＲＬハッシュテーブル１３２を参照するのは、高速に判定を行うためであり、参照用追加ＵＲＬハッシュテーブル１３２ではなく、追加ＵＲＬハッシュテーブル１２３ａが直接参照されてもよい。
【００３２】
ハッシュ値算出部１１１は、処理対象となっているＵＲＬのハッシュ値を算出する。
削除ＵＲＬマッチング部（フィルタリング部）１１５は、後記するフィルタリング処理において、運用テーブル群１２０ａにおける削除ＵＲＬハッシュテーブル１２３ａを参照する。そして、削除ＵＲＬマッチング部１１５は、接続要求のために入力されたＵＲＬ（以下、接続要求ＵＲＬと称する）が、削除対象のＵＲＬであるか否かを判定する。
リストマッチング部（フィルタリング部）１１６は、運用テーブル群１２０ａにおけるＵＲＬリストテーブル１２２ａを参照する。そして、リストマッチング部１１６は、接続要求ＵＲＬがフィルタリング対象であるか否かを判定し、判定結果に応じて接続の許可、不許可を判定する。
追加ＵＲＬマッチング部（フィルタリング部）１１７は、運用テーブル群１２０ａにおける追加ＵＲＬハッシュテーブル１２３ａを参照する。そして、追加ＵＲＬマッチング部１１７は、接続要求ＵＲＬが追加対象のＵＲＬであるか否かを判定する。
【００３３】
［システム構成］
図２は、本実施形態に係るネットワークシステムの構成例を示す図である。
ネットワークシステム１０において、クライアント端末３はルータ４ａを介して通信事業者網５ａに接続しており、通信事業者網５ａはルータ４ｂを介して外部インターネット網５ｂに接続されている。
通信事業者網５ａには、フィルタリング装置１及びオペレーションサーバ２が接続されている。ここで、オペレーションサーバ２は、フィルタリング装置１に対して、フィルタリング対象となるＵＲＬを通知するものである。なお、図２において、オペレーションサーバ２は通信事業者網５ａに接続されているが、通信事業者網５ａ外の外部インターネット網５ｂに接続されていてもよい。
【００３４】
クライアント端末３によるＵＲＬへの接続要求は、フィルタリング装置１へ送られる。フィルタリング装置１は、クライアント端末３から接続要求を受信すると、接続要求されているＵＲＬがフィルタリングの対象となっているか否かを判定する。そして、フィルタリング装置１は接続要求されているＵＲＬがフィルタリングの対象外であれば、該ＵＲＬにクライアント端末３を接続する。また、フィルタリング装置１は接続要求されているＵＲＬがフィルタリングの対象であれば、該ＵＲＬへのクライアント端末３の接続を禁止する。
【００３５】
［処理概要］
図３は、本実施形態に係るフィルタリング装置の処理概要を示す図である。
なお、図３ではハッシュ値算出部１１１、統合処理部１１３、接続処理部１１８、参照用削除ＵＲＬハッシュテーブル１３１、参照用追加ＵＲＬハッシュテーブル１３２に関する説明を省略する。これらについては後記して説明する。
【００３６】
オペレーションサーバ２からフィルタリング対象となっているＵＲＬの削除要求を受信すると（Ｓ１１）、フィルタリング装置１の更新処理部１１４は運用テーブル群１２０ａの削除ＵＲＬハッシュテーブル１２１ａに削除要求されているＵＲＬを登録する（Ｓ１２）。また、削除要求されているＵＲＬが非運用テーブル群１２０ａの追加ＵＲＬハッシュテーブル１２３ａに登録されている場合、更新処理部１１４は削除要求されているＵＲＬを追加ＵＲＬハッシュテーブル１２３ａから削除する（Ｓ１３）。さらに、更新処理部１１４は、非運用テーブル群１２０ｂのＵＲＬリストテーブル１２２ｂから削除要求されているＵＲＬを削除する（Ｓ１４）。
【００３７】
オペレーションサーバ２からフィルタリング対象となるＵＲＬの追加要求を受信すると（Ｓ２１）、フィルタリング装置１の更新処理部１１４は運用テーブル群１２０ａの追加ＵＲＬハッシュテーブル１２３ａに追加要求されているＵＲＬを登録する（Ｓ２２）。また、追加要求されているＵＲＬが運用テーブル群１２０ａの削除ＵＲＬハッシュテーブル１２１ａに登録されている場合、更新処理部１１４は追加要求されているＵＲＬを削除ＵＲＬハッシュテーブル１２１ａから削除する（Ｓ２３）。さらに、更新処理部１１４は、非運用テーブル群１２０ｂのＵＲＬリストテーブル１２２ｂに追加要求されているＵＲＬを追加する（Ｓ２４）。
【００３８】
また、所定の切替条件が満たされると、切替処理部１１２は、運用テーブル群１２０ａと、非運用テーブル群１２０ｂとを切り換える（Ｓ３１）。
そして、接続要求されたＵＲＬ（接続要求ＵＲＬ：フィルタリング対象となる情報）が入力されると、削除ＵＲＬマッチング部１１５、リストマッチング部１１６、追加ＵＲＬマッチング部１１７が、運用テーブル群１２０ａの各テーブル１２１ａ〜１２３ａのそれぞれを参照する。各テーブル１２１ａ〜１２３ａを参照することによって、削除ＵＲＬマッチング部１１５、リストマッチング部１１６、追加ＵＲＬマッチング部１１７は、接続要求ＵＲＬがフィルタリング対象であるか否かを判定する（Ｓ４１〜Ｓ４３）。
【００３９】
［テーブル］
次に、図４〜図６を参照して、本実施形態に係る各テーブル１２１〜１２３を説明する。
（ＵＲＬリストテーブル）
図４は、本実施形態に係るＵＲＬリストテーブルの例を示す図である。
ＵＲＬリストテーブル１２２には、フィルタリング対象となっているＵＲＬのリストが格納されている。
【００４０】
（削除ＵＲＬハッシュテーブル、参照用削除ＵＲＬハッシュテーブル）
図５は、本実施形態に係る削除ＵＲＬハッシュテーブル及び参照用削除ＵＲＬハッシュテーブルの例を示す図である。
前記したように、削除ＵＲＬハッシュテーブル１２１と、参照用削除ＵＲＬハッシュテーブル１３１とは同一の内容を有している。
図５に示すように、削除ＵＲＬハッシュテーブル１２１及び参照用削除ＵＲＬハッシュテーブル１３１は、ＵＲＬを基に算出されたハッシュ値と、ハッシュ値の算出元となったＵＲＬとが対の情報として格納されている。
【００４１】
（追加ＵＲＬハッシュテーブル、参照用追加ＵＲＬハッシュテーブル）
図６は、本実施形態に係る追加ＵＲＬハッシュテーブル及び参照用追加ＵＲＬハッシュテーブルの例を示す図である。
前記したように、追加ＵＲＬハッシュテーブル１２３と、参照用追加ＵＲＬハッシュテーブル１３２とは同一の内容を有している。
図６に示すように、追加ＵＲＬハッシュテーブル１２３及び参照用追加ＵＲＬハッシュテーブル１３２は、ＵＲＬを基に算出されたハッシュ値と、ハッシュ値の算出元となったＵＲＬとが対の情報として格納されている。
【００４２】
なお、本実施形態において、削除ＵＲＬハッシュテーブル１２１、参照用削除ＵＲＬハッシュテーブル１３１、追加ＵＲＬハッシュテーブル１２３、参照用追加ＵＲＬハッシュテーブル１３２は、ハッシュ値と、ＵＲＬとの対の情報となっている。しかしながら、これに限らず、削除対象のＵＲＬは別のリストテーブルとして格納されており、削除ＵＲＬハッシュテーブル１２１、参照用削除ＵＲＬハッシュテーブル１３１、追加ＵＲＬハッシュテーブル１２３、参照用追加ＵＲＬハッシュテーブル１３２には、ハッシュ値と、メモリ１００のアドレスとの対の情報が格納されていてもよい。メモリ１００のアドレスはハッシュ値に結び付けられるＵＲＬが格納されているメモリ領域の先頭アドレス等である。
【００４３】
［フローチャート］
次に、適宜図１、図２を参照して、図７〜図１０に沿って本実施形態に係るフィルタリング装置１の詳細な処理を説明する。
（フィルタリング処理）
図７は、本実施形態に係るフィルタリング処理の処理手順を示すフローチャートである。
まず、フィルタリング判定対象となる情報として接続要求されるＵＲＬ（接続要求ＵＲＬ）が入出力装置４００を介して入力される（Ｓ１０１）と、ハッシュ値算出部１１１が接続要求ＵＲＬのハッシュ値を算出する（Ｓ１０２）。
次に、削除ＵＲＬマッチング部１１５が、運用テーブル群１２０ａの削除ＵＲＬハッシュテーブル１２１ａを参照して、接続要求ＵＲＬが削除対象のＵＲＬであるか否かを判定する（Ｓ１０３）。すなわち、削除ＵＲＬマッチング部１１５は、削除ＵＲＬハッシュテーブル１２１ａを基に、接続要求ＵＲＬがフィルタリングの対象であるか否かを判定する。
ステップＳ１０３の結果、削除対象のＵＲＬであれば（Ｓ１０３→Ｙｅｓ）、接続処理部１１８は該接続要求ＵＲＬへの接続を許可する（Ｓ１０４）。
【００４４】
ステップＳ１０３の結果、削除対象のＵＲＬでない場合（Ｓ１０３→Ｎｏ）、リストマッチング部１１６が、運用テーブル群１２０ａのＵＲＬリストテーブル１２２ａを参照する。そして、リストマッチング部１１６は、接続対象ＵＲＬがＵＲＬリストテーブル１２２ａに登録されているか否かを判定することで（Ｓ１１１）、該接続要求ＵＲＬがフィルタリング対象（接続禁止対象のＵＲＬ）であるか否かを判定する。すなわち、リストマッチング部１１６は、ＵＲＬリストテーブル１２２ａを基に、接続要求ＵＲＬがフィルタリングの対象であるか否かを判定する。
ステップＳ１１１の結果、接続禁止対象のＵＲＬである場合（Ｓ１１１→Ｙｅｓ）、接続処理部１１８は該接続要求ＵＲＬへの接続を禁止する旨を要求元端末へ通知する（Ｓ１１２）。
【００４５】
ステップＳ１１１の結果、接続禁止対象のＵＲＬでない場合（Ｓ１１１→Ｎｏ）、追加ＵＲＬマッチング部１１７は、追加ＵＲＬハッシュテーブル１２３ａを参照する。そして、追加ＵＲＬマッチング部１１７は、接続要求ＵＲＬが追加対象のＵＲＬであるか否かを判定する（Ｓ１２１）。すなわち、追加ＵＲＬマッチング部１１７は、追加ＵＲＬハッシュテーブル１２３ａを基に、接続要求ＵＲＬがフィルタリングの対象であるか否かを判定する。
ステップＳ１２１の結果、追加対象のＵＲＬでない場合（Ｓ１２１→Ｎｏ）、接続処理部１１８は該接続要求ＵＲＬへの接続を許可する（Ｓ１２２）。
ステップＳ１２１の結果、追加対象のＵＲＬである場合（Ｓ１２１→Ｙｅｓ）、接続処理部１１８は該接続要求ＵＲＬへの接続を禁止する旨を要求元端末へ通知する（Ｓ１１２）。
【００４６】
（切替処理）
図８は、本実施形態に係る切替処理の処理手順を示すフローチャートである。図８では、現在の運用テーブル群１２０ａが非運用テーブル群となり、現在の非運用テーブル群１２０ｂが運用テーブル群になるものとする。
まず、切替処理部１１２は、所定の切替条件が満たされたか否かを判定する（Ｓ２０１）。所定の切替条件とは、前回の切り替えから所定時間が経過したか否かや、追加更新及び削除更新の要求数が一定数に達したか否か等である。
ステップＳ２０１の結果、切替条件が満たされていない場合（Ｓ２０１→Ｎｏ）、切替処理部１１２はステップＳ２０１へ処理を戻す。
【００４７】
ステップＳ２０１の結果、切替条件が満たされている場合（Ｓ２０１→Ｙｅｓ）、切替処理部１１２は削除要求、追加要求等の更新要求の受け付けを停止する（Ｓ２０２）。
続いて、切替処理部１１２は、フィルタリング処理を行う運用テーブル群１２０ａと、非運用テーブル群１２０ｂとの切替処理を行う（Ｓ２０３）。すなわち、切替処理部１１２は現在運用されている運用テーブル群１２０ａを非運用テーブル群とし、非運用テーブル群１０ｂを運用テーブル群とする。
【００４８】
その後、統合処理部１１３は、統合処理を行う（Ｓ２０４）。ステップＳ２０４において、統合処理部１１３は、切替処理によって、非運用となった削除ＵＲＬハッシュテーブル１２１ａ及び追加ＵＲＬハッシュテーブル１２３ａに格納されているＵＲＬをＵＲＬリストテーブル１２２ａに追加する。そして、統合処理部１１３は、処理対象となっている削除ＵＲＬハッシュテーブル１２１ａ及び追加ＵＲＬハッシュテーブル１２３ａのデータを消去する。
ステップＳ２０４の後、統合処理部１１３は、更新された、非運用となっているＵＲＬリストテーブル１２２ａのソートを行う（Ｓ２０５）。
ソート完了後、切替処理部１１２は停止していた更新要求の受け付けを再開し（Ｓ２０６）、ステップＳ２０１へ処理を戻す。
【００４９】
（削除処理）
図９は、本実施形態に係る削除処理の処理手順を示すフローチャートである。
更新処理部１１４は、更新要求として、オペレーションサーバ２からＵＲＬの削除要求を受信したか否かを判定する（Ｓ３０１）。
ステップＳ３０１の結果、削除要求を受信していない場合（Ｓ３０１→Ｎｏ）、更新処理部１１４はステップＳ３０１へ処理を戻す。
【００５０】
ステップＳ３０１の結果、削除要求を受信している場合（Ｓ３０１→Ｙｅｓ）、更新処理部１１４はメモリ１００上の参照用追加ＵＲＬハッシュテーブル１３２を参照し、削除要求ＵＲＬが参照用追加ＵＲＬハッシュテーブル１３２に登録されているか否かを判定する（Ｓ３０２）。前記したように、ステップＳ３０２で参照用追加ＵＲＬハッシュテーブル１３２を使用するのは、更新処理部１１４のアクセスを高速にするためである。従って、ステップＳ３０２において、参照用追加ＵＲＬハッシュテーブル１３２の代わりに追加ＵＲＬハッシュテーブル１２３ａが参照されてもよい。
ステップＳ３０２の結果、フィルタリング対象から削除要求されたＵＲＬである削除要求ＵＲＬが参照用追加ＵＲＬハッシュテーブル１３２に登録されていない場合（Ｓ３０２→Ｎｏ）、ハッシュ値算出部１１１が、削除要求ＵＲＬのハッシュ値を算出する（Ｓ３１１）。
【００５１】
そして、更新処理部１１４は、参照用削除ＵＲＬハッシュテーブル１３１に、算出したハッシュ値と削除要求ＵＲＬとを追加する（Ｓ３１２）。
続いて、更新処理部１１４は、運用テーブル群１２０ａの削除ＵＲＬハッシュテーブル１２１ａに、算出したハッシュ値と削除要求ＵＲＬとを追加する（Ｓ３１３）。
さらに、更新処理部１１４は、非運用テーブル群１２０ｂのＵＲＬリストテーブル１２２ｂから削除要求ＵＲＬを削除した（Ｓ３１４）後、ＵＲＬリストテーブル１２２ｂのソートを行い（Ｓ３１５）、ステップＳ３０１へ処理を戻す。
【００５２】
一方、ステップＳ３０２の結果、削除要求ＵＲＬが参照用追加ＵＲＬハッシュテーブル１３２に登録されている場合（Ｓ３０２→Ｙｅｓ）、ハッシュ値算出部１１１は、削除要求ＵＲＬのハッシュ値を算出する（Ｓ３２１）。
そして、更新処理部１１４は、算出したハッシュ値をキーとして、参照用追加ＵＲＬハッシュテーブル１３２から、算出したハッシュ値と削除要求ＵＲＬとを削除する（Ｓ３２２）。
さらに、更新処理部１１４は、算出したハッシュ値をキーとして、運用テーブル群１２０ａの追加ＵＲＬハッシュテーブル１２３ａから、算出したハッシュ値と削除要求ＵＲＬとを削除し（Ｓ３２３）、ステップＳ３０１へ処理を戻す。
【００５３】
なお、参照用削除ＵＲＬハッシュテーブル１３１が用いられない場合、ステップＳ３１２，Ｓ３２２の処理は省略されてもよい。
また、ハッシュ値の算出は、ステップＳ３０２の前に行われてもよい。
【００５４】
（追加処理）
図１０は、本実施形態に係る追加処理の処理手順を示すフローチャートである。
更新処理部１１４は、更新要求として、オペレーションサーバ２からＵＲＬの追加要求を受信したか否かを判定する（Ｓ４０１）。
ステップＳ４０１の結果、追加要求を受信していない場合（Ｓ４０１→Ｎｏ）、更新処理部１１４はステップＳ４０１へ処理を戻す。
【００５５】
ステップＳ４０１の結果、追加要求を受信している場合（Ｓ４０１→Ｙｅｓ）、更新処理部１１４はメモリ１００上の参照用削除ＵＲＬハッシュテーブル１３１を参照し、追加要求ＵＲＬが参照用削除ＵＲＬハッシュテーブル１３１に登録されているか否かを判定する（Ｓ４０２）。前記したように、ステップＳ４０２で参照用削除ＵＲＬハッシュテーブル１３１を使用するのは、更新処理部１１４のアクセスを高速にするためである。従って、ステップＳ３０２において、参照用削除ＵＲＬハッシュテーブル１３１の代わりに削除ＵＲＬハッシュテーブル１２１ａが参照されてもよい。
ステップＳ４０２の結果、追加要求ＵＲＬが参照用削除ＵＲＬハッシュテーブル１３１に登録されていない場合（Ｓ４０２→Ｎｏ）、ハッシュ値算出部１１１が、追加要求ＵＲＬのハッシュ値を算出する（Ｓ４１１）。
【００５６】
そして、更新処理部１１４は、フィルタリング対象として追加要求されたＵＲＬである参照用追加ＵＲＬハッシュテーブル１３２に、算出したハッシュ値と追加要求ＵＲＬとを追加する（Ｓ４１２）。
続いて、更新処理部１１４は、運用テーブル群１２０ａの追加ＵＲＬハッシュテーブル１２３ａに、算出したハッシュ値と追加要求ＵＲＬとを追加する（Ｓ４１３）。
さらに、更新処理部１１４は、非運用テーブル群１２０ｂのＵＲＬリストテーブル１２２ｂに追加要求ＵＲＬを追加した（Ｓ４１４）後、ＵＲＬリストテーブル１２２ｂのソートを行い（Ｓ４１５）、ステップＳ４０１へ処理を戻す。
【００５７】
一方、ステップＳ４０２の結果、追加要求ＵＲＬが参照用削除ＵＲＬハッシュテーブル１３１に登録されている場合（Ｓ４０２→Ｙｅｓ）、ハッシュ値算出部１１１は、追加要求ＵＲＬのハッシュ値を算出する（Ｓ４２１）。
そして、更新処理部１１４は、算出したハッシュ値をキーとして、参照用削除ＵＲＬハッシュテーブル１３１から、算出したハッシュ値と追加要求ＵＲＬとを削除する（Ｓ４２２）。
さらに、更新処理部１１４は、算出したハッシュ値をキーとして、運用テーブル群１２０ａの削除ＵＲＬハッシュテーブル１２１ａから、算出したハッシュ値と追加要求ＵＲＬとを削除し（Ｓ４２３）、ステップＳ４０１へ処理を戻す。
【００５８】
なお、参照用追加ＵＲＬハッシュテーブル１３２が用いられない場合、ステップＳ４１２，Ｓ４２２の処理は省略されてもよい。
また、ハッシュ値の算出は、ステップＳ４０２の前に行われてもよい。
【００５９】
このように、本実施形態に係るフィルタリング装置１は、フィルタリング処理時に参照するＵＲＬリストテーブル１２２ａと、参照しないＵＲＬリストテーブル１２２ｂとを有している。そして、所定の条件が満たされると、フィルタリング装置１はＵＲＬリストテーブル１２２ａと、ＵＲＬリストテーブル１２２ｂとを切り換える。
さらに、フィルタリング対象となるＵＲＬの削除や、追加といった更新要求を受信すると、フィルタリング装置１は、ＵＲＬリストテーブル１２２ｂを更新し、ＵＲＬリストテーブル１２２ａの更新を行わない。このようにすることで、更新要求を受信するたびにフィルタリング装置１を停止することなく、更新を行うことができる。
【００６０】
また、本実施形態に係るフィルタリング装置１は、フィルタリング対象からの削除を要求されたＵＲＬが格納されており、フィルタリング処理時に参照される削除ＵＲＬハッシュテーブル１２１ａを有している。このような削除ＵＲＬハッシュテーブル１２１ａを有することで、フィルタリング対象のＵＲＬの削除要求を受信しても、ＵＲＬリストテーブル１２２ａの更新を行うことなく、削除要求に対応できる。
【００６１】
同様に、本実施形態に係るフィルタリング装置１は、フィルタリング対象の追加を要求されたＵＲＬが格納されており、フィルタリング処理時に参照される追加ＵＲＬハッシュテーブル１２３ａを有している。このような追加ＵＲＬハッシュテーブル１２３ａを有することで、フィルタリング対象のＵＲＬの追加要求を受信しても、ＵＲＬリストテーブル１２２ａの更新を行うことなく、追加要求に対応できる。
【００６２】
また、本実施形態において、削除ＵＲＬハッシュテーブル１２１、追加ＵＲＬハッシュテーブル１２３はハッシュテーブルの形式となっている。このようにすることで、フィルタリング処理時における削除ＵＲＬハッシュテーブル１２１、追加ＵＲＬハッシュテーブル１２３の検索を高速化することができる。
また、削除ＵＲＬハッシュテーブル１２１、追加ＵＲＬハッシュテーブル１２３をハッシュテーブルの形式とすることで、前記したように検索を高速化できることに加えて、ＵＲＬの追加、削除を高速化することもできる。
【００６３】
そして、本実施形態に係るフィルタリング装置１は、削除要求を受信した際に、参照用追加ＵＲＬハッシュテーブル１３２に削除要求ＵＲＬが登録されているか否かを判定する。そして、登録されていれば、フィルタリング装置１が追加ＵＲＬハッシュテーブル１２３ａから該ＵＲＬを削除する。登録されていなければ、削除ＵＲＬハッシュテーブル１２１ａに該ＵＲＬを登録する。このようにすることで、フィルタリング装置１は、あるＵＲＬがフィルタリング対象として追加要求された後、該ＵＲＬが削除要求しなおされた場合にも対応できる。
【００６４】
同様に、本実施形態に係るフィルタリング装置１は、追加要求を受信した際に、参照用削除ＵＲＬハッシュテーブル１３１に追加要求ＵＲＬが登録されているか否かを判定する。そして、登録されていれば、フィルタリング装置１が削除ＵＲＬハッシュテーブル１２１ａから該ＵＲＬを削除する。登録されていなければ、追加ＵＲＬハッシュテーブル１２３ａに該ＵＲＬを登録する。このようにすることで、フィルタリング装置１は、あるＵＲＬがフィルタリング対象として削除要求された後、該ＵＲＬが追加要求しなおされた場合にも対応できる。
【００６５】
また、運用テーブル群１２０ａと、非運用テーブル群１２０ｂとの切り替え後、フィルタリング装置１は、削除ＵＲＬハッシュテーブル１２１及び追加ＵＲＬハッシュテーブル１２３のデータを、ＵＲＬリストテーブル１２２に統合する。その後、フィルタリング装置１は、削除ＵＲＬハッシュテーブル１２１及び追加ＵＲＬハッシュテーブル１２３のデータを消去する。このようにすることで、削除ＵＲＬハッシュテーブル１２１及び追加ＵＲＬハッシュテーブル１２３をある程度の大きさまでに抑えることが可能となる。
【００６６】
さらに、本実施形態に係るフィルタリング装置１は、運用テーブル群１２０ａと、非運用テーブル群１２０ｂとの切替時において、削除要求や追加要求といったフィルタリング対象となるＵＲＬの更新要求の受け付けを停止する。このようにすることで、ＵＲＬリストテーブル１２２のデータ不整合を防止することができる。
【００６７】
なお、本実施形態では、ＵＲＬリストテーブル１２２は、ＵＲＬのリストのみが登録されているとしたが、ハッシュテーブルの形式としてもよい。このようにすることで、図７のステップＳ１１１におけるＵＲＬリストテーブル１２２の検索を高速化することができる。
また、本実施形態のフィルタリング装置１は、削除ＵＲＬハッシュテーブル１２１、ＵＲＬリストテーブル１２２及び追加ＵＲＬハッシュテーブル１２３を２つずつ有するとしたが、３つずつ有してもよい。
【００６８】
また、本実施形態において、削除ＵＲＬハッシュテーブル１２１、ＵＲＬリストテーブル１２２及び追加ＵＲＬハッシュテーブル１２３は、接続が許可されないＵＲＬの検索を想定しているものである。しかしながら、削除ＵＲＬハッシュテーブル１２１、ＵＲＬリストテーブル１２２及び追加ＵＲＬハッシュテーブル１２３を、接続を許可するＵＲＬのリスト（いわゆるホワイトリスト）とすることも可能である。
【００６９】
この場合、図７に示すフィルタリング処理における「接続許可」、「接続禁止通知」を逆にすることでホワイトリストに対応可能である。
すなわち、図７に示すフィルタリング処理において、ステップＳ１０３の結果、削除対象のＵＲＬであれば（Ｓ１０３→Ｙｅｓ）、接続処理部１１８は該接続要求ＵＲＬへの接続を禁止する旨を要求元端末へ通知する。
また、ステップＳ１１１の結果、接続許可対象のＵＲＬである場合（ＵＲＬリストテーブル１２２ａに格納されているＵＲＬである場合）（Ｓ１１１→Ｙｅｓ）、接続処理部１１８は該接続要求ＵＲＬへの接続を許可する。
同様に、ステップＳ１２１の結果、追加対象のＵＲＬである場合（Ｓ１２１→Ｙｅｓ）、接続処理部１１８は該接続要求ＵＲＬへの接続を許可する。
そして、ステップＳ１２１の結果、追加対象のＵＲＬでない場合（Ｓ１２１→Ｎｏ）、接続処理部１１８は該接続要求ＵＲＬへの接続を禁止する旨を要求元端末へ通知する。
【符号の説明】
【００７０】
１      フィルタリング装置
２      オペレーションサーバ
３      クライアント端末
１０    ネットワークシステム
１００  メモリ（記憶部）
１１０  処理部
１１１  ハッシュ値算出部
１１２  切替処理部
１１３  統合処理部
１１４  更新処理部
１１５  削除ＵＲＬマッチング部（フィルタリング処理部）
１１６  リストマッチング部（フィルタリング処理部）
１１７  追加ＵＲＬマッチング部（フィルタリング処理部）
１１８  接続処理部
１２０ａ  運用テーブル群
１２０ｂ  非運用テーブル群
１２１，１２１ａ，１２１ｂ  削除ＵＲＬハッシュテーブル（削除情報）
１２２，１２２ａ，１２２ｂ  ＵＲＬリストテーブル（フィルタリング情報）
１２３，１２３ａ，１２３ｂ  追加ＵＲＬハッシュテーブル（追加情報）
１３１  参照用削除ＵＲＬハッシュテーブル（削除情報）
１３２  参照用追加ＵＲＬハッシュテーブル（追加情報）
【図１】
2015156100.tif 000003
【図２】
2015156100.tif 000004
【図３】
2015156100.tif 000005
【図４】
2015156100.tif 000006
【図５】
2015156100.tif 000007
【図６】
2015156100.tif 000008
【図７】
2015156100.tif 000009
【図８】
2015156100.tif 000010
【図９】
2015156100.tif 000011
【図１０】
2015156100.tif 000012