(57)【特許請求の範囲】
【請求項１】
セルラーコンピューティングデバイス間でのメッセージの送信を容易にするセルラーネットワークであって、該メッセージがしばしば、サイズの制限された複数のショートメッセージフラグメントからなるマルチパートメッセージであるセルラーネットワークにおける、呼び出し側アプリケーションに、前記メッセージをフラグメントするために必要とされる詳細な処理を実施させることなく、前記複数のショートメッセージフラグメントをアプリケーションが送信することを容易にする方法であって、
呼び出し側アプリケーションから、標準化されたインタフェースを介してファンクション呼び出しを受信する動作であって、該ファンクション呼び出しが前記セルラーネットワークを介した第１のメッセージの前記送信を要求する動作と、
前記第１のメッセージを、サイズの制限された一組のショートメッセージフラグメントに分割する動作と、
前記セルラーネットワークを介して、前記各ショートメッセージフラグメントを送信させる動作と、
前記メッセージについて前記呼び出し側アプリケーションからの配信レポートを収集する動作と、
前記各ショートメッセージフラグメントについての前記収集された配信レポートを解釈して、全体としての適切な配信応答を決定する動作と、
全体としての前記メッセージについての前記配信応答を前記呼び出し側アプリケーションに返す動作と
を含み、
前記呼び出し側アプリケーションは、第２の組のショートメッセージフラグメントから再組み立てされる第２のメッセージについて、受信側アプリケーションとして動作するように構成されている
ことを特徴とする方法。
【請求項２】
標準化されたインタフェースを介して呼び出し側アプリケーションからファンクション呼び出しを受け取る動作は、アプリケーションプログラムインタフェースを介して呼び出し側アプリケーションからファンクション呼び出しを受け取る動作を有する、請求項１に記載の方法。
【請求項３】
標準化されたインタフェースを介して呼び出し側アプリケーションからファンクション呼び出しを受け取る動作は、標準化されたユーザインタフェースからファンクション呼び出しを受け取る動作を有する、請求項１に記載の方法。
【請求項４】
前記メッセージを複数のショートメッセージフラグメントに分割する動作の前に、前記メッセージを処理する動作をさらに有し、前記メッセージを処理する動作は、前記メッセージの圧縮、前記メッセージの暗号化、及び前記メッセージのＸＭＬへのラッピングのうち少なくとも一を有する、
請求項１に記載の方法。
【請求項５】
前記メッセージをサイズの制限された複数のショートメッセージフラグメントに分割する動作の前に、
前記セルラーネットワークのサイズ制限に従うために、前記メッセージが複数のショートメッセージとして送信されなければならないと判断する動作をさらに有する、請求項１に記載の方法。
【請求項６】
配信レポートを求める要求を受け取る動作が前記標準化されたインタフェースを介して行われる、請求項１に記載の方法。
【請求項７】
適切な配信応答を返す動作が前記標準化されたインタフェースを介して行われる、
請求項１に記載の方法。
【請求項８】
セルラーコンピューティングデバイス間でのメッセージの送信を容易にするセルラーネットワークにおいて使用するためのコンピュータプログラムであって、前記メッセージがしばしば、サイズの制限された複数のショートメッセージフラグメントからなるマルチパートメッセージであり、前記コンピュータプログラムは、呼び出し側アプリケーションに、前記メッセージをフラグメントするために必要とされる詳細な処理を実施させることなく、前記複数のショートメッセージフラグメントをアプリケーションが送信することを容易にする方法を実施し、前記コンピュータプログラムは、
呼び出し側アプリケーションから、標準化されたインタフェースを介してファンクション呼び出しを受信するコンピュータ実行可能命令であって、前記ファンクション呼び出しが前記セルラーネットワークを介して第１のメッセージの前記送信を要求するコンピュータ実行可能命令と、
前記第１のメッセージを、サイズの制限された一組のショートメッセージフラグメントに分割するコンピュータ実行可能命令と、
前記セルラーネットワークを介して、前記各ショートメッセージフラグメントを送信させるコンピュータ実行可能命令と、
前記メッセージについて前記呼び出し側アプリケーションからの配信レポートを収集するコンピュータ実行可能命令と、
前記各ショートメッセージフラグメントについての前記収集された配信レポートを解釈して、全体としての適切な配信応答を決定するコンピュータ実行可能命令と、
全体としての前記メッセージについての前記配信応答を前記呼び出し側アプリケーションに返すコンピュータ実行可能命令と
を含み、
前記呼び出し側アプリケーションは、第２の組のショートメッセージフラグメントから再組み立てされる第２のメッセージについて、受信側アプリケーションとして動作するように構成されている
ことを特徴とするコンピュータプログラム。
【請求項９】
前記コンピュータプログラムは一または複数のコンピュータ読み取り可能媒体に記憶され、前記一または複数のコンピュータ読み取り可能媒体は物理的記憶媒体である、請求項８に記載のコンピュータプログラム。
【請求項１０】
標準的インタフェースを介して呼び出し側アプリケーションからファンクション呼び出しを受け取るコンピュータ実行可能命令は、アプリケーションプログラムインタフェースを介して呼び出し側アプリケーションからファンクション呼び出しを受け取るコンピュータ実行可能命令を有する、請求項９に記載のコンピュータプログラム。
【請求項１１】
標準的インタフェースを介して呼び出し側アプリケーションからファンクション呼び出しを受け取るコンピュータ実行可能命令は、標準化されたユーザインタフェースからファンクション呼び出しを受け取るコンピュータ実行可能命令を有する、請求項８に記載のコンピュータプログラム。
【請求項１２】
前記コンピュータプログラムは、前記メッセージをサイズの制限された複数のショートメッセージフラグメントに分割するコンピュータ実行可能命令を実行する前に、前記セルラーネットワークのサイズ制限に従うために、前記メッセージを複数のショートメッセージとして送信しなければならないと判断するコンピュータ実行可能命令をさらに有する、請求項８に記載のコンピュータプログラム。
【請求項１３】
セルラーコンピューティングデバイス間でのメッセージの送信を容易にするセルラーネットワークであって、該メッセージがしばしば、サイズの制限された複数のショートメッセージフラグメントからなるマルチパートメッセージであるセルラーネットワークにおける、呼び出し側アプリケーションに、前記メッセージをフラグメントするために必要とされる詳細な処理を実施させることなく、前記複数のショートメッセージフラグメントをアプリケーションが送信することを容易にする方法であって、
呼び出し側アプリケーションから、標準化されたインタフェースを介してファンクション呼び出しを受信する動作であって、該ファンクション呼び出しは前記セルラーネットワークを介した第１のメッセージの前記送信を要求し、前記呼び出し側アプリケーションは、一組のショートメッセージフラグメントから再組み立てされる第２のメッセージについて、受信側アプリケーションとして動作するように構成されている動作と、
前記ファンクション呼び出しに応じて、前記セルラーネットワークを介して、前記メッセージを送信する動作と、
前記呼び出し側アプリケーションからの前記メッセージについての配信レポートを収集する動作と、
前記各ショートメッセージフラグメントについての前記収集された配信レポートを解釈して、全体としての適切な配信応答を決定する動作と、
全体としての前記メッセージについての前記配信応答を前記呼び出し側アプリケーションに戻す動作とを有することを特徴とする方法。
【請求項１４】
前記ファンクション呼び出しに応じて前記セルラーネットワークにより前記メッセージを送信するステップは、
前記メッセージをサイズの制限された複数のショートメッセージに分割する動作と、
前記第１のメッセージの各ショートメッセージフラグメントを前記セルラーネットワークを介して送信させる動作とを有する、請求項１３に記載の方法。
【請求項１５】
セルラーコンピューティングデバイス間のメッセージの送信を容易にするセルラーネットワークであって、前記メッセージがしばしば、サイズの制限された複数のショートメッセージフラグメントからなるマルチパートメッセージであるセルラーネットワークにおける、受信側アプリケーションがマルチパートメッセージを受信する方法であって、
マルチパートメッセージに対応する複数のショートメッセージフラグメントを受信する動作と、
前記複数のショートメッセージフラグメントを前記マルチパートメッセージに再組み立てする動作と、
前記再組み立てされたメッセージを受信側アプリケーションに、標準化されたインタフェースを介して渡す動作と、
呼び出し側アプリケーションから前記メッセージについての配信レポートを収集する動作と、
前記各ショートメッセージフラグメントについての前記収集された配信レポートを解釈して、全体としての適切な配信応答を決定する動作と、
全体としての前記メッセージについての前記配信応答を前記呼び出し側アプリケーションに戻す動作とを含み、
前記受信側アプリケーションが第２のマルチパートメッセージの呼び出し側アプリケーションとして動作するように構成されていることを特徴とする方法。
【請求項１６】
標準化されたインタフェースを介して受信側アプリケーションに再組み立てされたメッセージを渡す動作は、
前記再組み立てされたメッセージをユーザインタフェースに渡す動作を有する、請求項１５に記載の方法。
【請求項１７】
標準化されたインタフェースを介して受信側アプリケーションに再組み立てされたメッセージを渡す動作は、アプリケーションプログラムインタフェースを介して受信側アプリケーションに前記再組み立てされたメッセージを渡す動作を有する、請求項１５に記載の方法。
【請求項１８】
標準化されたインタフェースを介して前記受信側アプリケーションからファンクション呼び出しを受け取る、前記ファンクション呼び出しは完全なマルチパートメッセージの処理と転送を要求するものであるステップをさらに有する、請求項１５に記載の方法。
【請求項１９】
セルラーコンピューティングデバイス間のメッセージの送信を容易にするセルラーネットワークにおいて使用するためのコンピュータプログラムであって、前記メッセージがしばしば、サイズの制限された複数のショートメッセージフラグメントからなるマルチパートメッセージであり、前記コンピュータプログラムは、受信側アプリケーションが前記メッセージを再組み立てするために必要な詳細な処理を実行することなく、マルチパートメッセージを受信する方法を実施し、前記コンピュータプログラムは、
マルチパートメッセージに対応する複数のショートメッセージフラグメントを受信するコンピュータ実行可能命令と、
前記複数のショートメッセージフラグメントを前記マルチパートメッセージに再組み立てするコンピュータ実行可能命令と、
受信側アプリケーションに、標準化されたインタフェースを介して前記再組み立てされたメッセージを渡すコンピュータ実行可能命令と、
呼び出し側アプリケーションから、前記メッセージについての配信レポートを収集するコンピュータ実行可能命令と、
前記各ショートメッセージフラグメントについての前記収集された配信レポートを解釈して、全体としての適切な配信応答を決定するコンピュータ実行可能命令と、
全体としての前記メッセージについての前記配信応答を前記呼び出し側アプリケーションに戻すコンピュータ実行可能命令とを含み、
受信側アプリケーションは、第２のマルチパートメッセージの呼び出し側アプリケーションとして動作するよう構成されたことを特徴とするコンピュータプログラム。
【請求項２０】
標準化されたインタフェースを介して受信側アプリケーションに再組み立てされたメッセージを渡すコンピュータ実行可能命令は、前記再組み立てされたメッセージをユーザインタフェースに渡すコンピュータ実行可能命令を有する、請求項１９に記載のコンピュータプログラム。
【請求項２１】
標準化されたインタフェースを介して受信側アプリケーションに再組み立てされたメッセージを渡すコンピュータ実行可能命令は、アプリケーションプログラムインタフェースを介して受信側アプリケーションに前記再組み立てされたメッセージを渡すコンピュータ実行可能命令を有する、請求項１９に記載のコンピュータプログラム。
【請求項２２】
前記コンピュータプログラムは、標準化されたインタフェースを介して前記受信側アプリケーションからファンクション呼び出しを受け取る、前記ファンクション呼び出しは完全なマルチパートメッセージの処理と転送を要求するものであるコンピュータ実行可能命令をさらに有する、請求項１９に記載のコンピュータプログラム。
【請求項２３】
前記コンピュータプログラムは一または複数のコンピュータ読み取り可能媒体に記憶され、前記一または複数のコンピュータ読み取り可能媒体は物理的記憶媒体である、請求項１９に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はセルラー通信の分野に関する。具体的には、本発明は、セルラーデバイスの間で、標準化されたインタフェースを使用してマルチパートメッセージを通信するための方法、システム及びコンピュータプログラムプロダクトに関する。
【背景技術】
【０００２】
通信は、欠くことのできない、人間に必要なものであると幅広く認知されている。一般に、通信技術をマスターする者は大抵、価値のある関係を発展させ、さもなければ現代社会においてその影響圏を広げるとしばしば考えられている。おそらくこの理由のため、我々の通信能力を進歩させる発明はしばしば、我々の文明に最も大きな貢献をするものと認識される。したがって、現代において最も価値のある2つの技術発明は電話及び無線であった。
【０００３】
電話の出現により、個人がリアルタイムで膨大な距離を介して音声により通信することができるようになった。従来の電話は「ハードワイヤード」であり、電話機は有線接続に依拠し、電話網を介して他の電話機と通信を行っていた。したがって、従来の電話は相対的に特定の場所に固定されていた。
【０００４】
無線の出現により、電線を使用することなく、音声情報のリアルタイムな通信が可能となった。その中心においては、従来の無線技術は、広く放送されている地上放送波信号に電流信号を変換するアンテナを使用することを含む。放送の範囲内にある受信器が地上放送波信号を変換して電流信号に戻し、スピーカを介してオーディオ情報をレンダリングする準備をすることができる。
【０００５】
ワイヤレス電話通信は、従来の無線及び電話技術を併合する。具体的には、ワイヤレス電話は地上放送波信号を送受信するためのアンテナを含む。一旦、通信が確立されると、ユーザは電話に向かって話すことができる。音声情報がワイヤレスで、所定の伝送周波数を使用して受信器に送信され、受信器は従来の公衆電話交換網(PSTN)など、有線電話網に接続される。一旦、受信されると、この情報を有線電話網における接続を通して他の電話に通信する。他の電話がワイヤレスであった場合、伝送装置がこの情報を受信し、他の電話にワイヤレスでこの情報を送信する。他の電話は情報を元の電話に同じ方法で戻すように通信することができる。
【０００６】
セルラー技術以前に、ワイヤレス電話通信は無線電話を含んでおり、無線電話では、１つの中央アンテナ塔が比較的広いエリアに対して存在した。これにより、この比較的広いエリアに対して維持することができるチャネルの数が限定されていた。これは各チャネルが所与の周波数レンジを占有したからである。したがって、この比較的広いエリアでいずれかの所与の時間に無線電話を介して通信できる者は少数のみであった。加えて、エリアが広いため、電話伝送電力をかなり大きなものにする必要があった。したがって、無線電話は、今日の標準によるとかなり大きく扱いにくいものであり、したがって比較的少数の者しか使用していなかった。
【０００７】
ワイヤレス電話技術は、セルラー技術の発達により、大衆が広く使用可能なものとなった。セルラー技術は、電話の使用領域を、「セル」と呼ばれる比較的小さいエリアに空間的に分割することを含み、セルは通常10マイル(16.09km)四方の範囲にすることができる。各セルは、ワイヤレス信号をセル内の携帯電話と送受信するための基地局を含む。
【０００８】
各基地局は、隣接する周囲のセルによって使用された周波数とは異なる周波数を使用してワイヤレス信号を送受信するが、より多数のリモートセルが実際には同じ周波数を再使用することができる。したがって、いずれかの所与のセルで使用された周波数が、その隣接する周囲のセルとは異なる限り、周囲のセルからの干渉が最小限にされ、周波数をネットワーク中で再使用することができる。これにより、より多数のチャネルを使用可能にすることができ、したがって、セルラーネットワークは、以前の無線電話網よりも桁違いに多数の同時通話をサポートする。
【０００９】
加えて、セルエリアが比較的小さいので、要求される伝送電力が比較して小さく、したがって電話のバッテリサイズを比較的小さく保つことができる。さらに、高い周波数がセルラー通信に割り当てられるので、セルラーアンテナも小さくすることができる。したがって、携帯電話及びセルラーネットワークが、ワイヤレス電話通信のためのもっとも有力な手段として登場している。
【００１０】
初期の携帯電話はまったくのアナログのみであり、これは電話がアナログ音声信号などのアナログ信号を処理することを意味した。後に、デジタル電話も使用可能になり、より効率的な圧縮及び暗号化技術が可能となった結果、セルラーチャネルに関連付けられたスペクトル効率が改善された。デジタル電話は情報をデジタル処理し、及び音声情報の通信だけでなく、テキストまたはデータメッセージの通信にも使用されている。
【００１１】
典型的に、セルラーネットワークはこのようなテキストまたはデータメッセージ通信をサポートする。しかし、セルラーネットワークは、セルラーネットワークを介して通信することができるメッセージフラグメントのサイズを制限する。たとえば、Global System for Mobile communications(または「GSM」)セルラーネットワークはしばしば、ショートメッセージサービス(SMS)と呼ばれるサービスを提供し、このサービスではメッセージは最大140バイトまで許される。多くの他のセルラー技術も類似のショートメッセージングサービスをサポートしている。
【００１２】
メッセージがあるサイズを超えた場合、メッセージは、サイズの制限された複数のショートメッセージフラグメントに分割され、各ショートメッセージフラグメントが(いずれかの他のヘッダデータと共に)セルラーネットワークのサイズ許容量を超えないようにされる。ヘッダデータはたとえば、ルーティング情報、一意的にマルチパートメッセージを識別するメッセージ識別子、識別されたマルチパートメッセージにおけるショートメッセージフラグメントの数の指示、マルチパートメッセージにおいて対応するショートメッセージフラグメントの順序などを含むことができる。
【００１３】
このようなマルチパートメッセージを個々のショートメッセージフラグメントにフラグメンティングするプロセスは非常に複雑である。たとえば、ショートメッセージフラグメントの許容サイズは必ずしも固定されないが、ヘッダ情報のサイズにも左右される。以下で、用語「ショートメッセージフラグメント」とは、元のより大きいメッセージからフラグメントされたテキストまたはデータの一部を指す。用語「ショートメッセージ」とは、添付のヘッダデータを伴うショートメッセージフラグメントを指す。
【００１４】
たとえば、セルラーネットワークがショートメッセージのサイズを140バイトに制限すると仮定すると、ショートメッセージのサイズ制限は140バイトではあるが、単純に、各ショートメッセージフラグメントを140バイトにすべきであると言うことはできない。これはショートメッセージフラグメントにヘッダ情報が添付されるからである。所与のショートメッセージフラグメントについて、付随するヘッダ情報の最大サイズが35バイトである場合、このショートメッセージフラグメントの絶対的なサイズ制限は105バイトとなる。またあるショートメッセージフラグメントについて、付随するヘッダ情報の最大サイズが45バイトである場合、この他のショートメッセージフラグメントの絶対的なサイズ制限は95バイトである。
【００１５】
加えて、先に示唆したように、受信側セルラーデバイスで様々なショートメッセージフラグメントの適切な再組み立てを考慮して、フラグメンティングするには、ヘッダ情報を形成することが必要となる。したがって、このようなヘッダ情報を含めると、受信側セルラーデバイスがヘッダ情報を解釈する能力を考慮しなければならない。また、セルラーネットワークがショートメッセージフラグメントを順序に反して配信する可能性があるので、ヘッダに含まれた順序付け情報があるべきである。したがって、これらのフラグメンテーション及び再組み立て機能の実施は、しばしば符号化の多大な労力を必要とする。
【発明の概要】
【発明が解決しようとする課題】
【００１６】
従来、セルラーネットワークを介したメッセージの通信を提供したいかなるアプリケーションも、これらの自明でないフラグメンテーション及び再組み立ての問題に個別に対処しなければならなかった。したがって、各アプリケーションプロバイダは、フラグメンテーション及び再組み立てに対処するため、個別にオーサーコードを必要とした。フラグメンテーション及び再組み立てについての規格を変更または拡張すべきである場合、各アプリケーションプロバイダがこの変更に対処しなければならない。したがって、望まれるものは、セルラーアプリケーションプロバイダがショートメッセージフラグメントのフラグメンテーション及び再組み立てに対処するコードを書く必要をなくす方法、システム及びコンピュータプログラムである。
【課題を解決するための手段】
【００１７】
マルチパートメッセージをいくつかのショートメッセージフラグメントにフラグメンティングすること、及びセルラーネットワークを介して、送信側アプリケーションがこのようなフラグメンテーションを実行するために必要とされた細部に対処することなく、このようなフラグメントを送信することを可能にする方法、システム及びコンピュータプログラムプロダクトを記載する。加えて、受信側アプリケーションが、ショートメッセージフラグメントのマルチパートメッセージへの再組み立てに関連する詳細に関与することなく、マルチパートメッセージの再組み立てが実施される。
【００１８】
マルチパートメッセージを送信するとき、呼び出し側アプリケーションがショートメッセージングレイヤに、アプリケーションプログラムインタフェース(API)またはユーザインタフェースなど、標準化されたインタフェースを介してファンクション呼び出しを発行する。ファンクション呼び出しは、メッセージを送信するための要求を表している。メッセージが大きすぎて単一のショートメッセージとして送信することができないと決定した後、ショートメッセージングレイヤがメッセージを十分に小さいサイズのフラグメントに分割する。これにより、ヘッダ情報を追加すると結果としてセルラーネットワークのサイズ要件内であるショートメッセージとなる。次いで、各ショートメッセージがセルラーネットワークにわたって送信される。
【００１９】
呼び出し側アプリケーションが配信レポートも要求している場合、ショートメッセージングレイヤが、各ショートメッセージについて後に受信された配信レポートを追跡する。ショートメッセージについてのすべての配信レポートが一度受信されると、ショートメッセージングレイヤが様々な配信レポートを解釈して、全体としてのマルチパートメッセージについての適切な配信レポートを決定する。次いで、ショートメッセージングレイヤが適切な配信レポートを呼び出し側アプリケーションに戻す。
【００２０】
マルチパートメッセージを受信するとき、マルチパートメッセージに対応する様々なショートメッセージフラグメントがショートメッセージングレイヤによって受信され、次いで、ショートメッセージングレイヤが、各ショートメッセージフラグメントに付随したヘッダ情報を使用して、ショートメッセージフラグメントをマルチパートメッセージに組み立てる。再組み立てされたマルチパートメッセージを受信側アプリケーションに、ショートメッセージングレイヤが渡す。このプロセスは要求なしに自動的に行われてもよいが、一実施形態ではこのサービスは、受信側アプリケーションから受信した、そのように行うための速達の要求を介して提供される。
【００２１】
したがって、マルチパートメッセージに付随した配信を送信、受信あるいは追跡するとき、アプリケーションは、セルラーネットワークの制限されたサイズ要件に関係する潜在的な詳細に関与する必要がない。その代わりに、アプリケーションは単にマルチパートメッセージの送信を要求し、マルチパートメッセージを受信し、及び選択的に全体としてのマルチパートメッセージについての配信レポートを受信する。マルチパートメッセージを送信あるいは受信するために規格を変更すべきである場合、アプリケーションを変更する必要はない。その代わりに、ショートメッセージングレイヤを適合させ、規格における変更に対処するようにすることができる。
【００２２】
追加の本発明の特徴及び利点を以下に続く記載において述べる。これは部分的にはこの記載から明らかになり、あるいは本発明の実施によって知ることができる。本発明の特徴及び利点は、特に特許請求の範囲において示された器具及び組合せを用いて理解されかつ得られる。本発明のこれらの及び他の特徴は、以下の記載及び特許請求の範囲からより十分に明らかになり、あるいは、以下に述べる本発明の実施によって知ることができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の原理を実施することができる電話網を概略的に例示する図である。
【図２】図１のセルラーネットワークを介して通信することができ、かつ本発明の原理を実施することができる電話機の関連したハードウェア及びソフトウェアコンポーネントを例示する図である。
【図３】図２の電話機において実施することができ、かつアプリケーションプロバイダがマルチパートメッセージのフラグメンテーション及び再組み立ての詳細を実施する必要をなくすように動作するアーキテクチャを例示する図である。
【図４】呼び出し側アプリケーションに、メッセージをフラグメンティングするために必要とされた詳細な処理を実施させることなく、多数のショートメッセージフラグメントを送信するアプリケーションを容易にするための方法を説明するためのフローチャートを示す図である。
【図５】多数のショートメッセージフラグメントを送信するアプリケーションを容易にするための方法を説明するためのより詳細なフローチャートを示す図である。
【図６】多数のショートメッセージフラグメントを送信するアプリケーションを容易にするための方法を説明するためのより詳細なフローチャートを示す図である。
【図７】ショートメッセージについての配信レポートに応答するための方法を説明するためのフローチャートを示す図である。
【図８】受信側アプリケーションが、メッセージを再組み立てするために必要な詳細な処理を実施しなくてもよい方法で、マルチパートメッセージを受信するための方法を説明するためのフローチャートを示す図である。
【図９】受信側アプリケーションが、メッセージを再組み立てするために必要な詳細な処理を実施しなくてもよい方法で、マルチパートメッセージを受信するための方法を説明するためのより詳細なフローチャート示す図である。
【図１０】マルチパートメッセージについての統一された配信レポートを提供するために使用されたトラッキングリストのデータ構造を例示する図である。
【発明を実施するための形態】
【００２４】
上に列挙した、及び他の本発明の利点及び特徴を得ることができる方法を記載するため、その特定の実施形態を参照することによって、上で簡単に記載した本発明のより詳細を記載し、この実施形態を付属の図面において例示する。これらの図面が本発明の典型的な実施形態のみを示し、したがってその範囲を限定するものと見なされるべきではないことを理解するとともに、追加の特異性及び詳細と共に添付の図面の使用を通じて本発明を記載し、かつ説明する。
【００２５】
本発明は、アプリケーションが、マルチパートメッセージをフラグメンティングし、かつ再組み立てするために必要な詳細を実施することなく、セルラーネットワークを介して送信するためのマルチパートメッセージのフラグメンテーション及び再組み立てを容易にするための方法、システム及びコンピュータプログラムプロダクトまでおよぶ。詳細には、マルチパートメッセージを転送するための呼び出し側アプリケーションが、標準化されたインタフェースを使用して、ショートメッセージングレイヤがメッセージを送信することを要求する。メッセージが十分に大きい場合、ショートメッセージングレイヤがメッセージをフラグメンティングし、かつ送信し、要求された場合、マルチパートメッセージについての統一された配信レポートを戻す。受信側では、ショートメッセージングレイヤがマルチパートメッセージを再組み立てし、組み立てられたメッセージを受信側アプリケーションに渡すことで、受信側アプリケーションは、マルチパートメッセージを再組み立てするために必要とされた詳細を実施する必要がなくなる。
【００２６】
本発明の実施形態は、専用または汎用コンピューティングデバイスを含むことができ、これは様々なコンピュータハードウェアを含む。これについては以下でより詳細に論じる。本発明の範囲に含まれる実施形態は、格納されたコンピュータ実行可能命令またはデータ構造を搬送あるいは有するためのコンピュータ読み取り可能な媒体も含む。このようなコンピュータ読み取り可能な媒体は、汎用または専用コンピュータによってアクセスすることができるいかなる可能な媒体にすることもできる。限定ではなく、例として、このようなコンピュータ読み取り可能な媒体は物理的記憶媒体を含むことができる。これらはRAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または、所望のプログラムコード手段をコンピュータ実行可能命令またはデータ構造の形式で搬送し、あるいは格納するために使用することができ、かつ汎用または専用コンピュータによってアクセスすることができる、他のいずれかの媒体などである。
【００２７】
情報が、ネットワークまたは別の通信接続(ハードワイヤード、ワイヤレス、または、ハードワイヤード乃至ワイヤレスの組合せのいずれか)を介してコンピュータに転送され、あるいは提供されるとき、コンピュータは適切にこの接続をコンピュータ読み取り可能な媒体とみなす。したがって、このようないかなる接続も、適切にコンピュータ読み取り可能な媒体と呼ばれる。上記の組合せも、コンピュータ読み取り可能な媒体の範囲に含まれるべきである。コンピュータ実行可能命令は、たとえば、汎用コンピュータ、専用コンピュータまたは専用処理デバイスに特定のファンクションまたはファンクションのグループを実行させる命令及びデータを含む。
【００２８】
必ずしも要求されないが、本発明は、プログラムモジュールなど、コンピューティングデバイスによって実行されるコンピュータ実行可能命令のコンテクストにおいて記述される。一般に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造など、特定のタスクを実行するか、あるいは特定の抽象データタイプを実施するものを含む。コンピュータ実行可能命令、付随するデータ構造及びプログラムモジュールは、本明細書に開示された方法のステップを実行するためのプログラムコード手段の実施例を示している。このような実行可能命令または関連するデータ構造の特定のシーケンスは、このようなステップにおいて記述されたファンクションを実施するための対応する動作の実施例を示している。
【００２９】
本発明を、多数のタイプのコンピュータシステム構成を有するネットワークコンピューティング環境において実施することができる。これにはパーソナルコンピュータ、ハンドヘルドデバイス、マルチプロセッサシステム、マルチプロセッサベースまたはプログラマブルな家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどが含まれることは、当業者には理解されよう。本発明はまた分散コンピューティング環境において実施することもでき、この環境ではタスクが、通信ネットワークを通じて(ハードワイヤードリンク、ワイヤレスリンクによって、または、ハードワイヤード乃至ワイヤレスリンクの組合せによって)リンクされているローカル及びリモート処理デバイスによって実行される。分散コンピューティング環境では、プログラムモジュールをローカル及びリモートのメモリストレージデバイスの両方にロケーティングすることができる。
【００３０】
図１は、簡素化された形式において、本発明が動作することのできる電話網100を例示する。電話網100は、例示された電話機101乃至106など、いくつかの電話機の間の通信を容易にする。電話機のいくつかはセルラーデバイスであり、したがって電話網を経由し、セルラーネットワークを介して通信する。たとえば、電話機101、103及び105はセルラーデバイスであり、電話網100を介して、対応するセルラーネットワーク111、113及び115を使用して通信する。
【００３１】
セルラーネットワークは音声情報を通信できるだけでなく、しばしばテキスト及びデータメッセージなど、他のタイプのメッセージを通信することもできる。しかし、このようなセルラーネットワークでは、しばしばこのようなメッセージのサイズが制限される。たとえば、Global System for Mobile communication(GSM)におけるショートメッセージサービス(SMS)はこのようなメッセージサービスの1つである。加えて、とりわけ、時分割多重アクセス(TDMA)、符号分割多重アクセス(CDMA)、ワイヤレスCDMA(WCDMA)、1xRTT、3G、UMTS及びCDMA2000が、サイズの制限されたメッセージを送信することができるセルラー技術である。
【００３２】
メッセージのサイズをそのように保証するならば、本発明により、このようなメッセージのフラグメンティング及び再組み立てが容易におこなわれる。各電話機101ないし106を従来の電話の形式において例示するが、電話機を、電話網を介して通信することができるいかなるデバイスにすることもできることに留意されたい。
【００３３】
図2では、携帯電話機の1つ(たとえば、電話機101)をさらに詳細に例示するが、他の携帯電話機は類似のコンポーネントを持っていてもよい。電話機101は、本発明の原理を実施するための適切なセルラーデバイスを示すが、本発明は決してこの電話機による実施に限定されない。本発明を、本明細書に記載したような適切な修正を有するいかなるセルラーデバイスにおいても実施することができる。
【００３４】
電話機101は、ユーザが、入力ユーザインタフェース203を通じて情報を入力し、かつ出力ユーザインタフェース202を介して提示された情報を見直すことができるようにするためのユーザインタフェース201を含む。たとえば、出力ユーザインタフェース202は、オーディオ情報をユーザに提示するためのスピーカ204、ならびにビジュアル情報をユーザに提示するためのディスプレイ205を含む。電話機101はまた、セルラーネットワーク111とのワイヤレス通信のためのアンテナ209も有する。
【００３５】
入力ユーザインタフェース203は、オーディオ情報を電子的形式にレンダリングするためのマイクロフォン206を含むことができる。加えて、入力ユーザインタフェース203は、12個のボタンによって表されたダイヤリングコントロール207を含み、これを通じてユーザが電話番号をダイヤルし、テキストメッセージを入力し、あるいは電話機101にデータメッセージを送信するように命令することができる。入力ユーザインタフェース203は、またナビゲーションコントロールボタン208も含み、これはディスプレイ205上に一覧表示することができる様々なエントリ及びオプションを通じてナビゲートすることでユーザを支援する。
【００３６】
電話機101は移動電話の外観を有するが、電話機101の見えない特徴により、複雑かつ柔軟性のある汎用処理機能が可能となる。たとえば、電話機101はまたプロセッサ211及びメモリ212も含み、これらが互いに、かつユーザインタフェース201に、バス210を介して接続される。メモリ212は、一般的に、実施することができる広範な種類の揮発性及び/または不揮発性メモリを表している。電話機101において特定のタイプのメモリが使用されたことは、本発明にとって重要ではない。
【００３７】
１つまたは複数のプログラムモジュールを含むプログラムコード手段を、メモリ212に格納することができる。1つまたは複数のプログラムモジュールは、オペレーティングシステム213、1つまたは複数のアプリケーションプログラム214、他のプログラムモジュール215及びプログラムデータ216を含むことができる。図2に示した環境は例示的でしかなく、決して、本発明の原理を実施することができる広範な種類のセルラーデバイスのほんの小さい部分すら表しているものではない。
【００３８】
図３は、本発明による、電話機101などのセルラーデバイスによって実施された様々なコンポーネント間のインタラクションを例示する構成図である。アプリケーション301は、アプリケーションプログラム214の1つとすることができ、セルラーネットワーク111などのセルラーネットワークを介してメッセージを送信することが必要なサービスを提供する。アプリケーション301が、セルラーネットワークを介したメッセージの送信に付随する詳細な要件のすべてに対処しなければならない代わりに、ショートメッセージングレイヤ302にファンクション呼び出しを発行してメッセージの送信を要求する。
【００３９】
次いで、ショートメッセージングレイヤ302が、図4に例示した方法400を実施する。図4は、呼び出し側アプリケーションに、メッセージをフラグメンティングするために必要とされた詳細な処理を実施させることなく、複数のショートメッセージフラグメントを送信するアプリケーションを容易にするための方法を説明するためのフローチャートを示した図である。方法400は、ショートメッセージングレイヤ302が呼び出し側アプリケーション301から標準化されたインタフェース304を介してファンクション呼び出しを受信する動作を含む(動作401)。ファンクション呼び出しは、セルラーネットワークを介してメッセージを送信するための要求を表している。
【００４０】
この詳細な説明及び特許請求の範囲において、用語「ファンクション呼び出し」は、あるソフトウェアモジュールから別のソフトウェアモジュールへのサービスの要求と定義される。そして、これは、それが呼び出し側ソフトウェアモジュールのオペレーションの結果として自動であるかどうか、又は、その呼び出しが、送信するためのコマンドをコマンドラインにユーザが入力するといった、標準化されたユーザインタフェースへのユーザ入力に応答したものであるかどうかにかかわらない。
【００４１】
次いで、ショートメッセージングレイヤ302が、ファンクション呼び出しに応答し、セルラーネットワークを介してメッセージを送信するためのステップを実行する(ステップ402)。ステップ402は、対応する動作403及び404を含んでもよい。具体的には、ショートメッセージングレイヤ302は、サイズの制限されたいくつかのショートメッセージフラグメントに分割(動作403)してメッセージを送信し、次いで、図３のネットワークドライバ303を経由し、セルラーネットワークを介して各ショートメッセージフラグメントを送信させる(動作404)。
【００４２】
ショートメッセージングレイヤ302が配信レポートのための要求を受信した場合(405)、ショートメッセージングレイヤ302は、セルラーネットワーク111から、ネットワークドライバ303を経由してショートメッセージフラグメントのための配信レポートを収集する(動作406)。次いで、様々な配信レポートが解釈されて、全体としてのマルチパートメッセージについての適切な配信レポートが決定される(407)。さらに、アプリケーション301へ、標準化されたインタフェース304を介してマルチパートメッセージについての配信レポートが戻される。
【００４３】
図５は、呼び出し側アプリケーションに、メッセージをフラグメンティングするために必要とされた詳細な処理を実施させることなく、複数のショートメッセージフラグメントを送信するアプリケーションを容易にするための方法500の特定の実施形態を説明するためのより詳細なフローチャートを示した図である。この方法は、ショートメッセージングレイヤ302が、標準化されたインタフェースを介してメッセージの送信を要求するファンクション呼び出しを受信するときに開始する(動作501)。図5の動作501は、図4の動作401に類似している。
【００４４】
次に、ショートメッセージングレイヤ302が、全体としてのメッセージ上で行う必要のあるいかなる処理も実行する(動作502)。このような処理は、メッセージを圧縮すること、拡張可能マークアップ言語(XML)にメッセージングをラッピングすること及び暗号化することなどを含んでもよい。
【００４５】
ショートメッセージングレイヤ302は、メッセージのタイプに基づいて各ショートメッセージフラグメントのために使用可能なバイト数を計算する(動作503)。たとえば、テキストメッセージが、ある1つのサイズのショートメッセージを有することを認められてもよいし、同時にワイヤレスアプリケーションプロトコル(または「WAP」)メッセージは、異なるサイズのショートメッセージを有してもよい。
【００４６】
ショートメッセージングレイヤ302は、単一のメッセージを使用する場合、セルラーネットワークによって設定された最大許容サイズより小さく、メッセージを合わせることできるかどうかを決定する(504)。そうでなかった場合(504においてNO)、メッセージがマルチパートメッセージとして処理される。具体的には、ショートメッセージングレイヤ302がヘッダ情報を構築し、これが、対応するショートメッセージフラグメントを元のメッセージに再組み立てすることにおいて支援する(505)。このようなヘッダ情報は、たとえば、マルチパートメッセージの識別、マルチパートメッセージにおけるショートメッセージフラグメントの数、及びマルチパートメッセージにおける関連するショートメッセージフラグメントの順序を含んでもよい。
【００４７】
この追加のヘッダ情報により当然、未処理のショートメッセージフラグメントの許容可能サイズも変更する。次いで、ショートメッセージングレイヤ302が、新たに順序付けヘッダ情報を構築することを考慮してショートメッセージフラグメントの最大許容可能サイズを再計算する(動作506)。たとえば、セルラーネットワークにより、所与のメッセージのタイプに140バイトの最大ショートメッセージサイズが許されたと仮定する。このとき、順序付けヘッダ情報が20バイトであると仮定する。順序付けヘッダ情報を有するショートメッセージフラグメントの許容可能サイズは120バイトのみとなる。
【００４８】
最大ショートメッセージフラグメントサイズを計算して120バイトになると仮定する。メッセージが(動作502で、全体としてのメッセージ上のいかなる処理も実行した後に)620バイトであった場合、6つのショートメッセージが、完全なマルチパートメッセージを送信するために必要とされる。セルラーネットワーク又はアプリケーションには、単一のマルチパートメッセージに結合することができるショートメッセージの数を制限するものがある。たとえば、GSMネットワークは現在、1つのマルチパートメッセージにつき255のショートメッセージフラグメントに制限されている。ショートメッセージの個数が最大許容可能な数を超えた場合(507)、適切なエラーメッセージが呼び出し側アプリケーションに戻される(動作508)。そうでない場合(判断ブロック507においてNO)、動作506で計算されたフラグメントの最大サイズを使用して、メッセージが複数のショートメッセージフラグメントにフラグメンティングされる(動作601)。動作601でマルチパートメッセージがフラグメントされた後、完全なショートメッセージが、ショートメッセージフラグメント毎に構築される。これは、動作505で構築された適切なヘッダ情報を最後に追加あるいは前に付加することを含んでもよい。
【００４９】
ショートメッセージがマルチパートメッセージにおけるショートメッセージフラグメント毎に構築された後(すなわち、動作602の後)、あるいは、メッセージを単一のショートメッセージとして送信できることを決定した後(判断ブロック504においてYES)、１つまたは複数の各ショートメッセージが、セルラーネットワークを介して送信されるために必要に応じて符号化される(動作603)。この機能をネットワークドライバ303に組み込んでもよいし、あるいはそのかわりにショートメッセージングレイヤ302によって実施されてもよい。符号化(動作603)の後、各ショートメッセージを、セルラーネットワークを介して、たとえばネットワークドライバ303を使用して送信することができる(動作604)。
【００５０】
ショートメッセージのいずれかの送信にエラーがあった場合(605)、エラーがレポートされ(動作606)プロセスが終了する。そうでない場合(判断ブロック605においてNO)、対応する各ショートメッセージのためのトラッキング番号が、マルチパートメッセージに結合されるトラッキングリストに含まれる(動作607)。トラッキングリストの構造を図１０においてトラッキングリスト1000として例示する。トラッキングリスト1000は、マルチパートメッセージの識別(たとえば、「A」)を表すフィールド1001、及び、マルチパートメッセージにおける各ショートメッセージ(たとえば、5つのパート1ないし5)を識別するフィールド1002を含む。図１０において例示した識別は、明瞭にするために人が読み取り可能である。実際の識別は、電話機101に対して対応するフィールドを識別するいかなる2進数のシーケンスにしてもよい。次いで、ショートメッセージングレイヤ302は、トラッキングリストを呼び出し側アプリケーションに戻し(動作608)、各ショートメッセージのための配信レポートを待つ。
【００５１】
図７は、ショートメッセージングレイヤがどのようにショートメッセージについての配信レポートに応答するかについての方法を説明するためのフローチャートを示す図である。ショートメッセージのための配信レポートが受信されると(動作701)、ショートメッセージングレイヤ302は、ショートメッセージに付けられたトラッキング番号をトラッキングリストから除去する(動作702)。ショートメッセージのすべてに満たない配信レポートが受信された場合(判断ブロック703においてNO)、さらに配信レポートが受信されるまでプロセスは終了する。
【００５２】
マルチパートメッセージに対応するすべてのショートメッセージについての配信レポートが受信されている場合(判断ブロック703においてYES)、マルチパートメッセージ全体についての配信状況がレポートされる(動作704)。ショートメッセージのいずれかが、配信されないとレポートされた場合、ショートメッセージングレイヤ302はフラグメントを再送信しようと試みてもよい。最終的にすべてに満たないフラグメントしか配信されていないとレポートされた場合、どのような再送の後であっても、マルチパートメッセージ配信レポートは、「メッセージが配信されなかった」又は類似のものに対応するエラーを表示してもよい。他方では、ショートメッセージのすべてが、配信されたとレポートされた場合、マルチパートメッセージ配信レポートは、「メッセージが配信された」に対応する成功コードを表示してもよい。
【００５３】
この方法では、呼び出し側アプリケーション301は単にファンクション呼び出しを発行してメッセージを送信し、及び要求された場合には単一の配信レポートを戻され受信した。呼び出し側アプリケーション301は、メッセージを複数のショートメッセージにフラグメンティングすることに関する多数の細部に対処する必要はなかった。また、呼び出し側アプリケーション301は、個々のメッセージフラグメントについての配信レポートを解釈することに関与する必要はなかった。その代わりに、呼び出し側アプリケーション301はメッセージについての単一のレポートを受信した。したがって、呼び出し側アプリケーション301は、メッセージを送信するように要求されたこと、及び要求された場合にはメッセージ配信レポートが戻され受信したこと以外のことに気付く必要はない。
【００５４】
マルチパートメッセージを受信するために、マルチパートメッセージを送信するために使用された図3と同じアーキテクチャを使用することもできる。図８は、受信側アプリケーション(たとえば、アプリケーション301)が、メッセージを再組み立てするために必要な詳細な処理を実行しなくてもよい方法で、マルチパートメッセージを受信するための方法を例示した図である。最初に、ショートメッセージングレイヤ302が、マルチパートメッセージに対応するいくつかのショートメッセージフラグメントを受信し(動作801)、このいくつかのショートメッセージフラグメントをマルチパートメッセージに再組み立てし(動作802)、受信側アプリケーションに構造化かつ標準化されたインタフェースを介して再組み立てされたメッセージを渡す(動作803)。ショートメッセージングレイヤ302は、受信側アプリケーションから標準化されたインタフェースを介して受信された高速要求に応答してそのように行い、方法800を実行してもよい。
【００５５】
図９は、受信側アプリケーションが、メッセージを再組み立てするために必要な詳細な処理を実施しなくてもよい方法で、マルチパートメッセージを受信するためのより詳細な方法を説明するためのフローチャートを示す図である。方法900は、ショートメッセージが、たとえばネットワークドライバ303を介して受信されたとき(動作901)開始される。次いで、ショートメッセージが、必要とされるときに復号される(動作902)。この復号プロセスは本質的に、図６の動作603において実行された符合化プロセスの逆である。
【００５６】
ショートメッセージについてのヘッダ情報が調べられ、ショートメッセージがマルチパートメッセージの一部であるかどうかが決定される(903)。そうであった場合(判断ブロック903においてYES)、ショートメッセージが永続メモリに保存されて(動作904)、マルチパートメッセージの一部のみが受信される間、停電の場合にデータが失われないように保護される。
【００５７】
ヘッダ情報が再度調べられ、マルチパートメッセージに対応するすべてのショートメッセージが受信されたかどうかが決定される(905)。すべてに満たないショートメッセージしか受信されていなかった場合(判断ブロック905においてNO)、プロセスが動作901に戻り、次のショートメッセージを待つ。他方では、マルチパートメッセージについてのすべてのショートメッセージが受信されていた場合(判断ブロック905においてYES)、ヘッダ情報が使用されて、ショートメッセージフラグメントが単一のマルチパートメッセージに再組み立てされる(動作906)。
【００５８】
ショートメッセージングレイヤ302が、全体としてのメッセージ上で必要とされるいかなる処理も実行する。これらは圧縮、XMLからのアンラッピング又は解読などであり(動作907)、メッセージを受信側アプリケーションへ、標準化されたインタフェース304を介して配信し(動作908)、ショートメッセージを永続メモリから除去する(動作909)。
【００５９】
マルチパートメッセージを受信するとき、受信側アプリケーションは、様々なショートメッセージフラグメントをマルチパートメッセージに再組み立てすることに関連する細部に気付かないままである。その代わりに、これらのサービスがショートメッセージングレイヤ302によって提供される。
【００６０】
したがって、本発明の原理により、アプリケーションが、マルチパートメッセージのフラグメンティング及び再組み立てに必要とされた詳細な処理を実施する必要なく、マルチパートメッセージを、セルラーネットワークを介して送信することができる。他の特定の形式において、その精神または本質的な特性から逸脱することなく本発明を実施することができる。記載した実施形態はあらゆる面において、制限的ではなくただ例示的とのみ見なされるべきである。したがって、本発明の範囲は、前述の記載によってではなく特許請求の範囲によって示される。特許請求の範囲と同等の意味及び範囲内に入るすべての変更は、それらの範囲内に包含されるべきである。
【図１】
0005722260.tif 000002
【図２】
0005722260.tif 000003
【図３】
0005722260.tif 000004
【図４】
0005722260.tif 000005
【図５】
0005722260.tif 000006
【図６】
0005722260.tif 000007
【図７】
0005722260.tif 000008
【図８】
0005722260.tif 000009
【図９】
0005722260.tif 000010
【図１０】
0005722260.tif 000011