WO2016002161A1 - 通信端末、通信方法、通信用プログラムが記憶された記憶媒体、および通信システム - Google Patents

通信端末、通信方法、通信用プログラムが記憶された記憶媒体、および通信システム Download PDF

Info

Publication number
WO2016002161A1
WO2016002161A1 PCT/JP2015/003110 JP2015003110W WO2016002161A1 WO 2016002161 A1 WO2016002161 A1 WO 2016002161A1 JP 2015003110 W JP2015003110 W JP 2015003110W WO 2016002161 A1 WO2016002161 A1 WO 2016002161A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
communication terminal
communication
content
transmission
Prior art date
Application number
PCT/JP2015/003110
Other languages
English (en)
French (fr)
Inventor
則夫 山垣
峻一 木下
啓文 植田
藤田 範人
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2016530821A priority Critical patent/JP6540699B2/ja
Priority to US15/321,877 priority patent/US10172148B2/en
Publication of WO2016002161A1 publication Critical patent/WO2016002161A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/566Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
    • H04W72/569Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient of the traffic information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/02Selection of wireless resources by user or terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/02Hybrid access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/08Non-scheduled access, e.g. ALOHA
    • H04W74/0808Non-scheduled access, e.g. ALOHA using carrier sensing, e.g. carrier sense multiple access [CSMA]
    • H04W74/0816Non-scheduled access, e.g. ALOHA using carrier sensing, e.g. carrier sense multiple access [CSMA] with collision avoidance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • H04W72/121Wireless traffic scheduling for groups of terminals or users

