(57)【特許請求の範囲】
【請求項１】
モバイルデバイスを通じて支払いを処理するための方法であって、
コマンドを受信することと、
前記コマンドに基づいて支払いリクエストを生成し、前記支払いリクエストを所定のポートを介して前記モバイルデバイスのローカルホストアドレスに送信するために、前記モバイルデバイス上の上位層アプリケーションプログラムを使用することと、前記支払いリクエストは、伝送制御プロトコル（ＴＣＰ）またはユーザデータグラムプロトコル（ＵＤＰ）を介して送信され、前記モバイルデバイスの前記ローカルホストアドレスはループバックインターネットプロトコル（ＩＰ）アドレスであり、前記支払いリクエストはJava 2 Micro Edition （J2ME）リクエストでありパスワードを含み、
前記所定のポートを介して前記モバイルデバイスの前記ローカルホストアドレスから送信された前記支払いリクエストを監視するために、前記モバイルデバイス上の下位層支払いプログラムを使用することと、
前記支払いリクエストに応答して、支払い情報の入力のための入力インターフェースを提供し、前記入力された支払い情報を受信するために、前記下位層支払いプログラムを使用することと、暗号化アプリケーションプログラミングインターフェース（ＡＰＩ）を呼び出して前記パスワードを処理することと、
決済サーバに接続し、ネットワークを通じて前記支払い情報を前記決済サーバに引き渡すために、前記下位層支払いプログラムを使用することと、
前記決済サーバから受信された支払い処理結果を前記上位層アプリケーションプログラムに転送するために、前記下位層支払いプログラムを使用することと、
を備える方法。
【請求項２】
請求項１に記載の方法であって、
前記上位層アプリケーションプログラムは、ユーザとやり取りするように構成されているユーザインターフェースを提供するプログラムである、方法。
【請求項３】
請求項１に記載の方法であって、
前記下位層支払いプログラムは、前記モバイルデバイスのハードウェアプラットフォームとやり取りするプログラムである、方法。
【請求項４】
請求項１に記載の方法であって、
前記コマンドは、ウェブサイトの購入リンクを開くためのコマンドである、方法。
【請求項５】
請求項１に記載の方法であって、
前記コマンドは、ゲームサーバに支払いを送るためのコマンドである、方法。
【請求項６】
請求項１に記載の方法であって、
前記支払いリクエストは、ハイパーテキスト転送プロトコル（HTTP）ベースのリクエストである、方法。
【請求項７】
請求項１に記載の方法であって、
前記上位層アプリケーションプログラムによって送信された前記支払いリクエストは、複数のパラメータを含む、方法。
【請求項８】
請求項７に記載の方法であって、
前記下位層支払いプログラムは、更に、前記支払いリクエストのなかの前記複数のパラメータのそれぞれに応答して複数の対応するプロセスを実施する、方法。
【請求項９】
請求項１に記載の方法は更に、
前記上位層アプリケーションプログラムをブロックし、前記下位層支払いプログラムからのフィードバックを待機することを備える方法。
【請求項１０】
請求項１に記載の方法であって、
前記上位層アプリケーションプログラムは、ウェブブラウザを含む、方法。
【請求項１１】
請求項１に記載の方法であって、
前記上位層アプリケーションプログラムは、ゲームアプリケーションプログラムクライアントを含む、方法。
【請求項１２】
モバイルデバイスを通じて支払いを処理するためのシステムであって、
インターフェースに結合された１つ又は２つ以上のプロセッサであって、
コマンドに基づいて支払いリクエストを生成し、前記支払いリクエストを所定のポートを介して前記モバイルデバイスのローカルホストアドレスに送信するために、前記モバイルデバイス上の上位層アプリケーションプログラムを使用し、前記支払いリクエストは、伝送制御プロトコル（ＴＣＰ）またはユーザデータグラムプロトコル（ＵＤＰ）を介して送信され、前記モバイルデバイスの前記ローカルホストアドレスはループバックインターネットプロトコル（ＩＰ）アドレスであり、前記支払いリクエストはJava 2 Micro Edition （J2ME）リクエストでありパスワードを含み、
前記所定のポートを介して前記モバイルデバイスの前記ローカルホストアドレスから送信された前記支払いリクエストを監視するために、前記モバイルデバイス上の下位層支払いプログラムを使用し、
前記支払いリクエストに応答して、支払い情報の入力のための入力インターフェースを提供し、前記入力された支払い情報を受信するために、前記下位層支払いプログラムを使用し、暗号化アプリケーションプログラミングインターフェース（ＡＰＩ）を呼び出して前記パスワードを処理し、
決済サーバに接続し、ネットワークを通じて前記支払い情報を前記決済サーバに引き渡すために、前記下位層支払いプログラムを使用し、
前記決済サーバから受信された支払い処理結果を前記上位層アプリケーションプログラムに転送するために、前記下位層支払いプログラムを使用するように、
構成されている１つ又は２つ以上のプロセッサと、
前記１つ又は２つ以上のプロセッサに結合され、前記プロセッサに命令を提供するように構成された１つ又は２つ以上のメモリと、
を備えるシステム。
【請求項１３】
請求項１２に記載のシステムであって、
前記上位層アプリケーションプログラムは、ユーザとやり取りするように構成されているユーザインターフェースを提供するプログラムである、システム。
【請求項１４】
請求項１２に記載のシステムであって、
前記下位層支払いプログラムは、前記モバイルデバイスのハードウェアプラットフォームとやり取りするプログラムである、システム。
【請求項１５】
請求項１２に記載のシステムであって、
前記コマンドは、ウェブサイトの購入リンクを開くためのコマンドである、システム。
【請求項１６】
請求項１２に記載のシステムであって、
前記コマンドは、ゲームサーバに支払いを送るためのコマンドである、システム。
【請求項１７】
請求項１２に記載のシステムであって、
前記上位層アプリケーションプログラムによって送信された前記支払いリクエストは、複数のパラメータを含む、システム。
【請求項１８】
請求項１２に記載のシステムであって、
前記１つ又は２つ以上のプロセッサは、更に、前記上位層アプリケーションプログラムをブロックして前記下位層支払いプログラムからのフィードバックを待機するように構成される、システム。
【請求項１９】
モバイルデバイスを通じて支払いを処理するためのコンピュータプログラムであって、
コマンドを受信するための機能と、
前記コマンドに基づいて支払いリクエストを生成し、前記支払いリクエストを所定のポートを介して前記モバイルデバイスのローカルホストアドレスに送信するために、前記モバイルデバイス上の上位層アプリケーションプログラムを使用するための機能と、前記支払いリクエストは、伝送制御プロトコル（ＴＣＰ）またはユーザデータグラムプロトコル（ＵＤＰ）を介して送信され、前記モバイルデバイスの前記ローカルホストアドレスはループバックインターネットプロトコル（ＩＰ）アドレスであり、前記支払いリクエストはJava 2 Micro Edition （J2ME）リクエストでありパスワードを含み、
前記所定のポートを介して前記モバイルデバイスの前記ローカルホストアドレスから送信された前記支払いリクエストを監視するために、前記モバイルデバイス上の下位層支払いプログラムを使用するための機能と、
前記支払いリクエストに応答して、支払い情報の入力のための入力インターフェースを提供し、前記入力された支払い情報を受信するために、前記下位層支払いプログラムを使用するための機能と、暗号化アプリケーションプログラミングインターフェース（ＡＰＩ）を呼び出して前記パスワードを処理するための機能と、
決済サーバに接続し、ネットワークを通じて前記支払い情報を前記決済サーバに引き渡すために、前記下位層支払いプログラムを使用するための機能と、
前記決済サーバから受信された支払い処理結果を前記上位層アプリケーションプログラムに転送するために、前記下位層支払いプログラムを使用するための機能と、
をコンピュータによって実現させるコンピュータプログラム。
【請求項２０】
請求項１に記載の方法において、前記下位層支払いプログラムは、デーモンプロセスを介する前記支払いリクエストを監視する、方法。
【請求項２１】
請求項１に記載の方法において、前記上位層アプリケーションプログラムは、Ｊａｖａスクリプトまたはハイパーマークアップ言語（ＨＴＭＬ）を用いて実装される、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、あらゆる目的のために参照によって本明細書に組み込まれる、２００９年６月９日付けで出願された、発明の名称を「PAYMENT METHOD IN MOBILE TERMINAL AND MOBILE DEVICE（モバイル端末及びモバイルデバイスにおける支払い方法）」とする、中国特許出願第２００９１０１４５４８６．７号の優先権を主張する。
【０００２】
本発明は、コンピュータソフトウェアの分野に関し、特に、モバイルデバイスを通じた支払いのための方法及びシステムに関する。
【背景技術】
【０００３】
ＰＤＡ、携帯電話、スマートフォンなどのモバイルデバイスの普及に伴い、新たに代わる支払い方法として、モバイル決済が急速に導入されている。現金、チェック、又はクレジットカードによる支払いに代わり、消費者は、音楽、オンラインゲーム、公共料金、書籍、雑誌などの多岐にわたる商品及びサービスの支払いを、携帯電話を使用して行うことができる。
【０００４】
今日では、モバイルデバイスアプリケーションプログラムは、通常、Java 2 Micro Edition（J2ME）などのプラットフォームにおいて実行される。J2MEは、モバイルデバイスや埋め込みサービスのために設計されたJava環境である。対象デバイスは、産業制御から携帯電話、デジタルセットトップボックス、及びナビゲーションシステムにまで及ぶ。
【０００５】
モバイル決済アプリケーションを実装するためには、ユーザプログラムは、多くの場合、デバイスによって提供されるシステムコードやアプリケーションプログラミングインターフェース（API）コードなどの機能を利用する必要がある。例えば、モバイルデバイスユーザは、HTML又はJavaスクリプトで記述されたInternetブラウザプログラムを使用してショッピングウェブサイトを閲覧し、選択した商品の支払いを行うことを決断することができる。この取引は、通常、モバイルデバイスにおいて実行されているInternetバンキングクライアントを通じてなされる。例えば、携帯電話クライアントAlipay（商標）が、このようなInternetバンキングクライアントである。Alipay（商標）クライアントは、C++言語で書かれており、デバイスのAPIを直接呼び出す。携帯電話クライアントAlipay（商標）のC++プログラムコードは、Alipay（商標）によって実行可能なファイル、すなわち「.exe」拡張子を持つファイルを作成するためにコンパイルされる。
【０００６】
従来のモバイルデバイスアプリケーションプログラムにおいて、ブラウザアプリケーションプログラムのスクリプトコード（HTMLコード）やJ2MEアプリケーションコードなどのその他のアプリケーションプログラムコードは、実行可能ファイルを直接実行するためのメカニズムを提供しない。なぜならば、J2MEプラットフォームは、このような機能をサポートするインターフェースを提供しないからである。ブラウザ又はスクリプトプログラムは、「.exe」拡張子を持つファイルを直接起動することも、SendMessageなどのAPIを介して別のプログラムと通信することもできない。したがって、ユーザアプリケーションプログラムがシステム若しくはAPIプログラムを実行する又はシステム若しくはAPIプログラムと通信するための、より効果的なやり方が必要である。
【図面の簡単な説明】
【０００７】
以下の詳細な説明及び添付の図面において、発明の様々な実施形態が開示される。
【０００８】
【図１】モバイルデバイス支払いシステムの一実施形態を配置するネットワークを示す概略図である。
【０００９】
【図２】モバイルデバイス支払いプロセスの一実施形態を示すフローチャートである。
【００１０】
【図３】モバイルデバイス支払いシステムの一実施形態を配置するネットワークを示す別の概略図である。
【００１１】
【図４】モバイルデバイス支払いプロセスの一実施形態を示す別のフローチャートである。
【００１２】
【図５】本発明の一実施形態にしたがって使用されえるモバイルデバイスシステム環境の一例５００のコンポーネントを示すブロック図である。
【発明を実施するための形態】
【００１３】
発明は、プロセス、装置、システム、合成物、コンピュータ可読ストレージ媒体に実装されたコンピュータプログラム製品、並びに／又は結合先のメモリに格納された命令及び／若しくは結合先のメモリによって提供される命令を実行するように構成されたプロセッサなどのプロセッサを含む、数々の形態で実装することができる。本明細書において、これらの実装形態、又は発明がとりえるその他のあらゆる形態は、技術と称されてよい。総じて、開示されたプロセスのステップの順序は、発明の範囲内で変更されてよい。別途明記されない限り、タスクを実施するように構成されたものとして説明されるプロセッサ又はメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成された汎用コンポーネントとして、又はタスクを実施するように製造された特殊コンポーネントとして実装されてよい。本明細書において、「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１つ又は複数の、デバイス、回路、及び／又は処理コアを言う。
【００１４】
発明の原理を示した添付の図面とともに、以下で、発明の１つ又は２つ以上の実施形態の詳細な説明が提供される。発明は、このような実施形態に関連して説明されているが、いかなる実施形態にも限定されず、発明の範囲は、特許請求の範囲によってのみ限定され、発明は、数々の代替形態、変更形態、及び均等物を内包している。以下の説明では、発明の完全な理解を可能にするために、数々の詳細が特定されている。これらの詳細は、例示を目的として提供されたものであり、発明は、これらの詳細の一部又は全部を伴わなくても、特許請求の範囲にしたがって実施することができる。明瞭さを期するために、発明に関連した技術分野において知られている技工物は、発明が不必要に不明瞭にならないように、詳細な説明を省略されている。
【００１５】
モバイルデバイスのための支払いの処理が開示される。一部の実施形態では、上位層プログラムは、支払いを処理するために、モバイルデバイスのローカルホストアドレス上のポートを介して同デバイス上の下位層プログラムとやり取りする。本明細書において、スクリプトやJava（登録商標）コードなどとして実装され、J2MEプラットフォームにおいて実行されるモバイルデバイスクライアントアプリケーションのように、ユーザインターフェースを提供してユーザとやり取りするプログラムコードは、上位層コード又は上位層プログラムと呼ばれる。デバイスのシステムコード又はアプリケーションプログラムインターフェース（API）コードのように、デバイスのハードウェアプラットフォームとやり取りするプログラムコードは、下位層コード又は下位層プログラムと呼ばれる。上位層及び下位層は、支払いを処理するために、互いにやり取りする。
【００１６】
図１は、モバイルデバイス支払いシステムの一実施形態を配置するネットワークを示す概略図である。図に示された例では、ユーザがネットワーク１３０を通じてウェブサーバ１１０上のウェブページを閲覧することを可能にするために、モバイルデバイス１４０にはウェブブラウザがインストールされている。モバイルデバイスのユーザがショッピングウェブサイトを閲覧し、ネットワーク決済を行うためにそのウェブサイトの購入リンクをたどった場合、モバイルデバイス上のウェブブラウザは、決済サーバ１２０との通信を通じて支払い手続きを完了するために、図２のプロセス２００のような支払いプロセスを通じて同デバイス上の下位層モバイルアプリケーションプログラムを呼び出す。
【００１７】
この例では、デバイスのプラットフォームとやり取りしてネットワークに接続する実行可能ファイルは、下位層プログラムと呼ばれる。モバイルデバイス上の、ウェブブラウザなどのユーザ／クライアントアプリケーションは、上位層支払いアプリケーションプログラムと呼ばれる。上位層支払いアプリケーションプログラムは、場合によっては、HTML又はJavaスクリプトなどの一連のスクリプトコードを使用して実装される。
【００１８】
図２は、モバイルデバイス支払いプロセスの一実施形態を示すフローチャートである。上位層アプリケーションプログラムは、上位層アプリケーションプログラムがあるモバイルデバイスに対して「ローカルホスト」であるアドレスを持つ所定のポートを介して下位層アプリケーションとやり取りする。
【００１９】
プロセス２０１において、ウェブサイト上の購入リンクを開くためのコマンドが受信されると、所定のポートを介してモバイルデバイスの「ローカルホスト」アドレスにリクエストを送信するために、上位層アプリケーションプログラムが使用される。
【００２０】
一部の実施形態では、上位層プログラムは、所定のポートを介して「ローカルホスト」のネットワークアドレスにリクエストを送信する。コンピュータネットワーキングにおいて、「ローカルホスト」は、ループバックネットワークインターフェースのアドレスに与えられる標準的なホスト名である。このホスト名は、インターネットエンジニアリングタスクフォース（IETF）リクエストフォーコメンツ（RFC）2602に定義されるように、より狭義のホスト名との混乱を回避するために確保された予約ドメイン名でもある。「ローカルホスト」は、ループバックIPアドレス127.0.0.1に変換される。ローカルにホストされているネットワークサービスへの接続、又はその他のプロセス間通信は、ループバックアドレスを通じて高効率に実施することができる。
【００２１】
コンピュータネットワーキングにおけるポートは、TCP（コネクション指向プロトコル）やUDP（コネクションレスプロトコル）などのトランスポート層プロトコルによって使用される通信エンドポイントとして機能する特定の用途向け又は特定のプロセス向けのソフトウェア構成である。特定のポートは、その番号（通常、ポート番号として知られる）、それが関連付けられたIPアドレス、及びネットワーク通信のために使用されるプロトコルによって識別される。
【００２２】
コネクション指向プロトコルは、３つの主要な相を有する。１つ目は、データの伝送に先立って接続を確立することであり、２つ目は、接続の確立後にデータを伝送することであり、３つ目は、データ伝送の完了後に接続を解放することである。コネクション指向プロトコルは、データの信頼性及びデータ伝送の正確性という利点を提供する。コネクションレスサービスは、存在する相がデータ伝送の１つのみという特徴を有する。したがって、データ伝送を除く全てのオーバーヘッドが排除される。また、伝送側エンティティがアクティブである限り、受信側エンティティがアクティブである必要はない。コネクションレスサービスは、柔軟性、利便性、及び迅速性という利点を提供し、高い正確性及び信頼性を必要としなくてすむ少数の散在性メッセージを運ぶのに特に適している。TCP/IPプロトコルは、ネットワーク層上ではコネクションレスである。しかしながら、このプロトコルは、トランスポート層上ではコネクション指向であり、トランスポート層上では、ポートも関与している。このプロトコルにおける1024より下のポートは、全て、Internet上における同じ共通サービスに対応するものとして明示的に定義される。これらの共通サービスは、TCPポートを使用するものと、UDPポートを使用するものの、２つのカテゴリに分類される。
【００２３】
ネットワークにおいて命名及びアドレス指定が可能な通信ポートは、オペレーティングシステムの割り当て可能リソースである。オープンシステムインターコネクションリファレンスモデル（開放型システム間相互接続参照モデル、OSI）の７層プロトコルにおいて、トランスポート層とネットワーク層との間の主な相違は、トランスポート層がプロセス通信能力を提供し、それゆえに、ネットワーク上における通信の最終アドレスがホストアドレスとそのプロセスを記述することができる識別子とを含むという点にある。したがって、TCP/IPプロトコルにおけるポートは、ネットワーク上における通信プロセスの識別子と見なすことができる。
【００２４】
アプリケーションプログラム（一般に、メモリに取り込まれた後のプロセスを言う）がシステムコール（結合とも言う）を通じてポートとの接続を確立した後、対応するプロセスは、トランスポート層からポートにトランスポートされたデータを受信し、対応するプロセスからトランスポート層へ伝送されたデータは、ポートを介して出力される。TCP/IPプロトコルの一実装形態において、ポート操作は、一般的なI/O操作と同様であり、プロセスによるポートの取得は、ローカルに固有なI/Oファイルの取得と同等である。また、ポートは、ファイル記述子と同様な通常の読み出し方式及び書き込み方式を使用してアクセス可能であり、各ポートは、ほかのポートと区別するためのポート番号と呼ばれる整数の記述子を与えられる。TCP/IPトランスポート層上におけるTCP及びUDPの２つのプロトコルは、２つの独立したソフトウェアモジュールであるので、それぞれのポート番号もまた、互いに独立している。例えば、番号255を振られたポートが、TCPにもUDPにもある。ポート番号は、２つの一般的なやり方で振り当てることができる。１つは、グローバル割り当て、すなわち、公認の権威ある中央機関がユーザのリクエストにしたがって統一的な割り当てを一般に対して実施及び発行する中央集権型の割り当てであり、ローカル割り当ては、動的コネクションとも呼ばれ、ここでは、トランスポート層上のサービスへのアクセスを意図したプロセスが、ローカルオペレーティングシステムに対してアプリケーションを提示し、そのオペレーティングシステムは、ローカルに固有なポート番号を返し、プロセスは、更に、適切なシステム呼び出しを通じてそのポートに自身を接続（結合）する。TCP/IPポート番号は、ポート番号を２つのカテゴリに分類し、それらポートの一部を、サービスプロセスにグローバルに割り当てられる予約ポートとみなすことによって、これらの２つのやり方の組み合わせによって割り当てされる。各標準サーバは、周知ポートと呼ばれるグローバルに認められたポートを与えられ、この同じポート番号は、異なるマシン上にもある。残りのポートは、ローカルに割り当てされる自由ポートとみなされる。TCPプロトコル及びUDPプロトコルに明記されるように、256より下のポートのみが、予約ポートとみなすことができる。
【００２５】
したがって、一部の実施形態では、ハイパーテキスト転送プロトコル（HTTP）を使用した、モバイルデバイスのネットワークアドレスへのHTTPリクエストの送信をサポートするために、ウェブページスクリプトが実装される。上述のように、モバイルデバイスのネットワークアドレスとして、アドレス127.0.0.1すなわち「ローカルホスト」を割り当てることができる。更に、HTTPリクエストは、一般に、デフォルトポート番号80を採用する。次いで、ウェブページスクリプトを通じて、上位層アプリケーションプログラムと下位層アプリケーションプログラムとの間の通信を可能にすることができる、すなわち、上位層アプリケーションプログラムは、HTTPリクエストを、そのリクエストをローカルホストの下位層アプリケーションプログラムが受信することができるように、ネットワークを通じて所定のポートを介して「ローカルホスト」に送信する。
【００２６】
プロセス２０２において、下位層支払いコードは、所定のポートを介してモバイルデバイスのループバックネットワークを通じて「ローカルホスト」から送信されたリクエストを監視する。
【００２７】
所定のポートを介したHTTPリクエストの監視は、デーモンプロセスを通じて達成することができる。下位層アプリケーションプログラムがメモリに取り込まれ、実行されるようになると、その下位層アプリケーションプログラムに関連付けられたデーモンプロセスを開始させることができる。デーモンプロセスは、起動時にモバイルデバイスのサービスとして開始させることもできる。下位層プログラムのデーモンプロセスは、モバイルデバイスの上位層アプリケーションプログラムが例えばポート80などの所定のポートを介して「ローカルホスト」にHTTPリクエストを送信するときに常に、HTTPリクエストを検出し、更に、対応するアクションを実施することができる。
【００２８】
プロセス２０３において、下位層プログラムコードは、支払い情報のための入力インターフェースを上位層アプリケーションコードのHTTPリクエストに応答して提供し、入力された支払い情報を受信する。
【００２９】
一部の実施形態において、上位層アプリケーションコードからHTTP支払いリクエストが受信されると、下位層支払いコードは、関連の支払いプロセスを実行するために、モバイルデバイスのAPIを直接呼び出す。更に、HTTPリクエストでは、パスワードなどの幾つかのパラメータを下位層支払いコードに引き渡すことができ、下位層支払いプログラムは、パラメータを処理するために、デバイスAPIによって提供される関数を呼び出すことができる。例えば、HTTPリクエストから引き渡されたパラメータに応答し、下位層I/O及び暗号化APIを呼び出すことによって、キーパッドによるパスワード入力操作が実行される。更に、HTTPリクエストは、処理結果のフィードバックを求める要求を更に含むことができる。
【００３０】
プロセス２０４において、下位層支払いコードは、決済サーバに接続し、ネットワークを通じて支払い情報を引き渡す。
【００３１】
一部の実施形態では、下位層アプリケーションプログラムは、次いで、支払い情報を認証するために、Internetを通じて決済サーバとやり取りし、支払い処理結果を返す。例えば、決済サーバとして、Alipay（商標）サーバを使用することができる。
【００３２】
プロセス２０５において、下位層支払いコードは、処理結果を上位層アプリケーションコードに返す。一部の実施形態では、処理結果は、所定のポートを介して結果情報を「ローカルホスト」に送信することによって返される。メモリのなかの上位層アプリケーションコードのデーモンプロセスは、結果を検出することができる。一部の実施形態では、上位層アプリケーションコードが支払いリクエストを「ローカルホスト」に送信した後、プログラムは、ブロックされ、下位層アプリケーションプログラムからのフィードバックを待機する。次いで、上位層アプリケーションコードは、結果に基づいて複数の処理を実施する。例えば、ウェブページスクリプトが、支払いが成功であるかどうかを示すためにショッピングウェブサイトのウェブページを開き、モバイルデバイスユーザに対して支払い結果を提示する。
【００３３】
図３は、モバイルデバイス支払いシステムの一実施形態を配置するネットワークを示す別の概略図である。図に示された例では、モバイルデバイス３４０には、通常、ユーザがネットワーク３３０を通じてゲームサーバ３１０上の有料ゲームをプレイすることを可能にするために、複数のゲームソフトウェアがインストールされている。例えば、J2MEゲームは、第１ステージ及び第２ステージのゲームコンテンツを無料でユーザに提供する。ユーザが最初の２ステージをプレイし終えた後、J2MEゲームソフトウェアは、そのゲームの上級ステージをプレイする代金を支払うようにユーザに促す。モバイルデバイスユーザが先に進むと決断した場合には、ゲームサーバ３１０は、モバイルデバイスユーザに支払い命令を送信し、ユーザは、決済サーバ４２０との通信を通じて支払いプロセスを達成するために、同デバイス上のモバイルアプリケーションプログラムを使用する。一部の実施形態では、下位層モバイルアプリケーションは、実行可能ファイルの形態をとっており、下位層支払いコードと呼ばれる。ゲームインターフェース及び支払いインターフェースをユーザに提供するデバイス上のJ2MEプログラムは、上位層アプリケーションコードと呼ばれる。
【００３４】
図４は、モバイルデバイス支払いプロセスの一実施形態を示すフローチャートである。
【００３５】
プロセス４０１において、デバイスユーザから支払いコマンドが受信されると、上位層ゲームプログラムは、所定のポートを介して「ローカルホスト」にJ2MEリクエストを送信する。一部の実施形態では、モバイルデバイス上のJ2MEプログラムを通じてゲームサーバとやり取りした後、モバイルデバイスのユーザは、支払いを促すプロンプトを受信する。ネットワークアドレスと宛先ポートとを含む支払いリクエストを伴うJ2MEコマンドが「ローカルホスト」に送信され、したがって、「ローカルホスト」の下位層支払いコードは、そのリクエストを受信することができる。従来、「ローカルホスト」のネットワークアドレスは、127.0.0.1であり、J2MEコマンドは、ポート番号を採用している。
【００３６】
プロセス４０２〜４０４は、プロセス４０２〜４０４における支払いリクエストがJ2MEコマンドの形式をとっていること、及びポート番号がモバイルデバイスにおいてネットワーキングプロトコルによって予約されていない任意のポート番号でよいことを除き、上述されたプロセス２０２〜２０４と同様である。
【００３７】
プロセス４０５において、下位層支払いコードは、処理結果を上位層アプリケーションコードに返す。
【００３８】
一部の実施形態において、決済サーバから支払い結果が受信されると、下位層支払いコードは、支払い処理結果を上位層J2MEゲームプログラムに返す。この支払い結果は、プロセス４０１において言及されたJ2MEリクエストの所定ポートを介して「ローカルホスト」に送信される。そして、メモリのなかの上位層ゲームプログラムのデーモンプロセスが、この結果を検出することができる。次いで、上位層アプリケーションコードは、結果に基づいて複数のプロセスを実施する。支払いが成功した場合は、J2MEゲームプログラムは、ユーザによる支払い成功を示すコマンドをゲームサーバに送信する。さらに、ゲームサーバは、ユーザがJ2MEゲームを進めることができるように、例えばゲームプログラムの上級ステージなどのJ2MEプログラムのコンテンツの一部をアンロックするためのコマンドをJ2MEプログラムに提供し、あるいは上級ステージのゲームコンテンツのダウンロードを提供する。支払いが成功しなかった場合には、上位層ゲームプログラムは、支払い失敗の状態をデバイスユーザに対して提示し、当該ユーザは、ゲームの次のステージに進むことを阻まれる。
【００３９】
モバイルデバイスにおける支払いのためのシステムの実施形態の実装例が、以下で説明される。システムは、幾つかのモジュール又はユニットを含むものとして説明される。モジュール又はユニットは、１つ若しくは２つ以上のプロセッサ上で実行されるソフトウェアコンポーネントとして、プログラマブルロジックデバイス及び／若しくは特定の機能を実施するように設計された特殊用途向け集積回路などのハードウェアとして、又はそれらの組み合わせとして実装することができる。一部の実施形態では、モジュール／ユニット／サブユニットは、本発明の実施形態において説明される方法をコンピュータデバイス（パソコン、サーバ、ネットワーク機器など）に実施させるための幾つかの命令を含み且つ不揮発性のストレージ媒体（光ディスク、フラッシュストレージデバイス、モバイルハードディスクなど）に格納されえるソフトウェア製品の形で具現化することができる。モジュール又はユニットは、１つのデバイス上に実装されてよい、又は複数のデバイスに跨って分散されてよい。モジュール又はユニットの機能は、互いに合体されてよい、又は複数のサブモジュール若しくはサブユニットに更に分割されてよい。
【００４０】
図５は、本発明の一実施形態にしたがって使用されえるモバイルデバイスシステム環境５００の一例のコンポーネントを示したブロック図である。図に示されるように、システム環境５００は、上位層アプリケーションコードモジュール５１０と、下位層アプリケーションプログラムモジュール５２０とを含む。これらのモジュールは、共に、モバイルデバイス上の「ローカルホスト」５３０及びポート５４０とやり取りする。モジュール５１０は、所定のポートを介して「ローカルホスト」に支払いリクエストを送信するために上位層支払いアプリケーションプログラムを実行し、次いで、下位層支払いコードからのフィードバック／支払い結果を待機及び受信し、更に、支払い結果に基づいて複数のプロセスを行うように構成される。モジュール５２０は、所定のポートを介してモバイルデバイスのネットワークを通じてローカルホストから送信されたリクエストを監視し、上位層アプリケーションコードの支払いリクエストに応答して支払い情報のための入力インターフェースを提供して支払い情報の入力を受信し、次いで、処理結果を上位層アプリケーションコードに返すように構成される。
【００４１】
当業者ならば、本出願の実施形態が方法、システム、コンピュータ、又はモバイルデバイス製品として提供されえることを理解しているべきである。したがって、本出願は、完全なるハードウェアの実施形態、完全なるソフトウェアの実施形態、又はそれらの組み合わせの形態をとることができる。更に、本出願は、コンピュータ若しくはモバイルデバイスによって使用可能なプログラムコードを含み尚且つ１つ若しくは２つ以上のコンピュータによって使用可能なストレージ媒体（非限定例として、磁気ディスク、ＣＤ−ＲＯＭ、フラッシュ、及び光ストレージが挙げられる）に実装された、コンピュータプログラム製品又はモバイルデバイスアプリケーションプログラム製品の形態をとることができる。これらのプログラムコードは、上述された方法の全部若しくは一部の実施形態をコンピュータ装置又はモバイルデバイスに実行させるための命令を含む。
【００４２】
本出願のそれぞれの実施形態は、１つずつ説明されており、これらの実施形態の間で同じ及び類似の部分は、参照によってなされ、各実施形態では、そのほかの実施形態との違いが強調されている。具体的には、システムの実施形態は、方法の実施形態との類似性ゆえに簡単に説明されており、システムの実施形態の関連モジュールは、方法の実施形態を参照にしてなされる。
【００４３】
本出願は、パソコン、サーバコンピュータ、モバイルデバイス、トップボックス、ハンドセットデバイスすなわち携帯用デバイス、フラットパネルデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電気機器、ネットワークＰＣ、ミニコンピュータ、大型コンピュータ、上記のシステム若しくはデバイスの任意の１つを含む分散コンピューティングシステムなどの、多くの汎用又は専用のコンピューティングシステム環境又はコンピューティングシステム構成に適用することができる。
【００４４】
本出願は、本出願の実施形態にしたがった方法、システム、及びコンピュータプログラム製品の、フローチャート及び／又はブロック図を参照にして説明されている。フローチャート及び／又はブロック図における各フロー及び／又はブロック、並びにフローチャート及び／又はブロック図におけるフロー及び／又はブロックの組み合わせは、コンピュータプログラム命令として実現されえることを理解されるべきである。実際、本出願は、その全体を、例えばプログラムモジュールなどの、コンピュータによって実行されるコンピュータ実行可能命令を一般的な背景として説明することができる。一般に、プログラムモジュールは、指定のタスクを実行するための又は指定の抽象データ型を実装するための、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。或いは、本発明は、通信ネットワークを通じて接続されたリモート処理装置がタスクを実行する分散コンピューティング環境に実装することができる。分散コンピューティング環境では、プログラムモジュールは、ストレージデバイスを含むローカル又はリモートのコンピュータストレージ媒体内に配することができる。
【００４５】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実行に移すには、多くの代替的手法がある。開示された実施形態は、例示的であって限定的ではない。
適用例１：モバイルデバイスを通じて支払いを処理するための方法であって、コマンドを受信することと、前記コマンドに基づいて支払いリクエストを生成し、前記支払いリクエストを所定のポートを介して前記モバイルデバイスのローカルホストアドレスに送信するために、前記モバイルデバイス上の上位層アプリケーションプログラムを使用することと、前記所定のポートを介して前記モバイルデバイスの前記ローカルホストアドレスから送信された前記支払いリクエストを監視するために、前記モバイルデバイス上の下位層支払いプログラムを使用することと、前記支払いリクエストに応答して、支払い情報の入力のための入力インターフェースを提供し、前記入力された支払い情報を受信するために、前記下位層支払いプログラムを使用することと、決済サーバに接続し、ネットワークを通じて前記支払い情報を前記決済サーバに引き渡すために、前記下位層支払いプログラムを使用することと、前記決済サーバから受信された支払い処理結果を前記上位層アプリケーションプログラムに転送するために、前記下位層支払いプログラムを使用することと、を備える方法。
適用例２：適用例１に記載の方法であって、前記上位層アプリケーションプログラムは、ユーザとやり取りするように構成されているユーザインターフェースを提供するプログラムである、方法。
適用例３：適用例１に記載の方法であって、前記下位層支払いプログラムは、前記モバイルデバイスのハードウェアプラットフォームとやり取りするプログラムである、方法。
適用例４：適用例１に記載の方法であって、前記コマンドは、ウェブサイトの購入リンクを開くためのコマンドである、方法。
適用例５：適用例１に記載の方法であって、前記コマンドは、ゲームサーバに支払いを送るためのコマンドである、方法。
適用例６：適用例１に記載の方法であって、前記支払いリクエストは、ハイパーテキスト転送プロトコル（HTTP）ベースのリクエストである、方法。
適用例７：適用例１に記載の方法であって、前記支払いリクエストは、Java（登録商標） 2 Micro Edition （J2ME）リクエストである、方法。
適用例８：適用例１に記載の方法であって、前記上位層アプリケーションプログラムによって送信された前記支払いリクエストは、複数のパラメータを含む、方法。
適用例９：適用例８に記載の方法であって、前記下位層支払いプログラムは、更に、前記支払いリクエストのなかの前記複数のパラメータのそれぞれに応答して複数の対応するプロセスを実施する、方法。
適用例１０：適用例１に記載の方法は更に、前記上位層アプリケーションプログラムをブロックし、前記下位層アプリケーションプログラムからのフィードバックを待機することを備える方法。
適用例１１：適用例１に記載の方法であって、前記上位層アプリケーションプログラムは、ウェブブラウザを含む、方法。
適用例１２：適用例１に記載の方法であって、前記上位層アプリケーションプログラムは、ゲームアプリケーションプログラムクライアントを含む、方法。
適用例１３：モバイルデバイスを通じて支払いを処理するためのシステムであって、インターフェースに結合された１つ又は２つ以上のプロセッサであって、前記コマンドに基づいて支払いリクエストを生成し、前記支払いリクエストを所定のポートを介して前記モバイルデバイスのローカルホストアドレスに送信するために、前記モバイルデバイス上の上位層アプリケーションプログラムを使用し、前記所定のポートを介して前記モバイルデバイスの前記ローカルホストアドレスから送信された前記支払いリクエストを監視するために、前記モバイルデバイス上の下位層支払いプログラムを使用し、前記支払いリクエストに応答して、支払い情報の入力のための入力インターフェースを提供し、前記入力された支払い情報を受信するために、前記下位層支払いプログラムを使用し、決済サーバに接続し、ネットワークを通じて前記支払い情報を前記決済サーバに引き渡すために、前記下位層支払いプログラムを使用し、前記決済サーバから受信された支払い処理結果を前記上位層アプリケーションプログラムに転送するために、前記下位層支払いプログラムを使用するように、構成されている１つ又は２つ以上のプロセッサと、前記１つ又は２つ以上のプロセッサに結合され、前記プロセッサに命令を提供するように構成された１つ又は２つ以上のメモリと、を備えるシステム。
適用例１４：適用例１３に記載のシステムであって、前記上位層アプリケーションプログラムは、ユーザとやり取りするように構成されているユーザインターフェースを提供するプログラムである、システム。
適用例１５：適用例１３に記載のシステムであって、前記下位層支払いプログラムは、前記モバイルデバイスのハードウェアプラットフォームとやり取りするプログラムである、システム。
適用例１６：適用例１３に記載のシステムであって、前記コマンドは、ウェブサイトの購入リンクを開くためのコマンドである、システム。
適用例１７：適用例１３に記載のシステムであって、前記コマンドは、ゲームサーバに支払いを送るためのコマンドである、システム。
適用例１８：適用例１３に記載のシステムであって、前記上位層アプリケーションプログラムによって送信された前記支払いリクエストは、複数のパラメータを含む、システム。
適用例１９：適用例１３に記載のシステムであって、前記１つ又は２つ以上のプロセッサは、更に、前記上位層アプリケーションプログラムをブロックして前記下位層アプリケーションプログラムからのフィードバックを待機するように構成される、システム。
適用例２０：モバイルデバイスを通じて支払いを処理するためのコンピュータプログラム製品であって、コンピュータ可読ストレージ媒体に実装され、コマンドを受信するためのコンピュータ命令と、前記コマンドに基づいて支払いリクエストを生成し、前記支払いリクエストを所定のポートを介して前記モバイルデバイスのローカルホストアドレスに送信するために、前記モバイルデバイス上の上位層アプリケーションプログラムを使用するためのコンピュータ命令と、前記所定のポートを介して前記モバイルデバイスの前記ローカルホストアドレスから送信された前記支払いリクエストを監視するために、前記モバイルデバイス上の下位層支払いプログラムを使用するためのコンピュータ命令と、前記支払いリクエストに応答して、支払い情報の入力のための入力インターフェースを提供し、前記入力された支払い情報を受信するために、前記下位層支払いプログラムを使用するためのコンピュータ命令と、決済サーバに接続し、ネットワークを通じて前記支払い情報を前記決済サーバに引き渡すために、前記下位層支払いプログラムを使用するためのコンピュータ命令と、前記決済サーバから受信された支払い処理結果を前記上位層アプリケーションプログラムに転送するために、前記下位層支払いプログラムを使用するためのコンピュータ命令と、を備えるコンピュータプログラム製品。
【図１】
0005485382.tif 000002
【図２】
0005485382.tif 000003
【図３】
0005485382.tif 000004
【図４】
0005485382.tif 000005
【図５】
0005485382.tif 000006