一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

在通信环境中对通信进行同步的方法和系统与流程

2021-11-30 21:23:00 来源:中国专利 TAG:


1.概括地说,本公开内容涉及通信环境中的交互,并且更具体地说,本公开内容涉及对通信环境中消息的交换进行同步。


背景技术:

2.近年来,使一个人能够与一个或多个其它人实时通信的通信应用的使用显著增加。这些应用包括即时消息传送、虚拟会议、文本消息传送和协作工作环境等。这些应用的使用使参与者能够通过使用电子设备彼此实时交流,而无需同时在同一个房间里。随着此类应用的使用的显著增加,经由这些应用交换的信息量也显著增加。普通用户每天可能经由一个或多个通信应用交换数百条消息。
3.作为通信的一部分,参与者可能希望互相发送可能包括一个或多个问题的消息。如果预期接收方及时收到消息并知道所问问题的答案,则其可以立即提供答复。然而,当预期接收方没有立即收到消息或不知道答案时,考虑到交换的消息数量,接收方和/或发送方可能会忘记未解决的对话。
4.因此,需要一种在通信环境中对消息的交换进行同步的改进方法和系统。


技术实现要素:

5.为了解决这些问题以及更多问题,在一个总体方面,本技术描述了一种数据处理系统,其具有处理器以及与所述处理器通信的存储器,其中,所述存储器存储可执行指令,所述指令在由所述处理器执行时使所述数据处理系统执行多种功能。所述功能可以包括:经由通信应用或服务的用户界面接收来自所述发送方的消息,其中,所述消息是针对所述接收方的。当接收到所述消息时,所述方法可以经由处理器确定所述消息是否包括问题。当所述消息包括问题,所述方法可以经由所述处理器确定对所述问题的响应是否是在预定时间内从所述接收方接收到的。在确定所述响应未在所述预定时间内被接收到之后,所述方法可以检查以下各项中的至少一项:由所述通信应用提供的与所述发送方相关联的存在状态指示符、活动指示符、日历、不在办公室指示符以及待办事项清单,以确定所述发送方经由所述通信应用参与和所述接收方的通信的可用性。所述方法然后可以基于所确定的所述发送方的存在,实现向所述发送方显示通知,所述通知经由在发送方的客户端设备上显示的用户界面元素被显示给所述发送方,其中,所述通知包括关于所述问题的提醒。
6.在又一总体方面,本技术描述了一种用于实现消息在发送方和接收方之间的同步通信的方法。所述方法可以包括:经由通信应用或服务的用户界面接收来自所述发送方的消息,其中,所述消息是针对所述接收方的。当接收到所述消息时,所述方法可以经由处理器确定所述消息是否包括问题。当所述消息包括问题,所述方法可以经由所述处理器确定对所述问题的响应是否是在预定时间内从所述接收方接收到的。在确定所述响应未在所述预定时间内被接收到之后,所述方法可以检查以下各项中的至少一项:由所述通信应用提供的与所述发送方相关联的存在状态指示符、活动指示符、日历、不在办公室指示符以及待
办事项清单,以确定所述发送方经由所述通信应用参与和所述接收方的通信的可用性。所述方法然后可以基于所确定的所述发送方的存在,实现向所述发送方显示通知,所述通知经由在发送方的客户端设备上显示的用户界面元素被显示给所述发送方,其中,所述通知包括关于所述问题的提醒。
7.在又一总体方面,本技术描述了一种非暂时性计算机可读介质,其上存储有指令,当被执行时,所述这些指令使可编程设备经由通信应用或服务的用户界面接收来自所述发送方的消息,其中,所述消息是针对所述接收方的。当接收到所述消息时,所述指令可以使所述可编程设备经由处理器确定所述消息是否包括问题。当所述消息包括问题,所述指令可以使所述可编程设备经由所述处理器确定对所述问题的响应是否是在预定时间内从所述接收方接收到的。在确定所述响应未在所述预定时间内被接收到之后,所述指令可以使所述可编程设备检查以下各项中的至少一项:由所述通信应用提供的与所述发送方相关联的存在状态指示符、活动指示符、日历、不在办公室指示符以及待办事项清单,以确定所述发送方经由所述通信应用参与和所述接收方的通信的可用性。所述指令可以使所述可编程设备基于所确定的所述发送方的存在,实现向所述发送方显示通知,所述通知经由在发送方的客户端设备上显示的用户界面元素被显示给所述发送方,其中,所述通知包括关于所述问题的提醒。
8.提供本发明内容以便以简化的形式对下面在具体实施方式中进一步描述的设计构思的选择进行介绍。本发明内容并不旨在确定要求保护的发明主题的关键特征或重要特征,也不旨在用于限制要求保护的发明主题的范围。另外,要求保护的发明主题不局限于解决本公开内容的任何部分中指出的任何或所有缺点的实现。
附图说明
9.附图仅通过示例而非限制的方式描绘了根据本教示的一种或多种实施方式。在附图中,类似的附图标记指代相同或相似的元素。此外,应当理解,附图不一定是按比例绘制的。
10.图1描绘了可以在其上实现本公开内容的方面的示例系统。
11.图2描绘了可以在其上实现本公开内容的方面的示例客户端设备。
12.图3a

图3b描绘了可以在通信会话期间呈现给参与者的各种示例用户界面。
13.图4a

