WO2011027876A1 - 通信装置 - Google Patents

通信装置 Download PDF

Info

Publication number
WO2011027876A1
WO2011027876A1 PCT/JP2010/065184 JP2010065184W WO2011027876A1 WO 2011027876 A1 WO2011027876 A1 WO 2011027876A1 JP 2010065184 W JP2010065184 W JP 2010065184W WO 2011027876 A1 WO2011027876 A1 WO 2011027876A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication device
address
unit
communication
determination
Prior art date
Application number
PCT/JP2010/065184
Other languages
English (en)
French (fr)
Inventor
信彦 上村
俊洋 木村
貴裕 浅野
章佳 渥美
Original Assignee
ヤマハ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ヤマハ株式会社 filed Critical ヤマハ株式会社
Priority to CN201080039389.0A priority Critical patent/CN102484615B/zh
Publication of WO2011027876A1 publication Critical patent/WO2011027876A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names

Definitions

  • the present invention relates to a technique for detecting whether or not a communication device connected to a network maintains a connection.
  • an IP (Internet Protocol) address is assigned to a communication device connected to the network as an address on the network, and communication is performed with the communication device using the IP address.
  • An IP address is an enumeration of numbers that are difficult for humans to remember. Therefore, a database that defines the correspondence between this IP address and an identifier such as a name for identifying a communication device is managed by a DNS (Domain Name System) server or the like, and the user does not know the IP address directly. Communication with other communication devices is performed by referring to this database. At this time, each communication device does not refer to this database every time it communicates with another communication device, but refers to the database many times by caching the acquired correspondence relationship in its own device. Communication can be continued without doing.
  • Non-Patent Document 1 discloses a technique in which a communication device that refers to a database is specified in a server, and when the contents of the database are updated, the communication device is notified to update the cache. Has been.
  • the server In order to update the cache early in order to reduce transmission failures, it is desirable to update the cache frequently.
  • the server is frequently queried to refer to the database. It will occur and load on the network.
  • a communication device that refers to a database is specified in the server, it is necessary to leave a history that is referred to for each correspondence defined in the database. If notifications must be issued, the network is overloaded.
  • the present invention has been made in view of the above-described circumstances, and updates the contents of a cache performed when the correspondence between another communication device to be communicated with an address on the network is changed.
  • An object of the present invention is to provide a communication device capable of performing communication at a timing suitable for performing communication while suppressing the above-described problem.
  • the present invention provides a communication device that communicates with another communication device to which an address in the connected network is assigned as a communication target, and is connected to the network.
  • the address obtaining unit for obtaining the address corresponding to the other communication device to be communicated from a database that defines the correspondence relationship between the communication device and the address assigned to each communication device, and obtained by the address obtaining unit
  • Storage means for storing correspondence information in which the address and the other communication device to be communicated are associated with each other; information acquisition means for obtaining transmission information to be transmitted to the other communication device to be communicated; When transmission information is acquired by the information acquisition means, the correspondence information stored in the storage means is referred to, and Whether or not the correspondence between the transmission means for transmitting the transmission information to the address corresponding to the other communication device to be communicated and the other communication device to be communicated with the address is maintained.
  • the invalidation control means for invalidating the correspondence information stored in the storage means
  • the information acquisition means transmits When information is acquired, the determination unit starts determination, and when the transmission information is not acquired over a predetermined period, or when invalidation by the invalidation control unit is performed And a determination control means for stopping the determination by the determination means.
  • the address acquisition unit again obtains the address corresponding to another communication device related to the correspondence information, and It further comprises update control means for updating correspondence information in the storage means.
  • the determination control means causes the determination means to start determination when the correspondence information is updated by the update control means.
  • the database is distributedly managed in the plurality of communication devices connected to the network, and is allocated to the own device and database storage means for storing a part of the database to be distributed and managed.
  • a notification means for notifying at least one other communication device of the change content, and when the change content is notified from the other communication device, it is stored in the database storage means.
  • An inquiry for reacquiring the address corresponding to the communication device to be communicated under the control of the update control means in the other communication device and the reflection means for reflecting the change contents in a part of the database If there is, a part of the database stored in the database storage means becomes a communication target.
  • the address is stored in the database. If the correspondence relationship between the address and the communication device that is the communication target is deleted from a part of the database and is reflected as part of the database, the address corresponds to the communication device that is the communication target.
  • the deletion unit that deletes the correspondence information stored in the storage unit, and the storage unit
  • transmission information is acquired by the information acquisition unit when there is no correspondence information that associates the other communication device to be communicated with the address
  • the address acquisition unit corresponds to the other communication device. It further comprises acquisition control means for acquiring an address.
  • the determination by the determination unit is performed based on whether a determination packet is transmitted to the other communication device to be communicated and a response packet to the determination packet is received.
  • the update of the cache contents performed when the correspondence relationship between other communication devices to be communicated and addresses on the network changes is suitable for performing communication while suppressing the load on the network. It is possible to provide a communication device that can be performed at different timings.
  • FIG. 1 is a block diagram showing a configuration of a communication system 1 according to the first embodiment of the present invention.
  • the communication system 1 according to the first embodiment includes a communication device 20 and a server 30 connected to a network 10 that is a public network such as the Internet.
  • a plurality of communication devices 20 are connected to the network 10 and communicate various information with each other via the network 10.
  • an address on the network in this example, an IP address is used, but an address on the network is simply referred to as an address hereinafter
  • a DHCP server not shown
  • any method may be used as long as an address is assigned to the communication device 20 when connected to the network 10.
  • the server 30 is, for example, a DNS server, and has a management database that defines a correspondence relationship between an identifier such as a name for identifying the communication device 20 and an address assigned to the communication device 20, as will be described later. In response to an inquiry from the communication device 20, a response of the correspondence relationship is made.
  • a DNS server has a management database that defines a correspondence relationship between an identifier such as a name for identifying the communication device 20 and an address assigned to the communication device 20, as will be described later.
  • a response of the correspondence relationship is made.
  • each structure about the communication apparatus 20 and the server 30 is demonstrated in order.
  • FIG. 2 is a block diagram showing the configuration of the communication device 20 according to the first embodiment of the present invention.
  • the communication device 20 includes a control unit 21, a UI (User Interface) unit 22, a communication IF (Interface) unit 23, and a storage unit 24, and these components are connected via a bus 25.
  • UI User Interface
  • IF Communication IF
  • the control unit 21 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like.
  • the CPU reads out a control program stored in the ROM, loads it into the RAM, and executes it to control each unit of the communication device 20 via the bus 25, thereby realizing a communication processing function and the like described later.
  • the RAM functions as a work area when the CPU processes each data.
  • the UI unit 22 displays an operation unit such as a keyboard and operation buttons, a setting screen, an instruction screen, and the like used when various settings and various instructions are performed by the user of the communication device 20 according to the control of the control unit 21.
  • a display unit such as a liquid crystal display is provided.
  • the communication IF unit 23 is a communication unit such as a NIC (Network Interface Card), and is connected to the network 10 to acquire a packet related to information transmitted from another communication device 20 from the network 10 or a control unit. Under the control of 21, a packet is transmitted to the network 10 and information is transmitted to another communication device 20.
  • NIC Network Interface Card
  • the storage unit 24 is, for example, a hard disk, a non-volatile memory, a RAM, and the like, and data is read and written by the control unit 21.
  • the storage unit 24 stores a part of the control program and the like, and also stores a cache 240.
  • the cache 240 temporarily stores correspondence information described later. The above is the description of the configuration of the communication device 20.
  • the communication processing function is an information transmission process for transmitting information to the communication device 20 connected to the network 10, a cache management process for managing the cache, and a record notification process for notifying the server 30 when the address is changed. It is a function to execute.
  • Each configuration in the communication processing function described below may be realized by hardware.
  • FIG. 3 is a diagram illustrating a configuration for realizing the communication processing function according to the first embodiment.
  • each configuration of the packet processing unit 201, the cache management unit 202, the transmission information acquisition unit 203, the connection determination unit 204, the record notification unit 205, and the cache 240 stored in the storage unit 24 is used.
  • the contents of the cache 240 will be described.
  • FIG. 4 is a diagram for explaining the contents of the cache 240.
  • the cache 240 temporarily stores information acquired from the management database of the server 30 when the communication device 20 communicates with another communication device 20.
  • This information is correspondence information indicating a correspondence relationship between the “identifier” of the communication device 20 and the “address” corresponding to the communication device 20.
  • a “connection determination state” indicating a determination state in the connection determination unit 204 described later
  • an “invalid flag” indicating validity / invalidity of the correspondence information are set.
  • the storage and setting of the correspondence information is performed by the cache management unit 202. According to the content shown in FIG.
  • the correspondence information stored in the cache 240 is “2xx.100.200.1”, for example, where the “identifier” of the communication device 20 corresponds to “A”.
  • the “connection determination state” corresponding to this correspondence information is “running” and the “invalid flag” is “OFF”.
  • the packet processing unit 201 acquires an address corresponding to the identifier of the communication device 20 that is the destination attached to the transmission information output from the transmission information acquisition unit 203 with reference to the cache 240, The transmission information is packetized and transmitted to the address acquired from the communication IF unit 23. At this time, even if there is an address corresponding to the cache 240, if the “invalid flag” is set to “ON” for the corresponding information, the address is treated as invalid and transmission is not performed.
  • the packet processing unit 201 when there is an instruction to send a packet from the connection determination unit 204 or the record notification unit 205, the packet processing unit 201 causes the communication IF unit 23 to send a packet according to the instruction. When a packet is transmitted in response to an instruction from the connection determination unit 204 and a packet indicating the response is acquired, the packet is output to the connection determination unit 204. Further, when the packet processing unit 201 inquires of the server 30 via the communication IF unit 23 about the address for the identifier of the communication device 20 and acquires information indicating the address as a response to this, the packet processing unit 201 sends the communication device 20 Correspondence information in which the identifier and the acquired address are associated with each other is output. The timing for making this inquiry will also be described in the description of the cache management process described later. Further, when receiving a determination packet to be described later, the packet processing unit 201 transmits a packet indicating a response to the communication device 20 that has transmitted the determination packet.
  • the cache management unit 202 manages the contents of the cache 240. Specifically, the correspondence information is registered in the cache 240, the correspondence information is deleted, updated, and the “connection determination state” and the “invalid flag” are set according to an instruction from the connection determination unit 204. At this time, when the “invalid flag” is “ON”, the corresponding “connection determination state” is set to be “stopped”. Here, the correspondence information is recorded when the correspondence information is output from the packet processing unit 201.
  • the specific contents for performing various types of management are described later in the description of the cache management processing. I will explain.
  • the transmission information acquisition unit 203 acquires transmission information to be transmitted to another communication device 20, attaches an identifier of the other communication device 20 that is a destination to which the transmission information is transmitted, and outputs it to the packet processing unit 201.
  • This transmission information is, for example, information generated in the control unit 21 in response to an instruction from the user using the UI unit 22, and the other communication device 20 serving as a destination is also instructed by the user. .
  • the other communication device 20 as a destination is determined using an identifier indicating its name.
  • connection determination determines whether or not the correspondence relationship between each communication device 20 and the address stored as the correspondence information in the cache 240 is maintained (hereinafter referred to as connection determination). Specifically, the connection determination unit 204 refers to the cache 240 and determines whether or not the correspondence relationship between the communication device 20 and the address indicated by the correspondence information whose “connection determination state” is “in execution” is maintained. Is determined at a predetermined timing (a fixed interval in this example). This state is called a connection determination. On the other hand, connection determination relating to correspondence information whose “connection determination state” is “stopped” is not performed. This state is called that connection determination is stopped.
  • This connection determination is performed by causing the packet processing unit 201 to generate a determination packet for confirming the connection to the address related to the correspondence information and transmitting the determination packet from the communication IF unit 23. This is performed depending on whether or not the packet is received. If there is a response, it is determined that the correspondence is maintained. If there is no response, it is determined that the correspondence is not maintained because the address does not exist. This determination may be performed using, for example, Ping (Packet Internet Groper).
  • the relationship between the address and the identifier of the communication device 20 may be confirmed.
  • the identifier of the communication device 20 that made the response is included in the response packet, and the correspondence between the identifier and the destination address of the determination packet is stored in the cache 240. Whether or not the connection is maintained may be determined based on whether or not the correspondence relationship in the correspondence information matches. In this way, there is a communication device 20 to which this address is assigned, but even when the assigned communication device 20 has been changed, it can be determined whether or not the correspondence relationship is maintained. it can.
  • the determination packet is transmitted with the identifier of the destination communication device 20, and the communication device 20 that has received the determination packet transmits a response packet when the identifier indicates the own device. Good. Even in this case, it is possible to determine whether or not the correspondence relationship is maintained.
  • the record notifying unit 205 displays information indicating a record indicating the correspondence between the identifier of the own device and the address.
  • the packet is processed by the packet processing unit 201 and transmitted from the communication IF unit 23 to the server 30.
  • this correspondence is registered in the management database of the server 30 as will be described later.
  • information indicating the withdrawal and a record related to the own device may be transmitted to the server 30 and deleted from the management database.
  • FIG. 5 is a block diagram showing a configuration of the server 30 according to the first embodiment of the present invention.
  • the server 30 includes a control unit 31, a UI unit 32, a communication IF unit 33, and a storage unit 34, and these components are connected via a bus 35. Since the configurations of the control unit 21, the UI unit 22, the communication IF unit 23, the storage unit 24, and the bus 25 in the communication device 20 are the same, the description is omitted except for differences.
  • the storage unit 34 stores a part of the control program and the like, and also stores a management database (management DB) 340. And the control part 31 implement
  • the above is the description of the configuration of the server 30.
  • the database management function is a function for managing the contents (records) of the management database.
  • Each component in the communication processing function described below may be realized by hardware.
  • FIG. 6 is a diagram illustrating a configuration for realizing the database management function according to the first embodiment.
  • each configuration of the management database (management DB) 340 stored in the packet processing unit 301, the record management unit 302, and the storage unit 34 is used.
  • the contents of the management database 340 will be described.
  • FIG. 7 is a diagram for explaining the contents of the management database 340.
  • the management database 340 is composed of records indicating the correspondence between the identifiers and addresses of the communication devices 20 connected to the network 10.
  • the record management unit 302 adds, deletes, and updates records in the management database 340.
  • the record defined in the management database 340 has, for example, “2xz.10.20.5” as the “address” corresponding to “C” as the “identifier” of the communication device 20. .
  • the packet processing unit 301 When the packet processing unit 301 receives the information indicating the record transmitted from the communication device 20, the packet processing unit 301 outputs the information to the record management unit 302.
  • the packet processing unit 301 receives information inquiring an address corresponding to the identifier of the communication device 20 that is the destination of the transmission information from the communication device 20, the packet processing unit 301 outputs the information to the record management unit 302, and as a result, receives the address from the record management unit 302.
  • this information When the indicated information is acquired, this information is transmitted as a response to the inquiry to the communication device 20 that is the inquiry source.
  • the record management unit 302 When the record management unit 302 acquires the information indicating the record from the packet processing unit 301, the record management unit 302 registers this record in the management database 340, or updates the record if there is a record already having the identifier. When information indicating the departure from the network 10 is attached, this record is deleted from the management database 340. Further, when the record management unit 302 acquires the information for inquiring the address, the record management unit 302 refers to the management database 340, acquires the address corresponding to the identifier of the communication apparatus 20 related to the inquiry, and outputs the address to the packet processing unit 301 as a response to the inquiry. To do.
  • the server 30 manages the contents of the management database 340 and responds with an address in response to an inquiry from each communication device 20.
  • the response may not be performed, or information indicating that it does not exist may be returned. This completes the description of the configuration for realizing the database management function.
  • cache management processing performed in the communication device 20 according to the first embodiment of the present invention will be described.
  • the cache management process the cache 240 is managed by the cache management unit 202, that is, the registration, deletion, and update of the correspondence information, the setting of the “connection determination state” to be determined by the connection determination unit 204, and the setting of “invalid flag” This is the process to be performed.
  • the specific contents of the cache management process will be described with reference to the state transition diagram shown in FIG.
  • FIG. 8 is a state transition diagram in the cache management process.
  • the communication device 20 that is a transmission target of transmission information will be described as a specific communication device 20 (hereinafter referred to as a communication device 20T), but the communication device 20 that is a transmission target of transmission information is When there are a plurality of communication devices 20, the state transition in the following description may be performed in parallel for each communication device 20.
  • event E E1-E4
  • communication device 20T executes action A (A1-A6) corresponding to event E that has occurred, and Transition the state S to another state S.
  • A1-A6 corresponding to event E that has occurred
  • connection determination unit 204 sets “connection determination state” to “execution” and “invalid flag” to “OFF” for the correspondence information, and the connection determination unit 204 starts connection determination (action A1).
  • the communication device 20 transitions to the state S2 in which the correspondence relationship related to the communication device 20T is stored in the cache 240 and the connection determination is being executed.
  • the cache management unit 202 sets the “invalid flag” to “ON”, “ The “connection determination state” is set to “stopped” (action A2), and the connection determination in the connection determination unit 204 is stopped. Then, the communication device 20 inquires of the server 30 about the address corresponding to the communication device 20T (action A2), and waits for an address response (state S3). In the state S3, it waits until there is a response from the server 30, but if there is no response for a certain period of time, the communication device 20 may make an address inquiry again, or the communication device 20T may be in the network.
  • the corresponding address does not exist in the management database 340 because it has departed from 10, and the correspondence information in the cache 240 may be deleted and the state transitioned to the state S1. It should be noted that the address may be changed to state S1 after several address inquiries.
  • the cache management unit 202 sets the correspondence information in which the “invalid flag” is “ON” to the correspondence relationship with the address where the response has been received.
  • the “invalid flag” is returned to “OFF”, the “connection determination state” is set to “being executed”, and the connection determination in the connection determination unit 204 is started again (action A3). Thereby, it changes to state S2 again.
  • the cache management unit 202 sets the “connection determination state” of the correspondence information related to the communication device 20T to “stopped” and stops the connection determination in the connection determination unit 204 (state S4).
  • the cache management unit 202 deletes the correspondence information related to the communication device 20T stored in the cache 240 (action A6). Thereby, it changes to state S1 again.
  • the time until the event E4 occurs in the state S2 and the time until the event E4 occurs in the state S4 may be the same or different.
  • transmission information is acquired by the transmission information acquisition unit 203, and when the packet is transmitted (event E1), the communication device 20 makes a connection determination prior to this transmission. Start (action A5) and transition to state S2.
  • the packet is transmitted and maintained. If it is determined that the packet is not received (event E2), the packet is not transmitted and the state transitions to state S3.
  • the communication device 20 performs connection determination as an opportunity to update the correspondence information stored in the cache 240, and determines the identifier and address of the communication device 20 to be communicated.
  • the correspondence relationship does not maintain the correspondence relationship in the correspondence information
  • the correspondence information is updated.
  • This connection determination is not always performed, but is executed in response to packet transmission, and is controlled to stop when transmission is not performed for a certain period of time. Therefore, when the correspondence relationship between another communication device 20 to be communicated and an address on the network changes, the contents of the cache 240 are updated at a timing suitable for packet transmission while suppressing the load on the network 10. can do.
  • FIG. 9 is a block diagram showing a configuration of a communication system 1A according to the second embodiment of the present invention.
  • the communication system 1A includes a plurality of communication devices 20A connected to the network 10, and does not include the server 30 unlike the communication system 1 in the first embodiment.
  • the management database 340 included in the server 30 in the first embodiment is distributedly managed using a structured overlay formed by a plurality of communication devices 20A.
  • a structured overlay is an overlay network that forms another topology on a lower network layer, such as a P2P network, and that has an algorithmic constraint such as a distributed hash table.
  • a structured overlay is used, but it may be another overlay network such as an unstructured overlay or a network configured according to another algorithm. That is, any network configuration may be used as long as the management database is distributedly managed.
  • any network configuration may be used as long as the management database is distributedly managed.
  • FIG. 10 is a block diagram showing a configuration of a communication device 20A according to the second embodiment of the present invention.
  • the communication device 20A according to the second embodiment is different from the communication device 20 according to the first embodiment in that it includes a storage unit 24A that stores a cache 240 and a distributed management database (distributed management DB) 241. Further, the contents of the communication processing function realized by executing the control program in the control unit 21 are different. Since the other configuration of the communication device 20A according to the second embodiment is the same as that of the communication device 20 according to the first embodiment, the description thereof is omitted.
  • the cache 240 is the same as the cache 240 in the first embodiment.
  • the distributed management database 241 represents a part of the management database 340 in the first embodiment, and the management database 340 is distributedly managed using a structured overlay, whereby the storage unit 24A of each communication device 20A is stored. Are distributed and stored. This is done according to an algorithm used for distributed management in the structured overlay.
  • the distributed management database 241 will be described with reference to FIG.
  • FIG. 11 is a diagram for explaining the contents of the distributed management database 241.
  • the distributed management database 241 includes records indicating the correspondence between the identifiers and addresses of the communication devices 20 connected to the network 10.
  • the identifier of the communication device 20A is associated with “notification device”.
  • This distributed management database 241 is registered, deleted, and updated by a structured overlay processing unit 206, which will be described later.
  • This “notification device” is a communication that has made a notification for registering and updating a record.
  • the identifier of the apparatus 20A that is, the communication apparatus 20A that has transmitted the record related to registration and update is shown. For example, if the distributed management database 241 has the contents shown in FIG.
  • the record indicating the correspondence between the communication device 20A having the “identifier” “A” (hereinafter referred to as communication device 20A-A) and the address This indicates that the communication device 20A-A itself has made a notification for registration or update. Further, the record indicating the correspondence between the communication device 20A-B and the address indicates that the communication device 20A-A did not notify the update, but the communication device 20A-B. Thus, each record registered in the distributed management database 241 is not necessarily notified from the communication device 20A related to the record.
  • the communication processing function is an information transmission process for transmitting information to the communication apparatus 20A connected to the network 10, a cache management process for managing a cache, and each communication apparatus.
  • Function for executing processing for example, address acquisition processing, address response processing, etc.
  • Each configuration in the communication processing function described below may be realized by hardware.
  • FIG. 12 is a diagram illustrating a configuration for realizing the communication processing function according to the second embodiment.
  • the packet processing unit 201, the cache management unit 202, the transmission information acquisition unit 203, the connection determination unit 204, the record notification unit 205, and the storage unit 24A which are configurations in the first embodiment, are stored.
  • the components of the structured overlay processing unit 206 and the distributed management database 241 stored in the storage unit 24A are used.
  • the packet processing unit 201 has a function to send a packet according to the instruction from the communication IF unit 23 when there is an instruction to send a packet from the structured overlay processing unit 206, and other functions.
  • a packet transmitted in accordance with an instruction from the structured overlay processing unit 206 in the communication device 20A is acquired, it has a function of outputting the packet to the structured overlay processing unit 206.
  • processing is performed in accordance with an instruction from the structured overlay processing unit 206.
  • the cache management unit 202 Since the cache management unit 202, the transmission information acquisition unit 203, the connection determination unit 204, the record notification unit 205, and the cache 240 are the same as those in the first embodiment, description thereof is omitted.
  • information indicating a record from the record notification unit 205 is output to the structured overlay processing unit 206.
  • the structured overlay processing unit 206 controls communication with the other communication device 20A performed via the packet processing unit 201 and the communication IF unit 23 in accordance with a predetermined structured overlay protocol.
  • a structured overlay is configured between the communication devices 20A connected to the network, and each process in the structured overlay is performed. Then, the structured overlay processing unit 206 uses the structured overlay to distribute and manage the management database as the distributed management database 241 in each communication device 20A. Further, the structured overlay processing unit 206 registers, deletes, and updates records in the distributed management database 241 in distributed management. The timing at which these processes are performed will be described later.
  • the structured overlay processing unit 206 uses the packet processing unit 201 and the communication IF unit 23 to transmit this information. Is sent to the other communication device 20A to notify registration or update of the record. Further, the structured overlay processing unit 206 transmits information indicating a part of the records registered in the distributed management database 241 of the own device to the other communication device 20A according to the algorithm used for the distributed management, Notify registration or update of. Upon receiving this notification, the structured overlay processing unit 206 of the other communication device 20A associates the record with the “notification device” (identifier of the communication device 20A that has notified the record registration / update) and the distributed management database. 241 registered.
  • the other communication device 20A that is the transmission target of information indicating this record is a communication device 20A in the vicinity of the communication device 20A that transmits the information.
  • the neighboring communication device 20A has a hash value closest to the hash value corresponding to the own device.
  • the corresponding communication device 20A is referred to, but the communication device 20A determined using a specific algorithm may be the neighboring communication device 20A.
  • the structured overlay processing unit 206 inquires about an address corresponding to the identifier of the communication device 20A to be transmitted, the structured overlay processing unit 206 refers to the distribution management database 241 in each communication device 20A according to a specific algorithm. To get. This process is called an address acquisition process. For example, if the record indicating the correspondence relationship is not registered in the distributed management database 241 of the own device, this address acquisition process inquires of the neighboring communication device 20A and is not registered in the communication device 20A.
  • a query is made to the next neighboring communication device 20A (the communication device 20A having the next closest hash value), and in this way, a record in which a record indicating a correspondence relationship between an identifier related to the inquiry and an address is registered.
  • the inquiry is continued in order until the communication device 20A having the management database 241 is reached.
  • the communication device 20A that made the inquiry acquires an address corresponding to the identifier related to the inquiry.
  • the communication device 20A that has received an address inquiry by the address acquisition process performs a special process for responding to the inquiry (hereinafter referred to as an address response process). Details of this will be described later.
  • an address response process a special process for responding to the inquiry
  • cache management processing performed in the communication device 20A according to the second embodiment of the present invention.
  • the cache management process is the same as the description using the state transition diagram shown in FIG. 8 in the first embodiment, but the specific processing contents differ in the relationship between the state S2 and the state S3. Note that the address acquisition performed when the state S1 transitions to the state S2 is performed by the address acquisition process described above.
  • a portion different from the first embodiment that is, a portion that transitions from the state S2 to the state S3 and transitions to the state S2 again will be described.
  • the cache management unit 202 sets the “invalid flag” to “ON”, the “connection determination state” to “stopped” (action A2), and the connection determination in the connection determination unit 204 Stop. This is the same process as in the first embodiment.
  • the communication device 20A (hereinafter referred to as communication device 20AX) inquires about an address corresponding to the communication device 20AT (action A2), and waits for an address response (state S3).
  • the address response process described above is performed. That is, the specific condition for performing the address response process is to receive an address inquiry when transitioning from the state S2 to the state S3.
  • the communication device 20AR In order for the communication device 20AR to recognize whether or not this condition is satisfied, when the communication device 20AX makes an address inquiry to the communication device 20AR, information indicating the “invalid flag” of the address related to the inquiry is also added. If the communication device 20AR recognizes that the “invalid flag” is “ON” by referring to this information, it may be recognized that the condition is satisfied.
  • the communication device 20A that receives the inquiry first may be the communication device 20AX that makes the inquiry.
  • FIG. 13 is a flowchart showing the address response process.
  • the communication device 20AR that has received the inquiry determines whether or not there is an address corresponding to the identifier of the communication device 20AT in the distributed management database 241 stored in the device itself (step S110). If there is no corresponding address (step S110; No), the process proceeds to step S150 described later. On the other hand, if there is a corresponding address (step S110; Yes), the communication device 20AR matches the identifier of the communication device 20AT related to the record and the identifier of the “notification device” corresponding to the record. Based on whether or not, it is determined whether or not the information is updated by the record directly notified from the communication device 20AT (step S120).
  • the communication device 20AR transmits the address indicated by the record to the communication device 20AX that has made an inquiry to the own device (step S120). S130).
  • the communication device 20AX makes an inquiry to itself, it may be considered that there is an address response.
  • the communication device 20AX receives an address response (event E3), and transitions to the state S2 after the processing of the action A3 in the first embodiment.
  • the communication device 20AR deletes the record from the distribution management database 241 of the own device (step S140).
  • the changed address of the communication device 20AT may not be notified to the communication device 20AR.
  • the record before the address is changed Is registered in the distributed management database 241. Therefore, the record is deleted.
  • the notification is made directly, even if the time elapsed since the assigned address is changed, it is updated to the record related to the new address. Will be treated as the changed address.
  • the communication device 20AR makes an address inquiry to another communication device 20A in the neighborhood that is not the communication device 20AX (the communication device 20A having the next closest hash value) (step S150), and waits for reception of information indicating the address (step S150). Step S160; No).
  • the communication device 20A that has received the address inquiry by the communication device 20AR performs the address response process shown in FIG. 13 in the same manner as the communication device 20AR.
  • the communication device 20AR When the communication device 20AR receives the address from the communication device 20A that is the inquiry destination of the address (step S160; Yes), a record indicating the correspondence relationship between the address and the communication device 20AT related to the inquiry is distributed to the own device. It is registered in the database 241 (step S170), and the address is transmitted to the communication device 20AX that made an inquiry to the own device (step S130). When registering this record, the identifier of the communication device 20A that has transmitted the address related to this record is associated as a “notification device”. As a result, the communication device 20AX receives an address response (event E3), and transitions to the state S2 after the processing of the action A3 in the first embodiment.
  • Event E3 an address response
  • the communication device 20A distributes and manages the management database as the distributed management database 241 using the structured overlay by the plurality of communication devices 20A, and stores them in each communication device 20A.
  • the correspondence between the identifier and address of the communication device 20A to be communicated is acquired.
  • the contents of the cache 240 can be updated at a timing suitable for packet transmission while suppressing the load on the network 10.
  • the communication device 20A that has performed the address response process can update the record indicating the correspondence between the identifier and the address of the communication device 20A related to the inquiry.
  • the communication device 20A determines that the correspondence relationship indicated by the correspondence information in the cache 240 is not maintained, inquires of the other communication device 20A, and performs address response processing, thereby causing the communication device 20A to Also, it is possible to prompt the record update.
  • the communication device 20AY Upon receiving this notification, the communication device 20AY notifies the communication device 20AZ to stop the connection determination. Thereby, the communication device 20AZ stops the connection determination with respect to the communication device 20AZ even in the state S2. And communication apparatus 20AY should just notify the communication apparatus 20AZ of the result of a connection determination. This notification may be notified only when it is determined that the correspondence relationship is not maintained as a result of the connection determination. In this way, it is possible to reduce the load on the network because the neighboring communication device 20A is prevented from making a connection determination in each communication device 20A when the same communication device 20AT is the communication target.
  • the neighborhood here is not limited to the closest hash value, but may be a neighborhood if it is a predetermined distance.
  • the control program in the above-described embodiment is provided in a state stored in a computer-readable recording medium such as a magnetic recording medium (magnetic tape, magnetic disk, etc.), an optical recording medium (optical disk, etc.), a magneto-optical recording medium, or a semiconductor memory. Can do.
  • a computer-readable recording medium such as a magnetic recording medium (magnetic tape, magnetic disk, etc.), an optical recording medium (optical disk, etc.), a magneto-optical recording medium, or a semiconductor memory.
  • an interface for reading the recording medium may be provided in the communication devices 20 and 20A. It can also be downloaded via a network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 通信対象となる他の通信装置とネットワーク上のアドレスとの対応関係が変化した場合に行われるキャッシュの内容の更新を、ネットワークの負荷を抑えつつ、通信を行うのに適したタイミングで行うことができる通信装置を提供すること。本発明の実施形態に係る通信装置は、キャッシュに記憶された対応情報の更新を行うきっかけとして接続判定を行い、通信対象となる通信装置の識別子とアドレスとの対応関係が、対応情報における対応関係を維持していない場合に、対応情報の更新を行う。この接続判定は、パケットの送信に応じて実行され、送信が一定時間行われない場合には停止するように制御される。したがって、通信対象となる他の通信装置とネットワーク上のアドレスの対応関係が変化した場合に、ネットワークの負荷を抑えつつ、通信を行うのに適したタイミングでキャッシュの内容を更新することができる。

Description

通信装置
 本発明は、ネットワークに接続された通信装置が接続を維持しているか否かを検出する技術に関する。
 ネットワークに接続された通信装置には、ネットワーク上のアドレスとして、例えばIP(Internet Protocol)アドレスが割り当てられ、そのIPアドレスを用いてその通信装置と通信を行う。IPアドレスは、人間が記憶しにくい数字の羅列である。そのため、このIPアドレスと通信装置を識別する名前などの識別子と対応関係を定めたデータベースをDNS(Domain Name System)サーバなどで管理しておき、利用者は、IPアドレスを直接知らなくても、このデータベースを参照することで他の通信装置と通信を行う。このとき各通信装置は、他の通信装置と通信を行うたびにこのデータベースを参照するのではなく、一旦取得した対応関係については、自装置においてキャッシュしておくことで、何度もデータベースを参照することなく通信を続けることができる。
 ところで、通信装置に割り当てられるIPアドレスがDHCP(Dynamic Host Configuration Protocol)を用いるなどして動的に変化した場合、また、通信装置がネットワークから離脱した場合には、サーバにおいて管理しているデータベースの内容を更新する。更新する技術としては、例えば特許文献1に開示されている。一方、通信装置においては、キャッシュの内容が更新されないと、通信対象となる通信装置への送信は失敗となるが、キャッシュが一定時間保持した後に期限切れとなって削除されたり、通信装置の利用者が手動操作により削除指示を出すことによってキャッシュが削除されたりすると、通信対象となる通信装置がネットワークに接続されていれば、キャッシュが更新されて通信を再開することができる。また、サーバにおいて、データベースを参照した通信装置を特定しておき、データベースの内容が更新されたときに、その通信装置にキャッシュを更新するように通知する技術が、例えば、非特許文献1に開示されている。
日本国特開2004-266305号公報
DNSキャッシュ更新通知機構の設計および実装 「日本ソフトウェア科学会 第4回インターネットテクノロジーワークショップ論文集、pp.58-65, 2001年9月」
 送信が失敗することを少なくするために、早期にキャッシュを更新するには、頻繁にキャッシュの更新を行うことが望ましいが、この場合には、データベースを参照するためにサーバへの問い合わせが頻繁に発生することになりネットワークに負荷がかかってしまう。また、サーバにおいてデータベースを参照した通信装置を特定しておく場合には、データベースに定められた対応関係ごとに参照した履歴を残さなくてはならず煩雑であるとともに、多くの通信装置に対して通知を出さなくてはならない場合にはネットワークに負荷がかかってしまう。
 本発明は、上述の事情に鑑みてなされたものであり、通信対象となる他の通信装置とネットワーク上のアドレスとの対応関係が変化した場合に行われるキャッシュの内容の更新を、ネットワークの負荷を抑えつつ、通信を行うのに適したタイミングで行うことができる通信装置を提供することを目的とする。
 上述の課題を解決するため、本発明は、接続したネットワークにおけるアドレスが割り当てられた他の通信装置を通信対象として、当該ネットワークに接続して通信を行う通信装置において、前記ネットワークに接続された各通信装置と前記各通信装置に割り当てられたアドレスとの対応関係を定めたデータベースから、通信対象となる前記他の通信装置に対応する前記アドレスを取得するアドレス取得手段と、前記アドレス取得手段によって取得されたアドレスと前記通信対象となる他の通信装置とを対応付けた対応情報を記憶する記憶手段と、前記通信対象となる他の通信装置に送信すべき送信情報を取得する情報取得手段と、前記情報取得手段によって送信情報が取得されると、前記記憶手段に記憶された対応情報を参照して、前記通信対象となる他の通信装置に対応する前記アドレスに対して当該送信情報を送信する送信手段と、前記通信対象となる他の通信装置と前記アドレスとの対応関係が維持されているか否かを判定する判定手段と、前記判定手段によって対応関係が維持されていないと判定された場合には、前記記憶手段に記憶された対応情報を無効化する無効化制御手段と、前記情報取得手段によって送信情報が取得されると、前記判定手段に判定を開始させ、予め決められた期間にわたって前記送信情報の取得が行われなかった場合、または前記無効化制御手段による無効化が行われた場合には、前記判定手段による判定を停止させる判定制御手段とを具備することを特徴とする通信装置を提供する。
 また、別の好ましい態様において、前記無効化制御手段によって前記対応情報が無効化されると、前記アドレス取得手段に当該対応情報に係る他の通信装置に対応する前記アドレスを再度取得させて、前記記憶手段における対応情報を更新させる更新制御手段をさらに具備することを特徴とする。
 また、別の好ましい態様において、前記判定制御手段は、前記更新制御手段によって前記対応情報が更新されると、前記判定手段に判定を開始させることを特徴とする。
 また、別の好ましい態様において、前記データベースは、前記ネットワークに接続される複数の前記通信装置において分散管理され、前記分散管理されるデータベースの一部を記憶するデータベース記憶手段と、自装置に割り当てられた前記アドレスが変更されると、少なくとも一の前記他の通信装置に対して変更内容を通知する通知手段と、前記他の通信装置から前記変更内容が通知されると、前記データベース記憶手段に記憶されたデータベースの一部に当該変更内容を反映させる反映手段と、前記他の通信装置における前記更新制御手段の制御により前記通信対象となる通信装置に対応する前記アドレスを再度取得するための問い合わせがあると、前記データベース記憶手段に記憶された前記データベースの一部に当該通信対象となる通信装置に対応する前記アドレスがある場合であって、当該アドレスが当該通信対象となる通信装置から通知されることによって当該データベースの一部として反映されたものでない場合には、当該アドレスを当該データベースの一部から当該アドレスと当該通信対象となる通信装置との対応関係を削除し、当該データベースの一部として反映されたものである場合には、当該アドレスを当該通信対象となる通信装置に対応するものとして応答する応答制御手段とをさらに具備する。
 また、別の好ましい態様において、前記判定手段による判定が、予め決められた期間にわたって行われなかった場合には、前記記憶手段に記憶された対応情報を削除する削除手段と、前記記憶手段に前記通信対象となる他の通信装置と前記アドレスとを対応付けた対応情報が無い場合に、前記情報取得手段によって送信情報が取得されると、前記アドレス取得手段に当該他の通信装置に対応する前記アドレスを取得させる取得制御手段とをさらに具備することを特徴とする。
 また、別の好ましい態様において、前記判定手段による判定は、前記通信対象となる他の通信装置に対して判定パケットを送信し、該判定パケットに対する応答パケットを受信したか否かにより行われることを特徴とする。
 本発明によれば、通信対象となる他の通信装置とネットワーク上のアドレスとの対応関係が変化した場合に行われるキャッシュの内容の更新を、ネットワークの負荷を抑えつつ、通信を行うのに適したタイミングで行うことができる通信装置を提供することができる。
