管理手持式书阅读器设备中的搜索索引生成状态的制作方法

文档序号:6477842阅读:363来源:国知局
专利名称:管理手持式书阅读器设备中的搜索索引生成状态的制作方法
管理手持式书阅读器设备中的搜索索引生成状态 本申请是2007年6月14日提交的美国申请第11/763, 358号(AM2-0084US)的延 续,该申请要求2007年5月21日提交的美国临时申请第60/939, 357号(AM2-0073USP1)
的优先权,这两个申请也通过整体引用合并于此。
背景 用户传统上使用消费硬拷贝形式的媒体项目(例如书、杂志、报纸等)。例如,用户
可从书店或图书馆获得物理上的书。用户可通过用手翻动书页来以传统的方式阅读书。 用户现在也可接收和消费电子形式的一些媒体项目。在一种情况下,用户可使用
个人计算机通过传统电话或电缆调制解调器来连接到网络可访问的媒体项目源。用户可从
此源下载文档。用户可通过将该文档打印出来并以传统的方式阅读它来消费该文档。可选
地,用户可阅读以电子形式的文档,即,通过阅读呈现在计算机监视器上的书。
电子媒体项目的提供者面临各种挑战。例如,很多用户继续优选消费传统硬拷贝
形式的媒体项目,即使这些媒体项目能以电子形式获得。提供者面临的任务是引起这样的
用户的兴趣,同时从技术观点和与商业有关的观点提供可行的解决方案。 附图的简短说明

图1示出用于将项目下载到用户设备的说明性系统的概略图。
图2示出使用无线通信的图1的系统的一个说明性实现。 图3示出用在图2的系统中的说明性项目提供系统(ISP)和说明性用户设备。
图4示出图3的说明性用户设备的更详细的描述。
图5示出图3和4的用户设备的说明性设计。 图6示出用于与图5的用户设备进行交互的说明性用户接口机制。
图7示出可用于实现图2和3所示的系统的任何方面的通用处理设备。
图8是描述图2和3的系统的一个说明性操作方式的信号图。
图9示出在图3的IPS中使用的内容接收系统的概略图。
图10示出在图3的IPS中使用的说明性订阅模块。 图11示出在图3的IPS中使用的说明性索引生成功能和注释处理功能。 图12是描述使用图9的内容接收系统来接收并处理电子书和其它预先生成的项
目的一个说明性方法的信号图。 图13是描述使用图9的内容接收系统来接收并处理订阅相关项目的一个说明性 方法的信号图。 图14是描述使用图9的内容接收系统来接收并处理个人项目的一个说明性方法 的信号图。 图15是描述使用图9的内容接收系统来接收并处理电子书和其它预先生成的项 目的一个说明性方法的流程图。 图16是描述使用图9的内容接收系统来接收并处理订阅相关项目的一个说明性 方法的流程图。 图17是描述使用图9的内容接收系统来接收并处理个人项目的一个说明性方法的流程图。 图18示出在图3的IPS中使用的说明性待办列表服务器模块。 图19是描述图18的待办列表服务器模块的一个说明性操作方式的流程图。 图20是描述管理图18的待办列表服务器模块的一个说明性方式的流程图。 图21示出在图3的用户设备中使用的说明性待办列表处理器。 图22是描述图21的待办列表处理模块的一个说明性操作方式的流程图。 图23示出在图3的IPS中使用的说明性内容递送模块。 图24是描述图23的内容递送模块的一个说明性操作方式的流程图。 图25是描述用于在用户设备接收到项目时处理项目的一个说明性方式的流程图。 图26描述了一系列版本,每个版本在一个或多个方面不同于其前面的版本。 图27是描述由图23的内容递送模块所执行的用于形成多个增量文件的说明性增 量形成操作的流程图。 图28是描述由图23的内容递送模块利用图27的过程生成的增量文件所执行的 说明性服务器册增量式更新操作的流程图。 图29是描述实现图28的服务器侧过程的说明性设备侧增量式更新操作的流程 图。 图30示出可在图2和3的系统中使用的各种内容递送管理功能部件。 图31是描述在图30中标识的可靠履行处理功能的说明性操作方式的流程图。 图32是描述在图30中标识的最新通知功能的说明性操作方式的流程图。 图33是描述在图30中标识的电话归属(TPH)处理功能的说明性操作方式的流程图。 图34是描述图30的订阅发起功能的说明性操作方式的流程图。 图35是由图4所示的归属呈现模块产生的说明性主页。 图36是在图35所示的主页的上下文中提供的说明性菜单。 图37是通过图35所示的主页访问的说明性建立页。 图38示出在图3的IPS中使用的说明性商家存储模块。 图39示出由图38的商家存储模块产生的说明性主页。 图40示出由图38的商家存储模块产生的说明性浏览页。 图41示出由图38的商家存储模块产生的说明性项目细节页。 图42是描述撤消使用图38的商家存储模块进行的购买的说明性方法的流程图。 图43示出分别在图3的IPS和用户设备中使用的说明性服务器侧媒体库模块和
设备侧内容管理器模块。 图44是由图43所示的内容管理器模块产生的说明性内容管理器页。 图45示出在图44所示的内容管理器页的上下文中提供的说明性菜单。 图46示出在图44所示的内容管理器页的上下文中提供的另一说明性菜单。 图47是描述使图3的IPS和用户设备之间的信息同步的说明性方法的流程图。 图48是由图2和3所示的阅读器模块产生的说明性项目显示页。 图49是描述动态地填充页面中的链接的说明性方法的流程图。
5
图50示出在图48的项目显示页的上下文中呈现的注释相关菜单。
图51是在图48所示的项目显示页的上下文中提供的说明性进度条。
图52示出在图3和4所示的用户设备中的音频递送、管理和回放。
图53是图2的系统的更改的描述,其强调说明性浏览代理模块的使用。
图54是描述图53的浏览代理模块的说明性操作方式的流程图。
图55是由图4所示的浏览器模块产生的说明性主页。 图56示出在使用图4的浏览器模块输入地址时使用的说明性用户界面面板。
图57是图2的系统的更改的描述,其强调系统所执行的各种管理功能。
图58是描述图57的测试功能的一个说明性操作方式的流程图,其中IPS周期性 地向 一个或多个代表性用户设备发送测试探查。 图59是描述对应于手动升级模式的图57的升级相关功能的一个说明性操作方式 的流程图。 图60是描述对应于自动升级模式的图57的升级相关功能的一个说明性操作方式 的流程图。 图61示出用于向图3的用户设备转发升级的说明性格式。 图62是图2的系统的更改的描述,其强调说明性预配功能的使用。 图63是描述在购买新设备之后但在将进行购买的用户与特定用户设备关联之
前,将项目购买关联到虚拟帐户的一个说明性方式的流程图。 图64示出包括测试设备和代表性被测设备(DUT)的说明性布置。 图65是描述图64的布置的一个说明性操作方式的流程图。 图66是根据一个说明性实现的用户设备的示意性框图。 图67是示出可由用户设备搜索的几个可能的内容源的示意图。 图68是根据一个说明性实现的用户设备的搜索界面的详图。 图69是可在用户设备上执行的一个说明性搜索方法的带注释的流程图。 图70是可在用户设备上执行的一个说明性搜索方法的流程图。 图71是可用于在用户设备上呈现搜索结果的说明性界面的示意图。 图72是可用于在用户设备上呈现搜索结果的实例的说明性界面的示意图。 图73是可用于在用户设备上呈现索引的状态的说明性界面的示意图。 图74是示出根据一个说明性实现的索引方案的示意性框图。 图75是示出根据一个说明性实现的存储在存储器中的电子项目、项目索引和主 索引的数据结构的结构图。 图76是根据一个说明性实现的确定如何获得电子项目的搜索索引的说明性方法 的流程图。 图77是根据一个说明性实现的在用户设备处生成电子项目的搜索索引的说明性 方法的流程图。 图78是根据一个说明性实现的将搜索索引从项目提供系统下载到用户设备的说 明性方法的流程图。 图79是根据一个说明性实现的确定是生成搜索索引还是从远程项目提供系统下 载索引的说明性方法的流程图。
6
图80是根据一个说明性实现的确定是否将搜索索引发送到用户设备的说明性方 法的流程图。 图81是示出根据一个说明性实现的、存储在存储器中的商业规则和替换商业规 则的数据结构的框图。 图82是示出根据一个说明性实现的、在用户设备和项目提供系统之间的信号流 的信号流图。 图83是根据一个说明性实现的使用模糊分类方法进行搜索的说明性方法的带注 释的流程图。 图84是图83的流程图的延续。 图85是示出根据一个说明性实现的、用于确定模糊因子和近似值的逻辑的数据 结构的框图。 图86是根据一个说明性实现的确定用户设备的内容是否在一个事件期间改变的
说明性方法的流程图。 图87是图86的流程图的延续。 图88是示出使用插件来索引并搜索电子项目的示意性框图。 图89是根据一个说明性实现的使用远程搜索实体在用户设备上搜索的说明性方 法的流程图。 图90是根据一个说明性实现的从远程搜索实体向用户设备提供搜索结果的说明 性方法的流程图。 图91示出电子设备和可与电子设备合并的一些功率处理组件。 图92示出补偿处理电路觉察到的电池电压电平中的误差的电流检测系统。 图93示出补偿处理电路觉察到的电池电压电平中的误差的过程的流程图。 图94示出在电子设备中的电池的理论和实际电压曲线。 图95示出用于测量电池电压和更准确地预测电池寿命的系统。 图96示出测量电池电压和更准确地预测电池寿命的过程的流程图。 图97示出用于检测触发事件以及用于响应于测量电池电压和更准确地预测电池
寿命的触发事件来改变功率状态的系统。 图98示出测量电池电压和更准确地预测电池寿命的过程的流程图。 在全部公开和附图中使用相同的数字来表示相同的组件和特征。100系列的数字
表示最初在图1中找到的特征,200系列的数字表示最初在图2中找到的特征,300系列的
数字表示最初在图3中找到的特征,依此类推。 详细描述 根据一个说明性实现,本发明阐述了用于将项目下载到用户设备的功能。该功能
可表现在各种系统、模块、计算机可读介质、数据结构、方法和其它形式中。 上面提到的"项目"可对应于任何类型的内容。在一种情况下,项目对应于数字媒
体项目。媒体项目可以没有限制地包括文本内容、图像内容、音频内容、视频内容、超文本协
议内容等或这些种类的内容的任何组合。此外或可选地,项目可包括携带指令的内容,例如
机器可读程序代码、标记语言内容、脚本内容等。例如,项目可对应于软件升级等。 更具体地,在一种情况下,术语"项目"可指特定的一个单位的可销售内容,例如一本书(例如,"电子书")、一期杂志等。可选地,项目可指可销售单位的较小部分,例如书的 章节或专辑中的歌曲。可选地,项目可指以任何方式相关的组成项目的较大汇集。例如,项 目可指在特定的一年中的多期杂志。 术语"条目"对应于指代项目的信息。例如,条目列表可包括标识相应的媒体项目 的引用信息。 某些附图通过显示各种逻辑、模块、组件、功能等来示出各特征。术语"逻辑"、"模 块"、"组件"、"功能"等通常代表硬件、软件、固件或这些元素的任何组合,或还有一些其它 种类的实现。例如,在软件实现的情况下,术语"逻辑"、"模块"、"组件"或"功能"可代表携 带指令的内容,其在一个或多个处理单元(例如,一个或多个CPU)上被执行时完成指定任 务。携带指令的内容可存储在一个或多个机器可读介质上。 术语"机器可读介质"等指用于以任何形式保留信息的任何种类的介质,包括各种 存储设备(磁性、光学、静态等)。术语"机器可读介质"也包括表示信息的瞬时形式,包括 用于将信息从一点传输到另一点的各种硬线和/或无线链路。 其它附图以信号图形式和/或流程图形式示出各特征。在这种解释模式中,某些 操作被描述为构成以某个顺序执行的不同任务。这样的实现是说明性而非限制性的。在这 些附图中描述的分开的操作可被分组在一起,并在单个操作中执行,而某些单个操作可在 多个部分中执行。某些操作可按与附图所示的顺序不同的顺序执行。某些操作可由与图中 标识的不同的代理执行。附图所示的操作可通过软件、固件、硬件、手动处理或其它形式或 通过这些形式的任何组合来实现。 通常,在各实现中描述的各个特征可被视为可选的特征,意味着这些特征可被省 略或用其它特征代替。进一步地,这里描述的各种实现可通过增加额外的特征来补充。
本发明的公开包括下列主要节。
參节A提供了系统及其操作方式的概述。 參节B提供了关于可在节A的系统中使用的各种组件的额外信息。 參节C描述了系统可执行的各种管理功能。 參节D描述了系统可执行的各种预配功能。 參节E描述了系统所提供的各种索引和搜索相关特征。 參节F提供了系统所提供的各种功率管理特征。 A.系统和操作方式的概述 A. 1.系统的说明性概述 图1示出用于将项目从项目提供系统(IPS) 102下载到用户设备104的说明性系 统100。在设备104处,用户可消费电子形式而非传统的硬拷贝形式的媒体项目。虽然没有 示出,但用户设备104代表可能大量的用户设备中的一个。 如上所解释的,术语"项目"具有广泛的含义。并非穷尽的下面的列表标识了代表 性类型的项目 參项目可对应于电子书项目。电子书项目又可指以电子形式的书或书的一个或多 个部分(例如,书的章)或多本书的汇集(例如丛书),等等。电子书是在这里称为预生成 项目的一般种类的项目的示例。术语"预生成项目"指的是这样的内容其在被IPS 102接 收到并存储之后通常(虽然不是必须)响应于用户对该内容的按需请求而提供给用户。
參内容项目也可对应于订阅相关项目。订阅相关项目指用户基于时间表或基于某
种其它类型的预先设定的安排而接收的任何项目。不作限制,订阅相关项目的代表性形式
包括杂志、刊物、报纸、业务通讯等。订阅相关项目的其它形式包括各种类型的电子订阅源,
例如真正简单聚合(RSS)订阅源等。与预生成项目相反,订阅相关项目一般响应于IPS 102
接收项目而不是响应于用户对预生成项目的按需请求而被提供给用户。 參项目也可对应于个人文档项目,或简称"个人项目"。个人项目指用户预先转发
到IPS 102的文档,IPS 102随之将项目转换为设备可读格式。 參项目也可对应于音频内容,例如一支乐曲、音乐集合、音频书等。 參项目也可对应于响应于用户进行的查询而生成的大量信息。 參项目也可对应于携带指令的内容,例如软件更新。 參项目也可对应于通过任何实体或实体组合下载到用户设备的广告材料。可应用 各种规则来管控这种类型的项目的下载。 參项目也可对应于更完整版本的项目的样本。在一种情况下,样本类型的项目 可嵌入一个或多个链接,以允许用户获取其完全版本的对应物或项目的另一部分(例如, 章)。在另一情况下,出版者或作者可在分期出版系列中发表电子书或其它项目。每一期可 被视为一个项目。 參项目也可对应于项目的草稿,意味着处于其作者没有视其为必须是最后的状态 中的项目。 參术语"项目"可包括又一些其它形式的内容;上面类型的项目是代表性的。
參项目提供系统(IPS)102对应于用于将项目转发到用户设备104的任何功能或 功能的组合。在一种情况下,IPS 102可对应于网络可访问的基于服务器的功能、各种数据 存储器和/或其它数据处理设备。IPS 102可由在单个物理地点提供的单个功能集合来实 现。可选地,IPS 102可由可任选地在单个物理地点提供的多个功能集合来实现。IPS 102 可由单个实体或多个实体来管理。 參在一种情况下,IPS 102对应于当用户购买项目时向用户提供项目的实体。在 该角色中,IPS 102可本质上充当书商等。在一种特定的商业环境中,IPS102也可提供允 许用户购买物理交付到用户的硬拷贝书的服务;在这一上下文中,IPS 102可允许用户将 电子项目下载到相应的用户设备,作为其整套服务的一部分。在其它情况下,IPS 102对应 于在无费用基础上或在某种其它类型的可选补偿安排的基础上向用户提供项目的实体。因 此,术语项目的"提供者"应被广泛地解释为包括教育机构、政府组织、图书馆、非盈利组织 等,或任何两个或多个实体的一些合作性组合。 用户设备104对应于用于从IPS 102接收项目的任何类型的电子处理设备104。 在一个实现中,用户设备104是容易携带的,意味着用户可自由地将用户设备104从一个位 置带到另一位置。在一种特定的情况下,用户设备被设计为书阅读器设备,也称为电子书阅 读器设备。在这种情况下,用户设备104充当基于纸的书籍的电子对应物。用户可用类似于 物理书的方式持有电子设备104,电子地翻动书页,等等。不作限制,图1示出特定类型的电 子书阅读器设备。下面提供关于该特定类型的阅读器设备的额外细节。可选地,用户设备 104可对应于任何其它类型的便携式设备,例如便携式音乐播放器、个人数字助理(PDA)、 移动电话、游戏模块、膝上型计算机等和/或这些类型的设备的任何组合。可选地或此外,用户设备104可对应于不容易携带的设备,例如个人计算机、与电视机相关联的机顶盒、游 戏控制台等。 通信基础设施106将IPS 102双向地耦合到用户设备104。 S卩,IPS 102通过通信 基础设施106将项目、升级和/或其它信息下载到用户设备104。 IPS 102通过通信基础设 施106从用户设备104接收各种指令和其它数据。 通信基础设施106可包括通信功能的任何组合,包括硬线链路和/或无线链路等 的任何组合。例如,图2(进而将在下面讨论)示出包括广域网(WAN)和无线基础设施的组 合的通信基础设施106的一个实现。依靠通信基础设施106的无线组件,用户可使用用户 设备104来购买项目并消费项目,而不会通过硬线链路被束缚到IPS 102。因此,例如,用户 可在作为乘客乘坐在汽车中时、在公园里步行时、在湖上划船时等使用设备购买并消费电 子书。 图l示出以非常高级的形式描述用于将项目下载到用户的过程的部分的四个交 换。在第一消息108中,IPS 102可将通知消息发送到用户设备104。通知消息108指示用 户设备104从IPS 102下载一个或多个项目和/或执行其它动作。在第二消息110中,用 户设备104请求IPS 102提供标识待下载的一个或多个项目(和/或待执行的其它动作, 例如,在一种情况下,将信息发送回IPS 102)的列表。用户设备104响应于第二消息110 从IPS 102接收该列表(注意,图1为具体标识出该列表从IPS 102到用户设备104的传 输)。如果该指令标识待下载的项目,则在第三消息112中,用户设备104将请求发送到IPS 102,要求IPS 102下载该列表中所标识的项目。在第四消息114中,IPS 102将所请求的 项目下载到用户设备104。事实上,用户设备104使用拉方法取回项目,但拉方法由推操作 来发起(通过IPS 102将通知消息108 "推"到用户设备104)。 在一种情况下,通知消息108可对应于用于开始语音模式交互的某种类型的通 知消息,例如电话铃声。在这种情况下,通知消息108也被称为地面电话归属或电话归属
(TPH)信号。(应认识到,标识符地面电话归属、电话归属、Tra等是方便的任意标签,以便
于这里的解释)。其它消息可采取数据模式消息的形式。在一种情况下,用户设备104可 被配置成接收并作用于Tra信号,而实际上不正式应答Tra信号。换言之,用户设备104接 收1TH信号,且不进行语音连接,而是发起从IPS 102下载项目的步骤。在一些情况下,无
线提供商系统可在呼叫被应答时收取费用,但如果用户设备被呼叫且不应答则不收费。因
此,使用户设备104响铃而不应答的策略可允许IPS 102将指令传递到用户设备104,而不 引起对用户设备104或IPS 102的费用。
A.2.系统的说明性无线实现 图2示出表示图1的一般系统100的一个说明性实现的系统200。作为概述,系统 200包括上面标识的组件,即,IPS 102,其通过通信基础设施106耦合到用户设备104。
通信基础设施106包括多个组件。第一组件是无线提供商系统202。无线提供商 系统202对应于提供与用户设备104的无线交换204的任何基础设施。在一种情况下,无 线提供商系统202使用各种数据处理设备、通信塔等(未示出)来实现。可选地或此外,无 线提供商系统202可依赖于卫星技术来与用户设备104交换信息。无线提供商系统202可 使用任何形式的电磁能来传输信号,例如,不作限制,无线电波信号。无线提供商系统202 可使用任何通信技术,例如,不作限制,扩频技术来传输信号,扩频技术例如使用码分多址提供商系统202可由单个实体或多个实体的合作组合管理。
通信基础设施106还包括通信启用系统206。通信启用系统206的一个目的是用 作在IPS 102和无线提供商系统202之间传递信息时的媒介。通信启用系统210可用任何 方式实现,例如,不作限制,由一个或多个服务器类型的计算机、数据存储和/或其它数据 处理设备来实现。通信启用系统可展示一个或多个应用编程接口 (API) 208。 IPS 102可调 用API 208来执行各种相应的功能。 通信启用系统206通过专用信道210与无线提供商系统202进行通信,专用信道 210也称为专用通信管道或私有管道。信道210在它唯一地用于在通信启用系统206和无 线提供商系统202之间传输信息的意义上是专用的。相反,通信启用系统206通过非专用 通信机制,例如公共广域网(WAN)212与IPS 102进行通信。例如,WAN 212可代表因特网。
通信启用系统206可用作适配器。例如,假定在一个特定实现中,IPS 102充当数 据中心,其被建立来通过广域公共网接收信息。进一步假定无线提供商系统202被建立来 通过私有管道与客户机进行交互。通信启用系统206通过广域网212与IPS 102进行交 互且通过私有管道210与无线提供商系统202进行交互,因此适应IPS 102和无线提供商 系统202的处理偏好。由于此媒介作用,通信启用系统206可被称为移动虚拟网络提供商 (MVNE),而IPS 102可被称为移动虚拟网络运营商(MVNO)。 根据商业范例,IPS 102可使用批发帐户与无线提供商系统202进行交互。在此 基础上,IPS 102可基于所有的用户设备对无线提供商系统202的聚集使用来向无线提供 商系统202支付费用。IPS 102可通过对最终用户收取的费用来补偿这些费用。在该说明 性商业场景中,无线提供商系统202不将账单直接发送到操作用户设备的用户。
更具体地,无线提供商系统102处理与其服务的所有使用相关联的全部数量的通 信业务214。全部数量的通信业务214的子集表示IPS相关通信业务216,其也被称为商家 相关通信业务。IPS相关业务216表示出现在IPS 102和与IPS102进行交互的所有用户设 备之间的信息的交换。无线提供商系统202基于与IPS相关业务216相关联的唯一密钥信 息将IPS相关业务216与其它业务区分开。无线提供商系统202可基于IPS相关业务216 的总数量来准备账单。如上所述,无线提供商系统202可从IPS 102而不是设备的各个用 户寻求对其服务的付款。 上面阐述的例子是代表性的;其它策略可用于在IPS 102和用户设备104之间交 换信息。在可选情况下,例如,系统200可被配置成使得无线提供商系统202确实直接从各 个用户补偿费用。或者,系统200可被配置成使得无线提供商系统202按各个相应用户的 选择将账单提交到IPS 102(合计)或各个用户。 用户可通过绕过无线提供商系统202的使用的可选通信路线来访问IPS102。例 如,如可选访问路径218所示,用户可使用个人计算机等来通过广域网212访问IPS 102, 从而绕过无线提供商系统202和通信启用系统206。用户可通过该路线以常规方式下载项 目。用户可接着例如通过通用串行总线(USB)传输机制、通过便携式存储设备的手动传输 等将项目从个人计算机传输到用户设备104。这种传输模式可能特别适合于大文件,例如音 频书等。以无线方式传输这样大量的数据可具有相对高的成本。然而,系统200也可被配 置成通过无线交换204来传输大文件(例如音频文件)。 图2的系统200还提供各种安全相关特征。根据一个特征,系统200应用多层认
11证,即,无线提供商系统202包括执行第一级认证的认证功能A口20。通信启用系统206提 供执行第二级认证的认证功能4222。 IPS 102提供执行第三层认证的认证功能~224。每 层认证执行检查以确保当前正试图与IPS 102进行交互的用户设备被正当地授权访问IPS 102。认证的分布式本质帮助确保通过不适当的手段获得用户设备的某人不能获得对IPS 102所提供的服务的访问。 根据另一安全相关特征,系统200可提供限制用户可使用设备104的方式的各种 约束。例如,通信启用系统206可被配置成使得它允许用户设备只访问与IPS 102相关联 的一个或多个预定地址。这在某种情况下意味着,用户在没有首先通过IPS 102路由的情 况下不能使用用户设备104来直接访问网络可访问站点。这防止用户使用用户设备104作 为对网络可访问资源的无限制的宽带接口 。 更具体地,IPS 102可包括web浏览代理(将在下面更详细地讨论)。当用户试 图访问网络可访问资源226时,通信启用系统206首先将用户引导到浏览代理模块。浏览 代理模块可接着或者拒绝该请求,或者通过允许用户访问网络可访问资源226来接受该请 求。浏览代理模块可在确定是拒绝还是接受访问网络可访问资源226的请求时应用各种规 则(待讨论)。以这种方式,通信启用系统206和IPS 102不允许用户直接访问网络可访问 资源。 在另一情况下,系统200可允许用户直接与网络可访问资源进行交互,即,不通过 IPS 102路由。 A.3.说明性项目提供系统(IPS)和用户设备 图3示出包括IPS 102和用户设备104(其在图l和2中介绍)的更详细描述的 系统300。虽然未示出,但图3所示的系统300可使用图2所示的无线特征。在另一实现 中,系统300可使用不同于图2中示出的某个其它通信基础设施,其可以任选地省略无线通 信的使用。 首先专注于IPS 102的细节,该系统102执行各种功能。不同的模块与这些不同的 功能相关联。 一个模块是内容接收系统302。内容接收系统302从一个或多个内容源304 接收内容。源304可代表任何类型的内容提供者,例如电子书出版商、报纸出版商、期刊的 其它出版商、各种订阅源、音乐源等。 源304可由单个实体管理或可由分开的相应实体来管理。进一步地,管理IPS 102 的实体可对应于管理一个或多个源304的同一实体。可选地或此外,管理IPS 102的实体 可与管理一个或多个相应的源304的一个或多个不同实体进行交互。在后一情况下,管理 IPS 102的实体可与源实体签署协议,以从这些源实体接收内容。 在上面的示例中,与源304相关联的实体可对应于商业组织或其它类型的组织。 在另一情况下,一个或多个源可对应于各个用户,例如项目的创建者。例如,用户可向IPS 102直接提供项目。可选地或另外,用户可向项目的社区储存库提供内容,且IPS 102可从
该储存库接收内容,等等。 内容创建系统302可通过各种机制来获得内容。在一种情况下,内容接收系统302 通过一个或多个网络306来获得内容。网络306可代表WAN,例如因特网、局域网(LAN)或其 某种组合。内容接收系统302可使用任何协议或协议的组合来接收各种形式的信息。例如, 内容接收系统302可通过做出超文本传输协议(HTTP)请求、通过做出文件传输协议(FTP)请求、通过接收订阅源(例如RSS订阅源)等来接收信息。在另一情况下,IPS 102可通过 源304的对等(P2P)网络来获得内容。更一般地,内容接收系统302可用按需方式主动请 求内容(基于信息传输的拉方法)。或者,内容接收系统302可响应于由源304发起并执行 的独立传输操作来接收内容(基于信息传输的推方法)。可选地,内容接收系统302可使用 拉和推传输机制的组合来接收内容。 内容接收系统302可接收项目形式的内容。不作限制,项目可包括电子书、音频 书、音乐、杂志发行、定期刊物、报纸版本、各种订阅源等。在一种情况下,内容接收系统302 可接收以不可被用户设备104读取的格式表达的一些项目(其中用户设备可以任选地被配 置成接收、处理并显示以一种或多种预定义格式表达的内容)。为了解决这种情况,内容接 收系统302可将项目从其原始格式转换成设备可读的格式(例如,不作限制,.mobi格式)。
内容接收系统302将接收到的项目(且可选地将其转换成另一格式)存储在内容 存储308中。内容存储308包括用于以电子形式保留项目的一个或多个存储系统,其位于 单个站点或分布在多个站点上,由一个或多个实体管理。 节B(下文)提供了关于内容接收系统302的操作的额外信息。作为预览,内容接 收系统302包括用于处理预生成项目(例如电子书)、订阅相关项目(例如报纸)和个人项 目(例如用户提供的文字处理文档等)的单独模块。 IPS 102还可包括订阅模块310。订阅模块310管理用户对订阅相关项目的订阅。 通常,订阅基于任何类型的考虑因素或考虑因素的组合来授权用户接收一个或多个订阅相 关项目(其还未被内容接收系统302接收并存储)。不作限制,订阅相关项目类型包括杂 志、刊物、业务通讯、报纸、各种订阅源等。用户可安排通过购买这样的订阅,或更一般地,通 过登记来接收这样的订阅(其在一些情况下可能不涉及费用的支付),来接收订阅相关项 目。可选地或此外,IPS 102可自动登记用户来接收订阅相关项目,而不涉及用户(且可能 没有用户的批准)。后一情况可能在IPS 102(或某个其它实体)登记用户来接收主动提供 的广告、业务通讯等的情况下是合适的。系统300可允许用户决定不参与接收这样的主动 提供的信息。 IPS 102可咨询订阅模块310来确定哪个用户设备应接收新接收到的订阅相关项 目。例如,在接收到杂志Forbes的电子期刊时,IPS 102咨询订阅模块310来确定已支付 来接收该杂志的用户。IPS 102接着将期刊发送到适当的用户设备。 项目递送系统312代表实际上执行内容到用户设备104的传输的功能。在一个说 明性表示中,项目递送系统312包括两个组件待办列表服务器模块314和内容递送模块 316。待办列表服务器模块314通常为用户设备104提供指令。该指令引导用户设备104 取回项目并执行其它操作。内容递送模块316允许用户设备104获得从待办列表服务器模 块314接收的指令中所标识的项目。 更具体地,在信息取回的第一阶段中,待办列表服务器模块314将通知消息发送 到用户设备104。如上所述,在一个说明性实现中,待办列表服务器模块314可将通知消息 作为电话铃声来发送。用户设备104(如果"睡眠")通过醒来来对通知消息作出反应,这 可包括从第一功率状态切换到第二功率状态(其中第二功率状态比第一功率状态消耗更 多的功率)。用户设备104可以任选地对通知消息作出反应,而不正式应答该信号,这避免 或减少了与无线消息相关联的费用。用户设备104接着联系待办列表服务器模块314以请
13求来自待办列表服务器模块314的指令。更具体地,对于每个用户设备,待办列表服务器模 块314维护在这里也称为"待办队列"的条目列表。条目为用户设备提供执行动作的指令。 如将在下面更详细描述的,存在可引导设备来执行的不同指令,其中指令的集合定义了 IPS 设备交互协议。 一个这样的(例如,与协议的GET指令相关联的)动作引导用户设备104例 如通过指定适当的网络地址(例如URL)或适当的自变量来从指定位置取回项目。在第一 阶段中,用户设备104通常取回n个这样的条目,其中n是整数。在一种情况下,数字n可 以是在与用户设备104相关联的待办队列中的项目的总数的子集。在下载过程的第二阶段 中,用户设备104联系内容递送模块316以取回在GET相关条目中所标识的一个或多个项 目。 通常,在接收到通知消息(其可被实现为电话铃声)之后,项目递送系统312以数 据模式例如使用超文本传输协议(HTTP)或某个其它协议或协议的组合来与用户设备104 进行交互。下面另外详细地描述了下载过程(例如,在图8的解释的上下文中)。
IPS 102还可包括商家存储模块318。商家存储模块318提供对项目目录320的 访问,项目目录320又提供关于多个项目(例如电子书、音频书、订阅相关项目等)的信息。 如将在下面更详细描述的,商家存储模块318包括允许用户搜索并浏览整个项目目录320 的功能。商家存储模块318还可包括允许用户购买项目(或更一般地,基于任何条款获取 项目)的功能。在一种情况下,用户可通过用户设备104使用无线通信与商家存储模块318 进行交互。可选地或此外,用户可通过另一类型的设备322,例如个人计算机,可任选地经由 有线链路与商家存储模块318进行交互。在任一情况下,当用户通过商家存储模块318购 买或以其它方式获取项目时,IPS 102可调用项目递送系统312来将项目递送到用户。
IPS 102还包括个人媒体库模块324。个人媒体库模块324为每个用户存储用户 先前的购买的列表。更具体地,在一种情况下,个人媒体库模块324提供关于用户已经拥有 的电子书项目和其它按需选择(例如,"点餐式(a la carte)"选择,例如订阅刊物等)的 元数据信息。个人媒体库模块324还提供到内容存储308中的项目的链接。如将在下面更 详细描述的,为了下载用户已经购买的电子书项目(或类似物),用户设备104联系内容递 送模块316。内容递送模块316与个人媒体库模块324中的许可信息和链接信息进行交互, 以便将项目下载到用户。在一种使用场景中,用户设备104可用这种方式访问内容递送模 块316,以启动对以前被用户购买但由于任何原因被用户设备104删除的项目的下载。
IPS 102还包括浏览代理模块326。浏览代理模块326允许用户通过驻留在用户 设备104上的浏览模块(下面将讨论)来访问一个或多个网络可访问资源328。如在图2 的上下文中解释的,当用户请求对特定网络可访问资源的访问时,系统300首先将用户引 导到浏览代理模块326。浏览代理模块326可接着应用各种环境专用商业规则来确定是否 授权这样的访问,以及如果授权,在什么条款下授权这样的访问。通过该机制,在一个实现 中,阻止用户使用用户设备104来直接访问网络可访问资源328。 IPS 102还包括各种安全相关特征,例如一个或多个授权存储330。授权存储330 提供信息,其使IPS 102的各种组件能够确定是否允许用户执行各种功能,例如访问商家 存储模块318、下载项目、改变设置等。 上面列举的模块列表是代表性的,且不是IPS 102所执行的功能的类型的穷举。 如标签"其它服务器侧功能"所指示的,IPS 102可包括额外的功能,下面描述了其中很多功
现在转到系统300的设备侧特征,用户设备104包括设备待办列表处理模块334。 设备待办列表处理模块334的目的是与项目递送系统312进行交互,以从项目递送系统312 下载项目。即,在下载过程的第一阶段,设备待办列表处理模块334首先从待办列表服务器 模块314接收提示它醒来(如果"睡眠")的通知消息,并联系待办列表服务器模块314以 取回一组n个条目。每个条目包括引导设备待办列表处理模块334执行动作的指令。在第 二阶段,对于GET类型的条目,设备待办列表处理模块334联系内容递送模块316以请求并 取回由GET类型的条目所标识的项目。如将向下面更详细描述的,用户设备104用信号通 知下载过程的成功完成或下载过程的失败。 当下载项目时,用户设备104将项目存储在设备侧存储器336中,设备侧存储器 336在一个示例中是闪存型存储器并且在其它示例中可以是任何其它类型的存储器。虽然 未示出,用户设备104也可与任何其它内容源338交换信息。在一个说明性情况下,其它内 容源338可代表个人计算机或其它数据处理设备。这样的其它内容源338可通过通用串行 总线(USB)连接和/或任何其它类型的连接将项目传输到用户设备104。在这种情形中,其 它内容源338又可通过硬线连接(例如,非无线连接)从IPS 102(或其它源)接收项目。 例如,为了接收音频书,用户可使用个人计算机来从这样的内容的网络可访问源非无线地 下载音频书。用户可接着通过USB连接将音频书传输到用户设备104。在另一说明性情况 下,其它内容源338可代表任何类型的便携式存储器模块,例如闪存型存储器模块、磁性存 储器模块、光学存储器模块等。 用户设备104还可包括阅读器模块340。阅读器模块340的说明性目的是使用用 户设备104来呈现供用户消费的媒体项目。例如,阅读器模块340可用于向用户显示电子 书,以提供模拟基于纸的物理书的阅读的用户体验。 用户设备104还包括内容管理器模块342。内容管理器模块342的目的是允许用 户使用用户设备104来管理可供消费的项目。例如,内容管理器模块342允许用户查看可 供消费的项目的列表。内容管理器模块342还标识相应项目的源一个这样的源对应于设 备存储器336 ;另一源对应于附连的便携式存储器(例如,由其它源338表示);另一源对应 于在个人媒体库模块324中标识的项目(如又可由IPS 102所提供的设备侧元数据所揭示 的);另一源对应于订阅模块310所标识的订阅相关项目,等等。内容管理器模块342允许
用户以各种方式过滤项目并对项目进行分类。例如,用户可选择性地查看来源于设备存储 336的项目。 用户设备104还包括存储交互模块344。存储交互模块344允许用户设备104与 商家存储模块318进行交互。用户可使用存储交互模块344来搜索并浏览全部项目、购买 项目、阅读并创作消费者评论,等等。如上所述,用户还可使用个人计算机等来通过硬线链 路与商家存储模块318进行交互。 上面列举的模块列表是代表性的,且不是用户设备104所执行的功能的类型的穷 举。如标签"其它设备侧功能"所指示的,用户设备104可包括额外的功能,下面描述了其中 很多功能。事实上,图4示出额外的设备侧功能。为了完整起见,图4还标识了上述各种模 块,包括设备待办列表处理模块334、设备存储器336、阅读器模块340、内容管理器模块342 和存储交互模块344。这些特征执行上述功能。
图4示出还包括浏览器模块402的用户设备104。浏览器模块402允许用户设备 104通过IPS 102所提供的浏览代理模块326来访问一个或多个网络可访问资源328。如 上解释的,浏览代理模块326基于一组环境专用规则来允许或拒绝对网络可访问资源328 的访问。如果被允许访问,则设备侧浏览器模块402包括用于解释从网络可访问源接收的 内容并向用户显示这样的内容的功能。 用户设备104还可包括搜索和索引功能404。该功能404的索引方面提供了一种 机制,其用于索引从IPS 102接收的项目和/或用于与由IPS 120或由某个其它源生成并 提供的索引进行交互。特定项目(例如电子书或报纸版本)的索引标识了该项目中的组成 部分(例如,词),从而将组成部分链接到其在项目中相应的位置。功能404的搜索方面提 供了用于搜索项目中的被标识的组成部分(例如,词、短语等)并用于执行其它搜索相关功 能的机制。搜索方面依赖于索引方面。节E提供了关于由搜索和索引功能404执行的操作 的额外信息。 用户设备104还可包括注释模块406。注释模块406允许用户创建注释来补充特 定项目。例如,用户可创建一种类型的注释来标记页面,因此以书签的方式起作用。用户可 创建加亮项目的一部分,例如电子书中的词、短语、句子等的另一类型的注释。用户可通过 将一个或多个附注添加到项目来创建另一类型的注释。通常,注释模块406可存储注释信 息,该注释信息识别所创建的注释的类型、与注释相关联的项目内的位置、注释的内容(例 如,在附注类型的注释的情况下)等。 更具体地,用户设备104可在本地存储注释。进一步地,IPS 102可以任选地将注 释存储在备份存储中;这允许用户在从设备侧存储中删除注释的情况下下载注释。无论存 储在哪里,用户设备104都可在呈现作为注释的"目标"或主题的相应项目时还原注释。例 如,当用户访问在一个或多个先前的场合上注释的电子书时,注释模块406可访问注释信 息并在文本内显示用户的注释。注释模块406还可执行相关功能,其允许用户标识并提取 (例如,"剪辑")项目的一个或多个部分,并将这些部分存储在剪辑文件中。在一种说明性 情况下,剪辑作为未加密文本文件来存储。在一种情况下,注释可与如用户等特定实体相关 联。可选地或此外,注释可与诸如电子书等被注释的项目的副本相关联。
用户设备104还包括主页呈现模块408。主页呈现模块408在用户首次开启用户 设备和/或在其它时刻提供主页。主页可充当一般的门户,从而允许用户访问由用户设备 104所提供的媒体项目和各种特征。在一个说明性情况下,主页可呈现可供使用用户设备 104来消费的一些(或全部)项目的汇总。 用户设备104还包括音频播放模块410。音频播放器模块410提供允许用户回放 例如音乐、音频书等的音频项目并与音频项目进行交互的接口。 用户设备104的上述特征与应用程序有关,用户可与该应用程序进行交互或者另 外该应用程序在用户与用户设备104的交互中起高级作用。用户设备104可包括很多其它 特征来执行可能作为后台型操作的各种较低级的任务。 功率管理功能412执行一个这样的后台型操作。更具体地,功率管理功能412对 应于操作来管理用户设备104所消耗的功率的硬件和/或软件特征的集合。功率管理功能 412通常操作来减少设备104所消耗的功率。功率管理功能412通过选择性地关闭未被积 极使用的特征(或对此假定这些特征没有被积极地使用)来达到这个目标。功率管理功能412通过关闭产生大功率要求的特征,例如与无线通信相关联的一个或多个特征,来实现特 别显著的功率节省。节F提供了关于功率管理模块412的操作的额外信息。
用户设备104还包括性能监视和测试(MT)功能414。 MT功能414维护标识设备 104的行为的性能日志416。 IPS 102和/或其它实体可访问性能日志406以及从通信基础 实施106收集的其它信息,以帮助诊断用户设备104和系统300作为整体的操作中的异常。 MT功能414也可与IPS 102和/或其它实体所提供的测试功能进行交互。例如,MT功能 414可用下面在节C中进一步详细描述的方式来对IPS 102所生成的测试探查作出响应。
用户设备104还包括升级相关功能418。升级相关功能418允许用户设备104接 收并集成携带指令的更新项目(例如软件更新)。在一种情况下,升级相关功能418可自动 接收由IPS 102(和/或由其它实体)提供的携带指令的项目。IPS 102处的管理员可手 动启动升级过程,携带指令的更新项目通过该升级过程被转发到用户设备104。或者,自动 IPS侧例程可启动升级过程。在任何情况下,用户设备可接收携带指令的更新项目,而不涉 及用户或仅最少地涉及用户。在这种意义上,升级过程可被视为"透明的"。在另一情况下, 升级相关功能418可由用户操作,以手动访问携带指令的项目的源(例如规定的网站等) 并从该源下载项目。 在一个实现中,升级相关功能418可将版本信息转发到IPS 102。版本信息标识正 由用户设备104使用的携带指令的内容的版本。IPS 102可确定该版本信息是否过时(通 过参考当前版本信息)。如果过时,则IPS 102可例如通过将携带指令的项目下载到用户设 备104来适当地做出反应。节C提供了关于升级相关功能418所执行的操作的额外信息。
重申,上面列举的模块列表是代表性的,且不是用户设备104所执行的功能的类 型的穷举。如标签"其它设备侧功能"所指示的,用户设备104可包括额外的功能。
A.4.说明性用户接口特征 上述IPS 102可与任何类型的用户设备104进行交互。在一种情况下,用户设备 104是便携型设备,意指被设计成容易从一个位置带到另一位置的设备。在一种特定的情况 下,用户设备104允许用户例如照着模拟用户可能持有物理书的方法的方式,在持有用户 设备104时消费媒体项目。便携式用户设备可采取电子书阅读器设备、便携式音乐播放器、 个人数字助理、移动电话、游戏模块、膝上型计算机等和/或这些类型的设备的任何组合的 形式。可选地或此外,用户设备104可对应于不容易携带的设备,例如个人计算机、与电视 机相关联的机顶盒、游戏控制台等。 不作限制,图5示出可用于与IPS 102进行交互的一种类型的用户设备500。用户 设备500可包括被设计成容易地适应用户的手、通常具有平装本的尺寸的楔形主体。其它 用户设备可采用不同的形状和尺寸。 在一个代表性设计中,用户设备500包括两个显示部分主显示部分502和辅助显 示部分504。主显示部分502呈现由存储交互模块344、阅读器模块340、浏览器模块402等 提供的各种页面。在一种情况下,辅助显示部分504用于呈现光标。用户可定位光标以标 识主显示部分502中的横向相邻的部分。不作限制,在一种说明性情况下,主显示部分502 和/或辅助显示部分504可使用例如马萨诸塞州的剑桥电子墨水公司(E Ink Corporation of Cambridge)提供的电子纸技术来实现。该技术使用非易失性机制来呈现信息;使用该 技术,用户设备500即使在设备断电时也可将信息保留在其显示器上。
用户设备500包括各种输入键和机制。光标移动机制506允许用户在辅助显示部 分504内移动光标。在一种代表性情况下,光标移动机制506可包括光标轮,其可旋转以在 辅助显示部分504内向上和向下移动光标。光标移动机制506可被配置成允许用户通过按 下轮来做出选择。可使用其它类型的选择机制,例如触敏显示器、沿着主显示部分502的边
缘的一系列垂直和/或水平排列的键、在主显示部分502中的一个或多个图形滚动条,等等。 用户设备500还包括各种翻页按钮,例如下一页按钮(508、510)和上一页按钮
512。下一页按钮(508、510)使用户前进到项目中的下一页(相对于当前正显示的页)。上
一页按钮512使用户前进到项目中的上一页(相对于当前正显示的页)。用户设备500还
可包括当用户拇指在机制514上经过时由拇指激励的翻页输入机制514。该用户体验模拟
用户在物理书中翻页的方式(例如,通过"用拇指翻"书)。用户设备500还可包括当使用
浏览模块402时允许用户前进到上一页的后退按钮516。虽然没有示出,但用户设备500可
包括用于打开电源和关闭电源的开关、用于启用和禁用无线接口的开关等。 用户设备还可包括键盘518。键盘518可包括字母数字键。键的形状和方向可以
用在用户以物理书的方式持有设备104时方便用户与键的交互的方式来确定。用户可使用
键盘518来输入搜索项、注释、URL等。键盘518还可包括各种特殊功能键。 图6示出用户可使用图5的用户设备500来选择主显示部分502上的内容的一种
方法。即,假定主显示部分502显示一页内容602。内容602可包括沿着其最右边的垂直
边缘排列的不同选择点。选择点可横向地对应于内容602的相关联的部分。例如,代表性
选择点604对应于该页内容页602中的可选择项目606。辅助显示部分504呈现光标608。
用户可通过旋转光标移动机制506在辅助显示部分504内向上和向下移动光标。 在操作中,用户可操作光标移动机制506,以使光标608与例如图6所示的选择点
604等期望选择点横向对齐。在光标移动机制506是光标轮的情况下,用户可旋转轮以将光
标608沿着辅助显示部分504的垂直范围移动到期望位置。在此实现中,用户可接着在按
下光标轮,以正式选择对应于选择点604的项目606。 关于一种代表性类型的书阅读器型设备的额外信息可在下列同族申请中找到 參2006年3月29日提交的题为"Electronic Media Reader Display (电子媒体
阅读器显示器)"的、发明人为Whitehorn等人的美国序列号11/246, 293 ; 參2006年3月29日提交的题为"Electronic Media Reader Keypad(电子媒体
阅读器键区)"的、发明人为Thomas J. Hobbs等人的美国序列号11/246, 294 ; 參2006年3月29日提交的题为"Wedge-Shaped Electronic Media Reader (楔
形电子媒体阅读器)"的、发明人为Whitehorn等人的美国序列号11/246, 295 ; 參2006年3月29日提交的题为"Page Turner For Handheld Electronic
BookReader Device (用于手持电子书阅读器设备的翻页器)"的、发明人为Gregg E. Zehr
等人的美国序列号11/277, 898 ; 參2006年3月29日提交的题为"Handheld Electronic Book Reader DeviceHaving Dual Displays (具有双显示器的手持电子书阅读器设备)"的、发明人为 Gregg E. Zehr等人的美国序列号11/277, 893 ; 參2006年3月29日提交的题为"Handheld Electronic Book ReaderDeviceHavingAsymmetrical Shape (具有非对称形状的手持电子书阅读器设备)"的、发明 人为Gregg E. Zehr等人的美国序列号11/277, 873 ;以及 2006年3月29日提交的题为"Keyboard Layout for Handheld ElectronicBook Reader Device (用于手持电子书阅读器设备的键盘布局)"的、发明人为 Gregg E. Zehr等人的美国序列号11/277,879。 重申,图5和6示出的用户接口设计是代表性的。具有不同类型的用户接口机制 的其它类型的用户设备可用于与IPS 102进行交互。
A. 5.说明件数据处理设备 图1、2和3所示系统的不同方面可由一个或多个数据处理设备来实现。例如,IPS 102的各种组件可由相应的服务器型计算机和相关联的数据处理设备(例如,路由器、数据 存储设备等)来实现。用户设备104也可对应于数据处理设备。图7示出可用于实现上面 提到的系统的任何方面的通用化数据处理设备702的概况,包括任何服务器侧特征和/或 任何设备侧特征。 处理设备702包括一个或多个处理单元704,例如一个或多个CPU。处理设备702 还包括系统存储器706,其可对应于易失性和/或非易失性存储机制的任何组合。系统存储 器706可存储提供操作系统组件708、各种系统模块710、程序数据712和/或其它组件的 信息。处理设备702通过使用处理单元704来执行系统存储器706所提供的指令来完成各 功能。处理设备702还可包括一种或多种类型的可移动存储714以及一种或多种类型的不 可移动存储716。 处理设备702还可包括一个或多个输入设备718 (键盘、鼠标设备、专用选择键等) 以及一个或多个输出设备720 (显示器、打印机、音频输出机制等)。 处理设备702还可包括一个或多个通信接口机制722。这些通信接口机制722允 许处理设备702与例如远程计算机、书阅读器等其它处理设备724进行交互。通信接口机 制722可包括一个或多个无线接口机制726。在处理设备702代表用户设备104的情况下, 无线接口机制726可允许用户设备726接收电话铃声,并且还在数据模式中与IPS 102进 行通信。 上面列举的模块列表是代表性的,且不是处理设备702所执行的功能的类型的穷 举。如标签"其它设备功能"728所指示的,处理设备702可包括额外的功能。
A.6.下载项目的说明性方式 如在上面各节中解释的,IPS 102的项目递送系统312与设备侧待办列表处理模 块334进行交互,以从IPS 102的内容存储308下载项目。项目递送系统312又包括两个 组件待办列表服务器模块314和内容递送模块316。待办列表处理模块334与待办列表 服务器模块314进行交互以下载条目,其中条目标识要从IPS 102取回的项目。待办列表 处理模块334与内容递送模块316进行交互,以取回条目所标识的实际项目。图8提供了 关于用于将项目从IPS 102下载到用户设备104的一个协议800的额外信息。该协议是说 明性的;它可按各种方式变化以适合不同的环境。 在操作(1)中,IPS的内容接收系统302接收内容并将其存储在内容存储308中。 内容接收系统302可响应于接收新的电子书或其它预生成项目来执行此操作。或者,内容 接收系统302可响应于接收新的订阅相关项目来执行此操作。或者,内容接收系统302可响应于接收由用户转发的个人文档来执行此操作。还有其它情形是可能的。
在操作(2)中,将条目添加到待办列表服务器模块314的适当队列。在选择(例 如购买)电子书的情况下,商家存储模块318将条目添加到待办列表服务器模块314,这对 应于获取所选电子书的指令。在这种情况下,操作(2)相对于操作(1)异步地发生,意味着 这两个操作不是所链接的综合交易的部分。虽然没有在此概略图中示出,但用户购买电子 书(或其它点餐式选择,例如订阅发行等)也提示IPS 102将关于用户购买的信息存储在 媒体库模块334中。在接收到订阅相关项目的情况下,项目接收系统312与订阅模块310结 合将条目添加到待办列表服务器模块314。在这种情况下,操作(2)响应于操作(1)发生, 因此这些操作可被视为单次交易的部分。关于对订阅的新发行的接收,订阅模块310以下 文将要详细描述的方式表示由于用户先前购买订阅而获得的用户对该次发行所有权。在个 人项目的情况下,专用于接收、转换和存储用户个人项目的功能可任选地将条目添加到待 办列表服务器模块314(如果事实上用户选择了通过无线通信路由而不是可选的非无线递
送模式来接收文件的话) 在操作(3)中,待办列表服务器模块314将通知消息发送到设备的待办列表处理 模块334。在一个说明性情况下,通知消息可被实现为电话铃声,其在这里也称为电话归属 (TPH)信号。在项目递送系统312和待办列表处理模块334之间的所有后续通信例如使用 HTTP协议或某个其它协议或协议的组合在数据模式中操作。 在操作(4)中,设备的待办列表处理模块334将醒来(如果在此时它碰巧休眠的 话)并对Tra信号作出响应。通知过程可涉及从第一功率状态切换到第二功率状态,其中 第二功率状态消耗比第一功率状态多的功率。当醒来时,待办列表处理模块334向待办列 表服务器模块314发送消息,该消息请求待办列表服务器模块314转发n个条目,例如,不 作限制,10个条目的列表。n个条目可代表由待办列表服务器模块314为用户设备104维 护的列表中的条目的子集。待办列表服务器模块314通过转发多达n个条目的列表来对该 请求作出响应。 如上所述,每个条目提供传达指令的信封。 一种这样类型的指令命令用户设备104 从IPS 102取回项目。存在将在节B中描述的其它类型的指令。在操作(5)中,假定从待 办列表服务器模块314取回的n个条目中的一个或多个条目对应于GET指令,则待办列表 处理模块334向内容递送模块316发送请求,要求该模块316下载在GET指令中标识的项目。 在操作(6)中,内容递送模块316通过试图从内容存储308取回项目来响应该 对项目的请求。如果内容递送模块316是成功的,则它将所请求的项目转发到用户设备 104(其可被认为是操作(5)的部分,如图8所示)。在一些情况下,例如在订阅源的情况下, 内容递送模块316可试图取回并下载增量文件,其表示所请求的内容的当前版本和内容的 先前版本之间的差异,其中用户设备已经在本地处理了该先前版本。为了不使该介绍性讨 论过度复杂,递增更新操作的细节将在该描述的以后部分中提供。 操作(6)还可包括各种许可检查步骤。例如,对于电子书和其它点餐式选择的情 况,内容递送模块316可咨询个人媒体库模块324,以确定用户是否有接收项目的授权。在 订阅相关项目的情况下,内容递送模块316可咨询订阅模块310,以确定用户是否有接收项 目的授权(例如,通过确定用户是否通常被授权接收特定订阅的发行)。为了不使图8过度复杂,与许可检查相关联的信号流被省略,但该细节将在以后的附图和附加描述中提供。
在操作(5)中,内容递送模块316还可将各种提示下载到用户设备104。 一个这样的提示告知用户设备104IPS 102是否存储了对应于所请求的项目的索引。例如,IPS 102可在它最初接收到项目时或在某个其它时刻生成该索引。另一提示告知用户设备104IPS102是否存储了所请求的项目的注释。这些注释可对应于在一个或多个先前的场合下由用户创建并由IPS 102备份的信息。用户设备104使用该提示来确定是否值得甚至请求IPS102来递送所请求的项目的搜索索引和/或注释。即,如果内容递送模块316通知用户设备104它没有搜索索引,则它不是请求索引的有用履行。提示的使用使用户设备104不需要进行可能的空中的缓慢的提问和响应过程来确定IPS 102是否存储了索引信息和/或注释信息。 假定提示通知用户设备104IPS 102确实具有搜索索引和备份注释中的任一个(或两者)。在操作(7)中,待办列表处理模块334请求并接收这种类型的补充信息。
在操作(8)中,待办列表处理模块334将项目(和可任选地,补充信息)存储在设备存储器336中。 在操作(9)中,待办列表处理模块334将移除消息发送到待办列表服务器模块314。该消息通知待办列表服务器模块314用户设备104已成功地从IPS 102取回了所标识的项目的子集,以及待办列表服务器模块314可因此从适当的队列中移除这些项目。在操作(10)中,待办列表服务器模块314可确认接收到由用户设备104发送给它的移除消息。
所取回的n个条目可以只对应于待办列表服务器模块314所维护的更完整的项目列表的子集。如果是这种情况,则待办列表处理模块334通过取回多达另外n个条目并从内容递送模块316接收由这些条目标识的项目来重复上述操作。 虽然没有示出,但当在下载过程中出现错误时,用户设备104可将错误信息传达给IPS 102和/或反之亦然。
B.系统中的说明性组件 在节A中阐述了系统的概述之后,本节更详细地解释系统的各种组件。虽然组件可在上述总系统的上下文中使用,但组件也可在其它类型的系统中使用。
B. 1.说明件内容接收功能
B. l.a.内容接收系统的概述 如上所述,内容接收系统302从一个或多个源304接收项目,且如果合适,将项目转换成设备可读格式。这样的转换此处在不严格的意义上也被称为"内容创建",因为转换过程不会无中生有地产生内容。内容接收系统302可包括用于处理预生成项目(例如电子书)、订阅相关项目和个人项目的单独模块。即,内容接收系统302包括电子书处理模块902、订阅相关处理模块904和用户提供的处理模块906。 电子书处理模块902接收、处理并存储用户一般以按需方式选择的项目。在一种情形中,例如,电子书处理模块902可从出版商源或其它类型的源接收新的电子书,将该项目转换成期望的格式,并将该项目存储在内容存储308中。该模块902执行的处理还可涉及为新接收到的项目创建搜索索引,为该项目创建细节页,等等。用户接着可在电子书项目被存储之后的某个时间购买该项目,因而启动该项目到用户的下载。电子书接收过程与下载过程分离,意味着这两个操作异步地发生。
订阅相关处理模块904在订阅相关基础上接收、处理并存储项目。在一种代表性情况下,用户可购买订阅,其授权用户接收订阅相关项目的未来发行、版本、分期连载等,例如杂志、刊物、业务通讯、博客、订阅源等的未来发行。这种情况下的接收过程被链接到下载过程,意味着新的订阅相关项目的接收触发该项目到已登记接收该项目的用户的下载。
在订阅相关接收操作的变型中,订阅相关内容处理模块904可自动建立用户订阅并根据这些订阅来递送项目,可能没有用户的巻入和/或批准。该特征可能对向用户提供广告、通知用户各种警告和其它事件等是有用的。作为另一例子,用户可明确购买一种或多种类型的订阅,且作为响应,订阅相关内容处理模块904授权明确购买的订阅以及(用户未明确购买的) 一个或多个其它订阅的分发。在又一情况下,用户可订阅项目的单次出版,例如当用户预先购买还没有出版的项目时;当项目被出版时,订阅相关处理模块904将被调用,以将项目递送到已预先购买该项目的用户。 用户提供的处理模块906创建最初由用户提供的项目。换言之,在第一阶段,用户提供的处理模块906从用户接收项目。项目可对应于任何种类的个人文档,例如Word处理文档、PDF文档等。在第二阶段,用户提供的处理模块906将该项目转换成设备可读格式,并接着将经转换的项目转发回用户。用户可利用他或她的用户设备104来消费经转换的项目。 内容处理模块(902、904、906)中的任一个可依赖于一个或多个转换工具908。每个转换工具提供用于将内容从原始格式转换成定义的目标格式的功能。例如,.mobi转换工具910将内容从原始格式转换成.mobi格式。其它工具(912、…914)将项目从原始格式转换成其它相应类型的设备可读格式。在一种情况下,转换工具908接受预定数量的可接受的原始格式的项目。不作限制,在一个说明性实现中,可接受的原始格式可包括AdobePDF格式、TXT格式、HTML格式、富文本格式(RTF)、微软Word文档格式(D0C)等。图像的可接受格式可不作限制地包括JPEG格式、GIF格式、PNG格式、BMP格式等。
B. 1. b.说明性订阅模块 图10示出关于在图3的上下文中接杀的订阅模块310的额外信息。订阅模块310包括订阅管理模块1002。订阅管理模块1002管理订阅的创建和终止,以及订阅的其它方面。在一种情况下,商家存储模块318可接收用户的订阅购买(或更一般地,用户的订阅获取)。商家存储模块318可将用户的选择传递到订阅管理模块1002。订阅管理模块1002又可例如通过将新的条目添加到存储1004、删除存储1004中的条目、修改存储1004种的条目等来与订阅存储1004进行交互。 更具体地,订阅模块310将可用订阅识别为相应的父类型节点。当接收到并处理订阅的特定发行时,订阅模块310将该发行关联为对应的父订阅的子节点。假定用户购买特定的订阅;在此时,用户与对应于该订阅的特定父节点相关联。此外或可选地,订阅可与设备或其它实体相关联。进一步地,在一种实现中,订阅模块310通过使用户与父订阅相关来管理每一用户对该订阅的各次发行的所有权,而不是该订阅的各次发行。
订阅管理模块1002还与内容递送模块316进行交互,以告知内容递送模块316用户是否拥有适当的授权来下载订阅相关项目(对于按照订阅的条款接收的项目的情况,而不是订阅项目的点餐式选择)。在一种情况下,这样的许可检查在每次订阅的基础上而不是每次发行的基础上发生(在一个特定实现中,与电子书和其它点餐式选择的情况不同,其中许可检查在每个项目的基础上发生)。 B. 1. c.说明性索引生成功能和注释处理功能 除了内容接收过程产生的内容以外,补充信息可与项目相关联。 一种这样类型的补充信息是索引信息。另一类型的补充信息是注释信息。图ll提供了用于产生这样的补充信息的功能的概述。 关于设备索引的创建,ips 102可提供服务器侧索引生成功能1102。服务器侧索引生成功能1102可包括用于生成索引的服务器侧索引生成模块1104。服务器侧索引生成模块1104将所生成的索引存储在服务器侧索引存储1106中。用户设备104可包括用于生成索引的设备侧索引生成功能1108。因此,ips 102和用户设备104具有为每个项目生成索引的能力。 可使用各种规则来确定索引是由服务器侧索引生成功能1102还是设备侧索引生成功能1108提供。根据一个考虑因素,用户设备104将试图使用设备侧索引生成功能1008来生成索引,但如果该过程经证明太慢,则用户设备104可请求服务器侧索引生成功能来生成索引。节e提供了关于可能影响系统300为项目生成索引的方式的额外考虑因素的细节。 关于注释的创建和处理,用户使用设备侧注释生成功能1110来为特定项目创建注释。(设备侧注释生成功能1110可被认为与图4中介绍的注释模块406同义)。用户可创建书签型注释、加亮型注释、附注型注释、剪辑型内容选择等。用户设备104还可创建"最后阅读的页"位置。这种类型的注释标识项目被打开的最后位置。设备侧注释生成功能"io可将注释存储在任何设备侧存储中。用户设备104在显示对应的项目时可取回并重新创建这些注释。例如,当设备再次打开项目时,用户设备104可显示当设备104被关闭时用户正查看的相同的页。 系统300还可依赖于服务器侧注释处理功能1112来在用户设备104处存储用户所创建的注释的备份。服务器侧注释处理功能1112可包括用于在不同时间从用户设备104接收注释的相同名称的模块1114。在一种情况下,用户设备104可将注释转发到ips 102作为当各种事件发生时它执行的操作循环的部分。这样的事件可包括设备104所具有的与
ips 102进行交互(例如,响应于Tra信号的接收,等等)的任何机会。服务器侧注释处理
功能1114可将它从用户设备104接收到的注释存储在服务器侧注释备份存储1116中。
如果ips 102存储备份注释,则它可通过向用户设备104提供提示信息来向用户设备104通知该事实。提示信息伴随着从内容递送模块316转发到用户设备的项目。如果提示指示备份注释是可用的,则用户设备104可选择下载注释。用户设备104.可能希望在这些注释的本地存储被删除等的情况下接收这些注释。
B. 1. d.接收和处理预生成项目的说明性方法 节B. 1的其余部分提供关于用于接收和处理电子书和其它预生成项目、订阅相关项目和个人项目的过程的更多信息。 以图12开始,该图是示出接收和处理电子书项目以及其它预生成项目的一种方法的信号流图。在操作(1)中,电子书处理模块902从出版商或其它源接收电子书或类似物。电子书处理模块902可任选地将电子书项目转换成设备可读格式,为该项目创建索引,和/或在商家存储模块318中创建表示该项目的细节页。
在操作(2)中,电子书处理模块904将项目及其补充部分存储在内容存储308中。
在操作(3)中,用户可操作设备侧存储交互模块344以购买或以其它方式从商家内容存储318获取电子书。 在操作(4)中,电子书处理模块902可将显著信息存储在媒体库模块324中,该显著信息可指示用户已经购买了电子书或其它点餐式项目。如将在下面更详细描述的,内容递送模块316可在递送项目时咨询媒体库模块324,以确定用户是否被授权接收该项目(例如,确定用户是否实际上购买了该项目)。 作为响应,在操作(5)中,商家存储模块318可将对应于所购买的项目的条目添加
到用户的待办列表。该动作提示待办列表服务器模块314将TPH信号立即(或之后的某个
时间)发送到用户设备104,从而通知用户设备104有指令待决以获取项目。 该信号图的上半部分对应于该操作的创建阶段1202,在阶段1202中接收并处理
新的电子书。该信号图的下半部分对应于该操作的递送阶段1204,在阶段1204中用户购买
并接收先前存储的项目。创建阶段1202在递送阶段1204之前,但这两个阶段(1202、 1204)
不以另外的方式链接在一起。 图15示出以流程图形式描述电子书处理操作的过程1500。 在框1502中,电子书处理模块902例如从项目的出版商或某个其它源接收新项目。 在框1504中,电子书处理模块902可任选地将新项目转换成设备可读格式,即,假定项目没有已经以设备可读格式来表示。 在框1506中,电子书处理模块902可任选地创建项目的索引、项目细节页、和/或与项目相关联的其它补充信息。 在框1508中,电子书处理模块902存储经转换的项目和与该项目相关联的任何补充信息。 在框1510中,在稍后的任何时间,商家存储模块318接收用户的项目购买。
在框1512中,电子书处理模块902将购买信息存储在媒体库模块324中。该信息标识用户已购买了特定的电子书或类似物。 在框1514中,商家存储模块318或某个其它服务器侧模块将条目添加到待办列表服务器模块314中该设备的待办队列中。该条目包含指示用户设备104取回所购买的项目的指令。 框1516通常引用项目递送过程,其可被调用来下载项目。以后的附图更详细地描述该操作。 B. 1. e.接收和处理订阅相关项目的说明性方法 图13是示出接收并处理订阅相关项目的一种方法的信号流图。在操作(1)中,订阅相关处理模块904接收并处理订阅相关项目。该处理可涉及将项目转换成设备可读格式、索引项目等。 在操作(2)中,订阅相关处理模块904将所接收到的订阅相关项目存储在IPS内容存储308中。虽然未在图15中示出,但在订阅模块310中,新发行被标识为相应的父订阅的子节点。如上所解释的,在一种情况下,递送时的许可检查在一般的订阅级基础上而不是在每项目(例如每发行)的基础上进行。然而,如果用户作出了对订阅相关项目的单独选择(例如,点餐式选择),则上述电子书许可检查用于管控对项目的访问。 在操作(3)中,订阅相关处理模块904咨询订阅模块310,以确定应接收新接收到
的订阅相关项目的用户。 在操作(4)中,订阅相关处理模块904可在在所标识的订阅用户的每个待办队列中存储一条目。 图16示出以流程图形式描述订阅相关处理操作的过程1600。 在框1602中,订阅相关处理模块904接收新的订阅相关项目,例如杂志发行、报纸
版本、订阅源项目等。 在框1604中,如果合适,订阅相关处理模块904将所接收到的项目转换成设备可读格式,并可任选地产生补充信息,例如设备索引。 在框1606中,订阅相关处理模块904将所接收的(且可能经转换的)订阅相关项目存储在内容存储308中。 在框1608中,订阅相关处理模块904咨询订阅模块310,以确定应接收订阅相关项目的用户。 在框1610中,订阅相关处理模块904在将接收订阅相关项目的用户的每个待办队列中提供一条目。 框1612通常引用项目递送过程,该过程被调用以下载项目。以后的附图更详细地描述该操作。 B. 1. f.接收和处理个人文档的说明性方法 图14是示出接收并处理个人项目(例如个人文档)的一种方法的信号流图。在操作(1)中,用户使用电子邮件功能或其它消息生成功能来将个人项目转发到用户提供的处理模块906。例如,用户可包括个人项目作为电子邮件消息的附件。在一种情况下,用户可转发具有电子邮件消息的单个个人项目。在另一种情况下,用户可转发具有电子邮件消息的多个个人项目,例如,作为电子邮件消息的多个附件。用户提供的处理模块906允许用户例如以ZIP文件或其它形式的包将一个或多个附件绑在一起。 在一种实现中,用户提供的处理模块906配置成使得它只接受来自一个或多个预先授权的电子邮件地址的用户的电子邮件消息。在一种情况下,用户被允许在配置过程中选择电子邮件地址(例如,通过一个或多个配置用户界面页),从而建立允许的电子邮件地址列表。用户提供的处理模块906可最初提供可由用户使用的默认电子邮件地址;用户之后可以改变或补充该默认电子邮件地址。对可允许的电子邮件地址施以限制可能对消除或减少被转发到用户的不需要项目的数量是有用的。不需要项目可能在用户被收取空中递送费用以接收这些项目的情况下特别有害。然而,在另一实现中,用户提供的处理模块906可以不对可用于将个人项目转发到用户提供的处理模块906的电子邮件地址施以任何限制。
在操作(2)中,用户提供的处理模块906可接收并处理所接收到的消息(在消息起源于允许的地址列表上标识的地址的情况下)。这样的处理可涉及解释消息以标识消息的源、经转换的项目将被发送到的目标目的地和/或关于消息的其它显著信息。该处理还涉及从消息总提取个人项目,并将该项目转换成设备可读格式。在一个或多个个人项目以ZIP文件等打包的情况下,提取操作可涉及从该打包文件移除一个或多个个人项目。
上述处理操作可全部成功、全部失败、或部分成功(和部分失败)。部分失败可出现在电子邮件消息包含多个个人项目作为附件,且用户提供的处理模块906成功地转换了这些项目中的一些但未成功转换其它项目的时候。例如,未成功地转换的项目可用不支持的原始格式来表示。在操作(3)中,用户提供的处理模块906可通知电子邮件发送者任何类型的失败(总体失败或部分失败)。在部分失败的情况下,用户提供的处理模块906可例如通过将这些项目递送到用户来继续处理被成功处理的项目。 用户可选择至少两个递送选项来接收经转换的个人项目。在第一选项中,用户可请求将经转换的个人项目以无线形式转发到用户。如果是这种情况,则在操作(4)中,用户提供的处理模块906将一条目添加到待办列表服务器模块314中该用户的待办队列。在第二选项中,用户可请求使经转换的个人项目通过非无线路线对用户可用。例如,用户可请求将经转换的项目以电子邮件形式发送到用户。用户可从电子邮件消息中提取经转换的个人项目,并接着通过硬线链路,例如通过USB连接将经转换的个人项目传输到用户设备104。或者,用户可请求将经转换的项目张贴到网络可访问站点。用户可使用个人计算机或类似机制来访问该站点,下载经转换的项目(通过非无线基础设施),并接着通过USB连接或其它机制将经转换的项目传输到用户设备。操作(5)通常表示一个或多个个人项目通过非无线路线的递送。用户可通常更喜欢使用非无线路线来避免空中下载内容的可能费用。
图17示出以流程图形式描述个人项目处理操作的过程1700。
在框1702中,用户提供的处理模块906从用户接收包括附加的用户提供的项目(或多个项目)的消息,例如电子邮件消息。 在框1704中,用户提供的处理模块906通过咨询允许的地址列表来确定消息是否起源于可允许的地址。如果被允许,则用户提供的处理模块906解析并解释该消息,以及提取附到该消息的个人项目。提取项目可包括从任何种类的打包文件中移除项目。
在框1706中,如果事实上个人项目当前不处于设备可读格式,则用户提供的处理模块906将个人项目转换成这一格式。用户提供的处理模块906可依赖于单个机制来执行该转换;可选地,用户提供的处理模块906可依赖于多个可用转换机制中的任何一个或多个。例如,用户提供的处理模块906可选择被认为最适合于转换特定类型的项目的转换机制;此外或可选地,用户可转发标识待应用于特定项目的一个或多个机制的指令。在一种情况下,如果用户提供的处理模块906未成功地使用一种类型的转换机制来处理项目,则它可尝试另一转换机制,依此类推。 此外或可选地,转换可任选地涉及将个人项目的大小调整成更好地适应过用户设备对经转换的项目的呈现。即,该预备可使经转换的项目在被呈现在设备上时更可读。
此外或可选地,转换可涉及将个人项目旋转例如90度,以再次更好地适应用户设备对经转换的项目的呈现。 此外或可选地,转换可涉及将个人项目分解成多个部分,以便在多个页面中呈现在用户设备上。例如,如框1706的右边所示,用户提供的处理模块906可将个人项目旋转90度,并接着将它分解成多个部分。该操作可适合于具有大图像的某些个人项目(例如,具有扫描的页面图像的PDF文件)。再次,该预备可使经转换的项目在被呈现在设备上时更可读。 在框1708中,用户提供的处理模块906确定用户希望使用什么路线来接收经转换的个人项目。在一种情况下,可隐含在框1708中执行的确定。例如,用户提供的处理模块906可提供用于接收一旦被转换就通过无线路线发送的项目的第一电子邮件地址。用户提供的处理模块906可提供用于接收将通过非无线路线发送的项目的第二电子邮件地址。如果用户将个人项目发送到第一电子邮件地址,则应理解,用户希望通过无线路线来接收经转换的项目。如果用户将个人项目发送到第二邮件地址,则应理解,用户希望通过非无线路线来接收经转换的项目。在另一情况下,用户提供的处理模块906可提供用于接收个人项目的单个电子邮件地址。用户提供的处理模块906可通过解释在消息本身中提供的指令等来判定所选择的递送路线。 假定用户选择了无线递送路线。在这种情况下,在框1710中,用户提供的处理模
块906将一条目添加到待办列表服务器模块314中该用户的待办队列。 框1712通常引用项目递送过程,其被调用以下载项目。以后的附图更详细地描述
该操作。 接着假定用户选择了非无线递送路线。在框1714中,用户提供的处理模块906通过可选的传输机制,例如将经转换的项目用电子邮件发回用户,将经转换的项目张贴到网络可访问站点,等等,来使经转换的项目对用户可用。 如在框1716中所示的,用户提供的处理模块906可查明在处理项目时是否有任何失败。如果是这样,则在框1718中,用户提供的处理模块906将错误通知消息发送到发送者。如果只有部分失败,则处理关于可被成功处理的项目继续。
B.2.说明件待办服备器樽块 本节提供了关于待办列表服务器模块314的说明性成分和操作的额外信息。可以回想,待办列表服务器模块314通过将指令发送到用户设备104,从而指示用户设备104取回项目并执行其它动作来操作。 待办服务器模块314包括待办列表接收模块1802。待办列表接收模块1802从例如在上一节中描述的各种处理模块(902、904、906)等各种源接收条目。例如,当用户购买电子书或类似内容时,当接收到订阅相关项目被接收时,当用户将个人文档发送到IPS 102时,等等,待办列表接收模块1802可接收条目。所有这些事件引起GET类型的条目的生成,该条目用作对用户设备104下载对应于GET类型的条目的项目的指令。其它IPS侧模块可将GET类型的条目添加到队列以通知用户设备104它应下载提供携带指令的升级的项目。
其它类型的条目可传达不同类型的指令。在一种情况下,IPS 102内的实体可生成删除(DEL)指令,其指示用户设备104删除可能以前已经接收并存储在其设备存储器336中的项目。在一种情况下,用户可购买项目,这提示GET类型的条目的生成。但稍后可确定,用户的信誉是不足的,从而阻止项目的购买。在此情况下,IPS 102中的适当实体(例如,商家存储模块318)可将DEL类型的条目添加到用户的待办队列。 在另一情况下,IPS 102中的适当实体(例如监视和/或测试功能)可将命令(例如,PUT指令)添加到用户的待办队列,以请求用户设备104将性能日志和/或其它信息转发到监视和/或测试功能。 在另一情况下,IPS 102中的适当实体可将提示用户设备104在接收到该条目时例如以弹出形式或其它类型的警告相关形式向用户显示信息的信息添加到待办队列。
IPS 102可将另外的额外类型的指令添加到用户的待办队列,以适合不同的应用和环境。
待办列表服务器模块314可包括用于维护多个待办列表的待办列表存储1804,也称为待办队列。更具体地,待办列表服务器模块314可维护用于相应的用户设备的不同队列,例如用于用户设备A的待办列表A、用于用户设备B的待办列表B,等等。用户设备与其自己相应的待办列表进行交互,如图18中的虚线框所示的,其指示邮箱存储A中的条目被指派给用户设备A。 待办服务器模块314还包括设备交互模块1806。设备交互模块1806的目的是允许待办服务器模块314与设备侧待办列表处理模块334进行交互。设备交互模块1806包括通知模块1808。通知模块1808将例如铃声类型的1PH信号形式的通知消息转发到用户设备108。设备交互模块1806其后在数据模式中与用户设备104进行交互。S卩,设备交互模块1806接收用户设备对该用户的待办队列中的n个条目的列表的请求,之后设备交互模块1806提供该列表。设备交互模块1806之后可以接收用户设备的从列表中移除一个或多个条目的指令,其指示用户设备成功地下载了与那些条目相关联的项目。
待办列表服务器模块314包括待办列表管理模块1810。待办列表管理模块1810管理列入用户的待办队列的条目。在一种情况下,实体可将GET类型的条目列入用户的队列,且接着同一实体或另一实体可列入DEL类型的条目,指示用户设备104删除该设备先前被请求获得的同一项目。在这种环境下,在一种情况下,待办列表管理模块1810可删除GET类型的条目,但不是DEL类型的条目。该动作在用户设备104已经接收到GET类型的条目并且可处于下载相应的项目的过程中的情况下是适当的。 在另一情况下,待办列表管理模块1810确定用户的待办队列包含报纸或其它期
刊的几个版本。待办列表管理模块1810可在用户不想阅读旧报纸的前提下移除除了该期
刊的最新版本外的全部内容。可给用户做出覆盖该行为的建立选择的选项。在另一情况下,
用户可用下面讨论的方式通过内容管理模块342来访问报纸的较旧版本。 通常,待办列表管理模块1810帮助确保待办列表队列不包含不一致的或冗余的
条目,或某个其它不合需要的条目类型的内容。 图19示出以流程图形式说明待办服务器模块314的一种操作方式的过程1900。过程1900参考项目到特定用户设备的递送来解释;待办服务器模块314使用相同的过程来将项目转发到其它用户设备。 在框1902中,待办服务器模块314接收一个或多个待办条目。该动作可通过新电子书和类似物的购买、新的订阅相关项目的接收等来触发。 在框1904中,待办服务器模块314将条目存储在适当的邮箱中(其中这样的邮箱与最终将接收该项目的用户设备相关联)。 在框1906中,待办服务器模块314将Tra信号发送到用户设备,以警告用户设备它可能下载的一个或多个条目的存在。更具体地,在一个实现中,Tra调度功能可接收TPH
事件。基于一个或多个考虑因素,Tra调度功能可决定是立即发送Tra信号还是延迟发送Tra信号(例如,通过可能合并多个Tra事件并发送单个Tra信号)。关于Tra调度功能的
额外细节在下文中提供。Tra调度功能可被实现为通知模块1808的特征。 在框1908中,待办服务器模块314响应于用户设备请求这些项目而向用户设备提
供n个条目。 在框1910中,在用户设备成功地执行了条目所标识的动作(例如,下载一个或多
28个项目、删除一个或多个项目,等等)之后,接着用户设备104将移除指令发送到待办服务 器模块314。在操作1910中,待办服务器模块314通过移除待办队列的条目来对该请求作 出响应。 图20示出说明待办服务器模块314的待办列表管理模块(管理模块)1810的一 种操作方式的过程2000。在一种实现中,当例如在图19的操作1902和1904之间新条目被 添加到待办队列时,执行过程2000。 在框2002中,管理模块1810分析待办队列中的条目(以及被添加到待办队列的
候选条目)。更具体地,管理模块1810可特别检查当前存储在等待被发送到用户设备的队
列中的条目。管理模块1810也可考虑已经被转发到用户设备104的条目。 在框2004中,管理模块1810标识出于任何原因可能彼此冲突的、或可引起任何其
它问题的任何两个或多个条目。冲突的一个例子是GET类型的条目与同一项目的DEL类型
的条目抵触的情况。会引起争议的问题的另一例子是其中待办队列包含同一报纸或其它期
刊的几个版本的情况。会引起争议的问题的另一例子是其中待办队列包含完全重复的条目
的情况,等等。 在框2006中,如果可能,管理模块1810采取步骤来解决或减轻因冲突的条目引起 的任何问题。操作2004可能需要对队列进行修改,例如删除队列的一个或多个条目,将一 个或多个条目添加到队列,等等。操作2004可另外或在可选形式中涉及将校正命令发送到 用户设备。 B.3.说明件待办列表处理樽块 图21示出设备侧待办列表处理模块334的细节。图21所示的模块为待办列表服 务器模块314补充图18所示的很多模块。 待办列表处理模块334包括用于从IPS 102接收例如电话铃声形式的通知消息的 Tffl接收模块2102。 Tffl接收模块2102可对Tffl信号起作用,而不正式应答该信号,其后 待办列表处理模块334使用数据模式与IPS 102交换信息。当接收到Tra信号时,用户设 备104可从第一功率状态转变到第二功率状态,其中第二功率状态比第一功率状态消耗更 多的功率。这假定用户设备不是已经处于第二功率状态。 待办列表处理模块334包括用于处理与待办列表服务器模块314的所有交互的 (除了该交互的TPH方面之外)列表服务器交互模块2104。即,列表服务器交互模块2104 可发送从待办列表服务器模块314接收n个条目的列表的请求,且如果取回操作是成功的, 则接着接收这样的列表。在用户设备获得列表中的条目所引用的项目(和/或执行了条目 所标识的其它动作)之后,列表服务器交互模块2104可将移除指令发送到待办列表服务器 模块314,指示待办列表服务器模块314从其待办队列中移除对应的项目。
待办列表处理模块334包括内容递送(CD)交互模块2106。 CD交互模块2106的 目的是与服务器侧内容递送模块316进行交互,以请求并获得在n个条目的列表中标识的 项目。CD交互模块2106也可从内容递送模块316接收各种提示以及补充信息(例如,索 引信息、备份注释等)。CD交互模块2106可将其接收的项目和其它信息存储在设备存储器 336中或某个其它存储介质(或媒体)中。 待办列表服务器模块314还可包括设备侧管理模块2108。该设备管理模块2108 协调待办列表处理模块334的操作。设备管理模块2108又可包括设备侧增量式更新模块2110和设备侧错误处理模块2112。增量式更新模块2110和错误处理模块2112协作地工作 以管控CD交互模块2106所执行的取回操作。该增量式更新操作在稍后的节中详细描述。
作为预览,如果对被请求的特定类型的项目(具有规定的内容)合适,则增量式更 新模块2110可指示CD交互模块2106通过首先请求增量文件来获得所标识的项目。增量 文件表达了所需内容的设备侧版本和该内容的当前版本之间的差异。如果该操作由于任何 原因未成功(如错误处理模块2112所评估的),则增量式更新模块2110可指示CD交互模 块2106请求所识别的项目的完全版本。如将描述的,IPS 102的内容递送模块316包括服 务器侧增量式更新模块,其以对设备侧增量式更新模块2110独立但补充的方式来处理增 量式更新操作。 图22以流程图形式示出描述设备待办列表处理模块334的操作的过程2200。
在框2202中,Tffl接收模块2102从待办列表服务器模块314接收可任选地采用 电话铃声的形式的通知消息。下载过程也可由其它事件发起。例如,该过程可响应于"检查 新项目"命令的激活(例如,通过一个或多个设备菜单变得可用)来发起。该过程也可通过 (从关闭状态)打开用户设备104无线电装置来发起。该过程也可在用户设备104从无线 服务不可用的位置进入无线服务可用的地理位置时发起,等等。 在框2204中,响应于通知消息,用户设备转变到适当的功率状态(如果不是已经 处于该适当的状态)。列表服务器交互模块2104接着从待办列表服务器模块314所维护的 待办队列请求并接收n个条目。 在框2206中,CD交互模块2106请由求n个条目所标识的项目。 在框2208中,CD交互模块2106接收项目(如果下载成功)以及提示。第一提示
通知用户设备104,项目的索引在IPS 102处可用。第二提示通知用户设备104,备份注释
在IPS 102处可用。第一和第二提示也可用于指示索引和/或备份注释分别是不可用的。 在框2210中,CD交互模块2106可任选地下载补充信息(如果被认为适当)。这
样的额外信息包括搜索索引信息和注释信息。 在框2212中,CD交互模块2106在设备存储器336中和/或在某个其它存储位置 中存储取回的项目和补充信息。 在框2214中,列表服务器交互模块2104通知待办列表服务器模块314它已成功 地下载了项目,从而允许待办列表服务器模块314从待办队列中移除对应的条目。
图22示出操作2206-2214可以例如通过有效地下载多个项目并执行其它行动作 为完整过程来用集总方式执行。在另一实现中,在框2204中接收到n个条目的列表之后, 用户设备104可对该列表中的第一条目执行操作2206-2214,接着是对该列表中的第二条 目执行操作2206-2214,依此类推,直到用户设备104处理了所有n个条目。
B.4.说明性内容递送模块
B. 4. a.内容递送模块的概述 图23提供了关于服务器侧内容递送模块316的额外细节。服务器侧内容递送模 块316在用户设备104请求时执行部分地与项目到用户设备104的递送有关的许多功能。
首先,内容递送模块316包括下载模块2302。下载模块2302与CD交互模块2106 协调,从该模块2106接收对项目的请求,且如果可能,将所请求的项目递送到CD交互模块 2106。下载模块2302从内容存储308中取回所请求的项目。下载模块2302也可从索引存
30储1106和注释存储1116中取回补充信息。索引存储1106存储正被请求的项目的索引(如 果可用)。注释存储1116存储正被请求的项目的备份注释(如果可用)。
下载模块2302可包括增量式下载模块2304,其从增量信息存储2306中取回增量 信息。下载模块2302的用途是,如果可能,下载所请求的内容的增量版本,而不是所请求的 内容的完全版本。所请求的内容的增量版本对应于所请求的内容的设备侧版本和所请求的 内容的当前版本之间的差异。更具体地,增量信息存储2306提供各种增量文件,每个文件 对应于所请求的内容的可能的设备侧版本和所请求的内容的当前版本之间的差异(在此, 所谓的当前版本随着每一新版本的接收而改变)。通常,下载模块2302试图转发(从增量 信息存储2306中的增量文件的集合选择的)所请求的内容的增量版本而不是全部内容,以 减少从IPS 102传输到用户设备104的信息量。为了不使图23的讨论过度复杂,增量式更 新过程的细节将在稍后的解释部分中提供。 内容递送模块316的很多模块以各种相应能力来支持下载模块2302。例如,内容 递送模块316包括提示提供模块2308。提示提供模块2308准备并转发标识对特定的所请 求的项目在索引存储1106中是否存在索引的提示。提示提供模块2308还准备并转发标识 对特定的请求项目在注释存储1116中是否存在备份注释的提示。每个提示可被表示为布 尔是_否类型的字段,或某种其它格式。提示提供模块2308可将提示连同下载模块2302 所提供的项目一起发送。 内容递送模块316还包括注释格式化模块2310。注释存储116可将通用形式的备 份注释存储在注释存储1116中。假定备份注释可用,且用户设备104请求这些注释,则注 释格式化模块2310可将备份注释从其通用形式转换成与对应的项目本身的格式,例如电 子书项目本身的格式兼容的形式。下载模块2302接着可用期望的格式将注释转发到用户 设备。 在一个实现中,注释存储116充分描述上面标识的所有类型的注释。在另一说明 性实现中,注释存储1116只存储注释的位置和用户附注的内容。在这种情况下,注释存储 1116可以不存储与加亮型和剪辑型注释相关联的实际摘录。在一个实现中,注释格式化模 块2310可联系内容存储308,以基于注释的所存储的位置来请求摘录。这允许系统重建加 亮型和剪辑型注释。 内容递送模块316还包括加密模块2312。加密模块2312可以任选地为特定的用 户加密待递送到用户设备104的项目。这可包括从内容存储308接收项目,并将数字权限 管理(DRM)和/或其它保护相关处理应用于该项目的首部。加密模块2312无需在将加密 相关处理应用于项目之前将项目的整个副本存储在存储器中。换言之,加密模块2312可使 项目流输出到用户设备104,在适当时将加密应用于项目的各部分。在一种情况下,加密模 块2312将加密应用于它递送的所有项目。在另一情况下,加密模块2312将加密应用于一 些项目(例如电子书、订阅相关项目等)但不应用于其它项目(例如个人项目和IPS生成 的消息等)。 内容递送模块316还包括个性化模块2314。个性化模块2314可在项目被递送到 用户之前将个性化信息插入项目中。例如,项目可包括一个或多个占位符字段。个性化模 块2314可用例如用户的名字等个性化信息来填充占位符字段。 内容递送模块316还包括元数据注入模块2316。顾名思义,元数据注入模块2316在项目被递送到用户之前将元数据插入到项目中。元数据可包括项目的作者的名字。如将 讨论的,内容管理模块342可在一个或多个用户界面页中将该名字信息显示给用户。元数 据还可包括指定项目的文本开始的位置的信息。该位置信息启用了可通过用户设备104所 提供的一个或多个菜单来调用的"转到开始部分"特征。元数据还可包括项目的自定义标 题。该元数据允许内容递送模块316在一页或多页中以例如"谢谢你,John"等个性化消息 来呈现项目,等等。最后提到的特征与上述个性化模块2314的作用重叠。
注入项目中的元数据还可包括项目标识信息,例如商家存储模块318用来标识项 目的唯一 ID号。更具体地,在一个说明性实现中,当内容接收系统302接收并处理内容时, 它不将ID号与内容存储308中的项目本身耦合在一起。内容接收系统302将ID信息存储 在IPS 102中的别处。在特定项目的递送时,元数据注入模块2316可将项目与其ID号码 相关联,并将此信息组合作为包来发送。例如,元数据注入模块2316可在递送之前将ID信 息插入到项目的首部中。 在一种情况下,加密模块2312和元数据注入模块2316 (和/或其它模块)可作为 分立操作来连续操作。在另一情况下,加密模块2312和元数据注入模块2316 (和/或其它 模块)可通常作为单个集成操作来操作。 内容递送模块316还包括授权模块2318。授权模块2318确定用户是否被授权接 收所请求的项目。授权模块2318可参考授权信息的一个或多个字段,例如指示用户是否适 当地支付了所请求的内容费用的信息,来做出其决定。如上所解释的,对于电子书项目和其 它点餐式选择,授权模块2318可与媒体库模块324进行交互,以确定用户是否购买(或以 其它方式被正当授权接收)了项目。对于按照订阅提供的订阅相关项目,授权模块2318可 与订阅模块310进行交互,以确定用户是否通常被授权接收特定订阅的发行(例如,无需进 行每项目授权询问)。 内容递送模块316还包括下载限制模块2320。下载限制模块2320可被实现为授 权模块2318的一部分或单独的模块。下载限制模块2320可任选地将项目的下载限制为最 大数量的设备,例如在一种说明性情况下是5个设备。 上面列举的模块列表是代表性的,且不是内容递送模块316所执行的功能的类型 的穷举。如标签"其它模块"2322所指示的,内容递送模块316可执行额外的功能。进一步 地,在一些实现中,内容递送模块316可省略在图23中标识的一个或多个模块。
图24以流程图形式示出解释内容递送模块316的一个说明性操作方式的过程 2400。图24所示的操作的顺序可用各种方法来修改。进一步地,可省略图24中的一个或 多个框。进一步地,可同时执行一个或多个操作;在这种情况下,图24将这些功能示为不同 的操作,以便于这些功能的解释。 在框2402中,内容递送模块316从待办列表处理模块334接收对一个或多个项目 的请求。为了便于讨论,该流程图将假定用户设备104请求了单个项目。
在框2404中,内容递送模块316执行例如如上关于授权模块2318和下载限制模 块2320所述的各种授权相关操作。 在框2406中,内容递送模块316从服务器内容存储308取回所标识的项目。
在框240S中,内容递送模块316可任选地例如通过将用户的名字插入项目中的占 位符字段来个性化该项目。
在框2410中,内容递送模块316可将标识号分配给项目和/或将其它元数据注入 项目中。 在框2412中,内容递送模块316可任选地为特定用户加密它递送的每个项目的首 部。如上所解释的,内容递送模块316可将加密应用于项目,而不需要将整个项目存储在存 储器中。 在框2414中,内容递送模块316可将准备好的项目转发到用户设备104。项目可 伴随有提示,其分别描述IPS 102是否维护项目的索引和项目的备份注释。
在框2416中,内容递送模块316可接收对补充信息的请求,例如对服务器侧索引 的请求和/或对备份注释的请求。 在框2418中,内容递送模块316可将所请求的补充信息转发到用户设备104。
在框2410中,该过程将标识符分配给项目,并可注入其它元数据。
图25示出解释用户设备104可在接收到项目时处理项目的一种方式的说明性程 序2500。 在框2502中,用户设备104接收所请求的项目。项目对应于特定类型的内容,其 可以是电子书项目、订阅相关项目、对用户查询的大量回答等。项目也可由也称为键的一个 或多个标识号来表示。在一种情况下,订阅相关项目的每个版本或发行被分配唯一的标识号。 在框2504中,用户设备104确定项目的类型和键(例如标识号)是否与用户设备
104当前存储的项目的相同。如果相同,对于电子书项目和订阅相关项目,这意味着用户设
备现在正接收它已经拥有的项目的完全冗余的副本。在订阅源的情况下,这可意味着用户
设备104正接收订阅源的至少一个新版本,该新版本可相对于该订阅源的先前版本添加和
/或省略一个或多个部分。可使用版本标识符来标识所接收的订阅源的版本。 在框2506中,如果认为项目是冗余的,则用户设备104可合并新接收的项目与具
有相同的类型和键的先前存储的项目,从而只创建该条目的单个记录。 在框2508中,如果不认为项目是冗余的,则用户设备可将新接收的项目存储为不
同的新项目。在一个实现中,在这个时刻,用户设备104也可检查接收到的提示,并下载适
当的补充信息(注释备份信息和/或索引信息等)。 B.4.b.增量式更新的说明性方法 图26-29描述了用于执行增量式更新的过程。该过程的一般目的是如果可能,向 用户设备提供所请求的项目的增量版本,而不是所请求的项目的完全版本。所请求的项目 的增量版本表示设备已经拥有的内容的版本(例如,"设备版本")和内容的当前版本之间 的差异。当接收到增量版本时,设备通过将项目的增量版本合并(例如修补)到现有的先 前(设备)版本中来构造所请求的项目的完全版本。该过程试图将所请求的项目的增量版 本提供给用户设备104,以帮助减少从IPS 102传输到用户设备104的信息量以及与其相关 联的成本(特别是对于无线通信成本)。 增量式更新操作发生在IPS 102和用户设备104两者上。这两个操作彼此独立地 发生,但这些操作也互相补充。图27和28描述了从IPS 102的观点看的增量式更新过程, 而图29描述了从用户设备104的观点看的增量式更新操作。 以图26开始,该图示出其中执行增量式更新是适当的一种情形的概略图。在这种情况下,用户已订阅来接收订阅源。订阅源对应于在预定时间(例如,每小时一次)或响应 于其它触发事件提供给用户的信息部分的集合。例如考虑提供标题新闻报道的订阅源的情 况。这样的订阅源可每小时转发头10个新闻报道的列表。如果时刻n的集合规定了参考 内容,则时刻n+1的集合可被视为时刻n的内容的以后"版本"。 订阅源的一个版本可包含与该订阅源的即刻先前版本共同共享的一个或多个部 分。在新闻订阅源的情况下,在特定的一天在2:00PM的头10个新闻报道可包括在1:00PM 标识的很多相同的新闻报道。且也许所有的新闻报道可以是相同的。在这种情况下,希望 只下载2:00PM新闻订阅源的增量版本。该新闻订阅源的增量版本只标识2:00PM新闻订阅 源中不同于1:00PM新闻订阅源的那些部分。内容的当前版本可在至少两个方面不同于该 内容的先前版本。首先,内容的当前版本可添加在该内容的先前版本中不存在的一个或多 个部分。其次,此外或可选地,内容的当前版本可移除在内容的先前版本中存在的一个或多 个部分。 图26表示内容序列从版本K到版本V4的的演变。版本V4表示在最当前的时间 点的内容的当前版本。在版本K中,内容包括基础部分&和补充部分A2。在版本V2中,内 容包括基础部分&以及补充部分A2和A3。在版本V3中,内容包括基础部分&以及补充部 分4、~和~。最后,在版本V4中,内容包括基础部分^以及补充部分~和~,然而此时省 略了在版本V3中存在的部分A2。 增量式更新程序的一个实现所采用的说明性策略是预先编译表示当前版本(V4) 和每个先前版本之间的差异的增量文件。例如,第一增量文件表示版本V4和版本V3之间的 差异。该增量文件仅由移除了部分4的指示组成。第二增量文件表示版本l和版本^之 间的差异。该增量文件由移除了部分4的指示以及包含在部分~中的信息(其相对于版 本、被添加)组成。第三增量文件表示版本V4和版本^之间的差异。该增量文件由移除 了部分A2的指示以及对应于部分A3和A4的信息(其相对于版本K被添加)组成。在增量 文件中,不需要再次产生被省略的部分;对被省略的部分的引用就足够了 。
在增量式更新程序的应用阶段中,内容递送模块316确定用户正请求的项目的身 份,并确定用户是否有被请求的内容的先前版本,例如版本^、版本^、版本K等。不作限 制,在一种情况下,用户设备104可在其发送到IPS 102的请求中所包括的首部信息中通知 内容递送模块316它拥有(如果有)的内容的版本。内容递送模块316首先试图访问表示
所请求的内容的当前版本和所请求的内容的设备版本之间的差异的增量文件。如果可获得 该增量文件,且如果确定了发送增量文件而非整个文件更高效,则内容递送模块316发送 增量文件,而不是整个所请求的项目。否则,内容递送模块316发送整个所请求的项目。如 所述,用户设备104执行并行的分析,首先请求增量文件。如果用户设备104未及时地接收 并成功处理增量文件,则它可要求所请求的内容的完全版本。 图27-29以流程图形式使上面的解释形式化。以图27开始,该图示出用于形成增 量文件的过程2700。该操作可作为后台过程由IPS的内容递送模块316执行,且特别由图 23所示的增量式更新模块2304执行。 在框2702中,内容递送模块316标注接收到内容的新版本,例如订阅源的新版本、 报纸项目的新版本等。 在框2704中,内容递送模块316形成一系列增量文件,其表示当前版本Vn和一系列先前版本Vn—p Vn—2、 Vn—3等之间的差异。内容递送模块316可应用各种规则来确定它应计 算多少增量文件。在一种情况下,递送模块316可按预定数量给增量文件的数量定上限。可 以回想,目的是将所请求的项目以最高效的方式下载到用户。因此,在另一情况下,递送模 块316可在其确定增量文件变得太大和/或太复杂以致于下载整个项目而不是增量文件可 能更高效时停止形成增量文件。内容递送模块316可将增量文件存储在增量文件存储2306 中(图23所示)。增量文件可与其对应的完全项目一起存储或另外通过引用信息链接到其 对应的完全项目。 在框2706中,内容递送模块316可从前一次迭代中移除不再相关的任何增量文 件。例如,在该过程的前一次迭代中,版本Vn—工是项目的最当前的版本,且所有的增量文件 都是参考该版本来编译的。在一个实现中,内容递送模块316可基于用户将需要所请求的 项目的最当前的版本的假定来删除所有这些陈旧的增量文件。 图28示出表示增量式更新过程的应用阶段的过程2800,其中用户设备做出对应 于所请求的内容的项目的特定请求。内容递送模块316的增量式更新模块2394可用于执 行过程2800。 在框2802中,内容递送模块316接收对项目的请求。内容递送模块316可通过各 种机制,例如通过从用户设备的HTTP请求的首部读取版本信息,来确定用户设备104是否 具有所请求的内容的先前版本Vk。 在框2804中,内容递送模块316试图访问对应于当前版本Vn和设备版本Vk之间 的差异的增量文件。在一种情况下,内容递送模块316可进行n次尝试,例如,不作限制,3 次尝试,来访问该增量文件。 如果内容递送模块316成功地访问了增量文件(如在框2806中确定的),则它可 提供增量文件来代替完全版本。即,在框2810中,内容递送模块316发送增量文件而非完 全项目。否则,在框2812中,内容递送模块316发送整个项目。 上述操作方式基于一假定图27的增量形成过程2700操作来仅为认为传输增量 文件而不是完整版本更高效的那些情况存储增量文件。在这种情况下,如果过程2800没有 找到相应的增量文件,则它通过立即访问和下载完全版本来继续。在其它情况下,关于发送 增量文件而非完整版本是否更高效的确定可作为图28的下载过程的一部分来执行,例如, 如可任选判定框2808所指示的。不管进行增量相对完全决定的时刻是什么,该决定都可基 于很多因素 參首先,增量文件相对于整个项目的大小是相关的。如果增量文件大于整个项目, 则传输增量文件来代替整个项目没有意义。在这种情况下,内容递送模块316决定传输整 个文件。 參其次,决定过程可考虑与增量文件比较整个项目可被更好地压縮(和/或加密) 的事实。因此,在确定相对大小时,决定过程可检查相对于整个项目的压縮尺寸的增量文件 的压縮尺寸。 參第三,存在有限数量的项目,其被需要来在用户设备处将增量文件修补到预先
存在的版本中,并执行唯一地与处理增量文件(而非整个项目)相关联的其它操作。决定
过程可选择在决定传输增量文件而非整个项目是否更高效时考虑时滞因素。 图29示出阐述用户设备104所执行的补充增量式更新操作的过程2900。图21的
35增量式更新模块2110和错误处理模块2112可用于执行该过程2900。 在框2902中,作为默认规则,用户设备104试图访问所请求的项目的增量文件版 本。如果成功,则用户设备104试图将增量文件修补到它当前拥有的内容的版本中。用户 设备104可任选地进行预定数量n次尝试来执行该操作。 在框2904中,用户设备104确定其是否成功地获得所请求的项目作为增量文件修 补。如果成功,则该过程结束。如果不成功,则在框2906中,用户设备104可请求整个项目。 用户设备106可在确定是下载增量文件还是完整项目时应用其它考虑因素(作为成功/失 败类型的考虑因素的替代或补充)。 重申,服务器侧内容递送模块316可与用户设备104并行执行其增量时更新操作
(按照过程2800),用户设备104执行其自己的增量时更新操作(按照过程2900)。 IPS 102
或用户设备104可决定放弃其取回所请求的项目的增量文件版本的尝试。 B. 5.递送管理功能 B. 5. a.递送管理功能的概述 在上面形成的例子中,IPS 102通过接收项目、将条目添加到适当的待办队列(在 订阅相关项目的情况下)、接着发送出Tra信号以通知用户设备访问该条目并随后下载相 应的项目来操作。本节描述了被设计成使该通用过程更高效和/或实现其它目标的各种管 理功能。 图30示出内容递送管理部件3000的集合。第一特征相应于可靠履行功能3002。 可靠履行功能3002通过在项目准备好被递送到用户设备的时间点之前执行递送相关处理 来操作。这样的前期处理可包括在项目准备被递送的时间点之前将条目添加到设备的待办 队列。 第二特征对应于Tra调度功能3004。 Tffl调度功能3004通常试图调度Tffl信号 的传输,以减少用户设备104所消耗的功率。更具体地,用户设备醒来并对1TO信号起作用 (例如,通过从待办队列接收条目并下载项目等)是相对昂贵的(从功耗的观点看)。在一 个代表性情况下,这一事件消耗电池寿命的总容量的大约1%。为了解决这种情况,WH调
度功能3004可以不对于对待办队列进行的每个可报告的添加发送Tra信号,而相反,将多
个可报告的事件组合在一起并发送出单个Tffl信号。Tra调度功能3004在确定何时和如何 发送出1PH信号时运用其它考虑因素,如将在下面更详细描述的。在一个实现中,1PH调度 功能3004可被实现为通知模块1808的特征。 第三特征对应于延迟通知功能3006,其也称为报童功能。延迟通知功能3006确定
出版商在向IPS 102提供与订阅有关的项目时延迟了。作为响应,延迟通知功能3006可标
识项目的所有接收者。延迟通知功能3006可准备并发送出个性化的延迟通知给接收者。 第四特征对应于订阅发起功能3008。订阅发起功能在用户首先打开设备并联系
IPS 102之前禁止开始订阅。此规定可应用于基于费用的和免费的订阅。 上面列举的特征列表是代表性的,且不是IPS 102所执行的功能的类型的穷举。
如标签"其它协调功能"3010所指示的,IPS 102可包括额外的管理功能。IPS 102也可省
略或禁用图30所示的一个或多个特征。 以下各小节各自更详细地描述了每个特征。 B. 5. b.说明性可靠履行功能绍的用于实现可靠履行功能3002的过程3100的流程图。 在框3102中,可靠履行功能3002接收开始可靠履行处理的触发事件。该事件可
对应于订阅相关项目的接收等。 在框3104中,可靠履行功能3002执行前期处理以准备将Tffl信号发送到被登记 来接收项目的一个或多个设备。在一种情况下,可靠履行功能3002可将条目存储在与预定 接收项目的设备相关联的待办队列中。在可靠履行功能3002将条目添加到待办队列时,内 容接收模块302可能正在转换项目,因此在此时,项目还没有准备好被转发到用户设备。为 了防止待办列表服务器模块314在将条目添加到队列时过早地发送出1PH信号,条目可用 将它标识为未准备好发送的标志来标记。该机制也可以在设备请求条目作为下载过程的一 部分(例如,在图22的框2204中)时,可任选地有效地将条目对设备看到的列表隐藏。
在框3106中,当项目准备好被发送时,可靠履行功能3002允许Tm信号被发送到 接收设备。在上述订阅相关项目的情况下,可靠履行功能3002确定内容接收系统302何时 完成转换内容并将它存储在内容存储308中。在此时,可靠履行功能3002可改变待办队列 中的条目的状态,以指示Tffl信号可被发送到用户设备。 可靠履行功能3002可执行其它类型的前期动作。通常,前期动作加速了项目的递 送,因为这些操作可与其它操作并行执行和/或当IPS 102的部分本来是空闲的或未被完 全使用时执行。 B. 5. c.说明性延迟通知功能 图31是上面介绍的用于实现延迟通知功能3006的过程3200的流程图。过程3200 关于特定的订阅相关项目来描述,但过程3200可对订阅相关项目和/或其它类型的项目的 集合总体地重复。 在框3202中,延迟通知功能3006确定出版商或其它源在向IPS 102提供订阅相 关项目时迟了。或者,延迟通知功能3006可确定对于项目存在某个其它延迟源。延迟通知 功能3006可基于关于项目何时被正常接收的信息来作出该确定。这样的信息可由手动输 入的计时信息来表示。如果延迟通知功能3006确定在项目的预期接收之后经历了预定量 的时间,则它可将项目标识为延迟。延迟通知功能3006可从各种源,例如从IPS 102的管 理员、从出版商本身等收集关于项目的预期接收的信息。可选地或此外,延迟通知功能3006 可编译反映接收并处理项目的典型计时的经验准则。在做出延迟性确定时,延迟通知功能 3006可考虑用户设备接收内容的时区。例如,第一延迟阈值可应用于在美国东海岸操作其 用户设备的用户,而第二延迟阈值可应用于在西海岸操作其设备的用户。阈值的差异可说 明,与西海岸比较,可能有更少的时间来对东海岸上被延迟的递送作出反应。更具体地,假 定报纸正常在东海岸时间4:00AM到达。比起西海岸用户,东海岸用户更关心递送的延迟, 因为东海岸用户将在西海岸用户之前醒来,并期望在早餐时接收到其报纸。
在框3204中,假定确定项目延迟了 ,则延迟通知功能3006可向预定接收该项目的 每个用户发送出延迟通知。延迟通知功能3006可咨询订阅模块310以确定预定接收该项 目的用户组。延迟通知功能可任选地个性化提供给用户的延迟通知,例如通过将用户的名 字插入到通用延迟通知消息中的占位符字段中。延迟通知消息也可被定制,以标识延迟出 版物的名称、延迟发行的日期等。 在框3206中,延迟通知功能3006向适当的用户发送出延迟通知。延迟通知功能
373006可通过在适当的时间发送延迟通知来考虑订户各自的时区。 在一种情况下,延迟通知功能3006可将延迟通知作为文档来发送,例如像上述任 何其它类型的项目一样。延迟通知功能3006可通过将GET类型的条目添加到适当的待办 队列中来递送延迟通知。在另一实现中,延迟通知功能3006可在待办队列中发送特殊命 令。这些命令提示用户设备在接收到该命令时显示通知用户该项目将被延迟递送的适当的 弹出消息等。延迟递送模块3006可任选地在递送项目连续失败时发送一系列交错的延迟 消息,每个消息包括道歉、补救等的适当的逐步升级。 在框320S中,当(且如果)延迟发行被递送时,延迟通知功能3006可从用户设备 移除延迟通知项目(例如,通过经由相应的待办队列将DEL类型的命令发送到用户设备)。 该规定给了 IPS 102机会来避免用户打开其设备看到被递送的项目和项目延迟的通知时 被混淆。 B. 5. d.说明性电话归属(TPH)功能 图33是示出用于实现上面介绍的1PH调度功能3004的过程3300的流程图。可以 回想,Tra调度功能3004的一个说明性目标是调度Tra信号来减少用户设备通电、接收TPH 信号并下载条目和项目所需的次数。Tra调度功能3004部分地通过基于各种规则将多个
Tra信号聚集成单个Tra信号和/或通过调节发送Tra信号的时机来达到这个结果。过程
3300将关于与特定的用户设备相关联的说明性待办队列来描述,但此处所阐明的操作可对 多个待办队列和相关联的用户设备执行。在一个实现中,1PH调度功能3004可被实现为通 知模块1808的特征。 在框3302中,假定用户的待办队列包含至少一个条目。如果是这样,则在框3302
中,Tra调度功能3004确定向用户设备发送Tra信号或将这一消息推迟到某个时间之后是
否合适。待办列表服务器模块314可通过用非发送状态标记该条目来对待办队列中的条目 禁止发送TPH信号。该状态可在待办列表服务器模块304希望发送出TPH信号时改变。
在做出其决定时,Tra调度功能3004可依赖于下列考虑因素中的任何一个或下列 考虑因素的任何组合。很多考虑因素包括与其它考虑因素交叉的方面。
參1PH调度功能3004在决定何时发送1PH信号时可考虑一个或多个时间相关因 素,例如一天中的时间信息。例如,如果用户可能已经在白天期间使用设备104,则Tffl调
度功能3004可能更希望在白天而不是晚上发送Tra信号;在这种情况下,发送Tra信号可
能不会使设备通电,因为设备可能已经被通电。另一方面,如果在晚上而不是白天进行无线
通信有相当大的成本节省,则Tra调度功能3004可能更希望在晚上而不是白天发送Tra信
号。在时间相关考虑因素的另一应用中,Tra调度功能3004可配置成每t个时间间隔,例
如每半小时、每小时等发送单个Tra信号(假定已在间隔t中登记了至少一个Tra发送事件)。 參Tra调度功能3004可在确定何时发送Tra项目时将项目的类型考虑为重要的。
例如,明确地购买电子书的用户可能对在他或她购买之后不久接收该项目相对感兴趣,因 为用户做出了对该项目的明确请求,而且,该明确动作是最近的事件。另一方面,刊物或博 客的接收者可能较少地关心在发行变得可用之后立即接收发行,因为用户对该刊物保持主
动地感兴趣的迹象不明显。因此,Tra调度功能302可在用户进行购买之后立即发送电子
书的Tra项目。但Tra调度功能3004可在自动接收到订阅相关项目之后延迟发送Tra信
38号。更一般而言,Tra调度功能3004可给项目类型分配不同的优先级。Tra调度功能3004 可接着在确定多快地发送1PH信号时将待办队列中的项目的优先级考虑为一个因素。为了 列举另一个例子,IPS 102处的升级功能可将一条目添加到设备的待办队列,该条目指示设 备下载携带指令的更新。该条目可被标记为非常高优先级项目,要求TPH信号被立即发送。
參1PH调度功能3004在确定何时发送Tffl信号时还可考虑条目被存储在待办队
列中的时间长度。Tra调度功能3004可能不希望将发送Tra信号延迟太多的时间。 參1PH调度功能3004在确定是否下载Tffl信号时也可考虑用户所展示的先前的 行为。更具体地,在一种情况下,TPH调度功能3304可基于很多用户的总体行为可同样应用 于一特定用户来考虑该总体行为。在另一情况下,1PH调度功能3004可以可选地或另外地 考虑特定用户的独特行为。为了列举一个例子,特定用户可以有独特的行为模式,以便该用 户在一天的一个时刻而不是另一个时刻操作其用户设备。1PH调度功能3004也可在用户在 一天期间执行的动作的类型中标识各模式。基于这些考虑因素,Tra调度功能3004可在用
户被预期已经使用设备,因而在通电状态中操作设备的时间期间发送Tra信号。根据另一
例子,总体地考虑,通常用户可能希望在一天的特定时刻接收特定类型的内容。例如,用户 可能希望在出发去工作之前阅读报纸。在这种情况下,Tra调度功能3004可试图在5:00AM 之前发送THP,但当假定用户正睡着时,1PH调度功能3004不需要以其它方式整夜发送Tra 信号。 參1TH调度功能3004还可收集关于用户对设备104的当前使用的信息。例如,Tffl 调度功能3004可确定用户将用户设备106插入永久电源(例如AC电源插座等)中。如果 可确定用户将设备104插入非耗尽的电源,则1PH调度功能3004更适合于将1PH发送到用 户设备106。 Tra调度功能3004还可接收揭示用户设备104的电池水平的信息。如果设备 的电池状态为低,则1PH调度功能3004可能更不愿发送Tra信号。 參Tra调度功能3004还可考虑存储在待办队列中的条目的数量。如果用户的待
办队列变得充满了未报告的条目,则Tra调度功能3004可能更适合于发送Tra信号。Tra
调度功能3004还可考虑最近的TPH发送行为速率。 參Tra调度功能3004还可考虑用户的明确偏好,例如,如由用户通过设置型页面 等输入的。 參1PH调度功能3004还可为订阅相关项目标识用户是否刚刚购买了该项目。刚 刚购买了项目的用户可能更渴望接收该项目的发行,这与在延长的一段时间内定期接收发 行的用户形成对比。 參Tffl调度功能3004在确定发送Tffl信号的时机时还可考虑将被下载的项目的
大小。例如,Tra调度功能3004可选择在夜晚为特定的大项目发送Tra信号,例如以便引
起较少的空中下载相关费用。
參又一些其它考虑因素可能影响Tra调度功能3004所做出的Tra调度决定。作
为有关的要点,注意到用户设备104可被配置成使得它响应于各种事件独立地联系待办服 务器模块314(例如,没有被Tffl信号提示这么做),例如当设备由于任何原因而通电时,等 等。用户设备可接着下载其队列中可能在当时待决的任何条目。 在框3304中,1PH调度功能3004在最终决定是否发送Tffl信号时对一个或多个 上面标识的因素进行加权。不同的环境可将不同的权重应用于这些考虑因素,从而影响哪个考虑因素可优先于其它考虑因素。在一种情况下,每个用户也可定义应用于WH信号的 发送的权重,从而控制上述各种因素的相对重要性。 在框3306中,Tra调度功能3004发送出Tffl信号,提示用户设备取回条目并下载
与条目相关的相应项目。 B. 5. e.说明性订阅发起功能 图34是示出用于实现上面介绍的订阅发起功能3008的过程3400的流程图。
在框3402中,订阅发起功能3008确定用户购买了新订阅。 在框3404中,订阅发起功能3008将对用户的关于订阅的发行或版本的收费延迟
到用户实际上开始下载订阅相关项目之后,或延迟到响应于其它消费触发。这一措施部分
地是对用户的一种恩惠。 B.6.说明件归属呈现樽块 在图4的上下文中介绍的归属呈现模块408提供了主页,用户可通过该主页与用 户设备104进行交互。归属呈现模块408可在主页上显示各种信息。图35提供了主页3502 的一个说明性实现。 图35的主页3502示出用户可使用阅读设备来消费的各种项目的列表,包括电子 书、音频书、个人项目、订阅相关项目等。主页3502中的每个条目包括关于项目的显著信 息,例如项目的标题、电子书型项目的作者等。每个条目包括用作用于选择相应的项目从而 打开项目来观看的指导的选择器(沿着页3502的右边缘)。特殊分组类型选择器3504指 示该项目对应于订阅。通过点击该项目,用户可查看订阅内可用的发行的列表。进一步地, 主页中的每个条目包括进度指示器,例如进度指示器3506。进度指示器3506中的点数标识
用户在阅读项目时相对于指示器的总长度前进了多远。 主页3502还包括"显示和排序"选择项目。通过点击该条目,用户可接收"显示和 排序"菜单(未示出)。该菜单允许用户选择用于选择项目以在主页3502中呈现的一个或 多个过滤准则。用户也可选择用于管控项目在主页3502上显示的顺序的一个或多个排序 准则。 主页3502还包括菜单选择器3502。选择菜单选择器3502提示用户设备104呈现 图36所示的菜单3602。菜单3602允许用户导航到用户设备所执行的各种功能,并执行专 门任务。可通过菜单3602选择的一个这样的功能是设置选项3604。 通过激活图36所示的设置选项3604,用户设备104将用户引导到图37所示的设 置页3702。设置页允许用户改变与设备相关联的各种管理设置(例如,账户名、设备名等), 以及改变管控设备的操作方式的各种设置。设置页3702还揭示了可用于存储额外的项目 的存储量。 B. 7.说明性商家存储模块
B. 7. a.商家存储模块的概述 图38示出在图3的上下文中介绍的商家存储模块318。作为概述,商家存储模块 318允许用户搜索项目,购买(或以其它方式获取)所选项目等。用户通过用户设备104所 提供的存储交互模块344与商家存储模块318进行交互。用户也可通过一个或多个替换机 制,例如通过使用经由非无线通信机制(例如,电话或电缆调制解调器、DSL机制等)访问 商家存储模块318的个人计算机,来与商家存储模块318进行交互。
40
商家存储模块318包括账户管理和建立模块3802。该模块3802允许用户建立用 户账户并执行其它管理功能。 商家存储模块318还包括或可访问用户信息3804。用户信息3804可提供关于用 户的人口统计信息。用户信息3804也可提供关于用户所进行的先前的购买和其它类型的 选择的信息。 商家存储模块318可包括项目目录320。项目目录320可包括可使用商家存储模 块318来选择的各种项目的描述。项目目录320中的项目的描述可采取项目细节页的形式。
商家存储模块318可包括项目审阅和获取(IRA)功能3806。 IRA功能3806又可 包括目录搜索和呈现模块3808 ;该模块3808允许用户通过输入搜索项、查看浏览类别等来 审阅项目目录320中的项目。IRA功能3806还包括项目推荐模块3810。 IRA功能3806例 如机遇用户先前的兴趣(例如,正如在用户信息存储3804中反映的)或机遇一般流行的项 目等向用户呈现一个或多个推荐的项目。 IRA功能3806还可包括项目购买模块3810。项目购买模块3812允许用户将项目 置于购物车中并购买(或以其它方式获取)项目。项目购买模块3810又可包括购买撤消 模块3814。购买撤消模块允许用户以下面更充分描述的方式撤消项目购买。项目购买模 块3810还可包括虚拟账户模块3816。如在下面更详细描述的(在节D中),虚拟账户模块 3816允许用户在用户购买(或以其它方式被安排接收)了用户设备之后进行项目购买,但 在此时,用户还没有被分配特定的用户设备。 IRA功能3806可包括又一些额外的模块,如读作"其它存储模块"3818的标签所 指示的。商家存储模块318的其它实现可省略图38所示的一个或多个模块。
商家存储模块318可包括设备接口模块3820。设备接口模块3820通常包括允许 服务器侧商家存储318与设备侧存储交互模块344进行交互的功能。设备接口模块包括标 记呈现模块3822。标记呈现模块3822向用户设备提供一系列页(例如,代表性页3824)。 页可用任何标记语言或任何其它格式来设计。设备呈现接口模块3820还可包括设备响应 处理模块3826。设备响应处理模块3826从与标记呈现模块3822所提供的页进行交互的用 户接收响应。例如,用户可在标记呈现模块3822所提供的页中选择链接。用户的选择使用 HTTP协议或某个其它协议或协议的组合被传送回设备响应处理模块3826。
图39-41示出标记呈现模块3822所产生的代表性页集合。图39示出介绍性页 3902,当用户首次访问商家存储模块318时,标记呈现模块3820可将页3902显示给用户。 介绍性页3902提供邀请用户研究各种浏览类别、审阅推荐的项目、输入搜索等的门户。图 40示出浏览页4002。浏览页4002允许用户使用各种主题类别浏览项目。图41示出项目 细节呈现4102,其提供关于用户可通过项目购买模块3812购买的单个电子书项目的信息。 在项目细节信息不能适合于一页的情况下,标记呈现模块3820可在一系列页中显示该信 息,如图40所示。 B. 7. b.撤消购买的说明性方法 图42示出描述用于使用图38的购买撤消模块3814来撤消购买的说明性过程 4200的流程图。 在框4202中,项目购买模块3812接收用户对项目的购买。用户可通过做出发起 履行操作的选择来进行购买。
在框4204中,IPS 102以上述方式处理所购买的项目并可能将其递送到用户设 备。 在框4206中,购买撤消模块3814将邀请用户撤消其在框4302中进行的购买的选 项显示给用户。在一种情况下,购买撤消模块3814可在在项目的购买之后被提供给用户的 "谢谢你"页等中显示该选项。在此阶段,如前一框4204所示的,项目购买模块3812处于履 行用户对项目的购买的过程中。 在框4208中,假定用户实际上未激活购买撤消选项。 在框4210中,如果可能,购买撤消模块3814撤消用户对项目的购买。 B.8.说明件内容管理器樽块和媒体库樽块 设备侧内容管理器模块342提供允许用户审阅并管理可供用户设备104所消费的 项目的工具。图44示出关于内容管理器342的额外细节。图44还示出内容管理器342可 与例如服务器侧个人媒体库模块324和订阅模块310等其它模块进行交互的方式。
内容管理器模块342包括呈现模块4302。呈现模块4302示出可供用户使用用户 设备104来消费的各种项目。项目可来源于各种源。第一源对应于用户设备的内部设备存 储器336。第二源对应于可耦合到用户设备104的便携式存储器模块4304,例如闪存卡等。 第三源对应于在用户的服务器侧个人媒体库模块324中标识的项目。更具体地,内容管理 器模块342可从媒体库模块324接收关于按需("点餐式")选择,例如电子书项目、特别选 择的报纸和杂志发行等的信息。第四源对应于订阅模块310中标识的项目。更具体地,内 容管理器模块342可提供关于用户的订阅和与那些订阅相关联的最新发行的信息。关于订 阅,在一种说明性情况下,内容管理器模块342可为每个用户订阅存储最后n天。
在一个说明性实现中,内容管理器模块342能够访问设备侧元数据,其标识存储 在个人媒体库模块324和/或订阅模块310上的项目。这避免了用户对这些服务器侧模块 做出按需查询以确定其内容的需要。 根据另一特征,呈现模块4302包括过滤模块4306。过滤模块4306允许用户选择 在确定呈现模块4302显示什么类型的项目时使用的一个或多个准则。例如,用户可选择将 呈现仅限于存储在设备侧内部存储器336中的项目等。 内容管理器模块342还包括更新处理模块4308。更新处理模块4308的目的是更 新描述个人媒体库模块324的内容的设备侧元数据。更新模块4308可在用户设备和IPS 102由于任何原因彼此进行交互时的各个时刻被调用。例如,更新模块4308可作为由1PH 信号的接收触发的操作集合的一部分被调用。 现在参考个人媒体库模块324,该模块324存储用户先前以点餐方式购买的项目。 更具体地,个人媒体库324可存储引用商家内容存储308中用户已购买的项目的指针4308。 以上述方式,用户可通过内容递送模块316接收先前购买的项目,内容递送模块316又可联 系个人媒体库模块324来验证用户确实被授权接收所请求的项目。用户可出于任何原因决 定再次下载项目,例如在内容被不小心从用户的设备本地存储中删除的情况下。
用户可用类似的方式下载订阅相关项目。S卩,内容递送模块316访问订阅模块 324,以确定用户是否被授权下载发行等。订阅模块324所提供的许可信息是在订阅级而不 是订阅中的各个发行级执行的。 图44示出内容管理页4402的呈现模块4302所提供的内容管理器页4402。该页4402示出可供用户使用用户设备104来消费的各种项目。页4402还提供指示项目的源的 标签,例如"商家"指示该项目可通过个人媒体库模块324得到,"设备"指示项目存储在设 备侧存储器336中,而"SD卡"指示项目存储在可移动存储器模块中,等等。虽然未在图43 中示出,但内容管理器页4402可提供揭示项目是否在被下载到用户设备104的过程中和/ 或项目是否正经历其它处理等的指示器。 图45示出包括过滤菜单4502的另一内容管理器页。过滤菜单4502由过滤模块 4304用来控制显示什么类型的项目(对应于所选源等)以及以什么顺序显示项目。
图46示出显示另一菜单4602的另一内容管理器页。该菜单4602允许用户将项 目从一个源移到另一源,移除项目等,以及其它功能。 图47示出说明用户设备104和IPS 102如何共享信息的过程4700。 在框4702中,系统300中的一个或多个模块接收触发事件。触发事件用信号通知
现在是各种内务处理操作的时候了,例如在用户设备104和IPS 102之间共享信息。 一个
代表性触发事件可对应于将Tffl信号从IPS 102发送到的用户设备104,用户设备104发
起很多操作,包括信息同步操作。另一触发事件可对应于用户设备104的通电和用户设备
104的状态的其它改变,等等。 在框4702中,出于同步的目的,系统300中的一个或多个适当的模块与一个或多 个其它模块共享信息。列举一个例子,框4702可要求用户设备104将用户为特定项目创建 的其注释发送到IPS 102,用于存储在备份注释存储1116中。进一步地,框4702可要求个 人媒体库模块324将元数据向下发送到内容管理器模块342,其中这样的元数据反映个人 媒体库模块324所引用的项目。可对各种触发事件执行又一些其它信息共享操作。
除了上面的周期性同步操作以外,IPS 102可与用户设备104进行交互,以当例如 因为用户调用了硬重置命令等而使用户设备104的所存储的内容不再可访问的时候还原 用户设备104的内容。 B. 9.说明件阅读器樽块、泮释功能和咅频播放器樽块 可以回想,在图3的上下文中介绍的阅读器模块340提供了允许用户阅读电子书 的接口 。图48示出阅读器模块340所产生的一页文本内容4802,该文本内容对应于Herman Melvill的小说《Moby Dick》。用户可通过适当的菜单(未示出)改变字体的大小。用户 可通过进度显示4804来查看他或她在整个书中的进度。相对于显示的总长度的进度显示 中的点数反映用户前进到书中多远。 可读内容的任何页可包括可被激活的一个或多个嵌入的链接。注意,例如,在页 4802中的按钮4806。在这种情况下,阅读器模块340正显示的阅读材料对应于更完整的项 目的样本,例如书的一章。页4802包括邀请用户选择项目的完全版本的按钮4806。在另一 实现中,按钮4806可邀请用户购买项目的另一部分(例如,书中的另一章、杂志系列中的另 一期等)。在另一情况下,链接可基于一个或多个匹配考虑因素来标识与目前正被显示的内 容有关的项目;例如,图38的项目推荐模块3810可基于各种匹配考虑因素来标识有关的项 目。点击按钮4806指导商家存储模块318购买(或以其它方式获取)所标识的项目,例如 在所示情况下,用户在页4802中正在阅读的内容的完全版本,并启动其递送。
图49示出描述用于在用户激活页中的链接时动态地提供项目标识信息的说明性 过程490Q的流程图。
在框4902中,用户设备104提供包括链接的呈现,例如包括按钮4806的页4802。 用户设备104可使用模板来显示页。模板可包括用于呈现链接的预配,但不使链接与唯一 地标识特定项目的任何种类的代码相关联。换言之,页包括占位符字段而非实际代码。
更具体地,可以回想,对某些类型的项目,内容接收系统302将项目存储在内容存 储308中,而没有在形式上将标识信息与这些项目集成。当内容递送模块316将这一项目 递送给用户时,它可将标识信息注入项目的首部中(使用元数据注入模块2316)。但在此阶 段,项目内部的链接仍然没有用标识信息来填充。
在框4904中,用户设备104接收用户对链接的选择。 在框4906中,用户设备104或某个其它实体可动态地填充链接信息,以使它包括 与该链接相关联的唯一标识信息(例如,唯一号码)。考虑特定的情况,其中如上所示,页 4802显示项目的样本,且按钮4806允许用户访问项目的完全版本。当用户点击按钮4806 时,设备104可用与该项目的完全版本相关联的标识信息来填充与按钮4806相关联的链 接。标识信息连同样本项目一起由内容递送模块316提供给用户设备;例如,标识信息可在 样本项目的首部中传达。所填充的链接接着可被调用,以例如通过访问商家存储模块318 以购买项目的完全版本来执行动作,这发起了该项目到用户的递送。 图50示出用户可在阅读电子书的过程中调用的注释菜单5002。用户可调用菜单 5002来加亮文本中的段落,添加与文本相关联的附注,等等。用户可使用光标移动机制506 和/或使用某些其它输入机制来执行这些操作。例如,用户可通过将光标移动到补充显示 部分504中的开始和结束位置(例如,通过旋转光标轮等)并接着选择那些位置(例如,通 过在光标轮上按下等)来划出要加亮的文本的部分。 以注释的主题继续,如图48所示,用户可通过在页4802的角中的标记图标4806 旁边点击来输入书签。进一步地,图51示出标识电子书中用户已做标记的位置的方法。艮卩, 图51示出进度显示。小黑三角形示出在文本内用户创建的书签的位置。
图52示出与音频播放器模块410 (图4中介绍)相关联的各种特征和其中音频播 放模块410可操作的环境。存在用户设备104可用于接收音频项目的至少两种机制。在第 一机制中,用户可使用个人计算机5202或其它类型的数据处理设备来从音频项目源5204 下载音频项目。在第一访问机制中,个人计算机5202可通过非无线连接,例如传统电话或 电缆调制解调器、DSL连接、T1连接等访问音频源5204。当接收到时,用户可接着通过USB 连接、便携式存储器模块或其它传输机制将音频项目传送到用户设备104。在第二机制中, 可使用图2所示的相同的通信基础设施106来从音频源5204接收音频项目,并接着将该音 频项目传输到用户设备104。换言之,通信基础设施106以与电子书项目等相同的方式传输 音频项目,其中音频源5204充当图3所示的内容源304之一。如所解释的,通信基础设施 106可至少部分地依赖于无线通信。 音频源5204可代表音频项目的商业提供商或在收费基础上或在免费基础上提供 音频项目的其它类型的组织(例如,包括图书馆、政府组织等)。在此上下文中,音频源5204 可由个人计算机5202或其它设备作为WAN可访问的资源(例如,作为因特网可访问站点 等)来访问。音频源5204也可代表提供项目用于分发到其它用户的用户或用户社区。
当接收到时,音频播放器模块410可将音频项目存储在背景音乐文件5206和/或 音频书文件5208中。音频播放模块410可被配置成播放背景音乐文件5206中的音频项目例如,当用户阅读报纸、搜索恥b等时,音频播放器模块410可播放背景音 乐文件5206中的音频项目。在一种情况下,音频播放器模块410可以用随机的次序播放背 景音乐文件5206中的音频项目。音频播放器模块410可提供允许用户访问背景音乐文件 5206、暂停背景音乐的播放、跳到随机播放列表中的下一音频项目等的控件。
音频播放器模块410可被配置成允许用户通常以与文本内容相同的方式与存储 在音频书文件5208中的音频项目进行交互并消费该音频项目。例如,页5210示出允许用 户控制音频书的音频回放的一个用户界面页。音频播放模块410允许用户使用各种向前命 令、向后命令等在音频项目的内容中移动。进一步地,音频播放器模块410存储音频项目中 用户停止听的点;当在以后的时间返回到该项目时,音频播放器模块410从该点开始向前 播放。用户设备410的其它模块可以用与电子书项目相同的方式来管理音频项目。例如, 内容管理器模块342可显示关于其可用项目列表中的音频项目的元数据(例如,见图44中 的"Sun AlsoRises"条目)。
B. 10.说明件web浏览功能 图53呈现图2的系统200的简化描述。在该简化描述中,设备侧浏览器模块402 通过诸如因特网等网络212与项目提供系统(IPS 102)进行交互。IPS 102包括浏览代理 模块326。当浏览器模块402试图访问网络可访问资源226之一时,它首先被定向到浏览 代理模块326。在该说明性和代表性方式中,设备浏览器模块被阻止直接访问网络可访问 资源(如图53所示的X标记所指示的)。应注意,浏览器模块402仅仅是用户设备与IPS 102进行通信的一种方法。浏览代理模块326的使用不影响其它通信路线,例如项目递送系 统312和待办列表处理模块之间的传输协议,以及商家存储模块318和设备侧存储交互模 块344之间的交互。 IPS 102可建立不同的商业规则来管控用户对"外部"网络可访问资源的访问。在
一种情况下,IPS可在它不收取费用(或收取相对较少的费用)的第一类免费资源5302和
它收取费用(或收取相对较多的费用)的第二类付费资源5304之间进行区分。 图54示出表示使用浏览代理模块326来管控对网络可访问资源的访问的一种说
明性方法的过程5400。 在框5402中,浏览代理模块326接收用户的连接到诸如网站等网络可访问资源的 请求。 在框5404中,浏览代理模块326确定用户希望连接到的站点是否对应于IPS102 本身所提供的服务。如果是这种情况,则在框5406中,浏览代理模块326同意用户访问所 请求的资源。 如果框5404被否定地回答(意味着用户未试图获得对IPS 102本身的访问),则 该流程前进到框5408,其中浏览代理模块326确定用户是否试图获得对一个或多个指定的 免费(或费用减少的)资源5302的访问。如果是这种情况,则在框5406中,浏览代理模块 326同意用户访问所请求的资源(在框5406中)。 如果框5408被否定地回答(意味着用户未试图获得对IPS 102或免费资源5302 的访问),则该流程前进到框5410,其中浏览代理模块326确定用户是否试图获得对一个或 多个指定的付费资源5304的访问。如果是这种情况,则在框5412中,浏览代理模块326接 着确定用户是否已经支付或同意支付所需费用。如果该框5412被肯定地回答,则浏览代理
45模块326估计适当的费用(在框5414中)并同意用户访问所请求的资源(在框5406中)。 在一种情况下,可建立系统300,以便用户可在每次访问的基础上为用户希望例如访问的每 个项目付费。在另一情况下,可建立系统300,以便用户可付费来在预定量的时间(例如一 天、一星期等)内访问任何数量的项目。在任何情况下,例如当用户做出访问尝试时,可给 予用户自动接受访问相关费用的选项,而不在每次用户希望访问项目时寻问他或她。
如果上面阐述的条件没有一个被满足,则在框5416中,浏览代理模块326拒绝用
户对所请求的资源的访问。 图55示出可由设备浏览器模块402提供的书签页5502(也称为收藏页)。页5502 包括链接列表。用户可点击任何链接来连接到相应的网络可访问资源。
图56示出设备浏览器模块402可用来使用用户设备104输入例如URL等网络地 址的菜单5602。 C.说明性管理相关功能
C. 1.功能的概述 本节提供了关于可使用节A和B中阐述的系统来执行的各种管理或后端任务。一 个管理功能涉及监视系统的各方面的性能。另一管理功能涉及测试系统的操作。另一管理 功能涉及诊断系统中可能存在的问题或其它难题。另一管理功能涉及升级用户设备104所 使用的携带指令的内容(例如软件)。上述功能可以交叉。例如,测试和诊断功能可依赖于 性能监视功能。升级相关功能可依赖于测试和诊断功能来确定指令升级是否合适。
图57提供了图2中介绍的系统200的简化描述。该系统200用作解释上述各种 管理功能的工具。然而,这里描述的管理功能也可使用其它类型的系统来实现。
系统200允许项目提供系统(IPS) 202通过通信基础设施与用户设备104进行交 互。通信基础设施包括无线提供商系统202和通信启用系统208。通信启用系统208通过 例如广域网(WAN),且特别是因特网等网络212与IPS 102进行交互。
系统200在各种级别实现上述各种管理功能,如下所述。
C. 2.说明性性能监视、测试和诊断功能 图57示出系统200的各部分可从相应的"有利位置"监视系统200的性能。例如, 用户设备可包括设备侧性能记录模块5702,其用于记录与系统200的性能相关联的、关于 用户设备104可见的性能问题的各种事件。设备侧性能记录模块5702可将性能信息存储 在性能日志416中(在图4的上下文中介绍)。 无线提供商系统202可同样包括性能记录模块5704,其用于记录与系统200的性 能相关联的、关于无线提供商系统202可见的性能问题的各种事件。性能记录模块5704可 将性能信息存储在性能日志5706中。 通信启用系统208可同样包括性能记录模块5708,其用于记录与系统200的性能 相关联的、关于通信启用系统208可见的性能问题的各种事件。性能记录模块5708可将性 能信息存储在性能日志5710中。 IPS 102可包括用于执行各种功能的顾客服务模块5712。作为第一功能,IPS102 也可独立地记录各种事件并将这样的事件存储在IPS侧性能日志5714中。进一步地,顾客 服务模块5712可获得用户设备104、无线提供商系统202和/或通信启用系统208所收集 的任何性能信息。在一种特定的情况下,顾客服务模块5712从系统200的不同部分自动收
46集性能信息。在另一情况下,顾客服务模块5712可对系统200的不同方面做出按需的有目 标的查询,查询用户设备104、无线提供商系统202和/或通信启用系统208所收集的性能 信息。例如,用户可呼叫顾客服务代表,以标识在国家的特定地区接收下载的问题。顾客服 务代表可检查系统的任何部分所提供的性能信息,以帮助揭示问题的来源。
此外,IPS 102处的管理员可主动测试系统200的各个部分。例如,IPS 102可包 括服务器侧测试模块5716。服务器侧测试模块5716可用于周期性地向一组测试用户设备 发送测试信号,请求测试用户设备作出响应。或者,测试模块5716可用按需方式向测试用 户设备发送测试信号。测试用户设备可包括用于接收这样的测试信号并对其做出响应的互 补测试模块5718。(注意,总体上,设备侧性能记录模块5702和设备侧测试模块5718对应 于图4种介绍的监视和测试功能414)。服务器侧测试模块5716可监视它从每个测试用户 设备接收的响应,包括响应是否被完全接收和/或与响应相关联的各种性能度量,等等。服 务器侧测试模块5716和/或人类管理员可审阅结果以帮助诊断系统200内的性能问题。
图58示出以流程图形式来形式化测试模块(5716、414)的操作的过程5806。
在框5802中,服务器侧测试模块5716可确定是否是测试系统200的时候了。
在框5804中,如果该测试了 ,则服务器侧测试模块5804可向一个或多个测试设备 发送测试探查。 在框5806中,服务器侧测试模块5806可标识是否它从测试用户设备接收到响应,
且如果是这样,标识该响应的性质。 C.3.说明件升级相关功能 返回到图57,该图示出IPS 102包括服务器侧升级模块5720。用户设备104包括 互补的设备侧升级模块418(其在图4的上下文中介绍)。作为概述,在一种情况下,服务器 侧升级模块5720可被手动操作来将升级或其它信息向下推到用户设备104,此后设备侧升 级模块418以适当的方式加载所标识的升级或其它信息。在第二种情况下,服务器侧升级 模块5720可从用户设备自动接收版本信息(由设备侧升级模块418提供)。服务器侧升 级模块5720可将所接收的版本信息与软件的当前版本进行比较。服务器侧升级模块5720 接着可例如通过下载所需的携带指令的项目的补丁或完全版本,来启动可能合适的任何升 级,以使用户设备变为最新的。 图59示出描述向用户设备104提供更新的手动模式的过程5900。 在框5902中,与IPS 102相关联的管理员标识要对用户设备104进行的升级。 在框5904中,服务器侧升级模块5720可向下向用户设备发送升级,此后设备侧升
级模块418将升级合并到其指令主体中。在最终用户可任选地不被要求参加更新操作且可
能不知道更新操作的意义上,更新操作是透明的。 图60示出描述向用户设备104提供更新的自动模式的过程6000。 在框6002中,服务器侧升级模块5720可接收关于用户设备正使用的指令的当前
版本的信息。 在操作6604中,服务器侧升级模块5720可将设备的版本与指令的当前版本进行 比较。 在操作6606中,服务器侧升级模块5720可例如通过计算增量文件来自动准备供 用户设备使用的升级,该增量文件表示指令的当前版本和指令的设备版本之间的差异。升级模块5720可将升级或者作为补丁或者作为完整的文件传输到用户设备104。设备侧升级模块418接收升级并采取动作来合并升级。再次,在最终用户可任选地不被要求参加更新操作且可能不知道更新操作的意义上,更新操作是透明的。 图61示出由系统200用来将任何类型的更新传输到用户设备104的示例性通信包。该包包括首部6102和主体6104。首部6102可包括传达版本信息、属性信息、校验和信息等的字段。主体6104可包括清单和/或携带指令的内容(脚本内容、程序内容等)和/或媒体内容和/或其它类型的内容。主体可作为tar文件或通过使用某种其它格式或格式的组合来表示。该包所表示的信息可连同随机信息一起被加扰,以帮助阻止未授权的个人访问该信息。 该包用作用于将任何类型的信息传递到用户设备104以从用户设备104引出任何类型的行为的通用容器。在一种情况下,管理员可使用图61所示的包来将携带指令的项目下载到用户设备104。设备104通过将该项目加载到其存储器中来作出响应;设备104之后基于项目中提供的程序指令来操作。 在另一情况下,管理员可使用图61所示的包将其它类型的内容,例如用户设备104所显示的任何种类的消息内容,下载到用户设备104。例如,所下载的内容可涉及在断电模式指示用户设备104显示的消息(例如,在用户设备使用非易失性显示技术的情况下,该技术可在断电操作模式中在显示器上呈现信息)。为了提供该消息,该包可包括提供所需消息和可选的指导用户如何显示消息的脚本内容的位图。其它应用是可能的。
D.说明性预配功能
D. 1.预配功能的概述 图62示出用于预配新用户设备的系统6200。更具体地,系统6200包括预配功能6202,其例如在工厂或类似环境下与新制造的用户设备6204(或其组件)进行交互。新用户设备6204可包括预配模块6206。设备侧预配模块6206从预配功能6202接收临时联系信息6208,该信息可包括一个或多个标识号。预配功能6202还可与通信基础设施6210进行交互,以向通信基础设施6210提供预配信息6212。预配信息6212与用户设备6204所存储的联系联系信息6208有关。 如图62所示,用户设备6206可使用临时联系信息6208来建立对通信基础设施6210的第一次访问。通信基础设施6210接着可将更多永久联系信息6214转发到用户设备6204。用户设备6204之后可使用更多永久联系信息6214来访问IPS 102和其它网络可访问资源。该预配方法允许用户使用用户设备6204,而不执行复杂和繁重的配置操作。
关于预配用户设备的一个说明性方式的其它细节在2006年3月29日提交的题为"Over_the_air Device Provisioning and Activation(空中设备预配禾口激活),,的、发明人为Subram Narasimhan等人的美国序列号11/277, 876中有描述。
D. 2.说明性虚拟账户处理 图63示出用于允许用户在用户购买了用户设备104之后立即购买项目(或更一般地,获取项目)的过程6300。该过程6300可至少部分地由图38的虚拟账户模块3816执行。 在框6302中,购买系统接收用户对新用户设备的购买。 在框63Q4中,购买系统或某个其它模块可为用户建立虚拟账户。该虚拟账户甚至在用户设备被分配给用户之前被建立。 在框6306中,购买系统接收用户进行的一个或多个项目购买。购买系统使这些购买与在框6304中创建的虚拟账户相关联。 在框6308中,当用户设备被分配给用户时,购买系统或某个其它模块可将虚拟账户与被分配的用户设备相关联。该链接操作允许用户使用他或她的新用户设备来接收并消费应用于虚拟账户的项目。
D. 3.说明件初始测试 图64示出测试在此上下文中称为被测设备(DUT)的新用户设备6402的方法。例如,该方法可用于测试工厂中或某个其它生产阶段中的设备。 作为介绍,用户设备6402可包括优选漫游列表(PRL) 6404和最近期使用(MRU)表6406。 PRL 6404包括用户设备可调查来建立与通信站等的通信的目标频率的列表。MRU表6406表示用户设备104最近期用于获得对通信站的访问的频率。 图64还示出测试设备6408。测试设备6408部分地用于测试用户设备6402建立与通信站的通信的能力。为了执行测试的目的,测试设备6408可使用测试信道6410来建立与用户设备6402的通信。 为了加速测试,图64所示的方法对用户设备6406的MRU表编程,以便它存储表示测试设备6408的测试信道6410的信息。这允许用户设备6402快速建立与测试设备6408的联系,即,通过避免用户设备6402搜寻用来与测试设备6408进行通信的频率的需要。
作为进一步的特征,该测试方法不需要将测试PRL存储在PRL表中,以及接着在测试之后,用将在字段中使用的实际PRL 6404替换测试PRL 6404。即,在本方法中,PRL 6404可在整个测试操作中维护实际PRL信息。
图65示出用于实现上述测试方法的过程6500。在框6502中,MRU表6406存储表示测试设备6408的测试信道6410的信息。
在框6504中,用户设备6402和测试设备6408执行测试。在进行测试时,用户设备6402不需要搜寻测试设备6408的信道,因为适当的访问信息已经被存储在其MRU表6406中。 E.说明性搜索和索引技术
E. 1.搜索概述 本节描述了可在计算设备上实现来本地和/或远程地搜索所存储的内容的各种搜索技术。搜索和索引可在本地用户设备(例如,电子书阅读器设备、PDA、PC等)、远程计算设备(例如,项目提供系统、服务器等)或两者上执行。搜索操作往往是相对处理器密集的操作。通常,在内容被搜索之前,内容被编目或索引以便于搜索。即使是这样,搜索仍然可能需要相当多的处理资源。此外,索引内容的过程也需要处理资源。这些处理器负载转换成计算设备的功耗。 处理器负载和功耗在例如电子书阅读器等便携式本地用户设备的上下文中变得更需要考虑。给定相对大的处理和功率要求,电子书阅读器上的搜索基本上是不存在的。就搜索在PDA或其它便携式用户设备上是可用来说,便携式用户设备往往利用远程计算设备的较大处理功率来执行搜索和索引。然而,如果搜索是由远程计算设备执行的,则当便携式用户设备与远程计算设备失去通信时搜索可能是不可行的。
49
下面在说明性电子书阅读器用户设备的上下文中描述。然而,这里描述的概念可
能更一般地适用于其它类型的本地和/或远程计算设备,例如PC (台式或膝上型)、服务器、
PDA、口袋PC、智能电话等。 E.2.说明件用户设备的裨索会目件 图66是能够实现这里所述的搜索和索引技术的一个说明性用户设备104的示意图。在本节中描述的实现代表图4所示且通常在上面节A中描述的搜索和索引功能404的一些例子。通常,用户设备104包括处理器6600以及存储电子项目的集合6604和一个或多个搜索索引6606的存储器6602。搜索索引6606包括在集合中的电子项目中得到的项的有组织的细目或目录,并可用于搜索电子项目的集合6604。搜索索引6606可从远程源接收或可由用户设备104处的索引模块6608生成。用户设备104还包括被配置成使用搜索索引6606来搜索电子项目的集合6604的搜索模块6610。尽管为了概念性理解索引模块6608和搜索模块6610被示为分开的模块,但在实践中,搜索和索引功能可由单个搜索/索引模块和/或由任何数量的和组合的单独模块来实现。 在所示实现中,存储器6602包括用户设备104的内部存储器。此外,该实现中的用户设备104包括可移动存储器6612 (例如,存储卡、盘等),其存储第二电子项目集合6614和第二电子项目集合的搜索索引6616。通常,每个存储器包括对应于其上存储的电子项目的一个或多个搜索索引。因此,一个存储器的移除不影响存储在另一存储器上的电子项目的可搜索性。然而,在其它实现中,用户设备可包括任何数量的和组合的存储器类型,且搜索索引可与相应的电子项目存储在一起或与相应的电子项目分开存储。
用户设备104还包括用户界面6618,用户可通过其输入搜索查询,操纵搜索结果,浏览电子项目和以其它方式与用户设备104进行交互。当输入搜索查询时,搜索结果可被显示在用户设备104的一个或多个显示器6620,例如图5所示的双显示装置上。如上所讨论的,用户设备104还可包括各种其它功能(例如,待办列表处理模块、阅读器模块、内容管理器模块、功率管理功能等)。这些其它功能中的某一些可与搜索和/或索引模块6610和6608进行交互,以管理搜索结果,显示电子项目的存储位置(例如,在内部存储器中、在可移动存储器中、在远程存储中),与远程商家存储进行交互,等等。 图67是示出可从用户设备104搜索的各种内容源的系统6700的示意图。除了内部存储器6602和可移动存储器6612以外,用户设备104能够搜索任何数量的其它本地和/或远程内容源。例如,在所示实现中,用户设备104被配置成与远程数据存储6702、例如因特网6704等广域网、商家存储6706和远程搜索实体6608进行通信并搜索它们。用户设备104和各种内容源之间的通信可通过如上面在节A-D中更详细描述的无线和/或有线通信信道。 在一种实现中,远程数据存储6702和商家存储6706可分别包括个人媒体库模块和商家存储模块,例如上面在节A中关于图3描述的那些模块。因特网6407的搜索可使用常规因特网搜索引擎、专用服务器侧搜索引擎和/或设备侧搜索引擎来完成。搜索实体6708可以是能够搜索信息源并将结果返回到用户设备104的任何实体。在一个实现中,搜索实体6708包括至少部分地依赖于人来编译搜索结果并提供对搜索查询的答案的实体。这样的搜索实体的各种例子包括可从位于加利福尼亚州桑尼维尔市的Yahoo公司、位于马里兰州贝塞斯达市的Wondir公司获得的Yaho0!⑧Answers ,或可从位于华盛顿州西雅图市的NowNow. com获得的NowNow⑧。
E.3.说明件裨索方法 图68是显示可如何使用用户设备104的用户界面来输入搜索查询的细节图。如 上面在节A中关于图5所讨论的,用户设备104可具有键区518。如在图68的下部细节图 所示的,键区可包括搜索键6800。按搜索键6800将调出搜索菜单6802,如图68中的上部 细节图中所示的。搜索菜单6802包括查询域6804和"去往"域6806。用户通过使用键区 518键入查询、使用拇指轮506或用户界面6618的任何其它输入从阅读器屏幕502选择文 本,可在搜索菜单6802的查询域6804中输入具有任何数量的一个或多个搜索项的搜索查 询。在输入期间,搜索查询项目出现在查询域6804中。用户可通过使用光标608选择"去 往"域6806来开始搜索。 图69是展示可由例如电子书阅读器等用户设备实现的说明性全文搜索方法6900 的流程图。方法6900为了说明起见在用户设备104的上下文中描述,但可使用任何其它类 型的用户设备来实现。在6902,用户设备104例如通过搜索菜单6802接收搜索查询输入。 在所示例子中,只输入一个搜索词语"politics"。在一些实现中,如果输入多个搜索查询词 语,则搜索模块6610可通过隐式"接近"操作将词语处理为分开的。然而,在其它实现中, 可使用任何其它隐式或显式算子(例如,布尔算子、接近算子等)。 在6904搜索,查询可使用词干提取、截断或任何其它适当的搜索约定来扩展以包 括所查询的词语的变形。例如,词干提取可包括识别出查询词语的任何一个或多个下列变 形单数查询词语的复数形式、复数查询词语的单数形式、查询词语的其它动词时态、查询 词语的常见误拼、查询词语的外国语翻译、查询词语的所有格形式、包括查询词语的域名、 连同其它变形。截断是指搜索具有变化的前缀和后缀的词语的能力。截断和各种其它搜索 约定的细节对本领域技术人员是显而易见的。 在6906,用户设备104确定它可用的内容源。在这种情况下,可用内容源包括内部 存储器6602、可移动存储器6612、远程数据存储6702、互联网6704、商家存储6706和远程 搜索实体6708。 在某些情况中,搜索查询可包括指示要搜索的一个或多个内容源的命令行或其它
指示符。如果存在,则命令行可由任何适当的字符、符号、按钮或其它指示符指明。在一个 例子中,"@"符号可用于开始标识待搜索的一个或多个内容源的命令行。在该例中,命令行
"衡eb"指示搜索应在web上执行。然而,可使用任何其它适当的指示符来开始命令行(例 如,#、$、 %、~、&、*、"、复选框、分开的范围域、下拉菜单等)。命令行可指定一个或多个完 整的内容源(例如,恥b、远程数据存储、内部存储器等)或内容源的某个子集,例如特定的 网站、一种类型的内容(例如,书、音乐、期刊等)、项目集合(例如,戏剧Dad's stuff等)、 或内容的任何其它子集。 在6908,用户设备104可识别存在于搜索查询中的命令行,并在6910,标识要搜索 的一个或多个内容源。如果如所示实现所示,在搜索查询中没有找到命令行,则搜索可默认 一个或多个预定的内容源。在一个实现中,搜索可默认搜索存储在用户设备104的内部和 /或可移动存储器中的本地内容。可选地,搜索可默认搜索所有可用的内容源,或用户设备 104可用的其它内容源中的任何一个或多个。 在6912,用户设备104开始搜索一个或多个所标识的内容源以寻找所查询的词语。在所示例子中,因为没有输入命令行,所以用户设备104搜索默认的媒体内容源(在这 种情况下,设备的本地存储器)来寻找词语"politics: 图70是示出一个说明性搜索方法7000的额外细节的流程图,为了方便起见该方 法在用户设备104的上下文中描述,但也可应用于其它用户设备。搜索方法7000的细节参 考图71和72所示的说明性搜索屏幕来描述。回来参考图70,在7002,用户设备104接收 包括一个或多个被查询的词语的搜索查询并开始搜索过程。搜索由搜索模块6610执行,搜 索模块6610在7004在一个或多个搜索索引中查找所查询的词语。通常,索引包括在用户 设备104可访问的电子项目中使用的一个或多个有组织的词语列表。索引可包括电子项目 的全文、标题、首部、目录和/或元数据。在一个实现方式中,索引可包括一些电子项目(例 如,存储在本地的电子项目)的全文的可搜索索引和其它电子项目(例如,远程存储的电子 项目)的受限制部分(例如,标题、首部和元数据)的可搜索索引。下面详细描述几种索引 方案。 在一些实现中,待搜索的电子项目和/或显示搜索结果的方式可取决于在请求搜 索时用户正在做什么而变化。在所示的实现中,用户设备104在7006确定是否当前正显示 电子项目。如果没有(例如,如果搜索是从归属屏幕、内容管理器屏幕等请求的)搜索,则 搜索模块6610在7008以所查询的词语在每个电子项目中出现的实例的数量的顺序返回结 果。因此,具有所查询的词语的最多实例或命中的电子项目将被首先列出。如果电子项目 被显示(例如,如果搜索是从电子书或其它电子项目内的阅读窗格请求的),则在7010,如 果所查询的词语出现在电子项目中,搜索模块6610以目前显示的电子项目被首先列出来 返回搜索结果。在这种情况下,其余结果以所查询的词语的实例的数量的顺序列出。如果 所查询的词语未出现在当前正被显示的电子项目中,则搜索结果以框7008的相同的方式 显示。 图71是示出以与图70中的框7010 —致的方式显示的电子项目的列表的说明性 搜索结果屏幕7100。在本例中,因为没有输入命令行,所以搜索默认覆盖存储在用户设备 104的本地存储器中的内容。因此,搜索结果屏幕7100显示设备的本地存储器中包含所查 询的搜索词语的电子项目的列表7102。搜索词语出现的次数沿着列表7102中每个电子 项目的左侧在圆括号内列出。在本例中,搜索是从标题为"The Bluest Eye"的电子项目 内请求的。因此,因为电子项目"TheBluest Eye"在请求搜索时正被显示并包含查询词语 "politics",所以该电子项目首先在列表7102中被列出,后面是以所查询的词语的实例的 数量的顺序列出的具有所查询的词语的其它电子项目。 在其它实现中,如果当请求搜索时用户在消费电子项目的过程中,则搜索可被限 于在搜索之前消费的电子项目的文本。相反,如果用户从电子项目外部请求搜索,则搜索可 包括用户设备104可访问的所有电子项目、在用户设备104的本地存储器中的所有电子项 目或在用户设备104的本地存储器中的电子项目的子集(例如,集合)的文本。
回头参考图70,在7012,也可给用户手动设置或更改搜索范围的选项。在一个实 现中,用户能够通过例如在图71中的搜索结果屏幕7100上选择菜单按钮7104并选择基于 一个或多个所显示的菜单项(未示出)确定搜索范围,来确定搜索范围。例如,可给用户按 内容的类型(例如,书、期刊、音乐等)、按内容的源(例如,内部存储器、可移动存储器、远程 数据存储、商家存储等)和/或按任何数量的其它范围确定工具来限制搜索的选项。
52
在7014,对来自图71中的电子项目的列表7102的一个电子项目的选择可导致所 查询的词出现在所选电子项目中的位置的列表被显示。在一个实现中,位置是不变的,并由 不变位置参考标识符来标识。顾名思义,不变位置参考标识符可能标识并传递电子项目中 的内容的特定位置或段,而不管屏幕大小、字体类型或大小、分辨率或其上显示电子项目的 计算设备的其它显示条件如何。通常,这通过在遍及电子项目的内容的各位置处分配唯一
参考标识符、或将该唯一参考标识符分配到电子项目的个别段来实现。这些参考标识符不 依赖于其上显示电子项目的计算设备的显示条件。在该意义上,参考字符是不变的。
存在很多方法来提供在电子项目的内容中的或与该内容相关联的不变位置参考 标识符。此外,存在可划分电子项目并向其分配不变位置参考标识符的各种方法。例如,每 个不变位置参考标识符可被分配给单独的字符或单词、一组单词、句子、段落、预定大小的 一段文本、数据单位、或电子项目的某个其它划分。不变位置参考标识方案的其它细节可在 2007年3月29日提交的题为"Invariant Referencing in Digital Works(数字作品中的 不变参考)"的美国专利号11/693, 677中找到。 在7016,在周围文本的上下文中包括所查询的词语的电子项目的摘录可连同所查 询的词语出现在所选电子项目中的位置一起或代替该位置被显示。例如,如果用户在图71 中选择与New York Times的2007年3月18日的版本相邻的可选择块7106,则可显示实例 屏幕,其示出在New York Times的该版本中的词语"politics"的实例。
图72是可响应于用户对图71中可选择块7106的选择而被显示的实例屏幕7200 的说明性例子。如图72所示,显示包围词语"politics"的前6个实例的文本的摘录7202, 以及该摘录在电子项目中的位置7204。在每个摘录7202内可强调(例如,粗体化、斜体化、 加下划线、加亮等)所查询的词语"politics"本身。其它实例摘录可通过使用菜单按钮导 航到下一页实例来查看。对摘录7202之一的选择可使用户设备104跳(7018)到电子项目 中的所选位置,并打开阅读窗格,以便用户可从摘录位置开始阅读电子项目。
回头参考图71,除了包含所查询的词语的电子项目的列表7102以外,搜索结果屏 幕7100还可包括还没有被索引因此还不是可搜索的任何电子项目的条目7108。搜索结果 屏幕7100还显示字典链接7110,以查看该查询词语在存储在用户设备的本地存储器中的 一个或多个字典中的定义。在这种情况下,搜索结果屏幕7100指示两个字典定义是可用 的,并可通过选择字典链接7110旁边的可选择块来查看。搜索结果屏幕还可包括可被搜索 的其它内容源7112的列表。在这种情况下,搜索结果屏幕7100给用户搜索web、特定网站 或商家存储以寻找所查询的词语的选项。当然,搜索结果屏幕7100只是显示搜索结果的一 个可能的方法。向用户呈现搜索结果的很多其它方法对本领域技术人员是显而易见的。
如上所述,搜索结果屏幕包括条目7106,其指示多少电子项目仍是不可搜索的。用 户可能希望知道哪些电子项目仍是不可搜索的以及预期何时可索引它们。对仍不可搜索的 项目的条目7108的选择将调出索引状态屏幕7300,例如图73所示的屏幕。索引状态屏幕 7300可包括已接收到但还未索引的电子项目的队列7302。队列7302可按用户设备104接 收的顺序、字母顺序或任何其它适当的顺序来组织。队列7302可包括每个电子项目的索 引状态指示符7304(例如,"正在索引"或"还未索引")。虽然没有示出,但被示为"正在索 引"的任何电子项目还可包括多少项目已被索引和/或还剩多少项目尚待索引的进度条或 其它指示符(例如,60%被索引、剩余40%、剩余500个字节、剩余2分钟等)。
通常,电子项目将以在队列中列出的优先级顺序来索引。然而,用户可通过简单地 选择列表中的电子项目旁边的选择器块,来请求改变索引优先级顺序,以使列表中后面的 电子项目被首先索引。 一旦被选择,电子项目的索引状态指示器7304就将从"还未索引"改 变到"正在索引",且与电子项目相邻的选择器块将消失。在其它实现中,队列7302中的电 子项目可由用户分配索引优先级。例如,可给用户将索引优先级分配给列表中的每个电子 项目(例如,通过将数字或其它等级分配给列表中的电子项目)的积灰。
E.4.说明件索引技术 索引指组织并编目一个或多个电子项目中使用的词语以便能容易地在这些电子 项目中搜索一个或多个查询词语的过程。可用很多不同的方法执行全文搜索的索引。在一 种方法中,可使用单个主索引来对在存储在存储器中的所有电子项目中使用的词语以及每 个相应词语的位置编目。在另一方法中,每个电子项目包括词语的项目索引和每一词语在 该特定电子项目中的位置。在又一方法中,同时使用主索引和项目索引。在该"混合"方法 中,主索引包括在存储在存储器中的所有电子项目中使用的词语的列表,且主索引中的每 个词语附带了指向每个电子项目的项目索引中的条目的指针。通过使用混合方法,如果主 索引被破坏或丢失,则其可以根据各个项目索引来重构。同样,如果项目索引被破坏或丢 失,则单独的电子项目可被重新索引,而不需要重新生成主索引。然而,每个索引技术都有 一定的优点,且在各种实现中,可使用任何前述或其它索引技术来索引内容以供用户设备 搜索。 图74是更详细示出混合索引过程7400的示意图。在本例中,用户设备104具有 存储在存储器中的电子项目的集合,包括项目1(儿童的水果电子书)、项目2(儿童的颜色 电子书)和项目N(儿童的动物电子书)。每个项目具有存储在存储器中的相应的项目索引 7402,其包括电子项目中的词语出现的位置的列表。项目索引7402通常由电子项目中的词 语的位置组成。项目索引7402可基于词语出现的频率、词语在电子项目中出现的顺序、字 母顺序、或任何其它适当的顺序来组织。项目索引7402可以但通常不包括位置所对应的实 际词语的列表。例如,项目1具有包括词语Apple、 Banana、 Grape和Green连同其它词语 在电子项目1中的位置的项目索引7402。在所示例子中,词语Apple在项目1中的三个地 方出现位置1、位置3和位置7。 Banana出现在位置2,Gr即e出现在位置6和7,而Green 出现在位置7。 类似地,项目2具有包括词语Blue、 Brown、 Green和Grey连同其它词语在电子 项目2中的位置的项目索引7402。项目3具有包括词语Brown、Cat、Cow、Dog、Eel、Fish、 Green、Grey和Zebra连同其它词语在电子项目3中的位置的项目索引7402。
主索引7404也存储在用户设备104的存储器中。 一般,为用户设备104可访问的 每个存储器提供主索引,并且主索引包括在存储在相应的存储器上的所有电子项目中使用 的词语。主索引7404包括在存储在相应的存储器中的任何电子项目中使用的词语的列表 7406。对于每个词语,主索引包括到一个或多个项目索引条目的引用7408。引用可包括词语 在其中出现的电子项目的标识符、词语在电子项目中出现的次数(出现计数)以及对应于 词语的项目索引中的位置(例如,项目索引中的哪个条目)。例如,主索引中的词语"Apple" 附有引用"l-3-l",其指示该词语出现在第一电子项目中,它在该项目中出现三次,以及它 是该电子项目的项目索引中的第一条目。作为另一例子,词语"Brown"附有引用"2-2-2"和"N-4-l",引用"2-2-2"指示词语"Brown"出现在第二电子项目中,它在该项目中出现两次, 以及它是该电子项目的项目索引中的第二条目。引用"N-4-l"指示词语"Brown"还出现在 第N电子项目中,它在该项目中出现四次,以及它是该电子项目的项目索引中的第一条目。
图75示意性示出电子项目、项目索引和主项目可存储在例如存储器6602或6612 等存储器中的一种说明性方法。如图所示,存储器6602包括一个或多个电子项目数据结构 7500、一个或多个项目索引数据结构7502、以及一个或多个主索引数据结构7504。每个数 据结构7500、 7502和7504可包括指定数据结构的开始的首部字段、包含相应的内容或索引 的内容或主体字段、以及指定数据结构的结束的结束字段,以及其它字段。任何数据字段可 包含关于数据结构的元数据,例如电子项目或索引的名称或标题、创建日期、作者、数据结 构的字节计数、索引顺序等。数据结构7500、7502和7504是说明性的,且实际上,数据结构 可具有任何数量的一个或多个数据字段。 在该简单的例子中,在存储器6602中只示出一个电子项目数据结构7500和一个 项目索引数据结构7502。然而,实际上,任何数量的电子项目数据结构和相应的项目索引数 据结构可存储在存储器中。此外,虽然通常只有一个主索引数据结构存储在存储器中,但在 一些实例中可存在多个主索引数据结构(例如,在如下面详细讨论的合并期间)。
E.5.获得裨索索引的说明件方法 如上所述,搜索索引用于方便电子项目的搜索。当用户设备104接收电子项目时, 该项目在获得了该项目的搜索索引之前。在一个实现中,用户设备104可通过从服务器或 其它远程数据存储下载索引或通过在设备处生成索引来获得搜索索引。在其它实现中,索 引可另外或可选地通过在用户的个人计算机处生成或以任何其它适当的方式来获得。
图76是获得电子项目的搜索索引的说明性方法7600的流程图,为了方便起见该 方法在用户设备104的上下文中描述,但也可应用于其它用户设备。方法7600在7602处 以在用户设备104处接收电子项目开始。在7604,用户设备104确定获得电子项目的搜索 索引的方式。在7606,决定是下载搜索索引还是生成搜索索引。是下载搜索索引还是生成 搜索索引的决定可基于很多不同的因素,例如索引的大小和/或下载对生成索引的资源成 本。 如果决定生成搜索索引,则在7608,用户设备104的索引模块6608将电子项目添 加到将被设备编索引的项目的队列(例如,图73所示的列表)。索引接着以队列的优先级 顺序或用户指定的顺序生成。如果决定下载搜索索引,则在7610,用户设备104下载搜索索 引(例如,使用待办列表处理模块334)。在7612,一旦通过生成或下载获得了索引,该索引 就被存储在用户设备104的存储器中以供搜索模块6610搜索。 图77是示出生成电子项目的搜索索引的一个说明性方法7700的细节的流程图 (图76中的动作7608的一个可能的实现)。方法7700使用上面概述的混合索引方法来实 现;然而,可以可选地使用其它索引方法。因此,在7702,生成项目的可搜索项目索引,其包 括词语出现在电子项目中的位置的有组织的列表。如上所述,项目索引可按任何适当的顺 序来组织,例如字母顺序、在电子项目中出现的顺序、在电子项目中出现的数量的顺序等。
在1204,生成词语的可搜索主索引,其包含在电子项目集合中的任何电子项目中 使用的词语的列表。对于每个词语,主索引还包括到相应词语的每个项目索引条目的引用。 因此,如果词语出现在五个电子项目中,则主索引可具有到项目索引条目的五个引用,每个
55电子项目有一个引用。到项目索引条目的引用可特别地包括词语出现的电子项目的标识 符、词语出现在相应的电子项目中的次数、以及在相应的电子项目的项目索引中词语被索 引的位置。主索引最后可包括来自存储在用户设备104的存储器中的多个电子项目或来自 其集合的词语。然而,在方法7700的该阶段,因为只有一个电子项目被索引,所以主索引可 只包括来自 一个被索引的电子项目的词语。 在7706,可将额外的电子项目添加到存储在用户设备104的存储器中的电子项目 的集合。在7708,生成所添加的电子项目中的词语的可搜索项目索引,而在7710,更新主索 引以包括来自所添加的电子项目的词语。以这种方式,当添加额外的电子项目时,在每个 电子项目中使用的词语可被添加到主索引,以使它们变得在用户设备104上可进行文本搜 索。 在索引生成过程期间的某一点,在7712,可将索引生成的状态显示给用户。该状 态可由例如屏幕7300等索引状态屏幕或通过任何其它适当的显示方法来显示。在其它例 子中,索引状态可被显示在内容管理器屏幕上、归属屏幕上或以任何其它方便的方式来显 示。在7714,可向用户呈现优先级界面,用户可通过该界面设置或修改将生成索引的顺序。 优先级界面可与索引状态显示组合或可以是单独的界面。索引状态和/或优先级界面的显 示可发生在方法7700中的任何时间,不一定按照图77所示的顺序。此外,当发生某个事件 (例如,接收到新的电子项目)时和/或当用户请求时,可自动显示索引状态和/或优先级 界面。 搜索和索引往往是相对处理器密集的操作。因此,取决于处理器6600的速度和处 理资源,索引可能干扰和/或延迟在处理器6600上执行的其它过程。为了避免任何干扰或 延迟,在一些实现中,在7706,在处理器执行其它操作时索引可被暂停或减速。索引是否将 被暂停或减速取决于处理器6600将执行的其它操作的相对重要性。S卩,索引可只在其它处 理器操作具有比索引操作更高的优先级时暂停或减速。通常,由用户或远程计算设备(例 如,项目提供系统102)请求的操作将具有比索引更高的优先级。然而,可按任何期望的顺 序设置各种操作的优先级。 索引可被暂停的一些说明性例子包括在来自商家存储的项目的交互或购买期间, 在项目从内容递送模块或个人媒体库的下载期间,在浏览因特网时,在刷新显示时,等等。 在一些情况下,待执行的其它操作可能不需要处理器的全部处理资源和/或可能只需要间 歇地处理。在那些情况下,索引可以只被减速,而不是暂停。索引可被减速时的一些说明性 例子包括在使用音频播放器模块410播放音频项目时,和在浏览因特网时。当然,在各种其 它实现中,索引可响应于需要处理的这些和/或任何其它操作而暂停或减速。暂停和/或 减速可在方法7700中的任何时间发生,不一定按照图77所示的顺序。
在7718,如果接收了另一电子项目以添加到集合,则方法对每个额外的电子项目 重复动作7706-7716。如果目前没有添加额外的项目,则方法7700结束,直到接收到新的电 子项目。 代替生成新电子项目的搜索索引,用户设备可确定(在图76中的动作7606)从例 如项目提供系统102等远程计算设备下载搜索索引。下面关于图78-82描述了搜索索引的 下载。 图78是示出下载电子项目的搜索索引的一个说明性方法7800的细节的流程图(即,图76中的动作7610的一个可能的实现)。方法7800的一些动作被描述为由用户设 备执行("设备侧动作"),而其它动作被描述为由例如项目提供系统102等远程计算设备 执行("服务器侧动作")。通常,远程计算设备可能比用户设备104更快,具有更大的处理 能力,和/或具有更少的功率约束。因此,在某些情况下,使索引由远程计算设备生成并接 着被传送到用户设备104可能是有益的。 方法7800可在将电子项目从远程计算设备传送到用户设备104之后或之前的任 何时间执行。在7802,远程计算设备生成电子项目中的词语的可搜索项目索引,并在7804 生成电子项目中的词语的可搜索的项目专用主索引。项目专用主索引在某些情况中可只由 在电子项目中使用的词语组成。在其它情况中(例如,如果多个电子项目彼此在时间上接 近地被传输或将被传输),项目专用主索引可包括在多个电子项目(例如在时间上接近地 被传输或将被传输的电子项目)中使用的词语。 在7806,项目和项目专用主索引存储在远程计算设备的存储器中,以便可能传输 到一个或多个用户设备104。在7808,索引可使用一个或多个已知的压縮技术来压縮。如 果不是已被发送,则在7810,电子项目可被发送到用户设备104。在电子项目的传输的同时 期或之后,在7812,搜索索引可发送到用户设备104。搜索索引的传输可取决于下面详细描 述的各种不同的因素或商业规则。可选地,搜索索引可与它们所对应的电子项目一起或在 该电子项目之后被自动发送。 在7814,用户设备接收远程计算设备所发送的电子项目,并在7816可接收搜索索 引。在7818,如果已被接收到,则电子项目被存储在用户设备104的存储器中,相应的项目 索引也被存储在存储器中。在7820,用户设备104将项目专用主索引与现有的主索引合并, 以便现有的主索引被更新以包括来自接收到的电子项目的词语。 图79是示出可由例如用户设备104等用户设备实现以确定是否下载电子项目的 搜索索引的说明性方法7900的细节的流程图。方法7900可例如在方法7600中的动作7606 处和/或在方法7800中的动作7814和7816之间实现。方法7900在7902处以从远程计 算设备接收电子项目开始。在7904,用户设备104从远程计算设备接收指示是否有搜索索 引可用于电子项目的提示。实际上,提示可与电子项目分开地发送或与电子项目一起发送 (例如,作为电子项目的首部字段中的标志)。 至少部分地基于该提示,在7906,用户设备确定搜索索引是否可用于下载。如果在 7906,用户设备104确定了搜索索引可用于下载,则在7908,用户设备104向远程计算设备 请求搜索索引。在请求了搜索索引之后的某个时间,在7910,用户设备104检查以查看所请 求的索引是否已被接收到,且如果被接收到,则将项目索引保存到存储器,并将项目专用主 索引与现有主索引合并。 如果在7906,用户设备104确定搜索索引不可用,则将电子项目添加到将在用户 设备104处索引的项目的队列。在某些情况下,如果用户设备104的索引模块6608落后 (例如,待索引的项目的队列超过预定阈值),则用户设备104可重新请求下载可搜索索引。 在一些实现中,如果提示指示了搜索索引可用于电子项目,则用户设备可只重新请求该索 引。在7918,用户设备检查以查看是否接收到搜索索引,且如果被接收到,则将项目索引保 存到存储器,并将项目专用主索引与现有主索引合并。 如果在7918,设备确定了索引没有被接收到,则用户设备在7920继而发起通常如参考图77所述的搜索索引生成。在7922,如果索引生成失败,则索引模块6608将重试索引 电子项目预定的次数(例如,3次)。如果索引操作失败预定的次数,则索引模块6608可停 止尝试索引电子项目,且该过程可结束,直到用户设备104下次重新引导。对索引尝试的次 数的该限制防止了不必要的处理器周期,且因此在电子项目被破坏或另外不可索引的情况 下节约电池功率。 图80是示出可由例如项目提供系统102等计算设备实现以确定是否将搜索索引 传输到远程用户设备104的说明性方法8000的细节的流程图。方法8000可作为图79所 示的设备侧方法的结果被并行地执行。在S002,项目提供系统102将电子项目传输到用户 设备104,且在8004,传输指示搜索索引是否可用于电子项目的提示。如果该提示指示了搜 索索引可用于电子项目,则在8006,项目提供系统102可从用户设备104接收对于对应于电 子项目的搜索索引的请求。 当接收到对搜索索引的请求时,在8008,项目提供系统102应用一个或多个商业
规则,以确定是否发送所请求的搜索索引。商业规则指定了确定是否发送所请求的索引的
一个或多个因素。作为示例而非限制,商业规则可基于诸如以下的因素 參用户设备104的用户是否被授权接收搜索索引(例如,只在用户有优质账户时
发送), 參对搜索索引是否接收补偿, 參在一天中的什么时间接收到对搜索索引的请求(例如,只在非高峰时间期间被 请求时发送), 參搜索索引的大小(例如,只发送在预定大小之上或之下的索引), 參连接类型(例如,只在用户设备通过WiFi、经由计算机的通用串行总线等连接
时发送),和/或 參搜索索引所对应的电子项目的类型(例如,发送书的但不是期刊的索引)。
任何数量的一个或多个商业规则可按任何组合来应用,以确定是否发送所请求的 索引。在应用商业规则后,项目提供系统102在8010确定是否发送所请求的索引。如果发 送,则在8012,将所请求的索引发送到用户设备104,且该过程结束,除非/直到另一电子项 目被传输到用户设备。如果在8010,项目提供系统102确定不发送所请求的索引,则项目提 供系统102可什么都不做。可选地,项目提供系统102可发送指示搜索索引将不被提供的 消息和/或发送提示用户升级到优质服务以接收搜索索引的广告。 在8014,项目提供系统102可接收对搜索索引的再次请求,其指示将由用户设备 104索引的项目的队列超过预定阈值(即,设备被积压)。请求可包括对项目提供系统102 应用可选商业规则的请求。可选地,项目提供系统102可认识到这是对搜索索引的第二或 后续请求,并可独立确定应用可选的商业规则。在任何情况下,在8016,项目提供系统102 应用一个或多个可选的商业规则,以确定是否发送搜索索引。可选的商业规则可基于诸如 上面相对于普通商业规则列出的那些因素的因素,以及其它因素,例如在用户设备处将被 索引的电子项目的队列是否超过预定阈值等。 在8018,如果项目提供系统102确定应发送被再次请求的索引,则在8012,将所请 求的索引被发送到用户设备104,且该过程结束,除非/直到另一电子项目被传输到用户设 备。如果在8Q18,项目提供系统102确定不应发送被再次请求的索引,则项目提供系统102可不采取行动,可发送拒绝消息,或可发送广告(例如,以升级到优质帐户)。
图81示意性示出包括商业规则和可选商业规则的商业规则数据结构8100,其可 存储在例如项目提供系统102的存储器等存储器中。如图所示,商业规则数据结构8100包 括指定数据结构的开始的首部字段8102、包含一个或多个商业规则的商业规则字段8104、 包含一个或多个可选商业规则的可选商业规则字段8106、以及指定数据结构的结束的结束 字段8108、以及其它字段。任何数据字段可包含关于数据结构的元数据,例如商业规则集的 名称或标题、商业规则的创建日期、应何时应用商业规则等。数据字段仅仅是说明性的,且 实际上,数据结构可具有任何数量的一个或多个数据字段。例如,商业规则和可选商业规则 可被存储在单独的数据结构中,这些数据结构可在给定情况下在适合时被单独调用。
图82是示出从设备侧方法7900和服务器侧方法8000产生的通信流8200的信号 流图。信号流8200在8202处以用户设备对一个或多个电子项目的请求开始。该请求在项 目提供系统102被接收,且在任何要求的付款和/或授权之后,在8204,所请求的电子项目 被发送到用户设备104。在电子项目的传输的同时期或之后,在8206,指示一个或多个搜索 索引对电子项目的可用性的提示从项目提供系统102发送到用户设备104。如果提示指示 搜索索引可用于电子项目,则在8208,用户设备104请求搜索索引。否则,用户设备将电子 项目添加到将在用户设备处索引的项目的队列,并继续到8214。 在8210,项目提供系统102接收对搜索索引的请求,并应用商业规则以确定是否 发送所请求的搜索索引。在8212,项目提供系统102发送所请求的搜索索引,发送消息(例 如,拒绝请求,发送广告等),或什么都不做。如果用户设备104接收到所请求的索引,则过 程在8214结束,否则,用户设备104在设备处生成索引,除非/直到将在设备处索引的项目 的队列超过预定阈值。当超过预定阈值时,用户设备可在8216再次请求发送搜索索引。在 S218,项目提供系统102接收该再次请求,并应用可选商业规则以确定是否因为用户设备 104积压而发送搜索索引。基于可选商业规则,项目提供系统102发送所请求的搜索索引, 发送消息,或什么都不做。
E.6.说明性搜索技术 与索引一样,搜索是相对处理器密集的操作。因此,在过去,便携式设备利用远程 计算设备的较大处理功率来执行因特网搜索等。然而,在远程计算设备上执行搜索意味着 不能在便携式设备与远程计算设备失去通信时执行搜索。因此,在某些情况下可能希望在 便携式设备上执行搜索。然而在便携式设备上执行搜索给便携式设备的处理器带来负担, 且作为结果,使用了更多的功率。 图83是被设计成最小化处理因而最小化电池消耗的一个说明性搜索方法8300的 带注释的流程图,该方法8300参考用户设备104来描述,但广泛适用于其它便携式设备。 方法8300在8302处以接收数量为Q的搜索查询词语(在这种情况下,词语为"Blue"和 "Fish")开始。因为词语被空格分开且没有逻辑算子,所以用户设备104的搜索模块6610 将搜索查询视为隐式"接近"操作。即,搜索寻找位于彼此的预定接近范围内的两个查询词 语。 在8304,用户设备104在主索引中定位查询词语(所定位的词语在主索引中以粗 体示出)。在8306,用户设备104确定每个查询词语在每个电子项目中出现多少次,并生成 具有每个查询词语的至少一个实例的电子项目的列表。具有每个查询词语的至少一个实例
59的电子项目的列表被示为在框8306的右边。 在8308,用户设备104应用逻辑以确定每个电子项目的模糊因子(71)。模糊因 子是可使用最少处理得到的数字,但表示每个电子项目将具有位于彼此的预定接近范围 (即,接近值或NV)内的查询词语的相对可能性。通常,查询词语的实例越多,一些查询词语 就越可能位于彼此的接近值内。在所示实现中,模糊因子包括每个查询词语的实例的数量 的平均值(对于项目2,12和2的平均值是7)。然而在其它实现中,可使用其它逻辑来确定 适当的模糊因子。例如,在另一实现中,模糊因子可等于所有查询词语的实例的最小数量。 应用该可选逻辑,项目2的模糊因子是2(第二查询词语的实例的数量)。
方法8300的带注释的流程图在图84继续。在8310,基于模糊因子,对具有每个查 询词语的至少一个实例的电子项目的列表排序。从经排序的列表中,在8312,用户设备标识 具有位于彼此的预定距离(即,接近值)内的查询词语的预定数量R个条目。距离可按照 例如字符计数、字计数、字节偏移量或任何其它距离度量等单位来计算。具有位于小于接近 值间隔处的词语的电子项目的条目被认为具有接近值匹配(NVM)。在框8312右边的列表中 的5个条目(以粗体示出)具有NVM。接近值可以是固定的数字(例如,1、2、3或隔开更大 的单位)或是可变的。例如,接近值可随着电子项目的长度、所输入的搜索查询词语的数量 (例如,与如果只查询两个搜索词语相比,如果查询3个搜索词语,它们可间隔得更远)、电 子项目的平均单词大小、和/或影响搜索查询词语彼此的邻近度的任何其它因素来增加。
在8314,具有接近值匹配的预定数量R个项目接着以类似于图71所示的方式被显 示给用户。将首先列出具有最接近值匹配的电子项目,除非搜索是从具有接近值匹配的电 子项目内发起的,在这种情况下将首先列出打开的电子项目。 如果在8316用户请求查看接下来的R个结果,则该方法返回到框8312以标识具 有一个或多个接近值匹配的接下来的R个条目。否则,该方法继续到8318,其中用户设备 104确定用户是否请求查看一个搜索结果的实例。如果不查看,则该方法结束,直到执行另 一搜索或改变搜索范围。如果在8318用户确实请求查看搜索结果条目的实例,则在8320, 用户设备以类似于图72所示方式显示所请求的搜索结果条目的前S个实例。
图85示意性地示出模糊因子数据结构8500,其包括用于确定模糊因子的逻辑和 用于确定接近值的逻辑,该数据结构可被存储在例如用户设备104的存储器等存储器中。 如图所示,模糊因子数据结构8500包括指定数据结构的开始的首部字段8502、包含用于计 算每个电子项目的模糊因子的模糊因子数据字段8504、包含用于确定接近值的逻辑的接近 值字段8506、以及指定数据结构的结束的结束字段8508。任何数据字段可包含关于数据结 构的元数据,例如模糊因子或接近值的名称或标题、数据结构的创建日期、应何时和/或如 何应用模糊因子或接近值的指示等。该数据字段仅仅是说明性的,且实际上,该数据结构可 具有任何数量的一个或多个数据字段。例如,模糊因子字段和接近值字段可被存储在单独 的数据结构中,这些数据结构可在给定情况下在适合时被单独调用。
E. 7.说明性散列技术 当例如用户设备104等用户设备经历在其控制之外的事件("大规模事件")时, 用户设备104可能不知道存储在其上的电子项目是否改变。作为示例而非限制,大规模事 件可包括连接或断开通用串行总线插头或其它数据连接,打开或关闭设备,连接或断开可 移动存储器,将设备从睡眠状态唤醒,将电子项目下载到设备,或其中用户设备104不受控制的任何其它事件。 在添加、移除或更改电子项目的事件中,可能需要更新一个或多个索引。例如,如 果添加或修改项目,则这些项目可能需要索引或重新索引。如果移除了项目,则索引可能需 要被移除或被更新以移除项目。同样,搜索结果可能需要被更新以反映项目的添加或删除。
确定用户设备上的电子项目是否改变的一种方法是简单地将存储在设备的存储 器中的索引与设备上的项目的当前目录进行比较。然而,如上所述,便携式设备上的处理资 源非常宝贵。因此,如果可能,希望避免任何不必要的处理操作,特别是处理器密集的操作。 存储在设备的存储器中的索引与设备上项目的当前目录的比较可能是处理器密集的操作, 且在很多情况下是不必要的,因为用户设备上的内容在大规模事件期间将不改变。
图86是确定设备上的内容是否在事件期间改变的一个说明性方法8600的流程 图(在图87中继续),该方法8600参考用户设备104来描述,但广泛适用于其它便携式设 备。通常,方法8600通过将散列函数应用于存储在用户设备上的电子项目的目录以生成事 件之前和之后的目录的相对小的散列来实现。散列用作目录的指纹,其可被比较以准确地 确定存储在用户设备104上的电子项目是否在该事件期间改变。 更具体地,方法8600包括在8602应用散列函数来生成在例如大规模事件等事件 之前设备上的电子项目的目录的第一散列。在一个实现中,散列函数包括消息-摘要算法 4(MD4)散列函数、消息-摘要算法5(MD5)散列函数或安全散列算法1 (SHA-1)散列函数。 然而,在其它实现中,可使用任何其它散列函数,其提供将反映散列目录中的微小变化的相 对小的指纹。取决于对给定应用的各种设计考虑因素,例如容错、速度、大小等,可使用不同 的散列函数。在8604,再次应用散列函数以生成在事件之后的电子项目的目录的第二散列。 在8606,比较第一和第二散列以确定目录是否改变。如果在8608,发现散列匹配,则该方法 在8610认识到在事件期间用户设备104上的电子项目没有改变。因此,不必执行索引,且 该过程结束,从而节约了用户设备104的电池寿命。 如果在8608,散列不匹配,则该方法继续到8612以删除存储在高速缓存中的任何 搜索结果。这是因为如果散列不匹配,则意味着高速缓存的搜索结果可能不再准确地反映 存储在设备的存储器中的电子项目。例如,如果电子书在事件期间被删除,则包括删除的电 子书的任何高速缓存的搜索结果是不准确的。相反,如果电子项目在事件期间被添加,则高 速缓存的搜索结果将不包括添加的电子项目中的所查询的词语的任何实例。
方法8600的流程图在图87中继续。在8614,选择目录中的电子项目,且在8616, 用户设备104确定所选项目是否出现在主索引中。可按目录条目的顺序、按字母顺序、按最 近修改的顺序或按任何其它期望的顺序来选择项目。如果在8616,在主索引中没有找到项 目,则用户设备确定项目已被添加,且在8618获得可搜索索引(例如通过下载或生成,见图 76)。 如果项目出现在主索引中,ze在8620,用户设备104将电子项目的目录条目的特 征(例如,大小和修改时间)与电子项目的主索引条目进行比较,以查看条目是否匹配。如 果在8620,用户设备104确定目录和主索引条目不匹配,则在8622,用户设备104从主索引 中清除该项目的条目,并移除该项目的项目索引,且继续到8618以重新下载或生成该项目 的搜索索引。如果在8620,用户设备确定目录和主索引条目匹配,则在8624,用户设备104 检查以查看在目录中是否有任何其它项目,且如果有,对目录中的每个项目返回到框8614。
在8618发起搜索索引的下载或生成之后,用户设备还检查以查看在目录中是否 有任何其它项目,且如果有,对目录中的每个项目返回到框8614。 —旦比较了目录中的所有项目,且用户设备104在8624确定目录中不再剩下项 目要检查,则方法8600继而从主索引中挑选项目条目,并检查以查看它们是否存在于目录 中。具体地,在8626,用户设备104从主索引中选择项目,并在8628检查以查看所选项目是 否出现在目录中。如果在8628发现所选项目在目录中,则用户设备104在8630检查以查 看主索引中是否剩下其它项目,且如果有,对主索引中的每个项目重复动作8626和8628。
如果在8628,没有在目录中找到项目,则在8632,从主索引中清除该项目的条目, 移除项目索引,且方法继续到框8630来检查以查看在主索引中是否还有任何条目。
E.8.说明件可扩展裨索/索引抟术 使用上述一种或多种技术,项目提供系统102所创建的内容可容易由用户设备 104来索引并搜索。然而,第三方提供的应用程序和其它电子项目可能不是可容易搜索的, 除非用户设备104有方法确定在第三方项目中在哪里和如何使用词语。允许用户设备104 索引第三方项目的一种方法是通过使用一个或多个插件。插件也可结合由项目提供系统 102提供的或通过项目提供系统102提供的应用程序和电子项目来使用。通常,插件是调 用主应用程序的一个或多个预定应用程序编程接口 (API)的应用程序。在这种情况下,API 提供标准接口,允许第三方创建与用户设备104的程序和模块进行交互的插件。
图23是通常示出插件的使用的示意图,该插件可应用于用户设备104以及任何其 它适当的用户设备。通常,可向软件开发者提供一个或多个API作为软件开发包(SDK)的 一部分。使用这些API,开发者可编写插件8800、程序、或能够与存储在用户设备104上的 程序或模块进行交互的其它电子项目。插件8800可用于索引和/或搜索各种不同类型的 电子项目,例如本地存储的电子项目8802、远程存储的电子项目8804、本地或远程第三方 电子项目8S06、和/或其它类型的电子数据项目,例如web数据、证券报价机、天气模块等。
插件8800可使用一个或多个API来向用户设备104注册其自身和/或与用户设 备104交换数据。用户设备104的搜索和索引模块6610和6608也可调用一个或多个API 来从插件请求索引信息。以这种方式,搜索和索引模块6610和6608可接收索引和搜索电 子项目8802-8808所必需的信息,例如在项目中使用的词语和这些词语在电子项目中的位 置。 在一种实现中,当用户设备104接收电子项目时,索引模块6680调用API来展示
包含在电子项目中的词语和每一词语在电子项目内的位置。 一旦展示了词语,索引模块 6608就通过生成电子项目中的词语的可搜索项目索引并更新可用电子项目集合中的词语 的可搜索主索引以包括使用API所展示的词语,来索引电子项目。 可选地,索引可由例如项目提供系统102等计算设备来执行。在这种情况下,一旦 展示了词语,项目提供系统102就可生成电子项目中的词语的项目索引以及电子项目中的 词语的项目专用主索引。项目索引和项目专用主索引可接着传输到例如用户设备104等用 户设备。 可提供各种API,其可由用户设备104的一个或多个模块、插件8800和/或一个 或多个电子项目8802-8808本身调用。例如,可提供索引API,其可由索引模块6608通过 处理器调用,以展示包含在电子项目中的词语和每一词语在电子项目内的位置。可提供搜
62索API,其可响应于输入电子项目内的位置由搜索模块通过处理器调用来展示揭示包含在 电子项目中的词语。可提供导航API,其可由处理器调用以使电子书阅读器跳到对应于所输
入的电子项目内的位置的位置。
E.9.说明件捭索技术 除了搜索本地存储的电子项目和直接搜索因特网之外,在一些实例中可能还希望 使用一个或多个搜索实体来帮助搜索。 一些搜索可能更容易由特定类型的搜索实体处理。 例如,图像搜索和以问题形式提出的搜索可能无法令人满意地使用计算机实现的搜索引擎 或搜索模块基于搜索查询来执行。 图89和90是使用远程搜索实体的说明性搜索方法的流程图,该方法参考用户设 备104来描述,但广泛适用于其它便携式设备。图89示出本方法的设备侧方面,而图90示 出服务器侧方面。 如图89所示,设备侧方法8900在8902处通过接收问题形式的查询开始。在8904, 将搜索查询传输远程搜索实体,例如依赖于人类输入来生成搜索结果的基于人类的搜索实 体。如上所述,基于人类的搜索实体的例子包括可从位于加利福尼亚州桑尼维尔市的Yahoo 公司、位于马里兰州贝塞斯达市的Wondir公司得到的Yahoo!⑧Answers,或可从位于华盛 顿州西雅图市的NowNow. com得到的NowNow②。 在8904,用户设备104接收小册子形式的包括搜索结果的电子项目。小册子可包 含对在搜索查询中提出的问题的一个或多个答案。在8906,将小册子存储在用户设备的存 储器中。在8910,用户设备104确定搜索索引是否可从远程搜索实体获得。在一个实现中, 该确定可用与图79中描述的确定类似的方式进行。如果索引可用,则在8912,用户设备接 收小册子中的词语的项目索引和小册子中的词语的项目专用主索引。在8914,项目索引存 储在存储器中,项目专用主索引与用户设备104上的现有主索引合并,且该过程结束。
如果在8910,索引不可用,则用户设备在8916继续生成小册子中的词语的项目索 引,并在8918更新现有的主索引以包括来自小册子的词语。以这种方式,使小册子可由用 户设备进行文本搜索。 如图90所示,设备侧方法9000在9002通过从用户设备接收问题形式的查询开 始。在9004,远程搜索实体从一个或多个搜索人员接收关于问题的输入。查询可通过网站、 电子邮件或任何其它适当的分发机制传播到搜索人员。搜索人员可进行其自己的因特网、 书或任何其它源的搜索,并接着提供其对问题的答案。搜索人员的答案接着在9006被编辑 并在900S以例如小册子等电子项目的形式传输到远程用户设备104。小册子可包含对搜索 查询中提出的问题的多个答案。在一些实现中,方法9000可在这里结束。然而,在其它实 现中,远程搜索实体也可在9010生成搜索索引(例如,项目索引和项目专用主索引),并在 9012将搜索索引传输到远程用户设备104。在一个实现中,搜索索引可以用类似于关于图 78和80描述的那些方式的方式来生成并传输。 虽然描述了各种说明性设备和系统实现,但取决于环境,这些实现的组件、模块和 特征可被重新安排、修改和/或可被完全省略。 此外,虽然描述了各种说明性方法,但应理解,取决于环境,方法中的某些动作可 以不按所述顺序执行,可被重新排列、修改和/或可被完全省略。 而且,以上关于任何方法描述的任何动作可由处理器或其它计算设备基于存储在一个或多个计算机可读介质上的指令来实现。计算机可读介质可以是可由用户设备的处理 器在本地或远程访问的任何可用介质。作为例子而非限制,计算机可读介质可包括以用于 存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现 的的易失性和非易失性、可移动和不可移动介质。计算机可读介质包括但不限于RAM、R0M、 PROM、闪存或其它存储器技术、CD-R0M、数字多功能盘(DVD)或其它光学存储、磁带盒、磁 带、磁盘存储或其它磁性存储设备、或可用于存储期望的信息并可由用户设备的处理器访 问的任何其它介质。上述任何装置的组合也应包括在计算机可读介质的范围内。
F.说明性功率管理技术
F. 1.说明件功率管理的概沭 这里公开的是用于补偿电子组件中的误差的技术。本节中描述的概念表示图4所 示和通常在上面节A中描述的功率管理功能412的一些例子。在一个所述实现中,已知信 号被提供给电阻器。该信号使用运算放大器来放大并被测量。所测量的信号与作为输入提 供给电阻器的信号进行比较,以获得系统中的误差的值。该误差应用于提供给电阻器的未 知信号,以便信号值在被放大时被更准确地表征。使用软件、硬件或其组合,可将误差应用 于未知信号,以补偿例如运算放大器等组件中的误差。 根据另一实现,电压信号根据时间来平滑,以便更准确地估计电池寿命。 根据另一实现,功率状态模块响应于触发事件改变设备的功率状态。该触发事件
可使用语音模式来接收,并可指示数据模块可用于传输。例如,设备可接收诸如铃声等指
示,其指示新的数据内容是可用的。设备转换到数据模式以下载内容。该过程可以是手动
的,即,需要用户的交互;自动的或半自动的,即,需要用户授权,但在其它方面是自动的。当
接收到数据时,设备可返回到待机状态。使用语音模式来检测新数据何时可用减少了功耗,
并允许设备在其处于低功率或待机模式中时接收数据模块。 这里描述的技术可用很多方法来实现。下面参考所包括的附图和正在进行的讨论
提供了 一个示例环境和上下文。 F. 2.误差倌补偿的说明性系统 电流测量一般通过测量电阻器两端的电压来进行。已知电阻值在百分之几的误差 范围内。然而,电阻值因而误差通常被放大,以便具有在给定组成工作范围的大动态电流范 围时有用的值。在非常低的电流下,该电阻器两端的电压非常低,这使运算放大器的误差或 偏移电压非常大。 可获得使偏移电压补偿与硬件集成的运算放大器。然而,这样的硬件复杂、昂贵, 且一般需要机械维护来进行正确工作。 图91示出便携式设备9100,其从功率管理系统和测量观点看,具有功率组件9101 的系统,功率组件9101能够向设备9100内的例如显示屏、软件等各种组件和系统提供功 率。功率组件9101之一是相对于电源104供电的电池9102。电池9102可以是镉镍、锂离 子或其它电源机制。电源104可以是任何负载或组件或其它供电或功耗机制。电池9102的 电流可通过测量电流感测电阻器9106两端的电压降并使用运算放大器9108放大因而形成 的信号来测量,如将在下面更详细描述的。运算放大器9108将与电池9102的测得电流有 关的信号输出到模数转换器(ADC)9110,其将模拟信号转换成数字形式以供处理电路9112 使用。数字信号可存储在设备9100上的存储器中,或可被发送或处理电路9112或以其它方式对其可用。处理电路9112可包括处理该信息的逻辑,并可将该信息呈现给用户或可使 用其它功率管理组件和/或软件9114来利用该信息。功率管理组件和/或软件9114可包 括功率管理模块9116以决定在设备内向何处发送功率、多少功率被需要和/或可用、功率 如何被分配等等,并还可包括其它设备侧功能9118。 图92示出用于补偿组件误差的系统的一个实现。系统9200包括电池组件9202和 电源组件9204。电流感测电阻器9206可插在电池9202和电源组件9204之间。运算放大 器9208可被配置成测量电阻器9206两端的电压降,以便确定电流。放大器9208放大表示 电阻器9206两端的电压降的信号。例如,运算放大器9208可提供大约50的增益。该增益 可基于组件信息来假设或并可基于下述测量和计算被确定为实际的。放大的信号被提供给 模数转换器(ADC)9210。 ADC 9210可连接到处理电路9212,处理电路9212可以是处理器集 成电路(IC)或其它处理机制,并可包括计算机可读存储器或与计算机可读存储器相关联。 ADC 9110所输出的信号可用于确定误差值,其可存储在计算机可读存储器中或另外可由处 理电路9212和/或软件9214访问。可实现软件9214来接收并利用提供给处理电路9212 的信号。 软件9214利用误差值来计算电池电压电平的更准确的电流值,并可以是独立的 程序或可与设备上提供的其它软件集成。误差值可基于ADC 9110的输出信号或由用户预 先选择。软件9216可以是监控电池电流和/或电压电平以确定何时关闭系统中的特定组 件的功率管理软件。 F.3.说明件误差倌确定和利用 图93示出用于确定和利用误差值的过程9300的一个示例性实现。可使用图92 中的系统来在描述该过程时进行参考。 下面描述该说明性方法的细节。然而,应理解,取决于环境,某些动作不需要以所 述顺序执行,并可被修改和/或可完全省略。而且,所述动作可由计算机、处理器或其它计 算设备基于存储在一个或多个计算机可读介质上的指令来实现。计算机可读介质可以是可 由计算设备访问来实现存储在其上的指令的任何可用介质。 在9302,第一已知电压和/或电流信号被发送到电阻器。例如,如电池9202等已 知电源被发送到电流感测电阻器9206 。 在9304,可使用测量计来测量例如电流感测电阻器9206等电阻器两端的电压降, 测量计可以是外部测量计或可与设备集成。电阻器两端的已知电压读数可例如为0. 59微 伏(mv)。该值将是对运算放大器的第一输入值的基础。 在9306,电阻器两端的信号被提供给运算放大器,例如运算放大器9208。测量运 算放大器输出VMft。运算放大器9208可具有例如50的假定的增益。在理论上,V^^ ( S卩,运 算放大器9208的输出)仅仅是乘以增益的运算放大器的输入电压,在这种情况下是O. 59mv x 50即29.5mv。然而实际上,V放电可以大不相同。例如,所测量的V放电可以是72mv。值中 的此差异提供了例如42. 5( S卩,72-29. 5)的误差值。然而,该误差值只与假定增益值一样准 确。如果假定增益值不正确,则误差值也是不正确的。因此,可使用更准确的增益确定来获 得更准确的误差值,如以下所描述的。 在9308,第二已知电压和/或电流信号被提供给电阻器以更准确地确定误差值。
在9310,再次测量电阻器两端的电压。该值将是运算放大器的第二输入值的基础。
65
在9312,电阻器两端的信号被提供给运算放大器,例如运算放大器9208,并被测 量为第二输出值。 在9314,确定误差值。根据一个实现,误差利用假定增益、使该增益值乘以第一输 入值以得到预期值、并从所测量的值减去该预期值以确定误差值来确定。根据另一实现,将 第一和第二输入值进行比较以确定输入值之差(Ain),即,
A人=I第一输入值-第二输入值 将第一和第二输出值进行比较以确定输出值之差(A。ut),即,
A出=I第一输出值-第二输出值 将A J余以A A,以获得运算放大器的实际增益。该实际增益可例如乘以第一已 知输入值以确定预期值。从第一测量输出中减去该预期值以确定误差值。
作为计算误差的一种方式的例子,考虑下面的例子。将第一已知输入值3. 5提供 给运算放大器以产生输出200。将第二已知输入值7.8提供给运算放大器,其产生输出56。 输入值可以是电压或电流。例如,输入值,即,3. 5和0. 78,可通过取测量电流(I 并将其 除以50来得出,其中50是在电流感测电阻器是1/50ohm(Q),即,20m"的基础上选择的。 A入是3. 5-0. 78 = 2. 72,而A出是200-56 = 144。将A 。ut除以A入,得到52. 94。这是表 示运算放大器电路的增益的线的斜率。使增益乘以输入值并将结果从输出值中减去将给出 偏移或误差值,例如,56-0. 78x52. 94 = 14. 7068。 用于确定偏移的又一可选方案利用串联连接到运算放大器的ADC,例如连接到运 算放大器9208的ADC 9210的输出。运算放大器的输出可与V放^类似地处理,除了调节因 子被添加到ADC的测量输出之外。可选择值4作为调节因子,因为这样的值是最低有效位 (LSB)的值的一半。 —旦得到误差值,它就被存储和/或利用以当例如V^等未知电压被提供给电阻 器时校正将来的VMJt。例如,误差值可被添加或从V^i中减去,如图94所示,以获得更准 确的V;卜,值。以这种方式补偿V^i校正了在正常操作期间出现在例如运算放大器208等组 件中的偏移误差。 在9316,将未知电压信号应用于电阻器。这可在设备的正常操作期间如在电池放 电时发生,从而向设备的各种组件供电。 在9318,信号被运算放大器放大。该放大产生用于在例如ADC 9210等ADC中转换 的电池质量信号。然而,如上所述,运算放大器具有造成信号中的误差的相关联的偏移值。
在9320,使用误差值来调节放大的信号的值。该调节可使用功率管理软件、其它计 算机程序来执行。因此,误差值有助于补偿运算放大器中随着时间过去所经历的影响工作 电压值的偏移。 使用误差值和软件来计算运算放大器或其它功率组件的偏移是比将具有偏移调 节的运算放大器合并在电路设计中更节约电流的用于校正组件误差的技术。具有偏移调节 的运算放大器一般比不具有偏移调节的运算放大器208消耗更多的电流。而且,误差值可 对给定的组件或对给定的配置固定。因此,确定误差值只需要在设备的使用寿命中执行一 次,或可按需要间或地确定。确定误差值的过程可为工厂初始化的一方面。它也可在某些 引导条件等下执行。 F.4.用于电池寿侖确定的说明性系统
基于上述误差值确定的补偿电流值可用于更好地测量电池寿命。如下特别描述 的,近似电压对时间测量以减小尖峰信号的影响允许更准确地估计电池寿命,因而优化系 统性能。 图94示出作为与理论电压曲线V^^相比较的、对特定系统的测量电压VStt。 Va& 是具有小负载,例如300ma的电池的寿命的理想曲线。然而,当电流从电池流出时, 一串联 电阻与电池电压V^相关联,其降低了在附图中V^所表示的曲线。因此,V^的曲线一般 低于V双论的曲线。此外,观察到的电压(即,V,)可由于设备进入不同的功率状态而表现 得参差不齐,这些功率状态使电压在给定的时间段内下降或耗尽。补偿电压V;卜,可基于如 上所述的误差值从V^i调节。 由例如由打开和关闭组件而造成的突然的尖峰信号可由设备的一个或多个监视 机制察觉到,以表明需要禁用某些组件以节约功率。最简单而言,系统100可具有某些水印 或阈值,其确定设备如何管理或分配功率。例如,如果V,卜,落在Vwtt —ft^下,则某些软件程 序可被关闭以节约功率。如果V;卜,落在Vwtt —8#下,则某些硬件组件可被禁用以节约功率。 功率尖峰信号可暂时驱使电压值在这些阈值中的一个或两个之下。这些阈值可预期是Vg, 曲线接近点tts或tth,因此电池接近低或完全放电的值的指示符。然而,功率尖峰信号可分 别在时刻tsl和ts2暂时将功率降低到V随—软件和V随—硬件之下。因此,与功率管理模块相 关联的软件和/或硬件使V;卜,曲线平滑,以避免影响设备的功率模式的尖峰信号。可选地 或另外,Vwtt —,和/或,—旨的值可被调节,以确保由组件打开或关闭引起的任何尖峰信 号不超过所调节的V離—硬件和/或V闺值—软件值。 图95示出一种系统,其通过平滑由与电子设备相关联的软件感知的电压-时间曲 线来更准确地确定电池寿命。这样,可阻止临时电压尖峰影响余下的电压电平的读数和余 下的电池寿命。类似于图92中的组件的图95中的组件具有类似的参考标号(例如电池 9202对应9502)。 图95类似于图92,除了电池电压V电池被发送到ADC 9515,以将模拟信号转换成数 字形式之外。表示Vg池的数字信号被提供给软件9514。该软件可与误差值软件9514或其 它软件程序集成或无关。该软件也可与功率管理模块9516相关联或可实现功率管理模块 9516。功率管理模块9516可使图94所示的曲线V补偿平滑,以更接近地表示曲线V电池或V理 A。平滑或调节曲线的一种方法是使用所测量的值计算V^^^所测量的值可在下列方程 中利用 乂真实电池=V测量电池+ (1补偿x R串联电阻) 其中,V真实电池是当进行V电池的测量时获得的实际值。I补偿是使用上述误差值来计 算的。R^^是基于板电阻、布线电阻等的估计值。该值可由软件9514计算和利用。
F. 5.用于准确确定电池寿侖的说明性技术 图96示出用于更准确地确定电池寿命的过程300的一个示例实现。可使用图95 中的系统来在描述该过程时进行参考。 下面描述该说明性方法的细节。然而,应理解,取决于环境,某些动作不需要以所 述顺序执行,并可被修改和/或可完全省略。而且,所述动作可由计算机、处理器或其它计 算设备基于存储在一个或多个计算机可读介质上的指令来实现。计算机可读介质可以是可 由计算设备访问来实现存储在其上的指令的任何可用的介质。
在9602,测量电子设备的电池电压。该测量可使用集成的或外部组件来执行。
在9604,获得由设备的组件消耗的电流。该电流值可反映误差值调节以校正运算 放大器9508中的偏移。 在9606,确定串联电阻值。这可以是基于板电阻、布线和电路内在的其它电阻的特 征的值。 在9608,获得电池电压,其更准确地表示在电池9502中剩下的剩余功率(即,寿 命)。这可通过执行下列方程来实现。
乂真实电池=V测量电池+ (1补偿xR串联) V真魏池是当进行Vg池的测量时获得的实际值。I补偿使用上述误差值来计算的。 RftM^是基于板电阻、布线电阻等的估计值。该值可由软件9514计算和利用。
F.6.说明件功率级转换系统 虽然下面描述了功率状态系统和设备,但该实现方式意味着用作非限制性示例。
图97示出用于在电子设备9700上实现的功率状态之间转换的系统。设备9700 具有触发事件传感器9702和功率状态模块9704。也可包括其它组件,特别是其它功率管理 组件,但为了简单和方便起见没有示出。 触发事件传感器9702可以是感测网络的可用性或用于感测通过广域网发送数据 到便携式设备的广域网开关。触发事件传感器9702可操作来感测需要改变设备9700的功 率状态改变的事件。根据一个例子,触发事件传感器9702感测数据模块何时可用于发送到 便携式设备,以及功率状态模块9704将设备的功率状态从第一功率状态改变到第二功率 状态以接收数据模块。触发事件可通过数据连接或网络的语音模式发送到设备9700。
功率状态模块9704可以是处理器或其它集成电路或电子设备,其可操作来使用 数据传输模式传输数据模块并使用语音模式接收事件信号。处理器9704可操作来从触发 事件传感器9702接收信号,改变设备9700的功率状态,并在有或没有用户交互和/或通知 的情况下接收来自远程源的数据。 根据一个例子,第一功率状态是可具有语音模式能力的待机模式状态,而第二功 率状态是数据传输模式。待机模式状态可允许设备9700通过这样的蜂窝或无线网络的语 音模式接收事件触发信号,例如"查验"或"响铃"。事件触发信号使设备从待机模式"醒来"。 事件信号可向设备9700指示数据内容或数字项目可用于下载或推。作为响应,功率状态模 块9704可将设备置于第二状态中以使下载或推能够发生。这可以是广域网(WAN)启用模 式。处理器可向用户提供已接收到数据内容或其它数字项目的通知。在数据内容或数字项 目被接收到之后,处理器接着将设备返回到待机模式状态。转换状态的过程可由软件、硬件 或其组合控制。 各种触发事件可更改设备9702的功率状态。例如,如果指示数据可用于传输的触
发事件被接收到,且设备702的电池电平接近或低于阈值的触发事件被接收到,则处理器
可忽略数据传输触发事件。此外或可选地,处理器可记录数据传输触发事件的接收,并可通
知用户触发事件被接收到,但由于功率电平接近或低于阈值,不发起该数据传输。 触发事件也可以是指示有线或无线网络可用的指示符。这样的触发事件可由处理
器接收,该处理器又启用有线或无线联网会话。 F. 7.转换功率级的说明性过程
图98示出用于改变例如设备9702等电子设备上的功率状态的过程9800的一个 示例性实现。 下面描述该说明性方法的细节。然而,应理解,取决于环境,某些动作不需要以所 述顺序执行,并可被修改和/或可完全省略。而且,所述动作可由计算机、处理器或其它计 算设备基于存储在一个或多个计算机可读介质上的指令来实现。计算机可读介质可以是可 由计算设备访问来实现存储在其上的指令的任何可用的介质。 在9802,信号由电子设备接收。该信号可通过设备所连接到的有线或无线网络来 发送。该信号可表示触发事件,如上所述。 在9804,设备的功率状态可响应于该触发事件从第一功率状态改变到第二功率状 态。如上所述,第一和第二功率状态之一是广域网(WAN)启用状态,而另一功率状态是非广 域网启用状态。例如,该触发事件可指示数据模块准备好用于传输,并可在设备处于WAN启 用模式中时由设备使用数据传输模式来接收。响应于该触发事件,设备可被置于启用数据 传输的第二WAN启用模式。设备由此通过仅响应于触发事件而改变功率状态来节约功率。 设备不需要定期检查可用的数据模块,而改为使用低功率语音模式来监视关于数据模块准 备好的指示。
结论 最后,虽然用对结构特征和/或方法动作专用的语言描述了本发明,应理解,在所 附权利要求中定义的本发明不必限于所述具体特征或动作。相反,这些具体特征和动作是 作为实现所要求保护的本发明的示例性形式来公开的。
权利要求
一种方法,包括显示储存在设备的存储器中的一个或多个电子项目的列表;以及提供储存在所述设备的存储器中的所述一个或多个电子项目的索引生成状态。
2. 如权利要求1所述的方法,其特征在于,所述索引生成状态包括与所述列表中的一个或多个所述电子项目相关联的状态指示器。
3. 如权利要求1所述的方法,其特征在于,还包括呈现优先级界面,用户能够通过所述优先级界面设置为所述设备的存储器中的电子项目生成索引的顺序。
4. 如权利要求1所述的方法,其特征在于,还包括改变为所述设备的存储器中的电子项目生成索引的优先级顺序。
5. 如权利要求1所述的方法,其特征在于,还包括在执行任务时暂停索引生成。
6. 如权利要求1所述的方法,其特征在于,还包括响应于下列各项中的一个或多个来暂停索引生成所述设备的按钮的操作、存储器到所述设备的插入、新电子项目的接收或所述设备的软件更新。
7. 如权利要求1所述的方法,其特征在于,还包括在执行任务时放慢索引生成。
8. 如权利要求1所述的方法,其特征在于,还包括响应于下列各项中的一个或多个来放慢索引生成播放音频文件或执行应用程序。
9. 一种或多种包括实现如权利要求1所述的方法的计算机可执行指令的计算机可读介质。
10. —种手持式电子书阅读器设备,包括处理器;以及存储器,其储存可在所述处理器上执行以实现如权利要求1所述的方法的指令和索引模块。
11. 一种方法,包括显示储存在设备的存储器中的一个或多个电子项目的列表;以及响应于对尚未索引的电子项目的用户选择来改变为所述设备的存储器中的电子项目生成索引的优先级顺序。
12. 如权利要求11所述的方法,其特征在于,还包括在执行任务时暂停或放慢索引生成。
13. 如权利要求11所述的方法,其特征在于,还包括响应于下列各项中的一个或多个来暂停索引生成所述设备的按钮的操作、存储器到所述设备的插入、新电子项目的接收或所述设备的软件更新。
14. 如权利要求11所述的方法,其特征在于,还包括响应于下列各项中的一个或多个来放慢索引生成播放音频文件或执行应用程序。
15. —种手持式电子书阅读器设备,包括处理器;显示器,其被配置成向用户显示信息;以及索引模块,其包括可在所述处理器上执行来索引电子项目并在所述显示器上显示索引生成状态的逻辑。
16. 如权利要求15所述的手持式电子书阅读器设备,其特征在于,还包括被配置成呈现优先级界面的用户界面模块,用户能够通过所述优先级界面来改变为所述设备的存储器 中的电子项目生成索引的顺序。
17. 如权利要求15所述的手持式电子书阅读器设备,其特征在于,还包括被配置成呈 现优先级界面的用户界面模块,用户能够通过所述优先级界面来选择下载电子项目的索 引。
18. 如权利要求15所述的手持式电子书阅读器设备,所述索引模块还包括被配置成响 应于可在所述处理器上执行的一个或多个预定任务来暂停或放慢索引生成的逻辑。
19. 如权利要求15所述的手持式电子书阅读器设备,其特征在于,所述索引模块还包 括被配置成响应于下列各项中的一个或多个来暂停索引生成的逻辑所述设备的按钮的操 作、存储器到所述设备的插入、新电子项目的接收或所述设备的软件更新。
20. 如权利要求15所述的手持式电子书阅读器设备,其特征在于,所述索引模块还包 括被配置成响应于下列各项中的一个或多个来放慢索引生成的逻辑播放音频文件或执行 应用程序。
全文摘要
可使用搜索索引来搜索电子项目。可为用户设备处的电子项目生成搜索索引。在这种情况下,可显示存储在用户设备的存储器中的一个或多个电子项目的列表,并且可呈现存储在该设备的存储器中的电子项目的索引生成状态。
文档编号G06Q30/00GK101755251SQ200880024964
公开日2010年6月23日 申请日期2008年5月21日 优先权日2007年5月21日
发明者J·R·列兹特拉夫, J·拉蒂克, T·A·瑞安 申请人:亚马逊技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1