用于基于可用性的通知提供的系统及方法

文档序号:10626996阅读:261来源:国知局
用于基于可用性的通知提供的系统及方法
【专利摘要】本文所描述的实施例一般地涉及经由网络提供通知。计算系统可以检测与设备相关联的上下文信息。上下文信息可以包括例如基于设备的传感器的信息和/或基于设备的应用的信息。计算系统可以基于上下文信息来判定设备是否愿意接收通知(例如,任务或警告)。计算系统可以向服务器指示设备是否愿意接收通知。如果设备愿意接收通知,则服务器可以将通知传送给设备。可以描述和/或主张其它实施例。
【专利说明】
用于基于可用性的通知提供的系统及方法
技术领域
[0001] 本发明的实施例一般地涉及数据处理技术领域,更特别地涉及基于与设备相关联 的上下文信息向设备提供通知。
【背景技术】
[0002] 本文提供的【背景技术】描述是为了一般性地呈现本公开的背景的目的。本发明的发 明人的工作在该【背景技术】部分以及在提交时其它未定性为现有技术的说明书的方案所描 述的范围内,既不明确地承认作为本公开的现有技术也不暗示地承认作为本公开的现有技 术。除非本文指出,否则在该部分中所描述的方法不是本公开的现有技术并且不因包含在 该部分中而被承认为现有技术。
[0003] 计算系统可以被配置为通过诸如因特网的网络来进行通信。经常,一个计算系统 可能希望向另一计算系统提供通知,诸如在安泊警告(amber alert)的情况下。可选地,一 个计算系统可能希望向另一计算系统提供任务,诸如由另一计算系统的用户执行的任务。 [0004]经常,通过网络传送的信息在不考虑计算系统对进入信息(例如,任务或警告)的 接受性的程度的情况下来执行。例如,任务可以仅响应于来自该接收计算系统的请求而传 送给计算系统,或者警告可以传送给计算系统,而无论该计算系统的用户是否希望接收该 警告。为了提高任务工作器对任务的接受率,系统可以增加目标任务工作器的量。然而,该 增加可能降低新任务可以被分派给任务工作器的速率。另外,由于任务工作器在不能接受 并且在那些任务上工作时被提供任务,则任务会变成用户和计算资源这两者的负担。相反, 如果任务工作器仅当在登入并且查看任务相关应用时才愿意接受任务,则这样可以减少可 供服务任务使用的任务工作器的量。因此,存在智能判定计算系统是否更可能或愿意从发 送计算系统接收进入信息的需要。
【附图说明】
[0005] 在附图的图中本发明的实施例通过示例而不是限制的方式说明,在附图中相似的 附图标记指示类似的元件。应当指出,在本公开中对本发明"一"或"一个"实施例的提及不 一定是相同的实施例,并且它们是指至少一个。
[0006] 图1是示出了根据各个实施例的基于与设备相关联的上下文信息向那些设备提供 通知的环境的框图。
[0007]图2是示出了根据各个实施例的与设备通信地耦合的计算系统的框图,该计算系 统要指示设备是否被提供通知。
[0008] 图3是示出了根据各个实施例的具有利于向设备提供通知的通知提供模块的计算 系统的框图。
[0009] 图4是示出了根据各个实施例的利于向设备提供任务通知的方法的流程图。
[0010] 图5是示出了根据各个实施例的基于与设备相关联的应用和传感器信息向设备提 供通知的方法的流程图。
[0011] 图6是示出了根据各个实施例的基于与设备相关联的上下文信息判定是否要向设 备提供通知的方法的流程图。
[0012] 图7是示出了根据各个实施例的基于与设备相关联的上下文信息向设备提供通知 的方法的流程图。
【具体实施方式】
[0013] 在下面的详细说明中,参考了附图,附图构成说明书的一部分,其中在全文中相似 的附图标记指代相似的部件,并且其中通过可以实践的示例实施例的方式来进行示出。应 当理解的是,可以使用其它实施例,并且可以在不偏离本公开范围的情况下做出结构或逻 辑上的变化。因此,下面的详述不应在限制的意义上考虑,并且实施例的范围由随附权利要 求书及其等同内容限定。
[0014] 按照最有助于理解所要求保护的权利要求主题的方式,各个操作可以被依次描述 为多个分立的动作或操作。然而,说明书的顺序不应解释为暗指这些操作必然是顺序相关 的。特别地,这些操作可以不按呈现的次序来执行。所描述的操作可以在不同于所描述实施 例的顺序来执行。可以执行各个附加操作和/或可以在附加实施例中省去所描述的操作。 [00 15]为了本公开的目的,短语"A或B"和"A和/或B"是指(A)、⑶或(A和B)。为了本公开 的目的,短语"A、B和/或C"是指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。
[0016] 说明书可以使用短语"在实施例中"或"在各实施例中",它们可以分别指相同或不 同的实施例中的一个或多个。此外,术语"包括"、"包含"、"具有"等如结合本公开实施例所 使用的,是同义的。
[0017] 如本文所使用的,术语"模块"和/或"逻辑"可以指代,或者是其一部分,或者包括: 执行一个或多个软件或固件程序的专用集成电路("ASIC")、电子电路、处理器(共享、专用 或群组)、和/或存储器(共享、专用或群组);组合逻辑电路;和/或提供所描述功能的其它适 合的硬件组件。
[0018] 首先从图1开始,框图示出了根据各个实施例的基于与设备相关联的上下文信息 来向那些设备提供通知的环境100的一个实施例。环境可以包括但不限于至少一个设备 102、通知可用性系统110、通知提供系统120和外部计算系统150。
[0019] 除了本公开的教导之外,设备1〇2可以包括例如服务器、桌面型计算机、膝上型计 算机、便携式电子计算机设备、智能电话、个人数据助理、平板式计算机、电子书阅读器或者 基本上任何适于通过网络来传送信号的其它计算机设备。包括设备102的计算系统的示例 包括可从加拿大Hewlett Packard of Palo Alto获得的服务器、可从德克萨斯Dell Computer of Austin获得的桌面型计算机或膝上型计算机、可从加拿大Apple Computer of Cupertino获得的智能电话和计算平板式设备,可从日本Nintendo Corporation of Tokyo获得的游戏控制台,等等。
[0020] 设备102可以在其中存储多个模块104,这些模块可以包括被配置为检测指示设备 102的上下文的各种数据的硬件、软件和/或固件模块。在各个实施例中,模块可以包括传感 器和/或应用。模块104的示例包括应用和/或传感器。在实施例中,应用可以包括语音和/或 视频通信应用(例如,电话、视频会议等)、文本消息传送应用、社交媒体应用、网络浏览器应 用、时间安排应用(例如,日历、待办事列表等)、网络连接应用,等等。传感器可以包括全球 导航卫星系统("GNSS")传感器(例如,全球定位系统)、温度计、环境光传感器、麦克风、惯性 传感器、加速度计等等。在一个实施例中,模块104中的至少一个可以是被配置为将上下文 信息从模块104提供给通知可用性系统110的应用。
[0021] 设备102可以经由互连112与通知可用性系统通信地耦合,互连112可以是一个或 多个总线或网络(例如,包括因特网在内的有线网和/或无线网的组合)。在各个实施例中, 通知可用性系统110可以集成在设备102中,诸如设备102的硬件、软件或固件。
[0022] 在另一实施例中,通知可用性系统110可以与设备102分离。例如,除了本公开的教 导外,通知可用性系统110可以是服务器和/或云计算系统。在这些实施例中,通知可用性系 统110可以被配置为经由类似于互连112的多个网络收集上下文信息并且将基于此的通知 提供给类似于设备102的多个设备。
[0023] 在实施例中,通知可用性系统110可以被配置为收集与设备102的上下文相关联的 信息,诸如由一个或多个模块104提供的信息。至少部分地基于所收集的信息,通知可用性 系统110可以被配置为判定设备是否要被提供通知。在各个实施例中,通知可用性系统110 可以被配置为计算指示设备102是否愿意接收通知的值,诸如百分比值或布尔值。在另一实 施例中,通知可用性系统110可以被配置为提供作为设备102是否愿意接收通知的指示的收 集的上下文信息作为设备是否要被提供通知的判定。
[0024]通知可用性系统110可以经由一个或多个网络114与通知提供系统120通信地耦 合,一个或多个网络114可以是包括因特网在内的有线网和/或无线网的任意组合。除了本 公开的教导之外,通知提供系统120可以包括例如服务器、桌面型计算机、膝上型计算机、便 携式电子计算机设备、智能电话、个人数据助理、平板式计算机、电子书阅读器或者基本上 任何其它适于经由网络传送信号的计算机设备。包括通知提供系统120的计算系统的示例 包括可从加拿大Hewlett Packard of Palo Alto获得的服务器、可从德克萨斯Dell Computer of Austin获得的桌面型计算机或膝上型计算机、以及可从加拿大Apple Computer of Cupertino获得的智能电话和计算平板式设备。
[0025] 通知提供系统120可以被配置为识别要被提供给设备102的通知。根据实施例,通 知可以包括要由设备102呈现(诸如,通过可视呈现、音频呈现和/或触觉呈现)给用户的信 息。例如,通知可以包括警告和/或任务。警告的示例包括安珀警告、天气警告、交通警告等 等。任务可以包括具有可定义的完成点并且需要来自用户的输入和/或消耗计算资源的过 程,例如,任务可以是用户在相对较短时间段内(例如,数秒或几分钟的持续期间)所工作的 项目,诸如接收用户输入以回答问题,接收用户输入以识别图像内容,消耗处理器循环来处 理数据,等等。
[0026] 在各个实施例中,通知提供系统120可以不识别出通知具体地要提供给设备102, 而是可以识别出要提供给包括设备102在内的一组设备的通知。在各个实施例中,该通知可 以从外部计算系统150(例如,第三方服务器)经由网络140(例如,一个或多个有线网和/或 无线网,诸如因特网)提供给通知提供系统120。
[0027] 通知提供系统120可以被配置为基于通过通知可用性系统110提供的上下文信息 来判定设备102是否要被提供通知。例如,通知提供系统120可以被配置为评估用于指示设 备102是否愿意接收通知的值(例如,布尔值或百分比值)。在另一实施例中,通知提供系统 120可以基于与设备120相关联的上下文信息通过计算用于设备102的值(例如,布尔值或百 分比值)来判定设备102是否要被提供通知。通知提供系统120可以针对多个设备(包括设备 102)执行多个判定以判定相应的设备是否要被提供通知。
[0028]基于该判定,通知提供系统120可以被配置为例如经由互连112和/或网络114中的 一个或两者将通知传送给设备102。在实施例中,通知提供系统120和/或外部计算系统150 可以被配置为将通知提供给设备102,而不存在通过通知可用性系统110的通信。例如,通知 提供系统120可以被配置为经由网络114与设备102进行通信,网络114可以是因特网。
[0029] 在通知是任务的实施例中,通知提供系统120可以被配置为接收与任务相关联的 结果的指示(例如,从设备102和/或经由通知可用性系统110)。在实施例中,设备102可以被 配置为将结果提供给通知提供系统120和/或外部计算系统150,而不存在经由通知可用性 系统110的通信。例如,设备102可以被配置为经由网络114将结果提供给通知提供系统120 和/或外部计算系统150,网络114可以是因特网。
[0030] 现在参考图2,示出了图示说明根据各个实施例的计算系统200的框图,计算系统 200与设备250通信地耦合,计算系统将指示设备250是否将被提供通知。计算系统200可以 是通知可用性系统110的实施例,设备250可以是设备102的实施例,和/或传感器252和/或 应用254可以是图1所示的模块104的实施例。
[0031] 在各个实施例中,设备250可以经由一个或多个有线网和/或无线网(诸如因特网) 与计算系统200通信地耦合。例如,计算系统200可以是云计算服务器。
[0032] 在另一实施例中,设备250可以诸如经由一个或多个计算机总线或其它电连接手 段来与计算系统200电耦合。在这些实施例中,设备250和计算系统200可以共享一个或多个 组件,包括处理器202、网络接口 230、存储器204和/或壳体(未示出)。进一步深入该实施例, 通知可用性模块208可以在设备250和计算系统200中被实现为软件、硬件、固件或其组合。 [0033]类似地,存储设备240可以与设备250和/或计算系统200通信地耦合。存储设备240 意在代表适合于存储数据的任何存储介质。存储设备240的示例包括闪存(例如,NAND闪 存)、电可擦除可编程只读存储器(EEPR0M)、硬盘驱动器(HDD),等等。在一些实施例中,存储 设备240可以包括数据库。在一个实施例中,存储设备240可以经由一个或多个有线网和/或 无线网(例如,因特网)来访问,诸如其中存储设备240被提供作为云存储。在另一实施例中, 存储设备240可以与计算系统200的组件204、202、230和/或设备250的组件252、254、256、 258电耦合(例如,经由一个或多个计算机总线)。因此,存储设备240可以包含在设备250和/ 或计算系统200的壳体(未示出)中。
[0034] 如图所示,设备250可以包括但不限于一个或多个传感器252、一个或多个应用 254、显示器256和用户接口 258。与设备250的组件252、254、256、258中的一个或多个相关联 的指令可以由一个或多个处理器来执行,诸如计算系统200的处理器202,并且可以被配置 为由操作系统(例如,操作系统212)来执行。显示器256意在代表本领域公知的各种显示元 件。同样,用户接口 258意在代表适合于允许通过用户与设备250交互的各种组件,例如用户 接口 258可以在显示器256上作为图形用户接口或者经由命令行接口而呈现给用户。为了接 收用户输入,用户接口 258可以用硬件、软件或两者的组合来实现,并且可以包括适合于用 户输入的一个或多个硬件组件(例如,键盘、鼠标、触摸屏、姿势识别、麦克风等)和/或可以 与其通信地耦合。
[0035]在各个实施例中,应用254可以包括语音和/或视频通信应用(例如,电话、视频会 议等)、文本消息发送应用、社交媒体应用、网络浏览器应用、时间安排应用(例如,日历、待 办事列表等)、网络连接应用等中的一个或多个。在各个实施例中,传感器252可以包括GNSS 传感器(例如,全球定位系统)、温度计、环境光传感器、麦克风、惯性传感器、加速度计等中 的一个或多个。
[0036] 如图所示,计算系统200可以包括但不限于一个或多个处理器202、存储器204、和 网络接口 230。处理器202意在代表各种处理器布置,包括但不限于具有各种执行速度和功 耗的单核或多核处理器以及各种类型的处理器(图形处理单元、微处理器等)的布置。类似 地,存储器204意在代表具有一级或多级高速缓存以及各种类型的各种体系结构的各种存 储器布置,诸如动态随机存取、闪存,等等。
[0037]网络接口 230可以由传送电路系统和/或接收电路系统构成。网络接口 230可以被 配置为经由任意数量的不同的有线网和/或无线网来传送和/或接收数据。因此,一个或多 个网络234意在代表本领域已知的各种网络。网络234的示例可以包括有线网或无线网、局 域网或广域网、私有网或公共网络,包括因特网。
[0038]在各个实施例中,操作系统212可以装载到存储器204中并且由计算系统200的处 理器202执行。操作系统212可以被配置为开始指令的执行,诸如由通知可用性模块208提供 的指令。特别地,操作系统212可以适于充当用于运行通知可用性模块208的平台。操作系统 212可适于跨计算系统200的组件执行其它操作,包括线程、资源管理、数据存储控制以及其 它类似的功能。
[0039]操作系统212可以使得处理器(多个)执行用于通知可用性模块208的指令。通知可 用性模块208可以包括表示被配置为从一个或多个传感器252和/或应用254收集信息的指 令的代码。在各个实施例中,通知可用性模块208可以被配置为将收集的信息存储在存储设 备240中。该信息可以指示与设备250相关联的上下文。
[0040] 在计算系统200包括设备250的实施例中,通知可用性模块208可以包括应用254中 的一个。在计算系统200可以经由网络234与设备250连接的另一实施例中,计算系统200可 以被配置为通过网络接口 230从传感器252和/或应用254接收信息。
[0041]基于存储在存储设备240中的信息,通知可用性模块208可以被配置为判定设备 250是否将被提供通知。在一个实施例中,通知可用性模块208可以计算指示设备250是否将 被提供通知的值。该值可以为例如布尔值(例如,"是(yes)"提供通知,或"否(no)"不提供通 知)或者指示设备250愿意接收通知的程度的百分比值。
[0042]在另一实施例中,通知可用性模块208可以被配置为基于要提供给远程计算系统 (例如,通知提供系统)的指示设备250的上下文的存储信息的选择或识别来判定设备250是 否将被提供通知。例如,通知可用性模块208可以从一个或多个传感器252和/或应用254中 选择指示设备250的上下文的数据以使远程计算系统可以有利于实现设备250是否将被提 供通知的判定。
[0043]此外,通知可用性模块208可以被配置为分析与设备250相关联的存储数据以判定 设备250是否将被提供通知。在各个实施例中,通知可用性模块208可以基于先前收集信息 (诸如,指示设备250的不同上下文的不同集合的信息)的分析,来估计或预测设备250是否 将被提供通知。
[0044]例如,通知可用性模块208可以被配置为存储通过用户接口 258接收到的指示设备 250是否将被提供通知的输入并且将设备250的相应的上下文与相应的输入相关联。因此, 设备250当基于从传感器252和/或应用254收集到的信息而被判定为在随后的上下文中时, 通知可用性模块208可以基于来自类似的先前上下文的输入来判定设备是否将被提供通 知。因此,在实施例中,通知可用性模块208可以动态地判定通知是否要提供给设备250,而 无需通过用户接口 258的指示通知请求的显式输入。
[0045]根据一个实施例,通知可用性模块208可以被配置为允许关于设备250是否将被提 供通知的判定的异常。通知可用性模块208可以被配置为判定在一些上下文中(例如,在 GNSS传感器252指示设备250正以驾驶速度行驶的情况下,在电话应用指示设备250正参与 语音呼叫的情况下,等等)判定设备250将不被提供通知,但是可以被配置为允许诸如相关 的和/或紧急通知之类的通知。例如,通知可用性模块208可以被配置为当设备位于运动场 (例如,棒球体育馆)时判定设备250将不被提供任务,但是可以配置用于允许与特定运动事 件(例如,棒球)相关的任务的异常。因此,通知可用性模块208可以配置为计算指示异常是 否允许提供一个或多个通知的相关值。
[0046]基于判定,通知可用性模块208可以被配置为使网络接口 230将指示经由网络234 传送到另一计算系统(未示出)。该指示可以是匿名的从而保护与设备250和/或计算系统 200相关联的身份。例如,安珀警告可以由另一计算系统识别为要提供给在特定地理位置的 设备的通知,并且通知可用性模块208可以被配置为提供具有判定的指示(例如,作为判定 的指示的部分)或者与判定的指示分离的设备位置的匿名指示。
[0047]在一个实施例中,通知可用性模块208可以响应于向设备250提供通知的请求而执 行本文所描述的一个或多个操作。例如,通知可用性模块208可以收集与设备250的上下文 相关联的信息和/或响应于提供通知的请求而判定设备是否将被提供通知。
[0048]基于对判定的指示的传送,通知可用性模块208可以被配置为从另一计算系统(例 如,通知提供系统)经由网络接口 230来接收通知。在各个实施例中,通知可用性模块208可 以被配置为将通知呈现在设备250上,例如,经由显示器256和/或经由传感器252(例如,扬 声器)。
[0049]在实施例中,通知可用性模块208可以被配置为从用户接口 258接收与通知相关联 的输入。例如,通知可用性模块208可以使任务在显示器256上并且经由用户接口 258来呈现 给用户,通知可用性模块208可以接收与任务相关联的输入。在一个实施例中,通知可用性 模块208可以被配置为将与任务相关联的结果的指示通过用户接口 258传送给另一计算系 统。在另一实施例中,通知可用性模块208可以被配置为完成状况的指示(例如,"已完成"、 "进行中",等等)传送作为与任务相关联的结果。
[0050] 转到图3,显示了根据各个实施例的图示说明具有利于提供通知给设备的通知提 供模块308的计算系统300的框图。计算系统300可以是图1所示的通知提供系统120的实施 例。
[0051] 如图所示,计算系统300可以包括但不限于一个或多个处理器302、存储器304和网 络接口 330。处理器302和存储器304可以被配置为执行至少操作系统312和通知提供模块 308 〇
[0052]处理器(多个)302旨在代表各种处理器,包括但不限于具有各种执行速度和功耗 的单核处理器或多核处理器的布置。类似地,存储器304旨在代表各种存储器布置,包括但 不限于具有一级或多级高速缓存的各体系结构的存储器布置以及各种类型的存储器布置, 诸如动态随机存取、闪存,等等。在各个实施例中,存储器304可以包括非易失性存储器和/ 或可以与非易失性存储器通信地耦合,非易失性存储器诸如包括只读存储器、闪速存储器、 铁电RAM(F-RAM)、各种类型的磁性计算机存储设备(例如,硬盘、软盘和磁带)、光盘以及本 领域已知的其它存储元件。
[0053]网络接口 330可以由传送电路系统和/或接收电路系统构成。网络接口 330可以被 配置为经由任意数量的不同的有线网和/或无线网来传送数据和/或接收数据。因此,一个 或多个网络334旨在代表本领域已知的各种网络。网络334的示例可以包括有线网或无线 网、局域网或广域网、私有网或公共网络,包括因特网。
[0054]在各个实施例中,操作系统312可以被配置为开始指令的执行,诸如由通知提供模 块308提供的指令。特别地,操作系统312可以是用于运行通知提供模块308的平台。操作系 统312可以适于跨计算系统300的组件执行其它操作,包括线程、资源管理、数据存储控制以 及其它类似的功能。
[0055] 操作系统312可以使处理器(多个)302和存储器304执行用于通知提供模块308的 指令。通知提供模块308可以包括表示被配置为基于与一个或多个设备的相应上下文相关 联的信息来提供那些设备(未示出)的指令的代码。
[0056]在各个实施例中,通知提供模块308可以从另一计算系统(例如,第三方计算系统) 接收要被提供给一个或多个设备的一个或多个通知。与一个或多个通知相结合,通知提供 模块308还可以接收一个或多个通知要提供给哪些设备的指示。例如,通知提供模块308可 以接收安珀警告,并且与其相结合接收地理位置的指示,其中在该地理位置内的设备将被 提供安珀警告。在另一示例中,通知提供模块308可以接收任务,并且与其相结合,接收上下 文的指示,其中与类似上下文相关联的设备将被提供任务。
[0057]通知提供模块308可以识别要被提供给一个或多个设备的一个或多个通知。在各 个实施例中,通知提供模块308可以被配置为将通知分发给被配置为接收这些通知的所有 设备。例如,计算系统300在其中可以存储要接收任务的设备列表,并且通知提供模块308可 以识别要被分发给所列设备的任务(例如,接收到的任务)。在一个实施例中,通知提供模块 308可以被配置为传送向设备提供通知的请求。
[0058]通过网络接口330,通知提供模块308可以接收与可以被提供通知的设备的上下文 相关联的信息。基于与设备的上下文相关联的信息,通知提供模块308可以判定设备是否将 被提供通知。在各个实施例中,与设备上下文相关联的信息可以是一个值,例如布尔值或百 分比值,并且通知提供模块308可以评估所述值以判定所述设备是否将被提供通知,例如, 通知提供模块308可以将该值与阈值进行比较。
[0059] 在另一实施例中,与设备的上下文相关联的信息可以是来自设备的一个或多个传 感器和/或应用的信息。通知提供模块308可以被配置为评估该信息以判定通知是否将被提 供给设备。例如,通知提供模块308可以评估该信息以判定通知与设备的上下文是否相关或 者在设备当前上下文中为设备提供通知是否不安全(例如,在信息指示设备的上下文位于 用户为驾驶员的汽车中的情况下,通知不能被提供给该设备)。
[0060] 在通知提供模块308判定设备将不被提供通知的情况下,通知提供模块308可以将 通知排入队列以便稍后输送。此后,通知提供模块308可以接收与设备的新上下文相关联的 新信息并且可以判定通知要提供给设备。可选地,通知提供模块308可以丢弃通知,诸如在 通知包括时间敏感的任务的情况下。在通知提供模块308判定出设备将被提供通知的情况 下,通知提供模块308可以使得网络接口 330将通知传送给设备。
[0061] 根据各个实施例,通知提供模块308可以从设备接收对通知的响应。例如,通知提 供模块308可以接收任务的结果,诸如与在设备处与执行任务相关联的完成状况和/或用户 输入的指示。在一个实施例中,通知提供模块308可以被配置为将结果传送到另一计算系统 (例如,提供通知的计算系统)。
[0062] 现在参考图4,流程图示出了根据各个实施例的用于实现为设备提供任务通知的 方法400。方法400可以由设备和与通知提供系统通信地耦合的通知可用性系统来执行,诸 如设备102和与图1的通知提供系统120通信地耦合的通知可用性系统110。虽然图4示出了 多个顺序操作,但是本领域的普通技术人员将理解,方法400的一个或多个操作可以调换 和/或同时执行。
[0063] 在操作405中,通知提供系统可以识别要分发的任务。通知提供系统可以识别与具 体上下文相关或者与配置为接收任务的全部设备相关的任务。
[0064]此后,通知提供系统可以查询一个或多个设备以确定"群"大小,如操作410所示。 例如,通知提供系统可以查询以判定哪些设备能够接收任务,例如,通知提供系统可以查询 以判定哪些设备在与任务相关的地理位置内,通知提供系统可以查询以判定哪些设备与特 定人口统计内的用户相关联,等等。
[0065]与操作410中的该查询相结合,通知提供系统可以判定"群"中的哪些设备将被提 供通知。例如,第一设备可以提供该第一设备在其当前上下文中将不被提供任务的指示,而 第二设备可以提供在其当前上下文中第二设备将不被提供任务的指示。在操作415中,通知 提供系统将任务分发给那些能够并且愿意被提供任务的被查询设备。
[0066]因此,在操作420中,要被分发任务的一个或多个设备工作于任务上,例如,设备可 以结合任务接收用户输入。在操作425中,一个或多个设备可以完成分发的任务并且可以将 相应的结果传送给通知提供系统。
[0067]现在参考图5,流程图示出了根据各个实施例的基于与设备相关联的应用和传感 器信息来向设备提供通知的方法500。方法500可以由设备和与通知提供系统通信地耦合的 通知可用性系统来执行,诸如设备102和与图1的通信提供系统120通信地耦合的通知可用 性系统110。虽然图5示出了多个顺序的操作,但是本领域的普通技术人员将理解方法500的 一个或多个操作可以调换和/或同时执行。
[0068]在操作505中,通知提供系统可以识别要提供给一个或多个设备的通知。因此,通 知提供系统可以查询一个或多个设备以判定一个或多个设备是否可供接收通知。
[0069] 在操作510中,通知提供系统可以判定相应的设备是否可供接收通知。在各个实施 例中,该操作510可以包括向通知可用性系统指示通知提供系统将愿意向相应的设备提供 通知。与该查询相结合,通知可用性模块可以开始执行操作540以判定相应的设备是否要接 收通知。
[0070] 在操作515中,通知可用性系统可以收集与相应的设备中的一个或多个应用相关 联的应用信息。该收集的应用信息可以记录在数据库存储设备中,如操作520所示。类似地, 在操作525中,通知可用性系统可以收集与相应的设备相关联的传感器信息。该收集的传感 器信息可以记录在数据库存储设备中,如操作530中所示。
[0071] 表1示出了可以从设备的应用和/或传感器收集到并且由通知可用性模块存储的 信息的示例。
[0072]
[0073]
[0074] 表 1
[0075] 在继续的操作540中,通知可用性模块可以基于存储在数据库中的记录信息来判 定相应的设备是否将被提供通知。在通知可用性模块判定设备将不被提供通知的情况下, 在操作550中,通知可用性模块可以将设备将不被提供通知的上下文(例如,收集的传感器 和/或应用信息)的指示存储在数据库中。因此,通知可用性模块能够通过访问历史趋势来 减小未来当设备处于相似或相同上下文时的判定的持续期间。
[0076] 在通知可用性模块判定出设备将被提供通知的情况下,通知可用性模块可以如此 指示通知提供系统,并且在操作555中,通知提供系统可以将通知提供给设备。在各个实施 例中,通知可以包括任务。因此,在任选的操作560中,任务可以在设备处完成,并且通知提 供系统可以被提供其结果。
[0077]结合图6,流程图示出了根据各个实施例的基于与设备相关联的上下文信息来判 定设备是否将被提供通知的方法600。方法600可以通过通知可用性系统来执行,诸如图1的 通知可用性系统110。虽然图6示出了多个顺序的操作,但是本领域的普通技术人员将理解, 方法600的一个或多个操作可以调换和/或同时执行。
[0078] 首先从操作605开始,方法600可以包括检测与设备的传感器或应用中的一个或多 个相关联的上下文信息。操作610可以包括基于上下文信息来判定设备是否将被提供通知 的指示。在各个实施例中,操作610可以包括与计算指示设备是否愿意接收通知的值(例如, 布尔值,百分比值、整数等)相关联的操作。在另一实施例中,操作610可以包括确定指示设 备是否愿意接收通知的上下文信息中的部分或全部。
[0079] 在操作615中,方法600可以包括传送设备是否将被提供通知的指示。该指示可以 传送给远程服务器,诸如通知提供系统。在指示规定设备将不被提供通知的情况下,方法 600可以结束。
[0080] 相反,方法600可以前进到操作620,其中指示规定设备将被提供通知。操作620可 以包括至少部分地基于指示的传送而从远程服务器接收通知。在各个实施例中,该通知可 以包括例如任务或警告。在通知包括任务的情况下,任务可以在设备处执行。随后,操作625 可以包括将与通知相关联的结果(例如,任务结果)的指示传送给远程服务器。
[0081] 转到图7,流程图示出了根据各个实施例的基于与设备相关联的上下文信息来向 设备提供通知的方法700。方法700可以由通知提供系统来执行,诸如图1的通知提供系统 120。虽然图7示出了多个顺序操作,但是本领域的普通技术人员将理解,方法700的一个或 多个操作可以调换和/或同时执行。
[0082]首先从操作705开始,方法700可以包括接收与设备的上下文相关联的信息。在各 个实施例中,该信息可以是指示设备不愿意在其当前上下文中接收通知的值。例如,该信息 可以包括布尔值、百分比值、数值等。在另一实施例中,该信息可以包括来自设备的一个或 多个传感器和/或应用的信息。
[0083]在操作710中,方法700可以包括:基于接收的信息来识别设备是否将被提供通知。 在一个实施例中,操作710可以包括与对值进行评估相关联的操作,诸如对布尔值进行评估 或者将百分比与阈值进行比较。在另一实施例中,操作710可以包括与基于来自设备的一个 或多个传感器和/或应用的信息来计算设备是否将被提供通知的判定相关联的操作。
[0084]在操作710的识别指示设备将不被提供通知的情况下,方法700可以结束。相反,方 法700可以进行到操作715,其中操作710指示设备将被提供通知。
[0085]在操作715中,方法700可以包括基于识别来将通知传送给设备。在各个实施例中, 该通知可以是任务或警告。在通知是任务的情况下,任务可以在设备处执行并且设备可以 传送任务的结果。因此,操作720可以包括接收与通知相关联的结果的指示。
[0086]在各个实施例中,示例1可以是用于动态通知提供的计算系统,计算系统包括:一 个或多个第一处理器;物理存储器,其与一个或多个处理器耦合;网络接口,其将数据传送 给远程服务器;以及通知可用性模块,其将被装载到物理存储器中并且由一个或多个处理 器操作以及与网络接口耦合,以用于:收集与设备的上下文相关联的信息;至少部分地基于 所收集的信息,判定设备是否将被提供通知;以及使网络接口将判定的指示传送给远程服 务器。示例2可以包括示例1的计算系统,其中计算系统包括设备。示例3可以包括示例1的计 算系统,其中计算系统是云服务器,并且其中通知可用性模块作为信息收集的部分用于:通 过网络接口并且从设备接收与上下文相关联的信息。示例4可以包括示例1的计算系统,其 中通知可用性模块进一步用于:基于将判定的指示传送给远程服务器,处理通过网络接口 以及从远程服务器接收到的通知。示例5可以包括示例4的计算系统,其中通知指示要被执 行的警告或任务中的一个。示例6可以包括示例5的计算系统,其中通知可用性模块进一步 确定与任务相关联的结果并且使网络接口向远程服务器传送结果。示例7可以包括示例1-6 中任一项所述的计算系统,其中通知可用性模炔基于由设备的一个或多个传感器提供的数 据来收集与上下文相关联的信息。示例8可以包括示例7的计算系统,其中一个或多个传感 器可以包括基于卫星的导航系统、温度计、环境光传感器、麦克风、惯性传感器和加速度计 中的一个或多个。示例9可以包括示例1-6中的任一个所述的计算系统,其中通知可用性模 炔基于由设备的一个或多个应用提供的数据来收集与上下文相关联的信息。示例10可以包 括示例9的计算系统,其中一个或多个应用包括网络连接应用、语音通信应用、文本通信应 用、浏览器和日历应用中的一个或多个。示例11可以包括示例1-6中任一个所述的计算系 统,其中通知可用性模炔基于值的计算来判定设备是否将被提供通知,所述值包括布尔值 或百分比值中的一个。
[0087] 示例12可以是用于向设备提供通知的计算系统,所述计算系统包括:一个或多个 处理器;物理存储器,其与一个或多个处理器耦合;网络接口,其向设备传送数据以及从设 备接收数据;以及通知提供模块,其将被装载到物理存储器中并且由一个或多个处理器操 作以及与网络接口耦合,用于:识别要被提供给设备的通知;通过网络接口接收与设备的上 下文相关联的信息;基于与上下文相关联的信息来判定设备是否将被提供通知;以及基于 该判定而使网络接口向设备传送通知。示例13可以包括示例12的计算系统,其中网络接口 通过云计算系统来向设备传送数据以及从设备接收数据。示例14可以包括示例12的计算系 统,其中通知提供模炔基于通过网络接口从远程服务器接收到的信息来识别通知。示例15 可以包括示例12的计算系统,其中通知指示要被执行的警告或任务中的一个。示例16可以 包括示例15的计算系统,其中通知提供模块进一步处理与任务相关联的并且通过网络接口 从设备接收到的结果。示例17可以包括示例12-16中任一个所述的计算系统,其中由通知提 供模块接收到的信息包括布尔值,并且通知提供模炔基于布尔值来判定设备是否将被提供 通知。示例18可以包括示例12-16中任一个所述的计算系统,其中由通知提供模块接收到的 信息包括百分比值,并且通知提供模炔基于该百分比值来判定设备是否将被提供通知。示 例19可以包括示例12-16中任一个所述的计算系统,其中由通知提供模块接收到的信息包 括与设备的传感器或设备的应用中的至少一个相关联的信息,并且通知提供模炔基于与传 感器或应用中的至少一个相关联的信息来判定设备是否将被提供通知。
[0088] 示例20可以是包括可执行指令的一个或多个非暂时性计算机可读介质,其中指令 响应于由计算系统执行而使计算机系统用于:检测与设备的传感器或应用中的一个或多个 相关联的上下文信息;基于上下文信息来判定设备是否将被提供通知的指示;以及将设备 是否将被提供通知的指示传送到远程服务器。示例21可以包括示例20的一个或多个非暂时 性计算机可读介质,其中判定包括判定设备是否将被提供指示与设备相关联的警告或任务 中的一个的通知。示例22可以包括示例20-21中的任一个所述的一个或多个非暂时性计算 机可读介质,其中传送包括传送包括值或上下文信息中的一项的指示。
[0089] 示例23可以是计算机实现的方法,包括:通过计算机接收与设备的上下文相关联 的信息;通过计算机基于该信息来识别设备是否将被提供通知;以及通过计算机基于该识 别来将通知传送给设备。示例24可以包括示例23所述的方法,其中识别包括识别用于指示 与设备相关联的警告或任务中的一个的通知。示例25可以包括示例23-24中的任一个所述 的方法,其中接收包括接收具有与设备上下文相关联的值或信息中的一个的信息。
[0090] 示例26可以是计算机实现的方法,包括:通过计算系统收集与设备的上下文相关 联的信息;至少部分地基于所收集的信息来判定设备是否将被提供通知;以及向远程服务 器传送判定的指示。示例27可以包括示例26所述的方法,其中计算系统包括设备。示例28可 以包括示例26所述的方法,其中计算系统是云服务器,并且其中方法进一步包括:从设备接 收与上下文相关联的信息。示例29可以包括示例26所述的方法,进一步包括:基于将判定的 指示传送给远程服务器而从远程服务器接收通知。示例30可以包括示例26所述的方法,其 中通知用于指示要被执行的警告或任务中的一个。
[0091] 示例31可以是一种装置,包括:用于通过计算系统来收集与设备的上下文相关联 的信息的单元;用于至少部分地基于所收集的信息来判定设备是否将被提供通知的单元; 以及用于将判定的指示传送给远程服务器的单元。示例32可以包括示例31的装置,其中计 算系统包括设备。示例33可以包括示例31的装置,其中计算系统是云服务器,并且其中装置 进一步包括:用于从设备接收与上下文相关联的信息的单元。示例34可以包括示例31所述 的装置,进一步包括:基于将判定的指示传送给远程服务器而从远程服务器接收通知的单 元。示例35可以包括示例31的装置,其中通知指示要被执行的警告或任务中的一个。
[0092] 示例36可以是一种装置,包括:用于识别要被提供给设备的通知的单元;用于接收 与设备的上下文相关联的信息的单元;
[0093] 用于基于与上下文相关联的信息来判定设备是否将被提供通知的单元;以及用于 基于判定来向设备传送通知的单元。示例37可以包括示例36所述的装置,其中接收信息的 单元包括用于通过云计算系统来接收信息的单元。示例38可以包括示例36所述的装置,其 中用于识别的单元包括用于基于从远程服务器接收到的信息来识别通知的单元。示例39可 以包括示例36所述的装置,其中通知指示要被执行的警告或任务中的一个。示例40可以包 括示例39所述的装置,进一步包括:用于处理与任务相关联的并且从设备接收到的结果的 单元。
[0094] 本发明的实施例还涉及用于执行本文的操作的装置。该计算机程序存储在非暂时 性计算机可读介质中。机器可读介质包括用于以由机器(例如,计算机)可读形式存储信息 的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介 质(例如,只读存储器("ROM")、随机存取存储器("RAM")、磁盘存储介质、光存储介质;闪速 存储器设备)。本文所描述的实施例还可以包括位于云端的存储设备(例如,能经由网络访 问的远程存储设备),其可以与物联网("Ι〇Τ")相关联。在这些实施例中,数据可以分布在多 个机器中(例如,计算系统和/或Ι〇Τ设备),包括本地机器。
[0095] 在前面的图中描绘的过程或方法能够通过包括硬件(例如,电路系统、专用逻辑 等)、软件(例如,实施在非暂时性计算机可读介质上)或两者的组合的处理逻辑来执行。虽 然上文根据一些顺序操作描述了过程或方法,但是应当意识到所描述的操作中的一些能够 按不同的顺序来执行。而且,一些操作可以并行地而不是顺序地执行。
[0096]没有参考任何特定的编程语言来描述本发明的实施例。将意识到,可以使用各种 编程语言来实现如本文所述的发明的实施例的教导。
[0097]在前面的说明书中,已经参考本发明的具体示例性实施例描述了本发明的实施 例。显然,可以在不偏离如随附权利要求中所阐述的发明的更宽泛的精神和范围的情况下 做出多种修改。因此,说明书和附图在示例的意义上而不是限制的意义上考量。
【主权项】
1. 一种用于动态的通知提供的计算系统,所述计算系统包括: 一个或多个第一处理器; 物理存储器,其与所述一个或多个处理器耦合; 网络接口,其将数据传送到远程服务器;以及 通知可用性模块,其要被装载到所述物理存储器中并且由所述一个或多个处理器操作 以及与所述网络接口耦合,用于: 收集与设备的上下文相关联的信息; 至少部分地基于所收集的信息来判定所述设备是否要被提供通知;以及 使得所述网络接口将所述判定的指示传送到所述远程服务器。2. 如权利要求1所述的计算系统,其中,所述计算系统包括所述设备。3. 如权利要求1所述的计算系统,其中,所述计算系统是云服务器,并且其中,所述通知 可用性模块作为信息收集的部分用于: 通过所述网络接口以及从所述设备接收与所述上下文相关联的信息。4. 如权利要求1所述的计算系统,其中,所述通知可用性模块进一步用于: 基于将所述判定的指示传送到所述远程服务器,来处理通过所述网络接口以及从所述 远程服务器接收到的通知。5. 如权利要求4所述的计算系统,其中,所述通知用于指示警告或要被执行的任务中的 一个。6. 如权利要求5所述的计算系统,其中,所述通知可用性模块进一步用于确定与所述任 务相关联的结果,并且使所述网络接口将所述结果传送给所述远程服务器。7. 如权利要求1-6中的任一项所述的计算系统,其中,所述通知可用性模块是基于由所 述设备的一个或多个传感器提供的数据来收集与所述上下文相关联的信息的。8. 如权利要求7所述的计算系统,其中,所述一个或多个传感器包括基于卫星的导航系 统、温度计、环境光传感器、麦克风、惯性传感器、以及加速度计中的一个或多个。9. 如权利要求1-6中的任一项所述的计算系统,其中,所述通知可用性模块用于基于由 所述设备的一个或多个应用提供的数据来收集与所述上下文相关联的信息。10. 如权利要求9所述的计算系统,其中,所述一个或多个应用包括网络连接应用、语音 通信应用、文本通信应用、浏览器、以及日历应用中的一个或多个。11. 如权利要求1-6中的任一项所述的计算系统,其中,所述通知可用性模块用于基于 值的计算来判定所述设备是否要被提供通知,所述值包括布尔值或百分比值中的一个。12. -种用于向设备提供通知的计算系统,所述计算系统包括: 一个或多个处理器; 物理存储器,其与所述一个或多个处理器耦合; 网络接口,其将数据传送到设备以及从所述设备接收数据;以及 通知提供模块,其要被装载到所述物理存储器中并且由所述一个或多个处理器操作以 及与所述网络接口耦合,用于: 识别要被提供给所述设备的通知; 通过所述网络接口来接收与所述设备的上下文相关联的信息; 基于与所述上下文相关联的信息来判定所述设备是否要被提供所述通知;以及 基于所述判定使得所述网络接口将所述通知传送给所述设备。13. 如权利要求12所述的计算系统,其中,所述网络接口用于通过云计算系统将数据传 送给所述设备以及从所述设备接收数据。14. 如权利要求12所述的计算系统,其中,所述通知提供模块用于基于通过所述网络接 口从远程服务器接收到的信息来识别所述通知。15. 如权利要求12所述的计算系统,其中,所述通知用于指示警告或要被执行的任务中 的一个。16. 如权利要求15所述的计算系统,其中,所述通知提供模块进一步用于处理与所述任 务相关联的并且通过所述网络接口从所述设备接收到的结果。17. 如权利要求12-16中的任一项所述的计算系统,其中,由所述通知提供模块接收到 的信息包括布尔值,并且所述通知提供模块用于基于所述布尔值来判定所述设备是否要被 提供所述通知。18. 如权利要求12-16中的任一项所述的计算系统,其中,由所述通知提供模块接收到 的信息包括百分比值,并且所述通知提供模块用于基于所述百分比值来判定所述设备是否 要被提供所述通知。19. 如权利要求12-16中的任一项所述的计算系统,其中,由所述通知提供模块接收到 的信息包括与所述设备的传感器或所述设备的应用中的至少一个相关联的信息,并且所述 通知提供模块用于基于与所述传感器或所述应用中的至少一个相关联的信息来判定所述 设备是否要被提供所述通知。20. -种计算机实现的方法,包括: 通过计算系统收集与设备的上下文相关联的信息; 至少部分地基于所收集的信息来判定所述设备是否要被提供通知;以及 将所述判定的指示传送给远程服务器。21. 如权利要求20所述的方法,其中,所述计算系统包括所述设备或者与所述设备通信 地耦合的云计算系统。22. 如权利要求21所述的方法,进一步包括: 基于将所述判定的指示传送给所述远程服务器,从所述远程服务器接收通知,其中,所 述通知用于指示警告或要被执行的任务中的一个。23. -种计算机实现的方法,包括: 通过计算机接收与设备的上下文相关联的信息; 通过所述计算机基于所述信息来识别所述设备是否要被提供通知;以及 通过所述计算机基于所述识别来将所述通知传送给所述设备。24. 如权利要求23所述的方法,其中,识别包括识别用于指示与所述设备相关联的警告 或任务中的一个的通知。25. 如权利要求23-24中的任一项所述的方法,其中,接收包括接收具有与所述设备的 上下文相关联的值或信息中的一个的信息。
【文档编号】H04L29/08GK105991762SQ201610090335
【公开日】2016年10月5日
【申请日】2016年2月18日
【发明人】R·L·沃恩, C·巴龙
【申请人】英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1