(58)【調査した分野】(Int.Cl.,DB名)
URLのフィルタリング対象に関する情報が格納されているフィルタリング情報を、少なくとも2つ記憶部に有するとともに、前記フィルタリング情報から削除される情報に関する削除情報及び前記フィルタリング情報に追加される情報に関する追加情報を記憶部に有し、
前記フィルタリング情報のうち、1つは入力されたURLのフィルタリングを行うフィルタリング処理に使用される運用中のフィルタリング情報であり、その他は前記フィルタリング処理に使用されない非運用中のフィルタリング情報であり、
前記追加情報は、運用中の追加情報と、非運用中の追加情報とを有し、
前記削除情報は、運用中の削除情報と、非運用中の削除情報とを有し、
所定の条件が満たされると、前記運用中のフィルタリング情報を非運用中のフィルタリング情報に切り替え、前記非運用中の前記フィルタリング情報を運用中のフィルタリング情報に切り替える切替処理部と、
前記フィルタリング情報の更新要求を受信すると、前記非運用中のフィルタリング情報に対して、更新を行い、当該フィルタリング情報のソートを行う更新処理部と、
フィルタリング判定対象となるURLが入力されると、前記運用中のフィルタリング情報において二分木探索を行うことで、入力された前記URLが、フィルタリングの対象であるか否かを判定するフィルタリング処理部と、
を有し、
前記フィルタリング情報の更新要求として、前記フィルタリング対象の情報の削除要求を受信すると、
前記更新処理部は、
前記削除要求された情報が、運用中の前記追加情報に含まれるか否かを判定し、
運用中の前記追加情報に含まれている場合、運用中の前記追加情報から前記削除要求された情報を削除し、
運用中の前記追加情報に含まれていない場合、運用中の前記削除情報に前記削除要求された情報を追加し、
前記切替処理部による前記切り替え後、前記運用中のフィルタリング情報から前記非運用中のフィルタリング情報に切り替えられた前記フィルタリング情報において、運用中から非運用中に切り替えられた前記削除情報に格納されている情報を削除するとともに運用中から非運用中に切り替えられた前記追加情報に格納されている情報を追加し、当該フィルタリング情報のソートを行い、
前記フィルタリング処理部は、
前記フィルタリング判定対象となるURLが入力されると、前記運用中のフィルタリング情報を用いた二分木探索を行うとともに、運用中の前記追加情報及び運用中の前記削除情報を基に、入力された前記URLがフィルタリングの対象であるか否かを判定する
ことを特徴とするフィルタリング装置。
URLのフィルタリング対象に関する情報が格納されているフィルタリング情報を、少なくとも2つ記憶部に有するとともに、前記フィルタリング情報に追加される情報に関する追加情報及び前記フィルタリング情報から削除される情報に関する削除情報を記憶部に有し、
前記フィルタリング情報のうち、1つは入力されたURLのフィルタリングを行うフィルタリング処理に使用される運用中のフィルタリング情報であり、その他は前記フィルタリング処理に使用されない非運用中のフィルタリング情報であり、
前記追加情報は、運用中の追加情報と、非運用中の追加情報とを有し、
前記削除情報は、運用中の削除情報と、非運用中の削除情報とを有し、
所定の条件が満たされると、前記運用中のフィルタリング情報を非運用中のフィルタリング情報に切り替え、前記非運用中の前記フィルタリング情報を運用中のフィルタリング情報に切り替える切替処理部と、
前記フィルタリング情報の更新要求を受信すると、前記非運用中のフィルタリング情報に対して、更新を行い、当該フィルタリング情報のソートを行う更新処理部と、
フィルタリング判定対象となるURLが入力されると、前記運用中のフィルタリング情報において二分木探索を行うことで、入力された前記URLが、フィルタリングの対象であるか否かを判定するフィルタリング処理部と、
を有し、
前記フィルタリング情報の更新要求として、前記フィルタリング対象の情報の追加要求を受信すると、
前記更新処理部は、
前記追加要求された情報が、運用中の前記削除情報に含まれるか否かを判定し、
運用中の前記削除情報に含まれている場合、運用中の前記削除情報から前記追加要求された情報を削除し、
運用中の前記削除情報に含まれていない場合、運用中の前記追加情報に前記追加要求された情報を追加し、
前記切替処理部による前記切り替え後、前記運用中のフィルタリング情報から前記非運用中のフィルタリング情報に切り替えられた前記フィルタリング情報に、運用中から非運用中に切り替えられた前記追加情報に格納されている情報を追加するとともに運用中から非運用中に切り替えられた前記削除情報に格納されている情報を削除し、当該フィルタリング情報のソートを行い、
前記フィルタリング処理部は、
前記フィルタリング判定対象となるURLが入力されると、前記運用中のフィルタリング情報を用いた二分木探索を行うとともに、運用中の前記追加情報及び運用中の前記削除情報を基に、入力された前記URLがフィルタリングの対象であるか否かを判定する
ことを特徴とするフィルタリング装置。
URLのフィルタリング対象に関する情報が格納されているフィルタリング情報を、少なくとも2つ記憶部に有するとともに、前記フィルタリング情報から削除される情報に関する削除情報及び前記フィルタリング情報に追加される情報に関する追加情報を記憶部に有するフィルタリング装置によるフィルタリング制御方法であって、
前記フィルタリング情報のうち、1つは入力されたURLのフィルタリングを行うフィルタリング処理に使用される運用中のフィルタリング情報であり、その他は前記フィルタリング処理に使用されない非運用中のフィルタリング情報であり、
前記追加情報は、運用中の追加情報と、非運用中の追加情報とを有し、
前記削除情報は、運用中の削除情報と、非運用中の削除情報とを有し、
前記フィルタリング情報の更新要求として、前記フィルタリング対象の情報の削除要求を受信すると、
前記フィルタリング装置は、
前記削除要求された情報が、運用中の前記追加情報に含まれるか否かを判定し、
運用中の前記追加情報に含まれている場合、運用中の前記追加情報から前記削除要求された情報を削除し、
運用中の前記追加情報に含まれていない場合、運用中の前記削除情報に前記削除要求された情報を追加し、
所定の条件が満たされると、前記運用中のフィルタリング情報を非運用中のフィルタリング情報に切り替え、前記非運用中の前記フィルタリング情報を運用中のフィルタリング情報に切り替え、
該切り替え後、前記運用中のフィルタリング情報から前記非運用中のフィルタリング情報に切り替えられた前記フィルタリング情報において、運用中から非運用中に切り替えられた前記削除情報に格納されている情報を削除するとともに運用中から非運用中に切り替えられた前記追加情報に格納されている情報を追加し、当該フィルタリング情報のソートを行い、
フィルタリング判定対象となるURLが入力されると、前記運用中のフィルタリング情報を用いた二分木探索を行うとともに、運用中の前記追加情報及び運用中の前記削除情報を基に、入力された前記URLがフィルタリングの対象であるか否かを判定する
ことを特徴とするフィルタリング制御方法。
URLのフィルタリング対象に関する情報が格納されているフィルタリング情報を、少なくとも2つ記憶部に有するとともに、前記フィルタリング情報に追加される情報に関する追加情報及び前記フィルタリング情報から削除される情報に関する削除情報を記憶部に有するフィルタリング装置によるフィルタリング制御方法であって、
前記フィルタリング情報のうち、1つは入力されたURLのフィルタリングを行うフィルタリング処理に使用される運用中のフィルタリング情報であり、その他は前記フィルタリング処理に使用されない非運用中のフィルタリング情報であり、
前記追加情報は、運用中の追加情報と、非運用中の追加情報とを有し、
前記削除情報は、運用中の削除情報と、非運用中の削除情報とを有し、
前記フィルタリング装置は、
前記フィルタリング情報の更新要求として、前記フィルタリング対象の情報の追加要求を受信すると、
前記フィルタリング装置は、
前記追加要求された情報が、運用中の前記削除情報に含まれるか否かを判定し、
運用中の前記削除情報に含まれている場合、運用中の前記削除情報から前記追加要求された情報を削除し、
運用中の前記削除情報に含まれていない場合、運用中の前記追加情報に前記追加要求された情報を追加し、
所定の条件が満たされると、前記運用中のフィルタリング情報を非運用中のフィルタリング情報に切り替え、前記非運用中の前記フィルタリング情報を運用中のフィルタリング情報に切り替え、
該切り替え後、前記運用中のフィルタリング情報から前記非運用中のフィルタリング情報に切り替えられた前記フィルタリング情報に、運用中から非運用中に切り替えられた前記追加情報に格納されている情報を追加するとともに運用中から非運用中に切り替えられた前記削除情報に格納されている情報を削除し、当該フィルタリング情報のソートを行い、
フィルタリング判定対象となるURLが入力されると、前記運用中のフィルタリング情報を用いた二分木探索を行うとともに、運用中の前記追加情報及び運用中の前記削除情報を基に、入力された前記URLがフィルタリングの対象であるか否かを判定する
ことを特徴とするフィルタリング制御方法。
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、URLリストにおけるURLの追加、削除等といったURLリストの更新が必要となった場合、非特許文献1に記載の技術は、高速フィルタリング装置の運用を停止状態にしなければならないといった課題を有している。すなわち、URLリストの更新が必要になると、高速フィルタリング装置は、フィルタリングの運用を一旦停止させた後、URLリストの更新を行う。そして、高速フィルタリング装置は、URLリストの更新終了後、運用を再開するといった手順を行わなければならない。
【0007】
このような背景に鑑みて本発明がなされたのであり、本発明は、フィルタリングの運用を停止することなく、フィルタリング対象となる情報の変更に対処することを課題とする。
【課題を解決するための手段】
【0008】
本発明は、前記課題を解決するために創案されたものであり、請求項1に記載のフィルタリング装置は、URLのフィルタリング対象に関する情報が格納されているフィルタリング情報を、少なくとも2つ記憶部に有するとともに、前記フィルタリング情報から削除される情報に関する削除情報及び前記フィルタリング情報に追加される情報に関する追加情報を記憶部に有し、前記フィルタリング情報のうち、1つは入力されたURLのフィルタリングを行うフィルタリング処理に使用される運用中のフィルタリング情報であり、その他は前記フィルタリング処理に使用されない非運用中のフィルタリング情報であり、
前記追加情報は、運用中の追加情報と、非運用中の追加情報とを有し、前記削除情報は、運用中の削除情報と、非運用中の削除情報とを有し、所定の条件が満たされると、前記運用中のフィルタリング情報を非運用中のフィルタリング情報に切り替え、前記非運用中の前記フィルタリング情報を運用中のフィルタリング情報に切り替える切替処理部と、前記フィルタリング情報の更新要求を受信すると、前記非運用中のフィルタリング情報に対して、更新を行い、当該フィルタリング情報のソートを行う更新処理部と、フィルタリング判定対象となるURLが入力されると、前記運用中のフィルタリング情報において二分木探索を行うことで、入力された前記URLが、フィルタリングの対象であるか否かを判定するフィルタリング処理部と、を有し、前記フィルタリング情報の更新要求として、前記フィルタリング対象の情報の削除要求を受信すると、前記更新処理部は、前記削除要求された情報が、
運用中の前記追加情報に含まれるか否かを判定し、
運用中の前記追加情報に含まれている場合、運用中の前記追加情報から前記削除要求された情報を削除し、
運用中の前記追加情報に含まれていない場合、運用中の前記削除情報に前記削除要求された情報を追加し、前記切替処理部による前記切り替え後、前記運用中のフィルタリング情報から前記非運用中のフィルタリング情報に切り替えられた前記フィルタリング情報
において、
運用中から非運用中に切り替えられた前記削除情報に格納されている情報を削除するとともに
運用中から非運用中に切り替えられた前記追加情報に格納されている情報を追加し、当該フィルタリング情報のソートを行い、前記フィルタリング処理部は、前記フィルタリング判定対象となるURLが入力されると、前記運用中のフィルタリング情報を用いた二分木探索を行うとともに、
運用中の前記追加情報及び
運用中の前記削除情報を基に、入力された前記URLがフィルタリングの対象であるか否かを判定することを特徴とする。
【0009】
かかる発明によれば、非運用中のフィルタリング情報に対して情報の更新を行うことにより、フィルタリング対象となる情報の更新要求を受信するたびにフィルタリング装置を停止することなく、更新を行うことができる。
また、かかる発明によれば、フィルタリング情報とは別の削除情報を有することで、フィルタリング対象となる情報の削除要求を受信しても、運用されているフィルタリング情報の更新を行うことなく、削除要求を反映したフィルタリング処理を行うことができる。さらに、かかる発明によれば、フィルタリング対象の情報が追加要求された後、該情報がフィルタリング対象から削除要求しなおされた場合に対処できる。
【0010】
また、請求項2に記載のフィルタリング装置は、URLのフィルタリング対象に関する情報が格納されているフィルタリング情報を、少なくとも2つ記憶部に有するとともに、前記フィルタリング情報に追加される情報に関する追加情報及び前記フィルタリング情報から削除される情報に関する削除情報を記憶部に有し、前記フィルタリング情報のうち、1つは入力されたURLのフィルタリングを行うフィルタリング処理に使用される運用中のフィルタリング情報であり、その他は前記フィルタリング処理に使用されない非運用中のフィルタリング情報であり、
前記追加情報は、運用中の追加情報と、非運用中の追加情報とを有し、前記削除情報は、運用中の削除情報と、非運用中の削除情報とを有し、所定の条件が満たされると、前記運用中のフィルタリング情報を非運用中のフィルタリング情報に切り替え、前記非運用中の前記フィルタリング情報を運用中のフィルタリング情報に切り替える切替処理部と、前記フィルタリング情報の更新要求を受信すると、前記非運用中のフィルタリング情報に対して、更新を行い、当該フィルタリング情報のソートを行う更新処理部と、フィルタリング判定対象となるURLが入力されると、前記運用中のフィルタリング情報において二分木探索を行うことで、入力された前記URLが、フィルタリングの対象であるか否かを判定するフィルタリング処理部と、を有し、前記フィルタリング情報の更新要求として、前記フィルタリング対象の情報の追加要求を受信すると、前記更新処理部は、前記追加要求された情報が、
運用中の前記削除情報に含まれるか否かを判定し、
運用中の前記削除情報に含まれている場合、運用中の前記削除情報から前記追加要求された情報を削除し、
運用中の前記削除情報に含まれていない場合、運用中の前記追加情報に前記追加要求された情報を追加し、前記切替処理部による前記切り替え後、前記運用中のフィルタリング情報から前記非運用中のフィルタリング情報に切り替えられた前記フィルタリング情報に、
運用中から非運用中に切り替えられた前記追加情報に格納されている情報を追加するとともに
運用中から非運用中に切り替えられた前記削除情報に格納されている情報を削除し、当該フィルタリング情報のソートを行い、前記フィルタリング処理部は、前記フィルタリング判定対象となるURLが入力されると、前記運用中のフィルタリング情報を用いた二分木探索を行うとともに、
運用中の前記追加情報及び
運用中の前記削除情報を基に、入力された前記URLがフィルタリングの対象であるか否かを判定することを特徴とする。
【0011】
かかる発明によれば、
非運用中のフィルタリング情報に対して情報の更新を行うことにより、フィルタリング対象となる情報の更新要求を受信するたびにフィルタリング装置を停止することなく、更新を行うことができる。また、かかる発明によれば、フィルタリング情報とは別の追加情報を有することで、フィルタリング対象となる情報の追加要求を受信しても、運用されているフィルタリング情報の更新を行うことなく、追加要求を反映したフィルタリング処理を行うことができる。さらに、かかる発明によれば、フィルタリング対象の情報が削除要求された後、該情報がフィルタリング対象に追加要求しなおされた場合に対処できる。
【0012】
また、請求項3に記載のフィルタリング制御方法は、URLのフィルタリング対象に関する情報が格納されているフィルタリング情報を、少なくとも2つ記憶部に有するとともに、前記フィルタリング情報から削除される情報に関する削除情報及び前記フィルタリング情報に追加される情報に関する追加情報を記憶部に有するフィルタリング装置によるフィルタリング制御方法であって、前記フィルタリング情報のうち、1つは入力されたURLのフィルタリングを行うフィルタリング処理に使用される運用中のフィルタリング情報であり、その他は前記フィルタリング処理に使用されない非運用中のフィルタリング情報であり、
前記追加情報は、運用中の追加情報と、非運用中の追加情報とを有し、前記削除情報は、運用中の削除情報と、非運用中の削除情報とを有し、前記フィルタリング情報の更新要求として、前記フィルタリング対象の情報の削除要求を受信すると、前記フィルタリング装置は、前記削除要求された情報が、
運用中の前記追加情報に含まれるか否かを判定し、
運用中の前記追加情報に含まれている場合、運用中の前記追加情報から前記削除要求された情報を削除し、
運用中の前記追加情報に含まれていない場合、運用中の前記削除情報に前記削除要求された情報を追加し、所定の条件が満たされると、前記運用中のフィルタリング情報を非運用中のフィルタリング情報に切り替え、前記非運用中の前記フィルタリング情報を運用中のフィルタリング情報に切り替え、該切り替え後、前記運用中のフィルタリング情報から前記非運用中のフィルタリング情報に切り替えられた前記フィルタリング情報
において、
運用中から非運用中に切り替えられた前記削除情報に格納されている情報を削除するとともに
運用中から非運用中に切り替えられた前記追加情報に格納されている情報を追加し、当該フィルタリング情報のソートを行い、フィルタリング判定対象となるURLが入力されると、前記運用中のフィルタリング情報を用いた二分木探索を行うとともに、
運用中の前記追加情報及び
運用中の前記削除情報を基に、入力された前記URLがフィルタリングの対象であるか否かを判定することを特徴とする
【0013】
かかる発明によれば、
非運用中のフィルタリング情報に対して情報の更新を行うことにより、フィルタリング対象となる情報の更新要求を受信するたびにフィルタリング装置を停止することなく、更新を行うことができる。また、かかる発明によれば、フィルタリング情報とは別の削除情報を有することで、フィルタリング対象となる情報の削除要求を受信しても、運用されているフィルタリング情報の更新を行うことなく、削除要求を反映したフィルタリング処理を行うことができる。さらに、かかる発明によれば、フィルタリング対象の情報が追加要求された後、該情報がフィルタリング対象から削除要求しなおされた場合に対処できる。
【0014】
そして、請求項4に記載のフィルタリング制御方法は、URLのフィルタリング対象に関する情報が格納されているフィルタリング情報を、少なくとも2つ記憶部に有するとともに、前記フィルタリング情報に追加される情報に関する追加情報及び前記フィルタリング情報から削除される情報に関する削除情報を記憶部に有するフィルタリング装置によるフィルタリング制御方法であって、前記フィルタリング情報のうち、1つは入力されたURLのフィルタリングを行うフィルタリング処理に使用される運用中のフィルタリング情報であり、その他は前記フィルタリング処理に使用されない非運用中のフィルタリング情報であり、
前記追加情報は、運用中の追加情報と、非運用中の追加情報とを有し、前記削除情報は、運用中の削除情報と、非運用中の削除情報とを有し、前記フィルタリング装置は、前記フィルタリング情報の更新要求として、前記フィルタリング対象の情報の追加要求を受信すると、前記フィルタリング装置は、前記追加要求された情報が、
運用中の前記削除情報に含まれるか否かを判定し、
運用中の前記削除情報に含まれている場合、運用中の前記削除情報から前記追加要求された情報を削除し、
運用中の前記削除情報に含まれていない場合、運用中の前記追加情報に前記追加要求された情報を追加し、所定の条件が満たされると、前記運用中のフィルタリング情報を非運用中のフィルタリング情報に切り替え、前記非運用中の前記フィルタリング情報を運用中のフィルタリング情報に切り替え、該切り替え後、前記運用中のフィルタリング情報から前記非運用中のフィルタリング情報に切り替えられた前記フィルタリング情報に、
運用中から非運用中に切り替えられた前記追加情報に格納されている情報を追加するとともに
運用中から非運用中に切り替えられた前記削除情報に格納されている情報を削除し、当該フィルタリング情報のソートを行い、フィルタリング判定対象となるURLが入力されると、前記運用中のフィルタリング情報を用いた二分木探索を行うとともに、
運用中の前記追加情報及び
運用中の前記削除情報を基に、入力された前記URLがフィルタリングの対象であるか否かを判定することを特徴とする。
【0015】
かかる発明によれば、
非運用中のフィルタリング情報に対して情報の更新を行うことにより、フィルタリング対象となる情報の更新要求を受信するたびにフィルタリング装置を停止することなく、更新を行うことができる。また、かかる発明によれば、フィルタリング情報とは別の追加情報を有することで、フィルタリング対象となる情報の追加要求を受信しても、運用されているフィルタリング情報の更新を行うことなく、追加要求を反映したフィルタリング処理を行うことができる。さらに、かかる発明によれば、フィルタリング対象の情報が削除要求された後、該情報がフィルタリング対象に追加要求しなおされた場合に対処できる。
【発明の効果】
【0020】
本発明によれば、フィルタリングの運用を停止することなく、フィルタリング対象となる情報の変更に対処することができる。
【発明を実施するための形態】
【0022】
次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
【0023】
[フィルタリング装置]
図1は、本実施形態に係るフィルタリング装置の構成例を示す機能ブロック図である。
フィルタリング装置1は、RAM(Random Access Memory)や、ROM(Read Only Memory)等のメモリ(記憶部)100と、CPU(Central Processing Unit)等の演算装置300と、HD(Hard Disk)等の記憶装置200と、入出力インタフェースである入出力装置400とを有している。
【0024】
メモリ100には以下の各テーブル121〜123が格納されている。
削除URLハッシュテーブル(削除情報)121は、削除されるURLが該URLを基に算出されたハッシュ値と対になって格納されているハッシュテーブルである。
URLリストテーブル(フィルタリング情報)122は、フィルタリング対象となっているURLが格納されているリストテーブルである。
追加URLハッシュテーブル(追加情報)123は、追加されるURLが、該URLを基に算出されたハッシュ値と対になって格納されているハッシュテーブルである。
【0025】
図1に示すように、各テーブル121〜123は、テーブル群120に属しており、各テーブル群120は、一方が運用中のテーブル群120である運用テーブル群120a、他方が非運用中のテーブル群120である非運用テーブル群120bとなっている。
ここで、運用テーブル群120aとはクライアント端末3(
図2)からURLへの接続要求が入力されたとき、このURLがフィルタリングの対象となっているか否かを判定する(フィルタリング処理)際に使用されるテーブルである。一方、非運用テーブル群120bとは、フィルタリング処理時には使用されないテーブルである。
【0026】
ここでは、テーブル121a〜123aを運用テーブル群120aとし、テーブル121b〜123bを非運用テーブル群120bとしている。後記するように、所定の切替条件が満たされると、運用テーブル群120aのテーブル121a〜123aが非運用テーブル群となり、非運用テーブル群120bのテーブル121b〜123bが運用テーブル群に切り替えられる。
なお、非運用テーブル群120bの削除URLハッシュテーブル121b及び追加URLハッシュテーブル123bが破線で示されているのは、これらのテーブルがNULLもしくは削除されていることを示している。
【0027】
また、メモリ100には、記憶装置200に格納されているプログラムが展開され、演算装置300によって実行されることで、処理部100及び処理部100を構成する以下の各部111〜118が具現化されている。
なお、各部111〜118が行う処理の詳細は後記する。
【0028】
接続処理部118は、削除URLマッチング部115、リストマッチング部116、追加URLマッチング部117の判定結果に応じて、接続要求URLへの接続を行ったり、禁止したりする。
切替処理部112は、運用テーブル群120aを非運用テーブル群に切り替え、非運用テーブル群120bを運用テーブル群に切り替える。
統合処理部113は、切替処理部112による運用中テーブル群120aと、非運用中テーブル群120bとの切り替え後、非運用となったURLリストテーブル122aを更新する。この更新は、運用・非運用の切替によって非運用テーブル群となった削除URLハッシュテーブル121a及び追加URLハッシュテーブル123aに従って行われる。
【0029】
更新処理部114は、オペレーションサーバ2(
図2)からフィルタリング対象となるURLの削除要求や、追加要求を受信すると、後記する削除処理や、追加処理を行う。なお、更新処理部114は、運用テーブル群120aにおける削除URLハッシュテーブル121aと同じテーブルである参照用削除URLハッシュテーブル131を有している。同様に、更新処理部114は、運用テーブル群120aにおける追加URLハッシュテーブル123aと同じテーブルである参照用追加URLハッシュテーブル132を有している。
【0030】
参照用削除URLハッシュテーブル131は、後記するフィルタリング対象のURLの追加処理において、既に削除URLハッシュテーブル121aに登録されているか否かを判定する際に使用される。追加処理において、既に削除URLハッシュテーブル121aに登録されていることは、処理対象となっているURLが一度削除要求された後、再度追加要求されなおしたことを意味している。この際、更新処理部114が有している参照用削除URLハッシュテーブル131を参照するのは、高速に判定を行うためであり、参照用削除URLハッシュテーブル131ではなく、削除URLハッシュテーブル121aが直接参照されてもよい。
【0031】
同様に、参照用追加URLハッシュテーブル132は、後記するフィルタリング対象のURLの削除処理において、既に追加URLハッシュテーブル123aに登録されているか否かを判定する際に使用される。削除処理において、既に追加URLハッシュテーブル123aに登録されていることは、処理対象となっているURLが一度追加要求された後、再度削除要求されなおしたことを意味している。この際、更新処理部114が有している参照用追加URLハッシュテーブル132を参照するのは、高速に判定を行うためであり、参照用追加URLハッシュテーブル132ではなく、追加URLハッシュテーブル123aが直接参照されてもよい。
【0032】
ハッシュ値算出部111は、処理対象となっているURLのハッシュ値を算出する。
削除URLマッチング部(フィルタリング部)115は、後記するフィルタリング処理において、運用テーブル群120aにおける削除URLハッシュテーブル123aを参照する。そして、削除URLマッチング部115は、接続要求のために入力されたURL(以下、接続要求URLと称する)が、削除対象のURLであるか否かを判定する。
リストマッチング部(フィルタリング部)116は、運用テーブル群120aにおけるURLリストテーブル122aを参照する。そして、リストマッチング部116は、接続要求URLがフィルタリング対象であるか否かを判定し、判定結果に応じて接続の許可、不許可を判定する。
追加URLマッチング部(フィルタリング部)117は、運用テーブル群120aにおける追加URLハッシュテーブル123aを参照する。そして、追加URLマッチング部117は、接続要求URLが追加対象のURLであるか否かを判定する。
【0033】
[システム構成]
図2は、本実施形態に係るネットワークシステムの構成例を示す図である。
ネットワークシステム10において、クライアント端末3はルータ4aを介して通信事業者網5aに接続しており、通信事業者網5aはルータ4bを介して外部インターネット網5bに接続されている。
通信事業者網5aには、フィルタリング装置1及びオペレーションサーバ2が接続されている。ここで、オペレーションサーバ2は、フィルタリング装置1に対して、フィルタリング対象となるURLを通知するものである。なお、
図2において、オペレーションサーバ2は通信事業者網5aに接続されているが、通信事業者網5a外の外部インターネット網5bに接続されていてもよい。
【0034】
クライアント端末3によるURLへの接続要求は、フィルタリング装置1へ送られる。フィルタリング装置1は、クライアント端末3から接続要求を受信すると、接続要求されているURLがフィルタリングの対象となっているか否かを判定する。そして、フィルタリング装置1は接続要求されているURLがフィルタリングの対象外であれば、該URLにクライアント端末3を接続する。また、フィルタリング装置1は接続要求されているURLがフィルタリングの対象であれば、該URLへのクライアント端末3の接続を禁止する。
【0035】
[処理概要]
図3は、本実施形態に係るフィルタリング装置の処理概要を示す図である。
なお、
図3ではハッシュ値算出部111、統合処理部113、接続処理部118、参照用削除URLハッシュテーブル131、参照用追加URLハッシュテーブル132に関する説明を省略する。これらについては後記して説明する。
【0036】
オペレーションサーバ2からフィルタリング対象となっているURLの削除要求を受信すると(S11)、フィルタリング装置1の更新処理部114は運用テーブル群120aの削除URLハッシュテーブル121aに削除要求されているURLを登録する(S12)。また、削除要求されているURLが非運用テーブル群120aの追加URLハッシュテーブル123aに登録されている場合、更新処理部114は削除要求されているURLを追加URLハッシュテーブル123aから削除する(S13)。さらに、更新処理部114は、非運用テーブル群120bのURLリストテーブル122bから削除要求されているURLを削除する(S14)。
【0037】
オペレーションサーバ2からフィルタリング対象となるURLの追加要求を受信すると(S21)、フィルタリング装置1の更新処理部114は運用テーブル群120aの追加URLハッシュテーブル123aに追加要求されているURLを登録する(S22)。また、追加要求されているURLが運用テーブル群120aの削除URLハッシュテーブル121aに登録されている場合、更新処理部114は追加要求されているURLを削除URLハッシュテーブル121aから削除する(S23)。さらに、更新処理部114は、非運用テーブル群120bのURLリストテーブル122bに追加要求されているURLを追加する(S24)。
【0038】
また、所定の切替条件が満たされると、切替処理部112は、運用テーブル群120aと、非運用テーブル群120bとを切り換える(S31)。
そして、接続要求されたURL(接続要求URL:フィルタリング対象となる情報)が入力されると、削除URLマッチング部115、リストマッチング部116、追加URLマッチング部117が、運用テーブル群120aの各テーブル121a〜123aのそれぞれを参照する。各テーブル121a〜123aを参照することによって、削除URLマッチング部115、リストマッチング部116、追加URLマッチング部117は、接続要求URLがフィルタリング対象であるか否かを判定する(S41〜S43)。
【0039】
[テーブル]
次に、
図4〜
図6を参照して、本実施形態に係る各テーブル121〜123を説明する。
(URLリストテーブル)
図4は、本実施形態に係るURLリストテーブルの例を示す図である。
URLリストテーブル122には、フィルタリング対象となっているURLのリストが格納されている。
【0040】
(削除URLハッシュテーブル、参照用削除URLハッシュテーブル)
図5は、本実施形態に係る削除URLハッシュテーブル及び参照用削除URLハッシュテーブルの例を示す図である。
前記したように、削除URLハッシュテーブル121と、参照用削除URLハッシュテーブル131とは同一の内容を有している。
図5に示すように、削除URLハッシュテーブル121及び参照用削除URLハッシュテーブル131は、URLを基に算出されたハッシュ値と、ハッシュ値の算出元となったURLとが対の情報として格納されている。
【0041】
(追加URLハッシュテーブル、参照用追加URLハッシュテーブル)
図6は、本実施形態に係る追加URLハッシュテーブル及び参照用追加URLハッシュテーブルの例を示す図である。
前記したように、追加URLハッシュテーブル123と、参照用追加URLハッシュテーブル132とは同一の内容を有している。
図6に示すように、追加URLハッシュテーブル123及び参照用追加URLハッシュテーブル132は、URLを基に算出されたハッシュ値と、ハッシュ値の算出元となったURLとが対の情報として格納されている。
【0042】
なお、本実施形態において、削除URLハッシュテーブル121、参照用削除URLハッシュテーブル131、追加URLハッシュテーブル123、参照用追加URLハッシュテーブル132は、ハッシュ値と、URLとの対の情報となっている。しかしながら、これに限らず、削除対象のURLは別のリストテーブルとして格納されており、削除URLハッシュテーブル121、参照用削除URLハッシュテーブル131、追加URLハッシュテーブル123、参照用追加URLハッシュテーブル132には、ハッシュ値と、メモリ100のアドレスとの対の情報が格納されていてもよい。メモリ100のアドレスはハッシュ値に結び付けられるURLが格納されているメモリ領域の先頭アドレス等である。
【0043】
[フローチャート]
次に、適宜
図1、
図2を参照して、
図7〜
図10に沿って本実施形態に係るフィルタリング装置1の詳細な処理を説明する。
(フィルタリング処理)
図7は、本実施形態に係るフィルタリング処理の処理手順を示すフローチャートである。
まず、フィルタリング判定対象となる情報として接続要求されるURL(接続要求URL)が入出力装置400を介して入力される(S101)と、ハッシュ値算出部111が接続要求URLのハッシュ値を算出する(S102)。
次に、削除URLマッチング部115が、運用テーブル群120aの削除URLハッシュテーブル121aを参照して、接続要求URLが削除対象のURLであるか否かを判定する(S103)。すなわち、削除URLマッチング部115は、削除URLハッシュテーブル121aを基に、接続要求URLがフィルタリングの対象であるか否かを判定する。
ステップS103の結果、削除対象のURLであれば(S103→Yes)、接続処理部118は該接続要求URLへの接続を許可する(S104)。
【0044】
ステップS103の結果、削除対象のURLでない場合(S103→No)、リストマッチング部116が、運用テーブル群120aのURLリストテーブル122aを参照する。そして、リストマッチング部116は、接続対象URLがURLリストテーブル122aに登録されているか否かを判定することで(S111)、該接続要求URLがフィルタリング対象(接続禁止対象のURL)であるか否かを判定する。すなわち、リストマッチング部116は、URLリストテーブル122aを基に、接続要求URLがフィルタリングの対象であるか否かを判定する。
ステップS111の結果、接続禁止対象のURLである場合(S111→Yes)、接続処理部118は該接続要求URLへの接続を禁止する旨を要求元端末へ通知する(S112)。
【0045】
ステップS111の結果、接続禁止対象のURLでない場合(S111→No)、追加URLマッチング部117は、追加URLハッシュテーブル123aを参照する。そして、追加URLマッチング部117は、接続要求URLが追加対象のURLであるか否かを判定する(S121)。すなわち、追加URLマッチング部117は、追加URLハッシュテーブル123aを基に、接続要求URLがフィルタリングの対象であるか否かを判定する。
ステップS121の結果、追加対象のURLでない場合(S121→No)、接続処理部118は該接続要求URLへの接続を許可する(S122)。
ステップS121の結果、追加対象のURLである場合(S121→Yes)、接続処理部118は該接続要求URLへの接続を禁止する旨を要求元端末へ通知する(S112)。
【0046】
(切替処理)
図8は、本実施形態に係る切替処理の処理手順を示すフローチャートである。
図8では、現在の運用テーブル群120aが非運用テーブル群となり、現在の非運用テーブル群120bが運用テーブル群になるものとする。
まず、切替処理部112は、所定の切替条件が満たされたか否かを判定する(S201)。所定の切替条件とは、前回の切り替えから所定時間が経過したか否かや、追加更新及び削除更新の要求数が一定数に達したか否か等である。
ステップS201の結果、切替条件が満たされていない場合(S201→No)、切替処理部112はステップS201へ処理を戻す。
【0047】
ステップS201の結果、切替条件が満たされている場合(S201→Yes)、切替処理部112は削除要求、追加要求等の更新要求の受け付けを停止する(S202)。
続いて、切替処理部112は、フィルタリング処理を行う運用テーブル群120aと、非運用テーブル群120bとの切替処理を行う(S203)。すなわち、切替処理部112は現在運用されている運用テーブル群120aを非運用テーブル群とし、非運用テーブル群10bを運用テーブル群とする。
【0048】
その後、統合処理部113は、統合処理を行う(S204)。ステップS204において、統合処理部113は、切替処理によって、非運用となっ
た追加URLハッシュテーブル123aに格納されているURLをURLリストテーブル122aに追加する。
同様に、統合処理部113は、切替処理によって、非運用となった削除URLハッシュテーブル121aに格納されているURLをURLリストテーブル122aから削除する。そして、統合処理部113は、処理対象となっている削除URLハッシュテーブル121a及び追加URLハッシュテーブル123aのデータを消去する。
ステップS204の後、統合処理部113は、更新された、非運用となっているURLリストテーブル122aのソートを行う(S205)。
ソート完了後、切替処理部112は停止していた更新要求の受け付けを再開し(S206)、ステップS201へ処理を戻す。
【0049】
(削除処理)
図9は、本実施形態に係る削除処理の処理手順を示すフローチャートである。
更新処理部114は、更新要求として、オペレーションサーバ2からURLの削除要求を受信したか否かを判定する(S301)。
ステップS301の結果、削除要求を受信していない場合(S301→No)、更新処理部114はステップS301へ処理を戻す。
【0050】
ステップS301の結果、削除要求を受信している場合(S301→Yes)、更新処理部114はメモリ100上の参照用追加URLハッシュテーブル132を参照し、削除要求URLが参照用追加URLハッシュテーブル132に登録されているか否かを判定する(S302)。前記したように、ステップS302で参照用追加URLハッシュテーブル132を使用するのは、更新処理部114のアクセスを高速にするためである。従って、ステップS302において、参照用追加URLハッシュテーブル132の代わりに追加URLハッシュテーブル123aが参照されてもよい。
ステップS302の結果、フィルタリング対象から削除要求されたURLである削除要求URLが参照用追加URLハッシュテーブル132に登録されていない場合(S302→No)、ハッシュ値算出部111が、削除要求URLのハッシュ値を算出する(S311)。
【0051】
そして、更新処理部114は、参照用削除URLハッシュテーブル131に、算出したハッシュ値と削除要求URLとを追加する(S312)。
続いて、更新処理部114は、運用テーブル群120aの削除URLハッシュテーブル121aに、算出したハッシュ値と削除要求URLとを追加する(S313)。
さらに、更新処理部114は、非運用テーブル群120bのURLリストテーブル122bから削除要求URLを削除した(S314)後、URLリストテーブル122bのソートを行い(S315)、ステップS301へ処理を戻す。
【0052】
一方、ステップS302の結果、削除要求URLが参照用追加URLハッシュテーブル132に登録されている場合(S302→Yes)、ハッシュ値算出部111は、削除要求URLのハッシュ値を算出する(S321)。
そして、更新処理部114は、算出したハッシュ値をキーとして、参照用追加URLハッシュテーブル132から、算出したハッシュ値と削除要求URLとを削除する(S322)。
さらに、更新処理部114は、算出したハッシュ値をキーとして、運用テーブル群120aの追加URLハッシュテーブル123aから、算出したハッシュ値と削除要求URLとを削除し(S323)、ステップS301へ処理を戻す。
【0053】
なお、参照用削除URLハッシュテーブル131が用いられない場合、ステップS312,S322の処理は省略されてもよい。
また、ハッシュ値の算出は、ステップS302の前に行われてもよい。
【0054】
(追加処理)
図10は、本実施形態に係る追加処理の処理手順を示すフローチャートである。
更新処理部114は、更新要求として、オペレーションサーバ2からURLの追加要求を受信したか否かを判定する(S401)。
ステップS401の結果、追加要求を受信していない場合(S401→No)、更新処理部114はステップS401へ処理を戻す。
【0055】
ステップS401の結果、追加要求を受信している場合(S401→Yes)、更新処理部114はメモリ100上の参照用削除URLハッシュテーブル131を参照し、追加要求URLが参照用削除URLハッシュテーブル131に登録されているか否かを判定する(S402)。前記したように、ステップS402で参照用削除URLハッシュテーブル131を使用するのは、更新処理部114のアクセスを高速にするためである。従って、ステップS302において、参照用削除URLハッシュテーブル131の代わりに削除URLハッシュテーブル121aが参照されてもよい。
ステップS402の結果、追加要求URLが参照用削除URLハッシュテーブル131に登録されていない場合(S402→No)、ハッシュ値算出部111が、追加要求URLのハッシュ値を算出する(S411)。
【0056】
そして、更新処理部114は、フィルタリング対象として追加要求されたURLである参照用追加URLハッシュテーブル132に、算出したハッシュ値と追加要求URLとを追加する(S412)。
続いて、更新処理部114は、運用テーブル群120aの追加URLハッシュテーブル123aに、算出したハッシュ値と追加要求URLとを追加する(S413)。
さらに、更新処理部114は、非運用テーブル群120bのURLリストテーブル122bに追加要求URLを追加した(S414)後、URLリストテーブル122bのソートを行い(S415)、ステップS401へ処理を戻す。
【0057】
一方、ステップS402の結果、追加要求URLが参照用削除URLハッシュテーブル131に登録されている場合(S402→Yes)、ハッシュ値算出部111は、追加要求URLのハッシュ値を算出する(S421)。
そして、更新処理部114は、算出したハッシュ値をキーとして、参照用削除URLハッシュテーブル131から、算出したハッシュ値と追加要求URLとを削除する(S422)。
さらに、更新処理部114は、算出したハッシュ値をキーとして、運用テーブル群120aの削除URLハッシュテーブル121aから、算出したハッシュ値と追加要求URLとを削除し(S423)、ステップS401へ処理を戻す。
【0058】
なお、参照用追加URLハッシュテーブル132が用いられない場合、ステップS412,S422の処理は省略されてもよい。
また、ハッシュ値の算出は、ステップS402の前に行われてもよい。
【0059】
このように、本実施形態に係るフィルタリング装置1は、フィルタリング処理時に参照するURLリストテーブル122aと、参照しないURLリストテーブル122bとを有している。そして、所定の条件が満たされると、フィルタリング装置1はURLリストテーブル122aと、URLリストテーブル122bとを切り換える。
さらに、フィルタリング対象となるURLの削除や、追加といった更新要求を受信すると、フィルタリング装置1は、URLリストテーブル122bを更新し、URLリストテーブル122aの更新を行わない。このようにすることで、更新要求を受信するたびにフィルタリング装置1を停止することなく、更新を行うことができる。
【0060】
また、本実施形態に係るフィルタリング装置1は、フィルタリング対象からの削除を要求されたURLが格納されており、フィルタリング処理時に参照される削除URLハッシュテーブル121aを有している。このような削除URLハッシュテーブル121aを有することで、フィルタリング対象のURLの削除要求を受信しても、URLリストテーブル122aの更新を行うことなく、削除要求に対応できる。
【0061】
同様に、本実施形態に係るフィルタリング装置1は、フィルタリング対象の追加を要求されたURLが格納されており、フィルタリング処理時に参照される追加URLハッシュテーブル123aを有している。このような追加URLハッシュテーブル123aを有することで、フィルタリング対象のURLの追加要求を受信しても、URLリストテーブル122aの更新を行うことなく、追加要求に対応できる。
【0062】
また、本実施形態において、削除URLハッシュテーブル121、追加URLハッシュテーブル123はハッシュテーブルの形式となっている。このようにすることで、フィルタリング処理時における削除URLハッシュテーブル121、追加URLハッシュテーブル123の検索を高速化することができる。
また、削除URLハッシュテーブル121、追加URLハッシュテーブル123をハッシュテーブルの形式とすることで、前記したように検索を高速化できることに加えて、URLの追加、削除を高速化することもできる。
【0063】
そして、本実施形態に係るフィルタリング装置1は、削除要求を受信した際に、参照用追加URLハッシュテーブル132に削除要求URLが登録されているか否かを判定する。そして、登録されていれば、フィルタリング装置1が追加URLハッシュテーブル123aから該URLを削除する。登録されていなければ、削除URLハッシュテーブル121aに該URLを登録する。このようにすることで、フィルタリング装置1は、あるURLがフィルタリング対象として追加要求された後、該URLが削除要求しなおされた場合にも対応できる。
【0064】
同様に、本実施形態に係るフィルタリング装置1は、追加要求を受信した際に、参照用削除URLハッシュテーブル131に追加要求URLが登録されているか否かを判定する。そして、登録されていれば、フィルタリング装置1が削除URLハッシュテーブル121aから該URLを削除する。登録されていなければ、追加URLハッシュテーブル123aに該URLを登録する。このようにすることで、フィルタリング装置1は、あるURLがフィルタリング対象として削除要求された後、該URLが追加要求しなおされた場合にも対応できる。
【0065】
また、運用テーブル群120aと、非運用テーブル群120bとの切り替え後、フィルタリング装置1は、削除URLハッシュテーブル121及び追加URLハッシュテーブル123のデータを、URLリストテーブル122に統合する。その後、フィルタリング装置1は、削除URLハッシュテーブル121及び追加URLハッシュテーブル123のデータを消去する。このようにすることで、削除URLハッシュテーブル121及び追加URLハッシュテーブル123をある程度の大きさまでに抑えることが可能となる。
【0066】
さらに、本実施形態に係るフィルタリング装置1は、運用テーブル群120aと、非運用テーブル群120bとの切替時において、削除要求や追加要求といったフィルタリング対象となるURLの更新要求の受け付けを停止する。このようにすることで、URLリストテーブル122のデータ不整合を防止することができる。
【0067】
なお、本実施形態では、URLリストテーブル122は、URLのリストのみが登録されているとしたが、ハッシュテーブルの形式としてもよい。このようにすることで、
図7のステップS111におけるURLリストテーブル122の検索を高速化することができる。
また、本実施形態のフィルタリング装置1は、削除URLハッシュテーブル121、URLリストテーブル122及び追加URLハッシュテーブル123を2つずつ有するとしたが、3つずつ有してもよい。
【0068】
また、本実施形態において、削除URLハッシュテーブル121、URLリストテーブル122及び追加URLハッシュテーブル123は、接続が許可されないURLの検索を想定しているものである。しかしながら、削除URLハッシュテーブル121、URLリストテーブル122及び追加URLハッシュテーブル123を、接続を許可するURLのリスト(いわゆるホワイトリスト)とすることも可能である。
【0069】
この場合、
図7に示すフィルタリング処理における「接続許可」、「接続禁止通知」を逆にすることでホワイトリストに対応可能である。
すなわち、
図7に示すフィルタリング処理において、ステップS103の結果、削除対象のURLであれば(S103→Yes)、接続処理部118は該接続要求URLへの接続を禁止する旨を要求元端末へ通知する。
また、ステップS111の結果、接続許可対象のURLである場合(URLリストテーブル122aに格納されているURLである場合)(S111→Yes)、接続処理部118は該接続要求URLへの接続を許可する。
同様に、ステップS121の結果、追加対象のURLである場合(S121→Yes)、接続処理部118は該接続要求URLへの接続を許可する。
そして、ステップS121の結果、追加対象のURLでない場合(S121→No)、接続処理部118は該接続要求URLへの接続を禁止する旨を要求元端末へ通知する。