首页> 中国专利> 提供设备特定更新的普遍服务

提供设备特定更新的普遍服务

摘要

普遍服务提供设备特定更新。代理设备从位于代理设备附近的用户设备接收更新请求。更新请求包括至少用户设备标识符和用户设备状态。访问与用户设备标识符和用户设备状态相关联的更新数据。代理设备将设备特定更新数据传送到用户设备。在一些实施例中,代理设备是检测多个用户设备或以其它方式与其交会并且向其提供设备特定更新的移动设备。

著录项

  • 公开/公告号CN105074658A

    专利类型发明专利

  • 公开/公告日2015-11-18

    原文格式PDF

  • 申请/专利权人 微软技术许可有限责任公司;

    申请/专利号CN201480007936.5

  • 发明设计人 D.M.卡拉汉;S.卡拉莫夫;

    申请日2014-02-06

  • 分类号G06F9/44;G06F9/445;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人陈慧

  • 地址 美国华盛顿州

  • 入库时间 2023-12-18 12:06:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-12-28

    授权

    授权

  • 2015-12-16

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20140206

    实质审查的生效

  • 2015-11-18

    公开

    公开

说明书

背景技术

一些用户设备能够经由诸如互联网之类的全球网络连接到远程设备。这样的设备具有启用连接性的附加硬件和软件,诸如网络栈、网络适配器、复杂用户接口、支持逻辑等。然而,该附加硬件和软件导致用户设备增加的成本和复杂性,尤其是在不频繁地使用连接性时(例如以偶尔获得对用户设备的更新)。另外,甚至在附加硬件和软件被包括在这些用户设备内时,到全球网络的连接性可能不可用(例如由于缺少附近的接入点)。

对于这样的用户设备和不具有连接到全球网络的能力的那些用户设备,用户可以手动地获得并提供更新给用户设备。例如,用户可以将计算机或便携式驱动(例如闪速驱动)连接到打印机以对打印机上的软件应用更新。然而,这样的现有过程是手动的、冗长的、易出错并且耗时,尤其是在试图向不同用户设备应用不同更新时。这些现有系统未被设计成高效地获得并提供更新给用户设备。

发明内容

本公开的实施例从代理设备向用户设备传送更新数据。代理设备从该代理设备附近的用户设备接收更新请求。更新请求包括至少用户设备标识符和用户设备状态。响应于所接收的更新请求,由代理设备访问与用户设备标识符和用户设备状态相关联的更新数据。所访问的更新数据从代理设备传送到用户设备。

提供该发明内容来以简化形式引入在下文具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用作帮助确定所要求保护的主题的范围。

附图说明

图1是图示了用于通过移动代理设备从更新源向用户设备传送更新数据的系统的示例性框图。

图2是图示了具有用于获得并传送更新数据给用户设备的可执行组件的代理设备的示例性框图。

图3是图示了代理设备响应于针对更新数据的请求而向用户设备传送设备特定更新数据的操作的示例性流程图。

图4是图示了代理设备上将设备特定更新数据从更新源传送到用户设备的更新服务的执行的示例性序列图。

贯穿所有附图,对应参考标记指示对应部分。

具体实施方式

参照图1-4,本公开的实施例从代理设备102获得并传送设备特定更新数据112给用户设备108。在一些实施例中,用户设备108缺少到更新源106以获得更新数据112的连接性。例如,用户设备108可能缺少支持更新过程的用户接口、显示更新过程的用户接口、网络栈、与更新源106通信的硬件、和/或连接到更新源106的通信接口。作为另一示例,用户设备108可以具有从更新源106获得更新数据112的能力,但是连接是不可用的(例如由于网络问题、缺少接入点等)。

本公开的方面可与任何代理设备操作,包括移动和非移动(例如在固定位置中,永久地或临时地)二者。也就是说,在一些实施例中,代理设备102不必移动以提供本文所图示和描述的功能性。

在一些实施例中,代理设备102可以周期性地和/或间歇式地向代理设备102的通信接口范围内的至少一个用户设备108广播更新服务212(例如使用协议110)。当代理设备102检测到位于代理设备102附近的至少一个用户设备108时,代理设备102可以广播更新服务212。当用户设备108处于代理设备102的范围内时,可以说用户设备108位于代理设备102附近。范围可以变化,并且取决于由代理设备102用来确定用户设备108的接近技术(例如通信模块的蓝牙商标具有10米的示例性范围,近场通信(NFC)具有0.2米的示例性范围等)。

当用户设备108靠近代理设备102时,代理设备102从用户设备108接收更新请求,包括至少用户设备标识符和用户设备状态。例如,代理设备102可以刚好在广播更新服务212之后,在广播更新服务212之后的预定时间段之后,和/或在用户设备108下一次靠近代理设备102时接收更新请求。在其它实施例中,代理设备102可以从用户设备108接收更新请求而没有首先广播更新服务212。

响应于所接收的更新请求,代理设备102从更新源106访问与用户设备标识符和/或用户设备状态相关联的更新数据112。所访问的更新数据112从代理设备102传送到从其接收到更新请求的用户设备108。在一些实施例中,所访问的更新数据112可以传送到与从其接收更新请求的用户设备108的用户设备标识符和/或用户设备状态共享特性的所有附近的用户设备108。

本公开的方面还使得可能缺少用于执行更新过程的适当支持的用户设备108能够利用经由代理设备102从更新源106接收到的更新数据112进行更新。例如,一些示例性用户设备108可能不具有到更新源106的连接,但是本公开的方面操作成提供更新而没有向这样的用户设备108添加硬件和/或软件以启用到更新源106的连接性的附加负担。例如,用户设备108可以不具有执行更新过程的用户接口和/或可以不具有连接到更新源106的能力,但是仍可以使用本公开的方面进行更新。另外,用户设备108在设计方面被简化,易于更新,并且由于较少的硬件和/或软件成本而可以具有降低的价格。例如,每一个用户设备108上的代理执行更新。

当用户设备108从代理设备102接收更新时,用户设备108可以立即安装更新或者在用户设备108离线时(例如在维护周期期间)将安装延迟到未来时候。可以通过覆写先前软件文件并且重启用户设备108来安装更新。安装更新的可替换实施例可以在更新有效载荷被压缩的情况下对更新有效载荷进行解压缩,和/或可选地在安装它们之前执行散列验证或加密签名检查以确保更新文件的完整性和真实性。用户设备108可以获得更新补丁安装器,其可以安装仅包含对用户设备108上的现有文件的改变而不是现有文件的整个新副本的较小差异更新。应当领会的是,代理设备102可以安装用户设备108作为远程文件系统并且通过软件命令或简单地重启用户设备108而在使用户设备108使用新软件之前向用户设备108写入更新文件,此时用户设备108载入并且执行新软件版本。

参照图1,示例性框图图示了将更新服务212(图2中示出)作为协议110广播给与代理设备102通信耦合的用户设备108的代理设备102。用户设备108包括例如用户设备#1到用户设备#N。图1中的代理设备102可以是移动代理设备。在图1的示例中,与用户设备108相关联的代理设备102表示用于向邻近用户设备108传送设备特定更新数据112的系统。

代理设备102可以包括移动计算设备或任何其它便携式设备。在一些实施例中,移动计算设备包括移动电话、膝上型电脑、平板电脑、计算器、上网本、游戏设备、个人数字助理(PDA)和/或便携式媒体播放器。可替换地,代理设备102可以表示一组处理单元或其它计算设备。代理设备102还可以表示调制解调器、网关、以及诸如Wi-Fi路由器或网络开关之类的路由器型设备。

用户设备108可以包括较不便携的设备,诸如桌上型个人计算机、公共电话亭、冰箱、电视、家用器具、工业控制设备、无线充电站、电动车充电站、可编程加热和/或制冷设备、电梯、缝纫机、大容量存储设备和桌上设备。在一些实施例中,用户设备108可以是车载娱乐系统。在示例实施例中,一个用户设备108可以充当代理设备102,诸如当不能使用代理设备102的功能性时(例如代理设备102可能临时地从网络104断开)。在这样的示例中,用户设备108尤其利用诸如图3中所示的指令编程。

在一些实施例中,用户设备108可以位于相同地理区域中(例如家庭、办公室、汽车、餐馆、商场、建筑物等)。在其它实施例中,用户设备108跨多个地理位置分布。例如,与一个或多个用户设备108的制造商相关联的工程师可以沿街道驾驶并且试图更新位于街道上的家庭内的用户设备108。在另一示例中,商场拥有者或用户设备的制造商可以提供用于商场中的所有商铺的更新服务212。

代理设备102向一个或多个用户设备108广播更新服务212。用户设备108位于代理设备102附近。示例性用户设备108可能缺少到更新源106的连接。例如,用户设备108可能缺少到远离用户设备108的更新源106的直接连接。更新服务212可以在代理设备102上运行并且对应的更新服务可以在更新源106上运行。更新源106可以例如是基于云的服务、服务器、服务器群簇、多个不同服务器和/或对等设备。在示例实施例中,可以存在具有对应于不同用户设备108的不同更新数据112的多个更新源106。更新数据112可以由诸如温度、地理位置(例如全球定位系统位置)、一天中的时间、服务中数据、使用统计之类的用户设备108的属性,以及诸如其地理位置之类的代理设备102的属性来确定。

代理设备102从用户设备108接收更新请求。在一些实施例中,更新请求包括至少用户设备标识符和用户设备状态。用户设备标识符包括与用户设备108相关联的类型、型号、序列号、制造商名称、版本和/或日期。用户设备状态包括与用户设备108相关联的软件状态、固件状态和/或硬件状态。用户设备标识符和用户设备状态的这些列表仅意为示例性的并且本领域技术人员将认识到意在处于本公开的范围内的所有可替换形式。用户设备状态可以对应于经由从更新源106获得的更新数据112可更新的用户设备108中的任何组件。更新请求可以附加地包括从其它用户设备108唯一地标识出用户设备108的任何其它示例性属性或标识符。例如,可以利用更新请求接收与用户设备108相关联的批号和/或用于使用户设备108接收更新数据112的期望时间。用户设备108可以传送诸如全球定位系统(GPS)位置、使用统计和一天中的时间之类的信息。代理设备102可以使用该信息本身或者基于该信息而从更新源106获得不同更新数据112。

响应于从用户设备108所接收的更新请求,代理设备102经由网络104从更新源106获得更新数据112。更新数据112与来自所接收的更新请求的用户设备标识符和用户设备状态相关联。所获得的更新数据112从代理设备102传送到用户设备108。

在本公开的方面中,代理设备102经由支持包括蜂窝码分多址(CDMA)、全球移动通信系统(GSM)、无线保真(WiFi)、4G/Wi-Max等的任何数量和类型的无线和/或有线通信模式的网络104而获得更新数据112。如本领域技术人员将认识到的,用于网络104的其它通信模式处于本公开的范围内。尽管用户设备108在一些实施例中可以具有实现对于这样的网络104的支持的功能性,但是本公开的方面是可操作的以代替使用这样的功能性的用户设备108。

更新数据112经由短波长无线电信号、高频无线电信号和/或有线串行连接而从代理设备102传送到用户设备108。例如,更新数据112可以经由包括无线保真(WiFi)、蓝牙商标通信、红外数据协会(IrDA)协议、射频(RF)通信、以太网、通用串行总线(USB)、火线商标通信、近场通信(NFC)等的任何类型无线和/或有线连接而从代理设备102传送到用户设备108。

用户设备108例如缺少在应用更新之前执行备份,存储更新的多个版本和/或存储更新历史的能力。用户设备108还可能缺少连接到更新源106的完整联网栈。在一些实施例中,没有在用户设备108上示出具有更新进展的用户接口。在示例实施例中,可以在代理设备102上示出具有更新进展的用户接口,而在另一实施例中,可以不在用户设备108或代理设备102中任一个上示出具有更新进展的用户接口。用户设备108上的更新可以自动地执行而没有用户设备108和/或代理设备102上的任何用户交互。因而,相比于实现更新过程和/或联网栈及相关联硬件的现有系统的用户设备而言,本公开的用户设备108上所安装的代码量(例如软件)可以减小(例如减小10%)。另外,并不是每一个用户设备108都要求在一些现有系统中从更新源106选择和输运正确软件所要求的软件复杂性和安全性。另外,本公开的用户设备108不需要受信以访问更新源106来直接获得更新数据112。在针对所执行的更新服务向用户设备108收取费用的实施例中,代理设备102可以处置该费用的处理。

在示例中,用户设备108可以经由代理设备102进行配置以接收或者不接收更新数据112。在这样的情况下,用户设备108可以不监听更新服务212的广播。用户设备108还可以被配置成在预定的某天或预定的时候接收更新数据112。例如,用户设备108可以仅在工作日并且不在周末接收更新数据112。用户设备108可以被配置成仅在特定小时期间,诸如在白天期间而不在夜晚期间,接收更新数据112。用于对用户设备108进行配置以接收或不接收更新数据112的预定的某天和预定的时候的任何组合是可能的并且处于本公开的范围内。在又一示例中,用户设备108被配置成仅在电源周期之后且恢复正常操作之前接受更新数据112。限制更新何时发生的可配置事件的其它示例处于本公开的范围内。

代理设备102的用户或管理员可以拒绝或驳回从用户设备108所接收的更新请求。例如,代理设备102可以在与用户设备108相关联的接收更新数据112的订阅已经过期或者用于较早更新的支付保持未支付时驳回更新请求。在另一示例性实施例中,用户设备108的用户可以拒绝接收更新数据112。在这样的情况下,可以向用户设备108呈现接受或拒绝更新的选项,并且选项可以通过按压硬按钮、软按钮、或用户设备108上的其它类似用户接口元素而行使。作为另一示例,用户和/或代理设备102可以仅接受或执行表示主要或显著版本增量的更新,而跳过较不显著的软件增量。例如,用户设备108和/或代理设备102可以被配置成跳过更新数据112的测试版本。在另一示例中,用户或代理设备108可以被配置成接收每一个可用的更新。

本公开的方面可与依照企业或契约政策而不允许直接访问更新源106的用户设备108一起操作。例如,位于企业防火墙后面或由政府保护承包人使用的用户设备108可以经由如本文所描述的代理设备102进行更新。

