通讯设备和更新方法转让专利

申请号 : CN201210241843.1

文献号 : CN103077041B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 中川胜树浅井贵浩

申请人 : 株式会社理光

摘要 :

本发明提供了一种通讯设备其包括:第一接收单元,配置为从更新信息提供设备接收第一元信息,其指明该通讯设备的程序所需的目标更新,该第一元信息包括关于依赖版本的信息,该依赖版本是依赖于所述目标更新的另一个更新版本;确定单元,配置为确定所述依赖版本是否比设备版本新,该设备版本是所述通讯设备的当前更新版本;第二接收单元,配置为如果该依赖版本比所述设备版本新则从更新信息提供设备接收第二元信息,其指明用于依赖版本的更新;以及更新处理单元,配置为基于第二元信息执行对所述依赖版本的更新以及在执行了对所述依赖版本的更新之后基于第一元信息执行所述目标更新。

权利要求 :

1.一种通讯设备,包括:

第一接收单元,配置为从更新信息提供设备接收第一元信息,其指明该通讯设备的程序所需的目标更新,该第一元信息包括关于依赖版本的信息,该依赖版本是依赖于所述目标更新的另一个更新版本;

确定单元,配置为确定所述依赖版本是否比设备版本新,该设备版本是所述通讯设备的当前更新版本;

第二接收单元,配置为如果该依赖版本比所述设备版本新则从更新信息提供设备接收第二元信息,其指明用于依赖版本的更新;以及更新处理单元,配置为基于第二元信息执行对所述依赖版本的更新以及在执行了对所述依赖版本的更新之后基于第一元信息执行所述目标更新,其中当所述依赖版本不比所述设备版本新时,所述确定单元基于从所述更新信息提供设备接收的第一元信息确定所述目标更新是否是关键更新,以及当所述目标更新是关键更新时,所述更新处理单元使得所述目标更新被动执行。

2.根据权利要求1所述的通讯设备,其中,第二接收单元在所述依赖版本不比所述设备版本新的情况下不接收第二元信息。

3.根据权利要求1或2所述的通讯设备,其中确定单元还确定目标更新的最近版本是否比所述设备版本新,并且所述确定单元在所述最近版本比所述设备版本新的情况下确定所述依赖版本比所述设备版本新。

4.根据权利要求3所述的通讯设备,其中,所述更新处理单元在执行所述目标更新之后还将所述设备版本更新为所述最近版本。

5.根据权利要求1所述的通讯设备,其中

第一元信息和第二元信息每个都包括打包文件的存储位置,该打包文件包括对应的更新和指明执行该对应的更新的过程的脚本,以及更新处理单元接收来自所指定的所述存储位置的打包文件并执行在该打包文件中的脚本,以便执行对应的更新。

6.一种由通讯设备执行的更新方法,该更新方法包括:

从更新信息提供设备接收第一元信息,其指明所述通讯设备的程序所需的目标更新,第一元信息包括关于依赖版本的信息,该依赖版本是依赖于所述目标更新的另一个更新版本;

确定所述依赖版本是否比设备版本新,所述设备版本是所述通讯设备的当前更新版本;

如果该依赖版本比所述设备版本新,则从更新信息提供设备接收第二元信息,其指明用于依赖版本的更新;以及基于第二元信息执行对所述依赖版本的更新以及在执行了对所述依赖版本的更新之后基于第一元信息执行所述目标更新,其中当所述依赖版本不比所述设备版本新时,基于从所述更新信息提供设备接收的第一元信息确定所述目标更新是否是关键更新,以及当所述目标更新是关键更新时,使得所述目标更新被动执行。

说明书 :

通讯设备和更新方法

技术领域

[0001] 本发明涉及一种通讯设备和更新方法。

背景技术

[0002] 近年来,随着对用于商业旅行所花费的支出和时间的消减的需求的增加,用于通过诸如英特网的通讯网络执行电话会议的通讯终端广泛地流行起来。每个通讯终端指定一个目的地通讯中断开始通话,并因此执行图形数据和声音的传输和接收。采用这种方式,执行电话会议。
[0003] 为了改善对话加密性能和操作性能,会在该通讯设备中以规则的间隔更新固件(程序)。关于这种通讯中断中的程序的更新,已知美国专利US7,890,989。美国专利US7,890,989指出,通过经由网络访问服务器来获得更新数据和元信息,并且更新依赖于所讨论的程序的版本的一个或多个程序。
[0004] 不过,在上述传统技术中,当有必要更新依赖于所讨论的程序的版本的程序时,关于依赖于其的版本的元信息也可以通过网络访问服务器来获得,并且因此,当存在多个依赖于其的版本时,必须与多个版本的数量一样多的次数经由网络获得该元信息。因此存在网络带宽的使用增加的问题,该问题会增加网络负担,并且更新过程很麻烦,并花费更多时间来执行更新处理。
[0005] 因此,存在一种对通讯设备和更新方法的需求,该通讯设备和更新方法能够降低网络带宽的使用并降低网络负荷并能够在短时间内容易地执行更新处理。

发明内容

[0006] 本发明的目的是为了至少部分解决上传统技术中的问题。
[0007] 根据一个实施例,提供了一种通讯设备,包括:第一接收单元,配置为从更新信息提供设备接收第一元信息,其指明该通讯设备的程序所需的目标更新,该第一元信息包括关于依赖版本的信息,该依赖版本是依赖于所述目标更新的另一个更新版本;确定单元,配置为确定所述依赖版本是否比设备版本新,该设备版本是所述通讯设备的当前更新版本;第二接收单元,配置为如果该依赖版本比所述设备版本新则从更新信息提供设备接收第二元信息,其指明用于依赖版本的更新;以及更新处理单元,配置为基于第二元信息执行对所述依赖版本的更新以及在执行了对所述依赖版本的更新之后基于第一元信息执行所述目标更新。
[0008] 根据本发明的另一个实施例,提供了一种由通讯设备执行的更新方法。该更新方法包括:从更新信息提供设备接收第一元信息,其指明所述通讯设备的程序所述的目标更新,第一元信息包括关于依赖版本的信息,该依赖版本是依赖于所述目标更新的另一个更新版本;确定所述依赖版本是否比设备版本新,所述设备版本是所述通讯设备的当前更新版本;如果该依赖版本比所述设备版本新,则从更新信息提供设备接收第二元信息,其指明用于依赖版本的更新;以及基于第二元信息执行对所述依赖版本的更新以及在执行了对所述依赖版本的更新之后基于第一元信息执行所述目标更新。
[0009] 通过在结合附图考虑时阅读本发明给出的优选实施例的随后的详细描述能够更好地理解本发明的上述和其他目的、特征、优点和技术以及工业有效性。

