具体实施方式
此处描述了用于智能数据广播的方法、系统和计算机程序产品的示例性实现。在某些实现中,这些技术可使用订户偏好和/或位置信息来调整特定数据广播区域内的数据广播内容。在某些实现中,网络管理系统可响应于一个或多个数据广播区域中的订户偏好的分发以动态的方式调整该区域中的数据广播内容。
示例性操作环境
图1是其中可实现此处描述的主题的数据广播环境100的示例性实现的示意性图示。可以理解,图1中描述的环境100仅是一个示例性环境,并非暗示对特定使用或功能的任何局限。此处描述的主题可以在各种各样的数据分发环境中实现,包括但不限于,无线电、电视以及卫星网络、数字无线电系统、广播盘系统、发行/预订系统、基于因特网的广播系统等等。
参考图1,环境100包括至少一个头端112,它遍及广播区域110将数据广播到预订从头端112发送的数据广播服务的一个或多个订户单元114。如此处所使用的,术语广播及其派生词应当被广泛地解释以包含通信信号经由有线或无线通信介质的任何形式的调制、编码和/或发送。类似地,如此处所使用的,术语“预订”应当被广泛地解释以包含数据广播头端112的任何形式的接收、解调和/或解码。
在图1所描述的实现中,广播环境110包括单个广播区域110,它包括遍及其广播区域来广播数据的头端112。尽管图1示出了定义广播区域110的单个头端112,可以理解,区域的具体数目不是重要的,并且可以取决于例如操作环境的地理大小、发送功率约束以及从头端112广播的信号的干扰和/或障碍而变化,同样可以理解,在头端和广播区域之间不需要有一对一的对应性。
头端112还包括广播数据信号所必须的基础结构。在无线通信环境中,这一基础结构可包括用于以特定频率(或多个频率)或依照特定多频率协议来编码、调制和发送或收发射频(RF)信号的设备。这类设备可容易地从市场上购买到,并且对于本领域的技术人员而言是已知的。具体的编码、调制和/或发送模式不是重要的。
广播环境100还包括多个订户单元114、124、134,它们可被具体化为无线通信设备,如个人计算机(PC)、膝上计算机、个人数字助理(PDA)、移动电话等等。
在一个示例性实现中,向头端112分配广播环境100内的唯一标识符。头端112可以由网络地址、站名、载波频率或其它清楚的目的地来标识。从头端112到订户单元114、116、118的数据广播通过通信信道发生。在一个示例性实现中,通信信道可通过依照诸如TDMA、FDMA、CDMA等任何常规RF广播技术调制载波来定义。发送的内容可包括各种形式的数据,包括例如文本、音频、视频,并也可包括控制信号,包括例如定时信号、功率信号、位置信号等等。控制信号可以在带内或者在单独的控制信道上发送。在替换实施例中,通信信道可包括上行链路信道,它可通过诸如因特网等有线网络或无线网络,或其组合来实现。
广播环境100还包括用于管理头端112的广播操作的广播中心140,以及用于管理订户概况信息和其它网络管理信息的管理中心150。广播中心140包括广播管理器142和广播数据存储144。管理中心150包括订户概况管理器152和订户数据概况154。广义而言,广播中心140与管理中心150协作,以管理订户信息、网络信息、以及从操作环境100的相应头端112的一个或多个数据广播。
在一个示例性实现中,广播中心140和管理中心150可驻留在单个计算设备上,例如与广播环境100相关联的服务器计算机。在替换实现中,广播管理和订户概况管理的责任可以用不同的方式分布在头端和管理中心150之间,或者可在管理中心150或头端112中合并。例如,环境100可包括单个管理中心150,但是头端112可包括广播中心140。
在一个示例性实现中,头端112与管理中心150协作,以实现可覆盖一地理区域的数据广播网络,其范围大小从小至特定的建筑物或公司或校园的区域,到大至整个国家或大陆的区域。广义而言,头端112与管理中心150协作,以管理订户信息、网络信息和数据广播。订户单元114、116和管理中心150之间的通信会话可通过特别基础上的无线链路或以诸如在同步过程中等结构化方式来启动。
图2是适用于包括广播中心140和管理中心150的示例性计算机系统200的示意性图示。该计算机系统200包括具有屏幕204的显示器202、一个或多个用户输入设备206以及计算机208。用户输入设备206可包括允许计算机接收开发者输入的任何设备,如键盘210、其它设备212和鼠标214。其它设备212可包括触摸屏、激活语音的输入设备、跟踪球或允许系统200接收来自开发者的输入的任何其它设备。计算机208包括处理单元216和随机存取存储器和/或只读存储器218。
存储器218包括用于管理计算机208的操作的操作系统220。在一个示例性实现中,可在处理单元216上执行的一个或多个应用程序驻留在存储器218中,包括概况管理器222和广播管理器224。存储器218还包括一个或多个数据文件,包括用户概况数据文件228和数据广播文件230。系统200的操作在下文更详细地解释。
图3是订户概况信息的示例性数据结构的图示。在一个示例性实现中,数据广播系统的订户维护一订户概况,包括订户身份,并指定了订户感兴趣的信息的特定类别。该信息可储存在一合适的存储器位置中,例如储存在计算机208的存储器218中的用户概况数据文件228。文件可以被具体化为例如关系型数据库。在一个示例性实现中,订户概况信息也可储存在数据广播订户单元的存储器318中,例如储存在用户概况数据文件328中。
参考图3,订户概况信息数据结构包括订户ID数据字段300以及感兴趣的信息的一个或多个类别。在图3所示的示例性数据结构中,感兴趣的类别包括体育310、金融320、商业330以及娱乐340。每一类别可包括更详细地指定了由订户ID 300标识的订户所感兴趣的信息的子类别。在图3所示的示例性实现中,体育类别300包括足球子类别312和棒球子类别314。金融类别320包括股票报价子类别322和抵押率子类别324。商业类别330包括每周更新子类别332,而娱乐类别包括新成功演出子类别342和过期明星子类别344。可以理解,图3所描述的数据结构可被扩展以包括进一步详细描述订户感兴趣的信息的子类别的附加层。作为示例,足球子类别312可被扩展以包括关于一个或多个特定球队的信息,或者股票报价类别342可被扩展以包括关于一个或多个特定股票的信息。可以理解,订户概况信息数据结构可包括其它特定个人信息或到其它特定个人信息的链接,如电子邮件、电子日历等等。
在包括多个广播区域的替换实现中,订户概况可以对订户设备正在其中运作的相应广播区域是专用的。作为示例,当订户在广播区域110中时可以对一组特定的信息感兴趣,而当订户在不同的广播区域中时可以对一组不同的信息感兴趣。在这一实现中,订户概况可以被修改成包括数据广播区域指示符以及对特定广播区域感兴趣的对应数据。
图4是表示数据广播系统100的数据广播调度表400的数据结构的图示。数据广播调度表400可储存在广播数据存储144中,例如储存在计算机208的存储器218中的广播数据文件230之一。在一个示例性实现中,数据广播调度表400可以用表格格式表示为用于广播的一系列文档410,其每一个由描述该文档的内容的内容标识符420来标识。广播调度表400还包括与定义广播该文档的周期的文档相关联的广播周期430。广播调度表还包括每一文档的开始时间440和停止时间450。作为说明,图4描述的广播调度表反映了广播调度表中的文档号1包括足球信息,并且每60分钟广播一次,从06:00:00开始到06:05:00结束。
在一个示例性实现中,数据广播管理器224维护数据广播调度表400。数据广播管理器224可包括允许用户向数据广播调度表400添加或从其删除文档,和/或修改广播文档的周期的用户界面。广播持续时间是要广播的数据量和对数据广播系统100可用的带宽的函数。当调度的广播完成时,广播管理器224可更新开始时间440和停止时间450,以反映文档的下一次广播。
数据广播文件230还可包括要广播的内容。作为示例,足球文档可包括关于球队的得分和其它信息,股票报价文档可包括特定股票的当前报价。该信息可由数据广播管理器224或在计算机208的处理单元216上执行的另一应用程序周期性地更新。当为文档所调度的广播时间到来时,广播管理器检索来自广播数据文件230的文档,并从系统100中的一个或多个头端112广播该文档。在这一点上,可以理解,广播调度表可以对头端112是专用的,使得广播调度表对广播区域110是唯一的。
再次参考图3,在一个示例性实现中,订户概况中的条目也可包括标识储存在设备的存储器中的文档的数据字段。在一个实现中,条目可包括诸如时间标记316或318等时间标记,它标识了下载该文档的时间。在另一实现中,条目可包括诸如版本号326、328、346和348等版本号,它唯一地标识了储存在用户设备中的文档的版本。在又一实现中,条目可包括标识储存在用户设备中的文档的日期的日期标记。
用于将文档发送到订户单元的特定传输介质不是重要的。在一个实现中,文档通过头端112和订户单元114、116、118之间的无线通信信道发送到订户单元。在另一实现中,当订户单元位于其托架上来充电时,文档也可通过诸如数据网络等有线连接发送到订户单元。当文档由订户单元114、116、118接收时,订户单元向管理中心150发送回一个确认消息。该确认消息包括标识储存在订户单元114、116、118的存储器中的文档的版本的信息。该版本信息可储存在订户概况300中。
示例性操作
在示例性实现中,广播管理器224与概况管理器222协作,来以反映广播区域中订户的文档的总版本信息的智能方式管理数据广播。
图5是示出用于智能数据广播的示例性方法中的操作的流程图。在一个示例性实现中,图5的操作可以由计算机208的数据广播管理器224来实现。在替换实现中,某些操作可以由计算机208的概况管理器模块222来执行。如上所述,广播管理器和概况管理器可集中地位于单个计算机内。或者,每一头端112可维护一独立的广播管理器和/或概况管理器,它可在必要时进行通信以实现智能广播操作。
参考图5,在操作510,广播管理器224例如从广播调度表400中选择一文档用于分析。在操作515,广播管理器为该文档分析订户概况数据库中的版本统计量。在一个示例性实现中,分析涉及从订户概况数据库中诸如概况300等每一订户概况中检索订户概况版本信息,并创建表示拥有该特定版本文档的订户单元的数目的直方图。
在操作520,将广播带宽分配给文档的版本。在一个示例性实现中,文档的每一版本的广播带宽可与需要版本的差分信息来使储存在订户单元上的文档版本变得最新的订户单元数目成比例地分配。
作为示例,参考图4,文档号4可包括在前一周的期间内编译的大量商业数据,并在周期的基础上更新。如果广播区域中百分之九十的订户单元在其各自的存储器模块中储存了已存在24小时之久的文档的版本,而仅百分之十的订户单元在其各自的存储器模块中储存了已存在一周之久的文档的版本,则该文档的广播带宽可以用首先更新百分之九十的用户的方式来分配。广播管理器可将表示更新百分之九十的订户单元所需的增量信息的文档排队以供广播。完整的文档可被分配相对较少的广播带宽。在操作525,广播该文档。
当订户单元接收到该文档时,订户单元可任选地执行一例程来确定该文档是否应当被提交到存储器。在一个示例性实现中,文档可包括一标识符,它包括允许订户单元作出这一确定的信息。作为示例,文档可包括版本号,而订户单元可仅当接收的文档的版本号对应于预订版本编号模式时将该文档提交到存储器。如果订户单元将文档提交到存储器,则订户单元可将一确认消息发送到订户概况管理器152,指示该文档已被提交到存储器。订户概况管理器152可从订户单元接收概况信息更新(操作530),然后更新与订户单元相关联的订户概况以反映文档的接收(操作535)。控制然后被传递回操作515,广播管理器可继续处理队列中的其它文档。
通过重复图5所示的过程,广播管理器可以用使用带宽来更有效地更新在其各自概况中具有文档的订户单元的方式,来分配广播传送带中文档的各版本之间的带宽。可以理解,该过程可以对广播传送带中的所有文档重复,以分配广播带宽。此外,可以理解,订户单元可从不同于数据广播的来源,例如有线网络、磁或光介质等获得内容。
示例性计算设备
此处所描述的各种组件和功能可以用多个单独的计算机来实现。图6示出了这一计算机的典型示例的组件,该计算机由标号600来引用。图6所示的组件仅是示例,并不暗示对本发明的功能范围的任何局限,本发明也不必依赖于图6所示的特征。
一般而言,可使用各种不同的通用或专用计算系统配置。适合用于本发明的众所周知的计算系统、环境和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型机、大型机、包括任一上述系统或设备的分布式计算环境等等。
计算机的功能在许多情况下可以由诸如由计算机执行的程序模块等计算机可执行指令来实施。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。任务也可由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质中。
指令和/或程序模块在不同的时刻储存在作为计算机的一部分或可由计算机读取的各种计算机可读介质中。程序通常分布在例如软盘、CD-ROM、DVD或诸如已调制信号等某一形式的通信介质中。从那里,它们被安装或加载到计算机的辅助存储器中。在执行时,它们被至少部分地加载到计算机的主电子存储器中。当这类介质包含用于实现下文结合微处理器或其它数据处理器描述的步骤的指令、程序和/或模块时,此处描述的本发明包括这些和其它各种类型的计算机可读介质。当依照下文描述的方法和技术来编程时,本发明也包括计算机本身。
为说明目的,诸如操作系统等其它可执行程序组件在此被示为离散的框,尽管可以认识到,这些程序和组件在不同的时刻驻留在计算机的不同存储组件中,并由计算机的数据处理器执行。
参考图6,计算机600的组件可包括但不限于,处理单元604、系统存储器606以及将包括系统存储器的各种系统组件耦合至处理单元604的系统总线608。系统总线608表示若干种总线结构类型的一种或多种,包括存储器总线或存储器控制器、外围总线、以及使用各类总线体系结构的处理器或局部总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线,也称为Mezzanine总线。
计算机600通常包括各种计算机可读介质。计算机可读介质可以是可由计算机600访问的任一可用介质,包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机600访问的任一其它介质。通信介质通常具体化为诸如载波或其它传输机制的已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述任一的组合也应当包括在计算机可读介质的范围之内。
系统存储器606包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)610和随机存取存储器(RAM)612。基本输入/输出系统614(BIOS)包括如在启动时帮助在计算机600内的元件之间传输信息的基本例程,通常储存在ROM 610中。RAM 612通常包含处理单元604立即可访问或者当前正在操作的数据和/或程序模块。作为示例而非局限,图6示出了操作系统616、应用程序618、其它程序模块620和程序数据622。
计算机600也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图6示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器624、对可移动、非易失性磁盘628进行读写的磁盘驱动器626以及对可移动、非易失性光盘632,如CD ROM或其它光介质进行读写的光盘驱动器630。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器624通常通过不可移动存储器接口,如接口634连接到系统总线608,磁盘驱动器626和光盘驱动器630通常通过可移动存储器接口连接到系统总线608。
上文讨论并在图6示出的驱动器及其关联的计算机存储介质为计算机600提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图6中,示出硬盘驱动器624储存操作系统616′、应用程序618′、其它程序模块620′和程序数据622′。注意,这些组件可以与操作系统616、应用程序618、其它程序模块620和程序数据622相同,也可以与它们不同。这里对操作系统616、应用程序618、其它程序模块620和程序数据622给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如键盘636、鼠标、跟踪球或触摸垫向计算机600输入命令和信息。其它输入设备(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线的输入/输出接口642连接至处理单元604,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器644或其它类型的显示设备也通过接口,如视频适配器646连接至系统总线608。除监视器644之外,计算机也可包括其它外围输出设备(如扬声器)以及一个或多个打印机,它们通过I/O接口642连接。
计算机可以在使用到一个或多个远程计算机,如远程计算设备650的逻辑连接的网络化环境中操作。远程计算机650可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公用网络节点,并通常包括许多或所有相对于计算机600所描述的元件。图6描述的逻辑连接包括局域网(LAN)652和广域网(WAN)654。尽管图6所示的WAN 654是因特网,然而WAN 654可以包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网等等。
当在LAN网络环境中使用时,计算机600通过网络接口或适配器656连接至LAN 652。当在WAN网络环境中使用时,计算机600通常包括调制解调器658或用于通过因特网654建立通信的其它装置。调制解调器658可以是内置或外置的,可通过I/O接口642连接至系统总线608。在网络化环境中,相对于计算机600所描述的程序模块或其部分可储存在远程计算设备650中。作为示例而非局限,图6示出了远程应用程序660驻留在远程计算设备650中。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。
总结
尽管以对结构特征和/或方法操作专用的语言描述了所描述的装置和过程,然而可以理解,所附权利要求书中定义的主题不必要限于所描述的具体特征或操作。相反,揭示了具体特征和操作作为实现所要求保护的本发明的较佳形式。