Systems and methods for determining communication chains based on messages
First Claim
1. A method of analyzing messages, the method being implemented in a computer system having a processor and a memory, the method comprising:
- extracting, by the processor, from each of a plurality of messages, metadata identifying at least one sender and at least one recipient of that message;
generating from the metadata, by the processor, a list of senders of messages and a list of recipients of messages, wherein each sender is identified as the sender of at least one of the plurality of messages and each recipient is identified as the recipient of at least one of the plurality of messages;
receiving, by the processor, information selecting one of the senders from the list of senders as a source and one of the recipients from the list of recipients as a target;
determining, by the processor, using the metadata of the messages in the plurality of messages, one or more communication chains from the source to the target, wherein at least one of the communication chains is an indirect chain that includes at least one sender or recipient identified as an intermediary between the source and the target, wherein the determining includes;
extending a first possible message path one link forward from the sender, thereby defining an intermediate sender set, or extending a second possible message path one link backward from the recipient, thereby defining an intermediate recipient set;
after extending one of the first or second possible message path, detecting an overlap between one or more entities in the intermediate sender set and one or more entities in the intermediate recipient set, wherein a communication chain is completed in the event that the overlap is found; and
repeating the extending and detecting until a maximum communication chain length is reached; and
storing, by the processor, a representation of the one or more communication chains in the memory.
11 Assignments
0 Petitions
Accused Products
Abstract
A pool of messages, e.g., e-mails and/or other electronic documents that each correspond to a communication from a sender to a recipient, is analyzed to identify communication chains between a source and a target. Sender and recipient identifiers extracted from the messages are used to detect communication links between pairs of entities. Indirect chains of any desired length can be found by iteratively tracing a communication path one step forward from the source, then one step backward from the target, and so on; at each new step, entities at end points of the forward paths and backward paths are compared to detect any entities that complete a communication chain from source to target. Information related to the identified communication chains can be presented to a user via an interactive report that supports iterative analysis of the communication-chain data.
-
Citations
24 Claims
-
1. A method of analyzing messages, the method being implemented in a computer system having a processor and a memory, the method comprising:
-
extracting, by the processor, from each of a plurality of messages, metadata identifying at least one sender and at least one recipient of that message; generating from the metadata, by the processor, a list of senders of messages and a list of recipients of messages, wherein each sender is identified as the sender of at least one of the plurality of messages and each recipient is identified as the recipient of at least one of the plurality of messages; receiving, by the processor, information selecting one of the senders from the list of senders as a source and one of the recipients from the list of recipients as a target; determining, by the processor, using the metadata of the messages in the plurality of messages, one or more communication chains from the source to the target, wherein at least one of the communication chains is an indirect chain that includes at least one sender or recipient identified as an intermediary between the source and the target, wherein the determining includes; extending a first possible message path one link forward from the sender, thereby defining an intermediate sender set, or extending a second possible message path one link backward from the recipient, thereby defining an intermediate recipient set; after extending one of the first or second possible message path, detecting an overlap between one or more entities in the intermediate sender set and one or more entities in the intermediate recipient set, wherein a communication chain is completed in the event that the overlap is found; and repeating the extending and detecting until a maximum communication chain length is reached; and storing, by the processor, a representation of the one or more communication chains in the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 19, 20)
-
-
12. A method of analyzing messages, the method being implemented in a computer system having a processor and a memory, the method comprising:
-
extracting, by the processor, from each of a plurality of messages, metadata identifying at least one sender and at least one recipient of that message and further identifying a time of each message; generating from the metadata, by the processor, a list of senders of messages and a list of recipients of messages, wherein each sender is identified as the sender of at least one of the plurality of messages and each recipient is identified as the recipient of at least one of the plurality of messages; receiving, by the processor, information selecting one of the senders from the list of senders as a source and selecting one of the recipients from the list of recipients as a target; determining, by the processor, using the metadata of the messages in the plurality of messages, one or more communication chains from the source to the target, wherein at least one of the communication chains is an indirect chain that includes at least one sender or recipient identified as an intermediary between the source and the target, wherein the determining includes; extending a first possible message path one link forward from the sender, thereby defining an intermediate sender set, or extending a second possible message path one link backward from the recipient, thereby defining an intermediate recipient set; after each extension of either the first or second possible message path, detecting an overlap between one or more entities in the intermediate sender set and one or more entities in the intermediate recipient set, wherein a communication chain is completed in the event that the overlap is found; and repeating the extending and detecting until a maximum communication chain length is reached, wherein an indirect communication chain is determined only if the respective times of messages sent between senders and recipients in the indirect chain satisfies a time sequence constraint; and storing, by the processor, a representation of the one or more communication chains in the memory. - View Dependent Claims (21, 22)
-
-
13. A system for analyzing a set of messages, the system comprising:
-
a data storage device configured to store, for each of a plurality of messages, an index including metadata identifying at least one sender and at least one recipient of that message; a processor communicatively coupled to the data storage device, the processor including an interface module and an analysis module, the interface module being configured to receive input from a client and to transmit analysis results to a client, the input including data identifying a sender of at least one of the plurality of messages as a source and further identifying a recipient of at least one of the plurality of messages as a target, the analysis module being configured to determine, using the metadata of the messages in the plurality of messages, one or more communication chains from the source to the target, wherein at least one of the communication chains is an indirect chain that includes at least one sender or recipient identified as an intermediary between the source and the target, and wherein the analysis module is configured such that the determining includes; extending a first possible message path one link forward from the sender, thereby defining an intermediate sender set, or extending a second possible message path one link backward from the recipient, thereby defining an intermediate recipient set; after each extension of either the first or second possible message path, detecting an overlap between one or more entities in the intermediate sender set and one or more entities in the intermediate recipient set, wherein a communication chain is completed in the event that the overlap is found; and repeating the extending and detecting until a maximum communication chain length is reached, the interface module being further configured to transmit to the client a representation of the one or more communication chains determined by the analysis module. - View Dependent Claims (14, 15, 16, 17, 18, 23, 24)
-
Specification