HK1138394A - Employing mobile location to refine searches - Google Patents
Employing mobile location to refine searches Download PDFInfo
- Publication number
- HK1138394A HK1138394A HK10104158.8A HK10104158A HK1138394A HK 1138394 A HK1138394 A HK 1138394A HK 10104158 A HK10104158 A HK 10104158A HK 1138394 A HK1138394 A HK 1138394A
- Authority
- HK
- Hong Kong
- Prior art keywords
- location
- search
- search query
- modifier
- physical location
- Prior art date
Links
Description
Cross Reference to Related Applications
This application claims the benefit of U.S. patent application No. 11/620,619, filed on 5/1/2007, which is incorporated herein by reference in its entirety.
Technical Field
The present invention relates generally to search queries over a network, and more particularly, but not exclusively, to refining searches with mobile devices by using location information to modify basic search query terms.
Background
Tremendous changes have occurred in the internet which have affected our daily lives. For example, mobile computing devices are becoming more and more prevalent in today's society. Many mobile computing devices, such as personal digital assistants, cellular telephones, and the like, may be used to communicate voice messages, electronic mail, text messages, and the like, as well as search for information over the internet. It is not uncommon to see someone using their mobile device to search for merchants, restaurants, music, businesses, etc. on a bus, train, or even boat.
However, performing a search query for user-related information is still cumbersome. Often, a user may have to perform several search queries to obtain relevant search results. Irrelevant search results mean that the likelihood that they will find when the user is looking for is reduced, which in turn can be interpreted as a loss of business opportunity or other business to the merchant that benefits the user. Thus, many businesses are looking for new ways to make search results more relevant to users. Accordingly, the present invention has been made in view of these considerations and others.
Drawings
The following figures describe non-limiting and non-exhaustive embodiments of the invention. Like reference numerals refer to like parts throughout the drawings unless otherwise specified.
For a better understanding of the present invention, reference is made to the following detailed description, taken in conjunction with the accompanying drawings, in which:
FIG. 1 is a system diagram of one embodiment of an environment in which the present invention may be practiced;
FIG. 2 illustrates one embodiment of a mobile device that may be included in a system implementing the invention;
FIG. 3 illustrates one embodiment of a network device that may be included in a system implementing the invention;
FIG. 4 illustrates a logical flow diagram generally showing one embodiment of a process for refining a search query using location information; and is
FIG. 5 illustrates a logical flow diagram generally showing one embodiment of a process for determining location information for use in refining a search in accordance with the present invention.
Detailed Description
The present invention now will be described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific embodiments in which the invention may be practiced. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Among other things, the present invention may be embodied as methods or devices. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. The following detailed description is, therefore, not to be taken in a limiting sense.
Throughout the specification and claims, the following terms have the meanings explicitly associated herein, unless the context clearly dictates otherwise. The phrase "in one embodiment" as used herein does not necessarily refer to the same embodiment, although it may. Moreover, the phrase "in another embodiment" as used herein does not necessarily refer to a different embodiment, although it may. Thus, as described below, the various embodiments of the invention may be readily combined without departing from the scope or spirit of the invention.
Furthermore, the term "or" as used herein is an inclusive "or" operator (operator) and is equivalent to the term "and/or," unless the context clearly dictates otherwise. The term "based on" is non-exclusive and allows for being based on additional factors not described, unless the context clearly dictates otherwise. Furthermore, throughout the specification, the meaning of "a", "an" and "the" includes plural references. The meaning of "in.
The term "social network" as used herein refers to the concept of: personal networks of personal friends, family members, collaborators, and subsequent connections within these networks may be used to find more relevant connections to conduct various activities including, but not limited to, dating, job networking, service referrals, content sharing, like-minded individuals, activity partners, and so forth.
Online social networks typically include a collection of individuals with direct and/or indirect personal relationships that include real and virtual privileges and permissions that users may associate with the individuals. Direct personal relationships typically include relationships with people with whom the user can communicate directly, including family members, friends, colleagues, collaborators, and others, with whom the person has had some form of direct contact, such as in person, by telephone, by email, by instant message, by letter, and so forth. These direct personal relationships are sometimes referred to as first-degree relationships. The first degree relationship may have various degrees of closeness, trust, and other characteristics.
Indirect personal relationships typically include relationships with people through first degree relationships that the person has not had some form of direct or limited direct contact with the people, such as being cc'd on an email message. For example, a friend of a friend represents an indirect personal relationship. A more extended indirect relationship may be a friend of a friend. These indirect relationships are sometimes characterized by the degree of separation between people. For example, a friend of a friend may be described as a two degree of separation (two degree of separation) or a second-degree relationship. Similarly, a friend of a friend can be described as a three degree of separation (three degree of separation) or a third degree (third-degree) relationship.
Social networking information refers to a variety of information related to communications between a member and other members in a social network, including, but not limited to, emails, Short Message Service (SMS) messages, Instant Messaging (IM) messages, Multimedia Message (MMS) messages, alerts, audio messages, phone calls, and the like, received or sent by the member. Such social networking information may also be obtained from the member's address book, buddy list, or similar source.
Briefly, the present invention relates to refining mobile device search results using location modifiers. Information about the mobile device user may be collected, including the current physical location, the user's default physical location, information from the user's address book, networking behavior, separation data, or other social networking information. A user of a mobile device may enter a search query into a search application. The search query may be parsed into at least one base search term and, possibly, a position modifier. If a location modifier is included, it can be used to modify the search for the base search term by refining the physical location at which the search can be performed. Various types of location modifiers may be used, including user-specific modifiers, or user-specific modifiers that use social networking information to refine a search query. Location substring modifiers may also be used to refine search queries by using hierarchical social networking information and/or location data. In one embodiment, where no location modifier is included within the search query, a current or default location of the mobile device may be used. Further, the results of the search query may be organized into clusters (or groupings) by classification, and if the current location of the mobile device is within a default location, the results may be displayed in an expanded version (expanded version) of the cluster (or grouping); otherwise, the result may be displayed as a contracted cluster (or grouping) showing only the classifications.
Exemplary operating Environment
FIG. 1 illustrates the components of one embodiment of an environment in which the invention may be practiced. Not all of the components may be required to practice the invention, and variations in the arrangement and type of the components may be made without departing from the spirit or scope of the invention. As shown, the system 100 of FIG. 1 includes a local area network ("LAN")/wide area network ("WAN") - (network) 105, a wireless network 110, a Search Refiner Server (SRS)106, a mobile device (client device) 102, a client device 101, and a content server 107.
One embodiment of the mobile device 102 and 103 is described in more detail below in conjunction with fig. 2. In general, however, the mobile device 102 and 104 may include virtually any portable computing device capable of receiving and sending messages over a network, such as the network 105, the wireless network 110, and so forth. The mobile device 102 and 104 may also be generally described as a client device configured to be portable. Thus, the mobile device 102 and 104 may include virtually any portable computing device capable of connecting to another computing device and receiving information. Such devices include portable devices such as cellular telephones, smart phones, display pagers, Radio Frequency (RF) devices, Infrared (IR) devices, Personal Digital Assistants (PDAs), handheld computers, laptop computers, wearable computers, tablet computers, integrated devices combining one or more of the preceding devices, and the like. As such, the mobile device 102 and 104 typically vary widely in terms of capabilities and features. For example, a cellular telephone may have a numeric keypad and a few lines of monochrome LCD display on which only text may be displayed. In another example, a web-enabled mobile device may have a touch sensitive screen, a stylus (stylus), and several lines of color LCD display where both text and graphics may be displayed.
A web-enabled mobile device can include a browser application configured to receive and transmit web pages, web-based messages, and the like. The browser application may be configured to receive and display graphics, text, multimedia, etc., and the browser application may use virtually any web-based language, including wireless application protocol messages (WAP), etc. In one embodiment, the browser application can use Handheld Device Markup Language (HDML), Wireless Markup Language (WML), WMLScript, JavaScript, standard generalized markup language (SMGL), hypertext markup language (HTML), extensible markup language (XML), and the like, to display and send messages. In one embodiment, a user of a mobile device may use a browser application to perform a search over a network. However, another application may also be used to perform the search over the network.
The mobile device 102 may also include at least one other client application configured to receive content from another computing device. The client application may include the ability to provide and receive textual content, graphical content, audio content, and the like. The client application may also provide information identifying itself, including type, capabilities, name, and the like. In one embodiment, the mobile devices 102 and 104 may uniquely identify themselves through any of a variety of mechanisms, including a telephone number, Mobile Identification Number (MIN), Electronic Serial Number (ESN), or other mobile device identifier. The information may also indicate content formats that the mobile device can use. Such information can be provided in a message or the like sent to the SRS106, the client device 101, or other computing device.
In one embodiment, the mobile device 102 and 104 may also provide the current physical location to another computing device. In one embodiment, the mobile device 102 and 104 may provide current physical location information in terms of latitude and longitude, among other things. However, the mobile device 102 and 104 may also provide other information that may be used to determine the current physical location of the device, including, for example, a MAC address, an IP address, and the like. Such location information may be provided in a separate message, sent as part of another message, or even provided as a combination of the above. In one embodiment, the physical location information may be provided as needed or based on time periods, events, and the like.
The mobile device 102 can also be configured to include a client application that enables an end user to log into an end user account that can be managed by another computing device, such as the SRS 106. For example, such end-user accounts may be configured to enable end-users to receive emails, send/receive IM messages, SMS messages, access selected web pages, participate in social networking activities, perform search queries, and so forth. However, participating in various social networking activities, performing search queries, etc. may also be performed without logging into the end user account.
Client device 101 may include virtually any computing device capable of communicating over a network to send and receive information, including social networking information, performing search queries, and the like. The client device 101 may also include client applications, such as those described above, as well as client applications configured to provide location information.
The set of such devices may include devices that typically connect using a wired or wireless communications medium such as personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, and the like.
The wireless network 110 is configured to couple the mobile device 102 and its components 104 with the network 105. The wireless network 110 may include any of a variety of wireless sub-networks that may also overlay stand-alone ad-hoc networks, etc. to provide an infrastructure-oriented connection to the mobile device 102 and 104. Such subnetworks may include mesh networks, wireless lan (wlan) networks, cellular networks, and so forth.
Wireless network 110 may also include an autonomous system of terminals, gateways, routers, and the like connected by wireless radio links, and the like. These connectors may be configured to move freely and randomly and organize themselves arbitrarily such that the topology of wireless network 110 may change rapidly.
Wireless network 110 may also use a variety of access technologies including 2(2G), 3(3G) generation cellular system radio access, WLAN, Wireless Router (WR) mesh, and the like. Access technologies such as 2G, 3G, and future access networks may enable wide area coverage for mobile devices such as mobile device 102 and 104 with various degrees of mobility. For example, the wireless network 110 may implement radio connections through radio network access such as global system for mobile communications (GSM), General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), Wideband Code Division Multiple Access (WCDMA), and so on. In essence, the wireless network 110 may include virtually any wireless communication mechanism by which information may travel between the mobile device 102 and 104 and another computing device, network, and the like.
Network 105 is configured to couple SRS106 and its components with other computing devices, including client device 101, and to couple SRS106 and its components to mobile device 102 and 104 via wireless network 110. The network 105 can use any form of computer readable media to communicate information from one electronic device to another. Further, the network 105 may include the internet as well as a Local Area Network (LAN), a Wide Area Network (WAN), a direct connection, such as through a Universal Serial Bus (USB) port, other forms of computer readable media, or any combination thereof. On an interconnected set of LANs, including those based on differing architectures and protocols, a router acts as a link between LANs, enabling messages to be sent from one to another. Further, the communication links within a LAN typically comprise twisted wire pairs or coaxial cables, while the communication links between networks may use analog telephone lines, fully or partially dedicated digital lines (including T1, T2, T3, and T4), Integrated Services Digital Networks (ISDN), Digital Subscriber Lines (DSL), wireless links including satellite links, or other communication links known to those skilled in the art. In addition, remote computers and other related electronic devices can be remotely connected to either LANs or WANs via a modem and temporary telephone link. Essentially, network 105 includes any communication method by which information may travel between SRS106, client device 101, and other computing devices.
In addition, communication media typically embodies computer readable instructions, data structures, program modules or other transport mechanisms and includes any information delivery media. The terms "modulated data signal" and "carrier signal" include the following signals: one or more characteristics of the signal may be set or changed in such a manner as to encode information, instructions, data, and/or the like, in the signal. By way of example, communication media includes wired media such as twisted pair, coaxial cable, fiber optics, wave guides, and other wired media and wireless media such as acoustic, RF, infrared, and other wireless media.
One embodiment of SRS106 is described in more detail below in conjunction with FIG. 3. Briefly, however, SRS106 may comprise any computing device capable of connecting to network 105 in order to enable aggregation and management of social networking information and to receive and execute location-refined search queries.
SRS106 can receive information from various participants in the social network, including information associated with activities, events, messages, communications, address books, buddy lists, and the like. The SRS106 can also receive social networking information from various other sources, including, for example, the content server 107. SRS106 may store at least some of the received information for use in generating a location-refined search query.
SRS106 may be configured to receive a search request. SRS106 may then parse the search query into at least one base search term and zero or more location modifiers. SRS106 may then use the location modifier and/or social networking information to refine the search query. SRS106 may then provide the location-refined search query results to the requesting client device.
Devices that can operate as SRS106 include a variety of network devices including, but not limited to, personal computers, desktop computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, servers, network appliances, and the like.
Although FIG. 1 illustrates SRS106 as a single computing device, the invention is not so limited. For example, one or more functions of SRS106 may be distributed across one or more different computing devices. For example, a search query that manages various social networking activities and/or performs location refinement may be performed by multiple computing devices without departing from the scope or spirit of the present invention.
The content server 107 represents a variety of content and/or content that may be used on the mobile device 102 and 104. Such services include, but are not limited to, web services, third party services, audio services, video services, email services, IM services, SMS services, VOIP services, calendar services, photo services, and the like. The content may include web content, audio content, video content, FTP data, and the like. In addition, information related to content and/or services provided by content server 107 may be used to provide results to search queries.
Devices that may operate as content server 107 include personal computers desktop computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, servers, and the like.
Exemplary Mobile client Environment
FIG. 2 illustrates one embodiment of a mobile device 200 that may be included in a system implementing the invention. Mobile device 200 may include many more or fewer components than those shown in fig. 2. However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention. For example, the mobile device 200 may represent one embodiment of at least one of the mobile devices 102 and 104 of FIG. 1.
As shown, mobile device 200 includes a processing unit (CPU)222 in communication with a mass memory 230 via a bus 224. Mobile device 200 also includes a power supply 226, one or more network interfaces 250, an audio interface 252, a display 254, a key input 256, an illuminator 258, an input/output interface 260, a haptic interface 262, and an optional Global Positioning System (GPS) receiver 264. Power supply 226 provides power to mobile device 200. Rechargeable or non-rechargeable batteries may be used to provide power. Power may also be provided by an external power source, such as an AC adapter or a powered cradle (docking cradle) that supplements and/or recharges the batteries.
Mobile device 200 may optionally communicate with a base station (not shown), or directly with another computing device. Network interface 250 includes circuitry for coupling mobile device 200 to one or more networks and is constructed for use with one or more communication protocols and techniques including, but not limited to, global system for mobile communications (GSM), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), User Datagram Protocol (UDP), transmission control protocol/internet protocol (TCP/IP), SMS, General Packet Radio Service (GPRS), WAP, Ultra Wideband (UWB), IEEE 802.16 worldwide interoperability for microwave access (WiMax), SIP/RTP, or any of a variety of other wireless communication protocols. Network interface 250 is sometimes referred to as a transceiver, transceiving device, or Network Interface Card (NIC).
Audio interface 252 is arranged to generate and receive audio signals such as the sound of a person's voice. For example, audio interface 252 may be coupled to a speaker and microphone (not shown) to enable communication with others and/or generate audio acknowledgements for some actions. Display 254 may be a Liquid Crystal Display (LCD), gas plasma, Light Emitting Diode (LED), or any other type of display used in conjunction with a computing device. Display 254 may also include a touch sensitive screen arranged to receive input from an object such as a stylus or a finger of a human hand.
The key input 256 may comprise any input device arranged to receive input from a user. For example, the key inputs 256 may include a push button numeric dial or a keyboard. The key inputs 256 may also include command buttons associated with selecting and sending images. Illuminator 258 may provide status indications and/or provide light. Illuminator 258 may remain active for specific periods of time or in response to events. For example, when illuminator 258 is active, it may backlight the buttons on key inputs 256 and remain on while the client device is powered on. Further, illuminator 258 may backlight these buttons in various modes when performing certain actions, such as dialing another client device. Illuminator 258 may also cause a light source located within a transparent or translucent housing of the client device to emit light in response to the action.
Mobile device 200 also includes input/output interface 260 for communicating with external devices, such as a headset or other input or output devices not shown in fig. 2. The input/output interface 260 may use one or more communication technologies, such as USB, infrared, BluetoothTMAnd the like. The haptic interface 262 is arranged to provide haptic feedback to a user of the client device. For example, the haptic interface may be used to vibrate mobile device 200 in a particular manner when another user of the computing device is calling.
Optional GPS transceiver 264 can determine the physical coordinates of mobile device 200 on the surface of the earth, which typically outputs a location as latitude and longitude values. GPS transceiver 264 can also use other geolocation mechanisms including, but not limited to, triangulation, Assisted GPS (AGPS), E-OTD, CI, SAI, ETA, BSS, etc. to further determine the physical location of mobile device 200 on the surface of the earth. It is to be appreciated that under different conditions, GPS transceiver 264 can determine the physical location of mobile device 200 within millimeters; and in other cases the determined physical location may be less accurate, such as within meters or significantly greater distances. However, in one embodiment, the mobile device may provide, through other components, other information that may be used to determine the physical location of the device, including, for example, a MAC address, an IP address, and the like.
Mass memory 230 includes RAM 232, ROM 234, and other storage devices. Mass memory 230 illustrates another example of computer storage media for storage of information such as computer readable instructions, data structures, program modules or other data. Mass memory 230 stores a basic input output system ("BIOS") 240 for controlling low-level operations of mobile device 200. The mass memory also stores an operating system 241 for controlling the operation of mobile device 200. It should be appreciated that this component may include a general-purpose operating system (such as UNIX or LINUX)TMVersion), or a dedicated client communication operating system (such as Windows Mobile)TMOrAn operating system). The operating system may include or interface with a Java virtual machine module that implements operations to control hardware components and/or the operating system through Java application programs.
Memory 230 also includes one or more data stores 244, which data stores 244 can be employed by mobile device 200 to store, among other things, applications 242 and/or other data. For example, data storage 244 may also be employed to store information that describes various capabilities of mobile device 200. This information may then be provided to another device based on any of a variety of events, including being sent as part of a header during a communication, being sent upon request, etc. In addition, the data store 244 may also be used to store social networking information, including address books, buddy lists, aliases, and the like. At least part of the social networking information may also be stored on a disk drive or other storage medium (not shown) within mobile device 200.
Applications 242 may include computer-executable instructions that, when executed by mobile device 200, send, receive, and/or otherwise process messages (e.g., SMS, MMS, IM, email, and/or other messages), audio, video, and enable communication with another user of another client device. Other examples of application programs include calendars, search programs, email clients, IM applications, SMS applications, VOIP applications, contact managers, task managers, transcoders (transcoders), database programs, word processing programs, security applications, spreadsheet programs, games, search programs, and so forth. One application shown in the figure is a browser 245.
Browser 245 may include virtually any application configured to receive and display graphics, text, multimedia, etc., using virtually any web-based language. In one embodiment, the browser application can use Handheld Device Markup Language (HDML), Wireless Markup Language (WML), WMLScript, JavaScript, standard generalized markup language (SMGL), hypertext markup language (HTML), extensible markup language (XML), and the like, to display and send messages. However, any of a variety of other web-based languages may be used.
In one embodiment, browser 245 may be configured to enable access to a search application, such as may be made by SRS106 of FIG. 1. In one embodiment, a user of mobile device 200 may enter a variety of search terms into a search application for obtaining search results. Browser 245 may also provide location information or information that may be used in determining its physical location. In one embodiment, such location information may be used to automatically (e.g., transparent to user input) modify the search query.
Exemplary Server Environment
Fig. 3 illustrates one embodiment of a network device according to one embodiment of the present invention. Network device 300 may include many more or fewer components than those shown. However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention. For example, network device 300 may represent SRS106 of fig. 1.
Network device 300 includes a processing unit 312, a video display adapter 314, and a mass memory, all in communication with each other via a bus 322. The mass memory generally includes RAM 316, ROM 332, and one or more permanent mass storage devices, such as hard disk drive 328, tape drive, optical drive, and/or floppy disk drive. The mass memory stores operating system 320 for controlling the operation of network device 300. Any general purpose operating system may be used. A basic input output system ("BIOS") 318 is also provided for controlling the low-level operation of network device 300. As shown in FIG. 3, network device 300 may also communicate with the Internet or some other communication network via network interface unit 310, network interface unit 310 being constructed for use with various communication protocols including the TCP/IP protocol. Network interface unit 310 is sometimes referred to as a transceiver, transceiving means, or Network Interface Card (NIC).
The mass memory as described above illustrates another type of computer-readable media, namely computer storage media. Computer storage media may include volatile, 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. Examples of computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
As shown, User Data Storage (UDS)352 may include databases, text, spreadsheets, folders, files, and the like, and UDS 352 may be configured to maintain and store social networking information, including but not limited to contact information, wherein the contact information includes a contact name and at least one address or physical location associated with the contact name. The contact name may include an alias, a username, and the like. The address may include an email address, IM address, SMS address, telephone number, IP address, or other information that may be used to determine the physical location of the contact name.
In one embodiment, the contact information may be from or within the user's IM friends list, buddy list, address book, email history log, IM conversation log, VOIP store, and the like. However, contact information may also be obtained indirectly by monitoring various interactions of the user. Thus, for example, contact information may be extracted based on content within a message between the user and another member of the social network. For example, in one embodiment, the user and other members may include information about a third person, and so on. In one embodiment, such third person information may also be obtained and stored within the UDS 352. Similarly, various network behaviors of the user or other social networking members may also be obtained, including, for example, web sites visited, types of information searched by the user, types of content downloaded, where the content was downloaded, and so forth. Information that may be used to modify a user's search may also be obtained from another member's social networking contact information. Thus, information of a second degree of separation or higher may also be obtained from other members of the social network and stored within UDS 352. In one embodiment, such information may be arranged and configured into a hierarchical relationship based on, for example, a degree of separation.
In one embodiment, location information based on the user's physical location, account registration information, and the like may also be stored within UDS 352. Such information may indicate that the user resides in a particular city, metropolitan area, town, etc., within a particular country, state, county, etc. In one embodiment, such location information may also be configured and arranged into a hierarchical relationship.
The mass memory also stores program code and data. One or more applications 350 are loaded into mass memory and run on operating system 320. Examples of application programs may include transcoders, schedulers (schedulers), calendars, database programs, word processing programs, HTTP programs, customizable user interface programs, IPSec applications, encryption programs, security programs, SMS message servers, IM message servers, email servers, account managers, and so forth. A Mobile Search Refinement Manager (MSRM)354 may also be included as an application program within application 350.
MSRM354 is configured and arranged to receive a search query from a user, parse the search query into base search term(s), and a location modifier, if provided. Such position modifiers may be explicit (explicit) position modifiers, user-specific position modifiers and/or position sub-string modifiers, etc. Note that in one embodiment, user-specific position modifiers and/or position sub-string modifiers may be considered implicit (implicit) position modifiers, where they may include the following modifiers: the position for these modifiers can be derived from the context.
Explicit location modifiers are those location items that the user has explicitly entered that represent a physical location. Examples of such explicit location modifiers include the names of countries, states, counties, cities, and the like. For example, entering "San Francisco" (San Francisco) as part of a search query results in parsing out the explicit location modifier "San Francisco". The term "location modifier" indicates that a location modifier or the like replaces the default or current physical location of the user's client device. Thus, if the user's client device or registered user account indicates Seattle as a default or current physical location, but the explicit location modifier indicates san Francisco, the search may be modified by the location "san Francisco".
In one embodiment, user-specific location modifiers may refer to those location items that are relevant to social networking aspects of the user, and/or user-specified data items that are associated with a location. Thus, for example, if the user enters the entry "home", the user-specific location modifier may be the physical location of the account address registered by the user, or the like. Similarly, if the user enters the entry "joe" (joe), etc., the user-specific location modifier may be a physical location based on a physical address associated with "joe," which is a contact within the user's social network. Such contacts may be determined based on various criteria including a degree of separation criterion, such as whether "joe" is located within the user's address book, buddy list, or other sources described above. Thus, "joe" can be viewed as an implicit location modifier, where location is derived from the user's social networking context.
User-specific location modifiers may also be used to modify other types of searches. For example, assume that the user has entered "Disney world Paul" (Disneyworld paul). MSRM354 may parse this search query into the basic search term "Disney world" and the user-specific location modifier "Paul". The search query may then be refined by MSRM354 to perform a search for any information related to the Disney world associated with Paul, which may be determined from the user's social network. For example, in one embodiment, paul may be within the user's address book or other contact source. After refining the search query, MSRM354 may search for events, photos or other Disney world topics associated with Paul, Paul's advertised locations, and so on. Thus, as shown, the user-specific location modifier may also include a variety of social networking information, not just physical proximity refinements.
Location substring modifiers refer to those location items that provide a reference to a location within a context, such as a user's default or current location. Thus, for example, if the user's default location is san francisco, then a "convention" (mission) may be a location substring modifier indicating "city of convention". If the user's default location is Seattle, the "professor" may be a location sub-string modifier indicating the physical location associated with a building. Thus, the position sub-string modifiers refine the position from a base position (e.g., a default or current position, etc.). Other examples of location substring modifiers include, but are not limited to, addresses, landmarks, and the like.
In any case, as described above, MSRM354 may parse the received search query into base search term(s) and, if provided, a location modifier. The base search term(s) typically include the following information: to this information, the user may perform a search over the network, and as such may include one or more search terms. In addition, the base search term(s) may also include keywords that may be position-modified, such as by default position modifiers. Thus, for example, MSRM354 may receive keywords such as "today" (today), "NBA" or similar types of keywords. The present invention is not limited to such keywords and any of a variety of other basic search terms may be designated as keywords that generate results for a particular category.
When a location modifier is not present within the received search query, then a default location or current mobile device location may be used to modify the keyword. In one embodiment, the default location may also be the last used location, the last received location, the last user entered location, and so on. In one embodiment, the default location may be a location entered by the user during account registration, client device registration, billing location, mailing address location, or the like.
One example of using a default location is where the user enters a keyword such as "today" and the user's default location is Seattle. The base search term "today" may then be modified to generate a modified search query to find clusters of results based on Seattle-today events, and so on. However, the present invention is not limited thereto, and the current location of the user's client device may also be used.
In one embodiment, MSRM354 may be further configured and arranged to enable clustering of search results. Further, in one embodiment, MSRM354 may expand or shrink the clustered results based on the current location of the user. Thus, for example, in one embodiment, the clustered results may be collapsed when it is determined that the user is in a location other than a default location (such as a visitor to another city, etc.). If it is determined that the user is currently within the user's default location, the clustered results may be expanded. However, the present invention is not so limited. For example, in another embodiment, the expansion or contraction of clustered results may be reversed from that described above, or always expanded, or even always contracted, without departing from the scope of the invention.
In another embodiment, MSRM354 may determine whether the results of the search query are empty or insufficient based on various criteria including the number of search results, etc. In this embodiment, MSRM354 may modify the location information to expand the search modifier location. In one embodiment, MSRM354 may build the location information into a hierarchy, tree, or the like, which may then be used to modify the location modifiers. Thus, for example, where the location modifier is currently a particular town, MSRM354 may grab (crawl) a hierarchy of location information for neighboring towns, counties, or other relevant locations that may provide more search results. In one embodiment, MSRM354 may use processes substantially similar to those described below in conjunction with FIGS. 4-5 to perform at least some of its actions.
Further, while shown within network device 300, it is to be understood that MSRM354, UDS 352, etc. can also be located within a different network device, network appliance, etc.
General operation
The operation of certain aspects of the present invention will now be described in relation to fig. 4-5. FIG. 4 illustrates a logical flow diagram generally showing one embodiment of a process for refining a mobile search query using location modifiers. In one embodiment, process 400 of FIG. 4 may be used within MSRM354 of FIG. 3.
Process 400 begins at block 402 after a start block in which a user's search query is received over a network. In one embodiment, a user's search query is received while the user is using a mobile device. However, the present invention is not limited thereto. For example, the present invention may also be used for search queries executed with non-mobile client devices, such as client device 101 of FIG. 1.
In any event, processing next flows to block 404, where the physical location of the user's client device is determined. In one embodiment, the physical location may be determined based on a message or other communication received from a client device of the user. In another embodiment, another device may provide the location of the user's client device.
Process 400 then flows to block 406, which block 406 is described in more detail below in conjunction with FIG. 5. Briefly, however, at block 406, the received search query is parsed into at least one base term and one or more location modifiers (if provided). In one embodiment, as shown in FIG. 5, if no location modifier is provided, a default or current location may be provided for use in refining the search query. Thus, in one embodiment, a location modifier is always available to refine a search query whether the location modifier is explicitly provided, implicitly provided, or a default or current location.
Processing next continues to block 408 where the position modifier is used to refine the search query. Processing flows to block 410 where the modified search query is used to perform a search. Any of a variety of search applications may be used to perform a search for results, and thus, the present invention is not constrained by the search applications. Thus, in one embodiment, a search application may be configured and arranged to use location information explicitly provided within the same string of search terms. In another embodiment, the location information may be provided to the search application within "must have" or "at least one of. In another embodiment, the search application may be directed to a database, data store, or the like that may be configured and arranged based on location information.
In any event, processing continues to decision block 412 where a determination is made as to whether search results have been received based on the location-refined search query. In one embodiment, such a determination may be based on whether a minimum number of results are returned, whether the search results reflect position modifier refinements, or some other defined criteria. If the search results do not satisfy the defined criteria, processing branches to block 418; otherwise, processing flows to decision block 414.
At block 418, the location modifier may be automatically modified based on the location hierarchy data (hierarchy data). Thus, for example, if the refined search query is a news headline for location sonyvale (Sunnyvale), but not found or not found in sufficient number (according to defined criteria), location tier data may be crawled to expand the location modifiers. For example, the region may be expanded to include neighboring towns (such as Palo alto), counties (such as Santa Clara), and so on based on the crawl location hierarchy data. Thus, the location data may include location information that is constructed and arranged in a hierarchy of locations for various locations. Once the location modifier has been modified based on the crawl location hierarchy data, processing returns to block 410 to perform a search until the search results satisfy the criteria. However, in one embodiment, the number of searches may be limited to constrain the number of search attempts.
In any case, in one embodiment, if the search results satisfy the criteria, they may be clustered or grouped into categories. Such a classification may be determined based on any of a variety of criteria, including a predefined classification, a common result, and the like.
At decision block 414, a determination is made as to whether the current location of the user's client device (from block 404) is within a default location identified in connection with the user. Such a comparison may indicate whether the user is currently visiting another location. If it is determined that the current location is outside of the default location, processing flows to block 420; otherwise, processing flows to block 416.
At block 420, when it is determined that the user is in a location other than the default location, the clustered (or grouped) results may be sent to the user's client device in a contracted classification format. That is, in one embodiment, a category header may be displayed to the user instead of sorting each result within a group. In one embodiment, the user may then select a category heading to expand that category, select the "expand all" (expanded all) option, and so on. Processing then returns to the calling process to perform other actions.
At block 416, if it is determined that the user is currently within the user's default location, the clustered or grouped results may be sent to the user's client device in an expanded classification format. That is, each search result within the taxonomic grouping may also be displayed, a subset of the information about each result may be displayed, and so on. In one embodiment, the user may select a category heading to narrow the category.
However, in another embodiment, no category header may be provided to the user at block 416. Furthermore, the present invention is not so constrained as to use classification as described above. For example, in another embodiment, the expansion or contraction of the clustering results may be the opposite of that described above, or always expanded, or even always contracted, etc., without departing from the scope of the present invention. In any case, upon completion of block 416, processing returns to the calling process to perform other actions.
FIG. 5 illustrates a logical flow diagram generally showing one embodiment of a process for determining mobile location information for use in refining a mobile search. Process 500 of fig. 5 may represent one embodiment of block 406 of process 400 of fig. 4. However, the invention is not so limited and other embodiments of block 406 may also be used without departing from the scope of the invention.
In any case, process 500 begins at block 502 after a start block in which a received search query is parsed into at least one base search term and zero or more position modifiers.
Processing continues to block 504 where social networking information may be obtained for the user. The determination of the user may be based on a variety of criteria including, but not limited to, information obtained directly from the user, information obtained about the user's client device, login information from the user, and the like.
In one embodiment, collecting social networking information may include obtaining content for an address book, a buddy list, an email address, a network purchase, a previous search, a previous location, and so forth associated with a user's client device. In one embodiment, such information may be collected by another process as follows: the other process may be configured and arranged to monitor online activity of the user and collect information based on online actions of the user. In another embodiment, at least some information (such as an address book, buddy list, etc.) may be obtained by a user providing them to a server data store for storage thereof. In any case, a variety of user-related social networking information may be collected for use within process 500. It should be noted, however, that block 504 may also be performed separately from process 500, e.g., as part of process 400 or another process. Furthermore, block 504 may also be performed in conjunction with block 502 or even before block 502.
In any case, processing then continues to decision block 506 where a determination is made as to whether the parsed search query includes an explicit position modifier, as described above. If so, processing branches to block 516; otherwise, processing flows to decision block 508.
At block 516, the explicitly provided location modifiers may be used to refine the base search term(s) within the search query. Processing then returns to the calling process to perform other actions.
At decision block 508, a determination is made as to whether a user-specific location modifier is included for the parsed search query. If not, processing continues to decision block 510; otherwise processing continues at block 518.
At block 518, user-specific location modifiers may be used to refine the search query. In one embodiment, the user-specific location modifier may include user-specific data, such as "home" or the like. If so, refinement of the search query may include determining a physical location associated with the user-specific location data (e.g., "home"), and modifying the base search term using the resulting physical location. In another embodiment, the user-specific location modifier may include an implicit reference to social networking information, such as the name of an individual, an event, a group, and the like. In this example, the social networking information collected for the user may be used, at least in part, to locate a physical location associated with the user-specific data. Processing may then return to the calling process to perform other actions.
At decision block 510, a determination is made as to whether a position sub-string modifier, as described above, is included within the parsed search query. If a position substring modifier is provided, processing flows to block 520; otherwise processing continues to decision block 512.
At block 520, in one embodiment, the physical location associated with the location substring modifier may be obtained utilizing location hierarchy data, social networking information, or the like. In one embodiment, the location substring modifier may modify the location associated with the user's default location, the user's current location, and the like. Thus, for example, if it is determined that the location substring modifier is an address, such as "707 guardroro" or the like, this data may be combined with information about the current location or the default location. The resulting combination may indicate, for example, that the user is performing a search for the base search term associated with the address within the current regional location (e.g., san Francisco).
The base search term may then be refined based on the address within the current region location. However, the invention is not limited to this example, and it is apparent that other location sub-string modifiers may also be received, including, for example, urban identifiers, landmarks, and the like. Such information may then be used to modify the current location, etc. to refine the search query. In any case, processing then returns to the calling process to perform other actions.
At decision block 512, a determination is made as to whether the client device is within a default location as described above. If the client device is within the default location, processing flows to block 522, where the basic search terms of the search query may be modified using the default physical location of the client device. Processing then returns to the calling process to perform other actions.
If, however, the client device is outside of the default location, processing flows to block 514, where the base search terms of the search query may be modified using the current physical location of the client device. Processing then returns to the calling process to perform other actions. Thus, as described above, in one embodiment, each search query may be modified with location information, whether the location information is explicitly provided by the user, implicitly provided, or a default or current location.
It will be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by computer program instructions. These program instructions may be provided to a processor to produce a machine, such that the instructions, which execute on the processor, create means for implementing the actions specified in the flowchart block or blocks. The computer program instructions may be executed by a processor to cause a series of operational steps to be performed by the processor to produce a computer implemented process such that the instructions, which execute on the processor, provide steps for implementing the actions specified in the flowchart block or blocks. The computer program instructions may also cause at least some of the operational steps illustrated in the blocks of the flowchart to be performed in parallel. Further, some steps may also be performed across more than one processor, such as may occur in a multi-processor computer system. Furthermore, one or more blocks or combinations of blocks in the flowchart illustrations may also be performed concurrently with other blocks or combinations of blocks, or even in a different order than illustrated without departing from the scope or spirit of the invention.
Accordingly, blocks of the flowchart illustrations support combinations of means for performing the specified actions, combinations of steps for performing the specified actions and program instruction means for performing the specified actions. It will also be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by special purpose hardware-based systems which perform the specified actions or steps, or combinations of special purpose hardware and computer instructions.
The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
Claims (22)
1. A network device for managing search queries from mobile devices over a network, comprising:
a transceiver to transmit and receive data over the network; and
a processor operable to perform acts comprising:
receiving a search query from the mobile device;
parsing the search query into at least one basic search term and zero or more location modifiers;
determining a physical location using a location modifier if the location modifier is parsed from the search query;
refining the search query based on the at least one base search term and the determined physical location; and
a search is performed using the refined search query.
2. The network device of claim 1, wherein the actions further comprise:
determining a physical location based on one of a current location or a default location associated with the mobile device if a location modifier is not parsed from the search query.
3. The network device of claim 1, wherein the actions further comprise:
if the results of the refined search query do not satisfy the search criteria, the physical location is modified and another refined search query is executed based in part on the modified physical location.
4. The network device of claim 1, wherein the location modifier is one of a user-specific location modifier or a location substring modifier.
5. The network device of claim 1, wherein the location modifier further comprises a user-specific location modifier, wherein the physical location is determined based on social networking information associated with a user of the mobile device.
6. The network device of claim 1, wherein the location modifiers further comprise location substring modifiers that modify a default or current location of the mobile device to determine the physical location for refining the search query.
7. A system operable to manage search queries over a network, comprising:
a client device configured and arranged to implement actions, comprising:
sending a search query over the network; and
receiving search results based on the refined search query; and
a network device configured and arranged to perform actions, comprising:
receiving the search query from the client device;
parsing the search query into at least one basic search term and zero or more location modifiers;
if a position modifier is parsed from the search query:
determining a physical location based in part on the location modifier;
refining the search query based on the at least one base search term and the determined physical location; and
a search is performed using the refined search query.
8. The system of claim 7, wherein the client device is further capable of performing actions comprising:
providing social networking information usable by the network device portion to determine the physical location.
9. The system of claim 7, wherein the location modifier further comprises implicit location information, and wherein the physical location is determined based on: modifying at least one of a current or default location of the client device based on the implicit location information.
10. The system of claim 9, wherein the implicit location information further includes a user-specific modifier that is determinable based on social networking information.
11. The system of claim 7, wherein if a location modifier is not present in the parsed search query, the network device is configured and arranged to refine the search query using at least one of a default location or a current location of the client device.
12. A computer-readable storage medium having computer-executable instructions for managing search queries over a network, which, when installed onto a computing device, enable the computing device to perform acts comprising:
receiving a search query from a client device;
parsing the search query into at least one basic search term and zero or more location modifiers;
determining a physical location based in part on the zero or more location modifiers;
refining the search query based on the at least one base search term and the determined physical location; and
a search is performed using the refined search query.
13. The computer-readable storage medium of claim 12, wherein determining the physical location further comprises:
determining a physical location using a location modifier if the location modifier is parsed from the search query; and
determining the physical location using at least one of a default location or a current location of the client device if a location modifier is not resolved from the search query.
14. The computer-readable storage medium of claim 12, wherein the actions further comprise:
receiving social networking information associated with a user of the client device, and using the social networking information in conjunction with the location modifier to determine the physical location.
15. The computer-readable storage medium of claim 12, wherein performing the search further comprises:
modifying the physical location using hierarchical location information if the number of search results is below a defined number of search results;
modifying the refined search query using the at least one base search term and the modified physical location; and
another search is performed using the modified search query.
16. The computer-readable storage medium of claim 12, wherein at least one location modifier comprises a user-specific location modifier that refers to a physical location associated with a user of the client device.
17. A method of performing a search query over a network, comprising:
sending a search query having a base search term from a mobile device;
determining, by a server device, a physical location based in part on zero or more implicit location modifiers within the search query;
refining, by the server device, the search query based on the base search term and the determined physical location;
performing at least one search utilizing the refined search query; and
providing at least one search result to the mobile device over the network.
18. The method of claim 17, wherein determining a physical location further comprises determining a default or current location of the mobile device, and modifying the default or current location using the implicit location modifier.
19. The method of claim 17, wherein the base search term is a keyword, and wherein the physical location refines the search query to search for information associated with the keyword for the physical location.
20. The method of claim 19, wherein the keyword further comprises the term "today" and the physical location refines the search query to search for information associated with the physical location for today.
21. The method of claim 17, wherein providing the search results further comprises:
providing the search results in a contracted or expanded taxonomy format based on whether the mobile device is within a default location.
22. A modulated data signal configured to comprise program instructions for performing the method of claim 17.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/620,619 | 2007-01-05 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK1138394A true HK1138394A (en) | 2010-08-20 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101126032B1 (en) | Employing mobile location to refine searches | |
| US8370349B2 (en) | Instant contact searching and presentation by category | |
| EP2153354B1 (en) | Enabling clustered search processing via text messaging | |
| US8224359B2 (en) | Provisioning my status information to others in my social network | |
| US9367618B2 (en) | Context based search arrangement for mobile devices | |
| CN101884041B (en) | Enabling searching on abbreviated search terms via messaging | |
| US8620896B2 (en) | Reverse matching relationships in networks of existing identifiers | |
| US20100114938A1 (en) | Search results for a topic that include a list of messaging users that have previously searched on that topic | |
| US20040181517A1 (en) | System and method for social interaction | |
| JP2015212960A (en) | Selectively adding social dimension to web searches | |
| WO2007127642A2 (en) | Contextual mobile local search based on social network vitality information | |
| HK1138394A (en) | Employing mobile location to refine searches | |
| KR101473076B1 (en) | Selectively adding social dimension to web searches | |
| HK1141878B (en) | Enabling clustered search processing via text messaging | |
| HK1150207B (en) | Enabling searching on abbreviated search terms via messaging | |
| HK1132808B (en) | Contextual mobile local search based on social network vitality information | |
| HK1152575A1 (en) | Social network search | |
| HK1152575B (en) | Social network search |