(57)【特許請求の範囲】
【請求項１】
優先度の高いＩＰパケットであるプレミアパケットを送信する端末装置と、受信したＩＰパケットから前記プレミアパケットを識別するプレミアパケット識別装置とを備えるプレミアパケット識別システムに用いられるプレミアパケット識別装置であって、
１以上のパターンのビットマスクを示したマスクパターンテーブルを格納する記憶部と、
ＩＰパケットの入出力を行う入出力部と、
前記入出力部経由で、前記ＩＰパケットを受信し、前記受信したＩＰパケットのヘッダに含まれるビットマスクのパターンの識別番号をキーとして、前記マスクパターンテーブルから選択したビットマスクにおける所定領域のビット列と、前記ＩＰパケットのペイロードにおける所定領域のビット列との論理積演算処理を行い、前記演算処理結果の値が、前記受信したＩＰパケットのヘッダに含まれる演算処理結果の値と同じだったとき、前記ＩＰパケットをプレミアパケットとして識別し、前記プレミアパケットとして識別したＩＰパケットを優先的に処理する処理部と、
を備えることを特徴とするプレミアパケット識別装置。
【請求項２】
前記処理部によるＩＰパケットの優先的な処理は、
前記プレミアパケットとして識別したＩＰパケットのＴＯＳ（Type of Service）フィールド、またはＴｒａｆｆｉｃＣｌａｓｓフィールドの値を優先度の高い値に書き換え、前記値を書き換えたＩＰパケットを前記入出力部経由でネットワークへ転送する処理であることを特徴とする請求項１に記載のプレミアパケット識別装置。
【請求項３】
優先度の高いＩＰパケットであるプレミアパケットを送信する端末装置と、受信したＩＰパケットから前記プレミアパケットを識別するプレミアパケット識別装置とを備えるプレミアパケット識別システムに用いられる端末装置であって、
ＩＰパケットの入出力を行う入出力部と、
前記プレミアパケット識別装置に格納される第１のマスクパターンテーブルと同じ１以上のパターンのビットマスクを示した第２のマスクパターンテーブルを格納する記憶部と、
前記第２のマスクパターンテーブルから選択したビットマスクにおける所定領域のビット列と、前記ＩＰパケットのペイロードにおける所定領域のビット列との論理積演算処理を行い、前記演算処理結果の値と、前記演算処理に用いたビットマスクのパターンの識別番号とをヘッダに書き込んだＩＰパケットを、前記入出力部経由で前記プレミアパケット識別装置へ送信するパケット作成処理部と、
を備えることを特徴とする端末装置。
【請求項４】
前記パケット作成処理部は、
前記演算処理結果の値と、前記演算処理に用いたビットマスクのパターンの識別番号とを、前記ＩＰパケットのヘッダのＴＯＳ（Type of Service）フィールド、Ｔｒａｆｆｉｃ Ｃｌａｓｓフィールド、またはＦｌｏｗＬａｂｅｌフィールドに書き込むことを特徴とする請求項３に記載の端末装置。
【請求項５】
請求項１または請求項２に記載のプレミアパケット識別装置および請求項３または請求項４に記載の端末装置を備えることを特徴とするプレミアパケット識別システム。
【請求項６】
受信したＩＰパケットから優先度の高いＩＰパケットであるプレミアパケットを識別するプレミアパケット識別方法であって、
ＩＰパケットの入出力を行う入出力部と、１以上のパターンのビットマスクを示したマスクパターンテーブルを格納する記憶部と、前記マスクパターンテーブルを参照してプレミアパケットの識別を行い、前記プレミアパケットとして識別したＩＰパケットを優先的に処理する処理部とを備えるプレミアパケット識別装置が、
前記入出力部経由で、ビットマスクのパターンの識別番号と、このビットマスクおよび自身のＩＰパケットのペイロードのビット列を用いた演算処理結果の値とをヘッダに含むＩＰパケットを受信するステップと、
前記受信したＩＰパケットのヘッダに含まれるビットマスクのパターンの識別番号をキーとして、前記マスクパターンテーブルから選択したビットマスクにおける所定領域のビット列と、前記受信したＩＰパケットのペイロードにおける所定領域のビット列との論理演算処理を行うステップと、
前記演算処理結果の値が、前記受信したＩＰパケットのヘッダに含まれる演算処理結果の値と同じだったとき、前記受信したＩＰパケットをプレミアパケットとして識別するステップと、
前記プレミアパケットとして識別したＩＰパケットを優先的に処理するステップと、
を実行することを特徴とするプレミアパケット識別方法。
【請求項７】
前記ＩＰパケットを優先的に処理するステップは、
前記プレミアパケットとして識別したＩＰパケットのＴＯＳ（Type of Service）フィールド、またはＴｒａｆｆｉｃＣｌａｓｓフィールドの値を優先度の高い値に書き換え、前記値を書き換えたＩＰパケットをネットワークへ転送するステップであることを特徴とする請求項６に記載のプレミアパケット識別方法。
【請求項８】
優先度の高いＩＰパケットであるプレミアパケットを送信する端末装置と、受信したＩＰパケットから前記プレミアパケットを識別するプレミアパケット識別装置とを用いたプレミアパケット識別方法であって、
ＩＰパケットの入出力を行う入出力部と、前記プレミアパケット識別装置に格納される第１のマスクパターンテーブルと同じ１以上のパターンのビットマスクを示した第２のマスクパターンテーブルを格納する記憶部と、前記第２のマスクパターンテーブルを参照してプレミアパケットの作成を行うパケット作成処理部とを備える端末装置が、
前記第２のマスクパターンテーブルから、ビットマスクを選択するステップと、
前記選択したビットマスクにおける所定領域のビット列と、プレミアパケットとして送信するＩＰパケットのペイロードのビット列における所定領域のビット列との論理積演算処理を行うステップと、
前記演算処理に用いたビットマスクのパターンの識別番号と、前記演算処理結果の値とをヘッダに書き込んだＩＰパケットを、前記入出力部経由で前記プレミアパケット識別装置へ送信するステップと、
を実行し、
ＩＰパケットの入出力を行う入出力部と、前記第１のマスクパターンテーブルを格納する記憶部と、前記マスクパターンテーブルを参照してプレミアパケットの識別を行い、前記プレミアパケットとして識別したＩＰパケットを優先的に処理する処理部とを備えるプレミアパケット識別装置が、
前記入出力部経由でＩＰパケットを受信するステップと、
前記受信したＩＰパケットのヘッダに含まれるビットマスクのパターンの識別番号をキーとして、前記第１のマスクテーブルパターンテーブルから選択したビットマスクにおける所定領域のビット列と、前記受信したＩＰパケットのペイロードにおける所定領域のビット列との論理積演算処理を行うステップと、
前記演算処理結果の値が、前記受信したＩＰパケットのヘッダに含まれる演算処理結果の値と同じだったとき、前記受信したＩＰパケットをプレミアパケットとして識別するステップと、
前記プレミアパケットとして識別したＩＰパケットを優先的に処理するステップと、
を実行することを特徴とするプレミアパケット識別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プレミアパケット識別装置、端末装置、プレミアパケット識別システムおよびプレミアパケット識別方法に関する。
【背景技術】
【０００２】
従来から、ＩＰ（Internet Protocol）ネットワークでは、ＤｉｆｆＳｅｒｖ（非特許文献１参照）を利用し、ＩＰパケットに優先付けをすることで、プレミアパケットサービスの契約者のＩＰパケットと非契約者のＩＰパケットとを識別し、プレミアパケットサービスの契約者からのＩＰパケットを優先制御する技術がある。
【０００３】
このＤｉｆｆＳｅｒｖでは、ＩＰパケットの送信側のノードが、ＩＰｖ４（Internet Protocol version 4）のＩＰパケットにおけるヘッダのＴＯＳ（Type of Service）フィールド、またはＩＰｖ６（Internet Protocol version 6）のＩＰパケットのヘッダのＴｒａｆｆｉｃ Ｃｌａｓｓフィールドに、当該ＩＰパケットの優先度を示す値を入れて送信する。そして、このＩＰパケットの経路制御（転送制御）を行うルータは、このＴＯＳフィールドまたはＴｒａｆｆｉｃ Ｃｌａｓｓフィールドの値を参照して、当該ＩＰパケットは優先制御されるべきＩＰパケット（プレミアパケット）であるか否かの識別を行う。
【非特許文献１】「RFC2474：Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers」、［online］、［平成17年6月3日検索］、インターネット、<URL：http://www.ietf.org/rfc/rfc2474.txt>
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、ＩＰパケットのＴＯＳフィールドやＴｒａｆｆｉｃ Ｃｌａｓｓフィールドの値は、第三者が容易に書き換え可能なので、例えば、プレミアパケットサービスの非契約者がＩＰパケットのＴＯＳフィールドに優先制御を行うような値を書き込んで、ＩＰパケットの詐称を行う可能性がある。つまり、プレミアパケットサービスの非契約者がＩＰパケットを詐称して、プレミアパケットサービスを受ける可能性がある。
【０００５】
本発明は、前記した問題を解決し、プレミアパケットサービスの契約者の端末装置から送信されたプレミアパケットを識別するプレミアパケット識別装置等を提供することを課題とする。
【課題を解決するための手段】
【０００６】
前記した課題を解決するため、本発明は、優先度の高いＩＰパケットであるプレミアパケットを送信する端末装置と、受信したＩＰパケットから前記プレミアパケットを識別するプレミアパケット識別装置とを備えるプレミアパケット識別システムに用いられるプレミアパケット識別装置が、１以上のパターンのビットマスクを示したマスクパターンテーブルを格納する記憶部と、ＩＰパケットの入出力を行う入出力部と、前記入出力部経由で、前記ＩＰパケットを受信し、前記受信したＩＰパケットのヘッダに含まれるビットマスクのパターンの識別番号をキーとして、前記マスクパターンテーブルから選択したビットマスクにおける所定領域のビット列と、前記ＩＰパケットのペイロードにおける所定領域のビット列との論理積演算処理を行い、前記演算処理結果の値が、前記受信したＩＰパケットのヘッダに含まれる演算処理結果の値と同じだったとき、前記ＩＰパケットをプレミアパケットとして識別し、前記プレミアパケットとして識別したＩＰパケットを優先的に処理する処理部とを備える構成とした。その他の構成については、後記する実施の形態で述べる。
【発明の効果】
【０００７】
本発明によれば、プレミアパケットサービスの契約者の端末装置は、プレミアパケット識別装置のマスクパターンテーブルと同じマスクパターンテーブルに基づきＩＰパケットを作成し、送信する。したがって、プレミアパケット識別装置は、自身のマスクパターンテーブルを参照することで、受信したＩＰパケットが真のプレミアパケットサービスの契約者の端末装置からのＩＰパケット（プレミアパケット）であるか否かを識別することができる。つまり、不正に第三者にプレミアパケットの詐称がされるのを防止できる。
また、本発明のプレミアパケット識別装置は、真のプレミアパケット（詐称されていないプレミアパケット）のＴＯＳフィールド、またはＴｒａｆｆｉｃ Ｃｌａｓｓフィールドの値を優先度の高い値に書き換えるので、プレミアパケット識別装置は、真のプレミアパケットの優先制御を行うことができる。
【０００８】
さらに、従来、ルータ等によるプレミアパケットの識別は、クライアント側のノード（端末装置）のＩＰアドレスを参照して行っていたが、本発明のプレミアパケット識別装置によれば、ＩＰパケットのＴＯＳフィールド、Ｔｒａｆｆｉｃ Ｃｌａｓｓフィールド、またはＦｌｏｗ Ｌａｂｅｌフィールドの値を参照して識別することができる。つまり、ＩＰアドレスに頼らずプレミアパケットの識別をすることができる。
【発明を実施するための最良の形態】
【０００９】
図面を参照しながら本発明を実施するための最良の形態（以下、実施の形態とする）について説明する。
【００１０】
《第１の実施の形態》
まず、本発明の第１の実施の形態を説明する。第１の実施の形態は、ネットワークに接続するルータ（請求項におけるプレミアパケット識別装置）が、ノード（端末装置）から受信したＩＰパケットについてプレミアパケットであるか否かの識別を行うことを特徴とする。なお、本実施の形態におけるプレミアパケット（プレミアＩＰパケット）とは、ネットワークに接続されたノード（ルータやサーバ）が、他のＩＰパケットよりも優先的に処理する等、他のＩＰパケットとは異なる処理を行うＩＰパケットのことをいう。また、以下の説明において、ＩＰパケットは、適宜パケットと略す。
【００１１】
（全体構成）
図１を用いて第１の実施の形態のプレミアパケット識別システムの全体構成を説明する。図１は、第１の実施の形態のプレミアパケット識別システムの全体構成を示した図である。本実施の形態のプレミアパケット識別システムは、端末装置１０,２０と、インターネットやＬＡＮ（Local Area Network）等のネットワーク７００と、端末装置１０,２０およびネットワーク７００を接続するルータ２００とを含んで構成される。なお、端末装置１０,２０とルータ２００とは、ＬＡＮ等の伝送路により接続され、端末装置１０,２０およびルータ２００は、この伝送路経由でデータ（パケット３００）の送受信を行う。また、端末装置１０,２０は、図１に示す台数に限定されるものではない。
【００１２】
端末装置１０,２０は、ＰＣ（Personal Computer）等のコンピュータであり、ルータ２００およびネットワーク７００経由で通信を行う。
端末装置１０は、プレミアパケットサービスの契約者の端末装置であり、ルータ２００に格納されているビットマスクパターンテーブル（マスクパターンテーブル）２３３と同じマスクパターンテーブル１３３が格納されている。このマスクパターンテーブル１３３は、プレミアパケットのヘッダに書き込む値の演算に用いるビットマスクと、そのビットマスクのパターン番号とを示したものである。
端末装置２０は、プレミアパケットサービスの非契約者の端末装置であり、マスクパターンテーブル１３３は格納していない。ここでは、端末装置１０が送信するプレミアパケットをパケット３００Ａとし、端末装置２０が送信するパケットをパケット３００Ｂとする。
なお、マスクパターンテーブル２３３は、請求項における第１のマスクパターンテーブルに相当し、マスクパターンテーブル１３３は、請求項における第２のマスクパターンテーブルに相当する。
【００１３】
この端末装置１０が、パケット３００Ａを送信する際には、マスクパターンテーブル１３３から任意のビットマスクを選択し、このビットマスクと、送信対象であるパケット３００Ａのペイロードのビット列とを用いて演算処理を行う。このときの演算処理は、例えば、パケット３００Ａのペイロードのビット列と、ビットマスクのビット列との論理積である。そして、端末装置１０は、パケット３００Ａのヘッダに、選択したビットマスクのパターンの識別番号（パターン番号）と、演算処理結果の値とを書き込んで、ルータ２００へ送信する。このときのパケット３００Ａ（プレミアパケット）の送信手順の詳細は、図面を用いて後記する。
【００１４】
ルータ２００は、端末装置１０,２０から送信されたパケット３００（３００Ａ,Ｂ）をネットワーク７００へ転送する。このとき、ルータ２００は、自身が格納するマスクパターンテーブル２３３と、端末装置１０,２０から送信されたパケット３００のヘッダ情報とを参照して、このパケット３００がプレミアパケットであるか否かを判断（識別）する。ここで、ルータ２００が、パケット３００をプレミアパケットと判断したときは、このパケット３００に対し優先制御を行う。一方、ルータ２００が、パケット３００をプレミアパケットではないと判断したときは、このパケット３００に対し優先制御を行わない。なお、このときの優先制御は、例えば、ルータ２００が、パケット３００のＴＯＳフィールド、またはＴｒａｆｆｉｃ Ｃｌａｓｓフィールドの値を優先度の高い値に書き換えることが考えられる。
【００１５】
このようにルータ２００がパケット３００の優先制御を行うためには、パケット３００を送信する端末装置がルータ２００と同じマスクパターンテーブル１３３を備えることが条件となる。したがって、このマスクパターンテーブル１３３を備えない非契約者の端末装置はプレミアパケットの詐称を行うことができなくなる。
【００１６】
（端末装置）
次に、図１を参照しつつ、図２を用いて端末装置１０の構成を説明する。図２（ａ）は、図１のプレミアパケットサービスの契約者の端末装置のハードウェア構成を示したブロック図であり、（ｂ）は、（ａ）の端末装置を機能展開して示したブロック図である。
【００１７】
図２（ａ）に示すように端末装置１０は、演算処理部であるＣＰＵ（Central Processing Unit）１１０と、このＣＰＵ１１０が演算処理に用いる記憶部であるメインメモリ１２０と、ＣＰＵ１１０が演算処理に用いる各種データを格納する記憶部１３０と、図１のルータ２００との通信インタフェースであるネットワークインタフェース１４０と、入出力インタフェース１５０とを備える。この入出力インタフェース１５０は、端末装置１０に接続されるキーボードやマウス等の入力装置からの入力を受け付け、ＣＰＵ１１０、メインメモリ１２０、記憶部１３０等に受け渡す。また、入出力インタフェース１５０は、ＣＰＵ１１０から出力された各種データを、液晶モニタ等の出力装置へ出力する。メインメモリ１２０は、ＲＡＭ（Random Access Memory）等により実現され、記憶部１３０はハードディスク装置等により実現される。
【００１８】
記憶部１３０は、端末装置１０が通信を行うための通信プログラム１３１と、プレミアパケット作成プログラム１３２とを格納する。また、所定領域にマスクパターンテーブル１３３を備える。このマスクパターンテーブル１３３は、ビットマスクのパターン番号（パターンの識別情報）ごとに、ビットマスク（「１」と「０」のデータの組み合わせ）を記録したテーブルである。
【００１９】
このプレミアパケット作成プログラム１３２やマスクパターンテーブル１３３は、ネットワーク７００やコンピュータに読み取り可能な記憶媒体により、端末装置１０へ配布される。そして、このプレミアパケット作成プログラム１３２やマスクパターンテーブル１３３は、ネットワークインタフェース１４０や入出力インタフェース１５０経由で記憶部１３０に記憶される。
【００２０】
ＣＰＵ１１０は、記憶部１３０の通信プログラム１３１、プレミアパケット作成プログラム１３２およびマスクパターンテーブル１３３をメインメモリ１２０上に読み出し、パケット３００Ａを作成する。そして、作成したパケット３００Ａをネットワークインタフェース１４０経由でルータ２００へ送信する。
【００２１】
次に、端末装置１０の機能を説明する。図２（ｂ）に示すように、端末装置１０の機能は、記憶部１３０と、処理部１６０と、入出力部１７０とに分けられる。
【００２２】
記憶部１３０は、マスクパターンテーブル１３３を格納する。処理部１６０は、パケット作成処理部４１０を備え、マスクパターンテーブル１３３のビットマスクを参照してプレミアパケット（パケット３００Ａ）を作成し、このパケット３００Ａを入出力部１７０経由で、図１のルータ２００へ送信する。このパケット作成処理部４１０は、ＣＰＵ１１０が通信プログラム１３１およびプレミアパケット作成プログラム１３２を実行することにより実現される。入出力部１７０は、端末装置１０に接続された入力装置および出力装置や、ルータ２００との間におけるデータ入出力を司る。この入出力部１７０は、ネットワークインタフェース１４０や入出力インタフェース１５０により実現される。
【００２３】
（プレミアパケットの作成手順）
ここで、図３を用いて、図２（ｂ）のパケット作成処理部４１０がプレミアパケットを作成する手順を説明する。図３は、図２（ｂ）のパケット作成処理部がプレミアパケットを作成する手順を説明した図である。
【００２４】
ここで、パケット作成処理部４１０は、ＩＰｖ４のパケット３００を作成するものとする。また、パケット作成処理部４１０が、プレミアパケットを作成するときは、選択したビットマスクのパターン番号を、パケット３００のＴＯＳフィールド（８ビット）の上位４ビットに書き込み、選択したビットマスクによる演算処理結果の値を、ＴＯＳフィールドの下位４ビットに書き込むものとする。本実施の形態では、ビットマスクのパターン番号を書き込む領域をマスクパターンフィールドと呼び、選択したビットマスクによる演算処理結果の値を書き込む領域を演算処理結果フィールドと呼ぶ。また、マスクパターンフィールドと演算処理結果フィールドとをあわせて識別フィールドと呼ぶ。
【００２５】
まず、パケット作成処理部４１０は、入出力部１７０等からプレミアパケットの作成命令を受けると、マスクパターンテーブル１３３からビットマスクを選択する（Ｓ３０１）。ここでのビットマスクの選択は任意のものでよい。
【００２６】
このマスクパターンテーブル１３３には、ビットマスクのパターン番号ごとに、マスクパターンフィールドで表現可能なパターン数のビットマスクが格納される。ここでは、パケット３００のマスクパターンフィールドを４ビットとしているので、マスクパターンテーブル１３３には、２4＝１６パターンのビットマスクが格納される。また、各ビットマスクには、ビット（「１」）が含まれている。ビット（「１」）の個数は、演算処理結果フィールドで表現可能な個数である。ここでは、演算処理結果フィールドを４ビットとしているので、「１」を２4＝１６個含むビットマスクが格納される。つまり、マスクパターンテーブル１３３は、「１」を１６個含むビットマスクを１６パターン格納している。
例えば、図３のマスクパターンテーブル１３３において、ビットマスクのパターン番号が「４」のビットマスクは「１１１０１０１０１０１０１０００１１１０００１１１１１０００」である。なお、ビットマスク全体の桁数（ビット数）は、ここでは３０桁（３０ビット）としているが、これに限定されない。
【００２７】
例えば、パケット作成処理部４１０が、ビットマスクのパターン番号「４」のビットマスクを選択したとき、このビットマスクと、送信対象のパケット３００Ａのペイロードのビット列とを用いて演算処理を行う。ここでは、ビットマスクと、送信対象のパケット３００Ａのペイロードのビット列との論理積をとる。そして、この論理積の結果、「１」となったビットの数を数える（Ｓ３０２）。すなわち、パケット３００Ａのペイロードのビット列とビットマスクのパターン番号「４」のビットマスクとの論理積の結果、「１０００１０１０１０１０１０００１１００００００１１１０００」となった場合、「１」となったビットの数は「１１（個）」となる。
そして、パケット作成処理部４１０は、ビットマスクのパターン番号「４」と、論理積の結果、「１」となったビットの数「１１」とをパケット３００のＴＯＳフィールドに書き込み、プレミアパケット（パケット３００Ａ）を作成する（Ｓ３０３）。そして、このパケット３００Ａを入出力部１７０経由で、ルータ２００へ送信する（Ｓ３０４）。
【００２８】
なお、パケット作成処理部４１０が演算処理に用いるパケット３００Ａのペイロードのビット列は、ペイロードの一部（所定領域）のビット列でもよいし、全部のビット列でもよい。
ちなみに、端末装置１０（およびルータ２００）が、パケット３００のペイロードの一部（所定領域）のビット列を用いて演算処理を行うときには、その演算処理に用いる領域（例えば、３０ビット分）はビット列中のどの領域かを、各ノード（端末装置１０およびルータ２００）との間で決めておく。そして、端末装置１０の記憶部１３０に、演算処理に用いる領域がビット列中のどの領域かに関する情報を格納しておき、同じ情報をルータ２００の記憶部２３０にも格納しておく。そして、端末装置１０およびルータ２００はこの情報を参照して、演算処理に用いるビット列の領域を同じ領域にする。
【００２９】
図４（ａ）は、ＩＰｖ４のプレミアパケットの構成を例示した図であり、（ｂ）〜（ｄ）は、ＩＰｖ６のプレミアパケットの構成を例示した図である。
前記した説明では、パケット作成処理部４１０が、図４（ａ）に示すように、ＩＰｖ４のパケット３００のＴＯＳフィールド（８ビット）にビットマスクのパターン番号と、演算処理結果とを書き込む場合を例に説明したが、これに限定されない。
【００３０】
例えば、端末装置１０がＩＰｖ６のパケット３００を送信する場合には、パケット作成処理部４１０は、ＩＰｖ６のパケット３００のＴｒａｆｆｉｃ Ｃｌａｓｓフィールド（８ビット）、Ｆｌｏｗ Ｌａｂｅｌフィールド（２０ビット）、あるいはＴｒａｆｆｉｃ Ｃｌａｓｓフィールド（８ビット）とＦｌｏｗ Ｌａｂｅｌフィールド（２０ビット）とをあわせたフィールド（２８ビット）に、ビットマスクのパターン番号と、演算処理結果とを書き込むようにする（図４（ｂ）,（ｃ）,（ｄ）参照）。例えば、図４（ｃ）に示すように、マスクパターンフィールドおよび演算結果フィールドとして、それぞれＦｌｏｗ Ｌａｂｅｌフィールド（２０ビット）の１０ビットずつ割り振った場合には、ビットマスクは全部で２10＝１０２４パターン用いることができ、演算処理結果も最大１０２４まで書き込むことができる。
【００３１】
（ルータ）
続いて、図１〜図４を参照しつつ、図５を用いてルータ２００の構成を説明する。図５（ａ）は、図１のルータのハードウェア構成を示したブロック図であり、（ｂ）は、（ａ）のルータを機能展開して示したブロック図である。
【００３２】
図５（ａ）に示すようにルータ２００は、演算処理部であるＣＰＵ２１０と、ＣＰＵ２１０が演算処理に用いる各種データを格納する記憶部２３０と、図１の端末装置１０やネットワーク７００との通信インタフェースであるネットワークインタフェース２４０とを備える。
【００３３】
この記憶部２３０は、ＣＰＵ２１０が受信したパケット３００の転送制御を行うための転送制御プログラム２３１およびルーティングテーブル２３４と、パケット３００がプレミアパケットであるか否かを判断するためのプレミアパケット識別プログラム２３２およびマスクパターンテーブル２３３とを備える。なお、このマスクパターンテーブル２３３は、端末装置１０のマスクパターンテーブル１３３と同じものである。
この記憶部２３０に格納される各種データは、ネットワーク７００、あるいはルータ２００に接続される端末装置（プレミアパケットサービスの事業者の端末装置等）により入力される。
【００３４】
次に、ルータ２００の機能を説明する。図５（ｂ）に示すように、ルータ２００の機能は、記憶部２３０と、処理部２６０と、入出力部２７０とに分けられる。
【００３５】
記憶部２３０は、マスクパターンテーブル２３３と、ルーティングテーブル２３４とを格納する。入出力部２７０は、ネットワーク７００経由でのデータ入出力および端末装置１０,２０との間のデータ入出力を司る。入出力部２７０は、ネットワークインタフェース２４０により実現される。処理部２６０は、プレミアパケットの識別を行うとともに、識別されたプレミアパケットの優先制御（優先的処理）を行う。このため、処理部２６０はプレミアパケット識別部２４１と、転送制御部２４２とを備える。
【００３６】
プレミアパケット識別部２４１は、入出力部２７０経由でパケット３００を受信すると、マスクパターンテーブル２３３のビットマスクを参照して、このパケット３００がプレミアパケットか否かを識別（検証）する。具体的には、プレミアパケット識別部２４１は、以下の機能を有する。
（１）受信したパケット３００のヘッダの識別フィールドの値をチェックし、ビットマスクのパターン番号と、演算結果の値とを読み出す。
（２）読み出したビットマスクのパターン番号に対応するビットマスクを、マスクパターンテーブル２３３から選択する。次に、受信したパケット３００のペイロードのビット列と、選択したビットマスクとを用いて演算処理（例えば、論理積の演算）を行う。そして、その演算結果の値と、パケット３００から読み出した演算結果の値とを比較する。例えば、演算処理が論理積の場合、自身のマスクパターンテーブル２３３から読み出したビットマスクと、パケット３００のペイロードのビット列との論理積で、「１」となったビットの数と、パケット３００から読み出した論理積の値とを比較する。
（３）比較した結果、両者の演算処理結果の値が同じだった場合、そのパケット３００をプレミアパケットと判断する。一方、両者の値が同じではなかった場合、パケット３００はプレミアパケットとは判断しない。
【００３７】
転送制御部２４２は、ルーティングテーブル２３４を参照して、パケット３００（３００Ａ,Ｂ）の転送制御を行う。また、このときの転送制御において、転送制御部２４２は、プレミアパケット識別部２４１によりプレミアパケットと識別されたパケット３００については優先制御（優先的処理）を行う。この優先制御は、例えば、パケット３００のヘッダのＴＯＳフィールド、またはＴｒａｆｆｉｃ Ｃｌａｓｓフィールドの値を、優先度の高い値に書き換えてから、入出力部２７０経由でネットワーク７００へ送信すること等である。
【００３８】
次に、図１〜図５を参照しつつ、図６を用いて端末装置１０およびルータ２００の動作手順を説明する。図６は、図１の端末装置およびルータの動作を示したフローチャートである。
【００３９】
まず、端末装置１０のパケット作成処理部４１０は、入出力部１７０経由で入力された指示入力等に基づき、プレミアパケットの作成を開始する。
【００４０】
入出力部１７０経由で指示入力等を受けたパケット作成処理部４１０は、マスクパターンテーブル１３３からビットマスクを選択する（Ｓ６０１）。
【００４１】
次に、このビットマスクと、パケット３００のペイロードのビット列とを用いて演算処理を行い、プレミアパケット（パケット３００Ａ）を作成する（Ｓ６０２）。
【００４２】
そして、パケット作成処理部４１０は、作成したプレミアパケットを入出力部１７０経由で、ルータ２００へ送信する（Ｓ６０３）。
【００４３】
ルータ２００のプレミアパケット識別部２４１は、入出力部２７０経由で、端末装置１０からパケット３００を受信すると、マスクパターンテーブル２３３を参照して、このパケット３００がプレミアパケットであるか否かを識別する（Ｓ６１１）。このときの識別手順は、前記したとおりである。
【００４４】
次に、転送制御部２４２は、ルーティングテーブル２３４を参照して、受信したパケット３００の転送制御を行う。ここで、パケット３００がプレミアパケットであるときには（Ｓ６１２のＹｅｓ）、転送制御部２４２はこのパケット３００に対し、優先制御を行う（Ｓ６１３）。具体的には、転送制御部２４２は、パケット３００のＴＯＳフィールド、またはＴｒａｆｆｉｃ Ｃｌａｓｓフィールドの値を、優先度の高い値に書き換えてから、入出力部２７０経由でネットワーク７００へ送信する。
【００４５】
一方、受信したパケット３００がプレミアパケットでないときには（Ｓ６１２のＮｏ）、転送制御部２４２は、このパケット３００のＴＯＳフィールド、またはＴｒａｆｆｉｃ Ｃｌａｓｓフィールドの値を優先度の低い値に書き換えて（Ｓ６１４）、入出力部２７０経由でネットワーク７００へ送信する。
【００４６】
以上のようにして、ルータ２００は受信したパケット３００のうち、真のプレミアパケットを識別する。したがって、ルータ２００は、プレミアパケットサービスの真の契約者に対し、パケット３００の優先制御等、プレミアパケットサービスを提供することができる。
【００４７】
なお、図６のＳ６０１において、パケット作成処理部４１０は、プレミアパケットを作成するたびに異なるビットマスクを選択するようにしてもよいし、ルータ２００との通信が終了するまで、同じビットマスクを用いるようにしてもよい。なお、パケット作成処理部４１０が、通信が終了するまで同じビットマスクを用いるようにしても、パケット３００のペイロードのビット列は、パケット３００ごとに異なるので、プレミアパケットが詐称される可能性は極めて低い。また、パケット作成処理部４１０が、プレミアパケットを作成するたびに異なるビットマスクを選択するようにすれば、プレミアパケットが詐称される可能性をさらに低くすることができる。
【００４８】
なお、前記した実施の形態では、転送制御部２４２が、プレミアパケットと識別されたパケット３００のヘッダのＴＯＳフィールド、またはＴｒａｆｆｉｃ Ｃｌａｓｓフィールドの値を、優先度の高い値に書き換え、ネットワーク７００において優先制御されるようにしたが、これに限定されない。
例えば、ルーティングテーブル２３４に、プレミアパケットの転送先のネットワーク（あるいはサーバ８０）の情報を書き込んでおき、転送制御部２４２は、このルーティングテーブル２３４を参照して、プレミアパケットを所定のネットワーク（あるいはサーバ８０）へ転送するようにしてもよい。
【００４９】
このときのプレミアパケット識別システムの構成を、図７を用いて説明する（適宜図１〜図６参照）。図７は、図１のプレミアパケット識別システムの変形例を示した図である。前記した実施の形態と同様の構成要素は同じ符号を付して、説明を省略する。
なお、図７のサーバ８０（８０Ａ,Ｂ）は、ルータ２００経由でネットワーク７００に接続するコンピュータ（例えば、Ｗｅｂサーバ）である。サーバ８０Ａは、プレミアパケットサービスの契約者の端末装置１０から送信されるパケット３００Ａを処理するサーバであり、サーバ８０Ｂは、それ以外のパケット３００（３００Ｂ）を処理するサーバであるとする。
【００５０】
例えば、ルータ２００がプレミアパケットであるパケット３００Ａを受信したときには、図５のルーティングテーブル２３４を参照して、このパケット３００Ａをサーバ８０Ａ（あるいはサーバ８０Ａの属するネットワーク）へ転送する。一方、ルータ２００がプレミアパケット以外のパケット３００Ｂを受信したときには、ルーティングテーブル２３４を参照して、サーバ８０Ｂ（あるいはサーバ８０Ｂの属するネットワーク）へ転送する。つまり、ルータ２００が受信したパケット３００がプレミアパケットか否かを識別して、その結果に応じて、パケット３００の転送先を振り分けるようにする。
【００５１】
このようにすることで、プレミアパケットサービスの契約者の端末装置１０から送信されたパケット３００Ａを、例えば、サービス契約者用のサーバ８０Ａで処理させるようにする等、パケット３００のアクセス先の振り分けや制限を行うことができる。
【００５２】
《第２の実施の形態》
続いて、本発明の第２の実施の形態を説明する。図８は、第２の実施の形態のプレミアパケット識別システムの構成を示した図である。前記した第１の実施の形態と同様の構成要素は同じ符号を付して、説明を省略する。
【００５３】
第２の実施の形態のプレミアパケット識別システムは、第１の実施の形態のルータ２００のかわりに、Ｗｅｂサーバ等のサーバ９０がプレミアパケットの識別を行うことを特徴とする。つまり、端末装置１０は、サーバ９０のマスクパターンテーブル２３３と同じマスクパターン１３３を格納する。そして、サーバ９０（請求項におけるプレミアパケット識別装置）は、マスクパターンテーブル２３３を参照して、端末装置１０,２０から受信したパケット３００（３００Ａ,Ｂ）がプレミアパケットであるか否かの識別を行う。そして、サーバ９０は、プレミアパケットと識別されたパケット３００（３００Ａ）を優先的に処理したり、このプレミアパケットに基づくコマンドに応じて所定の処理を実行したりする。また、サーバ９０は、プレミアパケット以外のパケット３００（３００Ｂ）を受信したときには、このパケット３００（３００Ｂ）には優先的な処理は行わないようにしたり、アクセス制限をしたりしてもよい。なお、端末装置１０,２０およびサーバ９０は、図８に示す台数に限定されない。
【００５４】
（サーバ）
図８を参照しつつ、図９を用いてサーバ９０の構成を説明する。図９（ａ）は、図８のサーバのハードウェア構成を示したブロック図であり、（ｂ）は、（ａ）のサーバを機能展開して示したブロック図である。
【００５５】
サーバ９０は、ＣＰＵ９１０と、メインメモリ９２０と、ＣＰＵ９１０が演算処理に用いる各種データを格納する記憶部９３０と、図８のネットワーク７００との通信インタフェースであるネットワークインタフェース９４０と、入出力インタフェース９５０とを備える。
【００５６】
記憶部９３０は、サーバ９０がネットワーク７００経由で通信を行うための通信プログラム９３１と、プレミアパケット識別プログラム２３２とをマスクパターンテーブル２３３を格納する。なお、このマスクパターンテーブル２３３は、図８の端末装置１０のマスクパターンテーブル１３３と同じものである。この記憶部９３０に格納される各種データは、ネットワーク７００、あるいはサーバ９０に接続される入力装置等により入力される。
【００５７】
このような構成のサーバ９０の機能は、図９（ｂ）に示すように、記憶部９３０と、処理部９６０と、入出力部９７０とに分けられる。
【００５８】
記憶部９３０は、マスクパターンテーブル２３３を格納する。
入出力部９７０は、ネットワーク７００経由でのデータ入出力を司る。この入出力部９７０は、ネットワークインタフェース９４０および入出力インタフェース９５０により実現される。
処理部９６０は、プレミアパケットの識別を行うとともに、このプレミアパケットの優先処理を行う。このため、処理部９６０はプレミアパケット識別部２４１と、パケット処理部９４２とを備える。なお、このプレミアパケット識別部２４１は、第１の実施の形態と同様にマスクパターンテーブル２３３を参照して、受信したパケット３００がプレミアパケットか否かの識別を行う。なお、処理部９６０は、ＣＰＵ９１０が記憶部９３０の各プログラムを実行することにより実現される。
【００５９】
パケット処理部９４２は、プレミアパケット識別部２４１がプレミアパケットと識別したパケット３００（３００Ａ）を他のパケット３００（３００Ｂ）よりも優先的に処理したり、このパケット３００（３００Ａ）により送信されたコマンドに応じて所定の処理を実行したりする。例えば、パケット３００（３００Ａ）によりデータの送信要求がされたときに、その要求に応じて記憶部９３０に格納されるデータを読み出し、端末装置１０へ送信したり、記憶部９３０に格納されるプログラムの起動や実行等を行ったりする。また、プレミアパケット以外のパケット３００Ｂを受信したときには、このパケット３００Ｂにアクセス制限を行い、プレミアパケット（パケット３００Ａ）を受信したときには、アクセス制限を行わないようにしてもよい。
【００６０】
このように、サーバ９０がプレミアパケットの識別を行うようにすることで、真のプレミアパケットサービスの契約者の端末装置１０に、プレミアパケットサービスを提供することができる。つまり、プレミアパケットサービスの非契約者がパケット３００の詐称を行い、プレミアパケットサービスを受けることを防止することができる。
【００６１】
また、前記した実施の形態によれば、ルータ２００やサーバ９０は、パケット３００に含まれる送信元のＩＰアドレスによらず、プレミアパケットサービスの契約者にサービスを提供できる。つまり、プレミアパケットサービスの契約者の端末装置１０の属するネットワークや回線等によらず、契約者にプレミアパケットサービスを提供することができる。
【００６２】
また、前記した実施の形態では、図４（ａ）,（ｂ）に示すようにＩＰｖ４のパケット３００のヘッダのＴＯＳフィールド（８ビット）、あるいはＩＰｖ６のパケット３００のヘッダのＴｒａｆｆｉｃ Ｃｌａｓｓフィールド（８ビット）の上位４ビットをマスクパターンフィールドに割り当て、下位４ビットを演算処理結果フィールドに割り当てる場合を説明したが、各フィールドに割り当てるビット数の合計値が８ビットであれば、これに限定されない。
【００６３】
例えば、マスクパターンフィールドに割り当てるビット数を３ビットとし、演算処理結果フィールドに割り当てるビット数を５ビットとしてもよい。この場合、マスクパターンテーブル１３３,２３３に格納されるビットマスクのパターン数は２3＝８パターンとし、各ビットマスクに格納される「１」のビットの数の合計値は２5＝３２個としておけばよい。
【００６４】
また、識別フィールドとして、ＩＰｖ６のパケット３００のＦｌｏｗ Ｌａｂｅｌフィールド（２０ビット）を用いる場合も、マスクパターンフィールドおよび演算処理結果フィールドに割り当てるビット数の合計値が２０ビットであればよい。また、ＩＰｖ６のパケット３００のＴｒａｆｆｉｃ Ｃｌａｓｓフィールド（８ビット）とＦｌｏｗ Ｌａｂｅｌフィールド（２０ビット）とをあわせたフィールド（２８ビット）を用いる場合も、マスクパターンフィールドおよび演算処理結果フィールドに割り当てるビット数の合計値が２８ビットであればよい。すなわち、それぞれのフィールドに割り当てるビット数にあわせて、マスクパターンテーブル１３３,２３３に格納されるビットマスクのパターン数と、各ビットマスクに格納される「１」のビットの数とを決定すればよい。
【００６５】
また、端末装置１０によるプレミアパケット作成や、ルータ２００やサーバ９０によるプレミアパケット識別のために行う演算処理は、ビットマスクのビット列とパケット３００のペイロードのビット列との論理積等、簡単な演算処理とするのが好ましい。これは、端末装置１０がプレミアパケットを作成したり、ルータ２００やサーバ９０がプレミアパケットの識別を行ったりするとき、論理積等の簡単な演算処理としておけば、処理負荷を軽減することができるからである。特に、端末装置１０がプレミアパケットを作成するたびにビットマスクを変更して、プレミアパケットが詐称される確率をより低くしたい場合、プレミアパケット１つあたりの処理負荷を小さくしておけば、大量のプレミアパケットを送信するときの処理負荷を軽減することになる。また、これらの演算処理は、ＣＰＵ１１０,２１０,９１０によるプログラム実行処理により行うものとして説明したが、専用回路等により行うようにしてもよい。
【００６６】
さらに、端末装置１０は入力装置等から、プレミアパケットを送信するか否かの選択入力を受け付け、これに応じて、プレミアパケットを送信したり、通常のパケット３００（プレミアパケットではないパケット３００）を送信したりしてもよい。つまり、プレミアパケットサービスの契約者が端末装置１０へ選択入力をすることで、端末装置１０がプレミアパケットサービスを利用した通信と、プレミアパケットサービスを利用しない通信との切り替えができるようにしてもよい。その他についても、本発明の趣旨を逸脱しない範囲で変形可能である。
【図面の簡単な説明】
【００６７】
【図１】第１の実施の形態のプレミアパケット識別システムの全体構成を示した図である。
【図２】（ａ）は、図１のプレミアパケットサービスの契約者の端末装置のハードウェア構成を示したブロック図である。（ｂ）は（ａ）の端末装置を機能展開して示したブロック図である。
【図３】図２（ｂ）のパケット作成処理部が、プレミアパケットを作成する手順を説明した図である。
【図４】（ａ）は、ＩＰｖ４のプレミアパケットの構成を例示した図である。（ｂ）〜（ｄ）は、ＩＰｖ６のプレミアパケットの構成を例示した図である。
【図５】（ａ）は、図１のルータのハードウェア構成を示したブロック図である。（ｂ）は、（ａ）のルータを機能展開して示したブロック図である。
【図６】図１の端末装置およびルータの動作を示したフローチャートである。
【図７】図１のプレミアパケット識別システムの変形例を示した図である。
【図８】第２の実施の形態のプレミアパケット識別システムの構成を示した図である。
【図９】図８のサーバのハードウェア構成を示したブロック図である。（ｂ）は、（ａ）のサーバを機能展開して示したブロック図である。
【符号の説明】
【００６８】
１０,２０    端末装置
８０（８０Ａ,Ｂ）,９０    サーバ
１１０,２１０,９１０  ＣＰＵ
１２０,９２０  メインメモリ
１３０,２３０,９３０  記憶部
１３１,９３１  通信プログラム
１３２  プレミアパケット作成プログラム
１３３  マスクパターンテーブル（第２のマスクパターンテーブル）
２３３  マスクパターンテーブル（第１のマスクパターンテーブル）
１４０,９４０  ネットワークインタフェース
１５０,９５０  入出力インタフェース
１６０,９６０  処理部
１７０,２７０,９７０  入出力部
２００  ルータ
２３１  転送制御プログラム
２３２  プレミアパケット識別プログラム
２３４  ルーティングテーブル
２４０  ネットワークインタフェース
２４１  プレミアパケット識別部
２４２  転送制御部
２６０,９６０  処理部
３００（３００Ａ,Ｂ）  パケット
４１０  パケット作成処理部
７００  ネットワーク
９４２  パケット処理部
【図１】
0004418409.tif 000002
【図２】
0004418409.tif 000003
【図３】
0004418409.tif 000004
【図４】
0004418409.tif 000005
【図５】
0004418409.tif 000006
【図６】
0004418409.tif 000007
【図７】
0004418409.tif 000008
【図８】
0004418409.tif 000009
【図９】
0004418409.tif 000010