掌桥专利:专业的专利平台
掌桥专利
首页

通信装置和信息处理方法

文献发布时间:2023-06-19 09:33:52


通信装置和信息处理方法

技术领域

本发明涉及通信装置和信息处理方法。

背景技术

一般,通信装置被构成为包括处理器、非易失性存储器和易失性存储器等。非易失性存储器预先存储作为用于在通信装置中安装通信功能等的程序的固件。在通信装置的启动时,存储在非易失性存储器中的固件展开到易失性存储器。然后,通过执行展开到易失性存储器的固件来在通信装置中安装通信功能等。由此,提供期望的通信服务。

在对提供通信服务的通信装置进行新功能的追加或漏洞修正的情况下,需要更新所执行的固件。在更新固件的情况下,一般使展开到易失性存储器而执行的固件暂且停止。之后,改写存储在非易失性存储器中的固件,并使通信装置重新启动。由此,存储在非易失性存储器中的更新后的固件被展开到通过重新启动而重置的易失性存储器来执行(例如,非专利文献1)。

现有技术文献

非专利文献

非专利文献1:小谷亮、清原良三、摄津敦、橘高大造,“組み込みLinuxにおけるソフトウェア更新方式(1)”,信息处理学会第66次全国大会讲演论文集,平成16年,p.1-21-p.1-22。

发明内容

发明要解决的课题

在通信装置的重新启动中不能利用通信功能,因此,通信服务的提供临时中断。因此,固件的更新所涉及的、对通信服务的利用者的影响较大。然而,如果在不使执行中的固件停止而直接改写展开到易失性存储器的固件的情况下,则固件可能被中途改写。存在被中途改写的固件使得发生分段错误或存储器错误、或者使得发生对于工作中的硬件是致命的故障的情况。因此,以往,在不中断通信服务的提供的情况下更新固件是困难的。

例如,在光接入网络中使用的局端侧的通信装置即订户线路终端站装置(OLT;Optical Line Network,光线路终端)中也存在上述的课题。以往,在OLT中,在不伴随通信服务的中断的情况下更新固件是困难的。与上述同样,存储在OLT的非易失性存储器中的固件在OLT的启动时展开到易失性存储器来执行。在更新固件的情况下,由于改写非易失性存储器的固件,而从下次的启动时起将经更新的固件展开到易失性存储器上。

作为用于针对在固件的更新时需要重新启动的装置而使固件的更新所造成的影响变小的现有技术,讨论了缩短固件的更新时间的技术。例如,通过预先在非易失性存储器中存储更新后的固件,从而变为在非易失性存储器内保持更新前的固件和更新后的固件两版固件的状态。然后,在装置的启动时选择并启动两版固件中的任一者这样的技术。然而,在该现有技术中,虽然缩短了将固件写入到非易失性存储器所需的时间,但是还是需要用于将更新后的固件展开到易失性存储器的、装置的重新启动。

此外,作为防止固件的更新时的服务的中断的方法,考虑使装置冗长化的方法。例如,使用光切换器(switch)等来变更物理的通信路径,向与更新固件的对象的装置不同的装置切换处理。然后,在完成了固件的更新后再次回到原来的通信路径的方法。在该情况下,预期到,与上述的、直接改写展开到易失性存储器的固件的方法相比更安全地更新固件。然而,由于另外需要用于切换通信路径的光切换器和备用的OLT,所以在像这样使装置冗长化的方法中,成本变高,从经济性的观点出发是令人担忧的。

鉴于上述事情,本发明的目的在于,提供能够一边抑制成本一边在不中断服务的情况下更新程序的技术。

用于解决课题的方案

本发明的一个方式是一种通信装置,其中,具备:存储器,存储关于更新前的固件的第一数据、关于更新后的固件的第二数据、以及将所述第一数据或所述第二数据与所述第一数据或所述第二数据所定位的地址相对应的表;以及处理器,执行基于在所述表中定义的所述地址中定位的所述第一数据或所述第二数据的处理。

此外,本发明的一个方式是上述的通信装置,其中,还具备:写入部,其将在所述表中与所述第一数据相对应的所述地址改写为所述第二数据所定位的地址。

此外,本发明的一个方式是上述的通信装置,其中,所述写入部依照在所述更新前的固件中定义的更新定时来改写所述地址。

此外,本发明的一个方式是上述的通信装置,其中,所述写入部在所述存储器的空区域中写入所述第二数据。

此外,本发明的一个方式是一种通信装置,其中,具备:存储器,存储关于更新前的固件的第一数据、关于更新后的固件的第二数据、包括将所述第一数据与所述第一数据所定位的地址相对应的第一信息和将所述第二数据与所述第二数据所定位的地址相对应的第二信息的表、以及识别所述第一信息和所述第二信息的表值;以及处理器,执行基于在通过存储在所述存储器中的所述表值而识别的所述第一信息或所述第二信息中定义的所述地址中定位的所述第一数据或所述第二数据的处理。

此外,本发明的一个方式是上述的通信装置,其中,还具备:写入部,其将在所述表中与所述第一数据相对应的所述地址改写为所述第二数据所定位的地址,所述写入部依照在所述更新前的固件中定义的更新定时来改写所述地址。

此外,本发明的一个方式是一种由通信装置的计算机进行的信息处理方法,其中,具有:存储关于更新前的固件的第一数据、关于更新后的固件的第二数据、以及将所述第一数据或所述第二数据与所述第一数据或所述第二数据所定位的地址相对应的表的步骤;以及执行基于在所述表中定义的所述地址中定位的所述第一数据或所述第二数据的处理的步骤。

此外,本发明的一个方式是一种由通信装置的计算机进行的信息处理方法,其中,具有:存储关于更新前的固件的第一数据、关于更新后的固件的第二数据、包括将所述第一数据与所述第一数据所定位的地址相对应的第一信息和将所述第二数据与所述第二数据所定位的地址相对应的第二信息的表、以及识别所述第一信息和所述第二信息的表值的步骤;以及执行基于在通过所述表值而识别的所述第一信息或所述第二信息中定义的所述地址中定位的所述第一数据或所述第二数据的处理的步骤。

发明效果

利用本发明,能够一边抑制成本一边在不中断服务的情况下更新程序。

附图说明

图1是示出第一实施方式的光通信系统1的结构的一例的图。

图2是示出第一实施方式的光接入装置2中的间接参照的一例的图。

图3是示出第一实施方式的光接入装置2的工作的一例的流程图。

图4是示出第一实施方式的光接入装置2的工作的一例的流程图。

图5是用于说明过程的处理状况与更新定时的对应的示意图。

图6是示出第二实施方式的光通信系统5的结构的一例的图。

图7是示出第二实施方式的光接入装置6中的间接参照的一例的图。

图8是示出第二实施方式的光接入装置6的工作的一例的流程图。

具体实施方式

一边参照附图一边说明用于实施本发明的方式。以下说明的实施方式只不过是一例,应用本发明的实施方式不限于以下的实施方式。

再有,在用于说明实施方式的全部图中,关于具有相同功能的部分,使用相同符号,省略重复的说明。

<第一实施方式>

以下,对本发明的第一实施方式进行说明。

[光通信系统的结构]

图1是示出第一实施方式的光通信系统1的结构的一例的图。光通信系统1是使用光信号来通信的系统。光通信系统1具备光接入装置2和控制终端3。

再有,在此,虽然以具备使用光信号来进行与ONU(Optical Network Unit;订户线路终端装置)等其他通信装置的通信的光接入装置2的光通信系统1为一例来说明,但是并不限于此。也可以是通过与光通信不同的方式进行通信的其他的通信装置和通信系统。

光接入装置2具备非易失性存储器20、启动处理部21、易失性存储器22、处理器23、通信部24、以及写入部25。

控制终端3是个人计算机等信息处理装置。控制终端3存储更新后固件300。更新后固件300和后述的更新前固件200是例如用于使光接入装置2执行光通信的固件。

存在假设在处理器23使用更新前固件221的期间控制终端3将更新后固件300写入到易失性存储器22的情况下在光接入装置2中发生设想外的异常的情况。于是,光接入装置2在易失性存储器22的空区域中将更新后固件300写入为更新后固件222,以使得不会改写存储在易失性存储器22中的更新前固件221。由于在易失性存储器22的空区域中写入更新后固件222,从而即使在处理器23使用更新前固件221的期间,光接入装置2也能够将更新后固件222写入到易失性存储器22。

