説明

ネットワークベースの配布システムを使用して後で特徴にインアプリケーションアクセスするアプリケーションプロダクト

【課題】プロダクト配布サイトからの支援でデジタルプロダクトのロックされた特徴にアクセスする改良されたシステム、装置及び方法を提供する。
【解決手段】デジタルプロダクトを、ネットワークベースの配布のためにプロダクト配布サイトへ提示することができる。デジタルプロダクトは、基本的な機能を発揮するように最初に与えられるが、1つ以上のロックされた特徴を含み、これをアンロックすると、基本的な機能を補足することができる。提示されたデジタルプロダクトが承認された場合には、そのデジタルプロダクトがプロダクト配布サイトにおいて入手可能となり、ユーザは、そのデジタルプロダクトをサーチし、ブラウズし、購入することができる。デジタルプロダクトが購入され、ダウンロードされ、ユーザのコンピューティング装置にインストールされると、ユーザは、デジタルプロダクトを利用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタルプロダクトの配布に係り、より詳細には、デジタルプロダクトのネットワークベースの配布に係る。
【0002】
本願は、参考としてここに援用する“APPLICATION PRODUCTS WITH IN-APPLICATION SUBSEQUENT FEATURE ACCESS USING NETWORK-BASES DIDTRIBUTION SYSTEM”と題する2009年3月16日に出願された米国プロビジョナル特許出願第61/160,640号の優先権を主張する。
【背景技術】
【0003】
今日、iTuneTMメディアストアのようなオンラインメディアストアは、顧客(即ちオンラインユーザ)が、インターネットを介して、音楽又はビデオのようなメディアアイテムを購入又はレンタルできるようにする。しばしば、オンラインメディアストアでは、多数のメディアアイテムが入手可能とされ、ミュージックレーベル又は映画会社のような種々の異なるコンテンツプロバイダーにより提供される。カリフォルニア州クパチーノのアップル社から入手できるiProducerTM及びLabel ConnectTMのようなソフトウェアツールは、メディアコンテンツをiTuneTMメディアストアへオンライン提示する上でコンテンツプロバイダーを支援することができる。
【0004】
ソフトウェアプログラムも、小売店やオンラインストアで購入したり又はライセンスを受けたりすることができる。従来、ソフトウェアプログラムは、主として、ソフトウェアプログラムを収容するコンパクトディスク(CD)として購入される。或いは又、購入者は、しばしば、オンライン小売店又はソフトウェアプロバイダーのウェブサイトからソフトウェアプログラムを購入しダウンロードすることができる。しかしながら、オンライン小売店が、種々の独立した当事者のソフトウェアプログラムを販売するように運営するときには、デジタルプログラムファイル及びサポート情報/ファイルをオンライン小売店へ提供することが困難である。この問題は、非常に多数の小さなソフトウェアプロバイダーがオンライン小売店とパートナーになることをしばしば希望することによって悪化する。その結果、オンライン提示を受け取るオンライン小売店は、提示に関する広範囲な変化のために実質的な負担及び困難さに直面する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来、ソフトウェアプログラムを購入し、ダウンロードし、そしてコンピューティング装置にインストールした後に、ソフトウェアプログラムは、本質的に、スタティックプロダクトとなる。あるソフトウェアプログラムは、エラーやバグの修理又はウイルス保護のための更新を受けることができるが、これらの更新は、無料で提供されるもので、既存の機能を維持するように働く。不都合なことに、あるソフトウェアプロバイダーは、初期のソフトウェアプログラムを増強する継続購入を容易にする必要がある。しかしながら、ソフトウェアプログラムがオンライン購入され、ダウンロードされそしてインストールされると、従来、そのソフトウェアプログラムにとって、ソフトウェアプログラムの付加的な機能、コンポーネント、等に対して権利又は特典のインアプリケーション購入をそれ自身容易にする便利な手段が存在しない。
【課題を解決するための手段】
【0006】
本発明は、プロダクト配布サイトからの支援でデジタルプロダクトのロック(セキュア化)された特徴にアクセスするためのシステム、装置及び方法に係る。
【0007】
デジタルプロダクトを、ネットワークベースの配布のためにプロダクト配布サイトへ提示することができる。デジタルプロダクトは、基本的な機能を発揮するように最初に与えられるが、1つ以上のロックされた特徴を含んでおり、これがアンロックされると、基本的な機能を補足することができる。提示されたデジタルプロダクトが承認された場合には、そのデジタルプロダクトがプロダクト配布サイトにおいて入手できるようになり、ユーザは、そのデジタルプロダクトをサーチし、ブラウズしそして購入することができる。デジタルプロダクトが購入され、ダウンロードされ、そしてユーザのコンピューティング装置にインストールされると、ユーザは、デジタルプロダクトを利用することができる。しかしながら、デジタルプロダクトそれ自体は、1つ以上のロックされた特徴を含むので、ユーザは、その後の購入が遂行されるまでそのような特徴を利用することができない。好都合なことに、その後の購入は、デジタルプロダクトから呼び出すことができる。そのようにする際に、デジタルプロダクトは、リモートサーバー(例えば、プロダクト配布サイト)と(直接的又は間接的に)対話して、デジタルプロダクト内の1つ以上のロックされた特徴に対するアクセス権又は使用権を購入する。1つ以上のロックされた特徴に対するアクセス権又は使用権が購入されると、デジタルプロダクト内の1つ以上のロックされた特徴をアンロックし、その後、使用することができる。
【0008】
一実施形態では、デジタルプロダクトは、コンピュータプログラムプロダクト(例えば、コンピュータソフトウェアプログラム)である。プロダクト配布サイトは、オンラインプロダクトホスティングサイトとも称される。デジタルプロダクトの特徴は、具現化に基づいて変化するが、特徴の幾つかの例は、モジュール、ツール、キャラクタ、機能、コンテンツ又はデータを含む。又、特徴は、コンポーネントとも称される。
【0009】
本発明は、方法、システム、デバイス、装置(コンピュータ読み取り可能なメディア及びグラフィックユーザインターフェイスを含む)を含めて、多数の仕方で具現化することができる。本発明の幾つかの実施形態について以下に説明する。
【0010】
アプリケーションプログラムの補足的特徴をアンロックする方法であって、コンピューティング装置で動作される方法として、本発明の一実施形態は、少なくとも、コンピューティング装置でアプリケーションプログラムを実行するステップであって、そのアプリケーションプログラムは、リモートネットワークベースのアプリケーション配布システムから以前に取得され、又、アプリケーションプログラムは、現在ロックされてアプリケーションプログラム内に置かれているがアンロックすることのできる少なくとも1つの補足的特徴を含むものであるステップと、コンピューティング装置において、アプリケーションプログラムのユーザが、現在ロックされている少なくとも1つの補足的特徴の使用権の取得を希望することを決定するステップと、リモートネットワークベースのアプリケーション配布システムが少なくとも1つの補足的特徴のアンロックを承認することを要求するステップと、少なくとも1つの補足的特徴がアンロックについて承認されたという許可をリモートネットワークベースのアプリケーション配布システムから受け取るステップと、その後、コンピューティング装置においてアプリケーションプログラムの少なくとも1つの補足的特徴をアンロックし、それにより、アプリケーションプログラムが少なくとも1つの補足的特徴を利用できるようにするステップと、を備えている。
【0011】
アプリケーションプログラムの補足的特徴をアンロックする方法であって、コンピューティング装置で動作される方法として、本発明の別の実施形態は、少なくとも、コンピューティング装置でアプリケーションプログラムを実行するステップであって、そのアプリケーションプログラムは、リモートネットワークベースのアプリケーション配布システムから以前に取得されたものであるステップと、アプリケーションプログラムを経て、現在ロックされてアプリケーションプログラム内に置かれているがアンロックすることのできる少なくとも1つの補足的特徴をコンピューティング装置のユーザにオファーするステップと、コンピューティング装置のユーザが、現在ロックされている少なくとも1つの補足的特徴の使用権の取得を希望するという指示を受け取るステップと、その指示が受け取られるのに応答して、リモートネットワークベースのアプリケーション配布システムから補足的特徴情報を要求するステップであって、その補足的特徴情報は、少なくとも1つの補足的特徴に関する少なくとも記述情報を含むものであるステップと、その後、コンピューティング装置において、リモートネットワークベースのアプリケーション配布システムから補足的特徴情報を受け取るステップと、その補足的特徴情報をコンピューティング装置にプレゼンテーションするステップと、コンピューティング装置において、現在ロックされている少なくとも1つの補足的特徴の使用権の取得をユーザが希望することを確認するステップと、リモートネットワークベースのアプリケーション配布システムが少なくとも1つの補足的特徴のアンロックを承認することを要求するステップと、少なくとも1つの補足的特徴がアンロックについて承認されたというリモートネットワークベースのアプリケーション配布システムからの許可を受け取るステップと、その後、コンピューティング装置においてアプリケーションプログラムの少なくとも1つの補足的特徴をアンロックし、それにより、アプリケーションプログラムが少なくとも1つの補足的特徴を利用できるようにするステップと、を備えている。
【0012】
ネットワークベースのアプリケーション配布システムから以前に取得されたアプリケーションプログラムの補足的特徴のアンロッキングを管理するためのコンピュータ実施方法として、本発明の一実施形態は、少なくとも、リモートネットワークベースのアプリケーション配布システムからの補足的特徴情報についての要求をコンピューティング装置から受け取るステップと、アプリケーションプログラムの補足的特徴に関連した補足的特徴情報を検索するステップであって、その補足的特徴情報は、ネットワークベースのアプリケーション配布システムから以前に取得されたアプリケーションプログラムの補足的特徴に関する少なくとも記述情報を含むものであるステップと、その検索された補足的特徴情報をコンピューティング装置へ送信するステップと、アプリケーションプログラムの補足的特徴をアンロックするための要求をコンピューティング装置から受信するステップと、ネットワークベースのアプリケーション配布システムが補足的特徴のアンロッキングを承認するかどうか決定するステップと、この決定ステップで、ネットワークベースのアプリケーション配布システムが補足的特徴のアンロッキングを承認したと決定する場合に、補足的特徴をアンロックする許可をコンピューティング装置へ送信するステップと、を備えている。
【0013】
ネットワークベースのアプリケーション配布システムから以前に取得されたアプリケーションプログラムの補足的特徴のアンロッキングを管理するためのコンピュータ実施方法として、本発明の別の実施形態は、少なくとも、ネットワークベースのアプリケーション配布システムから以前に取得されたアプリケーションプログラムの補足的特徴をアンロックするための要求をコンピューティング装置から受け取るステップと、ネットワークベースのアプリケーション配布システムが補足的特徴のアンロッキングを承認するかどうか決定するステップと、この決定ステップで、ネットワークベースのアプリケーション配布システムが補足的特徴のアンロッキングを承認したと決定する場合に、補足的特徴をアンロックする許可をコンピューティング装置へ送信するステップと、を備えている。
【0014】
移動コンピューティング装置として、本発明の一実施形態は、少なくとも、少なくとも1つのロックされた特徴を有する少なくとも1つのアプリケーションプログラムと、移動コンピューティング装置に常駐するコマースサーバーとを備えている。コマースサーバーは、少なくとも1つのアプリケーションプログラムが移動コンピューティング装置上で動作する間に少なくとも1つのアプリケーションプログラムの少なくとも1つのロックされた特徴へのアクセスを容易にするためにリモートサーバーと対話するように構成される。
【0015】
プログラムプロダクトの補足的コンポーネントをアンロックするためにコンピューティング装置により実行可能な少なくともコンピュータプログラムコードが記憶されたコンピュータ読み取り可能なメディアとして、本発明の一実施形態は、少なくとも、コンピューティング装置でプログラムプロダクトを実行するためのコンピュータプログラムコードであって、プログラムプロダクトは、リモートネットワークベースのアプリケーション配布システムから既に取得されたものであり、又、プログラムプロダクトは、現在ロックされていてプログラムプロダクト内に置かれているがアンロックすることのできる少なくとも1つの補足的コンポーネントを含むものであるコンピュータプログラムコードと、コンピューティング装置において、プログラムプロダクトのユーザが、現在ロックされている少なくとも1つの補足的コンポーネントの使用権の取得を希望することを決定するためのコンピュータプログラムコードと、リモートネットワークベースのアプリケーション配布システムが少なくとも1つの補足的コンポーネントのアンロッキングを承認することを要求するためのコンピュータプログラムコードと、少なくとも1つの補足的コンポーネントがアンロッキングに対して承認された許可をリモートネットワークベースのアプリケーション配布システムから受信するためのコンピュータプログラムコードと、コンピューティング装置においてプログラムプロダクトの少なくとも1つの補足的コンポーネントをアンロックして、プログラムプロダクトが少なくとも1つの補足的コンポーネントを利用できるようにするためのコンピュータプログラムコードと、を備えている。
【0016】
ネットワークベースのアプリケーション配布システムから以前に取得されたアプリケーションプログラムの補足的コンポーネントのアンロッキングを管理するためにコンピューティング装置により実行可能な少なくともコンピュータプログラムコードが記憶されたコンピュータ読み取り可能なメディアとして、本発明の一実施形態は、少なくとも、ネットワークベースのアプリケーション配布システムから以前に取得されたプログラムプロダクトの補足的コンポーネントをアンロックする要求をコンピューティング装置から受信するためのコンピュータプログラムコードと、ネットワークベースのアプリケーション配布システムが補足的コンポーネントのアンロッキングを承認するかどうか決定するためのコンピュータプログラムコードと、ネットワークベースのアプリケーション配布システムが補足的コンポーネントのアンロッキングを承認したと決定された場合に補足的コンポーネントをアンロックする許可をコンピューティング装置へ送信するためのコンピュータプログラムコードと、を備えている。
【0017】
本発明の他の態様及び効果は、本発明の原理を例示する添付図面に関連した以下の詳細な説明から明らかとなろう。
【0018】
本発明は、同じ要素が同じ参照番号で示された添付図面を参照した以下の詳細な説明から容易に理解されよう。
【図面の簡単な説明】
【0019】
【図1】本発明の一実施形態によるプロダクト提示及び配布システムのブロック図である。
【図2】本発明の一実施形態によるクライアント又はクライアント装置のブロック図である。
【図3A】本発明の一実施形態による補足的特徴のアクセスを示す図である。
【図3B】本発明の一実施形態による補足的特徴のアクセスを示す図である。
【図3C】本発明の一実施形態による補足的特徴のアクセスを示す図である。
【図4】本発明の一実施形態によるデジタルプロダクト提示プロセスのフローチャートである。
【図5】本発明の一実施形態による補足的特徴クライアントプロセスのフローチャートである。
【図6A】本発明の一実施形態による補足的特徴クライアントプロセスのフローチャートである。
【図6B】本発明の一実施形態による補足的特徴クライアントプロセスのフローチャートである。
【図7】本発明の一実施形態による補足的特徴サーバープロセスのフローチャートである。
【発明を実施するための形態】
【0020】
本発明は、プロダクト配布サイトからの支援でデジタルプロダクトのロック(セキュア化)された特徴にアクセスするためのシステム、装置及び方法に係る。
【0021】
デジタルプロダクトを、ネットワークベースの配布のためにプロダクト配布サイトへ提示することができる。デジタルプロダクトは、基本的な機能を発揮するように最初に与えられるが、1つ以上のロックされた特徴を含んでおり、これがアンロックされると、基本的な機能を補足することができる。提示されたデジタルプロダクトが承認された場合には、そのデジタルプロダクトがプロダクト配布サイトにおいて入手できるようになり、ユーザは、そのデジタルプロダクトをサーチし、ブラウズしそして購入することができる。デジタルプロダクトが購入され、ダウンロードされ、そしてユーザのコンピューティング装置にインストールされると、ユーザは、デジタルプロダクトを利用することができる。しかしながら、デジタルプロダクトそれ自体は、1つ以上のロックされた特徴を含むので、ユーザは、その後の購入が遂行されるまでそのような特徴を利用することができない。好都合なことに、その後の購入は、デジタルプロダクトから呼び出すことができる。そのようにする際に、デジタルプロダクトは、リモートサーバー(例えば、プロダクト配布サイト)と(直接的又は間接的に)対話して、デジタルプロダクト内の1つ以上のロックされた特徴に対するアクセス権又は使用権を購入する。1つ以上のロックされた特徴に対するアクセス権又は使用権が購入されると、デジタルプロダクト内の1つ以上のロックされた特徴をアンロックし、その後、使用することができる。
【0022】
一実施形態では、デジタルプロダクトは、コンピュータプログラムプロダクト(例えば、コンピュータソフトウェアプログラム)である。プロダクト配布サイトは、オンラインプロダクトホスティングサイトとも称される。デジタルプロダクトの特徴は、具現化に基づいて変化するが、特徴の幾つかの例は、モジュール、ツール、キャラクタ、機能、コンテンツ又はデータを含む。又、特徴は、コンポーネントとも称される。
【0023】
図1−7を参照して本発明の種々の態様の実施形態を以下に説明する。しかしながら、当業者であれば、本発明はこれらの限定された実施形態を越えて拡張できるので、これら図面を参照してここに述べる詳細な説明は例示に過ぎないことが明らかであろう。
【0024】
図1は、本発明の一実施形態によるプロダクト提示及び配布システム100のブロック図である。プロダクト提示及び配布システム100は、プロダクト配布サイト102を備えている。プロダクト配布サイト102は、種々のデジタルプロダクトを配布するためのオンラインアクセスポイントをなす。例えば、プロダクト配布サイト102は、オンラインストアとも称される。プロダクト提示及び管理システム104は、種々のデジタルプロダクトサブミッターからデジタルプロダクトの提示を受信するように動作する。プロダクト提示及び管理システム104は、デジタルプロダクトの提示を処理し、承認されたデジタルプロダクトの配布を許可することができる。デジタルプロダクトは、プロダクト記憶部106に記憶することができる。一実施形態では、プロダクト記憶部106は、大量データ記憶部及び/又は1つ以上のデータベースを含む。プロダクト記憶部106は、配布(例えば、購入)のために得られる多数のデジタルプロダクトの大量記憶装置をなす。例えば、購入されたデジタルプロダクトは、プロダクト配布サイト102によりデータネットワーク108を経てプロダクト記憶部106からアクセスすることができる。デジタルプロダクトは、例えば、アプリケーション(又はアプリケーションプログラム)、アニメーション、又はプレゼンテーションのようなコンピュータプログラムプロダクトである。
【0025】
又、プロダクト提示及び配布システム100は、第1のクライアント110及び第2のクライアント112も備えている。典型的に、プロダクト提示及び配布システム100は、複数の異なるクライアント110、112を含む。第1のクライアント110は、ネットワークアクセスプログラム114を含む。第2のクライアント112は、プロダクト提示プログラム116を含む。又、あるクライアントは、ネットワークアクセスプログラム114及びプロダクト提示プログラム116の両方を含むこともできる。ネットワークアクセスプログラム114は、コンピューティング装置である第1のクライアント110において動作するアプリケーションプログラム(例えば、ソフトウェアアプリケーション)である。適当なネットワークアクセスプログラムの一例は、ネットワークブラウザ(例えば、マイクロソフトエクスプローラ又はサファリ)である。適当なネットワークアクセスプログラムの別の例は、アップル社により売り出されているiTuneTMである。第1のクライアント110は、データネットワーク108を経てプロダクト配布サイト102へ結合することができる。従って、第1のクライアント110のいずれかがプロダクト配布サイト102と対話して、デジタルプロダクトを再検討、購入及び/又は管理することができる。
【0026】
又、プロダクト提示プログラム116は、コンピューティング装置である第2のクライアント112において動作するアプリケーションプログラム(例えば、ソフトウェアアプリケーション)でもある。プロダクト提示プログラム116は、メディア配布サイト102による最終的配布のためにデジタルプロダクトをプロダクト提示及び管理システム104へ提示するのに使用される。ネットワークアクセスプログラム114及びプロダクト提示プログラム116は、個別のプログラムとして図1に示されているが、このようなプログラムは、単一のプログラムへ一体化されてもよいし又は同じクライアントマシンに存在してもよいことを理解されたい。
【0027】
図1に示すプロダクト提示及び配布システム100において、デジタルプロダクトは、プロダクト提示プログラム116によりプロダクト提示及び管理システム104へ提示される。(例えば、第2のクライアント112を経て)提示されたデジタルプロダクトは、処理され、次いで、もし受け容れられる場合には、配布のためにプロダクト記憶部106に記憶される。その後、記憶されたデジタルプロダクトは、プロダクト配布サイト102から購入して入手することができる。
【0028】
プロダクト提示及び配布システム100は、クライアント110のユーザがネットワークアクセスプログラム114を利用して、プロダクト配布サイト102から購入できる複数のデジタルプロダクトを通してブラウズし、サーチし又はソートすることができるようにする。又、ネットワークアクセスプログラム114は、ユーザがデジタルプロダクトの幾つか又は全部を試写又は視聴できるようにする。ネットワークアクセスプログラム114のユーザが特定のデジタルプロダクトの購入を希望する場合には、ユーザ(ネットワークアクセスプログラム114を経て)及びプロダクト配布サイト102は、ユーザが特定のデジタルプロダクトへのアクセス権に対して支払いするオンラインコマーストランザクションに携わることができる。一実施形態では、ユーザに関連したクレジットカードで、特定のデジタルプロダクトの購入額又はレンタル額をクレジット処理する。
【0029】
特定のデジタルプロダクトを購入するとき、プロダクト配布サイト102は、その特定のデジタルプロダクトに対するデジタルデータをプロダクト記憶部106から検索し、次いで、プロダクト配布サイト102からデータネットワーク108を経て要求側クライアント110へ配送(例えば、ダウンロード)するのを許す。この点に関して、プロダクト配布サイト102又は他の配送サーバー(図示せず)は、プロダクト記憶部106から特定のデジタルプロダクトに対応するデジタルデータを得て、そのようなデジタルデータを、データネットワーク108を経てクライアント110へダウンロードする。ダウンロードされたデジタルデータは、次いで、クライアント110に記憶することができる。一実施形態では、ダウンロードされたデジタルデータは、クライアント110に受信されるときに暗号化されるが、解読され、次いで、おそらく、再暗号化された後に、クライアント110に永続的に記憶される。その後、クライアント110は、クライアント110においてデジタルプロダクトのデジタルデータを利用(例えば、実行)することができる。
【0030】
デジタルプロダクトの提示及び購入は、データネットワーク108を経て行うことができる。換言すれば、デジタルプロダクトの提示及び購入は、オンラインで行うことができる。オンラインでのメディアアイテムの購入は、電子コマース(e−コマース)とも称される。一実施形態では、データネットワーク108は、インターネットの少なくとも一部分を使用する。一実施形態では、プロダクト配布サイト102と、クライアント110、112との間のデータネットワーク108を通る接続は、セキュアソケットレイヤー(SSL)のようなセキュアな接続を経て行うことができる。クライアント110、112は、アプリケーションと共に変化し得るが、一般的には、メモリ記憶装置を有するコンピューティング装置である。多くの場合、クライアント110、112は、メディアを記憶してユーザにプレゼンテーションすることのできるパーソナルコンピュータ又は他のコンピューティング装置である。一実施形態では、クライアントの1つ以上は、ポータブルコンピューティング装置(例えば、ラップトップ又はネットワークコンピュータ)或いはハンドヘルドコンピューティング装置(例えば、PDA、スマートホン、マルチファンクション電子装置、又はメディアプレーヤ)である。
【0031】
デジタルプロダクトは、1つ以上の補足的特徴を含むことができる。この補足的特徴は、対応するデジタルプロダクトを補足又は増強するように働くことができる。図1に示すように、プロダクト配布サイト102からデータネットワーク108を経て取得されダウンロードされるデジタルプロダクト118は、クライアント110に記憶することができる。一実施形態では、デジタルプロダクト118は、補足的特徴120を含むことができる。しかしながら、デジタルプロダクト118が最初に取得されるときには、補足的特徴120がインアクティブであるか又はロックされており、デジタルプロダクト118により使用することができない。しかしながら、クライアント110におけるデジタルプロダクト118の動作中に、デジタルプロダクト118は、補足的特徴120の使用権の取得を開始することができる。このようなケースでは、デジタルプロダクト118(それ自体で又はオペレーティングシステムの支援で)は、プロダクト配布サイト102の特徴取得マネージャー122と通信することができる。典型的に、デジタルプロダクト118は、プロダクト配布サイト102から以前に取得されている。特徴取得マネージャー122は、補足的特徴へアクセスするための到来する要求の処理を管理する。例えば、特徴取得マネージャー122は、補足的特徴へアクセスするための到来する要求を受信し、その要求が有効であって処理が許されるかどうか決定し、そのようなアクセスに対して、もしあれば、支払いを処理し、そして要求側クライアント装置110へ許可応答を送信する。許可応答を受信すると、デジタルプロダクト118は、補足的特徴120をアクセス可能にする(即ち、アンロックできるようにする)。このような実施形態では、補足的特徴は、デジタルプロダクト118がクライアント110に最初にダウンロードされるときに与えられ、その後、補足的特徴120をアクティブにするにはクライアント110へ許可を与えるだけでよい。しかしながら、別の実施形態では、補足的特徴120は、許可された後でなければ、クライアント110へ配送することができない(従って、デジタルプロダクト118の配送とは個別に与えられる)。
【0032】
プロダクト配布サイト102、プロダクト提示及び管理システム104、並びにプロダクト記憶部106は、図1では、個別のコンポーネントとして示されているが、これらコンポーネントのいずれかを1つ以上の装置へ結合できることを理解されたい。例えば、プロダクト提示及び管理システム104は、プロダクト配布サイト102へ合体することができる。別の実施例として、プロダクト記憶部106は、プロダクト配布サイト102、又はプロダクト提示及び管理システム104へ合体することができる。
【0033】
アプリケーションプログラム118の補足的特徴120の使用権の取得に関してクライアント110によるプロダクト配布サイト(例えば、特徴取得マネージャー122)との通信を容易にするために、プロダクト配布サイト102は、アプリケーションプログラミングインターフェイス(API)をサポートすることができる。例えば、プロダクト配布サイト102に対するAPIは、一実施形態では、以下のアペンディックスAに示されたAPIを含む。
【0034】
図2は、本発明の一実施形態によるクライアント200又はクライアント装置のブロック図である。クライアント200は、例えば、図1に示されたクライアント110として使用するのに適している。
【0035】
クライアント200は、クライアント200で実行できるアプリケーションプログラムに対して基本的なコンピューティングサービスを提供するために、クライアント200で動作されるオペレーティングシステム(OS)202を備えている。更に、オペレーティングシステム202は、コマースサーバー204を備えている。コマースサーバー204は、リモートデジタルプロダクト配布サーバーのようなリモートサーバーに関してコマースオペレーションを遂行するために、クライアント200で動作されるアプリケーションプログラムによって使用される。例えば、リモートサーバーは、図1に示すプロダクト配布サーバー102に関するものである。
【0036】
又、クライアント200は、クライアント200にインストールされてクライアント200により実行することのできる1つ以上のアプリケーションプログラムも含むことができる。典型的に、これらのアプリケーションは、リモートサーバー(例えば、プロダクト配布サーバー102)から取得されて、クライアント200へダウンロードされる。クライアント200に存在しインストールされるアプリケーションは、アプリケーションプログラムA206及びアプリケーションプログラムB208により表される。図2に示すように、アプリケーションプログラムA206は、補足的特徴X210及び補足的特徴Y212を含む。典型的に、アプリケーションプログラムA206が最初にリモートサーバーから取得されるときには、補足的特徴210及び212が存在するが、「ロック」されており、従って、現在使用することができない。同様に、アプリケーションプログラムB208は、これが取得されたとき、最初に「ロック」されている補足的特徴Z214を含んでいる。更に、アプリケーションプログラムA206及びアプリケーションプログラムB208は、コマースサーバー204によりリモートサーバー(例えば、リモートデジタルプロダクト配布サーバー)と対話し、補足的特徴210、212及び214の希望の1つ以上を「アンロック」にすることができる。補足的特徴が「アンロック」状態になると、それに関連したアプリケーションプログラムは、その後、その補足的特徴を使用することができる。
【0037】
アプリケーションプログラム206、208と、コマースサーバー204との間の通信を容易にするために、コマースサーバー204は、アプリケーションプログラミングインターフェイス(API)をサポートすることができる。例えば、コマースサーバー204に対するAPIは、一実施形態では、以下のアペンディックスBに示すAPIを含む。このアペンディックスBは、プロダクト配布サイト102を使用して補足的特徴をサポート及び配布する(例えば、ネットワークベースのアプリケーション記憶部をホストする)ためにアプリケーションプログラムをどのように変更するかに情報も含む。
【0038】
図3A−3Cは、本発明の一実施形態による補足的特徴へのアクセスを示す図である。図3Aは、一実施形態による例示的デジタルプロダクト300を示す。この例示的デジタルプロダクト300は、図1に示されたプロダクト配布サイト102のようなリモートサーバーから取得することができる。例示的デジタルプロダクト300は、アプリケーションプログラム302だけでなく、補足的特徴X304及び補足的特徴Y306も含む。図3Aに示すように、補足的特徴X304及び補足的特徴Y306は、両方とも、「ロック」状態にある。ここに更に述べるように、アプリケーションプログラムの補足的特徴は、許可されたときに、アンロックすることができる。一般的に、補足的特徴は、個々にアンロックすることができ、あるケースでは、(1より大きい)ある量の同じ特徴が利用できるようにされる。図3Bにおいて、例示的デジタルプロダクト300の補足的特徴X304が「アンロック」され、アプリケーションプログラムA302に関連して使用できるようにされる。しかしながら、補足的特徴Y306は、図3Bにおいて「ロック」されたままである。図3Cにおいて、例示的デジタルプロダクト300の補足的特徴X304及び補足的特徴Y306は、両方とも「アンロック」され、アプリケーションプログラムA302に関連して使用できるようにされる。
【0039】
上述したように、アプリケーションプログラム(又はデジタルプロダクト)の補足的特徴(又は補足的コンポーネント)は、具現化に基づいて変化する。補足的特徴は、モジュール、ツール、キャラクタ、機能、コンテンツ又はデータに関与することができる。ゲームベースのアプリケーションプログラムの場合に、補足的特徴は、新たな兵器、新たなキャラクタ、延命、付加的なゲームレベル、等である。生産性アプリケーションの場合に、補足的特徴は、付加的なモジュール(例えば、1年のモジュール、地理的モジュール、コンテンツベースのモジュール、等)、付加的な又は増強された機能(ワイヤレス通信、プリント、記憶、等)、等々である。情報アプリケーションの場合に、補足的特徴は、付加的なコンテンツ又はデータ、付加的な学習又は情報モジュール、等である。
【0040】
図4は、本発明の一実施形態によるデジタルプロダクト提示プロセス400のフローチャートである。デジタルプロダクト提示プロセス400は、例えば、クライアント112のようなクライアント装置、又はプロダクト提示及び管理システム104のようなサーバー装置によって遂行することができる。
【0041】
デジタルプロダクト提示プロセス400は、デジタルプロダクトに関するプロダクト情報を受信することができる(402)。プロダクト情報は、提示されるデジタルプロダクトの形式に基づいて変化し得る。1つの具現化において、デジタルプロダクト提示プロセス400によりオンラインレポジトリーに提示することのできるデジタルプロダクトの1つの形式は、コンピュータプログラムプロダクトのようなデジタルプログラムプロダクトである。コンピュータプログラムプロダクトに対するプロダクト情報は、例えば、プロダクト名、サポートされる装置の形式指示、ジャンルの指示、バージョンナンバー、プロダクト識別子、サポート情報、及びライセンス合意情報、の1つ以上を含むことができる。更に、デジタルプログラムプロダクトが1つ以上の補足的特徴を合体するときには、デジタルプロダクト提示プロセス400は、1つ以上の補足的特徴に対する補足的情報も受信できる(404)。
【0042】
次いで、デジタルプロダクトに関する少なくとも1つの電子ファイルをアップロードすることができる(406)。デジタルプロダクトは、それに関連した1つ以上の電子ファイルを有することができる。例えば、デジタルプロダクトは、バイナリーファイル、サポート又はヘルプファイル、及び/又は1つ以上の例示的スクリーンイラストレーションを含んでもよい。
【0043】
加えて、デジタルプロダクトと共に使用されるべき少なくとも1つの配布パラメータを受信することができる(408)。配布パラメータとは、デジタルプロダクトを配布することのできる仕方を制御し又はそれに影響するために使用できるパラメータである。配布パラメータの一例は、価格パラメータである。例えば、価格パラメータは、デジタルプロダクトに関連付けされる価格又は価格層を指定することができる。他の配布パラメータは、デジタルプロダクトを配布すべきところのデジタル店頭に関するものである。更に、配布パラメータは、試写適格性、ライセンスカテゴリー(形式)、等に関するものもある。
【0044】
その後に、デジタルプロダクトをオンラインレポジトリーに提示することができる(410)。オンラインレポジトリーは、例えば、プロダクト提示及び管理システム104に対応する。オンラインレポジトリーは、1つ以上の電子ファイル、関連プロダクト情報、補足的特徴情報、及び1つ以上の配布パラメータを受信することができる。次いで、オンラインレポジトリーは、1つ以上の電子ファイルに含まれたデジタルプロダクトを、プロダクト配布サイト(例えば、オンラインストア)から、プロダクト情報及び1つ以上の配布パラメータに基づいて配布できるように動作することができる。又、オンラインレポジトリーは、デジタルプロダクトの1つ以上の補足的特徴へのその後のアクセスを容易にするように動作することもできる。デジタルプロダクトをオンラインレポジトリーへ提示した(410)後に、デジタルプロダクト提示プロセス400を終了することができる。
【0045】
図5は、本発明の一実施形態による補足的特徴クライアントプロセス500のフローチャートである。補足的特徴クライアントプロセス500は、例えば、図1に示されたクライアント110のようなクライアント(即ち、クライアント装置)において遂行することができる。
【0046】
補足的特徴クライアントプロセス500は、リモートネットワークベースのアプリケーション配布システムから以前に取得されたアプリケーションプログラムを実行することができる(502)。例えば、リモートネットワークベースのアプリケーション配布システムは、図1に示されたプロダクト提示及び配布システム100に関するものである。ここで、リモートネットワークベースのアプリケーション配布システムから以前に取得されたアプリケーションプログラムがクライアントにおいて実行される(502)。実行中のある点において、クライアントに判断504をプレゼンテーションすることができる。判断504は、補足的特徴の取得を行うべきかどうか決定する。一実施形態では、判断504は、クライアントのユーザがアプリケーションプログラムに対する補足的特徴の取得を希望するかどうか指示するユーザ入力に基づいて決定することができる。例えば、アプリケーションプログラムの実行中に、アプリケーションプログラムは、ユーザにオファーする補足的特徴をプレゼンテーションすることができ、ユーザは、そのオファーに応答して、補足的特徴がユーザにより望まれるものかどうか指示することができる。
【0047】
いずれにせよ、判断504で補足的特徴の取得が要求されていないと決定すると、判断506は、アプリケーションプログラムを止める(即ち、終了する)べきかどうか決定することができる。判断506でアプリケーションプログラムをやめるべきでないと決定すると、アプリケーションプログラムが継続し、補足的特徴クライアントプロセス500が復帰して判断504を繰り返す。或いは又、判断506でアプリケーションプログラムをやめるべきと決定したときには、補足的特徴クライアントプロセス500を終了することができる。
【0048】
他方、判断504で補足的特徴の取得が要求されると決定したときには、リモートネットワークベースのアプリケーション配布システムへ要求508をなすことができる。要求508は、リモートネットワークベースのアプリケーション配布システムが補足的特徴のアンロッキングを承認することを要求するものである。次いで、判断510は、リモートネットワークベースのアプリケーション配布システムが補足的特徴のアンロッキングを承認したかどうか決定することができる。判断510で、リモートネットワークベースのアプリケーション配布システムが補足的特徴のアンロッキングを承認したと決定したときには、アプリケーションプログラムの補足的特徴をアンロックすることができる(512)。ここで、一実施形態では、リモートネットワークベースのアプリケーション配布システムは、補足的特徴をアンロックすることが承認されたとクライアントに通知することができ、次いで、アプリケーションプログラムを動作して、補足的特徴をアンロックすることができる。或いは又、判断510で、リモートネットワークベースのアプリケーション配布システムが補足的特徴のアンロッキングを承認しない(即ち、拒絶した)と決定したときには、補足的特徴をアンロックする要求が拒絶される(514)。ここで、補足的特徴のアンロッキングが承認されないとクライアントに通知することにより、アプリケーションプログラムは、補足的特徴をアンロックするように動作せず、従って、補足的特徴は、ロックされたままとなる。ブロック512又はブロック514に続いて、補足的特徴クライアントプロセス500を終了することができる。
【0049】
図6A及び6Bは、本発明の一実施形態による補足的特徴クライアントプロセス600のフローチャートである。この補足的特徴クライアントプロセス600は、例えば、図1に示されたクライアント110のようなクライアント(クライアント装置)により遂行することができる。
【0050】
補足的特徴クライアントプロセス600は、ネットワークベースのアプリケーション配布システムからアプリケーションプログラムをダウンロードする(602)ことで開始することができる。例えば、クライアントのユーザは、ネットワークベースのアプリケーション配布システムと対話して、アプリケーションプログラムを識別し、購入しそしてダウンロードすることができる。ダウンロードされると、アプリケーションプログラムをクライアントにインストールすることができる。その後、判断604は、アプリケーションプログラムを実行すべきかどうか決定することができる。判断604で、アプリケーションプログラムが実行されないと決定すると、補足的特徴クライアントプロセス600は、アプリケーションプログラムが実行されるまで実際上待機となる。判断604で、アプリケーションプログラムが実行されると決定すると、アプリケーションプログラムが実行される(606)。
【0051】
次いで、判断608は、補足的特徴をクライアントにオファーすべきかどうか決定することができる。判断608で、補足的特徴がオファーされないと決定すると、判断610は、補足的特徴クライアントプロセス600を止める(終了する)べきかどうか決定することができる。判断610で、補足的特徴クライアントプロセス600を終了すべきであると決定すると、補足的特徴クライアントプロセス600は、補足的特徴を使用可能とせずに、終了することができる。或いは又、判断610で、補足的特徴クライアントプロセス600を終了すべきでないと決定すると、補足的特徴クライアントプロセス600が復帰して、判断608を繰り返す。
【0052】
他方、判断608で、補足的特徴をオファーすべきであると決定すると、補足的特徴のオファーをプレゼンテーションすることができる(612)。ここで、プレゼンテーション(612)される補足的特徴オファーは、アプリケーションプログラムを動作するクライアントのユーザにより見たり聞いたりすることができる。1つの具現化では、補足的特徴オファーは、クライアントにおいて実行されているアプリケーションプログラムによりプレゼンテーションされる(612)。次いで、判断614は、ユーザが補足的特徴オファーを受け容れるかどうか決定することができる。判断614で、ユーザが補足的特徴オファーを受け容れないと決定すると、補足的特徴クライアントプロセス600が復帰して判断610を繰り返し、補足的特徴クライアントプロセス600を継続するか又は止めることができる。
【0053】
或いは又、判断614で、ユーザが補足的特徴オファーを受け容れたと決定すると、ネットワークベースのアプリケーション配布システムから補足的特徴情報を要求することができる(616)。判断618は、補足的特徴情報の要求に対して応答が受け取られたかどうか決定する。判断618で、応答がまだ受け取られないと決定すると、補足的特徴クライアントプロセス600は、そのような応答を待機することができる。他方、判断618で、補足的特徴情報の要求に対する応答が受け取られたと決定すると、補足的特徴情報をプレゼンテーションすることができる(620)。補足的特徴情報がプレゼンテーションされて(620)、クライアントにおいて動作されるアプリケーションプログラムのユーザに、オファーされている補足的特徴に関する情報が与えられる。例えば、補足的特徴情報は、アプリケーションプログラムのようなクライアントにより、又はオペレーティングシステムにより、表示することができる。
【0054】
次いで、判断622は、ユーザが補足的特徴の取得を確認したかどうか決定することができる。1つの具現化によれば、アプリケーションプログラムは別として、オペレーティングシステムは、補足的特徴の取得を希望することをユーザが確認することを要求することができる。この判断622は、補足的特徴の取得を制御された仕方で管理するように働き、アプリケーションプログラムがユーザに対して補足的特徴を軽率に又は不適切に取得しないようにする。判断622で、補足的特徴の取得がまだ確認されていないと決定すると、補足的特徴クライアントプロセス600は、そのような確認を待機することができる。所定の期間内に確認がなされない場合には、判断622は、補足的特徴クライアントプロセス600を終了させることもできる。
【0055】
或いは又、判断622で、補足的特徴の取得がユーザにより確認されたと決定すると、補足的特徴にアクセスするための許可を要求することができる(624)。ここで、補足的特徴にアクセスするための許可の要求は、例えば、ネットワークベースのアプリケーション配布システムへ行うことができる。次いで、判断626は、補足的特徴にアクセスするための許可が受け取られたかどうか決定する。許可は、許可応答として又は許可応答内で与えることができる。許可応答は、これが与えられると、クライアントにより受信される。従って、判断626は、許可応答が受信されたかどうか決定する。判断626で、許可応答が受信されないと決定すると、判断628は、時間切れが生じたかどうか決定することができる。判断628で、時間切れが生じたと決定すると、補足的特徴クライアントプロセス600を終了することができる。他方、判断628で、時間切れが生じないと決定すると、補足的特徴クライアントプロセス600は、判断626を繰り返すように復帰し、許可応答の受信を待機する。判断626で許可応答が受信されたと決定すると、アプリケーションプログラムの補足的特徴をアンロックすることができる(630)。典型的に、アプリケーションプログラムそれ自体は、クライアントに許可応答が与えられた場合に補足的特徴をアンロックするように働くことができる。ブロック630に続いて、補足的特徴クライアントプロセス600を終了することができる。
【0056】
図7は、本発明の一実施形態による補足的特徴サーバープロセス700のフローチャートである。この補足的特徴サーバープロセス700は、例えば、図1に示されたプロダクト配布サイト102のようなサーバー(サーバー装置)により遂行される。
【0057】
補足的特徴サーバープロセス700は、判断702で開始することができる。判断702は、補足的特徴情報要求が受け取られたかどうか決定することができる。典型的に、補足的特徴情報要求は、クライアントから受け取ることができる。例えば、補足的特徴情報要求は、図6A及び6Bに示された補足的特徴クライアントプロセス600のブロック616により開始することができる。
【0058】
判断702で、補足的特徴情報要求が受け取られたと決定すると、補足的特徴に関連した補足的特徴情報を704において検索することができる。例えば、サーバーは、複数の異なる補足的特徴に対する補足的特徴情報を記憶することのできるデータ記憶装置にアクセスすることができる。特定例として、補足的特徴情報は、データベースでよいプロダクト記憶装置106に記憶されたプロダクト情報の一部分である。次いで、(704で)検索された補足的特徴情報を送信することができる(706)。典型的に、補足的特徴情報は、補足的特徴情報要求を開始したクライアントへ送信される(706)。或いは又、判断702で、補足的特徴情報要求が受け取られなかったと決定すると、ブロック704及び706をバイパスすることができる。
【0059】
ブロック706に続いて、又はそれがバイパスされると、補足的特徴サーバープロセス700は、補足的特徴をアンロックすることに関連した処理を遂行することができる。より詳細には、判断708は、アンロック要求を受け取ったかどうか決定することができる。典型的に、アンロック要求は、クライアントから受け取ることができる。例えば、アンロック要求(許可要求でもある)は、図6A及び6Bに示された補足的特徴クライアントプロセス600のブロック624により開始することができる。
【0060】
判断708で、アンロック要求が受け取られたと決定すると、補足的特徴サーバープロセス700は、アンロック要求を承認すべきかどうか決定することができる(710)。1つの具現化において、承認するには、1つ以上の要件を満足することが要求される。この要求は、具現化と共に変化し、補足的特徴に対する支払、アプリケーションプログラムの以前の購入、ユーザアカウントの存在、等の1つ以上を含む。判断712でアンロック要求が承認されないと決定すると、補足的特徴サーバープロセス700は、そのアンロック要求をなしたクライアントへ拒絶応答を送信することができる(714)。拒絶応答は、拒絶の理由を指示してもよい。或いは又、判断712でアンロック要求が承認されたと決定すると、補足的特徴をアンロックする許可応答が、アンロック要求を発したクライアントへ送信される(716)。許可応答は、アンロックが要求された特定の補足的特徴をアンロックするのに使用できる許可コード(1つ又は複数)を含むことができる。1つの具現化では、許可応答は、クライアントで動作するアプリケーションプログラムへ送られ(716)、次いで、アプリケーションプログラムは、補足的特徴をアンロックするように働くことができる(例えば、図6A及び6Bに示された補足的特徴クライアントプロセス600のブロック630)。
【0061】
他方、判断708でアンロック要求が受け取られないと決定すると、ブロック710−716をバイパスすることができる。ブロック714または716に続いて(或いはこのようなブロックをバイパスして)、補足的特徴サーバープロセス700が復帰して、判断702を繰り返すことができる。
【0062】
2009年3月16日に出願された“APPLICATION PRODUCTS WITH IN-APPLICATION SUBSEQUENT FEATURE ACCESS USING NETWORK-BASED DISTRIBUTION SYSTEM”と題する米国プロビジョナル特許出願第61/160,640号が参考としてここに援用される。
【0063】
又、本願は、次のものを参照し及び/又は援用する:(1)参考としてここに援用される2003年10月15日に出願された“METHOD AND SYSTEM FOR SUBMITTING MEDIA FOR NETWORK-BASED PURCHASE AND DISTRIBUTION”と題する米国特許出願第10/687,534号;(2)参考としてここに援用される2007年2月27日に出願された“PROCESSING OF METADATA CONTENTS AND MEDIA CONTENT RECEIVED BY A MEDIA DISTRIBUTION SYSTEM”と題する米国特許出願第11/712,303号;(3)参考としてここに援用される2006年12月12日に出願された“TECHNIQUES AND SYSTEMS FOR ELECTRONIC SUBMISSION OF MEDIA FOR NETWORK-BASED DISTRIBUTION”と題する米国特許出願第11/609,815号;(4)参考としてここに援用される2007年1月12日に出願された“COMPUTERIZED MANAGEMENT OF MEDIA DISTRIBUTION AGREEMENTS”と題する米国特許出願第11/622,923号;(5)参考としてここに援用される2008年9月26日に出願された“ELECTRONIC SUBMISSION AND MANAGEMENT OF DIGITAL PRODUCTS FOR NETWORK-BASED DISTRIBUTION”と題する米国特許出願第12/286,076号;(6)参考としてここに援用される2008年9月26日に出願された“NETWORK-BASED DISTRIBUTION OF APPLICATION PRODUCTS”と題する米国特許出願第12/286,075号;(7)参考としてここに援用される2008年9月26日に出願された“ELECTRONIC SUBMISSION OF APPLICATION PROGRAMS FOR NETWORK-BASED DISTRIBUTION”と題する米国特許出願第12/286,092号;(8)参考としてここに援用される2009年2月2日に出願された“INTELLIGENT DOWNLOAD OF APPLICATION PROGRAMS”と題する米国特許出願第12/368,111号;(9)2009年5月25日に出願された“CONFIGURATION AND MANAGEMENT OF ADD-ONS TO DIGITAL APPLICATION PROGRAMS FOR NETWORK-BASED DISTRIBUTION”と題する米国プロビジョナル特許出願第61/180,925号;及び(10)2009年9月30日に出願された“CONFIGURATION AND MANAGEMENT OF ADD-ONS TO DIGITAL APPLICATION PROGRAMS FOR NETWORK-BASED DISTRIBUTION”と題する米国特許出願(代理人管理番号101−P685)。
【0064】
上述した本発明の種々の態様、特徴、実施形態又は具現化は、単独で使用することもできるし、又は種々の組合せで使用することもできる。
【0065】
本発明の実施形態は、例えば、ソフトウェア、ハードウェア、又はそれらの組合せで具現化することができる。又、本発明の実施形態は、コンピュータ読み取り可能なメディアにおけるコンピュータ読み取り可能なコードとして実施することもできる。コンピュータ読み取り可能なメディアは、コンピュータシステムにより後で読み取られるデータを記憶できるデータ記憶装置である。コンピュータ読み取り可能なメディアの例は、一般的に、リードオンリメモリ及びランダムアクセスメモリを含む。コンピュータ読み取り可能なメディアのより特定の例は、有形なもので、フラッシュメモリ、EEPROMメモリ、メモリカード、CD−ROM、DVD、ハードドライブ、磁気テープ、及び光学的データ記憶装置を含む。又、コンピュータ読み取り可能なメディアは、ネットワーク結合されたコンピュータシステムにわたって分散されて、コンピュータ読み取り可能なコードを分散形態で記憶し実行することができるようにされる。
【0066】
以上の説明から本発明の多数の特徴及び効果が明らかとなろう。更に、当業者であれば、多数の変更や置き換えが容易に明らかであろうから、本発明は、図示して説明した厳密な構造及び動作に限定されるべきではない。従って、適当な変更及び等効物は、全て、本発明の範囲内に包含されるものとする。
【符号の説明】
【0067】
100:プロダクト提示及び配布システム
102:プロダクト配布サイト
104:プロダクト提示及び管理システム
106:プロダクト記憶部
108:データネットワーク
110:第1のクライアント
112:第2のクライアント
114:ネットワークアクセスプログラム
116:プロダクト提示プログラム
118:デジタルプロダクト
120:補足的特徴
122:特徴取得マネージャー
200:クライアント
202:オペレーティングシステム(OS)
204:コマースサーバー
206:アプリケーションプログラムA
208:アプリケーションプログラムB
210:補足的特徴X
212:補足的特徴Y
214:補足的特徴Z
300:デジタルプロダクト
302:アプリケーションプログラム
304:補足的特徴X
306:補足的特徴Y
【0068】
アペンディックスA

item-id: this is the offer (i.e., feature) identifier (i.e., adam id)
app-item-id: this is the application's identifier (i.e., application adam id)
version-external-identifier: this is the application's external version id
offer-name: this is the offer identifier in test mode
bid: this is the application's bundle id in test mode
bvrs: this is the application's bundle version in test mode

dsid, guid, and xtoken are required in all 4 of these api's.

inAppBuy
Request in production: salableAdamId, appAdamId, and appExtVrsId.
Request in test: salableAdamId, appAdamId, appExtVrsId, offerName, bid, and bvrs.

The other buyParams include: productType, price, quantity, and salablePricingParameters.

Response: (if bid, bvrs, and offerName are available)
<key>appList</key>
<array>
<dict>
<key>item-id</key><integer>111</integer>
<key>app-item-id</key><integer>1234</integer>
<key>version-external-identifier</key><integer>222</integer>
<key>offer-name</key><string>sword</string>
<key>bid</key><string>444</string>
<key>bvrs</key><string>555</string>
<key>download-id</key><string>1234568453979</string>
<key>purchase-date</key><string>2009-02-13 23:40:53 Etc/GMT</string>
<key>quantity</key><integer>1</integer>
</dict>
</array>

inAppCheckDownloadQueue
Request in production: uses appAdamId, appExtVrsId, salableAdamId (optional, if not present, it would return all the undownloaded offers for this app and external id).
Request in test: uses bid, bvrs, offerName (optional, if not present, it would return all the undownloaded offers for this app and external id).

Response:

<key>download-queue-item-count</key><integer>0</integer>


inAppPendingTransactions
Request in production: uses appAdamId, appExtVrsId, salableAdamId (optional, if not present, it would return all the undownloaded offers for this app and external id).
Request in test: uses bid, bvrs, offerName (optional, if not present, it would return all the undownloaded offers for this app and external id).

Response:
<key>appList</key>
<array>
<dict>
<key>item-id</key><integer>111</integer>
<key>app-item-id</key><integer>1234</integer>
<key>version-external-identifier</key><integer>222</integer>
<key>offer-name</key><string>sword</string>
<key>bid</key>< string >444</string >
<key>bvrs</key>< string >555</string >
<key>download-id</key>< string >1234568453979</string >
<key>purchase-date</key><string>2009-02-13 23:40:53 Etc/GMT</string>
<key>quantity</key><integer>1</integer>
</dict>
<dict>
<key>item-id</key><integer>222</integer>
<key>app-item-id</key><integer>1234</integer>
<key>version-external-identifier</key><integer>222</integer>
<key>offer-name</key><string>shield</string>
<key>bid</key><string>666</string>
<key>bvrs</key><string>777</string>
<key>download-id</key><string>1234568453980</string>
<key>purchase-date</key><string>2009-02-13 23:40:53 Etc/GMT</string>
<key>quantity</key><integer>2</integer>
</dict>
</array>

inAppTransactionDone

Request in production and test: downloadId


Sample requests & responses:

curl -L -v "http://michaelchu.apple.com/WebObjects/MZFinance.woa/wa/inAppBuy?salableAdamId=111&appAdamId=222&appExtVrsId=333&bid=444&bvrs=555&quantity=1&offerName=offer" -H"X-Dsid: 38398162" -H"User-Agent: iTunes-iPhone/2.1"

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>jingleDocType</key><string>inAppSuccess</string>
<key>jingleAction</key><string>inAppBuyAction</string>
<key>dsid</key><string>38398162</string>
<key>download-queue-item-count</key><integer>1</integer>
<key>app-list</key>
<array>
<dict>
<key>item-id</key><integer>111</integer>
<key>app-item-id</key><integer>222</integer>
<key>version-external-identifier</key><integer>333</integer>
<key>bid</key><string>444</string>
<key>bvrs</key><string>555</string>
<key>offer-name</key><string>offer</string>
<key>download-id</key><string>1235424182908</string>
<key>purchase-date</key><string>2009-02-23 21:23:02 Etc/GMT</string>
<key>quantity</key><integer>1</integer>
</dict>

</array>
<key>set-prefs</key>
<dict>
<key>preferred-audio-format</key><string>256</string>
</dict>
</dict>
</plist>


curl -L -v "http://michaelchu.apple.com/WebObjects/MZFinance.woa/wa/inAppTransactionDone?downloadId=111" -H"X-Dsid: 38398162" -H"User-Agent: iTunes-iPhone/2.1"
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">
<dict>
<key>jingleDocType</key><string>inAppSuccess</string>
<key>jingleAction</key><string>inAppTransactionDoneAction</string>
<key>dsid</key><string>38398162</string>
<key>set-prefs</key>
<dict>
<key>preferred-audio-format</key><string>256</string>
</dict>
</dict>
</plist>
【0069】
アペンディックスB

コマースサーバー(StoreKitと称される)のためのプログラムインターフェイスは、あなたのアプリケーションによって具現化されねばならない1つのプロトコルと、ユーザがアイテムの購入を希望するところのアプリケーションストアと通信するのに使用される若干のクラスとで構成される。

SKPaymentRequest
何事も支払要求でスタートする。ユーザがあなたのアプリケーションの中から入手できるアイテムの購入を希望するときには、あなたのアプリケーションは、購入されるべきアイテムを詳述する支払要求と、(該当する場合は)そのアイテムの購入量とを生成する。
購入されるアイテムは、ProductIdentifierストリングによりアプリケーション内で識別される。これは、アプリケーションストア及びあなたのアプリケーションの合意が特定のアイテムを表すストリングである。

SKPaymentQueue
支払キューは、アプリケーションストアへのインターフェイスである。支払キューは、アプリケーションの支払要求をコマースサーバーへ転送する役割を果たす。コマースサーバーは、これらの要求をアプリケーションストアへ通信し、そして必要なプロンプトをユーザへ表示する。それがユーザの証明書を有効なものとし、支払を承認すると、支払キューは、要求が取り扱われたことをあなたのアプリケーションに通知する。

SLPaymentTransaction
あなたのアプリケーションが支払要求を支払キューに追加するときに、要求がトランザクションへとカプセル化される。トランザクションは、要求の状態、即ちそれがまだ処理されているかどうか、或いはそれが成功であったか失敗であったかをあなたに知らせる。
あなたのアプリケーションは、保留中のトランザクションのリストについて支払キューに尋ねることができるが、一般的には、アプリケーションは、支払キューが、更新されたトランザクションのリストと共にそれにコールするまで、待機となる。

SKTransactionObserver
支払キューと共に機能するために、あなたのアプリケーションは、SKTransactionObserverを具現化するオブジェクトを支払キューのオブザーバーとして追加する。このトランザクションオブザーバーは、支払キューによってコールされ、いつトランザクションを更新するか又はいつトランザクションをキューから除去するかそれに通知する。
あなたのアプリケーションは、オブザーバーを初期化の間に支払キューに関連付けねばならない。ユーザがオブザーバーを追加する前にアイテムの購入を試みるまで待機するのではない。ユーザは、アイテムを購入するように試みるが、トランザクションが完了する前にあなたのアプリケーションを止めるかもしれない。初期化中に、オブザーバーを追加することにより、これらのトランザクションは、あなたのアプリケーションが次に起動されるときにあなたのオブザーバーへ転送される。
オブザーバーの重要な役割は、完了した全ての購入を検査し、そしてユーザが購入したコンテンツを得られるようにすることである。

コマースサーバーAPIは、あなたのアプリケーションにストアを追加するプロセスの小さな部分に過ぎない。あなたは、あなたが売りたい特徴をどのように追跡するか、それらをユーザにどのように表示するか、及びユーザがあなたの店頭から何かを購入するときにコンテンツをどのようにアンロックするかを判断することが必要になる。
大きな設計上の問題に取り組む前に、あなたのアプリケーションにストアを追加するためにあなたが続ける必要のある基本的ステップを理解する上で助けとなる。

Step−By−Stepプロセス
プロジェクトを設定するときに、StoreKit.frameworkにリンクすることを確かめる。次いで、一実施形態によれば、あなたは、これらのステップをたどることによりあなたのアプリケーションにストアを追加することができる。

1.あなたのアプリケーション内であなたが売りたいアイテムのリストについて判断する。ゲームの場合には、あなたは、これを使用して、新たなコンテンツをユーザに売る。
生産性アプリケーションの場合には、あなたのアプリケーション内の新たな特徴をアンロックする能力をオファーしてもよい。
あなたがオファーできる特徴の形式には制限がある。あなたは、あなたのアプリケーションに既に組み込まれたコードをアンロックできるが、StoreKit APIは、現在、それ自身パッチするか又は付加的なコードライブラリーをダウンロードする能力をあなたのアプリケーションにオファーすることはない。アプリケーションストア購入は、既存のコードをアンロックするか、又は全体的にデータとして具現化できねばならない。あなたの特徴が付加的なコードを要求する場合には、あなたは、あなたのアプリケーションの新たなバージョンを発送しなければならない。

2.あなたのアプリケーション内で販売されるべき各アイテムに対してプロダクト識別子ストリングを登録する。あなたは、新たなアイテムを販売のために追加することを希望するたびにこのステップを再訪問しなければならない。あなたのストア内で販売されるべき各アイテムは、独特のプロダクト識別子ストリングを必要とする。アプリケーションストアは、このストリングを使用して、特徴の名前及びその価格をルックアップする。これらのプロダクト識別子は、各アプリケーションに特有のもので、あなたのアプリケーションと同様にアプリケーションストアと共に登録される。

3.販売のためのアイテムを表示しそしてユーザがそれらを選択できるようにするユーザインターフェイスを追加する。StoreKitは、ユーザインターフェイスを与えない。あなたがどのようにあなたの顧客に物を売るかの見た目の感じは、あなた次第!

重要:StoreKitは、支払トランザクションに焦点を合わせる。あなたのアプリケーションが、価格を含めて、購入のための考えられるアイテムに関する情報を検索するためのメカニズムをオファーするのではない。あなたのアプリケーションは、このデータをローカル記憶する必要があるか、又はあなた自身のプライベートサーバーからそれをフェッチする必要がある。

4.ユーザが購入アイテムを選択するとき、あなたのアプリケーションは、新たな支払要求を生成し、それを支払キューに追加する。

SKPaymentRequest *request = [SKPaymentRequest
requestForProductIdentifier:kMyFeatureIdentifier];
[[SKPaymentQueue sharedQueue] addRequest:request];

特定のアイテムを2回以上購入できる場合には、あなたは、購入するそのアイテムの量を含む単一の要求を生成することができる。

SKMutablePaymentRequest *request = [SKMutablePaymentRequest
requestForProductIdentifier:kMyFeatureIdentifier];
request.quantity = 3;
[[SKPaymentQueue sharedQueue] addRequest:request];

5.あるクラスにおいてSKTransactionObserverプロトコルを具現化する。あなたは、あなたのオブザーバーにおけるメソッドであるpaymentQueue:updatedTransactionsを具現化しなければならない。このメソッドがないと、あなたのアプリケーションは、処理されたトランザクションに関する情報をアプリケーションストアから受信することがない。

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for (SKPaymentTransaction *transaction in transactions)
{
switch (transaction.state)
{
case SKPaymentTransactionStatePurchased:
[self _completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
[self _failedTransaction:transaction];
break;
default:
break;
}
}
}

6.トランザクションオブザーバーを支払キューと共に登録する。あなたのアプリケーションは、トランザクションオブザーバーオブジェクトをインスタンス生成し、そしてそれをオブザーバーとして支払キューへ追加しなければならない。

MyStoreObserver *observer = [[MyStoreObserver alloc] init];
[[SKPaymentQueue sharedQueue] addTransactionObserver:observer];

あなたのアプリケーションは、初期化中にオブザーバーを追加しなければならない。StoreKitは、あなたのアプリケーションの以前の起動中にキューイングされたトランザクションを将来の期日に配送できるようにする。例えば、ユーザは、電話コールを行うためにあなたのアプリケーションを止めてもよい。

7.首尾良い購入に対してトランザクションを完了する。

- (void) _completeTransaction: (SKPaymentTransaction *)transaction
{
[self _recordTransactionIdentifier: transaction.transactionIdentifier];
[self _provideContent: transaction.request.productIdentifier];

[[SKPaymentQueue sharedQueue] finishTransaction: transaction];
}

transactionIdntifierは、ユーザの支払を処理した後にアプリケーションストアにより発生されるストリングである。あなたのアプリケーションは、この情報で何かを行うことが要求されず、あなたのアプリケーションのための監査証跡の一部分としてそれを記録することを希望してもよい。

ユーザが購入したコンテンツを与えるためにどんなステップが必要であるかあなたのアプリケーションが取り上げることが重要である。支払は、アイテムに対して既に受け取られており、従って、ユーザは、それが入手できるようになることを期待する。

あなたがユーザにそれらのコンテンツを与えると、あなたのアプリケーションは、オペレーションを完了するためにfinishTransactionをコールしなければならない。これは、トランザクションキューからトランザクションを除去する。あなたのアプリケーションがfinishTransactionをコールすると、このトランザクションは、もはやあなたのアプリケーションのトランザクションオブザーバーへ送信されない。このため、これは、ここであなたが遂行する最後のステップとなる。

8.購入失敗に対するトランザクションの完了

- (void) _failedTransaction: (SKPaymentTransaction *)transaction
{
[[SKPaymentQueue sharedQueue] finishTransaction: transaction];
}

購入失敗に対する唯一の要件は、あなたがそれをキューから除去することである。あなたは、必要に応じて他のアクションをとるように選択してもよい。

【特許請求の範囲】
【請求項1】
アプリケーションプログラムの補足的特徴をアンロックする方法であって、コンピューティング装置で動作される方法において、
コンピューティング装置でアプリケーションプログラムを実行するステップであって、そのアプリケーションプログラムは、リモートネットワークベースのアプリケーション配布システムから以前に取得され、又、アプリケーションプログラムは、現在ロックされてアプリケーションプログラム内に置かれているがアンロックすることのできる少なくとも1つの補足的特徴を含むものであるステップと、
コンピューティング装置において、アプリケーションプログラムのユーザが、現在ロックされている少なくとも1つの補足的特徴の使用権の取得を希望することを決定するステップと、
リモートネットワークベースのアプリケーション配布システムが少なくとも1つの補足的特徴のアンロックを承認することを要求するステップと、
少なくとも1つの補足的特徴がアンロックについて承認されたという許可をリモートネットワークベースのアプリケーション配布システムから受け取るステップと、
その後、コンピューティング装置においてアプリケーションプログラムの少なくとも1つの補足的特徴をアンロックし、それにより、アプリケーションプログラムが少なくとも1つの補足的特徴を利用できるようにするステップと、
を備えた方法。
【請求項2】
前記方法は、更に、
前記決定の前に、前記リモートネットワークベースのアプリケーション配布システムから補足的特徴情報を要求するステップであって、その補足的特徴情報は、少なくとも1つの補足的特徴に関する少なくとも記述情報を含むものであるステップと、
その後、コンピューティング装置において、前記リモートネットワークベースのアプリケーション配布システムから補足的特徴情報を受信するステップと、
前記決定の前に、補足的特徴情報をコンピューティング装置にプレゼンテーションするステップと、
を備えた請求項1に記載の方法。
【請求項3】
前記方法は、アプリケーションプログラムが実行中である間に動作する、請求項1に記載の方法。
【請求項4】
前記要求するステップは、前記リモートネットワークベースのアプリケーション配布システムへ要求を送信することを含み、この要求は、少なくとも、(i)少なくとも1つの補足的特徴に対する特徴識別子と、(ii)アプリケーションプログラムに対するアプリケーション識別子とを含む、請求項1に記載の方法。
【請求項5】
前記補足的特徴は、アプリケーションプログラムの補足的コンポーネントである、請求項1に記載の方法。
【請求項6】
前記補足的特徴は、アプリケーションプログラムに対する付加的なデジタルコンテンツである、請求項1に記載の方法。
【請求項7】
前記コンピューティング装置は、少なくともアプリケーションプログラムを実行できるハンドヘルド電子装置である、請求項1に記載の方法。
【請求項8】
前記コンピューティング装置は、オペレーティングシステムを含み、そしてアプリケーションプログラムとリモートネットワークベースのアプリケーション配布システムとの間の通信は、オペレーティングシステムを通して取り扱われる、請求項1に記載の方法。
【請求項9】
前記決定、前記要求及び前記受け取るステップは、アプリケーションプログラムがまだ動作している間にオペレーティングシステムにより遂行される、請求項8に記載の方法。
【請求項10】
前記アンロッキングは、アプリケーションプログラムにより遂行される、請求項9に記載の方法。
【請求項11】
ネットワークベースのアプリケーション配布システムから以前に取得されたアプリケーションプログラムの補足的特徴のアンロッキングを管理するためのコンピュータ実施方法において、
リモートネットワークベースのアプリケーション配布システムからの補足的特徴情報についての要求をコンピューティング装置から受け取るステップと、
アプリケーションプログラムの補足的特徴に関連した補足的特徴情報を検索するステップであって、その補足的特徴情報は、ネットワークベースのアプリケーション配布システムから以前に取得されたアプリケーションプログラムの補足的特徴に関する少なくとも記述情報を含むものであるステップと、
その検索された補足的特徴情報をコンピューティング装置へ送信するステップと、
アプリケーションプログラムの補足的特徴をアンロックするための要求をコンピューティング装置から受信するステップと、
ネットワークベースのアプリケーション配布システムが補足的特徴のアンロッキングを承認するかどうか決定するステップと、
この決定ステップで、ネットワークベースのアプリケーション配布システムが補足的特徴のアンロッキングを承認したと決定する場合に、補足的特徴をアンロックする許可をコンピューティング装置へ送信するステップと、
を備えた方法。
【請求項12】
前記アプリケーションプログラムは、アプリケーション識別子により識別され、そして前記補足的特徴は、特徴識別子により識別される、請求項11に記載のコンピュータ実施方法。
【請求項13】
補足的特徴情報の前記検索は、前記特徴識別子及びアプリケーション識別子に基づく、請求項12に記載のコンピュータ実施方法。
【請求項14】
補足的特徴情報の前記検索は、前記特徴識別子が前記アプリケーションプログラムに対するアプリケーション識別子に関連していることを確認することを含む、請求項12に記載のコンピュータ実施方法。
【請求項15】
前記補足的特徴情報は、補足的特徴をアンロックするための少なくともコスト情報を含み、そして
前記決定は、ネットワークベースのアプリケーション配布システムにおいて補足的特徴に対する支払処理を開始することを含む、請求項11に記載のコンピュータ実施方法。
【請求項16】
ネットワークベースのアプリケーション配布システムから以前に取得されたアプリケーションプログラムの補足的特徴のアンロッキングを管理するためのコンピュータ実施方法において、
ネットワークベースのアプリケーション配布システムから以前に取得されたアプリケーションプログラムの補足的特徴をアンロックするための要求をコンピューティング装置から受け取るステップと、
ネットワークベースのアプリケーション配布システムが補足的特徴のアンロッキングを承認するかどうか決定するステップと、
この決定ステップで、ネットワークベースのアプリケーション配布システムが補足的特徴のアンロッキングを承認したと決定する場合に、補足的特徴をアンロックする許可をコンピューティング装置へ送信するステップと、
を備えた方法。
【請求項17】
前記アプリケーションプログラムは、アプリケーション識別子により識別され、そして前記補足的特徴は、特徴識別子により識別される、請求項16に記載のコンピュータ実施方法。
【請求項18】
少なくとも1つのロックされた特徴を有する少なくとも1つのアプリケーションプログラムと、
移動コンピューティング装置に常駐するコマースサーバーであって、少なくとも1つのアプリケーションプログラムが移動コンピューティング装置上で動作する間に少なくとも1つのアプリケーションプログラムの少なくとも1つのロックされた特徴へのアクセスを容易にするためにリモートサーバーと対話するように構成されたコマースサーバーと、
を備えた移動コンピューティング装置。
【請求項19】
前記移動コンピューティング装置は、ハンドヘルドのマルチファンクション電子装置であり、
前記ハンドヘルドのマルチファンクション電子装置は、前記少なくとも1つのアプリケーションプログラムを実行し且つワイヤレスボイス及びデータ通信をサポートするための能力を与える、請求項18に記載の移動コンピューティング装置。
【請求項20】
前記移動コンピューティング装置は、更に、オペレーティングシステムを備え、そして前記コマースサーバーは、オペレーティングシステムの一部分である、請求項18に記載の移動コンピューティング装置。
【請求項21】
前記少なくとも1つのアプリケーションプログラムは、少なくとも1つのロックされた特徴の利用性をユーザに通知し、そしてユーザが、ロックされた特徴をアンロックするように要求する場合に、前記少なくとも1つのアプリケーションプログラムが前記コマースサーバーと対話して、そのロックされた特徴をアンロックすべきかどうか決定する、請求項18に記載の移動コンピューティング装置。
【請求項22】
前記コマースサーバーは、少なくとも1つのアプリケーションプログラムのユーザがそのロックされた特徴の使用権の取得を希望することを決定するように構成され、
前記コマースサーバーは、リモートサーバーと対話して、(i)リモートサーバーがそのロックされた特徴のアンロッキングを承認することを要求し、そして(ii)そのロックされた特徴がアンロッキングに対して承認されたという許可をリモートサーバーから受け取るように構成された、請求項21に記載の移動コンピューティング装置。
【請求項23】
前記少なくとも1つのアプリケーションプログラムは、リモートサーバーからの許可が、そのロックされた特徴がアンロッキングについて承認されたことを示す場合に、コンピューティング装置においてアプリケーションプログラムのロックされた特徴をアンロックするように構成される、請求項22に記載の移動コンピューティング装置。
【請求項24】
ネットワークを経てリモートサーバーと通信して、アプリケーションプログラム又はそのための補足的特徴を取得し又はアクティブにするように構成されたコマースサーバーを含むオペレーティングシステムと、
少なくとも1つの補足的特徴を有するアプリケーションプログラムを記憶するよう構成されたデータ記憶装置と、
を備え、前記アプリケーションプログラムは、少なくとも、コマースサーバーと通信して、(i)少なくとも1つの補足的特徴にアクセスする権利を取得し、そして(ii)少なくとも1つの補足的特徴を取得する権利が取得された場合に少なくとも1つの補足的プログラムをアプリケーションプログラムによりアクセスできるようにする手段を含む、ポータブルクライアントコンピューティング装置。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate


【公開番号】特開2013−61992(P2013−61992A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2013−659(P2013−659)
【出願日】平成25年1月7日(2013.1.7)
【分割の表示】特願2010−86507(P2010−86507)の分割
【原出願日】平成22年3月16日(2010.3.16)
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】