具体实施方式
参考图1,描述向客户应用程序传送动态内容的通用推系统。图1的系统是一个简化的系统,给出了动态内容传送架构中所需的逻辑组件;然而,本领域技术人员可以理解,可以存在其它组件,各种组件可以分组在一起。
架构100包括内容提供商110。内容提供商110用于向与内容提供商110订阅的用户提供动态内容。例子可以包括网站销售图书。用户可以向内容提供商110登记,以获得在指定类型内新发行的图书。其它例子可以包括可以定期向用户提供标题的新网址,可以在一天的某段时间向用户提供最新交易信息的交易网址,能够向用户提供更新的证券报价或货币兑换率的证券市场网址,和其它网址。
如下面更详细描述的,内容提供商110向服务提供商120登记,以便服务提供商的客户接收来自内容提供商110的内容。服务提供商120包括作为客户或客户应用程序代理,和向内容提供商110提供发送内容的目的地的推代理122。
服务提供商120通过无线网络与位于移动设备上的推客户140通信。下面更详细地描述推客户140。推客户140接收从内容提供商110传送的内容,并向最终消费该内容的客户应用程序150传送该内容。
在本说明书中,涉及到内容提供商110,服务提供商120,推代理122,无线网络130,推客户140和客户应用程序150返回参考图1的架构。
参考图2,本领域技术人员可以理解,图1的组件只是逻辑组件,而不必是分开的物理组件。图1图示了存在一个内容提供商110,一个推代理122,一个推客户140和一个客户应用程序150的通用架构。图2是另一种替换架构。
具体地讲,第一替换架构210包括与推代理122通信的多个内容提供商110。如同图1的架构,推代理122通过无线网络130与推客户140通信。另外,架构210中存在多个客户应用程序150。因此,这是一个具有多个内容提供商110和多个客户应用程序150的N-1-1-N系统。
图2的架构220包括与推代理122通信并向推代理122登记的一个内容提供商110。另外,推代理商122通过无线网络130与多个推客户140通信。每个推客户140与客户应用程序150通信。因此,架构220对客户应用程序150和推客户140的逻辑组件分组,这是一个N(1-1)-1-1系统。
图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(1-1)系统。
本领域技术人员可以理解,其它架构也是可能的。上面给出了可以是分开的物理组件和组合在一起的各种逻辑组件。例如,推客户能够被埋入在应用程序中,共享客户由多个应用程序和替换使用。
参考图3。为了向系统加入智能,将内容与元数据关联。这种情况下,元数据被定义为能够由处理元件操纵该内容使用的数据。元数据可以是各种形式,包括处理参数或规则,或直接或链接到另一处的处理句柄(Handler),代码或规则的处理句柄,代码或参考。
如图3所示,内容按箭头310所示,从内容提供商110传递到客户应用程序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允许对内容流进行控制。例如,具有有限空间的移动台可能只能接收特定量的信息。这种情况下,移动设备通过如图1所示的推客户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传送证券报价,并从内容提供商110接收后续的证券报价,后续证券报价中的元数据能够指示应该用后续证券报价替换在前的证券报价。替换存储的信息,而不是向传送队列添加所有信息来释放内容存储装置480中的空间。
使用频道元数据储存库470来存储频道元数据,下面对此更详细地说明。
上面描述了能够在此使用的方法和系统的示例性的推代理410。推代理410中的模块和元素允许推代理410在内容类型和在应用程序的内容的句柄能够改变并且没有预定的情况下在通用的动态内容传送系统中使用。
参考图5。图5说明了在此能够与该系统和方法关联使用的推客户510。推客户510可以与来自图1和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.exa”的文件存在与设备上。推客户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的包封嵌套提供能够在该架构的任何处理元素进行处理,内容提供商110能够指定如何处理特定内容的富动态环境。在一个实施例中,其它处理元素不理解涉及特定逻辑元素的元数据。
作为替换,服务提供商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和内容提供商110提供应用程序的静态元数据。这包括应用程序期待什么类型的内容,如何传送该内容,应用程序是否需要通知,但不限于此,可以是对本领域技术人员显而易见的、与本系统和方法有关的其它信息。
因此,应用程序916向推客户510登记,提供应用程序清单918,以便建立到服务应用程序916的内容提供商的频道。
参考图10,另一种模型是针对图2的架构220描述的模型。具体地讲,在图10的模型中,客户应用程序150与推客户140成对。每对客户应用程序150/推客户140与推容器1010协作。
当应用程序1020希望向推容器1010登记时,由推容器1010生成客户140,如果已经存在,则使用该应用程序。另外,在登记中,应用程序1020把应用程序清单1030提供给推容器1010,从而提供应用程序1020的频道元数据(静态元数据)。
图11示出了图10的另一种图示。具体地讲,推容器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
</rate>
</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向内容提供商110发送建立传送频道以及该应用程序是为内容而准备的通知。
例如,如果应用程序是在内容提供商110在线之前南北预安装在设备上的,则能够进行步骤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提供包括内容[C1+M(p,c,a)1]的内容包封。这意味着第一内容优先载荷正在与包括代理元数据,客户元数据和应用程序元数据的元数据一起被发送。该发送在步骤1710进行。
在步骤1712,推代理410使用如短语“use M(p)1”所示的代理元数据。另外,在步骤1714,添加由包括客户元数据和应用程序元数据的元数据被传递到推客户510。
在步骤1716,推客户510使用客户元数据,在步骤1718,将内容有效载荷传递到客户应用程序150。在步骤1720,客户应用程序150使用应用程序元数据,并消费内容有效载荷。
如在步骤1722看到的,由C2指定的第二内容有效载荷与第一内容有效载荷具有相同的元数据。用于每个处理元素,即,推代理410,推客户510和客户应用程序150为内容提供商110缓存该元数据,不需要再次传递该元数据,而是已经驻留在处理元素。
此后,在步骤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或C#之类的解释码来编译。元数据也可以是数据/指示使用某些特性的特性文件。在另一个实施例中,可以二进制内容,例如,诸如对XML文件的XSLT变换之类的变换。
上面的描述可以用于各种应用程序,以便为传送到指定客户应用程序的内容提供智能。也可以为只根据他们提供元数据就能够为各种应用程序提供内容的丰富的内容提供商提供其数据。可以以图8中的实例为例进行说明。
内容提供商110可以是例如在线图书销售商。应用程序可以向在线图书销售商登记,以向图书销售商指示向其通知新发行的指定类别的图书。这可以在每天、或每周,每月的基础上进行。
内容提供商110例如在每周的基础上向推代理410发送带有图书目录的1812的内容包封。也可以发送变换元数据1814,例如可以是根据接收它的应用程序变换指定内容的URL链路。
在一个实施例中,图书目录1812可以包括多种图书,包括图书的作者和大纲的每本图书的说明。文件的大小可以是例如100KB。
推代理410可以接收这种大文件,并且可以根据被服务的客户应用程序来了解需要对大的内容文件进行变换,以便更好地适应可能只能接收例如10K字节消息的客户。因此,可以对图书目录应用作为代理元数据传递的变换,以便将图书目录减小到10KB的修改文件1820。这可以通过例如去除大纲,对图书排序并且只包括最前的50本,或其它变换来进行,这些变换对本领域技术人员来说是显而易见的。
一旦结束了变换,将修改的文件1820发送到推客户510。
另外,如图4所示,能够使用延缓检索消息存储装置452来存储在变换过程中剥离的额外内容。
上述方式的优点在于图书销售商可以具有一个网址并向其所有客户发送一个目录。由于并不是所有客户都是移动无线客户,100KB的文件可以适合于这些客户。还是通过提供变换元数据,图书销售商可以具有一个向每个人发送的目录。本领域技术人员可以理解,目前的大部分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移动台可以需要可移动用户的身份模块(RUIM)或订户身份模块(SIM)卡,以便在CDMA网络上工作。SIM/RUIM接口2244通常与能够插入和退出像磁盘和PCMCIA卡这样的SIM/RUIM卡的卡槽类似。SIM/RUIM卡可以具有大约64K的存储器,并保持许多密钥配置2251,和诸如标识,和与信息有关的订户之类的其它消息2253。
在完成所需的网络登记或现用过程时,移动台2200可以通过网络2219发送通信信号。如图22所示,网络2219可以包括与移动设备通信的多个基站。例如,在混合CDMA 1xEVDO系统中,CDMA基站和EVDO基站与移动台通信,移动台同时连接到二者。EVDO和CDMA 1x基站使用不同的寻呼时隙与移动设备通信。
天线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进一步处理接收的信号以输出到显示器,或辅助I/O设备2228。可以等同于推客户140和510的推客户2260也可以处理该输入。
移动台2200的用户也可以与显示器2222,和可能的辅助I/O设备2228结合构成诸如电子邮件消息之类的数据条目,例如,使用键盘2232,优选的是完整的字母数字键盘和电话类小键盘。然后,可以通过通信子系统2211经通信网络来发送构成的条目。
对于话音通信,移动台2200的整体操作是类似的,除了将接收的信号优选的是输出到扬声器2234,和由话筒2236产生发送的信号。也可以在移动台2200上实施其它话音或音频I/O子系统,例如话音消息记录子系统。虽然优选的是主要通过扬声器2234实现话音或音频信号输出,也可以使用显示器2222提供例如呼叫方的身份指示,话音呼叫持续时间,或与话音呼叫有关的其它信息。
图22中的串口2230通常由个人数字助理(PDA)型的移动台来实施,该移动台与用户的台式计算机(未示出)同步,但它是一个任选的设备组件。该端口2230能使用户通过外部设备或软件应用程序设置,并且除无线通信网络外通过提供信息和向移动台2200进行软件下载来扩展移动台2200的能力。可以使用其它的下载途径,例如通过直接和因此得到的可靠和信任的连接把加密密钥装载到该设备,从而能够确保设备通信。本领域技术人员可以理解,串口2230也可以用于作为把移动台连接到计算机的调制解调器。
诸如短距通信子系统之类的其它通信子系统2240是可以在移动台2200和不同系统或设备之间提供通信的其它任选组件,这些设备不必是类似的设备。例如,子系统2240可以包括红外设备,有关电路,和组件,和向类似的启动系统和设备提供通信的蓝牙TM通信模块。
在此描述了具有与本申请的技术元素对应的元素的结构,系统或方法的实例。所给出的描述可以使本领域技术人员做出和使用具有与本申请的技术元素对应的替换元素的实施例。本申请的技术范围包括与在此描述的本申请的技术不同的其它结构,系统或方法,并进一步包括与在此描述的本申请没有实质区别的其它结构,系统或方法。