Exporting an email thread to a persistent chat room

A method, an apparatus and computer readable storage media facilitate establishing an email thread utilizing an email application used by a client device that communicates with other client devices across a network, where the email thread includes at least one email circulated to a group of users over the network relating to a discussion topic. The email application is linked with a synchronous communication application so as to establish a real-time discussion between at least some of the users of the group in relation to the topic utilizing the synchronous communication application and so that each email of the email thread is accessible via a graphical user interface associated with the synchronous communication application.

TECHNICAL FIELD

The present disclosure relates to email and other forms of network communications.

BACKGROUND

Email communications are a common form of communicating between groups of people in social and business environments. In certain environments, it is quite common for an email user to receive numerous emails in a given period of time (e.g., over a 24 hour period). For an email discussion between multiple users, long email threads can develop with different people providing different insights into the discussion. This can lead to a cluttering of email in a user's mailbox both from an information overload perspective and also a storage perspective. In addition, in certain instances, the asynchronous nature of email communications can hinder the progress of a discussion for a particular issue.

DESCRIPTION OF EXAMPLE EMBODIMENTS

Overview

A method, an apparatus and computer readable storage media facilitate establishing an email thread utilizing an email application used by a client device that communicates with other client devices across a network. The email thread comprises at least one email circulated to a group of users over the network relating to a discussion topic. The email application is linked with a synchronous communication application so as to establish a real-time discussion between at least some of the users of the group in relation to the topic utilizing the synchronous communication application and so that each email of the email thread is accessible via a graphical user interface associated with the synchronous communication application.

Example Embodiments

Referring toFIG. 1, a block diagram is shown for an example system that facilitates transfer of an asynchronous discussion developed by a series or thread of emails relating to a particular topic to a synchronous discussion (e.g., a chat room and/or a video conferencing session) between users/clients associated with the thread of emails. In particular, the system2comprises a communication network that facilitates communications between a plurality of users/clients, where the system2includes a central server4and a plurality of clients6that access the server4. In particular, the server4provides a communication link that facilitates transmission of emails as well as other communications between clients6. While only three clients6are shown in the system2, this is for illustrative purposes only and it is noted that the system2can include any number of clients6(e.g., hundreds, thousands or even a larger number of clients). Examples of types of networks that can be utilized within system2include, without limitation, local or wide area networks, Internet Protocol (IP) networks such as intranet or internet networks, telephone networks (e.g., public switched telephone networks), wireless or mobile phone or cellular networks, and any suitable combinations thereof. The server4is a computing device that serves one or more applications, such as an email application used by the clients6.

Each client6connects via any suitable wireless and/or hard wired connection to the server4to facilitate communications with other clients over the network. Referring to the block diagram ofFIG. 2, each client6includes a network interface8, a processor10, a memory12, an input device14and an output device15. The network interface8can be, for example, an Ethernet interface card or switch, a modem, a router or any other suitable hardware device that facilitates a wireless and/or hardwire connection over the communication network with the server4and other clients6, where the network interface unit can be integrated within the device or a peripheral that connects with the device. The processor10comprises a microprocessor that executes control process logic instructions16stored within memory12, including operational instructions and software applications stored within memory12(e.g., email applications and other client communication applications). In particular, the memory12includes an email tool17(e.g., one or more email software applications), a synchronous communication tool19(e.g., one or more software applications that facilitate synchronous communications with other clients, such as instant messaging, video conferencing, etc.), and an email to synchronous communication tool18that provides a link between the email tool17and the synchronous communication tool19so as to facilitate exportation or access of emails from the email tool17to the synchronous communication tool19during system operation. The processor10performs operations in accordance with the steps set forth in the flow chart ofFIG. 3utilizing the email to synchronous communication tool18, as described further below. The memory12may comprise read only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible memory storage devices, and any combinations thereof.

The input device14includes any one or more suitable components that facilitate input of information as well as audio and/or video content from the user to the client device6for use by the processor10. Examples of suitable input components include, without limitation, a keyboard, a mouse, a microphone (for input of audio content) and a camera (for input of graphical images and/or video content). The output device15comprises any suitable one or more components that facilitate display of information including a speaker component (for audio output) and a display monitor (e.g., a liquid crystal display screen and/or a touch display screen) for display of textual and/or graphical content by the processor, including interactive or graphical user interface (GUI) content.

