CN106416195B - 一种处理器实现方法、一种通信网络连接的***和有形的计算机可读存储媒体 - Google Patents
一种处理器实现方法、一种通信网络连接的***和有形的计算机可读存储媒体 Download PDFInfo
- Publication number
- CN106416195B CN106416195B CN201580006062.6A CN201580006062A CN106416195B CN 106416195 B CN106416195 B CN 106416195B CN 201580006062 A CN201580006062 A CN 201580006062A CN 106416195 B CN106416195 B CN 106416195B
- Authority
- CN
- China
- Prior art keywords
- notification
- target device
- user
- server
- application server
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- 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/75—Indicating network or usage conditions on the user display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
- H04W4/21—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0261—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
- H04W52/0264—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by selectively disabling software applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/006—Call diverting means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
- H04M1/72412—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
在本文公开的可操作的事件通知提供可操作的推送通知,其允许应用服务器从终端用户收集信息。可操作的事件通知包括通知服务器,其从应用服务器接收通知请求并将通知传送至用户,其中这些通知包括用于通知UI表单的规范。在一种实现方式中,通知服务器将有关该通知的回叫识别从用于应用服务器的识别修改为用于通知服务器的识别。客户端设备向用户呈现通知UI表单,以接收用户响应。这些用户响应被反向传送至通知服务器。通知服务器处理这些用户响应并在必要时将其传送至应用服务器。可供选择地,这些用户响应被直接传送至请求这些通知的应用服务器。
Description
背景技术
现代通信技术以及因特网与无线网络的发展允许通过各种各样的设备诸如计算机、个人数据助理、蜂窝电话、智能电话、平板计算机等等给终端用户供应各种服务。通过这样的设备而可利用的服务的示例包括社交网络应用、游戏应用、旅游服务、电子邮件、日历服务等等。例如,用户能够使用这样的应用连接到社交网络、回顾新闻、接收旅游信息更新和接收电子邮件等等。这些应用也能够允许用户接收有关一个或多个新闻事件的更新、日历更新以及社交媒体网络上新的帖子等等。这样的应用经由诸如移动设备之类的计算***提供丰富的用户体验。一般而言,应用服务器用于给客户端计算***提供与应用相关联的后端服务。例如,主办(host)社交网络应用的应用服务器可以使得社交网络信息服务于(serve to)在移动设备上运行的社交网络客户端应用。
移动设备面临着与电池使用、网络成本等等相关的限制。因此,许多移动平台尝试通过最小化使用移动设备的CPU与其他资源的应用的数量来减少电池使用。此外,为了减少电池的消耗和降低网络成本,移动平台也可以最小化移动设备与网络上的服务进行通信并保持连接至网络上的服务的时间量。
发明内容
在本文公开的可操作的(actionable)事件通知提供允许应用服务从终端用户收集信息的可操作的通知。可操作的事件通知包括提供通知服务的通知服务器,其从提供应用服务的应用服务器接收通知请求并将通知传送至用户,其中这些通知包括定义将经由目标设备的用户界面呈现的通知UI表单(form)的规范(specification)。目标设备向用户呈现通知UI表单,以接收用户响应。这些用户响应被反向传送至通知服务。通知服务处理这些用户响应并在必要时将其传送至应用服务和/或在通知服务上对其进行处理(例如,将其重定向至另一应用服务器或其他目的地)。可供选择地,这些用户响应被直接从客户端设备传送至请求通知的应用服务。在一种实现方式中,通知服务修改在从应用服务接收的通知请求中提供的回叫识别,将其替换为用于通知服务的识别。
在一些实现方式中,提供制造的物品作为计算机程序产品。计算机程序产品的一种实现方式提供编码处理器可执行程序的有形的处理器可读存储介质。在本文也描述和叙述其他的实现方式。
提供这个概述部分来以简化形式介绍下面在具体描述部分中进一步描述的概念的选择。这个概述部分并不打算用于识别所请求保护的主题的关键特性或基本特性,也不打算用于限制所请求保护的主题的范畴。
附图说明
图1举例说明用于在本文公开的可操作的事件通知的示例数据源和流。
图2举例说明用于在本文公开的可操作的事件通知的通知服务器的示例架构的示例。
图3举例说明用于在本文公开的可操作的事件通知的应用服务器的示例架构的示例。
图4举例说明用于在本文公开的可操作的事件通知的客户端设备的示例架构的示例。
图5举例说明在客户端设备上提供的示例可操作的通知。
图6举例说明在本文公开的通知服务器的示例操作。
图7举例说明在本文公开的应用服务器的示例操作。
图8举例说明在本文公开的客户端设备的示例操作。
图9举例说明在实现所描述的技术中可能是有用的示例***。
图10举例说明在实现所描述的技术中可能是有用的另一示例***。
具体实施方式
为了递送信息至运行在客户端设备上的应用,应用服务器能够使用将推送通知发送至客户端设备的通知服务器。例如,在发送突发新闻至移动设备的用于新闻应用的应用服务器的场景中,新闻应用服务器将事件通知请求张贴(post)至通知服务器。通知服务器可能已使得通信连接向移动设备开放,或者它可以响应于从应用服务器接收的事件通知请求而开放通信连接。通知服务器使用通信连接将通知递送至移动设备。移动设备的操作***处理该通知并且经由移动设备的用户界面向设备用户呈现视觉、音频或视听通知。可供选择地,移动设备可以简单地将该通知递送至移动应用,以便进一步处理。应该明白:客户端设备(例如目标设备)可以是移动或非移动设备(例如机顶盒、游戏机、台式计算机等等)。
在各种实现方式中,在本文公开的可操作的事件通知促进在客户端设备与后端应用服务器之间有效的双向通信,其中后端应用服务器为在客户端设备上运行的各种应用提供服务。例如,可操作的事件通知可以促进在主办社交网络应用的应用服务器与诸如智能电话之类的运行社交网络应用的客户端设备之间有效的双向通信。在一种实现方式中,应用服务器可以使用在本文公开的可操作的事件通知来从客户端设备获得反馈而在客户端设备上不执行客户端应用。例如,可操作的事件通知可以发送通知用户界面(UI)表单规范至移动设备,并且移动设备的操作***可以向用户呈现利用该规范所定义的通知UI表单而不调用任何的移动应用或与任何的移动应用进行通信。
也被称为“toast(吐司)”的某些通知对于以简单的不过度扰乱由终端用户正在进行的对于客户端设备的使用的即时方式来提醒终端用户而言是有用的,其中通知导致图形显示器在客户端设备上弹出部分的图形用户界面显示。在本文所描述的各种示例中,这样的在通知服务器和客户端设备上的通知***被扩展并被增强,以使得信息能够从客户端设备被传送至通知服务器和/或应用服务器。可操作的通知***使得计算与通信工作负荷能够远离客户端设备而被移动到其他的实体诸如通知服务器和/或应用服务器上。在一些示例中,客户端设备(诸如移动电话、台式计算机或游戏机)上的操作***被修改和/或在客户端设备上提供通知UI表单处理模块。从应用服务器供应商的角度来看,可操作的通知***导致更有效地使用其资源和/或更易于为其编写应用软件的更好的客户端设备。对于客户端设备的终端用户来说,可用性也得到改善。例如,通过使用UI表单规范,有可能确保:可操作的通知的“外观与感觉(look and feel)”和/或风格对于可操作的通知与之相关联的特殊应用服务而言是恰当的。可操作的通知***也使得可操作的通知更可用于终端用户。另外,通过使用可操作的通知,终端用户具有快速的应用服务的即时控制。当在客户端设备上的软件应用与应用服务器之间进行通信时,可以使用web(网络)连接,诸如web套接字。这样的通信信道可能耗费时间来建立,而如果使用可操作的通知服务的话,通知信道已被建立并且在通知服务与客户端设备之间是可用的。
可操作的事件通知的实现方式给移动设备用户提供通知UI表单规范,以便从用户收集信息。例如,响应于来自新闻应用服务器的通知请求,可操作的事件通知经由移动设备的用户界面来呈现通知UI表单,以便从用户收集输入,其中通知UI表单提示用户指示是否该用户有兴趣找出更多关于新闻故事的事情。即,通知UI表单能够是提示用户以预期方式、诸如通过轻叩触摸屏的区域、提供文本或语音输入、捕获视频或静止图像等等来输入信息的文本、视觉或可闻和/或图形元素的任何组合。提供事件通知服务的事件通知服务器可以包括或访问用于各种应用服务器和各种客户端设备的通知UI表单规范的数据库。在这样的实现方式中,当可操作的事件通知从应用服务器接收到通知请求时,事件通知服务器从通知UI表单规范的数据库中选择通知UI表单规范、将通知UI表单规范传送至移动设备并请求移动设备操作***向用户呈现通知UI表单而不调用移动应用。在可供选择的实现方式中,可操作的事件通知可以请求移动设备操作***分析由用户经由通知UI表单规范所提供的信息并确定是否调用移动应用来响应用户提供的信息的分析。
图1举例说明用于在本文公开的可操作的事件通知100的示例数据源和流。使用通知服务器108,可操作的事件通知100促进在各种用户102和104与各种应用服务器诸如应用服务器106之间和/或在其之中跨越网络120的通信。在一个示例中,应用服务器106代表IP上语音(VOIP)服务器,其使用各种类型的设备诸如移动电话、智能电话、膝上型计算机、台式计算机等等给用户提供VOIP与瞬时消息传送(IM)服务(示例“应用服务”)。外部事件源110诸如新闻或RSS提要(feed)(可供选择的“应用服务”)也可以使用网络120诸如因特网与通知服务器108进行通信,以便给终端用户102和104的装备提供通知。
用户102和104可以使用网络120与应用服务器106、通知服务器108连接以及相互连接。例如,用户102在他或她的智能电话122上安装能够用于与用户104通信的VOIP应用。为了启动与用户104的通信,用户102发送通知请求130至应用服务器106。应用服务器106处理该请求以确定它需要给其发送通知的目标设备。应用服务器106可以具有存储各种设备至用户的映射的存储器。因而,应用服务器106可以使用该映射来识别目标移动设备124。在目前情况下,如果用户102已请求与用户104的连接,则应用服务器106确定它需要发送通知至目标移动设备124(例如,以便将传入消息通知移动设备124)。
为了节省电池功率,移动设备124的操作***一般尝试减少在任何时间在移动设备124上执行的客户端应用的数量。例如,在一种实现方式中,当前未被用户104使用的所有应用可以被终止或被暂停,以便节省电池功率。因而,当从用户102发送请求时,移动设备124上的VOIP或IM应用可能没有在运行。此外,为了节省移动设备124所使用的通信带宽,移动设备124可能不具有与应用服务器106进行的任何开放的通信连接。因此,为了发送通知至设备124,应用服务器106发送通知请求132至通知服务器108。至通知服务器108的通知请求的另一示例包括来自诸如新闻提要之类的需要发送新闻更新至用户104的事件源110的事件通知134。
例如,通知请求132可以包括事件识别内容(例如消息、新闻项目等等的简短子集)、回叫规范、用户识别、设备识别等等。用户识别和设备识别二者能够被视为通知目标识别,其代表应用服务器正尝试将事件通知给其的(一个或多个)目标目的地。例如,对于提供社交网络服务的应用服务器106来说,通知请求132可以包括用于查看社交网络更新、有关社交网络页面的更新(诸如新张贴的注释)以及来自用户的预期回叫的规范(诸如注释响应)、喜欢/不喜欢输入等等的客户端设备的识别。此外,回叫规范也可以将社交网络服务器106指定为来自用户的任何响应的目的地。在一种实现方式中,采用统一资源识别符(URI)、统一资源定位符(URL)等等的形式来提供回叫规范。
通知服务器108能够修改回叫规范来识别通知服务器108而非应用服务器106。以这种方式,通知服务器108能够管理来自移动设备124的任何响应。通知服务器108能够在针对所接收的响应的反应中执行恰当的操作,其包括将响应反向转发至在原始回叫规范中识别的应用服务器106。
在一种实现方式中,来自应用服务器106的通知请求132也包括定义将向用户104呈现的通知UI表单的通知UI表单规范。可供选择地,通知服务器106可以确定与通知相关联的恰当的通知UI规范。在还一可供选择的实现方式中,通知请求132可以包括在客户端设备124上调用(例如启动执行、带至前台)恰当应用的请求。例如,在应用服务器106是VOIP应用服务器的情况下,通知请求132可以指定在设备124上调用VOIP应用。
一旦接收到通知请求132,通知服务器108就确定通知请求132的源、通知请求132的事件识别内容以及目标设备。例如,来自VOIP应用服务器的通知请求132指定为通知的预定目的地的移动设备(例如,电话号码)。可供选择地,通知请求132可以仅将一用户或一组用户指定为该通知的不太具体的目的地(例如,用户),在这种情况下,通知服务器108确定与该用户或该组用户相关联的一个或多个目标设备。
通知服务器108可以包括确定通知136的目的地并将通知136发送至这样的设备的重定向模块。此外,通知服务器108也包括通知服务器108将其与通知136相关联的通知UI表单规范的数据库。例如,一旦接收到VOIP通知请求132,通知服务器108就选择定义请求用户104指定是否用户104有兴趣在移动设备124上进行VOIP呼叫的通知UI表单的通知UI表单规范并将所选择的通知UI表单规范与通知136相关联。相关联的通知UI表单规范能够与通知136一起或否则与通知136相关联被发送至移动设备124。
可供选择地,通知UI表单可以请求用户104指定用户希望在其中接收VOIP呼叫的可供选择的设备。例如,如果用户104具有使用移动设备124和计算机126来接收VOIP呼叫的能力,通知UI表单可以呈现两个选择按钮,而用户104能够从这两个选择按钮中选择期望的目标设备。
移动设备124可以使用移动设备124的操作***来向用户104呈现通知UI表单而在移动设备124上不调用VOIP应用。例如,通知UI表单可以收集来自用户的输入,诸如“忽略这个呼叫”,并随后将用户的“忽略”响应发回至通知服务器108而在移动设备124上不调用VOIP应用。在一些其他的示例中,移动设备124使用设备124的操作***来呈现通知UI表单并且也可以调用VOIP应用,而无论是在利用操作***来处理通知UI表单的同时还是在其之后。例如,所安装的VOIP应用可以完全在前台被调用或在后台被调用,以允许操作***和/或通知UI表单从所安装的应用中提取信息。在还一可供选择的实现方式中,只在移动设备124的用户界面中通过通知UI表单从用户104接收到一个或多个输入之后才调用VOIP应用。此外,移动设备124也可以基于有关用户104的各种参数诸如用户的偏好、位置等等来修订被呈现给用户104的通知UI表单。
移动设备124收集由用户104通过在移动设备124的用户界面中呈现的通知UI表单提供的信息并将UI响应140发送至通知服务器108。这些收集和发送操作可以利用移动设备124(或其他的目标设备)的操作***来执行。因而,例如,在VOIP通知的情况下,移动设备124收集由用户104经由通知UI表单提供的与是否用户104想接受VOIP呼叫等等有关的信息,并将该信息作为UI响应140发送至通知服务器108。通知服务器108处理UI响应140并针对应用服务器106生成通知响应142。例如,如果用户104已指示在具体的稍后时间上接收VOIP呼叫的期望,则通知服务器108针对应用服务器106生成包括指定时间的通知响应142。
可供选择地,在处理通知UI表单之后,移动设备124可以确定在移动设备124上激活应用。因而,响应于与VOIP请求相关的通知UI表单,移动设备124可以激活VOIP应用。随后,客户端设备上的VOIP应用直接发送应用响应144至应用服务器106。例如,应用响应144可以包括来自用户104的VOIP呼叫的接受。应用服务器106处理通知响应142和/或应用响应144并针对用户102生成用户响应146。
因而,由于在移动设备124和通知服务器108之间现有的和正在进行的通信连接的有效利用(其作为利用通知服务器提供给移动设备的推送通知服务的结果而可获得),可操作的事件通知100促进在各种用户、应用服务器、事件源等等之间的通信。在应用服务器106与移动设备124之间没有新的通信信道需要被建立。此外,由于移动设备124不必在该设备上调用应用来从用户104收集信息,所以可操作的事件通知100在客户端设备124上节省电池功率。对于移动设备124的终端用户来说,可用性也得到改善。
应该明白:每一个应用服务和每一个通知服务可以通过多个分布式应用服务器和通知服务器、利用各种各样的包括负载平衡、优化路由和资源管理的优化来管理。应用服务器或通知服务器可以采用单个服务器***或多个分布式服务器***的形式。
图2举例说明用于在本文公开的可操作的事件通知的通知服务器200的示例架构。通知服务器200包括被配置成通信地连接至各种应用服务器206的网络接口模块202以及被配置成与各种客户端设备208进行通信的设备接口模块204。应该明白:接口模块202和204可以被集成并且可以与单个网络或与不同的网络接口。通知服务器200可以利用至网络诸如因特网的高速通信连接在应用服务器上或在专用服务器上进行实现。在一种实现方式中,通知服务器200具有与客户端设备208之中的每一个进行的至少一个现有的且正在进行的通信连接。通知服务器200被配置成经由现有的且正在进行的通信连接(诸如TCP信道)发送推送通知至设备208。应用服务器206可以使用高速、高容量二进制异步接口等等与通知服务器200进行通信。例如,在一种实现方式中,应用服务器206在安全套接字层(SSL)上使用HTTP POST请求与通知服务器200进行通信。在一些实现方式中,这样的通信信道可以是双向的。例如,通知服务器200可以将在客户端设备208上经由通知UI表单所收集的某用户反馈张贴至应用服务器206。
应该明白:通知UI表单也可以提供大量丰富的用户界面活动。例如,应用服务器能够指定:通知UI表单提供通过用户界面来中断用户并允许用户将提醒钉至特殊的用户界面瓷砖(tile)的提醒,将来自提醒的净荷的一些信息添至用户的日历等等。经由通过客户端设备的用户界面而呈现的通知UI表单,可以使得其他的动作是可利用的。
通知服务器200的实现方式也包括鉴别模块212来鉴别从应用服务器206接收的通知请求以及验证模块214来验证这样的通知请求。例如,鉴别模块212对通知请求的源进行鉴别,以确保只有合法的通知请求才利用通知服务器200来处理。在另一种实现方式中,验证模块214验证在通知请求中包括的净荷或内容。在通知请求中包括的示例内容可以是针对目标用户的消息、目标用户的识别、将被发送至目标设备的通知UI表单规范等等。相应地,验证模块214能够验证通知请求的内容,以确保该请求并不包括任何的恶意代码、病毒等等。
通知服务器200也包括预取模块216,其预取用于服务于通知请求的信息。例如,在分析通知请求之后,预取模块216从通知UI表单数据库230中取出通知UI表单规范。通知UI表单规范定义能够在目标设备上经由用户界面呈现的通知UI表单。在其他参数之中,预取模块216尤其可以使用通知请求的源、目的地和/或内容来确定将用于服务于该通知请求的通知UI表单规范。在一种实现方式中,应用服务器206可能已提供将用于服务于具体类型的通知请求的具体的通知UI表单规范。因而,通知UI表单数据库230能够依据通知请求的源、通知UI表单规范的目的地、通知请求的类型和/或内容等等来存储这样的通知UI表单规范。例如,如果该通知请求对于VOIP消息请求而言来源于VOIP应用服务器,则使用基于VOIP的通知UI表单规范。另一方面,对于IM消息而言,不同的通知UI表单规范用于来自IM服务器的通知请求。在还一种实现方式中,第一VOIP服务器可以采用收集与接受方的进行VOIP呼叫的意愿有关的信息的通知UI表单,而另一VOIP服务器可以采用也收集与接受方的在其上面进行呼叫的首选设备有关的信息的通知UI表单。
在预取模块216的另一种实现方式中,诸如图像、音频、图标等等之类的通知UI表单的UI组件可以被收集并被准备(例如,针对目标设备的特殊显示器进行格式化)。这些UI组件可以与在通知服务器216上利用预取模块216所选择的通知UI表单进行组合。可供选择地,某些UI组件可以与通知UI表单相分离地被发送至目标设备,其中目标设备(例如,在目标设备上的操作***)在目标设备上向用户呈现通知表单之前将这些UI组件与所接收的通知UI表单进行组合。
通知服务器200也可以包括存储有关与各种用户相关的通信连接的信息的用户信道数据库232。在一种实现方式中,信道信息依据(例如,如利用设备识别所识别的)客户端设备来分类。可供选择地,信道信息依据用户识别或另一信道影响因素来分类。例如,用户信道数据库232包括有关与关联于具体设备的每一个VOIP识别、关联于具体用户的每一个VOIP识别等等相关的信道的信息。
表单修改模块218能够在必要时基于来自通知请求的内容、请求源和/或目标设备的识别或其他的参数来修改通知UI表单规范。示例修改可以包括而不限于改变通知UI表单以支持特殊类型的目标设备(例如,移动电话相对于游戏机相对于便携式计算机)、将所接收的通知UI表单的格式从丰富格式简化为与具有不太复杂的显示能力的目标设备相兼容的不太丰富的格式(例如,将丰富的图形通知UI表单简化为用于具有有限显示能力的低端移动电话的纯文本UI表单)。表单修改模块218将修改的UI表单规范与正在进行的针对客户端设备208之一的通知相关联。重定向模块220将该通知与恰当的通知UI表单规范一起重定向至客户端设备208之一。
图3举例说明用于在本文公开的可操作的事件通知的应用服务器300的示例架构。应用服务器300包括与通知服务器306进行通信的通知服务器接口302以及与各种客户端设备308进行通信的用户接口304。推送通知模块310生成将从应用服务器300发送至通知服务器306的推送通知请求。例如,如果客户端设备308经由提供IM服务的应用服务器300请求至另一设备的IM连接,则推送通知模块319生成用于发送通知至其他设备的通知请求。在这样的情况下,通知服务器接口302将通知请求传送至通知服务器306,以便发送IM请求至目标设备。推送通知模块310也可以生成回叫URL,其中回叫URL与利用应用服务器300发送至通知服务器306的通知请求一起被包括。这样的回叫URL可以指定:针对该通知的客户端设备响应可以被发回至应用服务器300或至某一其他目的地。在一些实现方式中,通知服务器306可以修改回叫URL,以致客户端设备将响应发回至通知服务器306而非利用应用服务器300所指定的原始回叫URL。
应用服务器300也包括在应用服务器300上注册用户的设备308的用户注册模块324。例如,用户注册可以包括用户账户信息、用户识别、口令等等。因而,对于提供IM服务的应用服务器300来说,用户注册模块324可以包括有关与用户相关的客户端设备的识别的信息,诸如移动设备的电话号码、计算机识别、电子邮件地址等等。事件-用户映射模块326存储事件至各种用户的映射。对于提供新闻服务的应用服务器300来说,事件-用户映射模块326存储有关哪些新闻事件应被提供给特殊用户等等的信息。例如,第一用户可能有兴趣获得与体育赛事相关的更新,而第二用户可能有兴趣获得与政治事件相关的更新等等。在这样的情况下,事件-用户映射模块326将体育赛事更新的源映射至第一用户并将政治事件更新的源映射至第二用户。类似地,对于提供VOIP服务的应用服务器300来说,事件-用户映射模块326将来自主叫用户的VOIP请求映射至目标用户。
利用通知UI表单所收集的并利用通知服务器306或应用服务器300所处理的用户响应的其他示例可以包括但不限于用户是接受还是拒绝VOIP呼叫、是否用户“喜欢”所接收的内容、被反向张贴至社交媒体网络的响应消息等等。
表单构造和修改模块328构造和/或修改定义用于经由客户端设备308之一的用户界面将事件传送至用户的通知UI表单的通知UI表单规范。例如,对于与VOIP请求相关的事件来说,表单构造和修改模块328构造或修改定义请求目标用户指定他或她的进行VOIP呼叫的意愿的通知UI表单的通知UI表单规范。表单构造和修改模块328可以使用存储在通知UI表单数据库332中的通知UI表单规范并酌情修改这样的UI表单规范。应用服务器300也包括客户端设备信息数据库334,其包括有关客户端设备308的信息,诸如客户端设备的制造和模型等等。表单构造和修改模块328也可以使用客户端设备信息数据库334中的信息来修改从通知UI表单数据库332中选择的通知UI表单规范。例如,如果通知UI表单规范被构造用于在具有Flash播放器能力的设备上的呈现而客户端设备并不具有Flash播放器能力,则表单构造和修改模块328能够相应地修改这样的通知UI表单规范。
应用服务器300也包括回叫接收模块312,其被配置成接收从通知服务器306或客户端设备308接收的回叫。回叫接收模块312将接收的回叫传送至处理来自通知服务器306的回叫的回叫处理模块330。例如,处理回叫可以牵涉:处理由用户提供的信息以响应被呈现给用户的通知UI表单,构造响应消息,开放另一通信等等。例如,对于提供VOIP服务的应用服务器300来说,如果来自通知服务器306的回叫指定用户想在可供选择的设备上接收VOIP呼叫,则回叫处理模块330能够生成将被发送至可供选择的设备的VOIP请求。
图4举例说明用于在本文公开的可操作的事件通知的客户端设备400的示例架构。例如,客户端设备400可以是移动电话、膝上型计算机、游戏机、机顶盒、智能电话等等。客户端设备400包括与通知服务器406进行通信的通知服务器接口402以及与各种应用服务器408进行通信的应用服务器接口。通知服务器接口402可以从通知服务器406接收推送通知,其中推送通知可以包括定义将被呈现给用户的通知UI表单的通知UI表单规范。通知处理模块410处理在该通知中接收的信息。例如,通知处理模块410可以分析通知,以便在客户端设备400上确定目的地模块来接收该通知中的内容。因而,如果该通知请求在客户端设备400上调用应用,则通知处理模块410从应用数据库432中调用应用。应用数据库432可以包括被配置成在客户端设备400上执行的各种应用的可执行文件。在一些实现方式中,回传(postback)模块412可以诸如通过在将其返回至服务器之前将本地数据打包、压缩本地数据和/或对其签名来准备针对恰当服务器的响应。
在各种示例中,客户端设备的操作***430被增强,以启用可操作的通知。如果该通知命令客户端设备400向用户呈现通知UI表单而不调用应用,则操作***430通过呈现利用与该通知相关联接收的通知UI表单规范所定义的通知UI表单来处理该通知。对于包括通知UI表单规范或者与通知UI表单规范相关联的通知来说,操作***430使用通知UI表单处理模块428来处理通知UI表单规范并向用户呈现通知UI表单。输入/输出模块426使用诸如触摸屏之类的设备输出资源在客户端设备400上呈现通知UI表单并且使用诸如键盘之类的输入从用户接收输入。内容接收模块424从用户信息数据库434接收内容,以便由输入/输出模块426使用。因而,呈现给用户的通知UI表单可以利用存储在用户信息数据库424上的各种默认的或其他的用户信息来填充。
通知UI表单处理模块428收集由用户响应于通知UI表单所提供的信息并确定是从应用数据库432中调用应用还是将回传通知返回至通知服务器406。示例用户输入并不限于键盘输入而可以包括但不限于语音响应、利用移动照相机或其他输入设备所捕获的静止或视频图像数据等等。回传模块412生成通过通知服务器接口402被传送至通知服务器406的回传通知。
在各种实现方式中,内容接收模块424、输入/输出模块426和通知UI表单处理模块428之中的任何一个或多个可以整体或部分与操作***430一起构成一个整体。
在示例中,移动通信设备或其他的目标设备包括被安排成从该设备与之进行实质上持续不断的通信的通知服务器接收通知消息的操作***;操作***被安排成解析所接收的通知消息中的通知UI表单规范、使用UI表单规范来在移动通信设备的显示器上显示UI表单、接收用户输入以响应所显示的UI表单以及基于所接收的用户输入与通知服务器和应用服务器之中的任何一个进行通信。
图5举例说明在客户端设备502上响应于通知而提供的通知UI表单500中所呈现的示例可操作的通知。通知UI表单500可以被提供给用户以响应自应用服务器504至通知服务器506的通知请求。通知UI表单500利用客户端设备502的操作***来处理和呈现并且可以包括文本通知510,其包括在客户端设备502上显示的通知的内容。作为示例,举例说明的通知UI表单500也包括可以识别启动该通知的应用服务器的图片/标志512。
在一种实现方式中,应用服务器504可以是向用户发送有关对于VOIP会话的请求的通知的VOIP服务。在这种情况下,文本通知510通知用户:另一用户已请求与设备502的用户进行的VOIP会话。文本通知510可以包括有关请求VOIP会话的用户的信息以及识别VOIP会话的其他信息。图片/标志512可以识别VOIP应用服务器。通知UI表单500也包括能够由用户用于输入他或她的注释的注释字段520。其他示例UI组件可以包括视频和/或音频剪辑、语音消息、静止图像、化身(avatar)、图标等等。
通知UI表单500的输入字段530提供用户能够选择来提交选定(choice)(例如,将通知重定向至的另一目标设备的选定)的许多输入选定532、534和536。例如,对于与VOIP服务通知相关的通知UI表单500来说,输入字段530包括与用户希望用于VOIP会话的设备相关的输入选定。在一种实现方式中,输入字段523-536的选择以有关对于通知服务器506而言是已知的用户的信息为基础。因而,如果通知服务器506基于过去使用而可能知道那个(用户)的话,则用户在台式机、平板计算机和智能电话之中的每一个上安装VOIP应用。因此,通知UI表单500呈现对于这三个设备的输入选定。在可供选择的实现方式中,输入字段530也可以是下拉列表或输入字段,其中用户能够手动提供所请求的信息。示例用户输入不限于键盘输入,而可以也包括但不限于语音响应、利用移动照相机或其他输入设备所捕获的静止或视频图像数据等等。
另外,其他的通知UI表单可以收集其他的用户输入,诸如是否接受VOIP呼叫、是否客户端“喜欢”所接收的内容等等。通知UI表单类型能够随着目标设备、随着目的地用户、随着应用服务的类型等等而变化。
提交按钮540允许用户保存和提交使用通知UI表单500所提供的信息。在一种实现方式中,通知UI表单500中的信息在设备502上不被处理而被发送至通知服务器506,以便进一步处理。可供选择地,设备502的操作***可以处理通知UI表单500中的信息,以便在设备级上作出一个或多个决定。例如,设备502的操作***可以在设备502上调用应用,以响应从用户接收的输入。通知服务器506处理从通知UI表单500中收集的信息并在必要时与应用服务器504进行通信。
图6举例说明在本文公开的通知服务器的示例操作600。接收操作602从应用服务器诸如VOIP服务、IM服务等等接收通知请求。例如,接收操作602通过安全套接字层(SSL)从应用服务接收通知请求。通知请求可以包括针对目标用户或目标设备的消息、目标用户或目标设备的识别、将被发送至目标用户或目标设备的通知UI表单等等。鉴别操作604鉴别通知请求,以确保:从鉴别的应用服务中接收该通知请求。验证操作606对该通知请求进行验证,以确保:在从应用服务器接收的通知请求中没有恶意代码。
分析操作608分析通知请求,以确定将响应于该通知请求而采取的各种操作。例如,分析操作可以确定目标用户的身份、由目标用户使用的设备、用于与目标用户进行通信的通信连接、由目标用户使用的设备的能力等等。
确定操作610确定和/或修改与通知请求相关的通知UI表单规范。例如,确定操作610可以在通知服务器上从通知UI表单数据库中选择通知UI表单规范。可供选择地,来自应用服务器的通知请求可以包括通知UI表单规范。确定操作610也可以基于与接收该通知的用户、用于显示该通知的客户端设备等等相关的各种参数来修改所选择的与通知请求相关联的通知UI表单规范。一些示例可以包括客户端设备的视觉形状因子(例如,可利用的屏幕区域(real estate))、客户端设备的硬件性能能力、可利用的通信带宽、网络可靠性等等。例如,确定操作610能够基于由接收通知的用户所使用的设备的类型来改变将显示在通知UI表单中的一个或多个控制、输入框等等。因而,如果客户端设备不包括彩色显示器,则能够将通知UI表单修改成以灰度级进行显示。可供选择地,确定操作610基于用于与客户端设备进行通信的信道的带宽来改变用于通知UI表单的规范,其中较高分辨率通知UI表单用于较高带宽信道,而较低分辨率通知UI表单用于较低带宽信道。
修改操作612可以修改通知请求中的一个或多个回叫规范。因而,如果用于VOIP服务的应用服务器已利用将VOIP服务指定为回叫目的地的回叫规范将通知发送至通知服务器,则修改操作612能够修改这样的回叫规范,以便将通知服务器指定为回叫目的地。例如,修改操作612可以修改回叫规范,以致回叫目的地是识别通知服务器的URL/URI。
发送操作614发送通知至目标设备。基于在通知请求中提供的信息、有关在通知服务器上存储的用户的信息等等来选择目标设备。在一种实现方式中,通知服务器具有存储有关用于各种客户端设备的通信连接的信息的存储器。发送操作614选择这样的连接之一并通过所选择的连接将通知发送至客户端设备。
接收操作616从客户端设备接收用户响应。例如,接收操作616接收针对有关被发送至客户端设备的VOIP会话请求的通知的用户响应。在一种实现方式中,用户响应包括由用户通过连同通知一起被呈现给用户的通知UI表单所提供的信息。在其中通知包括VOIP会话请求的示例中,用户响应可以包括用户的参与VOIP会话的意愿、用于参与VOIP会话的可供选择的设备的识别、由用户针对VOIP会话所建议的可供选择的时间等等。
处理操作618处理用户响应来确定恰当的动作。例如,基于用户响应的内容,处理操作616可以形成应被发送至始发了该通知请求的应用服务器的通知响应。发送操作620将通知响应发送至应用服务器。
图7举例说明在本文公开的应用服务器的示例操作700。分析操作702分析利用应用服务或相关服务所确定的事件。例如,如果应用服务器提供社交网络应用服务,则分析操作702可以分析由用户在社交网站上发出的帖子。确定操作704确定是否应用服务器需要发送通知至用户以响应该事件。如果确定将要发送通知,则另一确定操作706确定是否通知UI表单规范将与该通知相关联。如果指示通知UI表单规范,则选择操作708在应用服务器上从通知UI表单数据库中选择通知UI表单规范并将该通知UI表单规范与将被发送至目标设备的通知相关联。
发送操作710利用或不利用通知UI表单规范将通知请求发送至通知服务器。通知请求也可以包括其他的内容,诸如用户的识别、将显示给用户的内容、客户端设备识别等等。接收操作712从通知服务器接收通知响应。通知响应可以包括由用户经由在客户端设备上显示的通知UI表单所提供的信息。确定操作714处理该通知响应来确定是否通信连接需要被开放来直接与客户端设备进行通信。如果是这样的话,则通信操作716开放通信连接用于直接与客户端设备进行通信。
图8举例说明在本文公开的客户端设备的示例操作800。在一种实现方式中,这些操作800由客户端设备的操作***来执行而在客户端设备上不调用相关的应用。可供选择地,客户端设备的操作***可以在客户端设备上调用应用,其中该应用执行这些操作800之中的一些操作。
(例如,客户端设备操作***的或在客户端设备上的应用的)接收操作802从通知服务器接收通知。例如,该通知可以包括将被显示给用户的内容、被呈现给用户的通知UI表单等等。该通知与安装在客户端设备上的应用相关联。该通知也可以与特殊设备、特殊用户或客户端设备上的特殊硬件或软件组件相关联。鉴别和验证操作804鉴别和/或验证该通知,以查明该通知的源、该通知的内容等等。(例如,客户端设备操作***的或在客户端设备上的应用的)处理操作806处理该通知。这样的处理可以包括确定该通知所涉及的客户端设备上的应用、确定与该通知相关联的任何的通知UI表单规范、确定能够用于更新通知UI表单规范的任何默认内容等等。例如,如果该通知与社交网络应用相关并包括通知UI表单规范,其中通知UI表单规范包括用于“喜欢”、“不喜欢”等等的输入字段,则处理操作806可以选择恰当的图标来呈现这样的输入字段。
(例如,客户端设备操作***的或在客户端设备上的应用的)呈现操作808在客户端设备上呈现通知UI表单。通知UI表单的示例包括针对用户的消息、识别应用的标志、用于来自用户的自由形式内容的输入字段、给用户提供各种选项的输入字段、采用下拉列表的形式的输入字段、提交选项等等。(例如,客户端设备操作***的或在客户端设备上的应用的)接收操作810经由通知UI表单来接收用户输入。确定操作812处理这些用户输入,以确定是否将在客户端设备上开放应用。如果是这样的话,(例如,客户端设备操作***的或在客户端设备上的应用的)操作814开放应用并发送内容至该应用,其中发送至该应用的内容包括与该通知一起接收的内容、通过通知UI表单接收的内容等等。(例如,客户端设备操作***的或在客户端设备上的应用的)发送操作816形成响应并将响应发送至通知服务器。
图9举例说明在实现所描述的技术中可能是有用的示例***。用于实现所描述的技术的图9的示例硬件和操作环境包括计算设备,诸如采用游戏机或计算机20的形式的通用计算设备、移动电话、个人数据助理(PDA)、机顶盒或其他类型的计算设备。在图9的实现方式中,例如,计算机20包括处理单元21、***存储器22以及操作地将包括***存储器的各种***组件耦合至处理单元21的***总线23。可以仅仅具有一个处理单元21或可以具有一个以上的处理单元21,以致计算机20的处理器包括单个中央处理单元(CPU)或多个处理单元,其通常被称为并行处理环境。计算机20可以是常规计算机、分布式计算机或任何其他类型的计算机;本发明并不如此进行限制。
***总线23可以是包括存储器总线或存储器控制器、***总线、交换结构、点到点连接以及使用各种各样总线架构之中的任何一种的本地总线的若干类型的总线结构之中的任何一种。***存储器也可以被简称为存储器,并且包括只读存储器(ROM)24和随机存取存储器(RAM)25。在ROM 24中存储基本输入/输出***(BIOS)26,其包含有助于诸如在启动期间在计算机20内的部件之间传递信息的基本例程。计算机20进一步包括用于从硬盘(未显示)读取和写至硬盘的硬盘驱动器27、用于从可移除磁盘29读取或写至可移除磁盘29的磁盘驱动器28以及用于从可移除光盘31诸如CD ROM、DVD或其他光学媒体读取或写至可移除光盘31的光盘驱动器30。
硬盘驱动器27、磁盘驱动器28以及光盘驱动器30分别利用硬盘驱动接口32、磁盘驱动接口33以及光盘驱动接口34被连接至***总线23。这些驱动器及其相关联的计算机可读媒体为计算机20提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。本领域技术人员应该意识到:在示例操作环境中可以使用能够存储利用计算机可访问的数据的任何类型的计算机可读媒体,诸如磁带、闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等等。
许多程序模块可以被存储在硬盘、磁盘29、光盘31、ROM 24或RAM 25上,其包括操作***35、一个或多个应用程序36、其他程序模块37以及程序数据38。用户可以通过诸如键盘40和指向设备42之类的输入设备将命令和信息输入至个人计算机20。其他的输入设备(未显示)可以包括麦克风、操纵杆、游戏垫、卫星天线、扫描仪等等。这些和其他的输入设备时常通过被耦合至***总线的串行端口接口46被连接至处理单元21,但是可以利用其他接口诸如并行端口、游戏端口或通用串行总线(USB)进行连接。监视器47或其他类型的显示设备也经由接口诸如视频适配器48被连接至***总线23。除了监视器之外,计算机典型地还包括其他的***输出设备(未显示),诸如扬声器和打印机。
计算机20可以使用至一个或多个远程计算机诸如远程计算机49的逻辑连接而操作在连网环境中。这些逻辑连接利用耦合至计算机20的一部分的通信设备或计算机20的一部分来实现;本发明并不限于特殊类型的通信设备。远程计算机49可以是另一计算机、服务器、路由器、网络PC、客户端、对等设备或其他的常见网络节点,并且典型地包括上面相对于计算机20所描述的部件之中的许多或所有部件,尽管在图9中仅举例说明了记忆存储设备50。图9中所描绘的逻辑连接包括局域网(LAN)51和广域网(WAN)52。这样的连网环境在为所有类型的网络的办公网络、企业级计算机网络、内联网和因特网中是常见的事。
当被使用在LAN连网环境中时,计算机20通过网络接口或适配器53被连接至本地网络51,其是一种类型的通信设备。当被使用在WAN连网环境中时,计算机20典型地包括调制解调器54、网络适配器、某种类型的通信设备或任何其他类型的通信设备,用于通过广域网52建立通信。可以是内部的或外部的调制解调器54经由串行端口接口46被连接至***总线23。在连网环境中,相对于个人计算机20所描绘的程序引擎或其部分可以被存储在远程记忆存储设备中。意识到:所示的网络连接是示例,并且可以使用用于在计算机之间建立通信链路的其他装置和通信设备。
在示例实现方式中,通知服务器、各种应用服务器以及其他的引擎和服务可以利用存储在存储器22和/或存储设备29或31中并利用处理单元21来处理的指令来体现。用户简档、用户请求、有关用户的社交网络的信息以及其他数据可以被存储在存储器22和/或作为永久性数据储存器的存储设备29或31中。进一步,通知服务器代表被配置成为网络连接的***提供服务功能的硬件和/或软件。这样的服务可以使用通用计算机和专业软件(诸如执行服务软件的服务器)、专用计算***和专业软件(诸如执行服务软件的移动设备或网络器具)或其他的计算配置来实现。
术语“模块”、“程序”、“服务”和“引擎”可以用于描述被实现来执行一个或多个特殊功能的计算***20的方面。在一些情况中,这样的模块、程序、服务或引擎可以经由执行利用***存储器22保持的指令的处理单元21来实例化。将明白:不同的模块、程序和/或引擎可以根据相同的应用、服务、代码块、对象、库、例程、API、函数等等进行实例化。同样,相同的模块、程序和/或引擎可以利用不同的应用、服务、代码块、对象、例程、API、函数等等进行实例化。术语“模块”、“程序”和“引擎”旨在涵盖个别的或成组的可执行文件、数据文件、库、驱动器、脚本、数据库记录等等。
图10举例说明在实现所描述的技术中可能是有用的另一示例***(被标记为移动设备1000)。移动设备1000包括处理器1002、存储器1004、显示器1006(例如,触摸屏显示器)和其他接口1008(例如,键盘)。存储器1004一般包括易失性存储器(例如,RAM)和非易失性存储器(例如,闪存)二者。操作***1010诸如Microsoft Windows® Phone操作***驻留在存储器1004中并由处理器1002来执行,尽管应该明白:可以采用其他的操作***。
一个或多个应用程序1012被加载在存储器1004中并由处理器1002在操作***1010上进行执行。应用1012的示例包括但不限于电子邮件程序、调度程序、个人信息管理器、因特网浏览程序、多媒体播放器应用等等。通知管理器1014也被加载在存储器1004中并由处理器1002来执行,以便向用户呈现通知。例如,在宣传(promotion)被触发并被呈现给购物者时,通知管理器1014能够引起移动设备1000发出哔哔声或(经由振动设备1018)振动并在显示器1006上显示该宣传。
移动设备1000包括电源1016,其利用一个或多个电池或其他的电源来供电并给移动设备1000的其他组件提供功率。电源1016也可以被连接至外部电源,而外部电源优先于(override)内置电池或其他电源或对内置电池或其他电源再充电。
移动设备1000包括一个或多个通信收发信机1030来提供网络连接性(例如,移动电话网络、Wi-Fi®、BlueTooth®等等)。移动设备1000也包括各种其他的组件,诸如定位***1020(例如,全球定位卫星收发信机)、一个或多个加速计1022、一个或多个照相机1024、音频接口1026(例如,麦克风、音频放大器与扬声器和/或音频插孔)以及附加的储存器1028。也可以采用其他的配置。
在示例实现方式中,移动操作***、各种应用以及其他的模块与服务可以利用存储在存储器1004和/或存储设备1028中并利用处理单元1002来处理的指令来体现。用户偏好、服务选项以及其他的数据可以被存储在存储器1004和/或作为永久性数据储存器的存储设备1028中。
移动设备1000和计算机20可以包括各种各样有形的计算机可读存储媒体以及无形的计算机可读通信信号。有形的计算机可读储存器能够利用能够被移动设备1000或计算机20访问并且包括易失性与非易失性存储媒体、可移除与不可移除存储媒体二者的任何可用媒体来体现。有形的计算机可读存储媒体排除无形的通信信号并且包括采用任何的用于存储信息诸如计算机可读指令、数据结构、程序模块或其他数据的方法或技术来实现的易失性与非易失性、可移除与不可移除的存储媒体。有形的计算机可读存储媒体包括但不限于RAM、ROM、EEPROM、闪存或其他的存储技术、CDROM、数字多用途盘(DVD)或其他的光盘储存器、磁带盒、磁带、磁盘储存器或其他的磁存储设备或任何其他的能够用于存储期望信息并能够利用移动设备1000或计算机20来访问的有形介质。相比于有形的计算机可读存储媒体,无形的计算机可读通信信号可以体现驻留在调制的数据信号诸如载波或其他的信号传输机制中的计算机可读指令、数据结构、程序模块或其他数据。术语“调制的数据信号”意味着这样的信号,其特征之中的一个或多个以在该信号中编码信息的方式进行设置或改变。
在本文描述的本发明的实施例在一个或多个计算机***中被实现为逻辑步骤。本发明的逻辑操作被实现:(1)作为在一个或多个计算机***中执行的一系列处理器实现的步骤;以及(2)作为在一个或多个计算机***内互连的机器或电路引擎。实现方式是取决于实现本发明的计算机***的性能要求的选定的问题。相应地,构成在本文描述的本发明的实施例的逻辑操作被不同地称为操作、步骤、对象或引擎。此外,应该明白:除非以其他方式明确要求或者利用权利要求语言固有地使得特定顺序是有必要的,否则可以按照任何顺序来执行逻辑操作。
上面的说明、示例和数据提供本发明的示例性实施例的结构和使用的完整描述。因为能够作出本发明的许多实施例而不背离本发明的精神与范畴,所以本发明驻留在以下所附的权利要求书中。此外,在另一实施例中可以组合不同实施例的结构特性而不背离所叙述的权利要求书。
Claims (24)
1.一种处理器实现的方法,包括:
在通知服务器上,接收来自应用服务器的包括通知目标识别的通知请求,所述通知目标识别用于识别所述目标设备,在所述目标设备和所述应用服务器之间没有直接通信的情况下,所述通知请求从所述应用服务器被传输;
基于所述通知目标识别,确定定义将在所述目标设备上显示以收集用户输入的通知UI表单的通知UI表单规范;以及
响应于来自所述应用服务器的所述通知请求的接收,将包括所确定的通知UI表单规范的通知传送至所述目标设备,用于所述通知UI表单通过所述目标设备的用户界面的呈现。
2.根据权利要求1所述的处理器实现的方法,其中所述通知请求利用通知服务器来接收并且进一步包括回叫规范,所述方法进一步包括:
修改所述回叫规范,以便将所述通知服务器指定为回叫目的地。
3.根据权利要求1所述的处理器实现的方法,进一步包括:
基于所述通知目标识别来确定通知信道;以及
使用所述通知信道将所述通知传送至所述目标设备。
4.根据权利要求1所述的处理器实现的方法,其中所述确定操作包括:
基于所述通知目标识别来选择所述通知UI表单规范。
5.根据权利要求1所述的处理器实现的方法,其中确定操作包括:
从与所述通知请求相关联的所述应用服务器接收所述通知UI表单规范。
6.根据权利要求1所述的处理器实现的方法,其中确定操作包括:
接收来自所述应用服务器的存储用于由所述通知服务器访问的所述通知UI表单规范。
7.根据权利要求1所述的处理器实现的方法,进一步包括:在发射包括所修改的通知UI表单规范的通知至所述目标设备之前,修改所述通知UI表单规范。
8.根据权利要求1所述的处理器实现的方法,其中修改所述通知UI表单规范包括:
基于所述目标设备的表单因子来修改所述通知UI表单规范。
9.根据权利要求1所述的处理器实现的方法,进一步包括:接收利用经由所述目标设备的所述用户界面所呈现的所述通知UI表单所收集的表单信息。
10.根据权利要求9所述的处理器实现的方法,进一步包括:
处理所述表单信息以确定用户响应;以及
向由所述通知请求提供的回叫规范指定的应用服务器传送所述用户响应。
11.根据权利要求1所述的处理器实现的方法,其中所述通知包括至所述目标设备的一个或多个指令,以便使用所述目标设备的操作***来处理所述通知。
12.根据权利要求1所述的处理器实现的方法,其中所述通知包括至所述目标设备的一个或多个指令,以便处理所述通知而在所述目标设备上不开放应用。
13.根据权利要求1所述的处理器实现的方法,其中所述通知UI表单允许用户指定在其上面将接收所述通知的可供选择的设备。
14.根据权利要求1所述的处理器实现的方法,进一步包括:
根据所述目标设备来准备与所述通知UI表单相关联的用户界面组件;以及
与所述通知UI表单相分离地向所述目标设备发射准备的所述用户界面组件。
15.根据权利要求1所述的处理器实现的方法,其中所述应用服务器与在所述目标设备上安装的应用相关联。
16.根据权利要求1所述的处理器实现的方法,其中所述用户输入响应于所述通知而在所述目标设备上被采集。
17.根据权利要求16所述的处理器实现的方法,其中在所述目标设备上采集的所述用户输入经由所述通知服务器被传送至所述应用服务器。
18.根据权利要求1所述的处理器实现的方法,其中定义所述通知UI表单的所述通知UI表单规范在所述通知服务器处被确定,并且响应于来自所述应用服务器的所述通知请求的所述接收,包括确定的所述通知UI表单规范的所述通知从所述通知服务器被传送至所述目标设备。
19.一种通信网络连接的***,包括:
通信地耦合至应用服务器接口的通信设备,用于接收来自应用服务器的包括通知目标识别的通知请求,所述通知目标识别用于识别所述目标设备,在所述目标设备和所述应用服务器之间没有直接通信的情况下,所述通知请求从所述应用服务器被传输;
用于执行确定模块的一个或多个处理单元,所述确定模块被配置成基于所述通知目标识别来确定定义将在所述目标设备上显示以收集用户输入的通知UI表单的通知UI表单规范;
用于执行通信模块的所述一个或多个处理单元,所述通信模块被配置成响应于接收来自所述应用服务器的所述通知请求,将包括所确定的通知UI表单规范的通知传送至所述目标设备,用于通知UI表单通过所述目标设备的用户界面的呈现,所述通知UI表单具有以下至少一项:注释字段和用于从多个选定中的用户选择的多个输入选定按钮。
20.一种或多种有形的计算机可读存储媒体,其存储用于在计算***上执行计算机进程的计算机可执行指令,所述计算机进程包括:
从应用服务器接收包括通知目标识别的通知请求,所述通知目标识别用于识别所述目标设备,在所述目标设备和所述应用服务器之间没有直接通信的情况下,所述通知请求从所述应用服务器被传输;
基于所述通知目标识别,确定定义将在所述目标设备上显示以收集用户输入的通知UI表单的通知UI表单规范;
响应于来自所述应用服务器的所述通知请求的接收,将包括所确定的通知UI表单规范的通知传送至所述目标设备,用于所述通知UI表单通过所述目标设备的用户界面的呈现。
21.根据权利要求20所述的一种或多种有形的计算机可读存储媒体,其中所述确定操作包括:
基于所述通知目标识别来选择所述通知UI表单规范。
22.根据权利要求20所述的一种或多种有形的计算机可读存储媒体,其中所述确定操作包括:
从与所述通知请求相关联所述应用服务器接收所述通知UI表单规范。
23.根据权利要求20所述的一种或多种有形的计算机可读存储媒体,其中所述确定操作包括:
接收来自所述应用服务器的存储用于由所述通知服务器访问的所述通知UI表单规范。
24.根据权利要求20所述的一种或多种有形的计算机可读存储媒体,其中所述确定操作包括:
在发射包括所修改的通知UI表单规范的通知至所述目标设备之前,修改所述通知UI表单规范。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/165163 | 2014-01-27 | ||
US14/165,163 US10802681B2 (en) | 2014-01-27 | 2014-01-27 | Actionable notifications |
PCT/US2015/012112 WO2015112518A1 (en) | 2014-01-27 | 2015-01-21 | Actionable notifications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106416195A CN106416195A (zh) | 2017-02-15 |
CN106416195B true CN106416195B (zh) | 2020-07-10 |
Family
ID=52463163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580006062.6A Active CN106416195B (zh) | 2014-01-27 | 2015-01-21 | 一种处理器实现方法、一种通信网络连接的***和有形的计算机可读存储媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10802681B2 (zh) |
EP (1) | EP3100437B1 (zh) |
CN (1) | CN106416195B (zh) |
WO (1) | WO2015112518A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10540063B2 (en) | 2014-01-27 | 2020-01-21 | Microsoft Technology Licensing, Llc | Processing actionable notifications |
WO2016043530A1 (en) | 2014-09-18 | 2016-03-24 | Samsung Electronics Co., Ltd. | System and method for providing service via application |
US10572842B1 (en) * | 2014-11-11 | 2020-02-25 | Amazon Technologies, Inc. | Notification service for managing actionable messages from backend services |
US10552796B1 (en) | 2014-12-19 | 2020-02-04 | Amazon Technologies, Inc. | Approval service in a catalog service platform |
US10621602B2 (en) * | 2015-09-22 | 2020-04-14 | Adobe Inc. | Reinforcement machine learning for personalized intelligent alerting |
US10964432B2 (en) * | 2016-01-08 | 2021-03-30 | Universal Research Solutions, Llc | Processing of portable device data |
US10171605B2 (en) | 2016-07-15 | 2019-01-01 | Apple Inc. | Dual channel delivery |
WO2018093225A1 (en) * | 2016-11-21 | 2018-05-24 | Samsung Electronics Co., Ltd. | Method and apparatus for generating statement |
US11070506B2 (en) * | 2018-01-10 | 2021-07-20 | Vmware, Inc. | Email notification system |
US11743356B2 (en) | 2018-01-10 | 2023-08-29 | Vmware, Inc. | Email notification system |
US10924512B2 (en) | 2018-03-07 | 2021-02-16 | Vmware, Inc. | Secure email gateway with device compliance checking for push notifications |
US11095740B2 (en) * | 2019-04-18 | 2021-08-17 | Bank Of America Corporation | Two-way push notification of activity events through a wireless device |
US11838379B2 (en) * | 2021-07-24 | 2023-12-05 | Vmware, Inc. | Tailoring notification posting based on device activity status |
CN114996218A (zh) * | 2021-10-18 | 2022-09-02 | 荣耀终端有限公司 | 显示方法及装置 |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7054863B2 (en) | 2000-11-15 | 2006-05-30 | Pacific Datavision, Inc. | System and method for originating, storing, processing and delivering message data |
JP2002236630A (ja) * | 2001-02-08 | 2002-08-23 | Fujitsu Ltd | 処理装置、管理装置、コンピュータシステム、記録媒体およびプログラム |
US8239271B2 (en) * | 2001-09-04 | 2012-08-07 | Ncr Corporation | Methods and apparatus for managing sequencing of data received from devices in a retail point of sale system |
US20040158619A1 (en) | 2003-02-10 | 2004-08-12 | Claus Pedersen | Method and apparatus for provisioning content |
US7257583B2 (en) | 2004-01-09 | 2007-08-14 | Microsoft Corporation | System and method for updating an on-device application catalog in a mobile device receiving a push message from a catalog server indicating availability of an application for download |
KR20060056081A (ko) | 2004-11-19 | 2006-05-24 | 전현태 | 무선 단말기를 이용한 차량관리시스템 및 그 방법 |
US20080028326A1 (en) * | 2006-07-26 | 2008-01-31 | Research In Motion Limited | System and method for adaptive theming of a mobile device |
US7774356B2 (en) | 2006-12-04 | 2010-08-10 | Sap Ag | Method and apparatus for application state synchronization |
KR101068396B1 (ko) | 2007-06-28 | 2011-09-28 | 에스케이 텔레콤주식회사 | 이동 통신망에서의 mms 메시지 착신 전환 시스템 및방법 |
US8024472B1 (en) * | 2007-09-25 | 2011-09-20 | Limelight Networks, Inc. | Third party verification using override IP addresses |
US9501337B2 (en) * | 2008-04-24 | 2016-11-22 | Adobe Systems Incorporated | Systems and methods for collecting and distributing a plurality of notifications |
US9172768B2 (en) * | 2008-08-26 | 2015-10-27 | At&T Intellectual Property I, L.P. | Method and apparatus for creating webpages in a media communication system |
US8347386B2 (en) * | 2008-10-21 | 2013-01-01 | Lookout, Inc. | System and method for server-coupled malware prevention |
EP2352116A1 (en) * | 2008-10-22 | 2011-08-03 | Hitachi, Ltd. | Information management support method, management information visualization device, information management system, and management information visualization method |
US9954975B2 (en) * | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
US9858559B2 (en) | 2009-01-28 | 2018-01-02 | Headwater Research Llc | Network service plan design |
US8630624B2 (en) * | 2009-02-25 | 2014-01-14 | Apple Inc. | Managing notification messages |
US9129268B2 (en) * | 2009-03-24 | 2015-09-08 | Yodlee, Inc. | Directing payments to satisfy periodic financial obligations |
US8464224B2 (en) * | 2009-06-30 | 2013-06-11 | Sap Ag | Integrated performance and load testing tool for application servers |
US8621571B2 (en) * | 2010-03-03 | 2013-12-31 | Htc Corporation | Online service providing system, method, server and mobile device thereof, and computer program product |
US8990333B2 (en) | 2010-04-09 | 2015-03-24 | Weather Decision Technologies, Inc. | Multimedia alerting |
US8924489B2 (en) | 2011-01-05 | 2014-12-30 | Apple Inc. | Message push notification client improvements for multi-user devices |
US8723823B2 (en) * | 2011-02-07 | 2014-05-13 | Qualcomm Incorporated | System and method for providing notifications on a mobile computing device |
US20120215707A1 (en) * | 2011-02-18 | 2012-08-23 | Salesforce.Com, Inc. | Methods And Systems For Providing A Recognition User Interface For An Enterprise Social Network |
JP5779955B2 (ja) * | 2011-03-18 | 2015-09-16 | 株式会社リコー | サーバ装置、誘引システム及び誘引方法 |
US20120239507A1 (en) | 2011-03-18 | 2012-09-20 | David Edward Braginsky | Sending Notifications to Users Based on Users' Notification Tolerance Levels |
US8386394B1 (en) * | 2011-04-04 | 2013-02-26 | Google Inc. | Verifying that a purchasing request is legitimate |
US9830622B1 (en) * | 2011-04-28 | 2017-11-28 | Boku, Inc. | Systems and methods to process donations |
US8893033B2 (en) | 2011-05-27 | 2014-11-18 | Microsoft Corporation | Application notifications |
US8942115B2 (en) * | 2011-06-03 | 2015-01-27 | Apple Inc. | System and method for dynamic routing for push notifications |
US8554855B1 (en) | 2011-06-14 | 2013-10-08 | Urban Airship, Inc. | Push notification delivery system |
US8649768B1 (en) | 2011-08-24 | 2014-02-11 | Cellco Partnership | Method of device authentication and application registration in a push communication framework |
US9804864B1 (en) | 2011-10-07 | 2017-10-31 | BlueStack Systems, Inc. | Method of mapping inputs and system thereof |
WO2013062599A1 (en) | 2011-10-26 | 2013-05-02 | Box, Inc. | Enhanced multimedia content preview rendering in a cloud content management system |
US8739249B1 (en) | 2012-03-08 | 2014-05-27 | Google Inc. | Push notifications for web applications and browser extensions |
US20130297333A1 (en) * | 2012-05-04 | 2013-11-07 | Omnicare, Inc. | Systems and methods for electronic prescribing |
US10580056B2 (en) * | 2012-05-17 | 2020-03-03 | Walmart Apollo, Llc | System and method for providing a gift exchange |
US9173074B2 (en) | 2012-05-27 | 2015-10-27 | Qualcomm Incorporated | Personal hub presence and response |
US20130332856A1 (en) | 2012-06-10 | 2013-12-12 | Apple Inc. | Digital media receiver for sharing image streams |
US10419890B2 (en) * | 2012-06-15 | 2019-09-17 | Qualcomm Incorporated | Client access to mobile location services |
US10453030B2 (en) | 2012-06-20 | 2019-10-22 | Wendy H. Park | Ranking notifications based on rules |
JP5175402B1 (ja) * | 2012-06-21 | 2013-04-03 | 株式会社 ディー・エヌ・エー | 通信方法、通信装置、および、プログラム |
US20140053189A1 (en) * | 2012-08-17 | 2014-02-20 | Electronics And Telecommunications Research Institute | Apparatus and method for providing personalized home screen |
US9094692B2 (en) * | 2012-10-05 | 2015-07-28 | Ebay Inc. | Systems and methods for marking content |
JP6038590B2 (ja) * | 2012-10-17 | 2016-12-07 | 任天堂株式会社 | 情報処理システム、情報処理装置、サーバ、情報処理プログラム、および情報処理方法 |
US20140150007A1 (en) | 2012-11-27 | 2014-05-29 | Cbs Interactive Inc. | Automated point-based entertainment betting |
EP2775668A3 (en) * | 2013-03-08 | 2015-10-28 | Samsung Electronics Co., Ltd. | Display apparatus, server and control methods thereof |
US11573672B2 (en) * | 2013-03-15 | 2023-02-07 | Fisher-Rosemount Systems, Inc. | Method for initiating or resuming a mobile control session in a process plant |
US9614848B2 (en) * | 2013-04-29 | 2017-04-04 | Verizon Patent And Licensing Inc. | Providing unique identifiers via a user device |
US20140359476A1 (en) * | 2013-05-30 | 2014-12-04 | Kabam, Inc. | System and method for forwarding external notifications of events in a virtual space from a presentation control device to a user device |
US9584979B2 (en) * | 2013-06-20 | 2017-02-28 | Blackberry Limited | Server behavior based on paired device identification |
US20150020012A1 (en) * | 2013-07-11 | 2015-01-15 | Htc Corporation | Electronic device and input method editor window adjustment method thereof |
US9979751B2 (en) | 2013-09-20 | 2018-05-22 | Open Text Sa Ulc | Application gateway architecture with multi-level security policy and rule promulgations |
US20150120849A1 (en) * | 2013-10-30 | 2015-04-30 | Qwasi, Inc. | Systems and methods for push notification management |
US10540063B2 (en) | 2014-01-27 | 2020-01-21 | Microsoft Technology Licensing, Llc | Processing actionable notifications |
-
2014
- 2014-01-27 US US14/165,163 patent/US10802681B2/en active Active
-
2015
- 2015-01-21 WO PCT/US2015/012112 patent/WO2015112518A1/en active Application Filing
- 2015-01-21 EP EP15703365.5A patent/EP3100437B1/en active Active
- 2015-01-21 CN CN201580006062.6A patent/CN106416195B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
WO2015112518A1 (en) | 2015-07-30 |
US20150212674A1 (en) | 2015-07-30 |
CN106416195A (zh) | 2017-02-15 |
US10802681B2 (en) | 2020-10-13 |
EP3100437B1 (en) | 2018-06-06 |
EP3100437A1 (en) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11320968B2 (en) | Processing actionable notifications | |
CN106416195B (zh) | 一种处理器实现方法、一种通信网络连接的***和有形的计算机可读存储媒体 | |
US11050683B2 (en) | System for providing dialog content | |
US11032232B2 (en) | Chat-based support of multiple communication interaction types | |
US9628753B2 (en) | Displaying video call data | |
AU2022211850B2 (en) | Application function implementation method and electronic device | |
US8645840B2 (en) | Multiple user GUI | |
US20160134568A1 (en) | User interface encapsulation in chat-based communication systems | |
WO2021208599A1 (zh) | 信息处理方法、***、装置、设备及存储介质 | |
US20170048378A1 (en) | Smart automatic composition of short messaging responses | |
JP2021099861A (ja) | メッセージングサービスのためのサーバ、システム、ユーザ端末、方法、及びプログラム | |
EP2879363A1 (en) | Apparatus, system, and method of managing counterpart terminal information, and carrier medium | |
US20180091458A1 (en) | Actionable messages in an inbox | |
JP2022141683A (ja) | アプリケーション機能の実施方法及び電子装置 | |
KR20150095840A (ko) | 실시간 통신 시스템을 이용한 그룹 넛지 | |
KR100713148B1 (ko) | 멀티미디어 자원 공유 시스템 및 방법 | |
Deinert et al. | Introducing widget-based ims client applications | |
US20180089165A1 (en) | Natural language service interaction through an inbox | |
JP2022046432A (ja) | 着信転換基盤のユーザ端末の電話番号を維持する方法およびシステム{method and system for keeping phone number of user terminal based on call forwarding} | |
Deinert et al. | A base solution for exposing IMS telecommunication services to web 2.0 enabled applications | |
US20130007136A1 (en) | Collaborating with resources residing in multiple information devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |