用于推内容元数据的多层包封方法和系统的制作方法

文档序号:7652880阅读:132来源:国知局
专利名称:用于推内容元数据的多层包封方法和系统的制作方法
技术领域
本发明的方法和系统涉及移动环境中的动态内容传送,特别是涉及能 够加入应用程序和内容提供商,而不改变架构通用动态内容传送架构。
背景技术
就移动设备或移动用户设备(UE)的用户对其移动设备的功能要求以 及他们从移动设备存取数据的方式而言,移动设备或移动用户设备(UE) 的用户正日益变得更加精于此道。动态内容传送允许用户使信息或数据被推给他们,而不必去寻找和搜 索数据。这些数据的实例包括用户希望的证券报价,天气更新,业务量更 新,动态墙纸,广告,应用程序或其它数据。当前,用于移动设备的诸如无线应用协议(WAP)之类的技术具有推 内容的能力;然而,为了满足无线应用协议和向用户提供不改变用户观看 网址能力的统一网址,WAP需要重写网址。其它替换技术包括基于SMS推和广播或小区广播。在广播的情况下, 不能针对特定用户的需要或特定设备的能力来定制传送。因此,这些系统 没有与其关联的智能。对移动设备而言,需要更好的解决方案。优选的是,本发明的系统和方法提供动态内容传送架构和允许通用应 用程序和内容添加到系统,而不需要改变架构的系统。具体地讲,本发明 的系统和方法允许移动设备变成动态应用平台,在该平台中,能够添加应 用和提供给移动设备的内容,而动态内容传送系统的架构即不限制设备上 能够安装的应用的类型,也不限制设备接收的内容的类型。在本申请的一个方面中,优选的是,提供元数据和使元数据与内容相 关联,以便在动态内容传送架构内向针对各种处理元素的内容加入智能。 该架构包括规定内容条款,包括推代理的服务条款,无线网络,推客户 (push client)和客户应用。
在本申请的另一个方面中,优选的是,在推内容元数据的分层"包封 的"模型中提供元数据。用能够在推框架内在每个元素用于处理的元数据 来包装内容。对用于每个连续元素的元数据分层,从而允许处理元素只提 取用于该元素的元数据。例如,包括涉及推代理和客户应用的元数据的内 容包能够包括具有针对客户应用的第一级元数据,和针对推代理的第二层 元数据的内容。因此,当包封到达推代理时,提取针对推代理的元数据, 并应用到该内容,和将更改的内容和针对客户应用的元数据传递到进一步 的处理元素。在本申请的再一个方面中,可以将元数据分离成静态元数据(在此也 被称为频道元数据)和动态元数据(在此也被称为内容元数据)。优选的 是,在应用和内容提供商二者登记时建立静态元数据。但是,可以在稍后 的时间建立频道元数据。频道元数据指定专用于正在传送的内容的类型和 针对内容类型的应用要求的处理规则。动态元数据被与正在传递的特定内容逆向相关联。在本申请的再一个方面中,在推框架内出现插入式登记模型。标识通用的推客户和推代理(push proxy),各具有允许这些元素处理内容和元数据的各种处理模块或模型。这些模块能够涉及处理正在传递的内容,正 在传递的元数据,或正在传递的内容和元数据二者。进一步,插入式登记提供服务清单(manifest)和应用清单的传递, 以允许在内容提供商和应用之间建立频道元数据。具体地讲,服务清单能 够用于向推框架登记内容提供商,应用清单能够用于向推框架登记应用。在本申请的再一个方面中,优选的是,提供一种推联合内容的方法。 允许根据数据的优先权和根据包括发送数据的成本,所连接网络的类型, 或用户的偏好来处理数据。用于联合内容的任选混合推/拉模型允许推代 理在网络状况变得有利时推内容,或在网络状况变得有利时或在用户需要 该内容时允许客户拉内容为了适应各种移动设备,本申请的再一个方面提供针对内容的内容分 裂,包括非线性内容分裂。非线性内容分裂包括数据一旦被传递到客户, 用允许数据被重新组合的元数据来补充内容。参考附图详细来识别这些和其它方面。
因此,本申请优选的是提供一种在动态内容传送架构中对内容有效载 荷加入处理智能的方法,所述动态内容传送架构具有至少第一处理元素和 第二处理元素,所述方法包括步骤生成第一包封,所述第一包封包括内 容有效载荷和第二处理元素元数据,所述第二处理元素元数据适合于在所 述第二处理元素上运行;形成第二包封,所述第二包封包含所述第一包封 和适合于在所述第一处理元素上运行的第一处理元素元数据。本申请还提供一种用于动态内容传送架构的内容包封,所述内容包封 包括内容有效载荷;用于所述动态内容传送架构中的第一处理元素的内 容元数据,所述内容处理元数据和内容有效载荷形成第一包封;和用于所述动态内容传送架构中的第二处理元素的第二内容元数据,第二内容处理 元数据嵌套有所述第一包封,以形成包封。本申请还提供一种在动态内容传送架构中处理包封的方法,所述包封 具有针对处理元素的元数据,和针对连续处理元素的元数据和内容,所述方法包括步骤从包封提取针对处理因素的元数据,使用有关针对连续处 理元素的元数据和内容的元数据,从而生成经处理的嵌套包封;和把经处 理的嵌套包封传送到连续处理元素之一。


参考附图可以更好地理解本申请,其中图1是动态内容传送系统的基本架构的方框图;图2是表示图1的动态内容传送系统的另一种架构的方框图;图3送表示图1的内容和元数据流的方框图;图4是表示能够与本系统和方法关联使用的推代理商的方框图; 图5是表示能够与本系统和方法关联使用的推客户的方框图; 图6是表示内容和元数据的多层包封模型的方框图; 图7是图6的方框图,表示针对每个包封的动态元数据处理步骤; 图8是图6的方框图,另外表示使用静态和动态元数据的处理; 图9是表示对单个共享推客户的应用的登记过程; 图IO是表示对管理推客户池的推容器(container)的应用的登记过 程的方框图11是表示登记到内容处理器和插槽收听器(socket litener)的 应用的方框图;图12是表示以单个共享推代理登记的内容提供商的方框图;图13是表示以管理推代理商池的推容器登记的内容提供商的方框图;图14是表示内容提供商和客户应用程序之间的登记消息的流程图;图15是表示推客户和推代理商之间登记期间的交互的方框图;图16是表示推代理商和内容提供商之间登记期间的交互的方框图;图17是表示内容提供商和处理元素之间的内容和元数据流的流程图;图18是表示对内容的示例变换应用程序的方框图;图19是内容联合组织模型的方框图;图20是线性分段过程的方框图;图21是非线性分段过程的方框图;和图22是能够与本方法和系统关联使用的示例移动设备的方框图具体实施方式
参考图1,描述向客户应用程序传送动态内容的通用推系统。图1的 系统是一个简化的系统,给出了动态内容传送架构中所需的逻辑组件;然 而,本领域技术人员可以理解,可以存在其它组件,各种组件可以分组在 一起。架构100包括内容提供商110。内容提供商110用于向与内容提供商 110订阅的用户提供动态内容。例子可以包括网站销售图书。用户可以向 内容提供商110登记,以获得在指定类型内新发行的图书。其它例子可以包括可以定期向用户提供标题的新网址,可以在一天的某段时间向用户提 供最新交易信息的交易网址,能够向用户提供更新的证券报价或货币兑换 率的证券市场网址,和其它网址。如下面更详细描述的,内容提供商110向服务提供商120登记,以便 服务提供商的客户接收来自内容提供商110的内容。服务提供商120包括 作为客户或客户应用程序代理,和向内容提供商iio提供发送内容的目的 地的推代理122。服务提供商120通过无线网络与位于移动设备上的推客户140通信。 下面更详细地描述推客户140。推客户140接收从内容提供商110传送的 内容,并向最终消费该内容的客户应用程序150传送该内容。在本说明书中,涉及到内容提供商110,服务提供商120,推代理122, 无线网络130,推客户140和客户应用程序150返回参考图1的架构。参考图2,本领域技术人员可以理解,图1的组件只是逻辑组件,而 不必是分开的物理组件。图1图示了存在一个内容提供商110, 一个推代 理122, 一个推客户140和一个客户应用程序150的通用架构。图2是另 一种替换架构。具体地讲,第一替换架构210包括与推代理122通信的多个内容提供 商IIO。如同图l的架构,推代理122通过无线网络130与推客户140通 信。另外,架构210中存在多个客户应用程序150。因此,这是一个具有 多个内容提供商110和多个客户应用程序150的N-l-l-N系统。图2的架构220包括与推代理122通信并向推代理122登记的一个内 容提供商110。另外,推代理商122通过无线网络130与多个推客户140 通信。每个推客户140与客户应用程序150通信。因此,架构220对客户 应用程序150和推客户140的逻辑组件分组,这是一个N (1-1) -l — l系图2的架构230具有各与内容提供商110通信的多个推代理122。每 个推代理和内容提供商组合232通过无线网络130与通用推客户140通信, 推客户140又与客户应用程序150通信。这是一个1一1一N (1-1)系统。在图2的架构140中,内容提供商110和推代理122组232通过无线 网络130与通用推客户140和客户应用程序150的组合通信。因此,这是 一个N (1-1) -N(l — l)系统。本领域技术人员可以理解,其它架构也是可能的。上面给出了可以是 分开的物理组件和组合在一起的各种逻辑组件。例如,推客户能够被埋入 在应用程序中,共享客户由多个应用程序和替换使用。参考图3。为了向系统加入智能,将内容与元数据关联。这种情况下, 元数据被定义为能够由处理元件操纵该内容使用的数据。元数据可以是各 种形式,包括处理参数或规则,或直接或链接到另一处的处理句柄 (handler),代码或规则的处理句柄,代码或参考。
如图3所示,内容按箭头310所示,从内容提供商IIO传递到客户应用程序150。向架构100内的各种组件提供指令的元数据也可以总是与内 容一起在架构100内的组件之间传递。例如,箭头320示出了在内容提供 商出发并且对传送系统是透明的元数据,直到其到达客户应用程序150。箭头330表示由针对推客户140的内容提供商110创建的元数据,因 此只流到通用推客户140。箭头340示出了由服务提供商120产生的、并针对推客户140的元数 据,因此首先在推代理122与该内容关联,并在通用推客户140从该内容 剥去元数据。这种情况能够发生的实例包括用户和与记帐计划有关的服务 提供商与要提供的服务水平之间的协定,服务提供商可以使用元数据来限 制可提供的服务,或提供增强的服务。下面更详细地描述元数据的流和元数据的作用。参考图4。图4示出了能够与本系统和方法关联使用推代理410的详 细实例。本领域技术人员可以理解,推代理410可以与来自图1和2的推 代理122相同。图4的推代理410包括能使推代理410在通用推环境下工作的各种元 素。由于推代理不限于与特定的内容提供商或推客户交换,而是能够适合 于动态环境。下面针对推代理410描述的元素优选的是在推代理410中, 但是元素不限于此,也可以是其它元素。另外,在剩余元素仍能够进行通 用推服务的情况下,可以从推代理410中省略某些元素。推代理410包括向其登记的内容提供商412。内容提供商412通过内 容提供商登记服务提供商接口 (SPI) 420登记。如下面更详细描述的,在 登记中希望内容提供商412包括针对正在建立的频道的特定信息,在此称 之为频道元数据。内容提供商412可以与图1的内容提供商110相同。推代理410还包括管理推代理服务的服务管理模块430。推代理410包括处理内容和与该内容关联的元数据的各种模块。第一 模块是消息代理方和传送队列440,它是消费来自内容提供商412和管理 内容传送队列的子系统。本领域技术人员可以理解,并不是所有客户的应 用程序的所有内容能够立即被传送,而是需要建立队列,以便在到期前传 送该内容,例如,设备可能在覆盖范围之外,可能需要存储该内容。 推代理410还包括流控制管理模块422。流控制管理模块442允许对 内容流进行控制。例如,具有有限空间的移动台可能只能接收特定量的信 息。这种情况下,移动设备通过如图l所示的推客户140可以请求推代理 410停止到推客户140的数据流。流控制管理模块442对此进行处理。
作为替换,移动设备可以离线。当内容不能像被推代理410接收的那 样被传送时,流控制管理模块422停止和开始到推客户140的数据流。
推代理410的进一步组件是推代理商444。推代理商负责向客户发送 数据。
如本领域技术人员可以理解的,模块440, 442和444只处理收发消 息,而不处理相关的元数据。换句话说,模块处理该消息的内容,而不是 与该内容关联的任何元数据。
推代理410的进一步组件是内容元数据提取器和缓存模块450。内容 元数据提取器和缓存模块450对包封的内容元数据进行操作。具体地讲, 在下面更详细地描述的元数据系统的包封模型中,系统内的每个逻辑组件 能够具有与内容处理关联的元数据。该元数据允许逻辑组件对内容执行操 作。因此需要每个逻辑组件能够提取与其关联的元数据。
内容元数据提取器和缓存模块450负责提取与推代理410关联的元数 据和缓存该元数据。缓存功能允许通过消除依次传递相同元数据的需要使 来自相同内容提供商的内容包封最优化。下面描述对元数据的提取和和缓 存。
当不能有效地向客户程序传送内容,或部分地传送时,使用延缓检索 消息存储模块452。可以用延缓检索消息存储模块452存储直到有效地发 送内容为止,或直到客户拉该内容为止未被传送的内容。还可以使用延缓 检索消息存储模块452提供已经传送的内容,根据客户应用程序导航来缓 存能够被任选发送或被客户来的辅助内容。
下面参考图19和21更好地解释延缓检索消息存储模块452的目的。 作为实例,在用户已经请求了诸如与靠近用户所在位置的餐厅之类位置信 息的情况下,可以使用延缓检索消息存储模块452。在广告商能够支付以 添加他们搜索请求的信息的情况下,内容提供商和服务提高商可以具有提 供信息的模型。于是,请求餐厅位置信息的用户还可以具有关注其请求的、
靠近其所在位置的有关商店、高尔夫球场,体育馆和其它服务的信息。内 容提供商将请求的餐厅信息与附加信息打包,并将其传递到推代理410。推代理410根据提供的元数据,能够生成发送到客户的内容数据包。内容数据包可以包括客户请求的信息,以及用户可能感兴趣的相关信息的摘要或概述。该概述被发送给用户,但是延缓检索消息存储模块452存储 从内容提供商410接收的实际数据。于是,如果将来用户希望获得该摘要 内有关信息的更详细信息,该信息己经存储在推代理410。作为替换,可以在用户不能立即接受整个内容的情况下使用延缓检索 消息存储模块452。例如,如果向设备发送所有内容不可行或不经济,可 以存储部分内容,直到稍后时间客户能够拉该内容,或在满足预定义规则 时推该信息。这些规则可以由网络或服务条件按特定网络或满足的服务条 件来规定。下面将参考图19更详细地对此进行描述。推调度器454为客户调度传送时隙。如上所述,在某些状况下,推所 有内容并不能立即生效。推调度器452能够确定立即推某些信息,和根据 调度推剩余的信息。另外,推调度器454可以使用内容的特性来确定何时 应该推内容。具体地讲,元数据可以指示某些内容具有高优先权,或具有 限期期满的时限,可以立即推该内容,而在稍后更有利于传递数据的条件 时可以推被指示具有低优先权,或没有期限的内容。本领域技术人员可以理解,模块450, 452和454处理消息的内容和 与该消息关联的元数据。订阅和规则模块460跟踪为接收服务而登记的应用程序,并监视有关 如何处理被传送的特定内容的规则。通常,可以根据客户和代表客户的订 阅来传送内容。用户,例如如果他们想要特定的服务,这些用户可以主动 地请求订阅。可以代表用户进行订阅,例如,用户已经与其服务提供商120 签署了接收有益服务的协议。这包括只要用户同意每天接收特定量广告, 那么该用户可以接收优先价格的情况。这种情况下,服务提供商120可以 代表客户向广告提供商进行订阅。当删除移动设备上的应用程序和应用程序取消订阅登记时,订阅和规 则模块460可以取消用户的订阅。推代理410使用内容从属模块462来广播移动设备用户能够使用的服
务。于是,如果移动设备用户没有屏幕,或没有满足该服务的带宽或存储 器,内容从属模块462可以阻断向用户广告该服务。内容分段模块464用于对内容进行分段。例如,如果移动设备不能立 即接收所有内容,则可以使用内容分段模块464。内容分段模块464用于 把内容将内容分成各种成分。能够与延缓检索消息存储模块452关联地使 用,以存储仍未被传送的分段内容。内容期满和替换模块466用于两个目的,首先,该模块能够用于监视 订阅。每个订阅具有期满时间,当满足期满时间时,能够结束订阅。另外,内容期满和替换模块466能够用于监视信息。特定内容对信息 的有效性具有时间期限。例如,用于监视高峰时间交通量的交通量应用程 序非常时间的关系非常密切。为此,如果推代理410不能立即把内容传送 到移动设备,则将内容存储在内容存储单元480中,以便将来传送。然而, 如果在某个指定的时段内容未传送该内容,该内容则期满,并且不再传送。类似地,内容替换处理更新信息的状况。例如,正在接收证券报价的 客户应用程序可能只想知道最新的证券报价。因此,如果推代理410不能 向推客户140传送证券报价,并从内容提供商IIO接收后续的证券报价, 后续证券报价中的元数据能够指示应该用后续证券报价替换在前的证券 报价。替换存储的信息,而不是向传送队列添加所有信息来释放内容存储 装置480中的空间。使用频道元数据储存库470来存储频道元数据,下面对此更详细地说明。上面描述了能够在此使用的方法和系统的示例性的推代理410。推代 理410中的模块和元素允许推代理410在内容类型和在应用程序的内容的 句柄能够改变并且没有预定的情况下在通用的动态内容传送系统中使用。参考图5。图5说明了在此能够与该系统和方法关联使用的推客户 510。推客户510可以与来自图l和2的推客户140相同。本领域技术人员可以理解,在未预定内容或内容的处理的通用系统中 使用的推客户510应该包括可用于容纳该内容和与该内容关联的元数据的 方块或模块。针对图5定义的模块并不意味着是排他性的,推客户510中 也可以存在其它模块。另外,在某些情况下,可以省略推客户510中的模 块,而不限制推客户510中的其它模块的功能性。
推客户510服务应用程序,和一个或多个应用程序512可以向推客户 510登记。应用程序登记使用应用程序提供商接口 514作为登记接口,应 用程序提供商接口 514能够进一步用于提取针对应用程序的频道元数据, 如下面更详细描述的。
推客户510包括用于管理推客户的510的客户管理520。
对于图4的推服务器410,推客户510包括处理收发消息的各种模块, 处理元数据的各种模块,和处理收发消息和元数据二者的各种模块。
消息代理方和应用程序540处理来自推代理410的消息,以传送到应 用程序512。应用程序队列是用于应用程序512的消息的队列。
流控制管理模块542用于通知图4的推代理410停止推内容和恢复推 内容。例如,当推客户510能够接受推内容的存储器的容量有限时,可以 使用流控制管理模块542。这种情况下,在消费推内容之前,推客户510 需要停止来自推代理410的内容流。 一旦已经消费了该内容,开始使用流 控制管理模块542再次开始数据的流。
推客户510中的推代理商544被用于从图4的推代理410接收信息.
本领域技术人员可以理解,消息代理方和应用程序队列540,流控制 管理模块542,和推代理商544专用于处理收发消息,而不处理元数据。
内容元数据提取器和缓存模块550用于提取去往推客户510的动态元 数据。如上面参考图4的推代理410所指示的,动态内容传送架构中的任 何处理元素能够具有去往他们的元数据,需要提取该元数据。因此,由内 容元数据提取器和缓存模块550提取去往推客户510的元数据。
另外,优选的是,内容元数据提取器和缓存模块550适合于缓存元数 据。不需要传递在第一内容数据包和第二内容数据包之间针对推客户510 不改变的元数据,由于不需要提取该元数据而节省了在推客户510的处理 时间,另外,由于不需要通过网络130来传递针对推客户510的元数据, 从而节省了网络资源。
延缓检索管理器552用于分析被接收并在正确的路径中放置在一起的 内容分段。如下面更详细描述的,数据可以线性的,也可以是非线性的。 如果是非线性数据,则需要元数据,以便重构该数据,这由延缓检索管理 器552来进行。延缓检索管理器552还适合于分析推代理510的延缓检索 存储装置452中可以提供的信息的摘要,和驱动内容拉代理方554 (下面 描述)在用户需要时检索该信息。这包括在内容导航进入内容结构图形的 某个分支时,和满足带宽和费用条件时预测检索。在推客户510在某些状况中也能够拉内容的情况下,在推/拉模块中 使用内容拉代理方554。后面参考图19更详细地描述该状况。本领域技术人员可以理解,内容元数据提取器和缓存模块550,延缓 检索管理器552和内容拉代理方554处理收发消息和元数据二者。订阅管理模块560与图4的订阅和规则模块460相同。具体地讲,订 阅管理模块560用于管理订阅。如果应用程序从移动设备取消登记和被删 除,订阅管理模块560则结束该订阅。当订阅频道期满时,订阅管理模块 560也可以代表客户应用程序重新订阅。更新通知模块562与客户应用程序一起工作,并用于向应用程序通知 新内容正在等待他们。这可以通过下面三种方式之一来进行a. 更新通知模块562能够通知应用程序512的第一种方式是针对推 客户510直接把内容发送到应用程序512。b. 更新通知模块562能够向应用程序512通知新内容的第二种方式 是把该内容存储在内容存储装置580中,并随意通知内容正在等待的应用 程序512。这种情况下,通知是随意的。具体地讲,如果应用程序512知 道去往它的信息被存储在指定的存储模块中,发现具有新数据的应用程序 的一个选项定期地检查该存储位置,以查看那里是否已经写入了什么事 情。作为替换,更新通知模块562能够向应用程序512发送消息,指示存 储该数据的位置可能具有新数据。c. 更新通知模块562能够向应用程序512通知新内容的第三种方式是 内部存储该内容,并通知该应用程序。然后,该应用程序呼叫该推客户以 检索该内容。内容从属模块564与图4的内容从属模块462相同,能够确定是否向 移动设备广告该服务。内容期满和替换模块566与图4的内容替换和期满模块466相同,除 了推服务器和推代理之外,可以在推客户510处处理内容的期满和内容的 替换。频道元数据储存库570用于存储应用程序512的频道元数据。 背景更新处理模块575用于在该应用程序不可使用时进行更新。背景 更新允许,例如,用应用程序存储装置中更新的数据进行数据替换。此后, 当用户开始该应用程序时,由该应用程序显示的数据是正确的,并且被更 新。背景更新处理模块575使用处理规则把内容翻译成应用程序可接受的 格式。背景更新处理模块575能够执行和处理内容存储装置580中的内容。作为实例,订约人针对前一夜更新的任务表可以具有推向它的任务。 在此期间,不启动任务应用程序,可以使用背景更新和处理模块575针对 任务应用程序更新该内容。可以利用处理可扩展标记语言(XML)文件的 代码来进行更新,和以被称为"handler.exe"的文件存在与设备上。推 客户510上的背景更新和处理模块575可以运行handler, exe,传递XML 文件有参数。然后,句柄将该任务构成为应用程序的内部格式。一旦推客户510的背景更新和处理模块575将该任务构成为应用程序 内部格式,背景更新和处理模块575则能够把该任务从内容存储装置580 读入任务表,并将新任务添加到该表。然后,当任务应用程序下一次连接 到推客户510时,能够把更改的表存储回内容存储装置580。因此,图5图示了在内容和内容处理所动态的并且未预定的情况下, 能够在通用的动态内容传送系统中使用的推客户510。上面参考图5的推 客户510描述的模块用于适应系统的动态特性。如上面参考图3指示的,与元数据关联的内容对内容的处理提供智能。 根据该方法和系统,可以将元数据划分成两种类型的元数据。具体地讲, 静态(频道)元数据和动态(内容)元数据。由于内容提供商和应用程序的种类是不受限制的,为了构筑通用的系 统,元数据是非常重要的。处理特定类型内容的仅有方式是通过元数据来 进行的。静态元数据是提供有关如何处理特定类型内容的元数据。静态元数据 能够被分成各种摘要等级,并且包括例如有关内容本身的结构信息。例如, 可以用RSS 2.0.XSD结构传送实时简单的联合组织(Real-time SimpleSyndication: RRS)文件,用该结构传送来自该内容提供商的所有内容。 用于静态元数据的摘要的下一个等级包括对内容子类型的处理规则 的规定。这可以是应用程序的细节。于是,例如,金融新闻应用程序指示 应该从预定义位置中存储的金融新闻RSS流提取数据,应该通知应用程序 有关该信息到达。应用程序总是要求去往该应用程序的内容被以这种方式 处理。静态元数据(在此也称为频道元数据)在应用程序与内容提供商之间 订阅期间保持相同,因此可以针对该架构内的每个元素和针对每个内容传 送频道建立一次静态元数据。在一个实施例中,这是在应用程序登记或内 容提供商登记时进行的。动态元数据是与内容的特定部分关联的元数据。例如,与数据的特定 部分或替换规则关联的期满信息,和与数据的特定部分关联的信息(即, 文件K替换文件L)。如上面参考图4和5所指示的,每个处理实体能够接收在该处理实体 涉及的静态和动态元数据。因此,推代理410使用内容元数据提取器和缓 存450来提取动态元数据,内容期满和替换模块466用在推代理410接收 的更新的内容来取代未传送的内容。现在参考图6。图6示出了内容包封的多层包封模型。推代理410接收推包封610,推包封610包括用于推服务器612和推 客户包封614的内容处理元数据。推代理410提取内容处理元数据612, 使用该元数据处理推客户包封614。元数据指示推代理用该推客户包封614 做什么。在推客户包封614被分成内容包封620和内容处理元数据622的情况 下,将推客户包封614传递到推客户510。推客户510使用内容处理元数 据622处理内容包封620。例如,如果客户应用程序150只对最新版本的 内容感兴趣,可以用来命令推客户510用最新的包封取代在前传送的内容 包封620。内容包封620被传递到客户应用程序150。内容包封620包括用于应 用程序的内容处理元数据630和由客户应用程序150消费的内容有效载 荷。
本领域技术人员可以理解,根据图6的包封嵌套提供能够在该架构的任何处理元素进行处理,内容提供商iio能够指定如何处理特定内容的富动态环境。在一个实施例中,其它处理元素不理解涉及特定逻辑元素的元 数据。作为替换,服务提供商120可以在推代理410添加元数据,以便在推 客户510或客户应用程序150进行处理。参考图7,该图示出了图6的包封模型和每个处理元素接受包封的步 骤。如图7所示,推代理410首先从推包封610提取元数据。这是在步骤 710进行的。在步骤712,推代理410使用该元数据处理推客户包封614。在步骤 714,推代理410把推客户包封614传递到推客户510。同样,在步骤720中,推客户510从推客户包封614提取内容处理元 数据622。在步骤722,推客户510使用内容包封620上的内容处理元数 据622。在步骤724,推客户510向客户应用程序150传送内容包封620。在步骤730,客户应用程序150提取内容处理元数据630,在步骤732, 使用内容有效载荷632上的内容处理元数据630。参考图8,该图示出了图7所示的、具有静态或频道元数据使用的附 加步骤的方法。具体地讲,在步骤710已经从推包封610提取了元数据之 后,在步骤810,推代理410接下来使用静态频道元数据处理推客户包封。 在步骤712,推代理410接下来处理内容处理动态元数据612。接下来, 推代理410在步骤714传送推客户包封614。同样,推客户510在步骤720提取内容处理元数据622。然后,推客 户510在步骤810使用与内容包封620内的内容有关的频道元数据。然后, 在步骤722,推客户510使用内容处理元数据622中的动态内容元数据, 此后,在步骤724,推客户510把内容包封620传送到客户应用程序150。在步骤730,客户应用程序150首先提取内容处理元数据630。然后, 在步骤830,使用内容有效载荷632上的频道元数据。然后,在步骤732, 客户应用程序150使用内容有效载荷632上的内容处理元数据630。本领域技术人员可以理解,上述模型对应用于频道的静态元数据和与 被发送的特定内容关联的动态元数据都是允许的。
现在参考图9。如从图5所理解的,推客户510可以服务于移动设备上的多个目标应用程序512。在应用程序能够向动态内容传送框架登记而不中断其它应用程序的业务的情况下,需要一种有效的运行登记机制。参考图9,推客户510包括三个应用程序,具体地讲,已经向推客户 登记的应用程序910, 912和914。可以理解,用于新设备允许各种类型的 应用程序安装在该设备上,模型中的插头很重要。另外,可以动态地安装 应用程序,导致应用程序变为应用平台。由于该设备可以作为应用平台, 它必须能够动态地整合新应用程序。从图9中可以看到,应用程序916想登记到推客户510。应用程序916 包括应用程序清单918,在优选实施例中,应用程序清单918提供应用程 序的频道元数据。具体地讲,应用程序清单918向推客户510提供信息, 最终向来自图1的推代理410和内容提供商IIO提供应用程序的静态元数 据。这包括应用程序期待什么类型的内容,如何传送该内容,应用程序是 否需要通知,但不限于此,可以是对本领域技术人员显而易见的、与本系 统和方法有关的其它信息。因此,应用程序916向推客户510登记,提供应用程序清单918,以 便建立到服务应用程序916的内容提供商的频道。参考图10,另一种模型是针对图2的架构220描述的模型。具体地讲, 在图10的模型中,客户应用程序150与推客户140成对。每对客户应用 程序150/推客户140与推容器1010协作。当应用程序1020希望向推容器1010登记时,由推容器1010生成客 户140,如果己经存在,则使用该应用程序。另外,在登记中,应用程序 1020把应用程序清单1030提供给推容器1010,从而提供应用程序1020 的频道元数据(静态元数据)。图ll示出了图IO的另一种图示。具体地讲,推容器1110管理/维护 推客户池。当应用程序向该容器登记时,应用程序获得专用的推客户510, 在简单情况下,可以用一对插槽收听器1130内容句柄表示推容器。当应 用程序从容器(和内容传送服务)解除登记和被从设备删除时,推客户返 回该池。推容器1110包括用于通信的插槽。另外,推容器1110包括插槽收听
器1130和分配给特定插槽的内容处理器1140。如在图11看到的,由在先登记的应用程序150使用各种内容处理器和插槽收听器对。当新应用程序1150想向推容器1110登记时,向服务应用程序1050 分配新内容处理器和插槽收听器1120和1130。上面提供了通用的推框架,其中能够实施新的客户应用程序150,并 且新的客户应用程序能够向推客户510和推容器1010和1110登记,从而 允许该设备变成能够动态合并新应用程序的应用程序平台。来自上面图9 和10的应用程序清单的传递允许建立频道元数据,从而允许根据应用程 序的要求处理该内容。参考图12,内容提供商110同样需要向推代理410登记。如在图12 看到的,推代理410包括单个内容提供商,即1210, 1212和1214。这三 个内容提供商总是向推代理410登记。内容提供商1216希望向推代理410 登记。与向推客户51登记时由应用程序916提供的图9所示的应用程序清 单类似,内容提供商1216包括当内容提供商1216登记时被传递到推代理 410的服务清单。服务清单1218包括与内容提供商将要提供的信息的类型 有关的信息,间隔多长时间提供该信息,信息格式,对该服务有用的任何 其它信息,和该服务的广告。也可以是其它信息。因此,推代理410使用服务清单1218建立用于内容提供商1216的频 道(静态)元数据。参考图13,由图2的架构230表示的另一个实施例是使推容器具有许 多成对的推代理122和内容提供商110。对于图12,各种应用程序已经向 推容器1310登记,在图12的实例中,应用程序1312, 1314和1316已经 分别向推代理1313, 1315和1317登记。新应用程序1320想向推容器1310登记,于是,推容器1310生成新 代理(未示出),或使用与内容提供商关联的已有代理(未示出)。另外, 内容提供商1320提供描述内容提供商将要提供的内容的服务清单1322, 从而允许建立频道元数据。本领域技术人员可以理解,图9和10的实施例示出推客户的两个选
项,或具有共享的应用程序,或具有每个应用程序的推客户。本领域的技 术人员能够实现其它实施例。同样,对于图12和13,示出了登记了多个 内容提供商的推代理,或示出了每个内容提供商的专用的,并嵌入推容器 中的推代理。参考图14,示出了内容提供商110和客户应用程序150之间收发消息。 内容提供商110向推代理410提供登记消息。该消息能够包括可用于向推 代理410提供频道元数据的服务清单。这是在步骤1410进行的。内容提供商110可以在后续消息中同样地或交替地提供频道元数据, 如步骤1412所示。然后,推代理410在步骤1414向可使用服务的列表(服务目录)添 加服务。图14的实例中的一个任选步骤是推代理410在步骤1416中向推客户 510通知新的可使用服务,在步骤1418,该通知可以传播到客户应用程序 110。本领域技术人员可以理解,步骤1416和1418是任选的,其它替换包 括从推代理410定期地拉服务目录,以观看新服务的客户应用程序150。当客户应用程序150的用户或服务提供商决定客户应用程序应该订阅 服务时,它在步骤1420发送订阅消息。在步骤1422,该订阅进一步被传 递到推代理410。一旦推代理410在步骤1422接收到该订阅消息,可以使用两个选项。 第一个选项是向内容提供商110发送订阅的消息,然后在步骤1426接收 包括元数据背部的消息包封。元数据可以是设备或设备类型细节。作为替换,推代理1422可以在步骤1422接收订阅消息,和根据内容 提供商110己经提供的、并且存储在推代理410上的信息,在步骤1430 立即向推客户510做出答复。该答复在步骤1532传播到客户应用程序150。 可以理解,该答复可以包括内容提供商110的频道元数据细节。模型中的区别取决于谁正在定制用于该应用程序的数据。可以理解, 与其它处理元素相比,内容提供商110提供最好的内容定制。然而,服务 提高商120也可以通过推代理410提供内容的定制。另外,可以理解,内容的结构可以取决于应用程序要求的数据。例如, 在金融应用中,应用程序可以想要证券报价和货币兑换率。可以使用下面 的XML:〈FIN〉<quotes〉<quote ticker=ABC>18. 54 </quote〉〈quote ticker=XYZ> 123.45</quote〉〈/quote> 〈rates〉<rate. id= "US-CAN" > 1. 15〈/rate〉〈rate. id二 "US-EURO"〉 0. 85〈/mte〉 〈/rate〉 〈/FIN〉如果用户只想要报价,而不要货币兑换率,该结构可以改变为 〈FIN〉<quote ticker=ABC〉18. 54 〈/quote〉〈quote ticker=XYZ〉123.45 </quote〉</FIN>元数据可以向应用程序提供7有关正在被传递的数据的结构的信息。
因此存在两种模型。可以在登记期间和之后把静态元数据提供给推代理410和推客户510。作为替换,可以预先规定推代理410和推客户510 的元数据,即,把信息存储在推客户或推代理处,直到应用程序向客户登 记。现在参考图15。图15示出了应用程序向推客户510登记时进行的逻 辑步骤。一旦应用程序向推客户510登记,第一步骤1510是使登记的应用程 序与该应用程序要求的内容类型匹配。这可以从如图9所示的应用程序清 单中了解。第二步骤1520是建立应用程序的环境。这些环境包括存储和传送用 于该应用程序的选项,但不限于此。例如, 一个应用程序可以限制对预定 量数据的传输。在流控制事件,或者应用程序或客户在联系范围之外时, 推客户510可以要求对应用程序进行数据缓存,并且任选地通知该应用程 序数据正在等待。第三步骤1530是向推代理410通知应用程序的设置。这包括例如可 供应用程序或推客户510使用的存储装置。可以理解,推代理410不应该 推比推客户510能够存储的更多的数据。因此,应用程序设置可以包括被 传递的数据的上限。参考图4和5,如果内容比应用程序能够处理的大, 将调用内容分段模块464对内容进行分段。另外,如果该数据是非线性的, 可以要求内容从属模块生成用于图5的内容从属模块564的元数据,以便 允许内容从属模块564重构该数据。参考图15,步骤1530也能够指示对数据传送的优先选择。例如,应 用程序可以相对于其它类型的数据优先选择某种类型的数据,可以向这些 类型的数据给予优先权。因此,在立即传送"A"类数据,而在稍后传送 "B"类数据的情况下,可以使用步骤1530建立传送调度。现在参考图16,当内容提供商110向推代理410登记时,执行各种步 骤。第一步骤1610包括为内容存储和传送分子所需的客户设置。例如, 可以针对服务广告使用该步骤,以便对能够消费内容的设备从内容提供商 110中识别推客户510。第二步骤1620允许推代理410建立包括推存储,传送选项,变换选 项,和其它方面的环境。在步骤1630,推代理410能够检验该应用程序是否己经被登记,以便从内容提供商110获得内容。如果是这种情况,应用程序准备接收内容, 并且能够从推代理410向内容提供商IIO发送建立传送频道以及该应用程序是为内容而准备的通知。例如,如果应用程序是在内容提供商IIO在线之前南北预安装在设备 上的,则能够进行步骤1630。因此,应用程序正在等待内容提供商110 变为可供使用,或者该应用程序为通用类型(例如,浏览器或RSS阅读器), 并且能够消费来自多个内容提供商的信息。在另一种设置中,如果在安装 该应用程序之前内容提供商110已经可供使用,则能够使用图15中的通 知步骤1530初始该内容启动从内容提供商110向客户应用程序150流动。参考图16,可以理解,客户设置可以包括诸如可供用于内容分割的存 储装置的大小,用于流控制的队列规模,包括推间隔的传送调度,客户是 否正在检索来自代理的信息,生成伪推模式之类的特定信息,诸如移动设 备的屏幕尺寸之类的优化选项,等等。还可以理解,对于不同客户,服务目录是不同的。例如,某些客户能 够使用更多数据,具有不同的屏幕尺寸,或使客户比不能处理这样的信息 量的设备更适合内容提供商110的其它条件,具有更小的屏幕尺寸,等等。 因此,推代理410能够根据对这些客户应用程序的了解,为指定的客户应 用程序生成服务目录,只有安装了客户应用程序150的那些设备能够接收 与内容提供商有关的信息。同样可以理解的是,在某些情况下,可以根据服务提供商和内容提供 商来安装该应用程序,而没有用户的干涉。例如,如果内容提供商110向 推代理410登记,移动设备的用户可以具有接受特定应用程序的合同义务。 因此,推代理410能够通知推客户510他已经安装了应用程序,并且把该 应用程序推到推客户510。例如,这样能够包括已经同意每月接收特定数 量的广告,以便在他们的移动计划上得到优先价格的用户。内容提供商110 可以是广告提供商,因此推代理410可以向推客户510推广告显示应用程 序,可以由登记到推客户410的应用程序安装器来为广告显示应用程序服 务,从而使内容提供商110和服务提供商120完整地驱动该进程。
因此,上面的描述提供了在推框架中的插入登记模型,其中每个应用 程序或内容提供商分别登记和提供应用程序清单和服务清单。应用程序清 单和服务清单用于在登记期间或此后在推代理410和推客户510建立频道元数据。此后,当应用程序150登记并且内容提供商110登记时,内容可 以开始在应用程序150和内容提供商110之间流动。参考图4和5,频道元数据被存储在频道元数据储存库470和570中。 然而,如果动态元数据是重复的,在架构100内的各种处理元素上存储动 态元数据也是有利的。可以理解,由于当前的元数据提取器450不需要一 次又一次地提取相同的元数据,这样能够节省对推代理410的处理。另外, 不需要针对传递的内容的每个部分更新由诸如内容期满和替换模块466或 566之类的各种模块进行的处理。由于推代理410能够与大量的推客户510 一起工作,为每个内容消息节省的处理是明显的。另外,由于不通过内容 提供商110和推代理410之间的固定线路,或不通过推代理410和推客户 510之间的空中线路来传递元数据,因此节省了带宽。现在参考图17。图17示出了由处理元素存储你的最后元数据版本的 情况下运行流的实例。在图17中可以看到,内容提供商110提供包括内容[d+M(p, c, a),]的 内容包封。这意味着第一内容优先载荷正在与包括代理元数据,客户元数 据和应用程序元数据的元数据一起被发送。该发送在步骤1710进行。在步骤1712,推代理410使用如短语"use M (p),"所示的代理元 数据。另外,在步骤1714,添加由包括客户元数据和应用程序元数据的元 数据被传递到推客户510。在步骤1716,推客户510使用客户元数据,在步骤1718,将内容有 效载荷传递到客户应用程序150。在步骤1720,客户应用程序150使用应 用程序元数据,并消费内容有效载荷。如在步骤1722看到的,由C2指定的第二内容有效载荷与第一内容有 效载荷具有相同的元数据。用于每个处理元素,即,推代理410,推客户 510和客户应用程序150为内容提供商IIO缓存该元数据,不需要再次传 递该元数据,而是已经驻留在处理元素。此后,在步骤1724,推代理410使用预先为推代理410缓存的元数据。
同样,在步骤1726和1728,推客户510使用客户元数据,客户应用程序 510使用应用程序元数据。在步骤1725和1727,传递内容,而不传递元 数据。如在步骤1740中所示,内容可以具有用于推客户510和客户应用程 序150的新元数据,但可以保留用于推代理410的旧的元数据。这种情况 下,在步骤1740传递的元数据只包括客户元数据和应用程序元数据。在 步骤1742,推代理410使用缓存的代理元数据,并在步骤1744把内容有效载荷与新的客户元数据和应用程序元数据一起传递。在步骤1746,推客户510使用传递到此的新客户元数据,并在步骤 1748进一步传递内容有效载荷和应用程序元数据。在步骤1750,客户应用程序使用新的应用程序元数据,并消费内容有 效载荷。本领域技术人员可以理解,可以存在与元数据己经改变和元数据保留 不变有关的各种配置,只要将己经改变的元数据传递到需要它的处理元 素。本领域技术人员可以理解,如果未接收到新的元数据,处理元素回到 已经存储的缓存元数据,并对内容有效载荷使用该缓存元数据。在另一个替换实施例中,可以对元数据进行增加改变。例如,在步骤 1760,可以将新内容有效载荷与delta元数据版本一起传递到服务代理 410。代理元数据的delta可以包括在先传递的代理元数据和该内容应该 被处理论的当前元数据之间的差值。推代理410通过在步骤1762将在先 元数据与delta相加,并用其处理内容有效载荷来构成元数据。此后,由 于再没有改变,在步骤1764通过自身发送内容有效载荷,在步骤1766, 推客户510使用在先缓存的客户元数据。然后,在步骤1768,推客户把内容有效载荷传递到客户应用程序150, 客户应用程序150在步骤1770对内容有效载荷使用在先缓存的位置元数 据,然后消费该内容有效载荷。可以使用增加数据的实例是这样一种状况,其中内容提供商告诉代理 应该提取内容有效载荷内现有的30字段发送到客户应用程序150。在后续 处理中,可以认为对该部分内容有效载荷重要的两个附加字段需要由内容 提供商110传递到客户应用程序150。因此,内容提供商能够使用在增加
改变告诉代理提取两个附加的字段,并把它们添加到在先提取的30个字段。通过只传递delta,即两个添加的字段,减少了在推代理410提取元 数据的处理世界,从而优化了该过程。可以理解,元数据可以是各种形式。可以是用诸如本机码,和诸如Java 或Ctf之类的解释码来编译。元数据也可以是数据/指示使用某些特性的特 性文件。在另一个实施例中,可以二进制内容,例如,诸如对XML文件的 XSLT变换之类的变换。上面的描述可以用于各种应用程序,以便为传送到指定客户应用程序 的内容提供智能。也可以为只根据他们提供元数据就能够为各种应用程序 提供内容的丰富的内容提供商提供其数据。可以以图8中的实例为例进行 说明。内容提供商IIO可以是例如在线图书销售商。应用程序可以向在线图 书销售商登记,以向图书销售商指示向其通知新发行的指定类别的图书。 这可以在每天、或每周,每月的基础上进行。内容提供商110例如在每周的基础上向推代理410发送带有图书目录 的1812的内容包封。也可以发送变换元数据1814,例如可以是根据接收 它的应用程序变换指定内容的URL链路。在一个实施例中,图书目录1812可以包括多种图书,包括图书的作 者和大纲的每本图书的说明。文件的大小可以是例如IOOKB。推代理410可以接收这种大文件,并且可以根据被服务的客户应用程 序来了解需要对大的内容文件进行变换,以便更好地适应可能只能接收例 如10K字节消息的客户。因此,可以对图书目录应用作为代理元数据传递 的变换,以便将图书目录减小到10KB的修改文件1820。这可以通过例如 去除大纲,对图书排序并且只包括最前的50本,或其它变换来进行,这 些变换对本领域技术人员来说是显而易见的。一旦结束了变换,将修改的文件1820发送到推客户510。另外,如图4所示,能够使用延缓检索消息存储装置452来存储在变 换过程中剥离的额外内容。上述方式的优点在于图书销售商可以具有一个网址并向其所有客户 发送一个目录。由于并不是所有客户都是移动无线客户,IOOKB的文件可 以适合于这些客户。还是通过提供变换元数据,图书销售商可以具有一个向每个人发送的目录。本领域技术人员可以理解,目前的大部分web (网络)技术对移动客户要求分开的网址,这可以通过上述方案来解决。 上面的描述还适合于联合组织模型,参考图19对此进行说明。 本领域技术人员可以理解,当网络条件对接收大量数据不理想时,移 动设备可能不希望接收大量数据。另外,网络操作者可能希望避免在带宽 使用高峰期间发送大量数据,以便在时间上更平均地分散网络业务量。利用图19所示的推/拉模型可以实行该目的。如上面参考图4所示,可以提供包括比用户当前需要的更多信息的内容。例如,如果用户请求有关其所在区域内的餐厅的位置信息,服务提供 商可能希望增加该区域可提供的诸如其它服务之类的广告。然而,服务提 供商可能不希望立即向该用户推该附加内容,而是提供诸如标题或给出附 加内容的内容表之类的简介。在其它情况下,内容可能太大以致不能被发送到用户,该用户可以只 接收内容的第一部分,而将内容的剩余部分存储在延缓检索消息存储装置452中。此后,或通过推代理410或在请求我的推客户510时,可以将存储的 内容传递给推客户510。推客户510包括能够监视网络状态的网络状态监视器1910。推客户 510可能希望只在某些条件下接收额外数据。例如,在具有WiFi和蜂窝选 项的混合移动设备上,在WiFi连接上提供数据更便宜,因此网络状态监 视器1910可以等待,直到推客户510在得到延缓的内容前被连接到WiFi 网络。作为替换,网络状态监视器可以检查是在外网中漫游,还是连接到 本地网,以使漫游费最少。网络状态监视器还可以检验是否为该设备建立 了专用数据频道。本领域技术人员可以实现使网络状态监视器1910在请 求延缓的数据被传递到推客户510之前检验网络中的各种其它前提。无线网络130也可以向推客户510或推代理410,或者二者提供有关 数据传送费用的信息。本领域技术人员可以理解针对内容传送的各种高峰 时段。在业务信息的情况下,高峰时段可能在人们开始和离开工作时的工 作曰的开始和结束时。对于证券报价,高峰时段可能在市场开盘的时间期
间,其它高峰时段也是存在的。为了使数据业务量平均,希望网络根据网 络中当前的数据使用状况收取不同的费率。因此,在高峰时段期间可以比 诸如午夜之类的非高峰时段收取更高的费用。因此,无线网络130向延缓检索管理器552提供有关推客户510的传送费用通知,和向推调度器454 提供有关推代理410的传送费用通知。
在一个实施例中,可以根据其对客户的重要性对来自内容提供商110 并被传递到推代理410的数据进行排序。可以指定立即通过元数据传送某 些信息。可以指定其它信息在网络费用比第一值(例如每兆字节10分) 低时被传送,可以指定其它数据在网络费用比第二值(例如每兆字节5分) 低时被传送。因此,推调度器454考虑存储在延缓检索管理存储装置452 中的数据,命令推代理商444把延缓的数据传递到推客户510上的推代理 商544。
作为替换,延缓检索管理器552可以监视从无线网络130发送时的网 络条件,如果数据速率低于某个速率,可以请求内容拉代理方554从延缓 检索管理存储装置452拉内容。
作为替换,延缓检索管理器552可以查看适合于拉大量数据的网络状 态,例如,如果移动设备已经与WiFi网络连接,并请求内容拉代理方554 从延缓检索消息存储装置452拉数据。
可以理解,用户可以一直请求具有拉的内容。因此也可以使用用户请 求1940触发内容拉代理方554来从延缓检索消息存储装置452拉数据。
推调度器454和延缓检索管理器552中存储的规则可以是基于内容分 类的静态元数据。对于已经传递的特定数据,该规则可以以动态元数据为 基础。这种情况下,内容提供商110已经对数据分类。
现在参考图20。本领域技术人员可以理解,数据可以是两种形式之一, 线性和非线性。线性数据可以是例如阵列和串,和以线性方式流动的内容。 相反,非线性数据不是彼此线性相关的数据,可以包括具有内容地图或链 路的复合从属。
对于线性内容,分段只涉及根据线性进程把数据分成各种成分。数据 被分割成片段,并将片段传送到推客户410。如图20所示,分段处理器 2010与内容2012交互,并决定能够以线性进程解析该内容。接下来,分
段处理器2010把该数据分割成图20的实例中的片段2014, 2016和2018, 并如图20所示,传递第一片段2014,而分别延缓第二和第三片段2016 和2018的传递。指针管理模块2030对已经传送的片段保持跟踪,并按顺序传送下一 个片段。参考图21,需要以更聪明的方式分割非线性内容。另外,为了在另一 端重构这些片段,需要元数据。分段处理器2110根据基于元数据的分析对内容进行分析。这些分析 包括,如果逻辑需要,将某些片段或数据元素保持在一起。分段处理器2110 分析内容2112,并根据逻辑规则把内容分割成片段。每个片段包括内容加 元数据,元数据包括例如从属关系,地图,和对每个片段的导航规则。一旦被分割,将第一片段2114发送到推客户510,如图21所示延缓 对片段2116和2118剩余部分的传递。片段导航模块2130处理下一个要 发送的片段。本领域技术人员可以理解,第一片段2114包括数据部分和 元数据部分。片段2114的元数据部分是由分段处理器2110相加,以指示 内容从属关系模块564如何重构该内容的一层元数据。第一片段2114的 数据部分可以包括内容和与频道或内容关联的元数据二者。频道导航模块2130适合于处理用户如何通过数据行进。例如,如果 数据为树状格式,并且用户下到树的第一分支,片段导航模块2130可以 向推客户410传递从用户已经导航到的元素能够到达的树中的其它分支。例如,树可以包括具有雇员姓名以及公司结构的雇员数据库。根据图 21,如果用户导航到该组织的特定部门,片段导航模块2130可以转递针 对该部门内分组的分组片段。如果用户导航到该部门内的特定分组,片段 导航模块2130可以传递有关该分组内的雇员的信息分段。'因此,上面描述的过程需要将数据分割成逻辑成分。向所有类型和内 容分配标识符,生成传递该信息与基本说明的结构信息。因此,上面的描述提供了可以供通用系统使用的动态内容传送的架 构,其中可以添加应用程序和内容,而不改变系统的结构。可以对该内容 进行剪裁以适合接收它的应用程序,并可根据上面的描述分段。可以理解,推客户和客户应用程序可以驻留在任何移动设备上。下面
参考图21描述一个示例性的移动设备。但这是为了说明的目的,而不是 对本发明的限制。图22示出了适用于供本申请的装置和方法的优先实施例使用的移动台。移动台2200最好是具有至少话音和数据通信能力的双向无线通信设 备。移动台2200最好具有与因特网上的其它计算机系统通信的能力。根 据提供的准确功能,作为例子,无线设备可以是指数据收发消息设备,双 向寻呼机,无线电子邮件设备,具有数据收发消息能力的蜂窝电话,无线 因特网用具,或数据通信设备。在移动台2200能够用于双向通信的情况下,它将与包括接收机2212 和发射机2214 二者的通信子系统2211组合,以及与诸如最好是一个或多 个嵌入或内部天线元件2216和2218,本机振荡器(LO) 2213之类的关联 组件,和诸如数字信号处理器(DSP) 2220之类的处理模块组合,通信子 系统2211的具体设计取决于设备要工作的通信网络。网络接入要求也根据网络2219的类型而改变。在某些CDMA网络中, 网络接入与移动台2200的订户或用户关联。CDMA移动台可以需要可移动 用户的身份模块(RU工M)或订户身份模块(SIM)卡,以便在CDMA网络上 工作。S工M/RUIM接口 2244通常与能够插入和退出像磁盘和PCMCIA卡这样 的S頂/RUIM卡的卡槽类似。SIM/RUIM卡可以具有大约64K的存储器,并 保持许多密钥配置2251,和诸如标识,和与信息有关的订户之类的其它消 息2253。在完成所需的网络登记或现用过程时,移动台2200可以通过网络 2219发送通信信号。如图22所示,网络2219可以包括与移动设备通信的 多个基站。例如,在混合CDMA lxEVDO系统中,CDMA基站和EVDO基站与 移动台通信,移动台同时连接到二者。EVDO和CDMAlx基站使用不同的寻 呼时隙与移动设备通信。天线2216通过通信网络2219接收的信号被输入到接收机,接收机可 以执行像信号放大,下变频变换,滤波,频道选择等这样的普通接收机的 功能,在图22所示的实例系统中,执行模拟数字(A/D)转换。接收信号 的A/D转换允许执行更复杂的通信功能,例如在DSP2220中进行解调和解 码。以类似的方式,处理要发送的信号,包括由DSP2220进行例如调制和
编码,将信号输入到发射机2214用于数字模拟转换,上变频变换,滤波,放大,和经天线2218通过通信网络发送。DSP2220不仅处理通信信号,而 且向接收机和发射机提供控制。例如,可以通过在DSP2220中实施的自动 增益控制算法,在接收机2212和发射机2214中自适应地对通信信号施加 增益。移动台2200优选的是包括控制设备整个操作的微处理器2238。通过 通信子系统2211执行包括至少数据和话音通信的通信功能。微处理器 2238可以与诸如显示器2222,闪存2224,随机存取存储器(RAM) 2226, 辅助输入/输出(I/O)子系统2228,串口 2230,两个和多个键盘和小键 盘2232,扬声器2234,话筒2236之类的设备子系统交互,以及诸如短距 通信子系统之类的其它通信子系统2240,和总体表示为2242的任何其它 设备子系统交互。串口 2230可以包括USB端口,或本领域已知的其它端 □。图22示出的一些子系统执行与通信有关的功能,而其它子系统可以 提供"驻留"或在设备功能。应该指出,诸如键盘2232和显示器2222之 类的一些子系统可以用于诸如为通过通信网络传送而输入文本消息之类 与通信有关的功能,和诸如计算器和任务表之类驻留设备的功能。优选的是,微处理器2238使用的操作系统软件被存储在诸如闪存 2224之类的持久存储器中,可以用只读存储器(ROM)和类似的存储元件 (未示出)代替。本领域技术人员可以理解,操作系统,特定的设备应用 程序,或其一部分可以临时装载到诸如RAM2226之类的易失性存储器中。 接收的通信信号也可以存储在RAM2226中。如图所示,闪存2224可以被分成用于计算机程序2258和用于程序数 据存储2250, 2252, 2254,和2256的不同区域。这些不同的存储类型指 示每个程序可以针对其自身的数据存储需求被分配到闪存2224的一部分。 除了其操作系统功能之外,优选的是,微处理器2238能够在移动台上执 行软件应用程序。控制基本操作,包括例如至少数据和话音通信应用的预 定应用程序组通常在制造期间被安装在移动台2200上。其它应用程序可 以随后或动态安装。优选的软件应用程序可以是具有组织和管理与移动台的用户有关的
数据项目的能力个人消息管理器(PIM)应用程序,例如电子邮件,日历 事件,语音邮件,约会,任务条目,但不限于此。显然,可以在移动台上 使用一个或多个存储装置,以便于PIM数据条目的存储。优选的上,该PM 应用程序具有通过无线网络2219发送和接收数据条目的能力。在优选实施例中,利用存储或与主计算机系统关联的移动台用户的对应数据,能够通过无线网络2219来无缝地整合,同步,和更新PIM数据条目。可以通 过网络,辅助I/O子系统2228,串口 2230,短距通信子系统2240或任何 其它适合的子系统2242将其它应用程序装载到移动台2200,并由用户安 装到RAM2226中,或优选的是非易失性存储装置(未示出),以便由微处 理器2238执行。应用程序安装的灵活性提高了设备的功能性,并且可以 提供增强的在设备功能,与通信有关的功能,或二者。例如,确保通信应 用程序能够启动电子商业功能,和使用移动台2200进行的其它金融交易。在数据通信模式中,由通信子系统2211处理诸如文本消息和下载的 网页之类的接收信号,并输入到微处理器2238,微处理器2238进一步处 理接收的信号以输出到显示器,或辅助IA)设备2228。可以等同于推客户 140和510的推客户2260也可以处理该输入。移动台2200的用户也可以与显示器2222,和可能的辅助I/0设备2228 结合构成诸如电子邮件消息之类的数据条目,例如,使用键盘2232,优选 的是完整的字母数字键盘和电话类小键盘。然后,可以通过通信子系统 2211经通信网络来发送构成的条目。对于话音通信,移动台2200的整体操作是类似的,除了将接收的信 号优选的是输出到扬声器2234,和由话筒2236产生发送的信号。也可以 在移动台2200上实施其它话音或音频I/O子系统,例如话音消息记录子 系统。虽然优选的是主要通过扬声器2234实现话音或音频信号输出,也 可以使用显示器2222提供例如呼叫方的身份指示,话音呼叫持续时间, 或与话音呼叫有关的其它信息。图22中的串口 2230通常由个人数字助理(PDA)型的移动台来实施, 该移动台与用户的台式计算机(未示出)同步,但它是一个任选的设备组 件。该端口 2230能使用户通过外部设备或软件应用程序设置,并且除无 线通信网络外通过提供信息和向移动台2200进行软件下载来扩展移动台2200的能力。可以使用其它的下载途径,例如通过直接和因此得到的可靠 和信任的连接把加密密钥装载到该设备,从而能够确保设备通信。本领域技术人员可以理解,串口 2230也可以用于作为把移动台连接到计算机的 调制解调器。诸如短距通信子系统之类的其它通信子系统2240是可以在移动台 2200和不同系统或设备之间提供通信的其它任选组件,这些设备不必是类 似的设备。例如,子系统2240可以包括红外设备,有关电路,和组件, 和向类似的启动系统和设备提供通信的蓝牙T"通信模块。在此描述了具有与本申请的技术元素对应的元素的结构,系统或方法 的实例。所给出的描述可以使本领域技术人员做出和使用具有与本申请的 技术元素对应的替换元素的实施例。本申请的技术范围包括与在此描述的 本申请的技术不同的其它结构,系统或方法,并进一步包括与在此描述的 本申请没有实质区别的其它结构,系统或方法。
权利要求
1.一种在动态内容传送架构中对内容有效载荷加入处理智能的方法,所述动态内容传送架构具有至少第一处理元素和第二处理元素,所述方法包括步骤生成第一包封,所述第一包封包括内容有效载荷和第二处理元素元数据,所述第二处理元素元数据适合于在所述第二处理元素上运行;和形成第二包封,所述第二包封包含所述第一包封和适合于在所述第一处理元素上运行的第一处理元素元数据。
2. 根据权利要求l所述的方法,其中所述第一处理元素元数据和所述 第二处理元素元数据是内容有效载荷特有的。
3. 根据权利要求1或2所述的方法,进一步包括向所述第一处理元素和 所述第二处理元素传播与所述内容有效载荷的频道有关的元数据的步骤。
4. 根据权利要求1或2所述的方法,进一步包括向所述第一处理元素和 所述第二处理元素供给与所述内容有效载荷的频道有关的元数据的步骤。
5. 根据权利要求1至4中的任何一项所述的方法,其中所述至少第一处 理元素和第二处理元素包括推代理,推客户或客户应用程序中的任何一 种。
6. 根据权利要求1至5中的任何一项所述的方法,其中所述方法还包括步骤在所述第一处理元素,提取所述第一处理元素元数据; 使用与所述第一包封有关的所述第一处理元素元数据,生成经处理的 第一包封;和将所述经处理的第一包封传送到所述第二处理元素。
7. 根据从属于权利要求2或3的权利要求6所述的方法,进一步包括在 所述使用和传送步骤之前,应用与关于所述第一包封的所述频道有关的元 数据的步骤。
8. 根据权利要求1至7中的任何一项所述的方法,其中所述方法还包 括,在所述第一处理元素,把元数据加入到所述第一包封。
9. 根据权利要求1至8中的任何一项所述的方法,其中由内容提供商执 行所述生成和形成步骤。
10. 根据权利要求1至9中的任何一项所述的方法,进一步包括生成第三包封的步骤,所述第三包封包括所述第二包封和针对第三处理元素的第 三处理元素元数据。
11. 根据权利要求i至io中的任何一项所述的方法,其中所述第一处理元素元数据包括处理参数,处理规则,处理句柄,处理句柄代码,处理句 柄参考,到处理句柄的链路,到处理句柄代码的链路,和/或到处理句柄 规则的链路。
12. —种用于动态内容传送架构的内容包封,所述内容包封包括:内容有效载荷;用于所述动态内容传送架构中的第一处理元素的内容元数据,所述内容处理元数据和内容有效载荷形成第一包封;和用于所述动态内容传送架构中的第二处理元素的第二内容元数据,第 二内容处理元数据嵌套有所述第一包封,以形成包封。
13. 根据权利要求12所述的内容包封,其中所述第一处理元素和所述第 二处理元素包括推代理,推客户,或客户应用程序中的任何一种。
14. 根据权利要求12或13所述的内容包封,其中配置针对第二处理元素的第二内容元数据提供用于所述第二处理元素的完成指令。
15. 根据权利要求12至14中的任何一项所述的内容包封,其中配置针 对第一处理元素的内容元数据提供用于所述第一处理元素的完成指令。
16. 根据权利要求12至15中的任何一项所述的内容包封,其中内容元 数据包括处理参数,处理规则,处理句柄,处理句柄代码,处理句柄参考, 到处理句柄的链路,到处理句柄代码的链路,禾卩/或到处理句柄规则的链 路。
17. —种在动态内容传送架构中处理包封的方法,所述包封具有针对 处理元素的元数据,和针对连续处理元素的元数据和内容,所述方法包括步骤从包封提取针对处理因素的元数据, 使用有关针对连续处理元素的元数据和内容的元数据,从而生成经处理的嵌套包封;和把经处理的嵌套包封传送到连续处理元素之一。
18. 根据权利要求17所述的方法,其中所述方法进一步包括 利用针对内容的频道元数据,所述内容与针对连续处理元素的所述元数据和内容有关。
19. 根据权利要求18所述的方法,其中在处理元素接收包封之前,供给所述频道元数据,或把所述频道元数据传播到处理元素。
20. 根据权利要求17至19中的任何一项所述的方法,其中处理元素是 推代理或推客户之一。
21. 根据权利要求17至20中的任何一项所述的方法,其中用于处理元 素的所述元数据包括处理参数,处理规则,处理句柄,处理句柄代码,处 理句柄参考,到处理句柄的链路,到处理句柄代码的链路,和/或到处理 句柄规则的链路。
22. —种在动态内容传送架构中处理包封的系统,所述包封具有针对 处理元素的元数据,和针对连续处理元素的元数据和内容,所述系统包括从包封提取针对处理因素的元数据的装置,使用有关针对连续处理元素的元数据和内容的元数据,从而生成经处 理的嵌套包封的装置;和把经处理的嵌套包封传送到连续处理元素之一的装置。
23. —种计算机程序产品,用于向动态内容传送架构中的内容有效载 荷加入处理智能,所述动态内容传送架构具有至少第一处理元素和第二处 理元素,所述计算机程序产品包括可由实施权利要求1至11中的任何一项 所述的方法的计算设备,系统或装置执行的、体现程序代码装置的计算机 可读介质。
24. —种计算机程序产品,用于在动态内容传送架构中处理包封,所述 包封具有针对处理元素的元数据,和针对连续处理元素的元数据和内容, 所述计算机程序产品包括可由实施权利要求17至21中的任何一项所述的 方法的计算设备,系统或装置执行的、体现程序代码装置的计算机可读介 质。
全文摘要
本发明提供一种用于推内容原数据的多层包封方法和系统,是一种在动态内容传送架构中对内容有效载荷加入处理智能的方法和系统,所述动态内容传送架构具有至少第一处理元素和第二处理元素,所述方法包括步骤生成第一包封,所述第一包封包括内容有效载荷和第二处理元素元数据,所述第二处理元素元数据适合于在所述第二处理元素上运行;和形成第二包封,所述第二包封包含所述第一包封和适合于在所述第一处理元素上运行的第一处理元素元数据。
文档编号H04L1/00GK101110838SQ20071010236
公开日2008年1月23日 申请日期2007年4月30日 优先权日2006年5月2日
发明者迈克尔·申菲尔德 申请人:捷讯研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1