Definitions

  • the present invention relates to a communication terminal, a communication method, a storage medium storing a communication program, and a communication system, and in particular, a communication terminal using a communication network, a communication method, a storage medium storing a communication program, and a communication system.
  • a communication terminal using a communication network, a communication method, a storage medium storing a communication program, and a communication system.
  • wireless LAN Local Area Network, Wi-Fi (registered trademark, Wireless Fidelity)
  • the wireless LAN has standards such as IEEE802.11a, b, g, and n that have been widely spread and have been formulated by IEEE (The Institute of Electronic and Electronics Engineers, Inc.).
  • a wireless LAN communication terminal uses an access control method called CSMA / CA (Carrier Sense Multiple Access Collision Avidance: Carrier Sense Multiple Access / Collision Avoidance Method) in the MAC (Media Access Control) layer.
  • CSMA / CA Carrier Sense Multiple Access Collision Avidance: Carrier Sense Multiple Access / Collision Avoidance Method
  • a communication terminal connected to the wireless LAN receives a signal of a transmission medium (radio frequency) to be used, and determines whether there is another communication terminal currently performing communication before starting data transmission. Confirm (Carrier Sense).
  • Each communication terminal connected to the wireless LAN is generated when it is determined that there is no other communication terminal currently communicating using the radio frequency band to be used and communication is possible.
  • Communication Multiple Access
  • collision of transmitted frames data
  • collision Avoidance collision Avoidance
  • each communication terminal confirms the arrival of data by receiving ACK (ACK acknowledgment), but when such a collision occurs, ACK is not transmitted. Therefore, each communication terminal that has not received an ACK even after a predetermined time has elapsed after transmitting data generates a random number again, and retransmits the data after a waiting time corresponding to the random number has elapsed.
  • ACK ACK acknowledgment
  • Patent Document 1 receives a state notification signal indicating the operation state and operation timing of a neighboring communication terminal, and controls the time slot width and communication timing of the own communication terminal based on the communication status of the neighboring communication terminal. A method for avoiding collision in wireless communication is described.
  • Patent Document 2 describes a method for randomly delaying data transmission and reducing the packet collision probability.
  • Non-Patent Document 1 discloses a method of exchanging information indicating storage contents based on an epidemic method and synchronizing the storage contents when communication terminals approach each other by movement.
  • FIG. 21 is an explanatory diagram showing an example of a communication system that synchronizes stored contents by an epidemic method.
  • the communication terminals 1 and 2 periodically transmit and receive a control message including a summary vector (Summary Vector) that is a list of contents stored in itself to other adjacent communication terminals 2 and 1. And replace the summary vector. Then, each communication terminal 1, 2, based on the summary vector received from the other communication terminal 2, 1, the content stored in the other communication terminal 2, 1 from which the control message is transmitted, and the own communication terminal 1. , 2 detects a difference from the stored content.
  • a summary vector Service Vector
  • contents A, B, and C are stored in communication terminal 1, and contents A and B are stored in communication terminal 2. Therefore, the difference between the content stored in the communication terminal 1 and the content stored in the communication terminal 2 is content C.
  • the communication terminal 2 requests the communication terminal 1 that is the transmission source of the control message to transmit the content C so as to eliminate the difference.
  • the communication terminal 1 transmits the content C to the communication terminal 2 in response to the request.
  • all communication terminals also referred to as nodes
  • each node is controlled to operate based on a time slot (communication time zone which is a channel for data transmission divided at a constant time interval) unified in all nodes.
  • a method of assigning an opportunity (time slot) for transmitting data to each node for each cluster is conceivable.
  • the present invention provides a communication terminal, a communication method, and a storage medium storing a communication program that can favorably suppress an increase in the number of data collisions even when the number of communication terminals connected to a communication network increases. And providing a communication system.
  • the communication terminal according to the present invention is based on each data information indicating data transmitted from another communication terminal and stored in the other communication terminal, and data stored in the storage means of the own communication terminal.
  • the number of data storage terminals that count the number of stored communication terminals and the number of communication terminals that transmit data at the same timing are estimated based on the count results of the data storage communication terminal number count means.
  • Communication terminal number estimating means for calculating an adjustment reference value for limiting the number of communication terminals estimated by the communication terminal number estimating means to a preset allowable number or less, and adjustment reference value calculation Determining means for deciding whether or not to permit transmission of data stored in the storage means based on the adjustment reference value calculated by the means; Sent if you allow for, characterized in that it comprises a data transmitting means for transmitting data to a communication terminal that data is not stored.
  • the communication method according to the present invention is based on data information transmitted from another communication terminal and indicating data stored in the other communication terminal and data stored in the storage means of the own communication terminal.
  • the number of communication terminals that transmit data at the same timing is estimated based on the count result in the data storage terminal number counting step that counts the number of stored communication terminals and the count result in the data storage terminal number count step.
  • a communication terminal number estimation step, an adjustment reference value calculation step for calculating an adjustment reference value for limiting the number of communication terminals estimated in the communication terminal number estimation step to a preset allowable number or less, and an adjustment reference value calculation step Whether to permit transmission of data stored in the storage means is determined based on the adjustment reference value calculated in step 1).
  • a constant step, when allowed to send data at decision step, characterized in that it comprises a data transmitting step of transmitting the data to the communication terminal data is not stored.
  • the storage medium storing the communication program according to the present invention is transmitted to the computer from each of the other communication terminals, and each data information indicating the data stored in the other communication terminal and the storage of the own communication terminal.
  • the data storage terminal count process for counting the number of stored communication terminals for each data and the data at the same timing based on the count result in the data storage terminal count process
  • Communication terminal number estimation process for estimating the number of communication terminals that transmit the communication terminal, and an adjustment reference for calculating an adjustment reference value for limiting the number of communication terminals estimated in the communication terminal number estimation process to a preset allowable number or less
  • a communication process characterized by executing a determination process for determining whether or not to transmit data and a data transmission process for transmitting data to a communication terminal in which no data is stored when data transmission is permitted in the determination process The program is stored.
  • the communication system according to the present invention includes a plurality of communication terminals of any aspect.
  • FIG. 1 is a block diagram illustrating a configuration example of a wireless communication system 500 including a communication terminal 100 according to the first embodiment of this invention.
  • communication terminals 100a to 100h are shown as examples of the communication terminal 100.
  • the communication terminals 100a to 100h are collectively referred to as the communication terminal 100 because they have the same configuration.
  • the communication terminal 100 has a wireless communication function.
  • the wireless communication function is, for example, a wireless LAN connection function.
  • the communication terminals 100 included in the wireless communication system 500 can communicate with each other in, for example, an ad hoc mode.
  • the communication terminals 100a to 100h may be configured to be connected to a wired communication network and to communicate with each other via the wired communication network.
  • FIG. 2 is a block diagram illustrating a configuration example of the communication terminal 100 according to the first embodiment of this invention.
  • the communication terminal 100 according to the first embodiment of the present invention includes an information distribution control unit 120, a storage unit 130, a transmission right adjustment unit 140, a data storage unit 150, and a communication unit 160.
  • the information distribution control unit 120, the transmission right adjustment unit 140, and the data storage unit 150 are, for example, a CPU (Central Processing Unit) that executes processing according to program control.
  • the information distribution control unit 120 and the transmission right adjustment unit 140 are CPUs that execute processing in accordance with control of application software that operates based on an OS (Operating System) installed in the communication terminal 100, for example.
  • the storage unit 130 is, for example, a memory.
  • the communication unit 160 is, for example, a wireless LAN communication module controlled by the OS kernel.
  • the storage unit 130 stores communication terminal information 131 and content information 132.
  • the storage unit 130 stores content.
  • the content may be any of a text file, an image data file, and an audio data file, or may be a multimedia data file in which any two or more of text, image, and audio are mixed. Good. Further, what is stored in the storage unit 130 of the communication terminal 100 may simply be stored in the communication terminal 100.
  • FIG. 3 is an explanatory diagram showing a configuration example of the communication terminal information 131.
  • Each communication terminal 100 mutually transmits and receives a control message including a content list that is a list of content identifiers stored in the storage unit 130 and a communication terminal identifier indicating the communication terminal 100 that is a transmission source, in a predetermined cycle.
  • the communication terminal information 131 includes a communication terminal identifier indicating the transmission source of the control message included in the control message received from the other communication terminal 100, and an expiration date of the communication terminal information 131. And the expiration date information shown.
  • the communication terminal identifier indicates the source of the control message by, for example, an IP (Internet Protocol) address, a user name, a communication terminal name, or the like.
  • IP Internet Protocol
  • communication terminal information 131 including communication terminal identifiers indicating other communication terminals 100 (for example, the communication terminals 100b to 100h) that can communicate in the ad hoc mode, respectively. It is remembered.
  • the expiration date information is, for example, information indicating the date and time after the time T has elapsed from the date and time when the control message was received.
  • the communication terminal information 131 is handled as having expired. Specifically, for example, the communication terminal information 130 is deleted from the storage unit 130 after the date and time indicated by the expiration date information has arrived.
  • the time T is set too long, for example, the communication terminal information is stored in the communication terminal 100a even after the communication terminal 100h indicated by the communication terminal identifier has moved to a place where communication between the communication terminal 100a and the communication terminal 100a is impossible in the ad hoc mode. It will continue to be stored in the storage unit 130. If the time T is too short, for example, even if the communication terminal 100h indicated by the communication terminal identifier can communicate with the communication terminal 100a in the ad hoc mode, the communication terminal information is stored in the communication terminal 100a. It will be erased from the part 130. Therefore, the time T is appropriately longer than the control message transmission cycle.
  • FIG. 4 is an explanatory diagram showing a configuration example of the content information 132 stored in the storage unit 130.
  • the content information 132 includes, for example, a content identifier, a possession flag, and possessed communication terminal number information.
  • the content identifier is a predetermined identifier for identifying content in the wireless communication system 500.
  • the possession flag is a flag indicating whether or not the content indicated by the content identifier is stored in the own communication terminal 100. Specifically, for example, if the content indicated by the content identifier is stored in the storage unit 130, the value of the possession flag is set to 1, and if not stored, the value of the possession flag is set to 0.
  • the owned communication terminal number information stores the content among the communication terminals 100 indicated in the communication terminal identifier 131 of the valid communication terminal information 131 stored in the storage unit 130 (the expiration date has not yet arrived). This is information indicating the number of communication terminals 100 in operation.
  • the value of the possession flag is set to 1, the value indicated by the possessed communication terminal information (for example, 99) and the communication indicated by the communication terminal identifier of the valid communication terminal information 131 stored in the storage unit 130
  • the number of terminals 100 for example, 99
  • the following is indicated.
  • the communication terminal 100 (for example, the communication terminal 100a) and the communication terminal 100 (for example, the communication terminals 100b and 100c) adjacent to the communication terminal 100 store the content indicated by the content identifier. It is. That is, the stored contents of each communication terminal 100 (for example, communication terminals 100a to 100c) are shown to be synchronized with each other with respect to the content indicated by the content identifier.
  • the adjacent communication terminal 100 is another communication terminal 100 that can directly communicate in the ad hoc mode of the wireless LAN by the communication unit 160.
  • the information distribution control unit 120 includes a control message transmission / reception unit 123, a content management unit 121, and a transmission terminal number estimation unit 122.
  • the control message transmission / reception unit 123 transmits / receives a control message to / from the adjacent communication terminal 100 via the data storage unit 150 and the communication unit 160.
  • the control message transmission / reception unit 123 generates a control message and broadcasts it when a predetermined timing for transmitting the control message arrives. For example, the control message transmission / reception unit 123 creates a content list included in the control message based on the content identifier and the possession flag indicated by the content information stored in the storage unit 130.
  • the control message transmission / reception unit 123 repeatedly transmits the control message at a predetermined cycle or as necessary.
  • the control message transmission / reception unit 123 When a plurality of contents are stored in the storage unit 130 of the communication terminal 100, the control message transmission / reception unit 123 generates and transmits a control message as shown below, for example. That is, the control message transmission / reception unit 123 generates a control message including a content list based on content identifiers of all content stored in the storage unit 130, for example. In addition, the control message transmission / reception unit 123 generates, for example, a control message including a content list based on a part of the content identifiers of the plurality of content identifiers and a control message including a content list based on the remaining content identifiers.
  • control message transmission / reception unit 123 may divide the content list and generate and transmit control messages each including the divided content list.
  • the control message transmission / reception unit 123 includes the following information in the control message when transmitting the control message including the divided content list. That is, information indicating that the content list is divided, information indicating how many of the divided content lists are included in the control message, and the like.
  • the control message transmission / reception unit 123 includes such information in the control message
  • the content list included in the plurality of control messages indicates that all the contents stored in the storage unit 130 of the communication terminal 100 are indicated. You can notify the destination.
  • the control message transmission / reception unit 123 extracts the communication terminal identifier of the transmission source from the control message. Then, the control message transmission / reception unit 123 generates communication terminal information 131 including the extracted communication terminal identifier and the expiration date information described above, and stores the communication terminal information 131 in the storage unit 130.
  • the control message transmission / reception unit 123 may perform the following processing when the communication terminal information 131 having the same communication terminal identifier as the newly generated communication terminal information 131 is stored in the storage unit 130. That is, the control message transmission / reception unit 123 may update the content of the old communication terminal information 131 already stored with the content of the new communication terminal information 131.
  • control message transmission / reception unit 123 may be configured to delete from the storage unit 130 the communication terminal information 131 that has reached the date and time indicated by the expiration date information.
  • the control message transmission / reception unit 123 performs the following processing when the content list included in the control message includes a content identifier other than the content identifier included in the content information stored in the storage unit 130. I do. That is, the control message transmission / reception unit 123 generates content information that includes the content identifier and sets the value of the possession flag to 0, and stores the content information in the storage unit 130.
  • the control message transmission / reception unit 123 When the content in which the corresponding content information 132 is stored in the storage unit 130 is newly stored in the transmission source of the control message or deleted from the transmission source, the control message transmission / reception unit 123 performs the following processing: . That is, the control message transmission / reception unit 123 updates the value indicated by the owned communication terminal number information included in the content information 132 corresponding to the content. Specifically, the control message transmission / reception unit 123 is included in the content information 132 when the content whose corresponding content information 132 is stored in the storage unit 130 is newly stored in the transmission source of the control message. Increase the value indicated by the number of owned communication terminals.
  • control message transmission / reception unit 123 stores information on the number of owned communication terminals included in the content information 132 Decrease the value indicated by.
  • control message transmission / reception unit 123 performs, for example, the following process in order to detect an increase or decrease in the number of communication terminals 100 in which each content is stored. That is, the control message transmission / reception unit 123 stores, for example, a list of communication terminals 100 in which each content is stored in the storage unit 130 and compares the list with the content list included in the control message, and communication in which each content is stored. An increase or decrease in the number of terminals 100 is detected. For example, the control message transmission / reception unit 123 stores the latest content list of control messages sequentially transmitted from other communication terminals 100 and receives a new control message from the communication terminal 100. Compare content lists with each other.
  • control message transmission / reception unit 123 detects a change in the content stored in the communication terminal 100 based on the content identifier described in each content list, thereby the communication terminal 100 of the communication terminal 100 in which the content is stored. Detect changes in numbers.
  • the content management unit 121 has a function for transmitting / receiving content to / from other communication terminals 100 via the data storage unit 150 and the communication unit 160, and a function for managing content stored in the storage unit 130.
  • the control message transmission / reception unit 123 receives a control message transmitted from another communication terminal 100
  • the content management unit 121 performs the following processing based on the content list included in the control message. That is, the content management unit 121 detects the difference between the content stored in the communication terminal 100 that is the transmission source of the control message and the content stored in the communication terminal 100 itself.
  • the content management unit 121 includes, for example, the content identifier of the content list included in the control message and the content information 132 in which the value of the holding flag is set to 1 in the storage unit 130. Compare with existing content identifiers.
  • the content management unit 121 determines that there is a difference between them, the content management unit 121 transmits / receives content corresponding to the difference to / from the communication terminal 100 that is the transmission source of the control message, and the content stored in the storage unit 130 and the communication The content stored in the terminal 100 is synchronized.
  • the content management unit 121 transmits / receives the content with the content identifier that is the difference, and synchronizes the storage content of the storage unit 130 and the storage content of the communication terminal 100.
  • the content management unit 121 When transmitting content, the content management unit 121 reads the content corresponding to the difference from the storage unit 130, and sends the data storage unit 150 and the communication unit 160 to the communication terminal 100 that is the transmission source of the control message. Send through. When receiving content from another communication terminal 100, the content management unit 121 assembles content data received via the communication unit 160 into content and stores the content in the storage unit 130.
  • the content management unit 121 transmits / receives content data in order to synchronize the storage content of the storage unit 130 and the storage content of the other communication terminal 100, either the push method or the pull method, Or use both. Which method is used is set in advance for each content, and is, for example, specified for each content in a content list included in the control message.
  • the push method is used when, when receiving a control message from another communication terminal 100, the communication terminal 100 itself transmits content data that the communication terminal 100 does not have but owns.
  • the content management unit 121 stores, from the storage unit 130, the content with the content identifier that is not included in the content list in the control message received from the other communication terminal 100 among the content stored in the storage unit 130. read out. Then, the content management unit 121 unicasts a message including the read content data to the communication terminal 100.
  • the content management unit 121 transmits the content not stored in the storage unit 130 among the content identifiers included in the content list in the control message received from the other communication terminal 100. Requests to the communication terminal 100. Specifically, for example, the content management unit 121 unicasts a request message for requesting transmission of the content to the other communication terminal 100 via the data storage unit 150 and the communication unit 160.
  • the content management unit 121 extracts content data from the message unicast transmitted from the other communication terminal 100 in accordance with the request message, assembles the content data, and stores the content in the storage unit 130.
  • the content management unit 121 performs update processing for setting the value of the possession flag of the content information 132 to 1.
  • the communication terminal 100 may transmit content data by the above-described method. However, if content data is transmitted simultaneously to a large number of communication terminals, the processing load increases, which may affect the performance of the communication terminal 100. . Therefore, it is assumed that the communication terminal 100 is preset with the number k of communication terminals capable of transmitting content simultaneously (k is an integer of 1 or more). Note that transmitting or receiving content data is also simply referred to as transmitting or receiving content.
  • the transmission terminal number estimation unit 122 performs the following processing based on a content list included in a control message from another communication terminal 100 received by the control message transmission / reception unit 123. That is, the transmission terminal number estimation unit 122 performs, for each content that is the storage content of the storage unit 130 of the own communication terminal 100, all of the communication terminal identifiers indicated by the own communication terminal 100 and the valid communication terminal information 131. It has a function of estimating the number of communication terminals that transmit the content in order to synchronize the communication terminals.
  • the transmission terminal number estimation part 122 is small among the sum of the communication terminal number estimated about each content, and the sum of the communication terminal number shown with the communication terminal identifier of the own communication terminal 100 and the effective communication terminal information 131. Information on the estimated number of communication terminals indicating the value is input to the transmission right adjusting unit 140.
  • the transmission right adjusting unit 140 has a function of controlling a time during which the communication terminal 100 can transmit data (this is called a transmission right). Specifically, whether or not the content can be transmitted is controlled for each time slot divided by a preset time interval in own communication terminal 100.
  • FIG. 5 is a block diagram illustrating a configuration example of the transmission right adjustment unit 140 of the communication terminal 100 according to the first embodiment of this invention.
  • the transmission right adjustment unit 140 includes a transmission probability calculation unit 141 and a transmission right determination unit 142.
  • the transmission probability calculation unit 141 can suppress the collision of data transmitted to the number (value) of communication terminals 100 indicated by the estimated communication terminal number information input by the transmission terminal number estimation unit 122 by CSMA / CA in the MAC layer.
  • a transmission probability used for adjustment is calculated.
  • the transmission probability is a ratio of a predetermined allowable number of communication terminals that transmit data to the total number of communication terminals.
  • the transmission probability calculation unit 141 sets the value indicated by the estimated communication terminal number information input by the transmission terminal number estimation unit 122 and the maximum number of communication terminals allowed to perform data transmission at the same timing. Based on this, the transmission probability is calculated. Then, the transmission probability calculation unit 141 notifies the transmission right determination unit 142 of the calculated transmission probability.
  • the transmission right determination unit 142 determines whether to permit data transmission in a predetermined period based on the transmission probability calculated by the transmission probability calculation unit 141. Specifically, the transmission right determination unit 142 determines a time slot in which data can be transmitted from predetermined time slots based on the transmission probability calculated by the transmission probability calculation unit 141. That is, the transmission right determination unit 142 determines whether to permit data transmission in the next time slot based on the transmission probability notified from the transmission probability calculation unit 141 and information on the time interval of a preset time slot. Is determined probabilistically. Then, the transmission right determination unit 142 notifies the data storage unit 150 of transmission permission in the time slot in the time slot in which transmission is permitted.
  • the data storage unit 150 stores control messages and content data transmitted from the control message transmission / reception unit 123 of the information distribution control unit 120 and the content management unit 121 to other communication terminals 100. Then, the data storage unit 150 inputs the stored data to the communication unit 160 in accordance with an instruction from the transmission right adjustment unit 140.
  • FIG. 6 is a block diagram illustrating a configuration example of the data storage unit 150 of the communication terminal 100 according to the first embodiment of this invention.
  • Data storage unit 150 includes a data division unit 151, a data block storage unit 152, and a data block transmission unit 153.
  • the data dividing unit 151 divides the control message and application program data (for example, content data to be transmitted) input from the information distribution control unit 120 into data blocks of a preset size. Then, the data dividing unit 151 stores the data block storage unit 152 in order from the top data block.
  • application program data for example, content data to be transmitted
  • the data block storage unit 152 is a storage medium such as a memory, and stores the data block received from the data division unit 151.
  • the data block transmission unit 153 sequentially reads the data blocks stored in the data block storage unit 152 and inputs them to the communication unit 160 during the period (time slot) in which the transmission right adjustment unit 140 permits transmission. Note that the order in which data blocks are read from the data block storage unit 152 is the same as the order in which the data blocks are stored in the data block storage unit 152.
  • the communication unit 160 performs network processing of a transport layer such as a physical layer (PHY: PHYsical Layer), MAC layer, IP layer, TCP (Transmission Control Protocol), and UDP (User Datagram Protocol).
  • a transport layer such as a physical layer (PHY: PHYsical Layer), MAC layer, IP layer, TCP (Transmission Control Protocol), and UDP (User Datagram Protocol).
  • FIG. 7 is a flowchart illustrating an operation in a case where the communication terminal 100 according to the first embodiment of this invention receives a control message or content and determines a timing for transmitting data.
  • the communication unit 160 When the communication unit 160 detects reception of a frame (data) in the physical layer (PHY) (step S101), the communication unit 160 transmits data to the information distribution control unit 120 according to network protocol processing such as a MAC layer, an IP layer, and a transport layer. Enter.
  • network protocol processing such as a MAC layer, an IP layer, and a transport layer.
  • the information distribution control unit 120 assembles the data received by the communication unit 160 and confirms whether or not the data is data according to the control message (step S102). If the application data is not data corresponding to the control message (N in step S102), that is, if the application data is content data, the information distribution control unit 120 proceeds to the processing in step S103. If the application data is data corresponding to the control message (Y in step S102), the information distribution control unit 120 proceeds to the process in step S106.
  • the content management unit 121 of the information distribution control unit 120 performs reception processing for managing data reception and data being received until reception of content data is completed (N in steps S101 and S102, S103 and S104). N).
  • the content management unit 121 When the content management unit 121 completes the reception of the content data (Y in step S104), the content management unit 121 stores the content based on the data received in the process of step S103 in the storage unit 130, and proceeds to the process of step S105.
  • step S105 the content management unit 121 updates the content information 132 stored in the storage unit 130 according to the new content based on the received data (step S105). Specifically, the content management unit 121 updates the value of the possession flag of the content information 132 of the content. More specifically, for example, the content management unit 121 updates the value of the possession flag from 0 indicating that no content is stored to 1 indicating that it is stored.
  • control message transmission / reception unit 123 has already generated the content information 132 of the content in accordance with the received control message and stored it in the storage unit 130.
  • the content management unit 121 checks whether the content information 132 of the content is stored in the storage unit 130. If the content information 132 of the content is not stored in the storage unit 130, the content management unit 121 sets a holding flag to a value (for example, 1) indicating that the communication terminal 100 stores the content information 132, and holds the held communication. Content information 132 in which 1 (owned by the communication terminal 100 that is the transmission source of the control message) is set in the terminal number information is newly generated. Then, the content management unit 121 stores the generated content information 132 in the storage unit 130. Note that, if the content information 132 of the content is already stored in the storage unit 130, the content management unit 121 updates the value of the possession flag as in the case of the pull type.
  • the control message transmitting / receiving unit 123 When receiving the control message (Y in step S102), the control message transmitting / receiving unit 123 generates the communication terminal information 131 of the communication terminal 100 that is the transmission source of the control message, or updates the expiration date information in the communication terminal information 131 I do. In addition, the control message transmission / reception unit 123 compares the content list included in the control message with the content information 132 stored in the storage unit 130, and updates or generates the content information 132 as necessary ( Step S106).
  • the control message transmission / reception unit 123 when a content identifier that is not included in the content information 132 is included in the content list included in the control message, the control message transmission / reception unit 123 newly generates content information 132 corresponding to the content. At this time, the control message transmission / reception unit 123 generates content information 132 including the content identifier of the content. Then, in the content information 132, the control message transmission / reception unit 123 sets a value (for example, 0) indicating that the own communication terminal does not hold in the holding flag, and sets 1 (the control message) in the holding communication terminal number information. Of the communication terminal 100 of the transmission source) is set.
  • a value for example, 0
  • the content identifier in the content information 132 is included in the content list included in the received control message, and the control message newly indicates that the content with the content identifier is stored in the communication terminal 100 that is the transmission source. If so, the following processing is performed.
  • control message transmission / reception unit 123 adds 1 to the value of the owned communication terminal number information in the content information 132 including the content identifier.
  • 1 is subtracted from the value of the retained communication terminal number information of the content information 132 including the content identifier of the content. Since the control message transmission / reception unit 123 detects the increase / decrease in the number of communication terminals 100 in which each content is stored, the description thereof is omitted.
  • the communication terminal 100 ends the process.
  • the transmission terminal number estimation unit 122 transmits the content corresponding to the updated content information 132 to the own communication terminal 100, and In order to synchronize with all the communication terminals indicated by the communication terminal identifiers of the valid communication terminal information 131, a process of estimating the number of communication terminals that transmit the content is performed (step S108).
  • the transmission terminal number estimation unit 122 estimates the number of communication terminals C i when transmitting the content i (i is a content identifier) corresponding to the content information 132 using the following equation (1). Process.
  • N i min (N i ⁇ k, N ⁇ N i ) (1)
  • N i is the number of communication terminals that store the content i.
  • k is the number of destination communication terminals to which the communication terminal 100 can simultaneously transmit content.
  • N is the number of communication terminals including the communication terminal 100 and the communication terminal 100 (also referred to as the adjacent communication terminal 100) adjacent to the communication terminal 100 indicated by the number of valid communication terminal information 131.
  • the number of destination communication terminals when all of the N i communication terminals 100 storing the content i transmit the content to the k other communication terminals 100 by “N i ⁇ k” in Expression (1). And the number of transmission source communication terminals when those communication terminals 100 further transmit the content i is shown. Further, “N ⁇ N i ” indicates the number of communication terminals in which the content i is not stored among the own communication terminal 100 and the adjacent communication terminal 100.
  • the transmission terminal number estimation unit 122 calculates the communication terminal number C i for all the contents i. Then, smaller one of the sum and a communication terminal number N of the sum of the communication terminal number C i for all content i, and the self communication terminal 100 and the adjacent communication terminal 100, for all of the content i, each communication This is the number C of communication terminals necessary to synchronize the stored contents of the terminals. Further, the number C of communication terminals is also the number of communication terminals that may perform communication at the same time in order to synchronize the stored contents of the communication terminals.
  • the number C of communication terminals is expressed by the following formula (2).
  • the transmission terminal number estimation unit 122 estimates that the value calculated using the equations (1) and (2) is the number C of communication terminals that may simultaneously communicate. Then, the transmission terminal number estimation unit 122 inputs estimated communication terminal number information indicating the estimated communication terminal number C to the transmission probability calculation unit 141 of the transmission right adjustment unit 140.
  • the transmission probability of the transmission right adjustment unit 140 is set to the following value as the number C of communication terminals.
  • the estimated communication terminal number information indicating 0 as the initial value of the communication terminal number C is input to the transmission probability calculation unit 141, even if a large number of adjacent communication terminals 100 transmit data simultaneously, Data can be sent freely as needed.
  • the transmission terminal number estimation unit 122 may input the maximum number of adjacent communication terminals with which the communication terminal 100 can communicate as an initial value of the communication terminal number C to the transmission probability calculation unit 141 of the transmission right adjustment unit 140.
  • the maximum number of adjacent communication terminals with which the communication terminal 100 can communicate as the initial value of the number of communication terminals C is input to the transmission probability calculation unit 141 of the transmission right adjustment unit 140, the situation (for example, the number of adjacent communication terminals) Accordingly, data transmission is controlled, so that collision can be suppressed.
  • the number C of communication terminals is not limited to the case of calculating using the formulas (1) and (2), and may be calculated by another method as long as the number of communication terminals that may transmit data simultaneously can be calculated. May be.
  • Transmission probability calculation unit 141 a communication terminal number C estimated by the processing of the transmission terminal number estimation section 122 is step S108, it is set in advance, and most of the destination communication terminal number N s transmit data at the same timing Is used to calculate the transmission probability p (step S109).
  • the transmission probability calculation unit 141 calculates the transmission probability p using, for example, the following equation (3).
  • the transmission probability p may be calculated by other methods.
  • the transmission probability calculating unit 141 notifies the transmission right determining unit 142 of the transmission probability p calculated using Expression (3).
  • the transmission right determination unit 142 stores the transmission probability p notified by the transmission probability calculation unit 141 in a storage unit (not shown; may be the storage unit 130).
  • the transmission right determination unit 142 is a right to transmit data based on the transmission probability p stored in the storage unit when the current time is a time corresponding to a preset time slot T s. It is determined whether or not to generate a transmission right (step S110).
  • a 100 communication terminal number C is estimated in the process of step S108, it is set in advance, when most of the destination communication terminal number N s transmit data at the same timing is 10, transmission probability
  • the transmission right determining unit 142 determines to generate the transmission right in the time slot T s with a probability of 10% when the time according to the preset time slot T s comes.
  • the transmission right determination unit 142 determines to generate the transmission right, the transmission right determination unit 142 notifies the data storage unit 150 to that effect.
  • the data storage unit 150 uses the transmission right generated in the process of step S110 for data transmission control. That is, the data storage unit 150 transmits data when notified from the transmission right determination unit 142 that the transmission right is determined to be generated.
  • the transmission right determination unit 142 may simultaneously determine transmission rights in M time slots set in advance. Then, the transmission right determining unit 142 stores the time slot identifier (time slot ID) for identifying those time slots, the time slot start time, and the presence / absence of the transmission right in the storage unit. The transmission right determination unit 142 may notify the data storage unit 150 of transmission permission / inhibition at a timing according to the start time of each time slot based on the storage contents in the storage unit.
  • FIG. 8 is a flowchart illustrating an operation in which the communication terminal 100 according to the first embodiment transmits a control message or content.
  • the control message transmission / reception unit 123 of the information distribution control unit 120 determines whether it is a predetermined timing for transmitting a control message that arrives at a predetermined cycle, for example, using a timer or the like (step S201). When the control message transmission / reception unit 123 determines that it is a predetermined timing (Y in step S201), the control message transmission / reception unit 123 broadcasts a control message (step S202).
  • control message transmission / reception unit 123 is a list of content identifiers of the content stored in the storage unit 130 by reading the content information 132 from the storage unit 130 and referring to the possession flag in the process of step S202. Create a content list.
  • the control message transmission / reception unit 123 generates a control message including the created content list and the identifier of the own communication terminal 100. Then, the control message transmission / reception unit 123 inputs the generated control message to the data storage unit 150, and the process proceeds to step S204.
  • the content management unit 121 of the information distribution control unit 120 determines whether there is a transmission request (step S203).
  • the transmission request includes a transmission request for transmitting a certain content from another communication terminal 100 (corresponding to the pull method described above) and a transmission request for transmitting a content to another communication terminal 100 (the push described above). Equivalent to the system).
  • the pull method for example, a request message is received from the other communication terminal 100, and in the case of the push method, the determination is made by referring to the content list included in the control message received from the other communication terminal 100.
  • the content management unit 121 determines that there is a transmission request (Y in step S203)
  • the content management unit 121 performs the following processing. That is, the content management unit 121 reads content data from the storage unit 130 in response to the transmission request. Then, the content management unit 121 divides the read data into a preset size called application data and inputs the data to the data storage unit 150 (step S204).
  • application data divided into data units is referred to as an application data unit.
  • the data dividing unit 151 further divides the application data unit divided in the process of step S204 into data units having a preset size (step S205). Data divided into a predetermined size is called a data block.
  • the data division unit 151 stores the data divided into data blocks in the data block storage unit 152 (step S206).
  • FIG. 9 is a flowchart illustrating an operation in which the communication terminal 100 according to the first embodiment of this invention transmits data.
  • the data block transmission unit 153 has decided to generate the transmission right from the transmission right determination unit 142. It is determined whether the notification has been received (step S302). If the data block transmission unit 153 has not been notified from the transmission right determination unit 142 that the transmission right has been determined (N in step S302), the data block transmission unit 153 has determined to generate the transmission right. Wait until notified. In addition, when the data block transmission unit 153 is notified from the transmission right determination unit 142 that the transmission right is determined to be generated (Y in step S302), the data block transmission unit 153 performs the following processing. That is, the data block transmission unit 153 checks whether or not a data block to be transmitted is stored in the data block storage unit 152 (step S303).
  • the data block transmission unit 153 ends the process.
  • the data block transmission unit 153 reads the data block from the data block storage unit 152. Then, the data block transmission unit 153 inputs the read data block to the communication unit 160.
  • the communication unit 160 When the data block is input, the communication unit 160 performs a transmission process (step S304), and proceeds to the process of step S302. The processes in steps S302 to S304 are repeated until all the data blocks to be transmitted are transmitted.
  • data (data block) transmission processing is performed in accordance with physical layer (PHY) processing by performing network processing in the transport layer such as TCP or UDP, network processing in the IP layer, and network processing in the MAC layer.
  • PHY physical layer
  • the data transmission process in the communication unit 160 is the same as the network process from the general physical layer to the transport layer, and thus detailed description thereof is omitted.
  • FIG. 10 is an explanatory diagram showing changes in the number of communication terminals.
  • the storage unit 130 of the self communication terminal 100 the content information 132 shown below and is stored. That is, the content information 132 includes content information for the content A whose content identifier is A and content information for the content B whose content identifier is B.
  • the possession flag is set to 1 in any content information about the contents A and B. That is, the contents A and B are both stored in the storage unit 130 of the communication terminal 100.
  • the value of the owned communication terminal number information is 99 in any content information regarding the contents A and B. That is, the contents A and B are stored in 99 adjacent communication terminals 100, and the contents A and B are stored in 100 communication terminals 100 when the own communication terminal 100 is included. .
  • the communication terminal 100 When the elapsed time t 3 directly content C from a communication terminal 100, or other numerous and becomes the value of the communication terminal number C C of the communication terminal 100 the communication terminal 100 for storing indirectly received by via the Gradually decreases. Therefore, as shown in FIG. 10, the value of the number C of communication terminals also gradually decreases.
  • the communication terminal 100 estimates the number C of communication terminals that are content transmission destinations based on the received control message and the content stored in the storage unit 130. Then, the communication terminal 100, the estimated communication terminal number C and the data transmission is based on the same time capable communication terminal number N s, calculates the transmission probability p. If the communication terminal 100 determines that data transmission is possible for each time slot managed independently by the communication terminal based on the calculated transmission probability p, the communication terminal 100 transmits content data. Therefore, when there are a large number of communication terminals 100 in the wireless communication system 500, the number of communication terminals 100 that simultaneously transmit data is controlled based on the probability.
  • the number of communication terminals increases, and an environment in which a large number of communication terminals are crowded within each other's communication range, collisions frequently occur in the CSMA / CA in the MAC layer, and usually the throughput decreases. Even in this case, an increase in the number of data collisions can be satisfactorily suppressed. And the fall of a throughput can be suppressed favorably and efficient data transmission can be made possible. In addition, reliable data distribution can be achieved.
  • each communication terminal 100 independently manages time slots divided at preset time intervals, and determines whether or not transmission is possible according to the time slots. That is, each communication terminal 100 in the wireless communication system 500 does not need to perform clustering or time synchronization. Therefore, it is possible to satisfactorily suppress an increase in the number of data collisions without performing time synchronization of the communication terminals 100, which is very difficult. And the fall of a throughput can be suppressed favorably and efficient data transmission can be made possible.
  • FIG. 11 is a block diagram illustrating a configuration example of the communication terminal 200 according to the second embodiment of this invention.
  • the communication terminal 200 according to the second embodiment of the present invention includes an information distribution control unit 220 and a storage unit 230. Since other configurations are the same as those in the communication terminal 100 of the first embodiment shown in FIG. 2, the corresponding components are denoted by the same reference numerals as those in FIG.
  • the information distribution control unit 220 of the communication terminal 200 according to the second embodiment of the present invention includes a transmission terminal number estimation unit 222.
  • the transmission terminal number estimation unit 122 in the first embodiment inputs estimated communication terminal number information indicating values calculated using the above-described equations (1) and (2) to the transmission right adjustment unit 140.
  • the transmission terminal number estimation unit 222 causes the new content not stored in the own communication terminal 200 and the adjacent communication terminal 200 (hereinafter referred to as the adjacent communication terminal 200) to the adjacent communication terminal 200 or the like.
  • the adjacent communication terminal 200 the adjacent communication terminal 200
  • the transmission terminal number estimation unit 222 determines that the number of communication terminals that perform communication in order to transmit the content has become zero.
  • the transmission terminal number estimation unit 222 of the present embodiment estimates the number of communication terminals by such an estimation method, and inputs communication terminal information indicating the estimation result to the transmission right adjustment unit 140.
  • new content that is not stored in the adjacent communication terminal 200 or the like is also referred to as new content.
  • FIG. 12 is an explanatory diagram illustrating a configuration example of the content information 232 stored in the storage unit 230. As illustrated in FIG. 12, the content information 232 includes estimated communication terminal number information in addition to the configuration of the content information 132 in the first embodiment.
  • the control message transmission / reception unit 123 newly generates content information 232 including estimated communication terminal number information according to the new content.
  • the estimated communication terminal number information is information indicating an estimated value of the number of communication terminals that may communicate simultaneously in order to transmit new content to all adjacent terminals 200 and the like.
  • FIG. 13 is a flowchart illustrating an operation in a case where the communication terminal 200 according to the second embodiment of this invention receives a control message or content and determines the timing for transmitting data.
  • steps S501 to S506, S509, and S510 are the same as the processes in steps S101 to S106, S109, and S110 shown in FIG.
  • the content management unit 121 Only when the content information 232 is generated by the processing of steps S505 and S506 corresponding to steps S105 and S106 in the operation of receiving data by the communication terminal 100 of the first embodiment, the content management unit 121 has the following: Processing may be performed. That is, the content management unit 121 may set the value indicated by the estimated communication terminal number information included in the content information 232 to 0, or may be a blank or other number. The estimated number of communication terminals is updated in the process of step S508.
  • the content management unit 121 updates the content information 232 as necessary in the processes of steps S505 and S506. Then, when the new content is stored in the adjacent communication terminal 200 or the like, or when one content is stored in all the adjacent communication terminals 200 or the like (Y in Step S507), the process proceeds to Step S508. When that is not right (N of step S507), a process is complete
  • whether or not new content is stored in the adjacent communication terminal 200 or the like is determined by whether or not the content management unit 121 has created new content information 232. Further, when the value indicated by the owned communication terminal number information of the content information 232 of one content becomes equal to the number of adjacent communication terminals 200 in the process of step S506, the one content is stored in all the adjacent communication terminals 200 and the like. It can be determined that
  • the transmission terminal number estimation unit 222 When the new content is stored in the adjacent communication terminal 200 or the like (Y in step S507), the transmission terminal number estimation unit 222 performs the following processing. That is, the transmission terminal number estimation unit 222 estimates the number of communication terminals for the new content in the process of step S508, and sets the estimated value as the estimated number of communication terminals of the content information 232 (step S508). Specifically, the transmission terminal number estimation unit 222 uses, for example, the following equation (4) to calculate the communication terminal number C i for transmitting new content i (i is a content identifier) to all the communication terminals 200. calculate.
  • C i min (k j , N ⁇ k j ) (4)
  • k is the number of destination communication terminals to which the communication terminal 200 can simultaneously transmit content.
  • N is the number of communication terminals that are indicated by the number of valid communication terminal information 131 and that includes the communication terminal 200 and the communication terminal 200 adjacent to the communication terminal 200.
  • j is the smallest positive integer that satisfies k j ⁇ N ⁇ k j .
  • the value of the number of communication terminals C i for transmitting the new content i to all the communication terminals 200 is the smaller one of “k j ” and “N ⁇ k j ”. It is shown that there is. Note that “k j ” indicates that the communication terminal 200 that first stores the content i transmits the content i to the k other communication terminals 200, and the communication terminal 200 that has received the content i further transmits the content i. This is the number of transmission communication terminals when it is assumed that “Nk j ” indicates that the communication terminal 200 that first stores the content i transmits the content i to the k other communication terminals 200, and the communication terminal 200 that receives the content i further stores the content i.
  • the maximum value of the number of communication terminals C i for transmitting the content i to all the communication terminals 200 is the content of the communication terminal 200 holding the content i to the k other communication terminals 200 as shown in Expression (4). transmitting a i and "k j", as better communication terminal 200 that does not possess a content i is smaller one of the "N-k j" for receiving content i from the communication terminal 200 that hold the content i presume.
  • Transmission terminal number estimating unit 222 calculates the communication terminal C i for all new content i has been detected and detecting a new content i, the estimated communication terminal number information of the content information 232 corresponding to each new content i Remember me. Then, the sum of the sum of the communication terminal number C i for estimating communication terminal number information of the content information 232 corresponding to all of the content i of the storage unit 230 is stored is shown, and the own communication terminal 200 and the adjacent communication terminal 200 The smaller value of the number N of communication terminals is the number C of communication terminals necessary for synchronizing the contents stored in the communication terminals 200 with respect to all the contents i.
  • expression communication terminal number C i for the content i for calculating the C but using the value of the estimated communication terminal number information of the corresponding content information 232 described in the operation in the first embodiment Formula (2) Since it is the same as that, the description is omitted.
  • the content management unit 121 updates the value indicated by the estimated communication terminal number information of the content information 232 to 0, and again updates the value of the communication terminal number C using Expression (2) (step S508).
  • the estimated number of communication terminals C i in the process of step S508 is set in the estimated number of communication terminals of the content information 232. And when the said content is memorize
  • FIG. 14 is an explanatory diagram showing the transition of the number of communication terminals calculated in the present embodiment.
  • the storage unit 230 of the self communication terminal 200 the content information 232 shown below and is stored. That is, the content information 232 includes content information about the content A whose content identifier is A and content information about the content B whose content identifier is B.
  • the possession flag is set to 1 in any content information about the contents A and B. That is, both the contents A and B are stored in the storage unit 230 of the own communication terminal 200.
  • the value of the owned communication terminal number information is 99 in any content information regarding the contents A and B. That is, the contents A and B are stored in 99 adjacent communication terminals 200, and the contents A and B are stored in 100 communication terminals 100 when the own communication terminal 200 is included. .
  • the transmission terminal number estimation unit 222 when new content i is added to the own communication terminal 200 or when new content i is notified by a control message received from another adjacent communication terminal 200, the transmission terminal number estimation unit 222. However, the number C i of communication terminals when the new content i is transmitted to all adjacent communication terminals 200 and the like is estimated, and the number C of communication terminals is estimated from the value of the estimated communication terminal number information of all contents. Thereby, the transmission probability calculation unit 141 uses the value of the number of communication terminals C i estimated for a certain content i to calculate the transmission probability p until the content i is transmitted to the adjacent communication terminal 200 or the like. It will be. Therefore, since the maximum number of communication terminals C i is estimated in advance and used until the content transmission is completed, it is considered that communication control that matches the actual communication situation becomes possible.
  • the processing load on the communication terminal 200 can be reduced.
  • FIG. 15 is a block diagram illustrating a configuration example of the communication terminal 300 according to the third embodiment of this invention.
  • the communication terminal 300 according to the third embodiment of the present invention includes an information distribution control unit 320 and a storage unit 330.
  • Other configurations are the same as those in the communication terminal 200 of the second embodiment shown in FIG. 11, and thus the corresponding components are denoted by the same reference numerals as those in FIG.
  • the information distribution control unit 320 of the communication terminal 300 includes a transmission terminal number estimation unit 322.
  • the transmission terminal number estimation unit 222 of the second embodiment detects that new content is stored in the adjacent communication terminal 200 or the like, the transmission terminal number estimation unit 222 estimates the number of communication terminals that perform communication to transmit the content. .
  • the transmission terminal number estimation unit 222 determines that the content is stored in all adjacent communication terminals 200 and the like, the transmission terminal number estimation unit 222 determines that the number of communication terminals that perform communication to transmit the content has become zero.
  • the transmission terminal number estimation unit 322 of the present embodiment performs the same processing as the transmission terminal estimation unit 222 of the second embodiment. Specifically, the transmission terminal number estimation unit 322 stores new content not stored in the own communication terminal 300 and the adjacent communication terminal 300 (hereinafter referred to as the adjacent communication terminal 300) in the adjacent communication terminal 300 or the like. When this is detected, the number of communication terminals that perform communication in order to transmit the content is estimated.
  • the transmission terminal number estimation unit 322 of this embodiment further estimates the time when data transmission is completed according to the size of the content, and when that time has arrived, It is determined that the number of communication terminals for the content has become zero. Then, the transmission terminal number estimation unit 322 notifies the transmission right adjustment unit 140 of the estimation result.
  • the storage unit 330 stores content information 332.
  • FIG. 16 is an explanatory diagram illustrating a configuration example of the content information 332 stored in the storage unit 330. As illustrated in FIG. 16, the content information 332 includes transmission completion time information in addition to the configuration of the content information 232 in the second embodiment.
  • the control message transmission / reception unit 123 When the control message transmission / reception unit 123 detects new content, the control message transmission / reception unit 123 newly generates content information 332 including transmission completion time information.
  • the control message transmission / reception unit 123 estimates a transmission time required for transmitting the new content to all adjacent communication terminals 300. Then, the control message transmission / reception unit 123 calculates a transmission completion time that is a time obtained by adding the estimated transmission time to the current time.
  • the transmission completion time information is information indicating the transmission completion time calculated by the control message transmission / reception unit 123.
  • FIG. 17 is a flowchart illustrating an operation in a case where the communication terminal 300 according to the third embodiment of the present invention receives a control message or content and determines a timing for transmitting data.
  • steps S601 to S606, S608, S610, and S611 are the same as the processes in steps S501 to S506 and S508 to S510 of the second embodiment shown in FIG. To do.
  • the content management unit 121 updates the content information 332 as necessary in the processes of steps S605 and S606. Then, when it is detected by the received control message that the new content is stored in the adjacent communication terminal 300 or the like, or when the transmission completion time of the new content has arrived (Y in step S607), the process of step S608 is performed. Transition. When that is not right (N of step S607), a process is complete
  • the transmission terminal number estimation unit 322 is the transmission terminal number estimation unit of the second embodiment.
  • the processing similar to the processing in step S508 by 222 is performed to estimate the number of communication terminals for the new content, and the estimated value is set as the estimated number of communication terminals in the content information 332 (step S608).
  • the transmission terminal number estimation unit 322 estimates the transmission time required for the adjacent communication terminal 300 or the like that first stores the new content to transmit the content to all other adjacent communication terminals 300 or the like.
  • This estimation of the required transmission time is specifically performed by the following method. For example, information indicating the size of the content is added to the content list of the control message, and the required transmission time of the content already received is stored in the storage means (not shown). The data transmission rate is estimated based on the required transmission time stored in the storage means and the information indicating the size of the content in the content list. A quotient obtained by dividing the size of the content by the estimated transmission rate can be estimated as a transmission time required for a certain communication terminal to transmit the content to another communication terminal. Further, by multiplying the estimated transmission time by the number obtained by adding a preset constant H to the value of j used in the estimation of the number of communication terminals in step S608, transmission for transmitting the content to all communication terminals. It can be estimated as the required time. Since the existing technique is used for estimating the data transmission rate, detailed description thereof is omitted.
  • the reason for estimating the product of multiplying the estimated transmission time by the sum of j and H as the required transmission time will be described.
  • the content holding communication terminal (regardless of whether or not they are the same communication terminal) needs to transmit j + 1 times in order to synchronize the stored contents of the other communication terminals.
  • time corresponding to the number of transmissions of j + 1 or more is required. Therefore, by setting this difference as H, the estimated transmission time can be made closer to the actual transmission time.
  • the content management unit 121 sets a time obtained by adding the required transmission time estimated by such a method to the current time as the transmission completion time information of the content information 332 of the new content (step S609).
  • the content management unit 121 performs the following processing: Do. That is, the content management unit 121 searches for another content that will be the next transmission completion time from the time indicated by the transmission completion time information of the content information 332 of one content. Then, in order to detect that the time indicated by the transmission completion time information of the content information 332 of the other content has arrived, the transmission completion time information indicating the time is stored in the storage unit 330 (step S609). Then, the process proceeds to step S610.
  • FIG. 18 is an explanatory diagram showing the transition of the number of communication terminals calculated in the present embodiment.
  • the storage unit 330 of the self communication terminal 300 the content information 332 shown below and is stored. That is, the content information 332 includes content information for content A whose content identifier is A and content information for content B whose content identifier is B.
  • the possession flag is set to 1 in any content information about the contents A and B. That is, both the contents A and B are stored in the storage unit 330 of the own communication terminal 300.
  • the value of the owned communication terminal number information is 99 in any content information regarding the contents A and B. That is, the contents A and B are stored in 99 adjacent communication terminals 300, and the contents A and B are stored in 100 communication terminals 300 when the own communication terminal 300 is included. .
  • the transmission terminal number estimation unit 322 estimates the time when the transmission of the data of the content C is completed, and causes the storage unit 330 to store transmission completion time information indicating the estimation result as a part of the content information 332. In addition, the transmission terminal number estimation unit 322 stores the estimation result in the storage unit 330 as transmission completion time information indicating the transmission completion time that arrives first.
  • the transmission completion time information stored in the storage unit 330 as the transmission completion time that comes first is still the transmission completion time information of the content C.
  • a control message for detecting that each content is held in all the communication terminals 300 is lost. Even in this case, it is possible to estimate the time when each content is held in all the communication terminals 300, and the number C of communication terminals can be estimated more strictly.
  • FIG. 19 is a block diagram illustrating an example of a wireless communication system 501 configured such that each communication terminal performs communication via the access point 400.
  • the communication terminals 100 a to 100 h communicate with each other via the access point 400.
  • each component of the communication terminals 100, 200, and 300 in each embodiment described above may be realized by using a semiconductor processing component including an ASIC (Application Specific Integrated Circuit). Further, these components may be realized by causing a computer system including at least one processor (for example, a microprocessor (MPU (Micro Processing Unit)) or a DSP (Digital Signal Processor)) to execute a program. . Specifically, the information distribution control unit 120, the transmission right adjustment unit 140, the data storage unit 150, and the storage unit 130 in the first embodiment, and the information distribution control unit 220 and the transmission right adjustment unit in the second embodiment.
  • MPU Micro Processing Unit
  • DSP Digital Signal Processor
  • One or a plurality of programs including a group of instructions for causing the computer system to perform an algorithm related to the above-described algorithm may be created, and the computer may execute the programs.
  • Non-transitory computer readable media include various types of recording media.
  • Non-transitory computer-readable media include, for example, magnetic recording media (for example, flexible disks, magnetic tapes, hard disks), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Compact Read Only Memory), CD-Rs. (Compact Disc-Recordable), CD-R / W (Compact Disc-Rewriteable), semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, and RAM (Random Access Memory) It is.
  • the program may be provided to the computer by various types of temporary computer readable media.
  • Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves.
  • the temporary computer-readable medium can provide the program to the computer via a wired communication path such as an electric wire or an optical fiber, or a wireless communication path.
  • the transmission probability calculation unit 141 uses the number C of communication terminals and a preset number N s of communication terminals that can transmit data at the same timing as shown in Equation (3).
  • the transmission probability p which is an adjustment reference value was calculated by the calculation method.
  • the probability ⁇ that the number of communication terminals that can perform data transmission at the same timing is N s is set, and the probability p that the number of communication terminals that perform data transmission at the same timing is N s or less is the probability ⁇ .
  • the transmission probability p is preferably the maximum value among the probabilities p satisfying Equation (6).
  • the transmission terminal number estimation unit 122 estimates the number C of communication terminals every time the content information 132 is updated in the processes of steps S107 and S108, and transmits the estimation result to the transmission probability calculation unit 141. To enter.
  • the transmission terminal number estimation unit 122 is configured to perform the process of step S108 for each preset transmission terminal number update time to estimate the number of communication terminals, and to input the estimation result to the transmission probability calculation unit 141. It may be.
  • the transmission probability calculation unit 141 starts the transmission probability calculation process of step S109 when the number of communication terminals is notified from the transmission terminal number estimation unit 122. However, if the number of communication terminals C and the number of adjacent communication terminals 100 have not changed since the previous notification, the transmission probability calculation unit 141 does not perform the transmission probability calculation process based on the current notification, and the previously calculated transmission probability. You may be comprised so that it may utilize.
  • the transmission terminal number estimation unit estimates the communication terminal number C for each preset transmission terminal number update time.
  • the estimated result may be notified to the transmission probability calculation unit 141.
  • the transmission probability calculation unit 141 performs the previously calculated transmission if the number of communication terminals C and the number of adjacent communication terminals 100 have not changed since the previous notification in the processing of steps S509 and S610 according to the estimation result. You may be comprised so that a probability may be utilized.
  • the data block transmission unit 153 performs the process of inputting data to the communication unit 160 in response to the notification from the transmission right determination unit 142 in the process of step S302.
  • the data block transmission unit 153 may be configured to inquire the transmission right determination unit 142 about transmission permission for each data block. .
  • the data block transmission unit 153 may be configured to input the data block to the communication unit 160 in response to the transmission permission notification from the transmission right determination unit 142.
  • the transmission right determination unit 142 may notify the data block transmission unit 153 that the next inquiry time and transmission is not permitted.
  • the next inquiry time is, for example, a time corresponding to the end time of the time slot notified of the transmission disapproval this time. That is, the next inquiry time is, for example, a time corresponding to the start time of the time slot for determining whether or not to generate the transmission right next time.
  • the transmission right determining unit 142 is configured to simultaneously determine the transmission right of M time slots, the next inquiry time corresponds to the end time of the Mth time slot. It's time.
  • the transmission right determination unit 142 determines whether transmission is possible for each time slot, and the data block transmission unit 153 can transmit data based on the determined transmission permission. If there is, the method can be appropriately changed.
  • all data input from the information distribution control unit to the communication unit 160 is controlled by the data storage unit 150 based on the transmission probability.
  • transmission priority may be set according to the data type, size, content, and the like.
  • the information distribution control unit is configured to directly input data set with a higher level of priority to the communication unit 160 and transmit the data without performing transmission control based on the transmission probability by the data storage unit 150. May be.
  • the data block may be directly input to the communication unit 6 after the data dividing unit 151 of the data storage unit 150 divides the data into data blocks. According to such a configuration, transmission control can be performed based on priority.
  • FIG. 20 is a block diagram illustrating a configuration example of the communication terminal 10 according to the fourth embodiment of this invention.
  • the communication terminal 10 according to the fourth embodiment of the present invention includes a data storage terminal number counting unit 21, a communication terminal number estimating unit 22, an adjustment reference value calculating unit 41, a determining unit 42, and data transmission. Part 60 is included.
  • the data storage terminal number counting unit 21 corresponds to the content management unit 121 shown in FIGS.
  • the transmission terminal number estimation unit 22 corresponds to the transmission terminal number estimation units 122, 222, and 322 shown in FIGS.
  • the adjustment reference value calculation unit 41 corresponds to the transmission probability calculation unit 141 illustrated in FIG.
  • the determination unit 42 corresponds to the transmission right determination unit 142 illustrated in FIG.
  • the data transmission unit 60 corresponds to the data storage unit 150 shown in FIGS.
  • the data storage terminal number counting unit 21 is based on each data information indicating the data transmitted from another communication terminal and stored in the other communication terminal, and the contents stored in the storage means of the own communication terminal. The number of stored communication terminals is counted for each data.
  • the communication terminal number estimating unit 22 estimates the number of communication terminals that transmit data at the same timing based on the count result of the data storage communication terminal number counting unit 21.
  • the adjustment reference value calculation unit 41 calculates an adjustment reference value for limiting the number of communication terminals estimated by the communication terminal number estimation unit 22 to a preset allowable number or less.
  • the determination unit 42 determines whether to permit transmission of data stored in the storage unit based on the adjustment reference value calculated by the adjustment reference value calculation unit 41.
  • the data transmission unit 60 transmits data to a communication terminal in which data is not stored when the determination unit 42 permits transmission of data.
  • Adjustment reference value calculation unit Determination unit 60 Data transmission unit 120, 220, 320 Information distribution control unit 121 Content management unit 122, 222, 322 transmission terminal number estimation unit 123 control message transmission / reception unit 130, 230, 330 storage unit 131 communication terminal information 132, 232, 332 content information 140 transmission right adjustment unit 141 transmission probability calculation unit 142 transmission right determination unit 150 data storage unit 151 Data division unit 152 Data block storage unit 153 Data block transmission unit 160 Communication unit 400 Access point

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

