(57)【要約】  ＨＴＴＰまたはJava（登録商標）ＡＰＩなどのサービスによって期待されるプロトコル以外の、ＳＭＳまたはｅメールなどのプロトコルで発行された要求に応じるための手法が提供される。たとえば、多くの人々は、自分のモバイル機器を用いて、１セッションに多数の関連メッセージを有する能力を必要とするサービスと対話することを望んでいる。しかしながら、彼らのモバイル機器には、そのようなサービスとの対話をサポートするプロトコルがない。ここで提供される一手法は、モバイル機器とサービスとの間に中間物を介在させて、モバイル機器に代わってセッション能力を提供することである。一実施例では、サービスは、メニュー項目および／またはハイパーリンクを含むウェブページを返す。メニュー項目およびハイパーリンクは、ユーザが選択可能な参照番号によって先行された記述テキストに変換される。中間物は、選択された参照番号を保存することによってセッションコンテキストを維持する。
2005512210.tif 000002
【特許請求の範囲】
【請求項１】
機器とサービスとの間でセッションを実行する方法であって、コンピュータによって実現される以下のステップを含み、前記以下のステップは、
クライアント機器から第１のプロトコルで送られた第１のメッセージを中間物で受信するステップを含み、前記第１のプロトコルはセッションをサポートしておらず、前記以下のステップはさらに、
前記第１のメッセージに応答して、前記中間物が第２のメッセージを前記サービスに送信するステップと、
前記第２のメッセージに応答する第３のメッセージを前記中間物で受信するステップと、
前記第３のメッセージに応答して、セッション情報を前記中間物で記憶するステップと、
第４のメッセージを前記クライアント機器に送信するステップと、
前記クライアント機器からの第５のメッセージを前記中間物で受信するステップと、
前記第５のメッセージに応答して、前記セッション情報の場所を突き止めるステップと、
前記第５のメッセージの内容および前記セッション情報の双方に基づいて第６のメッセージを生成するステップと、
前記第６のメッセージを前記サービスに送信するステップとを含む、方法。
【請求項２】
前記第３のメッセージを前記中間物で受信するステップは、ハイパーリンクを有するメニューを含む前記第３のメッセージを前記中間物で受信するステップを含む、請求項１に記載の方法。
【請求項３】
前記第４のメッセージを前記クライアント機器に送信するステップは、参照番号を有するメニューを含む前記第４のメッセージを前記クライアント機器に送信するステップを含む、請求項１に記載の方法。
【請求項４】
前記サービスについてのサービスアドレスは、前記第１のメッセージと関連する送信先アドレスから少なくとも部分的に決定され、そして前記サービスについての前記サービスアドレスを、前記第１のメッセージと関連する前記送信先アドレスから少なくとも部分的に決定するステップを含む、請求項１に記載の方法。
【請求項５】
前記送信先アドレスはサイトワイドアドレスを含み、前記サービスアドレスを決定するステップは、前記サイトワイドアドレスに前記第１のメッセージと関連するショートネームを足したものに少なくとも部分的に基づいて、前記サービスアドレスを決定するステップを含む、請求項４に記載の方法。
【請求項６】
前記送信先アドレスはサービスレベルアドレスを含み、前記サービスアドレスを決定するステップは、前記サービスレベルアドレスに少なくとも部分的に基づいて、前記サービスアドレスを決定するステップを含む、請求項４に記載の方法。
【請求項７】
前記送信先アドレスは電話番号であり、前記サービスアドレスを決定するステップは、前記電話番号に少なくとも部分的に基づいて、前記サービスアドレスを決定するステップを含む、請求項４に記載の方法。
【請求項８】
アプリケーションマッピングが維持され、前記アプリケーションマッピングは、前記送信先アドレスを、前記送信先アドレスを聴取する前記中間物にマッピングする少なくとも１つのエントリを含み、前記第１のメッセージを受信するステップは、前記中間物の場所
を判断するために前記アプリケーションマッピングを用いて、前記第１のメッセージを前記中間物で受信するステップを含む、請求項４に記載の方法。
【請求項９】
サービスマッピングが維持され、前記サービスマッピングは前記送信先アドレスを前記サービスにマッピングする少なくとも１つのエントリを含み、前記サービスアドレスは前記エントリに少なくとも部分的に基づいており、前記第２のメッセージを送信するステップは、前記エントリに少なくとも部分的に基づいた前記サービスアドレスの前記サービスに、前記第２のメッセージを送信するステップを含む、請求項４に記載の方法。
【請求項１０】
サービスマッピングが維持され、前記サービスマッピングは、前記送信先アドレスに前記第１のメッセージからのショートネームを足したものを、前記サービスにマッピングする少なくとも１つのエントリを含み、前記サービスアドレスは前記エントリに少なくとも部分的に基づいており、前記第２のメッセージを送信するステップは、前記エントリに少なくとも部分的に基づいた前記サービスアドレスの前記サービスに、前記第２のメッセージを送信するステップを含む、請求項４に記載の方法。
【請求項１１】
前記第１のメッセージは命令を含み、前記第２のメッセージを前記サービスに送信するステップは、前記命令を示す前記第２のメッセージを作成するステップを含む、請求項１に記載の方法。
【請求項１２】
前記第１のメッセージを受信するステップはプロトコルハンドラによって実行され、
前記第１のメッセージから送信先アドレスおよび命令を抽出するステップと、
前記送信先アドレスに少なくとも部分的に基づいて前記中間物のアドレスを決定するステップと、
前記送信先アドレスおよび前記命令を前記中間物に送信するステップとをさらに含む、請求項１に記載の方法。
【請求項１３】
前記プロトコルハンドラはｅメールプロトコルハンドラであり、前記抽出するステップは前記ｅメールプロトコルハンドラによって実行される、請求項１２に記載の方法。
【請求項１４】
前記プロトコルハンドラはＳＭＳプロトコルハンドラであり、前記抽出するステップは前記ＳＭＳプロトコルハンドラによって実行される、請求項１２に記載の方法。
【請求項１５】
前記第２のメッセージはＨＴＴＰで送信される、請求項１に記載の方法。
【請求項１６】
前記第２のメッセージはJava（登録商標）ＡＰＩで送信される、請求項１に記載の方法。
【請求項１７】
前記第２のメッセージを前記サービスに送信するステップは、インターネットサービスプロバイダで実行される、請求項１に記載の方法。
【請求項１８】
前記セッション情報を記憶するステップは、ユーザがメニューから選択した参照番号を含むセッションコンテキストを維持するステップを含む、請求項１に記載の方法。
【請求項１９】
前記セッションコンテキストは状態機械で維持され、前記維持するステップは、前記セッションコンテキストを前記状態機械で維持するステップを含む、請求項１８に記載の方法。
【請求項２０】
前記第３のメッセージは前記セッション情報と関連しており、前記記憶するステップは、前記第３のメッセージを前記セッション情報と関連付けるステップを含む、請求項１に
記載の方法。
【請求項２１】
セッションがいつ開始するかを判断するために前記機器の機器ＩＤが使用され、前記第１のメッセージを前記中間物で受信するステップは、前記中間物が前記第１のメッセージと関連する前記機器ＩＤを初めて検出したときに、前記セッションを開始するステップを含む、請求項１に記載の方法。
【請求項２２】
セッションがいつ終了するかを判断するためにタイマが使用され、前記タイマが終了したときに前記セッションを終了させるステップをさらに含む、請求項１に記載の方法。
【請求項２３】
セッションは、タイマの終了またはユーザのメニューツリーからの退出の早い方で終了し、前記タイマの終了または前記ユーザの前記メニューツリーからの退出の早い方で前記セッションを終了させるステップをさらに含む、請求項１に記載の方法。
【請求項２４】
前記第３のメッセージを前記中間物で受信するステップは、オラクルのモバイルＸＭＬTMでの前記第３のメッセージを前記中間物で受信するステップを含む、請求項１に記載の方法。
【請求項２５】
機器とサービスとの間でセッションを実行するための命令の１つ以上のシーケンスを保持するコンピュータ読み取り可能な媒体であって、１つ以上のプロセッサによる、命令の１つ以上のシーケンスの実行は、１つ以上のプロセッサに以下のステップを実行させ、前記以下のステップは、
クライアント機器から第１のプロトコルで送られた第１のメッセージを中間物で受信するステップを含み、前記第１のプロトコルはセッションをサポートしておらず、前記以下のステップはさらに、
前記第１のメッセージに応答して、前記中間物が第２のメッセージを前記サービスに送信するステップと、
前記第２のメッセージに応答する第３のメッセージを前記中間物で受信するステップと、
前記第３のメッセージに応答して、セッション情報を前記中間物で記憶するステップと、
第４のメッセージを前記クライアント機器に送信するステップと、
前記クライアント機器からの第５のメッセージを前記中間物で受信するステップと、
前記第５のメッセージに応答して、前記セッション情報の場所を突き止めるステップと、
前記第５のメッセージの内容および前記セッション情報の双方に基づいて第６のメッセージを生成するステップと、
前記第６のメッセージを前記サービスに送信するステップとを含む、コンピュータ読み取り可能な媒体。
【請求項２６】
前記第３のメッセージを前記中間物で受信するステップは、ハイパーリンクを有するメニューを含む前記第３のメッセージを前記中間物で受信するステップを含む、請求項２５に記載のコンピュータ読み取り可能な媒体。
【請求項２７】
前記第４のメッセージを前記クライアント機器に送信するステップは、参照番号を有するメニューを含む前記第４のメッセージを前記クライアント機器に送信するステップを含む、請求項２５に記載のコンピュータ読み取り可能な媒体。
【請求項２８】
前記サービスについてのサービスアドレスは、前記第１のメッセージと関連する送信先アドレスから少なくとも部分的に決定され、前記サービスについての前記サービスアドレ
スを、前記第１のメッセージと関連する前記送信先アドレスから少なくとも部分的に決定するステップを含む、請求項２５に記載のコンピュータ読み取り可能な媒体。
【請求項２９】
前記送信先アドレスはサイトワイドアドレスを含み、前記サービスアドレスを決定するステップは、前記サイトワイドアドレスに前記第１のメッセージと関連するショートネームを足したものに少なくとも部分的に基づいて、前記サービスアドレスを決定するステップを含む、請求項２８に記載のコンピュータ読み取り可能な媒体。
【請求項３０】
前記送信先アドレスはサービスレベルアドレスを含み、前記サービスアドレスを決定するステップは、前記サービスレベルアドレスに少なくとも部分的に基づいて、前記サービスアドレスを決定するステップを含む、請求項２８に記載のコンピュータ読み取り可能な媒体。
【請求項３１】
前記送信先アドレスは電話番号であり、前記サービスアドレスを決定するステップは、前記電話番号に少なくとも部分的に基づいて、前記サービスアドレスを決定するステップを含む、請求項２８に記載のコンピュータ読み取り可能な媒体。
【請求項３２】
アプリケーションマッピングが維持され、前記アプリケーションマッピングは、前記送信先アドレスを、前記送信先アドレスを聴取する前記中間物にマッピングする少なくとも１つのエントリを含み、前記第１のメッセージを受信するステップは、前記中間物の場所を判断するために前記アプリケーションマッピングを用いて、前記第１のメッセージを前記中間物で受信するステップを含む、請求項２８に記載のコンピュータ読み取り可能な媒体。
【請求項３３】
サービスマッピングが維持され、前記サービスマッピングは前記送信先アドレスを前記サービスにマッピングする少なくとも１つのエントリを含み、前記サービスアドレスは前記エントリに少なくとも部分的に基づいており、前記第２のメッセージを送信するステップは、前記エントリに少なくとも部分的に基づいた前記サービスアドレスの前記サービスに、前記第２のメッセージを送信するステップを含む、請求項２８に記載のコンピュータ読み取り可能な媒体。
【請求項３４】
サービスマッピングが維持され、前記サービスマッピングは、前記送信先アドレスに前記第１のメッセージからのショートネームを足したものを、前記サービスにマッピングする少なくとも１つのエントリを含み、前記サービスアドレスは前記エントリに少なくとも部分的に基づいており、前記第２のメッセージを送信するステップは、前記エントリに少なくとも部分的に基づいた前記サービスアドレスの前記サービスに、前記第２のメッセージを送信するステップを含む、請求項２８に記載のコンピュータ読み取り可能な媒体。
【請求項３５】
前記第１のメッセージは命令を含み、前記第２のメッセージを前記サービスに送信するステップは、前記命令を示す前記第２のメッセージを作成するステップを含む、請求項２５に記載のコンピュータ読み取り可能な媒体。
【請求項３６】
前記第１のメッセージを受信するステップはプロトコルハンドラによって実行され、
前記第１のメッセージから送信先アドレスおよび命令を抽出するステップと、
前記送信先アドレスに少なくとも部分的に基づいて前記中間物のアドレスを決定するステップと、
前記送信先アドレスおよび前記命令を前記中間物に送信するステップとをさらに含む、請求項２５に記載のコンピュータ読み取り可能な媒体。
【請求項３７】
前記プロトコルハンドラはｅメールプロトコルハンドラであり、前記抽出するステップ
は前記ｅメールプロトコルハンドラによって実行される、請求項３６に記載のコンピュータ読み取り可能な媒体。
【請求項３８】
前記プロトコルハンドラはＳＭＳプロトコルハンドラであり、前記抽出するステップは前記ＳＭＳプロトコルハンドラによって実行される、請求項３６に記載のコンピュータ読み取り可能な媒体。
【請求項３９】
前記第２のメッセージはＨＴＴＰで送信される、請求項２５に記載のコンピュータ読み取り可能な媒体。
【請求項４０】
前記第２のメッセージはJava（登録商標）ＡＰＩで送信される、請求項２５に記載のコンピュータ読み取り可能な媒体。
【請求項４１】
前記第２のメッセージを前記サービスに送信するステップは、インターネットサービスプロバイダで実行される、請求項２５に記載のコンピュータ読み取り可能な媒体。
【請求項４２】
ユーザがメニューから選択した参照番号を含むセッションコンテキストを維持するステップをさらに含む、請求項２５に記載のコンピュータ読み取り可能な媒体。
【請求項４３】
前記セッションコンテキストは状態機械で維持され、前記維持するステップは、前記セッションコンテキストを前記状態機械で維持するステップを含む、請求項４２に記載のコンピュータ読み取り可能な媒体。
【請求項４４】
前記第３のメッセージは前記セッション情報と関連しており、前記記憶するステップは、前記第３のメッセージを前記セッション情報と関連付けるステップを含む、請求項２５に記載のコンピュータ読み取り可能な媒体。
【請求項４５】
セッションがいつ開始するかを判断するために前記機器の機器ＩＤが使用され、前記第１のメッセージを前記中間物で受信するステップは、前記中間物が前記第１のメッセージと関連する前記機器ＩＤを初めて検出したときに、前記セッションを開始するステップを含む、請求項２５に記載のコンピュータ読み取り可能な媒体。
【請求項４６】
セッションがいつ終了するかを判断するためにタイマが使用され、前記タイマが終了したときに前記セッションを終了させるステップをさらに含む、請求項２５に記載のコンピュータ読み取り可能な媒体。
【請求項４７】
セッションは、タイマの終了またはユーザのメニューツリーからの退出の早い方で終了し、前記タイマの終了または前記ユーザの前記メニューツリーからの退出の早い方で前記セッションを終了させるステップをさらに含む、請求項２５に記載のコンピュータ読み取り可能な媒体。
【請求項４８】
前記第３のメッセージを前記中間物で受信するステップは、オラクルのモバイルＸＭＬTMでの前記第３のメッセージを前記中間物で受信するステップを含む、請求項２５に記載のコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張および関連出願との相互参照
この出願は、２００１年１１月３０日提出の先行米国仮出願連続番号６０／３３７，３５９号（代理人事件番号５０２７７−１８６６）、イェ，ジョウ（Zhou Ye）およびワン，カルビン（Calvin Wang）による「非同期メッセージングプロトコルに基づいたセッションおよび同期意味論の実現」（Realizing Session and Synchronous Semantics Based on Asynchronous Messaging Protocols）に関連し、その国内優先権を主張する。その開示全体は、あたかもここに全面的に述べられたかのように、すべての目的のためにここに引用により援用される。
【０００２】
発明の分野
この発明は、要求された情報をユーザに提供することに関し、より具体的には、情報を提供するサービスによって期待されるプロトコル以外のプロトコルでユーザに情報を提供することに関する。
【背景技術】
【０００３】
発明の背景
インターネットの人気が高まるにつれ、より多くの人々が自分のモバイル機器を用いてインターネットにアクセスしている。人々がインターネット上でアクセスするアプリケーションの多くはセッションベースである。セッションは、タスクを完了するために、多数の要求および多数の応答を許容する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
インターネットにアクセスする今日のモバイル機器の多くは、セッションベースのウェブアプリケーションと通信するウェブブラウザを有するよう要求されている。ウェブブラウザは、ウェブアプリケーションをナビゲートするために、メニューおよびハイパーリンクをユーザに提供する（以下、「ユーザナビゲーション能力」と呼ぶ）。しかしながら、多くの人々は、ウェブブラウザがないモバイル機器を持っている。代わりに、これらのモバイル機器は通常、ｅメールおよびショートメッセージサービス（ＳＭＳ）などの非同期プロトコルを使用している、非同期プロトコルは、所与のタスクについて、単一の要求およびその要求への単一の応答しか許容しない。
【０００５】
したがって、ありとあらゆる非同期プロトコルを使用するモバイル機器に、セッションおよびユーザナビゲーション能力などのウェブ能力を提供することに対する要望が存在することが明らかにわかる。
【課題を解決するための手段】
【０００６】
発明の概要
サービスによって期待されるプロトコル以外のプロトコルで発行された要求に応じるための手法が提供される。たとえば、多くの人々は、自分のモバイル機器を用いて、１セッションに多数の関連メッセージを有する能力を必要とするサービスと対話したがっている。しかしながら、彼らのモバイル機器には、そのようなサービスとの対話をサポートするプロトコルがない。ここで提供される一手法は、モバイル機器とサービスとの間に中間物を介在させて、モバイル機器に代わってセッション能力を提供することである。
【発明を実施するための最良の形態】
【０００７】
この発明を、添付図面の図において、限定のためではなく例示のために説明する。図中、同様の参照符号は同様の要素を示す。
【０００８】
発明の詳細な説明
サービスによって期待されるプロトコル以外のプロトコルで発行された要求に応じるための方法が説明のために記載され、この発明の完全な理解を提供するために多数の特定の詳細が述べられる。しかしながら、この発明がこれらの特定の詳細なしで実践され得ることは明らかである。他の点では、この発明を不必要に不明瞭にしないように、周知の構造および装置はブロック図の形で示す。
【０００９】
システム概要
図１Ａは、サービスによって期待されるプロトコル以外のプロトコルで発行された要求に応じるために使用されるシステムのブロック図である。メッセージ１０１でサービスを要求するために、クライアント機器１００が使用される。クライアント機器１００は、ｅメールまたはＳＭＳなどの非同期プロトコルでメッセージ１０１を送信する。メッセージ１０１は、あるサービスに対する要求を含み、そのサービス（１５１、１５２、または１５３）の場所を突き止めるための情報を含む。ある場合には、ある特定のサービスの場所を突き止めるために、メッセージ１０１内の送信先アドレスが使用される。別の場合には、サイト１５０の場所を突き止めるために、メッセージ１０１内の送信先アドレスが使用され、サイト１５０内のある特定のサービス１５１の場所を突き止めるために、メッセージ１０１の内容の一部が使用される。
【００１０】
伝送ハンドラ１２０は、ｅメールプロトコルハンドラ１２１、ＳＭＳプロトコルハンドラ１２２、および他のプロトコルハンドラ１２３といった１つ以上の非同期プロトコルハンドラをカプセル化する。各プロトコルハンドラ（１２１、１２２、１２３）は、ある特定のタイプの非同期プロトコルを処理する。したがって、伝送ハンドラ１２０は、クライアント機器１００が使用するいかなる非同期プロトコルででも通信可能である。プロトコルハンドラ（１２１、１２２、または１２３）は、メッセージ１０１の内容を中間物１４０に送信する。一実施例によれば、メッセージ１０１の内容はテキストである（以下、「テキストフォーマットの要求」と呼ぶ）。
【００１１】
中間物１４０は、より詳細に説明されるように、プロトコルハンドラ（１２１、１２２、１２３）のうちの１つからメッセージ１０１の内容を受信し、メッセージ１０１の内容をサービス（１５１、１５２、または１５３）が理解するフォーマットに変換し、要求をサービス（１５１、１５２、または１５３）へ転送し、セッションコンテキストを維持する。たとえば、メッセージ１０１の内容は、より詳細に説明されるように、（１）ウェブページのフィールドに書込むために、または（２）ハイパーリンクを選択するために使用される。一実施例によれば、書込まれたウェブページはオラクル（Oracle）のモバイルＸＭＬTMで書かれている。
【００１２】
サービスプロトコルハンドラ１８０は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）などのウェブプロトコルを提供する。一実施例によれば、サービスプロトコルハンドラ１８０は、インターネットサービスプロバイダ（ＩＳＰ）によって提供される。別の実施例によれば、サービスプロトコルハンドラ１８０は、サービス（１５１、１５２、１５３）を登録するために使用されるJava（登録商標）ＡＰＩである。サービス（１５１、１５２、または１５３）は、メッセージ１０１に応答して情報を提供する。一実施例によれば、メッセージ１０１への応答はウェブページである。たとえば、メッセージ１０１への応答はオラクルのモバイルＸＭＬTMで書かれていてもよい。サービス１５１はサイト１５０上にある。
【００１３】
アプリケーションマッピング１６０は、有効な送信先アドレスがアプリケーション（１３０、１４０）にマッピングされる、アドレスとアプリケーションとのマッピングを含む。アプリケーション（１３０または１４０）は、送信先アドレスを伝送ハンドラ１２０に登録することによって、特定の送信先アドレスを聴取する。送信先アドレスの登録は、アプリケーションマッピング１６０内にマッピングエントリを作成する。たとえば、中間物１４０がある特定の送信先アドレスを登録すると、その特定の送信先アドレスを中間物１４０にマッピングするエントリが、アプリケーションマッピング１６０内に作成される。
【００１４】
一実施例によれば、サービスマッピング１７０は、メッセージ１０１の送信先アドレスを、ある特定のサービスにマッピングする。別の実施例によれば、サービスマッピング１７０は、メッセージ１０１の送信先アドレスにメッセージ１０１の内容の一部を足したものを、サイト１５０内のある特定のサービス１５１にマッピングする。これらの実施例を以下により詳細に説明する。
【００１５】
動作例
ある人がクライアント機器１００上でｅメールメッセージ１０１を入力する。メッセージ１０１は、サービス１５２を特定する送信先アドレスを含む。メッセージ１０１は、伝送ハンドラ１２０によって途中で捕らえられる。メッセージ１０１はｅメールなので、ｅメールプロトコルハンドラ１２１が、クライアント１００からのメッセージ１０１を受信し、メッセージ１０１の送信先アドレスを使用してアプリケーションマッピング１６０内のエントリの場所を突き止め、そのエントリを使用して、どちらのアプリケーション（１３０または１４０）にメッセージ１００を転送すべきかを判断する。エントリが中間物１４０にマッピングすると仮定すると、ｅメールプロトコルハンドラ１２１はメッセージ１００を中間物１４０に転送する。中間物１４０は、メッセージ１００の送信先アドレス、または、メッセージ１００の送信先アドレスにメッセージ１００の内容の一部を足したものを使用して、サービスマッピング１７０内のエントリの場所を突き止める。サービスマッピング１７０内のエントリは、メッセージ１００の内容がどのサービス（１５１、１５２、または１５２）に転送されるべきかを判断するために使用される。サービス１５２が書込まれたウェブページの形の要求を期待すると仮定すると、中間物１４０は、以下により詳細に説明されるように、メッセージ１０１の内容を使用してウェブページに書込み、書込まれたウェブページをサービス１５２へ通信し、セッションコンテキストを維持する。サービス１５２がＨＴＴＰプロトコルを用いて要求を受信することを期待すると仮定すると、サービスプロトコルハンドラ１４０は、書込まれたウェブページを途中で捕らえ、それをＨＴＴＰを用いてサービス１５２へ送信する。次に、サービス１５２は応答を送信し、プロセスは逆になる。
【００１６】
アドレッシング考慮事項
図１Ｂは、送信先アドレスがあるサイトに対応しており、そのサイト内のあるサービスの場所を突き止めるためにメッセージ内容が使用されるメッセージを示すブロック図である。メッセージ１０１は、送信先アドレス１０２とメッセージ本文とを指定する。送信先アドレス１０２はint@y.comで、それはサイトワイドアドレス１０６、すなわちy.comを含んでいる。たとえば、サイトワイドアドレス１０６  y.comは、あるサイトに対応しており、ある特定のサービスには対応していない。
【００１７】
メッセージ本文は命令１０３を含む。一実施例によれば、命令１０３は２つの部分、つまり、ショートネーム１０４とプロンプタ１０５とを有する。命令１０３、すなわち“ＳＴ  ＯＲＣＬ”は、特定されたサイトによって提供されるある特有のサービスを特定し、そのサービスに関連するパラメータ値を提供する。具体的には、“ＳＴ”は株式相場サービスを指定し、“ＯＲＣＬ”はその株がオラクルの株であることを指定する。
【００１８】
中間物１４０は、送信先アドレス１０２  int@y.comを聴取するアプリケーションである。サイト１５０は、サイトワイドアドレス１０６  y.comにある。サービス１５１は、アドレスy.com/finance/stockにある、サイト１５０内の株サービスである。送信先アドレス１０２がサイトワイドアドレス１０６  y.comを含むため、ショートネーム１０４“ＳＴ”は、サイト１５０内のサービス１５１を指定するために使用される。中間物１４０は、プロンプタ１０５“ＯＲＣＬ”をサービス１５１に送信する。
【００１９】
サイトワイドアドレッシングがＳＭＳプロトコルで使用される場合、送信先アドレスは１２３４５６７といった電話番号である。次に、電話番号１２３４５６７はサイト１５０を指定する。ショートメッセージ１０４“ＳＴ”は、サイト１５０内のサービス１５１を指定するために使用される。
【００２０】
図１Ｃは、送信先アドレスがある特定のサービスに対応しているメッセージを示すブロック図である。送信先アドレス１０２はstock@y.comである。サービスレベルアドレス１０７もstock@y.comである。メッセージ本文は、オラクル株の相場を得るための命令１０３“ＯＲＣＬ”を含む。一実施例によれば、命令１０３は１つの部分、つまりプロンプタ１０５を有する。
【００２１】
中間物１４０は、送信先アドレス１０２  stock@y.comを聴取する。サービス１５１は、stock.y.comにある株式相場サービスである。中間物１４０は、プロンプタ１０５“ＯＲＣＬ”をサービス１５１に送信する。
【００２２】
図１Ｄは、送信先アドレスがある特定のアプリケーションに対応しているメッセージを示すブロック図である。送信先アドレス１０２はint@int.comである。送信先アドレス１０２は、アプリケーションアドレス１０８、すなわちint.comを含む。
【００２３】
中間物１４０は、送信先アドレス１０２  int@int.comを聴取する。中間物１４０は、アプリケーションアドレス１０８  int.comにある。中間物１４０はショートネーム１０４“ＳＴ”を使用して、サービス１５１のサービスアドレスを判断する。この例では、サービス１５１は、サイトワイドアドレッシング  y.com/finance/stockか、サービスレベルアドレッシング  stock.y.comのいずれかを用いて、中間物によってコンタクト可能である。中間物１４０は、プロンプタ１０５“ＯＲＣＬ”をサービス１５１に送信する。これらの例はプロンプタ１０５をサービス１５１に送信することを説明しているが、他の項目がプロンプタ１０５に加えて、またはプロンプタ１０５の代わりに送信されてもよい。
【００２４】
ユーザナビゲーション能力およびセッション
図２は、クライアント機器、中間物、およびサービス間のメッセージフローを示すブロック図である。一実施例によれば、ある人はあるウェブページを返すサービスから情報を要求できる。そのウェブページは、メニュー項目および／またはハイパーリンクを含んでいてもよい（以下、「ウェブフォーマットの応答」と呼ぶ）。一実施例によれば、メニュー項目およびハイパーリンクは、モバイル機器上に表示するために、テキストフォーマットに変換される。これは、メニュー項目およびハイパーリンクを、ユーザが選択可能な参照番号によって先行された記述テキストに変換することによって達成される。
【００２５】
記述テキストに先行する参照番号は、メニューツリー内のメニューを接続する。ユーザが参照番号を選択することによってメニューツリーを横断するにつれ、中間物１４０は、選択された参照番号を保存することによってセッションコンテキストを維持する。したがって、中間物１４０は、現在ユーザがメニューツリーのどこにいるかについての知識を有する。一実施例によれば、セッションコンテキストは、状態機械の一部として維持される
。
【００２６】
一実施例によれば、セッションコンテキストは中間物１４０によって記憶され、維持される。中間物１４０がクライアント機器１００から要求を受信すると、中間物１４０は、その要求に関連する機器ＩＤを検査する。その機器ＩＤについてセッションコンテキストがまだ存在していない場合、中間物１４０はセッションコンテキストを作り出す。一実施例によれば、セッションコンテキストは、クライアント機器１００の機器ＩＤ、ユーザが選択する参照番号、およびウェブフォーマットの応答を含む。セッションが終了すると、セッションコンテキストは解除される。
【００２７】
一実施例によれば、タイマが切れるとセッションは終了する。第２の実施例によれば、いつセッションを終了させるべきかを判断するために、セッションコンテキストが使用される。たとえば、ユーザがサービスをすでに出たことをセッションコンテキストが示すと、セッションは終了する。第３の実施例によれば、セッションコンテキストとタイマの双方が、どちらの状態が最初に起こるかに依存して、いつセッションを終了させるべきかを判断するために使用される。たとえば、セッションは、タイマの終了またはユーザのメニューツリーからの退出の早い方で終了する。
【００２８】
メニュー２０４およびその下のメニュー２０８は、メニュー２０４での参照番号２の選択によってメニュー２０８がユーザに表示されるようになった場合のメニューツリーを示している。たとえば、ユーザは、ユーザ宅の最寄の飲食店のアドレスを、送信先アドレス１０２  info@oraclemobile.comと、命令１０３  “yp eating_establishments home”とを入力することによって要求してもよい（以下、「テキストでの初期要求２０１」と呼ぶ）。ショートネーム“yp”はイエローページ（職業別電話帳）を表わし、“home”パラメータは、飲食店がユーザ宅の近所になければならないことを示している。
【００２９】
ユーザのテキストでの初期要求２０１は、サービス（１５１、１５２、または１５３）に送信される。図１Ｂ、図１Ｃ、および図１Ｄも、テキストでの初期要求２０１の例である。中間物１４０は、テキストでの初期要求２０１を途中で捕らえ、その内容を使用して、ウェブフォーマットでの初期要求２０２を作成する。既にここで説明したように、サービスアドレスは、テキストでの初期要求２０１内の送信先アドレス１０２に基づいて導き出される。サービス１５２は第１のウェブページ２０３で応答する。この例では、第１のウェブページ２０３は２つのハイパーリンクを有する。つまり、第１は高級レストラン、第２はハンバーガー店に対するハイパーリンクである。中間物１４０は、第１のウェブページ２０３を途中で捕らえ、第１のウェブページ２０３をセッションコンテキストと関連付け、第１のウェブページ２０３をテキストフォーマットのメッセージ、すなわちメニュー２０４に変換し、メニュー２０４をクライアント機器１００に送信する。メニュー２０４は、クライアント機器１００上に以下のように表示される。
【００３０】
メニュー２０４
１  高級レストラン
２  ハンバーガー店
ユーザ宅の地域近くのハンバーガー店のリストに対する要求として、参照番号“２”（２０５）がクライアント機器１００上で入力される。中間物１４０は、参照番号“２”をセッションコンテキストに保存する。中間物１４０は、第１のウェブページ２０３を使用することによって、参照番号“２”を、サービス１５２が理解する応答に変換する。たとえば、中間物１４０は、ユーザによって選択された参照番号“２”を、第１のウェブページ２０３における第２のハイパーリンク、つまりハンバーガー店に対する選択に変換する。第２のハイパーリンク２０６の選択は、サービス１５２に通信される。サービス１５２は、ハンバーガー店のリストである第２のウェブページ２０７で応答する。第２のウェブ
ページ２０７は４つのハイパーリンクを有する。つまり、第１はバーガーキング（登録商標）、第２はカールズジュニア（登録商標）、第３はマクドナルド（登録商標）、第４はウェンディーズ（登録商標）に対するハイパーリンクである。中間物１４０は、第２のウェブページ２０７を途中で捕らえ、第２のウェブページ２０７をセッションコンテキストと関連付け、第２のウェブフォーマットの応答をメニュー２０８に変換し、メニュー２０８をクライアント機器１００に送信する。メニュー２０８は、クライアント機器１００上に以下のように表示される。
【００３１】
メニュー２０８
１  バーガーキング（登録商標）
２  カールズジュニア（登録商標）
３  マクドナルド（登録商標）
４  ウェンディーズ（登録商標）
ユーザ宅の最寄のマクドナルド（登録商標）のアドレスについての要求として、参照番号“３”（２０９）がクライアント機器１００上で入力される。中間物１４０は、参照番号“３”をセッションコンテキストに保存する。
【００３２】
中間物１４０は、第２のウェブページ２０７を使用することによって、参照番号“３”（２０９）を、サービス１５２が理解する応答に変換する。たとえば、中間物１４０は、ユーザによって選択された参照番号“３”を、第２のウェブページ２０７における第３のハイパーリンク、つまりマクドナルド（登録商標）に対する選択に変換する。第３のハイパーリンク２１０の選択は、サービス１５２に通信される。サービス１５２は、ウェブフォーマットでのマクドナルド（登録商標）のアドレス２１１で応答する。中間物１４０は、ウェブフォーマットでのマクドナルド（登録商標）のアドレス２１１を途中で捕らえ、ウェブフォーマットでのマクドナルド（登録商標）のアドレス２１１をテキストフォーマットでのマクドナルド（登録商標）のアドレス２１２に変換し、テキストフォーマットでのマクドナルド（登録商標）のアドレス２１２をクライアント機器１００に送信する。サービス１５２がマクドナルド（登録商標）のアドレスをテキストで中間物１４２に送信する場合には、変換は必要ない。テキストフォーマットでのマクドナルド（登録商標）のアドレス２１２は、クライアント機器１００上に表示される。
【００３３】
この時点で、中間物１４０は、ユーザのテキストでの初期要求２０１が満たされたと判断する。ユーザは３つの要求、つまり、テキストでの初期要求２０１、参照番号“２”（２０５）、および参照番号“３”（２０９）を入力した。ユーザは３つの応答、つまり、メニュー２０４、メニュー２０８、およびマクドナルド（登録商標）のアドレス２１２を受信した。このタスクを完了するのに関与する３つの要求および３つの応答は、セッションの一例である。見てわかるように、セッションコンテキストを維持することは、非同期プロトコルで通信するモバイル機器に、セッション能力およびユーザナビゲーション能力を提供する。
【００３４】
一実施例によれば、ユーザは、エスケープキーを入力することによって、メニューツリーをナビゲートしている最中から抜け出して新しい要求に取りかかることができる。たとえば、ユーザが、飲食店を要求したものの飲食店のアドレスを受信する前にオラクルの株価をチェックしようと決めた場合、ユーザはエスケープキーを入力できる。次にユーザは、ここで既に説明されたように、オラクルの株価を要求できる。
【００３５】
連続的なアクティブな接続は不必要
セッションをサポートするウェブアプリケーションとは異なり、非同期プロトコルはクライアント機器１００と中間物１４０との間で使用されるため、「セッション」の期間中、連続的なアクティブな接続は必要ではない。たとえば、モバイル機器を用いて同期ウェ
ブプロトコルで通信中の人がトンネルに入ると、通信は中断される。要求された情報をその人が受信するためには、接続が再び確立されなければならない。これに対し、クライアント機器１００を用いて非同期プロトコルで通信中の人がトンネルに入って通信が中断された場合、その人は、一旦トンネルから出れば、残りの情報を依然として受信できる。
【００３６】
ハードウェア概要
図３は、この発明の一実施例が実現され得るコンピュータシステム３００を示すブロック図である。コンピュータシステム３００は、情報を通信するためのバス３０２または他の通信メカニズムと、情報を処理するためにバス３０２と結合されたプロセッサ３０４とを含む。コンピュータシステム３００はまた、プロセッサ３０４により実行されるべき命令および情報を記憶するためにバス３０２に結合された、ランダムアクセスメモリ（ＲＡＭ）または他のダイナミック記憶装置などのメインメモリ３０６も含む。メインメモリ３０６は、プロセッサ３０４により実行されるべき命令の実行中に、一時的な変数または他の中間情報を記憶するためにも使用されてもよい。コンピュータシステム３００はさらに、プロセッサ３０４用の命令およびスタティック情報を記憶するためにバス３０２に結合された読出専用メモリ（ＲＯＭ）３０８または他のスタティック記憶装置を含む。磁気ディスクまたは光ディスクなどの記憶装置３１０が、情報および命令を記憶するために提供され、バス３０２に結合されている。
【００３７】
コンピュータシステム３００は、バス３０２を介して、情報をコンピュータユーザへ表示するためのブラウン管（ＣＲＴ）などのディスプレイ３１２に結合されてもよい。英数字キーおよび他のキーを含む入力装置３１４が、情報およびコマンド選択をプロセッサ３０４に通信するためにバス３０２に結合されている。ユーザ入力装置の別の種類は、マウス、トラックボール、またはカーソル方向キーなどのカーソル制御３１６であり、方向情報およびコマンド選択をプロセッサ３０４に通信し、ディスプレイ３１２上のカーソルの動きを制御する。この入力装置は通常、２つの軸、つまり第１の軸（たとえばｘ）および第２の軸（たとえばｙ）において２つの自由度を有しており、それによりこの装置は平面における場所を特定することができる。
【００３８】
この発明は、ここに説明された手法を実現するためのコンピュータシステム３００の使用に関する。この発明の一実施例によれば、これらの手法は、プロセッサ３０４がメインメモリ３０６に含まれた１つ以上の命令の１つ以上のシーケンスを実行するのに応答して、コンピュータシステム３００によって行なわれる。そのような命令は、記憶装置３１０などの別のコンピュータ読み取り可能な媒体からメインメモリ３０６に読込まれてもよい。メインメモリ３０６に含まれる命令のシーケンスの実行により、プロセッサ３０４は、ここに説明されたプロセスステップを行なうようになる。代替的な実施例では、この発明を実現するために、ソフトウェア命令の代わりに、またはソフトウェア命令と組合せて、配線接続回路が使用されてもよい。このため、この発明の実施例は、配線接続回路とソフトウェアとのどの特定の組合せにも限定されない。
【００３９】
ここで用いられるような用語「コンピュータ読み取り可能な媒体」は、実行のためにプロセッサ３０４へ命令を提供することに関与するあらゆる媒体を指す。そのような媒体は、不揮発性媒体、揮発性媒体、および通信媒体を含むもののそれらに限定されない多くの形態をとってもよい。不揮発性媒体は、たとえば、記憶装置３１０などの光ディスクまたは磁気ディスクを含む。揮発性媒体は、メインメモリ３０６などのダイナミックメモリを含む。通信媒体は、バス３０２を構成する配線を含む、同軸ケーブル、銅線および光ファイバを含む。通信媒体は、電波および赤外線データ通信中に発生するものなどの音波または光波の形態もとり得る。
【００４０】
コンピュータ読み取り可能な媒体の一般的な形態は、たとえば、フロッピー（登録商標
）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、任意の他のメモリチップまたはカートリッジ、以下に記載されるような搬送波、またはコンピュータがそこから読出可能な任意の他の媒体を含む。
【００４１】
コンピュータ読み取り可能な媒体のさまざまな形態は、プロセッサ３０４に１つ以上の命令の１つ以上のシーケンスを実行用に保持することに関与していてもよい。たとえば、命令はまず、遠隔コンピュータの磁気ディスク上に保持されてもよい。遠隔コンピュータは命令をそのダイナミックメモリにロードし、電話回線を通してモデムを用いて命令を送ることができる。コンピュータシステム３００にとってローカルなモデムは、電話回線上のデータを受信し、赤外線送信機を用いてデータを赤外線信号に変換することができる。赤外線検出器は赤外線信号で搬送されたデータを受信することができ、適切な回路がそのデータをバス３０２上に配置することができる。バス３０２はデータをメインメモリ３０６に搬送し、そこからプロセッサ３０４が命令を検索して実行する。メインメモリ３０６によって受信された命令は、プロセッサ３０４による実行の前または後のいずれかで、記憶装置３１０上に随意に記憶されてもよい。
【００４２】
コンピュータシステム３００は、バス３０２に結合された通信インターフェイス３１８も含む。通信インターフェイス３１８は、ローカルネットワーク３２２に接続されたネットワークリンク３２０へ、双方向データ通信結合を提供する。たとえば、通信インターフェイス３１８は、データ通信接続を対応する種類の電話回線へ提供するデジタル総合サービス網（ＩＳＤＮ）カードまたはモデムであってもよい。別の例として、通信インターフェイス３１８は、互換性があるＬＡＮへデータ通信接続を提供するローカルエリアネットワーク（ＬＡＮ）カードであってもよい。無線リンクも実現されてもよい。任意のそのような実現化例では、通信インターフェイス３１８は、さまざまな種類の情報を表わすデジタルデータストリームを搬送する電気信号、電磁信号、または光信号を送信および受信する。
【００４３】
ネットワークリンク３２０は通常、１つ以上のネットワークを介して他のデータ装置へデータ通信を提供する。たとえば、ネットワークリンク３２０は、ホストコンピュータ２２４へ、またはインターネットサービスプロバイダ（ＩＳＰ）３２６により運営されるデータ装置へ、ローカルネットワーク３２２を介して接続を提供してもよい。ＩＳＰ３２６は次に、現在一般に「インターネット」３２８と呼ばれている全世界的パケットデータ通信ネットワークを通して、データ通信サービスを提供する。ローカルネットワーク３２２およびインターネット３２８は双方とも、デジタルデータストリームを搬送する電気信号、電磁信号、または光信号を使用する。コンピュータシステム３００へ、またはコンピュータシステム３００からデジタルデータを搬送する、さまざまなネットワークを通る信号と、ネットワークリンク３２０上の、および通信インターフェイス３１８を通る信号とは、情報を伝達する搬送波の例示的な形態である。
【００４４】
コンピュータシステム３００は、ネットワーク、ネットワークリンク３２０および通信インターフェイス３１８を通して、メッセージを送り、プログラムコードを含むデータを受信する。インターネットの例では、サーバ３３０は、アプリケーションプログラムについての要求されたコードを、インターネット３２８、ＩＳＰ３２６、ローカルネットワーク３２２および通信インターフェイス３１８を通して送信してもよい。
【００４５】
受信されたコードは、それが受信されたときにプロセッサ３０４によって実行されてもよく、および／または、後での実行のために記憶装置３１０または他の不揮発性記憶装置に記憶されてもよい。このように、コンピュータシステム３００は、搬送波の形をしたア
プリケーションコードを獲得し得る。
【００４６】
前述の明細書において、この発明をその特定の実施例を参照して説明してきた。しかしながら、この発明のより幅広い精神および範囲を逸脱することなく、さまざまな修正および変更がそれになされてもよいことは明らかである。明細書および図面は、したがって、限定的な意味というよりもむしろ例示的な意味において考察されるべきである。
【図面の簡単な説明】
【００４７】
【図１Ａ】サービスによって期待されるプロトコル以外のプロトコルで発行された要求に応じるために使用されるシステムのブロック図である。
【図１Ｂ】送信先アドレスがあるサイトに対応しており、そのサイト内のあるサービスの場所を突き止めるためにメッセージ内容が使用されるメッセージを示すブロック図である。
【図１Ｃ】送信先アドレスがある特定のサービスに対応しているメッセージを示すブロック図である。
【図１Ｄ】送信先アドレスがある特定のアプリケーションに対応しているメッセージを示すブロック図である。
【図２】クライアント機器、中間物、およびサービス間のメッセージフローを示すブロック図である。
【図３】この発明の実施例が実現され得るコンピュータシステムを示すブロック図である。
【図１Ａ】
2005512210.tif 000003
【図１Ｂ】
2005512210.tif 000004
【図１Ｃ】
2005512210.tif 000005
【図１Ｄ】
2005512210.tif 000006
【図２】
2005512210.tif 000007
【図３】
2005512210.tif 000008
【国際調査報告】
2005512210.tif 000009
2005512210.tif 000010
2005512210.tif 000011
2005512210.tif 000012