WO2019244233A1 - 無線通信端末、無線通信システム、無線通信方法、およびプログラム - Google Patents
無線通信端末、無線通信システム、無線通信方法、およびプログラム Download PDFInfo
- Publication number
- WO2019244233A1 WO2019244233A1 PCT/JP2018/023247 JP2018023247W WO2019244233A1 WO 2019244233 A1 WO2019244233 A1 WO 2019244233A1 JP 2018023247 W JP2018023247 W JP 2018023247W WO 2019244233 A1 WO2019244233 A1 WO 2019244233A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- terminal
- sleep
- wireless communication
- controller
- declaration
- 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.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. Transmission Power Control [TPC] or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0251—Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
- H04W52/0258—Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity controlling an operation mode according to history or models of usage information, e.g. activity schedule or time of day
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. Transmission Power Control [TPC] or power classes
- H04W52/02—Power saving arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. Transmission Power Control [TPC] or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0212—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is leader and terminal is follower
- H04W52/0219—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is leader and terminal is follower where the power saving management affects multiple terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. Transmission Power Control [TPC] or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0225—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
- H04W52/0229—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a wanted signal
- H04W52/0235—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a wanted signal where the received signal is a power saving command
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
- H04W84/22—Self-organising networks, e.g. ad-hoc networks or sensor networks with access to wired networks
-
- 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
Definitions
- the present invention relates to a wireless communication terminal, a wireless communication system, a wireless communication method, and a program.
- a sensor device having such a wireless communication function may be installed for meter reading of a gas meter for a house.
- a sensor device having such a wireless communication function may be installed for meter reading of a gas meter for a house.
- a star-type network it is necessary to install a device serving as a gateway in a place where radio waves can reach all sensor devices without being affected by shields.
- a mesh network the problem can be solved by installing each sensor device in consideration of the fact that a sensor device communicates with a sensor device adjacent thereto.
- each sensor device may be a communication path for transmitting data from a sensor device adjacent thereto to a gateway or the like. In such a case, it is necessary to secure a communication path for a sensor device adjacent to each sensor device. Therefore, the sensor device cannot sleep. As a result, it is difficult to suppress power consumption in a mesh network.
- the gateway is the master station, and the wireless network has a tree structure. All terminals in the network synchronize with neighboring terminals that are on the path to the gateway. All terminals synchronize to the gateway.
- the gateway and all terminals switch between activation and sleep according to the activation cycle, activation phase, and activation period. During the startup period, data transfer is performed in a startup section in which the synchronization error is within a predetermined range. During the sleep period, a minimal part operates. In order to maintain synchronization operation, the gateway performs resynchronization according to the tree structure.
- the object of the present invention is to provide a wireless communication terminal, a wireless communication system, a wireless communication method, and a program capable of reliably securing a communication path and reducing power consumption of the entire network.
- a wireless communication terminal in a wireless communication system includes an aggregation device and two or more wireless communication terminals.
- the wireless communication terminal has a wireless communication device, a memory, and a controller.
- the controller causes the wireless communication device to transmit the route search packet to an adjacent terminal.
- the communication route information indicates a communication route of the route search packet.
- the peripheral terminal is one of the aggregation device and the adjacent terminal.
- the adjacent terminal is the wireless communication terminal adjacent to the own terminal on the communication path.
- the controller determines an upper terminal based on the route search packet received by the wireless communication device from the peripheral terminal.
- the upper terminal is the adjacent terminal.
- the first number is smaller than the second number.
- the first number is the number of the wireless communication terminals existing between the aggregation device and the upper terminal on the communication path.
- the second number is the number of the wireless communication terminals existing between the aggregation device and the terminal on the communication path.
- the controller stores status information of the adjacent terminal in the memory based on a notification received by the wireless communication device from the adjacent terminal.
- the state information indicates one of a state of sleeping and a state of waking up. If the wireless communication device receives a sleep declaration packet from a sleep declaration terminal, and the sleep declaration terminal is the upper terminal, the controller performs a first sleep determination based on the state information.
- the dormancy declaration terminal is the adjacent terminal that has transmitted the dormancy declaration packet.
- the controller determines that the sleep-declaration terminal is allowed to sleep in the first sleep determination. If there is no higher-level terminal that is awake other than the dormancy declaration terminal, the controller determines that the dormancy declaration terminal is not allowed to sleep in the first sleep determination. If the controller determines that the sleep declaration terminal is not allowed to sleep, the controller causes the wireless communication device to transmit a sleep prohibition packet to the sleep declaration terminal.
- the controller may cause the wireless communication device to transmit the sleep declaration packet to the adjacent terminal. If the wireless communication device does not receive the sleep prohibition packet from the adjacent terminal within a predetermined period after the wireless communication device transmits the sleep declaration packet, the controller transmits a sleep notification packet to the wireless communication device. You may make it transmit to the said adjacent terminal. After the wireless communication device transmits the sleep notification packet, the controller may execute a sleep process for shifting the terminal to a sleep state in which power consumption is reduced. After the sleep process is executed, the controller may execute a wake-up process for returning the terminal from the sleep state. After the wake-up process is performed, the controller may cause the wireless communication device to transmit a wake-up notification packet to the adjacent terminal. The controller stores the state information in the memory based on the sleep notification packet received by the wireless communication device from the adjacent terminal and the wake-up notification packet received by the wireless communication device from the adjacent terminal. You may.
- the controller may determine an equivalent terminal based on the route search packet received from the peripheral terminal by the wireless communication device.
- the third number is the same as the fourth number.
- the third number is the number of the wireless communication terminals existing between the aggregation device and the terminal on the communication path.
- the fourth number is the number of the wireless communication terminals existing between the aggregation device and the equivalent terminal on the communication path.
- the controller may cause the wireless communication device to transmit the dormancy declaration packet to the adjacent terminal at a timing when the dormant equivalent terminal wakes up.
- the sleep notification packet may include period information on a sleep period of the wireless communication terminal transmitting the sleep notification packet.
- the controller may execute the timing judgment based on the period information before the terminal starts sleeping next.
- the controller may determine, in the timing determination, whether or not the scheduled wake-up time of the dormant equivalent terminal is earlier than the scheduled sleep time of the terminal itself.
- the scheduled wake-up time is a time at which the equivalent terminal ends sleep.
- the scheduled sleep time is a time at which the terminal starts sleeping. If the controller determines that the scheduled wake-up time is earlier than the scheduled sleep time, the controller may cause the wireless communication device to transmit the sleep declaration packet to the adjacent terminal at the scheduled wake-up time. .
- the sleep declaration packet may include period information on a sleep period of the sleep declaration terminal.
- the controller may determine an equivalent terminal based on the route search packet received by the wireless communication device from the peripheral terminal.
- the third number is the same as the fourth number.
- the third number is the number of the wireless communication terminals existing between the aggregation device and the terminal on the communication path.
- the fourth number is the number of the wireless communication terminals existing between the aggregation device and the equivalent terminal on the communication path. If the wireless communication device receives the dormancy prohibition packet from the adjacent terminal within the predetermined period, and the dormancy declaration terminal is the equivalent terminal, the controller may execute a second dormancy determination .
- the controller in the second dormancy determination, based on the dormant time of the self-terminal and the dormancy period of the dormancy declaration terminal, whether there is a period during which the self-terminal and the dormancy declaration terminal are dormant simultaneously It may be determined whether or not.
- the scheduled sleep time is a time at which the terminal starts sleeping. If the controller determines that there is a period during which the terminal itself and the sleep declaration terminal are sleeping at the same time, the controller may determine that the sleep declaration terminal does not permit sleep in the second sleep determination. Good.
- the controller may determine the lower terminal based on the route search packet received by the wireless communication device from the peripheral terminal.
- the fifth number is greater than the sixth number.
- the fifth number is the number of the wireless communication terminals existing between the aggregation device and the lower terminal on the communication path.
- the sixth number is the number of the wireless communication terminals existing between the aggregation device and the terminal on the communication path.
- the controller may store detour information indicating whether or not the equivalent terminal is included in the communication path of the lower terminal in the memory.
- the controller may determine whether or not the dormancy declaration terminal is the equivalent terminal included in the communication path of the lower terminal based on the detour information in the second dormancy determination. .
- the controller determines that there is a period in which the terminal itself and the dormancy declaration terminal are sleeping at the same time, and the controller determines that the dormancy declaration terminal is the equivalent terminal included in the communication path of the lower terminal. May determine that the sleep declaration terminal does not permit sleep in the second sleep determination.
- the controller may determine a lower terminal based on the route search packet received from the peripheral terminal by the wireless communication device.
- the fifth number is greater than the sixth number.
- the fifth number is the number of the wireless communication terminals existing between the aggregation device and the lower terminal on the communication path.
- the sixth number is the number of the wireless communication terminals existing between the aggregation device and the terminal on the communication path.
- the sleep notification packet includes period information on a sleep period of the wireless communication terminal transmitting the sleep notification packet.
- the controller may determine a scheduled wake-up time of the dormant lower-level terminal based on the period information.
- the scheduled wake-up time is a time at which the lower terminal ends sleep.
- the controller may determine a sleep period of the terminal.
- the sleep period of the own terminal ends before the scheduled wake-up time of the lower terminal.
- the controller may determine a sleep period of the terminal.
- the controller may determine the dormant period of the own terminal.
- the sleep notification packet transmitted by the wireless communication device may include the period information on the sleep period of the terminal.
- a wireless communication system including an aggregation device and two or more wireless communication terminals.
- the wireless communication terminal has a wireless communication device, a memory, and a controller.
- the controller causes the wireless communication device to transmit the route search packet to an adjacent terminal.
- the communication route information indicates a communication route of the route search packet.
- the peripheral terminal is one of the aggregation device and the adjacent terminal.
- the adjacent terminal is the wireless communication terminal adjacent to the own terminal on the communication path.
- the controller determines an upper terminal based on the route search packet received by the wireless communication device from the peripheral terminal.
- the upper terminal is the adjacent terminal.
- the first number is smaller than the second number.
- the first number is the number of the wireless communication terminals existing between the aggregation device and the upper terminal on the communication path.
- the second number is the number of the wireless communication terminals existing between the aggregation device and the terminal on the communication path.
- the controller stores status information of the adjacent terminal in the memory based on a notification received by the wireless communication device from the adjacent terminal.
- the state information indicates one of a state of sleeping and a state of waking up. If the wireless communication device receives a sleep declaration packet from a sleep declaration terminal, and the sleep declaration terminal is the upper terminal, the controller performs a first sleep determination based on the state information.
- the dormancy declaration terminal is the adjacent terminal that has transmitted the dormancy declaration packet.
- the controller determines that the sleep-declaration terminal is allowed to sleep in the first sleep determination. If there is no higher-level terminal that is awake other than the dormancy declaration terminal, the controller determines that the dormancy declaration terminal is not allowed to sleep in the first sleep determination. If the controller determines that the sleep declaration terminal is not allowed to sleep, the controller causes the wireless communication device to transmit a sleep prohibition packet to the sleep declaration terminal.
- a wireless communication method executed by a controller of a wireless communication terminal in a wireless communication system.
- the wireless communication method has a first step, a second step, a third step, a fourth step, and a fifth step.
- the wireless communication system includes an aggregation device and two or more wireless communication terminals.
- the wireless communication terminal has a wireless communication device, a memory, and the controller.
- the controller causes the wireless communication device to transmit the route search packet to an adjacent terminal in the first step.
- the communication route information indicates a communication route of the route search packet.
- the peripheral terminal is one of the aggregation device and the adjacent terminal.
- the adjacent terminal is the wireless communication terminal adjacent to the own terminal on the communication path.
- the controller determines an upper terminal based on the route search packet received by the wireless communication device from the peripheral terminal.
- the upper terminal is the adjacent terminal.
- the first number is smaller than the second number.
- the first number is the number of the wireless communication terminals existing between the aggregation device and the upper terminal on the communication path.
- the second number is the number of the wireless communication terminals existing between the aggregation device and the terminal on the communication path.
- the controller stores, in the third step, state information of the adjacent terminal in the memory based on a notification received by the wireless communication device from the adjacent terminal.
- the state information indicates one of a state of sleeping and a state of waking up.
- the controller When the wireless communication device receives a sleep declaration packet from a sleep declaration terminal, and the sleep declaration terminal is the higher-level terminal, the controller performs a first sleep based on the state information in the fourth step. Make a decision.
- the dormancy declaration terminal is the adjacent terminal that has transmitted the dormancy declaration packet. If the upper-level terminal that is awake other than the sleep-declaring terminal is present, the controller determines that the sleep-declaration terminal is allowed to sleep in the first sleep determination. If there is no higher-level terminal that is awake other than the dormancy declaration terminal, the controller determines that the dormancy declaration terminal is not allowed to sleep in the first sleep determination. If the controller determines that the dormancy declaration terminal is not allowed to sleep, the controller causes the wireless communication device to transmit a sleep prohibition packet to the sleep declaration terminal in the fifth step.
- a controller of a wireless communication terminal in a wireless communication system executes a first step, a second step, a third step, a fourth step, and a fifth step.
- Program is provided.
- the wireless communication system includes an aggregation device and two or more wireless communication terminals.
- the wireless communication terminal has a wireless communication device, a memory, and the controller.
- the controller causes the wireless communication device to transmit the route search packet to an adjacent terminal in the first step.
- the communication route information indicates a communication route of the route search packet.
- the peripheral terminal is one of the aggregation device and the adjacent terminal.
- the adjacent terminal is the wireless communication terminal adjacent to the own terminal on the communication path.
- the controller determines an upper terminal based on the route search packet received by the wireless communication device from the peripheral terminal.
- the upper terminal is the adjacent terminal.
- the first number is smaller than the second number.
- the first number is the number of the wireless communication terminals existing between the aggregation device and the upper terminal on the communication path.
- the second number is the number of the wireless communication terminals existing between the aggregation device and the terminal on the communication path.
- the controller stores, in the third step, state information of the adjacent terminal in the memory based on a notification received by the wireless communication device from the adjacent terminal.
- the state information indicates one of a state of sleeping and a state of waking up.
- the controller When the wireless communication device receives a sleep declaration packet from a sleep declaration terminal, and the sleep declaration terminal is the higher-level terminal, the controller performs a first sleep based on the state information in the fourth step. Make a decision.
- the dormancy declaration terminal is the adjacent terminal that has transmitted the dormancy declaration packet. If the hibernating terminal that is awake is present in addition to the dormant declaration terminal, the controller determines that the dormancy declaration terminal is permitted to sleep in the first dormancy determination. If there is no higher-level terminal that is awake other than the dormancy declaration terminal, the controller determines that the dormancy declaration terminal is not allowed to sleep in the first sleep determination. If the controller determines that the dormancy declaration terminal is not allowed to sleep, the controller causes the wireless communication device to transmit a sleep prohibition packet to the sleep declaration terminal in the fifth step.
- the wireless communication terminal, the wireless communication system, the wireless communication method, and the program can reliably secure a communication path and reduce power consumption of the entire network.
- FIG. 1 is a diagram illustrating a configuration of a network according to an embodiment of the present invention.
- FIG. 1 is a diagram illustrating a configuration of a network according to an embodiment of the present invention. It is a block diagram showing the system configuration of the terminal of an embodiment of the present invention. It is a block diagram showing the system configuration of the gateway of the embodiment of the present invention.
- FIG. 3 is a diagram illustrating a communication sequence in the network according to the embodiment of the present invention.
- FIG. 2 is a diagram illustrating a positional relationship between terminals in a network according to an embodiment of the present invention.
- FIG. 2 is a diagram illustrating a positional relationship between terminals in a network according to an embodiment of the present invention.
- FIG. 1 is a diagram illustrating a configuration of a network according to an embodiment of the present invention.
- FIG. 2 is a diagram illustrating a positional relationship between terminals in a network according to an embodiment of the present invention.
- FIG. 2 is a diagram illustrating a positional relationship between terminals in a network according to an embodiment of the present invention.
- FIG. 2 is a diagram illustrating a positional relationship between terminals in a network according to an embodiment of the present invention.
- FIG. 2 is a diagram illustrating a positional relationship between terminals in a network according to an embodiment of the present invention.
- FIG. 2 is a diagram illustrating a positional relationship between terminals in a network according to an embodiment of the present invention.
- FIG. 2 is a diagram illustrating a positional relationship between terminals in a network according to an embodiment of the present invention.
- FIG. 2 is a diagram illustrating a positional relationship between terminals in a network according to an embodiment of the present invention.
- FIG. 3 is a diagram illustrating a communication sequence in the network according to the embodiment of the present invention.
- FIG. 3 is a diagram illustrating a communication sequence in the network according to the embodiment of the present invention.
- FIG. 3 is a diagram illustrating a communication sequence in the network according to the embodiment of the present invention.
- FIG. 3 is a diagram illustrating a communication sequence in the network according to the embodiment of the present invention.
- FIG. 3 is a diagram illustrating a communication sequence in the network according to the embodiment of the present invention.
- FIG. 3 is a diagram illustrating a communication sequence in the network according to the embodiment of the present invention.
- FIG. 3 is a diagram illustrating a communication sequence in the network according to the embodiment of the present invention.
- FIG. 3 is a diagram illustrating a communication sequence in the network according to the embodiment of the present invention.
- 3 is a diagram illustrating a communication sequence in the network according to the embodiment of the present invention.
- 6 is a flowchart illustrating a procedure of a basic process executed by the terminal according to the embodiment of the present invention. It is a flowchart which shows the procedure of the packet reception process which the terminal of embodiment of this invention performs. It is a flowchart which shows the procedure of the route search process which the terminal of embodiment of this invention performs. It is a flowchart which shows the procedure of the sleep declaration transmission process which the terminal of embodiment of this invention performs. It is a flowchart which shows the procedure of the dormancy declaration receiving process which the terminal of embodiment of this invention performs.
- FIG. 3 is a diagram illustrating a structure of a packet according to the embodiment of the present invention.
- FIG. 4 is a diagram illustrating a packet type code according to the embodiment of the present invention. It is a figure showing composition of adjacent terminal information in an embodiment of the present invention. It is a figure showing composition of adjacent terminal information in an embodiment of the present invention. It is a figure showing composition of adjacent terminal information in an embodiment of the present invention. It is a figure showing composition of adjacent terminal information in an embodiment of the present invention. It is a figure showing composition of adjacent terminal information in an embodiment of the present invention. It is a figure showing composition of adjacent terminal information in an embodiment of the present invention.
- FIG. 1 shows a configuration of a network N1 according to the embodiment of the present invention.
- the network N1 illustrated in FIG. 1 includes a gateway G1, a terminal 1, a terminal 2, a terminal 3, and a terminal 4.
- the gateway G1 and the terminals 1 to 4 have a wireless communication function and perform wireless communication with an adjacent terminal. After the system of each terminal is activated, the terminals 1 to 4 operate in one of a wake-up state and a sleep state according to conditions.
- the terminals 1 to 4 include sensors for measuring environmental characteristics. When the sensor performs measurement, each terminal wakes up and each terminal basically sleeps during other periods. After the system starts, in a state where the communication path information of the terminal itself has not been acquired, each terminal always operates in the wake-up state. After executing the process for acquiring the communication path information, the terminal 1 to the terminal 4 transition to the sleep state according to the situation.
- the gateway G1 is connected to an external network such as the Internet. A communication packet transmitted from the terminal 1 to the terminal 4 to the external network passes through the gateway G1.
- the gateway G1 is an aggregation device (relay device) that relays communication packets transmitted from the terminal 1 to the terminal 4 between different networks.
- the gateway G1 is always in the wake-up state.
- the gateway G1 receives a command from the outside, and transmits a route search packet necessary for the terminal 4 to obtain the communication route information from the terminal 1.
- An external instruction is generated by a user operation or communication with an external network.
- the gateway G1 collects communication packets transmitted from the terminal 1 to the terminal 4.
- the gateway G1 has a role of connecting to an external network, a role of collecting communication packets transmitted from the terminal 1 to the terminal 4, and a role of routing communication packets to the external network.
- the gateway G1 may include a communication device that operates in a communication method different from the communication method of the wireless communication devices of the terminals 1 to 4.
- the communication device connected to the external network may support either wired or wireless communication.
- the external network is, for example, an IP network such as the Internet.
- the terminal 1 and the terminal 2 are located within the communication range of the gateway G1.
- the communication range of the gateway G1 is a range where radio waves can reach from the gateway G1.
- the terminal 3 and the terminal 4 are in a position where they cannot directly communicate with the gateway G1.
- the terminal 1 is at a position where the terminal 2 can communicate with the terminal 4.
- the terminal 2 is located at a position where it can communicate with the terminal 1, the terminal 3, and the terminal 4.
- the terminal 3 is at a position where it can communicate with the terminal 1, the terminal 2, and the terminal 4.
- the terminal 4 is at a position where the terminal 1 can communicate with the terminal 3.
- Each terminal transmits packets to multiple terminals simultaneously by broadcast communication.
- the terminal adjacent to each terminal transmits the received packet.
- the packet is transferred to the gateway G1.
- the packet reaches the gateway G1 through the plurality of communication paths. In that case, the certainty that the packet transmitted from each terminal reaches the gateway G1 is increased.
- a unique ID is assigned to each terminal.
- the ID of the gateway G1 is 0000
- the ID of the terminal 1 is 0001
- the ID of the terminal 2 is 0002
- the ID of the terminal 3 is 0003
- the ID of the terminal 4 is 0004.
- Each terminal adds its own ID to the packet when transmitting the packet. Since the packet is transmitted by broadcast communication, the packet transmitted by each terminal may return to itself. Each terminal confirms the ID given to the received packet. If the own ID is already assigned to the packet, each terminal does not transmit the packet.
- FIG. 2 shows the configuration of the network N2 according to the embodiment of the present invention.
- the configuration of the network N2 is almost the same as the configuration of the network N1.
- the terminal 2 and the terminal 3 are at positions where radio waves do not reach each other. Terminal 2 and terminal 3 cannot communicate directly.
- the arrangement of each terminal on the network is not limited to the examples shown in FIGS.
- FIG. 3A shows a system configuration of the terminal 1. Since the configurations of the terminals 2 to 4 are the same as the configuration of the terminal 1, the configuration of the terminal 1 will be described as a representative.
- the terminal 1 illustrated in FIG. 3A includes a controller 301, a communication device 302, a sensor 303, a memory 304, and a clock circuit 305.
- the terminal 1 is a wireless communication terminal in a wireless communication system.
- the wireless communication system includes an aggregation device and two or more wireless communication terminals.
- the aggregation device is the gateway G1.
- the aggregation device may be a router, a firewall, a proxy server, or the like.
- the two or more wireless communication terminals include a terminal 1 (own terminal) and an adjacent terminal.
- the adjacent terminal will be described later.
- the own terminal is a terminal including the controller 301 that executes the processing.
- the communication device 302 is a wireless communication device.
- the controller 301 causes the communication device 302 to transmit the route search packet to the adjacent terminal.
- the communication route information indicates a communication route of the route search packet.
- the peripheral terminal is one of the aggregation device and the adjacent terminal.
- the adjacent terminal is a wireless communication terminal that is adjacent to the own terminal on the communication path. The own terminal can directly communicate with the adjacent terminal.
- the adjacent terminal that is the destination of the route search packet may be different from the peripheral terminal that has transmitted the route search packet.
- the controller 301 determines the upper terminal based on the route search packet received by the communication device 302 from the peripheral terminal.
- the upper terminal is an adjacent terminal.
- the first number is smaller than the second number.
- the first number is the number of wireless communication terminals existing between the aggregation device and the upper terminal on the communication path.
- the second number is the number of wireless communication terminals existing between the aggregation device and the terminal on the communication path.
- the controller 301 stores the state information of the adjacent terminal in the memory 304 based on the notification that the communication device 302 has received from the adjacent terminal.
- the state information indicates any one of during sleep and waking up.
- the sleeping wireless communication terminal is in a sleep state.
- the wake-up wireless communication terminal is in the wake-up state. If the communication device 302 receives the sleep declaration packet from the sleep declaration terminal, and the sleep declaration terminal is a higher-level terminal, the controller 301 executes the first sleep determination based on the state information.
- the dormancy declaration terminal is an adjacent terminal that has transmitted the dormancy declaration packet.
- the controller 301 determines that the hibernation of the hibernation declaration terminal is permitted in the first hibernation determination. If there is no upper terminal that is awake other than the hibernation declaration terminal, the controller 301 determines that the hibernation of the hibernation declaration terminal is not permitted in the first hibernation determination. If the controller 301 determines that the sleep declaration terminal is not allowed to sleep, the controller 301 causes the communication device 302 to transmit a sleep prohibition packet to the sleep declaration terminal.
- the controller 301 is at least one of a processor and a logic circuit.
- the processor is at least one of a CPU (Central Processing Unit), a DSP (Digital Signal Processor), and a GPU (Graphics Processing Unit).
- the logic circuit is at least one of an ASIC (Application Specific Integrated Circuit) and an FPGA (Field-Programmable Gate Array).
- Controller 301 may include one or more processors.
- the controller 301 can include one or more logic circuits.
- the controller 301 controls the entire system.
- the controller 301 generates a packet including the data acquired by the sensor 303.
- the controller 301 also generates packets such as a dormancy declaration, a dormancy notification, a dormancy prohibition, a dormancy cancellation, a wakeup notification, and a wakeup response.
- the controller 301 assigns the ID of the terminal itself to the packet received from the peripheral terminal.
- the controller 301 analyzes the type of the packet received by the communication device 302, and extracts information such as an ID assigned to the packet.
- the controller 301 calculates the positional relationship between the adjacent terminal and the own terminal with respect to the gateway G1, based on the extracted ID, and manages the positional relationship.
- the terminal 1 is in one of the wake-up state and the sleep state.
- the state of the terminal 1 switches between a wake-up state and a sleep state.
- the terminal 1 supplies power to the communication device 302 and the sensor 303.
- the system operates at full power.
- the power of the communication device 302 and the power of the sensor 303 are turned off.
- the system enters a low power consumption state in which only the minimum functions necessary to maintain the operation of the system operate.
- the minimum functions include generation of a clock and monitoring of an internal state.
- the controller 301 controls waking up of the system and sleep of the system.
- the controller 301 may read the program and execute the read program.
- the program includes an instruction that defines the operation of the controller 301. That is, the function of the controller 301 may be realized by software.
- the program may be provided by a “computer-readable recording medium” such as a flash memory.
- the program may be transmitted to the terminal 1 from a computer holding the program via a transmission medium or by a transmission wave in the transmission medium.
- a “transmission medium” for transmitting a program is a medium having a function of transmitting information.
- Media having a function of transmitting information include a network (communication network) such as the Internet and a communication line (communication line) such as a telephone line.
- the above-described program may realize some of the functions described above. Further, the above-described program may be a difference file (difference program). A combination of a program already recorded in the computer and a difference program may realize the above-described functions.
- the communication device 302 includes an antenna. Alternatively, the communicator 302 and the antenna are configured separately, and the communicator 302 is connected to the antenna.
- the communication device 302 performs wireless communication.
- the communication device 302 broadcasts the packet generated by the controller 301 to the peripheral terminal.
- the communication device 302 receives a packet from a peripheral terminal.
- the controller 301 transmits the packet to the peripheral terminal by using the communication device 302. Specifically, the controller 301 controls the communication device 302 so that the packet is transmitted to the peripheral terminal. That is, the controller 301 causes the communication device 302 to transmit a packet for the peripheral terminal. Thereby, the communication device 302 transmits the packet to the peripheral terminal.
- the controller 301 receives a packet from a peripheral terminal by using the communication device 302. Specifically, the controller 301 controls the communication device 302 so that a packet is received from a peripheral terminal. That is, the controller 301 causes the communication device 302 to receive a packet from the peripheral terminal. Thereby, the communication device 302 receives the packet from the peripheral terminal.
- the sensor 303 measures a physical quantity such as temperature or humidity.
- the sensor 303 generates sensor data by converting the measured physical quantity into an electric signal.
- the memory 304 is a volatile or non-volatile storage medium.
- the memory 304 RAM (Random Access Memory), DRAM (DynamicRandom Access Memory), SRAM (Static Random Access Memory), ROM (Read Only Memory), EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read -Only @ Memory), and at least one of flash memories.
- the memory 304 stores various information.
- the information held in the memory 304 includes adjacent terminal information.
- the adjacent terminal information includes information indicating a positional relationship between the own terminal and the adjacent terminal.
- the positional relationship between the own terminal and the adjacent terminal is obtained from the communication path information.
- the neighboring terminal information includes state information of the neighboring terminal.
- the status information of the adjacent terminal indicates whether the adjacent terminal is in the wake-up state or the sleep state.
- the information held in the memory 304 includes the reception history of the sleep prohibition packet.
- the reception history of the sleep prohibition packet indicates that the sleep of the own
- the clock circuit 305 counts the internal time of the system.
- the time information indicates the internal time of the system.
- FIG. 3B shows a system configuration of the gateway G1.
- the gateway G1 illustrated in FIG. 3B includes a controller 321, a first communication device 322, a second communication device 323, a memory 324, and a clock circuit 325.
- the controller 321 controls the entire system.
- the first communication device 322 is connected to an external network.
- the first communication device 322 communicates with a communication device on an external network.
- the communication performed by the first communication device 322 may be either wired communication or wireless communication.
- the second communication device 323 performs wireless communication with the terminal 1 and the terminal 2.
- the first communication device 322 transmits a packet received by the second communication device 323 from the terminal 1 or the terminal 2 to the external network.
- the second communication device 323 transmits the packet received by the first communication device 322 from the external network to the terminal 1 or the terminal 2.
- the memory 324 stores various information.
- the clock circuit 305 counts the internal time of the system.
- FIG. 4 shows a communication sequence when a communication route search is executed.
- FIG. 4 shows an example in which N terminals are arranged.
- the number N is an integer of 2 or more.
- the terminal T1 is a first hop terminal.
- the terminal T2 is a terminal of the second hop.
- the terminal TN is an N-th hop terminal.
- the number N indicates the number of times that a packet arrived from the gateway G1 has been transferred. That is, the number N indicates the number of hops of the packet.
- the gateway G1 broadcasts the route search packet M401.
- An ID unique to the gateway G1 is assigned to the route search packet M401.
- the terminal T1 corresponds to the terminal 1 and the terminal 2 in FIG. After the terminal T1 receives the route search packet M401 from the gateway G1, the terminal T1 adds its own ID to the packet.
- the terminal T1 broadcasts a route search packet M402. As a result, the terminal T1 transfers the route search packet M402.
- the route search packet M402 transmitted by the terminal T1 reaches the terminal T2. In FIG. 1, the route search packet transmitted by the terminal 1 reaches the terminal 4 from the terminal 2. In FIG. 1, the route search packet transmitted by the terminal 2 reaches the terminal 1, the terminal 3, and the terminal 4.
- Terminal T2 receives the route search packet M402 and adds its own ID to the packet.
- the terminal T2 transmits a route search packet M403.
- the terminal T1 receives the route search packet M403.
- the terminal that has received the route search packet M403 transmits a route search packet M404 to which its own ID has been assigned.
- the terminal T2 receives the route search packet M404.
- the route search packet is sequentially transferred to the terminal TN by hop.
- the ID of the terminal transmitting the packet is assigned to the route search packet.
- a terminal receives a route search packet to which the same ID as its own ID is given, the terminal does not transmit the packet. With this condition, the hops of the packet eventually converge.
- Each terminal receives a route search packet from each terminal adjacent to itself. Therefore, each terminal can know the ID of the terminal adjacent to the own terminal by analyzing the received route search packet.
- Each terminal can know the positional relationship between the own terminal and the adjacent terminal based on the order of the IDs assigned to the route search packet. In this positional relationship, a terminal closer to the gateway G1 is ranked higher.
- FIG. 5A, FIG. 5B, FIG. 5C, and FIG. 5D show the positional relationship of each terminal in the network N1 shown in FIG.
- the route search packet is transmitted from the gateway G1.
- Each terminal assigns its own ID to the route search packet and transmits the route search packet.
- the controller 301 of each terminal determines the positional relationship between the own terminal and the adjacent terminal based on the ID given to the route search packet.
- the controller 301 stores the determined positional relationship in the memory 304 as adjacent terminal information.
- FIG. 5A shows information held by the terminal 1.
- the terminal 1 is at a position where radio waves emitted from the gateway G1 reach.
- the terminal 1 directly receives the route search packet transmitted by the gateway G1.
- the route search packet spreads throughout the network by hops. For example, a route search packet reaches the terminal 1 via a communication route passing through the terminal 2 and the terminal 1. Alternatively, the route search packet reaches the terminal 1 via the communication route passing through the terminal 2, the terminal 3, and the terminal 1. Alternatively, a route search packet reaches the terminal 1 via a communication route passing through the terminal 2, the terminal 4, and the terminal 1.
- the communication route of the route search packet may be other than the above communication route.
- FIG. 5B shows information held by the terminal 2.
- FIG. 5C shows information held by the terminal 3.
- FIG. 5D shows information held by the terminal 4.
- the information held by each terminal includes the communication route of the route search packet.
- the information held by each terminal includes information on each of the adjacent terminal, the upper terminal, the equivalent terminal, and the lower terminal.
- information held by the terminal 1 as a representative will be described.
- the controller 301 can know the ID of the terminal that directly transmitted the route search packet to the terminal 1. That is, the controller 301 can know the terminal adjacent to the terminal 1 on the communication route of the route search packet, that is, the terminal adjacent to the terminal 1.
- the terminal 1 receives the route search packet directly from the terminal 2, the terminal 3, and the terminal 4. Terminals adjacent to the terminal 1 are the terminal 2, the terminal 3, and the terminal 4.
- the controller 301 can know the minimum number of hops when the route search packet reaches the terminal 1 from the gateway G1 by analyzing the order of the IDs assigned to the route search packets. Similarly, the controller 301 can know the minimum number of hops when the route search packet arrives from the gateway G1 to the terminal adjacent to the terminal 1.
- the first ID in the ID string indicating the communication route is the ID of the terminal that has received the route search packet from the gateway G1.
- the terminal 1 receives the route search packet directly from the gateway G1.
- the terminal 2 also receives the route search packet directly from the gateway G1. Therefore, the controller 301 can determine that the distance from the terminal 1 to the gateway G1 is equal to the distance from the terminal 2 to the gateway G1. That is, the controller 301 can determine that the terminal 2 is a terminal equivalent to the terminal 1.
- the controller 301 analyzes the information on the communication path including the ID of the terminal 3 and the information on the communication path including the ID of the terminal 4.
- the terminal 3 and the terminal 4 receive the route search packet from the terminal 1 or the terminal 2.
- the controller 301 can determine that the distance from the terminal 1 to the gateway G1 is shorter than the distance from the terminal 3 to the gateway G1.
- the controller 301 can determine that the distance from the terminal 1 to the gateway G1 is shorter than the distance from the terminal 4 to the gateway G1. That is, the controller 301 can determine that the terminal 3 and the terminal 4 are lower terminals of the terminal 1.
- the controller 301 can determine that the predetermined terminal is a higher-level terminal. There is no upper terminal of terminal 1.
- the equivalent terminal, the lower terminal, and the upper terminal are adjacent terminals.
- the controller 301 stores the information of the adjacent terminal shown in FIG.
- the terminals 2 to 4 can also obtain information on the adjacent terminals by the same method as described above.
- 5A to 5D the ID of each terminal is indicated by a terminal number for easy understanding. Actually, an ID unique to each terminal is stored as information of the adjacent terminal.
- 6A, 6B, 6C, and 6D show the positional relationship of each terminal in the network N2 shown in FIG.
- the terminal 2 and the terminal 3 are not in a range where radio waves from each other reach. Therefore, terminal 2 and terminal 3 cannot communicate with each other.
- the terminal 2 and the terminal 3 are adjacent to each other, but in the network N2, the terminal 2 and the terminal 3 are not adjacent to each other.
- the terminal 3 is a lower terminal of the terminal 2
- the terminal 4 is the only lower terminal of the terminal 2.
- terminal 2 is an upper terminal of terminal 3, but in network N2, terminal 1 is the only upper terminal of terminal 3.
- terminal 1 is the only upper terminal of terminal 3.
- 6A to 6D the ID of each terminal is indicated by a terminal number for easy understanding. Actually, an ID unique to each terminal is stored as information of the adjacent terminal.
- FIG. 7 shows a communication sequence when terminal 1 sleeps while all terminals are awake. Below the sequence of each terminal, status information of adjacent terminals managed by each terminal is shown. The state information of the adjacent terminals is stored in the memory 304 of each terminal. State W is a wake-up state. The state S is a sleep state.
- each terminal can know the existence of the neighboring terminal of its own terminal in the course of the route search. Further, each terminal can know that the adjacent terminal is in the wake-up state by receiving the route search packet from the adjacent terminal. Therefore, it is stored that the state of each terminal adjacent to the own terminal is the wake-up state.
- the terminal 1 broadcasts a sleep declaration packet M701.
- the timing at which each terminal can sleep means the timing at which the sensor 303 ends periodic acquisition of sensor data and the like and each terminal can sleep until the next acquisition of sensor data and the like.
- Terminal 2, terminal 3, and terminal 4 are adjacent terminals of terminal 1. Therefore, the terminal 2, the terminal 3, and the terminal 4 receive the sleep declaration packet M701.
- the terminal 1 After transmitting the sleep declaration packet M701, the terminal 1 waits for a response for the response waiting time T701.
- the response waiting time T701 is, for example, 2 seconds.
- Each of the terminals 2 to 4 checks whether or not a communication path to the gateway G1 is secured when transmitting a data packet to the gateway G1. When the communication path is secured, the terminals 2 to 4 do not respond to the sleep declaration packet M701.
- the terminal 2 can directly deliver the packet to the gateway G1.
- the terminal 3 and the terminal 4 can deliver the packet to the gateway G1 via the terminal 2.
- the packet does not reach the terminal 1 from the adjacent terminal in the response waiting time T701.
- the terminal 1 broadcasts the sleep notification packet M702.
- Dormant notification packet M702 indicates that terminal 1 has been dormant.
- the terminal 4 from the terminal 2 stores state information indicating that the terminal 1 is sleeping in the memory 304.
- FIG. 7 shows the state information after the terminal 1 has hibernated.
- FIG. 8 shows a communication sequence when the terminal 3 sleeps while the terminal 1 sleeps.
- the terminal 3 transmits a sleep declaration packet M801 by broadcast.
- the terminal 2 and the terminal 4 receive the sleep declaration packet M801.
- a communication path from the terminal 2 to the gateway G1 and a communication path from the terminal 4 to the gateway G1 are secured. Therefore, the terminal 2 and the terminal 4 do not respond to the sleep declaration packet M801.
- the terminal 3 waits for a response for the response waiting time T801. No response is received from the terminal adjacent to the terminal 3 during the response waiting time T801. Therefore, the terminal 3 broadcasts the sleep notification packet M802 and sleeps.
- the terminal 2 and the terminal 4 store state information indicating that the terminal 3 is sleeping in the memory 304.
- FIG. 8 shows the state information after the terminal 3 has hibernated.
- FIG. 9 shows a communication sequence when the terminal 2 declares sleep while the terminals 1 and 3 are sleeping.
- the terminal 2 transmits a sleep declaration packet M901 by broadcast. Since the terminal 1 and the terminal 3 are sleeping, the terminal 1 and the terminal 3 do not receive the sleep declaration packet M901.
- the terminal 4 receives the sleep declaration packet M901.
- the communication path for the terminal 4 to deliver the packet to the gateway G1 is only a path passing through the terminal 2 in the current state. When the terminal 2 sleeps, the terminal 4 loses the communication path. Therefore, the terminal 4 immediately transmits the sleep prohibition packet M902 by broadcast.
- the dormancy prohibition packet M902 indicates prohibition of dormancy for the adjacent terminal that has transmitted the dormancy declaration packet M901.
- the terminal 2 receives the sleep prohibition packet M902 from the terminal 4 during the response waiting time T901. Therefore, the terminal 2 broadcasts the sleep canceling packet M903.
- the dormancy cancellation packet M903 indicates cancellation of the dormancy declaration. The status information of the adjacent terminal managed by each terminal is not changed.
- FIG. 10 shows a communication sequence when the terminal 4 declares sleep while the terminals 1 and 3 are sleeping.
- the terminal 4 transmits a sleep declaration packet M1001 by broadcast. Since the terminals 1 and 3 are dormant, the terminals 1 and 3 do not receive the dormancy declaration packet M1001.
- the terminal 2 receives the sleep declaration packet M1001. A route for delivering the packet from the terminal 2 to the gateway G1 is secured. Therefore, the terminal 2 does not react to the sleep declaration packet M1001.
- the terminal 4 waits for a response for the response waiting time T1001. No response is received from the terminal adjacent to the terminal 4 during the response waiting time T1001. Therefore, the terminal 4 broadcasts the sleep notification packet M1002 and sleeps. After receiving the sleep notification packet M1002, the terminal 2 stores state information indicating that the terminal 4 is sleeping in the memory 304.
- FIG. 10 shows the state information after the terminal 4 sleeps.
- FIG. 11 shows a communication sequence when the terminal 2 sleeps while the terminal 1, the terminal 3, and the terminal 4 sleep.
- the terminal 2 transmits a sleep declaration packet M1101 by broadcast, and waits for a response for a response waiting time T1101. Since all the neighboring terminals are dormant, no response is received from the neighboring terminal of the terminal 2. Therefore, the terminal 2 broadcasts the sleep notification packet M1102 and sleeps. The status information of the adjacent terminal managed by each terminal is not changed. If the terminal 2 can determine that all the neighboring terminals are dormant based on the state information of the neighboring terminals, the terminal 2 may dormant without transmitting a dormancy declaration packet or the like.
- FIG. 12 shows a communication sequence when the terminal 2, the terminal 3, and the terminal 4 wake up in order after the terminal 1 to the terminal 4 sleep.
- the terminal 2 wakes up.
- the sleep notification packet transmitted when the terminal 3 and the terminal 4 sleep is provided with the sleep time of each terminal.
- the setting for the terminal 2 to wake up earlier than the terminal 3 and the terminal 4 is performed.
- the terminal 3 and the terminal 4 are lower terminals of the terminal 2.
- the terminal 2 After the terminal 2 wakes up, the terminal 2 broadcasts the wake-up notification packet M1201 and waits for a response for a response waiting time T1201. Since all the neighboring terminals of the terminal 2 are sleeping, no response is received from the neighboring terminal of the terminal 2 during the response waiting time T1201. Subsequently, the terminal 3 wakes up. The terminal 3 broadcasts the wake-up notification packet M1202 and waits for a response for a response waiting time T1202.
- the terminal 2 receives the wake-up notification packet M1202. Since it has been found that the terminal 3 has woken up, the terminal 2 stores in the memory 304 state information indicating that the terminal 3 has woken up. Further, the terminal 2 broadcasts the wake-up response packet M1203. The terminal 3 receives the wake-up response packet M1203. Since the terminal 3 can know that the terminal 2 is up, the terminal 3 stores the state information indicating that the terminal 2 is up in the memory 304.
- the terminal 4 wakes up.
- the terminal 4 broadcasts the wake-up notification packet M1204 and waits for a response for a response waiting time T1203.
- the terminal 2 and the terminal 3 receive the wake-up notification packet M1204. Since the terminals 2 and 3 can know that the terminal 4 has woken up, the memory 304 stores state information indicating that the terminal 4 has woken up. Further, the terminal 2 and the terminal 3 broadcast the wake-up response packet M1205.
- the terminal 4 receives the wake-up response packet M1205 transmitted from each of the terminal 2 and the terminal 3. Since the terminal 4 can know that the terminal 2 and the terminal 3 are up, the terminal 4 stores state information indicating that the terminal 2 and the terminal 3 are up in the memory 304.
- FIG. 12 shows state information after the terminal 2, the terminal 3, and the terminal 4 wake up.
- FIG. 13 shows a communication sequence when the terminal 1 wakes up after the terminal 1 sleeps and the terminal 4 wakes up from the terminal 2.
- the terminal 1 wakes up.
- the terminal 1 broadcasts the wake-up notification packet M1301 and waits for a response for a response waiting time T1301.
- the terminal 2 to the terminal 4 receive the wake-up notification packet M1301 transmitted from the terminal 1. Therefore, the terminal 2 can know that the terminal 1 is awake from the terminal 2.
- the terminal 2 to the terminal 4 store state information indicating that the terminal 1 is awake in the memory 304, and transmit a wake-up response packet M1302 by broadcast.
- the terminal 1 receives the wake-up response packet M1302 transmitted from each of the terminals 4 from the terminal 2. Since the terminal 1 can know from the terminal 2 that the terminal 4 is awake, the terminal 1 stores state information indicating that the terminal 4 is awake from the terminal 2 in the memory 304.
- FIG. 13 shows the state information after the terminal 1 wakes up.
- FIG. 14 shows a communication sequence when terminal 2 sleeps while terminal 1 to terminal 4 are awake.
- the terminal 3 and the terminal 4 are lower terminals of the terminal 2. Therefore, the terminal 2 may not be able to sleep due to the lower terminal.
- the terminal 2 When the terminal 2 is ready to sleep at any time, the terminal 2 broadcasts a sleep declaration packet M1401 based on the wake-up of the terminal 1 and waits for a response for a response waiting time T1401, as in the example shown in FIG.
- the terminal 3 and the terminal 4 can deliver a packet to the gateway G1 via the terminal 1. Since the communication path is secured, the terminal 3 and the terminal 4 do not react to the sleep declaration packet M1401 transmitted from the terminal 2.
- Terminal 2 confirms that no response is returned from a terminal adjacent to terminal 2.
- the terminal 2 broadcasts the sleep notification packet M1402 and sleeps.
- the terminal 1, the terminal 3, and the terminal 4 receive the sleep notification packet M1402 transmitted from the terminal 2. Since the terminal 1, the terminal 3, and the terminal 4 can know that the terminal 2 is dormant, the terminal 304 stores the state information indicating that the terminal 2 is dormant in the memory 304.
- FIG. 14 shows the state information after the terminal 2 has hibernated.
- FIG. 15 shows a procedure of a basic process periodically executed by each terminal.
- the system of each terminal is in one of the wake-up state and the sleep state. While the system is operating, the controller 301 always determines whether the terminal is in the wake-up state or the sleep state (step S1501).
- step S1502 determines whether the sleep period has elapsed since the terminal started sleeping (step S1502). For example, as a sleep time, a time such as 10 minutes or 1 hour is set for each terminal.
- the memory 304 stores the set sleep time. If the controller 301 determines that the sleep time has not elapsed in step S1502, the processing in step S1501 is executed. In this case, the controller 301 repeatedly monitors the passage of time.
- step S1503 If the controller 301 determines in step S1502 that the sleep time has elapsed, the controller 301 executes a wake-up notification transmission process (step S1503). The wake-up notification transmission process will be described later with reference to FIG. If the controller 301 determines in step S1501 that the terminal itself is awake, the controller 301 executes a packet reception process (step S1504). The packet receiving process will be described later with reference to FIG. After step S1503, the controller 301 executes the packet receiving process (step S1504).
- step S1504 the controller 301 determines whether or not the current time is the time to acquire sensor data (step S1505).
- the controller 301 periodically acquires sensor data from the sensor 303. If the controller 301 determines in step S1505 that the current time is not the timing to acquire sensor data, the process in step S1508 is executed. The processing in step S1508 will be described later.
- step S1505 if the controller 301 determines that the current time is the time to acquire sensor data, the controller 301 acquires sensor data from the sensor 303 (step S1506). After step S1506, the controller 301 causes the communication device 302 to transmit the sensor data by broadcast (step S1507).
- step S1507 the controller 301 sets the terminal to be capable of dormancy or disables dormancy based on the reception history of the dormancy prohibition packet and the state change of the adjacent terminal.
- the memory 304 stores the reception history of the sleep prohibition packet.
- the reception history of the sleep prohibition packet includes the time at which the sleep prohibition packet was received.
- the controller 301 enables the terminal to sleep based on the execution status of step S1507. If the sensor data has been transmitted in step S1507, the controller 301 enables the terminal to sleep.
- the controller 301 determines a change in the state of the adjacent terminal based on the state information of the adjacent terminal stored in the memory 304. If there is a change in the state of the adjacent terminal, the controller 301 enables the terminal to sleep. When there is no change in the state of the adjacent terminal, the controller 301 disables sleep of the own terminal (step S1508).
- the terminal 1 receives a sleep prohibition packet from a lower terminal of the terminal itself because the equivalent terminal of the terminal 1 is sleeping. Since the terminal 1 has received the sleep prohibition packet, the terminal 1 has lost the opportunity to sleep. The terminal 1 may be able to know that the coordinated terminal has woken up. In that case, there is a state change of the adjacent terminal. In that case, the terminal itself may be able to sleep. Even when the terminal 1 can know that all the lower terminals of the own terminal have become dormant, there is a state change of the adjacent terminal.
- step S1508 the controller 301 determines whether or not the terminal itself can sleep (step S1509). If the controller 301 determines in step S1509 that the terminal cannot sleep, the process in step S1501 is executed. In step S1509, when the controller 301 determines that the terminal itself can sleep, the controller 301 executes a sleep declaration transmission process (step S1510). The sleep declaration transmission process will be described later with reference to FIG. After step S1510, the process in step S1501 is performed.
- FIG. 16 shows a procedure of the packet receiving process executed in step S1504 shown in FIG.
- the controller 301 monitors the state of the communication device 302 and determines whether the communication device 302 has received a packet from an adjacent terminal (step S1601). In step S1601, if the controller 301 determines that the communication device 302 has not received the packet, the controller 301 ends the packet receiving process. If the controller 301 determines in step S1601 that the communication device 302 has received the packet, the controller 301 determines the type of the received packet (step S1602).
- step S1602 the controller 301 determines the type of the packet based on the value of the type code assigned to the packet.
- the controller 301 executes a wake-up notification reception process.
- the controller 301 executes a dormancy declaration receiving process (step S1603).
- the controller 301 ends the packet reception process without executing the process in step S1603.
- the wake-up notification receiving process will be described later with reference to FIG.
- the sleep declaration receiving process will be described later with reference to FIG.
- the controller 301 determines whether any one of the IDs assigned to the packet is the same as the own terminal ID (step S1605). If any one of the IDs assigned to the packet is the same as the own terminal ID, that is, if the own terminal ID is assigned to the packet, the own terminal has completed transmission of the packet. In that case, the controller 301 ends the packet reception processing. When all of the IDs assigned to the packet are different from the ID of the own terminal, that is, when the ID of the own terminal is not assigned to the packet, the controller 301 assigns the ID of the own terminal to the received packet. The controller 301 causes the communication device 302 to transmit the packet by broadcast (step S1606). When the processing in step S1606 has been executed, the controller 301 ends the packet receiving processing.
- step S1604 If the type of the packet is the route search, the controller 301 executes a route search process (step S1604).
- the route search processing will be described later with reference to FIG.
- the controller 301 ends the packet receiving processing.
- FIG. 17 shows the procedure of the route search process executed in step S1604 shown in FIG.
- the controller 301 analyzes the received route search packet. Specifically, the controller 301 extracts the ID assigned to the route search packet. When a plurality of IDs are given to the route search packet, the controller 301 extracts all IDs (step S1701). When the route search packet is received for the first time after the system of the own terminal is started, the controller 301 records the time at which the route search packet was received.
- step S1701 the controller 301 determines whether any one of the extracted IDs is the same as the own terminal ID (step S1702). If any one of the extracted IDs is the same as the own terminal ID, that is, if the own terminal ID is given to the route search packet, the process in step S1704 is executed. The processing in step S1704 will be described later.
- the controller 301 adds the own terminal ID to the route search packet.
- the controller 301 causes the communication device 302 to transmit the route search packet by broadcast (step S1703).
- the adjacent terminal receives the route search packet transmitted from the own terminal.
- An adjacent terminal different from the adjacent terminal that transmitted the route search packet to the own terminal may receive the route search packet from the own terminal in some cases.
- the controller 301 stores the ID assigned to the route search packet in the memory 304 as communication route information (step S1704).
- the communication path information includes one or more IDs.
- the communication route information includes a plurality of IDs, the order of the IDs assigned to the route search packet is maintained in the communication route information.
- the own terminal receives the route search packet from the gateway G1, no ID is given to the route search packet.
- the ID of the terminal itself is added to the end of the ID string included in the communication path information. Whether or not to add the own terminal ID to the communication route information may depend on the implementation of the system.
- the ID included in the communication path information is only the own terminal ID.
- the controller 301 can later confirm that the own terminal has directly received the route search packet from the gateway G1. For example, when the terminal 3 receives the route search packet via the gateway G1 and the terminal 1, the ID of the terminal 1 and the ID of the terminal 3 are included in the communication route information. Since the controller 301 of the terminal 3 can know that the ID of the terminal 1 is the first and the ID of the terminal 3 is the last, the controller 301 confirms later that the route search packet has arrived via the terminal 1. it can.
- the source of the route search packet is a terminal adjacent to the terminal itself.
- the controller 301 stores the transmission source ID in the memory 304 as an adjacent terminal (step S1705).
- step S1706 determines whether a predetermined time has elapsed.
- the predetermined time is, for example, 10 seconds. If the controller 301 determines that the predetermined time has not elapsed in step S1706, the processing in step S1701 is executed. Therefore, until the processing time elapses, the controller 301 repeatedly executes the processing in each of steps S1701 to S1706.
- step S1706 when the controller 301 determines that the predetermined time has elapsed, the controller 301 calculates the number of hops of its own terminal based on one or more pieces of communication path information stored in the memory 304.
- the hop number of the own terminal is the number of terminals that pass through the communication path from the gateway G1 to the own terminal. That is, the hop number of the own terminal is the number of terminals existing between the gateway G1 and the own terminal on the communication path.
- the controller 301 obtains the minimum value of the calculated hop numbers, that is, the minimum hop number (step S1707).
- the minimum hop number of the terminal 1 is zero.
- the minimum hop number of the terminal 3 is one. is there.
- the controller 301 calculates the number of hops of each adjacent terminal based on one or more pieces of communication path information stored in the memory 304.
- the number of hops of the adjacent terminal is the number of terminals that pass through the communication path from the gateway G1 to the adjacent terminal of the own terminal. That is, the number of hops of the adjacent terminal is the number of terminals existing between the gateway G1 and the adjacent terminal on the communication path.
- the controller 301 obtains the minimum value of the calculated hop numbers, that is, the minimum hop number for each terminal adjacent to the own terminal (step S1708).
- the communication path of the packet that has reached the terminal 3 includes at least the following communication paths.
- the order of each terminal is the same as the order of the terminal through which the packet passes.
- the terminal 3 can know that the terminal 1, the terminal 2, and the terminal 4 are adjacent terminals of the terminal 3.
- the terminal 3 can know that the minimum hop number of the terminal 1 is 0 based on the first, third, and fourth communication paths.
- the terminal 3 can know that the minimum hop number of the terminal 2 is 0 based on the second, fifth, and sixth communication paths.
- the terminal 3 can know that the minimum hop number of the terminal 4 is 1 based on the fourth and sixth communication paths.
- the controller 301 compares the minimum hop number of the own terminal with the minimum hop number of the adjacent terminal for each adjacent terminal.
- the controller 301 determines the positional relationship of the adjacent terminal with respect to the own terminal based on the comparison result. This positional relationship is determined based on the proximity to the gateway G1.
- the positional relationship between the adjacent terminals indicates that the adjacent terminal is one of the higher, equal, and lower positions with respect to the own terminal.
- the adjacent terminal is an upper terminal of the own terminal. If the minimum hop number of the adjacent terminal is the same as the minimum hop number of the own terminal, the adjacent terminal is a co-ordinate terminal of the own terminal. When the minimum hop number of the adjacent terminal is larger than the minimum hop number of the own terminal, the adjacent terminal is a lower terminal of the own terminal.
- the controller 301 stores the determined positional relationship in the memory 304 as adjacent terminal information (step S1709). For example, terminal 1 and terminal 2 are higher than terminal 3. Terminal 4 is equivalent to terminal 3. When the processing in step S1709 has been performed, the controller 301 ends the route search processing.
- FIG. 18 shows the procedure of the sleep declaration transmission process executed in step S1510 shown in FIG.
- the controller 301 confirms the time at which the terminal itself will start transmitting data packets including the sensor data acquired from the sensor 303 next time.
- the controller 301 calculates a sleep time based on this time and the current time (step S1801). For example, the sleep time is a difference between two times.
- step S1801 the controller 301 gives the calculated dormant time to the dormancy declaration packet as a dormant scheduled time.
- the controller 301 causes the communication device 302 to transmit a sleep declaration packet by broadcast (step S1802).
- step S1802 the controller 301 monitors the communication device 302 and waits for a packet to be received (step S1803). After step S1803, the controller 301 determines whether a predetermined time has elapsed since the transmission of the sleep declaration packet (step S1804). If the controller 301 determines in step S1804 that the predetermined time has not elapsed, the processing in step S1803 is performed.
- step S1804 when the controller 301 determines that the predetermined time has elapsed, the controller 301 determines whether the sleep prohibition packet has been received from the adjacent terminal within the predetermined time (step S1805).
- the controller 301 can determine that the lower terminal is not lower than the wake-up equivalent terminal.
- the controller 301 adds the information as a non-dependent relationship to the adjacent terminal information stored in the memory 304 (step S1806). This information is used to determine whether or not the own terminal can sleep when the own terminal and the equivalent terminal each want to sleep. The determination will be described later with reference to FIG. In cases other than the above, the process is not executed in step S1806.
- step S1806 the controller 301 stores the reception history of the sleep prohibition packet in the memory 304 (step S1807). This history is used in step S1508 shown in FIG. After step S1807, the controller 301 causes the communication device 302 to transmit a sleep canceling packet by broadcast (step S1808). When the processing in step S1808 has been performed, the sleep declaration transmission processing ends.
- step S1805 when the controller 301 determines that the sleep prohibition packet has not been received from the adjacent terminal within the predetermined time, the controller 301 executes a sleep time determination process (step S1809).
- the sleep time determination process will be described later with reference to FIG.
- step S1809 the controller 301 adds a sleep time to the sleep notification packet.
- the sleep time is determined in the sleep time determination process.
- the controller 301 causes the communication device 302 to transmit the sleep notification packet by broadcast (step S1810).
- the controller 301 deletes the sleep history prohibition packet reception history from the memory 304 (step S1811). If the reception history of the sleep prohibition packet is not stored in the memory 304, the process is not performed in step S1811.
- step S1811 the controller 301 executes a sleep process.
- the controller 301 switches the system of the terminal itself to the low power consumption state by stopping power supply to the sensor 303 and the communication device 302 (step S1812).
- step S1812 the process in step S1812 is performed, the sleep declaration transmission process ends.
- the own terminal receives the sleep prohibition packet from the adjacent terminal, the own terminal does not transfer the sleep prohibition packet.
- FIGS. 19 and 20 show the procedure of the sleep declaration receiving process executed in step S1603 shown in FIG.
- the controller 301 analyzes the sleep declaration packet received from the adjacent terminal. Specifically, the controller 301 extracts the transmission source ID assigned to the sleep declaration packet and specifies the transmission source terminal. That is, the controller 301 specifies a sleep declaration terminal (step S1901).
- step S1901 the controller 301 compares the ID of each terminal in the positional relationship of the adjacent terminals stored in the memory 304 with the ID of the transmission source of the sleep declaration packet. Accordingly, the controller 301 determines whether or not the hibernation declaration terminal is higher than the own terminal, that is, whether or not the hibernation declaration terminal is a higher terminal (step S1902).
- step S1902 if the controller 301 determines that the dormancy declaration terminal is higher than its own terminal, the controller 301 determines whether there is another route that does not pass through the sleep declaration terminal (step S1903).
- the other route is a route that passes through a higher-level terminal other than the sleep declaration terminal.
- the own terminal is the terminal 3
- the sleep declaration terminal is the terminal 1
- the terminals 1 to 4 are in the wake-up state.
- the upper terminals of the terminal 3 are the terminal 1 and the terminal 2.
- the controller 301 of the terminal 3 determines that another route exists.
- the controller 301 of the terminal 3 determines that another route does not exist.
- the condition for securing the communication path from each terminal to the gateway G1 is that the packet always reaches the upper terminal of the own terminal. It is not expected that the packet will reach the gateway G1 from the own terminal via the terminal equivalent to the own terminal or the lower terminal of the own terminal.
- the controller 301 performs the first sleep determination by executing the process in step S1903. If there is an upper-level terminal that is awake other than the hibernation declaration terminal, another route exists. At this time, the controller 301 determines that dormancy of the dormancy declaration terminal is permitted. Therefore, the sleep prohibition packet is not transmitted. If there is no upper-level terminal that is awake other than the hibernation declaration terminal, there is no other route. At this time, the controller 301 determines that dormancy of the dormancy declaration terminal is not allowed. Therefore, in step S1904 described later, a sleep prohibition packet is transmitted to the sleep declaration terminal.
- step S1903 the controller 301 monitors the communication device 302 and waits for reception of a packet (step S1908). After step S1908, the controller 301 determines whether a predetermined time has elapsed since the start of the sleep declaration receiving process (step S1909). The predetermined time is, for example, 5 seconds. If the controller 301 determines that the predetermined time has not elapsed in step S1909, the processing in step S1908 is executed.
- step S1909 determines whether or not the sleep notification packet has been received from the sleep declaration terminal within the predetermined time. If the controller 301 determines that the sleep notification packet has not been received in step S1905, the controller 301 ends the sleep declaration reception process.
- step S1905 when the controller 301 determines that the sleep notification packet has been received, the controller 301 analyzes the sleep notification packet. Specifically, the controller 301 extracts the sleep time included in the sleep notification packet. The controller 301 updates the state information of the dormancy declaration terminal to the dormant state in the adjacent terminal information stored in the memory 304. Further, the controller 301 adds the sleep time of the sleep declaration terminal to the adjacent terminal information. Therefore, the sleep time of the sleep declaration terminal is stored in the memory 304 (step S1906). The dormant time in the adjacent terminal information is updated as time elapses in the own terminal. That is, the dormant time decreases as time elapses.
- step S1903 when the controller 301 determines that there is no other route, the controller 301 causes the communication device 302 to transmit a sleep prohibition packet to which the ID of the sleep declaration terminal is assigned by broadcast (step S1904). After step S1904, the process in step S1908 is performed.
- the dormancy declaration terminal receives the dormancy prohibition packet (step S1805).
- the dormancy declaration terminal transmits a dormancy cancellation packet (step S1808).
- the controller 301 confirms that the sleep prohibition packet has been received, and ends the sleep declaration receiving process (step S1905).
- each terminal After the sleep prohibition packet is transmitted, each terminal waits for the reception of a sleep cancel packet in step S1908 to confirm a communication transaction related to sleep.
- An implementation that omits the process of receiving a dormant cancellation packet may be applied.
- step S1902 when the controller 301 determines that the sleep declaration terminal is not higher than the own terminal, the controller 301 determines whether the sleep declaration terminal is at the same level as the own terminal (step S1907). In step S1907, if the sleep declaration terminal is not at the same level as the own terminal, the controller 301 determines that the sleep declaration terminal is a lower terminal. In this case, the process in step S1908 is performed.
- step S1907 when the controller 301 determines that the dormancy declaration terminal is at the same level as the own terminal, the controller 301 determines all lower terminals of the own terminal based on the state information of the adjacent terminal stored in the memory 304. It is determined whether or not it is sleeping (step S2001). If the controller 301 determines in step S2001 that all lower terminals are dormant, the process in step S1908 is executed. In this case, the sleep prohibition packet is not transmitted. When all lower terminals of the own terminal are sleeping, the sleep declaration terminal can sleep.
- step S2001 when at least one lower terminal is in the wake-up state, the controller 301 determines whether the sleep declaration terminal is included in another route of the lower terminal of the own terminal (step S2002).
- Each terminal can grasp the positional relationship between its own terminal and its adjacent terminal. Each terminal has not completely grasped the positional relationship between its neighboring terminal and other neighboring terminals. However, similarly to the description of step S1806 shown in FIG. 18, each terminal can grasp a certain degree of positional relationship. For example, each terminal can grasp whether or not the lower terminal of its own terminal is also below the co-ordinate terminal of its own terminal.
- the controller 301 determines whether the lower-level terminal of the own terminal is lower than the equivalent terminal, and thereby determines whether the dormancy declaration terminal is included in another route of the lower-level terminal of the own terminal. I do.
- step S2002 when the controller 301 determines that the dormant declaration terminal is not included in another route of the lower terminal of the own terminal, the process in step S1908 is executed. In this case, the sleep prohibition packet is not transmitted. Since the communication path of the lower terminal of the own terminal does not include the sleep declaration terminal, the lower terminal of the own terminal is not affected by the sleep of the sleep declaration terminal. Therefore, the hibernation declaration terminal can sleep.
- step S2002 when the controller 301 determines that the dormancy declaration terminal is included in another route of the lower terminal of the own terminal, the controller 301 determines whether there is a history of receiving the dormancy prohibition packet in the current wake-up state of the own terminal. It is determined whether or not it is (step S2003). If the sleep prohibition packet has not been received after the current wake-up state is started, there is no history of the reception of the sleep prohibition packet in the current wake-up state. When a sleep prohibition packet is received after the current wake-up state is started, there is a history of reception of the sleep prohibition packet in the current wake-up state.
- step S2003 when the controller 301 determines that there is no history of receiving the sleep prohibition packet in the current wake-up state, the processing in step S1908 is executed. In this case, the sleep prohibition packet is not transmitted.
- step S2003 when the controller 301 determines that there is a history of reception of the sleep prohibition packet in the current wake-up state, the controller 301 performs transmission processing of the data packet including the sensor data acquired from the sensor 303 by the own terminal. The sleep time until the next execution is confirmed (step S2004).
- the own terminal receives the sleep prohibition packet, the own terminal is in a sleepable state. This means that the time until the next measurement by the sensor 303 is performed is held as the sleep time. Dormant time decreases over time.
- the terminal After the elapse of the sleep time, the terminal performs a predetermined process such as data transmission. After the predetermined processing has been executed, the terminal itself resumes sleep. The own terminal can predict the time when the sleep is restarted based on the sleep time confirmed in step S2004.
- the controller 301 determines whether or not the scheduled sleep time at which the terminal starts to sleep is included in the sleep time of the sleep declaration terminal. Specifically, the controller 301 predicts the scheduled sleep time of the own terminal based on the sleep time of the own terminal confirmed in step S2004. The controller 301 calculates the scheduled wake-up time at which the sleep declaration terminal ends sleep by adding the scheduled sleep time included in the sleep declaration packet to the time at which the sleep declaration packet was received. The controller 301 compares the scheduled sleep time of the terminal itself with the scheduled wake-up time of the sleep declaration terminal. If the scheduled sleep time of the own terminal is earlier than the scheduled wake-up time of the sleep declaration terminal, the scheduled sleep time of the own terminal is included in the sleep time of the sleep declaration terminal. If the scheduled sleep time of the own terminal is later than the scheduled wake-up time of the sleep declaration terminal, the scheduled sleep time of the own terminal is not included in the sleep time of the sleep declaration terminal (step S2005).
- step S2005 if the controller 301 determines that the scheduled sleep time of the own terminal is not included in the sleep time of the sleep declaration terminal, the process in step S1908 is executed. In this case, the sleep prohibition packet is not transmitted. Since the own terminal sleeps after the hibernation declaration terminal wakes up, the lower terminals of the own terminal are not affected by the hibernation of the hibernation declaration terminal. Therefore, the hibernation declaration terminal can sleep.
- step S2005 when the controller 301 determines that the scheduled sleep time of the terminal is included in the sleep time of the sleep declaration terminal, the process in step S1904 is performed.
- step S2003 it has been found that the terminal has a history of losing the opportunity to sleep.
- a dormant prohibition packet is transmitted in step S1904.
- the own terminal receives a sleep declaration packet or a sleep cancel packet from an adjacent terminal, the own terminal does not transfer the sleep declaration packet or the sleep cancel packet.
- the own terminal receives the sleep notification packet from the adjacent terminal, the own terminal does not transfer the sleep notification packet.
- FIG. 21 shows the procedure of the wake-up notification transmission process executed in step S1503 shown in FIG.
- the controller 301 executes a wake-up process.
- the controller 301 switches the system of the terminal itself from the low power consumption state to the normal operation state by starting power supply to the sensor 303 and the communication device 302 (step S2101).
- step S2101 the controller 301 causes the communication device 302 to transmit a wake-up notification packet by broadcast (step S2102).
- step S2102 the controller 301 monitors the state of the communication device 302 and determines whether the communication device 302 has received a wake-up response packet from an adjacent terminal (step S2103). If the controller 301 determines in step S2103 that the communication device 302 has not received the wakeup response packet, the process in step S2105 is executed. The processing in step S2105 will be described later.
- step S2103 when the controller 301 determines that the communication device 302 has received the wakeup response packet, the controller 301 extracts the ID included in the wakeup response packet.
- the controller 301 searches the adjacent terminal information stored in the memory 304 for information having the extracted ID.
- the adjacent terminal that has transmitted the wakeup response packet is in the wakeup state.
- the controller 301 updates the state information associated with the discovered ID to the wake-up state (step S2104).
- step S2104 the controller 301 determines whether or not a predetermined time has elapsed since the transmission of the wake-up notification packet (step S2105). If the controller 301 determines that the predetermined time has not elapsed in step S2105, the processing in step S2103 is executed. If the controller 301 determines in step S2105 that the predetermined time has elapsed, the controller 301 ends the wake-up notification transmission process.
- FIG. 22 shows the procedure of the wakeup notification receiving process executed in step S1603 shown in FIG.
- the controller 301 analyzes the wake-up notification packet received from the adjacent terminal. Specifically, the controller 301 extracts the ID of the transmission source assigned to the wake-up notification packet and specifies the terminal of the transmission source (step S2201).
- the controller 301 searches the adjacent terminal information stored in the memory 304 for information having the extracted ID.
- the adjacent terminal that has transmitted the wake-up notification packet is in the wake-up state.
- the controller 301 updates the state information associated with the discovered ID to the wake-up state (step S2202).
- step S2202 the controller 301 causes the communication device 302 to transmit a wake-up response packet by broadcast (step S2203).
- step S2203 the controller 301 ends the wake-up notification receiving process.
- the own terminal receives the wake-up notification packet from the adjacent terminal, the own terminal does not transfer the wake-up notification packet.
- FIG. 23 shows the procedure of the sleep time determination process executed in step S1809 shown in FIG.
- the controller 301 confirms the next time when the terminal starts transmission processing of a data packet including the sensor data acquired from the sensor 303.
- the controller 301 calculates a sleep time based on the time and the current time (step S2301). For example, the sleep time is a difference between two times.
- the controller 301 confirms the remaining sleep time of the sleeping lower terminal based on the adjacent terminal information stored in the memory 304.
- step S1906 shown in FIG. 19 the sleep time of the adjacent terminal that has declared sleep is added to the adjacent terminal information. As described above, the sleep time decreases as time elapses. If a plurality of lower terminals are dormant, the controller 301 selects the shortest remaining dormant time. That is, the controller 301 selects the remaining sleep time of the lower terminal that wakes up the earliest (step S2302). If there is no dormant lower terminal, the controller 301 does not select a sleep time.
- step S2302 the controller 301 compares the sleep time of the terminal itself with the rest of the lower terminal.
- the controller 301 determines whether or not the sleep time of the own terminal is shorter than the remaining sleep time of the lower terminal (step S2303).
- step S2303 when the controller 301 determines that the sleep time of the own terminal is shorter than the remaining sleep time of the lower terminal, the controller 301 determines the sleep time of the own terminal as the sleep time to be added to the sleep notification packet. (Step S2304). For example, if the sleep time of the own terminal is 60 minutes and the remaining sleep time of the lower terminal is 90 minutes, 60 minutes is adopted as the sleep time. Even when the controller 301 does not select a sleep time in step S2302, the processing in step S2304 is executed.
- the terminal wakes up before the lower terminal wakes up.
- the communication path of the lower terminal is secured.
- step S2303 when the controller 301 determines that the remaining sleep time of the lower terminal is shorter than the sleep time of the terminal itself, the controller 301 adds the sleep to the sleep notification packet based on the remaining sleep time of the lower terminal. Determine the time. For example, the controller 301 determines a time that is slightly shorter than the remaining sleep time of the lower terminal as a sleep time to be added to the sleep notification packet (step S2305).
- the own terminal wakes up before the lower terminal.
- the sleep time of the own terminal is 60 minutes and the remaining sleep time of the lower terminal is 90 minutes.
- the own terminal determines the sleep time.
- the sleep time of the own terminal is 60 minutes.
- the remaining dormant time of the dormant lower terminal is 30 minutes. In this case, the remaining sleep time (30 minutes) of the lower terminal is adopted.
- the own terminal is required to wake up in less than 30 minutes in order to secure the communication path of the lower terminal. Therefore, in consideration of the processing time of the wake-up process and the error of the internal clock of each terminal, the own terminal wakes up at a timing earlier than the timing when the lower terminal wakes up. For example, there is an error in how the internal clock advances in each system. The error is at most about several ms to several tens of ms. The processing time required for waking up the system is considered to be several seconds at the longest. For example, the controller 301 estimates that the total of the processing time required for waking up the terminal and the error of the internal clock is about 10 seconds. When the remaining sleep time of the lower terminal is 30 minutes, the controller 301 sets the sleep time of the terminal itself to 29 minutes and 50 seconds.
- step S2304 or step S2305 When the processing in step S2304 or step S2305 is executed, the controller 301 ends the sleep time determination processing.
- the sleep time determined in step S2304 or step S2305 is added to the sleep notification packet transmitted in step S1810 shown in FIG.
- FIG. 24 shows the structure of each packet used for communication.
- the packet P2401 includes a type F2401, a transmission source ID F2402, and a payload F2403.
- the type F2401 indicates the type of the packet.
- the transmission source ID F2402 is an ID for identifying the transmission source.
- the payload F2403 includes each information.
- the type F2401 includes a value for each type shown in FIG.
- the packet type is any one of route search, dormancy declaration, dormancy prohibition, dormancy cancellation, dormancy notification, wakeup notification, wakeup response, and data. Different values are prepared for each packet type.
- the controller 301 extracts the type F2401 from the received packet.
- the controller 301 determines the type of the packet based on the type F2401, and executes each process.
- the transmission source ID $ F2402 includes an ID such as 0001 used for describing the network N1 shown in FIG.
- the format of the payload F2403 differs for each packet type.
- an ID is assigned each time the packet is transferred.
- the payload D2401 of the route search packet includes one or more IDs.
- the order of these IDs is the same as the order of the terminals on the communication route of the route search packet.
- the route search packet transmitted from the gateway G1 reaches the terminal 1.
- the terminal 1 transmits the route search packet
- the terminal 1 assigns an ID (0001) unique to the terminal 1 to the route search packet.
- the route search packet transmitted from the terminal 1 reaches the terminal 2.
- the terminal 2 adds an ID (0002) unique to the terminal 2 to the route search packet.
- the data sequence of the payload D2401 is "00010002". This data string becomes the communication path information as it is.
- the number of IDs arranged from the beginning of the data is the number of hops.
- the payload D2402 of the dormancy declaration packet includes the dormant scheduled time.
- the dormancy time may be indicated by a dormancy start time and a dormancy end time.
- the payload D2403 of the sleep prohibition packet includes the transmission source ID of the terminal that transmitted the sleep declaration packet. Null is described in the payload D2404 of the sleep prohibition packet. This means that the payload D2404 of the sleep prohibition packet does not include data.
- ⁇ Payload D2405 of the sleep notification packet includes the sleep time.
- the sleep time may be indicated by a sleep start time and a sleep end time.
- NULL is written in the payload D2406 of the wakeup notification packet and the payload D2407 of the wakeup response packet. This means that the payload D2406 of the wakeup notification packet and the payload D2407 of the wakeup response packet do not include data.
- the payload D2408 of the data packet includes an ID and data. As with the route search packet, a data packet is assigned an ID each time the packet is transferred.
- FIG. 26A, FIG. 26B, and FIG. 26C show a configuration of adjacent terminal information managed by each terminal.
- FIG. 26A shows a format of adjacent terminal information.
- the neighboring terminal information includes information on each of an ID, a positional relationship, a terminal state, a sleep time, and a non-dependent relationship.
- the ID is unique to the adjacent terminal.
- the positional relationship indicates a hierarchical position of the adjacent terminal with respect to the own terminal.
- the positional relationship indicates one of the upper, lower, and lower positions.
- the terminal state indicates one of a wake-up state and a sleep state. If the neighboring terminal is dormant, a dormant time is set.
- the non-dependent relationship means that the lower terminal of the own terminal is not located below the coordinate terminal of the own terminal.
- the non-dependent relationship indicates the ID of the lower terminal.
- the controller 301 updates the adjacent terminal information every time new information is obtained.
- the terminal state indicates dormancy.
- the dormancy time is 90 minutes. The dormancy time decreases with time.
- FIG. 26C shows an example of information managed by the terminal 1 in the network N2 shown in FIG. In the network N2, the terminal 2 and the terminal 3 are at positions where they cannot directly communicate with each other. As in the description of FIG. 18, the terminal 1 knows that the terminal 3 does not exist below the terminal 2 at the same level as the terminal 1 by repeating the sequence of the sleep declaration packet and the like.
- the wireless communication method includes a first step, a second step, a third step, a fourth step, and a fifth step.
- the controller 301 causes the communication device 302 to transmit the route search packet to the adjacent terminal.
- the controller 301 determines the upper terminal based on the route search packet received by the communication device from the peripheral terminal.
- the controller 301 stores the state information of the adjacent terminal in the memory 304 based on the notification that the communication device 302 has received from the adjacent terminal.
- the controller 301 determines the first sleep determination based on the state information in the fourth step (S1903). Execute. If the controller 301 determines that the sleep declaration terminal is not allowed to sleep, the controller 301 causes the communication device 302 to transmit a sleep prohibition packet to the sleep declaration terminal in a fifth step (S1904).
- the wireless communication method according to each aspect of the present invention does not need to have steps other than the above five steps.
- the controller 301 determines that the sleep declaration terminal is not allowed to sleep in the first sleep determination. Therefore, each terminal can reliably secure a communication path. If there is an upper-level terminal that is awake other than the hibernation declaration terminal, the controller 301 determines that the hibernation of the hibernation declaration terminal is permitted in the first hibernation determination. Therefore, each terminal can reduce the power consumption of the entire network. In the multi-hop network, each terminal can spontaneously execute the first sleep determination without being centrally managed.
- step S1802 the controller 301 causes the communication device 302 to transmit a sleep declaration packet to an adjacent terminal. If the communication device 302 does not receive a sleep prohibition packet from an adjacent terminal within a predetermined period after the communication device 302 transmits the sleep declaration packet, the controller 301 sends the sleep notification packet to the communication device 302 in step S1810. To send to. After the communication device 302 transmits the sleep notification packet, in step S1812, the controller 301 executes a sleep process for shifting the terminal to a sleep state in which power consumption is reduced. After the sleep process is executed, the controller 301 executes a wake-up process for returning the terminal from the sleep state in step S2101.
- the controller 301 After the wake-up process is performed, the controller 301 causes the communication device 302 to transmit a wake-up notification packet to the adjacent terminal in step S2102. In step S1906 and step S2202, the controller 301 stores the state information in the memory 304 based on the sleep notification packet received by the communication device 302 from the adjacent terminal and the wake-up notification packet received by the communication device 302 from the adjacent terminal. .
- Each wireless communication terminal can always grasp the wake-up state and the dormant state of the terminal adjacent to the own terminal based on the state information. Therefore, the wireless communication terminal which is in a sleepable state and aims for a sleep opportunity can immediately start the sleep process.
- step S1709 the controller 301 determines the equivalent terminal based on the route search packet received by the communication device 302 from the peripheral terminal.
- the third number is the same as the fourth number.
- the third number is the number of wireless communication terminals existing between the gateway G1 (aggregation device) and the terminal itself on the communication path.
- the fourth number is the number of wireless communication terminals existing between the gateway G1 and the equivalent terminal on the communication path.
- step S1802 a sleep declaration packet is transmitted.
- a sleep prohibition packet may be received from an adjacent terminal within a predetermined period thereafter (step S1805).
- step S1508 the controller 301 can detect that the dormant equivalent terminal has transitioned from the sleep state to the wake-up state.
- the controller 301 determines that the dormant equivalent terminal has transitioned from the dormant state to the wake-up state, the own terminal can be dormant (step S1509). Therefore, the sleep declaration transmission process (step S1510) is executed, and the sleep declaration packet is transmitted again in step S1802.
- the sleep notification packet includes period information (sleep time) related to the sleep period of the wireless communication terminal that transmits the sleep notification packet.
- the controller 301 may execute the timing determination based on the period information in step S2004 and step S2005 before the terminal starts sleeping next.
- the controller 301 determines whether or not the sleeping time of the equivalent sleeping terminal is earlier than the sleeping time of the terminal itself.
- the scheduled wake-up time is a time at which the equivalent terminal ends sleep.
- the dormancy scheduled time is a time at which the terminal starts dormancy.
- the controller 301 determines that the scheduled wake-up time of the equivalent terminal is earlier than the scheduled sleep time of the terminal itself, the controller 301 sends the sleep declaration packet to the communication device 302 to the adjacent terminal at the scheduled wake-up time of the equivalent terminal. You may make it transmit (step S1802).
- step S2004 the controller 301 predicts a scheduled dormancy time at which the terminal will start dormant.
- the controller 301 may predict the expected wake-up time of the dormant equivalent terminal based on the period information.
- the controller 301 can determine whether or not the terminal itself can sleep based on the scheduled wake-up time of the sleeping equivalent terminal.
- the dormancy declaration packet includes period information (scheduled dormancy time) related to the dormancy period of the dormancy declaration terminal.
- the controller 301 determines the equivalent terminal based on the route search packet received by the communication device 302 from the peripheral terminal. If the communication device 302 receives the dormancy prohibition packet from the adjacent terminal within a predetermined period, and the dormancy declaration terminal is the equivalent terminal, the controller 301 executes the second dormancy determination in step S2005. In the second sleep determination, the controller 301 determines whether or not there is a period in which the own terminal and the sleep declaration terminal are sleeping at the same time based on the scheduled sleep time of the own terminal and the sleep period of the sleep declaration terminal.
- the dormancy scheduled time is a time at which the terminal starts dormancy.
- step S2005 the controller 301 compares the scheduled sleep time of the terminal itself with the scheduled wake-up time of the sleep declaration terminal. If the scheduled sleep time of the own terminal is earlier than the scheduled sleep time of the sleep declaration terminal, there is a period in which the own terminal and the sleep declaration terminal are sleeping at the same time. If the scheduled sleep time of the own terminal is later than the scheduled wake-up time of the sleep declaration terminal, there is no period in which the own terminal and the sleep declaration terminal are sleeping at the same time. If there is a period in which the own terminal and the sleep declaration terminal are sleeping at the same time, a sleep prohibition packet is transmitted in step S1904.
- step S2003 it is determined whether the own terminal and the sleep declaration terminal are simultaneously sleeping (step S2005).
- step S2005 the sleep of the terminal declaring sleep is prohibited. Therefore, the next sleep of the own terminal has priority over the sleep of the sleep declaration terminal.
- step S1709 the controller 301 determines the lower terminal based on the route search packet received by the communication device 302 from the peripheral terminal.
- the fifth number is greater than the sixth number.
- the fifth number is the number of wireless communication terminals existing between the gateway G1 (aggregation device) and the lower terminal on the communication path.
- the sixth number is the number of wireless communication terminals existing between the gateway G1 (aggregating device) and the terminal itself on the communication path.
- the controller 301 stores in the memory 304 detour information (non-dependent relationship) indicating whether or not the equivalent terminal is included in the communication path of the lower terminal.
- the controller 301 determines whether or not the sleep declaration terminal is an equivalent terminal included in the communication route of the lower terminal based on the bypass information (step S2002). If the controller 301 determines that there is a period in which the own terminal and the hibernation declaration terminal are sleeping at the same time, and the controller 301 determines that the hibernation declaration terminal is an equivalent terminal included in the communication path of the lower terminal, 301 determines that the hibernation of the hibernation declaration terminal is not permitted in the second hibernation determination.
- step S1709 the controller 301 determines the lower terminal based on the route search packet received by the communication device 302 from the peripheral terminal.
- the sleep notification packet includes period information (sleep time) related to the sleep period of the wireless communication terminal that transmits the sleep notification packet.
- step S2302 the controller 301 determines the scheduled wake-up time of the sleeping lower terminal based on the period information.
- the scheduled wake-up time is a time at which the lower terminal ends sleep.
- the controller 301 proceeds to step S2304 or In step S2305, the sleep period of the own terminal is determined. The sleep period of the own terminal ends before the scheduled wake-up time of the lower terminal.
- step S2301 the controller 301 determines the sleep period (sleep period) of the terminal itself.
- the controller 301 determines the dormant period of the terminal in step S2305.
- the sleep notification packet transmitted by the communication device 302 includes period information on the sleep period of the terminal itself.
- step S2303 the controller 301 determines whether the sleep time of the own terminal is shorter than the remaining sleep time of the lower terminal. If the sleep time of the own terminal is shorter than the remaining sleep time of the lower terminal, the sleep period of the own terminal ends after the scheduled wake-up time of the lower terminal. Since the terminal itself is dormant when the lower terminal wakes up, the communication path of the lower terminal is not secured. In that case, the sleep period of the own terminal is determined in step S2305. The sleep period ends before the lower terminal wakes up. That is, the own terminal wakes up before the lower terminal wakes up. Therefore, the communication path of the lower terminal is reliably ensured, and the power consumption of the terminal itself is reduced.
- the wireless communication terminal, the wireless communication system, the wireless communication method, and the program can reliably secure a communication path and reduce power consumption of the entire network.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
無線通信端末において、無線通信機が休眠宣言パケットを休眠宣言端末から受信した場合、コントローラは、休眠判断を実行する。前記休眠宣言端末以外に起床中の上位端末が存在するならば、前記コントローラは、前記休眠宣言端末の休眠を認めると判断する。前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記休眠宣言端末の休眠を認めないと判断する。前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる。
Description
本発明は、無線通信端末、無線通信システム、無線通信方法、およびプログラムに関する。
近年、無線通信機能を備えた遠方のセンサデバイスからネットワークを経由して情報を収集する方法が提案されている。これは、従来型のネットワークを敷設することが困難な場所における新たなユースケースを提供する。このようなユースケースでは、消費電力が少なく、かつ長距離無線通信を実現した手段が選ばれることが多い。そのような手段は、LPWA(Low Power Wide Area)と呼ばれる。
例えば、住宅向けのガスメーターの検針のためにこのような無線通信機能を備えたセンサデバイスを設置することがある。住宅地では、住宅が密集している場所と、住宅が離れている場所とがある。例えば、スター型のネットワークでは、ゲートウェイとなる機器を、遮蔽物の影響を受けずに全てのセンサデバイスへ電波が届く場所に設置する必要がある。しかし、この条件を満たすことは難しい。一方、メッシュ型のネットワークでは、センサデバイスがそれに隣接するセンサデバイスと通信を行うことを考慮して各センサデバイスを設置することにより課題が解決できる。
消費電力の観点では、スター型ネットワークにおいて、個々のセンサデバイスは他のセンサデバイスの影響を受けずに自身が好むタイミングで休眠することができる。メッシュ型ネットワークにおいて、個々のセンサデバイスは、それに隣接するセンサデバイスからゲートウェイ等へデータを送信するための通信経路になっている可能性がある。そのような場合、各センサデバイスに隣接するセンサデバイスのために通信経路を確保する必要がある。そのため、センサデバイスは休眠することができない。その結果、メッシュ型ネットワークでは消費電力を抑えることが難しい。
特許文献1に開示されたマルチホップ無線アドホックネットワークでは、ゲートウェイが親局であり、かつ無線ネットワークはツリー構造を持つ。ネットワーク内の全ての端末は、ゲートウェイへの経路に存在する隣接端末に同期する。全ての端末は、ゲートウェイに同期する。ゲートウェイと全ての端末とが、起動周期、起動位相、および起動期間を合わせて起動とスリープとを切り替える。起動期間中、同期誤差が所定範囲内である起動区間でデータ転送が実施される。スリープ期間中、最小限の部分が動作する。同期動作を維持するために、ゲートウェイは、ツリー構造に応じて再同期を実施する。
最近のIoT(Internet of Things)を活用した環境では、端末に様々な種類のセンサが組み込まれ、センサデータが端末からゲートウェイを経由して所定のサーバへ送信される。各端末が、センサデータの種別によって異なる頻度でデータ送信を行うことが多い。特許文献1に開示されたネットワークでは、全端末がゲートウェイと同期して起床とスリープとを行う。各端末が起床および休眠を間欠的に繰り返すネットワークでは、データ通信を行わない端末を含めて全ての端末が起床する。そのため、余分な電力が消費される。
本発明は、通信経路を確実に確保することができ、かつネットワーク全体の消費電力を減らすことができる無線通信端末、無線通信システム、無線通信方法、およびプログラムを提供することを目的とする。
本発明の第1の態様によれば、無線通信システムにおける無線通信端末が提供される。前記無線通信システムは、集約装置および2つ以上の前記無線通信端末を含む。前記無線通信端末は、無線通信機と、メモリと、コントローラとを有する。前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させる。前記通信経路情報は、前記経路探索パケットの通信経路を示す。前記周辺端末は、前記集約装置および前記隣接端末のいずれか1つである。前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末である。前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別する。前記上位端末は前記隣接端末である。第1の数は第2の数よりも小さい。前記第1の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数である。前記第2の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記コントローラは、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶する。前記状態情報は、休眠中および起床中のいずれか1つを示す。前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記状態情報に基づいて第1の休眠判断を実行する。前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末である。前記休眠宣言端末以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めると判断する。前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めないと判断する。前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる。
本発明の第2の態様によれば、第1の態様において、前記コントローラは、前記無線通信機に、前記休眠宣言パケットを前記隣接端末へ送信させてもよい。前記無線通信機が前記休眠宣言パケットを送信した後の所定期間内に前記無線通信機が前記隣接端末から前記休眠禁止パケットを受信しない場合、前記コントローラは、前記無線通信機に、休眠通知パケットを前記隣接端末へ送信させてもよい。前記無線通信機が前記休眠通知パケットを送信した後、前記コントローラは、消費電力が低減された休眠状態に前記自端末を移行させるための休眠処理を実行してもよい。前記休眠処理が実行された後、前記コントローラは、前記自端末を前記休眠状態から復帰させるための起床処理を実行してもよい。前記起床処理が実行された後、前記コントローラは、前記無線通信機に、起床通知パケットを前記隣接端末へ送信させてもよい。前記コントローラは、前記無線通信機が前記隣接端末から受信した前記休眠通知パケットと、前記無線通信機が前記隣接端末から受信した前記起床通知パケットとに基づいて、前記状態情報を前記メモリに記憶してもよい。
本発明の第3の態様によれば、第2の態様において、前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて、等位端末を判別してもよい。第3の数は第4の数と同じである。前記第3の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記第4の数は、前記通信経路において前記集約装置と前記等位端末との間に存在する前記無線通信端末の数である。前記所定期間内に前記無線通信機が前記休眠禁止パケットを前記隣接端末から受信し、かつ、休眠中である前記等位端末の前記状態情報が前記メモリに記憶されている第1の場合、前記コントローラは、休眠中の前記等位端末が起床したタイミングで、前記無線通信機に、前記休眠宣言パケットを前記隣接端末へ送信させてもよい。
本発明の第4の態様によれば、第3の態様において、前記休眠通知パケットは、前記休眠通知パケットを送信する前記無線通信端末の休眠期間に関する期間情報を含んでもよい。前記第1の場合、前記自端末が次に休眠を開始する前に、前記コントローラは、前記期間情報に基づいて、タイミング判断を実行してもよい。前記コントローラは、前記タイミング判断において、休眠中である前記等位端末の起床予定時刻が前記自端末の休眠予定時刻よりも早い否かを判断してもよい。前記起床予定時刻は、前記等位端末が休眠を終了する時刻である。前記休眠予定時刻は、前記自端末が休眠を開始する時刻である。前記起床予定時刻が前記休眠予定時刻よりも早いと前記コントローラが判断した場合、前記コントローラは、前記起床予定時刻において、前記無線通信機に、前記休眠宣言パケットを前記隣接端末へ送信させてもよい。
本発明の第5の態様によれば、第2の態様において、前記休眠宣言パケットは、前記休眠宣言端末の休眠期間に関する期間情報を含んでもよい。前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて、等位端末を判別してもよい。第3の数は第4の数と同じである。前記第3の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記第4の数は、前記通信経路において前記集約装置と前記等位端末との間に存在する前記無線通信端末の数である。前記所定期間内に前記無線通信機が前記休眠禁止パケットを前記隣接端末から受信し、かつ前記休眠宣言端末が前記等位端末である場合、前記コントローラは第2の休眠判断を実行してもよい。前記コントローラは、前記第2の休眠判断において、前記自端末の休眠予定時刻および前記休眠宣言端末の前記休眠期間に基づいて、前記自端末および前記休眠宣言端末が同時に休眠している期間があるか否かを判断してもよい。前記休眠予定時刻は、前記自端末が休眠を開始する時刻である。前記自端末および前記休眠宣言端末が同時に休眠している期間があると前記コントローラが判断した場合、前記コントローラは、前記第2の休眠判断において前記休眠宣言端末の休眠を認めないと判断してもよい。
本発明の第6の態様によれば、第5の態様において、前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて下位端末を判別してもよい。第5の数は第6の数よりも大きい。前記第5の数は、前記通信経路において前記集約装置と前記下位端末との間に存在する前記無線通信端末の数である。前記第6の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記コントローラは、前記等位端末が前記下位端末の前記通信経路に含まれるか否かを示す迂回情報を前記メモリに記憶してもよい。前記コントローラは、前記第2の休眠判断において、前記迂回情報に基づいて、前記休眠宣言端末が、前記下位端末の前記通信経路に含まれる前記等位端末であるか否かを判断してもよい。前記自端末および前記休眠宣言端末が同時に休眠している期間があると前記コントローラが判断し、かつ前記休眠宣言端末が、前記下位端末の前記通信経路に含まれる前記等位端末であると前記コントローラが判断した場合、前記コントローラは、前記第2の休眠判断において前記休眠宣言端末の休眠を認めないと判断してもよい。
本発明の第7の態様によれば、第2の態様において、前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて下位端末を判別してもよい。第5の数は第6の数よりも大きい。前記第5の数は、前記通信経路において前記集約装置と前記下位端末との間に存在する前記無線通信端末の数である。前記第6の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記休眠通知パケットは、前記休眠通知パケットを送信する前記無線通信端末の休眠期間に関する期間情報を含む。前記コントローラは、前記期間情報に基づいて、休眠中である前記下位端末の起床予定時刻を判断してもよい。前記起床予定時刻は、前記下位端末が休眠を終了する時刻である。前記所定期間内に前記無線通信機が前記休眠禁止パケットを前記隣接端末から受信せず、かつ、休眠中である前記下位端末の前記状態情報が前記メモリに記憶されている第2の場合、前記コントローラは、前記自端末の休眠期間を決定してもよい。前記自端末の前記休眠期間は、前記下位端末の前記起床予定時刻よりも前に終了する。
本発明の第8の態様によれば、第7の態様において、前記コントローラは、前記自端末の休眠予定期間を決定してもよい。前記第2の場合、かつ前記休眠予定期間が前記下位端末の前記起床予定時刻よりも後に終了する第3の場合、前記コントローラは、前記自端末の前記休眠期間を決定してもよい。前記無線通信機が送信する前記休眠通知パケットは、前記自端末の前記休眠期間に関する前記期間情報を含んでもよい。
本発明の第9の態様によれば、集約装置および2つ以上の無線通信端末を含む無線通信システムが提供される。前記無線通信端末は、無線通信機と、メモリと、コントローラとを有する。前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させる。前記通信経路情報は、前記経路探索パケットの通信経路を示す。前記周辺端末は、前記集約装置および前記隣接端末のいずれか1つである。前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末である。前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別する。前記上位端末は前記隣接端末である。第1の数は第2の数よりも小さい。前記第1の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数である。前記第2の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記コントローラは、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶する。前記状態情報は、休眠中および起床中のいずれか1つを示す。前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記状態情報に基づいて第1の休眠判断を実行する。前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末である。前記休眠宣言端末以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めると判断する。前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めないと判断する。前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる。
本発明の第10の態様によれば、無線通信システムにおける無線通信端末のコントローラが実行する無線通信方法が提供される。前記無線通信方法は、第1のステップ、第2のステップ、第3のステップ、第4のステップ、および第5のステップを有する。前記無線通信システムは、集約装置および2つ以上の前記無線通信端末を含む。前記無線通信端末は、無線通信機と、メモリと、前記コントローラとを有する。前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記第1のステップにおいて、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させる。前記通信経路情報は、前記経路探索パケットの通信経路を示す。前記周辺端末は、前記集約装置および前記隣接端末のいずれか1つである。前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末である。前記コントローラは、前記第2のステップにおいて、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別する。前記上位端末は前記隣接端末である。第1の数は第2の数よりも小さい。前記第1の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数である。前記第2の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記コントローラは、前記第3のステップにおいて、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶する。前記状態情報は、休眠中および起床中のいずれか1つを示す。前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記第4のステップにおいて、前記状態情報に基づいて第1の休眠判断を実行する。前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末である。前記休眠宣言端末以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めると判断する。前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めないと判断する。前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記第5のステップにおいて、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる。
本発明の第11の態様によれば、無線通信システムにおける無線通信端末のコントローラに、第1のステップ、第2のステップ、第3のステップ、第4のステップ、および第5のステップを実行させるためのプログラムが提供される。前記無線通信システムは、集約装置および2つ以上の前記無線通信端末を含む。前記無線通信端末は、無線通信機と、メモリと、前記コントローラとを有する。前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記第1のステップにおいて、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させる。前記通信経路情報は、前記経路探索パケットの通信経路を示す。前記周辺端末は、前記集約装置および前記隣接端末のいずれか1つである。前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末である。前記コントローラは、前記第2のステップにおいて、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別する。前記上位端末は前記隣接端末である。第1の数は第2の数よりも小さい。前記第1の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数である。前記第2の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数である。前記コントローラは、前記第3のステップにおいて、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶する。前記状態情報は、休眠中および起床中のいずれか1つを示す。前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記第4のステップにおいて、前記状態情報に基づいて第1の休眠判断を実行する。前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末である。前記休眠宣言端末が以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めると判断する。前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めないと判断する。前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記第5のステップにおいて、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる。
上記の各態様によれば、無線通信端末、無線通信システム、無線通信方法、およびプログラムは、通信経路を確実に確保することができ、かつネットワーク全体の消費電力を減らすことができる。
図面を参照し、本発明の実施形態を説明する。
(ネットワークの構成)
図1は、本発明の実施形態のネットワークN1の構成を示す。図1に示すネットワークN1は、ゲートウェイG1、端末1、端末2、端末3、および端末4を有する。ゲートウェイG1および端末1から端末4は無線通信機能を備え、かつ隣接する端末と無線通信を行う。各端末のシステムが起動した後、端末1から端末4は、条件に応じて起床状態および休眠状態のいずれかで動作する。端末1から端末4は、環境特性を計測するセンサを備える。センサが計測を行う場合、各端末は起床し、それ以外の期間において各端末は基本的に休眠する。システムが起動した後、自端末の通信経路情報が取得できていない状態では、各端末は常に起床状態で動作する。端末1から端末4は、通信経路情報を取得するための処理を実行した後、状況に応じて休眠状態へ遷移する。
図1は、本発明の実施形態のネットワークN1の構成を示す。図1に示すネットワークN1は、ゲートウェイG1、端末1、端末2、端末3、および端末4を有する。ゲートウェイG1および端末1から端末4は無線通信機能を備え、かつ隣接する端末と無線通信を行う。各端末のシステムが起動した後、端末1から端末4は、条件に応じて起床状態および休眠状態のいずれかで動作する。端末1から端末4は、環境特性を計測するセンサを備える。センサが計測を行う場合、各端末は起床し、それ以外の期間において各端末は基本的に休眠する。システムが起動した後、自端末の通信経路情報が取得できていない状態では、各端末は常に起床状態で動作する。端末1から端末4は、通信経路情報を取得するための処理を実行した後、状況に応じて休眠状態へ遷移する。
ゲートウェイG1は、インターネット等の外部ネットワークに接続されている。端末1から端末4が外部ネットワークへ送信する通信パケットは、ゲートウェイG1を経由する。ゲートウェイG1は、端末1から端末4が送信する通信パケットを異なるネットワーク間で中継する集約装置(中継装置)である。
ゲートウェイG1は、常に起床状態にある。ゲートウェイG1は、外部からの指示を受け、端末1から端末4が通信経路情報を取得するために必要な経路探索パケットを送信する。外部からの指示は、ユーザの操作あるいは外部ネットワークとの通信により発生する。さらに、ゲートウェイG1は、端末1から端末4が送信する通信パケットを収集する。それに加えて、ゲートウェイG1は、外部ネットワークと接続する役割と、端末1から端末4から送信される通信パケットを収集する役割と、通信パケットを外部ネットワークへルーティングする役割とを持つ。ゲートウェイG1は、端末1から端末4が有する無線通信機の通信方式とは異なる通信方式で動作する通信機を有してもよい。ゲートウェイG1において、外部ネットワークと接続する通信機は、有線および無線のどちらに対応しても構わない。外部ネットワークとは、例えばインターネットなどのIPネットワークである。
図1の例では、端末1および端末2はゲートウェイG1の通信範囲に位置する。ゲートウェイG1の通信範囲は、ゲートウェイG1から電波が届く範囲である。端末3および端末4は、ゲートウェイG1とは直接通信することができない位置にある。端末1は、端末2から端末4と通信できる位置にある。端末2は、端末1、端末3、および端末4と通信できる位置にある。端末3は、端末1、端末2、および端末4と通信できる位置にある。端末4は、端末1から端末3と通信できる位置にある。
各端末は、ブロードキャスト通信によってパケットを複数の端末へ同時に送信する。各端末に隣接する端末は、受信されたパケットを送信する。これにより、ゲートウェイG1にパケットが転送される。各端末からゲートウェイG1への通信経路が複数ある場合、複数の通信経路を通ってパケットがゲートウェイG1に届く。その場合、各端末から送信されたパケットがゲートウェイG1へ届く確実性が高まる。
各端末には固有のIDが割り当てられている。例えば、ゲートウェイG1のIDは0000であり、端末1のIDは0001であり、端末2のIDは0002であり、端末3のIDは0003であり、端末4のIDは0004である。各端末は、パケットを送信するときに自身のIDをパケットに付与する。パケットはブロードキャスト通信で送信されるため、各端末が送信したパケットが自分に戻ってくることがある。各端末は、受信したパケットに付与されているIDを確認する。既に自身のIDがパケットに付与されている場合、各端末はそのパケットを送信しない。
図2は、本発明の実施形態のネットワークN2の構成を示す。ネットワークN2の構成は、ネットワークN1の構成とほぼ同じである。ネットワークN2において、端末2および端末3は、互いに電波の届かない位置にある。端末2および端末3は、直接通信することはできない。本発明の特徴を実現できる限り、ネットワーク上の各端末の配置は、図1および図2に示す例に限らない。
(システム構成)
図3Aは、端末1のシステム構成を示す。端末2から端末4の構成は端末1の構成と同じであるため、端末1の構成を代表として説明する。図3Aに示す端末1は、コントローラ301、通信機302、センサ303、メモリ304、およびクロック回路305を有する。
図3Aは、端末1のシステム構成を示す。端末2から端末4の構成は端末1の構成と同じであるため、端末1の構成を代表として説明する。図3Aに示す端末1は、コントローラ301、通信機302、センサ303、メモリ304、およびクロック回路305を有する。
端末1の概略構成について説明する。端末1は、無線通信システムにおける無線通信端末である。無線通信システムは、集約装置および2つ以上の無線通信端末を含む。以下の例では、集約装置はゲートウェイG1である。集約装置は、ルーター、ファイアウォール、またはプロキシサーバー等であってもよい。2つ以上の無線通信端末は、端末1(自端末)および隣接端末を含む。隣接端末については後述する。自端末は、処理を実行するコントローラ301を含む端末である。
通信機302は、無線通信機である。通信機302が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、コントローラ301は、通信機302に、経路探索パケットを隣接端末へ送信させる。通信経路情報は、経路探索パケットの通信経路を示す。周辺端末は、集約装置および隣接端末のいずれか1つである。隣接端末は、通信経路上で自端末に隣接する無線通信端末である。自端末は、隣接端末と直接通信できる。経路探索パケットの宛先となる隣接端末は、経路探索パケットを送信した周辺端末とは異なる場合がある。コントローラ301は、通信機302が周辺端末から受信した経路探索パケットに基づいて上位端末を判別する。上位端末は隣接端末である。第1の数は第2の数よりも小さい。第1の数は、通信経路において集約装置と上位端末との間に存在する無線通信端末の数である。第2の数は、通信経路において集約装置と自端末との間に存在する無線通信端末の数である。
コントローラ301は、通信機302が隣接端末から受信した通知に基づいて、隣接端末の状態情報をメモリ304に記憶する。状態情報は、休眠中および起床中のいずれか1つを示す。休眠中の無線通信端末は、休眠状態にある。起床中の無線通信端末は、起床状態にある。通信機302が休眠宣言パケットを休眠宣言端末から受信し、かつ休眠宣言端末が上位端末である場合、コントローラ301は、状態情報に基づいて第1の休眠判断を実行する。休眠宣言端末は、休眠宣言パケットを送信した隣接端末である。休眠宣言端末以外に起床中の上位端末が存在するならば、コントローラ301は、第1の休眠判断において休眠宣言端末の休眠を認めると判断する。休眠宣言端末以外に起床中の上位端末が存在しなければ、コントローラ301は、第1の休眠判断において休眠宣言端末の休眠を認めないと判断する。休眠宣言端末の休眠を認めないとコントローラ301が判断した場合、コントローラ301は、通信機302に、休眠禁止パケットを休眠宣言端末へ送信させる。
端末1の詳細な構成について説明する。コントローラ301は、プロセッサおよび論理回路の少なくとも1つである。例えば、プロセッサは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、およびGPU(Graphics Processing Unit)の少なくとも1つである。例えば、論理回路は、ASIC(Application Specific Integrated Circuit)およびFPGA(Field-Programmable Gate Array)の少なくとも1つである。コントローラ301は、1つまたは複数のプロセッサを含むことができる。コントローラ301は、1つまたは複数の論理回路を含むことができる。
コントローラ301は、システム全体を制御する。コントローラ301は、センサ303が取得したデータを含むパケットを生成する。コントローラ301は、休眠宣言、休眠通知、休眠禁止、休眠取消、起床通知、および起床応答などのパケットも生成する。コントローラ301は、周辺端末から受信したパケットに自端末のIDを付与する。コントローラ301は、通信機302が受信したパケットの種別を解析し、かつパケットに付与されているIDなどの情報を抽出する。コントローラ301は、抽出されたIDに基づいて、ゲートウェイG1に対する隣接端末と自端末との位置関係を算出し、かつその位置関係を管理する。
端末1は、起床状態および休眠状態のいずれか1つになる。端末1の状態は、起床状態および休眠状態の間で切り替わる。端末1が起床しているとき、端末1は通信機302およびセンサ303に電力を供給する。このとき、システムが全力で動作する。端末1が休眠しているとき、通信機302およびセンサ303の電源が切られる。このとき、システムは、システムの動作を維持するために必要な最低限の機能のみが動作する低消費電力状態になる。最低限の機能とは、クロックの生成および内部状態の監視などである。コントローラ301は、システムの起床およびシステムの休眠を制御する。
コントローラ301が、プログラムを読み込み、かつ読み込まれたプログラムを実行してもよい。プログラムは、コントローラ301の動作を規定する命令を含む。つまり、コントローラ301の機能はソフトウェアにより実現されてもよい。そのプログラムは、例えばフラッシュメモリのような「コンピュータ読み取り可能な記録媒体」により提供されてもよい。そのプログラムは、そのプログラムを保持するコンピュータから、伝送媒体を経由して、あるいは伝送媒体中の伝送波により端末1に伝送されてもよい。プログラムを伝送する「伝送媒体」は、情報を伝送する機能を有する媒体である。情報を伝送する機能を有する媒体は、インターネット等のネットワーク(通信網)および電話回線等の通信回線(通信線)を含む。上述したプログラムは、前述した機能の一部を実現してもよい。さらに、上述したプログラムは、差分ファイル(差分プログラム)であってもよい。コンピュータに既に記録されているプログラムと差分プログラムとの組合せが、前述した機能を実現してもよい。
通信機302は、アンテナを含む。あるいは、通信機302およびアンテナは別々に構成され、かつ通信機302はアンテナに接続される。通信機302は、無線通信を行う。通信機302は、コントローラ301が生成したパケットをブロードキャストで周辺端末に送信する。通信機302は、パケットを周辺端末から受信する。
コントローラ301は、通信機302を使用することにより、パケットを周辺端末に送信する。具体的には、コントローラ301は、パケットが周辺端末に送信されるように通信機302を制御する。つまり、コントローラ301は、周辺端末に対するパケットを通信機302に送信させる。これによって、通信機302は、パケットを周辺端末に送信する。コントローラ301は、通信機302を使用することにより、パケットを周辺端末から受信する。具体的には、コントローラ301は、パケットが周辺端末から受信されるように通信機302を制御する。つまり、コントローラ301は、周辺端末からのパケットを通信機302に受信させる。これによって、通信機302は、パケットを周辺端末から受信する。
センサ303は、温度または湿度などの物理量を計測する。センサ303は、計測された物理量を電気信号に変換することにより、センサデータを生成する。
メモリ304は、揮発性または不揮発性の記憶媒体である。例えば、メモリ304は、RAM(Random Access Memory)、DRAM(DynamicRandom Access Memory)、SRAM(Static Random Access Memory)、ROM(Read Only Memory)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、およびフラッシュメモリの少なくとも1つである。メモリ304は、様々な情報を記憶する。例えば、メモリ304に保持される情報は、隣接端末情報を含む。隣接端末情報は、自端末と隣接端末との位置関係を示す情報を含む。自端末と隣接端末との位置関係は、通信経路情報から得られる。隣接端末情報は、隣接端末の状態情報を含む。隣接端末の状態情報は、隣接端末が起床状態と休眠状態とのどちらにあるのかを示す。メモリ304に保持される情報は、休眠禁止パケットの受信履歴を含む。休眠禁止パケットの受信履歴は、自端末の休眠が拒否されたことを示す。
クロック回路305は、システムの内部時刻をカウントする。時刻情報は、システムの内部時刻を示す。
図3Bは、ゲートウェイG1のシステム構成を示す。図3Bに示すゲートウェイG1は、コントローラ321、第1の通信機322、第2の通信機323、メモリ324、およびクロック回路325を有する。
コントローラ321は、システム全体を制御する。第1の通信機322は、外部ネットワークに接続されている。第1の通信機322は、外部ネットワーク上の通信装置と通信を行う。第1の通信機322が行う通信は、有線通信と無線通信とのどちらであっても構わない。第2の通信機323は、端末1および端末2と無線通信を行う。第1の通信機322は、第2の通信機323が端末1または端末2から受信したパケットを外部ネットワークへ送信する。第2の通信機323は、第1の通信機322が外部ネットワークから受信したパケットを端末1または端末2へ送信する。メモリ324は、様々な情報を記憶する。クロック回路305は、システムの内部時刻をカウントする。
(通信経路探索のシーケンス)
図4は、通信経路探索が実行されるときの通信シーケンスを示す。図4では、N台の端末が配置された例が示されている。数字Nは2以上の整数である。端末T1は、第1ホップの端末である。端末T2は、第2ホップの端末である。端末TNは、第Nホップの端末である。数字Nは、ゲートウェイG1から届いたパケットが転送された回数を示す。つまり、数字Nは、パケットのホップの回数を示す。
図4は、通信経路探索が実行されるときの通信シーケンスを示す。図4では、N台の端末が配置された例が示されている。数字Nは2以上の整数である。端末T1は、第1ホップの端末である。端末T2は、第2ホップの端末である。端末TNは、第Nホップの端末である。数字Nは、ゲートウェイG1から届いたパケットが転送された回数を示す。つまり、数字Nは、パケットのホップの回数を示す。
ゲートウェイG1は、経路探索パケットM401をブロードキャストで送信する。経路探索パケットM401にはゲートウェイG1に固有のIDが付与されている。端末T1は、図1において端末1および端末2に対応する。端末T1が経路探索パケットM401をゲートウェイG1から受信した後、端末T1は自身のIDをそのパケットに付与する。端末T1は、経路探索パケットM402をブロードキャストで送信する。これにより、端末T1は、経路探索パケットM402を転送する。端末T1が送信した経路探索パケットM402は、端末T2に届く。図1において、端末1が送信した経路探索パケットは端末2から端末4に届く。図1において、端末2が送信した経路探索パケットは端末1、端末3、および端末4に届く。
端末T2は、経路探索パケットM402を受信し、かつ自身のIDをそのパケットに付与する。端末T2は、経路探索パケットM403を送信する。端末T1は、経路探索パケットM403を受信する。経路探索パケットM403を受信した端末は、自身のIDが付与された経路探索パケットM404を送信する。端末T2は、経路探索パケットM404を受信する。経路探索パケットは、ホップにより端末TNまで順次転送される。
経路探索パケットには、そのパケットを送信する端末のIDが付与される。端末が自身のIDと同じIDが付与された経路探索パケットを受信した場合、その端末はそのパケットを送信しない。この条件により、パケットのホップは最終的に収束する。各端末は、自身に隣接する各端末から経路探索パケットを受信する。そのため、各端末は、受信した経路探索パケットを解析することにより、自端末に隣接する端末のIDを知ることができる。各端末は、経路探索パケットに付与されているIDの順番に基づいて、自端末および隣接端末の位置関係を知ることができる。この位置関係において、ゲートウェイG1に近い端末が上位となる。
(各端末の隣接端末情報)
図5A、図5B、図5C、および図5Dは、図1に示すネットワークN1における各端末の位置関係を示す。経路探索パケットは、ゲートウェイG1から送信される。各端末は、自身のIDを経路探索パケットに付与し、かつ経路探索パケットを送信する。各端末のコントローラ301は、経路探索パケットに付与されたIDに基づいて、自端末と隣接端末との位置関係を判別する。コントローラ301は、判別された位置関係を隣接端末情報としてメモリ304に記憶する。
図5A、図5B、図5C、および図5Dは、図1に示すネットワークN1における各端末の位置関係を示す。経路探索パケットは、ゲートウェイG1から送信される。各端末は、自身のIDを経路探索パケットに付与し、かつ経路探索パケットを送信する。各端末のコントローラ301は、経路探索パケットに付与されたIDに基づいて、自端末と隣接端末との位置関係を判別する。コントローラ301は、判別された位置関係を隣接端末情報としてメモリ304に記憶する。
図5Aは、端末1が保持する情報を示す。端末1は、ゲートウェイG1が発する電波が到達する位置にある。端末1は、ゲートウェイG1が送信する経路探索パケットを直接受信する。経路探索パケットは、ホップによってネットワーク全体に広がる。例えば、端末2および端末1を通る通信経路により経路探索パケットが端末1に届く。あるいは、端末2、端末3、および端末1を通る通信経路により経路探索パケットが端末1に届く。あるいは、端末2、端末4、および端末1を通る通信経路により経路探索パケットが端末1に届く。経路探索パケットの通信経路は、上記の通信経路以外にもある。
図5Bは、端末2が保持する情報を示す。図5Cは、端末3が保持する情報を示す。図5Dは、端末4が保持する情報を示す。各端末が保持する情報は、経路探索パケットの通信経路を含む。各端末が保持する情報は、隣接端末、上位端末、等位端末、および下位端末の各々の情報を含む。以下では、代表として端末1が保持する情報を説明する。
各端末のIDは、経路探索パケットを送信した順に経路探索パケットに付与されている。そのため、コントローラ301は、経路探索パケットを端末1へ直接送信した端末のIDを知ることができる。つまり、コントローラ301は、経路探索パケットの通信経路上で端末1に隣接する端末、すなわち端末1の隣接端末を知ることができる。端末1は、経路探索パケットを端末2、端末3、および端末4から直接受信する。端末1の隣接端末は、端末2、端末3、および端末4である。
コントローラ301は、経路探索パケットに付与されているIDの順番を解析することにより、ゲートウェイG1から端末1へ経路探索パケットが届いたときの最小ホップ数を知ることができる。同様に、コントローラ301は、ゲートウェイG1から端末1の隣接端末へ経路探索パケットが到達したときの最小ホップ数を知ることができる。
通信経路を示すID列において最初のIDは、ゲートウェイG1から経路探索パケットを受信した端末のIDである。端末1は、経路探索パケットをゲートウェイG1から直接受信する。端末2も経路探索パケットをゲートウェイG1から直接受信する。したがって、コントローラ301は、端末1からゲートウェイG1への距離と、端末2からゲートウェイG1への距離とが等しいと判断できる。つまり、コントローラ301は、端末2が端末1の等位端末であると判断できる。
同様に、コントローラ301は、端末3のIDを含む通信経路の情報と、端末4のIDを含む通信経路の情報とを解析する。端末3および端末4は、経路探索パケットを端末1または端末2から受信する。コントローラ301は、端末1からゲートウェイG1までの距離が、端末3からゲートウェイG1までの距離よりも近いと判断できる。同様に、コントローラ301は、端末1からゲートウェイG1までの距離が、端末4からゲートウェイG1までの距離よりも近いと判断できる。つまり、コントローラ301は、端末3および端末4が端末1の下位端末であると判断できる。
端末1からゲートウェイG1までの距離が、所定の端末からゲートウェイG1までの距離よりも遠い場合、コントローラ301は、その所定の端末が上位端末であると判断できる。端末1の上位端末は存在しない。等位端末、下位端末、および上位端末は、隣接端末である。
コントローラ301は、図5Aに示す隣接端末の情報をメモリ304に記憶する。端末2から端末4も、上記の方法と同様の方法により、隣接端末の情報を得ることができる。図5Aから図5Dにおいて、分かりやすさのために各端末のIDは端末番号で示されている。実際には、各端末に固有のIDが隣接端末の情報として記憶される。
図6A、図6B、図6C、および図6Dは、図2に示すネットワークN2における各端末の位置関係を示す。ネットワークN2において、端末2および端末3は、互いの電波が到達する範囲にない。そのため、端末2および端末3は互いに通信できない。図1に示すネットワークN1において端末2および端末3は互いに隣接するが、ネットワークN2において端末2および端末3は互いに隣接しない。ネットワークN1において端末3は端末2の下位端末であるが、ネットワークN2において端末2の下位端末は端末4のみである。
ネットワークN1において端末2は端末3の上位端末であるが、ネットワークN2において端末3の上位端末は端末1のみである。図6Aから図6Dにおいて、分かりやすさのために各端末のIDは端末番号で示されている。実際には、各端末に固有のIDが隣接端末の情報として記憶される。
(端末の起床/休眠のシーケンス)
ネットワークN1において、端末が起床または休眠するときにその端末が実行するパケット通信について説明する。図7は、全ての端末が起床している間に端末1が休眠するときの通信シーケンスを示す。各端末のシーケンスの下には、各端末が管理する隣接端末の状態情報が示されている。隣接端末の状態情報は、各端末のメモリ304に記憶される。状態Wは、起床状態である。状態Sは、休眠状態である。
ネットワークN1において、端末が起床または休眠するときにその端末が実行するパケット通信について説明する。図7は、全ての端末が起床している間に端末1が休眠するときの通信シーケンスを示す。各端末のシーケンスの下には、各端末が管理する隣接端末の状態情報が示されている。隣接端末の状態情報は、各端末のメモリ304に記憶される。状態Wは、起床状態である。状態Sは、休眠状態である。
前提として、各端末は経路探索の過程で自端末の隣接端末の存在を知ることができる。さらに、各端末は、経路探索パケットを隣接端末から受信することにより、隣接端末が起床状態にあることを知ることができる。そのため、自端末に隣接する各端末の状態は起床状態であることが記憶される。端末1が休眠できるタイミングにおいて、端末1は休眠宣言パケットM701をブロードキャストで送信する。各端末が休眠できるタイミングとは、センサ303がセンサデータ等の周期的な取得を終了し、各端末が次のセンサデータ等の取得まで休眠できるタイミングを意味する。端末2、端末3、および端末4は、端末1の隣接端末である。そのため、端末2、端末3、および端末4は、休眠宣言パケットM701を受信する。
端末1は、休眠宣言パケットM701を送信した後、応答待ち時間T701だけ応答を待つ。応答待ち時間T701は、例えば2秒である。端末2から端末4はそれぞれ、自身がゲートウェイG1へデータパケットを送信するときにゲートウェイG1までの通信経路が確保されているか否かを確認する。通信経路が確保されている場合、端末2から端末4は休眠宣言パケットM701に反応しない。
端末2は、ゲートウェイG1へパケットを直接届けることができる。端末3および端末4は、端末2を経由してゲートウェイG1へパケットを届けることができる。応答待ち時間T701において隣接端末から端末1にパケットは届かない。応答待ち時間T701が経過した後、端末1は休眠通知パケットM702をブロードキャストで送信する。休眠通知パケットM702は、端末1が休眠したことを示す。端末2から端末4は、休眠通知パケットM702を受信した後、端末1が休眠していることを示す状態情報をメモリ304に記憶する。端末1が休眠した後の状態情報が図7に示されている。
図8は、端末1が休眠している間に端末3が休眠するときの通信シーケンスを示す。端末3は、休眠宣言パケットM801をブロードキャストで送信する。端末2および端末4は、休眠宣言パケットM801を受信する。端末2からゲートウェイG1への通信経路および端末4からゲートウェイG1への通信経路は確保されている。そのため、端末2および端末4は休眠宣言パケットM801に反応しない。端末3は応答待ち時間T801だけ応答を待つ。応答待ち時間T801において端末3の隣接端末から応答は受信されない。そのため、端末3は休眠通知パケットM802をブロードキャストで送信し、かつ休眠する。端末2および端末4は、休眠通知パケットM802を受信した後、端末3が休眠していることを示す状態情報をメモリ304に記憶する。端末3が休眠した後の状態情報が図8に示されている。
図9は、端末1および端末3が休眠している間に端末2が休眠を宣言するときの通信シーケンスを示す。端末2は、休眠宣言パケットM901をブロードキャストで送信する。端末1および端末3が休眠しているため、端末1および端末3は休眠宣言パケットM901を受信しない。端末4は、休眠宣言パケットM901を受信する。端末4がゲートウェイG1へパケットを届けるための通信経路は、現在の状態では端末2を通る経路のみである。端末2が休眠すると、端末4は通信経路を失う。そのため、端末4は、休眠禁止パケットM902を即座にブロードキャストで送信する。休眠禁止パケットM902は、休眠宣言パケットM901を送信した隣接端末に対する休眠の禁止を示す。
端末2は、応答待ち時間T901において、休眠禁止パケットM902を端末4から受信する。そのため、端末2は、休眠取消パケットM903をブロードキャストで送信する。休眠取消パケットM903は、休眠宣言の取消を示す。各端末が管理する隣接端末の状態情報は変更されない。
図10は、端末1および端末3が休眠している間に端末4が休眠を宣言するときの通信シーケンスを示す。端末4は、休眠宣言パケットM1001をブロードキャストで送信する。端末1および端末3が休眠しているため、端末1および端末3は休眠宣言パケットM1001を受信しない。端末2は、休眠宣言パケットM1001を受信する。端末2からゲートウェイG1へパケットを届けるための経路は確保されている。そのため、端末2は、休眠宣言パケットM1001に反応しない。端末4は、応答待ち時間T1001だけ応答を待つ。応答待ち時間T1001において端末4の隣接端末から応答は受信されない。そのため、端末4は休眠通知パケットM1002をブロードキャストで送信し、かつ休眠する。端末2は、休眠通知パケットM1002を受信した後、端末4が休眠していることを示す状態情報をメモリ304に記憶する。端末4が休眠した後の状態情報が図10に示されている。
図11は、端末1、端末3、および端末4が休眠している間に端末2が休眠するときの通信シーケンスを示す。端末2は、休眠宣言パケットM1101をブロードキャストで送信し、かつ応答待ち時間T1101だけ応答を待つ。全ての隣接端末が休眠しているため、端末2の隣接端末から応答は受信されない。そのため、端末2は休眠通知パケットM1102をブロードキャストで送信し、かつ休眠する。各端末が管理する隣接端末の状態情報は変更されない。端末2が隣接端末の状態情報に基づいて全ての隣接端末が休眠していると判断できる場合、端末2は休眠宣言パケット等を送信せずに休眠してもよい。
図12は、端末1から端末4が休眠した後、端末2、端末3、および端末4が順番に起床するときの通信シーケンスを示す。まず、端末2が起床する。詳細は後述するが、端末3および端末4が休眠するときに送信された休眠通知パケットには各端末の休眠時間が付与されている。端末2が休眠するとき、端末3および端末4よりも早く端末2が起床するための設定が行われる。端末3および端末4は、端末2の下位端末である。
端末2が起床した後、端末2は起床通知パケットM1201をブロードキャストで送信し、かつ応答待ち時間T1201だけ応答を待つ。端末2の全ての隣接端末は休眠しているため、応答待ち時間T1201において端末2の隣接端末から応答は受信されない。続いて、端末3が起床する。端末3は起床通知パケットM1202をブロードキャストで送信し、かつ応答待ち時間T1202だけ応答を待つ。
端末2は、起床通知パケットM1202を受信する。端末3が起床したことが分かったため、端末2は、端末3が起床していることを示す状態情報をメモリ304に記憶する。さらに、端末2は起床応答パケットM1203をブロードキャストで送信する。端末3は、起床応答パケットM1203を受信する。端末3は、端末2が起床していることを知ることができるため、端末2が起床していることを示す状態情報をメモリ304に記憶する。
続いて、端末4が起床する。端末4は起床通知パケットM1204をブロードキャストで送信し、かつ応答待ち時間T1203だけ応答を待つ。端末2および端末3は、起床通知パケットM1204を受信する。端末2および端末3は、端末4が起床したことを知ることができるため、端末4が起床していることを示す状態情報をメモリ304に記憶する。さらに、端末2および端末3は、起床応答パケットM1205をブロードキャストで送信する。端末4は、端末2および端末3の各々から送信された起床応答パケットM1205を受信する。端末4は、端末2および端末3が起床していることを知ることができるため、端末2および端末3が起床していることを示す状態情報をメモリ304に記憶する。端末2、端末3、および端末4が起床した後の状態情報が図12に示されている。
図13は、端末1が休眠し、かつ端末2から端末4が起床した後、端末1が起床するときの通信シーケンスを示す。端末1が起床する。端末1は起床通知パケットM1301をブロードキャストで送信し、かつ応答待ち時間T1301だけ応答を待つ。端末2から端末4は、端末1から送信された起床通知パケットM1301を受信する。そのため、端末2から端末4は、端末1が起床していることを知ることができる。端末2から端末4は、端末1が起床していることを示す状態情報をメモリ304に記憶し、かつ起床応答パケットM1302をブロードキャストで送信する。端末1は、端末2から端末4の各々から送信された起床応答パケットM1302を受信する。端末1は、端末2から端末4が起床していることを知ることができるため、端末2から端末4が起床していることを示す状態情報をメモリ304に記憶する。端末1が起床した後の状態情報が図13に示されている。
図14は、端末1から端末4が起床している状態で端末2が休眠するときの通信シーケンスを示す。端末3および端末4は端末2の下位端末である。そのため、下位端末の都合により端末2が休眠できない場合がある。図9を参照して、その場合の例を説明した。
端末2がいつでも休眠できる状態にある場合、端末2は、図13に示す例と同様に端末1の起床に基づいて休眠宣言パケットM1401をブロードキャストで送信し、かつ応答待ち時間T1401だけ応答を待つ。図1に示すネットワークN1において、端末3および端末4は、端末1を経由してゲートウェイG1へパケットを届けることができる。通信経路が確保されているため、端末3および端末4は、端末2から送信された休眠宣言パケットM1401に反応しない。
端末2は、端末2の隣接端末から応答が返ってこないことを確認する。端末2は、休眠通知パケットM1402をブロードキャストで送信し、かつ休眠する。端末1、端末3、および端末4は、端末2から送信された休眠通知パケットM1402を受信する。端末1、端末3、および端末4は、端末2が休眠したことを知ることができるため、端末2が休眠していることを示す状態情報をメモリ304に記憶する。端末2が休眠した後の状態情報が図14に示されている。
(端末の基本的な処理)
端末1から端末4が実行する処理について説明する。図15は、各端末が周期的に実行する基本的な処理の手順を示す。各端末のシステムは、起床状態および休眠状態のいずれか1つになる。システムが動作している間、コントローラ301は、自端末の状態が起床状態と休眠状態とのどちらであるのかを常に判断する(ステップS1501)。
端末1から端末4が実行する処理について説明する。図15は、各端末が周期的に実行する基本的な処理の手順を示す。各端末のシステムは、起床状態および休眠状態のいずれか1つになる。システムが動作している間、コントローラ301は、自端末の状態が起床状態と休眠状態とのどちらであるのかを常に判断する(ステップS1501)。
ステップS1501において自端末が休眠中であるとコントローラ301が判断した場合、コントローラ301は、自端末が休眠を開始してから休眠時間が経過したか否かを判断する(ステップS1502)。例えば、休眠時間として、10分または1時間等の時間が各端末に設定される。メモリ304は、設定された休眠時間を記憶する。ステップS1502において、休眠時間が経過していないとコントローラ301が判断した場合、ステップS1501における処理が実行される。この場合、コントローラ301は、時間経過を繰り返し監視する。
ステップS1502において、休眠時間が経過したとコントローラ301が判断した場合、コントローラ301は起床通知送信処理を実行する(ステップS1503)。起床通知送信処理については、図21を参照して後述する。ステップS1501において自端末が起床中であるとコントローラ301が判断した場合、コントローラ301はパケット受信処理を実行する(ステップS1504)。パケット受信処理については、図16を参照して後述する。ステップS1503の後も、コントローラ301はパケット受信処理を実行する(ステップS1504)。
ステップS1504の後、コントローラ301は、現在時刻がセンサデータを取得するタイミングであるか否かを判断する(ステップS1505)。コントローラ301は、センサデータをセンサ303から定期的に取得する。ステップS1505において、現在時刻がセンサデータを取得するタイミングでないとコントローラ301が判断した場合、ステップS1508における処理が実行される。ステップS1508における処理については後述する。
ステップS1505において、現在時刻がセンサデータを取得するタイミングであるとコントローラ301が判断した場合、コントローラ301は、センサ303からセンサデータを取得する(ステップS1506)。ステップS1506の後、コントローラ301は、通信機302に、センサデータをブロードキャストで送信させる(ステップS1507)。
ステップS1507の後、コントローラ301は、休眠禁止パケットの受信履歴と隣接端末の状態変化とに基づいて、自端末を休眠可能あるいは休眠不可にする。自端末が休眠禁止パケットを隣接端末から受信した場合、メモリ304は休眠禁止パケットの受信履歴を記憶する。休眠禁止パケットの受信履歴は、休眠禁止パケットが受信された時刻を含む。休眠禁止パケットの受信履歴がメモリ304に記憶されていない場合、コントローラ301は、ステップS1507の実行状況に基づいて自端末を休眠可能にする。ステップS1507においてセンサデータが送信されていれば、コントローラ301は自端末を休眠可能にする。休眠禁止パケットの受信履歴がメモリ304に記憶されている場合、コントローラ301は、メモリ304に記憶されている隣接端末の状態情報に基づいて、隣接端末の状態変化を判断する。隣接端末の状態変化がある場合、コントローラ301は、自端末を休眠可能にする。隣接端末の状態変化がない場合、コントローラ301は、自端末を休眠不可にする(ステップS1508)。
例えば、端末1の等位端末が休眠しているために端末1が自端末の下位端末から休眠禁止パケットを受信する。端末1は、休眠禁止パケットを受信したため、休眠する機会を失っている。その等位端末が起床したことを端末1が知ることができる場合がある。その場合、隣接端末の状態変化がある。その場合、自端末は休眠できる可能性がある。自端末の下位端末が全て休眠したことを端末1が知ることができる場合も、隣接端末の状態変化がある。
ステップS1508の後、コントローラ301は、自端末が休眠可能であるか否かを判断する(ステップS1509)。ステップS1509において、自端末が休眠不可であるとコントローラ301が判断した場合、ステップS1501における処理が実行される。ステップS1509において、自端末が休眠可能であるとコントローラ301が判断した場合、コントローラ301は、休眠宣言送信処理を実行する(ステップS1510)。休眠宣言送信処理については、図18を参照して後述する。ステップS1510の後、ステップS1501における処理が実行される。
(パケット受信処理)
図16は、図15に示すステップS1504において実行されるパケット受信処理の手順を示す。コントローラ301は、通信機302の状態を監視し、かつ通信機302がパケットを隣接端末から受信したか否かを判断する(ステップS1601)。ステップS1601において、通信機302がパケットを受信していないとコントローラ301が判断した場合、コントローラ301はパケット受信処理を終了する。ステップS1601において、通信機302がパケットを受信したとコントローラ301が判断した場合、コントローラ301は、受信されたパケットの種別を判断する(ステップS1602)。
図16は、図15に示すステップS1504において実行されるパケット受信処理の手順を示す。コントローラ301は、通信機302の状態を監視し、かつ通信機302がパケットを隣接端末から受信したか否かを判断する(ステップS1601)。ステップS1601において、通信機302がパケットを受信していないとコントローラ301が判断した場合、コントローラ301はパケット受信処理を終了する。ステップS1601において、通信機302がパケットを受信したとコントローラ301が判断した場合、コントローラ301は、受信されたパケットの種別を判断する(ステップS1602)。
コントローラ301は、ステップS1602において、パケットに付与されている種別コードの値に基づいてパケットの種別を判断する。パケットの種別が起床あるいは休眠に関し、かつ起床通知である場合、コントローラ301は起床通知受信処理を実行する。パケットの種別が起床あるいは休眠に関し、かつ休眠宣言である場合、コントローラ301は休眠宣言受信処理を実行する(ステップS1603)。パケットの種別が、起床あるいは休眠に関する他のパケットである場合、コントローラ301は、ステップS1603における処理を実行せずにパケット受信処理を終了する。起床通知受信処理については、図22を参照して後述する。休眠宣言受信処理については、図19を参照して後述する。
パケットの種別がデータである場合、コントローラ301は、パケットに付与されているIDのいずれか1つと自端末のIDとが同じであるか否かを判断する(ステップS1605)。パケットに付与されているIDのいずれか1つと自端末のIDとが同じである場合、すなわち自端末のIDがパケットに付与されている場合、自端末はそのパケットの送信を完了している。その場合、コントローラ301はパケット受信処理を終了する。パケットに付与されているIDの全てが自端末のIDと異なる場合、すなわち自端末のIDがパケットに付与されていない場合、コントローラ301は、受信されたパケットに自端末のIDを付与する。コントローラ301は、通信機302に、そのパケットをブロードキャストで送信させる(ステップS1606)。ステップS1606における処理が実行されたとき、コントローラ301はパケット受信処理を終了する。
パケットの種別が経路探索である場合、コントローラ301は経路探索処理を実行する(ステップS1604)。経路探索処理については、図17を参照して後述する。ステップS1604における処理が実行されたとき、コントローラ301はパケット受信処理を終了する。
(経路探索処理)
図17は、図16に示すステップS1604において実行される経路探索処理の手順を示す。コントローラ301は、受信された経路探索パケットを解析する。具体的には、コントローラ301は、経路探索パケットに付与されているIDを抽出する。複数のIDが経路探索パケットに付与されている場合、コントローラ301は全てのIDを抽出する(ステップS1701)。自端末のシステムが起動した後に初めて経路探索パケットが受信された場合、コントローラ301は、その経路探索パケットが受信された時刻を記録する。
図17は、図16に示すステップS1604において実行される経路探索処理の手順を示す。コントローラ301は、受信された経路探索パケットを解析する。具体的には、コントローラ301は、経路探索パケットに付与されているIDを抽出する。複数のIDが経路探索パケットに付与されている場合、コントローラ301は全てのIDを抽出する(ステップS1701)。自端末のシステムが起動した後に初めて経路探索パケットが受信された場合、コントローラ301は、その経路探索パケットが受信された時刻を記録する。
ステップS1701の後、コントローラ301は、抽出されたIDのいずれか1つと自端末のIDとが同じであるか否かを判断する(ステップS1702)。抽出されたIDのいずれか1つと自端末のIDとが同じである場合、すなわち自端末のIDが経路探索パケットに付与されている場合、ステップS1704における処理が実行される。ステップS1704における処理については、後述する。
抽出されたIDの全てが自端末のIDと異なる場合、すなわち自端末のIDが経路探索パケットに付与されていない場合、コントローラ301は、経路探索パケットに自端末のIDを付与する。コントローラ301は、通信機302に、経路探索パケットをブロードキャストで送信させる(ステップS1703)。自端末の隣接端末が起床している場合、その隣接端末は、自端末から送信された経路探索パケットを受信する。経路探索パケットを自端末に送信した隣接端末と異なる隣接端末が経路探索パケットを自端末から受信する場合がある。
ステップS1703の後、コントローラ301は、経路探索パケットに付与されているIDを通信経路情報としてメモリ304に記憶する(ステップS1704)。通信経路情報は、1つまたは複数のIDを含む。通信経路情報が複数のIDを含む場合は、経路探索パケットに付与されたIDの順番が通信経路情報において保たれる。
自端末がゲートウェイG1から経路探索パケットを受信した場合、経路探索パケットにIDは付与されていない。本発明の実施形態では、通信経路情報に含まれるID列の最後に自端末のIDが追加される。自端末のIDを通信経路情報に追加するか否かは、システムの実装に依存してもよい。自端末がゲートウェイG1から経路探索パケットを直接受信した場合、通信経路情報に含まれるIDは自端末のIDのみとなる。自端末のIDのみが通信経路情報に含まれる場合、コントローラ301は、自端末が経路探索パケットをゲートウェイG1から直接受信したことを後で確認できる。例えば、端末3がゲートウェイG1および端末1を経由して経路探索パケットを受信した場合、端末1のIDと端末3のIDとが通信経路情報に含まれる。端末3のコントローラ301は、端末1のIDが先頭であり、かつ端末3のIDが末尾であることを知ることができるため、端末1を経由して経路探索パケットが届いたことを後で確認できる。
経路探索パケットの送信元は、自端末の隣接端末である。ステップS1704の後、コントローラ301は、送信元IDを隣接端末としてメモリ304に記憶する(ステップS1705)。
所定時間が経過するまで経路探索パケットの受信処理を繰り返すために、コントローラ301は、最初の経路探索パケットが受信されたときから経過した時間をカウントする。ステップS1705の後、コントローラ301は、所定時間が経過したか否かを判断する(ステップS1706)。所定時間とは、例えば10秒である。ステップS1706において、所定時間が経過していないとコントローラ301が判断した場合、ステップS1701における処理が実行される。したがって、処理時間が経過するまで、コントローラ301は、ステップS1701からステップS1706の各々における処理を繰り返し実行する。
ステップS1706において、所定時間が経過したとコントローラ301が判断した場合、コントローラ301は、メモリ304に記憶された1つ以上の通信経路情報に基づいて、自端末のホップ数を算出する。自端末のホップ数は、ゲートウェイG1から自端末までの通信経路において経由する端末の数である。つまり、自端末のホップ数は、通信経路においてゲートウェイG1と自端末との間に存在する端末の数である。コントローラ301は、算出されたホップ数の最小値すなわち最小ホップ数を得る(ステップS1707)。
ゲートウェイG1から端末1までの通信経路が複数あり、かつゲートウェイG1から端末1へ直接パケットが届く通信経路が通信経路情報に含まれる場合、端末1の最小ホップ数は0である。ゲートウェイG1から端末3までの通信経路が複数あり、かつパケットがゲートウェイG1、端末1、および端末3をこの順に経由する通信経路が通信経路情報に含まれる場合、端末3の最小ホップ数は1である。
ステップS1707の後、コントローラ301は、メモリ304に記憶された1つ以上の通信経路情報に基づいて、各隣接端末のホップ数を算出する。隣接端末のホップ数は、ゲートウェイG1から自端末の隣接端末までの通信経路において経由する端末の数である。つまり、隣接端末のホップ数は、通信経路においてゲートウェイG1と隣接端末との間に存在する端末の数である。コントローラ301は、算出されたホップ数の最小値すなわち最小ホップ数を自端末の隣接端末毎に得る(ステップS1708)。
例えば、図1に示すネットワークN1において、端末3へ届いたパケットの通信経路は、少なくとも以下の通信経路を含む。以下の通信経路において、各端末の順番は、パケットが経由する端末の順番と同じである。
第1の通信経路:ゲートウェイG1、端末1、および端末3
第2の通信経路:ゲートウェイG1、端末2、および端末3
第3の通信経路:ゲートウェイG1、端末1、端末2、および端末3
第4の通信経路:ゲートウェイG1、端末1、端末4、および端末3
第5の通信経路:ゲートウェイG1、端末2、端末1、および端末3
第6の通信経路:ゲートウェイG1、端末2、端末4、および端末3
第1の通信経路:ゲートウェイG1、端末1、および端末3
第2の通信経路:ゲートウェイG1、端末2、および端末3
第3の通信経路:ゲートウェイG1、端末1、端末2、および端末3
第4の通信経路:ゲートウェイG1、端末1、端末4、および端末3
第5の通信経路:ゲートウェイG1、端末2、端末1、および端末3
第6の通信経路:ゲートウェイG1、端末2、端末4、および端末3
上記の通信経路では、端末3は、端末1、端末2、および端末4が端末3の隣接端末であることを知ることができる。端末3は、第1、第3、および第4の通信経路に基づいて、端末1の最小ホップ数が0であることを知ることができる。端末3は、第2、第5、および第6の通信経路に基づいて、端末2の最小ホップ数が0であることを知ることができる。端末3は、第4および第6の通信経路に基づいて、端末4の最小ホップ数が1であることを知ることができる。
コントローラ301は、自端末の最小ホップ数と隣接端末の最小ホップ数とを隣接端末毎に比較する。コントローラ301は、比較結果に基づいて、自端末に対する隣接端末の位置関係を決定する。この位置関係は、ゲートウェイG1への近さを基準に決定される。隣接端末の位置関係は、隣接端末が自端末に対して上位、等位、および下位のいずれか1つであることを示す。
隣接端末の最小ホップ数が自端末の最小ホップ数よりも小さい場合、その隣接端末は自端末の上位端末である。隣接端末の最小ホップ数が自端末の最小ホップ数と同じである場合、その隣接端末は自端末の等位端末である。隣接端末の最小ホップ数が自端末の最小ホップ数よりも大きい場合、その隣接端末は自端末の下位端末である。コントローラ301は、決定された位置関係を隣接端末情報としてメモリ304に記憶する(ステップS1709)。例えば、端末1および端末2は端末3に対して上位である。端末4は端末3に対して等位である。ステップS1709における処理が実行されたとき、コントローラ301は経路探索処理を終了する。
(休眠宣言送信処理)
図18は、図15に示すステップS1510において実行される休眠宣言送信処理の手順を示す。コントローラ301は、自端末がセンサ303から取得されたセンサデータを含むデータパケットの送信処理を次回に開始する時刻を確認する。コントローラ301は、この時刻と現在時刻とに基づいて休眠時間を算出する(ステップS1801)。例えば、休眠時間は、2つの時刻の差である。
図18は、図15に示すステップS1510において実行される休眠宣言送信処理の手順を示す。コントローラ301は、自端末がセンサ303から取得されたセンサデータを含むデータパケットの送信処理を次回に開始する時刻を確認する。コントローラ301は、この時刻と現在時刻とに基づいて休眠時間を算出する(ステップS1801)。例えば、休眠時間は、2つの時刻の差である。
ステップS1801の後、コントローラ301は、算出された休眠時間を休眠予定時間として休眠宣言パケットに付与する。コントローラ301は、通信機302に、休眠宣言パケットをブロードキャストで送信させる(ステップS1802)。
ステップS1802の後、コントローラ301は、通信機302を監視し、かつパケットの受信を待つ(ステップS1803)。ステップS1803の後、コントローラ301は、休眠宣言パケットの送信から所定時間が経過したか否かを判断する(ステップS1804)。ステップS1804において、所定時間が経過していないとコントローラ301が判断した場合、ステップS1803における処理が実行される。
ステップS1804において、所定時間が経過したとコントローラ301が判断した場合、コントローラ301は、休眠禁止パケットが所定時間内に隣接端末から受信されたか否かを判断する(ステップS1805)。起床中の等位端末が存在し、かつ自端末が自端末の下位端末から休眠禁止パケットを受信した場合、その下位端末は起床中の等位端末の下位ではないとコントローラ301は判断できる。その場合、コントローラ301は、その情報を非従属関係として、メモリ304に記憶されている隣接端末情報に加える(ステップS1806)。この情報は、自端末および等位端末がそれぞれ休眠したいときに自端末が休眠できるか否かを判断するために使用される。その判断については、図20を参照して後述する。上記以外の場合、ステップS1806において処理は実行されない。
ステップS1806の後、コントローラ301は、休眠禁止パケットの受信履歴をメモリ304に記憶する(ステップS1807)。この履歴は、図15に示すステップS1508において使用される。ステップS1807の後、コントローラ301は、通信機302に、休眠取消パケットをブロードキャストで送信させる(ステップS1808)。ステップS1808における処理が実行されたとき、休眠宣言送信処理が終了する。
ステップS1805において、休眠禁止パケットが所定時間内に隣接端末から受信されなかったとコントローラ301が判断した場合、コントローラ301は休眠時間決定処理を実行する(ステップS1809)。休眠時間決定処理については、図23を参照して後述する。ステップS1809の後、コントローラ301は、休眠時間を休眠通知パケットに付与する。休眠時間は、休眠時間決定処理において決定される。コントローラ301は、通信機302に、休眠通知パケットをブロードキャストで送信させる(ステップS1810)。
ステップS1810の後、コントローラ301は、休眠禁止パケットの受信履歴をメモリ304から削除する(ステップS1811)。休眠禁止パケットの受信履歴がメモリ304に記憶されていない場合、ステップS1811において処理は実行されない。
ステップS1811の後、コントローラ301は、休眠処理を実行する。コントローラ301は、休眠処理において、センサ303および通信機302への電力供給を止めることにより、自端末のシステムを低消費電力状態へ切り替える(ステップS1812)。ステップS1812における処理が実行されたとき、休眠宣言送信処理が終了する。自端末が休眠禁止パケットを隣接端末から受信した場合、自端末は休眠禁止パケットを転送しない。
(休眠宣言受信処理)
図19および図20は、図16に示すステップS1603において実行される休眠宣言受信処理の手順を示す。コントローラ301は、隣接端末から受信された休眠宣言パケットを解析する。具体的には、コントローラ301は、休眠宣言パケットに付与された送信元のIDを抽出し、かつ送信元の端末を特定する。つまり、コントローラ301は、休眠宣言端末を特定する(ステップS1901)。
図19および図20は、図16に示すステップS1603において実行される休眠宣言受信処理の手順を示す。コントローラ301は、隣接端末から受信された休眠宣言パケットを解析する。具体的には、コントローラ301は、休眠宣言パケットに付与された送信元のIDを抽出し、かつ送信元の端末を特定する。つまり、コントローラ301は、休眠宣言端末を特定する(ステップS1901)。
ステップS1901の後、コントローラ301は、メモリ304に記憶されている隣接端末の位置関係における各端末のIDと休眠宣言パケットの送信元のIDとを比較する。これにより、コントローラ301は、休眠宣言端末が自端末よりも上位であるのか否か、すなわち休眠宣言端末が上位端末であるのか否かを判断する(ステップS1902)。
ステップS1902において、休眠宣言端末が自端末よりも上位であるとコントローラ301が判断した場合、コントローラ301は、休眠宣言端末を経由しない別経路が存在するか否かを判断する(ステップS1903)。別経路は、休眠宣言端末以外の上位端末を経由する経路である。例えば、自端末が端末3であり、休眠宣言端末が端末1であり、かつ端末1から端末4が起床状態にある場合について説明する。端末3の上位端末は端末1および端末2である。端末2が起床している場合、端末3から送信されたパケットは端末2を経由してゲートウェイG1に届く。この場合、端末3のコントローラ301は、別経路が存在すると判断する。一方、端末2が休眠状態にある場合、端末3のコントローラ301は、別経路が存在しないと判断する。本発明の実施形態では、各端末からゲートウェイG1までの通信経路を確保するための条件は、常に自端末の上位端末へパケットが届くことである。自端末の等位端末または自端末の下位端末を経由して自端末からゲートウェイG1へパケットが届くことは期待されない。
コントローラ301は、ステップS1903における処理を実行することにより、第1の休眠判断を実行する。休眠宣言端末以外に起床中の上位端末が存在するならば、別経路が存在する。このとき、コントローラ301は、休眠宣言端末の休眠を認めると判断する。そのため、休眠禁止パケットは送信されない。休眠宣言端末以外に起床中の上位端末が存在しなければ、別経路は存在しない。このとき、コントローラ301は、休眠宣言端末の休眠を認めないと判断する。そのため、後述するステップS1904において休眠禁止パケットが休眠宣言端末へ送信される。
ステップS1903において、別経路が存在するとコントローラ301が判断した場合、コントローラ301は、通信機302を監視し、かつパケットの受信を待つ(ステップS1908)。ステップS1908の後、コントローラ301は、休眠宣言受信処理の開始から所定時間が経過したか否かを判断する(ステップS1909)。所定時間は、例えば5秒である。ステップS1909において、所定時間が経過していないとコントローラ301が判断した場合、ステップS1908における処理が実行される。
ステップS1909において、所定時間が経過したとコントローラ301が判断した場合、コントローラ301は、休眠通知パケットが休眠宣言端末から所定時間内に受信されたか否かを判断する(ステップS1905)。ステップS1905において、休眠通知パケットが受信されていないとコントローラ301が判断した場合、コントローラ301は休眠宣言受信処理を終了する。
ステップS1905において、休眠通知パケットが受信されたとコントローラ301が判断した場合、コントローラ301は、その休眠通知パケット解析する。具体的には、コントローラ301は、休眠通知パケットに含まれている休眠時間を抽出する。コントローラ301は、メモリ304に記憶されている隣接端末情報において、休眠宣言端末の状態情報を休眠状態に更新する。さらに、コントローラ301は、休眠宣言端末の休眠時間を隣接端末情報に加える。そのため、休眠宣言端末の休眠時間がメモリ304に記憶される(ステップS1906)。隣接端末情報において休眠時間は、自端末における時間の経過とともに更新される。つまり、時間が経過するに従って、休眠時間は減少する。
ステップS1903において、別経路が存在しないとコントローラ301が判断した場合、コントローラ301は、通信機302に、休眠宣言端末のIDが付与された休眠禁止パケットをブロードキャストで送信させる(ステップS1904)。ステップS1904の後、ステップS1908における処理が実行される。
休眠宣言端末は、休眠禁止パケットを受信する(ステップS1805)。休眠宣言端末は、休眠取消パケットを送信する(ステップS1808)。コントローラ301は、休眠禁止パケットが受信されたことを確認し、休眠宣言受信処理を終了する(ステップS1905)。
休眠禁止パケットが送信された後、休眠に関する通信のトランザクションを確認するために、各端末は、ステップS1908において休眠取消パケットの受信を待つ。休眠取消パケットの受信処理を省略する実装が適用されてもよい。
ステップS1902において、休眠宣言端末が自端末よりも上位ではないとコントローラ301が判断した場合、コントローラ301は、休眠宣言端末が自端末と等位であるか否かを判断する(ステップS1907)。ステップS1907において、休眠宣言端末が自端末と等位ではない場合、コントローラ301は、休眠宣言端末が下位端末であると判断する。この場合、ステップS1908における処理が実行される。
ステップS1907において、休眠宣言端末が自端末と等位であるとコントローラ301が判断した場合、コントローラ301は、メモリ304に記憶された隣接端末の状態情報に基づいて、自端末の全ての下位端末が休眠しているか否かを判断する(ステップS2001)。ステップS2001において、全ての下位端末が休眠しているとコントローラ301が判断した場合、ステップS1908における処理が実行される。この場合、休眠禁止パケットは送信されない。自端末の全ての下位端末が休眠している場合、休眠宣言端末は休眠することができる。
ステップS2001において、少なくとも1つの下位端末が起床状態にある場合、コントローラ301は、休眠宣言端末が自端末の下位端末の別経路に含まれるか否かを判断する(ステップS2002)。各端末は、自端末と自端末の隣接端末との位置関係を把握できる。各端末は、自端末の隣接端末と、それ以外の隣接端末との位置関係を完全には把握していない。しかし、図18に示すステップS1806の説明と同様に、各端末は、ある程度の位置関係を把握できる。例えば、各端末は、自端末の下位端末が自端末の等位端末の下位にも存在するか否かを把握できる。コントローラ301は、ステップS2001において、自端末の下位端末が等位端末の下位であるか否かを判断することにより、休眠宣言端末が自端末の下位端末の別経路に含まれるか否かを判断する。
ステップS2002において、休眠宣言端末が自端末の下位端末の別経路に含まれないとコントローラ301が判断した場合、ステップS1908における処理が実行される。この場合、休眠禁止パケットは送信されない。自端末の下位端末の通信経路に休眠宣言端末が含まれないため、自端末の下位端末は休眠宣言端末の休眠の影響を受けない。そのため、休眠宣言端末は休眠することができる。
ステップS2002において、休眠宣言端末が自端末の下位端末の別経路に含まれるとコントローラ301が判断した場合、コントローラ301は、自端末の現在の起床状態において休眠禁止パケットが受信された履歴があるか否かを判断する(ステップS2003)。現在の起床状態が開始された後に休眠禁止パケットが受信されていない場合、現在の起床状態において休眠禁止パケットが受信された履歴はない。現在の起床状態が開始された後に休眠禁止パケットが受信された場合、現在の起床状態において休眠禁止パケットが受信された履歴がある。
ステップS2003において、現在の起床状態において休眠禁止パケットが受信された履歴はないとコントローラ301が判断した場合、ステップS1908における処理が実行される。この場合、休眠禁止パケットは送信されない。ステップS2003において、現在の起床状態において休眠禁止パケットが受信された履歴があるとコントローラ301が判断した場合、コントローラ301は、自端末がセンサ303から取得されたセンサデータを含むデータパケットの送信処理を次回に実行するまでの休眠時間を確認する(ステップS2004)。自端末が休眠禁止パケットを受信した場合、自端末は休眠可能な状態にある。これは、センサ303が次回に計測を実行するまでの時間が休眠時間として保持されていることを意味する。休眠時間は、時間の経過とともに減少する。休眠時間が経過した後、自端末は、データ送信などの所定の処理を実行する。所定の処理が実行された後、自端末は休眠を再度開始する。自端末は、ステップS2004において確認された休眠時間に基づいて、休眠を再度開始する時刻を予測することができる。
ステップS2004の後、コントローラ301は、自端末が休眠を開始する休眠予定時刻が休眠宣言端末の休眠時間に含まれるか否かを判断する。具体的には、コントローラ301は、ステップS2004において確認された自端末の休眠時間に基づいて、自端末の休眠予定時刻を予測する。コントローラ301は、休眠宣言パケットが受信された時刻に、休眠宣言パケットに含まれる休眠予定時間を加算することにより、休眠宣言端末が休眠を終了する起床予定時刻を算出する。コントローラ301は、自端末の休眠予定時刻と、休眠宣言端末の起床予定時刻とを比較する。自端末の休眠予定時刻が休眠宣言端末の起床予定時刻よりも前である場合、自端末の休眠予定時刻は休眠宣言端末の休眠時間に含まれる。自端末の休眠予定時刻が休眠宣言端末の起床予定時刻よりも後である場合、自端末の休眠予定時刻は休眠宣言端末の休眠時間に含まれない(ステップS2005)。
ステップS2005において、自端末の休眠予定時刻は休眠宣言端末の休眠時間に含まれないとコントローラ301が判断した場合、ステップS1908における処理が実行される。この場合、休眠禁止パケットは送信されない。休眠宣言端末が起床した後に自端末が休眠するため、自端末の下位端末は休眠宣言端末の休眠の影響を受けない。そのため、休眠宣言端末は休眠することができる。
ステップS2005において、自端末の休眠予定時刻は休眠宣言端末の休眠時間に含まれるとコントローラ301が判断した場合、ステップS1904における処理が実行される。ステップS2003において、自端末が、休眠の機会を失った履歴を持つことが判明している。休眠機会を失った履歴を持つ自端末を次回に優先的に休眠させるために、ステップS1904において休眠禁止パケットが送信される。自端末が休眠宣言パケットまたは休眠取消パケットを隣接端末から受信した場合、自端末は休眠宣言パケットまたは休眠取消パケットを転送しない。自端末が休眠通知パケットを隣接端末から受信した場合、自端末は休眠通知パケットを転送しない。
(起床通知送信処理)
図21は、図15に示すステップS1503において実行される起床通知送信処理の手順を示す。コントローラ301は、起床処理を実行する。コントローラ301は、起床処理において、センサ303および通信機302への電力供給を開始することにより、自端末のシステムを低消費電力状態から通常動作状態へ切り替える(ステップS2101)。
図21は、図15に示すステップS1503において実行される起床通知送信処理の手順を示す。コントローラ301は、起床処理を実行する。コントローラ301は、起床処理において、センサ303および通信機302への電力供給を開始することにより、自端末のシステムを低消費電力状態から通常動作状態へ切り替える(ステップS2101)。
ステップS2101の後、コントローラ301は、通信機302に、起床通知パケットをブロードキャストで送信させる(ステップS2102)。ステップS2102の後、コントローラ301は、通信機302の状態を監視し、かつ通信機302が起床応答パケットを隣接端末から受信したか否かを判断する(ステップS2103)。ステップS2103において、通信機302が起床応答パケットを受信していないとコントローラ301が判断した場合、ステップS2105における処理が実行される。ステップS2105における処理については後述する。
ステップS2103において、通信機302が起床応答パケットを受信したとコントローラ301が判断した場合、コントローラ301は、起床応答パケットに含まれるIDを抽出する。コントローラ301は、メモリ304に記憶されている隣接端末情報において、抽出されたIDを持つ情報を検索する。起床応答パケットを送信した隣接端末は、起床状態にある。コントローラ301は、発見されたIDに関連付けられた状態情報を起床状態に更新する(ステップS2104)。
ステップS2104の後、コントローラ301は、起床通知パケットの送信から所定時間が経過したか否かを判断する(ステップS2105)。ステップS2105において、所定時間が経過していないとコントローラ301が判断した場合、ステップS2103における処理が実行される。ステップS2105において、所定時間が経過したとコントローラ301が判断した場合、コントローラ301は起床通知送信処理を終了する。
(起床通知受信処理)
図22は、図16に示すステップS1603において実行される起床通知受信処理の手順を示す。コントローラ301は、隣接端末から受信された起床通知パケットを解析する。具体的には、コントローラ301は、起床通知パケットに付与された送信元のIDを抽出し、かつ送信元の端末を特定する(ステップS2201)。
図22は、図16に示すステップS1603において実行される起床通知受信処理の手順を示す。コントローラ301は、隣接端末から受信された起床通知パケットを解析する。具体的には、コントローラ301は、起床通知パケットに付与された送信元のIDを抽出し、かつ送信元の端末を特定する(ステップS2201)。
ステップS2201の後、コントローラ301は、メモリ304に記憶されている隣接端末情報において、抽出されたIDを持つ情報を検索する。起床通知パケットを送信した隣接端末は、起床状態にある。コントローラ301は、発見されたIDに関連付けられた状態情報を起床状態に更新する(ステップS2202)。
ステップS2202の後、コントローラ301は、通信機302に、起床応答パケットをブロードキャストで送信させる(ステップS2203)。ステップS2203における処理が実行されたとき、コントローラ301は起床通知受信処理を終了する。自端末が起床通知パケットを隣接端末から受信した場合、自端末は起床通知パケットを転送しない。
(休眠時間決定処理フローチャート)
図23は、図18に示すステップS1809において実行される休眠時間決定処理の手順を示す。コントローラ301は、自端末が次回に、センサ303から取得されたセンサデータを含むデータパケットの送信処理を開始する時刻を確認する。コントローラ301は、この時刻と現在時刻とに基づいて休眠時間を算出する(ステップS2301)。例えば、休眠時間は、2つの時刻の差である。
図23は、図18に示すステップS1809において実行される休眠時間決定処理の手順を示す。コントローラ301は、自端末が次回に、センサ303から取得されたセンサデータを含むデータパケットの送信処理を開始する時刻を確認する。コントローラ301は、この時刻と現在時刻とに基づいて休眠時間を算出する(ステップS2301)。例えば、休眠時間は、2つの時刻の差である。
ステップS2301の後、コントローラ301は、メモリ304に記憶されている隣接端末情報に基づいて、休眠中の下位端末の残りの休眠時間を確認する。図19に示すステップS1906において、休眠を宣言した隣接端末の休眠時間が隣接端末情報に追加される。前述したように、時間が経過するに従って、休眠時間は減少する。複数の下位端末が休眠中である場合、コントローラ301は、最も短い残りの休眠時間を選択する。つまり、コントローラ301は、最も早く起床する下位端末の残りの休眠時間を選択する(ステップS2302)。休眠中の下位端末が存在しない場合、コントローラ301は、休眠時間を選択しない。
ステップS2302の後、コントローラ301は、自端末の休眠時間と下位端末の残りの休眠時間とを比較する。コントローラ301は、自端末の休眠時間が下位端末の残りの休眠時間よりも短いか否かを判断する(ステップS2303)。
ステップS2303において、自端末の休眠時間が下位端末の残りの休眠時間よりも短いとコントローラ301が判断した場合、コントローラ301は、自端末の休眠時間を、休眠通知パケットに付与する休眠時間として決定する(ステップS2304)。例えば、自端末の休眠時間が60分であり、かつ下位端末の残りの休眠時間が90分である場合、60分が休眠時間に採用される。ステップS2302においてコントローラ301が休眠時間を選択しなかった場合も、ステップS2304における処理が実行される。
自端末の休眠時間が下位端末の残りの休眠時間よりも短いため、下位端末が起床する前に自端末が起床する。下位端末が起床したとき、下位端末の通信経路は確保されている。
ステップS2303において、下位端末の残りの休眠時間が自端末の休眠時間よりも短いとコントローラ301が判断した場合、コントローラ301は、下位端末の残りの休眠時間に基づいて、休眠通知パケットに付与する休眠時間を決定する。例えば、コントローラ301は、下位端末の残りの休眠時間よりもやや短い時間を、休眠通知パケットに付与する休眠時間として決定する(ステップS2305)。
例えば、自端末の休眠時間が60分であり、かつ下位端末の残りの休眠時間が90分である場合、自端末が下位端末よりも先に起床する。現在時刻から60分が経過し、自端末が休眠通知パケットを再度送信するとき、自端末は休眠時間を決定する。自端末が60分毎に起床する場合、自端末の休眠時間は60分となる。このとき、60分が経過しているため、休眠中の下位端末の残りの休眠時間は30分である。この場合、下位端末の残りの休眠時間(30分)が採用される。
自端末は、下位端末の通信経路を担保するために、30分よりも短い時間で起床することが求められる。そのため、起床処理等の処理時間および各端末の内部クロックの誤差を考慮し、自端末は、下位端末が起床するタイミングよりも早いタイミングで起床する。例えば、内部クロックの進み方には、システム毎に誤差がある。その誤差は、大きくても数msから十数ms程度である。また、システムの起床に要する処理時間は、長くても数秒程度と考えられる。例えば、コントローラ301は、自端末の起床に要する処理時間および内部クロックの誤差の合計を10秒程度と見積もる。下位端末の残りの休眠時間が30分である場合、コントローラ301は、自端末の休眠時間を29分50秒に設定する。
ステップS2304またはステップS2305における処理が実行されたとき、コントローラ301は休眠時間決定処理を終了する。ステップS2304またはステップS2305において決定された休眠時間は、図18に示すステップS1810において送信される休眠通知パケットに付与される。
(パケットの構造)
図24は、通信に使用される各パケットの構造を示す。パケットP2401は、種別F2401、送信元ID F2402、およびペイロードF2403から構成される。種別F2401は、パケットの種別を示す。送信元ID F2402は、送信元を識別するIDである。ペイロードF2403は、各情報を含む。
図24は、通信に使用される各パケットの構造を示す。パケットP2401は、種別F2401、送信元ID F2402、およびペイロードF2403から構成される。種別F2401は、パケットの種別を示す。送信元ID F2402は、送信元を識別するIDである。ペイロードF2403は、各情報を含む。
種別F2401は、図25に示す種別毎の値を含む。パケットの種別は、経路探索、休眠宣言、休眠禁止、休眠取消、休眠通知、起床通知、起床応答、およびデータのいずれか1つである。パケットの種別毎に異なる値が用意されている。コントローラ301は、受信されたパケットから種別F2401を抽出する。コントローラ301は、種別F2401に基づいてパケットの種別を判断し、かつ各処理を実行する。送信元ID F2402は、図1に示すネットワークN1の説明に使用した0001などのIDを含む。
ペイロードF2403のフォーマットは、パケットの種別毎に異なる。経路探索パケットでは、パケットが転送される度にIDが付与される。図24に示す例では、経路探索パケットのペイロードD2401は、1つ以上のIDを含む。経路探索パケットが複数のIDを含む場合、これらのIDの順番は、経路探索パケットの通信経路における端末の順番と同じである。
例えば、ゲートウェイG1から送信された経路探索パケットが端末1へ届く。端末1が経路探索パケットを送信するとき、端末1は端末1に固有なID(0001)を経路探索パケットに付与する。同様に、端末1から送信された経路探索パケットが端末2へ届く。端末2が経路探索パケットを送信するとき、端末2は端末2に固有なID(0002)を経路探索パケットに付与する。ペイロードD2401のデータ列は、“00010002”となる。このデータ列がそのまま通信経路情報となる。データの先頭から並ぶIDの数がホップ数となる。
休眠宣言パケットのペイロードD2402は、休眠予定時間を含む。休眠予定時間は、休眠開始予定時刻および休眠終了予定時刻によって示されてもよい。休眠禁止パケットのペイロードD2403は、休眠宣言パケットを送信した端末の送信元IDを含む。休眠禁止パケットのペイロードD2404には、NULLと記載されている。これは、休眠禁止パケットのペイロードD2404がデータを含まないことを意味する。
休眠通知パケットのペイロードD2405は、休眠時間を含む。休眠時間は、休眠開始時刻および休眠終了時刻によって示されてもよい。起床通知パケットのペイロードD2406および起床応答パケットのペイロードD2407には、NULLと記載されている。これは、起床通知パケットのペイロードD2406および起床応答パケットのペイロードD2407がデータを含まないことを意味する。データパケットのペイロードD2408は、IDおよびデータを含む。経路探索パケットと同様に、データパケットでは、パケットが転送される度にIDが付与される。
(隣接端末情報の構成)
図26A、図26B、および図26Cは、各端末が管理する隣接端末情報の構成を示す。図26Aは、隣接端末情報のフォーマットを示す。隣接端末情報は、ID、位置関係、端末状態、休眠時間、および非従属関係の各々の情報を含む。IDは、隣接端末に固有である。位置関係は、自端末に対する隣接端末の階層位置を示す。位置関係は、上位、等位、および下位のいずれか1つを示す。端末状態は、起床状態および休眠状態のいずれか1つを示す。隣接端末が休眠中である場合、休眠時間が設定される。非従属関係は、自端末の下位端末が自端末の等位端末の下位に位置しないことを意味する。非従属関係は、下位端末のIDを示す。コントローラ301は、新たな情報が得られる度に隣接端末情報を更新する。
図26A、図26B、および図26Cは、各端末が管理する隣接端末情報の構成を示す。図26Aは、隣接端末情報のフォーマットを示す。隣接端末情報は、ID、位置関係、端末状態、休眠時間、および非従属関係の各々の情報を含む。IDは、隣接端末に固有である。位置関係は、自端末に対する隣接端末の階層位置を示す。位置関係は、上位、等位、および下位のいずれか1つを示す。端末状態は、起床状態および休眠状態のいずれか1つを示す。隣接端末が休眠中である場合、休眠時間が設定される。非従属関係は、自端末の下位端末が自端末の等位端末の下位に位置しないことを意味する。非従属関係は、下位端末のIDを示す。コントローラ301は、新たな情報が得られる度に隣接端末情報を更新する。
図26Bは、図1に示すネットワークN1において端末1が管理する情報の例を示す。端末3は、端末1の下位端末であるため、ID=0003と下位を示す情報とが関連付けられている。端末3が休眠している場合、端末状態は休眠を示す。休眠時間は90分である。時間の経過に応じて休眠時間は減少する。
図26Cは、図2に示すネットワークN2において端末1が管理する情報の例を示す。ネットワークN2において、端末2および端末3は、互いに直接通信できない位置にある。図18の説明と同様に、端末1は、休眠宣言パケット等のシーケンスを繰り返すことにより、端末1の等位にある端末2の下位に端末3が存在しないことを知る。ID=0002の非従属関係は、ID=0003を含む。
本発明の各態様の無線通信方法は、第1のステップ、第2のステップ、第3のステップ、第4のステップ、および第5のステップを有する。通信機302が経路探索パケットを周辺端末から受信した場合、コントローラ301は、第1のステップ(S1703)において、通信機302に、経路探索パケットを隣接端末へ送信させる。コントローラ301は、第2のステップ(S1709)において、通信機が周辺端末から受信した経路探索パケットに基づいて上位端末を判別する。コントローラ301は、第3のステップ(S1906、S2104、およびS2202)において、通信機302が隣接端末から受信した通知に基づいて、隣接端末の状態情報をメモリ304に記憶する。通信機302が休眠宣言パケットを休眠宣言端末から受信し、かつ休眠宣言端末が上位端末である場合、コントローラ301は、第4のステップ(S1903)において、状態情報に基づいて第1の休眠判断を実行する。休眠宣言端末の休眠を認めないとコントローラ301が判断した場合、コントローラ301は、第5のステップ(S1904)において、通信機302に、休眠禁止パケットを休眠宣言端末へ送信させる。本発明の各態様の無線通信方法は、上記の5つのステップ以外のステップを有する必要はない。
休眠宣言端末以外に起床中の上位端末が存在しなければ、コントローラ301は、第1の休眠判断において休眠宣言端末の休眠を認めないと判断する。そのため、各端末は通信経路を確実に確保することができる。休眠宣言端末以外に起床中の上位端末が存在するならば、コントローラ301は、第1の休眠判断において休眠宣言端末の休眠を認めると判断する。そのため、各端末は、ネットワーク全体の消費電力を減らすことができる。マルチホップネットワークにおいて、各端末は、集中管理されることなく自発的に第1の休眠判断を実行することができる。
コントローラ301は、ステップS1802において、通信機302に、休眠宣言パケットを隣接端末へ送信させる。通信機302が休眠宣言パケットを送信した後の所定期間内に通信機302が隣接端末から休眠禁止パケットを受信しない場合、コントローラ301は、ステップS1810において、通信機302に、休眠通知パケットを隣接端末へ送信させる。通信機302が休眠通知パケットを送信した後、コントローラ301は、ステップS1812において、消費電力が低減された休眠状態に自端末を移行させるための休眠処理を実行する。休眠処理が実行された後、コントローラ301は、ステップS2101において、自端末を休眠状態から復帰させるための起床処理を実行する。起床処理が実行された後、コントローラ301は、ステップS2102において、通信機302に、起床通知パケットを隣接端末へ送信させる。コントローラ301は、ステップS1906およびステップS2202において、通信機302が隣接端末から受信した休眠通知パケットと、通信機302が隣接端末から受信した起床通知パケットとに基づいて、状態情報をメモリ304に記憶する。
各無線通信端末は、状態情報に基づいて、自端末の隣接端末の起床状態および休眠状態を常に把握することができる。そのため、休眠可能な状態にあって休眠の機会を狙っている無線通信端末が休眠処理を即座に開始することができる。
コントローラ301は、ステップS1709において、通信機302が周辺端末から受信した経路探索パケットに基づいて、等位端末を判別する。第3の数は第4の数と同じである。第3の数は、通信経路においてゲートウェイG1(集約装置)と自端末との間に存在する無線通信端末の数である。第4の数は、通信経路においてゲートウェイG1と等位端末との間に存在する無線通信端末の数である。所定期間内に通信機302が休眠禁止パケットを隣接端末から受信し、かつ、休眠中である等位端末の状態情報がメモリ304に記憶されている第1の場合、コントローラ301は、休眠中の等位端末が起床したタイミングで、通信機302に、休眠宣言パケットを隣接端末へ送信させる(ステップS1802)。
ステップS1802において休眠宣言パケットが送信される。その後の所定期間内に休眠禁止パケットが隣接端末から受信される場合がある(ステップS1805)。コントローラ301は、ステップS1508において、休眠中の等位端末が休眠状態から起床状態へ遷移したことを検知できる。休眠中の等位端末が休眠状態から起床状態へ遷移したとコントローラ301が判断したとき、自端末は休眠可能である(ステップS1509)。そのため、休眠宣言送信処理(ステップS1510)が実行され、かつステップS1802において休眠宣言パケットが再度送信される。
休眠中の等位端末が起床した後、自端末は休眠することができる。そのため、消費電力の負担が無線通信端末間で分散する。
休眠通知パケットは、休眠通知パケットを送信する無線通信端末の休眠期間に関する期間情報(休眠時間)を含む。第1の場合、自端末が次に休眠を開始する前に、コントローラ301は、ステップS2004およびステップS2005において、期間情報に基づいて、タイミング判断を実行してもよい。コントローラ301は、タイミング判断において、休眠中である等位端末の起床予定時刻が自端末の休眠予定時刻よりも早い否かを判断する。起床予定時刻は、等位端末が休眠を終了する時刻である。休眠予定時刻は、自端末が休眠を開始する時刻である。等位端末の起床予定時刻が自端末の休眠予定時刻よりも早いとコントローラ301が判断した場合、コントローラ301は、等位端末の起床予定時刻において、通信機302に、休眠宣言パケットを隣接端末へ送信させてもよい(ステップS1802)。
コントローラ301は、ステップS2004において、自端末が休眠を開始する休眠予定時刻を予測する。コントローラ301は、期間情報に基づいて、休眠中である等位端末の起床予定時刻を予測してもよい。コントローラ301は、休眠中の等位端末の起床予定時刻に基づいて、自端末が休眠できるか否かを判断することができる。
休眠宣言パケットは、休眠宣言端末の休眠期間に関する期間情報(休眠予定時間)を含む。コントローラ301は、ステップS1709において、通信機302が周辺端末から受信した経路探索パケットに基づいて、等位端末を判別する。所定期間内に通信機302が休眠禁止パケットを隣接端末から受信し、かつ休眠宣言端末が等位端末である場合、コントローラ301は、ステップS2005において、第2の休眠判断を実行する。コントローラ301は、第2の休眠判断において、自端末の休眠予定時刻および休眠宣言端末の休眠期間に基づいて、自端末および休眠宣言端末が同時に休眠している期間があるか否かを判断する。休眠予定時刻は、自端末が休眠を開始する時刻である。自端末および休眠宣言端末が同時に休眠している期間があるとコントローラ301が判断した場合、コントローラ301は、第2の休眠判断において休眠宣言端末の休眠を認めないと判断する。
コントローラ301は、ステップS2005において、自端末の休眠予定時刻と、休眠宣言端末の起床予定時刻とを比較する。自端末の休眠予定時刻が休眠宣言端末の起床予定時刻よりも前である場合、自端末および休眠宣言端末が同時に休眠している期間がある。自端末の休眠予定時刻が休眠宣言端末の起床予定時刻よりも後である場合、自端末および休眠宣言端末が同時に休眠している期間はない。自端末および休眠宣言端末が同時に休眠している期間がある場合、ステップS1904において休眠禁止パケットが送信される。
自端末の休眠が禁止された場合(ステップS2003)、自端末および休眠宣言端末が同時に休眠するか否かが判断される(ステップS2005)。自端末および休眠宣言端末が同時に休眠する場合、休眠宣言端末の休眠は禁止される。そのため、自端末の次の休眠が休眠宣言端末の休眠よりも優先される。
コントローラ301は、ステップS1709において、通信機302が周辺端末から受信した経路探索パケットに基づいて下位端末を判別する。第5の数は第6の数よりも大きい。第5の数は、通信経路においてゲートウェイG1(集約装置)と下位端末との間に存在する無線通信端末の数である。第6の数は、通信経路においてゲートウェイG1(集約装置)と自端末との間に存在する無線通信端末の数である。コントローラ301は、ステップS1806において、等位端末が下位端末の通信経路に含まれるか否かを示す迂回情報(非従属関係)をメモリ304に記憶する。コントローラ301は、第2の休眠判断において、迂回情報に基づいて、休眠宣言端末が、下位端末の通信経路に含まれる等位端末であるか否かを判断する(ステップS2002)。自端末および休眠宣言端末が同時に休眠している期間があるとコントローラ301が判断し、かつ休眠宣言端末が、下位端末の通信経路に含まれる等位端末であるとコントローラ301が判断した場合、コントローラ301は、第2の休眠判断において休眠宣言端末の休眠を認めないと判断する。
自端末が休眠した場合、自端末の下位端末が自端末の等位端末を含む別経路のみで通信を行う可能性がある。自端末および休眠宣言端末が同時に休眠している間、その下位端末は通信を行うことができない。そのような場合に休眠宣言端末の休眠は禁止される。そのため、なるべく電力の消費が平準化され、かつ無駄な電力の消費が低減される。
コントローラ301は、ステップS1709において、通信機302が周辺端末から受信した経路探索パケットに基づいて下位端末を判別する。休眠通知パケットは、休眠通知パケットを送信する無線通信端末の休眠期間に関する期間情報(休眠時間)を含む。コントローラ301は、ステップS2302において、期間情報に基づいて、休眠中である下位端末の起床予定時刻を判断する。起床予定時刻は、下位端末が休眠を終了する時刻である。所定期間内に通信機302が休眠禁止パケットを隣接端末から受信せず、かつ、休眠中である下位端末の状態情報がメモリ304に記憶されている第2の場合、コントローラ301は、ステップS2304またはステップS2305において、自端末の休眠期間を決定する。自端末の休眠期間は、下位端末の起床予定時刻よりも前に終了する。
下位端末が起床する前に自端末が起床する。そのため、下位端末の通信経路が確実に確保され、かつ自端末の消費電力が低減される。
コントローラ301は、ステップS2301において、自端末の休眠予定期間(休眠時間)を決定する。第2の場合、かつ休眠予定期間が下位端末の起床予定時刻よりも後に終了する第3の場合、コントローラ301は、ステップS2305において、自端末の休眠期間を決定する。通信機302が送信する休眠通知パケットは、自端末の休眠期間に関する期間情報を含む。
コントローラ301は、ステップS2303において、自端末の休眠時間が下位端末の残りの休眠時間よりも短いか否かを判断する。自端末の休眠時間が下位端末の残りの休眠時間よりも短い場合、自端末の休眠予定期間は下位端末の起床予定時刻よりも後に終了する。下位端末が起床したときに自端末が休眠しているため、下位端末の通信経路が確保されない。その場合、ステップS2305において自端末の休眠期間が決定される。その休眠期間は、下位端末が起床する前に終了する。つまり、下位端末が起床する前に自端末が起床する。そのため、下位端末の通信経路が確実に確保され、かつ自端末の消費電力が低減される。
以上、本発明の好ましい実施形態を説明したが、本発明はこれら実施形態およびその変形例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更が可能である。また、本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。
本発明の各実施形態によれば、無線通信端末、無線通信システム、無線通信方法、およびプログラムは、通信経路を確実に確保することができ、かつネットワーク全体の消費電力を減らすことができる。
1,2,3,4 端末
G1 ゲートウェイ
301,321 コントローラ
302 通信機
303 センサ
304,324 メモリ
305,325 クロック回路
322 第1の通信機
323 第2の通信機
G1 ゲートウェイ
301,321 コントローラ
302 通信機
303 センサ
304,324 メモリ
305,325 クロック回路
322 第1の通信機
323 第2の通信機
Claims (11)
- 無線通信システムにおける無線通信端末であって、
前記無線通信システムは、集約装置および2つ以上の前記無線通信端末を含み、
前記無線通信端末は、
無線通信機と、
メモリと、
コントローラと、
を有し、
前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させ、前記通信経路情報は、前記経路探索パケットの通信経路を示し、前記周辺端末は、前記集約装置および前記隣接端末のいずれか1つであり、前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末であり、
前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別し、前記上位端末は前記隣接端末であり、第1の数は第2の数よりも小さく、前記第1の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数であり、前記第2の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、
前記コントローラは、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶し、前記状態情報は、休眠中および起床中のいずれか1つを示し、
前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記状態情報に基づいて第1の休眠判断を実行し、前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末であり、
前記休眠宣言端末以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めると判断し、前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めないと判断し、
前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる
無線通信端末。 - 前記コントローラは、前記無線通信機に、前記休眠宣言パケットを前記隣接端末へ送信させ、
前記無線通信機が前記休眠宣言パケットを送信した後の所定期間内に前記無線通信機が前記隣接端末から前記休眠禁止パケットを受信しない場合、前記コントローラは、前記無線通信機に、休眠通知パケットを前記隣接端末へ送信させ、
前記無線通信機が前記休眠通知パケットを送信した後、前記コントローラは、消費電力が低減された休眠状態に前記自端末を移行させるための休眠処理を実行し、
前記休眠処理が実行された後、前記コントローラは、前記自端末を前記休眠状態から復帰させるための起床処理を実行し、
前記起床処理が実行された後、前記コントローラは、前記無線通信機に、起床通知パケットを前記隣接端末へ送信させ、
前記コントローラは、前記無線通信機が前記隣接端末から受信した前記休眠通知パケットと、前記無線通信機が前記隣接端末から受信した前記起床通知パケットとに基づいて、前記状態情報を前記メモリに記憶する
請求項1に記載の無線通信端末。 - 前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて、等位端末を判別し、第3の数は第4の数と同じであり、前記第3の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、前記第4の数は、前記通信経路において前記集約装置と前記等位端末との間に存在する前記無線通信端末の数であり、
前記所定期間内に前記無線通信機が前記休眠禁止パケットを前記隣接端末から受信し、かつ、休眠中である前記等位端末の前記状態情報が前記メモリに記憶されている第1の場合、前記コントローラは、休眠中の前記等位端末が起床したタイミングで、前記無線通信機に、前記休眠宣言パケットを前記隣接端末へ送信させる
請求項2に記載の無線通信端末。 - 前記休眠通知パケットは、前記休眠通知パケットを送信する前記無線通信端末の休眠期間に関する期間情報を含み、
前記第1の場合、前記自端末が次に休眠を開始する前に、前記コントローラは、前記期間情報に基づいて、タイミング判断を実行し、
前記コントローラは、前記タイミング判断において、休眠中である前記等位端末の起床予定時刻が休眠予定時刻よりも早い否かを判断し、前記起床予定時刻は、前記等位端末が休眠を終了する時刻であり、前記休眠予定時刻は、前記自端末が休眠を開始する時刻であり、
前記起床予定時刻が前記休眠予定時刻よりも早いと前記コントローラが判断した場合、前記コントローラは、前記起床予定時刻において、前記無線通信機に、前記休眠宣言パケットを前記隣接端末へ送信させる
請求項3に記載の無線通信端末。 - 前記休眠宣言パケットは、前記休眠宣言端末の休眠期間に関する期間情報を含み、
前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて、等位端末を判別し、第3の数は第4の数と同じであり、前記第3の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、前記第4の数は、前記通信経路において前記集約装置と前記等位端末との間に存在する前記無線通信端末の数であり、
前記所定期間内に前記無線通信機が前記休眠禁止パケットを前記隣接端末から受信し、かつ前記休眠宣言端末が前記等位端末である場合、前記コントローラは第2の休眠判断を実行し、
前記コントローラは、前記第2の休眠判断において、前記自端末の休眠予定時刻および前記休眠宣言端末の前記休眠期間に基づいて、前記自端末および前記休眠宣言端末が同時に休眠している期間があるか否かを判断し、前記休眠予定時刻は、前記自端末が休眠を開始する時刻であり、
前記自端末および前記休眠宣言端末が同時に休眠している期間があると前記コントローラが判断した場合、前記コントローラは、前記第2の休眠判断において前記休眠宣言端末の休眠を認めないと判断する
請求項2に記載の無線通信端末。 - 前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて下位端末を判別し、第5の数は第6の数よりも大きく、前記第5の数は、前記通信経路において前記集約装置と前記下位端末との間に存在する前記無線通信端末の数であり、前記第6の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、
前記コントローラは、前記等位端末が前記下位端末の前記通信経路に含まれるか否かを示す迂回情報を前記メモリに記憶し、
前記コントローラは、前記第2の休眠判断において、前記迂回情報に基づいて、前記休眠宣言端末が、前記下位端末の前記通信経路に含まれる前記等位端末であるか否かを判断し、
前記自端末および前記休眠宣言端末が同時に休眠している期間があると前記コントローラが判断し、かつ前記休眠宣言端末が、前記下位端末の前記通信経路に含まれる前記等位端末であると前記コントローラが判断した場合、前記コントローラは、前記第2の休眠判断において前記休眠宣言端末の休眠を認めないと判断する
請求項5に記載の無線通信端末。 - 前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて下位端末を判別し、第5の数は第6の数よりも大きく、前記第5の数は、前記通信経路において前記集約装置と前記下位端末との間に存在する前記無線通信端末の数であり、前記第6の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、
前記休眠通知パケットは、前記休眠通知パケットを送信する前記無線通信端末の休眠期間に関する期間情報を含み、
前記コントローラは、前記期間情報に基づいて、休眠中である前記下位端末の起床予定時刻を判断し、前記起床予定時刻は、前記下位端末が休眠を終了する時刻であり、
前記所定期間内に前記無線通信機が前記休眠禁止パケットを前記隣接端末から受信せず、かつ、休眠中である前記下位端末の前記状態情報が前記メモリに記憶されている第2の場合、前記コントローラは、前記自端末の休眠期間を決定し、前記自端末の前記休眠期間は、前記下位端末の前記起床予定時刻よりも前に終了する
請求項2に記載の無線通信端末。 - 前記コントローラは、前記自端末の休眠予定期間を決定し、
前記第2の場合、かつ前記休眠予定期間が前記下位端末の前記起床予定時刻よりも後に終了する第3の場合、前記コントローラは、前記自端末の前記休眠期間を決定し、
前記無線通信機が送信する前記休眠通知パケットは、前記自端末の前記休眠期間に関する前記期間情報を含む
請求項7に記載の無線通信端末。 - 集約装置および2つ以上の無線通信端末を含む無線通信システムであって、
前記無線通信端末は、
無線通信機と、
メモリと、
コントローラと、
を有し、
前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させ、前記通信経路情報は、前記経路探索パケットの通信経路を示し、前記周辺端末は、前記集約装置および前記隣接端末のいずれか1つであり、前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末であり、
前記コントローラは、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別し、前記上位端末は前記隣接端末であり、第1の数は第2の数よりも小さく、前記第1の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数であり、前記第2の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、
前記コントローラは、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶し、前記状態情報は、休眠中および起床中のいずれか1つを示し、
前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記状態情報に基づいて第1の休眠判断を実行し、前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末であり、
前記休眠宣言端末以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めると判断し、前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めないと判断し、
前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる
無線通信システム。 - 無線通信システムにおける無線通信端末のコントローラが実行する無線通信方法であって、
前記無線通信方法は、第1のステップ、第2のステップ、第3のステップ、第4のステップ、および第5のステップを有し、
前記無線通信システムは、集約装置および2つ以上の前記無線通信端末を含み、
前記無線通信端末は、
無線通信機と、
メモリと、
前記コントローラと、
を有し、
前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記第1のステップにおいて、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させ、前記通信経路情報は、前記経路探索パケットの通信経路を示し、前記周辺端末は、前記集約装置および前記隣接端末のいずれか1つであり、前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末であり、
前記コントローラは、前記第2のステップにおいて、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別し、前記上位端末は前記隣接端末であり、第1の数は第2の数よりも小さく、前記第1の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数であり、前記第2の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、
前記コントローラは、前記第3のステップにおいて、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶し、前記状態情報は、休眠中および起床中のいずれか1つを示し、
前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記第4のステップにおいて、前記状態情報に基づいて第1の休眠判断を実行し、前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末であり、
前記休眠宣言端末以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めると判断し、前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めないと判断し、
前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記第5のステップにおいて、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる
無線通信方法。 - 無線通信システムにおける無線通信端末のコントローラに、第1のステップ、第2のステップ、第3のステップ、第4のステップ、および第5のステップを実行させるためのプログラムであって、
前記無線通信システムは、集約装置および2つ以上の前記無線通信端末を含み、
前記無線通信端末は、
無線通信機と、
メモリと、
前記コントローラと、
を有し、
前記無線通信機が、通信経路情報を含む経路探索パケットを周辺端末から受信した場合、前記コントローラは、前記第1のステップにおいて、前記無線通信機に、前記経路探索パケットを隣接端末へ送信させ、前記通信経路情報は、前記経路探索パケットの通信経路を示し、前記周辺端末は、前記集約装置および前記隣接端末のいずれか1つであり、前記隣接端末は、前記通信経路上で自端末に隣接する前記無線通信端末であり、
前記コントローラは、前記第2のステップにおいて、前記無線通信機が前記周辺端末から受信した前記経路探索パケットに基づいて上位端末を判別し、前記上位端末は前記隣接端末であり、第1の数は第2の数よりも小さく、前記第1の数は、前記通信経路において前記集約装置と前記上位端末との間に存在する前記無線通信端末の数であり、前記第2の数は、前記通信経路において前記集約装置と前記自端末との間に存在する前記無線通信端末の数であり、
前記コントローラは、前記第3のステップにおいて、前記無線通信機が前記隣接端末から受信した通知に基づいて、前記隣接端末の状態情報を前記メモリに記憶し、前記状態情報は、休眠中および起床中のいずれか1つを示し、
前記無線通信機が休眠宣言パケットを休眠宣言端末から受信し、かつ前記休眠宣言端末が前記上位端末である場合、前記コントローラは、前記第4のステップにおいて、前記状態情報に基づいて第1の休眠判断を実行し、前記休眠宣言端末は、前記休眠宣言パケットを送信した前記隣接端末であり、
前記休眠宣言端末以外に起床中の前記上位端末が存在するならば、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めると判断し、前記休眠宣言端末以外に起床中の前記上位端末が存在しなければ、前記コントローラは、前記第1の休眠判断において前記休眠宣言端末の休眠を認めないと判断し、
前記休眠宣言端末の休眠を認めないと前記コントローラが判断した場合、前記コントローラは、前記第5のステップにおいて、前記無線通信機に、休眠禁止パケットを前記休眠宣言端末へ送信させる
プログラム。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020525112A JP7005756B2 (ja) | 2018-06-19 | 2018-06-19 | 無線通信端末、無線通信システム、無線通信方法、およびプログラム |
| CN201880093595.6A CN112136343B (zh) | 2018-06-19 | 2018-06-19 | 无线通信终端、无线通信系统、无线通信方法及存储介质 |
| PCT/JP2018/023247 WO2019244233A1 (ja) | 2018-06-19 | 2018-06-19 | 無線通信端末、無線通信システム、無線通信方法、およびプログラム |
| US17/123,167 US11330524B2 (en) | 2018-06-19 | 2020-12-16 | Wireless communication terminal, wireless communication system, wireless communication method, and recording medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2018/023247 WO2019244233A1 (ja) | 2018-06-19 | 2018-06-19 | 無線通信端末、無線通信システム、無線通信方法、およびプログラム |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/123,167 Continuation US11330524B2 (en) | 2018-06-19 | 2020-12-16 | Wireless communication terminal, wireless communication system, wireless communication method, and recording medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019244233A1 true WO2019244233A1 (ja) | 2019-12-26 |
Family
ID=68983335
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2018/023247 Ceased WO2019244233A1 (ja) | 2018-06-19 | 2018-06-19 | 無線通信端末、無線通信システム、無線通信方法、およびプログラム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11330524B2 (ja) |
| JP (1) | JP7005756B2 (ja) |
| CN (1) | CN112136343B (ja) |
| WO (1) | WO2019244233A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021158432A (ja) * | 2020-03-25 | 2021-10-07 | 大崎電気工業株式会社 | 検針システム |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11231764B2 (en) * | 2018-10-17 | 2022-01-25 | Samsung Electronics Co., Ltd. | System and method for supporting chassis level keep alive in NVME-of based system |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010524278A (ja) * | 2007-03-13 | 2010-07-15 | シンジェンタ パーティシペーションズ アクチェンゲゼルシャフト | アドホックセンサネットワークのための方法およびシステム |
| WO2016189933A1 (ja) * | 2015-05-27 | 2016-12-01 | ソニー株式会社 | 通信装置および通信方法 |
| WO2016194204A1 (ja) * | 2015-06-04 | 2016-12-08 | 三菱電機株式会社 | 無線通信装置および無線通信方法 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6856591B1 (en) * | 2000-12-15 | 2005-02-15 | Cisco Technology, Inc. | Method and system for high reliability cluster management |
| WO2003003756A2 (en) * | 2001-06-27 | 2003-01-09 | Flarion Technologies, Inc. | Methods and apparatus for supporting group communications |
| US8576760B2 (en) * | 2008-09-12 | 2013-11-05 | Qualcomm Incorporated | Apparatus and methods for controlling an idle mode in a wireless device |
| JP5177416B2 (ja) * | 2008-11-07 | 2013-04-03 | 国立大学法人電気通信大学 | 情報処理装置および方法、プログラム、並びに通信方法 |
| JP5397052B2 (ja) * | 2009-07-03 | 2014-01-22 | 富士通株式会社 | Sleepモード制御を行う情報処理装置、Sleepモード制御プログラム、およびSleepモード制御方法 |
| JP5463165B2 (ja) * | 2010-02-26 | 2014-04-09 | 株式会社日立製作所 | 省電力化可能なponシステムにおける、onuのスリープ状態からの復旧方法 |
| JP5430481B2 (ja) * | 2010-04-12 | 2014-02-26 | 三菱電機株式会社 | ゲートウエイおよび端末 |
| US8670362B2 (en) * | 2010-07-26 | 2014-03-11 | Texas Instruments Incorporated | Power state and medium access coordination in coexisting wireless networks |
| JP5766503B2 (ja) * | 2011-05-13 | 2015-08-19 | 富士通テレコムネットワークス株式会社 | 無線管理システム、無線端末装置および伝送管理方法 |
| US9173224B2 (en) * | 2012-03-01 | 2015-10-27 | Futurewei Technologies, Inc. | System and methods for differentiated association service provisioning in WiFi networks |
| CN103237337B (zh) * | 2013-02-28 | 2016-08-03 | 山东省计算中心 | 一种无线传感器自适应网络休眠控制方法 |
| US9565637B2 (en) * | 2013-03-14 | 2017-02-07 | T-Mobile Usa, Inc. | High power channel state notification for mobile applications |
| CN104602327A (zh) * | 2013-10-30 | 2015-05-06 | 华为终端有限公司 | 控制供电的方法和无线终端 |
| CN104918339A (zh) * | 2014-03-12 | 2015-09-16 | 国家电网公司 | 一种无线传感器网络的通信控制方法和装置 |
| CN106714284B (zh) * | 2016-11-30 | 2020-05-05 | 江苏中科羿链通信技术有限公司 | 适用于无线链状拓扑网络的顺序休眠唤醒方法 |
-
2018
- 2018-06-19 JP JP2020525112A patent/JP7005756B2/ja active Active
- 2018-06-19 CN CN201880093595.6A patent/CN112136343B/zh active Active
- 2018-06-19 WO PCT/JP2018/023247 patent/WO2019244233A1/ja not_active Ceased
-
2020
- 2020-12-16 US US17/123,167 patent/US11330524B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010524278A (ja) * | 2007-03-13 | 2010-07-15 | シンジェンタ パーティシペーションズ アクチェンゲゼルシャフト | アドホックセンサネットワークのための方法およびシステム |
| WO2016189933A1 (ja) * | 2015-05-27 | 2016-12-01 | ソニー株式会社 | 通信装置および通信方法 |
| WO2016194204A1 (ja) * | 2015-06-04 | 2016-12-08 | 三菱電機株式会社 | 無線通信装置および無線通信方法 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021158432A (ja) * | 2020-03-25 | 2021-10-07 | 大崎電気工業株式会社 | 検針システム |
| JP7399571B2 (ja) | 2020-03-25 | 2023-12-18 | 大崎電気工業株式会社 | 検針システム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP7005756B2 (ja) | 2022-01-24 |
| JPWO2019244233A1 (ja) | 2021-06-03 |
| US20210105723A1 (en) | 2021-04-08 |
| CN112136343B (zh) | 2024-01-12 |
| CN112136343A (zh) | 2020-12-25 |
| US11330524B2 (en) | 2022-05-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Liu et al. | Random coverage with guaranteed connectivity: Joint scheduling for wireless sensor networks | |
| Anastasi et al. | Energy conservation in wireless sensor networks: A survey | |
| Ma et al. | Tour planning for mobile data-gathering mechanisms in wireless sensor networks | |
| Anastasi et al. | How to prolong the lifetime of wireless sensor networks | |
| Conner et al. | Experimental evaluation of synchronization and topology control for in-building sensor network applications | |
| US9078050B2 (en) | Techniques for clock recovery in a mobile information collection network following a power outage | |
| CN110049128B (zh) | 基于物联网的户外照明的控制系统 | |
| JP7005756B2 (ja) | 無線通信端末、無線通信システム、無線通信方法、およびプログラム | |
| Frye et al. | Topology maintenance of wireless sensor networks in node failure-prone environments | |
| CN103763765B (zh) | 一种无线传感器网络的自同步方法 | |
| Eskandari et al. | Energy efficient spanning tree for data aggregation in wireless sensor networks | |
| Lalitha et al. | Reliable multi-path route selection strategy based on evidence theory for internet of things enabled networks | |
| Amato et al. | Application-driven, energy-efficient communication in wireless sensor networks | |
| Choudhury et al. | Location-independent coverage in wireless sensor networks | |
| Bai et al. | Percentage coverage configuration in wireless sensor networks | |
| Lim et al. | Networking strategies for structural health monitoring in wireless sensor networks | |
| Guo et al. | OPS: Opportunistic pipeline scheduling in long-strip wireless sensor networks with unreliable links | |
| Saxena et al. | Efficient Power Utilization Techniques for Wireless Sensor Networks- A Survey | |
| Toscano et al. | An energy-efficient real-time communication framework for wireless sensor networks | |
| Yu et al. | R-Sentry: providing continuous sensor services against random node failures | |
| Cevik et al. | Delay efficient STEM by pipelining | |
| Zhang et al. | A tier-based duty-cycling scheme for forest monitoring | |
| Kawai et al. | A sensor network protocol for automatic meter reading in an apartment building | |
| Kanhere et al. | End-to-end delay optimization in wireless sensor network (WSN) | |
| Pak et al. | Centralized route recovery based on multi-hop wakeup time estimation for wireless sensor networks with ultra low duty cycles |
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: 18923133 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2020525112 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18923133 Country of ref document: EP Kind code of ref document: A1 |