图4b描绘了示例用户界面屏幕,可以利用电子邮件通信应用将其呈现给参与者。
14.图5是示出当双方同时变得可用时用于向发送方和/或接收方通知包含问题的未答复消息的示例方法的流程图。
15.图6是示出了示例软件架构的框图,该软件架构的各个部分可以结合本文中描述的各种硬件架构来使用。
16.图7是示出了示例机器的组件的框图,该示例机器被配置为从机器可读介质读取指令并执行本文描述的任何特征。
具体实施方式
17.在下面的具体实施方式中,通过举例的方式阐述了大量的具体细节以便提供对相
关教导的透彻理解。对于普通技术人员而言,在阅读本说明书后将显而易见的是,无需这些细节也可以实施各个方面。在其它情况下,已经在相对较高的水平上对众所周知的方法、程序、组件和/或电路进行了描述,但没有详细说明,以避免不必要地模糊本文的教导的方面。
18.现有电子通信机制的一个限制在于,当没有及时接收到响应时,包含问题的消息的发送方没有一种高效的方式来确定何时跟进接收方。考虑到典型的计算机和移动设备用户在任何一天都会收到大量电子消息,如果接收方没有看到消息或立即回复,他们可能会忘记。在某些情况下,即使是消息的发送方也可能不记得问题没有得到回答,直到迫切需要响应。此外,发送方可能不知道什么时候跟进接收方的最佳时间,以确保接收方及时查看和响应后续消息。例如,当接收方不在或没有使用通信应用时,发送方可能不希望发送重复的提醒。此外,问题可能需要跟进或澄清才能回答,因此实时交互可能有利于及时解决问题。即使通信应用提供用户何时可用的指示,确定接收方的存在也可能需要发送方对应用的持续监视。这可能是耗时且不方便的。此外,状态指示符可能并不总是准确的,因为接收方可能忘记更改它。因此,确保问题被及时回答的过程可能被证明是耗时且困难的。因此,本领域需要一种方法和系统,使需要跟进的消息的发送方和接收方能够容易且高效地同步它们的可用性。
19.为了解决上述问题以及更多讨论的问题,在示例中,本说明书提供了实现用于确定包含问题的消息的发送方和接收方何时变得同时可用并且向其中一方或双方通知另一方存在的改进的方法和系统的技术。为了改进经由通信应用或服务进行通信的当前方法,改进的方法可以监测经由通信应用(例如,即时消息传送应用、电子邮件应用、voip应用等)接收的消息以确定该消息是否包含问题。这可以通过利用一种或多种可以利用机器学习算法的文本分析算法来实现。一旦检测到包含问题的消息,通信应用或服务就可以确定是否在预定时间内从接收方接收到对该问题的响应。这可以通过监测通信应用以确定消息是否使从接收方发送到发送方和/或分析该消息以确定其是否包含对问题的响应来完成。当在预定时间内没有检测到响应被接收时,通信应用或服务可以监测预期接收方和发送方的存在,并且一旦预期接收方在发送方也存在的时间内变得可用就通知发送方。结果,该解决方案以高效的方式为通信环境的参与者提供了提升的用户体验。
20.本领域技术人员在阅读本公开内容后将理解,此类实施方式提供的好处和优势可以包括但不限于解决以下技术问题:用户无法快速高效地对两方可用来完成包含未回答问题的对话的时间进行同步。本文中提供的技术解决方案和实施方式对使用电子通信机制来交换消息的过程进行了优化和改进。这些解决方案提供的好处包括:提升用户体验、节省时间以及提供更高效通信的解决方案。
21.图1示出了可以在其上实现本公开内容的方面的示例系统100。系统100可以包括服务器110,服务器110可以连接到或包括数据存储112,在数据存储器112中可以存储与诸如消息传送应用的通信机制有关的数据。服务器110可以负责在通信会话期间管理各种设备之间的通信。例如,服务器110可以运行例如存储在数据存储112中的应用,该应用能够在各种参与者设备之间进行即时消息传送。为此,服务器可以从一个或多个参与者接收信号并将这些信号传输给其它参与者。信号可以是音频、视频或其它数据信号。例如,服务器可以从客户端设备接收音频信号作为互联网协议语音(voip)呼叫的一部分,并将这些信号发送到在通信应用中被指示为voip呼叫的预期接收方的设备。视频信号可以在实现了视频的
虚拟会议期间传输,以使参与者能够看到彼此。可以发送据信号以实现参与者之间的文本消息和/或文档的交换。
22.服务器110可以作为位于企业中的共享资源服务器操作,其可由诸如客户端设备120和122之类的各种计算机客户端设备访问。尽管被示为单个服务器,但是服务器110可以包括运行连接多个用户的一个或多个通信应用的多个服务器。
23.服务器110可以包括和/或执行诸如即时消息传送服务之类的通信服务112。通信服务的其它示例可用包括电子邮件、voip呼叫、虚拟会议、语音邮件服务或协作工作环境。通信服务112可以操作以实现不同用户之间的消息交换。例如,通信服务可以管理由网络中的客户端创建的消息的分发、跟踪消息历史和对话参与者,并提供为消息参与者提供控制的功能。在一种实施方式中,服务器可以提供基于云的通信服务,例如经由网络130操作的在线即时消息传送应用。网络130可以是连接系统100的一个或多个元件的有线或无线网络或者有线和无线网络的组合。
24.服务器110还可以包括和/或执行存在服务114。存在服务可以允许每个用户查看用户指定的联系人集合(通常被称为联系人列表、好友列表或朋友列表)中的其它用户当前是否可用于交换通信。可以经由存在状态指示符以及其它因素来收集每个用户的存在信息。存在状态指示符可以是用户可选择的指示符,其提供可以由通信应用显示的选项,例如:可用、忙碌、空闲、请勿打扰或外出吃午饭。通信应用可以使用户能够选择存在状态指示符之一来指定其可用性。还可以监测和考虑其它因素以确定用户的可用性。一旦确定和/或更新了可用,存在信息就可由客户端发送到存在服务114,存在服务114进而可以将信息发送到已经选择针对指定的联系人集合接收它们的用户。这可以经由通信服务112通过服务器来完成,例如服务器110。具体而言,关于改变状态的报告可以被发送到通信服务112,通信服务112进而以通过向选择接收关于该联系人的这些更新的所有连接用户发送存在更新来报告改变的可用性。因此,存在服务114可以与通信服务112一起工作或与通信服务112集成。此外,当通信服务112用于提供在线消息传送服务时,存在服务114可以用作客户端存在代理以确定用户的存在状态。尽管示为一项服务,但存在服务代表与一个或多个应用相关联的一项或多项存在服务。例如,当重叠的用户组使用多个应用时,可以在与每个应用相关联的存在服务之间收集和共享存在信息。
25.系统100还可以包括发送方客户端设备120和接收方客户端设备122,它们中的每一个可以经由网络130连接到服务器110。客户端设备120和122中的每一个可以包括或者可以访问通信应用,该通信应用与通信服务112一起工作以使每个设备的用户能够参与诸如消息传送会话之类的通信会话。应当注意,尽管客户端设备120被标记为发送方设备并且客户端设备122被标记为接收方设备,但是客户端设备120和122中的每一个在通信会话期间都可以变成发送方或接收方。
26.客户端设备120和122可以是可以与网络通信的任何类型的设备,例如具有输入和输出元件或连接到输入和输出元件的个人或手持计算设备。例如,客户端设备120和122可以是以下之一:移动电话;智能手机;平板电脑;平板手机;智能手表;可穿戴计算机;个人计算机;桌面式计算机;膝上型计算机;游戏设备/计算机;电视机;胖客户端;精简客户端;基于浏览器的客户端;在设备上执行的应用;在设备上运行的嵌入式小部件;等等。此列表仅用于示例目的,不应视为限制。
27.图2描绘了可以在其上实现本公开内容的方面的示例客户端设备120。在一种实施方式中,客户端设备120可以包括各自与输入/输出元件250通信的消息传送代理210、存在代理220、一个或多个应用230以及用户代理240。每个应用230可以是在客户端设备上执行的计算机程序,其将设备配置为响应用户输入以允许用户与另一用户通信。应用可以通过例如在客户端设备的输出元件上显示数据来发送、接收和使数据(包括文档和音频/视频数据)可用。合适的应用的示例包括但不限于电子邮件应用、即时消息传送应用、协作工作应用、会议应用、voip应用以及语音邮件应用。
28.在一些示例中,应用230可以包括在服务器110上运行并经由如上所述的在线服务提供的在线应用。在一种实施方式中,网络应用可以经由网络130与用户代理240通信,用户代理240例如可以是在客户端设备120上执行的浏览器。用户代理240可以提供允许用户与应用交互并与各种其它用户交换消息的用户界面(ui)。ui可以通过利用例如用户代理240显示在客户端设备120的显示设备上。在一些示例中,用户代理240可以是提供ui和对可以存储在数据存储112中的电子通信的访问的专用客户端应用。在其它示例中,用于与其它用户通信的通信应用可以是本地应用,例如在客户端设备120上存储和执行并提供允许用户与应用交互的ui的应用230。
29.应用230可以与一个或多个消息传送代理通信或者可以包括一个或多个消息传送代理,例如消息传送代理210。消息传送代理210可以实现与通信服务112的通信,以便例如促进消息传送会话。应当注意,客户端设备可以包括可以促进其它类型的通信的其它类型的代理。消息传送代理210可以与存在代理220通信,存在代理220可以用于确定用户的存在和/或周期性地查询存在服务114以访问在一个或多个应用230中识别的参与者列表中包括的每个参与者的一个或多个当前存在指示符。
30.在一种实施方式中,存在代理220可以从包括应用230和消息传送代理210的客户端设备的一个或多个应用收集信息以确定用户的存在。收集的信息可以包括来自一个或多个通信应用的存在状态指示符。如上所述,存在状态指示符可由应用用来指示用户和联系人列表中每个用户指定的联系人的可用性。除了存在状态指示符之外,存在代理220可以收集指示用户可用性的其它信息。例如,存在代理220可以利用由经由客户端设备可用的一个或多个应用提供的检测器来检测用户的当前状态和活动。收集的信息可由来自用户的日历(例如,指示用户正在开会)、待办事项清单列表、虚拟会议应用(例如,指示正在进行的会议)、演示应用(例如,指示用户正在演示文档),与工作相关的应用(例如,表示用户正在准备文档的文字处理文档,表示用户正在与编程软件接口交互的编程模式)、voip应用,等等。对于诸如移动电话之类的移动客户端设备,该信息可包括用户是否正在进行蜂窝呼叫、他们是否正在驾驶(例如,使用gps应用),等等。存在代理220和/或消息传送代理210可以收集、聚合和检查所有这些可用性相关信息以确定用户的当前可用性状态。可能需要附加信息,因为有时用户可能会使用诸如即时消息传送应用的通信应用的存在状态指示符来指示用户有空,并且一旦他们开始不同的任务就忘记了改变状态。通过收集和检查来自多个不同应用的信息,存在代理可以确保用户实际上可用于参与通信。当存在代理220检测到用户的可用性已经改变时,它可以自动将改变的可用性报告给存在服务114,存在服务114可以将该信息转发给其它用户。
31.除了检测和报告用户的可用性之外,存在代理220还可以从存在代理114接收其它
用户的存在更新。这些存在更新可以存储在数据库中,并经由一个或多个通信应用显示给用户,用于显示联系人列表中的用户指定的联系人。
32.输入/输出元件250可用于显示与应用230相关联的一个或多个ui,并从用户接收可用于参与通信或更新存在状态的输入。针对图6和图7更详细地讨论了客户端设备的内部硬件结构。
33.图3a

图3b描绘了可以在通信会话(例如即时消息传送会话)期间呈现给参与者的示例ui屏幕。图3a的ui屏幕300a可以例如指示用户和名为jessica smith的联系人之间的消息会话。在一种实施方式中,ui屏幕300a由在用户的客户端设备上运行的消息传送应用显示。或者,ui屏幕300a可以经由在线消息传送服务显示。
34.ui屏幕300a可以包括用于显示用户已经与其开始进行消息传送会话的联系人的姓名的ui元素310,以及用于显示由ui元素310示出的联系人的存在状态的联系人存在状态指示符320。在ui屏幕300a中所示的示例中,存在指示符320显示可以指示联系人忙碌的圆圈。其它存在状态可以包括:可用、不可用、请勿打扰、空闲、出去吃午饭、马上回来,等等。在一种实施方式中,当消息传送应用第一次被打开时,可以由消息传送应用选择默认状态(例如,可用)。用户可以随时更改默认状态,例如,通过利用消息传送应用/服务的ui菜单。一旦检测到状态的变化(例如,用户首先打开应用并且状态从不可用变为可用),经更新的状态可以被发送到联系人列表中包括该联系人的所有客户端设备(或使用在线消息传送服务的用户)。结果,当用户(例如ui屏幕300a的用户)选择开始与联系人的消息传送会话时,联系人的存在状态可以由存在状态指示符320显示。应当注意,该存在状态指示符可以不同于用户的存在代理做出的可用性确定。如上所述,该确定可以包括考虑除存在指示符之外的其它因素。
35.ui屏幕300a还可以包括用于与联系人进行视频会议的菜单按钮330、用于发起与联系人的voip音频呼叫的呼叫按钮340、以及用于开始与联系人共享屏幕的共享屏幕按钮350。因此,尽管ui屏幕300a显示即时消息传送场景,但相同的通信应用可以用于参与即时消息传送、视频会议、voip呼叫以及与联系人共享屏幕。以此方式,可以容易地从一个通信应用收集关于用户活动的信息以检测用户的可用性。此外,如下文进一步讨论的,可以从各种通信信道检测和跟踪未解析的通信。
36.ui屏幕300a还可以包括用于输入要与联系人共享的内容的输入框360。以这种方式,ui屏幕300a的用户可以在输入框360中输入文本以作为即时消息发送给由ui元素310标识的联系人。除了将文本输入到输入框360中之外,用户可以利用其它菜单选项,例如用于附加文件的菜单按钮370,或者用于将表情符号输入到输入框360中的菜单按钮375。ui屏幕300a还可以包括用于安排与联系人的虚拟会议的菜单按钮380,以及可以显示上下文菜单的菜单按钮385,该上下文菜单提供其它选项,例如发送视频消息、发送联系人、创建投票,等等。
37.在将输入输入到输入框360并按下回车键或点击共享按钮(未示出)时,输入的文本可被立即发送给联系人。如果联系人打开了他们的相应通信应用(或在线通信服务),则可以立即将消息传输到和/或显示在联系人的通信应用/服务的ui上。然而,如果联系人没有打开他们的应用或服务(例如,他们的计算机没有打开或应用没有打开),则可以将消息存储在与通信应用/服务相关联的数据库中,以便在下一次联系人打开通信应用/服务时被
显示。同时,该消息可以作为ui元素(例如元素390)中的发送消息显示在用户的ui屏幕300a内。为了提供对用户的信息交换进行同步的更好的方式,可以检查经由ui屏幕300a发送的消息以确定该消息是否包含问题。这可以通过下文更详细讨论的一种或多种文本分析算法来完成。
38.当确定消息包括问题时,通信应用或服务可以开始跟踪在接收到对消息的响应之前经过的时间量。一旦做出确定,这可以通过对定时器进行初始化来完成。定时器可由发送方的通信应用或服务器的消息传送服务操作。一旦经过的时间超过预定阈值(例如,自发送方发送包含问题的消息以来已经过去了两个小时)并且未检测到响应被接收,则发送方的通信应用或服务器的消息传送服务可以向接收方的存在代理(或服务器的存在服务,视情况而定)发送请求,以在接收方变为可用时提供通知。
39.当接收方被识别为可用并且经由服务器向发送方的通信应用发送通知时,发送方的存在代理(或服务器的存在服务,视情况而定)可以确定发送方现在是否可用。当确定发送方可用时,可以向发送方呈现通知以向他们通知接收方的存在并提醒他们未回答的问题。这可以通过显示弹出式ui元素来完成,例如图3b的ui元素395。还设想了呈现通知和提醒的其它方法。例如,尽管图3b描绘了发送方和联系人之间的消息传送会话的ui屏幕300b,但是可以在通信应用/服务的任何其它ui屏幕上向用户呈现通知。例如,当发送方关闭发送方和接收方之间的消息传送会话、打开与不同联系人的消息传送会话、开始与联系人的另一种形式的通信,或者出于任何原因移动到通信应用的不同ui屏幕时,这可能是必需的。在一种实施方式中,即使用户当前正在查看不同应用的屏幕,也可以向用户呈现通知。例如,通知可以呈现为任务栏菜单通知。
40.图4a

图4b示出了示例ui屏幕,可以利用电子邮件通信应用将其呈现给参与者。图4a

图4b的ui屏幕可以包括包含用于访问邮箱中不同文件夹的链接的邮箱菜单窗格405,以及包含具有特定标识信息(例如电子邮件的发送方、标题和日期/时间)的电子邮件的列表的摘要电子邮件窗格425。从摘要电子邮件窗格425中选择的电子邮件被突出显示(即,具有灰色背景)以指示这是电子邮件窗格410中所示的电子邮件。ui屏幕400a和400b还可以包括工具栏420,该工具栏420包含用于编写新电子邮件消息的工具的各种链接或使用所选择的电子邮件来执行的功能。
41.为了确保需要跟进的电子邮件的发送方和接收方之间的同步性,电子邮件通信应用可以检查发送/接收的电子邮件的内容、上下文和/或其它参数,以确定电子邮件是否包含问题,因此需要跟进。为此,首先可以使用一种或多种文本分析算法来检查电子邮件的内容以确定电子邮件是否包括问题。随后,可以检查其它参数以确定电子邮件是否需要跟进。例如,为了防止用户收到大量的通知,除了只检查邮件内容外,应用/服务还可以检查其它参数,例如是否包括指示紧急性的任何关键字(例如,紧急、尽快),是否向电子邮件分配了指示高度重要性的标志和/或发送方和/或接收方是否已将电子邮件标记为需要跟进。在一种实施方式中,可以使用户可以使用选项来针对每个电子邮件消息进行选择以指示该电子邮件消息需要跟进通知。一旦电子邮件通信应用/服务确定电子邮件包含问题并需要跟进,它就可以开始确定是否在预定时间内收到对电子邮件的响应。这可以通过使用定时器来完成,该定时器测量在接收到对电子邮件的响应之前经过的时间量。定时器可由发送方的通信应用或服务器的消息传送服务操作。一旦经过的时间超过预定阈值(例如,自发送方发送
包含问题并且需要跟进的消息以来已经过去了24个小时)并且未检测到响应被接收,则发送方的电子邮件通信应用或服务器可以向接收方的存在代理(或服务器的存在服务,视情况而定)发送请求,以在接收方变为可用时提供通知。
42.在一种实施方式中,在可以提供通知之前,用户必须同意与其它用户共享他们的可用性。这可能需要通信应用在与他人共享任何可用性信息之前寻求用户的许可。在一种实施方式中,通信应用可以为用户提供选项以选择他们希望与哪些联系人或哪些联系人组共享他们的可用性。
43.当接收方被识别为可用并且通知被发送到发送方的通信应用或服务器时,发送方的存在代理(或服务器的存在服务,视情况而定)可以确定发送方现在是否可用(例如,他们的电子邮件应用已打开,他们当前正在使用电子邮件应用,和/或指示可用性的存在状态指示符)。当确定发送方可用时,可以向发送方呈现通知以向他们通知接收方的存在并提醒他们未回答的问题。这可以经由显示弹出ui元素(例如图4b的ui元素450)来进行,其描绘了在ui屏幕400a中为电子邮件的发送方显示的电子邮件通信应用/服务的ui屏幕400b。因此,可以向包含问题和/或需要跟进的电子邮件的发送方呈现通知。除了包含问题的电子邮件的提醒之外,ui元素450可以包括接收方可用的通知。在一个示例中,当选择了可以直接访问的发送的电子邮件,提醒可以包括关于电子邮件的信息和到电子邮件的链接。
44.还设想了呈现通知和提醒的其它方法。例如,虽然图4b描绘了电子邮件通信应用的ui屏幕400b,但是可以在当前向用户显示的任何其它ui屏幕上向用户呈现通知。在一种实施方式中,即使用户当前正在查看不同应用的屏幕,也可以向用户呈现通知。例如,通知可以呈现为任务栏菜单通知。
45.图5是描绘当双方同时变得可用时用于向发送方和/或接收方通知包含问题的未答复消息的示例方法500的流程图。在505处,方法500可以通过从发送方(例如,经由通信应用或利用在线通信服务的客户端设备的ui连接到服务器的客户端设备)接收向接收方发送消息的请求而开始。该消息可以是包含文本、表情符号和/或其它字符的即时消息。该消息还可以是电子邮件消息、语音消息、视频消息和/或一种或多种类型消息的组合。该消息可以经由在发送方的客户端设备上显示的ui作为输入从用户接收,或者作为音频/视频从与发送方的客户端设备通信的输入设备接收。一旦接收到消息,服务器就可以将消息传输到接收方的客户端设备,或者经由在线服务以其它方式使该消息对接收方可用。
46.在510处,服务器和/或接收方的客户端设备(例如,接收方客户端设备的本地通信应用)然后可以检查该消息以确定消息是否包含问题。对于尚未具有文本格式的消息(例如,音频和/或视频消息),这可能涉及首先利用语音识别算法将消息中的音频转换为文本,然后才能检查内容。一旦消息具有了文本格式,就可以利用一种或多种文本分析或自然语言处理(nlp)算法来检查文本的内容、上下文、格式和/或其它参数,以确定消息是否包括问题。
47.当方法500确定该消息不包含问题时,它可以进行到步骤560以结束。然而,当在510处确定消息包含问题时,方法500可以在515处设置消息的标志。这可以由服务器、接收方客户端设备和/或发送方客户端设备来进行。该标志可指示该消息需要具有后续动作,即应该跟踪对该消息的响应。为消息设置标志的过程可以包括:将消息或与消息有关的信息存储在与消息传送会话相关联的数据库中。
48.然后方法500可以继续在520处开始定时器,以开始测量自提出问题以来(例如,自发送消息以来)经过的时间量。定时器可以作为接收方通信应用的一部分或作为由服务器提供的通信服务的一部分运行。或者,服务器和/或接收方的客户端设备可以向发送方的通信应用发送消息以请求发送方的客户端设备对定时器进行初始化以开始跟踪在响应被接收之前经过的时间量。
49.在设置定时器之后,在525处,方法500可以继续确定是否在预定时间内接收到对问题的答复。预定时间量可以由应用预设并且可以根据接收到的消息的类型而不同。例如,对于即时消息,预定时间量可以设置为2小时,而对于电子邮件消息,可以设置为24小时。这是因为,一般来说,即时消息的交换速度通常比电子邮件消息的交换速度快。在一种实施方式中,时间量可以是可变的和/或可以由用户设置。
50.确定是否接收到了对问题的响应,可能只涉及检查消息是否从接收方发送到了发送方。或者,该过程还可以包括利用一种或多种文本分析算法来检查消息的内容、上下文、格式和/或其它参数,以确定其是否与所提出的问题有关和/或其是否是响应。确定是否接收到响应的过程可以由接收方客户端设备(例如,通过确定是否在消息传送会话中接收到用户输入)、由服务器(例如,通过识别是否从接收方的设备接收到消息),和/或由发送方客户端设备(例如,通过确定是否从服务器接收到源自接收方的消息)来执行。
51.当在525处确定在预定时间内接收到响应时,方法500可以继续在555处去除标志。这可以是因为,一旦在预定时间范围内接收到消息,就不需要对该消息进行进一步的监测或动作。因此,可以从存储标志的数据库中删除该标志。或者,可以更新数据库以指示标志已被解析。
52.回到步骤525,当确定响应未在预定时间范围内接收到时,即时间测量的时间量超过预定时间量并且尚未接收到响应时,方法500可以继续在530处监测接收方的可用性。这可以通过检查用于接收消息的通信应用的存在状态指示符来实现。如上所述,存在状态指示符可由用户设置以指示用户希望与他/她的联系人共享的可用性状态。结果,存在状态指示符可以是用户是否能够或愿意参与和联系人的消息交换的良好确定因素。然而,存在状态指示符本身可能并不总是准确的。例如,如果存在状态指示符被设置为可用但接收方参与了不同的消息传送会话或音频或视频会议,则接收方可能无法参与和发送方的消息交换。因此,也可以考虑其它可用性因素。这些可以包括检查活动指示符,该活动指示符用信号通知用户使用通信应用的其它通信机制或用户主动使用其它应用。还可以检查和考虑其它因素,例如用户的日历、待办事项清单列表和其它因素以确定可用性。在535处,接收方的客户端设备或服务器(其可以从接收方的客户端设备接收与各种因素相关的信号)可以连续地检查和汇总这些因素,直到接收方被识别为可用为止。或者,可以基于预定的循环基础(例如,每10分钟)来检查这些因素,直到识别出接收方可用。
53.一旦接收方被识别为可用,方法500就可以在540处继续确定发送方是否可用。这可以通过向发送方的客户端设备发送请求以确定发送方的可用性状态来进行。这是因为为了确保发送方和接收方之间的同步,一旦双方同时可用,就应该发送通知。否则,如果在发送方不可用时向发送方发送通知,则当发送方意识到该通知时,接收方可能再次变得不可用。
54.在接收到确定发送方的可用性的请求时,发送方的客户端设备(或服务器,视情况
而定)可以利用发送方的存在状态指示符和/或上文讨论的其它因素来确定发送方的可用性。然后方法500可以继续在545处确定发送方是否可用于参与和接收方的通信。如果发送方未被识别为可用,则方法500可返回到步骤530以再次监测接收方的可用性并在接收方变得可用时找到下一个窗口。这可能涉及从接收方的客户端设备向服务器发送信号以指示不可用。然而,当发送方被识别为可用时,方法500可以继续在550处发送通知。该通知可以通过在发送方的客户端设备上显示来发送给发送方。在一些示例中,通知可以包括提醒和/或到问题的链接。在一种实施方式中,还可以向接收方发送通知。一旦发送了通知,方法500就可以进行到步骤555以去除标志并继续在步骤560处结束。
55.因此,在不同的实施方式中,可以提供改进的方法和系统以实现包含问题的消息的发送方和接收方之间的同步跟进交互。为了能够高效地交换消息,可以检查经由通信应用发送的消息以确定其是否包括问题。在识别问题时,可以监测接收方和发送方的可用性以找到双方同时变得可用的时间窗口。一旦发送方和接收方都被识别为可用,就可以向一方或双方发送通知,以便在方便的时间进一步交换消息。
56.图6是示出示例软件架构602的框图600,其各个部分可以与本文中描述的各种硬件架构结合使用,这些硬件架构可以实现上述特征中的任何一个。图6是软件架构的非限制性示例,并且将明白的是:可以实现许多其它架构以促进本文中描述的功能。软件架构602可以在诸如客户端设备、本地应用提供商、网络服务器、服务器集群、外部服务和其它服务器之类的硬件上执行。代表性硬件层604包括处理单元606和相关联的可执行指令608。可执行指令608表示软件架构602的可执行指令,包括本文描述的方法、模块等的实现。
57.硬件层604还包括存储器/存储610,其还包括可执行指令608和伴随数据。硬件层604还可以包括其它硬件模块612。处理单元608持有的指令608可以是存储器/存储610持有的指令608的一些部分。
58.示例软件架构602可以被概念化为层,每个层提供各种功能。例如,软件架构602可以包括层和组件,例如操作系统(os)614、库616、框架618、应用620和表示层624。在操作上,应用620和/或层内的其它组件可以调用api调用624到其它层并接收相应的结果626。所示的层本质上是代表性的,并且其它软件架构可以包括附加的或不同的层。例如,某些移动或专用操作系统可以不提供框架/中间件618。
59.os 614可以管理硬件资源并提供公共服务。os 614可以包括例如内核628、服务630和驱动器632。内核628可以充当硬件层604和其它软件层之间的抽象层。例如,内核628可以负责存储器管理、处理器管理(例如,调度)、组件管理、网络、安全设置等。服务630可以为其它软件层提供其它公共服务。驱动器632可以负责控制底层硬件层604或与其对接。例如,驱动器632可以包括显示器驱动器、摄像头驱动器、存储器/存储驱动器、外围设备驱动器(例如,经由通用串行总线(usb))、网络和/或无线通信驱动器、音频驱动器等等,取决于硬件和/或软件配置。
60.库616可提供可由应用620和/或其它组件和/或层使用的公共基础设施。库616通常提供由其它软件模块使用以执行任务的功能,而不是直接与os 614交互。库616可以包括系统库634(例如,c标准库),其可以提供诸如存储器分配、字符串处理、文件操作等的功能。此外,库616可以包括api库636,例如媒体库(例如,支持图像、声音和/或视频数据格式的呈现和操作)、图形库(例如,用于在显示器上渲染2d和3d图形的opengl库)、数据库库(例如,
sqlite或其它关系数据库功能)以及web库(例如,可以提供web浏览功能的webkit)。库616还可以包括各种其它库638,用于为应用620和其它软件模块提供许多功能。
61.框架618(有时也被称为中间件)提供可以由应用620和/或其它软件模块使用的更高级别的公共基础设施。例如,框架618可以提供各种图形用户界面(gui)功能、高级资源管理或高级位置服务。框架618可以为应用620和/或其它软件模块提供广泛的其它api。
62.应用620包括内置应用620和/或第三

方应用622。内置应用620的示例可以包括但不限于联系人应用、浏览器应用、位置应用、媒体应用、消息传送应用和/或游戏应用。第三方应用622可以包括由除特定系统的供应商之外的实体开发的任何应用。应用620可以使用经由os 614、库616、框架618和表示层624可用的功能来创建用户界面以便与用户交互。
63.一些软件架构使用虚拟机,如虚拟机628所示。虚拟机628提供了执行环境,其中应用/模块可以像在硬件机器(例如图6的机器600)上执行一样执行。虚拟机628可以由主机os(例如,os 614)或管理程序托管,并且可以具有虚拟机监视器626,其管理虚拟机628的操作和与主机操作系统的互操作。可以不同于虚拟机外部的软件架构602的软件架构在虚拟机628内执行,例如os 650、库652、框架654、应用656和/或表示层658。
64.图7是示出示例机器700的组件的框图,该示例机器1200被配置为从机器可读介质(例如,机器可读存储介质)读取指令并执行本文描述的任何特征。示例机器700是计算机系统的形式,其中可以执行用于使机器700执行本文描述的任何特征的指令716(例如,以软件组件的形式)。因此,指令716可用于实现本文描述的方法或组件。指令716使未编程和/或未配置的机器700作为被配置用于执行所描述的特征的特定机器来操作。机器700可以被配置为作为独立设备操作或者可以耦合(例如,联网)到其它机器。在联网部署中,机器700可以在服务器

