CN112088362A - 针对已保存站点的通知更新 - Google Patents
针对已保存站点的通知更新 Download PDFInfo
- Publication number
- CN112088362A CN112088362A CN201980029896.7A CN201980029896A CN112088362A CN 112088362 A CN112088362 A CN 112088362A CN 201980029896 A CN201980029896 A CN 201980029896A CN 112088362 A CN112088362 A CN 112088362A
- Authority
- CN
- China
- Prior art keywords
- entity
- update
- push
- website
- computer system
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 31
- 238000010586 diagram Methods 0.000 description 6
- 230000015654 memory Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/224—Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
在一个实施例中,计算机系统接收用户界面上将网站与实体相关联的信号。该实体由在计算机系统上运行的操作系统管理。该计算机系统将实体与被配置以推送针对网站的更新的推送通道相关联。推送通道被配置以将实体作为端点。在操作系统处经由推送通道接收更新,并且计算机系统通过将推送通道的端点与实体相关来将更新与实体相关联。然后,计算机系统使用操作系统使通知针对用户界面上的实体而被输出。
Description
背景技术
用户可以在Web浏览器上查看来自网站的网页。如果用户经常访问该网页,则用户可以选择保存到该网页的链接或者将该网页保存作为收藏。当网页被保存时,一些实体可以被创建,例如图标快捷方式或书签菜单项,用户可以选择这些实体以访问该网页。当实体被用户选择时,该网页被自动地访问并且显示。尽管所保存的实体对于访问网站以显示网页可能有用,但是随着时间的推移,用户可能会较少使用该实体,并且可能会忘记该实体。
附图说明
图1描绘了根据一些实施例的用于提供针对实体的通知的方法的简化系统。
图2描绘了根据一些实施例的用于配置针对实体的通知的方法的简化流程图。
图3描绘了根据一些实施例的更新针对实体的通知的更详细的示例。
图4描绘了根据一些实施例的用于处理推送消息的方法的简化流程图。
图5描绘了根据一些实施例的使用服务工作器(Service Worker)来执行更新的示例。
图6描绘了根据一些实施例的使用浏览器来执行更新的示例。
图7描绘了根据某些实施例的示例计算机系统的简化框图。
具体实施方式
一些实施例针对已经与客户端的用户界面上的实体相关联的网站来配置通知更新。例如,网站可以被保存(诸如被固定)到用户界面上的位置,例如任务栏、开始菜单、桌面或在用户界面上的其他位置。在一些实施例中,在计算设备上运行的浏览器Web应用可以将图标固定到用户界面的任务栏。在一些示例中,在被保存之后,可以接收对图标的选择,并且操作系统打开浏览器,其显示针对该网站的网页。
除了提供快捷方式以显示网站之外,一些实施例还配置针对实体的通知更新。例如,客户端配置推送消息,其被用于以信号发送在网站处发生的事件。在一些示例中,操作系统可以使信息(诸如显示数字的证章(badge))针对图标被显示,以通知用户所发生的某些事件。例如,操作系统在图标上显示证章,该证章可以指示来自网站的信息,例如在网站上可阅读的许多未读消息。当通知被使用时,通知可以是证章,但也可以是被显示的其他信息。
为了启用针对实体的通知更新,客户端配置推送通道来推送针对网站的更新。在一些实施例中,客户端可以配置托管网站的Web服务器以向推送服务器发送更新。推送服务器随后向客户端推送更新。
客户端还将实体代替应用以关联作为针对推送通道的端点。例如,客户端将图标关联做为推送通道的端点。当更新经由推送通道被接收时,操作系统可以确定该更新是针对该实体,诸如该图标,因为端点是实体。然后,操作系统使得通知在用户界面上针对该实体被输出。在一些实施例中,因为推送通道的端点是实体,而不是应用(例如,运行网站的浏览器),操作系统输出该通知,而无需执行来自网站上的任何软件代码或者无需打开网站并在浏览器上运行该网站。因此,在利用通知更新实体的过程中,网站不必被涉及。
在处理通知时不需要涉及网站,由于网站代码(或应用代码)避免被执行,这可以使用较少的计算资源。相反,一些实施例接收并初始地利用客户端的操作系统中的操作系统级别后台任务来处理Web推送通知。使用操作系统级别任务来处理推送通知消除了针对持续活动的Web应用过程以接收和处理传入的推送通知的需求。因此,一些实施例可以在性能和可靠性方面显著地改善客户端的性能。这对于电池容量是经常的关注点的移动设备来说尤其重要。例如,消除针对活动的Web应用以处理Web推送通知的寻求,可以帮助保存使用推送通知的移动设备中的电池寿命。
系统
图1描绘了根据一些实施例的用于提供针对实体的通知的方法的简化系统100。系统100包括客户端102、Web服务器104和推送服务器106。浏览器110可以在操作系统114上运行,并且被显示在用户界面108中。浏览器110可以显示来自网站120的网页116,该网站可以被托管在Web服务器104上。Web服务器104可以是托管网站120的任何服务器,并且Web服务器104可以是与客户端102分离的实体。当术语“网站(website)”被使用时,网站可以是由链接(统一资源定位符(URL))标识的网页的集合。当网站被描述为与实体相关联时,针对该网站的一个或多个网页可以与该实体相关联。例如,具有相同起源(origin)(例如,网站的URL)的每个网页可以与该实体相关联。术语网站和网页在本文中可以互换使用。
在一些实施例中,Web服务器104可以是提供基于Web的内容和/或基于Web的服务的任何实体。例如,Web服务器104可以托管网站、可以是Web应用主机、可以是移动应用主机、可以是基于云的服务、并且通常可以托管使用Web技术实现的任何Web应用。
在一些实施例中,Web服务器104被配置以向推送服务器104提供Web推送消息(更新)。Web推送消息是由Web服务器104发起以传递到正在客户端设备102上执行的浏览器110的消息。推送服务器104可以是启用推送消息的传递的任何实体。的Windows推送通知服务(WNS)是Web推送服务器的示例。
浏览器110可以是Web应用,Web应用指的是使用在Web运行时环境的上下文之内执行的Web技术所实现的应用。术语“Web技术”指的是被用于相互结合以产生动态网站的语言和多媒体包。用于网站的语言包括超文本标记语言(HTML)、动态HTML(DHTML)、JavaScript、层叠样式表(CSS)等。多媒体包包括Adobe 多媒体平台和可伸缩矢量图形(SVG)平台。
客户端102可以是计算设备,例如膝上型计算机、个人计算机、移动设备、平板设备等。在一些实施例中,客户端102包括硬件112,其包括计算机处理器、存储装置等。操作系统114在硬件112上执行,并且支持设备的基本功能,例如调度任务、执行应用和控制外围设备。操作系统114是管理硬件112和在客户端102上执行的所有其他过程(例如,应用)的过程。
底层通信网络(未示出)可以提供Web服务器104、推送服务器104和客户端102之间的通信。通信网络可以包括局域网、广域网、公共交换电话网、蜂窝网络等的任何适当的组合。
实体118可以与用户界面108上的位置相关联。在一些实施例中,用户可以使用浏览器110来将实体118与用户界面108相关联。例如,浏览器110中的菜单可以提供命令以将实体118固定到任务栏。在其他实施例中,实体118可以以编程方式与用户108相关联,而不接收用户输入。例如,网页116可以以编程方式将实体118与用户界面108上的位置相关联。另外,实体118可以以其他方式与用户界面108上的位置相关联,例如用户可以使用操作系统级别命令来将实体固定到任务栏。
在一些实施例中,实体118可以与正在被显示的用户界面108的一部分(例如,任务栏)相关联。任务栏可以是用户界面108的专用于显示实体的部分。然而,用户界面108的其他位置可以被使用,例如开始菜单、桌面的任何部分、应用中等。在一些实施例中,任务栏永久地始终显示实体(例如,窗口或其他对象不能阻挡或覆盖任务栏)。选择任务栏上的实体的通常使某些操作被执行,例如访问针对该实体的关联应用。此外,尽管实体118的图形或视觉显示可以被讨论,但是应当理解,用户界面108可以是无显示的。例如,用户界面108可以是口头或语音的用户界面,其中用户经由口头命令来与用户界面108交互。在该示例中,实体118可以以非视觉方式被保存到用户界面108,例如实体118可以被保存并且与用户界面108相关联,在该界面中用户可以将口头命令引导到实体118。
当实体118被创建时,操作系统114存储针对实体118的标识符。例如,如果实体118是图块(tile)或图标,操作系统114存储针对该图块或图标的标识符。实体的标识符允许操作系统114稍后将针对推送订阅的推送通道与实体118相关联。操作系统114可以存储针对实体118的其他信息,例如实体118在用户界面102上的位置。
此外,当浏览器110将网站120与实体118相关联的指示时,浏览器110可以执行来自网站120的网页116中的软件代码,以配置针对实体118的推送更新。例如,浏览器110执行网页116中的代码中所包括的Web应用程序编程接口(API)。该API可以与操作系统114兼容以配置推送订阅。网站120与实体118的关联可以使客户端102发送推送注册请求,以创建针对网站120的推送订阅。在一些实施例中,客户端102可以向Web服务器104和/或推送服务器106发送推送注册请求以创建推送订阅。在一些实施例中,浏览器110可以使客户端102向推送服务器106发送推送注册请求。备选地,客户端102可以向Web服务器104发送注册请求,Web服务器104可以将从客户端102接收到的推送注册请求转发到推送服务器106。
在一些实施例中,推送服务器106可以显示与客户端102相关联的推送通道,Web服务器104可以使用该推送通道以将消息推送到推送服务器106。推送通道指定客户端102上针对来自Web服务器104的消息的端点。推送通道能够使用针对实体118生成的标识符来将特定实体118标识为针对推送通知的端点。推送通道,例如,能够是特定的URL或标识客户端102和实体118的其他适当的标识符。如将在下面更详细地讨论的,在一些实施例中,使用实体118作为端点允许操作系统114代替浏览器110或网站120来处理推送消息。Web服务器104可以将包括推送通道信息的推送订阅传输到客户端102。
一旦推送通道被配置,网站120可以确定针对网站的更新已经发生。例如,网站102可以被配置为监控具有网站URL的起源的全部或部分网页116的某些方面的变化。例如,新的电子邮件可以被接收,并且是用户在网站上可阅读的。然后,Web服务器104可以将更新推送到网站的推送服务器106。之后,推送服务器106在推送消息中将更新推送到客户端102。在一些实施例中,例如,Web服务器104可以在创建推送订阅的过程中使用从客户端设备102接收的消息公钥来加密推送消息。Web服务器104可以使用其自己的私钥来对经加密的消息进行加密,以将Web服务器104验证为消息的来源。Web服务器104可以在推送请求中将经双重加密的消息与标识推送消息的目标(实体118的端点)的推送通道一起发送到推送服务器106。
推送服务器106可以处理从Web服务器104接收到的推送请求。在一些实施例中,推送服务器106可以对接收到的推送消息进行认证,以验证推送消息的来源是Web服务器104。例如,推送服务器106可以使用在订阅创建阶段被提供给推送服务器106的Web服务器公钥。如果接收到的推送消息未被认证,则推送服务器106可以拒绝该推送请求。否则,推送服务器106可以将推送消息通信到客户端102,推送消息包括推送通道以标识推送消息的目标。尽管描述了发送推送消息的上述过程,但是可以使用其他过程。
客户端102接收推送消息,并且可以在操作系统114处处理该推送消息。在一些实施例中,操作系统114可以启动通知处理器,其可以是在操作系统114的过程空间内执行的操作系统级别的过程。在一些实施例中,操作系统114然后可以将推送通道与实体118相关联。例如,由推送消息标识的端点可以与针对实体118的标识符相互关联。然后,操作系统114可以使通知关于实体118被输出。例如,该通知可以被显示在实体118上。在一些实施例中,更新可以包括指示通知的内容的有效负载。例如,如果用户在网站120上有三个未读的电子邮件消息,则有效负载可能指示数字“3”,操作系统114使用该数字来更新针对实体118的证章。
与如果端点是诸如浏览器110的应用相比,使用操作系统114来更新实体118使用更少的计算资源。例如,操作系统114将需要联络在应用级别上运行的浏览器110。此外,浏览器110将需要被打开以更新实体118。如果浏览器110没有被打开,则实体118可能不会被更新。同样,如果网站120是端点,则如果网页116没有在浏览器110中被打开,更新可能不会被显示。备选地,操作系统114可能必须打开浏览器110,与Web服务器104通信以获取针对网页116的代码,并且打开网页116以使通知被显示。然而,当使用操作系统级别命令来显示通知时,操作系统114不需要打开浏览器110和网页116来显示该通知。这为客户端102使用了较少的电池功率和计算资源。
通知配置
图2描绘了根据一些实施例的用于针对实体118配置通知的方法的简化流程图200。在202,浏览器110接收用户界面108上将网站120与实体118相关联的指示。如上所述,网站120可以被固定到用户界面108上的位置。
在204,操作系统114将实体118与用户界面108上的位置相关联。例如,浏览器110在生成实体118的API中执行代码,诸如将图标固定到任务栏。当实体118被创建时,操作系统114可以存储针对实体118的标识符。例如,当网站被保存到用户界面108上的位置(诸如被固定到任务栏和/或开始菜单)时,浏览器110被操作系统114通知实体118已与该位置相关联,然后触发事件,例如在相同来源的网页上的JavaScriptTM事件(例如,onpagepinned事件),该事件允许网站随后检查被固定的网页(例如,使用getTiles()JavaScriptTM API枚举针对来源的所有任务栏图块)。在一些实施例中,图块是实体118在用户界面108中的表示。在这种情况下,getTiles API获取图块的元数据,其中包括已保存的网站的URL以及可以被用于建立推送订阅的JavaScriptTM接口。然后,网站可以通过将公共密钥传递到订阅JavaScript函数中来订阅针对实体118的推送通道,这使用操作系统应用程序编程接口(API),其创建并且关联针对该实体118(经由存储的数据结构所跟踪)的推送通道。
在206,浏览器110配置用于从网站120接收推送更新的推送通道。例如,浏览器110执行针对API的代码以配置具有实体118为端点的针对网站120的推送订阅。然后,Web服务器104被配置为向推送服务器106发送更新,推送服务器106经由推送通道将更新发送到客户端102。
在208,操作系统114经由推送通道接收更新。例如,网站120可以确定对网页116的更新,并且将具有该更新的推送消息发送到推送服务器106。推送服务器106然后将带有该更新的推送消息发送到客户端102。
推送消息处理
图3描绘了根据一些实施例的更新针对实体118的通知的更详细的示例。Web服务器104将具有更新的推送消息作为有效负载发送到推送服务器106。推送服务器106然后被配置为经由推送通道来将推送消息发送到客户端102。在一些实施例中,推送消息的端点是针对实体118的标识符。此外,推送消息包括指示针对该更新的信息的有效载荷。
通知处理器302可以处理推送消息。在一些实施例中,通知处理器302在操作系统114中的操作系统级别上运行。通知处理器302可以从推送消息获取针对端点的标识符和有效负载。然后,通知处理器302使用实体ID存储装置304来确定哪个实体118与该标识符相关联。例如,实体ID存储装置304可以已经存储了针对用户界面102上所显示的每个实体118的实体标识符。在一些实施例中,实体ID存储装置304可以存储针对每个实体118的图块或图标标识符。其他信息可以被存储,例如实体118在用户界面108上的位置。
一旦确定了与推送消息相关联的实体,通知处理器302然后能够使用有效负载来更新实体118。在一些示例中,有效负载可以指示数字,通知处理器302使用该数字来更新针对实体118的证章206。例如,在306,通知处理器302已经使用有效负载来引起针对实体118的证章更新。例如,数字“3”被显示。
图4描绘了根据一些实施例的用于处理推送消息的方法的简化流程图400。在402,操作系统114存储针对实体118的标识符。如上所述,操作系统114可以将标识符存储在实体ID存储装置304中。
在404,操作系统114从推送服务器106接收推送消息。在406,操作系统114解析推送消息来确定针对推送通道的端点和确定有效负载。端点可以是针对实体118的标识符,该实体可以在注册期间已经被建立并且与推送通道中的任何推送消息相关联。有效负载可以是能够被用于确定针对通知的内容的数字或其他信息。
在408,操作系统114基于端点标识符与实体118之间的相关性在用户界面108中标识实体。如上所述,针对端点的标识符标识实体118。
在410,操作系统114利用有效负载来更新实体的通知。例如,操作系统114可以基于有效负载来更新证章数字。如果证章还没有被显示,则操作系统114用基于有效负载确定的数字来显示证章。例如,数字“1”可以被显示在实体118上。如果证章已经被显示,则操作系统114可以例如通过基于有效负载来递增数字以更新证章。
其他实施方式
尽管操作系统114被讨论为用于更新实体118,但是其他实施方式可以被使用。图5描绘了根据一些实施例的使用服务工作器(Service Worker)502来执行更新的示例。当通知处理器302接收到更新时,通知处理器302可以将更新发送到服务工作器502。服务工作器502在操作系统114顶部的应用层500中运行。服务工作器过程可以独立于网站120执行事件驱动代码,并且可以被用于执行诸如处理推送消息、后台同步操作、地理围栏等功能。当实体118被创建时,浏览器110可以启动服务工作器502以处理推送消息。在一些实施例中,服务工作器502可以是在浏览器110的过程空间中执行的子过程。在其他实施例中,服务工作器502可以作为线程在与浏览器110相同的过程中或在浏览器110的子过程中运行。或者,服务工作器502可以在后台运行。服务工作器502可以执行Service Worker脚本(例如,由Web开发者写的JavaScript)以执行所需的功能。
服务工作器502可以运行脚本,该脚本能够以编程方式更新针对实体118的通知。因此,操作系统114可能不会自动地更新通知。因为服务工作器502可能正在后台运行并且不依赖于正在打开的浏览器110,当网站120在浏览器110中打开或未打开时,更新可以被执行。当操作系统114接收到推送消息时,操作系统114确定端点是实体118。然而,操作系统114将更新发送给服务工作器502,而不是更新实体118。然后,服务工作器502可以在打开或不打开浏览器110的情况下将通知推送到实体118。
在另一实施方式中,浏览器110可以执行更新。图6描绘了根据一些实施例的使用浏览器110执行更新的示例。例如,通知处理器302可以将更新发送到浏览器应用600。浏览器应用600可以是在应用层500中运行的过程,并且被配置为在用户界面108中显示浏览器110。网站120还包括可以从Web服务器104下载的、并且用于显示网页116的网站代码602。
通知处理器302发送更新,并且网站代码602然后可以执行更新针对实体118的通知的代码。此操作需要浏览器110被打开。而且,可能需要在浏览器110中打开网页116以执行更新。在其他示例中,如果未在浏览器110中打开网页116,则操作系统114可以在更新被接收到时启动网页116。在另一个示例中,当更新被接收时,操作系统114可以启动浏览器110并且打开网页116。
结论
一些实施例允许对先前无法接收更新的实体118进行更新。该过程配置推送通道以将实体118作为端点。然后,操作系统114能够处理推送消息更新,并且在实体118上生成通知,而不必执行任何应用代码。一些实施例启用针对实体118的附加功能,例如当网站被固定到任务栏时允许证章更新。通知的使用可能会使用户更频繁地访问网站。另外,通知可以提供针对可能是用户的收藏的网站的有用信息。因此,通知通过增强实体118的功能并且向用户提供附加的信息来改善用户界面108。
使用操作系统114来处理推送通道可以有效地使用客户端102的计算资源和电池功率。例如,网页116的代码不需要被执行以执行通知的更新。此外,因为推送通道的端点是实体118,因此不需要运行浏览器110和网页116来执行更新。这对用户是有用的,因为用户可能已将网页116固定到任务栏,该任务栏将实体119与网页116和浏览器110分开。如果需要运行浏览器110和网站120,则被固定到任务栏的实体118的有用性可能被最小化。与操作系统114的集成增加了提供针对实体118的通知的实用性。
示例计算机系统
图7描绘了根据某些实施例的示例计算机系统700的简化框图。计算机系统700能够被用于实现前述公开中描述的任何计算设备、系统或服务器。如图7所示,计算机系统700包括一个或多个处理器702,该一个或多个处理器702经由总线子系统704与多个外围设备进行通信。这些外围设备包括存储子系统706(包括存储器子系统708和文件存储子系统710)、用户界面输入设备712、用户界面输出设备714和网络接口子系统716。
总线子系统704能够提供机制,以用于使计算机系统700的各个组件和子系统按预期相互通信。尽管总线子系统704被示意性地示出为单个总线,但是总线子系统的替代实施例可以利用多个总线。
网络接口子系统716能够用作用于在计算机系统700和其他计算机系统或网络之间通信数据的接口。网络接口子系统716的实施例能够包括:例如,以太网卡、Wi-Fi和/或蜂窝适配器、调制解调器(电话、卫星、电缆、ISDN等)、数字用户线(DSL)单元等。
用户界面输入设备712可以包括:键盘、指点设备(例如,鼠标、轨迹球、触摸板等)、结合到显示器中的触摸屏、音频输入设备(例如,语音识别系统、麦克风等)和其他类型的输入设备。通常,术语“输入设备”的使用旨在包括用于将信息输入计算机系统700中的所有可能类型的设备和机制。
用户界面输出设备714可以包括显示子系统、打印机或诸如音频输出设备等的非视觉显示器。显示子系统能够是:例如,诸如液晶显示器(LCD)或有机发光二极管(OLED)显示器的平板设备。通常,术语“输出设备”的使用旨在包括用于从计算机系统700输出信息的所有可能类型的设备和机制。
存储子系统706包括存储器子系统708和文件/磁盘存储子系统710。子系统708和710表示能够存储提供本公开的实施例的功能的程序代码和/或数据的非暂时性计算机可读存储介质。
存储器子系统708包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)718和在其中存储有固定指令的只读存储器(ROM)720。文件存储装置子系统710可以为程序和数据文件提供持久性(即非易失性)存储,并且能够包括磁性或固态硬盘驱动器,光驱以及相关的可移动介质(例如,CD-ROM、DVD、蓝光等),基于可移动闪存的驱动器或卡和/或本领域已知的其他类型的存储介质。
应当理解,计算机系统700是说明性的,并且具有比系统700更多或更少的组件的许多其他配置是可能的。
以上描述示出了本公开的各种实施例以及可以如何实现这些实施例的各方面的示例。以上示例和实施例不应被认为是仅有的实施例,而是被呈现以说明由所附权利要求书限定的本公开的灵活性和优点。例如,尽管已经针对特定的处理流程和步骤描述了某些实施例,但是对于本领域技术人员而言显而易见的是,本公开的范围并不严格限于所描述的流程和步骤。被描述为顺序的步骤可以并行执行,步骤的顺序可以改变,并且步骤可以被修改、组合、添加或省略。作为另一示例,尽管已经使用硬件和软件的特定组合描述了某些实施例,但是应该认识到,硬件和软件的其他组合也是可能的,并且描述为以软件实现的特定操作也可以以硬件和硬件实现,反之亦然。
因此,说明书和附图应被认为是说明性而非限制性的。其他布置、实施例、实现方式和等同方式对于本领域技术人员而言将是显而易见的,并且可以在不脱离如所附权利要求书中阐述的本公开的精神和范围的情况下被采用。
Claims (15)
1.一种计算机系统,包括:
处理器;和
计算机可读存储介质,其上存储有程序代码,所述程序代码当由所述处理器执行时,使所述处理器:
接收信号以将网站与用户界面上的实体关联,所述实体由在所述计算机系统上运行的操作系统管理;
将所述实体与推送通道关联,所述推送通道被配置为推送针对所述网站的更新,所述推送通道被配置为将所述实体作为端点;
在所述操作系统处经由所述推送通道接收更新;以及
通过将所述推送通道的所述端点相关到所述实体来将所述更新与所述实体关联;以及
使用所述操作系统来使通知针对所述用户界面上的所述实体而被输出。
2.根据权利要求1所述的计算机系统,其中使所述通知针对所述实体而被输出包括:
在操作系统级别上处理所述更新;以及
向所述实体发送所述更新,以输出来自所述操作系统级别的所述通知。
3.根据权利要求2所述的计算机系统,其中所述更新的所述处理以及所述更新的所述发送在没有执行针对所述网站的软件代码的情况下被执行。
4.根据权利要求2所述的计算机系统,其中所述更新的所述处理以及所述更新的所述发送在没有执行针对所述操作系统上运行的应用的软件代码的情况下被执行。
5.根据权利要求2所述的计算机系统,其中所述更新的所述处理以及所述更新的所述发送在所述网站没有在应用中被打开的情况下被执行。
6.根据权利要求1所述的计算机系统,其中使所述通知针对所述实体而被输出包括:
向在应用级别上运行的服务工作器发送所述更新,其中所述服务工作器向所述实体发送更新来输出所述通知。
7.根据权利要求1所述的计算机系统,其中使所述通知针对所述实体而被输出包括:
向在应用级别上运行所述网站的应用发送所述更新,其中所述网站更新所述实体以输出所述通知。
8.根据权利要求1所述的计算机系统,还被配置为:
向正在运行所述网站的Web服务器发送推送通道请求,以发送针对所述推送通道的所述网站的更新,所述推送通道请求指示所述实体是针对所述推送通道的所述端点。
9.根据权利要求1所述的计算机系统,其中所述更新被接收自推送服务器,所述推送服务器被配置为接收来自所述网站的所述更新,并且被配置为经由所述推送通道来向所述计算机系统发送所述更新。
10.根据权利要求1所述的计算机系统,其中通过将所述推送通道相关到所述实体来将所述更新与所述实体关联包括:
从所述更新确定针对所述推送通道的所述端点的标识符;
将针对所述端点的所述标识符相关到针对所述实体的标识符。
11.根据权利要求1所述的计算机系统,其中所述实体与无显示的用户界面相关联,并且所述通知是非书面输出的。
12.根据权利要求1所述的计算机系统,其中
所述更新包括有效负载;以及
所述通知输出证章,所述证章显示与针对所述更新的所述有效负载相关联的信息。
13.根据权利要求1所述的计算机系统,其中所述推送通道通过执行来自所述网站的应用编程接口来被配制为将所述实体作为所述端点。
14.一种方法,包括:
由计算设备接收信号以将网站与用户界面上的实体关联,所述实体由在计算机系统上运行的操作系统管理;
由所述计算设备将所述实体与推送通道关联,所述推送通道被配置为推送针对所述网站的更新,所述推送通道被配置为将所述实体作为端点;
由所述计算设备经由在所述操作系统处的所述推送通道来接收更新;以及
由所述计算设备通过将所述推送通道的所述端点相关到所述实体来将所述更新与所述实体关联;以及
由所述计算设备使用所述操作系统来使通知针对所述用户界面上的所述实体而被输出。
15.一种计算机可读存储介质,其上存储有程序代码,所述程序代码由计算机系统可执行,所述程序代码使得所述计算机系统:
接收信号以将网站与用户界面上的实体关联,所述实体由在所述计算机系统上运行的操作系统管理;
将所述实体与推送通道关联,所述推送通道被配置为推送针对所述网站的更新,所述推送通道被配置为具有作为端点的所述实体;
在所述操作系统处经由所述推送通道接收更新;以及
通过将所述推送通道的所述端点相关到所述实体来将所述更新与所述实体关联;以及
使用所述操作系统使针对所述实体的通知在所述用户界面上被输出。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/971,907 US10924570B2 (en) | 2018-05-04 | 2018-05-04 | Notification updates for saved sites |
US15/971,907 | 2018-05-04 | ||
PCT/US2019/029244 WO2019212871A1 (en) | 2018-05-04 | 2019-04-26 | Notification updates for saved sites |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112088362A true CN112088362A (zh) | 2020-12-15 |
Family
ID=66857983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980029896.7A Pending CN112088362A (zh) | 2018-05-04 | 2019-04-26 | 针对已保存站点的通知更新 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10924570B2 (zh) |
EP (1) | EP3788487A1 (zh) |
CN (1) | CN112088362A (zh) |
WO (1) | WO2019212871A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11064039B2 (en) * | 2018-11-14 | 2021-07-13 | Citrix Systems, Inc. | Systems and methods for push notification service for SaaS applications |
US10946279B1 (en) | 2019-08-30 | 2021-03-16 | Sony Interactive Entertainment Inc. | Context-based notifications on a user display |
US10946294B1 (en) * | 2019-08-30 | 2021-03-16 | Sony Interactive Entertainment Inc. | Summarizing notifications on a user display |
US11222090B2 (en) * | 2019-09-12 | 2022-01-11 | Microsoft Tecnology Licensing, Llc | Site and service signals for driving automated custom system configuration |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120102433A1 (en) * | 2010-10-20 | 2012-04-26 | Steven Jon Falkenburg | Browser Icon Management |
CN102664909A (zh) * | 2011-01-28 | 2012-09-12 | 微软公司 | 通过用户标识符重新建立推送通知信道 |
CN102882974A (zh) * | 2012-10-15 | 2013-01-16 | 焦点科技股份有限公司 | 一种通过网站识别版本号节省网站访问资源的方法 |
CN103001926A (zh) * | 2011-09-09 | 2013-03-27 | 华为技术有限公司 | 一种订阅通知的方法、装置和系统 |
CN103023907A (zh) * | 2012-12-21 | 2013-04-03 | 北京奇虎科技有限公司 | 获取网站信息的方法,设备及系统 |
CN104580093A (zh) * | 2013-10-21 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 网站通知消息的处理方法、装置及系统 |
US20150237151A1 (en) * | 2014-02-20 | 2015-08-20 | Microsoft Corporation | Enabling Push Notifications from Websites |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7082397B2 (en) * | 1998-12-01 | 2006-07-25 | Nuance Communications, Inc. | System for and method of creating and browsing a voice web |
US7941497B2 (en) * | 2007-02-22 | 2011-05-10 | Research In Motion Limited | Community-based method and system for creating and subscribing to dynamic push channels |
US8793650B2 (en) * | 2010-06-11 | 2014-07-29 | Microsoft Corporation | Dynamic web application notifications including task bar overlays |
US8910081B2 (en) * | 2011-04-11 | 2014-12-09 | Microsoft Corporation | Push notifications for updating multiple dynamic icon panels |
US8739249B1 (en) * | 2012-03-08 | 2014-05-27 | Google Inc. | Push notifications for web applications and browser extensions |
US9503540B2 (en) * | 2013-05-09 | 2016-11-22 | Nokia Technologies Oy | Method and apparatus for asynchronous distribution of content |
US10021698B2 (en) * | 2013-10-30 | 2018-07-10 | Qwasi, Inc. | Systems and methods for delivering messages via SMPP bridge for multiple delivery channels |
CA2844724A1 (en) * | 2014-03-04 | 2015-09-04 | Guest Tek Interactive Entertainment Ltd. | Leveraging push notification capabilities of mobile app to send event-triggered invitations to upgrade service offered by hospitality establishment |
US10334066B2 (en) * | 2014-07-23 | 2019-06-25 | Varian Medical Systems, Inc. | Method and system applications for push notifications |
-
2018
- 2018-05-04 US US15/971,907 patent/US10924570B2/en active Active
-
2019
- 2019-04-26 EP EP19730592.3A patent/EP3788487A1/en not_active Withdrawn
- 2019-04-26 CN CN201980029896.7A patent/CN112088362A/zh active Pending
- 2019-04-26 WO PCT/US2019/029244 patent/WO2019212871A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120102433A1 (en) * | 2010-10-20 | 2012-04-26 | Steven Jon Falkenburg | Browser Icon Management |
CN102664909A (zh) * | 2011-01-28 | 2012-09-12 | 微软公司 | 通过用户标识符重新建立推送通知信道 |
CN103001926A (zh) * | 2011-09-09 | 2013-03-27 | 华为技术有限公司 | 一种订阅通知的方法、装置和系统 |
CN102882974A (zh) * | 2012-10-15 | 2013-01-16 | 焦点科技股份有限公司 | 一种通过网站识别版本号节省网站访问资源的方法 |
CN103023907A (zh) * | 2012-12-21 | 2013-04-03 | 北京奇虎科技有限公司 | 获取网站信息的方法,设备及系统 |
CN104580093A (zh) * | 2013-10-21 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 网站通知消息的处理方法、装置及系统 |
US20150237151A1 (en) * | 2014-02-20 | 2015-08-20 | Microsoft Corporation | Enabling Push Notifications from Websites |
Also Published As
Publication number | Publication date |
---|---|
US20190342411A1 (en) | 2019-11-07 |
US10924570B2 (en) | 2021-02-16 |
EP3788487A1 (en) | 2021-03-10 |
WO2019212871A1 (en) | 2019-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220247833A1 (en) | Installable web applications | |
US10951687B2 (en) | Delivery of instructions in host applications | |
US9635138B2 (en) | Client-server input method editor architecture | |
CN112088362A (zh) | 针对已保存站点的通知更新 | |
US8935755B1 (en) | Managing permissions and capabilities of web applications and browser extensions based on install location | |
US20120066610A1 (en) | Sub-component instantiation and synchronization using a shared worker | |
TW201443670A (zh) | 提供不計內容格式及類型之內容可存取性的虛擬庫 | |
US9781262B2 (en) | Methods and apparatus for voice-enabling a web application | |
US20140282032A1 (en) | Dynamically configuring user experiences with action uniform resource identifiers | |
US20170004020A1 (en) | Automated batch application programming interfaces | |
US10592063B1 (en) | Controlling actions for browser extensions | |
US10547711B2 (en) | Using off-screen user interface data during remote sessions | |
CN113434241A (zh) | 页面跳转方法及装置 | |
US20150215374A1 (en) | Delivering an update for a web application | |
US9251267B2 (en) | Generating behavior information for a link | |
WO2022265775A1 (en) | Service-driven widgets with multiple forms of authentication displayed in a widgets board | |
CN107918552B (zh) | 轻应用调用方法、装置、客户端装置及电子设备 | |
US20150261733A1 (en) | Asset collection service through capture of content | |
US11671529B2 (en) | Cross-channel configurable navigation | |
US11422668B1 (en) | Seamless application updates | |
US20150149596A1 (en) | Sending mobile applications to mobile devices from personal computers | |
KR20150049450A (ko) | 동적 링크 제공 방법 및 이를 수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
CN117546130A (zh) | 仪表板浏览模式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |