Data flooding check and improved execution of game processes

文档序号:957471 发布日期:2020-10-30 浏览:34次 中文

阅读说明:本技术 游戏过程的数据涌入检查和改进执行 (Data flooding check and improved execution of game processes ) 是由 阿斯沃思·马诺哈兰 尼古拉斯·松塔格 塞贾尔·乔汉 大卫·阿利亚 于 2019-03-13 设计创作,主要内容包括:系统和方法识别与游戏平台的多个用户的活动相关的活动数据。活动数据由游戏平台用来执行游戏过程。系统和方法基于第一特性来识别活动数据的第一数据。第一数据是活动数据的子集。系统和方法确定活动数据的第一数据符合第一条件的次数。系统和方法响应确定活动数据的第一数据符合第一条件的次数满足第一阈值,而通过从活动数据中去除第一数据来修改活动数据。系统和方法使用经修改的活动数据来执行游戏过程。(Systems and methods identify activity data related to activities of a plurality of users of a gaming platform. The activity data is used by the gaming platform to perform a gaming process. Systems and methods identify first data of the activity data based on the first characteristic. The first data is a subset of the active data. Systems and methods determine a number of times a first data of activity data meets a first condition. Systems and methods modify activity data by removing first data from the activity data in response to determining that a number of times the first data of the activity data meets a first condition satisfies a first threshold. The system and method uses the modified activity data to perform a game process.)

1. A method, comprising:

identifying, by a processing device, activity data relating to activities of a plurality of users of a gaming platform, wherein the activity data is used by the gaming platform to perform a gaming process;

identifying first data of the activity data based on a first characteristic, wherein the first data is a subset of the activity data;

determining a number of times that the first data of the activity data meets a first condition of a plurality of conditions;

in response to determining that a number of times the first data of the activity data meets the first condition satisfies a first threshold, modifying the activity data by removing the first data from the activity data; and

The game process is performed using the modified activity data.

2. The method of claim 1, further comprising:

in response to determining that the number of times the first data of the activity data meets the first condition does not satisfy the first threshold, determining a number of times the first data of the activity data meets a second condition of the plurality of conditions; and

in response to determining that the number of times the first data of the activity data meets the second condition satisfies a second threshold, modifying the activity data by removing the first data from the activity data.

3. The method of claim 2, further comprising:

in response to determining that the number of times the first data of the activity data meets the second condition does not satisfy the second threshold, determining a number of times the first data of the activity data meets a third condition of the plurality of conditions; and

in response to determining that the number of times the first data of the activity data meets the third condition satisfies a third threshold, modify the activity data by removing the first data from the activity data, wherein the first threshold, the second threshold, and the third threshold are different from one another.

4. The method of claim 1, wherein identifying the activity data related to the activities of the plurality of users of the gaming platform comprises:

parsing data of a log file associated with the gaming platform to identify a particular characteristic of the data of the log file, wherein the particular characteristic of the data is indicative of a particular event affecting the gaming process; and

filtering the data of the log file having the particular characteristic into the activity data.

5. The method of claim 1, wherein the first characteristic comprises a user account identifier, and wherein identifying the first data of the activity data based on the first characteristic comprises identifying the first data associated with a particular user account based on the user account identifier.

6. The method of claim 1, wherein the first characteristic comprises an Internet Protocol (IP) address.

7. The method of claim 1, wherein the gaming process comprises a process of providing relevant search results in response to a search query for content items on the gaming platform.

8. The method of claim 7, wherein the content item comprises a game object for placement in a developer interface of the game platform.

9. The method of claim 1, wherein the number of times the first data of the activity data meets the first condition of the plurality of conditions comprises a number of times a user submits a search query to perform a search on the gaming platform but does not select any content items from search results responsive to the search query.

10. The method of claim 2, wherein the number of times the first data of the activity data meets the second condition of the plurality of conditions comprises a number of times a user submits a search query to perform a search on the gaming platform and selects a content item from search results responsive to the search query.

11. The method of claim 3, wherein the number of times the first data of the activity data meets the third condition of the plurality of conditions comprises an aggregate of the number of times the first condition is met and the number of times the second condition is met.

12. The method of claim 1, further comprising:

storing the modified activity data in a data storage unit accessible to the gameplay.

13. A system, comprising:

a memory; and

a processing device coupled to the memory to:

Identifying activity data relating to activities of a plurality of users of a gaming platform, wherein the activity data is used by the gaming platform to perform a gaming process;

identifying first data of the activity data based on a first characteristic, wherein the first data is a subset of the activity data;

determining a number of times that the first data of the activity data meets a first condition of a plurality of conditions;

in response to determining that the number of times the first data of the activity data meets the first condition satisfies a first threshold, modifying the activity data by removing the first data from the activity data; and

providing the modified activity data to the gameplay, wherein the gameplay uses the modified activity data in the execution of the gameplay.

14. The system of claim 13, wherein the processing device is further to:

in response to determining that the number of times the first data of the activity data meets the first condition does not satisfy the first threshold, determining a number of times the first data of the activity data meets a second condition of the plurality of conditions; and

in response to determining that the number of times the first data of the activity data meets the second condition satisfies a second threshold, modifying the activity data by removing the first data from the activity data.

15. The system of claim 13, wherein the gaming process includes a process of providing relevant search results in response to a search query for content items on the gaming platform.

16. A non-transitory computer readable medium containing instructions stored thereon that, in response to execution by a processing device, cause the processing device to perform operations or control performance of operations, the operations comprising:

identifying activity data relating to activities of a plurality of users of a gaming platform, wherein the activity data is used by the gaming platform to perform a gaming process;

identifying first data of the activity data based on a first characteristic, wherein the first data is a subset of the activity data;

determining a number of times the first data of the activity data meets a condition;

in response to determining that the number of times the first data of the activity data meets the condition satisfies a first threshold, modifying the activity data by removing the first data from the activity data; and

the game process is performed using the modified activity data.

17. The non-transitory computer readable medium of claim 16, wherein the gaming process comprises a process of providing relevant search results in response to a search query for content items on the gaming platform.

18. The non-transitory computer readable medium of claim 16, wherein the number of times the first data of the activity data meets the condition comprises a number of times a user submits a search query to perform a search on the gaming platform but does not select any content items from search results responsive to the search query.

19. The non-transitory computer readable medium of claim 16, wherein the number of times the first data of the activity data meets the condition comprises a number of times a user submits a search query to perform a search on the gaming platform and selects a content item from search results responsive to the search query.

20. The non-transitory computer readable medium of claim 16, wherein the number of times the first data of the activity data meets the condition comprises an aggregate of:

a number of times a user submits a search query to perform a search on the gaming platform but does not select any content items from search results responsive to the search query, an

A number of times a user submits a search query to perform a search on the gaming platform and selects a content item from search results responsive to the search query.

Technical Field

The present disclosure relates to the field of gaming processes, and in particular to modifying activity data relating to activities of users of a gaming platform for use in a gaming process.

Background

Collaboration platforms allow users to connect to the internet and share information with each other via the internet. Users of a collaboration platform (e.g., a gaming platform) may participate in a multi-user gaming environment, design a customized gaming environment, decorate an avatar or exchange virtual items with other users, and so forth.

Disclosure of Invention

According to a first embodiment, a method comprises:

identifying, by a processing device, activity data relating to activities of a plurality of users of a gaming platform, wherein the activity data is used by the gaming platform to perform a gaming process;

identifying first data of the activity data based on the first characteristic, wherein the first data is a subset of the activity data;

determining a number of times that a first data of the activity data meets a first condition of a plurality of conditions;

in response to determining that a number of times that first data of the activity data meets a first condition satisfies a first threshold, modifying the activity data by removing the first data from the activity data; and

performing a game process using modified activity data

According to a second embodiment, a system comprises:

a memory; and

a processing device coupled to the memory to:

identifying activity data relating to activities of a plurality of users of the gaming platform, wherein the activity data is used by the gaming platform to perform a gaming process;

identifying first data of the activity data based on the first characteristic, wherein the first data is a subset of the activity data;

determining a number of times that a first data of the activity data meets a first condition of a plurality of conditions;

in response to determining that a number of times that first data of the activity data meets a first condition satisfies a first threshold, modifying the activity data by removing the first data from the activity data; and

Providing the modified activity data to the game process, wherein the game process uses the modified activity data in the execution of the game process.

According to a third embodiment, a non-transitory computer readable medium contains instructions stored thereon that, in response to execution by a processing device, cause the processing device to perform operations or control performance of operations, the operations comprising:

identifying activity data relating to activities of a plurality of users of the gaming platform, wherein the activity data is used by the gaming platform to perform a gaming process;

identifying first data of the activity data based on the first characteristic, wherein the first data is a subset of the activity data;

determining a number of times that a first data of the activity data meets a condition;

in response to determining that the number of times that the first data of the activity data meets the condition satisfies a first threshold, modifying the activity data by removing the first data from the activity data; and

the game process is performed using the modified activity data.

Drawings

Implementations of the present disclosure will be understood more fully from the detailed description given below and from the accompanying drawings of various implementations of the disclosure.

Fig. 1 illustrates an example system architecture in accordance with an implementation of the present disclosure.

FIG. 2 is a flow diagram illustrating a method of determining modified activity data for use in execution of a game process according to some implementations of the present disclosure.

FIG. 3 illustrates a user interface for creating and building games and search results for game objects on a collaboration platform according to some implementations of the present disclosure.

FIG. 4 is a user interface illustrating search results for a game according to some implementations of the present disclosure.

FIG. 5 is a block diagram illustrating an exemplary computer system according to an implementation of the present disclosure.

Detailed Description

Collaboration platforms (e.g., gaming platforms) provide a variety of ways for users to interact with each other. For example, users of the gaming platform may struggle together towards a common goal, share various gaming items, send electronic messages to each other, and so forth. Users of the collaboration platform may use roles to play the game (e.g., playing users) or employ development tools to create the game (e.g., creating users) via the collaboration platform. The collaboration platform may perform a number of processes (also referred to herein as "operations"), such as gaming processes that improve the user experience and functionality of the platform. The game process may include one or more search processes, messaging processes, map-reduce processes, and the like.

For example, the collaboration platform may allow a user to search for content items (e.g., games or game objects) using a search engine. A player user may search a game using search terms in a search query, or an authoring user may search a game object using different search terms in a search query. The search process may include providing or generating relevant search results in response to a search query for content items of the collaboration platform. To provide relevant search results, the search process may use one or more search process techniques (e.g., machine learning models, heuristic models using rules, search process algorithms, etc.) that use activity data related to the activities of the users of the collaboration platform to improve the relevance of the search results. For example, past searches and past search results may be used by search process techniques to improve future search results.

A user (e.g., a malicious user) may flood the collaboration platform with activity data, thereby making the generated activity data unreliable or unavailable in the execution of the game process. "flooding" or "flooding" may represent the sending or creation of (typically large amounts of) flooding data on a system. "inrush data" may represent unwanted or illegal data of a system. For example, inrush data may be created or initiated by a user of the system, but does not reflect typical or real user usage patterns. In some cases, the inrush data may be created by a non-human user (e.g., a software program). "inrush checking" may refer to checking or identifying inrush data on a system. Malicious users may "flood" the gaming system with flooding data that affects one or more gaming processes. For example, a malicious user may use a software program (e.g., a bot) that automatically or repeatedly performs searches (e.g., thousands of searches) for content items on a gaming platform. The collaboration platform may save the searches performed by the robot, which records the inrush data as activity data. Rather than improving the relevance of search results, the search process using the flooding data may be adversely affected such that the search process provides irrelevant or less relevant search results.

Aspects of the present disclosure address the above and other challenges by identifying activity data used by a gaming platform to perform a gaming process. The activity data may be filtered based on a first characteristic (e.g., a particular user account) to identify a subset of the activity data (e.g., the first data). The first data may be compared to one or more conditions, and a determination may be made as to a number of times the first data meets the conditions. The number of times the first data meets the condition may indicate whether the first data is an inrush data. In response to determining that the number of times the first data meets the condition satisfies the threshold, the activity data may be modified by removing the first data from the activity data. The modified activity data may be provided for execution of the associated game process.

Accordingly, aspects of the present disclosure remove inrush data from the collaboration platform and improve the process of the collaboration platform using activity data related to the user's activities. The foregoing addresses the technical challenges in identifying and removing inrush data from activity data and providing modified activity data for use in the execution of a game process (data from which the inrush data has been removed). Identifying and removing the inrush data and improving the operation of the computer and computer network by using the activity data from which the inrush data has been removed to improve the gaming process. For example, removing inrush data increases the amount of data storage available to the system (e.g., less data to store). In another example, removing the inrush data from the activity data reduces the load on the processing resources of the system (e.g., less data is to be calculated for a particular game process) and reduces the load on the network resources that access and transmit the activity data.

It may be noted that the collaboration platform described herein as a gaming platform is provided for ease of illustration and not limitation. The collaboration platform may be one or more of a number of platforms, such as a social networking platform, a shopping platform, a messaging platform, a user-generated content platform, and so forth. It may also be noted that aspects of the present disclosure as described for the gaming process are provided for illustration and not limitation. Aspects of the present disclosure are applicable to processes of numerous platforms.

Fig. 1 illustrates an example system architecture 100 in accordance with one implementation of the present disclosure. System architecture 100 (also referred to herein as a "system") includes client devices 110A and 110B, network 105, data storage unit 106, collaboration platform 120, and server 130.

In one implementation, the network 105 may include a public network (e.g., the Internet), a private network (e.g., a Local Area Network (LAN) or a Wide Area Network (WAN)), a wired network (e.g., an Ethernet network), a wireless network (e.g., an 802.11 network, a WLAN), a WLAN, a,A network or wireless lan (wlan), a cellular network (e.g., a Long Term Evolution (LTE) network), a router, a hub, a switch, a server computer, and/or combinations thereof.

In one implementation, the data storage unit 106 may be a memory (e.g., random access memory), a cache, a drive (e.g., a hard drive), a flash drive, a database system, or another type of component or device capable of storing data. The data storage unit 106 may also include multiple storage components (e.g., multiple drives or multiple databases) that may also span multiple computing devices (e.g., multiple server computers).

In an implementation, the server 130 may be one or more computing devices (e.g., a rack-mounted server, a server computer, etc.). In implementations, the server 130 may be included in the collaboration platform 120, as a separate system, or as an integral part of another system or platform. Server 130 may include a data flood check module 140. In an implementation, server 130 may include a search engine 142.

In some implementations, the collaboration platform 120 may be one or more computing devices (e.g., a rack-mounted server, a router computer, a server computer, a personal computer, a mainframe computer, a laptop computer, a tablet computer, a desktop computer, etc.), data storage units (e.g., hard disks, memory, databases), networks, software components, and/or hardware components that may be used to provide users with access to the collaboration platform 120. The collaboration platform 120 may also include a website (e.g., a web page) or application backend software that may be used to provide users with access to content provided by the collaboration platform 120. For example, a user may use the collaboration application 114 on the client device 110 to access the collaboration platform 120. In an implementation, the collaboration platform 120 may include a data flood check module 140.

In an implementation, the collaboration platform 120 may be a type of social network that provides connections between users. In implementations of the present disclosure, a "user" may be understood as a single individual. However, other implementations of the present disclosure include "users" as entities controlled by a set of users and/or an automated source. For example, a collection of individual users in a social network that are federated as a community may be considered a "user". In another example, the automated consumer may be an automated ingest pipeline, such as a game 122 of the collaboration platform 120.

In one implementation, the collaboration platform 120 may be a gaming platform (e.g., an online gaming platform). For example, the gaming platform may provide a community of users (who may access or interact with games 122A-122Z using client device 110) with single-or multi-player games. In an implementation, game 122 (also referred to herein as a "video game," "online game," or "virtual game") may be, for example, a two-dimensional (2D) game, a three-dimensional (3D) game, a Virtual Reality (VR) game, or an Augmented Reality (AR) game. In an implementation, game 122 may be played in real-time with other users of game 122. The game 122 can include electronic files that can be executed or loaded using software, firmware, or hardware configured to present game content (e.g., digital media items) to an entity. In some implementations, the collaboration platform 120 hosts the game 122 and allows users to interact with the game 122 using the collaboration application 114 of the client device 110. Users of the collaboration platform 120 may play, create, or build the game 122, interact with it, or create and build content for the game 122. For example, a user may create, for example, a character, a decoration of a character, one or more virtual environments of an interactive game, or construct a structure for use in game 122. In an implementation, a user may purchase, sell, or trade game objects, such as in-platform currency (e.g., virtual currency), with other users of collaboration platform 120. In an implementation, the collaboration platform may communicate game content to the collaboration application 114. The game content (also referred to herein as "content" or "content items") may represent any data or software instructions (e.g., game objects, games, user information, videos, images, commands, media items, etc.) associated with the collaboration platform 120 or the collaboration application 114.

It may be noted that the collaboration platform 120 hosting the game 122 is provided for ease of illustration and not limitation. In some embodiments, collaboration platform 120 may host one or more media items. Media items can include, but are not limited to, digital videos, digital movies, digital photos, digital music, audio content, melodies, website content, social media updates, electronic books (e-books), electronic magazines, digital newspapers, digital audio books, electronic journals, web blogs, Really Simple Syndication (RSS) feeds, electronic comics, software applications, and so forth. In an implementation, the media item may be an electronic file that can be executed or loaded using software, firmware, or hardware configured to present the digital media item to an entity.

In one implementation, the collaboration platform 120 may merge game content from the client devices 110 and transmit the merged game content (e.g., game videos, rendering commands, user input, graphical library commands, etc.) to each of the client devices 110 to display interactions of multiple users in a multi-user gaming environment. In another implementation, the collaboration platform 120 may transmit game content from one or more client devices 110 to another client device for the other client device to merge and display the game content. In another implementation, the collaboration platform 120 may receive game content (e.g., a first user communicating user input via the client device 110A and a second user communicating user input via the client device 110B), generate a game result (e.g., the first user defeating the second user), and communicate the game result to the client device 110.

In some implementations, the game 122 may be associated with a particular user or a particular group of users (e.g., a private game), or widely available to users of the collaboration platform 120 (e.g., a public game). In an implementation, where the collaboration platform 120 associates one or more games 122 with a particular user or a particular group of users, the collaboration platform 120 may use user account information (e.g., user account identifiers, such as a username and password) to associate the particular user(s) with the games 122.

In some implementations, the collaboration platform 120 may include a game engine 124. In an implementation, game engine 124 may be used for development or execution of game 122. For example, game engine 124 may include a rendering engine ("renderer") for 2D, 3D, VR, or AR graphics, a physics engine or collision detection (and collision response), sound, script, animation, artificial intelligence, networking, streaming, memory management, threading, localization support, video support for a scene graph or movie, and other features.

In an implementation, collaboration platform 120 may include author module 126. In an implementation, author module 126 may allow a user to become an author to design or create an environment in an existing game 122, or to create a new game or create a new game object within a game or environment. In some implementations, game 122 may have a common set or goal of rules, and the environment of game 122 shares a common set or goal of rules. In an implementation, different games may have mutually different rules or goals. In some implementations, a game may have one or more environments (also referred to herein as "game environments" or "virtual environments"), where multiple environments may be linked. For example, a user may construct a virtual environment that is linked to another virtual environment created by another user. The character of the virtual game may cross the virtual boundary to enter the adjacent virtual environment. In an implementation, a game object (also referred to herein as an "item") may represent an object used, created, shared, or otherwise depicted in the game 122 of the collaboration platform 120. For example, the game object may include a part, a model, a character, a tool, clothing, a building, a vehicle, currency, a plant, an animal, a member (e.g., a window of a building) as described above, and the like.

In an implementation, author module 126 may allow a user to create, modify, or customize roles. In an implementation, characters (or game objects in general) are constructed from building blocks, one or more of which are selectable by a user, automatically joined together to assist the user in editing. One or more characters (also referred to herein as "avatars" or "models") may be associated with a user (also referred to herein as "playing users"), where the user may control the characters to facilitate user interaction with the game 122. In an implementation, a character may include components such as body parts (e.g., hair, arms, legs, etc.) and accessories (e.g., t-shirts, eyeglasses, decorative images, tools, etc.). In an implementation, the body parts of the customizable character include a head type, a body part type (arms, legs, torso, and hands), a face type, a hair type, a skin type, and so forth. In implementations, the customizable accessories include clothing (e.g., shirts, pants, hats, shoes, glasses, etc.), weapons, or other tools. In an implementation, the user may also control the scale (e.g., height, width, or depth) of the character or the scale of the components of the character. In an implementation, a user may control the scale of a character (e.g., boldness, anatomy, etc.).

In some implementations, a member (e.g., a body part) may be an original geometric shape (e.g., a block, a cylinder, a sphere, etc.) or some other original shape (e.g., a wedge, a torus, a tube, a groove, etc.). In an implementation, author module 126 may publish the roles of the users for viewing or selection by other users of collaboration platform 120. In some implementations, creating, modifying, or customizing characters, other game objects, games 122, or game environments may be performed by a user using a user interface (e.g., a developer interface) and with or without scripts (or without Application Programming Interfaces (APIs)). It may be noted that the roles are described as having a human shape for ease of illustration and not limitation. It may also be noted that the character may have any form, such as a vehicle, animal, inanimate, or other creative form.

In an implementation, collaboration platform 120 may store the roles created by the user in data store 106. In an implementation, collaboration platform 120 maintains a character directory and a game directory, which may be presented to users via collaboration application 114. The user may select a game 122 to play from a game directory. In an implementation, the game directory includes images of games stored on collaboration platform 120. In addition, the user may select a role (created by the playing user or another user) from the role directory to participate in the selected game. The character directory includes images of characters stored on the collaboration platform 120. In an implementation, one or more of the roles in the role directory can be created or customized by a user. In an implementation, the selected role can have role settings that define one or more of the components of the role.

In an implementation, the user's persona includes a constructed configuration, where the constructed configuration and appearance, and more generally the appearance of the persona, may be defined by a persona setting. In an implementation, the role settings for the user's role may be selected at least in part by the user. In other implementations, the user may select a role having a default role setting or a role setting selected by other users. For example, a user may select a default role having predefined role settings from a role catalog, and the user may further customize the default role by changing a portion of the role settings (e.g., adding a shirt with a customized logo). Role settings may be associated with a particular role by collaboration platform 120.

In an implementation, the author module 126 includes a unique personal build and release service for creating and managing games 122 and game environments on the internet that allows users (also referred to herein as "authoring users," "authors," "owners," or "owning users") to create, own, or manage games 122 and game environments, for example, using cloud broker computing resources. In an implementation, author module 126 may use a user interface (also referred to herein as a "developer interface") via collaboration application 114 to allow a user to access the functionality of author module 126. In an implementation, the developer interface may be an integral part of the collaboration application 114. For example, the developer interface of the collaboration application 114 may allow a user to access a repository of game objects that may be selected by the user to build a game environment or place game objects within the game 122 or environment. The user may publish their selected game object via a developer interface so that the game object is available to the player user of the game 122 or environment.

In an implementation, collaboration platform 120 executing author module 126 includes a user interface website or application (e.g., collaboration application 114) where users may access online computing resources hosted by collaboration platform 120 for ease of building, managing, editing, and interacting with personally owned games 122 or game environments. In an implementation, author module 126 includes tools that a user may use to create and instantiate a three-dimensional virtual game or environment. In an implementation, the author module 126 is available to users who wish to create and manage their own private virtual games 122. In an implementation, a user may use collaboration application 114 to access author module 126.

In an implementation, the author module 126 may provide control of the created game 122 and environment to the owning user, who may set management policies regarding who will be allowed to interact with the created game 122 or environment and who has the ability to modify, edit, or interact with the game 122 or environment. A user with administrative control may also be referred to herein as an owning user unless otherwise noted. In some implementations, the management rules can be granular to the extent that various levels of interaction, modification, or editing capabilities are specified for certain individuals who may be recruited or otherwise desire to interact with the game 122 or game environment. For example, individuals may be recruited from friends in the collaboration platform 120 or friends from a social network or in other collaborators or groups associated with the online aggregation point. In an implementation, the author module 126 has administrative tools for setting such policies, including or in addition to general rules for interactions within the game 122 or game environment.

In an implementation, the collaboration platform 120 may include a search engine 142. For ease of illustration and not limitation, the search engine 142 is described as allowing a user to search for content items of the collaboration platform 120 or related to the collaboration platform 120. In other implementations, aspects of the present disclosure may be used, for example, to search information generally, such as information of the World Wide Web (WWW) or other information resources. In some implementations, a user may request information using a search query. The search query may represent a request or query for information, where a user provides search terms to the search engine 142 to satisfy the request for information. The search terms may represent inputs (e.g., words, characters, combinations of words or characters, etc.) entered as part of a search query and used by the search engine 142 to provide relevant information (e.g., search results). The search engine may retrieve and return search results to the user, which may include relevant information associated with the search terms.

For example, in the search game 122, the user may enter the search term "Tyocon" into a user interface (e.g., the search engine interface module 141 of the client device 110). In another example, in searching for game objects to be placed into a game being developed by an authoring user, the authoring user may enter the search term "Car" into a developer interface. The search terms may be sent to a search engine 142 of the collaboration platform 120 via the network 105. Search engine 142 may use the search index to find information related to the search terms. The search index may represent information that is collected, parsed, and stored to help facilitate accurate information retrieval. For example, the search index may store titles and other metadata (e.g., meta-keywords, descriptions of games or game objects, user comments related to games, etc.) related to a particular game or game object. In one implementation, the search engine 142 may use a keyword similarity technique that compares the search terms to the terms of the associated games in the search index and selects the most relevant games (or game objects) based on keyword similarity. For example, in response to finding one or more games that are related to the search term "Tycoon" (e.g., title or description contains the term "Tycoon" or a variation thereof), a link to one or more of the related games, or an identifier thereof, may be sent to the client device 110 and displayed.

