The use of electronic mail (email) has expanded. More and more people are using email for business and personal reasons. One particular form of email that has become more popular is web-based email services. Rather than using a dedicated email client, web-based email services allow a user to access an email inbox using an Internet browser. This allows a user to access email from any computer, without requiring the computer to have an email application installed. Thus, users traveling can access email from any place there is a computer connected to the Internet.
There are a tremendous amount of Internet-based services available to people throughout the world. For example, some web-based email services use advertisements (also referred to as an “ad”) to generate revenue for the email service. In some embodiments, advertisements will be placed in the graphical user interface (GUI) of the email service. In the past, the advertisements were randomly chosen. Recently, at least one email service has been scanning content in the body of the email at the email server in an attempt to identify advertisements relevant to the content of the email. The email messages are stored on an email server. That email server is used to store messages for many users. While the email is at the server, the content of the email will be scanned by the server. The content of the email will then be matched to one or more advertisements. The matching of advertisements is performed at the server. The email messages and the one or more relevant advertisements are subsequently sent to the client browser. While this example provides a means for web-based email services to generate revenue, scanning the content in the body of the email may compromise the privacy of the user.
A system is disclosed for serving advertisements to a user of a client device that maintains the privacy of the user. Based on a user requesting to view an email message in their inbox, the system provides the email message to the user. At least one field in the header of the email message is scanned and data is extracted from at least one header field. The extracted data and sender domain is delivered to an advertising server, which selects an advertisement that is relevant to the extracted data and delivers the relevant advertisement back to the system. The relevant advertisement is delivered to the user. The relevant advertisement is displayed to the user in an advertising window of an email user interface.
One embodiment includes scanning the fields of the message header and extracting a sender domain in the “From:” field. The sender domain is delivered to an ad server, which selects an ad relevant to the sender domain. The ad server then delivers to the ad to the email system, which serves the ad to the user. Any of the fields in the email header may be scanned, and the data from one or more fields may be used to determine which ad is relevant to the extracted data. More than one ad may be determined to be relevant to the extracted data and may be delivered to the email system.
One embodiment includes displaying an email message list via a web-based browser in an inbox format to the user and displaying an advertisement based on the email message selected by the user. Input is received indicating that the user has selected to view an email message displayed in the inbox. An advertisement that is relevant to the selected email message and sender domain is received from an advertising server which, in one embodiment, selected the advertisement based on a sender domain contained in a header field of the email message selected by the user. The advertising server may select an advertisement based on data contained in any field of the email header. The email message selected by the user is render in a user interface having a display window and an advertisement window. The advertisement selected by the advertising server is displayed in the advertisement window.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
A system is disclosed that serves advertisements to a user. To protect the privacy of the user, the content in the body of the email message is not scanned or used to determine an advertisement that is relevant to the email message. Instead, one or more fields in the email header are scanned to determine which advertisements are relevant to the email message and sender domain and should be served to the user. The ads may be served to a user when the user opens an email message or accesses the inbox (which includes a list of email messages).
One example of an email system is a web-based email service. However, the present technology can apply to other email systems that provide email to non web-based access methods. For example, the technology can be applied to an email service based on an email server and a local LAN or other network (e.g., using a Microsoft Exchange Server or other email server). The technology is not limited to any specific email server or service.
Email server 10 provides the basic functionality of the web-based email system, and will provide email data to web server 16, and send data to and receive data from user information database 14. User information database 14 stores user information. User information can include telephone numbers, email addresses, street addresses, contact lists, instant messaging buddy lists, and other information relevant to a user. Email storage system 12 includes data storage devices that store the content of email messages. Email web server 16 provides the Hypertext Markup Language (HTML) code for providing pages on browser 32 that display and interact with the email system. Thus, email web server 16 serves as the front end of the system that interacts with the browser, while email server 10 provides the core business logic of the email system. More information about a web based system can be found in United States patent application Ser. No. 11/028,915, titled “Web Application Architecture,” which is assigned to Microsoft Corporation and is incorporated herein by reference in its entirety.
The technology is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the technology include, but are not limited to, personal computers, server computers, hand-held or laptop devices, personal digital assistants, telephones (wired, wireless, or cellular), multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The technology may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The technology may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
With reference to
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, CD-ROM, 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. 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 the any of the above should also be included within the scope of computer readable media.
The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. A basic input/output system 133 (BIOS), containing the basic routines that help to transfer information between elements within computer 110, such as during start-up, is typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120. By way of example, and not limitation,
The computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
The computer 110 may operate in a networked 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, although only a memory storage device 181 has been illustrated in
When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172, network interface or other means for establishing communications over the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the user input interface 160, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 110, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
After logging on, in step 202, the message list of the user's inbox is downloaded to client device 30, at step 204. This is performed by email server 10 accessing the messages from email storage system 12 that are in the inbox for the user who logged in. In one embodiment, the information accessed by email server 10 includes the “From:” field, “Subject:” field, “Date:” field, “Size:” field, and an indication whether there is an attachment. This information is then provided to email web server 16, which creates an inbox page using HTML or another means. The inbox page is then transmitted from email web server 16 to browser 32.
GUI 300 includes inbox 332, which lists the various messages. In one embodiment, the list of messages in inbox 332 corresponds to the message list downloaded in step 204 of
GUI 300 also includes an ad window 334. In
Other variations of GUI 300 can be used with respect to the present technology. For example, if the technology described herein is being used with a mobile telephone, the display on a mobile telephone would be smaller than a computer and, thus, not all of the elements of GUI 300 will be included. Other embodiments include providing the ads in a means other than displaying it, such as providing the ads using audio data. For example, the ads can be read using text-to-speech technology known in the art. Alternatively, the ads can be in an audio format such as .wav file, .mp3 file, or any other suitable audio format.
When viewing GUI 300, the user can select any of the messages listed in the inbox. In one embodiment, by double-clicking on a message in the inbox, the entire (or a portion of) message is displayed to the user. In some embodiments, a pop-up window will be created and the message will be displayed in the new pop-up window. In other embodiments, the window displaying GUI 300 will remove GUI 300 and replace it with the selected message.
Returning to
At step 210, for the email message selected by the user, the email server 10 scans the data contained in the fields of the email header. The term email header may refer to the message header, envelope header, or a combination of both the message header and envelope header. In one embodiment, the fields in the message header are scanned by the email server 10. Alternatively, the fields in the envelope header are scanned by the email server 10. In another embodiment, the fields in both the message header and envelope header are scanned by the email server 10. More detail about scanning the email header is provided later herein.
At step 212, the email server 10 extracts data contained in one or more header fields and delivers the data to the ad server 40. The data delivered to the ad server 40 is dependent on which header was scanned (step 210) and, in particular, which fields within the header were scanned. For the purpose of describing the technology herein only, the “From:” field in the message header is scanned at step 210, and the sender domain is extracted from the “From:” field of the message header, at step 212. The term “sender domain” is used to refer to the fully qualified domain name used in the replay address (e.g., emailmarketing@sender.com). In another embodiment, another header field is scanned and a campaign ID is extracted from the header field. Additional detail of a campaign ID is provided later herein. The sender domain is then delivered to the ad server 40. It is within the scope of the technology to scan and extract data from more than one header field.
At step 214, the ad server 40 selects an advertisement relevant to the sender domain and delivers the relevant advertisement to the email server 10. More detail will be provided later describing embodiments of selecting relevant ads based on the header data. At step 216, the message is rendered in browser 32. At step 218, the advertisement identified as being relevant in step 214 is served to the user by rendering the advertisement in the browser (or another mode of serving the advertisement). The ad is downloaded to client computing device 30 from email web server 16, which receives the ad from email server 10. In one embodiment, the client computing device 30 renders the advertisement. In other embodiments, other components can render or otherwise serve the advertisement.
In one embodiment, ads are provided when a user opens and views a particular email message. In another embodiment, ads are also provided when the email messages are displayed in the user's inbox (ad window 334 in
If Seller.com has not purchased this right, the ad server determines if any other third-party has purchased similar rights, at step 408. For example, Barnes & Noble may be interested in paying for the right to display a Barnes & Noble ad in the ad window 640 of GUI 600 (see
If neither Seller.com nor a third-party has purchased such rights, the ad server 40 selects an ad relevant to the sender domain seller.com based on other criteria.
Other data contained in the email header may be used to determine which ads are relevant to the email message. In some embodiments, the date and IP address associated with the user may be extracted from the email header and delivered to the ad server 40 (step 212). In this instance, the ad engine 42 may determine which ad(s) is relevant to the email message based on the date and IP address. An IP address may help identify a geographical location associated with the user. Thus, the ad engine 42 may use the date and IP address to select an ad for an upcoming sports event that will occur within the geographical location associated with the IP address.
The ad can be chosen by any data contained in a header field of the email message. For example, the email server 10 may scan the message header of the email message and extract all data contained in the header fields (e.g., “From:” field, “Subject:” field, etc.) and deliver the data to the ad server 40. Certain fields in the email header can be weighted higher than others. Relevant ads may be chosen based on other data as well.
It is also within the scope of the technology for a sender to add a tag in a field of an email header that will cause the ad server 40 to select a specific ad (step 214) and deliver the ad to the email system.
A campaign ID provides a sender the ability to ensure that a certain ad for display in, for example, ad window 634 in GUI 600, when a user views the email message that contains the campaign ID. For example, a sender may create an email message about an end of year members-only sale intended for delivery to its members. By adding a campaign ID in a header field (whether it is placed in a designated header field or any header field) of the email message, the email system will serve the ad that correlates with a specific ad for the members-only sale in the ad window 634 as the user views the email message.
At step 802, the user logs into the web-based email service. After logging on, in step 802, the message list of the user's inbox is downloaded to client device 30, at step 804. At step 806, the user selects the members-only sale email to view (e.g., that is displayed in GUI 300). At step 808, the data for the members-only message is downloaded.
At step 810, email server 10 scans the header field designated for adding a campaign ID. If a campaign ID is identified in the designated header field (step 812), the email server extracts the campaign ID and delivers the campaign ID to the ad server 40, at step 814. At step 816, the ad sever 40 selects the ad that correlates with the campaign ID and delivers the ad to the email server. At step 818, the message is rendered in browser 32. At step 820, the advertisement is served to the user by rendering the advertisement in the browser (or another mode of serving the advertisement). In one embodiment, the client computing device 30 renders the advertisement. In other embodiments, other components can render or otherwise serve the advertisement.
If the designated header field does not contain a campaign ID (step 812), one or more of the other header fields (other than the designated header field) is scanned by the email server 10, at step 822. As discussed above, any field within the message header and envelope header may be scanned at step 822. At step 824, the email server extracts data from one or more header fields and delivers the data to the ad server 40. At step 816, the ad server 40 selects an advertisement relevant to the extracted data and delivers the relevant advertisement to the email server 10. At step 818, the message is rendered in browser 32. At step 820, the advertisement is served to the user by rendering the advertisement in the browser (or another mode of serving the advertisement).
The foregoing detailed description of the technology has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the technology and its practical application to thereby enable others skilled in the art to best utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claims appended hereto.