(57)【特許請求の範囲】
【請求項１】
サービスの実施のための方法であって、
商業サーバによって送信されたデータファイルをサービス実施サーバによって受信するステップであって、前記データファイルが、ブラウザを介してユーザによって送信されたサービス要求を受信するときに前記商業サーバによって送信され、前記データファイルが、前記ユーザのアイデンティティ情報を含み、前記サービス実施サーバが、前記サービス実施サーバによって提供されるサービスを実施するために前記商業サーバに関連するポータルを使用して選択される、ステップと、
前記ユーザの前記アイデンティティ情報に従ってユーザのアイデンティティ情報およびサービス実施ユーザアプリケーションの識別情報との間の予め記憶された対応からサービス実施ユーザアプリケーションの識別情報を検索するステップと、
前記サービス実施ユーザアプリケーションの前記識別情報に従って前記サービス実施サーバに対応する前記サービス実施ユーザアプリケーションを判定するステップと、
前記サービス実施サーバに関連する前記サービス実施ユーザアプリケーションを使用して、前記サービス実施サーバによって、ユーザデバイスに通知メッセージを送信するステップとを含む、
方法。
【請求項２】
前記データファイルを受信する前に、前記サービス実施ユーザアプリケーションとの、前記サービス実施サーバによる接続を確立するステップをさらに含む、
請求項１に記載の方法。
【請求項３】
前記サービス実施ユーザアプリケーションの前記識別情報に従って前記サービス実施サーバに対応する前記サービス実施ユーザアプリケーションを判定するステップが、
前記ユーザの端末デバイスの識別情報を獲得するために前記サービス実施ユーザアプリケーションの前記識別情報を解析するステップと、
前記端末デバイスの前記識別情報に従って前記ユーザの前記端末デバイスを判定することと、
前記サービス実施ユーザアプリケーションの前記識別情報に従って前記ユーザの前記端末デバイス上の前記サービス実施ユーザアプリケーションを判定するステップとを含む、
請求項２に記載の方法。
【請求項４】
前記サービス実施サーバに対応する前記サービス実施ユーザアプリケーションを判定するステップが、
メッセージ送信システムによって前記ユーザデバイス上の前記サービス実施ユーザアプリケーションを判定するために、前記メッセージ送信システムに前記サービス実施ユーザアプリケーションの前記識別情報を送信するステップを含む、
請求項１に記載の方法。
【請求項５】
前記サービス実施サーバが、支払いサーバを含む、
請求項１に記載の方法。
【請求項６】
前記ユーザデバイスに前記通知メッセージを送信するステップが、
前記ユーザデバイスに送信するために、前記通知メッセージを、前記サービス実施サーバによって、前記サービス実施サーバに関連する前記サービス実施ユーザアプリケーションに送信するステップを含む、
請求項１に記載の方法。
【請求項７】
前記サービス実施サーバの識別子を前記サービス実施サーバによってランダムに生成するステップと、
前記識別子を前記ユーザデバイスに送信するステップとをさらに含む、
請求項１に記載の方法。
【請求項８】
サービスの実施のための装置であって、請求項１から７のいずれか一項に記載の方法を実行するように構成された複数のモジュールを含む、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、オンライントランザクションの成功率の向上に関する。
優先権の主張
本出願は、2016年11月3日に出願した中国特許出願第201610954029.2号および2017年11月2日に出願した米国特許出願第15/802,264号の優先権を主張するものであり、これらの特許出願は、参照によりその全体が組み込まれる。
【背景技術】
【０００２】
ブラウザがサーバとのオンライントランザクションを実行するために使用されるとき、サーバは、オンライントランザクションを完遂するためにブラウザとインタラクションしなければならない。ブラウザおよびサーバが異なる開発者によって開発される場合、オンライントランザクションの成功率は、ブラウザとサーバとの間の低いインタラクション性および低い互換性が原因で低い可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示は、オンライントランザクションの成功率を向上させることを説明する。
【０００４】
実装においては、支払い要求が、コンピューティングデバイスによって商業サーバに送信される。メッセージが、商業サーバとは異なる支払いサーバからコンピューティングデバイスによって受信される。メッセージは、支払いサーバおよび支払い要求に関連する支払いクライアントアプリケーションを含む。メッセージに関連する通知が、コンピューティングデバイスによって表示される。支払いクライアントアプリケーションが、通知に応じたユーザの選択に基づいてコンピューティングデバイスによって起動される。
【０００５】
上述の実装を含む説明される対象の実装は、コンピュータによって実施される方法、コンピュータによって実施される方法を実行するためのコンピュータ可読命令を記憶する非一時的コンピュータ可読媒体、および1つまたは複数のコンピュータと相互に利用可能なように結合され、1つまたは複数のコンピュータによって実行されるときに、コンピュータによって実施される方法/非一時的コンピュータ可読媒体に記憶されたコンピュータ可読命令を実行する命令を記憶する有形の非一時的機械可読媒体を有する1つまたは複数のコンピュータメモリデバイスを含むコンピュータによって実装されるシステムを使用して実装されることが可能である。
【０００６】
本明細書に記載の対象は、以下の利点のうちの1つまたは複数を実現するために特定の実装に実装されることが可能である。第1に、説明される手法は、オンライントランザクションに関する成功率を向上させるために使用されることが可能である。たとえば、ユーザが(ALIPAYサーバなどの)サーバとの(支払いなどの)オンライントランザクションを実行するためにモバイルデバイス上で(GOOGLE CHROMEまたはAPPLE SAFARIなどの)ブラウザを使用するとき、サーバは、(ALIPAYクライアントアプリケーションなどの)サーバに関連するクライアントアプリケーションがモバイルデバイス上に存在すると判定することができる。それから、サーバは、モバイルデバイスにメッセージを送信し、モバイルデバイス上のクライアントアプリケーションがオンライントランザクションを完遂するために使用されることが可能であることをユーザに通知することができる。異なる開発者によって開発される場合にサーバとの低いインタラクション性および低い互換性を有する場合があるブラウザを使用する代わりに、ユーザは、そのとき、オンライントランザクションを完遂するためにサーバに関連するクライアントアプリケーションを使用することができる。サーバおよびサーバに関連するクライアントアプリケーションは同じ開発者によって開発されるので、オンライントランザクションの成功率が向上されることが可能である。第2に、ブラウザを使用する間に、ユーザは、オンライントランザクションを実行するためにサーバに関連するクライアントアプリケーションを代わりに使用するように自動的に通知されることが可能である。その他の利点は、当業者に明らかであろう。
【０００７】
本明細書の対象の1つまたは複数の実装の詳細が、「発明を実施するための形態」、「特許請求の範囲」、および添付の図面に記載されている。対象のその他の特徴、態様、および利点は、「発明を実施するための形態」、「特許請求の範囲」、および添付の図面から明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１】本開示の実装による、オンライントランザクションを実行するためのネットワーキング環境の例を示すブロック図である。
【図２】本開示の実装による、オンライントランザクションを実行するための方法の例を示すスイム図(swim diagram)である。
【図３】本開示の実装による、オンライントランザクションを実行するための方法の例を示す流れ図である。
【図４】本開示の実装による、オンライントランザクションを実行するための方法の別の例を示す流れ図である。
【図５】本開示の実装による、オンライントランザクションを実行するためのコンピューティングに基づくアーキテクチャの例を示すブロック図である。
【図６】本開示の実装による説明されるアルゴリズム、メソッド、関数、プロセス、フロー、およびプロシージャに関連する計算機能を提供するために使用されるコンピュータシステムの例を示すブロック図である。
【発明を実施するための形態】
【０００９】
様々な図面における同様の参照番号および参照指示は、同様の要素を示す。
【００１０】
以下の詳細な説明は、オンライントランザクションを実行することと、特に、オンライントランザクションの成功率を向上させることとを説明する。詳細な説明は、当業者が1つまたは複数の特定の実装の文脈で開示される対象を作り、使用することを可能にするために提示される。開示される実装の様々な修正、変更、および並べ替えが、行われることが可能であり、当業者に容易に明らかになり、本明細書において定義される広い原理が、本開示の範囲を逸脱することなくその他の実装および応用に適用されることが可能である。場合によっては、説明される対象を理解するために不必要な詳細は、そのような詳細が当業者の技能のうちである限り、不必要な詳細によって1つまたは複数の説明される実装を曖昧にしないために省略されることが可能である。本開示は、説明されるまたは図示される実装に限定されるように意図されておらず、説明される原理および特徴に合致する最も広い範囲を与えられるべきである。
【００１１】
ユーザがサーバとのオンライントランザクションを実行するためにモバイルデバイス上のブラウザを使用するとき、サーバは、オンライントランザクションを完遂するためにブラウザとインタラクションすることができる。たとえば、ユーザは、商業ウェブサイトを閲覧し、注文を出し、ALIPAY、サードパーティモバイルおよびオンライン支払いプラットフォームを使用して支払いをしたい。モバイルデバイス上のブラウザは、ALIPAYのウェブページをロードすることができる。それから、ユーザは、ブラウザによってロードされたALIPAYのウェブページ上で支払いを行うことができる。このようにして、支払いは、ブラウザとALIPAYサーバとの間のインタラクションを通じて完遂される。ブラウザおよびALIPAYサーバは異なる開発者によって開発されるので、支払いの成功率は、ブラウザとALIPAYサーバとの間の低いインタラクション性および低い互換性が原因で低い可能性がある。支払いの失敗は、商業ウェブサイトとALIPAYとの両方によるユーザエクスペリエンスを損ない得る。
【００１２】
高いレベルで、説明される手法は、モバイルデバイス上のサーバに関連するクライアントアプリケーションの自動判定を可能にし、モバイルデバイス上のクライアントアプリケーションがオンライントランザクションを完遂するために使用されることが可能であることをユーザに知らせるメッセージをモバイルデバイスに送信する。メッセージに基づいて、ユーザは、ブラウザを使用する代わりに、オンライントランザクションを完遂するためにモバイルデバイス上のクライアントアプリケーションを起動することができる。たとえば、商業ウェブサイトは、ユーザから注文を受信した後、モバイルデバイスに関連するアイデンティティ情報(identity information)を含むデータをALIPAYサーバに送信する。ALIPAYサーバは、モバイルデバイスに関連するアイデンティティ情報に基づいて、ALIPAYクライアントアプリケーションがモバイルデバイス上に存在すると判定する。ALIPAYサーバは、モバイルデバイス上のALIPAYクライアントアプリケーションが支払いを行うために使用されることが可能であることをユーザに通知するメッセージをモバイルデバイスに送信する。ブラウザを使用する代わりに、ユーザは、支払いを完遂するためにモバイルデバイス上のALIPAYクライアントアプリケーションに切り替えることができる。
【００１３】
図1は、本開示の実装による、オンライントランザクションを実行するためのネットワーキング環境100の例を示すブロック図である。オンライントランザクションは、オンライン支払いトランザクションを含む。図1に示されるように、環境100は、コンピューティングデバイス102、商業サーバ110、およびサービス実施サーバ120を含む。コンピューティングデバイス102は、ブラウザ104およびサービス実施クライアント106を含む。ブラウザ104は、リンク131を使用して商業サーバ110と通信し、リンク133を使用してサービス実施サーバ120と通信することができる。商業サーバ110は、リンク132を使用してサービス実施サーバ120と通信することができる。サービス実施クライアント106は、リンク134を使用してサービス実施サーバ120と通信することができる。一部の実装において、環境100は、1つもしくは複数のコンピューティングデバイス、別の種類のサーバ、またはそれら両方の組合せなどの、ブロック図に示されない追加的なまたは異なる構成要素を含んでもよい。一部の実装において、構成要素は、環境100から省略されてもよい。
【００１４】
一部の実装において、コンピューティングデバイス102は、モバイル電話、タブレットコンピュータ、または本開示に一致する任意の種類のコンピューティングデバイスであることが可能である。コンピューティングデバイス102のオペレーティングシステムは、ANDROID(登録商標)、WINDOWS(登録商標)、IOS、または本開示に一致する任意のその他のオペレーティングシステムを含むことが可能である。コンピューティングデバイス102は、ブラウザ104およびサービス実施クライアント106 (たとえば、支払いクライアントアプリケーション)をインストールされることが可能である。一部の実装において、ブラウザ104は、独立したブラウザであることが可能である。一部の実装において、ブラウザ104は、(GOOGLE CHROMEまたはAPPLE SAFARIなどの)組み込みブラウザであることが可能である。商業サーバ110は、(MEITUAN、TAOBAO、およびTMALLなどの)商業ウェブサイトのサーバであることが可能である。サービス実施サーバ120は、(ALIPAYサーバなどの)支払いサーバまたは本開示に一致する任意の種類のサーバであることが可能である。サービス実施サーバ120およびサービス実施クライアント106は、サービス実施システムを形成することができる。コンピューティングデバイス102上のサービス実施クライアント106が、フロントエンドにおけるオンラインおよびバックエンドにおけるオンラインを含めオンラインであるとき、サービス実施サーバ120は、サービス実施クライアント106と長期間の接続を確立することができる。接続が確立されると、サービス実施サーバ120は、通知メッセージをサービス実施クライアント106に直接プッシュすることができる。コンピューティングデバイス102上のサービス実施クライアント106がオフラインであるとき、サービス実施サーバ120は、コンピューティングデバイス102の(APPLEのプッシュシステムなどの)メッセージプッシュシステムに通知メッセージを送信することができる。それから、メッセージプッシュシステムは、コンピューティングデバイス102上のサービス実施クライアント106に通知メッセージをプッシュすることができる。
【００１５】
コンピューティングデバイス102のユーザは、ブラウザ104を使用して商業サーバ110およびサービス実施サーバ120とインタラクションすることができる。たとえば、商業サーバ110のウェブページを閲覧する間に、ユーザは、ブラウザを使用して商業サーバ110にデータ生成要求またはサービス要求を送信することができる。結果として、商業サーバ110は、サービス実施サーバ120を呼び出すことによって要求を実行することができる。サービス実施サーバ120は、要求を完遂するためにブラウザ104とインタラクションする。コンピューティングデバイス102のユーザは、サービス実施クライアント106を使用してサービス実施サーバ120とインタラクションすることもできる。
【００１６】
図2は、本開示の実装による、オンライントランザクションを実行するための方法200の例を示すスイム図である。概して、ユーザがブラウザ202を使用して商業サーバ204上で購入を行うとき、ユーザは、ユーザの選択した支払い方法を使用することができる。支払い方法がサードパーティ支払いサーバ208によって提供される場合、サードパーティ支払いサーバ208も、支払いトランザクションに参加する。
【００１７】
210において、ユーザが、ブラウザ202を使用して商業サーバ204上で注文を出す。ブラウザ202は、注文を出すためにユーザによって使用されるコンピューティングデバイスにインストールされる。商業サーバ204のウェブページが、ブラウザ202によってロードされる。注文は、ユーザがブラウザ202によってロードされた商業サーバ204のウェブページを閲覧し、1つまたは複数の商品を選択した後に、ブラウザ202を使用して出されることが可能である。210から、方法200は220に進む。
【００１８】
220において、商業サーバ204が、注文に関連するデータを生成する。注文に関連するデータは、コンピューティングデバイスに関連するアイデンティティ情報を含む。一部の実装において、注文に関連するデータは、注文番号、選択された1つまたは複数の商品、および選択された1つまたは複数の商品の総額のうち少なくとも1つを含む。コンピューティングデバイスに関連するアイデンティティ情報は、コンピューティングデバイスを使用するユーザの識別情報を含む。一部の実装において、商業サーバ204は、ブラウザ202を使用してユーザに対してデータを表示することができる。220から、方法200は230に進む。
【００１９】
230において、ユーザが、ブラウザ202を使用して、出された注文に関する支払い要求を商業サーバ204に送信する。一部の実装において、商業サーバ204は、支払いが支払いサーバ208によってサポートされると判定する。230から、方法200は240に進む。
【００２０】
240において、商業サーバ204が、注文に関連するデータを支払いサーバ208に送信する。240から、方法200は250に進む。
【００２１】
250において、支払いサーバ208が、注文に関連するデータに基づいて支払いサーバ208に関連する支払いクライアント206を判定する。一部の実装においては、支払いクライアント206と支払いサーバ208との両方が、同じ開発者によって開発される。支払いクライアント206は、注文を出すためにユーザによって使用されるコンピューティングデバイスにインストールされる。支払いクライアント206と支払いサーバ208との間に確立された接続が、存在する。250から、方法200は260に進む。
【００２２】
260において、支払いサーバ208が、支払いクライアント206に通知メッセージをプッシュする。一部の実装において、通知メッセージは、支払いクライアント206と支払いサーバ208との間で確立された接続を使用してプッシュされる。一部の実装において、通知メッセージは、支払いクライアント206が支払いを完遂するために使用されることが可能であることを示す。260から、方法200は270に進む。
【００２３】
270において、ユーザが、コンピューティングデバイス上の支払いクライアント206を起動する。一部の実装において、ユーザは、支払いクライアント206を起動するために通知メッセージをクリックする。それから、ユーザは、ブラウザ202の代わりに支払いクライアント206を使用して支払いを行う。270から、方法200は280に進む。
【００２４】
280において、支払いサーバ208が、支払いの実行結果を商業サーバ204に送信する。一部の実装においては、270と280との間に任意のステップ275が存在する。275において、支払いサーバ208が、支払いの実行結果を支払いクライアント206に送信する。280から、方法200は290に進む。
【００２５】
290において、ユーザが、ブラウザ202を使用して支払いの実行結果に関して商業サーバ204に問い合わせる。一部の実装において、ステップ290は、230の後の任意のステップにおいて実行されることが可能である。290から、方法200は295に進む。
【００２６】
295において、商業サーバ204が、ブラウザ202を使用して支払いの実行結果をユーザに返す。295の後、方法200は停止する。
【００２７】
図3は、本開示の実装による、オンライントランザクションを実行するための方法300の例を示す流れ図である。明快に示すために、以下の説明は、この説明のその他の図の文脈で方法300を全体的に説明する。しかし、方法300は、必要に応じて、たとえば、任意の好適なシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって実行されることが可能であることが理解されよう。一部の実装において、方法300の様々なステップは、並列に、組み合わせて、ループして、または任意の順序で実行されることが可能である。一部の実装において、方法300は、流れ図に示されない追加的なまたは異なる(またはそれら両方の組合せの)ステップを含むことが可能である。一部の実装において、方法300の様々なステップは、方法300から省略されることも可能である。
【００２８】
310において、第1のサーバが、第2のサーバによって送信されたデータを受信する。データは、第2のサーバがブラウザを使用するコンピューティングデバイスからサービス要求を受信した後に第2のサーバによって第1のサーバに送信される。サービス要求は、支払い要求であることが可能である。データは、コンピューティングデバイスに関連するアイデンティティ情報を含む。たとえば、コンピューティングデバイスに関連するアイデンティティ情報は、コンピューティングデバイスを使用するユーザの識別情報(すなわち、user_id)であることが可能である。一部の実装において、第1のサーバは、(支払いサーバなどの)サービス実施サーバである。第2のサーバは、(MEITUAN、TAOBAO、およびTMALLなどの)商業ウェブサイトのサーバである。商業ウェブサイトは、サービス実施システムのポータルを提供する。ユーザは、ポータルを使用して、サービス実施システムを使用してサービスを実施すべきか否かを選択することができる。310から、方法300は320に進む。
【００２９】
320において、第1のサーバに関連するクライアントアプリケーションが、第1のサーバによって判定される。第1のサーバがサービス実施サーバであるとき、第1のサーバに関連するクライアントアプリケーションは、サービス実施サーバに関連するサービス実施クライアントである。一部の実装において、第1のサーバは、支払いサーバであり、第2のサーバは、商業サーバであり、第1のサーバに関連するクライアントアプリケーションは、支払いサーバに関連する支払いクライアントであり、サービス要求は、支払い要求である。一部の実装において、クライアントアプリケーションは、関係リストに問い合わせることによって(user_idなどの)コンピューティングデバイスに関連するアイデンティティ情報に基づいて判定される。関係リストは、(user_idなどの)コンピューティングデバイスのアイデンティティ情報、(client_idなどの)クライアントのアイデンティティ情報、およびコンピューティングデバイスのアイデンティティ情報とクライアントのアイデンティティ情報との間の関係を記憶することができるテーブルまたはその他のデータ構造であることが可能である。たとえば、ユーザがコンピューティングデバイス上のクライアントアプリケーションにログインするとき、第1のサーバは、(user_idなどの)コンピューティングデバイスを使用するユーザの識別情報、(client_idなどの)コンピューティングデバイス上のクライアントアプリケーションのアイデンティティ情報、およびコンピューティングデバイスを使用するユーザの識別情報とコンピューティングデバイス上のクライアントアプリケーションのアイデンティティ情報との間の関係を記憶することができる。一部の実装において、コンピューティングデバイス上のクライアントアプリケーションのアイデンティティ情報は、第1のサービスによって生成される。たとえば、ユーザがコンピューティングデバイス上のクライアントアプリケーションにログインした後、第1のサーバは、(国際移動体装置識別番号(IMEI: International Mobile Equipment Identification Number)などの)コンピューティングデバイスのアイデンティティ情報を獲得する。そのとき、第1のサーバは、たとえば、コンピューティング
デバイス上のクライアントアプリケーションを特定するためのnビットの(nは自然数である)識別情報をランダムに生成する。コンピューティングデバイス上のクライアントアプリケーションのアイデンティティ情報は、コンピューティングデバイスの獲得されたアイデンティティ情報およびランダムに生成されたnビットの識別情報に基づいて生成される。一部の実装において、関係リストは、構造化照会言語(SQL)クエリを使用して問い合わされることが可能である。Table 1 (表1)は、例示的な関係リストを示す。
【００３０】
【表１】
0006793848.tif 000002
【００３１】
Table 1 (表1)において、user_idは、コンピューティングデバイスを使用するユーザを一意に特定し、client_idは、コンピューティングデバイス上のクライアントアプリケーションを一意に特定する。Table 1 (表1)のclient_idに関して、「_」の前の(IMEIなどの)文字列は、コンピューティングデバイスを特定し、「_」の後の(ランダムに生成されたnビットの識別情報などの)文字列は、特定のコンピューティングデバイス上のクライアントアプリケーションを特定する。一部の実装において、client_idの桁数は、Table 1 (表1)の20桁とは異なることが可能である。一部の実装において、client_idは、Table 1 (表1)の方法とは異なる方法で生成されることが可能である。
【００３２】
一部の実装において、クライアントアプリケーションを判定することは、(user_idなどの)コンピューティングデバイスに関連するアイデンティティ情報に基づいて(client_idなどの)コンピューティングデバイス上のクライアントアプリケーションのアイデンティティ情報を特定することと、コンピューティングデバイス上のクライアントアプリケーションのアイデンティティ情報に基づいてコンピューティングデバイスのアイデンティティ情報を特定することとを含む。たとえば、コンピューティングデバイスを使用するユーザの受信された識別情報が“aaa12312"であるとき、コンピューティングデバイス上のクライアントアプリケーションのアイデンティティ情報は、Table 1 (表1)の関係リストに基づいて“354971074421111_0000"であると判定される。さらに、コンピューティングデバイスのアイデンティティ情報は、“354971074421111"であると判定される。320から、方法300は330に進む。
【００３３】
330において、メッセージが、第1のサーバに関連するクライアントアプリケーションを使用して第1のサーバによってコンピューティングデバイスに送信される。一部の実装において、コンピューティングデバイス上の第1のサーバに関連するクライアントアプリケーションがオンラインであるとき、長期間の接続が、ステップ310の前に第1のサーバとクライアントアプリケーションとの間で確立されることが可能である。第1のサーバは、コンピューティングデバイスのアイデンティティ情報およびコンピューティングデバイス上のクライアントアプリケーションのアイデンティティ情報を直接特定することができる。それから、第1のサーバは、クライアントアプリケーションを使用するユーザに通知メッセージを送信することができる。一部の実装において、コンピューティングデバイス上の第1のサーバに関連するクライアントアプリケーションは、オフラインである。第1のサーバは、(Appleのプッシュシステムなどの)メッセージプッシュシステムに指示メッセージを送信することができる。指示メッセージは、クライアントのアイデンティティ情報を含む。メッセージプッシュシステムは、指示メッセージに基づいてコンピューティングデバイスのアイデンティティ情報およびコンピューティングデバイス上のクライアントアプリケーションのアイデンティティ情報を特定することができる。それから、メッセージプッシュシステムは、クライアントアプリケーションを使用するユーザに通知メッセージを送信することができる。330の後、方法300は停止する。
【００３４】
図4は、本開示の実装による、オンライントランザクションを実行するための方法400の別の例を示す流れ図である。明快に示すために、以下の説明は、この説明のその他の図の文脈で方法400を全体的に説明する。しかし、方法400は、必要に応じて、たとえば、任意の好適なシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって実行されることが可能であることが理解されよう。一部の実装において、方法400の様々なステップは、並列に、組み合わせて、ループして、または任意の順序で実行されることが可能である。一部の実装において、方法400は、流れ図に示されない追加的なまたは異なる(またはそれら両方の組合せの)ステップを含むことが可能である。一部の実装において、方法400の様々なステップは、方法400から省略されることも可能である。
【００３５】
410において、支払い要求が、コンピューティングデバイスによって商業サーバに送信される。支払い要求は、コンピューティングデバイスにインストールされたブラウザを使用して送信される。商業サーバは、支払い要求に基づいて注文に関連するデータを生成することができる。注文に関連するデータは、コンピューティングデバイスに関連するアイデンティティ情報を含む。商業サーバは、商業サーバとは異なる支払いサーバに注文に関連するデータを送信することができる。410から、方法400は420に進む。
【００３６】
420において、メッセージが、支払いサーバからコンピューティングデバイスによって受信される。メッセージは、支払いサーバおよび支払い要求に関連する支払いクライアントアプリケーションを含む。一部の実装において、支払いクライアントアプリケーションは、コンピューティングデバイスにインストールされる。一部の実装において、支払いクライアントアプリケーションは、支払いサーバに接続される。一部の実装において、支払いクライアントアプリケーションは、図3のステップ320において検討されたように、関係リストに問い合わせることによって判定されることが可能である。420から、方法400は430に進む。
【００３７】
430において、メッセージに関連する通知が、コンピューティングデバイスによって表示される。一部の実装において、通知は、コンピューティングデバイス上の支払いクライアントアプリケーションを使用して表示される。通知は、支払いサーバとの支払いを行うためにブラウザの代わりに支払いクライアントアプリケーションを使用するようにユーザに通知する。430から、方法400は440に進む。
【００３８】
440において、支払いクライアントアプリケーションが、表示された通知に応じたユーザの選択に基づいてコンピューティングデバイスによって起動される。一部の実装において、ユーザは、表示された通知をクリックすることによってアプリケーションをブラウザからコンピューティングデバイス上の支払いクライアントアプリケーションに切り替えることができる。一部の実装において、支払いクライアントアプリケーションがコンピューティングデバイスにインストールされていない場合、ユーザは、コンピューティングデバイス上の支払いクライアントアプリケーションを起動する前にコンピューティングデバイスに支払いクライアントアプリケーションをダウンロードすることができる。一部の実装においては、支払いクライアントアプリケーションが起動された後、支払い要求に関連する支払いが、支払いクライアントアプリケーションを使用して行われる。440の後、方法400は停止する。
【００３９】
図5は、本開示の実装による、オンライントランザクションを実行するためのコンピューティングに基づくアーキテクチャ500の例を示すブロック図である。明瞭に示すために、以下の説明は、この説明のその他の図の文脈でアーキテクチャ500を全体的に説明する。図5に示されるように、端末デバイス502および508が、ネットワーク530を使用してサーバ端末520および商業サーバ端末510に接続される。端末デバイス502は、ブラウザ504およびクライアントアプリケーション506を含む。サーバ端末は、受信ユニット521、検索ユニット522、判定ユニット523、および送信ユニット524を含む。一部の実装において、サーバ端末は、確立ユニットを含むことができる。
【００４０】
受信ユニット521は、図3のステップ310において検討されたように、商業サーバ端末510によって送信されたデータを受信することができる。検索ユニット522は、図3のステップ320において検討されたように、受信されたデータに含まれるコンピューティングデバイスに関連するアイデンティティ情報に基づいてクライアントのアイデンティティ情報を特定することができる。判定ユニット523は、図3のステップ320において検討されたように、特定されたクライアントのアイデンティティ情報に基づいてサーバ端末520に関連するクライアントアプリケーションを判定することができる。送信ユニット524は、図3のステップ330において検討されたように、サーバ端末520に関連するクライアントアプリケーションを使用して、コンピューティングデバイスにメッセージを送信することができる。確立ユニットは、サーバ端末520に関連するクライアントアプリケーションとの接続を確立することができる。
【００４１】
図6は、本開示の実装による説明されるアルゴリズム、メソッド、関数、プロセス、フロー、およびプロシージャに関連する計算機能を提供するために使用されるコンピュータシステム600の例を示すブロック図である。
【００４２】
示されるコンピュータ602は、サーバ、デスクトップコンピュータ、ラップトップ/ノートブックコンピュータ、ワイヤレスデータポート、スマートフォン、携帯情報端末(PDA)、タブレットコンピュータ、これらのデバイス内の1つまたは複数のプロセッサ、別のコンピューティングデバイス、あるいはコンピューティングデバイスの物理的なもしくは仮想的なインスタンスまたはコンピューティングデバイスの物理的なもしくは仮想的なインスタンスの組合せを含むコンピューティングデバイスの組合せなどの任意のコンピューティングデバイスを包含するように意図される。加えて、コンピュータ602は、キーパッド、キーボード、タッチスクリーン、別の入力デバイス、またはユーザ情報を受け付けることができる入力デバイスの組合せなどの入力デバイス、およびグラフィカルタイプのユーザインターフェース(UI) (もしくはGUI)またはその他のUI上のデジタルデータ、視覚、音声、情報の別の種類、または情報の種類の組合せを含むコンピュータ602の動作に関連する情報を運ぶ出力デバイスを含むコンピュータを含むことが可能である。
【００４３】
コンピュータ602は、本開示において説明される対象を実行するためのクライアント、ネットワーク構成要素、サーバ、データベースもしくは別の永続性、別の役割、または役割の組合せなどのコンピュータシステム内の役割を果たすことができる。示されたコンピュータ602は、ネットワーク630に通信可能なように結合される。一部の実装において、コンピュータ602の1つまたは複数の構成要素は、クラウドコンピューティングに基づく、ローカルの、グローバルな、別の環境、または環境の組合せを含む環境内で動作するように構成されることが可能である。
【００４４】
高いレベルで、コンピュータ602は、説明される対象に関連するデータおよび情報を受信、送信、処理、記憶、または管理するように動作可能な電子的なコンピューティングデバイスである。一部の実装によれば、コンピュータ602は、アプリケーションサーバ、電子メールサーバ、ウェブサーバ、キャッシュサーバ、ストリーミングデータサーバ、別のサーバ、またはサーバの組合せを含むサーバを含むかまたはサーバに通信可能なように結合されることも可能である。
【００４５】
コンピュータ602は、(たとえば、別のコンピュータ602上で実行されるクライアントソフトウェアアプリケーションから)ネットワーク630を介して要求を受信し、ソフトウェアアプリケーションまたはソフトウェアアプリケーションの組合せを使用して受信された要求を処理することによって受信された要求に応答することができる。加えて、要求は、内部のユーザから(たとえば、コマンドコンソールからもしくは別の内部アクセス方法によって)、外部の者もしくは第三者から、またはその他の主体、個人、システム、もしくはコンピュータからコンピュータ602に送信されることも可能である。
【００４６】
コンピュータ602の構成要素の各々は、システムバス603を使用して通信することができる。一部の実装において、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組合せを含むコンピュータ602の構成要素のいずれかまたはすべては、アプリケーションプログラミングインターフェース(API) 612、サービスレイヤ613、またはAPI 612とサービスレイヤ613との組合せを使用してシステムバス603上でインターフェースをとることができる。API 612は、ルーチン、データ構造、およびオブジェクトクラスに関する規定を含むことが可能である。API 612は、コンピュータ言語に依存しないかまたは依存するかのどちらかであり、完全なインターフェース、単一の機能、またはAPIのセットさえ指すことが可能である。サービスレイヤ613は、コンピュータ602または(図示されるか否かにかかわらず)コンピュータ602に通信可能なように結合されるその他の構成要素にソフトウェアサービスを提供する。コンピュータ602の機能は、このサービスレイヤを使用してすべてのサービスの消費者がアクセス可能であることが可能である。サービスレイヤ613によって提供されるソフトウェアサービスなどのソフトウェアサービスは、定義されたインターフェースを通じて再利用可能な定義された機能を提供する。たとえば、インターフェースは、拡張可能マークアップ言語(XML)フォーマット、別のフォーマット、またはフォーマットの組合せでデータを提供するJAVA(登録商標)、C++、別のコンピューティング言語、またはコンピューティング言語の組合せで記述されたソフトウェアであることが可能である。コンピュータ602の統合された構成要素として示されるが、代替的な実装は、API 612またはサービスレイヤ613を、コンピュータ602のその他の構成要素または(図示されるか否かにかかわらず)コンピュータ602に通信可能なように結合されるその他の構成要素に関連してスタンドアロンの構成要素として示すことが可能である。さらに、API 612またはサービスレイヤ613のいずれかのまたはすべての部分は、本開示の範囲を逸脱することなく別のソフトウェアモジュール、エンタープライズアプリケーション、またはハードウェアモジュールの子またはサブモジュールとして実装さ
れることが可能である。
【００４７】
コンピュータ602は、インターフェース604含む。図6には単一のインターフェース604として示されるが、2つ以上のインターフェース604が、コンピュータ602の特定の必要、希望、または特定の実装に応じて使用されることが可能である。インターフェース604は、(図示されるか否かにかかわらず)分散環境内でネットワーク630に通信可能なようにリンクされる別のコンピューティングシステムと通信するためにコンピュータ602によって使用される。概して、インターフェース604は、ネットワーク630と通信するように動作可能であり、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組合せに符号化された論理を含む。より具体的には、インターフェース604は、ネットワーク630またはインターフェースのハードウェアが、図示されたコンピュータ602の内外で物理的な信号を伝えるように動作可能であるように、通信に関連する1つまたは複数の通信プロトコルをサポートするソフトウェアを含むことが可能である。
【００４８】
コンピュータ602は、プロセッサ605を含む。図6には単一のプロセッサ605として示されるが、2つ以上のプロセッサが、コンピュータ602の特定の必要、希望、または特定の実装に応じて使用されることが可能である。概して、プロセッサ605は、本開示において説明されるようにコンピュータ602の動作および任意のアルゴリズム、メソッド、関数、プロセス、フロー、およびプロシージャを実行するために命令を実行し、データを操作する。
【００４９】
コンピュータ602は、コンピュータ602、(図示されるか否かにかかわらず)ネットワーク630に通信可能なようにリンクされる別の構成要素、またはコンピュータ602と別の構成要素との組合せのためのデータを保持することができるデータベース606も含む。たとえば、データベース606は、本開示に合致するデータを記憶するインメモリの、通常の、または別の種類のデータベースであることが可能である。一部の実装において、データベース606は、コンピュータ602および説明される機能の特定の必要、希望、または特定の実装に応じて2つ以上の異なるデータベースの種類の組合せ(たとえば、ハイブリッドのインメモリのおよび通常のデータベース)であることが可能である。図6には単一のデータベース606として示されるが、同様のまたは異なる種類の2つ以上のデータベースが、コンピュータ602および説明される機能の特定の必要、希望、または特定の実装に応じて使用されることが可能である。データベース606はコンピュータ602の一体的な構成要素として示されるが、代替的な実装において、データベース606は、コンピュータ602の外部にあることが可能である。示されるように、データベース606は、上述の関係リスト616を保持することができる。
【００５０】
コンピュータ602は、コンピュータ602、(図示されるか否かにかかわらず)ネットワーク630に通信可能なようにリンクされる別の1つの構成要素もしくは複数の構成要素、またはコンピュータ602と別の構成要素との組合せのためのデータを保持することができるメモリ607も含む。メモリ607は、本開示に合致する任意のデータを記憶することができる。一部の実装において、メモリ607は、コンピュータ602および説明される機能の特定の必要、希望、または特定の実装に応じて2つ以上の異なる種類のメモリの組合せ(たとえば、半導体と磁気ストレージとの組合せ)であることが可能である。図6には単一のメモリ607として示されるが、同様のまたは異なる種類の2つ以上のメモリ607が、コンピュータ602および説明される機能の特定の必要、希望、または特定の実装に応じて使用されることが可能である。メモリ607はコンピュータ602の一体的な構成要素として示されるが、代替的な実装において、メモリ607は、コンピュータ602の外部にあることが可能である。
【００５１】
アプリケーション608は、特に本開示において説明される機能に関連して、コンピュータ602の特定の必要、希望、または特定の実装に応じて機能を提供するアルゴリズム的なソフトウェアエンジンである。たとえば、アプリケーション608は、1つまたは複数の構成要素、モジュール、またはアプリケーションとして働くことができる。さらに、単一のアプリケーション608として示されるが、アプリケーション608は、コンピュータ602上に複数のアプリケーション608として実装されることが可能である。加えて、コンピュータ602と一体的であるものとして示されるが、代替的な実装において、アプリケーション608は、コンピュータ602の外部にあることが可能である。
【００５２】
コンピュータ602は、電源614を含むことも可能である。電源614は、ユーザが交換することができるかまたはユーザが交換することができないかのどちらかであるように構成されることが可能である充電可能なまたは充電不可能なバッテリを含むことが可能である。一部の実装において、電源614は、(充電、スタンバイ、または別の電力管理機能を含む)電力変換または管理回路を含むことが可能である。一部の実装において、電源614は、たとえば、コンピュータ602に電力を供給するかまたは充電式バッテリに充電するためにコンピュータ602が壁のコンセントまたは別の電源につながれることを可能にする電源プラグを含むことが可能である。
【００５３】
コンピュータ602を含むコンピュータシステムに関連するまたはコンピュータ602を含むコンピュータシステムの外部の任意の数のコンピュータ602が存在し、各コンピュータ602はネットワーク630を介して通信する。さらに、用語「クライアント」、「ユーザ」、またはその他の適切な専門用語は、本開示の範囲を逸脱することなく必要に応じて交換可能なように使用されることが可能である。さらに、本開示は、多くのユーザが1つのコンピュータ602を使用することができること、または1人のユーザが複数のコンピュータ602を使用することができることを想定する。
【００５４】
対象の説明される実装は、1つまたは複数の特徴を単独でまたは組み合わせて含むことが可能である。
【００５５】
たとえば、第1の実装においては、コンピュータによって実施される方法が、第2のサーバによって送信されたデータを第1のサーバによって受信するステップであって、データが、コンピューティングデバイスに関連するアイデンティティ情報を含む、ステップと、コンピューティングデバイスに関連するアイデンティティ情報に基づいて第1のサーバに関連するクライアントアプリケーションを第1のサーバによって判定するステップと、第1のサーバに関連するクライアントアプリケーションを使用して第1のサーバによってコンピューティングデバイスにメッセージを送信するステップとを含む。
【００５６】
上述のおよびその他の説明される実装は、それぞれ、任意で、以下の特徴のうちの1つまたは複数を含むことが可能である。
【００５７】
第2のサーバがブラウザを使用するコンピューティングデバイスからサービス要求を受信した後にデータが第2のサーバによって第1のサーバに送信される、下の特徴のいずれかと組合せ可能な第1の特徴。
【００５８】
ブラウザおよび第1のサーバに関連するクライアントアプリケーションが両方ともコンピューティングデバイスにインストールされる、上のまたは下の特徴のいずれかと組合せ可能な第2の特徴。
【００５９】
データを受信する前に第1のサーバに関連するクライアントアプリケーションとの接続を第1のサーバによって確立するステップをさらに含む、上のまたは下の特徴のいずれかと組合せ可能な第3の特徴。
【００６０】
第1のサーバが、サービス実施サーバであり、第2のサーバが、商業サーバであり、第1のサーバに関連するクライアントアプリケーションが、サービス実施サーバに関連するサービス実施クライアントである、上のまたは下の特徴のいずれかと組合せ可能な第4の特徴。
【００６１】
第1のサーバが、支払いサーバであり、第2のサーバが、商業サーバであり、第1のサーバに関連するクライアントアプリケーションが、支払いサーバに関連する支払いクライアントであり、サービス要求が、支払い要求である、上のまたは下の特徴のいずれかと組合せ可能な第5の特徴。
【００６２】
第1のサーバに関連するクライアントアプリケーションを判定するステップが、コンピューティングデバイスに関連するアイデンティティ情報に基づいてクライアントのアイデンティティ情報を特定することと、特定されたクライアントのアイデンティティ情報に基づいて第1のサーバに関連するクライアントアプリケーションを判定することとを含む、上のまたは下の特徴のいずれかと組合せ可能な第6の特徴。
【００６３】
コンピューティングデバイスにメッセージを送信するステップが、第1のサーバによって第1のサーバに関連するクライアントアプリケーションにメッセージを送信することと、第1のサーバに関連するクライアントアプリケーションによってコンピューティングデバイスにメッセージを送信することとを含む、上のまたは下の特徴のいずれかと組合せ可能な第7の特徴。
【００６４】
第2の実装においては、コンピュータによって実施される方法が、コンピューティングデバイスによって商業サーバに支払い要求を送信するステップと、商業サーバとは異なる支払いサーバからコンピューティングデバイスによってメッセージを受信するステップであって、メッセージが、支払いサーバおよび支払い要求に関連する支払いクライアントアプリケーションを含む、ステップと、メッセージに関連する通知をコンピューティングデバイスによって表示するステップと、通知に応じたユーザの選択に基づいてコンピューティングデバイスによって支払いクライアントアプリケーションを起動するステップとを含む。
【００６５】
上述のおよびその他の説明される実装は、それぞれ、任意で、以下の特徴のうちの1つまたは複数を含むことが可能である。
【００６６】
支払い要求がコンピューティングデバイスにインストールされたブラウザを使用して送信される、下の特徴のいずれかと組合せ可能な第1の特徴。
【００６７】
支払いクライアントアプリケーションがコンピューティングデバイスにインストールされる、上のまたは下の特徴のいずれかと組合せ可能な第2の特徴。
【００６８】
支払いクライアントアプリケーションが支払いサーバに接続される、上のまたは下の特徴のいずれかと組合せ可能な第3の特徴。
【００６９】
支払いクライアントアプリケーションを使用して支払い要求に関連する支払いを行うステップをさらに含む、上のまたは下の特徴のいずれかと組合せ可能な第4の特徴。
【００７０】
第3の実装においては、非一時的コンピュータ可読媒体が、商業サーバに支払い要求を送信する動作と、商業サーバとは異なる支払いサーバからメッセージを受信する動作であって、メッセージが、支払いサーバおよび支払い要求に関連する支払いクライアントアプリケーションを含む、動作と、メッセージに関連する通知を表示する動作と、通知に応じたユーザの選択に基づいて支払いクライアントアプリケーションを起動する動作とを含む動作を実行するためにコンピュータシステムによって実行可能な1つまたは複数の命令を記憶する。
【００７１】
上述のおよびその他の説明される実装は、それぞれ、任意で、以下の特徴のうちの1つまたは複数を含むことが可能である。
【００７２】
支払い要求がコンピューティングシステムにインストールされたブラウザを使用して送信される、下の特徴のいずれかと組合せ可能な第1の特徴。
【００７３】
支払いクライアントアプリケーションがコンピューティングシステムにインストールされる、上のまたは下の特徴のいずれかと組合せ可能な第2の特徴。
【００７４】
支払いクライアントアプリケーションが支払いサーバに接続される、上のまたは下の特徴のいずれかと組合せ可能な第3の特徴。
【００７５】
動作が、支払いクライアントアプリケーションを使用して支払い要求に関連する支払いを行う動作をさらに含む、上のまたは下の特徴のいずれかと組合せ可能な第4の特徴。
【００７６】
第4の実装においては、コンピュータによって実装されるシステムが、1つまたは複数のコンピュータと、1つまたは複数のコンピュータと相互に利用可能なように結合され、1つまたは複数のコンピュータによって実行されるときに、商業サーバに支払い要求を送信する動作、商業サーバとは異なる支払いサーバからメッセージを受信する動作であって、メッセージが、支払いサーバおよび支払い要求に関連する支払いクライアントアプリケーションを含む、動作、メッセージに関連する通知を表示する動作、ならびに通知に応じたユーザの選択に基づいて支払いクライアントアプリケーションを起動する動作を含む動作を実行する命令を記憶する有形の非一時的機械可読媒体を有する1つまたは複数のコンピュータメモリデバイスとを含む。
【００７７】
支払い要求が1つまたは複数のコンピュータにインストールされたブラウザを使用して送信される、下の特徴のいずれかと組合せ可能な第1の特徴。
【００７８】
支払いクライアントアプリケーションが1つまたは複数のコンピュータにインストールされる、上のまたは下の特徴のいずれかと組合せ可能な第2の特徴。
【００７９】
支払いクライアントアプリケーションが支払いサーバに接続される、上のまたは下の特徴のいずれかと組合せ可能な第3の特徴。
【００８０】
動作が、支払いクライアントアプリケーションを使用して支払い要求に関連する支払いを行う動作をさらに含む、上のまたは下の特徴のいずれかと組合せ可能な第4の特徴。
【００８１】
本明細書に記載の対象の実装および機能の動作は、本明細書で開示された構造およびそれらの構造的均等物を含む、デジタル電子回路、有形で具現化されたコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらの1つもしくは複数の組合せで実装されることが可能である。説明された対象のソフトウェアの実装は、1つまたは複数のコンピュータプログラム、つまり、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために有形の非一時的コンピュータ可読コンピュータストレージ媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装されることが可能である。代替的にまたは追加的に、プログラム命令は、データ処理装置による実行のためにレシーバ装置に送信するために情報を符号化するように生成される人為的に生成された伝播信号、たとえば、機械によって生成された電気的信号、光学的信号、または電磁的信号内/上に符号化されることが可能である。コンピュータストレージ媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、ランダムもしくはシリアルアクセスメモリデバイス、またはコンピュータストレージ媒体の組合せであることが可能である。1つまたは複数のコンピュータを構成することは、ソフトウェアが1つまたは複数のコンピュータによって実行されるときに特定の計算動作が実行されるように、1つまたは複数のコンピュータがハードウェア、ファームウェア、またはソフトウェア(またはハードウェアと、ファームウェアと、ソフトウェアとの組合せ)をインストールしたことを意味する。
【００８２】
(当業者によって理解される)用語「リアルタイム(real-time)」、「リアルタイム(real time)」、「リアルタイム(realtime)」、「リアル(ファスト)タイム(RFT: real (fast) time)」、「近リアルタイム(NRT: near(ly) real-time)」、「準リアルタイム(quasi real-time)」、または同様の用語は、個人が実質的に同時に行われるアクションおよび応答を知覚するようにアクションおよび応答が時間的に非常に近いことを意味する。たとえば、データにアクセスするための個人のアクションの後のデータの表示への応答に関する(または表示の開始に関する)時間差は、1ミリ秒(ms)未満であるか、1秒(s)未満であるか、または5s未満であることが可能である。要求されたデータは、即座に表示される(または表示のために着手される)必要はないが、説明されたコンピューティングシステムの処理の制限と、たとえば、データを集めるか、正確に測定するか、分析するか、処理するか、記憶するか、または送信するために必要とされる時間とを考慮に入れて、いかなる意図的な遅延もなしに表示される(または表示のために着手される)。
【００８３】
用語「データ処理装置」、「コンピュータ」、または「電子コンピュータデバイス」(または当業者によって理解される均等物)は、データ処理ハードウェアを指し、例としてプログラミング可能なプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含する。装置は、専用論理回路、たとえば、中央演算処理装置(CPU)、FPGA (フィールドプログラマブルゲートアレイ)、またはASIC (特定用途向け集積回路)であることも可能であり、またはそのような専用論理回路をさらに含むことも可能である。一部の実装において、データ処理装置または専用論理回路(またはデータ処理装置もしくは専用論理回路の組合せ)は、ハードウェアベースまたはソフトウェアベース(またはハードウェアベースとソフトウェアベースとの組合せ)であることが可能である。任意で、装置は、コンピュータプログラムのための実行環境を生成するコード、たとえば、プロセッサのファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、または実行環境の組合せを構成するコードを含むことが可能である。本開示は、何らかの種類のオペレーティングシステム、たとえば、LINUX、UNIX(登録商標)、WINDOWS(登録商標)、MAC OS、ANDROID(登録商標)、IOS、別のオペレーティングシステム、またはオペレーティングシステムの組合せを用いるデータ処理装置の使用を想定する。
【００８４】
プログラム、ソフトウェア、ソフトウェアアプリケーション、ユニット、モジュール、ソフトウェアモジュール、スクリプト、コード、またはその他の構成要素と呼ばれるかまたは書かれることも可能であるコンピュータプログラムは、コンパイル型もしくはインタープリタ型言語または宣言型もしくは手続き型言語を含む任意の形態のプログラミング言語で記述されることが可能であり、コンピューティング環境において使用するためにたとえば、スタンドアロンプログラム、モジュール、構成要素、またはサブルーチンとして形態を含む任意の形態で展開されることが可能である。コンピュータプログラムは、ファイルシステム内のファイルに対応することが可能であるが、必ずそうであるとは限らない。プログラムは、その他のプログラムもしくはデータを保持するファイルの一部、たとえば、マークアップ言語の文書に記憶された1つもしくは複数のスクリプト、問題にしているプログラムに専用の単一のファイル、または複数の組織されたファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルに記憶されることが可能である。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に置かれるか、もしくは複数の場所に分散され、通信ネットワークによって相互に接続される複数のコンピュータ上で実行されるように展開され得る。
【００８５】
様々な図に示されたプログラムの一部は様々なオブジェクト、メソッド、またはその他のプロセスを使用して説明された特徴および機能を実装するユニットまたはモジュールなどの個々の構成要素として示されることが可能であるが、プログラムは、その代わりに、必要に応じていくつかのサブユニット、サブモジュール、第三者サービス、構成要素、ライブラリ、およびその他の構成要素を含むことが可能である。逆に、様々な構成要素の特徴および機能は、必要に応じて単一のコンポーネントに組み合わされることが可能である。コンピュータによる判定を行うために使用される閾値は、静的に、動的に、または静的と動的との両方で決定されることが可能である。
【００８６】
説明された方法、プロセス、または論理フローは、本開示に合致する機能の1つまたは複数の例を表し、本開示を説明されたまたは図示された実装に限定するように意図されておらず、説明された原理および特徴に合致する最も広い範囲を与えられるべきである。説明された方法、プロセス、または論理フローは、入力データに対して演算を行い、出力データを生成することによって機能を実行する1つまたは複数のコンピュータプログラムを1つまたは複数のプログラミング可能なコンピュータが実行することによって実行されることが可能である。方法、プロセス、または論理フローは、専用論理回路、たとえば、CPU、FPGA、またはASICによって実行されることも可能であり、装置は、専用論理回路、たとえば、CPU、FPGA、またはASICとして実装されることも可能である。
【００８７】
コンピュータプログラムの実行のためのコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサ、それら両方、または別の種類のCPUに基づくことが可能である。概して、CPUは、メモリから命令およびデータを受け取り、メモリに書き込む。コンピュータの必須の要素は、命令を遂行または実行するためのCPU、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。また、概して、コンピュータは、データを記憶するための1つまたは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらの大容量ストレージデバイスに動作可能なように結合され、それらの大容量ストレージデバイスからデータを受信するか、またはそれらの大容量ストレージデバイスにデータを転送するか、またはその両方を行う。しかし、コンピュータは、そのようなデバイスを備えていなくてもよい。さらに、コンピュータは、別のデバイス、たとえば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレイヤー、ゲームコンソール、全地球測位システム(GPS)レシーバ、またはポータブルメモリストレージデバイスに組み込まれることが可能である。
【００８８】
コンピュータプログラム命令およびデータを記憶するための非一時的コンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、およびフラッシュメモリデバイスと、磁気デバイス、たとえば、テープ、カートリッジ、カセット、内蔵/リムーバブルディスクと、光磁気ディスクと、光メモリデバイス、たとえば、デジタルビデオディスク(DVD)、CD-ROM、DVD+/-R、DVD-RAM、DVD-ROM、HD-DVD、およびBLURAY、ならびにその他の光メモリテクノロジーとを含むすべての形態の永続的/非永続的または揮発性/不揮発性メモリ、媒体、およびメモリデバイスを含むことが可能である。メモリは、キャッシュ、クラス、フレームワーク、アプリケーション、モジュール、バックアップデータ、ジョブ、ウェブページ、ウェブページテンプレート、データ構造、データベーステーブル、動的な情報を記憶するリポジトリ、または任意のパラメータ、変数、アルゴリズム、命令、規則、制約、もしくは参照を含むその他の適切な情報を含む様々なオブジェクトまたはデータを記憶することができる。加えて、メモリは、ログ、ポリシー、セキュリティもしくはアクセスデータ、またはレポートファイルなどのその他の適切なデータを含むことが可能である。プロセッサおよびメモリは、専用論理回路によって補完されるか、または専用論理回路に組み込まれることが可能である。
【００８９】
ユーザとのインタラクションを提供するために、本明細書に記載の対象の実装は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT (ブラウン管)、LCD (液晶ディスプレイ)、LED (発光ダイオード)、またはプラズマモニタと、ユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウス、トラックボール、またはトラックパッドとを有するコンピュータ上に実装されることが可能である。入力は、圧力感知式のタブレットコンピュータの表面、静電容量もしくは電気感知を使用するマルチタッチスクリーン、または別の種類のタッチスクリーンなどのタッチスクリーンを使用するコンピュータに与えられることも可能である。その他の種類のデバイスが、ユーザとインタラクションするために使用されることが可能である。たとえば、ユーザに与えられるフィードバックは、(視覚、聴覚、触覚、またはフィードバックの種類の組合せなどの)任意の形態の感覚フィードバックであることが可能である。ユーザからの入力は、音響、発話、または触覚入力を含む任意の形態で受け取られることが可能である。加えて、コンピュータは、ユーザによって使用されるクライアントコンピューティングデバイスに文書を送信し、ユーザによって使用されるクライアントコンピューティングデバイスから文書を受信することによって(たとえば、ウェブブラウザから受信された要求に応答してユーザのモバイルコンピューティングデバイス上のウェブブラウザにウェブページを送信することによって)ユーザとインタラクションすることができる。
【００９０】
用語「グラフィカルユーザインターフェース」または「GUI」は、1つまたは複数のグラフィカルユーザインターフェースおよび特定のグラフィカルユーザインターフェースの表示の各々を説明するために単数形または複数形で使用されることが可能である。したがって、GUIは、情報を処理し、情報の結果をユーザに効率的に提示するウェブブラウザ、タッチスクリーン、またはコマンドラインインターフェース(CLI)を含むがこれらに限定されない任意のグラフィカルユーザインターフェースを表すことが可能である。概して、GUIは、インタラクティブなフィールド、プルダウンリスト、およびボタンなどのウェブブラウザに一部またはすべてが関連する複数のユーザインターフェース(UI)要素を含むことが可能である。これらのおよびその他のUI要素は、ウェブブラウザの機能に関連するかまたはウェブブラウザの機能を表すことが可能である。
【００９１】
本明細書に記載の対象の実装は、バックエンド構成要素を、たとえば、データサーバとして含むか、またはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、それによってユーザが本明細書に記載の対象の実装とインタラクションすることができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムに実装されることが可能である。システムの構成要素は、任意の形態または媒体の有線またはワイヤレスデジタルデータ通信(または、データ通信の組合せ)、たとえば、通信ネットワークによって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、広域ネットワーク(WAN)、マイクロ波アクセスのための世界的相互運用性(WIMAX: Worldwide Interoperability for Microwave Access)、たとえば、802.11a/b/g/nまたは802.20 (または802.11xと802.20もしくは本開示に合致するその他のプロトコルとの組合せ)を使用するワイヤレスローカルエリアネットワーク(WLAN)、インターネットのすべてまたは一部、別の通信ネットワーク、あるいは通信ネットワークの組合せを含む。通信ネットワークは、たとえば、ネットワークノード間でインターネットプロトコル(IP)のパケット、フレームリレーのフレーム、非同期転送モード(ATM)のセル、音声、映像、データ、またはその他の情報を用いて通信することができる。
【００９２】
コンピューティングシステムは、クライアントおよびサーバを含むことが可能である。クライアントおよびサーバは、概して互いに離れており、通常は通信ネットワークを通じてインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント-サーバの関係にあるコンピュータプログラムによって生じる。
【００９３】
本明細書は多くの特定の実装の詳細を含むが、これらは、いかなる発明の範囲または特許請求されることが可能なものの範囲に対する限定とも見なされるべきではなく、むしろ、特定の発明の特定の実装に特有であることが可能である特徴の説明と見なされるべきである。別々の実装の文脈で本明細書に記載されている特定の特徴が、単一の実装に組み合わせて実装されることも可能である。反対に、単一の実装の文脈で説明されている様々な特徴が、複数の実装に別々に、または任意の部分的組合せで実装されることも可能である。さらに、上述の特徴は、特定の組合せで働くものとして説明されることが可能であり、最初にそのように主張されることさえ可能であるが、主張された組合せの1つまたは複数の特徴は、場合によってはその組合せから削除されることが可能であり、主張された組合せは、部分的組合せ、または部分的組合せの変形を対象とすることが可能である。
【００９４】
対象の特定の実装が、説明された。説明された実装のその他の実装、変更、および並べ替えは、当業者に明らかであろうように、添付の請求項の範囲内にある。動作が特定の順序で図中に示され、請求項に記載されているが、これは、そのような動作が示された特定の順序でもしくは逐次的順序で実行されること、または所望の結果を達成するために示されたすべての動作が実行される(一部の動作は任意と考えられることが可能である)ことを必要とするものと理解されるべきでない。特定の状況においては、マルチタスクまたは並列処理(またはマルチタスクと並列処理との組合せ)が、有利であり、適切と考えられるように実行されることが可能である。
【００９５】
さらに、上述の実装における様々なシステムモジュールおよび構成要素の分割または統合は、すべての実装においてそのような分割または統合を必要とするものと理解されるべきでなく、説明されたプログラム構成要素およびシステムは、概して、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージングされることが可能であることが理解されるべきである。
【００９６】
したがって、上述の例示的な実装は、本開示を定義または制約しない。また、その他の改変、置き換え、および変更が、本開示の精神および範囲を逸脱することなく可能である。
【００９７】
さらに、任意の特許請求される実装が、少なくともコンピュータによって実施される方法、コンピュータによって実施される方法を実行するためのコンピュータ可読命令を記憶する非一時的コンピュータ可読媒体、およびコンピュータによって実施される方法または非一時的コンピュータ可読媒体に記憶された命令を実行するように構成されたハードウェアプロセッサと相互に利用可能なように結合されたコンピュータメモリを含むコンピュータシステムに適用可能であると考えられる。
【符号の説明】
【００９８】
100  ネットワーキング環境
102  コンピューティングデバイス
104  ブラウザ
106  サービス実施クライアント
110  商業サーバ
120  サービス実施サーバ
131  リンク
132  リンク
133  リンク
134  リンク
200  方法
202  ブラウザ
204  商業サーバ
206  支払いクライアント
208  サードパーティ支払いサーバ
300  方法
400  方法
500  アーキテクチャ
502  端末デバイス
504  ブラウザ
506  クライアントアプリケーション
508  端末デバイス
510  商業サーバ端末
520  サーバ端末
521  受信ユニット
522  検索ユニット
523  判定ユニット
524  送信ユニット
530  ネットワーク
600  コンピュータシステム
602  コンピュータ
603  システムバス
604  インターフェース
605  プロセッサ
606  データベース
607  メモリ
608  アプリケーション
612  API
613  サービスレイヤ
614  電源
616  関係リスト
630  ネットワーク
【図１】
0006793848.tif 000003
【図２】
0006793848.tif 000004
【図３】
0006793848.tif 000005
【図４】
0006793848.tif 000006
【図５】
0006793848.tif 000007
【図６】
0006793848.tif 000008