Thus, each client6can be any suitable device that is configured to engage in asynchronous communications (e.g., email communications) with other clients as well as synchronous or real-time communications (e.g., instant text messaging communications, A/V conferencing communications, etc.) with other clients over the communication network via the server4. Some examples of client devices that can be used in system2include, without limitation, stationary (e.g., desktop) computers, personal mobile computer devices such as laptops, note pads, tablets, personal data assistant (PDA) devices, and other portable media player devices, and cell phones (e.g., smartphones) including suitable input and output devices as described above. The client devices can utilize any suitable operating systems (e.g., Android, Windows, Mac OS, Symbian OS, RIM Blackberry OS, Linux, etc.) to facilitate operation, use and interaction of the client devices with other client devices via the server4over the network.

The server4can be a similar device having the same or similar configuration and features as those previously described for the clients6. The server4basically serves the function of handling and transferring communication messages (e.g., email messages, audio and/or video conferencing content, etc.) between two or more clients6over the communication network. The server4can also have suitable memory capacity to store content associated with client communications for each client6(e.g., saved email messages and/or other communications that are accessible by the email software for each client6). In addition, the server can have suitable software tools that facilitate synchronous communications between the clients6. For example, in an instant messaging communication or a video conferencing session, the server4can host chat rooms or video conferencing rooms that can be attended by clients6(where the synchronous communication tool19of each client facilitates engaging in such synchronous communication session). The server4can also receive and store exported emails from the email thread302for access by clients6that engage in a synchronous communication associated with the topic of the email thread302.

Operation of the system2is now described with reference to the flowchart ofFIG. 3and also the GUI images set forth inFIGS. 4-8. As noted above, each client6includes an email tool17comprising one or more software applications that facilitate email communications with other clients6over the communication network via the server4. Examples of email software applications include, without limitation, Microsoft Outlook, Apple Mail, Lotus Notes, etc. The server4can be configured to store emails within the mailbox for each client6, where each client6accesses its mailbox via its own email tool17and each client6is further allotted a predetermined amount of mailbox memory space for storing emails. Each client6further includes a suitable synchronous communication tool19comprising one or more software applications that facilitate instant messaging or live chats and/or any video or web conferencing with other clients. Examples of such software applications include, without limitation, Skype, WebEx, Voice Over Internet Protocol (VoIP) software applications, and any other suitable form of chat room, instant messaging or live conferencing software. In addition, a client6can include unified communications software that integrates as a single or a series of related and interactive software applications the email tool17with the synchronous communication tool19(e.g., Unified Communications software commercially available from Cisco Systems, Inc.). Further, the email to synchronous communication tool18can be integrated with either or both the email tool17and synchronous communication tool19to form a single or a series of related and interactive software applications. The term “tool” is used herein to refer to an “application” software function or set of functions provided by a software application on a client device or hosted on a server on behalf of a client device.

Reference is made toFIG. 4which is a screen shot of a GUI300. The GUI300depicted inFIG. 4shows a scenario in which the mailbox of an email application is displayed on an output device15(e.g., an LCD display monitor) of a client6. At200, one or more emails comprising an email thread302has developed between multiple clients6, where the email thread302relates to the same topic, which is identified by the subject matter field (also referred to as the subject field or subject line, the RE field, etc.) of each email (e.g., the subject matter referenced as “CONTACT LIST NOT APPEARING PROPERLY AFTER SIGN IN” in the subject lines for the emails of the email thread302shown inFIG. 4). In the lower portion of the GUI300, a window304shows an email which is part of the email thread302. A button306is displayed in the window304which provides the client6with the option of establishing a synchronous communication with other clients associated with the email thread302. At210, a decision is made by the client6whether to establish a synchronous communication with any of the other clients6. In this scenario, the synchronous communication comprises a persistent chat room, which can be in the form of an instant messaging format. In particular, button306is identified with the text “EXPORT TO PERSISTENT CHAT ROOM”. However, as previously noted, the synchronous communication can also be a teleconferencing session between clients engaging in the synchronous communication.

The email to synchronous communication application18, which includes features associated with the button306of the GUI300, facilitates the mechanism by which one or more clients6can establish a synchronous communication by exporting an email thread, which comprises one or more emails, for use by the synchronous communication tool19. The option to establish a synchronous communication (e.g., a button306within the GUI window304) can be provided by the application18automatically. For example, the option to establish a synchronous communication can be provided after a select number of related emails are present within the user mailbox of the client6, where related emails are identified by having the same information in the subject matter field of an email. Alternatively, the option to establish a synchronous communication can always be present for every email displayed for a client6(e.g., button306may always be present within window304). Thus, a client6can establish a synchronous communication based upon a single email or a plurality of related emails utilizing the embodiments described below.

