(57)【特許請求の範囲】
【請求項１】
システムであって、
プロセッサと、
前記プロセッサに接続され、プロセッサに命令を提供するように構成されているメモリと、を備え、
前記プロセッサは、
クライアントデバイスでメッセージを受信し、
前記メッセージに含まれる情報と、複数のクライアントアプリケーションの複数の識別子に対応する、内容の複数の要素と、を比較して、
前記内容の複数の要素のうち、一致する一つの要素と関連づけられたクライアントアプリケーションを特定し、
前記内容の複数の要素のうち、特定された一致する要素が複数であることに応答して、前記メッセージ内の前記複数の一致する要素の組み合わせおよび並び順を決定することにより、前記クライアントアプリケーションを特定し、
前記クライアントアプリケーションを自動的に起動するように構成され、
前記クライアントアプリケーションは、前記メッセージに含まれる前記情報の少なくとも一部を受信するよう構成され、
前記クライアントアプリケーションの自動的な起動は、
前記メッセージから１組以上の情報を抽出することと、
前記クライアントアプリケーションに関連づけられたページにフォームを提供することであって、前記抽出された１組以上の情報が、前記フォームの対応する１以上のフィールドに事前入力される、フォームの提供と、を含む、システム。
【請求項２】
請求項１に記載のシステムであって、
前記メッセージに含まれる前記情報と、複数のクライアントアプリケーションの前記複数の識別子に対応する、内容の前記複数の要素と、を比較することは、
所定キーワードリストからのキーワードが前記メッセージに含まれるテキスト内容の中で見つけられるか否かを判定することであって、前記所定キーワードリストは、前記クライアントアプリケーションが前記キーワードに対応することを示す、判定と、
前記メッセージに含まれる前記テキスト内容の中に前記キーワードが見つかった場合に、前記所定キーワードリストによって示され、前記キーワードに対応する前記クライアントアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションとして特定することと、を含む、システム。
【請求項３】
請求項１に記載のシステムであって、
前記メッセージに含まれる前記情報と、複数のクライアントアプリケーションの前記複数の識別子に対応する、内容の前記複数の要素と、を比較することは、
前記メッセージに関連する送信者識別コードが、所定送信者識別コードを含むか否かを判定することであって、前記所定送信者識別コードは、前記クライアントアプリケーションに対応する、判定と、
前記メッセージに関連する前記送信者識別コードが前記所定送信者識別コードを含む場合に、前記所定送信者識別コードに対応する前記クライアントアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションとして特定することと、を含む、システム。
【請求項４】
請求項１に記載のシステムであって、
前記メッセージに含まれる前記情報と、複数のクライアントアプリケーションの前記複数の識別子に対応する、内容の前記複数の要素と、を比較することは、
前記メッセージに関連する送信者識別コードが、所定送信者識別コードを含むか否かを判定することであって、前記所定送信者識別コードは、前記クライアントアプリケーションに対応する、判定と、
前記メッセージに関連する前記送信者識別コードが前記所定送信者識別コードを含む場合に、前記所定送信者識別コードに対応するキーワードが、前記メッセージに含まれるテキスト内容の中で見つかるか否かを判定することと、
前記キーワードが前記メッセージに含まれる前記テキスト内容の中で見つかった場合に、前記所定送信者識別コードに対応する前記クライアントアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションとして特定することと、
を含む、システム。
【請求項５】
請求項１に記載のシステムであって、
前記メッセージに含まれる前記情報と、複数のクライアントアプリケーションの前記複数の識別子に対応する、内容の前記複数の要素と、を比較することは、前記メッセージに対応する前記クライアントアプリケーションに関連するサブアプリケーションを特定することを含む、システム。
【請求項６】
請求項５に記載のシステムであって、
前記メッセージに対応する前記クライアントアプリケーションに関連する前記サブアプリケーションを特定することは、
前記メッセージに関連する送信者識別コードが所定送信者識別コードを含むか否かを判定することであって、前記所定送信者識別コードは、前記クライアントアプリケーションに関連する複数のサブアプリケーションに対応し、前記クライアントアプリケーションに関連する前記複数のサブアプリケーションは、それぞれの複数のキーワードに対応する、判定と、
前記メッセージに関連する前記送信者識別コードが前記所定送信者識別コードを含む場合に、前記複数のキーワードの中のキーワードが、前記メッセージに含まれるテキスト内容の中で見つかるか否かを判定することと、
前記キーワードが前記メッセージに含まれる前記テキスト内容の中で見つかった場合に、前記クライアントアプリケーションに関連する前記複数のサブアプリケーションの中で前記キーワードに対応する前記サブアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションに関連する前記サブアプリケーションとして特定することと、を含む、システム。
【請求項７】
請求項１に記載のシステムであって、
前記クライアントアプリケーションを自動的に起動することは、
前記メッセージに少なくとも部分的に基づいてデータ交換要求を生成することであって、前記データ交換要求は、前記クライアントアプリケーションにパラメータ情報を送るよう構成されている、データ交換要求の生成と、
前記データ交換要求を承認することに関連するコントロールを前記クライアントデバイスに提示することと、
前記コントロールに関連する選択の受信に応答して、
前記データ交換要求に少なくとも部分的に基づいて、前記クライアントアプリケーションを起動することと、
前記クライアントアプリケーションに関連する前記ページ内に前記パラメータ情報の少なくとも一部を自動的に入力することと、を含む、システム。
【請求項８】
請求項７に記載のシステムであって、
前記パラメータ情報は、前記メッセージに含まれる前記情報に少なくとも部分的に基づいて生成される、システム。
【請求項９】
請求項８に記載のシステムであって、
前記パラメータ情報は、前記メッセージを所定メッセージテンプレートと比較することに少なくとも部分的に基づいて生成される、システム。
【請求項１０】
請求項７に記載のシステムであって、
前記パラメータ情報は、ユニフォームリソースロケータ（ＵＲＬ）を含む、システム。
【請求項１１】
請求項１に記載のシステムであって、
前記プロセッサは、さらに、
前記クライアントアプリケーションに関連づけられた前記ページ内の前記フォームの前記対応する１以上のフィールドに事前入力された前記１組以上の情報の少なくとも一部を送信するためのユーザ選択を受信し、
前記ユーザ選択に応答して、前記クライアントアプリケーションに関連づけられた前記ページ内の前記フォームの前記対応する１以上のフィールドに事前入力された前記１組以上の情報の前記少なくとも一部をサーバに送信する、システム。
【請求項１２】
請求項１に記載のシステムであって、
前記クライアントアプリケーションは、すでに前記クライアントデバイスにインストールされている、システム。
【請求項１３】
コンピュータによって実現される方法であって、
クライアントデバイスでメッセージを受信する工程と、
前記メッセージに含まれる情報と、複数のクライアントアプリケーションの複数の識別子に対応する、内容の複数の要素と、を比較して、
前記内容の複数の要素のうち、一致する一つの要素と関連づけられたクライアントアプリケーションを特定し、
前記内容の複数の要素のうち、特定された一致する要素が複数であることに応答して、前記メッセージ内の前記複数の一致する要素の組み合わせおよび並び順を決定することにより、前記クライアントアプリケーションを特定する工程と、
１または複数のプロセッサを用いて、前記クライアントアプリケーションを自動的に起動する工程と、を備え、
前記クライアントアプリケーションは、前記メッセージに含まれる前記情報の少なくとも一部を受信するよう構成されており、
前記クライアントアプリケーションの自動的な起動は、
前記メッセージから１組以上の情報を抽出することと、
前記クライアントアプリケーションに関連づけられたページにフォームを提供することであって、前記抽出された１組以上の情報が、前記フォームの対応する１以上のフィールドに事前入力される、フォームの提供と、を含む、方法。
【請求項１４】
請求項１３に記載のコンピュータによって実現される方法であって、
前記メッセージに含まれる前記情報と、複数のクライアントアプリケーションの前記複数の識別子に対応する、内容の前記複数の要素と、を比較することは、
所定キーワードリストからのキーワードが前記メッセージに含まれるテキスト内容の中で見つけられるか否かを判定する工程であって、前記所定キーワードリストは、前記クライアントアプリケーションが前記キーワードに対応することを示す、工程と、
前記メッセージに含まれる前記テキスト内容の中に前記キーワードが見つかった場合に、前記所定キーワードリストによって示され前記キーワードに対応する前記クライアントアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションとして特定する工程と、を含む、方法。
【請求項１５】
請求項１３に記載のコンピュータによって実現される方法であって、
前記メッセージに含まれる前記情報と、複数のクライアントアプリケーションの前記複数の識別子に対応する、内容の前記複数の要素と、を比較することは、
前記メッセージに関連する送信者識別コードが、所定送信者識別コードを含むか否かを判定する工程であって、前記所定送信者識別コードは、前記クライアントアプリケーションに対応する、工程と、
前記メッセージに関連する前記送信者識別コードが前記所定送信者識別コードを含む場合に、前記所定送信者識別コードに対応する前記クライアントアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションとして特定する工程と、を含む、方法。
【請求項１６】
請求項１３に記載のコンピュータによって実現される方法であって、
前記メッセージに含まれる前記情報と、複数のクライアントアプリケーションの前記複数の識別子に対応する、内容の前記複数の要素と、を比較することは、
前記メッセージに関連する送信者識別コードが、所定送信者識別コードを含むか否かを判定する工程であって、前記所定送信者識別コードは、前記クライアントアプリケーションに対応する、工程と、
前記メッセージに関連する前記送信者識別コードが前記所定送信者識別コードを含む場合に、前記所定送信者識別コードに対応するキーワードが、前記メッセージに含まれるテキスト内容の中で見つかるか否かを判定する工程と、
前記キーワードが前記メッセージに含まれる前記テキスト内容の中で見つかった場合に、前記所定送信者識別コードに対応する前記クライアントアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションとして特定する工程と、を含む、方法。
【請求項１７】
請求項１３に記載のコンピュータによって実現される方法であって、
前記メッセージに含まれる前記情報と、複数のクライアントアプリケーションの前記複数の識別子に対応する、内容の前記複数の要素と、を比較することは、前記メッセージに対応する前記クライアントアプリケーションに関連するサブアプリケーションを特定する工程を含む、方法。
【請求項１８】
請求項１７に記載のコンピュータによって実現される方法であって、
前記メッセージに対応する前記クライアントアプリケーションに関連する前記サブアプリケーションを特定する工程は、
前記メッセージに関連する送信者識別コードが所定送信者識別コードを含むか否かを判定する工程であって、前記所定送信者識別コードは、前記クライアントアプリケーションに関連する複数のサブアプリケーションに対応し、前記クライアントアプリケーションに関連する前記複数のサブアプリケーションは、それぞれの複数のキーワードに対応する、工程と、
前記メッセージに関連する前記送信者識別コードが前記所定送信者識別コードを含む場合に、前記複数のキーワードの中のキーワードが、前記メッセージに含まれるテキスト内容の中で見つかるか否かを判定する工程と、
前記キーワードが前記メッセージに含まれる前記テキスト内容の中で見つかった場合に、前記クライアントアプリケーションに関連する前記複数のサブアプリケーションの中で前記キーワードに対応する前記サブアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションに関連する前記サブアプリケーションとして特定する工程と、を含む、方法。
【請求項１９】
請求項１３に記載のコンピュータによって実現される方法であって、
前記クライアントアプリケーションを自動的に起動する工程は、
前記メッセージに少なくとも部分的に基づいてデータ交換要求を生成する工程であって、前記データ交換要求は、前記クライアントアプリケーションにパラメータ情報を送るよう構成されている、工程と、
前記データ交換要求を承認することに関連するコントロールを前記クライアントデバイスに提示する工程と、
前記コントロールに関連する選択の受信に応答して、
前記データ交換要求に少なくとも部分的に基づいて、前記クライアントアプリケーションを起動する工程と、
前記クライアントアプリケーションに関連するページ内に前記パラメータ情報の少なくとも一部を自動的に入力する工程と、を含む、方法。
【請求項２０】
コンピュータプログラムであって、コンピュータを使用して、
クライアントデバイスでメッセージを受信する機能と、
前記メッセージに含まれる情報と、複数のクライアントアプリケーションの複数の識別子に対応する、内容の複数の要素と、を比較して、
前記内容の複数の要素のうち、一致する一つの要素と関連づけられたクライアントアプリケーションを特定し、
前記内容の複数の要素のうち、特定された一致する要素が複数であることに応答して、前記メッセージ内の前記複数の一致する要素の組み合わせおよび並び順を決定することにより、前記クライアントアプリケーションを特定する機能と、
前記クライアントアプリケーションを自動的に起動する機能と、
を実現させるためのコンピュータプログラムであり、
前記クライアントアプリケーションは、前記メッセージに含まれる前記情報の少なくとも一部を受信するよう構成されており、
前記クライアントアプリケーションを自動的に起動する機能は、
前記メッセージから１組以上の情報を抽出する機能と、
前記クライアントアプリケーションに関連づけられたページにフォームを提供する機能であって、前記抽出された１組以上の情報が、前記フォームの対応する１以上のフィールドに事前入力される、機能と、を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
他の出願の相互参照
本願は、２０１３年１２月１１日出願の中国特許出願第２０１３１０６７７０５４．７号「Ａ  ＭＥＳＳＡＧＥ−ＢＡＳＥＤ  ＭＥＴＨＯＤ  ＡＮＤ  ＤＥＶＩＣＥ  ＦＯＲ  ＷＡＫＩＮＧ  ＵＰ  ＣＬＩＥＮＴ  ＡＰＰＬＩＣＡＴＩＯＮＳ」の優先権を主張する。当該出願は、すべての目的のために参照により本明細書に組み込まれる。
【０００２】
本願は、インターネット技術の分野に関し、特に、クライアントアプリケーションを自動的に起動するための技術に関する。
【背景技術】
【０００３】
モバイルインターネット技術の発展に伴って、ますます多くのユーザが、携帯電話で迅速かつ便利なクライアントアプリケーションを用いて共通タスクを実行することを選択している。クライアントアプリケーションを利用するには、一般に、クライアントアプリケーションを開くために手動で選択する必要がある。例えば、ユーザがサーバにデータを送信するアプリケーションを利用する必要がある場合、ユーザは、最初にアプリケーションを開いて、アプリケーションに関する適切な機能を利用するために選択を行う。さらに、ユーザは、時に、アプリケーションに何らかの情報を入力する必要がある。例えば、携帯電話またはその他のかかる端末がタスクを実行する必要があるというメッセージ（例えば、メッセージは、ユーザが販売業者に或る金額を未払いであることを述べうる）を受信した場合、ユーザは、しばしば、識別コードまたはその他のかかる情報をメッセージから手動で複製または記録して、関連アプリケーションにその情報を入力する必要があり、そのアプリケーションにより、タスクが実行されうる。さらに、ユーザは、メッセージに含まれていた情報を手動で入力するために、端末上の関連アプリケーションを別個に探して、手動で開く必要がある。時に、メッセージに含まれる情報をアプリケーションに入力するのに加えて、ユーザは、アプリケーションで送信を行う前に、ユーザ自身の情報（たとえば、認証情報）を手動で入力する必要がありうる。アプリケーションに入力する必要のあるメッセージからの情報が比較的多い場合、ユーザは、しばしば、アプリケーションを切り替えて、メッセージを受信および表示したソース（例えば、電子メールまたはメッセージングアプリケーション）を再度開く必要がありうる。しかしながら、１つのアプリケーションに情報を入力するために端末で複数のアプリケーションを切り替える必要があることは、ユーザにとって非効率的かつ不便でありうる。
【図面の簡単な説明】
【０００４】
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
【０００５】
【図１】受信したメッセージに基づいてクライアントアプリケーションを起動するためのシステムの一実施形態を示す図。
【０００６】
【図２】受信したメッセージに基づいてクライアントアプリケーションを起動する処理の一実施形態を示すフローチャート。
【０００７】
【図３】メッセージに含まれる情報を用いてメッセージに対応するクライアントアプリケーションを特定するための処理の一例を示すフローチャート。
【０００８】
【図４】メッセージに含まれる情報を用いてメッセージに対応するクライアントアプリケーションを特定するための処理の一例を示すフローチャート。
【０００９】
【図５】メッセージに含まれる情報を用いてメッセージに対応するクライアントアプリケーションを特定するための処理の一例を示すフローチャート。
【００１０】
【図６】メッセージに含まれる情報を用いてメッセージに対応するクライアントアプリケーションのサブアプリケーションを特定するための処理の一例を示すフローチャート。
【００１１】
【図７】クライアントアプリケーションを自動的に起動する処理の一例を示すフローチャート。
【００１２】
【図８】受信したメッセージに基づいてクライアントアプリケーションを起動するためのシステムの一実施形態を示す図。
【００１３】
【図９】メッセージに基づいてクライアントアプリケーションの起動を実施するようにプログラムされたコンピュータシステムの一実施形態を示す機能図。
【発明を実施するための形態】
【００１４】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および／または、プロセッサ（プロセッサに接続されたメモリに格納および／またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ）を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、１または複数のデバイス、回路、および／または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【００１５】
以下では、本発明の原理を示す図面を参照しつつ、本発明の１または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【００１６】
メッセージに基づいたクライアントアプリケーションの起動の実施形態を本明細書に記載する。メッセージが、クライアントデバイスで受信される。メッセージに含まれる情報は、メッセージに対応するクライアントアプリケーションを特定するために用いられる。様々な実施形態において、特定されたクライアントアプリケーションは、すでにクライアントデバイスにインストールされている。クライアントアプリケーションは、自動的に起動される。起動されたクライアントアプリケーションは、メッセージに含まれる情報の少なくとも一部を受信するよう構成されている。クライアントアプリケーションは、受信した情報を用いて、クライアントアプリケーションに関連するサービスを実行する。
【００１７】
図１は、受信したメッセージに基づいてクライアントアプリケーションを起動するためのシステムの一実施形態を示す図である。システム１００は、クライアントデバイス１０２、ネットワーク１０４、メッセージサーバ１０６、および、クライアントアプリケーションサーバ１０８を備える。ネットワーク１０４は、高速データネットワークおよび／または遠隔通信ネットワークの内の１または複数を含む。クライアントデバイス１０２は、ネットワーク１０４を介してメッセージサーバ１０６およびクライアントアプリケーションサーバ１０８に通信する。
【００１８】
クライアントデバイス１０２は、図１の例ではスマートフォンとして図示されているが、クライアントデバイス１０２の他の例は、携帯デバイス、タブレットデバイス、デスクトップコンピュータ、ラップトップコンピュータ、および／または、任意のコンピュータデバイスを含む。様々なクライアントアプリケーションが、クライアントデバイス１０２にインストールされる。例えば、或るクライアントアプリケーションは、１または複数の異なるタイプのサービスを提供するよう構成されうる。
【００１９】
様々な実施形態において、メッセージサーバ１０６は、クライアントデバイス１０２にメッセージを送信するよう構成されている。例えば、メッセージは、ショートメッセージサービス（ＳＭＳ）メッセージ、または、クライアントデバイス１０２で実行するインスタントメッセージングアプリケーションで受信されるインスタントメッセージを含みうる。いくつかの実施形態において、メッセージは、テキスト、画像、ユニフォームリソースロケータ（ＵＲＬ）、および／または、その他の媒体の内の１以上を含みうる。いくつかの実施形態において、メッセージは、メッセージサーバ１０６が、クライアントデバイス１０２に関連するユーザに関連するサービスのために送信するよう構成されている警告メッセージを含む。例えば、警告メッセージに関連するサービスは、クライアントデバイス１０２のユーザがクレジットカードを持つ銀行サービスを含む。クライアントデバイス１０２に送信された警告メッセージは、クライアントデバイス１０２のユーザのクレジットカードの未払残高の支払いが迫っていることを示してよい。
【００２０】
後に詳述するように、クライアントデバイス１０２でのメッセージ受信に応答して、メッセージは分析され、クライアントデバイス１０２にインストールされたメッセージに対応するクライアントアプリケーションが起動される。いくつかの実施形態では、クライアントデバイス１０２で実行中のオペレーティングシステムが、対応するクライアントアプリケーションの起動を決定するために、メッセージを分析するよう構成される。例えば、受信メッセージが銀行からの警告メッセージを含み、クライアントデバイス１０２のユーザのクレジットカードの未払残高の支払いが迫っていることを示す場合、メッセージに対応することが特定されたクライアントデバイスは、支払いを実行するよう構成されたクライアントアプリケーションを含みうる。特定されたクライアントアプリケーションは、自動的に起動される。後に詳述するように、起動されたクライアントアプリケーションには、メッセージから抽出された少なくとも一部の情報が自動的に事前入力される。例えば、支払いクライアントアプリケーションが銀行からの警告メッセージに応答して起動された場合、その支払いクライアントアプリケーションは、例えば、クレジットカード請求書の未払残高、および、支払先（例えば、銀行）に関連する識別情報など、メッセージから抽出された情報を自動入力されうる。ユーザは、クライアントアプリケーションに入力された情報を、クライアントデバイス１０２から、支払いまたはその他のタイプのデータ交換を完了できるクライアントアプリケーションサーバ１０８に送信させるための選択可能な要素を選択する前に、クライアントアプリケーションに自動的に入力された情報を見直しおよび／または編集してもよい。
【００２１】
本明細書に開示された実施形態に記載されるように、クライアントデバイスでのメッセージの受信に応答して、クライアントデバイスにインストールされた適切なクライアントアプリケーションが自動的に起動することを可能にすることにより、クライアントデバイスのユーザは、受信したメッセージの表示を手動で終了する、適切なクライアントアプリケーションを手動で選択する、および／または、メッセージからクライアントアプリケーションに正しい関連情報を手動で入力する必要がなくなる。したがって、受信メッセージに基づいてタスクを完了する流れが、ユーザにとって大幅に単純化される。
【００２２】
図２は、受信したメッセージに基づいてクライアントアプリケーションを起動する処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理２００は、図１のシステム１００で実施される。
【００２３】
工程２０２で、メッセージが、クライアントデバイスで受信される。
【００２４】
メッセージは、クライアントデバイスで実行中のメッセージングアプリケーションを介してクライアントデバイスで受信される。例えば、メッセージは、クライアントデバイスで実行中のＳＭＳアプリケーションで受信されるＳＭＳメッセージを含んでよい。また、例えば、メッセージは、クライアントデバイスで実行中のインスタントメッセージングアプリケーションで受信されるインスタントメッセージを含んでもよい。メッセージは、テキスト、画像、ユニフォームリソースロケータ（ＵＲＬ）、送信者識別コード、および／または、その他の媒体の内の１以上を含みうる。メッセージの送信者は、電話番号、送信者識別コード、または、何らかの他のタイプの識別情報を含みうる。具体的には、例えば、メッセージは、送信者に関連づけられた識別コード（例えば、電話番号またはその他の形態の識別コード）、テキスト内容、および／または、送信者に関連する地理的位置情報を含みうる。本明細書に記載したメッセージに含まれる情報のタイプは、単に例示であり、その他のタイプの情報がメッセージに含まれてもよい。
【００２５】
いくつかの実施形態において、クライアントデバイスに関連するユーザは、様々な販売業者、サービス、および／または、公益事業会社からのメッセージの購読者であってよい。例えば、ユーザは、ユーザのクレジットカードの未払残高の期限が来た時を示す警告メッセージをユーザの銀行から受信することに同意しうる。
【００２６】
工程２０４で、メッセージに含まれる情報が、メッセージに対応するクライアントアプリケーションを特定するために用いられる。
【００２７】
メッセージに含まれる情報は、クライアントデバイスにインストールされた対応するクライアントアプリケーションを特定するために、構文解析されて用いられてよい。様々な実施形態において、「クライアントアプリケーション」とは、クライアントデバイスにインストールされたアプリケーションのことである。クライアントアプリケーションは、サーバおよび／またはクラウドサービスと通信し、サーバおよび／またはクラウドサービスに関連する１または複数のサービスを提供するよう構成されている。例えば、クライアントアプリケーションは、受取人に支払いを行うことに関連する情報をユーザが入力できる支払いサービスを提供してよく、支払いサービスに関連するサーバは、クライアントデバイスのユーザに関連する口座から指定された受取人の口座への支払いを完了させる。いくつかの別の実施形態において、クライアントアプリケーションは、サーバにインストールされたアプリケーションを含む。
【００２８】
クライアントアプリケーションは、１または複数の異なるタイプのサービスを提供するよう構成されうる。クライアントアプリケーションによって提供される或る種のサービスは、「サブアプリケーション」と呼んでもよい。サードパーティの支払いプラットフォームとデータ交換を実行するよう構成されたクライアントアプリケーションの一例は、支払いに関連する以下のタイプのサービス（サブアプリケーション）を実行するよう構成されてよい：口座間での資金移動、請求書支払いの実行、クレジットカード支払いの実行、および、（例えば、電話用の口座などのサービスに関連する）前払い口座への資金移動。サードパーティの支払いプラットフォームとデータ交換を実行するよう構成されたクライアントアプリケーションは、クライアントアプリケーションの一例に過ぎず、他のタイプのクライアントアプリケーションが実際の実装で用いられてもよい。
【００２９】
メッセージに含まれる情報は、メッセージに対応するクライアントデバイスにインストールされたクライアントアプリケーションを決定するための根拠として用いられる。例えば、メッセージのテキスト内容は、クライアントデバイスにインストールされたクライアントアプリケーションのどれに受信メッセージが対応するのかを決定するために用いられる。例えば、生じた料金が前払い口座から支払われる電話をユーザが利用しているシナリオでは、ユーザは、電話を利用し続けるために、前払い口座に或る程度の預金／資金残高を維持する必要がある。ユーザは、自分の口座の残高が少ないことを示す警告メッセージを電話会社から特定の登録済みのクライアントデバイスで受信することに同意しうる。結果として、例えば、電話会社の自分の口座内のユーザの残高が、残高閾値の範囲内であれば、ユーザは、ユーザの電話用口座の残高が少ないことを示す警告メッセージを自分の登録済みのクライアントデバイスで受信しうる。後に詳述するように、警告メッセージに含まれる情報は、電話用口座入金サービスを実行するために利用できるクライアントデバイスにインストールされた対応するクライアントアプリケーションを決定するために、自動的に分析および利用されてよい。いくつかの実施形態において、メッセージに関連するテキスト内容および識別情報の一方または両方が、メッセージに対応するクライアントアプリケーションを決定するために利用されうる。
【００３０】
工程２０６で、クライアントアプリケーションは、自動的に起動され、ここで、クライアントアプリケーションは、メッセージに含まれる情報の少なくとも一部を受信するよう構成されている。
【００３１】
後に詳述するように、メッセージに対応するクライアントアプリケーションが特定されると、そのクライアントアプリケーションは、クライアントデバイスで自動的に起動される。様々な実施形態において、クライアントアプリケーションを「起動する」ことは、クライアントデバイスで開かれていないクライアントアプリケーションを開く／実行すること、または、すでに開かれている／実行されている（しかし、現在使用されていない）クライアントアプリケーションを実行し続けること、を指す。クライアントアプリケーションがサービスを実行するためにサーバとデータ交換するよう構成されている様々な実施形態において、起動されたクライアントアプリケーションは、ページにフォームを表示し、サーバへ送信すべき関連情報がそのフォームで受信される。メッセージに含まれる情報、ならびに／もしくは、クライアントデバイスおよび／またはクライアントデバイスのユーザに関連するその他の文脈情報、の少なくとも一部が決定され、フォームの入力フィールドの少なくとも一部に事前入力するために用いられてよい。例えば、クライアントデバイスがユーザの電話用口座の残高が少ないことを示す警告メッセージを受信する例に戻ると、電話用口座入金サービスを実行するために利用できるクライアントデバイスにインストールされた対応するクライアントアプリケーションが起動され、電話用口座入金サービスを実行する際にデータをサーバに送信するためのクライアントアプリケーションに関連するページのフォームには、警告メッセージから抽出された、および／または、クライアントデバイスによって格納された、少なくとも一部の情報が少なくとも部分的に事前入力されうる。例えば、クライアントアプリケーションの事前入力されたフォームは、クライアントデバイスでユーザに提示されてよく、ユーザは、サーバに入力データを送信するためにフォームを提出することを選択できる。このように、警告メッセージを受信した後、ユーザは、警告メッセージに関連するタスクを実行するのに用いるためにクライアントデバイスにインストールされた関連クライアントアプリケーションを手動で特定する必要も、関連クライアントアプリケーションに入力すべきデータを手動で決定する必要もない。その代わり、正しいクライアントアプリケーションが自動的に特定および起動され、クライアントデバイスのユーザの代わりにクライアントデバイスで受信されたメッセージから情報を自動的に事前入力される。
【００３２】
いくつかの実施形態において、処理２００は、少なくとも部分的に、クライアントデバイスのオペレーティングシステムによって実施されうる。いくつかの実施形態において、処理２００は、少なくとも部分的に、サーバによってクライアントデバイスに送信されたコンピュータコードおよび／またはロジックによって実施されうる。
【００３３】
以下の図３、図４、および、図５は、各々、メッセージに含まれる情報を用いてメッセージに対応するクライアントアプリケーションを特定するために実施できる処理の一例を示す。
【００３４】
図３は、メッセージに含まれる情報を用いてメッセージに対応するクライアントアプリケーションを特定するための処理の一例を示すフローチャートである。いくつかの実施形態において、処理３００は、図１のシステム１００で実施される。いくつかの実施形態において、図２の処理２００の工程２０４は、少なくとも部分的に処理３００を用いて実施できる。
【００３５】
工程３０２で、所定キーワードリストからのキーワードがクライアントデバイスで受信されたメッセージに含まれるテキスト内容の中で見つけられるか否かが判定され、ここで、所定キーワードリストは、キーワードに対応するクライアントアプリケーションを示す。
【００３６】
いくつかの実施形態において、メッセージのテキスト内容の中でキーワードを見出すことができるか否かを判定するために、所定キーワードリストに含まれる各キーワードが、メッセージのテキスト内容と比較される。所定キーワードリストは、予め決定されており、様々なキーワードと、かかる各キーワードに対応する１または複数のクライアントアプリケーションとを含む。異なるキーワードが、同じクライアントアプリケーションに対応してよい。１つのクライアントアプリケーションが、異なるキーワードに対応してもよい。いくつかの実施形態において、所定キーワードリストは、サーバで決定され、サーバからクライアントデバイスに送信され、クライアントデバイスに格納されている。いくつかの実施形態において、所定キーワードリストは、クライアントデバイスでユーザによって構成され、クライアントデバイスに格納される。いくつかの実施形態において、処理３００は、少なくとも部分的に、クライアントデバイスで実行中のオペレーティングシステムによって実施されるので、所定キーワードリストは、オペレーティングシステムによってアクセス可能であるようにクライアントデバイスに格納される。
【００３７】
いくつかの実施形態において、所定キーワードリストに含まれるクライアントアプリケーションは、クライアントデバイスに実際にインストールされているクライアントアプリケーションと照合され、所定キーワードリストに示されておりクライアントデバイスにインストールされていない任意のクライアントアプリケーションについては、そのクライアントアプリケーションおよび対応するキーワードを含む所定キーワードリスト内の対応するエントリが、所定キーワードリストから除去される。いくつかの実施形態において、所定キーワードリストに含まれるクライアントアプリケーションは、クライアントデバイスに実際にインストールされているクライアントアプリケーションと照合され、所定キーワードリストに示されておりクライアントデバイスにインストールされていない任意のクライアントアプリケーションについては、ユーザがクライアントデバイスに欠けているクライアントアプリケーションをインストールしたいかどうかを尋ねるためのメッセージが、クライアントデバイスに提示される。このように、所定キーワードリストは、クライアントデバイスに実際にインストールされているクライアントアプリケーションのみを含むことを保証される。
【００３８】
支払いを実行するよう構成されたアプリケーションであるクライアントアプリケーションの一例は、口座振替、請求書支払い、クレジットカード支払い、電話用口座入金などを実行するために利用できる。したがって、例えば、このクライアントアプリケーションと対応するように設定されたキーワードは、以下のキーワードの１または複数を含みうる：「入金」、「残高」、「請求書支払い」、「水道料金請求書」、「電気料金請求書」、「未払料金」、「請求書」、および、「返済」。
【００３９】
工程３０４で、メッセージに含まれるテキスト内容の中にキーワードが見つかった場合、所定キーワードリストによって示されるようにキーワードに対応するクライアントアプリケーションが、メッセージに対応するクライアントアプリケーションとして特定される。
【００４０】
所定キーワードリストからのキーワードがメッセージのテキスト内容の中で見つかった場合、所定キーワードリストによってキーワードに対応することが示されているクライアントアプリケーションが、メッセージに対応するクライアントアプリケーションとして特定される。
【００４１】
例えば、クライアントデバイスが、識別コード１００８６から送信されたメッセージを受信する。このメッセージのテキストは「残高不足の警告：  あなたの電話用口座の残高が、現在１０ドル未満です。通常利用できるように、すぐに入金してください。」である。例えば、処理３００の工程３０２を用いて、所定キーワードリストから（例えば、指定された順番で）各キーワードを取得でき、メッセージのテキスト内容の中でキーワードを見出すことができるか否かを判定するために、メッセージのテキスト内容を確認することができる。現在の例における確認結果は以下の通りである：メッセージが所定キーワードリストのキーワード「残高」および「入金」を含む。したがって、処理３００の工程３０４を用いて、所定キーワードリストに従ってキーワード「残高」および「入金」に対応するクライアントアプリケーションが、メッセージに対応すると決定される。例えば、所定キーワードリストにおいて、キーワード「残高」および「入金」の両方に対応するクライアントアプリケーションは、「Ａｌｉｐａｙ」クライアントアプリケーションである。
【００４２】
メッセージのテキスト内容が、同じクライアントアプリケーションに対応する所定キーワードリストから２以上のキーワードを含む場合、いくつかの実施形態において、メッセージテキスト内容の中で見つかり、同じクライアントアプリケーションに対応するキーワードの総数が所定の閾値を超えるか否かが判定される。メッセージテキスト内容の中で見つかり、同じクライアントアプリケーションに対応するキーワードの数が、所定の閾値を超える場合、そのクライアントアプリケーションは、メッセージに対応するクライアントアプリケーションとして特定される。
【００４３】
メッセージのテキスト内容が、複数の異なるクライアントアプリケーションに対応する所定キーワードリストからの複数のキーワードを含む場合、いくつかの実施形態において、メッセージテキスト内容の中で見つかり、各クライアントアプリケーションに対応するキーワードの総数が決定される。次いで、最大の総キーワード数に関連するクライアントアプリケーションが、メッセージに対応するクライアントアプリケーションとして特定されることが決定される。
【００４４】
メッセージのテキスト内容の中で見つかった所定キーワードリストのキーワードが複数の異なるクライアントアプリケーションに対応する場合、キーワード間の論理的関係性が、クライアントアプリケーションの１つをメッセージに対応するクライアントアプリケーションとして特定するために分析されうる。例えば、メッセージが所定キーワードリストからキーワード「残高」および「入金」を含むと仮定する。現在の例において、「残高」は、「Ａｌｉｐａｙ」クライアントアプリケーションおよび「Ｓｔｏｃｋｓ」クライアントアプリケーションに対応しうる。メッセージに対応するクライアントアプリケーションは、メッセージのテキスト内容の中で見つかった所定キーワードリストのキーワードの論理的関係性を評価することによって特定されうる。キーワード間の論理的関係性は以下を含みうる：例えば、１つのキーワードと１または複数のその他のキーワードとの組み合わせ、１または複数のその他のキーワードに対する１つのキーワードの並び。これらの論理的関係性は、管理者によって予め設定されてもよいし、サンプルを収集してモデルを構築することによって得られてもよい。例えば、所定キーワードリストのキーワード「残高」および「入金」の両方がメッセージのテキスト内容に出現した場合、所定の論理的関係性は、メッセージに対応するクライアントアプリケーションが「Ａｌｉｐａｙ」クライアントアプリケーションであるとキーワード「残高」および「入金」が特定することを示す。別の例で、所定キーワードリストのキーワード「残高」および「オープンアカウント」の両方がメッセージのテキスト内容に出現した場合、所定の論理的関係性は、メッセージに対応するクライアントアプリケーションが「Ｓｔｏｃｋｓ」クライアントアプリケーションであるとキーワード「残高」および「オープンアカウント」が特定することを示す。
【００４５】
図４は、メッセージに含まれる情報を用いてメッセージに対応するクライアントアプリケーションを特定するための処理の一例を示すフローチャートである。いくつかの実施形態において、処理４００は、図１のシステム１００で実施される。いくつかの実施形態において、図２の処理２００の工程２０４は、少なくとも部分的に処理４００を用いて実施できる。
【００４６】
いくつかの実施形態において、処理４００は、図３の処理３００の代わりに実施できる。
【００４７】
工程４０２で、クライアントデバイスで受信されたメッセージに関連する送信者識別コードが、所定送信者識別コードを含むか否かが判定され、ここで、所定送信者識別コードは、クライアントアプリケーションに対応する。
【００４８】
メッセージの送信者識別コードが、潜在的に複数の所定送信者識別コードの１つであるか否かが判定される。言い換えると、メッセージの送信者が、予め設定された送信者であるか否かを判定して、クライアントデバイスでこの同じ送信者から受信したメッセージに基づいて、クライアントデバイスの対応するクライアントアプリケーションを自動的に起動するために、クエリが実行される。様々な実施形態において、メッセージの「送信者識別コード」は、メッセージのソースに関連する数字（例えば、電話番号または電子メールアドレス）および／またはメッセージの中で見つかる値を含みうる。様々な実施形態において、所定送信者識別コードリストが予め決定される。所定送信者識別コードリストは、１または複数の所定送信者識別コードを含んでおり、さらに、各々に対応するクライアントアプリケーションを示している。メッセージに関連する送信者識別コードがこの所定送信者識別コードリスト内で見つかるか否かを調べることにより、メッセージに関連する送信者識別コードが所定送信者識別コードであるか否かを判定できる。いくつかの実施形態において、所定送信者識別コードリストは、サーバからクライアントデバイスで受信され、その後、クライアントデバイスに格納される。いくつかの実施形態において、処理４００は、少なくとも部分的に、クライアントデバイスで実行中のオペレーティングシステムによって実施されるので、所定送信者識別コードリストは、オペレーティングシステムによってアクセス可能であるようにクライアントデバイスに格納される。
【００４９】
いくつかの実施形態において、所定送信者識別コードリストに含まれるクライアントアプリケーションは、クライアントデバイスに実際にインストールされているクライアントアプリケーションと照合され、所定送信者識別コードリストに示されておりクライアントデバイスにインストールされていない任意のクライアントアプリケーションについては、そのクライアントアプリケーションおよび対応する送信者識別コードを含む所定送信者識別コードリスト内の対応するエントリが、所定送信者識別コードリストから除去される。いくつかの実施形態において、所定送信者識別コードリストに含まれるクライアントアプリケーションは、クライアントデバイスに実際にインストールされているクライアントアプリケーションと照合され、所定送信者識別コードリストに示されておりクライアントデバイスにインストールされていない任意のクライアントアプリケーションについては、ユーザがクライアントデバイスに欠けているクライアントアプリケーションをインストールしたいかどうかを尋ねるためのメッセージが、クライアントデバイスで提示される。このように、所定送信者識別コードリストは、クライアントデバイスにインストールされているクライアントアプリケーションのみを含むことを保証される。
【００５０】
工程４０４で、メッセージに関連する送信者識別コードが所定送信者識別コードを含む場合、所定送信者識別コードに対応するクライアントアプリケーションは、メッセージに対応するクライアントアプリケーションとして特定される。
【００５１】
メッセージに関連する送信者識別コードが所定送信者識別コードである場合、所定送信者識別コードに対応するクライアントアプリケーションは、メッセージに対応するクライアントアプリケーションとして特定される。
【００５２】
例えば、クライアントデバイスが、識別コード１００８６から送信されたメッセージを受信する。このメッセージのテキストは「残高不足の警告：あなたの電話用口座の残高が、現在１０ドル未満です。通常利用できるように、すぐに入金してください。」である。メッセージの送信者識別コード１００８６は、所定送信者識別コードリストと比較され、所定送信者識別コード１００８６に一致すると判定される。所定送信者識別コード１００８６は、「Ａｌｉｐａｙ」クライアントアプリケーションに対応すると示されているため、「Ａｌｉｐａｙ」クライアントアプリケーションは、メッセージに対応するクライアントアプリケーションとして特定される。
【００５３】
いくつかの実施形態において、図３の処理３００および図４の処理４００に記載した技術は、メッセージに対応するクライアントアプリケーションを特定する際に併用されてもよい。以下の図５は、かかる併用処理の一例である。
【００５４】
図５は、メッセージに含まれる情報を用いてメッセージに対応するクライアントアプリケーションを特定するための処理の一例を示すフローチャートである。いくつかの実施形態において、処理５００は、図１のシステム１００で実施される。いくつかの実施形態において、図２の処理２００の工程２０４は、少なくとも部分的に処理５００を用いて実施できる。
【００５５】
いくつかの実施形態において、処理５００は、図３の処理３００または図４の処理４００の代わりに実施できる。
【００５６】
工程５０２で、クライアントデバイスで受信されたメッセージに関連する送信者識別コードが、所定送信者識別コードを含むか否かが判定され、ここで、所定送信者識別コードは、クライアントアプリケーションに対応する。
【００５７】
いくつかの実施形態において、所定送信者識別コード／キーワードリストが予め決定され、クライアントデバイスに格納される。所定送信者識別コード／キーワードリストは、１または複数の所定送信者識別コードと、各所定送信者識別コードに対応する１または複数のキーワードと、各所定送信者識別コードに対応するクライアントアプリケーションと、を含む。いくつかの実施形態において、メッセージの送信者識別コードが所定送信者識別コードであるか否かを判定するために、所定送信者識別コード／キーワードリストと比較される。上述のように、所定送信者識別コードは、１または複数のキーワードとクライアントアプリケーションとに対応する。
【００５８】
工程５０４で、メッセージに関連する送信者識別コードが所定送信者識別コードを含む場合、所定送信者識別コードに対応するキーワードが、メッセージに含まれるテキスト内容の中で見つかるか否かが判定される。
【００５９】
いくつかの実施形態において、所定送信者識別コード／キーワードリストの一致した所定送信者識別コードに対応する各キーワードが、メッセージのテキスト内容と比較されて、そのキーワードがメッセージのテキスト内容の中でに見つかるか否かが判定される。
【００６０】
工程５０６で、キーワードがメッセージに含まれるテキスト内容の中で見つかった場合、所定送信者識別コードに対応するクライアントアプリケーションは、メッセージに対応するクライアントアプリケーションとして特定される。
【００６１】
所定送信者識別コード／キーワードリスト内で一致した所定送信者識別コードに対応するキーワードが、メッセージのテキスト内容の中でも見つけられた場合、所定送信者識別コード／キーワードリスト内で一致した所定送信者識別コードに対応するクライアントアプリケーションが、メッセージに対応するクライアントアプリケーションとして特定される。
【００６２】
例えば、クライアントデバイスが、識別コード１００８６から送信されたメッセージを受信する。このメッセージのテキストは「残高不足の警告：  あなたの電話用口座の残高が、現在１０ドル未満です。通常利用できるように、すぐに入金してください。」である。例えば、工程５０２を用いて、送信者識別コード１００８６は、まず、所定送信者識別コード／キーワードリストからの所定送信者識別コードと一致するか否か判定される。この例において、送信者識別コード１００８６は、所定送信者識別コードと一致すると判定される。一致した所定送信者識別コードは、第１のクライアントアプリケーションに対応する。次いで、処理５００は、工程５０４に進む。工程５０４で、一致した所定送信者識別コード１００８６に対応するキーワードが、メッセージのテキスト内容の中で見つけられるか否かを判定するためにチェックされる。具体的には、一致した所定送信者識別コード１００８６に対応するキーワード「残高」および「入金」は、所定送信者識別コード／キーワードリストから取得できる。メッセージは、キーワード「残高」および「入金」の少なくとも一方を含むか否かを調べるためにチェックされうる。チェックの結果として、メッセージが、対応するキーワード「残高」および「入金」を含むとする。次いで、処理５００は、工程５０６に進む。工程５０６で、一致した所定送信者識別コードに対応するクライアントアプリケーションは、メッセージに対応するクライアントアプリケーションとして特定される。例えば、所定送信者識別コード／キーワードリストにおいて、一致する所定送信者識別コード１００８６に対応するキーワードは、「残高」および「入金」であり、対応するクライアントアプリケーションは、「Ａｌｉｐａｙ」クライアントアプリケーションである。
【００６３】
少なくとも一部のクライアントアプリケーションの各々が様々な異なるタイプのサービスを実行する（または、様々なサブアプリケーションを含む）よう構成されているいくつかの実施形態において、所定キーワードリストまたは所定送信者識別コード／キーワードリストが、各キーワードおよび／または各所定送信者識別コードに対応する１または複数の（クライアントアプリケーションの）サブアプリケーションをさらに含んでもよい。メッセージに対応するクライアントアプリケーションが、図３の処理３００または図５の処理５００のいずれかで特定される場合、各処理は、さらに、メッセージに対応するクライアントアプリケーションに関連するサブアプリケーションを決定する工程を備えてもよい。以下の図６は、各所定送信者識別コードに対応するクライアントアプリケーションの１または複数のサブアプリケーションを含む所定送信者識別コード／キーワードリストを用いて、メッセージに対応するクライアントアプリケーションの特定のサブアプリケーションを特定する処理の一例を示す。
【００６４】
図６は、メッセージに含まれる情報を用いてメッセージに対応するクライアントアプリケーションのサブアプリケーションを特定するための処理の一例を示すフローチャートである。いくつかの実施形態において、処理６００は、図１のシステム１００で実施される。いくつかの実施形態において、図２の処理２００の工程２０４は、少なくとも部分的に処理６００を用いて実施できる。
【００６５】
処理６００は、処理６００の所定送信者識別コード／キーワードリストが、各所定送信者識別コードに対応する１または複数のそれぞれのキーワードに対応する（クライアントアプリケーションの）１または複数のサブアプリケーションをさらに含むことを除いて、図５の処理５００と同様である。
【００６６】
いくつかの実施形態において、処理６００は、図３の処理３００、図４の処理４００、または、図５の処理５００の代わりに実施できる。
【００６７】
工程６０２で、クライアントデバイスで受信されたメッセージに関連する送信者識別コードが、所定送信者識別コードを含むか否かが判定され、ここで、所定送信者識別コードは、クライアントアプリケーションに関連する複数のサブアプリケーションに対応し、クライアントアプリケーションに関連する複数のサブアプリケーションは、それぞれの複数のキーワードに対応する。
【００６８】
いくつかの実施形態において、所定送信者識別コード／キーワードリストが予め決定され、クライアントデバイスに格納される。所定送信者識別コード／キーワードリストは、１または複数の所定送信者識別コードと、各所定送信者識別コードに対応する１または複数のキーワードと、各所定送信者識別コードに対応するキーワードのそれぞれに対応する（クライアントアプリケーションの）１または複数のサブアプリケーションと、を示している。いくつかの実施形態において、メッセージの送信者識別コードが所定送信者識別コードであるか否かを判定するために、所定送信者識別コード／キーワードリストと比較される。上述のように、所定送信者識別コードは、１または複数のキーワードとクライアントアプリケーションの１または複数のサブアプリケーションとに対応する。
【００６９】
例えば、端末が、識別コード１００８６から送信されたメッセージを受信する。このメッセージのテキストは「残高不足の警告：あなたの電話用口座の残高が、現在１０ドル未満です。通常利用できるように、すぐに入金してください。」である。
【００７０】
工程６０４で、メッセージに関連する送信者識別コードが所定送信者識別コードを含む場合、複数のキーワードの内の１キーワードが、メッセージに含まれるテキスト内容の中で見つかるか否かが判定される。
【００７１】
いくつかの実施形態において、メッセージのテキスト内容の中でキーワードを見出すことができるか否かを判定するために、所定送信者識別コード／キーワードリストに含まれる各キーワードが、メッセージのテキスト内容と比較される。例えば、支払いを実行するよう構成されたクライアントアプリケーションが、以下のサブアプリケーションを備えてよい：口座間での資金移動、請求書支払いの実行、クレジットカード支払いの実行、および、（例えば、電話用の口座などのサービスに関連する）前払い口座への資金移動。例えば、少なくとも１つのキーワードが、所定送信者識別コードに対応するクライアントアプリケーションの各サブアプリケーションに対応するよう構成されてよい。例えば、電話用口座入金サブアプリケーションに対応するように構成されうるキーワードは、例えば、「入金」、「残高」、および、電話用口座入金に関連する１または複数のその他の用語、である。請求書支払いサブアプリケーションに対応するように構成されうるキーワードは、例えば、「請求書支払い」、「水道料金請求書」、「電気料金請求書」、「未払料金」、および、請求書支払いに関連する１または複数のその他の用語、である。クレジットカード支払いサブアプリケーションに対応するように構成されうるキーワードは、例えば、「請求書」、「返済」、および、クレジットカード支払いに関連する１または複数のその他の用語、である。
【００７２】
上記の例に戻ると、一致した所定送信者識別コードに関連する所定送信者識別コード／キーワードリストのキーワードは、メッセージのテキスト内容と比較され、キーワード「残高」および「入金」がメッセージのテキスト内容の中で見つかる。
【００７３】
工程６０６で、キーワードがメッセージに含まれるテキスト内容の中で見つかった場合、クライアントアプリケーションに関連する複数のサブアプリケーションの中でキーワードに対応する１サブアプリケ−ションが、メッセージに対応するクライアントアプリケーションに関連するサブアプリケーションとして特定される。
【００７４】
所定送信者識別コード／キーワードリスト内で一致した所定送信者識別コードに対応するキーワードが、メッセージのテキスト内容の中でも見つけられた場合、所定送信者識別コード／キーワードリスト内でキーワードに対応するクライアントアプリケーションのサブアプリケーションは、メッセージに対応するクライアントアプリケーションのサブアプリケーションとして特定される。
【００７５】
上記の例に戻ると、メッセージのテキスト内容の中で見つかったキーワード「残高」および「入金」に対応する支払いを実行するよう構成されたクライアントアプリケーションのサブアプリケーションは、電話用口座入金サブアプリケーション（「Ａｌｉｐａｙ」クライアントアプリケーションの「Ａｌｉｐａｙ入金」サブアプリケーション）である。
【００７６】
図７は、クライアントアプリケーションを自動的に起動する処理の一例を示すフローチャートである。いくつかの実施形態において、処理７００は、図１のシステム１００で実施される。いくつかの実施形態において、図２の処理２００の工程２０６は、少なくとも部分的に処理７００を用いて実施できる。
【００７７】
例えば、処理７００の前に、受信されたメッセージに対応するクライアントアプリケーションが、図３の処理３００、図４の処理４００、図５の処理５００、および、図６の処理６００の１つを用いて特定されうる。
【００７８】
工程７０２で、データ交換要求が、クライアントデバイスで受信されたメッセージに少なくとも部分的に基づいて生成され、ここで、データ交換要求は、メッセージに対応するクライアントアプリケーションにパラメータ情報を渡すよう構成されている。
【００７９】
メッセージに対応するクライアントアプリケーションまたはそのクライアントアプリケーションの特定のサブアプリケーションが決定されたので、クライアントアプリケーションは、メッセージに基づいて（例えば、サーバと）データの交換を実行させられる。クライアントアプリケーションが実行させられるデータ交換のタイプは、メッセージのテキスト内容に含まれるキーワードに従って決定されてよく、このタイプのデータ交換の実行を要求するデータ交換要求が生成される。いくつかの実施形態において、データ交換のタイプは、メッセージに含まれるクライアントアプリケーションに対応するキーワードに少なくとも部分的に基づいて決定されてもよい。
【００８０】
第１の例では、（例えば、電話会社によって送信された）電話請求書残高警告メッセージがクライアントデバイスで受信され、所定キーワードリストからのキーワード「請求書」、「残高」、および、「入金」がメッセージのテキスト内容に含まれること、ならびに、かかるキーワードが支払いを実行するよう構成されたクライアントアプリケーションの電話入金サービス（例えば、サブアプリケーション）に関連すること、が決定される。したがって、クライアントアプリケーションによって実行されるデータ交換のタイプは、電話用口座入金に関連すると決定され、支払いクライアントアプリケーションを用いてユーザの電話用口座の入金を実行するための要求が生成される。第２の例では、（例えば、クレジットカード発行銀号、もしくは、水道、電気、または、ガス供給部によって送信された）警告メッセージがクライアントデバイスで受信され、所定キーワードリストからのキーワード「請求書」および「返済」がメッセージのテキスト内容に含まれること、ならびに、かかるキーワードが支払いを実行するよう構成されたクライアントアプリケーションのクレジットカード支払い（例えば、サブアプリケーション）に関連すること、が決定される。第２の例において、クライアントアプリケーションによって実行されるデータ交換のタイプは、クレジットカード支払いであると決定されることができ、支払いクライアントアプリケーションを用いてクレジットカード請求書の支払いを実行するための要求が生成される。
【００８１】
様々な実施形態において、データ交換要求は、決定されたデータ交換に関連するパラメータ情報を含んでよい。いくつかの実施形態において、パラメータ情報は、ユニフォームリソースロケータ（ＵＲＬ）の形態であってよい。いくつかの実施形態において、データ交換要求に含まれるパラメータ情報は、メッセージに含まれる情報から決定されてよい。以下に述べるように、データ交換要求に含まれるパラメータ情報は、少なくとも一部の入力フィールドを埋めるためにクライアントアプリケーションに送られてよい。いくつかの実施形態において、ＵＲＬは、クライアントデバイスのオペレーティングシステムによって生成されうる。ＵＲＬを含むデータ交換要求が生成されると、そのデータ交換要求は、メッセージに対応するクライアントアプリケーションを起動するために利用できる。例えば、データ交換要求のＵＲＬは、メッセージに対応する特定済みのクライアントアプリケーションに対応する識別子、または、メッセージに対応するクライアントアプリケーションの特定済みの特定のサブアプリケーションに対応する識別子を含んでよい。
【００８２】
いくつかの実施形態において、パラメータ情報は、メッセージから抽出された情報に基づいて決定される。いくつかの実施形態において、パラメータ情報は、メッセージのテキスト内容の中の所定の用語を分析することによって、メッセージから抽出される。例えば、特定の意味を示す語句が、メッセージテキスト内容の中で特定され、次いで、メッセージ内の他の用語が、パラメータ情報として用いるために、これらの語句に関連して抽出されてもよい。例えば、クレジットカード支払い警告メッセージのテキスト内容は、「請求書残高」、「支払い期日到来」、および、「最低返済額」などの言葉を含みうる。これらの語句の後には、一般に、クレジットカード請求書の未払額が続く。したがって、これらの語句の後の未払額情報を含む数値が抽出され、パラメータ情報として用いられてよい。
【００８３】
いくつかの実施形態において、パラメータ情報は、メッセージを所定送信者メッセージテンプレートと比較することによって、メッセージから抽出されてもよい。警告メッセージは、一般に、対応するテンプレートに従って送信され、そのテンプレートは不変である。例えば、支払いクライアントアプリケーションに対応する電話用口座残高不足警告、および、支払いクライアントアプリケーションに対応するクレジットカード支払い警告メッセージは両方とも、一般に、対応する固定テンプレートに従って送信される。すなわち、どのユーザに送信される特定のタイプの警告メッセージでも、情報のタイプおよび情報の位置は、通常は同じである。警告メッセージ内の具体的な値（例えば、ユーザ名、未払残高、クレジットカード番号など）のみが、メッセージごとに異なりうる。換言すると、同じ送信者によって送信された同じタイプのメッセージでは、異なるユーザに送信されたかかるメッセージのテキスト内容に含まれる情報のタイプおよび情報の位置は同じであり、異なるユーザに送信されたメッセージ間で具体的な値のみが異なっている。例えば、同じ銀行によってクレジットカードユーザに送信されたクレジットカード支払い警告メッセージにおいて、ユーザ名、カード番号、および、クレジットカード未払残高などの具体的な値は異なりうるが、メッセージのテキスト内でのかかる値の位置は同じである。したがって、送信者のメッセージのテンプレートを予め取得しておき、それらを用いて、対応するクライアントアプリケーションによるデータ交換のために必要なパラメータ情報のメッセージテンプレート内での位置を決定することができる。こうして、送信者について取得されたテンプレートを用いて、送信者によって送信されたメッセージからパラメータ情報を抽出できるようになる。
【００８４】
いくつかの実施形態において、メッセージから抽出された情報を含むことに加えて、パラメータ情報は、クライアントデバイスによって格納された情報を含んでもよい。例えば、かかる情報は、クライアントデバイスのユーザに関連する銀行口座番号、クライアントデバイスのユーザに関連する電話番号、および、クライアントデバイスのユーザのアドレスを含んでよい。
【００８５】
以下は、データ交換要求に含まれるＵＲＬの例である：ａｂｃ：／／ｐｌａｔｆｏｒｍａｐｉ／ｓｔａｒｔａｐｐ？ａｐｐＩｄ＝１２３＆ｓｏｕｒｃｅＩｄ＝６５４３２１＆ｃｌｉｅｎｔＶｅｒｓｉｏｎ＝７．６．５．４＆ｏｕｔＴｒａｄｅＮｏ＝ｘｘｘｘｘｘ＆ｍｏｂｉｌｅＮｏ＝１２３４５６７８９１２＆ｃｍｓＭｓｇ＝１２３４５＆ｒｅｔｕｒｎＵｒｌ＝６５４３２１、ここで、「ａｂｃ」は、起動されるクライアントアプリケーションの識別子であり；「ａｐｐＩｄ」は、ダイレクトされるクライアントアプリケーションのサブアプリケーションの識別子を表す。したがって、上記のＵＲＬ例を備えたデータ交換要求に基づいて、クライアントアプリケーション「ａｂｃ」を起動して、そのサブアプリケーション「１２３」にダイレクトすることができる。上記のＵＲＬ例に含まれるその他のパラメータ情報の例は、例えば：ｍｏｂｉｌｅＮｏ＝１２３４５６７８９１２であり、電話用口座に入金する必要のある電話番号が１２３４５６７８９１２であることを示している。
【００８６】
工程７０４で、データ交換要求を承認することに関連するコントロールが、クライアントデバイスで提示される。
【００８７】
クライアントアプリケーションがデータ交換要求を用いて起動される前に、メッセージに対応すると判定されたクライアントアプリケーションを起動する許可をユーザに求めるプロンプトが、クライアントデバイスに表示される。プロンプトは、特定されたクライアントアプリケーションの起動の承認を示すためにユーザが選択できる選択可能な要素を備えた少なくとも１つのコントロールを備えてよい。プロンプトは、起動するクライアントアプリケーションに関連づけられた識別子、および／または、その他の情報を含んでよい。いくつかの実施形態において、プロンプトは、受信メッセージが表示されたページおよび／またはアプリケーションと同じ表示ページおよび／またはアプリケーションに表示される。
【００８８】
例えば、キーワード「残高」および「入金」が、電話残高不足警告メッセージのテキスト内容に含まれるため、支払いを実行するよう構成されたクライアントアプリケーションが、メッセージに対応すると特定されたと仮定する。支払いクライアントアプリケーションによって実行されるデータ交換の特定されたタイプは、電話入金サービス（サブアプリケーション）であるため、支払いクライアントアプリケーションを用いて電話入金サービスを行うための要求が生成される。例えば、データ交換要求は、ユーザの電話用口座に入金する必要性をユーザに警告するために、メッセージの表示ページ上にプロンプトまたはアイコンの形態で表示されうる。ユーザは、メッセージを読んで、ユーザの電話の残高が不十分であるとわかった時、電話用口座の入金を進めたい場合には、メッセージ表示ページに表示された電話入金サービスを進めることを承認するプロンプトまたはアイコン上のコントロール（例えば、ボタン）を選択してよい。プロンプト上の承認ボタンが選択された場合、データ交換要求は、支払いクライアントアプリケーションを起動して電話入金サービスを完了させるために用いられるよう構成される。言い換えると、ユーザは、クライアントデバイスによって受信されたメッセージを読んだ時、メッセージに対応するクライアントアプリケーション（例えば、クライアントアプリケーションの適切なサブアプリケーション）に直接スキップしてクライアントアプリケーションに適切なタイプのサービスを実行させるために、メッセージの表示ページに表示されたデータ交換要求を承認することを選択（例えば、クリック）するだけでよい。ユーザは、メッセージアプリケーションを手動で終了する必要も、クライアントアプリケーションに切り替える必要もない。ユーザは、メッセージに対応するクライアントアプリケーションのサブアプリケーションを選択する必要もない。ユーザは、そのタイプのサービスを実行するために、クライアントアプリケーションの適切なサブアプリケーションに直接導かれうる。
【００８９】
工程７０６で、コントロールに関連する選択の受信に応答して、クライアントアプリケーションは、データ交換要求に少なくとも部分的に基づいて起動され、パラメータ情報の少なくとも一部が、クライアントアプリケーションに関連するページに自動的に入力される。
【００９０】
様々な実施形態において、クライアントアプリケーションを「起動する」ことは、クライアントデバイスで開かれていないクライアントアプリケーションを開く／実行すること、または、すでに開かれている／実行されている（しかし、現在使用されていない）クライアントアプリケーションを実行し続けること、を指す。データ交換要求は、ユーザによって承認されると、特定されたクライアントアプリケーションを起動させるよう構成される。上述のように、データ交換要求は、起動されたクライアントアプリケーションに渡されるパラメータ情報を含む。いくつかの実施形態において、パラメータ情報は、以下の内の１または複数を含む：データ交換送信者に関連づけられた識別情報、および、データ交換受信者（例えば、クライアントデバイスのユーザ）に関連づけられた識別情報。データ交換送信者に関連づけられた識別情報は、例えば、送信者の番号（例えば、送信者識別コード）、クライアントアプリケーションの口座番号、および、送信者に関連する銀行カード口座番号として、情報を含んでよい。データ交換受信者に関連づけられた識別情報は、例えば、受信者の番号、クライアントアプリケーションの口座番号、および、受信者に関連する銀行カード口座番号を含んでよい。いくつかの実施形態において、パラメータ情報は、以下の内の１または複数をさらに含んでもよい：メッセージに対応するクライアントアプリケーションのサブアプリケーションの識別子、ただし、この識別子はクライアントアプリケーションに関連づけられている。例えば、クライアントアプリケーションは、１または複数のサブアプリケーションを含んでよく、クライアントアプリケーションの各サブアプリケーションは、クライアントアプリケーションに関連づけられた識別子（サブアプリケーション番号など）を有しうる。
【００９１】
いくつかの実施形態において、データ交換要求に含まれるパラメータ情報は、起動されたクライアントアプリケーションのページに関連する入力フィールドの少なくとも一部に事前入力するために用いられる。例えば、起動されたクライアントアプリケーションは、データ交換データが入力されるフォームを含むページに開かれてよい。例えば、起動された支払いクライアントアプリケーションは、受取人を識別する情報および受取人に送る金額が入力フィールドで求められるフォームを備えたページに開かれてよい。いくつかの実施形態において、クライアントアプリケーションが開かれるページは、メッセージに対応すると特定されたクライアントアプリケーションの特定のサブアプリケーションに関連する。次いで、クライアントアプリケーションのページの入力フィールドには、データ交換要求を介してクライアントアプリケーションに渡された関連パラメータ情報が事前入力される。例えば、パラメータ情報は、それらのメタデータに基づいてクライアントアプリケーションのページの様々な入力フィールドにマッチングされる。いくつかの実施形態において、クライアントアプリケーションの事前入力されたページは、クライアントアプリケーションに関連するサーバへ入力パラメータ情報をデータ交換要求の一部としてクライアントアプリケーションに送信させるための選択可能な要素を選択する前にユーザが編集するために、クライアントデバイスに表示される。
【００９２】
メッセージに関連するクライアントアプリケーションを自動的に起動し、クライアントアプリケーションに情報を自動的に渡すことにより、クライアントアプリケーションへの入力エラーも回避できる。さらに、ユーザは、サーバとのデータの交換を承認する前に、起動されたクライアントアプリケーションに自動的にすでに事前入力されている情報を修正することができる。例えば、ユーザは、必要に応じて、口座振替額または請求書支払額などの情報を修正してよい。情報を修正する必要がない場合、ユーザは、動作を確認してデータ交換を完了させる（例えば、支払いを完了させる）ために、クライアントアプリケーションによって表示されたプロンプトに従っていくつかのステップを実行するだけでよい。
【００９３】
いくつかの実施形態において、ユーザがページで入力された情報を送信するために選択可能な要素を選択する前に、クライアントアプリケーションは、サーバがデータ交換要求に基づいてデータ交換記録を生成するために、クライアントデバイスの製造業者に関連するサーバに要求を発行する。データ交換要求に基づいたデータ交換記録は、クライアントデバイスへサーバによって送り返された識別コードと関連づけられうる。サーバによって送り返されたデータ交換記録の識別コードが受信されると、この識別コードは、このデータ交換記録識別コードが上述のデータ交換パラメータ情報と共にクライアントアプリケーションに送信される別のパラメータでありうるように、クライアントアプリケーションに関連するサーバに送信される準備ができた時にデータ交換要求内に配置されてもよい。さらに、クライアントアプリケーションに関連するサーバがデータ交換に成功した後、クライアントアプリケーションに関連するサーバは、クライアントデバイスの製造業者に関連するサーバにデータ交換記録識別コードに従ってデータ交換結果情報（例えば、支払いが適切な受取人になされたことの確認）を送信し、クライアントデバイスの製造業者に関連するサーバが結果情報に従ってデータ交換記録を更新できるようにする。
【００９４】
例えば、クライアントデバイス製造業者が、クライアントアプリケーションを介してクライアントデバイスのユーザおよびその他のユーザの間で行われたデータ交換をクライアントデバイス製造業者に記録するために、このデータ交換のためのデータ交換記録を作成する要求がバックエンドサーバに送信される。さらに、クライアントデバイス製造業者に関連するサーバは、要求に基づいてデータ交換記録を作成した後、クライアントアプリケーションにデータ交換記録識別コードを送り返す。この識別コードは、クライアントアプリケーションのサーバにクライアントアプリケーションによって送信されるデータ交換要求内に配置されうる。
【００９５】
データ交換が完了した（例えば、成功データ交換結果情報がクライアントデバイスで受信された）後、クライアントアプリケーションは、データ交換の成功をユーザに知らせるために、クライアントデバイス上に成功データ交換結果情報を表示してよい。例えば、クライアントアプリケーションは、データ交換パラメータ情報、データ交換の完了時刻、および、その他のかかる情報の一部を表示できる。いくつかの実施形態において、クライアントアプリケーションに関連するサーバは、クライアントデバイスの製造業者と関連するサーバが識別コードおよび結果情報に従ってデータ交換記録を更新できるように、データ交換記録識別コードに従って、クライアントデバイスの製造業者と関連するサーバにデータ交換結果情報を送信できる。次いで、クライアントデバイスの製造業者に関連するサーバは、クライアントデバイスにデータ交換結果情報を送信できる。
【００９６】
上述のように、本明細書に記載の実施形態は、クライアントデバイスによって受信されたメッセージが、別のクライアントアプリケーションにジャンプするためのインターフェース（例えば、プロンプト）を提供することを可能にする。このインターフェースを用いれば、ユーザは、メッセージから、メッセージに対応する関連クライアントアプリケーション（または、クライアントアプリケーションのサブアプリケーション）に直接ジャンプすることができる。ユーザは、手動でメッセージを終了した後に、メッセージに対応するクライアントアプリケーションを起動する必要はない。さらに、ユーザは、クライアントアプリケーションの適切なサブアプリケーションを選択する必要も、起動されたクライアントアプリケーションの入力フィールドを埋める必要もない。このフローは、ユーザが、メッセージの受信に応答して、簡便にタスクを実行することを可能にする。
【００９７】
図８は、受信したメッセージに基づいてクライアントアプリケーションを起動するためのシステムの一実施形態を示す図である。この例において、システム８００は、受信モジュール８０２、決定モジュール８０４、および、起動モジュール８０６を備える。
【００９８】
モジュールおよびサブモジュールは、１または複数のプロセッサ上で実行されるソフトウェアコンポーネントとして、設計されたプログラム可能論理デバイスおよび／または特定用途向け集積回路などのハードウェアとして実装されてよく、要素は、コンピュータデバイス（パーソナルコンピュータ、サーバ、ネットワーク装置など）に本発明の実施形態に記載された方法を実行させるための複数の命令など、不揮発性記憶媒体（光学ディスク、フラッシュ記憶装置、携帯用ハードディスクなど）に格納することができるソフトウェア製品の形態で具現化されてよい。モジュールおよびサブモジュールは、単一のデバイス上に実装されてもよいし、複数のデバイスにわたって分散されてもよい。
【００９９】
受信モジュール８０２は、メッセージを受信するよう構成されている。
【０１００】
決定モジュール８０４は、メッセージに含まれる情報を用いてメッセージに対応するクライアントアプリケーションを特定するよう構成されている。
【０１０１】
起動モジュール８０６は、クライアントアプリケーションを起動するよう構成されている。クライアントアプリケーションは、メッセージに含まれる情報の少なくとも一部を受信するよう構成されている。いくつかの実施形態において、メッセージの情報は、テキスト内容および／または送信者識別コードを含む。
【０１０２】
いくつかの実施形態において、決定モジュール８０４は、さらに以下を含む：第１の分析サブモジュールおよび第１の決定サブモジュール。
【０１０３】
第１の分析サブモジュールは、テキスト内容がクライアントアプリケーションに対応する１または複数のキーワードを含むか否かを決定するためにメッセージのテキスト内容を分析するよう構成されている。
【０１０４】
第１の決定サブモジュールは、メッセージのテキスト内容がキーワードを含む場合に、キーワードに対応するクライアントアプリケーションがメッセージに対応すると決定するよう構成されている。
【０１０５】
いくつかの実施形態において、決定モジュール８０４は、さらに以下を含む：第２のクエリサブモジュールおよび第２の決定サブモジュール。
【０１０６】
第２のクエリサブモジュールは、メッセージの送信者識別コードを決定して、それが所定送信者識別コードであるか否かを判定するよう構成されている。
【０１０７】
第２の決定サブモジュールは、メッセージの送信者識別コードが所定送信者識別コードであった場合に、所定送信者識別コードに対応するクライアントアプリケーションがメッセージに対応すると決定するよう構成されている。
【０１０８】
いくつかの実施形態において、決定モジュール８０４は、以下をさらに含む：第３のクエリサブモジュール、第３の分析サブモジュール、および、第３の決定サブモジュール。
【０１０９】
第３のクエリサブモジュールは、メッセージの送信者識別コードを決定して、それが所定送信者識別コードであるか否かを判定するよう構成されている。
【０１１０】
第３の分析サブモジュールは、メッセージの送信者識別コードが所定送信者識別コードであった場合に、メッセージが所定送信者識別コードに対応するキーワードを含むか否かを判定するために、メッセージのテキスト内容を分析するよう構成されている。
【０１１１】
第３の決定サブモジュールは、メッセージのテキスト内容がキーワードを含む場合に、所定送信者識別コードに対応するクライアントアプリケーションがメッセージに対応することを決定するよう構成されている。
【０１１２】
いくつかの実施形態において、システム８００は、生成モジュールをさらに備えてもよい。対応する機能がデータ交換である場合、生成モジュールは、メッセージに基づいてデータ交換要求を生成するよう構成される。データ交換要求は、データ交換要求に従ってクライアントアプリケーションにデータ交換を完了させるよう構成される。
【０１１３】
いくつかの実施形態において、生成モジュールは、さらに、メッセージのテキスト内容に含まれるキーワードを用いて、データ交換のタイプを決定し、そのタイプのデータ交換の実行を要求するデータ交換要求を生成するよう構成されている。さらに、データ交換要求は、メッセージから少なくとも抽出されえたパラメータ情報を含む。パラメータ情報は、以下の内の１または複数を含む：データ交換送信者に関連づけられた識別情報、および、データ交換受信者に関連づけられた識別情報。
【０１１４】
いくつかの実施形態において、システム８００は、以下をさらに備えてもよい：要求モジュールおよび識別コード受信モジュール。要求モジュールは、データ交換要求に基づいてデータ交換記録を生成する要求をクライアントデバイスの製造業者に関連するサーバに発行するよう構成されている。識別コード受信モジュールは、データ交換要求に基づいて生成されたデータ交換記録に関連するクライアントデバイスの製造業者に関連するサーバによって送り返された識別コードを受信するよう構成されている。いくつかの実施形態において、データ交換要求のパラメータ情報は、データ交換記録に関連づけられた識別コードをさらに含んでもよい。
【０１１５】
いくつかの実施形態において、システム８００は、結果情報受信モジュールをさらに備えてもよい。結果情報受信モジュールは、クライアントデバイスの製造業者に関連するサーバによって送信されたデータ交換結果情報を受信するよう構成されており、ここで、結果情報は、クライアントアプリケーションに関連するサーバによってクライアントデバイスの製造業者に関連するサーバに送信される。
【０１１６】
図９は、メッセージに基づいてクライアントアプリケーションの起動を実施するようにプログラムされたコンピュータシステムの一実施形態を示す機能図である。明らかに、メッセージに基づいてクライアントアプリケーションを起動するために、他のコンピュータシステムアーキテクチャおよび構成を用いることも可能である。以下に述べるような様々なサブシステムを備えるコンピュータシステム９００は、少なくとも１つのマイクロプロセッササブシステム（プロセッサまたは中央処理装置（ＣＰＵ）とも呼ばれる）９０２を備える。例えば、プロセッサ９０２は、シングルチッププロセッサまたはマルチプロセッサによって実装できる。いくつかの実施形態において、プロセッサ９０２は、コンピュータシステム９００の動作を制御する汎用デジタルプロセッサである。メモリ９１０から読み出された命令を用いて、プロセッサ９０２は、入力データの受信および操作、ならびに、出力デバイス（例えば、ディスプレイ９１８）上でのデータの出力および表示を制御する。いくつかの実施形態において、プロセッサ９０２は、メッセージに基づいたクライアントアプリケーションの起動を含む、および／または、提供するために用いられる。
【０１１７】
プロセッサ９０２は、メモリ９１０と双方向的に接続されており、メモリ９１０は、第１のプライマリストレージ領域（通例は、ランダムアクセスメモリ（ＲＡＭ））および第２のプライマリストレージ領域（通例は、リードオンリーメモリ（ＲＯＭ））を含みうる。当業者に周知のように、プライマリストレージは、一般的な記憶領域として、および、スクラッチパッドメモリとして利用可能であり、また、入力データおよび処理済みデータを格納するために利用可能である。プライマリストレージは、さらに、プロセッサ９０２上で実行される処理のための他のデータおよび命令に加えて、データオブジェクトおよびテキストオブジェクトの形態で、プログラミング命令およびデータを格納できる。また、当業者に周知のように、プライマリストレージは、通例、機能（例えば、プログラムされた命令）を実行するためにプロセッサ９０２によって用いられる基本的な動作命令、プログラムコード、データ、および、オブジェクトを備える。例えば、メモリ９１０は、例えば、データアクセスが双方向である必要があるか、単方向である必要があるかに応じて、後述する任意の適切なコンピュータ読み取り可能な記憶媒体を含みうる。例えば、プロセッサ９０２は、頻繁に必要になるデータをキャッシュメモリ（図示せず）に直接的かつ非常に迅速に格納し取り出すことができる。
【０１１８】
着脱可能マスストレージデバイス９１２が、コンピュータシステム９００にさらなるデータ記憶容量を提供しており、プロセッサ９０２に対して双方向（読み出し／書き込み）または単方向（読み出しのみ）に接続されている。例えば、ストレージ９１２は、磁気テープ、フラッシュメモリ、ＰＣカード、携帯型マスストレージデバイス、ホログラフィックストレージデバイス、および、その他のストレージデバイスなどのコンピュータ読み取り可能な媒体も含みうる。固定マスストレージ９２０も、例えば、さらなるデータ記憶容量を提供しうる。固定マスストレージ９２０の最も一般的な例は、ハードディスクドライブである。マスストレージ９１２、９２０は、一般に、プロセッサ９０２によって通例はあまり利用されないさらなるプログラミング命令、データなどを格納する。マスストレージ９１２および９２０に保持された情報は、必要であれば、仮想メモリとしてのメモリ９１０（例えば、ＲＡＭ）の一部に標準的な方式で組み込まれうることが理解される。
【０１１９】
プロセッサ９０２がストレージサブシステムにアクセスできるようにすることに加えて、バス９１４は、その他のサブシステムおよびデバイスへのアクセスを可能にするために用いられてもよい。図に示すように、これらは、ディスプレイ９１８、ネットワークインターフェース９１６、キーボード９０４、および、ポインティングデバイス９０８、ならびに、必要に応じて、補助入力／出力デバイスインターフェース、サウンドカード、スピーカ、および、その他のサブシステムを含みうる。例えば、ポインティングデバイス９０８は、マウス、スタイラス、トラックボール、または、タブレットであってよく、グラフィカルユーザインターフェースと相互作用するのに有用である。
【０１２０】
ネットワークインターフェース９１６は、図に示すように、ネットワーク接続を用いて、別のコンピュータ、コンピュータネットワーク、または、遠隔通信ネットワークにプロセッサ９０２を接続することを可能にする。例えば、ネットワークインターフェース９１６を通して、プロセッサ９０２は、方法／処理ステップを実行する過程で、別のネットワークから情報（例えば、データオブジェクトまたはプログラム命令）を受信したり、別のネットワークに情報を出力したりすることができる。情報は、しばしば、プロセッサ上で実行される一連の命令として表され、別のネットワークから受信されたり、別のネットワークへ出力されたりしうる。インターフェースカード（または同様のデバイス）と、プロセッサ９０２によって実装（例えば、実行／実施）される適切なソフトウェアとを用いて、コンピュータシステム９００を外部ネットワークに接続し、標準プロトコルに従ってデータを転送することができる。例えば、本明細書に開示された様々な処理の実施形態は、プロセッサ９０２上で実行されてもよいし、処理の一部を共有するリモートプロセッサと共に、ネットワーク（インターネット、イントラネットワーク、または、ローカルエリアネットワークなど）上で実行されてもよい。さらなるマスストレージデバイス（図示せず）が、ネットワークインターフェース９１６を通してプロセッサ９０２に接続されてもよい。
【０１２１】
補助Ｉ／Ｏデバイスインターフェース（図示せず）が、コンピュータシステム９００と共に用いられてよい。補助Ｉ／Ｏデバイスインターフェースは、プロセッサ９０２がデータを送信すること、ならびに、より典型的には、他のデバイス（マイクロホン、タッチセンサ方式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声または手書き認識装置、バイオメトリクスリーダ、カメラ、携帯型マスストレージデバイス、および、他のコンピュータなど）からデータを受信することを可能にする汎用インターフェースおよびカスタマイズされたインターフェースを含みうる。記述を簡便にするために、上述したシステム、デバイス、および、ユニットの特定の作業プロセスに対応する先述の方法の実施形態における処理を参照しうることは、当業者であれば明確に理解できる。そのため、ここでさらなる議論はしない。
【０１２２】
典型的な一構成において、計算装置は、１または複数のプロセッサ（ＣＰＵ）と、入力／出力インターフェースと、ネットワークインターフェースと、メモリとを備える。
【０１２３】
メモリは、コンピュータ読み取り可能な媒体内の揮発性ストレージデバイス、ランダムアクセスメモリ（ＲＡＭ）、および／または、リードオンリーメモリ（ＲＯＭ）またはフラッシュメモリ（フラッシュＲＡＭ）などの不揮発性メモリなどの形態を含みうる。メモリは、コンピュータ読み取り可能な媒体の一例である。
【０１２４】
コンピュータ読み取り可能な媒体は、永続的および非永続的な媒体、着脱可能および着脱不可能な媒体を含み、任意の方法または技術によって情報の格納を実現できる。情報は、コンピュータ読み取り可能なコマンド、データ構造、プログラムモジュール、または、その他のデータであってよい。コンピュータ記憶媒体の例は、以下を含むがこれらに限定されない：相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、その他のタイプのランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、電気消去可能プログラム可能リードオンリーメモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、または、その他のメモリ技術、コンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）、デジタル多機能ディスク（ＤＶＤ）、または、その他の光学ストレージ、磁気カセット、磁気テープまたは磁気ディスクストレージ、または、その他の磁気ストレージ装置、または、コンピュータにアクセス可能な情報を格納するために利用できる任意のその他の非伝送媒体。本明細書で規定されているように、コンピュータ読み取り可能な媒体は、変調データ信号および搬送波など、一時的なコンピュータ読み取り可能媒体（一時的媒体）を含まない。
【０１２５】
当業者は、本願の実施形態が、方法、システム、または、コンピュータソフトウェア製品として提供されうることを理解されたい。したがって、本願は、完全なハードウェア実施形態、完全なソフトウェア実施形態、もしくは、ソフトウェアおよびハードウェアを組み合わせた実施形態を取りうる。さらに、本願は、コンピュータ動作可能なプログラムコードを含む１または複数のコンピュータ動作可能な記憶媒体（磁気ディスク記憶デバイス、ＣＤ−ＲＯＭ、および、光学記憶デバイスを含むがこれらに限定されない）上に実装されたコンピュータプログラム製品の形態を取りうる。
【０１２６】
以上は、本願の実施形態にすぎず、本願を限定することはない。当業者にとって、本願は、様々な変形例および変更例を有しうる。本願の精神および原理の範囲内でなされた任意の変形、等価的な置換、または、改良はすべて、本願の請求項の範囲内に含まれる。
【０１２７】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
本発明は、たとえば、以下のような態様で実現することもできる。
適用例１：
システムであって、
クライアントデバイスでメッセージを受信するための受信部と、
前記メッセージに含まれる情報を用いて、前記メッセージに対応するクライアントアプリケーションを特定するための決定部と、
前記クライアントアプリケーションを自動的に起動するための起動部と、を備え、
前記クライアントアプリケーションは、前記メッセージに含まれる前記情報の少なくとも一部を受信するよう構成されている、システム。
適用例２：
適用例１のシステムであって、
前記メッセージに含まれる前記情報を用いて、前記メッセージに対応する前記クライアントアプリケーションを特定することは、
所定キーワードリストからのキーワードが前記メッセージに含まれるテキスト内容の中で見つけられるか否かを判定することであって、前記所定キーワードリストは、前記クライアントアプリケーションが前記キーワードに対応することを示す、判定と、
前記メッセージに含まれる前記テキスト内容の中に前記キーワードが見つかった場合に、前記所定キーワードリストによって示され、前記キーワードに対応する前記クライアントアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションとして特定することと、を含む、システム。
適用例３：
適用例１のシステムであって、
前記メッセージに含まれる前記情報を用いて、前記メッセージに対応する前記クライアントアプリケーションを特定することは、
前記メッセージに関連する送信者識別コードが、所定送信者識別コードを含むか否かを判定することであって、前記所定送信者識別コードは、前記クライアントアプリケーションに対応する、判定と、
前記メッセージに関連する前記送信者識別コードが前記所定送信者識別コードを含む場合に、前記所定送信者識別コードに対応する前記クライアントアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションとして特定することと、を含む、システム。
適用例４：
適用例１のシステムであって、
前記メッセージに含まれる前記情報を用いて、前記メッセージに対応する前記クライアントアプリケーションを特定することは、
前記メッセージに関連する送信者識別コードが、所定送信者識別コードを含むか否かを判定することであって、前記所定送信者識別コードは、前記クライアントアプリケーションに対応する、判定と、
前記メッセージに関連する前記送信者識別コードが前記所定送信者識別コードを含む場合に、前記所定送信者識別コードに対応するキーワードが、前記メッセージに含まれるテキスト内容の中で見つかるか否かを判定することと、
前記キーワードが前記メッセージに含まれる前記テキスト内容の中で見つかった場合に、前記所定送信者識別コードに対応する前記クライアントアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションとして特定することと、
を含む、システム。
適用例５：
適用例１のシステムであって、
前記メッセージに含まれる前記情報を用いて、前記メッセージに対応する前記クライアントアプリケーションを特定することは、前記メッセージに対応する前記クライアントアプリケーションに関連するサブアプリケーションを特定することを含む、システム。
適用例６：
適用例５のシステムであって、
前記メッセージに対応する前記クライアントアプリケーションに関連する前記サブアプリケーションを特定することは、
前記メッセージに関連する送信者識別コードが所定送信者識別コードを含むか否かを判定することであって、前記所定送信者識別コードは、前記クライアントアプリケーションに関連する複数のサブアプリケーションに対応し、前記クライアントアプリケーションに関連する前記複数のサブアプリケーションは、それぞれの複数のキーワードに対応する、判定と、
前記メッセージに関連する前記送信者識別コードが前記所定送信者識別コードを含む場合に、前記複数のキーワードの中のキーワードが、前記メッセージに含まれるテキスト内容の中で見つかるか否かを判定することと、
前記キーワードが前記メッセージに含まれる前記テキスト内容の中で見つかった場合に、前記クライアントアプリケーションに関連する前記複数のサブアプリケーションの中で前記キーワードに対応する前記サブアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションに関連する前記サブアプリケーションとして特定することと、を含む、システム。
適用例７：
適用例１のシステムであって、
前記クライアントアプリケーションを自動的に起動することは、
前記メッセージに少なくとも部分的に基づいてデータ交換要求を生成することであって、前記データ交換要求は、前記クライアントアプリケーションにパラメータ情報を送るよう構成されている、データ交換要求の生成と、
前記データ交換要求を承認することに関連するコントロールを前記クライアントデバイスに提示することと、
前記コントロールに関連する選択の受信に応答して、
前記データ交換要求に少なくとも部分的に基づいて、前記クライアントアプリケーションを起動することと、
前記クライアントアプリケーションに関連するページ内に前記パラメータ情報の少なくとも一部を自動的に入力することと、を含む、システム。
適用例８：
適用例７のシステムであって、
前記パラメータ情報は、前記メッセージに含まれる前記情報に少なくとも部分的に基づいて生成される、システム。
適用例９：
適用例８のシステムであって、
前記パラメータ情報は、前記メッセージを所定メッセージテンプレートと比較することに少なくとも部分的に基づいて生成される、システム。
適用例１０：
適用例７のシステムであって、
前記パラメータ情報は、ユニフォームリソースロケータ（ＵＲＬ）を含む、システム。
適用例１１：
適用例７のシステムであって、
前記クライアントアプリケーションに関連する前記ページは、フォームを含み、前記パラメータ情報の前記少なくとも一部は、前記フォームの１または複数の入力フィールドに入力される、システム。
適用例１２：
適用例７のシステムであって、
前記起動部は、さらに、
前記クライアントアプリケーションに関連する前記ページに入力された前記パラメータ情報の前記少なくとも一部を送信するためのユーザ選択を受信し、
前記ユーザ選択に応答して、前記クライアントアプリケーションに関連する前記ページに入力された前記パラメータ情報の前記少なくとも一部をサーバに送信する、システム。
適用例１３：
適用例１のシステムであって、
前記クライアントアプリケーションは、すでに前記クライアントデバイスにインストールされている、システム。
適用例１４：
方法であって、
クライアントデバイスでメッセージを受信する工程と、
前記メッセージに含まれる情報を用いて、前記メッセージに対応するクライアントアプリケーションを特定する工程と、
１または複数のプロセッサを用いて、前記クライアントアプリケーションを自動的に起動する工程と、を備え、
前記クライアントアプリケーションは、前記メッセージに含まれる前記情報の少なくとも一部を受信するよう構成されている、方法。
適用例１５：
適用例１４の方法であって、
前記メッセージに含まれる前記情報を用いて、前記メッセージに対応する前記クライアントアプリケーションを特定する工程は、
所定キーワードリストからのキーワードが前記メッセージに含まれるテキスト内容の中で見つけられるか否かを判定する工程であって、前記所定キーワードリストは、前記クライアントアプリケーションが前記キーワードに対応することを示す、工程と、
前記メッセージに含まれる前記テキスト内容の中に前記キーワードが見つかった場合に、前記所定キーワードリストによって示され前記キーワードに対応する前記クライアントアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションとして特定する工程と、を含む、方法。
適用例１６：
適用例１４の方法であって、
前記メッセージに含まれる前記情報を用いて、前記メッセージに対応する前記クライアントアプリケーションを特定する工程は、
前記メッセージに関連する送信者識別コードが、所定送信者識別コードを含むか否かを判定する工程であって、前記所定送信者識別コードは、前記クライアントアプリケーションに対応する、工程と、
前記メッセージに関連する前記送信者識別コードが前記所定送信者識別コードを含む場合に、前記所定送信者識別コードに対応する前記クライアントアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションとして特定する工程と、を含む、方法。
適用例１７：
適用例１４の方法であって、
前記メッセージに含まれる前記情報を用いて、前記メッセージに対応する前記クライアントアプリケーションを特定する工程は、
前記メッセージに関連する送信者識別コードが、所定送信者識別コードを含むか否かを判定する工程であって、前記所定送信者識別コードは、前記クライアントアプリケーションに対応する、工程と、
前記メッセージに関連する前記送信者識別コードが前記所定送信者識別コードを含む場合に、前記所定送信者識別コードに対応するキーワードが、前記メッセージに含まれるテキスト内容の中で見つかるか否かを判定する工程と、
前記キーワードが前記メッセージに含まれる前記テキスト内容の中で見つかった場合に、前記所定送信者識別コードに対応する前記クライアントアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションとして特定する工程と、を含む、方法。
適用例１８：
適用例１４の方法であって、
前記メッセージに含まれる前記情報を用いて、前記メッセージに対応する前記クライアントアプリケーションを特定する工程は、前記メッセージに対応する前記クライアントアプリケーションに関連するサブアプリケーションを特定する工程を含む、方法。
適用例１９：
適用例１８の方法であって、
前記メッセージに対応する前記クライアントアプリケーションに関連する前記サブアプリケーションを特定する工程は、
前記メッセージに関連する送信者識別コードが所定送信者識別コードを含むか否かを判定する工程であって、前記所定送信者識別コードは、前記クライアントアプリケーションに関連する複数のサブアプリケーションに対応し、前記クライアントアプリケーションに関連する前記複数のサブアプリケーションは、それぞれの複数のキーワードに対応する、工程と、
前記メッセージに関連する前記送信者識別コードが前記所定送信者識別コードを含む場合に、前記複数のキーワードの中のキーワードが、前記メッセージに含まれるテキスト内容の中で見つかるか否かを判定する工程と、
前記キーワードが前記メッセージに含まれる前記テキスト内容の中で見つかった場合に、前記クライアントアプリケーションに関連する前記複数のサブアプリケーションの中で前記キーワードに対応する前記サブアプリケーションを、前記メッセージに対応する前記クライアントアプリケーションに関連する前記サブアプリケーションとして特定する工程と、を含む、方法。
適用例２０：
適用例１４の方法であって、
前記クライアントアプリケーションを自動的に起動する工程は、
前記メッセージに少なくとも部分的に基づいてデータ交換要求を生成する工程であって、前記データ交換要求は、前記クライアントアプリケーションにパラメータ情報を送るよう構成されている、工程と、
前記データ交換要求を承認することに関連するコントロールを前記クライアントデバイスに提示する工程と、
前記コントロールに関連する選択の受信に応答して、
前記データ交換要求に少なくとも部分的に基づいて、前記クライアントアプリケーションを起動する工程と、
前記クライアントアプリケーションに関連するページ内に前記パラメータ情報の少なくとも一部を自動的に入力する工程と、を含む、方法。
適用例２１：
コンピュータプログラム製品であって、
持続性のコンピュータ読み取り可能な記憶媒体を備え、
クライアントデバイスでメッセージを受信するためのコンピュータ命令と、
前記メッセージに含まれる情報を用いて、前記メッセージに対応するクライアントアプリケーションを特定するためのコンピュータ命令と、
前記クライアントアプリケーションを自動的に起動するためのコンピュータ命令と、
を備え、
前記クライアントアプリケーションは、前記メッセージに含まれる前記情報の少なくとも一部を受信するよう構成されている、コンピュータプログラム製品。
【図１】
0006490071.tif 000002
【図２】
0006490071.tif 000003
【図３】
0006490071.tif 000004
【図４】
0006490071.tif 000005
【図５】
0006490071.tif 000006
【図６】
0006490071.tif 000007
【図７】
0006490071.tif 000008
【図８】
0006490071.tif 000009
【図９】
0006490071.tif 000010