Unified messaging platform for processing annotations attached to email messages
Automatically synchronize information between team members through the user interface of the unified messaging platform, solving the problem of inconsistent information transmission in the team environment, real-time follow-up and collaboration of information, and simplifying the complexity of multi-platform access.
Patent Information
- Application Number
- CN202110717638.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2015-07-15
- Filing Date
- 2016-05-20
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2036-05-20
AI Technical Summary
Existing communication platforms cannot effectively solve the problem of inconsistent information transmission in team environments, resulting in information overload and information asymmetry among team members, and existing tools increase complexity rather than solutions.
Provide a unified messaging platform, automatically synchronizes information between team members through the user interface, extracts and displays comments in additional files, and synchronizes them in the message body and file tags, realizing seamless cross-platform information transmission and collaboration.
Real-time follow-up and collaboration between team members is realized, information overload is reduced, information transmission efficiency and accuracy is improved, and the complexity of multi-platform access is simplified.
Smart Images

Figure CN113408242B_ABST
Abstract
Description
[0001] This application is a divisional application of Chinese Patent Application No. 201680029632.8. BACKGROUND OF THE INVENTION
[0002] Numerous and diverse communication platforms are currently available. Some communication platforms (e.g., messaging and / or email platforms) allow a certain amount of interoperability. However, these platforms do not adequately address the needs and requirements of contemporary team environments. For example, traditional email applications are configured such that each message is sent by a sender to one or more recipients. The sender often has difficulty knowing which recipients will be interested in receiving certain information, which leads to message forwarding and / or ignoring relevant or key individuals. In the case of message forwarding, the communication chain is broken, which results in different information being provided to various members of a team. Additionally, when certain members are ignored and / or excluded, information that would be useful to the entire team will only be archived and operated on by a subset of the team. The fact that email messaging is overused for many purposes compounds these deficiencies - for example, from messages as basic as requesting consent from a recipient to messages with attached critical visual documents for an organization - which results in overloaded inboxes and overwhelmed recipients.
[0003] Other communication tools and media have been developed to fill the gap, such as instant messaging, short message service (SMS), Yammer, Skype, SharePoint, etc., but these tools add complexity rather than being a primary solution. For example, although these additional communication tools are useful in a single-point solution, they also create a need for users to access multiple locations to obtain a complete picture of information, tasks, and obligations.
[0004] Embodiments have been described with respect to these and other general considerations. Additionally, although relatively specific problems have been discussed, it should be understood that the embodiments should not be limited to solving the specific problems identified in the background art. SUMMARY OF THE INVENTION
[0005] Generally speaking, the present disclosure relates to methods and systems for providing a unified messaging platform. The unified messaging platform provides an integrated environment for collaboration, file sharing, and project management. In various aspects, the unified messaging platform is organized based on one or more teams or projects, where each team or project is also organized by customizable categories. A user interface is provided for ready access to information related to each category (e.g., communication, files, tasks, work products, etc.), in which the information is automatically and seamlessly synchronized across platforms so that each team member can keep up with the current progress and status of the project. For example, collaboration on attached files is facilitated by extracting and providing at least a portion of the attached file within the message body. In various aspects, annotations within the attached file can be extracted and summarized for display within the message body. Additionally, annotations made to the content extracted within the message body can be automatically synchronized and reflected within the attached file and in the file tags storing files associated with the team. These and other features will be described in detail herein.
[0006] In various aspects, a system including a processing unit and a memory is provided. The memory stores computer-executable instructions that, when executed by the processing unit, cause the system to perform a method. The method performed by the system includes: receiving a message having an attached file, and identifying the structure of the attached file. Additionally, the method includes identifying at least one annotation in the attached file, and determining the location of the at least one annotation within the structure of the attached file. The method further includes extracting the at least one annotation and displaying the at least one annotation in the message.
[0007] In additional aspects, a system including a processing unit and a memory is provided. The memory stores computer-executable instructions that, when executed by the processing unit, cause the system to perform a method. The method performed by the system includes: receiving a message with embedded content, where the message with embedded content includes content extracted from an associated file. The method further includes identifying the structure of the extracted content, where the structure is associated with the file structure of the associated file, and receiving an annotation to the extracted content. Additionally, the method includes identifying the location of the annotation within the structure of the extracted content, and synchronizing the annotation with the associated file.
[0008] In additional aspects, a method of extracting a portion of an attached file and embedding the extracted portion within a message. The method includes receiving a message having an attached file, and scanning the attached file. The method further includes extracting the portion of the attached file, and displaying the extracted portion in the message.
[0009] The present invention content is provided to introduce, in a simplified form, a selection of concepts that are further described in the detailed description below. The present invention content is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Non-limiting and non-exhaustive examples are described with reference to the following drawings.
[0011] Figure 1 An exemplary conceptual model for a unified messaging platform according to an example embodiment is shown.
[0012] Figure 2A An exemplary interface for interacting with a unified messaging platform according to an example embodiment is shown.
[0013] Figure 2B An exemplary interface for interacting with a unified messaging platform according to a second example embodiment is shown.
[0014] Figure 2C An exemplary interface for interacting with a unified messaging platform according to a third example embodiment is shown.
[0015] Figure 2D An exemplary interface for interacting with a unified messaging platform according to a fourth example embodiment is shown.
[0016] Figure 2E An exemplary interface for interacting with a unified messaging platform according to a fifth example embodiment is shown.
[0017] Figure 2F An exemplary mobile interface for interacting with a unified messaging platform according to an example embodiment is shown.
[0018] Figure 2G An exemplary mobile interface for interacting with a unified messaging platform according to a second example embodiment is shown.
[0019] Figure 3 An exemplary system for message processing implemented on a computing device according to an example embodiment is shown.
[0020] Figure 4 An exemplary method for scanning for additional messages according to an example embodiment is shown.
[0021] Figure 5 An exemplary method for extracting at least a portion of the content from an attached file according to an example embodiment is shown.
[0022] Figure 6 An exemplary method for inserting at least a portion of the extracted content into a message according to an example embodiment is shown.
[0023] Figure 7 An exemplary method for synchronizing an annotation made on the extracted content with an associated file according to an example embodiment is shown.
[0024] Figure 8 An exemplary interface for embedding the extracted content in a message according to an example embodiment is shown.
[0025] Figure 9A An exemplary interface for displaying a message with embedded content according to an example embodiment is shown.
[0026] Figure 9B An exemplary interface for displaying an associated file in response to a selection of the embedded content according to an example embodiment is shown.
[0027] Figure 10 An exemplary interface for embedding the extracted content in a message according to an example embodiment is shown.
[0028] Figure 11 A block diagram of an example physical component of a computing device that can practice multiple aspects of the present disclosure is shown.
[0029] Figure 12A and Figure 12B A simplified block diagram of a mobile computing device that can practice multiple aspects of the present disclosure is shown.
[0030] Figure 13 A simplified block diagram of a distributed computing system that can practice multiple aspects of the present disclosure is shown.
[0031] Figure 14 A tablet computing device for performing one or more aspects of the present disclosure is shown. Detailed Description
[0032] In the following detailed description, reference is made to the accompanying drawings that form a part hereof and in which are shown, by way of specific embodiments or examples, aspects. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from the present disclosure. The embodiments may be practiced as a method, system, or apparatus. Thus, the embodiments may take the form of a hardware implementation, a fully software implementation, or an implementation combining software and hardware aspects. Accordingly, the following detailed description is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims and their equivalents.
[0033] In particular, a unified messaging platform is described that provides an integrated environment for collaboration, file sharing, and project management. In various aspects, the unified messaging platform is organized based on one or more teams or projects, where each team or project is also organized by customizable categories such as finance, engineering, launch preparation, debugging, catering, construction, general, random, etc. A user interface is provided for quick access to information related to each category (e.g., communication, files, tasks, work products, etc.), and in the user interface, the information is organized by pages or tabs for each category. In addition, documents, project updates, tasks, and communication between team members are automatically and seamlessly synchronized across the platform so that each team member can keep up with the current progress and status of the project. For example, collaboration on attached files is facilitated by extracting and providing at least a portion of the attached file within the message body. In various aspects, annotations within the attached file can be extracted and summarized for display within the message body. In addition, annotations made to the content extracted within the message body can be automatically synchronized and reflected in the attached file and in the file tags storing files associated with the team. These and other features will be described in detail herein. Embodiments have been made with these and other general considerations in mind.
[0034] Figure 1 An exemplary system for providing a unified messaging platform in accordance with an example embodiment is shown.
[0035] In various aspects, the unified messaging platform (UMP) 105 can be implemented via a client unified messaging application 104a executing on a client computing device 104, where the client unified messaging application 104a communicates with a server unified messaging application executing on a server computing device 106. In some aspects, the client computing device 104 can include a client-side object model 107 that communicates with a server-side object model 109 (e.g., implemented by an intermediate layer 106b). In a basic configuration, the client computing device 104 is a personal or handheld computer having both input and output elements. For example, the client computing device 104 can be one of the following: a mobile phone; a smartphone; a tablet computer; a phablet; a smartwatch; a wearable computer; a personal computer; a desktop computer; a laptop computer; a gaming device / computer (e.g., Xbox); a television, etc. This list is merely exemplary and should not be considered restrictive. Any suitable client computing device for executing a messaging application can be utilized.
[0036] The Unified Messaging Platform 105 is a communication system / service that provides a collaborative environment for communication and collaboration for users. Among other examples, the Unified Messaging Platform 105 is shown by the dashed line, which shows that the implementation of the Unified Messaging Platform 105 may involve the front end 106a, the middle layer 106b, and / or the back end 106c of the server computing device 106. In various aspects, the server computing device 106 may include one or more server computing devices 106. In an example, the Unified Messaging Platform 105 presents a configurable and extensible workspace for collaboration among users through a user interface (UI), and the user interface (UI) may include multiple different views. Users of the Unified Messaging Platform 105 may include, but are not limited to: one or more individuals, companies, organizations, departments, virtual teams, task forces, suppliers, customers, third parties, etc. Users of the Unified Messaging Platform 105 may have one or more user profiles that are customizable by the users. The Unified Messaging Platform 105 enables visibility and communication among users, including users organized in teams or groups and users / groups outside of the teams / groups. Policies can be set for teams / groups by one or more administrators of the teams / groups and by the administrator of the Unified Messaging Platform 105. The examples described throughout this disclosure are designed to accommodate the protection of user privacy. The protection of sensitive information, including legally protected data and personally identifiable information, is crucial for implementing the examples described herein. For example, users can set privacy settings for what data can be displayed / shared, and the examples described herein comply with such settings and laws related to the distribution of data and the protection of privacy.
[0037] As in Figure 1As shown, the systems and / or services associated with the unified messaging platform 105 can be implemented as a front end 106a, a middle layer 106b, and a back end 106c on a server computing device 106. However, those skilled in the art will recognize that the unified messaging platform 105 can be implemented across one or more components of the system examples described herein, including one or more client computing devices 104 and / or enterprise stack 110. In some aspects, the front end 106a of the server computing device 106 can send information and commands to the client computing device 104 via the client unified messaging application 104a. For example, the middle layer 106b and / or back end 106c of the server computing device 106 can receive information and commands from the client computing device 104 via the client unified messaging application 104a. In other aspects, the front end 106a can act as a mediator between the client computing device 104 and the middle layer 106b. That is, the front end 106a can exchange commands and information with the client computing device 104 and can also exchange commands and information with the middle layer 106b. In an example, the unified messaging platform 105 includes a server unified messaging application that executes on the server computing device 106 via the front end 106a, the middle layer 106b, and the back end 106c that communicate with the client unified messaging application 104a.
[0038] In some aspects, the back end 106c can also include or communicate with one or more application agents 106d to facilitate interoperability and communication with one or more external services 114. More specifically, the application agent 106d can engage with the external service 114 using a webhook 106e to facilitate integration between the unified messaging platform 105 and the external service 114. The external service 114 is a service and / or website hosted or controlled by a third party. For example, the external service 114 can include line-of-business (LOB) management services, customer relationship management (CRM) services, debugging services, accounting services, payroll services, etc. The external service 114 can also include other websites and / or applications hosted by a third party, such as social media or networking websites; photo sharing websites; video and music streaming websites; search engine websites; sports, news, or entertainment websites, etc. That is, some external services 114 can provide robust reporting, analysis, data compilation, and / or storage services, etc., while other external services 114 can provide search engines or other access to data and information, images, videos, etc.
[0039] In multiple aspects, data or information can be shared between the server computing device 106 and one or more external services 114. For example, business contacts, sales, etc. can be input via the client computing device 104 that communicates with the server computing device 106, where the server computer device 106 communicates with CRM software hosted by a third party. The third-party CRM software can track sales activities, marketing, customer interactions, etc. to provide analysis or other information to facilitate business relationships. Alternatively, a manufacturing work order can be input via the client computing device 104 that communicates with the server computing device 106, where the server computing device 106 communicates with LOB management software hosted by a third party. The LOB management software can guide and track work orders by creating workflows (e.g., tasks or alerts for scheduling manufacturing equipment, ordering raw materials, scheduling transportation, clearing inventory, etc.). In some cases, the LOB management software can create requests for user approval or review at different stages of the workflow. In other aspects, a user can issue queries to one or more of the external services 114, such as a request for business contacts, last month's sales, the status of a work order, or a search query or request for an image, etc.
[0040] As shown by Figure 1 As shown, the server computing device 106 can communicate with the external service 114 and the client computing device 104 via the network 108. In one aspect, the network 108 is a distributed computing network such as the Internet. In multiple aspects, the unified messaging platform 105 can be implemented on more than one server computing device 106, such as multiple server computing devices 106. As discussed above, the server computing device 106 can provide data to the client device 104 or receive data from the client device 104 via the network 108. Data can be transmitted through any network suitable for transmitting data. In some aspects, the network 108 is a computer network such as an enterprise intranet and / or the Internet. In this regard, the network 108 can include local area networks (LANs), wide area networks (WANs), the Internet, wireless and wired transmission media. In other aspects, the server computing device 106 can communicate with some components of the system via a local network (e.g., an enterprise intranet), while the server computing device 106 can communicate with other components of the system via a wide area network (e.g., the Internet).
[0041] According to another aspect, communication between the unified messaging platform 105 and other components of the system may require authentication 112. Authentication 112 refers to a process by which a device, application, component, user, etc. provides evidence that accessing other devices, applications, components, users, etc. or communicating with other devices, applications, components, users, etc. is "trusted" or "authorized". Authentication may involve using third-party digital certificates, authentication tokens, passwords, symmetric or asymmetric key encryption schemes, shared secrets, authentication protocols, or any other suitable authentication system or method known now or developed in the future. In various aspects, in response to authentication, access or communication may be permitted and data or information may be exchanged between the unified messaging platform 105 and various other components of the system. In some aspects, the environment or network that links various devices, applications, components, users, etc. may be referred to as a "trusted" environment. In a trusted environment, authentication between devices, applications, components, users, etc. may not be required.
[0042] The unified messaging platform 105, which performs operations on the server computing device 106, may also communicate with one or more enterprise applications (e.g., enterprise stack 110). The enterprise stack 110 may include, for example, an active directory 110a, an enterprise messaging application 110b, a file sharing application 110c, a telemetry application 110d, etc. The enterprise stack 110 may be stored and / or executed locally, for example, within an enterprise intranet or at distributed locations via the Internet. In some cases, the enterprise stack 110 may be included within the server computing device 106. For example, the active directory 110a may be included as part of the backend 106c of the server computing device 106. In some cases, the enterprise stack 110 may reside in or communicate with the unified messaging platform 105 in a trusted environment. In various aspects, information and / or messages received, sent, or stored via the unified messaging platform 105 may be transmitted to the enterprise stack 110. Additionally, information and / or messages received, sent, or stored via the enterprise stack 110 may be transmitted to the unified messaging platform 105.
[0043] Additionally, in some aspects, the unified messaging platform 105 executing on the server computing device 106 can communicate with one or more third-party messaging applications 116. The third-party messaging applications 116 are messaging applications hosted or controlled by a third party, including third-party email messaging applications, SMS applications, instant messaging applications, social networking applications, and the like. In various aspects, some users (e.g., internal users) who are members of a team can be registered with the unified messaging platform 105, while other users (e.g., external users) who are members of the team may not be registered with the unified messaging platform 105 but may be registered with one or more third-party messaging applications 116. In some aspects, users who are registered with the enterprise messaging application 110b instead of the unified messaging platform 105 are considered external users. In such cases, the unified messaging platform 105 can communicate with one or more third-party messaging applications 116 and / or with one or more enterprise messaging applications 110b to exchange information and messages with external users. In some aspects, the communication between the unified messaging platform 105 and one or more third-party messaging applications 116 and / or one or more enterprise messaging applications 110b via the network 108 can involve authentication 112. In other aspects, the communication between the unified messaging platform 105 and, for example, one or more enterprise messaging applications 110b may not involve authentication 112.
[0044] It should be understood that the various devices, components, etc. referred to Figure 1 are not intended to limit the systems and methods to the specific components described. Thus, additional topological configurations can be used to practice the methods and systems herein, and / or some of the described components can be excluded without departing from the methods and systems disclosed herein.
[0045] Figure 2A An exemplary interface for interacting with a unified messaging platform according to a first exemplary embodiment is shown.
[0046] In various aspects, a user can interact with the unified messaging platform via a user interface 200 (e.g., a graphical user interface). Among other examples, an exemplary unified messaging platform 105 is provided in the Figure 1 description, and in such as Figures 2A-2Gwill be further described in the remainder of the present disclosure. In some aspects, the user interface 200 may relate to one or more panes or windows for organizing the display of information and / or interactive controls. In one example, the user interface 200 may include three panes, such as, a left frame 202, a center pane 204, and a right frame 206. In another example, the user interface 200 may include two panes, such as, a left frame and a right frame. In additional examples, the user interface 200 may include one pane, four or more panes, and / or the panes may be implemented in multiple browsers or application windows.
[0047] As described above, each pane or window may display information in the form of text, graphics, etc. and / or one or more interactive controls or links. For example, the first pane (e.g., the left frame 202) may display one or more teams 208, email inlets, etc. As used herein, a team refers to any group of two or more users formed for one or more purposes. Teams may be formed for any conceivable purpose or purposes (e.g., business purposes, social purposes, charitable purposes, etc.). In addition, a team may include any type of user, such as, colleagues, family members, classmates, business partners, etc. In various aspects, teams may be formed within the unified messaging platform 105 by creating a team name (e.g., a leadership team, a design team, an event team, a project team, etc.) and by adding users (e.g., members) to the team. For example, in a settings or management pane (not shown), members may be added to a team by selecting the identifier of the user (e.g., a user icon, a user email, a user phone number, etc.). In at least some aspects, each member of a team is authorized to access the team inlet or channel. In addition, any number of teams may be created within the unified messaging platform 105, and / or teams may be implicitly created based on the communication between two or more users.
[0048] The team entry can provide access to all communications, files, links, lists, hashtags, development tools, etc. shared by any member of the team. According to an embodiment, in response to a selection (e.g., by clicking) of the team 208 within a pane (e.g., the left frame 202), the team entry can be opened. The team entry refers to an access point through which team members can view shared information and other team members and interact with the shared information and other team members. In at least some cases, each member of the team is granted full access to the information and sessions shared within the team entry. In various aspects, in response to a selection of the team 208, general information about the team, project specifications, etc. can be displayed in a second pane (e.g., the center pane 204). For example, member names, member contact information (e.g., email addresses, phone numbers, etc.), member usage times, project specifications, project timelines, project tasks, etc. can be displayed in the center pane 204.
[0049] The team entry can also be organized based on customizable information categories 210 for the team 208. For example, any suitable categories 210 for organizing team information can be created for the team entry, such as finance, engineering, startup preparation, debugging, catering, construction, general, random, etc. In various aspects, in response to a selection of a category 210 of the team 208 within the left frame 202, information related to the category 210 can be displayed in the center pane 204. In certain cases, each member of the team is authorized to have full access to the information associated with each category 210 of the team 208 within the team entry.
[0050] As described above, the team entry can provide access to all communications, files, links, lists, hashtags, etc. shared by members of the team 208. In various aspects, within each category 210, the information can also be organized by tags or pages. For example, each tag 212 can display different types of information related to the category 210 in the center pane 204. When selected, the tag 212 can be identified by highlighting it with a different font or font color, by outlining it, underlining it, etc. As Figure 2A shown, in response to a selection of a first tag (e.g., the session tag 212a represented by an underline), the communications 218 between team members can be displayed in the center pane 204. As used herein, the term "communication" can be used interchangeably with the term "message". In various aspects, a session 216 requires two or more communications 218 of any type or pattern between team members. In some cases, the sessions 216 can be displayed in ascending order of the most recent communications 218 at the bottom of the center pane 204. Alternatively, the sessions 216 can be displayed in descending order of the most recent communications 218 at the top of the center pane 204.
[0051] In some cases, as further described below, one or more communications 218 (e.g., communications 218a and 218b) can be grouped into a conversation thread 220. A communication 218 refers to a single message sent by a team member in any format (e.g., email, SMS, instant message, etc.) via any mode (e.g., via a unified messaging platform, or via any enterprise or third-party messaging application). That is, messages can be generated within the unified messaging platform between internal users, or messages can be sent to and from external users via an enterprise messaging application (e.g., enterprise messaging application 110b) and / or a third-party messaging application (e.g., third-party messaging application 116).
[0052] As provided above, each pane or window can display information and / or interactive controls. For example, the third pane (i.e., the right frame 206) can display context information, status information, recent activities, etc. In some aspects, the information displayed in the right frame 206 can be related to or associated with the category 210 selected in the left frame 202 and / or the label 212 selected in the center pane. For example, in the case where the center pane 204 displays communications, documents, links, lists, topic tags, etc. related to a category 210a titled "New Product Release", the right frame 206 can display one or more recent documents 222, recent links 224, tags 226, or people 228 involved in activities related to the new product release. In some aspects, at least some of the information displayed in the right frame 206 can be specific to a particular user (e.g., a particular user accessing the team portal via the client computing device 104, the "accessing user"). For example, a particular user accessing the team portal can be identified by a name, icon (such as the username 230a or user icon 230b) within the right frame 206. That is, in some cases, the recent documents 222 and / or recent links 224 related to the new product release may have been recently accessed or uploaded by the accessing user. Additionally, the right frame 206 displayed for another user accessing the same category 210 can display a different set of recent documents 222 or recent links 224. In another example, additional or different information related to the category 210 and the particular user can be displayed in the right frame 206, such as user tasks, user alerts, user calendars, user notes, etc.
[0053] According to additional aspects, the center pane 204 can include a search field 240. For example, the search field 240 can allow a user to search within the team entry for any communications, files, links, lists, hashtags, terms, team members, calendars, tasks, events, etc. related to the team 208. In multiple aspects, the search field 240 can allow simple language searches, Boolean searches (e.g., searches using Boolean operators), or other means. In response to entering one or more search terms into the search field 240, any information related to the search terms within the team entry can be displayed as search results for the user accessing it.
[0054] It should be understood that the various features and functions of the user interface 200 described with reference to Figure 2A are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions can be associated with the systems and methods described herein, and / or some of the described features and functions can be excluded, without departing from the systems and methods described herein.
[0055] Figure 2B An exemplary interface for interacting with a unified messaging platform according to a second exemplary embodiment is shown.
[0056] As described above, the unified messaging platform can provide a user interface 200 including three panes (e.g., left frame 202, center pane 204, and right frame 206). As shown by Figure 2B the unified messaging platform can provide multiple options for generating communications. For example, the unified messaging platform can provide a new message input field, e.g., a new message input field 232 for sending instant messages, SMS, or other "text-like" communications. In multiple aspects, the new message input field 232 can allow the input of text, commands, user invocations, hashtags, images, rich web content, rich interactive content, etc. The new message input field 232 can also include controls 268 for attaching files, inserting emojis, etc. However, in at least some aspects, the new message input field 232 may not provide input for a recipient or a subject line. In response to entering a message into the new message input field 232 and clicking "enter", the communication from the user can be automatically posted as a new "text-like" message to the session. According to additional aspects, the new message input field 232 can include an optional control 266 (represented as an ellipsis) for expanding the new message input field 232 into an email interface object (e.g., the email interface object 238 described below).
[0057] Alternatively, the unified messaging platform may provide a reply link 234 associated with each communication of the session. In some aspects, the reply link 234 is displayed near each communication of the session, for example, to the right of the sender or subject line of the communication (not shown), indented below the communication (shown), top right of the communication (not shown), etc. Alternatively, the reply link 234 may not be displayed unless and until it is clicked, hovered over, touched, or otherwise identified using an input device (e.g., mouse, pointer, etc.). After being displayed and in response to selection of the reply link 234 associated with a particular communication, a message reply input field (not shown) may be displayed. Similar to the new message input field 232, the message reply input field may allow for the input of text, commands, topic tags, attachment of files, insertion of emojis, etc. However, in this case, in response to inputting a message and clicking "enter", the communication from the user may be automatically posted within the session thread 220 associated with the particular communication. In multiple aspects, as shown by Figure 2A the secondary communication 218b within the session thread 220 may be displayed as indented, bulleted, or otherwise offset below the primary or initial communication 218a (in the example above, the "particular communication" may be referred to as the "primary communication").
[0058] Alternatively, the unified messaging platform may provide email controls 236 for accessing an email interface object (e.g., email interface object 238) to send an "email-like" communication. In multiple aspects, the email interface object 238 may allow for similar actions to the new message input field 232, such as an input field 276 for the input of text, commands, tagged input of a subject, etc., and controls 268 for attachment of files, insertion of emojis, etc. Additionally, the email interface object 238 may provide controls 278 for changing text font and size, bulleting text, etc., and controls 270 for sending, saving draft emails, deleting, etc. The email interface object 238 may also provide a recipient field 272 for inputting or selecting recipients and a subject field 274 for inputting a subject line, etc. In response to inputting a message into the email interface object 238 and clicking enter, the communication from the user may be automatically posted as a new "email-like" message.
[0059] It should be understood that reference Figure 2BThe various features and functions of the user interface 200 described are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions may be associated with the systems and methods described herein, and / or some of the described features and functions may be excluded without departing from the systems and methods described herein.
[0060] Figure 2C An exemplary interface for interacting with a unified messaging platform according to a third example embodiment is shown.
[0061] As described above, the unified messaging platform can provide a user interface 200 including three panes (e.g., a left frame 202, a center pane 204, and a right frame 206). In addition, as described above, each tab 212 can display a different type of information associated with a category 210a in the center pane 204. For example, as shown by Figure 2C As shown, a second tab (e.g., file tab 212b) can be selected (indicated by underlining) to display files 242 shared between team members. Files 242 can include any type of file, such as document files, spreadsheet files, presentation files, image files, video files, audio files, note files, etc.
[0062] In some aspects, the files 242 displayed in the file tab 212b include files sent as attachments to the communication 218 between team members. That is, the unified messaging application can extract the files sent as attachments and automatically save them in the file tab 212b. In other aspects, as shown by Figure 2C As shown, a file upload field 244 may be provided. In response to selecting the file upload field 244, a user may save one or more files 242 to the file tab 212b. For example, in response to selecting the file upload field 244, a browse box (not shown) may be activated to retrieve files for upload. Alternatively, a command (e.g., " / file") may be entered to retrieve files for upload. Alternatively, files may be copied and pasted into the file upload field 244. In various aspects, any suitable method for uploading and saving files to the file tab 212b may be implemented. In at least some aspects, a single version of a first file with a first file name exists in the file tab 212b, allowing any annotations (e.g., modifications, comments, etc.) made to the first file to be synchronized and stored within the single version. In some aspects, after saving the first file using a second file name, a second file may be created, appended, and / or uploaded to the file tab 212b.
[0063] According to another example, a third tag (e.g., link tag 212c) can display a link (e.g., a hyperlink) shared among team members. In some aspects, the link displayed in link tag 212c includes a link sent within the body of a communication or a link sent as an attachment to a communication among team members. That is, the unified messaging application can extract links sent within a communication or sent as an attachment to a communication and can automatically save them to link tag 212c. In other aspects, a link upload field (not shown) can be provided. In response to selecting the link upload field, a user can save one or more links to link tag 212c. For example, in response to selection of the link upload field, a browse box (not shown) can be activated to retrieve links for upload. Alternatively, a command (e.g., " / link") can be entered to retrieve links for upload. Alternatively, a link can be copied and pasted into the link upload field. In various aspects, any suitable method for uploading and saving links to link tag 212c can be implemented.
[0064] A fourth tag (e.g., list tag 212d) can display a list object and / or other information, data, files, images, etc. shared among team members. In various aspects, the list object can include a list, table, chart, or other organized form of data. In some aspects, the list object displayed in list tag 212d includes a list object sent within the body of communication 218 or sent as an attachment to communication 218 among team members. That is, the unified messaging application can extract list objects sent as attachments or within the message body and can automatically save them to list tag 212d. As used herein, the message body refers to the content displayed within a communication that does not require activation or opening to view (e.g., excluding recipient, sender, timestamp, subject information, confidentiality disclaimers, etc.).
[0065] In other aspects, list objects can be created or uploaded by a user within the list tab 212d. For example, list creation controls (not shown) can be provided for creating list objects. In some cases, in response to selecting a list creation control, a list object can be created and inserted into the message body and / or a list object can be appended to the message. After a list object is created, the list object can be automatically saved to the list tab 212d. Alternatively, a list upload field (not shown) can be provided. As similarly described above, in response to selecting the list upload field, one or more list objects can be selected, uploaded, and saved to the list tab 212d by the user. In at least some cases, there can be a single copy of each list object such that if data is updated in any view (e.g., within the communication tab 212a or list tab 212d), the list object will be automatically updated and synchronized across all other views.
[0066] According to multiple aspects, any number of tabs 212 can be created to organize and isolate various forms of information related to the category 210a. For example, a topic tab bar can be included to store various topic tags created within communications among team members. In additional examples, custom or extensibility tabs can be created, such as tabs for a spreadsheet dashboard, tabs for web pages, tabs for custom applications, tabs for system plugins, etc.
[0067] In further aspects, additional interactive controls or links (e.g., control 246) can be provided (e.g., in the left frame 202) for quickly and easily accessing communications, files, lists, links, tags, etc. related to the team 208. For example, a people control 246a can access team members and / or sessions stored in the team entry, a file control 246b can access files stored in the team entry, a list control 246c can access lists stored in the team entry, a link control 246d can access links stored in the team entry, and a topic tag control 246e can access topic tags stored in the team entry. In some aspects, selection of the control 246 can display a corresponding tab view within the center pane 204. In other aspects, selection of the control 246 can display results for all categories within the team entry (e.g., in the form of searching for results associated with a particular control 246).
[0068] As Figure 2CAs shown, in response to the selection of file label 212b, the right frame 206 can display information different from that when viewing different labels 212 in the center pane 204. For example, selecting or highlighting file 242a in the center pane 204 can cause information related to file 242a to be displayed in the right frame 206. For example, the file history 262 of file 242a can be displayed in the right frame 206. The file history 262 can include information such as the user who uploaded file 242a, the user who created file 242a, the user identifiers of the users who edited file 242a, the file creation date, the file revision date, and so on. The right frame 206 can also display the most recent comments 264 regarding file 242a. In various aspects, any information related to file 242a can be displayed in the right frame 206.
[0069] It should be understood that the various features and functions of the user interface 200 described with reference to Figure 2C are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions can be associated with the systems and methods described herein, and / or some of the described features and functions can be excluded, without departing from the systems and methods described herein.
[0070] Figure 2D An exemplary interface for interacting with a unified messaging platform according to a fourth exemplary embodiment is shown.
[0071] As described above, the unified messaging platform can provide a user interface 200 that includes three panes (e.g., left frame 202, center pane 204, and right frame 206). In additional aspects, the left frame 202 can include an email entry 214. Different from the team entry, the email entry 214 can be an access point through which a particular user can view his or her email messages inside or outside the context of the team and interact with the email messages. In various aspects, in response to a selection of the email entry 214, a second pane (e.g., center pane 204) can display the user's email messages. The center pane 204 can also display a user identifier 248 as a title, e.g., user email address, username, user icon, etc. The center pane 204 can provide one or more labels 250 for organizing the user's email messages. The labels 250 can include, for example, an inbox label 250a, a file label 250b, a link label 250c, a sent label 250d, a draft label 250e, a deleted label 250f, etc. For example, in response to a selection of the inbox label 250a (represented by the underline), the inbox of the user's messages can be displayed in the center pane 204. In some aspects, the user's message inbox can include all messages sent to the user, e.g., messages between team members including internal and external users, and messages between an entity and a user who is not a team member.
[0072] In some aspects, the email messages 280 of the user in the inbox label 250a can be displayed in a summary list format in descending order based on the date the email messages were received (displaying the most recent email messages at the top of the center pane 204). The summary list format can display portions of each email message, e.g., the sender, the subject line, and a portion of the text of each email message.
[0073] In alternative aspects, the user's email messages in the inbox label 250a can be displayed in a conversation thread format (not shown). The conversation thread format can display email messages that are indented, dotted, or otherwise offset below the main email message as a reply to the main email. In at least some aspects, each conversation thread can be displayed in decreasing order of the most recent conversation thread at the top of the center pane 204 based on the date the last email in the conversation thread was received. In this case, personal communications (e.g., communications that have not been replied to) can be scattered among the conversation threads in decreasing order based on the date the personal communication was received. In other aspects, each conversation thread can be displayed in increasing order of the most recent conversation thread at the bottom of the middle pane 204 based on the date the last email in the conversation thread was received. In this case, personal communications can be scattered among the conversation threads in increasing order based on the date the personal communication was received.
[0074] In additional aspects, email messages that have been opened or viewed can be displayed in normal text within the inbox label 250a of the center pane 204, while email messages that have not been opened or viewed can be displayed within the center pane 204 with at least part of the email message in bold text (e.g., the sender and / or subject line can be displayed in bold text).
[0075] It should be understood that Figure 2D the various features and functions of the user interface 200 described with reference to
[0076] Figure 2E An exemplary interface for interacting with a unified messaging platform according to a fifth exemplary embodiment is shown.
[0077] As described above, the unified messaging platform can provide a user interface 200 including three panes (e.g., left frame 202, center pane 204, and right frame 206). As described above, in response to selection of the email entry 214, the center pane 204 can display the user's email messages. In some aspects, as shown by Figure 2EAs shown, email messages of a user can be organized based on a session 252 between one or more users. For example, as shown in the left frame 202, a session 252a between a first user and a second user (e.g., Rachel) can be displayed separately from a session 252b between the first user, a third user (e.g., Rob), and a fourth user (e.g., Sofia).
[0078] In multiple aspects, by selecting a session 252 displayed in the left frame 202, communications between one or more users can be displayed in the center pane 204. As Figure 2E shown, session 252c has been selected, and communications 254 between the first user and the second user (e.g., Rachel), the third user (e.g., Rob), the fifth user (e.g., Jim), and the sixth user (e.g., Sophia) are displayed in the center pane 204. In this example, the first user refers to the accessing user (e.g., Ping Li) identified by the username 256a and the user icon 256b.
[0079] In multiple aspects, the communications 254 of session 252c can be displayed in a decreasing order with the most recent communication 254 shown at the top of the center pane 204 based on the date each communication 254 was received. In other aspects, the communications 254 of session 252c can be displayed in an increasing order with the most recent communication 254 shown at the bottom of the center pane 204 based on the date each communication 254 was received.
[0080] In additional aspects, information related to session 252c can be organized by tabs or pages. For example, each tab 258 can display different types of information associated with session 252c in the center pane 204. When selected, a tab 258 can be identified by highlighting with a different font or font color, by outlining, underlining, etc. As shown by Figure 2E the first tab (e.g., session tab 258a) can display the communications 254 between the first user, the second user, the third user, the fifth user, and the sixth user. Additional tabs as described in further detail above can include a second tab (e.g., file tab 258b), a third tab (e.g., link tab 258c), a fourth tab (e.g., list tab 258d), etc., which are used to display files, links, lists, etc. shared among the participants in session 252c. For example, as shown by Figure 2E a list object 260 is inserted in the communication 254a from the second user (e.g., Rachel). In multiple aspects, as described above, the list object 260 can be accessed from the session tab 258a or from the list tab 258d.
[0081] As shown by Figure 2E When viewing the conversation 252c among the first, second, third, fifth, and sixth users, the right frame 206 can display information associated with the conversation 252c and / or the users participating in the conversation 252c. For example, the right frame 206 can display the group availability 282 of the users participating in the conversation 252c. The right frame 206 can also display the common meetings 284 among the users participating in the conversation 252c. In various aspects, any information related to the conversation 252c and / or the participating users can be displayed in the right frame 206.
[0082] It should be understood that Figure 2E the various features and functions of the user interface 200 described with reference to are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions can be associated with the systems and methods described herein, and / or some of the described features and functions can be excluded, without departing from the systems and methods described herein.
[0083] Figure 2F An exemplary mobile interface for interacting with a unified messaging platform according to an example embodiment is shown.
[0084] In various aspects, a version of the unified messaging platform can provide a user interface 285 for a mobile device. The mobile user interface 285 can provide one or more panes or windows for viewing communications, files, lists, links, etc. associated with one or more teams of which the user is a member. In some aspects, in response to swiping a first pane (e.g., the first pane 286) in a direction from left to right or from right to left, a second pane (e.g., the second pane 288) can be displayed.
[0085] As shown, the first pane 286 displays one or more teams (e.g., team 287) and one or more categories (e.g., category 291). In various aspects, when new communications, files, lists, hyperlinks, etc. have been received within the category 291, a notification (e.g., notification 292) can be displayed near the category (e.g., category 291a). As further shown, the second pane 288 displays one or more communications 289 (e.g., communications 289a and 289b) each associated with a sender (e.g., senders 290a and 290b).
[0086] It should be understood that Figure 2FThe various features and functions of the described user interface 285 are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions may be associated with the systems and methods described herein, and / or some of the described features and functions may be excluded, without departing from the systems and methods described herein.
[0087] Figure 2G An exemplary mobile interface for interacting with a unified messaging platform according to a second exemplary embodiment is shown.
[0088] As described above, the mobile user interface 285 may allow a user to view a conversation (e.g., conversation 293) in a conversation pane (e.g., conversation pane 294). The mobile user interface 285 may also provide a new message input field 295 and an input interface 296 for inputting and sending communications to the participants 293 of the conversation 293. In various aspects, when a communication is sent to a participant of an ongoing conversation (e.g., conversation 293), the new message input field 295 does not require recipient information, but may provide a subject input field (e.g., subject input field 297) for inputting the subject of the communication (e.g., "NewUX"). In some aspects, the new message input field 295 may be similar to an instant, chat, SMS, or similar messaging interface. In other aspects, the new message input field 295 may provide functionality similar to an email messaging interface (e.g., allowing attachment of documents, list objects, images, etc.). As shown, a communication 298 has been partially entered into the new message input field 295.
[0089] It should be understood that reference Figure 2G The various features and functions of the described user interface 285 are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions may be associated with the systems and methods described herein, and / or some of the described features and functions may be excluded, without departing from the systems and methods described herein.
[0090] Figure 3 An exemplary system for message processing implemented on a computing device according to an exemplary embodiment is shown.
[0091] In various aspects, the client computing device 304 can implement a unified messaging application. In some aspects, the client computing device 304 can implement a client application 310 for engaging with a unified messaging application 312 implemented on the server computing device 308. In a basic configuration, the client computing device 304 can be described similarly to the client computing device 104. However, any suitable client computing device can be utilized to implement the unified messaging application 312 or the client application 310 of such an application.
[0092] In various aspects, as shown in Figure 3 the unified messaging application 312 can be implemented on the server computing device 308. In a basic configuration, the server computing device 308 can be described similarly to the server computing device 106. The server computing device 308 can provide data to or from the client computing device 304 via the network 306, where the network 306 is described similarly to the network 108. In additional aspects, the unified messaging application 312 can be implemented on more than one server computing device 308, such as a plurality of server computing devices 308. As discussed above, the server computing device 308 can provide data to and from the client computing device 304 via the network 306. In some cases, text or voice input can be received at the client computing device 304 and transmitted via the network 306 to be processed by the unified messaging application 312 at the server computing device 308.
[0093] As shown in Figure 3As shown in , unified messaging application 312 may include a scanning component 314, a context component 316, an extraction component 318, a linking component 320, a conversion component 322, and a presentation component 324. The various components may be implemented using hardware, software, or a combination of hardware and software. Unified messaging application 312 may be configured to receive and process text and / or voice input messages. In one example, the text and / or voice input may include phrases, words, and / or terms in the form of text and / or spoken language input (e.g., user text or voice messages). In this regard, unified messaging application 312 may be configured to receive text and / or spoken language input from user 302. In various aspects, unified messaging application 312 may be configured to convert spoken language input into textual communications between team members. For example, unified messaging application 312 may include standard speech recognition technologies known to those skilled in the art, such as "automatic speech recognition" (ASR), "computer speech recognition," and "speech to text" (STT). In some cases, unified messaging application 312 may include standard text-to-speech technology known to those skilled in the art, such as "text-to-speech" (TTS).
[0094] As Figure 3 As shown, the client computing device 304 and the server computing device 308 can also communicate with a storage 326 that stores parameters, configuration information, communications, images, documents, list objects, or any other information accessed by the unified messaging application 312. The storage 326 can be a local or remote database within an enterprise intranet or in a distributed location over the Internet. In various aspects, the storage 326 can include a plurality of text files, including formatted, marked, or plain text in any file format, such as digital word processing documents, spreadsheets, presentations, web pages, text messages, tweets, email messages, etc.
[0095] In various aspects, the scanning component 314 can scan messages for embedded content, hyperlinks, text or graphic content, image content, video content, attached data, command lines, user invocations, etc. In some aspects, "attached data" can include "attached files", which can be stored in file formats such as image files, document files, spreadsheet files, presentation files, code files, and the like. In other aspects, "attached data" can include data that is not stored in a file format, such as, for example, large objects. The scanning component 314 can implement any suitable techniques for scanning messages, including commonly known techniques or techniques developed in the future. Additionally, the scanning component 314 can scan one or more files attached to a message. Common methods for extracting structured data from documents use "wrappers" that depend on the structure of the document to extract specific information. Recent advances in extraction techniques rely on semi-structured information extraction from HTML pages, natural language processing (NLP) techniques (such as speech taggers), and semantic tagging and shallow parsing to build relationships between various components within a sentence. These methods use recognizable keywords to identify specific relationships or patterns (e.g., in an HTML DOM tree) and are more resilient to changes in the structure of the document.
[0096] In some cases, annotations (e.g., edits to text or other content) and / or comments inserted within an attached file can be recognized by the scanning component. As used herein, "edit" can include any insertion or deletion within the content, and "comment" can include any annotation attached to the content. In various aspects, any of the techniques described above or any other techniques known or developed in the future can be implemented by the scanning component 314 to identify one or more annotations within an attached file.
[0097] In some cases, the structure of a message and / or an attached file can be characterized by an identifier or otherwise indexed. In an example, for a message and / or an attached file having a hierarchical structure, the content can be indexed by nested identifiers that reference different levels and / or positions of the content within the hierarchical structure. That is, an identifier for a sentence can be nested within an identifier for a paragraph, an identifier for a paragraph can be nested within an identifier for a page, and so on. In other aspects, for a message and / or an attached file that does not have a hierarchical structure, the content can be indexed by an identifier that references the position of the content within a structure (e.g., a linear or other non-hierarchical structure). Additionally, the layout of the content of a message and / or an attached file (e.g., for transmission or display) can be defined by metadata or otherwise.
[0098] In some aspects, annotations (e.g., edits, comments, or other data) can be indexed to the structure of an attached file. For example, an annotation can be associated with one or more identifiers that reference the level and / or location of the annotation within the content of the attached file. In other aspects, an excerpt (e.g., any portion of the attached file, including one or more annotations along with adjacent content) can be indexed to the structure of the attached file. For example, an excerpt can be associated with one or more identifiers that reference the level and / or location of the excerpt within the content of the attached file. In multiple aspects, the scanning component 314 can detect one or more identifiers (or other indices) that associate the annotation and / or excerpt to the structure of the attached file. In some aspects, one or more identifiers that specify the content structure and / or metadata that specifies the content layout can be detected by the scanning component 314 in the form of computer-readable instructions or information.
[0099] Additionally, the context component 316 can evaluate each message and / or attached file to determine context. Context refers to any characteristic or condition related to the message and / or attached file. For example, context can be related to the message, such as the type of client computing device 304 from which the message originated and / or to which the message will be routed, the type of messaging application from which the message originated and / or to which the message will be routed, the text queue regarding the user's intent, global positioning system (GPS) data associated with the message or its sender, a timestamp indicating when the message was sent, etc. In additional aspects, context can be related to the attached file and / or an annotation or excerpt within the attached file (e.g., the page number of the file associated with the annotation or excerpt, the line number on the page of the file associated with the annotation or excerpt, the location of the paragraph that includes the annotation or excerpt, the location of the sentence that includes the annotation or excerpt, a timestamp identifying when the annotation was made, the name of the editor of the annotation, the name of the author of the file, a timestamp identifying when the file was created, etc.). In some aspects, details regarding the context of the message, attached file, annotation, excerpt, etc. can be detected by the context component 316 in a form that is readable or understandable by the user.
[0100] The extraction component 318 may extract at least a portion of the content and / or data from the attached file. For example, extraction may be performed from the attached file via any suitable means. In some aspects, annotations or excerpts may be extracted along with the structure and context associated with the attached file. For example, in addition to extracting the annotations or excerpts, the extraction component 318 may extract anchor information related to the annotations or excerpts. The anchor information may include any structural or contextual information associated with the annotations or excerpts, including information in computer-readable or user-readable formats. For example, the anchor information may include one or more identifiers and / or other indexes that associate the annotations or excerpts with the structure of the attached file. Additionally, the anchor information may include descriptive information about the context of the annotations or excerpts (e.g., editor name; author name; timestamp of the annotation) and descriptive location information associated with the annotations or excerpts within the attached file (e.g., line, page, paragraph, sentence, word, phrase, etc.). In multiple aspects, the anchor information may be stored as computer-readable metadata or otherwise along with the extracted content.
[0101] The linking component 320 may create one or more links between the extracted portion of the content and the attached file. As detailed above, annotations may be extracted along with the structure and context associated with the attached file. In some cases, an association between the structure of the attached file and the extracted content may be created or saved. For example, one or more identifiers and / or other indexes that associate the extracted content with the structure of the attached file may be used to create a link between the extracted content and the attached file. In multiple aspects, after a link is created between the extracted portion of the content and the attached file, the extracted content may be referred to as "active extracted content". In some examples, when the user selects the active extracted content, the attached file may be automatically opened to the location associated with the extracted content. Additionally or alternatively, when the user annotates the active extracted content (e.g., by editing or inserting a comment), the comment may be automatically synchronized with the attached file.
[0102] When the receiving application is not the unified messaging application 312 or the client application 310, the conversion component 322 may convert the message and / or the extracted content into a format and / or representation that can be understood or read by the receiving application (e.g., a third-party messaging application, an enterprise messaging application, etc.). In some aspects, the conversion component 322 may reformat the message and / or the extracted content into a structure that can be presented by the receiving application. In other aspects, the conversion component 322 may translate the message and / or the extracted content into a representation that can be read by the receiving application.
[0103] The presentation component 324 can cause the message and / or the extracted content to be displayed, rendered, transmitted, or otherwise presented in a format and / or representation that can be read by the receiving terminal and / or receiving application. For example, the message and / or the extracted content can be displayed in a user interface associated with the unified messaging application 312 or the client application 310. Traditionally, when collaborating on an annotated file, a user may have received the annotated file attached to an email message. Thereafter, the first recipient may have opened the attached file, entered additional annotations in the form of additions, deletions, comments, etc., summarized their annotations in the body of a second email message (e.g., a reply message), and attached a copy of the file with the new annotations. Similarly, the second recipient can perform substantially the same steps, resulting in at least three different versions of the annotated file (e.g., the first version sent in the original message and two additional versions created by the first and second recipients). This not only creates multiple potentially conflicting versions of the annotated file, but also requires the user to perform additional operations, such as summarizing their annotations in an email message. In the aspects disclosed herein, the active extracted content enables multiple users to enter annotations within a single version of the annotated file and automatically presents the annotations consistent with the message body, eliminating the need to summarize the annotations.
[0104] Additionally or alternatively, the presentation component 324 can cause the message and / or the extracted content to be displayed, rendered, transmitted, or otherwise presented in a format and / or representation that can be read by a third-party messaging application, an enterprise messaging application, a word processing application, a collaborative authoring application, etc. In this case, the recipient can benefit from an inline display of the annotations to the attached file, and the recipient may not benefit from interacting with a single version of the annotated file.
[0105] According to additional aspects, the client computing device 304 and / or the server computing device 308 can communicate with a third-party computing device 328. The third-party computing device 328 can be described similarly to the server computing device 106 or the server computing device 308. In multiple aspects, the third-party computing device 328 can host one or more third-party messaging applications, enterprise messaging applications, word processing applications, collaborative authoring applications, etc. In at least some aspects, authentication (e.g., authentication 112) may be required to access the third-party computing device 328.
[0106] It should be understood that the various devices, components, etc. referred to Figure 3 are not intended to limit the systems and methods to the specific components described. Thus, additional topological configurations can be used to practice the methods and systems herein, and / or some of the described components can be excluded without departing from the methods and systems disclosed herein.
[0107] Figure 4 Illustrates an exemplary method for scanning a message with an attached file according to an exemplary embodiment.
[0108] Method 400 begins with a receiving operation 402, where a message is received by a unified messaging application. The message can be of any type or format, including email messages, SMS messages, instant messages, etc. In some cases, a message including any attached file can be received from a sender at a second terminal, where the sender is registered with one or more of a unified messaging application, an enterprise messaging application, a third-party email messaging application, an SMS messaging application associated with a cellular service plan, an instant messaging application, etc. In other cases, a message including any attached file can be received as input by an "access user" at a first terminal, where the access user inputs content into a new message input field, an email interface object, a message reply input field, etc. associated with the unified messaging application.
[0109] At an identifying attached file operation 404, the content of the message can be scanned for attached files in any suitable manner. In various aspects, the attached files can include video content, audio content, voicemail messages, images, documents, spreadsheets, presentations, etc.
[0110] At an identifying structure operation 406, the structure of the attached file is determined. For example, any suitable technique for scanning the attached file can be employed, including commonly known techniques currently available or techniques developed in the future. A "wrapper" can be used to identify structured data, semi-structured information such as HTML can be identified, natural language processing (NLP) techniques can be used to establish relationships between various components within text content, image and / or video detection techniques can be used, etc.
[0111] In some aspects, the additional file may not include a hierarchical structure and may index content by reference to identifiers of the locations of content in a linear or other non-hierarchical structure. Alternatively, the additional file may relate to a hierarchical structure of file parts, such as the title of the file, the author or creator of the file, the body of the file, the metadata of the file, and the like. In some cases, the body of the file (e.g., the file body) may be text, while in other cases, the file body may include structured data (e.g., columns and rows of data units), or may include images, videos, hyperlinks, or a combination thereof. In multiple aspects, the structure of the file body may relate to a hierarchical structure of elements (e.g., text elements, data unit elements, column elements, row elements, image elements, video elements, hyperlink elements, etc.). In multiple aspects, the hierarchical structure of the elements may be described by nested identifiers or other indexes.
[0112] In a first example, the file body may include structured text content. For example, the structured text content may include a hierarchical structure of elements (e.g., one or more page elements, chapter elements, section elements, paragraph elements, line elements, sentence elements, etc.). In some examples, each element may be associated with a set of nested identifiers, e.g., an identifier associated with a sentence element, which is associated with a line element, a paragraph element, a page element, a section element, a chapter element, and so on. In multiple aspects, a particular sentence element may be uniquely defined by one or more identifiers associated with a line element, a paragraph element, a page element, a section element, a chapter element, etc.
[0113] Additionally or alternatively, the file body may include a form of structured data, such as a table, a spreadsheet, a list object, or a combination thereof, and the structured data may include a hierarchical structure of elements. For example, in the case where the structured data includes data values within data units of rows and columns located within a table or spreadsheet, the structured data may include a hierarchical structure of elements (e.g., data value elements, data unit elements, row elements, column elements, worksheet (or page) elements, etc.). Each element may be associated with a set of nested identifiers, e.g., an identifier associated with a data unit element, which is associated with a row element, a column element, a worksheet element, and so on. In multiple aspects, a particular data unit element may be uniquely defined by one or more identifiers associated with one or more of a data unit element, a row element, a column element, a worksheet element, etc.
[0114] In addition to the structure, the layout of the attached file can also be determined. In various aspects, the layout defines the formatting (e.g., page formatting, etc.) for transmitting and / or displaying the attached file. For example, the layout of the attached file can be detected from the metadata associated with the attached file. In various aspects, one or more identifiers specifying the content structure and / or metadata specifying the content layout can be identified in the form of computer-readable instructions or information.
[0115] At the identifying context operation 408, the context associated with the attached file can be identified. For example, the context related to the attached file can include the type of file formatting of the attached file (e.g.,.xls,.docx,.jpeg,.pdf, etc.), the type of application from which the attached file originated and / or to which it will be routed, a timestamp indicating when the attached file was created, the author of the attached file, the title of the attached file, etc. In some aspects, the details of the context regarding the attached file can be detected in a form that can be read or understood by the user.
[0116] At the determining annotations operation 410, it can be determined whether the attached file includes one or more annotations. Annotations include edits and / or comments attached within the attached file to the text or other content. "Edits" include any insertions and / or deletions. In various aspects, the attached file can be scanned in any suitable manner to identify the annotations, including scanning the content and / or associated metadata of the attached file. If the attached file includes one or more annotations, the method proceeds to the identifying annotation structure operation 412. Alternatively, if the attached file does not include one or more annotations, the method ends.
[0117] At the identifying annotation anchor operation 412, the anchor information (or "anchor") related to the annotation of the attached file can be identified. In various aspects, the location of the annotation can be indexed to the structure of the attached file. For example, as described above, the annotation can be associated with one or more identifiers specifying the level and / or location of the annotation within the structure of the attached file, whether the structure is hierarchical or not. In various aspects, the location of the annotation within the structure of the attached file can be included in the anchor information in the form of computer-readable instructions or information.
[0118] Additionally, the anchor information can include the context of an additional in-document annotation. For example, the context of an additional in-document annotation can include the page number of the additional document associated with the annotation, the line number of the page of the additional document associated with the annotation, the location of one or more paragraphs including the annotation, the location of one or more sentences including the annotation, a timestamp identifying when the annotation was made, the name of the editor of the annotation, etc. In some aspects, details about the context of the annotation can be included in the anchor information and can be in a form readable by a user.
[0119] It should be understood that operations 402 - 412 are described for purposes of illustrating the method and system and are not intended to limit the present disclosure to a particular sequence of steps. For example, the steps can be performed in a different order, additional steps can be performed, and the disclosed steps can be excluded without departing from the present disclosure.
[0120] Figure 5 An exemplary method for extracting at least a portion of content from an additional document in accordance with an exemplary embodiment is shown.
[0121] Method 500 begins with a receiving operation 502, where a message is received by a unified messaging application. The message can be of any type or format, including an email message, an SMS message, an instant message, etc. In some cases, the message and any additional documents can be received from a sender at a second terminal who is registered with one or more of a unified messaging application, an enterprise messaging application, a third-party email messaging application associated with a cellular service plan, an instant messaging application, etc. In other cases, the message and any additional documents can be received as input by an accessing user at a first terminal associated with the unified messaging application.
[0122] At an identifying additional document operation 504, the content of the message can be scanned for the additional document in any suitable manner (as described with reference to the identifying additional document operation 404). In various aspects, the additional document can include video content, audio content, voicemail messages, images, documents, spreadsheets, presentations, etc.
[0123] At determination operation 506, it is determined whether at least a portion of an additional file should be extracted. In some aspects, determining to extract at least a portion of the additional file can be responsive to evaluating one or more factors (e.g., whether the additional file includes an image, whether the additional image includes one or more annotations, etc.). In some examples, the excerpt can include a substantial portion of the additional file (e.g., where the additional file is an image or video). When it is determined to extract at least a portion of the additional file (hereinafter referred to as an "excerpt"), the method proceeds to decision operation 508. Alternatively, if it is determined not to extract at least a portion of the additional file, the method ends.
[0124] In determination operation 508, it is determined whether the excerpt includes one or more annotations. As described above, annotations include edits and / or comments attached within portions of the additional file to text or other content. If the excerpt includes one or more annotations, the method proceeds to identification anchor operation 516. Alternatively, if the excerpt does not include one or more annotations, the method proceeds to identification anchor operation 510.
[0125] At identification anchor operation 510, anchor information (or "anchor") related to an excerpt of the additional file can be identified. In various aspects, the location of the excerpt can be indexed to the structure of the additional file. That is, as described above, annotations can be associated with one or more identifiers that specify the level and / or location of the annotation within the structure of the additional file, whether the structure is hierarchical or not. In various aspects, the location of the annotation within the structure of the additional file can be included in the anchor information in the form of computer-readable instructions or information. In some examples, the excerpt can include a substantial portion of the additional file (e.g., where the additional file is an image or video). In such cases, the anchor information can include an identifier associated with the additional file (e.g., a file identifier).
[0126] Additionally, the anchor information can include the context of the excerpt within the additional file. For example, the context of the excerpt within the additional file can include the page number of the additional file associated with the excerpt, the line number of the page of the additional file associated with the excerpt, the location of one or more paragraphs including the excerpt, the location of one or more sentences including the excerpt, a timestamp identifying when the excerpt was created, etc. In some examples, the excerpt can include a substantial portion of the additional file (e.g., where the additional file is an image or video). In such cases, the context of the excerpt can include a timestamp indicating when the additional file was created, the author of the additional file, etc. In some aspects, details regarding the context of the excerpt can be included in the anchor information and can be in a form readable by a user.
[0127] At extraction operation 512, an excerpt can be extracted from the attached file in any suitable manner. For example, the extraction can include copying the excerpt. Additionally, as identified above, the excerpt can be extracted along with the anchor information for the excerpt. More specifically, the anchor information can include one or more identifiers and / or other indexes in machine-readable form that associate the excerpt with the structure of the attached file. Additionally, the anchor information can include descriptive information in user-readable form that is related to the context of the excerpt, such as the author's name; the creation date of the excerpt; and in some cases, descriptive positioning information that associates the excerpt within the attached file, such as line, page, paragraph, sentence, etc.; and so on.
[0128] At link creation operation 514, a link can be established between the excerpt and the attached file. In various aspects, at least the machine-readable identifier or other index that associates the excerpt with the structure of the attached file can be used to create the link. When the excerpt includes a substantial portion of the attached file, the excerpt can be linked to the file identifier of the attached file. In various aspects, when a link is created between the excerpt and the attached file, the excerpt can be referred to as an "active excerpt". In some examples, when the user selects the active excerpt, the attached file can be automatically opened to the location associated with the excerpt. Additionally or alternatively, when the user annotates (e.g., within a message) the active excerpt (e.g., by editing or inserting a comment), the annotation can be automatically synchronized with the attached file.
[0129] At anchor identification operation 516, when it is determined that the excerpt contains an annotation, the anchor information (or "anchor") that associates the annotation with the attached file can be identified. In various aspects, as described above for excerpts, the location of the annotation can be indexed to the structure of the attached file. That is, as described above, the annotation can be associated with one or more identifiers that specify the level and / or location of the annotation within the structure of the attached file, whether or not the structure is hierarchical. In various aspects, the location of the annotation within the structure of the attached file can be included in the anchor information in the form of machine-readable instructions or information.
[0130] Additionally, the anchor information can include the context of the annotation within the attached file. For example, the context of the annotation within the attached file can include the page number of the attached file associated with the annotation, the line number of the page of the attached file associated with the annotation, the location of one or more paragraphs that include the annotation, the location of one or more sentences that include the annotation, a timestamp that identifies when the annotation was edited, etc. In some aspects, details regarding the context of the annotation can be included in the anchor information and can be in a form that can be read by the user.
[0131] At extraction operation 518, annotations can be extracted from the attached file in any suitable manner. For example, the extraction can include copying the annotations. Additionally, as identified above, the annotations can be extracted together with the anchor information for the annotations. More specifically, the anchor information can include one or more identifiers and / or other indices in machine-readable form that associate the annotations with the structure of the attached file. Additionally, the anchor information can include descriptive information in user-readable form that is related to the context of the annotations, such as the author name; the creation date of the annotations; and descriptive positioning information that associates the annotations within the attached file, such as line, page, paragraph, sentence, etc.; and so on.
[0132] At link creation operation 520, a link can be created between the annotation and the attached file. In various aspects, at least machine-readable identifiers or other indices that associate the annotation with the structure of the attached file can be used to create the link. In various aspects, after a link is created between the annotation and the attached file, the annotation can be referred to as an "active annotation". In some examples, when the user selects an active annotation, the attached file can be automatically opened to the location associated with the annotation. Additionally or alternatively, when the user annotates (e.g., by modifying or inserting a comment) an active annotation (e.g., within a message), the annotation can be automatically synchronized with the attached file.
[0133] It should be understood that operations 502-520 are described for purposes of illustrating the method and system and are not intended to limit the present disclosure to a particular sequence of steps. For example, the steps can be performed in a different order, additional steps can be performed, and the disclosed steps can be excluded without departing from the present disclosure.
[0134] Figure 6 An exemplary method for inserting at least a portion of the extracted content into a message according to an exemplary embodiment is shown.
[0135] Method 600 begins with a receive operation 602, where a message is received by a unified messaging application as described above for receive operation 402 and receive operation 502.
[0136] At the identifying structure operation 604, the structure of the message is identified. In various aspects, a message can include one or more parts, such as a message body, a subject line, a recipient field, a sender field, a timestamp, a date stamp, one or more attachments, a signature box, a confidentiality statement, and so on. Additionally, in some aspects, the message body can also involve text content, such as greetings, one or more sentences set in one or more paragraphs, a signature line, and so on. The message body can also include non-text content, such as images, videos, hyperlinks, and so on. In some cases, for example, for an email-like message, the message can involve multiple parts, such as a message body, a subject line, a recipient field, a sender field, attachments, and so on. In other cases, for example, for a text-like or chat-like message, the message may involve minimal parts, such as a message body, a sender field, a timestamp, and / or a date stamp.
[0137] At the identifying structure operation 604, the message can be identified as having a non-hierarchical structure or a hierarchical structure of content. In some aspects, the message can be identified as having a hierarchical structure of parts, and the message body part can also include a hierarchical structure of elements. For example, the message body part can include a hierarchical structure of sentence elements, paragraph elements, bullet elements, item list elements, image elements, and so on. In some cases, each element of the message body part can be associated with one or more nested identifiers or other indices that specify the rank and / or position of each element within the hierarchical structure of the message body part. In other aspects, the message can be identified as having a non-hierarchical structure of text content and / or non-text content that is indexed by identifiers to positions within a linear or other non-hierarchical structure of the content.
[0138] For a message having a paragraph structure, the text content of the message body part can be defined by a hierarchical structure of a first element and a second element. That is, the first element can refer to one or more paragraphs, while the second element can refer to one or more sentences. In various aspects, one or more second elements (e.g., one or more sentences) can fall within each first element (e.g., paragraph), and one or more first elements (e.g., one or more paragraphs) can fall within the message body part (e.g., the message body). In some examples, non-text elements can be scattered within or among text elements. For example, an image can be inserted between two paragraphs or within a paragraph of text content. Additionally or alternatively, emojis can be inserted along with sentences of text content, and so on.
[0139] At the operation 606 of embedding the extracted content, the content that has been extracted from a file (e.g., an attached file or a stored file) can be embedded in a message. For example, the extracted content can be an excerpt, which can include one or more annotations of the attached file. The extracted content can be associated with information referring to the structure of the attached file from which the content is extracted. That is, the extracted content can be associated with anchor information, including structural information (e.g., a computer-readable identifier specifying a hierarchy and / or a location within the file structure of the attached file), and context information (e.g., user-readable details corresponding to the location in the attached file from which the content is extracted (e.g., page number, line number, etc.)).
[0140] Embedding the extracted content can be implemented in any suitable way. For example, the extracted content can be pasted into the message, and specifically, can be embedded into the message body of the message. As described above, the message body can include text content arranged in a hierarchical structure or otherwise, such as a greeting, one or more sentences or paragraphs, and a signature line. The message body can also include non-text content (e.g., images, videos, hyperlinks, etc.) scattered within and / or among the text content.
[0141] In multiple aspects, the location within the message body for embedding the extracted content can be determined in any suitable way. In some examples, the sender of the message can select the location for embedding the extracted content. In this case, for example, the sender can place the cursor at the desired location and access a control for embedding the extracted content into the message. For example, in response to accessing the control (e.g., an "insert" link), a user interface object can be displayed for embedding the extracted content at the desired location. Alternatively, the location of the extracted content can be automatically identified. In some examples, a policy can be employed to identify the location within the message for embedding the extracted content. That is, based on the policy, the extracted content can be embedded following the signature line. Alternatively, based on the policy, the extracted content can be embedded within the message body, for example, following the first paragraph (which follows the greeting), or following the greeting. It should be understood that other policies can be implemented for automatically embedding the extracted content into the message.
[0142] In some cases, more than one file can be attached to a message. In such cases, the content extracted from the multiple attached files can be embedded into the message. The extraction of the content can be performed as detailed above for a single attached file. In some aspects, the sender can manually embed the extracted content into the message in a desired order. In other aspects, a policy can be implemented that specifies the order for embedding the content extracted for multiple attached files. For example, the policy can be based on the order in which the files are attached, such that the content extracted for the first attached file is embedded above the content extracted for the second attached file. Additionally, context information including user-readable details displayed with the first extracted content and the second extracted content can include the file name and location information (e.g., page number, line number, etc.). It should be understood that other policies can be implemented for automatically embedding the extracted content into a message from multiple attached files.
[0143] When the extracted content is embedded into the message, the extracted content can be associated with the structure of the message. That is, for a message described by a hierarchical structure of parts and elements, the extracted content can be associated with one or more identifiers that specify the rank and / or location of the extracted content within the hierarchical structure of the message. Thus, the extracted content can be associated with the structure associated with the message and with the structure associated with the attached file from which the content was extracted.
[0144] In additional aspects, the extracted content can include one or more links to the files attached to the message. As described above, a link can be established between the extracted content and the attached file. In multiple aspects, the link can include a computer-readable identifier or other index (e.g., included in the anchor information) that connects or couples the extracted content to the structure of the attached file. In multiple aspects, the extracted content including a link to the attached file can be referred to as "active extracted content". In some examples, when the recipient of the message selects the active extracted content, the attached file can be automatically opened to the location associated with the extracted content. Additionally or alternatively, when the recipient annotates (e.g., by editing or inserting a comment) the active extracted content within the message, the annotation can be automatically synchronized with the attached file and / or the corresponding file (e.g., the stored file) in the file tags of the unified messaging application.
[0145] At the recipient terminal identification operation 608, one or more terminals of one or more recipients of the message can be identified. In some cases, one or more terminals can be identified for each recipient (e.g., personal computer, mobile device, tablet computer, smart TV, etc.). Identifying the recipient terminals can include identifying the device type of the terminals (e.g., mobile device, personal computer, tablet computer, etc.), the display type of the terminals (e.g., monitor, television, touch-enabled display, graphics display, alphanumeric display, etc.), the status of the terminals (e.g., powered on, active, inactive, locked, sleeping, shutdown, etc.), the applications registered to the terminals (e.g., enterprise or third-party email messaging applications, SMS messaging applications, social networking applications, instant messaging applications, voicemail applications, calendar applications, etc.), and so on. It should be understood that one or more combinations of the device type, display type, registered applications, and status can be identified for the recipient terminals at any given time.
[0146] At the decision operation 610, it is determined whether the terminal is registered with the unified messaging application. In various aspects, although the message may have been received at a terminal that is registered with the unified messaging application (e.g., by an accessing user), the message can be transmitted and displayed to a recipient on a terminal that is not registered with the unified messaging application. If the terminal is registered with the unified messaging application, the method proceeds to the sending operation 614. Alternatively, if the terminal is not registered with the unified messaging application, the method proceeds to the conversion operation 612.
[0147] At transformation operation 612, the transformation includes a message of the extracted content (hereinafter referred to as "message embedding content") such that it can be read and / or presented by one or more applications registered to one or more recipient terminals. In some aspects, for applications other than the unified messaging application, the message embedding content can be changed (i.e., transformed) such that it can be provided to team members not registered to the unified messaging application. That is, transforming the message embedding content can involve translating the message embedding content into a representation that can be read by the receiving application and can also include reformatting the message embedding content such that it can be presented by the receiving application registered to the recipient terminal. Thus, transforming the message embedding content can be described in terms of a translation process (e.g., providing the message embedding content in a language or format readable or understandable by the consuming application) and a reformatting process (e.g., providing the message embedding content in a form that can be rendered or presented by the consuming application or by a particular terminal). In some aspects, the transformation operation can involve a single process that transforms the message embedding content into a language or format that can be read by the receiving application, where the receiving application performs any processing required to render or present the message embedding content on a particular recipient terminal.
[0148] In some aspects, the message embedding content can be transformed differently for different applications registered to different terminals. For example, the message embedding content can be transformed based on one or more factors associated with the identified terminal (including device type, display type, registered application, etc.). In some cases, the message can be transformed for an email messaging application (e.g., a third-party email delivery application and an enterprise messaging application) rather than for other applications registered to the terminal (e.g., an instant messaging application, an SMS application, etc.).
[0149] In multiple aspects, as described above, the extracted content is anchored to the message structure by one or more identifiers that specify the location of the extracted content within the message structure. Additionally, the extracted content references anchor information that specifies the location within the associated file (e.g., an attached file and / or a stored file) from which the content was extracted, e.g., a computer-readable identifier that specifies the hierarchy and / or location within the file structure of the associated file from which the content was extracted. In some cases, the anchor information also includes user-readable details (e.g., page number, line number, etc.) corresponding to the location within the associated file from which the content was extracted.
[0150] During conversion, messages with embedded content can be reformatted into different structures that can be presented by different receiving applications, e.g., a first structure that can be presented by a third-party email messaging application and a second structure that can be presented by an enterprise messaging application. For example, some parts and / or elements of a message received by a unified messaging application may not be presentable by a particular receiving application and can be removed. Additionally, the messages with embedded content can be translated into different representations that can be read by different messaging applications, e.g., a first representation that can be read by a third-party email messaging application and a second representation that can be read by an enterprise messaging application.
[0151] In some aspects, computer-readable and / or user-readable anchor information that references associated files (e.g., attached files and / or stored files) can be converted along with the messages with embedded content. As described above, the extracted content included in the message can be active extracted content that includes links to the file structures of the associated files (e.g., attached files and / or stored files). In this case, the links between the active extracted content and the associated files can also be translated into a representation that can be read by the receiving application. In a first example, the link between the active extracted content and the attached file can be translated such that in response to accessing the active extracted content, the recipient can access the attached file (e.g., the attached file can be automatically opened to the location of the extracted content). In a second example, e.g., where the associated file is stored in a file label (e.g., stored file) of a unified messaging platform and the enterprise messaging application can access the stored file, the link can be translated into a hyperlink that references the corresponding location within the file structure of the stored file.
[0152] In some cases, a third-party email messaging application may not be able to process the message with embedded content. For example, the third-party email messaging application may not be able to process the hierarchical structure of the message. In this case, the hierarchical structure of the message with embedded content can be flattened such that it is represented by a linear structure. Alternatively, the third-party messaging application may not be able to process the active extracted content that includes links to associated files (e.g., attached files and / or stored files). In this case, the extracted content can be translated into an electronic image (e.g., Portable Document Format,.jpeg, etc.) or other non-active content to represent the extracted content.
[0153] In addition, when converting the message of the embedded content, the conversion operation 612 may consider additional factors such as device type and display type. For example, the conversion operation may include reformatting the message of the embedded content so that it can be presented by a specific device type with a specific display type. For example, although a personal computer can render the message of the embedded content, a mobile device may not have such an ability. In this case, the message of the embedded content or only the extracted content can be converted into an electronic image (e.g.,.jpeg) for rendering by the mobile device.
[0154] At the sending operation 614, the message of the embedded content is sent to one or more recipient terminals. In some aspects, for example, when one or more recipient terminals register with the unified messaging application, the message of the embedded content may not need to be converted. That is, as described above, the message of the embedded content can be presented within a session in the central pane of the user interface of the unified messaging platform. In other aspects, details of the user-readable context (e.g., page number, line number, paragraph number, etc.) can be displayed together with the extracted content to notify the recipient of the location within the document from which the content was extracted. In addition, the document can be represented as a single synchronized version linked to the extracted content (e.g., accessed via the message body), the attached file (e.g., accessed by opening the attached file), and the corresponding stored file (e.g., accessed via the file label) so that any annotations made to the file at any access point are automatically synchronized across all access points into a single version of the file.
[0155] Alternatively, when the recipient terminal is not registered with the unified messaging application, the sending operation 614 can send the message of the embedded content to a receiving application outside the unified messaging platform, such as a third-party email messaging application or an enterprise messaging application. Then, the receiving application can render or present a copy of the message of the embedded content to the user at the recipient terminal. The receiving application can also display details of the user-readable context (e.g., page number, line number, paragraph number, etc.) together with the extracted content to notify the recipient of the location within the document from which the content was extracted. In this case, when the recipient terminal is not registered with the unified messaging application, although the extracted content can be linked to the attached file and although the user may benefit from receiving a copy of the message of the embedded content, the user may not be able to interact with the single synchronized version of the attached file. In other examples, for example, in the case where the enterprise messaging application can access the stored version of the file, the user can interact with the single synchronized version of the file.
[0156] It should be understood that operations 602-614 are described for the purpose of illustrating the method and system, and are not intended to limit the present disclosure to a particular sequence of steps. For example, the steps may be performed in a different order, additional steps may be performed, and the disclosed steps may be excluded without departing from the present disclosure.
[0157] Figure 7 An exemplary method for synchronizing annotations made to extracted content with an associated document according to an exemplary embodiment is shown.
[0158] At the receive annotation operation 702, an annotation to the extracted content is received. The extracted content is a representation of at least a portion of an associated document. The associated document may be attached to a message (e.g., an attached file) and / or may be a file stored within a file tag of a unified messaging platform that may access one or more other applications. An annotation refers to an edit (e.g., add and / or delete) and / or a comment attached to the extracted content. An annotation may be received when a user at a second terminal registered with one or more of a unified messaging application, an enterprise messaging application, a third-party email messaging application, an SMS messaging application, an instant messaging application, etc. selects the extracted content and inserts an annotation. In other cases, an annotation may be received when an access user at a first terminal registered with the unified messaging application selects the extracted content and inserts an annotation.
[0159] At the identify structure operation 704, structure information associated with the extracted content may be identified. As detailed above, the anchor information associated with the extracted content may include structure information, such as computer-readable identifiers specifying a hierarchy and / or a location within the file structure of the associated document from which the content was extracted. As detailed above, the anchor information may be stored together with the extracted content (e.g., in the form of computer-readable metadata). The structure information associated with the extracted content may be identified by any suitable means (e.g., by scanning computer-readable metadata associated with the extracted content).
[0160] At the recognition location operation 706, the location of the received annotation of the extracted content can be recognized. In this case, the location of the received annotation within the structure of the extracted content can be recognized, which can be associated with the file structure of the associated file. For example, the extracted content can be associated with the second to tenth sentence elements of the third paragraph element of the second section element within the file structure of the associated file. In this case, the extracted content displayed in the message can include the second to tenth sentences of the third paragraph of the second section of the associated file. Based on this example, the annotation can be received at the eighth sentence element of the third paragraph of the second section displayed in the message. Thus, in this example, the annotation can be located at the eighth sentence element of the third paragraph element of the second section element within the associated file structure, and can be referenced by one or more identifiers specifying the level and location of this position within the associated file structure. It should be understood that other methods for referencing the location within the associated file structure of the received annotation are possible and can be implemented without departing from the present disclosure.
[0161] At the recognition application operation 708, the sending application associated with the received annotation can be recognized. For example, the sending application can include a unified messaging application, an enterprise messaging application, a third-party email messaging application, etc. For example, as detailed above, when a user at a second terminal registered with one or more of a unified messaging application, an enterprise messaging application, a third-party email messaging application, etc. selects the extracted content and inserts an annotation, the annotation can be received.
[0162] At the decision operation 710, it is determined whether the sending application is a unified messaging application. If the sending application is a unified messaging application, the method proceeds to the synchronization operation 714. Alternatively, if the sending application is not a unified messaging application, the method proceeds to the conversion operation 712.
[0163] At the conversion operation 712, the annotation is converted so that it can be read by the unified messaging application. As detailed above, the annotation can be received at a location within the extracted content. The location of the received annotation within the structure of the extracted content can be recognized, and the extracted content can be associated with a location within the file structure of the associated file. Thus, the received annotation can be mapped to a location within the file structure of the associated file. In this case, the conversion operation 712 can convert the annotation (e.g., add, delete, or comment) and the location information associated with the annotation into a format and / or representation that can be read by the unified messaging application. That is, the annotation can be converted into computer-readable instructions for applying the annotation to the associated file in the unified messaging platform.
[0164] At synchronization operation 714, the received annotation can be synchronized with the associated file. In various aspects, if the sending application is a unified messaging application, in response to receiving an annotation on the content extracted within a message, computer-readable instructions can be generated for applying the annotation to the associated file, and the received annotation can be automatically applied to the associated file (e.g., an attached file and / or a stored file). In various aspects, the computer-readable instructions can include an indication of the annotation (e.g., add, delete, or comment) and one or more identifiers that map the received annotation to a level and / or location within the file structure of the associated file. The computer-readable instructions can be implemented to apply the received annotation to the level and / or location within the associated file. In at least some aspects, a single version of the associated file provided by the unified messaging platform reflects annotations made to the associated file via any access point (e.g., via the extracted content, via opening an attached file, via opening a file stored in the file tags of the unified messaging application).
[0165] In other aspects, if the sending application is not a unified messaging application, the received annotation on the extracted content can be transformed to generate computer-readable instructions that can be read by the unified messaging application. The computer-readable instructions can include an indication of the annotation (e.g., add, delete, comment) and one or more identifiers that map the received annotation to a level and / or location within the file structure of the associated file. The computer-readable instructions can be implemented to apply the received annotation to the level and / or location within the associated file. In at least some aspects, a single version of the associated file provided by the unified messaging platform (e.g., via the extracted content, via opening an attached file, via opening a file stored in the file tags of the unified messaging application) reflects annotations made to the associated file via any access point.
[0166] It should be understood that operations 702 - 714 are described for purposes of illustrating the method and system, and operations 702 - 714 are not intended to limit the present disclosure to a particular sequence of steps. For example, the steps can be performed in a different order, additional steps can be performed, and the disclosed steps can be excluded without departing from the present disclosure.
[0167] Figure 8 An exemplary interface for embedding the extracted content within a message in accordance with an exemplary embodiment is shown.
[0168] As described above, the unified messaging platform can provide a user interface 800 that includes three panes (e.g., left frame 802, center pane 804, and right frame 806). In various aspects, as described above, in response to selecting an email entry (e.g., email entry 808) in the left frame 802, communications associated with the email inbox 810 can be displayed in the center pane 804. As Figure 8 shown, a specific user (e.g., Ping Li) accessing the unified messaging application is identified by a username 812a and a user icon 812b.
[0169] As shown by Figure 8 shown, the unified messaging platform can provide an email interface object (e.g., email interface object 814) to send "email-like" communications. In various aspects, the email interface object 814 can provide a recipient field 816 for entering or selecting a recipient, and a subject field 818 for entering a subject line. Additionally, the email interface object 814 can provide an input field 820 for text input, command input, hashtag input, etc. The email interface object 814 can also provide additional controls, such as an attachment control 822 and an embed control 824.
[0170] In various aspects, a file can be attached to an email message by selecting the attachment control 822 during browsing and selecting and inserting a file. Additionally or alternatively, a file can be attached to the message by copying and pasting the file. In some aspects, in response to attaching a file to a message, the file can be scanned for annotations. As described above, if the attached file includes one or more annotations, at least a portion of the attached file can be automatically extracted and embedded in the message. Alternatively, as described above, the user can select the embed control 824 to extract at least a portion of an associated file (e.g., an attached file or a file stored in a file label of the unified messaging application), and embed a portion of the associated file in the message. In response to entering a message into the email interface object 814 and clicking enter, the communication from the user can be automatically posted to the session as new "email-like" information.
[0171] It should be understood that the various features and functions of the user interface 800 described with reference to Figure 8 are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions can be associated with the systems and methods described herein, and / or some of the described features and functions can be excluded without departing from the systems and methods described herein.
[0172] Figure 9A An exemplary interface for displaying a message with embedded content according to an exemplary embodiment is shown.
[0173] As described above, the unified messaging platform can provide a user interface 900 including three panes (e.g., left frame 902, center pane 904, and right frame 906). In various aspects, as described above, in response to selecting a session 910 within an email entry 908 in the left frame 902, the session 910 can be displayed in a session tab 912 of the center pane 904. As Figure 9A shown, a specific user (e.g., Ping Li) accessing the unified messaging application is identified by a username 924a and a user icon 924b.
[0174] As Figure 9A shown, a communication 914 is received from Rachel Morrison. The communication 914 includes text content 916 following an embedded object 918. The embedded object 918 includes context information 920 about the extracted content 922. For example, the context information 920 provides a description of annotations 924a (e.g., delete) and 924b (e.g., add), the location of the extracted content in an associated file (e.g., the first paragraph of the section titled "What Have We Built", page 2), and also includes a file name (e.g., "LAUNCH.docx").
[0175] In additional or alternative examples, the extracted content (e.g., annotations 924a and 924b within the extracted content 922) can be interleaved with other messages and / or comments within a session based on date or time (not shown). For example, a first comment about a word document can be made at a first date or time within a session (e.g., displayed in the session tab 912). Additionally, a second comment can be made within a word processing document at a second date or time. The second comment with anchor content can be extracted from the word processing document and presented within the session based on the second date or time. Thereafter, a third comment about the word processing document (and / or the second comment with anchor content) can be made at a third date or time within the session. Thus, comments with anchor content can be interleaved with comments made within messages in a session based on the date and / or time of receipt.
[0176] Figure 9B An exemplary interface for displaying an associated file in response to a selection of embedded content according to an example embodiment is shown.
[0177] As described above, the unified messaging platform can provide a user interface 900 that includes three panes (e.g., left frame 902, center pane 904, and right frame 906). In various aspects, as described above, files associated with a category 908 can be displayed in a file tab 901 in the center pane 904. In various aspects, in response to selecting the extracted content presented in a content-embedded communication (e.g., communication 914 as Figure 9A shown), an associated file 912 can be opened in a file tab 910. As Figure 9B shown, at least a portion of the associated file 912 is displayed in the center pane 904. Additionally, as shown in Figure 9A , the associated file can be opened to a location that includes one or more annotations in the extracted content, e.g., annotation 924a (e.g., deletion) and annotation 924b (e.g., addition).
[0178] It should be understood that the various features and functions of the user interface 900 described with reference to Figure 9A and Figure 9B are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions can be associated with the systems and methods described herein, and / or some of the described features and descriptions can be excluded without departing from the systems and methods described herein.
[0179] Figure 10 An exemplary interface for embedding extracted content in a message is shown according to an exemplary embodiment.
[0180] As described above, the unified messaging platform can provide a user interface 1000 that includes three panes (e.g., left frame 1002, center pane 1004, and right frame 1006). In various aspects, as described above, in response to selecting a session 1010 in an email entry in the left frame 1002 (e.g., email entry 1008), the session 1010 can be displayed in a session tab 1018 in the center pane 1004.
[0181] As shown by Figure 10 , a communication 1012 is received from "me" (e.g., the accessing user). The communication 1012 includes text content 1014 that follows the extracted content 1016. In this case, the extracted content 1016 is an image. As detailed above, the extracted content 1016 can include a substantial portion of the content (e.g., an image) of an associated file. In some aspects, in response to selecting the extracted content 1016, the image stored in a file tab (e.g., file tab 1020) can be opened in the center pane 1004.
[0182] It should be understood that Figure 10 the various features and functions of the user interface 1000 described are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions may be associated with the systems and methods described herein, and / or some of the described features and functions may be excluded, without departing from the systems and methods described herein.
[0183] Figure 11-14 and the associated description provides a discussion of various operating environments in which aspects of the present disclosure may be implemented. However, reference Figure 11-14 to the devices and systems shown and discussed are for purposes of example and illustration and not to limit the numerous computing device configurations that may be used to implement aspects of the present disclosure described herein.
[0184] Figure 11 is a block diagram that illustrates the physical components (e.g., hardware) of a computing device 1100 with which aspects of the present disclosure may be practiced. The computing device components described below may have computer-executable instructions for implementing a unified messaging application on a server computing device 106 (or server computing device 308), which includes computer-executable instructions for a unified messaging application 1120 that may be executed to employ the methods disclosed herein. In a basic configuration, the computing device 1100 may include at least one processing unit 1102 and a system memory 1104. Depending on the configuration and type of the computing device, the system memory 1104 may include, but is not limited to, volatile memory (e.g., random access memory), non-volatile memory (e.g., read-only memory), flash memory, or any combination of such memories. The system memory 1104 may include an operating system 1105 and one or more program modules 1106 suitable for running the unified messaging application 1120 (e.g., one or more components regarding Figure 3 and in particular the context component 1111, the extraction component 1113, the transformation component 1115, or the rendering component 1117). For example, the operating system 1105 may be suitable for controlling the operation of the computing device 1100. Additionally, embodiments of the present disclosure may be practiced in conjunction with a graphics library, other operating systems, or any other application and are not limited to any particular application or system. In Figure 11 those components within the dashed line 1108 illustrate this basic configuration. The computing device 1100 may have additional features or functionality. For example, the computing device 1100 may also include additional (removable and / or non-removable) storage devices, such as magnetic disks, optical disks, or magnetic tapes. In Figure 11 such additional storage is illustrated by a removable storage device 1109 and a non-removable storage device 1110.
[0185] As described above, multiple program modules and data files may be stored in the system memory 1104. When executed on the processing unit 1102, the program modules 1106 (e.g., the unified messaging application 1120) may perform processes including, but not limited to, the various aspects described herein. Other program modules that may be used in accordance with the various aspects of the present disclosure, particularly those for providing a unified messaging platform, may include the context component 1111, the extraction component 1113, the transformation component 1115, or the rendering component 1117, among others.
[0186] In addition, embodiments of the present disclosure may be practiced in an electrical circuit that includes discrete electronic components, a packaged or integrated electronic chip containing logic gates, a circuit utilizing a microprocessor, or a single chip containing electronic components or a microprocessor. For example, embodiments of the present disclosure may be practiced via a system-on-a-chip (SOC), where Figure 11 each or more of the components shown may be integrated onto a single integrated circuit. Such an SOC device may include one or more processing units, graphics units, communication units, system virtualization units, and various application functions, all integrated (or "burned") onto a chip substrate as a single integrated circuit. When operating via an SOC, the functions described herein may be operated via dedicated logic integrated with other components of the computing device 1100 on a single integrated circuit (chip). Aspects of the present disclosure may also be practiced using other technologies capable of performing logical operations (e.g., AND, OR, NOT), including but not limited to: mechanical, optical, fluidic, and quantum technologies. Additionally, multiple embodiments may be practiced in a general-purpose computer or in any other circuit or system.
[0187] The computing device 1100 may also have one or more input devices 1112, such as a keyboard, mouse, pen, voice or speech input device, touch or swipe input device, etc. Output devices 1114 such as a display, speaker, printer, etc. may also be included. The foregoing devices are examples, and other devices may be used. The computing device 1100 may include one or more communication connections 1116 that allow communication with other computing devices 1150. Examples of suitable communication connections 1116 include, but are not limited to, radio frequency (RF) transmitter, receiver, and / or transceiver circuitry; universal serial bus (USB), parallel, and / or serial ports.
[0188] As used herein, the term computer-readable medium can include computer storage media. Computer storage media can include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules. System memory 1104, removable storage device 1109, and non-removable storage device 1110 are all examples of computer storage media (i.e., memory storage). Computer storage media includes: RAM, ROM, electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other article that can be used to store information and that can be accessed by computing device 1100. Any such computer storage media is part of computing device 1100. Computer storage media does not include carrier waves or other propagated data signals.
[0189] Communication media is implemented with computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transmission mechanism, and includes any information delivery media or transmission media. The term "modulated data signal" can include a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media (such as a wired network or direct wired connection) and wireless media (such as acoustic, radio frequency (RF), infrared, and other wireless media).
[0190] Figure 12A and 12B illustrates a mobile computing device 1200 by which aspects can be practiced, e.g., a mobile phone, smart phone, wearable computer (such as a smart watch), tablet personal computer, laptop computer, etc. Refer to Figure 12A, which shows one aspect of the mobile computing device 1200 for implementing aspects. In a basic configuration, the mobile computing device 1200 is a handheld computer with both input and output elements. The mobile computing device 1200 typically includes a display 1205 and one or more input buttons 1210 that allow a user to input information into the mobile computing device 1200. The display 1205 of the mobile computing device 1200 can also act as an input device (e.g., a touch screen display). If included, the optional side input element 1215 allows for further user input. The side input element 1215 is a rotary switch, a button, or any other type of manual input element. In alternative examples, the mobile computing device 900 includes more or fewer input elements. For example, in some aspects, the display 1205 may not be a touch screen. In an alternative example, the mobile computing device 1200 is a portable telephone system, such as a cellular phone. The mobile computing device 1200 includes an optional keypad 1235. The optional keypad 1235 is a physical keypad or a "soft" keypad generated on a touch screen display. In various embodiments, the output elements include a display 1205 for presenting a graphical user interface (GUI), visual indicators 1220 (e.g., light emitting diodes), and / or audio transducers 1225 (e.g., speakers). In some aspects, the mobile computing device 1200 includes a vibration transducer for providing tactile feedback to the user. In another aspect, the mobile computing device 1200 includes a peripheral device port 1240 for sending signals to or receiving signals from external devices, such as an audio input (e.g., a microphone jack), an audio output (e.g., a headphone jack), and a video output (e.g., an HDMI port).
[0191] Figure 12B is a block diagram showing the architecture of one aspect of a mobile computing device. That is, the mobile computing device 1200 can include a system (e.g., an architecture) 1202 for implementing some aspects. In one embodiment, the system 1202 is implemented as a "smartphone" capable of running one or more applications (e.g., a browser, email, calendar, contact manager, messaging client, game, and media client / player). In some aspects, the system 1202 is integrated as a computing device, such as an integrated personal digital assistant (PDA) and wireless phone.
[0192] One or more applications 1266 may be loaded into the memory 1262 and run on or in association with the operating system 1264. Examples of applications include a phone dialer, an email program, a personal information management (PIM) program, a word processing program, a spreadsheet program, an Internet browser program, a messaging program, and the like. The system 1202 also includes a non-volatile storage area 1268 within the memory 1262. The non-volatile storage area 1268 may be used to store persistent information that should not be lost if the system 1202 loses power. The applications 1266 may use and store information in the non-volatile storage area 1268, such as email or other messages used by an email application. A synchronization application (not shown) also resides on the system 1202 and is programmed to interact with a corresponding synchronization application residing on a host computer to keep the information stored in the non-volatile storage area 1268 synchronized with the corresponding information stored on the host computer. It should be understood that other applications may be loaded into the memory 1262 and run on the mobile computing device 1200, including instructions for providing a unified messaging platform as described herein (e.g., a search engine, an extractor module, a relevance ranking module, an answer scoring module, etc.).
[0193] The system 1202 has a power supply 1270, which may be implemented as one or more batteries. The power supply 1270 may also include an external power source, such as an AC adapter or a charging docking cradle that powers or charges the battery.
[0194] The system 1202 may also include a radio device 1272 that performs the functions of sending and receiving video communications. The radio device 1272 facilitates wireless connectivity between the system 1202 and the "outside world" via a communication carrier or service provider. Transmissions to and from the radio device 1272 are under the control of the operating system 1264. In other words, communications received by the radio device 1272 may be disseminated to the applications 1250 via the operating system 1264, and vice versa.
[0195] The visual indicator 1220 can be used to provide visual notifications, and / or the audio interface 1274 can be used to generate audible notifications via the audio transducer 1225. In the illustrated embodiment, the visual indicator 1220 is a light-emitting diode (LED), and the audio transducer 1225 is a speaker. These devices can be directly coupled to the power supply 1270 so that when activated, even if the processor 1260 and other components can be turned off to conserve battery power, these devices can remain powered on and continue for a period of time indicated by the notification mechanism. The LED can be programmed to remain powered on indefinitely until the user takes an action to indicate the powered-on state of the device. The audio interface 1274 is used to provide audible signals to the user and receive audible signals from the user. For example, in addition to being coupled to the audio transducer 1225, the audio interface 1274 can also be coupled to a microphone to receive audible input, for example, to facilitate a telephone conversation. As will be described below, according to an embodiment of the present disclosure, the microphone can also be used as an audio sensor to control notifications. The system 1202 can also include a video interface 1276, which enables the operation of the on-vehicle camera 1230 to record still images, video streams, and the like.
[0196] The mobile computing device 1200 implementing the system 1202 can have additional features or functions. For example, the mobile computing device 1200 can also include additional data storage devices (removable and / or non-removable), such as magnetic disks, optical disks, or magnetic tapes. Such additional storage is illustrated by the non-volatile storage area 1268 in Figure 12B this regard.
[0197] As described above, the data / information generated or captured by the mobile computing device 1200 and the data / information stored via the system 1202 are locally stored on the mobile computing device 1200. The data is stored on any number of storage media that can be accessed by the device via the radio device 1272 or via a wired connection between the mobile computing device 1200 and a separate computing device associated with the mobile computing device 1200 (e.g., a server computer in a distributed computing network (e.g., the Internet)). It should be understood that such data / information can be accessed via the mobile computing device 1200, via the radio device 1272, or via a distributed computing network. Similarly, according to one aspect, such data / information can be easily transmitted between computing devices for storage and use according to well-known data / information transmission and storage methods, including email and collaborative data / information sharing systems.
[0198] As described above, Figure 13Shows an aspect of a system architecture for processing data received at a computing system from a remote source (e.g., a personal computer 1304, a tablet computing device 1306, or a mobile computing device 1308). The content displayed at the server device 1302 can be stored in different communication channels or other storage types. For example, a directory service 1322, a portal website 1324, a mailbox service 1326, an instant messaging storage 1328, or a social networking website 1330 can be used to store various documents. The unified messaging application 1320 can be used by a client communicating with the server device 1302, and / or the unified messaging application 1320 can be used by the server device 1302. The server device 1302 can provide data to client computing devices (e.g., a personal computer 1304, a tablet computing device 1306, and / or a mobile computing device 1308 (e.g., a smart phone)) via the network 1315 and receive data from the client computing devices via the network 1315. As an example, the computer system described above with reference to Figure 1-1 2 can be implemented in a personal computer 1304, a tablet computing device 1306, and / or a mobile computing device 1308 (e.g., a smart phone). Any of these embodiments of the computing device can obtain content from the storage 1316 and can receive graphical data that can be used for preprocessing at the graphics initiation system or for postprocessing at the receiving computing system.
[0199] Figure 14 Shows an exemplary tablet computing device 1400 that can perform one or more aspects disclosed herein. Additionally, the aspects and functions described herein can operate on a distributed system (e.g., a cloud-based computing system), where application functions, memory, data storage and retrieval, and various processing functions can operate remotely from each other via a distributed computing network such as the Internet or an intranet. Various types of user interfaces and information can be displayed via an on-board computing device display or via a remote display unit associated with one or more computing devices. For example, various types of user interfaces and information are displayed on a wall onto which the various types of user interfaces and information are projected and interact with such a wall. Interactions with the various computing systems utilized in the practice of embodiments of the present invention include: keystroke input, touchscreen input, voice or other audio input, gesture input, where the associated computing device is equipped with detection (e.g., a camera) functions for capturing and interpreting user gestures for controlling the functions of the computing device, etc.
[0200] For example, aspects of the present disclosure have been described above with reference to block diagrams and / or operational diagrams of methods, systems, and computer program products. The functions / operations recorded in the blocks may be performed in an order different from that shown in any flowchart. For example, depending on the functions / operations involved, two blocks shown consecutively may actually be performed substantially simultaneously, or the blocks may sometimes be performed in the reverse order.
[0201] The description or illustration of one or more examples provided in this application is not intended to limit or restrict the scope of the claimed invention in any way. The aspects, examples, and details provided in this disclosure are considered sufficient to convey the subject matter and enable those skilled in the art to make and use the best mode of the claimed invention. This disclosure should not be construed as limited to any aspect, example, or detail provided in this application. Various features (both structural and methodical) are intended to be selectively included or omitted, whether shown or described jointly or separately, to produce examples having a particular set of features. After the description and illustration of this application have been provided, those skilled in the art may envision variations, modifications, and alternative examples that fall within the spirit of the broader aspects of the general inventive concept implemented in this application without departing from the broader scope of the claimed invention.
Claims
1. A system for providing a unified messaging platform, comprising: A hardware processing circuit; A hardware memory including instructions that, when executed, configure the hardware processing circuit to perform operations including: Receiving a message including a message body and an attachment, the attachment including a first part of content and a second part of content; Extracting only the first part of content from the attachment as the extracted data; Displaying the extracted data in the message body of the message to display the first part of content while not displaying the second part of content in the message body of the message; Receiving an edit to the extracted data displayed in the message body within the message body; And Synchronizing the edited extracted data with the first part of content in the attachment.
2. The system according to claim 1, wherein the operation further comprises: Generating information about the structure of the message body and the attachment, the information including an index associating the extracted data to one or more locations in the attachment, wherein synchronizing the edited extracted data is based on the information.
3. The system according to claim 2, wherein the operation further comprises: Generating the information about the structure of the message body and the attachment to include anchor information, the anchor information including location information, the location information including one or more of the following: line information, page information, paragraph information, sentence information of the attachment, wherein the synchronization is further based on the anchor information.
4. The system according to claim 3, further comprising: Associating the extracted data with one or more identifiers specifying a rank or location of the extracted data within the structure of the attachment, wherein the synchronization is further based on the one or more identifiers.
5. The system according to claim 3, wherein the operation further comprises: Determining whether the first part includes a note, wherein the note includes an edit to the first part of content or an additional comment within the first part, wherein the operation of generating the information about the structure of the message body and the attachment to include anchor information is performed in response to the determination.
6. The system according to claim 2, further comprising: Receiving an input selecting the extracted data and opening an additional file to a location corresponding to the selection based on the information.
7. The system according to claim 1, wherein, Synchronizing the edited extracted data includes: synchronizing the edited extracted data in the attachment to multiple users.
8. The system according to claim 1, wherein, The synchronization includes: generating computer-readable instructions readable by a unified messaging application, the instructions including an indication of the edited extracted data and one or more identifiers mapping the edited extracted data to a rank or location within a file structure, wherein the computer-readable instructions are configured to apply the edit to the first part within the file structure.
9. A method for providing a unified messaging platform, comprising: Receiving a message including a message body and an attachment, the attachment including a first part of content and a second part of content; Extracting only the first part of content from the attachment as the extracted data; Displaying the extracted data in the message body of the message to display the first part of content while not displaying the second part of content in the message body of the message; Receiving an edit to the extracted data displayed in the message body within the message body; And Synchronizing the edited extracted data with the first part of content in the attachment.
10. The method according to claim 9 further comprises: Generate information about the structure of the message body and the attachment, the information including an index associating the extracted data with one or more locations in the attachment, wherein synchronizing the edited extracted data is based on the information.
11. The method according to claim 10, further comprising: Generate the information about the structure of the message body and the attachment to include anchor information, the anchor information including location information, the location information including one or more of the following: line information, page information, paragraph information, sentence information of the attachment, wherein the synchronization is further based on the anchor information.
12. The method according to claim 11 further comprises: Associate the extracted data with one or more identifiers specifying the rank or location of the extracted data within the structure of the attachment, wherein the synchronization is further based on the one or more identifiers.
13. The method according to claim 11, wherein the method further comprises: Determine whether the first part includes a comment, wherein the comment includes an edit to the content of the first part or an additional comment within the first part, wherein the operation of generating the information about the structure of the message body and the attachment to include anchor information is performed in response to the determination.
14. The method according to claim 10, further comprising: Receive an input selecting the extracted data and open an additional file to a location corresponding to the selection based on the information.
15. The method according to claim 9, wherein Synchronizing the edited extracted data includes: synchronizing the edited extracted data in the attachment to multiple users.
16. The method according to claim 9, wherein, The synchronization includes: generating computer-readable instructions readable by a unified messaging application, the instructions including an indication of the edited extracted data and one or more identifiers mapping the edited extracted data to a rank or location within a file structure, wherein the computer-readable instructions are configured to apply the edit to the first part within the file structure.
17. A non-transitory computer-readable storage medium including instructions that, when executed, configure a hardware processing circuit to perform operations including the following: Receive a message including a message body and an attachment, the attachment including a first part of content and a second part of content; Extract only the first part of the content from the attachment as the extracted data; Display the extracted data in the message body of the message to display the first part of the content while not displaying the second part of the content in the message body of the message; Receive an edit to the extracted data displayed in the message body within the message body; And Synchronize the edited extracted data with the first part of the content in the attachment.
18. The non-transitory computer-readable storage medium according to claim 17, wherein the operation further comprises: Generate information about the structure of the message body and the attachment, the information including an index associating the extracted data with one or more locations in the attachment, wherein synchronizing the edited extracted data is based on the information.
19. The non-transitory computer-readable storage medium according to claim 18, wherein the operation further comprises: Generate the information about the structure of the message body and the attachment to include anchor information, the anchor information including location information, the location information including one or more of the following: line information, page information, paragraph information, sentence information of the attachment, wherein the synchronization is further based on the anchor information.
20. The non-transitory computer-readable storage medium according to claim 19, wherein the operation further comprises: Associate the extracted data with one or more identifiers that specify the rank or location of the extracted data within the structure of the attachment, wherein the synchronization is also based on the one or more identifiers.
Citation Information
Patent Citations
Attachment markup and message transmission
US20150347368A1