The present disclosure relates to electronic communications systems and, more particularly, to methods and devices for managing aspects of communications sessions.
Electronic communications services have become increasingly important in today's society. Electronic communications service providers offer various means for establishing communications sessions between two or more users. For example, users may communicate using email services, chat services, telephone services, voice or video over IP services, fax services, and more. When users initiate communications sessions, they often have specific purposes in mind. For example, a user may place a telephone call with a particular recipient to discuss a specific email or a matter raised during an earlier conversation with a third party. At the time the call is established, however, the recipient may be unaware of the user's purpose of the call, and usually a period of time is elapsed at the beginning of the call in order to provide the recipient with the background and the purpose of the call.
A Caller ID is a known electronic communications service that provides recipients information about the identity of a caller associated with the device that initiated the communications session. Even though in some cases the recipient may guess the purpose of the call based on the Caller ID information (e.g., when the recipient and the user have a single pending matter), the Caller ID service provides only a partial solution. Therefore, there is a need for dynamic system that provides recipients with information regarding incoming communications sessions.
In one aspect, the present disclosure is directed to a communications device for providing recipients with information regarding communications sessions. The communications device may include structures configured to (i) receive from a user an input selection for use in connection with a communications session, (ii) determine information regarding previously exchanged communication, based on selected content, (iii) initiate a communications session with at least one terminal device associated with a particular recipient, based on contact information associated with the input selection, and (iv) transmit data to the at least one terminal device associated with the particular recipient.
In another aspect, the present disclosure is directed to a method for providing recipients with information regarding communications sessions. The method may include receiving from a user an input selection for use in connection with a communications session. The method may also include using selected content to determine information, and using contact information associated with the input selection to initiate the communications session with at least one terminal device associated with a particular recipient. The method may further include transmitting data to the at least one terminal device associated with the particular recipient.
In yet another aspect, the present disclosure is directed to a computer program embodied in a computer readable medium and executable by a processor. The computer program may include instructions enabling the processor to provide recipients with information regarding communications sessions, receive from a user an input selection for use in connection with a communications session, use selected content to determine information, and use contact information associated with the input selection to initiate the communications session with at least one terminal device associated with a particular recipient. The processor may also transmit data to the at least one terminal device associated with the particular recipient.
The accompanying drawings, which are incorporated in and constitute part of this disclosure, together with the description, illustrate and serve to explain the principles of various example embodiments.
Reference will now be made in detail to example embodiments implemented according to the present disclosure, the examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
Consistent with embodiments of the present disclosure, server 110 provides services to corresponding users or subscribers associated with terminal devices 120. It is noted that the terms “user,” “subscriber,” “caller,” “callee,” and “recipient” are used in the interest of brevity and may refer to any of a variety of entities that may be, for example, a person, an organization, an organizational role within an organization, a group within an organization, etc. For example, a user may be a caller in a voice dialing or video conferencing system, or a network subscriber sending a text message in a text messaging application. A recipient may be a callee in a voice dialing or video conference system, or a network subscriber receiving a text message in a text application.
In some embodiments, a user may use terminal device 120 to initiate different types of communications sessions with one or more participants. For example, terminal device 120 may be used to transmit or receive different types of data or messages (e.g., audio messages, video messages, or text messages) to or from server 110. As mentioned above, server 110 and the terminal devices 120 are communicatively coupled via a plurality of communications links of network 115. It is understood that any data transmission may occur in cooperation with network 115, which herein refers to any or all of the systems involved in providing between two or more communications devices. For example, communications network 115 may include, without limitation, a cellular telephone system, the Internet, a satellite communication system, wide area network (WAN), local area network (LAN), wireless local area network (WLAN), virtual network, or telecommunications network. The communications links may be wired, wireless, or both, and may be dynamically assigned based on the type of communications session and the load in each communications link. For example, a communications session between terminal device 120 and server 110 may start using cellular link and once the user in proximity to a known WLAN access point, it may continue using a WLAN link.
Processing device 205, shown in
In one embodiment, interface structure 302 receives from a user an input selection for use in connection with a communications session. The input selection may include selection of content (e.g., a document, an email, information on a website, and more) and selection of contact information (a username, a phone number, and more). One example of a GUI implemented in electronic communications system 100 is illustrated in
Consistent with some embodiments, analysis structure 304 may use linguistic analysis techniques to analyze and determine the descriptive information of the selected content. The linguistic analysis techniques may be those known in the art, such as semantic-based voice or text recognition, vector space analysis, rule-based analysis, statistical analysis, or other known techniques. In one embodiment, analysis structure 304 recognizes individual words, phrases, and sentences in the selected content, based on voice recognition techniques or Optical Character Recognition (OCR) techniques. Analysis structure 304 then determines the descriptive information of the selected content by applying natural language processing techniques to the recognized words, phrases, and sentences. For example, analysis structure 304 may determine the subject of selected content based on the identified words, phrases, and/or sentences.
Consistent with other embodiments, analysis structure 304 may observe details from metadata information associated with the selected content, and use these details in determining the descriptive information. In one example, when the selected content is a file or a document, the selected content may already contain descriptive information stored in a dedicated structure (e.g., a title field) as part of the file format. The retrieved details may be used as at least part of the descriptive information. In another example, when the selected content may be an HTML document, the HTML document structure may support a title tag that provides a meaningful indication of the nature of the document's contents. Furthermore, HTML document formats often support other metadata information, such as keyword and description meta tags. Therefore, according to some embodiments, analysis structure 304 may retrieve such information when the selected content is a document or file whose format supports descriptive information and that contains such information.
In some embodiments, analysis structure 304 may convert the format and/or size of the selected content to derive the associated descriptive information. For example, when the selected content is a document and the descriptive information is a subject line of an email correspondence, determining the descriptive information may include converting the formatting of the document to a predefined format, identifying key terms in the document, selecting one or more key terms, composing a subject line from the selected key terms.
In other embodiments, analysis structure 304 may derive the associated descriptive information from multimedia content such as images, audio information, as well as the video information. For instance, analysis structure 304 may analyze audio information as well as video information of a selected portion of a video message to determine the content and context of the video message. For the audio information, analysis structure 304 may apply the linguistic analysis techniques as discussed above, and for the video information, analysis structure 304 may apply image analysis techniques known in the art, such as image filtering, computer vision, pattern recognition, etc. Accordingly, based on the analysis of the video information, analysis structure 304 may identify a face of the person in the video, a motion of the person in the video, a background of the video, etc. The identified audio information and video information may be used by analysis structure 304 to determine the descriptive information of the video message. For example, electronic communications device 200 may use a camera (as input device 220) to initiate a communications session about something that the user can see, such as a skilled worker in the field diagnosing a problem with some machinery or electrical wiring. The user may point the camera of electronic communications device 200 at the subject of his or her investigation and then elect to communicate with a peer or supervisor about what their camera captures. Analysis structure 304 may treat the captured image data as the selected content and use computer vision to identify the objects or structure that are being captured. Thereafter, analysis structure 304 may use the identified objects or structure in the image data to determine the descriptive information.
In some embodiments, the analysis structure 304 determines the urgency or importance of the selected content. For example, the analysis structure 304 determines that a selected content relating to a portion of a chat exchange between various participants includes a task that requires an immediate response, and includes the urgency level for completion of the task in the subject line of an email correspondence sent, for example by the transmission structure 308, to a device 120 associated with a user tasked with completion of the request. In some example embodiments, the urgency or importance level is presented as a notification displayed on device 120.
Communication structure 306 initiates a communications session with at least one terminal device associated with a particular recipient, based on contact information associated with the input selection. The term “contact information” refers to any information that corresponds to the particular recipient and that may be considered relevant for contacting, accessing, or communicating with the particular recipient. Examples of contact information may include one or more of the following: a name, an image, a phone number, a fax number, a mobile phone number, an email address, user names in different services, an IP address, and more. In some embodiments, memory device 210 stores the contact information, which may include a plurality of profiles associated with the same user. Additionally, communication structure 306 may retrieve at least part of the contact information from other sources, such as other devices in communication with communications network 115 or a contact database. For example, communication structure 306 may receive the contact information from a social network account (for example, Facebook® or LinkedIn®) of the same user. In this case, communication structure 306 may compile a combined contact list based on the contact information retrieved from different sources.
Transmission structure 308 transmits data, including the determined information, to the at least one terminal device associated with the particular recipient. For example, the transmitted data may include descriptive information of selected content such as previously exchanged communication(s). The transmitted data may also include at least one detail regarding an additional communications session between the user and the particular recipient. Consistent with the present disclosure, the transmitted data may help the particular recipient understand the user's purpose in initiating the additional communications session.
First layer 402 includes a contact selector 416 that manages the selection of one or more recipients. Contact selector 416 may have access to an internal contact database 420, an external contact database 422, and an image/voice database 424. After receiving an input selection from the user, contact selector 416 accesses databases 420, 422, and 424 to identify one or more communication means associated with the selected recipient (e.g., phone number, email address, user name, and more). Contact selector 416 may send the one or more communication means to a message generator 444 in third layer 406.
First layer 402 may also include a content selector 418 that manages the selection of the content. Content selector 418 may have access to a file browser 426, internet browser 428, and user interface 430. In one example, content selector 418 may use file browser 426 to identify the selected content. The term “selected content” refers to any type of information representable in electronic form. Examples of selected content may include information from a document, information from a Web page, information from a spread sheet, an image, a calendar event, a text file, an audio file, a video file, a uniform resource locator (URL), and more. Content selector 418 may direct the selected content to one or more engines in second layer 404 based on the type of the selected content.
In second layer 404, descriptive information may be determined from the selected content. The selected content may enter to one or more of the following engines: a linguistic engine 432, an OCR engine 434, a voice recognition engine 436, an image recognition engine 438, and a metadata retrieval engine 440. In one embodiment, the selected content passes through one or more engines. For example, assuming the selected content is a portable document format (PDF) file with pictures and writing. Metadata retrieval engine 440 may identify the person who created the PDF file, image recognition engine 438 may recognize the identity of the people in the pictures, OCR engine 434 may process the writing into readable text, and linguistic engine 432 may recognize individual words, phrase, and sentences in the PDF file. The information output from one or more of the engines may be entered to a descriptive information generator 442. In one embodiment, descriptive information generator 442 may prioritize the information according to predetermined rules (e.g., include the identity of the person who created the document only if he/she is included in the user's contacts list) and select the descriptive information to send to message generator 444. In another embodiment, descriptive information generator 442 may receive a feedback from the user regarding the information to send the selected recipient.
Third layer 406 includes message generator 444 that assemble and forward the descriptive information to the selected recipient using one or more of the following applications: a text application 446, a voicemail application 448, an email application 450, a chat application 452, a notification, and a calendar application 454. Message generator 444 may use the information received from contact selector 416 regarding the selected recipient's communication means. In addition, message generator 444 may receive a feedback from the user regarding which application to use for transmitting the descriptive information. Alternatively, message generator 444 may obtain a preferable communication mode from internal database 420 that stores contact information. After the message is transmitted, a session generator 456 may (automatically or after receiving indication from the user) initiate a communications session with the selected recipient.
In one embodiment contact selector 416 may use information retrieved by content selector 418 to provide a recommended list of potential contacts for a communications session about a selected content. For example, a user may have questions about a certain document selected using file browser 426, but the user may not know who would be the best person to discuss with about the document. Therefore, upon receiving an indication (e.g., activating a designated button, highlighting specific text, selecting a document, and more) from the user, contact selector 416 may access databases 420, 422, and 424 to provide the user with a list of potential recipients. In one example, internal database 420 may store information about who may have the best knowledge of the subject of the selected content. In some embodiments, the user may invoke a contextual menu for the selected item (e.g., a Web page, a document, and more). The contextual menu may include an option for “contacts recommendation.” Upon activating this option contact selector 416 may recommend the user one or more potential contacts with whom to discuss the item.
In a related embodiment, contact selector 416 may determine which contacts to include in the recommended list based on information derived by engines 432-440. In one example, where the selected content is a document, metadata engine 440 may identify one or more individuals that have participated in the creation, editing, or reviewing of the document. Metadata engine 440 may also identify the individuals that have accessed or read the document most recently/frequently and/or thoroughly. In a different example, when the selected content is a document being versioned in a source control system, contact selector 416 can recommend users with whom to communicate about the document based on the commit history for the document, and even commits relating to a specific selected portion of the document.
In yet another related embodiment, message generator 444 may determine a preferred mode of communication to use when initiating a communications session with the selected contact based on the information derived by engines 432-440. In one example, where the selected content is a video stream captured by a camera of the terminal device 120, image recognition engine 438 may identify an object or an individual in the data stream. Accordingly, message generator 444 may initiate a video chat with the selected contact, and send to the selected contact a short video with the identified object or an individual. Additionally, message generator 444 may adjust the preferred mode of communication to use with the selected contact based on information on the selected contact. For example, if contact selector 416 determines that the selected contact is not available to a video chat or generally prefers not to have video chats, message generator 444 may initiate a phone call with the selected contact, and send to the selected contact an image of the identified object or an individual.
The preceding disclosure about the framework of
At step 502, the communications device 200 receives from a user an input selection for use in connection with a communications session. The input selection may include selection of content and selection of contact information. The following description of an example scenario, which is also illustrated in
As mentioned above, process 500 may be executed by server 110 or by terminal device 120. When step 502 is carried out by server 110, for example, receiving the input selection may include receiving the input selection from terminal device 120 associated with the user. For example, server 110 may receive data reflecting the input selection from terminal device 120 via communications network 115. While, when step 502 is carried out by terminal device 120, receiving the input selection may include receiving the input selection from input device 220. For example, terminal device 120 may receive signals reflecting the input selection from a touchscreen. At step 504, electronic communications device 200 may use selected content to determine descriptive information. In some embodiments, the selected content may be associated with another communications session with a different recipient that may be attached or appended to selected content. For example the selected content may include one or more of the following: an email, a voicemail, and a chat snippet. In the example scenario above, the selected content to be used in determining the descriptive information for Ally was a chat snippet between John and Jane.
In some embodiments, the selected content may be previously stored at memory device 210. Alternatively, when electronic communications device 200 receives the input selection, the selected content may be stored at memory device 210. In some embodiments, the selected content may be used to determine descriptive information. The term “descriptive information” may refer to any form of data derivable from the selected content that includes one or more details describing the selected content. The following non-limiting examples illustrate possible connections between the selected content and the descriptive information: when the selected content is a document, the descriptive information may be a summary of the document; when the selected content is an email, the descriptive information may be a subject line and an associated date; when the selected content is a voicemail, the descriptive information may be a transcript of the voicemail; and, when the selected content is a chat snippet, the descriptive information may be a title and the identity of the participants in the chat; when the selected content is a calendar invitation, the descriptive information may be the subject of the meeting; and when the selected content is a video file, the descriptive information may be part of the video played back at a higher speed. In the example scenario above, where the selected content was a chat snippet between John and Jane, the descriptive information may be “Holiday dinner invitation.”
At step 506, electronic communications device 200 uses contact information associated with the input selection to initiate a communications session with at least one terminal device 120 associated with a particular recipient. The input selection may include a selection of the type of communications session. The type of communications session may be a video communications session, an audio communications session, a textual communications session, or a combination thereof. In addition, the type of communications session may include the type of service used for initiating the communications session. For example, a textual communications session may be initiated via any of the following services: email, cellular text message, WhatsApp Messenger, Facebook chat, Google Hangout, and more. In other embodiments the type of communications session being initiated may be determined by presence information of the particular recipient. Presence information may be determined by obtaining presence information from one or more presence services. The presence services can include a communication application, a social network service, a professional network service, and/or a presence module of the various mobile applications. In the example above, when John places (e.g. drops) the selected content on Ally's icon he selects her as the particular recipient and electronic communications device 200 initiates a chat session with Ally because the presence information indicate that Ally in currently using her desktop computer.
At step 508, electronic communications device 200 may transmit data including the descriptive information to the particular recipient. The format of the descriptive information being transmitted may depend on the type of the communications session and/or the presence information. The format of the descriptive information may include a visual format (e.g., plain text), audio format (e.g., narrated text), or other types of format. For example, if Ally's presence information indicates that she is currently driving the descriptive information may be transmitted in an audio format. In some embodiments, the transmitted data includes the descriptive information and/or at least one detail regarding an additional communications session between the user and the particular recipient. The at least one detail may include the name of the user, the type of communications session, a timing indicator, or any other detail related to the additional communications session. In the example scenario above, after John dropped the selected content on Ally's icon, Ally may receive the notification message: “John Smith is about to call about: Holiday dinner invitation.”
Consistent with embodiments of the present disclosure, the data may be transmitted to at least one terminal device 120 associated with a particular recipient. In some cases, the particular recipient may have more than one terminal device 120, for example, a smartphone and a desktop computer. Accordingly, electronic communications device 200 may be configured to transmit the data to some or all of the terminal devices 120 associated with the particular recipient. For example, electronic communications device 200 may transmit the notification message both to Ally's smartphone and computer. In some embodiments, electronic communications device 200 may be configured to initiate the communications session with a first terminal device 120 associated with the particular recipient and to initiate the additional communications session with a second terminal device 120 associated with the particular recipient. For example, electronic communications device 200 may transmit the notification message to Ally's computer, and initiate a phone call with Ally's smartphone. In other examples, the descriptive information can be broadcasted to plurality of recipients.
Communications device 200 may, in some embodiments, initiate the additional communications session with the at least one terminal device 120 associated with the particular recipient (step 510). With the benefit of the previously transmitted descriptive information, the additional communications session may take place when the particular recipient knows the user's purpose in initiating the communications session. Therefore, the particular recipient may be able to direct the additional communications session to another person's associated device 120, a person who would be more appropriate for the subject matter of the call.
In some embodiments, electronic communications device 200 may initiate the additional communications sessions, upon receiving confirmations from particular recipients that they are ready for the additional communications sessions. In other embodiments, electronic communications device 200 may initiate the additional communications session automatically upon receiving a confirmation that the at least one terminal device 120 received the descriptive information. Alternatively, electronic communications device 200 may receive an indication (e.g., from an element in communications network 115) for non-delivery of the data that includes the descriptive information (e.g., a failure of an attempt to deliver the notification message, or an expiration of a time period for making attempts to deliver the notification message). By receiving such indication, the electronic communications device 200 may postpone initiating the additional communications session and retransmit the data that includes the descriptive information. In other embodiments, electronic communications device 200 may initiate the additional communications session automatically upon receiving a confirmation that the particular recipient had opened the descriptive information. For example, electronic communications device 200 may send the particular recipient a notification message that includes the descriptive information using a service that can provide confirmations after recipients open their messages.
As mentioned above, users may use electronic communications device 200 to initiate communications sessions of different types. In some embodiments, the communications session including the descriptive information may be a first type of communications session and the additional communications session may be a second type of communications session. For example, electronic communications device 200 may send the notification message as a text message to Ally informing her that John is about to contact her about a holiday dinner, and then to initiate a video chat with Ally's smartphone terminal device 120. In other embodiments, electronic communications device 200 may initiate the communications session and the additional communications session concurrently. Such that the notification message may be provided to the particular recipient substantially at the same time when the particular recipient receives the request for a communications session. For example, Ally may receive a phone call from John, and together with the indication that John is calling, Ally's smartphone may indicate that John is calling about a holiday dinner invitation.
At step 512, electronic communications device 200 may use the selected content to generate a virtual voicemail. In one example, the virtual voicemail may be generated by synthesizing voice audio from the text of the descriptive information using known text-to-speech technologies. A virtual voicemail may be useful when the particular recipient does not answer the attempt to initiate a communication session, or when the user prefers to send an automated audio message instead of a text message. In some embodiments, the virtual voicemail may be generated from the text of the descriptive information (e.g., the subject of the communication session). In other embodiments, the virtual voicemail may be generated from the selected content itself (e.g., a narrated version of the chat snippet). In the example scenario above, if Ally does not answer her phone, electronic communications device 200 may receive a voicemail stating that John called about a holiday dinner invitation.
Further to the example scenario above, when Ally accesses or reviews her voicemail through an audio interface, the descriptive information may be converted to audio using known text-to-speech synthesis technologies. Alternatively, when Ally accesses or reviews her voicemail through a text interface, the descriptive information can simply be displayed as text (such as a banner or a notification) on a display of the terminal device 120. In addition, the descriptive information associated with the intended call may be displayed as supplemental information along with other details for a missed call. Having virtual voicemail messages derived from automatically generated text may be easier and more reliable than transcribing regular recorded audio voicemail using speech-to-text technologies.
When the user activates “text-to-call” button 608 by selecting the icon shown, GUI feature 600 enables the user to select text by creating a range selection of text, drag the selected text, and drop the selected text on a particular recipient on contacts window 602. This drag-and-drop operation uses conventional components of Windows and other known operating systems and interface controls. In this example, the selected text is part of an ongoing chat between the user and Jane, the user drags the selected text and drops it on an icon representing Ally. In other examples, the selected text may be part of a document, part of an email, part of a website, and more. When the user activates “file-to-call” button 610 by selecting the icon shown, GUI feature 600 enables the user to browse and upload any type of file (e.g., data files, multimedia files, etc.) and select a particular recipient on contacts window 602.
Another example for implementing embodiments of the present disclosure may include selection of content using a right-click function over a highlighted text, which may open a contextual menu that contains numerous actions for the selection. Thereafter, electronic communications device 200 may receive an indication of the user's selection of an action. For example, an action to initiate a communications session relating to the selected content, an action to summarize the selected content, an action to set a reminder regarding the selected content, and more. In some embodiments, the user may be provided with means to select a recipient for the communications session (e.g., using drop-down list or combo-box). Alternatively, one or more recipients may be recommended by electronic communications device 200 based upon the nature of the selected content and knowledge that electronic communications device 200 may have or may obtain regarding other users with an expertise in the selected content (such as a subject matter expert), or a relationship to the selected content (such as an original author of the selected content, or a user who has collaborated in its production. Other ways in which GUI feature 600 may receive an input selection that includes a selected content to determine descriptive information and contact information that identifies the particular recipient are also within the scope of the present disclosure.
In the preceding specification, various preferred embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of this disclosure as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.
For example, advantageous results still could be achieved if steps of the disclosed techniques were performed in a different order or if components in the disclosed systems were combined in a different manner or replaced or supplemented by other components. Although embodiments of the disclosure are illustrated using server 110, the embodiments described herein may also be implemented on individual terminal device 120 without departure from the principle of the disclosure. Other implementations are also within the scope of the following example claims.
Therefore, it is intended that the disclosed embodiments and examples be considered as examples only, with a true scope of the present disclosure being indicated by the following claims and their equivalents.
This is a continuation application of application Ser. No. 14/869,368, filed Sep. 29, 2015, the disclosure of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 14869368 | Sep 2015 | US |
Child | 16177793 | US |