It may be noted that using keyword similarity techniques may include a full match, a match containing a search term, a match containing a spelling change of a search term, a match with a synonym of a search term, a match with a related type, and the like. It may also be noted that the keyword similarity technique may assign a similarity score (e.g., a probability) to the search results that indicates a probability that the search results are similar to the search term.

In an implementation, client devices 110A-110B may each include a computing device, such as a Personal Computer (PC), a mobile device (e.g., a laptop, mobile phone, smartphone, tablet computer, or netbook computer), a network-connected television, a game console, and so forth. In some implementations, client devices 110A-110B may also be referred to as "user devices. In an implementation, one or more client devices 110 may connect to the collaboration platform 120 at any given time via the collaboration application 114.

In an implementation, each client device 110 may include an instance of a collaboration application 114. In one implementation, collaboration application 114 may be an application that allows users to use and interact with collaboration platform 120, such as controlling virtual corners in a virtual game hosted by collaboration platform 120 Color, or view or upload content (e.g., images, video items, web pages, documents, etc.). In one example, the collaboration application 114 may be a web browser capable of accessing, retrieving, rendering, and/or navigating content served by a web server (e.g., a virtual character in a virtual environment, etc.). The collaboration application 114 may render, display, and/or present content (e.g., web pages, media viewers) to the user. In implementations, the collaboration application 114 may also include an embedded media player (e.g., embedded in a web page)A player). In another example, collaboration application 114 may be a standalone application (e.g., a mobile application, an application (app), or a game program) that allows a user to interact with collaboration platform 120. According to aspects of the present disclosure, the collaboration application 114 may be a collaboration platform application for a user to build, create, edit, upload content to the collaboration platform 120, and interact with the collaboration platform 120. Thus, the collaboration application 114 may be provided to the client devices 110A and 110B by the server 130 or the collaboration platform 120. In another example, collaboration application 114 may be an application downloaded from server 130.

In an implementation, a user may log into the collaboration platform 120 via the collaboration application 114. The user may access the user account by providing user account information (e.g., a username and password), where the user account is associated with one or more characters of one or more games 122 that may be used to participate in the collaboration platform 120.

In general, functions described as being performed by the collaboration platform 120 in one implementation can also be performed on the client devices 110A-110B or the server 130 as appropriate in other implementations. In addition, the functionality attributed to a particular component can be performed by different or multiple components operating together. The collaboration platform 120 is also accessible as a service provided to other systems or devices through a suitable application programming interface, and thus is not limited to use in a website.

In an implementation, the collaboration platform 120 may include a messaging module 128. In an implementation, messaging module 128 may be a system, application, or module that allows users to exchange electronic messages via a communication system (e.g., network 105). The messaging module 128 may be associated with the collaborative application 114 (e.g., a module of the collaborative application 114 or as a stand-alone application). In implementations, users may interface with the messaging module 128 and exchange electronic messages between users of the collaboration platform 120. The messaging module 128 may be, for example, an instant messaging application, a text messaging application, an email application, a voice messaging application, a video messaging application, or a combination of applications, among others.

In an implementation, the messaging module 128 may facilitate the exchange of electronic messages between users. For example, a user may log into a messaging application on client device 110A, while another user may log into a messaging application on client device 110B. Two users may begin a session (e.g., an instant messaging session). The messaging module 128 may help facilitate a messaging session by sending and receiving electronic messages between users of the collaboration platform 120.

For ease of illustration and not limitation, search engine 142 and search flood check module 140 are described as being implemented on collaboration platform 120. In other implementations, search engine 142 or data flood check module 140 may be partially or completely implemented on client device 110. In other implementations, search engine 142 or data flood check module 140 may be partially or completely implemented on server 130. In other implementations, search engine 142 or data influx check module 140 operating on one or more of client device 110, server 130, or collaboration platform 120 may work in conjunction to perform the operations described herein. In an implementation, the search engine interface module 141 of the client device 110 may be a stand-alone application or an integral part of the collaboration application 114 (e.g., a load item). Although implementations of the present disclosure are discussed in terms of a collaboration platform, implementations are also generally applicable to any type of social network that provides connections between users.

Continuing with the above description, a user may be provided with controls that allow the user to make selections regarding whether and when the systems, programs, or features described herein may enable the collection of user information (e.g., information about the user's social network, social actions or activities, profession, the user's preferences, or the user's current location), and whether to send content or communications from a server to the user. Additionally, certain data may be processed in one or more ways before being stored or used, such that personally identifiable information is deleted. For example, the identity of the user may be treated so that personally identifiable information cannot be determined for the user, or the geographic location of the user where location information (e.g., city, ZIP code, or state level) is available may be generalized so that the particular location of the user cannot be determined. In this way, the user may have control over which information is collected about the user, how that information is used, and which information is provided to the user.

FIG. 2 is a flow diagram illustrating a method 200 of determining modified activity data for use in execution of a game process according to some implementations of the present disclosure. Method 200 may be performed by processing logic that comprises hardware (e.g., circuitry, dedicated logic, programmable logic, microcode), software (e.g., instructions run on a processing device to perform hardware simulation), or a combination thereof. In some implementations, the data flood check module 140 executing at the collaboration platform 120 or the server 130, or a combination thereof, may perform some or all of the operations. In some implementations, the data flood check module 140 may perform some or all of the operations in conjunction with a search engine 142 executing at the collaboration platform 120. The components of FIG. 1 may be used to help illustrate the method 200. It is understood that in some implementations, the method 200 may include the same, different, fewer, or more operations performed in any order.

At block 205, processing logic identifies activity data that is related to activities of users of the collaboration platform 120 (e.g., a gaming platform). The activity data may be used by the collaboration platform 120 to perform a process (e.g., a gaming process). In some implementations, data related to the execution of the collaboration platform 120 (also referred to as "general execution data") is filtered to identify a subset of the data (e.g., activity data) that indicates events that affect the game process.

For example, the collaboration platform 120 may receive and store a large amount of general performance data (general performance data) related to the operation of the game platform or the activities of users of the game platform. The general execution data may be filtered to identify activity data used during a particular game. For example, the search process provides relevant search results for a search query for content items on the gaming platform. To provide relevant search results, the search process may use activity data related to a previously performed search on the gaming platform to improve the relevance of the search results. The general execution data may be filtered to identify previously executed searches on the gaming platform.

In some implementations, the activity data is a subset of the general execution data, where the activity data includes data indicative of events affecting one or more particular game processes. The activity data may include user-generated activity data (e.g., user-generated actions, such as user input, selections, search queries, search terms, user input relative to search results, etc.) or data related to user activity (e.g., an amount of time a game object is inserted into a game via a developer interface). In some implementations, the activity data may include data that is not related to user activity (e.g., load statistics of a cluster of computers, etc.).

In an implementation, an event may represent the occurrence of an action of interest (e.g., a user-generated action) that affects the game process. The activity data may include data indicating one or more instances of different events or one or more instances of a single event. For example, events that affect the search process may include past search queries. Another event that affects the search process may include a search query selection of any content item from the search results. Another event that affects the search process may include a search query that uses a particular search term. Another event that affects the search process may be a user selection of a particular content item from the search results. Another event that affects the search process may include user placement of a particular content item in a developer interface for a threshold amount of time. As described further below, a condition may include one or more events.

In some implementations, events that affect a particular gameplay may be known to an administrator of the collaboration platform 120, and one or more events associated with a particular gameplay may be selected by the administrator. The general execution data may be filtered to identify a subset of data (e.g., activity data) that identifies multiple instances of an event that affects a particular game process.

In some implementations, the general execution data of the collaboration platform 120 may be stored in one or more log files. The log file may be stored in the data storage unit 106, for example. The general execution data of the collaboration platform may be large (e.g., hundreds of terabytes of data, and may be constantly updated or changed as the user interacts with the collaboration platform 120). In some implementations, the log file can be parsed to identify activity data. For example, the general execution data of the log file may be parsed to identify specific features (e.g., tags) of the data of the log file. A particular feature (e.g., tag) may identify a particular event of interest. For example, the general execution data of the log file may be tagged as a particular type, such as search, insert, user selection, user account, and the like. The general execution data of the log file may be parsed to identify tags indicating events that affect the game process. Data of log files having particular characteristics identifying events of interest may be filtered and included in the activity data.

In some implementations, the general execution data may be for a particular time period, such as a particular hour, a particular day, a particular week, and so forth. The activity data obtained from the general execution data may also have a specific time period.

In an implementation, a game process may represent a process performed by a collaboration platform that uses activity data in the performance of at least a portion of the process. The search process may generally represent one or more processes performed by the search engine 142 or the search engine interface module 141 and may include, for example, a search query, a search index, and search results. In some implementations, the search process determines relevant search results in response to a search query for content items on the collaboration platform 120.

At block 210, processing logic identifies first data of the activity data based on the first characteristic. The first data is a subset of the active data. In an implementation, activity data may be filtered based on characteristics. In one example, the characteristic is a user account identifier. For example, the first data may be a subset of activity data, where the first data is associated with a particular user account. The first data may be identified by a particular user account associated with a particular user account. It may be noted that the operation of identifying first data of the activity data may be repeated for different user account identifiers associated with different user accounts.

In other implementations, the characteristic may be an Internet Protocol (IP) address, where the first data are all from the same IP address. In other implementations, the characteristic may be a time range, where the first data is from a particular time range (e.g., tuesday). In some implementations, the characteristic may be a particular user device or browser, for example, collected by a user agent or tracker (e.g., a browser tracker).

For example, after filtering the execution of the collaboration 120 to identify data related to activity data (e.g., general execution data) representing events that affect the execution of the search process, the activity data may be further filtered to identify a portion (e.g., first data) of the activity data associated with a particular user account (e.g., user account A).

At block 215, processing logic may determine a number of times that a first data of the activity data meets a first condition of a plurality of conditions. A plurality represents one or more of an aspect. The number of times the first data of the active data meets the condition may indicate whether the first data is inrush data or legitimate data. In one implementation, the number of times that the first data of the activity data meets the first condition of the plurality of conditions may indicate the number of times that a particular event (or combination of events) is performed, such as the number of times that a user submits a search query to perform a search on the gaming platform (e.g., a search query having a particular search term or any search query performed by the user independently of the search term) (e.g., event a) but does not select any content item from the search results in response to the search query (e.g., does not select a game to play or a game object to place in a developer interface) (e.g., event B).

For example, if the condition is that a search query was submitted by a particular user (e.g., a user account) on the gaming platform but no content item was selected from the search results, processing logic may count the number of times a portion of the activity data (e.g., the first data) associated with the particular user account is eligible. For example, if user account a submitted 10000 search queries on a particular day but did not select content items from 9800 corresponding search results (e.g., selecting content items 200 times), the number of times the first data of the campaign data meets the first condition is 9800 times.

At block 220, processing logic determines whether the first data meets a first condition a first threshold is met. In some implementations, processing logic may compare the number of times the first data meets the first condition (e.g., the number of times an event (or combination of events) has been performed) to a first threshold. In some implementations, the first threshold is met if the first data meets the first condition a number of times meets or exceeds the first threshold, and the first threshold is not met if the first data meets the first condition a number of times is below the first threshold. The first threshold may be selected by an administrator and is specific to a particular condition (e.g., the first condition). If the first threshold is met, processing logic proceeds to block 245 and removes the first data from the active data. If the first threshold is not met, processing logic passes to block 225.

For example, if the first threshold is 500 times, processing logic may compare the number of times the first condition is met (e.g., 9800 times) to the first threshold (e.g., 500 times). Processing logic removes the first data from the active data if the number of times the first condition is met exceeds a first threshold (9800> 500). If the number of times the first condition is met does not exceed the first threshold, processing logic checks the first data for other conditions. It may be noted that, in some implementations, to remove the first data from the active data, the processing logic may meet two or more conditions and satisfy the corresponding thresholds.

At block 225, in response to determining that the number of times that the first data of the activity data meets the first condition does not satisfy the first threshold, the processing logic may determine a number of times that the first data of the activity data meets a second condition of the plurality of conditions. In some implementations, the number of times that the first data of the activity data meets the second condition of the plurality of conditions includes the number of times that a particular event (or combination of events) is performed, such as the number of times that a user submits a search query to perform a search on the gaming platform (e.g., a search query with a particular search term or any search query that is conducted by the user independently of the search term) (e.g., event a) and selects a content item (e.g., a particular content item or any of the content items) from search results that are responsive to the search query (e.g., selects a game to play or a game object to place in a developer interface) (e.g., event C).

For example, if the condition is that a search query is submitted by a particular user (e.g., a user account) on the gaming platform and a content item is selected from the search results, processing logic may count the number of times a portion of the activity data (e.g., the first data) associated with the particular user account is eligible. For example, if a user account submits 10000 search queries on a particular day and selects a content item from 200 of the corresponding search results, the number of times the first data of the activity data meets the second condition is 200.

At block 230, processing logic determines whether the number of times the first data meets the second condition satisfies a second threshold. In some implementations, processing logic may compare the number of times the first data meets the second condition (e.g., the number of times an event (or combination of events) has been performed) to a second threshold. In some implementations, the second threshold is met if the number of times the first data meets the second condition meets or exceeds the second threshold. The second threshold is not satisfied if the number of times the first data meets the second condition is below the second threshold. The second threshold may be selected by an administrator and is specific to a particular condition (e.g., the second condition). If the second threshold is met, processing logic proceeds to block 245 and removes the first data from the active data. If the second threshold is not met, processing logic passes to block 235.

For example, if the second threshold is 1000 times, processing logic may compare the number of times the second condition is met (e.g., 200 times) to the first threshold (e.g., 1000 times). Processing logic removes the first data from the activity data if the number of times the second condition is met exceeds a second threshold. If the number of times the second condition is met does not exceed the second threshold (200 times the second condition is met <1000 thresholds), processing logic checks the first data for other conditions.

At block 235, in response to determining that the number of times the first data of the activity data meets the second condition does not satisfy the second threshold, the processing logic may determine a number of times the first data of the activity data meets a third condition of the plurality of conditions. In some implementations, the number of times the first data of the activity data meets the third condition includes an aggregate of the number of times the first condition is met and the number of times the second condition is met.

For example, if the first condition is a number of times that the user submitted a search query to perform a search on the gaming platform without selecting any content items from search results responsive to the search query, and the second condition is a number of times that the user submitted a search query to perform a search on the gaming platform and selected content items from search results responsive to the search query, then processing logic may count a number of times that a portion of the activity data (e.g., the first data) associated with a particular user account meets the first condition and a number of times that the first data meets the second condition, and aggregate the two numbers. For example, if a user account submits 10000 search queries on a particular day and selects content items from 200 of the corresponding search results, the number of times the first data of the campaign data meets the first condition is 9800 times, the number of times the first data meets the second condition is 200 times, and the total of the number of times the first data of the campaign data meets the first condition or the number of times the first data of the campaign data meets the second condition is 10000 times.

At block 240, processing logic determines whether the third threshold is met for the number of times the first data meets the third condition. In some implementations, processing logic may compare the number of times the first data meets the third condition (e.g., the number of times an event (or combination of events) has been performed) to a third threshold. In some implementations, the third threshold is met if the number of times the first data meets the third condition meets or exceeds the third threshold. The third threshold is not satisfied if the number of times the first data meets the third condition is lower than the third threshold. The third threshold may be selected by an administrator and is specific to a particular condition (e.g., the third condition). In implementations, the first, second, and third thresholds may be the same or different. If the third threshold is met, processing logic proceeds to block 245 and removes the first data from the active data. If the third threshold is not met, processing logic maintains the first data as part of the active data. In some implementations, if the third threshold is not met, processing logic may proceed to block 250 and store the active data (where the first data has not been removed). In other implementations, processing logic may return to block 210 to, for example, flood check for additional data (additional first data) associated with other user accounts.

For example, the number of times the first data of the active data meets the first condition is 9800 times, the number of times the first data meets the second condition is 200 times, and the total of the number of times the first data of the active data meets the first condition and the number of times the first data of the active data meets the second condition is 10000 times. The threshold number may be 12000 times. 10000 is less than 12000 and does not satisfy the third threshold.

In some implementations, the number of times the first data of the activity data meets the third condition includes an aggregate of the number of times the event of interest occurred in the first data. For example, there are three events. Event a is a user submitting a search query to perform a search on the gaming platform. Event B is that the user has not selected any content items from the associated search results. Event C is a user selecting a content item from the associated search results. The number of occurrences of event a was 10000, the number of occurrences of event B was 9800, and the number of occurrences of event C was 200. The aggregate number of occurrences of the event of interest is 20000 times, which exceeds a threshold of 10000, and the first data may be removed from the activity data.

It may be noted that the condition checks (e.g., blocks 215-240) are shown as being performed in a certain order for purposes of illustration and not limitation. In other implementations, the condition checks may be performed in any order or concurrently. It may also be noted that the condition checking is provided for ease of illustration and not limitation. In other implementations, fewer, more, the same, or different condition checks for the same or different conditions may be performed. It may be noted that the conditions may be related to a specific process, and that the conditions of different processes may be different, such that the conditions affect the specific process.

At block 245, in response to determining that the number of times that the first data of the activity data meets the first condition (or other condition) satisfies the first threshold (or another threshold associated with other conditions), processing logic modifies the activity data by removing the first data from the activity data. The operation may be performed multiple times as indicated by the dashed arrow returning to block 210. For example, the first data in the first instance may be associated with a particular user account. The operations may be performed on any number of additional portions of data of the activity data associated with different user accounts (e.g., by any other characteristics used to filter the activity data).

At block 250, processing logic may store the modified activity data, for example, at data storage unit 106. In some implementations, the modified activity data may be a subset of the activity data as described at block 205, as block 210 and 250 filter out inrush data that may come from a malicious user that floods the collaboration platform 120.

At block 255, processing logic may use the modified activity data to perform the game process. In an implementation, the gaming process is a search process that provides relevant search results in response to a search query for content items on the gaming platform. In some implementations, the search query is through a game 122 hosted by the impersonating user search collaboration platform 120, and the search results may be games related to the particular search terms used in the search query. In some implementations, the search query is used to search for game objects for placement in a developer interface of the game platform by authoring users, and the search results may be game objects related to particular search terms used in the search query.

For purposes of illustration and not limitation, a search process for providing relevant search results in response to a search query for a content item on a gaming platform is described. Aspects of the disclosure may be provided for other processes, such as other gaming processes or different sub-processes of a search process.

For example, aspects of the present disclosure may be used in a map reduce process. In some cases, a user may perform a large number of events, such as 300k page browsing. The number of page views creates a large amount of data to be processed by the mapreduce operation. A large number of page views from a single user may indicate atypical user behavior and be considered to flood data. The inrush data may be removed from the activity data and provided to a map reduce process.

In another example, aspects of the present disclosure may be used for messaging operations. In some cases, the user may flood the collaboration platform 120 with messages. For example, a chat robot may be used to generate conversations with many users. The chat bot may be a computer program that conducts conversations using auditory or textual methods. The chat bot can mimic a human conversation and be used in a conversation system (e.g., a messaging system). In some implementations, the system may monitor the number of messages sent from a particular user account or IP address and compare that number to a threshold. If the number exceeds a threshold, the data can be removed from the system and the account disabled. The inrush data may be removed from the system, e.g., not stored in the data storage unit 106.

FIG. 3 illustrates a user interface for creating and building games and search results for game objects on a collaboration platform according to some implementations of the present disclosure. The elements of fig. 1 and 2 may be used to help illustrate fig. 3. In an implementation, the user interface 300 may be a developer interface that allows an authoring user to access the author module 126 of the collaboration platform 120. In an implementation, an authoring user may access the user interface 300 using the collaboration application 114 of the client device 110. The user interface 300 shows a search engine portal 310, the search engine portal 310 allowing authoring users to search for content items, such as game objects (e.g., parts and models). In this example, the authoring user submits a search query to the search engine 142 of the collaboration platform 120 using the search term "venules". The search engine 142 (in conjunction with the data influx check module 140) may use the activity data (e.g., modified activity data) to perform a search process that returns relevant search results 312 (e.g., game objects) for content items based on the search terms (e.g., "vehicles").

The user interface 300 shows the placement or insertion of game objects in the game workspace 314. For example, a game object 316 (e.g., a building) is retrieved from the search engine portal 310 and inserted into the game workspace 314. In an implementation, the collaboration platform 120 may track the amount of time that a game object 316 is inserted into the game workspace 314.

FIG. 4 is a user interface illustrating search results for a game according to some implementations of the present disclosure. The elements of fig. 1-3 may be used to help illustrate fig. 4. The user interface 400 shows search results 412 for a search query using the search term "Tycoon". The search engine 142 (in conjunction with the data influx check module 140) may use the activity data (e.g., modified activity data) to perform a search process that returns relevant search results 412 including content items (e.g., games) based on the search term "Tycoon". As shown, the search results 412 include an identifier (e.g., an image) of the corresponding game. In an implementation, a user may select a game (e.g., a game identifier) from search results 412 to access the game from collaboration platform 120. In some implementations, games (e.g., game identifiers) may be displayed in a hierarchical order. For example, the game may be displayed at the top, left to right, at the bottom, left to right in descending hierarchical order (e.g., 1 to 10 levels).

FIG. 5 is a block diagram illustrating an exemplary computer system 500 according to an implementation. Computer system 500 executes one or more sets of instructions that cause the machine to perform any one or more of the methodologies described herein. The set of instructions, etc., may represent instructions that, when executed by computer system 500, cause computer system 500 to perform one or more operations of data flood check module 140. The machine may operate in the capacity of a server or a client device in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a Personal Computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a mobile telephone, a web appliance, a server, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set of instructions to perform any one or more of the methodologies discussed herein.

Computer system 500 includes a processing device 502, a main memory 504 (e.g., Read Only Memory (ROM), flash memory, Dynamic Random Access Memory (DRAM) (e.g., Synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), a static memory 506 (e.g., flash memory, Static Random Access Memory (SRAM), etc.), and a data storage device 516, which communicate with each other via a bus 508.

Processing device 502 represents one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processing device 502 may be a Complex Instruction Set Computing (CISC) microprocessor, a Reduced Instruction Set Computing (RISC) microprocessor, a Very Long Instruction Word (VLIW) microprocessor, or a processing device implementing other instruction sets or a processing device implementing a combination of instruction sets. Processing device 502 may also be one or more special-purpose processing devices such as an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), network processor, or the like. Processing device 502 is configured to execute instructions of system architecture 100 and data influx check module 140 for performing the operations described herein.

The computer system 500 may further include a network interface device 522. the network interface device 422 provides communication with other machines over a network 518, such as a Local Area Network (LAN), an intranet, an extranet, or the internet. The computer system 500 may also include a display device 510 (e.g., a Liquid Crystal Display (LCD) or a Cathode Ray Tube (CRT)), an alphanumeric input device 512 (e.g., a keyboard), a cursor control device 514 (e.g., a mouse), and a signal generation device 520 (e.g., a speaker).

The data storage device 516 may include a non-transitory computer readable storage medium 524 on which is stored a set of instructions of the system architecture 100 and the data influx check module 140 embodying any one or more of the methods or functions or operations described herein. The instruction sets of system architecture 100 and data flood check module 140 may also reside, completely or at least partially, within main memory 504 and/or within processing device 502 during execution thereof by computer system 500, main memory 504 and processing device 502 also constituting computer-readable storage media. The set of instructions may further be transmitted or received over a network 518 via the network interface device 522.

While the example of the computer-readable storage medium 524 is shown as a single medium, the term "computer-readable storage medium" can include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the sets of instructions. The term "computer-readable storage medium" can include any medium that can store, encode or carry a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure. The term "computer readable storage medium" can include, but is not limited to, solid-state memories, optical media, and magnetic media.

Numerous details are set forth in the above description. It will be apparent, however, to one skilled in the art having the benefit of this disclosure, that the present disclosure may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present disclosure.

Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, it is appreciated that throughout the description, discussions utilizing terms such as "modifying," "generating," "determining," "performing," "parsing," "filtering," "providing," "identifying," "storing," or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (e.g., electronic) quantities within the computer system memories or registers into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

The present disclosure also relates to apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, compact disk read-only memories (CD-ROMs), magnetic-optical disks, read-only memories (ROMs), Random Access Memories (RAMs), erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), magnetic or optical cards, or any type of media suitable for storing electronic instructions.

The word "example" or "exemplary" is used herein to mean "serving as an example, instance, or illustration. Any aspect or design described herein as "exemplary" or "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects or designs. Use of the word "example" or "exemplary" is intended to provide concepts in a concrete fashion. The term "or" as used herein is intended to mean including "or" rather than an exclusive "or". That is, unless otherwise indicated or clear from context, "X includes a or B" is intended to mean that it naturally includes either of the substitutions. That is, if X includes A, X includes B or X includes a and B, "X includes a or B" is satisfied under any of the above cases. In addition, the articles "a" and "an" as used in this application and the appended claims may generally be construed to mean "one or more" unless specified otherwise or clear from context to be directed to a singular form. Furthermore, the use of the terms "implementation" or "one implementation" or "an embodiment" or "one embodiment" or the like throughout is not intended to refer to the same implementation or embodiment unless otherwise specified. One or more implementations or embodiments may be combined in a particular implementation or embodiment. The terms "first," "second," "third," "fourth," and the like as used herein also denote labels that distinguish between different elements, and may not necessarily have an ordinal meaning according to their numerical designation.

It is to be understood that the above description is intended to be illustrative, and not restrictive. Other implementations will be apparent to those of skill in the art upon reading and understanding the above description. The scope of the disclosure may, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.

In additional implementations, one or more processing devices are disclosed for performing the operations of the implementations described above. Additionally, in implementations of the present disclosure, a non-transitory computer-readable storage medium stores instructions for performing the operations of the implementations. In yet other implementations, systems for performing the operations of the implementations are also disclosed.

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:传输服务器、传输系统、传输方法及程序

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类