WO2011122452A1 - 通信装置、通信システムおよび通信方法 - Google Patents

通信装置、通信システムおよび通信方法 Download PDF

Info

Publication number
WO2011122452A1
WO2011122452A1 PCT/JP2011/057252 JP2011057252W WO2011122452A1 WO 2011122452 A1 WO2011122452 A1 WO 2011122452A1 JP 2011057252 W JP2011057252 W JP 2011057252W WO 2011122452 A1 WO2011122452 A1 WO 2011122452A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
communication device
data
downstream
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2011/057252
Other languages
English (en)
French (fr)
Inventor
章佳 渥美
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to CN201180006121.1A priority Critical patent/CN102714630B/zh
Publication of WO2011122452A1 publication Critical patent/WO2011122452A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast

Definitions

  • the present invention relates to a technique for sharing data such as an electronic file to a plurality of users, and particularly to a technique for sharing the data by distributing data to be shared.
  • a LAN Local Area Network: hereinafter referred to as a local area LAN
  • a general public network for example, the Internet
  • a relay device such as a router
  • server-client type data communication refers to, for example, a server device that stores data to be shared connected to any local LAN and a communication terminal (client device) used by each user.
  • client device a communication terminal
  • Data communication in such a manner that the data is transmitted from the server device to the client device in response to a request, or the data is broadcasted from the server device to all client devices at a predetermined timing.
  • P2P Point To Point
  • Patent Document 1 discloses a technique for sequentially establishing a data distribution path having a tree-like topology in each communication device by a circuit switching method and distributing data along the data distribution path.
  • No. 2 discloses a technique for fairly determining a multicast tree for realizing multicast transmission of data according to the bandwidth available to each communication device.
  • server-client type data communication has a problem of low availability (availability). This is because in server / client type data communication, if any abnormality occurs in the server, data cannot be delivered at all. In addition, there is a possibility that the load is concentrated on the server, causing congestion, which is difficult to apply to a large-scale system, and has low scalability (room for dealing with an increase in the number of clients).
  • the problem of the server / client type is solved, but the information about the data to be acquired is notified to each site in advance, or whether the data has been distributed to all sites is confirmed. There is a problem that it is difficult to perform base management such as doing.
  • a communication device configured such that a plurality of communication devices connected to each other via a communication network form a tree-shaped data distribution path, and the origin side of the tree-shaped data distribution path A communication device of a data sharing group configured by the plurality of communication devices, which sequentially distributes data to be shared from the upstream communication device located in the network to the downstream communication device via the data distribution path.
  • Selection means for selecting one or more communication devices to be arranged as the downstream communication device located immediately below the communication device in the data distribution path; Instruction means for instructing the downstream communication apparatus selected by the selection means to further select the downstream communication apparatus; Data transfer means for transferring data to be shared distributed from another communication apparatus located immediately above the communication apparatus in the data distribution path to the downstream communication apparatus selected by the selection means; With A data distribution path for one layer is formed from the communication device by the selection means or instruction means.
  • the communication device further includes: List holding means for holding a list of the communication device and one or more communication devices arranged downstream thereof on the data distribution path; Generate another list describing one or more communication devices excluding the downstream communication device selected by the selection unit based on the list held in the list holding unit, and select the downstream side selected by the selection unit List generation and notification means for notifying the generated list of the generated list; With The selection means selects the downstream communication device from the list held in the list holding means.
  • the selection unit is configured as the upstream communication device according to an instruction from the communication device arranged upstream of the communication device on the data distribution path. Make a selection.
  • the communication device further includes: A first communication means connected to the communication network for communicating with other communication devices; A second communication means for communicating with one or more network devices; Sharing target data storage means for storing the sharing target data received from the upstream communication device via the first communication means; Data providing means for providing the stored sharing target data to the network device in response to a request received from the network device via the second communication means; With The data transfer means transfers the sharing target data received from the upstream communication device via the first communication means to the selected downstream communication device via the first communication means.
  • the communication device further includes: Comprising a disconnection detecting means for detecting that one communication device selected as a downstream communication device by the communication device has left the data sharing group;
  • the selection means should be arranged on the data distribution path as the downstream communication apparatus located immediately below the communication apparatus among one or more communication apparatuses arranged downstream of the detected communication apparatus. Select one or more communication devices.
  • the communication device further includes: A leaving detection means for detecting that any one of the communication devices arranged downstream from the communication device has left the data sharing group; With In response to the detection, the instruction means instructs a communication device arranged upstream of the detected communication device to select a downstream communication device arranged downstream of the detached communication device. To do.
  • the communication device further includes: On the data distribution path, a communication device arranged upstream of the communication device includes a disconnection detection unit that detects that the communication device has disconnected from the data sharing group, The selection means should be arranged on the data distribution path as the downstream communication apparatus located immediately below the communication apparatus among one or more communication apparatuses arranged downstream of the detected communication apparatus. Select one or more communication devices.
  • the communication device further includes: On the data distribution route, a disconnection detecting means for detecting that a communication device arranged upstream of the communication device has left the data sharing group; Means for notifying information relating to the communication device that detected the detachment to other communication devices arranged further upstream than the detected communication device; Is provided.
  • the disconnection detecting means receives a disconnection request from a communication device that intends to disconnect from the data sharing group, thereby confirming that the requesting communication device has disconnected from the data sharing group. Detect.
  • the disconnection detection unit receives the disconnection notification transmitted from the communication device arranged downstream of the communication device that has disconnected from the data sharing group on the data distribution path. It is detected that a communication device arranged upstream of the notification source communication device has left the data sharing group.
  • the communication device further includes: Priority storage means for storing priority; Priority order acquisition means for acquiring the priority order of other communication devices via the communication network; With The selection means selects the downstream communication device based on the acquired priority order.
  • the communication device further includes: A device having the highest priority among the plurality of communication devices based on the priority stored in the priority storage unit and the priority of another communication device acquired by the priority acquisition unit Determination means for determining whether or not When the determination unit determines that the communication device is the highest priority device among the plurality of communication devices, the selection unit selects the downstream device, and the communication device It becomes the starting point of the data distribution path in the data distribution path.
  • the communication device further includes: Receiving means for receiving a request to join the data sharing group from another communication device not belonging to the data sharing group; Priority order obtaining means for obtaining the priority order of the requesting communication device; With The determination unit is configured such that, based on the priority order stored in the priority order storage unit and the priority order of the request source communication device acquired by the priority order acquisition unit, the communication device is more than the request source communication device. Determine whether the device has a high priority, When the determination unit determines that the communication device is not a device having a higher priority than the request source communication device, the request source communication device has a new starting point with respect to the request source communication device.
  • the communication device further includes: Receiving means for receiving a request to join the data sharing group from another communication device not belonging to the data sharing group; Priority order obtaining means for obtaining the priority order of the requesting communication device; With The determination unit is configured such that, based on the priority order stored in the priority order storage unit and the priority order of the request source communication device acquired by the priority order acquisition unit, the communication device is more than the request source communication device. Determine whether the device has a high priority, When the determination unit determines that the communication device is a device having a higher priority than the request source communication device, the selection unit includes the request source communication in the downstream device of the communication device.
  • the upstream device selects one of the re-selected downstream devices from among the uncommitted communication devices. If there is no lower priority than that of the requesting communication device, the upstream device is undetermined with respect to one of the downstream devices of the communication device. Should select the downstream device To instruct the door.
  • the communication device further includes: Means for requesting participation in the data sharing group;
  • Means for requesting participation in the data sharing group In response to the request, when receiving a master change instruction from the origin communication device that is the origin of the shared data delivery in the data delivery route of the data sharing group, the selection unit sends the origin communication device to the communication
  • the communication apparatus is selected as a downstream apparatus of the apparatus, and the communication apparatus becomes a starting point of the shared data distribution in the data distribution path.
  • the communication device further includes: Routing means for transferring data received from the first communication means to the second communication means to the other communication device or the network device based on destination information added to the data.
  • the upstream communication in which a plurality of communication devices connected to each other via a communication network forms a tree-shaped data distribution path and is located on the origin side of the tree-shaped data distribution path.
  • a communication system constituting a data sharing group having the plurality of communication devices, which sequentially distributes data to be shared from the device to a downstream communication device via the data distribution path,
  • Each communication device Selection means for selecting one or more communication devices to be arranged as the downstream communication device located immediately below the communication device in the data distribution path; Instruction means for instructing the downstream communication apparatus selected by the selection means to further select the downstream communication apparatus;
  • Data transfer means for transferring data to be shared distributed from another communication apparatus located immediately above the communication apparatus in the data distribution path to the downstream communication apparatus selected by the selection means; With By sequentially selecting a downstream communication device from communication devices that are the starting points of the data distribution route, the data distribution route for one layer is sequentially formed for each communication device.
  • the communication devices are List holding means for holding a list of the communication device and one or more communication devices arranged downstream thereof on the data distribution path; Based on the list held in the list holding means, another list describing one or a plurality of communication devices excluding the downstream communication device selected by the selection means is generated, and the downstream selected by the selection means List generation and notification means for notifying the generated communication list of the generated list; With The selection means selects the downstream communication device from the list held in the list holding means.
  • a priority is assigned to each communication device, and one communication device of the plurality of communication devices is based on the priority, and is a starting point of the data distribution path. And Each of the communication devices selects the downstream communication device based on the priority order.
  • the communication devices are A first communication means connected to the communication network for communicating with other communication devices; A second communication means for communicating with one or more network devices; Sharing target data storage means for storing the sharing target data received from the upstream communication device via the first communication means; Means for providing the stored data to be shared to the network device in response to a request from the network device; The data transfer means transfers the data to be shared received from the upstream communication apparatus via the first communication means to the downstream communication apparatus described above via the first communication means, The sharing target data stored in the sharing target data storage unit of each communication device is shared by the network device connected to any communication device belonging to the data sharing group.
  • the communication devices are Routing means for transferring data received from the first communication means to the second communication means to the other communication device or the network device based on destination information added to the data.
  • the communication method of the present invention is configured such that a plurality of communication devices connected to each other via a communication network form a tree-shaped data distribution path, and the upstream side is positioned on the starting side of the tree-shaped data distribution path
  • Each communication device has a control means and a first communication means for connecting to the communication network and communicating with other communication devices.
  • the control means is A selection procedure for selecting one or more communication devices to be arranged as the downstream communication device located directly below the communication device in the data distribution path; An instruction procedure for instructing the downstream communication device selected in the selection procedure via the first communication unit so that the downstream communication device further selects a downstream communication device;
  • the first communication means selects the data to be shared distributed from the other communication apparatus located immediately above the communication apparatus in the data distribution path via the first communication means to the downstream communication apparatus selected by the selection means.
  • a data transfer procedure for transferring via the communication means of And a data distribution path for one layer is formed from the communication device by the selection procedure or the instruction procedure.
  • each of the communication devices further includes a list holding unit that holds a list of the communication device and one or more communication devices arranged downstream thereof on the data distribution path.
  • the control means is Generate another list describing one or more communication devices excluding the selected downstream communication device based on the held list, and for the downstream communication device selected by the selection unit, Take steps to notify the generated list, In the selecting step, the downstream communication device is selected from the list held in the list holding means.
  • each of the communication devices has storage means for storing a priority order corresponding to each of the communication devices
  • the control means is A procedure for obtaining the priority of another communication device via the communication network; Run The selecting procedure selects the downstream communication device based on the acquired priority order.
  • each communication device further includes second communication means for communicating with one or more network devices
  • the control means is A procedure for storing data to be shared received from an upstream communication device via the first communication means; Providing the stored sharing target data to the network device in response to a request from the network device via the second communication means; Execute.
  • FIG. 10 is a diagram for explaining data sharing group formation processing executed by the communication device 20-j. It is a flowchart which shows the flow of the delivery route determination process which the control part 210 of the communication apparatus 20-j performs according to a communication control program.
  • FIG. 1 It is a flowchart which shows the flow of the delivery route reconstruction process which the control part 210 performs according to a communication control program.
  • (A), (b), (c) is a figure for demonstrating delivery route determination operation
  • (A), (b) is a figure for demonstrating the delivery path
  • (A), (b) is a figure for demonstrating the delivery path
  • (A), (b), (c) is a figure for demonstrating the delivery path
  • Each of the communication devices 20-j is a router that interconnects an intra-site LAN (not shown) installed at each base of a company to a general public network (data communication network) 10.
  • Each of the communication devices 20-j connects from the first layer (physical layer) to the third layer (network layer) of the OSI reference model, and is transmitted according to a communication protocol of the network layer such as IP (Internet Protocol). Controls the transfer of incoming packets.
  • a communication terminal for example, a personal computer: not shown
  • An employee hereinafter simply referred to as a “user” working at the base is connected to each base LAN.
  • These communication terminals perform data communication with other communication devices (for example, communication terminals accommodated in other local LANs) via a communication device 20-j that connects the local LAN and the general public network 10. can do.
  • a user of a communication terminal accommodated in each local area LAN can participate in a remote presentation or a remote conference using the communication terminal. As described above, it is convenient to allow participants to share electronic files such as materials in such remote presentations.
  • a communication device 20-j having a communication terminal of a user participating in a remote presentation under its control that is, a communication device 20- connecting a local LAN that accommodates the communication terminal to the general public network 10) j
  • form a data sharing group and distribute and store the data to be shared to each of the communication devices 20-j participating in the data sharing group.
  • the user of each communication terminal accesses the communication device 20-j having the communication terminal and acquires and browses the data to be shared.
  • the distribution of the same data to each communication device 20-j belonging to the data sharing group is performed as follows.
  • each of the communication devices 20-j participating in the data sharing group is caused to execute processing that clearly shows the characteristics of the present embodiment in each of the communication devices 20-j, as shown in FIG. A logical data distribution route with a simple tree shape, and join the data to be shared to the data sharing group according to the constructed data distribution route by multicasting from the parent device (communication device located at the origin of the data distribution route) It is propagated to each communication device. More specifically, each of the communication devices 20-j in FIG. 1 represents the priority selected as the parent device (or the high processing capacity of the communication device 20-j and the bandwidth available in the communication network).
  • the communication device 20-j that clearly shows the features of the present embodiment will be mainly described.
  • FIG. 3 is a block diagram illustrating a configuration example of the communication device 20-j.
  • the communication device 20-j includes a control unit 210, a first communication interface (hereinafter referred to as I / F) unit 220, a second communication I / F unit 230, an external device I / F unit 240, and a storage unit. 250, and a bus 260 that mediates data exchange between these components.
  • I / F first communication interface
  • the control unit 210 is, for example, a CPU (Central Processing Unit).
  • the control unit 210 functions as a control center that controls the operation of each unit of the communication device 20-j by executing a program stored in the storage unit 250 (more precisely, the nonvolatile storage unit 254). .
  • the first communication I / F unit 220 and the second communication I / F unit 230 are both NIC (Network Interface Card) and are connected to different communication networks. Specifically, the first communication I / F unit 220 is connected to the general public network 10, and the second communication I / F unit 230 is connected to the local LAN.
  • the first communication I / F unit 220 and the second communication I / F unit 230 divide a packet (communication message by a predetermined data size and receive a predetermined amount of data) from each connection destination communication network. The data block obtained by adding the header is transferred to the control unit 210, and the packet transferred from the control unit 210 is transmitted to each communication network of the connection destination.
  • the external device I / F unit 240 is connected to an external device such as a USB memory, a serial console, or an expansion card connected to an internal expansion bus with a predetermined protocol (such as a wired protocol such as USB or RS-232C, or Bluetooth). It is a collection of interfaces that exchange data according to a wireless protocol. For example, when a USB memory is used as an external device, a USB interface may be included in the external device I / F unit 240. When a serial console is used as an external device, a serial interface such as an RS-232C interface is used. It may be included in the external device I / F unit 240.
  • the external device I / F unit 240 is used when various data such as the priority data Pr-j described above are stored in the communication device 20-j in advance.
  • the storage unit 250 includes a volatile storage unit 252 and a nonvolatile storage unit 254.
  • the volatile storage unit 252 is a volatile memory such as a RAM (Random Access Memory), for example, and is used as a work area when the control unit 210 executes various programs, and the first communication I / F unit 220 and the like. It functions as a buffer for temporarily storing packets received via the second communication I / F unit 230.
  • the participating device list is stored in the volatile storage unit 252 of at least the communication device 20-j that functions as a parent device or an intermediate node, and the volatile storage of each communication device 20-j excluding the communication device that functions as the parent device.
  • the unit 252 includes information (device identification data and the like) for specifying a communication device arranged immediately above the communication device 20-j in the data distribution path, and information (device identification data and the like) for specifying a parent device in the data sharing group. Is stored.
  • the participation device list shown in FIG. 4 is stored in the volatile storage unit 252 of the communication device 20-1.
  • This participating device list includes a record about the own device (the communication device storing the participating device list) and a device having a lower priority than the own device among the communication devices participating in the data sharing group. Are stored.
  • Each record stored in the participating device list includes device identification data and priority data Pr-j as shown in FIG.
  • the volatile storage unit 252 of each communication device other than the communication device 20-1 the device identification data of the communication device 20-1 that is the parent device and the device identification data of other communication devices arranged immediately above in the data distribution path are stored. Etc. are also stored.
  • the device identification data is data for uniquely identifying each communication device 20-j.
  • a communication address such as a MAC (Media Access Control) address or an IP address and a character string indicating the name of the communication device 20-j are used.
  • the communication address is used as a destination address when data communication is performed with the communication device 20-j according to the communication protocol of the data link layer (or network layer), and the name of the communication device 20-j is the communication shown in FIG. This is used to uniquely identify each communication device 20-j in the overlay network in the system.
  • the communication device 20-j functions as a parent device or an intermediate node
  • information on other communication devices selected by the communication device 20-j as a downstream device is also stored in the volatile storage unit 252. . This information may be included in the participating device list. In this case, a field for identifying the currently selected downstream device is provided, and a value such as 1 is recorded if it is a downstream device, otherwise 0. do it.
  • the nonvolatile storage unit 254 is a nonvolatile memory such as an EPROM (Erasable Programmable Read Only Memory) or a flash memory, for example, and various data and various programs are stored in advance in the nonvolatile storage unit 254.
  • Examples of data stored in the non-volatile storage unit 254 include data (not shown in FIG. 3) necessary for executing packet transfer control such as a so-called routing table, priority order data Pr-j, and own device. Device identification data, initial node data, and pre-shared key.
  • the pre-shared key is an encryption key used when authenticating to participate in the data sharing group or encrypting data transmitted / received in the data sharing group.
  • a storage area for holding data to be shared (such as various files) is provided in the nonvolatile storage unit 254, but the memory capacity is If sufficient, the storage area may be provided in the volatile storage unit 252 or a storage area may be provided in an external storage device such as an HDD connected via the external device I / F.
  • an example of a program stored in the nonvolatile storage unit 254 is a communication control program shown in FIG.
  • the control unit 210 reads the communication control program from the nonvolatile storage unit 254 to the volatile storage unit 252 and starts executing the communication control program when the power (not shown) of the communication device 20-j is turned on.
  • Various functions shown in FIG. 3 are realized.
  • the outline of the functions realized by the control unit 210 in accordance with this communication control program is as follows.
  • (A) Packet transfer control function This is a process for sending a packet addressed to a communication device other than its own device (that is, a packet whose destination IP address is not that of the communication device 20-j) to the first communication I / F unit 220. Alternatively, when receiving via the second communication I / F unit 230, this is a function of performing transfer control according to the destination IP address.
  • This packet transfer control function is a so-called router original function, and there is no particular difference from that in a general router, so detailed description thereof will be omitted.
  • (B) Data sharing group formation function This is a function for forming a data sharing group and selecting a parent device of the group. More specifically, the control unit 210 is connected to the second communication I / F unit 230 and connected to the second communication I / F unit 230 in a state where the communication device 20-j does not participate in the data sharing group.
  • a communication terminal gives an instruction to join the data sharing group
  • a communication message for requesting participation in the data sharing group (hereinafter referred to as a participation request message) is added to the priority data Pr- j, the device identification data, and the pre-shared key are written, and a participation request message is transmitted to the communication device 20-k indicated by the initial node data.
  • initial node data indicating a plurality of communication devices 20-k is stored in the nonvolatile storage unit 254, one of the plurality of communication devices 20-k is selected (for example, communication Select the youngest address) and send a participation request message.
  • the control unit 210 of the communication device 20-k Upon receiving the participation request message, the control unit 210 of the communication device 20-k receives a non-participation notification message, a parent device introduction message, a reception confirmation message, and a parent device change instruction according to the participation state of the device itself in the data sharing group. Reply any of the messages.
  • the non-participation notification message is a communication message that is returned for notification when the communication device 20-k does not participate in the data sharing group.
  • the parent device introduction message is a communication message that is returned for notification when the communication device 20-k is participating in the data sharing group but is not operating as the parent device.
  • the control unit 210 of the communication device 20-k When returning this parent device introduction message, the control unit 210 of the communication device 20-k writes the device identification data of the parent device at that time in the payload portion and returns it.
  • the reception confirmation message and the parent device change instruction message are communication messages that are returned when the communication device 20-k operates as the parent device.
  • the control unit 210 of the communication device 20-k When receiving the participation request message, the control unit 210 of the communication device 20-k operating as the base unit authenticates the transmission source using the pre-shared key written in the participation request message, and performs authentication. If successful, the following processing is executed. That is, the control unit 210 of the communication device 20-k reads the priority order data Pr-j written in the received participation request message and compares it with the priority order data Pr-k of its own device. When the priority order of the own device is high, the control unit 210 of the communication device 20-k generates a record including the device identification data and the priority order data Pr-j written in the participation request message. After registration in the participating device list, an acceptance confirmation message is returned to the communication device 20-j that is the transmission source of the participation request message.
  • the control unit 210 of the communication device 20-k returns a parent device change instruction message in which the participating device list at that time is written and requests to join the parent device. Instruct the communication device 20-j that is the message transmission source, and change the device identification data of the new parent device (that is, change the parent device) to each communication device whose device identification data is registered in the participating device list. Device identification data of the communication device 20-j as a counterpart) is transmitted.
  • the control unit 210 of the communication device 20-j executes different processes depending on which of the four types of communication messages is returned.
  • the control unit 210 of the communication device 20-j transmits a participation request message to that device if there is another communication device indicated by the initial node data, and waits for a response.
  • the communication device 20-j thereafter performs data sharing. Operates as a group parent.
  • the control unit 210 of the communication device 20-j stores the participating device list written in the parent device change instruction message in the volatile storage unit 252, Thereafter, it operates as a base unit.
  • the control unit 210 of the communication device 20-j sends the communication device (for example, the communication device 20-i) indicated by the device identification data written in the parent device introduction message.
  • a participation request message is transmitted again.
  • the control unit 210 of the communication device 20-j writes the device identification data in the volatile storage unit 252 as information indicating the parent device.
  • the base unit change instruction message is returned, the operation as the base unit is the same as described above.
  • the communication device 20-j is not operating as a parent device and receives a participation request message from another communication device, the parent device in which device identification data indicating the parent device stored in the volatile storage unit 252 is written. Reply the introduction message to the sender of the participation request message.
  • (C) Distribution path determination function This is a function for determining and constructing a tree-shaped data distribution path as shown in FIG. 2 as a data distribution path between the communication devices 20-j participating in the data sharing group. .
  • the control unit 210 instructs the start of data distribution from a communication terminal connected to the second communication I / F unit 230 and under the communication device 20-j. Triggered by the distribution route determination process (see FIG. 6), the downstream devices located immediately below the own device are selected, and further downstream devices are selected with respect to those downstream devices. Is instructed. Then, the control unit 210 establishes an encrypted communication path with the downstream apparatus of its own apparatus, and constructs a tree-shaped data distribution path as shown in FIG.
  • Distribution route reconstruction function This is because the distribution route determination function determines a data distribution route between a plurality of communication devices participating in a data sharing group and constructs a tree-shaped data distribution route. A new communication device joins the data sharing group (participation in the middle), or any communication device that is participating in the data sharing group and constitutes a node in the tree-like data distribution path leaves the data sharing group. This is a function for reconstructing the data delivery route when it is performed (withdrawal). For example, when the control unit 210 of the communication device 20-j operating as the base unit is requested to join midway from another communication device, the control unit 210 executes the distribution route reconstructing process shown in FIG. Rebuild. The details of the delivery route reconstruction processing will be clarified in the description of the operation example in order to avoid duplication.
  • (E) Encrypted communication function This is a function for performing encrypted communication by establishing an encrypted communication path with a downstream apparatus.
  • a method of setting an IPsec tunnel with a downstream device or a method of performing encryption for each session such as SSL-VPN may be used.
  • the full mesh VPN method may be used.
  • data to be shared can be safely distributed by encrypting data communication along the data distribution path.
  • the communication network that mediates data communication between the communication devices 20-j is the general public network 10, the data communication is encrypted, but such encryption is not necessarily required.
  • (F) Status notification / monitoring function This is a method of periodically transmitting packets to a pre-designated counterpart device (downstream device in the present embodiment) among the communication devices 20-j belonging to the data sharing group. Based on the reception status of packets transmitted from the other communication device 20-j (that is, the upstream device) specifying the own device as the partner device to the own device while notifying the operation status of the own device.
  • This is a function for monitoring the operation of 20-j (upstream apparatus).
  • this function is applied to a data sharing group that has joined a data sharing group due to a power failure or line disconnection, etc. It is used to detect that the user has left.
  • the above is the configuration of the communication device 20-j.
  • the control unit 210-2 When an instruction to join the data sharing group is given to the communication device 20-2, the control unit 210-2 causes the communication device 20-k (k) indicated by the initial node data stored in the nonvolatile storage unit 254-2. ⁇ 2) A participation request message is transmitted. In this operation example, it is assumed that each communication device stores in advance all other communication devices except for itself as initial node data. In this operation example, when the above instruction is given to the communication device 20-2, none of the other six communication devices participate in the data sharing group. Therefore, the control unit 210-2 receives the non-participation notification message from any of the communication devices 20-k (k ⁇ 2).
  • the communication device 20-2 After confirming the reception of the non-participation notification message from all the communication devices indicated by the initial node data, the communication device 20-2 thereafter operates as a parent device.
  • the volatile storage unit 252-2 of the communication device 20-2 stores information describing its own device identification data as a participating device list.
  • the control unit 210-1 indicates the communication device 20-k indicated by the initial node data stored in the nonvolatile storage unit 254-1.
  • a participation request message is transmitted to (k ⁇ 1).
  • the communication device 20-2 is already operating as a parent device of the data sharing group, and returns either an acceptance confirmation message or a parent device change instruction message to the communication device 20-1.
  • the control unit 210-2 of the communication device 20-2 is first stored in the nonvolatile storage unit 254-2 of the own device. Is compared with the priority data Pr-1 of the communication device 20-1 written in the participation request message. As illustrated in FIG. 2, in this operation example, the communication device 20-1 has a higher priority than the communication device 20-2 (Pr-1> Pr-2). Device identification data indicating the device 20-1 is stored in the volatile storage unit 252-2, and the parent device replacement instruction including the participating device list stored in the volatile storage unit 252-2 is transmitted to the communication device 20-1. After the message is returned, the communication device 20-2 operates as a participating device other than the parent device.
  • control unit 210-1 of the communication device 20-1 when the control unit 210-1 of the communication device 20-1 receives the parent device replacement instruction message, it writes the participating device list written in the parent device replacement instruction message into the volatile storage unit 252-1. After adding its own device identification data or the like to the participating device list, the communication device 20-1 operates as a parent device of the data sharing group.
  • the control unit 210-2 uses the communication device 20-1 as information indicating the base unit.
  • a process of returning a parent device introduction message including the device identification data shown is executed.
  • the parent device introduction message is returned from the communication device 20-2.
  • the control unit 210-j transmits the participation request message again to the communication device (that is, the communication device 20-1) indicated by the device identification data written in the parent device introduction message.
  • the control unit 210-1 transmits the priority data Pr-j of the transmission source written in the participation request message and the priority stored in the non-volatile storage unit 254-1 of the own device (that is, the communication device 20-1). Although the comparison with the rank data Pr-1 is performed, in this operation example, since the priority of the communication device 20-1 is the highest, no change of the parent device occurs.
  • the control unit 210-1 of the communication device 20-1 sequentially registers the device identification data of the transmission source of the participation request message in the participation device list. As a result, as shown in FIG. 5, a data sharing group having the communication device 20-1 as the parent device is formed, and the participating device list including device identification data and the like regarding the communication devices participating in the data sharing group is volatile. It is stored in the storage unit 252-1.
  • communication devices 20-2 to 7 store the device identification data of the communication device (communication device 20-1) functioning as a parent device of the participating data sharing group in a volatile memory. Stored in the unit 252. The above is the data sharing group forming operation.
  • the control unit 210-1 of the communication device 20-1 operating as the parent device sends a predetermined communication message (for example, a distribution start instruction message for instructing start of data distribution) to the communication device, for example.
  • a predetermined communication message for example, a distribution start instruction message for instructing start of data distribution
  • the information is registered in the participating device list stored in the volatile storage unit 252-1.
  • the predetermined number for example, two
  • the priority order of the other six communication devices 20-j excluding the communication device 20-1 is Pr-2> Pr-3...
  • the communication device 20-2 and the communication device 20-3 are selected as downstream devices.
  • records corresponding to the selected communication device are shaded.
  • control unit 210-1 determines that the upstream device is undetermined except the communication device belonging to the data sharing group and the downstream device selected in step SA110 (hereinafter, the upstream undetermined device). It is determined whether or not there is (step SA120). Then, the control unit 210-1 executes the process of step SA130 when the determination result of step SA120 is “Yes”. In this operation example, as shown in FIG.
  • step SA120 Becomes “Yes”, and the process of step SA130 is executed.
  • the control unit 210-1 of the communication device 20-1 should select each downstream device from the upstream undetermined devices for each downstream device selected in step SA110. Is a process of transmitting a communication message (hereinafter referred to as a selection instruction message). More specifically, the control unit 210-1 first selects a downstream device (this device) that has selected a record other than its own device from among the records stored in the participating device list (participating device list 1) in step SA110. In the case of the operation example, the communication device 20-2 and the communication device 20-3) are divided into groups, and new participation device lists (participation device lists 2 and 3) are generated for each group.
  • control unit 210-1 transmits a selection instruction message including each of the generated participating device lists to each downstream device selected in step SA110.
  • various modes can be considered as the grouping method. For example, if the priorities of the downstream devices selected in step SA110 are not significantly different from each other, the number of upstream undetermined devices included in each participating device list is substantially equal, and the communication belongs to each group. There can be considered a mode of grouping so that the priority distributions of the devices are also uniform. On the other hand, if there is a variation in the priority order of each downstream side device selected in step SA110, the higher the priority order, the higher the number of upstream side undetermined devices will be. You can divide them into groups.
  • the generated participating device list includes information on the selected downstream device and one or more higher-level undetermined devices grouped so as to be arranged further downstream.
  • the participation device list is divided in the former manner. .
  • the communication device 20-2 in addition to the communication device 20-2, information about the communication devices 20-4 and 20-6 is registered.
  • the list is transmitted, and to the communication device 20-3, in addition to the communication device 20-3, a participation device list in which information on the communication devices 20-5 and 20-7 is registered is transmitted.
  • the control unit 210-1 of the communication device 20-1 operating as the parent device in addition to the selection instruction message or the transmission of the participating device list, volatizes the appropriate device among the downstream devices of the own device.
  • the participating device list (participating device list 1) stored in the storage unit 252-1 is transmitted and instructed to be stored as backup data.
  • the communication device having the highest priority among the communication devices on the downstream side of its own device the highest data transmission capability such as processing capacity and available bandwidth, etc.
  • the transmission of the backup participating device list and the instruction may be executed at an arbitrary timing, for example, before or after the transmission of the selection instruction message. How this backup data is used will be clarified later.
  • control unit 210-2 (or control unit 210-3) receives the selection instruction message transmitted from the communication device 20-1 that is the upstream device (FIG. 6: Yes in step SA100), the selection instruction message.
  • the participation device list (participation device lists 2 and 3) written in is stored in the volatile storage unit 252
  • the processing after step SA110 is executed in the same manner as the control unit 210-1.
  • the device identification data of the communication device 20-1 that is the transmission source of the selection instruction message is directly above this communication device 20-2 (or 20-3) in the data distribution path.
  • the information is stored in the volatile storage unit 252 as information for specifying the arranged communication device.
  • the control unit 210-2 executes a process of writing the backup data in the volatile storage unit 252-2 in addition to the processes after step SA110 in FIG.
  • the control unit 210-2 refers to the participating device list received from the communication device 20-1, and selects a predetermined number (for example, two) of downstream devices in descending order of priority (Step SA110). ).
  • the participating device list transmitted from the communication device 20-1 to the communication device 20-2 includes the own device (communication device 20-2), the communication devices 20-4, and 20-6. Since the information is included, the control unit 210-2 selects the communication device 20-4 and the communication device 20-6 as downstream devices.
  • step SA120 the determination result of the determination process in step SA120 is “No”. Therefore, the control unit 210-2 ends the delivery route determination process without executing the process of step SA130.
  • the control unit 210-3 refers to the participating device list received from the communication device 20-1, selects the communication device 20-5 and the communication device 20-7 as downstream devices, and performs the distribution route determination process. finish. Thereafter, each of the communication devices 20-j that play the role of the master unit or the intermediate node establishes an encrypted communication path with the downstream side device, whereby the tree-shaped data shown in FIG. The data to be shared is propagated along the delivery route.
  • the parent device that is, the communication device 20-1 having the highest priority
  • the communication devices 20-2 and 20-3 also contribute to the determination of the data distribution route. For this reason, the load is not concentrated on a specific device, and congestion is less likely to occur.
  • the data distribution route is determined. For this reason, a route on the way does not become a bottleneck, and data distribution with high communication efficiency can be performed.
  • the data distribution path is determined as shown in FIG. 8C, and the parent device at that time is the communication device 20-1.
  • 210-8 is introduced from the communication device 20-k indicated by the initial node data to the communication device 20-1 as the parent device.
  • the control unit 210-8 of the communication device 20-8 introduced with the parent device in this way transmits the participation request message described above to the parent device (ie, the communication device 20-1) (FIG. 9A). reference).
  • the control unit 210-1 refers to the pre-shared key written in the participation request message, authenticates the transmission source, and executes the distribution route reconstruction process when the authentication is completed. To do.
  • FIG. 7 is a flowchart showing the flow of the delivery route reconstruction process executed by the control unit 210-1 of the communication device 20-1.
  • the control unit 210-1 determines whether or not the communication device requesting midway participation (hereinafter, midway participation device: communication device 20-8 in this operation example) is higher than the priority of its own device. Is determined (step SB100).
  • the priority of the communication device 20-8 that has transmitted the participation request message is equal to or lower than the priority of the communication device 20-1, so the determination result in step SB100 is “No”, and the control unit 210-1
  • the process after step SB120 is executed.
  • step SB120 of FIG. 7 the control unit 210-1 is more than the midway participation device in the downstream devices (communication devices 20-2 and 20-3 in the example of FIG. 8C) of the communication device 20-1. It is determined whether there is a downstream device having a low priority. If the determination result of step SB120 is “Yes”, control unit 210-1 executes the processes of step SB130 and step SB140. Conversely, if the determination result of step SB120 is “No”, control unit 210-1 executes step SB140. Perform processing only.
  • Step SB130 is a process of replacing the corresponding downstream device with a midway participating device.
  • the control unit 210-1 selects one of them and replaces it with a midway participating device.
  • various modes can be considered as specific selection modes when selecting one downstream device to be replaced.
  • a mode of selecting the lowest priority among the downstream devices or a mode of selecting the highest priority among the downstream devices having a lower priority than the midway participation device, or the midway participation device
  • a serial number may be assigned to a downstream device having a lower priority
  • a pseudo random number may be generated within the range of the serial number
  • a device having a serial number that matches the pseudo random number may be selected as a replacement target.
  • step SB140 the control unit 210-1 selects one of the downstream devices, and the upstream undetermined device at that time (if the processing in step SB130 is executed, the communication replaced with the midway participating device)
  • This is a process of transmitting a selection instruction message in which a record of a device or a participating device if the same processing is not executed is written and instructing the upstream undecided device to be incorporated into the data distribution path.
  • a selection instruction message in which a record of a device or a participating device if the same processing is not executed is written and instructing the upstream undecided device to be incorporated into the data distribution path.
  • the control unit 210-1 selects one of the downstream devices, and the upstream undetermined device at that time (if the processing in step SB130 is executed, the communication replaced with the midway participating device)
  • the control unit 210 of the downstream apparatus instructed to incorporate the upstream undetermined apparatus in this way steps of the distribution path reconstructing process starting from this downstream apparatus or the above-described distribution path determining process (see FIG. 6)
  • the process after SA110 is executed. Thereafter, the delivery route determination process is sequentially executed until there is no upstream undetermined device in the downstream communication device 20-j.
  • various aspects can be considered as a selection aspect of the downstream apparatus which instruct
  • the communication device 20-8 that is a requester of midway participation is a device on the downstream side of the communication device 20-1 that is the parent device (that is, the communication device 20-2 and the communication device 20-3). Therefore, the determination result in step SB120 of the distribution path reconstruction process executed by the control unit 210-1 is “No”, and the control unit 210-1 executes only the process of step SB140. .
  • the downstream devices of the communication device 20-1 are the communication devices 20-2 and 20-3, and the former is higher in priority, so the upstream undetermined device is incorporated into the communication device 20-2. Is instructed.
  • the control unit 210-2 of the communication device 20-2 executes a distribution route reconstruction process when the communication device 20-2 is the starting point. That is, when there is a downstream device having a lower priority than the midway participation device by comparing the priority of the midway participation device instructed to be incorporated with the priority of each communication device selected as its downstream device Is replaced with the midway participation device, and in other cases, the downstream side device is instructed to incorporate the midway participation device.
  • the communication device 20-8 is replaced with the communication device 20-6 based on the priority order, and the communication device 20-4 and the communication device 20-8 become downstream devices of the communication device 20-2.
  • the communication device 20-8 since the communication device 20-8 has a higher priority, the communication device 20-8 is instructed to incorporate the communication device 20-6 that has become an upstream undetermined device. In response to this instruction, the control unit 210-8 of the communication device 20-8 executes the distribution path reconstruction process. However, in this state, the communication device 20-8 has not selected the downstream device (reconstruction). The distribution route determination process is executed because the distribution route to be processed has not been established). In the distribution route determination process executed by the control unit 210-8, the communication device 20-6 is selected as the downstream device of the communication device 20-8. As a result, as shown in FIG. Will be rebuilt.
  • the data distribution path can be reconstructed by assigning a role corresponding to the priority to the midway participating device. It can be done.
  • the data distribution path downstream from the communication device 20-3 is not affected at all. That is, according to the present embodiment, it is possible to reduce the influence range of the reconstruction of the data distribution path.
  • step SB100 in FIG. 7 the determination result in step SB100 in FIG. 7 is “Yes”, and the change of the parent device described above is performed.
  • the control unit 210-1 upon receiving a participation request message transmitted from the communication device 20-x having a higher priority than the communication device 20-1, the control unit 210-1 receives a participation device list (participation device list 1) and A base unit change instruction message in which an indicator for instructing construction of a data distribution path is written is returned.
  • the control unit 210-x that has received this base unit change instruction message writes the participating device list written in the base unit change instruction message in the volatile storage unit 252-x and stores information such as its own device identification data. After that, the process as the master unit is executed. Specifically, the control unit 210-x executes a process of reconstructing the data distribution path according to the indicator written in the base unit change instruction message.
  • the communication device 20-1 is used as a downstream device of the communication device 20-x to reconstruct the data distribution path (hereinafter referred to as the second mode).
  • communication devices 20-1 and communication devices that is, the communication device 20-2 and the communication device 20-3) which are downstream devices of the communication device 20-1 as shown in FIG.
  • a mode hereinafter referred to as a third mode
  • the processing after step SA110 in FIG. 6 is performed by the communication device 20-x with only the communication device 20-1 as the upstream undetermined device. What is necessary is just to make the control part 210 perform. Further, in order to realize the reconstruction in the mode shown in FIG. 10B, the communication devices 20-1, 20-2 and 20-3 are determined as upstream undetermined devices, and the communication device 20-x can be selected. It is only necessary to cause the control unit 210 of the communication device 20-x to execute the processing after step SA110 in FIG. 6 in a state where the number of such downstream devices is three.
  • the communication device of the parent device that is the starting point (root node) of the data distribution route and the communication device other than the terminal (intermediate node) are:
  • each group (that is, a participating device list) that constitutes a downstream branch is stored, and the information is updated according to reconstruction.
  • the data delivery route is reconstructed according to the second or third mode immediately after the change of the master unit, and then Of course, the reconstruction according to the first mode may be performed after a certain period of time. This is because there is a possibility that some data distribution is performed in the state where the data distribution route is constructed, so that the data distribution is not hindered by a significant change in the data distribution route, and the data distribution This is because the data distribution route is reconstructed to be more efficient in anticipation of the end of the process.
  • the parent device can detect whether or not the data distribution within the data sharing group is actually performed, the data distribution may be performed when the parent device is changed.
  • the data distribution route is reconstructed in the second or third mode, and the reconstruction in the first mode is performed when the end of the data distribution is detected, and the data distribution is performed when the change of the master unit occurs. If not, the data delivery route may be immediately reconstructed in the first mode.
  • a communication device having a lower priority than the parent device joins in the middle, when the downstream device and the halfway joining device are exchanged, the downstream device to be exchanged (in the case of the above example, the communication device 20-6).
  • the operation when another communication device is arranged as a downstream device downstream of () is also reconstructed by the first to third modes described here or a combination thereof.
  • FIG. 9B First, in the state shown in FIG. 9B, taking as an example the case where the communication device 20-8 is disconnected halfway, the operation when the communication device 20-j serving as the intermediate node is disconnected halfway is illustrated in FIG. Description will be made with reference to FIG.
  • the communication device 20-j taking the role of an intermediate node leaves the data sharing group halfway, it performs a process of notifying that fact to the upstream device (hereinafter referred to as a leave notification process) and then leaves.
  • a leave notification process a process of notifying that fact to the upstream device
  • the data distribution path is reconstructed except for the communication device 20-j that is the request for the midway withdrawal, and the data delivery route is removed after the reconstruction is completed.
  • the disconnection notification process is not performed due to some hardware failure, power supply disconnection, communication line disconnection, or the like, and the communication device 20-j serving as the intermediate node may be disconnected midway.
  • the communication device 20-4 is disconnected halfway by performing predetermined departure notification processing and a case where the communication device 20-4 is disconnected halfway without performing the separation notification processing will be described separately.
  • the control unit 210 of the communication device 20-j When leaving after making a leave notification) Instructed to leave the data sharing group, the control unit 210 of the communication device 20-j first executes a leave notification process. In this leave notification process, the control unit 210 is arranged downstream of the participating device list (communication device 20-j) stored in the volatile storage unit 252 in a communication message for requesting leave (hereinafter, leave request message). Device identification data and priority order data) of one or more communication devices that are present and are transmitted to the upstream device disposed immediately above the communication device that is partway in the data distribution path. As described above, the device identification data of the upstream side device arranged immediately above the communication device that leaves the data distribution route is stored in the volatile storage unit 252 when the distribution route is determined.
  • the control unit 210-8 leaves the data sharing group from the communication terminal connected to the second communication I / F unit.
  • the control unit 210-8 refers to the volatile storage unit 252, and sends an exit request message in which information about the communication device 20-6 is written to the upstream device arranged immediately above the communication device 20-8. Is transmitted to the communication device 20-2 (see FIG. 11A).
  • the control unit 210 of the communication device that has received the leave request message from the downstream device sets the communication device registered in the participating device list written in the leave request message as an upstream undetermined device, and indicates the communication indicated by the information. After the device with the highest priority among the devices is selected as the downstream device, the processes after step SA120 in FIG. 6 are executed. Thereafter, until there is no upstream undetermined device, each communication device 20 newly selected as the downstream device also sequentially executes the processing after step SA120 in FIG. 6 to reconstruct the data distribution path. At the same time, the control unit 210 of the communication device that has received the withdrawal request message from the downstream device notifies the upstream communication device that the downstream communication device has been detached, and functions as a parent device.
  • the control unit 210 of the upstream communication device that has received the notification deletes the record corresponding to the disconnected communication device from the participating device list. For example, as shown in FIG. 11 (a), the control unit 210-2 that has received the leave request message transmitted from the communication device 20-8 receives the communication device indicated by the information written in the leave request message (ie, The communication device 20-6) and the communication device 20-4 are newly selected as downstream devices (see FIG. 11B), and the data distribution path is reconstructed.
  • control unit 210-1 deletes the record corresponding to the disconnected communication device (in this operation example, the communication device 20-8) from the participating device list, and determines that the communication device that has transmitted the withdrawal notification message is halfway joined.
  • the process of incorporating into the data distribution path is executed in the same procedure.
  • the control unit 210-1 sends a communication device to the communication device 20-2.
  • 20-8 is notified of the absence, and an instruction to incorporate the communication device 20-6 is given.
  • the communication device 20-6 is incorporated into the data distribution path as a downstream device of the communication device 20-2.
  • the data distribution path of the entire data sharing group can be reconstructed while maintaining it.
  • the data distribution path can be reconstructed without extra recalculation.
  • the data distribution path downstream from the communication device 20-3 does not change, so that the influence range of the reconstruction of the data distribution path can be minimized. .
  • the control unit 210 of the communication device 20-j stores the participating device list among the downstream devices of the own device as backup data.
  • a leave request message is transmitted to the device that has instructed this (preferably, the downstream device having the higher priority, that is, the communication device having the next highest priority in the data sharing group).
  • the control unit 210-2 receives a leave request message from the upstream device, the control unit 210-2 subsequently performs processing as a master unit.
  • control unit 210-2 generates a participation device list based on the backup data stored in the volatile storage unit 252-2 (specifically, a record related to the communication device 20-1 is joined). Delete from the device list), reconstruct the data distribution path based on the generated new participating device list, and generate the new participation generated in the next communication device 20-j (that is, the communication device 20-3). Processing for transmitting the device list and storing it as backup data is executed.
  • the communication device 20-2 may reconstruct the entire data distribution path based on the stored contents of the participating device list received as backup data from the communication device 20-1, As shown in FIG. 12, a mode in which the data distribution path is reconstructed while maintaining the data distribution path downstream from each of the communication devices 20-4, 20-8 and the communication device 20-3, or a mode in which both are used together It may be. For example, in order to realize a mode in which the data distribution path is reconstructed while maintaining the data distribution path downstream from each of the communication apparatuses 20-4 and 20-8 and the communication apparatus 20-3, only the communication apparatus 20-3 is realized.
  • the control unit 210-2 may execute the processing after step SA110 in FIG.
  • the communication device 20-1 is caused to transmit a leave request message in which information indicating the downstream device is written, and the communication device indicated by the information is indicated.
  • the control unit 210-2 it is only necessary to cause the control unit 210-2 to execute processing that treats a device other than its own device as an upstream undetermined device.
  • the control unit 210-2 detects that the base unit has left midway without transmitting a leave request message by the state notification / monitoring function, the control unit 210-2 also includes a volatile storage unit.
  • the data distribution path is reconstructed using the backup data stored in 252-2 as the participating device list, and the participating device list is transmitted to the next communication device 20-j (that is, the communication device 20-3). Then, a process of storing as backup data is executed.
  • the above is the operation when the base unit leaves midway.
  • the data distribution path between the communication devices 20-j is set in each communication device 20-j while avoiding an excessive load on the specific communication device 20-j. It is possible to flexibly determine according to the processing capacity and the like, and to efficiently distribute the same data to the communication devices 20-j.
  • the communication method between the communication devices 20-j is a packet switching method, by constructing a so-called overlay network, it is possible to freely transmit data to a plurality of destinations freely without selecting a connection line. Transfer is possible. Therefore, a flexible network topology can be constructed in the overlay network, and the time required to distribute data to all the communication devices 20-j can be shortened.
  • FIGS. 13 to 15 are diagrams for explaining the concept of the present invention.
  • the communication device 20-j includes a selection unit 2101 and an instruction unit 2102 for constructing a data distribution path within the data sharing group.
  • the selection unit 2101 and the instruction unit 2102 are functions realized by the control unit 210.
  • the selection unit 2101 selects a communication device (downstream communication device) to be arranged on the downstream side of the communication device 20-j in the tree-shaped data distribution path.
  • FIG. 13 illustrates a state where the communication device 20-j has selected the communication devices 20-m and 20-n as downstream communication devices.
  • the number for selecting the downstream apparatus may be an arbitrary number of 1 or more.
  • the instruction unit 2102 instructs the selected downstream communication devices 20-m and 20-n to select a further downstream communication device.
  • Selection of a downstream communication device (internal node or leaf node in a tree structure) from the parent device (origin communication device) that is the starting point (root node in the tree structure) of the tree-like data distribution path and the selected downstream communication device
  • To select a further downstream communication device (of course, if the selected downstream communication device is a leaf node, this instruction is not performed or even if an instruction is issued, the downstream communication is not performed.
  • the apparatus (leaf node) does not select any further downstream communication apparatus), and the data distribution path is determined by the cooperation of the communication apparatuses forming the data sharing group.
  • a list of other communication devices that can be selected as downstream communication devices is notified between the communication devices 20-j, 20-m, and 20-n.
  • the list generation means 2103 With the communication device 20-j selecting the communication devices 20-m and 20-n, the list generation means 2103 generates a list (list m, list n) to be notified to the selected communication devices.
  • the communication devices 20-m and 20-n are notified.
  • the list held by the communication device 20-j describes, for example, N communication devices including the communication devices 20-m and 20-n, and the selection unit 2101 selects the communication devices 20-m and 20 from the list. -Select n.
  • the list generation unit 2103 generates a list excluding the communication devices 20-m and 20-n selected from this list. At this time, the lists m and n notified to the communication devices 20-m and 20-n are generated so that the described communication devices do not overlap.
  • the communication devices 20-m and 20-n that are notified of the list similarly select further downstream communication devices from the list (notified) in response to an instruction from the communication device 20-j.
  • the selection of the downstream communication device in each communication device is performed in a priority order indexed by the data transmission capability of the communication device, such as the processing capability (processing speed, etc.) of the communication device or the available network bandwidth. It is preferable that the selection unit 2101 selects the downstream communication devices in descending order of priority.
  • Such priorities are sequentially notified to downstream communication devices (intermediate nodes) as the list.
  • data to be shared is distributed via a tree-shaped data distribution path.
  • Each communication device has first communication means 2104 for data transmission between the communication devices and second communication means 2105 for data transmission between other network devices (client terminals such as PCs).
  • shared data storage means 2106 for holding the data to be shared received from the upstream communication device via the first communication means 2104.
  • the data stored in the shared data storage unit 2106 is distributed (transferred) to the downstream communication device selected by the selection unit 2101, and in response to a request from a network device connected to the second communication unit 2105. Provided to the network device.
  • each communication device that plays the role of a root node and an intermediate node (that is, a node having an upstream device and one or more downstream devices) in the tree structure contributes to the determination of the data distribution path. Therefore, the load is not concentrated on a specific communication device, and congestion is less likely to occur. Since the load is not concentrated on a specific communication device, the scalability is higher than that of a server / client communication system.
  • a priority order that indexes data transmission capability such as high processing capability and wide bandwidth that can be used in a communication network is assigned to each communication device, and the communication device is arranged downstream based on this priority. If this is selected, a bottleneck is unlikely to occur on the upstream side of the data delivery route, and a data delivery route with high communication efficiency is constructed with a simple algorithm. Data distribution can be completed.
  • the communication method between the communication devices is not limited to the circuit switching method, for example, by adopting a packet switching method, a so-called overlay network is constructed to simultaneously distribute data to a plurality of destinations. be able to. For this reason, in the communication system of the present invention, as compared with the technique disclosed in Patent Document 1 and the P2P type communication system, all communication devices belonging to the data sharing group can be reliably transmitted in a short time. Can be spread.
  • the priority order of the communication device 20-j is determined based on both the processing capability of the communication device 20-j and the bandwidth available to the communication device 20-j.
  • the priority order may be determined based on one of them, and the priority order may be determined according to another index (for example, the number of subordinate communication terminals).
  • a higher priority may be assigned in ascending order of communication addresses.
  • priority should be given to each of the communication devices 20-j forming the data sharing group based on some index.
  • the priority order of each communication device 20-j is determined in advance by the system administrator or the like.
  • the control unit 210 of each communication device 20-j measures the available bandwidth.
  • the priority order of the own device may be calculated according to the measured value.
  • the process of forming a data sharing group triggered by an instruction to participate in the data sharing group (specifically, a participation request message is transmitted to the other communication device 20-k indicated by the initial node data). Process) is executed by the control unit 210-j, but the start of data distribution has been instructed (that is, the distribution start instruction message has been received from a subordinate communication terminal) or the power of the communication device 20-j is turned on.
  • the control unit 210-j may be caused to execute processing for forming a data sharing group.
  • the present invention is applied to a router that connects the general public network 10 and each local LAN.
  • the application target of the present invention is not limited to a relay device such as a router, but is applied to a communication terminal located at the end of data communication (for example, a communication terminal accommodated in a local LAN and used for each user).
  • the present invention may be applied.
  • the present invention can be applied to any communication device that performs data communication with other communication devices.
  • the selection instruction message transmitted when instructing the incorporation of the midway participation apparatus is attached with only information related to the midway participation apparatus. May be attached to the selection instruction message.
  • the participation apparatus list is attached to the selection instruction message.
  • the selection instruction message and the participation apparatus list may be transmitted to the downstream apparatus at different timings.
  • the generated participation device list is a flag for identifying a communication device belonging to the selected group of downstream devices for each group. May be assigned to each record. In this case, the size (number of records) of the participating device list held by each communication device is the same.
  • a route (path) from the parent device serving as the starting point of the data distribution route to the selected downstream device may be notified together.
  • the other (selected) communication device is arranged on the downstream side of the communication device that has selected the downstream communication device.
  • the communication device was grouped and the participation device list related to the group was notified.
  • the participation device list was divided into a predetermined number (1 or more) of groups, and each group was designated as a downstream communication device.
  • One communication device may be selected.
  • the communication device 20-1 serving as the parent device uses the first group (communication device) as the communication device excluding its own device registered in the participating device list.
  • the communication device 20-2, 20-4, 20-6) and the second group (communication devices 20-3, 20-5, 20-7), and one communication device (communication device 20-2) is selected from each of them.
  • the communication device 20-3) may be selected.
  • one communication is performed for each group in the order of priority based on the priority of each communication device acquired at the time of data sharing group formation (or described in the participating device list notified from the upstream communication device). The devices are allocated, and the device with the highest priority may be selected as the downstream communication device.
  • the communication device to leave notifies the upstream device arranged immediately above the data distribution path, but the leave request message May be transmitted to the parent device.
  • the control unit 210-8 leaves the data sharing group from the communication terminal connected to the second communication I / F unit.
  • the control unit 210-8 transmits a leave request message to the communication device 20-1 that is the base unit.
  • the control unit 210-1 of the communication device 20-1 that has received the leave request message deletes the record related to the communication device 20-8 from the participating device list stored in the volatile storage unit 252-1, and thereafter
  • the data distribution path is reconfigured in the same manner as the procedure described in “B-4-1-2: When leaving without making a leave notification” below the communication device 20-1.
  • the downstream communication device that has detected the disconnection issues a disconnection notification to the parent device.
  • a mode in which the apparatus sequentially transmits the disconnection notification message to the communication apparatus on the upstream side may be employed.
  • the communication device that has detected that the communication device arranged immediately above in the data distribution path has suddenly left is sequentially disconnected until there is a response upstream from the communication device arranged upstream of the halfway departure device.
  • Send In the case of the example shown in FIG. 11C, the communication device 20-6 that has detected that the communication device 20-8 has left is first connected to the communication device 20-2 disposed upstream of the communication device 20-8. Send a leave notification message.
  • a disconnection notification message is transmitted to a further upstream communication device (in this case, communication device 20-1).
  • the communication device that has received the leave notification message executes the process of incorporating the communication device that is the source of the leave notification message into the data distribution path in the same procedure as in the case of halfway participation as described above.
  • each communication device stores at least a route (path) from the parent device that is the starting point of the data distribution route to the communication device. (9)
  • the downstream device detects the disconnection, but the upstream device is connected to the downstream communication device.
  • the connection state of each communication device in which the parent device intensively participates in the data sharing group may be monitored, and the separation of the communication device may be detected by the parent device.
  • the record of the communication device that has left the participation device list of each communication device is deleted.
  • a status flag indicating the joining / leaving state may be added to each record, and joining / leaving may be identified based on the value of the status flag. For example, the status flag is set to “1” when participating in the data sharing group, and is set to “0” when leaving the data sharing group. In the case of the examples of FIGS.
  • the data sharing group has been formed, and the status flag of each device in the participating device list is “1”.
  • the status flag (value is “1”) in the participating device list of the communication device 20-1 whose parent device is the information of the communication device 20-8 that joined midway. Added with.
  • the communication device 20-2 and the communication device 20-1 have disconnected communication devices in their respective participating device lists.
  • the value of the status flag corresponding to 20-8 is rewritten to “0” indicating the disconnected state, and thereafter the communication device 20-2 identifies that the communication device 20-8 does not belong to the data sharing group and Do not transmit.
  • the contents of the participating device list stored in each communication device are only changed in the value of the status flag, and when the disconnected communication device returns to the data sharing group, the information concerned Can be reused.
  • the communication device 20-8 joins the data sharing group again, the communication device 20-1 and the communication device 20-2 communicate with each other in the participating device list.
  • the status flag of the device 20-8 is returned to “1”, and the data delivery path can be easily reconstructed by the communication device 20-2 reselecting the communication device 20-8.
  • the non-volatile storage unit 254 stores in advance a communication control program that causes the control unit 210 to execute distribution route determination processing and distribution route reconstruction processing that significantly show the features of the present invention.
  • the communication control program may be written and distributed on a computer-readable recording medium such as a CD-ROM (Compact Disk-Read Only Memory), or the communication may be performed by downloading via a telecommunication line such as the Internet.
  • a control program may be distributed.
  • the communication control program distributed in this way is installed in a general communication device, and the control unit is operated according to the communication control program, thereby giving the communication device the same function as the communication device according to the present invention. Because it becomes possible.
  • the delivery route determination process and the delivery route reconstruction process are realized by a program.
  • the communication device 20-j has a script execution function, it is needless to say that each of these processes may be realized by a script.
  • a distribution route determination processing script that is a text file in which a command sequence for causing the control unit 210 to execute the distribution route determination processing shown in FIG. 6 is described in a predetermined script language, and the distribution route determination processing shown in FIG.
  • a distribution path reconstruction processing script that is a text file in which a command sequence for causing the control unit 210 to execute the construction process is described in the same script language is stored in advance in the nonvolatile storage unit 254, and the communication device 20-j When the power is turned on, the control unit 210 starts to interpret and execute each script.
  • various script description languages may be used, it is preferable to use Lua. This is because Lua requires less memory for interpreting and executing a script file than other script languages such as Perl, and is suitable for incorporation into an electronic device.
  • the present invention provides a plurality of communication devices to which a priority order indicating a priority selected as a parent device located at the starting point in a tree-like data distribution path for distributing data to be shared to each communication device is assigned in advance.
  • the one having the highest priority among those instructed to form a data sharing group is the parent device, and the parent device is located immediately below the own device in the data distribution path.
  • First processing for selecting a predetermined number of downstream side devices from the remaining communication devices belonging to the data sharing group in descending order of priority, and an upstream side among the communication devices belonging to the data sharing group If there are undecided devices, a downstream device is selected from the communication devices for each of the downstream devices selected in the first process. And a communication device belonging to the data sharing group other than the parent device belongs to the data sharing group triggered by an instruction from the upstream device.
  • a communication system characterized by executing the process (4).
  • the communication device with the highest priority among communication devices instructed to form a data sharing group is the parent device, and the communication device with the higher priority is on the upstream side (side closer to the parent device).
  • a tree-like data distribution route is determined so as to be located. For this reason, for example, if a higher priority is assigned to each communication device as the processing capacity is higher or the bandwidth available in the communication network is wider, a bottleneck occurs on the upstream side of the data distribution path. This makes it difficult to construct a data distribution path with high communication efficiency and complete data distribution in a short time.
  • only the master unit does not perform processing for determining the data distribution route, but an intermediate node (that is, an upstream device and one or more downstream devices).
  • the communication device that plays the role of a node also contributes to the determination of the data distribution path, so that the load is not concentrated on the specific communication device and congestion is less likely to occur.
  • the communication system of the present invention has higher scalability than the server-client communication system.
  • the communication method between the communication devices is not limited to the circuit switching method. For example, by adopting a packet switching method, a so-called overlay network is constructed to transfer data to a plurality of destinations. Simultaneous delivery can be performed.
  • the communication device functioning as a base unit in the data sharing group has priority over the own device in a situation where all upstream devices of other communication devices belonging to the data sharing group are determined.
  • the new communication device is instructed to change the parent device, while another communication device belonging to the data sharing group In the situation where all the upstream side devices are determined, if a new communication device having a lower priority than the own device is requested to join the data sharing group, the downstream device of the own device It is determined whether or not there is a lower priority than the new communication device, and if there is a corresponding one, the new communication is replaced with the new communication device.
  • the upstream device instructs one of the downstream devices of its own device to select the downstream device from the undetermined communication devices.
  • the upstream apparatus instructs one of the downstream apparatuses of its own apparatus to select the downstream apparatus from the undetermined communication apparatuses.
  • the priority is higher than the communication device participating in the middle rather than reconstructing the entire data distribution path. Only the part related to the low communication device is reconstructed. Therefore, it is possible to construct a data distribution path with high communication efficiency while minimizing the influence caused by the change of the data distribution path.
  • the new communication device becomes a new parent device and the data distribution path is reconstructed.
  • the base unit of the data sharing group is configured such that, in a situation where all the upstream devices of other communication devices belonging to the data sharing group have been determined, from any communication device to the upstream device Is received from the data sharing group, the data distribution path is reconstructed assuming that the communication device that issued the notification requested midway participation.
  • each of the communication devices belonging to the data sharing group In a situation where all the upstream devices of the communication devices other than the parent device among the communication devices belonging to the data sharing group are determined, each of the communication devices belonging to the data sharing group, When the downstream device of the own device requests a halfway withdrawal from the data sharing group, the upstream device for the communication device directly under the request source is determined to be undecided, and the highest priority among these communication devices A device having a higher rank is selected as a new downstream device, and the upstream device instructs one of its own downstream devices to select a downstream device from among undetermined communication devices. It is characterized by that.
  • the highest priority among the downstream devices of the parent device is characterized in that the device itself becomes a new parent device and reconstructs the data distribution path in response to the detection of the middle departure from the parent device.
  • the communication system of the present invention has higher availability than the server / client system. high.
  • the mode for reconstructing the data distribution route there are a mode for restructuring the entire data distribution route and a mode for restructuring while minimizing the influence range, and a mode suitable for the needs. Should be adopted.
  • the present invention provides a priority selected as a parent device positioned at the starting point in a tree-like data distribution path for distributing data to be shared to communication devices belonging to the data sharing group.
  • the communication device In the communication device that forms the data sharing group together with a plurality of other communication devices to which the priority is similarly assigned, the communication device has the highest priority, or When receiving an instruction from another communication device having a higher priority than the communication device, the downstream device that should be located immediately below the communication device in the data distribution path in the data sharing group has a higher priority than the communication device.
  • Selecting means for selecting a predetermined number in descending order of priority from other communication devices having a low priority; If there is an undetermined upstream device among other communication devices, the downstream device should be selected from the communication devices for the downstream device selected by the selection means.
  • a communication device comprising an instruction means for instructing.
  • an aspect of providing a program that causes a computer device to function as the selection unit and the instruction unit is also conceivable.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

 通信ネットワークを介して相互に接続された複数の通信装置がツリー状のデータ配信経路を形成し、前記ツリー状のデータ配信経路の起点側に位置する上流側通信装置から下流側通信装置に対して、前記データ配信経路を経由して共有対象のデータを順次配信する、前記複数の通信装置によって構成されたデータ共有グループの通信装置は、前記データ配信経路において当該通信装置の直下に位置する前記下流側通信装置として配置されるべき、1乃至複数の通信装置を選択する選択手段と、前記選択手段により選択された下流側通信装置に対して、当該下流側通信装置が更に下流側通信装置を選択するよう指示する指示手段と、前記データ配信経路において当該通信装置の直上に位置する他の通信装置から配信された共有対象のデータを前記選択手段にて選択された下流側通信装置に転送するデータ転送手段とを備える。前記選択手段ないし指示手段により、当該通信装置から1階層分のデータ配信経路を形成する。