[課題]通信ネットワークに接続されている通信端末数が増加してもデータの衝突回数の増加を良好に抑制することができる通信端末を提供する。 [解決手段]データ記憶端末数カウント部21が、データごとに、記憶されている通信端末の数をカウントする。通信端末数推定部22が、データ記憶通信端末数カウント部21のカウント結果に基づいて、互いに同じタイミングでデータを送信する通信端末の数を推定する。調整基準値算出部41が、通信端末数推定部22が推定した通信端末の数を予め設定された許容数以下に制限するための調整基準値を算出する。決定部42が、調整基準値算出部41が算出した調整基準値に基づいて、記憶手段に記憶されているデータの送信を許可するか否かを決定する。データ送信部60が、決定部42がデータの送信を許可した場合に、データが記憶されていない通信端末にデータを送信する。

Description

通信端末、通信方法、通信用プログラムが記憶された記憶媒体、および通信システム
 本発明は通信端末、通信方法、通信用プログラムが記憶された記憶媒体、および通信システムに関し、特に、通信ネットワークを利用する通信端末、通信方法、通信用プログラムが記憶された記憶媒体、および通信システムに関する。
 近年、スマートフォンやタブレット型通信端末等の無線LAN(Local Area Network、Wi-Fi(登録商標、Wireless Fidelity)ともいう)機能を有する通信端末の急速な普及によって、無線LANの利用が広まっている。無線LANには、IEEE(The Institute of Electronical and Electronics Engineers, Inc.)によって仕様が策定されて、広く普及したIEEE802.11a、b、g、n等の規格がある。
 IEEE802.11a、b、g、n等の無線LANの規格では、フレームの衝突(Collision)を検出するための動作は規定されていない。そのため、無線LANの通信端末は、MAC(Media Access Control)層において、CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance:搬送波感知多重アクセス/衝突回避方式)というアクセス制御方法を用いている。無線LANに接続されている通信端末は、使用する伝送媒体(無線周波数)の信号を受信して、データ送信を開始する前に現在通信を行っている他の通信端末が存在するか否かを確認(Carrier Sense)する。
 無線LANに接続されている各通信端末は、使用しようとしている無線周波数帯を使用して現在通信を行っている他の通信端末が存在せず、通信可能であると判断した場合に、生成した乱数に応じた待ち時間が経過した後に通信を開始(Multiple Access)することで、送信したフレーム(データ)の衝突を回避している(Collision Avoidance)。
 ここで、各通信端末が生成した乱数が互いに近い値になるとデータの送信タイミングが近くなり、データの衝突が発生する。各通信端末はACK(ACKnowledgement:肯定応答)を受信することによってデータの着信を確認しているが、このような衝突が発生した場合、ACKは送信されない。したがって、データを送信してから所定時間を経過してもACKを受信しなかった各通信端末は、再度乱数を生成し、乱数に応じた待ち時間が経過してからデータを再送する。
 特許文献1には、近隣の通信端末の動作状態や動作タイミングを示す状態通知信号を受信し、近隣の通信端末の通信状況に基づいて自通信端末のタイムスロット幅や通信タイミング等を制御して、無線通信における衝突を回避する方法が記載されている。
 また、特許文献2には、データ送信をランダムに遅延させ、パケット衝突確率を減少させる方法が記載されている。
 非特許文献1には、移動により通信端末同士が接近した際に、エピデミック(Epidemic)法に基づいて記憶内容を示す情報を交換し、記憶内容を同期させる方法について開示されている。図21は、エピデミック法によって記憶内容を同期させる通信システムの例を示す説明図である。図21に示すように、通信端末1,2は、自身が記憶しているコンテンツのリストであるサマリーベクタ(Summary Vector)を含む制御メッセージを隣接する他の通信端末2,1と周期的に送受信して、サマリーベクタを交換する。そして、各通信端末1,2は、他の通信端末2,1から受信したサマリーベクタに基づいて、制御メッセージの送信元の他の通信端末2,1に記憶されているコンテンツと自通信端末1,2が記憶しているコンテンツとの差分を検出する。図21に示す例では、通信端末1にコンテンツA,B,Cが記憶され、通信端末2にコンテンツA,Bが記憶されている。したがって、通信端末1に記憶されているコンテンツと通信端末2に記憶されているコンテンツとの差分はコンテンツCである。通信端末2は、その差分を無くすように制御メッセージの送信元の通信端末1にコンテンツCの送信を要求する。通信端末1は、要求に応じてコンテンツCを通信端末2に送信する。以上のような処理によって、図21に示す通信システムにおける通信端末1と通信システム2との間で差分のコンテンツが送受信される。そして、各通信端末1,2に記憶されているコンテンツが互いに同一になり、記憶内容が同期される。
