Deriving atomic communication threads from independently addressable messages

US10230675B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10230675-B2
Application numberUS-201414162125-A
CountryUS
Kind codeB2
Filing dateJan 23, 2014
Priority dateJan 23, 2014
Publication dateMar 12, 2019
Grant dateMar 12, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

When a message is received, the recipient set in the message, as well as ancestor message identifiers, are analyzed. The received message is either placed in an existing thread in an existing conversation, or in a new thread in the conversation, based upon the analysis of the recipient set and the ancestor identifiers.

First claim

Opening claim text (preview).

What is claimed is: 1. A method performed by a computing system, the method comprising: receiving an electronic message; and based on receiving the electronic message: identifying, an ancestor message that precedes the received electronic message, wherein the received electronic message comprises a reply to the ancestor message; based on ancestor message information corresponding to the ancestor message: identifying a conversation that is associated with the ancestor message and includes a set of messages, wherein the conversation comprises a plurality of threads, each thread having a subset of messages that includes some, but not all, of the set of messages in the conversation, wherein each thread is actionable as a single communication unit separate from messages in another one of the threads, and identifying a first set of recipients that received the ancestor message: identifying a second set of recipients that received the received electronic message: and in response to determining that the second set of recipients is a superset that includes all of the recipients in the first, set of recipients and at least one additional recipient, identifying a particular one of the threads in the conversation that includes the ancestor message, automatically adding the received message to the particular thread in the conversation, and rendering a representation of the particular thread to a recipient in the second set of recipients; and in response to determining that the second set of recipients includes less than all of the recipients in the first set of recipients: automatically creating a new thread in the conversation, automatically adding the received electronic message to the new thread, and generating a display of the new thread. 2. The method of claim 1 and further comprising: receiving a second electronic message; identifying a third set of recipients that received the second electronic message; and based on determining that the third set of recipients is a superset of the first set of recipients, identifying a particular one of the threads in the conversation that includes the ancestor message, automatically adding the second electronic message to the particular thread in the conversation, and rendering a representation of the particular thread to a recipient in the third set of recipients. 3. The method of claim 1 and further comprising; receiving a second electronic message; based on determining that the second electronic message is not a reply to an ancestor message, starting a new conversation in the messaging system and adding the second electronic message to the new conversation. 4. The method of claim 1 and further comprising: receiving a second electronic message; based, on determining that the second electronic message is not associated with an ancestor message in an already-existing conversation, automatically starting a new conversation in the messaging system and adding the second electronic message to the new conversation. 5. An electronic messaging system, comprising; a processor; and memory, storing instructions executable by the processor, wherein the instructions configure the electronic messaging system to provide: a message ancestor analysis component configured to: identify a second message that comprises a reply to a first, ancestor message, and based on ancestor message information corresponding to the ancestor message, identify a conversation that is associated with the ancestor message and includes a set of messages, wherein the conversation comprises a plurality of threads, each thread having a subset of messages that includes some, but not all, of the set of messages in the conversation, and wherein each thread is actionable as a single communication unit separate front messages in another one of the threads; and a recipient set analysis component configured to: receive an indication of a first set of recipients that received the ancestor message and a second set of recipients that received the second message; and a conversation generator component configured to; in response to a determination that the second set of recipients is a superset that includes all of the recipients in the first set of recipients and at least one additional recipient, identify a particular one of the threads in the conversation that includes the ancestor message, automatically add the received message to the particular thread in the conversation, and render a representation of the particular thread to a recipient in the second set of recipients; and in response to determining that the second set of recipients includes less than all of the recipients in the first set of recipients, automatically create a new thread in the conversation, automatically add the second message to the new thread, and render a representation of the new thread to a recipient in the second set of recipients. 6. The electronic messaging system of claim 5 wherein the set of messages in the conversation derive from a common root message. 7. The electronic messaging system of claim 5 wherein each respective thread includes a subset of the messages in the conversation that share a same set of recipients, and wherein the same set of recipients is maintained or grows during addition of one or more subsequent messages to the respective thread. 8. The electronic messaging system of claim 5 wherein the conversation generator component is configured to: if no ancestor message is identified, start a new conversation in the messaging system and add the second message to the new conversation. 9. The electronic messaging system of claim 5 wherein the recipient set analysis component is configured to generate a new recipient notification for the second message, based on determining that the second set of recipients includes all of the recipients in the first set in addition to the at least one additional recipient that was not included in the first set of recipients. 10. The electronic messaging system of claim 5 and further comprising; a message store configured to store the second message and prior received messages and conversations, each conversation including message identifiers for messages that are part of the conversation. 11. A computing system comprising: a processor; and memory storing instructions executable b the processor, wherein the instructions configure the computing system to: receive an e-mail message; in response to receiving the e-mail message: access ancestor message information for an ancestor message that precedes the received e-mail message; based on the ancestor message information, identify an already-existing conversation in an e-mail messaging system, the already-existing conversation being associated with the ancestor message and including a set of messages in a plurality of threads, wherein each thread  has a subset of messages that includes some, but not all, of the set of messages in the conversation, and  is actionable as a single communication unit separate from messages in another one of the threads; and identify a first set of recipients that received the ancestor message; identify a second set of recipients that received the received e-mail message; based on determining that the second set of recipients is a superset that includes all of the recipients in the first set of recipients and at least one additional recipient: automatically select a particular one of the threads that includes the ancestor message, and wherein each message in the particular thread has at least all recipients included in second set of recipients, automatically add the received e-mail message to the selected thread

Assignees

Inventors

Classifications

  • H04L51/16Primary

    Electricity · mapped topic

  • User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail · CPC title

  • Combinations 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 {(coordinating program control therefor G06F9/52; in regulating and control system G05B)} · CPC title

  • H04L51/216Primary

    Handling conversation history, e.g. grouping of messages in sessions or threads · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10230675B2 cover?
When a message is received, the recipient set in the message, as well as ancestor message identifiers, are analyzed. The received message is either placed in an existing thread in an existing conversation, or in a new thread in the conversation, based upon the analysis of the recipient set and the ancestor identifiers.
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification H04L51/16. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 12 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).