JP6012865B2 - デジタルアイテムインジェスチョンプロセス - Google Patents

デジタルアイテムインジェスチョンプロセス Download PDF

Info

Publication number
JP6012865B2
JP6012865B2 JP2015520703A JP2015520703A JP6012865B2 JP 6012865 B2 JP6012865 B2 JP 6012865B2 JP 2015520703 A JP2015520703 A JP 2015520703A JP 2015520703 A JP2015520703 A JP 2015520703A JP 6012865 B2 JP6012865 B2 JP 6012865B2
Authority
JP
Japan
Prior art keywords
digital item
digital
transaction
server application
item
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015520703A
Other languages
English (en)
Other versions
JP2015531106A (ja
Inventor
ラフル ラヴィクマール、
ラフル ラヴィクマール、
チラグ、 アニル メータ、
チラグ、 アニル メータ、
マイケル、 アール. シワピンヨヨス、
マイケル、 アール. シワピンヨヨス、
スティーブン、 シー. ジョンソン、
スティーブン、 シー. ジョンソン、
サンバー ジル、
サンバー ジル、
マヤンク、 アービンドバハイ ぺテル、
マヤンク、 アービンドバハイ ぺテル、
Original Assignee
アマゾン テクノロジーズ インク
アマゾン テクノロジーズ インク
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アマゾン テクノロジーズ インク, アマゾン テクノロジーズ インク filed Critical アマゾン テクノロジーズ インク
Publication of JP2015531106A publication Critical patent/JP2015531106A/ja
Application granted granted Critical
Publication of JP6012865B2 publication Critical patent/JP6012865B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Stored Programmes (AREA)

Description

開示の技術は、インジェスチョンプロセスに関する。
多数のアプリケーションがネットワークを経由して取引を完了する機能を有し得る。開発者がこれらのアプリケーションを市販する前に、それらが正しく機能するかをテストしなければならない場合に問題が生じる。
開示の技術は、インジェスチョンプロセスを通してデジタルアイテムの修正を容易にすることを目的とする。
開示の技術の一態様のシステムは、少なくとも1つのコンピューティング装置と、前記少なくとも1つのコンピューティング装置内で実行可能なインジェスチョンプロセスであって、前記インジェスチョンプロセスが:デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にする論理であって、前記デジタルアイテムが、前記デジタルアイテムの実行に関する複数の取引要求をテストサーバーアプリケーションに伝達するように構成され、前記テストサーバーアプリケーションが、前記デジタルアイテムの前記実行と関連付けられた複数の取引の完了をシミュレートするように構成されている、デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にする論理と、複数のクライアント装置への配信のためのインジェスチョン中に、前記取引要求を生産サーバーアプリケーションに伝達するように前記デジタルアイテムを修正する論理であって、前記取引要求が、前記デジタルアイテム配信サービスからダウンロードされた前記デジタルアイテムのインスタンスから送信される場合に、前記生産サーバーアプリケーションが、前記取引を完了するように構成されている、前記デジタルアイテムを修正する論理と、を含む、インジェスチョンプロセスと、を備える。
開示の技術は、インジェスチョンプロセスを通してデジタルアイテムの修正を容易にすることを可能とする。
本開示の様々な実施形態によるネットワーク化された環境の図である。 本開示の様々な実施形態に従い、図1の配信コンピューティング装置内のコンピューティング装置内で実行されるインジェスチョンプロセス(ingestion process)の部分として実装された機能の一例を図示する流れ図である。 本開示の様々な実施形態に従い、テストサーバーアプリケーションを実行する図1のネットワーク化された環境内の開発者クライアント装置によってレンダリングされたユーザーインタフェースの一例の図である。 本開示の様々な実施形態に従い、テストサーバーアプリケーションを実行する図1のネットワーク化された環境内の開発者クライアント装置によってレンダリングされたユーザーインタフェースの一例の図である。 本開示の様々な実施形態に従い、図1のテストコンピューティング装置内のコンピューティング装置内で実行されるテストサーバーアプリケーションの部分として実装された機能の一例を図示する流れ図である。 本開示の様々な実施形態に従い、図1の開発者クライアント装置の一図示例を提供する概略ブロック図である。 本開示の様々な実施形態に従い、図1のクライアント装置の一図示例を提供する概略ブロック図である。 本開示の様々な実施形態に従い、図1の配信コンピューティング装置内で採用されたコンピューティング装置の一図示例を提供する概略ブロック図である。
開示するのは、インジェスチョンプロセスを通してデジタルアイテムの修正を容易にする様々な実施形態である。多数のデジタルアイテムは、サーバーアプリケーションとの取引を完了する機能を含む。多くの場合、これは、デジタルアイテムが、そのアイテムのテスト中に1つのサーバーアプリケーションと、また、デジタルアイテムが公的に配信された後は別のサーバーアプリケーションと通信することを必要とする。限定されない例として、ゲームアプリケーションは、ユーザーが、アプリケーション内から金融取引を完了することにより追加のゲーム内コンテンツを購入することを可能にし得る。テスト中、ゲームは、金融取引をシミュレートだけするように構成されたテストサーバーアプリケーションと接触すべきである。ゲームが公的に利用可能な配信システム上に配置されると、ゲームは、ユーザーがゲーム内コンテンツに対して請求されるように、金融取引を完結するサーバーアプリケーションと接触すべきである。デジタルアイテムは、それがこれらの取引を、所定の条件に基づき、テストサーバーアプリケーションまたは公開サーバーアプリケーションのいずれかと開始するように作成できる。デジタルアイテムは、インジェスチョンプロセスを通して、所定の条件を満足するように変更でき、それにより、開発者がデジタルアイテムを変更する必要なく、それが生産サーバーアプリケーションと接触するようになる。
本開示の多数の態様は、図を参照するとより良く理解できる。図中の構成要素は、必ずしも一定の縮尺ではなく、代わりに、本開示の原理を明確に図示することに重きが置かれている。さらに、図では、同様の参照番号はいくつかの図を通して対応する部分を指定する。
図1を参照すると、様々な実施形態によるネットワーク化された環境100が示されている。ネットワーク化された環境100は、少なくとも1つの開発者クライアント装置101、少なくとも1つのクライアント装置104、ネットワーク107、テストコンピューティング装置110、生産コンピューティング装置113、配信コンピューティング装置116、および潜在的に他の装置を含む。ネットワーク107は、例えば、インターネット、イントラネット、エクストラネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、有線ネットワーク、無線ネットワーク、もしくは他の適切なネットワークなど、または2つ以上のかかるネットワークの任意の組合せを含む。
開発者クライアント装置101およびクライアント装置104は、ネットワーク107に結合され得る複数の装置の代表である。開発者クライアント装置101およびクライアント装置104は、例えば、コンピュータシステムなどのプロセッサベースのシステムを含み得る。かかるコンピュータシステムは、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末、携帯電話、セットトップボックス、音楽プレーヤー、ウェブパッド、タブレットコンピュータシステム、ゲーム機、または同様の機能を備えた他の装置の形で具現化され得る。
様々なアプリケーションおよび/または他の機能が、様々な実施形態に従って、開発者クライアント装置101およびクライアント装置104内で実行され得る。また、様々なデータが、開発者クライアント装置101がアクセス可能なデータストア119内に格納される。様々なデータが、クライアント装置104がアクセス可能なデータストア143内に格納される。データストア119および143は、理解され得るように、複数のデータストアの代表であり得る。データストア119および143内に格納されるデータは、例えば、以下で説明する、様々なアプリケーションおよび/または機能エンティティの動作と関連付けられている。
開発者クライアント装置101は、開発アプリケーション125、配備アプリケーション134、および/または他のアプリケーションなどの様々なアプリケーションを実行するように構成され得る。開発アプリケーション125は、デジタルアイテム122aの作成を容易にするために開発者クライアント装置内で実行され得る。かかる開発アプリケーション125は、ソフトウェア開発キット(SDK)、統合開発環境(IDE)、テキストエディタ、16進エディタ(hexエディタ)、ワードプロセッサ、ビデオエディタ、音声エディタ、または生産性スイートを含み得る。デジタルアイテム122aのインスタンスがデータストア119内に保存され得る。配備アプリケーション134は、デジタルアイテム122のインスタンスの配信コンピューティング装置116へのアップロードを容易にするために開発者クライアント装置101内で実行され得、理解され得るように、配信コンピューティング装置上で実行するプロセスによって提供されるネットワークページのアクセスおよびレンダリングのための、ブラウザ、入力コマンドを実行する端末、専用の実行可能アプリケーション、または別のアプリケーションを含み得る。
デジタルアイテム122aは、実行可能アイテム、メディアアイテム、または別のタイプのデジタルアイテムを含み得る。実行可能アイテムは、理解され得るように、アプリケーション、バイナリ、または実行可能論理を含む任意の他のファイルを指し得る。メディアアイテムは、音声、ビジュアル、またはテキストコンテンツをユーザーに対して表示または再生するためにレンダリングする実行アプリケーション137を必要とする、音楽ファイル、ビデオファイル、文書、電子書籍、または任意の他のデータを含み得る。実行アプリケーション137は、理解され得るように、ユーザーの、デジタルアイテム122aのメディアバージョンとのやり取りを容易にする、ビデオプレーヤー、音声プレーヤー、電子書籍リーダー、または任意の他のアプリケーションを含む、音楽、テキスト、またはビデオデータを復号するための実行可能論理を含むアプリケーションを指し得る。
クライアント装置104は、購入アプリケーション146、および/または他のアプリケーションなどの様々なアプリケーションを実行するように構成され得る。購入アプリケーション146は、デジタルアイテムのインスタンスの配信コンピューティング装置116からのダウンロードを容易にするためにクライアント装置内で実行され得、理解され得るように、配信コンピューティング装置116上で実行するプロセスによって提供されるネットワークページのアクセスおよびレンダリングのための、ブラウザ、専用の実行可能アプリケーション、または別のアプリケーションを含み得る。購入アプリケーション146は、その後データストア143内に格納され得るデジタルアイテム122a(ここではデジタルアイテム122bとして参照される)のインジェストされたインスタンスをダウンロードする任意の金融取引前提条件も促進するであろう。クライアント装置104は、デジタルアイテム122bのメディアアイテムバージョンをレンダリングするために実行アプリケーション137(実行アプリケーション137aとして参照される)のインスタンスも実行し得る。
テストコンピューティング装置110および生産コンピューティング装置113は、例えば、サーバーコンピュータまたはコンピューティング機能を提供する任意の他のシステムを含み得る。代替として、複数のコンピューティング装置110および113が、例えば、1つもしくは複数のサーバーバンクもしくはコンピュータバンクまたは他の配列で配置されて、採用され得る。例えば、複数のコンピューティング装置110および113は一緒に、クラウドコンピューティング資源、グリッドコンピューティング資源、および/または任意の他の分散コンピューティング配置を含み得る。かかるコンピューティング装置110および113は、単一の施設に配置され得るか、または多数の異なる地理的位置間に分散され得る。便宜目的のため、コンピューティング装置110または113の各々は、本明細書では単数で参照される。たとえ、コンピューティング装置110または113が単数で参照されていても、前述のように、複数のコンピューティング装置110または113が、様々な配置で採用され得ることが理解される。
テストコンピューティング装置110上で実行される構成要素は、例えば、テストサーバーアプリケーション155、および本明細書では詳細に議論しない、他のアプリケーション、サービス、プロセス、システム、エンジン、または機能を含む。テストサーバーアプリケーション155は、デジタルアイテム122aのテストに関して取引の完了をシミュレートするために実行される。
生産コンピューティング装置149上で実行される構成要素は、例えば、生産サーバーアプリケーション158、および本明細書では詳細に議論しない、他のアプリケーション、サービス、プロセス、システム、エンジン、または機能を含む。生産サーバーアプリケーション158は、後で説明されるように、デジタルアイテム122bのインスタンスのクライアント装置104上での実行に関して取引の完了するために実行される。
配信コンピューティング装置116は、例えば、サーバーコンピュータまたはコンピューティング機能を提供する任意の他のシステムを含み得る。代替として、複数の配信コンピューティング装置116が、例えば、1つもしくは複数のサーバーバンクもしくはコンピュータバンクまたは他の配列で配置されて、採用され得る。例えば、複数の配信コンピューティング装置116は一緒に、クラウドコンピューティング資源、グリッドコンピューティング資源、および/または任意の他の分散コンピューティング配置を含み得る。かかる配信コンピューティング装置116は、単一の施設に配置され得るか、または多数の異なる地理的位置間に分散され得る。便宜目的のため、配信コンピューティング装置116は、本明細書では単数で参照される。たとえ、コンピューティング装置が単数で参照されていても、前述のように、複数の配信コンピューティング装置116が、様々な配置で採用され得ることが理解される。
配信コンピューティング装置116上で実行される構成要素は、例えば、デジタルアイテム配信サービス161、および本明細書では詳細に議論しない、他のアプリケーション、サービス、プロセス、システム、エンジン、または機能を含む。デジタルアイテム配信サービス161は、インジェスチョンプロセス164の使用を通して、デジタルアイテム122aの配備アプリケーション134からのネットワーク107を経由したアップロードを容易にするために実行される。デジタルアイテム122a(ここではデジタルアイテム122bとして参照される)のインジェストされたインスタンスがデータストア170内に保存され得る。デジタルアイテム配信サービス161は、配信プロセス167も使用して、デジタルアイテム122bのインジェストされたインスタンスの、購入アプリケーション146を実行するクライアント装置104へのネットワーク107を経由したダウンロードを容易にする。この目的のため、デジタルアイテム配信サービス161は、開発者クライアント装置101およびクライアント装置104と、例えば、ネットワーク107を経由してデータを伝達するための、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、HTTPセキュア(HTTPS)、シンプルオブジェクトアクセスプロトコル(SOAP)、表現状態転送(REST)、ユーザーデータグラムプロトコル(UDP)、伝送制御プロトコル(TCP)、および/または他のプロトコルなどの、様々なプロトコルを経由して通信し得る。様々な実施形態では、デジタルアイテム配信サービス161は、例えば、データ通信のための、BitTorrentなどの、エニーキャストサービスおよび/またはピアツーピア(P2P)プロトコルの使用をサポートし得る。追加として、デジタルアイテム配信サービス161は、転送の完了を確実にするため、スケジューリングされたアップロードまたはダウンロードの進捗を監視し得る。
データストア170は、理解され得るように、複数のデータストアの代表であり得る。データストア170内に格納されるデータは、例えば、デジタルアイテム122bのインジェストされたインスタンス、および潜在的に他のデータを含む。
次に、ネットワーク化された環境100の様々な構成要素の動作の概要を提供する。初めに、デジタルアイテム122aが、1つまたは複数の開発アプリケーション125を使用して、開発者クライアント装置101上で作成される。デジタルアイテム122aは、インジェスチョン前はテストサーバーアプリケーション155、またはインジェスチョン後には生産サーバーアプリケーション158のいずれかと取引を開始する論理を含む。例えば、いくつかの実施形態では、これは、プレーヤーが金銭との引き換えに追加の機能のロックを解除する論理を含むゲームを含み得る。他の実施形態では、これは、追加のビデオコンテンツへのアクセスを許可する論理を含むビデオメディアアイテムを含み得る。加えて、デジタルアイテム122aは、他のコンテキストでは、テストサーバーアプリケーション155および生産サーバーアプリケーション158とやり取りし得る。この論理は、取引要求152を、テストサーバーアプリケーション155または生産サーバーアプリケーション158のいずれかに送信する。取引要求152は、どの機能がロック解除されるかを示すデータおよびテストサーバーアプリケーションが取引の完了をシミュレートするのに十分な他のデータを含み得る。かかる取引要求152は、クレジットカード情報または他のユーザー識別情報を含み得る。
テストサーバーアプリケーションは、取引要求152に応答して、取引の完了または失敗をシミュレートし、シミュレートした結果を示す複数の取引応答149を、デジタルアイテム122aに送信する。いくつかの実施形態では、テストコンピューティング装置110は、開発者クライアント装置101がネットワーク107を経由して通信する1つまたは複数のコンピューティング装置を含む。他の実施形態では、テストコンピューティング装置110は、開発者クライアント装置101と同じシステムであり得、テストサーバーアプリケーション155は、開発者クライアント装置101上で実行する多数のアプリケーションのうちの1つである。
テストサーバーアプリケーション155が開発者クライアント装置101上で実行される実施形態では、テストサーバーアプリケーション155が成功取引をシミュレートするか不成功取引をシミュレートするかは、ユーザーインタフェースへの入力によって決まり得る。例えば、一実施形態では、デジタルアイテム122aは、取引が、取引要求152をテストサーバーアプリケーション155に伝達することにより完了されるのを要求し得る。テストサーバーアプリケーション155は、ユーザーインタフェースを表示して、成功取引または不成功取引をシミュレートするかに関する入力を要請する。かかる入力は、実行される取引のタイプも示し得る。ユーザーインタフェースへの入力に基づき、テストサーバーアプリケーション155は、その後デジタルアイテム122aに伝達される、取引応答149を生成する。
生産サーバーアプリケーション158は、取引要求152に応答して、要求された取引を完了しようと試みる。取引を完了しようとする試みの成功に基づき、生産サーバーアプリケーションは、取引応答149を、元の取引要求152を送信したデジタルアイテム122bのインジェストされたインスタンスに伝達する。取引応答149は、クレジットカード取引が受理される場合など、その取引が成功であったか、または、クレジットカードが拒否される場合など、不成功であったかを示す。他の例では、取引要求152は、資金が前払い口座から引き出される取引を開始し得る。成功取引では、取引応答149は、口座に十分な資金が入っていて、必要な額が口座から引き落とされていることを示す。不成功の取引応答149は、口座に十分な資金がなかったことを示す。いくつかの実施形態では、生産サーバーアプリケーションは、生産コンピューティング装置113上で実行される。他の実施形態では、それは、配信コンピューティング装置116上で実行されるいくつかのアプリケーションのうちの1つとして実行される。
デジタルアイテム122aは、取引要求152が、インジェスチョン前はテストサーバーアプリケーション155に、およびインジェスチョン後には生産サーバーアプリケーション158に伝達されることを確実にするための論理を含む。かかる論理は、アプリケーションプログラムインタフェース、ライブラリ、または別の構成要素内に格納され得る。いくつかの実施形態では、取引要求152をテストサーバーアプリケーション155または生産サーバーアプリケーション158に送信するかの判断が、デジタル著作権管理の存在をチェックする論理によって実行される。他の実施形態では、デジタルアイテム122aは、デジタルアイテム122aのライブラリ内に定義されたメソッドを実行する論理を含む。この事例では、デジタルアイテム122aのライブラリが、取引要求152をテストサーバーアプリケーション155に伝達するメソッドを定義する。別の実施形態では、デジタルアイテム122aが取引要求152を、デジタルアイテムのファイル構成要素内で定義されたネットワークアドレスに送信する。インジェスチョン前には、このネットワークアドレスは、テストサーバーアプリケーション155をポイントする。
開発者クライアント装置101上で実行される配備アプリケーション134は、デジタルアイテム122aのネットワーク107を経由した配信コンピューティング装置116へのアップロードを容易にする。配信コンピューティング装置116は、デジタルアイテム122aのアップロードを容易にするインジェスチョンプロセス164を含むデジタルアイテム配信サービス161を実行する。インジェスチョンプロセス164は、また、デジタルアイテム122aのアップロードされたインスタンスをデジタルアイテム122bのインジェストされたバージョンに修正する。インジェストされたデジタルアイテム122bは、取引要求152が生産サーバーアプリケーション158に伝達されるように、修正されている。
デジタル著作権管理がない場合にデジタルアイテム122aが取引要求152をテストサーバーアプリケーション155に送信する事例では、インジェスチョンプロセス164が、デジタル著作権管理をデジタルアイテム122aに適用する。デジタルアイテム122bのこのインジェストされたインスタンスは、取引要求152を、デジタル著作権管理の存在を検出する論理に基づき、生産サーバーアプリケーション158に送信する。デジタルアイテム122aの取引要求が、ライブラリ構成要素内で定義された論理を使用して送信される、別の実施形態では、インジェスチョンプロセス164は、デジタルアイテム122aのライブラリ構成要素を置換する。デジタルアイテム122bのこのインジェストされたインスタンスでは、ライブラリ構成要素が、取引要求152が生産サーバーアプリケーション158に送信される論理を定義する。
別の実施形態では、デジタルアイテム122aは取引要求152aを、ファイル構成要素内に格納されたネットワークアドレスによってポイントされるテストサーバーアプリケーション155に送信する。インジェスチョンプロセス164は、ファイル構成要素のネットワークアドレスが現在、生産サーバーアプリケーション158をポイントするように、ファイル構成要素を自動的に修正する。デジタルアイテム122aのインスタンスに対する他の修正は、理解されるように、インジェストされたインスタンス122bがその取引要求152を生産サーバーアプリケーション158に伝達するように、インジェスチョンプロセス164によって使用され得る。デジタルアイテム122bのインジェストされたインスタンスはデータストア170に保存される。
クライアント装置104は、購入アプリケーション146を通じてデジタルアイテム配信サービス161にアクセスし得る。一実施形態では、購入アプリケーション146は、デジタルアイテム配信サービス161によって生成されたネットワークページをレンダリングするブラウザである。別の実施形態では、購入アプリケーション146は、例えば、アプリストア、または他の実行可能アプリケーションなどの、専用の実行可能アプリケーションである。デジタルアイテム配信サービス161は、購入アプリケーション146によって購入可能なインジェストされたデジタルアイテム122bのリストを生成する。デジタルアイテム122bのリストは、検索語、デジタルアイテム122bの人気、ユーザーの好み、および以前の購入履歴を含む、様々な基準に基づき得る。購入アプリケーション146は、デジタルアイテム配信サービス161から購入可能なデジタルアイテム122bのリストを示すユーザーインタフェースをレンダリングする。購入するデジタルアイテム122bを示すユーザーインタフェースからの入力に基づき、配信プロセス167は、デジタルアイテム122bの購入されたインスタンスのネットワーク107を経由したクライアント装置104へのダウンロードを容易にする。
一実施形態によれば、デジタルアイテム配信サービス161から購入されたデジタルアイテム122bのインジェストされたインスタンスは、インジェスチョンプロセス164によって修正されているであろう。クライアント装置104上で実行される場合、デジタルアイテム122bは、前述のように、取引要求152を生産サーバーアプリケーション158に伝達するであろう。
次に図2を参照すると、様々な実施形態に従い、インジェスチョンプロセス164(図1)の一部分の動作の一例を提供する流れ図が示されている。図2の流れ図は、本明細書で説明するように、インジェスチョンプロセス164のその部分の動作を実装するために採用され得る、多数の異なるタイプの機能的配置の一例を提供するのに過ぎないことが理解される。代替として、図2の流れ図は、1つまたは複数の実施形態に従って配信コンピューティング装置116(図1)内で実装される方法のステップの一例を示すと見なされ得る。
図2で実行される動作は、開発者クライアント装置101(図1)による、デジタルアイテム122a(図1)のデジタルアイテム配信サービス161(図1)へのアップロードによってトリガーされる。前述のように、デジタルアイテム122aのこのバージョンは、それが取引要求152(図1)をテストサーバーアプリケーション155(図1)に送信するように、構成される。インジェスチョンプロセス164は、デジタルアイテム122aを修正する。デジタルアイテム122b(図1)のこのインジェストされたインスタンスは、その取引要求を生産サーバーアプリケーション158に伝達するであろう。デジタルアイテム122bのインジェストされたインスタンスは、次いで、データストア170(図1)に保存される。デジタルアイテム配信サービス161に接続するクライアント装置104(図1)は、次いで、データストア170内に格納されたデジタルアイテム122bのインジェストされたインスタンスをダウンロードできる。
ボックス201から開始して、デジタルアイテム122aが、ネットワーク107(図1)を通じて、デジタルアイテム配信サービス161にアップロードされる。いくつかの実施形態では、これは、デジタルアイテム122のアップロードを容易にする、開発者クライアント装置101上で実行される配備アプリケーション125(図1)を通して達成される。ボックス204で、インジェスチョンプロセス164が、アップロードされたデジタルアイテム122aが第1の事前に定義された条件を具現化するかを判断する。デジタルアイテム122aは、デジタルアイテム122aによって送信された取引要求152がテストサーバーアプリケーション155に送信されるような方法で構成される場合、第1の事前定義された条件を具現化する。一実施形態では、第1の事前定義された条件は、デジタルアイテム122a上に存在するデジタル著作権管理がない場合に満足される。
別の実施形態では、デジタルアイテム122aが第1の事前定義された条件を具現化するかを判断することが、デジタルアイテム122aのライブラリを検査することを含む。例えば、この判断は、デジタルアイテム122aのライブラリ内で定義されたメソッドまたは論理が、実行時に、取引要求152をテストサーバーアプリケーション155に送信するかどうかを確認するために、その定義されたメソッドまたは論理を直接検査することを含み得る。この判断は、チェックサム、別のハッシュ合計、または何らかの他の一意の識別子などの、ライブラリ構成要素と関連付けられた一意の識別子を検査することも含み得る。一意の識別子は、次いで、デジタルアイテム122aが第1の事前定義された条件を具現化するかどうかを示す既知の値と比較される。
別の実施形態では、デジタルアイテム122aがテストサーバーアプリケーション155と通信するように構成されているかを判断することが、デジタルアイテム122aがアクセス可能なファイル内に格納されたネットワークアドレスを検査することを含み得る。一実施形態では、これは、ファイル内に格納されたネットワークアドレスを、テストサーバーアプリケーションをポイントすると分かっているアドレスのリストと比較することを含み得る。他の実施形態では、これは、ネットワークアドレス内のある部分列またはキーワードを探すことを含み得る。
ボックス207で、インジェスチョンプロセス164は、ボックス204で判断されたように、デジタルアイテム122aが第1の事前に定義された条件を具現化するかに基づき、続行する。ボックス211で、デジタルアイテム122aが第1の事前定義された条件を具現化した場合、インジェスチョンプロセス164は次いで、デジタルアイテム122bのインジェストされたインスタンスが第2の事前に定義された条件を具現化するように、デジタルアイテム122aを修正する。デジタルアイテム122bは、デジタルアイテム122bによって送信された取引要求152が生産サーバーアプリケーション158に送信されるような方法で構成される場合、第2の事前定義された条件を具現化する。
いくつかの実施形態では、デジタルアイテム122bのインジェストされたインスタンスは、その取引要求152を、デジタル著作権管理の存在によって判断された宛先に送信するであろう。これらのインスタンスでは、インジェスチョンプロセス164は、デジタルアイテム122bのインジェストされたインスタンスを生成するために、デジタル著作権管理をアップロードされたデジタルアイテム122aに適用する。
別の実施形態では、デジタルアイテム122bのインジェストされたインスタンスは、その取引要求152を、ライブラリ内で定義された論理またはメソッドを実行することにより送信するであろう。この実施形態では、インジェスチョンプロセス164は、アップロードされたデジタルアイテム122aの既存のライブラリを異なるライブラリで置換するように構成される。デジタルアイテム122bのインジェストされたインスタンスのライブラリは、取引要求152を、生産サーバーアプリケーション158に送信する機能を実行する論理またはメソッドを定義する。
別の実施形態では、デジタルアイテム122bのインジェストされたインスタンスは、その取引要求152を、ファイル内に格納されたネットワークアドレスによってポイントされる宛先に送信するであろう。この実施形態では、インジェスチョンプロセス164は、ファイル内に格納されたネットワークアドレスを、生産サーバーアプリケーション158をポイントするように修正するように構成される。
デジタルアイテム122aのアップロードされたインスタンスが第1の事前に定義された条件を具現化しなかった場合(ボックス207を参照)、インジェスチョンは修正なしで完了されて、動作はボックス213に進む。最後に、ボックス213で、デジタルアイテム122bのインジェストされたインスタンスがデータストア170に保存され、それはデジタルアイテム配信サービス161がアクセス可能である。
図3Aおよび図3Bに進むと、様々な実施形態に従い、テストサーバーアプリケーション155(図1)とやり取りするユーザーインタフェースの一例が示されている。この実施形態では、テストサーバーアプリケーション155は、開発者クライアント装置101(図1)上で実行される。アイテム301は、開発者クライアント装置101上で実行されるデジタルアイテム122a(図1)によって生成されたユーザーインタフェースを示す。この例では、デジタルアイテム122aは、様々なエンハンスメント(enhancement)がゲーム内から購入できるゲームを含む。エンハンスメントリスト304は、購入可能なエンハンスメントおよびそれらの対応する価格をリストする。ボタン307は、対応するエンハンスメントを購入するための金融取引を開始するエンハンスメントリスト304への各エントリを伴う。
ボタン307がユーザーによってクリックされると、デジタルアイテム122aは取引要求152(図1)をテストサーバーアプリケーション155に送信する。図3Bに進むと、テストサーバーアプリケーション155は次いで、ユーザーからの入力を要請するユーザーインタフェース311をレンダリングするためにコード化する。ユーザーインタフェース311は次いで、表示のためにクライアント装置104に送信される。ユーザーインタフェース311は、応答選択肢314を含む。ユーザーが応答選択肢314を選択すると、テストサーバーアプリケーション155が、ユーザーインタフェース311への入力に基づき取引の完了をシミュレートする。テストサーバーアプリケーション155は次いで、対応する取引応答149をデジタルアイテム122aに送信する。
次に図4を参照すると、様々な実施形態に従い、テストサーバーアプリケーション155(図1)の一部分の動作の一例を提供する流れ図が示されている。図4の流れ図は、本明細書で説明するように、テストサーバーアプリケーション155のその部分の動作を実装するために採用され得る、多数の異なるタイプの機能的配置の一例を提供するのに過ぎないことが理解される。代替として、図4の流れ図は、1つまたは複数の実施形態に従って、テストコンピューティング装置110(図1)内で実装される方法のステップの一例を示すと見なされ得る。
図4の動作は、テストサーバーアプリケーション155が開発者クライアント装置101(図1)上で実行される、いくつかの実施形態でトリガーされる。デジタルアイテム122a(図1)が、開発者クライアント装置101上で実行される。メディアアイテムの事例では、この実行は、実行アプリケーション137(図1)によって容易にされる。実行可能アイテムの事例では、必要な実行可能論理がアイテム内に含まれており、実行アプリケーション137は必要ない。デジタルアイテム122aが取引を開始すると、それは、取引要求152(図1)をテストサーバーアプリケーション155に送信する。テストサーバーアプリケーション155は次いで、ユーザーが、デジタルアイテム122aに送信される取引応答149(図1)を制御できるようにするユーザーインタフェースを生成する。
ボックス401から開始して、取引要求152がデジタルアイテム122aからテストサーバーアプリケーション155に伝達される。この取引要求152は、テストサーバーアプリケーション155との取引を開始するために使用される。前述のように、取引は、金融取引、メディアコンテンツのダウンロード、または何らかの他の取引を含み得る。ボックス404で、取引要求152を受信すると、テストサーバーアプリケーション155は、要求に対する考えられる応答のリストを示すユーザーインタフェースをレンダリングする。
考えられる選択のリストは、デジタルアイテム122aが開始しようと試みる取引に基づき変動する。例えば、クレジットカードを使用して支払う金融取引を開始する取引要求152に応答して、テストサーバーアプリケーション155は、認可されるクレジットカード、拒否されるクレジットカード、ネットワークタイムアウト、または他の選択肢を示す、選択肢のリストを有するユーザーインタフェースをレンダリングし得る。別の例では、前払い口座を使用して支払う金融取引を開始する取引要求152に応答して、テストサーバーアプリケーション155は、資金の成功使用、資金不足、または他の選択肢を示す、選択肢のリストを有するユーザーインタフェースをレンダリングし得る。メディアコンテンツをダウンロードするための取引では、ユーザーインタフェースは、許可されたダウンロード、ユーザー制約に基づき拒否されたダウンロード、一時的な利用不能、または他の選択肢を示す選択肢をリストし得る。
テストサーバーアプリケーション155は、ユーザーインタフェースが入力を受信するまで、取引応答149をデジタルアイテム122aに送信しない。その結果、ボックス407および411で、テストサーバーアプリケーション155は、応答がユーザーインタフェース内で選択されるまで待機する。ボックス413で、入力が選択された後、テストサーバーアプリケーション155は、ユーザーインタフェースに対する入力に基づき、取引の完了をシミュレートする。例えば、シミュレートされた口座を使用して支払われる金融取引では、口座は適切な金額が借方に記入される。他の実施形態では、テストサーバーアプリケーション155は、確認メッセージを、電子メール、テキストメッセージ、または他の通信媒体でユーザーに伝達し得る。最後に、ボックス416は、テストサーバーアプリケーションが、ユーザーインタフェースに対する入力に基づき取引応答149を送信するのを示す。
図5を参照すると、本開示の一実施形態に従った開発者クライアント装置101(図1)の概略ブロック図が示されている。開発者クライアント装置101は、例えば、プロセッサ601およびメモリ604を有し、その両方がローカルインタフェース607に結合されている、少なくとも1つのプロセッサ回路を含む。この目的のため、開発者クライアント装置101は、例えば、少なくとも1つのサーバーコンピュータまたは同様の装置を含み得る。ローカルインタフェース507は、例えば、理解され得るように、付随のアドレス/制御バスまたは他のバス構造を備えたデータバスを含み得る。
メモリ504に格納されているのは、データおよびプロセッサ501によって実行可能ないくつかの構成要素の両方である。具体的には、メモリ504に格納されていて、プロセッサ501によって実行可能なものは、開発アプリケーション125(図1)、配備アプリケーション134(図1)、テストサーバーアプリケーション155(図1)、および潜在的に他のアプリケーションである。また、メモリ504内に格納されているのは、デジタルアイテム122a(図1)のインスタンスを格納するデータストア119(図1)、および他のデータであり得る。加えて、オペレーティングシステムがメモリ504内に格納されて、プロセッサ501によって実行可能であり得る。
図6を参照すると、本開示の一実施形態に従ったクライアント装置104(図1)の概略ブロック図が示されている。クライアント装置104は、例えば、プロセッサ601およびメモリ604を有し、その両方がローカルインタフェース607に結合されている、少なくとも1つのプロセッサ回路を含む。この目的のため、クライアント装置104は、例えば、少なくとも1つのサーバーコンピュータまたは同様の装置を含み得る。ローカルインタフェース607は、例えば、理解され得るように、付随のアドレス/制御バスまたは他のバス構造を備えたデータバスを含み得る。
メモリ604に格納されているのは、データおよびプロセッサ601によって実行可能ないくつかの構成要素の両方である。具体的には、メモリ604に格納されていて、プロセッサ601によって実行可能なものは、購入アプリケーション146(図1)、実行アプリケーション137(図1)のインスタンス、および潜在的に他のアプリケーションである。また、メモリ604内に格納されているのは、デジタルアイテム122b(図1)のインスタンスを格納するデータストア143(図1)、および他のデータであり得る。加えて、オペレーティングシステムがメモリ504内に格納されて、プロセッサ501によって実行可能であり得る。
図7を参照すると、本開示の一実施形態に従った配信コンピューティング装置116(図1)の概略ブロック図が示されている。配信コンピューティング装置116は、例えば、プロセッサ701およびメモリ704を有し、その両方がローカルインタフェース707に結合されている、少なくとも1つのプロセッサ回路を含む。この目的のため、配信コンピューティング装置116は、例えば、少なくとも1つのサーバーコンピュータまたは同様の装置を含み得る。ローカルインタフェース707は、例えば、理解され得るように、付随のアドレス/制御バスまたは他のバス構造を備えたデータバスを含み得る。
メモリ704に格納されているのは、データおよびプロセッサ701によって実行可能ないくつかの構成要素の両方である。具体的には、メモリ704に格納されていて、プロセッサ701によって実行可能なものは、インジェスチョンプロセス164(図1)および配信プロセス167(図1)を含むデジタルアイテム配信サービス161(図1)、ならびに潜在的に他のアプリケーションである。また、メモリ704内に格納されているのは、デジタルアイテム122b(図1)のインジェストされたインスタンスを格納するデータストア170、および他のデータであり得る。加えて、オペレーティングシステムがメモリ704内に格納されて、プロセッサ701によって実行可能であり得る。
見て分かるとおり、メモリ504、604、および704内に格納されて、プロセッサ501、601、および701によって実行可能である他のアプリケーションがあり得ることが理解される。本明細書で説明する任意の構成要素がソフトウェアの形で実装される場合、例えば、C、C++、C#、Objective C、Java、JavaScript、Perl、PHP、Visual Basic、Python、Ruby,Delphi、Flash、または他のプログラミング言語などの、いくつかのプログラミング言語のうちの任意の1つが採用され得る。
いくつかのソフトウェア構成要素がメモリ504、604、および704内に格納され、プロセッサ501、601、および701によって実行可能である。この点において、用語「実行可能」は、プロセッサ501、601、および701によって最終的に実行できる形式であるプログラムファイルを意味する。実行可能プログラムの例は、例えば、メモリ504、604、および704のランダムアクセス部分にロードでき、プロセッサ501、601、および701によって実行できるフォーマットで、機械コードに変換できるコンパイル済みプログラム、メモリ504、604、および704のランダムアクセス部分にロードされ、プロセッサ501、601、および701によって実行されることが可能なオブジェクトコードなどの適切なフォーマットで表現され得るソースコード、または、プロセッサ501、601、および701によって実行されるようにメモリ504、604、および704のランダムアクセス部分内で命令を生成するために、別の実行可能プログラムによって解釈され得るソースコードなど、であり得る。実行可能プログラムは、例えば、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、ハードドライブ、ソリッドステートドライブ、USBフラッシュドライブ、メモリカード、コンパクトディスク(CD)もしくはデジタル多用途ディスク(DVD)などの光ディスク、フロッピィディスク、磁気テープ、または他のメモリ構成要素を含む、メモリ504、604、および704の任意の部分または構成要素内に格納され得る。
メモリ504、604、および704は、本明細書では、揮発性および不揮発性のメモリおよびデータ記憶構成要素の両方を含むとして定義される。揮発性構成要素は、電源喪失時にデータ値を保持しないものである。不揮発性構成要素は、電源喪失時にデータ値を保持するものである。従って、メモリ504、604、および704は、例えば、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、ハードディスクドライブ、ソリッドステートドライブ、USBフラッシュドライブ、メモリカードリーダーを介してアクセスされるメモリカード、関連付けられたフロッピィディスクドライブを介してアクセスされるフロッピィディスク、光ディスクドライブを介してアクセスされる光ディスク、適切なテープドライブを介してアクセスされる磁気テープ、および/もしくは他のメモリ構成要素、またはこれらのメモリ構成要素の任意の2つ以上の組合せを含み得る。加えて、RAMは、例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、または磁気ランダムアクセスメモリ(MRAM)および他のかかる装置を含み得る。ROMは、例えば、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、または他の同様のメモリ装置を含み得る。
また、それぞれ、プロセッサ501、601、および701は、複数のプロセッサ501、601、および701を代表し得、メモリ504、604、および704は、並列処理回路内で動作する複数のメモリ504、604、および704を代表し得る。かかる事例では、ローカルインタフェース507、607、および707は、複数のプロセッサ501、601、および701の任意の2つの間、任意のプロセッサ501、601、および701とメモリ504、604、および704のいずれかとの間、またはメモリ504、604、および704の任意の2つの間、などの通信を容易にする適切なネットワーク107(図1)であり得る。ローカルインタフェース507、607、および707は、例えば、負荷分散の実行を含み、この通信を調整するために設計された追加のシステムを含み得る。プロセッサ501、601、および701は、電気的、または何らかの他の利用可能な構造であり得る。
インジェスチョンプロセス164(図1)、テストサーバーアプリケーション155(図1)、および本明細書で説明する他の様々なシステムは、前述のように、ソフトウェア、または汎用ハードウェアで実行されるコードで実施され得るが、代替として、同じものが、専用ハードウェアまたはソフトウェア/汎用ハードウェアと専用ハードウェアの組合せでも実施され得る。専用ハードウェアで実施される場合、各々は、いくつかの技術のいずれか1つまたはいくつかの技術の組合せを採用する回路または状態機械として実装できる。これらの技術は、1つもしくは複数のデータ信号の適用時に様々な論理関数を実装するための論理ゲートを有する離散論理回路、適切な論理ゲートを有する特定用途向け集積回路、または他の構成要素などを含み得るが、それらに限定されない。かかる技術は一般に、当業者によって良く知られており、それ故、本明細書では詳細に説明しない。
図2、図3Aおよび図3Bの流れ図は、アプリストアテストクライアントの部分の実施態様の機能および動作を示す。ソフトウェアで実施される場合、各ブロックは、指定された論理関数(複数可)を実装するためのプログラム命令を含むモジュール、セグメント、またはコードの部分を表し得る。プログラム命令は、コンピュータシステムまたは他のシステム内のプロセッサ501、601、および701などの適切な実行システムによって認識可能な数値命令を含む、プログラミング言語で書かれた人間が可読な命令を含むソースコードまたは機械コードの形式で実施され得る。機械コードは、ソースコードなどから変換され得る。ハードウェアで実施される場合、各ブロックは、指定された論理関数(複数可)を実装するための回路またはいくつかの相互接続回路を表し得る。
図2、図3Aおよび図3Bの流れ図は、実行の特定の順序を示すが、実行順序は、示されるものとは異なり得ることが理解される。例えば、2つ以上のブロックの実行順序は、示される順序に対して混ぜられ得る。また、図2、図3Aおよび図3Bに連続して示される2つ以上のブロックは、同時に、または一部同時に実行され得る。さらに、いくつかの実施形態では、図2、図3Aおよび図3Bに示されるブロックの1つまたは複数は、スキップまたは省略され得る。加えて、任意の数のカウンタ、状態変数、警告セマフォ、またはメッセージが、強化された有用性、課金、性能測定、またはトラブルシューティング支援の提供などを目的として、本明細書で説明する論理の流れに追加され得る。全てのかかる変形は、本開示の範囲内であることが理解される。
また、ソフトウェアまたはコードを含む、テストサーバーアプリケーション155(図1)、デジタルアイテム配信サービス161(図1)、およびインジェスチョンプロセス164(図1)を含む、本明細書で説明する任意の論理またはアプリケーションは、コンピュータシステムまたは他のシステム内の、例えば、プロセッサ501、601、および701などの、命令実行システムによる使用、または命令実行システムに関連した使用のために、任意の持続性コンピュータ可読媒体で実施できる。この意味で、論理は、例えば、コンピュータ可読媒体からフェッチして、命令実行システムによって実行できる、命令および宣言を含む、文を含み得る。本開示のコンテキストでは、「コンピュータ可読媒体」は、命令実行システムによる使用、または命令実行システムに関連した使用のために、本明細書で説明する論理またはアプリケーションを包含するか、格納するか、または保持する任意の媒体であり得る。コンピュータ可読媒体は、例えば、磁気媒体、光媒体、または半導体媒体などの、多数の物理媒体のうちの任意の1つを含み得る。適切なコンピュータ可読媒体のさらに具体的な例は、磁気テープ、磁気フロッピィディスケット、磁気ハードドライブ、メモリカード、ソリッドステートドライブ、USBフラッシュドライブ、または光ディスクを含み得るが、それらに限定されない。また、コンピュータ可読媒体は、例えば、スタティックランダムアクセスメモリ(SRAM)およびダイナミックランダムアクセスメモリ(DRAM)、または磁気ランダムアクセスメモリ(MRAM)を含む、ランダムアクセスメモリ(RAM)であり得る。加えて、コンピュータ可読媒体は、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、または他の同様のメモリ装置であり得る。
本開示の様々な実施形態は、以下の限定されない付記項を考慮して説明できる。
付記項1.コンピューティング装置内で実行可能なプログラムを具現化する持続性コンピュータ可読媒体であって、プログラムが、
デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にするコードであって、デジタルアイテムが、
第1の事前に定義された条件に基づき、複数の取引要求をテストサーバーアプリケーションに伝達し、かつ、第2の事前に定義された条件に基づき、取引要求を生産サーバーアプリケーションに伝達するように構成されていて、第1および第2の事前に定義された条件が相互に排他的である、少なくともアプリケーションプログラムインタフェースを含み、
テストサーバーアプリケーションが、デジタルアイテムの使用に関連付けられた複数の金融取引の完了をシミュレートするように構成され、
生産サーバーアプリケーションが、デジタルアイテム配信サービスからダウンロードされた、デジタルアイテムのインスタンスのクライアント装置上での実行に関連付けられた複数の金融取引を完了するように構成され、
デジタルアイテムがアップロード前は、第1の所定の条件を具現化するように構成されている、
デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にするコード;
デジタルアイテムを、アップロードと同時に、第1の所定の条件の具現化から第2の所定の条件の具現化に修正するコート;および
デジタルアイテムを、デジタルアイテム配信サービスがアクセス可能なデータストアに保存するコードであって、デジタルアイテム配信サービスが、デジタルアイテムのインスタンスのクライアント装置上へのダウンロードを容易にする、デジタルアイテムを、デジタルアイテム配信サービスがアクセス可能なデータストアに保存するコード
を含む、持続性コンピュータ可読媒体。
付記項2.デジタルアイテムを修正するコードが、デジタル著作権管理をデジタルアイテムに追加するコードをさらに含む、付記項1に記載のコンピュータ可読媒体。
付記項3.デジタルアイテムが第1のライブラリを含み、かつデジタルアイテムを修正するコードが第1のライブラリを第2のライブラリと置換する、付記項1に記載のコンピュータ可読媒体。
付記項4.デジタルアイテムが、アップロード前はテストサーバーアプリケーションと関連付けられたネットワークアドレスを含み、かつデジタルアイテムを修正するコードが、ネットワークアドレスを生産サーバーアプリケーションと関連付けられるように修正するコードをさらに含む、付記項1に記載のコンピュータ可読媒体。
付記項5.少なくとも1つのコンピューティング装置;および
少なくとも1つのコンピューティング装置内で実行可能なインジェスチョンプロセスを備えるシステムであって、インジェスチョンプロセスが:
デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にする論理であって、デジタルアイテムが、デジタルアイテムの実行に関連した複数の取引要求をテストサーバーアプリケーションに伝達するように構成され、テストサーバーアプリケーションが、デジタルアイテムの実行に関連付けられた複数の取引の完了をシミュレートするように構成されている、デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にする論理;および
複数のクライアント装置への配信のためのインジェスチョン中に、取引要求を生産サーバーアプリケーションに伝達するようにデジタルアイテムを修正する論理であって、取引要求が、デジタルアイテム配信サービスからダウンロードされたデジタルアイテムのインスタンスから送信される場合に、生産サーバーアプリケーションが、取引を完了するように構成されている、デジタルアイテムを修正する論理;
を含む、システム。
付記項6.取引の1つが金融取引を含む、付記項5に記載のシステム。
付記項7.取引の1つがメディアコンテンツのダウンロードを含む、付記項5に記載のシステム。
付記項8.デジタルアイテムがアプリケーションを含む、付記項5に記載のシステム。
付記項9.デジタルアイテムがメディアアイテムを含む、付記項5に記載のシステム。
付記項10.デジタルアイテムを修正する論理が、デジタル著作権管理をデジタルアイテムに適用する論理をさらに含む、付記項5に記載のシステム。
付記項11.デジタルアイテムが、取引要求を、デジタル著作権管理がそのデジタルアイテムに適用されていない場合はテストサーバーアプリケーションに送信し、かつデジタル著作権管理がそのデジタルアイテムに適用されている場合には生産サーバーアプリケーションに送信するように構成されたアプリケーションプログラムインタフェースをさらに含む、付記項10に記載のシステム。
付記項12.デジタルアイテムが第1のライブラリをさらに含み、かつデジタルアイテムを修正する論理が第1のライブラリを第2のライブラリで置換する、付記項5に記載のシステム。
付記項13.デジタルアイテムが、ネットワークアドレスおよびアプリケーションプログラムインタフェースをさらに含み、
アプリケーションプログラムインタフェースが、ネットワークアドレスがテストサーバーアプリケーションをポイントする場合には取引要求をテストサーバーアプリケーションに送信するように構成され、かつネットワークアドレスが生産サーバーアプリケーションと関連付けられている場合には生産サーバーをポイントし、
デジタルアイテムを修正する論理が、ネットワークアドレスを生産サーバーアプリケーションをポイントするように修正する論理をさらに含む、
付記項5に記載のシステム。
付記項14.デジタルアイテムが複数のデジタルアイテムのうちの1つであり、システムが、
少なくとも1つのコンピューティング装置内で実行可能な配信プロセスをさらに備え、配信プロセスが、
デジタルアイテムのリストを生成する論理;および
アイテムのリスト内にリストされたデジタルアイテムのうちの1つのインスタンスのダウンロードを容易にする論理
を含む、付記項5に記載のシステム。
付記項15.少なくとも1つのコンピューティング装置;および少なくとも1つのコンピューティング装置内で実行可能なテストサーバーアプリケーションを備えるシステムであって、テストサーバーアプリケーションが:
デジタルアイテムによって送信された取引要求の受信を容易にする論理であって、取引要求がデジタルアイテムのテストに関連する、デジタルアイテムによって送信された取引要求の受信を容易にする論理;
取引要求に基づき取引を開始する論理;
取引要求に対する所望の応答を選択する入力を要請するユーザーインタフェースをレンダリングするためにコード化する論理;
所望の応答に基づき取引の履行をシミュレートする論理;および
デジタルアイテムに対する所望の応答に基づき取引応答を送信する論理
を含む、システム。
付記項16.取引が金融取引を含む、付記項15に記載のシステム。
付記項17.取引がメディアコンテンツのダウンロードを含む、付記項15に記載のシステム。
付記項18.取引の履行をシミュレートする論理が、ネットワークタイムアウト間隔の満了をシミュレートする論理をさらに含む、付記項15に記載のシステム。
付記項19.所望の応答が、複数の考えられる応答から選択される、付記項15に記載のシステム。
付記項20.テストサーバーアプリケーションが、考えられる応答を取引に応じて判断する論理をさらに含む、付記項19に記載のシステム。
本開示の前述した実施形態は、本開示の原理の明確な理解のために記載された実施態様の考えられる例にすぎないことが強調されるべきである。多数の変形および修正が、本開示の精神および原理から実質的に逸脱することなく、前述の実施形態(複数可)に対して行われ得る。全てのかかる修正および変形は、本明細書で本開示の範囲内に含まれ、次の請求項によって保護されることを意図する。
関連出願の相互参照
以下の出願は、出願番号13/542,956号を有する、2012年7月6日に出願された「DIGITAL ITEM INGESTION PROCESS」という名称の米国特許出願に対する優先権、およびその利益を主張し、それは、全体として参照により本明細書に組み込まれる。

Claims (15)

  1. 少なくとも1つのコンピューティング装置と、
    前記少なくとも1つのコンピューティング装置内で実行可能なインジェスチョンプロセスであって、前記インジェスチョンプロセスが:
    デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にする論理であって、前記デジタルアイテムが、前記デジタルアイテムの実行に関する複数の取引要求をテストサーバーアプリケーションに伝達するように構成され、前記テストサーバーアプリケーションが、前記デジタルアイテムの前記実行と関連付けられた複数の取引の完了をシミュレートするように構成されている、デジタルアイテムのデジタルアイテム配信サービスへのアップロードを容易にする論理と、
    複数のクライアント装置への配信のためのインジェスチョン中に、前記取引要求を生産サーバーアプリケーションに伝達するように前記デジタルアイテムを修正する論理であって、前記取引要求が、前記デジタルアイテム配信サービスからダウンロードされた前記デジタルアイテムのインスタンスから送信される場合に、前記生産サーバーアプリケーションが、前記取引を完了するように構成されている、前記デジタルアイテムを修正する論理と
    を含む、インジェスチョンプロセスと
    を備える、システム。
  2. 前記取引の1つが金融取引を含む、請求項1に記載のシステム。
  3. 前記取引の1つがメディアコンテンツのダウンロードを含む、請求項1に記載のシステム。
  4. 前記デジタルアイテムがアプリケーションを含む、請求項1に記載のシステム。
  5. 前記デジタルアイテムがメディアアイテムを含む、請求項1に記載のシステム。
  6. 前記デジタルアイテムを修正する前記論理が、デジタル著作権管理を前記デジタルアイテムに適用する論理をさらに含む、請求項1に記載のシステム。
  7. 前記デジタルアイテムが、前記取引要求を、前記デジタル著作権管理が前記デジタルアイテムに適用されていない場合は前記テストサーバーアプリケーションに送信し、かつ前記デジタル著作権管理が前記デジタルアイテムに適用されている場合には前記生産サーバーアプリケーションに送信するように構成されたアプリケーションプログラムインタフェースをさらに含む、請求項6に記載のシステム。
  8. 前記デジタルアイテムが第1のライブラリをさらに含み、かつ前記デジタルアイテムを修正する前記論理が前記第1のライブラリを第2のライブラリで置換する、請求項1に記載のシステム。
  9. 前記デジタルアイテムが、ネットワークアドレスおよびアプリケーションプログラムインタフェースをさらに含み、
    前記アプリケーションプログラムインタフェースが、前記ネットワークアドレスが前記テストサーバーアプリケーションをポイントする場合は前記取引要求を前記テストサーバーアプリケーションに送信するように構成され、かつ前記ネットワークアドレスが前記生産サーバーアプリケーションと関連付けられている場合には、前記生産サーバーアプリケーションをポイントし、
    前記デジタルアイテムを修正する前記論理が、前記ネットワークアドレスを前記生産サーバーアプリケーションをポイントするように修正する論理をさらに含む、
    請求項1に記載のシステム。
  10. 前記デジタルアイテムが複数のデジタルアイテムのうちの1つであり、前記システムが、
    前記少なくとも1つのコンピューティング装置内で実行可能な配信プロセスをさらに備え、前記配信プロセスが、
    前記デジタルアイテムのリストを生成する論理と
    アイテムの前記リスト内にリストされた前記デジタルアイテムのうちの1つのインスタンスのダウンロードを容易にする論理と
    を含む、
    請求項1に記載のシステム。
  11. 1つまたは複数のコンピューティング装置によって、デジタルアイテムによって送信された取引要求の受信を容易にすることであって、前記取引要求が前記デジタルアイテムのテストに関連している、デジタルアイテムによって送信された取引要求の受信を容易にすることと、
    前記1つまたは複数のコンピューティング装置によって、前記取引要求に基づき、取引を開始することと、
    前記1つまたは複数のコンピューティング装置によって、前記取引要求に対する所望の応答を選択する入力を要請するユーザーインタフェースをコード化することと、
    前記1つまたは複数のコンピューティング装置によって、前記所望の応答に基づき、前記取引の履行をシミュレートすることと、
    前記1つまたは複数のコンピューティング装置によって、前記所望の応答に基づく取引応答を前記デジタルアイテムに送信することと
    クライアント装置への配信のためのインジェスチョン中に、デジタルアイテムを修正し、生産サーバーアプリケーションに新しい取引要求を伝達することと、
    を含み、
    生産サーバーアプリケーションは、新しい取引要求が、クライアント装置に配信されたデジタルアイテムのインスタンスから送信された場合に、新しい取引を完了するように構成されている、
    コンピュータ実装方法。
  12. 前記取引が金融取引またはメディアコンテンツのダウンロードを含む、請求項11に記載のコンピュータ実装方法。
  13. 前記取引の前記履行を前記シミュレートすることが、ネットワークタイムアウト間隔の満了をシミュレートすることをさらに含む、請求項11に記載のコンピュータ実装方法。
  14. 前記所望の応答を複数の考えられる応答から選択することをさらに含む、請求項11に記載のコンピュータ実装方法。
  15. 前記考えられる応答を前記取引に応じて判断することをさらに含む、請求項14に記載のコンピュータ実装方法。
JP2015520703A 2012-07-06 2013-07-05 デジタルアイテムインジェスチョンプロセス Expired - Fee Related JP6012865B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/542,956 US8756573B2 (en) 2012-07-06 2012-07-06 Digital item ingestion process
US13/542,956 2012-07-06
PCT/US2013/049431 WO2014008462A2 (en) 2012-07-06 2013-07-05 Digital item ingestion process

Publications (2)

Publication Number Publication Date
JP2015531106A JP2015531106A (ja) 2015-10-29
JP6012865B2 true JP6012865B2 (ja) 2016-10-25

Family

ID=49879532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015520703A Expired - Fee Related JP6012865B2 (ja) 2012-07-06 2013-07-05 デジタルアイテムインジェスチョンプロセス

Country Status (7)

Country Link
US (2) US8756573B2 (ja)
EP (1) EP2870533A4 (ja)
JP (1) JP6012865B2 (ja)
CN (1) CN104641348B (ja)
CA (1) CA2878136C (ja)
IN (1) IN2014DN11111A (ja)
WO (1) WO2014008462A2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015234B2 (en) * 2012-07-25 2015-04-21 Lg Cns Co., Ltd. Automated distributed testing administration environment
US9747193B1 (en) * 2013-03-13 2017-08-29 Ca, Inc. System and method for automatic root cause detection
US20230019921A1 (en) * 2021-07-14 2023-01-19 Bank Of America Corporation System and method for facilitating creation, verification, and management of digital resources

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390232A (en) * 1992-12-28 1995-02-14 At&T Corp. System for control of subscriber progragmmability
JPH07225707A (ja) * 1994-02-10 1995-08-22 Fujitsu Ltd アプリケーションのテスト方法及びそのテスト支援装置
US6324525B1 (en) 1996-06-17 2001-11-27 Hewlett-Packard Company Settlement of aggregated electronic transactions over a network
US6301701B1 (en) 1999-11-10 2001-10-09 Tenfold Corporation Method for computer-assisted testing of software application components
US6625648B1 (en) * 2000-01-07 2003-09-23 Netiq Corporation Methods, systems and computer program products for network performance testing through active endpoint pair based testing and passive application monitoring
JP2001229306A (ja) * 2000-02-15 2001-08-24 Tis Inc シミュレーション手段を含んだ電子商取引システム
JP2005251070A (ja) * 2004-03-08 2005-09-15 Nikon Corp ライセンス管理システムおよびライセンス管理方法
US7711693B2 (en) * 2004-12-03 2010-05-04 Oracle International Corporation Deployment of life-cycle model for LDAP applications
JP4753666B2 (ja) * 2005-08-30 2011-08-24 株式会社ユビキタス・ビジネステクノロジー 携帯サイト管理システム
US8087007B2 (en) * 2006-05-08 2011-12-27 Assima Ltd. System and method for software prototype-development and validation and for automatic software simulation re-grabbing
US8893089B2 (en) * 2006-10-09 2014-11-18 Sap Se Fast business process test case composition
US8151247B2 (en) 2006-10-09 2012-04-03 Sap Ag Test data management
US8086758B1 (en) 2006-11-27 2011-12-27 Disney Enterprises, Inc. Systems and methods for interconnecting media applications and services with centralized services
CN101149858A (zh) * 2007-11-05 2008-03-26 浪潮齐鲁软件产业有限公司 一种金融交易的模拟测试方法
US7594035B2 (en) 2008-02-22 2009-09-22 Tactara, Llc Methods of providing published content
CN101540701B (zh) * 2008-03-18 2011-08-17 中国移动通信集团公司 一种服务器测试系统以及测试方法和装置
US9141954B2 (en) 2008-06-13 2015-09-22 American International Group, Inc. Method and apparatus for performing a transaction
US8429616B2 (en) * 2010-03-19 2013-04-23 Ebay Inc. Orthogonal experimentation in a computing environment
US9129322B2 (en) 2010-12-29 2015-09-08 Amazon Technologies, Inc. Electronic book rentals
US8769340B2 (en) * 2011-09-08 2014-07-01 Microsoft Corporation Automatically allocating clients for software program testing
WO2013187889A1 (en) * 2012-06-13 2013-12-19 Empire Technology Development Llc Transactional permissions
US9965760B2 (en) * 2012-06-29 2018-05-08 Hurricane Electric Systems and methods for facilitating electronic transactions utilizing a mobile computing device

Also Published As

Publication number Publication date
CA2878136A1 (en) 2014-01-09
US20140013305A1 (en) 2014-01-09
WO2014008462A2 (en) 2014-01-09
CN104641348B (zh) 2018-03-30
CN104641348A (zh) 2015-05-20
US9170795B2 (en) 2015-10-27
EP2870533A2 (en) 2015-05-13
JP2015531106A (ja) 2015-10-29
IN2014DN11111A (ja) 2015-09-25
CA2878136C (en) 2017-08-22
WO2014008462A3 (en) 2014-05-01
EP2870533A4 (en) 2016-06-29
US8756573B2 (en) 2014-06-17
US20140298288A1 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
US9940119B2 (en) Providing limited versions of applications
JP5986312B2 (ja) アプリケーション互換性の評価
US10445491B2 (en) Confirming the identity of integrator applications
JP7212266B2 (ja) タスクを共同処理するためのプラットフォーム
US10387123B2 (en) Lightweight framework for web applications
JP2018533125A (ja) ビジュアルコンテンツ開発
JP2004295880A (ja) デジタルメディアクリアリングプラットフォーム
WO2012135748A2 (en) Integrated mobile/server applications
US20160253483A1 (en) Systems, methods, and apparatus for facilitating client-side digital rights compliance
US20130166655A1 (en) Cross-platform software distribution
JP6012865B2 (ja) デジタルアイテムインジェスチョンプロセス
JP2015529370A (ja) デバイスへのアプリケーションのフルフィルメント
US10255630B2 (en) User published auctions in online mediums
KR102094938B1 (ko) 블록체인 기반의 콘텐츠 유통 방법 및 이를 수행하기 위한 장치
US10698698B2 (en) System and method for initializing software applications
Nygård Single page architecture as basis for web applications
US8364146B1 (en) Initiation of wireless service
US20230359710A1 (en) Graphical user interface for generating tokenized digital data
JP2024522969A (ja) 地図修正データの共有方法および装置
CN114221967A (zh) 基于区块链网络的资源共享平台、资源共享方法
Network et al. Abbreviations and Acronyms

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160301

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160729

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160920

R150 Certificate of patent or registration of utility model

Ref document number: 6012865

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees