CN108701067A - 终端装置以及软件改写程序 - Google Patents
终端装置以及软件改写程序 Download PDFInfo
- Publication number
- CN108701067A CN108701067A CN201780012746.6A CN201780012746A CN108701067A CN 108701067 A CN108701067 A CN 108701067A CN 201780012746 A CN201780012746 A CN 201780012746A CN 108701067 A CN108701067 A CN 108701067A
- Authority
- CN
- China
- Prior art keywords
- software
- terminal installation
- source code
- code
- control device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01D—HARVESTING; MOWING
- A01D41/00—Combines, i.e. harvesters or mowers combined with threshing devices
- A01D41/12—Details of combines
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/72—Code refactoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/77—Software metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mechanical Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Environmental Sciences (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Combines (AREA)
Abstract
一种使用在对控制装置的软件进行改写的软件改写系统中的终端装置,具备对文本形式的源代码进行存储的存储部,其中该文本形式的源代码用于生成能够由控制装置执行的二进制形式的对象代码,所述终端装置获取相对于在存储部存储的且与现行对象代码对应的源代码而言的差分的源代码亦即差分源代码,根据所获取的差分源代码以及在存储部存储的源代码来生成最新的源代码,并将所生成的最新的源代码变换为最新的对象代码,且将变换得到的最新的对象代码发送至控制装置。
Description
技术领域
本发明涉及一种在对控制装置(例如搭载于作业机、船舶等移动体的控制装置)的软件进行改写的软件改写系统中使用的终端装置以及软件改写程序。
背景技术
作为对控制装置的软件进行改写的软件改写系统,例如,存在如下软件改写系统:利用终端装置来获取用于对控制装置的软件进行更新的更新用软件,基于获取到的更新用软件而对控制装置的软件进行改写。
专利文献
专利文献1:日本特开2010-198155号公报
发明内容
在如上所述使用获取到的更新用软件而对控制装置的软件进行改写的软件改写系统中,当对控制装置的软件进行改写时,如果将软件的全部数据发送至终端装置,就会存在有:为了将控制装置的软件发送至终端装置需要花费发送时间的问题。该问题在通信成本高、通信速度慢这种不具备足够的通信基础设施的地域中特别明显。
关于这方面,对比文件1公开了如下结构,即,具备:第1储存部,其对第1版本的程序(软件)进行储存;第2储存部,其对第2版本的程序进行储存,该第2版本是与第1版本相同或者比第1版本还新的版本;获取部,其获取第2版本的程序与版本比第2版本的程序还新的第3版本的程序之间的差分;以及更新部,其根据第2储存部所储存的第2版本的程序与由获取部所获取的差分来生成第3版本的程序,并将所生成的第3版本的程序储存至第1储存部。
然而,专利文献1中没有记载程序(软件)的差分的详情,且没有记载根据该差分而生成的最新版本的软件的详情,仅根据相关的记载,难以根据软件的差分而生成最新版本的软件。
因此,本发明的目的在于提供一种终端装置以及软件改写程序,该终端装置是使用在对控制装置的软件进行改写的软件改写系统中,能够使用软件的差分来实现发送时间的缩短化,并且能够根据软件的差分而容易地生成最新版本的软件。
为了解决所述课题,提供如下终端装置以及软件改写程序。
(1)终端装置
本发明所涉及的终端装置是使用在对控制装置的软件进行改写的软件改写系统中,所述终端装置的特征在于,具备对文本形式的源代码进行存储的存储部,其中该文本形式的源代码用于生成能够由所述控制装置执行的二进制形式的对象代码,所述终端装置获取相对于在所述存储部存储的且与现行所述对象代码对应的源代码而言的差分的源代码亦即差分源代码,根据所获取到的所述差分源代码以及在所述存储部存储的所述源代码,来生成最新的源代码,并将所生成的所述最新的源代码变换为最新的所述对象代码,且将变换得到的所述最新的对象代码发送至所述控制装置。
(2)软件改写程序
本发明所涉及的软件改写程序是使用在对控制装置的软件进行改写的软件改写系统中的终端装置的软件改写程序,所述软件改写程序的特征在于,所述终端装置具备:存储部,其对文本形式的源代码进行存储,且该文本形式的源代码用于生成能够由所述控制装置执行的二进制形式的对象代码;以及计算机,所述软件改写程序使所述计算机执行包含下述步骤的步骤,即:获取控制步骤,在该步骤,获取相对于在所述存储部存储的且与现行所述对象代码对应的源代码而言的差分的源代码亦即差分源代码;生成控制步骤,在该步骤,根据在所述获取控制步骤中获取到的所述差分源代码以及在所述存储部存储的所述源代码来生成最新的源代码;变换控制步骤,在该步骤,将在所述生成控制步骤中生成的所述最新的源代码变换为最新的所述对象代码;以及发送控制步骤,在该步骤,将在所述变换控制步骤中变换得到的所述最新的对象代码发送至所述控制装置。
这里,所述“文本形式的源代码”是指:使用文字代码且以人类可识别的状态记述的程序语言(例如,C语言等非机器语言)。另外,所述“二进制形式的对象代码”是指:使用二进制代码且以所述控制装置能够执行的状态构成的机器语言。
在本发明所涉及的终端装置以及本发明所涉及的软件改写程序中,能够例示出如下方式:所述控制装置搭载于移动体。
在本发明所涉及的终端装置中,能够例示出如下方式:所述终端装置设置于所述移动体,所述终端装置具备:经由近距离无线通信网而与所述移动体之外的其他移动体之间进行通信的近距离无线通信部。另外,在本发明所涉及的软件改写程序中,能够例示出如下方式:所述终端装置设置于所述移动体,所述终端装置具备:经由近距离无线通信网而与所述移动体之外的其他移动体之间进行通信的近距离无线通信部的方式。
在本发明所涉及的终端装置中,能够例示出如下方式:将所述最新的对象代码发送至自身的移动体中的所述控制装置、和/或经由所述近距离无线通信部以及所述近距离无线通信网而发送至所述其他移动体。另外,本发明所涉及的软件改写程序中,能够例示出如下方式,在所述发送控制步骤中,将所述最新的对象代码发送至自身的移动体中的所述控制装置、和/或经由所述近距离无线通信部以及所述近距离无线通信网而发送至所述其他移动体的方式。
在本发明所涉及的终端装置中,能够例示出如下方式:所述其他移动体具备所述本发明所涉及的终端装置,将所述差分源代码经由所述近距离无线通信部以及所述近距离无线通信网而发送至所述其他移动体。另外,在本发明所涉及的软件改写程序中,能够例示出如下方式:所述其他移动体具备所述本发明所涉及的终端装置,在所述发送控制步骤中,将所述差分源代码经由所述近距离无线通信部以及所述近距离无线通信网而发送至所述其他移动体的方式。
在本发明所涉及的终端装置中,能够例示出如下方式:所述控制装置搭载于电机设备,该终端装置作为多功能通信移动终端装置起作用,该终端装置具备经由近距离无线通信网而与所述电机设备进行通信的近距离无线通信部。另外,在本发明所涉及的软件改写程序中,能够例示出如下方式:所述控制装置搭载于电机设备,所述终端装置作为多功能通信移动终端装置起作用,所述终端装置具备经由近距离无线通信网而与所述电机设备进行通信的近距离无线通信部。
在本发明所涉及的终端装置中,能够例示出如下方式:将所述最新的对象代码经由所述近距离无线通信部以及所述近距离无线通信网而发送至所述电机设备。另外,在本发明所涉及的软件改写程序中,能够例示出如下方式:在所述发送控制步骤中,将所述最新的对象代码经由所述近距离无线通信部以及所述近距离无线通信网而发送至所述电机设备。
在本发明所涉及的终端装置中,能够例示出如下方式:所述电机设备具备所述本发明所涉及的终端装置,将所述差分源代码经由所述近距离无线通信部以及所述近距离无线通信网而发送至所述电机设备。另外,在本发明所涉及的软件改写程序中,能够例示出如下方式:所述电机设备具备所述本发明所涉及的终端装置,在所述发送控制步骤中,将所述差分源代码经由所述近距离无线通信部以及所述近距离无线通信网而发送至所述电机设备。
发明的效果
根据本发明,能够使用软件的差分而实现发送时间的缩短,并且能够根据软件的差分而容易地生成最新版本的软件。
附图说明
图1是示意性表示:第1实施方式所涉及的软件改写系统的一个例子的概略结构图,且是表示:服务器和在多个移动体中的能够成为发布源的任意移动体设置的专用终端装置经由广域通信网而进行通信的状态的示意图。
图2是表示:在图1所示的软件改写系统中,与服务器进行了通信的专用终端装置和能够成为发布源的其他专用终端装置经由近距离无线通信网而进行通信的状态的示意图。
图3是表示:在图1所示的软件改写系统中,与服务器进行了通信专用终端装置和实质上未成为发布源的其他专用终端装置经由近距离无线通信网而进行通信的状态的示意图。
图4是表示:服务器所具备的存储部中的机型信息管理数据库的数据构造的一个例子的示意图。
图5是表示:服务器所具备的存储部中的更新用软件管理数据库的数据构造的一个例子的示意图。
图6是表示:服务器所具备的存储部中的更新用软件保存数据库的数据构造的一个例子的示意图。
图7是表示:在终端装置的存储部中已登记了控制装置的当前版本的软件的状态的数据构造的一个例子的示意图。
图8是表示:在终端装置(发布源)的存储部中已登记了控制装置的源代码的状态的数据构造的一个例子的示意图。
图9是表示:图1至图3所示的专用终端装置(发布源)的软件结构的一个例子的框图。
图10是表示:在图4所示的机型信息管理数据库中已追加了区域信息的数据构造的一个例子的示意图。
图11是表示:构成服务器所具备的存储部中的更新用软件储存数据库的区域信息管理数据库的数据构造的一个例子的示意图。
图12是示意性表示:第2实施方式所涉及的软件改写系统的一个例子的概略结构图,且是表示:通用终端装置经由广域通信网而与服务器进行通信的状态的示意图。
图13是表示:在图12所示的软件改写系统中,与服务器进行了通信的通用终端装置经由近距离无线通信网而与能够成为发布源的专用终端装置进行通信的状态的示意图。
图14是表示:在图12所示的软件改写系统中,与服务器进行了通信的通用终端装置经由近距离无线通信网而与实质上未成为发布源的专用终端装置进行通信的状态的示意图。
图15是表示:图12至图14所示的通用终端装置的软件结构的一个例子的框图。
图16是表示:服务器和专用终端装置(发布源)和/或通用终端装置经由广域通信网而进行通信的例子(下载处理的一个例子)的流程图。
图17是表示:与服务器进行了通信的专用终端装置(发布源)、和/或通用终端装置和专用终端装置(发布源)经由近距离无线通信网而进行通信的例子(发布处理的一个例子)的流程图。
图18是表示:与服务器进行了通信的专用终端装置(发布源)、和/或通用终端装置和专用终端装置(非发布源)经由近距离无线通信网而进行通信的例子(发布处理的其他例子)的流程图。
图19是表示:图1至图11所示的第1实施方式的软件改写系统中的软件改写处理的一个例子的流程图,且是表示:其前半部分的处理例的例子。
图20是表示:图1至图11所示的第1实施方式的软件改写系统中的软件改写处理的一个例子的流程图,且是表示:其后半部分的处理例的例子。
具体实施方式
下面,针对本发明所涉及的实施方式,参照附图对作为电机设备的一个例子的移动体而以联合收割机、耕耘机、插秧机等农业作业机之类的行驶作业机为例子进行说明。
[第1实施方式]
图1至图3是示意性表示第1实施方式所涉及的软件改写系统100的一个例子的概略结构图。
图1是表示:在多个移动体110(1)~110(n)(n为2以上的整数)中的能够成为发布源的任意移动体110(1)设置有专用终端装置200(1),该专用终端装置200(1)和服务器130经由广域通信网WN而进行通信的状态的示意图。图2是表示:在图1所示的软件改写系统100中,与服务器130进行了通信的专用终端装置200(1)和能够成为发布源的其他专用终端装置200(2)经由近距离无线通信网LN而进行通信的状态的示意图。图3是表示:在图1所示的软件改写系统100中,与服务器130进行了通信的专用终端装置200(1)和实质上未成为发布源的其他专用终端装置200(3)经由近距离无线通信网LN而进行通信的状态的示意图。
另外,图4是表示:构成服务器130所具备的存储部133中的更新用软件储存数据库DB的机型信息管理数据库DB1的数据构造的一个例子的示意图。图5是表示:构成服务器130所具备的存储部133中的更新用软件储存数据库DB的更新用软件管理数据库DB2的数据构造的一个例子的示意图。图6是表示:构成服务器130所具备的存储部133中的更新用软件储存数据库DB的更新用软件保存数据库DB3的数据构造的一个例子的示意图。图7是表示:在终端装置200(i)的存储部230中,已登记有控制装置113(1)~113(m)(m为1或2以上的整数)的当前版本VR的软件FW(FW1~FWm)的状态的数据构造的一个例子的示意图。另外,图8是表示:在终端装置200(1)、200(2)(发布源)的存储部230中,已登记有控制装置113(1)~113(m)的源代码SC的状态的数据构造的一个例子的示意图。
图1至图3所示的软件改写系统100是:对搭载于多个移动体110(1)~110(n)(例如,行驶作业机、船舶)(参照图1至图3)上的控制装置113(1)~113(m)的软件FW进行改写的系统。在该例子中,控制装置113(1)~113(m)为电子控制装置(ECU:Electronic ControlUnit),并被搭载于移动体110(1)~110(n)上。软件FW为固件(firmware)。
软件改写系统100具备:多个移动体110(1)~110(n)、设置于多个移动体110(1)~110(n)上的专用终端装置200(1)~200(n)、经由广域通信网WN(参照图1)而与终端装置200(1)~200(n)连接起来的服务器130(参照图1)。
在该例子中,服务器130为大型的信息设备(具体而言,在规定场所设置的固定型的计算机)。但是,并不限定于此,作为服务器130,也可以使用能够对更新用软件储存数据库DB进行储存的信息设备(例如,具备:能够确保更新用软件储存数据库DB所需的数据容量的存储部的小型信息设备,具体而言是设置于移动体110(1)、110(2)上的专用终端装置200(1)、200(2)、或后述的移动型的通用终端装置300)。
在终端装置200(1)~(n)中,包含有:相对于其他终端装置而能够成为发布源的至少1台终端装置。在终端装置200(1)~(n)中,还可以包含有:相对于其他终端装置而实质上未成为发布源的终端装置。
此外,所谓“相对于其他终端装置而实质上未成为发布源的终端装置”是指:如果对象方为相同机型的移动体则成为发布源,但在对象方为不同机型的情况下则不会成为发布源的终端装置,即,不具有本机以外(对象方)的机型信息MI、以及与机型信息MI建立了相关联的更新用软件WFW(参照图4至图6)的终端装置。
下面,将相对于其他终端装置而能够成为发布源的终端装置作为终端装置200(1)、200(2)(发布源),并将相对于其他终端装置而实质上未成为发布源的终端装置作为终端装置200(3)~200(n)(非发布源),来进行说明。
终端装置200(1)(发布源)能够成为:用于对控制装置113(1)~113(m)的软件FW进行更新的更新用软件WFW的来自服务器130的发布承接方,并且能够相对于其他终端装置200(2)~200(n)而成为发布源。同样地,终端装置200(2)(发布源)能够成为:更新用软件WFW的来自服务器130的发布承接方,并且能够相对于其他终端装置200(1)、200(3)~200(n)而成为发布源。
详细而言,终端装置200(1)、200(2)(发布源)经由广域通信网WN以及广域通信部220而从服务器130接收更新用软件储存数据库DB(参照图4至图6)中的更新用软件WFW。
这里,后面详细地说明从服务器130接收到的更新用软件WFW是什么样的软件。
终端装置200(1)(发布源)将从服务器130接收到的更新用软件WFW存储至存储部230,并将存储于存储部230的更新用软件WFW经由近距离无线通信部240以及近距离无线通信网LN而发送至:其他终端装置200(2)~200(n)中的能够在近距离无线通信范围内进行通信的其他终端装置。
同样地,终端装置200(2)(发布源)将从服务器130接收到的更新用软件WFW存储至存储部230,并将存储于存储部230的更新用软件WFW经由近距离无线通信部240以及近距离无线通信网L而发送至:其他终端装置200(1)、200(3)~200(n)中的能够在近距离无线通信范围内进行通信的其他终端装置。
更详细而言,终端装置200(1)(发布源)针对其他终端装置200(2)~200(n)中的下述这样的其他终端装置而随机地建立通信,即,该其他终端装置是指:在近距离无线通信范围内能够经由近距离无线通信部240以及近距离无线通信网LN而进行通信的其他终端装置。终端装置200(1)(发布源)与建立了通信的其他终端装置200(2)~200(n)进行认证,并将在终端装置200(1)(发布源)的存储部230存储的更新用软件WFW发送至:其他终端装置200(2)~200(n)中的与在终端装置200(1)(发布源)的存储部230存储的机型信息MI(参照图4)相对应的对象方的终端装置200(i)(i为1~n的整数,且是与对象方的终端装置的角标编号相对应的值)。
同样地,终端装置200(2)(发布源)针对其他终端装置200(1)、200(3)~200(n)中的下述这样的其他终端装置而随机地建立通信,即,该其他终端装置是指:在近距离无线通信范围内能够经由近距离无线通信部240以及近距离无线通信网LN而进行通信的其他终端装置。终端装置200(2)(发布源)将在终端装置200(2)(发布源)的存储部230存储的更新用软件WFW发送至:建立了通信的其他终端装置200(1)、200(3)~200(n)中的与在终端装置200(2)(发布源)的存储部230存储的机型信息MI(参照图4)相对应的对象方的终端装置200(i)。
这里,后面更详细地说明向对象方的终端装置200(i)发送的更新用软件WFW是什么样的软件。
如图1至图3所示,服务器130(参照图1)在该例子中,配置于:处于离开移动体110(1)~110(n)较远的位置的远程监视中心120(参照图1),对与搭载于移动体110(1)~110(n)的控制装置113(1)~113(m)的软件FW相关的信息进行累积。
详细而言,终端装置200(1)~200(n)以及服务器130通过分别具有广域通信部220、132(具体而言为广域通信接口),经由广域通信网WN(参照图1)并利用彼此的广域通信部220、132进行连接,从而能够在终端装置200(1)~200(n)与服务器130之间进行信息的收发。由此,服务器130能够在远程监视中心120而由利用者对移动体110(1)~110(n)进行远程监视。终端装置200(1)~200(n)在本例子中作为远程监视终端装置。此外,根据情况的不同,也可以不在终端装置200(3)~200(n)设置广域通信部220。
另外,服务器130能够将与移动体110(1)~110(n)中的控制装置113(1)~113(m)的软件FW相关的信息发送至移动体110(1)、110(2)中的终端装置200(1)、200(2)(发布源)。另一方面,移动体110(1)、110(2)中的终端装置200(1)、200(2)(发布源)能够从服务器130接收与移动体110(1)~110(n)中的控制装置113(1)~113(m)的软件FW相关的信息。
这里,广域通信网WN可以是有线通信网,可以是无线通信网(基于所谓移动通信标准的无线通信网),也可以是将有线通信网以及无线通信网组合得到的通信网。作为广域通信网WN,有代表性的是由电信运营商提供的公共线路网,能够例举出:使固定电话机、移动电话机等的终端机彼此进行通信的公共线路网。
移动体110(1)~110(n)具备1个或多个(这里为多个)作业部〔111(1)~111(m)〕~〔111(1)~111(m)〕(参照图1至图3)、以及终端装置200(1)~200(n)。这里,作为作业部111(1)~111(m),例如,在农业作业机为联合收割机的情况下,能够例举出行驶作业部、收割作业部、脱粒作业部等。
在各作业部111(1)~111(m)设置有控制装置113(1)~113(m)。控制装置113(1)~113(m)针对各种致动器(未图示)发出指令,适当地控制各作业部111(1)~111(m)的运转状态。控制装置113(1)~113(m)基于CAN(Controller Area Network)标准等通信标准而相互进行数据传送。
详细而言,各控制装置113(1)~113(m)基于各作业部111(1)~111(m)中的各种传感器所检测出的检测值信息(信号)以及各种开关的通断信息进行动作而控制各作业部111(1)~111(m)的运转状态。另外,各控制装置113(1)~113(m)适当地判断是否发生了移动体110的故障等异常即是否发生异常,在发生了异常的情况下,生成与该异常相应的错误信息(具体而言,错误代码)。
作业部111(1)~111(m)中的使发动机(未图示)动作的作业部111具备:发动机;控制装置113,其对发动机的转速、负荷状态等进行监视,将最佳的喷射压力、喷射时机指示给燃料系统,从而对发动机整体进行控制;发电机(未图示);以及起动开关SW,另外,作业部111搭载有蓄电池BT。而且,对发动机整体进行控制的控制装置113除了对使发动机动作的作业部111的动作进行控制之外,还执行:运转开始/停止的操作、基于发动机驱动的运转状态的控制。
此外,在使发动机动作的作业部111的发动机的运转状态下,能够利用从发电机供给来的电力而适当进行蓄电池BT的充电。
起动开关SW为:选择性对电源接通状态和电源断开状态进行切换的切换开关。这里,电源接通状态为:从蓄电池BT向控制部210以及控制装置113(1)~113(m)供给电力的状态。电源断开状态为:将从蓄电池BT向控制部210以及控制装置113(1)~113(m)的电力供给切断的状态。
详细而言,蓄电池BT经由起动开关SW而连接于:与控制部210连接的电源连接线L1、以及与控制装置113(1)~113(m)连接的电源连接线L2双方。
在该例子中,起动开关SW是被称作所谓按键开关的开关,“ON”端子是电源连接线L1、L2的连接端子。“OFF”端子是起动开关SW处于断开状态时的端子。
此外,无论起动开关SW的接通状态以及断开状态如何,蓄电池BT和电源控制部260都经由电源连接线L3而连接。
〔服务器〕
如图1所示,服务器130具备控制部131、广域通信部132及存储部133。
(控制部)
控制部131具有由CPU(Central Processing Unit)等所谓的计算机构成的处理装置131a、以及包含ROM(Read Only Memory)、RAM(Random Access Memory)等易失性存储器的存储器装置131b。
通过由处理装置131a将预先储存在存储器装置131b的ROM中的控制程序加载至存储器装置131b的RAM上并执行,从而控制部131进行各种结构要素的动作控制。
在本实施方式中,控制部131进行通信时的数据的收发、各种的输入输出控制以及运算处理的控制。
(广域通信部)
广域通信部132与控制部131的数据线电连接。广域通信部132在控制部131的指示下,能够与移动体110(1)~110(n)中的终端装置200(1)~200(n)的广域通信部220(参照图1至图3)之间在同一通信协议(通信规约)下进行通信。通信时所收发的数据按照通信协议而由广域通信部132进行变换。广域通信部132将与已记录在存储部133内的且是与移动体110(1)~110(n)中的控制装置113(1)~113(m)的软件FW相关的信息发送至:移动体110(1)~110(n)〔该例子中,移动体110(1)、110(2)〕中的终端装置200(1)~200(n)〔该例子中,终端装置200(1)、200(2)〕。
(存储部)
存储部133与控制部131的数据线电连接。存储部133在控制部131的指示下,对信息进行写入控制以及读出控制。存储部133在该例子中为:闪存、硬盘装置等大容量存储装置。
在存储部133储存有:更新用软件储存数据库DB。
不过,如果对象方的移动体110(i)的种类(例如,行驶作业机、船舶)不同,当然在对象方的移动体110(i)上搭载的控制装置113(1)~113(m)的软件FW有时也会不同。另外,即使对象方的移动体110(i)是相同种类,在互不相同的机型的移动体110(i)上搭载的控制装置113(1)~113(m)的软件FW有时也会不同。因此,对于在对象方的移动体110(i)上搭载的控制装置113(1)~113(m)的软件FW而言,存储于存储部230的更新用软件WFW与之不同的情况下,无法在对象方的移动体110(i)中对控制装置113(1)~113(m)的软件FW进行改写。
根据上述观点,更新用软件储存数据库DB对与移动体110(1)~110(n)的机型信息MI(参照图4至图6)建立了相关联的更新用软件WFW进行储存。另外,更新用软件储存数据库DB对更新用软件WFW的更新信息RI(参照图5)进行储存。
在本实施方式中,更新用软件储存数据库DB具备:机型信息管理数据库DB1(参照图4)、更新用软件管理数据库DB2(参照图5)以及更新用软件保存数据库DB3(参照图6)。此外,区域信息管理数据库DB4将在后面说明。
如图4所示,机型信息管理数据库DB1对移动体110(1)~110(n)的机型信息MI进行存储。
详细而言,在机型信息管理数据库DB1登记有:移动体110(1)~110(n)的种类MT、移动体110(1)~110(n)的机型代码MC。具体而言,在机型信息管理数据库DB1登记有:由移动体110(1)~110(n)的制造商制造的全部种类MT(例如,行驶作业机、船舶)的移动体110(1)~110(n)的所有机型的机型代码MC。
而且,在开发了新机型的情况下,可以随时在机型信息管理数据库DB1中登记移动体110的种类MT、机型代码MC。
如图5所示,更新用软件管理数据库DB2对移动体110(1)~110(n)中的控制装置113(1)~113(m)(该例子中,ECU)的更新用软件代码WFWC(该例子中,更新用固件代码)进行存储。
详细而言,在更新用软件管理数据库DB2登记有:移动体110(1)~110(n)的种类MT、移动体110(1)~110(n)的机型代码MC、控制装置113(1)~113(m)的控制装置代码CC(该例子中,ECU记号和/或编号)、与更新信息RI(版本VR和/或年月日时刻YMDT)建立了相关联的更新用软件代码WFWC。具体而言,在更新用软件管理数据库DB2登记有:移动体110(1)~110(n)的制造商制造的全部种类MT(例如,行驶作业机、船舶)的移动体110(1)~110(n)的所有机型的机型代码MC、以及移动体110(1)~110(n)中的控制装置113(1)~113(m)的控制装置代码CC及与更新信息RI建立了相关联的更新用软件代码WFWC。
而且,在开发了新机型的情况下,可以随时在更新用软件管理数据库DB2中登记:移动体110的种类MT、机型代码MC、控制装置代码CC以及与更新信息RI建立了相关联的更新用软件代码WFWC,并且在开发了新版本的软件FW的情况下,可以随时在更新用软件管理数据库DB2中对更新信息RI以及与更新信息RI建立了相关联的更新用软件代码WFWC进行更新。
如图6所示,更新用软件保存数据库DB3对作为更新用软件WFW的最新版本相对于旧版本而言的差分的源代码的差分源代码DSC进行存储。
这里,最新版本相对于旧版本而言的差分是指:软件FW的最新版本的源代码SC与旧版本(在存在多个旧版本的情况下,从最旧的版本至最新版本的前一个版本的各旧版本)之间的差分,例如,如果市场上存在版本1.0以及版本1.1,最新版本为版本1.2,则最新版本相对于旧版本而言的差分为:最新版本1.2与旧版本1.0之间的差分、最新版本1.2与旧版本1.1之间的差分这2个差分。此外,对于旧版本为3个以上的情况,也相同。
详细而言,在更新用软件保存数据库DB3登记有:更新用软件代码WFWC、和与更新用软件代码WFWC建立了相关联的差分源代码DSC。具体而言,在更新用软件保存数据库DB3登记有:移动体110(1)~110(n)的制造商制造的全部种类MT(例如,行驶作业机、船舶)的移动体110(1)~110(n)的所有机型的差分源代码DSC。
而且,在开发了新机型的情况、以及开发了新版本的软件FW的情况下,可以随时在更新用软件保存数据库DB3登记:更新用软件代码WFWC、以及与更新用软件代码WFWC建立了相关联的差分源代码DSC。
另外,在移动体110(1)~110(n)中的终端装置200(1)~200(n)的存储部230登记有:机型信息MI以及控制装置113(1)~113(m)的软件FW的版本VR等等更新信息RI。
详细而言,如图7所示,在终端装置200(1)~200(n)中的存储部230中,与终端识别信息ID以及区域信息AR建立相关联地登记有:机型信息MI(该例子中,机型代码MC的一个例子)、控制装置代码CC以及控制装置113(1)~113(m)的软件FW的更新信息RI(该例子中,当前版本VR)。此外,作为机型信息MI,在该例子中,在存储部230登记有机型代码MC,但也可以在机型代码MC的基础上还登记:移动体110(1)~110(n)的种类MT。另外,作为更新信息RI,在该例子中登记有当前版本VR,但也可以取代当前版本VR或在当前版本VR的基础上而登记有:对当前版本VR进行了更新的年月日时刻YMDT。
另外,在移动体110(1)~110(n)中的终端装置200(1)~200(n)的存储部230存储有文本形式的源代码SC,该源代码SC用于生成:控制装置113(1)~113(m)能够执行的二进制形式的对象代码OC(软件FW)。这里,文本形式的源代码SC是:使用文字代码、且以人类可识别的状态记述的程序语言(例如,C语言等非机器语言)。另外,二进制形式的对象代码OC是:使用二进制代码、且以控制装置113(1)~113(m)能够执行的状态构成的机器语言。对象代码OC是从源代码SC变换(所谓编译或者编辑)得到的。
详细而言,如图8所示,在终端装置200(1)、200(2)(发布源)中的存储部230,与终端识别信息ID以及区域信息AR建立相关联地登记有:机型信息MI(该例子中,机型代码MC的一个例子)、控制装置代码CC、控制装置113(1)~113(m)的软件FW的更新信息RI(该例子中,当前版本VR)以及源代码SC。此外,该例子中,在存储部230中登记有机型代码MC,作为机型信息MI,但也可以在机型代码MC的基础上还登记有移动体110(1)~110(n)的种类MT。另外,在该例子中登记有当前版本VR,作为更新信息RI,但也可以取代当前版本VR或者在当前版本VR的基础上还登记有:对当前版本VR进行了更新的年月日时刻YMDT。另外,对图8所示的源代码SC而言,在终端装置200(3)~200(n)(非发布源)的情况下,可以仅具有:自身的移动体110(3)~110(n)中的控制装置113(1)~113(m)的源代码SC~SC。
〔专用终端装置(发布源)〕
下面,参照图1至图3而对专用终端装置200(1)、200(2)(发布源)的系统结构说明如下。
-专用终端装置(发布源)的硬件结构-
如图1至图3所示,终端装置200(1)、200(2)(发布源)具备:控制部210(计算机的一个例子)、广域通信部220、存储部230、近距离无线通信部240、信号通信部250、及电源控制部260。
(控制部)
控制部210具有:由CPU(Central Processing Unit)等所谓的计算机构成的处理装置210a、以及包含ROM(Read Only Memory)、RAM(Random Access Memory)等易失性存储器的存储器装置210b。
控制部210构成为:通过执行在存储部230预先储存(安装)的软件改写程序PP(后述的图9)等程序,从而实现控制部210所需的各种功能。详细而言,通过由处理装置210a将在存储部230预先储存的软件改写程序PP等程序加载至存储器装置210b的RAM上并执行,从而控制部210进行各种处理。存储器装置210b的RAM针对控制部210而提供作业用的工作区域。
在本实施方式中,控制部210进行通信时的数据的收发、各种的输入输出控制以及运算处理的控制。
(广域通信部)
广域通信部220与控制部210的数据线电连接。广域通信部220在控制部210的指示下,能够与服务器130的广域通信部132(参照图1)之间在同一通信协议(通信规约)下进行通信。通信时所收发的数据按照通信协议而由广域通信部220进行变换。广域通信部220从服务器130接收:与在服务器130的存储部133记录的与移动体110(1)~110(n)中的控制装置113(1)~113(m)的软件FW相关的信息。
(存储部)
存储部230与控制部210的数据线电连接。存储部230在控制部210的指示下,对信息进行写入控制以及读出控制。存储部230在该例子中为:闪存等大容量存储装置。
在存储部230储存有:机型信息管理数据库DB1、更新用软件管理数据库DB2、以及更新用软件保存数据库DB3。
机型信息管理数据库DB1、更新用软件管理数据库DB2以及更新用软件保存数据库DB3的数据构造是:与图4至图6所示的服务器130中的存储部133储存的机型信息管理数据库DB1、更新用软件管理数据库DB2以及更新用软件保存数据库DB3相同的,这里省略说明。
(近距离无线通信部)
终端装置200(1)(发布源)中的近距离无线通信部240与终端装置200(2)(发布源)以及终端装置200(3)~200(n)(非发布源)中的近距离无线通信部240之间进行近距离无线通信。另外,终端装置200(2)(发布源)中的近距离无线通信部240与终端装置200(1)(发布源)以及终端装置200(3)~200(n)(非发布源)中的近距离无线通信部240之间进行近距离无线通信。
这里,作为近距离无线通信,能够例示出:以几米至100米左右的近距离进行通信的无线通信,例如,能够例举出:以几十米~100米左右的近距离进行通信的无线LAN(LocalArea Network)通信、或以几米~几十米左右的近距离进行通信的无线PAN(Personal AreaNetwork)通信。
作为无线LAN通信,能够例举出:例如以WiFi(注册商标)标准为代表的IEEE802.11标准的无线LAN通信。作为无线PAN通信,能够例举出:例如以Bluetooth(注册商标)标准为代表的IEEE802.15标准的无线PAN通信。该例子中,近距离无线通信部240进行IEEE802.11标准的无线LAN通信。
(信号通信部)
信号通信部250与作业部111(1)~111(m)中的控制装置113(1)~113(m)之间进行基于CAN标准等通信标准的通信,而进行信息的交换。
(电源控制部)
电源控制部260向控制部210供给电力。在本实施方式中,电源控制部260无论起动开关SW的断开状态以及接通状态如何,都与蓄电池BT连接。具体而言,电源控制部260的输入侧电源线(未图示)和蓄电池BT通过电源连接线L3进行连接。由此,电源控制部260始终被供给来自蓄电池BT的电力。
另外,控制部210被从电源控制部260供给:来自蓄电池BT的电力。
-专用终端装置(发布源)的软件结构-
图9是表示图1至图3所示的专用终端装置200(1)、200(2)(发布源)的软件结构的一个例子的框图。
如图9所示,控制部210具备:接收控制部Q1、存储控制部Q2、改写控制部Q3及发送控制部Q4。即,软件改写程序PP使控制部210执行下述步骤,该步骤包含:与接收控制部Q1对应的接收控制步骤、与存储控制部Q2对应的存储控制步骤、与改写控制部Q3对应的改写控制步骤、以及与发送控制部Q4对应的发送控制步骤。
(接收控制步骤)
在接收控制步骤中,控制部210经由广域通信网WN以及广域通信部220而从服务器130接收:更新用软件保存数据库DB3中的差分源代码DSC,其中该服务器130具备:储存有差分源代码DSC的更新用软件保存数据库DB3。
详细而言,接收控制部Q1具备获取控制部Q11。即,接收控制步骤包含与获取控制部Q11对应的获取控制步骤。
在获取控制步骤中,控制部210获取:在存储部230存储的、相对于与现行对象代码OC对应的源代码SC而言的差分源代码DSC。即,控制部210获取:最新版本的对象代码NOC所对应的最新版本的源代码NSC和在存储部230存储的现行版本的源代码SC之间的差分源代码DSC。
控制部210经由广域通信网WN以及广域通信部220而从服务器130接收:更新用软件储存数据库DB中的机型信息MI、以及与机型信息MI建立了相关联的差分源代码DSC。在本实施方式中,控制部210在存储部230中,经由广域通信网WN以及广域通信部220而从服务器130接收:机型信息MI以及与机型信息MI建立了相关联的差分源代码DSC,其中该服务器130具备:对移动体110(1)~110(n)的机型信息MI进行储存的机型信息管理数据库DB1、将与移动体110(1)~110(n)的机型信息MI建立了相关联的更新用软件代码WFWC同控制装置代码CC一起进行储存的更新用软件管理数据库DB2、以及对与更新用软件代码WFWC建立了相关联的差分源代码DSC进行储存的更新用软件保存数据库DB3。
更详细而言,控制部210经由广域通信网WN以及广域通信部220而从服务器130接收:更新用软件储存数据库DB中的差分源代码DSC以及差分源代码DSC的更新信息RI。在本实施方式中,控制部210经由广域通信网WN以及广域通信部220而从服务器130接收:更新用软件代码WFWC以及更新用软件代码WFWC的更新信息RI。
(存储控制步骤)
在存储控制步骤中,控制部210将从服务器130接收到的差分源代码DSC存储至存储部230。
详细而言,控制部210将从服务器130接收到的机型信息MI以及与机型信息MI建立了相关联的差分源代码DSC存储至存储部230。在本实施方式中,控制部210在存储部230中,将从服务器130接收到的机型信息MI存储至机型信息管理数据库DB1,并将从服务器130接收到的更新用软件代码WFWC与机型信息MI建立相关联地同控制装置代码CC一起存储至更新用软件管理数据库DB2,还将从服务器130接收到的差分源代码DSC与更新用软件代码WFWC建立相关联地存储至更新用软件保存数据库DB3。
更详细而言,控制部210将从服务器130接收到的差分源代码DSC以及更新用软件WFW的更新信息RI存储至存储部230。在本实施方式中,控制部210将从服务器130接收到的更新用软件代码WFWC以及更新用软件代码WFWC的更新信息RI存储至更新用软件管理数据库DB2。控制部210将从服务器130接收到的更新用软件代码WFWC以及更新用软件代码WFWC的差分源代码DSC存储至更新用软件保存数据库DB3。
(改写控制步骤)
终端装置200(1)、200(2)(发布源)设置于移动体110(1)、110(2)。
改写控制部Q3具备:生成控制部Q31、变换控制部Q32(所谓编译或者编辑)。即,改写控制步骤包含:与生成控制部31对应的生成控制步骤、以及与变换控制部Q32对应的变换控制步骤。
在生成控制步骤中,控制部210根据在获取控制步骤中获取的差分源代码DSC、以及在存储部230存储的现行源代码SC~SC中的与所获取的差分源代码DSC对应的现行源代码SC,来生成最新的源代码NSC。
在变换控制步骤中,控制部210将在生成控制步骤中生成的最新的源代码NSC变换为最新的对象代码NOC。
详细而言,在改写控制步骤中,控制部210确定:在存储部230存储的差分源代码DSC中的、与对象方的移动体110(i)的机型信息MI对应的差分源代码DSC。控制部210根据所确定出的差分源代码DSC以及对象方的移动体110(i)中的存储部230存储的现行源代码SC,来生成在对象方的移动体110(i)上搭载的控制装置113(1)~113(m)的最新的源代码NSC(生成控制步骤),并将所生成的最新的源代码NSC变换为最新的对象代码NOC(所谓编译或者编辑)(变换控制步骤)。在后面所述的发送控制步骤中,控制部210将变换得到的最新的对象代码NOC发送至在对象方的移动体110(i)上搭载的控制装置113(1)~113(m)。而且,在对象方的移动体110(i)中,终端装置(i)或者控制装置113(1)~113(m)将最新的对象代码NOC改写为最新的软件FW。
另外,在改写控制步骤中,控制部210确定:在存储部230存储的差分源代码DSC中的、与自身的移动体110(1)、110(2)的机型信息MI对应的差分源代码DSC。控制部210根据所确定出的差分源代码DSC以及在自身的移动体110(1)、110(2)中的存储部230存储的现行源代码SC,来生成在自身的移动体110(1)、110(2)上搭载的控制装置113(1)~113(m)的最新的源代码NSC(生成控制步骤),并将生成的最新的源代码NSC变换为最新的对象代码NOC(所谓编译或者编辑)(变换控制步骤)。在发送控制步骤中,控制部210将变换得到的最新的对象代码NOC发送至:在自身的移动体110(1)、110(2)上搭载的控制装置113(1)~113(m)。而且,在自身的移动体110(1)、110(2)中,终端装置(i)或者控制装置113(1)~113(m)将最新的对象代码NOC改写为最新的软件FW。
此外,专用终端装置200(2)(发布源)可以从终端装置200(1)(发布源)接收最新的对象代码NOC,由于具有生成控制部Q31以及变换控制部Q32,因此也可以对控制装置113(1)~113(m)的源代码SC~SC、差分源代码DSC进行接收。另外,同样地,专用终端装置200(1)(发布源)可以从终端装置200(2)(发布源)接收最新的对象代码NOC,由于具有生成控制部Q31以及变换控制部Q32,因此也可以对控制装置113(1)~113(m)的源代码SC~SC、差分源代码DSC进行接收。
(发送控制步骤)
在发送控制步骤中,控制部210将使用差分源代码DSC进行变换得到的最新的对象代码NOC经由近距离无线通信部240以及近距离无线通信网LN而发送至:其他移动体110(i)、和/或发送至自身的移动体110(1)、110(2)中的控制装置113(1)~113(m)。
另外,在发送控制步骤中,控制部210将在存储部230存储的差分源代码DSC经由近距离无线通信部240以及近距离无线通信网LN而发送至移动体110(2)、110(1)(发布源)。
详细而言,控制部210确定:在存储部230存储的机型信息MI中的对象方的移动体110(i)的机型信息MI,并将在存储部230存储的差分源代码DSC~DSC中的与对象方的移动体110(i)的机型信息MI对应的差分源代码DSC、或者使用差分源代码DSC进行变换而得到的最新的对象代码NOC经由近距离无线通信部240以及近距离无线通信网LN而发送至:对象方的移动体110(i)。在本实施方式中,控制部210确定:在机型信息管理数据库DB1存储的机型信息MI中的对象方的移动体110(i)的机型信息MI。此时,控制部210与对象方的移动体110(i)处于通信状态,从而控制部210能够获取对象方的移动体110(i)的机型信息MI。另外,控制部210确定:在更新用软件管理数据库DB2存储的更新用软件代码WFWC中的与所确定出的对象方的移动体110(i)的机型信息MI对应的更新用软件代码WFWC。而且,控制部210将在更新用软件保存数据库DB3存储的差分源代码DSC中的与所确定出的更新用软件代码WFWC对应的差分源代码DSC经由近距离无线通信部240以及近距离无线通信网LN而发送至:对象方的移动体110(i)。
这里,控制部210可以在将差分源代码DSC发送至对象方的移动体110(i)之前,先将在存储部230存储的差分源代码DSC的更新信息RI经由近距离无线通信部240以及近距离无线通信网LN而发送至对象方的移动体110(i)。
这样,在对象方的移动体110(i)中,能够对控制装置113(1)~113(m)的改写前的软件FW的版本VR等的更新信息RI和更新用软件WFW的版本VR等的更新信息RI进行对照。而且,能够对控制装置113(1)~113(m)的改写前的软件FW是否最新进行判断,在判断为并非最新的情况下,向终端装置200(1)(发布源)或者终端装置200(2)(发布源)请求差分源代码DSC,另一方面,在判断为最新的情况下,不向终端装置200(1)(发布源)或者终端装置200(2)(发布源)请求差分源代码DSC。由此,能够在将差分源代码DSC发送至对象方的移动体110(i)之前,在对象方的移动体110(i)中,事先对控制装置113(1)~113(m)的软件FW是否最新进行识别,因此,能够省去:差分源代码DSC向对象方的移动体110(i)的不必要的发送动作。
另外,控制部210可以在将差分源代码DSC发送至对象方的移动体110(i)之前,先从对象方的移动体110(i)接收:对象方的移动体110(i)中的控制装置113(1)~113(m)的改写前的软件FW的更新信息RI。而且,控制部210可以对所接收到的软件FW的版本VR等的更新信息RI和在存储部230存储的差分源代码DSC的版本VR等的更新信息RI进行对照,对控制装置113(1)~113(m)的改写前的软件FW是否最新进行判断,在判断为并非最新的情况下,向对象方的移动体110(i)发送差分源代码DSC,另一方面,在判断为最新的情况下,不向对象方的移动体110(i)发送差分源代码DSC。
这样,能够在将更新用软件WFW发送至对象方的移动体110(i)之前,在终端装置200(1)(发布源)或者终端装置200(2)(发布源)中,事先对控制装置113(1)~113(m)的软件FW是否最新进行识别,因此,能够省去:差分源代码DSC向对象方的移动体110(i)的不必要的发送动作。
不过,如果将所有种类的移动体110(1)~110(n)、以及相对于所有机型的移动体110(1)~110(n)而与机型信息MI建立了相关联的差分源代码DSC存储至存储部230,则这部分数据量、进而存储部230的存储容量以及通信时间就会变大。
根据上述观点,更新用软件储存数据库DB是将表示移动体110(1)~110(n)的管辖区域的区域信息AR(后述的图10以及图11)与终端装置200(1)、200(2)(发布源)的终端识别信息ID(参照图11)建立相关联地进行储存。这里,作为终端装置200(1)~200(n)的终端识别信息ID,只要能够唯一地将终端装置200(1)~200(n)进行区别,可以是任意内容,并不限定于此,可以例示出串行编号、电话编号。
图10是表示:在图4所示的机型信息管理数据库DB1中追加了区域信息AR的数据构造的一个例子的示意图。图11是表示:构成服务器130所具备的存储部133中的更新用软件储存数据库DB的区域信息管理数据库DB4的数据构造的一个例子的示意图。
更新用软件储存数据库DB是将表示移动体110(1)~110(n)的管辖区域的区域信息AR与终端装置200(1)、200(2)(发布源)的终端识别信息ID建立相关联地进行储存。
在本实施方式中,更新用软件储存数据库DB还具备区域信息管理数据库DB4。另外,在图4所示的机型信息管理数据库DB1中追加了区域信息AR。
在区域信息管理数据库DB4登记有:终端装置200(1)、200(2)的终端识别信息ID(发布源)、区域信息AR、针对终端装置200(1)、200(2)(发布源)已登记的终端装置〔200(2)~200(n)〕、〔200(1)、200(3)~200(n)〕的终端识别信息RID、以及机型代码MC。
这里,在区域信息管理数据库DB4中,关于终端装置200(1)~200(n)的移动体110(1)~110(n)中的最新版本有无更新RVR,在未将控制装置113(1)~113(m)的软件FW更新为最新版本时,记录有“无更新”(具体而言,标志“0”)。而且,如果更新为最新版本,则服务器130从更新后的终端装置200(i)接收已更新为最新版本这样的信息,并将与更新后的终端装置200(i)的移动体110(i)的机型代码MC对应的最新版本有无更新RVR设定为“有更新”(具体而言,标志“1”)。
此外,服务器130和/或终端装置200(1)、200(2)(发布源)在相对于区域信息管理数据库DB4的机型代码MC(例如,WRK1)而言最新版本有无更新RVR全部为“有更新”的情况下,可以在更新用软件保存数据库DB3中将与全部为“有更新”的机型代码MC(例如,WRK1)对应的差分源代码DSC予以删除。
而且,在开发了新版本的软件FW的情况下,随时在区域信息管理数据库DB4中将最新版本有无更新RVR设定为“无更新”(具体而言,标志“0”)(重置)。
在接收控制步骤中,控制部210经由广域通信网WN以及广域通信部220而从服务器130接收:更新用软件储存数据库DB中的与终端装置200(1)、200(2)(发布源)的终端识别信息ID建立了相关联的区域信息AR的机型信息MI、以及与机型信息MI建立了相关联的差分源代码DSC。在本实施方式中,控制部210经由广域通信网WN以及广域通信部220而从服务器130接收:与终端装置200(1)、200(2)(发布源)的终端识别信息ID相关联的区域信息AR的机型信息MI以及与机型信息MI建立了相关联的差分源代码DSC。
在存储控制步骤中,控制部210将从服务器130接收到的区域信息AR的机型信息MI、以及与机型信息MI建立了相关联的差分源代码DSC存储至存储部230。在本实施方式中,控制部210在存储部230中,将从服务器130接收到的与终端装置200(1)、200(2)(发布源)的终端识别信息ID建立了相关联的区域信息AR的机型信息MI存储至:机型信息管理数据库DB1(参照图10)。控制部210在存储部230中,将从服务器130接收到的更新用软件代码WFWC与机型信息MI建立相关联地同控制装置代码CC一起存储至:更新用软件管理数据库DB2(参照图5)。控制部210在存储部230中,将从服务器130接收到的差分源代码DSC与更新用软件代码WFWC建立相关联地存储至:更新用软件保存数据库DB3(参照图6)。根据该结构,控制部210能够选择性地存储:与具有和自身相同的区域信息AR相关的更新用软件WFW。
〔专用终端装置(非发布源)〕
如图3所示,终端装置200(3)~200(n)(非发布源)在终端装置200(1)、200(2)(发布源)中,具有:不带有其他移动体110(i)的机型信息MI的差分源代码DSC。详细而言,终端装置200(3)~200(n)(非发布源)虽然具有:更新用软件管理数据库DB2、以及对不带有其他移动体110(i)的机型信息MI的差分源代码DSC进行储存的更新用软件保存数据库DB3,但是不具有:机型信息管理数据库DB1、以及区域信息管理数据库DB4。
[第2实施方式]
图12至图14是示意性表示:第2实施方式所涉及的软件改写系统100的一个例子的概略结构图。
图12是表示:通用终端装置300经由广域通信网WN而与服务器130进行通信的状态的示意图。图13是表示:在图12所示的软件改写系统100中,与服务器130进行了通信的通用终端装置300经由近距离无线通信网LN而与能够成为发布源的专用终端装置200(1)进行通信的状态的示意图。图14是表示:在图12所示的软件改写系统100中,与服务器130进行了通信的通用终端装置300经由近距离无线通信网LN而与实质上未成为发布源的专用终端装置200(3)进行通信的状态的示意图。
第2实施方式所涉及的软件改写系统100是在第1实施方式所涉及的软件改写系统100中具备通用终端装置300的软件改写系统。
下面,参照图12至图14对通用终端装置300的系统结构说明如下。
〔通用终端装置〕
-通用终端装置的硬件结构-
如图12至图14所示,终端装置300具备:控制部310(计算机的一个例子)、广域通信部320、存储部330、近距离无线通信部340、以及用户界面部350。此外,终端装置300可以为多个。
这里,通用终端装置300例如为:书写板型计算机、智能手机等多功能通信移动终端装置。作为终端装置200(1)~200(n)的终端识别信息ID,只要能够唯一地将终端装置200(1)~200(n)进行区别,可以是任意内容,并不限定于此,可以例示出串行编号、国际移动体装置识别编号(IMEI:International Mobile Equipment Identifier编号)或电话编号。
(控制部)
控制部310具有:由CPU(Central Processing Unit)等所谓的计算机构成的处理装置310a、以及包含ROM(Read Only Memory)、RAM(Random Access Memory)等易失性存储器的存储器装置310b。
控制部310构成为:通过执行在存储部330已预先储存(安装)的软件改写程序PP等程序,来实现控制部310所需的各种功能。详细而言,通过由处理装置310a将在存储部330已预先储存的软件改写程序PP等程序加载至存储器装置310b的RAM上,并执行,从而控制部310进行各种处理。存储器装置310b的RAM针对控制部310而提供作业用的工作区域。
在本实施方式中,控制部310进行通信时的数据的收发、各种的输入输出控制以及运算处理的控制。
(广域通信部)
广域通信部320与控制部310的数据线电连接。广域通信部320在控制部310的指示下,能够与服务器130的广域通信部132(参照图12)之间在同一通信协议(通信规约)下进行通信。通信时所收发的数据按照通信协议而由广域通信部320进行变换。广域通信部320从服务器130接收:在服务器130的存储部133已记录的、与移动体110(1)~110(n)中的控制装置113(1)~113(m)的软件FW相关的信息。
(存储部)
存储部330与控制部310的数据线电连接。存储部330在控制部310的指示的下,对信息进行写入控制以及读出控制。存储部330在该例子中为:闪存等大容量存储装置。这里,在存储部330预先储存(安装)有软件改写程序PP。
此外,软件改写程序PP在该例子中是用于书写板型计算机、智能手机等多功能通信移动终端装置等的程序,被称为所谓的应用,是经由互联网等的通信手段而从未图示的程序服务器加载的程序。
在存储部330储存:机型信息管理数据库DB1、更新用软件管理数据库DB2以及更新用软件保存数据库DB3。
机型信息管理数据库DB1、更新用软件管理数据库DB2以及更新用软件保存数据库DB3的数据构造与图4至图6所示的在服务器130中的存储部133储存的机型信息管理数据库DB1、更新用软件管理数据库DB2以及更新用软件保存数据库DB3相同,这里省略说明。
(近距离无线通信部)
终端装置300中的近距离无线通信部340与终端装置200(1)~200(n)中的近距离无线通信部240进行近距离无线通信。
(用户界面部)
用户界面部350包含显示器装置等输出装置、触摸面板等输入装置。在用户界面部350中,有代表性地能够进行软件改写程序PP的起动控制、进度信息的显示等。
-通用终端装置的软件结构-
图15是表示:图12至图14所示的通用终端装置300的软件结构的一个例子的框图。
如图15所示,控制部310具备:接收控制部Q1、存储控制部Q2、改写控制部Q3以及发送控制部Q4。即,软件改写程序PP使控制部310执行下述步骤,该步骤包含:与接收控制部Q1对应的接收控制步骤、与存储控制部Q2对应的存储控制步骤、与改写控制部Q3对应的改写控制步骤、以及与发送控制部Q4对应的发送控制步骤。
在发送控制步骤中,控制部310无论是否具有生成控制部Q31以及变换控制部Q32,都将最新的对象代码NOC经由近距离无线通信部340以及近距离无线通信网LN而发送至移动体110(1)~110(n)。
在发送控制步骤中,控制部310经由近距离无线通信部340以及近距离无线通信网LN而将差分源代码DSC发送至:具有生成控制部Q31以及变换控制部Q32的移动体110(1)、110(2)。
此外,除此以外的在控制部310进行的接收控制步骤以及存储控制步骤的处理与前述的专用终端装置200(1)、200(2)中的控制部210的接收控制步骤以及存储控制步骤的处理相同,这里省略说明。
另外,可以将第1实施方式所涉及的软件改写系统100的结构、和第2实施方式所涉及的软件改写系统100的结构进行组合。
[软件改写系统中的软件改写处理]
下面,参照图16至图20对软件改写系统100中的软件改写处理的一个例子说明如下。
图16是表示:服务器130和专用终端装置200(1)、200(2)(发布源)和/或通用终端装置300经由广域通信网WN进行通信的例子(加载处理的一个例子)的流程图。图17是表示:与服务器130进行了通信的专用终端装置200(1)、200(2)(发布源)、和/或通用终端装置300和专用终端装置200(2)、200(1)(发布源)经由近距离无线通信网LN而进行通信的例(发布处理的一个例子)的流程图。另外,图18是表示:与服务器130进行了通信的专用终端装置200(1)、200(2)(发布源)、和/或通用终端装置300和专用终端装置200(3)~200(n)(非发布源)经由近距离无线通信网LN而进行通信的例子(发布处理的其他例子)的流程图。
此外,在图16以及图17所示的处理例中,以使用追加了区域信息管理数据库DB4(参照图11)的与终端装置200(1)、200(2)(发布源)的终端识别信息ID建立了相关联的区域信息AR的机型信息管理数据库DB1(参照图10)的情况为例进行说明。
-图16所示的下载处理的处理例-
在图16所示的软件改写处理的流程图中,首先,服务器130中的控制部131从广域通信部132经由广域通信网WN而与专用终端装置200(1)、200(2)(发布源)和/或通用终端装置300(下面,简称为终端装置200、300)建立通信(步骤Ss1),等待来自终端装置200、300的通信(步骤Ss2),直至存在来自终端装置200、300的响应为止(步骤Ss2:No)而待机。
另一方面,终端装置200、300中的控制部210、310在备齐足够的通信基础设施的地域中,从广域通信部220、320经由广域通信网WN而与服务器130建立通信(步骤St11),等待来自服务器130的通信(St12),直至存在来自服务器130的响应为止(步骤St12:No)而待机。
接着,如果存在来自终端装置200、300的响应(步骤Ss2:Yes),关于与终端装置200、300的终端识别信息ID建立了相关联的区域信息AR的移动体110的机型信息MI以及更新用软件WFW的更新信息RI,服务器130中的控制部131与终端装置200、300进行同步(步骤Ss3),并将包含更新用软件WFW的信息发送至终端装置200、300(步骤Ss4)。
详细而言,服务器130中的控制部131接收终端装置200、300的终端识别信息ID,从存储部133读出:与终端装置200、300的终端识别信息ID建立了相关联的区域信息AR(例如,终端识别信息ID为#7777的情况、区域信息为A4:参照图11)的机型信息MI(例如,区域信息为A4的情况、机型代码为BT1,…:参照图10)、以及与机型信息MI建立了相关联的更新用软件WFW(例如,机型代码为BT1,…的情况、更新用软件代码为BT1ECU1FW1,…:参照图5的差分源代码为BT1ECU1FW10_11.TXT,…:参照图6),经由广域通信网WN以及广域通信部220、320而将上述信息向终端装置200、300发送。
即,服务器130中的控制部131将对与区域信息AR对应的数据进行储存的机型信息管理数据库DB1、更新用软件管理数据库DB2以及更新用软件保存数据库DB3经由广域通信网WN以及广域通信部220、320而向终端装置200、300发送。
另一方面,如果存在来自服务器130的响应(步骤St12:Yes),则关于与终端装置200、300的终端识别信息ID建立了相关联的区域信息AR的移动体110的机型信息MI以及更新用软件WFW的更新信息RI,终端装置200、300中的控制部210、310与服务器130进行同步(步骤St13),当对各个移动体110来说控制装置113(1)~113(m)的软件FW并非最新(例如,最新版本或者最新年月日时刻)的情况下(步骤St14:No),接收包含更新用软件WFW的信息(步骤St15),并将所接收到的信息存储至存储部230、330。
详细而言,终端装置200、300中的控制部210、310经由广域通信网WN以及广域通信部220、320而从服务器130接收:与终端装置200、300的终端识别信息ID建立了相关联的区域信息AR(例如,终端识别信息ID为#7777的情况、区域信息为A4:参照图11)的机型信息MI(例如,区域信息为A4的情况、机型代码为BT1,…:参照图10)、以及与机型信息MI建立了相关联的更新用软件WFW(例如,机型代码为BT1,…的情况、更新用软件代码BT1ECU1FW1,…:图5参照的差分源代码为BT1ECU1FW10_11.TXT,…:参照图6),并将所接收到的信息存储至存储部230、330。
即,终端装置200、300中的控制部210、310经由广域通信网WN以及广域通信部220、320而从服务器130接收(下载):对与区域信息AR对应的数据进行储存的机型信息管理数据库DB1、更新用软件管理数据库DB2、以及更新用软件保存数据库DB3,并将接收到的信息存储至存储部230、330。
而且,在下载目的地的移动体110(1)、110(2)中,且在自身的终端装置200(1)、200(2),当控制装置113(1)~113(m)的软件FW并非最新(例如,最新版本或者最新年月日时刻)的情况下,控制部210或者自身所搭载的控制装置113(1)~113(m)基于更新用软件WFW而对控制装置113(1)~113(m)的软件FW进行改写。
-图17以及图18所示的发布处理的处理例-
在图17以及图18所示的软件改写处理的流程图中,首先,专用终端装置200(1)、200(2)(发布源)和/或通用终端装置300中的控制部210、310(参照图17以及图18中的左侧)在设置有近距离无线通信网LN的地域,从近距离无线通信部240、340经由近距离无线通信网LN而与专用终端装置200(2),200(1)(发布源)(参照图17)以及专用终端装置200(3)~200(n)(非发布源)(参照图18)建立通信(步骤St21),并等待来自专用终端装置200(2)、200(1)(发布源)、以及专用终端装置200(3)~200(n)(非发布源)的通信(St22),直至存在来自专用终端装置200(2)、200(1)(发布源)以及专用终端装置200(3)~200(n)(非发布源)的响应为止(步骤St22:No)而待机。
另一方面,专用终端装置200(2),200(1)(发布源)以及专用终端装置200(3)~200(n)(非发布源)中的控制部210(参照图17以及图18中的右侧)从近距离无线通信部240、340经由近距离无线通信网LN而与专用终端装置200(1)、200(2)(发布源)和/或通用终端装置300建立通信(步骤St31),等待来自专用终端装置200(1)、200(2)(发布源)和/或通用终端装置300的通信(St32),直至存在来自专用终端装置200(1)、200(2)(发布源)和/或通用终端装置300的响应为止(步骤St32:No)而待机。
接着,如果存在来自专用终端装置200(2),200(1)(发布源)以及专用终端装置200(3)~200(n)(非发布源)的响应(步骤Ss22:Yes),则关于移动体110的机型信息MI以及更新用软件WFW的更新信息RI,专用终端装置200(1)、200(2)(发布源)和/或通用终端装置300中的控制部210、310(参照图17以及图18中的左侧)与专用终端装置200(2)、200(1)(发布源)以及专用终端装置200(3)~200(n)(非发布源)进行同步(步骤Ss23),并对包含更新用软件WFW的信息进行发送(步骤Ss24)。
详细而言,专用终端装置200(1)、200(2)(发布源)和/或通用终端装置300中的控制部210、310从存储部230、330读出:机型信息MI、以及与机型信息MI建立了相关联的更新用软件WFW,并将上述信息经由近距离无线通信网LN以及近距离无线通信部240、340而向专用终端装置200(2)、200(1)(发布源)以及专用终端装置200(3)~200(n)(非发布源)发送。
即,专用终端装置200(1)、200(2)(发布源)和/或通用终端装置300中的控制部210、310(参照图17)将机型信息管理数据库DB1、更新用软件管理数据库DB2、以及更新用软件保存数据库DB3经由近距离无线通信网LN以及近距离无线通信部240、340而向专用终端装置200(2)、200(1)(发布源)发送。另外,专用终端装置200(1)、200(2)(发布源)和/或通用终端装置300中的控制部210、310(参照图18)将更新用软件管理数据库DB2、以及更新用软件保存数据库DB3经由近距离无线通信网LN以及近距离无线通信部240、340而向专用终端装置200(3)~200(n)(非发布源)发送。
另一方面,如果存在来自专用终端装置200(1)、200(2)(发布源)和/或通用终端装置300的响应(步骤St32:Yes),则关于移动体110(1)~110(n)的机型信息MI以及更新用软件WFW的更新信息RI,专用终端装置200(2)、200(1)(发布源)以及专用终端装置200(3)~200(n)(非发布源)中的控制部210(参照图17以及图18中的右侧)与专用终端装置200(1)、200(2)(发布源)和/或通用终端装置300进行同步(步骤St33),当控制装置113(1)~113(m)的软件FW并非最新的(例如,最新版本或者最新年月日时刻)情况下(步骤St34:No),接收包含更新用软件WFW的信息(步骤St35),并将所接收到的信息存储至存储部230。
详细而言,专用终端装置200(2)、200(1)(发布源)(参照图17)从专用终端装置200(1)、200(2)(发布源)和/或通用终端装置300经由近距离无线通信网LN以及近距离无线通信部240、340而接收:机型信息MI、以及与机型信息MI建立了相关联的更新用软件WFW,并将所接收到的信息存储至存储部230。另外,专用终端装置200(3)~200(n)(非发布源)从专用终端装置200(1)、200(2)(发布源)和/或通用终端装置300经由近距离无线通信网LN以及近距离无线通信部240、340而接收更新用软件WFW,并将所接收到的信息存储至存储部230。
即,专用终端装置200(2)、200(1)(发布源)(参照图17)将机型信息管理数据库DB1、更新用软件管理数据库DB2、以及更新用软件保存数据库DB3存储至存储部230。另外,专用终端装置200(3)~200(n)(非发布源)将更新用软件管理数据库DB2、以及更新用软件保存数据库DB3存储至存储部230。
而且,在发布承接方的移动体110(1)~110(n)中,且在终端装置200(1)~200(n),当控制装置113(1)~113(m)的软件FW并非最新(例如,最新版本或者最新年月日时刻)的情况下,控制部210或者搭载于移动体110(1)~110(n)上的控制装置113(1)~113(m)基于更新用软件WFW而对控制装置113(1)~113(m)的软件FW进行改写。
图19以及图20是表示:图1至图11所示的第1实施方式的软件改写系统100中的软件改写处理的一个例子的流程图。图19表示其前半部分的处理例,图20表示其后半部分的处理例。
在图19以及图20所示的处理例中,以下述情况为例进行说明,即,将服务器130作为固定型的计算机,在专用终端装置200(1)(发布源)中,生成最新的对象代码NOC,利用所生成的最新的对象代码NOC而对在移动体110(1)的自身上搭载的控制装置113进行软件FW的改写。
如图19所示,首先,在步骤S1中,控制装置113的开发者进行:将控制装置113的软件FW的最新版本的源代码SC向服务器130登记的操作,在步骤S1.1中,服务器130将进行了登记操作的软件FW的源代码SC在存储部133进行保管。此时,服务器130在源代码SC为非法的情况下,不在存储部133进行保管。
接着,在步骤S1.2中,服务器130根据登记的软件FW的源代码SC以及过去的1个或多个旧版本的源代码SC而生成最新版本相对于旧版本而言的差分源代码DSC,将所生成的差分源代码DSC在更新用软件保存数据库DB3中进行保管。
接着,在步骤S2中,服务器130的管理者、系统指示服务器130将控制装置113的软件FW改写为最新版本的软件FW。
接着,在步骤S2.1中,服务器130对针对来自服务器130的管理者、系统的改写指示的状态进行管理,在步骤S2.2中,服务器130请求:向终端装置200(1)进行连接。此时,针对向终端装置200(1)的连接要求,没有来自终端装置200(1)的连接的情况下,服务器130进行重试。另外,服务器130在即使重试了一定次数也没有来自终端装置200(1)的连接的情况下,暂时中断改写动作,在从终端装置200(1)向服务器130传递了已起动的内容时,再次发出连接请求。
接着,在步骤S2.2.1中,终端装置200(1)针对于来自服务器130的连接请求而实施连接。此时,终端装置200(1)在一定时间以内未从服务器130得到肯定响应的情况下,进行重试。终端装置200(1)在即使重试了一定次数也未从服务器130得到肯定响应的情况下,将连接结束。另外,终端装置200(1)在从服务器130返回了否定响应的情况下,将连接结束。
另外,在步骤S2.2.1中,服务器130针对来自终端装置200(1)的连接,做出肯定响应。此时,服务器130在被从非法的终端装置进行了连接的情况,不做出响应。
接着,在步骤S3中,终端装置200(1)向控制装置113发送:差分源代码DSC的送出指示。此时,终端装置200(1)在未被从控制装置113发送来软件FW的版本VR的情况下、或者被从控制装置113发送来了非法软件的版本的情况下,将与服务器130的连接结束。
另外,在步骤S3中,控制装置113向终端装置200(1)发送软件FW的版本VR(对软件FW的送出指示进行响应)。此时,控制装置113不对来自非法终端装置的指示做出响应。
下面,在步骤S4中,终端装置200(1)向服务器130发送:控制装置113的软件FW的版本VR。此时,终端装置200(1)在一定时间以内未从服务器130得到肯定响应的情况下,进行重试。终端装置200(1)在即使重试了一定次数也未从服务器130得到肯定响应的情况下,将与服务器130的连接结束。另外,终端装置200(1)在从服务器130返回了否定响应的情况,将与服务器130的连接结束。
另外,在步骤S4中,服务器130针对来自终端装置200(1)的软件FW的版本VR的发送,做出肯定响应。此时,服务器130在接收到的软件FW的版本VR为非法的情况下,做出否定响应。另外,在一定时间以内未从终端装置200(1)发送出软件FW的版本VR的情况下,服务器130将与终端装置200(1)的连接结束。
接着,在步骤S2.3中,服务器130根据所保有的差分源代码DSC而选择:向终端装置200(1)发送的差分源代码DSC。
接着,在步骤S2.4中,服务器130将差分源代码DSC向与改写目的地的控制装置113有关联的终端装置200(1)发送。此时,服务器130在一定时间以内未从终端装置200(1)得到肯定响应的情况下,进行重试。服务器130在即使重试了一定次数也未从终端装置200(1)得到肯定响应的情况下,放弃改写动作(改写状态:失败)。另外,服务器130在从终端装置200(1)返回了否定响应的情况下,放弃改写动作(改写状态:失败)。
接着,在步骤S2.4.1中,终端装置200(1)将从服务器130发送来的差分源代码DSC反映于自身所保有的源代码SC,来生成最新的源代码NSC。此时,终端装置200(1)在一定时间以内未被从服务器130发送差分源代码DSC的情况下,将与服务器130的连接结束。
接着,在步骤S2.4.2中,终端装置200(1)将所生成的最新的源代码NSC变换为最新的对象代码NOC(该例子中,编译),来生成最新的对象代码NOC。此时,终端装置200(1)在变换结果(该例子中,编译结果)为不可(NG)的情况下,向服务器130发出否定响应。
另外,在步骤S2.4中,终端装置200(1)针对来自服务器130的差分源代码DSC的发送,做出肯定响应。此时,终端装置200(1)在变换结果(该例子中,编译结果)为不可(NG)的情况下,向服务器130发出否定响应。
如图20所示,接着,在步骤S2.5中,服务器130指示:向终端装置200(1)的连接结束。此时,服务器130在一定时间以内未从终端装置200(1)得到响应的情况下,将通信结束。
另外,在步骤S2.5中,终端装置200(1)针对来自服务器130的连接结束的指示,做出肯定响应。
接着,在步骤S2.6中,服务器130对针对来自服务器130的管理者、系统的改写指示的状态进行管理。
接着,在步骤S5中,终端装置200(1)向控制装置113发送改写指示。此时,终端装置200(1),在一定时间以内未从控制装置113得到肯定响应的情况下,进行重试。终端装置200(1)在即使重试了一定次数也未从控制装置113得到肯定响应的情况,放弃改写,并将改写失败的情况联络给服务器130。另外,终端装置200(1)在针对改写指示而返回了否定响应的情况下,放弃改写,并将改写失败的情况联络给服务器130。服务器130如果收到改写失败的联络,则将区域信息管理数据库DB4中的最新版本有无更新RVR(参照图11)设定为“无更新”(具体而言,标志“0”)。
另外,在步骤S5中,控制装置113针对来自终端装置200(1)的改写指示而做出肯定响应。此时,控制装置113不对来自非法的终端装置的指示做出响应。
接着,在步骤S6中,终端装置200(1)向控制装置113发送:所生成的最新的对象代码NOC。此时,终端装置200(1)在从控制装置113返回了否定响应的情况下,将改写失败的情况联络给服务器130。服务器130如果收到改写失败的联络,则将区域信息管理数据库DB4中的最新版本有无更新RVR(参照图11)设定为“无更新”(具体而言,标志“0”)。
接着,在步骤S6.1中,控制装置113对从终端装置200(1)发送来的最新的对象代码NOC进行改写。此时,控制装置113在最新的对象代码NOC的改写失败的情况下,返回否定响应。
另外,在步骤S6中,控制装置113针对来自终端装置200(1)的最新的对象代码NOC的发送,做出肯定响应。此时,控制装置113不对来自非法的终端装置的指示做出响应。另外,控制装置113在最新的对象代码NOC的改写失败的情况下,返回否定响应。
接着,在步骤S7中,终端装置200(1)实施与服务器130的连接。此时,终端装置200(1)在一定时间以内未从服务器130得到肯定响应的情况下,进行重试。终端装置200(1)在即使重试一定次数也未从服务器130得到肯定响应的情况,将与服务器130的连接结束。另外,终端装置200(1)在从服务器130返回了否定响应的情况下,将与服务器130的连接结束。
另外,在步骤S7中,服务器130针对来自终端装置200(1)的连接,做出肯定响应。此时,服务器130在被从非法的终端装置进行了连接的情况下,不做出响应。
接着,在步骤S8中,终端装置200(1)将改写完毕的情况联络给服务器130。服务器130如果收到改写完毕的联络,则将区域信息管理数据库DB4中的最新版本有无更新RVR(参照图11)设定为“有更新”(具体而言,标志“1”)。此时,终端装置200(1)在改写失败的情况下,将改写失败的情况联络给服务器130。服务器130如果收到改写失败的联络,则将区域信息管理数据库DB4中的最新版本有无更新RVR(参照图11)设定为“无更新”(具体而言,标志“0”)。
接着,在步骤S8.1中,服务器130对针对来自服务器130的管理者、系统的改写指示的状态进行管理。
另外,在步骤S8中,服务器130针对来自终端装置200(1)的改写完毕联络,做出肯定响应。此时,服务器130在来自终端装置200(1)的改写完毕联络为非法的情况下,将改写状态设定为失败,返回否定响应。
接着,在步骤S9中,服务器130指示将向终端装置200(1)的连接结束。此时,服务器130在一定时间以内未从终端装置200(1)得到响应的情况下,将通信结束。
另外,在步骤S9中,终端装置200(1)针对来自服务器130的连接结束的指示,做出肯定响应。
此外,以上说明的处理例中,最新的对象代码NOC向控制装置113的改写虽然是在终端装置200(1)的移动体110(1)中的控制装置113来进行的,但也可以取而代之或者在其基础上,与终端装置200(1)进行近距离无线通信而在其他终端装置200(2)~200(n)的移动体110(2)~110(n)中的控制装置113中来进行。另外,可以取代专用终端装置200(1)或在其基础上,而使用通用终端装置300。在使用通用终端装置300的情况下,能够将移动体110(1)~110(n)中的控制装置113的对象代码OC改写为最新的对象代码NOC。针对多个控制装置113(1)~113(m)也能够同样地进行软件FW的改写处理。另外,可以取代对象代码NOC而向其他终端装置200(2)(发布源)发送差分源代码DSC。另外,虽然将与服务器130进行了广域通信的终端装置作为专用终端装置200(1)(发布源),但也可以作为专用终端装置200(2)(发布源)。另外,将服务器130设为固定型,但也可以设为专用终端装置200(1)、200(2)和/或通用终端装置300。
(关于本实施方式)
根据本实施方式[第1实施方式所涉及的终端装置200(1)、200(2)以及第2实施方式所涉及的终端装置300],由于使用差分源代码DSC,因此能够实现发送时间〔该例子中,用于将控制装置113(1)~113(m)的软件FW从服务器130发送至终端装置200(1)~200(n)的发送时间〕的缩短化。而且,由于根据差分源代码DSC以及现行源代码SC而生成最新的源代码NSC,并将所生成的最新的源代码NSC变换为最新的对象代码NOC,且将变换得到的最新的对象代码NOC发送至控制装置113~113,因此能够根据软件FW的差分而容易地生成最新版本的软件FW,由此,能够利用控制装置113~113,可靠地执行最新版本的软件FW。
另外,控制装置113~113搭载于移动体110(1)~110(n),由此能够实现发送时间〔该例子中,用于将搭载于移动体110(1)~110(n)上的控制装置113(1)~113(m)的软件FW从服务器130发送至终端装置200(1)~200(n)的发送时间〕的缩短化。而且,由于将变换得到的最新的对象代码NOC发送至控制装置113~113,因此,能够根据软件FW的差分而容易地生成最新版本的软件FW,由此,能够利用搭载于移动体110(1)~110(n)上的控制装置113~113,可靠地执行最新版本的软件FW。
在第1实施方式〔该例子中,设置于移动体的专用终端装置200(1)、200(2)〕中,终端装置设置于移动体110(1)、110(2),具备近距离无线通信部240,该近距离无线通信部240与除移动体110(1)、110(2)之外的其他移动体[该例子中,〔110(2)~110(n)〕、〔110(1)、110(3)~110(n)〕]之间经由近距离无线通信网LN而进行通信,由此,能够在近距离无线通信网LN的通信范围中容易地对在移动体110(1)~110(n)上搭载的控制装置113~113的软件FW进行改写。
在第1实施方式〔该例子中,设置于移动体专用终端装置200(1)、200(2)〕中,将最新的对象代码NOC发送至自身的移动体〔该例子中,110(1)、110(2)〕中的控制装置113(1)~113(m),由此能够基于最新版本的软件FW,对在自身的移动体〔该例子中,110(1)、110(2)〕上搭载的控制装置113(1)~113(m)的软件FW进行改写,从而容易地更新为最新。由此,能够利用自身的移动体〔该例子中,110(1)、110(2)〕中的控制装置113(1)~113(m),可靠地执行最新版本的软件FW。
另外,在第1实施方式〔该例子中,设置于移动体的专用终端装置200(1)、200(2)〕中,将最新的对象代码NOC经由近距离无线通信部240以及近距离无线通信网LN而发送至其他移动体110[该例子中,〔110(2)~110(n)〕、〔110(1)、110(3)~110(n)〕],由此能够对在该其他移动体上搭载的控制装置113(1)~113(m)的软件FW进行改写,从而容易地更新为最新。由此,能够利用搭载于该其他移动体上的控制装置113(1)~113(m),可靠地执行最新版本的软件FW。
另外,在第1实施方式〔该例子中,设置于移动体的专用终端装置200(1)、200(2)〕中,将差分源代码DSC经由近距离无线通信部240以及近距离无线通信网LN而从该移动体〔该例子中,110(1)、110(2)〕(发布源)发送至其他移动体〔该例子中,110(2)、110(1)〕,由此能够根据由其他移动体〔该例子中,110(2)、110(1)〕的终端装置〔该例子中,200(2)、200(1)〕发送来的差分源代码DSC而生成最新的对象代码NOC,这样就能够将该终端装置与其他终端装置之间的通信时间缩短化。
在第2实施方式(该例子中,多功能通信移动终端装置的通用终端装置300)中,终端装置300作为多功能通信移动终端装置起作用,具备与电机设备〔该例子中,移动体110(1)~110(n)〕经由近距离无线通信网LN而进行通信的近距离无线通信部340,从而能够使用通常普及的通用终端装置、例如书写板型计算机、智能手机等多功能通信移动终端装置作为终端装置300,由此,能够提高针对在电机设备上搭载的控制装置113(1)~113(m)的软件FW的改写作业的便利性。
另外,在第2实施方式(该例子中,多功能通信移动终端装置的通用终端装置300)中,将最新的对象代码NOC经由近距离无线通信部340以及近距离无线通信网LN而发送至电机设备,由此能够对在电机设备上搭载的控制装置113(1)~113(m)的软件FW进行改写而容易地更新为最新。由此,能够利用搭载于电机设备的控制装置113(1)~113(m)而可靠地执行最新版本的软件FW。
另外,在第2实施方式(该例子中,多功能通信移动终端装置的通用终端装置300)中,将差分源代码DSC经由近距离无线通信部240以及近距离无线通信网LN而发送至:具有生成控制部Q31以及变换控制部Q32的电机设备〔该例子中,移动体110(2)、110(1)〕,由此能够根据由电机设备〔该例子中,移动体110(2)、110(1)〕的终端装置〔该例子中,200(2)、200(1)〕(发布源)发送来的差分源代码DSC而生成最新的对象代码NOC,这样就能够将该终端装置与其他终端装置之间的通信时间缩短化。
此外,在专用终端装置200(1)、200(2)(发布源)以及通用终端装置300中,在存储部230、330的存储容量存在富余的情况下,服务器130也可以将包含区域信息AR在内的全部数据的机型信息管理数据库DB1、更新用软件管理数据库DB2、更新用软件保存数据库DB3以及区域信息管理数据库DB4发送至专用终端装置200(1)、200(2)(发布源)以及通用终端装置300,终端装置200(1)、200(2)、300将上述数据库存储至存储部230。这样,终端装置200(1)、200(2)、300能够成为服务器130。
(关于其他实施方式)
在本实施方式所涉及的软件改写系统100中,作为移动体110,应用于联合收割机、耕耘机、插秧机等农业作业机这类的行驶作业机,但并不限定于此,也可以适当地应用于卡车、铲车、轮式装载机、运输车等建设作业机这类的行驶作业机、游船、渔船这类的船舶等。
另外,在移动体110(1)~110(n)中,针对1个作业部111而设置了1个控制装置113,但也可以针对1个作业部111而设置多个控制装置113。
另外,作为电机设备,除了所述移动体的方式之外,还能够举出例如发电机等在电力设备中使用的电机设备等。
本发明并不限定于以上说明的实施方式,能够以其他各种各样的方式进行实施。因此,上述实施方式在所有方面上都不过是单纯的例示,不是限定性地进行解释。本发明的范围由权利要求书示出,并不受说明书文本限制。并且,属于权利要求书的均等范围的变形、变更全部在本发明的范围内。
本申请基于2016年3月1日在日本申请的特愿2016-038928号而主张优先权。通过提及这一点而将其全部内容并入本申请。
工业实用性
本发明涉及在对控制装置的软件进行改写的软件改写系统中使用的终端装置以及软件改写程序,特别适用于下述用途,即,使用软件的差分而实现发送时间的缩短化,并且根据软件的差分而容易地生成最新版本的软件。
符号的说明
100 软件改写系统
110 移动体(电机设备的一个例子)
111 作业部
113 控制装置
120 远程监视中心
130 服务器
131 控制部
131a 处理装置
131b 存储器装置
132 广域通信部
133 存储部
200 专用终端装置
210 控制部
210a 处理装置
210b 存储器装置
220 广域通信部
230 存储部
240 近距离无线通信部
250 信号通信部
260 电源控制部
300 通用终端装置
310 控制部
310a 处理装置
310b 存储器装置
320 广域通信部
330 存储部
340 近距离无线通信部
350 用户界面部
AR 区域信息
BT 蓄电池
CC 控制装置代码
DB 更新用软件储存数据库
DB1 机型信息管理数据库
DB2 更新用软件管理数据库
DB3 更新用软件保存数据库
DB4 区域信息管理数据库
DSC 差分源代码
FW 软件
ID 终端识别信息
LN 近距离无线通信网
MC 机型代码
MI 机型信息
MT 移动体种类
NOC 最新的对象代码
NSC 最新的源代码
OC 对象代码
PP 软件更新用程序
Q1 接收控制部
Q11 获取控制部
Q2 存储控制部
Q3 改写控制部
Q31 生成控制部
Q32 变换控制部
Q4 发送控制部
RI 更新信息
RID 已登记的终端识别信息
RVR 最新版本有无更新
SC 源代码
SW 起动开关
VR 版本
WFW 更新用软件
WFWC 更新用软件代码
WN 广域通信网
Claims (9)
1.一种终端装置,其是使用在对控制装置的软件进行改写的软件改写系统中,该终端装置的特征在于,
具备对文本形式的源代码进行存储的存储部,其中该文本形式的源代码用于生成能够由所述控制装置执行的二进制形式的对象代码,
获取相对于在所述存储部存储的且与现行所述对象代码对应的源代码而言的差分的源代码亦即差分源代码,根据所获取到的所述差分源代码以及在所述存储部存储的所述源代码,来生成最新的源代码,并将所生成的所述最新的源代码变换为最新的所述对象代码,且将变换得到的所述最新的对象代码发送至所述控制装置。
2.根据权利要求1所述的终端装置,其特征在于,
所述控制装置搭载于移动体。
3.根据权利要求2所述的终端装置,其特征在于,
所述终端装置设置于所述移动体,
所述终端装置具备:经由近距离无线通信网而与所述移动体之外的其他移动体之间进行通信的近距离无线通信部。
4.根据权利要求3所述的终端装置,其特征在于,
将所述最新的对象代码发送至自身的移动体中的所述控制装置、和/或经由所述近距离无线通信部以及所述近距离无线通信网而发送至所述其他移动体。
5.根据权利要求3或4所述的终端装置,其特征在于,
所述其他移动体具备权利要求1或2所述的终端装置,
将所述差分源代码经由所述近距离无线通信部以及所述近距离无线通信网而发送至所述其他移动体。
6.根据权利要求1所述的终端装置,其特征在于,
所述控制装置搭载于电机设备,
该终端装置作为多功能通信移动终端装置起作用,
具备经由近距离无线通信网而与所述电机设备进行通信的近距离无线通信部。
7.根据权利要求6所述的终端装置,其特征在于,
将所述最新的对象代码经由所述近距离无线通信部以及所述近距离无线通信网而发送至所述电机设备。
8.根据权利要求6或7所述的终端装置,其特征在于,
所述电机设备具备权利要求2至4中任一项所述的终端装置,
将所述差分源代码经由所述近距离无线通信部以及所述近距离无线通信网而发送至所述电机设备。
9.一种软件改写程序,其是使用在对控制装置的软件进行改写的软件改写系统中的终端装置的软件改写程序,
所述软件改写程序的特征在于,
所述终端装置具备:对文本形式的源代码进行存储的存储部、以及计算机,其中该文本形式的源代码用于生成能够由所述控制装置执行的二进制形式的对象代码,
所述软件改写程序使所述计算机执行包含了下述步骤的步骤:
获取控制步骤,获取相对于在所述存储部存储的且与现行所述对象代码对应的源代码而言的差分的源代码亦即差分源代码;
生成控制步骤,根据在所述获取控制步骤中获取到的所述差分源代码以及在所述存储部存储的所述源代码,来生成最新的源代码;
变换控制步骤,将在所述生成控制步骤中所生成的所述最新的源代码变换为最新的所述对象代码;以及
发送控制步骤,将在所述变换控制步骤中变换得到的所述最新的对象代码发送至所述控制装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016038928A JP2017156937A (ja) | 2016-03-01 | 2016-03-01 | 端末装置およびソフトウェア書き換えプログラム |
JP2016-038928 | 2016-03-01 | ||
PCT/JP2017/006113 WO2017150247A1 (ja) | 2016-03-01 | 2017-02-20 | 端末装置およびソフトウェア書き換えプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108701067A true CN108701067A (zh) | 2018-10-23 |
Family
ID=59744015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780012746.6A Pending CN108701067A (zh) | 2016-03-01 | 2017-02-20 | 终端装置以及软件改写程序 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10732958B2 (zh) |
EP (1) | EP3425506A4 (zh) |
JP (1) | JP2017156937A (zh) |
CN (1) | CN108701067A (zh) |
CA (1) | CA3016285A1 (zh) |
WO (1) | WO2017150247A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7165799B2 (ja) * | 2018-03-27 | 2022-11-04 | ヤンマーパワーテクノロジー株式会社 | ソフトウェア管理装置 |
JP2021047806A (ja) * | 2019-09-20 | 2021-03-25 | 富士通株式会社 | 情報処理システム、情報処理装置および情報処理プログラム |
US11875142B2 (en) * | 2019-11-01 | 2024-01-16 | Ricoh Company, Ltd. | Information processing apparatus, information processing system, and information processing method |
JP2021135777A (ja) * | 2020-02-27 | 2021-09-13 | 株式会社小松製作所 | 作業機械のコンポーネントのソフトウェア更新システムおよびソフトウェア更新方法 |
JP7421387B2 (ja) * | 2020-03-19 | 2024-01-24 | 本田技研工業株式会社 | ソフトウェア書換装置 |
US11271971B1 (en) * | 2021-03-19 | 2022-03-08 | King Saud University | Device for facilitating managing cyber security health of a connected and autonomous vehicle (CAV) |
CN113821251B (zh) * | 2021-09-29 | 2024-02-06 | 北京无限自在文化传媒股份有限公司 | 基于人工智能的代码优化方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020178434A1 (en) * | 2001-02-22 | 2002-11-28 | Fox Gary L. | Apparatus and method for automatic source code generation in a process control environment |
CN1758220A (zh) * | 2004-10-08 | 2006-04-12 | 华为技术有限公司 | 一种升级软件版本的方法 |
CN101425078A (zh) * | 2008-11-17 | 2009-05-06 | 阿里巴巴集团控股有限公司 | 一种软件源代码的更新方法及装置 |
CN103262047A (zh) * | 2010-12-15 | 2013-08-21 | 微软公司 | 使用代码克隆检测的智能代码差分 |
Family Cites Families (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6276954A (ja) * | 1985-09-30 | 1987-04-09 | Toshiba Corp | 通信制御装置 |
EP0449530A3 (en) * | 1990-03-23 | 1993-09-01 | Canon Kabushiki Kaisha | A memory medium having a control program memorized therein and an information processing method and an information processing apparatus using the same medium |
US5175856A (en) * | 1990-06-11 | 1992-12-29 | Supercomputer Systems Limited Partnership | Computer with integrated hierarchical representation (ihr) of program wherein ihr file is available for debugging and optimizing during target execution |
US5347627A (en) * | 1992-04-07 | 1994-09-13 | International Business Machines Corporation | Graphical user interface including dynamic sizing and spacing |
US5732273A (en) * | 1995-08-11 | 1998-03-24 | Digital Equipment Corporation | System for monitoring compute system performance |
US5713010A (en) * | 1995-02-10 | 1998-01-27 | Hewlett-Packard Company | Source line tracking in optimized code |
JP2719761B2 (ja) * | 1995-02-24 | 1998-02-25 | パイオニア株式会社 | データ蓄積装置 |
US6067500A (en) * | 1995-08-14 | 2000-05-23 | Aisin Aw Co., Ltd. | Navigation system |
US5815720A (en) * | 1996-03-15 | 1998-09-29 | Institute For The Development Of Emerging Architectures, L.L.C. | Use of dynamic translation to collect and exploit run-time information in an optimizing compilation system |
US5835773A (en) * | 1996-04-17 | 1998-11-10 | Hewlett-Packard, Co. | Method for achieving native performance across a set of incompatible architectures using a single binary file |
US6009274A (en) * | 1996-12-13 | 1999-12-28 | 3Com Corporation | Method and apparatus for automatically updating software components on end systems over a network |
US5920725A (en) | 1997-07-02 | 1999-07-06 | Adaptivity Inc. | Run-time object-synthesis and transparent client/server updating of distributed objects using a meta server of all object descriptors |
US6106574A (en) * | 1997-12-04 | 2000-08-22 | Unisys Corp. | Computer-implemented object-oriented method for relating objects in a compiler to locations in the source program and to inlined call histories |
US6305009B1 (en) * | 1997-12-05 | 2001-10-16 | Robert M. Goor | Compiler design using object technology with cross platform capability |
US6581157B1 (en) * | 1999-04-26 | 2003-06-17 | 3Com Corporation | System and method for detecting and updating non-volatile memory on an electronic adapter board installed in a computing system |
JP2001005649A (ja) | 1999-06-17 | 2001-01-12 | Mitsubishi Electric Corp | システムソフトウェア更新方式 |
US6684389B1 (en) * | 1999-08-05 | 2004-01-27 | Canon Kabushiki Kaisha | Compiler that decrypts encrypted source code |
JP3669619B2 (ja) * | 1999-09-06 | 2005-07-13 | 富士通株式会社 | 無線端末装置のソフトウェア更新方法及びその装置 |
JP2001075785A (ja) * | 1999-09-09 | 2001-03-23 | Nec Corp | データ更新システム |
US9110692B2 (en) * | 2001-03-22 | 2015-08-18 | Frederick Master | Method and apparatus for a compiler and related components for stream-based computations for a general-purpose, multiple-core system |
JP4827310B2 (ja) * | 2001-03-30 | 2011-11-30 | パナソニック株式会社 | リモートプログラムダウンロードシステム |
US20020188934A1 (en) * | 2001-06-12 | 2002-12-12 | Nortel Networks Limited | Method and system for upgrading existing firmware on third party hardware |
US9134989B2 (en) * | 2002-01-31 | 2015-09-15 | Qualcomm Incorporated | System and method for updating dataset versions resident on a wireless device |
JP2003242064A (ja) * | 2002-02-19 | 2003-08-29 | Funai Electric Co Ltd | Cd−r/rw書込み用プログラム、動作制御プログラム、および、ドライブ装置 |
US6922709B2 (en) * | 2002-02-19 | 2005-07-26 | International Business Machines Corporation | Method for maintaining consistent dual copies of vital product data in a dual accessor library of portable data storage media |
US7243347B2 (en) * | 2002-06-21 | 2007-07-10 | International Business Machines Corporation | Method and system for maintaining firmware versions in a data processing system |
US20040034861A1 (en) * | 2002-08-19 | 2004-02-19 | Ballai Philip N. | System and method for automating firmware maintenance |
US8250562B2 (en) * | 2002-08-30 | 2012-08-21 | Sun Microsystems, Inc. | Barrier mechanism for firmware upgrade |
US20040068724A1 (en) * | 2002-08-30 | 2004-04-08 | Gardner Richard Wayne | Server processing for updating dataset versions resident on a wireless device |
US20040083471A1 (en) * | 2002-10-21 | 2004-04-29 | Lg Electronics Inc. | Method of upgrading system software of a home appliance |
DE10256799B3 (de) * | 2002-12-05 | 2004-04-29 | Wabco Gmbh & Co. Ohg | Verfahren zur Programmierung von Flash-E-PROMs in einer mit einem Mikroprozessor ausgerüsteten Steuerelektronik für Straßenfahrzeuge |
US20050010916A1 (en) * | 2003-05-24 | 2005-01-13 | Hagen David A. | System for providing software application updates to multiple clients on a network |
US7676506B2 (en) * | 2003-06-20 | 2010-03-09 | Innopath Software, Inc. | Differential file compression of software image versions |
JP4021407B2 (ja) * | 2003-12-16 | 2007-12-12 | シャープ株式会社 | 情報処理装置 |
TW200535697A (en) * | 2004-04-30 | 2005-11-01 | Hon Hai Prec Ind Co Ltd | System and method for automatic updating program |
US7788662B2 (en) * | 2004-07-28 | 2010-08-31 | Microsoft Corporation | Automatic upgrade of pluggable components |
US20060061789A1 (en) * | 2004-09-20 | 2006-03-23 | Kabushiki Kaisha Toshiba | Image forming apparatus and image forming method |
US7503040B2 (en) * | 2004-09-30 | 2009-03-10 | International Business Machines Corporation | Configuring a shared library to accommodate relocatable data in a pervasive device |
US7409677B1 (en) * | 2004-11-16 | 2008-08-05 | Sun Microsystems, Inc. | Method and system for creation and use of embedded trace description |
US20060184924A1 (en) * | 2004-12-14 | 2006-08-17 | Aten International Co., Ltd. | Intelligent platform management interface firmware architecture and method of building the same |
US7480901B2 (en) * | 2005-02-03 | 2009-01-20 | International Business Machines Corporation | System and method for producing per-processor optimized executables |
JP4791061B2 (ja) * | 2005-03-18 | 2011-10-12 | 富士通株式会社 | 計算機システムのファームウェアのバージョン管理方法及び情報処理装置 |
JP4924976B2 (ja) * | 2005-03-23 | 2012-04-25 | 新日鉄ソリューションズ株式会社 | ソフトウェア開発支援システム |
US20060236310A1 (en) * | 2005-04-19 | 2006-10-19 | Domeika Max J | Methods and apparatus to iteratively compile software to meet user-defined criteria |
JP2006331394A (ja) * | 2005-04-25 | 2006-12-07 | Ricoh Co Ltd | プログラムバージョン管理方法、プログラム及び印刷システム |
KR100694124B1 (ko) * | 2005-06-08 | 2007-03-12 | 삼성전자주식회사 | 화상형성장치의 드라이버 갱신 방법 및 장치 |
DE602005010858D1 (de) * | 2005-08-18 | 2008-12-18 | Ericsson Telefon Ab L M | Rückgekoppelter Linker for erhöhte Delta-Performanz |
US7698692B1 (en) * | 2005-11-10 | 2010-04-13 | Sun Microsystems, Inc. | Preparing a binary file for future instrumentation |
JP2007301866A (ja) * | 2006-05-12 | 2007-11-22 | Sony Corp | 電子機器、印刷装置、プログラム及び消耗品 |
JP2007304998A (ja) * | 2006-05-12 | 2007-11-22 | Hitachi Software Eng Co Ltd | ソースコード生成方法及び装置並びにプログラム |
US7770165B2 (en) * | 2006-08-25 | 2010-08-03 | Microsoft Corporation | Providing firmware updates to portable media devices |
US10104432B2 (en) * | 2006-12-01 | 2018-10-16 | Time Warner Cable Enterprises Llc | Methods and apparatus for software provisioning of a network device |
US20080172649A1 (en) * | 2007-01-16 | 2008-07-17 | Microsoft Corporation | Strategies for Synchronizing a Product |
US8219977B1 (en) * | 2007-01-26 | 2012-07-10 | Xilinx, Inc. | Using a software repository to increase the speed of software testing |
CN101282453B (zh) * | 2007-04-03 | 2010-08-11 | 华为技术有限公司 | 更新电子业务指南的方法、服务器、终端及系统 |
DE102007026602A1 (de) * | 2007-06-08 | 2008-12-11 | Abb Ag | Einrichtung und Verfahren zum Prüfen der aktuellen Softwareinstallation von Feldgeräten eines verteilten Systems, insbesondere Automatisierungssystems |
US8473938B1 (en) * | 2007-06-21 | 2013-06-25 | Open Invention Network Llc | Security patch update processor |
US8145655B2 (en) * | 2007-06-22 | 2012-03-27 | International Business Machines Corporation | Generating information on database queries in source code into object code compiled from the source code |
US20090037887A1 (en) * | 2007-07-30 | 2009-02-05 | Chavan Shasank K | Compiler-inserted predicated tracing |
US20090271768A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Discriminating program code updates after merging for live review |
US8453134B2 (en) * | 2008-06-04 | 2013-05-28 | Intel Corporation | Improving data locality and parallelism by code replication |
US8261247B2 (en) * | 2008-10-01 | 2012-09-04 | Oracle International Corporation | Method of modifying code of a running computer program based on symbol values discovered from comparison of running code to corresponding object code |
JP5358153B2 (ja) * | 2008-10-10 | 2013-12-04 | 株式会社ソニー・コンピュータエンタテインメント | ゲーム装置および情報処理装置 |
JP2009123226A (ja) | 2008-12-18 | 2009-06-04 | Omron Corp | 車載制御装置の運用システム及び車載制御装置 |
US8892699B2 (en) * | 2008-12-31 | 2014-11-18 | Schneider Electric USA, Inc. | Automatic firmware updates for intelligent electronic devices |
US9031237B2 (en) * | 2009-02-19 | 2015-05-12 | GM Global Technology Operations LLC | Method and apparatus for protecting private data on a vehicle |
JP2010198155A (ja) | 2009-02-24 | 2010-09-09 | Fujitsu Ten Ltd | プログラム更新装置、プログラム更新方法、及び情報処理装置 |
US8438558B1 (en) * | 2009-03-27 | 2013-05-07 | Google Inc. | System and method of updating programs and data |
US8762971B2 (en) * | 2009-04-02 | 2014-06-24 | International Business Machines Corporation | Servicing a production program in an integrated development environment |
US20110010696A1 (en) * | 2009-07-09 | 2011-01-13 | Sun Microsystems, Inc. | Duplicate virtual function table removal |
US8645936B2 (en) * | 2009-09-30 | 2014-02-04 | Zynga Inc. | Apparatuses, methods and systems for an a API call abstractor |
JP2011095950A (ja) * | 2009-10-29 | 2011-05-12 | Seiko Epson Corp | ネットワークデバイス、ネットワークデバイスシステムおよびネットワークデバイスのソフトウェア更新方法 |
JP5171790B2 (ja) * | 2009-11-12 | 2013-03-27 | 株式会社エヌ・ティ・ティ・ドコモ | 情報処理装置、通信システムおよびプログラム |
KR20110092007A (ko) * | 2010-02-08 | 2011-08-17 | 주식회사 만도 | 차량의 소프트웨어 다운로드 시스템 및 방법 |
US8739049B2 (en) * | 2010-05-24 | 2014-05-27 | GM Global Technology Operations LLC | Vehicle system modeling systems and methods |
KR101301606B1 (ko) * | 2010-10-28 | 2013-08-29 | 삼성에스디에스 주식회사 | 애플리케이션 생성 장치 및 그 방법 |
US8745612B1 (en) * | 2011-01-14 | 2014-06-03 | Google Inc. | Secure versioning of software packages |
US8726264B1 (en) * | 2011-11-02 | 2014-05-13 | Amazon Technologies, Inc. | Architecture for incremental deployment |
US9223564B2 (en) * | 2012-01-26 | 2015-12-29 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Update systems responsive to ongoing processing at a storage system |
WO2013114543A1 (ja) | 2012-01-30 | 2013-08-08 | 三菱電機株式会社 | 列車情報管理装置及びその制御ソフトウェアの選択方法 |
US20130346960A1 (en) * | 2012-06-25 | 2013-12-26 | Infosys Limited | Method and system for updating an application |
JP6064529B2 (ja) * | 2012-11-07 | 2017-01-25 | 株式会社リコー | 情報処理装置 |
JP6056424B2 (ja) * | 2012-11-29 | 2017-01-11 | 株式会社デンソー | 車載プログラム更新装置 |
CN103853574B (zh) * | 2012-12-06 | 2015-09-16 | 腾讯科技(深圳)有限公司 | 一种软件升级的方法及系统 |
JP6020159B2 (ja) * | 2012-12-27 | 2016-11-02 | 株式会社リコー | 情報処理装置、及び情報処理方法 |
US20140245278A1 (en) * | 2013-02-22 | 2014-08-28 | Panasonic Automotive Systems Company Of America, Division Of Panasonic Corpor | Automotive component self update via software version control |
US9075686B2 (en) * | 2013-02-25 | 2015-07-07 | GM Global Technology Operations LLC | System and method to improve control module reflash time |
US9454363B1 (en) * | 2013-03-15 | 2016-09-27 | Data Systems International, Inc. | Mobile application development system and method |
US8954951B1 (en) * | 2013-04-09 | 2015-02-10 | Google Inc. | Stop distribution of application updates |
CN104216727A (zh) * | 2013-06-04 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 应用升级方法和系统 |
KR101459493B1 (ko) * | 2013-10-08 | 2014-11-07 | 현대자동차 주식회사 | 차량 전자 제어 장치 및 차량 제어방법 |
JP6255880B2 (ja) * | 2013-10-10 | 2018-01-10 | 株式会社ソシオネクスト | 高位合成用データ生成装置、高位合成装置、高位合成用データ生成方法及びプログラム |
CN104699491A (zh) * | 2013-12-06 | 2015-06-10 | 中兴通讯股份有限公司 | 一种应用程序的升级处理方法及终端设备 |
WO2015105486A1 (en) * | 2014-01-08 | 2015-07-16 | Hewlett-Packard Development Company, L.P. | Dynamically applying a software patch to a computer program |
JP2015170195A (ja) | 2014-03-07 | 2015-09-28 | ヤンマー株式会社 | 遠隔サーバ |
US9274769B1 (en) * | 2014-09-05 | 2016-03-01 | International Business Machines Corporation | Table of contents pointer value save and restore placeholder positioning |
US10270468B2 (en) * | 2014-12-19 | 2019-04-23 | Aalborg Universitet | Method for file updating and version control for linear erasure coded and network coded storage |
CN105786459A (zh) * | 2014-12-24 | 2016-07-20 | 致伸科技股份有限公司 | 控制系统及控制被动装置的方法 |
US9912655B2 (en) * | 2015-03-27 | 2018-03-06 | Amazon Technologies, Inc. | Unmanned vehicle message exchange |
US10261489B2 (en) * | 2015-04-15 | 2019-04-16 | Indegy Ltd. | Detection of mis-configuration and hostile attacks in industrial control networks using active querying |
US20170033989A1 (en) * | 2015-07-31 | 2017-02-02 | Apple Inc. | Shareable code objects for accessories and user devices |
EP3358465B1 (en) * | 2015-09-29 | 2024-04-17 | Hitachi Astemo, Ltd. | In-vehicle control device, program update system, and program update software |
US20170090910A1 (en) * | 2015-09-29 | 2017-03-30 | International Business Machines Corporation | Mobile device application installation with performance enhancement |
US9728087B2 (en) * | 2015-12-18 | 2017-08-08 | International Business Machines Corporation | Vehicle accident response using diagnostic data burst transmission |
JP2017156936A (ja) * | 2016-03-01 | 2017-09-07 | ヤンマー株式会社 | 端末装置およびソフトウェア書き換えプログラム |
-
2016
- 2016-03-01 JP JP2016038928A patent/JP2017156937A/ja active Pending
-
2017
- 2017-02-20 US US16/081,376 patent/US10732958B2/en not_active Expired - Fee Related
- 2017-02-20 CN CN201780012746.6A patent/CN108701067A/zh active Pending
- 2017-02-20 WO PCT/JP2017/006113 patent/WO2017150247A1/ja active Application Filing
- 2017-02-20 CA CA3016285A patent/CA3016285A1/en not_active Abandoned
- 2017-02-20 EP EP17759713.5A patent/EP3425506A4/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020178434A1 (en) * | 2001-02-22 | 2002-11-28 | Fox Gary L. | Apparatus and method for automatic source code generation in a process control environment |
CN1758220A (zh) * | 2004-10-08 | 2006-04-12 | 华为技术有限公司 | 一种升级软件版本的方法 |
CN101425078A (zh) * | 2008-11-17 | 2009-05-06 | 阿里巴巴集团控股有限公司 | 一种软件源代码的更新方法及装置 |
CN103262047A (zh) * | 2010-12-15 | 2013-08-21 | 微软公司 | 使用代码克隆检测的智能代码差分 |
Also Published As
Publication number | Publication date |
---|---|
WO2017150247A1 (ja) | 2017-09-08 |
EP3425506A4 (en) | 2019-03-20 |
JP2017156937A (ja) | 2017-09-07 |
CA3016285A1 (en) | 2017-09-08 |
US20190073211A1 (en) | 2019-03-07 |
EP3425506A1 (en) | 2019-01-09 |
US10732958B2 (en) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108701067A (zh) | 终端装置以及软件改写程序 | |
CN108701020A (zh) | 终端装置以及软件改写程序 | |
CN101501452B (zh) | 地图更新数据提供装置、版本表、地图数据更新系统和地图更新数据提供方法 | |
JP2004501546A5 (zh) | ||
CN101123750B (zh) | 便于推送内容的后台处理的装置和相关方法 | |
CN102362285A (zh) | 通知装置、通知系统、通知装置的控制方法、控制程序以及存储有该程序的计算机可读取存储介质 | |
CN102223736B (zh) | 与使用多模式应用的多模式设备进行通信的服务器 | |
CA2495093A1 (en) | Providing routing information in a communication system | |
CN110764972A (zh) | 去app化车机埋点方法 | |
CN108701068A (zh) | 终端装置以及软件改写程序 | |
CN110134528A (zh) | 微服务框架的接口信息存储调用方法、装置和终端设备 | |
JP2002312145A5 (zh) | ||
CN109792460A (zh) | 一种文件更新方法、文件更新装置及终端设备 | |
CN105227764B (zh) | 移动终端上的游戏应用程序的传送方法和装置 | |
CN1954628A (zh) | 移动终端、服务器、信息提供系统以及移动终端的通信方法、服务器的通信方法、信息提供系统的信息提供方法 | |
US20040152474A1 (en) | Information providing system, apparatus, method and pervasive device relative to geographical location | |
CN107193597A (zh) | 一种应用程序更新方法及终端 | |
US8606262B1 (en) | Testing or recording system for a mobile telephone | |
CN114268636A (zh) | 一种汽车的tbox数据更新方法、装置、设备和介质 | |
CN108737655A (zh) | 图片处理方法及相关装置 | |
CN108701019A (zh) | 终端装置以及软件改写程序 | |
CN106603639A (zh) | 对离线的种植设备进行系统升级的方法及其控制装置 | |
JP3379505B2 (ja) | ナースコール呼出装置 | |
CN107231624A (zh) | 一种保留数据信息的方法、存储设备及移动终端 | |
JP5560958B2 (ja) | 制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Osaka Prefecture, Japan Applicant after: Yangma Power Technology Co., Ltd Address before: Osaka Prefecture, Japan Applicant before: YANMAR Co.,Ltd. |
|
CB02 | Change of applicant information | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181023 |
|
WD01 | Invention patent application deemed withdrawn after publication |