Description

通信装置、通信システムおよび通信方法
 本発明は、電子ファイルなどのデータを複数のユーザに共有させる技術に関し、特に、共有対象のデータの配信によりそのデータを共有させる技術に関する。
 企業等においては、支社などの各拠点に敷設されるLAN(Local Area Network:以下、拠点内LAN)をルータなどの中継装置を用いて一般公衆網(例えば、インターネットなど)に接続して全社的な情報システムを構築することが一般に行われている。このような情報システムにおいては、同一データを複数の拠点へ配信し、各拠点の従業者にそのデータを共有させることができると便利である。このような形態のデータ配信を行うことができると、例えば、複数の拠点を跨いで開催される遠隔プレゼンテーションにて使用する資料の電子ファイルを各参加者が勤務する拠点に事前に配布しておくことができるからである。
 従来、複数の拠点への同一データの配信はサーバ・クライアント型のデータ通信で実現されることが多かった。ここで、サーバ・クライアント型のデータ通信とは、例えば、共有対象のデータを記憶するサーバ装置を何れかの拠点内LANに接続しておき、各ユーザの利用する通信端末(クライアント装置)からのリクエストに応じて当該データをサーバ装置からそのクライアント装置へ送信したり、所定のタイミングでサーバ装置から全てのクライアント装置へ当該データを同報送信したりする態様のデータ通信をいう。また、近年では、所謂P2P(Point To Pointの意味)技術を用いてファイルを拡散させてゆく方法も提案されている。P2P技術においては、各通信装置の役割がサーバ(或いはクライアント)と明確に固定されているのではなく、クライアントとしてデータを受信した通信装置がそれ以降は他の通信装置へデータを配信するサーバの役割を担うといった点がサーバ・クライアント型のデータ通信と異なる。また、特許文献1には、ツリー状のトポロジを有するデータ配信経路を回線交換方式で各通信装置に順次確立させ、そのデータ配信経路に沿ってデータを配信する技術が開示されており、特許文献2にはマルチキャストによりデータの同報送信を実現する際のマルチキャストツリーを各通信装置が利用可能な帯域幅に応じて公平に決定する技術が開示されている。
日本国特開平11-055258号公報 日本国特開2009-213120号公報
 しかし、サーバ・クライアント型のデータ通信には、アベイラビリティ(可用性)が低いといった問題がある。何故ならば、サーバ・クライアント型のデータ通信では、サーバに何らかの異常が発生するとデータの配信を全く行えなくなるからである。また、サーバに負荷が集中して輻輳を発生させる虞があり、大規模システムへの適用が難しく、スケーラビリティ(クライアント数の増加への対応余力)も低いといった問題もある。一方、P2P形式の通信態様では、サーバ・クライアント型の問題点は解消されるものの、取得するべきデータに関する情報を各拠点に事前に通知したり、全ての拠点にデータが行き渡ったか否かを確認したりするといった拠点管理を行うことが難しいといった問題がある。
 また、特許文献1に開示された技術では、回線交換方式で各通信装置を接続するため、同時に複数の拠点へデータを配信することができず、全ての拠点へのデータ配信を完了するまでに長い時間を要するといった問題がある。加えて、特許文献1に開示された技術では無線回線交換により各通信装置を接続することを前提としているため、上述のような企業内情報システムに常に採用することができるとは限らない。そして、特許文献2に開示された技術では、データ配信経路を構築するためにフルメッシュの通信(すなわち参加する全ての装置同士が帯域情報や遅延情報をやりとりする)を行う必要があり、大量の制御メッセージの送受信やデータ配信経路構築のための計算処理によって各通信装置に大きな処理負荷がかかるといった問題がある。
 本発明は、上記課題に鑑みて為されたものであり、特定の通信装置に過大な負荷がかかることを回避しつつ、共有対象のデータを短時間のうちに各通信装置へ行き渡らせることを可能にする技術を提供することを目的とする。
 上記課題を解決するために、本発明の通信装置は、通信ネットワークを介して相互に接続された複数の通信装置がツリー状のデータ配信経路を形成し、前記ツリー状のデータ配信経路の起点側に位置する上流側通信装置から下流側通信装置に対して、前記データ配信経路を経由して共有対象のデータを順次配信する、前記複数の通信装置によって構成されたデータ共有グループの通信装置であって、
 前記データ配信経路において当該通信装置の直下に位置する前記下流側通信装置として配置されるべき、1乃至複数の通信装置を選択する選択手段と、
 前記選択手段により選択された下流側通信装置に対して、当該下流側通信装置が更に下流側通信装置を選択するよう指示する指示手段と、
 前記データ配信経路において当該通信装置の直上に位置する他の通信装置から配信された共有対象のデータを前記選択手段にて選択された下流側通信装置に転送するデータ転送手段と、
を備え、
 前記選択手段ないし指示手段により、当該通信装置から1階層分のデータ配信経路を形成する。
 好適には、前記通信装置はさらに、
 前記データ配信経路上、当該通信装置及びその下流に配置される1乃至複数の通信装置のリストを保持するリスト保持手段と、
 前記リスト保持手段に保持されたリストに基づいて前記選択手段により選択された下流側通信装置を除く1乃至複数の通信装置を記述した他のリストを生成し、前記選択手段により選択された下流側通信装置に対して、当該生成されたリストを通知するリスト生成及び通知手段と、
を備え、
 前記選択手段は、前記リスト保持手段に保持されたリストから前記下流側通信装置を選択する。
 好適には、前記通信装置において、前記選択手段は、前記上流側通信装置として、前記データ配信経路上における当該通信装置の上流に配置された通信装置からの指示に応じて、前記下流側装置の選択を行う。
 好適には、前記通信装置はさらに、
 前記通信ネットワークに接続され、他の通信装置と相互に通信するための第1の通信手段と、
 1乃至複数のネットワーク機器と通信するための第2の通信手段と、
 前記第1の通信手段を介して上流側の通信装置から受信した共有対象データを記憶する共有対象データ記憶手段と、
 前記第2の通信手段を介して前記ネットワーク機器から受信した要求に応じて前記記憶した共有対象データを当該ネットワーク機器に提供するデータ提供手段と、
を備え、
 前記データ転送手段は、前記第1の通信手段を介して前記上流側の通信装置から受信した共有対象データを、前記第1の通信手段を介して前記選択された下流側通信装置に転送する。
 好適には、前記通信装置はさらに、
 当該通信装置によって下流側通信装置として選択された1の通信装置が、前記データ共有グループから離脱したことを検知する離脱検知手段を備え、
 前記選択手段は、前記検知した通信装置の下流に配置された1乃至複数の通信装置のうちから、当該通信装置の直下に位置する前記下流側通信装置として前記データ配信経路上に配置すされるべき、1乃至複数の通信装置を選択する。
 好適には、前記通信装置はさらに、
 当該通信装置より下流に配置されたいずれかの通信装置が、前記データ共有グループから離脱したことを検知する離脱検知手段と、
を備え、
 前記指示手段は、前記検知に応じて、前記検知された通信装置の上流に配置された通信装置に対して、前記離脱した通信装置の下流に配置された下流側通信装置の選択を行うよう指示する。
 好適には、前記通信装置はさらに、
 前記データ配信経路上、当該通信装置の上流に配置された通信装置が、前記データ共有グループから離脱したことを検知する離脱検知手段を備え、
 前記選択手段は、前記検知した通信装置の下流に配置された1乃至複数の通信装置のうちから、当該通信装置の直下に位置する前記下流側通信装置として前記データ配信経路上に配置されるべき、1乃至複数の通信装置を選択する。
 好適には、前記通信装置はさらに、
 前記データ配信経路上、当該通信装置の上流に配置された通信装置が、前記データ共有グループから離脱したことを検知する離脱検知手段と、
 前記離脱を検知した通信装置に関する情報を、前記検知した通信装置より更に上流に配置された他の通信装置に通知する手段と、
を備える。
 好適には、前記通信装置において、前記離脱検知手段は、前記データ共有グループから離脱しようとする通信装置から離脱要求を受け取ることによって、当該要求元の通信装置が前記データ共有グループから離脱したことを検知する。
 好適には、前記通信装置において、前記離脱検知手段は、前記データ配信経路上、前記データ共有グループから離脱した通信装置の下流に配置された通信装置から送信される離脱通知を受け取ることによって、当該通知元の通信装置の上流に配置された通信装置が前記データ共有グループから離脱したことを検知する。
 好適には、前記通信装置はさらに、
 優先順位を記憶した優先順位記憶手段と、
 前記通信ネットワークを介して他の通信装置の優先順位を取得する優先順位取得手段と、
を備え、
 前記選択手段は、前記取得した優先順位に基づいて前記下流側通信装置を選択する。
 好適には、前記通信装置はさらに、
 前記優先順位記憶手段に記憶された優先順位と前記優先順位取得手段によって取得された他の通信装置の優先順位とに基づいて、当該通信装置が前記複数の通信装置のうち最も優先順位が高い装置であるか否かを判定する判定手段を備え、
 前記判定手段によって当該通信装置が前記複数の通信装置のうち最も優先順位が高い装置であると判定された場合に、前記選択手段は、前記下流側装置の選択を行うとともに、当該通信装置は、前記データ配信経路において前記データ配信経路の起点となる。
 好適には、当該通信装置が前記データ配信経路の起点である場合において、
 当該通信装置は、さらに、
 前記データ共有グループに属さない他の通信装置から、当該データ共有グループへの参加要求を受け取る受け取り手段と、
 前記要求元の通信装置の優先順位を取得する優先順位取得手段と、
を備え、
 前記判定手段は、前記優先順位記憶手段に記憶された優先順位と前記優先順位取得手段によって取得された要求元の通信装置の優先順位とに基づいて、当該通信装置が要求元の通信装置よりも優先順位が高い装置であるか否かを判定し、
 前記判定手段によって当該通信装置が前記要求元の通信装置よりも優先順位が高い装置ではないと判定された場合に、前記要求元の通信装置に対して、当該要求元の通信装置が新たな起点となるよう指示する請求項12に記載の通信装置。
 好適には、当該通信装置が前記前記データ配信経路の起点である場合において、
 当該通信装置は、さらに、
 前記データ共有グループに属さない他の通信装置から、当該データ共有グループへの参加要求を受け取る受け取り手段と、
 前記要求元の通信装置の優先順位を取得する優先順位取得手段と、
を備え、
 前記判定手段は、前記優先順位記憶手段に記憶された優先順位と前記優先順位取得手段によって取得された要求元の通信装置の優先順位とに基づいて、当該通信装置が要求元の通信装置よりも優先順位が高い装置であるか否かを判定し、
 前記判定手段によって当該通信装置が前記要求元の通信装置よりも優先順位が高い装置であると判定された場合に、前記選択手段は、当該通信装置の下流側装置のなかに前記要求元の通信装置よりも優先順位が低いものがあるか否かを判断し、前記要求元の通信装置よりも優先順位が低いものがある場合には、前記要求元の通信装置よりも優先順位が低い通信装置に代えて前記要求元の通信装置を下流側装置として再選択した後に該再選択された下流側装置のうちの1つに対して、上流側装置が未定の通信装置のうちから下流側装置を選択すべきことを指示し、前記要求元の通信装置よりも優先順位が低いものがない場合には当該通信装置の下流側装置のうちの1つに対して、上流側装置が未定の通信装置のうちから下流側装置を選択すべきことを指示する。
 好適には、前記通信装置はさらに、
 前記データ共有グループへの参加を要求する手段
を備え、
 前記要求の応答として、前記データ共有グループの前記データ配信経路において前記共有データ配信の起点となる起点通信装置から親機交代指示を受け取った場合に、前記選択手段は、前記起点通信装置を当該通信装置の下流側装置として選択するとともに、当該通信装置が前記データ配信経路において前記共有データ配信の起点となる。
  好適には、前記通信装置はさらに、
 前記第1の通信手段乃至第2の通信手段から受信したデータを、当該データに付加された宛先情報に基づいて前記他の通信装置または前記ネットワーク機器に転送するルーティング手段
を備える。
 また、本発明の通信システムは、通信ネットワークを介して相互に接続された複数の通信装置がツリー状のデータ配信経路を形成し、前記ツリー状のデータ配信経路の起点側に位置する上流側通信装置から下流側通信装置に対して、前記データ配信経路を経由して共有対象のデータを順次配信する、前記複数の通信装置を有するデータ共有グループを構成する通信システムであって、
 各通信装置は、
 前記データ配信経路において当該通信装置の直下に位置する前記下流側通信装置として配置されるべき、1乃至複数の通信装置を選択する選択手段と、
 前記選択手段により選択された下流側通信装置に対して、当該下流側通信装置が更に下流側通信装置を選択するよう指示する指示手段と、
 前記データ配信経路において当該通信装置の直上に位置する他の通信装置から配信された共有対象のデータを、前記選択手段にて選択された下流側通信装置に転送するデータ転送手段と、
を備え、
 前記データ配信経路の起点となる通信装置から順次下流側通信装置を選択することにより、通信装置毎に1階層分の前記データ配信経路が順次形成される。
 好適には、前記通信システムにおいて、前記各通信装置は、
 前記データ配信経路上、当該通信装置及びその下流に配置される1乃至複数の通信装置のリストを保持するリスト保持手段と、
 前記リスト保持手段に保持されたリストに基づいて前記選択手段により前記選択された下流側通信装置を除く1乃至複数の通信装置を記述した他のリストを生成し、前記選択手段により選択された下流側通信装置に対して、当該生成されたリストを通知するリスト生成及び通知手段と、
を備え、
 前記選択手段は、前記リスト保持手段に保持されたリストから前記下流側通信装置を選択する。
 好適には、前記通信システムにおいて、前記各通信装置にはそれぞれ優先順位が割り当てられているとともに、前記複数の通信装置のうち、前記優先順位に基づいて1の通信装置が前記データ配信経路の起点となり、
 前記各通信装置は、前記優先順位に基づいて前記下流側通信装置を選択する。
 好適には、前記通信システムにおいて、前記各通信装置は、
 前記通信ネットワークに接続され、他の通信装置と相互に通信するための第1の通信手段と、
 1乃至複数のネットワーク機器と通信するための第2の通信手段と、
 前記第1の通信手段を介して上流側の通信装置から受信した共有対象データを記憶する共有対象データ記憶手段と、
 前記ネットワーク機器からの要求に応じて前記記憶した共有対象データを当該ネットワーク機器に提供する手段と
を備え、
 前記データ転送手段は、前記第1の通信手段を介して前記上流側の通信装置から受信した共有対象データを、前記第1の通信手段を介して前記された下流側通信装置に転送し、
 前記各通信装置の前記共有対象データ記憶手段に記憶された共有対象データを、前記データ共有グループに属するいずれかの通信装置に接続された前記ネットワーク機器において共有する。
 好適には、前記通信システムにおいて、前記各通信装置は、
 前記第1の通信手段乃至第2の通信手段から受信したデータを、当該データに付加された宛先情報に基づいて前記他の通信装置または前記ネットワーク機器に転送するルーティング手段
を備える。
 また、本発明の通信方法は、通信ネットワークを介して相互に接続された複数の通信装置が、ツリー状のデータ配信経路を形成し、前記ツリー状のデータ配信経路の起点側に位置する上流側通信装置から下流側通信装置に対して、前記データ配信経路を経由して共有対象のデータを順次配信する、前記複数の通信装置を有するデータ共有グループの通信方法であって、
 各通信装置は、制御手段と、前記通信ネットワークに接続し、他の通信装置と相互に通信するための第1の通信手段と、を有しており、
 前記制御手段が、
 前記データ配信経路において当該通信装置の直下に位置する前記下流側通信装置として配置されるべき、1乃至複数の通信装置を選択する選択手順と、
 前記選択手順で選択された下流側通信装置に対して、当該下流側通信装置が更に下流側通信装置を選択するよう前記第1の通信手段を介して指示する指示手順と、
 前記データ配信経路において当該通信装置の直上に位置する他の通信装置から前記第1の通信手段を介して配信された共有対象のデータを前記選択手段にて選択した下流側通信装置に前記第1の通信手段を介して転送するデータ転送手順と、
を実行し、前記選択手順ないし指示手順にて、当該通信装置から1階層分のデータ配信経路を形成する。
 好適には、前記通信方法において、前記各通信装置は、さらに、前記データ配信経路上、当該通信装置及びその下流に配置される1乃至複数の通信装置のリストを保持するリスト保持手段を有しており、
 前記制御手段が、
 前記保持されたリストに基づいて前記選択された下流側通信装置を除く1乃至複数の通信装置を記述した他のリストを生成し、前記選択手段により選択された下流側通信装置に対して、当該生成されたリストを通知する手順
を実行し、
 前記選択する手順は、前記リスト保持手段に保持されたリストから前記下流側通信装置を選択する。
 好適には、前記通信方法において、前記各通信装置は、それぞれに対応した優先順位を記憶する記憶手段を有しており、
 前記制御手段が、
 前記通信ネットワークを介して他の通信装置の優先順位を取得する手順、
を実行し、
 前記選択する手順は、前記取得された優先順位に基づいて前記下流側通信装置を選択する。
 好適には、前記通信方法において、前記各通信装置は、さらに、1乃至複数のネットワーク機器と通信するための第2の通信手段を有しており、
 前記制御手段が、
 前記第1の通信手段を介して上流側の通信装置から受信した共有対象データを記憶する手順と、
 前記第2の通信手段を介したネットワーク機器からの要求に応じて前記記憶された共有対象データを当該ネットワーク機器に提供する手順と、
を実行する。
本発明の一実施形態の通信システムの構成を示す図である。 本発明の一実施形態の通信システムにおけるデータ配信経路の一例を示す図である。 本発明の一実施形態の通信システムに含まれる通信装置20-jの構成例を示すブロック図である。 親機として動作する通信装置20-jに記憶される参加装置リストの一例を示す図である。 通信装置20-jが実行するデータ共有グループ形成処理を説明するための図である。 通信装置20-jの制御部210が通信制御プログラムにしたがって実行する配信経路決定処理の流れを示すフローチャートである。 同制御部210が通信制御プログラムにしたがって実行する配信経路再構築処理の流れを示すフローチャートである。 (a),(b),(c)は、配信経路決定動作を説明するための図である。 (a),(b)は、親機よりも優先順位の低い通信装置の途中参加による配信経路再構築動作を説明するための図である。 (a),(b)は、親機よりも優先順位の高い通信装置の途中参加による配信経路再構築動作を説明するための図である。 (a),(b),(c)は、中間ノードの役割を担っている通信装置の中途離脱による配信経路再構築動作を説明するための図である。 親機の役割を担っている通信装置の中途離脱による配信経路再構築動作を説明するための図である。 本発明のデータ共有グループ形成処理の概念を説明するための通信装置20-jの構成例を示すブロック図である。 本発明の参加装置リストの概念を説明するための通信装置20-jの構成例を示すブロック図である。 本発明の共有データの配信を説明するための通信装置20-jの構成例を示すブロック図である。
 以下、図面を参照しつつ本発明の実施形態について説明する。
