用户设备可以通过数据网络从在服务器处被操作的内容存储库下载数据文件。数据文件可以是文本文档、数字图像、音频文件、视频文件或可执行件。对于大量数据,通过数据网络传送数据文件可以严重地限制数据流,从而导致缓慢的下载时间。为了避免这些障碍,用户设备可以加入对等网络。在对等网络中,用户设备在平等的基础上被连接到多个设备,而不是在服务器-客户端的基础上连接到单个设备。对等网络中的每个对等设备可以具有数据文件的完整副本。用户设备可以从多个对等设备下载数据文件的部分。通过利用多个数据信道使用多个源,用户设备可以加速针对大文件的下载时间。
技术实现要素:
提供本发明内容从而以简化的形式介绍下面在具体实施方式中进一步描述的概念的选集。本发明内容并不旨在标识要求保护的主题的关键特征或必要特征,也并不旨在被用于限制要求保护的主题的范围。
下面讨论的示例涉及使用对等网络中的部分种子传播(seeding)来增加可用于充当拾取(leeching)设备的对等设备的种子设备的数量。目录服务可以维持针对对等网络的、描述活动对等设备的活动对等列表。目录服务可以跟踪由针对对等网络的子片段的集合构成的数据文件。目录服务可以标识设备约束,设备约束描述针对对等网络的对等设备的、影响对等设备存储数据文件的子片段的对等设备的特性。目录服务可以当执行种子客户端以将数据文件的种子子片段提供给对等网络上的拾取客户端时,基于设备约束将种子子片段分配给对等设备。目录服务可以指引对等设备将对等设备上的持久子片段保持为针对对等设备的种子子片段,直到释放事件。
附图说明
为了描述能够获得以上所述的优点和特征以及其他优点和特征的方式,将通过参考在附图中图示的它们的具体示例来阐述并且呈现更特别的描述。在理解这些附图仅仅描绘典型示例并且因此不被认为是对它们的范围的限制的情况下,利用在对附图的使用中的附加的特异性和细节来描述并说明实现。
图1在框图中图示了内容网络的一个示例。
图2在框图中图示了对等网络的一个示例。
图3在框图中图示了计算设备的一个示例。
图4在框图中图示了数据文件的一个示例。
图5在框图中图示了活动对等记录的一个示例。
图6在框图中图示了文件记录的一个示例。
图7在流程图中图示了使用对等设备来访问数据文件的方法的一个示例。
图8在流程图中图示了建立针对对等设备的设备约束的方法的一个示例。
图9在流程图中图示了在对等设备上管理种子子集的方法的一个示例。
图10在流程图中图示了在对等设备上执行种子客户端的方法的一个示例。
图11在流程图中图示了在目录服务上管理活动对等列表的方法的一个示例。
图12在流程图中图示了在目录服务上跟踪数据文件的方法的一个示例。
图13在流程图中图示了在目录服务上管理设备约束的方法的一个示例。
图14在流程图中图示了使用目录服务来提供针对拾取设备的数据文件的方法的一个示例。
具体实施方式
下面详细地讨论示例。尽管讨论了具体实现,但是应当理解,这仅出于说明的目的而被进行。相关领域的技术人员将认识到,其他部件和配置可以在不脱离本公开的主题的精神和范围的情况下被使用。实现可以是目录服务、计算设备或机器实现的方法。
在一个示例中,一种对等网络可以使用部分种子传播来增加可用于充当拾取设备的对等设备的种子设备的数量。目录服务可以维持针对对等网络的、描述活动对等设备的活动对等列表。目录服务可以跟踪由针对对等网络的子片段的集合构成的数据文件。目录服务可以标识针对对等网络的对等设备的、描述影响对等设备存储数据文件的子片段的能力的对等设备的特性。目录服务可以当执行种子客户端以将数据文件的种子子片段提供给对等网络上的拾取客户端时,基于设备约束将种子子片段分配给对等设备。目录服务可以指引对等设备将对等设备上的持久子片段保持为针对对等设备的种子子片段,直到释放事件。
在使用对等网络的传统内容递送系统中,充当种子设备的对等设备可以存储正被提供的数据文件的完整副本。如果用户决定从对等设备清除数据文件,则该对等设备可以不再被用作递送内容的种子设备。用户可以选择不允许内容递送系统在对等设备上严格地存储完整副本以用于充当针对其他内容接收方的种子设备的目的。
通过存储数据文件的小子片段,更多对等设备可以被用作种子设备。种子设备上的种子客户端可以使用少量资源来对内容进行种子传播。针对内容递送系统的目录服务可以使用关于对等设备的当前状态的信息来优化被用作种子设备的对等设备的集合。例如,目录服务可以考虑由对等设备下载的子片段的因素。另外,目录服务可以在选择被保留的子片段以及被保留在每个种子设备上的子片段的数量两者时考虑各种设备约束的因素。
目录服务可以跟踪每个对等设备的客户端拓扑。目录服务可以进一步跟踪地理网络、因特网服务提供商以及针对对等网络的自治系统数量。目录服务可以在指令对等设备保留数据文件的子片段时考虑针对种子设备的客户端资源属性的因素。目录服务可以使用这一信息来确保子片段和种子设备在对等网络中的适当的分布。目录服务可以控制给定子网中的每个子片段的冗余的水平。目录服务可以利用子网信息来实现对等设备之间的最优连接。
图1在框图中图示了内容网络100的一个示例。用户可以使用客户端设备110,客户端设备110执行内容应用112以经由数据网络连接130访问执行内容存储库122的内容服务器120。客户端设备110可以是台式计算机、膝上型计算机、平板计算机、智能电话、专用媒体播放器或者游戏控制台。数据网络连接130可以是因特网连接、广域网连接、局域网连接或者其他类型的数据网络连接。内容存储库122可以存储服务器数据文件124,诸如文本文件、图像文件、音频文件、视频文件或可执行文件。内容服务器120可以被实现在单个服务器或服务器的分布式集合(诸如服务器农场)上。内容存储库122可以将服务器数据文件124划分成用于在数据网络连接130上传输的包的集合。客户端设备110可以通过数据网络连接130顺序地下载组成服务器数据文件124的包的集合。客户端设备110可以将服务器数据文件124存储在本地数据存储装置114中作为从包的集合重组的客户端副本116。
用于传送数据文件的服务器存储库-客户端设备过程可以是慢的且资源密集的。备选方式可以是使用对等网络。图2在框图中图示了对等网络200的一个示例。目录服务210可以维持活动对等列表212以跟踪对等网络200中的活动对等设备。目录服务210还可以维持文件列表214以跟踪被存储在对等网络200的对等设备中的任何数据文件。目录服务210可以具有相关联的内容存储库220以存储数据文件的目录副本222。
目录服务210可以使用文件列表214来跟踪对等网络200中的哪些活动对等设备正存储数据文件的副本。目录服务210可以将数据文件分成子片段的集合。子片段可以具有不同的大小或者可以具有等同大小。文件列表214可以跟踪数据文件的大小以及组成数据文件的子片段的数量。文件列表214可以标识存储数据文件的副本的活动对等设备。每个活动对等设备可以充当种子设备230。种子设备230是对等网络200中的将数据文件的一个或多个子片段的副本提供给对等网络200中的其他设备的对等设备。每个种子设备230可以执行种子客户端232以连接到对等网络。种子客户端232可以将数据文件的完整种子副本234存储在种子设备230的种子存储设备236中。种子客户端230可以通过对等网络200传输完整种子副本234的一个或多个子片段。
目录服务210可以向对等网络200的拾取设备240标识对等网络200的一个或多个种子设备230的集合。拾取设备240是对等网络中的从种子设备230接收数据文件的副本的对等设备。取决于情况,对等设备可以是拾取设备240和种子设备230两者。拾取设备240可以执行拾取客户端242以连接到对等网络200。拾取客户端242可以从对等网络200上的一个或多个种子设备230收集数据文件的子片段。拾取客户端242可以将子片段合并到拾取设备240的拾取存储装置246中的数据文件的拾取副本244中。
为了鼓励对等设备的更多用户充当种子设备230,种子客户端232可以仅仅将子片段238或几个子片段238而非完整种子副本234存储在种子设备230上。如果数据文件未由对等设备活跃地使用,则种子设备232仍然可以利用仅仅一个或多个子片段238来种子传播拾取设备240。目录服务210可以使用文件列表214来跟踪哪些种子设备230正在存储哪些子片段238。目录服务210可以然后关于从哪些种子设备230收集子片段238警告拾取设备240。另外,目录服务210可以将特定子片段238分配给特定种子设备230以确保合理的覆盖区域,以将那些子片段238提供给拾取设备240。
图3图示了可以充当目录服务或对等设备的示例性计算设备300的框图。计算设备300可以组合硬件、软件、固件或片上系统技术中的一种或多种以实现目录服务或对等设备。计算设备300可以包括总线310、处理核320、存储器330、数据存储装置340、输入设备350、输出设备360以及通信接口370。总线310或其他部件互连可以允许计算设备300的部件之间的通信。
处理核320可以包括解释并且执行指令集的至少一个常规处理器或微处理器。处理核320可以被配置为标识针对对等网络的对等设备的、描述影响对等设备存储数据文件的子片段的对等设备的特性的设备约束。处理核320还可以被配置为确定对等设备的、将存储器、硬盘规格以及网络带宽中的至少一种描述为设备约束的硬件约束。处理核320可以附加地被配置为基于地理区域来分配网络服务约束。
处理核320还可以被配置为当执行种子客户端以将种子子片段提供给对等网络上的拾取客户端时,基于设备约束将数据文件的种子子片段分配给对等设备。处理核320还可以被配置为基于设备约束来分配短暂子片段作为用于覆写的候选。子片段的集合可以具有等同数据大小。处理核320可以被配置为基于设备约束来对要标识以用于对等设备保持的数据文件的子片段的种子子集分组。处理核320可以附加地被配置为基于设备约束来将数据文件的子片段的短暂子集分组为用于由对等设备覆写的候选。处理核320还可以被配置为基于拾取客户端的网络接近度来选择种子子片段。处理核320还可以被配置为基于拾取客户端的网络接近度来分配针对种子子片段的冗余水平。处理核320可以附加地被配置为在选择种子子片段时考虑网络子网的因素。网络子网可以是局域网、个域网或其他局部网络。
存储器330可以是存储用于由处理器320执行的信息和指令的随机存取存储器(ram)或另一类型的动态数据存储装置。存储器330还可以存储在由处理器320执行指令期间被使用的临时变量或其他中间信息。存储器330可以被配置为存储一系列指令,该一系列指令由至少一个处理器执行以实现目录服务应用。存储器330可以被配置为维持针对对等网络的、描述活动对等设备的活动对等列表。存储器330还可以被配置为当在活动时段内还没有接收到活动警报时从针对对等网络的活动种子列表移除对等设备。存储器330可以附加地被配置为当在针对对等设备的地理区域的区域窗口之外时从针对对等网络的活动种子列表移除对等设备。存储器330还可以被配置为跟踪由针对对等网络的子片段的集合组成的数据文件。存储器330还可以被配置为将网络服务约束维持为针对对等设备的人为约束。
数据存储装置340可以包括存储针对处理器320的静态信息和指令的传统rom设备或另一类型的静态数据存储装置。数据存储装置340可以包括任何类型的有形机器可读介质,诸如,例如,磁或光记录介质,诸如数字视频盘,以及它的对应的驱动。有形机器可读介质是存储机器可读代码或指令的物理介质,如与信号相反的。如本文中所描述的具有存储在计算机可读介质上的指令可区别于具有当传播传送指令时传播或传输指令,对比存储指令,诸如关于具有存储在其上的指令的计算机可读介质可以发生的。因此,除非另行指示,否则以这种或类似的形式对具有存储在其上的指令的(多个)计算机可读介质的引用是指数据可以被存储或保留在其上的有形介质。数据存储装置340可以存储详述一种方法的指令的集合,指令的该集合当由一个或多个处理器执行时,使得一个或多个处理器执行该方法。数据存储装置340还可以是用于存储数据文件的数据库或数据库接口。
输入设备350可以包括允许用户将信息输入给计算设备300的一个或多个传统机构,诸如键盘、鼠标、语音识别设备、麦克风、头戴件、触摸屏352、触摸板354、手势识别设备356等等。输出设备360可以包括将信息输出给用户的一个或多个传统机构,包括显示屏幕362、打印机、一个或多个扬声器364、头戴件、振动器或介质(诸如存储器),或者磁盘或光盘以及对应的盘驱动。
通信接口370可以包括使得计算设备300能够与其他设备或网络通信的任何收发器类机构。通信接口370可以包括网络接口或收发器接口。通信接口370可以是无线接口、有线接口或光学接口。通信接口370还可以被配置为从对等网络中的对等设备接收指示对等设备为活动的活动警报。通信接口370还可以被配置为从对等设备接收针对数据文件的数据文件请求。通信接口370还可以被配置为向对等设备标识对等网络的对等设备的对等子集上的种子客户端的集合以获取数据文件。通信接口370可以附加地被配置为从外部源接收对于对等设备的人为约束。通信接口370还可以被配置为从所述对等设备接收将用户约束描述为针对对等设备的人为约束的用户输入。通信接口370可以被配置为指引对等设备将对等设备上的持久子片段保持为针对对等设备的种子子片段,直到释放事件。
计算设备300可以响应于处理核320执行被包含于计算机可读介质(诸如,例如,存储器330、磁盘或光盘)中的指令的序列而执行这样的功能。这样的指令可以从另一计算机可读介质(诸如数据存储装置340)或者经由通信接口360从分离的设备被读取到存储器330中。
对等可以将数据文件传输到拾取设备作为子片段的集合。图4在框图中图示了数据文件400的一个示例。目录服务可以将数据文件400划分为多个子片段410。目录服务可以将数据文件400划分为具有相同数据大小或者具有不同大小的子片段410。备选地,对等网络中的对等设备可以将数据文件410划分为子片段410并且可以将划分架构传送给目录服务。
对于接受对等网络中的数据文件的副本的每个对等设备,目录服务可以将子片段410的子集分配为子片段的种子子集420。种子设备可以甚至在数据文件已经被删除之后保留子片段的种子子集420。种子设备可以存储种子子集420,直到释放事件发生。释放事件可以是释放时段的期满、来自目录服务的释放指示、来自目录服务的种子子集420重新分配或者种子设备事件(诸如系统崩溃)。
种子设备可以推断不是种子子集420的成员的子片段是子片段的短暂集合430的成员。子片段的短暂子集430可以是当数据文件400被删除时用于覆写的候选。备选地,目录服务可以将子片段410显式地分配为短暂子集430的成员。目录服务可以基于将该子片段持续作为种子子集420的成员的不同种子设备的接近度来对短暂子集430的成员排序,其中某些子片段首先被覆写。对于这样的动作,种子客户端可以跟踪哪些子片段410已经被覆写并且更新目录服务,其中每个活动警报指示种子设备为活动。
图5在框图中图示了活动对等记录500的一个示例。活动对等记录500可以具有指示活动对等记录引用的对等设备的设备标识符510。活动对等记录500可以具有指示自从目录服务已经从对等设备接收到对等设备为活动的活动警报起的时间的时间戳520。活动对等记录500可以具有描述对等设备(在地理上或在网络内)的位置的位置字段530。活动对等记录500可以具有描述对等网络中的其他对等设备与在活动对等记录500中标识的对等设备的接近度的接近度分数540。接近度分数540可以基于两个对等设备之间的数据传输时间。活动对等记录500可以具有描述由对等设备施加的任何硬件约束(诸如存储器、硬盘规范或者网络带宽)的硬件约束字段550。活动对等记录500可以具有描述从对等设备外部的源施加的约束的人为约束字段560。人为约束字段560可以具有描述在用户输入中接收的用户约束的用户子字段562。例如,尽管对等设备可以具有8千兆字节(gigabyte)的数据存储可用,但是用户可以将对种子客户端可用的数据存储限制到4千兆字节。人为约束字段560可以具有描述由网络服务施加的策略的网络服务约束子字段564。例如,目录服务可以抑制在给定时间段内对种子客户端的使用。
图6在框图中图示了文件记录600的一个示例。文件记录600可以具有指示数据文件正被描述在记录中的文件标识符(id)610。文件记录600可以具有文件大小字段620,从而出于对等传输的目的描述文件的子片段的字节上或数量上的文件大小。文件记录600可以具有标识数据文件的子片段的子片段索引630。每个子片段可以与指示将该子片段持久存储作为种子子集的部分的对等设备的一个或多个设备标识符640相关联。每个设备标识符640可以(在地理上或者在网络内)与描述对等设备的位置的位置字段650相关联。每个设备标识符640可以与描述持久存储互补种子子片段的其他种子设备的接近度的接近度分数600相关联。互补种子子片段是不为由相关联的设备标识符640指示的对等设备的种子子集的部分的种子子片段。
标准对等网络可以有助于用户设备快速地访问大数据文件。图7在流程图中图示了使用对等网络上的对等设备来访问数据文件的方法700的一个示例。对等设备可以连接到对等(p2p)网络(框702)。对等设备可以注册管理由针对所述对等网络的子片段的集合构成的数据文件的目录服务(框704)。对等设备可以将数据文件请求发送给针对数据文件的目录服务(框706)。对等设备可以接收描述针对对等网络的对等设备的对等子集的种子客户端标识符的集合的文件请求响应,以获取数据文件(框708)。对等设备可以将请求被存储在对等设备中的数据文件的子片段的子片段请求发送给对等子集中的每个对等设备(框710)。对等设备可以从对等子集接收数据文件的子片段(框712)。对等设备可以将数据文件的子片段合并到数据文件的本地副本中(框714)。对等设备可以通过执行可执行文件或呈现介质或文本文件来实现数据文件的本地副本(框716)。
对等网络可以通过限制被存储在每个种子设备中的数据文件的量、通过增加充当种子设备的对等设备的数量来增加对数据文件的访问。为了确定要存储在种子设备上的数据文件的子片段的数量,目录服务可以建立对于对等设备的设备约束。图8在流程图中图示了建立针对对等设备的设备约束的方法800的一个示例。对等设备可以接收将用户约束描述为针对对等设备的人为约束的用户输入(框802)。对等设备可以向目录服务标识针对对等设备的、影响对等设备存储数据文件的子片段的能力的设备约束(框804)。对等设备可以向目录服务提供描述存储器、硬盘规格以及网络带宽中的至少一种的对等设备的硬件约束(框806)。对等设备可以向目录服务描述针对对等设备的网络子网(框808)。对等设备可以将设备约束发送给目录服务(框810)。
图9在流程图中图示了在对等设备上管理种子子集的方法900的一个示例。对等设备可以在执行种子客户端时从目录服务接收指示针对对等设备的数据文件的种子子片段作为文件请求响应的部分(框902)。对等设备可以基于设备约束来接收要标识以用于对等设备保持在存储装置中的、针对数据文件的子片段的种子子集的种子标识符组(框904)。对等设备可以标识对等设备上的持久子片段作为针对种子客户端的数据文件的种子子片段(框906)。对等设备可以推断数据文件的子片段的短暂子集作为用于由对等设备覆写的候选(框908)。对等设备可以将数据文件的短暂子片段分类为当充当种子客户端时用于覆写的候选(框910)。对等设备可以执行使得被用于存储数据文件的数据存储的部分被覆写的写操作(框912)。如果子片段已经被分类为短暂子片段(框914),则对等设备可以写入到子片段的存储位置(框916)。如果子片段已经被分类为种子子片段(框914),则对等设备可以保留种子子片段(框918)。
图10在流程图中图示了在对等设备上执行种子客户端的方法1000的一个示例。对等设备可以将指示对等设备为活动的活动警报发送给目录服务(框1002)。对等设备可以将对等设备上的持久子片段存储为针对种子客户端的数据文件的种子子片段(框1004)。对等设备可以从拾取设备接收针对被存储在对等设备上的种子子片段的子片段请求(框1006)。对等设备可以通过对等网络将种子子片段发送给拾取设备(框1008)。
图11在流程图中图示了在目录服务上管理活动对等列表的方法1100的一个示例。目录服务可以维持针对对等网络的、描述活动对等设备的活动对等列表(框1102)。目录服务可以将对等设备注册为执行种子客户端的活动对等设备(框1104)。目录服务可以标识针对执行种子客户端的对等设备的设备约束(框1106)。如果目录服务还没有从对等设备接收到指示对等设备在活动时段内为活动的活动警报(框1108),则目录服务可以当在活动时段内还没有接收到活动警报时,从针对对等网络的活动种子列表移除对等设备(框1110)。如果目录服务确定对等设备在用于针对对等设备的地理区域的区域窗口之外(框1112),则目录服务可以当在用于针对对等设备的地理区域的区域窗口之外时,从针对对等网络的活动种子列表移除对等设备(框1110)。区域窗口描述基于网络服务策略或本地法律对等设备可以在地理区域内为活动的时间段。
图12在流程图中图示了在目录服务上跟踪数据文件的方法1200的一个示例。目录服务可以跟踪由针对对等网络的子片段的集合构成的数据文件(框1202)。目录服务可以将数据文件分成子片段的该集合,从而使得子片段具有等同数据大小(框1204)。目录服务可以当执行种子客户端以将数据文件的种子子片段提供给对等网络上的拾取客户端时,将种子子片段分配给对等网络的对等设备(框1206)。目录服务可以基于设备约束来对要标识以用于对等设备保持的数据文件的子片段的种子子集分组(框1208)。目录服务可以基于设备约束来分配持久子片段(框1210)。目录服务可以基于设备约束来将数据文件的子片段的短暂子集分组为用于由对等设备覆写的候选(框1212)。目录服务可以基于设备约束来分配短暂子片段(框1214)。目录服务可以指引对等设备将对等设备上的持久子片段保持为针对对等设备的种子子片段(框1216)。
图13在流程图中图示了在目录服务上管理设备约束的方法1300的一个示例。目录服务可以确定将存储器、硬盘规格以及网络带宽中的至少一种描述为设备约束的对等设备的硬件约束(框1302)。目录服务可以接收将用户约束描述为针对对等设备的人为约束的用户输入(框1304)。目录服务可以基于地理区域来分配网络服务约束(框1306)。目录服务可以将网络服务约束应用为针对对等网络的人为约束(框1308)。目录服务可以在子片段种子传播时考虑从外部源到对等设备的人为约束的因素(框1310)。目录服务可以基于拾取客户端的网络接近度来分配针对种子子片段的冗余水平(框1312)。目录服务可以在选择种子子片段时考虑网络子网的因素(框1314)。目录服务可以基于设备约束来分配持久子片段(框1316)。
图14在流程图中图示了使用目录服务来提供针对拾取设备的数据文件的方法1400的一个示例。目录服务可以从充当拾取设备的对等设备接收针对数据文件的数据文件请求(框1402)。目录服务可以在地理位置上或者在对等网络内定位拾取设备(框1404)。目录服务可以基于位置来确定针对拾取设备的时间约束(框1406)。目录服务可以向充当拾取设备的对等设备标识对等网络的对等设备的对等子集上的种子客户端的集合以获取数据文件(框1408)。
尽管已经按照对结构特征和/或方法动作特定的语言描述了本主题,但是应理解,所附权利要求中的主题不必限于以上描述的具体特征或动作。相反,以上描述的具体特征和动作被公开为用于实现权利要求的示例形式。
本发明的范围内的示例还可以包括用于承载或其上存储有计算机可执行指令和/或数据结构的计算机可读存储介质。这样的计算机可读存储介质可以是能够由通用计算机或专用计算机访问的任何可用介质。通过示例而非限制的方式,这样的计算机可读存储介质能够包括ram、rom、eeprom、cd-rom或其他光盘存储装置、磁盘存储装置或其他磁性数据存储装置,或者能够被用于存储形式为计算机可执行指令或数据结构(如与诸如信号或载波的传播介质相反)的期望的程序代码单元的任何其他介质。计算机可读存储介质明确地不指代这样的传播介质。以上的组合还应当被包括在计算机可读存储介质的范围内。
示例还可以被实践于分布式计算环境中,其中任务由通过通信网络(通过硬接线链接、无线链接或者通过它们的组合)而被链接的本地和远程处理设备执行。
计算机可执行指令包括例如使得通用计算机、专用计算机或专用处理设备执行特定功能或功能组的指令和数据。计算机可执行指令还包括由独立或网络环境中的计算机执行的程序模块。总体上,程序模块包括例程、程序、对象、部件以及数据结构、等等,它们执行特定任务或实现特定抽象数据类型。计算机可执行指令、相关联的数据结构以及程序模块表示用于执行本文中公开的方法的步骤的程序代码装置的示例。这样的可执行指令或相关联的数据结构的特定序列表示用于实现以这样的步骤而被描述的功能的对应的动作的示例。
尽管以上描述可以包含具体细节,但是它们不应当以任何方式被理解为限制权利要求。所描述的示例的其他配置是本公开的范围的部分。例如,本公开的原理可以被应用于每个个体用户,其中每个用户可以个体地部署这样的系统。这使得每个用户能够利用本公开的益处,即使大量可能的应用中的任何一个不使用本文中描述的功能。电子设备的许多实例各自可以按照各种可能的方式来处理内容。实现不一定在由所有终端用户使用的一个系统中。因此,所附权利要求以及它们的合法等效方案应当仅仅限定本发明,而非给出的任何具体示例。