此外,光接入装置2通过将调用在更新前固件221中处理的函数(第一数据)时的调用目的地变更为更新后固件222内的函数(第二数据)来实施固件的更新。再有,变更调用目的地的对象不限于函数的数据,也可以为例如程序等其他数据。在以下的说明中,作为一例,说明了变更函数的调用目的地的情况。

以下,说明光接入装置2的细节。

启动处理部21使用大规模集成电路(LSI;Large Scale Integration)或专用集成电路(ASIC;Application Specific Integrated Circuit)等硬件来实现。启动处理部21在光接入装置2的启动时且处理器23启动之前,将存储在非易失性存储器20中的更新前固件200作为更新前固件221写入到易失性存储器22。

更新前固件200是例如用于使光接入装置2执行光通信的固件。

此外,启动处理部21在光接入装置2启动时且在处理器23启动之前,将存储在非易失性存储器20等非易失性的记录介质中的平台固件220写入到易失性存储器22。以下,继续说明应用非易失性存储器20作为非易失性的记录介质的一例的情况。

平台固件220是例如操作系统等固件。

非易失性存储器20是例如只读存储器(ROM;Read Only Memory)等只读的记录介质。非易失性存储器20也可以是可改写的闪存ROM。非易失性存储器20存储更新前固件200。非易失性存储器20不存储更新后固件222。以下,更新前固件200在即使在非易失性存储器20中存储的状态下从处理器23进行参照的情况下处理器23也能够工作的状态下存储在非易失性存储器20中。即,更新前固件200的二进制数据与更新前固件221的二进制数据相同。

易失性存储器22是例如可读写存储器(RAM;Random Access Memory)等易失性的记录介质。易失性存储器22通过由启动处理部21进行的写入操作,而在光接入装置2启动时存储平台固件220。易失性存储器22在光接入装置2启动时且处理器23启动之前,通过由启动处理部21进行的写入操作来存储更新前固件221。易失性存储器22即使在存储了平台固件220和更新前固件221的情况下也具备充分容量的空区域。充分容量是指至少能够存储更新后固件222的容量。易失性存储器22在处理器23启动后将控制终端3输出的更新后固件300作为更新后固件222存储在易失性存储器22的空区域中。

更新前固件221包括函数的参照目的地。将函数与易失性存储器22中的该函数的起始地址相对应。

更新后固件222包括函数的新的参照目的地。将函数与易失性存储器22中的该函数的起始地址相对应。

易失性存储器22还存储函数表224。函数表224是函数与易失性存储器22中的该函数的起始地址相关联的表形式的数据。再有,函数表224可以是包括于平台固件220、更新前固件221、或更新后固件222中任一个的结构。

写入部25使用例如LSI或ASIC等硬件来实现。再有,写入部25可以为通过软件来安装的结构。在该情况下,例如,将用于安装写入部25的功能的程序包括于平台固件220(OS),根据OS的系统调用来进行软件的安装。写入部25基于控制终端3输出的写入请求来判定是否能够在易失性存储器22的空区域中写入更新后固件222。在此,写入请求包括示出更新后固件222的容量的信息。

具体而言,写入部25基于写入请求中包括的更新后固件222的容量来判定易失性存储器22的空区域是否为更新后固件222的容量以上。写入部25在易失性存储器22的空区域为更新后固件222的容量以上的情况下,将更新后固件222写入到易失性存储器22。另一方面,写入部25在易失性存储器22的空区域为更新后固件222的容量不足的情况下,不将更新后固件222写入到易失性存储器22。再有,写入部25可以在易失性存储器22的空区域为更新后固件222的容量不足的情况下,通知易失性存储器22的空区域为更新后固件222的容量不足。

此外,写入部25基于控制终端3输出的写入请求来改写函数表224中包括的起始地址的值。

处理器23执行基于易失性存储器22中存储的平台固件220的工作。此外,处理器23基于函数表224来执行基于更新前固件221或更新后固件222的工作。具体而言,处理器23参照函数表224来取得更新前固件221中包括的函数的起始地址。然后,处理器23执行在所取得的起始地址中定位的函数。

通信部24根据执行基于更新前固件221或更新后固件222的工作的处理器23所进行的控制而使用光信号与ONU等其他通信装置进行通信。

[由光接入装置的间接参照]

图2是示出第一实施方式的光接入装置2中的间接参照的一例的图。

易失性存储器22预先存储函数表224。函数表224例如由处理器23使用函数指针来生成,并存储在易失性存储器22中。由此,在函数表224中储存示出更新前固件221中包括的各函数的起始地址的信息。

处理器23在函数由执行中的程序调用的情况下,参照函数表224来取得所调用的函数的起始地址。处理器23使处理向取得的起始地址转移。

在实施固件的更新的情况下,写入部25基于来自控制终端3的写入请求来改写函数表224中定义的、函数的起始地址的值。

如图2所示,在函数表224中相关联地存储“function_A”和“function_A”的起始地址即“0x00001500”。同样,在函数表224中相关联地存储“function_B”和“function_B”的起始地址“0x00001200”,并相关联地存储“function_C”和“function_C”的起始地址“0x00001300”。

如图2所示,函数表224中定义的“function_A”的起始地址即“0x00001500”是由写入部25从“0x00001100”改写的值。即,示出了更新前固件中包括的函数“function_A”的起始地址是“0x00001100”,更新后固件中包括的函数“function_A”的起始地址是“0x00001500”。

利用以上的结构,光接入装置2通过进行经由函数表224调用目的函数的间接处理来执行固件的更新。由此,光接入装置2能够在不重写工作中的程序的情况下变更处理。因此,根据光接入装置2,由于避开基本软件(OS;Operating System,操作系统)的存储器保护功能来改写易失性存储器22上的数据,所以能够确保固件更新时的稳定性。

[光接入装置的工作]

图3是示出第一实施方式的光接入装置2的工作的一例的流程图。

处理器23判定是否更新固件(步骤S001)。在针对运用中的固件进行新功能的追加、现有功能的变更、或漏洞修正的情况下(步骤S001,是),处理器23判定为更新固件。在不是这样的情况下(步骤S001,否),处理器23判定为不更新固件,结束本流程图所示的处理。

在处理器23判定为更新固件的情况下(步骤S001,是),写入部25取得从控制终端3输出的更新后固件300(步骤S002)。再有,在控制终端3等中生成更新后固件300时,还预先生成之后需要的更新后固件300的存储器映射等附加信息,其需要由光接入装置2与更新后固件300一起取得。

写入部25进行将所取得的更新后固件300作为更新后固件222写入到易失性存储器22的空区域(步骤S003)。如上所述,由于在易失性存储器22的空区域中写入更新后固件222,所以防止重写执行中的更新前固件221。

处理器23为了没有问题地完成固件的更新,而在进行从更新前固件221向更新后固件222的处理的转移前,确认是否在没有发生错误的情况下完成了易失性存储器22中的更新后固件222的展开(步骤S004)。在确认到发生了错误的情况下(步骤S004,是),处理器23再次将所取得的更新后固件300作为更新后固件222写入到易失性存储器22的空区域(步骤S003)。

在确认到没有发生错误的情况下(步骤S004,否),处理器23判定是否为可更新固件的定时(步骤S005)。为了安全地执行固件的更新,需要确认工作中的程序的处理状况来适当地判定实施固件的更新的定时。再有,之后详细说明了判定是否为可更新固件的定时时的判定基准。

更新定时的判断在预先编入固件中的更新实施点处进行。处理器23按执行程序的每个周期确认在更新实施点处更新标志的有无。

在基于更新标志而判定为不是可更新固件的定时的情况下(步骤S005,否),处理器23结束本流程图所示的处理。在基于更新标志而判定为是可更新固件的定时的情况下(步骤S005,是),写入部25改写在函数表224中定义的函数的起始地址的值(步骤S006)。然后,处理器23结束本流程图所示的处理。

图4所示的流程图是更详细地示出改写在函数表224中定义的起始地址的处理(即,图3的步骤S006的处理)中的光接入装置2的工作的流程图。

为了实施固件的更新,需要改写在易失性存储器22中存储的函数表224中定义的函数的起始地址的值,但是,存在程序在所改写的起始地址的值错误的情况下异常停止的情况。因此,写入部25在改写起始地址的值之前,确认改写处(易失性存储器22上的、更新对象的函数的起始地址的位置)存在于可改写的区域中(步骤S601)。