(A:構成)
 図1は、本発明の一実施形態の通信装置20-j(j=1~8)を含む通信システムの構成を示す図である。図1では8台の通信装置20-jが例示されているが、9台以上の通信装置20-jが通信システムに含まれていても良く、逆に、通信システムに含まれる通信装置20-jが8台未満であっても勿論良い。通信装置20-jの各々は企業の各拠点に敷設される拠点内LAN(図示略)を一般公衆網(データ通信網)10に相互接続するルータである。通信装置20-jの各々は、OSI参照モデルの第1層(物理層)から第3層(ネットワーク層)までの接続を行い、IP(Internet Protocol)などのネットワーク層の通信プロトコルにしたがって送信されてくるパケットの転送制御を行う。各拠点内LANには、その拠点に勤務する従業者(以下、単に「ユーザ」と呼ぶ)の使用する通信端末(例えば、パーソナルコンピュータ:図示略)が接続されている。これら通信端末は、その拠点内LANと一般公衆網10とを接続する通信装置20-jを介して他の通信装置(例えば、他の拠点内LANに収容されている通信端末)とデータ通信をすることができる。
 各拠点内LANに収容される通信端末のユーザは、その通信端末を用いて遠隔プレゼンテーションや遠隔会議に参加することができる。このような遠隔プレゼンテーション等において、資料等の電子ファイルをその参加者に共有させることができると便利であることは前述したとおりである。図1に示す通信システムでは、遠隔プレゼンテーションに参加するユーザの通信端末を配下に有する通信装置20-j(すなわち、その通信端末を収容する拠点内LANを一般公衆網10に接続する通信装置20-j)にデータ共有グループを形成させ、そのデータ共有グループに参加している通信装置20-jの各々に共有対象のデータを配信して記憶させる。そして、各通信端末のユーザはその通信端末を配下に有する通信装置20-jにアクセスして上記共有対象のデータを取得し閲覧するのである。ここで、データ共有グループに属する各通信装置20-jへの同一データの配信は以下の要領で行われる。
 本実施形態では、通信装置20-jの各々に本実施形態の特徴を顕著に示す処理を実行させることにより、データ共有グループに参加している各通信装置20-jにて図2に示すようなツリー形状の論理的なデータ配信経路を構築させ、親機(データ配信経路の起点に位置する通信装置)からのマルチキャストなどによって共有対象のデータを、構築したデータ配信経路に従ってデータ共有グループに参加している各通信装置に伝播させるのである。より詳細に説明すると、図1の通信装置20-jの各々には、親機として選定される優先度を表す(あるいは通信装置20-jの処理能力の高さや通信網にて利用可能な帯域幅の広さを指標化した)優先順位がその処理能力および一般公衆網10において利用可能な帯域幅に応じてシステム管理者によって予め割り当てられており、その優先順位を表す優先順位データPr-j(j=1~8)が各通信装置20-jに記憶されている。具体的には、通信装置20-jの各々には、その処理能力が高いほど、処理能力が同じであれば利用可能な帯域幅が広いほど高い優先順位が割り当てられている。図1の通信装置20-jの各々は、システム管理者或いは配下の通信端末のユーザによってデータ共有グループへの参加を指示されると、最も優先順位が高いものが親機、すなわちデータ配信経路における起点(ルートノード)となり、親機以外の通信装置20-jのうちで優先順位が高いものほど親機側に近い中間ノードとなるように、上記ツリー形状のデータ配信経路を構築する処理を実行するのである。
 以下、本実施形態の特徴を顕著に示す通信装置20-jを中心に説明する。
 図3は、通信装置20-jの構成例を示すブロック図である。図3に示すように通信装置20-jは、制御部210、第1通信インタフェース(以下、I/F)部220、第2通信I/F部230、外部機器I/F部240、記憶部250、およびこれら構成要素間のデータ授受を仲介するバス260を含んでいる。
 制御部210は、例えばCPU(Central Processing Unit)である。この制御部210は、記憶部250(より正確には、不揮発性記憶部254)に記憶されているプログラムを実行することにより、通信装置20-jの各部の作動制御を行う制御中枢として機能する。
 第1通信I/F部220と第2通信I/F部230は、共にNIC(Network Interface Card)であり、各々異なる通信網に接続されている。具体的には、第1通信I/F部220は一般公衆網10に接続されており、第2通信I/F部230は拠点内LANに接続されている。第1通信I/F部220と第2通信I/F部230は、各々の接続先の通信網から受信したパケット(通信メッセージを予め定められたデータサイズ分ずつに分割し、その各々に所定のヘッダを付与して得られるデータブロック)を制御部210へ引渡すとともに、制御部210から引渡されるパケットを各々の接続先の通信網へと送出する。
 外部機器I/F部240は、USBメモリやシリアルコンソール、あるいは内部拡張バスに接続された拡張カードなどの外部機器との間で所定のプロトコル(USBやRS-232C等の有線プロトコルあるいはBluetooth等の無線プロトコル)にしたがってデータの授受を行うインタフェースの集合体である。例えば、外部機器としてUSBメモリを用いる場合には、USBインタフェースを外部機器I/F部240に含めておけば良く、外部機器としてシリアルコンソールを用いる場合には、RS-232Cインタフェースなどのシリアルインタフェースを外部機器I/F部240に含めておけば良い。この外部機器I/F部240は、前述した優先順位データPr-jなどの各種データを通信装置20-jに予め記憶させる際に利用される。
 記憶部250は、揮発性記憶部252と不揮発性記憶部254を含んでいる。揮発性記憶部252は、例えばRAM(Random Access Memory)などの揮発性メモリであり、制御部210が各種プログラムを実行する際のワークエリアとして利用されるとともに、第1通信I/F部220や第2通信I/F部230を介して受信したパケットを一時的に蓄積しておくバッファの役割を果たす。また、少なくとも親機または中間ノードとして機能する通信装置20-jの揮発性記憶部252には参加装置リストが格納され、親機として機能する通信装置を除く各通信装置20-jの揮発性記憶部252にはデータ配信経路において当該通信装置20-jの直上に配置された通信装置を特定する情報(装置識別データ等)や,データ共有グループにおける親機を特定する情報(装置識別データ等)が格納される。
 例えば、図1の8台の通信装置20-jが全てデータ共有グループに参加し、図2に示すようなツリー形状の論理的なデータ配信経路が構築されている状態において、親機として動作している通信装置20-1の揮発性記憶部252には、図4に示す参加装置リストが格納される。この参加装置リストには、自装置(当該参加装置リストを記憶している通信装置)についてのレコードと、データ共有グループに参加している通信装置のうちで自装置よりも優先順位が低い装置についてのレコードとが格納される。そして、参加装置リストに格納される各レコードには、図4に示すように、装置識別データ、優先順位データPr-jが含まれている。通信装置20-1以外の各通信装置の揮発性記憶部252には、親機である通信装置20-1の装置識別データやデータ配信経路において直上に配置された他の通信装置の装置識別データ等も格納される。
 ここで装置識別データとは、通信装置20-jの各々を一意に識別するためのデータである。一例として、本実施形態ではMAC(Media Access Control)アドレスやIPアドレスなどの通信アドレスと通信装置20-jの名称を示す文字列とが用いられている。上記通信アドレスは、データリンク層(或いはネットワーク層)の通信プロトコルにしたがって当該通信装置20-jとデータ通信を行う際の宛先アドレスとして使用され、通信装置20-jの名称は図1に示す通信システムにおけるオーバレイネットワークにおいて当該通信装置20-jを各ユーザに一意に識別させる際に使用される。また、通信装置20-jが親機または中間ノードとして機能する場合、当該通信装置20-jが下流側装置として選択している他の通信装置に関する情報も揮発性記憶部252には記憶される。この情報は参加装置リストに含ませてもよく、この場合、選択中の下流側装置を識別するためのフィールドを設けて下流側装置であれば1そうでなければ0といった値を記録するようにすればよい。
 不揮発性記憶部254は、例えばEPROM(Erasable Programmable Read Only Memory)やフラッシュメモリなどの不揮発性メモリであり、この不揮発性記憶部254には、各種データや各種プログラムが予め記憶されている。不揮発性記憶部254に記憶されているデータの一例としては、所謂ルーティングテーブルなどパケット転送制御を実行する際に必要となるデータ(図3では図示略)、優先順位データPr-j、自装置についての装置識別データ、初期ノードデータ、および事前共有鍵が挙げられる。初期ノードデータとは、当該通信装置20-jがデータ共有グループに参加する際に最初にアクセスするべき1または複数の装置(本実施形態では、通信装置20-k(k=1~8、ただしk≠j)の7台)を示すデータである。そして、事前共有鍵とは、当該データ共有グループに参加するための認証やそのデータ共有グループにおいて送受信するデータを暗号化する際に利用される暗号キーである。
 なお、本実施形態ではデータ共有グループ内の各通信装置20-jにおいて、共有対象とするデータ(各種ファイル等)を保持するための記憶領域は不揮発性記憶部254に設けられるが、メモリ容量が十分であれば揮発性記憶部252に当該記憶領域を設けてもよいし、外部機器I/Fを介して接続されたHDD等の外部記憶デバイスに記憶領域を設けてもよい。
 また、不揮発性記憶部254に記憶されているプログラムの一例としては図3に示す通信制御プログラムが挙げられる。制御部210は、通信装置20-jの電源(図示略)が投入されたことを契機として、この通信制御プログラムを不揮発性記憶部254から揮発性記憶部252に読み出してその実行を開始し、図3に示す各種機能を実現する。この通信制御プログラムにしたがって制御部210が実現する機能の概略は以下の通りである。
(a)パケット転送制御機能
 これは、自装置以外の通信装置を宛先とするパケット(すなわち、送信先IPアドレスが当該通信装置20-jのものではないパケット)を第1通信I/F部220または第2通信I/F部230を介して受信した場合に、その送信先IPアドレスに応じた転送制御を行う機能である。このパケット転送制御機能は、謂わばルータ本来の機能であり、一般的なルータにおけるものと特段に変るところはないため、詳細な説明を省略する。
(b)データ共有グループ形成機能
 これは、データ共有グループを形成しそのグループの親機を選定する機能である。より詳細に説明すると、制御部210は、例えば通信装置20-jがデータ共有グループへ参加していない状態において、第2通信I/F部230に接続された、通信装置20-jの配下の通信端末から、データ共有グループへの参加指示が与えられたことを契機として、データ共有グループへの参加を要求する旨の通信メッセージ(以下、参加要求メッセージ)に、自装置の優先順位データPr-jと装置識別データと事前共有鍵とを書き込んで、初期ノードデータの示す通信装置20-k宛てに参加要求メッセージを送信する。なお、初期ノードデータとして複数の通信装置20-kを示すものが不揮発性記憶部254に格納されている場合には、それら複数の通信装置20-kのうちから1台を選択(例えば、通信アドレスが最も若いものを選択)して参加要求メッセージを送信する。
 通信装置20-kの制御部210は、参加要求メッセージを受信すると、データ共有グループへの自装置の参加状況に応じて未参加通知メッセージ、親機紹介メッセージ、受付確認メッセージ、および親機交代指示メッセージの何れかを返信する。未参加通知メッセージは、通信装置20-kがデータ共有グループに参加していない場合にその旨の通知のために返信する通信メッセージである。親機紹介メッセージは、通信装置20-kがデータ共有グループには参加しているものの親機として動作していない場合にその旨の通知のために返信する通信メッセージである。この親機紹介メッセージを返信する際には、通信装置20-kの制御部210は、その時点の親機の装置識別データをペイロード部等に書き込んで返信する。受付確認メッセージと親機交代指示メッセージは、通信装置20-kが親機として動作している場合に返信する通信メッセージである。
 親機として動作している通信装置20-kの制御部210は、参加要求メッセージを受信すると、その参加要求メッセージに書き込まれている事前共有鍵を用いてその送信元の認証を行い、認証に成功すると以下の処理を実行する。すなわち、通信装置20-kの制御部210は、受信した参加要求メッセージに書き込まれている優先順位データPr-jを読み出して自装置の優先順位データPr-kと比較する。そして、自装置の優先順位が高い場合には、通信装置20-kの制御部210は、参加要求メッセージに書き込まれている装置識別データと優先順位データPr-jとを含むレコードを生成して参加装置リストに登録し、その後、受付確認メッセージを参加要求メッセージの送信元である通信装置20-jへ返信する。逆に、自装置の優先順位が低い場合には、通信装置20-kの制御部210は、その時点の参加装置リストを書き込んだ親機交代指示メッセージを返信して親機の交代を参加要求メッセージの送信元である通信装置20-jに指示するとともに、その参加装置リストに装置識別データが登録されている各通信装置に宛てて新たな親機の装置識別データ(すなわち親機を交代する相手である通信装置20-jの装置識別データ)を送信する。
 一方、参加要求メッセージの送信元である通信装置20-jの制御部210は、上記4種類の通信メッセージの何れが返信されてきたのかによって異なる処理を実行する。未参加通知メッセージが返信されてきた場合には、通信装置20-jの制御部210は、他に初期ノードデータの示す通信装置があればその装置へ宛てて参加要求メッセージを送信し応答を待ち受ける。一方、他に初期ノードデータの示す通信装置がない場合(初期ノードデータの示す全ての通信装置から未参加通知メッセージが返信されてきた場合)には、以後、この通信装置20-jがデータ共有グループの親機として動作する。また、親機交代指示メッセージが返信されてきた場合も、通信装置20-jの制御部210は、その親機交代指示メッセージに書き込まれている参加装置リストを揮発性記憶部252に格納し、以後、親機として動作する。
 親機紹介メッセージが返信されてきた場合には、通信装置20-jの制御部210は、その親機紹介メッセージに書き込まれている装置識別データの示す通信装置(例えば通信装置20-i)に宛てて改めて参加要求メッセージを送信する。この参加要求メッセージに対して受付確認メッセージが返信されてきた場合には、通信装置20-jの制御部210は、上記装置識別データを親機を示す情報として揮発性記憶部252に書き込む。なお、親機交代指示メッセージが返信されてきた場合には、以後、親機として動作する点については前述した通りである。また、通信装置20-jが親機として動作していない状態において、他の通信装置から参加要求メッセージを受信すると、揮発性記憶部252に格納した親機を示す装置識別データを書き込んだ親機紹介メッセージを、参加要求メッセージの送信元へ宛てて返信する。
 以上に説明した処理が行われる結果、例えば、図1に示す8台の通信装置20-jのうちのj=1~7に対してデータ共有グループへの参加指示が為されると、詳細については動作例において明らかにするが、図5に示すように、それら7台のうちで最も高い優先順位を有する通信装置20-1が親機となり、その揮発性記憶部252には、上記7台の通信装置の各々の装置識別データ等が登録された参加装置リストが格納される。
(c)配信経路決定機能
 これは、データ共有グループに参加している通信装置20-j間のデータ配信経路として、図2に示すようなツリー状のデータ配信経路を決定し構築する機能である。詳細については後述するが、本実施形態では、制御部210は、例えば、第2通信I/F部230に接続された、通信装置20-jの配下の通信端末から、データ配信の開始指示等が与えられたことを契機として配信経路決定処理(図6参照)を実行して自装置の直下に位置する下流側装置を選択し、それら下流側装置に対してさらに下流側装置を選択することを指示するのである。そして、制御部210は、自装置の下流側装置との間に暗号化通信路を確立して図2に示すようなツリー状のデータ配信路を構築するのである。
(d)配信経路再構築機能
 これは、上記配信経路決定機能によりデータ共有グループに参加した複数の通信装置間でのデータ配信経路が決定され、ツリー状のデータ配信経路の構築が行われた後に、このデータ共有グループへ新たに通信装置が参加する(途中参加)或いはデータ共有グループに参加しておりツリー状のデータ配信経路のノードを構成している何れかの通信装置がデータ共有グループから離脱する(中途離脱)場合にデータ配信経路を再構築する機能である。例えば、親機として動作している通信装置20-jの制御部210は、他の通信装置から途中参加を要求されると、図7に示す配信経路再構築処理を実行してデータ配信経路の再構築を行う。この配信経路再構築処理についても重複を避けるため動作例の説明においてその詳細を明らかにする。
(e)暗号化通信機能
 これは、下流側装置との間に暗号化通信路を確立して暗号化通信を行う機能である。なお、暗号化通信の具体的な手法としては、例えば、IPsecトンネルを下流側装置との間に設定する方式やSSL-VPNのようにセッション毎に暗号化を行う方式であっても良く、また、フルメッシュVPN方式であっても良い。このように、データ配信経路に沿ったデータ通信を暗号化しておくことによって共有対象のデータを安全に配信することができるのである。本実施形態では、通信装置20-j間のデータ通信を仲介する通信網が一般公衆網10であるため、そのデータ通信を暗号化して行ったが、このような暗号化は必ずしも必須ではない。
(f)状態通知/監視機能
 これは、データ共有グループに属する通信装置20-jのうち、予め指定した相手装置(本実施形態では、下流側装置)に対して定期的にパケットを送信し、自装置の稼動状況を通知するとともに、自装置を相手装置として指定した他の通信装置20-j(すなわち、上流側装置)から自装置に送信されるパケットの受信状況に基づいて、その通信装置20-j(上流側装置)の稼動監視を行う機能である。詳細については後述するが、この機能は、電源断や回線断などにより、データ共有グループに参加しておりツリー状のデータ配信経路のノードを構成している何れかの通信装置が突然データ共有グループから離脱したことを検知することに利用される。
 以上が通信装置20-jの構成である。
(B:動作)
 以下、本実施形態の特徴を顕著に示す動作例を図面を参照しつつ説明する。
(B-1:データ共有グループ形成動作)
 以下、通信装置20-j(j=1~7)の各々に対して、各々の(あるいはいずれかの)配下にある通信端末等から、通信装置20-2、通信装置20-1、通信装置20-3・・・通信装置20-7の順にデータ共有グループへの参加指示が順次与えられた場合に、各通信装置20-jの制御部210(以下、制御部210-jと表記する。記憶部250など他の構成要素についても同様)が実行する処理について説明する。
 通信装置20-2に対してデータ共有グループへの参加指示が与えられると、制御部210-2は不揮発性記憶部254-2に格納されている初期ノードデータの示す通信装置20-k(k≠2)へ参加要求メッセージを送信する。なお、本動作例では各通信装置は自身を除く他の通信装置全てを初期ノードデータとして予め格納しているものとする。本動作例では、通信装置20-2に対して上記指示が与えられた時点では他の6台の通信装置は何れもデータ共有グループには参加していない。このため、制御部210-2は通信装置20-k(k≠2)の何れからも未参加通知メッセージを受信する。初期ノードデータの示す全ての通信装置からの未参加通知メッセージの受信を確認すると、以後、通信装置20-2は親機として動作する。併せて通信装置20-2の揮発性記憶部252-2には参加装置リストとして自身の装置識別データ等を記述したものが格納される。
 その後、通信装置20-1に対してデータ共有グループへの参加指示が与えられると、制御部210-1は不揮発性記憶部254-1に格納されている初期ノードデータの示す通信装置20-k(k≠1)へ参加要求メッセージを送信する。この時点では、通信装置20-2を除く他の5台がデータ共有グループへ参加していないため、これら5台に対して参加要求メッセージを送信しても、これら5台は何れも未参加通知メッセージを返信する。これに対して、通信装置20-2は既にデータ共有グループの親機として動作しており、通信装置20-1に対して受付確認メッセージまたは親機交代指示メッセージのいずれかを返信する。本動作例の場合、通信装置20-2の制御部210-2は、通信装置20-1から参加要求メッセージが送信されてくると、まず、自装置の不揮発性記憶部254-2に格納されている優先順位データPr-2と参加要求メッセージに書き込まれている通信装置20-1の優先順位データPr-1とを比較する。図2に例示するように、本動作例では、通信装置20-1のほうが通信装置20-2よりも優先順位が高い(Pr-1>Pr-2)ため、制御部210-2は、通信装置20-1を示す装置識別データを揮発性記憶部252-2に格納するとともに、通信装置20-1に対し揮発性記憶部252-2に格納していた参加装置リストを含む親機交代指示メッセージを返信し、以後、通信装置20-2は親機以外の参加装置として動作する。一方、通信装置20-1の制御部210-1は、上記親機交代指示メッセージを受信すると、その親機交代指示メッセージに書き込まれている参加装置リストを揮発性記憶部252-1に書き込むとともに自身の装置識別データ等を参加装置リストに追加し、以後、通信装置20-1はデータ共有グループの親機として動作する。
 親機交代指示メッセージを通信装置20-1に返信した後は、制御部210-2は他の通信装置から参加要求メッセージを受信した場合には、親機を示す情報として通信装置20-1を示す装置識別データを含んだ親機紹介メッセージを返信する処理を実行する。この状態で通信装置20-j(j=3~7)の各々に対してデータ共有グループへの参加指示が与えられ、制御部210-jが通信装置20-2に対して参加要求メッセージを送信すると、通信装置20-2からは親機紹介メッセージが返信されてくる。制御部210-jはその親機紹介メッセージに書き込まれている装置識別データの示す通信装置(すなわち、通信装置20-1)に宛てて参加要求メッセージを再度送信する。制御部210-1は、参加要求メッセージに書き込まれている送信元の優先順位データPr-jと自装置(すなわち、通信装置20-1)の不揮発性記憶部254-1に格納されている優先順位データPr-1との比較を行うのであるが、本動作例では、通信装置20-1の優先順位が最も高いため、親機の交代が発生することは無い。通信装置20-1の制御部210-1は参加要求メッセージの送信元の装置識別データ等を順次参加装置リストに登録する。その結果、図5に示すように、通信装置20-1を親機とするデータ共有グループが形成され、そのデータ共有グループに参加する通信装置についての装置識別データ等を含む参加装置リストが揮発性記憶部252-1に格納される。また、他の通信装置(図5の場合、通信装置20-2~7)は参加したデータ共有グループの親機として機能する通信装置(通信装置20-1)についての装置識別データが揮発性記憶部252にそれぞれ格納される。
 以上がデータ共有グループの形成動作である。
(B-2:配信経路決定処理における動作)
 次いで、図5に示すようにデータ共有グループが形成されている状況下で、そのデータ共有グループにおけるデータ配信経路を決定する際の動作について説明する。本実施形態においては、データ共有グループに参加している通信装置20-j(j=1~7)のうち親機または中間ノードの役割を果たすものが各々の配下となるべき通信装置を優先順位に基づいて選択してゆく、といった分散モデルを採用した点に特徴がある。具体的には、以下の要領でツリー状の配信経路が決定される。
 具体的には、親機として動作している通信装置20-1の制御部210-1は所定の通信メッセージ(例えば、データの配信開始を指示する旨の配信開始指示メッセージ)を、例えば通信装置20-1の第2通信I/F部に接続された通信端末から受信すると(図6:ステップSA100 Yes)、揮発性記憶部252-1に格納された参加装置リストに情報が登録されている通信装置のうち、自装置を除く通信装置の中から優先順位が高い順に予め定められた台数(例えば、2台)だけ選択する(ステップSA110)。本動作例において、通信装置20-1を除く他の6台の通信装置20-jの優先順位はPr-2>Pr-3・・・であるから、制御部210-1は、図8(a)に示すように、下流側装置として通信装置20-2と通信装置20-3を選択する。なお以下参照する各図面の参加装置リストにおいて、選択した通信装置に対応するレコードを網掛けにて示す。
 次いで、制御部210-1は、データ共有グループに属する通信装置のなかに自装置とステップSA110にて選択した下流側装置を除いて、上流側装置が未定のもの(以下、上流側未定装置)があるか否かを判定する(ステップSA120)。そして、制御部210-1はステップSA120の判定結果が"Yes"である場合にステップSA130の処理を実行する。本動作例においては、図8(a)に示すように通信装置20-1の参加装置リストには自装置を含めて7台の通信装置20-jについての情報が登録されており、これら7台の通信装置20-jのうち自装置(通信装置20-1)を除いて上流側装置が定まっているのは通信装置20-2および20-3の2台であるからステップSA120の判定結果は"Yes"になり、ステップSA130の処理が実行される。
 ステップSA130の処理は、通信装置20-1の制御部210-1が、ステップSA110にて選択した各下流側装置に対して、上流側未定装置のうちから各々の下流側装置を選択すべきことを指示する旨の通信メッセージ(以下、選択指示メッセージ)を送信する処理である。より詳細に説明すると、制御部210-1は、まず、参加装置リスト(参加装置リスト1)に格納されているレコードのうちの自装置以外のものをステップSA110にて選択した下流側装置(この動作例の場合通信装置20-2および通信装置20-3)の数分にグループ分けして、このグループ毎に新たな参加装置リスト(参加装置リスト2,3)を生成する。そして、制御部210-1は、これら生成した参加装置リストの各々を含む選択指示メッセージをステップSA110にて選択した各下流側装置に送信する。ここで、上記グループ分けの仕方としては種々の態様が考えられる。例えば、ステップSA110にて選択した各下流側装置の優先順位が互いに大きく異ならないのであれば、各参加装置リストに含まれる上流側未定装置の数が略均等になり、かつ、各グループに属する通信装置の優先順位の分布も均等になるようにグループ分けする態様が考えられる。これに対してステップSA110にて選択した各下流側装置の優先順位にばらつきがある場合には、優先順位が高い下流側装置に与える参加装置リストほど多くの上流側未定装置を含むものとなるようにグループ分けすれば良い。生成された参加装置リストは選択された下流側装置とその更に下流に配置されるようグループ分けされた1乃至複数の上位側未定装置に関する情報が登録されたものとなる。
 本動作例では、ステップSA110にて下流側装置として選択される通信装置20-2と通信装置20-3との優先順位に大きな差はないため、前者の態様で参加装置リストの分割が行われる。具体的には、図8(b)に示すように、通信装置20-2に対してはその通信装置20-2の他に通信装置20-4および20-6の情報が登録された参加装置リストが送信され、通信装置20-3に対してはその通信装置20-3の他に通信装置20-5および20-7の情報が登録された参加装置リストが送信される。なお、親機として動作している通信装置20-1の制御部210-1は、選択指示メッセージ乃至参加装置リストの送信とは別に、自装置の下流側装置のうちで適当なものに揮発性記憶部252-1に記憶されている参加装置リスト(参加装置リスト1)を送信し、バックアップ用データとして記憶することを指示する。好適には自装置の下流側の通信装置のうち最も優先順位の高いもの(処理能力や利用可能な帯域幅などのデータ伝送の能力が最も高く、親機となる順位が自装置の次位となるもの)に参加装置リスト(参加装置リスト1)の送信とバックアップ用データとして記憶することが指示される。なお、このバックアップ用の参加装置リストの送信と指示とは任意のタイミングで実行すればよく、例えば上記選択指示メッセージの送信に前後して行われる。このバックアップ用データがどのように使用されるのかについては後に明らかにする。
 以降、制御部210-2(或いは制御部210-3)は、上流側装置である通信装置20-1から送信された選択指示メッセージを受信すると(図6:ステップSA100 Yes)、その選択指示メッセージに書き込まれている参加装置リスト(参加装置リスト2,3)を揮発性記憶部252に格納した後に、上述した制御部210-1と同様にステップSA110以降の処理を実行する。また、選択指示メッセージを受信したことに応じて、選択指示メッセージの送信元の通信装置20-1の装置識別データを、データ配信経路においてこの通信装置20-2(或いは20-3)の直上に配置された通信装置を特定する情報として揮発性記憶部252に格納する。なお、制御部210-2は、図6のステップSA110以降の処理の他に上記バックアップ用データを揮発性記憶部252-2に書き込む処理も実行する。
 例えば、制御部210-2は、通信装置20-1から受信した参加装置リストを参照し、予め定められた数(例えば、2台)の下流側装置を優先順位の高い順に選択する(ステップSA110)。図8(b)に示すように通信装置20-1から通信装置20-2に送信される参加装置リストには、自装置(通信装置20-2)、通信装置20-4および20-6の情報が含まれているため、制御部210-2は、通信装置20-4および通信装置20-6を下流側装置として選択する。これにより、通信装置20-1から通信装置20-2に送信される参加装置リストに登録されている情報の示す各通信装置の上流側装置は全て定まることになり、制御部210-2が実行するステップSA120の判定処理の判定結果は"No"になる。このため、制御部210-2はステップSA130の処理を実行することなく、配信経路決定処理を終了する。同様に、制御部210-3も通信装置20-1から受信した参加装置リストを参照し、通信装置20-5および通信装置20-7を下流側装置として選択して、本配信経路決定処理を終了する。以降、親機または中間ノードの役割を担う通信装置20-jの各々は、その下流側装置との間に暗号化通信路を確立し、これにより、図8(c)に示すツリー状のデータ配信経路に従った共有対象データの伝播がなされるのである。
 以上説明したように本実施形態においては、親機(すなわち、優先順位の最も高い通信装置20-1)のみがデータ配信経路の決定のための処理を行うのではなく、中間ノードの役割を果たす通信装置20-2や20-3もデータ配信経路の決定に寄与する。このため、特定の装置に負荷が集中することはなく、輻輳も発生しにくくなる。加えて、通信装置20-j(j=1~7)のうちで最も優先順位が高いものが親機となり、優先順位の高い通信装置ほど上流側(親機に近い側)の中間ノードとなるようにデータ配信経路が決定される。このため、途中の経路がボトルネックになることはなく、通信効率の高いデータ配信を行うことが可能になる。
