用于下载信息的系统和方法.pdf

上传人:e1 文档编号:1034141 上传时间:2018-03-27 格式:PDF 页数:46 大小:2.21MB
返回 下载 相关 举报
摘要
申请专利号:

CN200780024328.5

申请日:

2007.06.26

公开号:

CN101501641A

公开日:

2009.08.05

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 9/445申请公布日:20090805|||实质审查的生效|||公开

IPC分类号:

G06F9/445

主分类号:

G06F9/445

申请人:

美国飞康软件公司

发明人:

陈文贤

地址:

美国纽约州

优先权:

2006.6.29 US 60/817,441

专利代理机构:

中国专利代理(香港)有限公司

代理人:

王庆海;王忠忠

PDF下载: PDF下载
内容摘要

在一个例子中提供了一种将数据传送到一个或多个设备的方法。一个或多个数据文件经由一个或多个相应信道(例如,射频信道)循环地被传送,从设备接收到对至少一个所期望的数据文件的请求,并且将标识与至少一个所期望的数据文件相关联的相应信道的消息传送到该设备。所述至少一个所期望的数据文件可以经由至少一个被选择的信道循环地被传送。所述至少一个所期望的数据文件可以包括一个或多个软件应用程序,例如操作系统。也描述了组装和数据传送的其他系统和方法。

权利要求书

1、  一种传输数据到一个或多个设备的方法,包括:
经由一个或多个各个信道循环地传送一个或多个数据文件;
从设备接收对至少一个所期望的数据文件的请求;和
将标识与至少一个所期望的数据文件相关联的各个信道的消息传输到该设备。

2、
  如权利要求1所述的方法,包括:经由至少一个选择的信道循环地传输至少一个所期望的数据文件。

3、
  如权利要求2所述的方法,其中至少一个所期望的数据文件包括一个或多个软件应用程序。

4、
  如权利要求3所述的方法,其中一个或多个软件应用程序至少包括所选择的软件应用程序的第一版本和第二版本,第一版本适合于第一类型的设备,而第二版本适合于第二类型的设备。

5、
  如权利要求3所述的方法,其中一个或多个软件应用程序包括至少一个操作系统。

6、
  如权利要求5所述的方法,其中至少一个选择的信道包括至少一个射频信道。

7、
  如权利要求6所述的方法,其中所述设备包括从包含如下内容的组中选出的至少一个设备,所述组包括:个人计算机、膝上型计算机、黑莓设备、便携电话、个人数字助理和游戏控制台。

8.
  如权利要求7所述的方法,其中所述请求包括设备的标识符,所述方法还包括:至少部分地基于所述标识符来选择一个或多个软件应用程序。

9、
  如权利要求8所述的方法,还包括:
在至少一个所期望的数据文件内定义至少两个分区;
生成第二数据文件,其包括至少两个分区和表示与每个分区相关联的至少一个存储器地址和表示各个分区将会存储在设备中什么位置的地址信息;
压缩第二数据文件;
将压缩的第二数据文件转换为一组数据分组;以及
经由至少一个选择的信道循环地传送该组数据分组。

10、
  如权利要求8所述的方法,包括:
压缩一个或多个软件应用程序。

11、
  如权利要求8所述的方法,其中所述消息还包括第二信息,其表示与至少一个所期望的数据文件相关联的多个数据分组。

12、
  如权利要求1所述的方法,其中:一个或多个各个信道可以包括从以下组中选择的至少一个信道,该组包括:射频信道和因特网信道。

13、
  如权利要求1所述的方法,还包括:
经由不同于至少一个选择信道的第二信道循环地传送第二数据文件;
从第二设备接收对第二数据文件的第二请求;以及
将标识第二信道的消息传输到第二设备。

14、
  如权利要求1所述的方法,还包括:
经由电缆连接与设备进行通信;以及
经由电缆连接上的一个或多个相应信道循环地传送一个或多个数据文件。

15、
  一种经由通信信道接收数据的方法,包括:
由设备接收配置为管理一个或多个数据文件的下载的软件;
由所述设备将软件存储在存储器中;
在软件的控制之下由设备传送对至少一个所期望的数据文件的请求;
由设备接收指定与至少一个所期望的数据文件相关联的信道的消息;
响应于所述消息访问所述信道;
在第一传输周期期间经由所述信道接收至少一个所期望的数据文件的第一部分;
在第二传输周期期间经由所述信道接收至少一个所期望的数据文件的第二部分;以及
至少部分地基于第一和第二部分来组合至少一个所期望的数据文件。

16、
  如权利要求15所述的方法,其中至少一个所期望的数据文件包括一个或多个软件应用程序。

17、
  如权利要求16所述的方法,其中一个或多个软件应用程序包括至少一个操作系统。

18、
  如权利要求17所述的方法,其中指定的信道包括至少一个射频信道。

19、
  如权利要求18所述的方法,其中所述设备包括从包含如下内容的组中选出的至少一个设备,所述组包括:个人计算机、膝上型计算机、黑莓设备、便携电话、个人数字助理和游戏控制台。

20、
  如权利要求19所述的方法,其中压缩至少一个所期望的数据文件,所述方法还包括:由设备解压缩至少一个所期望的数据文件。

21、
  如权利要求19所述的方法,其中至少一个所期望的数据文件被分区和压缩,所述方法还包括:
调整到所述信道;
经由所述信道接收一组数据分组;
将该组数据分组组合为第一数据文件;
解压缩第一文件以生成第二数据文件;
从第二数据文件中检索与至少一个所期望的数据文件相关联的至少两个分区和表示与各个分区相关联的一个或多个存储器地址的地址信息;以及
基于地址信息将所述至少两个分区存储在设备的存储器中。

22、
  如权利要求21所述的方法,其中所述消息还包括第二信息,其表示与至少一个所期望的数据文件相关联的多个数据分组。

23、
  如权利要求21所述的方法,其中所述组合、解压缩、检索和存储是在所述软件的控制之下进行的。

24、
  如权利要求21所述的方法,其中:经由指定信道在多个传输周期中循环地传送至少一个所期望的数据文件。

25、
  如权利要求24所述的方法,包括:
接收第一数据分组是从至少一个所期望的数据文件的中间数据分组开始直到至少一个所期望的数据文件的最后的数据分组为止;
在接收到最后的数据分组之后,接收第二数据分组是从至少一个所期望的数据文件的第一数据分组开始至少直到中间数据分组;以及
至少部分地基于第一和第二数据分组来组合至少一个所期望的数据文件。

26、
  如权利要求24所述的方法,还包括:
在至少一个第一传输周期期间,接收与至少一个所期望的数据文件相关联的多个第一数据分组;
确定没有接收到与至少一个所期望的数据文件相关联的一个或多个第二数据分组;
在至少一个第一传输周期之后发生的至少一个第二传输周期期间接收一个或多个第二数据分组;以及
至少部分地基于多个第一数据分组和一个或多个第二数据分组来组合至少一个多个所期望的数据文件。

27、
  如权利要求15所述的方法,其中所述信道包括从以下组中选择的至少一个信道,该组包括:射频信道和因特网信道。

28、
  如权利要求15所述的方法,还包括:由接收到的软件生成请求。

29、
  一种经由通信信道将软件安装到在制造工厂中组装的一个或多个设备上的方法,所述方法包括如下步骤:
经由从制造工厂内可访问的至少一个信道循环地传送软件;
由制造工厂中的至少一个组装设备自动访问所述至少一个信道;
由至少一个组装设备经经由至少一个信道接收所述软件;以及
由至少一个组装设备将该软件存储在至少一个存储器中。

30、
  如权利要求29所述的方法,其中所述软件包括操作系统。

31、
  如权利要求29所述的方法,包括:由制造工厂中的第二设备经由在制造工厂中可访问的至少一个信道循环地传送所述软件。

32、
  如权利要求31所述的方法,还包括:
由至少一个组装设备将至少一个对所述软件的请求传送到第二设备;以及
由至少一个组装设备接收指定至少一个信道中的一个的至少一个消息。

33、
  如权利要求32所述的方法,其中至少一个信道包括至少一个射频信道。

34、
  如权利要求33所述的方法,其中所述至少一个组装设备包括从包含如下内容的组中选出的至少一个设备,所述组包括:个人计算机、膝上型计算机、黑莓设备、便携电话、个人数字助理和游戏控制台。

35、
  如权利要求29所述的方法,其中所述至少一个组装设备包括多个设备。

36、
  如权利要求29所述的方法,还包括:在将软件存储在至少一个存储器中之后从制造工厂移出所述至少一个组装设备。

37、
  如权利要求36所述的方法,还包括:将至少一个附加的组装设备放置在制造工厂中的位置处以使得该至少一个附加的组装设备访问所述至少一个信道。

38、
  如权利要求37所述的方法,还包括:
由制造工厂中的至少一个附加的组装设备自动访问选择的至少一个信道中的被选择一个;
由至少一个附加的组装设备经由被选择的信道接收所述软件;以及
由至少一个附加的组装设备将该软件存储在至少一个附加的存储器中。

39、
  如权利要求38所述的方法,还包括:在将软件存储在至少一个附加的存储器中之后从制造工厂移出所述至少一个附加的组装设备。

40、
  如权利要求39所述的方法,其中:所述至少一个组装设备是在制造工厂内组装的。

41、
  如权利要求40所述的方法,其中:
至少一个附加的组装设备是在制造工厂内组装的。

42、
  一种传输数据到一个或多个设备的系统,包括:
至少一个第一处理器,其被配置为:
经由一个或多个相应信道循环地传送一个或多个数据文件;以及
至少一个第二处理器,其被配置为:
从设备接收对至少一个所期望的数据文件的请求;以及
将标识与至少一个所期望的数据文件相关联的相应信道的消息传输到所述设备。

43、
  如权利要求42所述的系统,其中所述至少一个第一处理器被配置为:经由至少一个被选择的信道循环地传送至少一个所期望的数据文件。

44、
  如权利要求43所述的系统,其中:
至少一个所期望的数据文件包括一个或多个软件应用程序;以及
所述至少一个第二处理器被配置为:
从所述设备接收对一个或多个软件应用程序的请求;以及
将标识与一个或多个软件应用程序相关联的相应信道的消息传输到所述设备。

45、
  如权利要求44所述的系统,其中:
一个或多个软件应用程序至少包括所选择的软件应用程序的第一版本和第二版本,第一版本适合于第一类型的设备,而第二版本适合于第二类型的设备;
所述至少一个第一处理器被配置为:
经由第一信道传送第一版本;以及
经由第二信道传送第二版本;以及
所述至少一个第二处理器被配置为:
从第一设备接收对第一版本的请求;以及
将标识第一信道的消息传输到第一设备;
所述至少一个第二处理器还被配置为:
从第二设备接收对第二版本的请求;以及
将标识第二信道的消息传输到第二设备。

46、
  如权利要求44所述的系统,其中一个或多个软件应用程序包括至少一个操作系统。

47、
  如权利要求44所述的系统,其中所述至少一个被选择的信道包括至少一个射频信道。

48、
  如权利要求47所述的系统,其中所述设备包括从包含如下内容的组中选出的至少一个设备,所述组包括:个人计算机、膝上型计算机、黑莓设备、便携电话、个人数字助理和游戏控制台。

49、
  如权利要求48所述的系统,其中所述请求包括设备的标识符,所述至少一个第二处理器还被配置为:至少部分地基于所述标识符选择一个或多个软件应用程序。

50、
  如权利要求49所述的系统,其中所述至少一个第一处理器还被配置为:
在至少一个所期望的数据文件内定义至少两个分区;
生成第二数据文件,其包括至少两个分区和表示与每个分区相关联的至少一个存储器地址和表示各个分区将会存储在所述设备中的什么位置的地址信息;
压缩所述第二数据文件;
转换压缩的第二数据文件为一组数据分组;以及
经由至少一个被选择的信道循环地传送该组数据分组。

51、
  如权利要求49所述的系统,其中所述至少一个第一处理器还被配置为:压缩所述至少一个所期望的数据文件。

52、
  如权利要求49所述的系统,其中所述消息还包括第二信息,其表示与该组数据分组相关联的多个数据分组。

53、
  如权利要求42所述的系统,其中:一个或多个相应信道包括从以下组中选择的至少一个信道,该组包括:射频信道和因特网信道。

54、
  如权利要求42所述的系统,其中所述至少一个第一处理器还被配置为:
经由不同于所述至少一个被选择的信道的第二信道循环地传送第二数据文件;
所述至少一个第二处理器还被配置为:
从第二设备接收对第二数据文件的第二请求;以及
将标识第二信道的第二消息传输到该第二设备。

55、
  如权利要求42所述的系统,其中所述至少一个第一处理器被配置为:经由电缆连接经由一个或多个相应信道循环地传送一个或多个数据文件。

56、
  一种经由通信信道接收数据的设备,包括:
至少一个配置为存储数据的存储器;以及
至少一个处理器,其配置为:
接收配置为管理一个或多个数据文件的下载的软件;
将所述软件存储在存储器中;
在所述软件控制之下发送对至少一个所期望的数据文件的请求;
接收指定与至少一个所期望的数据文件相关联的信道的消息;
响应于所述消息访问该信道;
在第一传输周期期间经由所述信道接收至少一个所期望的数据文件的第一部分;
在第二传输周期期间经由所述信道接收至少一个所期望的数据文件的第二部分;以及
至少部分地基于第一和第二部分来组合至少一个所期望的数据文件。

57、
  如权利要求56所述的设备,其中至少一个所期望的数据文件包括一个或多个软件应用程序。

58、
  如权利要求57所述的设备,其中一个或多个软件应用程序包括至少一个操作系统。

59、
  如权利要求58所述的设备,其中指定的信道包括至少一个射频信道。

60、
  如权利要求59所述的设备,其中所述设备是从以下组中选择的,该组包括:个人计算机,膝上型计算机,黑莓设备,便携电话,个人数字助理以及游戏控制台。

61、
  如权利要求60所述的设备,其中所述至少一个所期望的数据文件被压缩,以及所述至少一个处理器还被配置为:解压缩所述至少一个所期望的数据文件。

62、
  如权利要求60所述的设备,其中所述至少一个所期望的数据文件被分区和压缩,所述至少一个处理器被配置为:
调整到所述信道;
经由所述信道接收一组数据分组;
将该组数据分组组合到第一数据文件中;
解压缩该第一文件,生成第二数据文件;
从所述第二数据文件中检索与所述至少一个所期望的数据文件相关联的至少两个分区和表示与各个分区相关联的一个或多个存储器地址的地址信息;以及
基于地址信息将所述至少两个分区存储在存储器中。

63、
  如权利要求62所述的设备,其中所述消息还包括第二信息,其表示与至少一个所期望的数据文件相关联的多个数据分组。

64、
  如权利要求63所述的设备,其中所述至少一个处理器还被配置为:
接收第一数据分组是从至少一个所期望的数据文件的中间数据分组开始直到至少一个所期望的数据文件的最后的数据分组为止;
在接收到最后的数据分组之后,接收第二数据分组是从至少一个所期望的数据文件的第一数据分组开始至少直到中间数据分组;以及
至少部分地基于第一和第二数据分组来组合所述至少一个所期望的数据文件。

65、
  如权利要求63所述的设备,其中所述至少一个处理器还被配置为:
在至少一个第一传输周期期间,接收与至少一个所期望的数据文件相关联的多个第一数据分组;
确定没有接收到与至少一个所期望的数据文件相关联的一个或多个第二数据分组;
在至少一个第一传输周期之后进行的至少一个第二传输周期期间接收一个或多个第二数据分组;以及
至少部分地基于多个第一数据分组和一个或多个第二数据分组来组合所述至少一个多个所期望的数据文件。

66、
  如权利要求56所述的设备,其中所述信道包括从以下组中选择的至少一个信道,该组包括:射频信道和因特网信道。

67、
  如权利要求56所述的设备,其中所述至少一个处理器被配置为:在所述接收到的软件控制之下生成所述请求。

68、
  如权利要求56所述的设备,其中所述至少一个处理器被配置为:将所述对至少一个所期望的数据文件的请求传送到制造工厂中的计算机。

69、
  一种经由通信信道将软件安装到在制造工厂中组装的一个或多个设备上的系统,所述系统包括:
至少一个位于制造工厂中的第一处理器,所述至少一个第一处理器配置为:
经由从制造工厂内可访问的至少一个信道循环地传送软件;以及
至少一个位于制造工厂中的组合设备,其被配置为:
自动访问所述至少一个信道;
经由至少一个信道接收软件;以及
将所述软件存储在至少一个存储器中。

70、
  如权利要求69所述的系统,其中软件包括操作系统。

71、
  如权利要求70所述的系统,其中所述至少一个组装设备还被配置为:
将至少一个对所述软件的请求传输到至少一个第一处理器;以及
接收指定所述至少一个信道中的一个的至少一个消息。