写入部25按顺序改写函数表224中的、更新对象的函数的起始地址的值(步骤S602)。在存在更新对象的多个函数的情况下,写入部25针对更新对象的函数,1个1个地按顺序进行起始地址的值的改写。

在存在作为更新对象的函数且未完成起始地址的值的改写的函数的情况下(步骤S603,否),写入部25接着继续改写函数表224中的、更新对象的函数的起始地址的值的处理(步骤S602)。

在针对更新对象的全部函数完成了起始地址的值的改写的情况下(步骤S603,是),写入部25确认展开到易失性存储器22上的更新对象的函数的起始地址的值、与在函数表224上改写的与上述函数相关联的起始地址的值是否一致。

在两者的起始地址的值不一致的情况下(步骤S604,否),处理器23再次重新执行改写函数表224中定义的起始地址的处理(即,图3的步骤S006的处理)。在两者的起始地址的值一致的情况下(步骤S604,是),处理器23结束本流程图所示的处理。

[更新定时的判定基准]

以下,说明是否为可更新固件的定时的判定中的判定基准。

在平台固件220内执行的周期处理内,在以下说明的定时中的任一个中编入更新实施点。然后,按每周期或定期地进行在所编入的更新点的定时是否需要固件的更新的确认。在需要固件的更新的情况下,进行固件的更新。

图5是用于说明过程的处理状况与更新定时的对应的示意图。再有,在此所说的过程相当于例如固件中包括的函数。

・针对单一过程的固件的更新的情况

例如,在仅将图5所示的“过程A”作为更新对象的情况下,考虑下述的3种更新定时。在固件中,在以下的更新定时中的任一处或多处,预先编入更新实施点。

1-(1)单一过程执行前

1-(2)单一过程执行中

1-(3)单一过程执行后

在进行细微的漏洞修正或补丁修正等的情况下,能够通过针对单一过程实施固件的更新来缩小更新范围。因此,在针对单一过程的固件更新中,具有能够削减固件更新所造成的影响范围这样的优点。

在通过间接参照的改写来在单一过程的执行前后(即,图5所示的1-(1)或1-(3)的定时)实施了固件更新的情况下,从下次过程执行时起,反映固件的更新。此外,在更新对象的过程的执行中(即,图5所示的1-(2)的定时)实施了固件更新的情况下,在完成了执行中的更新对象的过程后,从下次过程执行时起,反映固件的更新。

再有,在间接参照目的地的改写所造成的固件更新中,由于在执行过程前反映变更,所以具有不会对执行中的过程造成影响这样的优点。

・针对多个过程的固件的更新的情况

例如,在将图5所示的“过程A”和“过程B”2个过程作为更新对象的情况下,考虑下述的2种更新定时。在固件中,在以下的更新定时中的任一处或两处,预先编入更新实施点。

2-(1)多个过程执行前

2-(2)多个过程执行后

在多个过程的执行中进行了函数表224中定义的起始地址的改写的情况下,可能不能在过程之间继续正常的数据。

因此,通过在执行更新对象的多个过程的全部之前或在执行了更新对象的多个过程的全部之后总括地实施固件的更新,从而能够稳定固件更新前后的光接入装置2的工作。

・针对全部过程的固件的更新的情况

在变更更新对象的程序整体的情况下(例如,在将图5所示的“过程A”、“过程B”和“过程C”全部作为更新对象的情况下),从更新时的问题防止的观点出发,如下所述,在全部过程的执行前或全部过程的执行后实施更新是优选的。

3-(1)全部过程执行前

3-(2)全部过程执行后

程序执行中的易失性存储器22上的数据的改写为存储器错误的发生的原因,使程序崩溃的可能性非常高。另一方面,如果是更新对象的程序的全部过程的执行前或全部过程的执行后的定时,则能够使存储器错误的发生的可能性相对变低。因此,通过在上述3-(1)和3-(2)的定时实施固件的更新,从而能够安全地进行向更新后固件的转移。

如以上说明的那样,第一实施方式的光接入装置2被构成为包括易失性存储器22和处理器23。易失性存储器22存储更新前固件221中包括的函数(第一数据)、更新后固件222中包括的函数(第二数据)、以及函数表224。函数表224是将更新前固件221中包括的函数或更新后固件222中包括的函数、与更新前固件221中包括的函数或更新后固件222中包括的函数在易失性存储器22中所定位的地址相对应的表。此外,处理器23执行基于在函数表224中定义的地址中定位的、更新前固件221中包括的函数或更新后固件222中包括的函数的处理。

此外,第一实施方式的光接入装置2还具备写入部25。写入部25将在函数表224中与更新前固件221中包括的函数相对应的地址改写为更新后固件222中包括的函数在易失性存储器22中所定位的地址。

此外,写入部25依照在更新前固件200中定义的更新定时来改写地址。

此外,写入部25在易失性存储器22的空区域中写入更新后固件222。

利用以上的结构,根据第一实施方式的光接入装置2,通过在固件内编入间接处理(间接参照),从而能够在不中断通信服务的提供的情况下进行固件的更新。此外,利用以上的结构,根据第一实施方式的光接入装置2,能够比使装置冗长化的以往方法更低成本地实现不会中断通信服务的固件的更新。

<第二实施方式>

以下,对本发明的第二实施方式进行说明。

如图4所示,在上述的第一实施方式中,光接入装置2为针对更新对象的每一个函数来1个1个地按顺序改写函数表224中定义的起始地址的值的结构。通过该结构,在存在更新对象的多个函数的情况下,有时在固件的更新中很花时间。

另一方面,以下说明的第二实施方式的光接入装置6在更新固件的情况下,以函数表为单位总括地对更新对象的函数的起始地址的值进行更新。由此,通过一次处理总括地改写作为更新对象的全部函数的起始地址的值。因此,特别是在存在更新对象的多个函数的情况下,光接入装置6能够比上述的第一实施方式的光接入装置2进一步缩短固件的更新所需的时间。

[光通信系统的结构]

图6是示出第二实施方式的光通信系统5的结构的一例的图。与上述的第一实施方式的光通信系统1同样,光通信系统5是使用光信号来通信的系统。光通信系统5具备光接入装置6和控制终端3。

光接入装置6具备非易失性存储器20、启动处理部21、易失性存储器62、处理器23、通信部24、以及写入部65。

再有,针对光通信系统5具有的功能块之中的、功能与上述的第一实施方式的光通信系统1具有的功能块共同的功能块,标注相同的符号,省略说明。

易失性存储器62存储平台固件220、更新前固件221、更新后固件222、函数表624、以及函数表值625。

写入部65基于从控制终端3输出的写入请求来在易失性存储器62中存储更新后固件222、函数表624、以及函数表值625。

函数表624与第一实施方式中说明的、定义了仅1个函数组的各函数的起始地址的函数表224不同,是分别定义了能在函数表值625中设定的每个函数表值的函数组的各函数的起始地址的表。再有,之后详细说明函数表624和函数表值625的结构。

处理器23通过参照函数表624和函数表值625来取得所执行的函数在易失性存储器62上的起始地址值并执行固件。

[由光接入装置的间接参照]

图7是示出第二实施方式的光接入装置6中的间接参照的一例的图。

图7(A)示出了各函数的版本与起始地址的值的相对应。从左起,示出了由版本1(Ver.1)的函数构成的函数组、由版本2(Ver.2)的函数构成的函数组、以及由版本3(Ver.3)的函数构成的函数组。即,版本1(Ver.1)的函数是更新前固件221中包括的函数,版本2(Ver.1)和版本3(Ver.3)的函数是更新后固件222中包括的函数。再有,版本3(Ver.3)的函数可以不是包括在包括版本2(Ver.2)的函数的更新后固件222中,而是包括在进一步更新该更新后固件222的固件中。

例如,在最左的函数组中包括版本1的函数“function_A”、版本1的函数“function_B”和版本1的函数“function_C”。如图7(A)所示,易失性存储器62上的、版本1的函数“function_A”的起始地址的值是“0x00001100”,版本1的函数“function_B”的起始地址的值是“0x00001200”,并且版本1的函数“function_C”的起始地址的值是“0x00001300”。

图7(B)示出函数表624的结构的一例。如图所示,在函数表624中,分别定义了每个函数表值((1)~(3))的函数组的各函数(“function_A”、“function_B”和“function_C”)的起始地址。

如图7(B)所示,例如,如果函数表值625中设定的值为(1),则在调用函数“function_A”的情况下处理器23参照的、易失性存储器62上的地址的值是“0x00001100”。即,执行版本1的函数“function_A”的处理。同样,如果函数表值625中设定的值为(1),则在调用函数“function_B”的情况下执行版本1的函数“function_B”的处理,在调用函数“function_C”的情况下执行版本1的函数“function_C”的处理。

此外,如图7(B)所示,例如,如果函数表值625中设定的值为(2),则在调用函数“function_A”的情况下处理器23参照的、易失性存储器62上的地址的值是“0x01001100”。即,执行版本2的函数“function_A”的处理。同样,如果函数表值625中设定的值为(2),则在调用函数“function_B”的情况下执行版本1的函数“function_B”的处理,在调用函数“function_C”的情况下执行版本1的函数“function_C”的处理。

即,示出了,例如,在函数表值625的值从(1)设定变更为(2)的情况下,仅函数“function_A”从版本1变更为版本2,函数“function_B”和函数“function_C”保持为版本1,执行处理。

此外,如图7(B)所示,例如,如果函数表值625中设定的值为(3),则在调用函数“function_A”的情况下处理器23参照的、易失性存储器62上的地址的值是“0x02001100”。即,执行版本3的函数“function_A”的处理。同样,如果函数表值625中设定的值为(3),则在调用函数“function_B”的情况下执行版本3的函数“function_B”的处理,在调用函数“function_C”的情况下执行版本3的函数“function_C”的处理。

即,示出了,例如,在函数表值625的值从(1)设定变更为(3)的情况下,函数“function_A”、函数“function_B”和函数“function_C”全部从版本1变更为版本3,执行处理。

图7(A)所示的3个箭头分别图示为使得知晓在函数表值625的值中设定(1)的情况下执行的函数、在函数表值625的值中设定(2)的情况下执行的函数、以及在函数表值625的值中设定(3)的情况下执行的函数。

像这样,函数表624包括将更新前固件221中包括的函数与地址相对应的信息(第一信息)、以及将更新后固件222中包括的函数与地址相对应的信息(第二信息)。此外,函数表值625相当于识别执行更新前固件221中包括的函数还是执行更新后固件222中包括的函数的识别信息。

光接入装置6能够通过使用具有上述结构的函数表624和函数表值625来以一次处理总括地改写作为更新对象的全部的函数的起始地址的值。

[光接入装置的工作]

图8是示出第二实施方式的光接入装置6的工作的一例的流程图。

再有,关于图3中示出的示出第一实施方式的光接入装置2的工作的流程图之中的、步骤S001~S005的处理,在第二实施方式的光接入装置6中也是同样的处理,因此,省略说明。因此,以下说明的图8所示的流程图是更详细地示出改写函数表624中定义的起始地址的处理(即,相当于图3的步骤S006的处理)中的光接入装置6的工作的流程图。

写入部65确认易失性存储器82中存储的函数表值625的值(步骤S611)。写入部65判定所设定的函数表值625的值与所执行的处理中的函数表值(未图示)是否一致(步骤S612)。所执行的处理中的函数表值(未图示)存储在例如易失性存储器22等存储介质中。

在所设定的函数表值625的值与所执行的处理中的函数表值一致的情况下(步骤S612,是),处理器23结束本流程图所示的处理。在所设定的函数表值625的值与所执行的处理中的函数表值不一致的情况下(步骤S612,否),写入部65更新函数表624(步骤S613)。再有,可以为不是整个更新函数表624而是仅对差分进行补记或变更的结构。

写入部65将所执行的处理中的函数表值(未图示)改写为函数表值625中设定的值(步骤S614)。写入部65确认函数表值625中设定的值与所执行的处理中的函数表值(未图示)是否一致(步骤S615)。

在函数表值625中设定的值与所执行的处理中的函数表值(未图示)不一致的情况下(步骤S615,否),写入部65再次重新进行函数表624和函数表值625的更新的处理。在函数表值625中设定的值与所执行的处理中的函数表值(未图示)一致的情况下(步骤S615,是),处理器23结束本流程图所示的处理。

如以上说明的那样,第二实施方式的光接入装置6具备易失性存储器62和处理器23。易失性存储器62存储更新前固件221中包括的函数(第一数据)、更新后固件222中包括的函数(第二数据)、函数表624、以及函数表值625。函数表624包括将更新前固件221中包括的函数与更新前固件221中包括的函数所定位的地址相对应的第一信息、以及将更新后固件222中包括的函数与更新后固件222中包括的函数所定位的地址相对应的第二信息。函数表值625是识别更新后固件222中包括的函数和更新后固件222中包括的函数的值。处理器23执行基于在通过易失性存储器62中存储的函数表值625而识别的第一信息或所述第二信息中定义的地址中定位的、更新前固件221中包括的函数或更新后固件222中包括的函数的处理。

利用以上的结构,根据第二实施方式的光接入装置6,在更新固件的情况下,以函数表为单位总括地对更新对象的函数的起始地址的值进行更新。由此,以一次处理总括地改写作为更新对象的全部的函数的起始地址的值。因此,特别是在存在更新对象的多个函数的情况下,光接入装置6能够比上述的第一实施方式的光接入装置2进一步缩短固件的更新所需的时间。

根据具备以上说明的结构的各实施方式的光通信系统,能够通过在固件内编入间接处理(间接参照)来在不中断通信服务的提供的情况下进行固件的更新。

作为利用间接参照的固件的更新的手法,在第一实施方式中说明了直接改写函数表中保存的起始存储器地址的手法。此外,在第二实施方式中说明了特别是在更新对象的函数较多的情况下更有效的手法并且是通过保持多个函数表值函数表并变更函数表值来变更所执行的函数的版本的手法。

此外,说明了在应用上述手法时为了在各实施方式的光通信系统中适当地判断固件的更新定时而预先在固件中编入更新实施点的结构。利用该结构,根据上述各实施方式的光通信系统,能够在不中断服务的情况下进行固件的更新而不会产生程序的异常停止等。

例如,由于能够在不中断服务的情况下更新固件,从而能够容易地实施固件的漏洞修正或伴随着新服务的提供的功能追加和功能变更。

此外,以往,在更新固件的情况下,提供服务的企业和/企业家需要事前通知利用服务的利用者、或在夜间进行更新作业以便减小对利用者的影响。然而,由于能够在不中断服务的情况下更新固件,从而不需要企业和/企业家的上述作业。由此,例如,还预期到通信设备的保养和运用的成本的削减效果等。

上述各实施方式中说明的固件的更新方法能够比使装置冗长化的以往方法更低成本地实现不会中断通信服务的固件的更新。

再有,可以通过计算机实现上述的实施方式中的光接入装置2或光接入装置6的一部分或全部。在该情况下,可以将用于实现该功能的程序记录在计算机可读记录介质中,使计算机系统读入记录在该记录介质中的程序并执行,由此实现。再有,在此所说的“计算机系统”包括OS或周边设备等硬件。此外,“计算机可读记录介质”是指软盘、磁光盘、ROM、CD-ROM等可移动介质、内置在计算机系统中的硬盘等存储装置。进而,“计算机可读记录介质”还包括如经由因特网等网络或电话线路等通信线路来发送程序的情况下的通信线那样在短时间期间内动态地保持程序的介质、如成为该情况下的服务器或客户端的计算机系统内部的易失性存储器那样在一定时间内保持程序的介质。此外,上述程序既可以为用于实现前述的功能的一部分的程序,进而也可以为能够通过与已经记录在计算机系统中的程序的组合来实现前述功能的程序,还可以为使用FPGA(Field Programmable Gate Array,现场可编程门阵列)等可编程逻辑设备来实现的程序。

以上,参照附图详述了本发明的实施方式,但是,具体的结构不限于该实施方式,还包括不脱离本发明的主旨的范围的设计等。

附图标记的说明

1…光通信系统,2/6…光接入装置,3…控制终端,20…非易失性存储器,21…启动处理部,22/62…易失性存储器,23…处理器,24…通信部,25/65…写入部,200/221…更新前固件,220…平台固件,222/300…更新后固件,224/624…函数表,625…函数表值。

相关技术
  • 信息处理装置、通信处理装置、信息处理系统、信息处理方法、通信处理方法、及程序
  • 交通信息处理系统、统计处理装置、交通信息处理方法和交通信息处理程序
技术分类

06120112210710