(B-3:通信装置が途中参加する場合の動作)
 次いで、データ共有グループが形成され、ツリー状のデータ配信経路が構築されている状態において、このデータ共有グループに新たな通信装置(途中参加装置)が途中参加する場合の動作を、データ配信経路が図8(c)に示すように定まっている状況を例に説明する。
(B-3-1:親機よりも優先順位の低い通信装置が途中参加する場合の動作)
 まず、通信装置20-8が途中参加する場合を例にとって、親機よりも優先順位の低い通信装置が途中参加する場合の動作を説明する。通信装置20-8の不揮発性記憶部254-8に格納された優先順位Pr-8は通信装置20-1の優先順位Pr-1以下であるとする。制御部210-8はデータ共有グループの形成を指示されると、不揮発性記憶部254-8に格納されている初期ノードデータの示す通信装置20-k(例えば、k=7)に参加要求メッセージを送信し、その時点の親機の紹介を受ける。前述したように通信装置20-8が途中参加する時点では、図8(c)に示すようにデータ配信経路が定まっており、その時点の親機は通信装置20-1であるから、制御部210-8は初期ノードデータの示す通信装置20-kから通信装置20-1を親機として紹介される。このようにして親機を紹介された通信装置20-8の制御部210-8は、前述した参加要求メッセージを当該親機(すなわち、通信装置20-1)へ送信する(図9(a)参照)。一方、制御部210-1は参加要求メッセージを受信すると、その参加要求メッセージに書き込まれている事前共有鍵を参照してその送信元の認証を行い、認証を完了すると配信経路再構築処理を実行する。
 図7は、通信装置20-1の制御部210-1が実行する配信経路再構築処理の流れを示すフローチャートである。図7に示すように、制御部210-1は、途中参加の要求元の通信装置(以下、途中参加装置:本動作例では通信装置20-8)が自装置の優先順位よりも高いか否かの判定を行う(ステップSB100)。この例の場合、参加要求メッセージを送信した通信装置20-8の優先順位は通信装置20-1の優先順位以下であるので、ステップSB100の判定結果は"No"となり、制御部210-1はステップSB120以降の処理を実行する。
 図7のステップSB120では、制御部210-1は、通信装置20-1の下流側装置(図8(c)の例では通信装置20-2および20-3)の中で途中参加装置よりも優先順位の低い下流側装置があるか否かを判定する。そして、ステップSB120の判定結果が"Yes"であれば、制御部210-1は、ステップSB130およびステップSB140の処理を実行し、逆にステップSB120の判定結果が"No"であればステップSB140の処理のみを実行する。
 ステップSB130は、該当する下流側装置を途中参加装置と入れ替える処理である。なお、該当する下流側装置が複数ある場合には制御部210-1は、それらのうちから1つを選択して途中参加装置との入れ替えを行う。ここで、途中参加装置よりも優先順位の低い下流側装置が複数ある場合に入れ替え対象の下流側装置を1つ選択する際の具体的な選択態様としては種々の態様が考えられる。例えば、下流側装置のうちで優先順位が最も低いものを選択する態様、あるいは途中参加装置よりも優先順位の低い下流側装置のうちで最も優先順位の高いものを選択する態様、または途中参加装置よりも優先順位の低い下流側装置に通し番号を付与し、その通し番号の範囲内で擬似乱数を発生させ、その擬似乱数と一致する通し番号を有するものを入れ替え対象として選択する態様であっても良い。
 ステップSB140は、制御部210-1が、下流側装置のうちの1つを選択し、その時点の上流側未定装置(ステップSB130の処理が実行されていれば、途中参加装置と入れ替えられた通信装置、同処理が実行されていなければ途中参加装置)のレコードを書き込んだ選択指示メッセージを送信して、その上流側未定装置のデータ配信経路への組み入れを指示する処理である。図9(a)の例ではこの選択指示メッセージとして途中参加装置に関する情報のみを添付し、途中参加装置の組み入れを指示している。このようにして上流側未定装置の組み入れを指示された下流側装置の制御部210は、この下流側装置を起点とした配信経路再構築処理あるいは前述した配信経路決定処理(図6参照)のステップSA110以降の処理を実行する。以降、下流側の通信装置20-jにおいても上流側未定装置がなくなるまで配信経路決定処理が順次実行される。なお、途中参加装置の組み入れを指示する下流側装置の選択態様としては種々の態様が考えられる。本実施形態では、最も優先順位の高いものを選択する態様が採用されているが、逆に、最も優先順位の低いものを選択する態様であっても良く、また擬似乱数を用いて選択する態様であっても良い。
 さて、本動作例においては、途中参加の要求元である通信装置20-8は、親機である通信装置20-1の下流側装置(すなわち、通信装置20-2および通信装置20-3)の何れよりも優先順位が低いため、制御部210-1が実行する配信経路再構築処理のステップSB120の判定結果は"No"になり、制御部210-1はステップSB140の処理のみを実行する。本動作例では、通信装置20-1の下流側装置は通信装置20-2および20-3であり、前者のほうの優先順位が高いため通信装置20-2に対して上流側未定装置の組み入れが指示される。
 この組み入れ指示に応じて、通信装置20-2の制御部210-2は通信装置20-2を起点とした場合の配信経路再構築処理を実行する。すなわち、組み入れが指示された途中参加装置の優先順位と自身の下流側装置として選択していた各通信装置の優先順位を比較して、途中参加装置よりも優先順位の低い下流側装置がある場合には当該装置を途中参加装置と入れ替え、他の場合には下流側装置のいずれかに途中参加装置の組み入れを指示する。本動作例では、優先順位に基づいて通信装置20-8は通信装置20-6と入れ替えられ、通信装置20-4と通信装置20-8とが通信装置20-2の下流側装置となる。さらに、通信装置20-8の方が優先順位が高いため、通信装置20-8に対して上流側未定装置となった通信装置20-6の組み入れが指示される。この指示に応じて通信装置20-8の制御部210-8は配信経路再構築処理を実行するが、この状態では通信装置20-8はその下流側装置を選択していないため(再構築すべき配信経路が未構築であるため)、配信経路決定処理を実行する。制御部210-8が実行する配信経路決定処理においては、通信装置20-6が通信装置20-8の下流側装置として選択され、その結果、図9(b)に示すようにデータ配信経路が再構築される。
 このように、本実施形態によれば、親機がデータ配信経路全体のトポロジを把握していなくとも、途中参加装置にその優先順位に応じた役割を割り振ってデータ配信経路を再構築することができるのである。加えて、図9(a)と図9(b)とを対比すれば明らかように、通信装置20-3より下流のデータ配信経路には全く影響が生じていない。つまり、本実施形態によれば、データ配信経路の再構築の影響範囲を小さく抑えることもできるのである。
(B-3-2:親機よりも優先順位の高い通信装置が途中参加する場合の動作)
 一方、親機よりも優先順位の高い通信装置(以下、通信装置20-x)が途中参加する場合は、図7のステップSB100の判定結果は"Yes"になり、前述した親機の交代が発生する。具体的には、制御部210-1は、通信装置20-1よりも高い優先順位を有する通信装置20-xから送信された参加要求メッセージを受信すると、参加装置リスト(参加装置リスト1)とデータ配信経路の構築を指示する旨の指示子とを書き込んだ親機交代指示メッセージを返信する。この親機交代指示メッセージを受信した制御部210-xは、その親機交代指示メッセージに書き込まれている参加装置リストを揮発性記憶部252-xに書き込みむとともに自身の装置識別データ等の情報を追加し、以後、親機としての処理を実行する。具体的には、制御部210-xは、その親機交代指示メッセージに書き込まれている指示子に応じてデータ配信経路を再構築する処理を実行する。
 ここで、制御部210-xがデータ配信経路を再構築する際の具体的な態様としては種々の態様が考えられる。第1に、参加装置リストの格納内容にしたがってデータ配信経路全体を再構築する態様(通信装置20-x以外の全ての通信装置20-jを上流側未定装置として図6のステップSA110以降の処理を実行する態様)が考えられる。このような態様によれば、データ共有グループに参加している通信装置20-jの各々に対してその処理能力等に応じた役割を割り振ってデータ配信経路を再構築することができるといった利点があるものの、再構築の影響範囲が大きくなるといった欠点もある。
 そこで、上記第1の態様の他に、図10(a)に示すように通信装置20-1のみを通信装置20-xの下流側装置としてデータ配信経路を再構築する態様(以下、第2の態様)や、図10(b)に示すように通信装置20-1と通信装置20-1の下流側装置であった通信装置(すなわち、通信装置20-2および通信装置20-3)とを通信装置20-xの下流側装置とする態様(以下、第3の態様)を採用することも考えられる。これらの態様によれば、通信装置20-xの途中参加が発生する以前に親機の役割を担っていた通信装置20-1の下流側装置よりも下流のデータ配信経路に影響が生じることはなく、データ配信経路の再構築の影響範囲を最小限にすることができる。なお、図10(a)に示す態様での再構築を実現するには、通信装置20-1のみを上流側未定装置とした状態で図6のステップSA110以降の処理を通信装置20-xの制御部210に実行させるようにすれば良い。また、図10(b)に示す態様での再構築を実現するには、通信装置20-1、20-2および20-3を上流側未定装置とし、かつ、通信装置20-xが選択可能な下流側装置の数を3台とした状態で図6のステップSA110以降の処理を通信装置20-xの制御部210に実行させるようにすれば良い。
 なお、上記第2または第3の態様にて再構築処理を行う場合には、データ配信経路の起点(ルートノード)となる親機の通信装置、および末端以外(中間ノード)の通信装置は、前述の配信経路決定処理においてそれぞれ下流のブランチを構成する各グループ(すなわち参加装置リスト)を記憶しておき、再構築に応じてその情報を更新するようにする。
 なお、上記第1~第3の態様の何れか1つを選択するのではなく、親機の交代が発生した直後には第2または第3の態様によってデータ配信経路を再構築し、その後、一定時間経過後に第1の態様による再構築を行うようにしても勿論良い。これは、データ配信経路が構築されている状態では何らかのデータ配信が行われている可能性があるため、データ配信経路の大幅な変更によってそのデータ配信が妨げられないようにするとともに、そのデータ配信が終了するころを見計らってデータ配信経路をより効率の良いものへと再構築するためである。また、データ共有グループ内でのデータ配信が実際に行われているか否かを親機に検出させることができる場合には、親機の交代が発生した時点でデータ配信が行われているのであれば第2または第3の態様でデータ配信経路を再構築するとともにそのデータ配信の終了を検出した時点で第1の態様による再構築を行い、親機の交代が発生した時点でデータ配信が行われていないのであれば即座に第1の態様でデータ配信経路を再構築するようにしても良い。
なお、親機よりも優先順位の低い通信装置が途中参加する場合において、下流側装置と途中参加装置とを入れ替える際、入れ替え対象となる下流側装置(上述の例の場合、通信装置20-6)の下流に更に他の通信装置が下流側装置として配置されている場合の動作も、ここで説明した第1~第3の態様またはその組み合わせにより再構築される。
(B-4:通信装置が中途離脱する場合の動作)
 次いで、データ配信経路が図9(b)に示すように定まっている状況下で、親機または中間ノードの役割を担っている通信装置20-jが中途離脱する場合の動作について説明する。なお、上記データ配信経路において下流側の末端ノード(例えば、図9(b)の通信装置20-4,20-5、20-6、および20-7)が中途離脱したとしてもデータ配信経路の再構築を行う必要はないため、これら末端ノードが中途離脱する場合については説明を省略する。
(B-4-1:親機以外の通信装置が中途離脱する場合の動作)
 まず、図9(b)に示す状態において通信装置20-8が中途離脱する場合を例にとって中間ノードの役割を担っている通信装置20-jが中途離脱する場合の動作を図11(a)-図11(c)を参照しつつ説明する。本実施形態では、中間ノードの役割を担っている通信装置20-jがデータ共有グループから中途離脱する場合、その旨を上流側装置へ通知する処理(以下、離脱通知処理)を行ってから離脱することを原則としている。中間ノードの役割を担っている通信装置が中途離脱すると、その中途離脱した下流側装置よりも下流側の通信装置はデータの共有を行えなくなる。このため、中途離脱の要求元の通信装置20-jを除いてデータ配信経路を再構築し、その再構築が完了してから離脱させるようにしたのである。しかし、何らかのハードウェア障害や、電源の切断、或いは通信回線の切断等によって離脱通知処理が行われることなく、中間ノードの役割を担っている通信装置20-jの中途離脱が生じる場合も起こり得る。以下、所定の離脱通知処理を行って通信装置20-4が中途離脱する場合と、離脱通知処理を行わずに中途離脱する場合に分けて説明する。
(B-4-1-1:離脱通知を行ってから離脱する場合)
 データ共有グループからの離脱を指示された通信装置20-jの制御部210は、まず、離脱通知処理を実行する。この離脱通知処理では、制御部210は、離脱を要求する旨の通信メッセージ(以下、離脱要求メッセージ)に揮発性記憶部252に格納された参加装置リスト(通信装置20-jより下流に配置されている1乃至複数の通信装置の装置識別データおよび優先順位データ)を書き込んでデータ配信経路における途中離脱する通信装置の直上に配置されている上流側装置へ送信する。上述のとおりデータ配信経路における途中離脱する通信装置の直上に配置されている上流側装置の装置識別データは配信経路決定時に揮発性記憶部252に記憶されている。例えば、図9(b)に示すようにデータ配信経路が構築されている状況下で、制御部210-8が第2通信I/F部に接続された通信端末からデータ共有グループからの離脱を指示されると、制御部210-8は、揮発性記憶部252を参照し、通信装置20-6についての情報を書き込んだ離脱要求メッセージを通信装置20-8の直上に配置された上流側装置である通信装置20-2へ送信する(図11(a)参照)。
 一方、下流側装置から離脱要求メッセージを受信した通信装置の制御部210は、その離脱要求メッセージに書き込まれている参加装置リストに登録された通信装置を上流側未定装置とし、その情報の示す通信装置のうちから優先順位の最も高いものを下流側装置として選択した後に図6のステップSA120以降の処理を実行する。以後、上流側未定装置がなくなるまで、新たに下流側装置として選択される各通信装置20においても図6のステップSA120以降の処理が順次実行され、データ配信経路の再構築を行う。あわせて、下流側装置から離脱要求メッセージを受信した通信装置の制御部210は、更に上流側の通信装置に対して、下流側の通信装置が離脱したことを通知し、以下親機として機能する通信装置に至るまでこの情報が伝播される。当該通知を受信した上流側の通信装置の制御部210は、離脱した通信装置に対応するレコードを参加装置リストから削除する。例えば、図11(a)に示すように、通信装置20-8から送信された離脱要求メッセージを受信した制御部210-2は、その離脱要求メッセージに書き込まれている情報の示す通信装置(すなわち、通信装置20-6)と通信装置20-4を新たに下流側装置として選択し(図11(b)参照)、データ配信経路を再構築するのである。
(B-4-1-2:離脱通知を行わずに離脱する場合)
 これに対して、図9(b)に示す状態において通信装置20-8が上記離脱通知処理を行うことなく突然離脱した場合には、通信装置20-8の下流側装置である通信装置20-6の制御部210-6は前述した状態通知/監視機能によってその離脱を検出し、通信装置20-8が中途離脱したことを通知する旨の通信メッセージ(以下、離脱通知メッセージ)を親機(すなわち、通信装置20-1)に送信する(図11(c)参照)。以降、制御部210-1は、離脱した通信装置(本動作例では、通信装置20-8)に対応するレコードを参加装置リストから削除し、離脱通知メッセージの送信元の通信装置を途中参加と同様の手順でデータ配信経路に組み入れる処理を実行する。
 例えば、図11(c)に示すように、通信装置20-6から通信装置20-8の離脱を通知された場合には、制御部210-1は、通信装置20-2に対して通信装置20-8の不在通知を行うとともに、通信装置20-6の組み入れを指示する。これにより、通信装置20-6は通信装置20-2の下流側装置としてデータ配信経路に組み込まれるのである。なお、この場合、通信装置20-6よりも下流に既にデータ配信経路が構築されている場合でも、それを維持したままデータ共有グループ全体のデータ配信経路を再構築することができる。つまり、本実施形態によれば、余計な再計算を行うことなくデータ配信経路の再構築を行えるのである。また、図11(c)を参照すれば明らかように、通信装置20-3より下流のデータ配信経路は変化しないため、データ配信経路の再構築の影響範囲を最小限に抑えることができるのである。