客户端网络环境中以服务器机器或客户端机器的容量,或者作为对等或分布式网络环境中的节点来操作。机器700可以体现为例如服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、游戏和/或娱乐系统、智能手机、移动设备、可穿戴设备(例如,智能手表)以及物联网(iot)设备。此外,虽然仅示出了单个机器700,但术语“机器”包括单独或联合执行指令716的机器的集合。
65.机器700可以包括处理器710、存储器730和i/o组件750,它们可以经由例如总线702通信地耦合。总线702可以包括经由各种总线技术和协议来耦合机器700的各种元件的多条总线。在示例中,处理器710(包括,例如,中央处理单元(cpu)、图形处理单元(gpu)、数字信号处理器(dsp)、asic或其合适的组合)可以包括可以执行指令716和处理数据的一个或多个处理器712a至712n。在一些示例中,一个或多个处理器710可以执行由一个或多个其它处理器710提供或识别的指令。术语“处理器”包括多核处理器,其包括可以同时执行指令的核。尽管图7示出了多个处理器,但机器700可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、分别具有单个核的多个处理器、分别具有多个核的多个处理器,或者它们的任意组合。在一些示例中,机器700可以包括分布在多个机器中的多个处理器。
66.存储器/存储730可以包括主存储器732、静态存储器734或其它存储器,以及存储单元736,两者都可以由处理器710例如经由总线702访问。存储单元736和存储器732、734存储体现本文描述的功能中的任何一项或多项的指令716。存储器/存储730还可以为处理器710存储临时的、中间的和/或长期的数据。指令716在其执行期间还可以完全或部分地驻留
在存储器732、734内,存储单元736内,处理器710中的至少一个内(例如,在命令缓冲器或高速缓存存储器内),i/o组件750中的至少一个的存储器内,或其任意合适的组合。相应地,存储器732、734,存储单元736,处理器710中的存储器,以及i/o组件750中的存储器是机器可读介质的示例。
67.如本文中所使用的,“机器可读介质”是指能够临时或永久地存储使机器700以特定方式进行操作的指令和数据的设备。本文中使用的术语“机器可读介质”不包括瞬态电信号或电磁信号本身(例如在通过介质传播的载波上);因此,术语“机器可读介质”可以被认为是有形的和非暂时性的。非暂时性有形机器可读介质的非限制性示例可以包括但不限于非易失性存储器(例如闪存器或只读存储器(rom))、易失性存储器(例如静态随机存取存储器(ram)或动态ram)、缓冲存储器、高速缓存存储器、光存储介质、磁存储介质和设备、网络可访问或云存储、其它类型的存储和/或其任何合适的组合。术语“机器可读介质”适用于用于存储由机器700执行的指令(例如,指令716)的单个介质或多个介质的组合,使得当指令由机器700的一个或多个处理器710执行时,使机器700执行本文所述的一个或多个特征。因此,“机器可读介质”可以指单个存储设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。
68.i/o组件750可以包括适用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等的各种各样的硬件组件。特定机器中包括的特定i/o组件750将取决于机器的类型和/或功能。例如,移动电话等移动设备可能包括触摸输入设备,而无头服务器或物联网设备可能不包括这样的触摸输入设备。图7中所示的i/o组件的特定示例绝不是限制性的,并且其它类型的组件可以包括在机器700中。i/o组件750的成组仅仅是为了简化该讨论,并且分组决不是限制性的。在各种示例中,i/o组件750可以包括用户输出组件752和用户输入组件754。用户输出组件752可以包括例如用于显示信息的显示组件(例如,液晶显示器(lcd)或投影仪)、声学组件(例如,扬声器)、触觉组件(例如,振动马达或力反馈装置)和/或其它信号发生器。用户输入组件754可以包括例如字母数字输入组件(例如,键盘或触摸屏)、指点组件(例如,鼠标设备、触摸板或另一个指点工具)和/或触觉输入组件(例如,提供位置和/或触摸力或触摸手势的物理按钮或触摸屏)被配置为接收各种用户输入,例如用户命令和/或选择。
69.在一些示例中,i/o组件750可以包括生物特征组件756和/或位置组件762,以及其它环境传感器组件的广泛阵列。生物特征识别组件756可包括例如用于检测身体表情(例如,面部表情、声音表情、手部或身体姿势或眼动追踪)、测量生物信号(例如,心率或脑电波)以及识别人(例如,经由基于语音、视网膜和/或面部识别)的组件。位置组件762可以包括例如位置传感器(例如,全球定位系统(gps)接收机)、高度传感器(例如,可以推导出高度的气压传感器)和/或方向传感器(例如,磁力计)。
70.i/o组件750可以包括通信组件764,其实现了多种技术,该技术可操作以经由相应的通信耦合772和782将机器700耦合到网络770和/或设备780。通信组件764可以包括一个或多个网络接口组件或用于与网络770对接的其它合适的设备。通信组件764可以包括例如适于提供有线通信、无线通信、蜂窝通信、近场通信(nfc)、蓝牙通信、wi