第1実施形態に係る通信システムの構成を示すブロック図である。 第1実施形態に係る通信装置の構成を示すブロック図である。 第1実施形態に係る通信装置の通信処理機能を実現する構成を説明する図である。 キャッシュの内容を説明する図である。 第1実施形態に係るサーバの構成を示すブロック図である。 第1実施形態に係るサーバのデータベース管理機能を実現する構成を説明する図である。 管理データベースの内容を説明する図である。 第1実施形態に係るキャッシュ管理処理における状態遷移図である。 第2実施形態に係る通信システムの構成を示すブロック図である。 第2実施形態に係る通信装置の構成を示すブロック図である。 分散管理データベースの内容を説明する図である。 第2実施形態に係る通信装置の通信処理機能を実現する構成を説明する図である。 アドレス応答処理を示すフローチャートである。
<第1実施形態>
 図1は、本発明の第1実施形態に係る通信システム1の構成を示すブロック図である。第1実施形態に係る通信システム1は、インターネットなどの公衆網であるネットワーク10に接続された通信装置20およびサーバ30を有する。
 通信装置20は、複数がネットワーク10に接続し、ネットワーク10を介して、互いに各種情報の通信を行う。それぞれの通信装置20は、ネットワーク10に接続しているときに、図示しないDHCPサーバなどにより、ネットワーク上のアドレス(この例においてはIPアドレスとするが、以下、ネットワーク上のアドレスを単にアドレスという)が割り当てられる。なお、ネットワーク10に接続しているときに、通信装置20に対してアドレスが割り当てられるようになっていれば、どのような方法によってもよい。
 サーバ30は、例えば、DNSサーバであって、後述するように、通信装置20を識別する名称などの識別子と、その通信装置20に割り当てられたアドレスとの対応関係を定めた管理データベースを有し、通信装置20からの問い合わせに応じて、その対応関係の応答を行う。以下、通信装置20、サーバ30についての各構成について順に説明する。
[通信装置20の構成]
 図2は、本発明の第1実施形態に係る通信装置20の構成を示すブロック図である。通信装置20は、制御部21、UI(User Interface)部22、通信IF(Interface)部23、記憶部24を有し、これらの各構成はバス25を介して接続されている。
 制御部21は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などを有する。CPUは、ROMに記憶されている制御プログラムを読み出して、RAMにロードして実行することにより、通信装置20の各部について、バス25を介して制御し、後述する通信処理機能などを実現する。また、RAMは、CPUが各データの加工などを行う際のワークエリアとして機能する。
 UI部22は、通信装置20の利用者によって各種設定、各種指示が行われるときに用いられるキーボード、操作ボタンなどの操作部、設定画面、指示画面などの表示を制御部21の制御に応じて行う液晶ディスプレイなどの表示部を有している。UI部22は、操作部が操作されると、その操作内容を示すデータが制御部21へ出力される。
 通信IF部23は、NIC(Network Interface Card)などの通信手段であって、ネットワーク10に接続して、他の通信装置20から送信される情報に係るパケットをネットワーク10から取得したり、制御部21の制御によりネットワーク10にパケットを送出して、他の通信装置20に情報を送信したりする。
 記憶部24は、例えば、ハードディスク、不揮発性メモリ、RAMなどであり、制御部21によりデータの読み出し、書き込みが行われる。記憶部24には、制御プログラムの一部などが記憶されている他、キャッシュ240が記憶されている。キャッシュ240は、後述する対応情報を一時的に記憶するものである。以上が、通信装置20の構成についての説明である。
[通信処理機能]
 次に、通信装置20の制御部21が制御プログラムを実行することによって実現される通信処理機能について、図3、図4を用いて説明する。通信処理機能とは、ネットワーク10に接続されている通信装置20に対して情報を送信する情報送信処理、キャッシュを管理するキャッシュ管理処理、アドレスが変更されたときにサーバ30に通知するレコード通知処理を実行する機能である。なお、以下に説明する通信処理機能における各構成については、ハードウエアによって実現してもよい。
 図3は、第1実施形態に係る通信処理機能を実現する構成を説明する図である。この通信処理機能の実現には、パケット処理部201、キャッシュ管理部202、送信情報取得部203、接続判定部204、レコード通知部205および記憶部24に記憶されたキャッシュ240の各構成を用いる。まず、キャッシュ240の内容について説明する。
 図4は、キャッシュ240の内容を説明する図である。キャッシュ240は、通信装置20が他の通信装置20と通信するときに、サーバ30の管理データベースから取得した情報を一時的に記憶しておく。この情報は、通信装置20の「識別子」と、その通信装置20に対応する「アドレス」との対応関係を示した対応情報である。キャッシュ240には、各対応情報に対して、さらに後述する接続判定部204における判定の状態を示す「接続判定状態」、この対応情報の有効、無効を示す「無効フラグ」が設定されている。これらの対応情報の記憶、設定は、キャッシュ管理部202により行われる。
 キャッシュ240に記憶された対応情報は、図4に示す内容によれば、例えば、通信装置20の「識別子」が「A」に対応する「アドレス」は「2xx.100.200.1」であり、この対応情報に対応した「接続判定状態」は「実行中」、「無効フラグ」は「OFF」である。
 図3に戻って説明を続ける。パケット処理部201は、後述するようにして、送信情報取得部203から出力される送信情報に付された宛先となる通信装置20の識別子に対応するアドレスを、キャッシュ240を参照して取得し、その送信情報をパケット化して、通信IF部23から取得したアドレスに対して送信させる。このとき、キャッシュ240に対応するアドレスがあったとしても、その対応情報について「無効フラグ」が「ON」に設定されている場合には、そのアドレスは無効として扱い、送信を行わない。
 また、パケット処理部201は、後述するようにして、接続判定部204、レコード通知部205からパケットを送出する指示があると、指示に応じたパケットを通信IF部23から送出させる。接続判定部204からの指示によりパケットを送出し、その応答を示すパケットを取得した場合には、これを接続判定部204に出力する。
 また、パケット処理部201は、通信装置20の識別子に対するアドレスを、通信IF部23を介してサーバ30に問い合わせ、この応答としてアドレスを示す情報を取得すると、キャッシュ管理部202に、その通信装置20の識別子と取得したアドレスとを対応付けた対応情報を出力する。この問い合わせを行うタイミングは、後述するキャッシュ管理処理の説明において、あわせて説明する。
 また、パケット処理部201は、後述する判定パケットを受信した場合には、その判定パケットを送信した通信装置20に対して応答を示すパケットを送信する。
 キャッシュ管理部202は、キャッシュ240の内容を管理する。具体的には、キャッシュ240に対して、対応情報を登録、対応情報の削除、更新、接続判定部204からの指示により「接続判定状態」、「無効フラグ」の設定を行う。このとき、「無効フラグ」が「ON」である場合には、対応する「接続判定状態」は「停止中」になるように設定される。
 ここで、対応情報の記録については、パケット処理部201から対応情報が出力されると行われるものとするが、各種管理を行う具体的な内容については、後述のキャッシュ管理処理の説明において、あわせて説明する。
 送信情報取得部203は、他の通信装置20に対して送信すべき送信情報を取得し、送信情報を送信する宛先となる他の通信装置20の識別子を付してパケット処理部201に出力する。この送信情報については、例えばUI部22を用いた利用者からの指示に応じて、制御部21において生成される情報などであり、宛先となる他の通信装置20についても利用者によって指示される。このとき、宛先となる他の通信装置20については、その名称などを示す識別子を用いて決定される。
 接続判定部204は、キャッシュ240に対応情報として記憶されている各通信装置20とアドレスとの対応関係が維持されているか否かを判定(以下、接続判定という)する。具体的には、接続判定部204は、キャッシュ240を参照して、「接続判定状態」が「実行中」である対応情報が示す通信装置20とアドレスとの対応関係が維持されているか否かについて、予め定められたタイミング(この例においては一定間隔)で判定を行う。この状態を接続判定が実行中であるという。一方、「接続判定状態」が「停止中」である対応情報に係る接続判定は行わない。この状態を接続判定が停止中であるという。
 この接続判定は、対応情報に係るアドレスに対して接続を確認する判定パケットをパケット処理部201に生成させて通信IF部23から送信させ、判定パケットを受信した通信装置20から、判定パケットに対する応答のパケットを受信するか否かにより行われる。応答があった場合には、対応関係が維持されていると判定する。応答が無かった場合には、アドレスが存在しないものとして対応関係が維持されていないと判定する。この判定は、例えば、Ping(Packet INternet Groper)を用いて行えばよい。
 ここで、接続判定における判定パケットの送信、応答において、アドレスと通信装置20の識別子との関係についても確認するようにしてもよい。この場合には、例えば、応答のパケットに応答を行った通信装置20の識別子が含まれるようにして、その識別子と判定パケットの送信先のアドレスとの対応関係と、キャッシュ240に記憶されている対応情報における対応関係とが一致しているか否かにより、接続が維持されているか否かの判定をすればよい。このようにすれば、このアドレスが割り当てられた通信装置20が存在するが、割り当てられている通信装置20が変更されている場合においても、対応関係が維持されているか否かを判定することができる。
 なお、判定パケットに宛先となる通信装置20の識別子を付して送信し、これを受信した通信装置20は、自装置を示す識別子であった場合に、応答のパケットを送信するようにしてもよい。このようにしても、対応関係が維持されているか否かを判定することができる。
 レコード通知部205は、自装置に割り当てられたアドレスが変更された場合、自装置をネットワーク10に接続する場合に、自装置の識別子とアドレスとの対応関係を示すレコードを示す情報をパケット処理部201に出力し、パケット処理部201においてパケット化して通信IF部23からサーバ30に送信させる。これにより、後述するように、サーバ30の管理データベースにこの対応関係が登録される。なお、自装置がネットワーク10から離脱するときにサーバ30に対して離脱を示す情報と自装置に係るレコードとを送信し、管理データベースから削除されるようにしてもよい。以上が、通信処理機能を実現する構成についての説明である。次に、サーバ30の構成について図5を用いて説明する。
[サーバ30の構成]
 図5は、本発明の第1実施形態に係るサーバ30の構成を示すブロック図である。サーバ30は、制御部31、UI部32、通信IF部33、記憶部34を有し、これらの各構成はバス35を介して接続されている。それぞれ通信装置20における制御部21、UI部22、通信IF部23、記憶部24、バス25の構成と同様であるため、異なる点を除いて説明を省略する。
 記憶部34には、制御プログラムの一部などが記憶されている他、管理データベース(管理DB)340が記憶されている。そして、制御部31は、制御プログラムを実行することによりデータベース管理機能などを実現する。以上が、サーバ30の構成についての説明である。
[データベース管理機能]
 次に、サーバ30の制御部31が制御プログラムを実行することによって実現されるデータベース管理機能について、図6、図7を用いて説明する。データベース管理機能とは、管理データベースの内容(レコード)を管理する機能である。以下に説明する通信処理機能における各構成については、ハードウエアによって実現してもよい。
 図6は、第1実施形態に係るデータベース管理機能を実現する構成を説明する図である。このデータベース管理機能の実現には、パケット処理部301、レコード管理部302および記憶部34に記憶された管理データベース(管理DB)340の各構成を用いる。まず、管理データベース340の内容について説明する。
 図7は、管理データベース340の内容を説明する図である。管理データベース340は、上述したように、ネットワーク10に接続された各通信装置20の識別子とアドレスとの対応関係を示すレコードにより構成される。管理データベース340におけるレコードの追加、削除、更新については、レコード管理部302により行われる。
 管理データベース340に定められたレコードは、図7に示す内容によれば、例えば、通信装置20の「識別子」が「C」に対応する「アドレス」は「2xz.10.20.5」である。
 図6に戻って説明を続ける。パケット処理部301は、通信装置20から送信されたレコードを示す情報を受信すると、レコード管理部302に出力する。また、パケット処理部301は、通信装置20から送信情報の宛先となる通信装置20の識別子に対応するアドレスを問い合わせる情報を受信するとレコード管理部302に出力し、その結果レコード管理部302からアドレスを示す情報を取得すると、この情報を問い合わせ元の通信装置20に対して、問い合わせの応答として送信する。
 レコード管理部302は、パケット処理部301からレコードを示す情報を取得すると、このレコードを管理データベース340に登録、またはすでにその識別子をもつレコードがある場合にはこれを更新し、また、この情報にネットワーク10からの離脱を示す情報が付されている場合には、管理データベース340からこのレコードを削除する。
 また、レコード管理部302は、アドレスを問い合わせる情報を取得すると、管理データベース340を参照し、問い合わせに係る通信装置20の識別子に対応するアドレスを取得して、問い合わせの応答としてパケット処理部301に出力する。このようにして、サーバ30は、管理データベース340の内容を管理するとともに、各通信装置20からの問い合わせに応じてアドレスを応答する。なお、対応するアドレスが管理データベース340に存在しない場合には、応答が行われないようにしてもよいし、存在しない旨を示す情報を応答してもよい。以上が、データベース管理機能を実現する構成についての説明である。