At220, the client6decides to establish a synchronous communication by selecting or clicking on button306of the GUI300. Referring toFIG. 5, a GUI310is displayed on the output device15of the client6after the client6selects button306. The GUI310includes a window312that provides an identifying name for the synchronous communication, where the email to synchronous communication application18can provide a default name which is the same as the information in the subject matter field for the emails of the email thread (“CONTACT LIST NOT APPEARING PROPERLY AFTER SIGN IN”, as shown for the emails of email thread302inFIG. 4). This window312can be modified by the client6(using a client input device14such as a keyboard to revise the information in window312).

The GUI310provides the client6with the option of selecting which potential clients will be sent an invitation to participate in the synchronous communication within window. The email to synchronous communication application18can pre-populate window314with some or all of the email addresses of clients6that are associated with the email thread. For example, the application18can automatically list within window314the email address for each client6that is in the TO: field of any one or more of the emails within the email thread302. The application18can further list the email addresses for clients6that are in the CC: field and/or BCC: field of any one or more emails within the email thread302. The client6establishing the synchronous communication has the option of revising this invitation list by adding and/or removing email addresses of clients6to the window314. For example, the client6may choose to limit the invitation to only a select number of other clients associated with the email thread302, or the client6may also choose to extend the invitation to certain clients that may not be associated with the email thread. A check box316is also provided within GUI310which selectively provides the ability of invitees to extend the invitation to others. In other words, by checking box316, the client6establishing the synchronous communication has allowed for invitees/participants to invite others to participate, while an unchecked box316prohibits this feature. In an example embodiment, an invitee can extend the invitation to others to attend the synchronous communication session (when permitted) utilizing the synchronous communication tool19of the client device6associated with that invitee. Window318of GUI310allows the client6to add an additional message to be included in the invitation to clients to attend the synchronous communication.

At230, the client6is provided with the option (via by checking box320within GUI310) of deleting all the emails within the email thread302from the client's mailbox (e.g., from the inbox folder of the mailbox, or from all mailbox folders, including inbox folder, sent folder and deleted folder of the client's mailbox) after a synchronous communication has been established. As described below, generation of the synchronous communication includes the exportation of all emails from the email thread302to a suitable memory storage location (at certain clients6or at the server4) that is accessible during the synchronous communication session. Thus, there may be no need for the emails of the email thread302to be located in the client's mailbox. Deletion of the emails from the email thread302, which occurs at step240, results in increasing the usable or available memory assigned to the client's mailbox.

The CREATE and CANCEL buttons322within GUI310provide the client6with the option of proceeding with establishing the synchronous communication or canceling the process.

After the client6selects the CREATE button322, an invitation email is automatically generated by the application18and sent to each client email address listed in window314requesting these clients to engage in the synchronous communication. Reference is made toFIG. 6which is a screen shot of a GUI330. As shown inFIG. 6, a new synchronous communication session is then established by the email to synchronous communication tool18for each participating client in the form of a chat room GUI330. The chat room can be hosted and operated by the server4, while the email to synchronous communication tool18and the synchronous communication tool19of each client6allow the clients to engage in the synchronous communication session. Emails from the email thread302are exported (e.g., to a memory location at the server4), and GUI330allows each client6participating in the synchronous communication session to view such emails, which are shown within window332of the GUI330. Thus, participating clients are provided with the ability to view emails within the email thread302while engaging in the synchronous communication with other participating clients. Viewing of the emails at GUI330is associated with the synchronous communication tool19, which is different from viewing such emails in the mailbox associated with the email tool17. The window334of GUI330shows a status list of invited clients who have responded to the invitation and are either available or not available to participate in the synchronous communication. The window336provides a field that allows a client6to engage in real time communications with other participating clients (e.g., by typing in text messages that are instantly displayed to other attendees of the synchronous communication session).

The GUI340shown inFIG. 6is associated with the synchronous communication tool19of each client6. In this embodiment, the tool19comprises unified communications client software that integrates email operations with chat room/instant messaging/video conferencing communications. The email to synchronous communication tool18can be integrated with the unified communications client software so as to facilitate the feature of exporting emails in the email thread302to the chat room (which are accessible for viewing by each client via GUI330) as well as the other operations as set forth in the flow chart ofFIG. 3. However, in embodiments in which a client email tool is separate from a client synchronous communication tool, the email to synchronous communication tool18comprises one or more software applications that provide plug-in features to bridge the two applications so as to link the email thread with the synchronous communication session and perform the other operations as set forth in the flow chart ofFIG. 3.

The synchronous communication session is added to the contact list342of the GUI340. This contact list342allows a client6to move from one chat room to another, with a showing of how many unread messages are in a particular chat room and/or how many attendees are currently in a particular chat room at any given time (e.g., a number of current participants in combination with a number of total invitees, so that one can determine what number of invitees are currently attending a particular chat room). For example, referring to the synchronous communication/chat room session named “CONTACT LIST NOT APPEARING . . . ” inFIG. 6, the number (15) in parentheses indicates the number of unread messages from the email thread302that was exported to this chat room, while the number (9/15) in parentheses indicates the number of currently participating attendees (9) in the chat room vs. the number of invited participants (15). The email to synchronous communication tool18automatically populates the contact list342for each invited client with an indication of this synchronous communication session. In addition, the string of text for each listing of the number of unread messages and the number of current participants vs. number of invited participants shown for each chat room session is dynamically updated in the GUI340as these values change.

The text that appears below the chat room name for each chat room session in the GUI340can be a portion of a message that was imported to that chat room session, such as the last message that was entered in the chat room (e.g., a recent message posted in the actual chat room or the last email message from the email thread that was exported into the chat room.) This text can also be a dynamically updated string of text for the GUI340that always pulls in the latest message from the chat room allowing the user to get a quick snapshot of the current conversation, hence assisting the user's decision of whether to enter the chat room or not.

After the chat room and/or other synchronous communication session has been generated, at250the attendee clients can engage in real-time communications in relation to the topic of the email thread302. In addition, as shown in the screen shot of GUI350depicted inFIG. 7, an email352is automatically sent by the email to synchronous communication tool18to each client6associated with the email thread302(e.g., invited clients and also non-invited clients) providing a notification that the email thread conversation has now been moved to a synchronous communication session. The email352can further include the name of the specific user associated with the client6making the invitation (e.g., John Doe as shown inFIG. 7) and can also include an additional message from this specific user (e.g., this could be the same message input into window318of GUI310which is sent with the invitation email to invited clients).

At260, the email to synchronous communication tool18generates an alert to any client that sends an email in relation to the email thread302after the synchronous communication session has been generated. Identification of such emails is based upon the content of the subject matter field of the email. For example, if a client responds to one of the emails in the email thread302while a synchronous communication session is in progress, this email will be readily identified since it will likely have the same subject matter line as the emails of the email thread302(“CONTACT LIST NOT APPEARING PROPERLY AFTER SIGN IN”). An example of an alert message that the application18generates for display to the client6sending the email message is shown as the GUI360ofFIG. 8. The alert message can be configured to allow the client6to continue by sending the email response and also provides the client with the option of joining the synchronous communication session (provided this particular client has been invited to join the session). In addition, the system2can be configured to provide administrator control to selectively prohibit or restrict additional email messages associated with an email thread from being sent once the email thread has been exported to a synchronous communication session, thus limiting excess email chatter about the topic of the email thread that is now being negotiated via the synchronous communication session.

In addition, in the event the subject matter line of a new email associated with an email thread changes (either accidentally or intentionally by a client6sending an email message in the thread), the email to synchronous communication tool18can be configured to still identify the new email message as being part of the email thread in a number of different ways. Some examples in which the email to synchronous communication tool can be configured to identify such new email messages include, without limitation, identifying the recipient clients of the new email message as being the same or substantially similar group of clients associated with receiving emails in the email thread (which is an indication that this is likely an email message regarding the same or similar topic associated with the email thread), linking the new email with the email thread based upon the new email being a reply message to an email message already identified as being a part of the email thread (so, for this scenario, the client could significantly change the subject matter line of the new email message, but since this new email message is a reply to an email message already identified within the email thread, the new email message would also be linked with the email thread), etc.

Thus, the methods and systems described herein facilitate the export of an email thread comprising a single email or a plurality of related emails to a synchronous communication session managed by a synchronous communication tool so as to encourage a more interactive and collaborative discussion of an issue in real-time between participants. This can in turn lead to a faster resolution of the issue being discussed within the email thread. In addition, by moving the emails from the email thread to the synchronous communication tool, these emails can be selectively deleted from a client email mailbox to prevent information overload as well as overload of mailbox storage allocated to the client.

The above description is intended by way of example only.