会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 按使用付费 / 在基于推送的网络上动态装载程序代码

在基于推送的网络上动态装载程序代码

申请号 CN01822610.8 申请日 2001-11-13 公开(公告)号 CN1502076A 公开(公告)日 2004-06-02
申请人 英特尔公司; 发明人 J·哈尔福德;
摘要 诸如用在面向对象编程语言中的动态可装载程序代码等程序代码可以在单向通信链路上推送,例如通过发射塔发送或者通过单向网络通信协议等。包括要被推送到单向通信链路的编程代码的标识符的清单被创建,其中,该清单包括推送时间表。该清单的接收机根据该时间表检索感兴趣的推送代码。购买数据也可以被包括在该清单中。编程代码可以包括允许用于额外内容的按每次使用付费检索的解密技术。
权利要求

1.一种方法,包括:

确定是否是动态可装载代码的标识符;

把该标识符推送到单向通信链路上;

确定是否是动态可装载代码的可用性时间表;

把该可用性时间表推送到单向通信链路上;和根据该可用性时间表把该动态可装载代码推送到单向通信链路 上。

2.如权利要求1的方法,还包括:其中,所述动态可装载代码包括使用面向对象编程语言的类定 义;和其中,所述标识符标识该类定义。

3.如权利要求1的方法,其中,所述单向通信链路是从电视数 据传送、MPEG-2传输流和IP多播中选定的一个。

4.如权利要求1的方法,还包括:使用从机顶盒、个人数字助理、便携式计算机、手持计算机和 无线设备中选定的一个在单向通信链路上接收数据。

5.如权利要求1的方法,还包括:在所述单向通信链路上接收所述标识符和可用性时间表;和根据该可用性时间表从所述通信链路检索所述动态可装载代 码。

6.如权利要求5的方法,还包括:确定对于执行应用程序是否需要所述动态可装载代码;和执行响应于所述确定的所述检索。

7.一种设备,包括:

提供指令的机器可存取介质,当被机器执行时,该指令能够指 导机器执行权利要求1的操作。

8.如权利要求7的设备,所述指令还包括指导机器执行权利要 求2的操作的指令。

9.如权利要求7的设备,其中,单向通信链路是从电视数据传 送、MPEG-2传输流和IP多播中选定的一个。

10.如权利要求7的设备,所述指令还包括指导机器执行权利 要求4的操作的指令。

11.如权利要求7的设备,所述指令还包括指导机器执行权利 要求5的操作的指令。

12.如权利要求11的设备,所述指令还包括指导机器执行权利 要求6的操作的指令。

13.一种方法,包括:

准备动态可装载代码的清单,所述清单包括动态可装载代码的 标识符以及可用性时间表;

把该清单推送到单向通信链路上去;和根据该可用性时间表把该动态可装载代码推送到所述单向通信 链路上。

14.如权利要求13的方法,还包括:其中,所述动态可装载代码包括以面向对象编程语言编写的类 定义;和其中,所述标识符标识该类定义。

15.如权利要求13的方法,其中,所动态可装载代码是用从 Java、对象C、C++、SmallTalk、Modula-3、组件对象模型和面向对 象脚本语言中选定的一个写的。

16.如权利要求13的方法,其中,所述单向通信链路是从电视 数据传送、MPEG-2传输流和IP多播中选定的一个。

17.如权利要求13的方法,还包括:使用从机顶盒、个人数字助理、便携式计算机、手持计算机和 无线设备中选定的一个接收单向通信链路。

18.如权利要求13的方法,还包括:在所述单向通信链路上接收清单;

记录所述标识符和可用性时间表;和当动态可装载代码被推送到所述通信链路上时,根据该可用性 时间表检索所述动态可装载代码。

19.如权利要求14的方法,还包括:确定对于执行应用程序是否需要所述动态可装载代码;和执行响应所述确定的所述检索。

20.一种用于反映Java类型文档文件的方法,包括:准备Java类型文档文件的清单,所述清单包括用于Java类型 文档文件对象的标识符以及用于所述对象的可用性时间表;

