Patent Description:
Communications between individuals are increasingly digitized and transmitted via the Internet. Individuals are communicating through text messages, email messages, voice mail messages and the like. In the case of a text message between two individuals a conversation thread is maintained. Each individual contributes text to a chronologically listed record of the communications between the two individuals. With each new communication, a new entry is added to the communication thread. Either individual can review the conversation thread at any time and edit it locally in the messaging client.

Maintaining a complete and precise record of a sequence of communication may inhibit the spontaneity of an interaction. For example, when one has a conversation with an individual, it is typically not recorded and therefore the exchange may be more candid.

A live conversation between two individuals may be memorialized with notes, but in this case there is visual feedback indicating when one individual is recording information, which allows the other individual to clarify a point or otherwise alter the direction of the conversation.

Storing the entire contents of a digital conversation may also make it difficult to surface the most important information. It is a case of information overload. Selectively saving certain communications in an ephemeral conversation thread allows the user to quickly recall or reference important aspects of the thread. In view of the foregoing, it would be desirable to have a digital communication mechanism that more naturally mimics the types of interactions to which individuals are accustomed.

<CIT> describes methods, articles, signals, and systems for providing email message originators and distributors with default control over message removal at a message recipient's location, regardless of whether the message has been opened.

<CIT> describes a method, system and computer program product for automated surfacing of tagged content adjunct to a vertical application.

<CIT> describes privacy measures in instant messaging systems. A method includes: setting a time-out value for a message; sending the message to a receiving user; and displaying the message to the receiving user only for a time period equal to the time-out value.

<CIT> describes a method for securing an instant messaging ("IM") conversation between at least a first and a second user, the first and second users having a first and a second client, respectively, in communication over a network.

<CIT> describes a system and method for automatically deleting messages such as e-mail upon consumption by the recipient.

<CIT> describes a method to process data in a wireless data exchange. The method includes exchanging data between two or more wireless devices in real time and opening a thread of communications between the wireless devices, where the thread includes one or more data exchanges between the wireless devices.

<CIT> describes a wireless communication device that comprises a user interface, a memory, a wireless communication interface, and a processing system. The wireless communication interface is configured to wirelessly receive a message.

<CIT> describes systems and methods for generation of a relationship history.

The invention is a server as defined in independent claim <NUM>.

The invention is more fully appreciated in connection with the following detailed description taken in conjunction with the accompanying drawings, in which:.

<FIG> illustrates a system <NUM> configured in accordance with an embodiment of the invention. The system <NUM> includes a set of client devices 102_1 through 102_N and at least one server <NUM> connected via a network <NUM>, which may be any wired or wireless network.

Each client device <NUM> may be a computer, tablet, Smartphone and the like with standard components, such as a central processing unit <NUM> connected to input/output devices <NUM> via a bus <NUM>. The input/output devices <NUM> may include a touch display, keyboard, mouse and the like. A network interface circuit <NUM> is also connected to the bus <NUM> to provide connectivity with network <NUM>.

A memory <NUM> is also connected to the bus <NUM>. The memory <NUM> stores standard components, such as a communication module <NUM>. The communication module <NUM> may be a text message module that supports Short Message Service (SMS) texting. Alternately, the communication module <NUM> may be a browser, which supports access to an email server. Alternately, the communication module <NUM> may be a telephony interface that supports telephone interactions, such as voice messages.

Server <NUM> also includes standard components, such as a central processing unit <NUM> connected to input/output devices <NUM> via a bus <NUM>. A network interface circuit <NUM> is also connected to the bus <NUM>, Further, a memory <NUM> is connected to the bus <NUM>. The memory <NUM> stores modules of executable instructions to implement disclosed operations. For example, the memory <NUM> may store a message thread module <NUM>, which maintains a thread of communications between at least two individuals. The thread of communications may be a text message thread, an email with a sequence of returned communications or a voice mail file with a sequence of returned communications.

The configuration of system <NUM> is exemplary. The system <NUM> may include multiple servers <NUM> and a variety of communication devices to support various forms of digital communication.

<FIG> illustrates processing operations associated with an embodiment of the message thread module <NUM>. In particular, the figure illustrates message generation processing utilized in accordance with an embodiment of the invention. By way of example, operations will be discussed in the context of text messaging.

Initially, a transitory display parameter is set <NUM>. The transitory display parameter may be set as a default value (e.g., a <NUM> second viewing period) or it may be set through user input. The notion associated with the transitory display parameter is that all message entries will be deleted after the transitory display parameter time expires and therefore message entries are transitory, unless an individual opts-in for message entry permanence.

