(57)【要約】購入品のデジタル・レシートが、多様な技術を用いて管理され得る。デジタル・レシートは、コンピューティング・デバイス上で実行されているアプリケーションにより取得され、オフラインであるとき等のサーバに接続されていないときに、認証され得る。デジタル・レシートは、他の理由でネットワークに接続されているとき等に効率的に同期され得る。最終同期タイムスタンプが取得され、サーバ環境に送信され得る。最終同期タイムスタンプ以降の新しい且つ／あるいは更新されたデジタル・レシートが受信され得る。
2015531501.tif 000002
【特許請求の範囲】
【請求項１】
購入品のデジタル・レシートを管理するための、モバイル・コンピューティング・デバイスにより少なくとも部分的に実施される方法であって、
オフラインであるときに、前記モバイル・コンピューティング・デバイスにより：
前記モバイル・コンピューティング・デバイス上で実行されているローカル・アプリケーションから、前記ローカル・アプリケーションに関連付けられたデジタル・レシートのリクエストを受信するステップと、
前記モバイル・コンピューティング・デバイスのレシート・ストアから、前記ローカル・アプリケーションに関連付けられたデジタル・レシートを取得するステップと、
前記の取得したデジタル・レシートを前記ローカル・アプリケーションに提供するステップと、
を含み、
前記の取得したデジタル・レシートは、前記モバイル・コンピューティング・デバイスにより、ローカルで認証される、方法。
【請求項２】
前記の取得したデジタル・レシートは、前記の取得したデジタル・レシートに関連付けられた１以上のデジタル署名を用いて、前記モバイル・コンピューティング・デバイスにより、ローカルで認証される、請求項１記載の方法。
【請求項３】
オフラインであるときに、前記モバイル・コンピューティング・デバイスにより：
前記モバイル・コンピューティング・デバイスのレシート・サービスを用いて、前記の取得したデジタル・レシートを認証する認証ステップ
をさらに含む、請求項１記載の方法。
【請求項４】
前記認証ステップの結果に基づいて、前記の取得したデジタル・レシートが本物であると判定するステップと、
前記の本物のデジタル・レシートに関連付けられたコンテンツを引き換えるステップと、
をさらに含む、請求項３記載の方法。
【請求項５】
前記ローカル・アプリケーションに関連付けられた１以上の購入トランザクションを決定するために、前記の取得したデジタル・レシートは、前記ローカル・アプリケーションにより処理される、請求項１記載の方法。
【請求項６】
前記１以上の購入トランザクションは、前記ローカル・アプリケーションにより使用されるコンテンツの購入に関するものであり、前記コンテンツは、永続的コンテンツ及び消耗コンテンツのうちの１つである、請求項５記載の方法。
【請求項７】
オフラインであるときに、前記モバイル・コンピューティング・デバイスにより：
リモート・サーバから前記デジタル・レシートを受信する受信ステップであって、前記デジタル・レシートは、デジタル署名を用いて署名されている、受信ステップと、
前記デジタル・レシートを前記レシート・ストアに記憶するステップと、
をさらに含む、請求項１記載の方法。
【請求項８】
前記デジタル・レシートは、メタ・データを含み、前記メタ・データは、一意な購入識別子、一意なユーザ識別子、及び一意なモバイル・コンピューティング・デバイス識別子を含む、請求項１記載の方法。
【請求項９】
購入品のデジタル・レシートを管理するための、モバイル・コンピューティング・デバイスにより少なくとも部分的に実施される方法であって、
前記モバイル・コンピューティング・デバイスにより、差分同期を実行する実行ステップ
を含み、
前記実行ステップは、
最終同期タイムスタンプを取得するステップと、
前記最終同期タイムスタンプをサーバ環境に送信するステップと、
前記サーバ環境から１以上のデジタル・レシートを受信する受信ステップであって、前記１以上のデジタル・レシートは、前記最終同期タイムスタンプ以後の新しいものである、且つ／あるいは、前記最終同期タイムスタンプ以後に更新されたものである、受信ステップと、
前記の受信した１以上のデジタル・レシートを、前記モバイル・コンピューティング・デバイスのレシート・ストアに保存するステップと、
を含む、方法。
【請求項１０】
サーバ・システムであって、
１以上の処理装置と、
メモリと、
コンピュータ実行可能命令を記憶した１以上のコンピュータ読み取り可能記憶媒体であって、前記コンピュータ実行可能命令は、当該サーバ・システムに、購入品のデジタル・レシートを管理するためのオペレーションを実行させ、前記オペレーションは、
モバイル・コンピューティング・デバイスから、前記モバイル・コンピューティング・デバイス上のアプリケーションに関連する購入リクエストを受信することであって、前記購入リクエストは、前記モバイル・コンピューティング・デバイス上の前記アプリケーションのための永続的コンテンツ及び消耗コンテンツのうちの１つに関するものである、受信することと、
前記購入リクエストに応答して、前記購入品のデジタル署名されたデジタル・レシートを前記モバイル・コンピューティング・デバイスに送信することと、
を含み、前記デジタル署名されたデジタル・レシートは、前記モバイル・コンピューティング・デバイスが当該サーバ・システムに接続されていないとき、前記モバイル・コンピューティング・デバイスにおける前記購入品の認証をサポートする、１以上のコンピュータ読み取り可能記憶媒体と、
を備えた、サーバ・システム。
【発明の詳細な説明】
【背景技術】
【０００１】
モバイル・ソフトウェア・アプリケーション等のソフトウェア・アプリケーションは、そのアプリケーションのユーザが、そのアプリケーションとともに使用するためのデジタル・グッズを購入する機能を含み得る。例えば、ゲーム・アプリケーションは、ユーザがゲーム内アイテム（in-game  item）を購入する機能を含み得る。同様に、音楽アプリケーションは、ユーザが音楽を購入する機能を含み得る。
【０００２】
ソフトウェア販売者は、顧客の身元を確認して、顧客がデジタル・グッズの代金を支払ったことを検証する方法を必要としている。モバイル・デバイスが断続的に接続される状況において、ソフトウェア開発者は、インタネットへの永続的な又は持続的な接続を要することなく顧客が購入した製品及びサービスを提供できることが重要であり得る。
【０００３】
そのようなデジタル・グッズが合法的に購入されたことを確実にするために、ソフトウェア・アプリケーションは、サーバに接続することにより、購入情報を検証することができる。しかしながら、ソフトウェア・アプリケーションがサーバに接続することができない場合、購入情報を検証することができない。
【０００４】
したがって、デジタル・レシートの管理に関連する技術における十分な改善の機会が存在する。
【発明の概要】
【０００５】
この概要は、発明を実施するための形態において以下でさらに説明されるコンセプトのうち選択したものを簡略化した形で紹介するために提供される。この概要は、特許請求される主題の主要な特徴又は必要不可欠な特徴を特定することを意図するものではないし、特許請求される主題の範囲を限定するために使用されることを意図するものでもない。
【０００６】
購入されたコンテンツ（例えば、デジタル・グッズ及び／又はサービス）のデジタル・レシートを管理するための技術及びツールが説明される。例えば、デジタル・レシートは、モバイル・デバイスにおいて、同期させてローカルに記憶することができる。モバイル・デバイスがオフラインである場合、デジタル・レシートは、モバイル・デバイスにより認証することができる（例えば、認証は、サーバへの接続を要することなく実行することができる）。
【０００７】
例えば、購入品のデジタル・レシートを管理するための方法が提供され得る。この方法は、モバイル・コンピューティング・デバイス上で実行されているローカル・アプリケーションから、ローカル・アプリケーションに関連付けられたレシートのリクエストを受信するステップと、モバイル・コンピューティング・デバイスのレシート・ストア（receipt  store）から、ローカル・アプリケーションに関連付けられたレシートを取得するステップと、取得したレシートをローカル・アプリケーションに提供するステップとを含む。モバイル・コンピューティング・デバイスがオフラインである場合、取得したレシートは、モバイル・コンピューティング・デバイスにより、ローカルで認証される。
【０００８】
別の例として、購入品のデジタル・レシートを管理するための方法が提供され得る。この方法は、モバイル・コンピューティング・デバイスにより、差分同期（delta  sync）を実行する実行ステップを含む。実行ステップは、最終同期タイムスタンプを取得するステップと、最終同期タイムスタンプをサーバ環境に送信するステップと、サーバ環境から１以上のレシートを受信する受信ステップであって、１以上のレシートは、最終同期タイムスタンプ以後の新しいものである、且つ／あるいは、最終同期タイムスタンプ以後に更新されたものである、受信ステップと、受信した１以上のレシートをレシート・ストアに保存するステップとを含む。
【０００９】
別の例として、処理装置及びメモリを備えた、本明細書で説明するオペレーションを実行するサーバ・システムが提供され得る。例えば、デジタル署名を用いてデジタル・レシートに署名すること、デジタル・レシートをモバイル・コンピューティング・デバイスに提供すること、同期リクエストに応答すること等を行うサーバ・システムが提供され得る。
【００１０】
本明細書で説明するように、多様な他の特徴及び利点が、必要に応じて、この技術に組み込まれ得る。
【図面の簡単な説明】
【００１１】
【図１】デジタル・レシートを管理するための例示的な環境のブロック図。
【図２】オフライン認証をサポートする、デジタル・レシートを管理するための例示的な方法のフローチャート。
【図３】デジタル・レシートを同期させるための例示的な方法のフローチャート。
【図４】購入を行い、デジタル・レシートを生成するための例示的な制御フローの図。
【図５】デジタル・レシートを同期させるための例示的な制御フローの図。
【図６】いくつかの説明する実施形態を実装することができる例示的なコンピューティング・システムの図。
【図７】本明細書で説明する技術とともに使用することができる例示的なモバイル・デバイス。
【図８】本明細書で説明する技術とともに使用することができる例示的なクラウド・サポート環境。
【発明を実施するための形態】
【００１２】
例１−概要
本明細書で説明するように、様々な技術及びソリューションをデジタル・レシートの管理に適用することができる。例えば、デバイス（例えば、モバイル・コンピューティング・デバイス）がオフラインである場合、デジタル・レシートを認証することができる。デジタル・レシートはまた、デバイスとサーバ環境との間で同期させることができる。
【００１３】
デバイスがオフラインである場合にデジタル・レシートを管理することは、サーバ等の別のデバイスへの接続（例えば、インタネット接続）を要することなくデジタル・レシートをローカルで管理するデバイスの能力を指す。例えば、デバイスが、デジタル・レシートをオフラインで認証する場合、デバイスは、（例えば、Ｗｉ−Ｆｉ（登録商標）ネットワーク又はセルラ・ネットワーク等の無線ネットワーク接続を介して）外部デバイスに接続することなく、（例えば、デバイス上で実行されているレシート・サービス（receipt  service）及び／又はアプリケーションにより）デジタル・レシートをローカルで認証する。デバイスがネットワークに接続されているときでも（例えば、Ｗｉ−Ｆｉ（登録商標）ネットワーク又はセルラ・ネットワークに接続されているときでも）、デバイスが、オフライン・オペレーション（例えば、認証オペレーション）を実行するためにネットワークを使用していない場合（例えば、リモート・サーバに接続していない場合）、デバイスは、デジタル・レシートをオフラインで管理することができる（例えば、認証等のオフライン・デジタル・レシート・オペレーションを実行することができる）。
【００１４】
デジタル・レシートは、アプリケーション（例えば、モバイル・デバイス上で実行されるローカル・アプリケーション）に関連するコンテンツの購入等の購入品（例えば、トランザクション）のレシートであり得る。コンピューティング・デバイス（例えば、携帯電話機、タブレット、又は他のタイプのモバイル・コンピューティング・デバイス）上で実行されるソフトウェア・アプリケーションは、独立ソフトウェア・ベンダ（ＩＳＶ）により提供され得る。ＩＳＶは、ソフトウェア・アプリケーションを開発又は販売するエンティティを指し得る。
【００１５】
レシートは、デジタル署名を用いて署名され得る。レシートは、エンティティ（例えば、信頼できるエンティティ）により署名され得る。例えば、レシートは、モバイル・コンピューティング・デバイスのオペレーティング・システム・プロバイダによりデジタル署名され得る。
【００１６】
例２−デジタル・レシート
本明細書における例において、デジタル・レシートとは、購入品又はトランザクションを識別し、且つデジタル認証及び／又は検証をサポートするデジタル・フォーマットの任意のタイプのドキュメントを指す。例えば、デジタル・レシートは、アプリケーションとともに使用するための購入されたコンテンツのレシートであり得る。コンテンツは、アプリケーションにより、アプリケーション・ストアから購入され得る。
【００１７】
デジタル・レシートは、購入品を説明する情報（例えば、メタ・データ）を含み得る。例えば、以下のタイプの情報のうちの１以上が、レシートに含まれ得る：
−購入品の一意な識別子（例えば、一意なトランザクション識別子）
−購入されたコンテンツの識別子
−購入が行われたデバイスの一意な識別子
−購入を行ったユーザの一意な識別子（例えば、一意なアカウント識別子）
−購入価格、購入されたコンテンツのタイプ（例えば、消耗コンテンツ（consumable  content）又は永続的コンテンツ（durable  content））といった、購入に関連する他の情報、等
【００１８】
一意な識別子は匿名化され得る。例えば、（例えば、ユーザ及びデバイスの）一意な識別子は、ユーザのプライバシを保護するために、匿名化され得る。
【００１９】
例３−デジタル・レシートの認証
本明細書における例において、デジタル・レシートは認証され得る。例えば、デジタル・レシートは、デジタル署名を用いて署名され得る（例えば、ソフトウェア・メーカ又はオペレーティング・システム・プロバイダ等の信頼できるエンティティにより署名され得る）。その後、デジタル・レシートは、デジタル署名を少なくとも部分的に用いて、認証され得る。
【００２０】
認証は、デジタル・レシートに関連付けられたデジタル署名を認証することにより実行され得る。認証を実行するために、様々なタイプの認証システム及びデジタル署名が使用され得る。特定の実施例において、デジタル署名及び認証は、ＸＭＬ署名（ＸＭＬ−ＤＳｉｇ）を用いて実装される。ＸＭＬ署名（ＸＭＬ−ＤＳｉｇ）は、Ｗ３Ｃにより発行されたデジタル署名標準である。
【００２１】
例４−デジタル・レシートを管理するための環境
本明細書における例において、デジタル・レシートを認証するための方法が提供され得る。例えば、アプリケーションに関連付けられたコンテンツの購入がなされ得る。コンテンツ購入のデジタル・レシートがダウンロードされ、ローカルに（例えば、モバイル・コンピューティング・デバイスに）記憶され得る。デジタル・レシートは、（例えば、サーバ等の別のデバイスに接続する必要なく）ローカルで認証され得る。デジタル・レシートが認証されると、デジタル・レシートに関連付けられたコンテンツが引き換えられ得る（例えば、アクティブ化され得る、あるいは使用され得る）。デジタル・レシートは、同期させることができる。例えば、デジタル・レシートは、クライアント・デバイスにインストールされた１以上のアプリケーションのためのサーバ環境から、クライアント・デバイスによりダウンロードすることができる。
【００２２】
図１は、デジタル・レシートを管理するための例示的な環境１００を示す図である。例示的な環境１００は、サーバ環境１１０を含む。例えば、サーバ環境１１０は、１以上のコンピュータ・サーバ、データベース・サーバ、ネットワーク機器、並びに／又は他のサーバ環境に関連するコンポーネント及びデバイスを含み得る。サーバ環境１１０は、クラウド・コンピューティング環境として提供され得る。サーバ環境１１０は、アプリケーション・ストア等のアプリケーション・サービスを提供することができる。
【００２３】
例示的な環境１００は、独立ソフトウェア・ベンダ（ＩＳＶ）システム１１５を含む。例えば、ＩＳＶシステム１１５は、サーバ・コンピュータ、データベース・サーバ、及び／又は他のコンピューティング・リソースを含み得る。ＩＳＶシステム１１５は、１以上のＩＳＶに関連付けられたシステムを表し得る。
【００２４】
例示的な環境１００はまた、ネットワーク１３０（例えば、インタネット、及び／又は、Ｗｉ−Ｆｉ（登録商標）接続及び／又はセルラ接続等の他のタイプのネットワーク接続）を介してサーバ環境１１０に接続されるクライアント・デバイス１２０を含む。クライアント・デバイス１２０は、アプリケーション１２２、レシート・サービス１２４、及びレシート・ストア１２６を含む。
【００２５】
クライアント・デバイス１２０は、デジタル・レシートを管理することができる。例えば、クライアント・デバイス１２０は、サーバ環境１１０からデジタル・レシートを受信することができる。クライアント・デバイス１２０は、レシート・ストア１２６にデジタル・レシートを記憶することができる。クライアント・デバイス１２０は、（例えば、サーバ環境１１０に接続することなくオフラインで）デジタル・レシートを認証することができる。例えば、クライアント・デバイス１２０は、レシート・サービス１２４を少なくとも部分的に用いて（例えば、デジタル・レシートに関連付けられたデジタル署名を認証することにより）デジタル・レシートを認証することができる。デジタル・レシートが認証されると、デジタル・レシートは、アプリケーション１２２により利用され得る。例えば、アプリケーションは、認証されたデジタル・レシートにより指定される購入されたコンテンツ（例えば、歌、ゲーム内アイテム、新たなゲーム・レベル、又は別のタイプのコンテンツ）を可能にし得る。
【００２６】
クライアント・デバイス１２０はまた、レシートを同期させることができる。例えば、クライアント・デバイス１２０のアプリケーション１２２のうちの１つが、（例えば、便乗同期（opportunistic  synchronization）と呼ばれ得る、レシートを同期させる以外の理由で）サーバ環境１１０に接続したとき、クライアント・デバイス１２０は、アプリケーション（例えば、接続を開始したまさにそのアプリケーション）のレシートを同期させることができる。代替的に、全てのアプリケーション１２２についての同期が実行されてもよい。サーバ環境１１０において（例えば、図示せぬレシート・キャッシュ（receipt  cache）に）記憶されている新たなデジタル・レシート及び／又は更新されたデジタル・レシートを同期させるために、同期が実行され得る。新たなデジタル・レシート及び／又は更新されたデジタル・レシートは、レシート・ストア１２６に記憶することができ、検索することができる。クライアント・デバイス１２０が別の理由でネットワーク１３０及び／又はサーバ環境１１０にすでに接続しているときに同期を実行することにより、バッテリ電力及び／又は帯域幅等のリソースを節約することができる。
【００２７】
クライアント・デバイス１２０はまた、他のタイミングでレシートを同期させることができる。例えば、クライアント・デバイス１２０は、（例えば、クライアント・デバイス１２０がＡＣ電源で動作しており、Ｗｉ−Ｆｉ（登録商標）ネットワークに接続されている場合に）、毎日（例えば、夜に）同期を実行することができる。いくつかの実施例において、完全な同期が、定期的に（例えば、週に１回又は月に１回）実行される。
【００２８】
クライアント・デバイス１２０はまた、アプリケーション１２２及び／又は（例えば、レシート・ストア１２６に記憶された）デジタル・レシートに関連する様々なオペレーションを実行するために、ＩＳＶシステム１１５と通信することができる。そのようなオペレーションとして、製品のアンロック及び配信、購入品の追跡、及び／又は購入の履行等がある。例えば、クライアント・デバイスのアプリケーション（例えば、アプリケーション１２２のうちの１つ）は、（例えば、レシート・ストア１２６から）デジタル・レシートを取得することができ、（例えば、ＩＳＶシステム１１５と通信することにより）アプリケーションを提供したＩＳＶにデジタル・レシートを送信することができる。代替的に、レシート・サービス１２４が、デジタル・レシートをＩＳＶに送信又は提供してもよい（あるいは、ＩＳＶからのリクエストに応答してもよい）。それに応答して、ＩＳＶは、受信したデジタル・レシートに基づいて（例えば、デジタル・レシートに含まれるメタ・データに基づいて）、様々なオペレーションを実行することができる。そのようなオペレーションとして、購入品の信ぴょう性の検証、製品のアンロック及び配信、購入品の追跡、購入の履行等がある。
【００２９】
例５−デジタル・レシートを認証するための方法
本明細書における例において、デジタル・レシートを管理するための方法が提供され得る。図２は、デジタル・レシートを管理するための例示的な方法２００のフローチャートである。２１０において、レシートのリクエストが、モバイル・コンピューティング・デバイスにインストールされたローカル・アプリケーションから受信される。２２０において、モバイル・コンピューティング・デバイスに配置されたレシート・ストアから、レシートが取得される。２３０において、取得されたレシートが、ローカル・アプリケーションに提供される。レシートはオフラインで認証される。例えば、レシートは、モバイル・コンピューティング・デバイス上で実行されているローカル・アプリケーション及び／又はレシート・サービスにより認証され得る。レシートは、レシートに関連付けられたデジタル署名を用いて認証され得る。
【００３０】
例６−デジタル・レシートの同期
本明細書における例において、デジタル・レシートは同期させることができる。例えば、レシートは、サーバ環境（例えば、１以上のサーバ・コンピュータ、分散サーバ環境、及び／又はクラウド環境）と１以上のクライアント・コンピューティング・デバイス（例えば、モバイル・コンピューティング・デバイス及び／又は他のタイプのコンピューティング・デバイス）との間で同期させることができる。
【００３１】
同期は、効率的な方法で（例えば、バッテリ電力等のリソースを節約するように）実行することができる。例えば、デジタル・レシートの同期（例えば、便乗同期）は、例えば、ウェブ・コンテンツをダウンロードするとき、電子メール・メッセージを検索するとき、アプリケーション購入を行うとき等の、レシートを同期させる以外の理由でモバイル・コンピューティング・デバイス（例えば、携帯電話機、タブレット、又は他のタイプのモバイル・コンピューティング・デバイス）がネットワークに接続したときに、実行することができる。特定の実施例において、モバイル・コンピューティング・デバイス上で実行されているアプリケーション（ローカル・アプリケーション）が、購入（例えば、コンテンツのアプリケーション内購入）を行うために、ネットワークを介して（例えば、Ｗｉ−Ｆｉ（登録商標）ネットワーク接続を介して、セルラ・データ・ネットワーク接続を介して等）接続したときに、モバイル・コンピューティング・デバイスは、ローカル・アプリケーションに関連付けられたレシート（例えば、異なるコンピューティング・デバイスから購入された、ローカル・アプリケーションに関連するコンテンツのレシート）を同期させることができる。
【００３２】
クライアント・モバイル・コンピューティング・デバイスが断続的にオンラインとオフラインである場合が存在し得る。サーバ環境に関する情報が、モバイル・デバイス上にあるものではない場合がある（例えば、コンテンツが、異なるデバイスから購入された場合がある）。モバイル・デバイス上で使用されるリソース（例えば、バッテリ、帯域幅等）の量を制限するために、便乗同期を使用することができる（例えば、異なる目的でネットワーク及び／又はサーバ環境にすでに接続されているときに同期を行う）。
【００３３】
同期は、現在のコンテキスト（context）に応じてデジタル・レシートを同期させるために実行することができる。例えば、現在のコンテキストは、モバイル・コンピューティング・デバイスを使用中である、及び／又はローカル・アプリケーションを使用中であるということを含み得る。例えば、ローカル・アプリケーションが、購入を行うために、サーバに接続した場合、ローカル・アプリケーションに関連付けられており、（例えば、レシート・ストア内の）モバイル・コンピューティング・デバイス上にすでに存在するデジタル・レシートに関して新しい且つ／あるいは更新されている、新たなデジタル・レシート及び／又は更新されたデジタル・レシートをダウンロードすることができる。
【００３４】
特定の実施例において、ローカル・アプリケーションが、（例えば、購入を行うために、あるいは別の理由で）サーバに接続した場合、接続を開始したローカル・アプリケーションのみに関連付けられた全てのデジタル・レシートが同期される（すなわち、他のローカル・アプリケーションに関連付けられたデジタル・レシートは同期されない）。ローカル・アプリケーションがサーバに接続したときに便乗同期を実行することにより、リソース（例えば、バッテリ、帯域幅、ストレージ）を節約することができる。他の実施例においては、他のローカル・アプリケーション（例えば、他の全てのインストールされたローカル・アプリケーション）に関連付けられたデジタル・レシートも同期される。
【００３５】
完全な同期は、定期的に（例えば、夜に）実行することができる。例えば、モバイル・デバイスが、ＡＣ電源を用いており、Ｗｉ−Ｆｉ（登録商標）に接続されている場合、モバイル・デバイスは、定期的に（例えば、毎日夜に）、完全な同期（例えば、モバイル・デバイスにインストールされた全てのアプリケーションの差分同期）を自動的に実行することができる。
【００３６】
いくつかの実施例において、アプリケーションを介した購入を行う前に、そのアプリケーションのみのレシートを同期させる便乗同期が実行される。他の実施例において、（例えば、同期させるべきレシートを有し得る、モバイル・デバイス上の全てのアプリケーション等の、購入を行ったアプリケーションとともにそのアプリケーション以外のアプリケーションについて）完全な同期が実行される。
【００３７】
図３は、差分同期の実行を含む、購入品のデジタル・レシートを管理するための例示的な方法３００のフローチャートである。３１０において、（例えば、モバイル・コンピューティング・デバイスにより）最終同期タイムスタンプが取得される。３２０において、最終同期タイムスタンプがサーバ環境に送信される。３３０において、（最終同期タイムスタンプ以後の新しい且つ／あるいは更新されている）新たなデジタル・レシート及び／又は更新されたデジタル・レシートが、サーバ環境から受信される。３４０において、受信されたレシートが（例えば、レシート・ストアに）記憶される。受信されたレシートはまた、認証され得る。
【００３８】
次の差分同期が実行されるときに、（３３０において受信されたレシート以後の新しい且つ／あるいは更新されている）新たなデジタル・レシート及び／又は更新されたデジタル・レシートが受信されるように、最終同期タイムスタンプが、現在のタイムスタンプに更新され得る。
【００３９】
例７−デジタル・レシートの管理
本明細書における例において、デジタル・レシートの管理が、モバイル・コンピューティング・デバイスにより実行され得る。モバイル・コンピューティング・デバイスがオフラインである間に、デジタル・レシートのための管理オペレーションの少なくともいくつかが、モバイル・コンピューティング・デバイスにより実行され得る。デジタル・レシートの管理には、レシートの認証及び／若しくは検証、レシートの同期、並びに／又はレシートに関連する他のオペレーションが含まれ得る。
【００４０】
レシートは、モバイル・デバイス上で実行されるオペレーティング・システムのオペレーティング・システム・プロバイダ等の信頼できるエンティティによりデジタル署名され得る。デジタル署名は、ＩＳＶ（例えば、アプリケーション開発者又は発行者）がアプリケーションのためのローカルの分離されたストレージにオーナシップ（ownership）の状態を記憶することにより達成することができる保護及びセキュリティのレベルを超えるように、保護及びセキュリティのレベルを強化することができる。
【００４１】
異なるデバイスからの購入の場合、又はＩＳＶのアプリケーションを閉じた後にバックグラウンドで完了した購入の場合、ＩＳＶのコードが認識されないように、購入が履行されることが可能である。そのようなレシートが、コンピューティング・デバイスにおける使用のために利用可能となるように、そのようなレシートを同期させることができる。例えば、同期は、コンピューティング・デバイス（例えば、コンピューティング・デバイスのレシート・ストア）にまだ記憶されていない何らかのレシートをダウンロードするために実行することができる。いくつかの実施例において、同期は、永続的コンテンツのレシートについてのみ実行される（例えば、消耗コンテンツのレシートについては実行されない）。
【００４２】
いくつかの実施例において、アプリケーションは、（例えば、そのアプリケーションの開始時に、且つ／あるいは他のタイミングで）レシートを管理するために、（例えば、アプリケーション・プログラミング・インタフェース（ＡＰＩ）を介して）ローカル・レシート・サービスを呼び出す。レシート・サービスを呼び出すことにより、アプリケーションのレシートを同期させることができる（例えば、レシート・ストアにまだ存在しない新たなレシートをダウンロードして記憶することができる）。また、レシート・サービスを呼び出すことにより、（例えば、コンテンツの購入を認証するために）レシートの認証を実行させることができる。
【００４３】
レシート・サービスは、結果を迅速に返すように（例えば、１秒以内に１００個のレシート結果を返すように）設計され得る。レシート・サービスは、サーバに接続することなく（例えば、オフラインのときに）、結果を提供することができる。ローカル・レシート・ストアを設けることにより、モバイル・デバイスは、リモート・サーバに接続するために必要とされるリソース（例えば、バッテリ及びネットワーク帯域幅）を費やすことなく、レシートにアクセスすることが可能となる。
【００４４】
（例えば、リモート・サーバに対する）レシート・リクエストをオンラインで行うことも可能であるが、レシート・リクエストが（例えば、ローカル・レシート・ストアを介して）ローカルでオフラインで処理されるデフォルト設定が適用され得る。いくつかの実施例において、レシート・リクエストは、後の時間に実行される同期アクションを待ち行列に入れることができる。
【００４５】
いくつかの実施例において、以下の同期手順のうちの１以上が適用され得る：
−同期は、アプリケーション単位で実行され得る
−スケジュールされた同期が実行され得る：
−ＷｉＦｉ（登録商標）に関して
−標準バッテリ設定：待ち行列に入れられた差分同期がすぐに生じる
−バッテリ節約モード：ＡＣ電源に差し込まれたときに差分同期が生じる
−セルラ・データ・ネットワークに関して
−標準データ設定：同期は待ち行列に入れられ、１日１回のコールでバッチ処理される
−低データ使用設定：同期は中断され、１月に１回リフレッシュ・タスク（refresh  task）で実行される
−ローミング中、同期は延期され得る
【００４６】
同期は、レシートが最後に同期されたときに基づいて実行することができる。このタイプの同期は、差分同期と呼ばれ得る。いくつかの実施例において、クライアント（例えば、モバイル・コンピューティング・デバイス）は、（例えば、日付及び／又は時刻情報を含む）最終同期タイムスタンプをサーバ環境に送信し、サーバ環境は、最終同期タイムスタンプ以後の新たなレシート及び／又は更新されたレシートを返す。サーバ環境の応答には、クライアントによりキャッシュすることができ、次の差分同期リクエストのための最終同期タイムスタンプとして使用することができる更新同期タイムスタンプが含まれ得る。
【００４７】
同期は、アプリケーションが最初にインストールされるとき、あるいは再インストールされるときに実行することができる。例えば、ユーザは、新たな携帯電話機等の新たなモバイル・デバイスを購入し得る。ユーザは、以前に購入した１以上のアプリケーションを再インストールすることができる。インストール中（又は、後の時間に）、リモート・サーバ環境からレシートを取り出すために、同期アクションを実行することができる。レシートは、（例えば、モバイル・デバイス上で実行されているインストールされたアプリケーション及び／又はレシート・サービスにより）認証され得る。認証されたレシートは、（例えば、そのレシートに関連付けられている、ユーザにより購入されたコンテンツへのアクセスを提供するために）アプリケーションにより処理され得る。
【００４８】
いくつかの実施例において、デジタル・レシートは、購入されたコンテンツのタイプに基づいて管理される。購入されたコンテンツのタイプは、永続的コンテンツ及び消耗コンテンツを含む。永続的コンテンツとは、１回の購入につき複数のデバイス（例えば、１人にユーザにより所有されている全ての複数のデバイス、又は１つのアカウントに関連付けられている複数のデバイス）で使用することができ、再使用することができる（例えば、アプリケーションが新たなデバイスにインストールされるときに使用することができる、且つ／あるいはアプリケーションが既存のデバイスに再インストールされるときに使用することができる）コンテンツを指す。永続的コンテンツの例は、デジタル音楽ファイル、動画ファイル、ゲーム・アプリケーションの新たなレベル又は拡張等を含む。消耗コンテンツとは、１回のみ使用することができる（例えば、引き換えることができる）コンテンツを指す。特定の実施例において、消耗コンテンツは、購入が行われた特定のデバイスに関連付けられる（例えば、特定のデバイス・コンテキストに関連付けられる）。消耗コンテンツの例は、ゲーム内アセット（in-game  asset）（例えば、ゴールド等のゲーム内のお金、ゲーム内アイテム等）を含む。
【００４９】
同期オペレーションは、購入されたコンテンツのタイプを考慮に入れ得る。例えば、アプリケーションが新たなデバイスにインストール中である場合、その新たなアプリケーションがインストールされたときに、あるいは最初に起動されたときに、永続的コンテンツの全てのデジタル・レシートをダウンロードすることができる。消耗コンテンツのデジタル・レシートは、その新たなアプリケーションがインストールされたときに、あるいは最初に起動されたときに、デジタル・レシートがすでに使用されていた場合（例えば、引き換えられていた場合）、ダウンロードすることができない。いくつかの実施例において、消耗コンテンツのデジタル・レシートは、それでもダウンロードすることができるが、使用することはできない（例えば、コンテンツを再度引き換えることができないとしても、過去の購入の記録を有する）。
【００５０】
デジタル・レシートは、アプリケーション発行者／開発者（ＩＳＶ）により利用され得る。例えば、ＩＳＶは、（例えば、アプリケーション・プログラミング・インタフェース（ＡＰＩ）を用いて）デジタル・レシートを読むことができ、（例えば、購入を追跡及び／又は履行するために、）デジタル・レシートに関する所定の情報（例えば、メタ・データの一部又は全て）をＩＳＶのサーバに提供することができる。
【００５１】
いくつかの実施例において、以下の例示的な擬似コードを使用して、様々な同期オペレーションを実行することができる。
【００５２】
【数１】
2015531501.tif 000003
【００５３】
【数２】
2015531501.tif 000004
【００５４】
【数３】
2015531501.tif 000005
【００５５】
いくつかの実施例において、デジタル・レシートの管理には、以下の特徴のうちの１以上が含まれ得る。
−事前にコンテンツのタイプを知ることなく、任意のタイプのコンテンツ又はサービスのオーナシップをオフラインでセキュアに示す機能（例えば、コンテンツに関連付けられたデジタル・レシートのデジタル署名が、オフラインで認証され得る）。
−オーナシップがポータブルであり、関連付けられたコンテンツ又はサービスを伴ってあるいは伴わずに１つのシステムから別のシステムに分配され得ることを示す機能。
−コンテンツの元の購入が行われたユーザ及びコンテキスト（例えば、モバイル・デバイス）の一意な識別。一意な識別は、匿名化された一意な識別子を用いて実行され得る。
−サーバ環境とコンピューティング・デバイス（例えば、クライアント）との間で伝送されるデータの量を低減させることができる最適な方法で、購入された（例えば、所有されている）コンテンツの集合（例えば、永続的コンテンツ及び／又は消耗コンテンツを含む、全ての購入されたコンテンツ）を再構築する機能。
【００５６】
図４は、購入を行い、デジタル・レシートを生成するための例示的な制御フロー４００の図である。例示的な制御フロー４００は、サーバ環境４１０及びクライアント・デバイス４２０（例えば、モバイル・コンピューティング・デバイス）を示している。例示的な制御フロー４００はまた、サーバ環境４１０とクライアント・デバイス４２０との間のオペレーションのインタラクションを示している。例えば、制御フロー４００は、コンテンツ（例えば、特定のローカル・アプリケーションのための、購入に利用可能なコンテンツ）のリストを取得するオペレーション、コンテンツを購入するオペレーション、購入したコンテンツのデジタル・レシートを受信するオペレーション、デジタル・レシートを（例えば、ローカル・レシート・ストアに）記憶するオペレーション、（ローカル・レシート・サービスにより）受信したデジタル・レシートを認証するオペレーション、及びデジタル・レシートが認証された後コンテンツを引き換えるオペレーションを実行するクライアント・デバイス４２０を示している。例示的な制御フロー４００において、クライアント・デバイス４２０は、クライアント・デバイス上でアプリケーションを実行すること、及びクライアント・デバイス上でレシート・サービスを実行することを含むオペレーションを示している。
【００５７】
図５は、デジタル・レシートを同期させるための例示的な制御フロー５００の図である。例示的な制御フロー５００は、サーバ環境５１０及びクライアント・デバイス５２０（例えば、モバイル・コンピューティング・デバイス）を示している。例示的な制御フロー５００はまた、サーバ環境５１０とクライアント・デバイス５２０との間のオペレーションのインタラクションを示している。例えば、制御フロー５００は、同期リクエストを開始するオペレーションを実行するクライアント・デバイス５２０を示している。同期リクエストは最終同期タイムスタンプを含み得る。同期リクエストは、クライアント・デバイス５２０にインストールされた１以上のアプリケーションのデジタル・レシートを同期させる（例えば、最終同期タイムスタンプ以後の新しい且つ／あるいは更新されているデジタル・レシートを同期させる）ためのリクエストであり得る。クライアント・デバイス５２０は、同期リクエストに応じたデジタル・レシートを受信し、受信したデジタル・レシートを（例えば、ローカル・レシート・ストアに）記憶し、（例えば、ローカル・レシート・サービスを用いて）受信したデジタル・レシートを認証し、デジタル・レシートが認証された後必要に応じてコンテンツを引き換える。
【００５８】
例８−コンピューティング・システム
図６は、説明したイノベーションを実装することができる適切なコンピューティング・システム６００の一般化された例を示している。コンピューティング・システム６００は、使用又は機能の範囲に関して限定を示唆するよう意図されるものではない。というのは、イノベーションは、多様な汎用コンピューティング・システム又は専用コンピューティング・システムにおいて実装することができるからである。
【００５９】
図６を参照すると、コンピューティング・システム６００は、１以上の処理装置６１０、６１５、及びメモリ６２０、６２５を含む。図６において、この基本的な構成６３０が破線内に含まれる。処理装置６１０、６１５は、コンピュータ実行可能命令を実行する。処理装置は、汎用中央処理装置（ＣＰＵ）、特定用途向け集積回路（ＡＳＩＣ）におけるプロセッサ、又は任意の他のタイプのプロセッサであり得る。マルチ処理システムにおいて、複数の処理装置が、処理能力を増大させるために、コンピュータ実行可能命令を実行する。例えば、図６は、中央処理装置６１０とともに、グラフィックス処理装置又は共処理装置６１５を示している。有体のメモリ６２０、６２５は、１以上の処理装置によりアクセス可能な、揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ）であってもよいし、不揮発性メモリ（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ等）であってもよいし、両方の組合せであってもよい。メモリ６２０、６２５は、１以上の処理装置による実行に適したコンピュータ実行可能命令の形態で、本明細書で説明した１以上のイノベーションを実装するソフトウェア６８０を記憶する。
【００６０】
コンピューティング・システムは追加の特徴を有することができる。例えば、コンピューティング・システム６００は、ストレージ６４０、１以上の入力デバイス６５０、１以上の出力デバイス６６０、及び１以上の通信コネクション６７０を含む。バス、コントローラ、又はネットワーク等の相互接続機構（図示せず）が、コンピューティング・システム６００のコンポーネントを相互接続する。通常、オペレーティング・システム・ソフトウェア（図示せず）が、コンピューティング・システム６００において実行される他のソフトウェアのための動作環境を提供し、コンピューティング・システム６００のコンポーネントの動作を調整する。
【００６１】
有体のストレージ６４０は、取り外し可能であっても取り外し不可能であってもよく、磁気ディスク、磁気テープ若しくは磁気カセット、ＣＤ−ＲＯＭ、ＤＶＤ、又は、情報を記憶するために使用することができ、コンピューティング・システム６００内でアクセスされ得る任意の他の媒体を含む。ストレージ６４０は、本明細書で説明した１以上のイノベーションを実装するソフトウェア６８０の命令を記憶する。
【００６２】
１以上の入力デバイス６５０は、キーボード、マウス、ペン、又はトラックボール等のタッチ入力デバイス、音声入力デバイス、スキャニング・デバイス、又はコンピューティング・システム６００に入力を提供する別のデバイスとすることができる。ビデオ符号化に関して、１以上の入力デバイス６５０は、カメラ、ビデオ・カード、ＴＶチューナ・カード、若しくはアナログ形態あるいはデジタル形態でビデオ入力を受信する同様のデバイス、又はビデオ・サンプルをコンピューティング・システム６００に読み込むＣＤ−ＲＯＭあるいはＣＤ−ＲＷとすることができる。１以上の出力デバイス６６０は、ディスプレイ、プリンタ、スピーカ、ＣＤライタ、又はコンピューティング・システム６００からの出力を提供する別のデバイスとすることができる。
【００６３】
１以上の通信コネクション６７０は、通信媒体を介した別のコンピューティング・エンティティへの通信を可能にする。通信媒体は、変調されたデータ信号により、コンピュータ実行可能命令、オーディオ入力、ビデオ入力、オーディオ出力、ビデオ出力、又は他のデータ等の情報を伝達する。変調されたデータ信号とは、信号内の情報を符号化するように設定又は変更された特性の１以上を有する信号である。例えば、通信媒体は、電気信号、光信号、ＲＦ、赤外線、又は他のキャリアを使用することができるが、これらに限定されるものではない。
【００６４】
イノベーションは、コンピュータ実行可能命令の一般的なコンテキストにおいて説明することができる。コンピュータ実行可能命令は、例えば、プログラム・モジュールに含まれ、コンピューティング・システムにおいて、ターゲット実プロセッサ又は仮想プロセッサ上で実行される。一般に、プログラム・モジュールは、特定のタスクを実行するか、あるいは特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等を含む。プログラム・モジュールの機能は、様々な実施形態において、必要に応じて、組み合わされてもよいし、プログラム・モジュール間で分割されてもよい。プログラム・モジュールのコンピュータ実行可能命令は、ローカル・コンピューティング・システム又は分散コンピューティング・システム内で実行され得る。
【００６５】
「システム」及び「デバイス」という語は、本明細書において置き換え可能に使用される。文脈が別途明確に示さない限り、これらの語は、コンピューティング・システム又はコンピューティング・デバイスのタイプに関して、いかなる限定も示すものではない。一般に、コンピューティング・システム又はコンピューティング・デバイスは、ローカルであってもよいし、分散されてもよく、専用ハードウェア及び／又は汎用ハードウェアと、本明細書で説明した機能を実装するソフトウェアとの任意の組合せを含み得る。
【００６６】
プレゼンテーションの目的上、詳細な説明では、コンピューティング・システムにおけるコンピュータ・オペレーションを説明するための「決定する」及び「使用する」のような語が使用される。これらの語は、コンピュータにより実行されるオペレーションの高レベル抽象表現であって、人間により実行される動作と混同すべきではない。これらの語に対応する実際のコンピュータ・オペレーションは、実装に応じて変化する。
【００６７】
例９−モバイル・デバイス
図７は、まとめて７０２で示される多様なオプションのハードウェア・コンポーネント及びソフトウェア・コンポーネントを含む例示的なモバイル・デバイス７００を示すシステム図である。例示の簡単さのため、全ての接続が示されているわけではないが、モバイル・デバイス内の任意のコンポーネント７０２は、任意の他のコンポーネントと通信することができる。モバイル・デバイスは、多様なコンピューティング・デバイス（例えば、携帯電話機、スマートフォン、ハンドヘルド・コンピュータ、携帯情報端末（ＰＤＡ）等）のいずれかとすることができ、セルラ・ネットワーク、サテライト・ネットワーク、又は他のネットワーク等の１以上のモバイル通信ネットワーク７０４との双方向無線通信を可能にし得る。
【００６８】
図示したモバイル・デバイス７００は、信号符号化、データ処理、入力／出力処理、電力制御、及び／又は他の機能等のタスクを実行するコントローラ又はプロセッサ７１０（例えば、信号プロセッサ、マイクロプロセッサ、ＡＳＩＣ、又は他の制御・処理論理回路）を含み得る。オペレーティング・システム７１２は、コンポーネント７０２の割り当て及び使用を制御することができ、１以上のアプリケーション・プログラム７１４をサポートすることができる。アプリケーション・プログラムは、一般的なモバイル・コンピューティング・アプリケーション（例えば、電子メール・アプリケーション、カレンダ、コンタクト・マネージャ、ウェブ・ブラウザ、メッセージング・アプリケーション）又は任意の他のコンピューティング・アプリケーションを含み得る。アプリケーション・ストアにアクセスするための機能７１３は、アプリケーション７１４を取得して更新するために使用され得る。
【００６９】
図示したモバイル・デバイス７００はメモリ７２０を含み得る。メモリ７２０は、取り外し不可能なメモリ７２２及び／又は取り外し可能なメモリ７２４を含み得る。取り外し不可能なメモリ７２２は、ＲＡＭ、ＲＯＭ、フラッシュ・メモリ、ハード・ディスク、又は他の周知のメモリ・ストレージ技術を含み得る。取り外し可能なメモリ７２４は、フラッシュ・メモリ、若しくはＧＳＭ（登録商標）通信システムにおいて周知の加入者識別モジュール（ＳＩＭ）カード、又は「スマート・カード」等の他の周知のメモリ・ストレージ技術を含み得る。メモリ７２０は、オペレーティング・システム７１２及びアプリケーション７１４を実行するためのデータ及び／又はコードを記憶するために使用され得る。データの例は、ウェブ・ページ、テキスト、画像、音楽ファイル、ビデオ・データ、又は、１以上の有線ネットワーク又は無線ネットワークを介して１以上のネットワーク・サーバ又は他のデバイスに／から送信される／受信される他のデータ・セットを含み得る。メモリ７２０は、国際移動体加入者識別番号（ＩＭＳＩ）等の加入者識別子、及び、国際移動体装置識別番号（ＩＭＥＩ）等の装置識別子を記憶するために使用され得る。そのような識別子は、ユーザ及び装置を識別するために、ネットワーク・サーバに送信され得る。
【００７０】
モバイル・デバイス７００は、タッチスクリーン７３２、マイクロフォン７３４、カメラ７３６、物理キーボード７３８、及び／又はトラックボール７４０等の１以上の入力デバイス７３０と、スピーカ７５２及びディスプレイ７５４等の１以上の出力デバイス７５０とをサポートすることができる。他の可能な出力デバイス（図示せず）は、圧電性出力デバイス又は他の触覚出力デバイスを含み得る。いくつかのデバイスは、一入力／出力機能以上のデバイスとして機能し得る。例えば、タッチスクリーン７３２及びディスプレイ７５４は、単一の入力／出力デバイスに結合され得る。
【００７１】
入力デバイス７３０は、ナチュラル・ユーザ・インタフェース（ＮＵＩ）を含み得る。ＮＵＩは、マウス、キーボード、リモート・コントロール等により課される人工的制約のない「自然な」形でユーザがデバイスとインタラクトすることを可能にする任意のインタフェース技術である。ＮＵＩ方法の例は、ＮＵＩ方法の例は、スピーチ認識に依拠するもの、タッチ及びスタイラス認識に依拠するもの、スクリーン及びスクリーンの隣接領域（adjacent）上のジェスチャ認識に依拠するもの、エア・ジェスチャ、ヘッド・アイ・トラッキング（head  and  eye  tracking）、音声及びスピーチ、ビジョン（vision）、タッチ、ジェスチャ、並びにマシン・インテリジェンス（machine  intelligence）を含む。ＮＵＩの他の例は、加速度計／ジャイロスコープを用いたモーション・ジェスチャ検出、顔認識、３Ｄディスプレイ、ヘッド・アイ・ゲーズ・トラッキング（head,  eye,  and  gaze  tracking）、没入型拡張現実システム及び仮想現実システム（これらの全てが、より自然なインタフェースを提供する）とともに、電界検出電極を用いて脳活動を検出する技術（ＥＥＧ及び関連方法）を含む。したがって、１つの特定の例において、オペレーティング・システム７１２又はアプリケーション７１４は、ユーザが音声コマンドを介してデバイス７００を動作させることを可能にする音声ユーザ・インタフェースの一部としてのスピーチ認識ソフトウェアを含み得る。さらに、デバイス７００は、ゲーム・アプリケーションに入力を提供するためにジェスチャを検出して解釈する等、ユーザの空間的ジェスチャを介したユーザ・インタラクションを可能にする入力デバイス及びソフトウェアを含み得る。
【００７２】
無線モデム７６０は、アンテナ（図示せず）に接続することができ、当技術分野においてはよく理解されているように、プロセッサ７１０と外部デバイスとの間の双方向通信をサポートし得る。モデム７６０が一般に示されており、これは、モバイル通信ネットワーク７０４と通信するためのセルラ・モデム及び／又は他の無線ベースのモデム（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）７６４又はＷｉ−Ｆｉ（登録商標）７６２）を含み得る。無線モデム７６０は、通常、単一のセルラ・ネットワーク内でのデータ及び音声通信、セルラ・ネットワーク間でのデータ及び音声通信、又はモバイル・デバイスと公衆交換電話網（ＰＳＴＮ）との間のデータ及び音声通信のためのＧＳＭ（登録商標）ネットワーク等の１以上のセルラ・ネットワークと通信するために構成される。
【００７３】
モバイル・デバイスは、少なくとも１つの入力／出力ポート７８０、電源７８２、ＧＰＳ受信機等のサテライト・ナビゲーション・システム受信機７８４、加速度計７８６、及び／又は物理コネクタ７９０（ＵＳＢポート、ＩＥＥＥ  １３９４（ＦｉｒｅＷｉｒｅ（登録商標））ポート、及び／又はＲＳ−２３２ポートとすることができる）をさらに含み得る。図示したコンポーネント７０２は、必ずしも必要なわけではなく、包括的なものであり、任意のコンポーネントを削除してもよいし、他のコンポーネントを付加してもよい。
【００７４】
例１０−クラウド・サポート型環境
図８は、説明した実施形態、技術、及びテクノロジを実装することができる適切な実装環境８００の一般化された例を示している。例示的な環境８００において、様々なタイプのサービス（例えば、コンピューティング・サービス）が、クラウド８１０により提供される。例えば、クラウド８１０は、中央に配置されてもよいあるいは分散されてもよいコンピューティング・デバイスの集合を含み得る。コンピューティング・デバイスの集合は、クラウドベースのサービスを、インタネット等のネットワークを介して接続された様々なタイプのユーザ及びデバイスに提供する。実装環境８００は、コンピューティング・タスクを遂行するために様々な方法で使用することができる。例えば、いくつかのタスク（例えば、ユーザ入力を処理してユーザ・インタフェースを提示すること）は、ローカル・コンピューティング・デバイス（例えば、接続されたデバイス８３０、８４０、８５０）上で実行することができるのに対し、他のタスク（例えば、後続の処理で使用されるデータの記憶）は、クラウド８１０において実行することができる。
【００７５】
例示的な環境８００において、クラウド８１０は、多様なスクリーン能力を有する接続されたデバイス８３０、８４０、８５０にサービスを提供する。接続されたデバイス８３０は、コンピュータ・スクリーン８３５（例えば、中間サイズのスクリーン）を有するデバイスを表している。例えば、接続されたデバイス８３０は、デスクトップ・コンピュータ、ラップトップ、ノートブック、ネットブック等のパーソナル・コンピュータであり得る。接続されたデバイス８４０は、モバイル・デバイス・スクリーン８４５（例えば、小さなサイズのスクリーン）を有するデバイスを表している。例えば、接続されたデバイス８４０は、携帯電話機、スマートフォン、携帯情報端末、タブレット・コンピュータ等であり得る。接続されたデバイス８５０は、大型スクリーン８５５を有するデバイスを表している。例えば、接続されたデバイス８５０は、テレビジョン・スクリーン（例えば、スマート・テレビジョン）又はテレビジョンに接続された別のデバイス（例えば、セットトップ・ボックス又はゲーム・コンソール）等であり得る。接続されたデバイス８３０、８４０、８５０のうちの１以上がタッチスクリーン機能を含み得る。タッチスクリーンは、様々な形で入力を受け入れることができる。例えば、容量式タッチスクリーンは、物体（例えば、指先又はスタイラス）が表面を流れる電流を歪めたあるいは遮ったときのタッチ入力を検出する。別の例として、タッチスクリーンは、光学センサを使用して、光学センサからのビームが遮られたときのタッチ入力を検出することができる。スクリーン表面への物理的接触が、いくつかのタッチスクリーンにより検出される入力にとって、必ずしも必要なわけではない。スクリーン能力を有していないデバイスもまた、例示的な環境８００において使用することができる。例えば、クラウド８１０は、ディスプレイを有していない１以上のコンピュータ（例えば、サーバ・コンピュータ）にサービスを提供することができる。
【００７６】
サービスは、サービス・プロバイダ８２０又はオンライン・サービスの他のプロバイダ（図示せず）を介して、クラウド８１０により提供され得る。例えば、クラウド・サービスは、特定の接続されたデバイス（例えば、接続されたデバイス８３０、８４０、８５０）のスクリーン・サイズ、ディスプレイ能力、及び／又はタッチスクリーン能力に合わせてカスタマイズされ得る。
【００７７】
例示的な環境８００において、クラウド８１０は、サービス・プロバイダ８２０を少なくとも部分的に用いて、本明細書で説明した技術及びソリューションを、様々な接続されたデバイス８３０、８４０、８５０に提供する。例えば、サービス・プロバイダ８２０は、様々なクラウドベースのサービスの集中型ソリューションを提供することができる。サービス・プロバイダ８２０は、ユーザ及び／又はデバイス（例えば、接続されたデバイス８３０、８４０、８５０及び／又はそれらのそれぞれのユーザ）のためのサービス・サブスクリプションを管理することができる。
【００７８】
例１１−実装
開示した方法のいくつかのオペレーションについて、便宜上のプレゼンテーションのために、特定のシーケンシャルな順序で説明したが、特定の順序が以下に示す特定の言葉により要求されない限り、この記載は再配置を含むことを理解すべきである。例えば、シーケンシャルに説明したオペレーションは、場合によっては、再配置されてもよいし、同時に実行されてもよい。さらに、単純さのために、添付の図面は、開示した方法が他の方法とともに使用され得る様々な方法を示さないことがある。
【００７９】
開示した方法のいずれも、１以上のコンピュータ読み取り可能記憶媒体に記憶され、コンピューティング・デバイス（例えば、スマートフォン又はコンピューティング・ハードウェアを含む他のモバイル・デバイス等の任意の利用可能なコンピューティング・デバイス）上で実行されるコンピュータ実行可能命令又はコンピュータ・プログラム製品として実装され得る。コンピュータ読み取り可能記憶媒体は、コンピューティング環境内でアクセスされ得る任意の利用可能な有体の媒体（例えば、ＤＶＤ若しくはＣＤ等の１以上の光媒体ディスク、（ＤＲＡＭ若しくはＳＲＡＭ等の）揮発性メモリ・コンポーネント、又は（フラッシュ・メモリ若しくはハード・ドライブ等の）不揮発性メモリ・コンポーネント）である。例えば、図６を参照すると、コンピュータ読み取り可能記憶媒体は、メモリ６２０及び６２５と、ストレージ６４０とを含む。例えば、図７を参照すると、コンピュータ読み取り可能記憶媒体は、メモリと、ストレージ７２０、７２２、及び７２４とを含む。コンピュータ読み取り可能記憶媒体という語は、信号及び搬送波等の通信接続（例えば、６７０、７６０、７６２、及び７６４）を含まない。
【００８０】
開示した技術を実装するコンピュータ実行可能命令と、開示した実施形態の実施中に生成されて使用されるデータとは、１以上のコンピュータ読み取り可能記憶媒体に記憶され得る。コンピュータ実行可能命令は、例えば、専用ソフトウェア・アプリケーションの一部でもあってもよいし、ウェブ・ブラウザを介してアクセス又はダウンロードされるソフトウェア・アプリケーションの一部であってもよいし、（リモート・コンピューティング・アプリケーション等の）他のソフトウェア・アプリケーションの一部であってもよい。そのようなソフトウェアは、例えば、単一のローカルコンピュータ（例えば、任意の適切な商用利用可能なコンピュータ）上で実行されてもよいし、１以上のネットワーク・コンピュータを用いてネットワーク環境において（例えば、インタネット、ワイド・エリア・ネットワーク、ローカル・エリア・ネットワーク、（クラウド・コンピューティング・ネットワーク等の）クライアント・サーバ・ネットワーク、又は他のそのようなネットワークを介して）実行されてもよい。
【００８１】
明瞭にするために、ソフトウェアベースの実装の所定の選択された態様のみが説明されている。当技術分野において周知の他の詳細は省略されている。例えば、開示した技術は、特定のコンピュータ言語又はプログラムに限定されるものではないことを理解すべきである。例えば、開示した技術は、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｐｅｒｌ、ＪａｖａＳｃｒｉｐｔ（登録商標）、Ａｄｏｂｅ（登録商標）  Ｆｌａｓｈ、又は任意の他の適切なプログラミング言語で記述されたソフトウェアにより実施されてもよい。同様に、開示した技術は、特定のコンピュータ又はハードウェアのタイプに限定されるものではない。適切なコンピュータ及びハードウェアの特定の詳細は周知であり、本開示において詳細に説明される必要はない。
【００８２】
さらに、（例えば、開示した方法のいずれかをコンピュータに実行させるコンピュータ実行可能命令を含む）ソフトウェアベースの実施形態のいずれも、適切な通信手段を介してアップロードされ得、ダウンロードされ得、リモートからアクセスされ得る。そのような適切な通信手段は、例えば、インタネット、ワールド・ワイド・ウェブ、イントラネット、ソフトウェア・アプリケーション、（光ファイバ・ケーブルを含む）ケーブル、磁気通信、（ＲＦ、マイクロ波、及び赤外通信を含む）電磁気通信、電子通信、又は他のそのような通信手段を含む。
【００８３】
開示した方法、装置、及びシステムは、決して限定として解釈されるべきではない。その代わりに、本開示は、単独での及び様々な相互の組合せ並びに下位組合せでの、様々な開示した実施形態の全ての新規で自明でない特徴及び態様を対象とする。開示した方法、装置、及びシステムは、特定の態様若しくは特徴又はそれらの組合せに限定されるものではなく、開示した実施形態は、１以上の特定の利点が存在すること又は問題が解決されることを要求するものではない。
【００８４】
任意の例に基づく技術は、他の例のうちの１以上において説明した技術と組み合わせることができる。開示した技術の原理を適用することができる多くの可能な実施形態に鑑みて、示された実施形態は、開示した技術の例に過ぎず、開示した技術の範囲を限定するものとして解釈すべきではないでないことを認識すべきである。むしろ、開示した技術の範囲は、添付の特許請求の範囲によりカバーされるものを含む。したがって、我々は、特許請求の範囲及びその精神内にある全てを我々の発明として特許請求する。
【図１】
2015531501.tif 000006
【図２】
2015531501.tif 000007
【図３】
2015531501.tif 000008
【図４】
2015531501.tif 000009
【図５】
2015531501.tif 000010
【図６】
2015531501.tif 000011
【図７】
2015531501.tif 000012
【図８】
2015531501.tif 000013
【国際調査報告】
2015531501.tif 000014
2015531501.tif 000015