CN104350479B - 通信装置 - Google Patents
通信装置 Download PDFInfo
- Publication number
- CN104350479B CN104350479B CN201380028695.8A CN201380028695A CN104350479B CN 104350479 B CN104350479 B CN 104350479B CN 201380028695 A CN201380028695 A CN 201380028695A CN 104350479 B CN104350479 B CN 104350479B
- Authority
- CN
- China
- Prior art keywords
- stack
- virtual stack
- virtual
- communicator
- processing
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0203—Power saving arrangements in the radio access network or backbone network of wireless communication networks
- H04W52/0206—Power saving arrangements in the radio access network or backbone network of wireless communication networks in access points, e.g. base stations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/16—Gateway arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
Abstract
一种通信装置,其能够依照多个通信标准进行通信,具有:保存部,其构成为保存多个虚拟栈,所述多个虚拟栈分别是将用于实现所述通信装置的功能的应用程序、与用于实现为了使所述应用程序进行通信的协议栈的通信程序相关联而成的栈;执行部,其构成为执行所述虚拟栈;以及切换控制部,其构成为在从所述保存部读出所述虚拟栈的至少一者的至少一部分而存储至所述执行部的存储器中并执行的第1处理后,进行根据所述存储器的空闲容量,从所述存储器删除在所述第1处理中执行的所述虚拟栈的至少一者的至少一部分的处理,进行从所述保存部读出所述虚拟栈的至少一者的至少一部分而存储至所述执行部的存储器中并执行的第2处理,从而对在所述执行部中执行的虚拟栈进行切换。
Description
技术领域
本发明涉及一种通信装置。
本申请基于在2012年5月30日向日本申请的日本特愿2012-123139主张优先权,并在此援引其内容。
背景技术
当前,在车间或工厂等中,为了实现高级的自动操作,构建出将被称为现场仪器的测定器、操作器等现场设备、和对这些现场设备进行控制的控制装置经由通信单元连接而成的分散控制系统(DCS:Distributed Control System)。成为如上所述的分散控制系统的基础的通信系统,几乎都是通过有线进行通信的结构,但近年来还实现了依照ISA100.11a、WirelessHART(注册商标)等工业用无线通信标准进行无线通信的结构。
上述ISA100是由国际测量控制学会(ISA:International Society ofAutomation)制定出的在车间等的测量·控制等中使用的无线通信标准。与此相对,上述WirelessHART(注册商标)是美国的HART(Highway Addressable Remote Transducer)通信协会提倡,以传感器网络(使多个带传感器的无线终端分散在空间中,能够对它们进行协调从而采集环境、物理状况的无线网络)作为基础的无线通信标准。
在以下的专利文献1中公开有将依照近距离·低消耗电力的无线通信标准即ZigBee(注册商标)的无线传感器网络,与使用互联网协议(IP:Internet Protocol)技术而彼此相连接的计算机网络即IP网络彼此连接的技术。具体而言,在以下的专利文献1中,通过设置下述的网关,从而将这些网络彼此连接,其中,该网关具有:经由依照Zigbee的无线传感器网络实现通信的协议栈;以及经由IP网络实现通信的协议栈。
专利文献1:日本特许第4897884号公报
发明内容
与上述IP网络连接的计算机大多是具有处理能力高的CPU(中央处理装置)、大容量的存储器等的结构。如上所述的计算机预先嵌入有多个应用程序以及用于实现多个通信协议的程序,能够使多个应用并行动作,并且能够针对每个应用切换所使用的通信协议。
与此相对,上述的现场仪器、在上述的传感器网络中所使用的仪器,由于需要进行省电动作,因此大多构成必要最小限度的硬件结构。具体而言,大多采用下述结构,即,具有:CPU,其具有能够使特定的应用动作,并且能够实现利用特定的通信协议而进行通信的处理能力;以及存储器,其具有能够执行用于实现这些应用以及通信协议的程序的容量。
如上所述,由于需要进行省电动作的设备的硬件结构采用必要最小限度,因此难以通过1个仪器同时实现多个功能。假设如果试图使用需要进行省电动作的设备实现多个功能,则需要与试图实现的功能数量相对应地准备嵌入有用于实现每个功能的应用以及用于实现通信协议的程序的仪器,成本会上升。
本发明的一个方式提供一种通信装置,其虽然进行省电动作,但仍能够实现依照不同的通信标准进行通信的多个功能。
本发明的一个方式的通信装置能够依照多个通信标准进行通信,其具有:保存部,其构成为对多个虚拟栈进行保存,所述多个虚拟栈分别是将用于实现所述通信装置的功能的应用程序、与用于实现为了使所述应用程序进行通信的协议栈的通信程序相关联而成的栈;执行部,其构成为执行所述虚拟栈;以及切换控制部,其构成为在从所述保存部读出所述虚拟栈的至少一者的至少一部分而存储至所述执行部的存储器中并执行的第1处理后,进行根据所述存储器的空闲容量,从所述存储器删除在所述第1处理中执行的所述虚拟栈的至少一者的至少一部分的处理,并进行从所述保存部读出所述虚拟栈的至少一者的至少一部分而存储至所述执行部的存储器中并执行的第2处理,从而对在所述执行部中执行的虚拟栈进行切换。
此外,在本发明的一个方式的通信装置中,所述虚拟栈分别包含在所述应用程序以及所述通信程序中的至少一者中使用的参数。
此外,本发明的一个方式的通信装置还具有切换表,该切换表预先规定表示作为切换对象的虚拟栈的信息,所述切换控制部构成为,如果在所述通信装置的外部或内部产生的事件被输入,则通过基于所述事件而参照所述切换表,从而进行所述虚拟栈的切换。
此外,本发明的一个方式的通信装置还具有定时器,所述切换控制部构成为,基于利用所述定时器测量出的时间,而进行所述虚拟栈的切换。
此外,本发明的一个方式的通信装置还具有切换规则,该切换规则预先规定需要进行切换的规则,所述切换控制部构成为,通过对所述通信装置的状况进行识别并参照所述切换规则,从而进行所述虚拟栈的切换。
此外,本发明的一个方式的通信装置在所述切换规则中规定了以下情形,即,所述通信装置成为发生通信故障的状况、在所述通信装置中所设置的电池的剩余电量成为小于或等于一定量的状况、或者所述通信装置成为被启动或重新启动的状况,所述切换控制部构成为,在所述通信装置检测到成为在所述切换规则中所规定的状况的情况下,进行所述虚拟栈的切换。
此外,在本发明的一个方式的通信装置中,所述执行部具有信息保持区域,该信息保持区域对在所述第1处理中执行的虚拟栈和在所述第2处理中执行的虚拟栈之间传递的信息进行保持。
此外,在本发明的一个方式的通信装置中,在所述第1处理中执行的虚拟栈被分割为第1部分和第2部分,其中,该第1部分包含经由所述协议栈进行数据的发送/接收的程序,该第2部分至少包含用于实现数据的前处理或后处理的程序,所述切换控制部构成为进行所述第1以及第2部分的切换,并在所述执行部中依次执行所述第1以及第2部分。
此外,本发明的一个方式的通信装置还具有多个通信接口部,所述多个虚拟栈分别包含确定信息,该确定信息用于确定所述多个通信接口部中的用于进行通信的通信接口部。
此外,在本发明的一个方式的通信装置中,所述切换控制部构成为,在进行所述第1处理之后,在确认在所述存储器中不存在能够存储未存储至所述执行部的存储器中、且在所述第2处理中执行的虚拟栈的至少一部分的空闲容量的情况下,进行所述删除处理。
此外,在本发明的一个方式的通信装置中,所述切换控制部构成为,在进行所述第1处理之后,在确认在所述存储器中存在能够存储未存储至所述执行部的存储器中、且在所述第2处理中执行的虚拟栈的至少一部分的空闲容量的情况下,不进行所述删除处理。
此外,本发明的一个方式的栈的执行控制方法是能够依照多个通信标准进行通信的通信装置中的栈的执行控制方法,所述方法包含以下步骤:进行将多个虚拟栈的至少一者的至少一部分存储至所述通信装置的执行部的存储器中,并在所述执行部中执行的第1处理的步骤;在进行所述第1处理之后,对在所述执行部中执行的虚拟栈的切换条件进行判断的步骤;在判断为所述切换条件成立的情况下,进行根据进行与所述存储器的空闲容量,相对应而从所述存储器删除在所述第1处理中执行的所述虚拟栈的至少一者的至少一部分的处理的步骤;在进行根据与所述存储器的空闲容量相对应而,从所述存储器删除在所述第1处理中执行的所述虚拟栈的至少一者的至少一部分的处理之后,进行将所述虚拟栈的至少一者的至少一部分存储至所述执行部的存储器中,并在所述执行部中执行的第2处理的步骤,并且所述多个虚拟栈的每一个分别包含用于实现所述通信装置的功能的应用程序、以及用于实现为了使所述应用程序进行通信的协议栈的通信程序,其中,该协议栈用于使所述应用程序进行通信。
此外,在本发明的一个方式的栈的执行控制方法中,对在所述执行部中执行的虚拟栈的切换条件进行判断的步骤,通过基于在所述通信装置的外部或内部产生的事件而参照预先规定的切换信息,从而判断所述切换条件。
此外,在本发明的一个方式的栈的执行控制方法中,对在所述执行部中执行的虚拟栈的切换条件进行判断的步骤,基于时刻或所述虚拟栈的执行时间,判断所述切换条件。
此外,在本发明的一个方式的栈的执行控制方法中,对在所述执行部中执行的虚拟栈的切换条件进行判断的步骤,通过基于所述通信装置的状况而参照预先规定的切换规则,从而判断所述切换条件。
此外,本发明的一个方式的栈的执行控制方法在所述切换规则中规定出了对以下情况情形进行规定,即,所述通信装置成为发生通信故障的状态状况、在所述通信装置中所设置设有的电池的剩余电量成为小于或等于一定量的状况状态、或者所述通信装置成为被启动或重新启动的状态状况,对在所述执行部中执行的虚拟栈的切换条件进行判断的步骤,在所述通信装置检测到成为在所述切换规则中所规定的状况的情况下,判断为所述虚拟栈的切换条件成立。
此外,在本发明的一个方式的栈的执行控制方法中,进行与根据所述存储器的空闲容量,相对应而从所述存储器删除在所述第1处理中执行的所述虚拟栈的至少一者的至少一部分的处理的步骤,在确认到在所述存储器中没有不存在能够存储:未存储至所述执行部的存储器中、且,并且在所述第2处理中执行的所述虚拟栈的至少一者的至少一部分的空闲容量的情况下,进行所述删除的处理删除处理。
此外,在本发明的一个方式的栈的执行控制方法中,进行根据所述存储器的空闲容量,从所述存储器删除在所述第1处理中执行的所述虚拟栈的至少一者的至少一部分的处理的步骤,在确认到在所述存储器中存在能够存储未存储至所述执行部的存储器中、且在所述第2处理中执行的所述虚拟栈的至少一者的至少一部分的空闲容量的情况下,不进行所述删除处理。
发明的效果
根据本发明的一个方式,由于在切换控制部的控制之下在执行部中执行第1虚拟栈和第2虚拟栈中的某一方,因此,虽然进行省电动作,但能够实现依照不同的通信标准进行通信的多个功能,其中,第1虚拟栈是将第1应用程序和用于实现第1协议栈的第1通信程序相关联而成的,第2虚拟栈是将第2应用程序和用于实现第2协议栈的第2通信程序相关联而成的。
附图说明
图1是表示本发明的第1实施方式涉及的通信装置的要部结构的框图。
图2是表示本发明的第1实施方式中的虚拟栈的一个例子的图。
图3A是用于说明本发明的第1实施方式中的虚拟栈的切换条件的图。
图3B是用于说明本发明的第1实施方式中的虚拟栈的切换条件的图。
图3C是用于说明本发明的第1实施方式中的虚拟栈的切换条件的图。
图4是表示本发明的第1实施方式涉及的通信装置的动作的流程图。
图5是表示本发明的第2实施方式涉及的通信装置的要部结构的框图。
图6是表示本发明的第2实施方式的应用例涉及的通信装置的要部结构的框图。
图7是表示本发明的第2实施方式的应用例中的虚拟栈的一个例子的图。
图8是表示本发明的第2实施方式的应用例涉及的通信装置的接收动作的流程图。
图9是表示本发明的第2实施方式的应用例涉及的通信装置的发送动作的流程图。
图10是表示本发明的第3实施方式涉及的通信装置的要部结构的框图。
图11是表示虚拟栈的其它例子的图。
图12是表示本发明的第3实施方式涉及的通信装置的动作的流程图。
具体实施方式
以下,参照附图对本发明的一个实施方式涉及的通信装置进行详细的说明。
〔第1实施方式〕
图1是表示本发明的第1实施方式涉及的通信装置的要部结构的框图。如图1所示,该第1实施方式的通信装置1具有:虚拟栈保存部11(保存部)、虚拟栈执行部12(执行部)、切换控制部13、以及无线通信接口部14,该通信装置1能够依照多个无线通信标准进行通信。例如,通信装置1是进行省电动作,并且能够依照工业用无线通信标准即ISA100.11a进行无线通信、以及依照WirelessHART(注册商标)进行无线通信的现场仪器。
虚拟栈保存部11例如利用闪存ROM(Read Only Memory)、EEPROM(ElectricallyErasable and Programmable ROM)等非易失性存储器实现,对在通信装置1中使用的虚拟栈VS1(第1虚拟栈)以及虚拟栈VS2(第2虚拟栈)进行保存。虚拟栈VS1以及VS2是与通信装置1的硬件结构相对应,将用于实现通信装置1的功能的应用程序、和用于实现为了使应用程序进行通信所必需的协议栈的通信程序相关联而成的结构。
图2是表示本发明的第1实施方式中的虚拟栈的一个例子的图。如图2所示,虚拟栈VS1包含将应用程序AP1(第1应用程序)和通信程序P11~P13(第1通信程序)相关联而成的结构、以及参数PM1。应用程序AP1是用于实现通信装置1的功能(例如,流量测定功能、温度测定功能、其它功能)的程序。
通信程序P11~P13是用于实现依照上述的无线通信标准ISA100.11a的协议栈ST1(第1协议栈)的程序。具体而言,通信程序P11实现协议栈ST1的数据链路层,通信程序P12实现协议栈ST1的网络层,通信程序P13实现协议栈ST1的传输层。
更具体而言,通信程序P11实现由无线通信标准IEEE802.15.4规定的数据链路层。通信程序P12实现由互联网协议的一种即IPv6规定的网络层。通信程序P13实现由互联网协议规定的UDP(User Datagram Protocol:用户数据报协议)而作为传输层。
参数PM1是在应用程序AP1以及通信程序P11~P13中的某一方中使用的参数。在该参数PM1中,作为在应用程序AP1中所使用的参数,例如包含在加密处理中使用的密钥信息、表示加密算法的信息、表示测定出的流量、温度等的单位的信息等。此外,作为在通信程序P11~P13中使用的参数,包含表示数据的发送目标、发送源的信息、以及用于识别通信网络的信息(子网ID)等。
与此相对,虚拟栈VS2包含将应用程序AP2(第2应用程序)和通信程序P21~P23(第2通信程序)相关联而成的结构、以及参数PM2。应用程序AP2与应用程序AP1同样地,是用于实现通信装置1的功能的程序。另外,利用应用程序AP2实现的功能可以与利用应用程序AP1实现的功能相同,也可以不同。
通信程序P21~P23是用于实现依照上述的无线通信标准WirelessHART(注册商标)的协议栈ST2(第2协议栈)的程序。具体而言,通信程序P21实现协议栈ST2的数据链路层,通信程序P22实现协议栈ST2的网络层,通信程序P23实现协议栈ST2的传输层。
参数PM2是在应用程序AP2以及通信程序P21~P23中的某一方中使用的参数。在该参数PM2中,与参数PM1同样地,作为在应用程序AP2中使用的参数,例如包含在加密处理中所使用的密钥信息、表示加密算法的信息、表示测定出的流量、温度等的单位的信息等,作为在通信程序P21~P23中使用的参数,包含表示数据的发送目标、发送源的信息、以及用于识别通信网络的信息(子网ID)等。
另外,在本第1实施方式中,为了简化说明,以在虚拟栈保存部11中保存2个虚拟栈VS1以及VS2的情况为例进行说明。但是,在虚拟栈保存部11中,只要被虚拟栈保存部11的容量所容许,则能够保存任意数量的虚拟栈。
虚拟栈执行部12依次执行在虚拟栈保存部11中所保存的虚拟栈VS1以及VS2。该虚拟栈执行部12利用CPU(中央处理装置)以及RAM(Random Access Memory)等易失性的存储器实现,将利用切换控制部13的控制而从虚拟栈保存部11读出的虚拟栈存储至易失性存储器中并执行。另外,构成虚拟栈执行部12的一部分的易失性存储器的容量设定为能够使虚拟栈VS1以及VS2执行的容量。此外,在图1中,为了容易理解,将读出至虚拟栈执行部12的虚拟栈表现为虚线的虚拟栈VS0。
切换控制部13进行在虚拟栈执行部12中执行的虚拟栈VS1以及VS2的切换。例如,切换控制部13基于在通信装置1的外部或内部产生的事件、时间、或通信装置1的状况(关联性),进行在虚拟栈执行部12中执行的虚拟栈VS1以及VS2的切换。图3A~图3C是用于说明本发明的第1实施方式中的虚拟栈的切换条件的图,图3A是以在通信装置1的外部或内部产生的事件为切换条件的情况的说明图,图3B是以时间为切换条件的情况的说明图,图3C是以通信装置1的状况为切换条件的情况的说明图。
如图3A所示,在以通信装置1的外部产生的事件E1或者在内部产生的事件E2为切换条件的情况下,切换控制部13参照切换表TB(针对事件E1以及E2的种类,预先规定表示作为切换对象的虚拟栈的信息)而进行虚拟栈VS1以及VS2的切换。上述的事件E1例如是用于通知流量、温度等测定结果的事件,上述的事件E2例如是表示下述通信结果的事件,该通信结果是通过在虚拟栈执行部12中所执行的虚拟栈进行通信而产生的。
另外,切换控制部13有时不参照上述的切换表TB,而进行虚拟栈VS1以及VS2的切换。例如,能够在虚拟栈保存部11中只保存2个虚拟栈VS1以及VS2,在事件E1以及E2产生时,在必须将在虚拟栈执行部12中正在执行的虚拟栈(例如,虚拟栈VS1)切换为未执行的虚拟栈(例如,虚拟栈VS2)的情况下,省略对切换表TB的参照。
如图3B所示,在以时间为切换条件的情况下,切换控制部13参照利用定时器TM测量出的时间进行虚拟栈VS1以及VS2的切换。例如,在成为预先设定的时刻的情况下,或在虚拟栈执行部12中正在执行的虚拟栈的执行时间经过了预先设定的时间的情况下,切换控制部13进行虚拟栈VS1以及VS2的切换。另外,在图3B所示的例子中,在切换控制部13的外部设有定时器TM,但也可以将定时器TM设置在切换控制部13的内部。
如图3C所示,在以通信装置1的状况为切换条件的情况下,切换控制部13识别通信装置1的状况,一边参照预先规定的切换规则CR,一边进行虚拟栈VS1以及VS2的切换。上述的切换规则CR是规定需要进行虚拟栈VS1以及VS2的切换的规则(准则)而成的。在该切换规则CR中,例如,规定出了以下情形等,即,通信装置1只在使用特定的虚拟栈的情况下成为发生通信故障的状况、在通信装置1中所设置的电池的剩余电量成为小于或等于一定量的状况、或者通信装置1成为被启动或重新启动的状况。
无线通信接口部14从通信装置1的外部接收作为无线信号而发送来的数据,并且将应发送至通信装置1的外部的数据作为无线信号而发送。该无线通信接口部14例如相当于由无线通信标准IEEE802.15.4规定的物理层。
下面,对上述结构中的通信装置1的动作进行简单的说明。图4是表示本发明的第1实施方式涉及的通信装置的动作的流程图。另外,图4所示的流程图是通过接通通信装置1的电源,并启动通信装置1而开始的。如果通信装置1启动,则首先从虚拟栈保存部11由切换控制部13读出预先规定的(默认的)虚拟栈(步骤S11)。另外,在本第1实施方式中,读出虚拟栈VS1。
从虚拟栈保存部11读出的虚拟栈VS1利用切换控制部13存储至虚拟栈执行部12的存储器中并执行(步骤S12)。由此,实现图2所示的协议栈ST1、以及利用应用程序AP1实现的通信装置1的功能(例如,流量测定功能、温度测定功能、其它功能),通信装置1成为能够依照上述的无线通信标准ISA100.11a进行无线通信的状态。
如果以上的处理结束,则利用切换控制部13判断虚拟栈的切换条件是否成立(步骤S13)。例如,如图3A所示,在以通信装置1的外部产生的事件E1或在内部产生的事件E2为切换条件的情况下,判断向切换控制部13中是否输入有事件E1或事件E2。此外,如图3B所示,在以时间为切换条件的情况下,利用切换控制部13参照定时器TM,判断是否成为预先设定的时刻,或在虚拟栈执行部12中正在执行的虚拟栈VS1的执行时间是否经过了预先设定的时间。或者,如图3C所示,在以通信装置1的状况为切换条件的情况下,利用切换控制部13参照切换规则CR,判断通信装置1的状况是否成为在切换规则CR中所规定的状况。
在判断为虚拟栈的切换条件不成立的情况下(步骤S13的判断结果是“NO”的情况下),在切换控制部13中再次进行步骤S13的判断。与此相对,在判断为虚拟栈的切换条件成立的情况下(步骤S13的判断结果是“YES”的情况下),接下来确认在虚拟栈执行部12的存储器中是否存在能够存储所要执行(切换)的虚拟栈的空闲容量(步骤S14)。另外,在该第1实施方式中,将接下来将在虚拟栈执行部12的存储器中所要执行(切换)的虚拟栈设为虚拟栈VS2。在虚拟栈执行部12的存储器中存在能够存储虚拟栈VS2的空闲容量的情况下(步骤S14的确认结果是“YES”的情况下),不从存储器删除虚拟栈VS1,而从虚拟栈保存部11读出虚拟栈VS2(步骤S16)。另一方面,在虚拟栈执行部12的存储器中不存在能够存储虚拟栈VS2的空闲容量的情况下(步骤S14的确认结果是“NO”的情况下),从虚拟栈执行部12的存储器中删除虚拟栈VS1(步骤S15),从虚拟栈保存部11读出虚拟栈VS2(步骤S16)。
然后,从虚拟栈保存部11读出的虚拟栈VS2利用切换控制部13存储至虚拟栈执行部12的存储器中并执行(步骤S17)。由此,实现图2所示的协议栈ST2、以及利用应用程序AP2实现的通信装置1的功能,通信装置1成为能够依照上述的无线通信标准WirelessHART(注册商标)进行无线通信的状态。之后,重复步骤S13~S17的处理。
如以上所示,该第1实施方式的通信装置1构成为,将对应用程序和用于实现为了使应用程序进行通信所必需的协议栈的通信程序相关联而成的虚拟栈VS1以及VS2保存在虚拟栈保存部11中,利用切换控制部13切换在虚拟栈执行部12中执行的虚拟栈VS1以及VS2。因此,即使为了进行省电动作而将通信装置1的硬件结构设为必要最小限度,也能够进行省电动作,并且实现依照不同的无线通信标准进行通信的多个功能。
〔第2实施方式〕
图5是表示本发明的第2实施方式涉及的通信装置的要部结构的框图。如图5所示,该第2实施方式的通信装置2是取代图1所示的通信装置1所具有的虚拟栈执行部12而设置虚拟栈执行部21而构成的结构。该虚拟栈执行部21与图1所示的虚拟栈执行部12同样地,依次执行虚拟栈VS1以及VS2,但还具有信息保持区域R1,该信息保持区域R1是对在虚拟栈执行部21中执行的虚拟栈之间所传递的信息进行保持的区域。通过设置该信息保持区域R1,从而能够在利用切换控制部13所切换的虚拟栈VS1、以及VS2之间顺利地进行信息的传递。
图6是表示本发明的第2实施方式的应用例涉及的通信装置的要部结构的框图。如图6所示,该应用例的通信装置2′与图5所示的通信装置2同样地,是具有虚拟栈保存部11、虚拟栈执行部21、切换控制部13、以及无线接口14的结构。然而,该应用例的通信装置2′在虚拟栈保存部11中保存的虚拟栈VS1与图5所示的通信装置2不同。
具体而言,在图5所示的通信装置2的虚拟栈保存部11中所保存的虚拟栈VS1如图2所示,包含将应用程序AP1和通信程序P11~P13相关联而成的结构、以及参数PM1。与此相对,在图6所示的通信装置2′所具有的虚拟栈保存部11中保存的虚拟栈VS1被分割为虚拟栈VS11(第1部分)和虚拟栈VS12(第2部分)。如上所述,将虚拟栈VS1分割为虚拟栈VS11以及VS12的原因在于,即使在虚拟栈VS1中所包含的应用程序AP1的程序大小是由通信装置2′无法执行的大小,也能够执行应用程序AP1。
图7是表示本发明的第2实施方式的应用例中的虚拟栈VS1的一个例子的图。如图7所示,构成虚拟栈VS1的一部分的虚拟栈VS11包含通信程序P11~P13、应用程序AP11、以及参数PM11。通信程序P11~P13与图2所示的结构相同,是用于实现依照上述的无线通信标准ISA100.11a的协议栈ST1的程序。
应用程序AP11是应用程序AP1中的经由协议栈ST1进行数据的发送/接收的程序。参数PM11是在通信程序P11~P13以及应用程序AP11中的某一方中使用的参数,例如包含表示数据的发送目标、发送源的信息、以及用于识别通信网络的信息(子网ID)等。
与此相对,构成虚拟栈VS1的其余部分的虚拟栈VS12包含应用程序AP12以及参数PM12。应用程序AP12是应用程序AP1中的除了应用程序AP11之外的其余的程序。例如,是用于实现:经由协议栈ST1应发送的数据的前处理、经由协议栈ST1接收到的数据的后处理、以及通信装置2′的功能(例如,流量测定功能、温度测定功能、其它功能)的程序。在所述前处理中包含加密处理,但也可以包含除此之外的处理。在所述后处理中包含解密处理,但也可以包含除此之外的处理。参数PM12是应用程序AP12的执行时所使用的参数,例如包含:在加密处理中所使用的密钥信息、表示加密算法的信息、表示测定出的流量、温度的单位的信息。
在该应用例中,对将应用程序AP1分割为经由协议栈ST1进行数据的发送/接收的程序即应用程序AP11、以及其余的应用程序AP12的例子进行了说明,但应用程序AP1的分割方法是任意的。但是,不会发生虚拟栈VS11以及VS12无法执行的情况,并且,不会对通信装置2′的处理(例如,数据的发送/接收处理)造成障碍。例如,应用程序AP1也可以分割为大于或等于3个程序。
另外,图5所示的通信装置2的虚拟栈执行部21与图1所示的通信装置1的虚拟栈执行部12同样地,依次执行在虚拟栈保存部11中保存的虚拟栈VS1以及VS2。与此相对,图6所示的通信装置2′所具有的虚拟栈执行部21能够依次执行虚拟栈VS11、VS12、以及VS2。
此外,通信装置2′所具有的切换控制部13能够对在虚拟栈执行部21中执行的虚拟栈VS11、VS12、以及VS2进行切换。具体而言,切换控制部13与使用图3A所说明的情况同样地,在通信装置2′的内部产生的事件E2(具体而言,从在虚拟栈执行部21中正在执行的虚拟栈VS0输出的事件)被输入的情况下,对在虚拟栈执行部21中执行的虚拟栈VS11以及VS12进行切换。
例如,切换控制部13在通过依照无线通信标准ISA100.11a的无线通信而从通信装置2′的外部发送数据的情况下,从虚拟栈保存部11读出虚拟栈VS11并在虚拟栈执行部21中执行。接下来,在表示接收处理结束这一情况的事件E2从虚拟栈VS11(虚拟栈VS0)输出时,将在虚拟栈执行部21中执行的虚拟栈从虚拟栈VS11切换为虚拟栈VS12,并针对进行接收处理后的数据进行解密处理(后处理)。
此外,例如,切换控制部13在通过依照无线通信标准ISA100.11a的无线通信而向通信装置2′的外部发送数据的情况下,从虚拟栈保存部11读出虚拟栈VS12并在虚拟栈执行部21中执行,进行加密处理(前处理)。接下来,在表示加密处理结束这一情况的事件E2从虚拟栈VS12(虚拟栈VS0)输出时,将在虚拟栈执行部21中执行的虚拟栈从虚拟栈VS12切换为虚拟栈VS11,并对进行加密处理后的数据进行发送处理。
并且,切换控制部13在虚拟栈执行部21中执行的虚拟栈VS12(虚拟栈VS0)的状态不定的情况下(例如,利用看门狗定时器检测出问题的情况下等),必须在虚拟栈执行部21中执行包含实现协议栈ST1的通信程序P11~P13在内的虚拟栈VS11。这是由于,例如,为了通过远程操作而将在虚拟栈VS12的执行过程中产生的问题复原,将通信装置2′设为能够通信的状态。如上所述,如果通过远程操作能够复原在通信装置2′中产生的问题,则不需要使作业人员前往通信装置2′的设置场所并进行复原作业,就能够尽快地使通信装置2′复原。
下面,对上述结构中的通信装置2′的动作进行简单地说明。另外,以下,以从通信装置2′的外部接收利用依照无线通信标准ISA100.11a的无线通信而发送出的数据时的动作(接收动作)、以及利用依照无线通信标准ISA100.11a的无线通信发送向通信装置2′的外部发送的数据时的动作(发送动作)为例进行说明。通信装置2′为了降低消耗电力,设为以预先规定的时间表进行间歇动作。因此,通信装置2′在预先规定的定时进行发送动作,并在与进行发送动作的定时不同的预先规定的定时进行接收动作。
〈接收动作〉
图8是表示本发明的第2实施方式的应用例涉及的通信装置的接收动作的流程图。在进行接收动作的情况下,首先,由切换控制部13读出在虚拟栈保存部11中保存的虚拟栈VS11,并存储至虚拟栈执行部12的存储器中并执行(步骤S21)。由此,在通信装置2′中实现如图7所示的协议栈ST1、以及经由协议栈ST1进行的数据的发送/接收功能(利用应用程序AP11实现的功能)。
在虚拟栈VS11正在执行的状态下,如果从通信装置2′的外部发送以通信装置2′为目标的数据,则该数据由无线通信接口部14接收(步骤S22)。由无线通信接口部14接收到的数据输出至虚拟栈执行部12,进行利用虚拟栈VS11进行的接收处理(数据包处理等)(步骤S23)。另外,利用虚拟栈VS11进行的接收处理,是使用利用通信程序P11~P13而实现的协议栈ST1和参数PM11进行的。进行接收处理后的数据被保持在虚拟栈执行部12的信息保持区域R1中(步骤S24)。
如果利用虚拟栈VS11进行的接收处理结束,则表示接收处理结束这一情况的事件信号E2从虚拟栈VS11(虚拟栈VS0)输出至切换控制部13(步骤S25)。接下来,切换控制部13确认在虚拟栈执行部12的存储器中是否存在能够存储虚拟栈VS12的空闲容量(步骤S26)。在虚拟栈执行部12的存储器中存在能够存储虚拟栈VS12的空闲容量的情况下(步骤S26的确认结果是“YES”的情况下),不从存储器中删除虚拟栈VS11,而从虚拟栈保存部11读出虚拟栈VS12,并存储至虚拟栈执行部12的存储器中(步骤S28)。另一方面,在虚拟栈执行部12的存储器中不存在能够存储虚拟栈VS12的空闲容量的情况下(步骤S26的确认结果是“NO”的情况下),从虚拟栈执行部12的存储器删除虚拟栈VS11(步骤S27),从虚拟栈保存部11读出虚拟栈VS12,并存储至虚拟栈执行部12的存储器中(步骤S28)。由此,将在虚拟栈执行部12中执行的虚拟栈从虚拟栈VS11切换为虚拟栈VS12。由此,实现图7所示的应用程序AP12的功能,进行经由协议栈ST1接收到的数据的解密处理(后处理)等(步骤S29)。另外,在解密处理中,利用应用程序AP12读出在信息保持区域R1中保持的数据,并使用在虚拟栈VS12中所包含的参数PM12。由此,发送至通信装置2′的数据被接收。
在以上的接收处理中得到的数据在例如利用应用程序AP12而实现的功能(例如,流量测定功能、温度测定功能、其它功能)中使用。另外,在步骤S27~S29的处理中产生问题的情况下,例如,为了能够利用远程操作而将在虚拟栈VS12的执行过程中所产生的问题复原,将在虚拟栈执行部12中执行的虚拟栈利用切换控制部13从虚拟栈VS12切换为虚拟栈VS11。
〈发送动作〉
图9是表示本发明的第2实施方式的应用例涉及的通信装置的发送动作的流程图。在进行发送动作的情况下,首先,由切换控制部13读出在虚拟栈保存部11中保存的虚拟栈VS12,并存储至虚拟栈执行部12的存储器中,并在虚拟栈执行部12中执行(步骤S31)。由此,实现图7所示的应用程序AP12的功能。如果执行虚拟栈VS12,则进行取得发送至外部的数据的处理(步骤S32)。例如,在通过应用程序AP12的执行而在通信装置2′中实现流量测定功能的情况下,进行测定流量并取得流量数据的处理,在通信装置2′中实现温度测定功能的情况下,进行测定温度并取得温度数据的处理。
如果取得从通信装置2′发送至外部的数据,则该数据在虚拟栈执行部12中进行加密处理(前处理)(步骤S33)。另外,加密处理是使用在虚拟栈VS12中所包含的参数PM12而进行的。进行加密处理后的数据保持在虚拟栈执行部12的信息保持区域R1中(步骤S34)。
如果利用虚拟栈VS12进行的加密处理结束,则表示加密处理结束这一情况的事件E2从虚拟栈VS12(虚拟栈VS0)输出至切换控制部13(步骤S35)。接下来,切换控制部13确认在虚拟栈执行部12的存储器中是否存在能够存储虚拟栈VS11的空闲容量(步骤S36)。在虚拟栈执行部12的存储器中存在能够存储虚拟栈VS11的空闲容量的情况下(步骤S36的确认结果是“YES”的情况下),不从存储器中删除虚拟栈VS12,而从虚拟栈保存部11读出虚拟栈VS11,并存储至虚拟栈执行部12的存储器中(步骤S38)。另一方面,在虚拟栈执行部12的存储器中不存在能够存储虚拟栈VS11的空闲容量的情况下(步骤S36的确认结果是“NO”的情况下),从虚拟栈执行部12的存储器删除虚拟栈VS12(步骤S37),从虚拟栈保存部11读出虚拟栈VS11,并存储至虚拟栈执行部12的存储器中(步骤S38)。由此,将在虚拟栈执行部12中执行的虚拟栈从虚拟栈VS12切换为虚拟栈VS11。由此,实现图7所示的协议栈ST1和经由协议栈ST1进行的数据的发送/接收功能(利用应用程序AP11实现的功能)。
利用虚拟栈VS12加密后的数据在虚拟栈执行部12中进行利用虚拟栈VS11进行的发送处理(数据包处理等)(步骤S39)。另外,利用虚拟栈VS11进行的发送处理,是使用利用通信程序P11~P13实现的协议栈ST1和参数PM11而进行的。利用虚拟栈VS11进行的发送处理结束后的数据从虚拟栈执行部12输出至无线通信接口部14而作为无线信号发送。如上所述,将数据从通信装置2′发送至外部。
另外,在步骤S31~S37的处理中产生问题的情况下,将在虚拟程序执行部12中执行的虚拟栈利用切换控制部13从虚拟栈VS12切换为虚拟栈VS11。其目的在于,与接收处理的情况同样地,例如能够利用远程操作而将在虚拟栈VS12的执行中所产生的问题复原。
如上所述,在该应用例中,构成为将虚拟栈VS1分割为虚拟栈VS11和虚拟栈VS12,并利用切换控制部13对在虚拟栈执行部12中执行的虚拟栈VS11以及VS12进行切换。因此,即使在虚拟栈VS1中所包含的应用程序AP1的程序大小是在通信装置2′中无法执行的大小,也能执行应用程序AP1。此外,与第1实施方式同样地,即使为了进行省电动作而将通信装置2′的硬件结构设为必要最小限度,也能够进行省电动作,并且实现依照不同的无线通信标准进行通信的多个功能。
〔第3实施方式〕
图10是表示本发明的第3实施方式涉及的通信装置的要部结构的框图。如图10所示,该第3实施方式的通信装置3构成为,取代图1所示的通信装置1所具有的虚拟栈执行部12以及切换控制部13,分别设置虚拟栈执行部31以及切换控制部32,并且取代无线通信接口部14,而设置2个无线通信接口部14a、14b。此外,在虚拟栈保存部11中保存有3个虚拟栈VS1~VS3。另外,在虚拟栈保存部11中保存的栈的数量,只要被虚拟栈保存部11的容量所容许,则是任意的。例如,也可以在虚拟栈保存部11中保存大于或等于4个的虚拟栈。
虚拟栈执行部31与图1所示的虚拟栈执行部12同样地,执行从虚拟栈保存部11读出的虚拟栈。但是,与图1所示的虚拟栈执行部12的不同之处在于,能够同时执行在虚拟栈保存部11中保存的虚拟栈VS1~VS3中的某2个虚拟栈。另外,在图10中,为了容易理解,将在虚拟栈执行部31中执行的虚拟栈表现为虚线的虚拟栈VS01以及VS02。
切换控制部32对在虚拟栈执行部31中执行的虚拟栈进行切换,可以只对在虚拟栈执行部31中执行的1个虚拟栈进行切换,或者对在虚拟栈执行部31中执行的2个虚拟栈的双方进行切换。该切换控制部32一边参照预先规定的互斥控制规则ER,一边对虚拟栈进行切换。
上述的互斥控制规则ER对下述规则进行了规定,该规则用于防止由在虚拟栈执行部31中执行的虚拟栈VS01以及VS02所使用的无线通信接口部的冲突。在该互斥控制规则ER中例如对下述规则等进行了规定,即,使在虚拟栈执行部31中执行的虚拟栈VS01使用无线通信接口部14a,使虚拟栈VS02使用无线通信接口部14b。
无线通信接口部14a以及14b与图1所示的无线通信接口部14同样地,对从通信装置3的外部作为无线信号而发送来的数据进行接收,并且将发送至通信装置3的外部的数据作为无线信号而发送。这些无线通信接口部14a以及14b例如相当于由无线通信标准IEEE802.15.4规定的物理层。
在上述结构中的通信装置3中,按照图12所示的流程图进行动作。即,如果电源接通而启动通信装置3,则首先利用切换控制部32从虚拟栈保存部11读出预先规定的2个虚拟栈(步骤S41),并将该2个虚拟栈存储至虚拟栈执行部31的存储器中,并在虚拟栈执行部31中执行(步骤S42)。另外,在该第3实施方式中,将在步骤S41中读出的2个虚拟栈设为虚拟栈VS1以及VS2。
如果以上的处理结束,则利用切换控制部32判断虚拟栈的切换条件是否成立(步骤S43)。并且,在判断为虚拟栈的切换条件不成立的情况下(步骤S43的判断结果是“NO”的情况下),在切换控制部32中再次进行步骤S43的判断。与此相对,在判断为虚拟栈的切换条件成立的情况下(步骤S43的判断结果是“YES”的情况下),确认在虚拟栈执行部31的存储器中是否存在能够存储未存储至虚拟栈执行部31的存储器中、且接下来将要执行(切换)的虚拟栈的空闲容量(步骤S44)。另外,在该第3实施方式中,将接下来将在虚拟栈执行部31的存储器中执行(切换)的虚拟栈设为虚拟栈VS2以及VS3。因此,在步骤S44中,相当于未存储至虚拟栈执行部31的存储器中、且接下来将要执行(切换)的虚拟栈的栈是虚拟栈VS3。并且,在虚拟栈执行部31的存储器中存在能够存储虚拟栈VS3的空闲容量的情况下(步骤S44的确认结果是“YES”的情况下),从虚拟栈保存部11读出虚拟栈VS3,并存储至虚拟栈执行部31的存储器中(步骤S46),执行所读出的虚拟栈VS3、以及在虚拟栈执行部31的存储器中预先所存储的虚拟栈VS2(步骤S47)。另一方面,在虚拟栈执行部31的存储器中不存在能够存储虚拟栈VS3的空闲容量的情况下(步骤S44的确认结果是“NO”的情况下),从虚拟栈执行部31的存储器中删除执行完毕的虚拟栈中的至少一者(在该第3实施方式中是虚拟栈VS1)(步骤S45),从虚拟栈保存部11读出虚拟栈VS3,并存储至虚拟栈执行部31的存储器中(步骤S46),执行所读出的虚拟栈VS3、以及在虚拟栈执行部31的存储器中预先所存储的虚拟栈VS2(步骤S47)。此外,在虚拟栈VS1~VS3分别包含多个子程序的情况下,也可以是以该子程序为单位,将程序从虚拟栈保存部11读出,存储至虚拟栈执行部31的存储器中并执行,从存储器中删除。
如以上所示,该第3实施方式的通信装置3构成为,将应用程序和用于实现为了使应用程序进行通信所必需的协议栈的通信程序相关联而成的虚拟栈VS1~VS3保存在虚拟栈保存部11中,利用切换控制部32切换在虚拟栈执行部31中执行的虚拟栈。因此,即使为了进行省电动作而将通信装置3的硬件结构设为必要最小限度,也能够进行省电动作,并且实现依照不同的无线通信标准进行通信的多个功能。
另外,如以上说明的第3实施方式涉及的通信装置3这样,在设有多个无线通信接口部14a以及14b的情况下,如图11所示,也可以在虚拟栈中包含用于确定无线通信接口部的信息。图11是表示虚拟栈的其它例子的图。图11所示的虚拟栈VS在图2所示的虚拟栈VS1中还包含物理层标识符D1(确定信息),该物理层标识符D1用于确定出无线通信接口部14a以及14b中的某一方。
如果在虚拟栈执行部(例如,虚拟栈执行部31)中执行如上所述的虚拟栈VS,则利用切换控制部(例如,切换控制部32)参照在虚拟栈VS中所包含的物理层标识符D1。利用切换控制部的控制,在通过执行虚拟栈VS而实现的协议栈ST1、和由物理层标识符D1确定的无线通信接口部之间进行数据的输入/输出。
以上,对本发明的几个实施方式涉及的通信装置进行了说明,但本发明不限于上述的实施方式,能够在本发明的范围内自由变更。例如,在上述实施方式中以进行无线通信的通信装置1~3为例进行了说明,但本发明不仅能应用于进行无线通信的通信装置,还能够应用于进行有线通信的通信装置。
标号的说明
1~3 通信装置
11 虚拟栈保存部
12 虚拟栈执行部
13 切换控制部
14、14a、14b 无线通信接口部
21 虚拟栈执行部
31 虚拟栈执行部
32 切换控制部
AP1、AP2 应用程序
AP11、AP12 应用程序
D1 物理层标识符
E1、E2 事件
P11~P13 通信程序
P21~P23 通信程序
PM1、PM2 参数
R1 信息保持区域
ST1、ST2 协议栈
VS1、VS2 虚拟栈
VS11 虚拟栈
VS12 虚拟栈
Claims (14)
1.一种通信装置,其能够依照多个通信标准进行通信,其具有:
保存部,其构成为对多个虚拟栈进行保存,所述多个虚拟栈分别是将用于实现所述通信装置的功能的应用程序、与用于实现为了使所述应用程序进行通信的协议栈的通信程序相关联而成的栈;
执行部,其构成为同时执行所述多个虚拟栈中的任意2个虚拟栈;
切换控制部,其构成为在读出从所述保存部中所保存的所述多个虚拟栈中部分地选择的2个虚拟栈而存储至所述执行部的存储器中并执行的第1处理后,进行根据所述存储器的空闲容量,从所述存储器删除在所述第1处理中执行的所述部分地选择的虚拟栈的至少一者的处理,并进行从所述保存部读出未存储至所述存储器中、且除了在所述第1处理中执行的所述部分地选择的虚拟栈之外的至少一个虚拟栈而存储至所述执行部的存储器中并执行的第2处理,从而对在所述执行部中执行的虚拟栈进行切换;以及
多个通信接口部,
在所述第1处理中执行的虚拟栈被分割为第1部分和第2部分,其中,该第1部分包含经由所述协议栈进行数据的发送/接收的程序,该第2部分至少包含用于实现数据的前处理或后处理的程序,
所述切换控制部构成为进行所述第1以及第2部分的切换,并在所述执行部中依次执行所述第1以及第2部分,
在所述第2部分的执行过程中检测出问题的情况下,所述切换控制部使得在所述执行部中执行所述第1部分以取代所述第2部分,
所述切换控制部一边参照互斥控制规则一边进行所述虚拟栈的切换,该互斥控制规则对下述规则进行了规定,该规则用于防止由在所述执行部中执行的所述2个虚拟栈所使用的所述多个通信接口部的冲突。
2.根据权利要求1所述的通信装置,其中,
还具有切换表,该切换表预先规定表示作为切换对象的虚拟栈的信息,
所述切换控制部构成为,如果在所述通信装置的外部或内部产生的事件被输入,则通过基于所述事件而参照所述切换表,从而进行所述虚拟栈的切换。
3.根据权利要求1所述的通信装置,其中,
还具有定时器,
所述切换控制部构成为,基于利用所述定时器测量出的时间,进行所述虚拟栈的切换。
4.根据权利要求1所述的通信装置,其中,
还具有切换规则,该切换规则预先规定需要进行切换的规则,
所述切换控制部构成为,通过对所述通信装置的状况进行识别并参照所述切换规则,从而进行所述虚拟栈的切换。
5.根据权利要求4所述的通信装置,其中,
在所述切换规则中规定了以下情形,即,所述通信装置成为发生通信故障的状况、在所述通信装置中所设置的电池的剩余电量成为小于或等于一定量的状况、或者所述通信装置成为被启动或重新启动的状况,
所述切换控制部构成为,在所述通信装置检测到成为在所述切换规则中所规定的状况的情况下,进行所述虚拟栈的切换。
6.根据权利要求1所述的通信装置,其中,
所述执行部具有信息保持区域,该信息保持区域对在所述第1处理中执行的虚拟栈、和在所述第2处理中执行的虚拟栈之间传递的信息进行保持。
7.根据权利要求1所述的通信装置,其中,
所述多个虚拟栈分别包含确定信息,该确定信息用于确定所述多个通信接口部中的用于进行通信的通信接口部。
8.根据权利要求1至7中任一项所述的通信装置,其中,
在所述保存部中所保存的所述多个虚拟栈的每一个包含多个被分割的虚拟栈,
所述切换控制部构成为在读出在所述部分地选择的虚拟栈中所包含的多个被分割的虚拟栈的2个,而存储至所述执行部的存储器中并执行的第1处理后,进行根据所述存储器的空闲容量,从所述存储器删除在所述第1处理中执行的所述被分割的虚拟栈的至少一者的处理,并进行从所述保存部读出未存储至所述存储器中、且除了在所述第1处理中执行的所述被分割的虚拟栈之外的至少一个被分割的虚拟栈而存储至所述执行部的存储器中并执行的第2处理,从而对在所述执行部中执行的虚拟栈进行切换。
9.一种能够依照多个通信标准进行通信的通信装置中的栈的执行控制方法,其包含以下步骤:
进行将从多个虚拟栈中部分地选择的2个虚拟栈存储至所述通信装置的执行部的存储器中,并在所述执行部中同时执行的第1处理的步骤;
在进行所述第1处理之后,对在所述执行部中执行的虚拟栈的切换条件进行判断的步骤;
在判断为所述切换条件成立的情况下,进行根据所述存储器的空闲容量,从所述存储器删除在所述第1处理中执行的所述部分地选择的2个虚拟栈的至少一者的处理的步骤;以及
在进行根据所述存储器的空闲容量,从所述存储器删除在所述第1处理中执行的所述部分地选择的2个虚拟栈的至少一者的处理之后,进行将未存储至所述存储器中、且除了在所述第1处理中执行的所述部分地选择的虚拟栈之外的至少一个虚拟栈存储至所述执行部的存储器中,并在所述执行部中执行的第2处理的步骤,
所述多个虚拟栈分别包含用于实现所述通信装置的功能的应用程序、以及用于实现为了使所述应用程序进行通信的协议栈的通信程序,
在所述第1处理中执行的虚拟栈被分割为第1部分和第2部分,其中,该第1部分包含经由所述协议栈进行数据的发送/接收的程序,该第2部分至少包含用于实现数据的前处理或后处理的程序,
进行所述第1以及第2部分的切换,并在所述执行部中依次执行所述第1以及第2部分,
在所述第2部分的执行过程中检测出问题的情况下,在所述执行部中执行所述第1部分以取代所述第2部分,
一边参照互斥控制规则一边进行所述虚拟栈的切换,该互斥控制规则对下述规则进行了规定,该规则用于防止所述执行的2个虚拟栈所使用的所述通信装置的多个通信接口部的冲突。
10.根据权利要求9所述的能够依照多个通信标准进行通信的通信装置中的栈的执行控制方法,其中,
对在所述执行部中执行的虚拟栈的切换条件进行判断的步骤,通过基于在所述通信装置的外部或内部产生的事件而参照预先规定的切换规则,从而判断所述切换条件。
11.根据权利要求9所述的能够依照多个通信标准进行通信的通信装置中的栈的执行控制方法,其中,
对在所述执行部中执行的虚拟栈的切换条件进行判断的步骤,基于时刻或所述虚拟栈的执行时间,判断所述切换条件。
12.根据权利要求9所述的能够依照多个通信标准进行通信的通信装置中的栈的执行控制方法,其中,
对在所述执行部中执行的虚拟栈的切换条件进行判断的步骤,通过基于所述通信装置的状况而参照预先规定的切换规则,从而判断所述切换条件。
13.根据权利要求12所述的能够依照多个通信标准进行通信的通信装置中的栈的执行控制方法,其中,
在所述切换规则中规定了以下情形,即,所述通信装置成为发生通信故障的状况、在所述通信装置中所设置的电池的剩余电量成为小于或等于一定量的状况、或者所述通信装置成为被启动或重新启动的状况,
对在所述执行部中执行的虚拟栈的切换条件进行判断的步骤,在所述通信装置检测到成为在所述切换规则中所规定的状况的情况下,判断为所述虚拟栈的切换条件成立。
14.根据权利要求9至13中任一项所述的能够依照多个通信标准进行通信的通信装置中的栈的执行控制方法,其中,
所述多个虚拟栈的每一个包含多个被分割的虚拟栈,
进行所述第1处理的步骤是将在所述部分地选择的虚拟栈中所包含的多个被分割的虚拟栈的2个存储至所述执行部的存储器中并执行,
进行根据所述存储器的空闲容量,从所述存储器删除在所述第1处理中执行的所述部分地被选择的虚拟栈的至少一者的处理的步骤,是从所述存储器中删除所述被分割的虚拟栈的至少一者,
进行所述第2处理的步骤是将未存储至所述存储器中、且除了在所述第1处理中执行的所述分割的虚拟栈之外的至少一个被分割的虚拟栈存储至所述执行部的存储器中并执行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-123139 | 2012-05-30 | ||
JP2012123139A JP5673606B2 (ja) | 2012-05-30 | 2012-05-30 | 通信装置 |
PCT/JP2013/064882 WO2013180167A1 (ja) | 2012-05-30 | 2013-05-29 | 通信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104350479A CN104350479A (zh) | 2015-02-11 |
CN104350479B true CN104350479B (zh) | 2018-04-06 |
Family
ID=49673355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380028695.8A Expired - Fee Related CN104350479B (zh) | 2012-05-30 | 2013-05-29 | 通信装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10305793B2 (zh) |
EP (1) | EP2857977A4 (zh) |
JP (1) | JP5673606B2 (zh) |
CN (1) | CN104350479B (zh) |
WO (1) | WO2013180167A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9191209B2 (en) * | 2013-06-25 | 2015-11-17 | Google Inc. | Efficient communication for devices of a home network |
US9642055B2 (en) * | 2013-09-27 | 2017-05-02 | Intel Corporation | Techniques for switching between wireless networks |
CN106656717B (zh) * | 2015-10-28 | 2019-06-28 | 华耀(中国)科技有限公司 | 一种划分网络域的方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS596415B2 (ja) * | 1977-10-28 | 1984-02-10 | 株式会社日立製作所 | 多重情報処理システム |
US6850335B1 (en) * | 1996-08-16 | 2005-02-01 | Electronics For Imaging, Inc. | Method and apparatus for distributing pages to individual print engines in a multiple print engine |
JP2002158735A (ja) * | 2000-11-21 | 2002-05-31 | Seiko Epson Corp | ネットワーク接続情報処理機器、及び、その制御方法、並びに、そのための処理が記録された記録媒体 |
JP3898922B2 (ja) * | 2001-09-26 | 2007-03-28 | 株式会社ケンウッド | 放送番組の予約情報送信装置、放送番組の記録予約システム及び放送番組の記録予約方法 |
JP3982265B2 (ja) * | 2002-01-15 | 2007-09-26 | コニカミノルタビジネステクノロジーズ株式会社 | インタフェース処理 |
JP3899968B2 (ja) * | 2002-03-18 | 2007-03-28 | 松下電器産業株式会社 | 通信端末および通信システム |
JP2005071324A (ja) * | 2003-08-01 | 2005-03-17 | Nec Corp | 無線通信端末試験方法、無線通信端末試験システム、および無線通信端末 |
US7489707B2 (en) * | 2003-10-16 | 2009-02-10 | National University Of Singapore | System and method for a dynamic protocol framework |
US7373467B2 (en) * | 2004-05-17 | 2008-05-13 | Hewlett-Packard Development Company, L.P. | Storage device flow control |
US7330943B2 (en) * | 2004-08-03 | 2008-02-12 | Hewlett-Packard Development Company, L.P. | Storage device flow control |
JP4506676B2 (ja) * | 2006-01-05 | 2010-07-21 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
US9146745B2 (en) * | 2006-06-29 | 2015-09-29 | Intel Corporation | Method and apparatus for partitioned pipelined execution of multiple execution threads |
US8149849B2 (en) * | 2006-08-31 | 2012-04-03 | Sony Ericsson Mobile Communications Ab | Zigbee/IP gateway |
US8413173B2 (en) * | 2008-01-07 | 2013-04-02 | Dell Products L.P. | Method, apparatus and system for automatic loading of a network stack |
US7890664B1 (en) * | 2008-03-31 | 2011-02-15 | Emc Corporation | Methods and apparatus for non-disruptive upgrade by redirecting I/O operations |
US20120108224A1 (en) * | 2009-01-09 | 2012-05-03 | Qualcomm Incorporated | Using quality of service to control hardware for low battery scenarios |
-
2012
- 2012-05-30 JP JP2012123139A patent/JP5673606B2/ja active Active
-
2013
- 2013-05-29 EP EP13797395.4A patent/EP2857977A4/en not_active Withdrawn
- 2013-05-29 US US14/400,748 patent/US10305793B2/en active Active
- 2013-05-29 CN CN201380028695.8A patent/CN104350479B/zh not_active Expired - Fee Related
- 2013-05-29 WO PCT/JP2013/064882 patent/WO2013180167A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP2857977A1 (en) | 2015-04-08 |
US20150172181A1 (en) | 2015-06-18 |
EP2857977A4 (en) | 2016-03-16 |
US10305793B2 (en) | 2019-05-28 |
JP5673606B2 (ja) | 2015-02-18 |
CN104350479A (zh) | 2015-02-11 |
WO2013180167A1 (ja) | 2013-12-05 |
JP2013250632A (ja) | 2013-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100583872C (zh) | 在主机平台中保护分组通信量的可移动设备 | |
KR20200003101A (ko) | 업링크 데이터 압축 해제 및 압축 방법과 그 장치 | |
CN104350479B (zh) | 通信装置 | |
CN101390368B (zh) | 在便携式通信对象中对安全数字内容的安全访问的管理 | |
CN103222227B (zh) | 用于以无线方式重编程通信系统中的存储器的系统和方法 | |
CN101379848A (zh) | 远程访问便携通信对象中的海量存储器单元和安全存储器单元的系统 | |
CN103250390A (zh) | 基于对象的传输协议 | |
CN105684483A (zh) | 注册表装置、代理设备、应用提供装置以及相应的方法 | |
CN103477602A (zh) | 用于提供秘密委托的方法和设备 | |
CN110943914B (zh) | 配电房智能网关及控制方法 | |
CN108833268B (zh) | 一种家庭无线传感网变量描述设备的控制系统及运行方法 | |
CN110662257B (zh) | 报文传输方法、装置、计算机设备和存储介质 | |
EP1793331A1 (en) | Semiconductor memory card | |
KR101807429B1 (ko) | 스마트미터의 일괄 파라미터 설정을 위한 원격 관리 시스템 및 그 방법 | |
JP4950282B2 (ja) | サーバと通信オブジェクトとの間のデータ伝送 | |
Moons et al. | Efficient vertical handover in heterogeneous low-power wide-area networks | |
CN101763886A (zh) | 微控制器编程系统及方法 | |
CN104322032B (zh) | 通信装置 | |
CN105163306B (zh) | 通信装置及其控制方法 | |
US20140334383A1 (en) | Network system, node device, and method of controlling network system | |
CN108365973A (zh) | 用于在虚拟隧道上进行传输的方法和设备 | |
JP5453182B2 (ja) | 端末装置、通信システム、および端末装置の動作方法 | |
CN117375859A (zh) | 信息传输方法及装置、存储介质和电子装置 | |
US20170164262A1 (en) | Communication terminal, communication method, and communication program | |
JP5690927B2 (ja) | 集積回路カードによる複数の無線通信ストリームの処理を行う方法及びシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180406 Termination date: 20190529 |