The present invention relates to the field of Internet applications. In particular, the present invention relates to a method and system for locating events in-context.
Therefore, there is a need for a method and system that can assist the user in locating events in accordance with the context of the request received.
The present invention relates to a method and computer program product for locating events in-context over the Internet. In one embodiment, the method includes receiving a document from a user, wherein the document comprises one or more attributes, analyzing the one or more attributes of the document in accordance with a set of contextual information to generate one or more search terms, searching for events related to the one or more attributes of the document using the one or more search terms, and presenting the events to the user.
The aforementioned features and advantages of the invention, as well as additional features and advantages thereof, will be more clearly understandable after reading detailed descriptions of embodiments of the invention in conjunction with the following drawings.
Like numbers are used throughout the figures.
Method and system are provided for locating events in-context. The following descriptions are presented to enable any person skilled in the art to make and use the invention. Descriptions of specific embodiments and applications are provided only as examples. Various modifications and combinations of the examples described herein will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other examples and applications without departing from the spirit and scope of the invention. Thus, the present invention is not intended to be limited to the examples described and shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Some portions of the detailed description that follows are presented in terms of flowcharts, logic blocks, and other symbolic representations of operations on information that can be performed on a computer system. A procedure, computer-executed step, logic block, process, etc., is here conceived to be a self-consistent sequence of one or more steps or instructions leading to a desired result. The steps are those utilizing physical manipulations of physical quantities. These quantities can take the form of electrical, magnetic, or radio signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. These signals may be referred to at times as bits, values, elements, symbols, characters, terms, numbers, or the like. Each step may be performed by hardware, software, firmware, or combinations thereof.
In this example, the user highlights the location (San Francisco) and the date (October 1st). In other implementations, attributes contained in the document (the email message in this case) may be extracted automatically. With such attributes and the corresponding contextual information, a query is preformed against a database of events, sorted by location, dates, genres, etc. Note that this query may be rather complex, such as giving the user the options of watching a movie on October 1st or seeing Broadway show during the weekend while she is in San Francisco. In one approach, the contextual event locator may conduct an analysis of what the user is viewing and extract contextual information such as who, where, what, when, how, duration, author, creator and other useful contextual information. With such extracted contextual information, the contextual event locator is able to present information in context regarding all the events that matched San Francisco and that date. Compared to the conventional method that requires the user to go to a search site and conduct a manual search, the contextual event locator removes such manual steps and presents the user with a range of choices of events in response to the user simply highlighting a portion of the message. The user may then continue to narrow the choices by selecting an event of interest. Note that the message received from the user may be in any format, such as text, map, calendar, image, graphics, URL, audio, or video. In addition, the contextual information may include when, who, where, and what derived from the email message. The contextual information may further include information about the sender and receiver of the email message, for example, the types of events they have seen together in the past, the types of DVD movies or books the sender and receiver have purchased, etc.
As shown in
Alternatively, the servers 502 may include the databases, processors, switches, routers, interfaces, and other components and modules. Each of the servers 502 may comprise one or more servers, or may be combined into a fewer number of servers than shown, depending on computational and/or distributed computing requirements. The servers 502 may be located at different locations relative to each other. The databases may also be separately connected to the servers 502. There may be more or fewer than two databases, depending on computational and/or distributed computing requirements. The databases may be located at different locations relative to each other and the servers 502.
Each of the clients 504 may be a general-purpose computer, such as a personal computer, having a central processing unit (CPU), a memory, an input device, an output device, and a display. Other computer system configurations, including Internet appliances, hand-held devices, wireless devices, portable devices, wearable computers, cellular or mobile phones, portable digital assistants (PDAs), multi-processor systems, microprocessor-based or programmable consumer electronics, set-top boxes, network PCs, mini-computers, and the like may also be implemented as the clients 504. Each of the clients 504 may also implement analog and digital baseband circuitry, power management circuitry, a radio frequency (RF) transceiver, and battery interface and charging circuitry. Clients 504 may include one or more applications, program modules, and/or sub-routines. As an example, clients 504 may include a browser application (e.g., Internet Explorer, etc.) and a graphical user interface (GUI) to access websites and web pages provided by the servers 502 and data stored at the databases. Clients 504 may be remote from each other, the servers 502, and/or the databases.
The network 503 is a communications network, such as a local area network (LAN), a wide area network (WAN), or the Internet. When the network 503 is a public network, security features (e.g., VPN/SSL secure transport) may be included to ensure authorized access within the system.
The servers 502 further include a plurality of individual domains, for example, Maps domain 506, Search domain 508, Local/Directory domain 510, News domain 512, and other domains. A domain is a computer system implemented with different hardware and software for a specific application, such as the maps application, news application, and search application. The contextual event locator may reside inside the Yahoo Local or Yahoo! Directory domains according to an embodiment of the present invention. The contextual event locator may analyze and search the large repository of event information in the Yahoo! Local and Yahoo! Directory in order to find the in-context events for the user. The contextual event locator applications of the present invention may be implemented in the Local/Directory domain 510, which implements Web 2.0 functionalities using a combination of HTML, CSS, JavaScript, and “Asynchronous JavaScript and XML” (AJAX). In particular, JavaScript is used to create, monitor, change, and destroy objects and change the state of the various objects, in addition to keeping track of browser behavior changes initiated by the user. In other embodiments, the contextual event locator may be implemented as a plug-in of an application, as an XML application, or as an embedded application of the operating system.
It will be appreciated that the above description for clarity has described embodiments of the invention with reference to different functional units and processors. However, it will be apparent that any suitable distribution of functionality between different functional units or processors may be used without detracting from the invention. For example, functionality illustrated to be performed by separate processors or controllers may be performed by the same processors or controllers. Hence, references to specific functional units are to be seen as references to suitable means for providing the described functionality rather than indicative of a strict logical or physical structure or organization.
The invention can be implemented in any suitable form, including hardware, software, firmware, or any combination of these. The invention may optionally be implemented partly as computer software running on one or more data processors and/or digital signal processors. The elements and components of an embodiment of the invention may be physically, functionally, and logically implemented in any suitable way. Indeed, the functionality may be implemented in a single unit, in a plurality of units, or as part of other functional units. As such, the invention may be implemented in a single unit or may be physically and functionally distributed between different units and processors.
One skilled in the relevant art will recognize that many possible modifications and combinations of the disclosed embodiments may be used, while still employing the same basic underlying mechanisms and methodologies. The foregoing description, for purposes of explanation, has been written with references to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described to explain the principles of the invention and their practical applications, and to enable others skilled in the art to best utilize the invention and various embodiments with various modifications as suited to the particular use contemplated.
Number | Name | Date | Kind |
---|---|---|---|
5889993 | Kroeger et al. | Mar 1999 | A |
5948040 | DeLorme et al. | Sep 1999 | A |
6025932 | Imanaka | Feb 2000 | A |
6604079 | Ruvolo et al. | Aug 2003 | B1 |
6691032 | Irish et al. | Feb 2004 | B1 |
6839719 | Wallace | Jan 2005 | B2 |
6917926 | Chen et al. | Jul 2005 | B2 |
6931647 | Firth et al. | Aug 2005 | B1 |
6968509 | Chang et al. | Nov 2005 | B1 |
7138913 | Mackenzie et al. | Nov 2006 | B2 |
7254569 | Goodman et al. | Aug 2007 | B2 |
7281008 | Lawrence et al. | Oct 2007 | B1 |
7346556 | Upendran et al. | Mar 2008 | B2 |
7379889 | Ratzlaff et al. | May 2008 | B2 |
7398268 | Kim et al. | Jul 2008 | B2 |
7437353 | Marmaros et al. | Oct 2008 | B2 |
7441194 | Vronay et al. | Oct 2008 | B2 |
7467232 | Fish et al. | Dec 2008 | B2 |
7516092 | Upendran et al. | Apr 2009 | B2 |
7519566 | Prigogin et al. | Apr 2009 | B2 |
7539747 | Lucovsky et al. | May 2009 | B2 |
7548932 | Horvitz et al. | Jun 2009 | B2 |
7558925 | Bouchard et al. | Jul 2009 | B2 |
7596571 | Sifry | Sep 2009 | B2 |
7685202 | Kasahara et al. | Mar 2010 | B2 |
7801782 | DeAddio et al. | Sep 2010 | B2 |
20010049617 | Berenson et al. | Dec 2001 | A1 |
20020194388 | Boloker et al. | Dec 2002 | A1 |
20030200192 | Bell et al. | Oct 2003 | A1 |
20040199498 | Kapur et al. | Oct 2004 | A1 |
20050021485 | Nodelman et al. | Jan 2005 | A1 |
20050044066 | Hooper et al. | Feb 2005 | A1 |
20050049933 | Upendran et al. | Mar 2005 | A1 |
20050108233 | Metsatahti et al. | May 2005 | A1 |
20050149858 | Stern et al. | Jul 2005 | A1 |
20050240596 | Worthen et al. | Oct 2005 | A1 |
20050273702 | Trabucco | Dec 2005 | A1 |
20060000900 | Fernandes et al. | Jan 2006 | A1 |
20060179415 | Cadiz et al. | Aug 2006 | A1 |
20060271520 | Ragan | Nov 2006 | A1 |
20060271827 | Cascaval et al. | Nov 2006 | A1 |
20070060112 | Reimer | Mar 2007 | A1 |
20070171046 | Diem | Jul 2007 | A1 |
20070250784 | Riley et al. | Oct 2007 | A1 |
20070260567 | Funge et al. | Nov 2007 | A1 |
20070299631 | Macbeth et al. | Dec 2007 | A1 |
20080033840 | Upendran et al. | Feb 2008 | A1 |
20080059419 | Auerbach et al. | Mar 2008 | A1 |
20080115086 | Rupp et al. | May 2008 | A1 |
20080115149 | Rupp et al. | May 2008 | A1 |
20080120396 | Jayaram et al. | May 2008 | A1 |
20080222170 | Farnham et al. | Sep 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20080154912 A1 | Jun 2008 | US |