特開2005-253012号公報 特開2007-184937号公報
A. Vahdat, D. Becker, "Epidemic Routing for Partially-Connected Ad Hoc Networks, " Tech. Report CS-200006, Duke University, Apr. 2000
 無線LANの同じ無線周波数帯を利用して互いに記憶内容を同期する通信端末が少ない場合には、データの衝突はほとんど発生しないが、通信端末数が増加するとデータの衝突が発生する確率が上昇し、データの衝突が発生する回数が増加する。その結果、各通信端末間の通信でスループットが低下し、無線LANの利用が困難になるという問題が生じる。
 この問題を解決するため、例えば、無線LANに接続されている全通信端末(ノードともいう)を複数個ずつにクラスタ化する。また、全ノードで統一されたタイムスロット(一定の時間間隔に区切られたデータ伝送用のチャネルである通信時間帯)に基づいて各ノードが動作するようにそれぞれ制御する。そして、データを送信する機会(タイムスロット)をクラスタ毎に各ノードへ割り当てるという方法が考えられる。
 データを送信する機会(タイムスロット)をクラスタ毎に各ノードへ割り当てるためには、全てのノードでタイムスロットの開始時刻等を同期させる必要がある。しかし、各ノードの時刻を同期させることは非常に困難であるという問題がある。つまり、通信端末数が増加するとデータの衝突が発生する確率が上昇し、データの衝突が発生する回数が増加するという問題を容易に解決することはできない。
 そこで、本発明は、通信ネットワークに接続されている通信端末数が増加してもデータの衝突回数の増加を良好に抑制することができる通信端末、通信方法、通信用プログラムが記憶された記憶媒体、および通信システムを提供することを目的とする。
 本発明による通信端末は、他の通信端末からそれぞれ送信され、当該他の通信端末に記憶されているデータを示すそれぞれのデータ情報と、自通信端末の記憶手段における記憶内容とに基づいて、データごとに、記憶されている通信端末の数をカウントするデータ記憶端末数カウント手段と、データ記憶通信端末数カウント手段のカウント結果に基づいて、互いに同じタイミングでデータを送信する通信端末の数を推定する通信端末数推定手段と、通信端末数推定手段が推定した通信端末の数を予め設定された許容数以下に制限するための調整基準値を算出する調整基準値算出手段と、調整基準値算出手段が算出した調整基準値に基づいて、記憶手段に記憶されているデータの送信を許可するか否かを決定する決定手段と、決定手段がデータの送信を許可した場合に、データが記憶されていない通信端末にデータを送信するデータ送信手段とを備えることを特徴とする。
 本発明による通信方法は、他の通信端末からそれぞれ送信され、当該他の通信端末に記憶されているデータを示すそれぞれのデータ情報と、自通信端末の記憶手段における記憶内容とに基づいて、データごとに、記憶されている通信端末の数をカウントするデータ記憶端末数カウントステップと、データ記憶端末数カウントステップにおけるカウント結果に基づいて、互いに同じタイミングでデータを送信する通信端末の数を推定する通信端末数推定ステップと、通信端末数推定ステップで推定した通信端末の数を予め設定された許容数以下に制限するための調整基準値を算出する調整基準値算出ステップと、調整基準値算出ステップで算出した調整基準値に基づいて、記憶手段に記憶されているデータの送信を許可するか否かを決定する決定ステップと、決定ステップでデータの送信を許可した場合に、データが記憶されていない通信端末にデータを送信するデータ送信ステップとを含むことを特徴とする。
 本発明による通信用プログラムが記憶された記憶媒体は、コンピュータに、他の通信端末からそれぞれ送信され、当該他の通信端末に記憶されているデータを示すそれぞれのデータ情報と、自通信端末の記憶手段における記憶内容とに基づいて、データごとに、記憶されている通信端末の数をカウントするデータ記憶端末数カウント処理と、データ記憶端末数カウント処理におけるカウント結果に基づいて、互いに同じタイミングでデータを送信する通信端末の数を推定する通信端末数推定処理と、通信端末数推定処理で推定した通信端末の数を予め設定された許容数以下に制限するための調整基準値を算出する調整基準値算出処理と、調整基準値算出処理で算出した調整基準値に基づいて、記憶手段に記憶されているデータの送信を許可するか否かを決定する決定処理と、決定処理でデータの送信を許可した場合に、データが記憶されていない通信端末にデータを送信するデータ送信処理とを実行させることを特徴とする通信用プログラムが記憶されている。
 本発明による通信システムは、いずれかの態様の通信端末を複数含むことを特徴とする。
 本発明によれば、通信ネットワークに接続されている通信端末数が増加してもデータの衝突回数の増加を良好に抑制することができる。
本発明の第1の実施形態の通信端末を含む無線通信システムの構成例を示すブロック図である。 本発明の第1の実施形態の通信端末の構成例を示すブロック図である。 第1の実施形態の通信端末情報の構成例を示す説明図である。 第1の実施形態の記憶部に記憶されるコンテンツ情報の構成例を示す説明図である。 本発明の第1の実施形態の通信端末の送信権調整部の構成例を示すブロック図である。 本発明の第1の実施形態の通信端末のデータ蓄積部の構成例を示すブロック図である。 本発明の第1の実施形態の通信端末が制御メッセージ、またはコンテンツを受信して、データを送信するタイミングを決定する場合の動作を示すフローチャートである。 第1の実施形態の通信端末が制御メッセージ、またはコンテンツを送信する動作を示すフローチャートである。 本発明の第1の実施形態の通信端末がデータを送信する動作を示すフローチャートである。 第1の実施形態の通信端末数の推移を示す説明図である。 本発明の第2の実施形態の通信端末の構成例を示すブロック図である。 第2の実施形態の記憶部に記憶されるコンテンツ情報の構成例を示す説明図である。 本発明の第2の実施形態の通信端末が制御メッセージ、またはコンテンツを受信して、データを送信するタイミングを決定する場合の動作を示すフローチャートである。 第2の実施形態の通信端末数の推移を示す説明図である。 本発明の第3の実施形態の通信端末の構成例を示すブロック図である。 第3の実施形態の記憶部に記憶されるコンテンツ情報の構成例を示す説明図である。 本発明の第3の実施形態の通信端末が制御メッセージ、またはコンテンツを受信して、データを送信するタイミングを決定する場合の動作を示すフローチャートである。 第3の実施形態の通信端末数の推移を示す説明図である。 各通信端末がアクセスポイントを介して通信を行うように構成された無線通信システムの例を示すブロック図である。 本発明の第4の実施形態の通信端末の構成例を示すブロック図である。 エピデミック法によって記憶内容を同期させる通信システムの例を示す説明図である。
 実施形態1.
 本発明の第1の実施形態の通信端末100について、図面を参照して説明する。図1は、本発明の第1の実施形態の通信端末100を含む無線通信システム500の構成例を示すブロック図である。図1には、通信端末100の例として通信端末100a~100hが示されているが、本例では、通信端末100a~100hは互いに同じ構成を有しているとして、通信端末100と総称する。通信端末100は、無線通信機能を有する。そして、無線通信機能は、例えば、無線LAN接続機能であり、本実施形態では、無線通信システム500に含まれている各通信端末100は、例えば、アドホックモードで互いの間の通信が可能であるとする。なお、各通信端末100a~100hは、有線通信ネットワークに接続され、当該有線通信ネットワークを介して互いの間の通信を行うように構成されていてもよい。
 図2は、本発明の第1の実施形態の通信端末100の構成例を示すブロック図である。図2に示すように、本発明の第1の実施形態の通信端末100は、情報配信制御部120、記憶部130、送信権調整部140、データ蓄積部150、および通信部160を含む。
 情報配信制御部120、送信権調整部140、およびデータ蓄積部150は、例えば、プログラム制御に従って処理を実行するCPU(Central Processing Unit)である。具体的には、情報配信制御部120および送信権調整部140は、例えば、通信端末100に搭載されたOS(Operating System)に基づいて動作するアプリケーションソフトウェアの制御に従って処理を実行するCPUである。記憶部130は、例えば、メモリである。通信部160は、例えば、OSのカーネルによって制御される無線LAN通信モジュールである。
 記憶部130には、通信端末情報131およびコンテンツ情報132が記憶されている。また、記憶部130には、コンテンツが記憶されている。なお、コンテンツは、テキストファイル、画像データファイル、および音声データファイルのいずれであってもよいし、テキスト、画像、および音声のうちいずれか2つ以上が混在したマルチメディアデータのファイルであってもよい。また、通信端末100の記憶部130に記憶されていることを、単に、通信端末100に記憶されている、ということがある。
 図3は、通信端末情報131の構成例を示す説明図である。各通信端末100は、所定の周期で、記憶部130に記憶されているコンテンツの識別子のリストであるコンテンツリストと、送信元の通信端末100を示す通信端末識別子とを含む制御メッセージを互いに送受信する。そして、図3に示すように、通信端末情報131は、他の通信端末100から受信した制御メッセージに含まれる当該制御メッセージの送信元を示す通信端末識別子と、当該通信端末情報131の有効期限を示す有効期限情報とを含むように生成される。
 通信端末識別子は、例えば、IP(Internet Protocol)アドレスや、ユーザ名、通信端末名などによって、制御メッセージの送信元を示す。通信端末100(例えば、通信端末100a)の記憶部130には、アドホックモードで通信可能な他の通信端末100(例えば、通信端末100b~100h)を示す通信端末識別子を含む通信端末情報131がそれぞれ記憶されている。
 有効期限情報は、例えば、制御メッセージを受信した日時から時間T経過後の日時を示す情報である。有効期限情報によって示される日時が到来すると、通信端末情報131は失効したものとして取り扱われる。具体的には、例えば、通信端末情報130は、有効期限情報によって示される日時が到来した後に記憶部130から消去される。
 時間Tを長くし過ぎると、例えば、通信端末識別子によって示される通信端末100hが通信端末100aとアドホックモードで互いの間の通信が不可能な場所に移動した後も通信端末情報が通信端末100aの記憶部130に記憶され続けることになる。また、時間Tを短くし過ぎると、例えば、通信端末識別子によって示される通信端末100hが通信端末100aとアドホックモードで互いの間の通信が可能であっても、通信端末情報が通信端末100aの記憶部130から消去されることになる。したがって、時間Tは、制御メッセージの送信周期よりも長い時間が適切である。
 図4は、記憶部130に記憶されるコンテンツ情報132の構成例を示す説明図である。図4に示すように、コンテンツ情報132は、例えば、コンテンツ識別子と保有フラグと保有通信端末数情報とを含む。
 コンテンツ識別子は、無線通信システム500においてコンテンツを識別するために予め決められた識別子である。保有フラグは、自通信端末100にコンテンツ識別子によって示されるコンテンツが記憶されているか否かを示すフラグである。具体的には、例えば、コンテンツ識別子によって示されるコンテンツが記憶部130に記憶されていれば保有フラグの値が1にセットされ、記憶されていなければ保有フラグの値が0にセットされる。
 保有通信端末数情報は、記憶部130に記憶されている有効な(有効期限が未だ到来していない)通信端末情報131の通信端末識別子に示されている通信端末100のうち、当該コンテンツを記憶している通信端末100の数を示す情報である。
 例えば、保有フラグの値が1にセットされ、保有通信端末情報によって示される値(例えば、99)と記憶部130に記憶されている有効な通信端末情報131の通信端末識別子に示されている通信端末100の数(例えば、99)とが同じである場合に、以下のことが示される。
 すなわち、自通信端末100(例えば、通信端末100a)および自通信端末100に隣接する通信端末100(例えば、通信端末100b,100c)がいずれもコンテンツ識別子によって示されるコンテンツを記憶していることが示される。つまり、各通信端末100(例えば、通信端末100a~100c)の記憶内容は、コンテンツ識別子によって示されるコンテンツについて互いに同期されていることが示される。なお、隣接する通信端末100とは、通信部160による無線LANのアドホックモードで直接に通信できる他の通信端末100のことである。
 情報配信制御部120は、制御メッセージ送受信部123と、コンテンツ管理部121と、送信端末数推定部122とを含む。
 制御メッセージ送受信部123は、データ蓄積部150、および通信部160を介して隣接する通信端末100と互いに制御メッセージを送受信する。制御メッセージ送受信部123は、制御メッセージを送信する所定のタイミングが到来した場合に、制御メッセージを生成してブロードキャスト送信する。なお、制御メッセージ送受信部123は、例えば、記憶部130に記憶されているコンテンツ情報によって示されるコンテンツ識別子および保有フラグに基づいて、制御メッセージに含まれるコンテンツリストを作成する。
 制御メッセージ送受信部123は、所定の周期、または必要に応じて、繰り返し制御メッセージを送信する。制御メッセージ送受信部123は、自通信端末100の記憶部130に複数のコンテンツが記憶されている場合、例えば、以下に示すような制御メッセージを生成して送信する。すなわち、制御メッセージ送受信部123は、例えば、記憶部130に記憶されている全てのコンテンツのコンテンツ識別子によるコンテンツリストを含む制御メッセージを生成する。また、制御メッセージ送受信部123は、例えば、当該複数のコンテンツのコンテンツ識別子のうち一部のコンテンツ識別子によるコンテンツリストを含む制御メッセージと残部のコンテンツ識別子によるコンテンツリストを含む制御メッセージとをそれぞれ生成する。
 つまり、制御メッセージ送受信部123は、コンテンツリストを分割し、分割後のコンテンツリストを含む制御メッセージをそれぞれ生成して送信してもよい。なお、制御メッセージ送受信部123は、分割したコンテンツリストを含む制御メッセージを送信する場合に、以下に示す情報を当該制御メッセージに含ませる。すなわち、コンテンツリストが分割されていることを示す情報や、当該制御メッセージに含まれているコンテンツリストが、いくつに分割されたうちの何番目であるのかをそれぞれ示す情報等である。制御メッセージ送受信部123が制御メッセージにそのような情報を含ませることにより、複数の制御メッセージに含まれるコンテンツリストによって、自通信端末100の記憶部130に記憶されている全コンテンツが示されることを送信先に通知することができる。
 制御メッセージ送受信部123は、制御メッセージを受信した場合に、当該制御メッセージから送信元の通信端末識別子を抽出する。そして、制御メッセージ送受信部123は、抽出した通信端末識別子と前述した有効期限情報とを含む通信端末情報131を生成して記憶部130に記憶させる。
 なお、制御メッセージ送受信部123は、新たに生成した通信端末情報131と同じ通信端末識別子の通信端末情報131が記憶部130に記憶されている場合には、以下の処理を行ってもよい。すなわち、制御メッセージ送受信部123は、既に記憶されている古い通信端末情報131の内容を新たな通信端末情報131の内容に更新してもよい。
 また、制御メッセージ送受信部123は、有効期限情報によって示される日時が到来した通信端末情報131を記憶部130から消去するように構成されていてもよい。
 制御メッセージ送受信部123は、制御メッセージに含まれているコンテンツリストに、記憶部130に記憶されているコンテンツ情報に含まれているコンテンツ識別子以外のコンテンツ識別子が含まれている場合に、以下の処理を行う。すなわち、制御メッセージ送受信部123は、当該コンテンツ識別子を含み、保有フラグの値を0にセットしたコンテンツ情報を生成して記憶部130に記憶させる。
 対応するコンテンツ情報132が記憶部130に記憶されているコンテンツが、制御メッセージの送信元に新たに記憶されたり、送信元から消去されたりした場合に、制御メッセージ送受信部123は以下の処理を行う。すなわち、制御メッセージ送受信部123は、当該コンテンツに対応するコンテンツ情報132に含まれる保有通信端末数情報が示す値を更新する。具体的には、制御メッセージ送受信部123は、対応するコンテンツ情報132が記憶部130に記憶されているコンテンツが制御メッセージの送信元に新たに記憶された場合には、当該コンテンツ情報132に含まれる保有通信端末数情報が示す値を増加させる。また、制御メッセージ送受信部123は、対応するコンテンツ情報132が記憶部130に記憶されているコンテンツが制御メッセージの送信元から消去された場合には、当該コンテンツ情報132に含まれる保有通信端末数情報が示す値を減少させる。
 なお、制御メッセージ送受信部123は、各コンテンツが記憶されている通信端末100の数の増減を検出するために、例えば、以下のような処理を行う。すなわち、制御メッセージ送受信部123は、例えば、記憶部130に各コンテンツが記憶されている通信端末100のリストを記憶させて制御メッセージに含まれるコンテンツリストと比較し、各コンテンツが記憶されている通信端末100の数の増減を検出する。また、例えば、制御メッセージ送受信部123は、他の通信端末100から順次送信される制御メッセージのコンテンツリストの最新のものを記憶しておき、当該通信端末100から新たな制御メッセージを受信すると制御メッセージのコンテンツリストを互いに比較する。そして、制御メッセージ送受信部123は、各コンテンツリストに記載されたコンテンツ識別子に基づいて当該通信端末100に記憶されているコンテンツの変化を検出することにより、当該コンテンツが記憶されている通信端末100の数の増減を検出する。
 コンテンツ管理部121は、データ蓄積部150や通信部160を介して、コンテンツを他の通信端末100との間で送受信するための機能や、記憶部130に記憶されているコンテンツの管理を行う機能を有する。コンテンツ管理部121は、他の通信端末100が送信した制御メッセージを制御メッセージ送受信部123が受信すると、当該制御メッセージに含まれているコンテンツリストに基づいて、以下の処理を行う。すなわち、コンテンツ管理部121は、その制御メッセージの送信元の通信端末100に記憶されているコンテンツと自通信端末100に記憶されているコンテンツとの差分を検出する。具体的には、コンテンツ管理部121は、例えば、その制御メッセージに含まれているコンテンツリストのコンテンツ識別子と、記憶部130において保有フラグの値が1にセットされているコンテンツ情報132に含まれているコンテンツ識別子とを比較する。そして、コンテンツ管理部121は、両者に差異があると判定した場合に、当該差異に応じたコンテンツをその制御メッセージの送信元の通信端末100と送受信して、記憶部130の記憶内容と当該通信端末100における記憶内容とを同期させる。具体的には、コンテンツ管理部121は、当該差異となったコンテンツ識別子のコンテンツを送受信して、記憶部130の記憶内容と当該通信端末100の記憶内容とを同期させる。
 コンテンツを送信する場合に、コンテンツ管理部121は、当該差異に応じた当該コンテンツを記憶部130から読み出して、その制御メッセージの送信元の通信端末100に、データ蓄積部150、および通信部160を介して送信する。また、他の通信端末100からコンテンツを受信する場合に、コンテンツ管理部121は、通信部160を介して受信したコンテンツのデータをコンテンツに組み立てて、記憶部130に記憶させる。
 ここで、コンテンツ管理部121は、記憶部130の記憶内容と他の通信端末100における記憶内容とを同期させるためにコンテンツのデータを送受信する場合に、プッシュ方式、およびプル方式のいずれか一方、または両方を用いる。いずれの方法を用いるかについては、コンテンツ毎に予め設定されており、例えば、制御メッセージに含まれるコンテンツリストにコンテンツ毎に指定されているものとする。
 プッシュ方式は、他の通信端末100から制御メッセージを受信した際に、当該通信端末100は保有していないが自通信端末100は保有しているコンテンツのデータを自ら送信する場合に用いられる。すなわち、プッシュ方式では、コンテンツ管理部121は、記憶部130に記憶されているコンテンツのうち他の通信端末100から受信した制御メッセージにおけるコンテンツリストに含まれていないコンテンツ識別子のコンテンツを記憶部130から読み出す。そして、コンテンツ管理部121は、読み出したコンテンツのデータを含むメッセージを当該通信端末100へユニキャスト送信する。
 また、プル方式は、他の通信端末100から制御メッセージを受信した際に、当該通信端末100は保有しているが自通信端末100は保有していないコンテンツのデータを当該通信端末100から受信する場合に用いられる。プル方式では、コンテンツ管理部121は、他の通信端末100から受信した制御メッセージにおけるコンテンツリストに含まれているコンテンツ識別子のコンテンツのうち、記憶部130に記憶されていないコンテンツの送信を当該他の通信端末100に要求する。具体的には、コンテンツ管理部121は、例えば、当該他の通信端末100に、データ蓄積部150、および通信部160を介して、当該コンテンツの送信を要求する要求メッセージをユニキャスト送信する。そして、コンテンツ管理部121は、当該要求メッセージに応じて当該他の通信端末100からユニキャスト送信されたメッセージからコンテンツのデータを抽出してコンテンツに組み立てて、記憶部130に記憶させる。コンテンツ管理部121は、コンテンツを新たに受信して記憶部130に記憶させた場合に、コンテンツ情報132の保有フラグの値を1にセットする更新処理を行う。
 通信端末100は上述した方法でコンテンツのデータを送信することがあるが、多数の通信端末に同時にコンテンツのデータを送信すると処理負荷が高くなり、通信端末100の性能に影響を及ぼす可能性がある。そこで、通信端末100には、コンテンツを同時に送信可能な通信端末数k(kは1以上の整数)が予め設定されているものとする。なお、コンテンツのデータを送信または受信することを、単に、コンテンツを送信または受信するともいう。
 送信端末数推定部122は、制御メッセージ送受信部123が受信した他の通信端末100からの制御メッセージに含まれるコンテンツリストに基づいて、以下の処理を行う。すなわち、送信端末数推定部122は、自通信端末100の記憶部130の記憶内容である各コンテンツに対して、自通信端末100、および有効な通信端末情報131の通信端末識別子によって示される全ての通信端末を同期させるために当該コンテンツを送信する通信端末数を推定する機能を有する。
 そして、送信端末数推定部122は、各コンテンツについて推定した通信端末数の和、および自通信端末100と有効な通信端末情報131の通信端末識別子によって示される通信端末数との和のうち、小さい方の値を示す推定通信端末数情報を送信権調整部140に入力する。
 送信権調整部140は、自通信端末100がデータ送信可能な時間(これを、送信権と呼ぶ)を制御する機能を有する。具体的には、自通信端末100において予め設定された時間間隔に区切られたタイムスロットごとに、コンテンツの送信可否を制御する。
 図5は、本発明の第1の実施形態の通信端末100の送信権調整部140の構成例を示すブロック図である。送信権調整部140は、送信確率算出部141と、送信権決定部142とを含む。
 送信確率算出部141は、送信端末数推定部122が入力した推定通信端末数情報によって示される数(値)の通信端末100に送信されるデータの衝突をMAC層におけるCSMA/CAで抑制可能であるように調整するために用いられる送信確率を算出する。ここで、送信確率とは、全通信端末数に対して、データを送信する通信端末の所定の許容数の割合である。具体的には、送信確率算出部141は、送信端末数推定部122が入力した推定通信端末数情報が示す値と、同じタイミングでデータ送信を行うことが許容される最多の通信端末数とに基づいて送信確率を算出する。そして、送信確率算出部141は、算出した送信確率を送信権決定部142に通知する。
 送信権決定部142は、送信確率算出部141が算出した送信確率に基づいて、所定期間におけるデータ送信を許可するか否かを決定する。具体的には、送信権決定部142は、送信確率算出部141が算出した送信確率に基づいて、所定のタイムスロットのうちからデータを送信可能なタイムスロットを決定する。すなわち、送信権決定部142は、送信確率算出部141から通知された送信確率と、予め設定されたタイムスロットの時間間隔の情報とに基づいて、次のタイムスロットでデータ送信を許可するか否かを確率的に求める。そして、送信権決定部142は、送信を許可するタイムスロットにおける時間帯において、データ蓄積部150に送信許可を通知する。
 データ蓄積部150は、情報配信制御部120の制御メッセージ送受信部123、およびコンテンツ管理部121から他の通信端末100へ送信される制御メッセージやコンテンツのデータを蓄積する。そして、データ蓄積部150は、送信権調整部140の指示に従って、蓄積したデータを通信部160に入力する。
 図6は、本発明の第1の実施形態の通信端末100のデータ蓄積部150の構成例を示すブロック図である。データ蓄積部150は、データ分割部151と、データブロック記憶部152と、データブロック送信部153とを含む。
 データ分割部151は、情報配信制御部120から入力された制御メッセージやアプリケーションプログラムのデータ(例えば、送信するコンテンツのデータ)を、予め設定されたサイズのデータブロックに分割する。そして、データ分割部151は、先頭のデータブロックから順にデータブロック記憶部152に記憶させる。
 データブロック記憶部152は、メモリ等の記憶媒体であり、データ分割部151から受け取ったデータブロックを記憶する。
 データブロック送信部153は、送信権調整部140が送信を許可した期間(タイムスロット)に、データブロック記憶部152に記憶されているデータブロックを順に読み出し、通信部160に入力する。なお、データブロック記憶部152からデータブロックを読み出す順序は、データブロック記憶部152に当該データブロックを記憶させた順序と同じであるとする。
 通信部160は、物理層(PHY:PHYsical Layer)やMAC層、IP層、TCP(Transmission Control Protocol)やUDP(User Datagram Protocol)といったトランスポート層のネットワーク処理を行う。
 次に、本発明の第1の実施形態の通信端末100の動作について説明する。図7は、本発明の第1の実施形態の通信端末100が、制御メッセージ、またはコンテンツを受信して、データを送信するタイミングを決定する場合の動作を示すフローチャートである。
 通信部160は、物理層(PHY)において、フレーム(データ)の受信を検知すると(ステップS101)、MAC層や、IP層、トランスポート層などのネットワークプロトコル処理に従い、情報配信制御部120にデータを入力する。
 情報配信制御部120は、通信部160が受信したデータを組み立てて、当該データが制御メッセージに応じたデータであるか否かを確認する(ステップS102)。情報配信制御部120は、アプリケーションデータが制御メッセージに応じたデータでなければ(ステップS102のN)、つまり、アプリケーションデータがコンテンツのデータであれば、ステップS103の処理に移行する。また、情報配信制御部120は、アプリケーションデータが制御メッセージに応じたデータであれば(ステップS102のY)、ステップS106の処理に移行する。
 情報配信制御部120のコンテンツ管理部121は、コンテンツのデータの受信が完了するまで、データの受信、および受信途中のデータを管理する受信処理を行う(ステップS101,S102のN,S103,S104のN)。
 コンテンツ管理部121は、コンテンツのデータの受信を完了した場合に(ステップS104のY)、ステップS103の処理で受信したデータに基づくコンテンツを記憶部130に記憶させ、ステップS105の処理に移行する。
 コンテンツ管理部121は、ステップS105の処理で、受信したデータに基づく新たなコンテンツに応じて、記憶部130に記憶されているコンテンツ情報132を更新する(ステップS105)。具体的には、コンテンツ管理部121は、当該コンテンツのコンテンツ情報132の保有フラグの値を更新する。より具体的には、コンテンツ管理部121は、例えば、保有フラグの値を、コンテンツを記憶していないことを示す0から記憶していることを示す1に更新する。
 なお、上述したように、プル型でコンテンツのデータを受信するためには、以前に当該コンテンツのコンテンツ識別子を含むコンテンツリストを含む制御メッセージの受信が必要である。したがって、制御メッセージ送受信部123は、受信した制御メッセージに応じて、当該コンテンツのコンテンツ情報132を既に生成して、記憶部130に記憶させているとする。
 また、プッシュ型で当該コンテンツを受信した場合、当該コンテンツのコンテンツ情報132が生成されていない可能性がある。そこで、コンテンツ管理部121は、当該コンテンツのコンテンツ情報132が記憶部130に記憶されているか否かを確認する。コンテンツ管理部121は、当該コンテンツのコンテンツ情報132が記憶部130に記憶されていなければ、自通信端末100が記憶していることを示す値(例えば、1)に保有フラグをセットし、保有通信端末数情報に1(当該制御メッセージの送信元の通信端末100が保有)を設定したコンテンツ情報132を新たに生成する。そして、コンテンツ管理部121は、記憶部130に、生成したコンテンツ情報132を記憶させる。なお、コンテンツ管理部121は、当該コンテンツのコンテンツ情報132が記憶部130に既に記憶されていれば、プル型の場合と同様に、保有フラグの値を更新する。
 制御メッセージ送受信部123は、制御メッセージを受信した場合に(ステップS102のY)、当該制御メッセージの送信元の通信端末100の通信端末情報131を生成、または通信端末情報131における有効期限情報の更新を行う。また、制御メッセージ送受信部123は、当該制御メッセージに含まれるコンテンツリストと、記憶部130に記憶されているコンテンツ情報132とを比較して、必要に応じてコンテンツ情報132の更新や生成を行う(ステップS106)。
 具体的には、当該制御メッセージに含まれるコンテンツリストにコンテンツ情報132にないコンテンツ識別子が含まれていた場合に、制御メッセージ送受信部123は、当該コンテンツに応じたコンテンツ情報132を新たに生成する。この際、制御メッセージ送受信部123は、当該コンテンツのコンテンツ識別子を含むコンテンツ情報132を生成する。そして、当該コンテンツ情報132において、制御メッセージ送受信部123は、保有フラグに自通信端末が保有していないことを示す値(例えば、0)をセットし、保有通信端末数情報に1(当該制御メッセージの送信元の通信端末100が保有)を設定する。
 また、コンテンツ情報132にあるコンテンツ識別子が、受信した制御メッセージに含まれるコンテンツリストに含まれ、当該制御メッセージによって当該コンテンツ識別子のコンテンツが送信元の通信端末100に記憶されていることが新たに示された場合に、以下の処理が行われる。
 すなわち、制御メッセージ送受信部123は、当該コンテンツ識別子を含むコンテンツ情報132における保有通信端末数情報の値に1を加算する。制御メッセージの送信元の通信端末100からコンテンツが消去された場合には、当該コンテンツのコンテンツ識別子を含むコンテンツ情報132の保有通信端末数情報の値から1を減算する。なお、制御メッセージ送受信部123が、各コンテンツが記憶されている通信端末100の数の増減を検出する方法については上述したので省略する。
 ステップS105,S106の処理でコンテンツ情報132が更新または生成されなかった場合に(ステップS107のN)、通信端末100は、処理を終了する。ステップS105,S106の処理でコンテンツ情報132が更新または生成された場合に(ステップS107のY)、送信端末数推定部122は、更新されたコンテンツ情報132に応じたコンテンツを自通信端末100、および有効な通信端末情報131の通信端末識別子によって示される全ての通信端末で同期させるために当該コンテンツを送信する通信端末数を推定する処理を行う(ステップS108)。
 具体的には、送信端末数推定部122は、下記の式(1)を用いて、当該コンテンツ情報132に応じたコンテンツi(iはコンテンツ識別子)を送信する場合の通信端末数Cの推定処理を行う。
   C=min(N×k,N-N)・・・(1)
 式(1)において、Nは、コンテンツiを記憶している通信端末数である。kは、通信端末100が同時にコンテンツ送信を行うことが可能な宛先通信端末数である。Nは、自通信端末100と、有効な通信端末情報131の数によって示される自通信端末100に隣接する通信端末100(隣接通信端末100ともいう)とを合わせた通信端末数である。
 式(1)における「N×k」によって、コンテンツiを記憶しているN個の通信端末100の全てがk個の他の通信端末100へコンテンツを送信する場合の送信先通信端末数であって、それらの通信端末100がさらにコンテンツiを送信する場合の送信元通信端末数が示される。また、「N-N」によって、自通信端末100と隣接通信端末100とのうち、コンテンツiが記憶されていない通信端末数が示される。
 したがって、式(1)に示すように、自通信端末100と全ての隣接通信端末100がコンテンツiを記憶するように、当該コンテンツiを保有する通信端末100が当該コンテンツiを送信する場合の通信端末数Cの値は、「N×k」と「N-N」とのうちいずれか小さい方の値となる。
 そして、送信端末数推定部122は、全てのコンテンツiについて通信端末数Cを算出する。そうすると、全てのコンテンツiについて通信端末数Cの和、および自通信端末100と隣接通信端末100との和である通信端末数Nのうち小さい方の値が、全てのコンテンツiについて、各通信端末の記憶内容を互いに同期させるために必要な通信端末数Cである。また、通信端末数Cは、各通信端末の記憶内容を互いに同期させるために同時に通信を行う可能性がある通信端末数でもある。
 すなわち、通信端末数Cは、下記の式(2)で表される。
   C=min(Σ,N)・・・(2)
 送信端末数推定部122は、式(1),(2)を用いて算出した値を同時に通信を行う可能性がある通信端末数Cであると推定する。そして、送信端末数推定部122は、推定した通信端末数Cを示す推定通信端末数情報を送信権調整部140の送信確率算出部141に入力する。
 なお、例えば、自通信端末100が無線通信システム500に参加したが隣接通信端末100から制御メッセージを受信していない場合、以下のような値を通信端末数Cとして送信権調整部140の送信確率算出部141に入力してもよい。具体的には、例えば、送信端末数推定部122は通信端末数Cの初期値として0を示す推定通信端末数情報を送信権調整部140の送信確率算出部141に入力してもよい。通信端末数Cの初期値として0を示す推定通信端末数情報を送信確率算出部141に入力した場合には、多数の隣接通信端末100が同時にデータを送信していても、自通信端末100は、必要に応じて自由にデータを送信することができる。
 また、送信端末数推定部122は通信端末数Cの初期値として通信端末100が通信し得る最多の隣接通信端末数を送信権調整部140の送信確率算出部141に入力してもよい。通信端末数Cの初期値として通信端末100が通信し得る最多の隣接通信端末数を送信権調整部140の送信確率算出部141に入力した場合、状況(例えば、隣接通信端末数の多寡)に応じてデータの送信が制御されるので衝突を抑制することができる。
 なお、通信端末数Cは、式(1),(2)を用いて算出する場合に限られず、データの送信が同時に行われる可能性がある通信端末数を算出できれば、他の方法で算出されてもよい。
 送信確率算出部141は、送信端末数推定部122がステップS108の処理で推定した通信端末数Cと、予め設定されている、同じタイミングでデータ送信を行う最多の送信先通信端末数Nとを用いて送信確率pを算出する(ステップS109)。
 具体的には、送信確率算出部141は、例えば、下記の式(3)を用いて送信確率pを算出する。
   p=N/C・・・(3)
 なお、送信確率pは他の方法で算出されてもよい。
 送信確率算出部141は、式(3)を用いて算出した送信確率pを送信権決定部142に通知する。
 送信権決定部142は、送信確率算出部141が通知した送信確率pを記憶手段(図示せず。記憶部130であってもよい)に記憶させる。そして、送信権決定部142は、現在時刻が、予め設定されたタイムスロットTに応じた時刻になるときに、記憶手段に記憶された送信確率pに基づいて、データを送信する権利である送信権を発生させるか否かを決定する(ステップS110)。
 例えば、ステップS108の処理で推定された通信端末数Cが100であり、予め設定されている、同じタイミングでデータ送信を行う最多の送信先通信端末数Nが10である場合に、送信確率算出部141が算出する送信確率p=10/100=0.1である。
 そうすると、送信権決定部142は、予め設定されたタイムスロットTに応じた時刻になるときに、10パーセントの確率で、タイムスロットTにおける送信権を発生させると決定する。
 送信権決定部142は、送信権を発生させると決定した場合に、その旨をデータ蓄積部150に通知する。データ蓄積部150は、ステップS110の処理で発生した送信権をデータの送信制御に用いる。つまり、データ蓄積部150は、送信権決定部142から送信権を発生させると決定したことを通知された場合に、データを送信する。
 なお、送信権決定部142は、予め設定されたM個のタイムスロットにおける送信権を同時に決定してもよい。そして、送信権決定部142は、それらのタイムスロットを識別するタイムスロット識別子(タイムスロットID)、タイムスロット開始時刻、および送信権の有無を記憶手段に記憶させる。送信権決定部142は、記憶手段における記憶内容に基づいて、各タイムスロットの開始時刻に応じたタイミングで、送信可否をデータ蓄積部150に通知してもよい。
 次に、本発明の第1の実施形態の通信端末100が制御メッセージ、またはコンテンツを送信する動作について説明する。図8は、第1の実施形態の通信端末100が制御メッセージ、またはコンテンツを送信する動作を示すフローチャートである。
 情報配信制御部120の制御メッセージ送受信部123は、例えば、タイマなどを用いて、所定の周期で到来する、制御メッセージを送信する所定のタイミングであるか否かを判断する(ステップS201)。制御メッセージ送受信部123は、所定のタイミングであると判断した場合に(ステップS201のY)、制御メッセージをブロードキャスト送信する(ステップS202)。
 具体的には、制御メッセージ送受信部123は、ステップS202の処理で、記憶部130からコンテンツ情報132を読み出して保有フラグを参照し、記憶部130に記憶されているコンテンツのコンテンツ識別子のリストであるコンテンツリストを作成する。制御メッセージ送受信部123は、作成したコンテンツリストと自通信端末100の識別子とを含む制御メッセージを生成する。そして、制御メッセージ送受信部123は、生成した制御メッセージをデータ蓄積部150へ入力し、ステップS204の処理に移行する。
 制御メッセージ送受信部123が、所定のタイミングでないと判断した場合に(ステップS201のN)、情報配信制御部120のコンテンツ管理部121が、送信要求があるか否かを判断する(ステップS203)。なお、送信要求には、他の通信端末100からあるコンテンツを送信するための送信要求(上述したプル方式に相当)と、他の通信端末100へコンテンツを送信する場合の送信要求(上述したプッシュ方式に相当)とがある。プル方式の場合には、他の通信端末100から例えば要求メッセージを受信し、プッシュ方式の場合は、他の通信端末100から受信した制御メッセージに含まれるコンテンツリストを参照することで判断する。
 そして、コンテンツ管理部121は、送信要求がないと判断した場合に(ステップS203のN)、処理を終了する。
 コンテンツ管理部121は、送信要求があると判断した場合に(ステップS203のY)、以下の処理を行う。すなわち、コンテンツ管理部121は、送信要求に応じて記憶部130からコンテンツのデータを読み出す。そして、コンテンツ管理部121は、読み出したデータをアプリケーションデータと呼ばれる予め設定されたサイズに分割してデータ蓄積部150に入力する(ステップS204)。ここで、データ単位に分割されたアプリケーションデータをアプリケーションデータユニットという。
 データ分割部151は、ステップS204の処理で分割されたアプリケーションデータユニットを、予め設定されたサイズのデータ単位にさらに分割する(ステップS205)。予め設定されたサイズに分割されたデータを、データブロックという。
 データ分割部151は、データブロックに分割されたデータをデータブロック記憶部152に記憶させる(ステップS206)。
 次に、本発明の第1の実施形態の通信端末100がデータを送信する動作について説明する。図9は、本発明の第1の実施形態の通信端末100がデータを送信する動作を示すフローチャートである。
 まず、データ蓄積部150のデータブロック記憶部152にデータブロックが記憶された場合に(ステップS301)、データブロック送信部153は、送信権決定部142から送信権を発生させることに決定したことが通知されたか否かを判断する(ステップS302)。そして、データブロック送信部153は、送信権決定部142から送信権を発生させることに決定したことが通知されていない場合に(ステップS302のN)、送信権を発生させることに決定したことが通知されるまで待つ。また、データブロック送信部153は、送信権決定部142から送信権を発生させることに決定したことが通知された場合に(ステップS302のY)、以下の処理を行う。すなわち、データブロック送信部153は、データブロック記憶部152に送信すべきデータブロックが記憶されているか否かを確認する(ステップS303)。
 データブロック送信部153は、データブロック記憶部152に送信すべきデータブロックが記憶されていない場合に(ステップS303のN)、処理を終了する。また、データブロック送信部153は、データブロック記憶部152に送信すべきデータブロックが記憶されている場合に(ステップS303のY)、データブロック記憶部152から当該データブロックを読み出す。そして、データブロック送信部153は、読み出したデータブロックを通信部160に入力する。
 通信部160は、データブロックが入力されると送信処理を行い(ステップS304)、ステップS302の処理に移行する。そして、送信すべきデータブロックが全て送信されるまで、ステップS302~S304の処理が繰り返される。なお、データ(データブロック)の送信処理は、TCP、またはUDPなどのトランスポート層におけるネットワーク処理、IP層におけるネットワーク処理、MAC層におけるネットワーク処理を行い、物理層(PHY)の処理に従って行われる。なお、通信部160におけるデータの送信処理は、一般的な物理層からトランスポート層におけるネットワーク処理と同様であるため、詳細な説明は省略する。
 次に、図7に示すステップS108の処理で推定した通信端末数の推移について説明する。図10は、通信端末数の推移を示す説明図である。
 なお、コンテンツ識別子がAであるコンテンツAと、コンテンツ識別子がBであるコンテンツBと、コンテンツ識別子がCであるコンテンツCとがあるとする。また、自通信端末100と99個の隣接通信端末100とで、合計して100個の通信端末100があるとする。そして、各通信端末100は、それぞれ同時にコンテンツを送信できる数k=4に設定されているとする。また、同じタイミングでデータ送信を行うことが可能な通信端末数をN=10とする。
 図10に示す時刻tにおいて、自通信端末100の記憶部130には、以下に示すコンテンツ情報132が記憶されているとする。すなわち、コンテンツ情報132には、コンテンツ識別子がAであるコンテンツAについてのコンテンツ情報と、コンテンツ識別子がBであるコンテンツBについてのコンテンツ情報とが含まれている。そして、コンテンツA,Bについてのいずれのコンテンツ情報においても保有フラグは1にセットされている。つまり、自通信端末100の記憶部130には、コンテンツA,Bがいずれも記憶されている。また、コンテンツA,Bについてのいずれのコンテンツ情報においても保有通信端末数情報の値は99である。つまり、99個の隣接通信端末100にはいずれもコンテンツA,Bが記憶されており、自通信端末100を含めると、100個の通信端末100にはいずれもコンテンツA,Bが記憶されている。
 そうすると、コンテンツA,Bのいずれについても、時刻tにおいて、式(1)におけるN=100であり、N,N=100であるので、Cの値およびCの値は、いずれも0である。よって、通信端末数C=C+C=0である。
 時刻tにおいて、一の通信端末100に、コンテンツ識別子がCであるコンテンツCが記憶され、制御メッセージによってコンテンツCが通知されたとする。そうすると、コンテンツCについて、式(1)におけるN=100であり、N=1であるので、C=min(1×4,100-1)=4になる。よって、通信端末数C=C+C+C=4である。
 時刻t以降に一の通信端末100から直接に、または他の通信端末100を介して間接的に各通信端末100がコンテンツCのデータを受信して記憶したとする。そして、時刻tにおいて、コンテンツCが自通信端末100を含む10個の通信端末100に記憶されたことが制御メッセージによって判明したとする。そうすると、コンテンツCについてのコンテンツ情報の保有通信端末数情報の値は9であるので、C=min((9+1)×4,100-(9+1))=40になる。よって、通信端末数C=C+C+C=40である。
 時刻tを経過するとコンテンツCを一の通信端末100から直接に、または他の通信端末100を介して間接的に受信して記憶した通信端末100の数が多くなり通信端末数Cの値が徐々に減少する。よって、図10に示すように、通信端末数Cの値も徐々に減少する。
 そして、時刻tになると、コンテンツCは全ての通信端末100に記憶され、コンテンツCについてのコンテンツ情報の保有通信端末数情報の値は、100個の通信端末100から自通信端末100を除いた99になる。すると、コンテンツCについても、時刻tにおいて、式(1)におけるN=100であり、N=100であるので、Cの値も0になる。よって、通信端末数C=C+C+C=0になる。
 本実施形態によれば、通信端末100は、受信した制御メッセージと記憶部130における記憶内容とに基づいて、コンテンツの送信先の通信端末数Cを推定する。そして、通信端末100は、推定した通信端末数Cとデータ送信が同時に可能な通信端末数Nとに基づいて、送信確率pを算出する。通信端末100は、算出した送信確率pに基づいて、自通信端末が独自に管理している各タイムスロットについて、データ送信可能であると判断した場合に、コンテンツのデータを送信する。したがって、無線通信システム500に多数の通信端末100がある場合に、同時にデータ送信を行う通信端末100の数を確率に基づいて制御する。
 よって、通信端末が増加して、多数の通信端末がお互いの通信範囲内に密集するような環境になり、MAC層におけるCSMA/CAで衝突が頻繁に発生して通常ではスループットが低下するような場合においても、データの衝突回数の増加を良好に抑制することができる。そして、スループットの低下を良好に抑制し、効率的なデータ送信を可能にすることができる。また、確実なデータ配信を可能にすることができる。
 また、本実施形態によれば、各通信端末100が独立に予め設定された時間間隔に区切られたタイムスロットを管理し、そのタイムスロットに応じて送信可否を決定する。つまり、無線通信システム500における通信端末100のそれぞれは、クラスタ化や時刻同期を行う必要がない。したがって、非常に困難な各通信端末100の時刻同期を行うことなく、データの衝突回数の増加を良好に抑制することができる。そして、スループットの低下を良好に抑制し、効率的なデータ送信を可能にすることができる。
 実施形態2.
 次に、本発明の第2の実施形態の通信端末200について説明する。図11は、本発明の第2の実施形態の通信端末200の構成例を示すブロック図である。図11に示すように、本発明の第2の実施形態の通信端末200は、情報配信制御部220および記憶部230を含む。その他の構成は、図2に示す第1の実施形態の通信端末100における構成と同様なため、対応する構成要素には図2と同じ符号を付して説明を省略する。
 本発明の第2の実施形態の通信端末200の情報配信制御部220は、送信端末数推定部222を含む。第1の実施形態における送信端末数推定部122は、上述した式(1),(2)を用いて算出した値を示す推定通信端末数情報を送信権調整部140に入力する。
 それに対して、本実施形態の送信端末数推定部222は、自通信端末200および隣接通信端末200(以下、隣接通信端末200等という)に記憶されていない新規なコンテンツが隣接通信端末200等に記憶された場合に、当該コンテンツを全ての通信端末200に送信するために通信を行う通信端末数を推定する。そして、送信端末数推定部222は、当該コンテンツが全ての隣接通信端末200等に記憶されたときに、当該コンテンツを送信するために通信を行う通信端末数が0になったと判断する。本実施形態の送信端末数推定部222は、このような推定方法により、通信端末数を推定し、推定結果を示す通信端末情報を送信権調整部140に入力する。なお、隣接通信端末200等に記憶されていない新規なコンテンツを新規コンテンツともいう。
 記憶部230には、コンテンツ情報232が記憶される。図12は、記憶部230に記憶されるコンテンツ情報232の構成例を示す説明図である。図12に示すように、コンテンツ情報232は、第1の実施形態におけるコンテンツ情報132の構成に加えて、推定通信端末数情報を含む。
 制御メッセージ送受信部123は、新規コンテンツに応じて、推定通信端末数情報を含むコンテンツ情報232を新たに生成する。本実施形態において、推定通信端末数情報は、新規コンテンツを全ての隣接端末200等に送信するために同時に通信する可能性のある通信端末数の推定値を示す情報である。
 次に、本発明の第2の実施形態の通信端末200の動作について説明する。図13は、本発明の第2の実施形態の通信端末200が制御メッセージ、またはコンテンツを受信して、データを送信するタイミングを決定する場合の動作を示すフローチャートである。
 図13に示す例において、ステップS501~S506,S509,S510における処理は、図7に示すステップS101~S106,S109,S110における処理とそれぞれ同様なため、説明を省略する。
 なお、第1の実施形態の通信端末100がデータを受信する動作におけるステップS105,S106に対応するステップS505,S506の処理でコンテンツ情報232を生成する場合に限り、コンテンツ管理部121は、以下の処理を行ってもよい。すなわち、コンテンツ管理部121は、コンテンツ情報232に含まれる推定通信端末数情報が示す値を0としてもよいし、空欄やその他の数字としてもよい。推定通信端末数情報は、ステップS508の処理で更新される。
 コンテンツ管理部121は、ステップS505,S506の処理で必要に応じてコンテンツ情報232を更新する。そして、新規コンテンツが隣接通信端末200等に記憶された場合、または一のコンテンツが全ての隣接通信端末200等に記憶された場合に(ステップS507のY)、ステップS508の処理に移行する。そうでない場合に(ステップS507のN)、処理を終了する。
 なお、新規コンテンツが隣接通信端末200等に記憶されたか否かは、コンテンツ管理部121が新たなコンテンツ情報232を作成したか否かによって判断される。また、ステップS506の処理で一のコンテンツのコンテンツ情報232の保有通信端末数情報が示す値が隣接通信端末200の数と等しくなった場合に、一のコンテンツが全ての隣接通信端末200等に記憶されたと判断可能である。
 送信端末数推定部222は、新規コンテンツが隣接通信端末200等に記憶された場合に(ステップS507のY)、以下の処理を行う。すなわち、送信端末数推定部222は、ステップS508の処理で、当該新規コンテンツについて通信端末数の推定を行い、推定した値をコンテンツ情報232の推定通信端末数に設定する(ステップS508)。具体的には、送信端末数推定部222は、例えば、下記の式(4)を用いて新規コンテンツi(iはコンテンツ識別子)を全ての通信端末200へ送信するための通信端末数Cを算出する。
   C=min(k,N-k)・・・(4)
 ここで、kは、通信端末200が同時にコンテンツ送信を行うことが可能な宛先通信端末数である。Nは、有効な通信端末情報131の数によって示される、自通信端末200と自通信端末200に隣接する通信端末200とを合わせた通信端末数である。jは、k≧N-kを満たす最小の正の整数である。
 式(4)によって、新規コンテンツiを全ての通信端末200へ送信するための通信端末数Cの値が、「k」と「N-k」とのうちいずれか小さい方の値であることが示されている。なお、「k」は、コンテンツiを最初に記憶した通信端末200がk個の他の通信端末200へコンテンツiを送信し、当該コンテンツiを受信した通信端末200がさらにコンテンツiを送信していくと想定した場合の送信通信端末数である。また、「N-k」は、コンテンツiを最初に記憶した通信端末200がk個の他の通信端末200へコンテンツiを送信し、当該コンテンツiを受信した通信端末200がさらにコンテンツiを送信していくと想定した場合のコンテンツiを記憶していない通信端末数である。コンテンツiを全ての通信端末200へ送信するための通信端末数Cの最大値は、式(4)に示す通り、コンテンツiを保有する通信端末200がk個の他の通信端末200へコンテンツiを送信する「k」と、コンテンツiを保有していない通信端末200がコンテンツiを保有している通信端末200からコンテンツiを受信する「N-k」とのいずれか小さい方として推定する。
 送信端末数推定部222は、新たなコンテンツiを検知すると検知した全ての新規コンテンツiに対して通信端末Cを算出し、各新規コンテンツiに対応するコンテンツ情報232の推定通信端末数情報に記憶させる。そうすると、記憶部230に記憶されている全てのコンテンツiに対応するコンテンツ情報232の推定通信端末数情報が示す通信端末数Cの和、および自通信端末200と隣接通信端末200との和である通信端末数Nのうち小さい方の値が、全てのコンテンツiについて各通信端末200の記憶内容を互いに同期させるために必要な通信端末数Cである。Cを算出するための式はコンテンツiに対する通信端末数Cとして、対応するコンテンツ情報232の推定通信端末数情報の値を用いること以外は第1の実施形態における動作で説明した式(2)と同様であるので、説明を省略する。
 一のコンテンツが全ての隣接通信端末200等に記憶された場合、当該コンテンツの送信先の通信端末200の数は0になる。したがって、コンテンツ管理部121は、コンテンツ情報232の推定通信端末数情報が示す値を0に更新するとともに、改めて式(2)を用いて通信端末数Cの値を更新する(ステップS508)。
 なお、本実施形態では、新規コンテンツが記憶部230に記憶されたときに、コンテンツ情報232の推定通信端末数情報に、ステップS508の処理で推定された通信端末数Cを設定する。そして、当該コンテンツが全ての隣接通信端末200等に記憶されたときに、推定通信端末数情報の値を0に設定する。
 図14は、本実施形態において算出した通信端末数の推移を示す説明図である。
 なお、コンテンツ識別子がAであるコンテンツAと、コンテンツ識別子がBであるコンテンツBと、コンテンツ識別子がCであるコンテンツCと、コンテンツ識別子がDであるコンテンツDとがあるとする。また、自通信端末200と99個の隣接通信端末200とで、合計して100個の通信端末200があるとする。そして、各通信端末200は、それぞれ同時にコンテンツを送信できる数k=4に設定されているとする。また、同じタイミングでデータ送信を行うことが可能な通信端末数をN=10とする。
 図14に示す時刻tにおいて、自通信端末200の記憶部230には、以下に示すコンテンツ情報232が記憶されているとする。すなわち、コンテンツ情報232には、コンテンツ識別子がAであるコンテンツAについてのコンテンツ情報と、コンテンツ識別子がBであるコンテンツBについてのコンテンツ情報とが含まれている。そして、コンテンツA,Bについてのいずれのコンテンツ情報においても保有フラグは1にセットされている。つまり、自通信端末200の記憶部230には、コンテンツA,Bがいずれも記憶されている。また、コンテンツA,Bについてのいずれのコンテンツ情報においても保有通信端末数情報の値は99である。つまり、99個の隣接通信端末200にはいずれもコンテンツA,Bが記憶されており、自通信端末200を含めると、100個の通信端末100にはいずれもコンテンツA,Bが記憶されている。
 そうすると、時刻tでは、コンテンツA,Bのいずれのコンテンツも全ての通信端末100に記憶されており、コンテンツA,Bに対応するコンテンツ情報232の推定通信端末数情報の値は0であるため、Cの値およびCの値は、いずれも0である。よって、通信端末数C=C+C=0である。
 時刻tにおいて、一の通信端末200から受信した制御メッセージによって、当該通信端末200にコンテンツ識別子がCであるコンテンツCが記憶されたと検知したとする。そうすると、式(4)より、コンテンツCについての通信端末数C=min(4,100-4)=min(64,36)=36である。よって、C=C+C+C=36である。なお、本例において式(4)のj=2とすると4<100-4であり、j=3とすると4>100-4である。したがって、j=3が採用される。
 また、時刻tにおいて、一の通信端末200にから受信した制御メッセージによって、当該通信端末200にコンテンツ識別子がDであるコンテンツDが記憶されたと検知したとする。そうすると、式(4)より、コンテンツDについての通信端末数C=min(4,100-4)=min(64,36)=36である。よって、C=C+C+C+C=72である。なお、本例では上述したように、j=3が採用される。
 そして、時刻tに、コンテンツCは全ての隣接通信端末200等に記憶されたとする。そうすると、コンテンツCについてのコンテンツ情報232の推定通信端末数情報の値は、従前の36から0に更新される。よって、C=0であるため、C=C+C+C+C=36である。
 また、時刻tに、コンテンツDは全ての隣接通信端末200等に記憶されたとする。そうすると、コンテンツDについてのコンテンツ情報232の推定通信端末数情報の値は、従前の36から0に更新される。よって、C=0であるため、C=C+C+C+C=0である。
 本実施形態によれば、自通信端末200に新規コンテンツiを追加したとき、または、他の隣接通信端末200から受信した制御メッセージによって新規コンテンツiが通知されたときに、送信端末数推定部222が、当該新規コンテンツiを全ての隣接通信端末200等に送信するときの通信端末数Cを推定し、全てのコンテンツの推定通信端末数情報の値から通信端末数Cを推定する。これにより、送信確率算出部141は、あるコンテンツiに対して推定された通信端末数Cの値を、当該コンテンツiを隣接通信端末200等に送信し終えるまで送信確率pの算出に使用することになる。したがって、予め最多の通信端末数Cを推定し、それをコンテンツの送信が完了するまで使用するので、実際の通信状況に合致した通信制御が可能になると考えられる。
 また、本実施形態によれば、通信端末数Cの推定、および送信確率pの算出の頻度を低減させることができるので、通信端末200の処理負荷を軽減させることができる。
 実施形態3.
 次に、本発明の第3の実施形態の通信端末300について説明する。図15は、本発明の第3の実施形態の通信端末300の構成例を示すブロック図である。図15に示すように、本発明の第3の実施形態の通信端末300は、情報配信制御部320および記憶部330を含む。その他の構成は、図11に示す第2の実施形態の通信端末200における構成と同様なため、対応する構成要素には図11と同じ符号を付して説明を省略する。
 本発明の第3の実施形態の通信端末300の情報配信制御部320は、送信端末数推定部322を含む。
 第2の実施形態の送信端末数推定部222は、新規なコンテンツが隣接通信端末200等に記憶されたことを検知した場合に、当該コンテンツを送信するために通信を行う通信端末数を推定する。そして、送信端末数推定部222は、当該コンテンツが全ての隣接通信端末200等に記憶されたと判断したときに、当該コンテンツを送信するために通信を行う通信端末数が0になったと判断する。
 本実施形態の送信端末数推定部322は、第2の実施形態における送信端末推定部222と同様な処理を行う。具体的には、送信端末数推定部322は、自通信端末300および隣接通信端末300(以下、隣接通信端末300等という)に記憶されていない新規なコンテンツが隣接通信端末300等に記憶されたことを検知した場合に、当該コンテンツを送信するために通信を行う通信端末数を推定する。
 そして、本実施形態の送信端末数推定部322は、さらに、通信端末数を推定したときに、コンテンツのサイズに応じてデータの送信が完了する時刻を推定し、その時刻が到来したときに、当該コンテンツについての通信端末数が0になったと判断する。そして、送信端末数推定部322は、推定結果を送信権調整部140に通知する。
 記憶部330には、コンテンツ情報332が記憶される。図16は、記憶部330に記憶されるコンテンツ情報332の構成例を示す説明図である。図16に示すように、コンテンツ情報332は、第2の実施形態におけるコンテンツ情報232の構成に加えて、送信完了時刻情報を含む。
 制御メッセージ送受信部123は、新規コンテンツを検知すると、送信完了時刻情報を含むコンテンツ情報332を新たに生成する。制御メッセージ送受信部123は、当該新規コンテンツを全ての隣接通信端末300に送信するために要する送信所要時間を推定する。そして、制御メッセージ送受信部123は、現在時刻に、推定した送信所要時間を加えた時刻である送信完了時刻を算出する。送信完了時刻情報は、制御メッセージ送受信部123によって算出された送信完了時刻を示す情報である。
 次に、本発明の第3の実施形態の通信端末300の動作について説明する。図17は、本発明の第3の実施形態の通信端末300が制御メッセージ、またはコンテンツを受信して、データを送信するタイミングを決定する場合の動作を示すフローチャートである。
 図17に示す例において、ステップS601~S606,S608,S610,S611における処理は、図13に示す第2の実施形態のステップS501~S506,S508~S510における処理とそれぞれ同様なため、説明を省略する。
 コンテンツ管理部121は、ステップS605,S606の処理で必要に応じてコンテンツ情報332を更新する。そして、受信した制御メッセージにより新規コンテンツが隣接通信端末300等に記憶されたことを検知した場合、または当該新規コンテンツの送信完了時刻が到来した場合に(ステップS607のY)、ステップS608の処理に移行する。そうでない場合に(ステップS607のN)、処理を終了する。
 なお、新規コンテンツが隣接通信端末300等に記憶されたか否かの判断は、第2の実施形態における処理と同様なため説明を省略する。
 ステップS607の処理で新規コンテンツが隣接通信端末300等のいずれかに記憶されたと判断された場合(ステップS607のY)、送信端末数推定部322は、第2の実施形態の送信端末数推定部222によるステップS508における処理と同様な処理を行って、当該新規コンテンツについて通信端末数の推定を行い、推定した値をコンテンツ情報332の推定通信端末数に設定する(ステップS608)。
 そして、送信端末数推定部322は、当該新規コンテンツを最初に記憶した隣接通信端末300等が、他の全ての隣接通信端末300等への当該コンテンツの送信に要する送信所要時間を推定する。
 この送信所要時間の推定は、具体的には、以下のような方法で行われる。例えば、制御メッセージのコンテンツリストに当該コンテンツのサイズを示す情報を追加するとともに、既に受信したコンテンツの送信所要時間を記憶手段(図示せず)に記憶させるようにする。そして、記憶手段に記憶されている送信所要時間とコンテンツリストにおけるコンテンツのサイズを示す情報とに基づいて、データの送信レートを見積もる。当該コンテンツのサイズを、見積もった送信レートで除算した商が、ある通信端末が他の通信端末へ当該コンテンツを送信するために必要となる送信時間として推定することができる。さらに、この推定した送信時間に、ステップS608の通信端末数の推定で用いたjの値に予め設定した定数Hを加えた数を掛けることで、当該コンテンツを全通信端末に送信するための送信所要時間として推定することができる。このようなデータの送信レートの見積もりについては、既存の技術を用いるため、詳細な説明は省略する。
 なお、推定した送信時間に、jとHとの和を乗じた積を送信所要時間として推定する理由について説明する。本例では、(同一通信端末か否かに関わらず)コンテンツ保有通信端末は、他の通信端末の記憶内容を同期させるために、j+1回の送信を行う必要がある。しかし、実際にはさらにオーバーヘッドを要するので、j+1以上の送信回数に応じた時間が必要になると考えられる。そこで、この差をHとして設定することで、推定する送信所要時間を現実の送信所要時間により近づけることができる。
 コンテンツ管理部121は、現在時刻に、このような方法で推定した送信所要時間を加えた時刻を新規コンテンツのコンテンツ情報332の送信完了時刻情報として設定する(ステップS609)。
 また、一のコンテンツの送信完了時刻になった、または送信完了時刻を過ぎた場合(つまり、送信完了時刻が到来した場合)に(ステップS607のY)、コンテンツ管理部121は、以下の処理を行う。すなわち、コンテンツ管理部121は、一のコンテンツのコンテンツ情報332の送信完了時刻情報が示す時刻から、次に送信完了時刻となる他のコンテンツを検索する。そして、当該他のコンテンツのコンテンツ情報332の送信完了時刻情報が示す時刻が到来したことを検知するために、当該時刻を示す送信完了時刻情報を記憶部330に記憶させる(ステップS609)。そして、ステップS610の処理に移行する。
 図18は、本実施形態において算出した通信端末数の推移を示す説明図である。
 なお、コンテンツ識別子がAであるコンテンツAと、コンテンツ識別子がBであるコンテンツBと、コンテンツ識別子がCであるコンテンツCと、コンテンツ識別子がDであるコンテンツDとがあるとする。また、自通信端末300と99個の隣接通信端末300とで、合計して100個の通信端末300があるとする。そして、各通信端末300は、それぞれ同時にコンテンツを送信できる数k=4に設定されているとする。また、同じタイミングでデータ送信を行うことが可能な通信端末数をN=10であるとする。
 図18に示す時刻tにおいて、自通信端末300の記憶部330には、以下に示すコンテンツ情報332が記憶されているとする。すなわち、コンテンツ情報332には、コンテンツ識別子がAであるコンテンツAについてのコンテンツ情報と、コンテンツ識別子がBであるコンテンツBについてのコンテンツ情報とが含まれている。そして、コンテンツA,Bについてのいずれのコンテンツ情報においても保有フラグは1にセットされている。つまり、自通信端末300の記憶部330には、コンテンツA,Bがいずれも記憶されている。また、コンテンツA,Bについてのいずれのコンテンツ情報においても保有通信端末数情報の値は99である。つまり、99個の隣接通信端末300にはいずれもコンテンツA,Bが記憶されており、自通信端末300を含めると、100個の通信端末300にはいずれもコンテンツA,Bが記憶されている。
 そうすると、時刻tでは、コンテンツA,Bのいずれのコンテンツも全ての通信端末100に記憶されており、コンテンツA,Bに対応するコンテンツ情報332の推定通信端末数情報の値は0であるため、Cの値およびCの値は、いずれも0である。よって、通信端末数C=C+C=0である。
 時刻tにおいて、一の通信端末300に、コンテンツ識別子がCであるコンテンツCが記憶されたことを検知したとする。そうすると、式(4)より、コンテンツCについての通信端末数C=min(4,100-4)=min(64,36)=36である。よって、C=C+C+C=36である。なお、本例において式(4)のj=2とすると4<100-4であり、j=3とすると4>100-4である。したがって、j=3が採用される。また、送信端末数推定部322が、コンテンツCのデータの送信が完了する時刻を推定し、推定結果を示す送信完了時刻情報をコンテンツ情報332の一部として記憶部330に記憶させる。また、送信端末数推定部322は、推定結果を、最先に到来する送信完了時刻を示す送信完了時刻情報として記憶部330に記憶させる。
 時刻tにおいて、一の通信端末100に、コンテンツ識別子がDであるコンテンツDが記憶されたとする。そうすると、式(4)より、コンテンツDについての通信端末数C=min(4,100-4)=min(64,36)=36である。よって、C=C+C+C+C=72である。なお、本例では上述したように、j=3が採用される。また、送信端末数推定部322が、コンテンツDのデータの送信が完了する時刻を推定し、推定結果を示す送信完了時刻情報をコンテンツ情報332の一部として記憶部330に記憶させる。本例では、コンテンツDのデータの送信が完了する時刻は、コンテンツCのデータの送信が完了する時刻よりも後であるとする。この場合、最先に到来する送信完了時刻として記憶部330に記憶する送信完了時刻情報はコンテンツCの送信完了時刻情報のままである。
 そして、時刻tに、コンテンツCについての送信完了時刻情報が示す時刻が到来すると、コンテンツCについてのコンテンツ情報332の推定通信端末数情報の値は、従前の36から0に設定される。よって、C=0であるため、C=C+C+C+C=36である。そして、最先に到来する送信完了時刻として記憶部330に記憶する送信完了時刻情報はコンテンツCの送信完了時刻情報からコンテンツDの送信完了時刻情報に更新する。
 さらに、時刻tに、コンテンツDについてのコンテンツ情報332の推定通信端末数情報の値は、従前の36から0に設定される。よって、C=0であるため、C=C+C+C+C=0である。
 本実施形態によれば、第1の実施形態における効果、および第2の実施形態における効果に加えて、例えば各コンテンツが全ての通信端末300に保有されたことを検知するための制御メッセージをロスした場合でも、各コンテンツが全ての通信端末300に保有される時刻を推定することが可能となり、より厳密に通信端末数Cを推定することができる。
 以上に述べた各実施形態では、各通信端末100,200,300は、アドホックモードで互いの間の通信を行う。しかし、各通信端末100,200,300は、無線LANのアクセスポイントを介して互いの間の通信を行うように構成されてもよい。図19は、各通信端末がアクセスポイント400を介して通信を行うように構成された無線通信システム501の例を示すブロック図である。図19に示す例では、通信端末100,200,300の例として、通信端末100a~100hがアクセスポイント400を介して互いの間の通信を行っている。
 そのような構成によれば、各通信端末100,200,300間で直接に通信を行うことができない場合であっても、無線LANのアクセスポイント400を介して互いの間の通信を行い、第1~第3の実施形態における効果と同様な効果を奏することができる。
 なお、以上に述べた各実施形態における通信端末100,200,300の各構成要素は、ASIC(Application Specific Integrated Circuit)を含む半導体処理部品が用いられて実現されてもよい。また、これらの構成要素は、少なくとも1つのプロセッサ(例えば、 マイクロプロセッサ(MPU(Micro Processing Unit))、やDSP(Digital Signal Processor))を含むコンピュータシステムにプログラムを実行させることによって実現されてもよい。具体的には、第1の実施形態における情報配信制御部120、送信権調整部140、データ蓄積部150、および記憶部130と、第2の実施形態における情報配信制御部220、送信権調整部140、データ蓄積部150、および記憶部230と、第3の実施形態における情報配信制御部320、送信権調整部140、データ蓄積部150、および記憶部330とが行う送信信号処理または受信信号処理に関するアルゴリズムをコンピュータシステムに行わせるための命令群を含む1または複数のプログラムを作成し、当該プログラムをコンピュータに実行させればよい。
 当該プログラムは、様々な種類の非一時的なコンピュータ可読媒体(non-transitory computer readable medium)に格納されて、コンピュータに提供可能である。非一時的なコンピュータ可読媒体は、様々な種類の記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体は、例えば、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスク)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Compact Disc-Recordable)、CD-R/W(Compact Disc-Rewritable)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、およびRAM(Random Access Memory))である。また、プログラムは、様々な種類の一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、および電磁波を含む。一時的なコンピュータ可読媒体は、電線や光ファイバ等の有線通信路、または無線通信路を介して、プログラムをコンピュータに提供できる。
 なお、以上に述べた各実施形態は、上記に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
 例えば、上述した各実施形態では、送信確率算出部141が、通信端末数Cと、同じタイミングでデータ送信が可能な予め設定された通信端末数Nとを用いて、式(3)に示す計算方法により、調整基準値である送信確率pを算出した。
 しかし、独立な試行C回(通信端末数Cに相当)、および各試行における成功確率p(タイムスロットで送信権を得る確率pに相当)の二項分布B(C、p)に基づいて算出した成功回数によって、上述した各実施形態において送信権を得た通信端末数を近似できる。
 したがって、同じタイミングでデータ送信を行うことが可能な通信端末数がNとなる確率αを設定し、同じタイミングでデータ送信を行う通信端末数が確率αでN個以下となる確率pを送信確率として求めて使用する方法も考えられる。この場合、確率変数X=k(k=0、1、・・・、C)となる確率は式(5)で与えられる。
