消息通知提示方法和装置与流程

文档序号:22689081发布日期:2020-10-28 12:59阅读:141来源:国知局
消息通知提示方法和装置与流程

相关申请

本申请要求于2018年5月25日提交的标题为“messagenotificationalertmethodandapparatus(消息通知提示方法和装置)”的美国申请15/989,898的优先权。

本公开涉及移动计算和通信领域,具体而言,涉及消息通知提示方法和装置。



背景技术:

本文中所提供的背景描述是出于总体上呈现本公开的上下文的目的。除非在本文中另有指示,否则本部分中描述的材料不是本申请中的权利要求的现有技术,并且不因为包含在本部分中而被承认为现有技术。

随着集成电路、计算和通信技术的进步,存在数量不断增加的膝上型计算机、智能电话、平板、以及其他移动计算和/或通信设备被使用。使若干计算和/或通信设备彼此接近地定位并且在任何一个时刻都是活跃的并非不常见的。在此类情况下,所有这些设备针对同一条传入消息生成音频通知提示是令人厌烦的,该传入消息是电子邮件、facebook通知、twitter消息等等。由于网络路径延迟和设备‘轮询’设置,同一消息的不同实例可在略微不同的时间到达不同的设备,导致对到达的各个连续音频通知提示的交响。这在用餐时间或其他社交活动时尤其令人厌烦。

附图说明

通过下列具体实施方式并结合所附附图,可容易地理解实施例。为了便于该描述,类似的附图标记指示类似的结构元件。在所附附图的图中,以示例方式而不以限制方式图示出实施例。

图1图示出根据各实施例的具有本公开的音频通知提示协调技术的示例计算和/或通信环境的概览。

图2a-图2b进一步详细地图示出根据各实施例的图1的计算和/或通信环境。

图3a-图3c图示出根据各实施例的用于协调消息通知提示的实例过程。

图4图示出根据各实施例的适合用于实施本公开(或其各方面)的示例计算机系统。

图5图示出根据各实施例的适合用于促进对本公开(或其各方面)的实施的示例计算机可读介质。

具体实施方式

本公开展示了用于消息通知提示的方法和装置。具体而言,本公开展示了用于对针对由多个接近地定位的设备接收同一消息的音频通知提示进行协调。在实施例中,一种用于计算的装置可包括:接收器;扬声器;耦合至该接收器和扬声器的电路;以及用于由该电路操作以用于以下操作的服务:经由接收器接收消息的实例,以及通过扬声器有条件地影响对消息的实例的接收的音频通知提示的提供。在实施例中,有条件地影响提供可包括在确定另一音频通知提示已经或将由用于接收同一消息的另一实例的、另一接近地定位的装置提供时绕过对音频通知提示的提供或使得绕过对音频通知提示的提供。

在以下描述中,参考形成本文一部分的附图,其中贯穿各附图类似的标记指示类似的部分,并且其中通过图示的方式示出了可实施的实施例。应理解,可利用其他实施例,并且可作出结构或逻辑的改变而不背离本公开的范围。因此,以下详细描述不应以限制的意义来理解,并且实施例的范围由所附权利要求及其等效方案来限定。

按照在理解要求保护的主题时最有帮助的方式,可将各种方法的操作依次描述为多个分立的动作或操作。然而,不应当将描述的次序解释为暗示这些操作必然依赖于次序。具体而言,可以不按照呈现的次序执行这些操作。能以不同于所描述的实施例的次序执行所描述的操作。在附加的实施例中,可执行各种附加操作和/或可省略、拆分或组合所描述的操作。

出于本公开的目的,短语“a和/或b”意指(a)、(b)或(a和b)。出于本公开的目的,短语“a、b和/或c”意指(a)、(b)、(c)、(a和b)、(a和c)、(b和c)或(a、b和c)。

说明书可使用短语“在实施例中”或“在多个实施例中”,其可各自指代相同或不同实施例中的一个或多个。此外,如相对于本公开的实施例所使用的术语“包含”、“包括”、“具有”等是同义的。

如下文所使用,术语“接口”和“引擎”可指代以下组件、是以下组件的部分或包括以下组件:专用集成电路(asic)、电子电路、可编程组合逻辑电路(例如,现场可编程门阵列(fpga))、执行一个或多个软件或固件程序的多条编程指令以提供所描述的功能的处理器(共享的或专用的)和/或存储器(共享的或专用的)。

现在参考图1,其中示出根据各实施例的具有本公开的音频通知提示协调技术的示例计算和/或通信环境的概览。如所图示,示例计算和/或通信环境100可包括在特定的时间点彼此接近地定位的数个计算设备102a-102d。例如,在会议中或在家庭晚餐时,数台膝上型计算机、智能电话、平板等等可彼此接近地定位。在示例会议情形中,所有设备可在大体上(而并非精确地)相同的时间接收同一会议有关公告消息或电子邮件(例如,消息106),这导致对接收同一会议有关公告消息或电子邮件的连续音频通知提示(例如108)的交响,除非所有设备均被静音。类似地,在样本家庭晚餐情形中,所有设备可在大体上(而非精确地)相同的时间接收来自社交网络的共同好友的社交消息(例如,消息106),同样导致对接收同一社交消息的音频通知提示(例如,108)的交响,除非所有设备均被静音。

为了防止或降低此类令人厌烦的/不期望的体验的可能性,设备102a-102d可分别结合有本公开的音频通知提示协调(anac)技术。为了便于说明,仅图示出针对设备102d的anac技术的结合。anac技术在设备102a-102d中的相应结合的结果是,典型地,仅一个设备(消息106的实例的最早接收设备)将提供针对接收消息106的音频通知提示108。接收它们相应的消息106的实例的其他设备102a、102c和102d将抑制或绕过对音频通知提示108的生成,由此为设备102a-102d的用户潜在地提供了增强的用户体验。

