(57)【要約】【課題】ホワイトリストの登録を簡易に行うことを課題とする。【解決手段】通信要求を許可される通信者各々を識別する通信者情報各々からビットパターン各々を算出し、算出したビットパターン各々をビット単位にＯＲ演算することで得られる結果のビットパターンと利用者情報とを対応づけて保持し、ロック状態と未ロック状態とを区別する状態値と利用者情報とを対応づけて保持し、取得した通信者情報を用いてビットパターンを更新し、通信要求を処理する際、状態値が未ロック状態である場合には、通信要求を拒否せずに処理し、状態値がロック状態である場合には、通信要求とともに取得される発信元情報からビットパターンを算出し、保持されているビットパターンと算出した当該ビットパターンとをビット単位で比較し、通信要求を許否または制限つきで処理するか否かを決定する。【選択図】        図１
2008306369.tif 000002
【特許請求の範囲】
【請求項１】
利用者を宛先として着信した通信要求を、当該通信要求の発信元を識別する発信元情報に基づいて、拒否せずに処理するか拒否または制限つきで処理するかを決定するフィルタシステムであって、
通信要求の宛先となる所定の利用者から当該通信要求を許可される通信者各々を識別する通信者情報各々から、０および１の値から成る所定のビット数のビットパターン各々を所定の関数を用いて算出し、算出した当該ビットパターン各々をビット単位にＯＲ演算することで得られる結果のビットパターンと、当該所定の利用者を識別する利用者情報とを対応づけ、当該対応づけを利用者ごとに保持するビットパターン保持手段と、
ロック状態と未ロック状態とを区別する状態値と、前記利用者情報とを対応づけ、当該対応づけを利用者ごとに保持する状態値保持手段と、
前記通信者情報を、利用者を宛先として着信した通信要求を発信した発信元を識別する発信元情報、および／または、利用者を含む複数の通信者を宛先として着信した通信要求の宛先を識別する宛先情報、および／または、利用者によって発信された通信要求の宛先を識別する宛先情報から取得し、取得した当該通信者情報から前記ビット数のビットパターンを所定の関数を用いて算出し、当該利用者を識別する利用者情報と対応づけられて前記ビットパターン保持手段によって保持されている前記ビットパターンと算出した当該ビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、前記ビットパターン保持手段によって保持されている当該ビットパターンを更新するビットパターン更新手段と、
利用者を宛先として着信した通信要求を処理する際、当該通信要求の宛先となる利用者を識別する利用者情報と対応づけられて前記状態値保持手段によって保持されている前記状態値が未ロック状態である場合には、当該通信要求を拒否せずに処理し、前記状態値保持手段によって保持されている前記状態値がロック状態である場合には、当該通信要求とともに取得される発信元情報から前記ビット数のビットパターンを前記関数を用いて算出し、前記ビットパターン保持手段によって当該利用者情報と対応づけられて保持されているビットパターンと算出した当該ビットパターンとをビット単位で比較し、算出した当該ビットパターンにおいて１の値のビットと同じ順位のビットが、保持されている当該ビットパターンにおいて全て１の値であることを条件として、当該通信要求を拒否せずに処理し、保持されている当該ビットパターンにおいていずれかのビットが１の値でないことを条件として、当該通信要求を許否または制限つきで処理するフィルタ処理手段と、
を備えたことを特徴とするフィルタシステム。
【請求項２】
前記ビットパターン更新手段は、利用者を宛先として着信した通信要求が前記フィルタ処理手段によって処理される際、当該通信要求の宛先となる利用者を識別する利用者情報と対応づけられて前記状態値保持手段によって保持されている前記状態値が未ロック状態である場合に、当該通信要求とともに取得される発信元情報から前記通信者情報を取得してビットパターンを更新することを特徴とする請求項１に記載のフィルタシステム。
【請求項３】
前記ビットパターン保持手段は、前記利用者情報と対応づけて保持するビットパターンを、所定の期間保持する長期ビットパターンと、当該長期ビットパターンよりも短い期間保持する一時ビットパターンとに区分けして保持し、
前記ビットパターン更新手段は、前記ビットパターン保持手段によって保持されている前記一時ビットパターンを更新し、
前記フィルタ処理手段は、前記ビットパターン保持手段によって保持されている前記長期ビットパターンと算出したビットパターンとを比較して、前記発信元による通信要求を処理することを特徴とし、
前記ビットパターン保持手段によって保持されている前記ビットパターンを更新することを承認する承認命令を受信する承認命令受信手段と、
前記承認命令受信手段によって前記承認命令が受信されると、前記ビットパターン保持手段によって保持されているビットパターンの中から当該承認命令によって更新することが承認されている長期ビットパターンと一時ビットパターンとを特定し、特定した長期ビットパターンと一時ビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該長期ビットパターンを更新するとともに、０から成る前記ビット数のビットパターンによって、当該一時ビットパターンを更新する第二のビットパターン更新手段と、
をさらに備えたことを特徴とする請求項１または２に記載のフィルタシステム。
【請求項４】
前記状態値保持手段によって保持されている前記状態値について、ロック状態か未ロック状態かの区別を設定する設定命令を受信する設定命令受信手段と、
前記設定命令受信手段によって前記設定命令が受信されると、前記状態値保持手段によって保持されている状態値の中から当該設定命令によって設定されることになる状態値を特定し、特定した状態値を当該設定命令に従って設定する状態値設定手段と、
をさらに備えたことを特徴とする請求項１〜３のいずれか一つに記載のフィルタシステム。
【請求項５】
利用者を宛先として着信した通信要求を、当該通信要求の発信元を識別する発信元情報に基づいて、拒否せずに処理するか拒否または制限つきで処理するかを決定する方法をコンピュータに実行させるフィルタプログラムであって、
通信要求の宛先となる所定の利用者から当該通信要求を許可される通信者各々を識別する通信者情報を、利用者を宛先として着信した通信要求を発信した発信元を識別する発信元情報、および／または、利用者を含む複数の通信者を宛先として着信した通信要求の宛先を識別する宛先情報、および／または、利用者によって発信された通信要求の宛先を識別する宛先情報から取得し、取得した当該通信者情報から０および１の値から成る所定のビット数のビットパターンを所定の関数を用いて算出し、当該利用者を識別する利用者情報と対応づけられて記憶部によって保持されているビットパターンと算出した当該ビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該記憶部に保持されている当該ビットパターンを更新するビットパターン更新手順と、
利用者を宛先として着信した通信要求を処理する際、当該通信要求の宛先となる利用者を識別する利用者情報と対応づけられて前記記憶部に保持されている値であってロック状態と未ロック状態とを区別する状態値が未ロック状態である場合には、当該通信要求を拒否せずに処理し、前記記憶部に保持されている前記状態値がロック状態である場合には、当該通信要求とともに取得される発信元情報から前記ビット数のビットパターンを前記関数を用いて算出し、前記ビットパターン保持手順によって当該利用者情報と対応づけられて保持されているビットパターンと算出した当該ビットパターンとをビット単位で比較し、算出した当該ビットパターンにおいて１の値のビットと同じ順位のビットが、保持されている当該ビットパターンにおいて全て１の値であることを条件として、当該通信要求を拒否せずに処理し、保持されている当該ビットパターンにおいていずれかのビットが１の値でないことを条件として、当該通信要求を許否または制限つきで処理するフィルタ処理手順と、
をコンピュータに実行させることを特徴とするフィルタプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、フィルタシステムおよびフィルタプログラムに関する。
【背景技術】
【０００２】
従来より、インターネットにおいては、営利目的の電子メールを無差別に大量配信する「迷惑メール」が大きな問題となっており、「迷惑メール」対策として様々な技術が開発されている。例えば、発信元情報によって電子メール転送を処理する手法のひとつでは、発信元からの電子メールを利用者に転送するメール転送サーバが、電子メールの転送が許可される発信元のメールアドレスのリスト（ホワイトリスト）を、当該メール転送サーバの管理者などによって入力されることで予め記憶部に登録する。このような構成のもと、メール転送サーバは、利用者宛の電子メールを受信すると、発信元のメールアドレスと一致するメールアドレスがホワイトリストに登録されているか否かを検索し、検索できた場合にのみ、利用者に電子メールを転送する。
【０００３】
また、例えば、特許文献１には、発信元のメールアドレスをリストに自動的に登録する手法が開示されている。具体的に説明すると、メール転送サーバは、未知のメールアドレスから発信された利用者宛の電子メールを受信すると、「暫定許可」として当該電子メールを一旦利用者に転送するとともに、当該メールアドレスを「暫定許可リスト」に自動的に登録する。その後、メール転送サーバは、当該利用者から当該電子メールに対する返信メールを受信した場合にのみ、当該返信メールの宛先メールアドレス（利用者に転送した電子メールの発信元メールアドレス）を、「暫定許可リスト」から「許可リスト」（いわゆるホワイトリスト）に自動的に移動して登録する。一方、メール転送サーバは、当該利用者から返信メールを一定期間受信しない場合には、「暫定許可リスト」に登録されているメールアドレスについて、「暫定許可リスト」から「拒否リスト」（いわゆるブラックリスト）に自動的に移動して登録する。
【０００４】
【特許文献１】特許第３７８５９９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記した従来の技術では、以下に説明するように、ホワイトリストの登録に手間がかかるという課題があった。まず、メールアドレスのリストを管理者などによって入力されることで登録する従来の手法では、ホワイトリストの登録に手間がかかることが明らかである。
【０００６】
一方、特許文献１に開示されている手法は、確かに、メールアドレスのリストを自動的に登録する手法であることから、ホワイトリストの登録に手間がかかるものではない。しかしながら、メール転送サーバの処理に着目してみると、当該メール転送サーバは、電子メールの発信元メールアドレスが「拒否リスト」に登録されているか否かに基づいて、メールの転送を拒否せずに処理するか拒否または制限つきで処理するかを決定するものであり、本質的には、ブラックリストによるフィルタシステムである。
【０００７】
このようなブラックリストによるフィルタシステムの場合、上記したように、メール転送サーバは、未知のメールアドレスから発信された電子メールを受信すると、「暫定許可」として当該電子メールを一旦利用者に転送してしまう。そうであるとすると、一般に、迷惑メールを発信する業者は、発信元メールアドレスを詐称しながら頻繁に変更してしまうものなので、結果として、大半の迷惑メールが利用者に転送されてしまうことになるという新たな課題が生じる。また、上記したように、メール転送サーバは、利用者から返信メールを一定期間受信しない場合には、「暫定許可リスト」に登録されているメールアドレスについて、「暫定許可リスト」から「拒否リスト」に自動的に移動して登録してしまう。そうであるとすると、利用者が気づかなかったり、たまたま返信しなかった電子メールについては、たとえその電子メールの発信元メールアドレスが利用者の知り合いによるものであったとしても、「拒否リスト」に自動的に登録されてしまうという新たな課題が生じる。このようなメールアドレスは、詐称されていないものであるから、ブラックリストによるフィルタシステムの効果を受けてしまうことになる（拒否または制限つきで処理されてしまうことになる）。
【０００８】
また、上記した従来の技術では、以下に説明するように、ホワイトリストの登録に利用される記憶領域が増大してしまうという課題もあった。
【０００９】
すなわち、ホワイトリストとして発信元のメールアドレスのリストを登録する従来の手法では、登録されるメールアドレスの登録数に比例して、ホワイトリストの登録に利用される記憶領域が増大してしまう。このように、ホワイトリストの登録に利用する記憶領域が増大してしまうと、メール転送の許否を判断する際にホワイトリストを検索する記憶領域が増大してしまうことになるので、ホワイトリストを検索する効率が低下する。ひいては、記憶領域の増大や、記憶領域の増大に伴う検索効率の低下を回避するために、ホワイトリストに登録するメールアドレスの登録数を制限せざるを得ないことになる。なお、特許文献１に開示されている手法においても、同様の課題がある。
【００１０】
ところで、上記したこれらの課題は、発信元のメールアドレスを登録することで利用者宛のメール転送を処理するメール転送システムに限られるものではない。発信元のＳＩＰ−ＵＲＩ（Session  Initiation  Protocol−Uniform  Resource  Identifier）などを登録することで利用者宛のメッセージ転送を処理するＩＰ（Internet  Protocol）電話システム、コメントを書き込む者のＩＤなどを登録することでブログに対するコメント書き込みを処理するブログシステム、トラックバックサイトのホストネームなどを登録することでブログに対するトラックバックを処理するブログシステムなど、ネットワーク上においてフィルタリングを行うシステムであれば、同様に課題となる。
【００１１】
そこで、この発明は、上記した従来技術の課題を解決するためになされたものであり、ホワイトリストの登録を簡易に行うことが可能なフィルタシステムおよびフィルタプログラムを提供することを第一の目的とする。
【００１２】
これを別の側面で言えば、例えば、メール転送システムにおいて、迷惑メールが届き始める前の状態から迷惑メールが届く状態に遷移したメールアドレスを宛先として未知のメールアドレスから発信された電子メールについては、利用者に転送しないことが可能なフィルタシステムおよびフィルタプログラムを提供することを第二の目的とする。
【００１３】
また、この発明は、ホワイトリストの登録に利用される記憶領域を増大させないことが可能なフィルタシステムおよびフィルタプログラムを提供することを第三の目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、利用者を宛先として着信した通信要求を、当該通信要求の発信元を識別する発信元情報に基づいて、拒否せずに処理するか拒否または制限つきで処理するかを決定するフィルタシステムであって、通信要求の宛先となる所定の利用者から当該通信要求を許可される通信者各々を識別する通信者情報各々から、０および１の値から成る所定のビット数のビットパターン各々を所定の関数を用いて算出し、算出した当該ビットパターン各々をビット単位にＯＲ演算することで得られる結果のビットパターンと、当該所定の利用者を識別する利用者情報とを対応づけ、当該対応づけを利用者ごとに保持するビットパターン保持手段と、ロック状態と未ロック状態とを区別する状態値と、前記利用者情報とを対応づけ、当該対応づけを利用者ごとに保持する状態値保持手段と、前記通信者情報を、利用者を宛先として着信した通信要求を発信した発信元を識別する発信元情報、および／または、利用者を含む複数の通信者を宛先として着信した通信要求の宛先を識別する宛先情報、および／または、利用者によって発信された通信要求の宛先を識別する宛先情報から取得し、取得した当該通信者情報から前記ビット数のビットパターンを所定の関数を用いて算出し、当該利用者を識別する利用者情報と対応づけられて前記ビットパターン保持手段によって保持されている前記ビットパターンと算出した当該ビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、前記ビットパターン保持手段によって保持されている当該ビットパターンを更新するビットパターン更新手段と、利用者を宛先として着信した通信要求を処理する際、当該通信要求の宛先となる利用者を識別する利用者情報と対応づけられて前記状態値保持手段によって保持されている前記状態値が未ロック状態である場合には、当該通信要求を拒否せずに処理し、前記状態値保持手段によって保持されている前記状態値がロック状態である場合には、当該通信要求とともに取得される発信元情報から前記ビット数のビットパターンを前記関数を用いて算出し、前記ビットパターン保持手段によって当該利用者情報と対応づけられて保持されているビットパターンと算出した当該ビットパターンとをビット単位で比較し、算出した当該ビットパターンにおいて１の値のビットと同じ順位のビットが、保持されている当該ビットパターンにおいて全て１の値であることを条件として、当該通信要求を拒否せずに処理し、保持されている当該ビットパターンにおいていずれかのビットが１の値でないことを条件として、当該通信要求を許否または制限つきで処理するフィルタ処理手段と、を備えたことを特徴とする。
【００１５】
また、請求項２に係る発明は、上記の発明において、前記ビットパターン更新手段は、利用者を宛先として着信した通信要求が前記フィルタ処理手段によって処理される際、当該通信要求の宛先となる利用者を識別する利用者情報と対応づけられて前記状態値保持手段によって保持されている前記状態値が未ロック状態である場合に、当該通信要求とともに取得される発信元情報から前記通信者情報を取得してビットパターンを更新することを特徴とする。
【００１６】
また、請求項３に係る発明は、上記の発明において、前記ビットパターン保持手段は、前記利用者情報と対応づけて保持するビットパターンを、所定の期間保持する長期ビットパターンと、当該長期ビットパターンよりも短い期間保持する一時ビットパターンとに区分けして保持し、前記ビットパターン更新手段は、前記ビットパターン保持手段によって保持されている前記一時ビットパターンを更新し、前記フィルタ処理手段は、前記ビットパターン保持手段によって保持されている前記長期ビットパターンと算出したビットパターンとを比較して、前記発信元による通信要求を処理することを特徴とし、前記ビットパターン保持手段によって保持されている前記ビットパターンを更新することを承認する承認命令を受信する承認命令受信手段と、前記承認命令受信手段によって前記承認命令が受信されると、前記ビットパターン保持手段によって保持されているビットパターンの中から当該承認命令によって更新することが承認されている長期ビットパターンと一時ビットパターンとを特定し、特定した長期ビットパターンと一時ビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該長期ビットパターンを更新するとともに、０から成る前記ビット数のビットパターンによって、当該一時ビットパターンを更新する第二のビットパターン更新手段と、をさらに備えたことを特徴とする。
【００１７】
また、請求項４に係る発明は、上記の発明において、前記状態値保持手段によって保持されている前記状態値について、ロック状態か未ロック状態かの区別を設定する設定命令を受信する設定命令受信手段と、前記設定命令受信手段によって前記設定命令が受信されると、前記状態値保持手段によって保持されている状態値の中から当該設定命令によって設定されることになる状態値を特定し、特定した状態値を当該設定命令に従って設定する状態値設定手段と、をさらに備えたことを特徴とする。
【００１８】
また、請求項５に係る発明は、利用者を宛先として着信した通信要求を、当該通信要求の発信元を識別する発信元情報に基づいて、拒否せずに処理するか拒否または制限つきで処理するかを決定する方法をコンピュータに実行させるフィルタプログラムであって、通信要求の宛先となる所定の利用者から当該通信要求を許可される通信者各々を識別する通信者情報を、利用者を宛先として着信した通信要求を発信した発信元を識別する発信元情報、および／または、利用者を含む複数の通信者を宛先として着信した通信要求の宛先を識別する宛先情報、および／または、利用者によって発信された通信要求の宛先を識別する宛先情報から取得し、取得した当該通信者情報から０および１の値から成る所定のビット数のビットパターンを所定の関数を用いて算出し、当該利用者を識別する利用者情報と対応づけられて記憶部によって保持されているビットパターンと算出した当該ビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該記憶部に保持されている当該ビットパターンを更新するビットパターン更新手順と、利用者を宛先として着信した通信要求を処理する際、当該通信要求の宛先となる利用者を識別する利用者情報と対応づけられて前記記憶部に保持されている値であってロック状態と未ロック状態とを区別する状態値が未ロック状態である場合には、当該通信要求を拒否せずに処理し、前記記憶部に保持されている前記状態値がロック状態である場合には、当該通信要求とともに取得される発信元情報から前記ビット数のビットパターンを前記関数を用いて算出し、前記ビットパターン保持手順によって当該利用者情報と対応づけられて保持されているビットパターンと算出した当該ビットパターンとをビット単位で比較し、算出した当該ビットパターンにおいて１の値のビットと同じ順位のビットが、保持されている当該ビットパターンにおいて全て１の値であることを条件として、当該通信要求を拒否せずに処理し、保持されている当該ビットパターンにおいていずれかのビットが１の値でないことを条件として、当該通信要求を許否または制限つきで処理するフィルタ処理手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１９】
請求項１または５の発明によれば、利用者を宛先として着信した通信要求を、当該通信要求の発信元を識別する発信元情報に基づいて、拒否せずに処理するか拒否または制限つきで処理するかを決定するフィルタシステムであって、通信要求の宛先となる所定の利用者から当該通信要求を許可される通信者各々を識別する通信者情報各々から、０および１の値から成る所定のビット数のビットパターン各々を所定の関数を用いて算出し、算出したビットパターン各々をビット単位にＯＲ演算することで得られる結果のビットパターンと、所定の利用者を識別する利用者情報とを対応づけ、対応づけを利用者ごとに保持し、ロック状態と未ロック状態とを区別する状態値と、利用者情報とを対応づけ、対応づけを利用者ごとに保持し、通信者情報を、利用者を宛先として着信した通信要求を発信した発信元を識別する発信元情報、および／または、利用者を含む複数の通信者を宛先として着信した通信要求の宛先を識別する宛先情報、および／または、利用者によって発信された通信要求の宛先を識別する宛先情報から取得し、取得した通信者情報から前記ビット数のビットパターンを所定の関数を用いて算出し、当該利用者を識別する利用者情報と対応づけられて保持されているビットパターンと算出したビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、保持されているビットパターンを更新し、利用者を宛先として着信した通信要求を処理する際、当該通信要求の宛先となる利用者を識別する利用者情報と対応づけられて保持されている状態値が未ロック状態である場合には、当該通信要求を拒否せずに処理し、保持されている状態値がロック状態である場合には、当該通信要求とともに取得される発信元情報から前記ビット数のビットパターンを前記関数を用いて算出し、当該利用者情報と対応づけられて保持されているビットパターンと算出したビットパターンとをビット単位で比較し、算出したビットパターンにおいて１の値のビットと同じ順位のビットが、保持されているビットパターンにおいて全て１の値であることを条件として、当該通信要求を拒否せずに処理し、保持されているビットパターンにおいていずれかのビットが１の値でないことを条件として、当該通信要求を許否または制限つきで処理するので、ホワイトリストの登録を簡易に行うことが可能になる。
【００２０】
例えば、メール転送システムにおいて、ホワイトリストの登録を、利用者による電子メールの受信、送信、あるいは返信といった通常発生するメール転送システムの動作（利用者の日常的なメール通信行為）と連動させることにより、利用者が追加的な操作をすることなくホワイトリストの登録を自動化することが可能になり、ホワイトリストの登録操作の面倒さを解決することが可能になる。
【００２１】
また、例えば、メール転送システムにおいて、迷惑メールが届き始める前の状態から迷惑メールが届く状態に遷移したメールアドレスを宛先として未知のメールアドレスから発信された電子メールについては、利用者に転送しないことが可能になる。
【００２２】
また、上記した効果に加え、ホワイトリストの登録に利用される記憶領域を増大させないことが可能になる。
【００２３】
また、請求項２の発明によれば、利用者を宛先として着信した通信要求が処理される際、当該通信要求の宛先となる利用者を識別する利用者情報と対応づけられて保持されている状態値が未ロック状態である場合に、当該通信要求とともに取得される発信元情報から通信者情報を取得してビットパターンを更新するので、利用者側から電子メールを送信していない通信者についても、ホワイトリストに登録することが可能になる。すなわち、迷惑メールが届き始める前の状態のメールアドレスについては、当該メールアドレスを宛先とする電子メールのうち、利用者が気づかなかったり、たまたま返信しなかった電子メールについても、当該電子メールの発信元メールアドレスを正当なメールアドレスであるとみなしてよいはずである。請求項２の発明によれば、このようなメールアドレスについて、ホワイトリストに登録することが可能になる。
【００２４】
また、請求項３の発明によれば、利用者情報と対応づけて保持するビットパターンを、所定の期間保持する長期ビットパターンと、長期ビットパターンよりも短い期間保持する一時ビットパターンとに区分けして保持し、保持されている一時ビットパターンを更新し、保持されている長期ビットパターンと算出したビットパターンとを比較して、発信元による通信要求を処理することを特徴とし、保持されているビットパターンを更新することを承認する承認命令を受信し、承認命令が受信されると、保持されているビットパターンの中から当該承認命令によって更新することが承認されている長期ビットパターンと一時ビットパターンとを特定し、特定した長期ビットパターンと一時ビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、長期ビットパターンを更新するとともに、０から成る前記ビット数のビットパターンによって、一時ビットパターンを更新するので、ビットパターンの自動更新処理が２フェーズ化されることから、『拒否または制限つきで処理すべき通信要求が届かない状態（届き始める前の状態）』から『拒否または制限つきで処理すべき通信要求が届く状態』へと遷移してから、状態値が『ロック状態』に切り替えられるまでの間に、本来利用者が許可しない通信者の通信者情報が、許可される通信者の通信者情報として登録されてしまう事態を回避することが可能になる。
【００２５】
例えば、本発明に係るフィルタシステムがメール転送システムに適用される場合に、メール受信の契機でビットパターンを自動更新する形態であるとすると、ＳＰＡＭが届き始めてから利用者によって状態値が『ロック状態』に切り替えられるまでの間に、ＳＰＡＭを発信した発信者のアドレスが、許可された通信者のアドレスとしてホワイトリストに登録されてしまうことになる。このような場合に、ビットパターンの自動更新処理を２フェーズ化することで、利用者が受信履歴を確認しながら、最近受信したメールに関するビットパターンの更新を行うか否かを指定することができ、本来利用者が許可しないＳＰＡＭ発信者をビットパターンに登録してしまう事態を回避することが可能になる。
【００２６】
また、請求項４の発明によれば、保持されている状態値について、ロック状態か未ロック状態かの区別を設定する設定命令を受信し、設定命令が受信されると、保持されている状態値の中から当該設定命令によって設定されることになる状態値を特定し、特定した状態値を設定命令に従って設定するので、状態値の設定を利用者などの主導で行うことが可能になる。
【発明を実施するための最良の形態】
【００２７】
以下に添付図面を参照して、本発明に係るフィルタシステムおよびフィルタプログラムの実施例を説明する。なお、以下では、実施例で用いる主要な用語、実施例１に係るフィルタシステムの概要および特徴、実施例１に係るフィルタシステムの構成、実施例１に係るフィルタシステムによる処理の手順、実施例１の効果を順に説明し、続いて、他の実施例について説明する。
【実施例１】
【００２８】
［用語の説明］
まず最初に、以下の実施例で用いる主要な用語を説明する。「通信要求」とは、例えば、メール転送システムの利用者を宛先として発信された「電子メール」、ＩＰ電話システムの利用者を宛先として発信された「INVITEメッセージ」、ブログシステムの利用者（ブログ開設者）を宛先として発信された「コメント書き込み要求」、ブログシステムの利用者を宛先として発信された「トラックバック要求」などのことである。
【００２９】
ここで、本発明に係る「フィルタシステム」は、メール転送システムやＩＰ電話システム、あるいはブログシステムなどのサービスを提供する電気通信事業者など（あるいは、このような電気通信事業者から依頼を受けたその他の事業者など）によって運営されることを主に想定するものであり、上記したような「通信要求」を一旦着信し、着信した「通信要求」を、「拒否せずに処理する」か「拒否または制限つきで処理する」かを決定するものである。また、「フィルタシステム」は、かかる決定を、「通信要求」の発信元を識別する「発信元情報」に基づいて行う。
【００３０】
具体的に例を挙げて説明すると、例えば、メール転送システムの場合であれば、「フィルタシステム」は、「電子メール」を一旦着信し、着信した「電子メール」の発信元メールアドレスに基づいて、当該「電子メール」を「転送可として転送する」か「転送不可として転送しない」かを決定する。また、例えば、ＩＰ電話システムの場合であれば、「フィルタシステム」は、「INVITEメッセージ」を一旦着信し、着信した「INVITEメッセージ」の発信元ＳＩＰ−ＵＲＩに基づいて、当該「INVITEメッセージ」を「接続可として接続する」か「接続不可として接続しない」かを決定する。また、例えば、ブログシステムの場合であれば、「フィルタシステム」は、「コメント書き込み要求」を一旦着信し、着信した「コメント書き込み要求」の発信元ＩＤ（コメント者ＩＤ）に基づいて、当該「コメント書き込み要求」を「書き込み可として書き込ませる」か「書き込み不可として書き込ませない」かを決定する。また、同様に、「フィルタシステム」は、「トラックバック要求」を一旦着信し、着信した「トラックバック要求」の発信元ホストネーム（トラックバックサイトのホストネーム）に基づいて、「トラックバック可としてトラックバックさせる」か「トラックバック不可としてトラックバックさせない」かを決定する。
【００３１】
ところで、「フィルタシステム」が、「通信要求」を「拒否または制限つきで処理する」必要が生じるのは、一般に、利用者において、『拒否または制限つきで処理すべき通信要求が届く状態』が生じている時であると考えられる。例えば、利用者において、『迷惑メールが届く状態』が生じている時である。そこで、『迷惑メールが届く状態』がどのように生じるかについて考えてみると、一般に、利用者において、メールアドレスを取得した当初は、『迷惑メールが届き始める前の状態』のはずである。しかしながら、利用者が、不特定人とメールを交換したり、不特定のインターネットサイトで自らのメールアドレスを入力したりする内に、あるタイミングから、利用者において、『迷惑メールが届く状態』が生じてしまっているものである。
【００３２】
そうであるとすると、「フィルタシステム」も、利用者において、未だ『拒否または制限つきで処理すべき通信要求が届かない状態（届き始める前の状態）』であるのか、あるいは、既に『拒否または制限つきで処理すべき通信要求が届く状態』に遷移したのかを把握し、その遷移に応じた処理を行うことが望ましい。本発明に係る「フィルタシステム」は、このような遷移に応じた処理を行った上で、ホワイトリストの登録を簡易に行うことを可能にするものである。
【００３３】
［実施例１に係るフィルタシステムの概要および特徴］
続いて、図１を用いて、実施例１に係るフィルタシステムの概要および特徴を説明する。図１は、実施例１に係るフィルタシステムの概要および特徴を説明するための図である。なお、以下の実施例１では、フィルタシステムを、電子メールを転送するメール転送システムに適用する場合ついて説明するが、本発明はこれに限られるものではなく、ＩＰ電話システムやブログシステムなどにも、本発明を同様に適用することができる。
【００３４】
実施例１に係るフィルタシステムは、上記したように、利用者を宛先として着信した電子メールを、当該電子メールの発信元を識別する発信元情報（メールアドレス）に基づいて、利用者に転送するか転送しないかを決定することを概要とし、ホワイトリストの登録を簡易に行うことを主たる特徴とする。
【００３５】
この主たる特徴について簡単に説明すると、実施例１に係るフィルタシステムは、図１に示すように、ビットパターンテーブル（特許請求の範囲に記載の「ビットパターン保持手段」および「状態値保持手段」に対応する）において、利用者情報とビットパターンと状態値とを対応づけて保持する。例えば、フィルタシステムは、図１に示すように、利用者情報（電子メールの宛先となる利用者を識別する情報）として「suzuki」と、ビットパターンとして「０１０００００１１０１１・・・」と、状態値として「未ロック状態」とを対応づけて保持する。
【００３６】
ここで、ビットパターンは、電子メールの転送が所定の利用者から許可された通信者各々を識別する通信者情報（例えば、通信者のメールアドレスなど）各々から、「０」および「１」の値から成るビット数ｍのビットパターン各々をハッシュ関数などを用いて算出し、算出したビットパターン各々をビット単位にＯＲ演算することで得られる結果のビットパターンのことである。言い換えると、ビットパターンは、いわゆる「ホワイトリスト」に相当する。
【００３７】
また、実施例１において、フィルタシステムは、電子メールがフィルタシステムによって転送される際、利用者情報と対応づけられてビットパターンテーブルによって保持されている状態値が「未ロック状態」である場合に、電子メールとともに取得される発信元情報から通信者情報を取得してビットパターンを更新し、「ホワイトリスト」に通信者のメールアドレスを登録する。つまり、実施例１において、通信者情報が一つも登録されていない状態（初期状態）のビットパターンは「００００００００００００・・・」であるので、図１に示すビットパターン「０１０００００１１０１１・・・」は、フィルタシステムによって、利用者（suzuki）が電子メールの転送を許可する通信者情報が、一つまたは複数登録されている状態を表している。
【００３８】
また、状態値は、ロック状態と未ロック状態とを区別する値のことである。実施例１において、フィルタシステムは、状態値について、ロック状態か未ロック状態かの区別を設定する設定命令を利用者から受信するなどし、利用者情報と対応づけられてビットパターンテーブルによって保持されている状態値を、設定命令に従って設定する。一方、実施例１において、利用者は、未だ『迷惑メールが届き始める前の状態』である場合には、状態値について「未ロック状態」に設定する設定命令をフィルタシステムに送信し、既に『迷惑メールが届く状態』に遷移した場合には、状態値について「ロック状態」に設定する設定命令をフィルタシステムに送信する。つまり、図１上図に示す状態値「未ロック状態」は、利用者において、未だ『迷惑メールが届き始める前の状態』であることを表しており、図１下図に示す「ロック状態」は、利用者において、既に『迷惑メールが届く状態』に遷移したことを表している。
【００３９】
なお、図１においては、説明の便宜上から、ビットパターンテーブルが、利用者情報「suzuki」に対応づけられた状態値およびビットパターンのみを保持する様子を示したが、実際は、ビットパターンテーブルは、フィルタシステムを利用する一人または複数の利用者について、各々の利用者情報に対応づけられた状態値およびビットパターンを保持することになる。
【００４０】
このような構成のもと、実施例１に係るフィルタシステムは、電子メールを転送するかしないかを決定することになるが、以下では、利用者において、未だ『迷惑メールが届き始める前の状態』である段階と、既に『迷惑メールが届く状態』に遷移した段階との２段階に分けて説明する。図１上図が、『迷惑メールが届き始める前の状態』である段階を説明する図であり、図１下図が、『迷惑メールが届く状態』に遷移した段階を説明する図である。
【００４１】
まず、未だ『迷惑メールが届き始める前の状態』である段階について説明すると、フィルタシステムは、電子メールの転送を処理する際、利用者情報と対応づけられて保持されている状態値が「未ロック状態」である場合には、電子メールの転送を拒否せず処理する（図１の（Ａ）−１を参照）。例えば、フィルタシステムは、利用者「suzuki」を宛先として着信した電子メールの転送を処理する際、利用者情報「suzuki」と対応づけられて保持されている状態が「未ロック状態」である場合には、電子メールを利用者「suzuki」に転送する。
【００４２】
また、フィルタシステムは、利用者（suzuki）を宛先として着信した電子メールを処理する際、当該電子メールとともに取得される発信元情報から、ビット数ｍのビットパターンをハッシュ関数などを用いて算出する（図１の（Ａ）−２を参照）。例えば、フィルタシステムは、発信元情報としてメールアドレス「matsui@isp-b.ne.jp」から、ビット数ｍのビットパターンを算出する。図１の（Ａ）−２の例では、算出されたビットパターンとして、「０１００１０１１００００・・・」が例示されている。
【００４３】
次に、フィルタシステムは、ビットパターンテーブルによって保持されているビットパターンと算出したビットパターンとをビット単位にＯＲ演算し、ＯＲ演算することで得られた結果のビットパターンによって、ビットパターンテーブルによって保持されているビットパターンを更新する（図１の（Ａ）−３を参照）。例えば、フィルタシステムは、ビットパターンテーブルによって保持されているビットパターン「０１０００００１１０１１・・・」と算出されたビットパターン「０１０１１０１１００００・・・」とをビット単位にＯＲ演算し、結果のビットパターン「０１０１１０１１１０１１・・・」を得て、ビットパターンを更新する。
【００４４】
次に、既に『迷惑メールが届く状態』に遷移した段階について説明すると、フィルタシステムは、電子メールの転送を処理する際、利用者情報と対応づけて保持されている状態値が「ロック状態」である場合には、まず、通信要求とともに取得される発信元情報から、ビット数ｍのビットパターンをハッシュ関数などを用いて算出する（図１の（Ｂ）−１を参照）。例えば、フィルタシステムは、電子メールに含まれる発信元情報としてメールアドレス「matsui@isp-b.ne.jp」から、ビット数ｍのビットパターンをハッシュ関数などを用いて算出し、結果のビットパターン「０１０１１０１１００００・・・」を得る。なお、ビット数および関数は、ビットパターンテーブルに通信者情報を登録（更新）する際のビット数および関数と同一のものでなければならない。
【００４５】
そして、フィルタシステムは、ビットパターンテーブルによって保持されているビットパターンと算出したビットパターンとをビット単位で比較する（図１の（Ｂ）−２を参照）。例えば、フィルタシステムは、ビットパターンテーブルによって保持されているビットパターン「０１０１１０１１１０１１・・・」と算出されたビットパターン「０１０１１０１１００００・・・」とをビット単位で比較する。
【００４６】
すると、算出されたビットパターンにおいて「１」の値のビットと同じ順位のビットが、ビットパターンテーブルによって保持されているビットパターンにおいて全て「１」の値であることを条件として、フィルタシステムは、着信した電子メールを利用者に転送する（図１の（Ｂ）−３および４を参照）。例えば、算出されたビットパターン「０１０１１０１１００００・・・」において「１」の値のビットは、第２順位、第４順位、第５順位、第７順位、および第８順位のビットである。一方、ビットパターンテーブルによって保持されたビットパターン「０１０１１０１１１０１１・・・」において、第２順位、第４順位、第５順位、第７順位、および第８順位のビットを比較すると、全て「１」の値である。このため、実施例１に係るフィルタシステムは、着信した電子メール（発信元情報が「matsui@isp-b.ne.jp」の電子メール）を、利用者（suzuki）に転送する。
【００４７】
なお、図１においては、フィルタシステムが、着信した電子メールを利用者に転送する例を説明したが、フィルタシステムは、算出されたビットパターンにおいて「１」の値のビットと同じ順位のビットが、ビットパターンテーブルによって保持されているビットパターンにおいていずれかのビットが「１」の値でないことを条件として、着信した電子メールを利用者に転送しない。
【００４８】
このようにして、実施例１に係るフィルタシステムは、ホワイトリストの登録を簡易に行うことが可能になる。すなわち、実施例１に係るフィルタシステムは、ホワイトリストの登録を、利用者による電子メールの受信といった通常発生するメール転送システムの動作（利用者の日常的なメール通信行為）と連動させることにより、利用者が追加的な操作をすることなくホワイトリストの登録を自動化することが可能になり、ホワイトリストの登録操作の面倒さを解決することが可能になる。
【００４９】
また、実施例１に係るフィルタシステムは、迷惑メールが届き始める前の状態から迷惑メールが届く状態に遷移したメールアドレスを宛先として未知のメールアドレスから発信された電子メールについては、利用者に転送しないことが可能になる。
【００５０】
また、上記した効果に加え、実施例１に係るフィルタシステムは、ホワイトリストの登録に利用される記憶領域を増大させないことが可能になる。
【００５１】
すなわち、実施例１に係るフィルタシステムによれば、ホワイトリストが、ビット数ｍのビットパターンに置き換えられることによって更新される（一つのビットパターンにメールアドレスが重ねて登録される）ことから、メールアドレスの登録数に比例して、ホワイトリストの登録に利用する記憶領域を増大させることはない。
【００５２】
［実施例１に係るフィルタシステムの構成］
次に、図２〜４を用いて、実施例１に係るフィルタシステムの構成を説明する。図２は、実施例１に係るフィルタシステムの構成を示すブロック図であり、図３は、ビットパターンテーブルを説明するための図であり、図４は、ビットパターン算出部を説明するための図である。
【００５３】
まず、図２を用いて、実施例１に係るフィルタシステムの構成について説明すると、実施例１に係るフィルタシステムは、利用者Ａ端末２２０と利用者Ｂ端末３２０とを、利用者Ａ側ＩＰ網２４０、インターネット４００および利用者Ｂ側ＩＰ網３４０を介して接続する。例えば、フィルタシステムは、利用者Ｂ３３０を発信元として利用者Ａ２３０に対して発信された利用者Ｂ３３０による電子メールを、利用者Ｂメールサーバ３１０や利用者Ａメールサーバ１３０などを経由して、利用者Ａ端末２２０に転送する。
【００５４】
利用者Ａ端末２２０および利用者Ｂ端末３２０は、利用者Ａ２３０および利用者Ｂ３３０がそれぞれインターネット４００を介した電子メール授受を行う際に利用する端末装置であり、市販のパーソナルコンピュータ（ＰＣ）に、Ｗｅｂブラウザソフトや電子メールソフトがインストールされ、ルータＲを介して利用者Ａ側ＩＰ網２４０および利用者Ｂ側ＩＰ網３４０にそれぞれ接続されている。なお、かかる利用者Ａ側ＩＰ網２４０および利用者Ｂ側ＩＰ網３４０は、それぞれルータＲを介してインターネット４００に接続されている。
【００５５】
利用者Ａメールサーバ１３０および利用者Ｂメールサーバ３１０は、いわゆる既存のメールサーバである。すなわち、利用者Ａメールサーバ１３０は、一般的なＳＭＴＰ（Simple  Mail  Transfer  Protocol）／ＰＯＰ（Post  Office  Protocol）通信部１３１やメール蓄積部１３２を備え、利用者Ａ端末２２０から送信される電子メールを受け付けて宛先に送信するとともに、利用者Ａ端末２２０への電子メールを受信して利用者Ａ端末２２０へ送信する。また、利用者Ｂメールサーバ３１０は、利用者Ｂ端末３２０から送信される電子メールを受け付けて宛先に送信するとともに、利用者Ｂ端末３２０への電子メールを受信して利用者Ｂ端末３２０に送信する。なお、実施例１においては、説明の便宜上から、２台の端末装置、メールサーバのみから構成される場合を説明するが、本発明はこれに限られるものではなく、多数の端末装置、多数のメールサーバから構成される場合にも、本発明を同様に適用することができる。
【００５６】
また、実施例１に係るメッセージ転送システムでは、特に本発明に密接に関連するものとして、データ管理サーバ１２０と、メール中継サーバ１１０とが設けられている。これらのデータ管理サーバ１２０およびメール中継サーバ１１０は、ファイアウォールＦＷを介してインターネット４００に接続されたＬＡＮ１００に接続される。以下では、データ管理サーバ１２０およびメール中継サーバ１１０について、順に説明する。
【００５７】
［データ管理サーバ１２０］
実施例１におけるデータ管理サーバ１２０は、電子メールの宛先となる利用者から電子メールの転送が許可された通信者情報（ビットパターン）や、ロック状態と未ロック状態との区別（状態値）などを管理するサーバである。データ管理サーバ１２０は、特に本発明に密接に関連するものとして、ビットパターンテーブル１２１と、設定命令受信部１２２と、状態値設定部１２３とを備える。かかるデータ管理サーバ１２０は、市販のパーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）に、ＲＤＢＭＳ（Relational  DataBase  Management  System）などのプログラムをインストールすることにより実現できる。なお、ビットパターンテーブル１２１は、特許請求の範囲に記載の「ビットパターン保持手段」と「状態値保持手段」とに対応し、設定命令受信部１２２は、特許請求の範囲に記載の「設定命令受信手段」に対応し、状態値設定部１２３は、特許請求の範囲に記載の「状態値設定手段」に対応する。
【００５８】
ビットパターンテーブル１２１は、利用者を識別する利用者情報と、「０」および「１」の値から成るビット数ｍのビットパターンと、「ロック状態」と「未ロック状態」とを区別する状態値とを対応づけて保持する。ここで、ビットパターンテーブル１２１が保持するビットパターンは、通信要求が許可された通信者各々を識別する通信者情報各々から、「０」および「１」の値から成るビット数ｍのビットパターン各々をハッシュ関数などを用いて算出し、算出したビットパターン各々をビット単位にＯＲ演算することで得られる結果のビットパターンのことである。言い換えると、ビットパターンテーブル１２１が保持するビットパターンは、本発明に係るフィルタシステムにおける「ホワイトリスト」に相当する。
【００５９】
具体的には、ビットパターンテーブル１２１が保持するビットパターンは、メール中継サーバ１１０に送信されて後述するビットパターン比較部１１４による処理に利用されたり、後述するビットパターン更新部１１５によって置き換えられたりする。また、ビットパターンテーブル１２１が保持する状態値は、メール中継サーバ１１０に送信されて後述するフィルタ処理部１１２による処理に利用されたり、状態値設定部１２３によって設定されたりする。
【００６０】
例えば、ビットパターンテーブル１２１は、図３に示すように、ユーザＩＤ（利用者情報）とビットパターンと状態値とを対応づけて保持する。なお、図３において、ビットパターンは「0x4f2591ab・・・」などと示されているが、実際は、「０」および「１」の値から成るビット数ｍのビットパターンとして処理される。
【００６１】
データ管理サーバ１２０は、メール中継サーバ１１０のビットパターン更新部１１５によってビットパターンの更新が行われる際には、例えば、利用者情報「suzuki」に対応づけられてビットパターンテーブル１２１が保持するビットパターンとして、「０１０００００１１０１１・・・」を、メール中継サーバ１１０に送信する。また、データ管理サーバ１２０は、利用者情報「suzuki」に対応づけて、例えば、「０１０１１０１１１０１１・・・」などのビットパターンをメール中継サーバ１１０から受信すると、「０１０００００１１０１１・・・」を「０１０１１０１１１０１１・・・」に置き換えて、ビットパターンテーブル１２１に保持するなどする。
【００６２】
ところで、実施例１に係るフィルタシステムの運用開始時は、ビットパターンテーブル１２１が保持するビットパターンは、通信者情報が一つも登録されていない状態（初期状態）であると考えられる。初期状態としていかなるビットパターンを利用者情報に対応づけて保持するべきであるかは運用の形態によって異なるが、最も典型的な手法としては、「００００００００００００・・・」のように全てのビットが「０」の値であるビットパターンを保持する手法が考えられる。このように、ビットパターンテーブル１２１は、初期状態に全て「０」の値であるビットパターンを利用者情報と対応づけて保持し、この利用者情報によって識別される利用者が電子メールの転送を許可する通信者の通信者情報が登録される都度、「０」の値が適宜「１」の値に置き換えられていくことになる。
【００６３】
なお、理論上、最終的には全てのビットが「１」の値に置き換えられ、「１１１１１１１１１１１１・・・」のように全てのビットが「１」の値であるビットパターンになると考えることができるが、運用の形態に即したビット数ｍを設定することで、全てのビットが「１」の値であるビットパターンになる状態を回避する。
【００６４】
設定命令受信部１２２は、ビットパターンテーブル１２１によって保持されている状態値について、ロック状態か未ロック状態かの区別を設定する設定命令を受信する。具体的には、設定命令受信部１２２は、利用者Ａ端末２２０などから設定命令を受信し、受信した設定命令を、状態値設定部１２３に送信する。例えば、設定命令受信部１２２は、利用者Ａ端末２２０から、「ロック状態」に設定する設定命令を、利用者Ａ２３０を識別する利用者情報「suzuki」とともに、受信する。なお、設定命令受信部１２２は、例えば、設定命令を処理するプログラム（状態値設定部１２３）を呼び出すように設定されたＨＴＴＰ（Hyper  Text  Transfer  Protocol）サーバなどで実現することができる。
【００６５】
状態値設定部１２３は、ビットパターンテーブル１２１によって保持されている状態値を設定命令に従って設定する。具体的には、状態値設定部１２３は、設定命令受信部１２２によって設定命令が受信されると、ビットパターンテーブル１２１によって保持されている状態値の中から設定命令によって設定されることになる状態値を特定し、特定した状態値を設定命令に従って設定する。例えば、状態値設定部１２３は、設定命令受信部１２２から、「ロック状態」に設定する設定命令と利用者情報「suzuki」とを受信すると、ビットパターンテーブル１２１によって保持されている状態値の中から、利用者情報「suzuki」に対応づけられて保持されている状態値を特定し、特定した状態値を「ロック状態」に設定する。
【００６６】
ここで、設定命令受信部１２２が利用者Ａ端末２２０から設定命令を受信する状況について考えてみると、一般に、メール転送システムなどにおいては、利用者Ａ端末２２０において、『迷惑メールが届き始める前の状態』から『迷惑メールが届く状態』へと遷移する状況がある。そうであるとすると、利用者Ａ端末２２０を利用する利用者Ａ２３０としては、『迷惑メールが届き始める前の状態』においては、電子メールの転送を全て許可したいと考える一方で、『迷惑メールが届く状態』においては、許可した通信者による電子メールの転送のみを許可したいと考えるものである。このため、本発明に係るフィルタシステムにおいては、例えば、利用者Ａ端末２２０において、『迷惑メールが届き始める前の状態』から『迷惑メールが届く状態』へと遷移すると、利用者Ａ２３０は、「ロック状態」に設定する設定命令をデータ管理サーバ１２０に送信し、データ管理サーバ１２０は、受信した設定命令に従って状態値を設定する。すると、後述するように、メール中継サーバ１１０が、設定された当該状態値によって区別された電子メールの転送の処理を行うので、フィルタシステムは、遷移に応じた処理を行うことになる。
【００６７】
［メール中継サーバ１１０］
実施例１におけるメール中継サーバ１１０は、利用者に対する電子メールの転送を処理するサーバであり、特に本発明に密接に関連するものとしては、図２に示すように、メール通信部１１１と、フィルタ処理部１１２と、ビットパターン算出部１１３と、ビットパターン比較部１１４と、ビットパターン更新部１１５と、ビットパターン算出部１１６とを備える。かかるメール中継サーバ１１０は、市販のパーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）に、これらの部に対応するプログラムをインストールすることにより実現できる。なお、フィルタ処理部１１２とビットパターン算出部１１３とビットパターン比較部１１４とが、特許請求の範囲に記載の「フィルタ処理手段」に対応し、ビットパターン更新部１１５とビットパターン算出部１１６とが、特許請求の範囲に記載の「ビットパターン更新手段」に対応する。
【００６８】
メール通信部１１１は、発信元のメールサーバから電子メールを着信し、フィルタ処理部１１２における処理に従って、利用者のメールサーバに電子メールを転送するなどする。具体的には、メール通信部１１１は、発信元のメールサーバから電子メールを着信すると、フィルタ処理部１１２を起動し、着信した電子メールをフィルタ処理部１１２に送信する。また、メール通信部１１１は、フィルタ処理部１１２における処理に従って、フィルタ処理部１１２から受信した電子メールを利用者のメールサーバに転送するなどする。
【００６９】
ビットパターン更新部１１５は、電子メールの転送がフィルタ処理部１１２によって処理される際、電子メールの宛先となる利用者を識別する利用者情報と対応づけられてビットパターンテーブル１２１によって保持されている状態値が「未ロック状態」である場合に、電子メールとともに取得される発信元情報から通信者情報を取得して、ビットパターンを更新する。
【００７０】
具体的には、ビットパターン更新部１１５は、メール通信部１１１によって起動されると、まず、ビットパターン算出部１１６を起動して発信元情報を送信し（この時、ビットパターン算出部１１６においてビットパターンが算出される）、算出されたビットパターンをビットパターン算出部１１６から取得する。次に、ビットパターン更新部１１５は、ビットパターンテーブル１２１によって保持されたビットパターンと、ビットパターン算出部１１６によって算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、ビットパターンテーブル１２１に保持されたビットパターンを置き換えて登録する。
【００７１】
例えば、ビットパターン更新部１１５は、ビットパターンテーブル１２１によって保持されたビットパターン「０１０００００１１０１１・・・」と、ビットパターン算出部１１６によって算出されたビットパターン「０１０１１０１１００００・・・」とをビット単位にＯＲ演算し、ビットパターン「０１０１１０１１１０１１・・・」を得る。次に、ビットパターン更新部１１５は、得られた結果のビットパターン「０１０１１０１１１０１１・・・」によって、ビットパターンテーブル１２１に保持されたビットパターンを置き換える。
【００７２】
ビットパターン算出部１１６は、ビットパターンテーブル１２１に登録されるビットパターンを算出する。具体的には、ビットパターン算出部１１６は、ビットパターン更新部１１５によって起動されると、ビットパターン更新部１１５から取得した発信元情報から、ビット数ｍのビットパターンをハッシュ関数などを用いて算出し、算出したビットパターンを、ビットパターン更新部１１５に送信する。なお、この後ビットパターン更新部１１５においては、上記したように、ビットパターン算出部１１６が送信したビットパターンを用いて、ビットパターンテーブル１２１によって保持されたビットパターンとのＯＲ演算をするなどする。
【００７３】
ここで、ビットパターン算出部１１６の算出手法について具体的に説明すると、実施例１におけるビットパターン算出部１１６は、ブルームフィルタを適用して算出するので、まず、あるビット数（ｍとする）以下の正整数値を導出する複数のハッシュ関数を用いて、発信元情報から複数の正整数値をハッシュ関数ごとにそれぞれ導出する。次に、ビットパターン算出部１１６は、正整数値に該当する順位のビットを「１」の値とするビット数ｍのビットパターンを、ハッシュ関数ごとにそれぞれ生成する。そして、ビットパターン算出部１１６は、生成された複数のビットパターンをビット単位にＯＲ演算することで、発信元情報からビットパターンを算出する。
【００７４】
例えば、ビットパターン算出部１１６は、図４に示すように、発信元情報として「matsui@isp-b.ne.jp」（Ａとする）を取得すると、まず、１以上ｍ以下の整数値をハッシュ値として導出する複数のハッシュ関数（h1()、h2()、・・・、hk()）を用いて、Ａから１以上ｍ以下の複数の整数値（h1(Ａ)、h2(Ａ)、・・・、hk(Ａ)）を導出する。次に、ビットパターン算出部１１６は、「h1(Ａ)ビット目のみを１とするビットパターン」、「h2(Ａ)ビット目のみを１とするビットパターン」、「hk(Ａ)ビット目のみを１とするビットパターン」など、h1(Ａ)、h2(Ａ)、・・・、hk(Ａ)に該当する順位のビットを「１」の値とするビット数ｍのビットパターンを生成する。そして、ビットパターン算出部１１６は、生成された「h1(Ａ)ビット目のみを１とするビットパターン」、「h2(Ａ)ビット目のみを１とするビットパターン」、「hk(Ａ)ビット目のみを１とするビットパターン」などをビット単位にＯＲ演算することで、ビットパターンＨ（Ａ）を算出する。実施例１においては、このビットパターンＨ（Ａ）を、発信元情報から算出したビットパターンとする。
【００７５】
なお、実施例１においては、ビットパターン算出部１１６が、上記したような関数を用いて発信元情報からビットパターンを算出する手法を説明したが、本発明はこれに限られるものではなく、単にハッシュ関数を用いて発信元情報からビットパターンを算出する手法や、発信元情報を他のアルゴリズムによってビットパターンに変換しビット数ｍだけ切り出す手法や、その他の関数による手法などにも、本発明を同様に適用することができる。単にハッシュ関数を用いて算出する手法では、例えば、ビットパターン算出部１１６は、発信元情報として「matsui@isp-b.ne.jp」（Ａ）を取得すると、ビット数ｍのビットパターンを導出するハッシュ関数h()を用いて、ビット数ｍのビットパターンＨ（Ａ）を算出するなどする。このような場合には、フィルタシステムにおいて、安全にビットパターンを保持することも可能になる。すなわち、ハッシュ関数は、固定長のビットパターンを算出する特性、一方向性関数としての特性（算出されたビットパターンから算出に用いたデータを推測することが事実上不可能）、同一のビットパターンを算出するデータを作成することが困難であるという特性（異なる発信元情報から同一のビットパターンが算出されにくい）などを有することから、例えば、発信元情報が登録されたビットパターンが漏洩するといった事態が発生しても、ビットパターンから発信元情報が推測されるおそれがないため、安全にビットパターンを保持することも可能になる。また、ビット数ｍだけ切り出す手法では、例えば、「matsui@isp-b.ne.jp」を「０」および「１」の値で表現したビットパターンからビット数ｍだけ切り出すなどする。
【００７６】
また、実施例１においては、ビットパターン算出部１１６が、メールアドレス「matsui@isp-b.ne.jp」を登録することを目的としてビットパターンを算出する場合（＠マークより前のアカウント名部分と＠マークより後のドメイン名部分とを併せて登録することを目的としてビットパターンを算出する場合）を例示したが、本発明はこれに限られるものではなく、例えば、ある特定のドメインからの電子メールについては全て転送を許可するなど、ドメインごとに電子メールの転送を処理するサービスを運用する際には、ドメイン名部分のみを登録することを目的としてビットパターンを算出する場合など、運用の形態に即して算出する場合であれば、いずれでもよい。
【００７７】
フィルタ処理部１１２は、利用者に対する電子メールの転送を処理する。具体的には、フィルタ処理部１１２は、メール通信部１１１によって起動されて電子メールを転送する際、電子メールの宛先となる利用者を識別する利用者情報と対応づけられてビットパターンテーブル１２１によって保持されている状態値が「未ロック状態」である場合には、電子メールの転送を拒否せずに処理する。一方、フィルタ処理部１１２は、状態値が「ロック状態」である場合には、電子メールをビットパターン算出部１１３に送信する。そして、フィルタ処理部１１２は、ビットパターン比較部１１４から比較の結果を受信し、受信した比較の結果に基づいて、利用者に対する電子メールの転送を処理し、メール通信部１１１に送信する。
【００７８】
例えば、フィルタ処理部１１２は、状態値が「ロック状態」である場合には、ビットパターン比較部１１４から受信した比較の結果が、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のビットが、保持されたビットパターンにおいて全て「１」の値である」との結果であることを条件として、受信した電子メールの転送を許否せずに処理する（電子メールを利用者に転送するように処理するなど）。
【００７９】
一方、フィルタ処理部１１２は、比較の結果が、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のいずれかのビットが、保持されたビットパターンにおいて「１」の値ではない」との結果であることを条件として、受信した電子メールの転送を許否または制限つきで処理する（電子メールを利用者に転送しないように処理するなど）。
【００８０】
ビットパターン算出部１１３は、利用者に対する電子メールを受信した際に、電子メールとともに取得される発信元情報からビット数ｍのビットパターンをハッシュ関数などを用いて算出する。具体的には、ビットパターン算出部１１３は、フィルタ処理部１１２によって起動されると、フィルタ処理部１１２から受信した電子メールに含まれる発信元情報から、ビット数ｍのビットパターンをハッシュ関数などを用いて算出し、算出したビットパターンを、ビットパターン比較部１１４に送信する。
【００８１】
ここで、ビットパターン算出部１１３の算出手法について具体的に説明すると、実施例１におけるビットパターン算出部１１３は、ビットパターン算出部１１６と同じ算出手法によることが前提となる。すなわち、実施例１に係るフィルタシステムは、ビットパターン算出部１１６によって算出され、データ管理サーバ１２０のビットパターンテーブル１２１に登録されたビットパターンと、メール中継サーバ１１０のビットパターン算出部１１３によって算出されたビットパターンとを比較することで、電子メールの転送を処理するので、ビットパターン算出部１１６とビットパターン算出部１１３との算出手法は、同じ算出手法でなければならない。つまり、ビットパターン算出部１１３は、図４に示すような算出手法により、ビットパターンを算出することになる。
【００８２】
ビットパターン比較部１１４は、データ管理サーバ１２０のビットパターンテーブル１２１によって保持されたビットパターンと、ビットパターン算出部１１３によって算出されたビットパターンとをビット単位で比較する。具体的には、ビットパターン比較部１１１４は、ビットパターンテーブル１２１によって保持されたビットパターンと、ビットパターン算出部１１３によって算出されたビットパターンとをビット単位で比較し、比較の結果をフィルタ処理部１１２に送信する。
【００８３】
例えば、ビットパターン比較部１１４は、ビットパターンテーブル１２１によって保持されたビットパターンが「０１０１１０１１１０１１・・・」で、ビットパターン算出部１１３によって算出されたビットパターンが「０１０１１０１１００００・・・」である場合には、「０１０１１０１１１０１１・・・」と「０１０１１０１１００００・・・」とをビット単位で比較する。そして、ビットパターン比較部１１４は、算出されたビットパターンにおいて「１」の値のビットが、第２順位、第４順位、第５順位、第７順位、および第８順位のビットであるので、ビットパターンテーブル１２１に保持されたビットパターンにおいて、第２順位、第４順位、第５順位、第７順位、および第８順位のビットと比較すると、全て「１」の値であることから、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のビットが、保持されたビットパターンにおいて全て「１」の値である」との比較の結果を、フィルタ処理部１１２に送信する。
【００８４】
また、ビットパターン比較部１１４は、ビットパターンテーブル１２１によって保持されたビットパターンと、ビットパターン算出部１１３によって算出されたビットパターンとをビット単位で比較し、算出されたビットパターンにおいて「１」の値のビットと同じ順位のいずれかのビットが、ビットパターンテーブル１２１によって保持されたビットパターンにおいて「１」の値ではない場合には、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のいずれかのビットが、保持されたビットパターンにおいて「１」の値ではない」との比較の結果を、フィルタ処理部１１２に送信する。
【００８５】
［実施例１に係るフィルタシステムによる処理の手順］
次に、図５〜８を用いて、実施例１に係るフィルタシステムによる処理の手順を説明する。図５は、フィルタシステムによる処理の手順を示すシーケンス図であり、図６は、ビットパターン更新処理の手順を示すシーケンス図であり、図７は、フィルタ処理の手順を示すシーケンス図であり、図８は、状態値設定処理の手順を示すシーケンス図である。
【００８６】
［フィルタシステムによる処理］
以下では、図５に示すように、実施例１に係るフィルタシステムが、利用者Ａ２３０に対する電子メールであって、利用者Ｂ端末３２０（利用者Ｂ３３０）から発信された電子メールを、利用者Ｂメールサーバ３１０、メール中継サーバ１１０、および利用者Ａメールサーバ１３０などを介して、利用者Ａ端末２２０（利用者Ａ２３０）に転送する場合を例示する。
【００８７】
まず、利用者Ｂ端末３２０は、利用者Ｂ３３０による電子メール送信処理を受け付け、利用者Ｂメールサーバ３１０に対して、電子メールを送信する（ステップＳ１１０）。例えば、実施例１に係るフィルタシステムにおいて、利用者Ｂ端末３２０に電子メールソフトが備えられているとすると、利用者Ｂ端末３２０は、「宛先アドレス」に「suzuki@isp-a.ne.jp」やその他本文などの利用者Ｂ３３０による入力を受け付け、入力された電子メールを利用者Ｂメールサーバ３１０に対して送信する。なお、電子メールには、利用者Ｂ３３０を識別する発信元情報として、「FROMアドレス」に「matsui@isp-b.ne.jp」が含まれているものとする。
【００８８】
次に、利用者Ｂメールサーバ３１０は、利用者Ｂ端末３２０から送信された電子メールをメール中継サーバ１１０に送信する（ステップＳ１１１）。具体的には、利用者Ｂメールサーバ３１０は、利用者Ｂ端末３２０から送信された電子メールを受け付け、「宛先アドレス（suzuki@isp-a.ne.jp）」やその他本文などをメール中継サーバ１１０に送信する。
【００８９】
すると、メール中継サーバ１１０は、利用者Ｂメールサーバ３１０から電子メールを受け付けると、フィルタ処理部１１２において、電子メールの宛先アドレスと対応づけられてビットパターンテーブル１２１によって保持されている状態値が、「未ロック状態」であるか「ロック状態」であるかを確認する（ステップＳ１２０）。例えば、メール中継サーバ１１０は、フィルタ処理部１１２において、「宛先アドレス（suzuki@isp-a.ne.jp）」と対応づけられてビットパターンテーブル１２１によって保持されている状態値を確認する。
【００９０】
確認の結果、状態値が「未ロック状態」である場合には、メール中継サーバ１１０は、ビットパターン更新部１１５において、電子メールとともに取得される発信元情報から通信者情報を取得して、ビットパターンを更新する（ステップＳ１４０）。例えば、メール中継サーバ１１０は、ビットパターン更新部１１５において、電子メールとともに取得される「FROMアドレス（matsui@isp-b.ne.jp）」から通信者情報（matsui@isp-b.ne.jp）を取得して、ビットパターンを更新する。
【００９１】
続いて、メール中継サーバ１１０は、利用者Ａメールサーバ１３０に電子メールを転送する（ステップＳ１５０）。具体的には、メール中継サーバ１１０は、利用者Ａ２３０に対する電子メールの転送を処理し、メール通信部１１１に送信する。
【００９２】
一方、確認の結果、状態値が「ロック状態」である場合には、メール中継サーバ１１０は、フィルタ処理部１１２において、フィルタ処理（転送可否判断）を行う（ステップＳ１３０）。具体的には、メール中継サーバ１１０は、メール通信部１１１において電子メールを着信すると、フィルタ処理部１１２を起動し、フィルタ処理部１１２が、ビットパターン算出部１１３やビットパターン比較部１１４を起動するなどして、電子メールの転送を処理する。
【００９３】
例えば、メール中継サーバ１１０は、まず、ビットパターン算出部１１３において、電子メールに含まれる発信元情報（matsui@isp-b.ne.jp）から、ビット数ｍのビットパターンをハッシュ関数などを用いて算出し、算出したビットパターンを、ビットパターン比較部１１４に送信する。次に、メール中継サーバ１１０は、ビットパターン比較部１１４において、データ管理サーバ１２０のビットパターンテーブル１２１によって保持されたビットパターンと、ビットパターン算出部１１３によって算出されたビットパターンとをビット単位で比較し、比較の結果を、フィルタ処理部１１２に送信する。
【００９４】
続いて、メール中継サーバ１１０は、フィルタ処理（転送可否判断）の結果が「転送可」であれば、利用者Ａメールサーバ１３０に電子メールを転送する（ステップＳ１５０）。具体的には、メール中継サーバ１１０は、フィルタ処理部１１２において、ビットパターン比較部１１４から受信した比較の結果に基づいて、利用者Ａ２３０に対する電子メールの転送を処理し、メール通信部１１１に送信する。反対に、フィルタ処理（転送可否判断）の結果が「転送不可」であれば、メール中継サーバ１１０は、利用者Ａメールサーバ１３０に電子メールを転送せず、その後、電子メールを転送しない旨を利用者Ｂ端末３２０に通知するなどして、実施例１に係るフィルタシステムによる電子メールの転送の処理が終了する（ステップＳ１３５）。
【００９５】
メール中継サーバ１１０が、利用者Ａメールサーバ１３０に電子メールを転送する場合には、その後、利用者Ａメールサーバ１３０が、メール中継サーバ１１０から転送された電子メールをメール蓄積部１３２に蓄積したり、利用者Ａ端末２２０が、到着メール確認をしたり（ステップＳ２００）、利用者Ａメールサーバ１３０が、到着メール確認に応答してメールを送信するなどして（ステップＳ２１０）、実施例１に係るフィルタシステムによる電子メールの転送の処理が終了する。
【００９６】
［ビットパターン更新処理（ステップＳ１４０の詳細）］
実施例１に係るフィルタシステムは、利用者が電子メールの転送を許可する通信者の通信者情報として、電子メールに含まれるメールアドレス（以下、許可アドレスという）を用いるものとする。例えば、フィルタシステムは、図６に示すように、許可アドレスとして、メールアドレス「matsui@isp-b.ne.jp」を登録する。なお、実施例１においては、フィルタシステムが電子メールを転送する際、状態値が未ロック状態である場合に、電子メールとともに取得される発信元アドレスから通信者情報を取得してビットパターンを更新する手法を例示するが、本発明はこれに限られるものではない。例えば、利用者Ａ２３０からオフラインで提示された許可アドレスを、データ管理サーバ１２０がオフラインで登録する場合など、ビットパターンテーブル１２１に登録される許可アドレスをデータ管理サーバ１２０がどのように取得するかについては、いずれでもよい。
【００９７】
メール中継サーバ１１０は、ビットパターン更新部１１５において、電子メールとともに取得される発信元アドレスから通信者情報（許可アドレス）を取得すると、許可アドレスのビットパターンを算出する（ステップＳ１４１）。具体的には、ビットパターン更新部１１５がビットパターン算出部１１６を起動し、ビットパターン算出部１１６において許可アドレスのビットパターンを算出する。例えば、ビットパターン算出部１１６は、許可アドレス「matsui@isp-b.ne.jp」（Ａ）のビットパターンＨ（Ａ）を算出する。
【００９８】
次に、メール中継サーバ１１０は、ユーザＩＤに対応するビットパターンＷを、データ管理サーバ１２０のビットパターンテーブル１２１から取得する（ステップＳ１４２）。具体的には、データ管理サーバ１２０は、ビットパターン算出部１１６によって算出されたビットパターンＨ（Ａ）を受信すると、フィルタユーザ（Ｒ）のユーザＩＤ（suzuki）に対応するビットパターンＷを、ビットパターンテーブル１２１から取得し、ビットパターン更新部１１５に送信する。
【００９９】
そして、メール中継サーバ１１０は、ビットパターン更新部１１５において、ビットパターンＷとビットパターンＨ（Ａ）とをＯＲ演算することで得られる結果のビットパターンをＷ´とする（ステップＳ１４３）。具体的には、メール中継サーバ１１０は、ビットパターン更新部１１５において、ビットパターンテーブル１２１から取得したビットパターンＷと、ビットパターン算出部１１６によって算出されたビットパターンＨ（Ａ）とをビット単位にＯＲ演算することで得られる結果のビットパターンをＷ´とする。
【０１００】
続いて、メール中継サーバ１１０は、ビットパターン更新部１１５において、結果のビットパターンＷ´を、ユーザＩＤに対応するビットパターンとしてビットパターンテーブル１２１に登録する（ステップＳ１４４）。具体的には、メール中継サーバ１１０は、ビットパターン更新部１１５において、結果のビットパターンＷ´によって、ビットパターンテーブル１２１に保持されたビットパターンＷを置き換えて更新する。
【０１０１】
なお、ビットパターンテーブル１２１に保持されるビットパターンは、ビットパターンＷからビットパターンＷ´に置き換えられるので、新たに許可アドレスが登録される際のステップＳ１４２においては、ユーザＩＤに対応するビットパターンＷ´が取得されることになる。
【０１０２】
［フィルタ処理（ステップＳ１３０の詳細）］
図７に示すように、メール中継サーバ１１０は、まず、ビットパターン算出部１１３において、発信者アドレス（Ａ）の入力を受け付け、発信者アドレス（Ａ）のビットパターンＨ（Ａ）を算出する（ステップＳ１３１）。具体的には、メール中継サーバ１１０は、ビットパターン算出部１１３において、電子メールに含まれる「発信元アドレス（Ａ）（matsui@isp-b.ne.jp）」の入力を受け付け、発信元アドレス（Ａ）からビット数ｍのビットパターンをハッシュ関数などを用いて算出し、算出したビットパターンを、ビットパターン比較部１１４に送信する。
【０１０３】
次に、メール中継サーバ１１０は、ビットパターン比較部１１４において、フィルタユーザ（Ｒ）に対応するビットパターンＷを、ビットパターンテーブル１２１から取得する（ステップＳ１３２）。具体的には、メール中継サーバ１１０は、ビットパターン比較部１１４において、フィルタユーザ（Ｒ）のユーザＩＤ(suzuki)に対応するビットパターンＷを、データ管理サーバ１２０のビットパターンテーブル１２１から取得する。
【０１０４】
そして、メール中継サーバ１１０は、ビットパターン比較部１１４において、ビットパターンＨ（Ａ）において「１」の値のビットと同じ順位のビットが、ビットパターンＷにおいても全て「１」の値であるか否かを判断する（ステップＳ１３３）。具体的には、メール中継サーバ１１０は、ビットパターン比較部１１４において、ビットパターンテーブル１２１によって保持されたビットパターンＷと、ビットパターン算出部１１３によって算出されたビットパターンＨ（Ａ）とをビット単位で比較し、ビットパターンＨ（Ａ）において「１」の値のビットと同じ順位のビットが、ビットパターンＷにおいても全て「１」の値であるか否かを判断し、比較の結果をフィルタ処理部１１２に送信する。
【０１０５】
すると、メール中継サーバ１１０は、フィルタ処理部１１２において、比較の結果が「ビットパターンＨ（Ａ）において「１」の値のビットと同じ順位のビットが、ビットパターンＷにおいて全て「１」の値である」との結果であることを条件として（ステップＳ１３３肯定）、転送可否は「転送可」であると判断する（ステップＳ１３４ａ）。一方、メール中継サーバ１１０は、フィルタ処理部１１２において、比較の結果が「ビットパターンＨ（Ａ）において「１」の値のビットと同じ順位のいずれかのビットが、ビットパターンＷにおいて「１」の値ではない」との結果であることを条件として（ステップＳ１３３否定）、転送可否は「転送不可」であると判断する（ステップＳ１３４ｂ）。
【０１０６】
そして、メール中継サーバ１１０は、ステップＳ１３４ａおよびステップＳ１３４ｂで判断された転送可否を出力して、処理を終了する。
【０１０７】
［状態値設定処理］
図８に示すように、データ管理サーバ１２０は、設定命令受信部１２２において、ビットパターンテーブル１２１によって保持されている状態値について、ロック状態か未ロック状態かの区別を設定する設定命令を、利用者Ａ２３０によって利用者Ａ端末２２０から送信されることで受け付ける（ステップＳ４００）。例えば、データ管理サーバ１２０は、設定命令受信部１２２において、ロック状態に設定する設定命令（アドレスロック要求）を、利用者情報とともに送信されることで受け付ける。
【０１０８】
すると、データ管理サーバ１２０は、設定命令受信部１２２によって設定命令が受信されると、ビットパターンテーブル１２１によって保持されている状態値の中から設定命令によって設定されることになる状態値を特定し、特定した状態値を設定命令に従って設定する。例えば、データ管理サーバ１２０は、状態値設定部１２３において、ビットパターンテーブル１２１によって保持されている状態値の中から、利用者情報（suzuki）に対応づけられて保持されている状態値を特定し、ロック状態に設定する設定命令（アドレスロック要求）に従って、特定した状態値を設定する。
【０１０９】
［実施例１の効果］
上記してきたように、実施例１によれば、利用者を宛先として着信した通信要求を、当該通信要求の発信元を識別する発信元情報に基づいて、拒否せずに処理するか拒否または制限つきで処理するかを決定するフィルタシステムであって、通信要求の宛先となる所定の利用者から当該通信要求を許可される通信者各々を識別する通信者情報各々から、０および１の値から成る所定のビット数のビットパターン各々を所定の関数を用いて算出し、算出したビットパターン各々をビット単位にＯＲ演算することで得られる結果のビットパターンと、所定の利用者を識別する利用者情報とを対応づけ、対応づけを利用者ごとに保持し、ロック状態と未ロック状態とを区別する状態値と、利用者情報とを対応づけ、対応づけを利用者ごとに保持し、通信者情報を、利用者を宛先として着信した通信要求を発信した発信元を識別する発信元情報、および／または、利用者を含む複数の通信者を宛先として着信した通信要求の宛先を識別する宛先情報、および／または、利用者によって発信された通信要求の宛先を識別する宛先情報から取得し、取得した通信者情報から前記ビット数のビットパターンを所定の関数を用いて算出し、当該利用者を識別する利用者情報と対応づけられて保持されているビットパターンと算出したビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、保持されているビットパターンを更新し、利用者を宛先として着信した通信要求を処理する際、当該通信要求の宛先となる利用者を識別する利用者情報と対応づけられて保持されている状態値が未ロック状態である場合には、当該通信要求を拒否せずに処理し、保持されている状態値がロック状態である場合には、当該通信要求とともに取得される発信元情報から前記ビット数のビットパターンを前記関数を用いて算出し、当該利用者情報と対応づけられて保持されているビットパターンと算出したビットパターンとをビット単位で比較し、算出したビットパターンにおいて１の値のビットと同じ順位のビットが、保持されているビットパターンにおいて全て１の値であることを条件として、当該通信要求を拒否せずに処理し、保持されているビットパターンにおいていずれかのビットが１の値でないことを条件として、当該通信要求を許否または制限つきで処理するので、ホワイトリストの登録を簡易に行うことが可能になる。
【０１１０】
例えば、メール転送システムにおいて、ホワイトリストの登録を、利用者による電子メールの受信、送信、あるいは返信といった通常発生するメール転送システムの動作（利用者の日常的なメール通信行為）と連動させることにより、利用者が追加的な操作をすることなくホワイトリストの登録を自動化することが可能になり、ホワイトリストの登録操作の面倒さを解決することが可能になる。
【０１１１】
また、例えば、メール転送システムにおいて、迷惑メールが届き始める前の状態から迷惑メールが届く状態に遷移したメールアドレスを宛先として未知のメールアドレスから発信された電子メールについては、利用者に転送しないことが可能になる。
【０１１２】
また、上記した効果に加え、ホワイトリストの登録に利用される記憶領域を増大させないことが可能になる。
【０１１３】
また、実施例１によれば、利用者を宛先として着信した通信要求が処理される際、当該通信要求の宛先となる利用者を識別する利用者情報と対応づけられて保持されている状態値が未ロック状態である場合に、当該通信要求とともに取得される発信元情報から通信者情報を取得してビットパターンを更新するので、利用者側から電子メールを送信していない通信者についても、ホワイトリストに登録することが可能になる。すなわち、迷惑メールが届き始める前の状態のメールアドレスについては、当該メールアドレスを宛先とする電子メールのうち、利用者が気づかなかったり、たまたま返信しなかった電子メールについても、当該電子メールの発信元メールアドレスを正当なメールアドレスであるとみなしてよいはずである。実施例１によれば、このようなメールアドレスについて、ホワイトリストに登録することが可能になる。
【０１１４】
また、実施例１によれば、保持されている状態値について、ロック状態か未ロック状態かの区別を設定する設定命令を受信し、設定命令が受信されると、保持されている状態値の中から当該設定命令によって設定されることになる状態値を特定し、特定した状態値を設定命令に従って設定するので、状態値の設定を利用者などの主導で行うことが可能になる。
【０１１５】
また、実施例１によれば、単純なアルゴリズムによる関数を用いてビットパターンを算出する手法に比較して、フィルタシステムにおいて、安全にビットパターンを保持することも可能になる。
【０１１６】
すなわち、ハッシュ関数は、固定長のビットパターンを算出する特性、一方向性関数としての特性（算出されたビットパターンから算出に用いたデータを推測することが事実上不可能）、同一のビットパターンを算出するデータを作成することが困難であるという特性（異なる通信者情報から同一のビットパターンが算出されにくい）などを有することから、例えば、通信者情報が登録されたビットパターンが漏洩するといった事態が発生しても、ビットパターンから通信者情報が推測されるおそれがないため、安全にビットパターンを保持することも可能になる。
【０１１７】
また、実施例１によれば、単一のハッシュ関数を用いてビットパターンを算出する手法に比較して、フィルタシステムにおいて、誤判定（例えば、本来利用者が電子メールの転送を許可しない通信者からの電子メールが、誤って利用者に転送されてしまう判定）の確率を低下させることも可能になる。
【０１１８】
すなわち、ハッシュ関数を用いたブルームフィルタの理論を適用することで、最適なビット数や最適な数のハッシュ関数を組み合わせてビットパターンを算出する手法であるので、算出されたビットパターンにおいて「１」の値が分散されることから、誤判定の確率を低下させることが可能になる。
【実施例２】
【０１１９】
ところで、これまで実施例１として、フィルタシステムが、状態値が「未ロック状態」である場合に、電子メールとともに取得される発信元情報から通信者情報を取得して、ビットパターンを更新する手法について説明してきた。言い換えると、実施例１におけるビットパターン更新の手法は、電子メールの受信を契機としてビットパターンを自動更新する手法である。ところが、この手法では、ＳＰＡＭのような迷惑メールが利用者に届く状態になってから、フィルタシステムに保持されている状態値が「未ロック状態」から「ロック状態」に設定変更されるまでの間に、ＳＰＡＭを発信した通信者のメールアドレスが、ビットパターンに登録されてしまうおそれがある。そこで、以下では、実施例２として、ビットパターンの自動更新処理を２フェーズ化し、利用者が電子メールの受信履歴を確認しながら、最近受信した電子メールに関するビットパターンの更新を行うか否かを指定できるようにする手法を提案する。なお、図９は、実施例２におけるデータ管理サーバを説明するための図であり、図１０は、実施例２におけるビットパターンテーブルを説明するための図である。
【０１２０】
なお、実施例２に係るフィルタシステムは、実施例１とほぼ同様に構成されるが、主に、データ管理サーバ１２０に、承認命令受信部１２４と第二のビットパターン更新部１２５とが追加される点（図９を参照）、ビットパターンテーブル１２１によって保持されるビットパターンが異なる点（図１０を参照）、メール中継サーバ１１０のビットパターン更新部１１５の処理やフィルタ処理部１１２の処理に変更が生じる点が異なる。以下では、特にこれらの点について説明する。
【０１２１】
実施例２におけるビットパターンテーブル１２１は、利用者情報と対応づけて保持するビットパターンを、所定の期間保持する長期ビットパターンと、長期ビットパターンよりも短い期間保持する一時ビットパターンとに区分けして保持する。例えば、ビットパターンテーブル１２１は、図１０に示すように、ユーザＩＤ（利用者情報）と、長期ビットパターンと、一時ビットパターンと、状態値とを対応づけて保持する。
【０１２２】
また、実施例２におけるビットパターン更新部１１５は、ビットパターンテーブル１２１によって保持されている一時ビットパターンを更新する。また、実施例２におけるフィルタ処理部１１２は、ビットパターンテーブル１２１によって保持されている長期ビットパターンと算出したビットパターンとを比較して、通信要求を処理する。
【０１２３】
承認命令受信部１２４は、ビットパターンテーブル１２１によって保持されているビットパターンを更新することを承認する承認命令を受信する。具体的には、承認命令受信部１２４は、利用者Ａ端末２２０などから承認命令を受信し、受信した承認命令を、第二のビットパターン更新部１２５に送信する。例えば、承認命令受信部１２４は、利用者Ａ端末２２０から、「更新承認」とする承認命令を、利用者Ａ２３０を識別する利用者情報「suzuki」とともに、受信する。なお、承認命令受信部１２４は、例えば、承認命令を処理するプログラム（第二のビットパターン更新部１２５）を呼び出すように設定されたＨＴＴＰサーバなどで実現することができる。
【０１２４】
第二のビットパターン更新部１２５は、ビットパターンテーブル１２１によって保持されているビットパターンを更新する。具体的には、第二のビットパターン更新部１２５は、承認命令受信部１２４によって承認命令が受信されると、ビットパターンテーブル１２１によって保持されているビットパターンの中から承認命令によって更新することが承認されている長期ビットパターンと一時ビットパターンとを特定し、特定した長期ビットパターンと一時ビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、長期ビットパターンを更新する。また、同時に、第二のビットパターン更新部１２５は、「０」から成るビット数ｍのビットパターンによって、一時ビットパターンを更新（リセット）する。
【０１２５】
例えば、第二のビットパターン更新部１２５は、承認命令受信部１２４から、「更新承認」とする承認命令と利用者情報「suzuki」とを受信すると、ビットパターンテーブル１２１によって保持されている長期ビットパターンと一時ビットパターンとの中から、利用者情報「suzuki」に対応づけられて保持されている長期ビットパターンと一時ビットパターンとを特定する。
【０１２６】
このように、実施例２に係るフィルタシステムは、長期ビットパターンと一時ビットパターンとに区分けしてビットパターンを保持し、電子メールの受信を契機としてビットパターンを自動更新する際には、一時ビットパターンのみを更新しておき、フィルタ処理は、長期ビットパターンによって行うものである。すると、利用者において、ＳＰＡＭのような迷惑メールが利用者に届く状態になっていなければ、利用者は、更新していた一時ビットパターンを承認することで、この間に登録されるべき通信者のメールアドレスを、長期ビットパターンに事後的に登録すればよい。一方、利用者において、ＳＰＡＭのような迷惑メールが利用者に届く状態になっていれば、利用者は、更新していた一時ビットパターンを承認しないことで、ＳＰＡＭを発信した通信者のメールアドレスがビットパターンに登録されてしまう事態を回避することができる。
【０１２７】
［実施例２の効果］
上記してきたように、実施例２によれば、利用者情報と対応づけて保持するビットパターンを、所定の期間保持する長期ビットパターンと、長期ビットパターンよりも短い期間保持する一時ビットパターンとに区分けして保持し、保持されている一時ビットパターンを更新し、保持されている長期ビットパターンと算出したビットパターンとを比較して、発信元による通信要求を処理することを特徴とし、保持されているビットパターンを更新することを承認する承認命令を受信し、承認命令が受信されると、保持されているビットパターンの中から当該承認命令によって更新することが承認されている長期ビットパターンと一時ビットパターンとを特定し、特定した長期ビットパターンと一時ビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、長期ビットパターンを更新するとともに、０から成る前記ビット数のビットパターンによって、一時ビットパターンを更新するので、ビットパターンの自動更新処理が２フェーズ化されることから、『拒否または制限つきで処理すべき通信要求が届かない状態（届き始める前の状態）』から『拒否または制限つきで処理すべき通信要求が届く状態』へと遷移してから、状態値が『ロック状態』に切り替えられるまでの間に、本来利用者が許可しない通信者の通信者情報が、許可される通信者の通信者情報として登録されてしまう事態を回避することが可能になる。
【０１２８】
例えば、本発明に係るフィルタシステムがメール転送システムに適用される場合に、メール受信の契機でビットパターンを自動更新する形態であるとすると、ＳＰＡＭが届き始めてから利用者によって状態値が『ロック状態』に切り替えられるまでの間に、ＳＰＡＭを発信した発信者のアドレスが、許可された通信者のアドレスとしてホワイトリストに登録されてしまうことになる。このような場合に、ビットパターンの自動更新処理を２フェーズ化することで、利用者が受信履歴を確認しながら、最近受信したメールに関するビットパターンの更新を行うか否かを指定することができ、本来利用者が許可しないＳＰＡＭ発信者をビットパターンに登録してしまう事態を回避することが可能になる。
【実施例３】
【０１２９】
ところで、実施例１および２においては、フィルタシステムが、電子メールの受信を契機としてビットパターンを自動更新する手法について説明してきたが、本発明はこれに限られるものではなく、例えば、フィルタシステムが、利用者による電子メールの送信を契機としてビットパターンを自動更新する手法などにも、本発明を同様に適用することができる。以下では、実施例３として、利用者による電子メールの送信を契機としてビットパターンを自動更新する手法について、説明する。なお、図１１は、実施例３に係るフィルタシステムの構成を示すブロック図である。
【０１３０】
［実施例３に係るフィルタシステムの構成］
実施例３に係るフィルタシステムは、実施例１とほぼ同様に構成されるが、図１１に示すように、実施例１においてメール中継サーバ１１０に備えられていたビットパターン更新部１１５とビットパターン算出部１１６とが、利用者Ａメールサーバ１３０のビットパターン更新部１３３とビットパターン算出部１３４として備えられる点で異なっている。
【０１３１】
［実施例３に係るフィルタシステムによる処理の手順］
次に、図１２を用いて、実施例３に係るフィルタシステムによる処理の手順を説明する。図１２は、実施例３に係るフィルタシステムによる処理の手順を示すシーケンス図である。
【０１３２】
まず、利用者Ａ端末２２０は、利用者Ａ２３０による電子メール送信処理を受け付け、利用者Ａメールサーバ１３０に対して、電子メールを送信する（ステップＳ５１０）。例えば、実施例３に係るフィルタシステムにおいて、利用者Ａ端末２２０に電子メールソフトが備えられているとすると、利用者Ａ端末２２０は、「宛先アドレス」に「matsui@isp-b.ne.jp」やその他本文などの利用者Ａ２３０による入力を受け付け、入力された電子メールを利用者Ａメールサーバ１３０に対して送信する。なお、電子メールには、利用者Ａ２３０を識別する利用者情報として、「FROMアドレス」に「suzuki@isp-a.ne.jp」が含まれているものとする。
【０１３３】
次に、利用者Ａメールサーバ１３０は、利用者Ａ端末２２０から送信された電子メールをメール中継サーバ１１０に送信する（ステップＳ５１１）。具体的には、利用者Ａメールサーバ１３０は、利用者Ａ端末２２０から送信された電子メールを受け付け、「宛先アドレス（matsui@isp-b.ne.jp）」やその他本文などをメール中継サーバ１１０に送信する。その後、メール中継サーバ１１０では、当該電子メールを利用者Ｂメールサーバ３１０に転送したり（ステップＳ５１２）、利用者Ｂ端末３２０が、到着メール確認をしたり（ステップＳ６００）、利用者Ｂメールサーバ３１０が、到着メール確認に応答してメールを送信するなどする（ステップＳ６１０）。
【０１３４】
ところで、実施例３に係る利用者Ａメールサーバ１３０は、ステップＳ５１１において、利用者Ａ端末２２０から送信された電子メールをメール中継サーバ１１０に送信するとともに、ビットパターン更新処理を行う（ステップＳ５２０）。具体的には、利用者Ａメールサーバ１３０は、ビットパターン更新部１３３において、電子メールとともに取得される宛先情報から通信者情報を取得して、ビットパターンを更新する。例えば、利用者Ａメールサーバ１３０は、ビットパターン更新部１３３において、電子メールとともに取得される「宛先アドレス（matsui@isp-b.ne.jp）」から通信者情報（matsui@isp-b.ne.jp）を取得して、ビットパターンを更新する。
【０１３５】
なお、図１２のステップＳ７１０以降には、利用者Ａ２３０に対する電子メールであって、利用者Ｂ端末３２０（利用者Ｂ３３０）から発信された電子メールを、利用者Ｂメールサーバ３１０、メール中継サーバ１１０、および利用者Ａメールサーバ１３０などを介して、利用者Ａ端末２２０（利用者Ａ２３０）に転送する場合を例示している。
【０１３６】
ここで、実施例１と異なる点について説明すると、実施例１においては、メール中継サーバ１１０が、フィルタ処理部１１２において、状態値が「未ロック状態」であるか「ロック状態」であるかを確認し、確認の結果、状態値が「未ロック状態」である場合には、電子メールとともに取得される発信元情報から通信者情報を取得してビットパターンを更新していた（図５のステップＳ１５０）。
【０１３７】
しかしながら、実施例３においては、メール中継サーバ１１０が、フィルタ処理部１１２において、状態値が「未ロック状態」であるか「ロック状態」であるかを確認し、確認の結果、状態値が「未ロック状態」である場合には、図１２に示すように、ビットパターンを更新することなく、そのまま、電子メールの転送処理へと移行する。
【実施例４】
【０１３８】
さて、これまで本発明の実施例１〜３について説明したが、本発明は上記した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【０１３９】
［ビットパターン更新］
これまで、実施例１においては、電子メールの受信を契機としてビットパターンを自動更新する手法について説明し、実施例３においては、利用者による電子メールの送信を契機としてビットパターンを自動更新する手法について説明してきたが、本発明に係るフィルタシステムのビットパターン更新手法はこれに限られるものではなく、電子メールの受信や送信以外の任意のタイミングを契機としてもよい。
【０１４０】
具体的に例を挙げて説明すると、例えば、利用者が、受信した電子メールや自らが送信した電子メールについて、期間「y1年m1月d1日〜y2年m2月d2日」を指定した情報を任意のタイミングでメール中継サーバやメールサーバに送信したとする。すると、メール中継サーバやメールサーバが、この期間に該当する電子メールの通信ログを参照し、通信ログに記録されている通信者情報各々から得られるビットパターンでビットパターンを更新する。このようなビットパターン更新手法などにも、本発明を同様に適用することができる。
【０１４１】
また、実施例１においては、電子メールの受信を契機としてビットパターンを自動更新する際、電子メールの「FROMアドレス」を通信者情報として取得する手法について説明したが、本発明はこれに限られるものではない。例えば、電子メールの「宛先アドレス」を通信者情報として取得する手法にも、本発明を同様に適用することができる。例えば、メーリングリストからの配信メールについては、このように適用するのが適切である。
【０１４２】
［フィルタシステムの実装］
また、実施例１〜３においては、本発明に係るフィルタシステムが、電気通信事業者などによって運営されるシステムであることを想定したが、本発明はこれに限られるものではない。本発明に係るフィルタシステムが、利用者端末のメール受信プログラム（電子メールソフト）に実装されている場合にも、本発明を同様に適用することができる。この場合には、例えば、電子メールソフトが、電子メールを一旦着信し、着信した電子メールを、廃棄せずに表示するか廃棄するかなどを決定することになる。
【０１４３】
［その他のコミュニケーション］
また、実施例１〜３においては、フィルタシステムを、電子メールを転送するメール転送システムに適用する場合について説明したが、本発明はこれに限られるものではなく、ＩＰ電話システムやブログシステムなどにも、本発明を同様に適用することができる。例えば、ＩＰ電話システムの場合であれば、「フィルタシステム」は、「INVITEメッセージ」を一旦着信し、着信した「INVITEメッセージ」の発信元ＳＩＰ−ＵＲＩなどに基づいて、当該「INVITEメッセージ」を「接続可として接続する」か「接続不可として接続しない」かを決定する。また、例えば、ブログシステムの場合であれば、「フィルタシステム」は、「コメント書き込み要求」を一旦着信し、着信した「コメント書き込み要求」の発信元ＩＤ（コメント者ＩＤ）などに基づいて、当該「コメント書き込み要求」を「書き込み可として書き込ませる」か「書き込み不可として書き込ませない」かを決定する。また、同様に、「フィルタシステム」は、「トラックバック要求」を一旦着信し、着信した「トラックバック要求」の発信元ホストネーム（トラックバックサイトのホストネーム）などに基づいて、「トラックバック可としてトラックバックさせる」か「トラックバック不可としてトラックバックさせない」かを決定する。
【０１４４】
［システム構成等］
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理（例えば、ビットパターンの更新処理、状態値設定処理、承認されたビットパターン更新処理など）の全部または一部を手動的におこなうこともでき（例えば、ビットパターンの更新、状態値の設定変更、承認された後の長期ビットパターンや一時ビットパターンの更新処理などが、利用者やフィルタシステムの運用管理者などによって手動で行われるなど）、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる（例えば、メール中継サーバが、特定の利用者について『迷惑メールが届く状態』になったと判断して、状態値の設定を「未ロック状態」から「ロック状態」に変更するなど）。この他、上記文書中や図面中で示した処理手順（図５、６、７、８、および１２など）、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１４５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示（例えば、図２、１１など）の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる（例えば、メール中継サーバ１１０とデータ管理サーバ１２０とを物理的に単一の装置で構成するなど）。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１４６】
なお、本実施例で説明したフィルタ方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【産業上の利用可能性】
【０１４７】
以上のように、本発明に係るフィルタシステムおよびフィルタプログラムは、利用者を宛先として着信した通信要求を、当該通信要求の発信元を識別する発信元情報に基づいて、拒否せずに処理するか拒否または制限つきで処理するかを決定することに有用であり、特に、『拒否または制限つきで処理すべき通信要求が届かない状態（届き始める前の状態）』から『拒否または制限つきで処理すべき通信要求が届く状態』へと遷移し得る状況下で、当該遷移に応じた処理を行うことに適する。
【図面の簡単な説明】
【０１４８】
【図１】実施例１に係るフィルタシステムの概要および特徴を説明するための図である。
【図２】実施例１に係るフィルタシステムの構成を示すブロック図である。
【図３】ビットパターンテーブルを説明するための図である。
【図４】ビットパターン算出部を説明するための図である。
【図５】フィルタシステムによる処理の手順を示すシーケンス図である。
【図６】ビットパターン更新処理の手順を示すシーケンス図である。
【図７】フィルタ処理の手順を示すシーケンス図である。
【図８】状態値設定処理の手順を示すシーケンス図である。
【図９】実施例２におけるデータ管理サーバを説明するための図である。
【図１０】実施例２におけるビットパターンテーブルを説明するための図である。
【図１１】実施例３に係るフィルタシステムの構成を示すブロック図である。
【図１２】実施例３に係るフィルタシステムによる処理の手順を示すシーケンス図である。
【符号の説明】
【０１４９】
１００  ＬＡＮ
１１０  メール中継サーバ
１１１  メール通信部
１１２  フィルタ処理部
１１３  ビットパターン算出部
１１４  ビットパターン比較部
１１５  ビットパターン更新部
１１６  ビットパターン算出部
１２０  データ管理サーバ
１２１  ビットパターンテーブル
１２２  設定命令受信部
１２３  状態値設定部
１２４  承認命令受信部
１２５  第二のビットパターン更新部
１３０  利用者Ａメールサーバ
１３１  ＳＭＴＰ／ＰＯＰ通信部
１３２  メール蓄積部
２２０  利用者Ａ端末
２３０  利用者Ａ
２４０  利用者Ａ  ＩＰ網
３１０  利用者Ｂメールサーバ
３２０  利用者Ｂ端末
３３０  利用者Ｂ
３４０  利用者Ｂ  ＩＰ網
４００  インターネット
【図１】
2008306369.tif 000003
【図２】
2008306369.tif 000004
【図３】
2008306369.tif 000005
【図４】
2008306369.tif 000006
【図５】
2008306369.tif 000007
【図６】
2008306369.tif 000008
【図７】
2008306369.tif 000009
【図８】
2008306369.tif 000010
【図９】
2008306369.tif 000011
【図１０】
2008306369.tif 000012
【図１１】
2008306369.tif 000013
【図１２】
2008306369.tif 000014