72、
  如权利要求71所述的系统,其中所述至少一个信道包括至少一个射频信道。

73、
  如权利要求72所述的系统,其中所述至少一个组装设备包括从包含如下内容的组中选出的至少一个设备,所述组包括:个人计算机、膝上型计算机、黑莓设备、便携电话、个人数字助理和游戏控制台。

74、
  如权利要求69所述的系统,其中:所述至少一个组装设备包括多个组装设备。

75、
  如权利要求74所述的系统,其中在将软件存储在至少一个被选择的设备的存储器中之后,将所述至少一个组装设备从制造工厂中移出。

76、
  如权利要求75所述的系统,还包括:
至少一个附加的组装设备放置在制造工厂内的某处以使得该至少一个附加的组装设备访问该至少一个信道。

77、
  如权利要求76所述的系统,其中所述至少一个附加的组装设备还被配置为:
自动访问制造工厂中的所述至少一个信道中的被选择的一个;
经由所选择的信道接收所述软件;以及
将所述软件存储在至少一个附加存储器中;
其中:
在软件被存储在至少一个附加存储器中之后,将至少一个附加组装设备从制造工厂中移出。

78、
  如权利要求75所述的系统,其中:所述至少一个组装设备是在制造工厂内组装的。

说明书

用于下载信息的系统和方法
本申请要求于2006年6月29日提出申请的第No.60/817,441号美国专利申请的优先权,其被转让给本申请的专利受让人,并且其全部内容并入本文之中,以供参考。
技术领域
本发明总体上涉及用于下载诸如软件,数据或者多媒体内容之类的信息的系统和方法。更具体来讲,本发明涉及用于组播软件,数据和/或多媒体内容到多个设备的系统和方法。
背景技术
目前已经开发了许多技术来将软件或者数据从中央位置传输到一个或多个设备。在许多实例中,软件或者数据的传输受到了与带宽,格式等等有关的问题的限制。
当必须将软件或者数据传输给大量设备时,诸如在制造和组装计算机或者其它电子设备的过程期间,下载软件或者数据会格外难办和耗时。在许多现有计算机制造/组装工厂中,通过将计算机经由电缆连接到服务器计算机来将诸如操作系统之类的软件安装在组装的计算机的存储器中。然后服务器将软件传输到计算机。在将软件存储在计算机的存储器中之后,计算机从服务器断开。操作系统以及其它软件都以此方式安装在每个组装的计算机上。
在一些制造工厂中,通过单个电缆连接将一个以上组装的计算机连接到服务器计算机以同时接收软件和/或数据。例如,在一些工厂中高达六十台计算机可以被同时连接到服务器计算机。然而,可以经由单个电缆连接的计算机数目相对于制造/组装工厂(每天可以产生数千台组装产品的一些工厂)的能力而言是相对有限的。同时可能还要添加其他的服务器计算机,因此该方案成本很高。另外,在很多情况下如果传输问题出现了并且阻止特定计算机经由电缆连接接收数据,那么必须停止经由该连接的传输直到问题解决,对于使用各自连接的所有计算机延迟下载程序。并且,需要将每个组装的计算机物理上连接到服务器计算机会很耗时和耗力。这种方法往往进一步由程序的批量处理特性所限制,与单个服务器连接的所有设备必须被连通并且准备好在程序开始时接收软件和/或数据。这些限制明显限制了可以同时处理的组装计算机的数目。在每天能够生产数千台组装计算机的工厂中,诸如这些之类的限制可以表示组装过程中不希望出现的“瓶颈”。在诸如制造和组装计算机以及其它电子设备的竞争性产业中,会增大生产成品所需要的时间和/或资源的任何这种限制都是不希望出现的。
发明内容
根据本发明的一个实施例,包括至少一个计算机的系统经由所选择的组播信道循环地将信息传输到一个或多个设备。正如本文使用的那样,术语“组播信道”是可用来将信息传输到多个设备的任何介质中的通信信道,可以包括但不限于,用于无线传输,电缆传输,经由因特网传输,经由电话线传输的通信信道等等。正如此处使用的那样,术语“信息”可以包括但不限于,一个或多个软件应用程序,数据,多媒体内容等等。
在一个例子中,系统可以在用于制造诸如膝上型计算机之类的设备的工厂中实现。计算机可以包括至少一个服务器计算机,例如,经由各个无线信道传输所选择的软件应用程序。所述设备可以包括被组装的并且需要加载软件的膝上型计算机。软件应用程序还可以下载到其它类型的设备上,诸如个人计算机。所述设备被放置在远离服务器计算机适当距离的位置以允许设备和计算机进行无线通信。当放置在适当范围内的装配线上时,各个设备经由无线信道从服务器计算机获得所选择的一个(或更多)软件应用程序的副本。在一个例子中,设备将对所选择的软件应用程序的请求提交给服务器计算机。当服务器计算机接收到所述请求时,计算机识别所述设备并且响应于所述请求识别软件应用程序。计算机可以从软件应用程序的多个版本中选择适合于请求设备的软件应用程序的版本。计算机还确定在其上传输识别的软件应用程序的无线信道,并且将标识信道的消息传输到设备。作为响应,请求设备接收所述消息并且调整到无线信道下载想要的软件应用程序。软件在无线信道上循环地,重复地传输以便每个设备可以在任一点开始接收软件,并且连续接收软件直到传送完整个程序包。
在本发明的其它实施例中,信息可以经由其它介质组播到设备,诸如通过电缆连接,经由因特网,经由基于网络的以太网开关等等。在一个可替代的例子中,本文描述的方法和系统可以用于制造/组装工厂中以经由电缆连接将包括诸如操作系统之类的软件的信息传输到组装设备。在另一可替代的例子中,本文描述的方法可用来将包括媒体内容的信息分送到因特网上的多个设备。可以使用的信道数目,由此可以同时组播的不同软件,数据或者多媒体应用程序(或者其版本)的数目是受包括所使用的介质的特性在内的本领域所熟知的多种因素限制的。
相应地,在一个例子中,提供了将数据传输到一个或多个设备的方法。一个或多个数据文件经由一个或多个各个信道被循环传输,从设备接收对至少一个所期望的数据文件的请求,并将标识与至少一个所期望的数据文件相关联的各个信道的消息传输给该设备。至少一个所期望的数据文件可以经由至少一个选择的信道循环地传输。至少一个所期望的数据文件包括一个或多个软件应用程序。一个或多个软件应用程序可以包括至少所选择的软件应用程序的第一版本和第二版本,第一版本适合于第一类型的设备,而第二版本适合于第二类型的设备。一个或多个软件应用程序可以包括至少一个操作系统。
至少一个选择的信道可以包括至少一个射频信道。设备可以包括从以下组中选择的至少一个设备,包括:个人计算机,膝上型计算机,黑莓(Blackberry)设备,便携电话,个人数字助理和游戏控制台。请求可以包括设备的标识符。
在至少一个所期望的数据文件内可以定义至少两个分区。可以生成第二数据文件,包括至少两个分区和表示与每个分区相关联的至少一个存储器地址的地址信息。第二数据文件被压缩和转换为一组数据分组。数据分组集经由至少一个选择的信道循环地传输。
第二数据文件可以被压缩。所述消息还可以包括第二信息,表示与该组数据分组相关联的多个数据分组。一个或多个数据文件可以包括视频数据。一个或多个各个信道可以包括从以下组中选择的至少一个信道,包括:射频信道,电缆网信道和因特网信道。
该方法可以另外包括经由不同于至少一个所选择的信道的第二信道循环地传输第二数据文件。在一个例子中,从第二设备接收对第二数据文件的第二请求,并将标识第二信道的第二消息传输给第二设备。
在另一例子中,提供了经由通信信道接收数据的方法。配置为管理下载一个或多个数据文件的软件由设备接收并存储在存储器中。在该软件的控制之下,设备传输对至少一个所期望的数据文件的请求,接收指定与至少一个所期望的数据文件相关联的信道的消息,并且响应于该消息访问信道。在第一传输周期期间经由信道接收至少一个所期望的数据文件的第一部分,并且在第二传输周期期间经由信道接收至少一个所期望的数据文件的第二部分。至少一个所期望的数据文件是基于第一和第二部分组合的。一个或多个软件应用程序可以包括至少一个操作系统。指定的信道可以包括至少一个射频信道。
至少一个所期望的数据文件可以被分区和压缩。在一个例子中,该方法还包括调整到该信道,经由该信道接收一组数据分组,并将该组数据分组组合到第一数据文件中。该方法还可以包括解压缩第一文件,生成第二数据文件,从该第二数据文件中检索与至少一个所期望的数据文件相关联的至少两个分区和表示与各个分区相关联的一个或多个存储器地址的地址信息,并基于地址信息将至少两个分区存储在设备中的存储器中。
该消息还可以包括第二信息,表示与至少一个所期望的数据文件相关联的多个数据分组。在一个例子中,第一数据分组的接收是从至少一个所期望的数据文件的中间数据分组开始直到至少一个所期望的数据文件的最后的数据分组为止。在接收到最后的数据分组之后,接收第二数据分组是从至少一个所期望的数据文件的第一数据分组开始到至少达到中间数据分组为止,并且至少一个所期望的数据文件是基于第一和第二数据分组组合的。
该方法还可以包括在至少一个第一传输周期期间接收与至少一个所期望的数据文件相关联的多个第一数据分组,并且确定没有接收到与至少一个所期望的数据文件相关联的一个或多个第二数据分组。接收一个或多个第二数据分组是在至少一个第一传输周期之后的至少一个第二传输周期期间进行的,并且至少一个所期望的数据文件是基于多个第一数据分组和一个或多个第二数据分组组合的。
在另一个例子中提供了一种方法,经由通信信道将软件安装到在制造工厂中组装的一个或多个设备上。软件是经由从制造工厂内可访问的至少一个信道循环地传输的。至少一个信道由制造工厂中的至少一个组装设备自动访问。软件是经由至少一个信道由至少一个组装设备接收并由至少一个组装设备存储在至少一个存储器中。
借助于制造工厂中的第二设备,软件可以经由从制造工厂内可获得的至少一个信道循环地传输。至少一个组装设备可以包括多个设备。在软件被存储在至少一个存储器中之后至少一个组装设备可以从制造工厂中移走。至少一个其他组装设备可以放置在制造工厂内的某处以允许至少一个其他组装设备访问该至少一个信道。
在另一个例子中提供了一种系统将数据传输到一个或多个设备。该系统包括至少一个第一处理器,配置为经由一个或多个各个信道循环地传输一个或多个数据文件。该系统还包括至少一个第二处理器,配置为从设备接收对至少一个所期望的数据文件的请求,并将标识与至少一个所期望的数据文件相关联的各个信道的消息传输到该设备。
在另一例子中,提供了一种经由通信信道接收数据的设备。该设备包括至少一个配置为存储数据的存储器。该设备还包括至少一个处理器,配置为接收配置为管理下载一个或多个数据文件的软件,将软件存储在存储器中,并在该软件的控制之下传输对至少一个所期望的数据文件的请求。至少一个处理器还被配置为,接收指定与至少一个所期望的数据文件相关联的信道的消息,响应于该消息访问该信道,并在第一传输周期期间经由该信道接收至少一个所期望的数据文件的第一部分。至少一个处理器还被配置为,在第二传输周期期间经由该信道接收至少一个所期望的数据文件的第二部分,并基于第一和第二部分组合至少一个所期望的数据文件。
在另一个例子中提供了一种系统,经由通信信道将软件安装到在制造工厂中组装的一个或多个设备上。该系统包括位于制造工厂中的至少一个第一处理器,该至少一个第一处理器被配置为经由从制造工厂可访问的至少一个信道循环地传输软件。该系统还包括位于制造工厂中的至少一个组装设备,配置为自动访问至少一个信道,经由该至少一个信道接收软件,并将软件存储在至少一个存储器中。
附图说明
附图被并入并构成说明书的一部分,其中相同的参考标记表示相同部分。附图举例说明了本发明的优选实施例,并连同以上给出的一般说明和以下给出的详细说明来解释本发明的原理。
图1是依照本发明实施例可用来传输软件和/或数据到一个或多个设备的系统的例子的框图;
图2是依照本发明实施例的图1中设备的元件的例子;
图3A是依照本发明实施例的数据文件内的分区的例子;
图3B是依照本发明实施例的重新格式化数据文件的例子;
图3C是依照本发明实施例的已压缩文件的例子;
图3D是依照本发明实施例的用于传送数据的数据分组的例子;
图3E是依照本发明实施例的一组数据分组的例子;
图4是依照本发明实施例的安装表格的例子;
图5是依照本发明实施例的设备表格的例子;
图6是依照本发明实施例的版本表格的例子;
图7是示出依照本发明实施例用于传输软件和/或数据到一个或多个设备的方法的例子的流程图;
图8是示出依照本发明实施例用于传输软件和/或数据到另一个或多个设备的方法的另一个例子的流程图;
图9是示出依照本发明实施例用于接收软件或数据的方法的例子的流程图;
图10是示出依照本发明实施例用于处理软件应用程序以被组播到一个或多个设备的方法的例子的流程图;
图11示出了依照本发明实施例的数据库的例子;以及
图12是依照本发明可替代的实施例可用来传输软件和/或数据到一个或多个设备的系统的例子的框图。
具体实施方式
根据本发明的一个实施例,包括至少一个计算机的系统经由所选择的组播信道将信息传输到一个或多个设备。正如本文使用的那样,术语“组播信道”是可用来将信息传输到多个设备的任何介质中的通信信道,可以包括但不限于,用于无线传输,电缆传输,经由因特网传输,经由电话线传输的通信信道等等。正如此处使用的那样,术语“信息”可以包括但不限于,一个或多个软件应用程序,数据,多媒体内容等等。
在一个例子中,系统可以在用于制造诸如膝上型计算机之类的设备的工厂中实现。计算机可以包括至少一个服务器计算机,例如,经由各个无线信道传输所选择的软件应用程序。所述设备可以包括被组装的并且需要加载软件的膝上型计算机。软件应用程序还可以下载到其它类型的设备上,诸如个人计算机。所述设备被放置在远离服务器计算机适当距离的位置以允许设备和计算机进行无线通信。当放置在适当范围内的装配线上时,各个设备经由无线信道从服务器计算机获得所选择的一个(或更多)软件应用程序的副本。在一个例子中,设备将对所选择的软件应用程序的请求提交给服务器计算机。当服务器计算机接收到所述请求时,计算机识别所述设备并且响应于所述请求识别软件应用程序。计算机可以从软件应用程序的多个版本中选择适合于请求设备的软件应用程序的版本。计算机还确定在其上传输识别的软件应用程序的无线信道,并且将标识信道的消息传输到设备。请求设备接收所述消息并且作为响应,调整到无线信道并下载想要的软件应用程序。软件在无线信道上循环地、重复地传输以便每个设备可以在任一点开始接收软件,并且连续接收软件直到传送完整个程序包。
在本发明的其它实施例中,信息可以经由其它介质组播到设备,诸如通过电缆连接,经由因特网,经由基于网络的以太网开关等等。在一个可替代的例子中,本文描述的方法和系统可以用于制造/组装工厂中以经由电缆连接将包括诸如操作系统之类的软件的信息传输到组装设备。在另一可替代的例子中,本文描述的方法可用来将包括媒体内容的信息分送到因特网上的多个设备。可以使用的信道数目,由此可以同时组播的不同软件,数据或者多媒体应用程序(或者其版本)的数目是受包括所使用的介质的特性在内的本领域所熟知的多种因素限制的。
图1是依照本发明实施例可用来传输软件和/或数据到一个或多个设备163-A,163-B,163-C等等的系统100的例子的框图。在此例子中,系统100包括登记服务器110,一个或多个安装服务器114,报告服务器182,恢复服务器186和一个或多个设备163。登记服务器110管理与各个设备163的初始通信,并确立各个设备163的授权状态,并且指示各个设备163与安装服务器114-A和114-B中选择的其中一个进行通信以获得期望的软件应用程序和/或数据。安装服务器114-A和114-B经由选择的无线信道将各种软件应用程序和/或数据组播到设备163。两个安装服务器144-A和114-B在图1中示出;然而应该理解的是,系统100可以包括多个安装服务器。
设备163-A,163-B,163-C等等与登记服务器110、安装服务器114、报告服务器182和恢复服务器186通信以接收软件和/或数据。三个设备163-A,163-B和163-C在图1中示出;然而应该理解的是,多个设备可以与服务器110,114,182和186通信。在一个例子中,设备163-A表示第一类型的一组设备,设备163-B表示第二类型的一组设备,以及设备163-C表示第三类型的一组设备。术语“类型”可以指由物理性质定义的设备类型,诸如膝上型计算机或者个人计算机(PC)。作为选择,术语设备的“类型”可用来区别分配用于接收特定程序包,或者程序包的版本,诸如微软窗口操作系统的现有版本的一个或多个设备和分配用于接收不同程序包或者版本,诸如微软窗口操作系统的更老版本的另一组设备。
应该注意的是,登记服务器110,安装服务器114-A和114-B,报告服务器182以及恢复服务器186其中的每一个的功能都可以由多个服务器实现,如图所示。作为选择,任何或者所有这些服务器的功能都可以由单个服务器或者比所示更少的服务器实现。
登记服务器
登记服务器110包括登记模块131,存储器132,处理器133,发射器134和接收器135。例如登记服务器110可以包括计算机。处理器133控制登记服务器110的各个元件的操作。例如,处理器133可以包括中央处理单元(CPU)。处理器133可以不时地将数据存储到存储器132中。存储器132可以包括短期存储设备和/或一个或多个长期存储设备,诸如一个或多个盘驱动器。
登记模块131管理登记服务器110和设备163之间的通信。登记模块131可以包括软件,硬件或者软件和硬件的组合。
在此例子中,发射器134能够无线地传输数据,并且例如可以包括天线。在一个例子中,发射器134包括射频(RF)发射器。接收器135能够无线地接收数据,并且例如可以包括天线。在一个例子中,接收器135包括射频(RF)接收器。发射器134和接收器135可用来无线地与设备163进行通信。
如图1所示,每个设备163还包括发射器224和接收器225。设备163经由接收器224和发射器225与服务器110,114,182和186进行通信。例如,根据本发明的一个实施例,诸如设备163-A之类的设备可以将对指定软件应用程序和/或数据的请求提交到登记服务器110。当登记服务器110从设备163-A接收这种请求时,登记模块131命令设备与适当的安装服务器114进行通信以接收期望的软件和/或数据。下面参考图2更详细地描述设备163的元件。
安装服务器
安装服务器114-A包括安装模块151-A,处理器152-A,发射器153-A,接收器154-A和存储器156-A。例如,安装服务器114-A可以包括服务器计算机。处理器152-A控制安装服务器114-A的各个元件的操作。例如,处理器152-A可以包括中央处理单元(CPU)。处理器152-A可以不时地将数据存储到存储器156-A中。一个或多个软件应用程序和/或数据文件还可以存储在存储器156-A中。存储器156-A可以包括短期存储设备和/或一个或多个长期存储设备,诸如一个或多个盘驱动器。
安装服务器114-A的发射器153-A能够无线地传输数据,并且例如可以包括天线。在一个例子中,发射器153-A包括射频(RF)发射器。接收器154-A能够无线地接收数据,并且例如可以包括天线,在一个例子中,接收器154-A包括射频(RF)接收器。
安装模块151-A管理借助于发射器153-A经由一个或多个无线信道传输所选择的软件应用程序和/或数据。为实现这一点,安装模块151-A可以从存储器中检索一个或多个软件应用程序和/或数据,并且使发射器153-A在所选择的无线信道上传输软件和/或数据。安装模块151-A还管理安装服务器114-A和设备163之间的通信。例如,安装服务器114-A可以不时地从请求期望的软件应用程序和/或数据的设备163接收消息。作为响应,安装模块151-A与设备163通信并且为该设备提供接收所请求的软件或者数据所必需的信息。安装模块151-A可以包括软件,硬件或者软件和硬件的组合。
在图1的系统100中,当登记服务器110命令设备,诸如设备163-A与各个安装服务器114的其中之一进行通信时,设备163-A发送请求到指定的安装服务器。然后设备163-A将对期望的软件应用程序和/或数据的请求传输到指定的安装服务器。指定的安装服务器命令请求设备调整到指定无线信道以接收所请求的软件和/或数据。
安装服务器114-A和114-B将选择的软件应用程序和/或数据组播到设备163。在一个例子中,安装服务器,诸如安装服务器114-A,可以在第一无线信道上组播选择的软件应用程序和/或数据的第一版本,并在第二无线信道上组播软件应用程序和/或数据的第二版本。在可替代的例子中,每个安装服务器114可以在各个无线信道上组播软件应用程序的所选择部分,或者数据文件的所选择部分。在另一例子中,各个安装服务器114的其中每个都可以在各个无线信道上组播一个或多个不同的、不相关的软件应用程序或者数据文件。
在图1的示例中,每个安装服务器114包括多个元件。为方便起见,下面论述安装服务器114-A的元件和操作的例子;然而应该理解的是,安装服务器114-B的配置和操作可以类似于安装服务器114-A的配置和操作。
设备
图2示出了设备163-A的更详细的例子,依照本发明实施例系统100向设备163-A加载软件。设备163-A包括处理器210,存储器215,发射器224和接收器225。处理器210控制设备163-A的各个元件的操作。例如,处理器210可以包括中央处理单元(CPU)。处理器210可以不时地将数据存储到存储器215中。存储器215可以包括短期存储设备和/或一个或多个长期存储设备,诸如一个或多个盘驱动器。在示例性的例子中,设备163-A可以包括计算机,诸如个人计算机或者膝上型计算机。设备还可以是,例如黑莓,便携电话,个人数字助理(PDA),游戏控制台,或者多媒体装置。
发射器224(设备163-A中的)能够无线地传输数据,并且例如可以包括天线。在一个例子中,发射器224包括射频(RF)发射器。接收器225能够无线地接收数据,并且例如可以包括天线,在一个例子中,接收器225包括射频(RF)接收器。
通信模块233存储在设备163-A的存储器中。通信模块233管理设备163-A和登记服务器110之间的初始起动通信。例如,当设备163-A接通时,通信模块233将标识设备163-A的标识符(ID)和对指定软件和/或数据的请求传送到登记服务器110。通信模块233能够向登记服务器110传导其他通信,包括接收相关信息的过程以接收期望的软件和/或数据,如下文将详细描述的。
系统的操作
正如在以上的例子中提到的,图1中示出的系统100可用来在组装/制造过程期间将软件,诸如操作系统安装到多个设备上。在此例子中,服务器110,114,182和186存在于用于制造和组装膝上型计算机的工厂中。安装服务器114-A和114-B存储操作系统的多个版本;每个版本适合于不同类型的设备。例如,操作系统的第一版本可以适合于包含特定Intel微处理器的设备,操作系统的第二版本可以适合于包含特定IBM微处理器的设备,等等。在另一个例子中,操作系统的第一版本可以适合于基于windows的计算机,而操作系统的第二版本适用于基于MAC OS的苹果计算机。安装服务器114-A和114-B在各个无线信道上循环地传送操作系统的各个版本。
在示例性的例子中,每个设备163包括已经组装并需要加载软件的膝上型计算机。如下文将进一步讨论的,系统100能够识别设备,诸如设备163-A,确定哪个版本的操作系统适用于该设备,并指示该设备如何下载适当版本的操作系统。应该理解的是在此例子中,设备163包括膝上型计算机,在可替代的例子中,该设备可以包括需要对其传送软件和/或数据的任何类型的设备。还应该理解的是,使用本文描述的系统和方法不局限于将操作系统下载到计算机上。本文描述的系统和方法可用来将任何软件或者数据传送到任何类型的设备上。如上所述,在一个可替代本文描述的各个方法的应用中,多媒体内容经由所选择的组播信道循环地传送,其可以包括无线介质中的信道,电缆网中的信道,用于经由因特网传送信息的信道,等等。例如,多媒体服务,包括分送视频的供应商可以使用本文描述的方法经由服务预订者使用的因特网分送包括视频在内的多媒体内容。
每个安装服务器114管理传输一个或多个版本的操作系统。在示例性的例子中,两个版本的操作系统(“操作系统版本1”157和“操作系统版本2”158)存储在安装服务器114-A的存储器156-A中。两个其他两个版本的操作系统(“操作系统版本3”177和“操作系统版本4”178)存储在安装服务器114-B的存储器156-B中。每个版本适用于特定的一组设备。例如,操作系统版本1(157)可以适合于设备163-A,操作系统版本2(158)可以适合于设备163-B,等等。
在示例性的例子中,在存储到所选择的安装服务器的存储器中之前,将操作系统的各个版本存储在膝上型计算机中(“测试计算机”)。通常,操作系统的特定版本被划分为分区并存储在测试计算机的存储器内选定位置中。例如,操作系统版本1(157)可以被分成五个分区并存储在测试计算机的存储器中的多个位置中。随后,当操作系统版本1(157)被存储在安装服务器114-A中时,与操作系统版本1被划分的方式有关的信息,以及表示各个分区存储在测试计算机的存储器中的位置的信息都被存储在与操作系统版本1相关联的安装服务器114-A中。
依照本发明实施例,在将各个版本传送到设备163之前安装服务器114-A和114-B重新格式化每个版本的操作系统并将其分成包。例如,安装模块151-A(安装服务器114-A中的)可以检索与在测试计算机中操作系统版本1(157)如何被分区有关的信息,并使用该信息重新格式化操作系统版本1(157)为多个分区,如图3A所示。在此例子中,操作系统版本1(157)被重新格式化为五个分区391-395。然后安装模块151-A创建包含五个分区391-395和其他信息的新的、重新格式化的文件,其中其他信息例如是表示每个分区被存储在测试计算机中的位置的地址信息。图3B是依照本发明实施例的重新格式化数据文件377的例子。参照重新格式化文件377的部分365,例如区域331保存了标识块地址B-1的信息,区域332保存了标识段地址S-1的信息,以及区域333包含分区391。部分365中的块和段信息表示分区391存储在测试计算机中的一个或多个存储位置。块和段信息还表示分区391将存储在接收装置中的哪个位置。同样,与其它每个分区392-395相关联的块和段信息被包含在重新格式化的文件377中。应该注意的是在示例性的例子中,重新格式化的文件377中的地址信息(包括如图3B所示的块和段信息)是使用测试计算机确定的,在其它例子中,包含在重新格式化的文件中的地址信息可以以其他方式生成,诸如使用算法。
重新格式化的文件还可以被压缩。在此例子中,安装模块151-A可以将重新格式化的文件377压缩以生成重新格式化和已压缩的文件。图3C是依照本发明实施例基于重新格式化的文件377生成的已压缩的文件382的例子。安装模块151-A可以利用标准的、众所周知的压缩技术,例如霍夫曼编码。安装模块151-A可以使用商业上可获得的软件;作为选择也可以使用非定制设计的算法。
如上所述的方法可用来重新格式化和压缩操作系统,诸如微软窗口XP操作系统。在一个例子中,操作系统可以存在于大小为100G字节的盘上。重新格式化的版本可以具有6G字节的大小。压缩版本可以具有5G字节的大小。
安装模块151-A将已压缩文件382转换为一组数据分组。图3D是依照本发明实施例用于传送与已压缩文件382相关联的数据的数据分组P-1的例子。数据分组P-1包括头部信息片段322,和包含来自已压缩文件382的数据的有效负载片段323。例如,头部片段322可以包括表示数据分组P-1长度的信息和包含在有效负载片段323中的数据的类型。头部片段322还可以保存与数据分组P-1相关联的标识符。
图3E是依照本发明实施例用于传送与已压缩文件诸如已压缩文件382相关联的数据的一组数据分组的例子。在此例子中,与已压缩文件382相关联的数据由包括920个数据分组P-1,P-2,P-3,...,P-920的一组数据分组传送。在此例子中,每个数据分组P-1到P-920在它的头部片段内包含了唯一标识符,包括从1到920(包括在内)之间的数值来标识该分组。因此,再次参照图3D,数据分组P-1可以在头部片段322中带有标识符‘1’。数据分组P-2可以在它的头部片段中带有标识符‘2′,等等。其它类型的标识符可以用于其它例子。还应该理解的是在此例子中,已压缩文件382被转换为有920个数据分组的一组数据分组,在其它例子中可以使用任何数量的数据分组。使用数据分组传输数据是众所周知的。
在示例性的例子中,已压缩文件382分成包的版本经由选择的无线电频率(RF)信道被反复地传送。因此,安装模块151-A(安装服务器114-A中的)使发射器153-A依照相继次序传送数据分组P-1到P-920,然后从数据分组P-1重新开始并在预定时间段内连续地重复该传输。例如,该传输可以在组装设备163的制造工厂的工作时间期间连续地重复。另一个存储的版本的操作系统在其它选择的RF信道上也被循环地传送。
在此例子中,安装模块151-A使操作系统版本1(157)在上第一RF信道C-1上循环地组播到设备163-A(以及相同类型的其它设备),并且使操作系统版本2(158)在第二RF信道C-2上循环地组播到设备163-B(以及相同类型的其它设备)。同样,安装服务器114-B分别在第三和第四RF信道C-3和C-4上将操作系统版本3(177)和操作系统版本4(178)组播到选择的设备。在可替代的例子中,软件和/或数据可以在非RF信道上传送。
从而每个版本的操作系统经由无线传输组播到制造工厂中的一组设备。每个设备可以调整到选择的信道并下载适合于特定设备的版本的操作系统。本文使用的术语“组播”意思是将软件和/或数据传输到定义的一组设备。
设备163设置在登记服务器110、安装服务器114-A和安装服务器114-B的适当距离之内(以便设备163可以无线地与服务器通信)。设备163被设置在由设备163内的发射器和接收器的范围,以及服务器110和114内的发射器和接收器的范围定义的区域之内。
每个设备163被接通并开始与登记服务器110通信以启动软件下载程序。为方便起见,如下的讨论参考设备163-A;然而应该理解的是,另一个设备163也可以依照类似于本文所述的方式与服务器通信并接收数据。在设备163-A被接通之后通信模块233将标识符传送到登记服务器110以标识本身。通信模块233可以将唯一的标识符提供给设备163-A,例如,网络适配器的MAC地址或者设备163-A的序号。登记服务器110中的登记模块131从设备163-A接收信号,并作为响应通过众所周知的验证机制验证设备的身份和授权以接收软件和/或数据。如果确定了设备的授权,则登记模块131将第一附加软件应用程序传输给设备163-A。称为“加载器模块”236的软件应用程序由设备163-A接收到并存储在存储器215中,如图2所示。
激活加载器模块236并此后管理将软件下载到设备163-A上并将软件存储在设备163-A的存储器中的过程。加载器模块236将与设备163-A相关联的标识符和请求与用于接收适当版本的操作系统的过程相关的指令的消息传输到登记模块131。登记模块131接收请求并且作为响应,访问安装表格以识别能够将适当版本的操作系统提供到设备163-A的安装服务器,以及如果传输错误可以帮助设备的恢复服务器。
图4示出了安装表格425的例子。安装表格425包括包含了各个设备的标识符的列441,以及包含了表示每个设备必须与哪个安装服务器114通信来接收适当版本的操作系统的信息的列442。安装表格425还包括列443,其标识了在由于传输错误设备未能接收所有或者部分传输时每个设备要与之通信的恢复服务器。例如,参照记录470,设备163-A需要与安装服务器114-A通信以接收适当版本的操作系统,并且在由于传输错误设备163-A未能接收所有或者部分时操作系统则与恢复服务器186通信。参照图1,安装表格425可以存储在存储器132中(在登记服务器110中的)。
因此,当登记模块131接收到设备163-A的标识符和对指令的请求时,登记模块131访问安装表格425,并且根据记录470确定设备163-A应该与安装服务器114-A通信以获得适当版本的操作系统,以及如果任何的传输错误,则与恢复服务器186进行通信。登记模块131将标识安装服务器114-A和恢复服务器186的消息传输到设备163-A。
加载器模块236(设备163-A中的)接收消息并与安装服务器114-A启动通信。加载器模块236将消息传送到安装服务器114-A,请求适当版本的操作系统。安装模块151-A从设备163-A接收消息并作为响应,访问设备表格以确定设备163-A应该接收哪个版本的操作系统。
图5示出了依照本发明实施例的设备表格512的例子。设备表格512包括保存一个或多个设备标识符的列506,以及表示各个设备应该接收的版本的操作系统的列507。例如参照记录521,设备163-A应该接收操作系统的“操作系统版本1”版本。参照图1,设备表格512可以存储在存储器156-A中(在安装服务器114-A中的)。
安装模块151-A另外检查版本表格以确定在其上组播相关版本的操作系统的无线信道。图6示出了依照本发明实施例的版本表格630的例子。版本表格630包括标识各个版本操作系统的列652,以及表示在其上传送各个版本的传输信道的列653。表格630另外包括表示与每个版本的操作系统相关联的数据分组的数目的列654。例如参照行664,“操作系统版本1”版本的操作系统在信道C-1上传送并且以920个数据分组的形式传送。参照图1,版本表格630可以存储在存储器156-A中(在安装服务器114-A中的)。
在查阅设备表格512和版本表格630之后,安装模块151-A将消息无线地传送到设备163-A,指示它调整到信道C-1并接收“操作系统版本1”版本的操作系统。安装模块151-A还通知设备163-A与传输相关联的数据分组的数目。在这种情况下,安装模块151-A通知设备163-A传输包括920个数据分组。
在可替代的例子中,设备表格512和版本表格630可以由登记服务器110保存。在该可替代的例子中,登记服务器100(代替安装服务器114)确定所请求操作系统的适当版本,以及在其上传送该版本的无线信道,并将这种信息发送到各个设备163。因此,在该可替代的例子中,每个设备163从登记服务器110(代替从安装服务器114)接收与它应该调整到哪个信道相关的指令。
返回到示例性的例子,当加载器模块236(设备163-A中的)从安装模块151-A接收到该消息时,加载器模块236使接收器225调整到信道C-1。接收器225调整到信道C-1并开始接收与操作系统版本1(157)相关联的数据分组。加载器模块236接收数据分组并组合已压缩文件382(图3C中示出)。加载器模块236解压缩已压缩文件382以便恢复被重新格式化的文件377(图3B中示出)。加载器模块236监控接收到的数据分组以确保接收到了与操作系统版本1(157)相关联的所有数据。在此例子中,加载器模块236监控接收到的数据分组以确保接收到了与已压缩文件382相关联的920个不同的数据分组P-1到P-920。例如,加载器模块236可以检查每个数据分组的头部片段中的标识符以确定哪个数据分组被接收到以及哪个数据分组还没有接收到。加载器模块236可以将数据分组存储在存储器215内的临时位置中直到接收到并重组与操作系统版本1(157)相关联的所有数据。
在加载器模块236重组已压缩文件382并恢复被重新格式化的文件377之后,加载器模块236提取与每个分区391-395相关联的数据以及与每个分区相关联的块和段信息。加载器模块236使每个分区391-395存储在存储器215中(设备163-A中)由相关联的块和段信息定义的地址(或者多个地址)。因此,再次参考图3B,分区1(391)被存储在存储器215中与块B-1、段S-1相关联的位置。
设备163-A中的加载器模块236可以不时地将消息传送到登记模块131,通知登记模块131相对于设备163-A的下载过程的状态。例如,当设备163-A调整到信道C-1并开始接收数据时,当设备163-A已经完成下载过程,和如果在下载过程期间有任何错误发生时加载器模块236通知登记模块131。加载器模块236还可以不时地传送消息到登记模块131,表示哪个数据分组已经接收到,以及哪个数据分组没有接收到。如果加载器模块236检测到经由信道C-1传输操作系统中出现错误,则加载器模块236还可以将错误消息传送到恢复服务器186。
应该理解的是,设备163-A可以在传输周期的“中间”开始接收数据分组。举例来说,假定当设备163-A调整到信道C-1时,传送标识为数据分组P-317的数据分组。设备163-A从而接收数据分组P317并当它们到达时连续接收数据分组,临时存储它们直到当前传输周期结束(即直到接收到数据分组P-920)。因此在下一传输周期期间接收剩下的数据分组(即数据分组P-1到P-316)。同样,如果由于暂时的传输问题,例如加载器模块236可能在一个或多个传输周期期间暂停然后试图在后续周期期间接收丢失的数据分组,则加载器模块236确定在传输期间没有接收到一个或多个数据分组。依照此方式,加载器模块236确保接收到与相关版本的操作系统相关联的所有数据分组。
作为选择,如果设备163-A未能接收到一个或多个数据分组,例如数据分组P-554和P-555,则设备163-A可以从恢复服务器186检索丢失的数据分组。恢复服务器186存储由每个安装服务器114-A和114-B传送的数据分组集合。例如,恢复服务器186存储与操作系统版本1(157)相关联的数据分组P-1到P-920(图3E中示出)。当下载操作系统版本1(157)时如果设备163-A未能接收一个或多个数据分组,则设备163-A可以通过电缆连接到恢复服务器186。在此情况下,加载器模块236通知恢复服务器186哪些数据分组丢失了,并且恢复服务器186将丢失的数据分组传送到设备163-A。
如上所述,系统100能够同时组播多个版本的操作系统。同时组播允许系统100将操作系统同时传送到不同类型的设备。该性能可以允许制造工厂将操作系统同时下载到更多数目的设备中。
举例来说,假定设备163-B是与设备163-A不同类型的设备。例如,设备163-B可以包括具有不同于设备163-A的元件的设备并且要求不同的驱动装置。因此,设备163-A和设备163-B可以要求不同版本的操作系统。因此,例如在设备163-A与系统100进行通信并依照以上所述的方式接收(重新格式化和分包的版本的)操作系统版本1(157)时,设备163-B也可以接通并开始与登记服务器110通信。再次参照图4,登记模块131根据安装表格425的行471确定设备163-B应该与安装服务器114-A通信并且从而指令设备163-B。
在此情况下,如上所述除了操作系统版本1(157)之外,安装服务器114-A将操作系统版本2(158)存储在存储器156-A中。当经由无线信道C-1传送操作系统版本1(157)时,安装模块151-A使得操作系统版本2(158)同时经由第二无线信道C-2被传送。操作系统版本2(158)是从存储器中检索出来并依照以上参考图3A-3E所述的方式重新格式化、压缩并分成包的,并且得到的重新格式化的、压缩的并分成包的文件经由信道C-2被组播。
当设备163-B向安装服务器114-A识别自己时,安装模块151-A检查设备表格512(图5中示出),并且(参照行522)确定设备163-B应该接收存储在存储器156-A中的操作系统版本2(158)。在此例子中,安装模块151-A还查阅版本表格630(图6中示出)并且根据行665确定操作系统版本2(158)在信道C-2上传送而且包括一千零四十五(1,045)个数据分组。安装模块151-A发送包含该信息的消息到设备163-B。
设备163-B从安装模块151-A接收该消息,并且作为响应,调整到信道C-2以接收操作系统版本2(158)。该设备接收与OS版本2相关联的数据分组,重组已压缩文件并且将其解压缩。设备163-B提取与操作系统版本2(158)相关联的数据以及地址相关信息(包括块和段信息),并且将操作系统版本2(158)存储在指定地址位置。
应该注意的是,两个或更多版本的操作系统可以交替地经由单个信道传送。例如,操作系统版本1和操作系统版本2可以同时经由单个无线信道多路复用和传送。在另一个例子中,操作系统版本1和操作系统版本2可以交替地经由单个信道传送。
还应注意的是,本文描述的传送方法可用来将不同的、不相关的软件应用程序传送到不同的设备。例如,视频游戏可以传输给第一组设备,而文字处理应用软件可以传输给第二组设备。
图7是示出依照本发明实施例用于传送诸如软件应用程序之类的信息到一个或多个设备的方法的例子的流程图。在步骤710,软件应用程序经由组播信道循环地传送。因此,安装服务器151-A可以经由例如无线信道组播该应用程序。在步骤720,从设备接收对软件应用程序的请求。例如,登记服务器110可以接收该请求。在步骤730,响应于该请求将标识组播信道的消息传输给设备。例如,安装服务器151-A可以将信道信息提供给设备。
图8是示出依照本发明实施例用于传送诸如软件应用程序之类的信息到另一个或多个设备的方法的另一个例子的流程图。在步骤810,多个版本的软件应用程序经由各个组播信道循环地传送。在步骤820,从设备接收对软件应用程序的请求。在步骤823,识别适合于设备的版本的软件应用程序。在步骤825,确定携带标识版本的组播信道,和在步骤830将标识组播信道的消息传输给设备。
图9是示出依照本发明实施例用于由设备接收诸如软件应用程序之类的信息的方法的例子的流程图。在步骤905,由设备接收能够管理期望的软件应用程序的下载的软件代理。在示例性的例子中,设备163-A接收加载器模块236并且将它存储在存储器中。在步骤910,由设备传送对软件应用程序的请求。在示例中,加载器模块236将对期望的操作系统的请求传送到例如登记服务器110。在从登记服务器110接收到指令之后,设备163-A与安装服务器114-A通信。在步骤920,由设备接收指定承载该软件应用程序的信道的消息。在示例中,设备163-A从安装服务器114-A接收表示在其上传送适当版本的操作系统的无线信道的消息。在步骤930访问该信道。因此,加载器模块236使设备163-A调整到指定的无线信道。在步骤940,经由指定信道接收软件应用程序。设备163-A经由指定的无线信道接收期望的操作系统,并且将它存储在存储器中。
图10是示出依照本发明实施例用于处理诸如软件应用程序之类的信息以进行组播的方法的例子的流程图。在步骤1010,在软件应用程序内定义一个或多个分区。在示例性的例子中,如图3A所示安装模块151-A将操作系统版本1(157)划分为五个分区。在步骤1020,生成重新格式化的版本的软件应用程序,包括定义的分区和与各个分区相关联的地址信息。因此,安装模块151-A重新格式化操作系统版本1(157)以生成重新格式化的文件377,如图3B所示。在步骤1030,压缩重新格式化的版本的软件,生成已压缩文件。在示例中,安装模块151-A压缩重新格式化的文件377,生成压缩已压缩文件382,如图3C所示。在步骤1050,已压缩文件被分成包以生成一组携带表示软件应用程序的信息的数据分组。从而安装模块151-A将已压缩文件382分包以创建一组数据分组P-1到P-920,如图3E所示。在步骤1060,数据分组经由组播信道循环地组播到一个或多个选择的设备。在示例中,安装模块151-A使得数据分组P-1到P-920经由无线信道组播到包括设备163-A的所选择的设备。
使用校验和验证由设备接收到的信息。在一个例子中,在组播数据文件157之前安装服务器114-A将一个或多个校验和数值添加到图3A中示出的数据文件157中,并且当它被接收时设备163-A使用校验和数值验证信息的完整性。校验和数值可以包括使用散列函数生成的散列值。使用散列函数是本领域众所周知的。在此例子中,安装服务器114-A使用已知的散列函数基于五个分区391-395中的每一个分区来生成散列值。由分区391-395获得的五个散列值被附加到数据文件157。得到的文件被重新格式化、压缩和分成包,并且组播到设备163。当诸如设备163-A之类的设备接收到文件时,设备给数据文件解压缩并从其中提取散列值。设备163-A使用已知的散列函数以根据每个分区391-395计算散列值或多个值,并将它们与在数据文件中接收到的对应散列值进行比较。如果计算的散列值匹配接收到的散列值,则数据文件的内容被验证。通过级联上述的五个散列值以生成组合值,安装服务器114-A可以另外包括更高级别的验证。附加散列值是基于组合值被计算的。该附加散列值被包含数据文件中并传送到设备163-A,其使用该附加散列值来验证其它散列值。在其它例子中,可以使用其它类型的校验和数值。
在本发明实施例的另一个可替代的例子中,可以经由电缆连接代替经由无线连接进行如上所述的方法。电缆连接可以包括例如同轴电缆。在另一个例子中,电缆连接可以包括光纤电缆。因此,诸如设备163-A之类的设备可以经由电缆连接与登记服务器110通信和与安装服务器114通信。在此例子中,安装服务器114可以经由电缆连接组播一个或多个软件应用程序和/或数据。在这个例子中,各个软件应用程序和/或数据文件可以同时经由电缆连接多路复用和传送。每个设备可以从多路复用流中提取期望的软件应用程序和/或数据文件。
返回到图1,系统100还可以包括报告服务器182。报告服务器182监控将操作系统安装到设备163上。例如,报告服务器182可以将涉及相对于每个设备163的下载过程的进展的信息存储在数据库中。图11示出了为此目的由报告服务器182保持的数据库1150的例子。数据库1150包括列1161-1165。列1161存储一个或多个设备163的标识符。列1162标识传输给各个设备的操作系统的版本。列1163记录当开始传送操作系统到各个设备时的日期与时间;列1164记录当传送结束时的日期与时间。如果传送操作系统到各个设备过程中出现错误则由列1165记录。在其它例子中,可以添加其他的列和字段到数据库1150中来记录涉及传送操作系统到设备163的其它信息。
在本发明可替代的实施例中,设备经由电缆连接与安装服务器相连,并经由电缆连接接收期望的软件应用程序。图12是根据该实施例可用来传输软件和/或数据到一个或多个设备的系统1200的例子的框图。在此例子中,计算机1240包括处理器1261,与登记服务器1273、安装服务器1275、报告服务器1277和恢复服务器1278连接的接口1262。系统1200可以在制造和组装诸如膝上型计算机之类的电子设备的工厂内使用。
处理器1261安排计算机1240的各个元件的操作,包括接口1262,登记服务器1273,安装服务器1275,报告服务器1277,恢复服务器1278,和网络设备(未示出)以便于为系统操作提供更好的服务质量(QoS)支持。例如,处理器1261可以包括中央处理单元(CPU)或者微处理器。处理器1261可以由硬件和/或软件控制。接口1262便于计算机1240的各个元件和设备1215之间经由电缆连接1212的通信。例如,接口1262可以包括因特网网络接口。
登记服务器1273依照类似于图1的登记服务器110的方式运行。因此,登记服务器1273管理与设备1215的初始通信,并指示每个设备与安装服务器1275进行通信。
在此例子中,安装服务器1275依照类似于图1的各个安装服务器114的方式运行。因此,安装服务器1275经由电缆连接1212循环地传送一个或多个软件应用程序和/或数据。在经由选择的信道进行传送之前,每个软件应用程序和/或数据依照类似于以上参考图3A-3E所述的方式被重新格式化、压缩并分成包。依照此方式,安装服务器1275可以经由电缆连接1212将操作系统或者其它软件程序传送到设备1215。在一个例子中,一个软件应用程序经由每个电缆连接1212循环地传送。在其它例子中,多个软件应用程序或者多个版本的软件应用程序被多路传输到包括多数据信道的单个数据流中。然后多路复用的数据流被同时并循环地在每个电缆连接1212上传送。虽然图12中只示出了一个安装服务器1275,但是应该理解的是,计算机1240可以包括多个安装服务器。
在此例子中,诸如设备1215-A之类的设备与诸如连接1212-A之类的电缆连接相连,并且接通。在接通之后,设备1215-A与登记服务器1273通信。登记服务器1273识别并授权设备1215-A,并指示该设备与安装服务器1275通信。设备1215-A标识自己到安装服务器1275并提交对期望的软件应用程序和/或数据的请求。作为响应,安装服务器1275将消息传送到设备1215-A,指定在哪个信道上传送期望的软件和/或数据。设备1215-A接收该消息、调整到指定信道,并接收包含期望的软件和/或数据的数据分组,依照类似于如上所述的方式,该设备重组、解压缩软件和/或数据并将其存储在它的存储器(未示出)中。系统1200也可以根据图7-10中的流程图操作。
如上所述,在本发明实施例的其它例子中,本文描述的系统和方法可用来组播多媒体内容到多个设备。例如,多媒体服务,包括分送视频的供应商,可以使用本文描述的方法经由因特网分送视频到服务预订者使用的设备。在一个例子中,服务供应商维护服务器计算机以便经由因特网上的各个信道循环地并反复地组播一个或多个视频。例如,服务预订者可以将用户设备放在他或者她的家里,其中用户设备可以包括电缆机顶盒。用户设备经由因特网与服务器计算机通信。希望下载特定电影视频的预订者使用保存在用户设备上的交互程序向导或者类似的应用程序以从服务供应商提供的电影列表中选择期望的电影,并指示该设备下载期望的电影。用户设备将对期望视频的请求提交给服务器计算机,其传送消息给该设备指定的信道,在该信道上传送期望的电影视频。作为响应,该设备开始经由指定信道接收电影视频。因为传送是循环的,所以设备能够随时开始接收视频数据,诸如在低利用率期间。如果在电影的“中间”时设备开始接收视频数据,则设备接收数据直到电影“结束”然后连续接收数据直到整个视频文件接收完。电影视频存储在设备的存储器中,并且预订者能够方便地观看电影视频。
以上仅仅举例说明了本发明的原理。本领域技术人员将理解的是,将能设计包含本发明原理并且在其精神和范围内的很多其它设备。

用于下载信息的系统和方法.pdf_第1页
第1页 / 共46页
用于下载信息的系统和方法.pdf_第2页
第2页 / 共46页
用于下载信息的系统和方法.pdf_第3页
第3页 / 共46页
点击查看更多>>
资源描述

《用于下载信息的系统和方法.pdf》由会员分享,可在线阅读,更多相关《用于下载信息的系统和方法.pdf(46页珍藏版)》请在专利查询网上搜索。

在一个例子中提供了一种将数据传送到一个或多个设备的方法。一个或多个数据文件经由一个或多个相应信道(例如,射频信道)循环地被传送,从设备接收到对至少一个所期望的数据文件的请求,并且将标识与至少一个所期望的数据文件相关联的相应信道的消息传送到该设备。所述至少一个所期望的数据文件可以经由至少一个被选择的信道循环地被传送。所述至少一个所期望的数据文件可以包括一个或多个软件应用程序,例如操作系统。也描述了组。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1