WO2010033784A2 - Ranking messages in an electronic messaging environment - Google Patents

Ranking messages in an electronic messaging environment Download PDF

Info

Publication number
WO2010033784A2
WO2010033784A2 PCT/US2009/057448 US2009057448W WO2010033784A2 WO 2010033784 A2 WO2010033784 A2 WO 2010033784A2 US 2009057448 W US2009057448 W US 2009057448W WO 2010033784 A2 WO2010033784 A2 WO 2010033784A2
Authority
WO
WIPO (PCT)
Prior art keywords
message
score
sender
interactions
recipient
Prior art date
Application number
PCT/US2009/057448
Other languages
French (fr)
Other versions
WO2010033784A3 (en
Inventor
David Cowan
James Cham
Ethan Kurzweil
Original Assignee
Mailrank, Inc.
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 Mailrank, Inc. filed Critical Mailrank, Inc.
Publication of WO2010033784A2 publication Critical patent/WO2010033784A2/en
Publication of WO2010033784A3 publication Critical patent/WO2010033784A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]

Definitions

  • the invention generally relates to methods and systems for ranking of messages based on user's interaction with one or more messages; more specifically, to methods and systems for improving the usability of emails by attaching a score to each message based at least in part on its relevancy to the user.
  • the present invention provides methods and systems to score or rate messages exchanged over a network.
  • the methods and systems may gather message interactions of a recipient.
  • a message originating from a sender and destined for the recipient may be received at an email client.
  • a sender score of the message may be determined based on one or more of sender information, the gathered message interactions, and one or more attributes associated with the message.
  • the message may be marked with the determined score in a user interface associated with the email client.
  • gathering the interactions of the recipient may include gathering a response of the recipient to the message and responses of the recipient to other messages as well.
  • the attributes used to determine the score of the message might be a number of recipients for the message, a priority of the message, time of the message, and a subject of the message.
  • the sender information may be a recipient-defined score of the sender.
  • the sender information may be a predetermined score of the sender.
  • the sender may be an unknown user or a known user.
  • the sender score may be determined based on a transitive ITM, a recursive percentile of the sender's influence, a SWAY, a corporate administrator input, a feedback from the recipient on the sender score, and determination of 'To,' 'Cc' and 'Bcc' fields in the received message.
  • the sender score may be determined based on frequency and recentness of the gathered message interactions.
  • the frequency of the interactions may be an open email rate, a reply email rale, a delete email rate, a rate of clicking of hyperlinks, a rate of download of graphs, and a filing or archiving rate.
  • all subsequent messages that originate from the sender may be allocated the score determined for the sender using any of the above parameters. These messages may be marked with their determined scores and displayed to the recipient.
  • the systems and methods for scoring messages exchanged over a network may be provided.
  • the system may include an email client that exchanges email messages and gathers interactions of a recipient with different senders of messages.
  • the email client may receive a message from a sender.
  • the system may further include a ranking server that determines a sender score of the message based on one or more of sender information, the gathered message interactions, and one or more message attributes. Further, the ranking server may send the determined score to the email client to be presented along with the message,
  • FIG. 1 depicts an operating environment of a mail ranking system in which various embodiments of the present invention may be practiced
  • J Fig. 2 depicts various computing system components that may be used in the invention
  • Fig. 3 depicts interactions among users for determining message rank and sender score
  • FIG. 4 depicts a flowchart for determining a score in accordance with an embodiment of the present invention.
  • FIG. 5 depicts a user interface in accordance with an embodiment of the present invention.
  • Fig. 1 illustrates a system 100 having hardware and an operating environment with which various embodiments of the present invention may be practiced.
  • the system 100 may include a plurality of computing devices 102.
  • the computing devices 102 may include a computer 104, a laptop 110, a PDA 112 and a cell phone 114 in addition to other types of computing devices.
  • An email client may be provided in the different computing devices 102.
  • an email client 108 A may be provided in the computer 104, which may be configured to send and receive messages on behalf of a user 128.
  • email clients 108B, 108C, and 108D may be provided related to the laptop 110, the PDA 112, and the cell phone 114, respectively.
  • the email clients 108 associated with the computing devices 102 may communicate with a ranking server 118 in order to send/receive messages such as emails associated with a particular user.
  • the ranking server 118 may be a web server, a file server, an email server or some other type of server. In embodiments, the ranking server 118 may a special kind of server implementing algorithm for ranking of messages requiring a special kind of hardware and/or software. Additionally, the ranking server 118 may be communicate with a mail server 120 and the email clients 108 to access messages as they are sent and received. The ranking server 118 may communicate with the email clients 108 to learn a user's action regarding the messages.
  • the mail server 120 may be coupled to the ranking server 118 that may implement algorithms for ranking of messages received from the mail server 120.
  • the ranking server 118 and the mail server 120 may be integrated into a single hardware thus providing both the functionality of ranking messages and managing email clients such as 108.
  • FIG. 2 various hardware and software components associated with the computing devices 102 and the ranking server 118 are illustrated.
  • Each of the computing devices such as the computer 104 may include, apart from other things, a memory 202, an operating system 204, application programs 208 and other applications 210. It may be noted that standard hardware such as a processor, I/O devices and other components maybe a part of the computing device 102 as know in the art.
  • the computer 104 may enable the user 128 (i.e., recipient) to access the email client 108 in Fig. 2 and view all received messages from other users (i.e., senders). Likewise, the user 128 may send messages to another user A. hi this case, the user 128 will act as a sender and the user A will act as a recipient.
  • an email client similar to the email client 108 may be installed at the end of user X.
  • the email client 108 in Fig. 2 may include a collating facility 212, a messaging facility 214 and a presentation facility 218.
  • Messages received from other users may be collated based on different criteria including sender, type, subject, recipient group and the like at the collating facility 212.
  • the messaging facility 214 may facilitate the delivery of outgoing messages and receipt of incoming messages to the ranking server 118. Furthermore, the messaging facility 214 may be coupled to a network interface 220 for exchanging information with other devices such as the ranking server 118, the mail server 120 and the Internet 124. It may be noted that the ranking server 118 may adjust one or more fields associated with standard email exchange protocols to communicate a rank to the email client.
  • the IMAP protocol includes a "category" field that may be used by the ranking server 118 to communicate the rank to the email client plug-in software so that the rank may be displayed by the email client.
  • the messaging facility 214 associated with the email client 108 as shown in Fig. 2 may perform a plurality of tasks including extracting scores associated with outgoing messages and providing them to the ranking server 118. These scores may be utilized for computing new scores for the email address so that subsequent messages (hereinafter interchangeably referred to as 'second set of messages' from the same email address may be associated with the new scores.
  • Any of the collating facility 212, the messaging facility 214, the presentation facility 218 or any combination or sub-portion thereof may be configured as a plug-in that can be installed to work cooperatively with the email client 108, such as to provide an integrated interface that conforms with the native interface of the email client 108.
  • the ranking server 118 may include a memory 222, an operating system 224, application programs 228, other application programs 228, and other applications 230. Additionally, the ranking server 118 may be configured to implement the algorithms for ranking of messages received by a communication facility 232.
  • the communication facility 232 may be associated with an analysis facility 234. Analysis of emails may be performed by aggregating the emails from all the email clients such as the computer 104, the laptop 110, the PDA 112 and the cellphone 114 related to the ranking server 1 18.
  • the analysis facility 234 may execute ranking of algorithms and/or sets of rules for ranking the messages received from all email clients 108.
  • the rank may be in the form of a score, an attribute, a numeric value or some other type of parameter or meta-data.
  • These scores may be assigned for each user 128 for a definite time period.
  • the time period may be a day, a week, a month or some other type of time period.
  • these scores may change over time according to a decay factor that may be predefined, user defined, automatically determined, and the like.
  • the ranking server 118 may compute ranks for each message associated with the email client 108 and may provide a score to it. As described herein and elsewhere, the ranking server 118 may aggregate messages from different email clients 108 and accumulate them in one place. Subsequently, each message may be analyzed by the analysis facility 234 to obtain a score. For example, Xl represents a first user and may have an email address El; similarly, X2 corresponds to a second user with an email address E2; likewise, a third user X3 may have an email address E3.
  • the first user Xl may exchange messages with the second user X2 and the third user X3; based on this exchange, the ranking server 118 may determine a score for users X2 and X3 and assign these scores to the email address E2 of the second user X2 and the email address E3 of the third user X3, respectively.
  • the second user X2 may exchange messages with the first user Xl thus assigning a score to the first user Xl (email address El).
  • the third user X3 may still have a score associated with it based on the messages exchanged with Xl and X2.
  • one or more new/unknown users who are exchanging messages with the existing/known user, may be provided with a score. This score may be computed based on the interaction of the new user with the existing users. Thus, one or more new users may have a 'cold start,' and subsequently as they exchange messages with the other existing users, a score may be determined and assigned to these new users, who eventually integrate with the existing users.
  • the ranking sever 118 may dynamically update the score for each user after each interaction based on a predetermined algorithm and/or on a fixed rule.
  • the interaction of the user may be a user's response to a received message.
  • the interaction of the user may be a history of responses of the user to messages (i.e., hereinafter interchangeably referred to as other messages) that were received by the user previously.
  • An algorithm for determining a rank may measure how quickly a user performs certain actions on a message and correlates this measure to determine importance of the message to that specific user.
  • a global parameter know as SWAY that measures a global importance of each email address and may represent an influence across all measured instances of an email address.
  • SWAY may be a measure of a quantity of influence weighted by the strength of the influence, discounting all points of influence that do not reach a minimal importance threshold level (e.g. 30% importance).
  • SWAY may be calculated by taking a value of importance of a first email address (or first user) to others (50% to user 2, 90% to user 3, 1% to user 4), and for each value above the importance threshold (e.g.
  • SWAY may be calculated each time a message is ranked, may be calculated when certain messages are ranked, may be calculated from time to time, and the like. A new user may be assigned a default SWAY.
  • [0032J SWAY may be important because (i) it accounts for quality through the importance of a first user to other users as well as the importance of the other users to others, (ii) it discounts noise from spammers who might otherwise game the system by accumulating bits of SWAY, and (iii) it distributes all the tallies linearly from 0 to 100 by representing the answer in terms of a percentile, so that it can depict real variance in the results (e.g. a tally difference of only 5% can yield a SWAY difference of 20 percentile).
  • the sender information may be a user-defined score of the sender. In this case, all messages received from this sender may be provided with the user-defined score.
  • the sender information may be a predetermined score for the sender.
  • the ranking server 118 may have earlier determined a score of high/low/medium for sender X (or ranked sender X on a scale of 1 to 5) for an email that is received from sender X and destined for the user. Now, when sender X sends another email to the same user, the ranking server 118 may attach this pre-determined score to the email and deliver it to the email client 108.
  • the plurality of parameters utilized by the ranking server 118 may include the recipient address (i.e., the recipient marked in the 'To' field of the email), the addresses of recipients who are copied in the email (i.e., the recipients marked in the 'CC field of the email), the addresses of the recipients who have been marked in BCC, number of recipients, priority attached with the message, time of sending/receiving the message, content in the subject field of the message, sender score (i.e., sender information), and sender's ITM (Importance To Me), subject ITM, and the like.
  • the ranking sever 118 may increase the score of the first user Xl which may increase the message rank.
  • the ranking server 118 may increase the score of the sender. Furthermore, these parameters may also be used to increase the authenticity of the recipient, if the sender is an authentic source. In embodiments, the score of the recipient may also be increased using any of the parameters described herein.
  • the ranking server 118 may examine a message subject to distinguish potentially important messages from potentially less important messages.
  • An example of such a distinction includes determining the importance of a first message with "There is a problem with your order" as the subject compared a second message with "Thank you for your order" as the subject.
  • the first message may be assigned a higher score than the second message because the second message may be of a more informational nature than the first message.
  • the sender score may be a function of the frequency of user's action on the received message. For example, if the user frequently (or always) deletes the email messages received from a sender X, then the score of the sender X may be reduced.
  • the score of the sender Y may be increased.
  • the sender score may be a function of the recentness of the received message.
  • the frequency of the user's action may include an open email rate, a reply email rate, a delete email rate, rate of click-through of the hyperlinks received in an email, rate of download of the graphics, filing or archiving rate, and the like.
  • a prompt action by the first user Xl on the received email may increase the rank of the message and therefore of the sender's importance to me (ITM). This may also impact the sender's global SWAY because individual ITM values impact global SWAY.
  • the second user X2 regularly deletes the email from a particular receipt, the authenticity of the sender falls and finally the user may be classified a spammer.
  • the user 128 may add different personalization features by altering the set rales that decide the score.
  • the user 128 may define a threshold score; this score may be utilized in deciding whether the message may be spam or non-spam. For example, the user 128 may consider software update information from a particular organization to be spam and may therefore define a much higher cut-off score for such messages to indicate this.
  • the ranking server 118 may be highly scalable thus allowing personalization for each user.
  • the algorithm implemented on the ranking server 118 may be configured to provide computational ability in view of the high volume of traffic, messages and the like.
  • the ranking server 118 may be capable of optimizing the usage of memory such as RAM, flash memory, virtual memory for creation of plurality of data structures including stacks, trees, graphs, linked list and the like.
  • the memory management scheme may be altered to facilitate the optimization of the memory scheme.
  • the ranking server 118 may utilize the same memory management scheme as provided by the server software and/or the techniques well known in the art.
  • the ranking server 118 may be capable of calculating the score based on the participation of a subset of users.
  • the subset of users may exchange messages with other non-participating users; since the score for each user may be computed on the total number of message exchanges with the subset of participating users, the score for the non-participating users may still be updated.
  • the ranking server 118 may be configured with the mail server 120 thus reducing the load.
  • the mail server 120 may be relieved of the process of identifying some spam emails because the ranking server 118 would already have given the spam email a low rank.
  • a plurality of servers may be utilized for distributing the load and thus creating a server farm or server cluster.
  • a graph of user interactions along with SWAY, ITM 5 and TALLY for the users depicts elements used to compute the score associated with each user.
  • Ul 302, U2 304, U3 308, U4 310 and U5 312 each represent a user and data corresponding a rank. It may be appreciated that the number of users shown in Fig. 3 are exemplary, and the number may increase or decrease depending upon the actual number of users.
  • community interaction of the user with other users may be gathered and recorded.
  • the email client 108 may monitor (and hence gather) a user interactions with the other users.
  • Ul 302 is initially considered as an authentic user, then an exchange of messages with other users as shown in Fig. 3 may increase the score of U2 304 and U3 308.
  • the analysis facility 234 may decrease the score of the user represented by user data U5 312 if the messages originating from this user are continuously deleted by other users.
  • users whose messages are responded to quickly by a recipient e.g. a user's boss, wife, and the like
  • the process 400 for ranking messages may be implemented in the memory of the ranking server 118.
  • the process 400 may be initiated by creating a data structure such as graph, linked list, tree and the like for all the users. It may be noted that the ranking server 118 may be a specialized server with memories for creating data structures of large sizes.
  • the process 400 may identify the email address of each user and the score associated with it and gather the interaction of a recipient with the community.
  • a message, destined for the recipient may be received from a sender at the email client at step 404. This message may be forwarded to the ranking server 118 in order to update the score of the sender and prepare a rank for the message.
  • the ranking server may determine the new score of the sender and prepare a rank for the message based on sender information and the attributes of the received message. Each message from a sender may receive a different rank based on the contents of the message, the subject line, or other attributes of the received message.
  • the score may be provided to the email client 108 at step 410.
  • the email client 108 may display the received message along with the score of the received message at a user interface associated with the email client 108.
  • the email client 108 may mark the message with the determined score, and then display it at the user interface. It will be apparent to a person skilled in the art that the score may be displayed along with the message at the user interface using any other known techniques or third party email client interfaces.
  • the user may control the display of the messages based on the rank or score provided therewith, hi an example, the user may choose to display only messages with a rank score above 80.
  • the user interface 500 may include a search facility 504, an arrangement facility 508, plurality of emails 510, an indicator for read 514 and a score 518 provided from the ranking server 118.
  • the read indicator 514 may indicate if the email has been read by the recipient/user 128.
  • the score 518 may provide the score associated with a particular email. The score may be obtained from the ranking server 118.
  • the arrangement facility 508 may provide the arrangement of emails by name, type, date and the like.
  • the search facility 504 may facilitate searching of emails received by the user 128.
  • the user interface 500 maybe any third party email user interface such as those provided from MICROSOFT, GOOGLE, YAHOO, and the like.
  • the ranking server 118 may be freely available to all the users.
  • the ranking server may enable providing scores to each in order to facilitate a user separating the important emails from non-important emails.
  • the ranking server may allow the user 128 to personalize the criteria for identification of important emails and non-important emails by initially defining the rules in the ranking algorithm. For example, the user 128 may input the most trusted email address as a starting point for execution of the ranking algorithm for personalization of scores. Alternatively, the user may define one or more spam email addresses for ranking these email recipients very low.
  • the user 128 may operate the ranking server 118 with email services/accounts provided by YAHOO, HOTMAIL, GMAIL and the like.
  • the user 128 may configure the email service accounts by registering with the ranking server 118 through a web interface. For example, the user 128 may access a registration page of the ranking server 128 and register his/her email accounts and addresses for availing the ranking/scoring of emails. The user 128 may then utilize scoring/ranking of email.
  • the ranking server 118 may be configured into the email account of the user 128 such as Yahoo, Hotmail Gmail and the like.
  • the user may access the corresponding tab/checkbox/link and the like, and initialize it for ranking/scoring emails.
  • the tab may appear in the welcome page of the email recipient; the email recipient may click on the tab to initialize the ranking server 118 and thereafter receive emails with ranks/scores.
  • a web interface may be provided to the user 128; the user may visit the web interface to register with the ranking server 118.
  • the web interface may be a webpage, a web client, an application program that interfaces with the ranking server 118 or some other type of web interface.
  • the user 128 may visit the webpage and register with the ranking server 118 by filling in the required details. Subsequently, the user 128 may start receiving emails with scores indicating the relative importance of the emails.
  • a registration may be free for any number of email addresses that the user may want to subscribe to.
  • the user 128 may pay for one or more email addresses depending upon the categorizations of the user 128. For example, if the user 128 is a student, the service may be provided free; for a professional, the registration may attract a nominal registration fee.
  • user 128 may configure a plug-in, which may allow the user 128 to configure the ranking server 118 with the email clients such as MS OUTLOOK, EUDORA and the like.
  • the plug-in may facilitate personalization of the scores by modification of the initial condition of the ranking algorithm. Additionally, the plug-in may also allow configuration of VoBP call that may be received by the recipient, and based on the identification of the called number, the ranking server 118 may score the calls.
  • a software utility in cell phone 114 may be provided for ranking/scoring emails. For example, a software utility may be configured into an IPHONE that may be integrated to the ranking server 118, which may provide a score to the received emails at the recipient terminal.
  • Such a service may be availed by registering at a website. Registration may allow the user 128 to download and integrate a ranking app into the IPHONE. Alternatively, such a plug-in may be bundled with the phone software and may be initialized by registering for that service. In embodiments, the software utility may be free or paid.
  • the ranking server 118 may be integrated into the corporate network connected to a corporate email server. Alternatively, the ranking server 118 may be integrated at the Internet Service Provider in order to provide ranking of emails.
  • the ranking server 1 18 may facilitate product promotion or advertising for products and services.
  • the marketers may register with the ranking server 118.
  • the ranking server 118 may provide high score for promotional emails sent by the registered marketers to the recipient.
  • all the promotional/advertising/product and/or service trial emails delivered to the recipient's inbox may be accumulated together because of the same score/ranking. For example, an email from a registered advertiser relating to a free product trial may be given a score of 100, or an exceptional score such as "SPONSORED".
  • the email recipient may respond to this promotional/product trial email and in response an amount may be debited from the advertisers account for each response.
  • the advertiser may be debited on one or more criteria including pay-per-click, successful download of the trial software, clicking on the download link, receiving a read receipt from the recipient, clicking on the email or some other type of criteria.
  • a facilitator of the mail ranking invention may monetize its use.
  • the ranking server 118 may optimize the score based on the history of prior clicks made on the promotional emails; the ranking server may then identify users that are likely to initiate action on promotional emails based on their past history. Scores for each user may be maintained at the ranking server 118 corresponding to each registered advertiser. In this scenario, the ranking server 118 may identify a list of such users for sending promotional emails. This would increase the likelihood of a high degree of responses.
  • the email messages may be a more authentic form of promotion since the emails may be saved and may be accessed later. Furthermore, searches may be performed on the saved emails; the email may also be forwarded to other trusted users actively searching for a particular product and/or service trial.
  • the methods and systems described herein may be deployed in part or in whole through a machine that executes computer software, program codes, and/or instructions on a processor.
  • the processor may be part of a server, client, network infrastructure, mobile computing platform, stationary computing platform, or other computing platforms.
  • a processor may be any kind of computational or processing device capable of executing program instructions, codes, binary instructions and the like.
  • the processor may be or may include a signal processor, digital processor, embedded processor, microprocessor or any variant such as a coprocessor (math co-processor, graphic co-processor, communication co-processor and the like) and the like that may directly or indirectly facilitate execution of program code or program instructions stored thereon, hi addition, the processor may enable execution of multiple programs, threads, and codes.
  • the threads may be executed simultaneously to enhance the performance of the processor and to facilitate simultaneous operations of the application.
  • methods, program codes, program instructions and the like described herein may be implemented in one or more thread.
  • the thread may spawn other threads that may have assigned priorities associated with them; the processor may execute these threads based on priority or any other order based on instructions provided in the program code.
  • the processor may include memory that stores methods, codes, instructions and programs as described herein and elsewhere.
  • the processor may access a storage medium through an interface that may store methods, codes, and instructions as described herein and elsewhere.
  • the storage medium associated with the processor for storing methods, programs, codes, program instructions or other type of instructions capable of being executed by the computing or processing device may include but may not be limited to one or more of a CD-ROM, DVD, memory, hard disk, flash drive, RAM, ROM, cache and the like.
  • a processor may include one or more cores that may enhance speed and performance of a multiprocessor.
  • the process may be a dual core processor, quad core processors, other chip-level multiprocessor and the like that combine two or more independent cores (called a die).
  • the methods and systems described herein may be deployed in part or in whole through a machine that executes computer software on a server, client, firewall, gateway, hub, router, or other such computer and/or networking hardware.
  • the software program may be associated with a server that may include a file server, print server, domain server, internet server, intranet server and other variants such as secondary server, host server, distributed server and the like.
  • the server may include one or more of memories, processors, computer readable media, storage media, ports (physical and virtual), communication devices, and interfaces capable of accessing other servers, clients, machines, and devices through a wired or a wireless medium,, and the like.
  • the methods, programs or codes as described herein and elsewhere may be executed by the server.
  • other devices required for execution of methods as described in this application may be considered a part of the infrastructure associated with the server.
  • the server may provide an interface with other devices including, without limitation, clients, other servers, printers, database servers, print servers, file servers, communication servers, distributed servers and the like. Additionally, this coupling and/or connection may facilitate remote execution of a program across the network. The networking of some or all of these devices may facilitate parallel processing of a program or method at one or more location without deviating from the scope of the invention.
  • all the devices attached to the server through an interface may include at least one storage medium capable of storing methods, programs, code and/or instructions.
  • a central repository may provide program instructions to be executed on different devices. In this implementation, the remote repository may act as a storage medium for program code, instructions, and programs.
  • the software program may be associated with a client that may include a file client, print client, domain client, internet client, intranet client and other variants such as secondary client, host client, distributed client and the like.
  • the client may include one or more of memories, processors, computer readable media, storage media, ports (physical and virtual), communication devices, and interfaces capable of accessing other clients, servers, machines, and devices through a wired or a wireless medium, and the like.
  • the methods, programs or codes as described herein and elsewhere may be executed by the client.
  • other devices required for execution of methods as described in this application may be considered a part of the infrastructure associated with the client.
  • the client may provide an interface to other devices including, without limitation, servers, other clients, printers, database servers, print servers, file servers, communication servers, distributed servers and the like. Additionally, this coupling and/or connection may facilitate remote execution of program across the network. The networking of some or all of these devices may facilitate parallel processing of a program or method at one or more location without deviating from the scope of the invention.
  • all the devices attached to the client through an interface may include at least one storage medium capable of storing methods, programs, applications, code and/or instructions.
  • a central repository may provide program instructions to be executed on different devices.
  • the remote repository may act as a storage medium for program code, instructions, and programs.
  • the methods and systems described herein may be deployed in part or in whole through network infrastructures.
  • the network infrastructure may include elements such as computing devices, servers, routers, hubs, firewalls, clients, personal computers, communication devices, routing devices and other active and passive devices, modules and/or components as known in the art.
  • the computing and/or non- computing device(s) associated with the network infrastructure may include, apart from other components, a storage medium such as flash memory, buffer, stack, RAM, ROM and the like.
  • the processes, methods, program codes, instructions described herein and elsewhere may be executed by one or more of the network infrastructural elements.
  • the methods, program codes, and instructions described herein and elsewhere may be implemented on a cellular network having multiple cells.
  • the cellular network may either be frequency division multiple access (FDMA) network or code division multiple access (CDMA) network.
  • FDMA frequency division multiple access
  • CDMA code division multiple access
  • the cellular network may include mobile devices, cell sites, base stations, repeaters, antennas, towers, and the like.
  • the mobile devices may include navigation devices, cell phones, mobile phones, mobile personal digital assistants, laptops, palmtops, netbooks, pagers, electronic books readers, music players and the like. These devices may include, apart from other components, a storage medium such as a flash memory, buffer, RAM, ROM and one or more computing devices.
  • the computing devices associated with mobile devices may be enabled to execute program codes, methods, and instructions stored thereon. Alternatively, the mobile devices may be configured to execute instructions in collaboration with other devices.
  • the mobile devices may communicate with base stations interfaced with servers and configured to execute program codes.
  • the mobile devices may communicate on a peer-to-peer network, mesh network, or other communications network.
  • the program code may be stored on the storage medium associated with the server and executed by a computing device embedded within the server.
  • the base station may include a computing device and a storage medium.
  • the storage device may store program codes and instructions executed by the computing devices associated with the base station.
  • the computer software, program codes, and/or instructions may be stored and/or accessed on machine readable media that may include computer components,, devices, and recording media that retain digital data used for computing for some interval of time; semiconductor storage known as random access memory (RAM); mass storage typically for more permanent storage, such as optical discs, forms of magnetic storage like hard disks, tapes, drums, cards and other types; processor registers, cache memory, volatile memory, non- volatile memory; optical storage such as CD, DVD; removable media such as flash memory (e.g.
  • RAM random access memory
  • mass storage typically for more permanent storage, such as optical discs, forms of magnetic storage like hard disks, tapes, drums, cards and other types
  • processor registers cache memory, volatile memory, non- volatile memory
  • optical storage such as CD, DVD
  • removable media such as flash memory (e.g.
  • USB sticks or keys floppy disks, magnetic tape, paper tape, punch cards, standalone RAM disks, Zip drives, removable mass storage, off-line, and the like; other computer memory such as dynamic memory, static memory, read/write storage, mutable storage, read only, random access, sequential access, location addressable, file addressable, content addressable, network attached storage, storage area network, bar codes, magnetic ink, and the like.
  • the methods and systems described herein may transform physical and/or intangible items from one state to another.
  • the methods and systems described herein may also transform data representing physical and/or intangible items from one state to another.
  • machines may include, but may not be limited to, personal digital assistants, laptops, personal computers, mobile phones, other handheld computing devices, medical equipment, wired or wireless communication devices, transducers, chips, calculators, satellites, tablet PCs, electronic books, gadgets, electronic devices, devices having artificial intelligence, computing devices, networking equipments, servers, routers and the like.
  • the elements depicted in the flow chart and block diagrams or any other logical component may be implemented on a machine capable of executing program instructions.
  • the methods and/or processes described above, and steps thereof, may be realized in hardware, software or any combination of hardware and software suitable for a particular application.
  • the hardware may include a general purpose computer and/or dedicated computing device or specific computing device or particular aspect or component of a specific computing device.
  • the processes may be realized in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable device, along with internal and/or external memory.
  • the processes may also, or instead, be embodied in an application specific integrated circuit, a programmable gate array, programmable array logic, or any other device or combination of devices that may be configured to process electronic signals.
  • one or more of the processes may be realized as a computer executable code capable of being executed on a machine readable medium.
  • the computer executable code may be created using a structured programming language such as C, an object oriented programming language such as C++, or any other high-level or low-level programming language (including assembly languages, hardware description languages, and database programming languages and technologies) that may be stored, compiled or interpreted to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and software, or any other machine capable of executing program instructions.
  • each method described above and combinations thereof may be embodied in computer executable code that, when executing on one or more computing devices, performs the steps thereof.
  • the methods may be embodied in systems that perform the steps thereof, and may be distributed across devices in a number of ways, or all of the functionality may be integrated into a dedicated, standalone device or other hardware.
  • the means for performing the steps associated with the processes described above may include any of the hardware and/or software described above. All such permutations and combinations are intended to fall within the scope of the present disclosure.

Abstract

The present invention provides methods and systems to score messages exchanged over a network. The methods and systems may gather message interactions of a recipient. A message originating from a sender and destined for the recipient may be received at an email client. A sender score of the message may be determined based on one or more of sender information, the gathered message interactions, and one or more attributes associated with the message. The message may be marked with the determined score in a user interface associated with the email client.

Description

RANKING MESSAGES IN AN ELECTRONIC MESSAGING ENVIRONMENT
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of the following provisional application, which is hereby incorporated by reference in its entirety: U.S. Serial No. 61/098,452, filed September 19, 2008.
BACKGROUND
[0002J Field:
[0003] The invention generally relates to methods and systems for ranking of messages based on user's interaction with one or more messages; more specifically, to methods and systems for improving the usability of emails by attaching a score to each message based at least in part on its relevancy to the user.
[0004] Description of the Related Art:
[0005] In recent times, the Internet has become an important medium for collaboration and exchange of information among users. Corporate bodies are increasingly using the Internet for exchanging information through exchange portals, collaboration platforms, etc. Use of emails, in particular, has become voluminous. This has led to the added use of emails as a means of advertising by organizations, individuals, corporate houses, and businesses.
[0006] While the exchange of emails is useful, users often find their mailbox filled with emails that are irrelevant or junk. A study conducted by the RADICATI GROUP ™ estimated that a user on an average received 156 emails per day in 2008. This number is expected to grow to 233 emails per day in 2012. Scanning of such large volumes of emails requires a lot of time and effort with users spending a couple of hours several times over a day in an effort to organize the email data. A need is therefore felt for a system that automatically organizes the user's messages according to the relevancy of the message. SUMMARY
[0007] The present invention provides methods and systems to score or rate messages exchanged over a network. The methods and systems may gather message interactions of a recipient. A message originating from a sender and destined for the recipient may be received at an email client. A sender score of the message may be determined based on one or more of sender information, the gathered message interactions, and one or more attributes associated with the message. The message may be marked with the determined score in a user interface associated with the email client.
[0008| In embodiments, gathering the interactions of the recipient may include gathering a response of the recipient to the message and responses of the recipient to other messages as well.
[0009] In embodiments, the attributes used to determine the score of the message might be a number of recipients for the message, a priority of the message, time of the message, and a subject of the message. In embodiments, the sender information may be a recipient-defined score of the sender. In embodiments, the sender information may be a predetermined score of the sender. In embodiments, the sender may be an unknown user or a known user.
[0010] Further, the sender score may be determined based on a transitive ITM, a recursive percentile of the sender's influence, a SWAY, a corporate administrator input, a feedback from the recipient on the sender score, and determination of 'To,' 'Cc' and 'Bcc' fields in the received message.
[0011] In embodiments, the sender score may be determined based on frequency and recentness of the gathered message interactions. The frequency of the interactions may be an open email rate, a reply email rale, a delete email rate, a rate of clicking of hyperlinks, a rate of download of graphs, and a filing or archiving rate.
[0012J In embodiments, all subsequent messages that originate from the sender may be allocated the score determined for the sender using any of the above parameters. These messages may be marked with their determined scores and displayed to the recipient.
[0013] In embodiments, the systems and methods for scoring messages exchanged over a network may be provided. The system may include an email client that exchanges email messages and gathers interactions of a recipient with different senders of messages. In embodiments, the email client may receive a message from a sender. The system may further include a ranking server that determines a sender score of the message based on one or more of sender information, the gathered message interactions, and one or more message attributes. Further, the ranking server may send the determined score to the email client to be presented along with the message,
(0014] These and other systems, methods, objects, features, and advantages of the present invention will be apparent to those skilled in the art from the following detailed description of the preferred embodiment and the drawings. All documents mentioned herein are hereby incorporated in their entirety by reference.
BRIEF DESCRIPTION OF THE DRAWINGS
[001 S] Fig. 1 depicts an operating environment of a mail ranking system in which various embodiments of the present invention may be practiced;
[0016 J Fig. 2 depicts various computing system components that may be used in the invention;
[0017] Fig. 3 depicts interactions among users for determining message rank and sender score;
[0018] Fig. 4 depicts a flowchart for determining a score in accordance with an embodiment of the present invention; and
[0019] Fig. 5 depicts a user interface in accordance with an embodiment of the present invention.
DETAILED DESCRIPTION
[0020] While the specification concludes with the claims defining the features of the invention that are regarded as novel, it is believed that the invention will be better understood from a consideration of the following descriptions in conjunction with the drawings/figures, in which like reference numerals are carried forward.
[0021] As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention, which can be embodied in various forms. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present invention in virtually any appropriately detailed structure. Further, the terms and phrases used herein are not intended to be limiting but rather to provide an understandable description of the invention.
[0022] The terms "a" or "an," as used herein, are defined as one or more than one. The term "another," as used herein, is defined as at least a second or more. The terms "including" and/or "having" as used herein, are defined as comprising (i.e. open transition). The term "coupled" or "operatively coupled" as used herein, is defined as connected, although not necessarily directly, and not necessarily mechanically.
[0023] Fig. 1 illustrates a system 100 having hardware and an operating environment with which various embodiments of the present invention may be practiced. The system 100 may include a plurality of computing devices 102. The computing devices 102 may include a computer 104, a laptop 110, a PDA 112 and a cell phone 114 in addition to other types of computing devices. An email client may be provided in the different computing devices 102. For example, an email client 108 A may be provided in the computer 104, which may be configured to send and receive messages on behalf of a user 128. Similarly, email clients 108B, 108C, and 108D may be provided related to the laptop 110, the PDA 112, and the cell phone 114, respectively. The email clients 108 associated with the computing devices 102 such as the computer 104, the laptop 110, the PDA 112 and the cell phone 114 may communicate with a ranking server 118 in order to send/receive messages such as emails associated with a particular user. The ranking server 118 may be a web server, a file server, an email server or some other type of server. In embodiments, the ranking server 118 may a special kind of server implementing algorithm for ranking of messages requiring a special kind of hardware and/or software. Additionally, the ranking server 118 may be communicate with a mail server 120 and the email clients 108 to access messages as they are sent and received. The ranking server 118 may communicate with the email clients 108 to learn a user's action regarding the messages.
[0024J In embodiments, the mail server 120 may be coupled to the ranking server 118 that may implement algorithms for ranking of messages received from the mail server 120. Alternatively, the ranking server 118 and the mail server 120 may be integrated into a single hardware thus providing both the functionality of ranking messages and managing email clients such as 108. [0025] In Fig. 2, various hardware and software components associated with the computing devices 102 and the ranking server 118 are illustrated. Each of the computing devices such as the computer 104 may include, apart from other things, a memory 202, an operating system 204, application programs 208 and other applications 210. It may be noted that standard hardware such as a processor, I/O devices and other components maybe a part of the computing device 102 as know in the art.
[0026] The computer 104 may enable the user 128 (i.e., recipient) to access the email client 108 in Fig. 2 and view all received messages from other users (i.e., senders). Likewise, the user 128 may send messages to another user A. hi this case, the user 128 will act as a sender and the user A will act as a recipient. In order to implement the systems and methods of the present invention at the end of user A, an email client similar to the email client 108 may be installed at the end of user X. The email client 108 in Fig. 2 may include a collating facility 212, a messaging facility 214 and a presentation facility 218. Messages received from other users may be collated based on different criteria including sender, type, subject, recipient group and the like at the collating facility 212. The messaging facility 214 may facilitate the delivery of outgoing messages and receipt of incoming messages to the ranking server 118. Furthermore, the messaging facility 214 may be coupled to a network interface 220 for exchanging information with other devices such as the ranking server 118, the mail server 120 and the Internet 124. It may be noted that the ranking server 118 may adjust one or more fields associated with standard email exchange protocols to communicate a rank to the email client. Standard protocols, such as Point-to-Point Protocol (PPP), IMAP, and Simple Mail Transfer Protocol (SMTP) and the like are contemplated herein, hi an example, the IMAP protocol includes a "category" field that may be used by the ranking server 118 to communicate the rank to the email client plug-in software so that the rank may be displayed by the email client.
[0027] The messaging facility 214 associated with the email client 108 as shown in Fig. 2 may perform a plurality of tasks including extracting scores associated with outgoing messages and providing them to the ranking server 118. These scores may be utilized for computing new scores for the email address so that subsequent messages (hereinafter interchangeably referred to as 'second set of messages' from the same email address may be associated with the new scores. Any of the collating facility 212, the messaging facility 214, the presentation facility 218 or any combination or sub-portion thereof may be configured as a plug-in that can be installed to work cooperatively with the email client 108, such as to provide an integrated interface that conforms with the native interface of the email client 108.
[0028] The ranking server 118 may include a memory 222, an operating system 224, application programs 228, other application programs 228, and other applications 230. Additionally, the ranking server 118 may be configured to implement the algorithms for ranking of messages received by a communication facility 232. The communication facility 232 may be associated with an analysis facility 234. Analysis of emails may be performed by aggregating the emails from all the email clients such as the computer 104, the laptop 110, the PDA 112 and the cellphone 114 related to the ranking server 1 18. The analysis facility 234 may execute ranking of algorithms and/or sets of rules for ranking the messages received from all email clients 108. The rank may be in the form of a score, an attribute, a numeric value or some other type of parameter or meta-data. These scores may be assigned for each user 128 for a definite time period. The time period may be a day, a week, a month or some other type of time period. In addition, these scores may change over time according to a decay factor that may be predefined, user defined, automatically determined, and the like..
[0029] In embodiments, the ranking server 118 may compute ranks for each message associated with the email client 108 and may provide a score to it. As described herein and elsewhere, the ranking server 118 may aggregate messages from different email clients 108 and accumulate them in one place. Subsequently, each message may be analyzed by the analysis facility 234 to obtain a score. For example, Xl represents a first user and may have an email address El; similarly, X2 corresponds to a second user with an email address E2; likewise, a third user X3 may have an email address E3. The first user Xl may exchange messages with the second user X2 and the third user X3; based on this exchange, the ranking server 118 may determine a score for users X2 and X3 and assign these scores to the email address E2 of the second user X2 and the email address E3 of the third user X3, respectively. Likewise, the second user X2 may exchange messages with the first user Xl thus assigning a score to the first user Xl (email address El). Even though X3 does not communicate with the first user Xl or the second user X2, the third user X3 may still have a score associated with it based on the messages exchanged with Xl and X2. [0030] Initially, one or more new/unknown users, who are exchanging messages with the existing/known user, may be provided with a score. This score may be computed based on the interaction of the new user with the existing users. Thus, one or more new users may have a 'cold start,' and subsequently as they exchange messages with the other existing users, a score may be determined and assigned to these new users, who eventually integrate with the existing users. The ranking sever 118 may dynamically update the score for each user after each interaction based on a predetermined algorithm and/or on a fixed rule. In embodiments, the interaction of the user may be a user's response to a received message. In embodiments, the interaction of the user may be a history of responses of the user to messages (i.e., hereinafter interchangeably referred to as other messages) that were received by the user previously.
[0031] An algorithm for determining a rank may measure how quickly a user performs certain actions on a message and correlates this measure to determine importance of the message to that specific user. For each email address, a global parameter know as SWAY that measures a global importance of each email address and may represent an influence across all measured instances of an email address. SWAY may be a measure of a quantity of influence weighted by the strength of the influence, discounting all points of influence that do not reach a minimal importance threshold level (e.g. 30% importance). In an example, SWAY may be calculated by taking a value of importance of a first email address (or first user) to others (50% to user 2, 90% to user 3, 1% to user 4), and for each value above the importance threshold (e.g. 30%) weighting the value by the other users SWAY and summing the weighted values to produce a tally. The tally is then converted to SWAY by representing the tally as a percentile of all tallies calculated for all users. SWAY may be calculated each time a message is ranked, may be calculated when certain messages are ranked, may be calculated from time to time, and the like. A new user may be assigned a default SWAY.
[0032J SWAY may be important because (i) it accounts for quality through the importance of a first user to other users as well as the importance of the other users to others, (ii) it discounts noise from spammers who might otherwise game the system by accumulating bits of SWAY, and (iii) it distributes all the tallies linearly from 0 to 100 by representing the answer in terms of a percentile, so that it can depict real variance in the results (e.g. a tally difference of only 5% can yield a SWAY difference of 20 percentile).
[0033] In embodiments, the sender information may be a user-defined score of the sender. In this case, all messages received from this sender may be provided with the user-defined score. In embodiments, the sender information may be a predetermined score for the sender. The ranking server 118 may have earlier determined a score of high/low/medium for sender X (or ranked sender X on a scale of 1 to 5) for an email that is received from sender X and destined for the user. Now, when sender X sends another email to the same user, the ranking server 118 may attach this pre-determined score to the email and deliver it to the email client 108.
[0034] In embodiments, the plurality of parameters utilized by the ranking server 118 may include the recipient address (i.e., the recipient marked in the 'To' field of the email), the addresses of recipients who are copied in the email (i.e., the recipients marked in the 'CC field of the email), the addresses of the recipients who have been marked in BCC, number of recipients, priority attached with the message, time of sending/receiving the message, content in the subject field of the message, sender score (i.e., sender information), and sender's ITM (Importance To Me), subject ITM, and the like. For example, if the first user Xl marks the priority of the message as high before sending this message to a second user X2, the ranking sever 118 may increase the score of the first user Xl which may increase the message rank.
[0035] Similarly, if the subject line of the message sent by a user is determined to be the same as or sufficiently similar to other messages that have received a high rank, the ranking server 118 may increase the score of the sender. Furthermore, these parameters may also be used to increase the authenticity of the recipient, if the sender is an authentic source. In embodiments, the score of the recipient may also be increased using any of the parameters described herein.
[0036] The ranking server 118 may examine a message subject to distinguish potentially important messages from potentially less important messages. An example of such a distinction includes determining the importance of a first message with "There is a problem with your order" as the subject compared a second message with "Thank you for your order" as the subject. In the example, the first message may be assigned a higher score than the second message because the second message may be of a more informational nature than the first message. [0037] In embodiments, the sender score may be a function of the frequency of user's action on the received message. For example, if the user frequently (or always) deletes the email messages received from a sender X, then the score of the sender X may be reduced. Alternatively, if the user frequently (or always) replies to one or more email messages received from a sender Y, then the score of the sender Y may be increased. In other embodiments, the sender score may be a function of the recentness of the received message. The frequency of the user's action may include an open email rate, a reply email rate, a delete email rate, rate of click-through of the hyperlinks received in an email, rate of download of the graphics, filing or archiving rate, and the like. For example, a prompt action by the first user Xl on the received email may increase the rank of the message and therefore of the sender's importance to me (ITM). This may also impact the sender's global SWAY because individual ITM values impact global SWAY. Likewise, if the second user X2 regularly deletes the email from a particular receipt, the authenticity of the sender falls and finally the user may be classified a spammer.
(0038] In embodiments, the user 128 may add different personalization features by altering the set rales that decide the score. The user 128 may define a threshold score; this score may be utilized in deciding whether the message may be spam or non-spam. For example, the user 128 may consider software update information from a particular organization to be spam and may therefore define a much higher cut-off score for such messages to indicate this.
[0039 J In embodiments, the ranking server 118 may be highly scalable thus allowing personalization for each user. The algorithm implemented on the ranking server 118 may be configured to provide computational ability in view of the high volume of traffic, messages and the like. Furthermore, the ranking server 118 may be capable of optimizing the usage of memory such as RAM, flash memory, virtual memory for creation of plurality of data structures including stacks, trees, graphs, linked list and the like. Furthermore, the memory management scheme may be altered to facilitate the optimization of the memory scheme. In embodiments, the ranking server 118 may utilize the same memory management scheme as provided by the server software and/or the techniques well known in the art.
[0040] In embodiments, the ranking server 118 may be capable of calculating the score based on the participation of a subset of users. As described above, the subset of users may exchange messages with other non-participating users; since the score for each user may be computed on the total number of message exchanges with the subset of participating users, the score for the non-participating users may still be updated.
[0041 ] In another embodiment, the ranking server 118 may be configured with the mail server 120 thus reducing the load. In this scenario, the mail server 120 may be relieved of the process of identifying some spam emails because the ranking server 118 would already have given the spam email a low rank. Further, a plurality of servers may be utilized for distributing the load and thus creating a server farm or server cluster.
[0042] Referring to Fig. 3, a graph of user interactions along with SWAY, ITM5 and TALLY for the users depicts elements used to compute the score associated with each user. As shown in Fig. 3, Ul 302, U2 304, U3 308, U4 310 and U5 312 each represent a user and data corresponding a rank. It may be appreciated that the number of users shown in Fig. 3 are exemplary, and the number may increase or decrease depending upon the actual number of users. In order to calculate the score for each user, community interaction of the user with other users may be gathered and recorded. In embodiments, the email client 108 may monitor (and hence gather) a user interactions with the other users. Thus, if Ul 302 is initially considered as an authentic user, then an exchange of messages with other users as shown in Fig. 3 may increase the score of U2 304 and U3 308. Similarly, the analysis facility 234 may decrease the score of the user represented by user data U5 312 if the messages originating from this user are continuously deleted by other users. In an example, users whose messages are responded to quickly by a recipient (e.g. a user's boss, wife, and the like) may be more important to the recipient and therefore may get a higher ITM from the recipient. Because ITM impacts SWAY, SWAY for the sending users in this example may also be increased.
[0043] Referring to Fig. 4, the process 400 for ranking messages may be implemented in the memory of the ranking server 118. The process 400 may be initiated by creating a data structure such as graph, linked list, tree and the like for all the users. It may be noted that the ranking server 118 may be a specialized server with memories for creating data structures of large sizes. At step 402, the process 400 may identify the email address of each user and the score associated with it and gather the interaction of a recipient with the community. A message, destined for the recipient, may be received from a sender at the email client at step 404. This message may be forwarded to the ranking server 118 in order to update the score of the sender and prepare a rank for the message. At step 408, the ranking server may determine the new score of the sender and prepare a rank for the message based on sender information and the attributes of the received message. Each message from a sender may receive a different rank based on the contents of the message, the subject line, or other attributes of the received message. The score may be provided to the email client 108 at step 410. Finally, the email client 108 may display the received message along with the score of the received message at a user interface associated with the email client 108. In embodiments, the email client 108 may mark the message with the determined score, and then display it at the user interface. It will be apparent to a person skilled in the art that the score may be displayed along with the message at the user interface using any other known techniques or third party email client interfaces. In addition, the user may control the display of the messages based on the rank or score provided therewith, hi an example, the user may choose to display only messages with a rank score above 80.
10044] Referring to Fig. 5, a user interface 500 at the email client 108 is illustrated. The user interface 500 may include a search facility 504, an arrangement facility 508, plurality of emails 510, an indicator for read 514 and a score 518 provided from the ranking server 118. The read indicator 514 may indicate if the email has been read by the recipient/user 128. Similarly, the score 518 may provide the score associated with a particular email. The score may be obtained from the ranking server 118.
[0045] The arrangement facility 508 may provide the arrangement of emails by name, type, date and the like. Likewise, the search facility 504 may facilitate searching of emails received by the user 128. The user interface 500 maybe any third party email user interface such as those provided from MICROSOFT, GOOGLE, YAHOO, and the like.
[0046] In embodiments, the ranking server 118 may be freely available to all the users. The ranking server may enable providing scores to each in order to facilitate a user separating the important emails from non-important emails. In embodiments, the ranking server may allow the user 128 to personalize the criteria for identification of important emails and non-important emails by initially defining the rules in the ranking algorithm. For example, the user 128 may input the most trusted email address as a starting point for execution of the ranking algorithm for personalization of scores. Alternatively, the user may define one or more spam email addresses for ranking these email recipients very low.
[0047] In embodiments, the user 128 may operate the ranking server 118 with email services/accounts provided by YAHOO, HOTMAIL, GMAIL and the like. The user 128 may configure the email service accounts by registering with the ranking server 118 through a web interface. For example, the user 128 may access a registration page of the ranking server 128 and register his/her email accounts and addresses for availing the ranking/scoring of emails. The user 128 may then utilize scoring/ranking of email.
[0048] In embodiments, the ranking server 118 may be configured into the email account of the user 128 such as Yahoo, Hotmail Gmail and the like. The user may access the corresponding tab/checkbox/link and the like, and initialize it for ranking/scoring emails. For example, the tab may appear in the welcome page of the email recipient; the email recipient may click on the tab to initialize the ranking server 118 and thereafter receive emails with ranks/scores.
[0049] In embodiments, a web interface may be provided to the user 128; the user may visit the web interface to register with the ranking server 118. The web interface may be a webpage, a web client, an application program that interfaces with the ranking server 118 or some other type of web interface. For example, the user 128 may visit the webpage and register with the ranking server 118 by filling in the required details. Subsequently, the user 128 may start receiving emails with scores indicating the relative importance of the emails. In may be noted that such a registration may be free for any number of email addresses that the user may want to subscribe to. Alternatively, the user 128 may pay for one or more email addresses depending upon the categorizations of the user 128. For example, if the user 128 is a student, the service may be provided free; for a professional, the registration may attract a nominal registration fee.
[0050] In embodiments, user 128 may configure a plug-in, which may allow the user 128 to configure the ranking server 118 with the email clients such as MS OUTLOOK, EUDORA and the like. The plug-in may facilitate personalization of the scores by modification of the initial condition of the ranking algorithm. Additionally, the plug-in may also allow configuration of VoBP call that may be received by the recipient, and based on the identification of the called number, the ranking server 118 may score the calls. [0051] In embodiments, a software utility in cell phone 114 may be provided for ranking/scoring emails. For example, a software utility may be configured into an IPHONE that may be integrated to the ranking server 118, which may provide a score to the received emails at the recipient terminal. Such a service may be availed by registering at a website. Registration may allow the user 128 to download and integrate a ranking app into the IPHONE. Alternatively, such a plug-in may be bundled with the phone software and may be initialized by registering for that service. In embodiments, the software utility may be free or paid.
[0052J In embodiments, the ranking server 118 may be integrated into the corporate network connected to a corporate email server. Alternatively, the ranking server 118 may be integrated at the Internet Service Provider in order to provide ranking of emails.
[0053 J hi embodiments, the ranking server 1 18 may facilitate product promotion or advertising for products and services. The marketers may register with the ranking server 118. The ranking server 118 may provide high score for promotional emails sent by the registered marketers to the recipient. Subsequently, all the promotional/advertising/product and/or service trial emails delivered to the recipient's inbox may be accumulated together because of the same score/ranking. For example, an email from a registered advertiser relating to a free product trial may be given a score of 100, or an exceptional score such as "SPONSORED". The email recipient may respond to this promotional/product trial email and in response an amount may be debited from the advertisers account for each response. The advertiser may be debited on one or more criteria including pay-per-click, successful download of the trial software, clicking on the download link, receiving a read receipt from the recipient, clicking on the email or some other type of criteria. In this way, a facilitator of the mail ranking invention may monetize its use.
[0054] In embodiments, the ranking server 118 may optimize the score based on the history of prior clicks made on the promotional emails; the ranking server may then identify users that are likely to initiate action on promotional emails based on their past history. Scores for each user may be maintained at the ranking server 118 corresponding to each registered advertiser. In this scenario, the ranking server 118 may identify a list of such users for sending promotional emails. This would increase the likelihood of a high degree of responses. [0055] In embodiments, the email messages may be a more authentic form of promotion since the emails may be saved and may be accessed later. Furthermore, searches may be performed on the saved emails; the email may also be forwarded to other trusted users actively searching for a particular product and/or service trial.
[0056] The methods and systems described herein may be deployed in part or in whole through a machine that executes computer software, program codes, and/or instructions on a processor. The processor may be part of a server, client, network infrastructure, mobile computing platform, stationary computing platform, or other computing platforms. A processor may be any kind of computational or processing device capable of executing program instructions, codes, binary instructions and the like. The processor may be or may include a signal processor, digital processor, embedded processor, microprocessor or any variant such as a coprocessor (math co-processor, graphic co-processor, communication co-processor and the like) and the like that may directly or indirectly facilitate execution of program code or program instructions stored thereon, hi addition, the processor may enable execution of multiple programs, threads, and codes. The threads may be executed simultaneously to enhance the performance of the processor and to facilitate simultaneous operations of the application. By way of implementation, methods, program codes, program instructions and the like described herein may be implemented in one or more thread. The thread may spawn other threads that may have assigned priorities associated with them; the processor may execute these threads based on priority or any other order based on instructions provided in the program code. The processor may include memory that stores methods, codes, instructions and programs as described herein and elsewhere. The processor may access a storage medium through an interface that may store methods, codes, and instructions as described herein and elsewhere. The storage medium associated with the processor for storing methods, programs, codes, program instructions or other type of instructions capable of being executed by the computing or processing device may include but may not be limited to one or more of a CD-ROM, DVD, memory, hard disk, flash drive, RAM, ROM, cache and the like.
[0057] A processor may include one or more cores that may enhance speed and performance of a multiprocessor. In embodiments, the process may be a dual core processor, quad core processors, other chip-level multiprocessor and the like that combine two or more independent cores (called a die). [0058] The methods and systems described herein may be deployed in part or in whole through a machine that executes computer software on a server, client, firewall, gateway, hub, router, or other such computer and/or networking hardware. The software program may be associated with a server that may include a file server, print server, domain server, internet server, intranet server and other variants such as secondary server, host server, distributed server and the like. The server may include one or more of memories, processors, computer readable media, storage media, ports (physical and virtual), communication devices, and interfaces capable of accessing other servers, clients, machines, and devices through a wired or a wireless medium,, and the like. The methods, programs or codes as described herein and elsewhere may be executed by the server. In addition, other devices required for execution of methods as described in this application may be considered a part of the infrastructure associated with the server.
[0059] The server may provide an interface with other devices including, without limitation, clients, other servers, printers, database servers, print servers, file servers, communication servers, distributed servers and the like. Additionally, this coupling and/or connection may facilitate remote execution of a program across the network. The networking of some or all of these devices may facilitate parallel processing of a program or method at one or more location without deviating from the scope of the invention. In addition, all the devices attached to the server through an interface may include at least one storage medium capable of storing methods, programs, code and/or instructions. A central repository may provide program instructions to be executed on different devices. In this implementation, the remote repository may act as a storage medium for program code, instructions, and programs.
[0060] The software program may be associated with a client that may include a file client, print client, domain client, internet client, intranet client and other variants such as secondary client, host client, distributed client and the like. The client may include one or more of memories, processors, computer readable media, storage media, ports (physical and virtual), communication devices, and interfaces capable of accessing other clients, servers, machines, and devices through a wired or a wireless medium, and the like. The methods, programs or codes as described herein and elsewhere may be executed by the client. In addition, other devices required for execution of methods as described in this application may be considered a part of the infrastructure associated with the client. [0061] The client may provide an interface to other devices including, without limitation, servers, other clients, printers, database servers, print servers, file servers, communication servers, distributed servers and the like. Additionally, this coupling and/or connection may facilitate remote execution of program across the network. The networking of some or all of these devices may facilitate parallel processing of a program or method at one or more location without deviating from the scope of the invention. In addition, all the devices attached to the client through an interface may include at least one storage medium capable of storing methods, programs, applications, code and/or instructions. A central repository may provide program instructions to be executed on different devices. In this implementation, the remote repository may act as a storage medium for program code, instructions, and programs.
[0062] The methods and systems described herein may be deployed in part or in whole through network infrastructures. The network infrastructure may include elements such as computing devices, servers, routers, hubs, firewalls, clients, personal computers, communication devices, routing devices and other active and passive devices, modules and/or components as known in the art. The computing and/or non- computing device(s) associated with the network infrastructure may include, apart from other components, a storage medium such as flash memory, buffer, stack, RAM, ROM and the like. The processes, methods, program codes, instructions described herein and elsewhere may be executed by one or more of the network infrastructural elements.
[0063] The methods, program codes, and instructions described herein and elsewhere may be implemented on a cellular network having multiple cells. The cellular network may either be frequency division multiple access (FDMA) network or code division multiple access (CDMA) network. The cellular network may include mobile devices, cell sites, base stations, repeaters, antennas, towers, and the like.
[0064] The methods, programs codes, and instructions described herein and elsewhere may be implemented on or through mobile devices. The mobile devices may include navigation devices, cell phones, mobile phones, mobile personal digital assistants, laptops, palmtops, netbooks, pagers, electronic books readers, music players and the like. These devices may include, apart from other components, a storage medium such as a flash memory, buffer, RAM, ROM and one or more computing devices. The computing devices associated with mobile devices may be enabled to execute program codes, methods, and instructions stored thereon. Alternatively, the mobile devices may be configured to execute instructions in collaboration with other devices. The mobile devices may communicate with base stations interfaced with servers and configured to execute program codes. The mobile devices may communicate on a peer-to-peer network, mesh network, or other communications network. The program code may be stored on the storage medium associated with the server and executed by a computing device embedded within the server. The base station may include a computing device and a storage medium. The storage device may store program codes and instructions executed by the computing devices associated with the base station.
[0065] The computer software, program codes, and/or instructions may be stored and/or accessed on machine readable media that may include computer components,, devices, and recording media that retain digital data used for computing for some interval of time; semiconductor storage known as random access memory (RAM); mass storage typically for more permanent storage, such as optical discs, forms of magnetic storage like hard disks, tapes, drums, cards and other types; processor registers, cache memory, volatile memory, non- volatile memory; optical storage such as CD, DVD; removable media such as flash memory (e.g. USB sticks or keys), floppy disks, magnetic tape, paper tape, punch cards, standalone RAM disks, Zip drives, removable mass storage, off-line, and the like; other computer memory such as dynamic memory, static memory, read/write storage, mutable storage, read only, random access, sequential access, location addressable, file addressable, content addressable, network attached storage, storage area network, bar codes, magnetic ink, and the like.
[0066] The methods and systems described herein may transform physical and/or intangible items from one state to another. The methods and systems described herein may also transform data representing physical and/or intangible items from one state to another.
[0067] The elements described and depicted herein, including in flow charts and block diagrams throughout the figures, imply logical boundaries between the elements. However, according to software or hardware engineering practices, the depicted elements and the functions thereof may be implemented on machines through computer executable media having a processor capable of executing program instructions stored thereon as a monolithic software structure, as standalone software modules, or as modules that employ external routines, code, services, and so forth, or any combination of these, and all such implementations may be within the scope of the present disclosure. Examples of such machines may include, but may not be limited to, personal digital assistants, laptops, personal computers, mobile phones, other handheld computing devices, medical equipment, wired or wireless communication devices, transducers, chips, calculators, satellites, tablet PCs, electronic books, gadgets, electronic devices, devices having artificial intelligence, computing devices, networking equipments, servers, routers and the like. Furthermore, the elements depicted in the flow chart and block diagrams or any other logical component may be implemented on a machine capable of executing program instructions. Thus, while the foregoing drawings and descriptions set forth functional aspects of the disclosed systems, no particular arrangement of software for implementing these functional aspects should be inferred from these descriptions unless explicitly stated or otherwise clear from the context. Similarly, it will be appreciated that the various steps identified and described above may be varied, and that the order of steps may be adapted to particular applications of the techniques disclosed herein. All such variations and modifications are intended to fall within the scope of this disclosure. As such, the depiction and/or description of an order for various steps should not be understood to require a particular order of execution for those steps, unless required by a particular application, or explicitly stated or otherwise clear from the context.
[0068] The methods and/or processes described above, and steps thereof, may be realized in hardware, software or any combination of hardware and software suitable for a particular application. The hardware may include a general purpose computer and/or dedicated computing device or specific computing device or particular aspect or component of a specific computing device. The processes may be realized in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable device, along with internal and/or external memory. The processes may also, or instead, be embodied in an application specific integrated circuit, a programmable gate array, programmable array logic, or any other device or combination of devices that may be configured to process electronic signals. It will further be appreciated that one or more of the processes may be realized as a computer executable code capable of being executed on a machine readable medium. [0069] The computer executable code may be created using a structured programming language such as C, an object oriented programming language such as C++, or any other high-level or low-level programming language (including assembly languages, hardware description languages, and database programming languages and technologies) that may be stored, compiled or interpreted to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and software, or any other machine capable of executing program instructions.
[0070] Thus, in one aspect, each method described above and combinations thereof may be embodied in computer executable code that, when executing on one or more computing devices, performs the steps thereof. In another aspect, the methods may be embodied in systems that perform the steps thereof, and may be distributed across devices in a number of ways, or all of the functionality may be integrated into a dedicated, standalone device or other hardware. In another aspect, the means for performing the steps associated with the processes described above may include any of the hardware and/or software described above. All such permutations and combinations are intended to fall within the scope of the present disclosure.
[0071] While the invention has been disclosed in connection with the preferred embodiments shown and described in detail, various modifications and improvements thereon will become readily apparent to those skilled in the art. Accordingly, the spirit and scope of the present invention is not to be limited by the foregoing examples, but is to be understood in the broadest sense allowable by law
[0072] All documents referenced herein are hereby incorporated by reference.

Claims

CLAIMSWhat is claimed is:
1. A method comprising: gathering message interactions of a recipient; receiving from a sender, a message destined for the recipient; determining a sender score of the message based on one or more of sender information, the gathered message interactions, and one or more attributes associated with the message; marking the message with a rank derived from the determined score; and forwarding the marked message to the recipient.
2. The method of claim 1, wherein gathering the interaction of the recipient comprises gathering at least one of: a response of the recipient to the message, and responses of the recipient to other messages.
3. The method of claim 1 further comprising: allocating the determined sender score to a second set of messages that originated from the sender; marking the second set of messages with a rank derived from the sender score; and forwarding the marked messages to the recipient.
4. The method of claim 1, wherein determining the sender score is based on frequency and recentness of the gathered message interactions.
5. The method of claim 4, wherein the frequency of the interactions is an open email rate.
6. The method of claim 4, wherein the frequency of the interactions is a reply email rate.
7. The method of claim 4, wherein the frequency of the interactions is a delete email rate.
8. The method of claim 4, wherein the frequency of the interactions is a rate of clicking of hyperlinks.
9. The method of claim 4, wherein the frequency of the interactions is a rate of download of graphs.
10. The method of claim 4, wherein the frequency of the interactions is a filing rate.
11. The method of claim 1, wherein gathering the interactions of the recipient comprises gathering an input from a corporate administrator.
12. The method of claim 1, wherein gathering the interactions of the recipient comprises gathering a feedback from the recipient on the sender score.
13. The method of claim 1, wherein the score is determined based on the determination of a 'To' field in the received message.
14. The method of claim 1, wherein the score is determined based on the determination of a 'Cc' field in the received message.
15. The method of claim 1, wherein the score is determined based on the determination of a 'Bcc' field in the received message.
16. The method of claim 1, wherein the score is determined based on a transitive ITM.
17. The method of claim 1, wherein the score is determined based on a recursive percentile of the sender's influence.
18. The method of claim 1, wherein the attribute associated with the message is a number of recipients for the message.
19. The method of claim 1, wherein the attribute associated with the message is a priority of the message.
20. The method of claim 1, wherein the attribute associated with the message is time of the message.
21. The method of claim 1, wherein the attribute associated with the message is a subject of the message,
22. The method of claim 1, wherein the sender information comprises a recipient defined score of the sender.
23. The method of claim 1, wherein the sender information comprises a predetermined score of the sender.
24. The method of claim 1, wherein the sender is an unknown user.
25. The method of claim 1, wherein the sender is a known user.
26. A system for scoring messages exchanged over a network, the system comprising: a plug-in for an email client, the plug-in for gathering message interactions of a recipient with a plurality of senders, wherein the plug-in views a message from a sender and destined for the recipient; a ranking server for determining a sender score of the message based on one or more of sender information, the gathered message interactions, and one or more message attributes, and for sending the score to the email client to be presented along with the message.
27. The system of claim 26, wherein the plug-in for an email client gathers at least one of: a response of the recipient to the message, and responses of the recipient to other messages.
28. The system of claim 26, wherein the ranking server allocates the determined sender score to a second set of messages that originated from the sender, and displays the second set of messages and the determined sender score in an user interface associated with the email client.
29. The system of claim 26, wherein the ranking server determines the sender score based on frequency and recentness of the gathered message interactions.
30. The system of claim 29, wherein the frequency of the interactions is an open email rate.
31. The system of claim 29, wherein the frequency of the interactions is a reply email rate.
32. The system of claim 29, wherein the frequency of the interactions is a delete email rate.
33. The system of claim 29, wherein the frequency of the interactions is a rate of clicking of hyperlinks.
34. The system of claim 29, wherein the frequency of the interactions is a rate of download of graphs.
35. The system of claim 29, wherein the frequency of the interactions is a filing rate.
36. The system of claim 26, wherein the gathered information is an input from a corporate administrator.
37. The system of claim 26, wherein the gathered information is a feedback from the recipient on the sender score.
38. The system of claim 26, wherein the score is determined based on the determination of a 'To' field in the received message.
39. The system of claim 26, wherein the score is determined based on the determination of a 'Cc' field in the received message.
40. The system of claim 26, wherein the score is determined based on the determination of a 'Bcc' øeld in the received message.
41. The system of claim 26, wherein the score is determined based on a transitive ITM.
42. The system of claim 26, wherein the score is determined based on a recursive percentile of the sender's influence.
43. The system of claim 26, wherein the attribute associated with the message is a number of recipients for the message.
44. The system of claim 26, wherein the attribute associated with the message is a priority of the message.
45. The system of claim 26, wherein the attribute associated with the message is time of the message.
46. The system of claim 26, wherein the attribute associated with the message is a subject of the message.
47. The system of claim 26, wherein the sender information comprises a recipient defined score of the sender.
48. The system of claim 26, wherein the sender information comprises a predetermined score of the sender.
49. The system of claim 26, wherein the sender is an unknown user.
50. The system of claim 26, wherein the sender is a known user.
51. A system, comprising: a ranking server for determining a message rank score of a message that is originated from a sender based on one or more of sender information, gathered message interactions, and one or more message attributes, and for marking the message with the determined score. 52, A system comprising: a plug-in for an email client for gathering message interactions of a recipient related to a message that originated from a sender and for marking the message with a message score provided from a ranking server, wherein the message score is determined based on one or more of sender information, the gathered message interactions, and one or more attributes associated with the message,
PCT/US2009/057448 2008-09-19 2009-09-18 Ranking messages in an electronic messaging environment WO2010033784A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US9845208P 2008-09-19 2008-09-19
US61/098,452 2008-09-19

Publications (2)

Publication Number Publication Date
WO2010033784A2 true WO2010033784A2 (en) 2010-03-25
WO2010033784A3 WO2010033784A3 (en) 2010-07-15

Family

ID=42038720

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2009/057448 WO2010033784A2 (en) 2008-09-19 2009-09-18 Ranking messages in an electronic messaging environment

Country Status (2)

Country Link
US (1) US8095612B2 (en)
WO (1) WO2010033784A2 (en)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298783B2 (en) 2007-07-25 2016-03-29 Yahoo! Inc. Display of attachment based information within a messaging system
US9584343B2 (en) 2008-01-03 2017-02-28 Yahoo! Inc. Presentation of organized personal and public data using communication mediums
WO2010038143A1 (en) * 2008-10-01 2010-04-08 Network Box Corporation Limited Electronic communication control
SG163446A1 (en) * 2009-01-19 2010-08-30 Creative Tech Ltd Method & system for managing electronic messages in a closed network
EP2438571A4 (en) 2009-06-02 2014-04-30 Yahoo Inc Self populating address book
US8495151B2 (en) * 2009-06-05 2013-07-23 Chandra Bodapati Methods and systems for determining email addresses
US9208475B2 (en) * 2009-06-11 2015-12-08 Hewlett-Packard Development Company, L.P. Apparatus and method for email storage
US9721228B2 (en) 2009-07-08 2017-08-01 Yahoo! Inc. Locally hosting a social network using social data stored on a user's computer
US8990323B2 (en) 2009-07-08 2015-03-24 Yahoo! Inc. Defining a social network model implied by communications data
US7930430B2 (en) 2009-07-08 2011-04-19 Xobni Corporation Systems and methods to provide assistance during address input
US20110022664A1 (en) * 2009-07-24 2011-01-27 Computer Associates Think, Inc. Cost Based Email Management System
US9514466B2 (en) 2009-11-16 2016-12-06 Yahoo! Inc. Collecting and presenting data including links from communications sent to or from a user
US9760866B2 (en) 2009-12-15 2017-09-12 Yahoo Holdings, Inc. Systems and methods to provide server side profile information
US8423545B2 (en) * 2010-02-03 2013-04-16 Xobni Corporation Providing user input suggestions for conflicting data using rank determinations
US8606792B1 (en) * 2010-02-08 2013-12-10 Google Inc. Scoring authors of posts
KR101689560B1 (en) * 2010-04-13 2016-12-26 삼성전자주식회사 Method of managing communication record and communication device performing the same
US8972257B2 (en) 2010-06-02 2015-03-03 Yahoo! Inc. Systems and methods to present voice message information to a user of a computing device
US8620935B2 (en) 2011-06-24 2013-12-31 Yahoo! Inc. Personalizing an online service based on data collected for a user of a computing device
US9117074B2 (en) 2011-05-18 2015-08-25 Microsoft Technology Licensing, Llc Detecting a compromised online user account
US10078819B2 (en) 2011-06-21 2018-09-18 Oath Inc. Presenting favorite contacts information to a user of a computing device
US9747583B2 (en) 2011-06-30 2017-08-29 Yahoo Holdings, Inc. Presenting entity profile information to a user of a computing device
US9087324B2 (en) * 2011-07-12 2015-07-21 Microsoft Technology Licensing, Llc Message categorization
US9065826B2 (en) 2011-08-08 2015-06-23 Microsoft Technology Licensing, Llc Identifying application reputation based on resource accesses
US8762468B2 (en) 2011-11-30 2014-06-24 At&T Mobility Ii, Llc Method and apparatus for managing communication exchanges
US8655968B2 (en) * 2011-12-06 2014-02-18 Xerox Corporation Method and apparatus for using game mechanics to encourage smarter repository use by email users
US9319373B1 (en) * 2012-03-15 2016-04-19 PlayStudios, Inc. Social networking game with prioritized message queue
US10977285B2 (en) 2012-03-28 2021-04-13 Verizon Media Inc. Using observations of a person to determine if data corresponds to the person
US10692045B2 (en) * 2012-05-31 2020-06-23 International Business Machines Corporation Intelligent attention management for unified messaging
US9824377B1 (en) * 2012-06-21 2017-11-21 Amazon Technologies, Inc. Round-robin e-mail scheduling
US9230245B1 (en) 2012-06-21 2016-01-05 Amazon Technologies, Inc. Deliverability-based e-mail sending
US9798325B2 (en) 2012-07-17 2017-10-24 Elwha Llc Unmanned device interaction methods and systems
US20140025233A1 (en) 2012-07-17 2014-01-23 Elwha Llc Unmanned device utilization methods and systems
US20140059141A1 (en) * 2012-08-23 2014-02-27 Linkedln Corporation Electronic messaging system utilizing social classification rules
US20140075502A1 (en) * 2012-09-11 2014-03-13 Selim Aissi Resource management of execution environments
US10013672B2 (en) 2012-11-02 2018-07-03 Oath Inc. Address extraction from a communication
US10192200B2 (en) 2012-12-04 2019-01-29 Oath Inc. Classifying a portion of user contact data into local contacts
US9143468B1 (en) 2013-01-08 2015-09-22 Twitter, Inc. Identifying relevant messages in a conversation graph
US9519490B2 (en) 2013-03-07 2016-12-13 Microsoft Technology Licensing, Llc Adaptive data synchronization
US20140289259A1 (en) * 2013-03-20 2014-09-25 Microsoft Corporation Social Cue Based Electronic Communication Ranking
US10223369B2 (en) 2013-08-16 2019-03-05 Sanebox, Inc. Processing electronic messages
US9176970B2 (en) 2013-08-16 2015-11-03 Sanebox, Inc. Processing electronic messages
US9588983B2 (en) 2013-10-17 2017-03-07 Microsoft Technology Licensing, Llc Data classification for adaptive synchronization
US20150381533A1 (en) * 2014-06-29 2015-12-31 Avaya Inc. System and Method for Email Management Through Detection and Analysis of Dynamically Variable Behavior and Activity Patterns
US20190036863A1 (en) * 2015-05-20 2019-01-31 Ryan Bonham Managing government messages
US20160344669A1 (en) * 2015-05-20 2016-11-24 Ryan Bonham Managing government messages
US20170374001A1 (en) * 2016-06-28 2017-12-28 Microsoft Technology Licensing, Llc Providing communication ranking scheme based on relationship graph
US20180005121A1 (en) * 2016-06-29 2018-01-04 Microsoft Technology Licensing, Llc Provide enhanced relationship graph signals
US10749839B2 (en) 2017-04-20 2020-08-18 Microsoft Technology Licensing, Llc Identification of a significant communication from a revived contact
US20190303963A1 (en) * 2018-04-02 2019-10-03 Capital One Services, Llc Processing messages for value extraction
US10986205B2 (en) * 2019-01-02 2021-04-20 Vmware, Inc. Management of contextual device notifications with VIP rankings
US11328238B2 (en) * 2019-04-01 2022-05-10 Microsoft Technology Licensing, Llc Preemptively surfacing relevant content within email
US11057322B1 (en) * 2019-12-20 2021-07-06 Twitter, Inc. Ranking messages of conversation graphs in a messaging platform using machine-learning signals
US11516155B1 (en) 2019-12-20 2022-11-29 Twitter, Inc. Hard and soft ranking messages of conversation graphs in a messaging platform
US10951560B1 (en) 2019-12-20 2021-03-16 Twitter, Inc. Ranking messages of conversation graphs in a messaging platform using predictive outcomes
US11240187B2 (en) * 2020-01-28 2022-02-01 International Business Machines Corporation Cognitive attachment distribution
US20230412887A1 (en) * 2022-05-21 2023-12-21 Vmware, Inc. Personalized informational user experiences using visual content
US11895074B2 (en) * 2022-05-31 2024-02-06 Microsoft Technology Licensing, Llc Systems and methods for determining scores for messages based on actions of message recipients and a network graph

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020133557A1 (en) * 2001-03-03 2002-09-19 Winarski Donna Ilene Robinson Sorting e-mail
US20040117326A1 (en) * 2001-04-09 2004-06-17 Amato Michael J. System, method, and article of manufacture for filtering mail items based upon recipient preference
US20040177110A1 (en) * 2003-03-03 2004-09-09 Rounthwaite Robert L. Feedback loop for spam prevention
US20050267944A1 (en) * 2004-06-01 2005-12-01 Microsoft Corporation Email manager
US20070036301A1 (en) * 1998-12-31 2007-02-15 Michael Voticky System and method for prioritizing communications messages

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634528B2 (en) * 2000-03-16 2009-12-15 Microsoft Corporation Harnessing information about the timing of a user's client-server interactions to enhance messaging and collaboration services
US7565403B2 (en) * 2000-03-16 2009-07-21 Microsoft Corporation Use of a bulk-email filter within a system for classifying messages for urgency or importance
US6985926B1 (en) * 2001-08-29 2006-01-10 I-Behavior, Inc. Method and system for matching and consolidating addresses in a database
US6816863B2 (en) * 2002-05-09 2004-11-09 International Business Machines Corporation Method, system, and computer product for providing a distribution list
US7428579B2 (en) * 2004-05-27 2008-09-23 Yahoo! Inc. Method and system for segmentation of a message inbox
JP4742618B2 (en) * 2005-02-28 2011-08-10 富士ゼロックス株式会社 Information processing system, program, and information processing method
US20080005249A1 (en) * 2006-07-03 2008-01-03 Hart Matt E Method and apparatus for determining the importance of email messages
US7890596B2 (en) * 2008-06-18 2011-02-15 International Business Machines Corporation Triage of electronic mail

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070036301A1 (en) * 1998-12-31 2007-02-15 Michael Voticky System and method for prioritizing communications messages
US20020133557A1 (en) * 2001-03-03 2002-09-19 Winarski Donna Ilene Robinson Sorting e-mail
US20040117326A1 (en) * 2001-04-09 2004-06-17 Amato Michael J. System, method, and article of manufacture for filtering mail items based upon recipient preference
US20040177110A1 (en) * 2003-03-03 2004-09-09 Rounthwaite Robert L. Feedback loop for spam prevention
US20050267944A1 (en) * 2004-06-01 2005-12-01 Microsoft Corporation Email manager

Also Published As

Publication number Publication date
US20100077041A1 (en) 2010-03-25
WO2010033784A3 (en) 2010-07-15
US8095612B2 (en) 2012-01-10

Similar Documents

Publication Publication Date Title
US8095612B2 (en) Ranking messages in an electronic messaging environment
US9430531B2 (en) Delivering personalized content based on a social graph of sharing activity of users of the open web
JP4600392B2 (en) How to select relevant campaign messages to send to recipients
US11438294B2 (en) System and method for auto-formatting messages based on learned message templates
EP2817779B1 (en) Time-managed electronic mail messages
US9021040B1 (en) Automatically selecting addressees for receiving a content item
US10915975B1 (en) News alerts based on user analytics
US20050171832A1 (en) Method and system for sharing portal subscriber information in an online social network
US20050198160A1 (en) System and Method for Finding and Using Styles in Electronic Communications
US9614798B2 (en) Method and an apparatus for distribution of a message
JP2012519915A (en) System and method for content-linked advertising based on status messages
CN103425703B (en) A kind for the treatment of method and apparatus of the network information
KR102134619B1 (en) Computer program and servers providing recommended marketing information
AU2014392681A1 (en) Automated marketing offer decisioning
US20140278909A1 (en) System and method for redaction of identification data in electronic mail messages
JP5935511B2 (en) Program and campaign management device
WO2017034763A1 (en) Abuse detection for phone number lookups
US20140181104A1 (en) Identity workflow that utilizes multiple storage engines to support various lifecycles
US11095595B2 (en) Computerized system and method for providing a modified viewport inbox display
JP4994938B2 (en) Advertisement delivery apparatus, advertisement delivery method, and advertisement delivery control program
US10217127B2 (en) Computerized systems and methods for determining performance of content in email
JP2020166434A (en) Notification method selection device, notification method selection method, and program
JP2009288883A (en) Information processing system, method and program for classifying network node
CA3058884A1 (en) Method and personal email system using simulated virtual users
US11768895B2 (en) Computerized system and method for email search assist optimization

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09815255

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09815255

Country of ref document: EP

Kind code of ref document: A2