向用户设备路由通知的制作方法

xiaoxiao2020-10-23  10

向用户设备路由通知的制作方法
【专利说明】向用户设备路由通知
[0001]相关申请的交叉引用
[0002]本申请要求享有递交于2013年I月8日的题为“为13的交叉引用,根据所述用户偏好数据来提供通知,所述通知指示所述通知事件的美国专利申请N0.13/736,348的优先权,通过引用将其整体并入本文。
[0003]技术领域本申请一般地涉及基于网络的系统内的数据处理,具体地涉及用于向用户设备路由通知的系统和方法。
【背景技术】
[0004]当前,通知业务可允许在移动设备上执行的应用向用户通知重要事件或者接收的消息,而不需要设备正在移动设备上执行。例如,可以在基础消息应用没有启动的情况下,向移动设备用户提供通知消息,提醒他们收到文本消息。通过使用稳定且不中断的和通信网络(例如互联网)的连接,某些通知系统可使用推送技术,以从第三方服务器所容宿的第三方应用转发通知。根据应用,各种不同事件可以触发向用户发送通知。通知系统可为用户提供指定特定应用和事件(如果存在的话)的能力,所述特定应用和事件将引起向用户提供通知。
[0005]然而,在基于用户实际偏好来提供通知方面,这些系统当前在范围和功能上是受限的。例如,对于在多个设备上安装了特定应用的用户来讲,将不必要地在安装有该应用的每个设备上向其提供通知。此外,用户可能在一个设备上安装了提供相似功能的多个相关应用,那么针对对每个应用相同的事件,其可能被提供多个重复的通知。此外,触发通知的事件可能在用户不方便接收通知的时候发生,其可能打断用户或者使用户无法查看消息。
【附图说明】
[0006]通过示例而非限制的方式,在附图中示出了一些实施例。
[0007]图1是根据示例性实施例示出具有被配置为在网络上交换数据的客户端服务器架构的网络系统的网络图。
[0008]图2是示出作为基于网络的市场的一部分而提供的多个市场和支付应用的示例性实施例的框图。
[0009]图3是示出作为基于网络的市场的一部分而提供的多个通知应用的示例性实施例的框图。
[0010]图4是根据示例性实施例示出向移动设备路由通知的示例方法的流程图。
[0011]图5示出了包括向客户端设备提供的通知的示例用户界面的一部分。
[0012]图6是根据示例性实施例示出示例客户端设备(例如移动设备)的框图。
[0013]图7是以计算机系统为示例形式的机器的示意图表示,在计算机系统内,可以执行使机器实施本文所讨论方法的一个或多个的指令集。
【具体实施方式】
[0014]以下将详细参考用于实施本发明主题的具体示例实施例。附图中示出了这些具体实施例的示例。可以理解,其并不意在将权利要求的范围限制为所描述实施例。相反,其意在涵盖可包括在由随附权利要求界定的公开范围内的备选、修改和等价。以下描述中阐述具体细节以提供对主题的全面理解。可以不使用这些具体细节的一些或全部来实现实施例。
[0015]根据本公开,可利用各种操作系统、编程语言、计算平台、计算机程序、和/或通用目的机器,实现组件、处理步骤和数据结构。此外,本领域技术人员将认识到,还可以使用具有非通用目的或实质的设备,例如硬连线设备、现场可编程门阵列(FPGA)、专用集成电路等(ASIC),而不脱离本文公开的构思的范围。实施例还可有形地实现为存储在计算机可读介质(例如存储设备)上的计算机指令集。
[0016]本公开的方面提供了根据用户偏好向用户的至少一个设备传送通知的系统和方法。在一些实施例中,可基于对每一个用户设备上的用户活动的追踪来确定用户偏好。在其他实施例中,用户偏好基于用户活动以及用户选定的与通知接收有关的偏好设置。
[0017]例如,用户偏好可包括,用于接收通知的设备、在用于接收通知的设备上执行的应用、接收通知的时间、指定通知类型和通信类型。可基于事件检测向用户传送通知,所述事件可被用户指定,用以触发传送通知。在一些实施例中,通知可被存储以供用户在以后查看。
[0018]图1是示出根据一个实施例的网络系统100的网络图,网络系统100具有被配置为在网络上交换数据的客户端-服务器架构。例如,网络系统100可以是基于网络的市场102,其中客户端可在网络系统100内通信和交换数据。数据可关于与网络系统100及其用户相关联的多种功能(例如,在线购物)和方面(例如,路由通知)。
[0019]以基于网络的市场102为形式的数据交换平台可经由网络104向一个或多个客户端设备提供服务器侧功能。使用网络系统100(更具体地,基于网络的市场102)的用户可以操作一个或多个客户端设备,以在通信网络104上交换数据。在基于网络的市场102内,用户可操作为卖家、买家或这二者。发生在通信网络104上的数据交换可包括,发送、接收(即,通信)以及处理去往、来自和关于网络系统100的内容和用户的数据。数据可包括但不限于,用户偏好数据;产品和服务评价;产品、服务、制造及出售推荐和标识符;与卖家和买家相关联的产品和服务列表;产品和服务广告;拍卖报价;用户通知;以及交易数据等等。
[0020]在各实施例中,网络系统100内的数据交换可贯穿一个或多个客户端或用户界面(UI)可用的用户选择的功能。UI可以与客户端设备相关联,诸如使用网络客户端110的客户端设备106。网络客户端110可经由网络服务器122与基于网络的市场102通信。Π还可以与使用编程客户端112 (例如客户端应用)的客户端设备108或者容宿第三方应用116的第三方服务器114相关联。可以理解,在各实施例中,客户端设备106、108和/或第三方服务器114可以与买家、卖家、第三方电子商务平台、支付服务提供商或配送服务提供商相关联,其中每一个都与基于网络的市场102通信,并可选地彼此通信。买家和卖家可以是个人、商户、服务提供商等中的任一个。
[0021]客户端设备106和108可以是各种设备的任一种(例如,蜂窝电话、个人数字助理(PDA)、个人导航设备(TON)、手持计算机、平板计算机、桌上计算机、笔记本计算机、可穿戴计算设备、或者其他类型的可移动设备)。客户端设备106和108可经由连接118与通信网络104(例如,互联网或WAN)进行通信。根据客户端设备106和108的形式,可以使用任一种类型的连接118和通信网络104。
[0022]例如,连接118可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接、或者其他类型的蜂窝连接。这种连接118可实现任意各种类型的数据传输技术,例如单载波无线传输技术(IxRTT),演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、或者其他数据传输技术(例如第四代无线,4G网络)。当使用这些技术时,通信网络104可包括多个小区站点的蜂窝网络,所述多个小区站点具有重叠地理覆盖并通过蜂窝电话交换机互连。这些蜂窝电话交换机可耦合到主干网(例如,公共交换电话网(PSTN)、分组交换数据网、或者其他类型的网络)。
[0023]在另一个示例中,连接118可以是无线保真(W1-F1、IEEE 802.1lx型)连接,全球微波互联接入(WiMAX)连接,或其他类型的无线数据连接。在这个实施例中,网络104可包括耦合到局域网(LAN)、广域网、互联网、或其他分组交换数据网的一个或多个无线接入点。
[0024]在另一个实施例中,连接118可以是有线连接,例如以太网链路,并且网络104可以是LAN、WAN、互联网、或其他分组交换数据网。因此,容易想到各种不同配置。
[0025]具体转到基于网络的市场102,应用编程接口(API)服务器120和网络服务器122与多个服务器耦合,并分别为其提供编程和网络接口。服务器124容宿一个或多个市场应用126、支付应用128和通知应用130,多个服务器124可经由这些接口(例如,经由有线或无线接口)与网络104耦合。然后,多个服务器124被示为与促进对一个或多个数据库134的访问的一个或多个数据库服务器132耦合。在一些示例中,多个服务器124可不需要数据库服务器而直接访问数据库。
[0026]市场应用126可向访问基于网络的市场102的用户提供多个市场功能和服务。支付应用128也向用户提供多个支付服务和功能。支付应用128允许用户在账户中累积值(例如,商业货币,如美元或者专用货币,例如“点数”),然后使用累积值来兑换经由市场应用126而可用的产品(例如,商品或服务)。
[0027]通知应用130可向用户提供多个通知服务和功能。通知应用130可以向用户设备路由有关事件的通知,所述事件与市场和支付应用126和128有关。基于通过用户的被监控的活动确定的用户偏好以及用户选定的偏好设置集合,可以路由通知。尽管图1中市场、支付 和通知应用126、128和130示为构成基于网络的市场120的一部分,将要理解的是,在备选实施例中,支付应用128可以形成与基于网络的市场120分离且不同的支付服务的一部分。类似地,通知应用130可形成与基于网络的市场120分离且不同的通知服务的一部分。
[0028]数据库服务器132可促进对一个或多个数据库134的访问,并获取数据以用于包含在基于网络的市场102中。该数据可对应于用户活动信息、有关用户活动的数据,用户偏好设置、用户推荐、优惠券或广告、产品或供销售的有关产品的列表、等等。在一些实施例中,数据库134可包括在基于网络的市场102的内部和外部的数据库。
[0029]图1还示出了可在第三方服务器114上执行并经由由API服务器120提供的编程接口而具有到基于网络的市场102的编程访问的第三方应用116。例如,第三方应用116可使用从基于网络的市场102获取的信息,以支持第三方容宿的网站上的一个或多个特征或功能。第三方网站可以提供,例如,基于网络的市场102的相关应用所支持的一个或多个市场或支付功能。
[0030]此外,尽管图1示出的系统100使用了客户端-服务器架构,本发明主题必然不限于这种架构,并且可同样很好地应用在例如,事件驱动、分布式、或对等架构系统中。多个服务器124的各模块还可实现为不必具有网络能力的独立系统或软件程序。
[0031]图2是示出在一个实施例中被提供为基于网络的市场102的一部分的多个应用126和128的框图。应用126和128可容宿在通信耦合以使得能够在服务器机器间进行通信的专用或共享服务器机器(未示出)上。应用126和128彼此通信耦合并与各数据源耦合(例如经由合适的接口),以允许信息在应用126和128之间传递,或者允许应用126和128共享和访问公共数据。应用126和128还可经由数据库服务器132访问一个或多个数据库134。
[0032]基于网络的市场102可提供多个公布、列表和价格设置机制,从而卖家可列出供销售的商品或服务(或者公布有关信息),买家可表达或指出购买这种商品或服务的兴趣或愿望,并且可以针对与商品或服务有关的交易来设置价格。为此,市场和支付应用126和128被不为包括至少一个公布模块200和支持拍卖格式列表和价格设置机制的一个或多个拍卖模块202 (例如,英式拍卖、荷兰式拍卖、Vickrey式拍卖、中式拍卖、双向拍卖、逆向拍卖等)。各拍卖模块202还可提供支持这些拍卖格式列表的多个功能,例如底价功能,从而卖家可指定与列表有关的底价,以及代理竞标功能,从而竞标者可调用自动代理竞标。
[0033]多个固定价格模块204支持固定价格列表格式(例如,传统分类的广告型列表或目录列表)和一口价(buyout)型列表。具体来说,一口价型列表(例如,包括加利福利亚州圣何塞市电子湾公司开发的“现在就买(BIN)”技术)可以和拍卖格式列表联合提供,并允许买家以通常高于拍卖起价的固定价格来购买以通过拍卖方式提供销售的商品或服务。
[0034]店铺模块206可允许卖家在“虚拟”店铺内将他们的产品列表(例如,商品和/或服务)分组,虚拟店铺可以有品牌或通过其它方式由卖家个性化并针对卖家个性化。这种虚拟店铺还可提供对与相关卖家来说特定和个性化的促销、激励和特性。
[0035]可通过一个或多个导航模块208促进对基于网络的市场102的导航。例如,搜索应用(作为导航应用的一个示例)可使得能够对通过基于网络的市场102公布的列表的关键词进行搜索。浏览器应用可允许用户各种类别、目录、或库数据结构,根据这些数据结构可在基于网络的市场102内将列表分类。可以提供各种其他导航模块208以补充搜索和浏览应用。
[0036]消息发送应用负责生成并向基于网络的市场102的用户传递消息,例如,这些消息向用户报告有关基于网络的市场102上的列表的状态(例如,在拍卖过程中向竞标者提供“更高竞价”(outbit)通知,或者向用户提供促销和推销信息)。各消息发送应用210可使用多个消息传递网络和平台中的任一个来向用户传递消息。例如,消息发送应用210经由有线(如互联网)、简易老式电话服务(POTS)、或者无线网络(如移动、小区、WiF1、WiMax)传递电子邮件(email)、即时消息(IM)、短消息服务(SMS)、文本、传真或语音(如IP电话(VoIP))消息。
[0037]基于网络的市场102可支持例如为特定地理区域定制的多个市场。可以为英国定制基于网络的市场102的一个版本,同时可以为美国定制基于网络的市场102的另一个版本。这些版本的每一个都可以作为独立市场来操作,或者可以是公共基础市场的定制(国际化)表示。相应地,基于网络的市场102可包括多个定制应用212,定制应用212根据预定标准(例如,地理、地区人口特征或市场标准),通过基于网络的市场102来定制信息(和/或信息表示)。例如,定制应用212可用于支持由基于网络的市场102操作并可经由各网络服务器122访问的多个地区网站的信息定制。
[0038]基于网络的市场102自身或者经由基于网络的市场102进行交易的一方或多方可操作由一个或多个忠诚度(loyalty)/促销应用214支持的忠诚度程序。例如,针对与特定卖家建立的和/或完成的每一笔交易,买家可赚取忠诚度/促销点数,并被提供可以通过累积忠诚度点数来兑换的奖品。
[0039]在一个实施例中,电子购物车应用216用于创建电子购物车,该电子购物车由基于网络的市场102的用户用来添加和保存由店铺应用206列出的产品。电子购物车应用216还可用于“结账”,意味着用户可购买电子购物车中的产品。电子购物车应用216可通过跨预定义的供货商集合、比较购物网站、拍卖网站等中至少一个或全部自动寻找电子购物车中的产品来促进交易。在各实施例中,对从哪一个或多个供货商进行购买的选择标准可包括但不限于:诸如最低价、最快送货时间、优选或最受好评供货商或卖家之类的标准,或其任意组合。
[0040]图3是示出在一个示例性实施例中作为基于网络的市场102的一部分而提供的多个通知应用130的框图。通知应用130可容宿在通信耦合以实现服务器机器间通信的专用或共享服务器机器上。通知应用130自身可相互通信耦合并与各数据源耦合(例如经由合适的接口),以允许信息在通知应用130的每一个之间传递,或者允许应用130共享和访问公共数据。通知130还可经由数据库服务器132访问一个或多个数据库134。
[0041]如图3所示,通知应用130可包括一个或多个用户偏好应用302。用户偏好应用302可提供用户界面,便于对与接收通信相关联的多个不同用户偏好设置进行选择。用户偏好应用302还可以在数据库134中存储与基于网络的市场102的每个用户对应的每个用户偏好设置集合。在一些实施例中,用户偏好设置可包括可向其传送全部通知的用户指定设备。在其他实施例中,具有执行与特定通知类型相关联的多个应用的多个设备的用户不仅可以指定设备,还指定接收通知的应用。根据所指定设备或应用的形式,用户偏好设置可包括用于通信通知的多个不同指定通信类型。通信类型可以包括,例如,推送通知、电子邮件、即时消息(IM)、短消息(SMS)、文本、传真、语音(如IP电话(VOIP))消息等。
[0042]在一些实施例中,用户偏好设置可包括将接收通知的指定时间。指定时间可以是用户希望不接收消息的时间范围,或者在一些实施例中,用户可指定接收通知但不提示的时间。
[0043]在一些实施例中,用户偏好设置可允许用户订制将由用户接收的通知的至少一种通知类型。每种通知类型可包括一个或多个通知事件,所述通知事件触发向用户传送通知。通知事件可对应于基于网络的市场102的各模块的功能,如上文参考图1和2所讨论的。例如,通知事件可包括有人对拍卖中待售商品比用户提出更高的竞价;用户感兴趣商品的拍卖即将结束;用户已出价的商品的拍卖即将结束;卖家已收到对待售商品的报价;用户感兴趣商品有新的折扣;商家提供优惠券或奖奖励;商家提供的奖励点数过期;对商品的报价;报价被卖家拒绝;还价被接收;保存搜索结果;商品被标记为已配送;商品被标记为已支付;商品已售出;在当前拍卖的竞拍中胜出;为已完成商品付账;消息被接收等。
[0044]如图3所示,通知应用130还可包括一个或多个使用追踪应用304。使用追踪应用304可被配置为,通过基于网络的市场102的各模块,监控、追踪和记录使用一个或多个设备(例如客户端设备106)的用户的活动和交互。使用追踪应用304可在数据库中存储与一个或多个用户对应的使用信息,从而生成与基于网络的市场102的每个用户相关联的使用简档。在一些实施例中,使用追踪应用304可结合图2的导航应用208来工作,监控并保存与对经由基于网络的市场102公布的列表的搜索和浏览相关联的用户的活动。
[0045]在一些实施例中,使用追踪 应用304可追踪和记录对基于网络的市场102上的用户在每个设备进行使用的定时和频率。这些使用信息可用于确定用户的所选设备。在一些实施例中,所选设备可以是用户接收通知的优选设备。例如,所选设备可以是用户最近使用的或者用户最经常使用的设备。
[0046]在一些实施例中,使用追踪模块304可追踪并记录对安装在一个或多个用户设备上的特定应用的使用的定时和频率。与对应用的使用的定时和使用频率有关的信息可用于确定所选择的用于接收通知的应用,其中所选应用可以是用户接收通知的优选应用。在一些实施例中,使用追踪应用304可追踪并记录与通信应用212所通信的通知接收应答相关联的定时。该信息可用于确定向用户通信通知的时间。
[0047]本领域技术人员将认识到,使用追踪应用304获得的使用信息可用于提供从基于网络的市场102接收通知的用户实际偏好的指示。为此,使用追踪应用304可结合用户偏好应用302来工作,基于使用追踪应用304收集的使用信息,确定用户偏好。例如,可以确定,只在某个时间期间检查通知的用户可能只在该时间发送通知。在另一个示例中,可以确定,频繁在特定设备上检查通知的用户可能只在该特定设备上发送通知。
[0048]在一些实施例中,可以根据使用信息确定出,用户可具有执行多个应用的多个设备,多个应用中的每一个可与相同的通知事件相关联。在这个实施例中,可以抑制重复通知,并且不向用户每个设备的每个关联应用传递,以避免向用户传送不必要的重复通知。确定向哪个特定应用通信通知可以基于与通知相关联的商品的类别、通知类型、或通知时间。例如,有人已经在在线汽车拍卖中比用户做出更高竞价的通知可被路由至用户的特定设备,其中,在该特定设备上执行为在基于网络的市场102上的汽车拍卖中竞价而特别定制的应用,并且与其他用户设备以及在其中执行的应用相关联的所有其他重复通知将被抑制。
[0049]通知历史应用306可被配置为存储被传送至用户设备的通知,从而允许用户在以后查看通知。在一些实施例中,通知历史应用306可在数据库134中存储通知,并且可以根据用户偏好信息,获取并向用户传送通知。
[0050]在其他实施例中,通知历史应用306可向客户端设备106发送指令,该指令使客户端设备106在客户端设备106的计算机可读介质中存储通知。通知历史应用306可促进通过客户端设备的用户界面查看未查看的通知。用户界面可为用户提供将每个应用标记为“已读”或“未读”的选项,并且用户能够配置界面,在以后的指定时间提供标记为“未读”的通知。
[0051]目标应用308可允许用户基于某个标准以一组用户为目标或者向一组用户“广播”通知。例如,该标准可包括用户地理位置、交易历史、对安装在客户端设备106上的特定应用的使用。通过用户偏好应用302和使用追踪应用304分别获得的用户偏好设置或使用信息,可以确定用户是否符合指定标准。例如,经由基于网络的市场102的特定国际化定制市场,商户可以向订制这些通知的所有用户广播通知。
[0052]在一些实施例中,基于使用信息、用户偏好设置或二者的组合,路由应用310可以确定用来路由通知的所选设备。例如,基于指出用户通常在上午使用一个特定设备、在晚上使用另一个设备的指示,路由应用310可以在上午向用户的特定设备路由一个通知,并且在晚上向另一个设备路由另一个通知。在一些实施例中,基于使用信息、或用户偏好设置或二者的组合,路由通知310确定一个或多个所选择的应用以发送通知。例如,基于用户偏好设置,路由应用310和通信应用312可以向用户的特定设备路由和传送与特定应用相关联的通知,并且路由应用310和通信应用312可以向用户的另一个设备路由和传送与不同应用相关联的另一个通知。
[0053]通信应用312负责向基于网络的市场102的用户生成并传递通知。通信应用312可以向路由通知310选择的一个或多个设备传递通知,并且可以根据用户偏好传送通知。在一些实施例中,通知可以被推送至与一个或多个设备相关联的推送通知网络,推送通知网络可帮助向每个设备传递通知。在一些实施例中,网络104与客户端设备106的不中断连接使通信应用312能够向用户设备推送通知,而不需要在客户端设备106上执行相关联的应用。在其他实施例中,通信应用312可以结合图2的消息发送应用210来工作,利用多个消息传递网络和平台向用户传送通知,如上文有关消息发送应用310的讨论。在一些实施例中,用户可以在用户偏好应用302提供的用户界面模块上指定消息传递网络或平台。
[0054]图4示出了根据示例性实施例的向客户端设备路由通知的示例性方法400的流程图。在这个示例中,方法400可包括操作,例如,监控用户活动(操作405)、获得用户偏好数据(操作410)、检测通知事件(操作415)、向用户传送通知(操作420)、以及存储通知(操作 425)ο
[0055]操作405中,使用追踪应用304监控设备上的用户活动。在一些实施例中,用户活动对应于由基于网络的市场102提供的各种功能的一个或多个。例如,通过市场应用126,使用追踪应用304可监控和追踪用户在客户端设备106上购买列出供销售的商品。在一些实施例中,使用追踪应用304可以在库(repository)(如数据库)中存储监控用户活动而收集的使用数据。
[0056]操作410中,用户偏好应用302获得用户偏好数据。可基于使用追踪应用304接收到使用数据确定用户偏好数据。在一些实施例中,操作405和410可并行进行,从而在监控用户活动的同时获得用户偏好数据。例如,基于特定设备是用于从基于网络的市场102访问通知的最近设备,用户偏好应用302可确定用户希望在该设备上接收通知。
[0057]在一些实施例中,用户偏好数据还可包括在用户偏好应用302提供的用户界面上从用户接收的一个或多个用户偏好设置,用户偏好设置明确地指出接收通知和路由通知中的用户偏好。例如,用户偏好设置可包括可以向哪个指定设备发送通知、接收通知的指定时间、执行消息类型(例如,“更高竞价”通知、“赢得商品”通知、或“消息已接收”通知)或指定通信类型(例如,推送通知、SMS、或电子邮件)。
[0058]操作415中,用户偏好应用302可以从市场应用126或支付应用128接收关于发生与特定用户相关联的通知事件的指示。通知事件可对应于和基于网络的市场102的一个或多个操作有关的事件(例如,用户对在线拍卖中的商品竞价)。当从市场应用126或支付应用128接收指示时,基于针对接收通知的用户偏好,用户偏好应用302可确定通知事件是否符合一个或多个标准。在一些实施例中,用户偏好应用302可确定通知事件是否对应于用户所订制的通知类型以触发通知的发送,其中所述通知类型由用户在用户偏好应用302提供的用户界面上指定。例如,如果用户偏好应用302确定用户已订制竞标活动通知(通知类型),可以向用户提供有人已对商品提出比用户更高的出价(通知事件)的通知。
[0059]操作420中,响应于接收发生通知事件的指示,通知应用312向路由应用310确定的至少一个设备传送通知。基于用户偏好数据,路由应用310可以确定应当向其路由通知的一个或多个设备。例如,基于路由应用310确定特定设备是最经常使用的用户设备,可以向特定设备传送通知。在另一个示例中,基于指出用户更希望在预定时间内接收通知的使用数据,通信应用312可以等待,以在预定时间向客户端设备106传送通知。在另一个示例中,基于路由应用310确定可与通知接收相关联的特定应用安装在设备上,通信应用312可只向客户端设备106传送单个通知。
[0060]方法400还可向客户端设备发送使设备在操作425中存储通知的指令。通知历史应用306还可向客户端设备提供指令,所述指令使设备显示允许用户查看先前存储的通知的用户界面。在一些实施例中,可以在向用户设备传送通知前,在数据库134中存储通知。
[0061]示例用户界面
[0062]图5示出了包括向客户端设备106提供的通知502的示例性用户界面的一部分。如图5所示,客户端设备106是智能手机形式。其他客户端设备可包括但不限于,膝上型计算机和移动电话(例如智能手机)。在各实施例中,客户端设备106包括由至少一个处理器执行的一个或多个应用。所执行的应用可被配置为执行本文所述的功能和方法。
[0063]通知502可被传送至客户端设备106,而不需要客户端106执行一个或多个应用中的任一个,并且根据用户偏好设置、使用信息或二者的组合,通知502可被路由至客户端设备106。通知502可以是本文所述通知类型中的任一个。例如,通知502可指示客户端设备106的用户已赢得在线拍卖提供的商品。此外,可通过本文所述的任意通信类型来传送通知502。
[0064]示例客户端设备
[0065]图6是示出根据示例性实施例的客户端设备(例如移动设备)106的 框图。客户端设备106可包括处理器610。处理器610可以是适用于移动设备的各种不同类型的商用处理器中的任意一种(例如,XScale架构微处理器、无互锁流水级微处理器(MIPS)架构处理器,或另一类型的处理器)。存储器620(例如随机存取存储器(RAM)、闪存、或其他类型的存储器)通常是可由处理器610访问的。存储器620可以适于存储操作系统(0S)630和应用程序640,例如可以向用户提供基于位置的服务(例如,物理位置签到)的支持移动位置的应用。处理器610可以或者直接地或者经由适合的中间硬件与显示器650和一个或多个输入/输出(I/O)设备660 (例如键区、触摸板传感器、麦克风等)耦合。类似地,在一些实施例中,处理器610可以与收发机670耦合,收发机670与天线690对接。收发机670可以被配置为:根据客户端设备106(图1)的性质,经由天线690来发送和接收蜂窝网络信号、无线数据信号或其他类型的信号。通过这种方式,可以建立与网络104(图1)的连接118(图1)。此外,在一些配置中,GPS接收机680还可以使用天线690来接收GPS信号。
[0066]樽块、组件和逻辑
[0067]在本文中,某些示例被描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如,在机器可读介质上或者在传输信号中体现的代码)或硬件模块。硬件模块是能够执行某些操作的有形单元,并且可以以特定方式来配置或布置。在示例实施例中,一个或多个计算机系统(例如,孤立的客户端或服务器计算机系统)或者计算机系统的一个或多个硬件模块(例如,处理器或一组处理器)可以通过软件(例如,应用或应用部分)配置为进行操作以执行本文所述的某些操作的硬件模块。
[0068]在各种实施例中,硬件模块可被机械地或电子地实现。例如,硬件模块可以包括专用电路或逻辑,其被永久地配置(例如,作为专用处理器,如现场可编程门阵列(FPGA)或应用专用集成电路(ASIC))以执行某些操作。硬件模块也可以包括(例如,通用处理器或其它可编程处理器内包含的)可编程逻辑或电路,其通过软件临时配置为执行某些操作。应当理解:关于是以机械方式、在专用的且永久配置的电路中、还是在临时配置的电路中(例如,通过软件来配置)实现硬件模块的决策可以基于成本和时间的考虑来驱动。
[0069]因此,术语“硬件模块”应被理解为包括有形的实体,即物理构造的、永久配置的(例如,硬连线)或临时配置的(例如,编程的)的,用于以本文所描述的特定方式操作和/或执行本文所描述的特定操作的实体。考虑硬件模块是临时配置(例如,编程的)的实施例,每个硬件模块不需要是一次性完成配置或实例化的。例如,在硬件模块包括使用软件配置的通用处理器的情况下,通用处理器可被配置为在不同的时间是各自不同的硬件模块。软件可以相应地配置处理器,例如,用以在一个时刻构成一个特定的硬件模块,并且在不同的时刻构成不同的硬件模块。
[0070]硬件模块可以向其他硬件模块提供信息,以及从其它硬件模块接收信息。因此,所描述的硬件模块可被视为是以通信方式耦合的。如果同时存在多个这样的硬件模块,则通信可通过(例如,适当电路和总线上)连接硬件模块的信号传输来实现。在不同时间配置或实例化多个硬件模块的实施例中,这种硬件模块之间的通信可以例如通过在该多个硬件模块有权访问的存储器结构中存储和检索信息来实现。例如,一个硬件模块可以执行操作,并且将该操作的输出存储在与其以通信方式耦合的存储器设备中。然后,另一个硬件模块可以在稍后的时间访问该存储器设备,以检索和处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且可以对资源(例如,信息聚集)进行操作。
[0071]本文所描述的示例方法的各种操作可以至少部分地由临时配置(例如,通过软件)或永久配置的一个或多个处理器来执行,以执行相关操作。不论是临时配置的还是永久配置的,这种处理器可以构成进行操作以执行一个或多个操作或功能的处理器实现的模块。本文提及的模块在一些示例实施例中可以包括处理器实现的模块。
[0072]类似地,本文描述的方法可以至少部分地由处理器实现。例如,方法中的至少一些操作可以由一个或多个处理器或处理器实现的模块来执行。某些操作的执行可以分布在一个或多个处理器上,不是仅仅驻留在单个机器内,而是可以分配在多台机器上。在一些示例实施例中,一个或多个处理器可以位于单个位置(例如,在家庭环境中,在办公室环境中,或者作为服务器群),而在其它实施例中,处理器可以分布到多个位置。
[0073]一个或多个处理器还可以操作用以支持在“云计算”环境中完成相关操作,或者作为“软件即服务”(SaaS)。例如,至少一些操作可以由一组计算机(例如,包括处理器的机器)来完成,这些操作是可经由网络(例如,互联网)以及经由一个或多个适当的接口(例如,应用程序接口(API))访问的。
[0074]电子设备和系统
[0075]示例实施例可以用数字电子电路或者用计算机硬件、固件、软件或它们的组合来实现。示例实施例可以使用计算机程序产品来实现,该计算机程序产品例如是有形地实现在信息载体(如机器可读介质)中的计算机程序,该计算机程序由数据处理装置(如可编程处理器、计算机或者多个计算机)执行或者控制数据处理装置的操作。
[0076]计算机程序可以用任何形式的编程语言(包括编译或解释语言)来编写,并且它可以用任何形式来部署,包括作为独立程序或作为模块、子程序或适于在计算环境中使用的其它单元。计算机程序可被部署为运行在一台计算机上或者在多台计算机上,该多台计算机可以是一个地点处的或者分布在多个地点并通过通信网络互连。
[0077]在示例实施例中,操作可以由运行计算机程序的一个或多个可编程处理器执行,以通过操作输入数据和生成输出来执行功能。方法操作还可以由专用逻辑电路来执行,并且示例实施例的装置可被实现为专用逻辑电路(例如,FPGA或ASIC)。
[0078]计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是借助运行在各自的计算机上并且彼此具有客户端-服务器关系的计算机程序来产生的。在部署了可编程计算系统的实施例中,应该理解,硬件和软件架构都需要考虑。具体地讲,应该理解,关于特定功能是以永久配置的硬件(例如,ASIC),以暂时配置的硬件(例如,软件和可编程处理器的组合),还是以永久和临时配置的硬件的组合来实现的选择可以是设计选择。下面在各种示例实施例中阐述可以部署的硬件(例如,计算机)和软件架构。
[0079]示例的机器架构和机器可读介质
[0080]图7是具有计算机系统700的示例形式的机器的框图,在该机器中的指令724可被执行,使得所述机器能够执行本文所讨论的方法中的任何一个或多个方法。在备选实施例中,该机器被操作为独立装置,或者可连接(例如,联网)到其它机器。在联网的部署中,该机器可以操作在服务器-客户端网络环境中具有服务器或客户端机器的能力,或者可以操作为对等(或分布式)网络环境中的对等机器。所述机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web设备、网络路由器、交换机或桥接器、或者能够(顺序地或以其他方式)执行指定机器要采取的操作的指令的任何机器。另外,虽然仅示出单个机器,但是术语“机器”也应理解为包括单独地或联合地执行一个或多个指令集以完成本文中所讨论的任何一个或多个方法的机器的任意集合。
[0081]示例计算机系统700包括:处理器702 (例如,中央处理单元(CPU)、图形处理单元(GPU)或两者)、主存储器704和静态存储器706,它们彼此通过总线708进行通信。计算机系统700还可以包括视频显示单元710(例如,液晶显示器(IXD)或阴极射线管(CRT))。计算机系统700还包括字母数字输入设备712 (例如,键盘)、用户界面(UI)导航设备714 (例如,鼠标)、盘驱动单元716、信号发生设备718 (例如,扬声器)和网络接口设备720。
_2] 机器可读介质
[0083]盘驱动单元716包括机器可读介质722,在该机器可读介质722上存储有一个或多个指令集和数据结构(例如,软件)724,其具体体现了本文描述的任何一个或多个方法或功能,或者可被本文描述的任何一个或多个方法或功能使用。指令724还可以在由计算机系统700运行期间全部或者至少部分地驻留在主存储器704和/或处理器702内,主存储器704和处理器702也构成机器可读介质。
[0084]虽然机器可读介质722在示例实施例中被示出为单个介质,但是术语“机器可读介质”可以包括单个介质或多个介质(例如,集中式或分布式的数据库,和/或关联的高速缓存和服务器),其存储一个或多个指令或数据结构724。术语“机器可读介质”还应当被理解为包括能够存储、编码或携带指令的任 何有形介质,所述指令由机器执行,并使得机器能够执行任本发明的任何一个或多个方法,或者能够存储、编码或携带由这种指令使用的数据结构或与这种指令关联的数据结果。术语“机器可读介质”相应地被理解为包括但不限于:固态存储器、光学介质和磁介质。机器可读介质的具体示例包括非易失性存储器,例如包括半导体存储器器件,如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备;磁盘(诸如内部硬盘和可移动盘);磁光盘;以及CD-ROM和DVD-ROM盘。
_5] 传输介质
[0086]指令724还可以使用传输介质在通信网络726上发送或接收。可以使用网络接口设备720和众多众所周知的传输协议(例如,HTTP)中的任意一种协议来发送指令724。通信网络的示例包括LAN、WAN、互联网、移动电话网络、普通老式电话(POTS)网络、以及无线数据网络(例如,WiFi和WiMax网络)。术语“传输介质”应被理解为包括能够存储、编码或携带供机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或有利于这种软件的通信的其他无形介质。
[0087]尽管已经参考特定的示例实施例描述了实施例,但是显然在不脱离本发明的广义范围的情况下可以对这些实施例做出各种修改和改变。因此,本说明书和附图应被视为说明性的,而非限制性的。形成本发明主题的部分的附图以解释说明的方式(而不是作为限制)示出了可以实施本发明主题的特定实施例。所说明的实施例以足够详细的程度进行了描述,以使得本领域技术人员能够实践本文所公开的教导。其他实施例可以使用和由其衍生,使得在不脱离本公开范围的情况下可以做出结构和逻辑上的替换和改变。因此,该【具体实施方式】不应被视为具有限制意义,并且各种实施例的范围仅由所附权利要求和这样的权利要求所给予的等价的全部范围来限定。
[0088]在本文中,术语“发明”可以指代本发明主题的这种实施例中的单个实施例和/或全体,这仅是为了方便,而不是主动将本申请的范围限制到任何单个发明或发明构思,如果实际上披露了不止一个发明或发明构思的话。因此,尽管本文已经说明和描述了特定实施例,但是应当理解,计划用于实现相同目的的任何布置可以替代所示的具体实施例。本公开旨在涵盖各种实施例的任何和所有修改或变型。对于本领域技术人员而言,在阅读上述说明之后,上述示例和本文中未具体描述的其它示例的组合将是显而易见的。
[0089]本文档中提及的所有出版物、专利和专利文献的全文一并在此用作参考,就好像它们的全文分别在此用作参考一样。如果在本文与如此在本文中用作参考的文献之间存在用法不一致,则并入作为参考的用途应被视为本文档中的用法的补充;对于不可调和的矛盾,以本文档中的用法为主。
[0090]在本文档中,与专利文献中通用的那样,术语“一”或“一个”在使用时包括一个或多于一个,其与“至少一个”或“一个或多个”的任何其他实例或使用相独立。在本文档中,术语“或”被用于指示“非排它的”,比如“A或B”包括“A,但非但非A”、以及“A和B”,除非另有明示。在所附的权利要求中,术语“包括”和“其中”被用作相应的术语“包含”和“在其中”的通俗易懂的等价语言。此外,在所附权利要求中,术语“包括”和“包含”是开放式的,也就是说,包括除了那些在权利要求中的这种术语之后列出的要素的系统、设备、物品或过程仍被视为落在该权利要求的范围之内。此外,在所附的权利要求中,术语“第一”、“第二”和“第三”等仅仅是作为标签,而不对其对象强加数字要求。
[0091]提供了本公开的摘要,以允许读者快速地确定本技术公开的性质。应该理解,提交的摘要不会被用来解释或限制权利要求的范围或含义。另外,在前面的详细描述中,可以看出,出于简化本公开的目的,在单个实施例中组合了各种特征。本公开的方法不应被解释为反映了以下意图:所要求保护的实施例需要比每个权利要求中明确记载的特征更多的特征。相反,如以下权利要求所反映的,发明主题在于少于单个公开实施例的所有特征。因此,所附权利要求书由此被并入到【具体实施方式】中,其中每个权利要求自身作为单独的实施例。
【主权项】
1.一种系统,包括: 用户偏好模块,被配置为: 获得包括与用户对应的使用数据的用户偏好数据,所述使用数据与所述用户在至少一个设备上的活动有关并且基于所述活动指示用户在所述至少一个设备上接收通知的偏好;以及 确定由所述用户偏好数据指示的通知事件已发生;以及 通信模块,与所述用户偏好模块通信,所述通信模块被配置为:响应于接收对通知事件的指示,根据所述用户偏好数据向所述至少一个设备提供通知,所述通知指示所述通知事件已发生。2.根据权利要求1所述的系统,还包括: 通知历史模块,被配置为存储所述通知并辅助检索所述通知以供以后查看。3.根据权利要求1所述的系统,其中基于使用数据符合由商户规定的标准,向所述用户传送所述通知。4.根据权利要求1所述的系统,还包括: 使用追踪模块,被配置为监控所述用户在所述至少一个设备上的活动以获得所述使用数据,以及被配置为在数据库中存储所述使用数据。5.根据权利要求1所述的系统,其中所述用户偏好数据还包括:与用户在所述至少一个设备上接收通知相关联的一个或多个用户指定偏好设置,所述一个或多个用户指定偏好设置由所述用户规定。6.根据权利要求1所述的系统,其中所述通知事件与由在线商户提供用于销售的物品相关联。7.根据权利要求1所述的系统,其中所述用户偏好数据包括:对用户的将用来接收通知的所选设备的指示。8.根据权利要求7所述的系统,其中所述通知被传送至所选设备。9.根据权利要求7所述的系统,其中所述用户的所选设备是用户上一次使用的设备。10.根据权利要求1所述的系统,其中所述用户偏好数据包括:对用户将接收通知的时间的指示。11.根据权利要求1所述的系统,其中所述用户偏好数据包括:对所选通知类型的指示,以及其中基于与所选通知类型对应的通知事件,向用户传送所述通知。12.根据权利要求1所述的系统,其中所述用户偏好数据包括:对规定的通信类型的指不O13.—种方法,包括: 获得包括与用户对应的使用数据的用户偏好数据,所述使用数据与所述用户在至少一个设备上的活动有关并且指示用户在所述至少一个设备上接收通知的偏好; 接收对通知事件的指示; 确定由所述用户偏好数据指示所述通知事件;以及 使用至少一个处理器来根据所述用户偏好数据提供通知,所述通知指示所述通知事件的发生。14.根据权利要求13所述的方法,还包括:发送指令,所述指令使所述用户设备存储所述通知并提供用来在以后查看所述通知的用户界面。15.根据权利要求13所述的方法,还包括:监控所述用户在所述至少一个设备上的活动并在库中收集相应的使用数据。16.根据权利要求13所述的方法,其中基于使用数据符合由附加用户规定的标准,向所述用户传送所述通知。17.根据权利要求13所述的方法,其中所述用户偏好数据指示用户的所选设备,并且其中向所选设备传送所述通知。18.根据权利要求13所述的方法,其中所述用户偏好数据指示接收通知的时间,并且其中在所述时间期间向所述用户的至少一个设备传送所述通知。19.根据权利要求13所述的方法,其中所述用户偏好数据指示规定的通知类型,并且其中基于所述通知事件属于所规定的通知类型,向所述用户传送所述通知。20.—种包含指令的非瞬态机器可读存储介质,所述指令当被机器执行时使所述机器执行以下操作: 获得包括与用户对应的使用数据的用户偏好数据,所述使用数据与所述用户在至少一个设备上的活动有关并且指示用户在所述至少一个设备上接收通知的偏好; 接收对通知事件的指示; 确定由所述用户偏好数据指示所述通知事件;以及 使用至少一个处理器来根据所述用户偏好数据提供通知,所述通知指示所述通知事件的发生。
【专利摘要】提供了用于向至少一个用户设备路由通知的系统、存储至少一个程序的机器可读存储介质以及计算机实现方法。用户偏好数据包括从用户获得的使用数据。使用数据可以与用户在至少一个设备上的活动相关,并且可以指示用户在至少一个设备上接收通知的偏好。检测通知事件的发生。响应于对通知事件的检测,根据用户偏好数据向用户传送通知。通知可以指示通知事件已发生。
【IPC分类】G06F17/30, G06F7/02, G06F17/40
【公开号】CN104903848
【申请号】CN201480004157
【发明人】阿伦·斯里尼瓦珊, 安东尼·沙, 杨震音, 维维·库玛尔·穆拉卡, 苏瑞什·阿纳玛纳木里, 乌代雅拉·苏布拉玛年·斯瓦山姆甘, 赫马迪·阿南塔, 史蒂芬·罗梅罗
【申请人】电子湾有限公司
【公开日】2015年9月9日
【申请日】2014年1月8日
【公告号】CA2896301A1, EP2943874A1, US20140195620, WO2014110147A1

最新回复(0)