(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-20
(45)【発行日】2023-11-29
(54)【発明の名称】ゲーミングプロセスのデータあふれ検査および改善された実行
(51)【国際特許分類】
A63F 13/70 20140101AFI20231121BHJP
A63F 13/79 20140101ALI20231121BHJP
A63F 13/45 20140101ALI20231121BHJP
G06F 16/9035 20190101ALI20231121BHJP
A63F 13/30 20140101ALI20231121BHJP
A63F 13/60 20140101ALI20231121BHJP
【FI】
A63F13/70
A63F13/79
A63F13/45
G06F16/9035
A63F13/30
A63F13/60
【外国語出願】
(21)【出願番号】P 2022130755
(22)【出願日】2022-08-18
(62)【分割の表示】P 2020550609の分割
【原出願日】2019-03-13
【審査請求日】2022-09-16
(32)【優先日】2018-03-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520317055
【氏名又は名称】ロブロックス・コーポレーション
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】アスワス・マノハラン
(72)【発明者】
【氏名】ニコラウス・ゾンターク
(72)【発明者】
【氏名】セジャル・チョーハン
(72)【発明者】
【氏名】デイヴィッド・アリア
【審査官】岸 智史
(56)【参考文献】
【文献】米国特許出願公開第2017/0087464(US,A1)
【文献】特開2012-014355(JP,A)
【文献】特開2009-247562(JP,A)
【文献】特表2016-534601(JP,A)
【文献】特開2006-119788(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24、13/00-13/98
G06F 16/9035
(57)【特許請求の範囲】
【請求項1】
処理デバイスによって、ゲーミングプラットフォーム上の複数のユーザの活動に関連する活動データを識別するステップであって、前記活動データが、ゲーミングプロセスを実行するために前記ゲーミングプラットフォームによって使用される
、ユーザがコンテンツアイテムを検索するときの行為に関するデータを含む、ステップと、
前記ユーザのアカウントに関する第1の特徴に基づいて前記活動データのうちの第1のデータを識別するステップと、
前記活動データのうちの前記第1のデータが複数の条件のうちの第1の条件を満たす回数を判定するステップ
であって、前記活動データのうちの前記第1のデータが複数の条件のうちの前記第1の条件を満たす前記回数が、前記ユーザが前記ゲーミングプラットフォーム上で検索を実行するために検索クエリを送り、前記検索クエリに応答する検索結果からいかなるコンテンツアイテムも選択しない回数を含む、ステップと、
前記活動データのうちの前記第1のデータが前記第1の条件を満たす前記回数が第1の閾値を満足するという判定に応じて、前記第1のデータが、前記ゲーミングプロセスの実行に否定的な影響を与える不正なあふれデータであると判定するステップと、
前記第1のデータが不正なあふれデータであると判定したことに応答して、前記活動データから前記第1のデータを削除するステップと、
前記第1のデータを削除した後に、前記第1のデータが削除された前記活動データを使用して前記ゲーミングプロセスを実行するステップと
を含む、方法。
【請求項2】
前記ゲーミングプラットフォームの前記複数のユーザの前記活動に関連する前記活動データを識別するステップが、
ログファイル内のデータの特定の特徴を識別するために前記ゲーミングプラットフォームに関連する前記ログファイル内の前記データを解析するステップであって、前記データの前記特定の特徴が、前記ゲーミングプロセスに影響を与える特定のイベントを示す、ステップと、
前記ログファイルから、前記特定の特徴を有する前記ログファイルのデータを取得することによって、前記活動データを取得するステップと
を含む、請求項1に記載の方法。
【請求項3】
前記第1の特徴がユーザアカウント識別子を含み、前記第1の特徴に基づいて前記活動データのうちの前記第1のデータを識別するステップが、前記ユーザアカウント識別子に基づいて、
前記ユーザの前記アカウントに関連付けられる前記第1のデータを識別するステップを含む、請求項1に記載の方法。
【請求項4】
前記第1の特徴が、インターネットプロトコル(IP)アドレスを含む、請求項1に記載の方法。
【請求項5】
前記ゲーミングプロセスが、前記ゲーミングプラットフォーム上のコンテンツアイテムに関する検索クエリに応答して関連する検索結果を提供するプロセスを含み、前記コンテンツアイテムが、前記ゲーミングプラットフォームの開発者インターフェースに配置するためのゲームオブジェクトを含む、請求項1に記載の方法。
【請求項6】
前記第1のデータを削除した後に、前記ゲーミングプラットフォームによってアクセス可能なデータストアに前記活動データを記憶するステップをさらに含む、請求項5に記載の方法。
【請求項7】
前記活動データが、
前記ゲーミングプラットフォーム上でユーザによって生成された行為に関連付けられ、かつユーザ入力、選択、検索クエリ、検索語、検索結果に関連するユーザ入力の少なくとも1つを含むデータ、
ゲームオブジェクトが開発者インターフェース
を介して前記ユーザによってゲームに挿入され
た時間の量を含む、前記ゲーミングプラットフォーム上のユーザの活動に関連するデータ、または
コンピュータクラスタの負荷の統計
のうち
の少なくとも1つを含む、請求項1に記載の方法。
【請求項8】
処理デバイスによる実行に応じて、前記処理デバイスに、
ゲーミングプラットフォーム上の複数のユーザの活動に関連する活動データを識別することであって、前記活動データが、ゲーミングプロセスを実行するために前記ゲーミングプラットフォームによって使用される
、ユーザがコンテンツアイテムを検索するときの行為に関するデータを含む、ことと、
前記ユーザのアカウントに関する第1の特徴に基づいて前記活動データのうちの第1のデータを識別することと、
前記活動データのうちの前記第1のデータが複数の条件のうちの第1の条件を満たす回数を判定すること
であって、前記活動データのうちの前記第1のデータが複数の条件のうちの前記第1の条件を満たす前記回数が、前記ユーザが前記ゲーミングプラットフォーム上で検索を実行するために検索クエリを送り、前記検索クエリに応答する検索結果からいかなるコンテンツアイテムも選択しない回数を含む、ことと、
前記活動データのうちの前記第1のデータが前記第1の条件を満たす前記回数が第1の閾値を満足するという判定に応じて、前記第1のデータが、前記ゲーミングプロセスの実行に否定的な影響を与える不正なあふれデータであると判定することと、
前記第1のデータが不正なあふれデータであると判定したことに応答して、前記活動データから前記第1のデータを削除することと、
前記第1のデータを削除した後に、前記第1のデータが削除された前記活動データを使用して前記ゲーミングプロセスを実行することと
を含む動作を実行させる記憶された命令を含む、非一時的コンピュータ可読媒体。
【請求項9】
前記ゲーミングプラットフォームの前記複数のユーザの前記活動に関連する前記活動データを識別することが、
ログファイル内のデータの特定の特徴を識別するために前記ゲーミングプラットフォームに関連する前記ログファイル内の前記データを解析することであって、前記データの前記特定の特徴が、前記ゲーミングプロセスに影響を与える特定のイベントを示す、ことと、
前記ログファイルから、前記特定の特徴を有する前記ログファイルのデータを取得することによって、前記活動データを取得することと
を含む、請求項8に記載の非一時的コンピュータ可読媒体。
【請求項10】
前記第1の特徴がユーザアカウント識別子を含み、前記第1の特徴に基づいて前記活動データのうちの前記第1のデータを識別することが、前記ユーザアカウント識別子に基づいて、
前記ユーザの前記アカウントに関連付けられる前記第1のデータを識別することを含む、請求項8に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記ゲーミングプロセスが、前記ゲーミングプラットフォーム上のコンテンツアイテムに関する検索クエリに応答して関連する検索結果を提供するプロセスを含み、前記コンテンツアイテムが、前記ゲーミングプラットフォームの開発者インターフェースに配置するためのゲームオブジェクトを含む、請求項8に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記動作が、
前記第1のデータを削除した後に、前記ゲーミングプラットフォームによってアクセス可能なデータストアに前記活動データを記憶することをさらに含む、請求項8に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記活動データが、
前記ゲーミングプラットフォーム上でユーザによって生成された行為に関連付けられ、かつユーザ入力、選択、検索クエリ、検索語、検索結果に関連するユーザ入力の少なくとも1つを含むデータ、
ゲームオブジェクトが開発者インターフェース
を介して前記ユーザによってゲームに挿入され
た時間の量を含む、前記ゲーミングプラットフォーム上のユーザの活動に関連するデータ、または
コンピュータクラスタの負荷の統計
のうち
の少なくとも1つを含む、請求項8に記載の非一時的コンピュータ可読媒体。
【請求項14】
メモリと、
前記メモリに結合された処理デバイスであって、
ゲーミングプラットフォーム上の複数のユーザの活動に関連する活動データを識別することであって、前記活動データが、ゲーミングプロセスを実行するために前記ゲーミングプラットフォームによって使用される
、ユーザがコンテンツアイテムを検索するときの行為に関するデータを含む、ことと、
前記ユーザのアカウントに関する第1の特徴に基づいて前記活動データのうちの第1のデータを識別することと、
前記活動データのうちの前記第1のデータが複数の条件のうちの第1の条件を満たす回数を判定すること
であって、前記活動データのうちの前記第1のデータが複数の条件のうちの前記第1の条件を満たす前記回数が、前記ユーザが前記ゲーミングプラットフォーム上で検索を実行するために検索クエリを送り、前記検索クエリに応答する検索結果からいかなるコンテンツアイテムも選択しない回数を含む、ことと、
前記活動データのうちの前記第1のデータが前記第1の条件を満たす前記回数が第1の閾値を満足するという判定に応じて、前記第1のデータが、前記ゲーミングプロセスの実行に否定的な影響を与える不正なあふれデータであると判定することと、
前記第1のデータが不正なあふれデータであると判定したことに応答して、前記活動データから前記第1のデータを削除することと、
前記第1のデータを削除した後に、前記第1のデータが削除された前記活動データを使用して前記ゲーミングプロセスを実行することと
を含む動作を行うまたは行わせるための命令を実行するように動作可能である、処理デバイスと
を含む、システム。
【請求項15】
前記ゲーミングプラットフォームの前記複数のユーザの前記活動に関連する前記活動データを識別するために、前記処理デバイスが、
ログファイル内のデータの特定の特徴を識別するために前記ゲーミングプラットフォームに関連する前記ログファイル内の前記データを解析することであって、前記データの前記特定の特徴が、前記ゲーミングプロセスに影響を与える特定のイベントを示す、ことと、
前記ログファイルから、前記特定の特徴を有する前記ログファイルのデータを取得することによって、前記活動データを取得することと
を含む動作を行うまたは行わせるための命令を実行するように動作可能である、請求項14に記載のシステム。
【請求項16】
前記第1の特徴がユーザアカウント識別子を含み、前記第1の特徴に基づいて前記活動データのうちの前記第1のデータを識別することが、前記ユーザアカウント識別子に基づいて、
前記ユーザの前記アカウントに関連付けられる前記第1のデータを識別することを含む、請求項14に記載のシステム。
【請求項17】
前記ゲーミングプロセスが、前記ゲーミングプラットフォーム上のコンテンツアイテムに関する検索クエリに応答して関連する検索結果を提供するプロセスを含み、前記コンテンツアイテムが、前記ゲーミングプラットフォームの開発者インターフェースに配置するためのゲームオブジェクトを含む、請求項14に記載のシステム。
【請求項18】
前記動作が、
前記第1のデータを削除した後に、前記ゲーミングプラットフォームによってアクセス可能なデータストアに前記活動データを記憶することをさらに含む、請求項14に記載のシステム。
【請求項19】
前記活動データが、
前記ゲーミングプラットフォーム上でユーザによって生成された行為に関連付けられ、かつユーザ入力、選択、検索クエリ、検索語、検索結果に関連するユーザ入力の少なくとも1つを含むデータ、
ゲームオブジェクトが開発者インターフェース
を介して前記ユーザによってゲームに挿入され
た時間の量を含む、前記ゲーミングプラットフォーム上のユーザの活動に関連するデータ、または
コンピュータクラスタの負荷の統計
のうち
の少なくとも1つを含む、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ゲーミングプロセスの分野に関し、特に、ゲーミングプロセスにおいて使用するためのゲーミングプラットフォームのユーザの活動に関連する活動データを修正することに関する。
【背景技術】
【0002】
コラボレーションプラットフォームは、ユーザがインターネットを介して互いにつながり、情報を共有することを可能にする。ゲーミングプラットフォームなどのコラボレーションプラットフォームのユーザは、マルチユーザゲーミング環境に参加する、カスタムゲーミング環境をデザインする、アバターを装飾する、またはその他のユーザと仮想的なアイテムをやりとりするなどを行う場合がある。
【発明の概要】
【課題を解決するための手段】
【0003】
第1の実施形態によれば、方法は、
ゲーミングプラットフォームの複数のユーザの活動に関連する活動データを処理デバイスによって識別するステップであって、活動データが、ゲーミングプロセスを実行するためにゲーミングプラットフォームによって使用される、ステップと、
第1の特徴に基づいて活動データのうちの第1のデータを識別するステップであって、第1のデータが、活動データのサブセットである、ステップと、
活動データのうちの第1のデータが複数の条件のうちの第1の条件を満たす回数を判定するステップと、
活動データのうちの第1のデータが第1の条件を満たす回数が第1の閾値を満足するという判定に応じて、活動データから第1のデータを削除することによって活動データを修正するステップと、
修正された活動データを使用してゲーミングプロセスを実行するステップとを含む。
【0004】
第2の実施形態によれば、システムは、
メモリと、
メモリに結合された処理デバイスであって、
ゲーミングプラットフォームの複数のユーザの活動に関連する活動データを識別することであって、活動データが、ゲーミングプロセスを実行するためにゲーミングプラットフォームによって使用される、識別することと、
第1の特徴に基づいて活動データのうちの第1のデータを識別することであって、第1のデータが、活動データのサブセットである、識別することと、
活動データのうちの第1のデータが複数の条件のうちの第1の条件を満たす回数を判定することと、
活動データのうちの第1のデータが第1の条件を満たす回数が第1の閾値を満足するという判定に応じて、活動データからの第1のデータの削除によって活動データを修正することと、
ゲーミングプロセスに、修正された活動データを提供することであって、ゲーミングプロセスが、ゲーミングプロセスの実行の際に修正された活動データを使用する、提供することとを行うための、処理デバイスとを含む。
【0005】
第3の実施形態によれば、非一時的コンピュータ可読媒体は、処理デバイスによる実行に応じて処理デバイスに
ゲーミングプラットフォームの複数のユーザの活動に関連する活動データを識別する動作であって、活動データが、ゲーミングプロセスを実行するためにゲーミングプラットフォームによって使用される、識別する動作と、
第1の特徴に基づいて活動データのうちの第1のデータを識別する動作であって、第1のデータが、活動データのサブセットである、識別する動作と、
活動データのうちの第1のデータが条件を満たす回数を判定する動作と、
活動データのうちの第1のデータが条件を満たす回数が第1の閾値を満足するという判定に応じて、活動データから第1のデータを削除することによって活動データを修正する動作と、
修正された活動データを使用してゲーミングプロセスを実行する動作とを含む、動作を実行させるかまたは動作の実行を制御させる記憶された命令を含む。
【0006】
本開示の様々な実装は、下で与えられる詳細な説明および本開示の様々な実装の添付の図面からより完全に理解されるであろう。
【図面の簡単な説明】
【0007】
【
図1】本開示の実装による例示的なシステムアーキテクチャを示す図である。
【
図2】本開示の一部の実装によるゲーミングプロセスを実行する際に使用される修正された活動データを決定するための方法を示す流れ図である。
【
図3】本開示の一部の実装によるコラボレーションプラットフォーム上でゲームを作成し、構築するためのユーザインターフェースおよびゲームオブジェクトに関する検索結果を示す図である。
【
図4】本開示の一部の実装によるゲームに関する検索結果を示すユーザインターフェースを示す図である。
【
図5】本開示の実装による例示的なコンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【0008】
ゲーミングプラットフォームなどのコラボレーションプラットフォームは、ユーザが互いにインタラクションするための様々な方法を提供する。たとえば、ゲーミングプラットフォームのユーザは、共通のゴールに向かって一緒に働く、様々なゲーミングアイテムを共有する、互いに電子メッセージを送信するなどを行ってもよい。コラボレーションプラットフォームのユーザは、キャラクタを用いてゲームをプレイする(たとえば、プレイユーザ(playing user))か、またはコラボレーションプラットフォームを介して開発ツールを用いてゲームを作成する(たとえば、作成ユーザ(creating user))場合がある。コラボレーションプラットフォームは、ユーザエクスペリエンスおよびプラットフォームの機能を改善するゲーミングプロセスなどの多くのプロセス(本明細書においては「動作」とも呼ばれる)を実行する可能性がある。ゲーミングプロセスは、とりわけ、1つまたは複数の検索プロセス、メッセージングプロセス、map-reduceプロセスを含んでもよい。
【0009】
たとえば、コラボレーションプラットフォームは、ユーザが検索エンジンを使用してゲームまたはゲームオブジェクトなどのコンテンツアイテムを検索することを可能にする可能性がある。プレイユーザは、検索クエリ内の検索語を使用してゲームを検索する可能性があり、または作成ユーザは、検索クエリ内の異なる検索語を使用してゲームオブジェクトを検索する可能性がある。検索プロセスは、コラボレーションプラットフォームのコンテンツアイテムに関する検索クエリに応答する関連する検索結果を提供することまたは生成することを含んでもよい。関連する検索結果を提供するために、検索プロセスは、検索結果の関連性を高めるために、コラボレーションプラットフォームのユーザの活動に関連する活動データを使用する1つまたは複数の検索プロセスの技術(たとえば、機械学習モデル、規則を使用するヒューリスティックモデル、検索プロセスのアルゴリズムなど)を使用する可能性がある。たとえば、過去の検索および過去の検索結果が、将来の検索結果を改善するために検索プロセスの技術によって使用される可能性がある。
【0010】
悪意のあるユーザなどのユーザが、コラボレーションプラットフォームを活動データによってあふれさせ、ゲーミングプロセスの実行の際に結果として得られる活動データを信頼できなくするかまたは使用できなくする可能性がある。「あふれさせる(flood)」または「あふれさせている(flooding)」は、システム上であふれデータ(flood data)(多くの場合、大量)を送信することまたは作成することを指す可能性がある。「あふれデータ」は、システムの望ましくないまたは不正なデータを指す可能性がある。たとえば、あふれデータは、システムのユーザによって作成される可能性があるが、典型的なまたは現実的なユーザの使用パターンを反映しない。場合によっては、あふれデータは、ソフトウェアプログラムなどの人間ではないユーザによって作成される可能性がある。「あふれ検査(flood checking)」は、システム上であふれデータを検査することまたは識別することを指す可能性がある。悪意のあるユーザは、1つまたは複数のゲーミングプロセスに影響を与えるあふれデータによってゲーミングシステムを「あふれさせる」可能性がある。たとえば、悪意のあるユーザは、ゲーミングプラットフォーム上のコンテンツアイテムの検索(たとえば、数千の検索)を自動的にまたは反復的に実行するソフトウェアプログラム(たとえば、ボット)を使用する可能性がある。コラボレーションプラットフォームは、ボットによって実行された検索を保存する可能性があり、それは、あふれデータを活動データとして記録する。検索結果の関連性を高めるよりもむしろ、あふれデータを使用する検索プロセスは、否定的な影響を受ける可能性があり、その結果、検索プロセスは、関連性のないまたは関連性の低い検索結果を提供する。
【0011】
本開示の態様は、ゲーミングプロセスを実行するためにゲーミングプラットフォームによって使用される活動データを識別することによって、上述のおよびその他の課題に対処する。活動データは、活動データのサブセット(たとえば、第1のデータ)を識別するために特定のユーザアカウントなどの第1の特徴に基づいてフィルタリングされる可能性がある。第1のデータは1つまたは複数の条件と比較される可能性があり、第1のデータが条件を満たす回数に関する判定が行われる可能性がある。第1のデータが条件を満たす回数は、第1のデータがあふれデータであるかどうかを示す可能性がある。第1のデータが条件を満たす回数が閾値を満足するという判定に応じて、活動データは、活動データから第1のデータを削除することによって修正される可能性がある。修正された活動データは、関連するゲーミングプロセスの実行のために提供される可能性がある。
【0012】
したがって、本開示の態様は、コラボレーションプラットフォームからあふれデータを削除し、ユーザの活動に関連する活動データを使用するコラボレーションプラットフォームのプロセスを改善する。上述のことは、あふれデータを特定し、活動データから削除し、ゲーミングプロセスの実行の際に使用される修正された活動データ(あふれデータが削除済みのデータ)を提供する上での技術的課題に対処する。あふれデータを特定し、削除し、あふれデータが削除済みの活動データを使用することによってゲーミングプロセスを改善することは、コンピュータおよびコンピュータネットワークの動作を改善する。たとえば、あふれデータを削除することは、システムの利用可能なデータストレージの量を増やす(たとえば、記憶するデータがより少ない)。別の例において、活動データからあふれデータを削除することは、システムの処理リソースに対する負荷を減らし(たとえば、特定のゲーミングプロセスのために計算するデータがより少なく)、活動データにアクセスするおよび活動データを送信するネットワークリソースに対する負荷を減らす。
【0013】
本明細書においてはゲーミングプラットフォームとして説明されるコラボレーションプラットフォームは、限定ではなく例示を目的として与えられることが留意される可能性がある。コラボレーションプラットフォームは、ソーシャルネットワーキングプラットフォーム、購入プラットフォーム、メッセージングプラットフォーム、ユーザ作成コンテンツプラットフォームなどの多くのプラットフォームのうちの1つまたは複数である可能性がある。ゲーミングプロセスに関連して説明される本開示の態様は、限定ではなく例示のために与えられることがさらに留意される可能性がある。本開示の態様は、多くのプラットフォームのプロセスに適用される可能性がある。
【0014】
図1は、本開示の1つの実装による例示的なシステムアーキテクチャ100を示す。システムアーキテクチャ100(本明細書においては「システム」とも呼ばれる)は、クライアントデバイス110Aおよび110B、ネットワーク105、データストア106、コラボレーションプラットフォーム120、ならびにサーバ130を含む。
【0015】
1つの実装において、ネットワーク105は、パブリックネットワーク(たとえば、インターネット)、プライベートネットワーク(たとえば、ローカルエリアネットワーク(LAN)もしくは広域ネットワーク(WAN))、有線ネットワーク(たとえば、イーサネットネットワーク)、ワイヤレスネットワーク(たとえば、802.11ネットワーク、Wi-Fi(登録商標)ネットワーク、もしくはワイヤレスLAN(WLAN))、セルラネットワーク(たとえば、ロングタームエボリューション(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、および/またはこれらの組合せを含んでもよい。
【0016】
1つの実装において、データストア106は、メモリ(たとえば、ランダムアクセスメモリ)、キャッシュ、ドライブ(たとえば、ハードドライブ)、フラッシュドライブ、データベースシステム、またはデータを記憶することができる別の種類の構成要素もしくはデバイスである可能性がある。また、データストア106は、複数のコンピューティングデバイス(たとえば、複数のサーバコンピュータ)に広がる可能性もある複数のストレージ構成要素(たとえば、複数のドライブまたは複数のデータベース)を含んでもよい。
【0017】
実装において、サーバ130は、1つまたは複数のコンピューティングデバイス(たとえば、ラックマウントサーバ、サーバコンピュータなど)である可能性がある。実装において、サーバ130は、コラボレーションプラットフォーム120に含まれるか、独立したシステムであるか、または別のシステムもしくはプラットフォームの一部である可能性がある。サーバ130は、データあふれ検査モジュール140を含んでもよい。実装において、サーバ130は、検索エンジン142を含んでもよい。
【0018】
一部の実装において、コラボレーションプラットフォーム120は、ユーザにコラボレーションプラットフォーム120へのアクセスを提供するために使用される可能性がある(ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなどの)1つもしくは複数のコンピューティングデバイス、データストア(たとえば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェア構成要素、および/またはハードウェア構成要素である可能性がある。コラボレーションプラットフォーム120は、ユーザにコラボレーションプラットフォーム120によって提供されるコンテンツへのアクセスを提供するために使用される可能性があるウェブサイト(たとえば、ウェブページ)またはアプリケーションバックエンドソフトウェアを含む可能性もある。たとえば、ユーザは、クライアントデバイス110のコラボレーションアプリケーション114を使用してコラボレーションプラットフォーム120にアクセスする可能性がある。実装において、コラボレーションプラットフォーム120は、データあふれ検査モジュール140を含んでもよい。
【0019】
実装において、コラボレーションプラットフォーム120は、ユーザ間のつながりを提供するある種のソーシャルネットワークであることが可能である。本開示の実装において、「ユーザ」は、1人の個人として表される可能性がある。しかし、本開示のその他の実装は、「ユーザ」がユーザのセットによって制御されるエンティティおよび/または自動化されたソースであることを包含する。たとえば、ソーシャルネットワーク内のコミュニティとして連合させられた個人ユーザのセットが、「ユーザ」とみなされる可能性がある。別の例においては、自動化された消費者は、コラボレーションプラットフォーム120のゲーム122などの自動化された摂取パイプライン(ingestion pipeline)である可能性がある。
【0020】
1つの実装において、コラボレーションプラットフォーム120は、オンラインゲーミングプラットフォームなどのゲーミングプラットフォームである可能性がある。たとえば、ゲーミングプラットフォームは、クライアントデバイス110を使用してゲーム122A~122Zにアクセスするかまたはゲーム122A~122Zとインタラクションするユーザのコミュニティに、シングルプレイヤーまたはマルチプレイヤーゲームを提供する可能性がある。実装において、ゲーム122(本明細書においては「ビデオゲーム」、「オンラインゲーム」、または「バーチャルゲーム」とも呼ばれる)は、たとえば2次元(2D)ゲーム、3次元(3D)ゲーム、仮想現実(VR)ゲーム、または拡張現実(AR)ゲームである可能性がある。実装において、ゲーム122は、ゲーム122のその他のユーザと一緒にリアルタイムでプレイされる可能性がある。ゲーム122は、エンティティにゲームコンテンツ(たとえば、デジタルメディアアイテム)を提示するように構成されたソフトウェア、ファームウェア、もしくはハードウェアを使用して実行またはロードされることが可能である電子ファイルを含み得る。一部の実装において、コラボレーションプラットフォーム120は、ゲーム122をホストし、ユーザがクライアントデバイス110のコラボレーションアプリケーション114を使用してゲーム122とインタラクションすることを可能にする。コラボレーションプラットフォーム120のユーザは、ゲーム122をプレイするか、作成するか、ゲーム122とインタラクションするか、もしくはゲーム122を構築するか、またはゲーム122のコンテンツを作成し、構築する可能性がある。たとえば、ユーザは、たとえばキャラクタ、キャラクタのための装飾、インタラクティブゲームのための1つもしくは複数の仮想環境を作成するか、またはゲーム122内で使用される構造物を構築する可能性がある。実装において、ユーザは、プラットフォーム内通貨(たとえば、仮想的な通貨)などのゲームオブジェクトを買うか、売るか、またはコラボレーションプラットフォーム120のその他のユーザと取引する可能性がある。実装において、コラボレーションプラットフォームは、コラボレーションアプリケーション114にゲームコンテンツを送信する可能性がある。ゲームコンテンツ(本明細書においては「コンテンツ」または「コンテンツアイテム」とも呼ばれる)は、コラボレーションプラットフォーム120もしくはコラボレーションアプリケーション114に関連する任意のデータまたはソフトウェア命令(たとえば、ゲームオブジェクト、ゲーム、ユーザ情報、ビデオ、画像、コマンド、メディアアイテムなど)を指す可能性がある。
【0021】
ゲーム122をホストするコラボレーションプラットフォーム120は、限定ではなく例示を目的として与えられることが留意される可能性がある。一部の実装において、コラボレーションプラットフォーム120は、1つまたは複数のメディアアイテムをホストする可能性がある。メディアアイテムは、デジタルビデオ、デジタルムービー、デジタル写真、デジタルミュージック、オーディオコンテンツ、メロディー、ウェブサイトコンテンツ、ソーシャルメディアの最新記事、電子ブック(eブック)、電子雑誌、デジタル新聞、デジタルオーディオブック、電子ジャーナル、ウェブブログ、リアルシンプルシンジケーション(RSS: real simple syndication)フィード、電子漫画、ソフトウェアアプリケーションなどを含み得るがこれらに限定されない。実装において、メディアアイテムは、エンティティにデジタルメディアアイテムを提示するように構成されたソフトウェア、ファームウェア、もしくはハードウェアを使用して実行またはロードされることが可能である電子ファイルである可能性がある。
【0022】
1つの実装において、コラボレーションプラットフォーム120は、マルチプレイヤーゲーミング環境内の複数のユーザのインタラクションを表示するために、クライアントデバイス110からのゲームコンテンツをまとめ、まとめられたゲームコンテンツ(たとえば、ゲーミングビデオ、レンダリングコマンド、ユーザ入力、グラフィックスライブラリコマンドなど)をクライアントデバイス110の各々に送信する可能性がある。別の実装において、コラボレーションプラットフォーム120は、別のクライアントデバイスがゲームコンテンツをまとめ、表示するために別のクライアントデバイスに1つまたは複数のクライアントデバイス110からゲームコンテンツを送信する可能性がある。別の実装において、コラボレーションプラットフォーム120は、ゲームコンテンツを受信し(たとえば、第1のユーザがクライアントデバイス110Aを介してユーザ入力を送信し、第2のユーザがクライアントデバイス110Bを介してユーザ入力を送信する)、ゲームの結果を生成し(たとえば、第1のユーザが第2のユーザを倒す)、ゲームの結果をクライアントデバイス110に送信する可能性がある。
【0023】
一部の実装において、ゲーム122は、特定のユーザまたはユーザの特定のグループに関連付けられる可能性があり(たとえば、非公開のゲーム)、またはコラボレーションプラットフォーム120のユーザに広く利用され得るようにされる可能性がある(たとえば、公開されたゲーム)。コラボレーションプラットフォーム120が1つまたは複数のゲーム122を特定のユーザまたはユーザのグループに関連付ける実装において、コラボレーションプラットフォーム120は、ユーザアカウント情報(たとえば、ユーザ名およびパスワードなどのユーザアカウント識別子)を使用して特定のユーザをゲーム122に関連付ける可能性がある。
【0024】
一部の実装において、コラボレーションプラットフォーム120は、ゲームエンジン124を含んでもよい。実装において、ゲームエンジン124は、ゲーム122の展開または実行のために使用される可能性がある。たとえば、ゲームエンジン124は、特徴の中でもとりわけ、2D、3D、VR、もしくはARグラフィックスのためのレンダリングエンジン(「レンダラ」)、物理エンジンもしくは衝突検出(および衝突応答(collision response))、音声、スクリプティング、アニメーション、人工知能、ネットワーキング、ストリーミング、メモリ管理、スレッディング(threading)、ローカライゼーションのサポート、シーングラフ、または映画製作技術(cinematics)のためのビデオサポートを含んでもよい。
【0025】
実装において、コラボレーションプラットフォーム120は、クリエータモジュール126を含んでもよい。実装において、クリエータモジュール126は、ユーザが既存のゲーム122内の環境をデザインもしくは作成するか、または新しいゲームを作成するか、またはゲームもしくは環境内の新しいゲームオブジェクトを作成するクリエータになることを可能にする可能性がある。一部の実装において、ゲーム122は、規則の共通のセットまたは共通の目的を有する可能性があり、ゲーム122の環境は、規則の共通のセットまたは共通の目的を共有する。実装において、異なるゲームは、互いに異なる規則または目的を有する可能性がある。一部の実装において、ゲームは、(本明細書においては「ゲーミング環境」または「仮想環境」とも呼ばれる)1つまたは複数の環境を有する可能性があり、複数の環境がリンクされる可能性がある。たとえば、ユーザは、別のユーザによって作成された別の仮想環境にリンクされる仮想環境を構築する可能性がある。バーチャルゲームのキャラクタは、隣接する仮想環境に入るために仮想的な境界を越える可能性がある。実装において、ゲームオブジェクト(本明細書においては「アイテム」とも呼ばれる)は、コラボレーションプラットフォーム120のゲーム122内で使用されるか、作成されるか、共有されるか、またはそうでなければ描かれるオブジェクトを指す可能性がある。たとえば、ゲームオブジェクトは、パーツ、モデル、キャラクタ、ツール、衣類、建物、乗り物、通貨、植物相、動物相、上述のものの構成要素(たとえば、建物の窓)などを含んでもよい。
【0026】
実装において、クリエータモジュール126は、ユーザがキャラクタを作成するか、修正するか、またはカスタマイズすることを可能にする可能性がある。実装において、キャラクタ(または広くゲームオブジェクト)は、構成要素から構築され、構成要素のうちの1つまたは複数は、ユーザによって選択される可能性があり、ユーザが編集するのを支援するために自動的に結合する。1つまたは複数のキャラクタ(本明細書においては「アバター」または「モデル」とも呼ばれる)は、ユーザ(本明細書においては「プレイユーザ」とも呼ばれる)に関連付けられる可能性があり、ユーザは、ゲーム122とのユーザのインタラクションを容易にするためにキャラクタを制御する可能性がある。実装において、キャラクタは、体のパーツ(たとえば、髪の毛、腕、足など)およびアクセサリ(たとえば、Tシャツ、眼鏡、装飾的な画像、ツールなど)などの構成要素を含んでもよい。実装において、カスタマイズ可能なキャラクタの体のパーツは、とりわけ、頭部タイプ、体のパーツタイプ(腕、足、胴体、および手)、顔タイプ、髪タイプ、皮膚タイプを含む。実装において、カスタマイズ可能なアクセサリは、衣類(たとえば、シャツ、パンツ、ハット、靴、眼鏡など)、武器、またはその他のツールを含む。実装において、ユーザは、キャラクタの縮尺(たとえば、高さ、幅、もしくは奥行き)またはキャラクタの構成要素の縮尺も制御する可能性がある。実装において、ユーザは、キャラクタのプロポーション(たとえば、ブロック状(blocky)、解剖学的(anatomical)など)を制御する可能性がある。
【0027】
一部の実装において、体のパーツなどの構成要素は、ブロック、円柱、球などの基本的な幾何学形状、またはくさび、円環、チューブ、溝形(channel)などの何らかのその他の基本的な形状である可能性がある。実装において、クリエータモジュール126は、コラボレーションプラットフォーム120のその他のユーザが見るかまたは選択するためにユーザのキャラクタを公開する可能性がある。一部の実装において、キャラクタ、その他のゲームオブジェクト、ゲーム122、もしくはゲーム環境を作成すること、修正すること、またはカスタマイズすることは、ユーザインターフェース(たとえば、開発者インターフェース)を使用して、スクリプティングによってまたはスクリプティングによらず(もしくはアプリケーションプログラミングインターフェース(API)によらず)ユーザにより実行される可能性がある。限定ではなく例示を目的として、キャラクタは、人型ロボットの形態を有するものとして説明されることが留意される可能性がある。キャラクタは、乗り物、動物、無生物のオブジェクト、またはその他の創造的な形態などの任意の形態を有する可能性があることがさらに留意される。
【0028】
実装において、コラボレーションプラットフォーム120は、ユーザによって作成されたキャラクタをデータストア106に記憶する可能性がある。実装において、コラボレーションプラットフォーム120は、コラボレーションアプリケーション114を介してユーザに提示される可能性があるキャラクタカタログおよびゲームカタログを保有する。ユーザは、プレイするためにゲームカタログからゲーム122を選択する可能性がある。実装において、ゲームカタログは、コラボレーションプラットフォーム120に記憶されたゲームの画像を含む。加えて、ユーザは、選択されたゲームに参加するためにキャラクタカタログから(プレイユーザまたはその他のユーザによって作成された)キャラクタを選択する可能性がある。キャラクタカタログは、コラボレーションプラットフォーム120に記憶されたキャラクタの画像を含む。実装において、キャラクタカタログ内のキャラクタのうちの1つまたは複数は、ユーザによって作成またはカスタマイズされた可能性がある。実装において、選択されたキャラクタは、キャラクタの構成要素のうちの1つまたは複数を定義するキャラクタ設定を有する可能性がある。
【0029】
実装において、ユーザのキャラクタは、構成要素の構成を含み、構成要素の構成および外見ならびにより広くキャラクタの外観は、キャラクタ設定によって定義される可能性がある。実装において、ユーザのキャラクタのキャラクタ設定は、少なくとも部分的にユーザによって選択される可能性がある。その他の実装において、ユーザは、デフォルトキャラクタ設定またはその他のユーザによって選択されたキャラクタ設定を有するキャラクタを選択する可能性がある。たとえば、ユーザは、予め定義されたキャラクタ設定を有するデフォルトキャラクタをキャラクタカタログから選択する可能性があり、さらに、ユーザは、キャラクタ設定の一部を変更すること(たとえば、カスタマイズされたロゴを有するシャツを追加すること)によってデフォルトキャラクタをカスタマイズする可能性がある。キャラクタ設定は、コラボレーションプラットフォーム120によって特定のキャラクタに関連付けられる可能性がある。
【0030】
実装において、クリエータモジュール126は、たとえばユーザ(本明細書においては「作成ユーザ」、「クリエータ」、「所有者」、または「所有ユーザ」とも呼ばれる)がクラウドに仲介された計算リソースを使用してゲーム122およびゲーミング環境を作成するか、所有するか、または管理することを可能にする、インターネット上でゲーム122およびゲーミング環境を作成し、管理するためのユニークパーソナルビルドおよび公開サービス(unique personal build and publishing service)を含む。実装において、クリエータモジュール126は、ユーザがクリエータモジュール126の機能にアクセスすることを可能にするためにコラボレーションアプリケーション114を介してユーザインターフェース(本明細書においては「開発者インターフェース」とも呼ばれる)を使用する可能性がある。実装において、開発者インターフェースは、コラボレーションアプリケーション114の一部である可能性がある。たとえば、コラボレーションアプリケーション114の開発者インターフェースは、ユーザがゲーム環境を構築するためにユーザによって選択される可能性があるゲームオブジェクトのライブラリにアクセスするか、またはゲーム122もしくは環境内にゲームオブジェクトを配置することを可能にする可能性がある。ユーザは、ゲームオブジェクトがゲーム122または環境のプレイユーザによって利用可能であるように開発者インターフェースを介してそのユーザの選択されたゲームオブジェクトを公開する可能性がある。
【0031】
実装において、クリエータモジュール126を実行するコラボレーションプラットフォーム120は、個人的に所有されるゲーム122またはゲーミング環境を構築し、管理し、編集し、そのようなゲーム122またはゲーミング環境とインタラクションする目的で、ユーザがコラボレーションプラットフォーム120によってホストされるオンライン計算リソースにアクセスする可能性があるユーザインターフェースウェブサイトまたはアプリケーション(たとえば、コラボレーションアプリケーション114)を含む。実装において、クリエータモジュール126は、3次元バーチャルゲームまたは環境を作成し、インスタンス化するためにユーザによって利用され得るツールを含む。実装において、クリエータモジュール126は、ユーザ自身の非公開のバーチャルゲーム122を作成し、管理したいユーザによって利用され得る。実装において、ユーザは、コラボレーションアプリケーション114を使用してクリエータモジュール126にアクセスする可能性がある。
【0032】
実装において、クリエータモジュール126は、誰が作成されたゲーム122または環境とインタラクションすることを許されるか、および誰がゲーム122もしくは環境を修正するか、編集するか、またはゲーム122もしくは環境とインタラクションする能力を有するかに関する管理ポリシーを設定する可能性がある所有ユーザに作成されたゲーム122および環境の制御を提供する可能性がある。管理上の制御を有するユーザは、別途明記されない限り、本明細書においては所有ユーザとも呼ばれる可能性がある。一部の実装において、管理規則は、勧誘されるかまたはそれ以外でゲーム122もしくはゲーミング環境とインタラクションしたいと望む特定の個人に関する様々なレベルのインタラクション、修正、または編集能力を規定するくらいまで細かくなり得る。たとえば、個人は、コラボレーションプラットフォーム120内の友達、あるいはソーシャルネットワークのまたはその他のコラボレーションするもしくはグループに関連するオンラインの場の友達から勧誘される可能性がある。実装において、クリエータモジュール126は、ゲーム122またはゲーミング環境内のインタラクションに関する全体的な規則を含むまたはそのような全体的な規則に加えて、そのようなポリシーを設定するための管理ツールを有する。
【0033】
実装において、コラボレーションプラットフォーム120は、検索エンジン142を含んでもよい。限定ではなく例示を目的として、検索エンジン142は、ユーザがコラボレーションプラットフォーム120のまたはコラボレーションプラットフォーム120に関連するコンテンツアイテムを検索することを可能にするものとして説明される。その他の実装において、本開示の態様は、たとえばワールドワイドウェブ(WWW)またはその他の情報リソースの情報などの情報を広く検索するために使用される可能性がある。一部の実装において、ユーザは、検索クエリを使用して情報を要求する可能性がある。検索クエリは、情報の要求または問い合わせを指す可能性があり、ユーザは、情報の要求を満足するための検索語を検索エンジン142に供給する。検索語は、検索クエリの一部として入力され、関連情報(たとえば、検索結果)を提供するために検索エンジン142によって使用される入力(たとえば、単語、文字、単語または文字の組合せなど)を指す可能性がある。検索エンジンは、検索語に関連する関連情報を含む可能性がある検索結果を取り出し、ユーザに返してもよい。
【0034】
たとえば、ゲーム122を検索する際、ユーザは、検索語"Tycoon"をクライアントデバイス110の検索エンジンインターフェースモジュール141などのユーザインターフェースに入力する可能性がある。別の例においては、ゲーム内に配置するゲームオブジェクトを検索する際、作成ユーザは、検索語"Car"を開発者インターフェースに入力する可能性がある。検索語は、コラボレーションプラットフォーム120の検索エンジン142にネットワーク105を介して送信される可能性がある。検索エンジン142は、検索語に関連する情報を見つけるために検索インデックスを使用する可能性がある。検索インデックスは、正確な情報検索を容易にするのを助けるために収集され、解析され、記憶される情報を指す可能性がある。たとえば、検索インデックスは、特定のゲームまたはゲームオブジェクトに関連するタイトルおよびその他のメタデータ(たとえば、メタキーワード、ゲームまたはゲームオブジェクトの説明、ゲームに関連するユーザのコメントなど)を記憶する可能性がある。1つの実装において、検索エンジン142は、検索語を検索インデックス内のゲームに関連する語と比較し、キーワードの類似性に基づいて最も関連性があるゲーム(またはゲームオブジェクト)を選択するキーワード類似性技術を使用する可能性がある。たとえば、検索語"Tycoon"に関連する1つまたは複数のゲームを発見する(たとえば、タイトルまたは説明が単語"tycoon"またはその変化形を含む)ことに応じて、関連するゲームのうちの1つもしくは複数へのリンクまたは関連するゲームのうちの1つもしくは複数の識別子が、クライアントデバイス110に送信され、表示される可能性がある。
【0035】
キーワード類似性技術を使用することは、厳密な一致、検索語を含む一致、検索語のスペリングの変化形を含む一致、検索語の類義語との一致、関連する語との一致、関連するジャンルとの一致などを含む可能性があることが留意される可能性がある。キーワード類似性技術は、検索結果が検索語に類似している確率を示す類似性スコア(たとえば、確率)を検索結果に割り振る可能性があることも留意される可能性がある。
【0036】
実装において、クライアントデバイス110Aから110Bは、パーソナルコンピュータ(PC)、モバイルデバイス(たとえば、ラップトップ、モバイル電話、スマートフォン、タブレットコンピュータ、またはネットブックコンピュータ)、ネットワークに接続されたテレビ、ゲームコンソールなどのコンピューティングデバイスをそれぞれ含んでもよい。一部の実装において、クライアントデバイス110Aから110Bは、「ユーザデバイス」とも呼ばれる可能性がある。実装において、1つまたは複数のクライアントデバイス110は、コラボレーションアプリケーション114を介してコラボレーションプラットフォーム120にいつでも接続する可能性がある。
【0037】
実装において、各クライアントデバイス110は、コラボレーションアプリケーション114のインスタンスを含んでもよい。1つの実装において、コラボレーションアプリケーション114は、ユーザがコラボレーションプラットフォーム120によってホストされるバーチャルゲーム内の仮想的なキャラクタを制御するか、または画像、ビデオアイテム、ウェブページ、ドキュメントなどのコンテンツ閲覧もしくはアップロードするなど、コラボレーションプラットフォーム120を使用し、コラボレーションプラットフォーム120とインタラクションすることを可能にするアプリケーションである可能性がある。一例において、コラボレーションアプリケーション114は、ウェブサーバによって提供されるコンテンツ(たとえば、仮想環境内の仮想的なキャラクタなど)にアクセスし、そのようなコンテンツを検索し、提示し、および/またはナビゲートすることができるウェブブラウザである可能性がある。コラボレーションアプリケーション114は、ユーザに対してコンテンツ(たとえば、ウェブページ、メディアビュワー)をレンダリングし、表示し、および/または提示する可能性がある。実装において、コラボレーションアプリケーション114は、ウェブページに埋め込まれる埋め込みメディアプレイヤー(たとえば、Flash(登録商標)プレイヤー)も含んでもよい。別の例において、コラボレーションアプリケーション114は、ユーザがコラボレーションプラットフォーム120とインタラクションすることを可能にするスタンドアロンのアプリケーション(たとえば、モバイルアプリケーション、アプリ、またはゲーミングプログラム)である可能性がある。本開示の態様によれば、コラボレーションアプリケーション114は、ユーザがコンテンツを構築し、作成し、編集し、コラボレーションプラットフォーム120にアップロードし、コラボレーションプラットフォーム120とインタラクションするためのコラボレーションプラットフォームアプリケーションである可能性がある。したがって、コラボレーションアプリケーション114は、サーバ130またはコラボレーションプラットフォーム120によってクライアントデバイス110Aおよび110Bに提供される可能性がある。別の例において、コラボレーションアプリケーション114は、サーバ130からダウンロードされるアプリケーションである可能性がある。
【0038】
実装において、ユーザは、コラボレーションアプリケーション114を介してコラボレーションプラットフォーム120にログインする可能性がある。ユーザは、ユーザアカウント情報(たとえば、ユーザ名およびパスワード)を提供することによってユーザアカウントにアクセスする可能性があり、ユーザアカウントは、コラボレーションプラットフォーム120の1つまたは複数のゲーム122に参加するために利用可能な1つまたは複数のキャラクタに関連付けられる。
【0039】
概して、コラボレーションプラットフォーム120によって実行されるものとして1つの実装において説明される機能は、その他の実装において、適宜クライアントデバイス110Aから110Bまたはサーバ130上で実行されることも可能である。加えて、特定の構成要素に帰せられる機能が、一緒に動作する異なるまたは複数の構成要素によって実行され得る。コラボレーションプラットフォーム120は、適切なアプリケーションプログラミングインターフェースを通じてその他のシステムまたはデバイスに提供されるサービスとしてアクセスされることも可能であり、したがって、ウェブサイトにおける使用に限定されない。
【0040】
実装において、コラボレーションプラットフォーム120は、メッセージングモジュール128を含んでもよい。実装において、メッセージングモジュール128は、ユーザがネットワーク105などの通信システムを介して電子メッセージをやりとりすることを可能にするシステム、アプリケーション、またはモジュールである可能性がある。メッセージングモジュール128は、コラボレーションアプリケーション114に関連付けられる(たとえば、コラボレーションアプリケーション114のモジュールに関連付けられるかまたは別個のアプリケーションである)可能性がある。実装において、ユーザは、メッセージングモジュール128とインターフェースをとり、コラボレーションプラットフォーム120のユーザの間で電子メッセージをやりとりする可能性がある。メッセージングモジュール128は、とりわけ、たとえばインスタントメッセージングアプリケーション、テキストメッセージングアプリケーション、電子メールアプリケーション、ボイスメッセージングアプリケーション、ビデオメッセージングアプリケーション、または複数のアプリケーションの組合せである可能性がある。
【0041】
実装において、メッセージングモジュール128は、ユーザの間の電子メッセージのやりとりを容易にする可能性がある。たとえば、ユーザは、クライアントデバイス110Aのメッセージングアプリケーションにログインさせられる可能性があり、別のユーザは、クライアントデバイス110Bのメッセージングアプリケーションにログインさせられる可能性がある。2人のユーザは、インスタントメッセージングの会話などの会話を開始する可能性がある。メッセージングモジュール128は、コラボレーションプラットフォーム120のユーザの間で電子メッセージを送信および受信することによるメッセージングの会話を容易にするのを助ける可能性がある。
【0042】
限定ではなく例示のために、検索エンジン142およびデータあふれ検査モジュール140は、コラボレーションプラットフォーム120に実装されるものとして説明される。その他の実装において、検索エンジン142またはデータあふれ検査モジュール140は、クライアントデバイス110に一部がまたはすべてが実装される可能性がある。その他の実装において、検索エンジン142またはデータあふれ検査モジュール140は、サーバ130に一部がまたはすべてが実装される可能性がある。その他の実装において、クライアントデバイス110、サーバ130、またはコラボレーションプラットフォーム120のうちの1つまたは複数において動作する検索エンジン142またはデータあふれ検査モジュール140は、本明細書において説明される動作を実行するために連携して働く可能性がある。実装において、クライアントデバイス110の検索エンジンインターフェースモジュール141は、別個のアプリケーションであるかまたはコラボレーションアプリケーション114の一部(たとえば、アドイン)である可能性がある。本開示の実装がコラボレーションプラットフォームの観点で検討されるが、実装は、概して、ユーザの間のつながりを提供する任意の種類のソーシャルネットワークにも適用される可能性がある。
【0043】
上の説明に加えて、ユーザは、本明細書において説明されたシステム、プログラム、または特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会的行為もしくは活動、職業、ユーザのプリファレンス、またはユーザの現在位置)の集合を有効化してもよいかどうか、およびいつ有効化してもよいかとの両方、ならびにユーザがコンテンツまたは通信をサーバから送信されるかどうかについての選択をユーザが行うことを可能にするコントロールを提供される可能性がある。さらに、特定のデータが、個人を特定できる情報が削除されるように、記憶されるかまたは使用される前に1つまたは複数の方法で処理される可能性がある。たとえば、ユーザのアイデンティティが、個人を特定できる情報がユーザに関して決定されることが不可能であるか、または位置情報が取得される場合にユーザの地理的位置が(都市、郵便番号、もしくは州のレベルなどに)一般化される可能性があり、したがって、ユーザの特定の位置が決定されることが不可能であるように処理される可能性がある。したがって、ユーザは、どの情報がユーザについて収集されるか、その情報がどのように使用されるのか、およびどの情報がユーザに提供されるのかを制御することができる可能性がある。
【0044】
図2は、本開示の一部の実装によるゲーミングプロセスを実行する際に使用される修正された活動データを決定するための方法200を示す流れ図である。方法200は、ハードウェア(たとえば、回路、専用論理、プログラミング可能な論理、マイクロコード)、ソフトウェア(たとえば、ハードウェアシミュレーションを実行するために処理デバイス上で実行される命令)、またはこれらの組合せを含む処理論理によって実行される可能性がある。一部の実装において、コラボレーションプラットフォーム120またはサーバ130またはこれらの組合せにおいて実行されるデータあふれ検査モジュール140は、動作の一部またはすべてを実行する可能性がある。一部の実装において、データあふれ検査モジュール140は、コラボレーションプラットフォーム120において実行される検索エンジン142と連携して動作の一部またはすべてを実行する可能性がある。
図1の構成要素は、示される方法200を助けるために使用される可能性がある。一部の実装において、方法200は、任意の順序で実行される同じ、異なる、より少ない、またはより多い動作を含んでもよいことは理解されるであろう。
【0045】
ブロック205において、処理論理は、ゲーミングプラットフォームなどのコラボレーションプラットフォーム120のユーザの活動に関連する活動データを識別する。活動データは、ゲーミングプロセスなどのプロセスを実行するためにコラボレーションプラットフォーム120によって使用される可能性がある。一部の実装において、コラボレーションプラットフォーム120の実行に関連するデータ(「一般実行データ(general performance data)」とも呼ばれる)は、ゲーミングプロセスに影響を与えるイベントを示すデータのサブセット(たとえば、活動データ)を識別するためにフィルタリングされる。
【0046】
たとえば、コラボレーションプラットフォーム120は、ゲーミングプラットフォームの動作またはゲーミングプラットフォームのユーザの活動に関連する大量の一般実行データを受信し、記憶する可能性がある。一般実行データは、特定のゲーミングプロセスにおいて使用される活動データを識別するためにフィルタリングされる可能性がある。たとえば、検索プロセスは、ゲーミングプラットフォーム上のコンテンツアイテムに関する検索クエリに関連する検索結果を提供する。関連する検索結果を提供するために、検索プロセスは、検索結果の関連性を高めるためにゲーミングプラットフォーム上の以前に実行された検索に関連する活動データを使用する可能性がある。一般実行データは、ゲーミングプラットフォーム上の以前に実行された検索を識別するためにフィルタリングされる可能性がある。
【0047】
一部の実装において、活動データは、一般実行データのサブセットであり、活動データは、1つまたは複数の特定のゲーミングプロセスに影響を与えるイベントを示すデータを含む。活動データは、ユーザによって生成された活動データ(たとえば、ユーザ入力、選択、検索クエリ、検索語、検索結果に関連するユーザ入力などのユーザによって生成された行為)を含むか、またはユーザの活動に関連するデータ(たとえば、ゲームオブジェクトが開発者インターフェースによってゲームに挿入される時間の量)を含んでもよい。一部の実装において、活動データは、ユーザの活動に無関係なデータ(たとえば、コンピュータクラスタの負荷の統計)を含んでもよい。
【0048】
実装において、イベントは、ゲーミングプロセスに影響を与えるユーザによって生成された行為などの関心のある行為の発生を指すことがある。活動データは、異なるイベントの1つもしくは複数のインスタンスまたは単一のイベントの1つもしくは複数のインスタンスを示すデータを含む場合がある。たとえば、検索プロセスに影響を与えるイベントは、過去の検索クエリを含む場合がある。検索プロセスに影響を与える別のイベントは、検索クエリおよび検索結果からの任意のコンテンツアイテムの選択を含む場合がある。検索プロセスに影響を与える別のイベントは、特定の検索語を使用する検索クエリを含む場合がある。検索プロセスに影響を与える別のイベントは、検索結果からの特定のコンテンツアイテムのユーザの選択である可能性がある。検索プロセスに影響を与える別のイベントは、閾値の量の時間の間、開発者インターフェース内に特定のコンテンツアイテムをユーザが配置することを含む場合がある。以下でさらに説明される条件は、1つまたは複数のイベントを含む場合がある。
【0049】
一部の実装において、特定のゲーミングプロセスに影響を与えるイベントは、コラボレーションプラットフォーム120の管理者によって知られている可能性があり、特定のゲーミングプロセスに関連する1つまたは複数のイベントが、管理者によって選択される可能性がある。一般実行データは、特定のゲーミングプロセスに影響を与えるイベントの複数のインスタンスを識別するデータのサブセット(たとえば、活動データ)を識別するためにフィルタリングされる可能性がある。
【0050】
一部の実装において、コラボレーションプラットフォーム120の一般実行データは、1つまたは複数のログファイルに記憶されてもよい。ログファイルは、たとえばデータストア106に記憶されてもよい。コラボレーションプラットフォームの一般実行データは、膨大(たとえば、数百テラバイトのデータ)である可能性があり、ユーザがコラボレーションプラットフォーム120とインタラクションするときに絶えず更新されるかまたは変更される可能性がある。一部の実装において、ログファイルは、活動データを識別するために解析される可能性がある。たとえば、ログファイルの一般実行データは、ログファイルのデータのラベルなどの特定の特徴を識別するために解析される可能性がある。ラベルなどの特定の特徴は、関心のある特定のイベントを識別する可能性がある。たとえば、ログファイルの一般実行データは、検索、挿入、ユーザ選択、ユーザアカウントなどの特定の種類としてラベル付けされる可能性がある。ログファイルの一般実行データは、ゲーミングプロセスに影響を与えるイベントを示すラベルを識別するために解析される可能性がある。関心のあるイベントを識別する特定の特徴を有するログファイルのデータが、フィルタリングされ、活動データに含められる可能性がある。
【0051】
一部の実装において、一般実行データは、特定の時間、特定の日、特定の週などの特定の時間の期間のものである可能性がある。一般実行データから獲得された活動データも、特定の時間の期間のものである可能性がある。
【0052】
実装において、ゲーミングプロセスは、プロセスの少なくとも一部の実行の際に活動データを使用するコラボレーションプラットフォームによって実行されるプロセスを指す可能性がある。検索プロセスは、概して、検索エンジン142または検索エンジンインターフェースモジュール141によって実行される1つまたは複数のプロセスを指す可能性があり、たとえば検索クエリ、検索インデックス付け、および検索結果を含む場合がある。一部の実装において、検索プロセスは、コラボレーションプラットフォーム120上のコンテンツアイテムに関する検索クエリに応答して関連する検索結果を決定する。
【0053】
ブロック210において、処理論理は、第1の特徴に基づいて活動データのうちの第1のデータを識別する。第1のデータは、活動データのサブセットである。実装において、活動データは、特徴に基づいてフィルタリングされる可能性がある。一例において、特徴は、ユーザアカウント識別子である。たとえば、第1のデータは、活動データのサブセットである可能性があり、第1のデータは、特定のユーザアカウントに関連付けられる。第1のデータは、特定のユーザアカウントに関連付けられる特定のユーザアカウント識別子によって特定される可能性がある。活動データのうちの第1のデータを識別する動作は、異なるユーザアカウントに関連する異なるユーザアカウント識別子に関して繰り返されてもよいことが留意される可能性がある。
【0054】
その他の実装において、特徴は、インターネットプロトコル(IP)アドレスである可能性があり、第1のデータは、すべて同じIPアドレスからのものである。その他の実装において、特徴は、時間の範囲である可能性があり、第1のデータは、特定の時間の範囲(たとえば、火曜日)からのものである。一部の実装において、特徴は、たとえばユーザエージェントまたはトラッカ(たとえば、ブラウザトラッカ)によって収集された特定のユーザデバイスまたはブラウザである可能性がある。
【0055】
たとえば、検索プロセスの実行に影響を与えるイベントを表す活動データを識別するためにコラボレーションプラットフォーム120の実行に関連するデータ(たとえば、一般実行データ)をフィルタリングした後、活動データは、特定のユーザアカウント(たとえば、ユーザアカウントA)に関連する活動データの一部(たとえば、第1のデータ)を識別するためにさらにフィルタリングされる可能性がある。
【0056】
ブロック215において、処理論理は、活動データのうちの第1のデータが多数の条件のうちの第1の条件を満たす回数を判定する可能性がある。多数は、何かの1つまたは複数を指す可能性がある。活動データのうちの第1のデータが条件を満たす回数は、第1のデータがあふれデータであるのかまたは正当なデータであるのかを示す可能性がある。1つの実装において、活動データのうちの第1のデータが多数の条件のうちの第1の条件を満たす回数は、ユーザがゲーミングプラットフォーム上で検索を実行するために検索クエリ(たとえば、特定の検索語を有する検索クエリまたは検索語と無関係なユーザによる任意の検索クエリ)を送り(たとえば、イベントA)、検索クエリに応答する検索結果からいかなるコンテンツアイテムも選択しない(たとえば、プレイするゲームまたは開発者インターフェースに配置するゲームオブジェクトを選択しない)(たとえば、イベントB)回数などの特定のイベント(またはイベントの組合せ)が実行される回数を示す可能性がある。
【0057】
たとえば、条件がゲーミングプラットフォーム上で特定のユーザ(たとえば、ユーザアカウント)によって送られた検索クエリであり、コンテンツアイテムが検索結果から選択されない場合、処理論理は、特定のユーザアカウントに関連する活動データの一部(たとえば、第1のデータ)が条件を満たす回数を数える可能性がある。たとえば、ユーザアカウントAが特定の日に10,000個の検索クエリを送り、対応する検索結果のうちの9,800個からコンテンツアイテムを選択しなかった(たとえば、200回コンテンツアイテムを選択した)場合、活動データのうちの第1のデータが第1の条件を満たす回数は、9,800回である。
【0058】
ブロック220において、処理論理は、第1のデータが第1の条件を満たす回数が第1の閾値を満足するかどうかを判定する。一部の実装において、処理論理は、第1のデータが第1の条件を満たす回数(たとえば、イベント(またはイベントの組合せ)が実行された回数)を第1の閾値と比較する可能性がある。一部の実装において、第1の閾値は、第1のデータが第1の条件を満たす回数が第1の閾値を満たすかまたは超える場合、満足される。第1の閾値は、第1のデータが第1の条件を満たす回数が第1の閾値未満である場合、満足されない。第1の閾値は、管理者によって選ばれ、特定の条件(たとえば、第1の条件)に固有である可能性がある。第1の閾値が満足される場合、処理論理は、ブロック245に進み、活動データから第1のデータを削除する。第1の閾値が満足されない場合、処理論理は、ブロック225に移る。
【0059】
たとえば、第1の閾値が500回である場合、処理論理は、第1の条件が満たされた回数(たとえば、9,800回)を第1の閾値(たとえば、500回)と比較する可能性がある。第1の条件が満たされた回数が第1の閾値を超える(9,800>500)場合、処理論理は、活動データから第1のデータを削除する。第1の条件が満たされた回数が第1の閾値を超えない場合、処理論理は、第1のデータをその他の条件と照らし合わせる。一部の実装においては、活動データから第1のデータを削除するために、第1のデータが2つ以上の条件を満たし、対応する閾値を満足する可能性があることが留意される可能性がある。
【0060】
ブロック225において、活動データのうちの第1のデータが第1の条件を満たす回数が第1の閾値を満足しないという判定に応じて、処理論理は、活動データのうちの第1のデータが多数の条件のうちの第2の条件を満たす回数を判定する可能性がある。一部の実装において、活動データのうちの第1のデータが多数の条件のうちの第2の条件を満たす回数は、ユーザがゲーミングプラットフォーム上で検索を実行するために検索クエリ(たとえば、特定の検索語を有する検索クエリまたは検索語と無関係なユーザによる任意の検索クエリ)を送り(たとえば、イベントA)、検索クエリに応答する検索結果からコンテンツアイテム(たとえば、特定のコンテンツアイテムまたはコンテンツアイテムのうちのいずれか)を選択する(たとえば、プレイするゲームまたは開発者インターフェースに配置するゲームオブジェクトを選択する)(たとえば、イベントC)回数などの特定のイベント(またはイベントの組合せ)が実行される回数を含む。
【0061】
たとえば、条件がゲーミングプラットフォーム上で特定のユーザ(たとえば、ユーザアカウント)によって送られた検索クエリであり、コンテンツアイテムが検索結果から選択される場合、処理論理は、特定のユーザアカウントに関連する活動データの一部(たとえば、第1のデータ)が条件を満たす回数を数える可能性がある。たとえば、ユーザアカウントが特定の日に10,000個の検索クエリを送り、対応する検索結果のうちの200個からコンテンツアイテムを選択する場合、活動データのうちの第1のデータが第2の条件を満たす回数は、200回である。
【0062】
ブロック230において、処理論理は、第1のデータが第2の条件を満たす回数が第2の閾値を満足するかどうかを判定する。一部の実装において、処理論理は、第1のデータが第2の条件を満たす回数(たとえば、イベント(またはイベントの組合せ)が実行された回数)を第2の閾値と比較する可能性がある。一部の実装において、第2の閾値は、第1のデータが第2の条件を満たす回数が第2の閾値を満たすかまたは超える場合、満足される。第2の閾値は、第1のデータが第2の条件を満たす回数が第2の閾値未満である場合、満足されない。第2の閾値は、管理者によって選ばれるか、または特定の条件(たとえば、第2の条件)に固有である可能性がある。第2の閾値が満足される場合、処理論理は、ブロック245に進み、活動データから第1のデータを削除する。第2の閾値が満足されない場合、処理論理は、ブロック235に移る。
【0063】
たとえば、第2の閾値が1000回である場合、処理論理は、第2の条件が満たされた回数(たとえば、200回)を第1の閾値(たとえば、1000回)と比較する可能性がある。第2の条件が満たされた回数が第2の閾値を超える場合、処理論理は、活動データから第1のデータを削除する。第2の条件が満たされた回数が第2の閾値を超えない(第2の条件が満たされた200回<1000回の閾値)場合、処理論理は、第1のデータをその他の条件と照らし合わせる。
【0064】
ブロック235において、活動データのうちの第1のデータが第2の条件を満たす回数が第2の閾値を満足しないという判定に応じて、処理論理は、活動データのうちの第1のデータが多数の条件のうちの第3の条件を満たす回数を判定する可能性がある。一部の実装において、活動データのうちの第1のデータが第3の条件を満たす回数は、第1の条件が満たされる回数と第2の条件が満たされる回数との合計を含む。
【0065】
たとえば、第1の条件がユーザがゲーミングプラットフォーム上で検索を実行するために検索クエリを送り、検索クエリに応答する検索結果からいかなるコンテンツアイテムも選択しない回数であり、第2の条件がユーザがゲーミングプラットフォーム上で検索を実行するために検索クエリを送り、検索クエリに応答する検索結果からコンテンツアイテムを選択する回数である場合、処理論理は、特定のユーザアカウントに関連する活動データの一部(たとえば、第1のデータ)が第1の条件を満たす回数および第1のデータが第2の条件を満たす回数を数え、2つの数を集計する可能性がある。たとえば、ユーザアカウントが特定の日に10,000個の検索クエリを送り、対応する検索結果のうちの200個からコンテンツアイテムを選択する場合、活動データのうちの第1のデータが第1の条件を満たす回数は、9,800回であり、第1のデータが第2の条件を満たす回数は、200回であり、活動データのうちの第1のデータが第1の条件を満たす回数または活動データのうちの第1のデータが第2の条件を満たす回数の合計は、10,000回である。
【0066】
ブロック240において、処理論理は、第1のデータが第3の条件を満たす回数が第3の閾値を満足するかどうかを判定する。一部の実装において、処理論理は、第1のデータが第3の条件を満たす回数(たとえば、イベント(またはイベントの組合せ)が実行された回数)を第3の閾値と比較する可能性がある。一部の実装において、第3の閾値は、第1のデータが第3の条件を満たす回数が第3の閾値を満たすかまたは超える場合、満足される。第3の閾値は、第1のデータが第3の条件を満たす回数が第3の閾値未満である場合、満足されない。第3の閾値は、管理者によって選ばれるか、または特定の条件(たとえば、第3の条件)に固有である可能性がある。実装において、第1の閾値、第2の閾値、および第3の閾値は、同じであるかまたは異なる可能性がある。第3の閾値が満足される場合、処理論理は、ブロック245に進み、活動データから第1のデータを削除する。第3の閾値が満足されない場合、処理論理は、第1のデータを活動データの一部として維持する。一部の実装においては、第3の閾値が満足されない場合、処理論理は、ブロック250に進み、(第1のデータが削除されていない)活動データを記憶する可能性がある。その他の実装において、処理論理は、たとえばその他のユーザアカウントに関連するさらなるデータ(さらなる第1のデータ)のあふれを検査するためにブロック210に戻る可能性がある。
【0067】
たとえば、活動データのうちの第1のデータが第1の条件を満たす回数は、9,800回であり、第1のデータが第2の条件を満たす回数は、200回であり、活動データのうちの第1のデータが第1の条件を満たす回数と活動データのうちの第1のデータが第2の条件を満たす回数との合計は、10,000回である。閾値の回数は、12,000回である可能性がある。10,000は、12,000未満であり、第3の閾値を満足しない。
【0068】
一部の実装において、活動データのうちの第1のデータが第3の条件を満たす回数は、第1のデータ内で関心のあるイベントが起こる回数の合計を含む。たとえば、3つのイベントが存在する。イベントAは、ユーザがゲーミングプラットフォーム上で検索を実行するために検索クエリを送ることである。イベントBは、ユーザが関連する検索結果からいかなるコンテンツアイテムも選択しないことである。イベントCは、ユーザが関連する検索結果からコンテンツアイテムを選択することである。イベントAが起こる回数は、10,000であり、イベントBが起こる回数は、9,800であり、イベントCが起こる回数は、200である。関心のあるイベントが起こる合計回数は、20,000回であり、これは、閾値10,000を超えており、第1のデータが、活動データから削除される可能性がある。
【0069】
条件の検査(たとえば、ブロック215~240)は、限定ではなく例示のためにある順序で実行されるものとして示されることが留意される可能性がある。その他の実装において、条件の検査は、任意の順序でまたは同時に実行される可能性がある。条件の検査は、限定ではなく例示の目的で提供されることも留意される可能性がある。その他の実装においては、同じまたは異なる条件によるより少ない、より多い、同じ、または異なる条件の検査が、実行される可能性がある。条件は特定のプロセスに関連する可能性があり、異なるプロセスのための条件は異なる可能性があり、したがって、条件は特定のプロセスに影響を与えることが留意される可能性がある。
【0070】
ブロック245において、活動データのうちの第1のデータが第1の条件(またはその他の条件)を満たす回数が第1の閾値(またはその他の条件に関連するその他の閾値)を満足するという判定に応じて、処理論理は、活動データから第1のデータを削除することによって活動データを修正する。ブロック210に戻る破線矢印によって示されるように、動作は、複数回実行される可能性がある。たとえば、第1のインスタンスの第1のデータは、特定のユーザアカウントに関連付けられる可能性がある。動作は、異なるユーザアカウントに(または活動データをフィルタリングするために使用される任意のその他の特徴によって)関連付けられる活動データの任意の数のさらなる部分に関するデータに関して実行される可能性がある。
【0071】
ブロック250において、処理論理は、たとえばデータストア106に修正された活動データを記憶する可能性がある。一部の実装において、修正された活動データは、ブロック210~250がコラボレーションプラットフォーム120をあふれさせる悪意のあるユーザからのものである可能性があるあふれデータをフィルタリングして取り除くとき、ブロック205において説明された活動データのサブセットである可能性がある。
【0072】
ブロック255において、処理論理は、ゲーミングプロセスを実行するために修正された活動データを使用する可能性がある。実装において、ゲーミングプロセスは、ゲーミングプラットフォーム上のコンテンツアイテムに関する検索クエリに応答して関連する検索結果を提供する検索プロセスである。一部の実装において、プレイユーザによる検索クエリは、コラボレーションプラットフォーム120によってホストされるゲーム122を検索する可能性があり、検索結果は、検索クエリ内で使用された特定の検索語に関連するゲームである可能性がある。一部の実装において、作成ユーザによる検索クエリは、ゲーミングプラットフォームの開発者インターフェースに配置するためのゲームオブジェクトを検索する可能性があり、検索結果は、検索クエリ内で使用された特定の検索語に関連するゲームオブジェクトである可能性がある。
【0073】
限定ではなく例示を目的として、ゲーミングプラットフォーム上のコンテンツアイテムに関する検索クエリに応答して関連する検索結果を提供するための検索プロセスが、説明された。本開示の態様は、その他のゲーミングプロセスまたは検索プロセスの異なるサブプロセスなどのその他のプロセスに関して提供される可能性がある。
【0074】
たとえば、本開示の態様は、map-reduceプロセスのために使用される可能性がある。場合によっては、ユーザは、300kページビューなどの多数のイベントを実行する可能性がある。多数のページビューは、map-reduce動作によって処理するための大量のデータを作成する。単一のユーザからの多数のページビューは、変則的なユーザの挙動を示し、あふれデータと考えられる可能性がある。あふれデータは、活動データから削除され、map-reduceプロセスに提供される可能性がある。
【0075】
別の例において、本開示の態様は、メッセージング動作のために使用される可能性がある。場合によっては、ユーザは、メッセージによってコラボレーションプラットフォーム120をあふれさせる可能性がある。たとえば、チャットボットが、多くのユーザとの会話を生成するために使用される可能性がある。チャットボットは、聴覚的なまたはテキストの方法を使用して会話を行うコンピュータプログラムである可能性がある。チャットボットは、人の会話をシミュレーションする可能性があり、メッセージングシステムなどの対話システムにおいて使用される。一部の実装において、システムは、特定のユーザアカウントまたはIPアドレスから送信されたメッセージの数を監視し、数を閾値と比較する可能性がある。数が閾値を超える場合、データは、システムから削除される可能性があり、アカウントは、無効化される可能性がある。あふれデータは、システムから削除され、たとえばデータストア106に記憶されない可能性がある。
【0076】
図3は、本開示の一部の実装によるコラボレーションプラットフォーム上でゲームを作成し、構築するためのユーザインターフェースおよびゲームオブジェクトの検索結果を示す。
図1および
図2の要素は、
図3を示すのを助けるために使用される可能性がある。実装において、ユーザインターフェース300は、作成ユーザがコラボレーションプラットフォーム120のクリエータモジュール126にアクセスすることを可能にする開発者インターフェースである可能性がある。実装において、作成ユーザは、ユーザインターフェース300にアクセスするためにクライアントデバイス110のコラボレーションアプリケーション114を使用する可能性がある。ユーザインターフェース300は、作成ユーザがゲームオブジェクト(たとえば、パーツおよびモデル)などのコンテンツアイテムを検索することを可能にする検索エンジンポータル310を示す。この例において、作成ユーザは、検索語「乗り物」を使用してコラボレーションプラットフォーム120の検索エンジン142に検索クエリを送った。(データあふれ検査モジュール140と連携して)検索エンジン142は、「乗り物」などの検索語に基づいてゲームオブジェクトなどのコンテンツアイテムの関連する検索結果312を返す検索プロセスを実行するために活動データ(たとえば、修正された活動データ)を使用する可能性がある。
【0077】
ユーザインターフェース300は、ゲームワークスペース314へのゲームオブジェクトの配置または挿入を示す。たとえば、ゲームオブジェクト316(たとえば、建物)が、検索エンジンポータル310から検索され、ゲームワークスペース314に挿入された。実装において、コラボレーションプラットフォーム120は、ゲームオブジェクト316がゲームワークスペース314に挿入される時間の量を追跡する可能性がある。
【0078】
図4は、本開示の一部の実装によるゲームの検索結果を示すユーザインターフェースを示す。
図1~3の要素は、
図4を示すのを助けるために使用される可能性がある。ユーザインターフェース400は、検索語"Tycoon"を使用する検索クエリに関する検索結果412を示す。(データあふれ検査モジュール140と連携して)検索エンジン142は、検索語"Tycoon"に基づいてゲームなどのコンテンツアイテムを含む関連する検索結果412を返す検索プロセスを実行するために活動データ(たとえば、修正された活動データ)を使用する可能性がある。示されるように、検索結果412は、それぞれのゲームの識別子(たとえば、画像)を示す。実装において、ユーザは、コラボレーションプラットフォーム120からのゲームにアクセスするために検索結果412からゲーム(たとえば、ゲーム識別子)を選択する可能性がある。一部の実装において、ゲーム(たとえば、ゲーム識別子)は、ランク付けされた順序で表示される可能性がある。たとえば、ゲームは、ランキングの降順に(たとえば、1から10までのランク)上の左から右、下の左から右に表示される可能性がある。
【0079】
図5は、実装による例示的なコンピュータシステム500を示すブロック図である。コンピュータシステム500は、本明細書において検討される方法のうちのいずれか1つまたは複数をマシンに実行させる命令の1つまたは複数のセットを実行する。命令のセット、命令などは、コンピュータシステム500によって実行されるときにコンピュータシステム500にデータあふれ検査モジュール140の1つまたは複数の動作を実行させる命令を指す可能性がある。マシンは、クライアント-サーバネットワーク環境内のサーバもしくはクライアントデバイスとして、またはピアツーピア(もしくは分散型)ネットワーク環境内のピアマシンとして動作する可能性がある。マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、モバイル電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチもしくはブリッジ、またはそのマシンによって行われるべき行為を指定する(逐次的もしくはその他の)命令のセットを実行することができる任意のマシンである可能性がある。さらに、単一のマシンだけが示されているが、用語「マシン」は、本明細書において検討される方法のうちのいずれか1つまたは複数を実行するための命令のセットを個々にまたは連携して実行するマシンの任意の集合を含むとやはり受け取られる。
【0080】
コンピュータシステム500は、バス508を介して互いに通信する処理デバイス502、メインメモリ504(たとえば、読み出し専用メモリ(ROM)、フラッシュメモリ、同期ダイナミックランダムアクセスメモリ(DRAM)(SDRAM)またはRambus DRAM(RDRAM)などのDRAMなど)、スタティックメモリ506(たとえば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)、およびデータストレージデバイス516を含む。
【0081】
処理デバイス502は、マイクロプロセッサ、中央演算処理装置などの1つまたは複数の汎用処理デバイスを表す。より詳細には、処理デバイス502は、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、またはその他の命令セットを実装する処理デバイスもしくは命令セットの組合せを実装する処理デバイスである可能性がある。処理デバイス502は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなど1つまたは複数の専用処理デバイスである可能性もある。処理デバイス502は、本明細書において検討される動作を実行するためのシステムアーキテクチャ100およびデータあふれ検査モジュール140の命令を実行するように構成される。
【0082】
コンピュータシステム500は、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネットなどのネットワーク518を介したその他のマシンとの通信を提供するネットワークインターフェースデバイス522をさらに含んでもよい。コンピュータシステム500は、ディスプレイデバイス510(たとえば、液晶ディスプレイ(LCD)またはブラウン管(CRT))、英数字入力デバイス512(たとえば、キーボード)、カーソル制御デバイス514(たとえば、マウス)、および信号生成デバイス520(たとえば、スピーカ)も含んでもよい。
【0083】
データストレージデバイス516は、本明細書において説明される方法または関数または動作のうちの任意の1つまたは複数を具現化するシステムアーキテクチャ100およびデータあふれ検査モジュール140の命令のセットが記憶される非一時的コンピュータ可読ストレージ媒体524を含んでもよい。システムアーキテクチャ100およびデータあふれ検査モジュール140の命令のセットは、コンピュータシステム500によるそれらの実行中、メインメモリ504および/もしくは処理デバイス502内にすべてまたは少なくとも部分的に存在する可能性もあり、メインメモリ504および処理デバイス502も、コンピュータ可読ストレージ媒体を構成する。命令のセットは、ネットワークインターフェースデバイス522を介してネットワーク518上でさらに送信または受信される可能性がある。
【0084】
コンピュータ可読ストレージ媒体524の例は単一の媒体として示されているが、用語「コンピュータ可読ストレージ媒体」は、命令のセットを記憶する単一の媒体または複数の媒体(たとえば、集中的なもしくは分散型のデータベース、ならびに/または関連するキャッシュおよびサーバ)を含み得る。用語「コンピュータ可読ストレージ媒体」は、マシンによる実行のために命令のセットを記憶するか、符号化するか、または運ぶことができ、本開示の方法のうちのいずれか1つまたは複数をマシンに実行させる任意の媒体を含み得る。用語「コンピュータ可読ストレージ媒体」は、ソリッドステートメモリ、光学式媒体、および磁気式媒体を含み得るがこれらに限定され得ない。
【0085】
上述の説明において、多くの詳細が説明されている。しかし、本開示がこれらの具体的詳細なしに実施され得ることは、本開示の恩恵に浴する当業者に明らかであろう。場合によっては、本開示を曖昧にすることを避けるために、よく知られた構造およびデバイスは、詳細にではなくブロック図の形態で示される。
【0086】
詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する操作のアルゴリズムおよび記号表現の観点で提示された。これらのアルゴリズムの記述および表現は、データ処理技術に精通した者によって、それらの者の成果の内容を当該技術に精通したその他の者に最も効果的に伝えるために使用される手段である。ここでおよび概して、アルゴリズムは、所望の結果をもたらす自己矛盾のない一連のステップであると考えられる。ステップとは、物理量の物理的操作を必要とするステップである。必ずではないが通常は、これらの量は、記憶、転送、組合せ、比較、およびその他の操作が行われ得る電気的または磁気的信号の形態をとる。これらの信号をビット、値、要素、シンボル、文字、語、数などと呼ぶことが、主に共通使用の理由で便利な場合があることが分かっている。
【0087】
しかし、これらのおよび同様の用語のすべては、適切な物理量に関連付けられるべきであり、これらの量に付される便宜的なラベルであるに過ぎないことが留意される可能性がある。別途はっきりと記載されていない限り、説明全体を通じて、「修正する」、「生成する」、「判定する」、「実行する」、「解析する」、「フィルタリングする」、「提供する」、「識別する」、「記憶する」などの用語を利用する検討は、コンピュータシステムのメモリまたはレジスタ内の物理的(たとえば、電子的)量として表されるデータを操作し、コンピュータシステムのメモリまたはレジスタまたはその他のそのような情報ストレージ、送信、もしくは表示デバイス内の物理的量として同様に表されるその他のデータに変形する、コンピュータシステムまたは同様の電子的なコンピューティングデバイスの行為およびプロセスを指すことが理解される。
【0088】
本開示は、本明細書の動作を実行するための装置にも関する。この装置は、必要とされる目的のために特別に構築される可能性があり、またはコンピュータに記憶されたコンピュータプログラムによって選択的にアクティブ化もしくは再構成される多目的コンピュータを含んでもよい。そのようなコンピュータプログラムは、フロッピーディスクを含む任意の種類のディスク、光ディスク、コンパクトディスク読み出し専用メモリ(CD-ROM)、光磁気ディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、磁気式もしくは光学式カード、または電子的な命令を記憶するのに好適な任意の種類の媒体などであるがこれらに限定されないコンピュータ可読ストレージ媒体に記憶されてもよい。
【0089】
語「例」または「例示的な」は、本明細書においては、例、具体例、または事例としての役割を果たすことを意味するために使用される。本明細書において「例」もしくは「例示的な」と記載されたいずれの態様または設計も、必ずしもその他の態様または設計よりも好ましいかまたは有利であると解釈されるべきでない。むしろ、語「例」または「例示的な」の使用は、概念を具体化して提示するように意図される。本出願において使用されるとき、用語「または(or)」は、排他的な「または(or)」ではなく包含的な「または(or)」を意味するように意図される。つまり、別途明記されない限り、または文脈から明らかでない限り、「XはAまたはBを含む」は、自然な包含的順列(natural inclusive permutation)のいずれかを意味するように意図される。つまり、XがAを含む、XがBを含む、またはXがAとBとの両方を含む場合、「XがAまたはBを含む」は、上記の場合のいずれかの下で満足される。加えて、本出願および添付の請求項において使用される冠詞「a」および「an」は、別途明記されない限り、または文脈から単数形を対象とすることが明らかでない限り、通常「1つまたは複数の(one or more)」を意味するとみなされる可能性がある。さらに、用語「実装」または「1つの実装」または「実施形態」または「1つの実施形態」などの使用は、全体を通じて、そのように説明されない限り同じ実装または実施形態を意味するように意図されていない。1つまたは複数の実装または実施形態は、特定の実装または実施形態に組み合わされる可能性がある。本明細書において使用される用語「第1の」、「第2の」、「第3の」、「第4の」などは、異なる要素を区別するためのラベルとして意図されており、必ずしも、それらの用語の数の指定に従った順序の意味を持たない可能性がある。
【0090】
上述の説明は例示的であるように意図されており、限定的であるように意図されていないことを理解されたい。その他の実装は、上の説明を読み、理解すると、当業者に明らかであろう。したがって、本開示の範囲は、添付の請求項が与えられる均等物の全範囲と併せたそのような請求項に関連して決定される可能性がある。
【0091】
さらなる実装において、上述の実装の動作を実行するための1つまたは複数の処理デバイスが、開示されている。加えて、本開示の実装においては、非一時的コンピュータ可読ストレージ媒体が、説明された実装の動作を実行するための命令を記憶する。または、その他の実装においては、説明された実装の動作を実行するためのシステムも、開示されている。
【符号の説明】
【0092】
100 システムアーキテクチャ
105 ネットワーク
106 データストア
110 クライアントデバイス
114 コラボレーションアプリケーション
120 コラボレーションプラットフォーム
122 ゲーム
124 ゲームエンジン
126 クリエータモジュール
128 メッセージングモジュール
130 サーバ
140 データあふれ検査モジュール
141 検索エンジンインターフェースモジュール
142 検索エンジン
200 方法
300 ユーザインターフェース
310 検索エンジンポータル
312 検索結果
314 ゲームワークスペース
316 ゲームオブジェクト
400 ユーザインターフェース
412 検索結果
500 コンピュータシステム
502 処理デバイス
504 メインメモリ
506 スタティックメモリ
508 バス
510 ディスプレイデバイス
512 英数字入力デバイス
514 カーソル制御デバイス
516 データストレージデバイス
518 ネットワーク
520 信号生成デバイス
522 ネットワークインターフェースデバイス
524 非一時的コンピュータ可読ストレージ媒体