将该清单推送到单向通信链路上去;和根据可用性时间表将Java类型文档文件的所述对象推送到单向 通信链路上去。

21.如权利要求20的方法,还包括:执行编程代码;

确定对于所述执行是否需要不可用的对象;

确定该清单是否包括对应于该对象的标识符;和在单向通信链路上接收所述需要的对象。

22.如权利要求21的方法,还包括:在安置在设备中的暂时存储位置中存储所述接收的对象;

其中,重置该设备会导致所述接收的对象被丢弃。

23.如权利要求20的方法,其中,Java类型文档文件的清单包 括用于Java类型文档文件的所述对象的购买数据,所述方法还包括:标识执行程序所需的不可用的对象;

确定该清单是否包括对应于该对象的标识符;

在单向通信链路上接收所述需要的对象;和根据所述购买数据购买所述需要的对象。

24.一种用于在只推送网络上获取动态可装载代码的方法,包 括:在只推送网络上接收动态可装载代码的清单,所述清单包括用 于动态可装载代码的标识符和可用性时间表;和根据该可用性时间表,在只推送网络上接收动态可装载代码。

25.如权利要求24的方法,其中,动态可装载代码包括从一个 单独的面向对象的对象、多个面向对象的对象定义以及动态链接库 (DLL)中选定的一个。

26.如权利要求24的方法,还包括:确定应用程序是否需要动态可装载代码;和确定该清单是否包括对应于所述动态可装载代码的标识符。

27.如权利要求26的方法,还包括:在CLASSPATH环境中检查包含所述需要的动态可装载代码的类; 和确定所述需要的动态可装载代码是否是不可用的。

28.如权利要求27的方法,还包括:向该CLASSPATH环境添加所述接收到的动态可装载代码。

29.如权利要求24的方法,其中,动态可装载代码包括Java 类型的编程语言类,所述方法还包括:在CLASSPATH环境中检查包含所述需要的动态可装载代码的类; 和确定所述需要的动态可装载代码是否是不可用的,并且执行所 述接收动态可装载代码来响应它。

30.如权利要求24的方法,还包括:向用于动态可装载代码的本地存储器添加所述接收到的动态可 装载代码。

31.一种设备,包括:

提供指令的机器可存取介质,当被机器执行时,该指令能够指 导机器执行如下的操作:准备动态可装载代码的清单,所述清单包括动态可装载代码的 标识符以及可用性时间表;

把该清单推送到单向通信链路上去;和根据该可用性时间表把该动态可装载代码推送到所述通信链路 上。

32.如权利要求31的设备,所述指令还包括指导机器执行如下 操作的指令:使用从机顶盒、个人数字助理、便携式计算机、手持计算机和 无线设备中选定的一个来接收单向通信链路。

33.如权利要求31的设备,所述指令还包括指导机器执行如下 操作的指令:在所述通信链路上接收清单;

记录所述标识符和可用性时间表;和当动态可装载代码被推送到所述通信链路上时,根据该可用性 时间表检索所述动态可装载代码。

34.如权利要求31的设备,所述指令还包括指导机器执行如下 操作的指令:确定对于执行应用程序是否需要所述动态可装载代码;和执行响应所述确定的所述检索。

35.一种用于反映Java类型文档文件的设备,包括:提供指令的机器可存取介质,当被机器执行时,该指令能够指 导机器执行如下的操作:准备Java类型文档文件的清单,所述清单包括用于Java类型 文档文件对象的标识符以及用于所述对象的可用性时间表;

将该清单推送到单向通信链路上去;和根据可用性时间表将Java类型文档文件的所述对象推送到单向 通信链路上去。

36.如权利要求35的设备,所述指令还包括指导机器执行如下 操作的指令:确定对于执行应用程序是否需要不可用的对象;

确定该清单是否包括对应于该对象的标识符;和在单向通信链路上接收所述需要的对象。

37.如权利要求36的设备,所述指令还包括指导机器执行如下 操作的指令:在暂时存储位置中存储所述接收的对象;

38.如权利要求35的设备,所述指令还包括指导机器执行如下 操作的指令:把用于Java类型文档文件的所述对象的购买数据包括在清单 中;

标识执行程序所需的不可用对象;

确定该清单是否包括对应于该对象的标识符;

在单向通信链路上接收所述需要的对象;和根据所述购买数据购买所述需要的对象。

39.一种用于在只推送网络上获取动态可装载代码的设备,包 括:提供指令的机器可存取介质,当被机器执行时,该指令能够指 导机器执行如下的操作:在只推送网络上接收动态可装载代码的清单,所述清单包括用 于动态可装载代码的标识符和可用性时间表;和根据该可用性时间表,在只推送网络上接收动态可装载代码。

40.如权利要求39的设备,所述指令还包括指导机器执行如下 操作的指令:确定应用程序是否需要动态可装载代码;和确定该清单是否包括对应于所述动态可装载代码的标识符。

41.如权利要求40的设备,所述指令还包括指导机器执行如下 操作的指令:在CLASSPATH环境中检查包含所述需要的动态可装载代码的类; 和确定所述需要的动态可装载代码是否是不可用的。

42.如权利要求40的设备,所述指令还包括指导机器执行如下 操作的指令:向该CLASSPATH环境添加所述接收到的动态可装载代码。

43.如权利要求39的设备,所述指令还包括指导机器执行如下 操作的指令:在CLASSPATH环境中检查包含动态可装载代码的类;和确定所述需要的动态可装载代码是否是不可用的,并且执行所 述接收动态可装载代码来响应它。

44.一种系统,包括:

至少一个处理器;和

其上具有编码的指令的可读介质,当被处理器执行时,该指令 能够指导处理器执行如下操作:准备动态可装载代码的清单,所述清单包括动态可装载代码的 标识符以及可用性时间表;

把该清单推送到单向通信链路上去;和根据该可用性时间表把该动态可装载代码推送到所述通信链路 上。

45.如权利要求44的系统,所述指令还包括指导处理器执行如 下操作的指令:使用从机顶盒、个人数字助理、便携式计算机、手持计算机和 无线设备等中选定的一个来接收单向通信链路。

46.如权利要求44的系统,所述指令还包括指导处理器执行如 下操作的指令:在所述通信链路上接收清单;

记录所述标识符和可用性时间表;和当动态可装载代码被推送到所述通信链路上时,根据该可用性 时间表检索所述动态可装载代码。

47.一种用于反映Java类型文档文件的系统,包括:至少一个处理器;和

其上具有编码的指令的可读介质,当被处理器执行时,该指令 能够指导处理器执行如下操作:准备Java类型文档文件的清单,所述清单包括用于Java类型 文档文件对象的标识符以及用于所述对象的可用性时间表;

将该清单推送到单向通信链路上去;和根据可用性时间表将Java类型文档文件的所述对象推送到单向 通信链路上去。

48.如权利要求47的系统,所述指令还包括指导处理器执行如 下操作的指令:确定对于执行应用程序是否需要不可用的对象;

确定该清单是否包括对应于该对象的标识符;和在单向通信链路上检索所述需要的对象。

49.如权利要求47的系统,所述指令还包括指导处理器执行如 下操作的指令:把用于Java类型文档文件的所述对象的购买数据包括在清单 中;

标识执行程序所需的不可用对象;

确定该清单是否包括对应于该对象的标识符;

在单向通信链路上接收所述需要的对象;和根据所述购买数据购买所述需要的对象。

50.一种用于在只推送网络上获取动态可装载代码的系统,包 括:至少一个处理器;和

其上具有编码的指令的可读介质,当被处理器执行时,该指令 能够指导处理器执行如下操作:在只推送网络上接收动态可装载代码的清单,所述清单包括用 于动态可装载代码的标识符和可用性时间表;和根据该可用性时间表,在只推送网络上接收动态可装载代码。

51.如权利要求50的系统,所述指令还包括指导处理器执行如 下操作的指令:确定应用程序是否需要动态可装载代码;和确定该清单是否包括对应于所述动态可装载代码的标识符。

52.如权利要求50的系统,所述指令还包括指导处理器执行如 下操作的指令:在CLASSPATH环境中检查包含所述需要的动态可装载代码的类;

确定所述需要的动态可装载代码是否是不可用的;和向该CLASSPATH环境添加所述接收到的动态可装载代码。

说明书全文

技术领域

本发明总地涉及到单向通信链路上推送程序代码,更具体地,涉 及到在单向通信链路上推送动态可装载的程序代码,例如面向对象类 定义等。

背景技术

图1图解了用于把数据推送到接收计算设备的现有一般技术的硬 件环境。
如图所示,有数据推送设备100(诸如一个或多个网络服务器或 其它计算设备等)把数据推送到网络102。该数据推送设备负责产生 或者转发最后由接收计算设备104接收的数据。该网络可以是常规的 和专用网络(例如企业内部网或互联网等)的任意组合。
接收计算设备也和网络通信,它接收被推送的数据。各种用于接 收推送数据的协议在本领域中是公知的。例如,见加州圣地亚哥的通 过入口点的点播系统(PointCast system by EntryPoint)。通常, 接收计算设备104在特定的数据信道上侦听数据推送设备100推送的 数据,例如在传输控制协议/网际协议(TCP/IP)网络端口、广播信道、 频率范围等。

附图说明

通过参照后面对本发明的详细描述,本发明的特征和优点将变得 非常明显,在所述描述中:
图1图解了用于把数据推送到接收计算设备的现有一般技术的硬 件环境。
图2图解了图1推送环境的变型,其中的网络包括无线网。
图3是根据本发明一个实施例在单向通信链路上推送程序代码的 流程图。
图4图解了接收根据图3实施例的推送数据的接收机。
图5图解了使用推送的动态可装载数据来促进按每次使用付费 (pay-per-use)的环境。
图6图解了一个合适的计算环境,本发明的特定方面可以在其中 买现。

具体实施方式

