用于将数据推到移动设备的系统和方法.pdf

上传人:62****3 文档编号:6192651 上传时间:2019-05-19 格式:PDF 页数:43 大小:2.11MB
返回 下载 相关 举报
摘要
申请专利号:

CN03810681.7

申请日:

2003.03.11

公开号:

CN1653453A

公开日:

2005.08.10

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F17/30; H04L29/06

主分类号:

G06F17/30; H04L29/06

申请人:

捷讯研究有限公司;

发明人:

罗伯特·克兰; 迈克尔·希尼菲尔德

地址:

加拿大安大略省沃特卢市

优先权:

2002.03.11 US 60/362,930

专利代理机构:

中科专利商标代理有限责任公司

代理人:

王玮

PDF下载: PDF下载
内容摘要

一种处理来自移动设备(100)的信息请求的系统,包括:存储器(1100)、状态预测模块(1200)和推模块(1300)。存储器(1100)用于存储从移动设备(100)接收的数据请求。状态预测模块(1200)用于访问存储器(1100),以便根据所存储的数据请求来预测用于移动设备(100)的预报数据请求。推模块(1300)用于从所述状态预测模块(1200)接收所述预报数据请求,并且作为响应,请求和接收涉及预报数据请求的响应数据,并准备所述响应数据,用于经无线网络(105)传输到所述移动设备(100)。

权利要求书

1: 一种处理来自移动设备的数据请求的系统,该系统包括: 存储器,用于存储从至少一个移动设备接收的数据请求; 状态预测模块,用于访问存储器,并且根据所存储的数据预测用于 移动设备的第一预报数据请求;以及 推模块,用于从所述状态预测模块接收所述第一预报数据请求,并 且作为响应,请求和接收涉及所述第一预报数据请求的第一响应数据, 并准备所述第一响应数据,用于经无线网络传输到移动设备。
2: 如权利要求1所述的系统,其特征在于响应从所述移动设备接 收数据请求,预测所述第一预报数据请求。
3: 如权利要求2所述的系统,其特征在于所述状态预测模块还用 于根据所述所存储的数据请求来产生预测数据,并且响应所述第一响 应数据,根据从所述移动设备接收的预测通知的接收,更新所述预测 数据。
4: 如权利要求1所述的系统,其特征在于所述状态预测模块还用 于独立于从所述移动设备接收的数据请求,预测所述第一预报数据请 求。
5: 如权利要求4所述的系统,其特征在于: 所述状态预测模块还用于从所述移动设备接收数据请求,并且作为 响应,访问所述存储器并根据所接收的数据请求和所存储的数据请求 来预测第二预报数据请求;以及 所述推模块还用于从所述状态预测模块接收所接收的数据请求和 所述第二预报数据请求,并且作为响应,请求和接收涉及所接收的数 据请求和所述第二预报数据请求的第二响应数据,并准备第二响应数 据,用于经无线网络传输到移动设备。
6: 如权利要求4所述的系统,其特征在于所述状态预测模块还基 于周期来预测所述第一预报数据请求。
7: 如权利要求5所述的系统,其特征在于所述状态预测模块还根 据所识别的存储数据的子集来选择预测模式。
8: 如权利要求7所述的系统,其特征在于所述预测模式包括: 原子模式,用于对专用于所述移动设备的标识的所存储数据请求进 行操作;以及 组模式,用于对专用于多个移动设备的所存储数据请求进行操作。
9: 如权利要求5所述的系统,其特征在于所述状态预测模块包括 马克夫链模块,以预测所述第一和第二预报数据请求。
10: 如权利要求5所述的系统,其特征在于所述第二预报数据请求 包括一组连续数据请求和参考所接收的数据请求的连续响应数据。
11: 一种实现用于处理来自移动设备的数据请求的方法的计算机, 该方法包括: 接收和存储从移动设备所接收的数据请求; 对来自移动设备的所接收数据请求和预测数据进行比较,以基于所 述比较来预测预报数据请求; 请求和接收涉及所接收的数据请求和所述预报数据请求的响应数 据;以及 准备响应数据,用于经无线网络传输到移动设备。
12: 如权利要求11所述的方法,其特征在于还包括步骤: 从所述数据请求中识别所述移动设备; 根据所述移动设备的标识来识别预测数据的子集;以及 对所述所存储的数据请求的子集和所接收的数据请求进行比较,以 预测所述预报数据请求。
13: 如权利要求12所述的方法,其特征在于还包括步骤: 将概率值分配给所述预报数据请求; 对所述概率值与阈值进行比较; 如果所述概率值不超过所述阈值,则: 扩大所述预测数据的子集以包括来自其它移动设备的数据请求;以 及 根据所述已扩大的预测数据,进一步预测预报数据请求。
14: 如权利要求11所述的方法,其特征在于,对来自移动设备的 所接收数据请求和预测数据进行比较以便根据所述比较来预测预报数 据请求的步骤包括步骤: 选择具有大于选择概率阈值的从当前移动设备状态的转移概率的 状态集合; 递增状态集合,直到从所述当前移动设备状态的状态集合转移概率 小于所述选择概率阈值。
15: 如权利要求14所述的方法,其特征在于,对来自移动设备的 所接收数据请求和预测数据进行比较以便根据所述比较来预测预报数 据请求的步骤包括步骤: 确定所述状态集合的基数; 比较所述状态集合的基数与最大深度; 如果所述状态集合的基数超过所述最大深度,则调整所述状态集 合。
16: 如权利要求15所述的方法,其特征在于调整所述状态集合的 步骤包括: 将所述状态集合限制到所述最大深度;以及 选择所述状态集合的子集,以便使从所述当前移动设备状态的转移 概率最大化。
17: 如权利要求14所述的方法,其特征在于还包括步骤:在递增 所述状态集合的每一个之后,递增所述选择概率阈值。
18: 如权利要求11所述的方法,其特征在于还包括步骤:独立于 从移动设备接收的数据请求,为移动设备预测独立的预报数据请求。
19: 如权利要求18所述的系统,其特征在于还包括步骤:从所述 移动设备接收成功预测通知,并且根据所述成功预测通知来更新所述 预报数据。
20: 如权利要求18所述的系统,其特征在于还包括步骤:根据周 期来执行预测独立的预报数据请求。

说明书


用于将数据推到移动设备的系统和方法

    本申请要求2002年3月11日提交的美国临时申请No.60/362,930的利益和优先权。临时申请No.60/362,930的全部公开,包括说明书、附图和附件以引用方式包含在本申请中一并参考。

    【技术领域】

    一般地,本申请涉及将数据提供到移动通信设备(“移动设备”)的系统和方法,更具体地,涉及用于将预测的数据推(push)到移动设备的系统和方法。

    背景技术

    典型地,当桌上型计算机或移动设备的用户请求数据时,用户在响应初始数据请求来检查的所接收答复数据之后,通常会进行另一个后续的数据请求。桌上型计算机典型地对诸如局域网(LAN),宽域网(WAN)和因特网的计算机网络具有高带宽、低等待时间的接入。这样,当使用桌上型计算机时,对这些后续数据请求的响应数据通常被快速地提供。

    然而,通过无线网络进行通信的移动设备典型地不具有对这些网络的相对高的带宽和低等待时间的通信路径,因为很多无线网络可能具有信号传播延迟、有限的RF频谱和信号衰退。相应地,当移动设备的用户请求后续数据时,用户典型地必须应付无线网络的固有等待时间和带宽限制。已经开发了多个无线通信协议,以适应移动设备数据请求,这些协议包括:无线应用协议(WAP)、压缩的超文本标记语言(cHTML)、可扩展标记语言(XML)和其它。然而,这些通信协议仍然受制于无线网络的固有等待时间和带宽特性。因此,移动设备地用户必须经常响应后续数据请求,等待在移动设备处接收的答复数据。

    【发明内容】

    一种处理来自移动设备的数据请求的系统,包括存储器、状态预测模块和推模块。存储器用于存储从至少一个移动设备接收的数据请求。状态预测模块用于从移动设备接收数据请求,并作为响应,访问存储器并根据所接收的数据请求和所存储的数据请求,对预报(forecasted)数据请求进行预测。推模块用于从所述状态预测模块接收所接收的数据请求和预报数据请求,并作为响应,请求和接收涉及所接收的数据请求和预报数据请求的响应数据,以及准备所述响应数据,用于经无线网络传输到所述移动设备。

    一种处理来自移动设备的数据请求的系统,包括:存储器、状态预测模块和推模块。存储器用于存储从至少一个移动设备接收的数据请求。状态预测模块用于访问存储器,并且根据所述所存储的数据请求,预测用于移动设备的第一预报数据请求。推模块用于从所述状态预测模块接收所述第一预报数据请求,并作为响应,请求和接收涉及所述第一预报数据请求的第一响应数据,并且准备第一响应数据,用于经无线网络传输到移动设备。

    一种处理来自移动设备的信息请求的系统,包括:数据收集单元、数据调整单元、分析单元和推单元。数据收集单元用于接收和存储从移动设备接收的数据请求,并且存储基于所存储的数据请求的预测数据。数据调整单元用于从移动设备接收数据请求、访问所存储的数据请求、产生预测数据和在数据收集单元中存储预测数据。分析单元用于访问存储在数据收集单元中的预测数据和执行预测算法,以预测预报数据请求。推单元用于接收所接收的数据请求和预报数据请求,并且作为响应,请求和接收涉及所接收的数据请求和预报数据请求的响应数据,并准备响应数据,用于经无线网络传输到移动设备。

    一种移动通信设备包括:通信子系统,用于在无线网络上进行通信;存储器子系统,用于存储数据;以及处理子系统,用于指示通信子系统在无线网络上发送和接收数据、存储数据到存储器子系统和从存储器子系统读取数据。将包括处理子系统可执行指令的客户机程序存储在存储器子系统中,并且用于预测数据请求和接收对数据请求的响应数据。客户机程序高速缓存器用于存储响应数据,以及推高速缓存器用于存储基于数据请求的预报数据。

    【附图说明】

    图1是可以使用在此描述的系统和方法的示例通信系统;

    图2是用于处理移动设备信息请求的系统的实施例;

    图3是用于处理移动设备信息请求的系统的另一实施例;

    图4是处理移动设备信息请求的方法的流程图;

    图5是示出了在预测模块中的模式选择的流程图;

    图6是示出了处理移动设备信息请求的另一方法的流程图;

    图7是用于处理移动设备信息请求的系统的另一实施例的图示;

    图8是移动设备行为的加权图模型;

    图9示出了在一个训练时间周期期间转移矩阵(transition matrix)T结构和调整过程;

    图10是示出了候选状态选择过程的流程图;以及

    图11是一个示例移动设备的示意图。

    【具体实施方式】

    图1是可以使用在此描述的系统和方法的示例通信系统。该系统包括:数据入口10、因特网20、数据服务器40、无线网关85、无线基础设施90、无线网络105和移动设备100。其它系统也可用于在此公开的系统和方法。

    数据入口10和数据服务器40图示为遵从WAP的设备。也可以使用其它数据入口或服务器,诸如HTML、cHTML、xHTML和XML服务器和入口。典型地,入口10和服务器40可以是类似设备,即,入口10可以通过服务器来实现,并且还起到代理服务器的作用。然而,典型地,通过移动设备运营商或服务提供商来管理入口10。

    无线网关85和无线基础设施90提供因特网20和无线网络105之间的链路,一起形成了典型的信息传送机制。该无线基础设施确定用于定位给定用户的最可能的网络,并且当用户在国家或网络之间漫游时可以跟踪用户。

    无线基础设施90包括到无线网络105的一系列连接。这些连接能够是利用在整个因特网中使用的TCP/IP协议的综合业务数字网(ISDN)、帧中继或T1连接。

    正如在此使用的,术语“无线网络”可以覆盖很多不同类型的网络,诸如:(1)数据为中心(data-centric)的无线网络,(2)语音为中心(voice-centric)的无线网络和(3)能够在同一物理基站上同时支持语音和数据通信的双模式网络。除了这些类型的无线网络外,还可以使用其它无线网络。

    组合的双模式网络包括但不限于:(1)已经开发并且由Qualcomm运营的码分多址(CDMA)网络,(2)均由CEPT标准委员会开发的分组特殊移动或全球移动通信系统(GSM)和通用分组无线业务(GPRS)网络,以及(3)将来的第三代(3G)网络,例如改进数据率全球服务(EDGE)和通用移动电信系统(UMTS)。GPRS是在很流行的GSM无线网络上的数据覆盖,实际运行在欧洲的每个国家。

    数据为中心的网络的示例包括由MobitexTM无线网络和DataTACTM无线网络。MobitexTM无线网络已经由厄立特里亚电信公司(Eritel)和瑞典的爱立信(Ericsson)开发,并且由在美国的BellSouth(Cingular)无线数据和加拿大的Rogers/Cantel运营。DataTACTM无线网络已经由摩托罗拉(Motorola)开发并且由在美国的现在被称作Motient的美国移动卫星公司(AMSC)和加拿大的贝尔移动(Bell Mobility)运营。数据为中心数据网络的示例包括在北美和世界范围内已经使用了近10年的个人通信系统(PCS)网络,例如CDMA,GSM和TDMA系统。

    入口10还可以位于公司LAN或WAN内,或在另一个网络中,诸如在较大的应用服务提供商(ASP)内,并且提供用于在因特网20上的信息交换的接口。入口10还可以包括动态数据库存储引擎,其具有用于诸如日历、待办事件列表、任务列表、电子邮件和文档之类的数据的预定义数据库格式,并且还可以提供到其服务的诸如WAP卡片组(WAP deck)17的信息源的链路以及到信息的链路,由例如由WAP服务器40服务的WAP卡片组37的由其它服务器和连接到因特网20的其它系统服务于所述信息。

    WAP卡片组17和35包括以无线标记语言(WML)协议编写的文档。WML使用用于文档的卡片叠(card deck)比喻,将WML文档的每一页称为一个卡,并将整个文档称为一个卡片组。这样,典型地,WAP文档包括被称为卡的一系列部分或页,每个保持用于WAP浏览器中的一个屏幕/窗口的数据。

    可以由移动设备用户请求WAP卡片组17,并且通过无线传输,典型地通过射频(RF)链路,从无线网络105中的基站将其传递到移动设备100。具体的网络105可以由在该网络上可以与移动设备100交换信息的任何无线网络实现。

    当用户在移动设备100处请求数据时,移动设备100进行所请求的信息的数据拉(data pull)。移动设备100典型地发送统一资源定位符(URI),例如对应于来自入口10的资源请求的URI 15。除了示例的URI 15,可以配置移动设备100,以按照不同的通信协议发送其它类型的数据请求,例如用于网页的URL、服务器的IP地址、文件传输协议(FTP)请求等。此外,尽管URI 15示例性地对应于入口10,可以替换为,URI 15对应于与因特网20进行通信的其它设备或系统。

    当入口10接收URI 15时,入口10通常通过发送WAP卡片组17到移动设备100来进行响应。典型地,将WAP卡片组17通过无线网关85传送到移动设备100。如果入口10具有本地存储的WAP卡片组17,则其可以立即发送WAP卡片组17到移动设备100。如果入口10不具有本地存储的WAP卡片组17,则其可以从其它信息源请求和接收WAP卡片组17。一旦接收到WAP卡片组17,移动设备100将WAP卡片组17呈现给用户,并且完成数据拉。

    典型地,当接收到WAP卡片组17时,检查在WAP卡片组17中呈现的信息之后,移动设备100的用户可以请求另一WAP卡片组。例如,如果WAP卡片组17包括用于多个股票的股票报价信息,则移动设备100的用户可以随后从相同的入口10、与因特网20通信的另一入口或服务器,请求涉及多个股票之一的信息。然后,用户必须等待,直到在移动设备100处接收到相应的信息或数据。

    此外,如果在移动设备100处接收的信息包括附加的嵌入URI,则由用户进行的URI选择将使得移动设备100发出另一个URI请求,然后,用户必须等待,直到在移动设备100处接收到相应的信息或数据。

    为了使用于这些后续请求的相关等待时间最小,除了传送到移动设备100的响应信息以外,在此公开的系统和方法还推预报响应信息。由入口10产生基于从移动设备100或其它移动设备发出的先前数据请求的预报数据请求。如果入口10具有对所述预测数据请求的本地存储的响应数据,则可以利用WAP卡片组17立即发送响应数据给移动设备100。如果入口10不具有本地存储的响应数据,则可以从其它信号源请求和接收响应数据。一旦接收到,利用WAP卡片组17将响应数据提供给移动设备100。

    还可以将预测数据请求提供给移动设备100。例如,当将WAP卡片组17传送给移动设备时,利用WAP卡片组17推预测信息18。如果预报数据请求是URI 35,则预测信息18可以包括预报URI35和相应的WAP卡片组17。可以将预测信息18存储在移动设备100内的高速缓存器中或移动设备100内的类似存储器存储单元中。

    例如,URI 35可以涉及在WAP卡片组17中发现的链路。如果由移动设备100请求URI 35并且URI 35和相应的卡片组37没有存储在移动设备100的高速缓存器中,则移动设备100将URI 35查询传送到入口10。然而,由于在预测信息18中提供了URI 35和相应的WAP卡片组37,实际上移动设备100不需要传送URI请求,因为相应的卡片组37在移动设备100高速缓存器中是可用的。这样,预先清空对卡片组17的后续请求,由此减少了移动设备100的用户经历的等待时间。

    图2是用于处理移动设备100信息请求的系统1000的实施例。典型地,移动设备100包括客户机程序110和相关的高速缓存存储器120。典型移动设备100可以具有参照图11描述的类型。尽管只示出了一个移动设备100,还可以有多个移动设备与系统1000进行通信。

    系统1000包括:存储模块1100、预测模块1200和推模块1300。存储模块1100、预测模块1200和推模块1300可以响应来自移动设备100的数据请求,共同形成推服务器。该推服务器可以嵌入在单个计算机中,或替换为分布在多个计算机设备上。例如,存储模块1100和预测模块1200可以位于第一计算机设备上,而推模块1300可以位于与第一计算机设备进行通信的第二计算机设备上。

    存储模块1100、预测模块1200和推模块1300的每一个可以包括用于执行编程的任务的软件程序或软件系统结构和相关硬件。可以使用任何数目的软件语言或软件编程平台来构造这些模块。此外,尽管将存储模块1100、预测模块1200和推模块1300显示为分离的模块,可以将这些模块组合为单个模块以合并功能任务,或可选地,可以对所述模块再细分,以分布功能任务。

    在图2的示例实施例中,移动设备100的每个数据请求被模型化为状态。存储模块1100用于接收和存储从移动设备100和其它移动设备传送的状态。在一个实施例中,移动设备状态可以包括URI。

    预测模块1200用于从移动设备100接收状态,并作为响应,访问存储模块1100,并且根据所接收的数据请求和所存储的状态来预测一个或多个预报状态。预测模块1200可以执行预测算法,例如马克夫链(Markov chain)、n元序列模型(n-gram sequencemodel)、加权的最近使用算法(weighted most recently usedalgorithm)或其它预测算法。预测可以包括对接收的状态和所存储的状态进行,或对所接收的状态和从所存储的状态产生的预测数据进行比较。在对所接收的状态和从所存储的状态产生的预测数据进行比较的情况下,在产生预测数据之后,可以删除所存储的状态,以保存存储空间。

    预测模块1200将预测状态提供给推模块1300。推模块用于从移动设备100接收所请求的状态并从预测模块1200接收所预测的状态,作为响应,请求和接收对所预测的状态和所请求的状态进行响应的响应数据。例如,如果移动设备状态和所预测状态包括URI,则推模块1300执行URI查询。然后,将响应数据传送到移动设备100。在一个实施例中,响应数据还包括预报状态。

    在另一个实施例中,预测模块1200独立于从移动设备100接收状态,预测预报状态和提供预报状态给推模块1300。推模块1300用于从预测模块1200接收预测状态,并请求和接收对预测的状态进行响应的响应数据。还可以配置预测模块1200,以便预测预报状态和基于周期将预报状态提供给推模块。例如,如果移动设备100的用户在一天的某个时间,例如7:00AM和8:00AM小时之间,典型地访问新闻服务和体育服务,预测模块1200可以预测在该时间周期内用于新闻服务和体育服务的必要的URI查询,并且提供URI查询给推模块1300。然后,推模块1300执行URI查询,并且将响应数据传送给移动设备100。该操作可以独立于接收来自移动设备100的状态而发生,所述状态例如移动设备100可以是在闲置模式或用户可能还没有选择涉及新闻服务或体育服务的特定状态。

    相应地,当移动设备100的用户选择新闻服务或体育服务时,该用户将具有涉及在移动设备100处可用的新闻服务和体育服务信息的信息。为了有助于维持将来预测的精确性,可以进一步配置移动设备100,以便当移动设备100访问预测状态时,将成功预测的通知传回到预测模块1200。这样,预测模块1200然后可以更新预测算法数据以反映是否从移动设备100接收到成功预测的通知。例如,在一个时间周期内不能接收到一个特定的预测状态的成功通知,可能会导致预测模块1200从预测数据中移去特定的状态,或降低将来预测该特定状态的似然性。

    成功预测通知还可以包括指示移动设备100是否访问所提供的响应数据的数据。能够配置移动设备100,以确定在访问时间周期期间是否访问了从推模块1300推的响应数据。因此,代替在该时间周期期间等待接收成功预测通知,预测模块1200可以查询成功的预测通知何时被接收。相应地,如果在访问时间周期期间已经访问了响应数据,则成功预测通知指示发生了成功的预测。然而,如果在访问时间周期期间还没有访问响应数据,则成功预测通知指示发生了未成功的预测。

    在另一个实施例中,可以通过请求模块来实现推模块1300,该请求模块用于从预测模块接收所接收的数据请求和预报数据请求,并且作为响应,对涉及所接收的数据请求和预报数据请求的响应数据发出请求,以经无线网络将其传送给移动设备100。因此,请求模块不需要接收对于所接收的数据请求和预报数据请求的各个响应数据;而是,响应各个请求,将对所接收的数据请求和预报数据请求的响应数据通过通信从设备提供给移动设备100。在该实施例的变体中,请求模块可以单独地将预测状态传送到移动设备100。

    图3提供了用于移动设备100信息请求的系统1000的另一实施例。在该实施例中,存储模块1100包括用于存储移动设备状态和预测数据的存储器存储单元1102和1104。典型地,从移动设备100的传输还将包括移动设备100标识符,并且由此,可以将每个移动设备100的状态历史存储在存储器存储单元1102中。同样,还可以将对应于与系统1000通信的每个移动设备的预测数据存储在存储器存储单元1104中。

    预测模块1200用于根据所接收的数据请求和所存储的状态来预测一个或多个预报状态。如图所示,预测模块1200可以通过只利用存储在存储器存储单元1102中的先前状态来预测预报状态,或还可以对其进行配置,以利用存储在存储器存储单元1104中的预测数据。可选地,可以配置预测模块1200,以只根据存储在存储器存储单元1104中的预测数据来预测预报状态。

    预测模块1200可以按照训练模式1202进行操作,以产生要存储在存储器存储单元1104中的预测数据,然后,转移到操作模式1204。在该实施例中,在针对移动设备100或其它移动设备收集时间状态的过程中,预测模块1200定义一个或多个收集帧(collectionframe)。在收集帧的期满处,产生或调整预测数据。然后,估计该预测数据,以确定是否定义另一收集帧,用于该预测数据的进一步调整,或转移到操作模式1204。

    在操作模式期间,预测模块可以按照原子模式(atomic mode)1212、组模式(group mode)1214或混合模式(mixed mode)1216进行操作。在原子模式1212中,预测模块1200使用移动设备100的历史状态或来自一组相对同类用户的历史状态来预测预报状态。

    一组同类用户的示例是在公司中的一个具体部门的雇员。一组同类用户的另一个示例是具有类似数据请求历史的用户。还可以使用定义同类用户组的其它技术。

    在组模式1214中,预测模块1200使用关于一个较大组的移动设备100的历史状态。例如,组模式预测可以是基于移动设备100的所有用户的历史状态。

    最后,在混合模式1216中,预测模块1200首先按照原子模式1212进行操作,然后,如果不能在原子模式1212进行强预测,则切换到组模式1214。可以通过识别参考模式的能力,或超过阈值概率的正确预测的似然性,或通过其它方法来测量预测的强度。

    在操作中,移动设备100可以通过URI 15发出数据请求。将URI 15通过无线网络105和因特网20传送到存储模块1100,并且将状态存储在存储器存储单元1102中。然后,将URI 15提供给预测模块1200,该预测模块访问存储器存储单元1102和/或1104,并且预测一个或多个预报状态。在该例中,预测模块1200只预测一个状态URI 35,作为预报状态。

    将URI 15和35提供给推模块1300,然后该模块执行各个URI查询。URI 15可以与位于公司LAN 21上的服务器相对应,在该情况下,作为响应提供WAP卡片组17。URI 35可以与位于因特网20上某处的服务器22相对应,并且作为响应提供相应的WAP卡片组37。

    然后,将WAP卡片组17、URI 35和WAP卡片组37作为响应数据传送给移动设备100。一旦接收到响应数据,由运行在移动设备100上的客户机程序110访问WAP卡片组17,并且将URI 35和WAP卡片组37存储在客户机程序高速缓存器120中。如果此后用户请求URI 35,则预测是成功的。作为成功预测的结果,从高速缓存器120提供WAP卡片组37,并且由此对移动设备100的用户立即是可用的。

    在另一个实施例中,移动设备100的高速缓存器120还可以包括客户机程序高速缓存器122和推高速缓存器124。可以配置客户机程序110,以便在客户机程序高速缓存器122中存储对所述被请求的状态的响应数据,例如在对URI 15的响应中提供的WAP卡片组17,并且在推高速缓存器124中存储对预测的状态的响应数据,例如URI 35和WAP卡片组37。典型地,存储在高速缓存器120中的数据可以具有相关的刷新或到期数据(expiry data),诸如到期头标字段,用于指示客户机程序110查询数据源和请求已更新的数据。在该实施例中,客户机程序110忽略存储在推高速缓存器124中的响应数据中的这些到期数据或刷新数据。因此,客户机程序110可以响应第二的后续状态,在推高速缓存器124中搜索预报数据,并且如果到期数据或刷新数据指示了失效数据(stale data),则不执行数据请求。

    如果存储在推高速缓存器124中的响应数据是对后续状态的响应,即,由预测模块1200正确地预测了下一个状态,则客户机程序110可以从推高速缓存器124向客户机程序高速缓存器122传送预测的响应数据。然而,如果存储在推高速缓存器124中的响应数据不是对后续状态的响应,则可以删除预测的响应数据,并且将由移动设备100请求的状态经无线网络105传送到存储器模块1100。

    可以预测一个或多个预报状态并将其推到移动设备100。例如,如果预测四个状态,并且将四个状态的响应数据提供给移动设备100,则只要由用户请求的后续状态在四个预测状态中,移动设备100就不需要经无线网络来传送数据请求。在另一个实施例中,当完成成功预测,移动设备100将成功预测通知传送给预测模块100。然后,预测模块1200根据移动设备100的上一个成功预测状态来预测附加的预报状态,并且将响应数据推到移动设备100。因此,可以将对于一个或多个预测状态的一组新的响应数据没有用户干预地推到移动设备100。

    除了能够根据所接收的数据请求和所存储的状态来预测一个或多个预报状态外,预测模块1200还可以用于独立于从移动设备100接收状态来预测一个或多个预报状态。此外,移动设备100还可以用于将成功预测通知传送回预测模块1200,作为预测模块1200独立于所接收的数据请求来正确预测一个或多个预报状态的确认。以上参照图2描述了在该配置中的预测模块1200、推模块1300和移动设备100的操作。

    在另一个实施例中,当预测预报状态时,预测模块1200还可以对与涉及预报状态的推数据相关的资源度量(metric)和系统度量1220进行比较。系统度量1220可以是一个成本度量,诸如提供数据到移动设备100的成本,或是资源度量,诸如可用系统带宽。还可以提供其它度量。可以将系统度量1220用于更新或调整存储在存储器存储单元1104中的预测数据,如箭头1222所示。

    根据系统度量1220,预测模块1200可以确定成本有效(costeffective)的特定状态的最大数目和与推送到移动设备100相关的数据。如果特定的预报状态不是成本有效,或超过了成本有效的状态的最大数目,则可以删除某些甚至所有的预报状态。可选地,可以进一步配置预测模块,以产生另一组预报状态,或者,如果第一组预测的状态不是成本有效的,则修改第一组预测的状态。

    图4是处理移动设备信息请求的方法的流程图500。在步骤502,由存储模块1100记录移动设备的新状态。典型地,新状态对应于通过经无线网络的传输从移动设备接收的数据请求。如果在数据请求中包括移动设备标识符,则新状态可以对应于具体的移动设备。

    在步骤504,可以由预测模块1200调整预测数据。取决于在预测模块1200中实现的预测算法,可以利用每一个记录的新状态来更新预测数据,或者可选地,只有当新状态使现有预测数据不精确或需要调整时才进行更新。确定是否更新预测数据的因素可以包括样本空间体积(space size)、历史体积(history size)、具体的预测算法等。

    在步骤506,预测模块执行状态分析,以预测移动设备100的预报状态。可以对预测进行模式选择,诸如原子模式1212、组模式1214或混合模式1216。

    在步骤508,将预报状态提供给推模块1300,该模块请求由移动设备请求的新状态数据和涉及预报状态的预报状态数据。最后,在步骤510,准备包括新状态数据和预报状态数据的响应数据,用于传输给移动设备。响应数据可以只包括新状态数据和预报状态数据,或者还可以包括对应于预报状态数据的预报状态。

    在另一个实施例中,推模块1300用于确定响应数据是否包括其它状态请求,如步骤512所示。例如,HTML文档可以包括到其它数据服务器的URL,并且访问HTML文档将导致浏览器程序发出对与嵌入的URL相关的其它数据服务器的查询。

    为了避免在移动设备100处需要这些操作,当确定响应数据包括其它状态请求时,推模块响应该其它的状态请求,请求其它响应数据,如步骤514所示。当接收其它响应数据时,如步骤516所示,推模块1300准备包括新状态数据和预报状态数据的响应数据,并且还包括涉及其它状态请求的其它响应数据。

    图5是示出了在预测模块1200中的模式选择的流程图600。在步骤602,预测模块1200选择原子模式1212作为默认模式。相应地,预测模块1200利用特定移动设备100的历史状态,或来自一组相对同类的用户的历史状态来预测预报状态。

    在步骤604,预测模块1200根据原子模式数据来预测预报状态。在步骤606,预测模块1200确定预测的状态是是否有效的。预测状态的有效性可以通过以下方式来确定:超过阈值的相应预测概率,或能够根据原子数据来确定预报状态的预测模块1200,或通过其它方法。

    如果预测不是有效的,则如步骤608所示,预测模块1200选择组模式1214。在步骤610,预测模块1200根据组模式数据来预测预报状态。在步骤612,预测模块1200确定预测的状态是否是有效的。

    如果在步骤604中所预测的预报状态是有效的,或可选地,如果在步骤604所预测的预报状态是无效的,并且在步骤610所预测的预测状态是有效的,则在步骤614,请求新状态数据和预报状态数据。在步骤616,准备所接收的响应数据,用于传输到移动设备。因此,将预报状态和相应的状态数据连同由移动设备所请求的状态数据一起推到移动设备。

    然而如果在步骤610中所预测的预报状态是无效的,则在步骤618中请求新状态数据,并且准备涉及在步骤620中所接收的新状态数据的响应数据,用于传送到移动设备。因此,只将由移动设备所请求的状态数据提供给移动设备。

    图6是示出了处理移动设备信息请求的另一个方法的流程图630。在流程图630中,预测模块1200独立于从移动设备100接收状态,预测预报状态。在已经开发了用于一个特定移动设备100或一组移动设备的预测数据集之后,如步骤514所示,可以实现流程图630的方法。

    在步骤632,预测模块1200预测预报状态。可以通过独立于从移动设备100接收状态请求的事件来触发预测。该事件可以是一天中的特定时间、一周中的特定天或某些其它事件。

    在步骤634,将预报状态提供给推模块1300,该模块请求涉及预报状态的预报状态数据。在步骤636,准备包括预报状态数据的响应数据,用于传输到移动设备100。

    在步骤638,预测模块1200确定是否已经从移动设备100接收成功预测通知。该确定可以在一个超时周期内进行。例如,如果预测模块1200基于周期预测预报状态,则超时周期可以是预测周期,或小于预测周期的时间周期,例如一小时。

    如果接收到成功预测通知,则在步骤640,对于成功预测通知的接收,由预测模块1200调整预测数据。取决于所使用的预测算法,在步骤640,对于在步骤632所预测的预报状态,调整预测数据可能导致保持或增加将来预测的似然性。

    然而,如果没有接收到成功预测通知,则在步骤642,对于没有接收到成功的预测通知,由预测模块1200调整预测数据。取决于所使用的预测算法,在步骤640,对于在步骤632所预测的预报状态,调整预测数据可能导致保持或增加将来预测的似然性。

    在另一个实施例中,成功预测通知可以包括指示是否移动设备100访问了在步骤636提供的响应数据的数据。在该实施例中,配置移动设备100,以确定是否已经在访问时间周期期间访问了从推模块1300推入的响应数据。如果在访问时间周期期间已经访问了响应数据,则成功预测通知指示发生了成功预测。然而,如果没有在访问时间周期期间访问响应数据,则成功预测通知指示发生了不成功的预测。

    图7是用于处理移动设备信息请求的另一实施例的图。在该实施例中,在图1的无线网关85中实现预测服务器200,并且示例性地包括:数据收集单元(DCU)210、数据调整单元(DAU)220、分析和预测单元(APU)230和数据准备和推单元(DPPU)240。然而,可以在例如入口10的其它场所或用于经过图1所示的网络与无线设备100进行通信的另一个服务器处来实现预测服务器200。

    移动设备100包括预测客户机300,该预测客户机300可包括状态报告代理(SRA)310和用于推入数据的数据存储单元(DS)。图7中还示出了设备应用330,其可以是移动设备浏览器,诸如WAP浏览器或其它移动设备通信程序。DS 320可包括浏览器高速缓存器或移动特定应用高速缓存器。可以配置设备应用300,以便在给预测服务器200发出数据拉请求之前,针对高速缓存的信息来检查DS 320,并且SRA 310可以与特定的设备应用330进行交互,以接收针对特定URI的用户请求的通知。当被通知时,SRA 310利用无线连接将URI数据传送给服务器侧DCU 210。

    设备应用330还可以包括SRA 310和DS 320的功能。例如,WAP浏览器可以利用每一个URI查询来报告移动设备状态,并且WAP浏览器高速缓存器可以存储用于WAP浏览器的信息。这样,可以按照透明方式将预测服务器200和推响应数据集成给移动设备100用户。

    DCU 210可以包括设备状态收听者212和状态存储组件214。当移动设备100报告新状态时,状态收听者212接收数据,该数据典型地包括设备ID和状态URI,并且将该数据重定向给状态存储组件214。在可选实施例中,可以由套接字服务器、流连接收听者或服务小程序(servlet)来实现设备状态收听者212。可以使用软件将设备状态收听者212体现为独立的程序,或者作为DCU 210或预测服务器200内的一个线程。还可以使用其它实现方案。

    状态存储组件214包括状态数据存储器,用于从设备状态收听者212所接收的状态;以及根据移动设备用户历史行为模式来构造的状态的分层数据存储器。可以临时存储从设备状态收听者接收的状态,而分层数据存储器可以用于永久地存储数据。可以使用关系或对象数据库、XML数据存储单元或序列化的文件实现分层数据存储器。还可以使用其它文件结构。

    当将新状态提供给DCU 210的数据存储器时,通知DAU 220。DAU 220接收来自状态数据存储器的URI和设备ID并从接收来自DCU 210分层数据存储器的相应历史数据。可以根据诸如马克夫加权概率、双向分类、n元序列模型等的预测算法来更新分层数据存储单元。在DAU 220的一个实施例中,使用了两个单独的线程,第一线程用于新状态通知,而第二线程用于状态处理。

    当DAU 220完成对分层数据存储单元214的更新时,由DAU220通知APU 230。然后,APU 230对来自DCU 210的数据执行预测算法,以预测移动设备100的下一个状态或多个状态。下一个状态可以代表在当前请求的设备100状态之后最可能的用户导航步骤。

    APU 230可以按照以下三个预测模式进行操作:原子模式、组模式和混合模式。在如先前参照图2的实施例描述的方式中,原子模式操作于特定移动设备100或相对较小的同类用户组的历史信息,并且基于该信息进行预测。组模式操作于基于较大的用户群收集的更大的数据样本。混合模式首先操作于移动设备特定数据,并且如果没有足够的信息来进行强预测(例如,优选模式不是可识别的或子图还没有由移动设备访问),APU 230切换到组模式数据进行预测。

    APU 230预测可以包括一个或多个预报状态。DPPU 240从APU 230接收预报状态,并且请求和接收来自因特网20或局域网21的与每个预测的状态相关的数据。在一个实施例中,DPPU 240可包括内容高速缓存,以最优化对预报状态响应的数据的收集。

    在接收到涉及预报状态的响应数据之后,DPPU 240将预报状态和相关响应数据装入单个缓存器,用于传送到移动设备100。DPPU 240还可以执行附加的优化步骤,诸如内容代码转换、压缩等。然后,DPPU 240将响应数据提供给移动网关服务器,以执行到移动设备100的推送。

    在移动设备100处的DS 320接收由DPPU 240传送的响应数据集。在一个实施例中,DS 320可以通过用于在移动设备100上运行的WAP浏览器的高速缓存器来实现。在另一个实施例中,DS320可以由与设备应用330相关的推高速缓存器来实现。在正确预测的情况下,DS 320能够满足在移动设备100处所选择的下一个状态,由此使等待时间最小化。

    根据由参考箭头指示的下列数据操作概括了实施例图7的操作。根据一个新状态通知,SRA 310发送状态信息到DCU 210(1)。记录新状态并且DCU 210通知DAU 220(2)。如果需要,调整数据存储器(3),并且DAU 220通知APU 230(4)。APU 230对DCU210数据执行预测算法(5),并且提供预报状态给DPPU 240(6)。DPPU 240依次请求和接收相应的响应数据(7),并且准备响应数据和预报状态,用于传输到移动设备100(8)。

    不需要按照图7描述的顺序来出现这些数据操作。例如,设备应用330可以发出传统的数据拉请求(9),该数据拉请求能够用作触发,用于启动任何一个或几个上面描述的操作。

    在图7的可选实施例中,APU 230还用于对来自DCU 210的数据执行预测算法,以便独立于移动设备100报告的新状态来预测移动设备100的状态。例如,APU 230可以基于周期来预测移动设备100的状态。例如,典型地,如果移动设备100的用户在一天的某时间,例如7:00AM和8:00AM之间访问新闻服务和体育服务,APU 230可以在该时间周期的开始执行预测算法。在该实施例中,DAU 220还用于从移动设备100接收成功预测通知并更新在DCU210中的状态存储组件。

    图8示出了移动设备行为的加权图模型。在该图模型中,每一个边缘表示两个方向,每一个顶点表示一个移动设备状态,诸如cHTML或xHTML页、WAP卡片组、数据屏幕等。

    沿着边缘移动表示从第一状态到下一个状态的转移。因此,如果任何两个顶点A和B之间存在一个边缘,则该边缘表示从顶点A到B和从B回到A的两个转移,并且具有一对相关的权重(WAB,WBA),每一个方向一个权重。例如,连接顶点V1和V2的边缘具有权重(W21,W12)。在该方面,边缘表示信息状态之间的双向转移。

    在一个训练周期内,观察由一个移动设备或多个移动设备请求的状态。用于每个顶点权重的权重可以表示在一个训练周期内,沿着边缘的每一个方向转移的数目或频率,或可以表示根据用户的历史行为支持测量的任何其它判决。

    图8的图可以用于根据移动设备的当前信息状态和历史积累的用户行为数据来预测将来转换(边)和响应数据(顶点)的最可能的子集。当识别将来信息单元的最可能的集合时,将其推到移动设备,以最小化由用户观察的数据访问延迟。

    可以使用各种数据模型和预测算法以实现图8的图。在图7的实施例中,例如,可以实现马克夫链模型。通过保证边缘权重是状态顶点之间的转移的概率,能够将图8的加权方向图调整为马克夫链。因此,可以在每一个顶点归一化该图,以便每一个顶点具有输出边缘的总权重等于1的概率。该图利用对应于原子单位的信息的马克夫链状态(例如,cHTML或xHTML文档、WAP卡片组、数据屏幕等)和表示从一个顶点到另一个顶点的移动用户导航的边缘转移来进行操作,以预测预报状态。

    通常,通过状态矢量Zt和转移矩阵T来完全描述具有n个状态S={s1,s2,...sn}的马克夫链模型。在任意离散的时刻t,能够使用下面公式随机地定义系统状态:

    Zt=TZt-1=Tt-1Z0,

    其中,Z0是链的初始状态。

    马克夫模型还包括历史确定的马克夫链。与常规或状态确定的链不同,历史确定的马克夫链的将来状态不仅通过链的当前状态而且通过一个先前状态的有限序列来描述。该类的马克夫链提供了动态系统的更精确的模型,并且还便于自我学习系统。

    对于一般的历史确定的链,状态矢量能够定义为:

    Zt=F(Zt-1,Zt-2,...,Zt-k),

    其中,F是一个状态转移函数,k是历史深度。集合(Zt-1,Zt-2,...Zt-k)是历史状态模式,并且可以提供比基于单个状态模式的预测结果更精确的预测结果。

    对于历史确定的马克夫模型链,可以根据以下建议来模型化无线环境:

    实质上,用于一般多用户环境的马克夫链模型的基数是无限的:limt->∞|St|=∞,并且趋于覆盖整个样本空间Ω;

    模型化单个用户或一个同类组用户的行为的马克夫链的基数更小,并且在任何给定时间t的状态矢量St={s1,s2,...sn}只代表Ω的一个子集;以及

    对于单个用户模型或同类组用户,使用下列假设(状态集基数的随机极限):

    如果θt是在时刻t模型的观察的状态,则:

    ∀ρ->0---∃n<∞:P{θt∈St}>1-ρ]]>且|S|t<n

    其中,P{A)是事件A的概率。

    图8的图是在训练模式期间产生的。图9示出了在训练阶段期间,一个示例转移矩阵T结构和调整过程。在每一个帧中,Prls表示当在帧r的结束处,每个矩阵430状态从状态l到s的转移概率。状态矢量S和转移矩阵T430可以通过首先定义收集帧410得到调整。收集帧是模型在没有改变S或T的前提下进行操作的时间间隔。在每一个帧410的结束处,分析收集的数据,并且针对下一帧调整S和T。

    在训练阶段420期间,模型空间S可能增长,并且在操作阶段|S|内,即使可能添加或移去单个状态以反映用户行为模式变化,|S|也很可能保持稳定。在从训练到操作阶段的转移中,帧体积可能变化,因为其很可能增长,直到系统达到稳定。

    可以将频率分析用于在收集帧的结束处调整S。例如,如果在过去的帧期间,由系统访问一个状态θ至少K次,则添加该状态到矢量S。如果状态θ在过去的M帧期间没有由系统访问,从S中移去状态。未使用的或很少使用的移去,通过限制状态体积,模型状态增加了性能效率。K和M的最优值取决于应用的特性和受控用户组的体积。

    在第一收集帧410的末端发生转移矩阵调整过程,在该时间,频率矩阵F代表状态转移:

    F=0f12···f1nf210···f2n············fn1fn2···0]]>

    其中:

    fij是从状态i到状态j的转移频率;以及

    n是在过去的收集帧期间所监测的模型状态数,包括现有的模型状态和在过去的收集帧期间K次大于阈值的被访问新状态。

    表示转移矩阵F的刷新频率的权重系数α可以用于根据下列关系对矩阵T进行帧调整:

         pij=αfij+(1-α)pij,如果i存在于所述过去的帧之前

         pij=fij其它

    注意,如果转移矩阵T在计算之前对于新状态是零扩展的(zero-extended),则上述关系等同于T=αF+(1-α)T。

    在训练和操作阶段期间调整权重系数α以便模型成熟时α->0。调整权重系数α将影响系统如何在训练模式期间快速地收敛。一般地,权重系数α较小的增加改变将导致附加的收集帧。

    移去未使用或很少使用的状态,以完成调整过程。如果对于未使用的状态移去行,则不需要进一步调整。然而如果对于未使用的状态移去列,则需要概率归一化。概率归一化可以表达为:

        Pij=Pij/∑j<mPij,

        其中,m是新状态数。

    在时刻ts,达到饱和点,并且系统转移到操作模式。可以将饱和点表达为:

        Ω(ΔT)n<X,

        其中,Ω是在矩阵ΔP上定义的度量

        (ΔT)n是在上个收集帧n中概率调整的矩阵

        X是饱和点判据。

    术语X可以是一个预定义的标量数(scalar number),表示用于帧对帧转移矩阵T调整的定量上界,Ω可以是在矩阵ΔT上定义的模。下面两个矩阵模可以用于该目的:

    Hilbert-Schmidt模(平方差和):

    |ΔT|2=Σl,j(Δtij)2<X---(i)]]>

    L1最大绝对列和模(L1 maximum absolute column sum norm):

    |ΔT|1=maxj∑i=1...n|Δtij|<X  (i)

    这些模的每一个提供所选择的矩阵在多个连续地帧上满足的条件(i),由此触发系统改变为操作模式。

    在操作模式期间,系统根据当前移动设备状态和关于状态空间S和状态之间的转移概率T的历史收集数据,预测预报移动设备状态。一个典型的预测过程可以基于下列变量:

    预测深度W:在一个推期间,作为针对移动设备时间/价格生效(efficient)的信息单位(马克夫链状态)的最大数目;

    转移路径Zn:一组有顺序的状态Zn={z1,z2,z3,...zn},n<W;

    概率度量PZn:在集合Zn中定义的复合概率测量,以在所有可能路径中识别一个最优路径;

    成本函数Ck,代表用于k页的推数据传输的成本;

    以及

    权重函数FZn=PZn+βCn,其中,β是成本权重系数。

    预测过程根据历史移动设备状态来预测最优路径Zn。将预报状态z1,...zn和相关的响应数据推到移动设备。例如,假定x作为移动设备的当前状态,可能出现下列预测的预报状态:

    i.(顺向(consequent))x->z1->z2->z3->...->zn

    ii.(并行)x->z1->z2

    x->z3->...->zk

    x->z2->z5->...->zn

    顺向状态表示被预测为响应当前状态x而被顺序访问的预报状态。例如,如果将由移动设备访问的下面三个连续状态预测为URI z1,z2和z3,则将用于这些状态的数据推到移动设备。

    并行状态表示被预测为响应当前状态x而被访问的所有可能的预报状态。例如,x是在加权的方向图中的顶点,则状态z1,z2和z3通过边缘权重连接到状态x。

    对于移动设备的每个新状态,能够配置预测算法,用于最优化,在所有可能的Zn集合中,最大化FZn,n<W。当FZn>R0时发生推送,其中,R0是推送有效性阈值。

    可以使用成本函数Ck来保证预测数据到移动设备的推送是成本有效的。例如,如果

    Ck=0,W=1,则

    FZn=PZn=PZ1

    PZ1=Pxi(i∈S,x是当前设备状态)

    则结果为Z1={i}:Pxi=maxj∈s(Pxj),i∈S

    因此,预报了单个状态,并且将响应数据推到移动设备100。

    尽管对于某些信息格式,例如WAP卡片组,只将单个状态和其相应的响应数据推送到移动设备可能是实际的,但可能希望预测多个状态的预报。因此,

    Ck=0,W>1

    FZn=PZn

    可以使用变量r0定义路径选择概率阈值。变量r0可对应于阈值概率,并且如果Pij>r0,则选择从i到j的状态转移。相应地,r0的大小将与候选状态集合Zc的基数成比例。从候选状态集合Zc,能够选择预报状态集合Zn。

    通过首先选择Pxz1>r0的所有状态来产生预测状态的候选集合Zc。然后,将满足该判据的状态添加到预测状态集合Zc。对于在预测状态集合Zc中的所有状态,通过选择Pz1z2>r0的所有状态z2来预测后续的预报状态。然后,将满足该判据的状态添加到预测状态集合Zc,并且存储预报路径集合(即,x->z1->z2)。

    重复这些步骤,直到三个事件之一发生:|Zc|=W;或路径长度超过W(x->z1->z2...->zw);或在步骤k<W处,选择过程不能找到满足Pzkj>r0的任何转移。

    在产生预报路径之后,评估状态的候选集Zc,以确定是否需要优化。如果|Zc|≤W,则状态的预测集合Zn=Zc。不需要优化,可以将预报状态和响应数据推到移动设备。

    然而,如果|Zc|>W,则需要优化。优化可以表达为:

    Zn∈Zc:PZn=maxn≤WP(Zc)

    然后,可以将已优化的预报状态和响应数据推到移动设备。

    通过将成本函数Ck调整到大于0的数值以使FZn=PZn+βCn,则将按照对于每个相应状态的βCn值来调整状态Zc的候选集合。因此,通过选择r0和Ck,在各种系统系数和有效资源的条件下,可以选择候选状态集合Zc。

    选择状态的候选集Zc的一个例子可以参照图8示出。假定当前移动设备状态是v1,则下一个状态是v2和v5。如果W12>r0,则将v1->v2存储为预报路径。同样,如果w15>r0,则将v1->v5被存储为预报路径。如果将产生顺向的预报状态,则存储具有最高概率的预报路径。然而,如果将产生并行预报状态,则将v1->v2和v1->v5存储为预测的路径。选择过程继续,直到三个终止事件之一发生。

    在另一个实施例中,阈值r0随着选择过程从当前设备状态预报每一个后续预测而增加。该方法导致预报状态的较小集合,适应成本考虑Ck和有效性阈值R0并且简化预测过程。

    可以将概率测量P定义为沿着Zc中路径的转移概率的简单和。对于较小的特定P,转移路径应该保持不动,同时寻找候选集Zc的最大子集,即,如果选择了状态zm,则在从x到zm的路径中的所有状态也被选择。

    图10是示出了候选状态选择过程的另一个实施例的流程图700。在步骤702,从移动设备接收所请求的状态x。在步骤704,从具有转移概率Pxz1>r0的所有状态z1选择一个状态子集。在图10的实施例中,状态z1是具有大于0的从状态x的转移概率的所有状态。然后,将状态子集存储为状态的候选集Zc。

    步骤706确定是否保持附加的状态。例如,如果从z1选择的状态子集具有到其它状态zn的转移概率,可以保持附加的状态。如果附加状态是可用的,则选择另一个状态子集,如步骤708所示,将状态路径存储在状态的候选集合Zc中。然后,步骤710确定是否保持附加状态。如果是,则递增状态选择,正如在步骤712示出的,并且重复步骤708。

    一旦不保持附加状态,如在步骤706或710确定的,则步骤714确定是否需要候选集合Zc的优化。如果需要优化,则步骤716以先前描述的方式最优化候选集合Zc。在优化之后,或如果不需要优化,则将预报状态Zn设定到候选集合Zc,正如在步骤718中示出的。

    图11是能够构成一个无线设备的组件的简图,该无线设备能够被用作本发明的移动设备。

    现在转到图11,存在可以实现部分本发明的无线设备900的方框图。无线设备900最好是至少具有语音和数据通信能力的双向通信设备。设备最好具有与因特网上的其它计算机系统进行通信的能力。根据设备提供的功能,可以将该设备称为数据消息设备、双向寻呼机、具有数据消息能力的蜂窝电话、无线因特网设备或数据通信设备(具有或不具有电话功能)。

    对于设备900能够进行双向通信的情况,该设备将包括通信子系统911。该子系统包括接收器912、发送器914、例如一个或多个最好是嵌入或内部的相关组件、天线单元916和918、本地振荡器(LO)913和例如数字信号处理器的处理模块(DSP)920。通信子系统911的特定设计将取决于设备打算运行的通信网络。例如,针对北美市场的设备900可包括设计运行于Mobitex移动通信系统或DataTAC移动通信系统的通信子系统911,而用于欧洲的设备900可包括通用分组无线业务(GPRS)通信子系统911。

    网络访问需要还取决于例如图1的无线网络105的网络919的类型而变化。例如,在Mobitex和DataTAC网络中,将例如900的移动设备使用与每个设备相关的唯一个人标识号或PIN注册在网络上。然而,在GPRS网络中,网络接入与设备900的用户或订户相关。因此,GPRS设备需要通常被称为SIM卡的用户标识模块(未示出),以便运行于GPRS网络上。没有SIM,GPRS设备将不具有全部功能。本地或非网络通信功能(如果有)可能是可运行的,但是设备900将不能执行涉及在网络919上通信的任何功能。当已经完成需要的网络注册或激活程序时,设备900可以经网络919发送和接收通信信号。通过通信网络919由天线916接收的信号被输入到接收器912,其可以执行这些普通的接收器功能,如信号放大、频率下转换、滤波、信道选择等以及在图11所示的例子中的模拟到数字转换。接收信号的模拟到数字转换允许更复杂的通信功能,例如要在DSP 920中执行的解调和解码。按照类似方式,由DSP 920处理要发送的信号,例如,调制和编码,并且输入到发送器914,用于数字模拟转换、频率上变换、滤波、放大并经天线918发送在通信网络919上传输。

    DSP 920不仅处理通信信号,而且设有接收器和发送器控制。例如,应用到接收器912和发送器914中的通信信号的增益也可以通过在DSP 920中实现的自动增益控制算法得到自适应控制。

    设备900最好包括微处理器938,其控制设备的整个操作。通过通信子系统911执行至少包括数据和语音通信的通信功能。微处理器938还与其它设备子系统交互,这些子系统诸如是显示器922、快闪存储器924、随机访问存储器(RAM)926、辅助输入/输出(I/O)子系统928、串行口930、键盘932、扬声器934、麦克风936、短距离通信子系统940和总的表示为942的任何其它设备子系统。

    图11中所示的某些子系统执行与通信相关的功能,而其它子系统可提供“驻留”或设备内置功能。显然,例如键盘932和显示器922的某些子系统可以用于通信相关功能,诸如输入文本消息,用于经通信网络传送,以及设备驻留功能,诸如计算器或任务列表。

    最好将微处理器938使用的操作系统软件存储在例如快闪存储器924的永久存储器中,可以将该存储器替换为只读存储器(ROM)或类似存储单元。可以临时将操作系统、特定设备应用或其部分装载到例如RAM 926的易失存储器中。还可以将打算接收的通信信号存储到RAM 926。快闪存储器924最好包括数据通信模块924B以及当设备900能够用于语音通信时的语音通信模块924A。快闪存储器924中还包括其它软件模块924N,也表示为图7的预测客户机300。

    除了其操作系统功能之外,微处理器938最好能够在设备900上执行软件应用。通常在制造过程中,将包括例如至少数据和语音通信应用的控制基本设备操作的一组预定应用安装在设备900上。可以安装到设备上的优选应用可以是个人信息管理器(PIM)应用,其能够组织和管理涉及设备用户的数据项,例如但不限于电子邮件、日历事件、语音信件、约会和任务项。自然地,一个或多个存储器存储单元在设备900上是可用的,以方便在设备900上PIM数据项的存储。这种PIM应用将最好具有通过无线网络105发送和接收数据项的能力。在一个优选实施例中,通过无线网络,利用与所存储的或与主计算机系统相关的设备用户相应的数据项无缝地集成、同步和更新PIM数据项。还优选一个浏览器应用,例如图7的设备应用330。其它的应用还可通过网络919、辅助I/O子系统928、串行口930、短距离通信子系统940或通过任何其它合适的子系统942被加载到设备900上,并且由用户安装在RAM 926或最好一个非易失存储器中,用于由微处理器938执行。这种在应用安装方面的灵活性增加了设备的功能,并且能够提供增强的设备内置功能、通信相关功能或二者。例如,安全通信应用能够使利用移动设备900来执行电子商务功能和其它财务交易。

    在数据通信模式中,将由通信子系统911处理例如文本消息或网页下载的所接收信号并将其输入给微处理器938,微处理器938最好进一步处理所接收的信号,用于输出到显示器922,或可选地,输出到辅助I/O设备928。设备900的用户也可以使用键盘932以及显示器922和可能的辅助I/O设备928来编辑数据项,例如电子邮件消息,键盘932最好是完整字母数字键盘或电话型小键盘。然后,该编辑的数据项可经通信子系统911在通信网络上发送。

    对于语音通信,设备900的整个操作基本上类似,除了将接收的信号最好输出到扬声器934和由麦克风936产生用于传输的信号之外。也可以在设备900上实现可选的语音或音频I/O子系统,例如语音消息记录子系统。尽管语音或音频信号输出最好基本通过杨声器934完成,也可以使用显示器922提供例如呼叫方标识的指示、语音呼叫的持续时间或其它语音呼叫相关的功能。

    串行口930将通常在可以与用户的桌面计算机(未示出)同步的个人数字助理(PDA)型通信设备中实现,但这是一个可选的设备组件。该端口930使得用户能够通过外部设备或软件应用来设定爱好,并且通过提供到设备900的信息或软件下载,而不是通过无线通信网络,来扩展设备的能力。例如,可以将可选的下载路径用于通过直接并且由此可靠和信任的连接,将加密密钥装载到设备上,由此启动安全设备通信。

    短距离通信子系统940是可以提供设备900和不同系统或设备(不需要是类似设备)之间通信的另一可选组件。例如,子系统940可包括红外设备及相关电路和组件或BluetoothTM通信模块,以提供与类似使能的系统和设备的通信。

    该书写的说明书使用示例实施例公开了本发明,包括最佳模式,并且还能够使得本领域技术人员制造和使用本发明。如果其它实施例具有不同于权利要求的文字语言的元素或具有等效的元素,这些实施例是在权利要求的范围内。

用于将数据推到移动设备的系统和方法.pdf_第1页
第1页 / 共43页
用于将数据推到移动设备的系统和方法.pdf_第2页
第2页 / 共43页
用于将数据推到移动设备的系统和方法.pdf_第3页
第3页 / 共43页
点击查看更多>>
资源描述

《用于将数据推到移动设备的系统和方法.pdf》由会员分享,可在线阅读,更多相关《用于将数据推到移动设备的系统和方法.pdf(43页珍藏版)》请在专利查询网上搜索。

一种处理来自移动设备(100)的信息请求的系统,包括:存储器(1100)、状态预测模块(1200)和推模块(1300)。存储器(1100)用于存储从移动设备(100)接收的数据请求。状态预测模块(1200)用于访问存储器(1100),以便根据所存储的数据请求来预测用于移动设备(100)的预报数据请求。推模块(1300)用于从所述状态预测模块(1200)接收所述预报数据请求,并且作为响应,请求和接收。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1