US20110218037A1 - System and method for improving personalized search results through game interaction data - Google Patents
System and method for improving personalized search results through game interaction data Download PDFInfo
- Publication number
- US20110218037A1 US20110218037A1 US12/719,069 US71906910A US2011218037A1 US 20110218037 A1 US20110218037 A1 US 20110218037A1 US 71906910 A US71906910 A US 71906910A US 2011218037 A1 US2011218037 A1 US 2011218037A1
- Authority
- US
- United States
- Prior art keywords
- user
- game
- interactive game
- user profile
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/67—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F9/00—Games not otherwise provided for
- A63F9/24—Electric games; Games using electronic circuits not otherwise provided for
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5546—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
Definitions
- the invention described herein generally relates to improving personalized search results. More specifically, the invention is directed towards systems and methods for utilizing interactive user games to increase the relevancy of personalized search results based on collected game interaction data.
- a primary economical and functional objective of a search engine is to increase the relevancy of search results for a given query. Displaying the most relevant search results first, followed by search results in descending relevancy, can maximize the user experience, increase a user base, and increase advertisement revenue.
- various techniques involving personalization of search results have been implemented.
- the primary method of increasing personalized results has been to incorporate user relevancy feedback into the result listings.
- One common technique includes user-ranking of search results, either directly through a gaming interface or the binary designation of whether a search result was relevant.
- An example of a binary search option may give the user an option to “like” or “dislike” a result presented with a search query.
- Another technique is to actively monitor user activity in a general search log, such as to detect if the user re-enters a search using a different search term, examines further search result pages aside from just the first page, or for example if the user selects a particular link and thereby terminates the search session, as this can imply the search result is what the user was looking for.
- techniques can either be directed to the search engine and/or the search engine data, or can be directed to the user or a group of users. For example, it is common to provide a search interface where a user maintains an account, and hence a user profile. It is common to augment search results based on the user profile.
- a first technique is user-entered information that the user voluntarily enters when generating the account, such as for example, gender, age, likes, dislikes, etc.
- a second technique is tracking user activities. For example, when the user is logged in, an engine may track user search activities and formulate this activity for profile information. It is also noted based on user security preferences, tracking information may further include cookies or other types of monitoring elements.
- the present invention is directed towards systems and methods for using gaming operations to determine personalized content.
- the system and method includes presenting an interactive game to a user, wherein the user is associated with a user profile and while the user interacts with the interactive game, monitoring user interactions relating to the interactive game.
- the system and method further includes determining user profile information based on the user interactions, the user interactions including user activities associated with the interactive game and updating the associated user profile with the determined user profile information. Therefore, in response to a user content request, the system and method adjusts content presented to the user, wherein the filtering is based on the user profile information including user profile information from the user interaction with the interactive game.
- the system and method allows for the collection of user information via gaming applications/gaming interfaces. From this gaming information, user profile information is collected. This profile information is then usable to further personalize electronic search activity.
- FIG. 1 presents a block diagram depicting a system for improving personalized search results based on game interaction data according to one embodiment of the present invention
- FIG. 2 presents a block diagram depicting a system for analyzing game interaction data according to one embodiment of the present invention
- FIG. 3 presents a flow diagram illustrating a method for collecting game interaction data according to one embodiment of the present invention.
- FIG. 4 presents a flow diagram illustrating a method for processing game interaction data according to one embodiment of the present invention.
- FIG. 1 presents a block diagram depicting a system for analyzing game data according to one embodiment of the present invention.
- a plurality of client devices 102 a , 102 b , 102 c are connected to a search engine 106 through network 104 .
- the search engine 106 is in communication with a game server 108 having a game storage device 110 , the search engine including a game processor 112 , a user database 114 , a web server 116 , and a search database 118 .
- the search engine 106 may be any suitable physical processing device performing processing operations as described herein, in response to executable instructions.
- search engine 106 and its components, may comprise a plurality of redundant server devices.
- the storage elements 110 , 114 , and 118 may be any suitable type of storage device operative to electronically store data therein.
- storage element 110 , 114 , and 118 may comprise a RAID storage system comprising a plurality of hard disks.
- the client devices 102 are operative to transmit and receive data from both web server 116 and game server 108 via the search engine 106 .
- Game server 108 and search engine 106 may comprise a plurality of hardware and software devices operative to handle requests such as HTTP requests or various requests following other protocols.
- the client device 102 may transmit a request to begin a game to the game server 108 over the network 104 .
- a request to begin a game may include a game selection via a menu or other type of gaming interface presented through the search engine 106 using any suitable game offering/selection technique recognized by one skilled in the art.
- the initiation of a game may include the user registering or other activating a user account.
- the user account may be a default account the user has with the search engine or in another embodiment may be associated with a more general account, such as a social network account by way of example.
- the game server 108 receives the game request from client devices 102 through the search engine interface.
- the search engine 106 then loads the appropriate game from game storage 110 .
- Game storage device 110 may store a variety of types of data relating to games, include a variety of data structures describing a game, such as, game templates representing various game metrics including, but not limited to, game display format, game play rules and various other metrics.
- game storage device 110 may store substantive game data, such as a variety of questions, puzzles, problems, or other substantive game data, as well as solutions or answers to the data.
- game storage 110 may organize game data categorically; that is, game storage 110 may associate a topic for a given piece of game data.
- game data and game metrics may be stored in discrete locations, such that modifications to each may be made independent of the other.
- the game server 108 After retrieving game data and game metrics, the game server 108 builds the game.
- the game selection for retrieval may be based on any number of factors, including a progression of types of games for users to play, random selection, user selection, for example.
- the games are constructive programs that allow for user interaction, consistent with known techniques for games, which can include puzzles, quizzes, trivia, relationship determination, or any other suitable technique for presenting a question or query to a user and receiving a user-generated response.
- building a game may comprise combining the game data and game metrics into a single, cohesive package for presentation to the user.
- the game server 108 may build an HTML page containing presentation elements described by the game metrics and questions described by the game data. Additionally, the game server 108 may generate a plurality of interactive event handlers for handling user input; such event handlers may be implemented in JavaScript, ActionScript, VBScript, or various other client side scripting languages known in the art. After building the game, the game server 108 transmits the game to the client device 102 for display thereon.
- Client device 102 displays a game to a user operating the client device 102 .
- displaying a game may comprise displaying a webpage containing the game built by the game server 108 .
- event handlers generated by game sever 108 operate on the client device 102 to handle user input.
- User input may comprise, but should not be limited to, various input events such as mouse clicks, key presses, or the submission of answers.
- the event handlers are operative to transmit interaction data back to the game sever 108 .
- interaction data comprises an indication of a user's answer to a given game question, problem, or puzzle.
- interaction data may indicate that user selected “true” to a true/false question, or “choice A” for a multiple choice question.
- Interaction data may further include more complex data depending on the type of game data presented to a user.
- the interaction data may comprise a feature vector indicating various interaction data such as, the length of time spent playing the game, successful mouse clicks, errant mouse clicks, various answers submitted, etc.
- interaction data may vary depending on the type of game presented.
- the game may comprise a complex role playing game (“RPG”) wherein the user answers multiple questions, navigates through a scenario, answers side-mission questions, etc.
- RPG complex role playing game
- such a game would gravitate around a predefined theme, previously discussed with respect to game data.
- a user may be captivated by the game, while simultaneously providing useful input regarding his or her knowledge and search preferences.
- the gaming data may be related to behavioral data.
- the aspects of the game may be designated such that behavioral traits can be determined or inferred therefrom.
- Behavioral data may include data regarding an person's expertise level as one or more topics,
- client device 102 While a user plays a game, or after a user finishes a game, client device 102 is transmitting data back to the search engine 106 .
- the interaction data may be provided to the game processor 112 , where this information may be raw user gaming data or can be filtered or otherwise processed data, such as by any suitable processing device including but not limited to the game server 108 or a processor embedded in the search engine 106 not expressly illustrated.
- game server 108 or any other suitable device may apply various transformations to the interaction data.
- the game server 108 or any other suitable device, may normalize the interaction data such that interaction data from a plurality of games may appear as identically structured data to game process 112 .
- Game processor 112 analyzes the interaction data to determine information that can be added to a user-specific profile. In one embodiment, game processor 112 generates a user-specific profile based on the categorization of the associated game. For example, if a user plays a game related to technology, the game processor 112 may load a pre-defined algorithm to transform the interaction data into a meaningful analytic form.
- game data may comprise a series of true/false questions regarding technology topics in a specific field (e.g., JavaScript programming)
- the game processor 112 may load an algorithm that calculates the percentage of correct answers to gauge the user's proficiency in the language.
- game data may comprise a series of questions wherein a user is presented with an image and asked to identify the individual (e.g., a celebrity, or other noted individual). Each image may be associated with a genre of celebrity (e.g., athlete, musician, actor, etc.).
- the game processor 112 may load an algorithm that first identifies a user's strong knowledge of a genre; that is, the game processor 112 may determine that the user has a strong interest in musicians but not in athletes. The game processor 112 may then record in user database 114 that a user may prefer listings directed towards musical topics. While the preceding games are meant to be illustrative, they are by no means exhaustive. Various other game types represented in game storage 110 may have corresponding analytic algorithms associated with the game varying in complexity. Additionally, multiple algorithms may exist for a single game type, representing the depth of analytical data contained in a game.
- game processor 112 writes analytical data based on interaction data to user database 114 .
- user database may associate the analytic data with a given user via an associative relationship between a user (via a user ID) and the analytic data.
- Search engine 106 further includes a web server 116 and search database 118 . While illustrated for simplicity purposes only as being disposed within the search engine 106 , it is readily understood that these components may be disposed external to the search engine and in operative communication therewith via any suitable networking technique.
- Server 116 and database 118 may, alone, perform search results processing, as known in the art. However, web server 116 is further coupled to user database 114 . When the web server 116 receives a request for search results, the web server 116 may simultaneously retrieve a user profile (associated with analytic data) associated with the user submitting the request. In one embodiment, prior to retrieving search results from search database 118 , the web server 116 may modify the request sent to the search database 118 based on the retrieved analytic data. Modifying the request may comprise limiting or expanding the scope of the search database request based on the analytic data.
- the web server 116 may modify a query for “tigers” to include various results specifically related to the Detroit Tigers and not to the animal. For example, the web server 116 may identify current scores, news, and other results geared primarily to the baseball team, not to the animal.
- the web server 116 transmits this modified request to the search database 118 and receives a set of search results, wherein the web server 116 formats the results into a search results page and transmits the page to the user.
- FIG. 2 presents a block diagram depicting a system for analyzing game interaction data according to one embodiment of the present invention.
- a game system 200 comprises a plurality of hardware components including a game server 202 , game data storage 204 , game template storage 206 , game results cache 208 , game processor 210 , and user database 212 .
- game system 200 may store both game data and game templates in discrete storage locations.
- game data storage 204 may store a game data including, but not limited to, a variety of questions, puzzles, problems, or other substantive game data as well as solutions or answers to the data.
- the system 200 comprises game template storage 206 operative to store a plurality of game templates.
- a game template may comprise data that describes the presentation and/or functional aspects of a game, for example, the flow of a game.
- Game server 202 is operative to retrieve both game data and game template data in response to receiving a request for a game.
- game server 202 is further operative to generate a game based on the retrieved data. For example, game server 202 may select a retrieved game template and populate the game template with retrieved game data. The game server 202 transmits the game to a user.
- interactions are transmitted to the game server 202 .
- interactions may comprise indications of choices made by a user, such as the input of text answers, the selection of answer choices or objects, etc.
- the game server 202 functions to manage the incoming stream of interaction data from a user.
- a stream of interaction data may comprise a plurality of datagrams including, but not limited to, a user ID, interaction data, timestamp, game ID, question ID, etc.
- Game server 202 may store these incoming interaction streams in game results cache 208 .
- game server 202 may utilize game results cache 208 as a temporary staging ground for incoming data.
- game server 202 may act as a pass through device wherein incoming streams are directed to game results cache 208 . Subsequently, the game server 202 may access the game results cache 208 and forward the interaction data to game processor 210 for processing.
- game processor 210 analyzes the interaction data to determine a user-specific profile. In one embodiment, game processor 210 generates a user-specific profile based on the categorization of the associated game.
- FIG. 3 presents a flow diagram illustrating a method for collecting game interaction data according to one embodiment of the present invention.
- the method 300 receives a game request, step 302 .
- the method 300 may receive a game request via an HTTP or similar request from a client device, such as through a search engine interface or any other suitable interface. Such a request may be received via an HTML or similar interface provided to a user.
- the system can also know or track the identity of the user, such as being associated with a user identifier or user profile.
- the method 300 selects game and template data, step 304 .
- the method 300 may identify the game type from the game request and select the appropriate template and game data.
- the method 300 may automatically select a game template and data based on predetermined characteristics. For example, the method 300 may identify a game template and game data based on the requesting user's profile.
- the method 300 then provides the game to a user, step 306 .
- This step includes presenting an interactive game to the user, where the user is associated with a user profile.
- providing a game may comprise transmitting the game via HTTP or similar protocols to a user.
- the user device may then parse the received game to display the game on the user device.
- step 308 includes monitoring the user interactions relating to the interactive game.
- the method 300 may provide executable code within the generated game operative to monitor user input.
- the generated game may comprise JavaScript or similar code operative to detect and handle user input. If the method 300 detects user interaction, the method 300 processes the interaction, step 310 . This step includes determining user profile information based on the user interactions, the user interactions including the user activities associated with the interactive game. In one embodiment, processing an interaction may comprise a plurality of operations including, but not limited to, normalizing the interaction data or performing various pre-parsing operations on the interaction data.
- the method 300 may process interaction data in response to a user submitting an answer to a game question; for example, the user may enter an answer and submit the answer to a game server.
- the method 300 may monitor more complex game interactions such as mouse position, mouse clicks, or combinations of mouse and keyboard events.
- the method 300 determines if the game is over, step 312 .
- the method 300 may determine a game is over by receiving an indication from the user that he or she wishes to end the game.
- the method 300 may automatically determine that the game is over. For example, the method 300 may utilize a timer to determine the end of a game based on a pre-defined time limit. If the method 300 determines that the game is not over, the method 300 continues to display the game and monitor for user interaction.
- the method 300 parses the game interaction data, step 314 .
- the method 300 may analyze the interaction data to determine a user-specific profile.
- the method 300 generates a user-specific profile based on the categorization of the associated game. For example, if a user plays a game related to technology, the method 300 may load a pre-defined algorithm to transform the interaction data into a meaningful analytic form.
- the method 300 may load an algorithm that calculates the percentage of correct answers to gauge the user's proficiency in the language.
- game data may comprise a series of questions wherein a user is presented with an image and asked to identify the individual (presumably a celebrity, or other noted individual). Each image may be associated with a genre of celebrity (e.g., athlete, musician, actor, etc.).
- the method 300 may load an algorithm that first identifies a user's strong genre; that is, the method 300 may determine that the user has a strong interest in musicians but not in athletes. The method 300 may then record in a user database that a user may prefer listings directed towards musical topics.
- the method 300 After generating the analytic data based on the parsed interaction data, the method 300 stores the parsed analytic data to a user profile, step 316 . This step includes updating the associated user profile with the determined user profile information from step 314 . As previously mentioned, the method 300 writes analytical data based on interaction data to a user database.
- a user database may associate the analytic data with a given user via an associative relationship between a user (via a user ID) and the analytic data.
- FIG. 4 presents a flow diagram illustrating a method for processing game interaction data according to one embodiment of the present invention.
- a method 400 receives a search request from a user, step 402 .
- receiving a search request may comprise receiving an HTTP request containing a search query comprising a plurality of search terms.
- the method 400 retrieves a plurality of search results, step 404 , and profile data, step 406 .
- the method 400 may retrieve a plurality of search results according to various methods known in the art for retrieving search results, such as querying a search index and identifying a plurality of search results.
- the method 400 retrieves profile data corresponding to analytical data gathered in FIG. 3 .
- analytical data may comprise an indication of a user's interest or proficiency with respect to a given topic or category of information.
- the method 400 may identify profile data based on user identification contained within the search request. For example, the method 400 may identify a cookie contained within the search request and extracted a user ID from the cookie. Such a user ID allows the method 400 to identify the relevant profile data.
- the method 400 determines if the results are related to profile data associated with the querying user, step 408 .
- the method 400 may compare the search query or results with a list of topics or categories associated with a user profile. For example, if a user previously plays a game that identifies that he or she is a fan of Major League Baseball, and specifically a fan of the Detroit Tigers, the user profile may store an indication that the user is a baseball fan, that the user is a Tigers fan, and that the user is interested in sports in general.
- a user profile may contain a plurality of explicit analytic information (e.g., a user is a fan of the Tigers) as well as implicit analytic data (e.g., a Tigers fan is implicitly interested in baseball and sports, generally).
- explicit analytic information e.g., a user is a fan of the Tigers
- implicit analytic data e.g., a Tigers fan is implicitly interested in baseball and sports, generally.
- the method 400 may modify the search results to reflect the presence of profile data.
- the method 400 may modify the previously discussed query for “tigers” to include various results specifically related to the Detroit Tigers and not to the animal.
- the method 400 may identify current scores, news, and other results geared primarily to the baseball team, not to the animal.
- the method 400 may simply prune the previously retrieved search results based on the profile data.
- the method 400 may supplement or replace the search results with new, refined search results based on the profile data.
- the method 400 may re-arrange or re-format the search results based on the retrieved profile data.
- the user profile information may include behavioral information
- this information can be used for a variety of different uses, including modifying the search results, as well as modifying the search interface itself. For example, if the gaming information infers a high degree of a proficiency or expertise in an area, the user can be presented with special or modified searching options that would not be readily available or usable by a non-expertise.
- the method 400 provides the search results to a user, step 410 .
- the search results provided to a user may comprise modified search results if the method 400 determines that the original results are related to user profile data in step 408 . Alternatively, if the method 400 does not identify user profile data, the method 400 may provide the original search results.
- modifying the search results may include filtering search results based user profile information and/or re-ranking search result content items based on this profile information.
- the present system and method allows for improving user profile information based on gaming activities. These gaming activities are then usable for improving search result activities.
- the gaming operations are interpreted to indicate user characteristics, and then those characteristics are usable by a search engine to refine searching operations.
- the user is present with the opportunity to play game, where the search engine can then use this information for improving searching activities.
- FIGS. 1 through 4 are conceptual illustrations allowing for an explanation of the present invention. It should be understood that various aspects of the embodiments of the present invention could be implemented in hardware, firmware, software, or combinations thereof. In such embodiments, the various components and/or steps would be implemented in hardware, firmware, and/or software to perform the functions of the present invention. That is, the same piece of hardware, firmware, or module of software could perform one or more of the illustrated blocks (e.g., components or steps).
- computer software e.g., programs or other instructions
- data is stored on a machine readable medium as part of a computer program product, and is loaded into a computer system or other device or machine via a removable storage drive, hard drive, or communications interface.
- Computer programs also called computer control logic or computer readable program code
- processors controllers, or the like
- machine readable medium “computer program medium” and “computer usable medium” are used to generally refer to media such as a random access memory (RAM); a read only memory (ROM); a removable storage unit (e.g., a magnetic or optical disc, flash memory device, or the like); a hard disk; or the like.
- RAM random access memory
- ROM read only memory
- removable storage unit e.g., a magnetic or optical disc, flash memory device, or the like
- hard disk or the like.
Abstract
Description
- A portion of the disclosure of this patent document contains material, which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
- The invention described herein generally relates to improving personalized search results. More specifically, the invention is directed towards systems and methods for utilizing interactive user games to increase the relevancy of personalized search results based on collected game interaction data.
- As the Internet continues to expand exponentially, the role of search engines has dramatically increased. The use of search engine technology has become a vital tool in the increasing the usefulness of the Internet.
- A primary economical and functional objective of a search engine is to increase the relevancy of search results for a given query. Displaying the most relevant search results first, followed by search results in descending relevancy, can maximize the user experience, increase a user base, and increase advertisement revenue. As relevancy is of great importance to a search engine, various techniques involving personalization of search results have been implemented. The primary method of increasing personalized results has been to incorporate user relevancy feedback into the result listings. One common technique includes user-ranking of search results, either directly through a gaming interface or the binary designation of whether a search result was relevant. An example of a binary search option may give the user an option to “like” or “dislike” a result presented with a search query. Another technique is to actively monitor user activity in a general search log, such as to detect if the user re-enters a search using a different search term, examines further search result pages aside from just the first page, or for example if the user selects a particular link and thereby terminates the search session, as this can imply the search result is what the user was looking for.
- In efforts to further advance personalization, techniques can either be directed to the search engine and/or the search engine data, or can be directed to the user or a group of users. For example, it is common to provide a search interface where a user maintains an account, and hence a user profile. It is common to augment search results based on the user profile.
- Current techniques for populating user profiles are based on two possible techniques. A first technique is user-entered information that the user voluntarily enters when generating the account, such as for example, gender, age, likes, dislikes, etc. A second technique is tracking user activities. For example, when the user is logged in, an engine may track user search activities and formulate this activity for profile information. It is also noted based on user security preferences, tracking information may further include cookies or other types of monitoring elements.
- While there is a growth in the use of games to improve search engine analytical techniques, there is no technique for utilizing games for updating user profile information, where this profile information is usable for personalizing search. As such, there exists a need for techniques to improve search result personalization through user-gaming activities.
- The present invention is directed towards systems and methods for using gaming operations to determine personalized content. The system and method includes presenting an interactive game to a user, wherein the user is associated with a user profile and while the user interacts with the interactive game, monitoring user interactions relating to the interactive game. The system and method further includes determining user profile information based on the user interactions, the user interactions including user activities associated with the interactive game and updating the associated user profile with the determined user profile information. Therefore, in response to a user content request, the system and method adjusts content presented to the user, wherein the filtering is based on the user profile information including user profile information from the user interaction with the interactive game.
- As such, the system and method allows for the collection of user information via gaming applications/gaming interfaces. From this gaming information, user profile information is collected. This profile information is then usable to further personalize electronic search activity.
- The invention is illustrated in the figures of the accompanying drawings which are meant to be exemplary and not limiting, in which like references are intended to refer to like or corresponding parts, and in which:
-
FIG. 1 presents a block diagram depicting a system for improving personalized search results based on game interaction data according to one embodiment of the present invention; -
FIG. 2 presents a block diagram depicting a system for analyzing game interaction data according to one embodiment of the present invention; -
FIG. 3 presents a flow diagram illustrating a method for collecting game interaction data according to one embodiment of the present invention; and -
FIG. 4 presents a flow diagram illustrating a method for processing game interaction data according to one embodiment of the present invention. - In the following description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
-
FIG. 1 presents a block diagram depicting a system for analyzing game data according to one embodiment of the present invention. As the embodiment ofFIG. 1 illustrates, a plurality ofclient devices search engine 106 throughnetwork 104. Thesearch engine 106 is in communication with agame server 108 having agame storage device 110, the search engine including agame processor 112, auser database 114, aweb server 116, and asearch database 118. - Although illustrated as single, discrete components, alternative embodiments exist wherein the illustrated devices may be integrated and/or distributed across multiple hardware devices. Additionally, the devices may be distributed geographically in addition to physically. The
search engine 106, and its components, may be any suitable physical processing device performing processing operations as described herein, in response to executable instructions. For example,search engine 106, and its components, may comprise a plurality of redundant server devices. Thestorage elements storage element - In the illustrated embodiment, the client devices 102 are operative to transmit and receive data from both
web server 116 andgame server 108 via thesearch engine 106.Game server 108 andsearch engine 106 may comprise a plurality of hardware and software devices operative to handle requests such as HTTP requests or various requests following other protocols. In the illustrated embodiment, the client device 102 may transmit a request to begin a game to thegame server 108 over thenetwork 104. A request to begin a game may include a game selection via a menu or other type of gaming interface presented through thesearch engine 106 using any suitable game offering/selection technique recognized by one skilled in the art. - As discussed in further detail below, the initiation of a game may include the user registering or other activating a user account. For example, the user account may be a default account the user has with the search engine or in another embodiment may be associated with a more general account, such as a social network account by way of example.
- In one embodiment, the
game server 108 receives the game request from client devices 102 through the search engine interface. Thesearch engine 106 then loads the appropriate game fromgame storage 110. - In the illustrated embodiment, various techniques may be used to identify an appropriate game for the client device 102 exemplary techniques are discussed more fully with respect to
FIG. 3 .Game storage device 110 may store a variety of types of data relating to games, include a variety of data structures describing a game, such as, game templates representing various game metrics including, but not limited to, game display format, game play rules and various other metrics. - Additionally, the
game storage device 110 may store substantive game data, such as a variety of questions, puzzles, problems, or other substantive game data, as well as solutions or answers to the data. In the illustrated embodiment,game storage 110 may organize game data categorically; that is,game storage 110 may associate a topic for a given piece of game data. Although illustrated as a single component, in alternative embodiments, game data and game metrics may be stored in discrete locations, such that modifications to each may be made independent of the other. - After retrieving game data and game metrics, the
game server 108 builds the game. The game selection for retrieval may be based on any number of factors, including a progression of types of games for users to play, random selection, user selection, for example. The games are constructive programs that allow for user interaction, consistent with known techniques for games, which can include puzzles, quizzes, trivia, relationship determination, or any other suitable technique for presenting a question or query to a user and receiving a user-generated response. - In one embodiment, building a game may comprise combining the game data and game metrics into a single, cohesive package for presentation to the user. For example, the
game server 108 may build an HTML page containing presentation elements described by the game metrics and questions described by the game data. Additionally, thegame server 108 may generate a plurality of interactive event handlers for handling user input; such event handlers may be implemented in JavaScript, ActionScript, VBScript, or various other client side scripting languages known in the art. After building the game, thegame server 108 transmits the game to the client device 102 for display thereon. - Client device 102 displays a game to a user operating the client device 102. In one embodiment, displaying a game may comprise displaying a webpage containing the game built by the
game server 108. Additionally, event handlers generated by game sever 108 operate on the client device 102 to handle user input. User input may comprise, but should not be limited to, various input events such as mouse clicks, key presses, or the submission of answers. The event handlers are operative to transmit interaction data back to the game sever 108. In the illustrated embodiment, interaction data comprises an indication of a user's answer to a given game question, problem, or puzzle. For example, interaction data may indicate that user selected “true” to a true/false question, or “choice A” for a multiple choice question. - Interaction data may further include more complex data depending on the type of game data presented to a user. For example, if the game data comprises an interactive Flash game, the interaction data may comprise a feature vector indicating various interaction data such as, the length of time spent playing the game, successful mouse clicks, errant mouse clicks, various answers submitted, etc. Thus, interaction data may vary depending on the type of game presented. In the preceding example, the game may comprise a complex role playing game (“RPG”) wherein the user answers multiple questions, navigates through a scenario, answers side-mission questions, etc. In one embodiment, such a game would gravitate around a predefined theme, previously discussed with respect to game data. In this example, a user may be captivated by the game, while simultaneously providing useful input regarding his or her knowledge and search preferences.
- In another embodiment, the gaming data may be related to behavioral data. The aspects of the game may be designated such that behavioral traits can be determined or inferred therefrom. Behavioral data may include data regarding an person's expertise level as one or more topics,
- While a user plays a game, or after a user finishes a game, client device 102 is transmitting data back to the
search engine 106. The interaction data may be provided to thegame processor 112, where this information may be raw user gaming data or can be filtered or otherwise processed data, such as by any suitable processing device including but not limited to thegame server 108 or a processor embedded in thesearch engine 106 not expressly illustrated. - In one embodiment,
game server 108 or any other suitable device, may apply various transformations to the interaction data. For example, thegame server 108, or any other suitable device, may normalize the interaction data such that interaction data from a plurality of games may appear as identically structured data togame process 112. -
Game processor 112 analyzes the interaction data to determine information that can be added to a user-specific profile. In one embodiment,game processor 112 generates a user-specific profile based on the categorization of the associated game. For example, if a user plays a game related to technology, thegame processor 112 may load a pre-defined algorithm to transform the interaction data into a meaningful analytic form. - For example, if the game data comprises a series of true/false questions regarding technology topics in a specific field (e.g., JavaScript programming), the
game processor 112 may load an algorithm that calculates the percentage of correct answers to gauge the user's proficiency in the language. In a more complex example, game data may comprise a series of questions wherein a user is presented with an image and asked to identify the individual (e.g., a celebrity, or other noted individual). Each image may be associated with a genre of celebrity (e.g., athlete, musician, actor, etc.). In this scenario, thegame processor 112 may load an algorithm that first identifies a user's strong knowledge of a genre; that is, thegame processor 112 may determine that the user has a strong interest in musicians but not in athletes. Thegame processor 112 may then record inuser database 114 that a user may prefer listings directed towards musical topics. While the preceding games are meant to be illustrative, they are by no means exhaustive. Various other game types represented ingame storage 110 may have corresponding analytic algorithms associated with the game varying in complexity. Additionally, multiple algorithms may exist for a single game type, representing the depth of analytical data contained in a game. - As previously mentioned,
game processor 112 writes analytical data based on interaction data touser database 114. In the illustrated embodiment, user database may associate the analytic data with a given user via an associative relationship between a user (via a user ID) and the analytic data. -
Search engine 106 further includes aweb server 116 andsearch database 118. While illustrated for simplicity purposes only as being disposed within thesearch engine 106, it is readily understood that these components may be disposed external to the search engine and in operative communication therewith via any suitable networking technique. -
Server 116 anddatabase 118 may, alone, perform search results processing, as known in the art. However,web server 116 is further coupled touser database 114. When theweb server 116 receives a request for search results, theweb server 116 may simultaneously retrieve a user profile (associated with analytic data) associated with the user submitting the request. In one embodiment, prior to retrieving search results fromsearch database 118, theweb server 116 may modify the request sent to thesearch database 118 based on the retrieved analytic data. Modifying the request may comprise limiting or expanding the scope of the search database request based on the analytic data. - For example, if a user previously plays a game that identifies that he or she is a fan of Major League Baseball, and specifically a fan of the Detroit Tigers, the
web server 116 may modify a query for “tigers” to include various results specifically related to the Detroit Tigers and not to the animal. For example, theweb server 116 may identify current scores, news, and other results geared primarily to the baseball team, not to the animal. Theweb server 116 transmits this modified request to thesearch database 118 and receives a set of search results, wherein theweb server 116 formats the results into a search results page and transmits the page to the user. -
FIG. 2 presents a block diagram depicting a system for analyzing game interaction data according to one embodiment of the present invention. As the embodiment ofFIG. 2 illustrates, agame system 200 comprises a plurality of hardware components including agame server 202,game data storage 204,game template storage 206,game results cache 208,game processor 210, anduser database 212. - As previously discussed, a user may request a game from
game server 202. As briefly mentioned,game system 200 may store both game data and game templates in discrete storage locations. As previously discussed,game data storage 204 may store a game data including, but not limited to, a variety of questions, puzzles, problems, or other substantive game data as well as solutions or answers to the data. Additionally, thesystem 200 comprisesgame template storage 206 operative to store a plurality of game templates. In the illustrated embodiment, a game template may comprise data that describes the presentation and/or functional aspects of a game, for example, the flow of a game. -
Game server 202 is operative to retrieve both game data and game template data in response to receiving a request for a game. In the illustrated embodiment,game server 202 is further operative to generate a game based on the retrieved data. For example,game server 202 may select a retrieved game template and populate the game template with retrieved game data. Thegame server 202 transmits the game to a user. - As the user interacts with the game, user interactions are transmitted to the
game server 202. As previously discussed, interactions may comprise indications of choices made by a user, such as the input of text answers, the selection of answer choices or objects, etc. Thegame server 202 functions to manage the incoming stream of interaction data from a user. In one embodiment, a stream of interaction data may comprise a plurality of datagrams including, but not limited to, a user ID, interaction data, timestamp, game ID, question ID, etc.Game server 202 may store these incoming interaction streams ingame results cache 208. In the illustrated embodiment,game server 202 may utilizegame results cache 208 as a temporary staging ground for incoming data. For example,game server 202 may act as a pass through device wherein incoming streams are directed togame results cache 208. Subsequently, thegame server 202 may access thegame results cache 208 and forward the interaction data togame processor 210 for processing. - As previously discussed,
game processor 210 analyzes the interaction data to determine a user-specific profile. In one embodiment,game processor 210 generates a user-specific profile based on the categorization of the associated game. -
FIG. 3 presents a flow diagram illustrating a method for collecting game interaction data according to one embodiment of the present invention. According to the embodiment thatFIG. 3 illustrates, themethod 300 receives a game request,step 302. In the illustrated embodiment, themethod 300 may receive a game request via an HTTP or similar request from a client device, such as through a search engine interface or any other suitable interface. Such a request may be received via an HTML or similar interface provided to a user. It is also noted that consistent with the game request, the system can also know or track the identity of the user, such as being associated with a user identifier or user profile. - The
method 300 then selects game and template data,step 304. In one embodiment, themethod 300 may identify the game type from the game request and select the appropriate template and game data. In alternative embodiments, themethod 300 may automatically select a game template and data based on predetermined characteristics. For example, themethod 300 may identify a game template and game data based on the requesting user's profile. - The
method 300 then provides the game to a user,step 306. This step includes presenting an interactive game to the user, where the user is associated with a user profile. In the illustrated embodiment, providing a game may comprise transmitting the game via HTTP or similar protocols to a user. The user device may then parse the received game to display the game on the user device. - After displaying the game and while the user interacts with the interactive game,
step 308 includes monitoring the user interactions relating to the interactive game. In one embodiment, themethod 300 may provide executable code within the generated game operative to monitor user input. For example, the generated game may comprise JavaScript or similar code operative to detect and handle user input. If themethod 300 detects user interaction, themethod 300 processes the interaction,step 310. This step includes determining user profile information based on the user interactions, the user interactions including the user activities associated with the interactive game. In one embodiment, processing an interaction may comprise a plurality of operations including, but not limited to, normalizing the interaction data or performing various pre-parsing operations on the interaction data. In the illustrated embodiment, themethod 300 may process interaction data in response to a user submitting an answer to a game question; for example, the user may enter an answer and submit the answer to a game server. In alternative embodiments, themethod 300 may monitor more complex game interactions such as mouse position, mouse clicks, or combinations of mouse and keyboard events. - If the
method 300 does not detect user interaction, or after themethod 300 processes received interactions, themethod 300 determines if the game is over,step 312. In one embodiment, themethod 300 may determine a game is over by receiving an indication from the user that he or she wishes to end the game. In alternative embodiments, themethod 300 may automatically determine that the game is over. For example, themethod 300 may utilize a timer to determine the end of a game based on a pre-defined time limit. If themethod 300 determines that the game is not over, themethod 300 continues to display the game and monitor for user interaction. - If the
method 300 determines that the game is over, themethod 300 parses the game interaction data,step 314. In one embodiment, themethod 300 may analyze the interaction data to determine a user-specific profile. In one embodiment, themethod 300 generates a user-specific profile based on the categorization of the associated game. For example, if a user plays a game related to technology, themethod 300 may load a pre-defined algorithm to transform the interaction data into a meaningful analytic form. - For example, if the game data comprises a series of true/false questions regarding technology topics in a specific field (e.g., JavaScript programming), the
method 300 may load an algorithm that calculates the percentage of correct answers to gauge the user's proficiency in the language. In a more complex example, game data may comprise a series of questions wherein a user is presented with an image and asked to identify the individual (presumably a celebrity, or other noted individual). Each image may be associated with a genre of celebrity (e.g., athlete, musician, actor, etc.). In this scenario, themethod 300 may load an algorithm that first identifies a user's strong genre; that is, themethod 300 may determine that the user has a strong interest in musicians but not in athletes. Themethod 300 may then record in a user database that a user may prefer listings directed towards musical topics. - While the preceding games are meant to be illustrative, they are by no means exhaustive. Various other game types may have corresponding analytic algorithms associated with the game varying in complexity. Additionally, multiple algorithms may exist for a single game type, representing the depth of analytical data contained in a game.
- After generating the analytic data based on the parsed interaction data, the
method 300 stores the parsed analytic data to a user profile,step 316. This step includes updating the associated user profile with the determined user profile information fromstep 314. As previously mentioned, themethod 300 writes analytical data based on interaction data to a user database. In the illustrated embodiment, a user database may associate the analytic data with a given user via an associative relationship between a user (via a user ID) and the analytic data. -
FIG. 4 presents a flow diagram illustrating a method for processing game interaction data according to one embodiment of the present invention. According to the embodimentFIG. 4 illustrates, amethod 400 receives a search request from a user,step 402. In the illustrated embodiment, receiving a search request may comprise receiving an HTTP request containing a search query comprising a plurality of search terms. - In response to a search query, the
method 400 retrieves a plurality of search results,step 404, and profile data,step 406. In the illustrated embodiment, themethod 400 may retrieve a plurality of search results according to various methods known in the art for retrieving search results, such as querying a search index and identifying a plurality of search results. In addition to retrieving search results, themethod 400 retrieves profile data corresponding to analytical data gathered inFIG. 3 . As previously discussed, analytical data may comprise an indication of a user's interest or proficiency with respect to a given topic or category of information. In the illustrated embodiment, themethod 400 may identify profile data based on user identification contained within the search request. For example, themethod 400 may identify a cookie contained within the search request and extracted a user ID from the cookie. Such a user ID allows themethod 400 to identify the relevant profile data. - The
method 400 then determines if the results are related to profile data associated with the querying user,step 408. In the illustrated embodiment, themethod 400 may compare the search query or results with a list of topics or categories associated with a user profile. For example, if a user previously plays a game that identifies that he or she is a fan of Major League Baseball, and specifically a fan of the Detroit Tigers, the user profile may store an indication that the user is a baseball fan, that the user is a Tigers fan, and that the user is interested in sports in general. As can be seen, a user profile may contain a plurality of explicit analytic information (e.g., a user is a fan of the Tigers) as well as implicit analytic data (e.g., a Tigers fan is implicitly interested in baseball and sports, generally). Although illustrated as occurring after the retrieval of both profile data and search results, alternative embodiments exist wherein themethod 400 may first identify search results and query a profile data for relevant analytical data, in contrast to retrieving an entire user profile. - If the
method 400 determines that the retrieved results are related to the user query, themethod 400 may modify the search results to reflect the presence of profile data. In one embodiment, themethod 400 may modify the previously discussed query for “tigers” to include various results specifically related to the Detroit Tigers and not to the animal. For example, themethod 400 may identify current scores, news, and other results geared primarily to the baseball team, not to the animal. In one embodiment, themethod 400 may simply prune the previously retrieved search results based on the profile data. In an alternative embodiment, themethod 400 may supplement or replace the search results with new, refined search results based on the profile data. In yet another alternative, themethod 400 may re-arrange or re-format the search results based on the retrieved profile data. - Where the user profile information may include behavioral information, this information can be used for a variety of different uses, including modifying the search results, as well as modifying the search interface itself. For example, if the gaming information infers a high degree of a proficiency or expertise in an area, the user can be presented with special or modified searching options that would not be readily available or usable by a non-expertise.
- Finally, the
method 400 provides the search results to a user,step 410. The search results provided to a user may comprise modified search results if themethod 400 determines that the original results are related to user profile data instep 408. Alternatively, if themethod 400 does not identify user profile data, themethod 400 may provide the original search results. In one embodiment, modifying the search results may include filtering search results based user profile information and/or re-ranking search result content items based on this profile information. - Therefore, the present system and method allows for improving user profile information based on gaming activities. These gaming activities are then usable for improving search result activities. The gaming operations are interpreted to indicate user characteristics, and then those characteristics are usable by a search engine to refine searching operations. The user is present with the opportunity to play game, where the search engine can then use this information for improving searching activities.
-
FIGS. 1 through 4 are conceptual illustrations allowing for an explanation of the present invention. It should be understood that various aspects of the embodiments of the present invention could be implemented in hardware, firmware, software, or combinations thereof. In such embodiments, the various components and/or steps would be implemented in hardware, firmware, and/or software to perform the functions of the present invention. That is, the same piece of hardware, firmware, or module of software could perform one or more of the illustrated blocks (e.g., components or steps). - In software implementations, computer software (e.g., programs or other instructions) and/or data is stored on a machine readable medium as part of a computer program product, and is loaded into a computer system or other device or machine via a removable storage drive, hard drive, or communications interface. Computer programs (also called computer control logic or computer readable program code) are stored in a main and/or secondary memory, and executed by one or more processors (controllers, or the like) to cause the one or more processors to perform the functions of the invention as described herein. In this document, the terms “machine readable medium,” “computer program medium” and “computer usable medium” are used to generally refer to media such as a random access memory (RAM); a read only memory (ROM); a removable storage unit (e.g., a magnetic or optical disc, flash memory device, or the like); a hard disk; or the like.
- Notably, the figures and examples above are not meant to limit the scope of the present invention to a single embodiment, as other embodiments are possible by way of interchange of some or all of the described or illustrated elements. Moreover, where certain elements of the present invention can be partially or fully implemented using known components, only those portions of such known components that are necessary for an understanding of the present invention are described, and detailed descriptions of other portions of such known components are omitted so as not to obscure the invention. In the present specification, an embodiment showing a singular component should not necessarily be limited to other embodiments including a plurality of the same component, and vice-versa, unless explicitly stated otherwise herein. Moreover, applicants do not intend for any term in the specification or claims to be ascribed an uncommon or special meaning unless explicitly set forth as such. Further, the present invention encompasses present and future known equivalents to the known components referred to herein by way of illustration.
- The foregoing description of the specific embodiments so fully reveals the general nature of the invention that others can, by applying knowledge within the skill of the relevant art(s) (including the contents of the documents cited and incorporated by reference herein), readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present invention. Such adaptations and modifications are therefore intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It would be apparent to one skilled in the relevant art(s) that various changes in form and detail could be made therein without departing from the spirit and scope of the invention. Thus, the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/719,069 US20110218037A1 (en) | 2010-03-08 | 2010-03-08 | System and method for improving personalized search results through game interaction data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/719,069 US20110218037A1 (en) | 2010-03-08 | 2010-03-08 | System and method for improving personalized search results through game interaction data |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110218037A1 true US20110218037A1 (en) | 2011-09-08 |
Family
ID=44531799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/719,069 Abandoned US20110218037A1 (en) | 2010-03-08 | 2010-03-08 | System and method for improving personalized search results through game interaction data |
Country Status (1)
Country | Link |
---|---|
US (1) | US20110218037A1 (en) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120310928A1 (en) * | 2011-06-01 | 2012-12-06 | Microsoft Corporation | Discovering expertise using document metadata in part to rank authors |
US20140032545A1 (en) * | 2012-04-03 | 2014-01-30 | Python4Fun | Identifying web pages of the world wide web relevant to a first file using search terms that reproduce its citations |
WO2014052206A1 (en) * | 2012-09-28 | 2014-04-03 | Sony Computer Entertainment Inc. | Replay and resumption of suspended game |
US20150019553A1 (en) * | 2013-07-11 | 2015-01-15 | Neura, Inc. | Data consolidation mechanisms for internet of things integration platform |
US9248374B2 (en) | 2012-06-29 | 2016-02-02 | Sony Computer Entertainment Inc. | Replay and resumption of suspended game |
US9258012B2 (en) | 2013-03-15 | 2016-02-09 | Sony Computer Entertainment Inc. | Compression of state information for data transfer over cloud-based networks |
US9623327B2 (en) | 2012-06-29 | 2017-04-18 | Sony Interactive Entertainment Inc. | Determining triggers for cloud-based emulated games |
US9656163B2 (en) | 2012-06-29 | 2017-05-23 | Sony Interactive Entertainment Inc. | Haptic enhancements for emulated video game not originally designed with haptic capabilities |
US9694276B2 (en) | 2012-06-29 | 2017-07-04 | Sony Interactive Entertainment Inc. | Pre-loading translated code in cloud based emulated applications |
US9707476B2 (en) | 2012-09-28 | 2017-07-18 | Sony Interactive Entertainment Inc. | Method for creating a mini-game |
US9849372B2 (en) | 2012-09-28 | 2017-12-26 | Sony Interactive Entertainment Inc. | Method and apparatus for improving efficiency without increasing latency in emulation of a legacy application title |
US9871865B2 (en) | 2013-07-11 | 2018-01-16 | Neura, Inc. | Physical environment profiling through internet of things integration platform |
US20180025089A1 (en) * | 2016-07-25 | 2018-01-25 | Microsoft Technology Licensing, Llc | Profile-based search results modification |
US9925468B2 (en) | 2012-06-29 | 2018-03-27 | Sony Interactive Entertainment Inc. | Suspending state of cloud-based legacy applications |
US10354443B2 (en) | 2012-09-28 | 2019-07-16 | Sony Interactive Entertainment Inc. | Adaptive load balancing in software emulation of GPU hardware |
US10406429B2 (en) | 2012-08-29 | 2019-09-10 | Sony Interactive Entertainment, LLC | User-based mini-game generation and distribution |
US10990894B2 (en) | 2013-07-11 | 2021-04-27 | Neura, Inc. | Situation forecast mechanisms for internet of things integration platform |
US11013993B2 (en) | 2012-09-28 | 2021-05-25 | Sony Interactive Entertainment Inc. | Pre-loading translated code in cloud based emulated applications |
WO2023088006A1 (en) * | 2021-11-17 | 2023-05-25 | 北京字节跳动网络技术有限公司 | Cloud game interaction method and apparatus, readable medium, and electronic device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020142815A1 (en) * | 2000-12-08 | 2002-10-03 | Brant Candelore | Method for creating a user profile through game play |
US20030216961A1 (en) * | 2002-05-16 | 2003-11-20 | Douglas Barry | Personalized gaming and demographic collection method and apparatus |
US20050216434A1 (en) * | 2004-03-29 | 2005-09-29 | Haveliwala Taher H | Variable personalization of search results in a search engine |
US20080039210A1 (en) * | 2006-08-10 | 2008-02-14 | Itv Entertainment Llc | Interactive system |
US20110218035A1 (en) * | 2008-11-14 | 2011-09-08 | Wms Gaming, Inc. | Normalizing skill-based wagering games |
-
2010
- 2010-03-08 US US12/719,069 patent/US20110218037A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020142815A1 (en) * | 2000-12-08 | 2002-10-03 | Brant Candelore | Method for creating a user profile through game play |
US20030216961A1 (en) * | 2002-05-16 | 2003-11-20 | Douglas Barry | Personalized gaming and demographic collection method and apparatus |
US20050216434A1 (en) * | 2004-03-29 | 2005-09-29 | Haveliwala Taher H | Variable personalization of search results in a search engine |
US20080039210A1 (en) * | 2006-08-10 | 2008-02-14 | Itv Entertainment Llc | Interactive system |
US20110218035A1 (en) * | 2008-11-14 | 2011-09-08 | Wms Gaming, Inc. | Normalizing skill-based wagering games |
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120310928A1 (en) * | 2011-06-01 | 2012-12-06 | Microsoft Corporation | Discovering expertise using document metadata in part to rank authors |
US9589072B2 (en) * | 2011-06-01 | 2017-03-07 | Microsoft Technology Licensing, Llc | Discovering expertise using document metadata in part to rank authors |
US9110901B2 (en) * | 2012-04-03 | 2015-08-18 | Python4Fun, Inc. | Identifying web pages of the world wide web having relevance to a first file by comparing responses from its multiple authors |
US20140032545A1 (en) * | 2012-04-03 | 2014-01-30 | Python4Fun | Identifying web pages of the world wide web relevant to a first file using search terms that reproduce its citations |
US20140032542A1 (en) * | 2012-04-03 | 2014-01-30 | Python4Fun | Identifying web pages of the world wide web relevant to a first file based on a relationship tag |
US20140040254A1 (en) * | 2012-04-03 | 2014-02-06 | Python4Fun | Identifying web pages of the world wide web having relevance to a first file by comparing responses from its multiple authors |
US20140040253A1 (en) * | 2012-04-03 | 2014-02-06 | Python4Fun | Identifying and ranking web pages of the world wide web based on relationships identified by authors |
US9002833B2 (en) * | 2012-04-03 | 2015-04-07 | Python4Fun, Inc. | Identifying web pages of the world wide web relevant to a first file based on a relationship tag |
US9002834B2 (en) * | 2012-04-03 | 2015-04-07 | Python4Fun, Inc. | Identifying web pages of the world wide web relevant to a first file using search terms that reproduce its citations |
US9081774B2 (en) * | 2012-04-03 | 2015-07-14 | Python4Fun, Inc. | Identifying and ranking web pages of the world wide web based on relationships identified by authors |
US11724205B2 (en) | 2012-06-29 | 2023-08-15 | Sony Computer Entertainment Inc. | Suspending state of cloud-based legacy applications |
US9248374B2 (en) | 2012-06-29 | 2016-02-02 | Sony Computer Entertainment Inc. | Replay and resumption of suspended game |
US10668390B2 (en) | 2012-06-29 | 2020-06-02 | Sony Interactive Entertainment Inc. | Suspending state of cloud-based legacy applications |
US10293251B2 (en) | 2012-06-29 | 2019-05-21 | Sony Interactive Entertainment Inc. | Pre-loading translated code in cloud based emulated applications |
US9623327B2 (en) | 2012-06-29 | 2017-04-18 | Sony Interactive Entertainment Inc. | Determining triggers for cloud-based emulated games |
US9925468B2 (en) | 2012-06-29 | 2018-03-27 | Sony Interactive Entertainment Inc. | Suspending state of cloud-based legacy applications |
US9656163B2 (en) | 2012-06-29 | 2017-05-23 | Sony Interactive Entertainment Inc. | Haptic enhancements for emulated video game not originally designed with haptic capabilities |
US9694276B2 (en) | 2012-06-29 | 2017-07-04 | Sony Interactive Entertainment Inc. | Pre-loading translated code in cloud based emulated applications |
US9717989B2 (en) | 2012-06-29 | 2017-08-01 | Sony Interactive Entertainment Inc. | Adding triggers to cloud-based emulated games |
US10406429B2 (en) | 2012-08-29 | 2019-09-10 | Sony Interactive Entertainment, LLC | User-based mini-game generation and distribution |
US11058947B2 (en) | 2012-08-29 | 2021-07-13 | Sony Interactive Entertainment LLC | User-based mini-game generation and distribution |
US9707476B2 (en) | 2012-09-28 | 2017-07-18 | Sony Interactive Entertainment Inc. | Method for creating a mini-game |
US11013993B2 (en) | 2012-09-28 | 2021-05-25 | Sony Interactive Entertainment Inc. | Pre-loading translated code in cloud based emulated applications |
US11904233B2 (en) | 2012-09-28 | 2024-02-20 | Sony Interactive Entertainment Inc. | Method and apparatus for improving efficiency without increasing latency in graphics processing |
WO2014052206A1 (en) * | 2012-09-28 | 2014-04-03 | Sony Computer Entertainment Inc. | Replay and resumption of suspended game |
US11660534B2 (en) | 2012-09-28 | 2023-05-30 | Sony Interactive Entertainment Inc. | Pre-loading translated code in cloud based emulated applications |
US9849372B2 (en) | 2012-09-28 | 2017-12-26 | Sony Interactive Entertainment Inc. | Method and apparatus for improving efficiency without increasing latency in emulation of a legacy application title |
US10953316B2 (en) | 2012-09-28 | 2021-03-23 | Sony Interactive Entertainment Inc. | Method and apparatus for improving efficiency without increasing latency in graphics processing |
US10350485B2 (en) | 2012-09-28 | 2019-07-16 | Sony Interactive Entertainment Inc. | Method and apparatus for improving efficiency without increasing latency in emulation of a legacy application title |
US10354443B2 (en) | 2012-09-28 | 2019-07-16 | Sony Interactive Entertainment Inc. | Adaptive load balancing in software emulation of GPU hardware |
US10525359B2 (en) | 2012-09-28 | 2020-01-07 | Sony Interactive Entertainment Inc. | Method for creating a mini-game |
US10518182B2 (en) | 2012-09-28 | 2019-12-31 | Sony Interactive Entertainment Inc. | Method for creating a mini-game |
US9258012B2 (en) | 2013-03-15 | 2016-02-09 | Sony Computer Entertainment Inc. | Compression of state information for data transfer over cloud-based networks |
US9658776B2 (en) | 2013-03-15 | 2017-05-23 | Sony Interactive Entertainment Inc. | Compression of state information for data transfer over cloud-based networks |
US9372922B2 (en) * | 2013-07-11 | 2016-06-21 | Neura, Inc. | Data consolidation mechanisms for internet of things integration platform |
US10353939B2 (en) | 2013-07-11 | 2019-07-16 | Neura, Inc. | Interoperability mechanisms for internet of things integration platform |
US9600571B2 (en) | 2013-07-11 | 2017-03-21 | Neura, Inc. | Interoperability mechanisms for internet of things integration platform |
US10990894B2 (en) | 2013-07-11 | 2021-04-27 | Neura, Inc. | Situation forecast mechanisms for internet of things integration platform |
US10171586B2 (en) | 2013-07-11 | 2019-01-01 | Neura, Inc. | Physical environment profiling through Internet of Things integration platform |
US20150019553A1 (en) * | 2013-07-11 | 2015-01-15 | Neura, Inc. | Data consolidation mechanisms for internet of things integration platform |
US9871865B2 (en) | 2013-07-11 | 2018-01-16 | Neura, Inc. | Physical environment profiling through internet of things integration platform |
US20180025089A1 (en) * | 2016-07-25 | 2018-01-25 | Microsoft Technology Licensing, Llc | Profile-based search results modification |
WO2023088006A1 (en) * | 2021-11-17 | 2023-05-25 | 北京字节跳动网络技术有限公司 | Cloud game interaction method and apparatus, readable medium, and electronic device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110218037A1 (en) | System and method for improving personalized search results through game interaction data | |
US8612424B2 (en) | System and method for optimizing search results ranking through collaborative gaming | |
US10846461B2 (en) | System and method for providing content to users based on interactions by similar other users | |
US11539992B2 (en) | Auto-adjust playback speed and contextual information | |
US8095582B2 (en) | Dynamic search engine results employing user behavior | |
US20160350428A1 (en) | Real time implicit user modeling for personalized search | |
US9679027B1 (en) | Generating related questions for search queries | |
US20020083179A1 (en) | System and method of personalizing communication sessions based on user behavior | |
US6074299A (en) | Internet based search contest | |
US20160259822A1 (en) | Internet based method and system for ranking artists using a popularity profile | |
US20140372250A1 (en) | System and method for providing recommended content | |
US20050240580A1 (en) | Personalization of placed content ordering in search results | |
US20070073651A1 (en) | System and method for responding to a user query | |
US20070292826A1 (en) | System and method for matching readers with books | |
US8095419B1 (en) | Search score for the determination of search quality | |
US20130024813A1 (en) | Method, system, and means for expressing relative sentiments towards subjects and objects in an online environment | |
US20170153903A1 (en) | Computerized system and method for analyzing user interactions with digital content and providing an optimized content presentation of such digital content | |
WO2010119379A1 (en) | A method and system for providing customized content using emotional preference | |
US11195221B2 (en) | System rendering personalized outfit recommendations | |
US20130332479A1 (en) | Inline Discussions in Search Results Around Real-Time Clusterings | |
US8832083B1 (en) | Combining user feedback | |
Menczer et al. | Adaptive assistants for customized e-shopping | |
WO2009156753A1 (en) | Document access monitoring | |
CN111104583A (en) | Live broadcast room recommendation method, storage medium, electronic device and system | |
US20180047052A1 (en) | Systems and methods for delivering relevant content and advertisements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: YAHOO| INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SINGH, VIK;REEL/FRAME:024041/0422 Effective date: 20100305 |
|
AS | Assignment |
Owner name: EXCALIBUR IP, LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO| INC.;REEL/FRAME:038383/0466 Effective date: 20160418 |
|
AS | Assignment |
Owner name: YAHOO| INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EXCALIBUR IP, LLC;REEL/FRAME:038951/0295 Effective date: 20160531 |
|
AS | Assignment |
Owner name: EXCALIBUR IP, LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO| INC.;REEL/FRAME:038950/0592 Effective date: 20160531 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |