US20190102472A1 - Systems and methods for generating a resource preview in a communication session - Google Patents

Systems and methods for generating a resource preview in a communication session Download PDF

Info

Publication number
US20190102472A1
US20190102472A1 US15/721,838 US201715721838A US2019102472A1 US 20190102472 A1 US20190102472 A1 US 20190102472A1 US 201715721838 A US201715721838 A US 201715721838A US 2019102472 A1 US2019102472 A1 US 2019102472A1
Authority
US
United States
Prior art keywords
preview
resource
recipient
sender
setting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US15/721,838
Inventor
Christopher van Rensburg
Martin Arastafar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
RingCentral Inc
Original Assignee
RingCentral Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by RingCentral Inc filed Critical RingCentral Inc
Priority to US15/721,838 priority Critical patent/US20190102472A1/en
Publication of US20190102472A1 publication Critical patent/US20190102472A1/en
Assigned to RINGCENTRAL, INC. reassignment RINGCENTRAL, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ARASTAFAR, MARTIN, VAN RENSBURG, CHRISTOPHER
Assigned to BANK OF AMERICA, N.A., AS COLLATERAL AGENT reassignment BANK OF AMERICA, N.A., AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RINGCENTRAL, INC.
Priority to US18/355,606 priority patent/US20230359690A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • G06F17/30893
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]

