(57)【特許請求の範囲】
【請求項１】
少なくとも１つのコンピューティング装置と、
前記少なくとも１つのコンピューティング装置内で実行可能なインジェスチョンプロセスであって、前記インジェスチョンプロセスが：
デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にする論理であって、前記デジタルアイテムが、前記デジタルアイテムの実行に関する複数の取引要求をテストサーバーアプリケーションに伝達するように構成され、前記テストサーバーアプリケーションが、前記デジタルアイテムの前記実行と関連付けられた複数の取引の完了をシミュレートするように構成されている、デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にする論理と、
複数のクライアント装置への配信のためのインジェスチョン中に、前記取引要求を生産サーバーアプリケーションに伝達するように前記デジタルアイテムを修正する論理であって、前記取引要求が、前記デジタルアイテム配信サービスからダウンロードされた前記デジタルアイテムのインスタンスから送信される場合に、前記生産サーバーアプリケーションが、前記取引を完了するように構成されている、前記デジタルアイテムを修正する論理と
を含む、インジェスチョンプロセスと
を備える、システム。
【請求項２】
前記取引の１つが金融取引を含む、請求項１に記載のシステム。
【請求項３】
前記取引の１つがメディアコンテンツのダウンロードを含む、請求項１に記載のシステム。
【請求項４】
前記デジタルアイテムがアプリケーションを含む、請求項１に記載のシステム。
【請求項５】
前記デジタルアイテムがメディアアイテムを含む、請求項１に記載のシステム。
【請求項６】
前記デジタルアイテムを修正する前記論理が、デジタル著作権管理を前記デジタルアイテムに適用する論理をさらに含む、請求項１に記載のシステム。
【請求項７】
前記デジタルアイテムが、前記取引要求を、前記デジタル著作権管理が前記デジタルアイテムに適用されていない場合は前記テストサーバーアプリケーションに送信し、かつ前記デジタル著作権管理が前記デジタルアイテムに適用されている場合には前記生産サーバーアプリケーションに送信するように構成されたアプリケーションプログラムインタフェースをさらに含む、請求項６に記載のシステム。
【請求項８】
前記デジタルアイテムが第１のライブラリをさらに含み、かつ前記デジタルアイテムを修正する前記論理が前記第１のライブラリを第２のライブラリで置換する、請求項１に記載のシステム。
【請求項９】
前記デジタルアイテムが、ネットワークアドレスおよびアプリケーションプログラムインタフェースをさらに含み、
前記アプリケーションプログラムインタフェースが、前記ネットワークアドレスが前記テストサーバーアプリケーションをポイントする場合は前記取引要求を前記テストサーバーアプリケーションに送信するように構成され、かつ前記ネットワークアドレスが前記生産サーバーアプリケーションと関連付けられている場合には、前記生産サーバーアプリケーションをポイントし、
前記デジタルアイテムを修正する前記論理が、前記ネットワークアドレスを前記生産サーバーアプリケーションをポイントするように修正する論理をさらに含む、
請求項１に記載のシステム。
【請求項１０】
前記デジタルアイテムが複数のデジタルアイテムのうちの１つであり、前記システムが、
前記少なくとも１つのコンピューティング装置内で実行可能な配信プロセスをさらに備え、前記配信プロセスが、
前記デジタルアイテムのリストを生成する論理と
アイテムの前記リスト内にリストされた前記デジタルアイテムのうちの１つのインスタンスのダウンロードを容易にする論理と
を含む、
請求項１に記載のシステム。
【請求項１１】
１つまたは複数のコンピューティング装置によって、デジタルアイテムによって送信された取引要求の受信を容易にすることであって、前記取引要求が前記デジタルアイテムのテストに関連している、デジタルアイテムによって送信された取引要求の受信を容易にすることと、
前記１つまたは複数のコンピューティング装置によって、前記取引要求に基づき、取引を開始することと、
前記１つまたは複数のコンピューティング装置によって、前記取引要求に対する所望の応答を選択する入力を要請するユーザーインタフェースをコード化することと、
前記１つまたは複数のコンピューティング装置によって、前記所望の応答に基づき、前記取引の履行をシミュレートすることと、
前記１つまたは複数のコンピューティング装置によって、前記所望の応答に基づく取引応答を前記デジタルアイテムに送信することと、
クライアント装置への配信のためのインジェスチョン中に、デジタルアイテムを修正し、生産サーバーアプリケーションに新しい取引要求を伝達することと、
を含み、
生産サーバーアプリケーションは、新しい取引要求が、クライアント装置に配信されたデジタルアイテムのインスタンスから送信された場合に、新しい取引を完了するように構成されている、
コンピュータ実装方法。
【請求項１２】
前記取引が金融取引またはメディアコンテンツのダウンロードを含む、請求項１１に記載のコンピュータ実装方法。
【請求項１３】
前記取引の前記履行を前記シミュレートすることが、ネットワークタイムアウト間隔の満了をシミュレートすることをさらに含む、請求項１１に記載のコンピュータ実装方法。
【請求項１４】
前記所望の応答を複数の考えられる応答から選択することをさらに含む、請求項１１に記載のコンピュータ実装方法。
【請求項１５】
前記考えられる応答を前記取引に応じて判断することをさらに含む、請求項１４に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、インジェスチョンプロセスに関する。
【背景技術】
【０００２】
多数のアプリケーションがネットワークを経由して取引を完了する機能を有し得る。開発者がこれらのアプリケーションを市販する前に、それらが正しく機能するかをテストしなければならない場合に問題が生じる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
開示の技術は、インジェスチョンプロセスを通してデジタルアイテムの修正を容易にすることを目的とする。
【課題を解決するための手段】
【０００４】
開示の技術の一態様のシステムは、少なくとも１つのコンピューティング装置と、前記少なくとも１つのコンピューティング装置内で実行可能なインジェスチョンプロセスであって、前記インジェスチョンプロセスが：デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にする論理であって、前記デジタルアイテムが、前記デジタルアイテムの実行に関する複数の取引要求をテストサーバーアプリケーションに伝達するように構成され、前記テストサーバーアプリケーションが、前記デジタルアイテムの前記実行と関連付けられた複数の取引の完了をシミュレートするように構成されている、デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にする論理と、複数のクライアント装置への配信のためのインジェスチョン中に、前記取引要求を生産サーバーアプリケーションに伝達するように前記デジタルアイテムを修正する論理であって、前記取引要求が、前記デジタルアイテム配信サービスからダウンロードされた前記デジタルアイテムのインスタンスから送信される場合に、前記生産サーバーアプリケーションが、前記取引を完了するように構成されている、前記デジタルアイテムを修正する論理と、を含む、インジェスチョンプロセスと、を備える。
【発明の効果】
【０００５】
開示の技術は、インジェスチョンプロセスを通してデジタルアイテムの修正を容易にすることを可能とする。
【図面の簡単な説明】
【０００６】
【図１】本開示の様々な実施形態によるネットワーク化された環境の図である。
【図２】本開示の様々な実施形態に従い、図１の配信コンピューティング装置内のコンピューティング装置内で実行されるインジェスチョンプロセス（ｉｎｇｅｓｔｉｏｎ  ｐｒｏｃｅｓｓ）の部分として実装された機能の一例を図示する流れ図である。
【図３Ａ】本開示の様々な実施形態に従い、テストサーバーアプリケーションを実行する図１のネットワーク化された環境内の開発者クライアント装置によってレンダリングされたユーザーインタフェースの一例の図である。
【図３Ｂ】本開示の様々な実施形態に従い、テストサーバーアプリケーションを実行する図１のネットワーク化された環境内の開発者クライアント装置によってレンダリングされたユーザーインタフェースの一例の図である。
【図４】本開示の様々な実施形態に従い、図１のテストコンピューティング装置内のコンピューティング装置内で実行されるテストサーバーアプリケーションの部分として実装された機能の一例を図示する流れ図である。
【図５】本開示の様々な実施形態に従い、図１の開発者クライアント装置の一図示例を提供する概略ブロック図である。
【図６】本開示の様々な実施形態に従い、図１のクライアント装置の一図示例を提供する概略ブロック図である。
【図７】本開示の様々な実施形態に従い、図１の配信コンピューティング装置内で採用されたコンピューティング装置の一図示例を提供する概略ブロック図である。
【発明を実施するための形態】
【０００７】
開示するのは、インジェスチョンプロセスを通してデジタルアイテムの修正を容易にする様々な実施形態である。多数のデジタルアイテムは、サーバーアプリケーションとの取引を完了する機能を含む。多くの場合、これは、デジタルアイテムが、そのアイテムのテスト中に１つのサーバーアプリケーションと、また、デジタルアイテムが公的に配信された後は別のサーバーアプリケーションと通信することを必要とする。限定されない例として、ゲームアプリケーションは、ユーザーが、アプリケーション内から金融取引を完了することにより追加のゲーム内コンテンツを購入することを可能にし得る。テスト中、ゲームは、金融取引をシミュレートだけするように構成されたテストサーバーアプリケーションと接触すべきである。ゲームが公的に利用可能な配信システム上に配置されると、ゲームは、ユーザーがゲーム内コンテンツに対して請求されるように、金融取引を完結するサーバーアプリケーションと接触すべきである。デジタルアイテムは、それがこれらの取引を、所定の条件に基づき、テストサーバーアプリケーションまたは公開サーバーアプリケーションのいずれかと開始するように作成できる。デジタルアイテムは、インジェスチョンプロセスを通して、所定の条件を満足するように変更でき、それにより、開発者がデジタルアイテムを変更する必要なく、それが生産サーバーアプリケーションと接触するようになる。
【０００８】
本開示の多数の態様は、図を参照するとより良く理解できる。図中の構成要素は、必ずしも一定の縮尺ではなく、代わりに、本開示の原理を明確に図示することに重きが置かれている。さらに、図では、同様の参照番号はいくつかの図を通して対応する部分を指定する。
【０００９】
図１を参照すると、様々な実施形態によるネットワーク化された環境１００が示されている。ネットワーク化された環境１００は、少なくとも１つの開発者クライアント装置１０１、少なくとも１つのクライアント装置１０４、ネットワーク１０７、テストコンピューティング装置１１０、生産コンピューティング装置１１３、配信コンピューティング装置１１６、および潜在的に他の装置を含む。ネットワーク１０７は、例えば、インターネット、イントラネット、エクストラネット、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、有線ネットワーク、無線ネットワーク、もしくは他の適切なネットワークなど、または２つ以上のかかるネットワークの任意の組合せを含む。
【００１０】
開発者クライアント装置１０１およびクライアント装置１０４は、ネットワーク１０７に結合され得る複数の装置の代表である。開発者クライアント装置１０１およびクライアント装置１０４は、例えば、コンピュータシステムなどのプロセッサベースのシステムを含み得る。かかるコンピュータシステムは、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末、携帯電話、セットトップボックス、音楽プレーヤー、ウェブパッド、タブレットコンピュータシステム、ゲーム機、または同様の機能を備えた他の装置の形で具現化され得る。
【００１１】
様々なアプリケーションおよび／または他の機能が、様々な実施形態に従って、開発者クライアント装置１０１およびクライアント装置１０４内で実行され得る。また、様々なデータが、開発者クライアント装置１０１がアクセス可能なデータストア１１９内に格納される。様々なデータが、クライアント装置１０４がアクセス可能なデータストア１４３内に格納される。データストア１１９および１４３は、理解され得るように、複数のデータストアの代表であり得る。データストア１１９および１４３内に格納されるデータは、例えば、以下で説明する、様々なアプリケーションおよび／または機能エンティティの動作と関連付けられている。
【００１２】
開発者クライアント装置１０１は、開発アプリケーション１２５、配備アプリケーション１３４、および／または他のアプリケーションなどの様々なアプリケーションを実行するように構成され得る。開発アプリケーション１２５は、デジタルアイテム１２２ａの作成を容易にするために開発者クライアント装置内で実行され得る。かかる開発アプリケーション１２５は、ソフトウェア開発キット（ＳＤＫ）、統合開発環境（ＩＤＥ）、テキストエディタ、１６進エディタ（ｈｅｘエディタ）、ワードプロセッサ、ビデオエディタ、音声エディタ、または生産性スイートを含み得る。デジタルアイテム１２２ａのインスタンスがデータストア１１９内に保存され得る。配備アプリケーション１３４は、デジタルアイテム１２２のインスタンスの配信コンピューティング装置１１６へのアップロードを容易にするために開発者クライアント装置１０１内で実行され得、理解され得るように、配信コンピューティング装置上で実行するプロセスによって提供されるネットワークページのアクセスおよびレンダリングのための、ブラウザ、入力コマンドを実行する端末、専用の実行可能アプリケーション、または別のアプリケーションを含み得る。
【００１３】
デジタルアイテム１２２ａは、実行可能アイテム、メディアアイテム、または別のタイプのデジタルアイテムを含み得る。実行可能アイテムは、理解され得るように、アプリケーション、バイナリ、または実行可能論理を含む任意の他のファイルを指し得る。メディアアイテムは、音声、ビジュアル、またはテキストコンテンツをユーザーに対して表示または再生するためにレンダリングする実行アプリケーション１３７を必要とする、音楽ファイル、ビデオファイル、文書、電子書籍、または任意の他のデータを含み得る。実行アプリケーション１３７は、理解され得るように、ユーザーの、デジタルアイテム１２２ａのメディアバージョンとのやり取りを容易にする、ビデオプレーヤー、音声プレーヤー、電子書籍リーダー、または任意の他のアプリケーションを含む、音楽、テキスト、またはビデオデータを復号するための実行可能論理を含むアプリケーションを指し得る。
【００１４】
クライアント装置１０４は、購入アプリケーション１４６、および／または他のアプリケーションなどの様々なアプリケーションを実行するように構成され得る。購入アプリケーション１４６は、デジタルアイテムのインスタンスの配信コンピューティング装置１１６からのダウンロードを容易にするためにクライアント装置内で実行され得、理解され得るように、配信コンピューティング装置１１６上で実行するプロセスによって提供されるネットワークページのアクセスおよびレンダリングのための、ブラウザ、専用の実行可能アプリケーション、または別のアプリケーションを含み得る。購入アプリケーション１４６は、その後データストア１４３内に格納され得るデジタルアイテム１２２ａ（ここではデジタルアイテム１２２ｂとして参照される）のインジェストされたインスタンスをダウンロードする任意の金融取引前提条件も促進するであろう。クライアント装置１０４は、デジタルアイテム１２２ｂのメディアアイテムバージョンをレンダリングするために実行アプリケーション１３７（実行アプリケーション１３７ａとして参照される）のインスタンスも実行し得る。
【００１５】
テストコンピューティング装置１１０および生産コンピューティング装置１１３は、例えば、サーバーコンピュータまたはコンピューティング機能を提供する任意の他のシステムを含み得る。代替として、複数のコンピューティング装置１１０および１１３が、例えば、１つもしくは複数のサーバーバンクもしくはコンピュータバンクまたは他の配列で配置されて、採用され得る。例えば、複数のコンピューティング装置１１０および１１３は一緒に、クラウドコンピューティング資源、グリッドコンピューティング資源、および／または任意の他の分散コンピューティング配置を含み得る。かかるコンピューティング装置１１０および１１３は、単一の施設に配置され得るか、または多数の異なる地理的位置間に分散され得る。便宜目的のため、コンピューティング装置１１０または１１３の各々は、本明細書では単数で参照される。たとえ、コンピューティング装置１１０または１１３が単数で参照されていても、前述のように、複数のコンピューティング装置１１０または１１３が、様々な配置で採用され得ることが理解される。
【００１６】
テストコンピューティング装置１１０上で実行される構成要素は、例えば、テストサーバーアプリケーション１５５、および本明細書では詳細に議論しない、他のアプリケーション、サービス、プロセス、システム、エンジン、または機能を含む。テストサーバーアプリケーション１５５は、デジタルアイテム１２２ａのテストに関して取引の完了をシミュレートするために実行される。
【００１７】
生産コンピューティング装置１４９上で実行される構成要素は、例えば、生産サーバーアプリケーション１５８、および本明細書では詳細に議論しない、他のアプリケーション、サービス、プロセス、システム、エンジン、または機能を含む。生産サーバーアプリケーション１５８は、後で説明されるように、デジタルアイテム１２２ｂのインスタンスのクライアント装置１０４上での実行に関して取引の完了するために実行される。
【００１８】
配信コンピューティング装置１１６は、例えば、サーバーコンピュータまたはコンピューティング機能を提供する任意の他のシステムを含み得る。代替として、複数の配信コンピューティング装置１１６が、例えば、１つもしくは複数のサーバーバンクもしくはコンピュータバンクまたは他の配列で配置されて、採用され得る。例えば、複数の配信コンピューティング装置１１６は一緒に、クラウドコンピューティング資源、グリッドコンピューティング資源、および／または任意の他の分散コンピューティング配置を含み得る。かかる配信コンピューティング装置１１６は、単一の施設に配置され得るか、または多数の異なる地理的位置間に分散され得る。便宜目的のため、配信コンピューティング装置１１６は、本明細書では単数で参照される。たとえ、コンピューティング装置が単数で参照されていても、前述のように、複数の配信コンピューティング装置１１６が、様々な配置で採用され得ることが理解される。
【００１９】
配信コンピューティング装置１１６上で実行される構成要素は、例えば、デジタルアイテム配信サービス１６１、および本明細書では詳細に議論しない、他のアプリケーション、サービス、プロセス、システム、エンジン、または機能を含む。デジタルアイテム配信サービス１６１は、インジェスチョンプロセス１６４の使用を通して、デジタルアイテム１２２ａの配備アプリケーション１３４からのネットワーク１０７を経由したアップロードを容易にするために実行される。デジタルアイテム１２２ａ（ここではデジタルアイテム１２２ｂとして参照される）のインジェストされたインスタンスがデータストア１７０内に保存され得る。デジタルアイテム配信サービス１６１は、配信プロセス１６７も使用して、デジタルアイテム１２２ｂのインジェストされたインスタンスの、購入アプリケーション１４６を実行するクライアント装置１０４へのネットワーク１０７を経由したダウンロードを容易にする。この目的のため、デジタルアイテム配信サービス１６１は、開発者クライアント装置１０１およびクライアント装置１０４と、例えば、ネットワーク１０７を経由してデータを伝達するための、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、ファイル転送プロトコル（ＦＴＰ）、ＨＴＴＰセキュア（ＨＴＴＰＳ）、シンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）、表現状態転送（ＲＥＳＴ）、ユーザーデータグラムプロトコル（ＵＤＰ）、伝送制御プロトコル（ＴＣＰ）、および／または他のプロトコルなどの、様々なプロトコルを経由して通信し得る。様々な実施形態では、デジタルアイテム配信サービス１６１は、例えば、データ通信のための、ＢｉｔＴｏｒｒｅｎｔなどの、エニーキャストサービスおよび／またはピアツーピア（Ｐ２Ｐ）プロトコルの使用をサポートし得る。追加として、デジタルアイテム配信サービス１６１は、転送の完了を確実にするため、スケジューリングされたアップロードまたはダウンロードの進捗を監視し得る。
【００２０】
データストア１７０は、理解され得るように、複数のデータストアの代表であり得る。データストア１７０内に格納されるデータは、例えば、デジタルアイテム１２２ｂのインジェストされたインスタンス、および潜在的に他のデータを含む。
【００２１】
次に、ネットワーク化された環境１００の様々な構成要素の動作の概要を提供する。初めに、デジタルアイテム１２２ａが、１つまたは複数の開発アプリケーション１２５を使用して、開発者クライアント装置１０１上で作成される。デジタルアイテム１２２ａは、インジェスチョン前はテストサーバーアプリケーション１５５、またはインジェスチョン後には生産サーバーアプリケーション１５８のいずれかと取引を開始する論理を含む。例えば、いくつかの実施形態では、これは、プレーヤーが金銭との引き換えに追加の機能のロックを解除する論理を含むゲームを含み得る。他の実施形態では、これは、追加のビデオコンテンツへのアクセスを許可する論理を含むビデオメディアアイテムを含み得る。加えて、デジタルアイテム１２２ａは、他のコンテキストでは、テストサーバーアプリケーション１５５および生産サーバーアプリケーション１５８とやり取りし得る。この論理は、取引要求１５２を、テストサーバーアプリケーション１５５または生産サーバーアプリケーション１５８のいずれかに送信する。取引要求１５２は、どの機能がロック解除されるかを示すデータおよびテストサーバーアプリケーションが取引の完了をシミュレートするのに十分な他のデータを含み得る。かかる取引要求１５２は、クレジットカード情報または他のユーザー識別情報を含み得る。
【００２２】
テストサーバーアプリケーションは、取引要求１５２に応答して、取引の完了または失敗をシミュレートし、シミュレートした結果を示す複数の取引応答１４９を、デジタルアイテム１２２ａに送信する。いくつかの実施形態では、テストコンピューティング装置１１０は、開発者クライアント装置１０１がネットワーク１０７を経由して通信する１つまたは複数のコンピューティング装置を含む。他の実施形態では、テストコンピューティング装置１１０は、開発者クライアント装置１０１と同じシステムであり得、テストサーバーアプリケーション１５５は、開発者クライアント装置１０１上で実行する多数のアプリケーションのうちの１つである。
【００２３】
テストサーバーアプリケーション１５５が開発者クライアント装置１０１上で実行される実施形態では、テストサーバーアプリケーション１５５が成功取引をシミュレートするか不成功取引をシミュレートするかは、ユーザーインタフェースへの入力によって決まり得る。例えば、一実施形態では、デジタルアイテム１２２ａは、取引が、取引要求１５２をテストサーバーアプリケーション１５５に伝達することにより完了されるのを要求し得る。テストサーバーアプリケーション１５５は、ユーザーインタフェースを表示して、成功取引または不成功取引をシミュレートするかに関する入力を要請する。かかる入力は、実行される取引のタイプも示し得る。ユーザーインタフェースへの入力に基づき、テストサーバーアプリケーション１５５は、その後デジタルアイテム１２２ａに伝達される、取引応答１４９を生成する。
【００２４】
生産サーバーアプリケーション１５８は、取引要求１５２に応答して、要求された取引を完了しようと試みる。取引を完了しようとする試みの成功に基づき、生産サーバーアプリケーションは、取引応答１４９を、元の取引要求１５２を送信したデジタルアイテム１２２ｂのインジェストされたインスタンスに伝達する。取引応答１４９は、クレジットカード取引が受理される場合など、その取引が成功であったか、または、クレジットカードが拒否される場合など、不成功であったかを示す。他の例では、取引要求１５２は、資金が前払い口座から引き出される取引を開始し得る。成功取引では、取引応答１４９は、口座に十分な資金が入っていて、必要な額が口座から引き落とされていることを示す。不成功の取引応答１４９は、口座に十分な資金がなかったことを示す。いくつかの実施形態では、生産サーバーアプリケーションは、生産コンピューティング装置１１３上で実行される。他の実施形態では、それは、配信コンピューティング装置１１６上で実行されるいくつかのアプリケーションのうちの１つとして実行される。
【００２５】
デジタルアイテム１２２ａは、取引要求１５２が、インジェスチョン前はテストサーバーアプリケーション１５５に、およびインジェスチョン後には生産サーバーアプリケーション１５８に伝達されることを確実にするための論理を含む。かかる論理は、アプリケーションプログラムインタフェース、ライブラリ、または別の構成要素内に格納され得る。いくつかの実施形態では、取引要求１５２をテストサーバーアプリケーション１５５または生産サーバーアプリケーション１５８に送信するかの判断が、デジタル著作権管理の存在をチェックする論理によって実行される。他の実施形態では、デジタルアイテム１２２ａは、デジタルアイテム１２２ａのライブラリ内に定義されたメソッドを実行する論理を含む。この事例では、デジタルアイテム１２２ａのライブラリが、取引要求１５２をテストサーバーアプリケーション１５５に伝達するメソッドを定義する。別の実施形態では、デジタルアイテム１２２ａが取引要求１５２を、デジタルアイテムのファイル構成要素内で定義されたネットワークアドレスに送信する。インジェスチョン前には、このネットワークアドレスは、テストサーバーアプリケーション１５５をポイントする。
【００２６】
開発者クライアント装置１０１上で実行される配備アプリケーション１３４は、デジタルアイテム１２２ａのネットワーク１０７を経由した配信コンピューティング装置１１６へのアップロードを容易にする。配信コンピューティング装置１１６は、デジタルアイテム１２２ａのアップロードを容易にするインジェスチョンプロセス１６４を含むデジタルアイテム配信サービス１６１を実行する。インジェスチョンプロセス１６４は、また、デジタルアイテム１２２ａのアップロードされたインスタンスをデジタルアイテム１２２ｂのインジェストされたバージョンに修正する。インジェストされたデジタルアイテム１２２ｂは、取引要求１５２が生産サーバーアプリケーション１５８に伝達されるように、修正されている。
【００２７】
デジタル著作権管理がない場合にデジタルアイテム１２２ａが取引要求１５２をテストサーバーアプリケーション１５５に送信する事例では、インジェスチョンプロセス１６４が、デジタル著作権管理をデジタルアイテム１２２ａに適用する。デジタルアイテム１２２ｂのこのインジェストされたインスタンスは、取引要求１５２を、デジタル著作権管理の存在を検出する論理に基づき、生産サーバーアプリケーション１５８に送信する。デジタルアイテム１２２ａの取引要求が、ライブラリ構成要素内で定義された論理を使用して送信される、別の実施形態では、インジェスチョンプロセス１６４は、デジタルアイテム１２２ａのライブラリ構成要素を置換する。デジタルアイテム１２２ｂのこのインジェストされたインスタンスでは、ライブラリ構成要素が、取引要求１５２が生産サーバーアプリケーション１５８に送信される論理を定義する。
【００２８】
別の実施形態では、デジタルアイテム１２２ａは取引要求１５２ａを、ファイル構成要素内に格納されたネットワークアドレスによってポイントされるテストサーバーアプリケーション１５５に送信する。インジェスチョンプロセス１６４は、ファイル構成要素のネットワークアドレスが現在、生産サーバーアプリケーション１５８をポイントするように、ファイル構成要素を自動的に修正する。デジタルアイテム１２２ａのインスタンスに対する他の修正は、理解されるように、インジェストされたインスタンス１２２ｂがその取引要求１５２を生産サーバーアプリケーション１５８に伝達するように、インジェスチョンプロセス１６４によって使用され得る。デジタルアイテム１２２ｂのインジェストされたインスタンスはデータストア１７０に保存される。
【００２９】
クライアント装置１０４は、購入アプリケーション１４６を通じてデジタルアイテム配信サービス１６１にアクセスし得る。一実施形態では、購入アプリケーション１４６は、デジタルアイテム配信サービス１６１によって生成されたネットワークページをレンダリングするブラウザである。別の実施形態では、購入アプリケーション１４６は、例えば、アプリストア、または他の実行可能アプリケーションなどの、専用の実行可能アプリケーションである。デジタルアイテム配信サービス１６１は、購入アプリケーション１４６によって購入可能なインジェストされたデジタルアイテム１２２ｂのリストを生成する。デジタルアイテム１２２ｂのリストは、検索語、デジタルアイテム１２２ｂの人気、ユーザーの好み、および以前の購入履歴を含む、様々な基準に基づき得る。購入アプリケーション１４６は、デジタルアイテム配信サービス１６１から購入可能なデジタルアイテム１２２ｂのリストを示すユーザーインタフェースをレンダリングする。購入するデジタルアイテム１２２ｂを示すユーザーインタフェースからの入力に基づき、配信プロセス１６７は、デジタルアイテム１２２ｂの購入されたインスタンスのネットワーク１０７を経由したクライアント装置１０４へのダウンロードを容易にする。
【００３０】
一実施形態によれば、デジタルアイテム配信サービス１６１から購入されたデジタルアイテム１２２ｂのインジェストされたインスタンスは、インジェスチョンプロセス１６４によって修正されているであろう。クライアント装置１０４上で実行される場合、デジタルアイテム１２２ｂは、前述のように、取引要求１５２を生産サーバーアプリケーション１５８に伝達するであろう。
【００３１】
次に図２を参照すると、様々な実施形態に従い、インジェスチョンプロセス１６４（図１）の一部分の動作の一例を提供する流れ図が示されている。図２の流れ図は、本明細書で説明するように、インジェスチョンプロセス１６４のその部分の動作を実装するために採用され得る、多数の異なるタイプの機能的配置の一例を提供するのに過ぎないことが理解される。代替として、図２の流れ図は、１つまたは複数の実施形態に従って配信コンピューティング装置１１６（図１）内で実装される方法のステップの一例を示すと見なされ得る。
【００３２】
図２で実行される動作は、開発者クライアント装置１０１（図１）による、デジタルアイテム１２２ａ（図１）のデジタルアイテム配信サービス１６１（図１）へのアップロードによってトリガーされる。前述のように、デジタルアイテム１２２ａのこのバージョンは、それが取引要求１５２（図１）をテストサーバーアプリケーション１５５（図１）に送信するように、構成される。インジェスチョンプロセス１６４は、デジタルアイテム１２２ａを修正する。デジタルアイテム１２２ｂ（図１）のこのインジェストされたインスタンスは、その取引要求を生産サーバーアプリケーション１５８に伝達するであろう。デジタルアイテム１２２ｂのインジェストされたインスタンスは、次いで、データストア１７０（図１）に保存される。デジタルアイテム配信サービス１６１に接続するクライアント装置１０４（図１）は、次いで、データストア１７０内に格納されたデジタルアイテム１２２ｂのインジェストされたインスタンスをダウンロードできる。
【００３３】
ボックス２０１から開始して、デジタルアイテム１２２ａが、ネットワーク１０７（図１）を通じて、デジタルアイテム配信サービス１６１にアップロードされる。いくつかの実施形態では、これは、デジタルアイテム１２２のアップロードを容易にする、開発者クライアント装置１０１上で実行される配備アプリケーション１２５（図１）を通して達成される。ボックス２０４で、インジェスチョンプロセス１６４が、アップロードされたデジタルアイテム１２２ａが第１の事前に定義された条件を具現化するかを判断する。デジタルアイテム１２２ａは、デジタルアイテム１２２ａによって送信された取引要求１５２がテストサーバーアプリケーション１５５に送信されるような方法で構成される場合、第１の事前定義された条件を具現化する。一実施形態では、第１の事前定義された条件は、デジタルアイテム１２２ａ上に存在するデジタル著作権管理がない場合に満足される。
【００３４】
別の実施形態では、デジタルアイテム１２２ａが第１の事前定義された条件を具現化するかを判断することが、デジタルアイテム１２２ａのライブラリを検査することを含む。例えば、この判断は、デジタルアイテム１２２ａのライブラリ内で定義されたメソッドまたは論理が、実行時に、取引要求１５２をテストサーバーアプリケーション１５５に送信するかどうかを確認するために、その定義されたメソッドまたは論理を直接検査することを含み得る。この判断は、チェックサム、別のハッシュ合計、または何らかの他の一意の識別子などの、ライブラリ構成要素と関連付けられた一意の識別子を検査することも含み得る。一意の識別子は、次いで、デジタルアイテム１２２ａが第１の事前定義された条件を具現化するかどうかを示す既知の値と比較される。
【００３５】
別の実施形態では、デジタルアイテム１２２ａがテストサーバーアプリケーション１５５と通信するように構成されているかを判断することが、デジタルアイテム１２２ａがアクセス可能なファイル内に格納されたネットワークアドレスを検査することを含み得る。一実施形態では、これは、ファイル内に格納されたネットワークアドレスを、テストサーバーアプリケーションをポイントすると分かっているアドレスのリストと比較することを含み得る。他の実施形態では、これは、ネットワークアドレス内のある部分列またはキーワードを探すことを含み得る。
【００３６】
ボックス２０７で、インジェスチョンプロセス１６４は、ボックス２０４で判断されたように、デジタルアイテム１２２ａが第１の事前に定義された条件を具現化するかに基づき、続行する。ボックス２１１で、デジタルアイテム１２２ａが第１の事前定義された条件を具現化した場合、インジェスチョンプロセス１６４は次いで、デジタルアイテム１２２ｂのインジェストされたインスタンスが第２の事前に定義された条件を具現化するように、デジタルアイテム１２２ａを修正する。デジタルアイテム１２２ｂは、デジタルアイテム１２２ｂによって送信された取引要求１５２が生産サーバーアプリケーション１５８に送信されるような方法で構成される場合、第２の事前定義された条件を具現化する。
【００３７】
いくつかの実施形態では、デジタルアイテム１２２ｂのインジェストされたインスタンスは、その取引要求１５２を、デジタル著作権管理の存在によって判断された宛先に送信するであろう。これらのインスタンスでは、インジェスチョンプロセス１６４は、デジタルアイテム１２２ｂのインジェストされたインスタンスを生成するために、デジタル著作権管理をアップロードされたデジタルアイテム１２２ａに適用する。
【００３８】
別の実施形態では、デジタルアイテム１２２ｂのインジェストされたインスタンスは、その取引要求１５２を、ライブラリ内で定義された論理またはメソッドを実行することにより送信するであろう。この実施形態では、インジェスチョンプロセス１６４は、アップロードされたデジタルアイテム１２２ａの既存のライブラリを異なるライブラリで置換するように構成される。デジタルアイテム１２２ｂのインジェストされたインスタンスのライブラリは、取引要求１５２を、生産サーバーアプリケーション１５８に送信する機能を実行する論理またはメソッドを定義する。
【００３９】
別の実施形態では、デジタルアイテム１２２ｂのインジェストされたインスタンスは、その取引要求１５２を、ファイル内に格納されたネットワークアドレスによってポイントされる宛先に送信するであろう。この実施形態では、インジェスチョンプロセス１６４は、ファイル内に格納されたネットワークアドレスを、生産サーバーアプリケーション１５８をポイントするように修正するように構成される。
【００４０】
デジタルアイテム１２２ａのアップロードされたインスタンスが第１の事前に定義された条件を具現化しなかった場合（ボックス２０７を参照）、インジェスチョンは修正なしで完了されて、動作はボックス２１３に進む。最後に、ボックス２１３で、デジタルアイテム１２２ｂのインジェストされたインスタンスがデータストア１７０に保存され、それはデジタルアイテム配信サービス１６１がアクセス可能である。
【００４１】
図３Ａおよび図３Ｂに進むと、様々な実施形態に従い、テストサーバーアプリケーション１５５（図１）とやり取りするユーザーインタフェースの一例が示されている。この実施形態では、テストサーバーアプリケーション１５５は、開発者クライアント装置１０１（図１）上で実行される。アイテム３０１は、開発者クライアント装置１０１上で実行されるデジタルアイテム１２２ａ（図１）によって生成されたユーザーインタフェースを示す。この例では、デジタルアイテム１２２ａは、様々なエンハンスメント（ｅｎｈａｎｃｅｍｅｎｔ）がゲーム内から購入できるゲームを含む。エンハンスメントリスト３０４は、購入可能なエンハンスメントおよびそれらの対応する価格をリストする。ボタン３０７は、対応するエンハンスメントを購入するための金融取引を開始するエンハンスメントリスト３０４への各エントリを伴う。
【００４２】
ボタン３０７がユーザーによってクリックされると、デジタルアイテム１２２ａは取引要求１５２（図１）をテストサーバーアプリケーション１５５に送信する。図３Ｂに進むと、テストサーバーアプリケーション１５５は次いで、ユーザーからの入力を要請するユーザーインタフェース３１１をレンダリングするためにコード化する。ユーザーインタフェース３１１は次いで、表示のためにクライアント装置１０４に送信される。ユーザーインタフェース３１１は、応答選択肢３１４を含む。ユーザーが応答選択肢３１４を選択すると、テストサーバーアプリケーション１５５が、ユーザーインタフェース３１１への入力に基づき取引の完了をシミュレートする。テストサーバーアプリケーション１５５は次いで、対応する取引応答１４９をデジタルアイテム１２２ａに送信する。
【００４３】
次に図４を参照すると、様々な実施形態に従い、テストサーバーアプリケーション１５５（図１）の一部分の動作の一例を提供する流れ図が示されている。図４の流れ図は、本明細書で説明するように、テストサーバーアプリケーション１５５のその部分の動作を実装するために採用され得る、多数の異なるタイプの機能的配置の一例を提供するのに過ぎないことが理解される。代替として、図４の流れ図は、１つまたは複数の実施形態に従って、テストコンピューティング装置１１０（図１）内で実装される方法のステップの一例を示すと見なされ得る。
【００４４】
図４の動作は、テストサーバーアプリケーション１５５が開発者クライアント装置１０１（図１）上で実行される、いくつかの実施形態でトリガーされる。デジタルアイテム１２２ａ（図１）が、開発者クライアント装置１０１上で実行される。メディアアイテムの事例では、この実行は、実行アプリケーション１３７（図１）によって容易にされる。実行可能アイテムの事例では、必要な実行可能論理がアイテム内に含まれており、実行アプリケーション１３７は必要ない。デジタルアイテム１２２ａが取引を開始すると、それは、取引要求１５２（図１）をテストサーバーアプリケーション１５５に送信する。テストサーバーアプリケーション１５５は次いで、ユーザーが、デジタルアイテム１２２ａに送信される取引応答１４９（図１）を制御できるようにするユーザーインタフェースを生成する。
【００４５】
ボックス４０１から開始して、取引要求１５２がデジタルアイテム１２２ａからテストサーバーアプリケーション１５５に伝達される。この取引要求１５２は、テストサーバーアプリケーション１５５との取引を開始するために使用される。前述のように、取引は、金融取引、メディアコンテンツのダウンロード、または何らかの他の取引を含み得る。ボックス４０４で、取引要求１５２を受信すると、テストサーバーアプリケーション１５５は、要求に対する考えられる応答のリストを示すユーザーインタフェースをレンダリングする。
【００４６】
考えられる選択のリストは、デジタルアイテム１２２ａが開始しようと試みる取引に基づき変動する。例えば、クレジットカードを使用して支払う金融取引を開始する取引要求１５２に応答して、テストサーバーアプリケーション１５５は、認可されるクレジットカード、拒否されるクレジットカード、ネットワークタイムアウト、または他の選択肢を示す、選択肢のリストを有するユーザーインタフェースをレンダリングし得る。別の例では、前払い口座を使用して支払う金融取引を開始する取引要求１５２に応答して、テストサーバーアプリケーション１５５は、資金の成功使用、資金不足、または他の選択肢を示す、選択肢のリストを有するユーザーインタフェースをレンダリングし得る。メディアコンテンツをダウンロードするための取引では、ユーザーインタフェースは、許可されたダウンロード、ユーザー制約に基づき拒否されたダウンロード、一時的な利用不能、または他の選択肢を示す選択肢をリストし得る。
【００４７】
テストサーバーアプリケーション１５５は、ユーザーインタフェースが入力を受信するまで、取引応答１４９をデジタルアイテム１２２ａに送信しない。その結果、ボックス４０７および４１１で、テストサーバーアプリケーション１５５は、応答がユーザーインタフェース内で選択されるまで待機する。ボックス４１３で、入力が選択された後、テストサーバーアプリケーション１５５は、ユーザーインタフェースに対する入力に基づき、取引の完了をシミュレートする。例えば、シミュレートされた口座を使用して支払われる金融取引では、口座は適切な金額が借方に記入される。他の実施形態では、テストサーバーアプリケーション１５５は、確認メッセージを、電子メール、テキストメッセージ、または他の通信媒体でユーザーに伝達し得る。最後に、ボックス４１６は、テストサーバーアプリケーションが、ユーザーインタフェースに対する入力に基づき取引応答１４９を送信するのを示す。
【００４８】
図５を参照すると、本開示の一実施形態に従った開発者クライアント装置１０１（図１）の概略ブロック図が示されている。開発者クライアント装置１０１は、例えば、プロセッサ６０１およびメモリ６０４を有し、その両方がローカルインタフェース６０７に結合されている、少なくとも１つのプロセッサ回路を含む。この目的のため、開発者クライアント装置１０１は、例えば、少なくとも１つのサーバーコンピュータまたは同様の装置を含み得る。ローカルインタフェース５０７は、例えば、理解され得るように、付随のアドレス／制御バスまたは他のバス構造を備えたデータバスを含み得る。
【００４９】
メモリ５０４に格納されているのは、データおよびプロセッサ５０１によって実行可能ないくつかの構成要素の両方である。具体的には、メモリ５０４に格納されていて、プロセッサ５０１によって実行可能なものは、開発アプリケーション１２５（図１）、配備アプリケーション１３４（図１）、テストサーバーアプリケーション１５５（図１）、および潜在的に他のアプリケーションである。また、メモリ５０４内に格納されているのは、デジタルアイテム１２２ａ（図１）のインスタンスを格納するデータストア１１９（図１）、および他のデータであり得る。加えて、オペレーティングシステムがメモリ５０４内に格納されて、プロセッサ５０１によって実行可能であり得る。
【００５０】
図６を参照すると、本開示の一実施形態に従ったクライアント装置１０４（図１）の概略ブロック図が示されている。クライアント装置１０４は、例えば、プロセッサ６０１およびメモリ６０４を有し、その両方がローカルインタフェース６０７に結合されている、少なくとも１つのプロセッサ回路を含む。この目的のため、クライアント装置１０４は、例えば、少なくとも１つのサーバーコンピュータまたは同様の装置を含み得る。ローカルインタフェース６０７は、例えば、理解され得るように、付随のアドレス／制御バスまたは他のバス構造を備えたデータバスを含み得る。
【００５１】
メモリ６０４に格納されているのは、データおよびプロセッサ６０１によって実行可能ないくつかの構成要素の両方である。具体的には、メモリ６０４に格納されていて、プロセッサ６０１によって実行可能なものは、購入アプリケーション１４６（図１）、実行アプリケーション１３７（図１）のインスタンス、および潜在的に他のアプリケーションである。また、メモリ６０４内に格納されているのは、デジタルアイテム１２２ｂ（図１）のインスタンスを格納するデータストア１４３（図１）、および他のデータであり得る。加えて、オペレーティングシステムがメモリ５０４内に格納されて、プロセッサ５０１によって実行可能であり得る。
【００５２】
図７を参照すると、本開示の一実施形態に従った配信コンピューティング装置１１６（図１）の概略ブロック図が示されている。配信コンピューティング装置１１６は、例えば、プロセッサ７０１およびメモリ７０４を有し、その両方がローカルインタフェース７０７に結合されている、少なくとも１つのプロセッサ回路を含む。この目的のため、配信コンピューティング装置１１６は、例えば、少なくとも１つのサーバーコンピュータまたは同様の装置を含み得る。ローカルインタフェース７０７は、例えば、理解され得るように、付随のアドレス／制御バスまたは他のバス構造を備えたデータバスを含み得る。
【００５３】
メモリ７０４に格納されているのは、データおよびプロセッサ７０１によって実行可能ないくつかの構成要素の両方である。具体的には、メモリ７０４に格納されていて、プロセッサ７０１によって実行可能なものは、インジェスチョンプロセス１６４（図１）および配信プロセス１６７（図１）を含むデジタルアイテム配信サービス１６１（図１）、ならびに潜在的に他のアプリケーションである。また、メモリ７０４内に格納されているのは、デジタルアイテム１２２ｂ（図１）のインジェストされたインスタンスを格納するデータストア１７０、および他のデータであり得る。加えて、オペレーティングシステムがメモリ７０４内に格納されて、プロセッサ７０１によって実行可能であり得る。
【００５４】
見て分かるとおり、メモリ５０４、６０４、および７０４内に格納されて、プロセッサ５０１、６０１、および７０１によって実行可能である他のアプリケーションがあり得ることが理解される。本明細書で説明する任意の構成要素がソフトウェアの形で実装される場合、例えば、Ｃ、Ｃ＋＋、Ｃ＃、Ｏｂｊｅｃｔｉｖｅ  Ｃ、Ｊａｖａ、ＪａｖａＳｃｒｉｐｔ、Ｐｅｒｌ、ＰＨＰ、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｐｙｔｈｏｎ、Ｒｕｂｙ，Ｄｅｌｐｈｉ、Ｆｌａｓｈ、または他のプログラミング言語などの、いくつかのプログラミング言語のうちの任意の１つが採用され得る。
【００５５】
いくつかのソフトウェア構成要素がメモリ５０４、６０４、および７０４内に格納され、プロセッサ５０１、６０１、および７０１によって実行可能である。この点において、用語「実行可能」は、プロセッサ５０１、６０１、および７０１によって最終的に実行できる形式であるプログラムファイルを意味する。実行可能プログラムの例は、例えば、メモリ５０４、６０４、および７０４のランダムアクセス部分にロードでき、プロセッサ５０１、６０１、および７０１によって実行できるフォーマットで、機械コードに変換できるコンパイル済みプログラム、メモリ５０４、６０４、および７０４のランダムアクセス部分にロードされ、プロセッサ５０１、６０１、および７０１によって実行されることが可能なオブジェクトコードなどの適切なフォーマットで表現され得るソースコード、または、プロセッサ５０１、６０１、および７０１によって実行されるようにメモリ５０４、６０４、および７０４のランダムアクセス部分内で命令を生成するために、別の実行可能プログラムによって解釈され得るソースコードなど、であり得る。実行可能プログラムは、例えば、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、ハードドライブ、ソリッドステートドライブ、ＵＳＢフラッシュドライブ、メモリカード、コンパクトディスク（ＣＤ）もしくはデジタル多用途ディスク（ＤＶＤ）などの光ディスク、フロッピィディスク、磁気テープ、または他のメモリ構成要素を含む、メモリ５０４、６０４、および７０４の任意の部分または構成要素内に格納され得る。
【００５６】
メモリ５０４、６０４、および７０４は、本明細書では、揮発性および不揮発性のメモリおよびデータ記憶構成要素の両方を含むとして定義される。揮発性構成要素は、電源喪失時にデータ値を保持しないものである。不揮発性構成要素は、電源喪失時にデータ値を保持するものである。従って、メモリ５０４、６０４、および７０４は、例えば、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、ハードディスクドライブ、ソリッドステートドライブ、ＵＳＢフラッシュドライブ、メモリカードリーダーを介してアクセスされるメモリカード、関連付けられたフロッピィディスクドライブを介してアクセスされるフロッピィディスク、光ディスクドライブを介してアクセスされる光ディスク、適切なテープドライブを介してアクセスされる磁気テープ、および／もしくは他のメモリ構成要素、またはこれらのメモリ構成要素の任意の２つ以上の組合せを含み得る。加えて、ＲＡＭは、例えば、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、または磁気ランダムアクセスメモリ（ＭＲＡＭ）および他のかかる装置を含み得る。ＲＯＭは、例えば、プログラマブル読取り専用メモリ（ＰＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、または他の同様のメモリ装置を含み得る。
【００５７】
また、それぞれ、プロセッサ５０１、６０１、および７０１は、複数のプロセッサ５０１、６０１、および７０１を代表し得、メモリ５０４、６０４、および７０４は、並列処理回路内で動作する複数のメモリ５０４、６０４、および７０４を代表し得る。かかる事例では、ローカルインタフェース５０７、６０７、および７０７は、複数のプロセッサ５０１、６０１、および７０１の任意の２つの間、任意のプロセッサ５０１、６０１、および７０１とメモリ５０４、６０４、および７０４のいずれかとの間、またはメモリ５０４、６０４、および７０４の任意の２つの間、などの通信を容易にする適切なネットワーク１０７（図１）であり得る。ローカルインタフェース５０７、６０７、および７０７は、例えば、負荷分散の実行を含み、この通信を調整するために設計された追加のシステムを含み得る。プロセッサ５０１、６０１、および７０１は、電気的、または何らかの他の利用可能な構造であり得る。
【００５８】
インジェスチョンプロセス１６４（図１）、テストサーバーアプリケーション１５５（図１）、および本明細書で説明する他の様々なシステムは、前述のように、ソフトウェア、または汎用ハードウェアで実行されるコードで実施され得るが、代替として、同じものが、専用ハードウェアまたはソフトウェア／汎用ハードウェアと専用ハードウェアの組合せでも実施され得る。専用ハードウェアで実施される場合、各々は、いくつかの技術のいずれか１つまたはいくつかの技術の組合せを採用する回路または状態機械として実装できる。これらの技術は、１つもしくは複数のデータ信号の適用時に様々な論理関数を実装するための論理ゲートを有する離散論理回路、適切な論理ゲートを有する特定用途向け集積回路、または他の構成要素などを含み得るが、それらに限定されない。かかる技術は一般に、当業者によって良く知られており、それ故、本明細書では詳細に説明しない。
【００５９】
図２、図３Ａおよび図３Ｂの流れ図は、アプリストアテストクライアントの部分の実施態様の機能および動作を示す。ソフトウェアで実施される場合、各ブロックは、指定された論理関数（複数可）を実装するためのプログラム命令を含むモジュール、セグメント、またはコードの部分を表し得る。プログラム命令は、コンピュータシステムまたは他のシステム内のプロセッサ５０１、６０１、および７０１などの適切な実行システムによって認識可能な数値命令を含む、プログラミング言語で書かれた人間が可読な命令を含むソースコードまたは機械コードの形式で実施され得る。機械コードは、ソースコードなどから変換され得る。ハードウェアで実施される場合、各ブロックは、指定された論理関数（複数可）を実装するための回路またはいくつかの相互接続回路を表し得る。
【００６０】
図２、図３Ａおよび図３Ｂの流れ図は、実行の特定の順序を示すが、実行順序は、示されるものとは異なり得ることが理解される。例えば、２つ以上のブロックの実行順序は、示される順序に対して混ぜられ得る。また、図２、図３Ａおよび図３Ｂに連続して示される２つ以上のブロックは、同時に、または一部同時に実行され得る。さらに、いくつかの実施形態では、図２、図３Ａおよび図３Ｂに示されるブロックの１つまたは複数は、スキップまたは省略され得る。加えて、任意の数のカウンタ、状態変数、警告セマフォ、またはメッセージが、強化された有用性、課金、性能測定、またはトラブルシューティング支援の提供などを目的として、本明細書で説明する論理の流れに追加され得る。全てのかかる変形は、本開示の範囲内であることが理解される。
【００６１】
また、ソフトウェアまたはコードを含む、テストサーバーアプリケーション１５５（図１）、デジタルアイテム配信サービス１６１（図１）、およびインジェスチョンプロセス１６４（図１）を含む、本明細書で説明する任意の論理またはアプリケーションは、コンピュータシステムまたは他のシステム内の、例えば、プロセッサ５０１、６０１、および７０１などの、命令実行システムによる使用、または命令実行システムに関連した使用のために、任意の持続性コンピュータ可読媒体で実施できる。この意味で、論理は、例えば、コンピュータ可読媒体からフェッチして、命令実行システムによって実行できる、命令および宣言を含む、文を含み得る。本開示のコンテキストでは、「コンピュータ可読媒体」は、命令実行システムによる使用、または命令実行システムに関連した使用のために、本明細書で説明する論理またはアプリケーションを包含するか、格納するか、または保持する任意の媒体であり得る。コンピュータ可読媒体は、例えば、磁気媒体、光媒体、または半導体媒体などの、多数の物理媒体のうちの任意の１つを含み得る。適切なコンピュータ可読媒体のさらに具体的な例は、磁気テープ、磁気フロッピィディスケット、磁気ハードドライブ、メモリカード、ソリッドステートドライブ、ＵＳＢフラッシュドライブ、または光ディスクを含み得るが、それらに限定されない。また、コンピュータ可読媒体は、例えば、スタティックランダムアクセスメモリ（ＳＲＡＭ）およびダイナミックランダムアクセスメモリ（ＤＲＡＭ）、または磁気ランダムアクセスメモリ（ＭＲＡＭ）を含む、ランダムアクセスメモリ（ＲＡＭ）であり得る。加えて、コンピュータ可読媒体は、読取り専用メモリ（ＲＯＭ）、プログラマブル読取り専用メモリ（ＰＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、または他の同様のメモリ装置であり得る。
【００６２】
本開示の様々な実施形態は、以下の限定されない付記項を考慮して説明できる。
【００６３】
付記項１．コンピューティング装置内で実行可能なプログラムを具現化する持続性コンピュータ可読媒体であって、プログラムが、
デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にするコードであって、デジタルアイテムが、
第１の事前に定義された条件に基づき、複数の取引要求をテストサーバーアプリケーションに伝達し、かつ、第２の事前に定義された条件に基づき、取引要求を生産サーバーアプリケーションに伝達するように構成されていて、第１および第２の事前に定義された条件が相互に排他的である、少なくともアプリケーションプログラムインタフェースを含み、
テストサーバーアプリケーションが、デジタルアイテムの使用に関連付けられた複数の金融取引の完了をシミュレートするように構成され、
生産サーバーアプリケーションが、デジタルアイテム配信サービスからダウンロードされた、デジタルアイテムのインスタンスのクライアント装置上での実行に関連付けられた複数の金融取引を完了するように構成され、
デジタルアイテムがアップロード前は、第１の所定の条件を具現化するように構成されている、
デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にするコード；
デジタルアイテムを、アップロードと同時に、第１の所定の条件の具現化から第２の所定の条件の具現化に修正するコート；および
デジタルアイテムを、デジタルアイテム配信サービスがアクセス可能なデータストアに保存するコードであって、デジタルアイテム配信サービスが、デジタルアイテムのインスタンスのクライアント装置上へのダウンロードを容易にする、デジタルアイテムを、デジタルアイテム配信サービスがアクセス可能なデータストアに保存するコード
を含む、持続性コンピュータ可読媒体。
【００６４】
付記項２．デジタルアイテムを修正するコードが、デジタル著作権管理をデジタルアイテムに追加するコードをさらに含む、付記項１に記載のコンピュータ可読媒体。
【００６５】
付記項３．デジタルアイテムが第１のライブラリを含み、かつデジタルアイテムを修正するコードが第１のライブラリを第２のライブラリと置換する、付記項１に記載のコンピュータ可読媒体。
【００６６】
付記項４．デジタルアイテムが、アップロード前はテストサーバーアプリケーションと関連付けられたネットワークアドレスを含み、かつデジタルアイテムを修正するコードが、ネットワークアドレスを生産サーバーアプリケーションと関連付けられるように修正するコードをさらに含む、付記項１に記載のコンピュータ可読媒体。
【００６７】
付記項５．少なくとも１つのコンピューティング装置；および
少なくとも１つのコンピューティング装置内で実行可能なインジェスチョンプロセスを備えるシステムであって、インジェスチョンプロセスが：
デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にする論理であって、デジタルアイテムが、デジタルアイテムの実行に関連した複数の取引要求をテストサーバーアプリケーションに伝達するように構成され、テストサーバーアプリケーションが、デジタルアイテムの実行に関連付けられた複数の取引の完了をシミュレートするように構成されている、デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にする論理；および
複数のクライアント装置への配信のためのインジェスチョン中に、取引要求を生産サーバーアプリケーションに伝達するようにデジタルアイテムを修正する論理であって、取引要求が、デジタルアイテム配信サービスからダウンロードされたデジタルアイテムのインスタンスから送信される場合に、生産サーバーアプリケーションが、取引を完了するように構成されている、デジタルアイテムを修正する論理；
を含む、システム。
【００６８】
付記項６．取引の１つが金融取引を含む、付記項５に記載のシステム。
【００６９】
付記項７．取引の１つがメディアコンテンツのダウンロードを含む、付記項５に記載のシステム。
【００７０】
付記項８．デジタルアイテムがアプリケーションを含む、付記項５に記載のシステム。
【００７１】
付記項９．デジタルアイテムがメディアアイテムを含む、付記項５に記載のシステム。
【００７２】
付記項１０．デジタルアイテムを修正する論理が、デジタル著作権管理をデジタルアイテムに適用する論理をさらに含む、付記項５に記載のシステム。
【００７３】
付記項１１．デジタルアイテムが、取引要求を、デジタル著作権管理がそのデジタルアイテムに適用されていない場合はテストサーバーアプリケーションに送信し、かつデジタル著作権管理がそのデジタルアイテムに適用されている場合には生産サーバーアプリケーションに送信するように構成されたアプリケーションプログラムインタフェースをさらに含む、付記項１０に記載のシステム。
【００７４】
付記項１２．デジタルアイテムが第１のライブラリをさらに含み、かつデジタルアイテムを修正する論理が第１のライブラリを第２のライブラリで置換する、付記項５に記載のシステム。
【００７５】
付記項１３．デジタルアイテムが、ネットワークアドレスおよびアプリケーションプログラムインタフェースをさらに含み、
【００７６】
アプリケーションプログラムインタフェースが、ネットワークアドレスがテストサーバーアプリケーションをポイントする場合には取引要求をテストサーバーアプリケーションに送信するように構成され、かつネットワークアドレスが生産サーバーアプリケーションと関連付けられている場合には生産サーバーをポイントし、
デジタルアイテムを修正する論理が、ネットワークアドレスを生産サーバーアプリケーションをポイントするように修正する論理をさらに含む、
付記項５に記載のシステム。
【００７７】
付記項１４．デジタルアイテムが複数のデジタルアイテムのうちの１つであり、システムが、
少なくとも１つのコンピューティング装置内で実行可能な配信プロセスをさらに備え、配信プロセスが、
デジタルアイテムのリストを生成する論理；および
アイテムのリスト内にリストされたデジタルアイテムのうちの１つのインスタンスのダウンロードを容易にする論理
を含む、付記項５に記載のシステム。
【００７８】
付記項１５．少なくとも１つのコンピューティング装置；および少なくとも１つのコンピューティング装置内で実行可能なテストサーバーアプリケーションを備えるシステムであって、テストサーバーアプリケーションが：
デジタルアイテムによって送信された取引要求の受信を容易にする論理であって、取引要求がデジタルアイテムのテストに関連する、デジタルアイテムによって送信された取引要求の受信を容易にする論理；
取引要求に基づき取引を開始する論理；
取引要求に対する所望の応答を選択する入力を要請するユーザーインタフェースをレンダリングするためにコード化する論理；
所望の応答に基づき取引の履行をシミュレートする論理；および
デジタルアイテムに対する所望の応答に基づき取引応答を送信する論理
を含む、システム。
【００７９】
付記項１６．取引が金融取引を含む、付記項１５に記載のシステム。
【００８０】
付記項１７．取引がメディアコンテンツのダウンロードを含む、付記項１５に記載のシステム。
【００８１】
付記項１８．取引の履行をシミュレートする論理が、ネットワークタイムアウト間隔の満了をシミュレートする論理をさらに含む、付記項１５に記載のシステム。
【００８２】
付記項１９．所望の応答が、複数の考えられる応答から選択される、付記項１５に記載のシステム。
【００８３】
付記項２０．テストサーバーアプリケーションが、考えられる応答を取引に応じて判断する論理をさらに含む、付記項１９に記載のシステム。
【００８４】
本開示の前述した実施形態は、本開示の原理の明確な理解のために記載された実施態様の考えられる例にすぎないことが強調されるべきである。多数の変形および修正が、本開示の精神および原理から実質的に逸脱することなく、前述の実施形態（複数可）に対して行われ得る。全てのかかる修正および変形は、本明細書で本開示の範囲内に含まれ、次の請求項によって保護されることを意図する。
【００８５】
関連出願の相互参照
以下の出願は、出願番号１３／５４２，９５６号を有する、２０１２年７月６日に出願された「ＤＩＧＩＴＡＬ  ＩＴＥＭ  ＩＮＧＥＳＴＩＯＮ  ＰＲＯＣＥＳＳ」という名称の米国特許出願に対する優先権、およびその利益を主張し、それは、全体として参照により本明細書に組み込まれる。
【図１】
0006012865.tif 000002
【図２】
0006012865.tif 000003
【図３Ａ】
0006012865.tif 000004
【図３Ｂ】
0006012865.tif 000005
【図４】
0006012865.tif 000006
【図５】
0006012865.tif 000007
【図６】
0006012865.tif 000008
【図７】
0006012865.tif 000009