別様に示されない限り、図における例証は、必ずしも、縮尺通りに描かれない。
本発明は、本明細に記載される詳細な図および説明を参照することによって最も深く理解される。
本発明の実施形態は、図を参照して以下に議論される。しかしながら、当業者は、本発明がこれらの限定された実施形態を超えて及ぶため、これらの図に関して本明細書に与えられる詳細な説明が、説明を目的とすることを容易に理解するであろう。例えば、当業者は、本発明の教示に照らして、特定の用途の必要性に応じて、本明細書に説明される任意の所与の詳細の機能を実装するために、説明され、示される以下の実施形態における特定の実装選択肢を超えて、多数の代替的かつ好適なアプローチを認識するであろうことを理解されたい。つまり、多すぎて列挙されることができないが、本発明の範囲内に全て該当する、本発明の多数の修正および変形例が存在する。また、適切である場合、単数の単語は、複数形として読み取られるべきであり、逆もまた同様であり、男性形は、女性形として読み取られるべきであり、逆もまた同様であり、代替実施形態は、必ずしも、2つが相互に排他的であることを示唆するわけではない。
本発明は、これらが変動し得るため、本明細書に説明される特定の方法論、化合物、材料、製造技法、使用、および用途に限定されないことをさらに理解されたい。また、本明細書に使用される専門用語は、特定の実施形態を説明することのみを目的として使用され、本発明の範囲を限定することは意図されないことも理解されたい。本明細書で使用されるように、添付される請求項では、単数形「a」、「an」、および「the」は、文脈が明確に別様に示さない限り、複数指示物も含むことが留意されなければならない。したがって、例えば、「ある要素」の言及は、1つまたはそれを上回る要素の言及であり、当業者に公知のその均等物を含む。同様に、別の実施例では、「あるステップ」または「ある手段」の言及は、1つまたはそれを上回るステップもしくは手段の言及であり、サブステップおよび従属手段を含み得る。使用される全ての接続詞は、可能な限り最も包括的な意味で理解されるべきである。したがって、単語「or(または)」は、文脈が明確に別様に必要としない限り、論理「exclusive or(排他的または)」の定義ではなく、論理「or(または)」の定義を有するものとして理解されるべきである。本明細書に説明される構造は、そのような構造の機能的均等物もまた指すように理解されるべきである。近似を表すと解釈され得る言語は、文脈が明確に別様に示さない限り、そのように理解されるべきである。
別様に定義されない限り、本明細書に使用される全ての技術的および科学的用語は、本発明が属する分野の当業者によって一般的に理解されるものと同一の意味を有する。好ましい方法、技法、デバイス、および材料が、説明されるが、本明細書に説明されるものと類似する、または同等の任意の方法、技法、デバイス、もしくは材料が、本発明の実践または試験において使用されてもよい。本明細書に説明される構造は、そのような構造の機能的均等物もまた指すように理解されるべきである。本発明は、ここで、付随の図面に例証されるようなその実施形態を参照して詳細に説明される。
本開示を読み取ることによって、他の変形例および修正が、当業者に明白となるであろう。そのような変形例および修正は、当分野ですでに公知であり、本明細書にすでに説明された特徴の代わりに、またはそれに加えて使用され得る、同等および他の特徴を伴い得る。
特許請求の範囲が、本願において特定の特徴の組み合わせに系統立てられているが、本発明の開示の範囲はまた、任意の特許請求の範囲においてここで請求されるものと同一の発明に関連するかどうか、および本発明と同一の技術的問題のいずれかまたは全てを軽減するかどうかにかかわらず、明示的もしくは暗示的に、またはそのいずれかの一般化によって、本明細に開示される任意の新規の特徴または任意の新規の特徴の組み合わせを含むことを理解されたい。
別個の実施形態の文脈において説明されるある特徴はまた、単一の実施形態における組み合わせにおいても提供され得る。逆に、簡潔にするために、単一の実施形態の文脈において説明される種々の特徴もまた、別個に、または任意の好適な副組み合わせにおいて提供され得る。本明細書の出願者は、本願またはそれに由来する任意のさらなる出願の手続中に、新しい特許請求の範囲がそのような特徴および/またはそのような特徴の組み合わせに系統立てられ得ることを告示する。
「一実施形態」、「ある実施形態」、「例示的実施形態」、「種々の実施形態」等の言及は、そのように説明される本発明の実施形態が、特定の特徴、構造、または特性を含み得るが、全ての実施形態が、必ずしも、その特定の特徴、構造、または特性を含むわけではないことを示し得る。さらに、語句「一実施形態では」または「ある例示的実施形態では」の繰り返しの使用は、必ずしも、同一の実施形態を指すわけではないが、そうであることもあり得る。
本明細書に提供される見出しは、便宜上のものであり、決して本開示を限定するものとして解釈されるべきではない。
項目の列挙された一覧は、明示的に別様に規定されない限り、項目のいずれかまたは全てが相互に排他的であることを示唆しない。
用語「a」、「an」、および「the」は、明示的に別様に規定されない限り、「1つまたはそれを上回る」を意味する。
一般的に少なくとも相互に通信するデバイスまたはシステムモジュールは、明示的に別様に規定されない限り、相互に連続的に通信する必要はない。加えて、一般的に少なくとも相互に通信するデバイスまたはシステムモジュールは、直接、または1つまたはそれを上回る中間物を通して間接的に通信し得る。
相互に通信するいくつかの構成要素を伴う実施形態の説明は、全てのそのような構成要素が要求されることを示唆しない。それどころか、種々の随意の構成要素が、本発明の多種多様な可能な実施形態を例証するために説明される。
当業者に周知であるように、多くの注意深い考慮事項および妥協が、典型的には、商業的実装の最適な製造のために任意のシステム、特に、本発明の実施形態を設計するときに成されなければならない。本発明の精神および教示による商業的実装は、特定の用途の必要性に従って構成され得、それによって、本発明の任意の説明される実施形態に関連する教示の任意の側面、特徴、機能、結果、構成要素、アプローチ、またはステップが、当業者によって、その平均的技能および公知の技法を使用して、好適に省略され、含まれ、適合され、混合され、および整合される、または改良および/もしくは最適化され、特定の用途の必要性に対処する、所望される実装を達成し得る。
「コンピュータ」は、構造化された入力を受け取り、規定されたルールに従って構造化された入力を処理し、処理の結果を出力として生産することが可能な1つもしくはそれを上回る装置および/または1つもしくはそれを上回るシステムを指し得る。コンピュータの実施例は、コンピュータ、固定および/またはポータブルコンピュータ、並列および/または非並列に動作し得る、単一のプロセッサ、複数のプロセッサ、またはマルチコアプロセッサを有するコンピュータ、汎用コンピュータ、スーパーコンピュータ、メインフレーム、スーパーミニコンピュータ、ミニコンピュータ、ワークステーション、マイクロコンピュータ、サーバ、クライアント、双方向テレビ、ウェブアプライアンス、インターネットアクセスを伴う遠隔通信デバイス、コンピュータおよび双方向テレビのハイブリッド組み合わせ、ポータブルコンピュータ、タブレットパーソナルコンピュータ(PC)、携帯情報端末(PDA)、ポータブル電話、例えば、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け命令セットプロセッサ(ASIP)、チップ、複数のチップ、システムオンチップ、またはチップセット等のコンピュータおよび/またはソフトウェアをエミュレートするための特定用途向けハードウェア、データ取得デバイス、光学コンピュータ、量子コンピュータ、バイオコンピュータ、ならびに、概して、データを受け取り、1つまたはそれを上回る記憶されたソフトウェアプログラムに従ってデータを処理し、結果を生成し、典型的には、入力、出力、記憶、演算、論理、および制御ユニットを含み得る装置を含み得る。
当業者は、適切である場合、本開示のいくつかの実施形態が、パーソナルコンピュータ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブル消費者用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、および同等物を含む、多くのタイプのコンピュータシステム構成を伴うネットワークコンピューティング環境において実践され得ることを理解するであろう。適切である場合、実施形態はまた、通信ネットワークを通して(有線リンク、無線リンク、またはそれらの組み合わせのいずれかによって)リンク付けられる、ローカルおよび遠隔処理デバイスによってタスクが実施される、分散コンピューティング環境においても実践され得る。分散コンピューティング環境では、プログラムモジュールが、ローカルおよび遠隔の両方のメモリ記憶デバイス内に位置し得る。
「ソフトウェア」は、コンピュータを動作させるための規定されたルールを指し得る。ソフトウェアの実施例は、1つまたはそれを上回るコンピュータ可読言語におけるコードセグメント、グラフィックおよび/またはテキスト命令、アプレット、事前コンパイルされたコード、解釈されたコード、コンパイルされたコード、ならびにコンピュータプログラムを含み得る。
本明細書に説明される例示的実施形態は、コンピュータ上にインストールされるコンピュータ実行可能命令(例えば、ソフトウェア)を含む動作環境において、ハードウェアにおいて、またはソフトウェアおよびハードウェアの組み合わせにおいて実装されることができる。コンピュータ実行可能命令は、コンピュータプログラミング言語で書き込まれることができる、またはファームウェア論理で具現化されることができる。認識される規格に準拠したプログラミング言語で書き込まれる場合、そのような命令は、種々のハードウェアプラットフォーム上で、種々のオペレーティングシステムへのインターフェースに対して実行されることができる。それに限定されないが、本発明の側面に関する動作を実行するためのコンピュータソフトウェアプログラムコードは、例えば、ハイパーテキストマークアップ言語(HTML)、ダイナミックHTML、拡張マークアップ言語(XML)、拡張スタイルシート言語(XSL)、文書スタイル意味指定言語(DSSSL)、カスケードスタイルシート(CSS)、同期マルチメディア統合言語(SMIL)、ワイヤレスマークアップ言語(WML)、Java(登録商標).TM、Jini.TM.、C、C++、Smalltalk、Perl、UNIX(登録商標) Shell、Visual BasicもしくはVisual Basic Script、仮想現実マークアップ言語(VRML)、ColdFusion.TM、または他のコンパイラ、アセンブラ、インタープリタ、または他のコンピュータ言語もしくはプラットフォーム等、オブジェクト指向プログラミング言語および/または従来の手続き型プログラミング言語ならびに/もしくはプログラミング言語を含む、1つまたはそれを上回る好適なプログラミング言語の任意の組み合わせで書き込まれることができる。
本発明の側面に関する動作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++、または同等物等のオブジェクト指向プログラミング言語と、「C」プログラミング言語または類似するプログラミング言語等の従来の手続き型プログラミング言語とを含む、1つまたはそれを上回るプログラミング言語の任意の組み合わせで書き込まれ得る。プログラムコードは、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、ユーザのコンピュータ上で部分的にかつ遠隔コンピュータ上で部分的にスタンドアローンのソフトウェアパッケージとして、または遠隔コンピュータもしくはサーバ上で全体的に実行し得る。後者のシナリオでは、遠隔コンピュータは、ユーザのコンピュータに、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を含む、任意のタイプのネットワークを通して接続され得る、または接続は、外部コンピュータに(例えば、インターネットサービスプロバイダを使用するインターネットを通して)成され得る。
ネットワークは、情報がネットワークの1つの部分から別の部分に複数のリンクを経由して、種々のノードを通して伝達され得るように配列される、リンクおよびノードの集合(例えば、ともに接続される複数のコンピュータおよび/または他のデバイス)である。ネットワークの実施例は、インターネット、公衆交換電話網、グローバルテレックスネットワーク、コンピュータネットワーク(例えば、イントラネット、エクストラネット、ローカルエリアネットワーク、または広域ネットワーク)、有線ネットワーク、および無線ネットワークを含む。
インターネットは、コンピュータユーザ間の情報の容易かつロバストな交換を可能にするように配列される、コンピュータおよびコンピュータネットワークの世界的ネットワークである。世界中の数億の人々が、インターネットサービスプロバイダ(ISP)を介してインターネットに接続されるコンピュータへのアクセスを有する。コンテンツプロバイダ(例えば、ウェブサイト所有者またはオペレータ)が、ウェブページと称されるインターネット上の具体的場所にマルチメディア情報(例えば、テキスト、グラフィックス、オーディオ、ビデオ、アニメーション、および他の形態のデータ)を置いている。ウェブサイトは、接続される、または別様に関連するウェブページの集合を含む。インターネット上の全てのウェブサイトおよびその対応するウェブページの組み合わせは、概して、ワールドワイドウェブ(WWW)または単純にウェブとして公知である。
本発明の側面が、本発明の実施形態による、方法、装置(システム)、およびコンピュータプログラム製品のフローチャート例証および/またはブロック図を参照して以下に説明される。フローチャート例証および/またはブロック図の各ブロック、ならびにフローチャート例証および/またはブロック図内のブロックの組み合わせは、コンピュータプログラム命令によって実装され得ることを理解されたい。これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、フローチャートおよび/またはブロック図のブロックもしくは複数のブロックに規定される機能/作用を実装するための手段を作成するように、機械を生産するための汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供され得る。
図におけるフローチャートおよびブロック図は、種々の実施形態による、システム、方法、ならびにコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、および動作を例証する。この点で、フローチャートまたはブロック図における各ブロックは、モジュール、セグメント、またはコードの一部を表し得、これは、規定される論理機能を実装するための1つまたはそれを上回る実行可能命令を備える。また、いくつかの代替実装では、ブロック内に留意される機能は、図において留意される順序に従わずに起こり得ることにも留意されたい。例えば、連続して示される2つのブロックは、実際には、実質的に並列して実行され得る、またはブロックは、時として、関与する機能に応じて、逆の順序で実行され得る。また、ブロック図および/またはフローチャート例証の各ブロック、ならびにブロック図および/またはフローチャート例証におけるブロックの組み合わせは、規定される機能または作用を実施する専用ハードウェアベースのシステム、または専用ハードウェアおよびコンピュータ命令の組み合わせによって実装され得ることにも留意されたい。
これらのコンピュータプログラム命令はまた、フローチャートおよび/またはブロック図のブロックもしくは複数のブロック内に規定される機能/作用を実装する命令を含む、コンピュータ可読媒体内に記憶される命令が製造品を生産するように、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに、特定の様式で機能するように命令し得る、コンピュータ可読媒体内に記憶され得る。
さらに、プロセスステップ、方法ステップ、アルゴリズム、または同等物が、連続的順序において説明され得るが、そのようなプロセス、方法、およびアルゴリズムは、代替順序において機能するように構成され得る。言い換えると、説明され得るステップの任意のシーケンスまたは順序は、必ずしも、ステップがその順序において実施される要件を示すわけではない。本明細書に説明されるプロセスのステップは、任意の実践的順序において実施され得る。さらに、いくつかのステップは、同時に実施され得る。
本明細書に説明される種々の方法およびアルゴリズムは、例えば、適切にプログラムされた汎用コンピュータおよびコンピューティングデバイスによって実装され得ることが容易に明白となるであろう。典型的には、プロセッサ(例えば、マイクロプロセッサ)は、メモリまたは同様のデバイスから命令を受信し、それらの命令を実行し、それによって、それらの命令によって定義されるプロセスを実施するであろう。さらに、そのような方法およびアルゴリズムを実装するプログラムは、種々の公知の媒体を使用して記憶および伝送され得る。
単一のデバイスまたは物品が本明細書に説明されるとき、1つを上回るデバイス/物品(それらが協働するかどうかにかかわらず)が、単一のデバイス/物品の代わりに使用され得ることが容易に明白となるであろう。同様に、1つを上回るデバイスまたは物品が本明細書に説明されるとき(それらが協働するかどうかにかかわらず)、単一のデバイス/物品が、1つを上回るデバイスまたは物品の代わりに使用され得ることが容易に明白となるであろう。
デバイスの機能および/または特徴は、代替として、そのような機能/特徴を有するものとして明示的に説明されない1つまたはそれを上回る他のデバイスによって具現化され得る。したがって、本発明の他の実施形態は、デバイス自体を含む必要がない。
本明細書で使用されるような用語「コンピュータ可読媒体」は、コンピュータ、プロセッサ、または同様のデバイスによって読み取られ得るデータ(例えば、命令)を提供する際に関与する、任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形態をとり得る。不揮発性媒体は、例えば、光学または磁気ディスクおよび他の永続メモリを含む。揮発性媒体は、典型的には、メインメモリを構成する、ダイナミックランダムアクセスメモリ(DRAM)を含む。伝送媒体は、プロセッサに結合されるシステムバスを備えるワイヤを含む、同軸ケーブル、銅ワイヤ、および光ファイバを含む。伝送媒体は、無線周波数(RF)ならびに赤外(IR)データ通信中に生成されるもの等の音波、光波、および電磁放射を含む、またはそれらを伝達し得る。コンピュータ可読媒体の一般的形態は、例えば、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD−ROM、DVD、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、EPROM、FLASH−EEPROM、任意の他のメモリチップもしくはカートリッジ、以降で説明されるような搬送波、またはコンピュータが読み取り得る任意の他の媒体を含む。
コンピュータ可読媒体の種々の形態は、命令のシーケンスをプロセッサに伝搬する際に関与し得る。例えば、命令のシーケンスは、(i)RAMからプロセッサに送達され得る、(ii)無線伝送媒体を経由して伝搬され得る、および/または(iii)Bluetooth(登録商標)、TDMA、CDMA、3G等の多数のフォーマット、規格、もしくはプロトコルに従ってフォーマットされ得る。
データベースが説明される場合、(i)説明されるものに対する代替データベース構造が容易に採用され得、(ii)データベース以外の他のメモリ構造が容易に採用され得ることが、当業者によって理解されるであろう。本明細書に提示される任意のサンプルデータベースの任意の概略例証および付随の説明は、記憶された情報の表現のための例示的配列である。示される表によって示唆されるもの以外に、任意の数の他の配列が、採用されてもよい。同様に、データベースの任意の例証されるエントリは、例示的情報のみを表し、当業者は、エントリの数および内容が、本明細書に例証されるものと異なり得ることを理解するであろう。さらに、表としてのデータベースの任意の描写にもかかわらず、オブジェクトベースのモデルが、本発明のデータタイプを記憶および操作するために使用され得、同様に、オブジェクト方法または挙動が、本発明のプロセスを実装するために使用されることができる。
「コンピュータシステム」は、1つまたはそれを上回るコンピュータを有するシステムを指し得、各コンピュータは、コンピュータまたはその構成要素のうちの1つまたはそれを上回るものを動作させるようにソフトウェアを具現化するコンピュータ可読媒体を含み得る。コンピュータシステムの実施例は、ネットワークによってリンク付けられるコンピュータシステムを介して情報を処理するための分散コンピュータシステム、コンピュータシステム間で情報を伝送および/または受信するためのネットワークを介してともに接続される2つまたはそれを上回るコンピュータシステム、単一のコンピュータ内に2つまたはそれを上回るプロセッサを含むコンピュータシステム、ならびにデータを受け取り得、1つまたはそれを上回る記憶されたソフトウェアプログラムに従ってデータを処理し得、結果を生成し得、典型的には、入力、出力、記憶、演算、論理、および制御ユニットを含み得る、1つもしくはそれを上回る装置および/または1つもしくはそれを上回るシステムを含み得る。
「ネットワーク」は、通信設備によって接続され得る、いくつかのコンピュータおよび関連付けられるデバイスを指し得る。ネットワークは、ケーブル等の永久的接続または電話もしくは他の通信リンクを通して成されるもの等の一時的接続を伴い得る。ネットワークはさらに、有線接続(例えば、同軸ケーブル、ツイストペア、光ファイバ、導波管等)および/または無線接続(例えば、無線周波数波形、自由空間光波形、音響波形等)を含み得る。ネットワークの実施例は、Internet等のインターネット、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、ならびにインターネットおよびイントラネット等のネットワークの組み合わせを含み得る。
本明細書で使用されるように、「クライアント側」アプリケーションは、アプリケーション、そのアプリケーションと関連付けられるページ、またはアプリケーションへのクライアント側要求によって呼び出されるある他のリソースもしくは機能を指すように広く解釈されるべきである。本明細書で使用されるような「ブラウザ」は、任意の具体的ブラウザ(例えば、Internet Explorer、Safari、FireFox、または同等物)を指すことは意図されず、インターネットアクセス可能リソースにアクセスし、それを表示し得る任意のクライアント側レンダリングエンジンを指すように広く解釈されるべきである。「リッチ」クライアントは、典型的には、SSHまたはCFISクライアント等の非HTTPベースのクライアント側アプリケーションを指す。さらに、典型的には、クライアント−サーバ相互作用は、HTTPを使用して起こるが、これは、いずれかに限定されない。クライアントサーバ相互作用は、簡易オブジェクトアクセスプロトコル(SOAP)に準拠するようにフォーマットされ得、HTTP(公衆インターネットを経由する)、FTP、または任意の他の信頼性のある転送機構(企業イントラネットを経由する転送のためのIBM.RTM.MQSeries.RTM.技術、およびCORBA等)を経由する伝達が、使用され得る。本明細書に説明される任意のアプリケーションまたは機能は、フックを別のアプリケーションに提供することによって、プラグインとしての機構の使用を促進することによって、機構にリンク付けすることによって、および同等物によって、ネイティブコードとして実装され得る。
例示的ネットワークは、インターネットプロトコル(IP)、非同期転送モード(ATM)、および/または同期光ネットワーク(SONET)、ユーザデータグラムプロトコル(UDP)、IEEE 802.x等のいくつかのプロトコルのいずれかを用いて動作し得る。
本発明の実施形態は、本明細書に開示される動作を実施するための装置を含み得る。装置は、所望される目的のために特別に構築され得る、またはこれは、デバイス内に記憶されたプログラムによって選択的に起動または再構成される汎用デバイスから成り得る。
本発明の実施形態はまた、ハードウェア、ファームウェア、およびソフトウェアのうちの1つまたはそれらの組み合わせにおいて実装され得る。それらは、本明細書に説明される動作を実施するようにコンピューティングプラットフォームによって読み取られ、実行され得る、機械可読媒体上に記憶される命令として実装され得る。
より具体的には、当業者によって理解されるであろうように、本発明の側面は、システム、方法、またはコンピュータプログラム製品として具現化され得る。故に、本発明の側面は、全体的にハードウェアである実施形態、全体的にソフトウェアである実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、または本明細書において、全て、概して、「回路」、「モジュール」、もしくは「システム」と称され得るソフトウェアおよびハードウェアの側面を組み合わせる実施形態の形態をとり得る。さらに、本発明の側面は、その上に具現化されるコンピュータ可読プログラムコードを有する、1つまたはそれを上回るコンピュータ可読媒体において具現化されるコンピュータプログラム製品の形態をとり得る。
以下の説明および請求項では、用語「コンピュータプログラム媒体」および「コンピュータ可読媒体」は、概して、限定ではないが、可撤性記憶ドライブ、ハードディスクドライブ内にインストールされるハードディスク、および同等物等の媒体を指すように使用され得る。これらのコンピュータプログラム製品は、ソフトウェアをコンピュータシステムに提供し得る。本発明の実施形態は、そのようなコンピュータプログラム製品を対象とし得る。
アルゴリズムは、ここでは、概して、所望される結果をもたらす行為または動作の自己無撞着シーケンスであると見なされる。これらは、物理量の物理的操作を含む。通常、必ずというわけではないが、これらの量は、記憶され、伝達され、組み合わせられ、比較され、および別様に操作されることが可能な電気または磁気信号の形態をとる。主として、一般的使用の理由から、これらの信号をビット、値、要素、記号、文字、用語、数字、または同等物と称することが、時として便宜的であることが証明されている。しかしながら、これらおよび類似する用語の全ては、適切な物理量と関連付けられるべきであり、単に、これらの量に適用される便宜的標識であることを理解されたい。
具体的に別様に記載されない限り、以下の説明および請求項から明白であり得るように、本明細書全体を通して、「処理する」、「算出する」、「計算する」、「判定する」、または同等物等の用語を利用する説明は、コンピューティングシステムのレジスタおよび/またはメモリ内で電子的量等の物理量として表されるデータを、コンピューティングシステムのメモリ、レジスタ、または他のそのような情報記憶、伝送、もしくは表示デバイス内で物理量として同様に表される他のデータに操作および/または変換する、コンピュータもしくはコンピューティングシステム、または類似する電子コンピューティングデバイスのアクションおよび/またはプロセスを指すことを理解されたい。
同様に、用語「プロセッサ」は、レジスタおよび/またはメモリからの電子データを処理し、その電子データをレジスタおよび/またはメモリ内に記憶され得る他の電子データに変換する、任意のデバイスまたはデバイスの一部を指し得る。「コンピューティングプラットフォーム」は、1つまたはそれを上回るプロセッサを備え得る。
本発明の範囲内の実施形態はまた、その上に記憶されるコンピュータ実行可能命令またはデータ構造を伝搬または有するための有形および/または非一過性コンピュータ可読記憶媒体を含み得る。そのような非一過性コンピュータ可読記憶媒体は、上記に議論されるような任意の専用プロセッサの機能的設計を含む、汎用または専用コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。実施例として、限定ではないが、そのような非一過性コンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROM、もしくは他の光学ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、またはコンピュータ実行可能命令、データ構造、もしくはプロセッサチップ設計の形態において所望されるプログラムコード手段を伝搬または記憶するように使用され得る任意の他の媒体を含むことができる。情報が、ネットワークまたは別の通信接続(有線、無線、またはそれらの組み合わせのいずれか)を経由してコンピュータに伝達または提供されると、コンピュータは、接続をコンピュータ可読媒体と適切に見なす。したがって、任意のそのような接続が、適切にコンピュータ可読媒体と称される。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
非一過性コンピュータ可読媒体は、限定ではないが、ハードドライブ、コンパクトディスク、フラッシュメモリ、揮発性メモリ、ランダムアクセスメモリ、磁気メモリ、光学メモリ、半導体ベースのメモリ、相変化メモリ、光学メモリ、周期的にリフレッシュされるメモリ、および同等物を含むが、しかしながら、非一過性コンピュータ可読媒体は、それ自体が純粋な一過性信号を含まない、すなわち、媒体自体は、一過性である。
図1は、本発明の実施形態による、サードパーティゲームに統合され得るソフトウェア開発キット(SDK)およびアプリケーションインターフェース(API)を例証する。本実施形態では、SDK104は、トランザクションサーバ110を通してアクセスされる。いくつかの実施形態では、SDK104はまた、クラウドネットワーク、記憶デバイス(限定ではないが、cd、ディスク、もしくはフラッシュドライブ等)、またはSDK104をホストすることが可能な任意の種類のコンピュータ/CPU、プロセッサ、もしくはサーバを介してアクセスされてもよい。SDK104は、サードパーティゲーミングプラットフォームを、モバイル、PC、またはコンソールプログラミング、コンピュータコード、もしくはスクリプト106と統合し得る。非限定的実施例では、統合されたSDK104は、中断のないゲームプレイを可能にする。本実施形態では、サードパーティプログラミング、コンピュータコード、またはスクリプト106は、プレーヤ102、コンテスト試行108、SDK104、およびゲーミングサーバ112によってアクセスされ得る。代替実施形態では、トランザクションサーバ110は、直接、サードパーティプログラミング106にアクセスする、もしくはそれをホストする、またはゲーミングサーバ112と接続し、必要とされるデータを読み出してもよい。非限定的実施例では、プレーヤ102は、サードパーティゲーミングインターフェース106を通して相互作用するが、裏側でSDK104に接続される。本実施形態では、SDK104は、サードパーティプログラミング、コンピュータコード、またはスクリプト106と通信し、プレーヤ102によって成される任意のコンテスト試行108に伴う結果およびデータをトランザクションサーバ110に報告し得る、リスナと呼ばれる一連のツールを有し得る。別の実施形態では、サードパーティゲーミングサーバ112は、コンテスト試行108が成されると、SDK104またはトランザクションサーバ110に結果を報告してもよい。多くの実施形態では、トランザクションサーバ110は、任意のコンテスト試行108から結果を取得し、そのデータを使用し、限定ではないが、関連する、または関連付けられるコンテストにおけるコンテスト試行108の結果をランク付けする、ならびに結果をプレーヤ102のプロフィールおよびゲーム履歴に適用する等の機能を実施し得る。本実施形態では、SDK104およびサードパーティゲーミングフレームワーク106は、バックエンドにおいて通信し、ゲーム品質およびユーザ体験が流動的なままであることを確実にする。本実施形態では、SDK104は、あるアクションを実施するようにSDK104/サーバ110に通知するユーザ相互作用データ、メトリック、ならびにトリップアクションを監視および報告するために、ソフトウェア全体を通して埋設される「リスナ」を有し得る。リスナは、概して、サードパーティゲーミングフレームワーク106内のプレーヤ102の相互作用を捕捉する、コールバックを伴うネスト化インターフェースの集合として公知であり得る。
図2は、本発明の実施形態による、システムアーキテクチャを例証する。本実施形態では、サーバ110は、ソフトウェアが起動するインフラストラクチャを提供する。非限定的実施例では、サーバ110は、専用インフラストラクチャであり得る。別の非限定的実施例では、サーバ110は、クラウドベースのサービスのプロバイダからリースされるクラウドベースまたは共有インフラストラクチャであってもよい。ウェブアプリケーション205は、サーバ上で起動し、本革新のアプリケーションおよびビジネス論理を含有するソフトウェアを提供する。ウェブアプリケーション205は、コンテスト試行108から受信されるデータを取得し得、これを相関するコンテストに適用し得る。ウェブアプリケーション205は、プラットフォームを起動するエンジンであり、限定ではないが、コンテストの開催、追跡、およびスコア化、勝者の判定、ならびに、限定ではないが、プレーヤ102のアカウント、デポジット、コンテンスト試行108の履歴、およびその他の管理等を動作させるために必要とされる全ての他の論理等、多くの異なる機能を実施する。SDK104は、サードパーティ開発者210に提供され、そのアプリに統合され得、いったんSDK104が統合されると、管理者215は、ウェブダッシュボード220を介して、ソフトウェアの完全な制御を与えられ得る。サードパーティ開発者210は、ソフトウェアの機能を増強するツール225へのアクセスを有し得る。ツール225は、限定ではないが、統合命令、デバッグツール、プラグイン、サンプル統合、および統合プロセスを簡略化する、またはSDK104の性能を補完することに役立つ他の有用なリソースを含み得る。非限定的実施例では、サードパーティ開発者210は、場所を検証するためにIPアドレスを使用し、主として、限定ではないが、プレーヤ102が本ソフトウェアの使用を可能にする管轄内でプレイすることを確実にし得る。データベース230は、ソフトウェアのあらゆる永続的状態のための記憶装置を提供する。最後に、プレーヤ102は、「ユーザ」として、サードパーティ開発者210がSDK104を統合したアプリおよびゲームにおいて、SDK104を利用することが可能であり得る。非限定的実施例では、プレーヤは、SDKが統合されていない場合であっても、依然として、サードパーティゲームをプレイし得る。本実施例では、プレーヤは、SDKによって提供されるプログレッシブジャックポットコンテストにおいて対戦することが可能ではない場合がある。別の非限定的実施例では、SDKが統合される場合、プレーヤは、コンテストにおいてプレイすることなく、依然として、ゲームをプレイし得る。本実施例では、そのゲーム試行および結果は、単純に、コンテストに報告されない、または組み込まれず、存在する場合、そのゲームの独自の内部リーダボードに向かうだけである。
図3は、本発明の実施形態による、SDKを統合するための例示的方法300のフローチャートである。本実施形態では、サードパーティ開発者210は、ステップ305においてプロフィールを作成することによってサインアップし、ウェブダッシュボードを使用して、ステップ310においてアプリ名を生成し、ステップ315において新しいアプリを作成し、ゲーム/アプリ106に対して一意のAPIキーを受信する。代替実施形態では、サードパーティ開発者210は、SDKとともにそのゲームのそれぞれに埋設し、ゲーム内のSDKと対話しながら認証のために使用し得る、一意のAPIキーを割り当てられてもよい。APIキーがステップ320において表示された後、サードパーティ開発者210は、ステップ325において、限定ではないが、Gradle、Ant、またはMavenビルドシステムを介して、APIキーをSDK104と統合するように選択し得る。Gradleビルドシステムに関して、サードパーティ開発者210は、ステップ330においてGradleリポジトリリンク(build.gradle)を使用し、設定およびビルドに依存関係を追加し得、Mavenビルドシステムに関して、サードパーティ開発者210は、ステップ335においてpom.xml設定にMavenリポジトリおよび依存関係を追加し得、Antビルドシステムに関して、サードパーティ開発者210は、ステップ440においてウェブダッシュボード220のサーバ110から Assets、Res、およびJarファイルをダウンロードし、ファイルをコードまたはゲーム108に統合し得る。他の実施形態では、APIキーは、限定ではないが、他の代替プログラミング言語等の他の手段によって、SDK104と統合されてもよい。
図4は、本発明の実施形態による、試行料金を支払うためにデポジットされた資金を使用するプレーヤアーキテクチャを例証する。本実施形態では、プレーヤ102は、試行料金410を支払うために十分な資金を有し、コンテスト時間415が終了していない限り、コンテスト405中の任意の時点でコンテスト試行108を成し得る。無制限の人数のプレーヤ402が、終了していないコンテスト時間415中に無制限のコンテスト試行425を成し得る。
図5は、本発明の実施形態による、料金分割アーキテクチャを例証する。本実施形態では、プレーヤ102によるコンテスト試行108毎に、試行料金410は、試行108の結果がサーバ110に報告されるまで、エスクロー505に保持され得る。試行108の結果がサーバ110に報告されると、資金は、ウェブダッシュボード220において設定されたパラメータに従って、エスクローから適切なアカウントに対して解除され得る。試行料金410は、プログレッシブジャックポット515に向かう固定パーセンテージ510と、ゲーム405の管理者215とサードパーティ開発者210との間で分割されるべき管理者アカウント520に向かう固定パーセンテージ510との間で分割される。非限定的実施例では、料金分割パーセンテージは、ウェブダッシュボード220において、管理者215またはサードパーティ開発者210のいずれかによって定義される。本実施形態では、管理者215は、限定ではないが、管理者215もしくはサードパーティ開発者210のいずれかが受け取り得る各試行料金410の最小および最大パーセンテージを実装する、またはコンテスト405のプログレッシブジャックポット515に向かう各試行料金410の最小および最大パーセンテージを実装し得る。管理者215は、限定ではないが、コンテスト405、コンテスト405のパラメータ、およびサードパーティ開発者210に与えられるアクセスのレベルを含む、ウェブダッシュボード220における側面へのアクセスおよびそれに対する優先制御を有し得る。試行料金410は、コンテスト試行108の結果が報告されるとき、コンテスト405が利用可能ではない場合、払い戻しされ得る。管理者215はまた、管理者215がそれを適切であると見なす場合、払い戻しを手動で管理してもよい。
図6は、本発明の実施形態による、スコアを報告するための例示的方法600のフローチャートである。本実施形態では、コンテスト試行108が完了すると、SDK104は、ステップ605において結果を報告する。SDKは、次いで、ステップ610において、コンテスト405が依然として利用可能であるかどうかを判定する。SDK104が、コンテスト405が利用可能ではないと判定する場合、SDK104は、ステップ620において、新しいコンテスト108が利用可能であるかどうかを判定する。SDK104が、新しいコンテスト108が利用可能ではないと判定する場合、SDK104は、ステップ630において、試行料金をプレーヤ102のアカウントに払い戻す。SDK104が、ステップ610において、コンテスト405が依然として利用可能であると判定する場合、SDK104は、ステップ640においてプレーヤ102の成績をランク付けし、ステップ645において試行料金410を解除し、ステップ650においてプレーヤ102のスコアを表示し、ステップ655において「もう一度プレイしますか?」のプロンプトを表示する。しかしながら、SDK104が、コンテスト405が利用可能ではなく、ステップ620において新しいコンテストが利用可能であると判定する場合、SDKは、ステップ635において新しいコンテストに成される試行108から関連メトリックを報告および適用し、ステップ640においてプレーヤ102の成績をランク付けし、ステップ645において試行料金410を解除し、ステップ650においてプレーヤ102のスコアを表示し、ステップ655において「もう一度プレイしますか?」のプロンプトを表示する。
図7は、本発明の実施形態による、コンテストロビーを例証する。本実施形態では、プレーヤ102は、ウェブダッシュボード220またはアプリ/ウェブサイトを通してコンテストロビー700にアクセスし得る。いくつかの実施形態では、アプリ/ウェブサイトは、ユーザに、現在のコンテストのリストとともにSDK104を統合したアプリ/ゲームのリストを提供してもよい。コンテストロビー700は、SDK104を統合した現在のゲーム705のリストを表示する。非限定的実施例では、ゲーム705は、Angry Birds、Tank Battles、Words with Friends、およびX racingを含み得る。本実施形態では、ロビー700はまた、限定ではないが、ゲーム705毎に、「残り時間」としてのコンテスト時間415、コンテストタイプ710、試行料金410、「現在のジャックポット」としてのプログレッシブジャックポット515、現在のリーダおよびスコア720、ならびにプレーヤ102の現在のスコア640を表示する。非限定的実施例では、残りコンテスト時間415は、日、時間、および/または分で表示され得る。別の非限定的実施例では、コンテストタイプ710は、限定ではないが、最高スコア、最大撃墜数、最速時間、最長持続時間、最高レベル等を含み得る。別の非限定的実施例では、ジャックポット515は、米国通貨で表示される。他の実施形態では、ジャックポットは、別の通貨または仮想通貨で表示されてもよい。本実施形態では、プレーヤ102は、「プレイ」ボタン730を介して任意のコンテスト405に参加し得る。他の実施形態では、プレーヤ102のプレーヤはまた、限定ではないが、ソーシャルメディア上で共有されるリンク、アプリ内通知プロンプト(リンクが提供される)、プッシュ通知(リンクが提供される)、電子メール(リンクが提供される)、テキストメッセージ(リンクが提供される)、QRコード(登録商標)(リンクが提供される)、またはコンテストに参加するためのリンクを提供する他の電子的方法を介して参加してもよい。
図8は、本発明の実施形態による、コンテストロビーの詳細画面を例証する。本実施形態では、プレーヤ102は、ウェブダッシュボード220またはアプリ/ウェブサイトを介して、現在のゲーム705に対応する詳細ボタン805を選択することによって、コンテストロビー700の詳細画面800にアクセスし得る。いくつかの実施形態では、詳細は、プレーヤがコンテストの現在までのステータスを測定する方法をプレーヤに示すように試行が成された後に提供されてもよい。いくつかの実施形態では、詳細は、アプリ内通知プロンプト、プッシュ通知、電子メール、テキストメッセージ、QRコード(登録商標)、またはコンテストに参加するためのリンクを提供する他の電子的方法において提供されてもよい。詳細画面800は、限定ではないが、「現在のジャックポット」としてのプログレッシブジャックポット515、コンテストタイプ710、現在のリーダおよびスコア720、プレーヤ102の現在のスコア650、試行あたり料金410、ならびに「残り時間」としてのコンテスト時間415を表示し得る。いくつかの実施形態では、管理者215は、ウェブダッシュボード220を介して、限定ではないが、詳細画面800を含む、画面上に表示されるものを制御および編集してもよい。非限定的実施例では、ゲーム705は、Angry Birds、Tank Battles、Words with Friends、およびX racingを含み得る。非限定的実施例では、残りコンテスト時間415は、日、時間、および/または分で表示され得る。別の非限定的実施例では、コンテストタイプ710は、最高スコア、最大撃墜数、または最速時間を含み得る。別の非限定的実施例では、現在のジャックポット515は、米国通貨で表示されるが、管理者215が選定する場合、他の通貨で表示されてもよい。本実施形態では、プレーヤ102は、「プレイ」ボタン730を介して任意のコンテスト405に参加し得る。他の実施形態では、プレーヤ102は、他の画面上および他の電子メッセージ内の「プレイ」ボタンを介して参加してもよい。本実施形態では、プレーヤ102は、「キャンセル」ボタン810を介して詳細ロビー800をキャンセルし、コンテストロビー700に戻る、または「プレイ」ボタン730を介してゲーム705に参加するように選定し得る。
図9は、本発明の実施形態による、一般通知900を例証する。本実施形態では、表示される情報は、限定ではないが、ゲーム705の勝者905、勝者のスコア910、プレーヤ102の高スコア915、勝者905によって獲得されたジャックポット920、新しいゲーム705のための「プレイ」ボタン730、およびゲーミングサーバ112から退出するための終了ボタン925を含み得る。他の実施形態では、進行中のコンテストに関して、通知900は、限定ではないが、残り時間、現在のリーダ+スコア、およびプレーヤの現在のスコア(存在する場合)を含んでもよい。通知画面から、プレーヤ102は、限定ではないが、詳細リンク805を介して現在のコンテスト705の詳細ロビー画面800、他のコンテスト閲覧リンク930を介したコンテストロビー700、プレーヤ102のアカウント残高940、プレーヤのプロフィール/アカウント、およびヘルプに誘導され得る。
図10は、本発明の実施形態による、通知をプレーヤに送信するための例示的方法1000を例証する。本実施形態では、管理者215またはサードパーティ開発者210のいずれかが、ステップ1005において、プレーヤ102に、限定ではないが、更新、ジャックポット増加、または新しいコンテストについてのプッシュ通知を送信し得る。他の実施形態では、加えて、プレーヤ/ユーザは、別のユーザとコンテストまたは試行結果を共有し、別のユーザに興味深いコンテスト/ジャックポット/ゲーム等を通知する、または別のユーザに良スコアを知らせてもよい。非限定的実施例では、自動表示特徴が、プレーヤ102が試行108を終了すると、条件付きで起動され得る。非限定的実施例では、通知は、プッシュまたはゲーム内通知であり得る。別の非限定的実施例では、ゲーム内通知は、一般プロンプト900、登録プロンプト1100、デポジットプロンプト1300、または試行後プロンプト1500であってもよい。本実施形態では、プレーヤ102は、ステップ1010において、そのプッシュ通知設定を編集するように選択し、ステップ1035において、描写されるようなアカウント残高940を介して、またはゲーム通知900内のその独自のアイコンを介してハイパーリンクされる、ウェブダッシュボード120を介して、アプリ/ウェブサイトを介して、またはアカウント設定リンクを通してそのアカウントにログインし、本システムは、ステップ1040においてプレーヤ設定に応答し得る。試行108の後、通知表示900は、コンテスト期間およびジャックポット情報とともに、プレーヤの結果およびそのプレーヤがコンテストにおいてどのようにランク付けされているかを表示するように現れ得る。プレーヤ102は、ステップ1015において、通知表示900を選択する。プレーヤ102が通知表示900を選択すると、SDK104は、ステップ1020において、ウェブサーバ110のパラメータと接続する。非限定的実施例では、ウェブサーバ110のパラメータは、現在のユーザレベル、年齢、場所、アカウント認証、アカウントステータス、およびプレーヤ102がその特定のコンテストに適格であるかどうかであり得る。ウェブアプリケーション220は、ステップ1025において、現在進行中のコンテストに応答し、適宜、SDK104は、コンテスト詳細1030をプレーヤ102に表示する。いくつかの実施形態では、プレーヤが、参加するために十分な資金を有していない場合、デポジットプロンプトが、現れ得る。
図11は、本発明の実施形態による、ゲーム内通知登録プロンプトを例証する。本実施形態では、一般通知表示900が、プレーヤ102に新しいコンテストを促し得る。いくつかの実施形態では、限定ではないが、電子メール(リンクが提供される)、テキスト(リンクが提供される)、ソーシャルメディア(リンクが提供される)、QRコード(登録商標)(リンクが提供される)等を含む、電子通信の他の手段が、プレーヤに通知してもよい。プレーヤ102は、プレイすることを選定する場合、ゲーム内通知登録プロンプト1100を介して、「プレイ」ボタン730を通して登録もしくはログインする、または終了するために「いいえ」ボタン1190をクリックしなければならない。いくつかの実施形態では、プレーヤは、プロンプトが決して現れず、単純にゲームを継続するかのように、通常のゲームサードパーティゲームプレイに抜け出てもよい。いくつかの実施形態では、サードパーティゲームをプレイし続ける場合、通知が、将来的に再びポップアップしてもよい。登録プロンプト1100は、新しいユーザ登録1105および既存の登録されたユーザ1110の両方に対応する。プロンプト1100は、限定ではないが、既存のプレーヤ102がそのユーザ名1115およびパスワード1120をタイプするためのフィールドと、ゲームロビー700に入るための「ログイン」ボタン1125とを有する。新しいプレーヤのためのプロンプト1100は、限定ではないが、新しいプレーヤがフルネーム1135、電子メール1140、誕生日1145、パスワード1150、ユーザ名1155をタイプするためのフィールドと、継続ボタン1160とを有する。登録プロンプト1100はまた、法的利用規約1165も含有し得る。非限定的実施例では、法的規約は、プレーヤ102が18歳以上であることの同意1170、規約および条件の合意1175、規約および条件に埋設されるリンク1180、および埋設されるヘルプリンク1185であり得る。いくつかの実施形態では、ユーザ登録1105は、限定ではないが、プレーヤの電話番号および住所を含んでもよい。
図12は、本発明の実施形態による、プレーヤ登録のための例示的方法1200のフローチャートである。本実施形態では、プレーヤ102は、ステップ1205において、管理ダッシュボード120を通してサインアップし得、ステップ1210において、Twitter/Google Plusアカウントを使用する(ステップ1215)もしくはFacebookアカウントを使用する(ステップ1220)ように選択する、または手動で電子メールおよびパスワードを入力する(ステップ1225)。他の実施形態では、他のソーシャルメディアアカウントが、リンク付けられてもよい。登録システムは、ステップ1230において、その電子メールが利用可能であるかどうかを検証し、「はい」である場合、ステップ1235において、プレーヤ102に資金をデポジットするように促すように継続し得る。電子メールが利用可能ではない場合、プレーヤ102は、ステップ1240において、再び電子メールを促され得、本システムは、ステップ1230において、電子メールの可用性を再び検証し得る。非限定的実施例では、本システムは、所与の電子メールアドレスを自動的にping確認し、トランザクションサーバ110上のデータベース230を通して、これが存在する、または電子メールの可用性がチェックされ得ることを確実にし得る。ステップ1235において、プレーヤ102が資金をデポジットするように選択する場合、デポジットプロンプト通知1300は、ステップ1250において、デポジットを作成する際にプレーヤ102を補助し得る。ステップ1255において、いったんデポジットが成功すると、またはプレーヤ102が資金をデポジットしないように選択する場合、登録プロセスは、終了する。いくつかの実施形態では、プレーヤは、プレーヤがコンテストに参加する、または試行を成そうとするが、十分な資金を有していないとき、デポジットするように促されてもよい。ユーザはまた、ウェブダッシュボードおよび/またはアプリ/ウェブサイトを介して自身のアカウント詳細に入り、デポジットし得る。
図13は、本発明の実施形態による、ゲーム内通知デポジットプロンプトを例証する。本実施形態では、登録プロンプト1100の継続ボタン1160に続いて、プレーヤ102は、デポジットプロンプト1300に移動する。デポジットプロンプト1300は、限定ではないが、プレーヤがその名前1305、住所1310、市/州/郵便番号1315、電話番号1320、電話番号のタイプを示すチェック欄1325、クレジットカード情報1330、クレジットカードの有効期限1135、クレジットカードのセキュリティCSC番号1340、デポジット額1345をタイプするためのフィールドと、登録ボタン1350とを有する。いくつかの実施形態では、PayPalアカウントを追加するためのPayPalまたは他の支払方法へのリンクが、含まれてもよい。デポジットプロンプト1300はまた、法的利用規約1355も含有し得る。非限定的実施例では、法的規約は、プレーヤ102がクレジットカード請求されることが可能である同意1360、埋設される「戻る」リンク1365、および埋設されるヘルプリンク1370であり得る。加えて、デポジットプロンプトは、新しいユーザが開始するためのリンク1355と、登録するためのリンク1380とを有し得る。
図14は、本発明の実施形態による、プレーヤデポジットのための例示的方法1400のフローチャートである。プレーヤ102は、ステップ1405において、デポジットプロンプト1300を通して、デポジットされる額のフィールド1345内にデポジットされるべき資金の額を入力し得る。プレーヤ102は、ステップ1410において、限定ではないが、クレジットカード、PayPal、または仮想通貨を使用して資金をデポジットするように選択し得る。クレジットカードデポジットに関して、ステップ1415において、プレーヤ102は、クレジットカード情報を入力する。PayPalデポジットに関して、ステップ1420において、プレーヤ102は、PayPal情報を入力する。仮想通貨デポジットに関して、ステップ1425において、プレーヤ102は、その電子メールアドレスおよびパスワードを入力する。非限定的実施例では、限定ではないが、StripeおよびPayPal等のサードパーティが、管理銀行口座への支払を処理し得る。プレーヤは、その額をそのアカウントに入金され得る。プレーヤが残りの額を出金する、または賞金を出金することを所望する場合、管理者は、管理銀行口座から支払い得る。加えて、サードパーティ開発者は、管理銀行口座から同様にその%を支払われ得る。非限定的実施例では、仮想通貨は、ビットコインであり得る。いったんプレーヤ102がその支払詳細を入力すると、本システムは、ステップ1430において、将来の使用のためにプレーヤの支払情報を保存するようにプレーヤ102を促す。プレーヤが支払情報が保存されるように選択する場合、ステップ1435において、SDK104は、支払情報を記憶し得る。非限定的実施例では、支払情報は、トランザクションサーバ110およびデータベース230上に記憶され得る。いったん支払情報が正常に記憶されると、またはプレーヤ102が支払情報を記憶しないように選択する場合、ステップ1440において、支払は、セキュアに処理および承認され、プレーヤ102のアカウントに資金が入金されるであろう。
図15は、本発明の実施形態による、試行後通知表示を例証する。本実施形態では、試行後通知表示1500は、コンテスト情報をプレーヤ102に表示する。表示される情報は、限定ではないが、上部にわたるメッセージ1505、「再挑戦する」ボタン1510、再挑戦する1515のための試行料金410、「いいえ」ボタン1190、他のコンテスト閲覧930、プレーヤ102のスコア650、リーダのスコアおよび名前720、現在のジャックポット515、プレーヤ102のアカウント残高940、ならびに詳細プロンプト表示1520をトリガする詳細ボタン805を含み得る。本実施形態では、詳細表示プロンプト1520は、限定ではないが、ゲームの名前705、現在のジャックポット515、コンテストタイプ710、現在のリーダのスコアおよび名前720、プレーヤ102の現在のスコア650、コンテストにおける残り時間415、「プレイ」ボタン730、ならびに試行後通知表示1500に戻るための「キャンセル」ボタン810を表示し得る。
図16は、本発明の実施形態による、拡大されたコンテスト詳細およびリーダボード通知表示を例証する。本実施形態では、拡大されたコンテスト詳細およびリーダボード通知表示1600は、プレーヤ102がプレーヤの現在のスコア605とリーダボードスコア1615とを比較することを可能にする、リーダボード1605を示す。表示される通知表示1600は、限定ではないが、ゲームタイトル705、試行料金410、現在のジャックポット515、コンテストタイプ710、現在のリーダ720、コンテストの残り時間415、「プレイ」ボタン730、および通知プロンプトに戻るための「キャンセル」ボタン810を含み得る。リーダボード1605は、限定ではないが、各リーダのそれぞれのスコア1615によって順番に表示される上位4人のリーダ1610を表示し得、リーダのユーザ名1620を含み得る。
図17は、本発明の実施形態による、サードパーティ開発者アカウント作成のための例示的方法1700のフローチャートである。本実施形態では、サードパーティ開発者210は、ステップ1705において、ウェブダッシュボード220を介して、管理者215とアカウントを作成し得る。非限定的実施例では、サードパーティ開発者210は、管理者215の補助なしでアカウントを作成し得る。サードパーティ開発者210は、ウェブダッシュボード220に接続するために、ステップ1710において、Twitter/Google Plusを使用する(ステップ1715)もしくはFacebookを使用する(ステップ1720)、または手動で電子メールおよびパスワードを入力する(ステップ1725)を選択し得る。非限定的実施例では、その電子メール/Facebook/Twitter/Google+は、ウェブダッシュボード内のその開発者アカウントと関連付けられ、これは、埋設されたSDKを伴うそのゲームをウェブダッシュボード内のその開発者アカウントに接続するように使用される。登録システムは、ステップ1730において、電子メールアドレスを検証し、「はい」である場合、ステップ1735において、アカウント作成を終了し得る。電子メールアカウントが検証され、開発者アカウントが作成された後、サードパーティ開発者210は、サードパーティ開発者210によって開発されたゲームを、ウェブダッシュボード220を介してその開発者アカウントに追加し得る。追加されるゲーム毎に、ウェブダッシュボード220は、ウェブダッシュボード220内のサードパーティ開発者のアカウントと同期させるために、開発者がSDK104とともにゲーム/コード/スクリプト106内に埋設する一意のAPIキーを生成し得る。電子メールが利用可能または検証可能ではない場合、ステップ1740において、サードパーティ開発者210は、再び電子メールを促され、利用可能である場合、ステップ1735において、アカウント作成を終了し得る。
図18は、本発明の実施形態による、コンテストを作成するサードパーティ開発者のための例示的方法1800のフローチャートである。本実施形態では、サードパーティ開発者210は、ステップ1805において、APIまたはダッシュボード220のアカウントにログインする。サードパーティ開発者210は、ステップ1810において、ゲーム/アプリ106を選択することによってコンテストを作成および開始し、ステップ1815において、コンテストに関するパラメータを確立する。非限定的実施例では、サードパーティ開発者210は、試行料金額410、参加者をガイドまたはランク付けするためのメトリック、結果、コンテストタイプ、配当構造、通知、通知設定、ならびに開始および終了時間等のパラメータを確立し得る。別の非限定的実施例では、ゲームタイプ710は、最大撃墜数、最高点、および最速時間であってもよい。別の非限定的実施例では、配当構造は、1人の勝者の総取り、上位5人への配当、上位10人への配当、または任意の上限を定めた順位に支払われるジャックポット515のパーセントとして設定されてもよい。非限定的実施例として、パーセント配当は、1位に50%、2位に30%、および3位に20%であり得る。サードパーティ開発者210がパラメータを入力した後、それらは、ステップ1820において、サーバ110を通して、データベース230上に保存される。
図19は、本発明の実施形態による、プラットフォーム同期のための例示的方法1900のフローチャートである。本実施形態では、SDK104は、ゲーム/試行108が開始されると、ステップ1905において、データ接続を読み出し得る。非限定的実施例として、サードパーティ開発者は、統合されたSDK104のリスナ(レセプタ)にデータをプッシュするために、ゲームサーバ112上でゲームスクリプト106をコーディングする必要があり得る。埋設されたSDK104内のリスナは、トリガされ、任意の関連データをトランザクションサーバ110に中継し得る。モバイル、PC、またはコンソールプログラミング、コンピュータコード、もしくはスクリプト106は、統合されたSDK104を介して全てのマイルストーンをプッシュし得る。非限定的実施例では、マイルストーンは、開始された試行、終了した試行、現在および最終スコア、または結果を含み得る。本実施形態では、SDK104は、ステップ1910において、プッシュするゲーム106および/または試行108において利用可能な任意の更新された情報を直ちに走査する。SDK104が更新された情報を認識する場合、これは、ステップ1915において、更新されたマイルストーンをトランザクションサーバ110にプッシュするように試行する。代替実施形態では、SDK104は、データをウェブダッシュボード220にプッシュし得、これは、データをトランザクションサーバ110に中継し得る、またはSDK104は、データをトランザクションサーバ110にプッシュし得、これは、次いで、データをウェブダッシュボード220に中継し得る。ステップ1920において、プッシュが成功した場合、SDK104は、ステップ1975において、コンテスト415がプッシュが起きる時間までに終了したかどうかを検証するようにチェックし得る。コンテスト415が終了していない場合、プラットフォーム同期は、終了し得る。しかしながら、コンテスト415が終了した場合、SDK104は、ステップ1980において、新しいコンテストが利用可能であるかどうかを検証し得る。新しいコンテストが利用可能である場合、結果は、ステップ1985において、現在のまたは新しいコンテストに適用され得、SDK104は、ステップ1975において、再びプッシュされたときにコンテストが終了したかどうかを検証し得る。ステップ1980において、新しいコンテストが存在せず、ステップ1990において、試行料金410がエスクローに保持された場合、試行料金410は、ステップ1995において、プレーヤ102のアカウントに払い戻しされ得る。いかなる更新される情報も存在しない場合、プラットフォーム同期は、ステップ1999において終了し得る。しかしながら、ステップ1920において、プッシュが成功しなかった場合、SDK104は、ステップ1925において、再試行し、ステップ1930において、エクスポネンシャルバックオフベースのアルゴリズムを使用し、ステップ1915において、マイルストーンをプッシュし得る。ステップ1925において、エクスポネンシャルバックオフベースのアルゴリズムが成功した場合、ステップ1999において、プラットフォーム同期は、終了し得る。エクスポネンシャルバックオフベースの再試行後、プッシュが依然として失敗する場合、データは、ステップ1940において、後で再試行するために、プレーヤ102のデバイス上のセキュアなデータベースに記憶されるように試行され得る。データは、ステップ1945において、プレーヤ102がインターネットに接続するまで、限定ではないが、電話等のプレーヤ102のデバイスの内部記憶装置上に保存されるように試行され得る。ステップ1950において、データがプレーヤ102のデバイス上に保存されない場合、データは、ステップ1955において、将来の再試行のために、プレーヤ102のデバイスの外部記憶装置上に保存されるように試行し得る。ステップ1960において、外部データ保存が成功した場合、プレーヤ102がインターネットに接続すると、プッシュされることを待機する全てのデータおよびプラットフォーム同期は、終了する。外部データ保存が成功しなかった場合、SDK104は、ステップ1965において、エクスポネンシャルバックオフベースのアルゴリズムを使用し、データをプッシュし、ステップ1970において、再試行し得る。再試行が成功しなかった場合、データは、ステップ1955において、後で再び再試行するために外部記憶装置上に記憶され得る。再試行が成功した場合、プラットフォーム同期は、終了する。
図20は、本発明の実施形態による、プレーヤ参加コンテストのための例示的方法2000のフローチャートである。本実施形態では、いったんプレーヤ102が、限定ではないが、プッシュ通知、ゲーム内通知、電子メール、SMS、広告、ウェブダッシュボード220、またはソーシャルメディアリンクを介して、コンテストについての通知を受信すると、プレーヤ102は、参加ボタンをクリックし得る。プレーヤ102は、ステップ2005において、要求される登録情報を入力する、またはプレーヤのユーザ名およびパスワードを返し、プレーヤ102からのアカウント情報を認証し得る。プレーヤ102は、ステップ2010において、コンテスト試行108を成すように選択し、ステップ2015において、コンテスト410が依然としてオープンである場合、SDK104は、ステップ2020において、プレーヤ102のアカウント内で十分な資金が利用可能であるかどうかを検証し得る。コンテスト410がオープンではない場合、SDK104は、ステップ2025において、新しいコンテストの可用性をチェックし得る。新しいコンテストが利用可能である場合、SDK104は、ステップ2020において、プレーヤ102のアカウント内で十分な資金が利用可能であるかどうかを検証し得る。新しいコンテストが利用可能ではない場合、プレーヤ参加は、終了する。プレーヤ102のアカウント内に十分な資金が存在する場合、プレーヤ102は、ステップ2030において、試行料金410の控除に進む自身の意図を検証し得る。次いで、プレーヤ102が、試行料金410の控除を辞退する場合、プレーヤ参加は、終了する。プレーヤが控除に合意する場合、試行料金410は、ステップ2035において、プレーヤ102のアカウントから控除され、ステップ2040において、ウェブダッシュボード220において定義されたパラメータに従って分割510され得る。試行料金410は、ステップ2045において、試行108からの結果が記録されるまで、エスクロー505に保持され、プレーヤ102は、ステップ2050において、試行108を成すためにゲーム106に進み得る。プレーヤのアカウント内に十分な資金が存在しない場合、プレーヤ102は、ステップ2055において、プレーヤ102から支払認証を取得するために、デポジットプロンプト1300に送られ得る。プレーヤは、ステップ2060において、支払プロセス1400を実行し得、資金が、ステップ2065において、プレーヤ102のアカウントにデポジットされ得る。プレーヤ102は、ステップ2070において、コンテスト試行108を成すように促され得る。ステップ2015において、コンテストが利用可能である場合、SDK104は、ステップ2020において、プレーヤ102のアカウント内で十分な資金が利用可能であるかどうかを検証し得、プレーヤ102は、ステップ2030において、試行料金410の控除に進む意図を検証し得る。
図21は、本発明の例示的ウェブ対応/ネットワーク化実施形態によって使用され得る、例示的クライアント/サーバシステム2100のブロック図である。通信システム2100は、クライアント2102およびクライアント2104として表されるクライアントのサンプリングを伴う多数のクライアントと、ローカルネットワーク2106およびローカルネットワーク2108として表されるネットワークのサンプリングを伴う多数のローカルネットワークと、グローバルネットワーク2110と、サーバ2112およびサーバ2114として表されるサーバのサンプリングを伴う多数のサーバとを含む。
クライアント2102は、通信チャネル2116を介して、ローカルネットワーク2106と双方向的に通信し得る。クライアント2104は、通信チャネル2118を介して、ローカルネットワーク2108と双方向的に通信し得る。ローカルネットワーク2106は、通信チャネル2120を介して、グローバルネットワーク2110と双方向的に通信し得る。ローカルネットワーク2108は、通信チャネル2122を介して、グローバルネットワーク2110と双方向的に通信し得る。グローバルネットワーク2110は、通信チャネル2124を介して、サーバ2112およびサーバ2114と双方向的に通信し得る。サーバ2112およびサーバ2114は、通信チャネル2124を介して、相互に双方向的に通信し得る。さらに、クライアント2102、2104、ローカルネットワーク2106、2108、グローバルネットワーク2110、およびサーバ2112、2114はそれぞれ、相互に双方向的に通信し得る。
一実施形態では、グローバルネットワーク2110は、インターネットとして動作し得る。通信システム2100は、多くの異なる形態をとり得ることが、当業者によって理解されるであろう。通信システム2100のための形態の非限定的実施例は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、有線電話ネットワーク、無線ネットワーク、またはそれぞれのエンティティ間の任意の他のネットワークサポートデータ通信を含む。
クライアント2102および2104は、多くの異なる形態をとり得る。クライアント2102および2104の非限定的実施例は、パーソナルコンピュータ、携帯情報端末(PDA)、セルラー電話、およびスマートフォンを含む。
クライアント2102は、CPU2126、ポインティングデバイス2128、キーボード2130、マイクロフォン2132、プリンタ2134、メモリ2136、大容量メモリ記憶装置2138、GUI2140、ビデオカメラ2142、入力/出力インターフェース2144、およびネットワークインターフェース2146を含む。
CPU2126、ポインティングデバイス2128、キーボード2130、マイクロフォン2132、プリンタ2134、メモリ2136、大容量メモリ記憶装置2138、GUI2140、ビデオカメラ2142、入力/出力インターフェース2144、およびネットワークインターフェース2146は、通信チャネル2148を介して、一方向的様式で、または双方向的様式で相互に通信し得る。通信チャネル2148は、単一の通信チャネルまたは多数の通信チャネルとして構成され得る。
CPU2126は、単一のプロセッサまたは複数のプロセッサから成り得る。CPU2126は、プログラマブルデバイス(例えば、RISCもしくはSISCベース、またはCPLDおよびFPGA)およびゲートアレイASIC(特定用途向け集積回路)または汎用マイクロプロセッサ等のプログラムされることが可能ではないデバイス等、マイクロコントローラ(例えば、埋設されたRAM/ROMを伴う)およびマイクロプロセッサを含む、種々のタイプであり得る。
当分野で公知であるように、メモリ2136は、典型的には、データおよび命令を双方向的様式でCPU2126に伝達するために使用される。メモリ2136は、先に議論されるように、具体的に留意されない限り、任意の有線または無線伝送を除外する上記に説明されるもの等、データ記憶を意図される、任意の好適なコンピュータ可読媒体を含み得る。大容量メモリ記憶装置2138もまた、双方向的にCPU2126に結合され得、付加的データ記憶容量を提供し、上記に説明されるコンピュータ可読媒体のいずれかを含み得る。大容量メモリ記憶装置2138は、プログラム、データ、および同等物を記憶するために使用され得、典型的には、ハードディスク等の二次記憶媒体である。大容量メモリ記憶装置2138内に保持される情報は、適切な場合、仮想メモリとしてメモリ2136の一部として標準方式で組み込まれてもよいことを理解されたい。
CPU2126は、GUI2140に結合され得る。GUI2140は、ユーザが、コンピュータオペレーティングシステムおよびソフトウェアの動作を閲覧することを可能にする。CPU2126は、ポインティングデバイス2128に結合され得る。ポインティングデバイス2128の非限定的実施例は、コンピュータマウス、トラックボール、およびタッチパッドを含む。ポインティングデバイス2128は、ユーザに、GUI2140の閲覧面積を中心としてコンピュータカーソルを操縦し、GUI2140の閲覧面積における面積または特徴を選択する能力を可能にする。CPU2126は、キーボード2130に結合され得る。キーボード2130は、ユーザに、英数字テキスト情報をCPU2126に入力する能力を可能にする。CPU2126は、マイクロフォン2132に結合され得る。マイクロフォン2132は、ユーザによって生産されるオーディオが、CPU2126によって記録、処理、および通信されることを可能にする。CPU2126は、プリンタ2134に接続され得る。プリンタ2134は、ユーザに、情報を紙のシートに印刷する能力を可能にする。CPU2126は、ビデオカメラ2142に接続され得る。ビデオカメラ2142は、ユーザによって生産または捕捉されるビデオが、CPU2126によって記録、処理、および通信されることを可能にする。
CPU2126はまた、CD−ROM、ビデオモニタ、トラックボール、マウス、キーボード、マイクロフォン、タッチ感応式ディスプレイ、トランスデューサカードリーダ、磁気もしくは紙テープリーダ、タブレット、スタイラス、音声もしくは手書き認識装置、または、当然ながら、他のコンピュータ等の他の周知の入力デバイス等の1つもしくはそれを上回る入力/出力デバイスに接続する入力/出力インターフェース2144に結合され得る。
最後に、CPU2126は、随意に、好適な従来の技術を使用して有線または無線通信リンクとして実装され得る、概して、通信チャネル2116として示される外部接続を使用して、データベースもしくはコンピュータ等の外部デバイスとの通信または遠隔通信もしくはインターネットネットワークを可能にする、ネットワークインターフェース2146に結合され得る。そのような接続を用いて、CPU2126は、本発明の教示に説明される一連の方法ステップを実施して、ネットワークから情報を受信し得る、またはネットワークに情報を出力し得る。
図22は、従来のクライアント/サーバ通信システムを描写するブロック図である。通信システム2200は、ネットワーク領域2202およびネットワーク領域2204として表される領域のサンプリングを伴う多数のネットワーク化領域と、グローバルネットワーク2206と、サーバデバイス2208およびサーバデバイス2210として表されるサーバのサンプリングを伴う多数のサーバとを含む。
ネットワーク領域2202およびネットワーク領域2204は、地理的面積または領域内に含有されるネットワークを表すように動作し得る。ネットワーク化領域に関する地理的面積の表現の非限定的実施例は、郵便番号、電話エリアコード、州、郡、市、および国を含み得る。ネットワーク領域2202および2204内の要素は、他のネットワーク化領域内の外部要素と、または同一ネットワーク領域内に含有される要素内で通信するように動作し得る。
いくつかの実装では、グローバルネットワーク2206は、インターネットとして動作し得る。通信システム2200は、多くの異なる形態をとり得ることが、当業者によって理解されるであろう。通信システム2200のための形態の非限定的実施例は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、有線電話ネットワーク、セルラー電話ネットワーク、または有線もしくは無線通信ネットワークを介するそれぞれのエンティティ間の任意の他のネットワークサポートデータ通信を含む。グローバルネットワーク2206は、種々のネットワーク化要素間で情報を伝達するように動作し得る。
サーバデバイス2208およびサーバデバイス2210は、ソフトウェア命令を実行し、情報を記憶し、データベース動作をサポートし、他のネットワーク化要素と通信するように動作し得る。サーバデバイス2208およびサーバデバイス2210上で実行され得るソフトウェアおよびスクリプト言語の非限定的実施例は、C、C++、C#、およびJava(登録商標)を含む。
ネットワーク領域2202は、通信チャネル2212を介して、グローバルネットワーク2206と双方向的に通信するように動作し得る。ネットワーク領域2204は、通信チャネル2214を介して、グローバルネットワーク2206と双方向的に通信するように動作し得る。サーバデバイス2208は、通信チャネル2216を介して、グローバルネットワーク2206と双方向的に通信するように動作し得る。サーバデバイス2210は、通信チャネル2218を介して、グローバルネットワーク2206と双方向的に通信するように動作し得る。ネットワーク領域2202および2204、グローバルネットワーク2206、ならびにサーバデバイス2208および2210は、相互に、かつ通信システム2200内に位置する全ての他のネットワーク化デバイスと通信するように動作し得る。
サーバデバイス2208は、ネットワーキングデバイス2220と、サーバ2222とを含む。ネットワーキングデバイス2220は、通信チャネル2216を介してグローバルネットワーク2206と、かつ通信チャネル2224を介してサーバ2222と双方向的に通信するように動作し得る。サーバ2222は、ソフトウェア命令を実行し、情報を記憶するように動作し得る。
ネットワーク領域2202は、クライアント2226およびクライアント2228として表されるサンプリングを伴う多数のクライアントを含む。クライアント2226は、ネットワーキングデバイス2234と、プロセッサ2236と、GUI2238と、インターフェースデバイス2240とを含む。GUI2238のためのデバイスの非限定的実施例は、モニタ、テレビ、セルラー電話、スマートフォン、およびPDA(携帯情報端末)を含む。インターフェースデバイス2240の非限定的実施例は、ポインティングデバイス、マウス、トラックボール、走査装置、およびプリンタを含む。ネットワーキングデバイス2234は、通信チャネル2212を介してグローバルネットワーク2206と、かつ通信チャネル2242を介してプロセッサ2236と双方向的に通信し得る。GUI2238は、ユーザが閲覧するための表現のために、通信チャネル2244を介してプロセッサ2236から情報を受信し得る。インターフェースデバイス2240は、通信チャネル2246を介して、プロセッサ2236に制御情報を送信し、プロセッサ2236から情報を受信するように動作し得る。ネットワーク領域2204は、クライアント2230およびクライアント2232として表されるサンプリングを伴う多数のクライアントを含む。クライアント2230は、ネットワーキングデバイス2248と、プロセッサ2250と、GUI2252と、インターフェースデバイス2254とを含む。GUI2238のためのデバイスの非限定的実施例は、モニタ、テレビ、セルラー電話、スマートフォン、およびPDA(携帯情報端末)を含む。インターフェースデバイス2240の非限定的実施例は、ポインティングデバイス、マウス、トラックボール、走査装置、およびプリンタを含む。ネットワーキングデバイス2248は、通信チャネル2214を介してグローバルネットワーク2206と、かつ通信チャネル2256を介してプロセッサ2250と双方向的に通信し得る。GUI2252は、ユーザが閲覧するための表現のために、通信チャネル2258を介してプロセッサ2250から情報を受信し得る。インターフェースデバイス2254は、通信チャネル2260を介して、プロセッサ2250に制御情報を送信し、プロセッサ2250から情報を受信するように動作し得る。
例えば、クライアント2226とインターフェースをとるユーザが、ネットワーク化アプリケーションを実行することを所望し得る場合を検討する。ユーザは、インターフェースデバイス2240を使用して、ネットワーク化アプリケーションに関するIP(インターネットプロトコル)アドレスを入力し得る。IPアドレス情報は、通信チャネル2246を介してプロセッサ2236に通信され得る。プロセッサ2236は、次いで、通信チャネル2242を介してIPアドレス情報をネットワーキングデバイス2234に通信し得る。ネットワーキングデバイス2234は、次いで、通信チャネル2212を介してIPアドレス情報をグローバルネットワーク2206に通信し得る。グローバルネットワーク2206は、次いで、通信チャネル2216を介してIPアドレス情報をサーバデバイス2208のネットワーキングデバイス2220に通信し得る。ネットワーキングデバイス2220は、次いで、通信チャネル2224を介してIPアドレス情報をサーバ2222に通信し得る。サーバ2222は、通信チャネル2224を介して、IPアドレス情報を受信し得、IPアドレス情報を処理した後、ネットワーキングデバイス2220に返送情報を通信し得る。ネットワーキングデバイス2220は、通信チャネル2216を介して返送情報をグローバルネットワーク2206に通信し得る。グローバルネットワーク2206は、通信チャネル2212を介して返送情報をネットワーキングデバイス2234に通信し得る。ネットワーキングデバイス2234は、通信チャネル2242を介して返送情報をプロセッサ2236に通信し得る。プロセッサ2246は、通信チャネル2244を介して返送情報をGUI2238に通信し得る。ユーザは、次いで、GUI2238上で返送情報を閲覧し得る。
本実施形態では、ソフトウェアは、その統合されたゲーム106およびコンテスト405と関連付けられる統合およびパラメータを管理するために、サードパーティ開発者210がログインするバックエンドウェブダッシュボードを有する。ダッシュボードは、限定ではないが、サードパーティ開発者210が、新しいコンテストを作成する、コンテスト405のパラメータを設定する、および開催されるコンテスト405の分析を閲覧する等の機能を実施することを可能にし得る。非限定的実施例では、サードパーティ開発者210は、勝者の判定、賞金の割当、および詳細におけるコンテストメトリックを設定し得る。本実施形態では、ダッシュボードを通して、サードパーティ開発者210は、限定ではないが、コンテスト405毎の試行あたり料金額410を設定する、ジャックポット515に向かう各試行料金410のパーセントならびにサードパーティ開発者210および管理者215による収入分割510を調節する、そのアプリ内のジャックポット通知表示をカスタマイズする、全てのユーザにメッセージを送信する、アプリ内通知をリアルタイムで送信する、プレーヤ分析を閲覧する、ならびに他の制御をし得る。ダッシュボード220は、管理者215に、限定ではないが、全てのサードパーティ開発者210およびプレーヤ102のアカウントを監督および管理する、執行アカウントを提供し得る。管理者215は、サードパーティ開発者210のアカウントを凍結または終了させることを含む、プラットフォーム上の全てのパーティに対するアクセス権を調節することが可能であり得る。ダッシュボード220はまた、リアルタイムデータを維持および表示するために、SDK104およびトランザクションサーバ110と通信する。代替実施形態では、ダッシュボード220は、ゲーミングサーバ112と直接通信してもよい。
本実施形態では、ウェブダッシュボードは、サードパーティ開発者210が、限定ではないが、コンテストおよびユーザ参加データを、限定ではないが、成された試行の回数、賭けられた額、設定されたパーセンテージに基づいて生成される推定収入、ならびに他のメトリックおよびグラフを通して閲覧することを可能にする、分析セクションを有し得る。本実施形態では、分析セクションは、プレーヤ102が、限定ではないが、プレーヤ102の成績履歴、プレイされたコンテスト、プレイの回数、賭けられた額、試行結果および高スコア、ならびに履歴データに基づいて提案されるコンテストおよび/またはゲームを含む、完全な詳細プロフィールを閲覧することを可能にし得る。プレーヤ102が、例えば、限定ではないが、Facebook、Twitter、Google+アカウント、もしくは任意の他のソーシャルメディアアカウントを使用して、またはプレーヤ102のプロフィール設定におけるソーシャルメディアアカウントにリンクしてサインアッププロセスを完了し、そのソーシャルメディアアカウントのうちの1つを同期させた場合、プレーヤ102はまた、その友人のプロフィールを閲覧し、友人がどれほど良好に実施しているかを閲覧し得る。いくつかの実施形態では、プレーヤ102はまた、ウェブダッシュボード220を介して、自身の電子メール連絡先をインポートし、自身の友人の誰がメンバーであるかを確認し、それらと自動的に接続してもよい。非限定的実施例では、異なるゲームおよびコンテスト内の自身の友人の成績に対するユーザの成績をランク付けするソーシャルグラフが、閲覧され得る。別の非限定的実施例では、プレーヤ102は、プラットフォームにわたってプログレッシブジャックポットサイズを伴う統合されたゲームおよび現在のコンテストを列挙する、ニュースフィードを閲覧することが可能であってもよい。本実施形態では、管理者215は、分析セクションにおいて最高レベルの可視性を有し得る。管理者215は、限定ではないが、プレーヤ102によって成された試行405の回数、サードパーティ開発者210によって作成されたコンテストの数、合計マネーフロー、採用率、プレーヤ102およびサードパーティ開発者210の地理的分布、SDK104またはウェブダッシュボードにおける任意の例外またはエラー、APIの応答時間、アクティブなプレーヤ102の数、ならびにスクリーンワイズドロップアウトを含む、異なるパラメータをベースに本システムがどのように機能しているかを見出すことを可能にされ得る。
本実施形態では、ウェブアプリケーションは、データベース内のマイルストーンを直ちに更新し得、各ユーザの期間を再計算し得る。非限定的実施例では、いったん試行108からのデータがトランザクションサーバ110によって受信されると、ウェブダッシュボード220は、次いで、直近の試行108のデータおよび最新のバージョンのリーダボード1605を、全ての他の関連するコンテスト405の情報および詳細1030とともに含み、表示するようにリフレッシュし得る。本実施形態では、プラットフォームを同期させるために、通信は、httpsを利用し、各トランザクションがSSL証明書を通してセキュアにされることを確実にし得る。サードパーティ開発者210が、コンテストのリーダボードのカスタムバージョンを表示し、助長することを意図するとき、APIは、カスタムリーダボードのために使用するJSONフォーマットにおいてサードパーティ開発者210に提供され得る。そうでなければ、本実施形態では、サードパーティ開発者210は、SDK104の1つの機能を使用し、APIを使用してサーバから最新のリーダボードを取得するために、一般的UIを提供され得る。非限定的実施例では、UIリーダボードは、サードパーティ開発者210の色およびロゴを含むようにカスタム可能であり得る。
本実施形態では、コンテスト勝者は、パラメータを通して確立される事前定義されたルールに基づく。非限定的実施例では、パラメータは、開始および終了時間、コンテストのタイプ、限定ではないが、最速時間、最高点、最大撃墜数等のランク付け目的のために使用されるメトリック、および試行料金額410であり得る。コンテスト終了は、コンテスト終了時間パラメータ410に基づき、勝者は、ウェブアプリケーションによって計算される。代替実施形態では、コンテストの終了は、プレーヤが、時間の代わりに、限定ではないが、ある高スコア等のあるマイルストーンにいつ到達するかに基づいてもよい。非限定的実施例として、1回の試行において最初に40撃墜数を取得する人が、その時点においてプログレッシブジャックポット額を獲得する。結果は、アプリ内通知1000、プッシュ通知、および電子メールアドレスを使用してプッシュ900される。勝者アカウントには、ウェブダッシュボード220において確立された配当構造パラメータ500およびそのリーダボード上の位置と関連付けられる配当に基づいて、プログレッシブジャックポットの賞金額が入金され得る。
本実施形態では、プレーヤ102は、限定ではないが、ジャックポット額を伴う現在のコンテスト、成績および/または試行スコア、賞金、ならびにソーシャルメディア、電子メール、およびSMSを介した他のメッセージ等のステータスを共有することが可能であり得る。
本実施形態では、ソフトウェアは、各コンテスト405のリーダボード1605を自動的に投入、更新、および追跡する。SKD104またはサードパーティゲーミングサーバ112のいずれかによって報告される各試行108は、それぞれ、コンテスト405において成された全ての以前の試行108に対して格付けまたはランク付けされる。サードパーティゲーミングサーバ112および/またはSDK104は、コンテスト405のパラメータがウェブダッシュボード220において開発者210または管理者215のいずれかによって定義されるため、試行108の結果からどのデータがサーバ110に報告されるかを把握している。
本実施形態では、SDK104は、オンラインおよびモバイルスキルゲームにおける使用のために最適であり得る。非限定的実施例では、スキルゲームは、その結果が主として偶然に依存するゲームとは対照的に、プレーヤ102が主としてゲーム内能力によってランク付けされるものである。別の非限定的実施例では、スキルゲームは、限定ではないが、レース、スポーツ、格闘、戦略、雑学、および言語ゲームを含んでもよい。
本実施形態では、コンテスト時間415が終了すると、コンテスト405は、クローズし、プレーヤ102は、別の試行108を成すことによってコンテスト405に参加することが可能ではない場合があるが、しかしながら、コンテスト時間415が終了する前にコンテスト405に参加したプレーヤ102は、予め設定された延長時間を与えられ、プレーヤがゲーム試行108を終了し、プレーヤのスコアが最終リーダボード1605および賞金ランキングに報告および組み込まれることを可能にする。予め設定される延長時間は、ウェブダッシュボード220において設定される。
本実施形態では、全てのプレーヤ102、開発者210、および管理者215のアカウントは、全ての統合されたアプリ間でユニバーサルである。非限定的実施例では、ユーザが、ゲームAをプレイしているそのアカウントにアクセスする場合、限定ではないが、アカウント残高等のアカウントは、試行が成された場合、ゲームBのコンテストをプレイし、それに参加しようとすると、更新および同期される。
いくつかの実施形態では、サードパーティ開発者210は、ウェブダッシュボード220を介して、所望される場合、終了したコンテストを自動リピートする能力を有してもよい、または以前のコンテストが終了するとすぐに新しいコンテストを開始するように作成してもよい、または新しいコンテストを全く起動しない選択肢を有してもよい。
いくつかの実施形態では、サードパーティ開発者210は、ウェブダッシュボード220を介して、開発者210のユーザベースのために設計され、それに送達され得るカスタム通知を作成してもよい。カスタム通知は、限定ではないが、ユーザに、デポジットボーナス、ジャックポットステータス、および/またはユーザを初期検証/認証プロセスに誘導するリンクを含む、コンテストに参加するための広告等の更新を通知し得る。開発者210はまた、限定ではないが、ウェブダッシュボード220において割り当てられるように定義されたパラメータに基づいて、および/または参加者およびユーザの全てに送信され、コンテスト405の終了をユーザに通知する通知として、ゲーム/アプリ全体を通して自動的に合間にポップアップする通知を設定し得る。
いくつかの実施形態では、ソフトウェアは、その独自のアプリ、ウェブサイト、ダッシュボード、またはゲームを介して、ユーザにコンテスト、通知、および更新を送達してもよい。非限定的実施例では、SDK104を統合した異なるコンテストおよびゲームについてより知ることに興味があるユーザは、コンテストロビー700において全ての開催されているコンテストまたは次回のコンテストを表示し、限定ではないが、それぞれ、現在のジャックポット額515ならびに現在の高スコアおよびリーダ720を含むステータスを表示する、アプリをダウンロードする、またはウェブサイトを訪問し得る。
いくつかの実施形態では、ユーザは、SDK104を統合したサードパーティゲーム内の通知からコンテストロビーに誘導されてもよい。
いくつかの実施形態では、リーダボード1605は、そのゲーム設計と調和することに役立つように開発者210によってカスタマイズ可能である。
いくつかの実施形態では、ソフトウェアは、限定ではないが、SDK104、ダッシュボード220、およびサーバ110にあるアクションを実施するように通知するメトリックおよびトリップアクションを含む、ユーザ相互作用データを監視および報告するように全体を通して埋設されるリスナを有してもよい。
いくつかの実施形態では、SDK104は、限定ではないが、スキルおよび/または偶然に関するオンラインゲームサイト、アプリおよび機械、スポーツもしくはイベントの賭け、アーケードゲーム、仮想現実ゲーム、オークションアプリおよび/またはウェブサイト、ならびにファンディングプラットフォームにリンク付けられてもよい。非限定的実施例では、ファンディングプラットフォームは、クラウドファンディングサイトを含み得る。
代替実施形態では、SDK104は、ファンタジースポーツゲームとリンク付けられてもよい。非限定的実施例では、Yahoo Fantasyフットボールが、規定されたリーダに対してジャックポット配当を作成するようにリンク付けられ得る。
代替実施形態では、ユーザは、試用ベースでプラットフォームを使用するために、「ゲスト」として登録してもよい。
当業者は、本発明の教示に照らして、かつそれに従って、前述のステップおよび/またはシステムモジュールのいずれかが、好適に置換され、再順序付けられ、除去され得、付加的ステップおよび/またはシステムモジュールが、特定の用途の必要性に応じて挿入され得、前述の実施形態のシステムが、多種多様な好適なプロセスおよびシステムモジュールのいずれかを使用して実装され得、任意の特定のコンピュータハードウェア、ソフトウェア、ミドルウェア、ファームウェア、マイクロコード、および同等物に限定されないことを容易に認識するであろう。コンピューティングマシン上で実行され得る、本願に説明される任意の方法ステップに関して、典型的なコンピュータシステムが、適切に構成または設計されると、本発明のそれらの側面が具現化され得るコンピュータシステムとしての役割を果たすことができる。
本発明の新規の方法ステップおよび/またはシステム構成要素の少なくとも一部は、場合によってはアメリカ合衆国(米国)の管轄外の場所において実践される、および/または位置し得えることが、当業者にさらに明白であり、故に、それによって、前述の実施形態における新規の方法ステップおよび/またはシステム構成要素の少なくともあるサブセットが、その中のエンティティの利益のために、または本発明の目的を達成するために、米国の管轄内で実践されなければならないことが、容易に認識されるであろう。したがって、本発明のいくつかの代替実施形態は、アプリケーション設計者が、米国の管轄内で実行する、および/またはその中に位置するように、特定の実装の実践的考慮事項に応じて選択的に決定するであろうと説明される、前述の手段および/またはステップのより小さいサブセットを含むように構成されてもよい。例えば、ネットワーク(例えば、限定ではないが、遠隔に位置するサーバ)を経由して遠隔で実施され得る、前述の説明された方法ステップおよび/またはシステム構成要素のいずれかは、米国の管轄外で実施される、および/またはその外に位置し得る一方、前述の実施形態の残りの方法ステップおよび/またはシステム構成要素(例えば、限定ではないが、ローカルに位置するクライアント)は、典型的には、実践的考慮事項のために、米国内に位置する/その中で実施されるように要求される。クライアント−サーバアーキテクチャでは、遠隔に位置するサーバは、典型的には、本発明の教示による使用のために、要求される情報を生成し、米国ベースのクライアントに伝送する。特定の用途の必要性に応じて、本発明の教示に照らして、本発明のどの側面がローカルに位置し得る、または位置すべきであるか、および遠隔に位置し得る、または位置すべきであるかが、当業者に容易に明白となるであろう。したがって、第35号合衆国法典§112(6)の下に解釈される以下の請求制限の任意の請求項構成に関して、請求される機能を実行するための対応する手段および/またはステップは、米国の管轄内でローカルに実装されるものであることが意図される一方、米国外で遠隔に実施される、または位置する残りの側面は、第35号合衆国法典§112(6)の下に解釈されるように意図されない。いくつかの実施形態では、遠隔に位置する、および/または実施され得る方法および/またはシステム構成要素は、限定ではないが、ウェブサイトホスティングおよびデータベースのためのクラウド記憶装置を含む。
米国法の第35号合衆国法典§112(1)に従って、全ての請求項は、本特許明細書における十分な開示によって支持されなければならず、当業者に公知の任意の材料は、明示的に開示される必要はないことに留意されたい。しかしながら、第35号合衆国法典§112(6)は、第35号合衆国法典§112(6)の下に解釈される機能制限に対応する構造が、本特許明細書において明示的に開示されなければならないことを要求する。さらに、「〜のための手段」の請求制限の最も広い解釈の下に最初に従来技術を処理および調査するUSPTOの審査方針は、112(6)の機能制限に対する最も広い初期調査が、「〜のための手段」の請求項の最も広い解釈のためにそのUSPTO方針に対して法的に有効な審査を支持するように実行される必要があるであろうことを含意する。故に、USPTOは、そのような対応する構造が前述の特許明細書に明示的に開示されていないとき、第35号合衆国法典§112(6)の下に解釈される以下の請求項における全ての機能制限を満たすために、対応する構造として作用するように好適な具体的構造および要素の開示を含む、多数の従来技術文書を発見するであろう。したがって、前述の特許明細書に明示的に開示されていない、第35号合衆国法典§112(6)の下に解釈される以下の請求項における機能請求制限に対応する任意の発明要素/構造に関して、一連のUSPTO調査中に見出される特許および/または非特許文書に存在するが、本出願者は、請求される機能的手段を実装する明示的な構造を提供することを目的として、参照することによって本明細書に全てのそのような機能的に対応する構造および関連する使用可能材料を組み込む。本出願者は、任意の請求項構成手続および/または特許可能性の審査中の事実発見者が、手続中に一連の通常のUSPTO調査中に見出される、および/またはUSPTOに供給される特許および/または非特許文書のうちの少なくとも1つに存在する、第35号合衆国法典§112(6)制限の最も広い解釈調査中に発見されるこれらの文書のそれぞれの一部のみを適切に識別し、組み込むことを要求する。本出願者はまた、任意のPTO Form−892に列挙されるような機能的に対応する構造および関連する使用可能材料を含む全てのそのような文書または同様にUSPTOもしくは本出願者もしくは任意の第三者によって本特許出願に加えられる任意の情報開示陳述書(IDS)を識別するために、文献引用情報を参照することによって組み込む。本出願者はまた、本願を後で修正し、そのような文書に引用を明示的に含める、および/または上記に参照することによって組み込まれた機能的に対応する構造を明示的に含めるその権利を留保する。
任意の付随の要約および図面を含む、本明細書に開示される全ての特徴は、明示的に別様に記載されない限り、同一、同等、または類似する目的を果たす代替特徴によって置換され得る。したがって、明示的に別様に記載されない限り、開示される各特徴は、一般的な一連の同等または類似する特徴の一実施例にすぎない。
米国法の第35号合衆国法典§112(1)に従って、全ての請求項は、本特許明細書における十分な開示によって支持されなければならず、当業者に公知の任意の材料は、明示的に開示される必要はないことに留意されたい。しかしながら、第35号合衆国法典§112(6)は、第35号合衆国法典§112(6)の下に解釈される機能制限に対応する構造が、本特許明細書において明示的に開示されなければならないことを要求する。さらに、「〜のための手段」の請求制限の最も広い解釈の下に最初に従来技術を処理および調査するUSPTOの審査方針は、112(6)の機能制限に対する最も広い初期調査が、「〜のための手段」の請求項の最も広い解釈のためにそのUSPTO方針に対して法的に有効な審査を支持するように実行される必要があるであろうことを含意する。故に、USPTOは、そのような対応する構造が前述の特許明細書に明示的に開示されていないとき、第35号合衆国法典§112(6)の下に解釈される以下の請求項における全ての機能制限を満たすために、対応する構造として作用するように好適な具体的構造および要素の開示を含む、多数の従来技術文書を発見するであろう。したがって、前述の特許明細書に明示的に開示されていない、第35号合衆国法典§112(6)の下に解釈される以下の請求項における機能請求制限に対応する任意の発明要素/構造に関して、一連のUSPTO調査中に見出される特許および/または非特許文書に存在するが、本出願者は、請求される機能的手段を実装する明示的な構造を提供することを目的として、参照することによって本明細書に全てのそのような機能的に対応する構造および関連する使用可能材料を組み込む。本出願者は、任意の請求項構成手続および/または特許可能性の審査中の事実発見者が、手続中に一連の通常のUSPTO調査中に見出される、および/またはUSPTOに供給される特許および/または非特許文書のうちの少なくとも1つに存在する、第35号合衆国法典§112(6)制限の最も広い解釈調査中に発見されるこれらの文書のそれぞれの一部のみを適切に識別し、組み込むことを要求する。本出願者はまた、任意のPTO Form−892に列挙されるような機能的に対応する構造および関連する使用可能材料を含む全てのそのような文書または同様にUSPTOもしくは本出願者もしくは任意のサードパーティによって本特許出願に加えられる任意の情報開示陳述書(IDS)を識別するために、文献引用情報を参照することによって組み込む。本出願者はまた、本願を後で修正し、そのような文書に引用を明示的に含める、および/または上記を参照することによって組み込まれた機能的に対応する構造を明示的に含めるその権利を留保する。
したがって、前述の特許明細書に明示的に開示されていない、第35号合衆国法典§112(6)の下に解釈される以下の請求項における機能請求制限に対応する任意の発明要素/構造に関して、本出願者は、第35号合衆国法典§112(6)の開示要件を満たすことを目的として、どの文書および資料が別様に欠落している開示を含むかを明示的に規定し、そのような特許および/または非特許文書のどの部分がそのように参照することによって組み込まれるべきかを厳密に規定している。本出願者は、第35号合衆国法典§112(6)を満たすために参照することによって組み込まれる上記の全ての識別された文書が、必然的に、本願のものに先立つ出願および/または公開日を有し、したがって、本願に参照することによって組み込まれる文書に先立って有効であることに留意する。
本発明の少なくとも一実施形態を完全に説明したが、本発明によるモバイルゲーミングプラットフォームを実装する他の同等または代替方法が、当業者に明白となるであろう。本発明の種々の側面は、例証として上記に説明され、開示される具体的実施形態は、本発明を開示される特定の形態に限定することは意図されない。モバイルゲーミングプラットフォームの特定の実装は、特定の文脈または用途に応じて変動し得る。限定ではなく、実施例として、前述に説明されるモバイルゲーミングプラットフォームは、主として、サードパーティ開発者の統合実装を対象としたが、しかしながら、類似する技法が、代わりに、Microsoft X−box(R)およびSony PlayStation(R)ゲームのためのサードパーティ開発者の統合に適用され得、本発明のその実装は、本発明の範囲内であるように想定される。さらに、本発明の教示は、任意の特定のSDKに限定されず、コンテストをゲームに統合するための任意の好適なフレームワークを含み得る。本発明は、したがって、以下の請求項の精神および範囲内に該当する全ての修正、均等物、および代替を網羅すべきである。前述の明細書において開示される実施形態の全てが、必ずしも、前述の明細書に説明される目的、利点、または改良のそれぞれを満たす、もしくは達成するわけではないであろうことをさらに理解されたい。
本明細書の請求要素およびステップは、可読性および理解の補助として、番号付けられる、および/または単に記載され得る。任意のそのような番号付けおよび記載自体は、請求項における要素および/またはステップの順序を示すことは意図されず、そのように解釈されるべきではない。
以下の請求項における全ての手段またはステップの対応する構造、材料、作用、および均等物、さらに機能要素は、具体的に請求されるように、他の請求される要素と組み合わせた機能を実施するための任意の構造、材料、または作用を含むことが意図される。
要約は、読者が技術的開示の本質および要点を確認することを可能にするであろう要約を要求する、第37号連邦行政命令集第1.72(b)節を遵守するように提供される。これは、これが請求項の範囲または意味を制限もしくは解釈するために使用されないであろうことを理解して提出される。以下の請求項は、本明細書の詳細な説明に組み込まれ、各請求項は、別個の実施形態として独立している。