Processing

Please wait...

Settings

Settings

Goto Application

1. WO2013016047 - ENABLING SEARCH FOR CONVERSATION WITH TWO MESSAGES EACH HAVING A QUERY TERM

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ EN ]

What is claimed is:

1. A method comprising:

at a server having one or more processors and memory storing one or more programs for execution by the one or more processors so as to perform the method:

storing a plurality of index entries in an index, a respective index entry corresponding to a respective term and having a plurality of index components, a respective index component of the respective index entry identifying a message that is associated with the respective term;

receiving a first message having a first term;

associating the first message with a conversation that includes at least a second message, wherein the first term is not included in the second message and the second message includes a second term that is not included in the first message; and

storing, in the index, a plurality of index components for a same respective referenced object, including an index component indicative of the first term and an index component indicative of the second term.

2. The method of claim 1, wherein the index component for the second term includes a value identifying the index component for the second message as being associated with a message in the conversation other than the first message.

3. The method of claim 1, wherein the index component for the second term includes a mapped location that corresponds to an original location of the second term in the

conversation.

4. The method of claim 3, wherein the mapped location of the second term is in a predefined range of locations associated only with terms in the conversation that are in messages other than the first message.

5. The method of any of claims 1-4, wherein:

the second term is also associated with a second referenced object; and

the first term is not associated with the second referenced object.

6. The method of any of claims 1-5, wherein:

the first message has a first sender and the first term is representative of the first sender; and

the second message has a second sender that is distinct from the first sender and the second term is representative of the second sender.

7. The method of claim 6, including, after receiving the first message:

receiving, from a client, a search query for conversations including at least one message from the first sender and at least one message from the second sender; and

in response to the search query, providing to the client a set of search results including information representing the conversation.

8. The method of any of claims 6-7, wherein:

the first term includes an indication that the first sender is a sender of a message in the conversation; and

the second term includes an indication that the second sender is a sender of a message in the conversation.

9. The method of any of claims 6-8, wherein: the storing is performed without regard to whether or not the first message was addressed to the second sender or the second message was addressed to the first sender.

10. The method of any of claims 1-9, wherein the respective referenced object is a representative message of the conversation.

11. The method of any of claims 1-9, wherein, the respective referenced object is the first message and the index includes a plurality of first-message index components that each include an identifier of the first message, including:

one or more index components indicative of a plurality of message terms in the first message, including the first term; and

one or more index components indicative of one or more conversation terms in the conversation, the one or more conversation terms comprising one or more terms that are not in the first message, including the second term;

wherein the first-message index components indicative of the plurality of message terms are distinguished from the first-message index components indicative of the conversation terms by partitioning an address space for the first message, the address space having a respective address for each message term and for each of the one or more conversation terms, wherein the respective address for a respective conversation term in the conversation is indicative of a mapped location of the respective conversation term within the address space for the first message.

12. The method of claim 11 , wherein:

the address space for the first message is partitioned using a set of one or more high order address bits to specify partitions;

a mapped location of a message term in the address space for the first message is specified by an address having one or more high order address bits with a first value; and a mapped location of a conversation term in the address space for the first message is specified by an address having one or more high order address bits with a second value different from the first value.

13. The method of any of claims 1-9, wherein the respective referenced object is the conversation.

14. The method of any of claims 1-9, wherein:

the referenced object is the conversation including the first message and the second message, and the index includes a plurality of conversation index components that each include an identifier of the conversation, including: :

one or more index components indicative of a plurality of first message terms in the first message, including the first term; and

one or more index components indicative of a plurality of second message terms in the second message, including the second term; and

the index components indicative of the plurality of first message terms are distinguished from the index components indicative of the plurality of second message terms by partitioning an address space for the conversation, the address space having a respective address for each first message term and each second message term, wherein the respective address for a respective term in the conversation is indicative of a mapped location of the respective term within the address space for the conversation.

15. The method of claim 14, wherein:

the address space for the conversation is partitioned using a set of one or more high order address bits to specify partitions;

a mapped location of a first message term in the address space for the conversation is specified by an address having one or more high order address bits with a first value; and a mapped location of a second message term in the address space for the conversation is specified by an address having one or more high order address bits with a second value different from the first value.

16. A conversation server system, comprising:

one or more processors;

memory; and

one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:

storing a plurality of index entries in an index, a respective index entry corresponding to a respective term and having a plurality of index components, a respective index component of the respective index entry identifying a message that is associated with the respective term;

receiving a first message having a first term;

associating the first message with a conversation that includes at least a second message, wherein the first term is not included in the second message and the second message includes a second term that is not included in the first message; and

storing, in the index, a plurality of index components for a same respective referenced object, including an index component indicative of the first term and an index component indicative of the second term.

17. The conversation server system of claim 16, wherein the one or more programs, when executed by the one or more processors, cause the conversation server system to perform the method of any of claims 1 to 15.

18. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a conversation server system with one or more processors, cause the conversation server system to:

store a plurality of index entries in an index, a respective index entry corresponding to a respective term and having a plurality of index components, a respective index component of the respective index entry identifying a message that is associated with the respective term; receive a first message having a first term;

associate the first message with a conversation that includes at least a second message, wherein the first term is not included in the second message and the second message includes a second term that is not included in the first message; and

store, in the index, a plurality of index components for a same respective referenced object, including an index component indicative of the first term and an index component indicative of the second term.

19. The computer readable storage medium of claim 18, wherein the one or more programs, when executed by the one or more processors, cause the conversation server system to perform the method of any of claims 1 to 15.

20. A method comprising:

at a server having one or more processors and memory storing one or more programs for execution by the one or more processors so as to perform the method:

storing a plurality of index entries in an index, a respective index entry corresponding to a respective term and having a plurality of index components, a respective index component of the respective index entry identifying a message that is associated with the respective term;

receiving a first message;

associating the first message with a conversation having one or more other messages;

identifying text in the first message as quoted text based on text that occurs in one or more of the other messages associated with the conversation; and

storing, in the index, a plurality of first-message index components that each include an identifier of the first message, including;

one or more index components that correspond to terms that occur in original text of the first message; and

one or more index components that correspond to terms in the first message that occur in the quoted text of the first message;

wherein, in the index, the first-message index components that correspond to terms that occur in original text of the first message are distinguished from the first-message index components that correspond to terms in the first message that occur in the quoted text of the first message.

21. The method of claim 20, wherein a respective index component for a particular term in the quoted text includes a value identifying the respective index component as being associated with the quoted text.

22. The method of claim 20, wherein a respective index component for a particular term in the quoted text includes a mapped location that corresponds to an original location of the particular term in the quoted text.

23. The method of claim 22, wherein the mapped location of the particular term is in a predefined range of locations associated only with terms in the quoted text.

24. The method of any of claims 20-23, wherein identifying quoted text in the first message includes:

comparing text in the first message to text from a prior message in the conversation; identifying matching text in the prior message; and

identifying the matching text as quoted text.

25. The method of any of claims 20-24, including, after identifying quoted text in the first message:

receiving a second message that is a prior message in the conversation;

associating the second message with the conversation; and

updating the quoted text in the first message based on the text that occurs in the second message.

26. The method of any of claims 20-25, including:

deleting a respective message that is a prior message in the conversation; and updating the quoted text in the first message based on the text that occurred in the respective message.

27. The method of any of claims 20-26, including:

receiving a request for the first message from a client; and

in response to the request, sending to the client a portion of the first message that excludes at least a portion of the quoted text.

28. The method of any of claims 20-27, including:

receiving a request for the conversation including the first message from a client; and in response to the request, sending to the client information enabling the client to display a portion of the first message that excludes the quoted text and at least a portion of a second message in the conversation that includes the quoted text.

29. The method of any of claims 20-28, including:

receiving from a client a search query having one or more query terms; and performing a search of the index to identify messages including one or more of the query terms, wherein index components corresponding to terms in the quoted text are ignored while performing the search.

30. The method of any of claims 20-28, including:

receiving from a client a search query having one or more query terms;

identifying the conversation including the first message as matching the search query, wherein the original text of the first message includes a first set of one or more terms that match one or more of the query terms and the quoted text of the first message includes a second set of one or more terms that match one or more of the query terms;

highlighting terms in the first set of terms; and

foregoing highlighting terms in the second set of terms.

31. The method of claim 30, including:

identifying a third set of one or more terms in a second message of the conversation that match one or more of the query terms; and

highlighting terms in the third set of terms.

32. The method of any of claims 20-31 , wherein, in the index, the one or more index components indicative of the terms that occur in original text of the first message are distinguished from the one or more index components indicative of terms in the first message that occur only in the quoted text of the first message by partitioning an address space for the first message, the address space having a respective address for each term that occurs in original text of the first message and each term that occurs in quoted text of the first message, wherein the respective address for a respective term in the quoted text of the first message is indicative of a mapped location of the respective term within the address space for the first message.

33. The method of claim 32, wherein:

the address space for the first message is partitioned using a set of one or more high order address bits to specify partitions;

a mapped location of a term that occurs in original text of the first message in the address space for the first message is specified by an address having one or more high order address bits with a first value; and

a mapped location of a term that occurs in quoted text of the first message in the address space for the first message is specified by an address having one or more high order address bits with a second value different from the first value.

34. A conversation server system, comprising:

one or more processors;

memory; and

one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:

storing a plurality of index entries in an index, a respective index entry corresponding to a respective term and having a plurality of index components, a respective index component of the respective index entry identifying a message that is associated with the respective term;

receiving a first message;

associating the first message with a conversation having one or more other messages;

identifying text in the first message as quoted text based on text that occurs in one or more of the other messages associated with the conversation; and

storing, in the index, a plurality of first-message index components that each include an identifier of the first message, including;

one or more index components that correspond to terms that occur in original text of the first message; and

one or more index components that correspond to terms in the first message that occur in the quoted text of the first message;

wherein, in the index, the first-message index components that correspond to terms that occur in original text of the first message are distinguished from the first-message index components that correspond to terms in the first message that occur in the quoted text of the first message.

35. The conversation server system of claim 34, wherein the one or more programs, when executed by the one or more processors, cause the conversation server system to perform the method of any of claims 20 to 33.

36. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a conversation server system with one or more processors, cause the conversation server system to:

store a plurality of index entries in an index, a respective index entry corresponding to a respective term and having a plurality of index components, a respective index component of the respective index entry identifying a message that is associated with the respective term; receive a first message;

associate the first message with a conversation having one or more other messages; identify text in the first message as quoted text based on text that occurs in one or more of the other messages associated with the conversation; and

store, in the index, a plurality of first-message index components that each include an identifier of the first message, including;

one or more index components that correspond to terms that occur in original text of the first message; and

one or more index components that correspond to terms in the first message that occur in the quoted text of the first message;

wherein, in the index, the first-message index components that correspond to terms that occur in original text of the first message are distinguished from the first-message index components that correspond to terms in the first message that occur in the quoted text of the first message.

37. The computer readable storage medium of claim 36, wherein the one or more programs, when executed by the one or more processors, cause the conversation server system to perform the method of any of claims 20 to 33.