Figure JPOXMLDOC01-appb-I000001
 よって、下記の式(6)を満たす確率pを求めて用いることで、より効果的な制御が可能となると考えられる。なお、送信確率pは、式(6)を満たす確率pのうち、最大の値であることが好ましい。
Figure JPOXMLDOC01-appb-I000002
 また、ポアソン分布や正規分布を用いて、各実施形態において送信権を得た通信端末数を近似することも可能である。
 上述した第1の実施形態では、送信端末数推定部122は、ステップS107、S108の処理で、コンテンツ情報132が更新される度に通信端末数Cを推定し、推定結果を送信確率算出部141に入力する。しかし、送信端末数推定部122は、予め設定された送信端末数更新時間ごとにステップS108の処理を行って通信端末数を推定し、推定結果を送信確率算出部141に入力するように構成されていてもよい。
 ここで、送信確率算出部141は、送信端末数推定部122から通信端末数を通知されたことを契機にステップS109の送信確率算出処理を開始する。しかし、以前の通知時から通信端末数Cおよび隣接通信端末100の数が変化していなければ、送信確率算出部141は、今回の通知に基づく送信確率算出処理を行わず、前回算出した送信確率を利用するように構成されていてもよい。
 同様に、第2の実施形態のステップS508の処理、および第3の実施形態のS608の処理において、送信端末数推定部は、予め設定された送信端末数更新時間ごとに通信端末数Cを推定した推定結果を送信確率算出部141に通知するように構成されていてもよい。
 そして、送信確率算出部141は、当該推定結果に応じたステップS509,S610の処理で、以前の通知時から通信端末数Cおよび隣接通信端末100の数が変化していなければ、前回算出した送信確率を利用するように構成されていてもよい。
 以上に述べた各実施形態では、データブロック送信部153は、ステップS302の処理で、送信権決定部142による通知に応じて通信部160にデータを入力する処理を実行している。しかし、データブロック送信部153は、データブロック記憶部152に送信すべきデータブロックが記憶されている場合に、データブロック毎に送信権決定部142に送信可否を問い合わせるように構成されていてもよい。そして、データブロック送信部153は、送信権決定部142から送信許可を通知されたことに応じて、データブロックを通信部160に入力するように構成されていてもよい。
 なお、送信権決定部142は送信不可である場合に、データブロック送信部153に、次回の問い合わせ時刻と送信不許可であることとを併せて通知してもよい。次回の問い合わせ時刻は、例えば、今回送信不許可を通知されたタイムスロットの終了時刻に応じた時刻である。つまり、次回の問い合わせ時刻は、例えば、次に送信権を発生させるか否かを決定するタイムスロットの開始時刻に応じた時刻である。また、送信権決定部142が、例えば、M個のタイムスロットの送信権を同時に決定するように構成されている場合には、次回の問い合わせ時刻はM個目のタイムスロットの終了時刻に応じた時刻である。
 なお、送信権決定部142によるデータブロック送信部153への送信可否の通知には様々な方法やタイミングが考えられる。送信確率算出部141が算出した送信確率に基づいて、送信権決定部142がタイムスロット毎に送信可否を決定し、決定した送信可否に基づきデータブロック送信部153がデータを送信することが可能であれば、その方法を適宜変更することが可能である。
 また、以上に述べた各実施形態では、情報配信制御部から通信部160に入力されるデータは、全てデータ蓄積部150によって送信確率に基づいて送信制御される。
 しかし、データの種別やサイズ、コンテンツ等に応じて送信の優先度が設定されてもよい。そして、情報配信制御部が、高い段階の優先度が設定されたデータを直接通信部160に入力して、データ蓄積部150による送信確率に基づく送信制御を行わせずに、送信させるように構成されていてもよい。なお、データ蓄積部150のデータ分割部151がデータをデータブロックに分割した後に、直接通信部6に当該データブロックを入力してもよい。そのような構成によれば、優先度に基づいて送信制御を行うことができる。
 上述した各実施形態は本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
 実施形態4.
 次に、本発明の第4の実施形態の通信端末10について、図面を参照して説明する。図20は、本発明の第4の実施形態の通信端末10の構成例を示すブロック図である。図20に示すように、本発明の第4の実施形態の通信端末10は、データ記憶端末数カウント部21、通信端末数推定部22、調整基準値算出部41、決定部42、およびデータ送信部60を含む。
 なお、データ記憶端末数カウント部21は、図2,11,15に示すコンテンツ管理部121に相当する。送信端末数推定部22は、図2,11,15に示す送信端末数推定部122,222,322に相当する。調整基準値算出部41は、図5に示す送信確率算出部141に相当する。決定部42は、図5に示す送信権決定部142に相当する。データ送信部60は、図2,11,15に示すデータ蓄積部150に相当する。
 データ記憶端末数カウント部21は、他の通信端末からそれぞれ送信され、当該他の通信端末に記憶されているデータを示すそれぞれのデータ情報と、自通信端末の記憶手段における記憶内容とに基づいて、データごとに、記憶されている通信端末の数をカウントする。
 通信端末数推定部22は、データ記憶通信端末数カウント部21のカウント結果に基づいて、互いに同じタイミングでデータを送信する通信端末の数を推定する。
 調整基準値算出部41は、通信端末数推定部22が推定した通信端末の数を予め設定された許容数以下に制限するための調整基準値を算出する。
 決定部42は、調整基準値算出部41が算出した調整基準値に基づいて、記憶手段に記憶されているデータの送信を許可するか否かを決定する。
 データ送信部60は、決定部42がデータの送信を許可した場合に、データが記憶されていない通信端末にデータを送信する。
 本実施形態によれば、通信ネットワークに接続されている通信端末数が増加してもデータの衝突回数の増加を良好に抑制することができる。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2014年7月1日に出願された日本出願特願2014-135816を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 10、100、200、300  通信端末
 21  データ記憶端末数カウント部
 22  通信端末数推定部
 41  調整基準値算出部
 42  決定部
 60  データ送信部
 120、220、320  情報配信制御部
 121  コンテンツ管理部
 122、222、322  送信端末数推定部
 123  制御メッセージ送受信部
 130、230、330  記憶部
 131  通信端末情報
 132、232、332  コンテンツ情報
 140  送信権調整部
 141  送信確率算出部
 142  送信権決定部
 150  データ蓄積部
 151  データ分割部
 152  データブロック記憶部
 153  データブロック送信部
 160  通信部
 400  アクセスポイント

Claims (10)

  1.  他の通信端末からそれぞれ送信され、当該他の通信端末に記憶されているデータを示すそれぞれのデータ情報と、自通信端末の記憶手段における記憶内容とに基づいて、データごとに、記憶されている通信端末の数をカウントするデータ記憶端末数カウント手段と、
     前記データ記憶通信端末数カウント手段のカウント結果に基づいて、互いに同じタイミングでデータを送信する通信端末の数を推定する通信端末数推定手段と、
     前記通信端末数推定手段が推定した通信端末の数を予め設定された許容数以下に制限するための調整基準値を算出する調整基準値算出手段と、
     前記調整基準値算出手段が算出した前記調整基準値に基づいて、前記記憶手段に記憶されているデータの送信を許可するか否かを決定する決定手段と、
     前記決定手段が前記データの送信を許可した場合に、前記データが記憶されていない通信端末に前記データを送信するデータ送信手段とを備える
     ことを特徴とする通信端末。
  2.  前記決定手段は、各タイムスロットにおける前記データの送信を許可するか否かを決定し、
     前記データ送信手段は、前記決定手段が前記データの送信を許可したタイムスロットにおいて、前記データを送信する
     請求項1に記載の通信端末。
  3.  前記データには予め優先度が段階づけられて設定され、
     前記決定手段は、所定の段階未満の優先度が設定された前記データの送信を許可するか否かを決定し、
     前記データ送信手段は、前記決定手段が送信を許可した前記データ、または前記所定の段階以上の優先度が設定されたデータを送信する
     請求項1または請求項2に記載の通信端末。
  4.  前記調整基準値は、前記通信端末数推定手段によって推定された通信端末の数に対する前記許容数の割合である
     請求項1から請求項3のうちいずれかに記載の通信端末。
  5.  前記通信端末数推定手段は、
     前記データ情報によって、他の通信端末に、さらに他の通信端末および自通信端末に記憶されていない新たなデータが記憶されたことが示された場合に、互いに同じタイミングで前記データを送信する通信端末の数を推定し、
     各通信端末から送信されたデータ情報によって、前記データが前記各通信端末に記憶されたことが示された場合に、互いに同じタイミングで前記データを送信する通信端末の数が0であるとする
     請求項1から請求項4のうちいずれかに記載の通信端末。
  6.  前記通信端末数推定手段は、
     前記データ情報によって、他の通信端末に、さらに他の通信端末および自通信端末に記憶されていない新たなデータが記憶されたことが示された場合に、互いに同じタイミングで前記データを送信する通信端末の数を推定し、
     前記さらに他の通信端末および自通信端末への前記データの送信が完了するタイミングを推定し、前記タイミングが到来したときに、互いに同じタイミングで前記データを送信する通信端末の数が0であるとする
     請求項1から請求項4のうちいずれかに記載の通信端末。
  7.  他の通信端末からそれぞれ送信され、当該他の通信端末に記憶されているデータを示すそれぞれのデータ情報と、自通信端末の記憶手段における記憶内容とに基づいて、データごとに、記憶されている通信端末の数をカウントし、
     前記カウントの結果に基づいて、互いに同じタイミングでデータを送信する通信端末の数を推定し、
     前記推定した通信端末の数を予め設定された許容数以下に制限するための調整基準値を算出し、
     前記算出した前記調整基準値に基づいて、前記記憶手段に記憶されているデータの送信を許可するか否かを決定し、
     前記データの送信を許可した場合に、前記データが記憶されていない通信端末に前記データを送信する
     ことを特徴とする通信方法。
  8.  コンピュータに、
     他の通信端末からそれぞれ送信され、当該他の通信端末に記憶されているデータを示すそれぞれのデータ情報と、自通信端末の記憶手段における記憶内容とに基づいて、データごとに、記憶されている通信端末の数をカウントするデータ記憶端末数カウント処理と、
     前記データ記憶端末数カウント処理におけるカウント結果に基づいて、互いに同じタイミングでデータを送信する通信端末の数を推定する通信端末数推定処理と、
     前記通信端末数推定処理で推定した通信端末の数を予め設定された許容数以下に制限するための調整基準値を算出する調整基準値算出処理と、
     前記調整基準値算出処理で算出した前記調整基準値に基づいて、前記記憶手段に記憶されているデータの送信を許可するか否かを決定する決定処理と、
     前記決定処理で前記データの送信を許可した場合に、前記データが記憶されていない通信端末に前記データを送信するデータ送信処理とを実行させる
     ための通信用プログラムが記憶された記憶媒体。
  9.  請求項1から請求項6のうちいずれかに記載の前記通信端末を複数含む
     ことを特徴とする通信システム。
  10.  前記通信端末間の通信を中継するアクセスポイントを含む
     請求項9に記載の通信システム。