[キャッシュ管理処理]
 次に、本発明の第1実施形態に係る通信装置20において行われるキャッシュ管理処理について説明する。キャッシュ管理処理は、キャッシュ管理部202におけるキャッシュ240の管理、すなわち、対応情報の登録、削除、更新、接続判定部204における判定対象となる「接続判定状態」の設定、「無効フラグ」の設定を行う処理である。キャッシュ管理処理の具体的な内容について、図8に示す状態遷移図を用いて説明する。
 図8は、キャッシュ管理処理における状態遷移図である。以下の説明においては、送信情報の送信対象となる通信装置20は、特定の通信装置20(以下、通信装置20Tという)であるものとして説明するが、送信情報の送信対象となる通信装置20が複数となる場合には、それぞれの通信装置20について、以下の説明における状態遷移が並列して行われているものとすればよい。
 通信装置20Tが状態S(S1-S4)にあるとき、イベントE(E1-E4)が発生すると、通信装置20Tは発生したイベントEに対応するアクションA(A1-A6)を実行し、自身の状態Sを別の状態Sに遷移させる。以下、具体的な遷移の様子を説明する。
 まず、キャッシュ240に通信装置20Tについての対応情報が登録されていないもの(状態S1)とする。状態S1において、送信情報取得部203が送信情報を取得することによって、送信情報に係るパケットを送信する状況(イベントE1)になると、通信装置20は、この送信に先立って、送信対象となる通信装置20Tの識別子に対応するアドレスをサーバ30に問い合わせ、その応答としてアドレスを取得し、キャッシュ240に登録し(アクションA1)、パケットを送信する。また、キャッシュ管理部202は、この対応情報に対しては「接続判定状態」を「実行中」、「無効フラグ」を「OFF」と設定し、接続判定部204は、接続判定を開始(アクションA1)する。
 これにより、通信装置20は、キャッシュ240に通信装置20Tに係る対応関係が記憶され、また、接続判定が実行中である状態S2に遷移する。
 状態S2において、接続判定の結果、通信装置20Tとアドレスとの対応関係が維持されていないと判定(イベントE2)されると、キャッシュ管理部202は、「無効フラグ」を「ON」に、「接続判定状態」を「停止中」に設定(アクションA2)し、接続判定部204における接続判定を停止させる。そして、通信装置20は、サーバ30に対して通信装置20Tに対応するアドレスの問い合わせを行い(アクションA2)、アドレスの応答を待機する(状態S3)。
 状態S3においては、サーバ30からの応答があるまで待機することになるが、一定時間応答が無い場合には、通信装置20は、再びアドレスの問い合わせを行ってもよいし、通信装置20Tがネットワーク10から離脱したために、対応するアドレスが管理データベース340に存在しないものと判断し、キャッシュ240における対応情報を削除して、状態S1に遷移させてもよい。なお、アドレスの問い合わせを何回か行った後に状態S1に遷移させてもよい。
 状態S3において、サーバ30からのアドレスの応答がある(イベントE3)と、キャッシュ管理部202は、「無効フラグ」を「ON」にした対応情報を、応答があったアドレスとの対応関係になるように更新し、「無効フラグ」を「OFF」に戻し、「接続判定状態」を「実行中」に設定し、接続判定部204における接続判定を再び開始させる(アクションA3)。これにより、再び状態S2に遷移する。
 状態S2に遷移してから一定時間にわたって、送信情報取得部203における送信情報の取得が行われず、通信装置20から通信装置20Tに対してパケットの送信が無かった場合(イベントE4)、キャッシュ管理部202は、通信装置20Tに係る対応情報の「接続判定状態」を「停止中」に設定し、接続判定部204における接続判定を停止させる(状態S4)。
 状態S4に遷移してから一定時間にわたって、送信情報取得部203における送信情報の取得が行われず、通信装置20から通信装置20Tに対してパケットの送信が無かった場合(イベントE4)、キャッシュ管理部202は、キャッシュ240に記憶された通信装置20Tに係る対応情報を削除する(アクションA6)。これにより、再び状態S1に遷移する。なお、状態S2におけるイベントE4発生までの時間と、状態S4におけるイベントE4発生までの時間とは、同じであってもよいし異なっていてもよい。
 また、イベントE4が発生する前に、送信情報取得部203における送信情報の取得が行われ、パケットを送信する状況(イベントE1)になると、通信装置20は、この送信に先立って、接続判定を開始させ(アクションA5)、状態S2に遷移する。この接続判定によりキャッシュ240に記憶された対応情報が示す対応関係、すなわち通信装置20Tの識別子とアドレスとの対応関係が維持されていると判定された場合には、そのパケットを送信し、維持されていないと判定された場合(イベントE2)には、パケットの送信を行わず状態S3に遷移する。
 このように、本発明の第1実施形態に係る通信装置20は、キャッシュ240に記憶された対応情報の更新を行うきっかけとして接続判定を行い、通信対象となる通信装置20の識別子とアドレスとの対応関係が、対応情報における対応関係を維持していない場合に、対応情報の更新を行う。この接続判定は、常時行われるのではなく、パケットの送信に応じて実行され、送信が一定時間行われない場合には停止するように制御される。したがって、通信対象となる他の通信装置20とネットワーク上のアドレスの対応関係が変化した場合に、ネットワーク10の負荷を抑えつつ、パケットの送信を行うのに適したタイミングでキャッシュ240の内容を更新することができる。
<第2実施形態>
 図9は、本発明の第2実施形態に係る通信システム1Aの構成を示すブロック図である。通信システム1Aは、ネットワーク10に接続された複数の通信装置20Aを有し、第1実施形態における通信システム1と異なりサーバ30を有していない。第2実施形態においては、第1実施形態におけるサーバ30が有していた管理データベース340を、複数の通信装置20Aによって構成される構造化オーバレイを利用して分散管理する構成としている。構造化オーバレイとは、P2Pネットワークのように下位のネットワークレイヤの上に別のトポロジを形成するオーバレイネットワークのうち、分散ハッシュテーブルなど、アルゴリズム上の制約を持つものをいう。なお、この例においては構造化オーバレイを利用したものとして説明するが、非構造化オーバレイなど他のオーバレイネットワークであったり、その他のアルゴリズムに従って構成されるネットワークであったりしてもよい。すなわち、管理データベースを分散管理する構成であれば、どのようなネットワーク構成を用いたものであってもよい。以下、第2実施形態における通信装置20Aの構成について説明する。
[通信装置20Aの構成]
 図10は、本発明の第2実施形態に係る通信装置20Aの構成を示すブロック図である。第2実施形態に係る通信装置20Aは、キャッシュ240と分散管理データベース(分散管理DB)241を記憶する記憶部24Aを有する点で、第1実施形態に係る通信装置20と異なる。また、制御部21において制御プログラムを実行することによって実現する通信処理機能の内容が異なっている。
 第2実施形態に係る通信装置20Aのその他の構成については、第1実施形態に係る通信装置20と同様な構成であるので、説明を省略する。
 キャッシュ240は、第1実施形態におけるキャッシュ240と同じものである。
 分散管理データベース241は、第1実施形態における管理データベース340の一部を示すものであって、構造化オーバレイを利用して管理データベース340が分散管理されることによって、各通信装置20Aの記憶部24Aにおいて分散して記憶されるものである。これは、構造化オーバレイにおける分散管理に用いられるアルゴリズムにしたがって行われる。この分散管理データベース241について、図11を用いて説明する。
 図11は、分散管理データベース241の内容を説明する図である。分散管理データベース241は、第1実施形態における管理データベース340のように、ネットワーク10に接続された各通信装置20の識別子とアドレスとの対応関係を示すレコードにより構成され、また、各レコードには「通知装置」として通信装置20Aの識別子が対応付けられる。この分散管理データベース241が、後述する構造化オーバレイ処理部206によってレコードの登録、削除、更新が行われるが、この「通知装置」とは、レコードの登録、更新を行うための通知を行った通信装置20A、すなわち、その登録、更新に係るレコードを送信した通信装置20Aの識別子を示している。
 例えば、分散管理データベース241が図11の内容であれば、「識別子」が「A」の通信装置20A(以下、通信装置20A-Aという)とアドレスとの対応関係を示すレコードは、その内容の登録または更新を行うための通知を、その通信装置20A-A自身が行ったことを示す。また、通信装置20A-Bとアドレスとの対応関係を示すレコードは、その更新の通知を通信装置20A-Bが行ったのではなく、通信装置20A-Aが行ったことを示している。このように、分散管理データベース241に登録されている各レコードは必ずしもそのレコードに係る通信装置20Aから通知されたものとは限らない。