附图说明

[0010] 图1是图释根据本发明实施例的远程通讯系统的配置的实例的示意图;
[0011] 图2是图释根据本发明实施例的远程通讯系统的硬件配置的实例的方块示意图;
[0012] 图3是图释根据本发明实施例的通讯终端的外部视图;
[0013] 图4是图释根据本发明实施例的中继设备、远程通讯管理服务器以及更新服务器的硬件配置的实例的方块图;
[0014] 图5是图释根据本发明实施例的通讯终端和更新服务器的功能配置的实例的方块图;
[0015] 图6是图释根据本发明实施例的元数据的实例的概念示意图;
[0016] 图7是图释根据本发明实施例的通讯终端的操作的实例的梯级图(ladder chart)示意图;
[0017] 图8是图释根据本发明实施例的通讯终端的操作的实例的梯级图(ladder chart)示意图;
[0018] 图9是图释根据本发明实施例的开始屏面的实例的概念示意图;
[0019] 图10是图释根据本发明实施例的开始设置屏面的实例的概念示意图;
[0020] 图11是图释根据本发明实施例的确认屏面的实例的概念示意图;
[0021] 图12是图释根据本发明实施例的确认窗口的实例的概念示意图;
[0022] 图13是图释根据本发明实施例的在强制更新期间的确认屏面的实例的概念示意图;
[0023] 图14是图释根据本发明实施例的更新过程的实例的流程图;
[0024] 图15是图释根据本发明实施例的脚本的实例的解释性示意图;
[0025] 图16是图释根据本发明实施例的更新屏面的实例的概念性示意图;
[0026] 图17是图释根据本发明实施例的在常规更新情况下的确认屏面的实例的概念性能够示意图;
[0027] 图18是图释根据本发明实施例的强制更新结果屏面的实例的概念示意图。

具体实施方式

[0028] 在描述附图中所示的实施例时,为了清楚起见采用了具体的技术。不过本发明的公开内容不是为了限定这样使用的具体技术,并且应该理解到每种具体元件的替
[0029] 下面,将参照附图详细描述本发明的实施例。
[0030] 图1是图释根据本发明实施例的远程通讯系统1的配置的实例的示意图。如图1所示,远程通讯系统1是一种系统,在该系统中,起到通讯设备、远程通讯管理服务器50、更新服务器60、以及路由器70a到70d的功能的通讯终端11aa到11ac、11ba到11bc、11ca到11cc、以及11da到11dc通过通讯网络2连接起来以便彼此进行通讯。具体而言,远程通讯系统1包括局域网(LAN)2a、2b、2c、以及2d;通过路由器70a到70d连接到英特网2i的远程通讯管理服务器50和更新服务器60;连接到LAN 2a的通讯终端11aa到11ac和中继设备30a;连接到LAN 2b的通讯终端11ba到11bc和中继设备30b;连接到LAN 2c的通讯终端11ca到11cc和中继设备30c;以及连接到LAN 2d的通讯终端11da到11dc以及中继设备30d。在该远程通讯系统1中,在远程通讯管理服务器50的管理下,通过经由中继设备30a、30b、30c、以及30d来中继通讯数据,区域A的通讯终端11aa到11ac和11ba到11bc以及区域B的通讯终端11ca到11cc和
11da到11dc能够彼此交换声音或图像。
[0031] 具体而言,远程通讯管理服务器50管理通讯终端11aa到11ac、11ba到11bc、11ca到11cc、以及11da到11dc和中继设备30a、30b、30c、和30d的通讯地址以及中继设备30a、30b、
30c、和30d所中继的通讯终端的信息以及通讯终端的通话(call)状态。例如,当通讯终端
11aa通话通讯终端11ca,远程通讯管理服务器50请求中继设备30a将通话中继(relay)到通讯终端11ca。中继设备30a通知远程通讯管理服务器50通讯终端11aa的通话开始,并且从远程通讯管理服务器50获取中继设备30c的通讯地址来将通话中继到通讯终端11ca。接着,中继设备30a请求该中继设备30c将通话中继到通讯终端11ca并且该中继设备30c开始与通讯终端11ca的通讯会话(session)。随后,该中继设备30c通知远程通讯管理服务器50与通讯终端11ca的通讯会话的开始。
[0032] 采用这种方式,通讯终端11aa和通讯终端11ca之间的通话通过中继设备30a和30c而开始。远程通讯管理服务器50管理通讯终端11aa和通讯终端11ca之间的通话。例如,当通讯终端11ab向远程通讯管理服务器50查询关于通讯终端11aa或通讯终端11ca的通话状态时,远程通讯管理服务器50就返回通讯终端11aa或通讯终端11ca在线并且彼此正在通话。
[0033] 在下面的描述中,在描述相同类型的任意一个设备时,使用通过在数字字符后面所指派字母数字混合字符后获得的参考标号。例如,通讯终端11aa到11ac、11ba到11bc、11ca到11cc、以及11da到11dc都被缩写为通讯终端11。中继设备30a到30d被缩写为中继设备30.
[0034] 更新服务器60是管理与程序的更新或具有该跟新程序的通讯终端11的各种设置信息的更新信息提供设备,并根据通讯终端11的请求提供信息。涉及更新的信息的实例包括通讯终端11的程序或各种设置信息的、从过去到最近版本的所有版本的数据文件以及其中描述每个版本的更新的内容的元数据(元信息)。将所有版本的数据管理成为涉及更新服务器60的更新的信息的原因是每个通讯终端11采用不同定时来执行更新。
[0035] 例如,对频繁执行更新的通讯终端11而言采用最近的版本执行更新就足够了。不过,具有较长更新间隔的通讯终端11可能会在对版本已经进行了几次更新之后执行更新。在这种情况下,不是直接采用最近的版本执行更新,而是首先采用最近版本所依赖的较老版本进行更新。因此,由于通讯终端11可以首先采用最近版本所依赖的较老版本进行更新,更新服务器60就管理作为涉及更新的信息的所有版本的数据。
[0036] 注意到存在两种更新:正常更新和被动更新。正常更新是为了消除障碍的更新,诸如臭虫修正或功能添加。
[0037] 被动更新与设备的改变或通讯终端11的当前功能不能作出响应的功能相关联地被强制执行的更新。例如,在中继设备30一侧,在与编码器相关的中继设备30的通话或版本升级的时候被传输和接收的声音或图像的数据格式或视频编解码器方面,可能存在能够被执行的改变。而且,与中继设备30的通讯协议也可能改变。上述列举的改变可能会导致声音、图像以及视频的结构、与通讯协议方面的改变相关联的通讯方法、或中继设备30的功能方面的变化。因此,作为通讯终端11的原始功能的通话在更新之前可能不能由通讯终端11实现。因此,在这种情形下,对通讯终端11执行被动更新以便在更新之后匹配中继设备30的版本。
[0038] 当在中继设备30侧出现安全问题,诸如在中继设备30中发现安全漏洞时,例如,可以在中继设备30侧执行响应于该安全漏洞的更新。还是在这种情况下,由于通讯终端11在更新之前甚至不能执行通话,因此在通讯终端11上执行被动更新以便匹配能够对付在该中继设备30侧的安全漏洞的计算机程序的版本。
[0039] 接着,描述通讯终端11的硬件配置。图2是图释通讯终端11的硬件配置的实例的方块示意图。如图2所示,通讯终端11包括中央处理器(CPU)101、只读存储器(ROM)102,、随机存取存储器(RAM)103、存储单元105、记录媒体驱动器107、操作单元108、网络接口(I/F)111、成像元件I/F112、声音输入/输出I/F113、显示器I/F114,这些单元通过总线10彼此连接。
[0040] CPU101通过将已经存储在ROM102或存储单元105中的计算机程序104解压缩到RAM103中并随后执行该计算机程序104来控制通讯终端11的操作。存储单元105是硬盘驱动器(HDD)固态驱动器(SSD),并且存储将可读取/可写入的数据。具体而言,存储单元105存储将由CPU101执行的计算机程序104t或其各种设置信息。在更新时,存储在存储单元105中的计算机程序104或各种设置信息被更新。在该实施例中,计算机程序104将按照下述说明被更新。
[0041] 记录媒体(media)驱动器107是一种驱动设备,其在诸如光盘的介质106上执行读取/写入操作。操作单元108为键盘、各种操作键、在显示器13上划分(stake)的触摸屏,并接收用户输入的操作。网络I/F111是连接到通讯网络2的接口,并进行数据通讯。成像元件I/F112是连接到作为数字照相机照相机12的接口,并获取通过照相机12拍摄的突袭那个。声音输入/输出I/F113是连接到麦克风14和扬声器15的接口,并执行麦克风14的声音输入或扬声器15的声音输出。显示器I/F114是连接到诸如液晶显示器(LCD)的显示器13的接口,并将显示数据输出到显示器13。
[0042] 在该实施例中,使用显示器13。但是,可以不同显示器13,可以连接诸如投影仪的另一种显示装置来配置该实施例。
[0043] 通讯终端11在执行计算机程序104的CPU101的控制下,在与另一个通讯终端通话期间,通过网络I/F111输出通过使用照相机12获取的图像或来自麦克风14的输入声音到中继设备30。通讯终端11通过扬声器15输出从另一个终端传输过来并被中继设备30中继和通过网络I/F111输入的声音,并且在显示器13上显示来自另一个通讯终端的图像。由此,通讯终端11通过图像和声音与另一个通讯终端实现通话,这就是所谓的电话会议。
[0044] 随后,将解释通讯终端11的外部配置。图3是图释根据本实施例的通讯终端11的外部视图。如图3所示,通讯终端11包括壳体1100、支臂(arm)1200、照相机外壳1300。
[0045] 在壳体1100的右壁表面1130,形成有操作面板1150。在操作面板1150上,形成有起到操作单元108作用的多个操作按钮108a到108e、电源开关109、警告灯119、以及用来输出来自所包含的扬声器的声音的声音输出表面1151。
[0046] 在壳体1100的左壁表面1140上,形成有起到容纳支臂1200和照相机外壳1300的凹入部分作用的存储部分1160。通讯终端11的壳体1100通过电缆连接到显示器13。
[0047] 支臂1200通过扭动铰链1210连接到壳体1100,使得支臂1200能够在相对于壳体1100的倾斜角度θ1的135度范围内沿着上下方向旋转。图3图释的状态中,倾斜角θ1为90度。
[0048] 照相机12包含在照相机外壳1300,并且该照相机能够拍摄用户的图像、文件以及房间。在照相机外壳1300中,形成有扭动铰链1310。该照相机外壳1300通过扭动铰链1310安装到支臂1200上。该照相机外壳1300被配置为使得扭动铰链1310可相对于图3所示的状态在±180内的摇头角度θ2的范围内和相对于支臂1200在±45度内的倾斜角θ3的范围内沿着水平和垂直方向旋转,图3所示的状态为0度。
[0049] 接着将描述中继设备30、远程通讯管理服务器50、以及更新服务器60的硬件配置。图4是图释中继设备30、远程通讯管理服务器50、以及更新服务器60的硬件配置的实例的方块图。如图4所示,中继设备30、远程通讯管理服务器50、以及更新服务器60中的每一个包括CPU201、ROM202、RAM203、存储单元204、显示器205、网络I/F206、键盘207、鼠标208、记录媒体驱动器209、以及CD-ROM驱动器211,并且所有单元通过总线214彼此连接。中继设备30、远程通讯管理服务器50、以及更新服务器60中的每一个是诸如个人计算机(PC)或工作站(WS)的装置。
[0050] CPU201将存储在ROM202或存储单元204中的计算机程序解压缩到RAM203,随后执行该计算机程序,并执行自身身背的操作的中央控制。存储单元204为HDD或SSD并存储可读取/可写入的数据。例如,在更新服务器60中,涉及更新的信息被存储在存储单元204中。
[0051] 显示器205例如为LCD。网络I/F206为连接到通讯网络2的接口并执行数据通讯。键盘207和鼠标208接收用户输入的操作。记录媒体驱动器209为驱动器设备,诸如光盘,用于在介质210上执行读取/写入操作。CD-ROM驱动器211是在CD-ROM213上执行读取操作的驱动设备。例如,在更新服务器60中,与更新有关的最新信息由介质210或CD-ROM213提供并被存储在存储单元204中。
[0052] 下面,描述通过由CPU101或CPU201执行的计算机程序实现的通讯终端11和更新服务器60的功能配置。图5是图释根据本实施例的通讯终端11和更新服务器60的功能配置的实例的方块示意图。
[0053] 首先,解释通讯终端11的功能配置。如图5所示,通讯终端11包括传输/接收单元1101、用户接口的单元1102以及作为主要元件的更新单元1103。
[0054] 传输/接收单元1101通过通讯网络2与更新服务器60交换数据。具体而言,传输/接收单元1101基于预设在存储单元105中的设置信息中的更新服务器60的通讯地址或通过对远程通讯管理服务器50的查询获得的更新服务器60的通讯地址,使用预定的通讯协议开始通讯会话,并且与更新服务器60交换数据。通过与更新服务器60交换数据,传输/接收单元1101获取与由更新服务器60管理的更新相关的信息。换句话说,传输/接收单元1101从更新服务器60接收代表通讯终端11的程序所需的更新的元数据。
[0055] 用户接口的单元1102是控制扬声器15输出的声音、a display screen of the显示器13的显示屏幕、以及通过操作单元108从用户输入的操作的接口,并控制在用户和通讯终端11之间的信息传送。具体而言,用户接口的单元1102包括通过扬声器15输出的声音和显示器13的显示屏幕通知用户各种信息的用户通知单元1104以及接收由用户通过操作单元108输入的操作的操作-输入接收单元1105。
[0056] 更新单元1103基于与由传输/接收单元1101从更新服务器60获得更新相关的信息执行存储在存储单元105中的程序104或各种设置信息的更新。更新单元1103包括确定单元1106和更新处理单元1107。
[0057] 所述确定单元1106确定目标更新的最近版本是否晚与终端版本(设备版本)。在这种情况下,终端版本是通讯终端11的更新目标的程序104的当前版本。该终端版本被设置在存储单元105的设置信息中。例如,当OS(操作系统)是微软公司的视窗(Windows)(注册商标)时,该终端版本作为设置信息被设置在注册表中。
[0058] 当最近版本晚于终端版本时,所述确定单元1106进行如下判断。当元数据表明所述目标更新包括依赖版本的规范(specification)(其是更新的依赖版本),所述确定单元1106比较该依赖版本和终端版本以便确定所述依赖版本是否晚于终端版本。
[0059] 根据本实施例的传输/接收单元1101根据该确定结果进行下述处理。当所述依赖版本晚于终端版本时,传输/接收单元1101请求更新服务器60传输代所述依赖版本的更新的元数据,并从更新服务器60接收所述依赖版本的元数据。当所述依赖版本不晚于终端版本时,传输/接收单元1101不请求更新服务器60传输所述依赖版本的元数据,并且传输/接收单元1101因此不接收所述元数据。
[0060] 更新处理单元1107基于所述依赖版本的更新程序的元数据执行所述依赖版本的更新,并且在执行述依赖版本的更新之后,更新处理单元1107基于更新目标的更新程序的元数据,执行更新目标的更新程序的更新。在执行更新目标的更新程序之后,更新处理单元1107将终端版本更新为最近版本并设置终端版本。更新处理单元1107还从在元数据中指定的存储位置接收数据文件,并执行更新。在该情况下,当数据文件被提供为以诸如ZIP格式(打包文件)的打包格式包括多个片段的数据或文件的压缩文件(cabinet file)时,更新处理单元1107通过执行包含在该打包文件中的脚本(script)来执行更新处理。在该情况下,该脚本包括具有描述更新执行过程的可执行格式的数据。
[0061] 随后,将解释更新服务器60的功能配置。如图5所示,更新服务器60包括传输/接收单元601和作为主要元件的602。
[0062] 传输/接收单元601通过通讯网络2与通讯终端11交换数据。具体而言,传输/接收单元601响应于来自通讯终端11的请求通过通讯网络2使用预定的通讯协议开始通讯会话并与通讯终端11交换数据。
[0063] 更新数据提供单元602响应于来自通过传输/接收单元601传输/接收数据的通讯终端11的请求提供与更新服务器60所管理的更新相关的信息到通讯终端11。
[0064] 现在,详细解释元数据。图6是图释元数据的实例的概念示意图。如图6所示,每个版本的元数据被配置为包括数据项,诸如“版本”、“描述”、“package_url(包_统一资源定位符)”、“package_digest(包摘_要)”、“执行、“重启”、“关键(critical)”、“依赖性”、“dependency_version(依赖_版本)”、以及“dependency_metadata_url(依赖性_元数据_统一资源定位符)”。
[0065] “版本”被设置为更新程序的版本号,诸如“1.0.1”。“依赖性”为表明是否存在依赖版本的标志(flag),该依赖边版本是具有依赖性关系的另一个版本。当存在依赖版本时,该“依赖性”被设置为“真”,而当不存在依赖版本时,该“依赖性”被设置为“假”。当存在依赖版本时,该“dependency_version”被设置为代表彼此具有依赖性关系的另一个版本的版本号,即依赖版本的版本号。因此,能够通过核查在“dependency_version”的数据项中描述的版本号来遵循(follow)所述依赖版本。该“dependency_metadata_url”被设置为所述依赖版本的元数据的存储位置的URL。
[0066] “描述”被设置关于版本的详细描述,诸如“其是样本数据(It is sample data)”。所述“package_url”被设置为程序(数据文件)的位置的URL,该程序是更新服务器60所管理的更新的实体(entity)。所述“package_digest”被设置为数据文件的校验和(checksum),其是更新的实体。因此,更新处理单元1107基于在所述“package_url”的数据项中描述的内容,使用传输/接收单元1101来获得数据文件,因此能够执行关于在数据项中描述的版本的更新。
[0067] 所述“执行”被设置为在执行更新时执行的脚本的脚本名称。在所获得的数据文件为处于打包格式的打包文件中时,该脚本包含在包文件中。所述“重启”是表明通讯终端11是否在更形被执行之后被重启的标志。当通讯终端11被重启时,该“重启”被设置为“真”,而当通讯终端11不被重启时,该“重启”被设置为“假”。所述“关键”是表明所述更新是否为被动更新的标志。当更新为被动更新时,该“关键”被设置为“真”,而当更新为正常更新时,该“关键”被设置为“假”。
[0068] 存储单元105的程序104的更新包括那些相关设备控制,诸如网络I/F111,、管理元件I/F112、声音输入/输出I/F113、以及显示I/F114。这种设备控制的更新需要在更新之后重启,因此,“重启”被设置为“真”如上所述,程序的更新包括正常更新和被动更新。当进行被动更新时,重启”被设置为“真”。
[0069] 随后,将描述按照如上配置的通讯终端11的操作的细节。图7和8是图释根据本实施例的通讯终端11的操作的实例的梯级图。
[0070] 如图7所示,用户接口的单元1102根据操作单元108的电源开关或类似装置的操作开启自身设备的电源(步骤S1),并在显示器13上显示开始屏面(步骤S2)。开始屏面是在CPU101的控制下(这将下面详细描述)显示通过查询远程通讯管理服务器50获得的所有通讯终端11的通话状态的列表。
[0071] 在步骤S1中启动电源(power-on)之后的启动处,更新处理单元1107开始核查自身设备的更新(步骤S3)。在下面的解释中,例如将程序的更新解释为一个实例。不过,应该理解到,各种设置信息的更新也可以采用相同的方式进行。
[0072] 在开始更新的核查之后,更新处理单元1107使用传输/接收单元1101来请求更新服务器60传输最近版本的程序的元数据(步骤S4),并且响应于该请求,更新处理单元1107获取更新服务器60的更新数据提供单元602提供的元数据(步骤S5).
[0073] 随后,所述确定单元1106从存储在存储单元105,中的设置信息获得终端版本并确定该最近版本是否晚于通讯终端11的终端版本(步骤S6)。
[0074] 接着,当最近版本不晚于终端版本时(步骤S6:否),即当最近版本等于终端版本或最近版本比终端版本旧,就继续执行操作而不进行更新处理(步骤S21)。
[0075] 另一个方面,当在步骤S6最近版本比终端版本新(步骤S6:是),更新处理单元1107基于在元数据中获得数据项“依赖性”中描述的内容核实是否存在任何依赖版本(步骤S7)。例如,如图6所示,当数据项“依赖性”为“真”,数据项“dependency_version”包括代表诸如“1.0.0”的另一个版本的版本号,就确定存在依赖版本。可替代地,当数据项“依赖性”为“假”,则确定不存在依赖版本。
[0076] 随后,所述确定单元1106确定是否存在依赖版本作为在步骤S7中核查的结果(步骤S8)。当存在依赖版本时(步骤S8:是),所述确定单元1106确定设置在元数据的数据项“dependency_version”中的版本号是否比终端版本多,由此确定所述依赖版本是否比终端版本新(步骤S9)。接着当所述依赖版本比终端版本新时(步骤S9:是),更新处理单元1107基于已经获得元数据的数据项“dependency_metadata_url”中设置的存储位置,使用传输/接收单元1101来请求更新服务器60传输所述依赖版本的程序的元数据(步骤S10),并且响应于该请求,更新处理单元1107获得更新数据提供单元602所提供的所述依赖版本的元数据(步骤S11),并且随后返回到步骤S7。因此,仅仅在所述依赖版本比终端版本新的时候,更新处理单元1107遵循依赖于按次序的最近版本的版本,并获得关于这些版本的元数据。
[0077] 当在步骤S8中确定不存在依赖版本时(步骤S8:否),或者当尽管在步骤S8中确定存在依赖版本(步骤S8:是)而在步骤S9中确定所述依赖版本不比终端版本新时(步骤S9:否),更新处理单元1107确定在所获得的元数据中的“关键”是否设置为“真”,因此确定当前更新是否为被动更新(步骤S12)。
[0078] 接着,当元数据中的“关键”没有被设置为“真”,并且该更新是正常更新时(步骤S12:否),更新处理单元1107比较在最近版本的元数据的版本中描述的版本号和自身设备的终端版本(存储在存储单元105中程序104的版本号),由此确定是否存在用于自身设备的更新(换句话说,该更新是否被完成)(步骤S13)。更具体而言,当最近版本的版本号与终端版本相同,该程序104就是最近版本,并因此确定该自身设备没有需要的更新(换句话说更新已经完成)。另一个方面,当最近版本的版本号与程序104的版本号不同,程序104就是就版本,并因此确定存在自身设备所需要的更新。(换句话说更新还没有完成)。当不存在自身设备所需要的更新时(步骤S13:否),就没必要执行更新,并因此继续正常操作(步骤S21)。
[0079] 当存在自身设备所需的更新时(步骤S13:是),更新处理单元1107通知用户接口的单元1102关于该更新的信息(步骤S14)。更具体而言,在最近版本和依赖于最近版本的版本的元数据中,除了诸如“package_url”and“执行”的不需要被通知给用户的数据项,数据项都被作为关于更新的信息通知到用户接口的单元1102。
[0080] 用户接口的单元1102的用户通知单元1104基于在步骤S14中更新处理单元1107所通知的关于更新的信息,显示显示器13的开始屏面以便表明存在自身设备所需的更新,从而通知用户该结果(步骤S15)。
[0081] 下面将解释开始屏面的细节。图9是图释开始屏面G1的实例的概念性示意图。如图9所示,开始屏面G1包括显示通讯终端的通话状态的列表的主屏面G11和显示自身设备的状态的状态屏面G12。当与更新相关的信息被更新处理单元1107通知时,用户通知单元1104在状态屏面G12上显示表明存在可获得更新的消息,并通知用户该消息。消息的显示并不限于附图中所示的布局(layout),并且可以在主屏面G11上显示预定缩略图来告知存在可用的更新。在附图(图9-13等)中所示的屏面的实例中,由白方框(square)或黑方框显示的部分表示可以显示消息的区域,并且例如为在系统上保留的消息显示区域。
[0082] 当在步骤S15中用户接口的单元1102的操作-输入接收单元1105根据到用户的通知接收到用来执行诸如更新的各种设置的操作指令时,用户接口的单元1102在显示器13上显示设置屏面(步骤S16)。
[0083] 图10是图释设置屏面G2的实例的概念示意图。如图10所示,设置屏面G2包括主屏面G21,其显示设置按钮G23到G26以便一旦接收到用户通过操作-输入接收单元1105的选择操作进行各种设置。在设置按钮G23到G26中的设置按钮G26是指令执行更新的按钮。如果更新处理单元1107没有通知关于更新的信息并且不存在自身设备可用的更新,该设置按钮G26将会变灰而是的选择操作无效。相反,如果更新处理单元1107通知关于更新的信息并且存在自身设备可用的更新,该变灰被取消并且用户的选择操作可通过操作-输入接收单元1105被收到。在这种情况先,在设置按钮G26中,可基于作为在与更新相关的信息被包含的数据项“版本”的描述,写入针对其执行更新的最近版本的版本号。在图中所示的实例中,描述了具有版本号2.0的最近版本的更新。在设置屏面G2上,显示了用来显示自身设备的状态的状态屏面。
[0084] 当在步骤S16中执行设置按钮G26的选择操作时,用户接口的单元1102在显示器13上显示用来确认更新的执行的确认屏面(步骤S17)。
[0085] 图11是图释了确认屏面G3的实例的概念示意图。如图11所示,该确认屏面G3包括主屏面G31和显示自身设备的状态的状态屏面G32,该主屏面G31包括显示被执行更新的内容的更新显示器G33和用来接收根据分别来自用户的内容取消更新和执行更新的指令的操作按钮G34和G35。关于当前版本号的信息,即自身设备的程序104的版本号,其中将基于作为关于更新的信息被包含的数据项“版本”的描述被执行更新的最近版本的版本号以及类似项被显示在更新显示器G33上并被通知被用户。因此用户可以基于显示在更新显示器G33上的内容确定正在执行的更新的版本的版本号。可以配置使得,通过查找元数据的数据项“重启”,关于重启是否被执行的信息可以显示在确认屏面G3的更新显示器G33上。
[0086] 图12是图释确认窗口G36的实例的概念示意图。在确认屏面G3中,当选择用来指示执行更新的操作按钮G35时,会显示催促用户确认该更新的确认窗口G36。在该确认窗口G36上,显示关于对其执行更新的最近版本的版本号的信息和在预定更新的时间需要注意的重要提示。在确认屏面G3中,当指示执行更新时,确认窗口G36被显示来提起(call)用户的注意。可以配置为,通过查询元数据的数据项“重启”,在确认窗口G36上显示关于是否执行重启的信息。
[0087] 返回参见图7,更新处理单元1107基于在确认屏面G3中的操作按钮G34和G35的选择操作确定是否执行所述更新(步骤S18)。当选择用于执行更新操作的操作按钮G35时(步骤S18:是),更新处理单元1107基于所获取的元数据执行更新处理(步骤S19。后面将解释更新处理的细节。
[0088] 当选择用来取消执行更新的操作按钮G34并且不进行操作按钮G35的选择时(步骤S18:No),更新处理单元1107进行结束处理以便终止自身设备的处理(步骤S20)并关闭对该设备的电源。
[0089] 即,在通讯终端11中,如果存在自身设备可获得的更新,用户接口的单元1102的用户通知单元1104就将该更新的可用性告知用户。通讯终端11使用操作-输入接收单元1105从用户接收关于该更新是否将被执行的选择操作。当进行用于执行更新的选择操作时,由更新处理单元1107执行更新处理。因此,当存在在自身设备中将执行的更新时,用户能够选择通讯终端11的更新的执行。
[0090] 当在步骤S12中确定元数据的“关键”被设置为“真”时,即当该更新是被动更新时(步骤S12:是),更新处理单元1107通知用户接口的单元1102关于被动更新的信息(步骤S701)。更具体而言,与正常更新一样,在最近版本和依赖最近版本的版本的元数据中,除了诸如“package_url”和“执行”之类的不需要被通知给用户的数据项,其它数据项都将作为关于更新的信息通知到用户接口的单元1102。
[0091] 用户接口的单元1102的用户通知单元1104基于关于在步骤S701中由更新处理单元1107所通知的被动更新的信息在显示器13的开始屏面G1上显示表明存在自身设备所需的被动更新的消息(参见图9),并通知用户该结果(步骤S602)。
[0092] 更具体而言,该用户通知单元1104可在开始屏面G1的状态屏面G12上显示表明该更新为被动更新的信息,并可以使得显示在主屏面G11上的列表变灰以便告知用户除了更新之外的操作是无效的。
[0093] 当在步骤S701中用户被告知时,用户接口的单元1102在显示器13上显示确认屏面G70,用于确认更新的执行(参见图13)(步骤S603)。应该注意的是,没有显示在正常更新期间所使用的更新的设置屏面G2(参见图10)。
[0094] 图13是图释在被动更新期间所显示的确认屏面G70的实例的概念示意图。如图13所示,确认屏面G70包括主屏面G72,主屏面G72包括用来显示被执行更新的内容的更新显示器G73和用来接收来自用户的更新执行命令的操作按钮G75。在更新显示器G73上,显示如下信息:关于当前版本号的信息,其是自身设备的程序104的版本号;以及根据作为与被动更新相关的信息被包含的数据项“版本”的描述对其执行被动更新的最近版本的版本号的信息,使得该信息被告知用户。因此,用户能够根据更新显示器G73的显示内容确认要更新的版本号。
[0095] 在这种情况下,仅有更新按钮G75作为按钮显示在被动更新的确认屏面G70上,而没有显示被显示在正常更新的确认屏面G3(参见图11)上的取消按钮G34。这是因为,更新总是需要在被动更新的情况下执行。不过,通过与操作单元108的菜单键对应的操作按钮可以将屏面改变为设置屏面或者通过按压电源开关109可以关闭电源。
[0096] 返回参见图8,更新处理单元1107基于在确认屏面G70中的操作按钮G75的选择操作来确定是否将执行被动更新(步骤S702)。当选择用于指令执行被动更新的操作按钮G75时(步骤S702:是),更新处理单元1107基于所获得的元数据执行更新处理(步骤S703)。
[0097] 同时,在步骤S70中,当没有按下操作按钮G75而按下了操作单元108的操作按钮时(步骤S702:否),根据所按下的操作按钮执行设置屏面或电源关闭的显示(步骤S705)。
[0098] 随后,将详细描述更新处理(步骤S19、S703)。图14是图释更新处理的序列的实例的流程图。需要注意的是,在步骤S19和S703中执行与图14所示的相同的更新处理。
[0099] 如图14所示,如果更新处理开始(步骤S100),更新处理单元1107停止诸如连接到诸如照相机12、麦克风14以及扬声器15的外部设备的成像元件I/F112、声音输入/输出I/F113等的接口单元的功能。如果接口单元被操作,由于与接口单元相关的程序104正被使用,那么就会在更新中产生差错(erorr)。为了预先防止这种差错的出现,更新处理单元1107停止与更新处理的开始相结合的接口单元的功能。
[0100] 随后,更新处理单元1107从所获得的元数据的“package_url”中获取数据文件的存储位置并从“package_digest”中获得校验和(步骤S1401),该数据文件是更新的实体。当已经获得了具有依赖关系的多个版本的元数据时,就按照版本号的升序进行从S1401到S1410的处理。
[0101] 随后,更新处理单元1107获得在步骤S1401中从更新服务器60获得的数据文件(步骤S1402)。当数据文件以诸如压缩文件(cabinet file)或ZIP文件的包括多个文件的打包格式作为打包文件被提供时,即使存在多个数据文件(程序)也可以一次完成检索,从而降低网络带宽的使用。
[0102] 随后,更新处理单元1107核实在步骤S1402中获得数据文件的校验和(步骤S1403)。接着,当所获得数据文件为包含多个文件的打包文件时,更新处理单元1107抽取所获得的打包文件以便获得用于更新的文件和脚本(步骤S1404)。在该脚本中,描述了关于更新的操作的过程,诸如移动和删除。
[0103] 图15是图释脚本的实例的解释性示意图。在图15中,基于微软(R)公司的“设备更新脚本”描述了诸如创建目录、移动文件、处理终止、以及重启的命令。如图15所示,用于更新的脚本可以分布在人类可阅读的文本格式中,或者可以在被汇编成机器语言格式、中间语言格式等时被分布,以便降低处理时间。
[0104] 随后,更新处理单元1107执行在步骤S1404中或的脚本并执行更新步骤S1405)。随后,更新处理单元1107通知用户接口的单元1102该更新的进展状态(步骤S1406)。在该进展状态的通知中,关于S1402、S1403、S1404、以及S1405的处理是否已经被终止的通知被告知。当具有依赖关系的多个版本(多个依赖版本)被更新时,能够通知那个版本的更新已经完成。用户接口的单元1102在显示器13的屏面上显示该更新的被通知的进展状态,从而告知用户
[0105] 图16是图释更新屏面G4的实例的概念示意图。如图16所示,更新屏面G4是在更新处理单元1107执行的更新处理期间由用户界面单元1102显示在显示器13上的屏面。在更新屏面G4上,显示用来显示由更新处理单元1107通知的更新的进展状态的更新状态窗口G41以及用于指令停止更新的操作按钮G42。用户可以根据更新状态窗口G41的所显示的内容来确认更新的进展状态。
[0106] 此外,可以在更新屏面G4上实时显示用于更新的剩余时间或当前线速度(current line speed)。在这种情况下,用户可以清楚了解更新的进展状态的详细情况。
[0107] 随后,更新处理单元1107确定是否出现差错(步骤S1407)。当出现差错(步骤S1407:是),步骤S1401到S1410的循环就中断,并且随后执行在步骤S1412中的处理。在步骤S1407中,除了由于在执行更新期间的某些因素导致的差错(例如,在步骤S1403处的校验和的差别)之外,还确定差错的出现。
[0108] 当在步骤S1407中没有出现差错(步骤S1407:否),更新处理单元107确定包含在元数据中的“重启”是否设置为“真”,以确定是否需要重启(步骤S1408)。
[0109] 在这种情况下,在本实施例中,元数据中的“重启”表示是否有必要在该更形执行之后随后的更新执行之前进行重启。在如图14所示的更新处理中,在从步骤S1401到S1410的处理中执行所述更新,并且在更新多个版本时,将从步骤S1401到S1410的处理重复与要更新的本版的数量相同数量的次数。因此,在本实施例中,在步骤S1401到S1410的最后的循环中,就包含在元数据中的“重启”是否设置为“真”进行判断,并且就是否有必要进行重启进行判断(步骤S1408),以便在每次更新时重启通讯终端11。
[0110] 接着,当“重启(reboot)”设置为“真(true)”时,并且有必要重启所述通讯终端11时(步骤S1408:是),该通讯终端11被重启(步骤S1409)。
[0111] 接着,更新处理单元1107确定所有的版本是否都已经更新(步骤S1410)当所有的版本还没有被更新时(步骤S1410:否),步骤S1401再次被执行,以便继续更新处理。当所有的版本都已经被更新时(步骤S1410:是),更新处理单元1107将被设置在通讯终端11的存储单元105的设置信息中的程序104的终端本版更新为最近(latest)版本,该通讯终端11采用该最新版被被更新(步骤S1411)。当操作系统(OS)是微软(R)公司的视窗(Windows注册商标)时,更新处理单元1107将设置在注册表中的该程序104的终端本版更新为最近版本。
[0112] 随后,更新处理单元1107通知用户界面单元1102在步骤S1401到S1410中进行的更新的结果(步骤S1412)。用户界面单元1102在显示器13的屏幕上显示该被通知的更新结果以便通知用户该更新结果。
[0113] 作为正常更新的结果,显示图17的确认屏面G5。另一个方面,作为被动更新的结果,显示如图18所示的被动更新结果屏面G80。
[0114] 图17是图释用于正常更新的确认屏面G5的实例的概念示意图。如图17所示,一旦接收到更新结果,用户界面单元1102就在该确认屏面G5上显示在S1401至S1410中的更新结果G51或操作按钮G52,以便分别在更新和重启之后接收用于断电的操作。在更新结果G51中,显示涉及在更新之前的版本的信息以及涉及在步骤S1401至S1410中的更新的当前本版的信息。用户可以根据该更新结果G51的所显示内容确认更新结果。
[0115] 图18是图释被动更新结果屏面G80的实例的概念示意图。与用于正常更新的确认屏面G5相同,电力切断按钮G84和重启按钮G85显示在被动更新结果屏面G80上,并且用户可以按电力切断按钮G84和重启按钮G85中任意一个。
[0116] 如果更新处理单元1107通知用户界面单元1102该更新结果,该更新处理单元1107终止该更新处理(步骤S1413)。
[0117] 如上所述,在本实施例中,当存在依赖于一更新的版本的更新时,就该依赖版本是否比作为通讯终端11的程序104的当前本版的终端版本更新进行判断。当所述依赖版本比终端版本更新的时候,就请求更新服务器60经由网络传输该依赖本版的更新的元数据,并获得元数据。此外,该依赖版本的更新的数据文件经由网络从更新服务器60获得。另一个方面,当依赖本版等于终端本版或比终端版本还旧时,则不请求依赖本版的更新的元数据,并因此不获得依赖本版的更新。
[0118] 因此,根据本实施例,无论程序104的更新是否包括一个依赖版本的更新或多个依赖版本的更新,都有利于根据终端本版降低网络带宽的使用并且降低网络负载,而且该更新处理可容易地在短时间内执行。
[0119] 在本实施例中,当存在由通讯中断11执行的更新时,用户可以选择执行该更新,并且这会为用户带来方便。
[0120] 在本实施例中,当通讯中断11必须执行被动更新时,该被动更新被执行而不容许用户选择取消该更新,并且,这会防止由于一个更新而导致不能执行通讯终端11的原始功能而不是诸如中继设备30的通讯终端11。
[0121] 此外,在本发明中,其中远程通讯管理服务器50和更新服务器60分开地提供的配置显示为实例,但是本发明实施例并不限于此。例如,可以提供服务器设备,并且该服务器设备可以配置为包括远程通讯管理服务器50的功能和更新服务器60的功能。
[0122] 本发明可以以任何方便的形式实现,例如使用专用硬件、或专用硬件和软件的混合形式。本发明可以实现为计算机软件,该计算机软件通过一个或多个网络处理装置实现。所述网络可以包括任何传统的陆地或无线通讯网络,诸如英特网。该处理装置可以对诸如通用计算机、个人数字助理、移动电话(诸如兼容WAP或3-G的电话)等任何适当编程的装置进行折中。由于本发明可以实现为软件,本发明的每一个和每个方面因此包含在可编程设备上可实现的计算机软件。该计算机软件可以提供给诸如软盘、硬盘、CD ROM、磁带设备或固态存储设备的可编程设备,该可编程设备使用任何存储介质来存储处理器可读取代码。
[0123] 硬件平台包括任何需要类型的硬件资源,该硬件资源包括例如中央处理器(CPU)、随机存取存储器(RAM)、以及硬盘驱动器(HDD)。所述CPU可以通过任何理想类型的任何理想数量的处理器来实现。所述RAM可以通过任何理想类型的非易失性存储器实现。所述HDD可以通过任何理想类型的能够存储大量数据的非易失性存储器实现,所述硬件资源还可以根据装置的类型不同而包括输入设备、输出设备、或网络设备。可替代地,所述HDD可以提供在所述装置之外,只要所述HDD可存取就可以。在该实例中,所述CPU,诸如CPU的高速缓冲器存储器,以及所述RAM可以起到该装置的物理存储器或主存储器的作用,而所述HDD可以起到装置的辅助(secondary)存储器的作用。
[0124] 尽管为了完整和清除披露目的而针对具体实施例描述了本发明,但是附后的权利要求并不是为了进行限制,而是应该被认为实现处于此处所给出的基本教导的本领域的普通技术人员能够知晓的所有修改方式和替代结构。