(57)【特許請求の範囲】
【請求項１】
データ伝送イベントのすべてのパケットに関するヘッダのマスタ・コピーを作成することであって、前記マスタ・コピーが複数の無処置一定ヘッダ情報を含み、前記複数の無処置一定ヘッダ情報が前記データ伝送イベントのすべてのパケットについて一定である、前記作成することと、
前記データ伝送イベントのすべてのパケットに関する固有ヘッダ情報を保管することであって、前記固有ヘッダ情報が前記データ伝送イベントの少なくとも1つのパケットに固有の情報を含む、前記保管することと、
前記データ伝送イベントのそれぞれのパケットのパケットＩＤをトークン化してそれぞれのパケットに関するトークン化パケットＩＤを作成することと、
前記トークン化に基づいて前記保管された固有ヘッダ情報に索引を付けることと、
キャッシュをトラバースして、前記トークン化パケットＩＤに関連する固有ヘッダ情報を突き止めること
を含む、コンピュータによって実行される方法。
【請求項２】
パケット伝送に関する要求を受信することと、
前記ヘッダの前記マスタ・コピーおよび関連の固有ヘッダ情報を使用してパケットを作成することと、
前記パケットを伝送すること
をさらに含む、請求項１記載の方法。
【請求項３】
前記パケットを作成することが、前記ヘッダの前記マスタ・コピーを関連のパケット・データに付加して完全なデータ・パケットを作成することをさらに含む、請求項２記載の方法。
【請求項４】
前記パケットを作成することが、前記パケットに関連する固有ヘッダ情報を取り出すことを含む、請求項３記載の方法。
【請求項５】
前記パケットを作成することが、前記取り出した固有情報を前記ヘッダの前記マスタ・コピーにオーバレイすることをさらに含む、請求項４記載の方法。
【請求項６】
パケット伝送に関する要求を受信することと、
前記ヘッダの前記マスタ・コピーを使用してパケットを作成することと、
前記パケットに関連する固有ヘッダ情報を前記マスタ・コピーにオーバレイして固有パケットを作成することと、
前記固有パケットを伝送すること
をさらに含む、請求項１記載の方法。
【請求項７】
データ伝送イベント中にパケット伝送に関する要求を受信することと、
パケット・ヘッダのマスタ・コピーを使用してパケットを作成することであって、前記マスタ・コピーが複数の無処置一定ヘッダ情報を含み、前記複数の無処置一定ヘッダ情報が前記データ伝送イベントのすべてのパケットについて一定である、前記作成することと、
前記パケットに関連する固有ヘッダ情報を前記マスタ・コピーにオーバレイして固有パケットを作成することであって、前記固有ヘッダ情報が前記データ伝送イベントの少なくとも1つのパケットに固有の情報を含む、前記オーバレイして固有パケットを作成することと、
前記固有パケットを伝送することと、
前記パケットのパケットＩＤをトークン化してトークン化パケットＩＤを作成することと、
キャッシュをトラバースして、前記トークン化パケットＩＤに関連する固有ヘッダ情報を突き止めること
を含む、コンピュータによって実行される方法。
【請求項８】
前記固有ヘッダ情報をキャッシュから取り出すこと
をさらに含む、請求項７記載の方法。
【請求項９】
前記固有ヘッダ情報を突き止めて、関連する固有ヘッダ情報を取り出すことと、
をさらに含む、請求項７記載の方法。
【請求項１０】
前記データ伝送イベントのすべてのパケットに関する固有ヘッダ情報を保管することと、
前記データ伝送イベントのそれぞれのパケットのパケットＩＤをトークン化してそれぞれのパケットに関するトークン化パケットＩＤを作成することと、
前記トークン化に基づいて前記保管された固有ヘッダ情報に索引を付けること
をさらに含む、請求項７記載の方法。
【請求項１１】
固有ヘッダ情報を保管するように構成されたメモリであって、前記固有ヘッダ情報がコンピュータ・システムに関連するデータ伝送イベントの少なくとも1つのパケットに固有の情報を含むメモリと、
前記メモリと通信状態にあるプロセッサと
を含むコンピュータ・システムであって、
前記コンピュータ・システムが、
前記データ伝送イベントのすべてのパケットに関するヘッダのマスタ・コピーを作成することであって、前記マスタ・コピーが複数の無処置一定ヘッダ情報を含み、前記複数の無処置一定ヘッダ情報が前記データ伝送イベントのすべてのパケットについて一定である、前記作成することと、
前記データ伝送イベントのそれぞれのパケットのパケットＩＤをトークン化してそれぞれのパケットに関するトークン化パケットＩＤを作成することと、
前記トークン化に基づいて前記メモリ内の前記保管された固有ヘッダ情報に索引を付けることと、
キャッシュをトラバースして、前記トークン化パケットＩＤに関連する固有ヘッダ情報を突き止めること
を実行するように構成される、コンピュータ・システム。
【請求項１２】
パケット伝送に関する要求を受信することと、
前記ヘッダの前記マスタ・コピーおよび関連の固有ヘッダ情報を使用してパケットを作成することと、
前記パケットを伝送すること
をさらに実行するように構成される、請求項１１記載のシステム。
【請求項１３】
前記パケットを作成することが、前記ヘッダの前記マスタ・コピーを関連のパケット・データに付加して完全なデータ・パケットを作成することをさらに実行するように構成される、請求項１２記載のシステム。
【請求項１４】
前記パケットを作成することが、前記パケットに関連する固有ヘッダ情報を取り出すことを実行するように構成される、請求項１３記載のシステム。
【請求項１５】
前記パケットを作成することが、前記取り出した固有情報を前記ヘッダの前記マスタ・コピーにオーバレイすることをさらに実行するように構成される、請求項１４記載のシステム。
【請求項１６】
パケット伝送に関する要求を受信することと、
前記ヘッダの前記マスタ・コピーを使用してパケットを作成することと、
前記パケットに関連する固有ヘッダ情報を前記マスタ・コピーにオーバレイして固有パケットを作成することと、
前記固有パケットを伝送すること
をさらに実行するように構成される、請求項１１記載のシステム。
【請求項１７】
コンピュータ・プロセッサによって実行されたときに、請求項１ないし１０のいずれかに記載の方法を実行するよう前記コンピュータ・プロセッサに指示するコンピュータ実行可能命令を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、重複データの記憶域を削減するためのデータ・パケットの変更に関する。
【背景技術】
【０００２】
従来のシステムにおいては、パケット伝送に関する固有情報を保持しながら、一定ヘッダ・データの重複を削減することで、データ記憶オーバヘッドを低減することが求められている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、パケット伝送に関する固有情報を保持しながら、一定ヘッダ・データの重複を削減して、従来のシステムに比べて、データ記憶オーバヘッドを低減することにある。
【課題を解決するための手段】
【０００４】
本発明の一実施形態により、コンピュータによって実行される方法は、データ伝送イベント（data transmission event）のすべてのパケットに関するヘッダのマスタ・コピー（master copy）を作成することであって、マスタ・コピーが複数の無処置一定ヘッダ情報（intact constant header information）を含み、複数の無処置一定ヘッダ情報がデータ伝送イベントのすべてのパケットについて一定であることと、データ伝送イベントのすべてのパケットに関する固有ヘッダ情報（unique header information）を保管することであって、固有ヘッダ情報がデータ伝送イベントの少なくとも1つのパケットに固有の情報を含むことと、データ伝送イベントのそれぞれのパケットのＩＤをトークン化してそれぞれのパケットに関するトークン化パケットＩＤを作成することと、トークン化に基づいて保管済み固有ヘッダ情報に索引を付けることを含む。
【０００５】
本発明の他の実施形態により、コンピュータによって実行される方法は、データ伝送イベント中にパケット伝送に関する要求を受信することと、パケット・ヘッダのマスタ・コピーを使用してパケットを作成することであって、マスタ・コピーが複数の無処置一定ヘッダ情報を含み、複数の無処置一定ヘッダ情報がデータ伝送イベントのすべてのパケットについて一定であることと、パケットに関連する固有ヘッダ情報をマスタ・コピーにオーバレイして固有パケットを作成することであって、固有ヘッダ情報がデータ伝送イベントの少なくとも1つのパケットに固有の情報を含むことと、固有パケットを伝送することを含む。
【０００６】
本発明のさらに他の実施形態により、コンピュータ・システムは、固有ヘッダ情報を保管するように構成されたメモリであって、固有ヘッダ情報がコンピュータ・システムに関連するデータ伝送イベントの少なくとも1つのパケットに固有の情報を含むメモリと、メモリと通信状態にあるプロセッサとを含む。コンピュータ・システムは、データ伝送イベントのすべてのパケットに関するヘッダのマスタ・コピーを作成することであって、マスタ・コピーが複数の無処置一定ヘッダ情報を含み、複数の無処置一定ヘッダ情報がデータ伝送イベントのすべてのパケットについて一定であることと、データ伝送イベントのそれぞれのパケットのＩＤをトークン化してそれぞれのパケットに関するトークン化パケットＩＤを作成することと、トークン化に基づいてメモリ内の保管済み固有ヘッダ情報に索引を付けることを含む方法を実行するように構成される。
【０００７】
本発明のさらに他の実施形態により、コンピュータ・プログラム製品（computer program product）は、コンピュータ・プロセッサによって実行されたときに、ある方法を実行するようコンピュータ・プロセッサに指示するコンピュータ実行可能命令を有形に保管するコンピュータ可読記憶媒体を含む。この実施形態による方法は、データ伝送イベントのすべてのパケットに関するヘッダのマスタ・コピーを作成することであって、マスタ・コピーが複数の無処置一定ヘッダ情報を含み、複数の無処置一定ヘッダ情報がデータ伝送イベントのすべてのパケットについて一定であることと、データ伝送のすべてのパケットに関する固有ヘッダ情報を保管することであって、固有ヘッダ情報がデータ伝送イベントの少なくとも1つのパケットに固有の情報を含むことと、データ伝送イベントのそれぞれのパケットのＩＤをトークン化してそれぞれのパケットに関するトークン化パケットＩＤを作成することと、トークン化に基づいて保管済み固有ヘッダ情報に索引を付けることを含む。
【０００８】
追加の特徴および利点は本発明の技法により実現される。本発明のその他の実施形態および態様は、本明細書に詳細に記載されており、請求された本発明の一部と見なされる。これらの利点および特徴とともに本発明をより十分に理解するために、以下の説明および図面を参照されたい。
【０００９】
次に、添付図面に関連して、一例としてのみ、本発明の実施形態（複数も可）について説明する。
【図面の簡単な説明】
【００１０】
【図１】パケット・ヘッダを示す図である。
【図２】パケット形成システムを示す図である。
【図３】本発明の一実施形態例によるパケット変更（packet modification）の方法を示す図である。
【図４】本発明の一実施形態例によるパケット形成の方法を示す図である。
【図５】本発明の一実施形態例によるパケット形成システムを示す図である。
【図６】コンピュータ装置を示す図である。
【図７】コンピュータ・プログラム（製品）を示す図である。
【発明を実施するための形態】
【００１１】
一般に、１つまたは複数のコンピュータ・システムにより大量の情報およびデータを伝送するには、この情報を伝送に適したパケットに分離する必要がある。それぞれのパケットに関連するヘッダは、それぞれのパケットの適正な経路指定に必要な複数のフィールドの情報を含むことができる。コンピュータ・システムに応じて、これらのフィールドのうちの１つまたは複数は、複数のパケットについて同じ情報を含むことができることは認識されている。より明らかなことに、これらのフィールドの多くは、特定の伝送イベントに関連するすべてのパケットについて一定にすることができる。さらに、その他のフィールドは、個々のパケットに特有の固有情報を含むことができる。本発明の諸実施形態例の技術的効果および恩恵としては、パケット伝送に関する固有情報を保持しながら、一定ヘッダ・データの重複を削減することを含み、その結果、従来のシステムに比べて、データ記憶オーバヘッドが著しく低減される。
【００１２】
図１を参照すると、パケット・ヘッダ１００が示されている。図示の通り、ヘッダ１００は複数のデータ・フィールド１０１、１０２、１０３、１０４、１０５、１０６、および１０７を含む。ヘッダ・フィールド１０１、１０２、および１０３は固有ヘッダ・フィールドであり、ヘッダ１００に関連するデータ・パケット部分（図示せず）に固有の情報を含む。ヘッダ・フィールド１０４、１０５、１０６、および１０７は、特定のデータ伝送イベントに関連するすべてのパケットについて一定であるヘッダ・フィールドである。特定のデータ伝送イベントに関するパケット・ヘッダの数が増加するにつれて、関連するヘッダのすべてを保管するために必要な記憶域の量も増加することは認識することができる。たとえば、図２を参照すると、パケット形成システムが示されている。
【００１３】
システム２００はデータ・バッファ２０１を含む。データ・バッファ２０１は、伝送のための複数の情報を保管するように構成される。したがって、データ・バッファ２０１に保管された情報は、複数のパケット２０２、２０３、２０４、および２０５にセグメント化される。セグメント化されたデータのそれぞれの部分は、パケット・データ部分２２２、２３２、２４２、および２５２として、パケット２０２、２０３、２０４、および２０５にそれぞれ付加される。
【００１４】
システム２００はヘッダ・メモリ・ストレージ２０６も含む。ヘッダ・メモリ・ストレージ２０６は、関連のパケット２０２、２０３、２０４、および２０５に付加するために複数の完全なパケット・ヘッダ２２１、２３１、２４１、および２５１を保管するように構成される。
【００１５】
示されているように、パケット形成システム２００は、データ・バッファ２０１に保管されたパケット・データ情報およびヘッダ・メモリ・ストレージ２０６に保管された完全なヘッダ情報から複数のパケットを作成するように構成される。したがって、この場合も、特定のデータ伝送イベントに関するパケットの数が増加するにつれて、関連するヘッダのすべてを保管するためにヘッダ・メモリ・ストレージ２０６内で必要な記憶域の量も増加することは認識することができる。しかし、本発明の諸実施形態例は、知的識別、パケット変更、およびパケット作成により、これらの欠点に対処する。
【００１６】
図３を参照すると、パケット変更の方法３００が示されている。方法３００は、ブロック３０１でデータ伝送イベントに関する一定ヘッダ・データのマスタ・コピーを作成することを含む。一定ヘッダ情報は、データ伝送イベントのデータ・パケットに関するすべてのヘッダについて一定であるヘッダ情報である。マスタ・コピーは、すべての一定情報がそこに正しく集められている単一ヘッダ・テンプレートとして作成することができる。
【００１７】
方法３００は、ブロック３０２でデータ伝送イベントに関する固有ヘッダ情報のキャッシュを作成する（たとえば、固有ヘッダ情報を保管する）ことをさらに含む。固有ヘッダ情報は、データ伝送イベントのデータ・パケットに関するヘッダ間で異なるヘッダ情報である。固有ヘッダ情報は、関連の固有トークン化パケットＩＤに基づいてキャッシュ内に集めることができる。
【００１８】
方法３００は、ブロック３０３で固有ヘッダ情報を有するパケットのＩＤをトークン化することと、ブロック３０４でトークン化パケットＩＤによってキャッシュ／保管済み固有ヘッダ情報に索引を付けることをさらに含む。トークン化は、任意の適切なトークン化アルゴリズムにより実行することができる。さらに、索引付けは、関連の固有ヘッダ情報の効率的な編成および取り出しを可能にする任意の適切なアルゴリズムに基づいて実行することができる。
【００１９】
方法３００は一定ヘッダ情報の単一コピーのみを提供するので、一定ヘッダ情報のための全記憶域が劇的に低減されることは認識されている。さらに、固有ヘッダ情報はトークン化パケットＩＤに応じてキャッシュされるので、パケット情報に関する固有ヘッダ情報の取り出しは効率的である。たとえば、図４は、本発明の一実施形態例によるパケット形成方法４００を示している。
【００２０】
方法４００は、ブロック４０１でパケット伝送に関する要求を受信することを含む。この要求に応答して、方法４００は、ブロック４０２で一定ヘッダ情報を有するパケットを作成することを含む。このパケットは、一定ヘッダ情報のマスタ・コピーをパケット・データ部分に付加して完全なデータ・パケットを作成することによって作成することができる。
【００２１】
方法４００は、ブロック４０３で固有情報キャッシュから固有ヘッダ情報を取り出すことをさらに含む。たとえば、パケットに関するトークン化パケットＩＤを使用して関連の固有ヘッダ情報を識別することができ、キャッシュをトラバースして、トークン化パケットＩＤに基づいて情報を突き止めることによって、関連の固有ヘッダ情報を取り出すことができる。その後、方法４００は、ブロック４０４で取り出した固有ヘッダ情報により一定ヘッダ情報のマスタ・コピーをオーバレイして最終データ・パケットを形成することと、ブロック４０５で最終データ・パケットを伝送することを含む。より明らかなことに、ブロック４０４は、固有ヘッダ情報をマスタ・コピーにオーバレイして固有ヘッダを作成することを含む。
【００２２】
図４の方法をより十分に理解するために、パケット形成システムが示されている図５を参照する。システム５００によれば、システムのパケット形成部分によってパケット５１２のトークン化パケットＩＤを使用して、固有ヘッダ情報キャッシュ／メモリ５０１から固有ヘッダ情報を取り出す。取り出した固有情報は、複数のヘッダ・データ・フィールド５１３を含む。マスタ一定ヘッダ５０２の上にヘッダ・データ・フィールド５１３をオーバレイし、一定ヘッダ・データ・フィールド５１１を無処置のままにし、それにより、伝送用の再構成パケット５０３を作成する。
【００２３】
したがって、上記のように、本発明の諸実施形態例は、パケット伝送に必要なメモリの量を削減する、パケット変更および作成の方法およびシステムを提供する。諸実施形態例によれば、データ伝送イベントについて一定ヘッダ情報の単一マスタ・コピーが保管される。パケット読み取り／伝送時中にマスタ・コピーに固有情報がオーバレイされる。したがって、必要な記憶域全体が劇的に削減される。
【００２４】
上記のパケット変更および作成の方法は、たとえば、図６に示されているように、コンピュータ装置によって実行可能なコンピュータ実行可能命令として実施することができる。したがって、本明細書で提供される方法の一部分または全体は、少なくともある程度はコンピュータ装置６００に似た装置によって実行することができる。たとえば、ある方法の一部分を描写する命令は、汎用コンピュータ・プロセッサ６０２によって実行するためにメモリ６０１に保管することができる。フィードバックは入力装置６０３により提供することができ、関連の出力は表示装置６０４に表示することができる。
【００２５】
さらに、本明細書に記載されている方法の一部分または全体は、たとえば、図７に示されているように、コンピュータ・プログラム（製品）として容易に配布することができる。図７によれば、コンピュータ・プログラム（製品）７００は、プログラム・コード・ロジック７０４を保管するように構成されたコンピュータ使用可能記憶媒体７０２を含むことができる。プログラム・コード・ロジック７０４は、コンピュータ・プロセッサによって実行されたときに、本明細書に記載されている方法を実行するようコンピュータ・プロセッサに指示するコンピュータ実行可能命令を含むことができる。
【００２６】
本明細書で使用する用語は、特定の諸実施形態のみを記述するためのものであって、本発明を限定するためのものではないことは注目に値する。本明細書で使用する「ａ」、「ａｎ」、および「ｔｈｅ」という単数形は、文脈が明らかにそうではない場合を示さない限り、複数形も含むためのものである。「ｃｏｍｐｒｉｓｅｓ」あるいは「ｃｏｍｐｒｉｓｉｎｇ」またはその両方の用語は、本明細書で使用する場合、所定の特徴、整数、ステップ、動作、要素、あるいはコンポーネント、またはこれらの組み合わせの存在を指定するが、１つまたは複数のその他の特徴、整数、ステップ、動作、要素、コンポーネント、あるいはそのグループ、またはこれらの組み合わせの存在または追加を排除しないことがさらに理解されるであろう。
【００２７】
以下の特許請求の範囲内のすべての手段またはステップならびに機能要素に対応する構造、材料、行為、およびそれと同等のものは、具体的に請求されている他の請求要素と組み合わせてその機能を実行するための任意の構造、材料、または行為を含むためのものである。本発明の説明は、例示および解説のために提示されたものであり、網羅するためまたは開示された形式に本発明を限定するためのものではない。多くの変更および変形は、本発明の範囲および精神を逸脱せずに当業者にとって明白なものになるであろう。この実施形態は、本発明の原理および実用的な適用例を最も良く説明するため、ならびにその他の当業者が企図された特定の用途に適した様々な変更を含む様々な実施形態について本発明を理解できるようにするために、選択され記載されたものである。
【００２８】
本明細書に描写されている流れ図は一例に過ぎない。本発明の精神を逸脱せずにその図またはそこに記載されたステップ（または動作）に対する多くの変形が存在する可能性がある。たとえば、これらのステップが異なる順序で実行される場合もあれば、ステップが追加、削除、または変更される場合もある。これらの変形はいずれも請求された本発明の一部と見なされる。
【００２９】
本発明の好ましい諸実施形態について説明してきたが、当業者であれば、現在および将来のいずれでも、以下に示す特許請求の範囲内に入る様々な改良および機能強化を行うことができることが理解されるであろう。これらの特許請求の範囲は、最初に記載した本発明に関する適正な保護を維持するものと解釈すべきである。
【図１】
0005528644.tif 000002
【図２】
0005528644.tif 000003
【図３】
0005528644.tif 000004
【図４】
0005528644.tif 000005
【図５】
0005528644.tif 000006
【図６】
0005528644.tif 000007
【図７】
0005528644.tif 000008