fi和/或经由其它模态的通信的组件。设备780可以包括其它机器或各种外围设备(例如,经由usb耦合)。
71.在一些示例中,通信组件764可以检测标识符或包括适于检测标识符的组件。例
如,通信组件664可以包括射频识别(rfid)标签阅读器、nfc检测器、光学传感器(例如,一维或多维条形码,或其它光学码)和/或声学检测器(例如,用于识别标记的音频信号的麦克风)。在一些示例中,位置信息可以基于来自通信组件762的信息来确定,例如但不限于经由互联网协议(ip)地址的地理位置、经由wi

fi、蜂窝、nfc、蓝牙的位置,或者其它无线站识别和/或信号三角测量。
72.尽管已经描述了各种实施例,但是该描述旨在是示例性的,而不是限制性的,并且应当理解,在这些实施例范围内的更多的实施例和实施方式是可能的。尽管在附图中示出并在具体实施方式中讨论了许多可能的特征组合,但是所公开的特征的许多其它组合也是可能的。除非特别限制,否则任何实施例的任何特征可以与任何其它实施例中的任何其它特征或元素组合使用或替代任何其它特征或元素。因此,将理解的是,可以以任何合适的组合一起实施本公开内容中示出和/或讨论的任何特征。因此,除非考虑到所附权利要求及其等价物,否则这些实施例不受限制。此外,可以在所附权利要求的范围内进行各种修改和改变。
73.通常,本文描述的功能(例如,图1

图5中所示的特征)可以使用软件、固件、硬件(例如,固定逻辑、有限状态机和/或其它电路)或这些实现的组合来实现。在软件实现的情况下,程序代码当在处理器(例如,cpu或一些cpu)上执行时执行特定任务的程序代码。程序代码可存储在一个或多个机器可读存储器设备中。本文中描述的技术的特征是独立于系统的,意指这些技术可在具有多种处理器的多种计算系统上实现。例如,实现可以包括使硬件来执行操作(例如,处理器功能块)的实体(例如,软件)等。硬件设备可以包括机器可读介质,其可以被配置为维护使硬件设备(包括在其上执行的操作系统和相关联的硬件)执行操作的指令。因此,指令可用于配置操作系统和相关联的硬件以执行操作,从而配置或以其它方式适配硬件设备以执行上述功能。指令可由机器可读介质通过各种不同的配置提供给执行指令的硬件元件。
74.尽管前文已经描述了被认为是最佳模式的示例和/或其它示例,但是应当理解,可以在其中进行各种修改,并且可以以各种形式和示例来实现本文公开的发明主题,并且这些教导可以应用于大量应用中,本文中仅描述了其中的一些。所附权利要求书旨在要求保护落入本教导的真实范围内的任何和所有应用、修改和变化。
75.除非另有说明,否则在本说明书中,包括在所附权利要求书中阐述的所有测量结果、值、额定值、位置、大小、尺寸和其它规格都是近似的,而不是精确的。它们旨在具有与它们所涉及的功能以及它们所相关的领域中的习惯相一致的合理范围。
76.保护范围仅受所附权利要求书的限制。当根据本说明书和随后的起诉历史进行解释时,该范围旨在并且应被解释为与权利要求中使用的语言的普通含义相一致的范围,并且涵盖所有结构和功能上的等价物。尽管如此,所有权利要求均不旨在包含不满足专利法第101、102或103条要求的主题,也不应以这种方式解释它们。特此不要求保护对此类发明主题的任何非预期的包含。
77.除以上所述外,没有任何被阐述或说明的内容旨在或应被解释以导致对公众来说任何组成部分、步骤、特征、对象、益处、优势或等效内容的专用,无论权利要求中是否对其有所记载。
78.将理解的是,除非本文另外阐述了特定含义,否则本文使用的术语和表述具有针
对其相应的各自探寻和研究领域的与此类术语和表述相一致的普通含义。
79.诸如第一和第二等的关系术语可以仅用于区分一个实体或动作与另一实体或动作,而不一定要求或暗示在这些实体或动作之间的任何实际的这种关系或顺序。术语“包括(comprises)”,“包括有(comprising)”以及任何其它变体旨在覆盖非排他性包括(inclusion),使得包括一系列元素的过程、方法、物品或设备不仅仅包括那些元素,而是可以包括未明确列出的或者此类过程、方法、物品或设备所固有的其它元素。在没有其它限制的情况下,前面带有“一”或“一个”的元素并不排除在包括该元素的过程、方法、物品或装置中存在另外的相同元素。
80.提供了本公开内容的摘要以使得读者能够快速识别技术公开内容的本质。基于其将不会被用来解释或限制权利要求的范围或含义的理解来提交摘要。此外,在前述具体实施方式中,可以看到:出于精简本公开内容的目的,在各个示例中将各个特征组合在一起。本公开内容的方法不应该被解释为反映以下意图:任何权利要求需要比权利要求明确阐述的特征更多的特征。而是如同后面的权利要求所反映的,发明主题在于少于单个所公开的示例的所有特征。因此,在每项权利要求自身作为单独要求保护的发明主题例前提下,在此将以下权利要求并入具体实施方式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献