Existing online map applications allow for searching of places having a physical address, such as businesses. If a user wants to navigate to an event, one has to first lookup the location of the event, turning it into an address or point of interest (POI), and then initiate navigation to that location. If the user wants to find out what events are happening within a given region, the user can enter a search query in a search engine and read through numerous results from various sources, many of which are typically outdated and/or not relevant to the user's interest. This can be very time consuming, frustrating, and inefficient as computing resources are devoted to numerous search attempts and interaction with results.
The present disclosure provides for searching, browsing, or navigating “temporally.” The temporal map context provides an ability to see on the map what is happening in a neighborhood or city as of a particular date or point in time. Various events, with specific start and end times, may be dynamically displayed. User time filters may be applied to limit results to a particular time frame, and other types of filters may be applied to limit results to particular geographic regions, types of events, characteristics of a venue such as seating capacity, or other parameters. The results may be displayed as first class discoverable objects on the map. For example, the results may be surfaced as point of interest (POI) pins or in a contents of an information section for businesses that includes information such as address, business hours, and customer reviews. In this regard, business and social life, and the vibe of a neighborhood may be represented in online maps.
One aspect of the disclosure provides a method, comprising receiving, with one or more processors, a request for information associated with a particular geographic area and particular time, identifying, with the one or more processors, events scheduled to occur or having occurred within the geographic area during the particular time, identifying, with the one or more processors, venue information associated with the identified events, filtering, with the one or more processors, the identified events to produce a reduced subset of events for display, and providing for display, with the one or more processors, the reduced subset of events and the associated venue information in relation to geographic information associated with the events.
According to some examples, the venue information may include information indicating a number of people the venue is capable of accommodating.
Providing the reduced subset of events for display may include, for example, providing a graphic for each event in the reduced subset as an overlay on a map. Filtering the identified events may be based on one or more user preferences. Such user preferences may be explicit preferences input by the user, or implicit preferences that are determined based on passive cues from the user, historical information for the user, etc. The preferences may be indicated in a profile associated with the user.
According to some examples, a type of event information for the event may be selected for display based on one or more search criteria in the request.
According to some examples, the method may further comprise determining remaining availability for attending the event, and providing the remaining availability for the event for display in association with the event. In some examples, the method may further include automatically reserving admission to events meeting predetermined criteria.
Another aspect of the disclosure provides a system comprising one or more memories, and one or more processors in communication with the one or more memories. The one or more processors may be configured to receive a request for information associated with a particular geographic area and particular time, identify events scheduled to occur or having occurred within the geographic area during the particular time, identify venue information associated with the identified events, filter the identified events to produce a reduced subset of events for display, and provide for display the reduced subset of events and the associated venue information in relation to geographic information associated with the events.
According to some examples, the venue information may include information indicating a number of people the venue is capable of accommodating.
Providing the reduced subset of events for display may include, for example, providing a graphic for each event in the reduced subset as an overlay on a map. Filtering the identified events may be based on one or more user preferences. Such user preferences may be explicit preferences input by the user, or implicit preferences that are determined based on passive cues from the user, historical information for the user, etc. The preferences may be indicated in a profile associated with the user. In any of these examples, the user preferences may be predefined.
According to some examples, a type of event information for the event may be selected for display based on one or more search criteria in the request.
According to some examples, the one or more processors may be further configured to determine remaining availability for attending the event, and provide the remaining availability for the event for display in association with the event. According to some examples, the one or more processors may be further configured to automatically reserve admission to events meeting predetermined criteria.
Another aspect of the disclosure provides a non-transitory computer-readable medium storing instructions executable by one or more processors for performing a method, comprising receiving a request for information associated with a particular geographic area and particular time, identifying events scheduled to occur or having occurred within the geographic area during the particular time, identifying venue information associated with the identified events, filtering the identified events to produce a reduced subset of events for display, and providing for display the reduced subset of events and the associated venue information in relation to geographic information associated with the events.
The present disclosure provides for a database of discoverable temporal events, wherein particular events are selected and surfaced on a map in response to a user request. Map databases may maintain details regarding POIs. Such details may include the location, hours, type and subtype, and other attributes of a POI that aid in discovery. As described herein, a database of discoverable temporal events may also be maintained. Examples of temporal events may include, for example, live entertainment, sporting events, festivals, special pricing events, limited time food menu offerings, conventions, or other types of events. Such discoverable temporal events may be correlated with POIs, and surfaced in a map application in response to a request from a user.
According to some examples, search criteria may include geographic options, timing options, event type options, and/or any of a variety of other types of options. Events may be grouped into semantic categories, with a knowledge graph providing a hierarchical structure. As such, users could have an additional semantic filter among their map options and view/search for those events on the map that fall under a specific category of interest. With such built-in map support and the breadth and versatility of the knowledge graph, businesses and groups of individuals can set up a multitude of extremely diverse and easily discoverable events, providing them with the appropriate time bounds, locations, visibility criteria, and any additional metadata, such as text announcements, websites, etc. Consequently, a user could request to see the map of what's happening in their town or the city they're visiting at present or a week into the future, add filters that would limit the display to selected types or subtypes of events. According to some examples, events having an associated time that has passed may remain visible in map views for historical time intervals.
Introducing events and event overlays onto the map provides the ability to query historical, present, and future data on a region-by-region basis for many interesting statistics, such as event density, broken down by event type, time of day, day of week, month, etc. It also allows for analysis of event relationships, such as how certain groups of events are related and how the appearance of an event of one type affects the likelihood of events of other types nearby. Businesses may thus view and analyze publicly visible events to plan their next offerings and strategize around how to attract the greatest number of customers to an individual event or to maintain a stable clientele on an ongoing basis.
Each of devices 102, 104, 106 may include one or more processors 132, 134, 136, memory 142, 144, 146, data 162, 164, 166 and instructions 152, 154, 156. Each of devices 102, 104, 106 may also display 172, 174, 176 and user input 182, 184, 186.
Memory 142, 144, 146 of devices 102, 104, 106 may store information that is accessible by processor 132, 134, 136. Memory 142, 144, 146 may also include data that can be retrieved, manipulated or stored by the processor 132, 134, 136. The memory 142, 144, 146 may be of any non-transitory type capable of storing information accessible by the processor 132, 134, 136, including a non-transitory computer-readable medium, or other medium that stores data that may be read with the aid of an electronic device, such as a hard-drive, memory card, read-only memory (“ROM”), random access memory (“RAM”), optical disks, as well as other write-capable and read-only memories. Memory 142, 144, 146 may store information that is accessible by the processors 132, 134, 136, including instructions 152, 154, 156 that may be executed by processors 132, 134, 136, and data 162, 164, 166.
Data 162, 164, 166 may be retrieved, stored or modified by processors 132, 134, 136 in accordance with instructions 152, 154, 156. For instance, although the present disclosure is not limited by a particular data structure, the data 162, 164, 166 may be stored in computer registers, in a relational database as a table having a plurality of different fields and records, XML documents, or flat files. The data 162, 164, 166 may also be formatted in a computer-readable format such as, but not limited to, binary values, ASCII or Unicode. By further way of example only, the data 162, 164, 166 may comprise information sufficient to identify the relevant information, such as numbers, descriptive text, proprietary codes, pointers, references to data stored in other memories (including other network locations) or information that is used by a function to calculate the relevant data.
The instructions 152, 154, 156 can be any set of instructions to be executed directly, such as machine code, or indirectly, such as scripts, by the processor 132, 134, 136. In that regard, the terms “instructions,” “application,” “steps,” and “programs” can be used interchangeably herein. The instructions can be stored in object code format for direct processing by the processor, or in any other computing device language including scripts or collections of independent source code modules that are interpreted on demand or compiled in advance. Functions, methods and routines of the instructions are explained in more detail below.
The one or more processors 132, 134, 136 may include any conventional processors, such as a commercially available CPU or microprocessor. Alternatively, the processor can be a dedicated component such as an ASIC or other hardware-based processor. Although not necessary, computing devices 102, 104, 106 may include specialized hardware components to perform specific computing functions faster or more efficiently.
Although
Display 172, 174, 176 and other displays described herein may be any type of display, such as a monitor having a screen, a touch-screen, a projector, or a television. The display 172, 174, 176 of the one or more computing devices 102, 104, 106 may electronically display information to a user via a graphical user interface (“GUI”) or other types of user interfaces. For example, as will be discussed below, display 172, 174, 176 may electronically display a map interface with turn-by-turn directions between two geographic locations, corresponding road segments, and waypoints to maximize the overall probability of finding an open parking spot when searching in a predefined area surrounding the final geographic location.
The user inputs 182, 184, 186 may be a mouse, keyboard, touch-screen, microphone, or any other type of input.
The devices 102, 104, 106 can be at various nodes of a network 120 and capable of directly and indirectly communicating with other nodes of network 120. Although three (3) computing devices are depicted in
In one example, system 100 may include one or more server computing devices having a plurality of computing devices, e.g., a load balanced server farm, that exchange information with different nodes of a network for the purpose of receiving, processing and transmitting the data to and from other computing devices. For instance, one or more server computing devices 130 may be a web server that is capable of communicating with the one or more client computing devices 102, 104, 106 via the network 120. In addition, server computing device 130 may use network 120 to transmit and present information to a user of one of the other computing devices 102, 104, 106. Server computing device 130 may include one or more processors, memory, instructions, and data. These components operate in the same or similar fashion as those described above with respect to computing devices 102, 104, 106.
As shown in
Although the client computing devices may each comprise a full-sized personal computing device, they may alternatively comprise mobile computing devices capable of wirelessly exchanging data with a server over a network such as the Internet. By way of example only, devices 102, 104, and 106 may be mobile phones or devices such as a wireless-enabled PDA, smartphones, a tablet PC, a wearable computing device (e.g., a smartwatch, AR/VR headset, smart helmet, etc.), or a netbook that is capable of obtaining information via the Internet or other networks.
Storage system 140 may store various types of information. For instance, the storage system 140 may store data or information related to POIs for retrieval in response to a search for an event. As used herein, POIs may include any location, or destination, that a user can visit, such as a park, green space, restaurant, theater venue, amusement park, shopping center, etc. The POI information may include, for example, contact information, hours of operation, ratings, etc. associated with the POI. The POI information may further include event information for one or more events that were held or that are scheduled to be held at a future time at the POI. Such event information may include, by way of example and not limitation, grand opening, sales, promotions, entertainment events such as music, theatre performances, comedy shows, or the like, sporting events, festivals, parades, garage/estate sales, art/museum exhibits, limited-time menu offerings, etc.
In the example shown, the screenshot 200 includes a plurality of request buttons 204, 210 through which commands can be received to perform a particular action. By way of example, “directions” request button 204, when selected, may cause a prompt to appear seeking input of a starting point such that driving, walking, public transportation, or other directions to the geographic region can be generated from the starting point. Event request button 210, when selected, may cause an indication of temporal events within the geographic region to surface on the map portion 252. Such temporal events may be past events, present events, or future events. According to some examples, discussed further below, particular timeframes for the events may be received as input from a user, and the temporal events are filtered such that only events occurring within the particular timeframes are indicated in the map portion 252.
According to some examples, the temporal events may be filtered, such as to provide only particular types of temporal events specified in a request from the user. In the example shown, a pre-populated menu may be displayed offering options for selection. Such options may include, for example, event type and sub-type. For example, the pre-populated menu can be a hierarchical drop-down menu as shown in
When a type is selected from the main menu 212, such as selection of live entertainment, a sub-menu 214 may be displayed providing a variety of sub-types that correspond to the selected type. For example, for the main type of live entertainment, the sub-types in sub-menu 214 may include music, theatre, comedy, or other. According to some examples, even further refinement is possible. For example, a selection of music may cause a further sub-menu to be displayed indicating various types of music, such as rock, pop, classical, jazz, opera, etc. While the pre-populated menu in this example is a hierarchical drop-down list, it should be understood that any of a variety of other menu formats are possible. For example, the menu may include a collection of icons, text bubbles, etc.
Results for the event search may be displayed in the map portion 252. The results may be indicated in any of a variety of forms. In the example of
The information boxes 242, 244, 246 may display any of a variety of types of information. As shown, the information boxes 242, 244, 246 display a type of music, a name of the performer, a time of the performance, and a location of the performance According to other examples, more or less information may be displayed.
The additional information displayed in detailed information box 342 may include additional venue information. For example, the additional venue information can include a capacity, remaining availability, an actual or predicted busyness level for the event, links to a website or reservation system for the venue, description of the venue, such as ambiance, décor, noise level, vibe, etc., or any of a variety of other information. The capacity may indicate a number of people that the venue can accommodate. Such information may give the user a sense of how crowded the venue will be for the event. Some users may feel less comfortable around large crowds, for example, and prefer smaller venues. The remaining availability and busyness level for the event may provide similar indications regarding how crowded the event will be. Due to this, improved safety information is provided as part of the search results as the user is informed how busy the venue or area is. The remaining availability information, for example, may provide an indication of whether the event will be near a maximum capacity for the venue or whether many tickets will remain unsold. It additionally provides an indication to the user of timing to act to secure admission to the event. For example, if hundreds of seats remain available for a concert, the user likely has more time to act as compared to a situation where only a few seats remain available. The busyness information may indicate how many people were or will be at the event. The busyness information can be illustrated using a picture captured at the venue, using a graph illustrating levels of busyness for the venue at various times, or by any other mechanism.
According to some examples, the type of information displayed in the information boxes 342, 244, 246 may correspond to parameters specific to the search. For example, for a search for a live performance, venue information such as capacity, remaining availability, admission protocols such as minimum age requirements, dress codes, or other such information may be pertinent to display. In contrast, for other types of events, such as an outdoor pop-up market, other types of information, such as a types of goods sold, may be more relevant and therefore may be displayed.
The information boxes illustrated in
Information used for surfacing the events, such as the garage sales of
While in this example of using the free-text event search field 406 the event searched was a garage sale, in other examples, the search field 406 can accommodate any of a variety of types of events, such as sales or promotions at businesses, sporting events, local celebrations or festivals, art exhibits, performances, etc. According to some examples, the type of information displayed with the search results may be determined based on the type of event searched or parameters for the search. For example, for the garage sale example of
As shown in this example, metric information 535 may be displayed with the results. The metric information 535 may indicate, for example, a number of results matching the type of event, geographic location, and timeframe included in the search request. In other examples, the metric information 535 may include other types of information, such as a frequency of occurrence of events, most popular events based on measured or expected busyness levels, or any other type of metric.
According to some examples, a refinement icon 520 may be displayed prompting further refinement of search results. Such refinement icon 520 may be displayed each time results are displayed, or only when a number or density of search results is greater than a threshold value. While the refinement icon 520 is illustrated as a drop-down menu, it can be any other type of menu or open search field. By providing the refinement icon 520 only when the number of density of search results is greater than a threshold value, screen space is more efficiently used as the refinement icon 520 is not shown unnecessarily.
Selection of such discrete values for the temporal events can allow for visualization of metrics. As one example, someone considering opening a venue to specialize in hosting wedding ceremonies and banquets may want to see how many such events take place in a month in their neighborhood/town. Thus, they may start by measuring the businesses in the area in terms of wedding event traffic as a sum over all such events. For each business, B_i, a sum over all events V associated with the event semantic concept, or knowledge graph subroot, can be calculated as:
E_k:S_{B_i,E_k}=Sum(C_v(B_i,E_k))
for all B_i's, where C(B_i, E_k) is the count of events of type E_k at B_i.
In some cases, users may be interested in knowing the event hours and thus compute:
D_{B_i,E_k}=Sum(D_v(B_i,E_k))
where D_v measures the duration in hours of the event v of type E_k at business B_i, and the sum is over all events V at B_i.
Furthermore, for each neighborhood N_x, the semantics of that neighborhood can be measured by aggregating across all businesses B_i in that neighborhood using the following computation:
D_{E_k}=Sum_{i=1 . . . n}(D_{B_i,E_k})
Having measurements at this level allows helps businesses plan their services or the opening of new business locations and helps users search for destinations and areas that are more likely to fit their wants and interests. For instance, if a customer is looking for more yoga class options in an area A, then all neighborhoods N contained in A can be ranked for the semantic characteristics of being popular for yoga. Given the temporal nature of events, different neighborhood semantics can be measured at different times of the day. For example a neighborhood might have totally different semantics in the morning as compared with late night. In this way, more relevant user recommendations can be served.
This semantic understanding of each area and neighborhood is a valuable signal for the businesses themselves. As new semantic information becomes available about the kinds of events that are typical for a neighborhood, it gives existing businesses an avenue for understanding the kinds of customers that frequent the area or identify potential customer needs that may go unaddressed. This new understanding also gives rise to additional advertising streams.
As shown in the present example, the user profile may include one or more restrictions that may be used to filter search results for event searches submitted by the user. For example, as shown, User A specified that event search results should be limited to venues hosting 500 people or less and events with prices of 150 or less. In this regard, each time User A submits an event search request, any events having parameters outside these restrictions may be filtered from the search results. In addition to providing an improved user experience that is tailored to the user's preferences and requires less user effort to look through results, this provides for reduced network resources in that fewer results are displayed, thereby conserving power and bandwidth, and fewer follow-up searches are required to arrive at the user's desired view, thereby resulting in additional conservation of power and bandwidth. While the restrictions in this example relate to price and capacity, it should be understood that additional or fewer filters may be applied.
As shown in the present example, alerts can also be set up by the user, such that a predetermined action can be automatically taken in response to detection of a specified event. By way of example, the User A can set up an automatic alert when Band X is scheduled to perform within a predetermined distance of a selected location, in this example 50 miles of New York City. The predetermined responsive action in this example includes sending a notification to the User A, such as a text message, push notification, or the like. The predetermined responsive action further includes automatically reserving a seat at the performance that meets the set parameters. For example, the map application through which the user's profile is set can be integrated with ticketing services for events, such that tickets can be automatically purchased when particular search criteria are met.
In block 1010, a request is received for information associated with a particular geographic area and a particular time. For example, the request may specify a particular town, street, city, state, country, postal code, coordinates, landmark, or any other information that may be used to identify a geographic region. The particular time may be explicitly input or may be implicit. For example, an implicit time may be inferred based on search parameters, user profile information, or any other information. For example, a search for “dinner specials near me” submitted at approximately 4 PM on a given day may be used to infer that the timeframe for the search should include hours approximately dinner time on the given day or future dates. Explicit times may be input via any mechanism, such as free text, selection of discrete values in a menu, adjustment of a sliding timeline, etc.
In block 1020, events having occurred, or scheduled to occur, within the geographic region during the particular time are identified. For example, search parameters from the request may be applied to a database of temporal events, and events meeting the criteria may be selected.
In block 1030, venue information associated with the events may be identified. Such venue information may include, for example, an event site, such as a name, address, and imagery of the event site. In some examples, such venue information may include additional details, such as a size of the venue, e.g., based on maximum seating capacity, square footage, or other indicia, an availability to attend the event, e.g., a number of tickets remaining, an ambiance of the venue, e.g., whether it is upscale, casual, lively, quiet, historical, modern, etc., or any other indicia.
In block 1040, prior to displaying the search results, the identified events may be filtered to produced a reduced subset of events for display. For example, the events may be filtered based on explicit or implicit search criteria. In other examples, the events may be filtered based on explicit or implicit user preferences. In some examples, the events may be filtered based on additional search criteria submitted by the user, such as through one or more prompts. By filtering the events based on user preferences, events that are less relevant or irrelevant to the user are prevented from being displayed. In an example, the user preferences are predefined explicitly by the user, and as such the events that are objectively less or not relevant to the user are prevented from display. As this is objective based on the user's predefined preferences, the filtered search results are objectively more relevant and improved as less relevant results are omitted from the search results. Not only does this improve the search results, but also a more efficient use of display space is provided as the less relevant results are not displayed.
In block 1050, the reduced subset of events may be provided for display in association with venue information and in relation to the geographic area. For example, the events may be displayed on a map, each event positioned on a portion of the map that corresponds to a location of the venue. According to some examples, additional venue information may be displayed, for example depending on search parameters or user interaction with an initial set of results. According to further examples, the information displayed with the results may be selected based on the search criteria. For example, searches for a first type of event may results in display of a first type of information, while searches for a second type of event may results in display of a second type of information. According to other examples, specification of criteria, such as search restrictions, in a user profile may cause information specific to those restrictions to be displayed with the results.
Providing for searching and displaying of temporal events as described above is beneficial in that it provides pertinent information to businesses and individual users in a computationally efficient manner. In particular, rather than requiring a user to search for locations, and then visit websites for each location to determine events happening at a particular time, the user can search for all events occurring in a particular area. In this manner, the user is automatically shown those events that are occurring in the relevant time frame as part of the search results, providing a dynamic and relevant search. By reducing the number of sites needed to visit for such information, computing resources such as bandwidth, power, and other network resources are conserved. Moreover, the system and method provided herein provide for applying specific filters that may be implicit or explicitly set by the user. By filtering the results prior to display, and thereby reducing the number of less pertinent results displayed, additional computing resources are conserved as only the filtered results need be rendered and displayed on a user device. Even further, according to some examples the type of information displayed with the results may be automatically selected based on the search criteria. By automatically selecting and displaying only the more pertinent information for each particular search, additional computing resources are conserved.
Unless otherwise stated, the foregoing alternative examples are not mutually exclusive, but may be implemented in various combinations to achieve unique advantages. As these and other variations and combinations of the features discussed above can be utilized without departing from the subject matter defined by the claims, the foregoing description of the embodiments should be taken by way of illustration rather than by way of limitation of the subject matter defined by the claims. In addition, the provision of the examples described herein, as well as clauses phrased as “such as,” “including” and the like, should not be interpreted as limiting the subject matter of the claims to the specific examples; rather, the examples are intended to illustrate only one of many possible embodiments. Further, the same reference numbers in different drawings can identify the same or similar elements.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2022/021916 | 3/25/2022 | WO |