Notification of real-time inventory mappings and saved searches
Through a hierarchical data structure, users are associated with interests and provide notifications in real time, which solves the problem of multiple searches by users in existing search engines, improves the efficiency of computing resources and storage devices, and achieves more efficient search results provision.
Patent Information
- Application Number
- CN202510195485.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-02-23
- Filing Date
- 2025-02-21
- Publication Date
- 2025-08-26
AI Technical Summary
Existing search engines cannot associate users with categories or sellers in real time, resulting in users requiring multiple searches, consuming computing resources and network bandwidth, and being unable to promptly notify users of scarce items, affecting the efficiency of computer network communication.
Through a hierarchical data structure, users are associated with interests, provide real-time notifications, reduce duplicate queries, query only relevant parts of the database, and use the hierarchical database structure to improve the efficiency of computing resources and storage devices.
Reduces search frequency, reduces computing resource consumption, improves storage device and query execution efficiency, reduces disk I/O operations, and achieves more efficient search results provision.
Smart Images

Figure CN120541285A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to real-time inventory mapping and notifications of saved searches. Background Art
[0002] Many product search systems allow users to submit search queries consisting of several words or terms. The search system returns a list of relevant items related to the search query, which is then made available within the corresponding site. Some search systems enable users to save search queries. Sending communications (particularly listing match notifications) to users who have saved search queries improves customer engagement and retention. A typical search system may have millions of saved searches. To efficiently and effectively send listing match notifications, a batch job (e.g., once a day) can be scheduled to scan the search system's inventory and find matching items for each saved search. Summary of the Invention
[0003] At a high level, aspects described herein relate to a search engine. More specifically, aspects described herein relate to a search engine that provides real-time inventory mapping and notifications of saved searches. To this end, a hierarchical data structure is utilized to associate users with interests. Initially, behavioral data is received from a user indicating an interest in a category or seller. The behavioral data may correspond to the user saving a search containing one or more keywords, or to the user following a seller. Users are dynamically associated with interests in the hierarchical data structure. Upon detecting a configurable trigger, item data corresponding to an item in the item inventory is retrieved. The configurable trigger may be an item corresponding to a category or seller listed in the inventory, an incentive offered by the seller for an item, or an item identified as suitable for another item associated with the user. In various aspects, the item data is communicated to the user in real time.
[0004] This summary is intended to introduce some concepts in a simplified form that are further described in the detailed description of the present disclosure. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. Additional objects, advantages, and novel features of the technology are provided, and some of them will become apparent to those skilled in the art after reviewing this disclosure or learning through practice of the technology. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] The present technology will be described in detail below with reference to the accompanying drawings, in which:
[0006] Figure 1 is a block diagram of an example operating environment suitable for implementing aspects of the present technology;
[0007] Figure 2 is an example hierarchical data structure according to one aspect of the technology described herein;
[0008] Figure 3 is an example system diagram according to one aspect of the technology described herein;
[0009] Figure 4 is a flowchart illustrating an example method according to one aspect of the technology described herein; and
[0010] Figure 5 is an example computing device suitable for implementing the techniques according to one aspect described herein. DETAILED DESCRIPTION
[0011] The subject matter of various aspects of the technology is described herein in detail to satisfy statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter may also be embodied in other ways, including with different steps than those described in this document or with combinations of similar steps, and in conjunction with other existing or future technologies. Furthermore, although the terms "step" and / or "block" may be used herein to refer to different elements of the method employed, these terms should not be construed to imply any particular order between the various steps disclosed herein unless the order of the various steps is explicitly described.
[0012] Furthermore, unless otherwise indicated, words such as "a" and "an" may also include the plural as well as the singular. Thus, for example, the constraint of "a feature" is satisfied when one or more of the feature is present. Furthermore, the term "or" includes conjunctions, disjunctions, and both (thus, a or b includes a or b as well as a and b).
[0013] While search engines are extremely useful tools for providing search results for received search queries, shortcomings in existing search technologies often result in unnecessary consumption of computing resources (e.g., I / O costs, network packet generation costs, throughput, memory consumption, etc.). When performing searches, users typically seek results in specific categories or from specific sellers. Even when search technologies allow users to save searches, current search engines are unable to associate users with categories or sellers in real time. Furthermore, current search engines are unable to notify users in real time when a seller lists an item in a specific category or when a specific seller lists an item; instead, notifications are scheduled at most once a day. For scarce items, time is critical, as other users may have already purchased the item before a user is notified of its listing.
[0014] This requires the user to perform multiple searches, which unnecessarily consumes various computing resources of the search system, such as processing power, network bandwidth, throughput, and memory consumption. In some cases, multiple attempts to identify an item may not even satisfy the user's goal, requiring the user to expend more time and computing resources in the search process, repeating the process of issuing additional queries until the user finally accesses the desired content item. In some cases, the user may even abandon the search because the search engine fails to return the desired search results after multiple searches.
[0015] These shortcomings of existing search technologies adversely impact computer network communications. For example, each time a query is received, the search query's content, or payload, is typically supplemented with header information or other metadata, multiplied by all the additional queries required to retrieve the specific item the user desires. Consequently, repeatedly generating this metadata and sending it over the computer network incurs throughput and latency costs. In some cases, this repeated input (e.g., repeated clicks, selections, or queries) can increase storage device I / O (e.g., excessive physical read / write head movement on non-volatile disks). This is because each time a user enters unnecessary information (e.g., multiple queries), the computing system must typically contact the storage device to perform a read or write operation, which is time-consuming, error-prone, and ultimately wears out components such as the read / write head. Furthermore, if multiple users repeatedly issue queries, it can be expensive because processing the queries consumes significant computing resources. For example, some search engines may require computing a query execution plan each time a query is issued, requiring the search system to find the cheapest query execution plan to fully execute the query. This reduces throughput, increases network latency, and wastes valuable time.
[0016] In light of these shortcomings in existing search technologies, aspects of the technology described herein improve upon the functionality of computers by providing a solution for associating users with interests using a hierarchical data structure. Users can dynamically associate interests with the hierarchical data structure, and notifications can be communicated to the user in real time when configurable triggers are detected. As can be appreciated, superior results can be achieved compared to traditional search engines that do not provide real-time mapping and notifications and / or require users to perform multiple search queries.
[0017] Aspects of the technology described herein offer numerous improvements over existing search techniques. For example, compared to existing techniques, computing resource consumption is improved. Specifically, by dynamically associating users with interests and providing real-time notifications, search frequency can be reduced. This eliminates (or at least reduces) repeated user queries, as search results from saved searches are provided in real time as items are listed. Furthermore, because a hierarchical database structure is utilized, only the relevant portion of the database structure is queried when listing an item, rather than the entire database structure. Consequently, aspects of the technology described herein reduce computing resource consumption, such as processing power and network bandwidth.
[0018] In a similar manner, aspects of the technology described herein improve storage or disk I / O and query execution. As described above, when listing items, the hierarchical database structure enables querying smaller portions of the database. In contrast, current search technology runs a batch job against the entire database daily for all saved searches. This is much less efficient in terms of disk I / O, as the entire database is queried. Consequently, the query execution function incurs less wear and tear.
[0019] Having briefly described aspects of the technology described herein, an exemplary operating environment is described below in which aspects of the technology described herein may be implemented.
[0020] Now go to Figure 1 , a block diagram is provided illustrating an operating environment 100 in which aspects of the present disclosure may be employed. It should be understood that these and other arrangements described herein are presented as examples only. In addition to the arrangements and elements shown, other arrangements and elements (e.g., machines, interfaces, functions, sequences, and functional groupings) may be used, and some elements may be omitted entirely for clarity. In addition, many of the elements described herein are functional entities that may be implemented as discrete or distributed components, or in conjunction with other components, and in any suitable combination and location. The various functions described herein as being performed by one or more entities may be performed by hardware, firmware, and / or software. For example, some functions may be performed by a processor executing instructions stored in a memory.
[0021] In addition to other components not shown, the example operating environment 100 includes a network 102; a computing device 104 having a client interface component 106; a search engine 108 having a query module 110, a search module 112, and a real-time module 114; a keyword index 130; a saved search database; and an item database 134. It should be understood that Figure 1 The environment 100 shown in FIG. 1 is an example of a suitable operating environment. Figure 1 Each component shown in can be implemented by any type of computing device, such as the following Figure 5 A computing device 500 is described.
[0022] These components can communicate with each other via a network 102, which may include, but is not limited to, one or more local area networks (LANs) and / or wide area networks (WANs). In an exemplary embodiment, network 102 includes the Internet and / or a cellular network, as well as various possible public and / or private networks. In various aspects, network 102 may include multiple networks or a network of networks, but is shown in a simplified form so as not to obscure other aspects of the present disclosure.
[0023] It should be understood that within the scope of the present disclosure, any number of user devices, servers, and data sources may be employed within the operating environment 100. Each may comprise a single device or multiple devices collaborating in a distributed environment. For example, the search engine 108 may be provided by multiple devices arranged in a distributed environment that collectively provide the functionality described herein. Additionally, the distributed environment may also include other components not shown.
[0024] The computing device 104 can be a client device on the client side of the operating environment 100, while the search engine 108 can be on the server side of the operating environment 100. For example, the search engine 108 can include server-side software designed to work in conjunction with client-side software on the computing device 104 to implement any combination of the features and functions discussed in this disclosure. This division of the operating environment 100 is provided to illustrate one example of a suitable environment, and it is not required that every implementation maintain any combination of the search engine 108 and the computing device 104 as separate entities. Although the operating environment 100 shows a configuration in a network environment with separate computing devices, search engines, keyword indexes, and article databases, it should be understood that other configurations in which the components are combined can be employed. For example, in some configurations, the computing device can also serve as a data source and / or can provide search functionality.
[0025] The computing device 104 may include any type of computing device that a user can use. For example, in one aspect, the computing device 104 may be any type of computing device described herein. Figure 5The type of computing device 500 described. By way of example and not limitation, the computing device may be embodied as a personal computer (PC), a laptop computer, a mobile or mobile device, a smartphone, a tablet computer, a smartwatch, a wearable computer, a personal digital assistant (PDA), an MP3 player, a global positioning system (GPS) or device, a video player, a handheld communication device, a gaming device or system, an entertainment system, an in-vehicle computer system, an embedded system controller, a remote control, an appliance, a consumer electronic device, a workstation, or any combination of these delineated devices, or any other suitable device that can execute search queries through the client interface component 106 or present notifications through the client interface component 106. A user may be associated with the computing device 104. The user may communicate with the search engine 108 through one or more computing devices (e.g., computing device 104).
[0026] At a high level, search engine 108 receives a text-based search query (e.g., a natural language query or a structured query) or an audio query, including voice or other audio input, from computing device 104 (or another computing device not depicted). In various aspects, the text-based query or audio query includes one or more keywords. The search query can include any type of input from a user that initiates a search containing one or more keywords. In response to receiving the search query, search engine 108 generates and ranks text-based results in a single search result set.
[0027] In some configurations, the search engine 108 may be embodied on one or more servers. In other configurations, the search engine 108 may be implemented at least partially or entirely on a user device, such as Figure 5 The computing device 500 described in . The search engine 108 (and its components) may be embodied as an arrangement of a compiled set of computer instructions or functions, program modules, computer software services, or processes executing on one or more computer systems.
[0028] like Figure 1 As shown, search engine 108 includes a query module 110, a search module 112, and a real-time module 114. In one aspect, the functions performed by the modules of search engine 108 are associated with one or more applications, services, or routines. Specifically, such applications, services, or routines can run on one or more user devices (e.g., computing device 104) or servers (e.g., search engine 108), or can be distributed across one or more user devices and servers. In some aspects, the applications, services, or routines can be implemented in the cloud. Furthermore, in some aspects, these modules of search engine 108 can be distributed across a network, including one or more servers and client devices (e.g., computing device 104), in the cloud, or can reside on a user device such as computing device 104.
[0029] Furthermore, the modules of the search engine 108 and the functions and services performed by these modules can be implemented at an appropriate abstraction layer (e.g., an operating system layer, an application layer, or a hardware layer, etc.). Alternatively, or in addition, the functions of these modules (or aspects of the techniques described herein) can be performed, at least in part, by one or more hardware logic components. For example, but not limited to, exemplary types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), etc. Furthermore, although the functions are described herein with respect to specific modules shown in the search engine 108, it is contemplated that, in some aspects, the functions of one of the modules can be shared or distributed across other modules.
[0030] The query module 110 receives a search query including one or more text-based keywords. For example, a user may enter a search query on the computing device 104 through the client interface component 106 that provides access to a search engine. As previously described, the search query may include any type of input from the user that initiates a search including one or more keywords.
[0031] The query module 110 can be configured to receive a search. Additionally, the query module 110 can be configured to transmit the search query to other modules of the search engine 108, such as the search module 112 or the real-time module 114. Furthermore, the user query module 110 can be configured to suggest and provide refinements to the search query, generate and provide navigation modules, categorize or group multiple items, generate and provide automatic suggestions, or provide search results to a computing device (e.g., computing device 104).
[0032] The query module 110 can cause one or more graphical user interface displays of various computing devices to display a search query, suggested refinements of the search query, a navigation module, categories of items responsive to the search query, automatic suggestions, or items responsive to the search query. In various aspects, the query module 110 causes the client interface component 106 (through which a search query is input (e.g., by a user in a search tool on a web page)) to display the search query, suggested refinements, a navigation module, categories of items responsive to the search query, automatic suggestions, or items responsive to the search query. Furthermore, the query module 110 can include an application programming interface (API) that allows an application to submit a search query (and optionally other information, such as user information, contextual information, etc.) for receipt by the search engine 108.
[0033] Search module 112 identifies search results in response to a search query processed against item database 134, as described in greater detail below. For example, search module 112 may query keyword index 130 to identify results that meet the search query criteria. In some aspects, the results identified in keyword index 130 are mapped to items in item database 134. For clarity, an item may be a product listing and may include various additional information, such as price, price range, quality, condition, ranking, material, brand, manufacturer, etc.
[0034] Search module 112 also ranks search results. In some aspects, information learned from historical search sessions or user feedback can be used to optimize the ranking of search results. For example, the selections made by other users who submitted similar queries can be used to increase or decrease the ranking of individual items in the search results.
[0035] In some aspects, the feedback can be stored in a search log. The search log can be embodied in multiple databases, one or more of which include one or more hardware components that are part of search engine 108. In various aspects, the search log is configured to store information about a user's historical search sessions, including, for example, search queries submitted by multiple users through a client interface component (e.g., client interface component 106), search results associated with historical search queries, item lists associated with the search results, or user interactions associated with the search results (e.g., hover, click, purchase, etc.). In some embodiments, the search log stores a timestamp (e.g., day, hour, minute, second, etc.) for each user query, search result, item list associated with the search result, user interaction with the search result, etc.
[0036] Additionally, information stored in the search log regarding historical search sessions may include other result selection information, such as subsequent filters selected in response to receiving search results and item listings. In some embodiments, result selection information may include the time between successive selections of search results, the language used by the user, and the country in which the user may be located (e.g., based on the server used to access search engine 108). In some implementations, other information stored associated with historical search sessions may include user interactions with rankings displayed in item listings, negative feedback displayed with item listings, and other information (e.g., whether the user clicked on or viewed a document associated with the item listing). User information (including user cookies, cookie age, IP (Internet Protocol) address, browser user agent, etc.) may also be stored in the search log. In some embodiments, user information is recorded in the search log for an entire user session or multiple user sessions.
[0037] The keyword index 130, saved search database 132, and item database 134 may comprise data sources or data systems that are configured to make data available to any of the various components of the operating environment 100. The keyword index 130, saved search database 132, and item database 134 may be discrete components independent of the search engine 108, or may be incorporated into or integrated into the search engine 108 or other components of the operating environment 100. Among other things, the item database 134 may store search results associated with a search query, information about which may be indexed in the keyword index 130. Additionally, the item database 134 may store search results associated with users and categories that were associated in a hierarchical data structure in the saved search database 132.
[0038] The keyword index 130 may take the form of an inverted index, although other forms are possible. The keyword index 130 stores information about items in a manner that allows the search engine 108 to efficiently identify search results for a search query. The search engine 108 may be configured to run any number of queries on the keyword index 130. According to an example embodiment, the keyword index 130 may include an inverted index that stores a mapping from text search queries to items in the item database 134.
[0039] Saved search database 132 can take the form of a hierarchical data structure, although other forms are possible. Saved search database 132 stores information about saved searches (i.e., associations between users and categories or users and sellers), which allows search engine 108 to efficiently and in real time identify search results for saved search queries when buyers list related items in item database 134. Search engine 108 can be configured to run any number of queries on saved search database 132 in real time. According to an example embodiment, saved search database 132 can include a hierarchical data structure that stores mappings between users and categories or users and sellers and items in item database 134.
[0040] The real-time module 114 utilizes the saved search database 132 to provide real-time inventory mapping and notifications. The real-time module 114 can receive behavioral data from the user, which indicates interest in a category or seller. The behavioral data can correspond to the user saving a search containing one or more keywords. The one or more keywords can be associated with a particular category. For example, if one or more keywords is "red shoes," the category can be "shoes." In another example, if one or more keywords is "men's shoes red," the category can be "men's shoes." The behavioral data can correspond to the user following a particular seller. In either example, the real-time module dynamically stores the association between the user and the category or the user and the seller in the saved search database 132.
[0041] Upon detecting a configurable trigger, the real-time module communicates the item data to the user in real time. In some aspects, the configurable trigger is an item corresponding to a category being listed in inventory. In some aspects, the configurable trigger is an item corresponding to a seller being listed in inventory. In some aspects, the configurable trigger is an incentive offered for the item or by the seller. In some aspects, the configurable trigger is an item being identified as another item suitable for association with the user.
[0042] Now go to Figure 2 According to one aspect of the technology described herein, an example hierarchical data structure 200 is shown. As shown, hierarchical data structure 200 is used to maintain the category lifecycle and the mapping between users 208, 210, 212 and categories (or sellers) 202, 204a-204n, 206a, 206b. In this hierarchical data structure, users and categories of interest (or sellers of interest) are associated with the corresponding users in real time. This multi-level, real-time relationship between users and categories (or sellers) has many benefits. For example, when a user expresses interest in a category (or seller), an association can be dynamically created, allowing for immediate updates. Similarly, if any user loses interest in a category, the association can be dynamically updated. By using this multi-level hierarchical data structure, users can be provided with a more efficient and effective experience.
[0043] Hierarchical data structure 200 can be queried in a variety of ways. For example, hierarchical data structure 200 can be queried to determine which categories a particular user is interested in. For example, user 1 208 is interested in Level 2 Cat 204b and Level 3 Cat 206b, while user 2 210 is interested in Level 2 Cat 204n, and user 3 212 is interested in Level 3 Cat 206b. In another example, hierarchical data structure 200 can be queried to determine which users are interested in a particular category. For example, user 1 208 and user 3 212 are interested in Level 3 Cat 206b.
[0044] Additionally, the hierarchical data structure 200 enables querying to be restricted to certain levels, such as determining which users are directly connected to a particular category and which users are indirectly connected through subcategories. Restricting queries to certain levels enables highly specific and more efficient searches. This increased efficiency enables real-time mapping and notifications.
[0045] exist Figure 3, an example system diagram 300 is shown according to one aspect of the technology described herein. The system 300 shows various forms of behavioral data that are used to indicate interest in categories or sellers. For example, the behavioral data may include interactions 302 with specific categories or sellers. In another example, the behavioral data may include saved searches 304 corresponding to categories or saved searches 306 corresponding to sellers. Alternatively, the behavioral data may include purchase activity data (e.g., purchasing through "buy it now", bidding in an auction, making a best offer, following an item, asking a seller a question, adding an item to a shopping cart, etc.). The behavioral data is used to create associations between users and categories (or sellers) in a hierarchical data structure 310. In some aspects, an API can be used to return item-related category model data and related information.
[0046] As shown, a seller 320 may list a new item, which may present a configurable trigger 322. System 300 may identify the category corresponding to the new item and query the hierarchical data structure 310 for buyers interested in that category (or seller). Simultaneously, system 300 may also utilize domain services and filters to retrieve relevant data 330. For example, an incentive and coupon service may identify incentives and / or coupons related to a category (or seller). In another example, a parts and accessories fitting service may respond to whether a particular part fits the make and model of a buyer's vehicle. In another example, a following service may return a list of followers (e.g., buyers following the seller and a list of saved searches). In yet another example, a hot signal from a marketing inventory service returns data related to demand for inventory items. Once a new item matches an interested user and all domain services and filters have been applied, a notification 340 (e.g., email) may be sent to the user in real time.
[0047] Figure 4 FIG. 4 is a flow chart illustrating a method 400 for providing real-time inventory mapping and notification according to one aspect of the technology described herein. The method 400 may be performed by, for example, Figure 1 The search engine 108 is executed. As shown in block 402, behavioral data is received from a user indicating interest in a category or seller. In some aspects, the behavioral data corresponds to the user saving a search containing one or more keywords. In other aspects, the behavioral data corresponds to the user following a seller.
[0048] At block 404, the user and category, or the user and seller, are dynamically associated within a data structure. The data structure may be a hierarchical data structure (e.g., a graph database). In some aspects, an indication may be received from the user to remove interest in a category or seller. Accordingly, the user and category, or the user and seller, may be dynamically disassociated within the data structure.
[0049] At block 406, upon detection of a configurable trigger, the item data is communicated to the user in real time. In some aspects, the configurable trigger is an item corresponding to a category being listed in inventory. In some aspects, the configurable trigger is an item corresponding to a seller being listed in inventory. In some aspects, the configurable trigger is an incentive offered for the item or by the seller. In some aspects, the configurable trigger is an item being identified as suitable for association with another item of the user. Based on detection of the configurable trigger, item data corresponding to the association between the user and the category or the user and the seller can be retrieved.
[0050] Reference Figure 5 , computing device 500 includes bus 510, which directly or indirectly couples the following devices: memory 512, one or more processors 514, one or more presentation components 516, one or more input / output (I / O) ports 518, one or more I / O components 520, and an illustrative power supply 522. Bus 510 represents one or more buses (e.g., an address bus, a data bus, or a combination thereof). Although for clarity, Figure 5 The blocks in FIG are shown with lines, but in reality, these blocks represent logical components, not necessarily physical components. For example, a presentation component such as a display device can be considered an I / O component. In addition, a processor has memory. The inventors hereby recognize that this is the nature of the technology and reiterate that Figure 5 The figures are merely exemplary computing devices that may be used in conjunction with one or more aspects of the present technology. No distinction is made between categories such as "workstation," "server," "laptop," "handheld device," etc., as all are considered within the Figure 5 and reference to “computing devices”.
[0051] The computing device 500 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the computing device 500, and includes both volatile and non-volatile media, removable and non-removable media. By way of example and not limitation, computer-readable media can include computer storage media and communication media.
[0052] Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVDs) or other optical disk storage devices, magnetic cassettes, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by computing device 500. Computer storage media does not itself contain signals.
[0053] Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal (such as a carrier wave or other transport mechanism) and includes any information delivery media. The term "modulated data signal" refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media include wired media (such as a wired network or direct-wired connection) and wireless media (such as acoustic, RF, infrared, and other wireless media). Combinations of any of the above should also be included within the scope of computer-readable media.
[0054] Memory 512 includes computer storage media in the form of volatile and / or nonvolatile memory. Memory can be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical drives, and the like. Computing device 500 includes one or more processors 514, which read data from various entities (e.g., memory 512 or I / O components 520). Presentation components 516 present data indications to a user or other device. Exemplary presentation components include a display device, a speaker, a printing component, a vibration component, and the like.
[0055] I / O ports 518 allow computing device 500 to be logically coupled to other devices, including I / O components 520, some of which may be built-in. Illustrative components include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, etc.
[0056] I / O component 520 can provide a natural user interface (NUI) for processing mid-air gestures, voice, or other physiological input generated by the user. In some cases, the input can be transmitted to an appropriate network element for further processing. The NUI can implement any combination of voice recognition, touch and stylus recognition, facial recognition, biometric recognition, gesture recognition on and near the screen, mid-air gestures, head and eye tracking, and touch recognition associated with the display on computing device 500. Computing device 500 can be equipped with a depth camera, such as a stereo camera system, an infrared camera system, an RGB camera system, and combinations of these systems, for gesture detection and recognition. Additionally, computing device 500 can be equipped with an accelerometer or gyroscope to detect motion. The output of the accelerometer or gyroscope can be provided to the display of computing device 500 to present immersive augmented reality or virtual reality.
[0057] Some aspects of computing device 500 may include one or more radios 524 (or similar wireless communication components). Radios 524 transmit and receive radio or wireless communications. Computing device 500 may be a wireless terminal suitable for receiving communications and media over various wireless networks. Computing device 500 may communicate via wireless protocols such as Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), or Time Division Multiple Access (TDMA), among others, to communicate with other devices. Radio communications may be short-range connections, long-range connections, or a combination of short-range and long-range wireless telecommunications connections. When we refer to "short" and "long" types of connections, we are not referring to the spatial relationship between two devices. Rather, we generally refer to short and long range as different categories or types of connections (i.e., primary and secondary connections). Short-range connections may include (by way of example and not limitation) a Wi-Fi® connection to a device that provides access to a wireless communication network (e.g., a mobile hotspot), such as a WLAN connection using the 802.11 protocol. A Bluetooth connection to another computing device is another example of a short-range or near-field communication connection. Long-range connections may include, by way of example and not limitation, connections using one or more of CDMA, GPRS, GSM, TDMA, and 802.16 protocols.
Claims
1. A method for providing real-time inventory mapping and notification, the method comprising: receiving behavioral data from users indicating interest in a category or seller; Dynamically associating the user and the category or the user and the seller in a data structure; as well as Upon detection of a configurable trigger, item data is communicated to the user in real-time.
2. The method of claim 1, further comprising receiving an indication from the user to remove interest in the category or the seller.
3. The method according to claim 2 further includes dynamically disassociating the user from the category or the user from the seller within the data structure.
4. The method according to claim 1, further comprising: Based on detecting the configurable trigger, item data corresponding to an association between the user and the category or the user and the seller is retrieved.
5. The method according to claim 1, wherein The data structure is a graph database.
6. The method according to claim 1, wherein The behavioral data corresponds to searches saved by the user containing one or more keywords.
7. The method according to claim 1, wherein The behavior data corresponds to the user following the seller.
8. The method according to claim 1, wherein The configurable trigger is the item corresponding to the category being listed in inventory.
9. The method according to claim 1, wherein: The configurable trigger is the item corresponding to the seller being listed in inventory.
10. The method according to claim 1, wherein The configurable trigger is an incentive provided for the item or provided by the seller.
11. The method according to claim 1, wherein The configurable trigger is the item being identified as another item suitable for association with the user.
12. One or more non-transitory computer storage media storing computer-readable instructions that, when executed by a processor, cause the processor to perform operations comprising: receiving behavioral data from users indicating interest in a category or seller; Dynamically associating the user and the category or the user and the seller in a data structure; Upon detecting a configurable trigger, retrieving item data corresponding to an association between the user and the category or the user and the seller; and The item data is communicated to the user in real time.
13. The medium of claim 12, further comprising receiving a selection from the user indicating to remove interest in the category or the seller.
14. The medium of claim 13, further comprising dynamically disassociating the user from the category or the user from the seller within the data structure.
15. The medium according to claim 12, wherein The behavioral data corresponds to searches saved by the user containing one or more keywords.
16. The medium according to claim 12, wherein The behavior data corresponds to the user following the seller.
17. The medium according to claim 12, wherein The data structure is a graph database.
18. The medium according to claim 12, wherein The configurable trigger is one of: the item being listed in an item inventory, an incentive being offered for the item or by the seller, the item being identified as suitable for another item associated with the user.
19. A system for providing real-time inventory mapping and notification: at least one processor; as well as One or more computer storage media storing computer-readable instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising: receiving behavioral data from users indicating interest in a category or seller; dynamically associating the user with the interest in a data structure; Upon detecting a configurable trigger, retrieving item data corresponding to an item in the item inventory; and The item data is communicated to the user in real time.
20. The system of claim 19, wherein: The configurable trigger is one of: the item being listed in inventory, an incentive being offered for the item or by the seller, the item being identified as suitable for another item associated with the user.