The next operation of <FIG> is to collect a text entry <NUM>. The text entry collection process is terminated when an individual indicts that the text entry should be sent. At this point it is determined if there was an indication to save the text entry <NUM>. The indication may be in the form of a gesture applied to the screen where the text is entered. Alternately, the indication may be based upon a specified key or combination of keys on a keyboard used to enter the text.

If there is no indication to save the entry (<NUM> - No), then the text is displayed in the thread associated with the sender and the recipient. When the recipient reads or otherwise consumes the entry, the entry is deleted from the thread associated with the sender <NUM>.

If there is an indication to save the entry (<NUM> - Yes), then the entry is displayed in its original form in the thread associated with the sender and the recipient. A check is periodically made to determine if the entry has been read by the recipient <NUM>. If not (<NUM> - No), the entry continues to be displayed in its original form. If so (<NUM> - Yes), indicia associated with the thread is altered <NUM>. That is, after the recipient reads the entry the nature of the entry will be altered on the sending side and the receiving side. If the recipient does not provide an indication to save the entry, then the indicia of the entry on the sending side thread will be altered to indicate that only one of the two parties (the sender) has saved the entry. If the recipient provides an indication to save the entry, then the indicia of the entry on the sending side and the receiving side is altered to indicate that both of the parties have saved the entry. In an alternate embodiment, the message may be restored in the sender side thread if the recipient provides an indication to save the message. This restoration in the sender side thread includes indicia that the recipient saved the message, although the sender originally declined to do so.

The operations of <FIG> are performed by the message thread module <NUM> operating in conjunction with a client device <NUM>. That is, operations such as collecting a text entry <NUM> and identifying an indication to save <NUM> are performed at the client device <NUM>, with the results of the operations passed and processed to the message thread module <NUM>. Similarly, the display until consumed operation <NUM>, display operation <NUM> and altering of thread indicia <NUM> are manifested at the client device <NUM> in response to information supplied by the message thread module <NUM>.

<FIG> illustrates message consumption processing operations performed in accordance with an embodiment of the invention. The message thread module <NUM> coordinates the delivery of the text to the recipient <NUM>. The text is displayed for the duration of the transitory display parameter <NUM>. That is, the message thread module <NUM> directs the client device <NUM> to display the text for the duration of the transitory display parameter. Alternately, the text may be displayed until it is actively deleted or the user scrolls past it without saving it.

It is determined whether there is an indication to save the entry <NUM> during the duration of the transitory display parameter. If not (<NUM> - No), the message is deleted <NUM> from the recipient's thread. Thread indicia of the sender is altered, if necessary <NUM>. That is, if the sender elected to preserve the entry, then indicia associated with the entry would be altered to indicate that the sender preserved the entry, but the recipient did not.

If there is an indication to save the entry (<NUM> - Yes), the entry is saved in the recipient's thread <NUM>. The thread indicia are altered <NUM> to at least indicate that the recipient has saved the entry. If the sender also saved the entry, then the sender's indicia and the recipient's indicia reflect that both entities have saved the message.

<FIG> illustrates thread review processing that may be performed in accordance with an embodiment of the invention. Initially, a text thread is displayed to a user <NUM>. The text thread is between the user and one or more other users. As the user scrolls through the text thread, individual entries may be deleted. If so (<NUM> - Yes), the individual entry is deleted <NUM>. If necessary, indicia associated with the entry on another device is altered <NUM>. For example, if another user had saved the entry and the present user had saved the entry initially, then the indicia associated with the entry on the two client devices would indicate that both parties saved the entry. After one party deletes the entry, the indicia associated with the entry for the other party indicates that only a single party has saved the entry.

<FIG> illustrates a client device <NUM> with a display screen <NUM> and a keyboard <NUM>. The display screen <NUM> displays a thread including a first entry <NUM> from a first user and a second entry <NUM> from a second user. The first entry <NUM> is persisted in response to a gesture applied to the display screen <NUM>. The second entry <NUM> is also persisted in response to a gesture applied to the display screen <NUM>,.

<FIG> illustrates updated indicia indicating different states of entry preservation. Entry <NUM>' is in bold to reflect that both the sender and the recipient persisted the entry. Entry <NUM>' is italicized to indicate that the reply was preserved by the recipient, but not the sender.

Thus, in this example, a parameter in the form of varying fonts is altered to reflect the persistence of an entry. Other parameters may be used, such as a separate graphic indicative of the preservation states. Alternately, the parameter may be in the form of a number where a <NUM> indicates that only the user of the client device has saved the entry and where the number <NUM> indicates that two parties have saved the entry. Larger numbers may be used in the event of a group message. A text color scheme may also be used to indicate preservation states.

In one embodiment, the message thread module <NUM> is configured to eliminate the ability to copy/paste a conversation? This prevents aspects of the conversation from being taken out of context, in addition, this feature keeps the record of the "saved" communications consistent.

Thus, it will be appreciated that the disclosed techniques allow for a digital communication mechanism that more naturally mimics the types of interactions to which individuals are accustomed. That is, individual utterances (entries) are transitory in nature, unless a user opts-in to preserve an utterance. Opting-in to preserve an utterance may result in feedback that allows a counter-party to know that another has preserved the entry.

In addition to providing a more natural communication flow, the invention may provide a more condensed communication thread where only perceived important entries are preserved. This can be advantageous in connection with the use of a mobile device, which has a small screen and therefore a limited ability to display information. This may also be advantageous as it reduces the amount of information that needs to be communicated across a network.

The invention has been disclosed in the context of text communications. However, the same techniques may be applied to email communications or threaded voicemail or multimedia communications.

This disclosure has discussed real time updates to a message thread. An embodiment of the invention reduces computation demand by utilizing batch mode asynchronous processing. The message thread module <NUM> may be configured to implement such operations, as shown in <FIG>. Initially, a request for a message thread is received <NUM>. The message thread is associated with two or more users, any of which may request the message thread. The request is typically in response to an indication of a new text entry in the message thread. The message thread is served <NUM>. Message thread state change, if any, is collected <NUM>. The message thread state change represents an indication to automatically delete the new text entry of the message thread after the duration of a transitory display period on the client device unless an indication of a gesture applied to a display screen presenting the new text entry is received from the client device during the transitory display period. The state change may be queued at the server instantaneously or when the user exits the message thread (<NUM> - Yes). State changes, if any, are queued by the server <NUM>. It should be appreciated that the queued messages may include message thread state change from the recently served message thread and/or additional message thread state changes from previously and subsequently served message threads to other users associated with the message thread.

A synchronization condition may then be applied <NUM>. The synchronization condition may be a specified time of day. For example, batch mode asynchronous processing may be performed in the middle of the night when there is typically low demand on computational resources. If the synchronization condition is satisfied (<NUM> - Yes), the shared thread state is revised based on queued thread state changes <NUM>. That is, the message thread is revised based upon all message thread state change associated with the message thread to produce new shared message thread state, which may be persistently stored until the next synchronization event. The new shared message thread state is supplied <NUM> in response to a request for the message thread from a user (<NUM> - Yes).

Techniques of the invention may be used in connection with non-textual communications, such as a thread of exchanged photographs. Further, the techniques of the invention may be used in connection with a variety of user inputs, such as a mouse click associated with a desktop computer, a gesture applied to a controller associated with a game console, a shaking motion applied to a mobile device and the like.

An embodiment of the present invention relates to a computer storage product with a non-transitory computer readable storage medium having computer code thereon for performing various computer-implemented operations. The media and computer code may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well known and available to those having skill in the computer software arts. Examples of computer-readable media include, but are not limited to: magnetic media, optical media, magneto-optical media and hardware devices that are specially configured to store and execute program code, such as application-specific integrated circuits ("ASICs"), programmable logic devices ("PLDs") and ROM and RAM devices. Examples of computer code include machine code, such as produced by a compiler, and files containing higher-level code that are executed by a computer using an interpreter. For example, an embodiment of the invention may be implemented using JAVA®, C++, or other object-oriented programming language and development tools. Another embodiment of the invention may be implemented in hardwired circuitry in place of, or in combination with, machine-executable software instructions.

Claim 1:
A method implemented by a server (<NUM>), the method comprising receiving, from a first client device (102_1), a message exchanged in a communication session, wherein the message is associated with a transitory display parameter that causes automatic deletion of the message after a transitory display parameter time expires; the method being characterized in further comprising:
determining that a request to preserve the message to prevent automatic deletion of the message has been received from a plurality of users who are engaged in the communication session;
modifying thread indicia associated with the message based on a quantity of users in the plurality of users from which the request to preserve the message was received; and
displaying the message at the first client device (102_1) with the modified thread indicia.