PCT/JP2015/003110 2014-07-01 2015-06-22 通信端末、通信方法、通信用プログラムが記憶された記憶媒体、および通信システム WO2016002161A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016530821A JP6540699B2 (ja) 2014-07-01 2015-06-22 通信端末、通信方法、通信用プログラム、および通信システム
US15/321,877 US10172148B2 (en) 2014-07-01 2015-06-22 Communication terminal, communication method, storage medium on which communication program is stored, and communication system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-135816 2014-07-01
JP2014135816 2014-07-01

Publications (1)

Publication Number Publication Date
WO2016002161A1 true WO2016002161A1 (ja) 2016-01-07

Family

ID=55018742

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/003110 WO2016002161A1 (ja) 2014-07-01 2015-06-22 通信端末、通信方法、通信用プログラムが記憶された記憶媒体、および通信システム

Country Status (3)

Country Link
US (1) US10172148B2 (ja)
JP (1) JP6540699B2 (ja)
WO (1) WO2016002161A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018036831A (ja) * 2016-08-31 2018-03-08 富士通株式会社 機器、情報処理方法、情報処理プログラム及び情報処理システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010050505A (ja) * 2008-08-19 2010-03-04 National Institute Of Information & Communication Technology 端末装置、端末制御方法、ならびに、プログラム
JP2011142456A (ja) * 2010-01-06 2011-07-21 Toshiba Corp 通信装置、通信方法及び通信システム
WO2013046798A1 (ja) * 2011-09-27 2013-04-04 株式会社 日立製作所 アドホックネットワーク通信端末、アドホックネットワーク通信端末の制御方法、およびアドホックネットワーク通信システム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272110B2 (en) * 2001-09-29 2007-09-18 Lg Electronics Inc. Method of allocating walsh code resource
JP4311234B2 (ja) 2004-03-08 2009-08-12 沖電気工業株式会社 通信タイミング制御装置、通信タイミング制御方法、ノード及び通信システム
JP4534739B2 (ja) * 2004-12-03 2010-09-01 トヨタ自動車株式会社 車両用通信装置
CN1996804A (zh) 2006-01-04 2007-07-11 株式会社Ntt都科摩 无线移动网络中的广播方法和装置
WO2008021128A2 (en) * 2006-08-08 2008-02-21 Siemens Energy & Automation, Inc. Devices, systems, and methods for communicating with a plc
JP2009065277A (ja) * 2007-09-04 2009-03-26 Kddi Corp 情報収集装置、通信異常検知装置およびコンピュータプログラム
US8000259B2 (en) * 2009-09-04 2011-08-16 Viasat, Inc. Distributed cache—adaptive multicast architecture for bandwidth reduction
CN102792756A (zh) * 2010-01-14 2012-11-21 爱信精机株式会社 节点、通信系统、程序以及通信方法
US8472399B2 (en) * 2010-07-06 2013-06-25 Apple Inc. Ranging channel structures and methods
WO2012063813A1 (ja) * 2010-11-08 2012-05-18 シャープ株式会社 移動通信システム、移動局装置、基地局装置、sgsn、ggsn、mme、mbms gw及び移動通信方法
KR102039065B1 (ko) * 2012-05-08 2019-10-31 한국전자통신연구원 큰 셀 반경을 가지는 이동 통신 시스템에서의 랜덤 액세스 방법 및 랜덤 액세스 채널 구조
WO2014132302A1 (ja) * 2013-02-27 2014-09-04 日本電気株式会社 通信システム、通信装置、通信制御方法、及び非一時的なコンピュータ可読媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010050505A (ja) * 2008-08-19 2010-03-04 National Institute Of Information & Communication Technology 端末装置、端末制御方法、ならびに、プログラム
JP2011142456A (ja) * 2010-01-06 2011-07-21 Toshiba Corp 通信装置、通信方法及び通信システム
WO2013046798A1 (ja) * 2011-09-27 2013-04-04 株式会社 日立製作所 アドホックネットワーク通信端末、アドホックネットワーク通信端末の制御方法、およびアドホックネットワーク通信システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018036831A (ja) * 2016-08-31 2018-03-08 富士通株式会社 機器、情報処理方法、情報処理プログラム及び情報処理システム

Also Published As

Publication number Publication date
JP6540699B2 (ja) 2019-07-10
JPWO2016002161A1 (ja) 2017-04-27
US20170142747A1 (en) 2017-05-18
US10172148B2 (en) 2019-01-01

Similar Documents

Publication Publication Date Title
US8797913B2 (en) Reduction of message and computational overhead in networks
US9842013B2 (en) Dynamic adaptive approach for failure detection of node in a cluster
Kesselheim et al. Distributed contention resolution in wireless networks
US20080123682A1 (en) Method for scheduling transmissions in an ad hoc network
WO2002054671A2 (en) Random medium access methods with backoff adaptation to traffic
WO2015007099A1 (zh) 数据包传输方法及装置
KR20060085240A (ko) 전송 트래픽 조정 방법, 전송 트래픽 조정 시스템, 통신프로그램 및 집적 회로
KR20160029834A (ko) 채널 액세스 또는 송신 파라미터들의 동적 적응을 위한 시스템들 및 방법들
US20080239988A1 (en) Method and System For Network Infrastructure Offload Traffic Filtering
KR101458245B1 (ko) 무선 메쉬 네트워크에서 데이터 전송의 혼잡 상황을 통지/회피하는 방법 및 이를 위한 메쉬 노드
US20220239600A1 (en) Avoiding jitter in a communication system
US11765094B2 (en) Communication system with de-jitter buffer for reducing jitter
US9516543B2 (en) Congestion control method and wireless communication equipment
JP6468193B2 (ja) 通信装置及び通信装置におけるネットワーク利用可能帯域推定方法、並びにネットワーク利用可能帯域推定プログラム
WO2016002161A1 (ja) 通信端末、通信方法、通信用プログラムが記憶された記憶媒体、および通信システム
JP2011035600A (ja) 無線通信システム
Abichar et al. CONTI: constant-time contention resolution for WLAN access
WO2014132303A1 (ja) 通信システム、通信装置、通信制御方法および非一時的なコンピュータ可読媒体
JP7270774B2 (ja) D2d同期のためのシグナリング方法
JP7136316B2 (ja) 通信制御装置、通信制御方法、及びプログラム
WO2014132302A1 (ja) 通信システム、通信装置、通信制御方法、及び非一時的なコンピュータ可読媒体
JP2009212978A (ja) 無線端末、パケット転送制御方法及びそのプログラム
JP6230942B2 (ja) 無線通信装置
CN114268577B (zh) 网络连接的建立方法、装置、设备及存储介质
US10721652B2 (en) Access point contention window alteration

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: 15815548

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016530821

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15321877

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15815548

Country of ref document: EP

Kind code of ref document: A1