(57)【要約】本発明は通信ユニット（１００−１）の状態メモリ（１６０）の管理に関する。状態メモリ（１６０）は、通信システム（１）における外部ユニット（１００−２、１００−３、１００−４；２００）とのメッセージを基本とする通信の際に使用される状態を格納する。ユニット（１００−１、１００−２、１００−３、１００−４；２００）間で通信されるデータメッセージは、複数の種別に定義される。更に、状態メモリ（１６０）は、複数のメモリ部分（１６０−１、１６０−２）に分割される。ここで、そのようなメモリ部分（１６０−１、１６０−２）各々は、特定のメッセージ種別に関連する状態を格納するために割り当てられる。これにより、重要な状態を有用性の低い状態で上書きすることが防止される。
2007523424.tif 000002
【特許請求の範囲】
【請求項１】
通信システム（１）における通信ユニット（１００−１、１００−２、１００−３、１００−４；２００）間のメッセージ通信に適用可能な状態情報を格納する状態メモリ（１６０）を管理する方法であって、
前記通信ユニット（１００−１、１００−２、１００−３、１００−４；２００）間で通信される前記メッセージの少なくとも２つのメッセージ種別を定義する工程と、
前記状態メモリ（１６０）を少なくとも２つのメモリ部分（１６０−１、１６０−２）に分割する工程とを有し、
前記メモリ部分（１６０−１、１６０−２）各々は、特定のメッセージ種別に関連する状態情報を格納するために割り当てられることを特徴とする方法。
【請求項２】
前記分割する工程は、前記メッセージ種別定義に基づいて、前記状態メモリ（１６０）を少なくとも２つのメモリ部分（１６０−１、１６０−２）に分割することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記状態メモリ（１６０）は、第１の通信ユニット（１００−１）において構成され、第２の通信ユニット（１００−２、１００−３、１００−４；２００）とのメッセージ通信の際に使用される状態情報を格納するために割り当てられることを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記第２の通信ユニット（１００−２、１００−３、１００−４；２００）は、前記第２の通信ユニット（１００−２、１００−３、１００−４；２００）との前記メッセージ通信の際に使用される前記状態情報を格納するのに利用される状態メモリ空間を割り当てるように、前記第１の通信ユニット（１００−１）に要求することを特徴とする請求項３に記載の方法。
【請求項５】
前記状態情報は、前記通信メッセージの圧縮と伸張の内の少なくともいずれかを実行中に使用されることを特徴とする請求項１乃至４のいずれかに記載の方法。
【請求項６】
前記定義する工程は、
前記通信メッセージの優先順位の種類と、
前記通信メッセージを生成する時に使用されるアプリケーションプロトコルと、
通信メッセージに関連するセションの種類と、
の内、少なくとも１つに基づいて前記少なくとも２つのメッセージ種別を定義することを含むことを特徴とする請求項１乃至５のいずれかに記載の方法。
【請求項７】
前記分割する工程は、同じメモリサイズを前記少なくとも２つのメモリ部分（１６０−１、１６０−２）に割り当てることを含むことを特徴とする請求項１乃至６のいずれかに記載の方法。
【請求項８】
前記分割する工程は、第１のメモリ部分（１６０−１）に関連付けられた第１のメッセージ種別と第２のメモリ部分（１６０−２）に関連付けられた第２のメッセージ種別とに基づいて、第１のメモリサイズを前記第１のメモリ部分（１６０−１）に割り当て、異なる第２のメモリサイズを前記第２のメモリ部分（１６０−２）に割り当てることを含むことを特徴とする請求項１乃至６のいずれかに記載の方法。
【請求項９】
通信メッセージのメッセージ種別を判定する工程と、
前記通信メッセージに基づいて生成された状態情報を前記判定したメッセージ種別に関連付けられるメモリ部分（１６０−１、１６０−２）に格納する工程とをさらに有することを特徴とする請求項１乃至８のいずれかに記載の方法。
【請求項１０】
前記判定する工程は、前記通信メッセージ中に見い出されるデータに基づいて前記メッセージ種別を判定することを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記メモリ部分（１６０−１、１６０−２）に前記状態情報が格納されるかどうかを判定する工程をさらに有することを特徴とする請求項９又は１０に記載の方法。
【請求項１２】
前記状態情報が格納されるかどうかを判定する工程は、前記メッセージ種別に対する格納コマンド情報を含むルックアップリスト（１３５）から格納優先順位情報を検索することを含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記状態情報が格納されるかどうかを判定する工程は、
類似の状態情報が前記メモリ部分（１６０−１、１６０−２）に既に格納されているかどうかを調査する工程と、
類似の状態情報が前記メモリ部分（１６０−１、１６０−２）にまだ格納されていないなら前記状態情報を格納する工程とを含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
前記状態情報が格納されるかどうかを判定する工程は、
前記通信メッセージを圧縮する工程と、
前記通信メッセージに対する圧縮因子を計算する工程と、
前記状態情報が前記メモリ部分（１６０−１、１６０−２）に格納されるかどうかを前記圧縮因子に基づいて判定する工程とを含むことを特徴とする請求項１１に記載の方法。
【請求項１５】
通信システム（１）における通信ユニット（１００；２００）間のメッセージ通信に適用可能な状態情報を格納する状態メモリ（１６０）を管理するユニット（１３０）であって、
前記通信ユニット（１００；２００）間で通信される前記メッセージの少なくとも２つのメッセージ種別を定義する手段（１３２）と、
前記状態メモリ（１６０）を少なくとも２つのメモリ部分（１６０−１、１６０−２）に分割する手段（１３４）とを有し、
前記メモリ部分（１６０−１、１６０−２）各々は、特定のメッセージ種別に関連する状態情報を格納するために割り当てられることを特徴とするユニット。
【請求項１６】
通信システム（１）における少なくとも１つの外部通信ユニット（２００）とのメッセージ通信に適応され、前記メッセージ通信に適用可能な状態情報を格納する状態メモリ（１６０）と状態メモリ管理ユニット（１３０）とを有する通信ユニット（１００）であって、
前記状態メモリ管理ユニット（１３０）は、
前記通信ユニット（１００）と前記少なくとも１つの外部通信ユニット（２００）との間で通信されるメッセージの少なくとも２つのメッセージ種別を定義する手段（１３２）と、
前記状態メモリ（１６０）を少なくとも２つのメモリ部分（１６０−１、１６０−２）に分割する手段（１３４）とを有し、
前記メモリ部分（１６０−１、１６０−２）各々は、特定のメッセージ種別に関連する状態情報を格納するために割り当てられることを特徴とする通信ユニット。
【請求項１７】
前記分割する手段（１３４）は、前記定義する手段（１３２）からの前記メッセージ種別定義に基づいて前記状態メモリ（１６０）を少なくとも２つのメモリ部分（１６０−１、１６０−２）に分割するように構成されることを特徴とする請求項１５又は１６に記載のユニット。
【請求項１８】
前記管理ユニット（１３０）と前記状態メモリ（１６０）とは第１の通信ユニット（１００）に構成され、
前記状態メモリ（１６０）は、第２の通信ユニット（２００）とのメッセージ通信の際に使用される状態情報を格納するために割り当てられることを特徴とする請求項１５に記載のユニット。
【請求項１９】
前記状態メモリ（１６０）は、特定の外部通信ユニット（２００）とのメッセージ通信の際に使用される状態情報を格納するために割り当てられることを特徴とする請求項１６に記載のユニット。
【請求項２０】
前記状態情報は、前記通信メッセージの圧縮中或は伸張中の内の少なくともいずれかの間に使用されることを特徴とする請求項１５に記載のユニット。
【請求項２１】
圧縮器（１７０）と、
伸張器（１８０）とをさらに有し、
前記状態情報が前記圧縮器（１７０）と前記伸張器（１８０）のうち少なくとも一方により使用されることを特徴とする請求項１６に記載のユニット。
【請求項２２】
前記定義する手段（１３２）は、
前記通信メッセージの優先順位の種類と、
前記通信メッセージを生成する時に使用されるアプリケーションプロトコルと、
通信メッセージに関連するセションの種類と
のうち少なくとも１つに基づいて前記少なくとも２つのメッセージ種別を定義するように構成されることを特徴とする請求項１５乃至２１のいずれかに記載のユニット。
【請求項２３】
前記分割する手段（１３４）は、同じメモリサイズを前記少なくとも２つのメモリ部分（１６０−１、１６０−２）に割り当てるように構成されることを特徴とする請求項１５乃至２２のいずれかに記載のユニット。
【請求項２４】
前記分割する手段（１３４）は、第１のメモリサイズを第１のメモリ部分（１６０−１）に割り当て、異なる第２のメモリサイズを第２のメモリ部分（１６０−２）に割り当てるように構成されることを特徴とする請求項１５乃至２２のいずれかに記載のユニット。
【請求項２５】
通信メッセージのメッセージ種別を判定する手段（１３６）と、
前記通信メッセージに基づいて生成された状態情報を前記判定したメッセージ種別に関連付けられるメモリ部分（１６０−１、１６０−２）に格納する手段（１３８）とをさらに有することを特徴とする請求項１５乃至２４のいずれかに記載のユニット。
【請求項２６】
前記判定する手段（１３６）は、前記通信メッセージ中に見い出されるデータに基づいて前記メッセージ種別を判定するように構成されることを特徴とする請求項２５に記載のユニット。
【請求項２７】
前記状態情報が前記メモリ部分に格納されるかどうかを判定する手段（１３６）をさらに有することを特徴とする請求項２５又は２６に記載のユニット。
【請求項２８】
前記判定する手段（１３６）は、前記メッセージ種別に対する格納コマンド情報を含む関連するルックアップリスト（１３５）から格納優先順位情報を検索し、前記格納優先順位情報に基づいて格納コマンドを生成するように構成され、
前記格納する手段（１３８）は、前記格納コマンドに応答可能であることを特徴とする請求項２７に記載のユニット。
【請求項２９】
前記判定する手段（１３６）は、類似の状態情報が前記メモリ部分（１６０−１、１６０−２）に既に格納されているかどうかを調査し、もし類似の状態情報が前記メモリ部分にまだ格納されていないなら格納コマンドを生成するように構成され、
前記格納する手段（１３８）は、前記格納コマンドに応答可能であることを特徴とする請求項２７に記載のユニット。
【請求項３０】
前記判定する手段（１３６）は、前記通信メッセージの圧縮中に取得される圧縮因子を受信し、前記圧縮因子に基づいて格納コマンドを生成するように構成され、
前記格納する手段（１３８）は、前記格納コマンドに応答可能であることを特徴とする請求項２７に記載のユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、通信システムにおけるメモリ管理に関し、特に、そのようなシステムにおける状態メモリの管理に関する。
【背景技術】
【０００２】
今日、種々の通信システムにおいて通信ユニット間でデータ通信を行なう傾向が強くなってきている。典型的な例として、インターネット又はローカルエリアネットワーク等の通信システムを介して接続されたコンピュータ間の通信、移動ユーザ機器と通信サーバ又はノード又は別の移動ユーザ機器との間の無線通信システムを介するデータ通信がある。
【０００３】
データ通信で使用される多くのアプリケーションプロトコルは、ある特定の情報及びデータが通信システムを介して送信されるメッセージに含まれることを要求する。このデータは、効率的なセションのセットアップ及びシステム全体にわたるデータメッセージの効率的な配信を可能にするのに必要とされるか、受信したメッセージを解釈及び処理するために受信通信ユニットにより使用されるかの内、少なくともいずれかである。従って、通信された多くのデータメッセージは複数のフィールドを含み、それらフィールドは、通信ユニットの特定の対又は組合せに対して多かれ少なかれほぼ同一のデータを常に含む。これは、一般に、帯域幅の広い通信リンクを有する通信システムにおいては問題はない。しかし、利用可能な通信リソースの容量が通常制限される無線通信システム及び他のシステムにおいては、通信ユニット間で送信される必要のあるデータ量を減少させることが一般には望まれる。
【０００４】
従って、状態を媒介としたデータ通信が行なわれる。そのような場合、関連する状態は、通信セションを開始する際、或はその後のセション中の少なくともいずれかにおいて、通信ユニットにより使用される情報を含む。ユニット間の通信に対して状態を用いることにより、いくつかの利点が得られる。まず、通信ユニットがセットアップ手順に必要なデータを含む状態に既にアクセスできる場合、多くの場合に時間制限がある通信セションのセットアップの時間は減少できる。換言すると、この必要とされるセットアップ関連データは、セットアップ前又はセットアップ中にユニット間で通信される必要がないため、その結果、シグナリング及びセットアップ時間は減少する。更に、状態は、例えば、ユニット間で送信される必要があるデータ量を減少することにより後続のシグナリング中と、通信した（圧縮した）データメッセージのサイズを更に減少する圧縮及び伸張手順中との内の少なくともいずかで使用できる。
【特許文献１】国際公開第２００４／０８８８５０号パンフレット（ＰＣＴ／ＳＥ２００４／０００４７５）
【非特許文献１】プライス他（Price et al.）著、「ネットワーク・ワーキング・グループ、コメント要求：３３２０、カテゴリ：標準トラック、信号圧縮（SigComp）（Network Working Group、Request for Comments: 3320、Category: Standards Track, Signal Compression (SigComp)）」、２００３年１月
【非特許文献２】ハンヌ他（Hannu et al.）著、「ネットワーク・ワーキング・グループ、コメント要求：３３２１、カテゴリ：情報、信号圧縮（SigComp）−拡張動作（Network Working Group、Request for Comments: 3321、Category: Informational, Signal Compression (SigComp) - Extended Operations）」、２００３年１月
【非特許文献３】ドイッシュ他（Deutsch et al.）著、「ネットワーク・ワーキング・グループ、コメント要求：１９５１、カテゴリ：情報、圧縮データ形式のデフレート仕様バージョン１．３（Network Working Group、Request for Comments: 1951、Category: Informational, DEFLATE Compressed Data Format Specification version 1.3）」、１９９６年５月
【非特許文献４】ストーラ及びジマンスキ（Storer及びSzimanski）著、「テキスト代入によるデータ圧縮（Data Compression via Textual Substitution）」、ジャーナル・オブ・エーシーエム（Journal of the ACM）、29:4、９２８〜９５１ページ、１９８２年
【発明の開示】
【発明が解決しようとする課題】
【０００５】
通常、状態は通信ユニットにおいて、汎用メモリ又はより多くの場合は専用状態メモリに格納される。しかしながら、状態メモリのサイズ又は汎用メモリの状態関連格納部分のサイズは制限されることが多い。そのメモリの状態は、先入れ先出し法（ＦＩＦＯ）を使用して管理されることが多い。このことは、新しい状態がメモリに格納される時、メモリが一杯の場合、その新しい状態がメモリ中で見付けられる最も古い状態を上書きするか又は最も古い状態がメモリからシフトアウトされることを意味する。しかし、「適切な」状態がメモリ中に見付けられない場合、これは、ユニット間のシグナリングに対して大きな問題となる。例えば、セションのセットアップ手順中、メモリは存在更新状態で一杯になり、これはセションのセットアップには何の役にもたたない。従って、非効率的で長いセットアップが発生し、これはユーザの知覚する対話感を失わせるものとなるだろう。
【０００６】
概要
本発明は、従来の構成の上述の欠点及び他の欠点を克服するものである。
【０００７】
本発明の一般的な目的は、メッセージを基本とした通信で利用される状態を格納する状態メモリの管理を提供することである。
【０００８】
本発明の別の目的は、状態優先順位情報とメッセージ種類との内の少なくともいずれかに基づいて、複数の状態を異なるメモリ区画に編成する状態メモリ管理を提供することである。
【０００９】
本発明の更に別の目的は、重要な状態を有用性の低い状態で置換することを防止する状態メモリ管理を提供することである。
【課題を解決するための手段】
【００１０】
これらの目的及び他の目的は、添付の請求の範囲により定義されるように、本発明により満たされる。
【００１１】
簡単に説明すると、本発明は、通信システムにおける通信ユニット間のメッセージによる通信において採用される状態を格納する状態メモリの管理に関与するものである。本発明によると、複数のメッセージ種別は、ユニット間で通信されたメッセージに対して定義される。更に、通信ユニットの状態メモリは、複数のメモリ部分に分割される。そのようなメモリ部分各々は、特定のメッセージ種別に関連する状態のみを格納するために割り当てられる。
【００１２】
メッセージの分類の結果、第１の高優先順位の種別と低優先順位の種別の２つのメッセージ種別が得られる。これに対応して、メモリは２つのメモリ部分に分割され、第１の部分は、高優先順位の種別のメッセージに基づいて生成された状態を格納し、第２の部分は、低優先順位のメッセージに基づいて生成された状態を含む。従って、状態メモリが制限される状況において、重要な状態を有用性の低い状態で上書きしたり、或は置換することを防止するために、例えば、セションのセットアップ中と、メッセージ処理中と、メッセージ送信中との内、少なくともいずかの期間で、通信ユニットにとって非常に有用である状態は、有用性の低い状態から分離される。その結果、通信ユニットがセションのセットアップ時間を減少させたり、圧縮又はメッセージの処理性能を高めることの内、少なくともいずれかのために使用される状態にアクセスできる確率は、状態メモリの分割及びメッセージの分類を導入することにより非常に劇的に高まる。
【００１３】
種々のメモリ部分のサイズは、同じであってもよく又は異なってもよい。一般に、特定のメッセージ種別に関連する状態が他の状態より多い場合、サイズが異なる方が有利である。更に、他の状態メモリ部分に対する記憶空間より大きい空間を重要な状態を格納するメモリ部分に対して提供することが有利である。
【００１４】
通信ユニットが、例えば、そのユニットのアプリケーションからのデータメッセージ又は外部ユニットから受信したデータメッセージを提供すると、その通信ユニットは、メッセージのメッセージ種別を判定する。これは、例えば、メッセージの１行を解析し且つメッセージ名を識別することにより、そのメッセージ自身中に見い出されるデータに基づいて実行されるのが好ましい。
【００１５】
その後、状態がメッセージに基づいて生成され、適切なメモリ部分に格納されるべきであるか否かが、オプションとして判定されてもよい。これは、ルックアップリストから格納優先順位情報を検索することにより明らかとなる。そのようなルックアップリストは、状態メモリに格納されるべき状態がどれかと、格納されるべきではない状態がどれかとの内、少なくともいずれかを示すことができる。あるいは、新しい状態を格納するか否かを判定するために、既にメモリ部分に格納されている状態の調査が実行される。例えば、類似の状態がメモリ部分で見付かった場合、新しい状態を格納する必要はない。ユニットが圧縮器にアクセスでき、その状態が圧縮率を高めるために使用される場合、圧縮因子は状態格納識別因子として使用される。従って、新しい状態が生成されるのに基礎とされるメッセージが圧縮器により効率的に圧縮されるなら、このことは、メモリ部分が新しい状態に非常に類似する状態を含むことを示唆している。この場合その、メッセージに基づいて生成された新しい状態を格納する必要はない。
【００１６】
状態が格納されるべきであると判定されると、状態はそのメッセージから生成される。特定の実施例では、状態はメッセージ又は少なくともそのメッセージの一部分を含む。適切なメモリ部分は、好ましくはメッセージのメッセージ種別に基づいて識別される。その後、状態はそのメモリ部分に格納される。
【発明の効果】
【００１７】
本発明は以下の利点を提供する。
【００１８】
即ち、状態メモリに状態の編成を備え、重要な状態を有用性の低い状態で上書きすることを防止する。
【００１９】
セットアップ関連状態を他の種類の状態で置換することを防止することにより、セションのセットアップ時間の低減を可能にする。
【００２０】
状態メモリの制限された状況において、圧縮性能を向上する。
【００２１】
本発明により提供される他の利点は、本発明の実施例に関する以下の説明を読むことにより理解されるだろう。
【発明を実施するための最良の形態】
【００２２】
添付図面と共に以下の説明を参照することにより、本発明、並びに本発明の更なる目的及び利点について最もよく理解できるだろう。
【００２３】
図中、同一の図中符号は、対応する要素又は同様の要素に対して使用される。
【００２４】
本発明は、通信システムにおける通信ユニット間のメッセージによる通信において使用される状態情報を格納する状態メモリの管理に関する。本発明によれば、ユニット間で通信されるデータメッセージは、複数のメッセージ種別、即ち、少なくとも２つのメッセージ種別に定義されるか、或は、分割される。更に、状態メモリは、複数（≧２）のメモリ部分に分割される。メモリ部分は、特定のメッセージ種別に関連する状態情報を格納するために割り当てられるか、或は専用に用いられる。これにより、特に重要でないいくつかの状態が状態メモリの他の部分に格納される場合でも、通信ユニットは、他の通信ユニットと通信している間に重要な状態情報にアクセスできる。
【００２５】
以下に、接続された移動体ユニットに通信サービスを提供する無線通信システムを参照して、本発明について説明し開示する。しかしながら、本発明はそれに限定されず、ユニットがメッセージを基本とするデータ通信を行なう他の通信システムにも適用できる。典型的な例として、ローカルエリアネットワークにおいて、或はインターネットを介して別のコンピュータやサーバと通信するコンピュータがある。本発明の教示することが適用される無線通信システムの典型的な例としては、汎欧州デジタル移動通信システム（ＧＳＭ）、汎用パケット無線サービス（ＧＰＲＳ）、強化型ＧＰＲＳ（ＥＧＰＲＳ）、ＧＳＭ拡張向け高速データレート（ＥＤＧＥ）を使用するシステム、全地球的移動通信システム（ＵＭＴＳ）及び種々の符号分割多元接続（ＣＤＭＡ）通信システムを含む。
【００２６】
図１は、プッシュ・トゥ・トーク（ＰＴＴ）サービスを接続された通信ユニット１００−１〜１００−４に提供する携帯通信システム１として代表的な無線通信システムの例を示す。
【００２７】
基地無線局或はノードＢであるＢＴＳ  Ａ１、ＢＴＳ  Ａ２、ＢＴＳ  Ｂを有する多数の基地局システムＢＳＳ  Ａ１、ＢＳＳ Ａ２、ＢＳＳ Ｂと、コアネットワークＣＮ  Ａ、ＣＮ  Ｂとを含む無線アクセスネットワークでの典型的なネットワークアーキテクチャに加え、無線通信システム１は、ＰＴＴサーバ２００を有するＩＰマルチメディアサブシステム（ＩＭＳ）２５０を含む。ＰＴＴサーバ２００は通常、ＰＴＴ通話に対する呼設定シグナリングとＰＴＴトラフィックのフロー制御とを扱う。更に、音声データを適切な受信ユーザ機器１００−２、１００−３、１００−４に搬送するＩＰ（インターネットプロトコル）パケットのリアルタイムのルーティングは、ＰＴＴサーバ２００により管理される。
【００２８】
その図には、ＰＴＴをサポートする４つのユーザ送受話器又は機器１００−１〜１００−４が図示されている。ユーザ機器１００−１〜１００−４は、それら機器に実装されるＰＴＴクライアントを含み、プッシュ・トュ・トーク会話を実行するのに使用されるＰＴＴハードウェア或はソフトウェアボタンを装備している。機器１００−１〜１００−４のユーザ（所有者）は通常、ＰＴＴサービスプロバイダ（ネットワークオペレータであることが多い）とのサービス合意、例えば、加入契約をもっている。ユーザ機器１００−１〜１００−３は、ＰＴＴクライアントで構成される（従来の）移動体ユニット又は電話である。また、例えば、インターネットを介してＰＴＴサーバ２００に接続されるコンピュータ或はラップトップ１００−４も可能である。
【００２９】
ＰＴＴセションにおいて、第１のユーザは、ＰＴＴ通信を介して１人（１対１通信）又は数人の他のユーザ（１対多数）と通信することを望む。ユーザは、通常、自分の通信ユニット１００−１のアドレスブック又はＰＴＴブックから通信する友人を選択する。このアドレスブックは、通信システム１に現在接続しており、それ故ＰＴＴセションに参加できる友人をそのユーザに通知する、即ち、アドレスブックは存在情報を提供するのが好ましい。そのユーザはそれから、ユニット１００−１上のＰＴＴボタンを押下する。このＰＴＴボタンは、ハードウェアボタンでもよく、ユニット１００−１のソフトウェアで実現されてもよい。ボタンが押下されると、セション設定シグナリングが開始する。この初期設定が終了すると、ユーザは友人との会話を開始することができる。即ち、トークバーストが開始する。そのユーザがボタンを放した時、又はＰＴＴ停止ボタンを押下した時、トークバーストは終了する。従来技術において周知のように、トークバースト中、即ち、会話中、会話（音声）はサンプリングされ、音声符号化され、通常は適応型マルチレート（ＡＭＲ）パケット又はフレームである多数のデータパケットにパックされる。無線通信システム１を介して友人の通信ユニット１００−２〜１００−４に送信する前に、ＡＭＲパケット又はフレームはＩＰパケットにパックされる。ＩＰパケット毎のＡＭＲパケットの実際の数は通常、受け入れ可能なオーバヘッドのレベルと、使用するＩＰバージョンと、ヘッダ圧縮との内、少なくともいずれかに依存する。更に、リアルタイム転送プロトコル（ＲＴＰ）はＧＰＲＳアクセス及びコアネットワークにおいて使用されるのが好ましい。送信されるＩＰパケットはそれから、ユーザ機器１００−１から基地局ＢＳ  Ａ１、基地局システムＢＳＳ  Ａ１、及びコアネットワークＣＮ  Ａを介してＰＴＴサーバ２００に送信される。サーバはそれから、そのパケットを意図された通信ユニット１００−２〜１００−４に転送する。
【００３０】
その図では、ユーザ機器１００−１が通信の一方の終端である時にＰＴＴサーバ２００が他方の終端として示されているが、専用通信機能であるプロキシコールセション制御機能（Ｐ−ＣＳＣＦ）が通常、ＰＴＴサーバ２００及び他のＩＭＳサービスノードのためにメッセージを送受信するためにＩＭＳサーバ２５０に構成される。従って、通信の２つの終端は、Ｐ−ＣＳＣＦとユーザ機器とみなすことができる。
【００３１】
他のボイスオーバＩＰ（インターネット電話：ＶｏＩＰ）サービスを含むＰＴＴサービス及び他のＩＭＳサービスにおいて、通信ユニットは、セション開始プロトコル（ＳＩＰ）、セション記述プロトコル（ＳＤＰ）、リアルタイムストリーミングプロトコル（ＲＴＳＰ）、及び他のアプリケーションプロトコルメッセージを使用して通信する。そのようなメッセージは通常、（常に）同一のデータを有するデータフィールドから構成される。これは、第１の通信ユニットから送信された第２の通信ユニット向けの複数のメッセージが、データの第１の部分と第２のデータ部分とから構成されることを意味する。その第１の部分は通常、メッセージヘッダに備えられ、複数のメッセージに共通である。その第２のデータ部分は通常、ペイロード部分及びヘッダのデータの一部であり、メッセージにより異なる。そのような共通なデータは、通信ユニットに提供される状態に含まれる。ユニット間で送信されるべきデータの量を減少させることと、セションのセットアップ時間を減少させることとの内少なくともいずれかのことを行なうために、この状態は後のメッセージシグナリングの際に使用される。加えて、メッセージ圧縮がデータメッセージのサイズを更に減少するために使用されるなら、状態はメッセージ性能を向上するために使用され、それにより、通信システムにおける更に効率的なメッセージシグナリングが可能になる。
【００３２】
換言すると、本発明に従う状態は、データメッセージの効率的な処理と解釈との内、少なくともいずれかを行なう通信ユニットにおいて使用される共通の通信ユニット関連データ又はユーザ関連データを含むことができる。ＳＩＰを例として取り上げる。ＳＩＰを使用可能な通信ユニットの能力及び設定はセション開始中に通信され、装置の能力が変更されない限り変更されない傾向にある。加えて、メッセージ処理において使用されるアプリケーションプロトコル関連データは、そのプロトコルを使用して生成される、異なるメッセージ間で再利用されてもよい。そのような場合、状態は、そのようなプロトコル関連データを含むことができる。同様に、ユーザのユニフォームリソースロケータ（ＵＲＬ）、名前、及び電子メールアドレス等のユーザ固有情報は、おそらく頻繁に変更されることはなく、特定のユーザに関わるＳＩＰシグナリングにおいて定期的に現れる。そのような情報は、１つ以上の状態として提供され格納されてもよい。上述したように、状態は、メッセージ圧縮と伸張の内、少なくともいずれかの際に使用される情報も含むことができる。従って、状態は、異なるメッセージプロセッサに対するバイトコード及び命令や、データメッセージ又はその一部分さえも含むメッセージ処理において有用な任意のデータを含むことができる。
【００３３】
尚、本発明はＰＴＴ又は他のＶｏＩＰサービスを提供する通信システムに限定されず、状態がそのようなメッセージ通信と関連して使用される任意のメッセージをベースにした通信サービスを提供する通信システムに適用可能である。
【００３４】
図２は本発明に従う通信ユニット１００の実施例を概略的に示すブロック図である。ユニット１００は、移動体ユニット、移動体電話、携帯情報端末（ＰＤＡ）、或はコンピュータ等のユーザ機器でもよい。更に、ＳＩＰ、ＳＤＰ、ＲＴＳＰ、或は別のアプリケーションプロトコルサーバが、本発明に従う通信ユニット１００でもよい。また、通信ユニット１００の限定しない例として、ＰＴＴサーバ及び他のＩＭＳサーバがあり、Ｐ−ＣＳＣＦは、例えば、通信システムにおいてサーバ或はネットワークノードに備えられる。
【００３５】
通信ユニット１００は一般に、通信システムにおいて外部ユニットとの通信を行なうための入出力（Ｉ／Ｏ）ユニット１１０を含む。Ｉ／Ｏユニット１１０は、特に、データメッセージを外部ユニットと送受信する。特許文献１において更に説明されるように、Ｉ／Ｏユニット１１０は、更に状態のコピーを外部ユニットと送受信できる。
【００３６】
通信ユニット１００は（オプションの）アプリケーション１４０を更に含む。アプリケーション１４０は外部ユニットに通信されるメッセージを生成するユニット１００における機能を概略的に表すものである。ＰＴＴを使用可能な通信ユニット１００に対する例の場合、アプリケーションは、音声サンプリング、音声符号化、及び多数のデータパケットへのパッキングを管理できる。その結果、データパケットは、複数のデータメッセージにグループ化される。それに対応して、通信ユニット１００がＰＴＴデータを含むメッセージを受信する時、アプリケーション１４０はメッセージ中のデータをアンパックすることに適合され、ユニット１００のユーザに対して再生される音声を再現できる。
【００３７】
状態を管理する状態ハンドラ１２０は通信ユニット１００に備えられる。状態ハンドラ１２０は外部ユニットとのメッセージによる通信において使用される状態を生成するように構成されるのが好ましい。あるいは、その状態は、ユニット１００の他の場所、例えばアプリケーション１４０において生成されても良い。状態ハンドラ１２０又はユニット１００の他の手段が状態を生成すると、状態ハンドラ１２０は、ユニット１００に設けられた関連する状態メモリ１６０にその状態を格納する。これについては、以下に更に詳細に説明する。あるいは、状態メモリ１６０は、通信ユニット１００が状態メモリのデータにアクセスできる限り他の場所に備えられてもよい。状態ハンドラの更なる情報については、特許文献１、非特許文献１、及び非特許文献２を参照されたい。
【００３８】
状態情報に基づいてデータメッセージを処理するために、メッセージプロセッサ１５０が通信ユニット１００に備えられてもよい。例えば、アプリケーション１４０がデータメッセージを生成した時、そのオリジナルのメッセージをプロセッサ１５０に提供する。プロセッサ１５０は、メッセージから、通常はメッセージのヘッダ部分から、格納された状態の中に見い出されるデータを除去する機能を含む。処理されたメッセージのサイズは、オリジナルのメッセージの対応するサイズより小さい。サイズが小さくなったメッセージは、外部ユニットに送信するために、Ｉ／Ｏユニット１１０に転送される。
【００３９】
それに対応して、Ｉ／Ｏユニット１１０がサイズが小さくなったメッセージを外部ユニットから受信すると、プロセッサ１５０はおそらく状態ハンドラ１２０の動作を介して、状態メモリ１６０の状態からデータを検索し、このデータをサイズが小さくなったメッセージに追加して、オリジナルのバージョンのメッセージを得る。そのメッセージはアプリケーション１４０に転送され、アプリケーション１４０は、欠落しているデータが追加されたためにメッセージを正常に解釈し処理できる。
【００４０】
通信ユニット１００は、関連する状態メモリ１６０を管理するメモリマネージャ１３０を更に含む。このマネージャ１３０は、メッセージ種別定義ユニット１３２を含む。メッセージ種別定義ユニット１３２は、通信システムにおいてユニット１００と外部ユニットとの間で通信されるメッセージの少なくとも２つのメッセージ種別を定義するために備えられている。本発明の第１の実施例において、２つの種別が定義される。第１の重要な種別又は高い優先順位の種別は、複数のデータメッセージを含み、その関連する状態は、例えば、効率的なメッセージシグナリングとセットアップ性能との内、少なくともいずれかに対して重要である。第２の種別は、重要性の低いメッセージ又は低い優先順位のメッセージを含む。この基本的な考えは、例えば、第１の高い優先順位の種別、第２の中程度の優先順位の種別、及び第３の低い優先順位の種別などの３つ以上の種別に対して更に拡張することができる。当業者には理解されるように、このメッセージ定義により、２以上の任意の数の異なるメッセージ種別が可能となる。
【００４１】
あるいは又はそれに加えて、種別定義ユニット１３２は、メッセージ生成において使用されるアプリケーションプロトコルに基づいて、メッセージ種別を定義するように実装される。従って、メッセージは、セションの各種類に基づいて異なる種別に分類される。例えば、セションのセットアップ中に使用されるメッセージは第１の種別に分類され、存在関連メッセージは第２の種別に分類されるなどである。
【００４２】
定義ユニット１３２は、ユニット１００及び定義ユニット１３２の動作を介して採用される固定のメッセージ分類を使用できる。同一の種別定義が、システムの全ての通信ユニット１００により使用されても良い。あるいは、異なる定義が異なるユニット１００により使用されても良い。例えば、第１の通信ユニットの定義ユニットは、高い優先順位及び低い優先順位のメッセージ種別を定義する一方、別のユニットの第２の定義ユニットは、高い優先順位、中程度の優先順位及び低い優先順位の対応する種別を使用する。第２の定義ユニットにより中間の種別に分類されたメッセージは、第１の種別定義ユニットにより高い優先順位又は低い優先順位の種別に分類される。更に、定義ユニット１３２により使用される分類定義は、時間と共に、例えば、通信ユニット１００と関連するネットワークオペレータから受信される通信システムにおける外部ユニットからの種別定義変更コマンドに応答して変化しても良い。
【００４３】
メモリマネージャ１３０は、メモリ分割器１３４を更に含む。メモリ分割器１３４は、関連する状態メモリ１６０を少なくとも２つのメモリ部分１６０−１、１６０−２に分割する。メモリ部分１６０−１、１６０−２各々は、特定のメモリ種別に関連する状態を格納するように割り当てられる。例えば、第１のメモリ部分１６０−１は、高い優先順位の状態、即ち、高い優先順位のデータメッセージに基づいて生成された状態を格納でき、一方第２のメモリ部分１６０−２は、低い優先順位の状態を格納する。メモリ分割器１３４は、定義ユニット１３２により使用されるメッセージ種別定義に基づいて状態メモリ分割を行なうのが好ましい。そのような場合、メッセージ種別とメモリ部分１６０−１、１６０−２との間に１対１の関係が存在する。換言すると、メモリ部分１６０−１、１６０−２の数は、異なるメッセージ種別の数と同じであり、各メッセージ種別は、固有のメモリ部分１６０−１、１６０−２に関連付けられる。あるいは、メモリ部分１６０−１、１６０−２の数とメモリ種別の数とは異なってもよい。例えば、種別定義ユニット１３２は、３つの異なるメッセージ種別を定義するように構成される一方、メモリ分割器１３４は、状態メモリ１６０を２つのメモリ部分１６０−１、１６０−２に分割する。そのような場合、第１のメモリ部分１６０−１は、第１の種別のメッセージと関連する状態を格納でき、第２のメモリ部分１６０−２は、第２のメッセージ種別と第３のメッセージ種別の両方のメッセージに基づいて生成される状態を格納するために備えられる。あるいは、第２のメモリ部分１６０−２は、第２のメッセージ種別のメッセージから取得された状態のみを格納する一方、第３のメッセージ種別に関連する状態は、メモリ１６０に格納されない。
【００４４】
この状態メモリの分割は、効率的なセションのセットアップと、高い圧縮及びシグナリング性能との内の少なくともいずれかに必要とされる重要な状態が重要性の低い状態により上書きされないことを保証する。また、メッセージ種別又は種類の各々に対してメモリ部分１６０−１、１６０−２を備えることにより、特定のメッセージの種類に対する少なくとも１つの状態に常にアクセスできる可能性は、本発明を採用することで非常に高くなる。
【００４５】
メモリ分割器１３４は、異なるメモリ部分１６０−１、１６０−２に対して同じ量の記憶領域又は空間を割り当てることができる。しかしながら、ある状況においては、異なるメモリ部分１６０−１、１６０−２に対して異なる量の記憶領域を割り当てるのが好ましい。例えば、特定のメッセージ種別に関連する状態は、概して、他のメッセージ種別に対する対応する（平均）状態サイズより大きい。そのような状況において、異なる記憶領域サイズを割り当てるのが有益である場合がある。別の例は、低い優先順位の状態と比較して高い優先順位の状態により多くの記憶領域を割り当てることである。
【００４６】
メモリ１６０は通信ユニット１００に実装されてもよく、あるいは通信ユニット１００に関連付けられてもよい。そのメモリは、専用の状態メモリ１６０であるか、あるいは他のデータを含むことができる汎用記憶領域の割り当て部分を構成する。いくつかのアプリケーションにおいて、特に、移動体ユニット又は他のシンクライアントに配置される場合には、メモリ１６０全体の記憶領域は制約される。それらの状況において、“適切な（right）”状態が状態メモリ１６０において見い出されることが極めて重要になる。これは、本発明に従うメモリ分割により達成される。各メモリ部分は、特定のメモリ種別に関連する状態を少なくとも１つ、場合によっては好ましくは少なくとも２つ格納できるのが好ましい。
【００４７】
上述したように、状態の格納は、先入れ先出し法（ＦＩＦＯ）の原理に従って管理されるのが好ましい。これは、新しい状態がメモリ部分１６０−１、１６０−２に入力される時（そして、その部分が現在一杯であるか又はほぼ一杯である時）、最も古い状態がメモリ部分１６０−１、１６０−２からシフトアウトされるか又は上書きされることを意味する。メモリ部分１６０−１、１６０−２の実現可能な例は、循環バッファ又は記憶領域である。
【００４８】
通信ユニット１００のユニット１１０〜１５０は、ソフトウェア、ハードウェア又はそれらの組合せとして備えられてもよい。ユニット１１０〜１６０は、通信ユニット１００に共に実装されてもよい。あるいは、特に通信システムにおける通信ユニット１００のサーバを実現した実施例の場合、いくつかのユニットが異なるネットワークノードに備えられる分散的な実装も可能である。
【００４９】
図３は本発明に従う通信ユニット１００の別の実施例を示すブロック図である。Ｉ／Ｏユニット１１０、アプリケーション１４０、メッセージプロセッサ１５０、及び状態メモリ１６０は、図２に関連して先に説明した対応するユニットと同様であるため、更なる説明は行なわない。この実施例では、種別定義ユニット１３２及びメモリ分割器１３４は状態ハンドラ１２０に実装される。その結果、状態の生成及び管理に対して用いられる機能とユニットは共にグループ化され、状態ハンドラ１２０により提供される。この実施例における状態ハンドラ１２０、種別定義ユニット１３２、及びメモリ分割器１３４の動作は、図２に関連して説明した動作に対応する。
【００５０】
通信ユニット１００のユニット１１０〜１５０は、ソフトウェア、ハードウェア、又はそれらの組合せとして備えられてもよい。ユニット１１０〜１６０は、通信ユニット１００に共に実装されてもよい。あるいは、特に通信システムにおける通信ユニット１００のサーバを実現した実施例の場合、いくつかのユニットが異なるネットワークノードに備えられる分散的実装も可能である。
【００５１】
本発明の教示することは、通信ユニット間の圧縮メッセージをベースとした通信にも適用可能である。更に又はあるいは、生成された状態のデータが、データメッセージの圧縮と伸張の内の少なくともいずれかの実行中に使用される。そのような場合、状態は、状態を使用せずに圧縮されたメッセージと比較して、圧縮後のメッセージサイズの減少を可能にすることにより、メッセージ圧縮を向上させるのが好ましい。
【００５２】
図４は、メッセージ圧縮器１７０と伸張器１８０とを含む通信ユニット１００を示す。Ｉ／Ｏユニット１１０、状態ハンドラ１２０、アプリケーション、及び状態メモリ１６０は、図２及び図３に関連して先に説明した対応するユニットと同様であるため、更なる説明は行なわない。
【００５３】
通信ユニット１００の圧縮器１７０は、特定のメッセージのメモリ種別に関連付けられた状態メモリの部分１６０−１、１６０−２に格納された状態を使用して、アプリケーション１４０からのメッセージを圧縮するのに適合している。メッセージ中に存在する状態のデータは通常、圧縮器１７０の動作中にメッセージから除去される。その結果、圧縮メッセージの合計サイズは減少する。
【００５４】
Ｄｅｆｌａｔｅ（非特許文献３を参照）及びＬＺＳＳ（非特許文献４を参照）等のバイナリ圧縮アルゴリズムは、ディクショナリと呼ばれる状態メモリ１６０を使用する。そのディクショナリは、圧縮メッセージにおいて参照されるデータ（状態）を含む。基本的には、そのようなディクショナリ又は状態を基本とした圧縮の基礎は、パターンマッチング及び代用である。即ち、連続する記号（文字列）のグループを見付け、ディクショナリに対するインデックスで置換する。その結果、インデックスの表現が置き換えられた文字列より短い場合、圧縮されたことになる。従って、本発明の教示する概念は、そのようなアルゴリズムに適用され、そのアルゴリズムでは、関連するディクショナリは複数のサブディクショナリ又はメモリ部分に分割される。
【００５５】
状態を媒介とする圧縮と伸張との内、少なくともいずれかを使用する信号圧縮の典型的な例は、最近開発され、特許文献１と非特許文献１、２で更に説明されるＳｉｇＣｏｍｐプロトコルである。ＳｉｇＣｏｍｐは、ＳＩＰ、セション記述プロトコル（ＳＤＰ）、及びリアルタイムストリーミングプロトコル（ＲＴＳＰ）等のアプリケーションプロトコルにより生成されるデータメッセージを圧縮する圧縮方法であり、そのようなアプリケーションメッセージの耐性のある可逆的圧縮を提供する。ＳｉｇＣｏｍｐが圧縮と伸張処理において用いられる状態を格納する状態メモリを使用するため、本発明は、ＳｉｇＣｏｍｐと、状態を媒介とする他の圧縮と伸張との内少なくともいずれかの方法と関連して使用される。
【００５６】
伸張器１８０は外部通信ユニットからの受信圧縮メッセージを伸張するためにユニット１００に備えられている。伸張器１８０は、関連する状態メモリ部分１６０−１、１６０−２に格納された状態に基づいてメッセージを伸張するように構成されるのが好ましい。状態に格納されたデータ又はそのデータの少なくとも一部分は通常、伸張器１８０の動作中にメッセージに入力、或は追加される。
【００５７】
データメッセージがアプリケーション１４０により生成された時、或はＩ／Ｏユニット１１０により外部ユニットから受信された時に（おそらくは、伸張器１８０により伸張された後）、状態は、そのメッセージに基づいて状態ハンドラ１２０により生成されてもよい。状態は、メッセージ中に見い出されたデータに基づいて生成されるのが好ましい。あるいは、状態は、メッセージの全体又は少なくとも一部分を含むことができる。
【００５８】
図４の圧縮器１７０に実装されるメッセージ解析器１３６は、状態ハンドラ１２０又は通信ユニット１００に同様に構成でき、メッセージがどのメッセージ種別に属するのかを判定するためにメッセージを解析する。解析器１３６は、メッセージ中に見い出されたデータに基づいて、この調査を実行するのが好ましい。例えば、メッセージ解析器は、関連するメッセージ種別の識別を可能にするキーワード又は記号を識別するためにデータメッセージを構文解析するように構成される。殆どのアプリケーションにおいては、メッセージの第１行目を構文解析するだけで十分である。解析器１３６は、その行においてメッセージ名、例えば、Invite、100 Trying、202 Accepted、Subscribe、Publish、Notify、SIP 200 OKを読み取り、この名前情報を使用してそのメッセージがどの種別に属するのかを判定できる。解析器１３６は、現在のメッセージ種別定義にまだアクセスできなければ、定義ユニット１３２からそのメッセージ種別定義を受信するのが好ましい。
【００５９】
メッセージ解析器１３６は状態生成コマンドを生成でき、それにより、状態ハンドラ１２０はメッセージから状態を生成する。状態がメッセージ全体の内容を含む場合、そのようなコマンドや状態の生成は必要とされない。更に、状態に対する基礎を形成したメッセージのメッセージ種別を特定する状態格納コマンド又は信号が生成される。あるいは、この状態格納コマンドは、状態が格納されるべき関連する状態メモリ部分１６０−１、１６０−２の識別子を含むことができる。状態格納ユニット１３８は、通信ユニット１００に提供され、その格納コマンドに応答可能である。格納ユニット１３８は、コマンド中のデータ（メッセージ識別子とメモリ部分識別子との内、少なくともいずれか）に基づいて適切なメモリ部分１６０−１、１６０−２を識別し、状態メモリ１６０のその部分１６０−１、１６０−２に状態を格納する。格納ユニット１３８は、メモリを取り戻し、新しい状態が保存されるための空間を作るために、上書きされる状態に対して状態解放命令を発行してもよい。
【００６０】
メッセージ解析器１３６は、一旦、新しいメッセージ又は状態が提供されると、常に格納コマンドを生成するように構成される。あるいは、その解析器は、その特定の状態が本当にメモリ１６０に格納される必要があるかを調査する。
【００６１】
第１の実施例において、メッセージ解析器１３６は、例えば、状態メモリ１６０に格納された関連するルックアップリスト、あるいは通信ユニット１００の、或はそれに関連する別のデータメモリ（不図示）に備えられた関連するルックアップリストから格納優先順位情報を検索する。そのようなルックアップリストは、どの状態がメモリ１６０に格納されるべきであるかと、どの状態が格納されるべきではないかとの内、少なくともいずれかを示すことができる。例えば、ある特定のメッセージの種類に基づいて生成された状態は、セションセットアップを含む圧縮性能及びシグナリング性能に対してほとんど使用されない。そのような場合、通信ユニット１００がそのような状態を使用しないため、それら状態は、メモリ１６０に格納される必要がなく、あるいは格納される必要がなければ生成される必要もない。また、そのリストは、状態がある状況においては格納されるべきであり、他の状況においては格納されるべきでないことを定義する。例えば、関連する状態メモリ部分１６０−１、１６０−２が一杯でない場合、状態は格納される一方、部分１６０−１、１６０−２が既に状態で満たされている場合、その状態は格納されない。
【００６２】
別の実施例において、解析器１３６は、例えば、状態ハンドラ１２０又はメモリマネージャ１３０により判定されるように、関連するメモリ部分１６０−１、１６０−２に既に格納されているのがどの状態であるかに基づいて状態を格納するかを判定する。例えば、“Invite”メッセージに基づいて生成された状態がメモリ部分１６０−１、１６０−２に既に見い出されるなら、その後の“Invite”をベースとした状態はそこに格納される必要がない。更に、時間情報がこの判定処理において使用される。もし、既に格納された状態が相対的に古いなら、その状態は、もはや特に関連のないデータを含む。そのような場合、たとえ同じメッセージ種別のメッセージに基づいて既に生成された状態がメモリ部分１６０−１、１６０−２に見い出されるとしても、新しい状態を格納することは有益である。状態が古すぎるかどうかを判定する時に使用する時間閾値は、全てのメッセージ種別及び状態に対して同一でもよい。しかしながら、一般には、いくつかのメッセージの種類の関連するデータ内容と、それに基づいて生成された状態とが、他のメッセージの種類より頻繁に変更されるため、異なる時間閾値が異なるメッセージ種別と異なるメモリ部分１６０−１、１６０−２との内、少なくともいずれかに対して採用されると良い。
【００６３】
更に別の実施例において、状態を格納するか否かの決定は、圧縮因子に基づいて行なわれる。従って、もしメッセージ（状態）が状態メモリ部分１６０−１、１６０−２に既に存在するものと非常に類似するなら、メモリ部分１６０−１、１６０−２は更新されない。もし、そのメッセージが圧縮器１７０により効率的に圧縮される（大きい圧縮因子）なら、これは、メモリ部分１６０−１、１６０−２の内容はメッセージに非常に類似することを示唆する。この場合、メッセージに基づいて生成された状態を格納する必要はない。しかしながら、圧縮因子がある制限より小さい場合、メッセージは、状態を生成し、関連するメモリ部分１６０−１、１６０−２を更新するために使用される。
【００６４】
先に簡単に説明したように、メッセージ解析器１３６と状態格納ユニット１３８との内少なくともいずれかは、圧縮器１７０、伸張器１８０、メモリマネージャ１３０、状態ハンドラ１２０、又は通信ユニット１００の他の場所に別々に備えられてもよい。更に、通信ユニット１００のユニット１１０〜１５０、１７０、及び１８０は、ソフトウェア、ハードウェア又はそれらの組合せとして備えられてもよい。ユニット１１０〜１８０は、通信ユニット１００に共に実装されてもよい。あるいは、特に通信システムにおける通信ユニット１００のサーバを実現した実施例の場合、いくつかのユニットが異なるネットワークノードに備えられれる分散的実装も可能である。
【００６５】
図５は、本発明の実施例に従うメモリマネージャ１３０を概略的に示すブロック図である。この実施例では、メッセージ種別定義ユニット１３２、状態メモリ分割器１３４、オプションのメッセージ解析器１３６、及び状態格納ユニット１３８は全て、マネージャ１３０に実装される。更に、状態格納テーブル又はリスト１３５は、メモリマネージャ１３０に構成されるか、又はメモリマネージャ１３０に関連付けられる。このリストは、状態メモリに特定の状態を格納するか否かを判定するメッセージ解析器１３６により使用される状態格納優先順位情報を含むことができる。含まれるユニット１３２〜１３８の動作は、図２〜図４に関連して先に説明した通りである。
【００６６】
メモリマネージャ１３０のユニット１３２、１３４、１３６、及び１３８は、ソフトウェア、ハードウェア又はそれらの組合せとして備えられてもよい。ユニット１３２〜１３８は、メモリマネージャ１３０に共に実装されてもよい。あるいは、いくつかのユニットが通信ユニットと状態ハンドラとの内の少なくともいずれかの他の場所に備えられる分散的実装も可能である。
【００６７】
図６は、図２〜図４の通信ユニットに適用可能な本発明に従う状態メモリ１６０の実施例の例示である。メモリ１６０は、複数のメモリ部１９０；１９２−１〜１９２−Ｎに（論理的又は仮想的に）分割されるのが好ましい。ここで、Ｎは１以上の整数である。まず、メモリ１６０は通信ユニットそれ自身により生成された状態を主に含む局所的に利用可能な状態メモリ部１９０を含むのが好ましい。更に、異なる外部通信ユニット専用の多数の区画１９２−１〜１９２−Ｎが状態メモリ１６０に見い出される。区画１９２−１〜１９２−Ｎは、ピア外部ユニットと関連する状態のアプリケーション固有のグループとして見ることができる。そのような区画１９２−１〜１９２−Ｎ各々は、特定の外部ユニットと通信する際に使用される状態を含むのが好ましい。
【００６８】
状態を有する、異なる専用の区画１９２−１〜１９２−Ｎ又はメモリ部を使用する概念は、一旦、メッセージが特定の外部ユニットから受信されるか、或は外部ユニットへ送信されると、使用する適切な状態の識別を単純化することである。あるいは、状態のコピーとそれらコピーの送信元であるユニットとの間に接続を提供する他の解決策が採用できる。例えば、各状態は、その状態の送信元である外部ユニットの識別子と共に格納される。
【００６９】
そのような区画又はメモリ部１９０、１９２−１〜１９２−Ｎ各々は、本発明に従う状態メモリとして見られる。これは、異なるメモリ部１９０、１９２−１〜１９２−Ｎがメモリ部分１９０−１〜１９０−Ｍ０、１９２−１：１〜１９２−１：Ｍ１、１９２−２：１〜１９２−２：Ｍ２に分割されるのが好ましいことを意味する。ここで、Ｍ０、Ｍ１、Ｍ２は、それぞれ２以上の整数である。概略的にこの図に示すように、異なるメモリ部分１９０−１〜１９０−Ｍ０、１９２−１：１〜１９２−１：Ｍ１、１９２−２：１〜１９２−２：Ｍ２のサイズは、異なるメモリ部又は状態メモリ１９０、１９２−１〜１９２−Ｎの間で異なってもよい。加えて、メモリ部１９０、１９２−１〜１９２−Ｎ各々に対するメモリ部分１９０−１〜１９０−Ｍ０、１９２−１：１〜１９２−１：Ｍ１、１９２−２：１〜１９２−２：Ｍ２の数は、同じでもよく又は異なってもよい。そのような区分された状態メモリ１６０の全ての区画１９２−Ｎが、本発明に従うメモリ部分に分割されなくてもよい。
【００７０】
図７は、本発明に従う状態メモリ管理方法を示すフローチャートである。その方法は、ステップＳ１で開始し、通信ユニット間で通信されるメッセージの少なくとも２つのメッセージ種別が定義される。次のステップＳ２において、状態メモリは、少なくとも２つのメモリ部分に分割される。ここで、その状態メモリは、通信ユニットに備えられ、通信されたデータメッセージに基づいて生成された状態を格納するのに適合されている。そのようなメモリ部分の各々は、特定のメッセージ種別に関連する状態情報を格納するために割り当てられる。（仮想）メモリ分割は、メッセージ種別定義に基づいて行なわれるのが好ましく、定義された種別とメモリ部分との間は１対１の関係となる。その後、その方法は終了する。
【００７１】
図８は、図７の状態メモリ管理方法の付加的なステップを示すフローチャートである。この方法は、図７のステップＳ２から継続する。次のステップＳ１０において、データメッセージが提供される。このメッセージは、メッセージを生成するアプリケーションから提供されるか、或は外部通信ユニットから受信される。このデータメッセージのメッセージ種別は、ステップＳ１１において、好ましくはメッセージ中に見い出される情報に基づいて判定される。オプションのステップＳ１２では、状態がメッセージに基づいて生成され、状態メモリ部分に格納されるべきかがどうかを調査する。この判定は、予め定義された格納優先順位データに基づくか、同様の状態が既にメモリ部分に格納されているかどうかの調査に基づくか、圧縮因子に基づくかの内、少なくともいずれかに基づいて実行される。状態がステップＳ１２において格納されるべきではないと判定された場合、方法は終了するか、或はステップＳ１０に継続する。ステップＳ１０では、新しいメッセージが提供される。しかしながら、状態が生成され格納されるべきであると判定された場合、方法はステップＳ１３に継続する。ステップＳ１３では、その手順がまだ実行されていないなら、状態はメッセージに基づいて生成される。状態は、少なくともメッセージの一部分、例えば、メッセージ全体を含むのが好ましい。次のステップＳ１４では、状態は、それが生成されるのに基礎となるメッセージが属するメモリ種別に関連付けられたメモリ部分に格納される。ステップＳ１０〜Ｓ１４は、点線３００により概略的に示されるように、提供された各メッセージに対して繰り返されるのが好ましい。しかし、新しいメッセージが提供されないなら、方法は終了する。
【００７２】
従って、本発明の１つの面からすると、通信システムにおける通信ユニット間のメッセージ通信において適用可能な状態情報を格納する状態メモリを管理するユニットが提供される。そのようなユニットは、通信ユニット間で通信されるメッセージの少なくとも２つのメッセージ種別を定義する種別定義ユニットを含む。そのユニットは更に、状態メモリを少なくとも２つのメモリ部分に分割するメモリマネージャを含む。ここで、各メモリ部分は、メッセージ種別のサブセットに分類される状態情報関連メッセージを格納するために割り当てられる。
【００７３】
添付の請求の範囲により定義される本発明の趣旨の範囲から逸脱することなく、種々の変更及び変形が本発明に対して行なわれてもよいことが当業者には理解されるだろう。
【図面の簡単な説明】
【００７４】
【図１】プッシュ・トゥ・トーク（ＰＴＴ）サービスを接続ユーザ通信ユニットに提供する無線通信システムを代表的な例として本発明に従う通信システムを示す概略図である。
【図２】本発明に従う通信ユニットの実施例を概略的に示すブロック図である。
【図３】本発明に従う通信ユニットの別の実施例を概略的に示すブロック図である。
【図４】本発明に従う通信ユニットの更に別の実施例を概略的に示すブロック図である。
【図５】本発明に従うメモリマネージャの実施例を概略的に示すブロック図である。
【図６】本発明に従う状態メモリの実施例を概略的に示すブロック図である。
【図７】本発明に従う状態メモリ管理方法を示すフローチャートである。
【図８】図７のメモリ管理方法の更なるステップを示すフローチャートである。
【図１】
2007523424.tif 000003
【図２】
2007523424.tif 000004
【図３】
2007523424.tif 000005
【図４】
2007523424.tif 000006
【図５】
2007523424.tif 000007
【図６】
2007523424.tif 000008
【図７】
2007523424.tif 000009
【図８】
2007523424.tif 000010
【手続補正書】
【提出日】平成17年12月19日(2005.12.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信システム（１）における通信ユニット（１００−１、１００−２、１００−３、１００−４；２００）間のメッセージ通信に適用可能な状態情報を格納する状態メモリ（１６０）を管理する方法であって、
前記通信ユニット（１００−１、１００−２、１００−３、１００−４；２００）間で通信される前記メッセージの少なくとも２つのメッセージ種別を定義する工程と、
前記状態メモリ（１６０）を少なくとも２つのメモリ部分（１６０−１、１６０−２）に分割する工程とを有し、
前記メモリ部分（１６０−１、１６０−２）各々は、特定のメッセージ種別に関連する状態情報を格納するために割り当てられ、
前記状態メモリ（１６０）は、第１の通信ユニット（１００−１）において構成され、第２の通信ユニット（１００−２、１００−３、１００−４；２００）とのメッセージ通信の際に使用される状態情報を格納するために割り当てられ、
前記第２の通信ユニット（１００−２、１００−３、１００−４；２００）は、前記第２の通信ユニット（１００−２、１００−３、１００−４；２００）との前記メッセージ通信の際に使用される前記状態情報を格納するのに利用される状態メモリ空間を割り当てるように、前記第１の通信ユニット（１００−１）に要求することを特徴とする方法。
【請求項２】
前記定義する工程は、
前記通信メッセージの優先順位の種類と、
前記通信メッセージを生成する時に使用されるアプリケーションプロトコルと、
通信メッセージに関連するセションの種類と、
の内、少なくとも１つに基づいて前記少なくとも２つのメッセージ種別を定義することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記分割する工程は、同じメモリサイズを前記少なくとも２つのメモリ部分（１６０−１、１６０−２）に割り当てることを含むことを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記分割する工程は、第１のメモリ部分（１６０−１）に関連付けられた第１のメッセージ種別と第２のメモリ部分（１６０−２）に関連付けられた第２のメッセージ種別とに基づいて、第１のメモリサイズを前記第１のメモリ部分（１６０−１）に割り当て、異なる第２のメモリサイズを前記第２のメモリ部分（１６０−２）に割り当てることを含むことを特徴とする請求項１乃至３のいずれかに記載の方法。
【請求項５】
通信メッセージのメッセージ種別を判定する工程と、
前記通信メッセージに基づいて生成された状態情報を前記判定したメッセージ種別に関連付けられるメモリ部分（１６０−１、１６０−２）に格納する工程とをさらに有することを特徴とする請求項１乃至４のいずれかに記載の方法。
【請求項６】
前記判定する工程は、前記通信メッセージ中に見い出されるデータに基づいて前記メッセージ種別を判定することを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記メモリ部分（１６０−１、１６０−２）に前記状態情報が格納されるかどうかを判定する工程をさらに有することを特徴とする請求項６に記載の方法。
【請求項８】
前記状態情報が格納されるかどうかを判定する工程は、前記メッセージ種別に対する格納コマンド情報を含むルックアップリスト（１３５）から格納優先順位情報を検索することを含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記状態情報が格納されるかどうかを判定する工程は、
類似の状態情報が前記メモリ部分（１６０−１、１６０−２）に既に格納されているかどうかを調査する工程と、
類似の状態情報が前記メモリ部分（１６０−１、１６０−２）にまだ格納されていないなら前記状態情報を格納する工程とを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記状態情報が格納されるかどうかを判定する工程は、
前記通信メッセージを圧縮する工程と、
前記通信メッセージに対する圧縮因子を計算する工程と、
前記状態情報が前記メモリ部分（１６０−１、１６０−２）に格納されるかどうかを前記圧縮因子に基づいて判定する工程とを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
通信システム（１）における通信ユニット（１００；２００）間のメッセージ通信に適用可能な状態情報を格納する状態メモリ（１６０）を管理するユニット（１３０）であって、
前記通信ユニット（１００；２００）間で通信される前記メッセージの少なくとも２つのメッセージ種別を定義する手段（１３２）と、
前記状態メモリ（１６０）を少なくとも２つのメモリ部分（１６０−１、１６０−２）に分割する手段（１３４）とを有し、
前記メモリ部分（１６０−１、１６０−２）各々は、特定のメッセージ種別に関連する状態情報を格納するために割り当てられ、
前記定義する手段（１３２）は、
前記通信メッセージの優先順位の種類と、
前記通信メッセージを生成する時に使用されるアプリケーションプロトコルと、
通信メッセージに関連するセションの種類と、
の内、少なくとも１つに基づいて前記少なくとも２つのメッセージ種別を定義するよう構成されていることを特徴とするユニット。
【請求項１２】
通信システム（１）における少なくとも１つの外部通信ユニット（２００）とのメッセージ通信に適応され、前記メッセージ通信に適用可能な状態情報を格納する状態メモリ（１６０）と状態メモリ管理ユニット（１３０）とを有する通信ユニット（１００）であって、
前記状態メモリ管理ユニット（１３０）は、
前記通信ユニット（１００）と前記少なくとも１つの外部通信ユニット（２００）との間で通信されるメッセージの少なくとも２つのメッセージ種別を定義する手段（１３２）と、
前記状態メモリ（１６０）を少なくとも２つのメモリ部分（１６０−１、１６０−２）に分割する手段（１３４）とを有し、
前記メモリ部分（１６０−１、１６０−２）各々は、特定のメッセージ種別に関連する状態情報を格納するために割り当てられ、
前記定義する手段（１３２）は、
前記通信メッセージの優先順位の種類と、
前記通信メッセージを生成する時に使用されるアプリケーションプロトコルと、
通信メッセージに関連するセションの種類と、
の内、少なくとも１つに基づいて前記少なくとも２つのメッセージ種別を定義するよう構成されていることを特徴とする通信ユニット。
【請求項１３】
前記分割する手段（１３４）は、前記定義する手段（１３２）からの前記メッセージ種別定義に基づいて前記状態メモリ（１６０）を少なくとも２つのメモリ部分（１６０−１、１６０−２）に分割するように構成されることを特徴とする請求項１１又は１２に記載のユニット。
【請求項１４】
前記管理ユニット（１３０）と前記状態メモリ（１６０）とは第１の通信ユニット（１００）に構成され、
前記状態メモリ（１６０）は、第２の通信ユニット（２００）とのメッセージ通信の際に使用される状態情報を格納するために割り当てられることを特徴とする請求項１１に記載のユニット。
【請求項１５】
前記状態メモリ（１６０）は、特定の外部通信ユニット（２００）とのメッセージ通信の際に使用される状態情報を格納するために割り当てられることを特徴とする請求項１２に記載のユニット。
【請求項１６】
前記状態情報は、前記通信メッセージの圧縮中或は伸張中の内の少なくともいずれかの間に使用されることを特徴とする請求項１１又は１２に記載のユニット。
【請求項１７】
圧縮器（１７０）と、
伸張器（１８０）とをさらに有し、
前記状態情報が前記圧縮器（１７０）と前記伸張器（１８０）のうち少なくとも一方により使用されることを特徴とする請求項１１又は１２に記載のユニット。
【請求項１８】
前記定義する手段（１３２）は、
前記通信メッセージの優先順位の種類と、
前記通信メッセージを生成する時に使用されるアプリケーションプロトコルと、
通信メッセージに関連するセションの種類と
のうち少なくとも１つに基づいて前記少なくとも２つのメッセージ種別を定義するように構成されることを特徴とする請求項１１乃至１７のいずれかに記載のユニット。
【請求項１９】
前記分割する手段（１３４）は、同じメモリサイズを前記少なくとも２つのメモリ部分（１６０−１、１６０−２）に割り当てるように構成されることを特徴とする請求項１１乃至１８のいずれかに記載のユニット。
【請求項２０】
前記分割する手段（１３４）は、第１のメモリサイズを第１のメモリ部分（１６０−１）に割り当て、異なる第２のメモリサイズを第２のメモリ部分（１６０−２）に割り当てるように構成されることを特徴とする請求項１１乃至１８のいずれかに記載のユニット。
【請求項２１】
通信メッセージのメッセージ種別を判定する手段（１３６）と、
前記通信メッセージに基づいて生成された状態情報を前記判定したメッセージ種別に関連付けられるメモリ部分（１６０−１、１６０−２）に格納する手段（１３８）とをさらに有することを特徴とする請求項１１乃至２０のいずれかに記載のユニット。
【請求項２２】
前記判定する手段（１３６）は、前記通信メッセージ中に見い出されるデータに基づいて前記メッセージ種別を判定するように構成されることを特徴とする請求項２１に記載のユニット。
【請求項２３】
前記状態情報が前記メモリ部分に格納されるかどうかを判定する手段（１３６）をさらに有することを特徴とする請求項２１又は２２に記載のユニット。
【請求項２４】
前記判定する手段（１３６）は、前記メッセージ種別に対する格納コマンド情報を含む関連するルックアップリスト（１３５）から格納優先順位情報を検索し、前記格納優先順位情報に基づいて格納コマンドを生成するように構成され、
前記格納する手段（１３８）は、前記格納コマンドに応答可能であることを特徴とする請求項２３に記載のユニット。
【請求項２５】
前記判定する手段（１３６）は、類似の状態情報が前記メモリ部分（１６０−１、１６０−２）に既に格納されているかどうかを調査し、もし類似の状態情報が前記メモリ部分にまだ格納されていないなら格納コマンドを生成するように構成され、
前記格納する手段（１３８）は、前記格納コマンドに応答可能であることを特徴とする請求項２３に記載のユニット。
【請求項２６】
前記判定する手段（１３６）は、前記通信メッセージの圧縮中に取得される圧縮因子を受信し、前記圧縮因子に基づいて格納コマンドを生成するように構成され、
前記格納する手段（１３８）は、前記格納コマンドに応答可能であることを特徴とする請求項２３に記載のユニット。
【手続補正書】
【提出日】平成19年6月1日(2007.6.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１２
【補正方法】変更
【補正の内容】
【請求項１２】
通信システム（１）における少なくとも１つの外部通信ユニット（２００）とのメッセージ通信に適応され、前記メッセージ通信に適用可能な状態情報を格納する状態メモリ（１６０）と状態メモリ管理ユニット（１３０）とを有するユニット（１００）であって、
前記状態メモリ管理ユニット（１３０）は、
前記ユニット（１００）と前記少なくとも１つの外部通信ユニット（２００）との間で通信されるメッセージの少なくとも２つのメッセージ種別を定義する手段（１３２）と、
前記状態メモリ（１６０）を少なくとも２つのメモリ部分（１６０−１、１６０−２）に分割する手段（１３４）とを有し、
前記メモリ部分（１６０−１、１６０−２）各々は、特定のメッセージ種別に関連する状態情報を格納するために割り当てられ、
前記定義する手段（１３２）は、
前記通信メッセージの優先順位の種類と、
前記通信メッセージを生成する時に使用されるアプリケーションプロトコルと、
通信メッセージに関連するセションの種類と、
の内、少なくとも１つに基づいて前記少なくとも２つのメッセージ種別を定義するよう構成されていることを特徴とするユニット。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１４
【補正方法】変更
【補正の内容】
【請求項１４】
前記管理するユニット（１３０）と前記状態メモリ（１６０）とは第１の通信ユニット（１００）に構成され、
前記状態メモリ（１６０）は、第２の通信ユニット（２００）とのメッセージ通信の際に使用される状態情報を格納するために割り当てられることを特徴とする請求項１１に記載のユニット。
【国際調査報告】
2007523424.tif 000011
2007523424.tif 000012