IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アップル インコーポレイテッドの特許一覧

特開2024-133023ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術
<>
  • 特開-ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術 図1
  • 特開-ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術 図2
  • 特開-ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術 図3A
  • 特開-ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術 図3B
  • 特開-ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術 図4A
  • 特開-ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術 図4B
  • 特開-ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024133023
(43)【公開日】2024-10-01
(54)【発明の名称】ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20240920BHJP
【FI】
G06Q50/10
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024040800
(22)【出願日】2024-03-15
(31)【優先権主張番号】63/491,027
(32)【優先日】2023-03-17
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/479,036
(32)【優先日】2023-09-30
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100170209
【弁理士】
【氏名又は名称】林 陽和
(72)【発明者】
【氏名】マドゥスダン ラオ
(72)【発明者】
【氏名】ケネス アイ コーエン
(72)【発明者】
【氏名】ノラ ジェイ シューメーカー
(72)【発明者】
【氏名】ヴィクトリア エル シャーマン
【テーマコード(参考)】
5L050
【Fターム(参考)】
5L050CC11
(57)【要約】      (修正有)
【課題】ソフトウェアアプリケーションに結び付けられたエラーを緩和する方法及びサーバデバイスを提供する。
【解決手段】方法は、ソフトウェアアプリケーションに関連付けられた無効な支払いクレデンシャルを有するユーザを識別するステップと、ユーザに関連付けられ、ソフトウェアアプリケーションがインストールされている1以上のクライアントデバイスを識別するステップと、1以上のエラーの指示を1以上のクライアントデバイスに提供して、1以上のクライアントデバイス上にロード及び/又は表示されることと併せて、ソフトウェアアプリケーションに、指示から導出された情報を含むユーザインタフェースを表示させ、ユーザインタフェースが、ソフトウェアアプリケーションがユーザインタフェース内で発生するアクティビティを観察することを防止するように、ソフトウェアアプリケーションからサンドボックス化されるステップと、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
ソフトウェアアプリケーションに結び付けられたエラーを緩和するための方法であって、前記方法は、サーバデバイスにおいて、
ソフトウェアアプリケーションのユーザに関連付けられた少なくとも1つのエラーを識別することと、
前記ユーザに関連付けられ、前記ソフトウェアアプリケーションがインストールされている少なくとも1つのクライアントデバイスを識別することと、
前記少なくとも1つのエラーの指示を前記少なくとも1つのクライアントデバイスに提供して、前記少なくとも1つのクライアントデバイス上にロード及び/又は表示されることと併せて、前記ソフトウェアアプリケーションに、
前記指示から導出された情報を含むユーザインタフェースを表示させることと、を含み、前記ユーザインタフェースは、前記ソフトウェアアプリケーションが前記ユーザインタフェース内で発生するアクティビティを観察することを防止するように、前記ソフトウェアアプリケーションからサンドボックス化される、方法。
【請求項2】
前記情報は、前記少なくとも1つのエラーに関連付けられた少なくとも1つの問題を記述する、請求項1に記載の方法。
【請求項3】
前記少なくとも1つの問題は、
前記ユーザ及び/又は前記ソフトウェアアプリケーションに関連付けられた無効なクレデンシャル情報、又は、
前記ユーザ及び/又は前記ソフトウェアアプリケーションに関連付けられた無効な構成情報のうちの少なくとも1つを含む、請求項2に記載の方法。
【請求項4】
前記サーバデバイスは、前記少なくとも1つの問題を検出することによって、前記少なくとも1つのエラーを識別する、請求項2に記載の方法。
【請求項5】
前記ユーザインタフェースは、前記ユーザが前記少なくとも1つのエラーを緩和するための入力を提供することを可能にし、
前記アクティビティは、前記ユーザが前記入力を提供すること、
を含む、請求項1に記載の方法。
【請求項6】
前記ソフトウェアアプリケーションが、経過したときに前記ソフトウェアアプリケーションに前記ユーザインタフェースを表示させる特定の期間の間、前記ユーザインタフェースを抑制することを可能にすること、
を更に含む、請求項1に記載の方法。
【請求項7】
前記指示は、前記ソフトウェアアプリケーションがロード及び/又は表示されるまで、前記ソフトウェアアプリケーションに前記指示をキャッシュさせる、請求項1に記載の方法。
【請求項8】
ソフトウェアアプリケーションに結び付けられたエラーを緩和するように構成されたサーバデバイスであって、前記サーバデバイスは少なくとも1つのプロセッサを備え、前記プロセッサは、前記サーバデバイスに、
ソフトウェアアプリケーションのユーザに関連付けられた少なくとも1つのエラーを識別することと、
前記ユーザに関連付けられ、前記ソフトウェアアプリケーションがインストールされている少なくとも1つのクライアントデバイスを識別することと、
前記少なくとも1つのエラーの指示を前記少なくとも1つのクライアントデバイスに提供して、前記少なくとも1つのクライアントデバイス上にロード及び/又は表示されることと併せて、前記ソフトウェアアプリケーションに、
前記指示から導出された情報を含むユーザインタフェースを表示させることと、を含むステップを実行させるように構成されており、前記ユーザインタフェースは、前記ソフトウェアアプリケーションが前記ユーザインタフェース内で発生するアクティビティを観察することを防止するように、前記ソフトウェアアプリケーションからサンドボックス化される、サーバデバイス。
【請求項9】
前記情報は、前記少なくとも1つのエラーに関連付けられた少なくとも1つの問題を記述する、請求項8に記載のサーバデバイス。
【請求項10】
前記少なくとも1つの問題は、
前記ユーザ及び/又は前記ソフトウェアアプリケーションに関連付けられた無効なクレデンシャル情報、又は、
前記ユーザ及び/又は前記ソフトウェアアプリケーションに関連付けられた無効な構成情報のうちの少なくとも1つを含む、請求項9に記載のサーバデバイス。
【請求項11】
前記サーバデバイスは、前記少なくとも1つの問題を検出することによって、前記少なくとも1つのエラーを識別する、請求項9に記載のサーバデバイス。
【請求項12】
前記ユーザインタフェースは、前記ユーザが前記少なくとも1つのエラーを緩和するための入力を提供することを可能にし、
前記アクティビティは、前記ユーザが前記入力を提供すること、
を含む、請求項8に記載のサーバデバイス。
【請求項13】
前記ステップは、
前記ソフトウェアアプリケーションが、経過したときに前記ソフトウェアアプリケーションに前記ユーザインタフェースを表示させる特定の期間の間、前記ユーザインタフェースを抑制することを可能にするステップを更に含む、請求項8に記載のサーバデバイス。
【請求項14】
前記指示は、前記ソフトウェアアプリケーションがロード及び/又は表示されるまで、前記ソフトウェアアプリケーションに前記指示をキャッシュさせる、請求項8に記載のサーバデバイス。
【請求項15】
ソフトウェアアプリケーションに結び付けられたエラーを緩和するための方法であって、前記方法は、クライアントデバイスにおいて、
サーバデバイスから、前記クライアントデバイス上にインストールされたソフトウェアアプリケーションに関連付けられた少なくとも1つのエラーの指示を受信することと、
前記指示を記憶することと、
前記ソフトウェアアプリケーションの起動及び/又は表示を検出することと、
前記ソフトウェアアプリケーションに、前記少なくとも1つのエラーの前記指示に関連付けられた情報を表示する許可を促すことと、
前記ソフトウェアアプリケーションから許可を受信することに応じて、
前記ソフトウェアアプリケーションに、前記情報を含むユーザインタフェースを表示させることと、を含み、前記ユーザインタフェースは、前記ソフトウェアアプリケーションが前記ユーザインタフェース内で発生するアクティビティを観察することを防止するように、前記ソフトウェアアプリケーションからサンドボックス化される、方法。
【請求項16】
前記方法は、前記クライアントデバイス上で実行されるソフトウェアアプリケーションマネージャによって実施され、
前記ソフトウェアアプリケーションマネージャは、複数のソフトウェアアプリケーションの実行を可能にし、
前記複数のソフトウェアアプリケーションは、前記ソフトウェアアプリケーションを含む、
請求項15に記載の方法。
【請求項17】
前記指示を記憶することは、前記クライアントデバイスにアクセス可能なキャッシュに前記指示を記憶することを含む、請求項15に記載の方法。
【請求項18】
前記サーバデバイスから、前記少なくとも1つのエラーが緩和されたという第2の指示を受信することと、
前記キャッシュから前記指示を削除することと、
を更に含む、請求項17に記載の方法。
【請求項19】
前記情報は、前記少なくとも1つのエラーに関連付けられた少なくとも1つの問題を記述する、請求項15に記載の方法。
【請求項20】
前記ユーザインタフェースは、
前記クライアントデバイスのユーザに関連付けられた有効なクレデンシャル情報が提供されることを可能にする、又は、
前記ユーザ及び/又は前記ソフトウェアアプリケーションに関連付けられた有効な構成情報が提供されることを可能にする、請求項15に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
説明される実施形態は、ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術を説明する。例えば、本技術は、ソフトウェアアプリケーションのユーザに、その支払いクレデンシャルが無効になったときに通知し、ユーザがその支払いクレデンシャルを更新して無効性を緩和することを可能にするフレームワークを提供する。
【背景技術】
【0002】
近年、コンピューティングデバイス(例えば、ウェアラブル、スマートフォン、タブレットなど)を所有し、操作する個人の数の急増が示されている。通常、個人は、コンピューティングデバイスを使用して、例えば、電話をかけること、電子メッセージを送受信すること、インターネットにアクセスすることなど、1日を通して様々なアクティビティを行う。場合によっては、コンピューティングデバイス上にインストールされたオペレーティングシステム(特に、オペレーティングシステム上にプレインストールされたネイティブソフトウェアアプリケーション)は、ユーザが前述のアクティビティを実行することを可能にすることができる。しかしながら、サードパーティソフトウェアアプリケーションをインストールして、ユーザが追加の/強化されたアクティビティを実行できるようにすることもできる。例えば、これらのソフトウェアアプリケーションは、ソーシャルネットワークソフトウェアアプリケーション、写真ソフトウェアアプリケーション、ゲームソフトウェアアプリケーションなどを含むことができる。
【0003】
コンピューティングデバイスのユーザがソフトウェアアプリケーションを利用することを可能にするための一般的な手法は、本明細書で「アプリストア」と呼ばれるソフトウェアアプリケーションストアを提供することを伴い、これは、ユーザがソフトウェアアプリケーションを自分のコンピューティングデバイスにダウンロードすることを可能にする。具体的には、アプリストアは、ソフトウェアアプリケーションの開発者が、記述、価格情報、スクリーンショットなどと共に、自身のソフトウェアアプリケーションをアプリストアにアップロードすることを可能にする。次に、ユーザは、アプリストアを利用して、ユーザにとって有用/興味深いソフトウェアアプリケーションを探索し、インストールすることができる。例えば、ユーザは、ダウンロードすることに関心があるソフトウェアアプリケーションに対する特定のキーワードを有する検索クエリを提出することができ、関心がある特定のカテゴリ(例えば、ゲーム)に属する全てのソフトウェアアプリケーションを見ることができる、などである。別の例では、アプリストアは、ユーザが全てのユーザの間で現在普及しているソフトウェアアプリケーションを識別することを可能にするために、様々な基準に従ってランク付けされたソフトウェアアプリケーション(例えば、トップにダウンロードされたソフトウェアアプリケーション、トップにランク付けされたソフトウェアアプリケーションなど)を表示することができる。
【0004】
ユーザの満足度を最大化するために、ソフトウェアアプリケーションが問題なく実行することが重要である。特に、ソフトウェアアプリケーションのための支払い構造は、それらの設計、それらの意図されたユーザなどに依存して広く変化する。例えば、いくつかのソフトウェアアプリケーションは無料で使用することができ、いくつかのソフトウェアアプリケーションは「アプリ内購入」を提供し、いくつかのソフトウェアアプリケーションは前払い及び/又は加入支払いを必要とする、などである。この点に関して、有効な顧客課金情報を維持することは、ソフトウェアアプリケーション支払いの定刻及び成功を維持することに関して重要である。このような課金情報は、例えば、有効なクレジット又はデビットカード番号、有効な満了日、及び有効な課金アドレスを含むことができる。有効な課金情報がなければ、支払いを処理することができず、これは収益の流れに負担をかけ、ユーザによって期待される機能へのアクセスを潜在的に遮断する可能性がある。加えて、課金問題が生じた場合、効果的かつ非侵害的な方法でユーザに通知することは困難であり得る。この点に関して、ソフトウェア開発者は、課金問題をユーザに通知し、改善策を推奨/促進するための最も効率的な手法を知らない場合がある。
【発明の概要】
【0005】
説明される実施形態は、ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術を説明する。例えば、本技術は、ソフトウェアアプリケーションのユーザに、その支払いクレデンシャルが無効になったときに通知し、ユーザがその支払いクレデンシャルを更新して無効性を緩和することを可能にするフレームワークを提供する。
【0006】
実施形態は、ソフトウェアアプリケーションに結び付けられたエラーを緩和するための方法を説明する。いくつかの実施形態によれば、本方法は、サーバデバイスにおいて実施することができ、(1)ソフトウェアアプリケーションのユーザに関連付けられた少なくとも1つのエラーを識別するステップと、(2)ユーザに関連付けられ、ソフトウェアアプリケーションがインストールされている少なくとも1つのクライアントデバイスを識別するステップと、(3)少なくとも1つのエラーの指示を少なくとも1つのクライアントデバイスに提供して、少なくとも1つのクライアントデバイス上にロード及び/又は表示されることと併せて、ソフトウェアアプリケーションに、指示から導出された情報を含むユーザインタフェースを表示させるステップと、を含み、ユーザインタフェースは、ソフトウェアアプリケーションがユーザインタフェース内で発生するアクティビティを観察することを防止するように、ソフトウェアアプリケーションからサンドボックス化される。
【0007】
別の実施形態は、ソフトウェアアプリケーションに結び付けられたエラーを緩和するための方法を説明する。いくつかの実施形態によれば、本方法は、クライアントデバイスにおいて実施することができ、(1)サーバデバイスから、クライアントデバイス上にインストールされたソフトウェアアプリケーションに関連付けられた少なくとも1つのエラーの指示を受信するステップと、(2)指示を記憶するステップと、(3)ソフトウェアアプリケーションの起動及び/又は表示を検出するステップと、(4)ソフトウェアアプリケーションに、少なくとも1つのエラーの指示に関連付けられた情報を表示する許可を促すステップと、(5)ソフトウェアアプリケーションから許可を受信することに応じて、ソフトウェアアプリケーションに、情報を含むユーザインタフェースを表示させるステップと、を含み、ユーザインタフェースは、ソフトウェアアプリケーションがユーザインタフェース内で発生するアクティビティを観察することを防止するように、ソフトウェアアプリケーションからサンドボックス化される。
【0008】
他の実施形態は、命令を記憶するように構成されている非一時的コンピュータ可読記憶媒体を含み、命令は、コンピューティングデバイスに含まれるプロセッサによって実行されたとき、コンピューティングデバイスに前述の方法のいずれかの様々なステップを実行させる。更なる実施形態は、前述の方法のいずれかの様々なステップを実行するように構成されているコンピューティングデバイスを含む。
【0009】
本明細書に説明される本実施形態の他の態様及び利点は、説明される実施形態の原理を例として例示する添付図面と併せて、以下の詳細な説明から明らかになるであろう。
【0010】
含まれる図面は例示目的のものであり、無線コンピューティングデバイスを提供するための開示される発明の装置及び方法の可能な構造及び構成の例を提示するのに役立つに過ぎない。これらの図面は、当業者により、本実施形態の趣旨及び範囲から逸脱することなく、本実施形態に対してなされ得る形態及び詳細のいかなる変更をも決して制限するものではない。本実施形態は、添付の図面と共に下記の「発明を実施するための形態」を読むことによって容易に理解でき、類似の参照番号は類似の構造要素を指す。
【図面の簡単な説明】
【0011】
図1】いくつかの実施形態による、本明細書で説明する様々な技術を実施するように構成され得るシステムの異なる構成要素のブロック図を示す。
【0012】
図2】いくつかの実施形態による、ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術の詳細なシーケンス図を示す。
【0013】
図3A】いくつかの実施形態による、ソフトウェアアプリケーションに結び付けられたエラーを緩和するための方法を示す。
図3B】いくつかの実施形態による、ソフトウェアアプリケーションに結び付けられたエラーを緩和するための方法を示す。
【0014】
図4A】いくつかの実施形態による、クライアントコンピューティングデバイス上に表示され得る例示的なユーザインタフェースの概念図を示す。
図4B】いくつかの実施形態による、クライアントコンピューティングデバイス上に表示され得る例示的なユーザインタフェースの概念図を示す。
【0015】
図5】いくつかの実施形態による、本明細書で説明する各種構成要素を実行するために使用することができるコンピューティングデバイスの詳細図を示す。
【発明を実施するための形態】
【0016】
本明細書に記載される実施形態に係る、装置及び方法の代表的な用途が、この項において提示される。これらの例は、前後関係を追加し、説明する実施形態の理解を助けることのみを目的として提供される。従って、これらの具体的な詳細のうちの一部又は全てが無くても、ここで説明される実施形態を実施できることが、当業者には明らかであろう。他の例では、ここで説明される実施形態を不必要に不明瞭化するのを回避するために、周知のプロセス工程は詳細には説明されていない。他の適用例が可能であり、それゆえ以下の実施例は、限定的なものとして解釈されるべきではない。
【0017】
説明される実施形態は、ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術を説明する。例えば、本技術は、ソフトウェアアプリケーションのユーザに、その支払いクレデンシャルが無効になったときに通知し、ユーザがその支払いクレデンシャルを更新して無効性を緩和することを可能にするフレームワークを提供する。
【0018】
以下の開示は、主にソフトウェアアプリケーションに関連付けられた支払い関連エラーに焦点を当てているが、実施形態はそのような範囲に決して限定されないことに留意されたい。逆に、実施形態は、ユーザアカウント、課金、構成などに関連するエラー、問題など、ソフトウェアアプリケーションに関連して生じる可能性がある全ての考えられるエラー、問題などに適用可能である。
【0019】
図1は、いくつかの実施形態による、本明細書で説明する様々な技術を実施できるシステム100の異なる構成要素のブロック図を示す。図1に示すように、システム100は、クライアントコンピューティングデバイス114、例えば、スマートフォン、タブレット、ラップトップ、デスクトップなどのユーザが、サーバコンピューティングデバイス102によってホストされるソフトウェアアプリケーションストア(図1には図示せず)にアクセスすることを可能にする1つ以上のサーバコンピューティングデバイス102を含むことができる。いくつかの実施形態では、ソフトウェアアプリケーションストアは、ソフトウェア開発者が、ソフトウェアアプリケーションストアを通して利用可能にされるソフトウェアアプリケーション104をアップロードすることを可能にすることができる。逆に、クライアントコンピューティングデバイス114は、クライアントコンピューティングデバイス114がサーバコンピューティングデバイス102によって実装されるソフトウェアアプリケーションストアとインタフェースすることを可能にする、本明細書ではソフトウェアアプリケーションストアクライアントと呼ばれる、対応するソフトウェアアプリケーション(図1に図示せず)を実行することができる。例えば、ソフトウェアアプリケーションストアクライアント(所与のクライアントコンピューティングデバイス114上で実行される)は、ユーザが、例えば、プロダクティビティソフトウェアアプリケーション、ソーシャルネットワーキングソフトウェアアプリケーション、ゲームソフトウェアアプリケーションなどを、ダウンロード及びインストールすることに関心があり得るソフトウェアアプリケーション104をブラウズすることを可能にし得る。次に、ユーザが関心のある特定のソフトウェアアプリケーション104を識別すると、ソフトウェアアプリケーションストアクライアントは、クライアントコンピューティングデバイス114に、ソフトウェアアプリケーション104をクライアントコンピューティングデバイス114上にシームレスにダウンロード及びインストールさせることができる。その後、ユーザは、自分のクライアントコンピューティングデバイス114上のソフトウェアアプリケーション104にアクセスすることができる。
【0020】
簡単に言うと、本明細書で開示される実施形態は、ソフトウェアアプリケーションストア/ソフトウェアアプリケーションストアクライアントを含む前述のアーキテクチャに限定されないことに留意されたい。逆に、サーバコンピューティングデバイス102は、ソフトウェアアプリケーションストアの実装とは独立して、又はそれに存在しない、本明細書で説明される様々な機能を提供するように構成され得る。例えば、サーバコンピューティングデバイス102は、クライアントコンピューティングデバイス114上のソフトウェアアプリケーション104の利用に関連して生じる支払いクレデンシャル問題を識別し、緩和するのに役立つように構成することができる。更に、クライアントコンピューティングデバイス114は、ソフトウェアアプリケーションストアクライアントの実装とは独立して、又はそれに存在しない、本明細書で説明される様々な機能を提供するように構成され得る。例えば、クライアントコンピューティングデバイス114は、ソフトウェアアプリケーションストアとインタフェースすることなく(一般に「サイドローディング」と呼ばれる)ソフトウェアアプリケーション104をインストール、ロード、表示などするように構成され得ると共に、サーバコンピューティングデバイス102とインタフェースして、本明細書で説明される支払いクレデンシャル問題識別/緩和技術の利益を得るように構成され得る。
【0021】
いずれの場合も、図1に示すように、各クライアントコンピューティングデバイス114は、任意の数のソフトウェアアプリケーション104をインストールすることができ、ソフトウェアアプリケーション104のインストール、実行(例えば、ロード、表示など)などを容易にするように構成されたソフトウェアアプリケーションマネージャ116を実装することができる。各クライアントコンピューティングデバイス114はまた、ユーザプロファイル106に関連付けられ得る。そのような関連付けは、例えば、クライアントコンピューティングデバイス114のユーザが、クライアントコンピューティングデバイス114を使用してユーザプロファイル106を作成する、ログインするなどのために必要な情報を提供するときに確立することができる。いくつかの実施形態によれば、ユーザのユーザプロファイル106は、ユーザ名/パスワード情報、ユーザに関連付けられた連絡先情報、ユーザに関連付けられた人口統計情報などを含むことができる。前述の例は限定的であることを意図しておらず、ユーザプロファイル106は、本開示の範囲から逸脱することなく、任意のレベルの粒度で、任意のユーザ関連(又は他の)情報を記憶することができることに留意されたい。ユーザプロファイル106はまた、クレジットカード情報、ギフトカード情報、デビットカード情報、銀行口座情報などを含むことができる、ユーザに関連付けられた1つ以上の支払いクレデンシャル108を含むことができる。前述の例は限定的であることを意図しておらず、支払いクレデンシャル108は、本開示の範囲から逸脱することなく、任意のレベルの粒度で、任意の支払い関連(又は他の)情報を記憶することができることに留意されたい。
【0022】
図1に示すように、サーバコンピューティングデバイス102は、任意の数のユーザプロファイル106を所与のソフトウェアアプリケーション104に関連付けることができる。そのような関連付けは、例えば、所与のソフトウェアアプリケーション104と、少なくとも1つのクライアントコンピューティングデバイス114上にソフトウェアアプリケーション104をインストールしたユーザのユーザプロファイル106との間で形成され得る。図1には示されていないが、サーバコンピューティングデバイス102は、所与のユーザが異なるソフトウェアアプリケーション104のために異なる支払いクレデンシャル108を使用することを可能にする情報を管理することができる。例えば、ユーザは、第1のソフトウェアアプリケーション104に対する支払いを提供するために第1の支払いクレデンシャル108を利用し、第2のソフトウェアアプリケーション104に対する支払いを提供するために第2の支払いクレデンシャル108を利用することを好む場合がある。この点に関して、サーバコンピューティングデバイス102は、所与のソフトウェアアプリケーション104に関連付けられた各ユーザプロファイル106について、ソフトウェアアプリケーション104についてのユーザの好ましい支払いクレデンシャル108を示す情報を、例えば、ソフトウェアアプリケーション104、ユーザプロファイル106などと共に、記憶することができる。
【0023】
加えて、サーバコンピューティングデバイス102は、ユーザプロファイル106に関連付けられた支払いクレデンシャル108の有効性を評価する支払いクレデンシャルマネージャ110を実装するように構成することができる。場合によっては、支払いクレデンシャルマネージャ110は、所与の支払いクレデンシャル108の有効性を自己判定することができる。例えば、現在の日付が支払いクレデンシャル108の有効期限を超えている場合、支払いクレデンシャルマネージャ110は、支払いクレデンシャル108が無効であると確実に結論付けることができる。別の例では、利用可能枠、信用限度などが、来るべき支払い(例えば、支払われることになる来るべき加入料金)を満たすのに不十分である場合、支払いクレデンシャルマネージャ110は、支払いクレデンシャルが無効であると確実に結論付けることができる。
【0024】
他の場合には、支払いクレデンシャルマネージャ110は、支払いプロセッサ112とインタフェースして、支払いクレデンシャルが有効であるかどうかを判定することができる。例えば、支払いクレデンシャルマネージャ110は、所与の支払いクレデンシャル108を支払いプロセッサ112に提供して、支払いクレデンシャル108の有効性に関する指示を受信することができる。支払いクレデンシャル108のそのような提供は、例えば、定期的に、条件付きで、などで実行することができる。別の例では、支払いクレデンシャルマネージャ110は、所与の支払いクレデンシャル108が無効になったときに、支払いプロセッサ112によって通知され得る。そのような通知は、例えば、支払いクレデンシャルマネージャ110が、支払いプロセッサ112に従って無効である支払いクレデンシャル108を使用して取引を容易にしようと試みるときに発生する可能性がある。前述の例は、限定することを意味するものではなく、無効である支払いクレデンシャル108を効果的に識別するために、サーバコンピューティングデバイス102によって任意の手法が利用され得ることに留意されたい。
【0025】
いくつかの実施形態によれば、支払いクレデンシャルマネージャ110は、所与の支払いクレデンシャル108が無効であることを識別すると、問題を修正するために任意の数のアクションを取ることができる。図1に示されるように、そのようなアクションは、適切な場合、1つ以上の無効な支払いクレデンシャル指示118を提供することを含むことができる。例えば、サーバコンピューティングデバイス102は、無効な支払いクレデンシャル108によって影響を受ける1つ以上のソフトウェアアプリケーション104を識別することができる。識別された1つ以上のソフトウェアアプリケーション104は、例えば、加入料金、更新料金、アップグレード料金などを有するものを含むことができ、これらは、閾値期間内に支払われることになり、支払いのために支払いクレデンシャル108に依存する。次に、サーバコンピューティングデバイス102は、1つ以上のソフトウェアアプリケーション104がインストールされている1つ以上のクライアントコンピューティングデバイス114を識別することができる。その後、サーバコンピューティングデバイス102は、識別された1つ以上のクライアントコンピューティングデバイス114上のソフトウェアアプリケーションマネージャ116に無効な支払いクレデンシャル指示118を提供することができる。このようにして、本明細書でより詳細に説明するように、ソフトウェアアプリケーションマネージャ116は、問題を解決するための手段を提供するだけでなく、問題をユーザに効果的に通知することができる。
【0026】
図1に示されるコンピューティングデバイスの様々な構成要素は、簡略化のために高レベルで提示されていることを理解されたい。例えば、図1には示されていないが、様々なコンピューティングデバイスは、上述のソフトウェアエンティティが実装されることを可能にする共通のハードウェア/ソフトウェア構成要素を含むことができることを理解されたい。例えば、コンピューティングデバイスの各々は、1つ以上の揮発性メモリ(例えば、ダイナミックランダムアクセスメモリ(DRAM))及び1つ以上の記憶デバイス(例えば、ハードドライブ、ソリッドステートドライブ(SSD)等)と併せて、本明細書に説明される種々のソフトウェアエンティティが実行されることを可能にする、1つ以上のプロセッサを含むことができる。更に、コンピューティングデバイスの各々は、コンピューティングデバイスが(例えば、インターネットを使用して)互いの間で情報を送信することを可能にする通信構成要素を含むことができる。
【0027】
これらのハードウェア構成要素のより詳細な説明は、図5に関連して以下に提供される。コンピューティングデバイスは、本開示の範囲から逸脱することなく、本明細書で説明する様々な技術の実装を可能にする追加のエンティティを含むことができることを更に理解されたい。加えて、本明細書で説明されるエンティティは、本開示の範囲から逸脱することなく、組み合わせられるか、又は追加のエンティティに分割され得ることを理解されたい。本明細書で説明される様々なエンティティは、本開示の範囲から逸脱することなく、ソフトウェアベース又はハードウェアベースの手法を使用して実装され得ることを更に理解されたい。
【0028】
したがって、図1は、いくつかの実施形態による、システム100、特に、サーバコンピューティングデバイス102及びクライアントコンピューティングデバイス114が、本明細書に説明される種々の技術を実装することができる様式の概要を提供する。次に、これらの技術を実施することができる方法のより詳細な内訳を、図2図3A図3B、及び図4A図4Bに関連して以下で提供する。
【0029】
図2は、いくつかの実施形態による、ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術の詳細なシーケンス図を示す。図2に示すように、シーケンス図はステップ202から開始し、ここで、サーバコンピューティングデバイス102、例えば、サーバコンピューティングデバイス102上で実行される支払いクレデンシャルマネージャ110は、ソフトウェアアプリケーション104に関連付けられたユーザの支払いクレデンシャル108が無効であると判定する。支払いクレデンシャルマネージャ110は、本明細書で説明される技術のいずれかを使用して、例えば、無効を自己判定することによって、支払いプロセッサ112から指示を受信することによって、この判定を行うことができる。
【0030】
ステップ204において、支払いクレデンシャルマネージャ110は、ソフトウェアアプリケーション104がインストールされているクライアントコンピューティングデバイス114上で実行されているソフトウェアアプリケーションマネージャ116に、無効な支払いクレデンシャル108の指示を提供する。いくつかの実施形態によれば、指示は、ソフトウェアアプリケーション104にも関連付けられた一意の識別子に関連付けられ得る。簡単に言うと、簡略化のために、本明細書で説明される実施形態及び例は、主に、単一のクライアントコンピューティングデバイス114と対話するサーバコンピューティングデバイス102/支払いクレデンシャルマネージャ110について説明することに留意されたい。しかしながら、図1に関連して上述したように、支払いクレデンシャルマネージャ110は、ソフトウェアアプリケーション104がまたインストールされている他のクライアントコンピューティングデバイス114上の他のソフトウェアアプリケーションマネージャ116に指示を提供することができる。これは、ソフトウェアアプリケーション104が同じユーザの2つ以上のクライアントコンピューティングデバイス114上にインストールされるときに、ユーザがたまたま操作しているクライアントコンピューティングデバイス114のいずれか上の問題(以下で説明する)をユーザに通知することができるという点で有用であり得る。
【0031】
ステップ206において、ソフトウェアアプリケーションマネージャ116は、支払いクレデンシャルマネージャ110から指示を受信し、クライアントコンピューティングデバイス114にアクセス可能なストレージ(例えば、ローカルストレージ、ネットワークストレージ、クラウドストレージなど)に指示を記憶する。この場合も、指示が複数のクライアントコンピューティングデバイス114に送信されるとき、各クライアントコンピューティングデバイス114は、前述の手法(又はクライアントコンピューティングデバイス114の構成に適した代替手法)を使用して指示を記憶することができる。
【0032】
ステップ208で、ソフトウェアアプリケーション104は、クライアントコンピューティングデバイス114上にロードされ、及び/又は表示される。図2に示されるように、ソフトウェアアプリケーション104のロード及び/又は表示は、ソフトウェアアプリケーション104及びソフトウェアアプリケーションマネージャ116の両方を含むことができる。例えば、ソフトウェアアプリケーションマネージャ116は、(例えば、ソフトウェアアプリケーション104に関連付けられたアイコンの選択を通して)ソフトウェアアプリケーション104をロード及び/又は表示するための要求を受信し、次いで、要求を処理するために適切なアクションをとることができる。要求は、例えば、クライアントコンピューティングデバイス114のユーザがユーザインタフェースを利用して、(クライアントコンピューティングデバイス114の最後のリセットに対して)初めてソフトウェアアプリケーション104をロードし、(ロードされた後に)ソフトウェアアプリケーション104を表示するときなどに発行することができる。この点に関して、以下でより詳細に説明するように、ソフトウェアアプリケーションマネージャ116は、ステップ206に関連して記憶された指示に基づいて、ソフトウェアアプリケーション104がロード及び/又は表示されることに応じて追加のアクションがとられるべきかどうかを識別することができる。
【0033】
ステップ210において、ソフトウェアアプリケーションマネージャ116は、ソフトウェアアプリケーション104のロード及び/又は表示と併せて、(ステップ206において受信/記憶された)指示を識別する。識別は、例えば、ソフトウェアアプリケーション104に関連付けられた一意の識別子が、クライアントコンピューティングデバイス114上に記憶された指示のいずれかの一意の識別子と一致するかどうかを判定することによって達成され得る。次に、一致する識別子を有する指示を識別したことに応じて、ソフトウェアアプリケーションマネージャ116は、支払いクレデンシャル無効情報の要求を支払いクレデンシャルマネージャ110に発行する。
【0034】
ステップ212において、支払いクレデンシャルマネージャ110は、ソフトウェアアプリケーションマネージャ116に、支払いクレデンシャル無効情報を提供する。支払いクレデンシャル無効情報は、支払いクレデンシャル108に関する問題の性質をユーザに通知するのに有効な任意の粒度レベルの任意の情報を包含することができる。例えば、支払いクレデンシャル無効情報は、ウェブページへのユニフォームリソースロケータ(URL)を含むことができ、ウェブページは、クライアントコンピューティングデバイス114上でレンダリングされたときに、支払いクレデンシャル108に関する問題の性質を効果的に通信する。別の例では、支払いクレデンシャル無効情報は、ハイパーテキストマークアップ言語(HTML)コードを含むことができ、HTMLコードは、クライアントコンピューティングデバイス114上でレンダリングされると、支払いクレデンシャル108に関する問題の性質を効果的に通信するウェブページを構成する。更に別の例では、支払いクレデンシャル無効情報は、クライアントコンピューティングデバイス114上でレンダリングされたときに、支払いクレデンシャル108に関する問題の性質を効果的に通信する画像、ビデオ、インタラクティブユーザインタフェースなどを構成するバイナリ(例えば、blob)情報を含むことができる。前述の例は限定を意図するものではなく、支払いクレデンシャル無効情報は、本開示の範囲から逸脱することなく、支払いクレデンシャルに関する問題の性質を通信するのに有効な任意の形態をとることができることに留意されたい。
【0035】
加えて、支払いクレデンシャル無効情報は、ユーザが支払いクレデンシャルに関する問題を緩和することを可能にするのに有効な任意の粒度レベルの任意の情報を包含することができる。例えば、支払いクレデンシャル無効情報は、クライアントコンピューティングデバイス114上にレンダリングされたときに、ユーザが支払いクレデンシャル108を更新すること、新しい支払いクレデンシャル108を提供することなどを可能にするウェブページへのURLを含むことができる。別の例では、支払いクレデンシャル無効情報は、クライアントコンピューティングデバイス114上でレンダリングされたときに、ユーザが支払いクレデンシャル108を更新すること、新しい支払いクレデンシャル108を提供することなどを可能にするウェブページを構成するHTMLコードを含むことができる。更に別の例では、支払いクレデンシャル無効情報は、クライアントコンピューティングデバイス114上でレンダリングされたときに、ユーザが支払いクレデンシャル108を更新すること、新しい支払いクレデンシャル108を提供することなどを可能にするインタラクティブユーザインタフェースを構成するバイナリ(例えば、blob)情報を含むことができる。前述の例は限定を意図するものではなく、支払いクレデンシャル無効情報は、本開示の範囲から逸脱することなく、ユーザが支払いクレデンシャル108に関する問題を緩和することを効果的に可能にするために使用することができる任意の形態をとることができることに留意されたい。
【0036】
支払いクレデンシャル無効情報は、本開示の範囲から逸脱することなく、任意の手法を使用してフォーマットされ得ることに留意されたい。例えば、各ソフトウェアアプリケーション104は、支払いクレデンシャル無効情報をフォーマットすることができる個々のテンプレートに関連付けることができる。別の例では、特定のテンプレートを特定のタイプのソフトウェアアプリケーション104に使用することができ、例えば、第1のテンプレートをサブスクリプションベースのソフトウェアアプリケーション104に使用することができ、第2のテンプレートをアプリ内購入を提供するソフトウェアアプリケーション104に使用することができる、などである。前述の例は限定的であることを意図しておらず、サーバコンピューティングデバイス102は、本開示の範囲から逸脱することなく、任意のレベルの粒度/特異性で任意の数のテンプレート(など)を利用することができることに留意されたい。
【0037】
簡単に言うと、図2には示されていないが、支払いクレデンシャルマネージャ110は、支払いクレデンシャル無効情報を提供する前に、(例えば、ステップ202を再実行することによって)支払いクレデンシャル108が依然として無効であるかどうかを冗長的に判定することができる。これは、ステップ202とステップ210との間の任意の時点で支払いクレデンシャル108が無効から有効に移行するシナリオにおいて有益であり得る。このような移行は、例えば、アカウント凍結が解除されたとき、ギフトカード残高が増やされたとき、利用可能なクレジット限度が増やされたときなどに起こり得る。これが発生した場合/時に、支払いクレデンシャルマネージャ110は、ステップ212において、代わりに、支払いクレデンシャル108が有効であるという指示を提供することができる。次に、ソフトウェアアプリケーションマネージャ116は、ストレージから指示を削除することができ、図2のシーケンス図の残りのステップは無視することができる。
【0038】
ここで図2に戻ると、ステップ214において、ソフトウェアアプリケーションマネージャ116は、ソフトウェアアプリケーション104に対して、支払いクレデンシャル無効情報を表示する許可の要求を発行する。要求は、クライアントコンピューティングデバイス114上のソフトウェアエンティティが互いに通信することを可能にするのに有効な任意の手法を使用して、ソフトウェアアプリケーション104に提供され得る。例えば、ソフトウェアアプリケーションマネージャ116/ソフトウェアアプリケーション104は、(1)ソフトウェアアプリケーションマネージャ116が要求をソフトウェアアプリケーション104に送信すること、及び(2)ソフトウェアアプリケーション104が要求を受信/解釈することを可能にする、ソフトウェア開発キット(SDK)、アプリケーションプログラミングインタフェース(API)などを実装することができる。有益なことに、そのような要求は、ソフトウェアアプリケーション104に関連付けられた許可されたエンティティ(例えば、開発者、ディストリビュータなど)に、支払いクレデンシャル無効情報の表示を抑制する能力を提供することができる。これは、例えば、認可されたエンティティが、ソフトウェアアプリケーション104の特徴、その価格設定などを強化する計画を有するときに有用であり得、更新が行われた後に支払いについてユーザを促すことは、支払いが行われ得るようにユーザが支払いクレデンシャル108を更新することになる可能性が高い。
【0039】
次に、ステップ216において、ソフトウェアアプリケーション104は、ソフトウェアアプリケーションマネージャ116に許可を与える。いくつかの実施形態によれば、ソフトウェアアプリケーション104は、ステップ214に関連して上述した要求を送信するために使用されるのと同じ(又は異なる)手法を使用して許可を与えることができる。ソフトウェアアプリケーション104が許可を拒否するとき、ソフトウェアアプリケーションマネージャ116は、様々なアクションを取ることができることに留意されたい。一例では、ソフトウェアアプリケーションマネージャ116は、ステップ208が行われるたびにステップ210~214が実行されるように、指示をストレージ内に維持することができる。別の例では、ソフトウェアアプリケーションマネージャ116は、許可の拒否を考慮して、ソフトウェアアプリケーション104がロード/表示されるたびに、ソフトウェアアプリケーション104を定期的に(例えば、毎回、1回おきなどに)促すことを選択することができる。前述の例は、限定することを意味するものではなく、ソフトウェアアプリケーションマネージャ116は、本開示の範囲から逸脱することなく、ソフトウェアアプリケーション104から拒否を受信することに応じて、任意の形態で任意のアクションを取ることができることに留意されたい。
【0040】
ステップ218において、ソフトウェアアプリケーションマネージャ116は、支払いクレデンシャル無効情報を表示するようにソフトウェアアプリケーション104に命令する。このステップは、それぞれステップ214/216に関連して上記で説明した要求/許可を送信するために使用される同じ(又は異なる)手法を使用して実装され得る。
【0041】
ステップ220において、ソフトウェアアプリケーションマネージャ116/ソフトウェアアプリケーション104は、ソフトウェアアプリケーション104からサンドボックス化されたユーザインタフェースを介して、(1)支払いクレデンシャル無効情報、及び(2)無効性を緩和するための手法(すなわち、機構)を表示する。簡単に言うと、本明細書で説明するように、ソフトウェアアプリケーション104からユーザインタフェースをサンドボックス化することは、ソフトウェアアプリケーション104がユーザインタフェース内で行われるアクティビティを閲覧することを禁止することを伴う。そのようなアクティビティは、例えば、支払いクレデンシャル無効情報を表示すること、入力(例えば、更新された支払いクレデンシャル)を受信することなどを含むことができる。このようにして、ソフトウェアアプリケーション104は、(例えば、ステップ214及び216によって)課金問題が発生しているが、課金問題の特定の性質、並びにユーザインタフェースを介して追求される任意の是正手段について知らされていないままであることを理解することができる。
【0042】
本明細書で説明するサンドボックス化制限を達成するために、第1の例示的な手法は、支払いクレデンシャル無効情報をソフトウェアアプリケーション104のユーザインタフェースのウィンドウ内に(例えば、オーバーレイとして)表示させることを含むことができる。これは、例えば、ソフトウェアアプリケーション104がアクセス権を有していないウィンドウの表示をソフトウェアアプリケーション104が許可することを(例えば、本明細書で説明するAPI、SDKなどを通じて)命令することによって達成することができる。別の例では、ステップ220は、ソフトウェアアプリケーションマネージャ116、クライアントコンピューティングデバイス114のオペレーティングシステムなどによって制御されるユーザインタフェースなど、ソフトウェアアプリケーション104とは別個の異なるユーザインタフェース内に支払いクレデンシャル無効情報を表示させることを含むことができる。この手法の下で、ソフトウェアアプリケーション104は、ユーザインタフェースがソフトウェアアプリケーション104の範囲外で管理されている場合、ユーザインタフェースにアクセスすることを当然ながら禁止される。前述の例は限定を意味するものではなく、支払いクレデンシャル無効情報をクライアントコンピューティングデバイス114のユーザに効果的に表示するために任意の手法を利用することができることに留意されたい。
【0043】
ステップ222において、ソフトウェアアプリケーションマネージャ116は、更新された支払いクレデンシャル情報を支払いクレデンシャルマネージャ110に提供する。いくつかの実施形態によると、ステップ222は、ソフトウェアアプリケーションマネージャ116が、ステップ220と併せて表示されるユーザインタフェースを通して、更新された支払いクレデンシャル情報を受信することに応じて実行され得る。しかしながら、図2のシーケンス図は、220のユーザインタフェースがURLにリンクされたウェブページを表示するときに修正することができることに留意されたい。そのような手法の下では、更新された支払いクレデンシャルは、代替エンティティによって受信され、それによって、ステップ222が実装される必要性を除去する。代わりに、支払いクレデンシャルマネージャ110は、代替エンティティから更新された支払いクレデンシャルを受信し、必要に応じて、図2のシーケンス図の残りのステップを実行することができる。
【0044】
ステップ224において、支払いクレデンシャルマネージャ110は、更新された支払いクレデンシャル情報が有効であることを検証するために、1つ以上の支払いプロセッサ112とインタフェースする。本明細書で説明されるように、このステップは、例えば、更新された支払いクレデンシャル情報に対して、期限が到来する支払いの課金を試みること、更新された支払いクレデンシャル情報が将来の期限が到来する支払いに対して有効であるという確認を要求することなどを含むことができる。前述の例は、限定することを意味するものではなく、本開示の範囲から逸脱することなく、課金問題のコンテキストに対して更新された支払いクレデンシャル情報を有効にするために任意の手法が使用され得ることに留意されたい。
【0045】
ステップ226において、支払いクレデンシャルマネージャ110は、更新された支払いクレデンシャル情報が有効であるという指示をソフトウェアアプリケーションマネージャ116に提供する。次に、ステップ228において、支払いクレデンシャルマネージャ110/ソフトウェアアプリケーション104は、更新された支払いクレデンシャル情報が有効であるという通知を(ステップ220に関連して上述した)ユーザインタフェース内に表示する。ステップ230において、ソフトウェアアプリケーションマネージャ116は、ステップ206に関連して記憶された指示を削除する。ステップ204において提供された指示が2つ以上のクライアントコンピューティングデバイス114に提供されるとき、1つのクライアントコンピューティングデバイス114における指示の削除は、他のクライアントコンピューティングデバイス114にも指示を除去させ得る(例えば、直接通信を通して、サーバコンピューティングデバイス102を通して、など)ことに留意されたい。このようにして、ソフトウェアアプリケーション104の後続のロード及び/又は表示が行われたときに、ソフトウェアアプリケーション104に課金問題が不正確に通知されることはない。
【0046】
更に、支払いクレデンシャルマネージャ110が、支払いプロセッサ112から、更新された支払いクレデンシャル情報が無効であるという指示を受信した場合、ステップ226~228に対する適切な調整を実施することができることに留意されたい。特に、ステップ226において、支払いクレデンシャルマネージャ110は、更新された支払いクレデンシャルが無効であるという指示をソフトウェアアプリケーションマネージャ116に提供することができる。次に、ステップ228において、支払いクレデンシャルマネージャ110/ソフトウェアアプリケーション104は、更新された支払いクレデンシャル情報が無効であるという通知を(ステップ220に関連して上述した)ユーザインタフェース内に表示し、適切な訂正を提供できるようにすることもできる。そのような訂正が提供されるとき、ステップ222~228は、有効な更新された支払いクレデンシャル情報が取得されるまで再実行され得る。次に、ステップ230において、本明細書に記載のように、ソフトウェアアプリケーションマネージャ116は、ステップ206に関連して記憶された指示を削除することができる。
【0047】
したがって、図2は、いくつかの実施形態による、ソフトウェアアプリケーションに結び付けられたエラーを緩和するための技術の詳細なシーケンス図を示す。以下で説明される図3は、いくつかの実施形態による、サーバコンピューティングデバイス102/支払いクレデンシャルマネージャ110によって実装され得るステップの高レベル方法図を示す。以下でも説明する図4は、いくつかの実施形態による、クライアントコンピューティングデバイス114/ソフトウェアアプリケーションマネージャ116によって実装され得るステップの高レベル方法図を示す。最後に、図4A図4Bは、いくつかの実施形態による、本明細書で説明される技術に従って実装することができる例示的なユーザインタフェースの概念図を示す。
【0048】
図3Aは、いくつかの実施形態による、ソフトウェアアプリケーションに結び付けられたエラーを緩和するための方法300を示す。図3に示すように、方法300はステップ302で開始し、サーバコンピューティングデバイス102(例えば、その上で実行される支払いクレデンシャルマネージャ110)は、ソフトウェアアプリケーションに関連付けられた支払いを処理するための無効な支払いクレデンシャルを有するソフトウェアアプリケーションのユーザを識別する(例えば、図2のステップ202に関連して上述した技術に従って)。本明細書で説明されるように、サーバデバイスは、少なくとも1つの問題を自己検出することによって、少なくとも1つの問題を検出するために支払いプロセッサとインタフェースすることなどによって、無効な支払いクレデンシャルを識別することができる。ステップ304において、サーバコンピューティングデバイス102は、(例えば、図2のステップ202に関連して上述した技術に従って)ユーザに関連付けられ、ソフトウェアアプリケーションがインストールされている少なくとも1つのクライアントデバイスを識別する。
【0049】
ステップ306において、サーバコンピューティングデバイス102は、少なくとも1つのクライアントデバイスに、(例えば、図2のステップ204に関連して上述した技術による)無効な支払いクレデンシャルの指示を提供する。いくつかの実施形態によれば、指示は、ソフトウェアアプリケーションがロード及び/又は表示されるまで、ソフトウェアアプリケーションに指示をキャッシュさせる。本明細書で説明されるように、指示は、最終的に、少なくとも1つのクライアントデバイス上にロード及び/又は表示されることに関連して、ソフトウェアアプリケーションに、指示から導出された情報を含むユーザインタフェースを表示させることができ、(例えば、図2のステップ208から220に関連して上述した技術に従って)ユーザインタフェースは、ソフトウェアアプリケーションがユーザインタフェース内で発生するアクティビティを観察するのを防止するようにソフトウェアアプリケーションからサンドボックス化される。
【0050】
いくつかの実施形態によれば、情報は、無効な支払いクレデンシャルに関連付けられた少なくとも1つの問題を記述し、少なくとも1つの問題は、無効な支払いクレデンシャルに関連付けられた無効な課金情報、不十分な資金、又は不十分な利用可能なクレジットのうちの少なくとも1つを含む。いくつかの実施形態によれば、ユーザインタフェースは、ユーザが、有効な支払いクレデンシャル情報を提供することによって、無効な支払いクレデンシャルを有効な支払いクレデンシャルに置き換えることを可能にし、アクティビティは、ユーザが有効な支払いクレデンシャル情報を提供することを含む。
【0051】
いくつかの実施形態によれば、図3Aには示されていないが、方法300は、ソフトウェアアプリケーションが、経過したときにソフトウェアアプリケーションにユーザインタフェースを表示させる特定の期間の間、ユーザインタフェースを抑制することを可能にする追加のステップを含むことができる。
【0052】
図3Bは、いくつかの実施形態による、ソフトウェアアプリケーションに結び付けられたエラーを緩和するための方法350を示す。図3に示すように、方法350はステップ352で開始し、クライアントコンピューティングデバイス114(例えば、その上で実行されるソフトウェアアプリケーションマネージャ116)は、サーバデバイスから、クライアントデバイスにインストールされたソフトウェアアプリケーションに関連付けられた無効な支払いクレデンシャルの指示を(例えば、図2のステップ204に関連して上述した技術に従って)受信する。
【0053】
ステップ354において、クライアントコンピューティングデバイス114は、(例えば、図2のステップ206に関連して上述した技術に従って)指示を記憶する。ステップ356において、クライアントコンピューティングデバイス114は、(例えば、図2のステップ208に関連して上述した技術による)ソフトウェアアプリケーションの起動及び/又は表示を検出する。
【0054】
ステップ358において、クライアントコンピューティングデバイス114は、(例えば、図2のステップ214に関連して上述した技術による)無効な支払いクレデンシャルの指示に関連付けられた情報を表示する許可をソフトウェアアプリケーションに促す。ステップ360において、クライアントコンピューティングデバイス114は、(例えば、図2のステップ214及び216に関連して上述した技術による)許可が受信されたかどうかを判定する。ステップ360において、クライアントコンピューティングデバイス114が、許可が受信されたと判定した場合、方法350は、(例えば、図2のステップ214及び216に関連して上述した技術による)ステップ362に進む。そうでない場合、方法350は、(例えば、図2のステップ214及び216に関連して上記で説明した技術による)ステップ356に戻る。
【0055】
ステップ362において、クライアントコンピューティングデバイス114は、ソフトウェアアプリケーションに、情報を含むユーザインタフェースを表示させ、ユーザインタフェースは、(例えば、図2のステップ220に関連して上述した技術による)ソフトウェアアプリケーションがユーザインタフェース内で発生するアクティビティを観察することを防止するように、ソフトウェアアプリケーションからサンドボックス化される。加えて、図3Bには示されていないが、方法350は、(1)サーバデバイスから、無効な支払いクレデンシャルが有効な支払いクレデンシャルに置き換えられたという第2の指示を受信することと、(2)(例えば、図2のステップ226~230に関連して上述した技術による)キャッシュから指示を削除することと、を含むことができる。
【0056】
図4A図4Bは、いくつかの実施形態による、クライアントコンピューティングデバイス114上に表示され得る例示的なユーザインタフェースの概念図400を示す。特に、ユーザインタフェース402は、図2のステップ208が実装されることと併せて、クライアントコンピューティングデバイス114において表示され得る。次に、ユーザインタフェース404は、図2のステップ202~220が実装されることと併せて、クライアントコンピューティングデバイス114において表示され得る。更に、ユーザインタフェース406は、実装されている図2のステップ222及び224と併せて、クライアントコンピューティングデバイス114において表示され得る。更に、ユーザインタフェース408は、実装されている図2のステップ228及び230と併せて、クライアントコンピューティングデバイス114において表示され得る。図4A図4Bに示されるユーザインタフェースは、限定することを意味するものではなく、本明細書で説明されるユーザインタフェースは、本開示の範囲から逸脱することなく、任意の形態の情報を表示するために、任意の手法を使用して実装され得ることに留意されたい。
【0057】
図5は、いくつかの実施形態による、本明細書で説明する各種構成要素を実行するために使用することができるコンピューティングデバイス500の詳細図を示す。特に、詳細図は、図1に関連して上述されたサーバコンピューティングデバイス102、支払いプロセッサ112、及びクライアントコンピューティングデバイス114に含まれ得る様々な構成要素を示す。
【0058】
図5に示すように、コンピューティングデバイス500は、コンピューティングデバイス500の動作全般を制御するためのマイクロプロセッサ又はコントローラを表すプロセッサ502を含むことができる。コンピューティングデバイス500はまた、コンピューティングデバイス500のユーザがコンピューティングデバイス500と相互作用することを可能にするユーザ入力デバイス508を含むことができる。例えば、ユーザ入力デバイス508は、ボタン、キーパッド、ダイヤル、タッチスクリーン、オーディオ入力インタフェース、ビジュアル/画像キャプチャ入力インタフェース、センサデータなどの形態の入力などの、様々な形態をとり得る。更に、コンピューティングデバイス500は、ユーザに情報を表示するために、プロセッサ502によって制御することができるディスプレイ510(スクリーンディスプレイ)を含むことができる。データバス516は、少なくとも、記憶デバイス540とプロセッサ502と及びコントローラ513との間のデータ転送を容易にすることができる。コントローラ513は、機器制御バス514を介して異なる機器とインタフェース接続し、それらを制御するために使用することができる。コンピューティングデバイス500はまた、データリンク512に結合するネットワーク/バスインタフェース511を含むことができる。無線接続の場合には、ネットワーク/バスインタフェース511は、無線送受信機を含むことができる。
【0059】
コンピューティングデバイス500は、記憶デバイス540をも含む。このデバイスは、ディスク(単数又は複数)(例えば、SSD)を含むことができ、記憶デバイス540内の1つ以上のパーティションを管理する記憶管理モジュールを含む。いくつかの実施形態では、記憶デバイス540は、フラッシュメモリ、半導体(ソリッドステート)メモリなどを含むことができる。コンピューティングデバイス500はまた、ランダムアクセスメモリ(RAM)520及び読み出し専用メモリ(ROM)522を含むことができる。ROM522は、実行すべきプログラム、ユーティリティ、又はプロセスを、不揮発性方式で記憶することができる。RAM520は、揮発性のデータ記憶デバイスを提供し、本明細書に記載のコンピューティングデバイスの動作に関連する命令を記憶することができる。
【0060】
説明した実施形態の様々な態様、実施形態、実装形態、又は特徴は、個別に又は任意の組み合わせで用いることができる。説明した実施形態の様々な態様をソフトウェア、ハードウェア、又はハードウェアとソフトウェアとの組み合わせにより実装することができる。説明した実施形態はまた、コンピュータ可読媒体上のコンピュータ可読コードとして実施することもできる。このコンピュータ可読媒体は、コンピュータシステムによって読み込むことが可能なデータを記憶することができる、任意のデータ記憶デバイスである。コンピュータ可読媒体の例としては、読み出し専用メモリ、ランダムアクセスメモリ、CD-ROM、DVD、磁気テープ、ハードディスクドライブ、ソリッドステートドライブ及び光学的データ記憶装置が挙げられる。コンピュータ可読コードが分散形式で格納及び実行されるように、コンピュータ可読媒体をネットワークに結合されたコンピュータシステムにわたって分散させることもできる。
【0061】
前述の記載では、説明のために、記載された実施形態の完全な理解をもたらすために特定の専門用語を用いた。しかしながら、記載された実施形態を実践するために具体的な詳細が必要とされないことは、当業者には明らかであろう。それゆえ、上述の具体的な実施形態の説明は、例示及び説明の目的のために提示される。それらの説明は、網羅的であることも、又は開示される厳密な形態に、説明した実施形態を限定することも意図するものではない。上記の教示を考慮して多くの修正及び変形が可能であることが、当業者には明らかであろう。
図1
図2
図3A
図3B
図4A
図4B
図5
【外国語明細書】