(B-4-2:親機が中途離脱する場合の動作)
 次いで、図9(b)に示す状態から親機として動作している通信装置20-1が中途離脱する場合について説明する。
 親機として機能している通信装置20-jが中途離脱する場合、その通信装置20-jの制御部210は、自装置の下流側装置のうち参加装置リストをバックアップ用データとして格納しておくことを指示したもの(好適には、下流側装置のうち優先順位の高い方、すなわち、データ共有グループ内において親機の次に優先順位が高い通信装置)に離脱要求メッセージを送信する。例えば図9(b)に示す状態において通信装置20-1が中途離脱する場合、通信装置20-1から通信装置20-2へ離脱要求メッセージが送信される。制御部210-2は上流側装置から離脱要求メッセージを受信した場合には、以後、親機としての処理を実行する。具体的には、制御部210-2は、揮発性記憶部252-2に記憶されているバックアップ用データに基づいて参加装置リストを生成し(具体的には通信装置20-1に関するレコードを参加装置リストから削除し)、この生成した新たな参加装置リストに基づいてデータ配信経路の再構築を行い、次位の通信装置20-j(すなわち、通信装置20-3)へ生成した新たな参加装置リストを送信し、バックアップ用データとして記憶させる処理を実行する。
 この場合の再構築の態様についても種々の態様が考えられる。具体的には、通信装置20-2が通信装置20-1からバックアップ用データとして受信していた参加装置リストの格納内容に基づいてデータ配信経路全体を再構築する態様であっても良く、また、図12に示すように、通信装置20-4、20-8および通信装置20-3の各々より下流側のデータ配信経路を維持したままデータ配信経路を再構築する態様や両者を併用する態様であっても良い。例えば、通信装置20-4、20-8および通信装置20-3の各々より下流側のデータ配信経路を維持したままデータ配信経路を再構築する態様を実現するには、通信装置20-3のみを上流側未定装置とし、かつ、通信装置20-2が選択可能な下流側装置の数を3台として図6のステップSA110以降の処理を制御部210-2に実行させるようにすれば良い。なお、通信装置20-3のみを上流側未定装置として扱えるようにするためには、下流側装置を示す情報を書き込んだ離脱要求メッセージを通信装置20-1に送信させ、その情報の示す通信装置のうちで自装置を除いたものを上流側未定装置として扱う処理を制御部210-2に実行させるようにすれば良い。また、親機が離脱要求メッセージを送信することなく中途離脱したことを上記状態通知/監視機能によって制御部210-2が検出した場合についても同様に、制御部210-2は、揮発性記憶部252-2に記憶されているバックアップ用データを参加装置リストとしてデータ配信経路の再構築を行い、次位の通信装置20-j(すなわち、通信装置20-3)へその参加装置リストを送信し、バックアップ用データとして記憶させる処理を実行する。
 以上が親機が中途離脱した場合の動作である。
 このように親機が中途離脱する場合(或いはハードウェア障害等によって中途離脱した場合)も、データ配信経路を再構築することができ、また、その再構築の態様によっては、その影響範囲を最小限に抑えることができる。
 以上説明したように、本実施形態によれば、特定の通信装置20-jに過大な負荷がかかることを回避しつつ、通信装置20-j間のデータ配信経路を各通信装置20-jの処理能力等に応じて柔軟に定め、それら通信装置20-jへの同一データの配信を効率的に行うことが可能になる。加えて、本実施形態においては、通信装置20-j間の通信方式はパケット交換方式であるから、所謂オーバレイネットワークを構築することにより、接続回線を選ばず、自由に複数の宛先へデータの同時転送が可能である。このため、オーバレイネットワークにおいて柔軟なネットワークトポロジを構築することができ、また全ての通信装置20-jへデータを配信するのに要する時間を短くすることもできる。
 次に本発明の概念を、図13~図15を参照して説明する。図13~図15は、本発明の概念を説明する図である。
 図13に示すように通信装置20-jは、データ共有グループ内でデータ配信経路を構築するための選択手段2101と指示手段2102とを備えている。なお、選択手段2101及び指示手段2102は、制御部210が実現する機能である。選択手段2101はツリー状のデータ配信経路において、通信装置20-jの下流側に配置すべき通信装置(下流側通信装置)を選択する。図13では通信装置20-jが通信装置20-m,20-nを下流側通信装置として選択した状態を例示している。下流側装置を選択する数は1以上の任意の数であってよい。
 通信装置20-jは下流側通信装置を選択すると、指示手段2102はこの選択した下流側通信装置20-m,20-nに対して更に下流側の通信装置を選択するよう指示を行う。
 ツリー状のデータ配信経路の起点(木構造におけるルートノード)となる親機(起点通信機器)から、下流側通信装置(木構造における内部ノードあるいはリーフノード)の選択およびその選択した下流側通信装置に対して更に下流側の通信装置を選択する指示(言うまでもなく、選択した下流側通信装置がリーフノードとなるのであればこの指示は行われない、あるいは指示が行われたとしてもその下流側通信装置(リーフノード)では更なる下流側通信装置は選択されない)を順次行い、データ共有グループを形成する各通信装置が協働することによりデータ配信経路が決定される。
 その際、図14に示すように各通信装置20-j,20-m,20-nの間では、下流側の通信装置として選択されうる他の通信装置のリストが通知される。図14には、通信装置20-jが通信装置20-m、20-nを選択した状態で、リスト生成手段2103がこれら選択した通信装置に通知するリスト(リストm,リストn)を生成し、それぞれ通信装置20-m、20-nに通知する状態を例示している。
 通信装置20-jが保持するリストは、例えば通信装置20-m,20-nを含むN個の通信装置が記述されたものであり、選択手段2101はこのリストから通信装置20-mおよび20-nを選択する。リスト生成手段2103は、このリストから選択した通信装置20-m,20-nを除いたリストを生成する。この際、通信装置20-mと20-nに通知されるリストm、nはその記述された通信装置が重複しないよう生成される。当該リストを通知された通信装置20-m,20-nは、通信装置20-jからの指示に応じて同様に(通知された)リストから更に下流の通信装置を選択するのである。
 なお、好適には、各通信装置における下流側通信装置の選択は、その通信装置の処理能力(処理速度等)あるいは利用可能なネットワーク帯域等、通信装置のデータ伝送能力を指標化した優先順位に基づいて行い、選択手段2101は優先順位の高いものから順に下流側通信装置を選択することが好ましい。
 このような優先順位は上記リストとして順次下流の通信装置(中間ノード)に通知される。
 このように選択することで、データ伝送能力の低い通信装置が木構造の内部ノードとして配置された場合に当該通信装置が共有データ伝播のボトルネックとなることを回避することができるとともに、簡易なアルゴリズムで通信効率の高いデータ配信経路を構築することができる。
 さらに、図15に示すようにツリー状のデータ配信経路を経由して共有対象のデータが配信される。各通信装置は、通信装置相互でデータ伝送を行うための第1の通信手段2104と、他のネットワーク装置(PC等のクライアント端末)との間でデータ伝送を行うための第2の通信手段2105と、第1の通信手段2104を介して上流側の通信装置から受信した共有対象のデータを保持するための共有データ記憶手段2106とを備えている。共有データ記憶手段2106に記憶されたデータは、選択手段2101が選択した下流側通信機器に配信(転送)され、また、第2の通信手段2105に接続されているネットワーク装置からのリクエストに応じて当該ネットワーク装置に提供される。
 このように、木構造におけるルートノードおよび中間ノード(すなわち、上流側装置を有し、かつ、1または複数の下流側装置を有するノード)の役割を果たす通信装置それぞれがデータ配信経路の決定に寄与するため、特定の通信装置に負荷が集中することはなく、輻輳も発生しにくくなる。特定の通信装置に負荷が集中することはないため、サーバ・クライアント方式の通信システムに比較してスケーラビリティが高くなる。
 また、例えば、処理能力の高さや通信網にて利用可能な帯域幅の広さといったデータ伝送能力を指標化した優先順位を各通信装置に割り当て、これに基づいて下流側に配置される通信装置を選択するようにすれば、データ配信経路の上流側においてボトルネックが発生しにくくなり、簡易なアルゴリズムで通信効率の高いデータ配信経路を構築し、当該構築されたデータ配信経路にて短時間にデータ配信を完了することが可能になる。
 さらに、各通信装置間の通信方式は回線交換方式に限定されるものではないから、例えばパケット交換方式を採用することにより、所謂オーバレイネットワークを構築して複数の宛先へのデータの同時配信を行うことができる。このため、本発明の通信システムにおいては、特許文献1に開示された技術やP2P型の通信システムに比較して、データ共有グループに属する全ての通信装置に対して短時間のうちに確実にデータを行き渡らせることができる。
 また、上記データ配信経路の決定の際にフルメッシュの通信を行う必要もないから、特許文献2に開示された技術に比較して各通信装置に過大な処理負荷がかかることもない。
(C:変形)
 以上本発明の一実施形態について説明したが、この実施形態に以下に述べる変形を加えても勿論良い。
(1)以上の説明では、通信装置20-jの処理能力およびその通信装置20-jが利用可能な帯域幅の両者に基づいてその通信装置20-jの優先順位を定めたが、何れか一方に基づいて優先順位を定めても勿論良く、また、他の指標(例えば、配下の通信端末数など)に応じて優先順位を定めても良い。また、各通信装置20-jの処理能力等に大差がない場合には、例えば通信アドレスの若い順に高い優先順位を割り当てるような態様であっても良い。要は、データ共有グループを形成する通信装置20-jの各々に対して何らかの指標に基づいて優先順位付けがなされていれば良い。
(2)以上の説明では、各通信装置20-jの優先順位が予めシステム管理者等によって定められていたが、例えば利用可能な帯域幅を各通信装置20-jの制御部210に計測させ、その計測値に応じて自装置の優先順位を算出させるようにしても良い。また、上述した実施形態では、データ共有グループへの参加指示を契機としてデータ共有グループを形成する処理(具体的には、初期ノードデータの示す他の通信装置20-kに参加要求メッセージを送信する処理)を制御部210-jに実行させたが、データの配信開始を指示されたこと(すなわち、配信開始指示メッセージを配下の通信端末から受信したこと)または通信装置20-jの電源が投入されたことを契機としてデータ共有グループを形成する処理を制御部210-jに実行させるようにしても良い。
(3)以上の説明では、一般公衆網10と各拠点内LANとを接続するルータに本発明を適用した。しかし、本発明の適用対象はルータなどの中継装置に限定されるものではなく、データ通信の終端に位置する通信端末(例えば、拠点内LANに収容され、各ユーザに使用される通信端末)に本発明を適用しても勿論良い。要は、他の通信装置とデータ通信を行う通信装置であれば、本発明を適用することができる。
(4)以上の説明では、途中参加装置の組み入れを指示する際に送信される選択指示メッセージには、途中参加装置に関する情報のみを添付していたが、配信経路決定時と同様、途中参加装置を含む参加装置リストを選択指示メッセージに添付するようにしても良い。
(5)以上の説明では、選択指示メッセージに参加装置リストを添付したが、選択指示メッセージと参加装置リストとは、異なるタイミングにて下流側装置に送信するようにしてもよい。また、送信元の参加装置リストを分割したものに相当するものを下流側に送信したが、生成する参加装置リストは、選択した下流装置のグループに属する通信装置をグループ毎に識別するようフラグ等を各レコードに付与したものであってもよい。この場合、各通信装置にて保持される参加装置リストのサイズ(レコード数)は同一となる。また、参加装置リストに加え、データ配信経路の起点となる親機から選択した下流側装置に至るまでの経路(パス)を併せて通知するようにしてもよい。
(6)以上の説明では、通信装置が下流側通信装置を選択する場合、下流側通信装置を選択した後に、下流側通信装置を選択した通信装置の下流側に配置される他の(選択されなかった)通信装置をグループ化し、当該グループに関する参加装置リストを通知するようにしたが、最初に参加装置リストを所定数(1以上)のグループに分け、各グループの中から下流側通信装置として1の通信装置を選択するようにしてもよい。例えば、図8(a)-図8(c)の例の場合、親機となった通信装置20-1は参加装置リストに登録された自機を除く通信装置を第1のグループ(通信装置20-2,20-4,20-6)と第2のグループ(通信装置20-3,20-5,20-7)とに分け、その中からそれぞれ1の通信装置(通信装置20-2および通信装置20-3)を選択するようにしてもよい。この場合もデータ共有グループ形成時に取得した(あるいは上流側の通信装置から通知された参加装置リストに記述された)各通信装置の優先順位に基づいて、例えば優先順位順にグループ毎に1つずつ通信装置を振り分け、その中から最も優先順位の高いものを下流側通信装置として選択すればよい。
(7)以上の説明では、データ共有グループから通信装置が離脱を行う際、離脱する通信装置が、離脱要求メッセージをデータ配信経路における直上に配置された上流側装置に通知したが、離脱要求メッセージを親機へ送信するようにしてもよい。例えば、図9(b)に示すようにデータ配信経路が構築されている状況下で、制御部210-8が第2通信I/F部に接続された通信端末からデータ共有グループからの離脱を指示されると、制御部210-8は、離脱要求メッセージを親機である通信装置20-1へ送信する。
この場合、離脱要求メッセージを受信した通信装置20-1の制御部210-1は、揮発性記憶部252-1に記憶している参加装置リストから通信装置20-8に関するレコードを削除し、以降通信装置20-1以下「B-4-1-2:離脱通知を行わずに離脱する場合」にて説明した手順と同様にデータ配信経路の再構成が行われる。
(8)以上の説明では、データ共有グループから離脱通知を行わずに通信装置が離脱した場合、その離脱を検知した下流側の通信装置が親機に離脱通知を行ったが、下流側の通信装置が上流側にある通信装置に順次離脱通知メッセージの送信を行う態様を採用してもよい。この場合、データ配信経路において直上に配置された通信装置が突然離脱したことを検知した通信装置は、中途離脱装置の上流に配置された通信装置から上流に向かって応答があるまで順次離脱通知メッセージを送信する。図11(c)に示した例の場合、通信装置20-8が離脱したことを検知した通信装置20-6は、まず通信装置20-8の上流に配置されていた通信装置20-2に離脱通知メッセージを送信する。仮にこの通信装置からの応答がなかった場合(所定時間経過しても応答がなかった場合等)は更に上流の通信装置(この場合通信装置20-1)に離脱通知メッセージを送信する。離脱通知メッセージを受け取った通信装置は、上述したように離脱通知メッセージの送信元の通信装置を途中参加の場合と同様の手順でデータ配信経路に組み入れる処理を実行する。なお、このような再構築処理を行う場合には、各通信装置は少なくともデータ配信経路の起点となる親機からその通信装置に到達するまでの経路(パス)等)を記憶しておく。
(9)以上の説明では、データ共有グループから離脱通知を行わずに通信装置が離脱した場合、その離脱を下流側の装置が検知したが、上流側の装置が下流側の通信装置の接続状態を前述した状態通知/監視機能によって検出するようにしてもよい。あるいは、親機が集中的にデータ共有グループに参加している各通信装置の接続状態を監視し、親機にて通信装置の離脱を検知するようにしてもよい。
(10)以上の説明では、データ共有グループから通信装置が離脱した際、各通信装置の参加装置リストから離脱した通信装置のレコードを削除するものとしたが、これに代えて、参加装置リストの各レコードに参加/離脱状態を示す状態フラグを付記し、この状態フラグの値に基づいて参加/離脱を識別するようにしてもよい。例えば、状態フラグとしてはデータ共有グループへ参加した状態では“1”とし、データ共有グループから離脱した状態では“0”とする。図5,図8(a)-図8(c)の例の場合、データ共有グループを形成した段階にあり、参加装置リスト中各装置の状態フラグは“1”となる。図9(a),図9(b)の例の場合、途中参加した通信装置20-8の情報が親機である通信装置20-1の参加装置リストに状態フラグ(値は“1”)とともに追加される。また、図11(a)-図11(c)の例の場合、通信装置20-8が離脱したため通信装置20-2および通信装置20-1においてはそれぞれの参加装置リスト中、離脱した通信装置20-8に対応する状態フラグの値が離脱状態を示す“0”に書き換えられ、以後、通信装置20-2は通信装置20-8がデータ共有グループに属さないものと識別して共有データの伝送等を行わない。
 このような構成を採用した場合、各通信装置に格納される参加装置リストの内容は状態フラグの値が変更されるのみであり、一旦離脱した通信装置がデータ共有グループに復帰した際、当該情報を再利用することが可能になる。例えば、図11(a)-図11(c)の例の場合、通信装置20-8が再びデータ共有グループに参加した場合、通信装置20-1,通信装置20-2は参加装置リストの通信装置20-8の状態フラグを“1”に戻すとともに、通信装置20-2が通信装置20-8を再選択することで簡易的にデータ配信経路を再構築することができる。
(11)上述した実施形態では、本発明の特徴を顕著に示す配信経路決定処理や配信経路再構築処理を制御部210に実行させる通信制御プログラムが不揮発性記憶部254に予め記憶されていた。しかし、CD-ROM(Compact Disk-Read Only Memory)などのコンピュータ装置読み取り可能な記録媒体に上記通信制御プログラムを書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより上記通信制御プログラムを配布しても良い。このようにして配布される通信制御プログラムを一般的な通信装置にインストールしその制御部を当該通信制御プログラムにしたがって作動させることで当該通信装置に本発明に係る通信装置と同一の機能を付与することが可能になるからである。
(12)上述した実施形態では、配信経路決定処理および配信経路再構築処理をプログラムで実現した。しかし、通信装置20-jがスクリプト実行機能を備えている場合には、これら各処理をスクリプトで実現しても勿論良い。具体的には、図6に示す配信経路決定処理を制御部210に実行させるためのコマンド列を所定のスクリプト言語で記述したテキストファイルである配信経路決定処理スクリプトと、図7に示す配信経路再構築処理を制御部210に実行させるためのコマンド列を同スクリプト言語で記述したテキストファイルである配信経路再構築処理スクリプトとを不揮発性記憶部254に予め記憶させておき、通信装置20-jの電源投入を契機として上記各スクリプトの解釈および実行を制御部210に開始させるのである。なお、上記スクリプト記述言語としては種々のものを用いることが考えられるが、Luaを用いることが好ましい。Luaは、perlなどの他のスクリプト言語に比較してスクリプトファイルの解釈および実行に要するメモリ量等が少なく、電子機器への組み込みに好適だからである。

 以下に、本発明の他の態様の作用効果を記載する。 本発明は、共有対象のデータを各通信装置に配信するためのツリー状のデータ配信経路においてその起点に位置する親機として選定される優先度を表す優先順位が予め割り当てられる複数の通信装置を含み、前記複数の通信装置のうちでデータ共有グループの形成を指示されたもののうちで最も優先順位が高いものが親機となり、前記親機は、前記データ配信経路において自装置の直下に位置する下流側装置を、前記データ共有グループに属する残りの通信装置のうちから優先順位が高い順に予め定められた数だけ選択する第1の処理と、前記データ共有グループに属する通信装置のなかに上流側装置が未定のものが残っている場合には、前記第1の処理にて選択した下流側装置の各々に対してそれら通信装置のうちから下流側装置を選択すべきことを指示する第2の処理と、を実行し、前記データ共有グループに属する通信装置のうちで前記親機以外のものは、上流側装置からの指示を契機として、前記データ共有グループに属する通信装置のうちで自装置よりも優先順位の低いもののなかから優先順位が高い順に予め定められた数だけ下流側装置を選択する第3の処理と、前記データ共有グループに属する通信装置のなかに上流側装置が未定のものが残っている場合には、前記第3の処理にて選択した下流側装置の各々に対してそれら通信装置のうちから下流側装置を選択すべきことを指示する第4の処理と、を実行することを特徴とする通信システム、を提供する。
 このような通信システムにおいては、データ共有グループの形成を指示された通信装置のうちで最も優先順位が高いものが親機となり、優先順位の高い通信装置ほど上流側(親機に近い側)に位置するようにツリー状のデータ配信経路が決定される。このため、例えば、処理能力が高いほど、または通信網にて利用可能な帯域幅が広いほど高い優先順位を各通信装置に割り当てるようにすれば、データ配信経路の上流側においてボトルネックが発生しにくくなり、通信効率の高いデータ配信経路を構築し短時間にデータ配信を完了することが可能になる。加えて、本発明の通信システムにおいては親機のみがデータ配信経路の決定のための処理を行うのではなく、中間ノード(すなわち、上流側装置を有し、かつ、1または複数の下流側装置を有するノード)の役割を果たす通信装置もデータ配信経路の決定に寄与するため、特定の通信装置に負荷が集中することはなく、輻輳も発生しにくくなる。このように特定の通信装置に負荷が集中することはないため、本発明の通信システムはサーバ・クライアント方式の通信システムに比較してスケーラビリティが高くなる。さらに、本発明においては各通信装置間の通信方式は回線交換方式に限定されるものではないから、例えばパケット交換方式を採用することにより、所謂オーバレイネットワークを構築して複数の宛先へのデータの同時配信を行うことができる。このため、本発明の通信システムにおいては、特許文献1に開示された技術やP2P型の通信システムに比較して、データ共有グループに属する全ての通信装置に対して短時間のうちに確実にデータを行き渡らせることができる。また、上記データ配信経路の決定の際にフルメッシュの通信を行う必要もないから、特許文献2に開示された技術に比較して各通信装置に過大な処理負荷がかかることもない。
 より好ましい態様においては、前記データ共有グループにおいて親機として機能している通信装置は、前記データ共有グループに属する他の通信装置の上流側装置が全て定まっている状況において、自装置よりも優先順位の高い新たな通信装置から前記データ共有グループへの途中参加を要求された場合には、当該新たな通信装置に対して親機の交代を指示する一方、前記データ共有グループに属する他の通信装置の上流側装置が全て定まっている状況において、自装置よりも優先順位の低い新たな通信装置から前記データ共有グループへの途中参加を要求された場合には自装置の下流側装置のなかに当該新たな通信装置よりも優先順位が低いものがあるか否かを判定し、該当するものがある場合には当該通信装置に代えて当該新たな通信装置を下流側装置として選択し直した後に自装置の下流側装置のうちの1つに対して上流側装置が未定の通信装置のうちから下流側装置を選択すべきことを指示し、該当するものがない場合には自装置の下流側装置のうちの1つに対して上流側装置が未定の通信装置のうちから下流側装置を選択すべきことを指示することを特徴とする。
 このような態様によれば、親機よりも優先順位の低い通信装置がデータ共有グループに途中参加する場合には、データ配信経路全体の再構築ではなく、途中参加する通信装置よりも優先順位の低い通信装置に関する部分のみの再構築が行われる。このため、データ配信経路の変更に起因した影響を最小限に抑えつつ、通信効率の高いデータ配信経路を構築することが可能になる。また、親機よりも優先順位が高い通信装置がデータ共有グループに途中参加する場合には当該新たな通信装置が新たな親機となってデータ配信経路が再構築される。詳細については後述するが、この再構築の際には、データ配信経路全体を再構築する態様と、影響範囲を最小限に抑えて再構築する態様とが考えられ、ニーズに応じて好適な態様を採用するようにすれば良い。
 また、別の好ましい態様においては、上記データ共有グループの親機は、前記データ共有グループに属する他の通信装置の上流側装置が全て定まっている状況において、何れかの通信装置からその上流側装置が前記データ共有グループから中途離脱したことを示す通知を受信した場合には、その通知元の通信装置から途中参加を要求されたものとみなしてデータ配信経路を再構築することを特徴とする。また、別の好ましい態様においては、前記データ共有グループに属する通信装置のうちの親機以外の通信装置の上流側装置が全て定まっている状況において、前記データ共有グループに属する通信装置の各々は、自装置の下流側装置から前記データ共有グループからの中途離脱を要求された場合には、当該要求元の直下の通信装置についての上流側装置を未定とした後に、これら通信装置のうちで最も優先順位が高いものを新たな下流側装置として選択し、自装置の下流側装置のうちの1つに対して上流側装置が未定の通信装置のうちから下流側装置を選択すべきことを指示することを特徴とする。また別の好ましい態様においては、前記データ共有グループに属する通信装置のうちの親機以外の通信装置の上流側装置が全て定まっている状況において、前記親機の下流側装置のうちで最も優先順位が高いものは、当該親機の中途離脱を検知したことを契機として、自装置が新たな親機となってデータ配信経路を再構築することを特徴とする。
 これらの態様によれば、親機または中間ノードの何れが中途離脱した場合であっても、残りの通信装置の優先順位にしたがってデータ配信経路が再構築され、通信効率の高いデータ配信経路を再構築することが可能になる。このように親機または中間ノードの何れが中途離脱した場合であっても、柔軟にデータ配信経路を再構築することができるため、サーバ・クライアント方式に比較して本発明の通信システムはアベイラビリティが高い。なお、データ配信経路の再構築の際の態様についても、データ配信経路全体を再構築する態様と、影響範囲を最小限に抑えて再構築する態様とが考えられ、ニーズに応じて好適な態様を採用するようにすれば良い。
 また、上記課題を解決するために本発明は、共有対象のデータをデータ共有グループに属する各通信装置に配信するためのツリー状のデータ配信経路においてその起点に位置する親機として選定される優先度を表す優先順位が予め割り当てられるとともに、同様に優先順位が割り当てられた他の複数の通信装置とともに前記データ共有グループを形成する通信装置において、当該通信装置の優先順位が最も高い場合、または当該通信装置よりも優先順位の高い他の通信装置からの指示を受けた場合に、前記データ共有グループにおけるデータ配信経路において当該通信装置の直下に位置するべき下流側装置を当該通信装置よりも優先順位の低い他の通信装置のうちから優先順位が高い順に予め定められた数だけ選択する選択手段と、前記複数の他の通信装置の中に上流側装置が未定のものが残っている場合には、前記選択手段により選択した下流側装置に対してそれら通信装置のうちから下流側装置を選択すべきことを指示する指示手段とを有することを特徴とする通信装置を提供する。なお、本発明の別の態様としては、コンピュータ装置を上記選択手段および上記指示手段として機能させることを特徴とするプログラムを提供する態様も考えられる。
 本発明を詳細にまた特定の実施態様を参照して説明してきたが、本発明の精神、範囲または意図の範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
 本発明は、2010年3月30日出願の日本特許出願(特願2010-079291)及び2011年3月22日出願の日本特許出願(特願2011-062779)に基づくものであり、その内容はここに参照として取り込まれる。
 本発明によれば、特定の通信装置に過大な負荷がかかることを回避しつつ、共有対象のデータを短時間のうちに各通信装置へ行き渡らせることを可能にする技術を提供することができる。
 10…一般公衆網、20-j(j=1~8)…通信装置、210…制御部、220…第1通信I/F部、230…第2通信I/F部、240…外部機器I/F部、250…記憶部、252…揮発性記憶部、254…不揮発性記憶部、260…バス

Claims (25)

  1.  通信ネットワークを介して相互に接続された複数の通信装置がツリー状のデータ配信経路を形成し、前記ツリー状のデータ配信経路の起点側に位置する上流側通信装置から下流側通信装置に対して、前記データ配信経路を経由して共有対象のデータを順次配信する、前記複数の通信装置によって構成されたデータ共有グループの通信装置であって、
     前記データ配信経路において当該通信装置の直下に位置する前記下流側通信装置として配置されるべき、1乃至複数の通信装置を選択する選択手段と、
     前記選択手段により選択された下流側通信装置に対して、当該下流側通信装置が更に下流側通信装置を選択するよう指示する指示手段と、
     前記データ配信経路において当該通信装置の直上に位置する他の通信装置から配信された共有対象のデータを前記選択手段にて選択された下流側通信装置に転送するデータ転送手段と、
    を備え、
     前記選択手段ないし指示手段により、当該通信装置から1階層分のデータ配信経路を形成する通信装置。
  2.  さらに、
     前記データ配信経路上、当該通信装置及びその下流に配置される1乃至複数の通信装置のリストを保持するリスト保持手段と、
     前記リスト保持手段に保持されたリストに基づいて前記選択手段により選択された下流側通信装置を除く1乃至複数の通信装置を記述した他のリストを生成し、前記選択手段により選択された下流側通信装置に対して、当該生成されたリストを通知するリスト生成及び通知手段と、
    を備え、
     前記選択手段は、前記リスト保持手段に保持されたリストから前記下流側通信装置を選択する請求項1に記載の通信装置。
  3.  前記選択手段は、前記上流側通信装置として、前記データ配信経路上における当該通信装置の上流に配置された通信装置からの指示に応じて、前記下流側装置の選択を行う請求項1または2に記載の通信装置。
  4.  さらに、
     前記通信ネットワークに接続され、他の通信装置と相互に通信するための第1の通信手段と、
     1乃至複数のネットワーク機器と通信するための第2の通信手段と、
     前記第1の通信手段を介して上流側の通信装置から受信した共有対象データを記憶する共有対象データ記憶手段と、
     前記第2の通信手段を介して前記ネットワーク機器から受信した要求に応じて前記記憶した共有対象データを当該ネットワーク機器に提供するデータ提供手段と、
    を備え、
     前記データ転送手段は、前記第1の通信手段を介して前記上流側の通信装置から受信した共有対象データを、前記第1の通信手段を介して前記選択された下流側通信装置に転送する請求項1~3のいずれか1項に記載の通信装置。
  5.  さらに、
     当該通信装置によって下流側通信装置として選択された1の通信装置が、前記データ共有グループから離脱したことを検知する離脱検知手段を備え、
     前記選択手段は、前記検知した通信装置の下流に配置された1乃至複数の通信装置のうちから、当該通信装置の直下に位置する前記下流側通信装置として前記データ配信経路上に配置すされるべき、1乃至複数の通信装置を選択する請求項1~4のいずれか1項に記載の通信装置。
  6.  さらに、
     当該通信装置より下流に配置されたいずれかの通信装置が、前記データ共有グループから離脱したことを検知する離脱検知手段を備え、
     前記指示手段は、前記検知に応じて、前記検知された通信装置の上流に配置された通信装置に対して、前記離脱した通信装置の下流に配置された下流側通信装置の選択を行うよう指示する請求項1~4のいずれか1項に記載の通信装置。
  7.  さらに、
     前記データ配信経路上、当該通信装置の上流に配置された通信装置が、前記データ共有グループから離脱したことを検知する離脱検知手段を備え、
     前記選択手段は、前記検知した通信装置の下流に配置された1乃至複数の通信装置のうちから、当該通信装置の直下に位置する前記下流側通信装置として前記データ配信経路上に配置されるべき、1乃至複数の通信装置を選択する請求項1~4のいずれか1項に記載の通信装置。
  8.  さらに、
     前記データ配信経路上、当該通信装置の上流に配置された通信装置が、前記データ共有グループから離脱したことを検知する離脱検知手段と、
     前記離脱を検知した通信装置に関する情報を、前記検知した通信装置より更に上流に配置された他の通信装置に通知する手段と、
    を備えた請求項1~4のいずれか1項に記載の通信装置。
  9.  前記離脱検知手段は、前記データ共有グループから離脱しようとする通信装置から離脱要求を受け取ることによって、当該要求元の通信装置が前記データ共有グループから離脱したことを検知する請求項5~7のいずれか1項に記載の通信装置。
  10.  前記離脱検知手段は、前記データ配信経路上、前記データ共有グループから離脱した通信装置の下流に配置された通信装置から送信される離脱通知を受け取ることによって、当該通知元の通信装置の上流に配置された通信装置が前記データ共有グループから離脱したことを検知する請求項5,6または8に記載の通信装置。
  11.  さらに、
     優先順位を記憶した優先順位記憶手段と、
     前記通信ネットワークを介して他の通信装置の優先順位を取得する優先順位取得手段と、
    を備え、
     前記選択手段は、前記取得した優先順位に基づいて前記下流側通信装置を選択する請求項1~10のいずれか1項に記載の通信装置。
  12.  さらに、
     前記優先順位記憶手段に記憶された優先順位と前記優先順位取得手段によって取得された他の通信装置の優先順位とに基づいて、当該通信装置が前記複数の通信装置のうち最も優先順位が高い装置であるか否かを判定する判定手段を備え、
     前記判定手段によって当該通信装置が前記複数の通信装置のうち最も優先順位が高い装置であると判定された場合に、前記選択手段は、前記下流側装置の選択を行うとともに、当該通信装置は、前記データ配信経路において前記データ配信経路の起点となる請求項11に記載の通信装置。
  13.  当該通信装置が前記データ配信経路の起点である場合において、
     当該通信装置は、さらに、
     前記データ共有グループに属さない他の通信装置から、当該データ共有グループへの参加要求を受け取る受け取り手段と、
     前記要求元の通信装置の優先順位を取得する優先順位取得手段と、
    を備え、
     前記判定手段は、前記優先順位記憶手段に記憶された優先順位と前記優先順位取得手段によって取得された要求元の通信装置の優先順位とに基づいて、当該通信装置が要求元の通信装置よりも優先順位が高い装置であるか否かを判定し、
     前記判定手段によって当該通信装置が前記要求元の通信装置よりも優先順位が高い装置ではないと判定された場合に、前記要求元の通信装置に対して、当該要求元の通信装置が新たな起点となるよう指示する請求項12に記載の通信装置。
  14.  当該通信装置が前記前記データ配信経路の起点である場合において、
     当該通信装置は、さらに、
     前記データ共有グループに属さない他の通信装置から、当該データ共有グループへの参加要求を受け取る受け取り手段と、
     前記要求元の通信装置の優先順位を取得する優先順位取得手段と、
    を備え、
     前記判定手段は、前記優先順位記憶手段に記憶された優先順位と前記優先順位取得手段によって取得された要求元の通信装置の優先順位とに基づいて、当該通信装置が要求元の通信装置よりも優先順位が高い装置であるか否かを判定し、
     前記判定手段によって当該通信装置が前記要求元の通信装置よりも優先順位が高い装置であると判定された場合に、前記選択手段は、当該通信装置の下流側装置のなかに前記要求元の通信装置よりも優先順位が低いものがあるか否かを判断し、前記要求元の通信装置よりも優先順位が低いものがある場合には、前記要求元の通信装置よりも優先順位が低い通信装置に代えて前記要求元の通信装置を下流側装置として再選択した後に該再選択された下流側装置のうちの1つに対して、上流側装置が未定の通信装置のうちから下流側装置を選択すべきことを指示し、前記要求元の通信装置よりも優先順位が低いものがない場合には当該通信装置の下流側装置のうちの1つに対して、上流側装置が未定の通信装置のうちから下流側装置を選択すべきことを指示する請求項12に記載の通信装置。
  15.  さらに、
     前記データ共有グループへの参加を要求する手段を備え、
     前記要求の応答として、前記データ共有グループの前記データ配信経路において前記共有データ配信の起点となる起点通信装置から親機交代指示を受け取った場合に、前記選択手段は、前記起点通信装置を当該通信装置の下流側装置として選択するとともに、当該通信装置が前記データ配信経路において前記共有データ配信の起点となる請求項1~14のいずれか1項に記載の通信装置。
  16.  さらに、
     前記第1の通信手段乃至第2の通信手段から受信したデータを、当該データに付加された宛先情報に基づいて前記他の通信装置または前記ネットワーク機器に転送するルーティング手段を備えた請求項1~15のいずれか1項に記載の通信装置。
  17.  通信ネットワークを介して相互に接続された複数の通信装置がツリー状のデータ配信経路を形成し、前記ツリー状のデータ配信経路の起点側に位置する上流側通信装置から下流側通信装置に対して、前記データ配信経路を経由して共有対象のデータを順次配信する、前記複数の通信装置を有するデータ共有グループを構成する通信システムであって、
     各通信装置は、
     前記データ配信経路において当該通信装置の直下に位置する前記下流側通信装置として配置されるべき、1乃至複数の通信装置を選択する選択手段と、
     前記選択手段により選択された下流側通信装置に対して、当該下流側通信装置が更に下流側通信装置を選択するよう指示する指示手段と、
     前記データ配信経路において当該通信装置の直上に位置する他の通信装置から配信された共有対象のデータを、前記選択手段にて選択された下流側通信装置に転送するデータ転送手段と、
    を備え、
     前記データ配信経路の起点となる通信装置から順次下流側通信装置を選択することにより、通信装置毎に1階層分の前記データ配信経路が順次形成される通信システム。
  18.  前記各通信装置は、
     前記データ配信経路上、当該通信装置及びその下流に配置される1乃至複数の通信装置のリストを保持するリスト保持手段と、
     前記リスト保持手段に保持されたリストに基づいて前記選択手段により前記選択された下流側通信装置を除く1乃至複数の通信装置を記述した他のリストを生成し、前記選択手段により選択された下流側通信装置に対して、当該生成されたリストを通知するリスト生成及び通知手段と、
    を備え、
     前記選択手段は、前記リスト保持手段に保持されたリストから前記下流側通信装置を選択する請求項17に記載の通信システム。
  19.  前記各通信装置にはそれぞれ優先順位が割り当てられているとともに、前記複数の通信装置のうち、前記優先順位に基づいて1の通信装置が前記データ配信経路の起点となり、
     前記各通信装置は、前記優先順位に基づいて前記下流側通信装置を選択する請求項17または18に記載の通信システム。
  20.  前記各通信装置は、
     前記通信ネットワークに接続され、他の通信装置と相互に通信するための第1の通信手段と、
     1乃至複数のネットワーク機器と通信するための第2の通信手段と、
     前記第1の通信手段を介して上流側の通信装置から受信した共有対象データを記憶する共有対象データ記憶手段と、
     前記ネットワーク機器からの要求に応じて前記記憶した共有対象データを当該ネットワーク機器に提供する手段と
    を備え、
     前記データ転送手段は、前記第1の通信手段を介して前記上流側の通信装置から受信した共有対象データを、前記第1の通信手段を介して前記された下流側通信装置に転送し、
     前記各通信装置の前記共有対象データ記憶手段に記憶された共有対象データを、前記データ共有グループに属するいずれかの通信装置に接続された前記ネットワーク機器において共有する請求項17~19のいずれか1項に記載の通信システム。
  21.  前記各通信装置は、
     前記第1の通信手段乃至第2の通信手段から受信したデータを、当該データに付加された宛先情報に基づいて前記他の通信装置または前記ネットワーク機器に転送するルーティング手段を備えた請求項20に記載の通信システム。
  22.  通信ネットワークを介して相互に接続された複数の通信装置が、ツリー状のデータ配信経路を形成し、前記ツリー状のデータ配信経路の起点側に位置する上流側通信装置から下流側通信装置に対して、前記データ配信経路を経由して共有対象のデータを順次配信する、前記複数の通信装置を有するデータ共有グループの通信方法であって、
     各通信装置は、制御手段と、前記通信ネットワークに接続し、他の通信装置と相互に通信するための第1の通信手段と、を有しており、
     前記制御手段が、
     前記データ配信経路において当該通信装置の直下に位置する前記下流側通信装置として配置されるべき、1乃至複数の通信装置を選択する選択手順と、
     前記選択手順で選択された下流側通信装置に対して、当該下流側通信装置が更に下流側通信装置を選択するよう前記第1の通信手段を介して指示する指示手順と、
     前記データ配信経路において当該通信装置の直上に位置する他の通信装置から前記第1の通信手段を介して配信された共有対象のデータを前記選択手段にて選択した下流側通信装置に前記第1の通信手段を介して転送するデータ転送手順と、
    を実行し、前記選択手順ないし指示手順にて、当該通信装置から1階層分のデータ配信経路を形成する通信方法。
  23.  前記各通信装置は、さらに、前記データ配信経路上、当該通信装置及びその下流に配置される1乃至複数の通信装置のリストを保持するリスト保持手段を有しており、
     前記制御手段が、
     前記保持されたリストに基づいて前記選択された下流側通信装置を除く1乃至複数の通信装置を記述した他のリストを生成し、前記選択手段により選択された下流側通信装置に対して、当該生成されたリストを通知する手順を実行し、
     前記選択する手順は、前記リスト保持手段に保持されたリストから前記下流側通信装置を選択する請求項22に記載の通信方法。
  24.  前記各通信装置は、さらに、それぞれに対応した優先順位を記憶する記憶手段を有しており、
     前記制御手段が、
     前記通信ネットワークを介して他の通信装置の優先順位を取得する手順、
    を実行し、
     前記選択する手順は、前記取得された優先順位に基づいて前記下流側通信装置を選択する請求項22または23に記載の通信方法。
  25.  前記各通信装置は、さらに、1乃至複数のネットワーク機器と通信するための第2の通信手段を有しており、
     前記制御手段が、
     前記第1の通信手段を介して上流側の通信装置から受信した共有対象データを記憶する手順と、
     前記第2の通信手段を介したネットワーク機器からの要求に応じて前記記憶された共有対象データを当該ネットワーク機器に提供する手順と、
    を実行する請求項22~24のいずれか1項に記載の通信方法。
PCT/JP2011/057252 2010-03-30 2011-03-24 通信装置、通信システムおよび通信方法 Ceased WO2011122452A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201180006121.1A CN102714630B (zh) 2010-03-30 2011-03-24 通信装置、通信系统及通信方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010079291 2010-03-30
JP2010-079291 2010-03-30
JP2011062779A JP5673268B2 (ja) 2010-03-30 2011-03-22 通信装置、およびプログラム
JP2011-062779 2011-03-22

Publications (1)

Publication Number Publication Date
WO2011122452A1 true WO2011122452A1 (ja) 2011-10-06

Family

ID=44712161

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/057252 Ceased WO2011122452A1 (ja) 2010-03-30 2011-03-24 通信装置、通信システムおよび通信方法

Country Status (3)

Country Link
JP (1) JP5673268B2 (ja)
CN (1) CN102714630B (ja)
WO (1) WO2011122452A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6062743B2 (ja) * 2013-01-11 2017-01-18 日本放送協会 配信ツリー構築方法、端末管理サーバ及びコンテンツ配信システム
JP7217647B2 (ja) * 2019-02-27 2023-02-03 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信装置、通信方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004318274A (ja) * 2003-04-11 2004-11-11 Nippon Telegr & Teleph Corp <Ntt> 中継型コンテンツ配信方法及び装置並びにプログラム
JP2005217677A (ja) * 2004-01-29 2005-08-11 Japan Radio Co Ltd セルラipネットワークにおける中継ノードおよびマルチキャストデータ配信用のルーティング情報作成方法
JP2007251805A (ja) * 2006-03-17 2007-09-27 Mitsubishi Electric Corp 通信装置およびネットワークシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000082053A (ja) * 1998-07-03 2000-03-21 Mitsubishi Electric Corp ネットワ―ク監視装置
JP2003051824A (ja) * 2001-08-08 2003-02-21 Canon Inc 通信方法、通信システム、プログラム及び記憶媒体
JP4075347B2 (ja) * 2001-10-15 2008-04-16 Sky株式会社 クライアント−サーバ間の通信方法
US20030101253A1 (en) * 2001-11-29 2003-05-29 Takayuki Saito Method and system for distributing data in a network
JP2003186777A (ja) * 2001-12-17 2003-07-04 Nippon Telegraph & Telephone East Corp パーソナルポータル装置、通信方法、プログラム及び記録媒体
JP2006033115A (ja) * 2004-07-13 2006-02-02 Brother Ind Ltd 配信装置、受信装置、ツリー型配信システム及び情報処理方法等
CN100373889C (zh) * 2004-12-03 2008-03-05 北京大学 一种ip网络的组播传输方法
JP2006221423A (ja) * 2005-02-10 2006-08-24 Canon Inc データ配布方法、装置、及び記憶媒体
JP4604824B2 (ja) * 2005-05-10 2011-01-05 ブラザー工業株式会社 情報配信システム、処理プログラム、管理プログラム及び情報配信方法等
CN101013948B (zh) * 2006-01-30 2011-12-07 瞻博网络公司 构建等耗多径多播分发结构
CN100442786C (zh) * 2007-07-10 2008-12-10 北京航空航天大学 基于树形结构的路由方法
JP2009124617A (ja) * 2007-11-19 2009-06-04 Nikon Corp 通信端末及び通信システム
CN101247253A (zh) * 2008-03-21 2008-08-20 清华大学 Ip网络中基于虚拟分发网的多播传送方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004318274A (ja) * 2003-04-11 2004-11-11 Nippon Telegr & Teleph Corp <Ntt> 中継型コンテンツ配信方法及び装置並びにプログラム
JP2005217677A (ja) * 2004-01-29 2005-08-11 Japan Radio Co Ltd セルラipネットワークにおける中継ノードおよびマルチキャストデータ配信用のルーティング情報作成方法
JP2007251805A (ja) * 2006-03-17 2007-09-27 Mitsubishi Electric Corp 通信装置およびネットワークシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAZUMA ANDO: "PtoP-gata no Doga Haishin Sarvice o Nippon no Venture Nisha ga Kaihatsu, Haishin Topology no Bunsan Kanri de Daikibo Haishin o Kano ni", NIKKEI INTERNET TECHNOLOGY, 22 February 2002 (2002-02-22), pages 23 *

Also Published As

Publication number Publication date
CN102714630B (zh) 2016-01-20
CN102714630A (zh) 2012-10-03
JP2011229132A (ja) 2011-11-10
JP5673268B2 (ja) 2015-02-18

Similar Documents

Publication Publication Date Title
CN101577679A (zh) 实现指定路由器之间组播业务分担的状态管理方法和装置
JP2020087443A (ja) 企業環境のための動的コンテンツ配信プロトコル
JP2012085115A (ja) 通信端末およびクラスター監視方法
CN103259866B (zh) 一种多点传输dns区文件的方法和系统
CN100479415C (zh) 一种实现数据通讯的系统及其方法
JP5205289B2 (ja) 端末装置およびパケット送信方法
Wang et al. A multi-domain SDN scalability architecture implementation based on the coordinate controller
Birke et al. Architecture of a network-aware P2P-TV application: the NAPA-WINE approach
JP4815547B2 (ja) データ同期システム、データ同期方法、及び同期管理サーバ
Sobeih et al. Vring: A case for building application-layer multicast rings (rather than trees)
JP5673268B2 (ja) 通信装置、およびプログラム
JP2011211543A (ja) 情報通信システム、情報処理装置、情報処理方法、及び情報処理プログラム
US20090055521A1 (en) Method for managing network connection and information processing apparatus
JP5750933B2 (ja) 通信システム、スイッチングハブ、ルータおよびプログラム
WO2012029248A1 (ja) データ転送システム
TWI662853B (zh) 通訊系統及通訊傳輸方法
JP2016046785A (ja) キャッシュサーバ選択装置、分散キャッシュシステム、及びキャッシュサーバ選択方法
JPH1041940A (ja) 通信制御装置及びその方法
Ripeanu et al. In search of simplicity: a self‐organizing group communication overlay
Al-Oqily et al. Towards automating overlay network management
CN119766806B (zh) 一种跨网设备发现框架协议实现方法
CN106034106A (zh) 组网方法、组网管理方法以及装置和系统
JP4361446B2 (ja) マルチキャスト制御方法、マルチキャストエリア管理装置、及びマルチキャスト制御装置、並びにプログラム
JP2005244526A (ja) ネットワークノード装置およびサーバ装置ならびにマルチキャストツリー構築方法およびプログラム
CN114422529B (zh) 数据处理方法、设备及介质

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180006121.1

Country of ref document: CN

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

Ref document number: 11762683

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11762683

Country of ref document: EP

Kind code of ref document: A1