现代的编程语言提供了动态可装载的或模块化的程序代码。例 如,面向对象编程(OOP)环境是这样一个环境,编程人员不仅在其中 定义数据结构的数据类型,还定义可以应用于该数据结构的运算类型 (例如,函数/过程)。类的数据结构变成了包括数据和函数/过程的 对象。“类”是这样的对象的种类,并且在现代OOP环境中,为了避 免不必要的资源消耗,类可以动态装载和卸载从而保存资源。
正如下面将讨论的,动态装载可以在网络环境的推送类型上被实 现。例如,类的标识数据可以根据服务广告协议(SAP)/会话描述协 议(SDP)协议来通告,并且类定义也相应地广播。可选地,可以定义 包含用于类定义的标识数据的清单(manifest),以及指示第二次推送 什么时候开始的时间表,它包含用于标识类的实际程序代码。然后, 编程环境和/或应用程序可以使用自定义类装载器来在需要的时候集 成推送类。
在本说明书和随后的权利要求中,术语清单打算包括清单的传送 或者其内容通告的SAP/SDP类型。
图2图解了图1推送环境的变型,其中的网络102包括无线网。 无线网包括包含无线LAN桥/路由器、蓝牙(3Com、爱立信、Intel、 IBM、朗讯、微软、摩托罗拉、诺基亚和东芝发起的一个标准)等的短 距离无线网和诸如微波系统、卫星系统、蜂窝通信系统、电视发送塔 等的长距离无线网。
在一个实施例中,无线发射机包含发射塔204和接收机(例如机 顶盒208、个人数字助理、便携式计算机、手持计算机、无线设备或 其它接收设备等)之间的一个完整的传输数据路径。在另一个实施例 中,在被机顶盒208接收之前,无线信号部分在物理介质上运载,例 如在电线、光纤或其它介质上。网络206可以完全无线或不完全无线。
假设无线传送是音频和/或可视信号(例如电视信号),发射设 备200(可以是计算机或其它提供电视信号的设备)发送多个电视数 据流到复用器202。例如,在数字电视中,运动图像专家组(MPEG)-2 数据传输流将从复用器发射。传输流包括音频、视频和/或被复用并由 包标识符(PID)标记的其它“数据”的多个基本流。在美国先进电视 系统委员会(ATSC)数字电视标准下,单个“信道”被分配了19.2Mbps 的带宽。单个电视节目通常包括用于视频并且每个都支持音频语言的 基本数据流。使用数据压缩,节目可能没消耗完信道所有的可用带宽, 所以,该节目可能变为嵌入到分配给广播公司的物理频谱中几个“虚 拟信道”中的一个。
该复用器把多个数据流组合为由塔204发送的单独一个传送。此 传送在网络206上发送,并由诸如有线电视解码盒、具有电视解码器 的计算机设备、或其它可感知电视的设备等的机顶盒208接收。
图3是根据本发明一个实施例在单向通信链路(如图1或图2图 示的)上推送程序代码(例如动态可装载程序代码等)的流程图。
该单向通信链路可以是物理上单向的,如在源自广播塔的传送 中,或者逻辑上是单向的,如在单向通信协议中。这里假设把Java类 的编程代码推送到接收机。然而,这里公开的原理和技术也可等效地 应用于对象C、C++、SmallTalk、Modula-3组件对象模型(COM)以及 其它面向对象编程语言和环境,并且本发明不限于此方面。本领域一 个技术人员将会理解,除了类,其它数据结构也可以被推送。例如, 可以使用包含已知的入口点和结构的动态链接库(DLL)或者等价物。
在诸如Java的面向对象编程环境中,类封装数据、方法和过程, 该方法和过程对输入到该类的实例的数据进行运算并产生正确输出。 为了解决特定的问题,类通常收集到库中。Java库被称为“Java文档” 或JAR文件。为了最小化存储器需求并推动更动态的编程模型,Java 执行环境推迟将类载入到系统存储器中,直到正在执行的应用程序使 用该类为止。
当类被引用时,如果它还没有被装载,就动态装载它并使它对正 在执行的程序可用。装载需要在一个或几个标准位置搜索引用类,例 如定位JAR文件或类定义的其它存储器。在Java中,称为“CLASSPATH” 的环境变量(或等同物)被希望存在并指示定位类定义的搜索路径。 例如,CLASSPATH可以指向包含类定义和/或JAR文件的目录/文件夹, 或者直接引用其中存储文档的数据文件。如果在搜索了CLASSPATH环 境以后类还不能被找到并被装载,那么装载失败并且应用程序中的相 应调用失败。
因此,在一个实施例中,为了在推送类型网络环境上装载动态可 装载程序代码,首先对应于动态可装载代码准备300清单。该清单包 括标识类定义的标识符302,因此类可以在应用程序执行过程中正确 地装载。在Java中,类定义标识符包括后面跟随着相关类名的包名。 例如,“String”类是“Java.lang”包的一部分,因此它被正确地标 识为“Java.lang.String”。其它编程环境可能使用其它标识数据, 例如类名,和/或该类的全局唯一标识符(GUID),和/或类上下文, 和/或类相关等。
在一个实施例中,该清单进一步包括推送时间表304或可用性时 间表,它们指示清单中引用的类定义什么时候被推送到单向通信链 路。在这个实施例中,如果类定义在几个单向通信通路中的一个上接 收,则该清单还可能包括检索源306。其它相关数据308可能也存储 在该清单中从而方便选择路由、验证、记帐或证明相关交易。
在另一个实施例中,不使用清单,而是把它的内容直接在单向通 信链路上传送。在这个实施例中,可能使用SAP/SDP或等价物来广播 通告消息,它指示会话的标识符和描述(例如标识要被推送的动态可 装载程序代码的数据)、检索代码的位置(例如该会话的多播地址/ 端口)以及代码什么时候被推送的时间表。
在清单被创建以后,它被推送310到单向通信链路。然后,根据 推送时间表,清单引用的动态可装载代码(例如类)被推送312到单 向通信链路。
图4图解了接收根据图3实施例的推送数据的接收机。如图所示, 接收机侦听400和接收402推送的清单。该清单被进行语法分析404 从而确定406用于在该清单中引用的动态可装载代码的标识符。这些 标识符存储408在本地存储器中,例如易失性和非易失性存储器。正 如上面所讨论的,该清单内容可能直接使用SAP/SDP类型通告传送, 在这种情况下,接收机侦听通告从而确定用于动态可装载代码的标识 符。
Java应用程序可以执行410。当它第一次应用412类时,可以执 行搜索414来定位该类,例如搜索CLASSPATH环境。假设搜索CLASSPATH 失败,可能执行搜索416以便在存储408在本地存储器上的推送的类 标识符中定位该类。如果正确的类标识符被定位,就可以检查418对 应于该标识符的时间表。然后,动态可装载编程代码(例如Java类文 件)可以根据时间表在单向通信链路上检索420。如果使用了SAP/SDP 类型广播,则动态可装载编程代码可以从会话通告中指示的多播地址/ 端口中检索。
在一个实施例中,被检索的动态可装载代码可以加到已存的 CLASSPATH环境中,从而可以避免将来使用该检索的代码的延时。在 一个实施例中,CLASSPATH包括易失性和非易失性存储器的组合。在 这个实施例中,标准类可以存储在非易失性存储器中,例如(可擦除) 可编程只读存储器(PROM)、非易失性随机存取存储器(NVRAM)、互 补金属氧化物半导体(CMOS)、硬盘、记忆棒等。但是,检索的代码 可以存储在易失性存储器中,例如,随机存取存储器(RAM)。
因此,例如便携式电子设备、机顶盒或其它没有配置大容量存储 设备的电子设备可以和标准类定义一起运送,并且在应用程序执行过 程中在需要的时候再临时获取附加类。
在检索420以后,按照与使用的程序语言环境所惯常的方式,动 态可装载代码被应用程序装载422从而执行424。注意,装载422可 以与导致检索的应用程序执行异步实施。
此外,根据接收机环境配置,检索和装载可以由操作系统、编程 环境或应用程序透明地执行。例如,Java运行环境可能确定需要从单 向通信链路检索420类,然后在应用程序不知道该检索过程的情况下 就装载类422。
图5图解了使用推送的动态可装载数据从而促进按每次使用付费 的环境。典型的按每次使用付费的环境包括电视、电话或计算机网络 广播系统,其中,一个或多个“额外的(premium)”数据信道被加密 并传送到接收机,并且该接收机在没有获得解密能力时不能使用已加 密的数据。
在这个图示的实施例中,上面讨论的推送清单包括允许接收设备 永久性或暂时获得加密能力的解密类的标识符。解密能力可用的期间 可以在清单中指定或者由本地和/或远程规则规定。在一个实施例中, 通过在易失性存储器中存储解密类实现暂时加密,当接收设备重启、 动力循环等时,解密类被清除。也可以根据诸如每小时、每天、每周 等清除时间表进行清除,或者根据清单中指示的时间表进行清除,例 如,在使用了特定数目的次数以后、或者在首次使用的一段时间以后 自动清除。
因此,诸如机顶盒或便携式电子接收机(例如便携式电视、个人 数字助理、蜂窝电话、便携式计算机、无线设备等)等计算设备执行 500控制程序,例如操作系统或应用程序等。该控制程序接收502一 个清单,该清单包括标识符和用于解密类的推送时间表,还包括指示 与通过解密类来获取额外数据相关的成本的购买数据。该设备的用户 根据该购买数据来选择504希望购买的额外数据,例如通过图形用户 界面、在计算设备上的按钮选择等方式来指示。在响应中,根据清单 中的购买数据,发生506正确的购买交易。
注意,购买交易打算包括使用第三方处理和/或记帐装置的购买 协议。因为通信链路是单向的,所以假设存在替换通信装置来实现付 费。例如,计算设备可以有一个与电话服务通信的内部调制解调器, 有一个与网络通信的网络接口,或者有其它的通信路径。购买可以立 即完成或者在延时的基础上执行,例如,计算设备接收购买的选择 504,并在付费最后为保密的假设基础上执行解密。延时的付费促进了 间歇连接到替换通信装置的便携式接收机的使用。
在购买交易506之后,根据推送时间表,计算设备从单向通信链 路中检索508正确的解密类。该解密类可以如清单所指示地安装516, 例如,它可以永久性地或者暂时地安装。在Java类型的执行环境中, 解密类在CLASSPATH环境中安装。该解密类然后由控制程序执行512 从而解密期望数据。
在一个实施例中,为了防止盗窃解密类的行为,解密类本身用公 用密钥密码系统中的公用/私有密钥对中的私有密钥进行编码。通信设 备可以配置为包含该对的公用密钥,并且该通信设备仅在购买交易506 后使用公用密钥来解密解密类。按照这样的方式,解密类可以盲推送 到没有加密的单向通信链路上而不需考虑对服务的违法盗窃。
图6和随后的讨论打算提供一个对合适计算环境的简单的概要描 述,在该计算环境中可以实现图解发明的特定方面。
实现本发明的示范系统包括计算设备600,它具有用于耦合各种 计算设备组件的系统总线602。通常,连接到该总线是不可编程的以 及可编程的处理器604、存储器606(例如RAM、ROM)、存储设备608、 视频接口610和输入/输出接口端口612。存储设备包括硬盘、软盘、 光存储器、磁带、录音带、闪存卡、记忆棒、数字视频碟等。
可以通过参照不同的高级程序模块和/或低级硬件关联来描述本 发明。本领域那些技术人员将会意识到,程序模块可以与低级的硬件 指令互换。程序模块包括执行特定任何任务或者实现特定抽象数据类 型的过程、函数、程序、组件、数据结构等。模块可以结合到单处理 器和多处理器计算设备、个人数字助理(PDA)、蜂窝电话、便携式计 算机、手持计算机、无线设备等中去。因此,存储系统和相关介质能 够为计算设备存储数据和可执行指令。
计算设备期望运行在通过网络接口618、调制解调器620或其它 通信路径使用逻辑连接连接到一个或多个远程计算设备614、616的网 络环境中。计算设备可以通过诸如企业内部网、因特网或其它网络等 网络622进行互联。模块可以实现在单个计算设备内,或者在分布式 网络环境中处理,以及存储在本地和远程存储器中。因此,例如,关 于图解的实施例,假设计算设备600是推送动态可装载程序代码的发 送机,那么,远程设备614和616可以分别是该推送代码的机顶盒和 便携式无线接收机。
可以理解,远程计算设备614和616可以像计算设备600一样配 置,并因而包括许多或所有的对计算设备讨论的元件。还应该这样理 解,计算设备600、614和616可以在单独一个设备中实施,或者在独 立的通信耦合组件中实施,并且包括或者实现在采用诸如超文本传输 协议(HTTP)、文件传输协议(FTP)等网络应用协议的路由器、网桥、 对等设备、web服务器和应用程序中。
参照图解的实施例,已经描述和说明了本发明的原理,应该认识 到,在不偏离这样的原理的情况下,图解的实施例可以排列和细节上 作些修改。
并且,虽然前述讨论集中在特定实施例上,但是应该理解,其它 配置也应考虑在内。特别地,即使在此使用诸如“在一个实施例中”、 “在另一实施例中”等表达方式,这些短语通常用来指实施可能性, 而不是打算把本发明限制在特定的实施例配置。如这里所用的,这些 术语可以指相同的或不同的实施例,除非含蓄地或明白地指出,否则, 实施例可以组合到其它实施例。因此,考虑到对上述实施例大范围替 换,详细的描述仅仅打算用于解释说明,而不应该看作限制本发明的 范围。
因此,请求专利保护的是在随后权利要求书和等价物的范围和精 神范围内的所有这些修改。