(57)【要約】【課題】無線トランザクション内のメッセージを相関させるためのシステムおよび方法を提供すること。【解決手段】無線トランザクション内のメッセージを相関させるための、コンピュータに実装された方法であって、メッセージの各々は、一意的なメッセージ識別子を要求し、方法は、トランザクション識別子を形成するステップであって、トランザクション識別子は、関連付けられたメッセージに対し同じである、ステップと、トランザクション識別子にメッセージインデックスを追加するステップであって、メッセージインデックスは、無線トランザクション内の多数のメッセージに対応している、ステップとを包含し、これによって、トランザクション識別子およびメッセージインデックスは、無線トランザクション内のメッセージのそれぞれに対して、一意的なメッセージ識別子を形成する、方法。【選択図】図５
2011147187.tif 000002
【特許請求の範囲】
【請求項１】
本明細書に記載の発明。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、非同期通信環境におけるメッセージおよびトランザクション（ｔｒａｎｓａｃｔｉｏｎ）の効率的な通信に関し、より具体的には、無線ネットワークにおけるメッセージの相関に関する。
【背景技術】
【０００２】
無線通信環境において、メッセージは、無線デバイスとネットワーク要素（例えば、サーバ）との間で送信される。これらのメッセージは、典型的には、メッセージを識別するための一意的な識別子を含んでいる。この一意的な識別子は、本明細書では以後、「メッセージｉｄ（ｍｅｓｓａｇｅ  ｉｄ）」と称される。
【０００３】
加えて、メッセージは、典型的には、無線デバイスまたはネットワーク要素のいずれかが、より容易にメッセージを解釈することを可能にするために、メッセージタイプを識別するフィールドを含んでいる。
【０００４】
メッセージそれ自身は、しばしば、デバイスとネットワーク要素との間の個別のメッセージの論理グループに分類され得る。例えば、アウトバンド（ｏｕｔｂｏｕｎｄ）メッセージは、何らかの方法で、その後に受信されるインバンド（ｉｎｂｏｕｎｄ）メッセージと相関し得る。デバイスとサーバとの間の個別のメッセージの論理グループは、トランザクションを形成する。トランザクション内のメッセージを相関させることが、しばしば望ましい。
【０００５】
しかしながら、無線通信メッセージの順序は、しばしば非同期的である。したがって、例えば、複数のアウトバンドメッセージが送信され得、アウトバンドメッセージが送信された順序とは異なる順序で、インバンドメッセージが受信され得る。これを克服するために、典型的な解決策は、全てのメッセージにおいて、トランザクション識別子フィールドを使用することである。このフィールドは、メッセージ識別子フィールドおよびメッセージタイプフィールドに加えて追加される。しかしながら、トランザクション識別子フィールドの追加は、問題を含んでいる。なぜならば、トランザクション識別子は、それをその他のトランザクション識別子から区別するためには十分大きくなければならず、そしてその結果、トランザクション識別子フィールドを全てのメッセージに追加するためのネットワークリソースに関し、オーバーヘッドが非常に大きくなるからである。
【発明の概要】
【課題を解決するための手段】
【０００６】
（概要）
本発明のシステムおよび方法は、トランザクション識別子とメッセージインデックスとの組み合わせとして、メッセージ識別子フィールドを構成することにより、従来技術の不都合に対処することに関連し得る。好適なことに、グローバルまたはローカルに一意的なメッセージ識別子フィールドがさらに提供される一方で、メッセージのサイズを低減し、これにより、ネットワークのキャパシティを節約する。
【０００７】
さらなる局面において、トランザクションに対し、トランザクションのタイプが、いくつかの機構を介して識別され得る。第１の機構は、トランザクションタイプインデックスのメッセージ識別子を追加することであり得る。
【０００８】
第２の機構は、トランザクションのタイプを指定するために、トランザクションにおける第１のメッセージのメッセージインデックスを使用することであり得る。トランザクション内の第１のメッセージであると仮定されるので、モバイルデバイスおよびネットワーク要素は、新しいトランザクション識別子を認識し、したがって、メッセージインデックスを無視することがある。インデックスフィールドは、トランザクションタイプインデックスによって置換され得、そしてその結果、メッセージのトランザクションのタイプを識別するために使用され得る。
【０００９】
第３の機構は、トランザクションのタイプを指定するために、発見的方法を使用することであり得る。特に、トランザクションのタイプを予備的に識別するために、メッセージのサイズ、無線ベアラが使用され、あるいはメッセージのその他の特徴が使用され得る。その後、トランザクションのタイプの割り当てが間違っていることが発見された場合、トランザクションのタイプは再割り当てされ得る。
【００１０】
第４の機構は、トランザクションのタイプが存在しないが、メッセージがメッセージタイプ情報を含んでいることであり得る。理解され得るように、トランザクションにおける第１のメッセージのメッセージタイプは、しばしば、トランザクションを一意的に識別し得る。
【００１１】
トランザクションのタイプの識別はまた、トランザクション内のメッセージタイプの追跡を提供し得る。特に、トランザクションが、特定の順序であることが期待される限られた数のメッセージのタイプを有している場合、トランザクションを追跡することによって、次のメッセージのタイプが導出され得る。この結果、トランザクションのタイプが、メッセージ識別子から識別され得る場合に、別個のメッセージタイプフィールドを有する必要性がなくなり得る。
【００１２】
したがって本開示は、無線トランザクション内のメッセージを相関させるための方法を提供し得、このメッセージの各々は、一意的なメッセージ識別子を要求し、この方法は、トランザクション識別子を形成するステップであって、トランザクション識別子は、関連付けられたメッセージに対し同じである、ステップと；トランザクション識別子にメッセージインデックスを追加するステップであって、メッセージインデックスは、トランザクション内の多数のメッセージに対応している、ステップと、を含んでおり、これによって、トランザクション識別子およびメッセージインデックスは、メッセージの各々に対し、一意的なメッセージ識別子を形成する。
【００１３】
本開示は、無線トランザクション内のメッセージを相関させるように構成されたメッセージ識別子をさらに提供し得、このメッセージ識別子は、トランザクション識別子であって、トランザクション識別子は、関連付けられたメッセージに対し同じである、トランザクション識別子と；メッセージインデックスであって、メッセージインデックスは、トランザクション内の多数のメッセージに対応している、メッセージインデックスと、を含んでいる。
【００１４】
本開示は、無線トランザクション内の相関付けられたメッセージを処理するための方法をさらに提供し得、トランザクション識別子を含むメッセージ識別子を有しているメッセージを受信するステップであって、トランザクション識別子は、関連付けられたメッセージに対するものと同じものであり、メッセージインデックスは、無線トランザクション内の多数のメッセージに対応している、ステップと；メッセージ識別子から、トランザクション識別子を抽出するステップと；トランザクション識別子が既知であるかどうかをチェックするステップであって、既知ではない場合には、トランザクション識別子に対して、トランザクションのレコードを形成し、トランザクションのタイプが利用可能であるかどうかをチェックし、既知である場合には、トランザクションのレコードを更新する、ステップと；トランザクションのレコードに基づいてメッセージを処理するステップと、を含んでいる。
【００１５】
本開示は、無線ネットワーク内の相関されたメッセージを処理するためのネットワーク要素をなおもさらに提供し得、プロトコルデータ格納装置であって、プロトコルデータ格納装置は、メッセージのタイプ、および複数のトランザクションのタイプのうちの各トランザクションのタイプに対するメッセージの序列を格納している、プロトコルデータ格納装置と；トランザクション状態格納装置であって、既存のトランザクションに対して、トランザクションデータを格納している、トランザクション状態格納装置と；メッセージプロセッサであって、メッセージプロセッサは、トランザクション識別子を含むメッセージ識別子を有しているメッセージを受信し、トランザクション識別子は、関連付けられたメッセージに対し同じであり、メッセージインデックスは、トランザクション内の多数のメッセージに対応しており；メッセージ識別子から、トランザクション識別子を抽出し；トランザクション識別子が既知であるかどうかをトランザクション状態格納装置からチェックし、既知でない場合には、トランザクション識別子に対して、トランザクション状態格納装置において、トランザクションのレコードを形成し、トランザクションのタイプが利用可能であるかどうかをチェックし、既知である場合には、トランザクションのレコードを更新し；そしてトランザクションのレコードに基づいてメッセージを処理するように構成されている。
【００１６】
本発明は、さらに以下の手段を提供する。
【００１７】
（項目１）  
無線トランザクション内のメッセージを相関させるための、コンピュータに実装された方法であって、該メッセージの各々は、一意的なメッセージ識別子を要求し、該方法は、
トランザクション識別子を形成するステップであって、該トランザクション識別子は、関連付けられたメッセージに対し同じである、ステップと、
該トランザクション識別子にメッセージインデックスを追加するステップであって、該メッセージインデックスは、該無線トランザクション内の多数のメッセージに対応している、ステップと
を包含し、
これによって、該トランザクション識別子およびメッセージインデックスは、該無線トランザクション内のメッセージのそれぞれに対して、一意的なメッセージ識別子を形成する、方法。
【００１８】
（項目２）  
上記一意的なメッセージ識別子の中に、トランザクションのタイプを識別するインデックスを挿入するステップをさらに含んでいる、項目１に記載の方法。
【００１９】
（項目３）  
上記トランザクションの第１のメッセージにおいて、上記メッセージインデックスをトランザクションタイプインデックスによって置換するステップをさらに含んでいる、項目１に記載の方法。
【００２０】
（項目４）  
上記一意的なメッセージ識別子にメッセージタイプインデックスを追加するステップをさらに含んでいる、項目１〜項目３のいずれか一項に記載の方法。
【００２１】
（項目５）  
上記一意的なメッセージ識別子は、グローバルに一意的であるか、あるいはキャリアドメイン、デバイス、サーバ、サービス、および／またはチャネルのうちの任意のものを含むコンテクスト内で一意的である、項目１〜項目４のいずれか一項に記載の方法。
【００２２】
（項目６）  
無線トランザクション内のメッセージを相関させるように構成されたメッセージ識別子であって、該メッセージ識別子は、
トランザクション識別子であって、該トランザクション識別子は、関連付けられたメッセージに対し同じである、トランザクション識別子と、
メッセージインデックスであって、該メッセージインデックスは、該無線トランザクション内の多数のメッセージに対応している、メッセージインデックスと
を備えている、メッセージ識別子。
【００２３】
（項目７）  
トランザクションのタイプを識別するインデックスをさらに含んでいる、項目６に記載のメッセージ識別子。
【００２４】
（項目８）  
トランザクションタイプインデックスをさらに含んでおり、該トランザクションタイプインデックスは、上記トランザクションの第１のメッセージにおいて、上記メッセージインデックスに置き換わるように構成されている、項目６に記載のメッセージ識別子。
【００２５】
（項目９）  
メッセージタイプインデックスをさらに含んでいる、項目６〜項目８のいずれか一項に記載のメッセージ識別子。
【００２６】
（項目１０）  
上記メッセージ識別子は、グローバルに一意的であるか、あるいはキャリアドメイン、デバイス、サーバ、サービス、および／またはチャネルのうちの任意のものを含むコンテクスト内で一意的である、項目６〜項目９のいずれか一項に記載のメッセージ識別子。
【００２７】
（項目１１）  
無線トランザクション内の相関されたメッセージを処理するための、コンピュータに実装された方法であって、
トランザクション識別子を含むメッセージ識別子を有しているメッセージを受信するステップであって、該トランザクション識別子は、関連付けられたメッセージに対し同じであり、メッセージインデックスは、該無線トランザクション内の多数のメッセージに対応している、ステップと、
該メッセージ識別子から、該トランザクション識別子を抽出するステップと、
該トランザクション識別子が既知であるかどうかをチェックするステップであって、
既知ではない場合には、
該トランザクション識別子に対して、トランザクションのレコードを形成し、
トランザクションのタイプが利用可能であるかどうかをチェックし、
既知である場合には、
該トランザクションのレコードを更新する、ステップと、
該トランザクションのレコードに基づいて該メッセージを処理するステップと
を包含する、方法。
【００２８】
（項目１２）  
上記メッセージ識別子は、トランザクションのタイプを含むインデックスをさらに含んでいる、項目１１に記載の方法。
【００２９】
（項目１３）  
上記トランザクションの第１のメッセージにおいて、メッセージインデックスをトランザクションタイプインデックスによって置換するステップをさらに含んでいる、項目１１に記載の方法。
【００３０】
（項目１４）  
上記トランザクションのタイプが利用可能であるかどうかをチェックするステップは、該トランザクションのタイプを発見的に導出することを含んでいる、項目１１に記載の方法。
【００３１】
（項目１５）  
上記発見的な導出は、上記メッセージのサイズ、該メッセージを配信するために使用されるベアラ、または該メッセージを配信するために使用されるインターフェースのうちの任意のものに基づいている、項目１４に記載の方法。
【００３２】
（項目１６）  
上記メッセージ識別子は、メッセージタイプインデックスをさらに含んでいる、項目１１〜項目１５のいずれか一項に記載の方法。
【００３３】
（項目１７）  
上記一意的なメッセージ識別子は、グローバルに一意的であるか、あるいはキャリアドメイン、デバイス、サーバ、サービス、および／またはチャネルのうちの任意のものを含むコンテクスト内で一意的である、項目１１〜項目１６のいずれか一項に記載の方法。
【００３４】
（項目１８）  
トランザクションのタイプは、限られたメッセージタイプのセットを定義し、上記処理するステップは、該トランザクションのタイプを使用し、メッセージのタイプを導出する、項目１１〜項目１７のいずれか一項に記載の方法。
【００３５】
（項目１９）  
トランザクションの状態を格納するステップをさらに含んでおり、該トランザクションの状態は、トランザクションのタイプ内のメッセージの序列から導出される、項目１８に記載の方法。
【００３６】
（項目２０）  
無線ネットワーク内の相関付けられたメッセージを処理するためのネットワーク要素であって、
プロトコルデータ格納装置であって、該プロトコルデータ格納装置は、メッセージのタイプ、および複数のトランザクションのタイプのうちの各トランザクションのタイプに対するメッセージの序列を格納している、プロトコルデータ格納装置と、
トランザクション状態格納装置であって、既存のトランザクションに対して、トランザクションレコードを格納している、トランザクション状態格納装置と、
メッセージプロセッサであって、該メッセージプロセッサは、該ネットワーク要素に、項目１〜項目５のいずれか一項に記載の方法、または項目１１〜項目１９のいずれか一項に記載の方法のステップを実行させる、メッセージプロセッサと
を備えている、ネットワーク要素。
【００３７】
（項目２１）  
上記ネットワーク要素は、無線デバイスまたはサーバである、項目２０に記載のネットワーク要素。
【００３８】
（項目２２）  
コンピュータデバイスのプロセッサによって実行可能なプログラム命令を格納するコンピュータ読み取り可能な媒体であって、該プログラム命令は、項目１〜項目５のいずれか一項に記載の方法、または項目１１〜項目１９のいずれか一項に記載の方法のステップを実行させる、コンピュータ読み取り可能な媒体。
【００３９】
（摘要）
無線トランザクション内のメッセージを相関させる方法およびシステムであって、メッセージの各々には、一意的なメッセージ識別子を必要とし、この方法は、トランザクション識別子を形成するステップであって、このトランザクション識別子は、関連付けられたメッセージに対して同じである、ステップと；トランザクション識別子にメッセージインデックスを追加するステップであって、このメッセージインデックスは、トランザクション内のメッセージの個数に対応している、ステップとを有しており、これによって、トランザクション識別子およびメッセージインデックスは、メッセージの各々に対して、一意的なメッセージ識別子を形成する。
【図面の簡単な説明】
【００４０】
【図１】図１は、無線通信の非同期的な性質を示す流れ図である。
【図２】図２は、プッシュコンテンツ利用可能性通知を伴うプルベースのコンテンツ配信の典型的なコンテンツ配信トランザクションの流れ図である。
【図３】図３は、プルタイプの配信トランザクションを示す流れ図である。
【図４】図４は、プッシュコンテンツ配信トランザクションを示す流れ図である。
【図５】図５は、組み合わされたトランザクション識別子およびメッセージインデックスを利用する例示的な方法を示す流れ図である。
【図６】図６は、本開示の方法のために使用される単純化されたシステムを示すブロック図である。
【図７】図７は、本発明の方法およびシステムと共に使用され得る例示的なモバイルデバイスのブロック図である。
【発明を実施するための形態】
【００４１】
本出願は、図面を参照することによって、さらに良く理解され得る。
【００４２】
ここで図１に対する参照がなされる。図１は、デバイス１０とサーバ２０との間の通信のための例示的な流れ図を示している。図１の実施例は、デバイス１０とサーバ２０との間の通信を例示的に示すことが意図されており、本開示を限定するものではない。
【００４３】
デバイス１０は、様々なメッセージをサーバ２０に送信し得る。図１の実施例においては、メッセージ３０、３２、３４、および３６が、サーバ２０に送信されている。メッセージ３０、３２、３４、および３６の各々は、異なる事項に関連しているので、図１においては、異なるラインタイプで示されている。メッセージ３０、３２、３４、または３６の各々は、特にコンテンツ要求、コンテンツ受信の確認、追加的なコンテンツの要求、コンテンツ応答等であり得る。
【００４４】
デバイス１０は、例えば、メッセージ３０、３２、３４、および３６のような多数のメッセージをサーバ２０に送信し得る。しかしながら、無線通信の非同期的な性質が原因で、メッセージ３０、３２、３４、および３６に基づく、サーバ２０からデバイス１０への応答は、サーバ２０がメッセージ３０、３２、３４、および３６を受信した順序に対応する順序ではないことがあり得る。
【００４５】
図１の実施例においては、第１にメッセージ３２に関連する応答４０が、デバイス１０において受信される。続いて、メッセージ３６に関連する応答４２が、デバイス１０によって受信される。
【００４６】
図１の実施例においては、次に応答４４が、メッセージ３４に対応して受信される。最後に、メッセージ３０に対応する応答４６が受信される。
【００４７】
上記の問題は、デバイスがどのようにして、メッセージ３０を応答４６に、メッセージ３２を応答４０に、メッセージ３４を応答４４に、メッセージ３６を応答４２に相関させるかということである。本明細書においては、メッセージ３０および応答４６は、同じトランザクションの一部分として使用される。同様に、メッセージ３２および応答４０は、同じトランザクションの一部分であり；メッセージ３４および応答４４は、同じトランザクションの一部分であり；メッセージ３６および応答４２は、同じトランザクションの一部分であり、４つのトランザクションの各々は、互いに一意的なものである。
【００４８】
上記の解決策は、トランザクション識別子およびトランザクション内のメッセージ番号またはインデックスの組み合わせとして、メッセージ識別子フィールドを構成することである。これは、以下のように示され得る：
［トランザクション識別子］［メッセージインデックス］
当業者によって理解され得るように、トランザクション識別子とメッセージインデックスとの組み合わせは、ネットワークリソースの節約を提供する。特に、トランザクション識別子は、一意的である必要がある。本明細書において、一意的とは、グローバルに一意的な値、または特にキャリアドメイン、デバイス、サービス、チャネル等のコンテクスト内での一意的な値として定義され得る。また、当業者によって理解され得るように、一意的は、必ずしも完全に一意的ではないことを意味することがあり得、統計的に別のトランザクション識別子と同じ値を有する確率が低いことを意味することがあり得る。
【００４９】
メッセージ識別子はまた、一意的である必要があるので、一意的なトランザクション識別子とトランザクション識別子内のメッセージに対するインデックスとの組み合わせは、一意的なメッセージ識別子を提供する。一意的な値は、実装されるために、全てのメッセージにおいて、かなりの量のバイトを要求するので、１つの一意的な値の消去は、リソースを節約する。
【００５０】
したがって、例えば、トランザクション識別子が「１２３４」である場合、メッセージインデックスは、トランザクション識別子の後に追加され得る。メッセージインデックスは、例えば０１であり得、そしてその結果、メッセージ識別子は、「１２３４０１」であり得る。当業者によって理解され得るように、これは、トランザクションおよびメッセージの両方を識別するための、非常に短い識別子を形成する。
【００５１】
上記の「１２３４」の実施例は、単に単純化のために述べたものに過ぎず、実際には、特にキャリアドメイン、デバイス、サーバ、サービス、またはチャネル等を、グローバルに形成するために要求される多量のバイト、一意的な識別子が、使用される必要があり得る。そのような識別子は、例えば、デバイスまたはサーバにおけるタイムスタンプに基づいて、乱数生成器を用いて生成され得る。
【００５２】
上記のメッセージインデックスは、非常に小さいものであり得る。例えば、無線トランザクションは典型的には短いものであり、通常は１６メッセージ未満を要求する。したがって、トランザクション識別子に追加されるメッセージインデックスは、２〜４ビットであり得る。しかしながら、これは、メッセージインデックスの実施例を例示的に示すことが意図されており、限定を意図していない。その他のメッセージインデックスのサイズが使用され得、当業者には明白であり得る。
【００５３】
上記は、トランザクション識別子（典型的には、３２〜２５６バイトであり得る）が、必ずしも別個のメッセージ識別子（これもまた、３２〜２５６バイトであり得る）に追加される必要がないという利点を提供する。これにより、オーバーヘッドが節約される。
【００５４】
さらなる局面において、トランザクション識別子およびメッセージインデックスを有する単一のメッセージ識別子フィールドが、トランザクション識別子、メッセージ識別子、および好適にはメッセージタイプフィールドを置換するために使用され得る。
【００５５】
特に、コンテンツ配信フレームワークにおいてトランザクションのタイプが予め定義されるので、トランザクションに関与しているメッセージのタイプもまた、予め定義される。さらに、トランザクション内のこれらのメッセージの順序が、同様に予め定義される。
【００５６】
これは、図２、図３、および図４に関連して、より詳細に示され得る。
【００５７】
図２を参照すると、プルコンテンツシステムを用いた典型的なプッシュ通知に対する流れ図が示されている。
【００５８】
図２においては、デバイス１０およびサーバ２０が互いに通信している。図２の実施例におけるトランザクションは、第１のメッセージ２１０（これは、コンテンツが利用可能であるというデバイス１０への通知である）を示している。これに応答して、デバイス１０は、利用可能なコンテンツを取得するコンテンツ要求を含んでいるメッセージ２１２をサーバ２０に送信する。
【００５９】
そしてサーバが、メッセージ２１４において、コンテンツ応答を送信する。
【００６０】
そしてデバイス１０が、オプションとして、確認２１６を送信する。
【００６１】
理解され得るように、メッセージ２１０、２１２、２１４、および２１６は、プルコンテンツシステムを用いたプッシュ通知のためのトランザクションを形成する。トランザクションのタイプは、メッセージのタイプおよびこのメッセージの順序を定義する。
【００６２】
また、メッセージ２１０、２１２、または２１４のうちの任意のものに対してエラーが発生した場合、上記で定義されたメッセージの代わりに、ステップ２１２、２１４、または２１６において、エラーメッセージが送信され得る。
【００６３】
図３を参照すると、プルシステムが提供されている。図３の実施例において、デバイス１０は、サーバ２０と通信する。第１のメッセージ３１０が、デバイス１０からサーバ２０に送信され、コンテンツ要求を形成する。
【００６４】
メッセージ３１０に応答して、サーバ２０は、メッセージ３１２を送信し、コンテンツ応答を提供する。そしてデバイス１０は、オプションとして、確認メッセージ３１４を送信する。
【００６５】
図２の上記の実施例のように、図３のメッセージ３１０、３１２、および３１４は、単一のトランザクションを形成する。さらに、トランザクションのタイプに基づいて、トランザクションにおけるメッセージが予め決定され、メッセージの順序が予め決定される。
【００６６】
当業者によって理解され得るように、メッセージ３１０または３１２においてエラーが発生した場合、メッセージ３１２または３１４の代わりに、エラーメッセージが送信され得る。
【００６７】
図４を参照すると、この図面は、プッシュシステムの例示的な流れ図を示している。図４の実施例においては、図２の実施例のように単にコンテンツの通知だけではなく、コンテンツそれ自身が、デバイス１０にプッシュされる。
【００６８】
図４において、デバイス１０は、サーバ２０と通信する。サーバ２０は、メッセージ４１０において、コンテンツまたはコンテンツの一部分をデバイス１０に送信する。
【００６９】
これに応答して、デバイス１０はオプションとして、メッセージ４１２において確認を送信し得る。あるいは、デバイス１０は、メッセージ４１２において、追加的なコンテンツの要求またはエラーメッセージを送信し得る。
【００７０】
そしてサーバ２０は、コンテンツが利用可能になったとき、または追加的なコンテンツの要求が受信された場合に、メッセージ４１４において、より多くのコンテンツを送信する。これは、例えばコンテンツフラグメンテーションに対して使用され得、コンテンツフラグメンテーションにおいては、デバイスがスペース制限を有しているか、またはプッシュベアラがサイズ制限を有している。メッセージ４１６において、デバイスはオプションとして、コンテンツの受信を確認するか、追加的なコンテンツを要求するか、またはエラーメッセージを送信し得る。
【００７１】
図２および図３の上記の実施例のように、図４におけるメッセージ４１０および４１２は、単一のトランザクションを形成している。さらに、メッセージ４１２が追加的なコンテンツの要求であった場合、メッセージ４１４および４１６はまた、これと同じトランザクションの一部分を形成し得る。一実施形態において、メッセージインデックスは、最大に到達した後にリセットされ得る。したがって例えば、１６個のメッセージがトランザクションの一部分である場合、メッセージインデックスは、１５個目のメッセージの後にゼロに戻され得る。
【００７２】
トランザクションのタイプに基づいて、メッセージ４１０および４１２に対するメッセージのタイプが知られ、さらにメッセージ４１０および４１２の順序も知られる。
【００７３】
トランザクション識別子、およびトランザクション内のメッセージ番号またはインデックスに関する提案されている使用は、トランザクションに関与しているメッセージのタイプの識別を可能にする。なぜならば、トランザクションにおいて、メッセージのタイプおよび順序は予め決定されているからである。
【００７４】
特に、トランザクションのタイプを一意的に識別するために、様々なオプションが存在する。
【００７５】
第１のオプションにおいて、トランザクションのタイプは、メッセージ識別子のトランザクション識別子内に埋め込まれ得る。この結果、メッセージインデックスを識別する第２のサブセットがトランザクション内に存在するという要件になる。具体的には、デバイスが１６個のタイプのトランザクションを受信することができる場合、トランザクションのタイプは、トランザクション識別子内の一部の場所において追加された、４ビットであり得る。したがって例えば、トランザクション識別子は、トランザクション識別子の開始において、トランザクションタイプ識別子を追加することによって、拡張され得る。これは、以下のように示され得る：
［トランザクション識別子］［メッセージインデックス］
ここで、メッセージ識別子のトランザクション識別子のサブセットは、トランザクションのタイプを含んでいる。
【００７６】
しかしながら、これは限定を意図するものではなく、トランザクションのタイプは、トランザクション識別子フィールド内の任意の場所において追加され得る。これら２つを組み合わせるためのさらなる様々な形式が、当業者には公知である。
【００７７】
第２のオプションは、トランザクションのタイプが、メッセージ識別子フィールドのトランザクション識別子のサブセットに埋め込まれない場合である。代わりに、デバイスまたはサーバが、デバイスまたはサーバがまだ認識していないトランザクション番号を受信すると、これは典型的には、トランザクション内の第１のメッセージとして解釈される。したがって、メッセージのタイプとは別にトランザクションのタイプを追加する代わりに、トランザクション内の第１のメッセージに対するメッセージインデックスが、トランザクションのタイプを識別し得る。デバイスまたはサーバによって、メッセージインデックスがトランザクションのタイプを識別すること、およびそのメッセージはトランザクションにおける第１のメッセージであることが、理解され得る。
【００７８】
第２のオプションが、トランザクションにおける第１のメッセージに対して示され、この場合、メッセージ識別子は、
［トランザクション識別子］［トランザクションタイプインデックス］
であり、トランザクションにおける次のメッセージに対し、メッセージ識別子は、
［トランザクション識別子］［メッセージインデックス］
である。
【００７９】
したがって、トランザクション内の連続的なメッセージは、識別子のメッセージ部分内に、メッセージインデックスを所有している。
【００８０】
第３のオプションは、トランザクションのタイプが、メッセージ識別子のトランザクション識別子のサブセットに埋め込まれていない場合である。ほとんどの場合、トランザクション内の第１のメッセージのタイプが、トランザクションのタイプを一意的に識別する。トランザクションのタイプ、およびトランザクション内の予想されるメッセージの序列に関する決定が、第１のメッセージの処理に基づいて、動的になされ得る。あるいは、トランザクションのタイプは、特に、メッセージを配信するために使用された無線ベアラまたはインターフェース、メッセージのサイズ等に基づいて、決定され得る。例えば、メッセージのサイズは、プッシュコンテンツとコンテンツ利用可能メッセージのプッシュ通知とを区別するために使用され得、ひいては、図２および図４に示されているトランザクションを分離する。この実施例もまた、識別子フィールドのメッセージのサブセットに対するメッセージインデックスのみを要求する。これは、以下のように示され得る：
［トランザクション識別子］［メッセージインデックス］
上記の発見的方法は、メッセージが処理され得る処理構造の階層（ｔｉｅｒ）の識別を可能にする。この場合、発見的方法が間違い（ｗｒｏｎｇ）で、メッセージが間違った階層において処理されたことが発見された場合でさえも、メッセージは、正しい階層において再処理され得、その結果、そのメッセージに対してわずかな遅延を生じ得る。しかしながら、全体的に見て、これらのタイプの発見的方法を使用することによって、時間の節約が達成され得る。
【００８１】
第４のオプションは、トランザクション識別子が、トランザクションのタイプに関する情報を含まないということである。この場合、メッセージタイプ情報が、メッセージのサブセット内に含まれ得る。これは、以下のように示され得る：
［トランザクション識別子］［メッセージのサブセット］
メッセージのサブセットは、例えば、以下のように示され得る：
［メッセージインデックス］［メッセージタイプ］
トランザクションのタイプに関する上記の使用は、図５に関連してさらに示される。図５は、組み合わされたトランザクション識別子およびメッセージ識別子を利用する例示的な方法の流れ図を示している。図５の実施例において、方法はステップ５１０において開始し、ここでは、メッセージが受信される。そしてこの方法は、ステップ５１２に進行し、ここでは、トランザクション識別子が受信されたメッセージから抽出される。
【００８２】
そしてこの方法は、ステップ５１４に進行し、ここでは、デバイスまたはサーバが、ステップ５１２において抽出されたトランザクション識別子が、新しいトランザクション識別子であるかどうかをチェックし得る。当業者によって理解されるように、デバイスまたはサーバ（例えば、図１、図２、図３または図４からのデバイス１０またはサーバ２０）は、トランザクション識別子を格納し得、格納されているトランザクション識別子のうちのどれともマッチしないトランザクション識別子が受信された場合には、これは、ステップ５１４に対する新しいトランザクション識別子であるとみなされ得る。
【００８３】
ステップ５１４から、新しいトランザクション識別子が識別された場合、プロセスはステップ５１６に進行し、ここでは、トランザクションのレコードが形成され、デバイスまたはサーバ上に格納される。
【００８４】
ステップ５１６から、その後プロセスはステップ５１８に進行し、ここでは、トランザクションのタイプが利用可能であるかどうかを確認するためのチェックが行われ得る。ステップ５１８は、トランザクションのタイプを識別するために、例えば上記で教示されたような様々なオプションを使用し得る。これは例えば、分離されたトランザクションタイプフィールドが識別子フィールドに追加される場合には、トランザクションからトランザクションタイプフィールドを抽出することを含み得る。あるいは、これは第１のメッセージであり得るので、トランザクションのタイプを識別するために、メッセージインデックスが、トランザクションタイプインデックスによって置換され得る。さらなる代替において、発見的方法のモデルが、トランザクションのタイプを識別するために使用され得る。さらなる代替においては、メッセージのタイプが、トランザクションのタイプを識別するために使用され得る。
【００８５】
ステップ５１８から、トランザクションのタイプが利用可能である場合、その後プロセスはステップ５２０に進行し、ここでは、トランザクションのレコードが、トランザクションのタイプを含むように更新される。
【００８６】
トランザクション識別子が新しくない場合にはステップ５１４から、トランザクションのタイプが利用可能でない場合にはステップ５１８から、あるいはステップ５２０から、プロセスはステップ５３０に進行する。ステップ５３０においては、ステップ５１０において受信されたメッセージが処理される。
【００８７】
その後プロセスはステップ５３２に進行し、ここでは、トランザクションの状態が更新される。例えば、図２のトランザクションのタイプを利用している場合、一旦コンテンツ利用可能性メッセージが受信されると、トランザクションの状態は、デバイスにおいて期待される次のメッセージが、コンテンツを抽出するために送信されるべき要求であることを示し得る。理解され得るように、各トランザクションは、使用されるメッセージおよびメッセージの順序に関する特定のプロトコルを有している。
【００８８】
プロセスは、ステップ５３２からステップ５３４に進行し、ここでは、デバイスまたはサーバが、プロトコルデータにしたがって、トランザクションの流れを継続する。
【００８９】
当業者によって理解され得るように、図５の実施例は、受信されたメッセージから、トランザクションタイプメッセージタイプと称されるトランザクション識別子、およびメッセージ識別子を含む情報を抽出するために使用され得る。その他の実施例は、当業者には明白であり得る。
【００９０】
図６を参照すると、図６は、典型的なシステムのブロック図を示している。このシステムにおいて、デバイス６１０はサーバ６２０と通信する。デバイス６１０は、受信されたメッセージを処理するように構成された、メッセージプロセッサ６１２を含んでいる。
【００９１】
メッセージプロセッサ６１２は、プロトコルデータ格納装置６１４と通信する。プロトコルデータ格納装置６１４は、デバイス６１０が期待する様々なプロトコルを格納している。これらのプロトコルは、図２、図３、および図４によって示されているような、トランザクションの工程（ｐｒｏｇｒｅｓｓｉｏｎ）を含んでいる。
【００９２】
メッセージプロセッサ６１２はさらに、トランザクション状態格納装置６１６と通信し、このトランザクション状態格納装置は、デバイス６１０が関与する様々なトランザクションの現在の状態を格納している。したがって例えば、デバイスが、例えば図２に示されているようなトランザクションを介して進行し、コンテンツ利用可能性通知と共にトランザクション識別子を提供するサーバから第１のメッセージを受信し、そして同じトランザクション識別子を使用してコンテンツ要求を送信した場合、トランザクション状態格納装置６１６は、そのトランザクション識別子に関連付けられた次のメッセージが、サーバ６２０からのコンテンツ応答であるということを示し得る。
【００９３】
同様に、サーバ６２０は、受信されたメッセージを処理するように構成されたメッセージプロセッサ６２２を含んでいる。さらに、プロトコルデータ格納装置６２４は、サーバがデバイス６１０と通信するために採用し得る様々なプロトコル、またはデバイス６１０と通信するときにサーバ６２０が使用し得る様々なプロトコルを含んでいる。
【００９４】
サーバ６２０はさらに、サーバ６２０が関与する様々なトランザクションの現在の状態を格納するために、トランザクション状態格納装置６２６を含んでいる。このようにして、メッセージ６３０は、デバイス６１０とサーバ６２０との間でパスされる。
【００９５】
当業者によって理解され得るように、図１、図２、図３、および図４からのデバイス１０、および図６からのデバイス６１０は、任意のモバイルデバイスであり得る。１つの例示的なモバイルデバイスは、図７に示されている。
【００９６】
図７は、本開示の装置および方法の好適な実施形態と共に使用されるのに適切な、モバイル局を示すブロック図である。モバイル局７００は、好適には、少なくとも音声通信能力およびデータ通信能力を有している、双方向無線通信デバイスであり得る。提供される完全な機能に依存して、この無線デバイスは、例えば、データメッセージングデバイス、双方向ページャ、無線ｅ−メールデバイス、データ通信能力を有するセル電話、無線インターネット機器、またはデータ通信デバイスと称され得る。
【００９７】
モバイルデバイス７００が双方向通信可能な場合、このモバイルデバイスは、通信サブシステム７１１を組み込み得る。この通信サブシステムは、受信器７１２および送信器７１４の両方、ならびに関連するコンポーネント（例えば、好適には埋め込み型または内蔵型の、アンテナ要素７１６および７１８、局所発信器（ＬＯ）７１３、および例えばデジタル信号プロセッサ（ＤＳＰ）７２０のような処理モジュールのうちの１つ以上）を含んでいる。通信分野の当業者には明白であり得るように、通信サブシステム７１１の特定の設計は、デバイスが動作することが意図されている通信ネットワークに依存し得る。
【００９８】
ネットワークアクセス要件はまた、ネットワーク７１９のタイプに依存して変動し得る。例えば、一部のＣＤＭＡネットワークのネットワークアクセスは、加入者すなわちモバイル局７００のユーザと関連付けられている。ＣＤＭＡモバイル局は、ＣＤＭＡネットワーク上で動作するために、リムーバブルユーザ識別モジュール（ＲＵＩＭ；ｒｅｍｏｖａｂｌｅ  ｕｓｅｒ  ｉｄｅｎｔｉｔｙ  ｍｏｄｕｌｅ）または加入者識別モジュール（ＳＩＭ；ｓｕｂｓｃｒｉｂｅｒ  ｉｄｅｎｔｉｔｙ  ｍｏｄｕｌｅ）カードを必要とし得る。通常ＳＩＭ／ＲＵＩＭインターフェース７４４は、ディスケットまたはＰＣＭＣＩＡカードのような、ＳＩＭ／ＲＵＩＭカードが出し入れされ得るカードスロットに類似したものであり得る。ＳＩＭ／ＲＵＩＭカードは、約６４Ｋのメモリを有し得、多数のキー構成７５１、およびその他の情報７５３（例えば、識別、および加入者関連情報）を有し得る。
【００９９】
要求されたネットワーク登録または作動手順が完了すると、モバイルデバイス７００は、ネットワーク７１９上で通信信号を送信および受信し得る。図７に示されているように、ネットワーク７１９は、モバイルデバイスと通信する複数の基地局から構成され得る。例えば、ハイブリッドＣＤＭＡ１×ＥＶＤＯシステムにおいては、ＣＤＭＡ基地局およびＥＶＤＯ基地局が、モバイル局と通信し、両方に同時に接続される。ＥＶＤＯ基地局およびＣＤＭＡ１×基地局は、モバイルデバイスと通信するために、異なるページングスロットを使用する。
【０１００】
ネットワーク７１９を介してアンテナ７１６によって受信された信号は、受信器７１２に入力され、この受信器は、信号増幅、周波数ダウン変換、フィルタリング、チャネル選択、等の一般的な受信器機能を実行し得、そして図７に示されている例示的なシステムにおいては、アナログデジタル（Ａ／Ｄ）変換を実行し得る。受信された信号のＡ／Ｄ変換は、ＤＳＰ７２０において実行されるべきさらに複雑な通信機能（例えば、復調および復号化）を可能にする。同様に、送信されるべき信号は、ＤＳＰ７２０によって、変調および符号化を含む処理がなされ、デジタルアナログ変換、周波数アップ変換、フィルタリング、増幅、およびアンテナ７１８を介する通信ネットワーク７１９上での送信のために、送信器７１４に入力される。ＤＳＰ７２０は、通信信号を処理するだけではなく、受信器および送信器の処理をも提供する。例えば、受信器７１２および送信器７１４において通信信号に適用される利得は、ＤＳＰ７２０に実装された自動利得制御アルゴリズムを介して、適応可能なように制御され得る。
【０１０１】
モバイルデバイス７００は、デバイスの全体の動作を制御する、マイクロプロセッサ７３８を含んでいることが好適である。通信機能（少なくともデータ通信および音声通信を含む）は、通信サブシステム７１１を介して実行される。マイクロプロセッサ７３８はまた、さらなるデバイスサブシステム、例えば、ディスプレイ７２２、フラッシュメモリ７２４、ランダムアクセスメモリ（ＲＡＭ）７２６、補助入力／出力（Ｉ／Ｏ）サブシステム７２８、シリアルポート７３０、１つ以上のキーボードまたはキーパッド７３２、スピーカ７３４、マイクロフォン７３６、例えば短距離通信サブシステムのようなその他の通信サブシステム７４０、および一般的に７４２として示されているその他任意のデバイスサブシステムと相互作用する。シリアルポート７３０は、ＵＳＢポートまたは当該技術分野において公知なその他のポートを含み得る。
【０１０２】
図７に示されているサブシステムの一部は、通信関連機能を実行するが、その他のサブシステムは、「常駐」またはデバイス上の機能を提供し得る。一部のサブシステム（例えば、キーボード７３２およびディスプレイ７２２）が、通信関連機能（例えば、通信ネットワーク上での送信のためにテキストメッセージを入力する等）およびデバイス常駐機能（例えば、電卓またはタスクリスト）の両方のために使用され得るということに、留意されたい。
【０１０３】
マイクロプロセッサ７３８によって使用されるオペレーティングシステムソフトウェアは、好適には、例えばフラッシュメモリ７２４のような永続性の格納装置に格納される。このフラッシュメモリは、リードオンリメモリ（ＲＯＭ）またはその他の格納要素（図示されず）によって代用され得る。当業者は、オペレーティングシステム、特定のデバイスアプリケーション、またはそれらの一部分は、揮発性メモリ（例えば、ＲＡＭ７２６）に一時的にロードされ得るということを理解し得る。受信した通信信号はまた、ＲＭＡ７２６に格納され得る。
【０１０４】
示されているように、フラッシュメモリ７２４は、コンピュータプログラム７５８とプログラムデータ格納装置７５０、７５２、７５４、および７５６の両方の異なるエリアに分離され得る。これらの異なる格納タイプは、各プログラムが、それら自身のデータ格納要求に対して、フラッシュメモリ７２４の一部分を割り当て得るということを示している。マイクロプロセッサ７３８は、そのオペレーティングシステム機能に加えて、モバイル局上のソフトウェアアプリケーションの実行が可能であることが好適である。基本的な動作を制御する予め定義されたアプリケーションのセット（例えば、少なくともデータ通信アプリケーションおよび音声通信アプリケーションを含む）は、通常、製造中にモバイルデバイス７００上にインストールされ得る。その他のアプリケーションは、その後または動的にインストールされ得る。
【０１０５】
好適なソフトウェアアプリケーションは、モバイルデバイスのユーザに関連するデータアイテムを編集および管理する能力を有している、個人情報端末（ＰＩＭ）アプリケーションであり得、このデータアイテムは、例えばｅ−メール、カレンダーイベント、音声メール、予約、およびタスクシステム、等であり得るが、これらには限定されない。通常、ＰＩＭデータアイテムの格納を容易にするために、１つ以上のメモリ格納装置が、モバイルデバイス上で利用可能であり得る。そのようなＰＩＭアプリケーションは、無線ネットワーク７１９を介して、データアイテムを送信および受信する能力を有していることが好適であり得る。好適な実施形態において、ＰＩＭデータアイテムは、無線ネットワーク７１９を介することにより、ホストコンピュータシステムに格納または関連付けられたモバイルデバイスユーザの対応するデータアイテムとシームレスに統合され、同期化および更新される。さらなるアプリケーションもまた、ネットワーク７１９、補助Ｉ／Ｏサブシステム７２８、シリアルポート７３０、短距離通信サブシステム７４０、またはその他任意の適切なサブシステム７４２を介することによって、モバイル局７００にロードされ得、マイクロプロセッサ７３８による実行のために、ユーザによって、ＲＡＭ７２６または好適には不揮発性格納装置（図示されず）にインストールされ得る。アプリケーションのインストールにおけるそのような柔軟性は、デバイスの機能を増大させ、向上されたデバイス上機能、通信関連機能、またはそれらの両方を提供し得る。例えば、セキュア通信アプリケーションは、モバイルデバイス７００を使用して実行されるべき電子コマース機能、およびその他のそのような金融トランザクション機能が可能であり得る。
【０１０６】
データ通信モードにおいて、受信した信号（例えば、テキストメッセージまたはウェブページダウンロード）は、通信サブシステム７１１によって処理され、マイクロプロセッサ７３８に入力され得る。このマイクロプロセッサは、ディスプレイ７２２または補助Ｉ／Ｏデバイス７２８に出力するために、受信された信号をさらに処理することが好適である。配信クライアント１４０と同じものであり得る配信クライアント７６０もまた、入力を処理し得る。
【０１０７】
モバイル局７００のユーザはまた、ディスプレイ７２２およびもしかすると補助Ｉ／Ｏデバイス７２８と共に、キーボード７３２（これは、好適には、完全英数字キーボードまたは電話タイプのキーパッドであり得る）を使用することによって、データアイテム（例えば、ｅ−メールメッセージ）を編集し得る。そのような編集されたアイテムは、その後通信サブシステム７１１を介して、通信ネットワーク上で送信され得る。
【０１０８】
受信した信号が好適にはスピーカ７３４に出力され得、送信のための信号がマイクロプロセッサ７３６によって生成され得ることを除き、音声通信に対して、モバイル局７００の全体の動作は類似している。代替的な音声または補助Ｉ／Ｏサブシステム（例えば、音声メッセージ録音サブシステム）もまた、モバイル局７００上に実装され得る。音声またはオーディオ信号出力は、主にスピーカ７３４を介して実現されることが好適であるが、ディスプレイ７２２もまた、例えば発呼側の識別、音声コールの経過時間、またはその他の音声コール関連情報の表示を提供するために使用され得る。
【０１０９】
図７におけるシリアルポート７３０は、通常、ユーザのデスクトップコンピュータ（図示されず）との同期化が所望され得る、パーソナルデジタルアシスタント（ＰＤＡ）タイプのモバイルデバイスに実装され得るが、オプションのデバイスコンポーネントである。そのようなポート７３０は、ユーザが外部デバイスまたはソフトウェアアプリケーションを介して優先度を設定することを可能にしたり、あるいは無線通信ネットワーク以外を介して、モバイル局７００に情報またはソフトウェアダウンロードを提供することによって、モバイル局７００の能力を拡張したりし得る。代替的なダウンロードパスは、例えば、直接的であってその結果信頼性のある確実な接続を介することにより、暗号化キーをデバイス上にロードし、それによって、セキュアなデバイス通信を可能にするために使用され得る。当業者によって理解され得るように、シリアルポート７３０はさらに、モバイルデバイスをコンピュータに接続し、モデムとして機能させるために使用され得る。
【０１１０】
その他の通信サブシステム７４０、例えば短距離通信サブシステムは、モバイルデバイス７００と、必ずしも同様なデバイスとは限らない異なるシステムまたはデバイスとの間に通信を提供し得る、さらなるオプションのコンポーネントである。例えば、サブシステム７４０は、同様に使用可能なシステムおよびデバイスとの通信を提供するために、赤外線デバイス、ならびに関連付けられた回路およびコンポーネント、またはＢｌｕｅｔｏｏｔｈ（ＴＭ）通信モジュールを含み得る。
【０１１１】
本明細書中に記載された実施形態は、本出願の技術要素に対応する要素を有している構造、システム、または方法の実施例である。この記載された説明は、本出願の技術と同様な要素に対応する代替的な要素を有する実施形態を、当業者が製造したり、使用したりすることを可能にする。したがって、本出願の技術の意図されている範囲は、本明細書中に記載されている本出願の技術とは異なるその他の構造、システム、または方法を含み、本明細書中に記載されている本出願の技術とは本質的ではない点のみが異なるその他の構造、システム、または方法をもさらに含む。
【符号の説明】
【０１１２】
１０、６１０  デバイス
２０、６２０  サーバ
３０、３２、３４、３６、６３０  メッセージ
４０、４２、４４、４６  応答
６１２、６２２  メッセージプロセッサ
６１４、６２４  プロトコルデータ格納装置
６１６、６２６  トランザクション状態格納装置
【図１】
2011147187.tif 000003
【図２】
2011147187.tif 000004
【図３】
2011147187.tif 000005
【図４】
2011147187.tif 000006
【図５】
2011147187.tif 000007
【図６】
2011147187.tif 000008
【図７】
2011147187.tif 000009