接下来参照图2,代理设备102是具有至少一个处理器206和与其相关联的存储器区域208的计算设备。处理器206包括任何数量的处理单元,并且被编程为执行用于实现本公开的方面的计算机可执行指令。指令可以由处理器206或由在代理设备102内执行的多个处理器206来施行,或者由代理设备102外部的处理器206来施行。在一些实施例中,处理器206尤其被编程为执行诸如图(例如图3)中所示出的那些之类的指令。

在一些实施例中,处理器206表示执行本文所描述的操作的模拟技术的实现方式。例如,操作可以由模拟计算设备和/或数字计算设备执行。

代理设备102还具有一个或多个计算机可读介质,诸如存储器区域208。存储器区域208包括与计算设备相关联或者可由其访问的任何数量的介质。存储器区域208可以在计算设备内部(如图2中所示)、在计算设备外部(未示出)或者二者(未示出)。在一些实施例中,存储器区域208包括只读存储器和/或接线到模拟计算设备中的存储器。

除其它数据之外,存储器区域208存储更新数据112和更新服务212。存储器区域208可以可选地存储与可由代理设备102更新的用户设备108相关联的预定的用户设备标识符(未示出)。因而,代理设备102可以将更新数据112仅传送到其标识符存储于存储器区域208中的那些用户设备108。预定的用户设备标识符可以在以下示例性条件之下存储:在用户设备108登记其自身以接收更新数据112之后,在代理设备102的用户已经输入可以可能地经由代理设备102接收更新数据112的用户设备标识符之后,在代理设备102已经检测到代理设备102之后,和/或在代理设备102已经对用户设备108应用更新之后。

存储器区域208还存储一个或多个计算机可执行组件。示例性组件包括通信接口组件218、搜索组件220和统计组件222。计算机可执行组件的操作接下来参照图3和图4进行描述。

接下来参照图3,示例性流程图图示了代理设备102将更新数据112传送给邻近用户设备108的操作。在306处,代理设备102从接近计算设备的至少一个用户设备108接收更新请求。更新请求包括至少用户设备标识符和用户设备状态。代理设备102可以从不同用户设备108同时接收多个更新请求。在一些实施例中,代理设备102可以从相同用户设备108接收多个更新请求。

在其它实施例中,代理设备102可以从用户设备108接收一个或多个更新请求而没有广播更新服务212。例如,用户设备108可以周期性地发送作为“探试”消息的更新请求,以期望代理设备102将最终可用(例如在附近)。

响应于所接收的更新请求,本公开的方面在308处访问与用户设备标识符和用户设备状态相关联的更新数据112。更新请求包括例如认证信息、授权信息和/或许可。认证信息包括用于每一个用户设备108的标识符,其在一些实施例中在用户设备108当中是唯一的。授权信息包括可以允许访问更新源106的信息,诸如用户名和密码。尽管可以存在更新源上可用的各种版本,但是由代理设备108访问与用户设备标识符和用户设备状态相关联的更新数据112。

在一些实施例中,作为更新请求的部分而从用户设备108接收的认证信息在访问更新数据112时呈现给更新源106。认证信息可以包括用户设备标识符。在一些实施例中,认证信息仅在用户设备108向更新服务212登记时呈现一次。在一些实施例中,代理设备102可以存储与用户设备108相关联的认证信息并且在接收更新请求时将其呈现给更新源106。在示例性实施例中,在代理设备102每次接收更新请求时从用户设备108接收认证信息。这样,代理设备102能够通过呈现与特定用户设备108相关联的数据而请求设备特定更新。

在一些实施例中,代理设备102可以不向更新源106呈现所接收的认证信息、授权信息和/或许可。例如,更新源106可以周期性地和/或间歇式地将与用户设备标识符和用户设备状态相关联的更新数据112推送给代理设备102。在一些示例中,更新源106可以仅向位于那些用户设备108附近的代理设备102推送用于用户设备108的更新数据112。更新源106可以依赖于销售或担保登记数据来标识那些用户设备108的位置。

在另一示例性实施例中,代理设备102可以拒绝更新请求并且不向更新源106呈现从用户设备108所接收的信息。例如,代理设备102可以在预定的时间段之后或者在向该特定用户设备108(或用户设备108的种类、模型、制造商等)提供预定数目的更新之后拒绝更新请求。预定的时间段限定允许更新数据112传送到用户设备108时的有效时段(例如订阅时段)。预定数目的更新由用户设备108的用户所购买或以其它方式对其可用的数个更新来限定(例如用户在用户设备108被购买之后的担保时段内,购买时包括数个预支付的更新等)。在应用所允许数目的更新之后,用户设备108的用户可以根据期望而购买附加更新。在一些实施例中,用户可以在预定的时间段内禁用更新的应用或者禁用少量更新的应用(例如忽略增加的更新,仅应用主要更新等)。

在一些实施例中,所接收的认证信息可以在预定的时间段(例如订阅时段)或预定数目的更新(例如担保时段)过期之后呈现给更新源106。

代理设备102可以选择性地广播更新服务212,诸如仅在接近至少一个用户设备108时和/或仅在至少一个邻近用户设备108已经被瞄准或标识以接收更新时。这通过消除不必要的广播而节省代理设备102的电池电力。

访问更新数据112包括从远离用户设备108的更新源106获得更新数据112。在一些实施例中,如果更新数据112已经出现在代理设备102处或者如果更新源106处的更新数据112是较旧版本,则不从远程更新源106获得更新数据112。例如,用户设备108可具有比更新源106上可用的那个更新的版本。在示例实施例中,在代理设备102上,在更新源106上或者在二者上执行对应于更新请求的更新数据112的版本检查和/或错误处置,如图4中所示的。

在另一实施例中,通过搜索可用于代理设备102的存储器区域208来访问更新数据112。例如,可以通过执行对应于更新请求的web搜索而发现更新源106。在一些实施例中,更新源106可以在代理设备102上预定义(例如预加载、预先获得等)。在一些其它实施例中,更新源106可以由代理设备102的用户提供。例如,代理设备102的用户可以输入更新源106的通用资源定位符(URL)。在示例性实施例中,来自用户设备108的更新请求还包括更新源106。例如,连同更新请求一起接收访问更新源106的URL(例如通过用户设备108的制造商编程)。

更新数据112对应于任何更新,包括但不限于软件更新、应用更新和/或用户设备108上的任何其它组件更新。在示例性实施例中,更新数据112可以提供新闻更新、天气更新、股票更新、以及用户设备108被配置成接收的任何其它更新。

在310处,代理设备102从代理设备102向用户设备108传送所访问的更新数据112。在一些实施例中,更新数据112仅在完成版本检查和/或错误处置之后传送。例如,版本检查可以通过比较用户设备108上的版本与更新源106上的版本而执行,而错误处置可以通过在更新的安装失败的情况下从用户设备108的备份恢复先前状态而执行。版本检查和错误处置可以在代理设备102、更新源106或二者上执行。在本文中未描述的执行版本检查和错误处置的其它方式处于本公开的范围内。

代理设备102经由例如文件传输协议(FTP)、安全共享和/或超文本传输协议(HTTP)传送所访问的更新数据112。从代理设备102向用户设备108传送更新数据112的任何其它措施也处于本公开的范围内。

存储器区域208可以存储用户设备状态的备份。代理设备102可以在传送所获得的更新数据112之前接收该备份。在一些实施例中,代理设备102向用户设备108发送指示以在传送更新数据112之前发送用户设备状态的备份。在示例性实施例中,代理设备102向用户设备状态的备份的副本应用更新数据112并且仅在成功将更新数据112应用于副本之后向用户设备108传送更新数据112。

存储器区域208存储如图2中所示的示例性组件。例如,通信接口组件218在由代理设备102的处理器206执行时使处理器206通过代理设备102从邻近代理设备102的至少一个用户设备108接收更新请求。更新请求包括至少用户设备标识符和用户设备状态。

通信接口组件218执行指令,其使代理设备102的处理器206向位于代理设备102附近的至少一个用户设备108广播更新服务212。在一些实施例中,用户设备108的附近由对应于代理设备102与用户设备108之间的通信接口(例如,提供十米的示例性范围的蓝牙商标通信模块)的范围限定。代理设备102可以使用不同通信接口从多个用户设备108接收更新请求。更新请求可以由代理设备102从多个用户设备108同时接收。

在一些实施例中,更新请求可以由代理设备102以批量模式处理。例如,代理设备102的用户在从用户设备108收集更新请求的地理位置周围走动。代理设备102然后可以在随后的时间点在所收集的更新请求上执行批量处理。例如,代理设备102然后可以获得对应于针对其收集更新请求的一个或多个用户设备108的更新数据112。代理设备102的用户可以再次在传送对应于用户设备108的所获得的更新数据112的地理区域周围走动。在一些实施例中,更新数据112可以保留在代理设备102的高速缓存区中,直到自最后一次使用开始后的某一时间量之后被删除,或者直到需要附加空间来存储更为新的所要求的更新数据112。

更新请求可以由代理设备102基于用户设备标识符、用户设备状态、移动设备的位置、和/或与在该位置和当时更新用户设备108相关联的使用费用而优先权化。使用费用例如可以在归属位置外部漫游时是差不多的,或者可以存在用于峰时或非峰时更新的不同使用费用。

代理设备102可以周期性地和/或间歇式地广播更新服务212。在另一实施例中,为了保存电池电力,代理设备102基于来自代理设备102的用户的输入而向用户设备108广播更新服务212。在一些实施例中,用户设备108连续地监听从代理设备102所广播的更新服务212。

如果满足特定参数,则用户设备108可以向代理设备102发送更新请求。示例性参数包括但不限于用户设备108不能连接到更新源106、授权广播代理设备102将更新数据112传递给用户设备108、和/或用于周期性更新的预定的时间间隔过期。

在一些实施例中,通信接口组件218包括网络接口卡和/或用于操作网络接口卡的计算机可执行指令(例如驱动器)。代理设备102与用户设备108之间的通信可以通过任何有线或无线连接使用任何协议或机制而发生。例如,本公开的方面可经由包括无线保真(WiFi)、蓝牙商标通信模块、IrDA协议集、射频(RF)通信、以太网、通用串行总线(USB)、防火墙商标通信模块等的无线和/或有线通信接口的任何组合而操作。在一些实施例中,通信接口可利用近场通信(NFC)标签操作。例如,代理设备102的用户可以敲击用户设备108上的代理设备102以开始更新过程。

搜索组件220在执行时使至少一个处理器206响应于所接收的更新请求而访问与用户设备标识符和用户设备状态相关联的更新数据112。通信接口组件218从代理设备102向用户设备108传送所访问的更新数据112。在示例实施例中,由代理设备102从更新源106获得更新数据112。代理设备102可以持续预定时间段存储更新数据112(例如以应用于具有相同设备状态的相同模型的其它用户设备108等)。更新数据112可以在预定的时间段过期或逝去之后从代理设备102移除。在另一实施例中,代理设备102可以在每次接收到更新请求时获得更新数据112。

统计组件222在执行时使至少一个处理器206生成涉及至少通过通信接口组件218传送所访问的更新数据112的更新度量。更新度量包括所接收的更新请求的量、所传送的更新数据112的量、与更新数据112的每一次传送相关联的持续时间、更新成功率、和/或更新失败率。更新度量可以附加地包括与更新用户设备108相关联的使用费用、更新请求的类型、以及悬而未决的更新请求的量。代理设备102可以基于悬而未决的更新请求的类型方面的相似性而决定保持更新数据112。例如,频繁传送的更新数据112或受欢迎的更新数据112可以由代理设备102存储以便将来用于最小化网络使用费用。

使用费用可以对应于各个更新、更新类型和版本、每一个用户设备108、用户设备108的用户、代理设备102、代理设备102的位置、更新时间、和/或代理设备102的用户。用户设备108的用户和代理设备102的用户可以具有在更新源106上维护的使用费用账户。这些用户可以从更新请求(例如包括在认证信息中)可标识。使用费用可以帮助用户决定是否选择接收更新数据。

统计组件222包括用于向用户显示数据并且从用户接收数据的图形卡。统计组件222还可以包括用于操作图形卡的计算机可执行指令(例如驱动器)。另外,统计组件222可以包括显示器(例如触摸屏显示器或自然用户接口)和/或用于操作显示器的计算机可执行指令(例如驱动器)。统计组件222还可以包括以下中的一个或多个以向用户提供数据或从用户接收数据:扬声器、声卡、相机、麦克风、振动马达、一个或多个加速度计、蓝牙商标通信模块、全球定位系统(GPS)硬件和/或感光传感器。例如,用户可以通过以特定方式移动代理设备102而输入命令或操作数据。

统计组件222收集描述例如更新数据112的传送时间、在更新数据112的传送期间代理设备102的位置、和/或与所访问的更新数据112相关联的标识符的数据。在一些实施例中,统计组件222可以基于来自代理设备102的用户的请求而向代理设备102发布所生成的更新度量。在另一实施例中,统计组件222向云服务发布所生成的更新度量。从所生成的更新度量,统计组件222可以标识具有超出预定阈值的更新成功率的更新数据112。更新成功率可以用于确定执行未来更新的特定时间和/或地点。统计组件222可以发布用于每一个用户设备108的更新度量或者发布用于多个用户设备108的所合计的度量。

在一些实施例中,通信接口组件218可以将统计组件222所生成的更新度量中的一个或多个通知给用户设备108的制造商。制造商可以基于该通知而采取修正或预防措施。例如,制造商可以基于更新度量而召回一些用户设备108。作为另一示例,制造商在更新成功率更高或更少的特定位置处做广告。制造商甚至可以在这样的位置处提供代理设备102以向用户设备108广播更新服务212。

接下来参照图4,序列图示出了用于接收/传送数据的示例性时间。图4列出了可以或者可以不在一些实施例中执行的一些操作。另外,一些操作可以在与所列出的那些不同的时间处执行。在图4中未列出但是在本公开的其它地方进行解释的一些其它操作也处于本公开的范围内。

在时间T1处,代理设备102试图检测邻近用户设备108。当代理设备102具有可用于执行更新的充足资源时,代理设备102可以提供更新众多用户设备108。在其它情况下,代理设备102可以压制提供给用户设备108的更新的量,诸如在用户设备108的量淹没代理设备102的资源或者超出代理设备102的量时。在可替换的实施例中,代理设备102可以在时间T1处与用户设备108交会。例如,用户设备108可以传送更新请求,并且当代理设备102移动到用户设备108附近时,用户设备108可以与代理设备102交会。

在时间T2处,代理设备102广播更新服务212。更新服务212的传送可以周期性地、间歇式地和/或仅在检测到至少一个用户设备108时完成。在一些实施例中,诸如当用户设备108已经与代理设备102交会时,代理设备102可以不广播更新服务212。

在时间T3处,代理设备102从用户设备108接收更新请求。在可替换实施例中,用户设备108发起与代理设备102的联系,而代理设备102在时间T1处未检测到用户设备108并且在时间T2处未广播更新服务212。例如,用户设备108可以通过广播由代理设备102所接收的更新请求而发起联系。

在时间T4处,代理设备102从更新源106访问和/或获得更新数据112。在时间T5处,在代理设备102或更新源106或二者上执行版本检查和/或错误处置。

在一些实施例中,诸如当经由代理设备102从更新源106向用户设备108推送更新数据112时,代理设备102不接收更新请求。

在时间T6处,代理设备102可以接收用户设备108的数据备份。在时间T7处,代理设备102向用户设备108传送更新数据112。在一些实施例中,代理设备102在时间T7处传送更新数据112而不从用户设备108接收数据备份。在时间T8处,可以由代理设备102执行错误处置。例如,如果在更新过程期间检测到错误,则从数据备份执行用户设备108的恢复。

附加示例

本公开的方面使得能够实现附加情况,诸如以下描述的那些。在示例情况下,移动电话可以向用户设备108(例如车载娱乐系统)传送更新数据112。在这样的情况下,用户设备108可以不具有与更新源106的连接,或者用户设备108可以不具有任何更新服务或更新接口。

用户设备108和代理设备102可以定位在彼此附近(例如在相同房屋中)。用于代理设备102和用户设备108之间的通信的范围可以取决于由代理设备102用来接收更新请求或广播更新服务212的通信接口。代理设备102可以经由代理设备102上的多个通信接口(例如WiFi和蓝牙)同时接收更新请求。类似地,代理设备102可以在多个通信接口上同时广播更新服务212。

用户设备108和代理设备102可以以对等关系或以客户端-服务器关系工作。例如,移动服务器设备(例如代理设备102)可以与作为大容量存储设备的客户端设备(例如用户设备108)连接。移动服务器设备然后向客户端设备(例如用户设备108)传送更新数据112。更新数据112可以直接覆写客户端设备上的数据。

移动服务器设备可以更新多个不同类型或种类的用户设备108。在这样的情况下,代理设备102可以同时广播多个不同的更新服务212以覆盖不同类型的用户设备108。

代理设备102表示执行指令(例如作为应用程序、操作系统功能性或二者)以实现与代理设备102相关联的操作和功能性的任何计算设备。

在一些实施例中,用户设备108可以响应于广播更新服务212而发送信息,诸如条形码、更新状态、软件状态、当前软件版本、用户设备108是否可容忍故障的指示、和/或在更新之前是否备份用户设备108的数据的指示。代理设备102可以使用该信息来做出具体针对特定用户设备108的更新过程,而不是仅仅向所有用户设备108广播通用更新。例如,基于从用户设备108所接收的信息,代理设备102通过在更新过程期间执行附加或较少操作而做出具体针对用户设备108的更新过程。

在示例情况下,更新过程允许一组联合用户设备108请求更新,并且对应更新数据112从授权的主机设备(例如代理设备102)自动地交付。在一些实施例中,代理设备102在对代理设备102具有更新权限和/或授权的附近区域中的用户设备108进行更新的地理区域周围漫步。在示例性实施例中,每一个用户设备108可以标识具有更新权限和/或授权的代理设备102的集合。

代理设备102可以为代理设备102的用户提供配置何时发起更新服务212的广播的设置。如果更新授权基于用户设备108的特定参数(例如机器访问控制(MAC)地址)或连接特定参数(例如互联网协议(IP)地址)不是所期望的,则代理设备102的用户可以限定将用于授权更新的更新密码。

在示例实施例中,代理设备102将更新请求传递给搜索引擎,其基于用户设备标识符和用户设备状态而标识更新源106。

在另一示例实施例中,如果代理设备102处理从第一用户设备108所接收的更新请求并且从第二用户设备108接收到新的更新请求,则来自第二用户设备108的新的更新请求可以排队以用于后续处理,或者新的更新请求可以与更新请求的进行中的处理同时处理。另外,如果用户设备108与代理设备102之间的连接接口破坏或超出范围,则代理设备102中止更新过程。在这样的情况下,在用户设备108上不发生更新。

