(57)【要約】  アプリケーションのユーザが当該アプリケーションを別のユーザに紹介または別のユーザと共有し、新しいユーザを紹介または共有されたアプリケーションに参加させることを可能にする技術を提供する。特定の実施形態において、共有されるアプリケーションは、他のユーザの装置に自動的にダウンロードされ、インストールされる。他のユーザによる共有または参加の一部として、アプリケーションの構成データも他のユーザの装置に自動的にダウンロードされ、アプリケーションに適用される。ダウンロードされた構成データは、第１ユーザまたは元のユーザと第１ユーザの装置上のアプリケーションとの対話によって、アプリケーションに対して行われた１つ以上のカスタマイズを反映する１つ以上のカスタマイズされた構成設定を含む。
2018506782.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のプロセッサを備えるコンピューティングシステムによって、第１ユーザから、第１コンピューティング装置上のアプリケーションを第２ユーザと共有するリクエストを受信するステップと、
前記リクエストに関する情報を前記第２ユーザの第２コンピューティング装置に送信するステップと、
前記第２コンピューティング装置から、前記リクエストの受諾を示す応答を受信するステップと、
前記応答の受信に応答して、
前記アプリケーションを前記第２コンピューティング装置にダウンロードするステップと、
前記第１ユーザと前記第１コンピューティング装置上のアプリケーションとの１つ以上の対話によって値が設定される少なくとも１つの構成設定を含み、前記第２コンピューティング装置にダウンロードされる構成データを決定するステップと、
前記構成データを第２コンピューティング装置に送信するステップとを含む、方法。
【請求項２】
前記第２コンピューティング装置にダウンロードされる前記構成データは、第１アプリケーションを前記第１コンピューティング装置にダウンロードしたときに、前記第１コンピューティング装置にダウンロードされたデフォルト構成データに対して行われた少なくとも１つの変更を含む、請求項１に記載の方法。
【請求項３】
前記第２コンピューティング装置にダウンロードされる前記構成データは、前記第１ユーザによって特定の値を割り当てた第１構成設定を含む、請求項１に記載の方法。
【請求項４】
前記構成データを前記第２コンピューティング装置に送信した後に、前記第１コンピューティング装置上の前記構成データは、前記第２コンピューティング装置上の前記構成データから独立して変更される、請求項１に記載の方法。
【請求項５】
前記コンピューティングシステムによって、前記第２ユーザにアカウントを自動的に作成するステップと、
前記コンピューティングシステムによって、前記構成データを前記アカウントに関連付けるステップとをさらに含む、請求項１に記載の方法。
【請求項６】
前記第１コンピューティング装置によって、前記第１ユーザが前記アプリケーションに対して行われたジェスチャを検出すると、前記リクエストを前記第１コンピューティング装置から前記コンピューティングシステムに通信するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記アプリケーションを前記第２コンピューティング装置にダウンロードする前に、前記コンピューティングシステムによって、前記アプリケーションが前記第２コンピューティング装置上に存在しないことを判断するステップをさらに含む、請求項１に記載の方法。
【請求項８】
前記ダウンロードされたアプリケーションを前記第２コンピューティング装置にインストールするステップと、
前記ダウンロードされた構成データを前記第２コンピューティング装置にインストールされた前記アプリケーションに適用するステップとをさらに含む、請求項１に記載の方法。
【請求項９】
システムであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに接続されたメモリとを備え、
前記メモリには、命令セットがエンコードされており、前記命令セットは、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、
第１ユーザから、第１コンピューティング装置上のアプリケーションを第２ユーザと共有するリクエストを受信させ、
前記リクエストに関する情報を前記第２ユーザの第２コンピューティング装置に送信させ、
前記第２コンピューティング装置から、前記リクエストの受諾を示す応答を受信させ、
前記応答の受信に応答して、
前記アプリケーションを前記第２コンピューティング装置にダウンロードさせ、
前記第１ユーザと前記第１コンピューティング装置上のアプリケーションとの１つ以上の対話によって値が設定される少なくとも１つの構成設定を含み、前記第２コンピューティング装置にダウンロードされる構成データを決定させ、
前記構成データを第２コンピューティング装置に送信させる命令を含む、システム。
【請求項１０】
前記第２コンピューティング装置にダウンロードされる前記構成データは、前記第１アプリケーションを前記第１コンピューティング装置にダウンロードしたときに、前記第１コンピューティング装置にダウンロードされたデフォルト構成データに対して行われた少なくとも１つの変更を含む、請求項９に記載のシステム。
【請求項１１】
前記第２コンピューティング装置にダウンロードされる前記構成データは、前記第１ユーザによって特定の値を割り当てた第１構成設定を含む、請求項９に記載のシステム。
【請求項１２】
前記構成データを前記第２コンピューティング装置に送信した後に、前記第１コンピューティング装置上の前記構成データは、前記第２コンピューティング装置上の前記構成データから独立して変更される、請求項９に記載のシステム。
【請求項１３】
前記命令セットは、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、
前記第２ユーザにアカウントを自動的に作成させ、
前記構成データを前記アカウントに関連させる命令をさらに含む、請求項９に記載のシステム。
【請求項１４】
前記命令セットは、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、
前記第１コンピューティング装置によって、前記第１ユーザが前記アプリケーションに対して行われたジェスチャを検出すると、前記リクエストを前記第１コンピューティング装置から前記コンピューティングシステムに通信させる命令をさらに含む、請求項９に記載のシステム。
【請求項１５】
前記命令セットは、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、
前記アプリケーションを前記第２コンピューティング装置にダウンロードする前に、前記アプリケーションが第２コンピューティング装置上に存在しないことを判断させる命令をさらに含む、請求項９に記載のシステム。
【請求項１６】
複数の命令を格納する非一時的なコンピュータ可読記憶メモリであって、前記命令は、１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、
第１ユーザから、第１コンピューティング装置上のアプリケーションを第２ユーザと共有するリクエストを受信する動作と、
前記リクエストに関する情報を前記第２ユーザの第２コンピューティング装置に送信する動作と、
前記第２コンピューティング装置から、前記リクエストの受諾を示す応答を受信する動作と、
前記応答の受信に応答して、
前記アプリケーションを前記第２コンピューティング装置にダウンロードする動作と、
前記第１ユーザと前記第１コンピューティング装置上のアプリケーションとの１つ以上の対話によって値が設定される少なくとも１つの構成設定を含み、前記第２コンピューティング装置にダウンロードされる構成データを決定する動作と、
前記構成データを第２コンピューティング装置に送信する動作とを実行させる、コンピュータ可読記憶メモリ。
【請求項１７】
前記第２コンピューティング装置にダウンロードされる前記構成データは、前記第１アプリケーションを前記第１コンピューティング装置にダウンロードしたときに、前記第１コンピューティング装置にダウンロードされたデフォルト構成データに対して行われた少なくとも１つの変更を含む、請求項１６に記載のコンピュータ可読記憶メモリ。
【請求項１８】
前記構成データを前記第２コンピューティング装置に送信した後に、前記第１コンピューティング装置上の前記構成データは、前記第２コンピューティング装置上の前記構成データから独立して変更される、請求項１６に記載のコンピュータ可読記憶メモリ。
【請求項１９】
前記命令は、前記１つ以上のプロセッサに、
前記第２ユーザにアカウントを自動的に作成する動作と、
前記構成データを前記アカウントに関連付ける動作とを含む動作をさらに実行させる、請求項１６に記載のコンピュータ可読記憶メモリ。
【請求項２０】
前記命令は、前記１つ以上のプロセッサに、
前記アプリケーションを前記第２コンピューティング装置にダウンロードする前に、前記アプリケーションが前記第２コンピューティング装置上に存在しないことを判断する動作を含む動作をさらに実行させる、請求項１６に記載のコンピュータ可読記憶メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１５年１月７日に出願され、「アプリ紹介に基づく快速参加の方法およびシステム」と題された米国仮出願第６２／１００６０８号の利益を主張する、２０１６年１月６日に出願され、「アプリケーションを共有するための技術」と題された米国特許出願第１４／９８９２８２号の優先権を主張する。これらの出願の全体があらゆる目的で参照により本開示に援用される。
【背景技術】
【０００２】
背景
本開示は、一般的にはコンピューティングシステムの分野に関し、より具体的には、ユーザがアプリケーションを別のユーザに紹介することまたは別のユーザと共有することを可能にする技術に関する。
【０００３】
ソフトウェアアプリケーションをコンピューティングシステム（例えば、スマートフォン、タブレットなど）にダウンロードすることは、非常に普及してきた。アプリケーションのダウンロードが非常に簡単になったが、ダウンロードしたアプリケーションをユーザのニーズを満たすように構成するまたはカスタマイズすることは、依然として多くのユーザにとって大きな課題となっている。例えば、スマートフォンなどのモバイル装置のユーザは、スマートフォンにダウンロードしたアプリケーションをカスタマイズして、ユーザのニーズに合わせる必要がある。カスタマイズは、例えば、アプリケーションに使用される配色の変更、ブラウザアプリケーションに使用されるデフォルト検索エンジンの変更、ブラウザアプリケーションのデフォルトホームページの変更、天気アプリケーションに都市の追加などの簡単な変更、およびより複雑な変更を含み得る。このようなカスタマイズは、通常、アプリケーションの構成データを変更することによって行われる。しかしながら、このようなカスタマイズを行うためには、ユーザは、アプリケーションの仕組みおよびカスタマイズ方法を知る必要がある。換言すれば、アプリケーションの構成データに対して誤って行った変更がアプリケーションに意図しないおよび望ましくない影響を及ぼす可能性があるため、ユーザは、技術的な知識を有しなければならない。したがって、殆どのユーザは、アプリケーションのダウンロードには慣れているが、アプリケーションの変更またはカスタマイズには非常に不慣れである。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
本開示は、アプリケーションのユーザが当該アプリケーションを別のユーザに紹介または別のユーザと共有し、新しいユーザを紹介または共有されたアプリケーションに参加させることを可能にする技術を記載する。特定の実施形態において、共有されるアプリケーションは、他のユーザの装置に自動的にダウンロードされ、インストールされる。他のユーザによる共有または参加の一部として、アプリケーションの構成データも他のユーザの装置に自動的にダウンロードされ、アプリケーションに適用される。ダウンロードされた構成データは、第１ユーザまたは元のユーザと第１ユーザの装置上のアプリケーションとの対話によって、アプリケーションに対して行われた１つ以上のカスタマイズを反映する１つ以上のカスタマイズされた構成設定を含む。
【０００５】
いくつかの実施形態は、新しいユーザのアプリケーションへの参加を容易にすることができる。特定の実施形態において、アプリケーション共有システムは、ユーザ（第１ユーザ）からの、アプリケーションおよび／または現在の構成設定を別のユーザ（第２ユーザ）と共有するリクエストを受信することができる。非限定的な一例として、アプリケーション共有システムは、ユーザがユーザのホーム画面上のアプリケーションアイコンに対してジェスチャ（例えば、フリック動作、ホールドおよびスワイプ動作）を入力したときに、ユーザのリクエストを受信することができる。ユーザのリクエストは、画面の特定の領域において行われた長いホールドおよびスワイプ動作などの独特なジェスチャであってもよい。
【０００６】
アプリケーション共有システムは、１つ以上のサーバ、例えば、アプリケーション管理サーバおよび／またはアプリケーション構成管理サーバを含むことができる。１つ以上のサーバは、アプリケーション共有システムのユーザに関連付けられたユーザアカウントを保存するように構成することができる。アプリケーションおよび／または現在の構成設定を共有するユーザリクエストを受信した後、アプリケーション共有システムは、ユーザリクエストに関連する情報を第２ユーザに関連付けられたコンピューティング装置に送信することができる。特定の実施形態において、第２装置に送信された情報は、アプリケーションを識別する情報と、アプリケーションを第２ユーザと共有することを希望する第１ユーザを識別する情報と、第１ユーザがアプリケーションを第２ユーザに紹介するまたは第２ユーザと共有する意向を第２ユーザに示す情報とを含む。
【０００７】
アプリケーション共有システムは、第２ユーザに関連付けられたコンピューティング装置から、第２ユーザが第１ユーザからのユーザリクエストを受諾するまたは拒否することを表す応答を受信することができる。第２ユーザがユーザリクエストを受諾したときに、第２ユーザのコンピューティング装置にアプリケーションがインストールされていない場合、第２ユーザのコンピューティング装置にアプリケーションおよび構成データをダウンロードすることができる。その後、アプリケーション共有システムは、構成データを第２ユーザのコンピューティング装置上のアプリケーションに適用することができる。次いで、第１ユーザのコンピューティング装置上のアプリケーションの構成データおよび第２ユーザのコンピューティング装置上のアプリケーションの構成データは、第１ユーザおよび第２ユーザによって、各々のコンピューティング装置上で独立に変更されてもよい。
【０００８】
例示的な実現例において、ユーザリクエストを受信した後、アプリケーションの構成データのコピーを第２ユーザ用に作成し、第２ユーザのユーザアカウントにコピーすることができる。一実現例において、第２ユーザのコンピューティング装置上のオペレーティングシステムは、アプリケーション共有システム上で第２ユーザ用のアプリケーションの構成データのコピーを作成した後、自動的にアプリケーションの構成データのコピーをダウンロードするように構成することができる。いくつかの実施形態において、第２ユーザは、アプリケーションの構成データのコピーのダウンロードを容易に受諾または拒否することができる。いくつかの実施形態において、第２ユーザのコンピューティング装置にダウンロードされた構成データは、アプリケーションを第１ユーザのコンピューティング装置にダウンロードしたときに当該コンピューティング装置にダウンロードされたデフォルト構成データを含むことができる。
【０００９】
本発明の１つ以上の実施形態の詳細は、添付の図面および以下の説明に記載されている。本発明の他の特徴、目的および利点は、詳細な説明および図面ならびに特許請求の範囲から明らかになるであろう。
【００１０】
上記は、他の特徴および実施形態と共に、以下の明細書、特許請求の範囲および添付図面を参照して、より明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に従って、アプリケーションおよび関連する構成データのユーザ間の共有を容易にするためのコンピューティング環境を示す簡略ブロック図である。
【図２】本発明のいくつかの実施形態に従って、アプリケーションおよび関連する構成データを共有するためのアプリケーション共有システムによって実行された処理を示す例示的なフローチャートである。
【図３】本発明のいくつかの実施形態に従って、アプリケーションおよび１つ以上のカスタマイズされた構成設定を含む関連する構成データを共有するために実行された処理を示す別の例示的なフローチャートである。
【図４】特定の実施形態に従って、アプリケーションを共有するためのプロセスを示すシーケンスチャートである。
【図５】本発明の特定の実施形態に従って、アプリケーションを受信するユーザの装置（すなわち、アプリケーション共有の受信側）の視点から、アプリケーションを共有するために実行された処理を示す例示的なフローチャートである。
【図６】特定の実施形態に従って、第１ユーザ（例えば、ユーザＡ）によって発信されたアプリケーション共有リクエストを第２ユーザ（例えば、ユーザＢ）装置で受諾するためのプロセスを示すシーケンスチャートである。
【図７】本発明の特定の実施形態に従って、第１装置の第１ユーザが第１装置上のアプリケーションおよび関連するカスタマイズされた構成データを第２ユーザに紹介するまたは第２ユーザと共有する方法の一例を示す図である。
【図８】本発明の特定の実施形態に従って、アプリケーションおよび関連する構成データを受信するユーザの視点から、別のユーザによって生成された共有リクエストの結果によって実行された処理の一例を示す図である。
【図９】本発明の特定の実施形態に従って、受信者ユーザが、共有ユーザから独立して、アプリケーションに対して個人的な構成変更を行うことができる例を示す図である。
【図１０】本発明の特定の実施形態に従って、使用され得るコンピュータシステムを示す簡略ブロック図である。
【発明を実施するための形態】
【００１２】
詳細な説明
以下の記載では、説明の目的のために、具体的な詳細を記載することによって、例示的な実施形態に対する完全な理解を提供する。しかしながら、これらの具体的な詳細がなくても、さまざまな実施形態を実施できることは明らかであろう。例えば、不要な詳細で実施形態を不明瞭にしないように、回路、システム、アルゴリズム、構造、技術、ネットワーク、プロセスおよび他の構成要素は、ブロック図として示されてもよい。図面および説明は、限定的であることを意図していない。
【００１３】
本開示は、アプリケーションのユーザが当該アプリケーションを別のユーザに紹介または別のユーザと共有し、新しいユーザを紹介または共有されたアプリケーションに参加させることを可能にする技術を提供する。特定の実施形態において、共有されるアプリケーションは、他のユーザの装置に自動的にダウンロードされ、インストールされる。他のユーザによる共有または参加の一部として、アプリケーションの構成データも他のユーザの装置に自動的にダウンロードされ、アプリケーションに適用される。ダウンロードされた構成データは、第１ユーザまたは元のユーザと第１ユーザの装置上のアプリケーションとの対話によって、アプリケーションに対して行われた１つ以上のカスタマイズを反映する１つ以上のカスタマイズされた構成設定を含む。
【００１４】
特定の実施形態は、紹介元のユーザによってアプリケーションに対して行われた構成変更またはカスタマイズを新しいユーザに通信し、参加プロセスの一部として新しいユーザのアプリケーションに適用することを可能にする技術（例えば、システム、方法、メモリ、または１つ以上のプロセッサによって実行可能なコードまたは命令を格納する非一時的なコンピュータ可読媒体）に関する。このようにして、紹介元のユーザによって行われた構成変更は、新しいユーザに提供され、共有される。
【００１５】
特定の実施形態において、第１ユーザは、アプリケーションを第１ユーザのコンピュータシステム、例えば第１ユーザのモバイル装置上にダウンロードすることができる。ダウンロードした後、第１ユーザと第１ユーザの装置上のアプリケーションとの対話によって、アプリケーションの構成を変更した可能性がある。その後のある時点で、第１ユーザは、このアプリケーションを別の第２ユーザに紹介または第２ユーザと共有したいことがある。記載されたアプリケーション共有システムは、この共有を容易にする。特定の実施形態において、アプリケーション共有システムは、アプリケーション共有を可能にするために実行された処理を管理する。一実施形態において、アプリケーション共有システムは、第１ユーザの装置から共有リクエストを受信し、紹介または共有リクエストを示す情報を第２ユーザに関連付けられた第２装置に送信する。第２ユーザが共有されるアプリケーションに対する認可を与えると、共有されるアプリケーションは、第２ユーザの第２装置に自動的にダウンロードされる。第２ユーザの共有または参加の一部として、アプリケーションの構成データも自動的に第２ユーザの装置にダウンロードされ、アプリケーションに適用される。ダウンロードされた構成データは、第１ユーザと第１ユーザの装置上のアプリケーションとの対話によって、アプリケーションに対して行われた１つ以上のカスタマイズを含む。このようにして、第２ユーザの装置にインストールされたアプリケーションは、紹介元の第１ユーザによって紹介元の第１ユーザの装置上で行われた構成変更を有する。
【００１６】
特定の実施形態において、第２ユーザは、紹介元の第１ユーザが紹介元の第１ユーザの装置上でアプリケーションに対する使用から独立して、必要に応じて第２ユーザの装置上のアプリケーションに対して追加変更を加えることができる。同様に、紹介元の第１ユーザは、第２ユーザが第２ユーザの装置上でアプリケーションに対する使用から独立して、紹介元の第１ユーザの装置上でアプリケーションに対する構成変更およびカスタマイズをさらに行うことができる。
【００１７】
特定の実施形態において、ユーザ間のアプリケーションの共有を容易にし且つ新しいユーザの共有アプリケーションへの参加を管理するアプリケーション共有システムは、１つ以上のサーバを備えることができる。１つ以上のサーバは、アプリケーションのユーザに関連する情報を管理および格納するように構成されてもよい。例えば、アプリケーション共有システムは、各ユーザのユーザアカウントに関連する情報を格納することができる。特定の実施形態において、各ユーザに関連するユーザアカウント情報は、そのユーザのアプリケーションの構成データを含むことができる。格納された構成データは、ユーザによってアプリケーションに対して行われた構成変更およびカスタマイズを表すデータを含むことができる。特定の実施形態において、アプリケーション共有システムは、ユーザがアプリケーションを新しいユーザに紹介し、紹介元のユーザによってアプリケーションに対して行われた構成変更を新しいユーザのアプリケーションに適用することによって、新しいユーザをアプリケーションに参加させることを可能にする。
【００１８】
アプリケーションの紹介を可能にし、紹介元のユーザによってアプリケーションに対して行われた構成変更およびカスタマイズを新しいユーザのアプリケーションに適用することによって新しいユーザをアプリケーションに参加させることによって、新しいユーザは、煩雑であって、時間がかかる且つ技術的な熟練が必要である構成変更を行うことから解放される。特定の実施形態において、ユーザによって紹介されたアプリケーションは、ユーザによって設定されたアプリケーションの構成設定と共に、新しいユーザの装置に自動的にインストールすることができる。特定の実施形態において、共有イベントを検出すると（すなわち、ユーザがユーザ装置上のアプリケーションを共有する意向を示すユーザ入力を受信すると）、ユーザ装置のオペレーティングシステムは、別のユーザとアプリケーションを共有しようとするリクエストをアプリケーション共有システムに送信することができる。いくつかの実施形態において、アプリケーション共有システムは、ユーザによって設定されたアプリケーションの構成設定のコピーを生成し、構成設定のコピーを新しいユーザの装置に新たにインストールされたアプリケーションに適用することができる。
【００１９】
図１は、本発明の一実施形態に従って、アプリケーションおよび関連する構成データのユーザ間の共有を容易にするためのコンピューティング環境１００を示す簡略ブロック図である。図示のように、コンピューティング環境１００は、図１に示すコンピューティング装置１１０および１１２などのユーザコンピューティング装置、アプリケーション共有システム１０４、ユーザアカウント記憶装置１０２、および／または他の任意の要素を含むことができる。所定のユーザコンピューティング装置、例えばコンピューティング装置１１０または１１２は、図示のように、通信ネットワーク１０６を介してアプリケーション共有システム１０４と通信可能に連結することができる。図１に示された実施形態は、単なる一例であり、本発明の請求される実施形態を不当に限定することを意図していない。当業者であれば、多くの変形例、代替例および改変例を認識するであろう。
【００２０】
クライアント装置１１０または１１２は、パーソナルコンピュータ、デスクトップ、モバイル装置または携帯型装置、例えばラップトップ、携帯電話およびタブレット、インターネット端末（Internet of Things：ＩｏＴ）ネットワークの一部である装置（例えば、センサを備えた装置）、および他の種類の装置を含むがこれらに限定されないさまざまな種類の装置であってもよい。コンピューティング装置１１０または１１２は、装置のユーザが入力を装置に提供するために使用できる入力サブシステムを含むことができる。例えば、いくつかの例において、装置１１０または１１２は、ユーザがジェスチャを介して入力を提供することを可能にするタッチ感応面を備えることができる。いくつかの他の例では、装置は、入力を提供するための１つ以上のユーザ選択可能なボタンを含むことができる。また、コンピューティング装置１１０または１１２は、装置からの情報を装置のユーザに出力する出力サブシステムを含むことができる。例えば、出力サブシステムは、情報を表示するための画面を含むことができる。装置１１０または１１２の一例は、図１０に示され、以下で説明される。
【００２１】
ユーザ（例えば、ユーザ１０８）は、クライアント装置を介して、１つ以上のアプリケーションを利用することができる。例えば、クライアント装置１１０は、クライアント装置１１０上に格納され、インストールされ、および／または実行される１つ以上のアプリケーション（例えば、アプリケーション１１４）を有することができる。装置１１０のユーザは、装置１１０の入力サブシステムおよび出力サブシステムを介して、アプリケーション１１４または装置１１０によって提供された他のアプリケーションと対話することができる。いくつかの例において、対話は、アプリケーション１１４または装置１１０によってホストされる他のアプリケーションに関連する構成データに構成設定を指定することであってもよい。
【００２２】
特定の実施形態において、アプリケーション１１４は、１つ以上の構成設定を含む関連の構成データを有することができる。いくつかの実施形態において、構成設定は、構成変数と、構成変数に割り当てられた値とを含むことができる。例えば、アプリケーションは、アプリケーションによって使用されるフォントを制御するフォント変数を提供し、フォント変数に値（例えば、Helvetica）を割り当てることができる。アプリケーション１１４の構成データは、１つ以上の構成設定を含むことができる。
【００２３】
特定の実施形態において、アプリケーションに関連する構成データは、当該アプリケーションの動作を影響し、制御する。特定のアプリケーションの場合、当該アプリケーションの構成データは、非限定的な例として、特定のアプリケーションの外観（例えば、背景色、前景色などの外観および雰囲気）、アプリケーションのロジック（例えば、特定の起動画面、特定の配置および／またはコンテンツの選択）、ユーザの地域（例えば、北米、ヨーロッパなど）、特定のアプリケーションの言語（例えば、中国語、英語、日本語）、特定のアプリケーションをインストールしている装置のユーザのタイムゾーン、アプリケーションのフォント特性（例えば、フォント名、フォントサイズおよびフォントスタイル）などを含むアプリケーションのさまざまな特徴を影響し、制御することができる。
【００２４】
アプリケーションの構成データを形成する構成設定は、アプリケーション自体に依存してもよい。例えば、あるアプリケーションの構成設定は、別のアプリケーションの構成設定と同様であってもよく、異なってもよい。例えば、文書編集アプリケーション（例えば、Microsoft WORD（登録商標）アプリケーション）の構成設定は、ゲームアプリケーションの構成設定と異なってもよい。例えば、ゲームアプリケーションの構成データは、ドキュメント編集アプリケーションの構成設定とは異なる構成設定、例えば、ゲームの難易度、ゲームの音量、ゲームのモード（例えば、「初心者」モード、「エキスパート」モード）を含んでもよい。
【００２５】
構成データの他の例として、フォント種類、フォントサイズ、フォント色、オブジェクト形状、表示の構成および向き、項目の配置などを含むさまざまな表示特徴に関連する構成設定、天気アプリケーション、旅行アプリケーションおよび時計アプリケーションなどのアプリケーションに保存されたパラメータおよびユーザ指定アイテムに関する設定、ブラウザアプリケーションおよびニュースアプリケーションなどに保存されたお気に入りリンク、アプリケーションに使用されるユーザのアドレス、クレジットカード情報および電話番号などの個人情報を含む可能性のあるアカウントデータを含むが、これらに限定されない。アプリケーションの構成データは、異なる種類のデータ、例えば、音声データ（例えば、電話が鳴ったときの好ましい曲）、画像または映像データ（例えば、アプリケーションの背景画像または背景映像として使用できる写真または映像ファイル）、および他の種類のデータを含む。
【００２６】
理解すべきことは、アプリケーションの構成データは、アプリケーションによって生成され、アプリケーションの出力を表す実際のデータであるアプリケーションデータとは異なることである。例えば、Microsoft WORD（登録商標）などの文書編集アプリケーションの場合、アプリケーションを使用して編集される文書の内容は、アプリケーションデータを表し、アプリケーションの動作を制御または影響するアプリケーションの構成データとは異なる。別の例として、Microsoft Excel（登録商標）などのスプレッドシートアプリケーションの場合、アプリケーションを使用して生成されたスプレッドシートおよび内容は、アプリケーションデータを表し、アプリケーションの動作を制御または影響するスプレッドシートアプリケーションの構成データとは異なる。さらに別の例として、ゲームアプリケーションにおいて、実際のデータは、ゲームにおいてユーザの進捗状況を記録する進捗データを含むことができ、ゲームアプリケーションの構成データは、ゲームの外観および雰囲気、ゲームの難易度、ゲームの音量、ゲームのモード、および／または他の任意の構成情報を含むことができる。
【００２７】
特定の実施形態において、アプリケーションの構成設定の一部は、システム管理者およびアプリケーション設計者などによって事前に設定されてもよい。例えば、アプリケーション１１４をコンピューティング装置（例えば、装置１１０）にインストールする場合、当該アプリケーションは、いくつかの関連する構成データを有すると共に、いくつかの事前に設定された構成設定を有することができる。本開示の目的のために、最初にある装置にインストールまたはロードされ、別の装置に通信されるアプリケーションの構成データは、当該アプリケーションのデフォルト構成データと呼ばれる。デフォルト構成データの一部である構成設定の一部分がデフォルト値に設定され、他の部分が設定されなくてもよい。
【００２８】
アプリケーション１１４を装置１１０に格納およびインストールした後、装置１１０のユーザは、アプリケーション１１４と対話によって、デフォルト構成データに変更を加えることができる。変更は、構成設定をデフォルト値から変更することを含む。例えば、構成設定に関連するデフォルト値は、デフォルト値と異なる新しい値に変更されてもよい。別の例として、デフォルト構成データの一部として設定されていない（すなわち、値が割り当てられていない）構成設定を特定の値に設定することができる。本開示の目的のために、ユーザと装置１１０上のアプリケーション１１４との対話によって１つ以上の構成設定に対して行われた変更によって、デフォルト構成データと異なったアプリケーションの構成データは、ユーザが設定した構成データまたはユーザがカスタマイズした構成データと呼ばれる。値をデフォルト値から変更した構成設定は、ユーザが設定した構成設定またはユーザがカスタマイズした構成設定と呼ばれる。ユーザが設定またはカスタマイズしたアプリケーション１１４の構成設定は、コンピューティング装置１１０にローカルに格納されてもよく、または後述するように、ユーザのユーザアカウント情報の一部としてアプリケーション共有システム１０４に格納されてもよく、または両方に格納されてもよい。アプリケーションの構成データは、ユーザごとに、ユーザグループごとに、ドメインごとに、または他の単位ごとにカスタマイズすることができる。
【００２９】
通信ネットワーク１０６は、装置１１０および１１２などの１つ以上のクライアント装置とアプリケーション共有システム１０４との間のデータ通信を容易にする任意のネットワークまたは機構とすることができる。特定の実施形態において、通信ネットワーク１０６は、２つ以上のクライアント装置間のデータ通信、例えば、装置１１０と装置１１２との間のデータ通信を容易にすることができる。通信ネットワーク１０６は、さまざまな種類の通信ネットワークであってもよく、１つ以上の通信ネットワークを含んでもよい。例えば、通信ネットワーク１０６は、インターネット、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、イーサネット（登録商標）ネットワーク、公衆または私設ネットワーク、有線ネットワーク、無線ネットワーク、およびそれらの組み合わせを含むが、これらに限定されない。異なる通信プロトコルを用いて、IEEE 802.XXプロトコルスイート、ＴＣＰ／ＩＰ、ＩＰＸ、ＳＡＮ、AppleTalk（登録商標）、Bluetooth（登録商標）、および他のプロトコルのような有線プロトコルおよび無線プロトコルの両方を含む通信を容易にすることができる。一般的に、通信ネットワーク１０６は、クライアント装置１１０または１１２などの１つ以上のクライアント装置と、アプリケーション共有システム１０４内の１つ以上のサーバとの間の通信を容易にする任意の通信ネットワークまたは通信インフラストラクチャを含むことができる。
【００３０】
特定の実施形態において、アプリケーション共有システム１０４は、装置間のアプリケーションの共有を容易にするように構成される。アプリケーション共有システム１０４は、ユーザリクエストを受信し、リクエストに応答して動作を実行する（例えば、コンテンツを提供する）ように構成することができる。アプリケーション共有システム１０４は、１つ以上のサーバを含むことができる。特定の実施形態において、アプリケーション共有システム１０４は、アプリケーションダウンロードを提供するためのサーバシステムと、アプリケーション構成を管理するための別のサーバシステムとを含むことができる。異なる実施形態は、さまざまな動作を実行するためのより多くのサーバまたはより少ないサーバを含むことができる。
【００３１】
特定の実施形態において、アプリケーション共有システム１０４は、アプリケーション共有システム１０４によって管理される１つ以上のアプリケーションのユーザに関連するユーザアカウントを管理するように構成することができる。アプリケーション共有システム１０４は、複数のアプリケーションの複数のユーザに関連する情報を格納および管理することができる。情報は、ユーザアカウント記憶装置１０２などのデータストアに格納されてもよい。データストアは、アプリケーション共有システム１０４によってアクセス可能且つ更新可能な１つ以上の不揮発性メモリを使用して実装され得る。データストアは、データを格納、アクセスおよび検索することができる任意のメモリ装置または任意の標準環境、分散環境またはクラスタ環境に配置された任意数のデータサーバ、データベース、データ記憶装置およびデータ記憶媒体の組み合わせを含むことができる。データストア１０２は、１つ以上のデータベース、リストまたは他のデータ構造を含むデータを記憶するための１つ以上のメモリ装置を表すことができる。アプリケーション共有システム１０４は、クライアント装置の１つ以上のアプリケーションの態様を実行するために、必要に応じて、データストア１０２と一体化される任意の適切なハードウェアおよびソフトウェアを含むことができる。
【００３２】
上述したように、アプリケーション共有システム１０４は、１つ以上のアプリケーションの１人以上のユーザに関する情報を記憶するように構成されてもよい。いくつかの実施形態において、ユーザに関する情報は、ユーザ＿１アカウント、ユーザ＿２アカウントなどのユーザアカウントの形で、１人のユーザが１つのアカウントを有するように格納されてもよい。アプリケーション共有システム１０４によって管理されている特定のユーザアカウントは、特定のユーザに関する情報と、ユーザによってユーザ装置にダウンロードされ、インストールされた１つ以上のアプリケーションに関する情報とを含むことができる。ユーザアカウント情報は、例えば、ユーザの身元に関連する情報、ユーザに関連付けられた１つ以上の装置、ユーザの購入情報（例えば、ユーザが購入した１つ以上のアプリケーションの購入履歴、またはユーザが１つ以上のアプリケーションを用いて購入した１つ以上のアイテム／サービス）、および／または任意の他の種類のユーザ情報を含むことができる。いくつかの例において、ユーザ識別情報は、ユーザのユーザＩＤ（例えば、ユーザ名）を含むことができる。いくつかの実施形態において、ユーザのユーザアカウント情報は、ユーザを確認および認証するためのユーザ資格情報または他の認証情報に関連する情報を含んでもよい。
【００３３】
特定の実施形態において、ユーザのユーザアカウント情報は、ユーザに関連付けられた１つ以上のアプリケーションの構成データを含むこともできる。例えば、装置１１０のユーザのユーザアカウント情報は、装置１１０に関連する情報、アプリケーション１１４に関連する情報、およびアプリケーション１１４の構成データに関連する情報を含むことができる。構成データは、デフォルト設定およびユーザ設定またはカスタマイズ設定を含むアプリケーション１１４の１つ以上の構成設定に関連する情報を含むことができる。いくつかの実施形態において、アプリケーション１１４の全ての構成データは、装置１１０のユーザのユーザアカウント情報の一部として格納されてもよい。別の実施形態において、格納される構成データの量を最小限に抑えるために、ユーザが設定した構成設定に関連する情報を格納することができる。いくつかの実施形態において、特定のユーザの構成データは、アプリケーションごとに格納されてもよい。特定の実施形態において、アプリケーション共有システム１０４は、更新された現在の構成設定を反映するために、ユーザアカウントに関連付けられたアプリケーションの構成設定および格納された情報に対する変更を監視および追跡することができる。
【００３４】
いくつかの実施形態において、ユーザアカウント情報は、ユーザごとにおよびアプリケーションごとに格納されてもよい。このような実施形態において、ユーザが複数のアプリケーションに関連付けられている場合、各アプリケーションに１つのユーザアカウントを与えるように、複数のユーザアカウントをユーザアカウント記憶装置１０２に格納することができる。各ユーザアカウントの情報は、ユーザを識別する情報、特定のアプリケーションを識別する情報、アプリケーションの構成データ、アプリケーションに関連するユーザの購入履歴、および他の情報を含んでもよい。
【００３５】
いくつかの実施形態において、アプリケーション共有システム１０４は、ユーザアカウント記憶装置１０２などの１つ以上のデータ記憶装置と協働して、アクセス制御サービスを提供することができる。アプリケーション共有システム１０４は、アプリケーション共有システム１０４によって提供されたアプリケーション共有機能によりユーザに配信されるテキスト、図形、音声および／または映像を生成するように構成することができる。
【００３６】
アプリケーション共有システム１０４によって提供されたアプリケーション共有機能は、以下の例示的な使用事例を用いて説明することができる。装置１１０のユーザ（「ユーザ＿１」または「Ｕ１」）は、アプリケーション１１４を購入して、装置１１０にダウンロードすることができる。一実施形態において、アプリケーション共有システム１０４は、ユーザ＿１によるアプリケーション１１４の購入、および装置１１０にアプリケーション１１４のダウンロードを容易にすることができる。アプリケーション１１４は、特定のデフォルト構成設定を含む特定のデフォルト構成データと共にダウンロードされ、インストールされてもよい。購入時にユーザアカウント（「Ｕ１アカウント」）がまだ存在していない場合に、アプリケーション共有システム１０４は、ユーザ＿１のユーザアカウントを作成することができる。いくつかの実施形態において、アプリケーション１１４の構成データは、ユーザ＿１のユーザアカウント情報の一部として格納されてもよい。
【００３７】
アプリケーション１１４を装置１１０にダウンロードしインストールした後、ユーザ＿１は、アプリケーション１１４を使用することができ、装置１１０を用いてアプリケーション１１４と対話することができる。この対話によって、アプリケーション１１４の１つ以上の構成設定を変更または設定することができる。例えば、ユーザ＿１とアプリケーション１１４との対話は、ユーザ＿１がアプリケーション１１４の１つ以上の構成設定を明示的に設定する（すなわち、１つ以上の構成設定に特定の値を割り当てるまたは設定する）ことを含んでもよい。例えば、ブラウザアプリケーションの場合、ユーザ＿１は、デフォルトのホームページをwww.URL_1.com（デフォルト設定）からwww.UserPreferredURL.comに変更することができる。別の例として、ユーザ＿１は、デフォルト構成データの一部として設定されていないブラウザアプリケーションのセキュリティ設定を設定することができる。ユーザは、さまざまな別の構成設定を行うことができる。
【００３８】
いくつかの他の実施形態において、ユーザ＿１とアプリケーション１１４との対話によって、アプリケーション１１４の１つ以上の構成設定を自動的に設定することができる。例えば、構成設定は、ユーザ＿１がアプリケーション１１４を使用する方法に従って自動的に設定されてもよい。例えば、ユーザ＿１とアプリケーション１１４との対話を追跡して、ユーザの好みを推測することができる。これらの推測に基づいて、アプリケーション１１４の１つ以上の構成設定を設定することができる。
【００３９】
特定の実施形態において、構成データに対して行った変更を含む構成データは、装置１１０によってローカルに記憶され、アプリケーション１１４によって管理される。アプリケーションの構成データに対して行った変更がアプリケーション共有システム１０４によって記憶され、追跡される実施形態において、変更に関する情報は、装置１１０からアプリケーション共有システム１０４に伝送されてもよい。一実施形態において、アプリケーション１１４は、構成設定の変更を示す通知をアプリケーション共有システム１０４に送信するように構成することができる。次いで、アプリケーション共有システム１０４は、ユーザ＿１のアプリケーション１１４のために記憶された構成データを更新することができる。このようにして、アプリケーション共有システム１０４は、ユーザによるアプリケーションのダウンロードおよびさまざまなアプリケーションの構成設定に対して行った変更を追跡する。
【００４０】
装置１１０のユーザ＿１は、アプリケーション１１４を別のユーザに紹介することができ、またはアプリケーション１１４を別のユーザと共有する意向を示すことができる。例えば、装置１１０のユーザ＿１は、アプリケーション１１４を装置１１２のユーザ＿２に紹介することができる。アプリケーション共有システム１０４は、アプリケーション１１４を装置１１２と共有すること、およびアプリケーションにユーザ＿２を参加させることを容易にする。図２は、本発明のいくつかの実施形態に従って、アプリケーションおよび関連する構成データを共有するためのアプリケーション共有システムによって実行された処理を示す例示的なフローチャート２００である。図２に示された処理は、１つ以上の処理ユニット（例えば、プロセッサ、コア）、ハードウェア、またはそれらの組み合わせによって実行されるソフトウェア（例えば、コード、命令、プログラム）で実施されてもよい。ソフトウェアは、メモリ（例えば、メモリ装置のような非一時的なコンピュータ可読記憶媒体）に記憶されてもよい。図２に示された一連の特定の処理ステップは、限定することを意図していない。理解すべきことは、これらの処理ステップは、図２に示された順序と異なる順序で実行されてもよく、図２に示される全てのステップを実行する必要がないことである。一実施形態において、図２に示された処理は、図１に示されたアプリケーション共有システム１０４並びに装置１１０および１１２によって実行される。
【００４１】
ステップ２０２において、アプリケーション共有システム１０４は、第１ユーザから、第１ユーザが第１コンピューティング装置上の特定のアプリケーションを第２ユーザと共有する意向を示すリクエストを受信する。例えば、図１のアプリケーション共有システム１０４は、ユーザ＿１の装置１１０から、ユーザ＿１が装置１１０上のアプリケーション１１４をユーザ＿２に紹介するまたはユーザ＿２と共有する意向を示すリクエスト１１４を受信することができる。一実施形態において、ユーザ＿１は、装置１１０上で動作を実行することによって、装置１１０上でリクエスト（共有または紹介リクエスト）を生成して、アプリケーション共有システム１０４に送信することができる。
【００４２】
例えば、一実施形態において、装置１１０がタッチ画面のようなタッチ感応入力インターフェイスを備える場合、ユーザ＿１は、アプリケーション１１４に対して特定のジェスチャ（例えば、画面を横切るスワイプジェスチャ）を行うことによって、共有リクエストを生成して、共有リクエストを装置１１０からアプリケーション共有システム１０４に送信することができる。一実施形態において、ユーザ＿１は、アプリケーション１１４を使用している間に、ジェスチャを行うことができる。別の実施形態において、ユーザ＿１は、アプリケーション１１４を含む複数の可能なアプリケーションを示しているダッシュボード／ホームページ（例えば、装置にロードされたアプリケーションを起動するために使用されるｉＯＳ装置上のスプリングボード）上で、ジェスチャを行うことができる。例えば、アプリケーション１１４のアイコン上でフリックを行ってもよく、第２ユーザを識別するように、装置１１０上でユーザ＿２を示す表示物（例えば、ユーザ＿２の画像または連絡情報）の方向に沿って行ってもよい。一実施形態において、第１ユーザの装置のホーム画面上で共有されるアプリケーションのアイコンに対して特定の動作（例えば、フリック）を行う場合、アプリケーションが共有される受信者を識別するためのプロンプトを第１ユーザに表示させることができる。第１ユーザは、プロンプトに応じて、第２ユーザを識別する情報（例えば、第２ユーザの名前、第２ユーザに関連付けられた電話番号、第２ユーザに関連付けられた電子メールアドレスなど）を入力し、「送信」を選択することによって、共有リクエストを開始することができる。さらに他の代替実施形態において、さまざまな他の方法を用いて、装置１１０上で共有リクエストを生成し、共有リクエストをアプリケーション共有システム１０４に送信することができる。
【００４３】
ステップ２０２で受信されたリクエストは、リクエストに関連するさまざまな情報を含むことができる。特定の実施形態において、リクエストは、第１ユーザを識別する情報、第１コンピューティング装置を識別する情報、紹介または共有されるアプリケーションを識別する情報、第２ユーザを識別する情報、第２ユーザの装置を識別する可能な情報を含むが、これらに限定されない。いくつかの実施形態において、リクエストは、ユーザが設定したまたはユーザがカスタマイズした少なくとも１つの構成設定を含む第１コンピューティング装置上のアプリケーションの構成データを含んでもよい。
【００４４】
特定の実施形態において、アプリケーション共有システム１０４は、リクエストを処理する前に、特定のチェック（図２には図示せず）を実行することによって、ステップ２０２で受信したリクエストを検証することができる。例えば、一実施形態において、アプリケーション共有システム１０４は、最初に第１ユーザ（例えば、ユーザ＿１）を検証／認証することができる。この検証の一部として、アプリケーション共有システム１０４は、第１ユーザがアプリケーション共有システム１０４によって記憶および管理された、共有されるアプリケーションに対応するアカウントを有するか否かをチェックし、アカウントが確認されたときのみ、さらなる処理を実行する。
【００４５】
ステップ２０４において、アプリケーション共有システムによって受信された共有リクエストに関連する情報は、第２ユーザに関連付けられた第２コンピューティング装置に送信されてもよい。例えば、図１に示すように、リクエストに関する情報１１６は、アプリケーション共有システム１０４からユーザ＿２の装置１１２に送信されてもよい。特定の実施形態において、第２装置に送信された情報は、アプリケーションを識別する情報、アプリケーションを第２ユーザと共有することを希望する第１ユーザを識別する情報、および第１ユーザがアプリケーションを第２ユーザに紹介したいまたは第２ユーザと共有したい意向を示す情報を含んでもよい。例えば、図１において、装置１１２に送信された情報１１６は、ユーザ＿１を識別する情報、アプリケーション１１４を識別する情報、およびユーザ＿１がアプリケーション１１４をユーザ＿２に紹介したいまたはユーザ＿２と共有したいことを示す情報を含むことができる。いくつかの実施形態において、リクエストを受諾したことを示す結果を第２ユーザに伝達することもできる。特定の実施形態において、情報は、選択可能な選択肢を有するプロンプトとして第２コンピューティング装置の画面上に表示され、第２ユーザは、選択可能な選択肢を選択することによって、リクエストを受諾または拒否（拒絶）することができる。
【００４６】
ステップ２０６において、アプリケーション共有システムは、第２コンピューティング装置から、第２ユーザが共有リクエストを受諾または拒否した通知を受信することができる。図２において、第２ユーザが共有リクエストを受諾したという応答を第２コンピューティング装置から受信したと仮定する。一方、第２ユーザがリクエストを拒否または拒絶した場合、処理は終了する。
【００４７】
ステップ２０８において、アプリケーション共有システムは、第１コンピューティング装置上のアプリケーションに関連付けられ、第２コンピューティング装置に送信される構成データを決定することができる。ステップ２０８で決定された構成データは、第１ユーザと第１コンピューティング装置上のアプリケーションとの間の対話の結果として、第１コンピューティング装置上のアプリケーションの構成データに対して行われた１つ以上のカスタマイズを反映する１つ以上のカスタマイズされた構成設定を含む。例えば、図１において、アプリケーション共有システム１０４は、装置１１０上のアプリケーション１１４の構成データを決定することができる。この構成データは、ユーザ＿１と装置１１０上のアプリケーション１１４との間の対話の結果として、装置１１０上のアプリケーション１１４の構成データに対して行われた１つ以上のカスタマイズを反映する１つ以上のカスタマイズされた構成設定を含む。
【００４８】
いくつかの実施形態において、第１コンピューティング装置上のアプリケーションに関連付けられた構成データの全ては、ステップ２０８で決定されてもよい。別の実施形態において、第１コンピューティング装置上のアプリケーションに関連付けられた構成データの一部は、ステップ２０８で決定されてもよい。決定された部分は、第１ユーザによって第１コンピューティング装置上のアプリケーション構成データに対して行われたカスタマイズを含むことができる。したがって、この実施形態において、全ての構成データではなく、カスタマイズされた構成設定を含む一部の構成データのみが、決定される。
【００４９】
ステップ２０８の処理の一部として、アプリケーション共有システムは、アプリケーションに対応する第２ユーザのアカウントがまだ作成されていない場合、第２ユーザのアカウントを作成し、ステップ２０８で決定された構成データを第２ユーザのアカウント情報に関連付けることができる。いくつかの実施形態において、第２ユーザに新しいユーザ名および／またはパスワードを作成することができる。特定の実施形態において、アプリケーション共有システムは、他のアプリケーションに関連する第２ユーザの他のアカウントに基づいて、第２ユーザのユーザ名を自動入力することができる。アプリケーション共有システムは、一時パスワードを生成し、メッセージ（例えば、電子メールメッセージ、テキストメッセージなど）を介して、ログイン情報を第２ユーザに送信することができる。いくつかの実施形態において、必要に応じて、第２ユーザから、第２ユーザのアカウントを設定するための追加情報をリクエストすることができる。例えば、図１において、アプリケーション共有システム１０４は、ユーザ＿２に新しいアカウントを作成し、ステップ２０８で決定された構成データをユーザ＿２のアカウントに関連付けることができる。また、第１ユーザがアプリケーションを第２ユーザに紹介したまたは第２ユーザと共有したこと、および第２ユーザが共有を受諾したことを示すように、第１ユーザのアカウント情報を更新することもできる。しかしながら、第１ユーザのアカウントと第２ユーザのアカウントとは、別々のアカウントであり、互いにリンクされない。
【００５０】
いくつかの実施形態において、アプリケーション共有システムは、アプリケーション用の構成設定を第１ユーザのアカウント情報の一部として第１コンピューティング装置に（例えば、図１のデータストア１０２に）格納することができる。ステップ２０６で応答を受信すると、アプリケーション共有システムは、データストア１０２に格納された第１ユーザのアカウント情報から、特定のアプリケーションの構成設定を取り出すことができる。アプリケーション共有システムは、これらの構成設定のコピーを作成し、このコピーを格納し且つ第２ユーザのために作成されたアカウントに関連付けることができる。
【００５１】
ステップ２１０において、アプリケーション共有システムは、ステップ２０８で決定されたアプリケーションおよび構成データを第２コンピューティング装置に送信することができる。例えば、アプリケーション共有システムは、アプリケーションおよび構成データを第２コンピューティング装置にプッシュすることができる。例えば、図１において、アプリケーション共有システム１０４は、アプリケーションおよび構成データ１２０を装置１１２に送信することができる。一実施形態において、ステップ２０８で第１コンピューティング装置上のアプリケーションに関連する構成データを決定すると、アプリケーション共有システムは、構成データのコピーを作成し、ステップ２１０でこのコピーを第２コンピューティング装置に送信することができる。いくつかの実施形態において、第２コンピューティング装置にアプリケーションのインストールに関するインストール指示は、ステップ２１０で第２コンピューティング装置に送信されてもよい。
【００５２】
さまざまな異なる通信チャネルを用いて、アプリケーションおよび関連する構成データを第２コンピューティング装置にダウンロードすることができる。特定の実施形態において、通信は、インターネットなどの通信ネットワーク（例えば、図１に示すネットワーク１０６）を介して行われてもよい。有線または無線の通信リンクを用いて、通信を行うことができる。
【００５３】
ステップ２１２において、ステップ２１０でダウンロードされたアプリケーションは、第２コンピューティング装置にインストールされ、ステップ２１０でダウンロードされた構成データは、アプリケーションに適用される。構成データが第１ユーザの第１コンピューティング装置上のアプリケーションの構成設定に対して行われたカスタマイズを含むため、第１ユーザのカスタマイズは、第２コンピューティング装置にインストールされたアプリケーションに反映される。したがって、第２ユーザは、第１ユーザによって第１コンピューティング装置上のアプリケーションに対してカスタマイズした構成設定で、第２コンピューティング装置にインストールされたアプリケーションを使用し始めることができる。
【００５４】
いくつかの実施形態において、第２コンピューティング装置上のオペレーティングシステムは、ステップ２１２におけるインストールを容易にすることができる。第２コンピューティング装置上のオペレーティングシステムは、アプリケーションが正常にインストールされたことを検出した場合、第１ユーザのＩＤ、第２ユーザのＩＤおよび／またはアプリケーションのＩＤを用いて、アプリケーション共有システム１０４から構成データを取り出すことができる。その後、オペレーティングシステムは、構成データを第２コンピューティング装置に展開することができる。特定の実施形態において、アプリケーションが第２コンピューティング装置にダウンロードされると、アプリケーションストアは、このダウンロードが共有イベントによって引き起こされたことを示す「紹介ＩＤ」を添付することができる。インストールが正常に完了し、初期起動すると、アプリケーションは、オペレーティングシステムから紹介ＩＤを取得し、紹介ＩＤを用いて共有システムから構成データを取り出すことができる。
【００５５】
アプリケーションがカスタマイズされた構成データと共に第２コンピューティング装置にダウンロードされた後、第１装置および第２装置のユーザは、互いに独立して各々の装置にインストールされたアプリケーションと対話することができる。第１ユーザは、第２ユーザの装置上のアプリケーションまたは構成データに影響を与えることなく、第１ユーザの装置にインストールされたアプリケーションの構成データ（例えば、装置１１０上のアプリケーション１１４の構成データ）をさらに変更することができる。同様に、第２ユーザは、第１ユーザの装置上のアプリケーションまたは構成データに影響を与えることなく、第２ユーザの装置にインストールされたアプリケーションの構成データをさらに変更することができる。
【００５６】
図２に示され、上記で説明された例は、第１ユーザと第２ユーザとの間の共有を示しているが、限定的であることを意図していない。代替的な実施形態において、第１ユーザは、第１ユーザの装置にインストールされたアプリケーションおよび関連するカスタマイズされた構成データを複数の他のユーザと共有することができる。特定のユーザは、複数のユーザによって共有されている複数のアプリケーションおよび関連する構成データをダウンロードすることもできる。アプリケーション共有システムは、さまざまなユーザを追跡することができ、各ユーザが共有に従ってダウンロードしたアプリケーションおよびダウンロードした各共有アプリケーションの構成データを追跡することができる。
【００５７】
図２に示され、上記で説明された実施形態において、アプリケーションおよび構成データの両方は、ステップ２１０にダウンロードされる。しかしながら、これは限定ではない。アプリケーションおよび構成データをダウンロードする順序は、異なる実施形態において変化してもよい。例えば、一実施形態において、アプリケーションをダウンロードし、第２コンピューティング装置にインストールした後、構成データをダウンロードして、インストール済みのアプリケーションに適用することができる。いくつかの他の実施形態において、アプリケーションをダウンロードする前に、構成データをダウンロードしてもよい。
【００５８】
図３は、本発明のいくつかの実施形態に従って、アプリケーションおよび１つ以上のカスタマイズされた構成設定を含む関連する構成データを共有するために実行された処理を示す別の例示的なフローチャート３００である。図３に示された処理は、１つ以上の処理ユニット（例えば、プロセッサ、コア）、ハードウェア、またはそれらの組み合わせによって実行されるソフトウェア（例えば、コード、命令、プログラム）で実施されてもよい。ソフトウェアは、メモリ（例えば、メモリ装置のような非一時的なコンピュータ可読記憶媒体）に記憶されてもよい。図３に示された一連の特定の処理ステップは、限定することを意図していない。理解すべきことは、これらの処理ステップは、図３に示された順序と異なる順序で実行されてもよく、図３に示された全てのステップを実行する必要がないことである。一実施形態において、図３に示された処理は、図１に示されたアプリケーション共有システム１０４並びに装置１１０および１１２によって実行される。
【００５９】
ステップ３０２において、アプリケーション共有システム（例えば、図１のアプリケーション共有システム１０４）は、第１ユーザ（例えば、図１のユーザ＿１）から、第１コンピューティング装置（例えば、装置１１０）上の特定のアプリケーション（例えば、アプリケーション１１４）を第２ユーザ（例えば、図１のユーザ＿２）と共有する意向を示すリクエストを受信することができる。ステップ３０２で受信されたリクエストは、第１ユーザを識別する情報、第１コンピューティング装置を識別する情報、紹介または共有されるアプリケーションを識別する情報、第２ユーザを識別する情報、第２ユーザの装置を識別する可能な情報を含んでもよい。いくつかの実施形態において、リクエストは、ユーザが設定したまたはユーザがカスタマイズした少なくとも１つの構成設定を含む第１コンピューティング装置上のアプリケーションの構成データを含んでもよい。図１を参照して上述したように、特定の実施形態において、第１ユーザは、第１コンピューティング装置上で動作を実行することによって、第１コンピューティング装置上でリクエスト（共有または紹介リクエスト）を生成して、アプリケーション共有システム１０４に送信することができる。
【００６０】
ステップ３０４において、アプリケーション共有システムによって受信された共有リクエストに関連する情報は、第２ユーザに関連付けられた第２コンピューティング装置に送信されてもよい。例えば、図１に示すように、リクエストに関する情報１１６は、アプリケーション共有システム１０４からユーザ＿２の装置１１２に送信されてもよい。特定の実施形態において、第２装置に送信された情報は、アプリケーションを識別する情報、アプリケーションを第２ユーザと共有することを希望する第１ユーザを識別する情報、および第１ユーザがアプリケーションを第２ユーザに紹介するまたは第２ユーザと共有する意向を示す情報を含んでもよい。例えば、図１において、装置１１２に送信された情報１１６は、ユーザ＿１を識別する情報、アプリケーション１１４を識別する情報、およびユーザ＿１がアプリケーション１１４をユーザ＿２に紹介したいまたはユーザ＿２と共有したいことを示す情報を含むことができる。いくつかの実施形態において、リクエストを受諾したことを示す結果を第２ユーザに伝達することもできる。特定の実施形態において、情報は、選択可能な選択肢を有するプロンプトとして第２コンピューティング装置の画面上に表示され、第２ユーザは、選択可能な選択肢を選択することによって、リクエストを受諾または拒否（拒絶）することができる。
【００６１】
ステップ３０６において、アプリケーション共有システムは、第２コンピューティング装置から、第２ユーザが共有リクエストを受諾または拒否した通知を受信することができる。図２において、第２ユーザが共有リクエストを受諾したという応答を第２コンピューティング装置から受信したと仮定する。一方、第２ユーザがリクエストを拒否または拒絶した場合、処理は終了する。特定の実施形態において、第２ユーザは、第２ユーザに表示された適切なユーザ選択可能な選択肢に指先でタップすることによって、受諾または拒否を選択することができる。
【００６２】
ステップ３０８において、アプリケーション共有システムは、共有されるアプリケーション（例えば、図１のアプリケーション１１４）が第２コンピューティング装置上に存在するか否かを判断する。ステップ３０８でアプリケーションが第２コンピューティング装置上に存在すると判定された場合、処理は、ステップ３１６に進み、アプリケーションが第２コンピューティング装置上に存在しないと判定された場合、処理は、ステップ３１０に進む。
【００６３】
ステップ３１０において、アプリケーション共有システムは、第２ユーザのアカウントが存在しない場合に、第２ユーザに新しいアカウントを作成する。新しいアカウントの作成の一部として、アプリケーション共有システムは、第２ユーザに新しいログインユーザ名およびアカウントの一時パスワードを作成することができる。ユーザ名および一時パスワードは、電子メールメッセージ、テキストメッセージなどを介して、第２ユーザに送信されてもよい。
【００６４】
ステップ３１２において、アプリケーション共有システムは、共有されるアプリケーションを第２ユーザによって使用されている第２コンピューティング装置にダウンロードすることができる。例えば、図１において、アプリケーション共有システム１０４は、アプリケーション１１４を装置１１２に送信することができる。
【００６５】
ステップ３１４において、アプリケーション共有システムは、第１コンピューティング装置上のアプリケーションの構成データに対して行われた１つ以上のカスタマイズを反映するカスタマイズされた構成設定を含み、第２コンピューティング装置にダウンロードされる構成データを決定する。例えば、図１において、アプリケーション共有システム１０４は、装置１１０上のアプリケーション１１４の構成データを決定し、当該構成データは、ユーザ＿１と装置１１０上のアプリケーション１１４との対話の結果によって、装置１１０上のアプリケーション１１４の構成データに対して行われた少なくとも１つのカスタマイズを反映する少なくとも１つのカスタマイズされた構成設定を含む。
【００６６】
特定の実施形態において、ステップ３１４で決定された構成データは、時間パラメータにより限定されてもよい。例えば、一実施形態において、第１ユーザによって所定の期間にカスタマイズされた構成データのみが決定される。所定の期間は、アプリケーション共有システムがステップ３０２でリクエストを受信する時間に対して測定されてもよい。例えば、ステップ３０２でリクエストを受信してから所定の期間内に第１コンピューティング装置上の構成データに対して行われた構成データのカスタマイズのみは、ステップ３１４で決定される。所定の期間は、過去２４時間、過去１２時間などであってもよい。いくつかの他の実施形態において、所定の期間は、アプリケーションを第１コンピューティング装置にインストールした時間に対して測定されてもよい。
【００６７】
いくつかの例において、ステップ３１４で決定された構成データは、所定の期間中に第１ユーザによってアプリケーションの構成データに対して行われた全部の変更を含むことができる。いくつかの例において、ステップ３１６で決定された構成データは、所定の期間中に第１ユーザによってアプリケーションの構成データに対して行われた変更の全部ではなく、一部を含むことができる。例えば、一実施形態において、構成データは、第１ユーザによって設定されたアプリケーションの外観および雰囲気に対して行われた構成データの変更を含み、アプリケーションの他の動作を制御する構成データの変更を含まない。
【００６８】
特定の実施形態において、第１ユーザは、他のユーザと共用可能な構成データを特定することができる。例えば、図１において、ユーザ＿１は、ユーザ＿２と共有可能なアプリケーション１１４の構成データの変更を特定することができる。いくつかの実施形態において、第１ユーザは、各第２ユーザと共有可能な構成データを特定することができる。
【００６９】
ステップ３１６において、アプリケーション共有システムは、ステップ３１４で決定された構成データのコピーを第２コンピューティング装置にダウンロードすることができる。ステップ３１８の一部として、アプリケーションの構成データのコピーを第２ユーザのアカウントに格納することもできる。
【００７０】
ステップ３１８において、ステップ３１６でダウンロードされたアプリケーションは、第２コンピューティング装置にインストールされ、ステップ３１６でダウンロードされた構成データは、アプリケーションに適用される。ステップ３１６でダウンロードされた構成データが第１ユーザの第１コンピューティング装置上のアプリケーションの構成設定に対して行われたカスタマイズを含むため、第１ユーザのカスタマイズは、第２コンピューティング装置にインストールされたアプリケーションに反映される。したがって、第２ユーザは、第１ユーザによって第１コンピューティング装置上のアプリケーションに対してカスタマイズした構成設定で、第２コンピューティング装置にインストールされたアプリケーションを使用し始めることができる。
【００７１】
アプリケーションがカスタマイズされた構成データと共に第２コンピューティング装置にダウンロードされた後、第１装置および第２装置のユーザは、互いに独立して各々の装置にインストールされたアプリケーションと対話することができる。第１ユーザは、第２ユーザの装置上のアプリケーションまたは構成データに影響を与えることなく、第１ユーザの装置にインストールされたアプリケーションの構成データ（例えば、装置１１０上のアプリケーション１１４の構成データ）をさらに変更することができる。同様に、第２ユーザは、第１ユーザの装置上のアプリケーションまたは構成データに影響を与えることなく、第２ユーザの装置にインストールされたアプリケーションの構成データをさらに変更することができる。
【００７２】
したがって、ダウンロードの後、第１コンピューティング装置上のアプリケーションおよび関連する構成データと、第２コンピューティング装置上のアプリケーションおよび関連する構成データとは、各々独立のライフサイクルを有することができる。いくつかの代替的な実施形態において、第１ユーザのアプリケーションの構成データおよび第２ユーザのアプリケーションの構成データを同期することができ、これによって、第１ユーザおよび第２ユーザは、アプリケーションをダウンロードおよびインストールした後の所定の期間において、各々のアプリケーションに同様の構成データを有することができる。
【００７３】
さらに、第２ユーザは、第２コンピューティング装置上でアプリケーションを設定することによって、アプリケーション１１４のカスタマイズされた構成データを生成し、アプリケーションおよび第２ユーザによってカスタマイズされた構成データを、第２ユーザが選択した１人以上の他のユーザと共有することができる。
【００７４】
図４は、特定の実施形態に従って、アプリケーションを共有するためのプロセス４００を示すシーケンスチャートである。図４に示すように、ステップ４０２において、ユーザＡ（図４の「Ａ」）は、ユーザに関連付けられたコンピューティング装置（例えば、図１のユーザ＿１に関連付けられたコンピューティング装置１１０）上のアプリケーションＸ（図４の「Ｘ」）と対話することができる。対話の結果、アプリケーションＸの構成データは、ユーザＡのコンピューティング装置上で変更される可能性がある。構成データの１つ以上の構成設定に対するカスタマイズを含むアプリケーションＸの構成データは、アプリケーションＸがインストールされ、ユーザＡによって使用されているユーザＡの装置にローカルに格納されてもよい。
【００７５】
ステップ４０４において、アプリケーションＸの構成データをアプリケーションサーバ（例えば、図１に示すアプリケーション共有システム１０４）に格納するように、リクエストを生成することができる。一実施形態において、図４に示すように、リクエストは、アプリケーションＸによって生成され、ユーザＡの装置上のオペレーティングシステムに送信されてもよい。ステップ４０６において、オペレーティングシステムは、リクエストおよび格納されるアプリケーションＸの構成データをアプリケーションサーバに送信することができる。ステップ４０６の一部として、アプリケーションサーバは、ユーザＡの装置から受信したアプリケーションＸの構成データを格納することができる。一実施形態において、アプリケーションサーバは、構成データをユーザＡのユーザアカウント情報の一部として格納することができる。
【００７６】
特定の実施形態において、定期的に記憶リクエストを生成するようにアプリケーションＸを構成することができる。これによって、ユーザＡによって１つ以上の構成設定に対して行われた任意の変更またはカスタマイズを含む最新の構成データは、アプリケーションサーバにアクセス可能なデータストアに格納される。
【００７７】
ステップ４０８において、ユーザＡは、アプリケーションＸおよび関連する構成データを別のユーザＢと共有するリクエストを出すことができる。特定の実施形態において、共有リクエストは、アプリケーションＸまたはユーザＡの装置のオペレーティングシステムを介して生成することができる。図４に示す実施形態において、リクエストは、ユーザＡの装置上のオペレーティングシステムによって受信される。
【００７８】
ステップ４１０において、アプリケーションＸをＢと共有するリクエストは、アプリケーションサーバに送信される。ステップ４１２において、リクエストは、アプリケーションサーバによって格納されてもよい。一実施形態において、リクエストは、ユーザＡのアカウント情報の一部として格納されてもよい。
【００７９】
ステップ４１４において、（アプリケーションサーバによってユーザＡのアカウント情報の一部として格納され得る）ユーザＡの構成データのコピーが、ユーザＢのユーザアカウントにコピーされる。さらなる処理は、図６に示され、以下で説明される。
【００８０】
いくつかの実施形態において、アプリケーションの構成データの全てまたは大部分は、アプリケーションがインストールされている装置にローカルに格納することができる。いくつかのアプリケーションは、構成データまたは構成データの一部をアプリケーションのユーザのクラウドまたは１つ以上のリモートサーバに格納するように構成されてもよい。一部のアプリケーションは、構成データの一部をローカルに格納し、一部の構成データをクラウドに格納するという複合式方法を使用し得る。一部の実施形態において、アプリケーションの構成データ（またはその一部）がクラウドに格納されている場合、アプリケーション共有システムは、クラウドプロバイダから構成データを利用するように構成されてもよい。
【００８１】
特定の実施形態において、アプリケーションの構成データ（またはその一部）がクラウドに格納されている場合、アプリケーションが第２ユーザ（またはアプリケーションの受信者）と共有された後、この受信者にクラウドアカウントを作成する必要がある。他の実施形態において、構成データは、第２ユーザの装置上で第２ユーザのためにローカルに記憶されてもよい。さらに他の実施形態において、異なるユーザ名、パスワード、および／またはアカウント（クローンできるものおよびクローンできないものに対して異なる保護レベル）で、第１ユーザのクラウドアカウントをクローンすることによって、第２ユーザのクラウドアカウントを作成することができる。
【００８２】
前述したように、第１ユーザ（すなわち、共有したいユーザ）は、第１ユーザの装置上で動作を実行することによって、アプリケーション共有リクエストを生成し、第１ユーザの装置からリクエストをアプリケーション共有システムに送信することができる。特定の実施形態において、共有リクエストを生成する時間を認識する能力は、アプリケーション自体に組み込まれてもよい。例えば、アプリケーションの開発者は、アプリケーション内に共有リクエストの生成をトリガするさまざまなトリガを実装することができる。例えば、アプリケーションは、装置のユーザが特定の動作（例えば、長押しおよびフリックを含むフリック送信機能）を行ったという信号を受信すると、共有リクエストを生成することができる。特定の実施形態において、アプリケーションは、特定の動作がアプリケーション内の任意の場所で実行されたというトリガイベントを認識するように構成することができる。いくつかの代替的な実施形態において、アプリケーションは、特定の動作がアプリケーション内の特定の領域または部分内で（例えば、起動されたアプリケーションの特定のＧＵＩ（グラフィカルユーザインターフェイス）の特定の領域内で）実行されたというトリガイベントを認識するように構成することができる。いくつかの実施形態において、ユーザ入力は、共有ユーザの装置のホーム画面上（例えば、ｉＰａｄ（登録商標）またはｉＰｈｏｎｅ（登録商標）などのｉＯＳ装置上のスプリングボード上）のアプリケーションアイコンに向けられ得る。アプリケーションを共有したいという意向を検出すると、モバイル装置は、共有ユーザが（例えば、アドレス帳を介して受信者を選択するもしくは電話番号または名前を指定することによって）受信者を指定することを可能にすることができる。
【００８３】
１つの使用事例として、第１ユーザが素晴らしい天気アプリケーションを見付けた。第１ユーザは、このアプリケーションを第１ユーザの装置にインストールし、第１ユーザのいくつかの興味のある都市を追加することによってアプリケーションをカスタマイズする。その後、第１ユーザは、第２ユーザ、例えば第１ユーザの妻の装置（例えば、電話）上に同様のアプリケーションを有するように、このアプリケーションを第２ユーザに紹介したいと思う場合がある。通常は、第２ユーザは、以下の行動を行わなければならない。具体的には、第２ユーザは、同様の天気アプリケーションを見付けて、このアプリケーションを第２ユーザの装置にインストールし、第１ユーザと同様の都市を全て追加しなければならない。技術的な知識を有しない第２ユーザにとって、これらの行動は、第２ユーザの能力を超えている可能性がある。第２ユーザが技術的な知識を有しても、これらの行動を行うには時間がかかる。本開示に記載された教示によって、第２ユーザは、単に第１ユーザからの共有リクエストを受諾することによって、特定のアプリケーションと共に第１ユーザによって追加された都市を取得することができる。本開示で説明するように、天気アプリケーションは、第２ユーザの装置に自動的にダウンロードおよびインストールされ、第１ユーザのカスタマイズ（例えば、第１ユーザによって追加された都市）は、第２ユーザからのさらなる入力を必要とせず、インストールされた天気アプリケーションに適用される。これによって、第２ユーザは、同様の天気アプリケーションだけでなく、第１ユーザによってアプリケーションに対して行われたカスタマイズ（例えば、第１ユーザによって追加された都市）も有する。その後、第２ユーザは、第１ユーザの装置上のアプリケーションまたは関連する構成データから独立して、第２ユーザの装置にインストールされたアプリケーションと対話することができる。
【００８４】
いくつかの実施形態は、構成設定に加えて、クラウドデータの共有を可能にすることができる。いくつかの実施形態において、元のアプリケーションにクラウドアカウントを関連付けることができる。ユーザがアプリケーションをフリックする／共有すると、そのアカウントがコピーされ、共有受信者が全てのデータをそのまま取得する。共有受信者が新しいユーザであるため、元のユーザと異なるアカウントが、独自のログイン情報（ユーザ名および一時パスワード）で受信者用に設定される。その後、共有受信者は、自分の好みに応じて、アプリケーションに追加変更を行うことができる。アプリケーション開発者は、アプリケーション、アカウントデータおよび／または構成設定を共有する機能を全てのアプリケーションではなく、一部のアプリケーションに設けてもよい。アプリケーション開発者は、プライバシーおよびアプリケーションの意味を考慮して、特定の種類のデータおよび構成設定を転送してもよい。
【００８５】
図５は、本発明の特定の実施形態に従って、アプリケーションを受信するユーザの装置（すなわち、アプリケーション共有の受信側）の視点から、アプリケーションを共有するために実行された処理を示す例示的なフローチャート５００である。図２に示された処理は、１つ以上の処理ユニット（例えば、プロセッサ、コア）、ハードウェア、またはそれらの組み合わせによって実行されるソフトウェア（例えば、コード、命令、プログラム）で実施されてもよい。ソフトウェアは、メモリ（例えば、メモリ装置のような非一時的なコンピュータ可読記憶媒体）に記憶されてもよい。図２に示された一連の特定の処理ステップは、限定することを意図していない。理解すべきことは、これらの処理ステップは、図２に示された順序と異なる順序で実行されてもよく、図２に示される全てのステップを実行する必要がないことである。例えば、一実施形態において、図５に示され、以下に説明される処理は、図１に示された装置１１２によって実行され得る。図５を参照して以下に行った説明において、アプリケーションを共有することを希望するユーザは、第１ユーザと呼ばれ、第１ユーザの装置は、第１装置と呼ばれる。共有されたアプリケーションを受信するユーザは、第２ユーザと呼ばれ、第２ユーザの装置は、第２装置と呼ばれる。
【００８６】
ステップ５０２において、第２ユーザに関連付けられた第２コンピューティング装置は、第１ユーザが第１ユーザに関連付けられた第１装置にインストールされたアプリケーションを第２ユーザと共有したいという情報を受信する。第２装置は、ステップ５０２では、アプリケーション共有システム１０４からリクエストを受信することができる。
【００８７】
ステップ５０４において、ステップ５０２で受信された情報は、第２装置によって提供された出力インターフェイスを介して第２ユーザに出力される。例えば、情報は、第２装置のディスプレイを介して出力されてもよい。表示内容の一部として、第２ユーザによる共有リクエストの拒絶／拒否を可能にするユーザ選択可能な選択肢が表示される。
【００８８】
ステップ５０６において、第２装置は、第２ユーザが共有リクエストを受諾したことを示す第２ユーザの入力を受信することができる。ステップ５０６で受信された入力が、第２ユーザがリクエストを拒否したことを示す場合、処理は終了する。
【００８９】
ステップ５０８において、第２ユーザが共有リクエストを受諾したことを示す応答通知は、第２装置からアプリケーション共有システムに送信される。
【００９０】
ステップ５１０において、共有されるアプリケーションは、第２装置にダウンロードされ、第２装置にインストールされる。第２装置は、アプリケーション共有システムからアプリケーションを受信してもよい。いくつかの実施形態において、アプリケーションをインストールする指示を受信することもできる。
【００９１】
ステップ５１２において、ステップ５１０でダウンロードされたアプリケーションの構成データは、第２コンピューティング装置にダウンロードされる。ステップ５１２でダウンロードされた構成データは、第１ユーザによって第１コンピューティング装置上のアプリケーションの構成データに対して行われた１つ以上のカスタマイズを反映する１つ以上のカスタマイズされた構成設定を含む。
【００９２】
ステップ５１４において、ステップ５１２でダウンロードされた構成データは、ステップ５１０でダウンロードされ且つインストールされたアプリケーションに適用される。第２ユーザは、インストールされたアプリケーションを自由に使用することができる。
【００９３】
図６は、特定の実施形態に従って、第１ユーザ（例えば、ユーザＡ）によって発信されたアプリケーション共有リクエストを第２ユーザ（例えば、ユーザＢ）装置で受諾するためのプロセス６００を示すシーケンスチャートである。この例において、アプリケーションサーバ（図６の「アプリサーバ」）（またはアプリケーション共有システム）は、既に第１ユーザの装置から、アプリケーション「Ｘ」をユーザＢ（図中「Ｂ」で示す）と共有するための共有リクエストを受信していると仮定する。ステップ６０２において、アプリケーションサーバは、共有リクエストを示す通知をユーザＢの装置に送信する。一実施形態において、図６に示すように、通知は、ユーザＢの装置上のオペレーティングシステム（図６の「ＯＳ」）によって受信されてもよい。ステップ６０４において、ユーザＢの装置のオペレーティングシステムは、例えば、ユーザＢの装置の出力装置（例えば、表示画面）を介して、リクエストに関連する情報をユーザＢに出力させることができる。
【００９４】
ステップ６０６において、ユーザＢは、共有リクエストを受諾することができる。ステップ６０８において、ユーザＢの装置上のオペレーティングシステムは、受諾を示す通知をアプリケーションサーバに送信することができる。ステップ６０９において、アプリケーションサーバは、アプリケーションをユーザＢと共有することを可能にする処理を実行することができる。例えば、ユーザＢのアカウントがまだ存在しない場合に、ユーザＢのアカウントを作成してもよい。ユーザＡの装置からの構成データは、アカウント情報に関連付けられている可能性がある。ステップ６０９の一部として、アプリケーションＸおよび関連する構成データ（ユーザＡの装置からの構成データ）がユーザＢの装置にダウンロード可能であるという通知をユーザＢの装置に送信してもよい。
【００９５】
ユーザＢの装置のオペレーティングシステムは、ステップ６１０において、アプリケーションサーバからアプリケーションＸをダウンロードすることができ、同じくステップ６１２において、アプリケーションＸに関連付けられた構成データをダウンロードすることができる。この構成データは、実際には、ユーザＡの装置からのアプリケーションＸに関する構成データである。ステップ６１４において、アプリケーションＸは、ユーザＢの装置にインストールされ、セットアップされる。ステップ６１２でダウンロードされた構成データは、ステップ６１４におけるインストールおよびセットアップの一部として、アプリケーションＸに適用されてもよい。これによって、ユーザＢは、ユーザＢの装置を介して、アプリケーションＸを使用することができる。
【００９６】
図７は、本発明の特定の実施形態に従って、第１装置の第１ユーザが第１装置上のアプリケーションおよび関連するカスタマイズされた構成データを第２ユーザに紹介するまたは第２ユーザと共有する方法の一例を示す図である。この例において、コンピューティング装置７０２が、第１ユーザJohnによって使用されている。図示のように、天気アプリケーション７０４が、コンピューティング装置７０２にインストールされている。アプリケーション７０４の画面７０６に示すように、ユーザJohnは、興味のある都市（MenloPark、Cupertino、NewYork、LosAngeles、San Francisco）を有するように、天気アプリケーション７０４を設定した。Johnは、天気アプリケーション７０４の構成データをカスタマイズし、特定の都市名を追加することによって、天気アプリケーションを設定した。また、Johnは、華氏（°F）を気温の表示単位として選択することによって、天気アプリケーション７０４をカスタマイズした。このカスタマイズも、アプリケーション７０４の構成データを変更することによって行われる。特定の実施形態において、アプリケーション７０４は、Johnがこれらのカスタマイズを行うことを可能にするユーザインターフェイスを提供することができる。
【００９７】
Johnは、養護施設に入居している高齢の女性Dianaに天気予報を紹介したい。Johnは、DianaがJohnと同様の都市に興味があり、華氏で気温を見てるということを分かっている。さらに、Johnは、Dianaが技術的に精通しておらず、自らで構成変更を行うことができないことも知っている。したがって、Johnは、上述したアプリケーション共有サービスを用いて、天気アプリケーション７０４をDianaと共有することに決定した。
【００９８】
図７に示すように、Johnは、Johnの装置７０２上のダッシュボード７０８（例えば、ｉＯＳ装置上のスプリングボード）にナビゲートすることができる。ダッシュボード７０８は、天気アプリケーション７０４に対応するアイコン７１０を表示している。Johnは、アイコン７１０上のアイコンに対して指ジェスチャ（例えば、アイコン７１０に対するフリック）を行うことによって、アプリケーション７０４の共有を示すことができる。図７の例において、フリックによって、ダイアログボックス７１４が表示され、Johnは、アプリケーションを共有したい人の名前を入力することができる。Johnは、Dianaの名前を入力してから、リターンキーを押す。これによって、共有リクエストが、Johnの装置７０２からアプリケーション共有システム１０４に送信される。
【００９９】
Johnは、さまざまな異なる方法で、アプリケーションを共有する意向およびアプリケーションを共有する人を示すことができる。一例において、Dianaは、Johnの連絡先リストに存在している。指ジェスチャを行うことによって、Johnの連絡先リストが表示される。Johnは、天気アプリケーションを紹介したい１人以上の人を選択することができる。
【０１００】
上記の例において、留意すべきことは、Dianaは、Johnとの関係を有してもよく有しなくてもよいことである。Dianaは、Johnの友達サークルにいる必要がない。Johnは、紹介または共有を可能にするために、何らかの形でDianaを加えるまたはDianaを自分のユーザアカウントに関連付ける必要がない。
【０１０１】
図８は、本発明の特定の実施形態に従って、アプリケーションおよび関連する構成データを受信するユーザの視点から、別のユーザによって生成された共有リクエストの結果によって実行された処理の一例を示す図である。図７に示され、上記で説明された例に続き、図８に示された実施形態は、Dianaの視点からのものであり、彼女の装置８０２に情報が表示されている。図８から見られるように、Dianaのモバイルユーザ８０２には、ユーザJohnが天気アプリケーションをDianaと共有したいことを示すダイアログボックスまたは通知８０４が表示される。Dianaは、ダイアログボックス上の適切なボタンを選択することによって、共有リクエストを受諾または拒否することができる。Dianaがリクエストを受諾した場合、天気アプリケーションは、Johnによってアプリケーションに対してカスタマイズされた構成データと共に、Dianaの装置８０２に自動的にダウンロードされる。Dianaの装置８０２上のダッシュボード８０６から見られるように、天気アプリケーションが装置８０２にダウンロードされ且つインストールされたことを示す新しいアイコン８０８が示される。さらに、Dianaの装置８０２にインストールされた天気アプリケーションのスクリーンショット８１０は、アプリケーションがJohnのアプリケーションと同様の都市（すなわち、MenloPark、Cupertino、NewYork、LosAngeles、San Francisco）で自動的に設定され、華氏（°F）が気温の表示単位として設定されていることを示している。Dianaが構成データに対して何もしなくても、Dianaの装置８０２上の天気アプリケーションの構成データは、Johnと同様の構成設定に設定されている。
【０１０２】
アプリケーションがカスタマイズされた構成データと共に第２装置（例えば、Dianaの装置）にダウンロードされた後、第１装置および第２装置のユーザは、互いに独立して装置にインストールされたアプリケーションと対話することができる。例えば、上記の例において、Johnは、Dianaの装置上の天気アプリケーションまたは構成データに影響を与えず、自分の装置にインストールされている天気アプリケーションの構成データにさらなる変更（例えば、アプリケーションによって気温を表示する都市の追加または削除など）を行うことができる。同様に、Dianaは、Johnの装置上の天気アプリケーションまたは構成データに影響を与えず、自分の装置にインストールされている天気アプリケーションの構成データにさらなる変更（例えば、アプリケーションによって気温を表示する都市の追加または削除など）を行うことができる。これは、図９の例に示されている。図９の実施形態は、Dianaの装置上のインターフェイスを示す。図９に示すように、Dianaは、追加都市の気温データを表示するように、自分の装置上の天気アプリケーションを設定する場合がある。Dianaは、自分の装置８０２上の天気アプリケーションによって表示された「＋」選択肢を選択する（例えば、タップする）ことによって、追加都市の気温表示を行うことができる。「＋」選択肢９００を選択すると、ダイアログボックス９０２がDianaの装置上に表示される。Dianaは、追加しようとする都市名をダイアログボックス９０２に入力する。これによって、装置８０２上の天気アプリケーションの構成データが変更される。図９に示すように、Dianaは、「San Diego」を入力した。これによって、San Diegoの気温を示すエントリ９０４が彼女の天気アプリケーションに表示される。Dianaの変更は、Johnの天気アプリケーションまたは関連する構成データに影響を与えない。換言すれば、San Diegoは、Johnの装置にインストールされている天気アプリケーションに追加されない。
【０１０３】
図７、８および９に示され、上記で説明された例において、第１ユーザ（紹介ユーザ、例えば、John）の第１装置および第２ユーザ（紹介ターゲット、例えば、Diana）の第２装置は各々、共有リクエストおよび共有アプリケーションに関する情報を表示するための画面出力装置を有する。代替的な実施形態において、他の種類のユーザ入力および出力インターフェイスを提供してもよい。例えば、第１装置および／または第２装置は、ＩｏＴ環境内の装置であってもよい。このような装置は、入力装置および出力装置として機能するタッチ画面を有しなく、その代わりに、他の入力および出力機構を提供する。
【０１０４】
特定の実施形態において、ＩｏＴ装置は、情報を出力するための１つ以上の発光体と、情報を入力するための１つ以上のボタンとを備えることができる。例えば、第１のＩｏＴ装置は、入力インターフェイスとしてのボタンセットを備えることができる。第１のＩｏＴ装置のユーザは、１つ以上のボタンを使用して、第２ユーザと共有される第１のＩｏＴ装置上のアプリケーションを選択することができる。アプリケーションを選択した後、第１のＩｏＴ装置のユーザは、第１のＩｏＴ装置上に設けられた別のボタンを押して、選択したアプリケーションを第２ユーザと共有する意向を示すことができる。
【０１０５】
いくつかの実施形態において、第２ユーザの第２のＩｏＴ装置は、情報を出力するための発光体セットと、ＩｏＴ装置に情報を入力するためのボタンセットを備えることができる。例えば、一実施形態において、第２のＩｏＴ装置に専用の発光体を設けることができる。この発光体が点灯すると、第２装置とアプリケーションを共有する第１ユーザからのリクエストを受信したことを示す。その後、第２のＩｏＴ装置のユーザは、第２のＩｏＴ装置上のボタンを押すことによって、リクエストを受諾することができる。これによって、上述した教示と同様に、第１のＩｏＴ装置からのアプリケーションおよび構成データは、第２のＩｏＴ装置にダウンロードされてもよい。
【０１０６】
いくつかの実施形態において、専用発光体の代わりに、第２のＩｏＴ装置上の発光体の色を用いて、第２のＩｏＴ装置が共有リクエストを受信したことを示すことができる。例えば、発光体が黄色（または他の特定の色）に点灯する場合、第２のＩｏＴ装置が共有リクエストを受信したことを示すことができる。さらに他の実施形態において、第２のＩｏＴ装置上の発光体は、特定の周波数で点滅することによって、第２のＩｏＴ装置が共有リクエスト受信したことを示すことができる。
【０１０７】
上述したように、装置のユーザが共有するアプリケーションを選択し、共有リクエストを生成し、共有リクエストを受信した装置のユーザに情報を出力し、ユーザが共有リクエストを受諾する（または拒否する）ことを可能にするさまざまな異なる方法は、提供されている。したがって、本開示に記載された実施例は、限定的なものではない。
【０１０８】
図１０は、本発明の特定の実施形態に従って、使用され得るコンピュータシステム１０００を示す簡略ブロック図である。コンピュータシステム１０００を用いて、上述した１つ以上のクライアント装置、例えば、図１に示された装置１１０および１１２、図７に示された装置７０２、および図８、９に示された装置８０２を実装することができる。コンピュータシステム１０００を用いて、図１に示されたアプリケーション共有システム１０４を実装することができる。モバイル装置、携帯型装置、ノートブックコンピュータ、デスクトップコンピュータ、ＩｏＴ装置、または任意の適切な電子装置などのさまざまな種類のものであってもよいが、これらに限定されない。さらに、コンピュータシステム１０００は、特定のブロックを参照して説明されているが、これらのブロックは、説明の便宜のために定義され、構成部品の特定の物理的な配置を意味するものではない。本発明の実施形態は、回路およびソフトウェアの任意の組み合わせを用いて実装された電子装置を含むさまざまな器械で実現することができる。コンピュータおよびネットワークが絶え間なく進化し続けるため、図１０に示されているコンピュータシステム１０００の説明は、特定の例のみとして意図されている。図１０に示されているシステムよりも多くの構成要素または少ない構成要素を有する多くの他の構成が可能である。
【０１０９】
図１０に示すように、コンピュータシステム１０００は、処理サブシステム１００２、記憶サブシステム１００４、ユーザ入力サブシステム１００６、ユーザ出力サブシステム１００８、およびネットワークインターフェイスサブシステム１０１０を含む多くのサブシステムを含む。図１０に示された実施形態において、さまざまなサブシステムは、バスサブシステム１０１２を介して、互いに通信可能に連結される。バスサブシステム１０１２は、コンピュータシステム１０００のさまざまな構成要素およびサブシステムが必要に応じて相互通信するための機構を形成する。図示には、バスサブシステム１０１２は、単一のバスとして概略的に示されているが、代替的な実施形態において、バスサブシステムは、複数のバスを利用してもよい。
【０１１０】
１つ以上の集積回路（例えば、１つ以上のシングルコアまたはマルチコアマイクロプロセッサもしくはマイクロコントローラ）として実装することができる処理サブシステム１００２は、コンピュータシステム１０００の動作を制御することができる。処理サブシステム１００２は、１つ以上の汎用プロセッサおよび／または１つ以上の専用プロセッサ（例えば、デジタル信号処理チップ、高速グラフィックスプロセッサ、感知チップなど）を含むが、これらに限定されない。これらのプロセッサは、１つ以上のマルチコアプロセッサを含むことができる。さまざまな実施形態において、処理サブシステム１００２は、さまざまなプログラム（例えば、プログラムコード、命令）を実行することによって、さまざまな機能を実行することができ、複数のプログラムまたはプロセスを同時に実行することができる。任意の所定の時間において、実行されるプログラムコードの一部または全部は、処理サブシステム１００２および／または記憶サブシステム１００４に常駐することができる。
【０１１１】
適切なプログラムを組み込むことによって、処理サブシステム１００２は、さまざまな機能をコンピュータシステム１０００に提供することができる。例えば、処理サブシステム１００２は、コンピュータシステム１０００にインストールされた１つ以上のアプリケーション１０１６を実行することができる。アプリケーション１０１６は、アプリケーションのさまざまな機能に対応するさまざまな方法を実行することができる。
【０１１２】
記憶サブシステム１００４は、情報、および処理サブシステム１００２の１つ以上の処理ユニット（例えば、プロセッサ）によって実行され得るコード（命令）を格納するための非一時的媒体を提供する。例えば、記憶サブシステム１００４は、本発明の特定の実施形態の機能を提供する基本プログラム（例えば、アプリケーション１０１６）およびデータ構成を格納するように構成されてもよい。また、記憶サブシステム１００４は、本発明に使用されるデータを格納するためのリポジトリを提供してもよい。例えば、アプリケーションに関連する構成データは、記憶サブシステム１００４によって記憶されてもよい。プログラムおよび／またはデータは、不揮発性記憶装置に記憶され、プログラム実行中に全体または一部が揮発性作業メモリにコピーされてもよい。記憶サブシステム１００４は、例えば、ディスク、フラッシュメモリ、または任意の組み合わせの任意の他の記憶媒体を使用して実装することができ、必要に応じて、揮発性記憶装置および／または不揮発性記憶装置を含むこともできる。
【０１１３】
特定の実施形態において、記憶サブシステム１００４は、メモリサブシステムおよびファイル／ディスク記憶サブシステムを備えることができる。メモリサブシステムは、多数のメモリ、例えば、プログラム実行中に命令およびデータを記憶するためのメインランダムアクセスメモリ（ＲＡＭ）、固定命令を記憶するための読み出し専用メモリ（ＲＯＭ）、フラッシュメモリなどを含むことができる。特定の実施形態において、さまざまなソフトウェア要素、例えば、オペレーティングシステム、デバイスドライバ、実行可能なライブラリ、および／または１つ以上のアプリケーションプログラム１０１６などの他のコードをシステムメモリに配置することができる。ファイル記憶サブシステムは、プログラムおよびデータファイルの永久（不揮発性）記憶を提供し、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、関連する取外し可能な媒体、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）ドライブ、光学ドライブ、取外し可能な媒体カートリッジ、ローカルストレージおよび／またはネットワークアクセス可能なストレージ、および他の類似する記憶媒体を含んでもよい。
【０１１４】
ユーザ入力装置１００６は、コンピュータシステム１０００に入力を提供するための１つ以上の異なる機構、例えば、マウス、キーボード、タッチパッド、タブレットおよびユーザ選択可能なボタンなどを含むことができる。ユーザ入力装置１００６は、タッチパッド、タッチ画面、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、マイクなどを含むことができる。
【０１１５】
ユーザ出力装置１００８は、コンピュータシステム１０００からの情報を出力するための１つ以上の異なる機構、例えば、表示システム、表示灯、スピーカ、ヘッドフォンジャック、および補助電子装置（デジタル／アナログまたはアナログ／デジタル変換器、信号プロセッサなど）を含むことができる。
【０１１６】
コンピュータシステム１０００は、コンピュータシステム１０００との間のデータ通信を可能にし且つ容易にするネットワークインターフェイスサブシステム１０１０を含むことができる。ネットワークインターフェイスサブシステム１０１０は、モデム、ネットワークカード（無線または有線）、赤外線通信装置、無線通信装置および／またはチップセット（Bluetooth（登録商標）装置、８０２．１１装置、ＷｉＦｉ（登録商標）装置、ＷｉＭａｘ装置、セルラ通信設備など）および／または類似物を含むが、これらに限定されない。ネットワークインターフェイスサブシステム１０１０は、ネットワーク、他のコンピュータシステム、および／または本開示に記載された任意の他の装置の間にデータを交換することを可能にすることができる。例えば、システム１０００を使用してアプリケーション共有システムを実装する場合、ネットワークインターフェイスサブシステム１０１０は、１つ以上のクライアント装置間の通信を容易にすることができる。いくつかの実施形態において、ネットワークインターフェイス１０１０は、有線ネットワーク接続（例えば、イーサネット（登録商標））を提供することができる。ネットワークインターフェイス１０１０は、ハードウェア要素（例えば、アンテナ、変調器／復調器、エンコーダ／デコーダ、および他のアナログおよび／またはデジタル信号処理回路）およびソフトウェア要素の組み合わせを使用して実装することができる。
【０１１７】
本開示に使用された「機械可読媒体」および「コンピュータ可読媒体」という用語は、コンピュータシステムを特定の方法で動作させるデータを提供することに関与する任意の非一時的な媒体を指す。コンピュータシステム１０００を使用して実施された実施形態において、さまざまなコンピュータ可読媒体は、実行のためにプロセッサ１００２に命令／コードを提供することに関与してもよく、および／または命令／コードを格納するために使用されてもよい。コンピュータ可読媒体は、不揮発性媒体および揮発性媒体のような多くの形態であってもよい。
【０１１８】
上述した方法、システムおよび装置は、例である。さまざまな実施形態は、必要に応じて、さまざまな手順または構成要素を省略、置換または追加することができる。例えば、代替的な構成において、上述した順序と異なる順序で方法を実行してもよく、および／またはさまざまな段階を追加、省略、および／または結合してもよい。特定の実施形態に説明された特徴は、さまざまな他の実施形態に組み合わせられてもよい。実施形態の異なる態様および要素は、同様の方法で組み合わせられてもよい。技術が進化しているため、多くの要素は、例示であり、本開示の範囲を特定の例に限定しない。
【０１１９】
具体的な詳細は、実施形態の完全な理解を提供するために、明細書に記載されている。しかしながら、これらの具体的な詳細がなくても、実施形態を実施することができる。例えば、周知の回路、プロセス、アルゴリズム、構造、および技術は、実施形態を不明瞭にしないように、不必要な詳細なしで示されている。説明は、例示的な実施形態のみを提供するものであり、本発明の範囲、適用性または構成を限定するものではない。むしろ、実施形態の前述の説明は、当業者に本発明の実施形態を実施できる説明を与えるものである。本発明の精神および範囲から逸脱することなく、機能および要素の配置にさまざまな変更を加えることができる。
【０１２０】
本発明の特定の実施形態を説明したが、さまざまな変更例、代替例、代替構成および同等物も本発明の範囲に包含される。本発明の実施形態は、特定のデータ処理環境に動作することに限定されず、複数のデータ処理環境に自由に動作することができる。さらに、一連の特定の処理およびステップを用いて、特定の実施形態を説明したが、本発明の範囲が説明した一連の処理およびステップに限定されないことは、当業者には明らかであろう。一部のフローチャートでは、動作を順次処理として説明しているが、多くの動作は、並行または同時に実行することができる。さらに、動作の順序を変更することができる。プロセスは、図面に含まれていない追加のステップを含んでもよい。
【０１２１】
さらに、ハードウェアおよびソフトウェアの特定の組み合わせを用いて特定の実施形態を説明したが、ハードウェアおよびソフトウェアの他の組み合わせも本発明の範囲に含まれることを認識すべきである。本発明の特定の実施形態は、ハードウェアのみ、またはソフトウェア（例えば、コードプログラム、ファームウェア、ミドルウェア、マイクロコードなど）のみ、またはそれらの組み合わせを用いて、実施することができる。本開示に記載のさまざまなプロセスは、同様のプロセッサまたは異なるプロセッサの組み合わせ上で実施することができる。したがって、要素またはモジュールが特定の動作を実行するように構成されると記載する場合、このような構成は、例えば、電子回路を設計して動作を実行することによって、またはプログラマブル電子回路（マイクロプロセッサなど）をプログラミングして、コンピュータ命令またはコードもしくはそれらの任意の組み合わせを実行するなどの動作を実行することによって、達成することができる。プロセスは、プロセス間通信を行うための従来の技術を含むがこれらに限定されないさまざまな技術を用いて、通信することができる。異なるペアのプロセスは、異なる技術を使用してもよく、同一ペアのプロセスは、異なる時間に異なる技術を使用してもよい。
【０１２２】
本開示に記載のソフトウェア要素または機能のいずれかは、例えば、従来の技術または対象物指向技術を使用するＪａｖａ（登録商標）、Ｃ＋＋またはＰｅｒｌなどの任意の適切なコンピュータ言語を用いて、プロセッサによって実行されるソフトウェアコードとして実装されてもよい。ソフトウェアコードは、記憶および／または送信のために、コンピュータ可読媒体上で一連の命令またはコマンドとして記憶されてもよい。適切な媒体は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、ハードドライブまたはフロッピー（登録商標）ディスクなどの磁気媒体、ＣＤ（ハードコンパクトディスク）、ＤＶＤ（デジタル多用途ディスク）またはフラッシュメモリなどの光学媒体を含むことができる。
【０１２３】
本発明の例示的な実施形態の上記の説明は、例示および説明のために提供されたものであり、網羅的なものとして意図されたものではなく、または本発明を記載の厳密な形態に限定しようと意図されたものではない。上述の教示に照らして、多くの修正および変形が可能である。実施形態は、本発明の原理およびその実際の適用を明白に説明するために選択され、記載される。これによって、当業者は、意図した特定の用途に応じて、さまざまな実施形態およびさまざまな変更形態で本発明を最も有効に利用することができる。したがって、明細書および図面は、限定的ではなく例示的なものとみなされるべきである。しかしながら、特許請求の範囲に記載されたより幅広い精神および範囲から逸脱することなく、追加、減縮、削除、および他の修正および変更がなされ得ることは、明らかであろう。
【図１】
2018506782.tif 000003
【図２】
2018506782.tif 000004
【図３】
2018506782.tif 000005
【図４】
2018506782.tif 000006
【図５】
2018506782.tif 000007
【図６】
2018506782.tif 000008
【図７】
2018506782.tif 000009
【図８】
2018506782.tif 000010
【図９】
2018506782.tif 000011
【図１０】
2018506782.tif 000012
【国際調査報告】
2018506782.tif 000013
2018506782.tif 000014