应当注意,尽管为了便于理解在图1中图示出仅四(4)个设备,但在现实生活中,可能存在在一个时间点彼此接近地定位的更多的用户的更多的设备,其中每个设备潜在地给出针对接收传入消息的音频通知提示。另一方面,在实施例中,实际可被限制于单个用户(也即,具有多个设备(例如,平板和智能电话)的设备将接收仅一个音频提示。

现在参考图2a-图2b,其中进一步详细地图示出根据各实施例的图1的计算和/或通信环境。如所示,在实施例中,设备102a-102d中所结合的anac技术104可包括协调逻辑110。在实施例中,协调逻辑110可被配置成用于监视消息的接收。在实施例中,协调逻辑110可向设备的操作系统的服务注册其自身,从而向协调逻辑110通知关于消息的到达。进一步地,协调逻辑110可被配置成用于在检测到对消息的接收或通知对消息的接收时确定所接收的消息对于其他接近地定位的设备102a-102d中的至少一个设备而言是否已经是已知的。在实施例中,协调逻辑110被提供有用于存储接收到的消息的标识符的相关联的表,以允许协调逻辑110确定接收到的消息对于其他接近地定位的设备102a-102d中的至少一个设备而言是否已经是已知的。在实施例中,消息标识符可以是基于消息的内容生成的散列值(将在下文更全面地描述)。在一些实施例中,消息标识符可以是进一步基于除消息的内容以外的其他次要因素(诸如,组标识符或各个电子邮件地址)生成的散列值,以提供更大粒度范围的协调。例如,如果消息标识符是进一步基于各个电子邮件地址生成的散列值,则提示协调将仅应用于由同一用户(例如,拥有移动电话、膝上型计算机等等的用户)的彼此接近地设置的设备接收的消息。在一些实施例中,消息标识符可以是至少基于发送方和接收方电子邮件地址生成的散列值。在任何情况下,表112也可被称为消息散列表112。

在确定接收到的消息对于其他接近地定位的设备102a-102d中的至少一者而言并非已经已知时,协调逻辑110可为其他设备102a-102d广播消息接收通知120,向这些其他设备102a-102d告知消息的首次接收。在对消息接收通知120的广播时,协调逻辑110可在对生成音频通知提示108的抑制中不采用进一步的措施,从而允许在听觉上向设备102a-102d的用户通知消息的接收。替代地,在实施例中,协调逻辑110可被配置成用于肯定地引起对音频通知提示108的生成(例如,请求设备的操作系统的通知服务生成音频通知提示108)。

另一方面,在确定接收到的消息对于其他接近地定位的设备102a-102d中的至少一者而言已经已知时,协调逻辑110可跳过为其他设备102a-102d广播消息接收通知120。进一步地,协调逻辑110可在对生成音频通知提示108中采取肯定的动作,以避免对已经或将由其他设备102a-102d提供的音频通知提示的复制。在实施例中,协调逻辑110可被配置成用于例如通过关闭设备的音频输出(诸如,扬声器)或请求设备的操作系统的通知服务跳过生成和/或跳过使得输出音频通知提示108来肯定地抑制对音频通知提示108的输出。

在实施例中,协调逻辑110可被实现为设备的独立的中间件服务。在其他实施例中,协调逻辑110可与接收消息的应用中相应的应用集成在一起。在另外的其他实施例中,协调逻辑110可与设备的操作系统(例如,操作系统的消息通知服务)集成在一起。

在实施例中,消息接收通知120能以人类可听频率范围之外的频率作为“超声”消息被广播,以使得其将不会被设备102a-102d的用户听到。图2b图示出示例“超声”消息接收通知200(以人类可听频率之外的频率)。示例“超声”消息接收通知200可包括前缀部分202和主体部分204。前缀部分202可包括信号签名,该信号签名使得接收设备能够将信号识别为“超声”消息接收通知200。主体部分204可包括用于标识消息的消息的散列和用于标识广播设备的设备标识符。

现在参考图3a-图3c,其中示出根据各实施例的用于协调消息通知提示的示例过程。如果图示,用于协调消息通知提示的过程可包括过程300、320和340。过程300、320和340可例如由稍早所描述的设备102a-102d中所结合的anac技术的协调逻辑110执行。在替代实施例中,过程300、320和340可包括更多或更少的操作,这些操作可被组合或划分,或者使这些操作以不同的次序被执行。

过程300可与监视新的消息的接收相关联。过程300可开始于框302,在框302处,检测消息的接收或到达。可例如通过设备的接收器来接收消息。接下来在框304处,可作出对接收到的消息对于接近地定位的/相邻的设备中的至少一者而言是否已经是已知的确定(将在稍后参考图3b来更全面地讨论)。

如果接收到的消息对于接近地定位的/相邻的设备中的至少一者而言已经是已知的(是(“y”)分支),则过程300可进行至框310。

在框310处,对音频消息通知提示的提供可被跳过或被抑制。如稍早时所描述,取决于实现方式,使接收到的消息随后被显示在接收设备上(在设备的用户请求时)而并非提供对消息到达的任何音频提示可涉及协调逻辑110的部分上的肯定动作,诸如,暂时关闭设备的音频输出(例如,扬声器)、或请求操作系统的通知服务跳过触发音频提示。

另一方面,如果接收到的消息对于接近地定位的/相邻的设备中的至少一者而言并非已经是已知的(否(“n”)分支),则过程300可进行至框306。在框306处,能以人类可听频率之外的频率为相邻的设备广播“超声”消息接收通知。在实施例中,用户设备可包括功率节省模式,当该模式被用户选择时,设备将使接收器(例如,话筒)在有限的持续时间内上电以听取“超声”消息。接下来,在框308处,可提供音频消息通知提示。此后,在设备的用户请求时,可将接收到的消息显示在接收设备上。如稍早时所描述,取决于实现方式,对音频消息通知提示的提供可涉及协调逻辑110的部分上的肯定动作,诸如请求操作系统的通知服务触发音频提示或者不采取影响由操作系统的通知服务对音频提示的触发的动作。

图3b图示出用于实现图3a的框304处执行的确定的过程的实施例。用于实现在图3a的框304处执行的确定以探知接收到的消息对于相邻设备中的至少一个设备而言是否已近已知的过程320可包括在框322-326处执行的操作。

过程320可开始于框322处。在框322处,可至少部分地基于消息的内容来生成针对接收消息的散列值,以充当消息的标识符。接下来,在框324处,可使用所生成的散列来作出确定以探知消息的散列是否已经被存储在消息散列表中。消息散列在消息散列表中的存在可表示消息对于其他相邻的设备中的至少一者而言已经是已知的(稍早时已由其他相邻设备中的至少一者接收)。如果确定的结果指示消息散列已经在消息散列表中(是“y”分支),则过程320可结束,并且可作出消息对于其他相邻设备中的至少一者而言已经已知的推断。另一方面,如果确定的结果指示消息散列尚未处于散列表中(否“n”分支),则过程320进行至框326。在框326处,消息散列可与表示设备的标识符一起被存储在消息散列表中,并且可作出消息对于其他相邻设备中的至少一者而言并非已经已知的推断。该设备是多个设备中最先接收消息的设备。

图3c图示出用于听取或监视由相邻设备广播的“超声”消息接收通知的过程的实施例。用于监视或听取由相邻设备广播的“超声”消息接收通知的过程340可包括在框342-328处执行的操作。

过程340可开始于框342处。在框342处,可例如经由设备的话筒来检测/接收“超声”消息接收通知。接下来在框344处,可作出对“超声”消息接收通知是否由另一设备广播的确定。如果确定的结果指示“超声”消息接收通知不由另一设备广播(否“n”分支),则过程340可结束。“超声”消息接收通知由设备自身广播。在实施例中,可至少部分地基于“超声”消息接收通知中所包括的设备标识符来作出确定。

另一方面,如果确定的结果指示“超声”消息接收通知由相邻设备广播(是“y”分支),则过程340可进行至框348或者任选地首先在框346处。对于其中“超声”消息接收通知例如由于广播的持续时间而可能被设备接收多于一次的实施例,过程340可首先进行至框346。在框346处,可作出对消息散列和设备标识符对是否已经被保存在消息散列表中的确定。如果确定的结果指示消息散列和设备标识符对已经被保存在消息散列表中(是“y”分支),则过程340可停止。如果确定的结果指示消息散列和设备标识符对尚未被保存在消息散列表中(否“n”分支),则过程340可进行至框348。

在框348处,消息散列和设备标识符对可被保存在消息散列表中,允许设备在该设备稍后接收同一消息时确定消息对于相邻设备而言已经是已知的。

现在参考图4,其中图示出根据各实施例适合用于实施本公开(或其各方面)的计算机设备的框图。如所示,在实施例中,计算机设备400可包括一个或多个处理器402并且包括系统存储器404。每个处理器402可包括一个或多个处理器核。在实施例中,一个或多个处理器402可包括一个或多个硬件加速器403(诸如,fpga)。系统存储器404可包括任何已知的易失性或非易失性存储器。另外,计算机设备400可包括(多个)大容量存储设备406(诸如固态驱动器)、输入/输出设备接口408(用于与例如扬声器、话筒等等412接口)、以及通信接口410(诸如具有它们相应的发射器、接收器或收发器的串行接口、近场通信、网络接口卡、调制解调器等等)。可经由系统总线414将这些元件彼此耦合,该系统总线414可表示一个或多个总线。在多个总线的情况下,可通过一个或多个总线桥(未示出)来桥接它们。

这些元件中的每个元件可执行在本领域中已知的其常规功能。

具体而言,系统存储器404和(多个)大容量存储设备406可被采用以存储实现稍早时所描述的操作的编程指令的可执行代码的工作副本和永久副本,这些操作例如但不限于与协调逻辑110(与消息散列表112)相关联的操作。在实施例中,编程指令的可执行代码还可实现具有通知服务422的操作系统(os)和/或一个或多个应用420。在实施例中,如稍早时所描述,协调逻辑110可被实现为独立的中间件、与应用420集成在一起、或与os422集成在一起。

编程指令可包括由(多个)处理器402所支持的汇编器指令或可被编译为此类指令的高级语言(诸如例如,c)。在实施例中,由应用420、协调逻辑110和/或os422执行的功能中的一些可替代地由硬件加速器403实现。

可通过例如诸如紧凑盘(cd)之类的分发介质(未示出)、或通过通信接口410(来自分布式服务器(未示出))将用于配置硬件加速器403的编程指令的可执行代码和/或位流的永久副本置入到工厂中或现场的(多个)永久大容量存储设备406或硬件加速器403中。

除了使用计算机设备400来主控协调逻辑110和消息散列表112之外,元件410-412的构成可以以其他方式是已知的,并且相应地将不进一步描述。

现在参考图5,其中图示出根据各实施例的示例非瞬态计算机可读存储介质,该示例非瞬态计算机可读存储介质具有指令,这些指令被配置成用于实施与应用420、协调逻辑110和/或os422相关联的操作中的全部或所选择的操作。如图所示,非瞬态计算机可读存储介质602可包括数条编程指令604的可执行代码。编程指令604的可执行代码可被配置成用于使得系统(例如,设备102a-102d或计算机设备400)能够响应于可执行代码/编程指令的执行而执行例如与协调逻辑110相关联的各种操作。在替代实施例中,可执行代码/编程指令604可替代地被设置在多个非瞬态计算机可读存储介质602上。在另外的其他实施例中,可执行代码/编程指令604可被编码在诸如信号之类的瞬态计算机可读介质中。

在实施例中,处理器与计算机可读存储介质封装在一起,该计算机可读存储介质具有被配置成用于实施稍早时所描述的操作中的全部或所选择的操作的编程指令604的可执行代码中的一些或全部。对于一个实施例,处理器可与此类可执行代码604封装在一起,以形成封装中系统(sip)。对于一个实施例,处理器可与具有此类可执行代码604的计算机可读存储介质集成在同一管芯上。对于一个实施例,处理器可与具有此类可执行代码604的计算机可读存储介质封装在一起,以形成芯片上系统(soc)。对于至少一个实施例,soc可在例如客户端设备102a-102d中利用。

由此,已经描述了用于消息通知的方法和装置。所描述的实例实施例包括但不限于:

示例1可以是一种用于计算的装置,包括:接收器;扬声器;电路,耦合至接收器和扬声器;以及用于由电路操作以进行以下操作的服务:经由接收器接收消息的实例,以及通过扬声器影响对接收消息的实例的音频通知提示的提供;其中,有条件地影响提供包括在确定另一音频通知提示已经或将由用于接收同一消息的另一实例的、另一接近地定位的装置提供时绕过对该音频通知提示的提供或使得绕过对该音频通知提示的提供。

示例2可以是示例1,其中,在接收消息的实例时,服务确定是否存在已经接收同一消息的另一实例并且已经提供或将要提供另一音频通知提示的此类另一接近地定位的装置。

示例3可以是示例2,其中,为了确定是否存在此类另一接近地定位的装置,服务至少部分地基于消息的内容来生成该消息的散列,并且针对该散列先前是否已近被存储在装置上的消息散列表中进行检查。

示例4可以是示例3,其中,在生成散列并且确定散列先前尚未被存储在消息散列表中时,服务将该散列与装置的设备标识符一起存储在消息散列表中。

示例5可以是示例2,其中,在确定不存在此类另一接近地定位的装置时,服务使得具有消息的散列和装置的设备标识符的通知针对接近地定位的装置被广播。

示例6可以是示例5,其中,为了使得具有消息的散列和装置的设备标识符的通知针对接近地定位的装置被广播,服务使得具有消息的散列和装置的设备标识符的超声消息接收通知针对接近地定位的装置以人类可听频率之外的频率被广播。

示例7可以是示例5,进一步包括话筒,其中,服务进一步利用话筒来听取对具有消息的散列和设备标识符的通知的广播。

示例8可以是示例7,其中,在接收具有消息的散列和设备标识符的通知时,服务进一步确定该通知由装置广播还是由另一接近地定位的装置广播。

示例9可以是示例8,其中,在确定通知被另一接近地定位的装置广播时,服务将通知存储到消息散列表中。

示例10可以是示例1-9中的任一项,进一步包括具有服务的应用或具有服务的操作系统。

示例11可以是一种用于计算的方法,包括:由计算设备接收消息的实例;由计算设备确定是否存在已经接收到同一消息的另一实例的另一接近地定位的计算设备;以及在确定不存在已经接收到同一消息的另一实例的此类另一接近地定位的计算设备时,使得通知针对接近地定位的计算设备被广播。

示例12可以是示例11,进一步包括:在确定存在已经接收到同一消息的另一实例的另一接近地定位的计算设备时,由计算设备有条件地影响对由该计算设备接收消息的实例的音频通知提示的提供。

示例13可以是示例11,其中,确定是否存在已经接收同一消息的另一实例的另一接近地定位的计算设备包括:至少部分地基于消息的内容来生成该消息的散列,以及针对该散列先前是否已经被存储在计算设备的消息散列表中来进行检查。

示例14可以是示例13,进一步包括:在生成散列并且确定该散列先前尚未被存储在消息散列表中时,将散列与计算设备的设备标识符一起存储在消息散列表中。

示例15可以是示例13,其中,使得通知针对接近地定位的计算设备被广播包括:使得具有消息的散列和计算设备的设备标识符的超声消息接收通知针对接近地定位的计算设备以人类可听频率之外的频率被广播。

示例16可以是示例11-15中的任一项,进一步包括:针对与对消息的实例的接收相关联的由接近地定位的计算设备对通知的广播进行监视。

示例17可以是示例16,进一步包括:在检测到来自接近地定位的计算设备的通知时,从该通知提取消息的散列和设备标识符;以及将该通知的消息和设备标识符存储到消息散列表中。

示例18可以是至少一种计算机可读介质(crm),包括多条指令,该多条指令被布置成用于使得设备响应于由该设备的处理器对这些指令的执行而对服务进行操作,以用于:针对与由其他接近地定位的设备对消息的实例的接收相关联的、由这些其他接近地定位的设备广播的通知进行监视;以及在接收到来自这些其他接近地定位的设备中的一者的通知时,其中该通知具有消息的散列和设备标识符,将具有该消息的散列和该设备标识符的通知存储到消息散列表中。

示例19可以是示例18,其中,服务进一步用于:接收消息的实例;以及有条件地影响对接收消息的实例的音频通知提示的提供;其中,有条件地影响提供包括:确定另一音频通知提示已经或将由用于接收同一消息的另一实例的另一接近地定位的设备提供,以及绕过对音频通知提示的提供或使得对音频通知提示的提供被绕过。

示例20可以是示例19,其中,在接收所述消息的实例时,服务确定是否存在已经接收同一消息的另一实例并且已经提供或将要提供另一音频通知提示的此类另一接近地定位的设备。

示例21可以是示例20,其中,为了确定是否存在已经接收同一消息的另一实例的另一接近地定位的设备,服务至少部分地基于消息的内容来生成该消息的散列,以及针对散列先前是否已经被存储在计算设备的消息散列表中进行检查。

示例22可以是示例21,其中,在生成散列并且确定该散列先前尚未被存储在消息散列表中时,服务将该散列与设备的设备标识符一起存储在消息散列表中。

示例23可以是示例20,其中,在确定不存在此类另一接近地定位的设备时,服务使得具有消息的散列的通知和设备的设备标识符的通知针对接近地定位的设备被广播。

示例24可以是示例23,其中,为了使得具有消息的散列和设备的设备标识符的通知针对接近地定位的设备被广播,服务使得具有消息的散列和设备的设备标识符的超声消息接收通知针对接近地定位的设备以人类可听频率之外的频率被广播。

示例25可以是示例22,其中,服务进一步听取对具有消息的散列和设备标识符的通知的广播;在接收到具有消息的散列和设备标识符的通知时,服务进一步确定该通知是由该设备广播还是另一接近地定位的设备广播;以及在确定通知由另一接近地定位的设备广播时,服务将该通知存储到消息散列表中。

虽然出于描述的目的已经说明和描述了某些实施例,但经计算以实现相同目的的各种各样的替代和/或等效实施例或实现方式可替代所示和所描述的实施例,而不背离本公开的范围。本申请旨在涵盖本文中所讨论的实施例的任何修改或变体。因此,明确地旨在仅由权利要求来限定本文所描述的实施例。

在本公开记载“一个”或“第一”要素或其等效物的情况下,这种公开包括一个或多个此类要素,既不要求也不排除两个或更多个此类要素。此外,所标识的要素的顺序指示符(例如,第一、第二或第三)用于在要素之间进行区分,并且不指示或暗示所要求或所限定数量的此类要素,也不指示此类要素的特定位置或顺序,除非另外特别声明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1