US20050144241A1 - Systems and methods for a search-based email client - Google Patents

Systems and methods for a search-based email client Download PDF

Info

Publication number
US20050144241A1
US20050144241A1 US10/966,259 US96625904A US2005144241A1 US 20050144241 A1 US20050144241 A1 US 20050144241A1 US 96625904 A US96625904 A US 96625904A US 2005144241 A1 US2005144241 A1 US 2005144241A1
Authority
US
United States
Prior art keywords
email
search
instructions
field providing
searching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/966,259
Inventor
Raymond Stata
Andrew Stack
Tarak Goradia
Patrick Hunt
Thiruvalluvan Mg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US10/966,259 priority Critical patent/US20050144241A1/en
Assigned to STATA LABORATORIES, INC. reassignment STATA LABORATORIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GORADIA, TARAK, HUNT, PATRICK DAVID, MG, THIRUVALLUVAN, STACK, ANDREW W., STATA, RAYMOND P.
Assigned to YAHOO! INC. reassignment YAHOO! INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: STATA LABORATORIES, INC.
Publication of US20050144241A1 publication Critical patent/US20050144241A1/en
Priority to US13/854,904 priority patent/US9438540B2/en
Priority to US15/188,679 priority patent/US10182025B2/en
Assigned to YAHOO HOLDINGS, INC. reassignment YAHOO HOLDINGS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YAHOO! INC.
Assigned to OATH INC. reassignment OATH INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YAHOO HOLDINGS, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes

Definitions

  • the present invention is directed to systems and methods for integrating search functions into an email client user interface (UI). More particularly, it is directed to providing easily accessible search functions that trigger searches of sufficient scope, thereby reducing user confusion over the possible locations of desired information and reducing the time loss and physical burden of repetitive actions in conducting searches.
  • UI email client user interface
  • Email electronic documents, digital photos, digital music and video are all forms of content that are seeing increasing use and require attention to process or store on a user device.
  • the volume of emails specifically that a user will receive has increased dramatically in recent years.
  • the average user receives 35 email a day, and over 40 Million people in the U.S. spend more than 2 hours a day working with email.
  • Email clients allow users to access their email collections, as well as a variety of other personal data and data generally on a wide-variety of devices, e.g., computers, kiosks, PDAs, and mobile phones.
  • email attachments For an email user, a growing amount of text-based content is contained within email attachments. These attachments are usually binary files in popular formats such as the Microsoft Word, Excel, or Powerpoint document format. When the user is looking for text-based content in an attachment, he is forced to also recall the title of the document, since search capabilities on the text content of the attachments are not readily available.
  • the mechanisms for searching for content and related information are time-consuming and frustrating. Users must typically navigate within their messaging client to a separate search window that requires multiple parameters to be entered in order to complete a search.
  • the state of the art treats the concept of searching as a separate feature. This “search” or “find” functionality is not prominently displayed in the user interface.
  • advanced search capabilities are offered, but are located deep in the user interface navigation hierarchy and require up to seven separate mouse clicks to enable a full-text, full-respitory search.
  • a search that requires a user to enter information, then select a search scope, then select a button to execute a search requires at least three user actions. Users today desire access to information with fewer steps, preferably just one action. Considering the large number of times a user may have to conduct a search for information in today's workplace, and the rise of repetitive motion ailments such as carpal tunnel syndrome, it is understandable that users want a more streamlined UI.
  • the default behavior of the current messaging clients is to search only within a current message context, meaning a current result list or folder. Additional user steps must be taken to increase the domain over which a search is executed, however, this typically comes at the cost of dramatically increasing the time to complete the search.
  • the default behavior of present email clients is to search only the message header information, which usually contains only subject and sender data. Additional steps must be taken to enable a search over the body text of email messages, if the messaging client supports such searches at all.
  • the present invention is directed to systems and methods for a search-based email client.
  • a search function default to a search of all email contexts, thereby eliminating user cogitation over which context an email message may be stored in.
  • the search function can automatically search for related personal content and/or related information on the internet or other computer network, and present this useful information to the user in addition to the returned emails.
  • the search function can also be integrated into a user interface (UI) so as to allow for one-click searches on a sender, a recipient, a subject line, or other likely search field.
  • UI user interface
  • the search function can search the body of email messages by default, thereby widening the scope of default searches and eliminating potentially missed information and user need to proactively widen their search.
  • a search function can search attachments, which also provides a wider search scope. Other features and embodiments of the present invention are described below.
  • FIG. 1A is a block diagram representing an exemplary network environment having a variety of computing devices in which the invention may be implemented;
  • FIG. 1B is a block diagram representing an exemplary non-limiting computing device in which the present invention may be implemented
  • FIGS. 2A to 2 C illustrate some exemplary non-limiting underlying techniques for querying a database in accordance with the invention
  • FIG. 3 illustrates the components of a message system with an email client 300 , a network 310 , and a server 320 .
  • FIG. 4 illustrates an email client UI 400 that displays a message list 410 which comprises message summaries 430 for the messages contained in a message context 420 .
  • FIG. 5A illustrates a search process 500 that can search through the emails in a plurality of groups 510 - 513 , or contexts, within a repository 520 .
  • the search of all groups 510 - 513 can be conducted by default when a user orders a search.
  • FIG. 5B provides a flowchart with exemplary steps for searching a substantially complete email repository by default.
  • FIG. 6A illustrates an email client search process 602 that can search a message body 600 by default. Also illustrated are the various components of the message header 601 which may also be searched.
  • FIG. 6B illustrates a flowchart with exemplary steps for searching email bodies by default.
  • FIG. 6C illustrates a flowchart with exemplary steps for searching email attachments.
  • the search of attachments may also be conducted by default in various embodiments of the invention.
  • FIG. 7 illustrates an the email message 700 that would appear in a search result set for the key word “escalations” 720 since “escalations” 720 appears in an attachment 710 to the message 700 .
  • FIG. 8 provides an exemplary mechanism 800 to remove a group of unwanted messages from query results.
  • FIG. 9 illustrates a one-click search feature that may be implemented in various embodiments.
  • a UI representation of an email 940 may comprise search elements such as 900 and 910 which operate to initiate a search process 920 to search a repository 930 for a field associated with the selected search element 900 , 910 .
  • FIG. 10 provides an exemplary email client UI 1000 with a search aggregation pane 1010 .
  • Networks are a defining element of modern computing, and the invention is particularly suited to enhancing electronic communications across computer networks.
  • Third, exemplary distributed computing frameworks are briefly discussed.
  • Fourth, a discussion of improved querying and indexing is briefly discussed. Because various embodiments of the invention rely more heavily on search as a means for location of desired information, and perform searches of wider scope both in terms of the number and variety of fields that may be searched, the use of indexing conjunction with many of the embodiments to speed the searches in is preferred.
  • various aspects of an exemplary search-based email client are set forth.
  • a computer or other client or server device can be deployed as part of a computer network, or in a distributed computing environment.
  • the present invention pertains to any computer system having any number of memory or storage units, and any number of applications and processes occurring across any number of storage units or volumes, which may be used in connection with querying according to the invention.
  • the present invention may apply to an environment with server computers and client computers deployed in a network environment or distributed computing environment, having remote or local storage.
  • the present invention may also be applied to standalone computing devices, having programming language functionality, interpretation and execution capabilities for generating, receiving and transmitting information in connection with remote or local services.
  • Distributed computing facilitates sharing of computer resources and services by direct exchange between computing devices and systems. These resources and services include the exchange of information, cache storage, and disk storage for files. Distributed computing takes advantage of network connectivity, allowing clients to leverage their collective power to benefit the entire enterprise. In this regard, a variety of devices may have applications, objects or resources that may implicate the querying mechanism(s) of the invention.
  • FIG. 1A provides a schematic diagram of an e exemplary networked or distributed computing environment.
  • the distributed computing environment comprises computing objects 10 a , 10 b , etc. and computing objects or devices 110 a , 110 b , 110 c , etc.
  • These objects may comprise programs, methods, data stores, programmable logic, etc.
  • the objects may comprise portions of the same or different devices such as PDAs, televisions, MP3 players, televisions, personal computers, etc.
  • Each object can communicate with another object by way of the communications network 14 .
  • This network may itself comprise other computing objects and computing devices that provide services to the system of FIG. 1A .
  • each object 10 a , 10 b , etc. or 110 a , 110 b , 110 c , etc. may contain an application that might make use of an API, or other object, software or hardware, to request use of the querying mechanism(s) of the invention.
  • computers which may have traditionally been used solely as clients, communicate directly among themselves and can act as both clients and servers, assuming whatever role is most efficient for the network. This reduces the load on servers and allows all of the clients to access resources available on other clients, thereby increasing the capability and efficiency of the entire network. Services that use the querying mechanism(s) in accordance with the present invention may thus be distributed among clients and servers, acting in a way that is efficient for the entire network.
  • Distributed computing can help businesses deliver services and capabilities more efficiently across diverse geographic boundaries. Moreover, distributed computing can move data closer to the point where data is consumed acting as a network caching mechanism. Distributed computing also allows computing networks to dynamically work together using intelligent agents. Agents reside on peer computers and communicate various kinds of information back and forth. Agents may also initiate tasks on behalf of other peer systems. For instance, intelligent agents can be used to prioritize tasks on a network, change traffic flow, search for files locally or determine anomalous behavior such as a virus and stop it before it affects the network. All sorts of other services may be contemplated as well. Since data may in practice be physically located in one or more locations, the ability to distribute services that make use of the querying mechanism(s) described herein is of great utility in such a system.
  • an object such as 110 c
  • an object such as 110 c
  • the physical environment depicted may show the connected devices as computers, such illustration is merely exemplary and the physical environment may alternatively be depicted or described comprising various digital devices such as PDAs, televisions, MP3 players, etc., software objects such as interfaces, COM objects and the like.
  • computing systems may be connected together by wireline or wireless systems, by local networks or widely distributed networks.
  • networks are coupled to the Internet, which provides the infrastructure for widely distributed computing and encompasses many different networks.
  • Network transport media In home networking environments, there are at least four disparate network transport media that may each support a unique protocol, such as Power line, data (both wireless and wired), voice (e.g., telephone) and entertainment media. Most home control devices such as light switches and appliances may use power line for connectivity.
  • Data Services may enter the home as broadband (e.g., either DSL or Cable modem) and are accessible within the home using either wireless (e.g., HomeRF or 802.11b) or wired (e.g., Home PNA, Cat 5, even power line) connectivity.
  • Voice traffic may enter the home either as wired (e.g., Cat 3) or wireless (e.g., cell phones) and may be distributed within the home using Cat 3 wiring.
  • Entertainment media may enter the home either through satellite or cable and is typically distributed in the home using coaxial cable.
  • IEEE 1394 and DVI are also digital interconnects for clusters of media devices. All of these network environments and others that may emerge as protocol standards may be interconnected to form an intranet that may be connected to the outside world by way of the Internet.
  • a variety of disparate sources exist for the storage and transmission of data, and consequently, moving forward, computing devices will require ways of sharing data, such as data accessed or utilized incident to program objects, which make use of the querying mechanism(s) in accordance with the present invention.
  • FIG. 1A illustrates an exemplary networked or distributed environment, with a server in communication with client computers via a network/bus, in which the present invention may be employed.
  • a number of servers 10 a , 10 b , etc. are interconnected via a communications network/bus 14 , which may be a LAN, WAN, intranet, the Internet, etc., with a number of client or remote computing devices 110 a , 110 b , 110 c , 110 d , 110 e , etc., such as a portable computer, handheld computer, thin client, networked appliance, or other device, such as a VCR, TV, oven, light, heater and the like in accordance with the present invention.
  • the present invention may apply to any computing device in connection with which it is desirable to query a data store to retrieve information.
  • the servers 10 a , 10 b , etc. can be Web servers with which clients 110 a , 110 b , 110 c , 110 d , 110 e , etc. communicate via any of a number of known protocols such as HTTP.
  • Servers 10 a , 10 b , etc. may also serve as clients 110 a , 110 b , 110 c , 110 d , 110 e , etc., as may be characteristic of a distributed computing environment. Communications may be wired or wireless, where appropriate.
  • Each client computer 110 a , 110 b , 110 c , 110 d , 110 e , etc. and server computer 10 a , 10 b , etc. may be equipped with various application program modules or objects 135 and with connections or access to various types of storage elements or objects, across which files may be stored or to which portion(s) of files may be downloaded or migrated.
  • Any computer 10 a , 10 b , 110 a , 110 b , etc. may be responsible for the maintenance and updating of a database 20 or other storage element in accordance with the present invention, such as a database or memory 20 for storing data queried according to the invention.
  • the present invention can be utilized in a computer network environment having client computers 110 a , 110 b , etc. that can access and interact with a computer network/bus 14 and server computers 10 a , 10 b , etc. that may interact with client computers 110 a , 110 b , etc. and other like devices, and databases 20 .
  • FIG. 11B and the following discussion are intended to provide a brief general description of a suitable computing environment in which the invention may be implemented. It should be understood, however, that handheld, portable and other computing devices and computing objects of all kinds are contemplated for use in connection with the present invention. While a general purpose computer is described below, this is but one example, and the present invention may be implemented with a thin client, or stripped down client such as a smart phone, having network/bus interoperability and interaction. Thus, the present invention may be implemented in an environment of networked hosted services in which very little or minimal client resources are implicated, e.g., a networked environment in which the client device serves merely as an interface to the network/bus, such as an object placed in an appliance. In essence, anywhere that event data may be stored or from which event data may be retrieved, or where it is desirable to search and retrieve information, is a desirable, or suitable, environment for operation of the search-based email client of the invention.
  • a networked hosted services in which very little or minimal client resources are
  • the invention can be implemented via an operating system, for use by a developer of services for a device or object, and/or included within application software that operates in connection with querying in accordance with the invention.
  • Software may be described in the general context of computer-executable instructions, such as program modules, being executed by one or more computers, such as client workstations, servers or other devices.
  • program modules include routines, programs, objects, components, data structures and the like that perform particular tasks or implement particular abstract data types.
  • the functionality of the program modules may be combined or distributed as desired in various embodiments.
  • those skilled in the art will appreciate that the invention may be practiced with other computer system configurations and protocols.
  • PCs personal computers
  • automated teller machines server computers
  • hand-held or laptop devices multi-processor systems
  • microprocessor-based systems programmable consumer electronics
  • network PCs appliances
  • lights environmental control elements
  • minicomputers mainframe computers and the like.
  • program modules may be located in both local and remote computer storage media including memory storage devices, and client nodes may in turn behave as server nodes.
  • FIG. 1B thus illustrates an example of a suitable computing system environment 100 in which the invention may be implemented, although as made clear above, the computing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100 .
  • an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer 110 .
  • Components of computer 110 may include, but are not limited to, a processing unit 120 , a system memory 130 , and a system bus 121 that couples various system components including the system memory to the processing unit 120 .
  • the system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PC 1 ) bus (also known as Mezzanine bus).
  • ISA Industry Standard Architecture
  • MCA Micro Channel Architecture
  • EISA Enhanced ISA
  • VESA Video Electronics Standards Association
  • PC 1 Peripheral Component Interconnect
  • a user may enter commands and information into the computer 110 through input devices such as a keyboard or pointing device, commonly referred to as a mouse, trackball or touch pad.
  • Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, or the like.
  • These and other input devices are often connected to the processing unit 120 through a user input interface 160 that is coupled to the system bus 121 , but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB).
  • a monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as a video interface 190 , which may in turn communicate with video memory.
  • computers may also include other peripheral output devices such as speakers and a printer, which may be connected through an output peripheral interface.
  • Computer 110 typically includes a variety of computer readable media.
  • Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media.
  • Computer readable media may comprise computer storage media and communication media.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, digital versatile disks (DVD) or other optical disk 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 accessed by computer 110 .
  • Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
  • modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
  • the computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media.
  • FIG. 1B illustrates a hard disk drive 141 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile magnetic disk, and an optical disk drive 155 that reads from or writes to a removable, nonvolatile optical disk, such as a CD-ROM or other optical media.
  • removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM and the like.
  • the hard disk drive 141 is typically connected to the system bus 121 through a non-removable memory interface such as interface 140
  • magnetic disk drive 151 and optical disk drive 155 are typically connected to the system bus 121 by a removable memory interface, such as interface 150 .
  • the drives and their associated computer storage media discussed above and illustrated in FIG. 1B provide storage of computer readable instructions, data structures, program modules and other data for the computer 110 .
  • the computer 110 may operate in a networked or distributed environment using logical connections to one or more remote computers, such as a remote computer 180 .
  • the remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110 .
  • the logical connections depicted in FIG. 1B include a local area network (LAN) 171 via network interface 170 , or alternatively a wide area network (WAN), but may also include other networks/buses.
  • LAN local area network
  • WAN wide area network
  • Such networking environments are commonplace in homes, offices, enterprise-wide computer networks, intranets and the Internet.
  • an exemplary distributed computing framework or platform includes servers, building-block services, such as Web-based data storage and downloadable device software.
  • a distributed computing framework provides (1) the ability to make an entire range of computing devices work together and to have user information automatically updated and synchronized in all of them, (2) increased interactive capability for Web sites, enabled by greater use of XML rather than HTML, (3) online services that feature customized access and delivery of products and services to the user from a central starting point for the management of various applications, such as e-mail, for example, or other software, (4) centralized data storage, which increases efficiency and ease of access to information, as well as synchronization of information among users and devices, (5) the ability to integrate various communications media, such as e-mail, faxes, and telephones, (6) for developers, the ability to create reusable modules, thereby increasing productivity and reducing the number of programming errors and (7) many other cross-platform integration features as well.
  • the querying mechanism(s) of the invention may be provided as an integral part of such an application development framework, such that developers can easily include the mechanism(s) in new applications, and easily deliver the querying and associated UI mechanism(s) to end users as part of various services and applications, for instance, that may search through a variety of data wherever located.
  • a search-based email client in accordance with the systems and methods provided herein may operate in conjunction with a PCDB.
  • Information in a PCDB can be indexed in a number of clever ways, and the present invention is not limited to the manner of executing a search across stored data. However, because of the large volumes of data that may be searched in connection with the operation of the invention, it is preferable to store that data in manner that supports streamlined high-speed searching.
  • the following brief description generally addresses systems and methods for querying and indexing data in a manner that is suitable for use in various embodiments of the invention.
  • Fast processing of full-text queries may involve the use of a full-text index of the documents being searched.
  • a full-text index for a document collection U has an entry called a posting list for each term appearing in U.
  • a posting list is a sequence of entries called postings which describe an occurrence of a term in a document.
  • the query component, or query engine looks up the posting list of each of the terms in the query and combines those lists according to the operators in the query.
  • the query engine would look up this term in the index and return each document found in the resulting posting list. If the user enters “zoology AND textbooks,” the query engine looks up both posting lists and returns their intersection. If the user enters “zoology OR husbandry,” the query engine looks up both posting lists and returns their union.
  • an application or service may include a UI component 200 that includes a UI text box control 200 a for receiving terms for a query against a PCDB 220 , such as an email store.
  • a query component 210 that handles the packaging, transmission, reception and processing of results (illustrated as a single integrated component although each function may be provided as separate objects, which need not be co-located) receives a query “Term1 & Term2” and performs the query against the content in data store 220 .
  • a query can operate to examine document metadata as well as document content. For instance, a query may be associated with documents with a particular title, size, date, folder, etc.
  • two posting lists are created at 240 , i.e., one for Term 1 and one for Term 2 of the query.
  • the posting lists are merge compared to reflect only documents that contain both Term 1 and Term 2 , as shown in FIG. 2C .
  • a list of documents, or document IDs, that satisfy the query as represented by posting list PL, and depending upon the view desired in connection with the application including UI 200 , information about the documents is displayed to the user.
  • summary information such as property information or other metadata, relating to the documents, or any other desirable view tailored to the posting list returned by the query engine.
  • a posting simply includes the identification of or reference to a document (“Doc ID”) containing the term.
  • a posting may include a Doc ID plus the count in that document to aid in certain forms of rankings.
  • a posting may include the Doc ID plus a list of locations within that document where the term occurs to aid in highlighting the search terms in the result set.
  • Posting lists are typically stored on and accessed from disks, which are sequential-access devices. Thus, an issue with the design of full-text indexes is the order in which postings are kept. Two different factors influence the ordering of these lists. One factor is support for combining posting lists. For example, if posting lists are sorted by Doc ID, then one can take the intersection of two posting lists by reading them sequentially, in parallel, and performing efficient merge operations on the lists. If they are not sorted, then taking an intersection involves reading the smaller one into RAM, which can be expensive.
  • the other factor influencing the order of posting lists is ranking: if it is possible to rank documents heavily, or if it is possible to rank postings in a fashion that is highly correlated with the anticipated rank of documents, then ordering posting lists according to these ranking factors can aid in a so-called “top-N” queries in which the goal is to return only the top-Nth highest-rank documents.
  • a posting in a posting list may thus take a variety of forms depending upon the application, and the invention is not limited to operation in tandem with any particular form. It can be appreciated that the techniques of the invention may be applied to any implementation of a posting list, or, for that matter, with any mechanism for storing and retrieving personal data.
  • FIG. 3 depicts the components of a message system with an email client 300 .
  • a system may comprise “client side” equipment 300 —for example, a desktop computer, laptop computer, or PDA—and “server side” equipment 320 separated by a network 310 .
  • client side equipment 300 for example, a desktop computer, laptop computer, or PDA
  • server side equipment 320 separated by a network 310 .
  • the email client 300 accesses data from a variety of sources that may reside locally on the client 300 , or on the server 320 , or elsewhere on the network 310 .
  • a message list 410 may reside in a portion of a UI window 400 , or in its own UI window (not shown).
  • the message list 410 typically comprises message summaries 430 for the messages contained in a message context 420 .
  • a message context 420 is a meaningful collection of messages, such as the messages in the user's Inbox, the messages contained in some other folder, or the messages returned by running a search.
  • a message summary 430 contains information meant to help the user predict the content and/or purpose of a message and thus determine whether he should retrieve the entire message.
  • This information typically includes the sender, date, and subject-line of the message, and might include other information such as the size, a list of other recipients, a list of attachments, auxiliary information such as whether or not the message has an attachment or has been read, and/or the first few lines of the message itself.
  • a message repository (not illustrated) is a stored collection of all messages.
  • a message repository may be stored locally or on a server that is accessible to an email client.
  • FIG. 5A illustrates a search process 500 that can search through the emails in a plurality of groups 510 - 513 , or contexts, within a repository 520 .
  • the search of all groups 510 - 513 an be conducted by default when a user orders a search.
  • the default domain is the entire repository of the user's messaging data. Due to the large volume of data that will generally be searched when the domain is expanded to include the entire repository 520 , preferred embodiments operate in conjunction with a data store that efficiently indexes all content of an email message, including binary attachments. The user can further restrict the search to a smaller domain if the user so chooses.
  • FIG. 5B provides a simple flowchart displaying exemplary steps for searching a substantially complete email repository by default. Those steps are to initiate a search, either automatically or in response to some user action 530 , then to search through a substantially entire email repository by default 540 . Searching by default is searching without additional user action to specify the range, or scope, of the search. While typical email clients may provide the capability of searching an entire email repository, they do not do so by default and therefore require additional cogitation and/or action on the part of a user. This cogitation and action is both inefficient, frustrating, and unhealthy, as discussed in the background section.
  • FIG. 6A illustrates an email client search process 602 that can search a message body 600 by default. Also illustrated are the various components of the message header 601 which may also be searched.
  • the message may be retrieved if the characters are searched for.
  • the exemplary message would be returned to search process 602 in a search result set that queried for the word “PST.” Since PST appears in the body of the message, the message would be found.
  • a body search is conducted by default, no additional action is required by the user to have the system include text in the message body in the search domain.
  • Email clients that perform default searching on subjects and senders/recipients without also searching the body therefore exclude a portion of emails that contains a wealth of potential search terms.
  • searching email bodies by default can present a difficulty with the large volume of data that will generally be searched due to the expanded search range.
  • preferred embodiments operate in conjunction with a data store that efficiently indexes the content of email messages. The user can further restrict the search to a smaller domain, e.g. by instructing the search process 602 not to search email bodies, if the user so chooses.
  • FIG. 6B provides a simple flowchart displaying exemplary steps for searching email bodies by default. Those steps are to initiate a search 630 , either automatically or in response to some user action, then to search through emails within the search domain, e.g. a substantially entire repository as discussed above, by default 640 .
  • searching by default is searching without additional user action to specify the range, or scope, of the search. In this case, no additional user action is required to demand a search of email bodies along with other email fields. While typical email clients may provide the capability of searching an email body, they do not do so by default and therefore require additional cogitation and/or action on the part of a user. This cogitation and action is both inefficient, frustrating, and unhealthy, as discussed in the background section.
  • FIG. 6C provides a simple flowchart displaying exemplary steps for searching email attachments.
  • the search through an email attachment is also introduced in FIG. 6B , which displays a search process 602 that searches the content of an attachment 603 in addition to any other fields that may be searched.
  • the exemplary steps are to initiate a search 660 , either automatically or in response to some user action, then to search through email attachments 670 to those emails within the search domain, e.g. a substantially entire repository as discussed above, and finally to return results 680 comprising messages with attachments that contained the data that was searched for.
  • An email attachment is a file that is associated with an email message, such as an image file, a text document file, a spreadsheet file, or the like.
  • attachments are saved in some file format that an email client is not equipped to open and display. The attachment can be saved and opened with the application that was used to create the attachment.
  • Attachments may also be searched by default in various embodiments of the invention. Searching by default is searching without additional user action to specify the range, or scope, of the search. In this case, no additional user action is required to demand a search of attachments along with other searched email fields.
  • An advantage of searching attachments by default is that complete searches of email content can be performed without any user cogitation or action to specifically identify the attributes of his search. This cogitation and action is both inefficient, frustrating, and unhealthy, as discussed in the background section.
  • an embodiment of the invention conducts default searches of attachments, note that the user can always restrict the search to a smaller scope if desired, e.g. by instructing the search process 602 not to search email attachments, if the user so chooses.
  • the email message 700 would be appear in a search result set for the key word “escalations” 720 since “escalations” 720 appears in the attachment 710 to the message 700 .
  • no additional action is required by the user to have the system include text in the attachment body in the search domain.
  • An ordering of returned results that has proven useful is that of reverse-chronological order, with results that were generated most recently returned at the top of a result set and the older results returned below. Additionally, when the scope of search is expanded in the various ways described above, some filtering of the results may prove useful. To display the data in a meaningful result set, certain subsets may be excluded, such as unwanted messages that are either marked as deleted or spam.
  • FIG. 8 provides an exemplary mechanism 800 to remove a group of unwanted messages from query results.
  • FIG. 8 illustrates a filter layer 800 that can remove unwanted results from a set of results that are returned by a query.
  • the filter layer 800 may then pass the results to the UI layer 801 for display in the UI. If any ordering of the results is to be conducted, this may be carried out by the search layer itself 500 , by the filter layer 800 , the UI layer 801 , or any other component with access to the result set or the UI that is ultimately presented to a user.
  • Various embodiments of the invention may be tightly-integrated with spam fighting software. These embodiments can perform an exhaustive series of heuristic tests on the header and body of an email to automatically identify and block spam, while ensuring the safe and timely delivery of legitimate messages.
  • the invention may also offer users an added layer of protection using a new Bayesian filtering system that, through a form of manual training combined with advanced machine learning, can study past spam to more accurately identify and combat the tactics and tricks spammers use for new types of spam.
  • a proven solution for blocking spam messages, the anti-spam technology can work directly with other aspects of the invention via menu buttons labeled, for example, “Delete as Spam” and “Not Spam,” which allows the anti-spam technology of the invention to learn from what the user considers junk email.
  • the invention may further include adjustable security settings that allow users to confidently preview a potential spam message without having to actually open the email, helping to avoid any viruses or embedded spyware that might alert spammers of a “live” email address.
  • the invention can be configured to create spam report, which can provides details of each email marked as spam for a user's review, as well as the ability to filter multiple POP3 accounts on the user's desktop.
  • FIG. 9 illustrates a one-click search feature that may be implemented in various embodiments.
  • a UI representation of an email 940 may comprise search elements such as 900 and 910 which operate to initiate a search process 920 to search a repository 930 for a field associated with the selected search element 900 , 910 .
  • the search elements 900 , 910 may be associated with any field.
  • two search elements 900 , 910 are provided in the form of two magnifying glass icons that afford a user the ability to execute a related search to a given message with one mouse click.
  • the user would click on the small magnifying glass icon 900 shown next to the subject field, for example, and a search process 920 would automatically execute a search of the repository 930 for other emails, or indeed any other personal data, or further any location on a network or internet, for the data of the subject line.
  • a search may be performed to retrieve and display all messages that contain the same subject. Additional logic can be included in the search process 920 so that common modifications of the subject field, e.g. by adding, “Re:” and “Fw:” are ignored. In these embodiments, the messages that are stripped of such additional data may be treated as having the same subject as the original message.
  • a search may be performed to retrieve and display all messages that contain the sender.
  • the search process 920 may query sender fields, recipient fields, or any other fields in the repository 930 for the name of the sender or a portion thereof either as the sender or the recipient.
  • the one click search icons 900 , 910 are one embodiment of many, other icons may be used, or the search element can be the subject line or name of the sender itself.
  • the one click search aspect may be applied to any aspect of an email or other item of personal data.
  • a search element may be associated with the date field to find all emails or other data associated with that date.
  • a search element may be associated with strategic parts of an email body to provide searching on those properties.
  • FIG. 10 provides an exemplary email client UI 1000 with a search aggregation pane 1010 further innovation of the invention: the search aggregation pane 1010 .
  • the search aggregation pane 1010 is given a catchy name such as “triage center”, and is positioned on the left side of the UI 1000 .
  • the search aggregation pane 1010 is a way to make the sophisticated search capabilities user friendly—it can aggregate “views” and shortcuts, and can be tailored for vertical markets (i.e., a real estate search aggregation pane).
  • the search aggregation pane 1010 different from the traditional folder hierarchy that present email clients utilize in a left column.
  • the search aggregation pane 1010 can be supported by an aggregation process 1020 in conjunction with a search process 1030 .

Abstract

A search-based email client may incorporate a number of useful features. A search function can default to a search of all email contexts, thereby eliminating user cogitation over which context an email message may be stored in. Furthermore, the search function can automatically search for related personal content and/or related information on the internet or other computer network, and present this useful information to the user in addition to the returned emails. The search function can be integrated into a user interface to allow for one-click searches on any likely search field. The search function can search the body of email messages by default, thereby widening the scope of default searches and eliminating potentially missed information and user need to proactively widen their search. A search function can search attachments, which also provides a wider search scope.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of U.S. Provisional Application No. 60/512,066, filed on Oct. 17, 2003, entitled “SEARCHED-BASED EMAIL CLIENT,” which is hereby incorporated by reference in its entirety.
  • COPYRIGHT NOTICE AND PERMISSION
  • A portion of the disclosure of this patent document may contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. The following notice shall apply to this document: Copyright© 2003-2004, Stata Laboratories, Inc.
  • FIELD OF THE INVENTION
  • The present invention is directed to systems and methods for integrating search functions into an email client user interface (UI). More particularly, it is directed to providing easily accessible search functions that trigger searches of sufficient scope, thereby reducing user confusion over the possible locations of desired information and reducing the time loss and physical burden of repetitive actions in conducting searches.
  • BACKGROUND OF THE INVENTION
  • Personal computer users are currently subject to a growing volume of personal digital content that they must process and manage. Email, electronic documents, digital photos, digital music and video are all forms of content that are seeing increasing use and require attention to process or store on a user device. The volume of emails specifically that a user will receive has increased dramatically in recent years. Currently the average user receives 35 email a day, and over 40 Million people in the U.S. spend more than 2 hours a day working with email. Email clients allow users to access their email collections, as well as a variety of other personal data and data generally on a wide-variety of devices, e.g., computers, kiosks, PDAs, and mobile phones.
  • A growing number of people who typically manage large volumes of email are either beginning to outgrow or are becoming increasingly frustrated with the burden of mailbox overload, as well as the limitations and inefficiencies of traditional folder-based email clients. While search functions are available in present folder-based email clients, these features generally require a user to define a scope for the search, and may not search all of the information needed to locate a desired item. Moreover, the search features in present email clients can be cumbersome to access, and often require excessive user action to operate. In today's world, a user savings of a single click, thereby enabling the user perform an action in two clicks instead of three, is a significant savings resulting in increased efficiency, less frustration, and less repetitive motion.
  • With the growing volume of personal digital content, especially within email but applicable to other personal digital content, it is increasingly difficult for the user to find what he is looking for in a timely manner. Current email content is typically widely distributed in various folders which may reside across a network on a server. It costs the user time and effort to correctly search over the proper domain of content. A user may have multiple folders in complex hierarchies which are designed to help locate content at a future time. However, these folder structures over time become exceedingly difficult and time-consuming to maintain as content grows.
  • For an email user, a growing amount of text-based content is contained within email attachments. These attachments are usually binary files in popular formats such as the Microsoft Word, Excel, or Powerpoint document format. When the user is looking for text-based content in an attachment, he is forced to also recall the title of the document, since search capabilities on the text content of the attachments are not readily available.
  • The mechanisms for searching for content and related information are time-consuming and frustrating. Users must typically navigate within their messaging client to a separate search window that requires multiple parameters to be entered in order to complete a search. The state of the art treats the concept of searching as a separate feature. This “search” or “find” functionality is not prominently displayed in the user interface. For some messaging clients, advanced search capabilities are offered, but are located deep in the user interface navigation hierarchy and require up to seven separate mouse clicks to enable a full-text, full-respitory search. A search that requires a user to enter information, then select a search scope, then select a button to execute a search requires at least three user actions. Users today desire access to information with fewer steps, preferably just one action. Considering the large number of times a user may have to conduct a search for information in today's workplace, and the rise of repetitive motion ailments such as carpal tunnel syndrome, it is understandable that users want a more streamlined UI.
  • The execution of a search with existing messaging clients is inefficient and slow. When a search is performed over a full-body text, full-repository domain, the execution of the search can take minutes to complete. This is in part due to text content that is not indexed in advance of a search, and in part due to cumbersome UI mechanisms for carrying out searches.
  • The default behavior of the current messaging clients is to search only within a current message context, meaning a current result list or folder. Additional user steps must be taken to increase the domain over which a search is executed, however, this typically comes at the cost of dramatically increasing the time to complete the search.
  • Moreover, for a given message, the default behavior of present email clients is to search only the message header information, which usually contains only subject and sender data. Additional steps must be taken to enable a search over the body text of email messages, if the messaging client supports such searches at all.
  • In view of the explosion of personal content and the difficulties in accessing personal content and other desirable information from an email client, and in view of the need to reduce the number of user actions required in searching for needed information, there is a need in the industry to provide an email client that integrates search functions in a more accessible manner, and that conducts more effective searches of a wider scope to facilitate user location of desired information without needless cogitation over where the data may be located or repetitive physical motion.
  • SUMMARY OF THE INVENTION
  • In view of the foregoing, the present invention is directed to systems and methods for a search-based email client. There are a number of features that may be incorporated in such an email client. A search function default to a search of all email contexts, thereby eliminating user cogitation over which context an email message may be stored in. Furthermore, the search function can automatically search for related personal content and/or related information on the internet or other computer network, and present this useful information to the user in addition to the returned emails. The search function can also be integrated into a user interface (UI) so as to allow for one-click searches on a sender, a recipient, a subject line, or other likely search field. The search function can search the body of email messages by default, thereby widening the scope of default searches and eliminating potentially missed information and user need to proactively widen their search. A search function can search attachments, which also provides a wider search scope. Other features and embodiments of the present invention are described below.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The systems and methods for a search based email client in accordance with the present invention are further described with reference to the accompanying drawings in which:
  • FIG. 1A is a block diagram representing an exemplary network environment having a variety of computing devices in which the invention may be implemented;
  • FIG. 1B is a block diagram representing an exemplary non-limiting computing device in which the present invention may be implemented;
  • FIGS. 2A to 2C illustrate some exemplary non-limiting underlying techniques for querying a database in accordance with the invention;
  • FIG. 3 illustrates the components of a message system with an email client 300, a network 310, and a server 320.
  • FIG. 4 illustrates an email client UI 400 that displays a message list 410 which comprises message summaries 430 for the messages contained in a message context 420.
  • FIG. 5A illustrates a search process 500 that can search through the emails in a plurality of groups 510-513, or contexts, within a repository 520. The search of all groups 510-513 can be conducted by default when a user orders a search.
  • FIG. 5B provides a flowchart with exemplary steps for searching a substantially complete email repository by default.
  • FIG. 6A illustrates an email client search process 602 that can search a message body 600 by default. Also illustrated are the various components of the message header 601 which may also be searched.
  • FIG. 6B illustrates a flowchart with exemplary steps for searching email bodies by default.
  • FIG. 6C illustrates a flowchart with exemplary steps for searching email attachments. The search of attachments may also be conducted by default in various embodiments of the invention.
  • FIG. 7 illustrates an the email message 700 that would appear in a search result set for the key word “escalations” 720 since “escalations” 720 appears in an attachment 710 to the message 700.
  • FIG. 8 provides an exemplary mechanism 800 to remove a group of unwanted messages from query results.
  • FIG. 9 illustrates a one-click search feature that may be implemented in various embodiments. A UI representation of an email 940, or email summary (not shown), may comprise search elements such as 900 and 910 which operate to initiate a search process 920 to search a repository 930 for a field associated with the selected search element 900, 910.
  • FIG. 10 provides an exemplary email client UI 1000 with a search aggregation pane 1010.
  • DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
  • Certain specific details are set forth in the following description and figures to provide a thorough understanding of various embodiments of the invention. Certain well-known details often associated with computing and software technology are not set forth in the following disclosure, however, to avoid unnecessarily obscuring the various embodiments of the invention. Further, those of ordinary skill in the relevant art will understand that they can practice other embodiments of the invention without one or more of the details described below. Finally, while various methods are described with reference to steps and sequences in the following disclosure, the description as such is for providing a clear implementation of embodiments of the invention, and the steps and sequences of steps should not be taken as required to practice this invention.
  • The following detailed description is generally divided into five sections. First, exemplary networked and distributed environments are briefly discussed. Networks are a defining element of modern computing, and the invention is particularly suited to enhancing electronic communications across computer networks. Second, an exemplary computing device is described. Third, exemplary distributed computing frameworks are briefly discussed. Fourth, a discussion of improved querying and indexing is briefly discussed. Because various embodiments of the invention rely more heavily on search as a means for location of desired information, and perform searches of wider scope both in terms of the number and variety of fields that may be searched, the use of indexing conjunction with many of the embodiments to speed the searches in is preferred. Finally, various aspects of an exemplary search-based email client are set forth.
  • Exemplary Networked and Distributed Environments
  • One of ordinary skill in the art can appreciate that a computer or other client or server device can be deployed as part of a computer network, or in a distributed computing environment. In this regard, the present invention pertains to any computer system having any number of memory or storage units, and any number of applications and processes occurring across any number of storage units or volumes, which may be used in connection with querying according to the invention. The present invention may apply to an environment with server computers and client computers deployed in a network environment or distributed computing environment, having remote or local storage. The present invention may also be applied to standalone computing devices, having programming language functionality, interpretation and execution capabilities for generating, receiving and transmitting information in connection with remote or local services.
  • Distributed computing facilitates sharing of computer resources and services by direct exchange between computing devices and systems. These resources and services include the exchange of information, cache storage, and disk storage for files. Distributed computing takes advantage of network connectivity, allowing clients to leverage their collective power to benefit the entire enterprise. In this regard, a variety of devices may have applications, objects or resources that may implicate the querying mechanism(s) of the invention.
  • FIG. 1A provides a schematic diagram of an e exemplary networked or distributed computing environment. The distributed computing environment comprises computing objects 10 a, 10 b, etc. and computing objects or devices 110 a, 110 b, 110 c, etc. These objects may comprise programs, methods, data stores, programmable logic, etc. The objects may comprise portions of the same or different devices such as PDAs, televisions, MP3 players, televisions, personal computers, etc. Each object can communicate with another object by way of the communications network 14. This network may itself comprise other computing objects and computing devices that provide services to the system of FIG. 1A. In accordance with an aspect of the invention, each object 10 a, 10 b, etc. or 110 a, 110 b, 110 c, etc. may contain an application that might make use of an API, or other object, software or hardware, to request use of the querying mechanism(s) of the invention.
  • In a distributed computing architecture, computers, which may have traditionally been used solely as clients, communicate directly among themselves and can act as both clients and servers, assuming whatever role is most efficient for the network. This reduces the load on servers and allows all of the clients to access resources available on other clients, thereby increasing the capability and efficiency of the entire network. Services that use the querying mechanism(s) in accordance with the present invention may thus be distributed among clients and servers, acting in a way that is efficient for the entire network.
  • Distributed computing can help businesses deliver services and capabilities more efficiently across diverse geographic boundaries. Moreover, distributed computing can move data closer to the point where data is consumed acting as a network caching mechanism. Distributed computing also allows computing networks to dynamically work together using intelligent agents. Agents reside on peer computers and communicate various kinds of information back and forth. Agents may also initiate tasks on behalf of other peer systems. For instance, intelligent agents can be used to prioritize tasks on a network, change traffic flow, search for files locally or determine anomalous behavior such as a virus and stop it before it affects the network. All sorts of other services may be contemplated as well. Since data may in practice be physically located in one or more locations, the ability to distribute services that make use of the querying mechanism(s) described herein is of great utility in such a system.
  • It can also be appreciated that an object, such as 110 c, may be hosted on another computing device 10 a, 10 b, etc. or 110 a, 110 b, etc. Thus, although the physical environment depicted may show the connected devices as computers, such illustration is merely exemplary and the physical environment may alternatively be depicted or described comprising various digital devices such as PDAs, televisions, MP3 players, etc., software objects such as interfaces, COM objects and the like.
  • There are a variety of systems, components, and network configurations that support distributed computing environments. For example, computing systems may be connected together by wireline or wireless systems, by local networks or widely distributed networks. Currently, many of the networks are coupled to the Internet, which provides the infrastructure for widely distributed computing and encompasses many different networks.
  • In home networking environments, there are at least four disparate network transport media that may each support a unique protocol, such as Power line, data (both wireless and wired), voice (e.g., telephone) and entertainment media. Most home control devices such as light switches and appliances may use power line for connectivity. Data Services may enter the home as broadband (e.g., either DSL or Cable modem) and are accessible within the home using either wireless (e.g., HomeRF or 802.11b) or wired (e.g., Home PNA, Cat 5, even power line) connectivity. Voice traffic may enter the home either as wired (e.g., Cat 3) or wireless (e.g., cell phones) and may be distributed within the home using Cat 3 wiring. Entertainment media, or other graphical data, may enter the home either through satellite or cable and is typically distributed in the home using coaxial cable. IEEE 1394 and DVI, for instance, are also digital interconnects for clusters of media devices. All of these network environments and others that may emerge as protocol standards may be interconnected to form an intranet that may be connected to the outside world by way of the Internet. In short, a variety of disparate sources exist for the storage and transmission of data, and consequently, moving forward, computing devices will require ways of sharing data, such as data accessed or utilized incident to program objects, which make use of the querying mechanism(s) in accordance with the present invention.
  • Thus, FIG. 1A illustrates an exemplary networked or distributed environment, with a server in communication with client computers via a network/bus, in which the present invention may be employed. In more detail, a number of servers 10 a, 10 b, etc., are interconnected via a communications network/bus 14, which may be a LAN, WAN, intranet, the Internet, etc., with a number of client or remote computing devices 110 a, 110 b, 110 c, 110 d, 110 e, etc., such as a portable computer, handheld computer, thin client, networked appliance, or other device, such as a VCR, TV, oven, light, heater and the like in accordance with the present invention. It is thus contemplated that the present invention may apply to any computing device in connection with which it is desirable to query a data store to retrieve information.
  • In a network environment in which the communications network/bus 14 is the Internet, for example, the servers 10 a, 10 b, etc. can be Web servers with which clients 110 a, 110 b, 110 c, 110 d, 110 e, etc. communicate via any of a number of known protocols such as HTTP. Servers 10 a, 10 b, etc. may also serve as clients 110 a, 110 b, 110 c, 110 d, 110 e, etc., as may be characteristic of a distributed computing environment. Communications may be wired or wireless, where appropriate. Client devices 110 a, 110 b, 110 c, 110 d, 110 e, etc. may or may not communicate via communications network/bus 14, and may have independent communications associated therewith. For example, in the case of a TV or VCR, there may or may not be a networked aspect to the control thereof, and a user might wish to select a date with a remote control device interoperating with an on screen UI. Each client computer 110 a, 110 b, 110 c, 110 d, 110 e, etc. and server computer 10 a, 10 b, etc. may be equipped with various application program modules or objects 135 and with connections or access to various types of storage elements or objects, across which files may be stored or to which portion(s) of files may be downloaded or migrated. Any computer 10 a, 10 b, 110 a, 110 b, etc. may be responsible for the maintenance and updating of a database 20 or other storage element in accordance with the present invention, such as a database or memory 20 for storing data queried according to the invention. Thus, the present invention can be utilized in a computer network environment having client computers 110 a, 110 b, etc. that can access and interact with a computer network/bus 14 and server computers 10 a, 10 b, etc. that may interact with client computers 110 a, 110 b, etc. and other like devices, and databases 20.
  • Exemplary Computing Device
  • FIG. 11B and the following discussion are intended to provide a brief general description of a suitable computing environment in which the invention may be implemented. It should be understood, however, that handheld, portable and other computing devices and computing objects of all kinds are contemplated for use in connection with the present invention. While a general purpose computer is described below, this is but one example, and the present invention may be implemented with a thin client, or stripped down client such as a smart phone, having network/bus interoperability and interaction. Thus, the present invention may be implemented in an environment of networked hosted services in which very little or minimal client resources are implicated, e.g., a networked environment in which the client device serves merely as an interface to the network/bus, such as an object placed in an appliance. In essence, anywhere that event data may be stored or from which event data may be retrieved, or where it is desirable to search and retrieve information, is a desirable, or suitable, environment for operation of the search-based email client of the invention.
  • Although not required, the invention can be implemented via an operating system, for use by a developer of services for a device or object, and/or included within application software that operates in connection with querying in accordance with the invention. Software may be described in the general context of computer-executable instructions, such as program modules, being executed by one or more computers, such as client workstations, servers or other devices. Generally, program modules include routines, programs, objects, components, data structures and the like that perform particular tasks or implement particular abstract data types. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations and protocols. Other well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers (PCs), automated teller machines, server computers, hand-held or laptop devices, multi-processor systems, microprocessor-based systems, programmable consumer electronics, network PCs, appliances, lights, environmental control elements, minicomputers, mainframe computers and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network/bus or other data transmission medium. In a distributed computing environment, described in more detail above, program modules may be located in both local and remote computer storage media including memory storage devices, and client nodes may in turn behave as server nodes.
  • FIG. 1B thus illustrates an example of a suitable computing system environment 100 in which the invention may be implemented, although as made clear above, the computing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100.
  • With reference to FIG. 1B, an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer 110. Components of computer 110 may include, but are not limited to, a processing unit 120, a system memory 130, and a system bus 121 that couples various system components including the system memory to the processing unit 120. The system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PC1) bus (also known as Mezzanine bus).
  • A user may enter commands and information into the computer 110 through input devices such as a keyboard or pointing device, commonly referred to as a mouse, trackball or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 120 through a user input interface 160 that is coupled to the system bus 121, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as a video interface 190, which may in turn communicate with video memory. In addition to monitor 191, computers may also include other peripheral output devices such as speakers and a printer, which may be connected through an output peripheral interface.
  • Computer 110 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, digital versatile disks (DVD) or other optical disk 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 accessed by computer 110. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
  • The computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only, FIG. 1B illustrates a hard disk drive 141 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile magnetic disk, and an optical disk drive 155 that reads from or writes to a removable, nonvolatile optical disk, such as a CD-ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM and the like. The hard disk drive 141 is typically connected to the system bus 121 through a non-removable memory interface such as interface 140, and magnetic disk drive 151 and optical disk drive 155 are typically connected to the system bus 121 by a removable memory interface, such as interface 150.
  • The drives and their associated computer storage media discussed above and illustrated in FIG. 1B provide storage of computer readable instructions, data structures, program modules and other data for the computer 110.
  • The computer 110 may operate in a networked or distributed environment using logical connections to one or more remote computers, such as a remote computer 180. The remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110. The logical connections depicted in FIG. 1B include a local area network (LAN) 171 via network interface 170, or alternatively a wide area network (WAN), but may also include other networks/buses. Such networking environments are commonplace in homes, offices, enterprise-wide computer networks, intranets and the Internet.
  • Exemplary Distributed Computing Frameworks or Architectures
  • Various distributed computing frameworks have been and are being developed in light of the convergence of personal computing and the Internet. Individuals and business users alike are provided with a seamlessly interoperable and Web-enabled interface for applications and computing devices, making computing activities increasingly Web browser or network-oriented.
  • For example, an exemplary distributed computing framework or platform includes servers, building-block services, such as Web-based data storage and downloadable device software. Generally speaking, a distributed computing framework provides (1) the ability to make an entire range of computing devices work together and to have user information automatically updated and synchronized in all of them, (2) increased interactive capability for Web sites, enabled by greater use of XML rather than HTML, (3) online services that feature customized access and delivery of products and services to the user from a central starting point for the management of various applications, such as e-mail, for example, or other software, (4) centralized data storage, which increases efficiency and ease of access to information, as well as synchronization of information among users and devices, (5) the ability to integrate various communications media, such as e-mail, faxes, and telephones, (6) for developers, the ability to create reusable modules, thereby increasing productivity and reducing the number of programming errors and (7) many other cross-platform integration features as well. In this regard, the querying mechanism(s) of the invention may be provided as an integral part of such an application development framework, such that developers can easily include the mechanism(s) in new applications, and easily deliver the querying and associated UI mechanism(s) to end users as part of various services and applications, for instance, that may search through a variety of data wherever located.
  • Querying and Indexing
  • Various embodiments of a search-based email client in accordance with the systems and methods provided herein may operate in conjunction with a PCDB. Information in a PCDB can be indexed in a number of clever ways, and the present invention is not limited to the manner of executing a search across stored data. However, because of the large volumes of data that may be searched in connection with the operation of the invention, it is preferable to store that data in manner that supports streamlined high-speed searching. The following brief description generally addresses systems and methods for querying and indexing data in a manner that is suitable for use in various embodiments of the invention.
  • Fast processing of full-text queries may involve the use of a full-text index of the documents being searched. A full-text index for a document collection U has an entry called a posting list for each term appearing in U. A posting list is a sequence of entries called postings which describe an occurrence of a term in a document. To find the documents satisfying a query, the query component, or query engine, looks up the posting list of each of the terms in the query and combines those lists according to the operators in the query.
  • For example, imagine the user enters the simple query “zoology.” In this case, the query engine would look up this term in the index and return each document found in the resulting posting list. If the user enters “zoology AND textbooks,” the query engine looks up both posting lists and returns their intersection. If the user enters “zoology OR husbandry,” the query engine looks up both posting lists and returns their union.
  • The execution of a simple query is illustrated in FIGS. 2A to 2C. As shown in FIG. 2A, an application or service may include a UI component 200 that includes a UI text box control 200 a for receiving terms for a query against a PCDB 220, such as an email store. A query component 210 that handles the packaging, transmission, reception and processing of results (illustrated as a single integrated component although each function may be provided as separate objects, which need not be co-located) receives a query “Term1 & Term2” and performs the query against the content in data store 220. It can be appreciated that a query can operate to examine document metadata as well as document content. For instance, a query may be associated with documents with a particular title, size, date, folder, etc.
  • Typically, then, as shown in FIG. 2B, after the query is received at 230, two posting lists are created at 240, i.e., one for Term1 and one for Term2 of the query. At 250, the posting lists are merge compared to reflect only documents that contain both Term1 and Term2, as shown in FIG. 2C. With a list of documents, or document IDs, that satisfy the query as represented by posting list PL, and depending upon the view desired in connection with the application including UI 200, information about the documents is displayed to the user. This might include the number of documents that satisfy the query and/or include the presentation of summary information, such as property information or other metadata, relating to the documents, or any other desirable view tailored to the posting list returned by the query engine. Thus, with a list of references to documents that satisfy the query, any view of those documents may thus be presented to the user at 260.
  • In some systems, a posting simply includes the identification of or reference to a document (“Doc ID”) containing the term. In others, a posting may include a Doc ID plus the count in that document to aid in certain forms of rankings. In others, a posting may include the Doc ID plus a list of locations within that document where the term occurs to aid in highlighting the search terms in the result set.
  • Posting lists are typically stored on and accessed from disks, which are sequential-access devices. Thus, an issue with the design of full-text indexes is the order in which postings are kept. Two different factors influence the ordering of these lists. One factor is support for combining posting lists. For example, if posting lists are sorted by Doc ID, then one can take the intersection of two posting lists by reading them sequentially, in parallel, and performing efficient merge operations on the lists. If they are not sorted, then taking an intersection involves reading the smaller one into RAM, which can be expensive.
  • The other factor influencing the order of posting lists is ranking: if it is possible to rank documents heavily, or if it is possible to rank postings in a fashion that is highly correlated with the anticipated rank of documents, then ordering posting lists according to these ranking factors can aid in a so-called “top-N” queries in which the goal is to return only the top-Nth highest-rank documents.
  • Thus, the particular form of a posting in a posting list may thus take a variety of forms depending upon the application, and the invention is not limited to operation in tandem with any particular form. It can be appreciated that the techniques of the invention may be applied to any implementation of a posting list, or, for that matter, with any mechanism for storing and retrieving personal data.
  • Aspects of an Exemplary Search-Based Email Client
  • FIG. 3 depicts the components of a message system with an email client 300. Such a system may comprise “client side” equipment 300—for example, a desktop computer, laptop computer, or PDA—and “server side” equipment 320 separated by a network 310. In general, the email client 300 accesses data from a variety of sources that may reside locally on the client 300, or on the server 320, or elsewhere on the network 310.
  • Referring to FIG. 4, all messaging client UIs 400 have what is referred to herein as a message list 410. A message list 410 may reside in a portion of a UI window 400, or in its own UI window (not shown). The message list 410 typically comprises message summaries 430 for the messages contained in a message context 420. A message context 420 is a meaningful collection of messages, such as the messages in the user's Inbox, the messages contained in some other folder, or the messages returned by running a search. A message summary 430 contains information meant to help the user predict the content and/or purpose of a message and thus determine whether he should retrieve the entire message. This information typically includes the sender, date, and subject-line of the message, and might include other information such as the size, a list of other recipients, a list of attachments, auxiliary information such as whether or not the message has an attachment or has been read, and/or the first few lines of the message itself. A message repository (not illustrated) is a stored collection of all messages. A message repository may be stored locally or on a server that is accessible to an email client.
  • FIG. 5A illustrates a search process 500 that can search through the emails in a plurality of groups 510-513, or contexts, within a repository 520. The search of all groups 510-513 an be conducted by default when a user orders a search. When a search is performed in the exemplary system of FIG. 5, the default domain is the entire repository of the user's messaging data. Due to the large volume of data that will generally be searched when the domain is expanded to include the entire repository 520, preferred embodiments operate in conjunction with a data store that efficiently indexes all content of an email message, including binary attachments. The user can further restrict the search to a smaller domain if the user so chooses.
  • FIG. 5B provides a simple flowchart displaying exemplary steps for searching a substantially complete email repository by default. Those steps are to initiate a search, either automatically or in response to some user action 530, then to search through a substantially entire email repository by default 540. Searching by default is searching without additional user action to specify the range, or scope, of the search. While typical email clients may provide the capability of searching an entire email repository, they do not do so by default and therefore require additional cogitation and/or action on the part of a user. This cogitation and action is both inefficient, frustrating, and unhealthy, as discussed in the background section.
  • FIG. 6A illustrates an email client search process 602 that can search a message body 600 by default. Also illustrated are the various components of the message header 601 which may also be searched. In an email message, if there are characters that appear in the body 600 of a message, the message may be retrieved if the characters are searched for. In the example of FIG. 6, the exemplary message would be returned to search process 602 in a search result set that queried for the word “PST.” Since PST appears in the body of the message, the message would be found. When a body search is conducted by default, no additional action is required by the user to have the system include text in the message body in the search domain.
  • Often, users will not remember the words in a subject line, or even from whom the message was sent. Email clients that perform default searching on subjects and senders/recipients without also searching the body therefore exclude a portion of emails that contains a wealth of potential search terms. As with default searching of an entire repository, as described above, searching email bodies by default can present a difficulty with the large volume of data that will generally be searched due to the expanded search range. Thus, preferred embodiments operate in conjunction with a data store that efficiently indexes the content of email messages. The user can further restrict the search to a smaller domain, e.g. by instructing the search process 602 not to search email bodies, if the user so chooses.
  • FIG. 6B provides a simple flowchart displaying exemplary steps for searching email bodies by default. Those steps are to initiate a search 630, either automatically or in response to some user action, then to search through emails within the search domain, e.g. a substantially entire repository as discussed above, by default 640. As mentioned above, searching by default is searching without additional user action to specify the range, or scope, of the search. In this case, no additional user action is required to demand a search of email bodies along with other email fields. While typical email clients may provide the capability of searching an email body, they do not do so by default and therefore require additional cogitation and/or action on the part of a user. This cogitation and action is both inefficient, frustrating, and unhealthy, as discussed in the background section.
  • FIG. 6C provides a simple flowchart displaying exemplary steps for searching email attachments. The search through an email attachment is also introduced in FIG. 6B, which displays a search process 602 that searches the content of an attachment 603 in addition to any other fields that may be searched. Referring back to FIG. 6C, the exemplary steps are to initiate a search 660, either automatically or in response to some user action, then to search through email attachments 670 to those emails within the search domain, e.g. a substantially entire repository as discussed above, and finally to return results 680 comprising messages with attachments that contained the data that was searched for. An email attachment is a file that is associated with an email message, such as an image file, a text document file, a spreadsheet file, or the like. Typically, attachments are saved in some file format that an email client is not equipped to open and display. The attachment can be saved and opened with the application that was used to create the attachment.
  • Present email clients do not provide mechanisms for searching attachments. This is likely due to difficulty with the large volume of data that will generally be searched due to the expanded search category. Attachments often contain a much larger amount of data than an associated email. Thus, preferred embodiments operate in conjunction with a data store that efficiently indexes the content of email attachments. The use of a posting list for effecting such indexing is described in the Querying and Indexing section above.
  • Attachments may also be searched by default in various embodiments of the invention. Searching by default is searching without additional user action to specify the range, or scope, of the search. In this case, no additional user action is required to demand a search of attachments along with other searched email fields. An advantage of searching attachments by default is that complete searches of email content can be performed without any user cogitation or action to specifically identify the attributes of his search. This cogitation and action is both inefficient, frustrating, and unhealthy, as discussed in the background section. When an embodiment of the invention conducts default searches of attachments, note that the user can always restrict the search to a smaller scope if desired, e.g. by instructing the search process 602 not to search email attachments, if the user so chooses.
  • In the example provided by FIG. 7, the email message 700 would be appear in a search result set for the key word “escalations” 720 since “escalations” 720 appears in the attachment 710 to the message 700. In embodiments that conduct attachment searches by default, no additional action is required by the user to have the system include text in the attachment body in the search domain.
  • In returning results to users, it is useful to display them in such a way that maximized the utility of the search results. An ordering of returned results that has proven useful is that of reverse-chronological order, with results that were generated most recently returned at the top of a result set and the older results returned below. Additionally, when the scope of search is expanded in the various ways described above, some filtering of the results may prove useful. To display the data in a meaningful result set, certain subsets may be excluded, such as unwanted messages that are either marked as deleted or spam.
  • FIG. 8 provides an exemplary mechanism 800 to remove a group of unwanted messages from query results. Building on the components of FIG. 5A, described above, FIG. 8 illustrates a filter layer 800 that can remove unwanted results from a set of results that are returned by a query. The filter layer 800 may then pass the results to the UI layer 801 for display in the UI. If any ordering of the results is to be conducted, this may be carried out by the search layer itself 500, by the filter layer 800, the UI layer 801, or any other component with access to the result set or the UI that is ultimately presented to a user.
  • Various embodiments of the invention may be tightly-integrated with spam fighting software. These embodiments can perform an exhaustive series of heuristic tests on the header and body of an email to automatically identify and block spam, while ensuring the safe and timely delivery of legitimate messages. The invention may also offer users an added layer of protection using a new Bayesian filtering system that, through a form of manual training combined with advanced machine learning, can study past spam to more accurately identify and combat the tactics and tricks spammers use for new types of spam. A proven solution for blocking spam messages, the anti-spam technology can work directly with other aspects of the invention via menu buttons labeled, for example, “Delete as Spam” and “Not Spam,” which allows the anti-spam technology of the invention to learn from what the user considers junk email. The invention may further include adjustable security settings that allow users to confidently preview a potential spam message without having to actually open the email, helping to avoid any viruses or embedded spyware that might alert spammers of a “live” email address. The invention can be configured to create spam report, which can provides details of each email marked as spam for a user's review, as well as the ability to filter multiple POP3 accounts on the user's desktop.
  • FIG. 9 illustrates a one-click search feature that may be implemented in various embodiments. A UI representation of an email 940, or email summary (not shown), may comprise search elements such as 900 and 910 which operate to initiate a search process 920 to search a repository 930 for a field associated with the selected search element 900, 910. The search elements 900, 910 may be associated with any field. In the exemplary embodiment of FIG. 9, two search elements 900, 910 are provided in the form of two magnifying glass icons that afford a user the ability to execute a related search to a given message with one mouse click. The user would click on the small magnifying glass icon 900 shown next to the subject field, for example, and a search process 920 would automatically execute a search of the repository 930 for other emails, or indeed any other personal data, or further any location on a network or internet, for the data of the subject line.
  • Upon clicking on the icon 900 next to the subject listing, a search may be performed to retrieve and display all messages that contain the same subject. Additional logic can be included in the search process 920 so that common modifications of the subject field, e.g. by adding, “Re:” and “Fw:” are ignored. In these embodiments, the messages that are stripped of such additional data may be treated as having the same subject as the original message.
  • Upon clicking on the exemplary icon 910 next to the sender listing, a search may be performed to retrieve and display all messages that contain the sender. The search process 920 may query sender fields, recipient fields, or any other fields in the repository 930 for the name of the sender or a portion thereof either as the sender or the recipient.
  • Note that the one click search icons 900, 910 are one embodiment of many, other icons may be used, or the search element can be the subject line or name of the sender itself. Furthermore, the one click search aspect may be applied to any aspect of an email or other item of personal data. Thus, a search element may be associated with the date field to find all emails or other data associated with that date. A search element may be associated with strategic parts of an email body to provide searching on those properties. The wide range of potential variations to this aspect of the invention with be appreciated by those of skill in the art.
  • FIG. 10 provides an exemplary email client UI 1000 with a search aggregation pane 1010 further innovation of the invention: the search aggregation pane 1010. In the exemplary embodiment of FIG. 10, the search aggregation pane 1010 is given a catchy name such as “triage center”, and is positioned on the left side of the UI 1000. The search aggregation pane 1010 is a way to make the sophisticated search capabilities user friendly—it can aggregate “views” and shortcuts, and can be tailored for vertical markets (i.e., a real estate search aggregation pane). The search aggregation pane 1010 different from the traditional folder hierarchy that present email clients utilize in a left column. The search aggregation pane 1010 can be supported by an aggregation process 1020 in conjunction with a search process 1030.

Claims (78)

1. A computer readable medium bearing instructions for displaying on a display a User Interface (UI) for an application that accesses and displays emails that are divided into two or more groups of emails, the instructions comprising:
instructions for displaying a plurality of email message summaries in a portion of the display;
instructions for executing a search, comprising:
instructions for receiving data; and
instructions for querying email messages associated with substantially all of the groups of emails for the data, wherein said instructions for executing a search initiate the instructions for querying email messages associated with substantially all of the groups of emails by default.
2. The computer readable medium of claim 1, further comprising instructions for returning the email messages containing the data to the UI for display.
3. The computer readable medium of claim 2, further comprising instructions for removing at least one email message containing the data from a set of emails that are returned.
4. The computer readable medium of claim 2, further comprising instructions for ordering the email messages that are returned in a reverse-chronological order.
5. The computer readable medium of claim 1 wherein said instructions for querying comprise instructions for querying the body of an email message, and wherein said instructions for executing a search initiate said instructions for querying the body by default.
6. The computer readable medium of claim 1 wherein said instructions for querying comprise instructions for querying an attachment to an email message.
7. The computer readable medium of claim 1, further comprising instructions for displaying a search element comprising a character entry area and a selectable element for initiating a search, wherein the instructions for receiving data retrieve the data from the character entry area.
8. The computer readable medium of claim 1, further comprising:
instructions for displaying at least one email message through a user interface (UI), wherein said at least one email message comprises one or more of a field providing a sender of an email, a field providing a recipient of an email, and a field providing a subject for an email;
instructions for displaying a selectable element that is associated with at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email;
instructions for executing a search for email messages that are related to the selectable element, wherein the search is executed upon selection of the selectable element.
9. The computer readable medium of claim 1 wherein said instructions for executing a search further comprise instructions for searching for the data in one or more of a calendar item, a task item, a contact, a file, an internet, and an intranet.
10. A method for displaying on a display a User Interface (UI) for an application that accesses and displays emails that are divided into two or more groups of emails, comprising:
displaying a plurality of email message summaries in a portion of the display;
executing a search, comprising:
receiving data entered in a search element;
querying email messages associated with substantially all of the groups of emails for the data, wherein said executing a search initiates the querying email messages associated with substantially all of the groups of emails by default.
11. The method of claim 10, further comprising returning the email messages containing the data to the UI for display.
12. The method of claim 11, further comprising removing at least one email message containing the data from a set of emails that are returned.
13. The method of claim 11, further comprising ordering the email messages that are returned in a reverse-chronological order.
14. The method of claim 10 wherein querying comprises querying the body of an email message, and wherein said executing a search initiates said querying the body by default.
15. The method of claim 10 wherein said querying comprises querying an attachment to an email message.
16. The method of claim 10, further comprising displaying a search element comprising a character entry area and a selectable element for initiating a search, wherein the receiving data retrieves the data from the character entry area.
17. The method of claim 10, further comprising:
displaying at least one email message through a user interface (UI), wherein said at least one email message comprises one or more of a field providing a sender of an email, a field providing a recipient of an email, and a field providing a subject for an email;
displaying a selectable element that is associated with at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email;
executing a search for email messages that are related to the selectable element, wherein the search is executed upon selection of the selectable element.
18. The method of claim 10 wherein said executing a search further comprises searching for the data in one or more of a calendar item, a task item, a contact, a file, an internet, and an intranet.
19. A computer readable medium bearing instructions for searching a plurality of emails for data, the instructions comprising:
instructions for displaying a plurality of email message summaries and a search element in a user interface (UI);
instructions for receiving data;
instructions for executing a search for the data comprising instructions for searching a body of at least one email, wherein said instructions for executing a search initiate instructions for searching a body of at least one email by default.
20. The computer readable medium of claim 19 wherein said instructions for executing a search also initiate instructions for searching one or more of a field providing a sender of an email, a field providing a recipient of an email, an attachment to an email, and a field providing a subject for an email.
21. The computer readable medium of claim 20, further comprising instructions for automatically removing data from a subject field prior to searching for the data in the subject field.
22. The computer readable medium of claim 21 wherein the instructions for automatically removing data from a subject field comprise instructions for removing the letters RE and the letters FW from the subject field.
23. The computer readable medium of claim 19 wherein said instructions for executing a search also initiate instructions for searching one or more of a calendar item, a task item, a contact, a file, an internet, and an intranet.
24. The computer readable medium of claim 19, further comprising:
instructions for displaying at least one email through a user interface (UI), wherein said at least one email comprises one or more of a field providing a sender of an email, a field providing a recipient of an email, and a field providing a subject for an email;
instructions for displaying a selectable element that is associated with at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email;
instructions for executing a search for emails that are related to the selectable element, wherein the search is executed upon selection of the selectable element.
25. A method for searching a plurality of emails for data comprising:
displaying a plurality of email message summaries and a search element in a user interface (UI);
receiving data;
executing a search for the data by searching a body of at least one email, wherein said executing a search initiates the instructions for searching a body of at least one email by default.
26. The method of claim 25 wherein said executing a search also initiates searching one or more of a field providing a sender of an email, a field providing a recipient of an email, an attachment to an email, and a field providing a subject for an email.
27. The method of claim 26, further comprising automatically removing data from a subject field prior to searching for the data in the subject field.
28. The method of claim 27 wherein the automatically removing data from a subject field comprises removing the letters RE and the letters FW from the subject field.
29. The method of claim 25 wherein said executing a search also initiates instructions for searching one or more of a calendar item, a task item, a contact, a file, an internet, and an intranet.
30. The method of claim 25, further comprising:
displaying at least one email through a user interface (UI), wherein said at least one email comprises one or more of a field providing a sender of an email, a field providing a recipient of an email, and a field providing a subject for an email;
displaying a selectable element that is associated with at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email;
executing a search for emails that are related to the selectable element, wherein the search is executed upon selection of the selectable element.
31. A computer readable medium bearing instructions for searching a plurality of emails for data, the instructions comprising:
instructions for displaying a plurality of email message summaries corresponding to a plurality of email messages in a user interface (UI);
instructions for receiving data;
instructions for querying an attachment to at least one of said plurality of emails for the data.
32. The computer readable medium of claim 31 wherein said instructions for querying an attachment are executed by default when a search is initiated.
33. The computer readable medium of claim 31 wherein said instructions for querying an attachment are instructions for querying an indexed data store containing attachment data.
34. The computer readable medium of claim 31, further comprising instructions for initiating a search of one or more of at least one email body, at least one field providing a sender of an email, at least one field providing a recipient of an email, at least one attachment to an email, and at least one field providing a subject for an email.
35. The computer readable medium of claim 34 wherein said instructions for initiating a search also initiate searching through one or more of a calendar item, a task item, a contact, a file, an internet, and an intranet.
36. The computer readable medium of claim 31, further comprising:
instructions for displaying at least one email through the UI, wherein said at least one email comprises one or more of a field providing a sender of an email, a field providing a recipient of an email, and a field providing a subject for an email;
instructions for displaying a selectable element that is associated with at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email;
instructions for executing a search for emails that are related to the selectable element, wherein the search is executed upon selection of the selectable element.
37. A method for searching a plurality of emails for data comprising:
displaying a plurality of email message summaries corresponding to a plurality of email messages in a user interface (UI);
receiving data;
querying an attachment to at least one of said plurality of emails for the data.
38. The method of claim 37 wherein said querying an attachment are executed by default when a search is initiated.
39. The method of claim 37 wherein said querying an attachment comprises querying an indexed data store containing attachment data.
40. The method of claim 37, further comprising initiating a search of one or more of at least one email body, at least one field providing a sender of an email, at least one field providing a recipient of an email, at least one attachment to an email, and at least one field providing a subject for an email.
41. The method of claim 40 wherein said initiating a search also initiates searching through one or more of a calendar item, a task item, a contact, a file, an internet, and an intranet.
42. The method of claim 37, further comprising:
displaying at least one email through the UI, wherein said at least one email comprises one or more of a field providing a sender of an email, a field providing a recipient of an email, and a field providing a subject for an email;
displaying a selectable element that is associated with at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email;
executing a search for emails that are related to the selectable element, wherein the search is executed upon selection of the selectable element.
43. A computer readable medium bearing instructions for searching a plurality of emails for data, the instructions comprising:
instructions for displaying at least one email through a user interface (UI), wherein said at least one email comprises one or more of a field providing a sender of an email, a field providing a recipient of an email, and a field providing a subject for an email;
instructions for displaying a selectable element that is associated with at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email;
instructions for executing a search for emails that are related to the selectable element, wherein the search is executed upon selection of the selectable element.
44. The computer readable medium of claim 43 wherein said at least one email is an email message summary that is displayed among a plurality of email message summaries through the UI.
45. The computer readable medium of claim 44 wherein the selectable element is an icon located substantially proximally to the at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email.
46. The computer readable medium of claim 44 wherein the selectable element overlaps the at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email such that selection of the at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email operates to execute the search.
47. The computer readable medium of claim 43 wherein said at least one email is a complete email message that is displayed in conjunction with a body of the complete email message through the UI.
48. The computer readable medium of claim 47 wherein the selectable element is an icon located substantially proximally to the at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email.
49. The computer readable medium of claim 47 wherein the selectable element overlaps the at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email such that selection of the at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email operates to execute the search.
50. The computer readable medium of claim 43 wherein the instructions for executing a search comprise instructions for initiating a search of one or more of at least one email body, at least one field providing a sender of an email, at least one field providing a recipient of an email, at least one attachment to an email, and at least one field providing a subject for an email.
51. The computer readable medium of claim 43 wherein said instructions for executing a search comprise instructions for searching through one or more of a calendar item, a task item, a contact, a file, an internet, and an intranet.
52. A method for searching a plurality of emails for data comprising:
displaying at least one email message through a user interface (UI), wherein said at least one email message comprises one or more of a from field, a to field, and a subject field;
displaying a selectable element that is associated with at least one of the from field, the to field, and the subject field;
executing a search for email messages that are related to the selectable element, wherein the search is executed upon selection of the selectable element.
53. The method of claim 52 wherein said at least one email is an email message summary that is displayed among a plurality of email message summaries through the UI.
54. The method of claim 53 wherein the selectable element is an icon located substantially proximally to the at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email.
55. The method of claim 53 wherein the selectable element overlaps the at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email such that selection of the at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email operates to execute the search.
56. The method of claim 52 wherein said at least one email is a complete email message that is displayed in conjunction with a body of the complete email message through the UI.
57. The method of claim 56 wherein the selectable element is an icon located substantially proximally to the at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email.
58. The method of claim 56 wherein the selectable element overlaps the at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email such that selection of the at least one of the field providing a sender of an email, the field providing a recipient of an email, and the field providing a subject for an email operates to execute the search.
59. The method of claim 52 wherein executing a search comprises initiating a search of one or more of at least one email body, at least one field providing a sender of an email, at least one field providing a recipient of an email, at least one attachment to an email, and at least one field providing a subject for an email.
60. The method of claim 52 wherein said executing a search comprises instructions for searching through one or more of a calendar item, a task item, a contact, a file, an internet, and an intranet.
61. A computer readable medium bearing instructions for displaying a User Interface (UI) on a display, the instructions comprising:
instructions for displaying a plurality of email message summaries in a portion of the display;
instructions for displaying a search element comprising a character entry area and a selectable element for initiating a search;
instructions for executing a search, comprising:
instructions for receiving data entered in the character entry area;
instructions for searching a plurality of email messages for the data;
instructions for searching for the data in one or more of a calendar item, a task item, a contact, a file, an internet, and an intranet;
instructions for initiating said searching the plurality of email messages and said instructions for searching for the data when said selectable element for initiating a search is selected.
62. The computer readable medium of claim 61 wherein said instructions for searching a plurality of email messages for the data comprise instructions for searching substantially all of a plurality of groups of email messages, and wherein said instructions for searching substantially all of a plurality of groups of email messages are executed by default.
63. The computer readable medium of claim 61 wherein said instructions for searching a plurality of email messages for the data comprise instructions for searching the body of at least one email message, and wherein said instructions for searching the body of at least one email message are executed by default.
64. The computer readable medium of claim 61 wherein said instructions for searching a plurality of email messages for the data comprise instructions for searching an attachment to at least one email message.
65. The computer readable medium of claim 61 i further comprising instructions for opening a new UI window and instructions for displaying any of the one or more of a calendar item, a task item, a contact, a file, an internet, and an intranet containing the data in the new UI window.
66. The computer readable medium of claim 65 wherein said new UI window is displayed so as not to substantially overlap the plurality of email message summaries in a portion of the display.
67. A method for displaying a User Interface (UI) on a display comprising:
displaying a plurality of email message summaries in a portion of the display;
displaying a search element comprising a character entry area and a selectable element for initiating a search;
executing a search, comprising:
receiving data entered in the character entry area;
searching a plurality of email messages for the data;
searching for the data in one or more of a calendar item, a task item, a contact, a file, an internet, and an intranet;
initiating the searching the plurality of email messages and the searching for the data when said selectable element for initiating a search is selected.
68. The method of claim 67 wherein said searching a plurality of email messages for the data comprises searching substantially all of a plurality of groups of email messages, and wherein said searching substantially all of a plurality of groups of email messages is executed by default.
69. The method of claim 67 wherein said searching a plurality of email messages for the data comprises searching the body of at least one email message, and wherein said searching the body of at least one email message is executed by default.
70. The method of claim 67 wherein said searching a plurality of email messages for the data comprises searching an attachment to at least one email message.
71. The method of claim 67, further comprising opening a new UI window and displaying any of the one or more of a calendar item, a task item, a contact, a file, an internet, and an intranet containing the data in the new UI window.
72. The method of claim 71 wherein said new UI window is displayed so as not to substantially overlap the plurality of email message summaries in a portion of the display.
73. A computing device comprising a computer readable medium bearing a plurality of computer executable instructions providing means for displaying a User Interface (IU) on a display, comprising:
means for displaying a plurality of email message summaries in a portion of the display;
means for displaying a search element comprising a character entry area and a selectable element for initiating a search;
means for executing a search, comprising:
means for receiving data entered in the character entry area;
means for searching a plurality of email messages for the data;
means for searching for the data in one or more of a calendar item, a task item, a contact, a file, an internet, and an intranet;
means for initiating the searching the plurality of email messages and the searching for the data when said selectable element for initiating a search is selected.
74. The computing device of claim 73 wherein said means for searching a plurality of email messages for the data comprises means for searching substantially all of a plurality of groups of email messages, and wherein said means for searching substantially all of a plurality of groups of email messages is executed by default.
75. The computing device of claim 73 wherein said means for searching a plurality of email messages for the data comprises means for searching the body of at least one email message, and wherein said means for searching the body of at least one email message is executed by default.
76. The computing device of claim 73 wherein said means for searching a plurality of email messages for the data comprises means for searching an attachment to at least one email message.
77. The computing device of claim 73, further comprising means for opening a new UI window and means for displaying any of the one or more of a calendar item, a task item, a contact, a file, an internet, and an intranet containing the data in the new UI window.
78. The computing device of claim 77 wherein said new UI window is displayed so as not to substantially overlap the plurality of email message summaries in a portion of the display.
US10/966,259 2003-10-17 2004-10-15 Systems and methods for a search-based email client Abandoned US20050144241A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/966,259 US20050144241A1 (en) 2003-10-17 2004-10-15 Systems and methods for a search-based email client
US13/854,904 US9438540B2 (en) 2003-10-17 2013-04-01 Systems and methods for a search-based email client
US15/188,679 US10182025B2 (en) 2003-10-17 2016-06-21 Systems and methods for a search-based email client

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51206603P 2003-10-17 2003-10-17
US10/966,259 US20050144241A1 (en) 2003-10-17 2004-10-15 Systems and methods for a search-based email client

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/854,904 Continuation US9438540B2 (en) 2003-10-17 2013-04-01 Systems and methods for a search-based email client

Publications (1)

Publication Number Publication Date
US20050144241A1 true US20050144241A1 (en) 2005-06-30

Family

ID=34704148

Family Applications (3)

Application Number Title Priority Date Filing Date
US10/966,259 Abandoned US20050144241A1 (en) 2003-10-17 2004-10-15 Systems and methods for a search-based email client
US13/854,904 Active 2026-08-04 US9438540B2 (en) 2003-10-17 2013-04-01 Systems and methods for a search-based email client
US15/188,679 Expired - Fee Related US10182025B2 (en) 2003-10-17 2016-06-21 Systems and methods for a search-based email client

Family Applications After (2)

Application Number Title Priority Date Filing Date
US13/854,904 Active 2026-08-04 US9438540B2 (en) 2003-10-17 2013-04-01 Systems and methods for a search-based email client
US15/188,679 Expired - Fee Related US10182025B2 (en) 2003-10-17 2016-06-21 Systems and methods for a search-based email client

Country Status (1)

Country Link
US (3) US20050144241A1 (en)

Cited By (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050120004A1 (en) * 2003-10-17 2005-06-02 Stata Raymond P. Systems and methods for indexing content for fast and scalable retrieval
US20050198076A1 (en) * 2003-10-17 2005-09-08 Stata Raymond P. Systems and methods for indexing content for fast and scalable retrieval
US20050223058A1 (en) * 2004-03-31 2005-10-06 Buchheit Paul T Identifying messages relevant to a search query in a conversation-based email system
US20050222985A1 (en) * 2004-03-31 2005-10-06 Paul Buchheit Email conversation management system
US20050223074A1 (en) * 2004-03-31 2005-10-06 Morris Robert P System and method for providing user selectable electronic message action choices and processing
US20050234850A1 (en) * 2004-03-31 2005-10-20 Buchheit Paul T Displaying conversations in a conversation-based email sysem
US20050278314A1 (en) * 2004-06-09 2005-12-15 Paul Buchheit Variable length snippet generation
US20060036964A1 (en) * 2004-08-16 2006-02-16 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US20060200528A1 (en) * 2005-01-25 2006-09-07 Krishna Pathiyal Method and system for processing data messages
US20060218145A1 (en) * 2005-03-28 2006-09-28 Microsoft Corporation System and method for identifying and removing potentially unwanted software
US20070061306A1 (en) * 2005-09-12 2007-03-15 Microsoft Corporation Search and find using expanded search scope
US20070061307A1 (en) * 2005-09-12 2007-03-15 Microsoft Corporation Integrated search and find user interface
WO2007033159A1 (en) 2005-09-12 2007-03-22 Microsoft Corporation Expanded search and find user interface
US20070083508A1 (en) * 2005-10-12 2007-04-12 Canon Kabushiki Kaisha Document search apparatus and method
US20070112744A1 (en) * 2004-06-25 2007-05-17 Yan Arrouye Methods and systems for managing data
US20070250583A1 (en) * 2006-04-20 2007-10-25 Research In Motion Limited System, method, and user interface for searching for messages with attachments on a mobile device
US20080071864A1 (en) * 2006-09-14 2008-03-20 International Business Machines Corporation System and method for user interest based search index optimization
WO2008034383A1 (en) * 2006-09-21 2008-03-27 Tencent Technology (Shenzhen) Company Limited A method, device and system for searching email
US20080098312A1 (en) * 2004-03-31 2008-04-24 Bay-Wei Chang Method, System, and Graphical User Interface for Dynamically Updating Transmission Characteristics in a Web Mail Reply
US20080235215A1 (en) * 2007-03-22 2008-09-25 Fujitsu Limited Data search method, recording medium recording program, and apparatus
US20080263159A1 (en) * 2004-12-17 2008-10-23 Sung-Wone Choi System and Method for Filtering Message
US20080294634A1 (en) * 2004-09-24 2008-11-27 International Business Machines Corporation System and article of manufacture for searching documents for ranges of numeric values
US20090083270A1 (en) * 2004-01-26 2009-03-26 International Business Machines Corporation System and program for handling anchor text
US20100011317A1 (en) * 2008-07-11 2010-01-14 Dong-Cheon Lee Mobile terminal and message inbox searching method thereof
US7747966B2 (en) 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
US20100198924A1 (en) * 2009-02-03 2010-08-05 International Business Machines Corporation Interactive avatar in messaging environment
US20100211562A1 (en) * 2009-02-13 2010-08-19 International Business Machines Corporation Multi-part record searches
US20100286174A1 (en) * 2009-03-19 2010-11-11 Duke University Inhibiting gsnor
US7886290B2 (en) 2005-06-16 2011-02-08 Microsoft Corporation Cross version and cross product user interface
US7895531B2 (en) 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US7945627B1 (en) * 2006-09-28 2011-05-17 Bitdefender IPR Management Ltd. Layout-based electronic communication filtering systems and methods
US7979501B1 (en) 2004-08-06 2011-07-12 Google Inc. Enhanced message display
US8010614B1 (en) 2007-11-01 2011-08-30 Bitdefender IPR Management Ltd. Systems and methods for generating signatures for electronic communication classification
US20110289072A1 (en) * 2010-05-24 2011-11-24 Microsoft Corporation Search-based system management
US8117542B2 (en) 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US8150930B2 (en) 2003-07-01 2012-04-03 Microsoft Corporation Automatic grouping of electronic mail
US8170966B1 (en) 2008-11-04 2012-05-01 Bitdefender IPR Management Ltd. Dynamic streaming message clustering for rapid spam-wave detection
US8185591B1 (en) 2005-09-30 2012-05-22 Google Inc. Systems and methods for viewing email attachments as thumbnails
US20120143960A1 (en) * 2010-12-03 2012-06-07 International Business Machines Corporation Related message detection and indication
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US8239882B2 (en) 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US8296304B2 (en) 2004-01-26 2012-10-23 International Business Machines Corporation Method, system, and program for handling redirects in a search engine
US8302014B2 (en) 2010-06-11 2012-10-30 Microsoft Corporation Merging modifications to user interface components while preserving user customizations
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
US8417693B2 (en) 2005-07-14 2013-04-09 International Business Machines Corporation Enforcing native access control to indexed documents
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8495144B1 (en) * 2004-10-06 2013-07-23 Trend Micro Incorporated Techniques for identifying spam e-mail
US8554852B2 (en) 2005-12-05 2013-10-08 Google Inc. System and method for targeting advertisements or other information using user geographical information
US8554939B1 (en) 2005-02-25 2013-10-08 Google Inc. Systems and methods for downloading and viewing images
US8583654B2 (en) 2011-07-27 2013-11-12 Google Inc. Indexing quoted text in messages in conversations to support advanced conversation-based searching
US8601004B1 (en) 2005-12-06 2013-12-03 Google Inc. System and method for targeting information items based on popularities of the information items
US8600970B2 (en) 2011-02-22 2013-12-03 Apple Inc. Server-side search of email attachments
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US20140019880A1 (en) * 2012-07-11 2014-01-16 Salesforce.Com, Inc. Community switching
US8689137B2 (en) 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US8695100B1 (en) 2007-12-31 2014-04-08 Bitdefender IPR Management Ltd. Systems and methods for electronic fraud prevention
US8700913B1 (en) 2011-09-23 2014-04-15 Trend Micro Incorporated Detection of fake antivirus in computers
US8745045B2 (en) 2010-11-17 2014-06-03 Malvika Bawri & Vinay Bawri Method and system for searching and ranking electronic mails based on predefined algorithms
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8775520B1 (en) * 2005-09-30 2014-07-08 Google Inc. Systems and methods for viewing non-HTML email attachments
US8788593B1 (en) 2005-02-25 2014-07-22 Google Inc. Systems and methods for downloading attachments
US8799353B2 (en) 2009-03-30 2014-08-05 Josef Larsson Scope-based extensibility for control surfaces
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
US9002725B1 (en) 2005-04-20 2015-04-07 Google Inc. System and method for targeting information based on message content
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US20150350143A1 (en) * 2014-06-01 2015-12-03 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US20160267182A1 (en) * 2015-03-13 2016-09-15 Naver Corporation Mail service system and method for effective mail search
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US9558186B2 (en) 2005-05-31 2017-01-31 Google Inc. Unsupervised extraction of facts
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US9760570B2 (en) 2006-10-20 2017-09-12 Google Inc. Finding and disambiguating references to entities on web pages
US9832156B2 (en) 2012-03-23 2017-11-28 Salesforce.Com, Inc. Social networking system communities and associated user privileges implemented using a database system
WO2018005265A1 (en) * 2016-06-30 2018-01-04 Microsoft Technology Licensing, Llc Surfacing attachments in email search suggestion dropdown
US9898162B2 (en) 2014-05-30 2018-02-20 Apple Inc. Swiping functions for messaging applications
US10437964B2 (en) 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
US10459955B1 (en) 2007-03-14 2019-10-29 Google Llc Determining geographic locations for place names
US10620812B2 (en) 2016-06-10 2020-04-14 Apple Inc. Device, method, and graphical user interface for managing electronic communications
US10880246B2 (en) 2016-10-24 2020-12-29 Snap Inc. Generating and displaying customized avatars in electronic messages
US10952013B1 (en) 2017-04-27 2021-03-16 Snap Inc. Selective location-based identity communication
US10963529B1 (en) 2017-04-27 2021-03-30 Snap Inc. Location-based search mechanism in a graphical user interface
US10984569B2 (en) 2016-06-30 2021-04-20 Snap Inc. Avatar based ideogram generation
US11048916B2 (en) 2016-03-31 2021-06-29 Snap Inc. Automated avatar generation
US11188168B2 (en) 2010-06-04 2021-11-30 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
US11481447B2 (en) * 2019-09-20 2022-10-25 Fujifilm Business Innovation Corp. Information processing device and non-transitory computer readable medium
US11607616B2 (en) 2012-05-08 2023-03-21 Snap Inc. System and method for generating and displaying avatars
US11842411B2 (en) 2017-04-27 2023-12-12 Snap Inc. Location-based virtual avatars
US11870743B1 (en) 2017-01-23 2024-01-09 Snap Inc. Customized digital avatar accessories

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004077317A1 (en) * 2003-02-28 2004-09-10 Sap Aktiengesellschaft Method and software application for processing electronic documents
US9659022B2 (en) * 2011-08-02 2017-05-23 International Business Machines Corporation File object browsing and searching across different domains
US20140244618A1 (en) * 2013-02-26 2014-08-28 Dropbox, Inc. Search interface for an online content management system

Citations (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4597468A (en) * 1982-12-06 1986-07-01 Kramer-Werke Gmbh Compact industrial vehicle
US4798260A (en) * 1986-03-27 1989-01-17 Kubota, Ltd. Steering apparatus for a front wheel drive tractor
US5701469A (en) * 1995-06-07 1997-12-23 Microsoft Corporation Method and system for generating accurate search results using a content-index
US5832476A (en) * 1994-06-29 1998-11-03 Hitachi, Ltd. Document searching method using forward and backward citation tables
US5878410A (en) * 1996-09-13 1999-03-02 Microsoft Corporation File system sort order indexes
US6061678A (en) * 1997-10-31 2000-05-09 Oracle Corporation Approach for managing access to large objects in database systems using large object indexes
US6061692A (en) * 1997-11-04 2000-05-09 Microsoft Corporation System and method for administering a meta database as an integral component of an information server
US6078924A (en) * 1998-01-30 2000-06-20 Aeneid Corporation Method and apparatus for performing data collection, interpretation and analysis, in an information platform
US6327574B1 (en) * 1998-07-07 2001-12-04 Encirq Corporation Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner
US20010054073A1 (en) * 2000-02-02 2001-12-20 International Business Machines Corporation Method and system for handling E-mail messages in a communication system
US6353925B1 (en) * 1999-09-22 2002-03-05 Compaq Computer Corporation System and method for lexing and parsing program annotations
US20020142755A1 (en) * 2001-03-28 2002-10-03 Kabushiki Kaisha Toshiba Mobile communication terminal and control data changing method thereof
US20020184380A1 (en) * 1998-12-30 2002-12-05 Chris Weider System and method for generating hierarchical forward knowledge
US6502095B2 (en) * 1999-09-09 2002-12-31 Lucent Technologies Inc. Timestamp-based system and method for serializing lazy updates in a distributed database
US20030120647A1 (en) * 2000-07-24 2003-06-26 Alex Aiken Method and apparatus for indexing document content and content comparison with World Wide Web search service
US6598051B1 (en) * 2000-09-19 2003-07-22 Altavista Company Web page connectivity server
US20030191737A1 (en) * 1999-12-20 2003-10-09 Steele Robert James Indexing system and method
US6654734B1 (en) * 2000-08-30 2003-11-25 International Business Machines Corporation System and method for query processing and optimization for XML repositories
US20030229299A1 (en) * 2002-06-05 2003-12-11 Fuji Photo Film Co., Ltd. Method of and system for evaluating joint and computer program for carrying out the method
US20030233224A1 (en) * 2001-08-14 2003-12-18 Insightful Corporation Method and system for enhanced data searching
US20040006456A1 (en) * 1998-11-30 2004-01-08 Wayne Loofbourrow Multi-language document search and retrieval system
US20040015478A1 (en) * 2000-11-30 2004-01-22 Pauly Duncan Gunther Database
US20040034688A1 (en) * 2002-08-16 2004-02-19 Xythos Software, Inc. Transfer and management of linked objects over networks
US6701359B1 (en) * 1998-07-28 2004-03-02 International Business Machines Corp. Apparatus and method for managing a multi-threaded persistent agent management information base including a managed object instance cache
US20040051812A1 (en) * 2000-10-24 2004-03-18 Hayward Monte Duane Method of collecting data using an embedded media player page
US20040055267A1 (en) * 1994-12-16 2004-03-25 Wright Manufacturing, Inc. Power mower with riding platform for supporting standing-operator
US20040064442A1 (en) * 2002-09-27 2004-04-01 Popovitch Steven Gregory Incremental search engine
US20040073536A1 (en) * 1999-11-30 2004-04-15 Charles Smith-Semedo System and method for computer-assisted manual and automatic logging of time-based media
US6725227B1 (en) * 1998-10-02 2004-04-20 Nec Corporation Advanced web bookmark database system
US20040093328A1 (en) * 2001-02-08 2004-05-13 Aditya Damle Methods and systems for automated semantic knowledge leveraging graph theoretic analysis and the inherent structure of communication
US20040124019A1 (en) * 2002-12-27 2004-07-01 Clive Harrup Suspended wheel end powered through trailing arm
US20040143569A1 (en) * 2002-09-03 2004-07-22 William Gross Apparatus and methods for locating data
US20040153436A1 (en) * 2002-10-15 2004-08-05 Pope Cameron A. Automated information management system and methods
US20040177061A1 (en) * 2003-03-05 2004-09-09 Zhichen Xu Method and apparatus for improving querying
US20040176940A1 (en) * 2003-03-05 2004-09-09 Abb Technology Ag Computer-aided tendering of power supply facilities
US20040181511A1 (en) * 2003-03-12 2004-09-16 Zhichen Xu Semantic querying a peer-to-peer network
US20040181607A1 (en) * 2003-03-13 2004-09-16 Zhichen Xu Method and apparatus for providing information in a peer-to-peer network
US20040199530A1 (en) * 2001-04-19 2004-10-07 Microsoft Corporation Method and system for creating a database table index using multiple processors
US20040205473A1 (en) * 2000-01-27 2004-10-14 Gwyn Fisher Method and system for implementing an enterprise information portal
US20040202214A1 (en) * 2002-10-18 2004-10-14 Aronson Lewis B. Flexible circuit design for improved laser bias connections to optical subassemblies
US20040205357A1 (en) * 2000-02-28 2004-10-14 360 Degree Web, Inc. Personal computing environment using mozilla
US6826566B2 (en) * 2002-01-14 2004-11-30 Speedtrack, Inc. Identifier vocabulary data access method and system
US7064688B2 (en) * 2001-07-09 2006-06-20 Good Technology, Inc. System and method for compressing data on a bandwidth-limited network
US7149748B1 (en) * 2003-05-06 2006-12-12 Sap Ag Expanded inverted index
US20070038449A1 (en) * 2004-03-01 2007-02-15 Coifman Robert E Method and apparatus for improving the transcription accuracy of speech recognition software
US7305381B1 (en) * 2001-09-14 2007-12-04 Ricoh Co., Ltd Asynchronous unconscious retrieval in a network of information appliances

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009694A1 (en) * 2001-02-25 2003-01-09 Storymail, Inc. Hardware architecture, operating system and network transport neutral system, method and computer program product for secure communications and messaging
US6961728B2 (en) 2000-11-28 2005-11-01 Centerboard, Inc. System and methods for highly distributed wide-area data management of a network of data sources through a database interface
MXPA03011976A (en) * 2001-06-22 2005-07-01 Nervana Inc System and method for knowledge retrieval, management, delivery and presentation.
US7403938B2 (en) * 2001-09-24 2008-07-22 Iac Search & Media, Inc. Natural language query processing
US7702666B2 (en) 2002-06-06 2010-04-20 Ricoh Company, Ltd. Full-text search device performing merge processing by using full-text index-for-registration/deletion storage part with performing registration/deletion processing by using other full-text index-for-registration/deletion storage part
US20040205514A1 (en) 2002-06-28 2004-10-14 Microsoft Corporation Hyperlink preview utility and method

Patent Citations (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4597468A (en) * 1982-12-06 1986-07-01 Kramer-Werke Gmbh Compact industrial vehicle
US4798260A (en) * 1986-03-27 1989-01-17 Kubota, Ltd. Steering apparatus for a front wheel drive tractor
US5832476A (en) * 1994-06-29 1998-11-03 Hitachi, Ltd. Document searching method using forward and backward citation tables
US20040055267A1 (en) * 1994-12-16 2004-03-25 Wright Manufacturing, Inc. Power mower with riding platform for supporting standing-operator
US5701469A (en) * 1995-06-07 1997-12-23 Microsoft Corporation Method and system for generating accurate search results using a content-index
US5878410A (en) * 1996-09-13 1999-03-02 Microsoft Corporation File system sort order indexes
US6061678A (en) * 1997-10-31 2000-05-09 Oracle Corporation Approach for managing access to large objects in database systems using large object indexes
US6061692A (en) * 1997-11-04 2000-05-09 Microsoft Corporation System and method for administering a meta database as an integral component of an information server
US6078924A (en) * 1998-01-30 2000-06-20 Aeneid Corporation Method and apparatus for performing data collection, interpretation and analysis, in an information platform
US6327574B1 (en) * 1998-07-07 2001-12-04 Encirq Corporation Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner
US6701359B1 (en) * 1998-07-28 2004-03-02 International Business Machines Corp. Apparatus and method for managing a multi-threaded persistent agent management information base including a managed object instance cache
US6725227B1 (en) * 1998-10-02 2004-04-20 Nec Corporation Advanced web bookmark database system
US20040006456A1 (en) * 1998-11-30 2004-01-08 Wayne Loofbourrow Multi-language document search and retrieval system
US20020184380A1 (en) * 1998-12-30 2002-12-05 Chris Weider System and method for generating hierarchical forward knowledge
US6502095B2 (en) * 1999-09-09 2002-12-31 Lucent Technologies Inc. Timestamp-based system and method for serializing lazy updates in a distributed database
US6353925B1 (en) * 1999-09-22 2002-03-05 Compaq Computer Corporation System and method for lexing and parsing program annotations
US20040073536A1 (en) * 1999-11-30 2004-04-15 Charles Smith-Semedo System and method for computer-assisted manual and automatic logging of time-based media
US20030191737A1 (en) * 1999-12-20 2003-10-09 Steele Robert James Indexing system and method
US20040205473A1 (en) * 2000-01-27 2004-10-14 Gwyn Fisher Method and system for implementing an enterprise information portal
US20010054073A1 (en) * 2000-02-02 2001-12-20 International Business Machines Corporation Method and system for handling E-mail messages in a communication system
US20040205357A1 (en) * 2000-02-28 2004-10-14 360 Degree Web, Inc. Personal computing environment using mozilla
US20030120647A1 (en) * 2000-07-24 2003-06-26 Alex Aiken Method and apparatus for indexing document content and content comparison with World Wide Web search service
US6654734B1 (en) * 2000-08-30 2003-11-25 International Business Machines Corporation System and method for query processing and optimization for XML repositories
US6598051B1 (en) * 2000-09-19 2003-07-22 Altavista Company Web page connectivity server
US20040051812A1 (en) * 2000-10-24 2004-03-18 Hayward Monte Duane Method of collecting data using an embedded media player page
US20040015478A1 (en) * 2000-11-30 2004-01-22 Pauly Duncan Gunther Database
US20040093328A1 (en) * 2001-02-08 2004-05-13 Aditya Damle Methods and systems for automated semantic knowledge leveraging graph theoretic analysis and the inherent structure of communication
US20020142755A1 (en) * 2001-03-28 2002-10-03 Kabushiki Kaisha Toshiba Mobile communication terminal and control data changing method thereof
US20040199530A1 (en) * 2001-04-19 2004-10-07 Microsoft Corporation Method and system for creating a database table index using multiple processors
US7064688B2 (en) * 2001-07-09 2006-06-20 Good Technology, Inc. System and method for compressing data on a bandwidth-limited network
US20030233224A1 (en) * 2001-08-14 2003-12-18 Insightful Corporation Method and system for enhanced data searching
US7305381B1 (en) * 2001-09-14 2007-12-04 Ricoh Co., Ltd Asynchronous unconscious retrieval in a network of information appliances
US6826566B2 (en) * 2002-01-14 2004-11-30 Speedtrack, Inc. Identifier vocabulary data access method and system
US20030229299A1 (en) * 2002-06-05 2003-12-11 Fuji Photo Film Co., Ltd. Method of and system for evaluating joint and computer program for carrying out the method
US20040034688A1 (en) * 2002-08-16 2004-02-19 Xythos Software, Inc. Transfer and management of linked objects over networks
US20040143569A1 (en) * 2002-09-03 2004-07-22 William Gross Apparatus and methods for locating data
US20040064442A1 (en) * 2002-09-27 2004-04-01 Popovitch Steven Gregory Incremental search engine
US20040153436A1 (en) * 2002-10-15 2004-08-05 Pope Cameron A. Automated information management system and methods
US20040202214A1 (en) * 2002-10-18 2004-10-14 Aronson Lewis B. Flexible circuit design for improved laser bias connections to optical subassemblies
US20040124019A1 (en) * 2002-12-27 2004-07-01 Clive Harrup Suspended wheel end powered through trailing arm
US20040176940A1 (en) * 2003-03-05 2004-09-09 Abb Technology Ag Computer-aided tendering of power supply facilities
US20040177061A1 (en) * 2003-03-05 2004-09-09 Zhichen Xu Method and apparatus for improving querying
US20040181511A1 (en) * 2003-03-12 2004-09-16 Zhichen Xu Semantic querying a peer-to-peer network
US20040181607A1 (en) * 2003-03-13 2004-09-16 Zhichen Xu Method and apparatus for providing information in a peer-to-peer network
US7149748B1 (en) * 2003-05-06 2006-12-12 Sap Ag Expanded inverted index
US20070038449A1 (en) * 2004-03-01 2007-02-15 Coifman Robert E Method and apparatus for improving the transcription accuracy of speech recognition software

Cited By (220)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150930B2 (en) 2003-07-01 2012-04-03 Microsoft Corporation Automatic grouping of electronic mail
US10482429B2 (en) 2003-07-01 2019-11-19 Microsoft Technology Licensing, Llc Automatic grouping of electronic mail
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
US20050198076A1 (en) * 2003-10-17 2005-09-08 Stata Raymond P. Systems and methods for indexing content for fast and scalable retrieval
US7849063B2 (en) 2003-10-17 2010-12-07 Yahoo! Inc. Systems and methods for indexing content for fast and scalable retrieval
US20100145918A1 (en) * 2003-10-17 2010-06-10 Stata Raymond P Systems and methods for indexing content for fast and scalable retrieval
US7620624B2 (en) * 2003-10-17 2009-11-17 Yahoo! Inc. Systems and methods for indexing content for fast and scalable retrieval
US20050120004A1 (en) * 2003-10-17 2005-06-02 Stata Raymond P. Systems and methods for indexing content for fast and scalable retrieval
US10437964B2 (en) 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
US8285724B2 (en) 2004-01-26 2012-10-09 International Business Machines Corporation System and program for handling anchor text
US8296304B2 (en) 2004-01-26 2012-10-23 International Business Machines Corporation Method, system, and program for handling redirects in a search engine
US20090083270A1 (en) * 2004-01-26 2009-03-26 International Business Machines Corporation System and program for handling anchor text
US9602456B2 (en) 2004-03-31 2017-03-21 Google Inc. Systems and methods for applying user actions to conversation messages
US20050223074A1 (en) * 2004-03-31 2005-10-06 Morris Robert P System and method for providing user selectable electronic message action choices and processing
US10757055B2 (en) 2004-03-31 2020-08-25 Google Llc Email conversation management system
US10284506B2 (en) 2004-03-31 2019-05-07 Google Llc Displaying conversations in a conversation-based email system
US8583747B2 (en) 2004-03-31 2013-11-12 Google Inc. Labeling messages of conversations and snoozing labeled conversations in a conversation-based email system
US8626851B2 (en) 2004-03-31 2014-01-07 Google Inc. Email conversation management system
US8560615B2 (en) 2004-03-31 2013-10-15 Google Inc. Displaying conversation views in a conversation-based email system
US9063989B2 (en) 2004-03-31 2015-06-23 Google Inc. Retrieving and snoozing categorized conversations in a conversation-based email system
US9819624B2 (en) 2004-03-31 2017-11-14 Google Inc. Displaying conversations in a conversation-based email system
US9794207B2 (en) 2004-03-31 2017-10-17 Google Inc. Email conversation management system
US9734216B2 (en) 2004-03-31 2017-08-15 Google Inc. Systems and methods for re-ranking displayed conversations
US8621022B2 (en) 2004-03-31 2013-12-31 Google, Inc. Primary and secondary recipient indicators for conversations
US20080098312A1 (en) * 2004-03-31 2008-04-24 Bay-Wei Chang Method, System, and Graphical User Interface for Dynamically Updating Transmission Characteristics in a Web Mail Reply
US8700717B2 (en) 2004-03-31 2014-04-15 Google Inc. Email conversation management system
US8533274B2 (en) 2004-03-31 2013-09-10 Google Inc. Retrieving and snoozing categorized conversations in a conversation-based email system
US9063990B2 (en) 2004-03-31 2015-06-23 Google Inc. Providing snippets relevant to a search query in a conversation-based email system
US9071566B2 (en) 2004-03-31 2015-06-30 Google Inc. Retrieving conversations that match a search query
US9124543B2 (en) 2004-03-31 2015-09-01 Google Inc. Compacted mode for displaying messages in a conversation
US20050262203A1 (en) * 2004-03-31 2005-11-24 Paul Buchheit Email system with conversation-centric user interface
US20050234910A1 (en) * 2004-03-31 2005-10-20 Buchheit Paul T Categorizing and snoozing conversations in a conversation-based email system
US8150924B2 (en) 2004-03-31 2012-04-03 Google Inc. Associating email messages with conversations
US8346859B2 (en) 2004-03-31 2013-01-01 Google Inc. Method, system, and graphical user interface for dynamically updating transmission characteristics in a web mail reply
US20100057879A1 (en) * 2004-03-31 2010-03-04 Buchheit Paul T Retrieving and snoozing categorized conversations in a conversation-based email system
US20100064017A1 (en) * 2004-03-31 2010-03-11 Buchheit Paul T Labeling Messages of Conversations and Snoozing Labeled Conversations in a Conversation-Based Email System
US20050234850A1 (en) * 2004-03-31 2005-10-20 Buchheit Paul T Displaying conversations in a conversation-based email sysem
US8601062B2 (en) 2004-03-31 2013-12-03 Google Inc. Providing snippets relevant to a search query in a conversation-based email system
US20050223057A1 (en) * 2004-03-31 2005-10-06 Buchheit Paul T Processing messages in a conversation-based email system
US20050222985A1 (en) * 2004-03-31 2005-10-06 Paul Buchheit Email conversation management system
US10706060B2 (en) 2004-03-31 2020-07-07 Google Llc Systems and methods for re-ranking displayed conversations
US20050223066A1 (en) * 2004-03-31 2005-10-06 Buchheit Paul T Displaying conversation views in a conversation-based email system
US9418105B2 (en) 2004-03-31 2016-08-16 Google Inc. Email conversation management system
US7788326B2 (en) * 2004-03-31 2010-08-31 Google Inc. Conversation-based email messaging
US7814155B2 (en) 2004-03-31 2010-10-12 Google Inc. Email conversation management system
US7818378B2 (en) 2004-03-31 2010-10-19 Google Inc. Displaying conversation views in a conversation-based email system
US20100281397A1 (en) * 2004-03-31 2010-11-04 Buchheit Paul T Displaying Conversation Views in a Conversation-Based Email System
US9395865B2 (en) 2004-03-31 2016-07-19 Google Inc. Systems, methods, and graphical user interfaces for concurrent display of reply message and multiple response options
US20100293242A1 (en) * 2004-03-31 2010-11-18 Buchheit Paul T Conversation-Based E-Mail Messaging
US20050223067A1 (en) * 2004-03-31 2005-10-06 Buchheit Paul T Providing snippets relevant to a search query in a conversation-based email system
US20110016188A1 (en) * 2004-03-31 2011-01-20 Paul Buchheit Email Conversation Management System
US20110016189A1 (en) * 2004-03-31 2011-01-20 Paul Buchheit Email Conversation Management System
US9015257B2 (en) 2004-03-31 2015-04-21 Google Inc. Labeling messages with conversation labels and message labels
US20050223058A1 (en) * 2004-03-31 2005-10-06 Buchheit Paul T Identifying messages relevant to a search query in a conversation-based email system
US7912904B2 (en) 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
US9015264B2 (en) 2004-03-31 2015-04-21 Google Inc. Primary and secondary recipient indicators for conversations
US8010599B2 (en) 2004-03-31 2011-08-30 Google Inc. Method, system, and graphical user interface for dynamically updating transmission characteristics in a web mail reply
US20120124038A1 (en) * 2004-06-09 2012-05-17 Paul Buchheit Variable Length Snippet Generation
US20050278314A1 (en) * 2004-06-09 2005-12-15 Paul Buchheit Variable length snippet generation
US8452751B2 (en) * 2004-06-25 2013-05-28 Apple Inc. Methods and systems for managing data
US20070112744A1 (en) * 2004-06-25 2007-05-17 Yan Arrouye Methods and systems for managing data
US20110191694A1 (en) * 2004-08-06 2011-08-04 Coleman Keith J Enhanced Message Display
US7979501B1 (en) 2004-08-06 2011-07-12 Google Inc. Enhanced message display
US8782156B2 (en) 2004-08-06 2014-07-15 Google Inc. Enhanced message display
US9690450B2 (en) 2004-08-16 2017-06-27 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US9645698B2 (en) 2004-08-16 2017-05-09 Microsoft Technology Licensing, Llc User interface for displaying a gallery of formatting options applicable to a selected object
US8117542B2 (en) 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US9223477B2 (en) 2004-08-16 2015-12-29 Microsoft Technology Licensing, Llc Command user interface for displaying selectable software functionality controls
US10635266B2 (en) 2004-08-16 2020-04-28 Microsoft Technology Licensing, Llc User interface for displaying selectable software functionality controls that are relevant to a selected object
US10521081B2 (en) 2004-08-16 2019-12-31 Microsoft Technology Licensing, Llc User interface for displaying a gallery of formatting options
US7895531B2 (en) 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US20060036964A1 (en) * 2004-08-16 2006-02-16 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US9015624B2 (en) 2004-08-16 2015-04-21 Microsoft Corporation Floating command object
US10437431B2 (en) 2004-08-16 2019-10-08 Microsoft Technology Licensing, Llc Command user interface for displaying selectable software functionality controls
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US9864489B2 (en) 2004-08-16 2018-01-09 Microsoft Corporation Command user interface for displaying multiple sections of software functionality controls
US9690448B2 (en) 2004-08-16 2017-06-27 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US8655888B2 (en) 2004-09-24 2014-02-18 International Business Machines Corporation Searching documents for ranges of numeric values
US8346759B2 (en) 2004-09-24 2013-01-01 International Business Machines Corporation Searching documents for ranges of numeric values
US8271498B2 (en) * 2004-09-24 2012-09-18 International Business Machines Corporation Searching documents for ranges of numeric values
US20080301130A1 (en) * 2004-09-24 2008-12-04 International Business Machines Corporation Method, system and article of manufacture for searching documents for ranges of numeric values
US20080294634A1 (en) * 2004-09-24 2008-11-27 International Business Machines Corporation System and article of manufacture for searching documents for ranges of numeric values
US8839139B2 (en) 2004-09-30 2014-09-16 Microsoft Corporation User interface for providing task management and calendar information
US7747966B2 (en) 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
US8495144B1 (en) * 2004-10-06 2013-07-23 Trend Micro Incorporated Techniques for identifying spam e-mail
US20080263159A1 (en) * 2004-12-17 2008-10-23 Sung-Wone Choi System and Method for Filtering Message
US7725550B2 (en) * 2004-12-17 2010-05-25 Nhn Corporation System and method for filtering message
US20060200528A1 (en) * 2005-01-25 2006-09-07 Krishna Pathiyal Method and system for processing data messages
US9509647B2 (en) 2005-02-25 2016-11-29 Google Inc. Systems and methods for downloading and viewing images
US8788593B1 (en) 2005-02-25 2014-07-22 Google Inc. Systems and methods for downloading attachments
US8554939B1 (en) 2005-02-25 2013-10-08 Google Inc. Systems and methods for downloading and viewing images
US20060218145A1 (en) * 2005-03-28 2006-09-28 Microsoft Corporation System and method for identifying and removing potentially unwanted software
US7685149B2 (en) * 2005-03-28 2010-03-23 Microsoft Corporation Identifying and removing potentially unwanted software
US9002725B1 (en) 2005-04-20 2015-04-07 Google Inc. System and method for targeting information based on message content
US9558186B2 (en) 2005-05-31 2017-01-31 Google Inc. Unsupervised extraction of facts
US7886290B2 (en) 2005-06-16 2011-02-08 Microsoft Corporation Cross version and cross product user interface
US8417693B2 (en) 2005-07-14 2013-04-09 International Business Machines Corporation Enforcing native access control to indexed documents
US8239882B2 (en) 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US8689137B2 (en) 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
EP1924935A1 (en) * 2005-09-12 2008-05-28 Microsoft Corporation Expanded search and find user interface
EP1924935A4 (en) * 2005-09-12 2012-01-04 Microsoft Corp Expanded search and find user interface
US20070061307A1 (en) * 2005-09-12 2007-03-15 Microsoft Corporation Integrated search and find user interface
US7739259B2 (en) 2005-09-12 2010-06-15 Microsoft Corporation Integrated search and find user interface
US9513781B2 (en) 2005-09-12 2016-12-06 Microsoft Technology Licensing, Llc Expanded search and find user interface
US20070061306A1 (en) * 2005-09-12 2007-03-15 Microsoft Corporation Search and find using expanded search scope
WO2007033159A1 (en) 2005-09-12 2007-03-22 Microsoft Corporation Expanded search and find user interface
US7627561B2 (en) 2005-09-12 2009-12-01 Microsoft Corporation Search and find using expanded search scope
KR101343270B1 (en) * 2005-09-12 2013-12-18 마이크로소프트 코포레이션 Expanded search and find user interface
US10248687B2 (en) 2005-09-12 2019-04-02 Microsoft Technology Licensing, Llc Expanded search and find user interface
US8627222B2 (en) * 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US8775520B1 (en) * 2005-09-30 2014-07-08 Google Inc. Systems and methods for viewing non-HTML email attachments
US20120226760A1 (en) * 2005-09-30 2012-09-06 Darren Lewis System and Method for Displaying Search Results Including Email Attachments
US8943153B2 (en) * 2005-09-30 2015-01-27 Google Inc. System and method for displaying search results including email attachments
US8185591B1 (en) 2005-09-30 2012-05-22 Google Inc. Systems and methods for viewing email attachments as thumbnails
US20070083508A1 (en) * 2005-10-12 2007-04-12 Canon Kabushiki Kaisha Document search apparatus and method
US8554852B2 (en) 2005-12-05 2013-10-08 Google Inc. System and method for targeting advertisements or other information using user geographical information
US8601004B1 (en) 2005-12-06 2013-12-03 Google Inc. System and method for targeting information items based on popularities of the information items
US8099467B2 (en) * 2006-04-20 2012-01-17 Research In Motion Limited System, method, and user interface for searching for messages with attachments on a mobile device
US20070250578A1 (en) * 2006-04-20 2007-10-25 Research In Motion Limited Searching for electronic mail (email) messages with attachments at a wireless communication device
US9805341B2 (en) * 2006-04-20 2017-10-31 Blackberry Limited System, method, and user interface for searching for messages with attachments on a mobile device
US20110314118A1 (en) * 2006-04-20 2011-12-22 Research In Motion Limited System, method, and user interface for searching for messages with attachments on a mobile device
US8156187B2 (en) 2006-04-20 2012-04-10 Research In Motion Limited Searching for electronic mail (email) messages with attachments at a wireless communication device
US20070250583A1 (en) * 2006-04-20 2007-10-25 Research In Motion Limited System, method, and user interface for searching for messages with attachments on a mobile device
US8638333B2 (en) 2006-06-01 2014-01-28 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US10482637B2 (en) 2006-06-01 2019-11-19 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US20080071864A1 (en) * 2006-09-14 2008-03-20 International Business Machines Corporation System and method for user interest based search index optimization
WO2008034383A1 (en) * 2006-09-21 2008-03-27 Tencent Technology (Shenzhen) Company Limited A method, device and system for searching email
US7945627B1 (en) * 2006-09-28 2011-05-17 Bitdefender IPR Management Ltd. Layout-based electronic communication filtering systems and methods
US9760570B2 (en) 2006-10-20 2017-09-12 Google Inc. Finding and disambiguating references to entities on web pages
US10459955B1 (en) 2007-03-14 2019-10-29 Google Llc Determining geographic locations for place names
US20080235215A1 (en) * 2007-03-22 2008-09-25 Fujitsu Limited Data search method, recording medium recording program, and apparatus
US9619116B2 (en) 2007-06-29 2017-04-11 Microsoft Technology Licensing, Llc Communication between a document editor in-space user interface and a document editor out-space user interface
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US10521073B2 (en) 2007-06-29 2019-12-31 Microsoft Technology Licensing, Llc Exposing non-authoring features through document status information in an out-space user interface
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US10642927B2 (en) 2007-06-29 2020-05-05 Microsoft Technology Licensing, Llc Transitions between user interfaces in a content editing application
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US10592073B2 (en) 2007-06-29 2020-03-17 Microsoft Technology Licensing, Llc Exposing non-authoring features through document status information in an out-space user interface
US9098473B2 (en) 2007-06-29 2015-08-04 Microsoft Technology Licensing, Llc Accessing an out-space user interface for a document editor program
US8010614B1 (en) 2007-11-01 2011-08-30 Bitdefender IPR Management Ltd. Systems and methods for generating signatures for electronic communication classification
US8695100B1 (en) 2007-12-31 2014-04-08 Bitdefender IPR Management Ltd. Systems and methods for electronic fraud prevention
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US10997562B2 (en) 2008-06-20 2021-05-04 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US9338114B2 (en) 2008-06-24 2016-05-10 Microsoft Technology Licensing, Llc Automatic conversation techniques
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
US8332762B2 (en) * 2008-07-11 2012-12-11 Lg Electronics Inc. Mobile terminal and message inbox searching method thereof
US20100011317A1 (en) * 2008-07-11 2010-01-14 Dong-Cheon Lee Mobile terminal and message inbox searching method thereof
US8170966B1 (en) 2008-11-04 2012-05-01 Bitdefender IPR Management Ltd. Dynamic streaming message clustering for rapid spam-wave detection
US9749270B2 (en) 2009-02-03 2017-08-29 Snap Inc. Interactive avatar in messaging environment
US11425068B2 (en) 2009-02-03 2022-08-23 Snap Inc. Interactive avatar in messaging environment
US9105014B2 (en) * 2009-02-03 2015-08-11 International Business Machines Corporation Interactive avatar in messaging environment
US10158589B2 (en) 2009-02-03 2018-12-18 Snap Inc. Interactive avatar in messaging environment
US20100198924A1 (en) * 2009-02-03 2010-08-05 International Business Machines Corporation Interactive avatar in messaging environment
US20100211562A1 (en) * 2009-02-13 2010-08-19 International Business Machines Corporation Multi-part record searches
US8612431B2 (en) * 2009-02-13 2013-12-17 International Business Machines Corporation Multi-part record searches
US20100286174A1 (en) * 2009-03-19 2010-11-11 Duke University Inhibiting gsnor
US8799353B2 (en) 2009-03-30 2014-08-05 Josef Larsson Scope-based extensibility for control surfaces
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US9875009B2 (en) 2009-05-12 2018-01-23 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US20110289072A1 (en) * 2010-05-24 2011-11-24 Microsoft Corporation Search-based system management
US11709560B2 (en) 2010-06-04 2023-07-25 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
US11188168B2 (en) 2010-06-04 2021-11-30 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
US8302014B2 (en) 2010-06-11 2012-10-30 Microsoft Corporation Merging modifications to user interface components while preserving user customizations
US8745045B2 (en) 2010-11-17 2014-06-03 Malvika Bawri & Vinay Bawri Method and system for searching and ranking electronic mails based on predefined algorithms
US9055018B2 (en) * 2010-12-03 2015-06-09 International Business Machines Corporation Related message detection and indication
US20120143960A1 (en) * 2010-12-03 2012-06-07 International Business Machines Corporation Related message detection and indication
US8600970B2 (en) 2011-02-22 2013-12-03 Apple Inc. Server-side search of email attachments
US8583654B2 (en) 2011-07-27 2013-11-12 Google Inc. Indexing quoted text in messages in conversations to support advanced conversation-based searching
US8972409B2 (en) 2011-07-27 2015-03-03 Google Inc. Enabling search for conversations with two messages each having a query team
US9009142B2 (en) 2011-07-27 2015-04-14 Google Inc. Index entries configured to support both conversation and message based searching
US9037601B2 (en) 2011-07-27 2015-05-19 Google Inc. Conversation system and method for performing both conversation-based queries and message-based queries
US9262455B2 (en) 2011-07-27 2016-02-16 Google Inc. Indexing quoted text in messages in conversations to support advanced conversation-based searching
US8700913B1 (en) 2011-09-23 2014-04-15 Trend Micro Incorporated Detection of fake antivirus in computers
US9832156B2 (en) 2012-03-23 2017-11-28 Salesforce.Com, Inc. Social networking system communities and associated user privileges implemented using a database system
US11240190B2 (en) 2012-03-23 2022-02-01 Salesforce.Com, Inc. Social network communities
US10218667B2 (en) 2012-03-23 2019-02-26 Salesforce.Com, Inc. Social network communities
US11607616B2 (en) 2012-05-08 2023-03-21 Snap Inc. System and method for generating and displaying avatars
US11925869B2 (en) 2012-05-08 2024-03-12 Snap Inc. System and method for generating and displaying avatars
US20140019880A1 (en) * 2012-07-11 2014-01-16 Salesforce.Com, Inc. Community switching
US11226724B2 (en) 2014-05-30 2022-01-18 Apple Inc. Swiping functions for messaging applications
US10739947B2 (en) 2014-05-30 2020-08-11 Apple Inc. Swiping functions for messaging applications
US9898162B2 (en) 2014-05-30 2018-02-20 Apple Inc. Swiping functions for messaging applications
US10416882B2 (en) * 2014-06-01 2019-09-17 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US11068157B2 (en) 2014-06-01 2021-07-20 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
TWI719934B (en) * 2014-06-01 2021-03-01 美商蘋果公司 Computer-implemented method, non-transitory computer-readable storage medium and device for displaying user interfaces on a display and detecting gestures using a touch-sensitive surface
US20180260109A1 (en) * 2014-06-01 2018-09-13 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US20150350143A1 (en) * 2014-06-01 2015-12-03 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US11494072B2 (en) 2014-06-01 2022-11-08 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US11868606B2 (en) 2014-06-01 2024-01-09 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US9971500B2 (en) * 2014-06-01 2018-05-15 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US20160267182A1 (en) * 2015-03-13 2016-09-15 Naver Corporation Mail service system and method for effective mail search
US10762096B2 (en) * 2015-03-13 2020-09-01 Naver Corporation Method for providing mail search result including at least one mail card, and mail service system for performing same
US11048916B2 (en) 2016-03-31 2021-06-29 Snap Inc. Automated avatar generation
US11631276B2 (en) 2016-03-31 2023-04-18 Snap Inc. Automated avatar generation
US10620812B2 (en) 2016-06-10 2020-04-14 Apple Inc. Device, method, and graphical user interface for managing electronic communications
US10984569B2 (en) 2016-06-30 2021-04-20 Snap Inc. Avatar based ideogram generation
WO2018005265A1 (en) * 2016-06-30 2018-01-04 Microsoft Technology Licensing, Llc Surfacing attachments in email search suggestion dropdown
US10897443B2 (en) 2016-06-30 2021-01-19 Microsoft Technology Licensing, Llc Surfacing attachments in email search suggestion dropdown
US10938758B2 (en) 2016-10-24 2021-03-02 Snap Inc. Generating and displaying customized avatars in media overlays
US11876762B1 (en) 2016-10-24 2024-01-16 Snap Inc. Generating and displaying customized avatars in media overlays
US11218433B2 (en) 2016-10-24 2022-01-04 Snap Inc. Generating and displaying customized avatars in electronic messages
US10880246B2 (en) 2016-10-24 2020-12-29 Snap Inc. Generating and displaying customized avatars in electronic messages
US11843456B2 (en) 2016-10-24 2023-12-12 Snap Inc. Generating and displaying customized avatars in media overlays
US11870743B1 (en) 2017-01-23 2024-01-09 Snap Inc. Customized digital avatar accessories
US11451956B1 (en) 2017-04-27 2022-09-20 Snap Inc. Location privacy management on map-based social media platforms
US10952013B1 (en) 2017-04-27 2021-03-16 Snap Inc. Selective location-based identity communication
US10963529B1 (en) 2017-04-27 2021-03-30 Snap Inc. Location-based search mechanism in a graphical user interface
US11782574B2 (en) 2017-04-27 2023-10-10 Snap Inc. Map-based graphical user interface indicating geospatial activity metrics
US11842411B2 (en) 2017-04-27 2023-12-12 Snap Inc. Location-based virtual avatars
US11474663B2 (en) 2017-04-27 2022-10-18 Snap Inc. Location-based search mechanism in a graphical user interface
US11385763B2 (en) 2017-04-27 2022-07-12 Snap Inc. Map-based graphical user interface indicating geospatial activity metrics
US11418906B2 (en) 2017-04-27 2022-08-16 Snap Inc. Selective location-based identity communication
US11392264B1 (en) 2017-04-27 2022-07-19 Snap Inc. Map-based graphical user interface for multi-type social media galleries
US11481447B2 (en) * 2019-09-20 2022-10-25 Fujifilm Business Innovation Corp. Information processing device and non-transitory computer readable medium

Also Published As

Publication number Publication date
US10182025B2 (en) 2019-01-15
US20130246938A1 (en) 2013-09-19
US9438540B2 (en) 2016-09-06
US20160301635A1 (en) 2016-10-13

Similar Documents

Publication Publication Date Title
US10182025B2 (en) Systems and methods for a search-based email client
US8230348B2 (en) Collaboration software with real-time synchronization
US7636890B2 (en) User interface for controlling access to computer objects
US7720845B2 (en) Systems and methods for updating query results based on query deltas
US7433876B2 (en) Semantic web portal and platform
JP4724425B2 (en) Integrated mixed search system and method
US8521732B2 (en) Presentation of an extracted artifact based on an indexing technique
US7533149B2 (en) Maintaining multiple versions of message bodies in a common database
US20160179977A1 (en) Taxonomy driven site navigation
US20080059419A1 (en) Systems and methods for providing search results
US20180373685A9 (en) Distributed document co-authoring and processing
US20090276408A1 (en) Systems And Methods For Generating A User Interface
US20130080900A1 (en) Techniques for managing and viewing followed content
US20080077571A1 (en) Methods, Systems, and Computer-Readable Mediums for Providing Persisting and Continuously Updating Search Folders
US20080235289A1 (en) Method and device for managing unstructured data
US20140208220A1 (en) System and Method for Contextual and Collaborative Knowledge Generation and Management Through an Integrated Online-Offline Workspace
US20100241947A1 (en) Advanced features, service and displays of legal and regulatory information
US20210092084A1 (en) Surfacing attachments in email search suggestion dropdown
US20080256460A1 (en) Computer-based electronic information organizer
US20100241991A1 (en) Computer-based electronic information organizer
CA2764319A1 (en) Advanced features, service and displays of legal and regulatory information
WO2012176213A1 (en) System and method for contextual and collaborative knowledge generation and management through an integrated online-offline workspace

Legal Events

Date Code Title Description
AS Assignment

Owner name: STATA LABORATORIES, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STATA, RAYMOND P.;STACK, ANDREW W.;GORADIA, TARAK;AND OTHERS;REEL/FRAME:015337/0912;SIGNING DATES FROM 20041018 TO 20041019

AS Assignment

Owner name: YAHOO| INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:STATA LABORATORIES, INC.;REEL/FRAME:015399/0280

Effective date: 20041113

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION

AS Assignment

Owner name: YAHOO HOLDINGS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO| INC.;REEL/FRAME:042963/0211

Effective date: 20170613

AS Assignment

Owner name: OATH INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO HOLDINGS, INC.;REEL/FRAME:045240/0310

Effective date: 20171231