[通信処理機能]
 次に、通信装置20Aの制御部21が制御プログラムを実行することによって実現される通信処理機能について、図12を用いて説明する。通信処理機能とは、第1実施形態における場合と同様に、ネットワーク10に接続されている通信装置20Aに対して情報を送信する情報送信処理、キャッシュを管理するキャッシュ管理処理の他、各通信装置20Aにおけるアドレスが変更されたときに分散管理された管理データベースへの登録、更新、削除を、構造化オーバレイを利用して行う処理(例えば、アドレス取得処理、アドレス応答処理など)を実行する機能などである。なお、以下に説明する通信処理機能における各構成については、ハードウエアによって実現してもよい。
 図12は、第2実施形態に係る通信処理機能を実現する構成を説明する図である。この通信処理機能の実現には、第1実施形態における構成であるパケット処理部201、キャッシュ管理部202、送信情報取得部203、接続判定部204、レコード通知部205および記憶部24Aに記憶されたキャッシュ240に加えて、構造化オーバレイ処理部206、記憶部24Aに記憶された分散管理データベース241の各構成を用いる。
 パケット処理部201は、第1実施形態における機能に加えて、構造化オーバレイ処理部206からパケットを送出する指示があると、指示に応じたパケットを通信IF部23から送出させる機能、および他の通信装置20Aにおける構造化オーバレイ処理部206の指示によって送出されたパケットを取得すると、構造化オーバレイ処理部206に出力する機能を有する。また、送信対象となる通信装置20Aの識別子に対応するアドレスを管理データベースに問い合わせるときには、構造化オーバレイ処理部206の指示にしたがって処理を行う。
 キャッシュ管理部202、送信情報取得部203、接続判定部204、レコード通知部205、キャッシュ240については、第1実施形態における各構成と同様であるため、説明を省略する。ここで、レコード通知部205からのレコードを示す情報は構造化オーバレイ処理部206に出力される。
 構造化オーバレイ処理部206は、予め決められた構造化オーバレイのプロトコルに則って、パケット処理部201、通信IF部23を介して行われる他の通信装置20Aとの通信を制御して、ネットワーク10に接続された通信装置20A間で構造化オーバレイを構成し、構造化オーバレイにおける各処理を行う。そして、構造化オーバレイ処理部206は、構造化オーバレイを利用して、管理データベースを各通信装置20Aで分散管理データベース241として分散管理する。また、構造化オーバレイ処理部206は、分散管理においては、分散管理データベース241のレコードの登録、削除、更新などを行う。これらの処理が行われるタイミングについては、後述する。
 また、割り当てられたアドレスが変わるなどしたことにより、レコード通知部205からレコードを示す情報が出力されると構造化オーバレイ処理部206は、パケット処理部201、通信IF部23を用いて、この情報を他の通信装置20Aに送信し、レコードの登録または更新を通知する。また、構造化オーバレイ処理部206は、分散管理に用いられるアルゴリズムにしたがって、自装置の分散管理データベース241に登録された一部のレコードを示す情報を他の通信装置20Aに対して送信し、レコードの登録または更新を通知する。
 この通知を受けた他の通信装置20Aの構造化オーバレイ処理部206は、そのレコードを「通知装置」(レコードの登録、更新の通知を行った通信装置20Aの識別子)と対応付けて分散管理データベース241に登録する。
 このレコードを示す情報の送信対象となる他の通信装置20Aは、これを送信する通信装置20Aの近隣の通信装置20Aである。近隣の通信装置20Aとは、この例においては、ハッシュ関数を用いて各通信装置20Aの識別子をハッシュ値に変換した場合に、自装置に対応するハッシュ値と、最も近い関係にあるハッシュ値に対応する通信装置20Aをいうが、特定のアルゴリズムを用いて決められる通信装置20Aを近隣の通信装置20Aとしてもよい。
 また、構造化オーバレイ処理部206は、送信対象となる通信装置20Aの識別子に対応するアドレスを問い合わせるときには、特定のアルゴリズムにしたがって、各通信装置20Aにおける分散管理データベース241を参照して、必要なアドレスを取得する。この処理をアドレス取得処理という。このアドレス取得処理は、例えば、自装置の分散管理データベース241に、この対応関係を示すレコードが登録されていない場合には、近隣の通信装置20Aに問い合わせ、この通信装置20Aにも登録されていない場合には、その次の近隣の通信装置20A(次にハッシュ値が近い通信装置20A)に問い合わせていき、このように、問い合わせに係る識別子とアドレスとの対応関係を示すレコードが登録された分散管理データベース241をもつ通信装置20Aに到達するまで順に問い合わせを続ける。そして、その対応関係を示すレコードが登録された分散管理データベース241をもつ通信装置20Aからの応答により、問い合わせを行った通信装置20Aは、問い合わせに係る識別子に対応するアドレスを取得する。
 ここで、特定の条件を満たした場合にアドレス取得処理によってアドレスの問い合わせを受けた通信装置20Aは、その問い合わせに対して応答するための特別な処理(以下、アドレス応答処理という)を行うが、これについての詳細は後述する。以上が、通信処理機能を実現する構成についての説明である。
[キャッシュ管理処理]
 次に、本発明の第2実施形態に係る通信装置20Aにおいて行われるキャッシュ管理処理について説明する。キャッシュ管理処理は、第1実施形態における図8に示す状態遷移図を用いた説明と同様であるが、状態S2と状態S3との関係において、具体的処理内容が異なっている。なお、状態S1から状態S2に遷移するときに行われるアドレスの取得は、上述したアドレス取得処理によって行われる。
 以下、第2実施形態に係るキャッシュ管理処理において、第1実施形態と異なる部分、すなわち、状態S2から状態S3に遷移し、再び状態S2に遷移する部分について説明する。
 状態S2において、接続判定部204における接続判定の結果、通信装置20AT(第1実施形態と同様に送信情報の送信対象となる通信装置20Aを示す)とアドレスとの対応関係が維持されていないと判定(イベントE2)されると、キャッシュ管理部202は、「無効フラグ」を「ON」に、「接続判定状態」を「停止中」に設定(アクションA2)し、接続判定部204における接続判定を停止させる。この点は第1実施形態と同様な処理である。
 そして、通信装置20A(以下、通信装置20AXという)は、通信装置20ATに対応するアドレスの問い合わせを行い(アクションA2)、アドレスの応答を待機する(状態S3)。ここで、問い合わせを受けた通信装置20A(以下、通信装置20ARという)においては、上述したアドレス応答処理が行われる。すなわち、アドレス応答処理が行われるための特定の条件とは、状態S2から状態S3に遷移するときに、アドレスの問い合わせを受けることである。この条件を満たしているか否かを通信装置20ARで認識するためには、通信装置20AXが通信装置20ARに対してアドレスの問い合わせの際に、問い合わせに係るアドレスの「無効フラグ」を示す情報をあわせて通知し、通信装置20ARにおいてこの情報を参照して「無効フラグ」が「ON」であることを認識すると、条件を満たしていると認識すればよい。このアドレス応答処理について、図13を用いて説明する。
 なお、最初に問い合わせを受ける通信装置20Aは、問い合わせを行う通信装置20AX自身であってもよい。
 図13は、アドレス応答処理を示すフローチャートである。まず、問い合わせを受けた通信装置20ARは、自装置が記憶する分散管理データベース241に、通信装置20ATの識別子に対応するアドレスがあるか否かを判定する(ステップS110)。対応するアドレスが無い場合(ステップS110;No)には、後述するステップS150に進む。
 一方、対応するアドレスがある場合(ステップS110;Yes)には、通信装置20ARは、そのレコードに係る通信装置20ATの識別子と、そのレコードに対応した「通知装置」の識別子とが一致しているか否かにより、通信装置20ATから直接通知されたレコードにより更新したものか否かを判定する(ステップS120)。
 直接通知されたものであると判定した場合(ステップS120;Yes)には、通信装置20ARは、そのレコードによって示されるアドレスを、自装置に対して問い合わせを行った通信装置20AXに送信する(ステップS130)。通信装置20AXが自身に対して問い合わせを行っていた場合には、アドレスの応答があったとみなせばよい。これにより、通信装置20AXは、アドレスの応答(イベントE3)を受け、第1実施形態におけるアクションA3の処理後、状態S2に遷移する。
 一方、直接通知されたものでないと判定した場合(ステップS120;No)には、通信装置20ARは、そのレコードを自装置の分散管理データベース241から削除する(ステップS140)。
 通信装置20ATから直接通知されたものでない場合には、通信装置20ATの変更されたアドレスがこの通信装置20ARまで通知されていない可能性があり、その場合には、アドレスが変更される前のレコードとして分散管理データベース241に登録されていることになる。そのため、レコードを削除するようになっている。一方、上述のように、直接通知されたものであれば、割り当てられたアドレスが変更されてから経過した時間が少なくても、新たなアドレスに係るレコードに更新されることになるから、そのアドレスを変更後のアドレスとして扱うことになる。
 フローチャートに戻って説明を続ける。通信装置20ARは、通信装置20AXではない近隣の他の通信装置20A(次にハッシュ値が近い通信装置20A)に対してアドレスの問い合わせを行い(ステップS150)、アドレスを示す情報の受信を待つ(ステップS160;No)。ここで、通信装置20ARによってアドレスの問い合わせを受けた通信装置20Aは、通信装置20ARと同様に、図13に示すアドレス応答処理を行う。
 通信装置20ARが、アドレスの問合せ先の通信装置20Aからアドレスの受信を受ける(ステップS160;Yes)と、そのアドレスと問い合わせに係る通信装置20ATとの対応関係を示すレコードを、自装置の分散管理データベース241に登録し(ステップS170)、自装置に対して問い合わせを行った通信装置20AXに対してアドレスを送信する(ステップS130)。このレコードを登録するときには、このレコードに係るアドレスを送信した通信装置20Aの識別子を「通知装置」として対応付ける。
 これにより、通信装置20AXは、アドレスの応答(イベントE3)を受け、第1実施形態におけるアクションA3の処理後、状態S2に遷移する。以上が第2実施形態に係るキャッシュ管理処理において、第1実施形態と異なる部分の説明である。
 このように、本発明の第2実施形態に係る通信装置20Aは、複数の通信装置20Aにより、構造化オーバレイを利用して管理データベースを分散管理データベース241として分散管理し、各通信装置20Aにおいて記憶された分散管理データベース241を参照して、通信対象となる通信装置20Aの識別子とアドレスとの対応関係を取得する。このことによっては、第1実施形態における効果と同様に、ネットワーク10の負荷を抑えつつ、パケットの送信を行うのに適したタイミングでキャッシュ240の内容を更新することができる。
 また、このとき、アドレス応答処理を行った通信装置20Aにおいては、問い合わせに係る通信装置20Aの識別子とアドレスとの対応関係を示すレコードを更新することができる。このように、通信装置20Aは、キャッシュ240における対応情報が示す対応関係が維持されていないと判定して、他の通信装置20Aに問い合わせて、アドレス応答処理を行うことで、その通信装置20Aに対しても、レコードの更新を促すことができる。
<変形例>
 以上、本発明の実施形態について説明したが、本発明は以下のように、さまざまな態様で実施可能である。
[変形例1]
 上述した第2実施形態において、図13におけるステップS140、ステップS110;Noとなる処理の後には、通信装置20ARは、問い合わせを行った通信装置20AXに対して応答するアドレスが無いことを示すエラー通知を行うようにして、エラー通知を受けた通信装置20AXが、次にハッシュ値が近い近隣の通信装置20Aに対して問い合わせを行ってもよい。
[変形例2]
 上述した第2実施形態において、通信装置20A(以下、通信装置AYという)が、通信装置20ATに対して、接続判定を実行しているとき(図8の状態遷移図における状態S2)に、この通信装置20AYとは別の近隣の通信装置20A(以下、通信装置20AZという)が、通信装置20ATと通信を開始した場合、すなわち通信装置20AZが状態S2に遷移した場合には、通信装置20AZにおいて接続判定を停止させるようにしてもよい。この場合は以下のようにすればよい。
 まず、通信装置20ATまたは通信装置20AZから、通信装置20AYに対して、近隣の通信装置20AZと通信装置20ATとが通信中であることを通知する。通信装置20AYは、この通知を受けると、通信装置20AZに対して、接続判定を停止するように通知する。これによって、通信装置20AZは、状態S2においても通信装置20AZに対する接続判定を停止させる。そして、通信装置20AYは、接続判定の結果を通信装置20AZに通知するようにすればよい。この通知は、接続判定の結果、対応関係が維持されていないと判定された場合にだけ通知するようにしてもよい。
 このようにすれば、近隣の通信装置20Aが同じ通信装置20ATを通信対象としているときに、それぞれの通信装置20Aで接続判定を行うことを防止するからネットワークの負荷を低減することができる。
 なお、ここでいう近隣とはハッシュ値がもっとも近い場合に限らず、予め決められた一定距離であれば近隣であるものとしてもよい。
[変形例3]
 上述した実施形態における制御プログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどのコンピュータ読取り可能な記録媒体に記憶した状態で提供し得る。この場合には、記録媒体を読み取るインターフェイスを通信装置20、20Aに設ければよい。また、ネットワーク経由でダウンロードさせることも可能である。
1,1A…通信システム、10…ネットワーク、20,20A…通信装置、21,31…制御部、22,32…UI部、23,33…通信IF部、24,24A,34…記憶部、25,35…バス、201,301…パケット処理部、202…キャッシュ管理部、203…送信情報取得部、204…接続判定部、205…レコード通知部、206…構造化オーバレイ処理部、240…キャッシュ、241…分散管理データベース、302…レコード管理部、340…管理データベース

Claims (8)

  1.  接続したネットワークにおけるアドレスが割り当てられた他の通信装置を通信対象として、当該ネットワークに接続して通信を行う通信装置において、
     前記ネットワークに接続された各通信装置と前記各通信装置に割り当てられたアドレスとの対応関係を定めたデータベースから、通信対象となる前記他の通信装置に対応する前記アドレスを取得するアドレス取得手段と、
     前記アドレス取得手段によって取得されたアドレスと前記通信対象となる他の通信装置とを対応付けた対応情報を記憶する記憶手段と、
     前記通信対象となる他の通信装置に送信すべき送信情報を取得する情報取得手段と、
     前記情報取得手段によって送信情報が取得されると、前記記憶手段に記憶された対応情報を参照して、前記通信対象となる他の通信装置に対応する前記アドレスに対して当該送信情報を送信する送信手段と、
     前記通信対象となる他の通信装置と前記アドレスとの対応関係が維持されているか否かを判定する判定手段と、
     前記判定手段によって対応関係が維持されていないと判定された場合には、前記記憶手段に記憶された対応情報を無効化する無効化制御手段と、
     前記情報取得手段によって送信情報が取得されると、前記判定手段に判定を開始させ、予め決められた期間にわたって前記送信情報の取得が行われなかった場合、または前記無効化制御手段による無効化が行われた場合には、前記判定手段による判定を停止させる判定制御手段と
     を具備することを特徴とする通信装置。
  2.  前記無効化制御手段によって前記対応情報が無効化されると、前記アドレス取得手段に当該対応情報に係る他の通信装置に対応する前記アドレスを再度取得させて、前記記憶手段における対応情報を更新させる更新制御手段
     をさらに具備することを特徴とする請求項1に記載の通信装置。
  3.  前記判定制御手段は、前記更新制御手段によって前記対応情報が更新されると、前記判定手段に判定を開始させる
     ことを特徴とする請求項2に記載の通信装置。
  4.  前記データベースは、前記ネットワークに接続される複数の前記通信装置において分散管理され、
     前記分散管理されるデータベースの一部を記憶するデータベース記憶手段と、
     自装置に割り当てられた前記アドレスが変更されると、少なくとも一の前記他の通信装置に対して変更内容を通知する通知手段と、
     前記他の通信装置から前記変更内容が通知されると、前記データベース記憶手段に記憶されたデータベースの一部に当該変更内容を反映させる反映手段と、
     前記他の通信装置における前記更新制御手段の制御により前記通信対象となる通信装置に対応する前記アドレスを再度取得するための問い合わせがあると、前記データベース記憶手段に記憶された前記データベースの一部に当該通信対象となる通信装置に対応する前記アドレスがある場合であって、当該アドレスが当該通信対象となる通信装置から通知されることによって当該データベースの一部として反映されたものでない場合には、当該アドレスを当該データベースの一部から当該アドレスと当該通信対象となる通信装置との対応関係を削除し、当該データベースの一部として反映されたものである場合には、当該アドレスを当該通信対象となる通信装置に対応するものとして応答する応答制御手段と
     をさらに具備することを特徴とする請求項2に記載の通信装置。
  5.  前記判定手段による判定が、予め決められた期間にわたって行われなかった場合には、前記記憶手段に記憶された対応情報を削除する削除手段と、
     前記記憶手段に前記通信対象となる他の通信装置と前記アドレスとを対応付けた対応情報が無い場合に、前記情報取得手段によって送信情報が取得されると、前記アドレス取得手段に当該他の通信装置に対応する前記アドレスを取得させる取得制御手段と
     をさらに具備することを特徴とする請求項1に記載の通信装置。
  6.  前記判定手段による判定は、前記通信対象となる他の通信装置に対して判定パケットを送信し、該判定パケットに対する応答パケットを受信したか否かにより行われる
     ことを特徴とする請求項1に記載の通信装置。
  7.  前記判定手段は、前記対応関係が維持されているか否かを、任意の間隔に基づくタイミングで判定する
     ことを特徴とする請求項1に記載の通信装置。
  8.  前記任意の間隔とは、一定間隔を示す
     ことを特徴とする請求項7に記載の通信装置。
PCT/JP2010/065184 2009-09-04 2010-09-03 通信装置 WO2011027876A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201080039389.0A CN102484615B (zh) 2009-09-04 2010-09-03 通信装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009204953A JP5531517B2 (ja) 2009-09-04 2009-09-04 通信装置および通信方法
JP2009-204953 2009-09-04

Publications (1)

Publication Number Publication Date
WO2011027876A1 true WO2011027876A1 (ja) 2011-03-10

Family

ID=43649411

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/065184 WO2011027876A1 (ja) 2009-09-04 2010-09-03 通信装置

Country Status (3)

Country Link
JP (1) JP5531517B2 (ja)
CN (1) CN102484615B (ja)
WO (1) WO2011027876A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004266305A (ja) * 2002-12-24 2004-09-24 Hajime Fukushima 動的ipアドレス割当てを受けた機器を管理する方法およびシステム
JP2006157716A (ja) * 2004-11-30 2006-06-15 Mitsubishi Electric Corp ネットワークノード装置およびその経路情報更新方法
JP2007221514A (ja) * 2006-02-17 2007-08-30 Sii Network Systems Kk ルータ装置、ルータ装置におけるルート決定方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003229881A (ja) * 2002-02-05 2003-08-15 Nec Access Technica Ltd 端末装置
JP3703457B2 (ja) * 2003-01-21 2005-10-05 キヤノン株式会社 アドレス通知方法、プログラム、及び、装置
JP2004350133A (ja) * 2003-05-23 2004-12-09 Canon Inc 接続制御方法、接続制御プログラム、及び、接続装置
US7440453B2 (en) * 2004-11-12 2008-10-21 International Business Machines Corporation Determining availability of a destination for computer network communications
CN101272407B (zh) * 2008-04-28 2010-07-21 杭州华三通信技术有限公司 域名系统的缓存探测方法、缓存探测装置和探测响应装置
CN101483648B (zh) * 2009-02-20 2012-07-11 杭州华三通信技术有限公司 Dns缓存探测的方法、系统、装置和dns服务器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004266305A (ja) * 2002-12-24 2004-09-24 Hajime Fukushima 動的ipアドレス割当てを受けた機器を管理する方法およびシステム
JP2006157716A (ja) * 2004-11-30 2006-06-15 Mitsubishi Electric Corp ネットワークノード装置およびその経路情報更新方法
JP2007221514A (ja) * 2006-02-17 2007-08-30 Sii Network Systems Kk ルータ装置、ルータ装置におけるルート決定方法

Also Published As

Publication number Publication date
JP2011055434A (ja) 2011-03-17
CN102484615B (zh) 2015-05-27
CN102484615A (zh) 2012-05-30
JP5531517B2 (ja) 2014-06-25

Similar Documents

Publication Publication Date Title
JP5021184B2 (ja) 機器情報提供装置および機器情報提供方法
CN101272407B (zh) 域名系统的缓存探测方法、缓存探测装置和探测响应装置
CN103856569B (zh) 一种同步域名系统资源信息的方法及设备
US9584449B2 (en) Determining the status of a device through use of a publisher/subscriber interface
US20070283043A1 (en) Information delivery system, delivery request program, transfer program, delivery program, and the like
JP2006253900A (ja) Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム
JP5541812B2 (ja) コンテンツを公表するための方法及びシステム、コンテンツを検索するための方法及びシステム
CN106612339A (zh) 域名更新方法、系统和主dns服务器
US7610403B2 (en) Device retrieving a name of a communications node in a communications network
JP5531517B2 (ja) 通信装置および通信方法
JP4976098B2 (ja) UPnPデバイス情報を効率的に管理する方法及び装置
JP2003208371A (ja) 名前解決を用いたルーティング方法およびそのシステム
JP4757063B2 (ja) キャッシュサーバ装置、キャッシュ制御方法およびキャッシュサーバ装置用プログラム
JP2010193015A (ja) 通信装置およびその通信方法
JP4223045B2 (ja) Dnsサーバ装置、要求電文処理方法および要求電文処理プログラム
JP2008112307A (ja) サービス提供方法およびネットワークデバイス
JP2002111713A (ja) ネットワークシステム、ネームサーバ、サーバ、およびネットワークシステムのip通信方法
JP4343914B2 (ja) Dnsサーバ装置、dnsクエリ要求制御方法およびdnsクエリ要求制御プログラム
JP2006338624A (ja) サーバアクセス制御システム、サーバアクセス制御方法およびサーバアクセス制御プログラム
US20120096090A1 (en) Method for Processing Messages and Network Device
JP2005229309A (ja) 通信経路設定装置、通信経路設定方法および通信経路設定プログラム
JP2013026730A (ja) 通信システム
JP4455209B2 (ja) 情報処理装置
JP2006172385A (ja) 計算機システム、ストレージ管理プログラムの呼出方法及びストレージシステム
JP2007148882A (ja) コンテンツ配信システム

Legal Events

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

Ref document number: 201080039389.0

Country of ref document: CN

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

Ref document number: 10813823

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

Country of ref document: EP

Kind code of ref document: A1