(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-21
(54)【発明の名称】クライアントアプリケーションのユーザをセグメント化するためのシステム及び方法
(51)【国際特許分類】
G06F 15/00 20060101AFI20240514BHJP
A63F 13/67 20140101ALI20240514BHJP
【FI】
G06F15/00 410Z
A63F13/67
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023569884
(86)(22)【出願日】2022-05-12
(85)【翻訳文提出日】2023-12-25
(86)【国際出願番号】 US2022072276
(87)【国際公開番号】W WO2022241451
(87)【国際公開日】2022-11-17
(32)【優先日】2021-05-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-09-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】517089798
【氏名又は名称】スキルズ プラットフォーム インコーポレイテッド
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】ダイクマン, ダミアン サイモン
(72)【発明者】
【氏名】メッケル, アンドリュー レイノルズ
(72)【発明者】
【氏名】ベイカー, サミュエル ヨーク
(72)【発明者】
【氏名】シャピロ, アダム ダスティン
(72)【発明者】
【氏名】パダリヤ, シュラダベン エー.
(72)【発明者】
【氏名】ラマクリシュナン, ラガブ
(72)【発明者】
【氏名】リー, ジョナサン
(72)【発明者】
【氏名】チェン, ディーン シュー
(72)【発明者】
【氏名】ロソンベ ボトゥンベ, フィリップ-ギヨーム ヴィクトル ダヴィッド
(72)【発明者】
【氏名】ミラヴェック, アンバー ダイ
(72)【発明者】
【氏名】ワイスバーグ, アハロン
(72)【発明者】
【氏名】シュナウベルト, ガブリエル ティー.
(72)【発明者】
【氏名】バブ, ケビン
(72)【発明者】
【氏名】シャンカール, シッダルタ
(72)【発明者】
【氏名】ガルボウィッツ, ザック
(57)【要約】
ある態様では、ユーザと、アプリケーションクライアントを動作させるように構成されたモバイルデバイスとの第1の対話を特徴付ける第1の対話データが、受信され得る。アプリケーションクライアントのユーザの複数のセグメントが判定され得、複数のセグメントの各々が、アプリケーションクライアントの動作パラメータを特徴付ける1つ以上の設定に関連付けられ得る。ユーザは、ユーザの特性と判定された複数のセグメントのうちの第1のセグメントに関連付けられた特性との間の対応に基づいて、第1のセグメントに割り当てられ得る。アプリケーションクライアントは、第1のセグメントに関連付けられた1つ以上の設定に基づいて修正され得る。修正されたアプリケーションクライアントは、モバイルデバイスを介したユーザによる対話のために提供され得る。関連するシステム、装置、技術、及び物品も記載されている。
【選択図】
図1
【特許請求の範囲】
【請求項1】
方法であって、
ユーザと、アプリケーションクライアントを動作させるように構成されたモバイルデバイスとの第1の対話を特徴付ける第1の対話データを受信することと、
前記アプリケーションクライアントのユーザの複数のセグメントであって、前記複数のセグメントの各々が、前記アプリケーションクライアントの動作パラメータを特徴付ける1つ以上の設定に関連付けられている、複数のセグメントを判定することと、
前記ユーザの特性と前記判定された複数のセグメントのうちの第1のセグメントに関連付けられた特性との間の対応に基づいて、前記ユーザを前記第1のセグメントに割り当てることと、
前記第1のセグメントに関連付けられた前記1つ以上の設定に基づいて、前記アプリケーションクライアントを修正することと、
前記モバイルデバイスを介した前記ユーザによる対話のために、前記修正されたアプリケーションクライアントを提供することと、を含む、方法。
【請求項2】
前記ユーザと前記モバイルデバイスとの第2の対話を特徴付ける第2の対話データを受信することと、
受信された前記第2の対話データに基づいて、前記ユーザを前記複数のセグメントのうちの第2のセグメントに割り当てることと、
前記第2のセグメントに関連付けられた前記1つ以上の設定に基づいて、前記修正されたアプリケーションクライアントを修正することと、
前記モバイルデバイスを介した前記ユーザによる対話のために、前記更に修正されたアプリケーションクライアントを提供することと、を更に含む、請求項1に記載の方法。
【請求項3】
前記アプリケーションクライアントの1人以上のユーザの集団を特徴付ける特性データを受信することと、
受信された前記特性データに基づいて、前記複数のセグメントのうちの1つ以上を修正することと、を更に含む、請求項1に記載の方法。
【請求項4】
前記特性データが、属性を特徴付け、前記属性が、前記集団の1つ以上の挙動を特徴付ける、請求項3に記載の方法。
【請求項5】
前記特性データが、基準を特徴付け、前記基準が、前記属性と所定の閾値との間の比較を特徴付け、前記所定の閾値が、前記属性のタイプに基づいている、請求項4に記載の方法。
【請求項6】
前記アプリケーションクライアントで使用するための複数のユーザ識別を判定することと、
前記複数のセグメントのうちの1つ以上を判定された前記複数のユーザ識別の各々に関連付けることと、
新規ユーザが、前記新規ユーザのモバイルデバイスに前記アプリケーションクライアントをインストールし、前記アプリケーションクライアントとの対話を開始したという指示を受信することと、
前記指示に応答して、前記複数のユーザ識別のうちの1つを前記新規ユーザに割り当てることと、
前記ユーザを、前記新規ユーザに割り当てられた前記ユーザ識別に関連付けられた前記複数のセグメントのうちの前記1つ以上に割り当てることと、を更に含み、
前記修正されたアプリケーションクライアントが、前記新規ユーザに割り当てられた前記複数のセグメントのうちの前記1つ以上に関連付けられた前記1つ以上の設定に基づいている、請求項1に記載の方法。
【請求項7】
前記複数のユーザ識別の前記判定、及び前記複数のセグメントのうちの前記1つ以上の、前記判定された複数のユーザ識別の各々への前記関連付けが、前記第1の対話データの前記受信より前に起こる、請求項6に記載の方法。
【請求項8】
前記アプリケーションクライアントの前記修正が、前記アプリケーションクライアントのグラフィカル表示を修正することを含む、請求項1に記載の方法。
【請求項9】
前記複数のセグメントの各々が、優先度分類を含み、前記ユーザが、前記優先度分類に基づいて、前記第1のセグメントに割り当てられる、請求項1に記載の方法。
【請求項10】
前記更に修正されたアプリケーションクライアントの前記提供が、
前記更に修正されたアプリケーションクライアントを特徴付けるプッシュ通知を判定すること、及び
前記モバイルデバイスが前記更に修正されたアプリケーションクライアントを動作させるように構成されるように、前記プッシュ通知を前記ユーザの前記モバイルデバイスに送信させることを含む、請求項2に記載の方法。
【請求項11】
システムであって、
少なくとも1つのデータプロセッサと、命令を記憶するメモリと、を備え、前記命令が、前記少なくとも1つのデータプロセッサによって実行されると、前記少なくとも1つのデータプロセッサに、
ユーザと、アプリケーションクライアントを動作させるように構成されたモバイルデバイスとの第1の対話を特徴付ける第1の対話データを受信することと、
前記アプリケーションクライアントのユーザの複数のセグメントであって、前記複数のセグメントの各々が、前記アプリケーションクライアントの動作パラメータを特徴付ける1つ以上の設定に関連付けられている、複数のセグメントを判定することと、
前記ユーザの特性と前記判定された複数のセグメントのうちの第1のセグメントに関連付けられた特性との間の対応に基づいて、前記ユーザを前記第1のセグメントに割り当てることと、
前記第1のセグメントに関連付けられた前記1つ以上の設定に基づいて、前記アプリケーションクライアントを修正することと、
前記モバイルデバイスを介した前記ユーザによる対話のために、前記修正されたアプリケーションクライアントを提供することと、を含む動作を実行させる、システム。
【請求項12】
前記動作が、
前記ユーザと前記モバイルデバイスとの第2の対話を特徴付ける第2の対話データを受信することと、
受信された前記第2の対話データに基づいて、前記ユーザを前記複数のセグメントのうちの第2のセグメントに割り当てることと、
前記第2のセグメントに関連付けられた前記1つ以上の設定に基づいて、前記修正されたアプリケーションクライアントを修正することと、
前記モバイルデバイスを介した前記ユーザによる対話のために、前記更に修正されたアプリケーションクライアントを提供することと、を更に含む、請求項11に記載のシステム。
【請求項13】
前記動作が、
前記アプリケーションクライアントの1人以上のユーザの集団を特徴付ける特性データを受信することと、
受信された前記特性データに基づいて、前記複数のセグメントのうちの1つ以上を修正することと、を更に含む、請求項11に記載のシステム。
【請求項14】
前記特性データが、属性を特徴付け、前記属性が、前記集団の1つ以上の挙動を特徴付ける、請求項13に記載のシステム。
【請求項15】
前記特性データが、基準を特徴付け、前記基準が、前記属性と所定の閾値との間の比較を特徴付け、前記所定の閾値が、前記属性のタイプに基づいている、請求項14に記載のシステム。
【請求項16】
前記動作が、
前記アプリケーションクライアントで使用するための複数のユーザ識別を判定することと、
前記複数のセグメントのうちの1つ以上を判定された前記複数のユーザ識別の各々に関連付けることと、
新規ユーザが、前記新規ユーザのモバイルデバイスに前記アプリケーションクライアントをインストールし、前記アプリケーションクライアントとの対話を開始したという指示を受信することと、
前記指示に応答して、前記複数のユーザ識別のうちの1つを前記新規ユーザに割り当てることと、
前記ユーザを、前記新規ユーザに割り当てられた前記ユーザ識別に関連付けられた前記複数のセグメントのうちの前記1つ以上に割り当てることと、を更に含み、
前記修正されたアプリケーションクライアントが、前記新規ユーザに割り当てられた前記複数のセグメントのうちの前記1つ以上に関連付けられた前記1つ以上の設定に基づいている、請求項11に記載のシステム。
【請求項17】
前記複数のユーザ識別の前記判定、及び前記複数のセグメントのうちの前記1つ以上の、前記判定された複数のユーザ識別の各々への前記関連付けが、前記第1の対話データの前記受信より前に起こる、請求項16に記載のシステム。
【請求項18】
前記アプリケーションクライアントの前記修正が、前記アプリケーションクライアントのグラフィカル表示を修正することを含む、請求項11に記載のシステム。
【請求項19】
前記複数のセグメントの各々が、優先度分類を含み、前記ユーザが、前記優先度分類に基づいて、前記第1のセグメントに割り当てられる、請求項11に記載のシステム。
【請求項20】
実行可能な命令を記憶する非一時的コンピュータプログラム製品であって、前記実行可能な命令が、少なくとも1つのコンピューティングシステムの一部を形成する少なくとも1つのデータプロセッサによって実行されると、
ユーザと、アプリケーションクライアントを動作させるように構成されたモバイルデバイスとの第1の対話を特徴付ける第1の対話データを受信することと、
前記アプリケーションクライアントのユーザの複数のセグメントであって、前記複数のセグメントの各々が、前記アプリケーションクライアントの動作パラメータを特徴付ける1つ以上の設定に関連付けられている、複数のセグメントを判定することと、
前記ユーザの特性と前記判定された複数のセグメントのうちの第1のセグメントに関連付けられた特性との間の対応に基づいて、前記ユーザを前記第1のセグメントに割り当てることと、
前記第1のセグメントに関連付けられた前記1つ以上の設定に基づいて、前記アプリケーションクライアントを修正することと、
前記モバイルデバイスを介した前記ユーザによる対話のために、前記修正されたアプリケーションクライアントを提供することと、を含む動作を実施する、非一時的コンピュータプログラム製品。
【発明の詳細な説明】
【背景技術】
【0001】
関連出願の相互参照
本出願は、米国特許法第119条のもとで、2021年9月3日に出願された米国仮出願第63/240,549号、及び2021年5月12日に出願された米国仮出願第63/187,683号の利益及び優先権を主張し、これらの各々の内容は、その全体が参照によって本明細書に組み込まれる。
【0002】
クライアントアプリケーションのユーザは、例えば、クライアントアプリケーションのスキル又は能力のレベル、各ユーザがクライアントアプリケーションの動作及びメカニズムにどれだけ精通しているか、及び他の同様の要因に応じて、異なる方法でクライアントアプリケーションに関与するか、又はそうでなければクライアントアプリケーションと対話することができる。スキル、能力、精通度などのレベルに関係なく、全てのユーザに同じ体験を提供するクライアントアプリケーションは、クライアントアプリケーションにおける各ユーザの体験に悪影響を及ぼす可能性があり、これは、最適以下のユーザ関与、及び最終的にはユーザの解約につながる可能性がある。例えば、全てのユーザに初心者のユーザ体験を提供するクライアントアプリケーションは、挑戦しようとしている、又はクライアントアプリケーションにおけるより広範な体験を期待している経験豊富なユーザを不満にさせ得る。しかしながら、全てのユーザに高度な、又は挑戦的なユーザ体験を提供するクライアントアプリケーションは、クライアントアプリケーションに基本的なスキル又は能力レベルを超えて関与することがまだできない初心者ユーザを不満にさせる可能性がある。
【発明の概要】
【課題を解決するための手段】
【0003】
クライアントアプリケーションのユーザをセグメント化するためのシステム及び方法が提供される。関連する装置、技術、及び物品も説明される。
【0004】
ある態様では、ユーザと、アプリケーションクライアントを動作させるように構成されたモバイルデバイスとの第1の対話を特徴付ける第1の対話データが、受信され得る。クライアントアプリケーションのユーザの複数のセグメントが判定され得、複数のセグメントの各々が、アプリケーションクライアントの動作パラメータを特徴付ける1つ以上の設定に関連付けられ得る。ユーザは、ユーザの特性と判定された複数のセグメントのうちの第1のセグメントに関連付けられた特性との間の対応に基づいて、第1のセグメントに割り当てられ得る。アプリケーションクライアントは、第1のセグメントに関連付けられた1つ以上の設定に基づいて修正され得る。修正されたアプリケーションクライアントは、モバイルデバイスを介したユーザによる対話のために提供され得る。
【0005】
1つ以上の特徴は、任意の実現可能な組み合わせに含めることができる。例えば、ユーザとモバイルデバイスとの第2の対話を特徴付ける第2の対話データを受信することができ、ユーザは、受信した第2の対話データに基づいて複数のセグメントのうちの第2のセグメントに割り当てることができ、修正されたアプリケーションクライアントは、第2のセグメントに関連付けられた1つ以上の設定に基づいて修正することができ、更に修正されたアプリケーションクライアントは、モバイルデバイスを介したユーザによる対話のために提供することができる。例えば、アプリケーションクライアントの1人以上のユーザの集団を特徴付ける特性データを受信することができ、複数のセグメントのうちの1つ以上を受信された特性データに基づいて修正することができる。例えば、特性データは、属性を特徴付けることができ、属性は、集団の1つ以上の挙動を特徴付けることができる。例えば、特性データは、基準を特徴付けることができ、基準は、属性と所定の閾値との間の比較を特徴付けることができ、所定の閾値は、属性のタイプに基づくことができる。例えば、アプリケーションクライアントで使用するための複数のユーザ識別情報を判定することができ、複数のセグメントのうちの1つ以上を判定された複数のユーザ識別情報の各々に関連付けることができ、新規ユーザが新規ユーザのモバイルデバイスにアプリケーションクライアントをインストールし、アプリケーションクライアントとの対話を開始したことを示す指示を受信することができ、指示に応答して、複数のユーザ識別情報のうちの1つを新規ユーザに割り当てることができ、ユーザを新規ユーザに割り当てられたユーザ識別情報に関連付けられた複数のセグメントのうちの1つ以上に割り当てることができ、修正されたアプリケーションは、新規ユーザに割り当てられた複数のセグメントのうちの1つ以上に関連付けられた1つ以上の設定に基づくことができる。例えば、複数のユーザ識別を判定し、複数のセグメントのうちの1つ以上を判定された複数のユーザ識別の各々に関連付けることは、第1の対話データを受信する前に起こり得る。例えば、アプリケーションクライアントの修正は、アプリケーションクライアントのグラフィカル表示を修正することを含むことができる。例えば、複数のセグメントの各々は、優先度分類を含み得、ユーザは、優先度分類に基づいて、第1のセグメントに割り当てられ得る。例えば、更に修正されたアプリケーションクライアントの提供は、更に修正されたアプリケーションクライアントを特徴付けるプッシュ通知を判定すること、及びモバイルデバイスが更に修正されたアプリケーションクライアントを動作させるように構成されるように、プッシュ通知をユーザのモバイルデバイスに送信させることを含むことができる。
【0006】
別の態様では、システムが提供され、少なくとも1つのデータプロセッサ、及び少なくとも1つのデータプロセッサに本明細書で説明される動作を実行させるように構成された命令を記憶するメモリを含むことができる。動作は、ユーザと、アプリケーションクライアントを動作させるように構成されたモバイルデバイスとの第1の対話を特徴付ける第1の対話データを受信することと、アプリケーションクライアントのユーザの複数のセグメントであって、複数のセグメントの各々が、アプリケーションクライアントの動作パラメータを特徴付ける1つ以上の設定に関連付けられている、複数のセグメントを判定すること、ユーザの特性と判定された複数のセグメントのうちの第1のセグメントに関連付けられた特性との間の対応に基づいて、ユーザを第1のセグメントに割り当てること、第1のセグメントに関連付けられた1つ以上の設定に基づいて、アプリケーションクライアントを修正すること、及びモバイルデバイスを介したユーザによる対話のために修正されたアプリケーションクライアントを提供することを含むことができる。
【0007】
1つ以上の特徴は、任意の実現可能な組み合わせに含めることができる。例えば、動作は、ユーザとモバイルデバイスとの第2の対話を特徴付ける第2の対話データを受信すること、受信された第2の対話データに基づいて、複数のセグメントのうちの第2のセグメントにユーザを割り当てること、第2のセグメントに関連付けられた1つ以上の設定に基づいて、修正されたアプリケーションクライアントを修正すること、及びモバイルデバイスを介したユーザによる対話のために、更に修正されたアプリケーションクライアントを提供することを更に含むことができる。例えば、動作は、アプリケーションクライアントの1人以上のユーザの集団を特徴付ける特性データを受信することと、複数のセグメントのうちの1つ以上を受信された特性データに基づいて修正することと、を更に含むことができる。例えば、特性データは、属性を特徴付けることができ、属性は、集団の1つ以上の挙動を特徴付けることができる。例えば、特性データは、基準を特徴付けることができ、基準は、属性と所定の閾値との間の比較を特徴付けることができ、所定の閾値は、属性のタイプに基づくことができる。例えば、動作は、アプリケーションクライアントで使用するための複数のユーザ識別を判定することと、複数のセグメントのうちの1つ以上を判定された複数のユーザ識別の各々に関連付けることと、新規ユーザが、新規ユーザのモバイルデバイスにアプリケーションクライアントをインストールし、アプリケーションクライアントとの対話を開始したという指示を受信することと、指示に応答して、複数のユーザ識別のうちの1つを新規ユーザに割り当てることと、ユーザを、新規ユーザに割り当てられたユーザ識別に関連付けられた複数のセグメントのうちの1つ以上に割り当てることと、を更に含むことができ、修正されたアプリケーションクライアントは、新規ユーザに割り当てられた複数のセグメントのうちの1つ以上に関連付けられた1つ以上の設定に基づくことができる。例えば、複数のユーザ識別の判定、複数のセグメントのうちの1つ以上を判定された複数のユーザ識別の各々に関連付けることは、第1の対話データを受信する前に起こり得る。例えば、アプリケーションクライアントの修正は、アプリケーションクライアントのグラフィカルディスプレイを修正することを含むことができる。例えば、複数のセグメントの各々は、優先度分類を含み得、ユーザは、優先度分類に基づいて、第1のセグメントに割り当てられ得る。
【0008】
1つ以上のコンピューティングシステムの1つ以上のデータプロセッサによって実行されると、少なくとも1つのデータプロセッサに本明細書の動作を実行させる命令を記憶する非一時的コンピュータプログラム製品(すなわち、物理的に具現化されたコンピュータプログラム製品)も説明される。同様に、1つ以上のデータプロセッサ、及び1つ以上のデータプロセッサに結合されたメモリを含み得るコンピュータシステムも説明される。メモリは、少なくとも1つのプロセッサに本明細書に記載される動作のうちの1つ以上を実行させる命令を一時的又は恒久的に記憶してもよい。更に、方法は、単一のコンピューティングシステム内で、又は2つ以上のコンピューティングシステム間で分散された、いずれかの1つ以上のデータプロセッサによって実装されてもよい。そのようなコンピューティングシステムは、複数のコンピューティングシステムのうちの1つ以上の間の直接接続などを介して、ネットワーク(例えば、インターネット、無線広域ネットワーク、ローカルエリアネットワーク、広域ネットワーク、有線ネットワークなど)を介した接続を含む1つ以上の接続を介して、データ及び/又はコマンド又は他の命令などを交換することができる。
【0009】
上述の実施形態は、添付の図面と併せて以下の詳細な説明からより完全に理解されるであろう。図面は、縮尺に合わせて描画されることを意図しない。明確にするために、全ての構成要素が全ての図面にラベル付けされているわけではない。以下の図面である。
【図面の簡単な説明】
【0010】
【
図1】クライアントアプリケーションのユーザのリアルタイムセグメンテーションのための例示的なシステムを示すブロック図である。
【
図2】リアルタイムでクライアントアプリケーションのユーザをセグメント化する例示的な方法のフローチャートである。
【
図3】モバイルゲームのプレイヤーの経験をパーソナライズするためのリアルタイムセグメンテーションエンジンの動作を示すブロック図である。
【
図4A】新規リアルタイムセグメントを指定するためのグラフィカルユーザインターフェースの図である。
【
図4B】既存のリアルタイムセグメントを編集するためのグラフィカルユーザインターフェースの図である。
【
図5】クライアントアプリケーションのユーザを事前にセグメント化する例示的な方法のフローチャートである。
【
図6】クライアントアプリケーションのユーザをセグメント化する例示的な方法のフローチャートである。
【
図7】本実施形態による、本明細書に記載された動作のうちの1つ以上を実行し得るコンピューティングデバイスの一例のブロック図である。
【発明を実施するための形態】
【0011】
特定の例示的な実施形態を説明して、本明細書に開示されるデバイス及び方法の構造、機能、製造、及び使用の原理の全体的な理解を提供する。これらの実施形態の1つ以上の例は、添付の図面に図示される。当業者は、本明細書に具体的に記載され、添付の図面に示されるデバイス及び方法が非限定的な例示的な実施形態であり、本発明の範囲が特許請求の範囲によってのみ定義されることを理解するであろう。1つの例示的な実施形態に関連して例示又は説明される特徴は、他の実施形態の特徴と組み合わせてもよい。そのような修正例及び変形例は、本発明の範囲内に含まれることが意図される。更に、本開示では、実施形態の同名のコンポーネントは、一般に、同様の特徴を有し、したがって、特定の実施形態内では、各同名のコンポーネントの各特徴は、必ずしも完全に詳細に説明されていない。
【0012】
本発明のシステム及び方法のいくつかの実装形態は、クライアントアプリケーションのユーザの事前セグメンテーションに向けられ得る。本発明のいくつかの実装形態によれば、セグメンテーションは、共通の挙動、特性などを共有するユーザ集団からユーザのグループ又はコホート又はセグメントを作成することによって、クライアントアプリケーションの各ユーザのための経験をパーソナライズするために使用され得る。クライアントアプリケーション体験は、各セグメントのユーザに合わせて調整できる。クライアントアプリケーションの新規ユーザの初期オンボーディング体験を最適化するために、将来のユーザは、クライアントアプリケーションをインストールして使用する前に、1つ以上の事前生成されたセグメントに事前にセグメント化することができる。新規ユーザがクライアントアプリケーションをインストールし、クライアントアプリケーションとの対話を開始すると、新規ユーザは、直ちに(又はその後すみやかに)事前生成されたセグメントのうちの1つ以上に割り当てられ、クライアントアプリケーションとの初期の関与を改善するパーソナライズされたオンボーディングを提示され得る。したがって、各セグメントは、クライアントアプリケーションにおける異なるユーザ体験に関連付けることができる。したがって、本発明のいくつかの実装形態は、クライアントアプリケーションの各ユーザのための改善されたカスタマイズされた経験をもたらすことができる。
【0013】
事前生成されたセグメントの1つ以上に割り当てられた後、ユーザは、クライアントアプリケーションと更に対話するか、そうでなければ関与するときにイベントを生成することができる。リアルタイムセグメンテーションシステムは、ユーザを1つ以上のリアルタイムセグメント内に移動させることによって、又は1つ以上のリアルタイムセグメントから移動させることによって、ユーザイベントに反応して、クライアントアプリケーション内で、リアルタイムでカスタマイズされたユーザ体験を提供することができる。結果として、類似の挙動、特性などを有するユーザは、クライアントアプリケーションにおいて、リアルタイムセグメント内の他のユーザと類似又は同一の経験を共有することができる。ユーザは、1つ以上のリアルタイムセグメントに属することができる。イベント駆動型ユーザアクティビティは、リアルタイムでユーザをセグメント化するために使用され得、それにより、ユーザがクライアントアプリケーションでイベントを生成するとき、又はそうでなければクライアントアプリケーションと対話又は関与するとき、クライアントアプリケーションにおける各ユーザの経験を更新することができる。リアルタイムセグメンテーションシステムは、例えば、ユーザの場所、クライアントアプリケーション内又はクライアントアプリケーションとのユーザの進行状況など、ユーザのアクションのコンテキストに基づいて反応することができる。そのようなステートフルなイベント処理は、リアルタイムセグメンテーションシステムによって使用されて、イベントがクライアントアプリケーション内で起きるとき、特にイベントが本質的に一時的であり得(例えば、モバイルゲームの短い連勝)、迅速な応答が望ましい場合に、コンテキストでリアルタイムにイベントに反応することができる。
【0014】
そのため、本発明のいくつかの実装形態は、クライアント及びサーバ構成パラメータ(例えば、システム設定)の修正及び/又は動的更新を可能にすることができ、これは、クライアントアプリケーション動作の動的かつ柔軟な制御を可能にすることができる。したがって、本発明のいくつかの実装形態は、より良い全体的なシステム体験を提供することができる。加えて、本発明のいくつかの実装形態は、ユーザをセグメントにグループ化することによって、コンピュータ処理及びメモリの効率及び使用率を改善することができ、その結果、ユーザ体験のパーソナライゼーション又はカスタマイズは、各ユーザのユーザ体験を個別に管理するのではなく、多数のユーザに対してセグメントレベルで管理することができる。ユーザをセグメントにグループ化しなければ、例えば、数百万又は数千万のユーザを有するクライアントアプリケーションにとって、個々のユーザ体験を管理することは事実上不可能であろう。例えば、各セグメントは、コンピュータハードウェアリソース上で実行されるソフトウェアコンポーネントからなり得る。ユーザをセグメントにグループ化することにより、同じコンピュータハードウェアリソース(例えば、コンピュータ処理及びメモリ)を多数のユーザ(例えば、数十万、数百万、数千万など)に対して使用することが可能になり、コンピュータリソース使用率の大幅な最適化をもたらすことができる。本発明のいくつかの実装形態では、ユーザを事前にセグメント化することは、リアルタイムでユーザをセグメント化するよりもコンピュータリソースの負荷を少なくすることができる(例えば、将来のユーザのデフォルトのユーザ体験は、オンザフライで実行されるのではなく、事前計算され得るため)。したがって、ユーザを事前にセグメント化することによって、コンピュータ処理及びメモリの効率及び使用率を、特にユーザの数が多い又は非常に多いクライアントアプリケーションに対して劇的に改善することができる。
【0015】
限定ではなく、説明の目的のためにのみ、本開示は、本発明の様々な態様を例示するための例示的なクライアントアプリケーションとしてモバイルゲームを参照する。モバイルゲームは、例えば、スポーツゲーム、アドベンチャーゲーム、仮想プレイカードゲーム、仮想ボードゲーム、パズルゲーム、レーシングゲーム、又は任意の他の適切なタイプのモバイルゲームであり得るか、又はそれらを含むことができる。実施形態では、モバイルゲームは、プレイヤーがモバイルゲーム内で互いに競争することができるが、同時にモバイルゲームをプレイする必要はない非同期競争スキルベースのゲームであり得る。代替の実施形態では、モバイルゲームは、プレイヤーが同時にモバイルゲームをプレイすることができ、リアルタイムで、モバイルゲームで互いに競争することができる、同期競争スキルベースのゲームであり得る。他の好適なモバイルゲームが可能である。しかしながら、本発明のいくつかの実装形態は、ユーザ体験をユーザのために調整又はカスタマイズすることができる任意の好適なタイプのクライアントアプリケーションで使用され得る。クライアントアプリケーションは、例えば、娯楽(例えば、ゲーム、音楽、ビデオなど)、ビジネス(例えば、ワープロ、会計、スプレッドシートなど)、ニュース、天気、金融、スポーツなどを含む、多種多様な機能及び情報に関連し、かつ/又はそれらを提供することができる。
【0016】
図1は、リアルタイムでクライアントアプリケーション動作の動的かつ柔軟な制御を提供することができる本開示の実施形態による、クライアントアプリケーションのユーザのリアルタイムセグメンテーションのための例示的なシステム100を示すブロック図である。本開示では、「リアルタイム」は、情報が受信されるときと、情報が処理されるときと、結果が提供されるときとの間に最小限の遅延があるように、瞬時に又は比較的短い期間(例えば、秒、分)内でのイベント又は他のデータの処理を指す。前述したように、セグメンテーションは、共通のユーザ挙動及び/又は他の好適な特性を共有するユーザ集団からユーザのグループ又はコホート又はセグメントを作成することによって、クライアントアプリケーションのユーザ(例えば、モバイルゲームのプレイヤー)の体験のパーソナライゼーションを含むことができる。セグメンテーションには、グループ内のユーザをランダム化する機能などの実験も含まれる。例えば、イベント駆動型プレイヤーアクティビティ(例えば、モバイルゲームのコンテキストでのサインアップ、ゲームのプレイ、資金の入金など)は、リアルタイムでセグメンテーションを駆動するために使用され得る。イベントは、プレイヤーがモバイルゲーム内で取る任意のアクション(例えば、ゲームをプレイした、ゲームに勝った、現金を預けたなど)、又はプレイヤーがモバイルゲーム内で取る任意のアクションの結果又は結果(例えば、連続して10ゲーム勝った、連続して10ゲーム負けたなど)であり得る。
【0017】
図1に示すように、各ユーザは、好適なクライアントデバイス102(例えば、任意の好適な電子デバイスを使用することができるが、スマートフォン、タブレット、ラップトップコンピュータなど)上でモバイルゲームをプレイすることができる。クライアントデバイス102は、メモリ106に記憶されたモバイルゲームのための命令を実行するためのプロセッサ104を含むことができる。実施形態では、モバイルゲームのためのソフトウェア開発キット(SDK)108は、メモリ106に常駐し、プロセッサ104によって実行され得る。SDK108は、モバイルゲームを実行するための命令のセットからなり得、ユーザがモバイルゲームと対話する、又は他の方法で関与するときにモバイルゲームから通信されるゲーム内プレイヤーアクション情報など、クライアントデバイス102上のモバイルゲームがサーバシステム120と通信することができるインターフェースを提供することができる。実施形態では、プレイヤーアクションは、モバイルゲームの外で起きることができる。例えば、そのようなゲーム外プレイヤーアクティビティは、広告クリック又はモバイルゲーム外の他の同様のアクティビティを含むことができる。したがって、プレイヤーアクティビティは、プレイヤーによって生成されたアクション、イベント、又は他の対話に関連付けられた任意の好適なタイプのゲーム内又はゲーム外の情報であり得る。モバイルゲームからのプレイヤーアクティビティは、第1のサーバ122を介して、SDK108によってサーバシステム120に渡すことができる。第1のサーバ122は、リアルタイムで情報を取り込むことができる任意の好適なタイプのサーバであり得る(例えば、高性能データパイプラインのためのオープンソースの分散イベントストリーミングプラットフォームであるApache Kafka)。第1のサーバ122によって受信されたプレイヤーアクティビティは、リアルタイムセグメンテーションエンジン126に渡すことができる。
【0018】
リアルタイムセグメンテーションエンジン126は、プレイヤーアクティビティを受信して、プレイヤーをセグメントに追加する必要があるか、セグメントから削除する必要があるか、又はアクションが必要ないかを判定することができる。リアルタイムセグメンテーションエンジン126は、ハードウェア(例えば、処理デバイス、回路、専用ロジック、プログラマブルロジック、マイクロコード、デバイスのハードウェア、集積回路など)、ソフトウェア(例えば、処理デバイス上で実行又は実行される命令)、又はそれらの組み合わせを含むことができる。例えば、実施形態では、リアルタイムセグメンテーションエンジン126は、無制限及び境界付きのデータストリームの大規模なリアルタイムステートフル計算のためのフレームワーク及び分散処理エンジンであるApache Flinkを使用することができる、又はそうでなければそれに基づくことができる。実施形態では、セグメントは、事前定義されるか、又は動的に生成されることができ、静的であることができ、又は動的に変化することができ、任意の好適なサイズであることができ(例えば、任意の適切な数のプレイヤーで構成されていることができる)、かつ各々が、1つ以上のプレイヤーの特性、挙動などに関連付けられることができる。セグメントは、例えば、プレイヤーの特性、挙動などが変化して、進化するプレイヤー集団によりよく対処するように、動的に生成又は変更され得る。好適な機械学習/人工知能技術は、セグメントを動的に生成又は変更するために使用され得る。例えば、機械学習モデルは、モバイルゲームの全てのプレイヤーからの履歴データに基づいてトレーニングすることができる。次いで、機械学習モデルを使用して、プレイヤー集団のサブセットの共有特性、挙動などに基づいて、セグメントを動的に生成又は変更することができる。機械学習モデルは、プレイヤーの特性、挙動などが時間の経過とともに進化するにつれて、更新されるか、又はそうでなければ適合させることができる。
【0019】
セグメントは、SQLクエリなどの任意の好適なタイプのコンピュータ言語又は文法を使用して定義され得る。実施形態では、セグメンテーションのためのドメイン固有言語(DSL)は、セグメントを定義するために使用され得る文法であり得る。DSLを使用して、セグメントは、指定された基準を満たす1つ以上の属性を満たすユーザのグループとして定義することができる。DSLは、属性、基準、及び組み合わせ論理などのいくつかのコンポーネントからなり得る。実施形態では、属性は、可能なプレイヤー/サーバの挙動(例えば、ログインプラットフォーム、サーバの場所、預金など)のセットであり得る。属性は、セグメンテーションユースケースの大部分に使用される属性の基本リストであり得るコア属性、及び「エッジケース」セグメンテーションユースケースなどに使用される属性の拡張リストであり得る非コア属性からなり得る。実施形態では、属性は、定性的又は定量的などの属性タイプを有することができる。定性的タイプは、国コード、ユーザIDなどのカテゴリ変数であり得る。定量的タイプは、預金合計、ログイン数などの数値変数であり得る。他の属性タイプも可能である。実施形態では、基準は、問題の属性の値と、属性タイプに基づいて変化し得る定義された閾値との間の比較であり得る。例えば、「platform=iOS」などの「等しい」の比較については、基準は定性的及び定量的の両方であり得る。「deposits>$100」などの「より大きい」の比較については、基準は定量的であり得るが定性的ではない。「win sequence=XX%」などの「ワイルドカード」の比較については、基準は定性的であり得るが定量的ではない。他の基準も可能である。実施形態では、組み合わせ論理は、属性及び基準を組み合わせるためのブール論理であり得る。例えば、「country=US OR platform=iOS」などの「OR」演算子(例えば、A又はBのいずれかが満たされている場合に真である)を使用することができる。例えば、「daily deposit>$25 AND daily prize<$25」などの「AND」演算子(例えば、AとBの両方が満たされている場合に真である)を使用できる。他のタイプの組み合わせ論理が使用され得る。いくつかの実施形態では、セグメント入力確率は、例えば、セグメントを用いた無作為化実験のためのA/B試験などでの使用のために指定されてもよい。セグメント進入確率は、セグメント基準を満たすプレイヤーがセグメントに追加される確率のパーセンテージであり得る。
【0020】
本発明のいくつかの実装形態によれば、DSLは、属性及び基準の組み合わせを使用することによって、セグメント作成の柔軟性をサポートすることができる。表1は、例えば、SQLクエリに基づくのではなく、DSLを使用してセグメントをより簡単に定義できる方法を示している。
【表1】
【0021】
図2は、本開示の実施形態による、クライアントアプリケーションのユーザをリアルタイムでセグメント化する例示的な方法200を示すブロック図である。ブロック202において、
図1のクライアントデバイス102上で実行するモバイルゲームと対話するプレイヤーなどによって、プレイヤーアクティビティを生成することができる。ブロック204において、リアルタイムセグメンテーションエンジン126は、(例えば、SDK108から第1のサーバ122を介して)生成されたプレイヤーアクティビティを受信することができる。実施形態では、受信したプレイヤーアクティビティは、1つ以上のセグメントへの進入又は退出のいずれかを満たすことができる。ブロック206において、リアルタイムセグメンテーションエンジン126は、プレイヤーアクティビティが1つ以上のセグメントへの進入を満たすかどうかの判定を行うことができる(ここで、
図2の「RTS」は、「リアルタイムセグメント」の略語である)。各セグメントは、1つ以上の属性に従って定義され得るので、リアルタイムセグメンテーションエンジン126は、プレイヤーの属性をセグメントに対して定義された属性と比較して、プレイヤーアクティビティがセグメントへの進入を満たすかどうかを判定することができる。ブロック206において、プレイヤーアクティビティが1つ以上のセグメントへの進入を満たさないとリアルタイムセグメンテーションエンジン126が判定した場合、ブロック212において、リアルタイムセグメンテーションエンジン126は、プレイヤーに関して何のアクションも取ることができない。ブロック206において、プレイヤーアクティビティが1つ以上のセグメントへの進入を満たすとリアルタイムセグメンテーションエンジン126が判定した場合、次いで、ブロック208において、リアルタイムセグメンテーションエンジン126は、プレイヤーがすでに1つ以上のセグメントに追加されているかどうかを判定することができる。実施形態では、プレイヤーは、1つ以上のセグメントの進入条件を1回以上満たすことができる。しかしながら、プレイヤーは、プレイヤーが最初に1つ以上のセグメントへの進入条件を満たすときに、1つ以上のセグメントに追加され得る。プレイヤーがすでに1つ以上のセグメントに追加されているとリアルタイムセグメンテーションエンジン126が判定した場合、ブロック212において、リアルタイムセグメンテーションエンジン126は、プレイヤーに関して何のアクションも取ることができない。しかしながら、プレイヤーが1つ以上のセグメントにまだ追加されていないとリアルタイムセグメンテーションエンジン126が判定する場合、リアルタイムセグメンテーションエンジン126は、ブロック210において、プレイヤーをセグメントに追加することができる。限定ではなく例示の目的のために、セグメントの例示的な属性ベースの定義は、式(1)のように指定することができる。
Segment A=[winning streak][is=][20] (1)
【0022】
式(1)によれば、プレイヤーアクティビティが、プレイヤーが20ゲームに等しい連勝記録をちょうど持っていたようなものである場合、プレイヤーをセグメントAに追加することができる。セグメント定義が1つ以上の属性及び/又は基準の任意の好適な組み合わせを含むことができるため、より複雑なセグメント定義が可能である。例えば、式(2)は、いくつかの属性の組み合わせである。
Segment B=[Lifetime spend][is >][$50] AND [winning streak][is=][20] (2)
【0023】
式(2)によれば、プレイヤーアクティビティがプレイヤーの生涯支出がちょうど50ドルを超え、プレイヤーがちょうど20ゲームに等しく連勝した場合、プレイヤーはセグメントBに追加することができる。これらの例では、プレイヤーは両方の定義を満たすため、プレイヤーはセグメントAとセグメントBの両方に追加することができることに注意されたい。他のセグメント定義も可能である。
【0024】
ブロック214において、リアルタイムセグメンテーションエンジン126は、プレイヤーアクティビティが1つ以上のセグメントからの退出を満たすかどうかの判定を行うことができる。各セグメントは、1つ以上の属性に従って定義され得るので、リアルタイムセグメンテーションエンジン126は、プレイヤーの属性をセグメントに対して定義された属性と比較して、プレイヤーアクティビティがセグメントからの退出を満たすかどうかを判定することができる。ブロック214において、プレイヤーアクティビティが1つ以上のセグメントからの退出を満たさない(例えば、プレイヤーアクティビティは依然として1つ以上のセグメントの定義を満たしている)とリアルタイムセグメンテーションエンジン126が判定する場合、ブロック212において、リアルタイムセグメンテーションエンジン126は、プレイヤーに関して何のアクションも取ることができない。ブロック214において、プレイヤーアクティビティが1つ以上のセグメントからの退出を満たすとリアルタイムセグメンテーションエンジン126が判定する場合、次いで、ブロック216において、リアルタイムセグメンテーションエンジン126は、プレイヤーがすでに1つ以上のセグメントから削除されているかどうかを判定することができる。実施形態では、プレイヤーは、1つ以上のセグメントのための退出条件を1回以上満たすことができる。しかしながら、プレイヤーは、プレイヤーが最初に1つ以上のセグメントから終了条件を満たすときに、1つ以上のセグメントから削除され得る。リアルタイムセグメンテーションエンジン126が、プレイヤーがすでに1つ以上のセグメントから削除されていると判定した場合、ブロック212において、リアルタイムセグメンテーションエンジン126は、プレイヤーに関して何のアクションも取ることができない。しかしながら、プレイヤーが1つ以上のセグメントからまだ削除されていないとリアルタイムセグメンテーションエンジン126が判定する場合、リアルタイムセグメンテーションエンジン126は、ブロック218において、セグメントからプレイヤーを削除することができる。限定ではなく例示の目的のために、プレイヤーは、式(1)のセグメント定義を満たすことに基づいて、以前にセグメントAに追加された。プレイヤーは、一定期間セグメントAにいる。その後、プレイヤーは自分の連勝が21ゲームに増加したことを示すプレイヤーアクティビティを生成する。リアルタイムセグメンテーションエンジン126は、プレイヤーの属性(21ゲームの連勝)を式(1)のセグメント定義(すなわち、20ゲームに等しい連勝)と比較することができる。プレイヤーの連勝数が20ゲームに等しくなくなったため、プレイヤーアクティビティはセグメントからの退出を満たす。結果として、リアルタイムセグメンテーションエンジン126は、セグメントAからプレイヤーを削除することができる。
【0025】
本発明のいくつかの実装形態によれば、プレイヤーがリアルタイムでセグメントに出入りすると、モバイルゲーム内のプレイヤー体験又はモバイルゲームに関連付けられたプレイヤー体験は、リアルタイムで更新されるか、さもなければプレイヤーにパーソナライズされることができる。
図3は、本開示の実施形態による、モバイルゲームのプレイヤーの経験をパーソナライズするためのリアルタイムセグメンテーションエンジン126の動作300を示すブロック図である。ブロック302において、1つ以上のリアルタイムセグメントへの出入りのためのルールを定義するか、又はそうでなければ生成することができる。各リアルタイムセグメントの属性の定義などのこれらのルールは、ブロック304でリアルタイムセグメンテーションエンジン126によって使用されて、プレイヤーが1つ以上のリアルタイムセグメントへの出入りのために適格であるかどうかを判定することができる。ルールは、
図1の管理者ポータル128を介して、例えばシステム管理者によって事前定義される、又はそうでなければ指定されることができる(以下でより詳細に説明される)。ブロック306において、1つ以上のリアルタイムプレイヤーアクションは、モバイルゲーム内で発生し得る。これらのゲーム内イベントは、ブロック304においてリアルタイムセグメンテーションエンジン126に渡され得る。追加的又は代替的に、ブロック308において、1つ以上のリアルタイムプレイヤーアクションは、サードパーティアプリケーション、ウェブサイトなどを介して、モバイルゲームの外部で起きることができる。これらのゲーム外イベントは、ブロック304で(例えば、リアルタイムデータパイプライン及びストリーミングアプリケーションを構築するための分散ストリーム処理エンジンであるApache Kafkaを介して)リアルタイムセグメンテーションエンジン126に渡すことができる。ブロック306及び308のいずれか又は両方から受信されたイベント、及びブロック302からのセグメントルールに基づいて、プレイヤーは、ブロック310において、リアルタイムセグメンテーションエンジン126によってリアルタイムセグメントに追加されるか、又はリアルタイムセグメントから削除され得る。プレイヤー体験をパーソナライズするためのセグメントに関連付けられたセグメント設定は、ブロック312で適用することができる。ブロック312からのリアルタイムセグメント設定に基づくパーソナライズされたプレイヤー体験は、ブロック306でプレイヤーのクライアントデバイス上で実行されるモバイルゲームアプリケーションに適用されて、モバイルゲームのプレイヤーのための調整又はカスタマイズされた体験を生成することができる。
【0026】
モバイルゲーム内の、又はモバイルゲームに関連付けられたプレイヤー体験の任意の好適な態様は、プレイヤーが追加されるセグメントに基づいて、プレイヤーのために更新、カスタマイズ、修正、又は他の方法でパーソナライズすることができる。例えば、リアルタイムセグメンテーションエンジン126は、モバイルゲームのグラフィカル表示のいずれか又は全ての態様(例えば、モバイルゲームによって表示されるグラフィカルインターフェースの「ルックアンドフィール」のいずれかの態様などの、モバイルゲームの1つ以上のグラフィカル要素)、モバイルゲーム内に表示される情報、モバイルゲームの特徴及び機能性などをパーソナライズすることができる。限定ではなく例示の目的のためにのみ、リアルタイムセグメンテーションエンジン126は、モバイルゲームのグラフィック表示をパーソナライズして、例えば、プレイヤーインセンティブ、特別オファー、広告などをモバイルゲーム内又はモバイルゲーム内のプレイヤーに表示することができる。実施形態では、異なるプレイヤーインセンティブ、特別オファー、広告などは、プレイヤーが追加されるセグメントに基づいて、モバイルゲームのプレイヤーに表示され得る。追加的又は代替的に、リアルタイムセグメンテーションエンジン126は、例えば、賞品、報酬、及び/又はギフトをパーソナライズすることができ、ギフトは、関連付けられたギフトストア内のプレイヤーに表示又は提示される。例えば、あるセグメントのプレイヤーは、別のセグメントの別のプレイヤーに提示され得る賞品/報酬/ギフトとは異なる賞品/報酬/ギフトを提示されてもよい。このようにして、賞品、報酬、及び/又はギフトのメニュー又はリストは、モバイルゲームに表示される関連付けられたギフトストア内の各々又は任意のプレイヤーに調整することができる。追加的又は代替的に、リアルタイムセグメンテーションエンジン126は、例えば、モバイルゲームの外側のクライアントデバイス上のプレイヤーに表面化された広告又はオファーなどの、モバイルゲームの外側のユーザに表示されるグラフィカル情報をパーソナライズすることができる。その他のパーソナライズも可能である。パーソナライゼーションのタイプは、各セグメント又は任意のセグメントの定義又は関連付けられた設定の一部として指定することができる。
【0027】
限定ではなく例示の目的のために、第1の例示的なセグメントは、24時間で連続して10の全体的なゲームに勝利又は敗北したプレイヤーなど、所定の数のゲームの連勝又は敗北に基づくことができる。セグメントパーソナライゼーション設定は、例えば、特別な期間限定オファー(LTO)又は新規トーナメントテンプレート(例えば、プレイヤーに多かれ少なかれ困難な競争を提供することができるスキルベースのモバイルゲームにおける専門競争)であり得る。したがって、プレイヤーが失われた10の全体的なゲーム(プレイヤーアクション又はイベント)を達成するとすぐに、リアルタイムセグメンテーションエンジン126は、プレイヤーが第1のセグメントへの進入のために適格であると判定することができる。第1のセグメントに入ると、リアルタイムセグメンテーションエンジン126は、セグメントパーソナライゼーション設定を、第2のサーバ124(例えば、高性能データパイプラインのためのオープンソースの分散イベントストリーミングプラットフォームであるApache Kafka)及びSDK108を介してプレイヤーのモバイルゲームに適用させることができる。例えば、特別なLTOを(モバイルゲームの内側又は外側のいずれかで)プレイヤーに表示することができ、又は、プレイヤーがプレイヤーにとってそれほど困難ではない可能性のある特別なトーナメントで競技できるようにモバイルゲームの表示を変更することによって、新規トーナメントテンプレートをゲーム内に提供することができる。
【0028】
別の例示として、第2の例示的なセグメントは、特定の開発者から第2のゲームをインストールするプレイヤーに基づくことができる。セグメントパーソナライゼーション設定は、例えば、システム間のコラボレーション及び開発者のゲーム内及び全体にわたる賞品を説明するプレイヤーへの情報の特別な表示であり得る。したがって、プレイヤーが開発者から第2のゲーム(プレイヤーアクション又はイベント)をインストールするとすぐに、リアルタイムセグメンテーションエンジン126は、プレイヤーが第2のセグメントへの進入のために適格であると判定することができる。第2のセグメントに入ると、リアルタイムセグメンテーションエンジン126は、セグメントパーソナライゼーション設定をプレイヤーのモバイルゲームに適用させることができる。例えば、特別な情報は、ゲームの表示を変更して特別な情報をプレイヤーに提示することによって、モバイルゲーム内のプレイヤーに表示することができる。本発明のいくつかの実装形態によれば、(好適なプレイヤーアクションに応答して)プレイヤーがセグメントを終了すると、リアルタイムセグメンテーションエンジン126は、セグメントに対して指定された設定に応じて、セグメントパーソナライゼーション設定をプレイヤーのモバイルゲームから削除させるか、又は新規セグメントパーソナライゼーション設定を、第2のサーバ124及びSDK108を介してプレイヤーのモバイルゲームに適用させることができる。実施形態では、プレイヤーは、もはやセグメントのために適格でなくなるまで(及びセグメントから削除されるまで)セグメントに保持されることができる。別の実施形態では、プレイヤーは、セグメント削除基準に適合するプレイヤーアクティビティのためにより早く削除されない場合、プレイヤーがセグメントへの進入のために適格であると、所定の最大時間量(例えば、分、時間、日)の間、セグメント内に保持され得る。
【0029】
更なる例示として、第3の例示的なセグメントは、以下のセグメント進入条件を有することができる:ソーシャルメディアプラットフォームから来た広告、プレイヤーは米国に拠点を置く、ユーザはモバイルゲームをインストールし、プレイヤーは最初の日以内に最初のゲームをプレイする。第3のセグメントに関連付けられたセグメントパーソナライゼーション設定は、セグメントへの進入時にプレイヤーにLTOの即時表示を含むことができる。セグメントの終了条件は、プレイヤーがLTOを取ることである。したがって、第1のプレイヤーがモバイルゲーム広告をクリックし、広告がソーシャルメディアプラットフォームから来た場合、第1のプレイヤーは米国を拠点とし、第1のプレイヤーはゲームをインストールし、第1のプレイヤーは1日以内に第1のゲームをプレイし、第1のプレイヤーは第3のセグメントに追加され得、LTOは第1のプレイヤーに直ちに表示される。第1のプレイヤーがLTOを取る(すなわち、オファーを受け入れる)場合、第1のプレイヤーはセグメントを終了することができ、LTOはディスプレイから隠されるか、又はそうでなければ削除されることができる。
【0030】
各セグメントの定義、ルール、属性、及びセグメントパーソナライゼーション設定は、任意の好適な方法で指定することができる。実施形態では、
図1の管理者又は管理者ポータル128は、各セグメントのいずれか又は全ての態様を指定するために使用され得る。管理者ポータル128は、サーバシステム120の管理者又は管理者がセグメント定義を指定することができる好適なグラフィカルユーザインターフェースであり得る。例えば、
図4Aは、新規リアルタイムセグメントを指定するためのグラフィカルユーザインターフェース(GUI)405の図である。GUI405は、名前フィールド410、優先度フィールド415、及びセグメント記述子フィールド420を含むことができる。追加及び/又は代替フィールドが可能である。名前フィールド410は、リアルタイムセグメントの名前を入力するために使用され得る。優先度フィールド415は、リアルタイムセグメントがそれらに関連付けられた優先度を有することができるため、リアルタイムセグメントの優先度を指定するために使用され得る。実施形態では、プレイヤーは、1つ以上のリアルタイムセグメントへの進入のために適格とすることができ、それらのセグメントのうちの少なくとも2つは、1つ以上の特性を共有する。実施形態では、プレイヤーは、最も高い優先度に関連付けられたリアルタイムセグメントに割り当てられることができる。例えば、プレイヤーのための特定のパーソナライゼーション又はカスタマイズは、優先度の高いセグメント(例えば、特定の閾値を超える優先度を有する最も優先度の高いセグメント又はセグメント)に適用されてもよく、優先度の低いセグメントには適用されなくてもよい。追加的又は代替的に、リアルタイムセグメントは、プレイヤーが2つ以上のリアルタイムセグメントへの進入のための資格を得るときなど、所望される場合、プレイヤーのための優先度付けされた順序で適用されてもよい。代替の実施形態では、優先度は、複数のセグメントからのどのパーソナライゼーション又はカスタマイズがプレイヤーに表示されるかを判定するために使用され得る。例えば、プレイヤーが複数のセグメントに割り当てられ、それぞれが特定の特性に設定された異なる値を有する場合、最も優先度の高いセグメントからの特性をプレイヤーに表示することができる。限定ではなく例示の目的のために、プレイヤーが3つの異なるセグメントに割り当てられ、各セグメントが特定のボタンの色のカスタム値を設定する場合、最も優先度の高いセグメントに関連付けられたボタンの色をプレイヤーに表示できる。あるいは、プレイヤーが1つ以上の特性を共有しない複数のリアルタイムセグメントへの進入のために適格である場合、プレイヤーは、任意のセグメントに優先度を付けることなく、それらの複数のセグメントのそれぞれに割り当てられることができる。セグメント記述子フィールド420は、上で考察されるように、例えば、DSLを使用して、リアルタイムセグメント定義又は説明を入力するために使用され得る。情報が入力されると、管理者は、作成ボタン425を押すことによって、新規リアルタイムセグメントを作成することができる。一度作成されると、新規リアルタイムセグメントに関連付けられた情報をリアルタイムセグメンテーションエンジン126に渡して、プレイヤーのセグメント化に使用することができる。例えば、
図4Bは、既存のリアルタイムセグメントを編集するためのGUI430の図である。GUI430は、名前フィールド435、優先度フィールド440、及びセグメント記述子フィールド445を含むことができる。追加及び/又は代替フィールドが可能である。名前フィールド435は、更新されるリアルタイムセグメントの名前を入力するために使用され得る。優先度フィールド415は、リアルタイムセグメントの優先度を指定又は更新するために使用され得る。セグメント記述子フィールド420は、上で考察されるように、例えば、DSLを使用して、リアルタイムセグメント定義又は記述を更新するために使用され得る。情報が入力されると、管理者は、更新ボタン450を押すことによって、リアルタイムセグメントを更新することができる。更新されると、更新されたリアルタイムセグメントに関連付けられた情報をリアルタイムセグメンテーションエンジン126に渡して、プレイヤーのセグメンテーションを更新するのに使用することができる。
【0031】
前述したように、リアルタイムセグメンテーションエンジン126は、イベント駆動型プレイヤーアクティビティに基づいて、モバイルゲーム内の、又はモバイルゲームに関連付けられたプレイヤー体験をリアルタイムでパーソナライズするために使用され得る。リアルタイム処理に加えて、
図1のバッチセグメンテーションエンジン130は、その基準がプレイヤー状態に基づいてトリガされるセグメントを管理するために使用することができ、リアルタイムではなく数時間又は数日に延長することができるオフラインバッチプロセスを通じて計算することができる。プレイヤー状態は、例えば、生涯にプレイされたゲーム、過去180日間に勝利したゲーム、120日間に預けられた合計現金などの特定の期間にわたるプレイヤーイベントの集計であり得る。バッチセグメンテーションエンジン130は、ハードウェア(例えば、処理デバイス、回路、専用ロジック、プログラマブルロジック、マイクロコード、デバイスのハードウェア、集積回路など)、ソフトウェア(例えば、処理デバイス上で実行又は実行される命令)、又はそれらの組み合わせを含むことができる。例えば、実施形態では、バッチセグメンテーションエンジン130は、スノーフレーク(データを記憶及び分析するためのクラウドベースのデータウェアハウス)又は任意の他の好適なデータベースを使用することができる、又はそうでなければそれに基づくことができる。バッチセグメンテーションエンジン130は、リアルタイムセグメンテーションエンジン126と同じ情報を(例えば、第1のサーバ122を介して)受信し、リアルタイムセグメンテーションエンジン126と並行して、又はそうでなければ連携して(より遅いバッチプロセスではあるが)情報を処理することができる。バッチ処理のためのセグメントは、DSL、SQLクエリなどの任意の好適なタイプのコンピュータ言語又は文法を使用して定義され得る。実施形態では、バッチセグメンテーションエンジン130のセグメントは、リアルタイムセグメンテーションエンジン126に関して前述したのと同じ方法で(例えば、管理者ポータル128を介して)指定することができる。したがって、バッチセグメンテーションエンジン130のセグメントは、同じ又は類似のDSL言語又は文法を使用することができ、リアルタイムセグメンテーションエンジン126について以前に論じられた、属性、基準、ルール、及び組み合わせ論理などの同じ又は類似のコンポーネントを使用して指定することができる。例えば、バッチセグメントは、任意の90日間に100ドル以上を費やしたプレイヤーとして定義できる。バッチセグメンテーションエンジン130の他のセグメント定義が可能である。
【0032】
本発明のいくつかの実装形態によれば、セグメントは、リアルタイムプロセスとして、バッチプロセスとして、又はリアルタイムプロセス及びバッチプロセスの組み合わせとして処理され得る。例えば、セグメントは、オフラインのプレイヤー状態(例えば、任意の90日間に100ドル以上を費やしたプレイヤー)又はリアルタイムのプレイヤーアクティビティ又はイベント(例えば、20ゲーム連勝したばかりのプレイヤー)が満たされたときにトリガされ得る。実施形態では、セグメントは、両方の基準が満たされるときに、オフラインプレイヤー状態とリアルタイムプレイヤーアクティビティ又はイベントとの組み合わせに基づいた基準でトリガされ得る。限定ではなく説明の目的のために、セグメントの総合基準は、90日間で100ドル以上を費やし、20ゲーム連勝したばかりのプレイヤーである可能性がある。いったんトリガされ、プレイヤーがセグメントに入ると、サーバシステム120は、そのセグメントに指定されたセグメントパーソナライゼーション設定を使用して、モバイルゲームのプレイヤーのためのプレイヤー体験をパーソナライズすることができる。
【0033】
実施形態では、リアルタイムセグメンテーションエンジン126及びバッチセグメンテーションエンジン130のリアルタイム及びバッチプロセスからのセグメントパーソナライゼーション設定は、それぞれ、
図1に示されるユーザセグメンテーションサービス(USS)エンジン140によって、プレイヤーのモバイルゲームに適用することができる。USSエンジン140は、ハードウェア(例えば、処理デバイス、回路、専用ロジック、プログラマブルロジック、マイクロコード、デバイスのハードウェア、集積回路など)、ソフトウェア(例えば、処理デバイス上で実行又は実行される命令)、又はそれらの組み合わせを含むことができる。例えば、実施形態では、USSエンジン140は、コンピュータアプリケーションの展開、スケーリング、及び管理を自動化するためのオープンソースコンテナオーケストレーションシステムであるKubernetesを使用するか、又はそうでなければKubernetes上に展開することができる。USSエンジン140は、リアルタイムセグメンテーションエンジン126及び/又はバッチセグメンテーションエンジン130から適切なセグメント設定を受信し、セグメントパーソナライゼーション又はカスタマイズ情報を出力して、プレイヤーのクライアントデバイス上のモバイルゲーム内の、又はそれに関連付けられたプレイヤー体験を更新又は修正することができる。USSエンジン140は、セグメントの進入及び退出を管理するために、リアルタイムセグメンテーションエンジン126及びバッチセグメンテーションエンジン130の出力を統合することができ、セグメントは、リアルタイムセグメント又はバッチセグメントのいずれかであり得る。例えば、リアルタイムセグメンテーションエンジン126及びバッチセグメンテーションエンジン130は、プレイヤーIDをセグメント定義で指定された特定のセグメントIDにマッピングするために使用され得るプレイヤーセグメントマッピング情報をUSSエンジン140に渡すことができる。実施形態では、プレイヤーセグメントマッピング情報は、プレイヤーセグメントキー値ペア(例えば、プレイヤーID、セグメントID)で構成することができるが、追加及び/又は代替情報は、プレイヤーセグメントマッピング情報(例えば、属性、プレイヤーの場所など)に含めることができる。追加の実施形態では、生存時間(TTL)は、セグメントマッピング(及び、したがって、セグメント)がTTLによって指定された所定の時間間隔の後に期限切れになることを可能にするために、プレイヤーセグメントマッピングのいずれか又は全てに割り当てられ得る。
【0034】
本発明の一実施形態によれば、USSエンジン140は、プッシュ通知サービスをサポートして、プレイヤーのクライアントデバイスにパーソナライズアップデートをプッシュし、セグメントへの進入又は退出に基づいて、プレイヤーのモバイルゲーム体験をカスタマイズ又はそうでなければパーソナライズすることができる。しかしながら、USSエンジン140は、モバイルゲーム内で、又はモバイルゲームに関連付けられたプレイヤー体験を更新する、カスタマイズする、パーソナライズする、修正する、又はそうでなければ構成することが可能である任意の好適なタイプの技術又は機構をサポートすることができる。限定ではなく説明の目的で、USSエンジン140は、LTOプッシュ通知及びトリガされたプッシュ通知をサポートすることができる。実施形態では、USSエンジン140は、アマゾン単純キューサービス(SQS)メッセージを好適なプッシュ通知サービスに送信することができ、好適なプッシュ通知サービスは、そのようなメッセージを取り込み、プレイヤーのクライアントデバイスにLTO又はトリガされたプッシュ通知を送信することができる。SQSは、ユーザがマイクロサービス、分散システム、及びサーバレスアプリケーションを分離及び拡張できるようにする、完全に管理されたメッセージキューイングサービスである。例えば、新規LTOに関連付けられたセグメントに入るプレイヤーは、LTOが利用可能であることを通知するLTOプッシュ通知をクライアントデバイスで受信することができる。実施形態では、各LTOは、マーケティングキャンペーンに関連付けることができる。プレイヤーがLTOに関連付けられたセグメントに進入すると、USSエンジン140は、LTO及びLTOに関連付けられたマーケティングキャンペーンの検索又は取得(Redisなどの好適なデータベース又は分散キャッシュから)を実行することができる(例えば、LTO及び関連付けられたマーケティングキャンペーンが存在することを保証するために)。USSエンジン140はまた、セグメントに進入したプレイヤーのプロファイルの検索又は取得を実行することができる。USSエンジン140は、次いで、プレイヤーによってプレイされているモバイルゲーム又は任意の他の適切なモバイルゲーム(例えば、その日、その週、その月の最もプレイされたモバイルゲームなど)にゲームIDを設定することができる。取得された情報及びゲームIDに基づいて、USSエンジン140は、LTOのためのプレイヤーのための適切なプッシュメッセージを構築することができる。USSエンジン140は、メッセージを配信するためにプッシュ通知サービス又は他のプッシュプロバイダを識別する、又はそうでなければ判定することができ、次いで、識別されたサービスを使用して、プレイヤーのクライアントデバイスにLTOプッシュ通知を送信することができる。クライアントデバイスによって受信されると、LTOプッシュ通知は、クライアントデバイスを更新して、プレイヤーにLTOを表示するように構成され得る(例えば、クライアントデバイス上で実行されるモバイルゲームの内側又は外側のいずれか)。他のタイプのプッシュ通知も可能である。
【0035】
実施形態では、トリガされたプッシュ通知は、プレイヤーからのイベントによってトリガされる、プレイヤーへのパーソナライズされた情報のプッシュであり得る。トリガされたプッシュ通知は、トリガに含まれるどのプレイヤーが、プレイヤーが属するセグメントに基づいてプッシュを受信すべきかを判定するために使用され得る。例えば、トリガされたプッシュ通知は、プレイヤーがそれらのセグメントのうちのいずれか1つに入る(又は出る)場合、プレイヤーが属する任意のセグメント又は複数のセグメントをパーソナライズするために使用され得る。プレイヤーが(例えば、プレイヤーアクティビティを介して)イベントを生成する場合、USSエンジン140は、イベントを生成したプレイヤーのプロファイルの(適切なデータベース又はRedisなどの分散キャッシュからの)検索又は取得を実行することができる。USSエンジン140はまた、(例えば、プレイヤーの取得されたプロファイル情報を使用して)イベントを生成したプレイヤーについての全てのセグメント(リアルタイム及びバッチの両方)の検索又は取得を実行することができる。プレイヤーがトリガされたプッシュ通知に関連付けられた1つ以上のセグメントに属する場合、USSエンジン140は、プレイヤーによってプレイされているモバイルゲーム、又は任意の他の適切なモバイルゲーム(例えば、その日、その週、その月の最もプレイされたモバイルゲームなど)にゲームIDを設定することができる。取得された情報及びゲームIDに基づいて、USSエンジン140は、プレイヤーのための適切な(トリガされた)プッシュメッセージを構築することができる。USSエンジン140は、メッセージを配信するためにプッシュ通知サービス又は他のプッシュプロバイダを識別する、又はそうでなければ判定することができ、次いで、識別されたサービスを使用して、トリガされたプッシュ通知をプレイヤーのクライアントデバイスに送信することができる。クライアントデバイスによって受信されると、トリガされたプッシュ通知は、モバイルゲーム内で、又はモバイルゲームに関連付けられたプレイヤー体験をパーソナライズ若しくはカスタマイズする、又はパーソナライズ若しくはカスタマイズを引き起こすように構成され得る。
【0036】
実施形態では、インストール後に初めてモバイルゲームに入る、又はモバイルゲームに参加する新規プレイヤー(「新規プレイヤー」であることを除く)のための様々な特徴及び挙動を識別することに遅延があり得る。例えば、そのような特性及び挙動が十分に識別される前に、各新規プレイヤーがモバイルゲームと十分に対話又は関与するのに時間がかかる場合がある。このような状況は、新規プレイヤーを1つ以上のセグメントに割り当てる最初の遅延を引き起こす可能性がある。一実施形態によれば、将来のプレイヤーは、モバイルゲーム又は他の初期イベントをインストールして参加する前に、1つ以上のセグメントに事前にセグメント化することができる。実施形態では、複数のセグメントは、リアルタイムセグメンテーションエンジン126、バッチセグメンテーションエンジン130、又はその両方の組み合わせによって事前生成することができる。本発明のいくつかの実施形態に従って、任意の好適な数のセグメントを事前生成することができる。事前生成された各セグメントは、プレイヤー特性及び/又は挙動の任意の好適な組み合わせに基づくことができ、事前生成された各セグメントは、任意の好適な様式で新規プレイヤーのためのモバイルゲーム体験をパーソナライズするために使用されることができる。そのような事前生成されたセグメントは、それらが存在する前に将来のプレイヤーに割り当てられ、プレイヤー体験の様々な態様が、プレイヤーが初めてモバイルゲームと対話する、又はそうでなければ関与する前にカスタマイズされ得るように、モバイルゲームに参加することができる。実施形態では、事前生成されたセグメントは、存在し、将来のある時点で割り当てられるプレイヤー識別(ID)に関連付けられ得、各プレイヤーIDは、例えば、数字及び/又は文字又は他の適切な一意の識別子の任意の適切な一意の組み合わせであり得る。リアルタイムセグメンテーションエンジン126及び/又はバッチセグメンテーションエンジン130は、複数のプレイヤーIDを事前に割り振ることができ、1つ以上の事前生成されたセグメントを事前に割り振られた各プレイヤーIDに割り当てる、又は関連付けることができる。任意の好適な数のプレイヤーIDが事前に割り振られ得、任意の好適な数のセグメントがそのような方法で事前生成され得る。
【0037】
新規プレイヤーがモバイルゲームをインストールして参加すると、各新規プレイヤーは、次の連続した事前に割り振られたプレイヤーID、最小番号の利用可能な事前に割り振られたプレイヤーID、又は事前に割り振られたプレイヤーIDのうちの任意の適切な1つなどの事前に割り振られたIDのうちの1つを、例えば、新規プレイヤーが自分のゲームアカウントを作成したとき又は他の好適な基準に基づいて割り当てられることができる。事前に割り振られた各プレイヤーIDに関連付けられた1つ以上の事前生成されたセグメントが存在し得るので、新規プレイヤーは、モバイルゲームに参加した後、すぐに(又はその後すみやかに)割り当てられ、事前に割り振られたプレイヤーIDに関連付けられた1つ以上の事前生成されたセグメントを入力することができる。代替の実施形態では、各新規プレイヤーは、新規プレイヤーの特性/挙動とセグメントの特性/挙動との間の対応に基づいて、1つ以上の事前生成されたセグメントに割り当てられ得る。限定ではなく例示の目的のために、特定の地理的場所、デバイスプラットフォーム、及びデバイスOSバージョンを有する新規プレイヤーは、モバイルゲームをインストールして参加するとすぐに(又はその後すみやかに)、同一又は重複する特性を有する事前生成されたセグメントに割り当てることができる。そのような代替の実施形態では、新規プレイヤーは、新規プレイヤーが割り当てられたセグメントに関連付けられたプレイヤーIDを割り当てることができる。新規プレイヤーが複数の事前生成されたセグメントに割り当てられている場合、新規プレイヤーには、例えば、最も優先度の高いセグメントに関連付けられたプレイヤーIDを割り当てることができる。本発明のいくつかの実施形態によれば、新規プレイヤーは、ゲームアカウントの作成後、モバイルゲーム内の初期訓練又は初回経験の完了後、又は任意の他の好適な時点など、モバイルゲームに参加するとすぐに(又はその後すみやかに)セグメント化され得る。
【0038】
図5は、本開示の実施形態による、クライアントアプリケーションのユーザを事前にセグメント化する例示的な方法500を示すブロック図である。実施形態では、方法500は、リアルタイムプロセス(例えば、
図1のリアルタイムセグメンテーションエンジン126を使用する)、バッチプロセス(例えば、
図1のバッチセグメンテーションエンジン130を使用する)、又は両方の組み合わせを使用して実行することができる。限定ではなく、説明の目的のためにのみ、方法500は、バッチセグメンテーションエンジン130を参照して、本実施形態の様々な態様を例示する。しかしながら、方法500は、リアルタイムセグメンテーションエンジン126、バッチセグメンテーションエンジン130、又はその両方の組み合わせによって実行することができる。ブロック505において、例えば、バッチセグメンテーションエンジン130によってなど、複数のプレイヤーIDを事前に割り振ることができる。任意の好適な数のプレイヤーIDを事前に割り振ることができる。ブロック510において、バッチセグメンテーションエンジン130は、複数のセグメントを事前生成することができる。任意の好適な数のセグメントは、バッチセグメンテーションエンジン130によって事前生成されてもよい。ブロック515において、バッチセグメンテーションエンジン130は、複数の事前生成されたセグメントのうちの1つ以上を事前に割り振られた各プレイヤーIDに関連付けることができる。ブロック520において、新規プレイヤーがモバイルゲームをインストールして参加したことを示す指示又は他の適切な通知を受信することができる。例えば、指示は、新規プレイヤーがモバイルゲームでゲームアカウントを作成したときに受信することができる。実施形態では、指示は、バッチセグメンテーションエンジン130によって受信することができる。ブロック525において、複数の事前に割り振られたプレイヤーIDのうちの1つは、次の連続した事前に割り振られたプレイヤーID、最小番号の利用可能な事前に割り振られたプレイヤーID、又は複数の事前に割り振られたプレイヤーIDのいずれか好適な1つなど、新規プレイヤーに割り当てることができる。実施形態では、バッチセグメンテーションエンジン130は、事前に割り振られたプレイヤーIDを新規プレイヤーに割り当てることができるが、事前に割り振られたプレイヤーIDは、サーバシステム120で実行する、又はそうでなければ動作する任意の適切なプロセス(例えば、リアルタイムプロセス、バッチプロセス、又はその両方の組み合わせ)によって割り当てることができる。ブロック530において、バッチセグメンテーションエンジン130は、新規プレイヤーを、割り当てられた事前に割り振られたプレイヤーIDと関連付けられた1つ以上の事前生成されたセグメントに割り当てることができる。ブロック535において、バッチセグメンテーションエンジン130は、割り当てられた1つ以上の事前生成されたセグメントの設定に基づいて、新規プレイヤーのためのプレイヤー体験をパーソナライズすることができる。ブロック540において、パーソナライズされたプレイヤー体験をモバイルゲームの新規プレイヤーに提供することができる。例えば、バッチセグメンテーションエンジン130は、割り当てられた1つ以上の事前生成されたセグメントの設定に基づいて、新規プレイヤーのモバイルデバイス上で実行するモバイルゲームを好適に修正することができる。新規プレイヤーに対する事前生成されたセグメントの初期割り当ての後、プレイヤーは、例えば、
図2に示される方法200に従って、プレイヤーがモバイルゲーム内で及びモバイルゲームと対話し続けるにつれて、リアルタイムのセグメンテーションエンジン126によって他の(事前生成されていない)セグメントにリアルタイムで割り当てられ得る。
【0039】
モバイルゲーム内の、又はモバイルゲームに関連付けられた初期プレイヤー体験の任意の好適な態様は、新規プレイヤーが追加される事前生成されたセグメントに基づいて、新規プレイヤーのために更新、カスタマイズ、修正、又は他の方法でパーソナライズされ得る。例えば、リアルタイムセグメンテーションエンジン126、バッチセグメンテーションエンジン130、又はその両方の組み合わせは、モバイルゲームのグラフィカル表示のいずれか又は全ての態様(例えば、モバイルゲームによって表示されるグラフィカルインターフェースの「ルックアンドフィール」のいずれかの態様などの、モバイルゲームの1つ以上のグラフィカル要素)、モバイルゲーム内に表示される情報、モバイルゲームの特徴及び機能性などをパーソナライズすることができる。限定ではなく例示の目的のためにのみ、リアルタイムセグメンテーションエンジン126、バッチセグメンテーションエンジン130、又はその両方の組み合わせは、モバイルゲームのグラフィカルディスプレイをパーソナライズして、例えば、プレイヤーインセンティブ、特別オファー、広告などをモバイルゲーム内又はモバイルゲーム内の新規プレイヤーに表示することができる。実施形態では、異なるプレイヤーインセンティブ、特別オファー、広告などは、新規プレイヤーが追加される事前生成されたセグメントに基づいて、モバイルゲームの新規プレイヤーに表示され得る。パーソナライゼーションのタイプは、事前生成された各セグメントの定義又は関連付けられた設定の一部として指定することができる。例えば、事前セグメンテーションは、初回ユーザ体験(FTUE)などのモバイルゲームの初期又は初期の態様をカスタマイズ及び/又は最適化するために使用され得る。限定ではなく例示の目的のために、事前生成されたセグメントパーソナライゼーション設定は、例えば、新規プレイヤーに適用可能な特別なLTOであり得る。実施形態では、1つ以上の特別なLTOは、新規プレイヤーがモバイルゲームでFTUEを完了してすぐに、又はその後すみやかに、新規プレイヤーに提示され得る。
【0040】
追加的又は代替的に、事前セグメンテーションは、モバイルゲームにおける新規プレイヤーのオンボーディング体験の様々な態様のテスト(例えば、A/Bテストなど)をサポートするために使用され得る。実施形態では、事前セグメンテーションは、互いに対するユーザ体験の異なる初期構成のテスト及び比較をより迅速かつ効率的にサポートするために使用され得る。例えば、A/Bテスト(又は他の適切なテスト)は、新規プレイヤーが割り当てられている事前生成されたセグメントに基づいて、モバイルゲーム内の新規プレイヤーの初期期間内(例えば、インストール、参加、モバイルゲームアカウントの作成などの最初の数分間内)に実行されてもよい。結果として、事前セグメンテーションは、例えば、異なる新規プレイヤーにわたって異なるLTOの効果を同時にテストするなど、モバイルゲームにおける1つ以上の新規プレイヤーの初期経験の異なる態様に対してテストを実行する能力を提供することができる。そのようなテストは、例えば、モバイルゲームにおける新規プレイヤーの初期又は初回の経験を最適化するために使用され得る。
【0041】
図6は、本開示の実施形態による、クライアントアプリケーションのユーザをセグメント化する例示的な方法600を示すブロック図である。実施形態では、方法600は、リアルタイムプロセス(例えば、
図1のリアルタイムセグメンテーションエンジン126を使用する)、バッチプロセス(例えば、
図1のバッチセグメンテーションエンジン130を使用する)、又は両方の組み合わせを使用して実行することができる。更に、実施形態では、方法600は、クライアントアプリケーションのユーザのリアルタイムセグメンテーション及び/又は事前セグメンテーションに使用することができる。限定ではなく、単に議論の目的のために、方法600は、本実施形態の様々な態様を図示するために、リアルタイムセグメンテーションエンジン126を参照する。しかしながら、方法600は、リアルタイムセグメンテーションエンジン126、バッチセグメンテーションエンジン130、又はその両方の組み合わせによって実行することができる。
【0042】
ブロック605において、ユーザと、アプリケーションクライアントを動作させるように構成されたモバイルデバイスとの第1の対話を特徴付ける第1の対話データが、受信され得る。例えば、いくつかの実施形態では、第1の対話データは、クライアントアプリケーションとのユーザの対話又は関与を特徴付けることができる。いくつかの実施形態では、第1の対話データは、クライアントアプリケーションの外部のモバイルデバイスとのユーザの対話を特徴付けることができる。例えば、そのようなアプリケーション外のユーザアクティビティは、クライアントアプリケーションの外部の広告クリック又は他の同様のアクティビティを含むことができる。したがって、ユーザ対話は、ユーザによって生成されたアクション、イベント、又は他の対話に関連付けられた、任意の好適なタイプのアプリケーション内又はアプリケーション外の情報であり得る。実施形態では、第1の対話データは、リアルタイムセグメンテーションエンジン126によって受信することができる。
【0043】
ブロック610において、クライアントアプリケーションのユーザの複数のセグメントが判定され得、セグメントの各々が、アプリケーションクライアントの動作パラメータを特徴付ける1つ以上の設定に関連付けられ得る。実施形態では、複数のセグメントは、事前定義されるか、又は動的に生成されることができ、静的であることができ、又は動的に変化することができ、任意の好適なサイズであることができ(例えば、任意の適切な数のユーザで構成されていることができる)、かつ各々が、1人以上のユーザの特性、挙動などに関連付けられることができる。実施形態では、複数のセグメントは、リアルタイムセグメンテーションエンジン126によって判定することができる。
【0044】
ブロック615において、リアルタイムセグメンテーションエンジン126は、ユーザの特性と判定された複数のセグメントのうちの第1のセグメントに関連付けられた特性との間の対応に基づいて、第1のセグメントにユーザを割り当てることができる。例えば、複数のセグメントの各セグメントは、1つ以上の属性に従って定義され得るので、ユーザの属性は、ユーザアクティビティが複数のセグメントの1つ以上への進入を満たすかどうかを判定するために、複数のセグメントについて定義された属性と比較され得る。実施形態では、判定された複数のセグメントの各々は、優先度分類を含み得、ユーザは、含まれた優先度分類に基づいて第1のセグメントに割り当てられ得る。
【0045】
ブロック620において、リアルタイムセグメンテーションエンジン126は、第1のセグメントに関連付けられた1つ以上の設定に基づいて、モバイルデバイス上で動作するアプリケーションクライアントを修正することができる。例えば、実施形態では、リアルタイムセグメンテーションエンジン126は、第1のセグメントに関連付けられた1つ以上の設定に基づいて、アプリケーションクライアントのグラフィック表示を修正することができる。
【0046】
ブロック625において、リアルタイムセグメンテーションエンジン126は、修正されたアプリケーションクライアントをモバイルデバイスに提供することができ、ユーザは、モバイルデバイスを介して修正されたアプリケーションクライアントと対話することができる。
【0047】
いくつかの実施形態では、ユーザとモバイルデバイスとの第2の対話を特徴付ける第2の対話データを受信することができ、受信した第2の対話データに基づいて、ユーザを複数のセグメントのうちの第2のセグメントに割り当てることができる。修正されたアプリケーションクライアントは、第2のセグメントに関連付けられた1つ以上の設定に基づいて更に修正され得、更に修正されたアプリケーションクライアントは、モバイルデバイスを介して更に修正されたアプリケーションクライアントとのユーザの対話のためにモバイルデバイスに提供され得る。いくつかの実施形態では、更に修正されたアプリケーションクライアントの提供は、更に修正されたアプリケーションクライアントを特徴付けるプッシュ通知を判定すること、及びモバイルデバイスが更に修正されたアプリケーションクライアントを動作させるように構成されるように、プッシュ通知をモバイルデバイスに送信させることを含むことができる。
【0048】
いくつかの実施形態では、アプリケーションクライアントの1人以上のユーザの集団を特徴付ける特性データを受信することができ、複数のセグメントのうちの1つ以上を受信された特性データに基づいて修正することができる。いくつかの実施形態では、特性データは、集団の1つ以上の挙動を特徴付ける属性を特徴付けることができる。いくつかの実施形態では、特性データは、属性と属性のタイプに基づく所定の閾値との間の比較を特徴付ける基準を特徴付けることができる。
【0049】
図7は、本実施形態による、本明細書に記載された動作のうちの1つ以上を実行し得る例示的なコンピューティングデバイス700のブロック図である。コンピューティングデバイス700は、LAN、イントラネット、エクストラネット、及び/又はインターネット内の他のコンピューティングデバイスに接続されてもよい。コンピューティングデバイス700は、クライアントサーバネットワーク環境におけるサーバマシンの能力で、又はピアツーピアネットワーク環境におけるクライアントの能力で動作し得る。コンピューティングデバイス700は、パーソナルコンピュータ(PC)、セットトップボックス(STB)、サーバ、ネットワークルータ、スイッチ若しくはブリッジ、又はそのマシンによって取られるアクションを指定する命令のセット(シーケンシャル若しくはそれ以外)を実行することができる任意のマシンによって提供されてもよい。更に、単一のコンピューティングデバイス700だけが示されているが、「コンピューティングデバイス」という用語は、本明細書で考察される方法を実行するために命令のセット(又は複数のセット)を個別に又は共同で実行するコンピューティングデバイスの任意の集合も含むと解釈されるべきである。
【0050】
例示的なコンピューティングデバイス700は、コンピュータ処理デバイス702(例えば、汎用プロセッサ、ASICなど)、メインメモリ704、静的メモリ706(例えば、フラッシュメモリなど)、及びバス730を介して互いに通信し得るデータ記憶デバイス708を含んでもよい。コンピュータ処理デバイス702は、マイクロプロセッサ、中央処理ユニットなどの1つ以上の汎用処理デバイスによって提供されてもよい。例示的な例では、コンピュータ処理デバイス702は、複雑な命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、非常に長い命令ワード(VLIW)マイクロプロセッサ、又はその他の命令セットを実装するプロセッサ、又は命令セットの組み合わせを実装するプロセッサを含み得る。また、コンピュータ処理デバイス702は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどの1つ以上の専用処理デバイスを含んでもよい。コンピュータ処理デバイス702は、本明細書で説明される動作及びステップを実行するために、本開示の1つ以上の態様に従って、本明細書で説明される動作を実行するように構成され得る。
【0051】
コンピューティングデバイス700は、ネットワーク714と通信し得るネットワークインターフェースデバイス712を更に含んでもよい。データ記憶デバイス708は、本開示の1つ以上の態様に従って、1つ以上の命令セット、例えば、本明細書に記載される動作を実行するための命令が記憶されてもよい機械可読記憶媒体728を含んでもよい。また、コア論理命令726を実装する命令718は、コンピュータ可読媒体を構成するコンピューティングデバイス700、メインメモリ704、及びコンピュータ処理デバイス702による実行中に、完全に又は少なくとも部分的に、メインメモリ704内、及び/又はコンピュータ処理デバイス702内に存在し得る。命令は更に、ネットワークインターフェースデバイス712を介してネットワーク714を介して送信又は受信され得る。
【0052】
機械可読記憶媒体728は、例示的な例では、単一の媒体であることが示されているが、「コンピュータ可読記憶媒体」という用語は、1つ以上の命令セットを記憶する単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース及び/又は関連するキャッシュ及びサーバ)を含むと解釈されるべきである。「コンピュータ可読記憶媒体」という用語はまた、機械による実行のための一連の命令を記憶、符号化、又は搬送することが可能であり、機械に本明細書に記載される方法を実行させる任意の媒体を含むと解釈されるべきである。したがって、「コンピュータ可読記憶媒体」という用語は、固体メモリ、光学媒体、磁気媒体などを含むが、これらに限定されないと解釈されるものとする。
【0053】
本明細書に記載される主題は、多くの技術的利点を提供する。例えば、本発明のいくつかの実装形態は、クライアント及びサーバ構成パラメータ(例えば、システム設定)の修正及び/又は動的更新を可能にすることができ、これは、クライアントアプリケーション動作の動的かつ柔軟な制御を可能にすることができる。したがって、本発明のいくつかの実装形態は、より良い全体的なシステム体験を提供することができる。加えて、本発明のいくつかの実装形態は、ユーザをセグメントにグループ化することによって、コンピュータ処理及びメモリの効率及び使用率を改善することができ、その結果、ユーザ体験のパーソナライゼーション又はカスタマイズは、各ユーザのユーザ体験を個別に管理するのではなく、多数のユーザに対してセグメントレベルで管理することができる。ユーザをセグメントにグループ化しなければ、例えば、数百万又は数千万のユーザを有するクライアントアプリケーションにとって、個々のユーザ体験を管理することは事実上不可能であろう。例えば、各セグメントは、コンピュータハードウェアリソース上で実行されるソフトウェアコンポーネントからなり得る。ユーザをセグメントにグループ化することにより、同じコンピュータハードウェアリソース(例えば、コンピュータ処理及びメモリ)を多数のユーザ(例えば、数十万、数百万、数千万など)に対して使用することが可能になり、コンピュータリソース使用率の大幅な最適化をもたらすことができる。本発明のいくつかの実装形態では、ユーザを事前にセグメント化することは、リアルタイムでユーザをセグメント化するよりもコンピュータリソースの負荷を少なくすることができる(例えば、将来のユーザのデフォルトのユーザ体験は、オンザフライで実行されるのではなく、事前計算され得るため)。したがって、ユーザを事前にセグメント化することによって、コンピュータ処理及びメモリの効率及び使用率を、特にユーザの数が多い又は非常に多いクライアントアプリケーションに対して劇的に改善することができる。
【0054】
本開示に記載する主題の実施形態及び動作の実施形態は、デジタル電子回路の中に、又はコンピュータのソフトウェア、ファームウェア若しくは本開示に開示された構造及びそれらの構造的等価物を含むハードウェアの中に、又はそれらの1つ以上の組み合わせの中に、実装することができる。本開示に記載する主題の実施形態は、1つ以上のコンピュータプログラム、すなわち、データ処理装置による実行、又はデータ処理装置の作動を制御するために、コンピュータ記憶媒体に符号化されたコンピュータプログラム命令の1つ以上のモジュール、として実装することができる。代替的に又は追加的に、プログラム命令は、人工的に生成された伝搬信号、例えば、データ処理装置による実行のために適切な受信装置に送信するための情報を符号化するために生成される、機械生成の電気、光、又は電磁信号上に符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムアクセス若しくはシリアルアクセスメモリアレイ若しくはデバイス、又はそれらの1つ以上の組み合わせであり得る、又はその中に含まれ得る。更に、コンピュータ記憶媒体は、伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号に符号化されたコンピュータプログラム命令のソース又は宛先であり得る。コンピュータ記憶媒体はまた、1つ以上の別個の物理構成要素又は媒体(例えば、複数のCD、ディスク、又は他の記憶デバイス)であってもよく、又は1つ以上の別個の物理構成要素又は媒体に含まれ得る。
【0055】
本開示で説明される動作は、1つ以上のコンピュータ可読記憶デバイスに記憶された、又は他のソースから受信されたデータに対してデータ処理装置によって実行される動作として実装され得る。
【0056】
「データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ処理デバイス、コンピュータ、チップ上のシステム、又は前述の複数のもの、若しくは組み合わせを含む、データを処理するためのあらゆる種類の装置、デバイス、及び機械を包含する。コンピュータ処理デバイスは、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)、中央処理ユニット(CPU)、マルチコアプロセッサ等を含み得る1つ以上のプロセッサを含み得る。装置はまた、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、又はそれらのうちの1つ以上の組み合わせを構成するコードを含むことができる。装置及び実行環境は、ウェブサービス、分散コンピューティング、及びグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
【0057】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイルされる言語又は解釈される言語、宣言的、手続き的又は機能的言語を含む任意の形態のプログラミング言語で記述され得、それは、スタンドアロンプログラムとして、あるいはモジュール、コンポーネント、サブルーチン、オブジェクト、又はコンピューティング環境において使用に好適な他のユニットを含む、任意の形式で展開され得る。コンピュータプログラムは、必要ではないが、ファイルシステムにおけるファイルに対応し得る。プログラムは、他のプログラム若しくはデータ(例えば、マークアップ言語リソースに記憶された1つ以上のスクリプト)を保持するファイルの一部分に、問題のプログラム専用の単一のファイルに、又は複数のコーディネートされたファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの一部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのサイトに位置するか、又は複数のサイトにわたって分散され、かつ通信ネットワークによって相互接続される1つのコンピュータ又は複数のコンピュータ上で実行されるように展開され得る。
【0058】
本開示で説明するプロセス及び論理フローは、入力データに基づいて作動し、かつ出力を生成することによりアクションを実行するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行することができる。また、プロセス及び論理フローは、特殊用途の論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)によって実行することができ、装置もまた、そのように実装することができる。
【0059】
コンピュータプログラムの実行に適したプロセッサには、例として、汎用及び専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサが含まれる。一般に、プロセッサは、読み取り専用メモリ、ランダムアクセスメモリ、又はその両方から命令及びデータを受信する。コンピュータの最も重要なエレメントは、命令に従うアクションを実行するためのプロセッサ、並びに命令及びデータを記憶するための1つ以上のメモリデバイスである。一般に、コンピュータは更に、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気ディスク、光磁気ディスク、光ディスク、スリッドステートドライブなどからデータを受信するため、又はデータを転送するため、あるいはその両方を行うために、それらを含む、あるいは動作可能に連結している。しかし、コンピュータは、そのようなデバイスを有する必要はない。更に、コンピュータは、他のデバイス、例えば、ごく一部ながら例を挙げれば、スマートフォン、携帯オーディオ又はメディアプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、又は携帯記憶デバイス、例えば、ユニバーサルシリアルバス(USB)フラッシュドライブに組み込むことが可能である。コンピュータプログラム命令及びデータを記憶するのに適したデバイスは、あらゆる形態の不揮発性メモリ、媒体及びメモリデバイスを含み、例として半導体メモリデバイス、例えばEPROM、EEPROM及びフラッシュメモリデバイス;磁気ディスク、例えば内蔵ハードディスク又は取り外し可能ディスク;光磁気ディスク;及びCD-ROM及びDVD-ROMディスクを含む。プロセッサ及びメモリは、特殊用途の論理回路によって補足されるか、又は特殊用途の論理回路に組み込まれることができる。
【0060】
ユーザとの対話を提供するために、本明細書に記載の主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(カソードレイチューブ)、LCD(液晶ディスプレイ)モニタなどを有するコンピュータ上で実装することができ、キーボード及びポインティングデバイス、例えば、マウス、トラックボール、タッチパッド、スタイラスなどであって、ユーザはそれによってコンピュータに入力を提供することができる。他の種類のデバイスは、ユーザとの対話を提供するためにも使用され得、例えば、ユーザに提供されるフィードバックは、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックなどの、任意の形態の感覚フィードバックであり得、ユーザからの入力は、音響、発話、又は触覚入力を含む任意の形態で受信され得る。更に、コンピュータは、ユーザによって使用されるデバイスにリソースを送信し、ユーザからリソースを受信することによって、例えば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0061】
本開示に記載する主題の実施形態は、バックエンドコンポーネントを、例えばデータサーバとして含むか、ミドルウェアコンポーネントを、例えばアプリケーションサーバとして含むか、又はフロントエンドコンポーネントを、例えば、ユーザが本明細書に記載の主題の実装形態と対話可能なグラフィカルユーザインターフェース又はWebブラウザを有するクライアントコンピュータを含むか、あるいは1つ以上のそのようなバックエンド、ミドルウェア、又はフロントエンドコンポーネントの任意の組み合わせを含む、コンピューティングシステムに実装することができる。システムのコンポーネントは、デジタルデータ通信の任意の形態又は媒体、例えば、通信ネットワークによって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)及び広域ネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、ピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)などが含まれる。
【0062】
コンピューティングシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは、一般に、互いに遠隔であり、典型的には、通信ネットワークを介して対話する。クライアント及びサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムのおかげで生じる。いくつかの実施形態では、サーバは、データ(例えば、HTMLページ)をクライアントデバイスに送信する(例えば、データをクライアントデバイスと対話するユーザに表示し、ユーザ入力をクライアントデバイスと対話するユーザから受信する目的で)。クライアントデバイスで生成されたデータ(例えば、ユーザ対話の結果)は、サーバでクライアントデバイスから受信することができる。
【0063】
1つ以上のコンピュータのシステムは、動作中にシステムにアクションを実行させる、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせをシステムにインストールさせることによって、特定の動作又はアクションを実行するように構成され得る。1つ以上のコンピュータプログラムは、データ処理装置によって実行されるときに、装置にアクションを実行させる命令を含むことによって、特定の動作又はアクションを実行するように構成され得る。
【0064】
「一実施形態」または「実施形態」への本開示を通した言及は、実施形態に関連して説明された特定の特徴、構造、又は特性が少なくとも一実施形態に含まれ得ることを意味する。それ故に、「一実施形態では」又は「実施形態では」のフレーズの本明細書中の様々な場所での出現は、必ずしも全てが同じ実施形態に言及しているわけではない。更に、「又は」という用語は、排他的な「又は」ではなく、包括的な「又は」を意味することが意図される。
【0065】
本開示には多くの具体的な実装形態の詳細が含まれているが、これらは本発明の特許請求の範囲に対する制限として解釈されるべきではなく、むしろ特定の発明の特定の実施形態に固有の特徴の記述として解釈されるべきである。別個の実施形態の文脈で本開示に記載する特定の特徴は、単一の実施形態において組み合わせて実施することもできる。逆に、単一の実施形態の文脈で説明する様々な特徴は、複数の実施形態において別々に、又は任意の適切なサブ組み合わせで実施することもできる。更に、特徴は、特定の組み合わせで作用するものとして上記で説明し、及び当初は更にそのように特許請求の範囲としたが、特許請求の範囲とした組み合わせからの1つ以上の特徴は、場合によっては組み合わせから削除できるとともに、特許請求の範囲とした組み合わせは、サブ組み合わせ又はサブ組み合わせのバリエーションに移され得る。
【0066】
同様に、図面には特定の順序で作動が描かれているが、これは、望ましい結果を得るために、そのような作動を示された特定の順序で、又は順次実行すること、あるいは図示された全ての作動を実行することを必要とすると理解すべきではない。特定の状況においては、マルチタスク及び並列処理が有利である場合がある。更に、上述した実施形態における様々なシステムコンポーネントの分離は、全ての実施形態においてそのような分離が必要であると理解されるべきではなく、更には、説明したプログラムコンポーネント及びシステムは、一般に、単一のソフトウェア製品において一緒に統合することができるか、又は複数のソフトウェア製品にパッケージ化することができると理解されるべきである。
【0067】
このように、主題における特定の実施形態を説明してきた。他の実施形態は、以下の特許請求の範囲の範囲内である。場合によっては、特許請求の範囲に列挙した行為は、異なる順序で実行することができ、かつそれでも望ましい結果を得ることができる。加えて、添付の図に描かれたプロセスは、望ましい結果を得るために、必ずしも示した特定の順序、すなわち順次的な順序を必要としない。特定の実装形態においては、マルチタスク及び並列処理が有利である場合がある。
【0068】
本発明の示された実装形態についての上述した説明は、排他的であるか又は、本発明を開示したものと全く同じ形態に限定するように図るものではない。本発明の具体的な実装形態及び実施例は、例示的な目的のために本明細書に記載されているが、関連技術分野の当業者が認識するように、本開示の範囲内で様々な等価な修正が可能である。「実施例」又は「例示的」という言葉は、本明細書では、「例、実例、又は例示として役立つ」ことを意味するために使用される。「実施例」又は「例示的な」として本明細書に記載される任意の態様又は設計は、必ずしも他の態様又は設計よりも好ましい又は有利であると解釈されるべきではない。むしろ、「実施例」又は「例示的」という単語の使用は、具体的な方法で概念を提示することが意図される。本出願で使用される場合、「又は」という用語は、排他的な「又は」ではなく、包括的な「又は」を意味することが意図される。すなわち、特に指定されない限り、又は文脈から明らかでない限り、「XはA又はBを含む」は、自然な包括的順列のいずれかを意味することが意図される。すなわち、XがAを含むか、XがBを含むか、又はXがAとBの両方を含む場合、「XはA又はBを含む」は、前述の例のいずれかの下で満たされる。更に、本出願及び添付の特許請求の範囲で使用される冠詞「a」及び「an」は、別様に指定されない限り、又は単数形に向けられる文脈から明確でない限り、一般に「1つ以上」を意味すると解釈されるべきである。更に、「実施形態」又は「一実施形態」又は「実装形態」又は「一実装形態」という用語の全体にわたる使用は、そのように説明されない限り、同じ実施形態又は実装形態を意味することを意図しない。更に、本明細書で使用される「第1の」、「第2の」、「第3の」、「第4の」などの用語は、異なる要素を区別するためのラベルとして意味され、必ずしもそれらの数値指定に従って順序的な意味を有し得るわけではない。
【国際調査報告】