如果在较早尝试期间更新不成功,则更新过程可以从更新过程暂停的点恢复。当代理设备102再次移动到移动设备108附近时,发生更新过程的恢复。在一些实施例中,当代理设备102持续预定时间段(例如一分钟)靠近用户设备108时,执行更新过程。预定时间段帮助确定代理设备102与用户设备108之间的连接可能是稳定的,或者对其进行测试以确认特定服务质量(例如连接速度)。

一旦更新数据112已经从代理设备102传送到用户设备108,则更新过程结束。即便在更新数据112已经传送之后与用户设备108的连接接口破坏或者用户设备108变得超出范围,用户设备108仍可以通过应用更新数据112而完成更新。

图1和图2中的各个元件的功能性的至少部分可以由图1或图2中的其它元件、或者图1或图2中未示出的实体(例如处理器、web服务、服务器、应用程序、计算设备等)执行。

在一些实施例中,图3和图4中所图示的操作可以实现为编码在计算机可读介质上的软件指令、被编程或设计成执行操作的硬件中、或者二者。例如,本公开的方面可以实现为片上系统或者包括多个互连的导电元件的其它电路系统。

如本文中所使用的术语“NFC”在一些实施例中是指用于通过短距离交换数据的短程高频无线通信技术。如本文中所使用的术语“Wi-Fi”在一些实施例中是指使用高频无线电信号传送数据的无线局域网。如本文中所使用的术语“蓝牙”在一些实施例中是指用于使用短波长无线电传送通过短距离交换数据的无线技术标准。

示例性操作环境

示例性计算机可读介质包括闪速存储器驱动器、数字多功能盘(DVD)、致密盘(CD)、软盘和磁带。作为示例而非限制,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可执行指令、数据结构、程序模块或其它数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和非可移动介质。计算机存储介质是有形的并且与通信介质互相排斥。在一些实施例中,计算机存储介质在硬件中实现。示例性计算机存储介质包括硬盘、闪速驱动器和其它固态存储器。相比而言,通信介质典型地在诸如载波的调制数据信号或其它输运机制中体现计算机可读指令、数据结构、程序模块、或其它数据,并且包括任何信息递送介质。

尽管结合示例性计算系统环境进行描述,但是本公开的实施例能够利用众多其它通用或专用计算系统环境、配置或设备实现。

可以适用于与本发明的方面一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于移动计算设备、个人计算机、服务器计算机、手持式或膝上型设备、微处理器系统、游戏控制台、基于微处理器的系统、机顶盒、可编程消费者电子产品、移动电话、具有可穿戴或配件形式因子的移动计算和/或通信设备(例如手表、眼镜、头戴式耳机或耳机)、网络PC、小型计算机、大型计算机、包括任何上述系统或设备的分布式计算环境等。这样的系统或设备可以以任何方式从用户接受输入,包括从诸如键盘或定点设备的输入设备、经由手势输入、接近输入(诸如通过悬停)和/或经由语音输入。

可以在计算机可执行指令的一般上下文中描述本发明的实施例,诸如软件、固件、硬件或其组合中的一个或多个计算机或其它设备所执行的程序模块。计算机可执行指令可以组织到一个或多个计算机可执行组件或模块中。一般地,程序模块包括但不限于例程、程序、对象、组件和数据结构,其执行特定任务或实现特定抽象数据类型。本发明的方面可以利用任何数目和组织的这样的组件或模块而实现。例如,本发明的方面不限于本文中所描述的和各图中所图示的特定组件或模块或者特定计算机可执行指令。本发明的其它实施例可以包括具有比本文所图示和描述的更多或更少的功能性的不同计算机可执行指令或组件。

本发明的方面在被配置成执行本文所描述的指令时将通用计算机变换成专用计算设备。

本文所描述和图示的实施例以及本文未具体描述但位于本发明的方面的范围的实施例构成用于检测和更新用户设备108的示例性装置。

本文中所描述和图示的本发明的实施例中的操作的执行或施行顺序不是必要的,除非以其它方式指定。也就是说,可以以任何顺序执行操作,除非以其它方式指定,并且本发明的实施例可以包括比本文所公开的那些更少或附加的操作。例如,预期到在另一操作之前、之后或者与其同时执行特定操作处于本发明的方面的范围内。

当介绍本发明或其实施例的方面的元件时,冠词“一”、“一个”、“那个”和“所述”旨在意指存在一个或多个元件。术语“包括”、“包含”和“具有”旨在是开放式的并且意指可以存在除所列元件之外的附加元件。术语“示例性”旨在意指“其示例”。短语“以下中的一个或多个:A、B和C”意指“A中的至少一个和/或B中的至少一个和/或C中的至少一个”。

已经详细描述了本发明的方面,将了解到,在不脱离如随附权利要求中所限定的本发明的方面的范围的情况下,修改和变化是可能的。由于在不脱离本发明的方面的范围的情况下可以在上述构造、产品和方法中做出各种改动,所以意指包含在以上描述中并且在随附各图中示出的所有主题都应当被解释为说明性而非限制意义的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号