WO2013180167A1 - 通信装置 - Google Patents

通信装置 Download PDF

Info

Publication number
WO2013180167A1
WO2013180167A1 PCT/JP2013/064882 JP2013064882W WO2013180167A1 WO 2013180167 A1 WO2013180167 A1 WO 2013180167A1 JP 2013064882 W JP2013064882 W JP 2013064882W WO 2013180167 A1 WO2013180167 A1 WO 2013180167A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual
communication device
stack
virtual stack
executed
Prior art date
Application number
PCT/JP2013/064882
Other languages
English (en)
French (fr)
Inventor
宣夫 岡部
征世 秋定
和紀 宮澤
康樹 櫻井
Original Assignee
横河電機株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 横河電機株式会社 filed Critical 横河電機株式会社
Priority to CN201380028695.8A priority Critical patent/CN104350479B/zh
Priority to US14/400,748 priority patent/US10305793B2/en
Priority to EP13797395.4A priority patent/EP2857977A4/en
Publication of WO2013180167A1 publication Critical patent/WO2013180167A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0203Power saving arrangements in the radio access network or backbone network of wireless communication networks
    • H04W52/0206Power saving arrangements in the radio access network or backbone network of wireless communication networks in access points, e.g. base stations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/16Gateway arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • the present invention relates to a communication device.
  • This application claims priority based on Japanese Patent Application No. 2012-123139 filed in Japan on May 30, 2012, the contents of which are incorporated herein by reference.
  • field devices called field devices and operation devices such as field devices and control devices for controlling these devices are connected via communication means in order to realize advanced automatic operation.
  • a distributed control system has been established. Most of the communication systems that form the basis of such a distributed control system perform communication by wire, but in recent years, wireless communication that conforms to industrial wireless communication standards such as ISA100.11a and WirelessHART (registered trademark). Something that communicates has also been realized.
  • ISA100 is a wireless communication standard used for measurement and control in a plant or the like formulated by the International Society for Measurement and Control (ISA).
  • ISA International Society for Measurement and Control
  • WirelessHART mentioned above was proposed by the HART (Highway Addressable Remote Transducer) Communication Association in the United States, and sensor networks (multiple sensor-equipped wireless terminals are scattered in space, and they collect the environment and physical state in cooperation with each other) A wireless communication standard based on a wireless network).
  • Patent Document 1 discloses a computer interconnected with a wireless sensor network compliant with ZigBee (registered trademark), which is a wireless communication standard with short distance and low power consumption, and an Internet protocol (IP) technology.
  • ZigBee registered trademark
  • IP Internet protocol
  • a technique for interconnecting an IP network, which is a network is disclosed.
  • a gateway including a protocol stack for realizing communication via a wireless sensor network compliant with Zigbee and a protocol stack for realizing communication via an IP network, These networks are interconnected.
  • Many of the computers connected to the IP network described above include a CPU (central processing unit) with a high processing capacity, a large-capacity memory, and the like.
  • a CPU central processing unit
  • a plurality of application programs and a program for realizing a plurality of communication protocols are incorporated in advance, and a plurality of applications can be operated in parallel, and a communication protocol used for each application can be used. It is possible to switch.
  • the field devices described above and the devices used in the sensor network described above often have a minimum hardware configuration because they need to perform a power saving operation.
  • a CPU having a processing capability capable of operating a specific application and enabling communication using a specific communication protocol
  • a memory having a capacity capable of executing a program that realizes the application and the communication protocol.
  • a configuration is provided.
  • a device that needs to perform power saving operation adopts a minimum hardware configuration, it is not easy to simultaneously realize a plurality of functions with one device. If multiple functions are to be realized using a device that needs to perform power saving operation, the function that is intended to realize a device that incorporates an application that realizes each function and a program that realizes a communication protocol. It is necessary to prepare as many as the number, and the cost increases.
  • One embodiment of the present invention provides a communication device capable of realizing a plurality of functions for performing communication complying with different communication standards while performing power saving operation.
  • a communication apparatus is a communication apparatus capable of communication conforming to a plurality of communication standards, and is a storage unit configured to store a plurality of virtual stacks, the plurality of virtual stacks Each of which is a stack in which an application program that realizes the function of the communication device and a communication program that realizes a protocol stack for communication by the application program are associated with each other, the storage unit, and the virtual stack
  • An execution unit configured to execute, and a first process of reading at least a part of at least one of the virtual stacks from the storage unit, storing the execution unit in a memory of the execution unit, and executing the first process.
  • At least a part of at least one of the virtual stacks executed in one process is stored in the memory according to the free space of the memory. And executing the second process of reading at least a part of the virtual stack from the storage unit, storing it in the memory of the execution unit, and executing the second process.
  • a switching control unit configured to switch the virtual stack.
  • each of the virtual stacks includes a parameter used in at least one of the application program and the communication program.
  • the communication device according to one aspect of the present invention further includes a switching table in which information indicating a virtual stack to be switched is defined in advance, and the switching control unit receives an event that occurs outside or inside the communication device.
  • the communication device further includes a timer, and the switching control unit is configured to switch the virtual stack based on a time measured by the timer.
  • the communication device further includes a switching rule in which a rule that requires switching is defined in advance, and the switching control unit recognizes the status of the communication device and refers to the switching rule.
  • the switching rule includes a state in which the communication device is in a situation where a communication failure occurs, and a situation where a remaining amount of a battery provided in the communication device is equal to or less than a certain level.
  • the communication device is activated or restarted, and the switching control unit determines that the communication device is in a status specified in the switching rule. If the virtual stack is detected, the virtual stack is switched.
  • the execution unit holds information that is passed between the virtual stack executed in the first process and the virtual stack executed in the second process. A holding area is provided.
  • the virtual stack executed in the first process includes a first part including a program that transmits and receives data via the protocol stack, and at least preprocessing or postprocessing of data.
  • the switching control unit switches between the first and second parts, and sequentially executes the first and second parts to the execution unit. Configured to be executed.
  • the communication device further includes a plurality of communication interface units, and each of the plurality of virtual stacks specifies identification information that identifies a communication interface unit used for communication among the plurality of communication interface units. including.
  • the switching control unit is configured to store at least a virtual stack that is not stored in the memory of the execution unit and is executed in the second process after performing the first process. When it is confirmed that there is no free space for storing a part in the memory, the deletion process is performed.
  • the switching control unit is configured to store at least a virtual stack that is not stored in the memory of the execution unit and is executed in the second process after performing the first process.
  • the stack execution control method is a stack execution control method in a communication device capable of communication conforming to a plurality of communication standards, and the method includes at least one of a plurality of virtual stacks. Storing at least a part in the memory of the execution unit of the communication device and performing a first process to be executed in the execution unit; and a virtual stack to be executed in the execution unit after performing the first process A step of determining a switching condition; and when determining that the switching condition is satisfied, at least a part of at least one of the virtual stacks executed in the first process is read from the memory according to a free capacity of the memory.
  • a step of performing a process of deleting, and at least a part of at least one of the virtual stacks executed in the first process After performing the process of deleting from the memory according to the free space of the virtual memory, at least a part of at least one of the virtual stacks is stored in the memory of the execution unit, and the second process is executed in the execution unit
  • Each of the plurality of virtual stacks includes an application program for realizing the function of the communication device and a communication program for realizing a protocol stack for the application program to communicate.
  • the step of determining a virtual stack switching condition to be executed by the execution unit is defined in advance based on an event that occurs outside or inside the communication device.
  • the switching condition is determined by referring to the switching information.
  • the step of determining the switching condition of the virtual stack to be executed in the execution unit determines the switching condition based on time or the execution time of the virtual stack. .
  • the step of determining the switching condition of the virtual stack to be executed by the execution unit refers to a switching rule defined in advance based on the state of the communication device.
  • the switching rule includes that the communication device is in a situation where a communication failure occurs, and that the remaining amount of a battery provided in the communication device is constant.
  • the step of determining a virtual stack switching condition to be executed in the execution unit is defined that the following situation has occurred or that the communication apparatus has been activated or restarted. However, when it is detected that the situation defined in the switching rule is reached, it is determined that the virtual stack switching condition is satisfied.
  • the stack execution control method according to one aspect of the present invention performs a process of deleting at least a part of at least one of the virtual stacks executed in the first process from the memory according to a free space of the memory.
  • the step is a process of deleting if the memory does not have a free capacity for storing at least a part of at least one of the virtual stacks to be executed in the second process and not stored in the memory of the execution unit. I do.
  • the stack execution control method performs a process of deleting at least a part of at least one of the virtual stacks executed in the first process from the memory according to a free space of the memory.
  • the step is a process of deleting when the memory has no free space for storing at least a part of at least one of the virtual stacks executed in the second process and not stored in the memory of the execution unit. Do not do.
  • a first virtual stack in which a first application program and a first communication program that implements a first protocol stack are associated, and a second application program and a second protocol stack that implement a second protocol stack. Since one of the second virtual stacks associated with the communication program is executed by the execution unit under the control of the switching control unit, a plurality of communication that comply with different communication standards while performing power saving operation A function can be realized.
  • FIG. 1 is a block diagram showing a main configuration of a communication device according to the first embodiment of the present invention.
  • the communication device 1 according to the first embodiment includes a virtual stack storage unit 11 (storage unit), a virtual stack execution unit 12 (execution unit), a switching control unit 13, and a wireless communication interface unit 14. Therefore, communication conforming to a plurality of wireless communication standards is possible.
  • the communication device 1 is a field device capable of performing power saving operation and performing wireless communication conforming to the industrial wireless communication standard ISA100.11a and wireless communication conforming to WirelessHART (registered trademark).
  • the virtual stack storage unit 11 is realized by a non-volatile memory such as a flash ROM (Read OnlyEMemory) or an EEPROM (Electrically Erasable and Programmable ROM), and the virtual stack VS1 (first virtual stack) and the virtual used in the communication device 1 are used. Save the stack VS2 (second virtual stack).
  • the virtual stacks VS1 and VS2 include an application program that implements the function of the communication device 1 and a communication program that implements a protocol stack necessary for the application program to communicate according to the hardware configuration of the communication device 1. It is related.
  • FIG. 2 is a diagram illustrating an example of a virtual stack according to the first embodiment of the present invention.
  • the virtual stack VS1 includes an application program AP1 (first application program) associated with communication programs P11 to P13 (first communication program), and a parameter PM1.
  • the application program AP1 is a program that realizes functions of the communication device 1 (for example, a flow rate measurement function, a temperature measurement function, and other functions).
  • the communication programs P11 to P13 are programs for realizing the protocol stack ST1 (first protocol stack) conforming to the above-described wireless communication standard ISA100.11a. Specifically, the communication program P11 implements the data link layer of the protocol stack ST1, the communication program P12 implements the network layer of the protocol stack ST1, and the communication program P13 implements the transport layer of the protocol stack ST1.
  • the communication program P11 realizes a data link layer defined by the wireless communication standard IEEE802.15.4.
  • the communication program P12 realizes a network layer defined by IPv6, which is a kind of Internet protocol.
  • the communication program P13 implements UDP (User Datagram Protocol) defined by the Internet protocol as a transport layer.
  • UDP User Datagram Protocol
  • the parameter PM1 is a parameter used in at least one of the application program AP1 and the communication programs P11 to P13.
  • This parameter PM1 includes, for example, key information used for encryption processing, information indicating an encryption algorithm, information indicating units such as a measured flow rate and temperature, and the like as parameters used in the application program AP1.
  • the parameters used in the communication programs P11 to P13 include information indicating the data transmission destination and transmission source, information for identifying the communication network (subnet ID), and the like.
  • the virtual stack VS2 includes an application program AP2 (second application program) and communication programs P21 to P23 (second communication program) associated with each other, and a parameter PM2.
  • the application program AP2 is a program that implements the function of the communication device 1 in the same manner as the application program AP1. Note that the function realized by the application program AP2 may be the same as or different from the function realized by the application program AP1.
  • the communication programs P21 to P23 are programs that realize the protocol stack ST2 (second protocol stack) that complies with the wireless communication standard WirelessHART (registered trademark) described above. Specifically, the communication program P21 implements the data link layer of the protocol stack ST2, the communication program P22 implements the network layer of the protocol stack ST2, and the communication program P23 implements the transport layer of the protocol stack ST2.
  • the protocol stack ST2 second protocol stack
  • WirelessHART registered trademark
  • the parameter PM2 is a parameter used at least one of the application program AP2 and the communication programs P21 to P23.
  • the parameter PM2 includes parameters used in the application program AP2, such as key information used for cryptographic processing, information indicating a cryptographic algorithm, information indicating units such as measured flow rate and temperature, and the like.
  • the parameters used in the communication programs P21 to P23 include information indicating a data transmission destination and transmission source, information for identifying a communication network (subnet ID), and the like.
  • the virtual stack execution unit 12 sequentially executes the virtual stacks VS1 and VS2 stored in the virtual stack storage unit 11.
  • the virtual stack execution unit 12 is realized by a volatile memory such as a CPU (Central Processing Unit) and a RAM (Random Access Memory), and is read from the virtual stack storage unit 11 under the control of the switching control unit 13. Is stored in the volatile memory.
  • the capacity of the volatile memory that constitutes a part of the virtual stack execution unit 12 is set to a capacity that allows the virtual stacks VS1 and VS2 to be executed.
  • the virtual stack read by the virtual stack execution unit 12 is expressed as a broken virtual stack VS0 for easy understanding.
  • the switching control unit 13 switches the virtual stacks VS1 and VS2 that are executed by the virtual stack execution unit 12. For example, the switching control unit 13 performs switching between the virtual stacks VS1 and VS2 to be executed in the virtual stack execution unit 12 based on an event or time that occurs outside or inside the communication device 1, or a situation (context) of the communication device 1.
  • . 3A to 3C are diagrams for explaining the switching conditions of the virtual stack according to the first embodiment of the present invention.
  • FIG. 3A shows a case where an event occurring outside or inside the communication apparatus 1 is the switching condition.
  • FIG. 3B is an explanatory diagram when time is a switching condition
  • FIG. 3C is an explanatory diagram when the status of the communication apparatus 1 is a switching condition.
  • the switching control unit 13 switches the switching table TB (the switching target for each type of the events E1 and E2).
  • the virtual stacks VS1 and VS2 are switched with reference to a table in which information indicating the virtual stacks is defined in advance).
  • the event E1 is an event for notifying a measurement result such as a flow rate or a temperature
  • the event E2 is a communication result performed by a virtual stack executed in the virtual stack execution unit 12, for example. It is an event indicating
  • the switching control unit 13 may switch the virtual stacks VS1 and VS2 without referring to the switching table TB.
  • a virtual stack for example, a virtual stack
  • the switching table TB may switch the virtual stacks VS1 and VS2 without referring to the switching table TB.
  • the switching control unit 13 switches the virtual stacks VS1 and VS2 with reference to the time measured by the timer TM. For example, when the preset time is reached, or when the execution time of the virtual stack being executed in the virtual stack execution unit 12 has passed a preset time, the switching control unit 13 sets the virtual stack VS1 and VS2 is switched.
  • the timer TM is provided outside the switching control unit 13, but the timer TM may be provided inside the switching control unit 13.
  • the switching control unit 13 recognizes the status of the communication device 1 and refers to the virtual stack VS1 and the switching rules CR defined in advance. VS2 is switched.
  • the switching rule CR defines a rule (rule) that requires switching between the virtual stacks VS1 and VS2.
  • the communication device 1 is in a situation where a communication failure occurs only when a specific virtual stack is used, and the remaining battery level of the communication device 1 is below a certain level. It is defined that the situation has been reached, or that the communication apparatus 1 has been activated or restarted.
  • the wireless communication interface unit 14 receives data transmitted as a wireless signal from the outside of the communication device 1 and transmits data to be transmitted to the outside of the communication device 1 as a wireless signal.
  • the wireless communication interface unit 14 corresponds to, for example, a physical layer defined by the wireless communication standard IEEE802.15.4.
  • FIG. 4 is a flowchart showing the operation of the communication apparatus according to the first embodiment of the present invention. Note that the flowchart shown in FIG. 4 is started when the communication device 1 is turned on and the communication device 1 is activated.
  • a predefined (default) virtual stack is read from the virtual stack storage unit 11 by the switching control unit 13 (step S11).
  • the virtual stack VS1 is read.
  • the virtual stack VS1 read from the virtual stack storage unit 11 is stored in the memory of the virtual stack execution unit 12 and executed by the switching control unit 13 (step S12).
  • the protocol stack ST1 shown in FIG. 2 and the functions (for example, the flow rate measurement function, the temperature measurement function, and other functions) of the communication device 1 by the application program AP1 are realized.
  • Wireless communication based on the communication standard ISA100.11a is possible.
  • the switching control unit 13 determines whether or not the virtual stack switching condition is satisfied (step S13). For example, as shown in FIG. 3A, when the event E1 that occurs outside the communication device 1 or the event E2 that occurs inside is the switching condition, it is determined whether the event E1 or the event E2 is input to the switching control unit 13. Is done. Also, as shown in FIG. 3B, when the time is a switching condition, the switching control unit 13 refers to the timer TM and determines whether or not the preset time has come, or is executed in the virtual stack execution unit 12. It is determined whether the execution time of the existing virtual stack VS1 has passed a preset time. Alternatively, as shown in FIG. 3C, when the status of the communication device 1 is a switching condition, the switching rule CR is referred to by the switching control unit 13, and the status of the communication device 1 becomes a status defined by the switching rule CR. It is determined whether or not.
  • step S13 When it is determined that the virtual stack switching condition is not satisfied (when the determination result of step S13 is “NO”), the determination of step S13 is performed again by the switching control unit 13. On the other hand, when it is determined that the virtual stack switching condition is satisfied (when the determination result of step S13 is “YES”), the virtual stack to be executed (switched) in the memory of the virtual stack execution unit 12 is then selected. It is confirmed whether there is free space to be stored (step S14). In the first embodiment, the virtual stack to be executed (switched) next in the memory of the virtual stack execution unit 12 is the virtual stack VS2.
  • step S16 When there is a free capacity for storing the virtual stack VS2 in the memory of the virtual stack execution unit 12 (when the confirmation result in step S14 is “YES”), the virtual stack storage unit 11 does not delete the virtual stack VS1 from the memory.
  • the virtual stack VS2 is read (step S16).
  • step S15 when there is no free space for storing the virtual stack VS2 in the memory of the virtual stack execution unit 12 (when the confirmation result in Step S14 is “NO”), the virtual stack VS1 is deleted from the memory of the virtual stack execution unit 12 ( In step S15), the virtual stack VS2 is read from the virtual stack storage unit 11 (step S16).
  • step S17 the virtual stack VS2 read from the virtual stack storage unit 11 is stored and executed in the memory of the virtual stack execution unit 12 by the switching control unit 13 (step S17).
  • the protocol stack ST2 shown in FIG. 2 and the function of the communication device 1 by the application program AP2 are realized, and the communication device 1 is capable of wireless communication conforming to the above-described wireless communication standard WirelessHART (registered trademark). It becomes a state. Thereafter, the processes of steps S13 to S17 are repeated.
  • WirelessHART registered trademark
  • the communication device 1 stores the virtual stacks VS1 and VS2 in which the application program and the communication program that realizes the protocol stack necessary for the application program to communicate with each other are associated with each other.
  • the switching control unit 13 switches the virtual stacks VS1 and VS2 stored in the unit 11 and executed by the virtual stack execution unit 12. For this reason, even if the hardware configuration of the communication device 1 is required to perform the power saving operation, a plurality of functions for performing communication based on different wireless communication standards while performing the power saving operation are realized. Is possible.
  • FIG. 5 is a block diagram showing a main configuration of a communication device according to the second embodiment of the present invention.
  • the communication device 2 according to the second embodiment has a configuration in which a virtual stack execution unit 21 is provided instead of the virtual stack execution unit 12 included in the communication device 1 illustrated in FIG. 1.
  • the virtual stack execution unit 21 executes the virtual stacks VS1 and VS2 sequentially as in the virtual stack execution unit 12 shown in FIG. Is further provided with an information holding area R1 which is an area for holding the information passed on. By providing this information holding area R1, it becomes possible to smoothly exchange information between the virtual stacks VS1 and VS2 switched by the switching control unit 13.
  • FIG. 6 is a block diagram showing a main configuration of a communication device according to an application example of the second embodiment of the present invention.
  • the communication device 2 ′ of this application example includes a virtual stack storage unit 11, a virtual stack execution unit 21, a switching control unit 13, and a wireless interface 14, similar to the communication device 2 illustrated in FIG. 5. It is a configuration.
  • the communication device 2 ′ of this application example is different from the communication device 2 shown in FIG. 5 in the virtual stack VS 1 stored in the virtual stack storage unit 11.
  • the virtual stack VS1 stored in the virtual stack storage unit 11 of the communication device 2 illustrated in FIG. 5 includes an application program AP1 and communication programs P11 to P13 associated with each other as illustrated in FIG. Contains parameter PM1.
  • the virtual stack VS1 stored in the virtual stack storage unit 11 included in the communication device 2 ′ illustrated in FIG. 6 is divided into a virtual stack VS11 (first portion) and a virtual stack VS12 (second portion). Yes.
  • the virtual stack VS1 is divided into the virtual stacks VS11 and VS12 even if the program size of the application program AP1 included in the virtual stack VS1 cannot be executed by the communication device 2 ′. This is because the application program AP1 can be executed.
  • FIG. 7 is a diagram illustrating an example of the virtual stack VS1 in the application example of the second embodiment of the present invention.
  • the virtual stack VS11 constituting a part of the virtual stack VS1 includes communication programs P11 to P13, an application program AP11, and a parameter PM11.
  • the communication programs P11 to P13 are the same as those shown in FIG. 2, and are programs that realize the protocol stack ST1 that complies with the wireless communication standard ISA100.11a.
  • the application program AP11 is a program that transmits and receives data via the protocol stack ST1 in the application program AP1.
  • the parameter PM11 is a parameter used in at least one of the communication programs P11 to P13 and the application program AP11, and includes, for example, information indicating a data transmission destination and a transmission source, and information (subnet ID) for identifying a communication network. It is.
  • the virtual stack VS12 constituting the remaining part of the virtual stack VS1 includes an application program AP12 and a parameter PM12.
  • the application program AP12 is the remaining program excluding the application program AP11 in the application program AP1.
  • pre-processing of data to be transmitted through the protocol stack ST1, post-processing of data received through the protocol stack ST1, and functions of the communication device 2 ′ for example, a flow measurement function, a temperature measurement function, and other functions
  • the pre-processing includes encryption processing, but may include other processing.
  • the post-processing includes decryption processing, but may include other processing.
  • the parameter PM12 is a parameter used when the application program AP12 is executed, and includes, for example, key information used for cryptographic processing, information indicating a cryptographic algorithm, and information indicating a measured flow rate and temperature unit.
  • the application program AP1 is divided into an application program AP11 that is a program for transmitting and receiving data via the protocol stack ST1 and the remaining application program AP12
  • the division method is arbitrary. However, a situation in which the virtual stacks VS11 and VS12 cannot be executed does not occur, and processing (for example, data transmission / reception processing) of the communication device 2 ′ does not occur.
  • the application program AP1 may be divided into three or more programs.
  • the virtual stack execution unit 21 of the communication device 2 illustrated in FIG. 5 sequentially stores the virtual stacks VS1 and VS2 stored in the virtual stack storage unit 11 in the same manner as the virtual stack execution unit 12 of the communication device 1 illustrated in FIG. Is to be executed.
  • the virtual stack execution unit 21 included in the communication device 2 ′ illustrated in FIG. 6 can sequentially execute the virtual stacks VS11, VS12, and VS2.
  • the switching control unit 13 included in the communication device 2 ′ can switch the virtual stacks VS11, VS12, and VS2 that are executed by the virtual stack execution unit 21. Specifically, as in the case described with reference to FIG. 3A, the switching control unit 13 performs an event E2 (specifically, the virtual stack executed by the virtual stack execution unit 21) that occurs inside the communication device 2 ′. When an event output from the stack VS0 is input, the virtual stack execution unit 21 switches between the virtual stacks VS11 and VS12.
  • the switching control unit 13 reads the virtual stack VS 11 from the virtual stack storage unit 11 and performs virtual stacking.
  • the execution unit 21 executes this.
  • the event E2 indicating that the reception process is completed is output from the virtual stack VS11 (virtual stack VS0)
  • the virtual stack to be executed in the virtual stack execution unit 21 is switched from the virtual stack VS11 to the virtual stack VS12.
  • Decryption processing (post-processing) is performed on the data that has undergone reception processing.
  • the switching control unit 13 when transmitting data to the outside of the communication device 2 ′ by wireless communication conforming to the wireless communication standard ISA100.11a, the switching control unit 13 reads the virtual stack VS 12 from the virtual stack storage unit 11 and performs virtual processing.
  • the stack execution unit 21 executes the encryption process (preprocessing).
  • the event E2 indicating that the encryption processing is completed is output from the virtual stack VS12 (virtual stack VS0)
  • the virtual stack to be executed in the virtual stack execution unit 21 is switched from the virtual stack VS12 to the virtual stack VS11.
  • the transmission processing of the encrypted data is performed.
  • the switching control unit 13 determines that the state of the virtual stack VS12 (virtual stack VS0) executed in the virtual stack execution unit 21 is indefinite (for example, when a failure is detected by the watchdog timer).
  • the virtual stack execution unit 21 always executes the virtual stack VS11 including the communication programs P11 to P13 for realizing the protocol stack ST1. This is because, for example, the communication device 2 ′ is set in a communicable state in order to recover a malfunction that occurred during the execution of the virtual stack VS 12 by remote operation.
  • the operation of the communication device 2 ′ having the above configuration will be briefly described.
  • an operation (reception operation) for receiving data transmitted from the outside of the communication device 2 ′ by wireless communication conforming to the wireless communication standard ISA100.11a and data to be transmitted to the outside of the communication device 2 ′ will be described.
  • An operation (transmission operation) at the time of transmission by wireless communication conforming to the wireless communication standard ISA100.11a will be described as an example. It is assumed that the communication device 2 ′ performs an intermittent operation according to a predetermined schedule in order to reduce power consumption. For this reason, the communication device 2 ′ performs a transmission operation at a predetermined timing and performs a reception operation at a predetermined timing different from the timing at which the transmission operation is performed.
  • FIG. 8 is a flowchart showing a reception operation of the communication device according to the application example of the second embodiment of the present invention.
  • the virtual stack VS11 stored in the virtual stack storage unit 11 is read by the switching control unit 13, stored in the memory of the virtual stack execution unit 12, and executed (step). S21).
  • the protocol stack ST1 shown in FIG. 7 and the data transmission / reception function (function by the application program AP11) via the protocol stack ST1 are realized by the communication device 2 ′.
  • step S22 When data addressed to the communication device 2 'is transmitted from outside the communication device 2' while the virtual stack VS11 is being executed, this data is received by the wireless communication interface unit 14 (step S22). Data received by the wireless communication interface unit 14 is output to the virtual stack execution unit 12, and reception processing (packet processing, etc.) is performed by the virtual stack VS11 (step S23). The reception process by the virtual stack VS11 is performed using the protocol stack ST1 and the parameter PM11 realized by the communication programs P11 to P13. The data subjected to the reception process is held in the information holding area R1 of the virtual stack execution unit 12 (step S24).
  • an event E2 indicating that the reception process has ended is output from the virtual stack VS11 (virtual stack VS0) to the switching control unit 13 (step S25).
  • the switching control unit 13 checks whether or not there is a free capacity for storing the virtual stack VS12 in the memory of the virtual stack execution unit 12 (step S26).
  • the virtual stack storage unit 11 does not delete the virtual stack VS11 from the memory.
  • the virtual stack VS12 is read and stored in the memory of the virtual stack execution unit 12 (step S28).
  • step S27 when there is no free capacity for storing the virtual stack VS12 in the memory of the virtual stack execution unit 12 (when the confirmation result in step S26 is “NO”), the virtual stack VS11 is deleted from the memory of the virtual stack execution unit 12 ( In step S27), the virtual stack VS12 is read from the virtual stack storage unit 11 and stored in the memory of the virtual stack execution unit 12 (step S28). As a result, the virtual stack to be executed in the virtual stack execution unit 12 is switched from the virtual stack VS11 to the virtual stack VS12. Thereby, the function of the application program AP12 shown in FIG. 7 is realized, and the decoding process (post-processing) of the data received via the protocol stack ST1 is performed (step S29). Note that the decryption process is performed by using the parameter PM12 included in the virtual stack VS12 when the data retained in the information retaining area R1 is read by the application program AP12. In this way, data transmitted to the communication device 2 ′ is received.
  • the data obtained by the above reception processing is used in, for example, functions implemented by the application program AP12 (for example, flow rate measurement function, temperature measurement function, and other functions).
  • functions implemented by the application program AP12 for example, flow rate measurement function, temperature measurement function, and other functions.
  • FIG. 9 is a flowchart showing a transmission operation of the communication apparatus according to the application example of the second embodiment of the present invention.
  • a transmission operation is performed, first, the virtual stack VS12 stored in the virtual stack storage unit 11 is read by the switching control unit 13, stored in the memory of the virtual stack execution unit 12, and the virtual stack execution unit 12 (Step S31). Thereby, the function of the application program AP12 shown in FIG. 7 is realized.
  • the virtual stack VS12 is executed, processing for acquiring data to be transmitted to the outside is performed (step S32).
  • the communication device 2 ' has a flow measurement function realized by executing the application program AP12, a process for measuring flow rate and obtaining flow data is performed, and the communication device 2' has a temperature measurement function. If so, a process of measuring temperature and acquiring temperature data is performed.
  • this data is encrypted (pre-processed) in the virtual stack execution unit 12 (step S33).
  • the encryption process is performed using the parameter PM12 included in the virtual stack VS12.
  • the data that has been encrypted is held in the information holding area R1 of the virtual stack execution unit 12 (step S34).
  • step S35 When the encryption process by the virtual stack VS12 is completed, an event E2 indicating that the encryption process is completed is output from the virtual stack VS12 (virtual stack VS0) to the switching control unit 13 (step S35).
  • the switching control unit 13 confirms whether or not there is a free capacity for storing the virtual stack VS11 in the memory of the virtual stack execution unit 12 (step S36).
  • the virtual stack storage unit 11 does not delete the virtual stack VS12 from the memory.
  • the virtual stack VS11 is read out and stored in the memory of the virtual stack execution unit 12 (step S38).
  • the virtual stack VS12 is deleted from the memory of the virtual stack execution unit 12 ( In step S37), the virtual stack VS11 is read from the virtual stack storage unit 11 and stored in the memory of the virtual stack execution unit 12 (step S38). As a result, the virtual stack to be executed in the virtual stack execution unit 12 is switched from the virtual stack VS12 to the virtual stack VS11. Thereby, the protocol stack ST1 shown in FIG. 7 and the data transmission / reception function (function by the application program AP11) via the protocol stack ST1 are realized.
  • the data encrypted by the virtual stack VS12 is subjected to transmission processing (packet processing or the like) by the virtual stack VS11 in the virtual stack execution unit 12 (step S39).
  • the transmission process by the virtual stack VS11 is performed using the protocol stack ST1 and the parameter PM11 realized by the communication programs P11 to P13.
  • the data for which the transmission processing by the virtual stack VS11 is completed is output from the virtual stack execution unit 12 to the wireless communication interface unit 14 and transmitted as a wireless signal. In this way, data is transmitted from the communication device 2 'to the outside.
  • the virtual stack executed in the virtual stack execution unit 12 is switched from the virtual stack VS12 to the virtual stack VS11 by the switching control unit 13. This is because, as in the case of the reception process, for example, it is possible to recover by a remote operation of a defect that occurred during the execution of the virtual stack VS12.
  • the virtual stack VS1 is divided into the virtual stack VS11 and the virtual stack VS12, and the virtual stack VS11 and VS12 to be executed by the virtual stack execution unit 12 are switched by the switching control unit 13. Therefore, even when the program size of the application program AP1 included in the virtual stack VS1 is a size that cannot be executed by the communication device 2 ′, the application program AP1 can be executed.
  • the communication device 2 even if the communication device 2 'performs the power saving operation even if the hardware configuration is minimized, the communication conforming to different wireless communication standards while performing the power saving operation. It is possible to realize a plurality of functions for performing.
  • FIG. 10 is a block diagram showing a main configuration of a communication apparatus according to the third embodiment of the present invention.
  • the communication device 3 according to the third embodiment includes a virtual stack execution unit 31 and a switching control unit 32 instead of the virtual stack execution unit 12 and the switching control unit 13 included in the communication device 1 illustrated in FIG. 1.
  • Each is provided, and in place of the wireless communication interface unit 14, two wireless communication interface units 14a and 14b are provided.
  • the virtual stack storage unit 11 stores three virtual stacks VS1 to VS3. Note that the number of stacks stored in the virtual stack storage unit 11 is arbitrary as long as the capacity of the virtual stack storage unit 11 is allowed. For example, four or more virtual stacks may be stored in the virtual stack storage unit 11.
  • the virtual stack execution unit 31 executes the virtual stack read from the virtual stack storage unit 11 in the same manner as the virtual stack execution unit 12 shown in FIG. However, it differs from the virtual stack execution unit 12 shown in FIG. 1 in that any two virtual stacks of the virtual stacks VS1 to VS3 stored in the virtual stack storage unit 11 can be executed simultaneously.
  • the virtual stack executed by the virtual stack execution unit 31 is expressed as broken virtual stacks VS01 and VS02 for easy understanding.
  • the switching control unit 32 switches the virtual stack to be executed by the virtual stack execution unit 31. However, the switching control unit 32 switches only one virtual stack executed by the virtual stack execution unit 31 or is executed by the virtual stack execution unit 31. It is possible to switch both of the two virtual stacks.
  • the switching control unit 32 switches the virtual stack while referring to a predetermined exclusive control rule ER.
  • the above-described exclusive control rule ER defines a rule for preventing competition of the radio communication interface units used by the virtual stacks VS01 and VS02 executed in the virtual stack execution unit 31.
  • the exclusive control rule ER defines, for example, a rule that causes the virtual stack VS01 executed in the virtual stack execution unit 31 to use the wireless communication interface unit 14a and the virtual stack VS02 to use the wireless communication interface unit 14b. Yes.
  • the wireless communication interface units 14 a and 14 b receive data transmitted as a radio signal from the outside of the communication device 3 and transmit data to the outside of the communication device 3. As a radio signal.
  • the wireless communication interface units 14a and 14b correspond to a physical layer defined by, for example, the wireless communication standard IEEE802.15.4.
  • step S41 two virtual stacks defined in advance are read from the virtual stack storage unit 11 by the switching control unit 32 (step S41). It is stored in the memory of the virtual stack execution unit 31 and executed in the virtual stack execution unit 31 (step S42).
  • step S42 the two virtual stacks read in step S41 are assumed to be virtual stacks VS1 and VS2.
  • the switching control unit 32 determines whether or not the virtual stack switching condition is satisfied (step S43). When it is determined that the virtual stack switching condition is not satisfied (when the determination result in step S43 is “NO”), the determination in step S43 is performed again by the switching control unit 32. On the other hand, when it is determined that the virtual stack switching condition is satisfied (when the determination result in step S43 is “YES”), it is not stored in the memory of the virtual stack execution unit 31 and is executed next. (Switching) It is confirmed whether or not the free space for storing the virtual stack exists in the memory of the virtual stack execution unit 31 (step S44).
  • the virtual stacks to be executed (switched) next in the memory of the virtual stack execution unit 31 are the virtual stacks VS2 and VS3. Therefore, in step S44, the stack that is not stored in the memory of the virtual stack execution unit 31 and corresponds to the virtual stack to be executed (switched) next is the virtual stack VS3.
  • step S44 when there is free space for storing the virtual stack VS3 in the memory of the virtual stack execution unit 31 (when the confirmation result in step S44 is “YES”), the virtual stack VS3 is read from the virtual stack storage unit 11 to be virtual The virtual stack VS3 is stored in the memory of the stack execution unit 31 (step S46), and the virtual stack VS2 previously stored in the memory of the virtual stack execution unit 31 is executed (step S47).
  • step S45 the virtual stack VS3 is read from the virtual stack storage unit 11 and stored in the memory of the virtual stack execution unit 31 (step S46), The read virtual stack VS3 and the virtual stack VS2 previously stored in the memory of the virtual stack execution unit 31 are executed (step S47).
  • each of the virtual stacks VS1 to VS3 includes a plurality of subprograms
  • the program is read from the virtual stack storage unit 11 and stored in the memory of the virtual stack execution unit 31 in units of the subprograms. May be executed and deleted from memory.
  • the communication device 3 stores the virtual stacks VS1 to VS3 in which the application program and the communication program for realizing the protocol stack necessary for the application program to communicate with each other are associated with each other.
  • the switching control unit 32 switches the virtual stack stored in the unit 11 and executed by the virtual stack execution unit 31. For this reason, even if the hardware configuration of the communication device 3 is required to perform the power saving operation, a plurality of functions for performing communication based on different wireless communication standards while performing the power saving operation are realized. Is possible.
  • FIG. 11 is a diagram illustrating another example of the virtual stack.
  • the virtual stack VS shown in FIG. 11 further includes a physical layer identifier D1 (specific information) that specifies one of the wireless communication interface units 14a and 14b in the virtual stack VS1 shown in FIG.
  • the physical layer identifier D1 included in the virtual stack VS is referred to by the switching control unit (for example, the switching control unit 32). Is done. Under the control of the switching control unit, data is input / output between the protocol stack ST1 realized by executing the virtual stack VS and the wireless communication interface unit specified by the physical layer identifier D1.
  • the communication apparatus by some embodiment of this invention was demonstrated, this invention is not restrict
  • the communication apparatuses 1 to 3 that perform wireless communication have been described as examples.
  • the present invention can be applied not only to communication apparatuses that perform wireless communication but also to communication apparatuses that perform wired communication.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (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 Societyof Automation)で策定されたプラント等における計測・制御等に用いられる無線通信規格である。これに対し、上記のWirelessHARTは、米国のHART(HighwayAddressable Remote Transducer)通信協会によって提唱され、センサネットワーク(複数のセンサ付無線端末を空間に散在させ、それらが協調して環境や物理的状況を採取することを可能とする無線ネットワーク)を基礎とする無線通信規格である。
 以下の特許文献1には、近距離・低消費電力の無線通信規格であるZigBee(登録商標)に準拠した無線センサネットワークと、インターネットプロトコル(IP:Internet Protocol)技術を用いて相互接続されたコンピュータネットワークであるIPネットワークとを相互接続する技術が開示されている。具体的には、以下の特許文献1では、Zigbeeに準拠した無線センサネットワークを介した通信を実現するプロトコルスタックと、IPネットワークを介した通信を実現するプロトコルスタックとを備えるゲートウェイを設けることで、これらのネットワークを相互接続している。
日本国特許第4897884号公報
 上述したIPネットワークに接続されるコンピュータは、処理能力の高いCPU(中央処理装置)や大容量のメモリ等を備えるものが多い。このようなコンピュータは、複数のアプリケーションプログラム及び複数の通信プロトコルを実現するプログラムが予め組み込まれており、複数のアプリケーションを並列して動作させることが可能であるとともに、アプリケーション毎に使用する通信プロトコルを切り替えることが可能である。
 これに対し、上述したフィールド機器や上述したセンサネットワークで用いられる機器は、省電力動作を行う必要があることから、必要最小限のハードウェア構成とされることが多い。具体的には、特定のアプリケーションを動作させ得るとともに特定の通信プロトコルによる通信を可能とし得る処理能力を有するCPUと、これらアプリケーション及び通信プロトコルを実現するプログラムを実行させ得る容量を有するメモリと、を備える構成が採用されることが多い。
 このように、省電力動作を行う必要のある機器はハードウェア構成が必要最小限を採用することから、1つの機器で複数の機能を同時に実現することは容易ではない。仮に、省電力動作を行う必要のある機器を用いて複数の機能を実現しようとすると、各々の機能を実現するアプリケーション及び通信プロトコルを実現するプログラムが組み込まれた機器を、実現しようとする機能の数だけ用意する必要があり、コストが上昇する。
 本発明の一態様は省電力動作を行いつつも異なる通信規格に準拠した通信を行う複数の機能を実現することが可能な通信装置を提供する。
 本発明の一態様の通信装置は、複数の通信規格に準拠した通信が可能な通信装置であって、複数の仮想スタックを保存するように構成される保存部であって、前記複数の仮想スタックの各々は、前記通信装置の機能を実現するアプリケーションプログラムと、前記アプリケーションプログラムが通信を行うためのプロトコルスタックを実現する通信プログラムと、が関連付けされたスタックである、前記保存部と、前記仮想スタックを実行するように構成される実行部と、前記保存部から前記仮想スタックの少なくとも一つの少なくとも一部を読み出して前記実行部のメモリに記憶させて実行させる第1処理を行った後、前記第1処理で実行させた前記仮想スタックの少なくとも一つの少なくとも一部を前記メモリの空き容量に応じて前記メモリから削除する処理を行い、前記保存部から前記仮想スタックの少なくとも一つの少なくとも一部を読み出して前記実行部のメモリに記憶させて実行させる第2処理を行うことにより、前記実行部において実行させる仮想スタックの切り替えを行うように構成される切替制御部とを備える。
 また、本発明の一態様の通信装置は、前記仮想スタックの各々は、前記アプリケーションプログラム及び前記通信プログラムの少なくとも一方で用いられるパラメータを含む。
 また、本発明の一態様の通信装置は、切り替え対象の仮想スタックを示す情報が予め規定された切替テーブルをさらに備え、前記切替制御部は、前記通信装置の外部若しくは内部で生じるイベントが入力されると、前記イベントに基づいて前記切替テーブルを参照することにより、前記仮想スタックの切り替えを行うように構成される。
 また、本発明の一態様の通信装置は、タイマをさらに備え、前記切替制御部は、前記タイマにより計測された時間に基づいて、前記仮想スタックの切り替えを行うように構成される。
 また、本発明の一態様の通信装置は、切り替えが必要となる規則が予め規定された切替規則をさらに備え、前記切替制御部は、前記通信装置の状況を認識し前記切替規則を参照することにより、前記仮想スタックの切り替えを行うように構成される。
 また、本発明の一態様の通信装置は、前記切替規則には、通信障害が発生する状況に前記通信装置がなったこと、前記通信装置に設けられている電池の残量が一定以下の状況になったこと、又は前記通信装置が起動若しくは再起動される状況になったことが規定されており、前記切替制御部は、前記通信装置が、前記切替規則に規定された状況になったことを検出した場合に、前記仮想スタックの切り替えを行うように構成される。
 また、本発明の一態様の通信装置は、前記実行部は、前記第1処理で実行される仮想スタックと前記第2処理で実行される仮想スタックとの間で受け渡される情報を保持する情報保持領域を備える。
 また、本発明の一態様の通信装置は、前記第1処理で実行される仮想スタックは、前記プロトコルスタックを介したデータの送受信を行うプログラムを含む第1部分と、少なくともデータの前処理又は後処理を実現するプログラムを含む第2部分とに分割されており、前記切替制御部は、前記第1及び第2部分の切り替えを行って、前記第1及び第2部分を逐次的に前記実行部において実行させるように構成される。
 また、本発明の一態様の通信装置は、複数の通信インターフェイス部をさらに備え、前記複数の仮想スタックの各々は、前記複数の通信インターフェイス部のうちの通信に用いる通信インターフェイス部を特定する特定情報を含む。
 また、本発明の一態様の通信装置は、前記切替制御部は、前記第1処理を行った後に、前記実行部のメモリに記憶されておらず且つ前記第2処理で実行する仮想スタックの少なくとも一部を記憶させる空き容量が前記メモリにないことを確認した場合には、前記削除する処理を行うように構成される。
 また、本発明の一態様の通信装置は、前記切替制御部は、前記第1処理を行った後に、前記実行部のメモリに記憶されておらず且つ前記第2処理で実行する仮想スタックの少なくとも一部を記憶させる空き容量が前記メモリにあることを確認した場合には、前記削除する処理を行わないように構成される。
 また、本発明の一態様のスタックの実行制御方法は、複数の通信規格に準拠した通信が可能な通信装置におけるスタックの実行制御方法であって、前記方法が、複数の仮想スタックの少なくとも一つの少なくとも一部を前記通信装置の実行部のメモリに記憶させて、前記実行部において実行させる第1処理を行うステップと、前記第1処理を行った後で、前記実行部において実行させる仮想スタックの切り替え条件を判断するステップと、前記切り替え条件が成立したと判断した場合に、前記第1処理で実行させた前記仮想スタックの少なくとも一つの少なくとも一部を前記メモリの空き容量に応じて前記メモリから削除する処理を行うステップと、前記第1処理で実行させた前記仮想スタックの少なくとも一つの少なくとも一部を前記メモリの空き容量に応じて前記メモリから削除する処理を行った後で、前記仮想スタックの少なくとも一つの少なくとも一部を前記実行部のメモリに記憶させて、前記実行部において実行させる第2処理を行うステップと、を含み、前記複数の仮想スタックの各々は、前記通信装置の機能を実現するアプリケーションプログラムと、前記アプリケーションプログラムが通信を行うためのプロトコルスタックを実現する通信プログラムと、を含む。
 また、本発明の一態様のスタックの実行制御方法は、前記実行部において実行させる仮想スタックの切り替え条件を判断するステップは、前記通信装置の外部若しくは内部で生じるイベントに基づいて、予め規定された切替情報を参照することにより、前記切り替え条件を判断する。
 また、本発明の一態様のスタックの実行制御方法は、前記実行部において実行させる仮想スタックの切り替え条件を判断するステップは、時刻又は前記仮想スタックの実行時間に基づいて、前記切り替え条件を判断する。
 また、本発明の一態様のスタックの実行制御方法は、前記実行部において実行させる仮想スタックの切り替え条件を判断するステップは、前記通信装置の状況に基づいて、予め規定された切替規則を参照することにより、前記切り替え条件を判断する。
 また、本発明の一態様のスタックの実行制御方法は、前記切替規則には、通信障害が発生する状況に前記通信装置がなったこと、前記通信装置に設けられている電池の残量が一定以下の状況になったこと、又は前記通信装置が起動若しくは再起動される状況になったことが規定されており、前記実行部において実行させる仮想スタックの切り替え条件を判断するステップは、前記通信装置が、前記切替規則に規定された状況になったことが検出された場合に、前記仮想スタックの切り替え条件が成立したと判断される。
 また、本発明の一態様のスタックの実行制御方法は、前記第1処理で実行させた前記仮想スタックの少なくとも一つの少なくとも一部を前記メモリの空き容量に応じて前記メモリから削除する処理を行うステップは、前記実行部のメモリに記憶されておらず且つ前記第2処理で実行させる前記仮想スタックの少なくとも一つの少なくとも一部を記憶させる空き容量が前記メモリにない場合には、前記削除する処理を行う。
 また、本発明の一態様のスタックの実行制御方法は、前記第1処理で実行させた前記仮想スタックの少なくとも一つの少なくとも一部を前記メモリの空き容量に応じて前記メモリから削除する処理を行うステップは、前記実行部のメモリに記憶されておらず且つ前記第2処理で実行する前記仮想スタックの少なくとも一つの少なくとも一部を記憶させる空き容量が前記メモリにある場合には、前記削除する処理を行わない。
 本発明の一態様によれば、第1アプリケーションプログラムと第1プロトコルスタックを実現する第1通信プログラムとが関連付けされた第1仮想スタックと、第2アプリケーションプログラムと第2プロトコルスタックを実現する第2通信プログラムとが関連付けされた第2仮想スタックとの何れか一方を切替制御部の制御の下で実行部において実行するため、省電力動作を行いつつも異なる通信規格に準拠した通信を行う複数の機能を実現することが可能である。
本発明の第1実施形態による通信装置の要部構成を示すブロック図である。 本発明の第1実施形態における仮想スタックの一例を示す図である。 本発明の第1実施形態における仮想スタックの切り替え条件を説明するための図である。 本発明の第1実施形態における仮想スタックの切り替え条件を説明するための図である。 本発明の第1実施形態における仮想スタックの切り替え条件を説明するための図である。 本発明の第1実施形態による通信装置の動作を示すフローチャートである。 本発明の第2実施形態による通信装置の要部構成を示すブロック図である。 本発明の第2実施形態の応用例による通信装置の要部構成を示すブロック図である。 本発明の第2実施形態の応用例における仮想スタックの一例を示す図である。 本発明の第2実施形態の応用例による通信装置の受信動作を示すフローチャートである。 本発明の第2実施形態の応用例による通信装置の送信動作を示すフローチャートである。 本発明の第3実施形態による通信装置の要部構成を示すブロック図である。 仮想スタックの他の例を示す図である。 本発明の第3実施形態による通信装置の動作を示すフローチャートである。
 以下、図面を参照して本発明の一実施形態による通信装置について詳細に説明する。
〔第1実施形態〕
 図1は、本発明の第1実施形態による通信装置の要部構成を示すブロック図である。図1に示す通り、本第1実施形態の通信装置1は、仮想スタック保存部11(保存部)、仮想スタック実行部12(実行部)、切替制御部13、及び無線通信インターフェイス部14を備えており、複数の無線通信規格に準拠した通信が可能である。例えば、通信装置1は、省電力動作を行いつつ、産業用無線通信規格であるISA100.11aに準拠した無線通信及びWirelessHART(登録商標)に準拠した無線通信が可能なフィールド機器である。
 仮想スタック保存部11は、例えばフラッシュROM(Read Only Memory)やEEPROM(Electrically Erasable 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実施形態では、説明を簡単にするために、2つの仮想スタックVS1及びVS2が仮想スタック保存部11に保存されている場合を例に挙げて説明する。但し、仮想スタック保存部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」の場合)には、ステップS13の判断が再び切替制御部13で行われる。これに対し、仮想スタックの切り替え条件が成立したと判断した場合(ステップ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に保存し、仮想スタック実行部12において実行させる仮想スタックVS1及びVS2を切替制御部13によって切り替えるように構成されている。このため、省電力動作を行うために通信装置1のハードウェア構成が必要最小限とされていても、省電力動作を行いつつ異なる無線通信規格に準拠した通信を行う複数の機能を実現することが可能である。
〔第2実施形態〕
 図5は、本発明の第2実施形態による通信装置の要部構成を示すブロック図である。図5に示す通り、本第2実施形態の通信装置2は、図1に示す通信装置1が備える仮想スタック実行部12に代えて仮想スタック実行部21を設けた構成である。この仮想スタック実行部21は、図1に示す仮想スタック実行部12と同様に、仮想スタックVS1及びVS2を逐次的に実行するものであるが、仮想スタック実行部21において実行される仮想スタックの間で受け渡される情報を保持する領域である情報保持領域R1をさらに備える。この情報保持領域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)の状態が不定となった場合(例えば、ウォッチドッグタイマにより不具合が検出された場合等)に、必ずプロトコルスタックST1を実現する通信プログラムP11~P13が含まれる仮想スタックVS11を仮想スタック実行部21において実行させる。これは、例えば、仮想スタックVS12の実行中に生じた不具合を遠隔操作により復旧するために、通信装置2′を通信可能な状態にするためである。このように、通信装置2′で生じた不具合を遠隔操作により復旧することができれば、作業員が通信装置2′の設置場所に行って復旧作業を行う必要が無くなり、早期に通信装置2′を復旧させることが可能になる。
 次に、上記構成における通信装置2′の動作について簡単に説明する。尚、以下では通信装置2′の外部から無線通信規格ISA100.11aに準拠した無線通信によって送信されたデータを受信する際の動作(受信動作)と、通信装置2′の外部に送信するデータを無線通信規格ISA100.11aに準拠した無線通信によって送信する際の動作(送信動作)とを例に挙げて説明する。通信装置2′は、消費電力を低減するために、予め規定されたスケジュールで間欠動作を行うものとする。このため、通信装置2′は、予め規定されたタイミングで送信動作を行うとともに、送信動作が行われるタイミングとは異なる予め規定されたタイミングで受信動作を行う。
 〈受信動作〉
 図8は、本発明の第2実施形態の応用例による通信装置の受信動作を示すフローチャートである。受信動作が行われる場合には、まず、仮想スタック保存部11に保存された仮想スタックVS11が切替制御部13によって読み出されて、仮想スタック実行部12のメモリに記憶されて実行される(ステップS21)。これにより、図7に示すプロトコルスタックST1と、プロトコルスタックST1を介したデータの送受信機能(アプリケーションプログラムAP11による機能)とが通信装置2′で実現される。
 仮想スタック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)。尚、復号処理は、情報保持領域R1に保持されたデータがアプリケーションプログラムAP12により読み出され、仮想スタックVS12に含まれるパラメータPM12を用いて行われる。このようにして、通信装置2′に送信されたデータが受信される。
 以上の受信処理で得られたデータは、例えば、アプリケーションプログラムAP12で実現される機能(例えば、流量測定機能、温度測定機能、その他の機能)で用いられる。尚、ステップS27~S29の処理で不具合が生じた場合には、例えば、仮想スタックVS12の実行中に生じた不具合の遠隔操作による復旧を可能にするために、仮想スタック実行部12において実行される仮想スタックが、切替制御部13によって仮想スタックVS12から仮想スタックVS11に切り替えられる。
 〈送信動作〉
 図9は、本発明の第2実施形態の応用例による通信装置の送信動作を示すフローチャートである。送信動作が行われる場合には、まず、仮想スタック保存部11に保存された仮想スタックVS12が切替制御部13によって読み出されて、仮想スタック実行部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とに分割し、仮想スタック実行部12において実行させる仮想スタックVS11及びVS12を切替制御部13によって切り替えるようにしている。このため、仮想スタック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から読み出された仮想スタックを実行する。但し、仮想スタック保存部11に保存された仮想スタックVS1~VS3のうちの何れか2つの仮想スタックを同時に実行することが可能な点において、図1に示す仮想スタック実行部12とは相違する。尚、図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が起動すると、まず、仮想スタック保存部11から予め規定された2つの仮想スタックが切替制御部32によって読み出され(ステップS41)、この2つの仮想スタックが仮想スタック実行部31のメモリに記憶され、仮想スタック実行部31において実行される(ステップS42)。尚、本第3実施形態において、ステップS41において読み出される2つの仮想スタックは、仮想スタックVS1及びVS2とする。
 以上の処理が終了すると、仮想スタックの切り替え条件が成立したか否かが切替制御部32で判断される(ステップS43)。そして、仮想スタックの切り替え条件が成立していないと判断した場合(ステップS43における判断結果が「NO」の場合)には、ステップS43の判断が再び切替制御部32で行われる。これに対し、仮想スタックの切り替え条件が成立したと判断した場合(ステップS43における判断結果が「YES」の場合)には、仮想スタック実行部31のメモリに記憶されておらず且つ次に実行させる(切り替える)仮想スタックを記憶させる空き容量が仮想スタック実行部31のメモリにあるかを確認する(ステップS44)。尚、本第3実施形態において、次に仮想スタック実行部31のメモリにおいて実行させる(切り替える)仮想スタックは、仮想スタックVS2及びVS3とする。従って、ステップS44において、仮想スタック実行部31のメモリに記憶されておらず且つ次に実行させる(切り替える)仮想スタックに該当するスタックは、仮想スタックVS3である。次に、仮想スタックVS3を記憶させる空き容量が仮想スタック実行部31のメモリにある場合(ステップS44の確認結果が「YES」の場合)、仮想スタック保存部11から、仮想スタックVS3を読み出して仮想スタック実行部31のメモリに記憶させ(ステップS46)、読み出された仮想スタックVS3及び予め仮想スタック実行部31のメモリに記憶されていた仮想スタックVS2を実行させる(ステップS47)。一方、仮想スタックVS3を記憶させる空き容量が仮想スタック実行部31のメモリにない場合(ステップS44の確認結果が「NO」の場合)、仮想スタック実行部31のメモリから実行済みの仮想スタックの少なくとも1つ(本第3実施形態においては仮想スタックVS1)を削除し(ステップS45)、仮想スタック保存部11から、仮想スタックVS3を読み出して仮想スタック実行部31のメモリに記憶させ(ステップS46)、読み出された仮想スタックVS3及び予め仮想スタック実行部31のメモリに記憶されていた仮想スタックVS2実行させる(ステップS47)。また、仮想スタックVS1~VS3の各々が複数のサブプログラムを含む場合には、このサブプログラム単位で、プログラムが、仮想スタック保存部11から読み出され、仮想スタック実行部31のメモリに記憶されて実行され、メモリから削除されてもよい。
 以上の通り、本第3実施形態の通信装置3は、アプリケーションプログラムとアプリケーションプログラムが通信を行うために必要となるプロトコルスタックを実現する通信プログラムとが関連付けされた仮想スタックVS1~VS3を仮想スタック保存部11に保存し、仮想スタック実行部31において実行させる仮想スタックを切替制御部32によって切り替えるように構成されている。このため、省電力動作を行うために通信装置3のハードウェア構成が必要最小限とされていても、省電力動作を行いつつ異なる無線通信規格に準拠した通信を行う複数の機能を実現することが可能である。
 尚、以上説明した第3実施形態による通信装置3のように、複数の無線通信インターフェイス部14a及び14bが設けられている場合には、図11に示す通り、無線通信インターフェイス部を特定する情報を仮想スタックに含めても良い。図11は、仮想スタックの他の例を示す図である。図11に示す仮想スタックVSは、図2に示す仮想スタックVS1において、無線通信インターフェイス部14a及び14bのうちの何れか一方を特定する物理層識別子D1(特定情報)をさらに含めたものである。
 このような仮想スタックVSが仮想スタック実行部(例えば、仮想スタック実行部31)において実行されると、仮想スタックVSに含まれる物理層識別子D1が切替制御部(例えば、切替制御部32)により参照される。切替制御部の制御によって、仮想スタック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 (18)

  1.  複数の通信規格に準拠した通信が可能な通信装置であって、
     複数の仮想スタックを保存するように構成される保存部であって、前記複数の仮想スタックの各々は、前記通信装置の機能を実現するアプリケーションプログラムと、前記アプリケーションプログラムが通信を行うためのプロトコルスタックを実現する通信プログラムと、が関連付けされたスタックである、前記保存部と、
     前記仮想スタックを実行するように構成される実行部と、
     前記保存部から前記仮想スタックの少なくとも一つの少なくとも一部を読み出して前記実行部のメモリに記憶させて実行させる第1処理を行った後、前記第1処理で実行させた前記仮想スタックの少なくとも一つの少なくとも一部を前記メモリの空き容量に応じて前記メモリから削除する処理を行い、前記保存部から前記仮想スタックの少なくとも一つの少なくとも一部を読み出して前記実行部のメモリに記憶させて実行させる第2処理を行うことにより、前記実行部において実行させる仮想スタックの切り替えを行うように構成される切替制御部と
     を備える、通信装置。
  2.  前記仮想スタックの各々は、前記アプリケーションプログラム及び前記通信プログラムの少なくとも一方で用いられるパラメータを含む、
     請求項1記載の通信装置。
  3.  切り替え対象の仮想スタックを示す情報が予め規定された切替テーブルをさらに備え、
     前記切替制御部は、前記通信装置の外部若しくは内部で生じるイベントが入力されると、前記イベントに基づいて前記切替テーブルを参照することにより、前記仮想スタックの切り替えを行うように構成される、請求項1記載の通信装置。
  4.  タイマをさらに備え、
     前記切替制御部は、前記タイマにより計測された時間に基づいて、前記仮想スタックの切り替えを行うように構成される、請求項1記載の通信装置。
  5.  切り替えが必要となる規則が予め規定された切替規則をさらに備え、
     前記切替制御部は、前記通信装置の状況を認識し前記切替規則を参照することにより、前記仮想スタックの切り替えを行うように構成される、請求項1記載の通信装置。
  6.  前記切替規則には、通信障害が発生する状況に前記通信装置がなったこと、前記通信装置に設けられている電池の残量が一定以下の状況になったこと、又は前記通信装置が起動若しくは再起動される状況になったことが規定されており、
     前記切替制御部は、前記通信装置が、前記切替規則に規定された状況になったことを検出した場合に、前記仮想スタックの切り替えを行うように構成される、請求項5記載の通信装置。
  7.  前記実行部は、前記第1処理で実行される仮想スタックと前記第2処理で実行される仮想スタックとの間で受け渡される情報を保持する情報保持領域を備える、請求項1記載の通信装置。
  8.  前記第1処理で実行される仮想スタックは、前記プロトコルスタックを介したデータの送受信を行うプログラムを含む第1部分と、少なくともデータの前処理又は後処理を実現するプログラムを含む第2部分とに分割されており、
     前記切替制御部は、前記第1及び第2部分の切り替えを行って、前記第1及び第2部分を逐次的に前記実行部において実行させるように構成される、請求項1記載の通信装置。
  9.  複数の通信インターフェイス部をさらに備え、
     前記複数の仮想スタックの各々は、前記複数の通信インターフェイス部のうちの通信に用いる通信インターフェイス部を特定する特定情報を含む、請求項1記載の通信装置。
  10.  前記切替制御部は、前記第1処理を行った後に、前記実行部のメモリに記憶されておらず且つ前記第2処理で実行する仮想スタックの少なくとも一部を記憶させる空き容量が前記メモリにないことを確認した場合には、前記削除する処理を行うように構成される、請求項1記載の通信装置。
  11.  前記切替制御部は、前記第1処理を行った後に、前記実行部のメモリに記憶されておらず且つ前記第2処理で実行する仮想スタックの少なくとも一部を記憶させる空き容量が前記メモリにあることを確認した場合には、前記削除する処理を行わないように構成される、請求項1記載の通信装置。
  12.  複数の通信規格に準拠した通信が可能な通信装置におけるスタックの実行制御方法であって、前記方法が、
     複数の仮想スタックの少なくとも一つの少なくとも一部を前記通信装置の実行部のメモリに記憶させて、前記実行部において実行させる第1処理を行うステップと、
     前記第1処理を行った後で、前記実行部において実行させる仮想スタックの切り替え条件を判断するステップと、
     前記切り替え条件が成立したと判断した場合に、前記第1処理で実行させた前記仮想スタックの少なくとも一つの少なくとも一部を前記メモリの空き容量に応じて前記メモリから削除する処理を行うステップと、
     前記第1処理で実行させた前記仮想スタックの少なくとも一つの少なくとも一部を前記メモリの空き容量に応じて前記メモリから削除する処理を行った後で、前記仮想スタックの少なくとも一つの少なくとも一部を前記実行部のメモリに記憶させて、前記実行部において実行させる第2処理を行うステップと、
    を含み、
     前記複数の仮想スタックの各々は、前記通信装置の機能を実現するアプリケーションプログラムと、前記アプリケーションプログラムが通信を行うためのプロトコルスタックを実現する通信プログラムと、を含む、方法。
  13.  前記実行部において実行させる仮想スタックの切り替え条件を判断するステップは、前記通信装置の外部若しくは内部で生じるイベントに基づいて、予め規定された切替情報を参照することにより、前記切り替え条件を判断する、請求項12記載の方法。
  14.  前記実行部において実行させる仮想スタックの切り替え条件を判断するステップは、時刻又は前記仮想スタックの実行時間に基づいて、前記切り替え条件を判断する、請求項12記載の方法。
  15.  前記実行部において実行させる仮想スタックの切り替え条件を判断するステップは、前記通信装置の状況に基づいて、予め規定された切替規則を参照することにより、前記切り替え条件を判断する、請求項12記載の方法。
  16.  前記切替規則には、通信障害が発生する状況に前記通信装置がなったこと、前記通信装置に設けられている電池の残量が一定以下の状況になったこと、又は前記通信装置が起動若しくは再起動される状況になったことが規定されており、
     前記実行部において実行させる仮想スタックの切り替え条件を判断するステップは、前記通信装置が、前記切替規則に規定された状況になったことが検出された場合に、前記仮想スタックの切り替え条件が成立したと判断される、請求項15記載の方法。
  17.  前記第1処理で実行させた前記仮想スタックの少なくとも一つの少なくとも一部を前記メモリの空き容量に応じて前記メモリから削除する処理を行うステップは、前記実行部のメモリに記憶されておらず且つ前記第2処理で実行させる前記仮想スタックの少なくとも一つの少なくとも一部を記憶させる空き容量が前記メモリにない場合には、前記削除する処理を行う、請求項12記載の方法。
  18.  前記第1処理で実行させた前記仮想スタックの少なくとも一つの少なくとも一部を前記メモリの空き容量に応じて前記メモリから削除する処理を行うステップは、前記実行部のメモリに記憶されておらず且つ前記第2処理で実行する前記仮想スタックの少なくとも一つの少なくとも一部を記憶させる空き容量が前記メモリにある場合には、前記削除する処理を行わない、請求項12記載の方法。
PCT/JP2013/064882 2012-05-30 2013-05-29 通信装置 WO2013180167A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201380028695.8A CN104350479B (zh) 2012-05-30 2013-05-29 通信装置
US14/400,748 US10305793B2 (en) 2012-05-30 2013-05-29 Communication device for switching stacks and method of controlling execution of stacks
EP13797395.4A EP2857977A4 (en) 2012-05-30 2013-05-29 COMMUNICATION DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-123139 2012-05-30
JP2012123139A JP5673606B2 (ja) 2012-05-30 2012-05-30 通信装置

Publications (1)

Publication Number Publication Date
WO2013180167A1 true WO2013180167A1 (ja) 2013-12-05

Family

ID=49673355

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/064882 WO2013180167A1 (ja) 2012-05-30 2013-05-29 通信装置

Country Status (5)

Country Link
US (1) US10305793B2 (ja)
EP (1) EP2857977A4 (ja)
JP (1) JP5673606B2 (ja)
CN (1) CN104350479B (ja)
WO (1) WO2013180167A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
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 华耀(中国)科技有限公司 一种划分网络域的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158735A (ja) * 2000-11-21 2002-05-31 Seiko Epson Corp ネットワーク接続情報処理機器、及び、その制御方法、並びに、そのための処理が記録された記録媒体
JP2003101917A (ja) * 2001-09-26 2003-04-04 Kenwood Corp 放送番組の予約情報送信装置、放送番組の記録予約システム及び放送番組の記録予約方法
JP2003209553A (ja) * 2002-01-15 2003-07-25 Minolta Co Ltd インタフェース処理
JP2003273953A (ja) * 2002-03-18 2003-09-26 Matsushita Electric Ind Co Ltd 通信端末および通信システム
JP2007183738A (ja) * 2006-01-05 2007-07-19 Sony Corp 情報処理装置および方法、並びにプログラム
JP4897884B2 (ja) 2006-08-31 2012-03-14 ソニー エリクソン モバイル コミュニケーションズ, エービー Zigbee/ipゲートウェイ

Family Cites Families (10)

* Cited by examiner, † Cited by third party
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
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
US9146745B2 (en) * 2006-06-29 2015-09-29 Intel Corporation Method and apparatus for partitioned pipelined execution of multiple execution threads
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158735A (ja) * 2000-11-21 2002-05-31 Seiko Epson Corp ネットワーク接続情報処理機器、及び、その制御方法、並びに、そのための処理が記録された記録媒体
JP2003101917A (ja) * 2001-09-26 2003-04-04 Kenwood Corp 放送番組の予約情報送信装置、放送番組の記録予約システム及び放送番組の記録予約方法
JP2003209553A (ja) * 2002-01-15 2003-07-25 Minolta Co Ltd インタフェース処理
JP2003273953A (ja) * 2002-03-18 2003-09-26 Matsushita Electric Ind Co Ltd 通信端末および通信システム
JP2007183738A (ja) * 2006-01-05 2007-07-19 Sony Corp 情報処理装置および方法、並びにプログラム
JP4897884B2 (ja) 2006-08-31 2012-03-14 ソニー エリクソン モバイル コミュニケーションズ, エービー Zigbee/ipゲートウェイ

Also Published As

Publication number Publication date
EP2857977A1 (en) 2015-04-08
JP5673606B2 (ja) 2015-02-18
JP2013250632A (ja) 2013-12-12
CN104350479B (zh) 2018-04-06
CN104350479A (zh) 2015-02-11
US10305793B2 (en) 2019-05-28
EP2857977A4 (en) 2016-03-16
US20150172181A1 (en) 2015-06-18

Similar Documents

Publication Publication Date Title
WO2018070518A1 (ja) 通信装置、制御装置および通信方法
US7676805B2 (en) Wireless sensor node executable code request facilitation method and apparatus
CN108306796B (zh) 智能家居系统、智能家居设备的信息处理方法及装置
CN105337981A (zh) 一种中继装置、更新方法及设备间进行数据交互的方法
JP5598505B2 (ja) ゲートウェイ装置、通信システム、及び通信方法
WO2013180167A1 (ja) 通信装置
EP1791305A1 (en) Storing and processing a data unit in a network device
CN102792638A (zh) 以避免通信协议栈卷入的方式向设备发出至少一部分分组有效载荷的网络控制器电路
JP5494727B2 (ja) 通信装置
CN108966319B (zh) 数据包传输控制方法、移动终端以及装置
JP7098101B2 (ja) 工場において工程管理するための無線通信装置および工程管理方法
JP6265182B2 (ja) 無線中継機器、処理装置、無線通信システム、及び無線通信方法
CN115280724A (zh) 用于处理数据异常的方法,特别是在机动车辆中
JP6394606B2 (ja) 端末装置、端末装置制御方法および端末装置制御プログラム
CN115398429A (zh) 用于处理数据异常的方法,特别是在机动车辆中
CN115210698A (zh) 通信装置、程序、通信方法、信息处理方法、信息处理装置和通信系统
JP2017146836A (ja) 半導体装置および通信システム
JP7384028B2 (ja) データ記憶システム、データ記憶装置、コンピュータプログラム及びデータ記憶方法
JP6099430B2 (ja) 無線通信装置
CN106993277B (zh) 无线传感网的角色分配参数分发系统、方法和装置
JP2013539609A (ja) 集積回路カードによる複数の無線通信ストリームの処理を行う方法及びシステム
JP5672033B2 (ja) 通信制御装置、通信制御方法、及び通信システム
WO2015165229A1 (zh) 一种识别异常ip数据流的方法、装置和系统
CN115398428A (zh) 用于处理数据异常的方法,特别是在机动车辆中
CN115398863A (zh) 用于处理数据异常的方法,特别是在机动车辆中

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13797395

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14400748

Country of ref document: US

Ref document number: 2013797395

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE