(57)【要約】【課題】メッセージ転送システムにおいて、発信元情報の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際に発信元情報を検索する効率を低下させず、ひいては、発信元情報の登録数を制限させないことが可能なメッセージ転送システムを提供することを課題とする。【解決手段】ビットパターンと利用者情報とを対応づけて保持し、利用者がメッセージの転送を許可する発信元の発信元情報からビットパターンを算出し、保持されたビットパターンと算出されたビットパターンとをＯＲ演算することで得られる結果のビットパターンによって登録し、メッセージを受信した際にメッセージに含まれる発信元情報からビットパターンを算出し、保持されたビットパターンと算出されたビットパターンとを比較し、比較の結果に基づいてメッセージを利用者に転送するように制御する。【選択図】        図１
2008070961.tif 000002
【特許請求の範囲】
【請求項１】
メッセージに含まれる当該メッセージの発信元に関する情報である発信元情報に基づいて、利用者に対するメッセージの転送を制御するメッセージ転送システムであって、
０および１の値から成る所定のビット数のビットパターンと前記利用者を識別する利用者情報とを対応づけて保持するビットパターン保持手段と、
前記利用者がメッセージの転送を許可する発信元の発信元情報から前記ビット数のビットパターンを所定の関数を用いて算出し、前記ビットパターン保持手段によって保持されたビットパターンと当該算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該ビットパターン保持手段によって保持されたビットパターンを置き換えて登録するビットパターン登録手段と、
前記利用者に対するメッセージを受信した際に、当該メッセージに含まれる発信元情報から前記ビット数のビットパターンを前記関数を用いて算出するビットパターン算出手段と、
前記ビットパターン保持手段によって保持されたビットパターンと前記ビットパターン算出手段によって算出されたビットパターンとをビット単位で比較し、当該算出されたビットパターンにおいて１の値のビットと同じ順位のビットが前記保持されたビットパターンにおいて全て１の値である場合には、前記メッセージを前記利用者に転送するように制御するメッセージ転送制御手段と、
を備えたことを特徴とするメッセージ転送システム。
【請求項２】
前記ビットパターン登録手段は、前記所定の関数としてハッシュ関数を用いて前記発信元情報からビットパターンを算出することを特徴とする請求項１に記載のメッセージ転送システム。
【請求項３】
前記ビットパターン登録手段は、前記所定の関数として、前記ビット数以下の正整数値を導出する複数のハッシュ関数を用いて前記発信元情報から複数の正整数値を当該ハッシュ関数ごとにそれぞれ導出し、当該正整数値に該当する順位のビットを１の値とする前記ビット数のビットパターンを前記ハッシュ関数ごとにそれぞれ生成し、当該生成された複数のビットパターンをビット単位にＯＲ演算することで、前記発信元情報からビットパターンを算出することを特徴とする請求項１に記載のメッセージ転送システム。
【請求項４】
前記利用者がメッセージの転送を拒否する発信元の発信元情報と前記利用者情報とを対応づけて保持する拒否発信元情報保持手段をさらに備え、
前記メッセージ転送制御手段は、前記比較の結果前記算出されたビットパターンにおいて１の値のビットと同じ順位のビットが前記保持されたビットパターンにおいて全て１の値である場合であっても、前記メッセージに含まれる発信元情報が前記拒否発信元情報保持手段によって保持される発信元情報に該当する場合には、当該メッセージを前記利用者に転送しないように制御することを特徴とする請求項１〜３のいずれか一つに記載のメッセージ転送システム。
【請求項５】
前記ビットパターン保持手段は、前記ビットパターンと前記利用者情報との対応づけを現在の周期から過去の所定の周期まで周期単位で保持するものであって、周期の経過に伴い、前記現在の周期のビットパターンを全て０の値から成るビットパターンに置き換え、かつ、前記過去の所定の周期のビットパターンを廃棄し、かつ、当該過去の所定の周期以外の周期のビットパターンを一つ前の周期のビットパターンに置き換えて保持し、
前記ビットパターン登録手段は、前記ビットパターン保持手段によって保持された現在の周期のビットパターンと前記発信元情報から算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該現在の周期のビットパターンを置き換えて登録し、
前記メッセージ転送制御手段は、前記ビットパターン保持手段によって保持された全ての周期のビットパターンと前記ビットパターン算出手段によって算出されたビットパターンとを比較し、当該算出されたビットパターンにおいて１の値のビットと同じ順位のビットが、当該全ての周期のビットパターンのいずれかのビットパターンにおいて全て１の値である場合には、前記メッセージを前記利用者に転送するように制御し、
前記ビットパターン登録手段は、前記メッセージ転送制御手段による比較の結果前記現在の周期以外の周期のビットパターンにおいて全て１の値になることで前記メッセージを前記利用者に転送するように制御された当該メッセージに含まれる発信元情報から算出されたビットパターンと、前記ビットパターン保持手段によって保持された現在の周期のビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該現在の周期のビットパターンを置き換えてさらに登録することを特徴とする請求項１〜４のいずれか一つに記載のメッセージ転送システム。
【請求項６】
前記メッセージ転送制御手段によって比較された結果、前記発信元情報から算出されたビットパターンにおいて１の値のビットと同じ順位のいずれかのビットが、前記保持されたビットパターンにおいて１の値にならなかった場合には、当該発信元情報を当該保持されたビットパターンに登録することに対しての同意を確認する同意確認メッセージを、当該発信元情報とともに前記利用者に送信する同意確認送信手段と、
前記同意確認送信手段によって送信された前記同意確認メッセージに対する同意の応答として前記利用者から通知される同意通知を前記発信元情報とともに受信する同意通知受信手段とをさらに備え、
前記ビットパターン登録手段は、前記同意通知受信手段によって前記同意通知とともに受信された前記発信元情報から前記ビットパターンを所定の関数を用いて算出し、前記ビットパターン保持手段によって保持されたビットパターンと当該算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該ビットパターン保持手段によって保持されたビットパターンを置き換えて登録することを特徴とする請求項１〜５のいずれか一つに記載のメッセージ転送システム。
【請求項７】
発信元情報を前記ビットパターン保持手段に登録することに対しての同意を確認する同意確認メッセージの送信先と前記利用者情報とを対応づけて保持する同意確認送信先保持手段と、
前記メッセージ転送制御手段によって比較された結果、前記発信元情報から算出されたビットパターンにおいて１の値のビットと同じ順位のいずれかのビットが、前記保持されたビットパターンにおいて１の値にならなかった場合には、前記同意確認メッセージを当該発信元情報および前記利用者情報とともに前記同意確認送信先保持手段によって保持された前記送信先に送信する同意確認送信手段と、
前記同意確認送信手段によって送信された前記同意確認メッセージに対する同意の応答として前記利用者から通知される同意通知を前記発信元情報および前記利用者情報とともに受信する同意通知受信手段とをさらに備え、
前記ビットパターン登録手段は、前記同意通知受信手段によって前記同意通知とともに受信された前記発信元情報から前記ビットパターンを所定の関数を用いて算出し、前記ビットパターン保持手段によって保持されたビットパターンと当該算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、前記利用者情報に対応づけられて当該ビットパターン保持手段によって保持されたビットパターンを置き換えて登録することを特徴とする請求項１〜５のいずれか一つに記載のメッセージ転送システム。
【請求項８】
利用者を識別する利用者情報とキーワードとを含むメッセージアドレスを宛先とするメッセージの転送を制御するメッセージ転送システムであって、
前記利用者情報と一つ以上の有効ワードとを対応づけて保持する有効ワード保持手段と、
０および１の値から成る所定のビット数のビットパターンと前記利用者情報とを対応づけて保持するビットパターン保持手段と、
前記メッセージアドレスを宛先とするメッセージを受信した際に、前記有効ワード保持手段によって保持された有効ワードのうち、当該メッセージアドレスに含まれる利用者情報に対応する一つ以上の有効ワードのそれぞれを当該メッセージアドレスに含まれるキーワードと比較して有効ワードのいずれかが当該キーワードに部分的に一致する場合には、当該キーワードから前記ビット数のビットパターンを所定の関数によって算出し、前記ビットパターン保持手段によって保持されたビットパターンと当該算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該ビットパターン保持手段によって保持されたビットパターンを置き換えて登録するビットパターン登録手段と、
前記メッセージアドレスを宛先とするメッセージを受信した際に、当該メッセージアドレスに含まれるキーワードから前記ビット数のビットパターンを前記関数によって算出するビットパターン算出手段と、
前記メッセージアドレスを宛先とするメッセージを受信した際に、前記有効ワード保持手段によって保持された有効ワードのうち、当該メッセージアドレスに含まれる利用者情報に対応する一つ以上の有効ワードのそれぞれを当該メッセージアドレスに含まれるキーワードと比較して有効ワードのいずれかが当該キーワードに部分的に一致する場合、または、前記ビットパターン保持手段によって保持されたビットパターンと前記ビットパターン算出手段によって算出されたビットパターンとをビット単位で比較して当該算出されたビットパターンにおいて１の値のビットと同じ順位のビットが前記保持されたビットパターンにおいて全て１の値である場合には、前記メッセージを転送するように制御するメッセージ転送制御手段と、
を備えたことを特徴とするメッセージ転送システム。
【請求項９】
メッセージに含まれる当該メッセージの発信元に関する情報である発信元情報に基づいて、利用者に対するメッセージの転送を制御する方法をコンピュータに実行させるメッセージ転送プログラムであって、
０および１の値から成る所定のビット数のビットパターンと前記利用者を識別する利用者情報とを対応づけて保持するビットパターン保持手順と、
前記利用者がメッセージの転送を許可する発信元の発信元情報から前記ビット数のビットパターンを所定の関数を用いて算出し、前記ビットパターン保持手順によって保持されたビットパターンと当該算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該ビットパターン保持手順によって保持されたビットパターンを置き換えて登録するビットパターン登録手順と、
前記利用者に対するメッセージを受信した際に、当該メッセージに含まれる発信元情報から前記ビット数のビットパターンを前記関数を用いて算出するビットパターン算出手順と、
前記ビットパターン保持手順によって保持されたビットパターンと前記ビットパターン算出手順によって算出されたビットパターンとをビット単位で比較し、当該算出されたビットパターンにおいて１の値のビットと同じ順位のビットが前記保持されたビットパターンにおいて全て１の値である場合には、前記メッセージを前記利用者に転送するように制御するメッセージ転送制御手順と、
をコンピュータに実行させることを特徴とするメッセージ転送プログラム。
【請求項１０】
利用者を識別する利用者情報とキーワードとを含むメッセージアドレスを宛先とするメッセージの転送を制御する方法をコンピュータに実行させるメッセージ転送プログラムであって、
前記利用者情報と一つ以上の有効ワードとを対応づけて保持する有効ワード保持手順と、
０および１の値から成る所定のビット数のビットパターンと前記利用者情報とを対応づけて保持するビットパターン保持手順と、
前記メッセージアドレスを宛先とするメッセージを受信した際に、前記有効ワード保持手順によって保持された有効ワードのうち、当該メッセージアドレスに含まれる利用者情報に対応する一つ以上の有効ワードのそれぞれを当該メッセージアドレスに含まれるキーワードと比較して有効ワードのいずれかが当該キーワードに部分的に一致する場合には、当該キーワードから前記ビット数のビットパターンを所定の関数によって算出し、前記ビットパターン保持手順によって保持されたビットパターンと当該算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該ビットパターン保持手順によって保持されたビットパターンを置き換えて登録するビットパターン登録手順と、
前記メッセージアドレスを宛先とするメッセージを受信した際に、当該メッセージアドレスに含まれるキーワードから前記ビット数のビットパターンを前記関数によって算出するビットパターン算出手順と、
前記メッセージアドレスを宛先とするメッセージを受信した際に、前記有効ワード保持手順によって保持された有効ワードのうち、当該メッセージアドレスに含まれる利用者情報に対応する一つ以上の有効ワードのそれぞれを当該メッセージアドレスに含まれるキーワードと比較して有効ワードのいずれかが当該キーワードに部分的に一致する場合、または、前記ビットパターン保持手順によって保持されたビットパターンと前記ビットパターン算出手順によって算出されたビットパターンとをビット単位で比較して当該算出されたビットパターンにおいて１の値のビットと同じ順位のビットが前記保持されたビットパターンにおいて全て１の値である場合には、前記メッセージを転送するように制御するメッセージ転送制御手順と、
をコンピュータに実行させることを特徴とするメッセージ転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メッセージ転送システムおよびメッセージ転送プログラムに関する。
【背景技術】
【０００２】
従来より、インターネットにおいては、営利目的の電子メールを無差別に大量配信する「迷惑メール」が大きな問題となっており、「迷惑メール」対策として、様々な技術が開発されている。例えば、発信元に関する発信元情報を登録する手法のひとつでは、まず、発信元からの電子メールを利用者に転送するメール転送サーバが、電子メールの転送が許可される発信元のメールアドレスを、「ホワイトリスト」として予め登録する。すると、メール転送サーバは、利用者宛の電子メールを受信した際に、発信元のメールアドレスと一致するメールアドレスが、「ホワイトリスト」に登録されているか否かを検索し、検索できた場合にのみ、利用者に電子メールを転送する。
【０００３】
また、例えば、特許文献１では、受信した電子メールに対して利用者が返信すると、メール転送サーバが、その返信先（発信元）のメールアドレスを「ホワイトリスト」として登録する手法が提案されている。
【０００４】
【特許文献１】特開２００３−１７８００８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記した従来の技術には、以下に説明するように、メッセージ転送システムにおいて、発信元情報の登録に利用される記憶領域が増大し、また、メッセージ転送の許否を判断する際に発信元情報を検索する効率が低下し、ひいては、発信元情報の登録数を制限せざるを得ないという課題がある。
【０００６】
すなわち、発信元情報として発信元のメールアドレスを登録する従来の手法では、登録されるメールアドレスの登録数に比例して、発信元情報の登録に利用される記憶領域が増大する。また、発信元情報の登録に利用する記憶領域が増大すると、メール転送の許否を判断する際に発信元情報を検索する記憶領域が増大することになるので、発信元情報を検索する効率が低下する。ひいては、記憶領域の増大や、記憶領域の増大に伴う検索効率の低下を回避するために、発信元情報の登録数を制限せざるを得ない。
【０００７】
なお、このような課題は、発信元のメールアドレスを登録することで利用者宛のメール転送を制御するメール転送システムに限らず、発信元の電話番号などを登録することで利用者宛のメッセージ転送を制御するＩＰ（Internet  Protocol）電話システムなど、ネットワーク上においてメッセージを転送するメッセージ転送システムにおいて、同様に課題となる。
【０００８】
そこで、この発明は、上記した従来技術の課題を解決するためになされたものであり、メッセージ転送システムにおいて、発信元情報の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際に発信元情報を検索する効率を低下させず、ひいては、発信元情報の登録数を制限させないことが可能なメッセージ転送システムおよびメッセージ転送プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記した課題を解決し、目的を達成するため、請求項１に係る発明は、メッセージに含まれる当該メッセージの発信元に関する情報である発信元情報に基づいて、利用者に対するメッセージの転送を制御するメッセージ転送システムであって、０および１の値から成る所定のビット数のビットパターンと前記利用者を識別する利用者情報とを対応づけて保持するビットパターン保持手段と、前記利用者がメッセージの転送を許可する発信元の発信元情報から前記ビット数のビットパターンを所定の関数を用いて算出し、前記ビットパターン保持手段によって保持されたビットパターンと当該算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該ビットパターン保持手段によって保持されたビットパターンを置き換えて登録するビットパターン登録手段と、前記利用者に対するメッセージを受信した際に、当該メッセージに含まれる発信元情報から前記ビット数のビットパターンを前記関数を用いて算出するビットパターン算出手段と、前記ビットパターン保持手段によって保持されたビットパターンと前記ビットパターン算出手段によって算出されたビットパターンとをビット単位で比較し、当該算出されたビットパターンにおいて１の値のビットと同じ順位のビットが前記保持されたビットパターンにおいて全て１の値である場合には、前記メッセージを前記利用者に転送するように制御するメッセージ転送制御手段と、を備えたことを特徴とする。
【００１０】
また、請求項２に係る発明は、上記の発明において、前記ビットパターン登録手段は、前記所定の関数としてハッシュ関数を用いて前記発信元情報からビットパターンを算出することを特徴とする。
【００１１】
また、請求項３に係る発明は、上記の発明において、前記ビットパターン登録手段は、前記所定の関数として、前記ビット数以下の正整数値を導出する複数のハッシュ関数を用いて前記発信元情報から複数の正整数値を当該ハッシュ関数ごとにそれぞれ導出し、当該正整数値に該当する順位のビットを１の値とする前記ビット数のビットパターンを前記ハッシュ関数ごとにそれぞれ生成し、当該生成された複数のビットパターンをビット単位にＯＲ演算することで、前記発信元情報からビットパターンを算出することを特徴とする。
【００１２】
また、請求項４に係る発明は、上記の発明において、前記利用者がメッセージの転送を拒否する発信元の発信元情報と前記利用者情報とを対応づけて保持する拒否発信元情報保持手段をさらに備え、前記メッセージ転送制御手段は、前記比較の結果前記算出されたビットパターンにおいて１の値のビットと同じ順位のビットが前記保持されたビットパターンにおいて全て１の値である場合であっても、前記メッセージに含まれる発信元情報が前記拒否発信元情報保持手段によって保持される発信元情報に該当する場合には、当該メッセージを前記利用者に転送しないように制御することを特徴とする。
【００１３】
また、請求項５に係る発明は、上記の発明において、前記ビットパターン保持手段は、前記ビットパターンと前記利用者情報との対応づけを現在の周期から過去の所定の周期まで周期単位で保持するものであって、周期の経過に伴い、前記現在の周期のビットパターンを全て０の値から成るビットパターンに置き換え、かつ、前記過去の所定の周期のビットパターンを廃棄し、かつ、当該過去の所定の周期以外の周期のビットパターンを一つ前の周期のビットパターンに置き換えて保持し、前記ビットパターン登録手段は、前記ビットパターン保持手段によって保持された現在の周期のビットパターンと前記発信元情報から算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該現在の周期のビットパターンを置き換えて登録し、前記メッセージ転送制御手段は、前記ビットパターン保持手段によって保持された全ての周期のビットパターンと前記ビットパターン算出手段によって算出されたビットパターンとを比較し、当該算出されたビットパターンにおいて１の値のビットと同じ順位のビットが、当該全ての周期のビットパターンのいずれかのビットパターンにおいて全て１の値である場合には、前記メッセージを前記利用者に転送するように制御し、前記ビットパターン登録手段は、前記メッセージ転送制御手段による比較の結果前記現在の周期以外の周期のビットパターンにおいて全て１の値になることで前記メッセージを前記利用者に転送するように制御された当該メッセージに含まれる発信元情報から算出されたビットパターンと、前記ビットパターン保持手段によって保持された現在の周期のビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該現在の周期のビットパターンを置き換えてさらに登録することを特徴とする。
【００１４】
また、請求項６に係る発明は、上記の発明において、前記メッセージ転送制御手段によって比較された結果、前記発信元情報から算出されたビットパターンにおいて１の値のビットと同じ順位のいずれかのビットが、前記保持されたビットパターンにおいて１の値にならなかった場合には、当該発信元情報を当該保持されたビットパターンに登録することに対しての同意を確認する同意確認メッセージを、当該発信元情報とともに前記利用者に送信する同意確認送信手段と、前記同意確認送信手段によって送信された前記同意確認メッセージに対する同意の応答として前記利用者から通知される同意通知を前記発信元情報とともに受信する同意通知受信手段とをさらに備え、前記ビットパターン登録手段は、前記同意通知受信手段によって前記同意通知とともに受信された前記発信元情報から前記ビットパターンを所定の関数を用いて算出し、前記ビットパターン保持手段によって保持されたビットパターンと当該算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該ビットパターン保持手段によって保持されたビットパターンを置き換えて登録することを特徴とする。
【００１５】
また、請求項７に係る発明は、上記の発明において、発信元情報を前記ビットパターン保持手段に登録することに対しての同意を確認する同意確認メッセージの送信先と前記利用者情報とを対応づけて保持する同意確認送信先保持手段と、前記メッセージ転送制御手段によって比較された結果、前記発信元情報から算出されたビットパターンにおいて１の値のビットと同じ順位のいずれかのビットが、前記保持されたビットパターンにおいて１の値にならなかった場合には、前記同意確認メッセージを当該発信元情報および前記利用者情報とともに前記同意確認送信先保持手段によって保持された前記送信先に送信する同意確認送信手段と、前記同意確認送信手段によって送信された前記同意確認メッセージに対する同意の応答として前記利用者から通知される同意通知を前記発信元情報および前記利用者情報とともに受信する同意通知受信手段とをさらに備え、前記ビットパターン登録手段は、前記同意通知受信手段によって前記同意通知とともに受信された前記発信元情報から前記ビットパターンを所定の関数を用いて算出し、前記ビットパターン保持手段によって保持されたビットパターンと当該算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、前記利用者情報に対応づけられて当該ビットパターン保持手段によって保持されたビットパターンを置き換えて登録することを特徴とする。
【００１６】
また、請求項８に係る発明は、利用者を識別する利用者情報とキーワードとを含むメッセージアドレスを宛先とするメッセージの転送を制御するメッセージ転送システムであって、前記利用者情報と一つ以上の有効ワードとを対応づけて保持する有効ワード保持手段と、０および１の値から成る所定のビット数のビットパターンと前記利用者情報とを対応づけて保持するビットパターン保持手段と、前記メッセージアドレスを宛先とするメッセージを受信した際に、前記有効ワード保持手段によって保持された有効ワードのうち、当該メッセージアドレスに含まれる利用者情報に対応する一つ以上の有効ワードのそれぞれを当該メッセージアドレスに含まれるキーワードと比較して有効ワードのいずれかが当該キーワードに部分的に一致する場合には、当該キーワードから前記ビット数のビットパターンを所定の関数によって算出し、前記ビットパターン保持手段によって保持されたビットパターンと当該算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該ビットパターン保持手段によって保持されたビットパターンを置き換えて登録するビットパターン登録手段と、前記メッセージアドレスを宛先とするメッセージを受信した際に、当該メッセージアドレスに含まれるキーワードから前記ビット数のビットパターンを前記関数によって算出するビットパターン算出手段と、前記メッセージアドレスを宛先とするメッセージを受信した際に、前記有効ワード保持手段によって保持された有効ワードのうち、当該メッセージアドレスに含まれる利用者情報に対応する一つ以上の有効ワードのそれぞれを当該メッセージアドレスに含まれるキーワードと比較して有効ワードのいずれかが当該キーワードに部分的に一致する場合、または、前記ビットパターン保持手段によって保持されたビットパターンと前記ビットパターン算出手段によって算出されたビットパターンとをビット単位で比較して当該算出されたビットパターンにおいて１の値のビットと同じ順位のビットが前記保持されたビットパターンにおいて全て１の値である場合には、前記メッセージを転送するように制御するメッセージ転送制御手段と、を備えたことを特徴とする。
【００１７】
また、請求項９に係る発明は、メッセージに含まれる当該メッセージの発信元に関する情報である発信元情報に基づいて、利用者に対するメッセージの転送を制御する方法をコンピュータに実行させるメッセージ転送プログラムであって、０および１の値から成る所定のビット数のビットパターンと前記利用者を識別する利用者情報とを対応づけて保持するビットパターン保持手順と、前記利用者がメッセージの転送を許可する発信元の発信元情報から前記ビット数のビットパターンを所定の関数を用いて算出し、前記ビットパターン保持手順によって保持されたビットパターンと当該算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該ビットパターン保持手順によって保持されたビットパターンを置き換えて登録するビットパターン登録手順と、前記利用者に対するメッセージを受信した際に、当該メッセージに含まれる発信元情報から前記ビット数のビットパターンを前記関数を用いて算出するビットパターン算出手順と、前記ビットパターン保持手順によって保持されたビットパターンと前記ビットパターン算出手順によって算出されたビットパターンとをビット単位で比較し、当該算出されたビットパターンにおいて１の値のビットと同じ順位のビットが前記保持されたビットパターンにおいて全て１の値である場合には、前記メッセージを前記利用者に転送するように制御するメッセージ転送制御手順と、をコンピュータに実行させることを特徴とする。
【００１８】
また、請求項１０に係る発明は、利用者を識別する利用者情報とキーワードとを含むメッセージアドレスを宛先とするメッセージの転送を制御する方法をコンピュータに実行させるメッセージ転送プログラムであって、前記利用者情報と一つ以上の有効ワードとを対応づけて保持する有効ワード保持手順と、０および１の値から成る所定のビット数のビットパターンと前記利用者情報とを対応づけて保持するビットパターン保持手順と、前記メッセージアドレスを宛先とするメッセージを受信した際に、前記有効ワード保持手順によって保持された有効ワードのうち、当該メッセージアドレスに含まれる利用者情報に対応する一つ以上の有効ワードのそれぞれを当該メッセージアドレスに含まれるキーワードと比較して有効ワードのいずれかが当該キーワードに部分的に一致する場合には、当該キーワードから前記ビット数のビットパターンを所定の関数によって算出し、前記ビットパターン保持手順によって保持されたビットパターンと当該算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、当該ビットパターン保持手順によって保持されたビットパターンを置き換えて登録するビットパターン登録手順と、前記メッセージアドレスを宛先とするメッセージを受信した際に、当該メッセージアドレスに含まれるキーワードから前記ビット数のビットパターンを前記関数によって算出するビットパターン算出手順と、前記メッセージアドレスを宛先とするメッセージを受信した際に、前記有効ワード保持手順によって保持された有効ワードのうち、当該メッセージアドレスに含まれる利用者情報に対応する一つ以上の有効ワードのそれぞれを当該メッセージアドレスに含まれるキーワードと比較して有効ワードのいずれかが当該キーワードに部分的に一致する場合、または、前記ビットパターン保持手順によって保持されたビットパターンと前記ビットパターン算出手順によって算出されたビットパターンとをビット単位で比較して当該算出されたビットパターンにおいて１の値のビットと同じ順位のビットが前記保持されたビットパターンにおいて全て１の値である場合には、前記メッセージを転送するように制御するメッセージ転送制御手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１９】
請求項１または９の発明によれば、メッセージに含まれる発信元情報に基づいて、利用者に対するメッセージの転送を制御するメッセージ転送システムであって、０および１の値から成る所定のビット数のビットパターンと利用者情報とを対応づけて保持し、利用者がメッセージの転送を許可する発信元の発信元情報から所定のビット数のビットパターンを所定の関数を用いて算出し、保持されたビットパターンと算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、保持されたビットパターンを置き換えて登録し、利用者に対するメッセージを受信した際に、メッセージに含まれる発信元情報から所定のビット数のビットパターンを所定の関数を用いて算出し、保持されたビットパターンと算出されたビットパターンとをビット単位で比較し、算出されたビットパターンにおいて１の値のビットと同じ順位のビットが保持されたビットパターンにおいて全て１の値である場合には、メッセージを利用者に転送するように制御するので、メッセージ転送システムにおいて、発信元情報の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際に発信元情報を検索する効率を低下させず、ひいては、発信元情報の登録数を制限させないことが可能になる。
【００２０】
すなわち、本発明に係るメッセージ転送システムによれば、発信元情報が、所定のビット数のビットパターンに置き換えられることによって登録される（ひとつのビットパターンに発信元情報が重ねて登録される）ことから、発信元情報の登録数に比例して、発信元情報の登録に利用される記憶領域を増大させることはない。また、発信元情報の登録に利用する記憶領域を増大させないので、メッセージ転送の許否を判断する際に発信元情報を検索する記憶領域を増大させることもないことから、発信元情報を検索する効率を低下させない。ひいては、記憶領域の増大や、記憶領域の増大に伴う検索効率の低下を回避する必要もないことから、発信元情報の登録数を制限させない。
【００２１】
また、請求項２の発明によれば、メッセージ転送システムは、所定の関数としてハッシュ関数を用いて発信元情報からビットパターンを算出するので、単純なアルゴリズムによる関数を用いて発信元情報からビットパターンを算出する手法に比較して、メッセージ転送システムにおいて、安全にビットパターンを保持することも可能になる。
【００２２】
すなわち、ハッシュ関数は、固定長のビットパターンを算出する特性、一方向性関数としての特性（算出されたビットパターンから算出に用いたデータを推測することが事実上不可能）、同一のビットパターンを算出するデータを作成することが困難であるという特性（異なる発信元情報から同一のビットパターンが算出されにくい）などを有することから、例えば、発信元情報が登録されたビットパターンが漏洩するといった事態が発生しても、ビットパターンから発信元情報が推測されるおそれがないため、安全にビットパターンを保持することも可能になる。
【００２３】
また、請求項３の発明によれば、メッセージ転送システムは、所定の関数として、所定のビット数以下の正整数値を導出する複数のハッシュ関数を用いて発信元情報から複数の正整数値をハッシュ関数ごとにそれぞれ導出し、正整数値に該当する順位のビットを１の値とする所定のビット数のビットパターンをハッシュ関数ごとにそれぞれ生成し、生成された複数のビットパターンをビット単位にＯＲ演算することで、発信元情報からビットパターンを算出するので、単一のハッシュ関数を用いて発信元情報からビットパターンを算出する手法に比較して、メッセージ転送システムにおいて、誤判定（本来利用者が電子メールの転送を許可しない発信元からの電子メールが、誤って利用者に転送されてしまう判定）の確率を低下させることも可能になる。
【００２４】
すなわち、ハッシュ関数を用いたブルームフィルタの理論を適用することで、最適なビット数や最適な数のハッシュ関数を組み合わせてビットパターンを算出する手法であるので、算出されたビットパターンにおいて「１」の値が分散されることから、誤判定の確率を低下させることが可能になる。
【００２５】
また、請求項４の発明によれば、メッセージ転送システムは、利用者がメッセージの転送を拒否する発信元の発信元情報と利用者情報とを対応づけてさらに保持し、比較の結果算出されたビットパターンにおいて１の値のビットと同じ順位のビットが保持されたビットパターンにおいて全て１の値である場合であっても、メッセージに含まれる発信元情報が保持される拒否発信元情報に該当する場合には、メッセージを利用者に転送しないように制御するので、発信元情報がビットパターンに置き換えられることによって登録される手法（ひとつのビットパターンに発信元情報が重ねて登録される手法）においては、発信元情報を削除することができない（一度登録した発信元情報については、メッセージの転送を許可しないように変更することができない）が、利用者がメッセージの転送を拒否する発信元の発信元情報（ブラックリスト）を保持して併用することで、一度登録した発信元情報についても、メッセージの転送を許可しないようにすることも可能になる。
【００２６】
なお、発信元情報がビットパターンに置き換えられることによって登録される手法においては、誤判定（本来利用者が電子メールの転送を許可しない発信元からの電子メールが、誤って、利用者に転送されてしまう判定）が発生するおそれがあるが、利用者がメッセージの転送を拒否する発信元の発信元情報（ブラックリスト）を保持して併用することで、少なくとも利用者が積極的に電子メールの転送を許可しない発信元からの電子メールが、誤って利用者に転送されてしまうことを回避することも可能になる。
【００２７】
また、請求項５の発明によれば、メッセージ転送システムは、ビットパターンと利用者情報との対応づけを現在の周期から過去の所定の周期まで周期単位で保持するものであって、周期の経過に伴い、現在の周期のビットパターンを全て０の値から成るビットパターンに置き換え、かつ、過去の所定の周期のビットパターンを廃棄し、かつ、過去の所定の周期以外の周期のビットパターンを一つ前の周期のビットパターンに置き換えて保持し、保持された現在の周期のビットパターンと発信元情報から算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、現在の周期のビットパターンを置き換えて登録し、保持された全ての周期のビットパターンと算出されたビットパターンとを比較し、算出されたビットパターンにおいて１の値のビットと同じ順位のビットが、全ての周期のビットパターンのいずれかのビットパターンにおいて全て１の値である場合には、メッセージを利用者に転送するように制御し、比較の結果現在の周期以外の周期のビットパターンにおいて全て１の値になることでメッセージを利用者に転送するように制御されたメッセージに含まれる発信元情報から算出されたビットパターンと、保持された現在の周期のビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、現在の周期のビットパターンを置き換えてさらに登録するので、発信元情報がビットパターンに置き換えられることによって登録される手法（ひとつのビットパターンに発信元情報が重ねて登録される手法）においては、発信元情報を削除することができない（一度登録した発信元情報については、古い登録の発信元情報についても削除することができない）が、ビットパターンを現在の周期から過去の所定の周期まで周期単位で保持し、周期の経過に伴い、過去の所定の周期のビットパターンを廃棄することで、一度登録した発信元情報であっても、古い登録の発信元情報について削除することも可能になる。
【００２８】
また、発信元情報がビットパターンに置き換えられることによって登録される手法においては、誤判定（本来利用者が電子メールの転送を許可しない発信元からの電子メールが、誤って、利用者に転送されてしまう判定）の発生の確率が、発信元情報が多く登録されるに従って高くなるおそれがあるが（ビットパターンに登録される「１」の値が多くなる）、周期単位でビットパターンを保持し、ビットパターンに登録される「１」の値を抑えることで、誤判定の発生の確率を低下させることも可能になる。
【００２９】
また、請求項６の発明によれば、メッセージ転送システムは、比較された結果、発信元情報から算出されたビットパターンにおいて１の値のビットと同じ順位のいずれかのビットが、保持されたビットパターンにおいて１の値にならなかった場合には、発信元情報を保持されたビットパターンに登録することに対しての同意を確認する同意確認メッセージを、発信元情報とともに利用者に送信し、送信された同意確認メッセージに対する同意の応答として利用者から通知される同意通知を発信元情報とともに受信し、同意通知とともに受信された発信元情報からビットパターンを所定の関数を用いて算出し、保持されたビットパターンと算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、保持されたビットパターンを置き換えて登録するので、例えば、メール転送システムにおいて、登録されていない発信元情報を登録することに対して同意確認に基づいて発信元情報を登録することも可能になる。
【００３０】
また、同意確認メッセージ中に発信元情報を含め、同意通知を発信元情報とともに受信することで、発信元情報が再現されるので、メール転送システムにおいて、同意確認中の接続状況の管理をする必要がなくなる結果、同意確認中の状況を記憶する領域が不要になり、記憶領域を増大させないことも可能になる。
【００３１】
また、請求項７の発明によれば、発信元情報を登録することに対しての同意を確認する同意確認メッセージの送信先と利用者情報とを対応づけて保持し、比較された結果、発信元情報から算出されたビットパターンにおいて１の値のビットと同じ順位のいずれかのビットが、保持されたビットパターンにおいて１の値にならなかった場合には、同意確認メッセージを発信元情報および利用者情報とともに保持された送信先に送信し、送信された同意確認メッセージに対する同意の応答として利用者から通知される同意通知を発信元情報および利用者情報とともに受信し、同意通知とともに受信された発信元情報からビットパターンを所定の関数を用いて算出し、保持されたビットパターンと算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、利用者情報に対応づけられて保持されたビットパターンを置き換えて登録するので、例えば、ＩＰ電話システムにおいて、登録されていない発信元情報を登録することに対して同意確認に基づいて発信元情報を登録することも可能になる。
【００３２】
また、同意確認メッセージ中に発信元情報および利用者情報を含め、同意通知を発信元情報および利用者情報とともに受信することで、発信元情報および利用者情報が再現されるので、メール転送システムにおいて、同意確認中の接続状況の管理をする必要がなくなる結果、同意確認中の状況を記憶する領域が不要になり、記憶領域を増大させないことも可能になる。
【００３３】
また、請求項８または１０の発明によれば、利用者を識別する利用者情報とキーワードとを含むメッセージアドレスを宛先とするメッセージの転送を制御するメッセージ転送システムであって、利用者情報と一つ以上の有効ワードとを対応づけて保持し、０および１の値から成るあるビット数のビットパターンと利用者情報とを対応づけて保持し、メッセージアドレスを宛先とするメッセージを受信した際に、保持された有効ワードのうち、メッセージアドレスに含まれる利用者情報に対応する一つ以上の有効ワードのそれぞれをメッセージアドレスに含まれるキーワードと比較して有効ワードのいずれかがキーワードに部分的に一致する場合には、キーワードから所定のビット数のビットパターンを所定の関数によって算出し、保持されたビットパターンと算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、保持されたビットパターンを置き換えて登録し、メッセージアドレスを宛先とするメッセージを受信した際に、メッセージアドレスに含まれるキーワードから所定のビット数のビットパターンを所定の関数によって算出し、メッセージアドレスを宛先とするメッセージを受信した際に、保持された有効ワードのうち、メッセージアドレスに含まれる利用者情報に対応する一つ以上の有効ワードのそれぞれをメッセージアドレスに含まれるキーワードと比較して有効ワードのいずれかがキーワードに部分的に一致する場合、または、保持されたビットパターンと算出されたビットパターンとをビット単位で比較して算出されたビットパターンにおいて１の値のビットと同じ順位のビットが保持されたビットパターンにおいて全て１の値である場合には、メッセージを転送するように制御するので、利用者にとってメッセージアドレスの管理負担が少なく、かつ、メッセージアドレスが漏洩した場合に漏洩元の特定を容易にするとともに漏洩したメッセージアドレスだけを簡単に無効とすることが可能なメッセージシステムにおいて、メッセージアドレスに含まれるキーワード（開示ワード）の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際にキーワード（開示ワード）を検索する効率を低下させず、ひいては、キーワード（開示ワード）の登録数を制限させないことが可能になる。
【００３４】
すなわち、本発明に係るメッセージ転送システムによれば、キーワード（開示ワード）が、所定のビット数のビットパターンに置き換えられることによって登録される（ひとつのビットパターンにキーワード（開示ワード）が重ねて登録される）ことから、キーワード（開示ワード）の登録数に比例して、キーワード（開示ワード）の登録に利用される記憶領域を増大させることはない。また、キーワード（開示ワード）の登録に利用する記憶領域を増大させないので、メッセージ転送の許否を判断する際にキーワード（開示ワード）を検索する記憶領域を増大させることもないことから、キーワード（開示ワード）を検索する効率を低下させない。ひいては、記憶領域の増大や、記憶領域の増大に伴う検索効率の低下を回避する必要もないことから、キーワード（開示ワード）の登録数を制限させない。
【発明を実施するための最良の形態】
【００３５】
以下に添付図面を参照して、本発明に係るメッセージ転送システムおよびメッセージ転送プログラムの実施例を説明する。なお、以下では、実施例で用いる主要な用語、実施例１に係るメッセージ転送システムの概要および特徴、実施例１に係るメッセージ転送システムの構成、実施例１に係るメッセージ転送システムによる処理の手順、実施例１の効果を順に説明し、続いて、他の実施例について説明する。
【実施例１】
【００３６】
［用語の説明］
まず最初に、以下の実施例で用いる主要な用語を説明する。「メッセージ」とは、例えば、メール転送システムを利用する利用者間で送受信される「電子メール」や、ＩＰ（Internet  Protocol）電話システムを利用する利用者間で送受信される「制御メッセージ」などのことである。メール転送システムやＩＰ電話システムにおいて、このような「メッセージ」には、メッセージの発信元に関する情報である「発信元情報」が含まれる。具体的に説明すると、ＳＭＴＰ（Simple  Mail  Transfer  Protocol）によるメール転送システムの「電子メール」には、例えば、「matsui@isp-b.ne.jp」のような発信元のメールアドレスが「発信元情報」として含まれる。また、ＳＩＰ（Session  Initiation  Protocol）によるＩＰ電話システムの「制御メッセージ（例えば、INVITEメッセージなど）」には、例えば、「050-1234-5678」のような電話番号や、「05012345678@isp-b.ne.jp」のようなＳＩＰ  ＵＲＩ（Session  Initiation  Protocol  Uniform  Resource  Identifier）が「発信元情報」として含まれる。
【００３７】
ところで、メール転送システムやＩＰ電話システムが、発信元の利用者から着信先の利用者に「電子メール」を転送したり、ＩＰ電話の「制御メッセージ」を転送することを考えると、着信先の宛先情報（例えば、着信先のメールアドレス、電話番号、ＳＩＰ  ＵＲＩなど）に基づくのみで、「電子メール」や「制御メッセージ」の転送が実現できるようにも思われる。しかしながら、近年、インターネットにおける「迷惑メール」が大きな問題となっていることから、メール転送システムやＩＰ電話システムは、「迷惑メール」対策として、いわゆる着信拒否のサービスを提供しなければならない。すなわち、メール転送システムやＩＰ電話システムは、利用者に対して送信された「電子メール」や「制御メッセージ」を、宛先情報に基づいて全て利用者に転送するのではなく、「電子メール」の転送を拒否したり、「制御メッセージ」の転送を拒否するといった制御を行われなければならない。
【００３８】
このため、メール転送システムやＩＰ電話システムのような「メッセージ転送システム」は、宛先情報に基づいて「電子メール」や「制御メッセージ」を転送するのみならず、「発信元情報」に基づいて、利用者に対する「電子メール」や「制御メッセージ」の転送を制御することになる。
【００３９】
［実施例１に係るメッセージ転送システムの概要および特徴］
続いて、図１を用いて、実施例１に係るメッセージ転送システムの概要および特徴を説明する。図１は、実施例１に係るメッセージ転送システムの概要および特徴を説明するための図である。なお、以下の実施例１では、メッセージ転送システムとして、電子メールを転送するメール転送システムについて説明するが、本発明はこれに限られるものではなく、ＩＰ電話の制御メッセージを転送するＩＰ電話システムなどにも、本発明を同様に適用することができる。なお、本発明をＩＰ電話システムに適用した実施例については、実施例４において説明する。
【００４０】
実施例１に係るメッセージ転送システムは、上記したように、メッセージに含まれるメッセージの発信元に関する情報である発信元情報に基づいて、利用者に対するメッセージの転送を制御することを概要とし、メッセージ転送システムにおいて、発信元情報の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際に発信元情報を検索する効率を低下させず、ひいては、発信元情報の登録数を制限させないことを特徴とする。
【００４１】
この主たる特徴について簡単に説明すると、実施例１に係るメッセージ転送システムは、図１に示すように、ビットパターン保持部（特許請求の範囲に記載の「ビットパターン保持手段」に対応する）において、０および１の値から成るあるビット数のビットパターンと、利用者を識別する利用者情報とを対応づけて保持する。例えば、メッセージ転送システムは、図１の（Ａ）に示すように、ビットパターンとして「０１０００００１１０１１・・・」と利用者情報として「suzuki」とを対応づけて保持する。
【００４２】
ここで、利用者情報「suzuki」に対応づけられたビットパターンについて簡単に説明すると、例えば、実施例１において、利用者（suzuki）は、メッセージ転送システムを利用するにあたり、電子メールの転送を許可する発信元の発信元情報を、ビットパターンとして予め登録することができる。つまり、実施例１において、発信元情報が一つも登録されていない状態（初期状態）のビットパターンは「００００００００００００・・・」であるので、図１の（Ａ）に示すビットパターン「０１０００００１１０１１・・・」は、利用者（suzuki）が電子メールの転送を許可する発信元情報が、一つまたは複数予め登録されている状態を表している。なお、発信元情報の具体的な登録手法については、後に詳述する。
【００４３】
なお、図１においては、利用者（suzuki）が電子メールの転送を許可する発信元情報が、一つまたは複数予め登録されている状態を説明したが、本発明はこれに限られるものではなく、発信元情報が一つも登録されていない状態（初期状態）においても、本発明を同様に適用することができる。また、図１においては、説明の便宜上から、ビットパターン保持部が、利用者情報「suzuki」に対応づけられたビットパターンのみを保持する様子を示したが、実際は、ビットパターン保持部は、メッセージ転送システムを利用する一人または複数の利用者について、各々の利用者情報に対応づけられたビットパターンを保持することになる。
【００４４】
このような構成のもと、実施例１に係るメッセージ転送システムは、利用者に対するメッセージの転送を制御することになるが、以下では、発信元情報をメッセージ転送システムに登録する段階と、登録された発信元情報に基づいてメッセージ転送システムがメッセージの転送を制御する段階との２段階に分けて説明する。図１の（Ａ）が、発信元情報をメッセージ転送システムに登録する段階を説明する図であり、図１の（Ｂ）が、登録された発信元情報に基づいてメッセージ転送システムがメッセージの転送を制御する段階を説明する図である。
【００４５】
まず、発信元情報をメッセージ転送システムに登録する段階について説明すると、図１の（Ａ）に示すように、実施例１に係るメッセージ転送システムは、利用者（suzuki）がメッセージの転送を許可する発信元の発信元情報から、あるビット数のビットパターンをある関数を用いて算出する（図１の（Ａ）の（１）を参照）。例えば、メッセージ転送システムは、発信元情報としてメールアドレス「matsui@isp-b.ne.jp」から、あるビット数のビットパターンをハッシュ関数などを用いて算出する。図１の（Ａ）では、算出されたビットパターンとして、「０１０１１０１１００００・・・」が例示されている。
【００４６】
次に、メッセージ転送システムは、ビットパターン保持部によって保持されたビットパターンと算出されたビットパターンとをビット単位にＯＲ演算する（図１の（Ａ）の（２）を参照）。例えば、メッセージ転送システムは、ビットパターン保持部によって保持されたビットパターン「０１０００００１１０１１・・・」と算出されたビットパターン「０１０１１０１１００００・・・」とをビット単位にＯＲ演算し、結果のビットパターン「０１０１１０１１１０１１・・・」を得る。
【００４７】
そして、メッセージ転送システムは、ＯＲ演算することで得られた結果のビットパターンによって、ビットパターン保持部によって保持されたビットパターンを置き換えて登録する（図１の（Ａ）の（３）を参照）。例えば、メッセージ転送システムは、結果のビットパターン「０１０１１０１１１０１１・・・」によって、保持されたビットパターン「０１０００００１１０１１・・・」を置き換え、結果のビットパターン「０１０１１０１１１０１１・・・」をビットパターン保持部に登録する。
【００４８】
次に、登録された発信元情報に基づいてメッセージ転送システムがメッセージの転送を制御する段階について説明すると、図１の（Ｂ）に示すように、実施例１に係るメッセージ転送システムは、利用者に対するメッセージを受信した際に（図１の（Ｂ）の（１）を参照）、メッセージに含まれる発信元情報から、あるビット数のビットパターンをある関数を用いて算出する（図１の（Ｂ）の（２）を参照）。例えば、メッセージ転送システムは、メッセージに含まれる発信元情報としてメールアドレス「matsui@isp-b.ne.jp」から、あるビット数のビットパターンをハッシュ関数などを用いて算出し、結果のビットパターン「０１０１１０１１００００・・・」を得る。なお、ビット数および関数は、図１の（Ａ）の（１）で説明したビット数および関数と同一のものでなければならない。
【００４９】
そして、メッセージ転送システムは、ビットパターン保持部によって保持されたビットパターンと算出されたビットパターンとをビット単位で比較する（図１の（Ｂ）の（３）を参照）。例えば、メッセージ転送システムは、ビットパターン保持部によって保持されたビットパターン「０１０１１０１１１０１１・・・」と算出されたビットパターン「０１０１１０１１００００・・・」とをビット単位で比較する。
【００５０】
すると、算出されたビットパターンにおいて「１」の値のビットと同じ順位のビットが、ビットパターン保持部によって保持されたビットパターンにおいて全て「１」の値である場合には、メッセージ転送システムは、受信した電子メールを利用者に転送するように制御する（図１の（Ｂ）の（４）を参照）。例えば、算出されたビットパターン「０１０１１０１１００００・・・」において「１」の値のビットは、第２順位、第４順位、第５順位、第７順位、および第８順位のビットである。一方、ビットパターン保持部によって保持されたビットパターン「０１０１１０１１１０１１・・・」において、第２順位、第４順位、第５順位、第７順位、および第８順位のビットを比較すると、全て「１」の値である。このため、実施例１に係るメッセージ転送システムは、受信した電子メール（発信元情報が「matsui@isp-b.ne.jp」の電子メール）を、利用者（suzuki）に転送するように制御する。
【００５１】
このようにして、実施例１に係るメッセージ転送システムは、発信元情報の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際に発信元情報を検索する効率を低下させず、ひいては、発信元情報の登録数を制限させないことが可能になる。
【００５２】
すなわち、実施例１に係るメッセージ転送システムによれば、発信元情報が、所定のビット数のビットパターンに置き換えられることによって登録される（ひとつのビットパターンに発信元情報が重ねて登録される）ことから、発信元情報の登録数に比例して、発信元情報の登録に利用される記憶領域を増大させることはない。また、発信元情報の登録に利用する記憶領域を増大させないので、メッセージ転送の許否を判断する際に発信元情報を検索する記憶領域を増大させることもないことから、発信元情報を検索する効率を低下させない。ひいては、記憶領域の増大や、記憶領域の増大に伴う検索効率の低下を回避する必要もないことから、発信元情報の登録数を制限させない。
【００５３】
なお、図１においては、メッセージ転送システムが、発信元情報を登録する段階で、発信元情報としてメールアドレス「matsui@isp-b.ne.jp」から算出したビットパターンを登録する例を説明し、メッセージの転送を制御する段階で、メールアドレス「matsui@isp-b.ne.jp」から受信した電子メールの転送を制御する例を説明したので、メッセージ転送システムは、受信した電子メールを利用者に転送するように制御したが、本発明はこれに限られるものではなく、登録していない発信元情報から受信した電子メールの転送をメッセージ転送システムが制御する場合には、メッセージ転送システムは、受信した電子メールを利用者に転送しないように制御することになる。
【００５４】
［実施例１に係るメッセージ転送システムの構成］
次に、図２〜４を用いて、実施例１に係るメッセージ転送システムの構成を説明する。図２は、実施例１に係るメッセージ転送システムの構成を示すブロック図であり、図３は、ビットパターン算出部を説明するための図であり、図４は、データ管理サーバのビットパターンテーブルを説明するための図である。
【００５５】
まず、図２を用いて、実施例１に係るメッセージ転送システムの構成について説明すると、実施例１に係るメッセージ転送システムは、利用者Ａ端末２２０と利用者Ｂ端末３２０とを、利用者Ａ側ＩＰ網２４０、インターネット４００および利用者Ｂ側ＩＰ網３４０を介して接続する。例えば、メッセージ転送システムは、利用者Ｂ３３０を発信元として利用者Ｂ端末３２０から発信された利用者Ａ２３０に対する電子メールを、利用者Ｂメールサーバ３１０や利用者Ａメールサーバ１４０などを経由して、利用者Ａ端末２２０に転送する。
【００５６】
利用者Ａ端末２２０および利用者Ｂ端末３２０は、利用者Ａ２３０および利用者Ｂ３３０がそれぞれインターネット４００を介した電子メール授受を行う際に利用する端末装置であり、市販のパーソナルコンピュータ（ＰＣ）に、Ｗｅｂブラウザソフトや電子メールソフトがインストールされ、ルータＲを介して利用者Ａ側ＩＰ網２４０および利用者Ｂ側ＩＰ網３４０にそれぞれ接続されている。なお、かかる利用者Ａ側ＩＰ網２４０および利用者Ｂ側ＩＰ網３４０は、それぞれルータＲを介してインターネット４００に接続されている。
【００５７】
利用者Ａメールサーバ１４０および利用者Ｂメールサーバ３１０は、いわゆる既存のメールサーバである。すなわち、利用者Ａメールサーバ１４０は、一般的なＳＭＴＰ／ＰＯＰ（Post Office Protocol）通信部１４１やメール蓄積部１４２を備え、利用者Ａ端末２２０から送信される電子メールを受け付けて宛先に送信するとともに、利用者Ａ端末２２０への電子メールを受信して利用者Ａ端末２２０へ送信する。また、利用者Ｂメールサーバ３１０は、利用者Ｂ端末３２０から送信される電子メールを受け付けて宛先に送信するとともに、利用者Ｂ端末３２０への電子メールを受信して利用者Ｂ端末３２０に送信する。なお、実施例１においては、説明の便宜上から、２台の端末装置、メールサーバのみから構成される場合を説明するが、本発明はこれに限られるものではなく、多数の端末装置、多数のメールサーバから構成される場合にも、本発明を同様に適用することができる。
【００５８】
また、実施例１に係るメッセージ転送システムでは、特に本発明に密接に関連するものとして、許可発信者登録サーバ１２０と、データ管理サーバ１３０と、メールフィルタサーバ１１０とが設けられている。これらの許可発信者登録サーバ１２０、データ管理サーバ１３０、およびメールフィルタサーバ１１０は、ファイアウォールＦＷを介してインターネット４００に接続されたＬＡＮ１００に接続される。以下では、許可発信者登録サーバ１２０、データ管理サーバ１３０、およびメールフィルタサーバ１１０について、順に説明する。
【００５９】
［許可発信者登録サーバ１２０］
実施例１における許可発信者登録サーバ１２０は、利用者が電子メールの転送を許可する発信元の発信元情報を登録するサーバであり、特に本発明に密接に関連するものとしては、図２に示すように、ＨＴＴＰ通信部１２１と、許可発信者登録処理部１２２と、ビットパターン算出部１２３とを備える。かかる許可発信者登録サーバ１２０は、市販のパーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）に、これらの部に対応するプログラムをインストールすることにより実現できる。なお、許可発信者登録処理部１２２およびビットパターン算出部１２３は、特許請求の範囲に記載の「ビットパターン登録手段」に対応する。
【００６０】
ＨＴＴＰ通信部１２１は、ＨＴＴＰ（HyperText  Transfer  Protocol）通信用の一般的なライブラリを備え、その他の通信装置との間でＨＴＴＰによる通信を行う。具体的には、許可発信者登録サーバ１２０にＷｅｂサーバの機能が備えられている場合には、ＨＴＴＰ通信部１２１は、利用者Ａ端末２２０からＷｅｂブラウザ経由で送信される発信元情報（利用者Ａ２３０が電子メールの転送を許可する発信元の発信元情報）の登録を受け付け、登録に必要な情報を利用者Ａ端末２２０との間で送受信し、必要に応じて許可発信者登録処理部１２２を起動するなどする。
【００６１】
例えば、ＨＴＴＰ通信部１２１は、利用者Ａ端末２２０から発信元情報としてメールアドレス「matsui@isp-b.ne.jp」を受信すると、メールアドレス「matsui@isp-b.ne.jp」を後述するデータ管理サーバ１３０のビットパターンテーブル１３１に登録することを目的として、許可発信者登録処理部１２２を起動する。なお、実施例１においては、許可発信者登録サーバ１２０にＷｅｂサーバの機能が備えられ、ＨＴＴＰ通信部１２１が、許可発信者登録サーバ１２０と利用者Ａ端末２２０との間の発信元情報の登録を実現する手法を説明したが、本発明はこれに限られるものではなく、許可発信者登録サーバ１２０と利用者Ａ端末２２０との間でその他の手法によって発信元情報の登録が行われる場合にも、本発明を同様に適用することができる。
【００６２】
許可発信者登録処理部１２２は、後述するデータ管理サーバ１３０のビットパターンテーブル１３１に発信元情報を登録する。具体的には、許可発信者登録処理部１２２は、ＨＴＴＰ通信部１２１によって起動されると、まず、ビットパターン算出部１２３を起動して発信元情報を送信し（この時、ビットパターン算出部１２３においてビットパターンが算出される）、算出されたビットパターンをビットパターン算出部１２３から取得する。次に、許可発信者登録処理部１２２は、ビットパターンテーブル１３１によって保持されたビットパターンと、ビットパターン算出部１２３によって算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、ビットパターンテーブル１３１に保持されたビットパターンを置き換えて登録する。
【００６３】
例えば、許可発信者登録処理部１２２は、ビットパターンテーブル１３１によって保持されたビットパターン「０１０００００１１０１１・・・」と、ビットパターン算出部１２３によって算出されたビットパターン「０１０１１０１１００００・・・」とをビット単位にＯＲ演算し、ビットパターン「０１０１１０１１１０１１・・・」を得る。次に、許可発信者登録処理部１２２は、得られた結果のビットパターン「０１０１１０１１１０１１・・・」によって、ビットパターンテーブル１３１に保持されたビットパターンを置き換える。
【００６４】
ビットパターン算出部１２３は、ビットパターンテーブル１３１に登録される発信元情報のビットパターンを算出する。具体的には、ビットパターン算出部１２３は、許可発信者登録処理部１２２によって起動されると、許可発信者登録処理部１２２から取得した発信元情報から、あるビット数のビットパターンをある関数を用いて算出し、算出したビットパターンを、許可発信者登録処理部１２２に送信する。なお、この後、許可発信者登録処理部１２２においては、上記したように、ビットパターン算出部１２３が送信したビットパターンを用いて、ビットパターンテーブル１３１によって保持されたビットパターンとのＯＲ演算をするなどする。
【００６５】
ここで、ビットパターン算出部１２３の算出手法について具体的に説明すると、実施例１におけるビットパターン算出部１２３は、ブルームフィルタを適用して算出するので、まず、あるビット数（ｍとする）以下の正整数値を導出する複数のハッシュ関数を用いて、発信元情報から複数の正整数値をハッシュ関数ごとにそれぞれ導出する。次に、ビットパターン算出部１２３は、正整数値に該当する順位のビットを「１」の値とするビット数ｍのビットパターンを、ハッシュ関数ごとにそれぞれ生成する。そして、ビットパターン算出部１２３は、生成された複数のビットパターンをビット単位にＯＲ演算することで、発信元情報からビットパターンを算出する。
【００６６】
例えば、ビットパターン算出部１２３は、図３に示すように、発信元情報として「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」を登録することを目的としてビットパターンを算出する場合（＠マークより前のアカウント名部分と＠マークより後のドメイン名部分とを併せて登録することを目的としてビットパターンを算出する場合）を例示したが、本発明はこれに限られるものではなく、例えば、ある特定のドメインからの電子メールについては全て転送を許可するなど、ドメインごとに電子メールの転送を制御するサービスを運用する際には、ドメイン名部分のみを登録することを目的としてビットパターンを算出する場合など、運用の形態に即して算出する場合であれば、いずれでもよい。
【００６９】
［データ管理サーバ１３０］
実施例１におけるデータ管理サーバ１３０は、利用者が電子メールの転送を許可する発信元情報（ビットパターン）を管理するサーバであり、特に本発明に密接に関連するものとしては、ビットパターンテーブル１３１を備える。かかるデータ管理サーバ１３０は、市販のパーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）に、ＲＤＢＭＳ（Relational  DataBase  Management  System）などのプログラムをインストールすることにより実現できる。なお、ビットパターンテーブル１３１は、特許請求の範囲に記載の「ビットパターン保持手段」に対応する。
【００７０】
ビットパターンテーブル１３１は、「０」および「１」の値から成るビット数ｍのビットパターンと利用者を識別する利用者情報とを対応づけて保持する。具体的には、ビットパターンテーブル１３１は、保持するビットパターンを許可発信者登録サーバ１２０に送信したり、保持するビットパターンを許可発信者登録サーバ１２０によって置き換えられたりする。また、ビットパターンテーブル１３１が保持するビットパターンは、後述するメールフィルタサーバ１１０のビットパターン比較部１１４によって利用される。
【００７１】
例えば、ビットパターンテーブル１３１は、図４に示すように、ビットパターンとユーザＩＤ（利用者情報）とを対応づけて保持する。なお、図４においては、ビットパターンは「0x4f2591ab・・・」などと示されているが、実際は、「０」および「１」の値から成るビット数ｍのビットパターンとして処理される。
【００７２】
また、例えば、ビットパターンテーブル１３１は、許可発信者登録サーバ１２０において、利用者（suzuki）が許可する発信元の発信元情報の登録が行われる際には、利用者情報「suzuki」に対応づけて保持するビットパターンとして、例えば、「０１０００００１１０１１・・・」を許可発信者登録サーバ１２０に送信する。また、例えば、ビットパターンテーブル１３１は、利用者情報「suzuki」に対応づけて保持する新しいビットパターンとして、例えば、「０１０１１０１１１０１１・・・」などのビットパターンを許可発信者登録サーバ１２０から受信すると、「０１０００００１１０１１・・・」を「０１０１１０１１１０１１・・・」に置き換えて保持するなどする。
【００７３】
ところで、実施例１に係るメッセージ転送システムの運用開始時は、ビットパターンテーブル１３１が保持するビットパターンは、発信者情報が一つも登録されていない状態（初期状態）であると考えられる。初期状態としていかなるビットパターンを利用者情報に対応づけて保持するべきであるかは運用の形態によって異なるが、最も典型的な手法としては、「００００００００００００・・・」のように全てのビットが「０」の値であるビットパターンを保持する手法が考えられる。このように、ビットパターンテーブル１３１は、初期状態に全て「０」の値であるビットパターンを利用者情報と対応づけて保持し、この利用者情報によって識別される利用者が電子メールの転送を許可する発信元の発信元情報が登録される都度、「０」の値が適宜「１」の値に置き換えられていくことになる。
【００７４】
なお、理論上、最終的には全てのビットが「１」の値に置き換えられ、「１１１１１１１１１１１１・・・」のように全てのビットが「１」の値であるビットパターンになると考えることができるが、運用の形態に即したビット数ｍを設定することで、全てのビットが「１」の値であるビットパターンになる状態を回避する。
【００７５】
［メールフィルタサーバ１１０］
実施例１におけるメールフィルタサーバ１１０は、利用者に対する電子メールの転送を制御するサーバであり、特に本発明に密接に関連するものとしては、図２に示すように、メール通信部１１１と、フィルタ処理部１１２と、ビットパターン算出部１１３と、ビットパターン比較部１１４とを備える。かかるメールフィルタサーバ１１０は、市販のパーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）に、これらの部に対応するプログラムをインストールすることにより実現できる。なお、ビットパターン算出部１１３は、特許請求の範囲に記載の「ビットパターン算出手段」に対応し、フィルタ処理部１１２およびビットパターン比較部１１４は、特許請求の範囲に記載の「メッセージ転送制御手段」に対応する。
【００７６】
メール通信部１１１は、発信元のメールサーバから電子メールを受信し、フィルタ処理部１１２における処理に従って、利用者のメールサーバに電子メールを送信するなどする。具体的には、メール通信部１１１は、発信元のメールサーバから電子メールを受信すると、フィルタ処理部１１２を起動し、受信した電子メールをフィルタ処理部１１２に送信する。また、メール通信部１１１は、フィルタ処理部１１２における処理に従って、フィルタ処理部１１２から受信した電子メールを利用者のメールサーバに送信するなどする。
【００７７】
フィルタ処理部１１２は、利用者に対する電子メールの転送を制御する。具体的には、フィルタ処理部１１２は、メール通信部１１１によって起動されると、ビットパターン算出部１１３を起動し、メール通信部１１１から受信した電子メールをビットパターン算出部１１３に送信する。また、フィルタ処理部１１２は、ビットパターン比較部１１４から比較の結果を受信し、受信した比較の結果に基づいて、利用者に対する電子メールの転送を制御し、メール通信部１１１に送信する。
【００７８】
例えば、フィルタ処理部１１２は、ビットパターン比較部１１４から受信した比較の結果が、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のビットが、保持されたビットパターンにおいて全て「１」の値である」との結果である場合には、受信した電子メールを利用者に転送するように制御する。
【００７９】
また、フィルタ処理部１１２は、比較の結果が、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のいずれかのビットが、保持されたビットパターンにおいて「１」の値ではない」との結果である場合には、受信した電子メールを利用者に転送しないように制御する。
【００８０】
ビットパターン算出部１１３は、利用者に対する電子メールを受信した際に、電子メールに含まれる発信元情報からビット数ｍのビットパターンをある関数を用いて算出する。具体的には、ビットパターン算出部１１３は、フィルタ処理部１１２によって起動されると、フィルタ処理部１１２から受信した電子メールに含まれる発信元情報から、ビット数ｍのビットパターンをある関数を用いて算出し、算出したビットパターンを、ビットパターン比較部１１４に送信する。
【００８１】
ここで、ビットパターン算出部１１３の算出手法について具体的に説明すると、実施例１におけるビットパターン算出部１１３は、許可発信者登録サーバ１２０のビットパターン算出部１２３と同じ算出手法によることが前提となる。すなわち、実施例１に係るメッセージ転送システムは、許可発信者登録サーバ１２０のビットパターン算出部１２３によって算出され、データ管理サーバ１３０のビットパターンテーブル１３１に登録されたビットパターンと、メールフィルタサーバ１１０のビットパターン算出部１１３によって算出されたビットパターンとを比較することで、電子メールの転送を制御するので、ビットパターン算出部１２３とビットパターン算出部１１３との算出手法は、同じ算出手法でなければならない。すなわち、ビットパターン算出部１１３も、例えば、図３に示すような算出手法により、ビットパターンを算出することになる。
【００８２】
ビットパターン比較部１１４は、データ管理サーバ１３０のビットパターンテーブル１３１によって保持されたビットパターンと、ビットパターン算出部１１３によって算出されたビットパターンとをビット単位で比較する。具体的には、ビットパターン比較部１１１４は、ビットパターンテーブル１３１によって保持されたビットパターンと、ビットパターン算出部１１３によって算出されたビットパターンとをビット単位で比較し、比較の結果をフィルタ処理部１１２に送信する。
【００８３】
例えば、ビットパターン比較部１１４は、ビットパターンテーブル１３１によって保持されたビットパターンが「０１０１１０１１１０１１・・・」で、ビットパターン算出部１１３によって算出されたビットパターンが「０１０１１０１１００００・・・」である場合には、「０１０１１０１１１０１１・・・」と「０１０１１０１１００００・・・」とをビット単位で比較する。そして、ビットパターン比較部１１４は、算出されたビットパターンにおいて「１」の値のビットが、第２順位、第４順位、第５順位、第７順位、および第８順位のビットであるので、ビットパターンテーブル１３１に保持されたビットパターンにおいて、第２順位、第４順位、第５順位、第７順位、および第８順位のビットと比較すると、全て「１」の値であることから、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のビットが、保持されたビットパターンにおいて全て「１」の値である」との比較の結果を、フィルタ処理部１１２に送信する。
【００８４】
また、ビットパターン比較部１１４は、ビットパターンテーブル１３１によって保持されたビットパターンと、ビットパターン算出部１１３によって算出されたビットパターンとをビット単位で比較し、算出されたビットパターンにおいて「１」の値のビットと同じ順位のいずれかのビットが、ビットパターンテーブル１３１によって保持されたビットパターンにおいて「１」の値ではない場合には、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のいずれかのビットが、保持されたビットパターンにおいて「１」の値ではない」との比較の結果を、フィルタ処理部１１２に送信する。
【００８５】
［実施例１に係るメッセージ転送システムによる処理の手順］
次に、図５〜７を用いて、実施例１に係るメッセージ転送システムによる処理の手順を説明する。図５は、発信元情報をメッセージ転送システムに登録する処理の手順を示すシーケンス図であり、図６は、登録された発信元情報に基づいてメッセージの転送を制御する処理の手順を示すシーケンス図であり、図７は、メールフィルタサーバにおける処理の手順を示すフロー図である。
【００８６】
［発信元情報をメッセージ転送システムに登録する処理］
実施例１に係るメッセージ転送システムは、利用者が電子メールの転送を許可する発信元の発信元情報として、電子メールに含まれるメールアドレス（以下、許可アドレスという）を用いるものとする。例えば、メッセージ転送システムは、図５に示すように、許可アドレスとして、メールアドレス「matsui@isp-b.ne.jp」を登録する。また、実施例１に係るメッセージ転送システムにおいては、図５に示すように、利用者Ａ端末２２０（利用者Ａ２３０）と許可発信者登録サーバ１２０との間で通信を行うことで、許可発信者登録サーバ１２０における許可アドレス登録処理が開始される場合を例示するが、本発明はこれに限られるものではなく、例えば、利用者Ａ２３０からオフラインで提示された許可アドレスを、許可発信者登録サーバ１２０がオフラインで登録する場合など、許可発信者登録サーバ１２０に登録される許可アドレスを許可発信者登録サーバ１２０がどのように取得するかについては、いずれでもよい。
【００８７】
まず、利用者Ａ端末２２０は、利用者Ａ２３０による許可アドレスの入力を受け付ける（ステップＳ５１１）。例えば、実施例１に係るメッセージ転送システムにおいて、許可発信者登録サーバ１２０にＷｅｂサーバの機能が備えられ、利用者Ａ端末２２０にＷｅｂブラウザが備えられているとすると、利用者Ａ端末２２０は、許可発信者登録サーバ１２０から受信した「許可アドレス登録画面」などをＷｅｂブラウザ上に表示し、「利用者Ａ２３０のユーザＩＤ（suzuki）」や「許可アドレス（matsui@isp-b.ne.jp）」の利用者Ａ２３０による入力を受け付けるなどする。
【００８８】
すると、利用者Ａ端末２２０は、許可発信者登録サーバ１２０に対して、許可アドレス登録要求を送信する（ステップＳ５１２）。例えば、利用者Ａ端末２２０は、許可アドレス登録要求として、「ユーザＩＤ（suzuki）」や「許可アドレスＡ（matsui@isp-b.ne.jp）」などの情報を、ＨＴＴＰで送信するなどする。
【００８９】
一方、許可発信者登録サーバ１２０は、利用者Ａ端末２２０から許可アドレス登録要求を受け付けると、許可アドレスのビットパターンを算出する（ステップＳ５１３）。具体的には、許可発信者登録サーバ１２０は、ＨＴＴＰ通信部１２１において許可アドレス登録要求を受け付けると、許可発信者登録処理部１２２を起動し、次に、許可発信者登録処理部１２２がビットパターン算出部１２３を起動し、ビットパターン算出部１２３において許可アドレスのビットパターンを算出する。例えば、ビットパターン算出部１２３は、許可アドレス「matsui@isp-b.ne.jp」（Ａ）のビットパターンＨ（Ａ）を算出する。
【００９０】
次に、許可発信者登録サーバ１２０は、ユーザＩＤに対応するビットパターンＷを、データ管理サーバ１３０のビットパターンテーブル１３１から取得する（ステップＳ５１４）。具体的には、許可発信者登録サーバ１２０は、許可発信者登録処理部１２２において、ビットパターン算出部１２３によって算出されたビットパターンＨ（Ａ）を受信すると、ユーザＩＤ（suzuki）に対応するビットパターンＷを、ビットパターンテーブル１３１から取得する。
【００９１】
そして、許可発信者登録サーバ１２０は、ビットパターンＷとビットパターンＨ（Ａ）とをＯＲ演算することで得られる結果のビットパターンをＷ´とする（ステップＳ５１５）。具体的には、許可発信者登録サーバ１２０は、許可発信者登録処理部１２２において、ビットパターンテーブル１３１から取得したビットパターンＷと、ビットパターン算出部１２３によって算出されたビットパターンＨ（Ａ）とをビット単位にＯＲ演算することで得られる結果のビットパターンをＷ´とする。
【００９２】
続いて、許可発信者登録サーバ１２０は、結果のビットパターンＷ´を、ユーザＩＤに対応するビットパターンとしてビットパターンテーブル１３１に登録する（ステップＳ５１６）。具体的には、許可発信者登録サーバ１２０は、許可発信者登録処理部１２２において、結果のビットパターンＷ´によって、ビットパターンテーブル１３１に保持されたビットパターンＷを置き換えて登録する。
【００９３】
次に、許可発信者登録サーバ１２０は、利用者Ａ端末２２０に許可アドレス登録応答を返信する（ステップＳ５１７）。例えば、許可発信者登録サーバ１２０は、利用者Ａ端末２２０に、「許可アドレスの登録を正常終了しました。」などのメッセージを送信し、利用者Ａ端末２２０のＷｅｂブラウザ上において、このメッセージが表示されるなどする。
【００９４】
なお、ビットパターンテーブル１３１に保持されるビットパターンは、ビットパターンＷからビットパターンＷ´に置き換えられるので、新たに許可アドレスが登録される際のステップＳ５１４においては、ユーザＩＤに対応するビットパターンＷ´が取得されることになる。
【００９５】
［登録された発信元情報に基づいてメッセージの転送を制御する処理］
以下では、図６に示すように、実施例１に係るメッセージ転送システムが、利用者Ａ２３０に対する電子メールであって、利用者Ｂ端末３２０（利用者Ｂ３３０）から送信された電子メールを、利用者Ｂメールサーバ３１０、メールフィルタサーバ１１０、および利用者Ａメールサーバ１４０などを介して、利用者Ａ端末２２０（利用者Ａ２３０）に転送する場合を例示する。
【００９６】
まず、利用者Ｂ端末３２０は、利用者Ｂ３３０による電子メール送信処理を受け付け、利用者Ｂメールサーバ３１０に対して、電子メールを送信する（ステップＳ６１１）。例えば、実施例１に係るメッセージ転送システムにおいて、利用者Ｂ端末３２０に電子メールソフトが備えられているとすると、利用者Ｂ端末３２０は、「宛先アドレス（suzuki@isp-a.ne.jp）」やその他本文などの利用者Ｂ３３０による入力を受け付け、入力された電子メールを利用者Ｂメールサーバ３１０に対して送信する。
【００９７】
次に、利用者Ｂメールサーバ３１０は、利用者Ｂ端末３２０から送信された電子メールをメールフィルタサーバ１１０に送信する（ステップＳ６１２）。具体的には、利用者Ｂメールサーバ３１０は、利用者Ｂ端末３２０から送信された電子メールを受け付け、「宛先アドレス（suzuki@isp-a.ne.jp）」やその他本文などをメールフィルタサーバ１１０に送信する。
【００９８】
すると、メールフィルタサーバ１１０は、利用者Ｂメールサーバ３１０から電子メールを受け付けると、フィルタ処理（転送可否判断）を行う（ステップＳ６１３）。具体的には、メールフィルタサーバ１１０は、メール通信部１１１において電子メールを受け付けると、フィルタ処理部１１２を起動し、フィルタ処理部１１２が、ビットパターン算出部１１３やビットパターン比較部１１４を起動するなどして、電子メールの転送を制御する。
【００９９】
例えば、メールフィルタサーバ１１０は、まず、ビットパターン算出部１１３において、電子メールに含まれる発信元情報（matsui@isp-b.ne.jp）から、ビット数ｍのビットパターンをある関数を用いて算出し、算出したビットパターンを、ビットパターン比較部１１４に送信する。次に、メールフィルタサーバ１１０は、ビットパターン比較部１１４において、データ管理サーバ１３０のビットパターンテーブル１３１によって保持されたビットパターンと、ビットパターン算出部１１３によって算出されたビットパターンとをビット単位で比較し、比較の結果を、フィルタ処理部１１２に送信する。
【０１００】
続いて、メールフィルタサーバ１１０は、フィルタ処理（転送可否判断）の結果が「転送可」であれば、利用者Ａメールサーバ１４０に電子メールを転送する（ステップＳ６１４およびステップＳ６１５）。具体的には、メールフィルタサーバ１１０は、フィルタ処理部１１２において、ビットパターン比較部１１４から受信した比較の結果に基づいて、利用者Ａ２３０に対する電子メールの転送を制御し、メール通信部１１１に送信する。
【０１０１】
その後、利用者Ａメールサーバ１４０が、メールフィルタサーバ１１０から転送された電子メールをメール蓄積部１４２に蓄積したり、利用者Ａ端末２２０が、到着メール確認をしたり（ステップＳ６２１）、利用者Ａ端末２２０が、到着メール確認の結果、メールを受信するなどして（ステップＳ６２２）、実施例１に係るメッセージ転送システムによる電子メールの転送の制御が終了する。
【０１０２】
［メールフィルタサーバにおける処理］
図７に示すように、メールフィルタサーバ１１０は、まず、ビットパターン算出部１１３において、発信者アドレス（Ａ）の入力を受け付け、発信者アドレス（Ａ）のビットパターンＨ（Ａ）を算出する（ステップＳ７１１）。具体的には、メールフィルタサーバ１１０は、ビットパターン算出部１１３において、電子メールに含まれる「発信者アドレス（Ａ）（matsui@isp-b.ne.jp）」の入力を受け付け、発信者アドレス（Ａ）からビット数ｍのビットパターンをある関数を用いて算出し、算出したビットパターンを、ビットパターン比較部１１４に送信する。
【０１０３】
次に、メールフィルタサーバ１１０は、ビットパターン比較部１１４において、宛先ユーザ（Ｒ）に対応するビットパターンＷを、ビットパターンテーブル１３１から取得する（ステップＳ７１２）。具体的には、メールフィルタサーバ１１０は、ビットパターン比較部１１４において、宛先ユーザ（Ｒ）(suzuki)に対応するビットパターンＷを、データ管理サーバ１３０のビットパターンテーブル１３１から取得する。
【０１０４】
そして、メールフィルタサーバ１１０は、ビットパターン比較部１１４において、ビットパターンＨ（Ａ）において「１」の値のビットと同じ順位のビットが、ビットパターンＷにおいても全て「１」の値であるか否かを判断する（ステップＳ７１３）。具体的には、メールフィルタサーバ１１０は、ビットパターン比較部１１４において、ビットパターンテーブル１３１によって保持されたビットパターンＷと、ビットパターン算出部１１３によって算出されたビットパターンＨ（Ａ）とをビット単位で比較し、ビットパターンＨ（Ａ）において「１」の値のビットと同じ順位のビットが、ビットパターンＷにおいても全て「１」の値であるか否かを判断し、比較の結果をフィルタ処理部１１２に送信する。
【０１０５】
すると、メールフィルタサーバ１１０は、フィルタ処理部１１２において、比較の結果が「ビットパターンＨ（Ａ）において「１」の値のビットと同じ順位のビットが、ビットパターンＷにおいて全て「１」の値である」との結果である場合には（ステップＳ７１３肯定）、転送可否は「転送可」であると判断する（ステップＳ７１４ａ）。一方、メールフィルタサーバ１１０は、フィルタ処理部１１２において、比較の結果が「ビットパターンＨ（Ａ）において「１」の値のビットと同じ順位のいずれかのビットが、ビットパターンＷにおいて「１」の値ではない」との結果である場合には（ステップＳ７１３否定）、転送可否は「転送不可」であると判断する（ステップＳ７１４ｂ）。
【０１０６】
そして、メールフィルタサーバ１１０は、ステップＳ７１４ａおよびステップＳ７１４ｂで判断された転送可否を出力して、処理を終了する。
【０１０７】
このようにして、実施例１に係るメッセージ転送システムは、発信元情報の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際に発信元情報を検索する効率を低下させず、ひいては、発信元情報の登録数を制限させないことが可能になる。
【０１０８】
［実施例１の効果］
上記してきたように、実施例１によれば、メッセージに含まれる発信元情報に基づいて、利用者に対するメッセージの転送を制御するメッセージ転送システムであって、０および１の値から成る所定のビット数のビットパターンと利用者情報とを対応づけて保持し、利用者がメッセージの転送を許可する発信元の発信元情報から所定のビット数のビットパターンを所定の関数を用いて算出し、保持されたビットパターンと算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、保持されたビットパターンを置き換えて登録し、利用者に対するメッセージを受信した際に、メッセージに含まれる発信元情報から所定のビット数のビットパターンを所定の関数を用いて算出し、保持されたビットパターンと算出されたビットパターンとをビット単位で比較し、算出されたビットパターンにおいて１の値のビットと同じ順位のビットが保持されたビットパターンにおいて全て１の値である場合には、メッセージを利用者に転送するように制御するので、メッセージ転送システムにおいて、発信元情報の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際に発信元情報を検索する効率を低下させず、ひいては、発信元情報の登録数を制限させないことが可能になる。
【０１０９】
すなわち、実施例１に係るメッセージ転送システムによれば、発信元情報が、所定のビット数のビットパターンに置き換えられることによって登録される（ひとつのビットパターンに発信元情報が重ねて登録される）ことから、発信元情報の登録数に比例して、発信元情報の登録に利用される記憶領域を増大させることはない。また、発信元情報の登録に利用する記憶領域を増大させないので、メッセージ転送の許否を判断する際に発信元情報を検索する記憶領域を増大させることもないことから、発信元情報を検索する効率を低下させない。ひいては、記憶領域の増大や、記憶領域の増大に伴う検索効率の低下を回避する必要もないことから、発信元情報の登録数を制限させない。
【０１１０】
また、実施例１によれば、メッセージ転送システムは、所定の関数として、所定のビット数以下の正整数値を導出する複数のハッシュ関数を用いて発信元情報から複数の正整数値をハッシュ関数ごとにそれぞれ導出し、正整数値に該当する順位のビットを１の値とする所定のビット数のビットパターンをハッシュ関数ごとにそれぞれ生成し、生成された複数のビットパターンをビット単位にＯＲ演算することで、発信元情報からビットパターンを算出するので、単一のハッシュ関数を用いて発信元情報からビットパターンを算出する手法に比較して、メッセージ転送システムにおいて、誤判定（本来利用者が電子メールの転送を許可しない発信元からの電子メールが、誤って利用者に転送されてしまう判定）の確率を低下させることも可能になる。
【０１１１】
すなわち、ハッシュ関数を用いたブルームフィルタの理論を適用することで、最適なビット数や最適な数のハッシュ関数を組み合わせてビットパターンを算出する手法であるので、算出されたビットパターンにおいて「１」の値が分散されることから、誤判定の確率を低下させることが可能になる。
【実施例２】
【０１１２】
ところで、これまで実施例１として、転送が許可される発信元情報（ホワイトリスト）に基づいて電子メールの転送が制御される手法を説明したが、この手法では、以下に説明するように、発信元情報を削除することができず（一度登録した発信元情報については、メッセージの転送を許可しないように変更することができない）、また、本来利用者が電子メールの転送を許可しない発信元からの電子メールが、誤って利用者に転送されてしまう事態（誤判定）の発生を完全には回避することができない。そこで、以下では、本発明に係る実施例２として、発信元情報の削除と同様の効果を実現し、かつ、誤判定にも対応することを目的として、転送が拒否される発信元情報（ブラックリスト）に基づく電子メールの転送制御を併用する手法を説明する。
【０１１３】
なお、実施例２に係るメッセージ転送システムは、実施例１とほぼ同様に構成されるが、主に、データ管理サーバ１３０に禁止アドレステーブル１３２が追加される点、フィルタ処理部１１２における電子メール転送の制御が変更される点、および、メールフィルタサーバ１１０における処理の手順が変更される点が実施例１と異なるので、以下では、禁止アドレステーブル１３２、フィルタ処理部１１２、および、メールフィルタサーバ１１０における処理の手順を、図８〜１０を用いて順に説明する。図８は、実施例２におけるデータ管理サーバを説明するための図であり、図９は、禁止アドレステーブルを説明するための図であり、図１０は、メールフィルタサーバにおける処理の手順を示すフロー図である。
【０１１４】
［禁止アドレステーブル１３２］
実施例２におけるデータ管理サーバ１３０は、特に本発明に密接に関連するものとして、図８に示すように、禁止アドレステーブル１３２をさらに備える。なお、禁止アドレステーブル１３２は、特許請求の範囲に記載の「拒否発信元情報保持手段」に対応する。
【０１１５】
禁止アドレステーブル１３２は、利用者が電子メールの転送を拒否する発信元の発信元情報と利用者を識別する利用者情報とを対応づけて保持する。具体的には、禁止アドレステーブル１３２が保持する発信元情報は、メールフィルタサーバ１１０のフィルタ処理部１１２によって利用される。
【０１１６】
例えば、禁止アドレステーブル１３２は、図９に示すように、禁止アドレス（発信元情報）とユーザＩＤ（利用者情報）とを対応づけて保持する。なお、図９においては、禁止アドレステーブル１３２が、禁止アドレスとして、メールアドレス「akunin@isp-x.ne.jp」のように、＠マークより前のアカウント名部分と＠マークより後のドメイン名部分とを併せたメールアドレスを登録する場合を例示したが、本発明はこれに限られるものではなく、例えば、ある特定のドメインからの電子メールについては全て転送を拒否するなど、ドメインごとに電子メールの転送を制御するサービスを運用する際には、ドメイン名部分のみを登録する場合など、運用の形態に即していれば、いずれでもよい。
【０１１７】
このような禁止アドレステーブル１３２は、例えば、利用者（suzuki）が、メッセージ転送システムを利用するにあたり、電子メールの転送を拒否する発信元の発信元情報を予め登録したり、利用の途中必要に応じて登録するなどすることによって保持される。
【０１１８】
ところで、ビットパターンテーブル１３１が、利用者が許可する発信元の発信元情報をビットパターンとして保持するのに対し、禁止アドレステーブル１３２が、利用者が拒否する発信元の発信元情報を、ビットパターンではないそのままの状態で保持するのは、以下に示す考え方に基づくものである。
【０１１９】
ビットパターンテーブル１３１が保持するビットパターンは、ひとつのビットパターンに発信元情報が重ねて登録されたものである。一方、メールフィルタサーバ１１０は、２つのビットパターンをビット単位で比較することで、電子メールの転送を制御するものである。ここで、ビットパターンテーブル１３１が保持するビットパターンに、多数の発信元情報が重ねて登録されれば、それだけ「１」の値のビットも多く存在することになる。すると、発信元から発信された電子メールに含まれる発信元情報から、メールフィルタサーバ１１０においてビットパターンを算出したところ、ビットパターンテーブル１３１が保持するビットパターンに登録されていない発信元情報であったにも関わらず、たまたま、算出されたビットパターンにおいて「１」の値のビットと同じ順位のビットが、保持されたビットパターンにおいて全て「１」の値であるという事態が発生し得る。
【０１２０】
このような事態（誤判定）は、「本来利用者が電子メールの転送を許可しない発信元からの電子メールが、誤って利用者に転送されてしまう」事態である。ところが、同様の手法を、利用者が電子メールの転送を拒否する発信元の発信元情報に適用することを考えると、「本来利用者が電子メールの転送を許可する発信元からの電子メールが、誤って利用者に転送されない」事態が発生し得る。「迷惑メール」対策という観点からすると、前者の事態は許容しうる事態であるが、後者の事態は許容し得ない事態であると考えられる。このため、本実施例においては、ビットパターンテーブル１３１が、利用者が許可する発信元の発信元情報をビットパターンとして保持するのに対し、禁止アドレステーブル１３２が、利用者が拒否する発信元の発信元情報を、ビットパターンではないそのままの状態で保持するものである。なお、上記したような観点とは異なる観点により、「本来利用者が電子メールの転送を許可する発信元からの電子メールが、誤って利用者に転送されない」事態を許容し得る場合には、禁止アドレステーブル１３２をビットパターンとして保持してもよい。
【０１２１】
［フィルタ処理部１１２］
フィルタ処理部１１２は、実施例１と同様、利用者に対する電子メールの転送を制御するが、実施例１と異なる制御を行う。具体的には、フィルタ処理部１１２は、もし、ビットパターン比較部１１４において比較すると、「ビットパターン算出部１１３によって算出されたビットパターンにおいて「１」の値のビットと同じ順位のビットが、ビットパターンテーブル１３１によって保持されたビットパターンにおいて全て「１」の値である」との結果が得られるような発信元情報であっても（利用者が電子メールの転送を許可する発信元の発信元情報であっても）、発信元情報が、禁止アドレステーブル１３２によって保持される発信元情報に該当する場合には、電子メールを利用者に転送しないように制御する。
【０１２２】
例えば、フィルタ処理部１１２は、メール通信部１１１によって起動されると、ビットパターン算出部１１３を起動する前に、まず、電子メールに含まれる発信者情報が、禁止アドレステーブル１３２によって保持される発信元情報に該当するか否かを確認し、含まれていないことが確認された場合に、ビットパターン算出部１１３を起動するなどして、実施例１と同様の処理に移行する。
【０１２３】
なお、このようなフィルタ処理部１１２の制御は、ビットパターンテーブル１３１によって保持されたビットパターンから発信元情報を削除することと同様の結果をもたらすことになる。すなわち、発信元情報がビットパターンに置き換えられることによって登録される手法（ひとつのビットパターンに発信元情報が重ねて登録される手法）においては、発信元情報を削除することができない（一度登録した発信元情報については、メッセージの転送を許可しないように変更することができない）。ところが、実施例２におけるフィルタ処理部１１２のように、利用者が電子メールの転送を許可する発信元の発信元情報であっても、発信元情報が禁止アドレステーブル１３２によって保持される発信元情報に該当する場合には、電子メールを利用者に転送しないように制御すれば、発信元情報を削除することと同様の結果（一度登録した発信元情報であっても、メッセージの転送を許可しないように制御することができる）をもたらすことになる。
【０１２４】
［メールフィルタサーバにおける処理］
図１０に示すように、メールフィルタサーバ１１０は、ステップＳ１０１１からステップＳ１０１４までの処理の手順は、実施例１におけるメールフィルタサーバ１１０と同様に行われる（図７を参照）。実施例１と異なるのは、ステップＳ１０１１の前に、ステップＳ１０１０が追加される点である。
【０１２５】
すなわち、実施例２におけるメールフィルタサーバ１１０は、発信者アドレス（Ａ）の入力を受け付けた後、ビットパターン算出部１１３において発信者アドレス（Ａ）のビットパターンＨ（Ａ）を算出するのではなく、まず、発信者アドレス（Ａ）が、禁止アドレステーブル１３２によって保持される禁止アドレスに該当するか否かを確認し（ステップＳ１０１０）、該当しない場合には（ステップＳ１０１０否定）、ビットパターン算出部１１３において発信者アドレス（Ａ）のビットパターンＨ（Ａ）を算出する処理に移行し、該当する場合には（ステップＳ１０１０肯定）、転送可否は「転送不可」であると判断して（ステップＳ１０１４ｂ）、処理を終了する。
【０１２６】
このようにして、実施例２に係るメッセージ転送システムは、利用者がメッセージの転送を拒否する発信元の発信元情報（ブラックリスト）を保持して併用することで、一度登録した発信元情報についても、メッセージの転送を許可しないようにすることも可能になる。
【０１２７】
なお、実施例２においては、メールフィルタサーバ１１０が、発信者アドレス（Ａ）が禁止アドレスに該当するか否かを確認してから、ビットパターンＨ（Ａ）を算出する処理に移行する処理の手順を説明したが、本発明はこれに限られるものではなく、例えば、メールフィルタサーバ１１０が、発信者アドレス（Ａ）からビットパターンＨ（Ａ）を算出し、ビットパターンテーブル１３１に保持されたビットパターンＷとの比較を行ってから、発信者アドレス（Ａ）が禁止アドレスに該当するか否かを確認するなど、順番はいずれでもよい。
【０１２８】
［実施例２の効果］
上記してきたように、実施例２によれば、メッセージ転送システムは、利用者がメッセージの転送を拒否する発信元の発信元情報と利用者情報とを対応づけてさらに保持し、比較の結果算出されたビットパターンにおいて１の値のビットと同じ順位のビットが保持されたビットパターンにおいて全て１の値である場合であっても、メッセージに含まれる発信元情報が保持される拒否発信元情報に該当する場合には、メッセージを利用者に転送しないように制御するので、発信元情報がビットパターンに置き換えられることによって登録される手法（ひとつのビットパターンに発信元情報が重ねて登録される手法）においては、発信元情報を削除することができない（一度登録した発信元情報については、メッセージの転送を許可しないように変更することができない）が、利用者がメッセージの転送を拒否する発信元の発信元情報（ブラックリスト）を保持して併用することで、一度登録した発信元情報についても、メッセージの転送を許可しないようにすることも可能になる。
【０１２９】
なお、発信元情報がビットパターンに置き換えられることによって登録される手法においては、誤判定（本来利用者が電子メールの転送を許可しない発信元からの電子メールが、誤って、利用者に転送されてしまう判定）が発生するおそれがあるが、利用者がメッセージの転送を拒否する発信元の発信元情報（ブラックリスト）を保持して併用することで、少なくとも利用者が積極的に電子メールの転送を許可しない発信元からの電子メールが、誤って利用者に転送されてしまうことを回避することも可能になる。
【実施例３】
【０１３０】
ところで、これまで実施例１および２として、メッセージ転送システムが、ひとつのビットパターンと利用者情報との対応づけを保持する手法（周期の概念を持たない手法）を説明したが、この手法では、古い登録の発信元情報を削除することができず（一度登録した発信元情報については、古い登録の発信元情報について削除することができない）、また、発信元情報が多く登録されるに従って誤判定の発生の確率が高くなるおそれがある。そこで、以下では、本発明に係る実施例３として、古い登録の発信元情報を削除する機能を実現し、かつ、誤判定の確率が高くなることに対応することを目的として、ビットパターンと利用者情報との対応づけを現在の周期から過去のある周期まで周期単位で保持し、周期の経過に伴いビットパターンを置き換える手法を説明する。
【０１３１】
なお、実施例３に係るメッセージ転送システムは、実施例１とほぼ同様に構成されるが、データ管理サーバ１３０に保持するビットパターンテーブル１３１が変更される点、発信元情報をメッセージ転送システムに登録する処理の手順が変更される点、メールフィルタサーバにおける処理の手順が変更される点などが実施例１と異なるので、以下では、ビットパターンテーブル１３１、許可発信者登録処理部１２２、フィルタ処理部１１２、およびビットパターン比較部１１４について、図１１を用いて順に説明する。図１１は、ビットパターンテーブルを説明するための図である。
【０１３２】
［ビットパターンテーブル１３１］
実施例３におけるビットパターンテーブル１３１は、実施例１と同様、ビットパターンと利用者情報との対応づけを保持するが、実施例１と異なり、対応づけを現在の周期から過去のある周期まで周期単位で保持するものである。利用者が電子メールの転送を許可する必要のある発信元は、例えば、長い期間音信不通になった発信元や、環境の変化により電子メールの転送を許可する必要がなくなった発信元など、通常、時間の経過に伴い変化するものであると考えられる。このため、実施例３におけるビットパターンテーブル１３１は、発信元情報を周期単位で保持することで、発信元情報を時系列で管理している。
【０１３３】
例えば、ビットパターンテーブル１３１は、図１１に示すように、ビットパターンと利用者情報（ユーザＩＤ）との対応づけを、現在の周期ｗ（０）から過去のある周期（ｗ（Ｌ−１））まで周期単位で保持する。例えば、ｗ（１）は、現在の周期ｗ（０）から１周期前の周期であることを示しており、ｗ（Ｌ−１）は、現在の周期ｗ（０）から（Ｌ−１）周期前の周期であることを示している。
【０１３４】
また、実施例３におけるビットパターンテーブル１３１は、実施例１と異なり、周期の経過に伴い、現在の周期のビットパターンを全て「０」の値から成るビットパターンに置き換え、かつ、過去のある周期のビットパターンを廃棄し、かつ、過去のある周期以外の周期のビットパターンを一つ前の周期のビットパターンに置き換えて保持する。
【０１３５】
具体的には、ビットパターンテーブル１３１は、周期の経過に伴い、現在の周期ｗ（０）のビットパターンを全て「０」の値から成るビットパターンに置き換え、かつ、（Ｌ−１）周期前の周期のビットパターンを廃棄し、かつ、（Ｌ−１）周期以外の周期（ｗ（１）からｗ（Ｌ）までの周期）のビットパターンを、一つ前の周期のビットパターン（ｗ（２）からｗ（Ｌ−１））に置き換えて保持する。
【０１３６】
また、実施例３におけるビットパターンテーブル１３１は、実施例１と同様、保持するビットパターンを許可発信者登録サーバ１２０に送信したり、保持するビットパターンを許可発信者登録サーバ１２０によって置き換えられたりする。また、ビットパターンテーブル１３１が保持するビットパターンは、実施例１と同様、メールフィルタサーバ１１０のビットパターン比較部１１４によって利用される。
【０１３７】
もっとも、実施例３におけるビットパターンテーブル１３１は、対応づけを現在の周期から過去のある周期まで周期単位で保持するものであるので、許可発信者登録サーバ１２０において、利用者（suzuki）が許可する発信元の発信元情報の登録が行われる際には、利用者情報「suzuki」に対応づけて保持するビットパターンのうち、現在の周期のビットパターンを許可発信者登録サーバ１２０に送信する。また、ビットパターンテーブル１３１は、利用者情報「suzuki」に対応づけて保持する新しいビットパターンを許可発信者登録サーバ１２０から受信すると、現在の周期のビットパターンを置き換えて保持する。
【０１３８】
また、実施例３におけるビットパターンテーブル１３１は、対応づけを現在の周期から過去のある周期まで周期単位で保持するものであるので、ビットパターン比較部１１４による比較の結果、現在の周期以外の周期のビットパターンにおいて全て「１」の値になることで、フィルタ処理部１１２によって電子メールを利用者に転送するように制御された場合には、許可発信者登録処理部１２２に、利用者情報「suzuki」に対応づけて保持するビットパターンのうち、現在の周期のビットパターンを許可発信者登録サーバ１２０に送信する。
【０１３９】
［許可発信者登録処理部１２２］
実施例３における許可発信者登録処理部１２２は、実施例１と同様、データ管理サーバ１３０のビットパターンテーブル１３１に発信元情報を登録するが、実施例１と異なり、ビットパターンテーブル１３１が、ビットパターンと利用者情報との対応づけを現在の周期から過去のある周期まで周期単位で保持するものであることから、許可発信者登録処理部１２２は、ビットパターンテーブル１３１の現在の周期のビットパターンに発信元情報を登録する。
【０１４０】
具体的には、許可発信者登録処理部１２２は、実施例１と同様、ＨＴＴＰ通信部１２１によって起動されると、まず、ビットパターン算出部１２３を起動して発信元情報を送信し（この時、ビットパターン算出部１２３においてビットパターンが算出される）、算出されたビットパターンをビットパターン算出部１２３から取得する。次に、許可発信者登録処理部１２２は、実施例１と異なり、ビットパターンテーブル１３１によって保持された現在の周期のビットパターンと、ビットパターン算出部１２３によって算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、ビットパターンテーブル１３１によって保持された現在の周期のビットパターンを置き換えて登録する。
【０１４１】
また、許可発信者登録処理部１２２は、実施例１と異なり、ビットパターン比較部１１４による比較の結果、現在の周期以外の周期のビットパターンにおいて全て「１」の値になることで、フィルタ処理部１１２によって電子メールを利用者に転送するように制御された場合にも、ビットパターン算出部１２３を起動して、この電子メールに含まれる発信元情報を送信するなどして、ビットパターンテーブル１３１によって保持された現在の周期のビットパターンを置き換えて登録する。
【０１４２】
［フィルタ処理部１１２］
実施例３におけるフィルタ処理部１１２は、実施例１と同様、利用者に対する電子メールの転送を制御するが、実施例１と異なり、ビットパターンテーブル１３１が、ビットパターンと利用者情報との対応づけを現在の周期から過去のある周期まで周期単位で保持するものであることから、フィルタ処理部１１２は、ビットパターン比較部１１４から比較の結果を受信し、受信した比較の結果が、例えば、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のビットが、全ての周期のビットパターンのいずれかのビットパターンにおいて全て「１」の値である」との結果である場合には、受信した電子メールを利用者に転送するように制御する。
【０１４３】
また、フィルタ処理部１１２は、比較の結果が、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のいずれかのビットが、全ての周期のビットパターンのいずれのビットパターンにおいても「１」の値ではない」との結果である場合には、受信した電子メールを利用者に転送しないように制御する。
【０１４４】
［ビットパターン比較部１１４］
実施例３におけるビットパターン比較部１１４は、実施例１と同様、ビットパターンテーブル１３１によって保持されたビットパターンと、ビットパターン算出部１１３によって算出されたビットパターンとをビット単位で比較するが、実施例１と異なり、ビットパターンテーブル１３１が、ビットパターンと利用者情報との対応づけを現在の周期から過去のある周期まで周期単位で保持するものであることから、ビットパターン比較部１１４は、算出されたビットパターンと、ビットパターンテーブル１３１によって保持された全ての周期のビットパターンとをビット単位で比較し、比較の結果をフィルタ処理部１１２に送信する。
【０１４５】
［実施例３に係るメッセージ転送システムによる処理の手順］
次に、図１２〜１４を用いて、実施例３に係るメッセージ転送システムによる処理の手順を説明する。図１２は、発信元情報をメッセージ転送システムに登録する処理の手順を示すシーケンス図であり、図１３は、メールフィルタサーバおよび許可発信者登録サーバにおける処理の手順を示すフロー図であり、図１４は、ビットパターンテーブル１３１における周期の経過に伴う処理の手順を示すフロー図である。
【０１４６】
［発信元情報をメッセージ転送システムに登録する処理］
実施例３に係るメッセージ転送システムは、実施例１と同様、図１２に示すように、許可アドレスとして、メールアドレス「matsui@isp-b.ne.jp」を登録する。また、実施例３に係るメッセージ転送システムにおいては、実施例１と同様、利用者Ａ端末２２０（利用者Ａ２３０）と許可発信者登録サーバ１２０との間で通信を行うことで、許可発信者登録サーバ１２０における許可アドレス登録処理が開始される場合を例示する。
【０１４７】
まず、利用者Ａ端末２２０は、実施例１と同様、利用者Ａ２３０による許可アドレスの入力を受け付け（ステップＳ１２１１）、許可発信者登録サーバ１２０に対して、許可アドレス登録要求を送信し（ステップＳ１２１２）、一方、許可発信者登録サーバ１２０は、許可アドレスのビットパターンＨ（Ａ）を算出する（ステップＳ１２１３）。
【０１４８】
次に、許可発信者登録サーバ１２０は、実施例１と同様、ユーザＩＤに対応するビットパターンを、データ管理サーバ１３０のビットパターンテーブル１３１から取得するが、実施例１と異なり、ビットパターンテーブル１３１が、ビットパターンと利用者情報との対応づけを現在の周期から過去のある周期まで周期単位で保持するものであることから、ユーザＩＤ（suzuki）に対応するビットパターンのうち、現在の周期のビットパターンｗ（０）を、ビットパターンテーブル１３１から取得する（ステップＳ１２１４）。
【０１４９】
そして、許可発信者登録サーバ１２０は、実施例１と同様、ビットパターンｗ（０）とビットパターンＨ（Ａ）とをＯＲ演算することで得られる結果のビットパターンをＷ´とする（ステップＳ１２１５）。
【０１５０】
続いて、許可発信者登録サーバ１２０は、実施例１と同様、結果のビットパターンＷ´を、ユーザＩＤに対応するビットパターンとしてビットパターンテーブル１３１に登録するが、実施例１と異なり、結果のビットパターンＷ´を、ユーザＩＤに対応するビットパターンのうち、現在の周期のビットパターンｗ（０）としてビットパターンテーブル１３１に登録する（ステップＳ１２１６）。
【０１５１】
次に、許可発信者登録サーバ１２０は、実施例１と同様、利用者Ａ端末２２０に許可アドレス登録応答を返信するなどする（ステップＳ１２１７）。
【０１５２】
［メールフィルタサーバおよび許可発信者登録サーバにおける処理］
図１３に示すように、メールフィルタサーバ１１０は、実施例１と同様、まず、ビットパターン算出部１１３において、発信者アドレス（Ａ）の入力を受け付け、発信者アドレス（Ａ）のビットパターンＨ（Ａ）を算出する（ステップＳ１３１１）。
【０１５３】
次に、メールフィルタサーバ１１０は、実施例１と同様、ビットパターン比較部１１４において、宛先ユーザ（Ｒ）に対応するビットパターンを、ビットパターンテーブル１３１から取得するが、実施例１と異なり、ビットパターンテーブル１３１が、ビットパターンと利用者情報との対応づけを現在の周期から過去のある周期まで周期単位で保持するものであることから、ビットパターン比較部１１４において、宛先ユーザ（Ｒ）に対応するビットパターンを、現在の周期のビットパターンｗ（０）から過去のある周期のビットパターンｗ（Ｌ−１）を、ビットパターンテーブル１３１から取得する（ステップＳ１３１２）。
【０１５４】
そして、メールフィルタサーバ１１０は、実施例１と同様、ビットパターン比較部１１４において、ビットパターンＨ（Ａ）において「１」の値のビットと同じ順位のビットが、ビットパターンＷにおいても全て「１」の値であるか否かを判断するが、実施例１と異なり、ビットパターン比較部１１４において、ビットパターンＨ（Ａ）において「１」の値のビットと同じ順位のビットが、全ての周期のビットパターンＷのいずれかのビットパターンにおいて全て「１」の値であるか否かを判断する（ステップＳ１３１３）。
【０１５５】
すると、メールフィルタサーバ１１０は、実施例１と同様、フィルタ処理部１１２において、比較の結果が「ビットパターンＨ（Ａ）において「１」の値のビットと同じ順位のビットが、ビットパターンｗ（０）からｗ（Ｌ−１）までのいずれかのビットパターンにおいて全て「１」の値である」との結果である場合には（ステップＳ１３１３肯定）、転送可否は「転送可」であると判断し（ステップＳ１３１４ａ）、比較の結果が「ビットパターンＨ（Ａ）において「１」の値のビットと同じ順位のいずれかのビットが、ビットパターンｗ（０）からｗ（Ｌ−１）までのいずれのビットパターンにおいても「１」の値ではない」との結果である場合には（ステップＳ１３１３否定）、転送可否は「転送不可」であると判断する（ステップＳ１３１４ｂ）。
【０１５６】
次に、メールフィルタサーバ１１０は、実施例１と異なり、ビットパターンｗ（０）以外のビットパターンとの比較の結果、転送可否が「転送可」であると判断された場合には、ビットパターンＨ（Ａ）を、許可発信者登録サーバ１２０に送信し、許可発信者登録サーバ１２０は、許可発信者登録処理部１２２において、ビットパターンＨ（Ａ）と、ビットパターンテーブル１３１によって保持された現在の周期のビットパターンｗ（０）とをビット単位にＯＲ演算することで得られる結果のビットパターンｗ´によって、現在の周期のビットパターンｗ（０）を置き換えてさらに登録する（ステップＳ１３１５）。
【０１５７】
そして、メールフィルタサーバ１１０は、実施例１と同様、ステップＳ１３１４ａおよびステップＳ１３１４ｂで判断された転送可否を出力して、処理を終了する。
【０１５８】
なお、実施例３においては、メールフィルタサーバ１１０が「転送可」であると判断すると（ステップＳ１３１４ａ）、ステップＳ１３１５において、ビットパターンテーブル１３１によって保持された現在の周期のビットパターンを置き換えて登録する処理の手順を説明したが、本発明はこれに限られるものではなく、例えば、メールフィルタサーバ１１０が「転送可」であると判断し（ステップＳ１３１４ａ）、その後、メールフィルタサーバ１１０が利用者に電子メールを転送し、利用者がその電子メールに含まれる発信元情報に対して電子メールを返信した際や、別途利用者がその電子メールに含まれる発信元情報に対して電子メールを発信した際などに、ビットパターンテーブル１３１によって保持された現在の周期のビットパターンを置き換えて登録する処理の手順にも、本発明を同様に適用することができる。
【０１５９】
［ビットパターンテーブルにおける周期の経過に伴う処理の手順］
実施例３におけるビットパターンテーブル１３１は、実施例１と異なり、ビットパターンと利用者情報との対応づけを、現在の周期ｗ（０）から過去のある周期（ｗ（Ｌ−１））まで周期単位で保持するものであるので、周期の経過に伴い、過去のある周期（ｗ（Ｌ−１））以外の周期のビットパターンを、一つ前の周期のビットパターンに置き換えて保持する（ステップＳ１４１１）。具体的には、ｗ（ｎ）の周期のビットパターンを、一つ前の周期ｗ（ｎ−１）のビットパターンに置き換えて保持する。また、これに伴い、過去のある周期（ｗ（Ｌ−１））のビットパターンは廃棄される。
【０１６０】
次に、ビットパターンテーブル１３１は、周期の経過に伴い、現在の周期ｗ（０）のビットパターンを、全て「０」の値から成るビットパターンに置き換える（ステップＳ１４１２）。
【０１６１】
このようにして、実施例３に係るメッセージ転送システムは、ビットパターンを現在の周期から過去の所定の周期まで周期単位で保持し、周期の経過に伴い、過去の所定の周期のビットパターンを廃棄することで、一度登録した発信元情報であっても、古い登録の発信元情報について削除することも可能になる。
【０１６２】
［実施例３の効果］
上記してきたように、実施例３によれば、メッセージ転送システムは、ビットパターンと利用者情報との対応づけを現在の周期から過去の所定の周期まで周期単位で保持するものであって、周期の経過に伴い、現在の周期のビットパターンを全て０の値から成るビットパターンに置き換え、かつ、過去の所定の周期のビットパターンを廃棄し、かつ、過去の所定の周期以外の周期のビットパターンを一つ前の周期のビットパターンに置き換えて保持し、保持された現在の周期のビットパターンと発信元情報から算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、現在の周期のビットパターンを置き換えて登録し、保持された全ての周期のビットパターンと算出されたビットパターンとを比較し、算出されたビットパターンにおいて１の値のビットと同じ順位のビットが、全ての周期のビットパターンのいずれかのビットパターンにおいて全て１の値である場合には、メッセージを利用者に転送するように制御し、比較の結果現在の周期以外の周期のビットパターンにおいて全て１の値になることでメッセージを利用者に転送するように制御されたメッセージに含まれる発信元情報から算出されたビットパターンと、保持された現在の周期のビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、現在の周期のビットパターンを置き換えてさらに登録するので、発信元情報がビットパターンに置き換えられることによって登録される手法（ひとつのビットパターンに発信元情報が重ねて登録される手法）においては、発信元情報を削除することができない（一度登録した発信元情報については、古い登録の発信元情報についても削除することができない）が、ビットパターンを現在の周期から過去の所定の周期まで周期単位で保持し、周期の経過に伴い、過去の所定の周期のビットパターンを廃棄することで、一度登録した発信元情報であっても、古い登録の発信元情報について削除することも可能になる。
【０１６３】
また、発信元情報がビットパターンに置き換えられることによって登録される手法においては、誤判定（本来利用者が電子メールの転送を許可しない発信元からの電子メールが、誤って、利用者に転送されてしまう判定）の発生の確率が、発信元情報が多く登録されるに従って高くなるおそれがあるが（ビットパターンに登録される「１」の値が多くなる）、周期単位でビットパターンを保持し、ビットパターンに登録される「１」の値を抑えることで、誤判定の発生の確率を低下させることも可能になる。
【実施例４】
【０１６４】
ところで、これまで実施例１〜３として、メール転送システムであるメッセージ転送システムを説明したが、本発明はこれに限られるものではなく、ＩＰ（Internet  Protocol）電話システムであるメッセージ転送システムにも、本発明を同様に適用することができる。そこで、以下では、実施例４として、ＩＰ電話システムであるメッセージ転送システムに本発明を適用した実施例について説明する。なお、実施例４に係るメッセージ転送システム（ＩＰ電話システム）は、実施例１に係るメッセージ転送システム（メール転送システム）とほぼ同様に構成されるので、以下では、実施例１に係るメッセージ転送システムと特に異なる点について主に説明する。
【０１６５】
［実施例４に係るメッセージ転送システムの構成］
まず、図１５および１６を用いて、実施例４に係るメッセージ転送システムの構成を説明する。図１５は、実施例４に係るメッセージ転送システムの構成を示すブロック図であり、図１６は、データ管理サーバのビットパターンテーブルを説明するための図である。
【０１６６】
まず、図１５を用いて、実施例４に係るメッセージ転送システムの構成について説明すると、実施例４に係るメッセージ転送システムは、利用者ＡのＩＰ電話端末６２０と利用者ＢのＩＰ電話端末７２０とを、利用者Ａ側ＩＰ網６４０、インターネット８００および利用者Ｂ側ＩＰ網７４０を介して接続する。
【０１６７】
利用者ＡのＩＰ電話端末６２０および利用者ＢのＩＰ電話端末７２０は、利用者Ａ６３０および利用者Ｂ７３０がそれぞれインターネット８００を介したＩＰ電話接続を行う際に利用する一般に普及しているＩＰ電話端末であり、ルータＲを介して利用者Ａ側ＩＰ網６４０および利用者Ｂ側ＩＰ網７４０にそれぞれ接続されている。
【０１６８】
また、実施例４に係るメッセージ転送システムでは、特に本発明に密接に関連するものとして、許可発信者登録サーバ５２０と、データ管理サーバ５３０と、ＩＰ電話接続制御サーバ５１０とが設けられている。これらの許可発信者登録サーバ５２０、データ管理サーバ５３０、およびＩＰ電話接続制御サーバ５１０は、ファイアウォールＦＷを介してインターネット８００に接続されたＬＡＮ５００に接続される。なお、以下では、実施例１に係るメッセージ転送システムと同様に構成される装置や部については簡単に説明する。
【０１６９】
［許可発信者登録サーバ５２０］
実施例４における許可発信者登録サーバ５２０は、利用者がＩＰ電話の制御メッセージなどの転送を許可する発信元の発信元情報を登録するサーバであり、特に本発明に密接に関連するものとしては、実施例１における許可発信者登録サーバ１２０と同様、図１５に示すように、ＨＴＴＰ通信部５２１と、許可発信者登録処理部５２２と、ビットパターン算出部５２３とを備える。
【０１７０】
［データ管理サーバ５３０］
実施例４におけるデータ管理サーバ５３０は、利用者がＩＰ電話の制御メッセージなどの転送を許可する発信元情報（ビットパターン）を管理するサーバであり、特に本発明に密接に関連するものとしては、実施例１におけるデータ管理サーバ１３０と同様、図１５に示すように、ビットパターンテーブル５３１を備える。
【０１７１】
ビットパターンテーブル５３１は、実施例１と同様、「０」および「１」の値から成るビット数ｍのビットパターンと利用者情報とを対応づけて保持するが、実施例１と異なり、図１６に示すように、利用者情報（アドレス）として電話番号を対応づけて保持する。なお、実施例４においては、ビットパターンテーブル５３１が、利用者情報として電話番号を対応づけて保持する手法を説明したが、本発明はこれに限られるものではなく、利用者情報としてＳＩＰ  ＵＲＩ（Session  Initiation  Protocol  Uniform Resource Identifier）を対応づけて保持する手法にも、本発明を同様に適用することができる。この場合には、ビットパターンテーブル５３１は、例えば、ビットパターンと利用者情報「sip:suzuki@isp-a.ne.jp」とを対応づけて保持するなどする。
【０１７２】
［ＩＰ電話接続制御サーバ５１０］
実施例４におけるＩＰ電話接続制御サーバ５１０は、利用者に対するＩＰ電話の制御メッセージなどの転送を制御するサーバであり、特に本発明に密接に関連するものとしては、実施例１におけるメールフィルタサーバ１１０と同様、図１５に示すように、接続信号送受信部５１１と、フィルタ処理部５１２と、ビットパターン算出部５１３と、ビットパターン比較部５１４とを備える。なお、接続信号送受信部５１１は、実施例１におけるメール通信部１１１と同様、発信元からＩＰ電話の制御メッセージなどを受信し、フィルタ処理部５１２における処理に従って、利用者のＩＰ電話端末にＩＰ電話の制御メッセージなどを送信するなどする。
【０１７３】
［実施例４に係るメッセージ転送システムによる処理の手順］
次に、図１７〜１９を用いて、実施例４に係るメッセージ転送システムによる処理の手順を説明する。図１７は、発信元情報をメッセージ転送システムに登録する処理の手順を示すシーケンス図であり、図１８は、登録された発信元情報に基づいてメッセージの転送を制御する処理の手順を示すシーケンス図であり、図１９は、ＩＰ電話接続制御サーバにおける処理の手順を示すフロー図である。
【０１７４】
［発信元情報をメッセージ転送システムに登録する処理］
発信元情報を実施例４に係るメッセージ転送システムに登録する処理は、実施例１に係るメッセージ転送システムに登録する処理とほぼ同様であるが（図５を参照）、利用者ＡのＩＰ電話端末６２０において入力を受け付けられる許可アドレス（ステップＳ１７１１）、および、利用者ＡのＩＰ電話端末６２０から許可発信者登録サーバ５２０に対して送信される許可アドレス登録要求に付加される情報が異なる（ステップＳ１７１２）。
【０１７５】
具体的に説明すると、実施例１において、利用者Ａ端末２２０は、許可アドレスとして「matsui@isp-b.ne.jp」などのメールアドレスを受け付け、利用者Ａ端末２２０から許可発信者登録サーバ１２０に送信される許可アドレス登録要求には、例えば、ユーザＩＤ「suzuki」および許可アドレスＡ「matsui@isp-b.ne.jp」といった情報が付加されたが、実施例４に係るメッセージ転送システムはＩＰ電話システムであるので、利用者ＡのＩＰ電話端末６２０は、許可アドレスとして「050-1234-5678」などの電話番号を受け付け、利用者ＡのＩＰ電話端末６２０から許可発信者登録サーバ５２０に送信される許可アドレス登録要求には、例えば、ユーザアドレス「050-2345-6789」および許可アドレスＡ「050-1234-5678」といった情報が付加されることになる。
【０１７６】
その後、実施例４に係るメッセージ転送システムは、実施例１と同様、許可アドレスＡのビットパターンＨ（Ａ）を算出し、ユーザアドレスに対応するビットパターンＷをビットパターンテーブル５３１から取得し、ビットパターンＷとビットパターンＨ（Ａ）とをＯＲ演算することで得られる結果のビットパターンをＷ´とし、結果のビットパターンＷ´をユーザアドレスに対応するビットパターンとしてビットパターンテーブル５３１に登録し、利用者ＡのＩＰ電話端末６２０に許可アドレス登録応答を返信するなどして（ステップＳ１７１３〜ステップＳ１７１７）、処理を終了する。
【０１７７】
［登録された発信元情報に基づいてメッセージの転送を制御する処理］
以下では、図１８に示すように、実施例４に係るメッセージ転送システムが、利用者ＡのＩＰ電話端末６２０（利用者Ａ６３０）に対するＩＰ電話の制御メッセージであって、利用者ＢのＩＰ電話端末７２０（利用者Ｂ７３０）から送信された制御メッセージを、ＩＰ電話接続制御サーバ５１０を介して、利用者ＡのＩＰ電話端末６２０に転送する場合を例示する。
【０１７８】
まず、利用者ＢのＩＰ電話端末７２０は、利用者Ｂ７３０によるＩＰ電話の接続要求を受け付け、ＩＰ電話接続制御サーバ５１０に対して、接続要求（SIPによるINVITE要求メッセージ）を送信する（ステップＳ１８１１）。例えば、利用者ＢのＩＰ電話端末７２０は、利用者ＡのＩＰ電話端末６２０の電話番号（着番号）「050-2345-6789」の入力を受け付け、入力された電話番号から生成されたINVITE要求メッセージを、ＩＰ電話接続制御サーバ５１０に対して送信する。
【０１７９】
次に、ＩＰ電話接続制御サーバ５１０は、利用者ＢのＩＰ電話端末７２０から接続要求（INVITE要求メッセージ）を受け付けると、フィルタ処理（接続可否判断）を行う（ステップＳ１８１２）。
【０１８０】
続いて、ＩＰ電話接続制御サーバ５１０は、フィルタ処理（接続可否判断）の結果が「転送可」であれば、利用者ＡのＩＰ電話端末６２０に接続要求（INVITE要求メッセージ）を転送する（ステップＳ１８１３）。
【０１８１】
その後、利用者ＡのＩＰ電話端末６２０が、転送された接続要求（INVITE要求メッセージ）に応答して、ＩＰ電話接続制御サーバ５１０に接続応答（例えば、応答コード「200  OK」など）を送信し（ステップＳ１８１４）、ＩＰ電話接続制御サーバ５１０が、受信した接続応答（例えば、応答コード「200  OK」など）を利用者ＢのＩＰ電話端末７２０に転送するなどして（ステップＳ１８１５）、実施例４に係るメッセージ転送システムによるＩＰ電話の制御メッセージの転送制御が終了する。
【０１８２】
なお、ステップＳ１８１２におけるフィルタ処理（接続可否判断）の結果が「転送不可」であれば、ＩＰ電話接続制御サーバ５１０は、利用者ＢのＩＰ電話端末７２０に接続拒否応答（例えば、応答コード「403  Forbidden」など）を送信するなどして、処理を終了する。
【０１８３】
［ＩＰ電話接続制御サーバにおける処理］
実施例４におけるＩＰ電話接続制御サーバ５１０における処理は、実施例１におけるメールフィルタサーバ１１０における処理とほぼ同様であるが（図７を参照）、処理の対象となる発信者アドレスが異なる（ステップＳ１９１１）。すなわち、実施例１において、ビットパターンＨ（Ａ）を算出される発信者アドレス（Ａ）は、例えば、「matsui@isp-b.ne.jp」といった情報であったが、実施例４に係るメッセージ転送システムはＩＰ電話システムであるので、発信者アドレス（Ａ）は、例えば、「050-1234-5678」といった情報である。
【０１８４】
その後、実施例４におけるＩＰ電話接続制御サーバ５１０は、実施例１におけるメールフィルタサーバ１１０と同様、発信者アドレス（Ａ）のビットパターンＨ（Ａ）を算出し、ユーザアドレス（Ｒ）に対応するビットパターンＷをビットパターン５３１から取得し、ビットパターンＨ（Ａ）において「１」の値のビットと同じ順位のビットがビットパターンＷにおいても全て「１」の値であるか否かを判断し、転送可否を判断するなどして（ステップＳ１９１２〜ステップＳ１９１４）、処理を終了する。
【０１８５】
このようにして、実施例４に係るメッセージ転送システムは、実施例１と同様、メッセージ転送システムにおいて、発信元情報の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際に発信元情報を検索する効率を低下させず、ひいては、発信元情報の登録数を制限させないことが可能になる。
【０１８６】
［実施例４の効果］
上記してきたように、実施例４によれば、実施例１と同様、メッセージに含まれる発信元情報に基づいて、利用者に対するメッセージの転送を制御するメッセージ転送システムであって、０および１の値から成る所定のビット数のビットパターンと利用者情報とを対応づけて保持し、利用者がメッセージの転送を許可する発信元の発信元情報から所定のビット数のビットパターンを所定の関数を用いて算出し、保持されたビットパターンと算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、保持されたビットパターンを置き換えて登録し、利用者に対するメッセージを受信した際に、メッセージに含まれる発信元情報から所定のビット数のビットパターンを所定の関数を用いて算出し、保持されたビットパターンと算出されたビットパターンとをビット単位で比較し、算出されたビットパターンにおいて１の値のビットと同じ順位のビットが保持されたビットパターンにおいて全て１の値である場合には、メッセージを利用者に転送するように制御するので、メッセージ転送システムにおいて、発信元情報の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際に発信元情報を検索する効率を低下させず、ひいては、発信元情報の登録数を制限させないことが可能になる。
【０１８７】
すなわち、実施例４に係るメッセージ転送システムによれば、実施例１と同様、発信元情報が、所定のビット数のビットパターンに置き換えられることによって登録される（ひとつのビットパターンに発信元情報が重ねて登録される）ことから、発信元情報の登録数に比例して、発信元情報の登録に利用される記憶領域を増大させることはない。また、発信元情報の登録に利用する記憶領域を増大させないので、メッセージ転送の許否を判断する際に発信元情報を検索する記憶領域を増大させることもないことから、発信元情報を検索する効率を低下させない。ひいては、記憶領域の増大や、記憶領域の増大に伴う検索効率の低下を回避する必要もないことから、発信元情報の登録数を制限させない。
【実施例５】
【０１８８】
ところで、これまで実施例４において、発信元情報をメッセージ転送システムに登録する手法として、利用者のＩＰ（Internet  Protocol）電話端末が許可発信者登録サーバに許可アドレス登録要求を送信することによって、発信元情報をメッセージ転送システムに登録する処理が開始される手法を説明したが、本発明はこれに限られるものではなく、メッセージ転送システムに登録されていない発信元情報を受信したＩＰ電話接続制御サーバが、利用者に発信元情報を登録することに対しての同意を確認し、同意を契機に発信元情報を登録する処理が開始される手法（同意ベース型の手法）にも、本発明を同様に適用することができる。そこで、以下では、実施例５として、同意ベース型の手法について説明する。なお、実施例５に係るメッセージ転送システムは、実施例４に係るメッセージ転送システムとほぼ同様に構成されるので、以下では、実施例４に係るメッセージ転送システムと特に異なる点について主に説明する。
【０１８９】
［ＩＰ電話接続制御サーバ５１０］
まず、図２０および２１を用いて、実施例５におけるＩＰ電話接続制御サーバ５１０について説明する。図２０は、ＩＰ電話接続制御サーバの構成を示すブロック図であり、図２１は、同意確認送信先保持部を説明するための図である。
【０１９０】
実施例５におけるＩＰ電話接続制御サーバ５１０は、実施例４と同様、利用者に対するＩＰ電話接続の制御メッセージなどの転送を制御するサーバであり、特に本発明に密接に関連するものとしては、実施例４と同様、接続信号送受信部５１１と、フィルタ処理部５１２と、ビットパターン算出部５１３と、ビットパターン比較部５１４とを備える他に、実施例４と異なり、同意確認送信先保持部５１５と、同意確認送信部５１６と、同意通知受信部５１７とを備える。なお、同意確認送信先保持部５１５は、特許請求の範囲に記載の「同意確認送信先保持手段」に対応し、同意確認送信部５１６は、特許請求の範囲に記載の「同意確認送信手段」に対応し、同意通知受信部５１７は、特許請求の範囲に記載の「同意通知受信手段」に対応する。
【０１９１】
同意確認送信先保持部５１５は、同意確認メッセージの送信先と利用者情報とを対応づけて保持する。具体的には、同意確認送信先保持部５１５は、発信元情報をビットパターンテーブル５３１に登録することに対しての利用者による同意を確認する同意確認メッセージ（メールなど）の送信先と、利用者を識別する利用者情報とを対応づけて保持する。例えば、同意確認送信先保持部５１５は、図２１に示すように、同意確認メッセージの送信先（同意制御用通信アドレス）として「aaa@nnn.co.jp」などのメールアドレスと、利用者情報（着信先通信アドレス）として「050-2345-6789」などの電話番号とを対応づけて保持する。
【０１９２】
同意確認送信部５１６は、同意確認メッセージを、発信元情報および利用者情報とともに、同意確認送信先保持部５１５によって保持された送信先に送信する。具体的には、同意確認送信部５１６は、フィルタ処理部５１２における判断の結果が「転送不可」である場合には、同意確認メッセージを、発信元情報（発信元の電話番号など）および利用者情報（利用者の電話番号など）とともに送信先に送信する。
【０１９３】
例えば、同意確認送信部５１６は、ＳＩＰ（Session  Initiation  Protocol）による接続要求（INVITE要求メッセージ）のToヘッダに含まれる利用者情報（利用者の電話番号など）およびFromヘッダに含まれる発信元情報（発信元の電話番号など）を取得し、発信元情報および利用者情報を、メール本文中のＨＴＴＰ  ＵＲＬ（HyperText  Transfer  Protocol  Uniform Resource Locator）にエンコードして含める。このようにすることで、同意確認メッセージの送信先である利用者は、メール本文中のＨＴＴＰ  ＵＲＬをクリックすることで、後述する同意通知受信部５１７に接続され、ＨＴＴＰの要求として同意送信が可能となる。
【０１９４】
なお、実施例５においては、同意確認メッセージのメール本文中に、発信元情報および利用者情報を含める手法について説明したが、本発明はこれに限られるものではなく、例えば、同意確認メッセージの発信元のアドレスなどに、発信元情報および利用者情報を含める手法など、いずれでもよい。
【０１９５】
同意通知受信部５１７は、同意通知を、発信元情報および利用者情報とともに受信する。具体的には、同意通知受信部５１７は、同意確認送信部５１６によって送信された同意確認メッセージに対する同意の応答として利用者から通知される同意通知を、発信元情報（発信元の電話番号など）および利用者情報（利用者の電話番号など）とともに受信する。
【０１９６】
このように、同意確認送信部５１６が同意確認メッセージ中に発信元情報および利用者情報を含め、同意通知受信部５１７が同意通知を発信元情報および利用者情報とともに受信することで、発信元情報および利用者情報が再現されるので、ＩＰ電話接続制御サーバ５１０は、同意確認中の接続要求の状況を管理する必要がない。なお、上記した同意確認送信先保持部５１５、同意確認送信部５１６、および同意通知受信部５１７による具体的な処理については、以下の処理の説明において詳述する。
【０１９７】
［発信元情報をメッセージ転送システムに登録する処理］
次に、図２２を用いて、発信元情報をメッセージ転送システムに登録する処理について説明する。図２２は、発信元情報をメッセージ転送システムに登録する処理の手順を示すシーケンス図である。
【０１９８】
実施例５において、発信元情報をメッセージ転送システムに登録する処理は、実施例４と異なり、メッセージ転送システムに登録されていない発信元情報を受信したＩＰ電話接続制御サーバ５１０が、利用者Ａに発信元情報を登録することに対しての同意を確認し、利用者Ａによる同意を契機に開始されることになる。
【０１９９】
まず、利用者ＢのＩＰ電話端末７２０は、実施例４と同様、利用者Ｂ７３０によるＩＰ電話の接続要求を受け付け、ＩＰ電話接続制御サーバ５１０に対して、接続要求を送信する（ステップＳ２２１１）。続いて、ＩＰ電話接続制御サーバ５１０は、実施例４と同様、利用者ＢのＩＰ電話端末７２０から接続要求を受け付けると、フィルタ処理（接続可否判断）を行う（ステップＳ２２１２）。
【０２００】
ここで、実施例５におけるＩＰ電話接続制御サーバ５１０は、フィルタ処理（接続可否判断）の結果が「転送不可」である場合に、実施例４のように単に利用者ＢのＩＰ電話端末７２０に接続拒否応答を送信するのではなく、利用者ＢのＩＰ電話端末７２０に、同意確認中通知を送信する（ステップＳ２２１３）。
【０２０１】
また、ＩＰ電話接続制御サーバ５１０は、同意確認送信部５１６において、同意確認メッセージを、発信元情報（発信元の電話番号など）および利用者情報（利用者の電話番号など）とともに、同意確認送信先保持部５１５から取得した送信先に送信する（ステップＳ２２１４）。例えば、ＩＰ電話接続制御サーバ５１０は、同意確認送信部５１６において、メール本文中のＨＴＴＰ  ＵＲＬに、発信元情報「050-1234-5678」および利用者情報「050-2345-6789」をエンコードして含めるなどしたメールを、「aaa@nnn.co.jp」に送信する。
【０２０２】
そして、同意確認メッセージの送信先である利用者Ａ端末６２１が、送信された同意確認メッセージに対する同意の応答を、メール本文中のＨＴＴＰ  ＵＲＬを利用者Ａによってクリックされることなどによって受け付け、同意通知をＩＰ電話接続制御サーバ５１０に送信すると、ＩＰ電話接続制御サーバ５１０は、同意通知受信部５１７において、同意通知を発信元情報および利用者情報とともに受信する（ステップＳ２２１５）。例えば、ＩＰ電話接続制御サーバ５１０は、同意通知受信部５１７において、同意通知を発信元情報「050-1234-5678」および利用者情報「050-2345-6789」とともに受信する。
【０２０３】
続いて、ＩＰ電話接続制御サーバ５１０が、同意通知受信部５１７において受信された発信元情報および利用者情報を、許可発信者登録サーバ５２０に許可アドレス登録要求をとして送信することで（ステップＳ２２１６）、許可発信者登録サーバ５２０は、許可発信者登録処理部５２２やビットパターン算出部５２３などにおいて、発信元情報を登録する（ステップＳ２２１７）。
【０２０４】
具体的には、許可発信者登録サーバ５２０は、許可発信者登録処理部５２２やビットパターン算出部５２３などにおいて、発信元情報からビットパターンを算出し、ビットパターンテーブル５３１によって保持されたビットパターンと算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、利用者情報に対応づけられてビットパターンテーブル５３１によって保持されたビットパターンを置き換えて登録する。
【０２０５】
その後、許可発信者登録サーバ５２０が、利用者Ａ端末６２１に許可アドレス登録応答を返信するなどして（ステップＳ２２１８）、処理を終了する。
【０２０６】
このようにして、実施例５に係るメッセージ転送システムは、例えば、ＩＰ電話システムにおいて、登録されていない発信元情報を登録することに対して同意確認に基づいて発信元情報を登録することも可能になる。
【０２０７】
なお、実施例５においては、メッセージ転送システムに登録されていない発信元情報を受信したＩＰ電話接続制御サーバが、利用者に発信元情報を登録することに対しての同意を確認し、同意を契機に発信元情報を登録する処理が開始される手法（同意ベース型の手法）を、ＩＰ電話システムであるメッセージ転送システムに適用する場合を説明したが、本発明はこれに限られるものではなく、同意ベース型の手法は、メール転送システムであるメッセージ転送システム（実施例１〜３に係るメッセージ転送システム）にも同様に適用することができる。
【０２０８】
なお、例えば、メールフィルタサーバが、利用者情報と対応づけられて別途保持された同意確認メッセージの送信先に同意確認メッセージを送信するのではなく、単に、メールフィルタサーバが発信元から受信した電子メールの本来の転送先に、同意確認メッセージを転送する手法を用いてもよい。この場合には、メールフィルタサーバの同意確認送信部が同意確認メッセージ中に発信元情報のみを含め、同意通知受信部が同意通知を発信元情報のみとともに受信することで、発信元情報のみが再現されることになるが、メールフィルタサーバは、同意通知を送信した利用者の利用者情報を認識することができる（同意通知の発信元は、電子メールの本来の転送先である）ので、やはり、同意確認中の接続要求の状況を管理する必要がない。
【０２０９】
［実施例５の効果］
上記してきたように、実施例５によれば、発信元情報を登録することに対しての同意を確認する同意確認メッセージの送信先と利用者情報とを対応づけて保持し、比較された結果、発信元情報から算出されたビットパターンにおいて１の値のビットと同じ順位のいずれかのビットが、保持されたビットパターンにおいて１の値にならなかった場合には、同意確認メッセージを発信元情報および利用者情報とともに保持された送信先に送信し、送信された同意確認メッセージに対する同意の応答として利用者から通知される同意通知を発信元情報および利用者情報とともに受信し、同意通知とともに受信された発信元情報からビットパターンを所定の関数を用いて算出し、保持されたビットパターンと算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、利用者情報に対応づけられて保持されたビットパターンを置き換えて登録するので、例えば、ＩＰ電話システムにおいて、登録されていない発信元情報を登録することに対して同意確認に基づいて発信元情報を登録することも可能になる。
【０２１０】
また、同意確認メッセージ中に発信元情報および利用者情報を含め、同意通知を発信元情報および利用者情報とともに受信することで、発信元情報および利用者情報が再現されるので、メール転送システムにおいて、同意確認中の接続状況の管理をする必要がなくなる結果、同意確認中の状況を記憶する領域が不要になり、記憶領域を増大させないことも可能になる。
【実施例６】
【０２１１】
ところで、これまで実施例１〜５として、通常のメッセージアドレスを宛先とするメッセージの転送を制御するメッセージ転送システムについて説明したが、本発明はこれに限られるものではなく、利用者を識別する利用者情報とキーワードとを含むメッセージアドレス（以下、キーワードアドレス）を宛先とするメッセージの転送を制御するメッセージ転送システムにも、本発明を同様に適用することができる。そこで、以下では、実施例６として、キーワードアドレスを宛先とするメッセージの転送を制御するメッセージ転送システムに本発明を適用した実施例について説明する。なお、以下では、キーワードアドレスを宛先とするメッセージ転送の一般的な仕組み、実施例６に係るメッセージ転送システムの特徴、実施例６に係るメッセージ転送システムの構成、実施例６に係るメッセージ転送システムの処理の手順、実施例６の効果を順に説明する。
【０２１２】
［キーワードアドレスを宛先とするメッセージ転送の仕組み］
まず最初に、図２３を用いて、キーワードアドレスを宛先とするメッセージ転送の一般的な仕組みを説明する。図２３は、キーワードアドレスを宛先とするメッセージ転送の仕組みを説明するための図である。なお、以下では、開示ワードをメッセージ転送システムに登録する段階と、登録された有効ワードもしくは開示ワードに基づいてメッセージ転送システムがメッセージの転送を制御する段階との２段階に着目して説明する。図２３の（Ａ）が、開示ワードをメッセージ転送システムに登録する段階であり、図２３の（Ｂ）が、メッセージ転送システムが登録された有効ワードもしくは開示ワードに基づいてメッセージの転送を制御する段階である。
【０２１３】
キーワードアドレスを宛先とする電子メールのメッセージ転送システムは、図２３に示すように、利用者情報とキーワードとを含むキーワードアドレスを宛先とする電子メールの転送を制御する。例えば、メッセージ転送システムは、図２３に示すように、利用者情報として「suzuki」とキーワードとして「web060620」とを含むキーワードアドレス「suzuki.web060620@kwmail.ne.jp」を宛先とする電子メールの転送を制御する。
【０２１４】
ここで、メッセージ転送システムが、実アドレス（利用者が保有する実際のメールアドレス）ではなく、キーワードアドレスを用いて電子メールの転送を制御する理由について考えると、利用者が通信相手に実アドレスを開示したくない場合があるからである。例えば、通信相手がインターネット上の通信販売業者などである場合に、利用者が実アドレスをむやみに開示してしまうと、メーリングリストなどを通じて実アドレスが他の業者に拡散し、利用者が不要なダイレクトメールを着信しなければならない事態が生じ得る。このため、キーワードアドレスを宛先とする電子メールのメッセージ転送システムは、以下に説明するように、実アドレスを開示することなく電子メールの転送を制御する。
【０２１５】
このようなメッセージ転送システムは、図２３の（Ａ）に示すように、有効ワード保持部において、利用者情報と一つ以上の有効ワードとを対応づけて保持する。例えば、メッセージ転送システムは、利用者情報として「suzuki」と一つ以上の有効ワードとして「web、ml、hiroba、it」とを対応づけて保持する。ここで、有効ワードとは、キーワードアドレスが有効であるか否かをメッセージ転送システムが判断することを目的として、キーワードの一部分としてキーワードに含められるものである。すなわち、有効ワードを含んで構成されたキーワードを含むキーワードアドレスは、原則として、有効なキーワードアドレスであると考えられる（有効ワードが漏洩するなどしてロックされた場合を除く）。このような有効ワードは、例えば、メッセージ転送システムを利用するにあたり、利用者によって予め登録されるなどして、有効ワード保持部に保持されたものである。
【０２１６】
また、メッセージ転送システムは、図２３の（Ａ）に示すように、開示ワード保持部において、利用者情報と一つ以上の開示ワードとを対応づけて保持する。例えば、メッセージ転送システムは、利用者情報として「suzuki」と一つ以上の開示ワードとして「book305」とを対応づけて保持する。ここで、開示ワードとは、漏洩した有効ワードを含んで構成された使用中のキーワードのことである。すなわち、メッセージ転送システムは、有効ワードの漏洩に伴い有効ワードをロックしなければならない（漏洩した有効ワードを含んで構成される新たなキーワードの生成を不可とし、また、漏洩した有効ワードを有効ワード保持部から削除しなければならない）が、漏洩した有効ワードを含んで構成されるキーワードであっても、通信相手に既に開示されたキーワードである開示ワードは、有効ワードがロックされた場合にも有効なキーワードとして扱われる。このような開示ワードは、メッセージ転送システムにおいてキーワードアドレスを宛先とする電子メールが受信され、有効ワードのいずれかがキーワードに部分的に一致する場合に、電子メールが転送されるとともに、このキーワードが開示ワードとして登録されて、開示ワード保持部に保持されたものである。
【０２１７】
次に、開示ワードをメッセージ転送システムに登録する段階について具体的に説明すると、図２３の（Ａ）に示すように、メッセージ転送システムは、キーワードアドレスを宛先とする電子メールを受信すると（図２３の（Ａ）の（１）を参照）、有効ワード保持部によって保持された有効ワードのうち、キーワードアドレスに含まれる利用者情報に対応する一つ以上の有効ワードのそれぞれをキーワードアドレスに含まれるキーワードと比較する（図２３の（Ａ）の（２）を参照）。例えば、メッセージ転送システムは、キーワードアドレス「suzuki.web060620@kwmail.ne.jp」を宛先とする電子メールを受信すると、利用者情報「suzuki」に対応する有効ワード（web、ml、hiroba、it）のそれぞれをキーワード「web060620」と比較する。
【０２１８】
そして、有効ワードのいずれかがキーワードに部分的に一致する場合は、メッセージ転送システムは、キーワードを開示ワードとして開示ワード保持部に登録する（図２３の（Ａ）の（３）を参照）。例えば、メッセージ転送システムは、有効ワード「web」がキーワード「web060620」に部分的に一致する場合であるので、キーワード「web060620」を開示ワードとして開示ワード保持部に登録する。すると、開示ワード保持部は、「book305」の他に、「web060620」を保持することになる。
【０２１９】
続いて、登録された有効ワードもしくは開示ワードに基づいてメッセージ転送システムがメッセージの転送を制御する段階について説明すると、まず、図２３の（Ｂ）に示すように、有効ワード保持部は、一つ以上の有効ワードとして「ml、hiroba、it」とを対応づけて保持しており、「Web」を保持していない。すなわち、以下では、有効ワード「web」はロックされた（有効ワードから削除された）ことを前提とする。
【０２２０】
メッセージ転送システムは、キーワードアドレスを宛先とする電子メールを受信すると、有効ワード保持部に保持された有効ワードのうち、キーワードアドレスから抽出された利用者情報に対応する一つ以上の有効ワードのそれぞれをキーワードアドレスから抽出されたキーワードと比較して、有効ワードのいずれかがキーワードに部分的に一致するか否かを判断し、部分的に一致する場合に、電子メールを転送可と判断する。
【０２２１】
また、メッセージ転送システムは、キーワードを含むメッセージアドレスを宛先とする電子メールを受信すると、開示ワード保持部に保持された開示ワードのうち、キーワードアドレスから抽出された利用者情報に対応する一つ以上の開示ワードのそれぞれをキーワードと比較して、開示ワードのいずれかがキーワードに完全一致するか否かを判断し、完全一致する場合に、電子メールを転送可と判断する。
【０２２２】
例えば、図２３の（Ｂ）の（１）−１に示すように、利用者情報「suzuki」とキーワード「hiroba2006」とを含むメッセージアドレス「suzuki.hiroba2006@kwmail.ne.jp」を受信すると、メッセージ転送システムは、開示ワード保持部に保持された開示ワード（book305、web060620）のそれぞれをキーワード「hiroba2006」と比較して、開示ワードのいずれかがキーワードに完全一致するか否かを判断するが、開示ワードのいずれも完全一致しない。また、メッセージ転送システムは、有効ワード保持部に保持された有効ワードのうち、キーワードアドレスから抽出された利用者情報（suzuki）に対応する一つ以上の有効ワード（ml、hiroba、it）のそれぞれをキーワード「hiroba2006」と比較して、有効ワードのいずれかがキーワードと部分的に一致するか否かを判断する。すると、有効ワード「hiroba」がキーワード「hiroba2006」と部分的に一致するので、メッセージ転送システムは、キーワードアドレス「suzuki.hiroba2006@kwmail.ne.jp」を宛先とする電子メールを転送可と判断する。
【０２２３】
また、例えば、図２３の（Ｂ）の（１）−２に示すように、利用者情報「suzuki」とキーワード「web060620」とを含むキーワードアドレス「suzuki.web060620@kwmail.ne.jp」を受信すると、メッセージ転送システムは、開示ワード保持部に保持された開示ワード（book305、web060620）のそれぞれをキーワード「web060620」と比較して、開示ワードのいずれかがキーワードに完全一致するか否かを判断する。すると、開示ワード「web060620」がキーワード「web060620」と完全一致するので、メッセージ転送システムは、キーワードアドレス「suzuki.web060620@kwmail.ne.jp」を宛先とする電子メールを転送可と判断する。
【０２２４】
また、例えば、図２３の（Ｂ）の（１）−３に示すように、利用者情報「suzuki」とキーワード「book555」とを含むキーワードアドレス「suzuki.book555@kwmail.ne.jp」を受信すると、メッセージ転送システムは、開示ワード保持部に保持された開示ワード（book305、web060620）のそれぞれをキーワード「book555」と比較して、開示ワードのいずれかがキーワードに完全一致するか否かを判断するが、開示ワードのいずれも完全一致しない。また、メッセージ転送システムは、一つ以上の有効ワード（ml、hiroba、it）のそれぞれをキーワード「book555」と比較して、有効ワードのいずれかがキーワードと部分的に一致するか否かを判断するが、有効ワードのいずれも部分的に一致しない。このため、メッセージ転送システムは、電子メールを転送不可と判断する。
【０２２５】
［実施例６に係るメッセージ転送システムの特徴］
ところで、上記したメッセージ転送の仕組みでは、メッセージ転送システムにおいて、キーワード（開示ワード）の登録に利用される記憶領域が増大し、また、メッセージ転送の許否を判断する際にキーワード（開示ワード）を検索する効率が低下し、ひいては、キーワード（開示ワード）の登録数を制限せざるを得ないという課題がある。
【０２２６】
すなわち、開示ワードとしてキーワード自体を登録する上記の手法では、登録される開示ワードの数に比例して、開示ワードの登録に利用される記憶領域が増大する。また、開示ワードの登録に利用する記憶領域が増大すると、メッセージ転送の許否を判断する際に開示ワードを検索する記憶領域が増大することになるので、開示ワードを検索する効率が低下する。ひいては、記憶領域の増大や、記憶領域の増大に伴う検索効率の低下を回避するために、開示ワードの登録数を制限せざるを得ない。
【０２２７】
そこで、実施例６に係るメッセージ転送システムは、このような課題を解決するために、キーワード（開示ワード）の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際にキーワード（開示ワード）を検索する効率を低下させず、ひいては、キーワード（開示ワード）の登録数を制限させないことを主たる特徴とする。
【０２２８】
この主たる特徴について、図２４を用いて簡単に説明する。図２４は、実施例６に係るメッセージ転送システムの特徴を説明するための図である。実施例６に係るメッセージ転送システムは、実施例１におけるビットパターンテーブルと同様、図２４に示すように、開示ワード保持部（特許請求の範囲に記載の「ビットパターン保持部」に対応する）において、「０」および「１」の値から成るあるビット数のビットパターンと、利用者を識別する利用者情報とを対応づけて保持する。例えば、図２４の（Ａ）に示すように、ビットパターンとして「０１０００００１１０１１・・・」と利用者情報として「suzuki」とを対応づけて保持する。
【０２２９】
ここで、利用者情報「suzuki」に対応づけられたビットパターンについて簡単に説明すると、実施例６に係るメッセージ転送システムは、メッセージ転送システムにおいてキーワードアドレスを宛先とする電子メールが受信され、有効ワードのいずれかがキーワードに部分的に一致した場合に、このキーワードを開示ワードとして登録している。つまり、実施例６において、開示ワードが一つも登録されていない状態（初期状態）のビットパターンは「００００００００００００・・・」であるので、図２４の（Ａ）に示すビットパターン「０１０００００１１０１１・・・」は、開示ワードが、一つまたは複数登録されている状態を表している。なお、開示ワードの具体的な登録手法については、後に詳述する。
【０２３０】
なお、図２４においては、開示ワードが、一つまたは複数登録されている状態を説明したが、本発明はこれに限られるものではなく、開示ワードが一つも登録されていない状態（初期状態）においても、本発明を同様に適用することができる。また、図２４においては、説明の便宜上から、開示ワード保持部が、利用者情報「suzuki」に対応づけられたビットパターンのみを保持する様子を示したが、実際は、開示ワード保持部は、メッセージ転送システムを利用する一人または複数の利用者について、各々の利用者情報に対応づけられたビットパターンを保持することになる。
【０２３１】
このような構成のもと、実施例６に係るメッセージ転送システムは、キーワードアドレスを宛先とする電子メールの転送を制御することになるが、以下では、開示ワードをメッセージ転送システムに登録する段階と、登録された開示ワードに基づいてメッセージ転送システムがメッセージの転送を制御する段階との２段階に着目して説明する。図２４の（Ａ）が、開示ワードをメッセージ転送システムに登録する段階であり、図２４の（Ｂ）が、メッセージ転送システムが登録された開示ワードに基づいてメッセージの転送を制御する段階である。
【０２３２】
まず、開示ワードをメッセージ転送システムに登録する段階について説明すると、図２４の（Ａ）に示すように、実施例６に係るメッセージ転送システムは、キーワードアドレスを宛先とするメッセージを受信すると（図２４の（Ａ）の（１）を参照）、有効ワード保持部によって保持された有効ワードのうち、キーワードアドレスに含まれる利用者情報に対応する一つ以上の有効ワードのそれぞれをキーワードアドレスに含まれるキーワードと比較する（図２４の（Ａ）の（２）を参照）。
【０２３３】
そして、有効ワードのいずれかがキーワードに部分的に一致する場合は、キーワードからあるビット数のビットパターンをある関数によって算出する（図２４の（Ａ）の（３）を参照）。次に、メッセージ転送システムは、開示ワード保持部によって保持されたビットパターンと算出されたビットパターンとをビット単位にＯＲ演算する（図２４の（Ａ）の（４）を参照）。そして、メッセージ転送システムは、ＯＲ演算することで得られた結果のビットパターンによって、開示ワード保持部によって保持されたビットパターンを置き換えて登録する(図２４の（Ａ）の（５）を参照)。
【０２３４】
次に、登録された開示ワードに基づいてメッセージ転送システムがメッセージの転送を制御する段階について説明すると、図２４の（Ｂ）に示すように、実施例６に係るメッセージ転送システムは、キーワードアドレスを宛先とする電子メールを受信すると（図２４の（Ｂ）の（１）を参照）、メッセージに含まれるキーワードから、あるビット数のビットパターンをある関数を用いて算出する（図２４の（Ｂ）の（２）を参照）。なお、ビット数および関数は、図２４の（Ａ）の（３）で説明したビット数および関数と同一のものでなければならない。
【０２３５】
そして、メッセージ転送システムは、開示ワード保持部によって保持されたビットパターンと算出されたビットパターンとをビット単位で比較する（図２４の（Ｂ）の（３）を参照）。すると、算出されたビットパターンにおいて「１」の値のビットと同じ順位のビットが、開示ワード保持部によって保持されたビットパターンにおいて全て「１」の値である場合には、メッセージ転送システムは、受信した電子メールを利用者に転送するように制御する（図２５の（Ｂ）の（４）を参照）。
【０２３６】
このようにして、実施例６に係るメッセージ転送システムは、利用者にとってメッセージアドレスの管理負担が少なく、かつ、メッセージアドレスが漏洩した場合に漏洩元の特定を容易にするとともに漏洩したメッセージアドレスだけを簡単に無効とすることが可能なメッセージシステムにおいて、メッセージアドレスに含まれるキーワード（開示ワード）の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際にキーワード（開示ワード）を検索する効率を低下させず、ひいては、キーワード（開示ワード）の登録数を制限させないことが可能になる。
【０２３７】
なお、実施例６においては、メッセージ転送システムが、開示ワード保持部に保持された開示ワードとキーワードとを比較してから、有効ワード保持部に保持された有効ワードとキーワードとを比較する処理の手順を説明するが、本発明はこれに限られるものではなく、有効ワード保持部に保持された有効ワードとキーワードとを比較してから、開示ワード保持部に保持された開示ワードとキーワードとを比較する処理の手順など、開示ワードのいずれかがキーワードに完全一致する場合に電子メールを転送可と判断し、有効ワードのいずれかがキーワードに部分一致する場合に電子メールを転送可と判断する場合であれば、処理の手順はいずれでもよい。
【０２３８】
また、実施例６においては、メッセージ転送システムとして、電子メールを転送するメール転送システムについて説明するが、本発明はこれに限られるものではなく、ＩＰ（Internet  Protocol）電話の制御メッセージ、インスタントメッセージ、プレゼンス交換メッセージなどのＳＩＰ（Session  Initiation  Protocol）メッセージを転送するシステムなどにも、本発明を同様に適用することができる。
【０２３９】
［実施例６に係るメッセージ転送システムの構成］
次に、図２５〜２８を用いて、実施例６に係るメッセージ転送システムの構成を説明する。図２５は、実施例６に係るメッセージ転送システムの構成を示すブロック図であり、図２６は、実アドレステーブルを説明するための図であり、図２７は、有効ワードテーブルを説明するための図であり、図２８は、開示ワードテーブルを説明するための図である。
【０２４０】
まず、図２５を用いて、実施例６に係るメッセージ転送システムの構成について説明すると、実施例６に係るメッセージ転送システムは、実施例１と同様、利用者Ａ端末２２０と利用者Ｂ端末３２０とを、利用者Ａ側ＩＰ網２４０、インターネット４００および利用者Ｂ側ＩＰ網３４０を介して接続する。
【０２４１】
利用者Ａ端末２２０および利用者Ｂ端末３２０は、実施例１と同様、利用者Ａ２３０および利用者Ｂ３３０がそれぞれインターネット４００を介した電子メール授受を行う際に利用する端末装置であり、一般に普及しているパーソナルコンピュータ（ＰＣ）に、Ｗｅｂブラウザソフトや電子メールソフトがインストールされ、ルータＲを介して利用者Ａ側ＩＰ網２４０および利用者Ｂ側ＩＰ網３４０にそれぞれ接続されている。なお、かかる利用者Ａ側ＩＰ網２４０および利用者Ｂ側ＩＰ網３４０は、実施例１と同様、それぞれルータＲを介してインターネット４００に接続されている。
【０２４２】
利用者Ａメールサーバ１４０および利用者Ｂメールサーバ３１０は、実施例１と同様、いわゆる既存のメールサーバである。なお、実施例６においては、説明の便宜上から、２台の端末装置、メールサーバのみから構成される場合を説明するが、本発明はこれに限られるものではなく、多数の端末装置、多数のメールサーバから構成される場合にも、本発明を同様に適用することができる。
【０２４３】
また、実施例６に係るメッセージ転送システムでは、特に本発明に密接に関連するものとして、ワード登録サーバ９２０と、データ管理サーバ９３０と、メールフィルタサーバ９１０とが設けられている。これらのワード登録サーバ９２０、データ管理サーバ９３０、およびメールフィルタサーバ９１０は、ファイアウォールＦＷを介してインターネット４００に接続されたＬＡＮ９００に接続される。以下では、ワード登録サーバ９２０、データ管理サーバ９３０、およびメールフィルタサーバ９１０について説明する。
【０２４４】
［ワード登録サーバ９２０］
実施例６におけるワード登録サーバ９２０は、有効ワードや開示ワードを登録したり、有効ワードをロックするサーバであり、特に本発明に密接に関連するものとしては、図２５に示すように、ＨＴＴＰ通信部９２１と、有効ワード登録処理部９２２と、有効ワードロック処理部９２３と、開示ワード登録処理部９２４とを備える。かかるワード登録サーバ９２０は、市販のパーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）に、これらの部に対応するプログラムをインストールすることにより実現できる。なお、開示ワード登録処理部９２４は、特許請求の範囲に記載の「ビットパターン登録手段」に対応する。
【０２４５】
ＨＴＴＰ通信部９２１は、ＨＴＴＰ（HyperText  Transfer  Protocol）通信用の一般的なライブラリを備え、その他の通信装置との間でＨＴＴＰによる通信を行う。有効ワード登録処理部９２２は、利用者Ａ端末２２０などからＷｅｂブラウザ経由で送信される有効ワード登録を受け付け、後述するデータ管理サーバ９３０の有効ワードテーブル９３２に有効ワードを登録する。具体的には、有効ワード登録処理部９２２は、利用者Ａ端末２２０などからユーザＩＤ（利用者情報）と有効ワードとを受け付けて、有効ワードテーブル９３２に登録する。有効ワードロック処理部９２３は、利用者Ａ端末２２０などからＷｅｂブラウザ経由で送信される有効ワードのロック要求を受け付け、有効ワードテーブル９３２の有効ワードをロックする。具体的には、有効ワードロック処理部９２３は、利用者Ａ端末２２０などからユーザＩＤ（利用者情報）とロック対象ワードとを受け付けて、ロック対象ワードをユーザＩＤに対応する有効ワードテーブル９３２から削除する。
【０２４６】
開示ワード登録処理部９２４は、後述するデータ管理サーバ９３０の開示ワードテーブル９３３に開示ワードを登録する。具体的には、開示ワード登録処理部９２４は、後述するメールフィルタサーバ９１０のフィルタ処理部９１２において、有効ワードテーブル９３２によって保持された有効ワードのいずれかがキーワードアドレスのキーワードに部分的に一致すると判断された場合に、まず、このキーワードからあるビット数のビットパターンをある関数によって算出する。
【０２４７】
例えば、開示ワード登録処理部９２４は、実施例１におけるビットパターン算出部１２３と同様、取得したキーワードから、あるビット数のビットパターンをある関数を用いて算出する。ここで、開示ワード登録処理部９２４の算出方法について具体的に説明すると、実施例６における開示ワード登録処理部９２４は、実施例１におけるビットパターン算出部１２３と同様、ブルームフィルタを適用して算出するので、まず、あるビット数（ｍとする）以下の正整数値を導出する複数のハッシュ関数を用いて、キーワードから複数の正整数値をハッシュ関数ごとにそれぞれ導出する。次に、開示ワード登録処理部９２４は、生成された複数のビットパターンをビット単位にＯＲ演算することで、キーワードからビットパターンを算出する。
【０２４８】
なお、実施例６においては、開示ワード登録処理部９２４が、上記したような関数を用いてキーワードからビットパターンを算出する手法を説明したが、本発明はこれに限られるものではなく、単にハッシュ関数を用いてキーワードからビットパターンを算出する手法や、キーワードを他のアルゴリズムによってビットパターンに変換してビット数ｍだけ切り出す手法や、その他の関数による手法などにも、本発明を同様に適用することができる。単にハッシュ関数を用いて算出する手法では、例えば、開示ワード登録処理部９２４は、キーワードとして「web060620」（Ａ）を取得すると、ビット数ｍのビットパターンを導出するハッシュ関数h()を用いて、ビット数ｍのビットパターンＨ（Ａ）を算出するなどする。また、ビット数ｍだけ切り出す手法では、例えば、「web060620」を「０」および「１」の値で表現したビットパターンからビット数ｍだけ切り出すなどする。
【０２４９】
次に、開示ワード登録処理部９２４は、開示ワードテーブル９３３によって保持されたビットパターンと、算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、開示ワードテーブル９３３によって保持されたビットパターンを置き換えて登録する。
【０２５０】
例えば、開示ワード登録処理部９２４は、開示ワードテーブル９３３によって保持されたビットパターン「０１０００００１１０１１・・・」と、算出されたビットパターン「０１０１１０１１００００・・・」とをビット単位にＯＲ演算し、ビットパターン「０１０１１０１１１０１１・・・」を得る。次に、開示ワード登録処理部９２４は、得られた結果のビットパターン「０１０１１０１１１０１１・・・」によって、開示ワードテーブル９３３によって保持されたビットパターンを置き換える。
【０２５１】
［データ管理サーバ９３０］
実施例６におけるデータ管理サーバ９３０は、利用者が保有する実際のメールアドレス（実アドレス）、有効ワード、および開示ワードを管理するサーバであり、特に本発明に密接に関連するものとしては、実アドレステーブル９３１、有効ワードテーブル９３２、開示ワードテーブル９３３とを備える。かかるデータ管理サーバ９３０は、市販のパーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）に、ＲＤＢＭＳ（Relational  DataBase  Management  System）などのプログラムをインストールすることにより実現できる。なお、有効ワードテーブル９３２は、特許請求の範囲に記載の「有効ワード保持手段」に対応し、開示ワードテーブル９３３は、特許請求の範囲に記載の「ビットパターン保持手段」に対応する。
【０２５２】
実アドレステーブル９３１は、利用者を識別する利用者情報と利用者が保有する実際のメールアドレス（実アドレス）とを対応づけて保持する。具体的には、実アドレステーブル９３１が保持する実アドレスは、後述するメールフィルタサーバ９１０のフィルタ処理部９１２において、電子メールを利用者に転送するように制御された場合に、フィルタ処理部９１２によって取得され、フィルタ処理部９１２による電子メールの転送制御に利用される。例えば、実アドレステーブル９３１は、図２６に示すように、ユーザＩＤ（利用者情報）「suzuki」と実アドレス「suzuki1010@anywhere.ne.jp」とを対応づけて保持し、この実アドレス「suzuki1010@anywhere.ne.jp」は、フィルタ処理部９１２において、電子メールを利用者「suzuki」に転送するように制御された場合に、フィルタ処理部９１２によって取得され、フィルタ処理部９１２においては、実アドレス「suzuki1010@anywhere.ne.jp」に転送するように電子メールの転送が制御される。
【０２５３】
有効ワードテーブル９３２は、利用者情報と一つ以上の有効ワードとを対応づけて保持する。具体的には、有効ワードテーブル９３２が保持する有効ワードは、有効ワード登録処理部９２２によって有効ワードを登録されたり、有効ワードロック処理部９２３によってロック対象ワードを削除されたりする。また、有効ワードは、後述するフィルタ処理部９１２による電子メールの転送制御に利用される。例えば、有効ワードテーブル９３２は、図２７に示すように、ユーザＩＤ（利用者情報）「suzuki」と有効ワード「web、ml、hiroba、it」とを対応づけて保持する。
【０２５４】
開示ワードテーブル９３３は、「０」および「１」の値から成るビット数ｍのビットパターンと利用者情報とを対応づけて保持する。具体的には、開示ワードテーブル９３３は、保持するビットパターンを開示ワード登録処理部９２４に送信したり、保持するビットパターンを開示ワード登録処理部９２４によって置き換えられたりする。また、開示ワードテーブル９３３が保持するビットパターンは、後述するメールフィルタサーバ９１０のビットパターン比較部９１４によって利用される。
【０２５５】
例えば、開示ワードテーブル９３３は、図２８に示すように、実施例１におけるビットパターンテーブル１３１と同様、ビットパターンとユーザＩＤ（利用者情報）とを対応づけて保持する。なお、図２８においては、ビットパターン「0x5g9341ab・・・」などと示されているが、実際は、「０」および「１」の値から成るビット数ｍのビットパターンとして処理される。
【０２５６】
また、例えば、開示ワードテーブル９３３は、ワード登録サーバ９２０において、開示ワードの登録が行われる際には、利用者情報「suzuki」に対応づけて保持するビットパターンとして、例えば、「０１０００００１１０１１・・・」をワード登録サーバ９２０に送信する。また、例えば、開示ワードテーブル９３３は、利用者情報「suzuki」に対応づけて保持する新しいビットパターンとして、例えば、「０１０１１０１１１０１１・・・」などのビットパターンをワード登録サーバ９２０から受信すると、「０１０００００１１０１１・・・」を「０１０１１０１１１０１１・・・」に置き換えて保持するなどする。
【０２５７】
ところで、実施例６に係るメッセージ転送システムの運用開始時は、開示ワードテーブル９３３が保持するビットパターンは、開示ワードが一つも登録されていない状態（初期状態）であると考えられる。初期状態としていかなるビットパターンを利用者情報に対応づけて保持するべきであるかは運用の形態によって異なるが、最も典型的な手法としては、実施例１と同様、「００００００００００００・・・」のように全てのビットが「０」の値であるビットパターンを保持する手法が考えられる。このように、開示ワードテーブル９３３は、初期状態に全て「０」の値であるビットパターンを利用者情報と対応づけて保持し、開示ワードが登録される都度、「０」の値が「１」の値に置き換えられていくことになる。
【０２５８】
なお、実施例１と同様、理論上、最終的には全てのビットが「１」の値に置き換えられ、「１１１１１１１１１１１１・・・」のように全てのビットが「１」の値であるビットパターンになると考えることができるが、実施例１と同様、運用の形態に即したビット数ｍを設定することで、全てのビットが「１」の値であるビットパターンになる状態を回避する。
【０２５９】
［メールフィルタサーバ９１０］
実施例６におけるメールフィルタサーバ９１０は、利用者に対する電子メールの転送を制御するサーバであり、特に本発明に密接に関連するものとしては、図２５に示すように、メール通信部９１１と、フィルタ処理部９１２と、ビットパターン算出部９１３と、ビットパターン比較部９１４とを備える。かかるメールフィルタサーバ９１０は、市販のパーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）に、これらの部に対応するプログラムをインストールすることにより実現できる。なお、ビットパターン算出部９１３は、特許請求の範囲に記載の「ビットパターン算出手段」に対応し、フィルタ処理部９１２およびビットパターン比較部９１４は、特許請求の範囲に記載の「メッセージ転送制御手段」に対応する。
【０２６０】
メール通信部９１１は、実施例１におけるメール通信部１１１と同様、発信元のメールサーバから電子メールを受信し、フィルタ処理部９１２における処理に従って、利用者のメールサーバに電子メールを送信するなどする。
【０２６１】
フィルタ処理部９１２は、利用者に対する電子メールの転送を制御する。具体的には、フィルタ処理部９１２は、メール通信部９１１によって起動されると、ビットパターン算出部９１３を起動し、メール通信部９１１から受信した電子メールをビットパターン算出部９１３に送信する。また、フィルタ処理部９１２は、ビットパターン比較部９１４から比較の結果を受信し、受信した比較の結果に基づいて、利用者に対する電子メールの転送を制御し、メール通信部９１１に送信するなどする。
【０２６２】
例えば、フィルタ処理部９１２は、ビットパターン比較部９１４から受信した比較の結果が、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のビットが、保持されたビットパターンにおいて全て「１」の値である」との結果である場合には、受信した電子メールを利用者に転送するように制御する。すなわち、フィルタ処理部９１２は、データ管理サーバ９３０の実アドレステーブル９３１から、電子メールに含まれる利用者情報に対応づけられた実アドレスを取得し、取得した実アドレスに電子メールを転送するように制御する。
【０２６３】
また、フィルタ処理部９１２は、比較の結果が、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のいずれかのビットが、保持されたビットパターンにおいて「１」の値ではない」との結果である場合には、次に、データ管理サーバ９３０の有効ワードテーブル９３２によって保持された有効ワードのうち、電子メールに含まれる利用者情報に対応する一つ以上の有効ワードを取得し、取得した有効ワードのそれぞれを電子メールに含まれるキーワードと比較して、有効ワードのいずれかがキーワードに部分的に一致するか否かを判断する。
【０２６４】
例えば、フィルタ処理部９１２は、キーワードアドレス「suzuki.web060620@kwmail.ne.jp」を宛先とする電子メールの利用者情報は「suzuki」であるので、有効ワードテーブル９３２によって保持された有効ワードのうち、「suzuki」に対応する有効ワード「web、ml、hiroba、it」を取得し、取得した有効ワードのそれぞれを電子メールに含まれるキーワードと比較して、有効ワード「web」がキーワード「web060620」に部分的に一致すると判断する。
【０２６５】
そして、フィルタ処理部９１２は、有効ワードのいずれかがキーワードに部分的に一致すると判断した場合には、受信した電子メールを利用者に転送するように制御するとともに、このキーワードを開示ワードテーブル９３３に登録することを目的として、キーワードをワード登録サーバ９２０に送信する。例えば、フィルタ処理部９１２は、キーワード「web060620」を開示ワードテーブル９３３に登録することを目的として、ワード登録サーバ９２０に送信する。
【０２６６】
なお、フィルタ処理部９１２は、比較の結果が、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のいずれかのビットが、保持されたビットパターンにおいて「１」の値ではない」との結果であり、かつ、有効ワードのいずれかがキーワードに部分的に一致しないと判断した場合には、受信した電子メールを利用者に転送しないように制御する。
【０２６７】
ビットパターン算出部９１３は、利用者に対する電子メールを受信した際に、キーワードアドレスに含まれるキーワードからビット数ｍのビットパターンをある関数を用いて算出する。具体的には、ビットパターン算出部９１３は、フィルタ処理部９１２によって起動されると、フィルタ処理部９１２から受信したキーワードアドレスに含まれるキーワードから、ビット数ｍのビットパターンをある関数を用いて算出し、算出したビットパターンを、ビットパターン比較部９１４に送信する。
【０２６８】
ここで、ビットパターン算出部９１３の算出手法について具体的に説明すると、実施例１におけるビットパターン算出部１１３と同様、実施例６におけるビットパターン算出部９１３は、ワード登録サーバ９２０の開示ワード登録処理部９２４と同じ算出手法によることが前提となる。すなわち、実施例６に係るメッセージ転送システムは、ワード登録サーバの開示ワード登録処理部９２４によって算出され、開示ワードテーブル９３３に登録されたビットパターンと、メールフィルタサーバ９１０のビットパターン算出部９１３によって算出されたビットパターンとを比較することで、電子メールに転送を制御するので、開示ワード登録処理部９２４とビットパターン算出部９１３との算出手法は、同じ算出手法でなければならない。
【０２６９】
ビットパターン比較部９１４は、データ管理サーバ９３０の開示ワードテーブル９３３によって保持されたビットパターンと、ビットパターン算出部９１３によって算出されたビットパターンとをビット単位で比較する。具体的には、ビットパターン比較部９１４は、開示ワードテーブル９３３によって保持されたビットパターンと、ビットパターン算出部９１３によって算出されたビットパターンとをビット単位で比較し、比較の結果をフィルタ処理部９１２に送信する。
【０２７０】
例えば、ビットパターン比較部９１４は、実施例１におけるビットパターン比較部１１４と同様、開示ワードテーブル９３３によって保持されたビットパターンが「０１０１１０１１１０１１・・・」で、ビットパターン算出部９１３によって算出されたビットパターンが「０１０１１０１１００００・・・」である場合には、「０１０１１０１１１０１１・・・」と「０１０１１０１１００００・・・」とをビット単位で比較する。そして、ビットパターン比較部９１４は、算出されたビットパターンにおいて「１」の値のビットが、第２順位、第４順位、第５順位、第７順位、および第８順位のビットであるので、開示ワードテーブル９３３に保持されたビットパターンにおいて、第２順位、第４順位、第５順位、第７順位、および第８順位のビットと比較すると、全て「１」の値であることから、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のビットが、保持されたビットパターンにおいて全て「１」の値である」との比較の結果を、フィルタ処理部９１２に送信する。
【０２７１】
また、ビットパターン比較部９１４は、実施例１におけるビットパターン比較部１１４と同様、開示ワードテーブル９３３によって保持されたビットパターンと、ビットパターン算出部９１３によって算出されたビットパターンとをビット単位で比較し、算出されたビットパターンにおいて「１」の値のビットと同じ順位のいずれかのビットが、開示ワードテーブル９３３によって保持されたビットパターンにおいて「１」の値ではない場合には、「算出されたビットパターンにおいて「１」の値のビットと同じ順位のいずれかのビットが、保持されたビットパターンにおいて「１」の値ではない」との比較の結果を、フィルタ処理部９１２に送信する。
【０２７２】
［実施例６に係るメッセージ転送システムによる処理の手順］
次に、図２９および３０を用いて、実施例６に係るメッセージ転送システムによる処理の手順を説明する。図２９は、開示ワードをメッセージ転送システムに登録する処理の手順を示すシーケンス図であり、図３０は、メールフィルタサーバにおける処理の手順を示すフロー図である。
【０２７３】
［開示ワードをメッセージ転送システムに登録する処理］
以下では、図２９に示すように、実施例６に係るメッセージ転送システムが、利用者Ａ２３０に対する電子メールであって、利用者Ｂ端末３２０（利用者Ｂ３３０）から送信された電子メールを、利用者Ｂメールサーバ３１０、メールフィルタサーバ９１０、および利用者Ａメールサーバ１４０などを介して、利用者Ａ端末２２０（利用者Ａ２３０）に転送する場合を例示する。
【０２７４】
まず、利用者Ｂ端末３２０は、利用者Ｂ３３０による電子メール送信処理を受け付け、利用者Ｂメールサーバ３１０に対して、電子メールを送信する（ステップＳ２９１１）。例えば、実施例６に係るメッセージ転送システムにおいて、利用者Ｂ端末３２０にメールソフトが備えられているとすると、利用者Ｂ端末３２０は、「宛先アドレス（suzuki.web060620@kwmail.ne.jp）」やその他本文などの利用者Ｂ３３０による入力を受け付け、入力された電子メールを利用者Ｂメールサーバ３１０に対して送信する。
【０２７５】
次に、利用者Ｂメールサーバ３１０は、利用者Ｂ端末３２０から送信された電子メールをメールフィルタサーバ９１０に送信する（ステップＳ２９１２）。具体的には、利用者Ｂメールサーバ３１０は、利用者Ｂ端末３２０から送信された電子メールを受け付け、「宛先アドレス（suzuki.web060620@kwmail.ne.jp）」やその他本文などをメールフィルタサーバ９１０に送信する。
【０２７６】
すると、メールフィルタサーバ９１０は、利用者Ｂメールサーバ３１０から電子メールを受け付けると、フィルタ処理（転送可否判断）を行う（ステップＳ２９１３）。具体的には、メールフィルタサーバ９１０は、メール通信部９１１において電子メールを受け付けると、フィルタ処理部９１２を起動し、フィルタ処理部９１２が、ビットパターン算出部９１３やビットパターン比較部９１４を起動するなどして、電子メールの転送を制御する。
【０２７７】
例えば、メールフィルタサーバ９１０は、まず、ビットパターン算出部９１３において、キーワードアドレスに含まれるキーワードから、ビット数ｍのビットパターンをある関数を用いて算出し、算出したビットパターンを、ビットパターン比較部９１４に送信する。次に、メールフィルタサーバ９１０は、ビットパターン比較部９１４において、データ管理サーバ９３０の開示ワードテーブル９３３と、ビットパターン算出部９１３によって算出されたビットパターンとをビット単位で比較し、比較の結果を、フィルタ処理部９１２に送信する。
【０２７８】
続いて、メールフィルタサーバ９１０は、フィルタ処理（転送可否判断）の結果が「算出されたビットパターンにおいて「１」の値のビットと同じ順位のいずれかのビットが、保持されたビットパターンにおいて「１」の値ではない」との結果である場合には、次に、有効ワードテーブル９３２によって保持された有効ワードのそれぞれをキーワードと比較して、有効ワードのいずれかがキーワードに部分的に一致するか否かを判断する。例えば、有効ワードテーブル９３２によって保持された有効ワード「web、ml、hiroba、it」をキーワードと比較する。
【０２７９】
その結果が「一致」の場合には、メールフィルタサーバ９１０は、受信した電子メールを利用者に転送するように制御するとともに（ステップＳ２９１４およびステップＳ２９１５）、このキーワードを開示ワードテーブル９３３に登録することを目的として、キーワードをワード登録サーバ９２０に送信する（ステップＳ２９１６およびステップＳ２９１７）。例えば、フィルタ処理部９１２は、キーワード「web060620」を開示ワードテーブル９３３に登録することを目的として、ワード登録サーバ９２０に送信する。
【０２８０】
すると、ワード登録サーバ９２０は、メールフィルタサーバ９１０から開示ワード登録要求を受け付けると、開示ワードのビットパターンを算出する（ステップＳ２９３１）。具体的には、ワード登録サーバ９２０は、開示ワード登録要求を受け付けると、開示ワード登録処理部９２４を起動し、開示ワードのビットパターンを算出する。例えば、開示ワード登録処理部９２４は、開示ワード「web060620」（ｋ）のビットパターンＨ（ｋ）を算出する。
【０２８１】
次に、ワード登録サーバ９２０は、ユーザＩＤに対応するビットパターンＷを、データ管理サーバ９３０の開示ワードテーブル９３３から取得する（ステップＳ２９３２）。具体的には、ワード登録サーバ９２０は、開示ワード登録処理部９２４において、ユーザＩＤ（suzuki）に対応するビットパターンＷを、開示ワードテーブル９３３から取得する。
【０２８２】
そして、ワード登録サーバ９２０は、ビットパターンＷとビットパターンＨ（ｋ）とをＯＲ演算することで得られる結果のビットパターンをＷ´とする（ステップＳ２９３３）。具体的には、ワード登録サーバ９２０は、開示ワード登録処理部９２４において、開示ワードテーブル９３３から取得したビットパターンＷと、算出されたビットパターンＨ（ｋ）とをビット単位にＯＲ演算することで得られる結果のビットパターンをＷ´とする。
【０２８３】
続いて、ワード登録サーバ９２０は、結果のビットパターンＷ´を、ユーザＩＤに対応するビットパターンとして開示ワードテーブル９３３に登録する（ステップＳ２９３４）。具体的には、ワード登録サーバ９２０は、開示ワード登録処理部９２４において、結果のビットパターンＷ´によって、開示ワードテーブル９３３に保持されたビットパターンＷを置き換えて登録する。
【０２８４】
なお、開示ワードテーブル９３３に保持されるビットパターンは、ビットパターンＷからビットパターンＷ´に置き換えられるので、新たに開示ワードが登録される際のステップＳ２９３２においては、ユーザＩＤに対応するビットパターンＷ´が取得されることになる。
【０２８５】
［メールフィルタサーバにおける処理］
図３０に示すように、メールフィルタサーバ９１０は、まず、ビットパターン算出部９１３において、宛先アドレスの入力を受け付け、宛先アドレスからユーザＩＤ（ｕ）とキーワード（ｋ）とを取得する（ステップＳ３０１１）。
【０２８６】
次に、メールフィルタサーバ９１０は、ビットパターン算出部９１３において、宛先アドレスに含まれるキーワード（ｋ）のビットパターンＨ（ｋ）を算出する（ステップＳ３０１２）。
【０２８７】
そして、メールフィルタサーバ９１０は、ビットパターン比較部９１４において、宛先ユーザに対応するビットパターンＷを、開示ワードテーブル９３３から取得する（ステップＳ３０１３）。具体的には、メールフィルタサーバ９１０は、ビットパターン比較部９１４において、宛先ユーザ（suzuki）に対応するビットパターンＷを、データ管理サーバ９３０の開示ワードテーブル９３３から取得する。
【０２８８】
そして、メールフィルタサーバ９１０は、ビットパターン比較部９１４において、ビットパターンＨ（ｋ）において「１」の値のビットと同じ順位のビットが、ビットパターンＷにおいても全て「１」の値であるか否かを判断する（ステップＳ３０１４）。具体的には、メールフィルタサーバ９１０は、ビットパターン比較部９１４において、開示ワードテーブル９３３によって保持されたビットパターンＷと、ビットパターン算出部９１３によって算出されたビットパターンＨ（ｋ）とをビット単位で比較し、ビットパターンＨ（ｋ）において「１」の値のビットと同じ順位のビットが、ビットパターンＷにおいても全て「１」の値であるか否かを判断し、比較の結果をフィルタ処理部９１２に送信する。
【０２８９】
すると、メールフィルタサーバ９１０は、フィルタ処理部９１２において、比較の結果が「ビットパターンＨ（ｋ）において「１」の値のビットと同じ順位のビットが、ビットパターンＷにおいて全て「１」の値である」との結果である場合には（ステップＳ３０１４肯定）、転送可否は「転送可」であると判断する（ステップＳ３０１７ａ）。
【０２９０】
一方、メールフィルタサーバ９１０は、フィルタ処理部９１２において、比較の結果が「ビットパターンＨ（ｋ）において「１」の値のビットと同じ順位のいずれかのビットが、ビットパターンＷにおいて「１」の値ではない」との結果である場合には（ステップＳ３０１４否定）、次に、ユーザＩＤ（ｕ）に対応する有効ワードリストを、有効ワードテーブル９３２から取得する（ステップＳ３０１５）。
【０２９１】
続いて、メールフィルタサーバ９１０は、フィルタ処理部９１２において、取得した有効ワードリスト中の要素を「ｗ」とし、キーワード（ｋ）に含まれる「ｗ」があるか否か（有効ワードのいずれかがキーワード（ｋ）に部分一致するか否か）を判断する（ステップＳ３０１６）。
【０２９２】
判断の結果、キーワード（ｋ）に含まれる「ｗ」がある場合には（ステップＳ３０１６肯定）、メールフィルタサーバ９１０は、フィルタ処理部９１２において、転送可否は「転送可」であると判断するとともに、キーワード（ｋ）を開示ワードテーブル９３３に登録することを目的として、キーワードをワード登録サーバ９２０に送信するなどする（ステップＳ３０１７ｂ）。
【０２９３】
一方、判断の結果、キーワード（ｋ）に含まれる「ｗ」がない場合には（ステップＳ３０１６否定）、メールフィルタサーバ９１０は、フィルタ処理部９１２において、転送可否は「転送不可」であると判断する（ステップＳ３０１７ｃ）。
【０２９４】
このようにして、実施例６に係るメッセージ転送システムは、利用者にとってメッセージアドレスの管理負担が少なく、かつ、メッセージアドレスが漏洩した場合に漏洩元の特定を容易にするとともに漏洩したメッセージアドレスだけを簡単に無効とすることが可能なメッセージシステムにおいて、メッセージアドレスに含まれるキーワード（開示ワード）の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際にキーワード（開示ワード）を検索する効率を低下させず、ひいては、キーワード（開示ワード）の登録数を制限させないことが可能になる。
【０２９５】
［実施例６の効果］
上記してきたように、実施例６によれば、利用者を識別する利用者情報とキーワードとを含むメッセージアドレスを宛先とするメッセージの転送を制御するメッセージ転送システムであって、利用者情報と一つ以上の有効ワードとを対応づけて保持し、０および１の値から成るあるビット数のビットパターンと利用者情報とを対応づけて保持し、メッセージアドレスを宛先とするメッセージを受信した際に、保持された有効ワードのうち、メッセージアドレスに含まれる利用者情報に対応する一つ以上の有効ワードのそれぞれをメッセージアドレスに含まれるキーワードと比較して有効ワードのいずれかがキーワードに部分的に一致する場合には、キーワードから所定のビット数のビットパターンを所定の関数によって算出し、保持されたビットパターンと算出されたビットパターンとをビット単位にＯＲ演算することで得られる結果のビットパターンによって、保持されたビットパターンを置き換えて登録し、メッセージアドレスを宛先とするメッセージを受信した際に、メッセージアドレスに含まれるキーワードから所定のビット数のビットパターンを所定の関数によって算出し、メッセージアドレスを宛先とするメッセージを受信した際に、保持された有効ワードのうち、メッセージアドレスに含まれる利用者情報に対応する一つ以上の有効ワードのそれぞれをメッセージアドレスに含まれるキーワードと比較して有効ワードのいずれかがキーワードに部分的に一致する場合、または、保持されたビットパターンと算出されたビットパターンとをビット単位で比較して算出されたビットパターンにおいて１の値のビットと同じ順位のビットが保持されたビットパターンにおいて全て１の値である場合には、メッセージを転送するように制御するので、利用者にとってメッセージアドレスの管理負担が少なく、かつ、メッセージアドレスが漏洩した場合に漏洩元の特定を容易にするとともに漏洩したメッセージアドレスだけを簡単に無効とすることが可能なメッセージシステムにおいて、メッセージアドレスに含まれるキーワード（開示ワード）の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際にキーワード（開示ワード）を検索する効率を低下させず、ひいては、キーワード（開示ワード）の登録数を制限させないことが可能になる。
【０２９６】
すなわち、実施例６に係るメッセージ転送システムによれば、キーワード（開示ワード）が、所定のビット数のビットパターンに置き換えられることによって登録される（ひとつのビットパターンにキーワード（開示ワード）が重ねて登録される）ことから、キーワード（開示ワード）の登録数に比例して、キーワード（開示ワード）の登録に利用される記憶領域を増大させることはない。また、キーワード（開示ワード）の登録に利用する記憶領域を増大させないので、メッセージ転送の許否を判断する際にキーワード（開示ワード）を検索する記憶領域を増大させることもないことから、キーワード（開示ワード）を検索する効率を低下させない。ひいては、記憶領域の増大や、記憶領域の増大に伴う検索効率の低下を回避する必要もないことから、キーワード（開示ワード）の登録数を制限させない。
【実施例７】
【０２９７】
ところで、これまで実施例１〜６に係るメッセージ転送システムについて説明したが、本発明は上記した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、実施例７に係るメッセージ転送システムとして、異なる実施例を説明する。
【０２９８】
上記の実施例２においては、利用者がメッセージの転送を拒否する発信元の発信元情報（ブラックリスト）を保持して併用することで、一度登録した発信元情報についても、メッセージの転送を許可しないように制御する手法を説明したが、本発明はこれに限られるものではなく、例えば、メッセージ転送システムが、利用者がメッセージの転送を許可する発信元の発信元情報を別途他の記憶領域にリスト（ひとつのビットパターンに発信元情報が重ねて登録されない）として保持し、発信元情報の新たな登録や削除が行われる都度、このリストに新たな登録や削除を行った上で再度ビットパターンを算出し（ひとつのビットパターンに発信元情報が重ねて登録される）、算出されたビットパターンをメッセージ転送システムに保持する手法などにも、本発明を同様に適用することができる。
【０２９９】
［システム構成等］
また、上記の実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理（例えば、利用者端末が許可アドレス登録要求を送信することによって発信元情報を登録するなど）の全部または一部を公知の方法で自動的におこなう（例えば、利用者端末が返信したメッセージに含まれる発信元情報を登録したり、利用者端末が発信したメッセージに含まれる発信元情報を登録するなど）こともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０３００】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示（例えば、図２など）の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる（例えば、データ管理サーバ１３０と許可発信者登録サーバ１２０とを統合して構成するなど）。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０３０１】
なお、上記の実施例で説明したメッセージ転送方法（例えば、図６など）は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【産業上の利用可能性】
【０３０２】
以上のように、本発明に係るメッセージ転送システムおよびメッセージ転送プログラムは、メッセージに含まれる発信元情報に基づいて、利用者に対するメッセージの転送を制御することに有用であり、特に、メッセージ転送システムにおいて、発信元情報の登録に利用される記憶領域を増大させず、また、メッセージ転送の許否を判断する際に発信元情報を検索する効率を低下させず、ひいては、発信元情報の登録数を制限させないことに適する。
【図面の簡単な説明】
【０３０３】
【図１】実施例１に係るメッセージ転送システムの概要および特徴を説明するための図である。
【図２】実施例１に係るメッセージ転送システムの構成を示すブロック図である。
【図３】ビットパターン算出部を説明するための図である。
【図４】データ管理サーバのビットパターンテーブルを説明するための図である。
【図５】発信元情報をメッセージ転送システムに登録する処理の手順を示すシーケンス図である。
【図６】登録された発信元情報に基づいてメッセージの転送を制御する処理の手順を示すシーケンス図である。
【図７】メールフィルタサーバにおける処理の手順を示すフロー図である。
【図８】実施例２におけるデータ管理サーバを説明するための図である。
【図９】禁止アドレステーブルを説明するための図である。
【図１０】メールフィルタサーバにおける処理の手順を示すフロー図である。
【図１１】ビットパターンテーブルを説明するための図である。
【図１２】発信元情報をメッセージ転送システムに登録する処理の手順を示すシーケンス図である。
【図１３】メールフィルタサーバおよび許可発信者登録サーバにおける処理の手順を示すフロー図である。
【図１４】ビットパターンテーブルにおける周期の経過に伴う処理の手順を示すフロー図である。
【図１５】実施例４に係るメッセージ転送システムの構成を示すブロック図である。
【図１６】データ管理サーバのビットパターンテーブルを説明するための図である。
【図１７】発信元情報をメッセージ転送システムに登録する処理の手順を示すシーケンス図である。
【図１８】登録された発信元情報に基づいてメッセージの転送を制御する処理の手順を示すシーケンス図である。
【図１９】ＩＰ電話接続制御サーバにおける処理の手順を示すフロー図である。
【図２０】ＩＰ電話接続制御サーバの構成を示すブロック図である。
【図２１】同意確認送信先保持部を説明するための図である。
【図２２】発信元情報をメッセージ転送システムに登録する処理の手順を示すシーケンス図である。
【図２３】キーワードアドレスを宛先とするメッセージ転送の仕組みを説明するための図である。
【図２４】実施例６に係るメッセージ転送システムの特徴を説明するための図である。
【図２５】実施例６に係るメッセージ転送システムの構成を示すブロック図である。
【図２６】実アドレステーブルを説明するための図である。
【図２７】有効ワードテーブルを説明するための図である。
【図２８】開示ワードテーブルを説明するための図である。
【図２９】開示ワードをメッセージ転送システムに登録する処理の手順を示すシーケンス図である。
【図３０】メールフィルタサーバにおける処理の手順を示すフロー図である。
【符号の説明】
【０３０４】
１００  ＬＡＮ
１１０  メールフィルタサーバ
１１１  メール通信部
１１２  フィルタ処理部
１１３  ビットパターン算出部
１１４  ビットパターン比較部
１２０  許可発信者登録サーバ
１２１  ＨＴＴＰ通信部
１２２  許可発信者登録処理部
１２３  ビットパターン算出部
１３０  データ管理サーバ
１３１  ビットパターンテーブル
１４０  利用者Ａメールサーバ
１４１  ＳＭＴＰ／ＰＯＰ通信部
１４２  メール蓄積部
２２０  利用者Ａ端末
２３０  利用者Ａ
２４０  利用者Ａ  ＩＰ網
３１０  利用者Ｂメールサーバ
３２０  利用者Ｂ端末
３３０  利用者Ｂ
３４０  利用者Ｂ  ＩＰ網
４００  インターネット
【図１】
2008070961.tif 000003
【図２】
2008070961.tif 000004
【図３】
2008070961.tif 000005
【図４】
2008070961.tif 000006
【図５】
2008070961.tif 000007
【図６】
2008070961.tif 000008
【図７】
2008070961.tif 000009
【図８】
2008070961.tif 000010
【図９】
2008070961.tif 000011
【図１０】
2008070961.tif 000012
【図１１】
2008070961.tif 000013
【図１２】
2008070961.tif 000014
【図１３】
2008070961.tif 000015
【図１４】
2008070961.tif 000016
【図１５】
2008070961.tif 000017
【図１６】
2008070961.tif 000018
【図１７】
2008070961.tif 000019
【図１８】
2008070961.tif 000020
【図１９】
2008070961.tif 000021
【図２０】
2008070961.tif 000022
【図２１】
2008070961.tif 000023
【図２２】
2008070961.tif 000024
【図２３】
2008070961.tif 000025
【図２４】
2008070961.tif 000026
【図２５】
2008070961.tif 000027
【図２６】
2008070961.tif 000028
【図２７】
2008070961.tif 000029
【図２８】
2008070961.tif 000030
【図２９】
2008070961.tif 000031
【図３０】
2008070961.tif 000032