Definitions

  • the present disclosure relates to the field of telecommunications, and more specifically, to systems and methods for generating a resource preview in a communication session.
  • Communication software applications such as a chat application, provide a platform for multiple users to communicate with each other remotely in a communication session across a network.
  • One user—a sender—in the communication session may want to share a resource with another user—a recipient.
  • the resource may be, for example, a document or a website.
  • the sender may provide the recipient with a link to the resource that may be selected by the recipient to access the resource.
  • the communication software may display information from or about the resource to the recipient.
  • the information from or about the resource may be a preview of the resource. But existing communication systems fail to tailor previews to individual users viewing the previews, resulting in generic previews or no previews being displayed if, for example, some users may not be authorized to view the preview.
  • a method for generating a resource preview in a communication session may include receiving a link associated with a resource from a sender to a recipient and displaying a resource preview as a function of the received link and a stored preview-setting profile.
  • the preview-setting profile may comprise at least one of a recipient-based preview setting, an environment-based preview setting, or a sender-based preview setting.
  • displaying the resource preview may comprise generating the resource preview based on at least one of a received recipient profile, data derived from a communication session, data derived from an environment associated with the recipient, a received sender profile, or a received sender selection.
  • the displaying may be performed by a chat application.
  • the preview-setting profile may be associated with at least one of the sender or the recipient.
  • the environment-based preview setting may comprise a setting to display a resource preview based on the content of the communication session.
  • the method may also include displaying the link, determining that the resource was updated, and updating the link and/or providing credentials from the sender to recipient, wherein the credentials permit temporary or permanent access to the resource for the recipient.
  • displaying the resource preview may comprise displaying the resource preview as a function of the recipient's credentials.
  • the resource recommendation may also be displayed as a function of a recommendation-setting profile.
  • a method for generating a resource recommendation in a communication session may include storing a recommendation-setting profile comprising at least one of a sender-based recommendation setting, an environment-based recommendation setting, or a recipient-based recommendation setting; displaying a resource recommendation as a function of the recommendation-setting profile and receiving a request to send a link associated with a resource from a sender to a recipient.
  • displaying the resource recommendation may comprise generating the resource recommendation based on at least one of a received sender profile, data derived from a chat session, data derived from an environment associated with the sender, or a received recipient profile.
  • the displaying may be performed by a chat application.
  • the recommendation-setting profile may be associated with at least one of the sender or the recipient.
  • the request may be associated with a communication session and the environment-based recommendation setting may comprise a setting to display a resource recommendation based on the content of the communication session.
  • the method may include displaying the link, determining that the resource was updated, and updating the link and/or providing credentials from the sender to recipient, wherein the credentials may permit access to the resource.
  • displaying the resource recommendation may comprise displaying the resource recommendation as a function of the recipient's credentials.
  • a resource preview may also be displayed as a function of a preview-setting profile.
  • a system for generating a resource preview in a communication session may include at least one memory device storing computer-executable instructions and at least one processor configured to execute the stored instructions to receive a link associated with a resource from a sender to a recipient and display a resource preview as a function of the received link and a stored preview-setting profile.
  • non-transitory computer-readable storage media can store program instructions, which are executed by at least one processor device to perform any of the methods described herein.
  • FIG. 1A is a diagram of an example of a system environment for a communication service, consistent with the disclosed embodiments
  • FIG. 1B is a diagram of an example of operation of a communication-service client, consistent with the disclosed embodiments
  • FIG. 1C is a diagram of an example of operation of a communication-service client, consistent with the disclosed embodiments
  • FIG. 1D is a diagram of an example of operation of a communication-service client, consistent with the disclosed embodiments
  • FIG. 1E is a diagram of an example of operation of a communication-service client, consistent with the disclosed embodiments
  • FIG. 2 is a diagram illustrating an example of an architecture of a communication application, consistent with disclosed embodiments
  • FIG. 3A is a flow chart illustrating an example of a method for generating a resource preview in a communication session, consistent with disclosed embodiments
  • FIG. 3B is a flow chart illustrating an example of a method for generating a resource preview in a communication session, consistent with disclosed embodiments
  • FIG. 3C is a flow chart illustrating an example of a method for generating a resource preview in a communication session, consistent with disclosed embodiments.
  • FIG. 4 is a diagram illustrating an example of a computing system.
  • Existing communication systems may treat all users the same when generating previews for resources shared over the communication system (e.g., documents or websites). Consequently, the same preview of a resource may be presented to all users with whom a link to the resource is shared.
  • Such system may not, for example, consider the different levels of access to the resource that may be afforded to different users based upon their unique roles, interests, levels of understanding, or permissions within an organization.
  • Existing communication systems fail to tailor previews to individual users viewing the previews.
  • Existing systems may only display previews for resources that all users who may view the previews are authorized to view. This may limit the content that can be previewed. For example, if a user references a resource by sending a link to the resource and that resource requires other users to login and authenticate with a service to access it, then the preview system may provide a generic representation of the resource, such as text of a Uniform Resource Locator (URL), specifying a network location at which the resource may be located.
  • URL Uniform Resource Locator
  • a communication system that tailors previews of resources to individual users may allow users to see portions of resources that are, for example, of most interest to them and that they are authorized to see.
  • the previews may be presented in a format useful for consumption by the user (e.g., text or audio).
  • the communication system may redact portions of resources and/or may generate summaries of varying degrees of complexity or detail for presentation to one or more users.
  • FIG. 1A is a diagram of an example of a system environment 100 for a communication service, such as a chat service, consistent with embodiments of the present disclosure.
  • a communication service can be provided to user devices 102 , 104 , and 106 (e.g., smart phones).
  • the communication service may allow users of the devices to communicate with each other over a communication session.
  • the users may communicate via, for example, chat messages.
  • the users may communicate remotely over network 130 via a communication server 108 .
  • the communication service can be provided by a communication application 120 , illustrated in FIG. 2 .
  • Communication application 120 may be run on a communication-service client 120 a and/or a communication-service server 120 b .
  • Communication-service client 120 a can operate on user devices 102 , 104 , and 106 .
  • Communication-service server 120 b can operate on communication server 108 .
  • communication-service client 120 a may display a preview of a resource referenced in the communication session.
  • communication-service client 120 a may display an excerpt or a portion of a document when one user (i.e., sender) sends a link to the document to another user (i.e., recipient) or users (i.e., recipients).
  • Generating the preview or a recommendation for the preview may comprise accessing data from a database 126 .
  • database 126 may be one or more databases.
  • the data stored in database 126 may comprise data from a current communication session and/or one or more previous communication sessions.
  • Communication application 120 may access database 126 to retrieve stored communication sessions and analyze them to determine what resource preview to generate or recommend.
  • some of this analysis may be performed when previous communication sessions are stored in database 126 or at another time. For example, an index that pairs words found in communication sessions to the communication sessions in which they are found may be created or updated when the communication session is stored in database 126 .
  • Generating the preview, a recommendation for the preview, or a recommendation of a resource may comprise accessing database 126 to retrieve stored user-attribute data.
  • User-attribute data may describe one or more characteristics about a given sender or recipient.
  • User attributes for users may include, for example, their access privileges to various types of resources, their positions or responsibilities within an organization, their security clearance levels or access credentials, their interests, their training or academic qualifications, their professional expertise in the subject matter of the preview, their involvement with the subject matter of the preview, and/or their levels of understanding of various subjects.
  • Generating the preview, a recommendation for the preview, or a recommendation of a resource may also comprise accessing database 126 to retrieve stored user-activity data.
  • User-activity data may describe the activities in which a given sender or recipient participates in, such as a user's online activity.
  • the system may create user-attribute data, such as by finding words that commonly appear on websites accessed by the user or that appear in the user's search queries.
  • Generating the preview, a recommendation for the preview, or a recommendation of a resource may comprise accessing data from sources in addition to or instead of those storing previous communication sessions.
  • communication application 120 may access internet-based sources, such as a website (“web source 132 a ”), a social-media platform (“social media 132 b ”), or a data-aggregation service (“outside service 132 c ”), such as a Real Simple Syndication (RSS) feed.
  • resource previews may be generated by communication application 120 .
  • resource previews may be generated by the entity hosting the resource and the preview made available to communication application 120 by the entity.
  • communication application 120 may access a service registry 134 to facilitate operations such as user authentication and generating a resource preview, recommending resource previews, or recommending a resource. Because access to the resource may be restricted by the entity hosting the resource, communication application 120 may need to authenticate one or more users with the entity before generating a preview of a resource, recommending a preview of the resource, or recommending a resource. Entities hosting resources may require different authentication Application Programing Interfaces (APIs) for requesting previews of resources. Service registry 134 may provide communication application 120 with the information necessary to gain access to the desired resource (e.g., authentication information). Entities hosting resources may have different Universal Resource Indicator formats for specifying resources.
  • APIs Application Programing Interfaces
  • Service registry 134 may provide communication application 120 with the information necessary to specify which resource or resources communication application 120 needs to generate a preview for.
  • Service registry 134 may use one or more established protocols to monitor or broker interactions between communication application 120 and entities hosting resources to automatically update itself with information communication application 120 may need to access resources from the entities in the future.
  • Such protocols may include, for example, proxy APIs accessed via HTTP, Webhooks accessed via HTTP, REST hooks accessed via HTTP, pub/sub event subscription APIs accessed via Web sockets.
  • One or more users may edit entries in service registry 134 through an interface.
  • the term “user” is being used in the interest of brevity and may refer to any of a variety of entities that may be associated with a subscriber account such as, for example, a person, a bot or artificial intelligent (AI) agent, an organization, an organizational role within an organization, a group within an organization, etc.
  • the user devices can include a variety of devices, such as mobile phones, landline phones, Voice over IP (VoIP) phones, gateways, audio and/or video conferencing devices, gaming consoles, personal computers, laptops, smartwatches, or tablets.
  • VoIP Voice over IP
  • the user devices may be installed with software that supports conferencing, such as web browsers, a web-based real time communications (WebRTC) client application, a mobile app, or the like.
  • WebRTC real time communications
  • FIG. 1B illustrates an example of operation of communication-service client 120 a, consistent with embodiments of the present disclosure.
  • Communication-service client 120 a may operate on a user device (e.g., user device 102 ) to provide a display interface 122 .
  • Display interface 122 can display the content of, for example, chat messages.
  • Content of chat messages may comprise, for example, text, image, and/or video content.
  • Communication-service client 120 a may also provide an input interface 124 for submitting chat messages.
  • a user may submit a message by, for example, entering text into text box 176 and submitting the entered text to other users by selecting Enter button 124 .
  • a user in the communication session may want to share a resource with one or more users (e.g., recipients).
  • the sender may be referred to as sender 173 , illustrated in FIG. 1B with an image of a fictional user, Jason.
  • the recipients may be referred to as recipients 178 a and 178 b, illustrated in FIG. 1B with images of fictional users Jeff and John, respectively.
  • the resource may be, for example, a document or a website.
  • Interface 122 may display a link to the resource, such as link 170 .
  • communication-service client 120 a may display information from or about the resource to the recipient, such as a preview of the resource. For example, if the resource is a document, communication-service client 120 a may display a portion of or an excerpt from the document (“preview 174 ”). The recipient may access the resource by selecting link 170 within communication-service client 120 a. Preview 174 may conform to a standard such as oEmbed.
  • Preview 174 may be automatically displayed when message 168 is received, when a user hovers a cursor over it, when a user selects it, when a user performs a touch gesture, and/or when a user otherwise instructs communication application 120 to display preview 174 .
  • preview 174 may be generated or recommended based on one or more factors analyzed by communication application 120 .
  • Preview 174 may be generated and displayed to the recipient without any selections being made by the sender or recipient regarding what preview to display.
  • one or more previews may be generated and then recommended to the sender or the recipient.
  • Such a recommendation may be, for example, a request that the sender or recipient select a preview to display from a set of multiple previews or a request to approve a single preview for display.
  • the factors may be related to at least one of the recipient, the sender, or the environment.
  • the preview When the considered factors are related to the recipient, the preview may be considered a “recipient-based preview.” When the considered factors are related to the sender, the preview may be considered a “sender-based preview.” When the considered factors are related to the environment, the preview may be considered an “environment-based preview.”
  • Communication application 120 may be configured to use the factors specified in a preview-setting profile.
  • the preview-setting profile may be a profile associated with a user, such as a sender requesting to send a link to a resource to a recipient.
  • the preview-setting profile may be a profile associated with a recipient receiving a communication from the sender that contains a reference to a resource.
  • the preview-setting profile may specify how the resource preview is to be generated and/or displayed.
  • the preview-setting profile may be a profile associated with an environment of a recipient receiving a communication from the sender that contains a reference to a resource.
  • a recipient-based preview may comprise a preview that is determined by one or more user attributes associated with the recipient.
  • One such user attribute may be access privileges associated with the recipient.
  • Access privileges may comprise credentials, security clearance, or authentication information stored in service registry 134 in association with the recipient. For example, the recipient's credentials may permit the user to only see certain portions of a resource. If the recipient-based preview is determined at least in part by authentication information associated with the recipient, the generated or recommended preview of the resource may contain only those portions of the resource that the recipient may view in accordance with his or her credentials.
  • John and Jason may be recipients of a communication 168 referencing a resource having classified information.
  • John's device 180 may display the secret code “12345” in preview 174 a because John has the proper credentials, clearance, or authentication information to see the secret code.
  • Jason's device 182 may display a preview 174 b with the secret code redacted because Jason does not have the proper credentials, clearance, or authentication information to see the information.
  • Jason's device may be considered to be displaying a portion of the resource (i.e., the portion that is not redacted and that contains the redacted secret code).
  • the recipient's position or responsibilities within an organization may be used as a user attribute for generating or recommending a preview.
  • the preview displayed to the architect may be a portion of the document pertaining to the architecture of the building instead of, for example, financing details.
  • John and Jeff may be recipients of a communication 168 referencing a resource having an architectural schematic and a financial chart.
  • John's device 180 may display a preview 174 c with the architectural schematic because John is an architect.
  • Jeff's device 184 may display a preview 174 d with a financial chart because Jeff is a finance employee.
  • the recipient's interests may be used as a user attribute for generating or recommending a preview.
  • Interests associated with a user may be determined from, for example, words appearing often in the user's chat messages, words appearing often on webpages visited by the user, or words appearing often in the user's search queries in online search engines or search mechanisms within the user's organization's Information Technology system.
  • words may be stored in database 126 with a timestamp reflecting when a word was last encountered in the user-interest analysis. In this case, words that were encountered more recently (e.g., words used in a search query by the user more recently than others) may be scored higher than other words even if the other words were encountered more times.
  • communication application 120 may generate or recommend a preview of a resource that is a portion thereof and that contains a word associated with the recipient and his or her interest.
  • the recipient's predicted level of understanding of a resource being shared or a topic being discussed may be used as a user attribute for generating or recommending a preview.
  • the user's level of understanding may be predicted from data describing, for example, the amount of experience a user has at a company.
  • database 126 may contain user-attribute data indicating that the recipient is, for example, an engineer with only one year of experience.
  • communication application 120 may generate or recommend a preview of the resource that displays a portion containing the simplified schematic to the recipient.
  • a sender-based preview may comprise a preview that is determined by one or more user attributes associated with the sender. These attributes may be the same or similar to those described above with respect to recipient-based previews. For example, the preview may be generated or recommended based on access privileges associated with the sender. Instead or in addition, the preview may be generated or recommended based on the sender's position or responsibilities with an organization. Instead or in addition, the preview may be generated or recommended based on the sender's predicted level of understanding of a topic being discussed. Instead or in addition, the preview may be generated or recommended based on the sender's interests.
  • An environment-based preview may comprise a preview that is determined by at least one of the application being used for communication by the sender or the recipient, the device being used for communication by the sender or the recipient, the communication format being used by the sender or the recipient, or the content of the communication session. If the environment-based preview is determined by the application being used for communication by the sender or the recipient, communication application 120 may generate a resource preview tailored to the application being used. For example, if the application being used for communication by the recipient only supports text-based messaging, the preview generated for the recipient may contain only text. Instead or in addition, if the environment-based preview is determined by the device being used for communication by the sender or the recipient, communication application 120 may generate a resource preview tailored to the device being used.
  • the preview generated for the recipient may have a low resolution.
  • communication application 120 may generate a resource preview tailored to the format being used. For example, if the recipient has enabled a hands-free mode on their device for use while operating a car, the preview generated for the recipient may be an audio file that is automatically played.
  • John and Jeff may be recipients of a communication 168 referencing a resource having text and a photograph. In this example, the photograph may take up a large amount of computer memory relative to the text.
  • John's device 180 may display a preview 174 e with both the text and the photograph because John's device is capable of receiving and displaying the text and the photograph (e.g., because John's device 180 has a high-bandwidth internet connection).
  • Jeff's device 184 may display a preview 174 f with the text and without the photograph because Jeff's device 184 is not capable of receiving and/or displaying the text and the photograph (e.g., because Jeff's device 184 has a low-bandwidth internet connection).
  • communication application 120 may generate a resource preview tailored to the content of the communication session. Accordingly, if the communication session has a word that appears shortly before the link to the resource, the preview generated for the recipient may be a portion of the resource that contains the word. An example of this is illustrated in FIG. 1B .
  • communication application 120 may determine that message 168 contains the word “peanuts.”
  • Communication application 120 may search the referenced resource (e.g., a recipe) for a portion containing the word “peanuts” and display a preview 174 of the resource that contains the word “peanuts” (e.g., the ingredients list).
  • communication application 120 may recommend one or more previews to the sender requesting that a link associated with a resource be sent from the sender to the recipient. These previews may be generated before being recommended to the sender. The preview may be generated for recommendation using one or more of the methods consistent with embodiments of the present disclosure.
  • a recommendation-setting profile associated with the sender or one or more intended recipients may be accessed to generate the resource preview recommendations.
  • the recommendation-setting profile may be similar to the preview-setting profile but may be used instead of or in addition to the preview-setting profile when making recommendations for resource previews.
  • the sender may be given the option of selecting and, in some embodiments, modifying or designating the preview they want displayed to one or more recipients.
  • communication application 120 may display one or more previews that are associated with each recipient to the sender. For example, if the sender is chatting with a first and second recipient, communication application 120 may display one set of previews for selection by the sender to display to the first recipient and display a second set of previews for selection by the sender to display to the second recipient.
  • the sender may select icon 172 to alter preview settings.
  • the sender may designate a particular portion of a resource to display as a preview to one or more recipients.
  • the sender may designate different portions for display as previews to different recipients.
  • communication application 120 may recommend resources to send or display a link to and preview for when a sender composes a communication, when the sender has finished composing a communication, or when the recipient receives the communication. This may be done based on the recommendation-setting profile, which may comprise content of the communication and/or user attributes associated with the sender and/or one or more intended recipients.
  • Communication application 120 may search web source 132 a, social media 132 b, and/or outside service 132 c for resources relevant to the composed communication using, for example, various information-hosting entities' APIs for resource retrieval and/or updating. The discovered resources may be recommended to the sender or the recipient.
  • the resources may be recommended based on popularity on social media, indexing data created by web-based search engines, or popularity with a subset of users (e.g., users belonging to a particular organization).
  • Discovered resources may be based on their publication dates or times (e.g., recommending the most recently published or updated resource), reputation, or known verifiable notoriety (e.g., published academic journals or online encyclopedias).
  • senders may temporarily or permanently confer their own credentials for accessing the resource they reference in a communication on one or more recipients of the communication. Senders may temporarily or permanently confer their own credentials for viewing a preview of the resource they are referencing in a communication on one or more recipients of the communication.
  • Authentication services may be provided by communication application 120 , by the entity hosting the resource, or both.
  • Communication application 120 may prompt the sender to specify how to handle previews displayed to users if communication application 120 determines that a preview would otherwise be displayed to a recipient who does not have the ability because of, for example, credentials or device type, to view the preview. This prompt may occur before or after the communication is sent to recipients.
  • the recipient may be asked to provide credentials to view a preview that requires authentication.
  • the user may submit credentials when starting communication application 120 , the communication session, receiving the preview, and/or at another time.
  • the link to a resource displayed in a received communication may be updated by communication application 120 after the communication is received if communication application 120 determines that an updated version of the resource exists.
  • communication application 120 may use an API provided by web source 132 a or other information-hosting entity to request an updated link to updated versions of the received resource.
  • communication application 120 may update the preview if it determines that the previously displayed preview no longer applies to the updated resource.
  • communication application 120 may send an e-mail to a recipient if he or she was not participating or present in the communication session when a communication was sent.
  • Communication application 120 may include an input module 202 , a communication-processing module 204 , and an output module 208 . Some or all of these modules can be software modules. These components can also be split between chat service client 120 a (hosted on a user device, such as user device 106 ) and communication-service server 120 b (hosted on a server, such as communication server 108 ). Communication application 120 may be coupled with database 126 . Database 126 can be hosted on the same system that operates chat application 120 or hosted on a different system.
  • Input module 202 can receive data of a new communication (e.g. new chat message 162 ) from, for example, device 102 .
  • the communication may include at least one of text data, image data, video data, or audio data.
  • input module 202 can receive the communication via a network interface (not shown) of user device 102 .
  • Input module 202 can receive data from a recipient's device (e.g., a device which is to receive the communication).
  • the data may include, for example, the model number of the recipient's device, the operating mode of the recipient's device, and activity or interest data associated with the recipient.
  • Input module 202 can transmit the data of the new communication to communication-processing module 204 for processing.
  • Communication-processing module 204 can process the communication data to extract content information for determining what preview to generate for a resource referred to in the communication.
  • communication-processing module 204 can perform natural language processing (NLP) on the text data included in the communication.
  • NLP natural language processing
  • the processing may include, for example, morphological segmentation, part-of-speech tagging, etc.
  • communication-processing module 204 may derive a set of words from the communication data that are determined to best represent the information content of the communication data.
  • Communication-processing module 204 can obtain metadata associated with the referenced resource or generate descriptive data for the referenced resource by computer analysis of the resource using technologies such as Computer Vision, Artificial Intelligence, and Machine Learning.
  • communication-processing module 204 can provide the processed data to an interest determination module (not shown) to determine a likelihood of a user being interested in words or topics in the communication.
  • Communication-processing module 204 can store the processed data in database 126 .
  • Communication-processing module 204 can associate the processed data with other information.
  • the information may include, for example, an identifier of the user who generated the communication data, a time point at which the user generated the communication data, etc.
  • Communication-processing module 204 can store the associated information in database 126 .
  • communication-processing module 204 may receive a preview-setting profile from database 126 and it may process the communication based on data contained in the preview-setting profile.
  • the preview-setting profile comprises a sender-based preview setting (e.g., a setting specifying that the preview should be a sender-based preview)
  • communication-processing module may process the sender's activity to determine the sender's interests instead of or in addition to processing the recipient's activity to determine the recipient's interests.
  • Communication-processing module 204 may process a recommendation-setting profile in addition to or instead of a preview-setting profile. In some embodiments, communication-processing module 204 may process the recommendation-setting profile in a manner similar to how it processes preview-setting profile.
  • Output module 208 may receive a preview-setting profile. Output module 208 may receive the preview-setting profile and/or recommendation-setting profile from database 126 or communication-processing module 204 . Output module 208 can generate or recommend one or more previews of a resource referenced in the communication based on the preview-setting profile. In some embodiments, output module 208 can generate a recommendation of a preview of a resource or a recommendation of a resource based on the recommendation-setting profile.
  • FIG. 3A is a flow chart illustrating an example of a method 300 for generating a resource preview in a communication session.
  • the steps associated with this example process can be performed by the components of, for example, FIG. 2 .
  • the flow chart of FIG. 3A discloses the steps in a particular order, it will be understood that at least some of the steps can be moved, modified, or deleted where appropriate, consistent with the teachings of the present disclosure.
  • Method 300 may comprise receiving a link associated with a resource from a sender to a recipient (step 301 ).
  • Method 300 may comprise displaying a resource preview as a function of the received link and a stored preview-setting profile (step 302 ).
  • the preview-setting profile may comprise at least one of a recipient-based preview setting, an environment-based preview setting, or a sender-based preview setting.
  • Displaying the resource preview may comprise generating the resource preview based on at least one of a received recipient profile, data derived from a communication session, data derived from an environment associated with the recipient, a received sender profile, or a received sender selection. It is to be understood that “displaying” may refer to any manner of providing information, such as playing audio containing the information.
  • FIG. 3B is a flowchart illustrating an example of a method 306 for generating a resource preview in a communication session.
  • the steps associated with this example process can be performed by components of, for example, FIG. 2 .
  • the flow chart of FIG. 3B discloses the steps in a particular order, it will be understood that at least some of the steps can be moved, modified, or deleted where appropriate, consistent with the teachings of the present disclosure.
  • Method 306 may comprise step 308 , which may be substantially similar to step 301 described above with respect to method 300 .
  • Method 300 may comprise retrieving or receiving the resource (step 310 ).
  • the resource may be received from, for example, web source 132 a, social media 132 b, or outside service 132 c.
  • Method 306 may comprise generating a resource preview (step 312 ).
  • the resource preview may be generated by, for example, output module 208 , using one or more disclosed methods.
  • the resource preview may be generated as a function of the received link and a stored preview-setting profile.
  • Method 306 may comprise step 314 , which may be substantially similar to step 302 described above with respect to method 300 .
  • FIG. 3C is a flowchart illustrating an example of a method 316 for generating a resource preview in a communication session.
  • the steps associated with this example process can be performed by components of, for example, FIG. 2 .
  • the flow chart of FIG. 3C discloses the steps in a particular order, it will be understood that at least some of the steps can be moved, modified, or deleted where appropriate, consistent with the teachings of the present disclosure.
  • Method 316 may comprise storing a recommendation-setting profile comprising at least one of a sender-based recommendation setting, an environment-based recommendation setting, or a recipient-based recommendation setting (step 318 ).
  • the recommendation-setting profile may be stored in, for example, database 126 .
  • Method 316 may comprise analyzing a communication the sender is composing, has begun sending, or has previously sent (step 319 ). In some embodiments, step 319 may not be performed or may be optional.
  • Method 316 may comprise generating a resource recommendation based on at least the recommendation-setting profile (step 320 ).
  • the resource recommendation may be generated by, for example, output module 208 , using one or more disclosed methods.
  • the resource recommendation may be generated by analyzing the communication the sender is composing, has begun sending, or has previously sent.
  • Method 306 may comprise displaying the resource recommendation (step 322 ). It is to be understood that “displaying” may refer to any manner of providing information, such as playing audio containing the information.
  • FIG. 4 is a block diagram that illustrates an example of computing system 400 suitable for implementing the disclosed systems and methods.
  • System 400 may include a communication server 108 .
  • Communication server 108 may include email interface 403 operably connected to a server, such as an external email server 405 .
  • Communication server 108 may include an SMS interface 407 operably connected to a server, such as an external SMS server 409 .
  • email server 405 may reside on communication server 108 or on the same server farm as communication server 108 .
  • SMS server 409 may reside on communication server 108 or on the same server farm as communication server 108 .
  • communication server 108 may include at least one processor, e.g., processor 411 .
  • Processor 411 may be operably connected to email interface 403 , SMS interface 407 , one or more databases (e.g., database 126 ), one or more storage devices (e.g., storage device 413 ), an input/output module 417 , memory 419 , and/or other components of communication server 108 .
  • Email interface 403 , SMS interface 407 , and/or one or more processors 411 may comprise separate components or may be integrated in one or more integrated circuits.
  • I/O module 417 may be operably connected to a keyboard, mouse, touch screen controller, and/or other input controller(s) (not shown).
  • Other input/control devices connected to I/O module 417 may include one or more buttons, rocker switches, thumb-wheel, infrared port, USB port, and/or a pointer device such as a stylus.
  • Processor 411 may be operably connected to memory 419 .
  • Memory 419 may include high-speed random access memory and/or non-volatile memory, such as one or more magnetic disk storage devices, one or more optical storage devices, and/or flash memory (e.g., NAND, NOR).
  • Memory 419 may include one or more programs 421 .
  • memory 419 may store an operating system 425 , such as DRAWIN, RTXC, LINUX, iOS, UNIX, OS X, WINDOWS, or an embedded operating system such as VXWorkS.
  • Operating system 425 may include instructions for handling basic system services and for performing hardware dependent tasks.
  • operating system 425 may comprise a kernel (e.g., a UNIX kernel).
  • Memory 419 may store one or more server applications 423 to facilitate communicating with one or more additional devices, one or more computers, and/or one or more servers.
  • Server applications 423 may include instructions to execute one or more of the disclosed methods.
  • Memory 419 may store data 427 .
  • Data 427 may include transitory data used during instruction execution.
  • Data 427 may include data recorded for long-term storage.
  • At least some of the above identified instructions and applications may correspond to a set of instructions for performing one or more functions described above. These instructions need not be implemented as separate software programs, procedures, or modules. Memory 419 may include additional instructions or fewer instructions.
  • Various functions of communication server 108 may be implemented in hardware and/or in software, including in one or more signal processing and/or application-specific integrated circuits.
  • Network interface 429 may be configured for communications over Ethernet, radio frequency, and/or optical (e.g., infrared) frequencies.
  • the specific design and implementation of network interface 429 may depend on the communication network(s) over which communication server 108 is intended to operate.
  • communication server 108 may include wireless/wired network interface 429 that is designed to operate over a GSM network, a GPRS network, an EDGE network, a Wi-Fi or WiMax network, and/or a Bluetooth® network.
  • communication server 108 includes wireless/wired network interface 429 that is designed to operate over a TCP/IP network.
  • network 130 may be any appropriate computer network compatible with network interface 429 .
  • Communication functions may be facilitated through one or more telephone interfaces (e.g., interface 433 ).
  • telephone interface 433 may be configured for communication with a telephone server 435 .
  • Telephone server 435 may reside on communication server 108 or on the same server farm as communication server 108 .
  • server 400 may be coupled by one or more communication buses or signal lines (not shown).

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Systems and methods are provided for generating a resource preview in a communication session. The systems and methods may include receiving a link associated with a resource from a sender to a recipient. The systems and method may further include displaying a resource preview as a function of the received link and a stored preview-setting profile. The preview-setting profile may include a recipient-based preview setting, an environment-based preview setting, or a sender-based preview setting.

Description

    TECHNICAL FIELD
  • The present disclosure relates to the field of telecommunications, and more specifically, to systems and methods for generating a resource preview in a communication session.
  • BACKGROUND
  • Communication software applications, such as a chat application, provide a platform for multiple users to communicate with each other remotely in a communication session across a network. One user—a sender—in the communication session may want to share a resource with another user—a recipient. The resource may be, for example, a document or a website. The sender may provide the recipient with a link to the resource that may be selected by the recipient to access the resource. When the sender sends the link and/or when the recipient receives the link, the communication software may display information from or about the resource to the recipient. The information from or about the resource may be a preview of the resource. But existing communication systems fail to tailor previews to individual users viewing the previews, resulting in generic previews or no previews being displayed if, for example, some users may not be authorized to view the preview.
  • SUMMARY
  • Presently disclosed embodiments are directed to systems and methods for generating a resource preview in a communication session and generating a resource recommendation in a communication session. In one embodiment, a method for generating a resource preview in a communication session may include receiving a link associated with a resource from a sender to a recipient and displaying a resource preview as a function of the received link and a stored preview-setting profile. In some embodiments, the preview-setting profile may comprise at least one of a recipient-based preview setting, an environment-based preview setting, or a sender-based preview setting. In some embodiments, displaying the resource preview may comprise generating the resource preview based on at least one of a received recipient profile, data derived from a communication session, data derived from an environment associated with the recipient, a received sender profile, or a received sender selection. In some embodiments, the displaying may be performed by a chat application. In some embodiments, the preview-setting profile may be associated with at least one of the sender or the recipient. In some embodiments, the environment-based preview setting may comprise a setting to display a resource preview based on the content of the communication session. In some embodiments, the method may also include displaying the link, determining that the resource was updated, and updating the link and/or providing credentials from the sender to recipient, wherein the credentials permit temporary or permanent access to the resource for the recipient. In some embodiments, displaying the resource preview may comprise displaying the resource preview as a function of the recipient's credentials. The resource recommendation may also be displayed as a function of a recommendation-setting profile.
  • In another embodiment, a method for generating a resource recommendation in a communication session may include storing a recommendation-setting profile comprising at least one of a sender-based recommendation setting, an environment-based recommendation setting, or a recipient-based recommendation setting; displaying a resource recommendation as a function of the recommendation-setting profile and receiving a request to send a link associated with a resource from a sender to a recipient. In some embodiments, displaying the resource recommendation may comprise generating the resource recommendation based on at least one of a received sender profile, data derived from a chat session, data derived from an environment associated with the sender, or a received recipient profile. In some embodiments, the displaying may be performed by a chat application. In some embodiments, the recommendation-setting profile may be associated with at least one of the sender or the recipient. In some embodiments, the request may be associated with a communication session and the environment-based recommendation setting may comprise a setting to display a resource recommendation based on the content of the communication session. In some embodiments, the method may include displaying the link, determining that the resource was updated, and updating the link and/or providing credentials from the sender to recipient, wherein the credentials may permit access to the resource. In some embodiments, displaying the resource recommendation may comprise displaying the resource recommendation as a function of the recipient's credentials. A resource preview may also be displayed as a function of a preview-setting profile.
  • In another embodiment, a system for generating a resource preview in a communication session may include at least one memory device storing computer-executable instructions and at least one processor configured to execute the stored instructions to receive a link associated with a resource from a sender to a recipient and display a resource preview as a function of the received link and a stored preview-setting profile.
  • Consistent with yet other disclosed embodiments, non-transitory computer-readable storage media can store program instructions, which are executed by at least one processor device to perform any of the methods described herein.
  • The foregoing general description and the following detailed description are explanatory only and are not restrictive of the claims.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate several embodiments and, together with the description, serve to explain the disclosed principles. In the drawings:
  • FIG. 1A is a diagram of an example of a system environment for a communication service, consistent with the disclosed embodiments;
  • FIG. 1B is a diagram of an example of operation of a communication-service client, consistent with the disclosed embodiments;
  • FIG. 1C is a diagram of an example of operation of a communication-service client, consistent with the disclosed embodiments;
  • FIG. 1D is a diagram of an example of operation of a communication-service client, consistent with the disclosed embodiments;
  • FIG. 1E is a diagram of an example of operation of a communication-service client, consistent with the disclosed embodiments;
  • FIG. 2 is a diagram illustrating an example of an architecture of a communication application, consistent with disclosed embodiments;
  • FIG. 3A is a flow chart illustrating an example of a method for generating a resource preview in a communication session, consistent with disclosed embodiments;
  • FIG. 3B is a flow chart illustrating an example of a method for generating a resource preview in a communication session, consistent with disclosed embodiments;
  • FIG. 3C is a flow chart illustrating an example of a method for generating a resource preview in a communication session, consistent with disclosed embodiments; and
  • FIG. 4 is a diagram illustrating an example of a computing system.
  • DETAILED DESCRIPTION
  • Existing communication systems, such as chat and collaboration systems, may treat all users the same when generating previews for resources shared over the communication system (e.g., documents or websites). Consequently, the same preview of a resource may be presented to all users with whom a link to the resource is shared. Such system may not, for example, consider the different levels of access to the resource that may be afforded to different users based upon their unique roles, interests, levels of understanding, or permissions within an organization.
  • Existing communication systems fail to tailor previews to individual users viewing the previews. Existing systems may only display previews for resources that all users who may view the previews are authorized to view. This may limit the content that can be previewed. For example, if a user references a resource by sending a link to the resource and that resource requires other users to login and authenticate with a service to access it, then the preview system may provide a generic representation of the resource, such as text of a Uniform Resource Locator (URL), specifying a network location at which the resource may be located.
  • A communication system that tailors previews of resources to individual users may allow users to see portions of resources that are, for example, of most interest to them and that they are authorized to see. The previews may be presented in a format useful for consumption by the user (e.g., text or audio). The communication system may redact portions of resources and/or may generate summaries of varying degrees of complexity or detail for presentation to one or more users.
  • Other features and advantages of the present embodiments are discussed in further detail below with respect to the figures.
  • FIG. 1A is a diagram of an example of a system environment 100 for a communication service, such as a chat service, consistent with embodiments of the present disclosure. A communication service can be provided to user devices 102, 104, and 106 (e.g., smart phones). The communication service may allow users of the devices to communicate with each other over a communication session. The users may communicate via, for example, chat messages. The users may communicate remotely over network 130 via a communication server 108. The communication service can be provided by a communication application 120, illustrated in FIG. 2. Communication application 120 may be run on a communication-service client 120 a and/or a communication-service server 120 b. Communication-service client 120 a can operate on user devices 102, 104, and 106. Communication-service server 120 b can operate on communication server 108.
  • As discussed below with respect to FIG. 1B, communication-service client 120 a may display a preview of a resource referenced in the communication session. For example, communication-service client 120 a may display an excerpt or a portion of a document when one user (i.e., sender) sends a link to the document to another user (i.e., recipient) or users (i.e., recipients). Generating the preview or a recommendation for the preview may comprise accessing data from a database 126. It is to be understood that database 126 may be one or more databases. The data stored in database 126 may comprise data from a current communication session and/or one or more previous communication sessions. Communication application 120 may access database 126 to retrieve stored communication sessions and analyze them to determine what resource preview to generate or recommend. In some embodiments, some of this analysis may be performed when previous communication sessions are stored in database 126 or at another time. For example, an index that pairs words found in communication sessions to the communication sessions in which they are found may be created or updated when the communication session is stored in database 126.
  • Generating the preview, a recommendation for the preview, or a recommendation of a resource may comprise accessing database 126 to retrieve stored user-attribute data. User-attribute data may describe one or more characteristics about a given sender or recipient. User attributes for users may include, for example, their access privileges to various types of resources, their positions or responsibilities within an organization, their security clearance levels or access credentials, their interests, their training or academic qualifications, their professional expertise in the subject matter of the preview, their involvement with the subject matter of the preview, and/or their levels of understanding of various subjects. Generating the preview, a recommendation for the preview, or a recommendation of a resource may also comprise accessing database 126 to retrieve stored user-activity data. User-activity data may describe the activities in which a given sender or recipient participates in, such as a user's online activity. By tracking the user's, for example, online activity, the system may create user-attribute data, such as by finding words that commonly appear on websites accessed by the user or that appear in the user's search queries.
  • Generating the preview, a recommendation for the preview, or a recommendation of a resource may comprise accessing data from sources in addition to or instead of those storing previous communication sessions. For example, communication application 120 may access internet-based sources, such as a website (“web source 132 a”), a social-media platform (“social media 132 b”), or a data-aggregation service (“outside service 132 c”), such as a Real Simple Syndication (RSS) feed. In some embodiments, resource previews may be generated by communication application 120. In some embodiments, resource previews may be generated by the entity hosting the resource and the preview made available to communication application 120 by the entity.
  • In some embodiments, communication application 120 may access a service registry 134 to facilitate operations such as user authentication and generating a resource preview, recommending resource previews, or recommending a resource. Because access to the resource may be restricted by the entity hosting the resource, communication application 120 may need to authenticate one or more users with the entity before generating a preview of a resource, recommending a preview of the resource, or recommending a resource. Entities hosting resources may require different authentication Application Programing Interfaces (APIs) for requesting previews of resources. Service registry 134 may provide communication application 120 with the information necessary to gain access to the desired resource (e.g., authentication information). Entities hosting resources may have different Universal Resource Indicator formats for specifying resources. Service registry 134 may provide communication application 120 with the information necessary to specify which resource or resources communication application 120 needs to generate a preview for. Service registry 134 may use one or more established protocols to monitor or broker interactions between communication application 120 and entities hosting resources to automatically update itself with information communication application 120 may need to access resources from the entities in the future. Such protocols may include, for example, proxy APIs accessed via HTTP, Webhooks accessed via HTTP, REST hooks accessed via HTTP, pub/sub event subscription APIs accessed via Web sockets. One or more users may edit entries in service registry 134 through an interface.
  • It should be noted that the term “user” is being used in the interest of brevity and may refer to any of a variety of entities that may be associated with a subscriber account such as, for example, a person, a bot or artificial intelligent (AI) agent, an organization, an organizational role within an organization, a group within an organization, etc. The user devices can include a variety of devices, such as mobile phones, landline phones, Voice over IP (VoIP) phones, gateways, audio and/or video conferencing devices, gaming consoles, personal computers, laptops, smartwatches, or tablets. The user devices may be installed with software that supports conferencing, such as web browsers, a web-based real time communications (WebRTC) client application, a mobile app, or the like.
  • FIG. 1B illustrates an example of operation of communication-service client 120 a, consistent with embodiments of the present disclosure. Communication-service client 120 a may operate on a user device (e.g., user device 102) to provide a display interface 122. Display interface 122 can display the content of, for example, chat messages. Content of chat messages may comprise, for example, text, image, and/or video content. Communication-service client 120 a may also provide an input interface 124 for submitting chat messages. A user may submit a message by, for example, entering text into text box 176 and submitting the entered text to other users by selecting Enter button 124.
  • Consistent with embodiments of the present disclosure, a user in the communication session (e.g., a sender) may want to share a resource with one or more users (e.g., recipients). The sender may be referred to as sender 173, illustrated in FIG. 1B with an image of a fictional user, Jason. The recipients may be referred to as recipients 178 a and 178 b, illustrated in FIG. 1B with images of fictional users Jeff and John, respectively. The resource may be, for example, a document or a website. Interface 122 may display a link to the resource, such as link 170. When sender 173 sends a reference to the resource, such as link 170, and/or when one or more recipients receives link 170, communication-service client 120 a may display information from or about the resource to the recipient, such as a preview of the resource. For example, if the resource is a document, communication-service client 120 a may display a portion of or an excerpt from the document (“preview 174”). The recipient may access the resource by selecting link 170 within communication-service client 120 a. Preview 174 may conform to a standard such as oEmbed. Preview 174 may be automatically displayed when message 168 is received, when a user hovers a cursor over it, when a user selects it, when a user performs a touch gesture, and/or when a user otherwise instructs communication application 120 to display preview 174.
  • Consistent with embodiments of the present disclosure, preview 174 may be generated or recommended based on one or more factors analyzed by communication application 120. Preview 174 may be generated and displayed to the recipient without any selections being made by the sender or recipient regarding what preview to display. In some embodiments, one or more previews may be generated and then recommended to the sender or the recipient. Such a recommendation may be, for example, a request that the sender or recipient select a preview to display from a set of multiple previews or a request to approve a single preview for display. The factors may be related to at least one of the recipient, the sender, or the environment. When the considered factors are related to the recipient, the preview may be considered a “recipient-based preview.” When the considered factors are related to the sender, the preview may be considered a “sender-based preview.” When the considered factors are related to the environment, the preview may be considered an “environment-based preview.” Communication application 120 may be configured to use the factors specified in a preview-setting profile. The preview-setting profile may be a profile associated with a user, such as a sender requesting to send a link to a resource to a recipient. The preview-setting profile may be a profile associated with a recipient receiving a communication from the sender that contains a reference to a resource. The preview-setting profile may specify how the resource preview is to be generated and/or displayed. In some embodiments, the preview-setting profile may be a profile associated with an environment of a recipient receiving a communication from the sender that contains a reference to a resource.
  • A recipient-based preview may comprise a preview that is determined by one or more user attributes associated with the recipient. One such user attribute may be access privileges associated with the recipient. Access privileges may comprise credentials, security clearance, or authentication information stored in service registry 134 in association with the recipient. For example, the recipient's credentials may permit the user to only see certain portions of a resource. If the recipient-based preview is determined at least in part by authentication information associated with the recipient, the generated or recommended preview of the resource may contain only those portions of the resource that the recipient may view in accordance with his or her credentials. In an embodiment illustrated in FIG. 1C, John and Jason may be recipients of a communication 168 referencing a resource having classified information. John's device 180 may display the secret code “12345” in preview 174 a because John has the proper credentials, clearance, or authentication information to see the secret code. Jason's device 182 may display a preview 174 b with the secret code redacted because Jason does not have the proper credentials, clearance, or authentication information to see the information. Jason's device may be considered to be displaying a portion of the resource (i.e., the portion that is not redacted and that contains the redacted secret code).
  • Instead or in addition, the recipient's position or responsibilities within an organization may be used as a user attribute for generating or recommending a preview. For example, if the recipient is an architect in a building-construction firm receiving a link to a document describing a proposal for a new building, the preview displayed to the architect may be a portion of the document pertaining to the architecture of the building instead of, for example, financing details. In an embodiment illustrated in FIG. 1D, John and Jeff may be recipients of a communication 168 referencing a resource having an architectural schematic and a financial chart. John's device 180 may display a preview 174 c with the architectural schematic because John is an architect. Jeff's device 184 may display a preview 174 d with a financial chart because Jeff is a finance employee.
  • Instead or in addition, the recipient's interests may be used as a user attribute for generating or recommending a preview. Interests associated with a user may be determined from, for example, words appearing often in the user's chat messages, words appearing often on webpages visited by the user, or words appearing often in the user's search queries in online search engines or search mechanisms within the user's organization's Information Technology system. In some embodiments, words may be stored in database 126 with a timestamp reflecting when a word was last encountered in the user-interest analysis. In this case, words that were encountered more recently (e.g., words used in a search query by the user more recently than others) may be scored higher than other words even if the other words were encountered more times. Based on this analysis, communication application 120 may generate or recommend a preview of a resource that is a portion thereof and that contains a word associated with the recipient and his or her interest. Instead or in addition, the recipient's predicted level of understanding of a resource being shared or a topic being discussed may be used as a user attribute for generating or recommending a preview. The user's level of understanding may be predicted from data describing, for example, the amount of experience a user has at a company. For example, database 126 may contain user-attribute data indicating that the recipient is, for example, an engineer with only one year of experience. In this case, if a resource containing a simplified schematic and a full-detail schematic of a circuit is referenced by a sender in a conversation using the word “schematic” multiple times, communication application 120 may generate or recommend a preview of the resource that displays a portion containing the simplified schematic to the recipient.
  • A sender-based preview may comprise a preview that is determined by one or more user attributes associated with the sender. These attributes may be the same or similar to those described above with respect to recipient-based previews. For example, the preview may be generated or recommended based on access privileges associated with the sender. Instead or in addition, the preview may be generated or recommended based on the sender's position or responsibilities with an organization. Instead or in addition, the preview may be generated or recommended based on the sender's predicted level of understanding of a topic being discussed. Instead or in addition, the preview may be generated or recommended based on the sender's interests.
  • An environment-based preview may comprise a preview that is determined by at least one of the application being used for communication by the sender or the recipient, the device being used for communication by the sender or the recipient, the communication format being used by the sender or the recipient, or the content of the communication session. If the environment-based preview is determined by the application being used for communication by the sender or the recipient, communication application 120 may generate a resource preview tailored to the application being used. For example, if the application being used for communication by the recipient only supports text-based messaging, the preview generated for the recipient may contain only text. Instead or in addition, if the environment-based preview is determined by the device being used for communication by the sender or the recipient, communication application 120 may generate a resource preview tailored to the device being used. For example, if a communication device used by the recipient is a small-screen device, the preview generated for the recipient may have a low resolution. Instead or in addition, if the environment-based preview is determined by the format being used by the sender or the recipient, communication application 120 may generate a resource preview tailored to the format being used. For example, if the recipient has enabled a hands-free mode on their device for use while operating a car, the preview generated for the recipient may be an audio file that is automatically played. In an embodiment illustrated in FIG. 1E, John and Jeff may be recipients of a communication 168 referencing a resource having text and a photograph. In this example, the photograph may take up a large amount of computer memory relative to the text. John's device 180 may display a preview 174 e with both the text and the photograph because John's device is capable of receiving and displaying the text and the photograph (e.g., because John's device 180 has a high-bandwidth internet connection). Jeff's device 184 may display a preview 174 f with the text and without the photograph because Jeff's device 184 is not capable of receiving and/or displaying the text and the photograph (e.g., because Jeff's device 184 has a low-bandwidth internet connection).
  • Instead or in addition, if the environment-based preview is determined by the content of the communication session, communication application 120 may generate a resource preview tailored to the content of the communication session. Accordingly, if the communication session has a word that appears shortly before the link to the resource, the preview generated for the recipient may be a portion of the resource that contains the word. An example of this is illustrated in FIG. 1B. When sender 173 sends message 168, requesting that a link associated with a resource be sent from the sender to recipients 178 a and 178 b, communication application 120 may determine that message 168 contains the word “peanuts.” Communication application 120 may search the referenced resource (e.g., a recipe) for a portion containing the word “peanuts” and display a preview 174 of the resource that contains the word “peanuts” (e.g., the ingredients list).
  • In some embodiments, communication application 120 may recommend one or more previews to the sender requesting that a link associated with a resource be sent from the sender to the recipient. These previews may be generated before being recommended to the sender. The preview may be generated for recommendation using one or more of the methods consistent with embodiments of the present disclosure. In some embodiments, a recommendation-setting profile associated with the sender or one or more intended recipients may be accessed to generate the resource preview recommendations. The recommendation-setting profile may be similar to the preview-setting profile but may be used instead of or in addition to the preview-setting profile when making recommendations for resource previews. The sender may be given the option of selecting and, in some embodiments, modifying or designating the preview they want displayed to one or more recipients. In some embodiments, communication application 120 may display one or more previews that are associated with each recipient to the sender. For example, if the sender is chatting with a first and second recipient, communication application 120 may display one set of previews for selection by the sender to display to the first recipient and display a second set of previews for selection by the sender to display to the second recipient. The sender may select icon 172 to alter preview settings. The sender may designate a particular portion of a resource to display as a preview to one or more recipients. The sender may designate different portions for display as previews to different recipients.
  • In some embodiments, communication application 120 may recommend resources to send or display a link to and preview for when a sender composes a communication, when the sender has finished composing a communication, or when the recipient receives the communication. This may be done based on the recommendation-setting profile, which may comprise content of the communication and/or user attributes associated with the sender and/or one or more intended recipients. Communication application 120 may search web source 132 a, social media 132 b, and/or outside service 132 c for resources relevant to the composed communication using, for example, various information-hosting entities' APIs for resource retrieval and/or updating. The discovered resources may be recommended to the sender or the recipient. The resources may be recommended based on popularity on social media, indexing data created by web-based search engines, or popularity with a subset of users (e.g., users belonging to a particular organization). Discovered resources may be based on their publication dates or times (e.g., recommending the most recently published or updated resource), reputation, or known verifiable notoriety (e.g., published academic journals or online encyclopedias).
  • In some embodiments, senders may temporarily or permanently confer their own credentials for accessing the resource they reference in a communication on one or more recipients of the communication. Senders may temporarily or permanently confer their own credentials for viewing a preview of the resource they are referencing in a communication on one or more recipients of the communication. Authentication services may be provided by communication application 120, by the entity hosting the resource, or both. Communication application 120 may prompt the sender to specify how to handle previews displayed to users if communication application 120 determines that a preview would otherwise be displayed to a recipient who does not have the ability because of, for example, credentials or device type, to view the preview. This prompt may occur before or after the communication is sent to recipients.
  • In some embodiments, the recipient may be asked to provide credentials to view a preview that requires authentication. The user may submit credentials when starting communication application 120, the communication session, receiving the preview, and/or at another time.
  • In some embodiments, the link to a resource displayed in a received communication may be updated by communication application 120 after the communication is received if communication application 120 determines that an updated version of the resource exists. For example, communication application 120 may use an API provided by web source 132 a or other information-hosting entity to request an updated link to updated versions of the received resource. In some embodiments, communication application 120 may update the preview if it determines that the previously displayed preview no longer applies to the updated resource.
  • While at least some described embodiments pertain to chat messages, similar systems may be implemented using other forms of communication, such as e-mail. In some embodiments, communication application 120 may send an e-mail to a recipient if he or she was not participating or present in the communication session when a communication was sent.
  • Reference is now made to FIG. 2, which illustrates an example of an architecture of communication application 120, consistent with embodiments of the present disclosure. Communication application 120 may include an input module 202, a communication-processing module 204, and an output module 208. Some or all of these modules can be software modules. These components can also be split between chat service client 120 a (hosted on a user device, such as user device 106) and communication-service server 120 b (hosted on a server, such as communication server 108). Communication application 120 may be coupled with database 126. Database 126 can be hosted on the same system that operates chat application 120 or hosted on a different system.
  • Input module 202 can receive data of a new communication (e.g. new chat message 162) from, for example, device 102. The communication may include at least one of text data, image data, video data, or audio data. In a case where input module 202 is a part of communication service server 120 b, input module 202 can receive the communication via a network interface (not shown) of user device 102. Input module 202 can receive data from a recipient's device (e.g., a device which is to receive the communication). The data may include, for example, the model number of the recipient's device, the operating mode of the recipient's device, and activity or interest data associated with the recipient. Input module 202 can transmit the data of the new communication to communication-processing module 204 for processing.
  • Communication-processing module 204 can process the communication data to extract content information for determining what preview to generate for a resource referred to in the communication. For example, communication-processing module 204 can perform natural language processing (NLP) on the text data included in the communication. The processing may include, for example, morphological segmentation, part-of-speech tagging, etc. As a part of the processing, communication-processing module 204 may derive a set of words from the communication data that are determined to best represent the information content of the communication data. Communication-processing module 204 can obtain metadata associated with the referenced resource or generate descriptive data for the referenced resource by computer analysis of the resource using technologies such as Computer Vision, Artificial Intelligence, and Machine Learning. In some embodiments, communication-processing module 204 can provide the processed data to an interest determination module (not shown) to determine a likelihood of a user being interested in words or topics in the communication.
  • Communication-processing module 204 can store the processed data in database 126. Communication-processing module 204 can associate the processed data with other information. The information may include, for example, an identifier of the user who generated the communication data, a time point at which the user generated the communication data, etc. Communication-processing module 204 can store the associated information in database 126. In some embodiments, communication-processing module 204 may receive a preview-setting profile from database 126 and it may process the communication based on data contained in the preview-setting profile. For example, if the preview-setting profile comprises a sender-based preview setting (e.g., a setting specifying that the preview should be a sender-based preview), communication-processing module may process the sender's activity to determine the sender's interests instead of or in addition to processing the recipient's activity to determine the recipient's interests. Communication-processing module 204 may process a recommendation-setting profile in addition to or instead of a preview-setting profile. In some embodiments, communication-processing module 204 may process the recommendation-setting profile in a manner similar to how it processes preview-setting profile.
  • Output module 208 may receive a preview-setting profile. Output module 208 may receive the preview-setting profile and/or recommendation-setting profile from database 126 or communication-processing module 204. Output module 208 can generate or recommend one or more previews of a resource referenced in the communication based on the preview-setting profile. In some embodiments, output module 208 can generate a recommendation of a preview of a resource or a recommendation of a resource based on the recommendation-setting profile.
  • FIG. 3A is a flow chart illustrating an example of a method 300 for generating a resource preview in a communication session. The steps associated with this example process can be performed by the components of, for example, FIG. 2. In the following description, reference is made to certain components of FIG. 2 for purposes of illustration. It will be understood, however, that other implementations are possible and that components other than those illustrated in FIG. 2 can be utilized to implement the example method of FIG. 3A. While the flow chart of FIG. 3A discloses the steps in a particular order, it will be understood that at least some of the steps can be moved, modified, or deleted where appropriate, consistent with the teachings of the present disclosure.
  • Method 300 may comprise receiving a link associated with a resource from a sender to a recipient (step 301). Method 300 may comprise displaying a resource preview as a function of the received link and a stored preview-setting profile (step 302). The preview-setting profile may comprise at least one of a recipient-based preview setting, an environment-based preview setting, or a sender-based preview setting. Displaying the resource preview may comprise generating the resource preview based on at least one of a received recipient profile, data derived from a communication session, data derived from an environment associated with the recipient, a received sender profile, or a received sender selection. It is to be understood that “displaying” may refer to any manner of providing information, such as playing audio containing the information.
  • FIG. 3B is a flowchart illustrating an example of a method 306 for generating a resource preview in a communication session. The steps associated with this example process can be performed by components of, for example, FIG. 2. In the following description, reference is made to certain components of FIG. 2 for purposes of illustration. It will be understood, however, that other implementations are possible and that components other than those illustrated in FIG. 2 can be utilized to implement the example method of FIG. 3B. While the flow chart of FIG. 3B discloses the steps in a particular order, it will be understood that at least some of the steps can be moved, modified, or deleted where appropriate, consistent with the teachings of the present disclosure.
  • Method 306 may comprise step 308, which may be substantially similar to step 301 described above with respect to method 300. Method 300 may comprise retrieving or receiving the resource (step 310). The resource may be received from, for example, web source 132 a, social media 132 b, or outside service 132 c. Method 306 may comprise generating a resource preview (step 312). The resource preview may be generated by, for example, output module 208, using one or more disclosed methods. For example, the resource preview may be generated as a function of the received link and a stored preview-setting profile. Method 306 may comprise step 314, which may be substantially similar to step 302 described above with respect to method 300.
  • FIG. 3C is a flowchart illustrating an example of a method 316 for generating a resource preview in a communication session. The steps associated with this example process can be performed by components of, for example, FIG. 2. In the following description, reference is made to certain components of FIG. 2 for purposes of illustration. It will be understood, however, that other implementations are possible and that components other than those illustrated in FIG. 2 can be utilized to implement the example method of FIG. 3C. While the flow chart of FIG. 3C discloses the steps in a particular order, it will be understood that at least some of the steps can be moved, modified, or deleted where appropriate, consistent with the teachings of the present disclosure.
  • Method 316 may comprise storing a recommendation-setting profile comprising at least one of a sender-based recommendation setting, an environment-based recommendation setting, or a recipient-based recommendation setting (step 318). The recommendation-setting profile may be stored in, for example, database 126. Method 316 may comprise analyzing a communication the sender is composing, has begun sending, or has previously sent (step 319). In some embodiments, step 319 may not be performed or may be optional. Method 316 may comprise generating a resource recommendation based on at least the recommendation-setting profile (step 320). The resource recommendation may be generated by, for example, output module 208, using one or more disclosed methods. In some embodiments, the resource recommendation may be generated by analyzing the communication the sender is composing, has begun sending, or has previously sent. Method 306 may comprise displaying the resource recommendation (step 322). It is to be understood that “displaying” may refer to any manner of providing information, such as playing audio containing the information.
  • FIG. 4 is a block diagram that illustrates an example of computing system 400 suitable for implementing the disclosed systems and methods. System 400 may include a communication server 108. Communication server 108 may include email interface 403 operably connected to a server, such as an external email server 405. Communication server 108 may include an SMS interface 407 operably connected to a server, such as an external SMS server 409. Although depicted as separate in FIG. 4, email server 405 may reside on communication server 108 or on the same server farm as communication server 108. Similarly, SMS server 409 may reside on communication server 108 or on the same server farm as communication server 108.
  • As depicted in FIG. 4, communication server 108 may include at least one processor, e.g., processor 411. Processor 411 may be operably connected to email interface 403, SMS interface 407, one or more databases (e.g., database 126), one or more storage devices (e.g., storage device 413), an input/output module 417, memory 419, and/or other components of communication server 108. Email interface 403, SMS interface 407, and/or one or more processors 411 may comprise separate components or may be integrated in one or more integrated circuits.
  • I/O module 417 may be operably connected to a keyboard, mouse, touch screen controller, and/or other input controller(s) (not shown). Other input/control devices connected to I/O module 417 may include one or more buttons, rocker switches, thumb-wheel, infrared port, USB port, and/or a pointer device such as a stylus.
  • Processor 411 may be operably connected to memory 419. Memory 419 may include high-speed random access memory and/or non-volatile memory, such as one or more magnetic disk storage devices, one or more optical storage devices, and/or flash memory (e.g., NAND, NOR). Memory 419 may include one or more programs 421.
  • For example, memory 419 may store an operating system 425, such as DRAWIN, RTXC, LINUX, iOS, UNIX, OS X, WINDOWS, or an embedded operating system such as VXWorkS. Operating system 425 may include instructions for handling basic system services and for performing hardware dependent tasks. In some implementations, operating system 425 may comprise a kernel (e.g., a UNIX kernel).
  • Memory 419 may store one or more server applications 423 to facilitate communicating with one or more additional devices, one or more computers, and/or one or more servers. Server applications 423 may include instructions to execute one or more of the disclosed methods.
  • Memory 419 may store data 427. Data 427 may include transitory data used during instruction execution. Data 427 may include data recorded for long-term storage.
  • At least some of the above identified instructions and applications may correspond to a set of instructions for performing one or more functions described above. These instructions need not be implemented as separate software programs, procedures, or modules. Memory 419 may include additional instructions or fewer instructions. Various functions of communication server 108 may be implemented in hardware and/or in software, including in one or more signal processing and/or application-specific integrated circuits.
  • Communication functions may be facilitated through one or more network interfaces (e.g., interface 429). Network interface 429 may be configured for communications over Ethernet, radio frequency, and/or optical (e.g., infrared) frequencies. The specific design and implementation of network interface 429 may depend on the communication network(s) over which communication server 108 is intended to operate. For example, in some embodiments, communication server 108 may include wireless/wired network interface 429 that is designed to operate over a GSM network, a GPRS network, an EDGE network, a Wi-Fi or WiMax network, and/or a Bluetooth® network. In some embodiments, communication server 108 includes wireless/wired network interface 429 that is designed to operate over a TCP/IP network. Accordingly, network 130 may be any appropriate computer network compatible with network interface 429.
  • Communication functions may be facilitated through one or more telephone interfaces (e.g., interface 433). For example, telephone interface 433 may be configured for communication with a telephone server 435. Telephone server 435 may reside on communication server 108 or on the same server farm as communication server 108.
  • The various components in server 400 may be coupled by one or more communication buses or signal lines (not shown).
  • In the foregoing specification, embodiments have been described with reference to numerous specific details that can vary between implementations. Certain adaptations and modifications of the described embodiments can be made. Other embodiments can be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and embodiments described herein be considered as exemplary only, with the true scope and spirit of the invention being indicated by the following claims. It is also intended that the sequence of steps shown in figures are only for illustrative purposes and are not intended to be limited to any particular sequence of steps. As such, those skilled in the art can appreciate that these steps can be performed in a different order while implementing the same method.
  • It will also be understood by those skilled in the art that changes in the form and details of the implementations described herein may be made without departing from the scope of this disclosure. In addition, although various advantages, aspects, and objects have been described with reference to various implementations, the scope of this disclosure should not be limited by reference to such advantages, aspects, and objects. Rather, the scope of this disclosure should be determined with reference to the appended claims.

Claims (20)

1. A method of generating a resource preview in a communication session, the method comprising:
receiving, on a device, a link from a sender to a recipient, wherein the link is associated with a resource;
storing a set of preview-setting profiles; and
displaying, on a device, a resource preview based on the received link and a selected one of the stored preview-setting profiles.
2. The method of claim 1, wherein the selected preview-setting profile comprises at least one of a recipient-based preview setting, an environment-based preview setting, or a sender-based preview setting.
3. The method of claim 2, wherein the environment-based preview setting comprises a setting to display a resource preview based on the content of the communication session.
4. The method of claim 1, wherein displaying the resource preview comprises generating the resource preview based on at least one of a received recipient profile, data derived from a communication session, data derived from an environment associated with the recipient, a received sender profile, or a received sender selection.
5. The method of claim 1, wherein the displaying is performed by a chat application.
6. The method of claim 1, wherein the selected preview-setting profile is associated with at least one of the sender or the recipient.
7. The method of claim 1, further comprising displaying the link, determining that the resource was updated, and updating the link.
8. The method of claim 1, further comprising providing credentials from the sender to recipient, wherein the credentials permit access to the resource.
9. The method of claim 1, wherein displaying the resource preview comprises displaying the resource preview as a function of the recipient's credentials.
10. The method of claim 1, further comprising displaying a resource recommendation as a function of a recommendation-setting profile.
11. A method of generating a resource recommendation in a communication session, the method comprising:
storing a recommendation-setting profile comprising at least one of a sender-based recommendation setting, an environment-based recommendation setting, or a recipient-based recommendation setting;
displaying, on a device, a resource recommendation as a function of the recommendation-setting profile; and
receiving, on a device, a request to send a link from a sender to a recipient, wherein the link is associated with a resource.
12. The method of claim 11, wherein displaying the resource recommendation comprises generating the resource recommendation based on at least one of a received sender profile, data derived from a chat session, data derived from an environment associated with the sender, or a received recipient profile.
13. The method of claim 11, wherein the displaying is performed by a chat application.
14. The method of claim 11, wherein the recommendation-setting profile is associated with at least one of the sender or the recipient.
15. The method of claim 11, wherein the request is associated with a communication session and the environment-based recommendation setting comprises a setting to display a resource recommendation based on the content of the communication session.
16. The method of claim 11, further comprising displaying the link, determining that the resource was updated, and updating the link.
17. The method of claim 11, further comprising providing credentials from the sender to recipient, wherein the credentials permit access to the resource.
18. The method of claim 11, wherein displaying the resource recommendation comprises displaying the resource recommendation as a function of the recipient's credentials.
19. The method of claim 11, further comprising displaying a resource preview as a function of a preview-setting profile.
20. A system for generating a resource preview in a communication session, the system comprising at least one memory device storing computer-executable instructions and at least one processor configured to execute the stored instructions to:
receive, on a device, a link from a sender to a recipient, wherein the link is associated with a resource;
store a set of preview-setting profiles; and
display, on a device, a resource preview based on the received link and a selected one of the stored preview-setting profiles.
US15/721,838 2017-09-30 2017-09-30 Systems and methods for generating a resource preview in a communication session Abandoned US20190102472A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/721,838 US20190102472A1 (en) 2017-09-30 2017-09-30 Systems and methods for generating a resource preview in a communication session
US18/355,606 US20230359690A1 (en) 2017-09-30 2023-07-20 Systems and methods for generating a resource preview in a communication session

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/721,838 US20190102472A1 (en) 2017-09-30 2017-09-30 Systems and methods for generating a resource preview in a communication session

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/355,606 Continuation US20230359690A1 (en) 2017-09-30 2023-07-20 Systems and methods for generating a resource preview in a communication session

Publications (1)

Publication Number Publication Date
US20190102472A1 true US20190102472A1 (en) 2019-04-04

Family

ID=65897784

Family Applications (2)

Application Number Title Priority Date Filing Date
US15/721,838 Abandoned US20190102472A1 (en) 2017-09-30 2017-09-30 Systems and methods for generating a resource preview in a communication session
US18/355,606 Pending US20230359690A1 (en) 2017-09-30 2023-07-20 Systems and methods for generating a resource preview in a communication session

Family Applications After (1)

Application Number Title Priority Date Filing Date
US18/355,606 Pending US20230359690A1 (en) 2017-09-30 2023-07-20 Systems and methods for generating a resource preview in a communication session

Country Status (1)

Country Link
US (2) US20190102472A1 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020247083A1 (en) * 2019-06-04 2020-12-10 Microsoft Technology Licensing, Llc Providing previews for uniform resource locators
CN113031885A (en) * 2021-03-22 2021-06-25 珠海奔图电子有限公司 File printing preview method and device and file printing system
CN114139049A (en) * 2021-11-19 2022-03-04 北京三快在线科技有限公司 Resource recommendation method and device
US11475071B2 (en) * 2019-03-29 2022-10-18 Salesforce, Inc. Configuring dynamic content previews
US20220405412A1 (en) * 2021-06-21 2022-12-22 Microsoft Technology Licensing, Llc Configuration of default sensitivity labels for network file storage locations
US20230244848A1 (en) * 2022-01-31 2023-08-03 Salesforce, Inc. Previews for collaborative documents
US11763258B2 (en) 2021-12-29 2023-09-19 Slack Technologies, Llc Workflows for documents
US20230385363A1 (en) * 2022-05-24 2023-11-30 Microsoft Technology Licensing, Llc Web site preview generation based on web site type
US20230385525A1 (en) * 2022-05-24 2023-11-30 Microsoft Technology Licensing, Llc Web site preview generation with action control
US11875081B2 (en) 2022-01-31 2024-01-16 Salesforce, Inc. Shared screen tools for collaboration
US11960817B2 (en) 2022-05-24 2024-04-16 Microsoft Technology Licensing, Llc Web site preview based on client presentation state
US12021805B2 (en) 2021-12-31 2024-06-25 Salesforce, Inc. Collaboration software development kit
US12019775B2 (en) 2022-01-31 2024-06-25 Salesforce, Inc. Managing permissions for collaborative shared documents

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060167992A1 (en) * 2005-01-07 2006-07-27 At&T Corp. System and method for text translations and annotation in an instant messaging session
US20100293230A1 (en) * 2009-05-12 2010-11-18 International Business Machines Corporation Multilingual Support for an Improved Messaging System
US7996673B2 (en) * 2004-05-12 2011-08-09 Echoworx Corporation System, method and computer product for sending encrypted messages to recipients where the sender does not possess the credentials of the recipient
US20110208822A1 (en) * 2010-02-22 2011-08-25 Yogesh Chunilal Rathod Method and system for customized, contextual, dynamic and unified communication, zero click advertisement and prospective customers search engine
US20140040059A1 (en) * 2012-07-31 2014-02-06 Delightfully Inc. Systems and methods for presenting and delivering digital gifts online
US20140129942A1 (en) * 2011-05-03 2014-05-08 Yogesh Chunilal Rathod System and method for dynamically providing visual action or activity news feed
US20140237626A1 (en) * 2009-05-20 2014-08-21 Evizone Ip Holdings, Ltd. Secure workflow and data management facility
US20140279647A1 (en) * 2013-03-15 2014-09-18 Parcelpoke Limited Administration system and method for product delivery
US9117062B1 (en) * 2011-12-06 2015-08-25 Amazon Technologies, Inc. Stateless and secure authentication
US20150278234A1 (en) * 2014-03-31 2015-10-01 Microsoft Corporation Inline web previews with dynamic aspect ratios
US9225690B1 (en) * 2011-12-06 2015-12-29 Amazon Technologies, Inc. Browser security module
US9584343B2 (en) * 2008-01-03 2017-02-28 Yahoo! Inc. Presentation of organized personal and public data using communication mediums
US20180191686A1 (en) * 2016-12-31 2018-07-05 Entefy Inc. System and method of presenting dynamically-rendered content in structured documents
US10380228B2 (en) * 2017-02-10 2019-08-13 Microsoft Technology Licensing, Llc Output generation based on semantic expressions

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996673B2 (en) * 2004-05-12 2011-08-09 Echoworx Corporation System, method and computer product for sending encrypted messages to recipients where the sender does not possess the credentials of the recipient
US20060167992A1 (en) * 2005-01-07 2006-07-27 At&T Corp. System and method for text translations and annotation in an instant messaging session
US9584343B2 (en) * 2008-01-03 2017-02-28 Yahoo! Inc. Presentation of organized personal and public data using communication mediums
US20100293230A1 (en) * 2009-05-12 2010-11-18 International Business Machines Corporation Multilingual Support for an Improved Messaging System
US20140237626A1 (en) * 2009-05-20 2014-08-21 Evizone Ip Holdings, Ltd. Secure workflow and data management facility
US20110208822A1 (en) * 2010-02-22 2011-08-25 Yogesh Chunilal Rathod Method and system for customized, contextual, dynamic and unified communication, zero click advertisement and prospective customers search engine
US20140129942A1 (en) * 2011-05-03 2014-05-08 Yogesh Chunilal Rathod System and method for dynamically providing visual action or activity news feed
US9117062B1 (en) * 2011-12-06 2015-08-25 Amazon Technologies, Inc. Stateless and secure authentication
US9225690B1 (en) * 2011-12-06 2015-12-29 Amazon Technologies, Inc. Browser security module
US20170187521A1 (en) * 2011-12-06 2017-06-29 Amazon Technologies, Inc. Browser security module
US20140040059A1 (en) * 2012-07-31 2014-02-06 Delightfully Inc. Systems and methods for presenting and delivering digital gifts online
US20140279647A1 (en) * 2013-03-15 2014-09-18 Parcelpoke Limited Administration system and method for product delivery
US20150278234A1 (en) * 2014-03-31 2015-10-01 Microsoft Corporation Inline web previews with dynamic aspect ratios
US20180191686A1 (en) * 2016-12-31 2018-07-05 Entefy Inc. System and method of presenting dynamically-rendered content in structured documents
US10380228B2 (en) * 2017-02-10 2019-08-13 Microsoft Technology Licensing, Llc Output generation based on semantic expressions

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11475071B2 (en) * 2019-03-29 2022-10-18 Salesforce, Inc. Configuring dynamic content previews
WO2020247083A1 (en) * 2019-06-04 2020-12-10 Microsoft Technology Licensing, Llc Providing previews for uniform resource locators
CN113031885A (en) * 2021-03-22 2021-06-25 珠海奔图电子有限公司 File printing preview method and device and file printing system
US11783073B2 (en) * 2021-06-21 2023-10-10 Microsoft Technology Licensing, Llc Configuration of default sensitivity labels for network file storage locations
US20220405412A1 (en) * 2021-06-21 2022-12-22 Microsoft Technology Licensing, Llc Configuration of default sensitivity labels for network file storage locations
CN114139049A (en) * 2021-11-19 2022-03-04 北京三快在线科技有限公司 Resource recommendation method and device
US11763258B2 (en) 2021-12-29 2023-09-19 Slack Technologies, Llc Workflows for documents
US12021805B2 (en) 2021-12-31 2024-06-25 Salesforce, Inc. Collaboration software development kit
US20230244848A1 (en) * 2022-01-31 2023-08-03 Salesforce, Inc. Previews for collaborative documents
US11727190B1 (en) * 2022-01-31 2023-08-15 Salesforce, Inc. Previews for collaborative documents
US11875081B2 (en) 2022-01-31 2024-01-16 Salesforce, Inc. Shared screen tools for collaboration
US12019775B2 (en) 2022-01-31 2024-06-25 Salesforce, Inc. Managing permissions for collaborative shared documents
US20230385363A1 (en) * 2022-05-24 2023-11-30 Microsoft Technology Licensing, Llc Web site preview generation based on web site type
US20230385525A1 (en) * 2022-05-24 2023-11-30 Microsoft Technology Licensing, Llc Web site preview generation with action control
US11960817B2 (en) 2022-05-24 2024-04-16 Microsoft Technology Licensing, Llc Web site preview based on client presentation state
US11983483B2 (en) * 2022-05-24 2024-05-14 Microsoft Technology Licensing, Llc Web site preview generation with action control

Also Published As

Publication number Publication date
US20230359690A1 (en) 2023-11-09

Similar Documents

Publication Publication Date Title
US20230359690A1 (en) Systems and methods for generating a resource preview in a communication session
US12032518B2 (en) Context-based file selection
CA3132019C (en) Document management and collaboration system
US10027727B1 (en) Facial recognition device, apparatus, and method
US10027726B1 (en) Device, apparatus, and method for facial recognition
US10778734B1 (en) Systems and methods for initiating processing actions utilizing automatically generated data of a group-based communication system
US9413739B1 (en) System and method for identification and consolidation of related concurrent document sessions
US11734651B2 (en) Rendering related content prior to an event in a group-based communication interface
US11722856B2 (en) Identifying decisions and rendering decision records in a group-based communication interface
US11663540B2 (en) Ad hoc group management within a collaboration project sharing workflow
US10599753B1 (en) Document version control in collaborative environment
JP7132425B2 (en) Authorizations associated with external shared communication resources
US11861380B2 (en) Systems and methods for rendering and retaining application data associated with a plurality of applications within a group-based communication system
EP3771147A1 (en) Group-based communication system and apparatus configured to manage channel titles associated with group-based communication channels
US20200175449A1 (en) Personalized task box listing
US10560413B2 (en) Systems and methods associated with collective contact information
US12021805B2 (en) Collaboration software development kit
US10212105B2 (en) Collective address book system

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

AS Assignment

Owner name: RINGCENTRAL, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VAN RENSBURG, CHRISTOPHER;ARASTAFAR, MARTIN;REEL/FRAME:049170/0748

Effective date: 20190506

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STCV Information on status: appeal procedure

Free format text: NOTICE OF APPEAL FILED

STCV Information on status: appeal procedure

Free format text: APPEAL BRIEF (OR SUPPLEMENTAL BRIEF) ENTERED AND FORWARDED TO EXAMINER

STCV Information on status: appeal procedure

Free format text: EXAMINER'S ANSWER TO APPEAL BRIEF MAILED

STCV Information on status: appeal procedure

Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA

Free format text: SECURITY INTEREST;ASSIGNOR:RINGCENTRAL, INC.;REEL/FRAME:062973/0194

Effective date: 20230214

STCV Information on status: appeal procedure

Free format text: BOARD OF APPEALS DECISION RENDERED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION