WO2005006671A1 - ネットワークにおける特定サービスの最適ルーティング方法並びに同ネットワークに用いられるサーバ及びルーティングノード - Google Patents

ネットワークにおける特定サービスの最適ルーティング方法並びに同ネットワークに用いられるサーバ及びルーティングノード Download PDF

Info

Publication number
WO2005006671A1
WO2005006671A1 PCT/JP2003/008711 JP0308711W WO2005006671A1 WO 2005006671 A1 WO2005006671 A1 WO 2005006671A1 JP 0308711 W JP0308711 W JP 0308711W WO 2005006671 A1 WO2005006671 A1 WO 2005006671A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
server
routing
information
routing node
Prior art date
Application number
PCT/JP2003/008711
Other languages
English (en)
French (fr)
Inventor
Daisuke Namihira
Yasunori Terasaki
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2003/008711 priority Critical patent/WO2005006671A1/ja
Priority to JP2005503839A priority patent/JP4372098B2/ja
Publication of WO2005006671A1 publication Critical patent/WO2005006671A1/ja
Priority to US11/248,764 priority patent/US7929550B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/026Details of "hello" or keep-alive messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • 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/25Mapping addresses of the same type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Definitions

  • the present invention relates to an optimal routing method for a specific service in a network, and a server and a routing node used in the network.
  • a server master
  • a server group mirror
  • the terminal does not care about their location (address) and operation status, and the terminal considers it to be the optimal server.
  • the present invention relates to a technique suitable for enabling access to the user. Background art
  • servers that provide various services on networks such as the Internet, and as a measure against services where access is concentrated, another server physically distant on the network is used to make only the service contents the same. There is a way to provide the address and let the user select the address and access it.
  • a method for transferring data to the optimal destination between load balancers connected to the server providing the specific service is described.
  • the user in the former method, the user must know where the corresponding service is located. In some places, a list of services is provided, but there is a problem that the load cannot be distributed efficiently because the choice is left to the user. In addition, there is also a problem that arises when a situation occurs in which a server whose service is temporarily stopped cannot access the service but cannot receive the service because information about the server in the list is not given. Furthermore, in order for terminals to automatically recognize such information, the amount of information that must be collected is enormous, making it virtually impossible.
  • the load balancer in the latter method, the load balancer must know the contents of the servers connected to it, but the load balancer does not automatically recognize the server even if a server is added. Therefore, such information must be provided to the load balancer. In addition, if the load balancers are located at remote locations on the network, the optimal destination may differ depending on the network situation, but the load balancer does not know the internal state of the network Therefore, effective load balancing may not be achieved.
  • Patent Documents 1 and 2 there are other technologies proposed in Patent Documents 1 and 2 below.
  • Patent Document 1 provides a new attribute related to bandwidth information in a routing protocol, notifies the other network routers in the own network of the bandwidth information of the traffic flowing in from the other network along with the routing information, and notifies the other network of the own network. It reports the traffic bandwidth information flowing out from inside to the border routers of other networks.
  • Patent Document 1 it is possible to automatically notify the inputtable bandwidth information to all the border routers with a small capital investment and remodeling, thereby reducing the time and effort of the network administrator. Mistakes can be reduced.
  • Patent Document 2 relates to a method for managing a distributed database, based on a server information management table in which a plurality of servers are classified (grouped) by use (service).
  • a load table is set for each server, and the server with the lowest load is selected, or the usage status table of storage media (disks, tapes, etc.) of multiple servers is set, Select a server with a lot of free space, or register an information search key for each application and a server ID of the information storage destination in the storage management server as a search key / server ID table.
  • the necessary services can be used without being aware of the server.
  • Patent Document 1 Japanese Patent Application Laid-Open No. Hei 6-2599308 While using the technology described in Patent Document 1, it is possible to change the destination of access to a server where access is concentrated, even though the network bandwidth can be managed. It is impossible to control the load distribution.
  • Patent Document 2 it is possible to select an optimal server according to the load on the server and the usage status of the storage capacity.
  • the database server and which server has which information? Must be attached to the server information management table in advance. That is, only the server load and storage capacity usage are to be updated.
  • Patent Document 2 discloses that the server information management table can be provided in a router. However, even if the router is provided with server management information, a server on a network may be provided. Group information is automatically recognized and shared / updated within the network, and the optimal destination is selected independently of the network without the user being aware of the contents and operation status of the services currently provided on the network. It is impossible.
  • the present invention has been made in view of the above problems, and automatically recognizes and shares information (such as location information and service operation status) of a group of servers on a network within a network (such as a router). Updates can be performed, and the optimal destination can be selected independently from the network without the user being aware of the location information and service operation status of each server group, effectively accessing from many user terminals. The purpose is to be able to sort out. Disclosure of the invention
  • an optimal routing method for a specific service in a network includes a method of routing a plurality of servers and a service access request to the server according to destination information attached to the service access request.
  • service information information on service contents provided by the server (hereinafter referred to as service information) is transmitted and received using a routing protocol used for route control between the switching nodes.
  • service information information on service contents provided by the server
  • Each of the routing nodes registers and updates, and each of the routing nodes selectively changes the destination information of the service access request based on the service information held by the routing node, and performs rating / optimization to an optimum destination. It is characterized by
  • the service information including the service identifier indicating the service type provided by the server is registered and updated at each routing node using the routing protocol, and the routing nodes respectively add the service identifier to the service identifier.
  • the service access request may be routed for each service type.
  • a URL Uniform Resource Locater
  • the server notifies the routing node to which the server is connected of the service operation status notification message by using a service operation status notification message, and the routing node notifies the service operation status notified by the service operation status notification message.
  • the update of the service information can be transmitted to and reflected on each routing node in the network by the routing protocol 1.
  • the server sends a service update message to the routing node to which the server is connected each time the service content provided by the server is updated, and the routing node sends the service update message from the server at a constant rate.
  • the service information is not received for a period, the registration of the service information for the service content can be deleted, and the deletion of the service information can be transmitted to and reflected by each routing node in the network by the routing protocol.
  • the routing node does not receive the service update message for a certain period of time, the registration of the service information on the service content not to be updated can be maintained.
  • the master server periodically notifies the service operation status notification message to the routing node to which it is connected. If the master node determines from the service operation status notification message that the master server has been stopped for a certain period of time, it deletes the registration of the service information for the mirror server, and deletes the service information. The deletion can be transmitted to and reflected in each routing node in the network by the routing protocol.
  • the routing node monitors the operation status of the other routing nodes by monitoring the reception of life and death confirmation information to be periodically received by the routing protocol from the other routing nodes, When it is confirmed that the operation of the other routing node has been stopped, the service information of the other routing node whose operation has been stopped among the service information owned by itself is deleted, and the deletion of the service information is performed by the routing node. It can also be transmitted and reflected to each routing node in the network by a protocol.
  • the mirror server sends an access request for updating the service contents provided by itself to the mirror server.
  • the routing node transmits the access request data to the connected noting node.
  • the routing node converts the destination information of the access request into direct access destination information enabling direct access to the master server. Can be routed.
  • a server used in the network of the present invention includes a network having a plurality of servers and a plurality of routing nodes for routing a service access request to the server according to destination information attached to the service access request.
  • the service notifying means may update the service content. It may be provided with a service update notifying means for notifying the routing node of information on service contents.
  • the mirror server can directly access the mirror server when updating the service content provided by the mirror server.
  • Direct access destination information notifying means for notifying the routing node connected thereto of the direct access destination information to be accessed.
  • the routing node used for the network of the present invention includes a plurality of servers and a plurality of routing nodes for routing a service access request to the server in accordance with destination information attached to the service access request. It is used in a network having a routing node of the present invention, and receives information (service information) on service contents provided by the server from a server connected to the self or another --- node.
  • Service information management means for managing the registration and update of the service information, and the service information is used for route control between the routing nodes as the service information is registered and updated by the service information management means.
  • Service information to be transmitted to other routing nodes using the notification protocol It is characterized by comprising transmission means and routing control means for selectively changing destination information of the service access request based on the service information of the service information management means to perform optimum destination healthing.
  • the service information management means is configured to hold and manage the service information including a service identifier indicating a service type provided by the server, and the routing control means includes: based yo be configured to perform routing of the service access request by said service type Unit is, 0
  • the service information management means holds and manages a URL as the service identifier.
  • the service information management means may include means for updating the service information according to the service operation status of the server notified from the server. Further, the service information management means includes: a server provided by the server; If the service update message notified each time the service content is updated is not received for a certain period, a means for deleting the registration of the service information for the service content may be provided.
  • the service information management means may include a means for maintaining registration of service information on service contents to be not updated even when the service update message is not received for a certain period of time.
  • the service information management means transmits the service operation status notification message periodically issued by the master server.
  • the service information management means includes means for monitoring the operation status of the other routing node by monitoring reception of life and death confirmation information to be periodically received from the other routing node by the routing protocol.
  • the service information management means deletes service information of the other routing node whose operation has been stopped from the service information held by itself. May be provided.
  • the service information management means updates the service contents provided by the mirror server to the master server.
  • Means for requesting direct access destination information enabling direct access to the master server, and including the direct access destination information received from the master server in response to the request in the service information.
  • Means for transmitting to other routing nodes may be provided.
  • routing control means may include destination conversion means for converting destination information of an access request received from the mirror server into the direct access destination information.
  • FIG. 1 is a block diagram showing a network configuration according to an embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of the format of an ASRP bucket used in the present embodiment.
  • FIG. 3 is a diagram showing an example of a command data format of an ADD_SERVICE message of ASRP used in the present embodiment.
  • FIG. 4 is a diagram showing an example of a command data format of a SERVICE-DOWN message of ASRP used in the present embodiment.
  • FIG. 5 is a diagram showing an example of a registration service table used in the present embodiment.
  • FIG. 6 is a diagram showing a format example of the BGP4 UPDATE message used in the present embodiment.
  • FIG. 7 shows an example of the path attribute format of the UPDATE message shown in FIG.
  • FIGS. 8, 9 and 10 are diagrams respectively showing an example of the format of the attribute type code and attribute value of the additional attribute of the UPDATE message shown in FIG.
  • FIG. 11 is a diagram illustrating an example of a destination server selection table used in the present embodiment.
  • FIG. 12 is a diagram showing an example of a master-to-server change table used in the present embodiment.
  • FIG. 13 is a diagram showing an example of the destination change table used in the present embodiment.
  • FIG. 14 is a diagram showing an example of a master-to-server recovery table used in the present embodiment.
  • FIG. 15 is a flowchart for explaining the process of adding and updating service information in the router of the present embodiment.
  • FIG. 16 is a flowchart for explaining service information deletion processing in the router of the present embodiment.
  • FIG. 17 is a block diagram illustrating the configuration of the router according to the present embodiment.
  • FIG. 18 is a flow chart for explaining the setting process (when adding an entry) of the master-to-server address change table possessed by the server access address conversion unit of the router shown in FIG.
  • Figure 19 shows the master of the server access address translator of the router shown in Figure 17 This is a flowchart for explaining the setting process (at the time of entry deletion) of the change table for one server.
  • FIG. 20 is a flowchart for explaining the destination change table setting process (when adding an entry) possessed by the optimum destination determining unit of the router shown in FIG.
  • FIG. 21 is a flowchart for explaining the destination change table setting process (at the time of entry deletion) possessed by the optimum destination determining unit of the router shown in FIG.
  • FIG. 22 is a flowchart for explaining the destination change table setting process (when adding an entry) of the server address conversion unit of the router shown in FIG.
  • FIG. 23 is a flowchart for explaining the setting process (at the time of entry deletion) of the destination change table possessed by the server address conversion unit of the router shown in FIG.
  • FIG. 24 is a diagram for explaining the operation of the network according to the present embodiment. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a block diagram showing a network configuration according to one embodiment of the present invention.
  • the network shown in FIG. 1 includes a plurality of servers 1 and 2, a plurality of routers (routing nodes) 3, and a plurality of user terminals (user terminals).
  • terminal server 1 and user terminal 5 are connected to router 3A
  • server 2 and user terminal 6 are connected to router 3B. It is connected.
  • routers 3A and 3B will be referred to as "router 3" unless distinguished.
  • the servers 1 and 2 provide specific services to user terminals (hereinafter, also simply referred to as “terminals”) 5 and 6, respectively.
  • the server 1 is a master.
  • the server and server 2 are mirror servers that provide the same service contents as the service provided by the master server 1. In FIG. 1, only two servers, routers, and user terminals are shown, respectively, but the number is not limited to the one shown in FIG.
  • the control message used for transmitting and receiving the route information between the routers 3 according to a predetermined routing protocol such as BGP4 (Border Gateway Protocol Version 4) includes information (service information) provided on the network. Information on which servers 1 and 2 provide what services, etc.) I'm going to do it.
  • the entire network can recognize the location of various services, so that the router 3 can relay (route) to an optimal destination.
  • the operation status of the router 3 can be recognized directly or indirectly, and the optimum destination can be changed based on the information.
  • the servers 1 and 2 that provide the services respectively inform the routers 3 A and 3 B connected to themselves of the type and operation status of the services that they provide, and the routers 3 and 4 transmit the information.
  • the notifiers 3A and 3B on the network can be automatically recognized even when a server is added, and it is possible to determine the optimal destination even after adding a server.
  • Each of routers 3A and 3B monitors the status of only servers 1 and 2 connected to itself, and the control messages between routers 3 for servers connected to other routers 3. By obtaining from the added service information, it is not necessary to recognize and manage all servers on the network with a single device, and the server recognition process does not take an enormous amount of time.
  • a protocol ASRP Application Services Registration Protocol
  • ASRP Application Services Registration Protocol
  • Server 1 (or 2) that has the service you want to register has a TCP (Transmission Control Protocol) connection between itself and the router (router that supports ASRP) 3A (3B) that connects to the network.
  • TCP Transmission Control Protocol
  • the ASRP TCP port number may be any other than well-known (Well-Known) port number. For example, an unused (unsigned) port number "4634" is used.
  • server 1 After setting up the TCP connection, server 1 (or 2) defines it in ASRP By issuing a command (packet) to the router 3A (or 3B), the status and type of the service are notified.
  • the ASRP command packet format is defined, for example, as shown in FIG. That is, the command packet 30 includes a command field 31 (2 octets) indicating the type of the command and a length field 3 2 (2 octets) indicating the data length following the command field 31. And a “command data” field 33 (variable length) in which necessary parameters and the like are stored according to the command type.
  • This command is for notifying the service contents provided by the own servers 1 and 2.
  • the length value is variable, and the command data content is defined as shown in Figure 3.
  • the following various parameters are set in the command data field 33.
  • bit 0 S “0" indicates that the service content is not to be updated, and "1" indicates that the service is to be updated.
  • the service content update process is a process of notifying that the content of the provided service has been updated, and is used for determining the service operation in the routers 3A and 3B.
  • the length value is set to 0 (there is no command data content).
  • This message is notified when the service cannot be provided because the server 1 (2) itself shuts down.
  • the length value is 0 (no command data content).
  • This message is notified only to the service whose service content is to be updated. Notify when the content of the service provided by the local server 1 (2) is updated.
  • the length value is set to 0 (there is no command data content).
  • DERECT_ADDR Response to the EQ, and when it is the master server 1, a message that returns an address for direct access.
  • the length value stores the length of the address for direct access
  • the command data content stores the content of the address for direct access.
  • the above “direct access address” is a dummy address for enabling the mirror server 2 to directly access the master server 1, and when starting up the master server 1, the server 1 side Prepare at least one.
  • This “direct access address” must be an address that is not used by any of the user terminals 5 and 6.
  • the same subnet as that of the address of the master server 1 should be provided. This is because it is necessary to route both the address of the master server 1 and the address for direct access in the same direction. That is, the servers 1 and 2 of the present embodiment have at least the following functions. ⁇
  • ADD Generates a SERVICE message and issues it to the router 3 connected to itself, to serve as a service notification unit that notifies the router 3 of information on the service contents provided by its own servers 1 and 2.
  • the mirror server 2 If there is a mirror server 2 that provides the same service contents as the own server 1 other than the own server 1, the mirror server 2 power is used when updating the service contents provided by the mirror server 2.
  • a direct access address notification unit that notifies the router 3 connected to the server 1 of the direct access address that enables direct access to the server 1 by the DERECTLADDR_RESP message, and the operation of the server 1 (2) by ASRP (TCP After setting up the connection):
  • an ADD-SERVICE packet is transmitted to the router 3 for all services provided by the own server 1 (2).
  • server 1 (2) If the server 1 (2) recognizes that a certain service has stopped, it sends a SERVICE_DOWN bucket.
  • the router 3 is provided with a registration service table 21 as shown in FIG. 5, for example.
  • Each parameter shown in FIG. 5 is the same as the content in the above-mentioned ASRP ADD-SERVICE packet.
  • the “server address” is the source address of the packet that received ADD-SERVICE.
  • the “service expiration time” the time when the service content update processing is performed and the time when the service is not processed is stored. For non-target entries, 0 is stored in this area.
  • a value that can be set by the user Specify whether to perform / do not perform service content update processing (for example, "1" when performing, "0" otherwise).
  • a value that can be set by the user Sets the amount of time between when a service is updated and when the service is recognized as "expire”.
  • the router 3 when the router 3 receives the ADD-SERVICE packet from the server 1 (2), the router 3 adds an entry to the registration service table 21. However, if there is an entry that matches both the service identifier and the server address, the content is updated.
  • the service content update processing bit in the ADD_SEVICE packet is “1” and the service content update processing execution flag is “1”, the “service expiration time” in the registered service table 21 , Set the time obtained by adding the service content expiration time from the current time. In other cases, set "service expiration time” to "0".
  • the DmECT_ADD_REQ message is transmitted to the source server 1 (2), and the DIRECT-ADDR-RESP message is transmitted. Waiting for a response to the message (DERECT_ADDR_RESP message), and upon receiving the response, the “direct access address” set in the received message is added to the currently registered service table 21 ( Figure 5). See) entry in “Address for direct access” Fino redo.
  • router 3 (4) checks the arrival of KEEPALIVE packets for all servers that have set up the connection. If a KEEPALIVE packet cannot be received for a certain period of time, all entries in the registration service table 21 with the server address value as the server address value are deleted. When a CLOSE-SERVER packet is received from the server 1 (2), the same processing as when a KEEPALIVE packet cannot be received for a fixed time is performed.
  • the “service identifier” is the same as the “service identifier” in the SERVICE_DOWN packet. And deletes the entry in the registered service table 21 that is the same as the source address of the SERVICE-DOWN packet received by the “server address”.
  • the service content update processing execution flag is "1"
  • the following processing is added.
  • the router 3 exchanges a routing protocol for determining a destination (routing).
  • BGP4 Border Gateway Protocol Version 4
  • ASRP Service Provider
  • BGP4 for each route of the routing information (route information) notified between routers 3, a "path attribute" representing the characteristic of the route can be described, and the path attribute obtained by ASRP is obtained. Service information is exchanged by adding additional service information. As a result, the service information provided by the servers 1 and 2 is transmitted to each router 3 on the network and shared by each router 3.
  • Figure 6 shows an example of the format of an UPDATE message used when notifying route information in BGP4.
  • the unavailable path length field 4 1 (2 octets) and the canceled path field 4 2 (variable Length) the unavailable path length field 4 1 (2 octets) and the canceled path field 4 2 (variable Length)
  • path attribute length field 43 (2 octets) the path attribute field 44 (variable length)
  • network layer reachability information field 45 As shown in FIG. 6, in the UPDATE message, the unavailable path length field 4 1 (2 octets) and the canceled path field 4 2 (variable Length), path attribute length field 43 (2 octets), path attribute field 44 (variable length), and network layer reachability information field 45.
  • the unavailable path length field 41 stores the field length of the cancellation path field 42
  • the cancellation path field 42 stores the path information that has become unavailable
  • the path attribute length field 43 stores the path attribute length of the path attribute field 44.
  • the path attribute field 44 stores information indicating the characteristics of the route (in this embodiment, service information is added to the field).
  • the available information field 45 stores available route information.
  • FIG. 7 shows a format example of the path attribute field 44 in FIG.
  • the path attribute field 44 is composed of an attribute flag field 44 1 (1 octet), an attribute type code field 44 2 (1 octet), and an attribute length field 4 4 3 (1 or 2 octets). ), Attribute value field 4 4 4 (variable length).
  • the contents of the service information are stored in the attribute value fields 444, respectively (details of the contents will be described later).
  • Other fields are defined as follows.
  • Bit 0 Optional bit
  • Bit 3 (length of attribute length field): If "0", it indicates that the "attribute length” field is 1 octet long. “1” indicates that the "attribute length” field is two octets long. This field is determined according to the length of the attribute value.
  • the route information notified in the BGP4 UPDATE message is
  • attribute type codes and attribute values of the additional attributes required for notifying one piece of service information are defined as shown in Table 1 below.
  • the attribute type code value for each attribute is defined, but the defined value is not limited to this, and it is sufficient that the defined value is uniquely determined as a whole.
  • Table 1 Attribute type codes and attribute values for additional attributes
  • bit 0: “0” indicates that the corresponding service has been updated, and “1” indicates that the corresponding service has been deleted.
  • Server address information Indicates that the address is a server address.
  • the router 3 prepares a destination server selection table 22 as shown in FIG.
  • the service information obtained by the router 3 is all collected in the destination server selection table 22 and the service load distribution processing is performed based on this information.
  • the contents of each field of the destination server selection table 22 are as follows.
  • each router 3 updates the contents of the destination server selection table 22 when the UPDATE message is transmitted from the peer router or when the registered service table content of the own router 3 is updated (addition of service / Update.
  • update data When the type information is “update” (hereinafter, such information is referred to as update data), it is searched whether the service identifier of the update data exists in the destination server selection table 22 (step A 1). If it exists (Yes in step A1), the matching entry (entry in the destination server selection table 22) is set to E_t (step A2), and the optimum address in the entry E_t and the own router 3 are set. From the routing table (the number of hops: the distance to the destination) (E_ho) (step A 3).
  • the distance (hop count) between the server address (U_addr) in the entry Et of the destination server selection table 22 corresponding to the above search and the local router 3 and the own router 3 is obtained from the routing table (U-hop and (Step A 4), and compare the obtained two hop numbers EJiop, U_ho (Step A 5).
  • the “iBGP table” is a table that stores all the routing information (including the attribute contents added in Table 1) received from the peer router 3 in BGP4.
  • Step A10 if there is a corresponding entry (Yes in step A10), one entry of the destination server selection table 22 is added, and the service identifier length, service identifier, master address, and address for direct access are added. , The number of ports (master), and the number of ports l to n (master) are set to the contents of the retrieved entry. (Step A 1 D o If there is no corresponding entry (No in Step A 10)) Processing ends.
  • Router 3 sets the master expiration time of the additional entry to “0” (Step A 1 2), and finds the distance (the number of hops) to its own Router 3 from the routing table in the server addresses of all searched entries. Acquire (Step A 1 3). Then, the smallest entry among the acquired hop numbers is searched, and the optimum address, the number of ports (optimum), and the number of ports l to n (optimum) in the entry in the destination server selection table 22 added earlier are searched. ) Is set to the entry content with the minimum number of hops (step A14).
  • the type information of the APP_ATTR—AJDDR attribute value in the message is “deleted ( delete) ”(this information is hereinafter referred to as“ deleted data ”). Done.
  • the service identifier, server address, and service type of the deleted service are D_sid, D_addr, and D-stype, respectively.
  • an entry in the destination server selection table 22 is searched to determine whether an entry (D_t) that matches the service identifier (D_sid) of the deleted data exists in the destination server selection tape 22. Check whether it is (Step B 1), if not, end the process (No route in Step B 1). If there is an entry D_t (Step B 2 from Yes note in Step B 1), delete data server Check if the type is “master” (step B 3).
  • Step B4 the entry D_t in the destination server selection table 22 is deleted (Step B4 from the Yes route in Step B3), and the deleted data is registered in the registration server.
  • step B5 the contents of the screw table 21 (step B5). If it is not the contents of the registered service table 21, the process is terminated (No route in step B5), but if it is the contents of the registered service table 21 (the deleted data is an UPDATE message from the router 3 of the peer). ), The service is re-added.
  • step B 6 all the entries having the same service identifier as the service identifier D_sid of the deleted data are searched (step B 6 from the No route of step B 5). Then, check whether there is an entry with “server type” “master” (step B 7). As a result, if the “master” entry does not exist, the process ends (No route in step B7), but if it does exist, one entry is added to the destination server selection table 22 (entry A_t Then, set the contents of the retrieved master server entry [service identifier length, service identifier, master address, direct access address, number of ports (master), port numbers l to n (master)]. Step B 8) from the Yes note of B 7.
  • step B9 the time obtained by adding the master expiration time to the current time is set as the master expiration time in the entry A-t (step B9), and the distance (hop) from the own router 3 is determined in the server addresses of all the searched entries.
  • step B 10 From the routing table (step B 10), and the entry contents (optimal address, Number of ports (optimal), port numbers l to n (optimal)] are set in entry A_t (step B11).
  • step B3 it is checked whether or not the server address D—addr matches the optimum address in the entry D_t (step B3). From the No route of step B12), if they do not match, the process ends (No route of step B12), but if they match, the following process is performed.
  • the KEEPALIVE message is exchanged between the peer routers 3 to check for aliveness.
  • the KEEPALIVE message is If it is no longer received, identify that the router 3 of the peer has gone down), remove the information from the router 3 from the BPG table, and rebuild the routing table with the excluded information.
  • the entry with the APP_ATTR_ADDR attribute is regarded as deleted and the above flow is deleted.
  • Master expiration is a process for causing the mirror server 2 to expire (expire) when the service master server 1 stops (expires). If the master server 1 is temporarily stopped, it is necessary to continue the processing on the mirror server 2, but the service of the master server 1 will be stopped for a long time or the service will be stopped permanently. In this case, the expire time is set because it is necessary to stop the service for the mirror server 2 as well.
  • the router 3 has the time from when the service of the master server 1 is stopped until the master expires as “master expiration time”, and performs the following processing.
  • the “master expiration time” can be set freely by the user.
  • the router 3 checks the master expiration time in all the entries in the destination server selection table 22 and, if not “0”, compares the current time with the master expiration time, and the master expiration time is older. If it is time, delete the entry. As a result, service stop processing based on the master expiration time can be performed.
  • FIG. 17 shows an embodiment of the router 3 for realizing the above-described processing.
  • FIG. 17 shows the main part of this embodiment, and does not show the configuration of the entire router.
  • the router 3 of the present embodiment includes a packet identification unit 10, a table setting unit 11, an address conversion unit for mirror server access 12, and an optimum destination determination unit (load distribution unit). Processing unit) 13, master server address conversion unit 14, routing processing unit 15, ASRP processing unit 16, BGP4 processing unit 17, etc.
  • the ASRP processing unit 16 only needs to be implemented at least in the routers 3A and 3B connected to the servers 1 and 2, and is not necessarily required for the other routers 3.
  • the bucket identification unit 10 has a function of identifying the type of the received packet [ASRP bucket, BGP4 control packet (UPDATE message, etc.), user packet (service access request, etc.)].
  • the processing packet is distributed to the processing unit 17, the control bucket of BGP4 is distributed to the BGP4 processing unit 16, and the user packet such as a service access request is distributed to the address conversion unit 12 for mirror server access.
  • the BGP4 processing unit 16 processes messages between the routers 3 according to the routing protocol such as BGP4, and sends and receives messages with the “attribute type code” extended as described above. ing. Also, ASRP processing The unit 17 processes the transmission and reception of the ASRP message between the servers 1 and 2 connected to the own router 3.
  • the table setting unit 11 stores the contents of the registration service table 21, destination server selection table 22, and BGP4 table described above. Also, the master server address change table ⁇ 23 in the mirror server access address translation unit 12 (see Fig. 12), and the destination change table 24 in the optimum destination determination unit 13 (Fig. 13). ), Sets and manages the contents of the master-server recovery table 25 in the master-to-server address conversion unit 14.
  • the mirror service is updated with the update of the registration service tape registration 21 and the destination server selection table 22. It issues commands to add and delete necessary entries to the server access address converter 12, the optimal destination determiner (load distribution processor) 13, and the master server address converter 14. Going on.
  • Each of the above tables is recorded on a required recording medium such as a RAM.
  • the table setting unit 11, the BGP4 processing unit 16 and the ASRP processing unit 17 described above store information on the service contents provided by the servers 1 and 2 from the servers 1 and 2 or other routers 3 connected to the table setting unit 11 and the BRP4 processing unit 17.
  • the BGP4 processing unit 16 receives the received service information and manages the registration and update of the service information.
  • the BGP4 processing unit 16 performs the registration and update of the service information in the service information management unit 18. Along with that, it functions as a service information transmitting unit that further transmits the service information to the other routers 3 by using the routing protocol used for the route control between the routers 3.
  • the table setting unit 11 further has the following functions (parts shown in parentheses indicate that the functions are mainly realized).
  • the mirror server access address translator 12 excludes the communication performed with the master server 1 from the determination of the optimal destination when the mirror server 2 performs the service update processing (master server 1).
  • master server 1 for example, a master-to-server change table 23 as shown in FIG. 12 is provided.
  • the master server address change table 23 a set of a source address, a destination address, and a change address is registered as an entry, and the address conversion unit 12 transmits the input frame.
  • the source address and the destination address are extracted, and an entry in which both the source address and the destination address of the table 23 match is searched. If there is an entry in which both match, the input frame of the input frame is searched.
  • the destination address is converted to the changed address of the entry (specifically, “direct access address”).
  • the process of adding / deleting entries of the master-to-server address change table 23 is performed by the table setting unit 11 as follows. That is, when an entry is added to the registered service table 2.1, the table setting unit 11 sets the service identifier of the added entry to A12_sid, the server type to A12—stype, and the server address A12 as shown in FIG. As one saddr (Step C 1), first, it is checked whether the “server type (Al2_stype)” of the additional entry is “Master” (Step C 2).
  • step C2 If the “server type” is “master”, the table setting unit 11 ends the processing without doing anything (Yes route in step C2), but if the “server type” is “mirror”, the destination server selection table 2 2, an entry having the same service identifier A12—sid as the additional entry is searched (from step C 2 No route to step C 3), and the “master address (S12_maddr)” and “direct access address ( S12—daddr) J is obtained (step C 4). Then, one entry is added to the master server address change table 23, and the server address of the additional entry (A12-saddr), the acquired master address (S12—maddr), and the acquired direct access address are added to the entry. (S12_daddr) is sequentially set to the source address, destination address, and changed address of the master server-addressed change tape file 23 (step C5).
  • the table setting unit 11 sets the service identifier of the deleted entry to D12 and the server type to D12 as shown in FIG.
  • the stype and server address are set to D12—saddr (step D 1).
  • step D2 the table setting unit 11 terminates the processing without doing anything (Yes route in step D2), but the “server type” of the delete entry.
  • step D 3 search the destination server selection table 23 for an entry having the same service identifier (Dl2_sid) as the entry to be deleted (step D 3 from the No route of step D 2).
  • step D 4 Acquire “master address (S12_maddr) j” and “direct access address (S12_daddr) j in the entry (step D 4).
  • the table setting unit 11 searches the master server destination change table 23 for an entry in which the source address is D12_saddr, the destination address is S12—maddr, and the change address is S12_daddr, and deletes the entry. (Step D5).
  • the destination address of only the frame from the mirror server 2 to the master server 1 is converted to the “direct access address”.
  • the optimum destination determination unit 13 changes the input frame to the optimum destination when the input frame is destined for the service.
  • a set of an address (master), a port (master), an address (optimum), and a port (optimum) is registered as an entry.
  • Mirror server access address converter 1 The destination address and the destination port number of the input frame from step 2 are extracted, and each is regarded as an address (master) and a port (master). Searched in 24, if there is an entry, change the destination address and destination port number of the input frame to the contents of the address (optimum) and port (optimum) of the destination change table 24 and output. I do.
  • the method of retaining destination change information (where the frame came from and to which destination it changes) and the method of maintaining the communication (connection) persistence even after the destination change table changes. May be applied by a method realized by a known load distribution device.
  • the entry Z to the entry in the destination change table 24 by the table setting unit 11 is deleted as follows.
  • the table setting unit 11 sets the master address of the additional entry as shown in FIG.
  • the optimal address is A13—saddr, the number of ports (master) is Al3_port ;, port number :! ⁇ N (master) to A13—mpl ⁇ Al3_mpn, port number :! ⁇ N (optimal) as A13-spl ⁇ Al3-spn (Step E1), add one entry to the diversion tape notation 24 and make it the address (master) of the additional entry. hand 1 to A13 port), A13_saddr as address (optimum), and A13-spk as port (optimum). If the number of entry ports Al3_port added to the destination server selection table 22 is multiple (n), the above processing is performed for all ports in order, and n entries are added. (Step E 2).
  • the table setting section 11 first sets the master address of the deleted entry to D13—maddr, as shown in FIG.
  • the address is D13_saddr
  • the number of ports (master) is D13—port
  • the port numbers l to n (master) are D13—mpl to D13 mpn
  • the port numbers l to n (optimal) are D13—spl to D13—spn (step F l)
  • diversion A search is made for the entry 24, and the entry in the diversion table 24 having the same content is deleted (step F2).
  • the deletion process when there are a plurality of (n) ports in the deletion entry, the above processing is sequentially performed for all the ports, and the n entries are deleted.
  • the master server address conversion unit 14 has a function of changing the input frame to the master address when the input frame is the “direct access address” of the master server 1.
  • a recovery table 25 for the master server as shown in Fig. 4 is provided.
  • this master server recovery table 25 a pair of a direct access address and a change address is registered as an entry, and the master server address conversion unit 14 receives the address from the optimum destination determination unit 13.
  • the destination address of the input frame is extracted, and the contents are regarded as “address for direct access” in the recovery table 25 for the master server, and an entry having the same address is searched.
  • the destination address of the input frame is changed to the corresponding changed address in Table 25 and output.
  • a frame directly sent to the master server 1 (a frame having a direct access address) is changed to an actual frame addressed to the master server.
  • the addition / deletion of an entry to the master-to-server recovery table 25 is performed by the table setting unit 11 as follows. That is, when an entry is added to the registration service table 21, the table setting unit 11 sets the server type of the added entry to A14_stype and the server address as shown in FIG. Assuming that the address for direct access is A14_daddr (step Gl), first, check whether the server type of the additional entry is “mirror” (as a result, when the “server type” of the additional entry is S “mirror”) The table setting section 11 terminates the process without doing anything (Yes route in step G2), but when the “server type” of the additional entry is “master”, it is used for direct access in the additional entry.
  • the address (A14—daddr) and the server address (A14—saddr) are respectively assigned to the master server recovery table 25 for direct access address and change. Set as an address (step G3 from the No route of step G2).
  • the table setting unit 11 sets the “server type” of the deleted entry to D14—stype and the server address as shown in FIG.
  • D14_saddr and the address for direct access as D14_daddr step HI
  • the table setting unit 11 ends the processing without doing anything (Yes route in step H2), but the “server type” of the deleted entry is changed.
  • the “Type” is “Master”
  • entries with contents that match the direct access address (D14—daddr) and server address (D14—saddr) in the relevant deletion entry are stored in the master server recovery table 25. Then, the entry is deleted from the recovery table 25 for the master server (step H3 from the No. of step H2).
  • the routing processing unit 15 is for performing routing processing based on a predetermined routing table on the film after various changes are performed as described above, and a known router is realized. The same or similar processing as the routing processing is performed.
  • the address of master server 1 is a
  • the address for direct access is A
  • the address of mirror server 2 is b
  • master server 1 and mirror server 2 are service identifiers, respectively.
  • a service identified by a URL eg, "http://www.foo.bar/"
  • FIG. 24 the contents of the above-mentioned various tables 21, 22, 23, 24, 25 obtained from the master server 1 and the mirror server 2 in the routers 3 A, 3 B are also shown.
  • FIG. 24 the contents of the above-mentioned various tables 21, 22, 23, 24, 25 obtained from the master server 1 and the mirror server 2 in the routers 3 A, 3 B are also shown.
  • the terminal 5 accesses the above URL.
  • the destination is changed according to the destination change table 24.
  • the destination since the destination is converted to the same content, it is input to the master server address conversion unit 14 without being converted as a result. Will be done.
  • the master server address conversion unit 14 there is no hit entry in the master server address recovery table 25, and therefore no address conversion is performed. Therefore, in this case, the frame is relayed to address “a” (to master server 1).
  • the mirror server access address conversion unit 12 since there is a difference between the entry of the master server destination change table 23 and the transmission source address, no hit occurs, and no address conversion is performed.
  • the address conversion unit 14 for the master server since there is no corresponding entry in the recovery template 25 for the master server, the address conversion is not performed.
  • the destination address of the service access request is selectively changed based on the service information held by each router 3, so that the terminals 5 and 6 are able to change their location (address). Accordingly, it is possible to access the server 1 or 2 via the shortest route.
  • the frame is relayed to the router 3A by the routing process, and the destination change process is also performed in the router 3A.
  • the destination address becomes “a” at the router 3 A, and the frame is relayed to the master server 1.
  • the request for updating the service content from the mirror server 2 to the master server 1 reaches the master server 1 directly without selecting the optimum server as described above.
  • the information on the contents of the services provided by the servers 1 and 2 scattered on the network (BGP4), which is a routing protocol used between the routers 3 Service information), information on all services on the network can be shared across the entire network.
  • the router 3 automatically determines the type and location of various services provided on the network.
  • the terminal 5 and 6 can recognize the information and can route to the optimal destination without being aware of the information. Therefore, it is possible to efficiently distribute the load on a specific server (service) and suppress load concentration.
  • service information is added to the message of the routing protocol between the routers 3, so that the optimum destination is determined each time according to the operation status of the router 3, and the optimum destination is always determined. Can be relayed.
  • service information is sent and received between the servers 1 and 2 that provide the service and the router 3 by ASRP, even if a new server is added on the network, the router 3 must be set separately. There is no need to do this, and it can be automatically added as a target for optimal destination determination.
  • the router 3 can select the optimum destination individually for each service.
  • the URL is specified as above for http, and if the service “Web service” is the same but the content is different, the UHL is different. It is possible to recognize that even the contents of one service match, and it is possible to individually select destinations.
  • the servers 1 and 2 transmit a KEEPALIVE message at regular intervals, and the router 3 can determine the operation status of the server based on the KEEPALIVE message. It is possible to always recognize each service operation status and update the optimal route according to the change in service operation status.
  • Router 3 deletes the entry (service information) of the corresponding server from the registered service table 21. Therefore, if the service contents have not been updated for a certain period of time, even if the corresponding server is running the service, You will be off the list of relay destinations.
  • mirror server 2 that reflects the same service contents
  • master one server 1 the service is activated. Even if you do, the destination can be excluded from the target. Therefore, users (terminals 5 and 6) can always access the server that provides the latest service contents without being aware of it.
  • the information of the service content update processing target is notified to the router by ASRP for each of the servers 1 and 2, so that the router 3 can recognize the update processing target Z non-target for each of the servers 1 and 2. Therefore, even if the server whose service content has been updated has been delayed, it will not be deleted from the registered service if it is not subject to the service content update process, so relaying to the relevant server will be continued. Become. As a result, even if the server 2 recognizes that the service content of the mirror server 2 is older than that of the master server 1, the router 3 does not exclude it from the destination if the service has no problem in service provision. It becomes possible to select that.
  • a master expiration time is provided, and in the router 3, the service information is deleted from the destination server selection table 22 after a certain period of time after the operation of the master server 1 is stopped.
  • the master server 1 is stopped Accordingly, the relay to the mirror server 2 can be stopped.
  • the specific service provider master server 1
  • the other servers mirror server 2 that reflect the same service content Even if) is running, it is possible to make it appear that no service is provided by excluding all services of the mirror server 2 from the destination after a certain period of time.
  • the service contents of the servers 1 and 2 can be notified to the router 3, so that the service contents can be added or added.
  • the addition or deletion is recognized by the router 3 by ASRP, and that information is recognized by all networks by the attribute information added to the routing protocol. Therefore, even when a specific service content is added or deleted, the router 3 automatically recognizes the information and the optimal destination even if the user terminals 5 and 6 using the service do not recognize the state. Will be accessed.
  • the router 3 notifies the optimum destination determining unit 13 of the destination servers 1 and 2 and their ports, and the optimum destination and the corresponding port. Access to the server is relayed after being converted to the optimal destination. Therefore, the terminals 5 and 6 that use the service can receive the desired service without being aware of the service provider's location (address) or operation status.
  • the router 3 of the present embodiment uses the attribute information (direct access address) added to ASRP or BGP4 to convert the mirror server access
  • the address conversion unit 14 for the star server prevents communication from the mirror server 2 to the master server 1 from being subjected to the destination conversion by the optimum destination determination unit 13.
  • the server group (mirror server 2) that reflects the specific service content can reliably and accurately update the provided service content.
  • the present invention by transmitting information on the contents of services provided by a server using a routing protocol used between routing nodes on a network, Since information on all the above services can be automatically shared and updated throughout the network, service access can be performed without the user terminal being aware of the types and locations of various services provided on the network. It is possible to always perform the optimal destination healthing in the network. Therefore, it is possible to efficiently disperse the load on specific services and suppress load concentration, and consider a technology that is extremely useful in the network communication field.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

サーバ(1,2)で提供するサービス内容に関する情報(サービス情報)を、ルーティングノード(3)間の経路制御に用いられるルーティングプロトコルを用いて送受することにより、各ルーティングノード(3)において登録・更新し、ルーティングノード(3)が、それぞれ、自己の保有する該サービス情報に基づいてサービスアクセス要求の宛先情報を選択的に変更して最適な宛先へルーティングする。これにより、特定サービスへの負荷集中を効率良く分散させることが可能となる。

Description

明 細 書 ネットワークにおける特定サービスの最適ルーティング方法 並びに同ネットワークに用いられるサーバ及ぴルーティングノード 技術分野
本発明は、 ネットワークにおける特定サービスの最適ルーティング方法並びに 同ネットワークに用いられるサーバ及びルーティングノードに関し、 例えば、 特 定のサービスを提供しているサーバ (マスター) と、 それと同一のサービス内容 を反映し、別のサーバにて同一のサービス内容を提供しているサーバ群(ミラー) が存在する状況で、 それらの位置 (アドレス) や稼動状況を端末が意識すること なく、 端末から最適と思われるサーバに対してアクセスを行なうことができるよ うにするのに好適な技術に関する。 背景技術
現在、 インターネット等のネットワーク上には様々なサービスを提供するサー バが存在し、 アクセスが集中するサービスに対する方策として、 ネットワーク上 で物理的に離れた別のサーバが、 サービス内容だけを同一にして提供し、 ユーザ に自分で宛先を選んでァクセスしてもらう方法がある。 また、 特定サービスを提 供しているサーバに接続している負荷分散装置間で、 最適な宛先に転送する方法 める。
ここで、 前者の方法では、 ユーザは該当サービスがどこにあるのかを知ってい なければならない。 また、 サービスのリストを提供している場所もあるが、 どれ を選択するかはユーザ任せなので、 負荷が効率的に分散できないという課題があ る。 ま 、 サービスが一時的に停止してしまっているサーバがリスト中のどれな のかといつた情報も与えられないため、 アクセスしたがサービスを受けられない といった状況が発生するといつた課題もある。 さらに、 それら情報を端末から自 動的に認識させるには、 収集しなければならない情報が膨大となり、 事実上不可 能である。 これに対し、 後者の方法では、 負荷分散装置が、 自分の配下に接続しているサ ーバの内容を知らなければならないが、 サーバを追加しても負荷分散装置は自動 的には認識しないため、 それら情報を負荷分散装置に教えなければならない。 ま た、 負荷分散装置間がネットワーク上で離れた位置に存在する場合は、 ネットヮ ークの状況によって最適な宛先が異なる場合があるが、 負荷分散装置ではネット ワークの内部状況を把握していないため、 効果的な負荷分散が実現できていない 場合もある。
また他に、 従来技術として、 下記の特許文献 1や特許文献 2により提案されて いる技術がある。
特許文献 1に記載された技術は、 ルーティングプロトコルに帯域情報に関する 属性を新たに設け、 ルーティング情報と併せて他ネットワークから流入したトラ ヒックの帯域情報を自ネットワーク内の他ボーダルータに通知し自ネットワーク 内から流出するトラヒックの帯域情報を他ネットワークのボーダルータに通知す るというものである。 これにより、 特許文献 1の技術では、 少ない設備投資およ び改造により、 入力可能帯域情報を自動的に全ボ一ダルータに通知することがで きて、 ネットワーク管理者の手間を省くとともに、 人為的なミスを抑えることが 可能となる。
一方、 特許文献 2に記載された技術は、 分散型データベースの管理方法に関す るもので、 複数個のサーバを、 用途 (サービス) 別に分類 (グループ化) したサ ーバ情報管理テーブルに基づいてサーバを選択するが、 その際、 サーバ毎の負荷 テーブルを設けて、 最も負荷の低いサーバを選択したり、 複数のサーバの記憶媒 体 (ディスク, テープ等) の使用状況テーブルを設けて、 最も空き容量の多いサ ーバを選択したり、 用途別の情報検索キーと、 情報格納先のサーバ I Dを、 格納 先管理用のサーバに検索キー ·サーバ I Dテーブルとして登録しておき、 利用者 からの只 1回のサービス要求に基づいて、 サーバを意識することなく、 必要なサ 一ビスを利用できるようにしたものである。 特許文献 1
特開 2 0 0 2— 3 7 4 2 9 3号公報 特許文献 2
特開平 6— 2 5 9 3 0 8号公報 し力 しながら、 特許文献 1に記載の技術では、 ネットワークの帯域管理は行な えても、 アクセスが集中するサーバへのアクセスの宛先を変更して、 負荷を分散 させるという制御は行なえなレ、。
また、 特許文献 2に記載の技術では、 サーバの負荷や記憶容量の使用状況など に応じて最適なサーバを選択することができるが、 データベースのサーバとして 何があり、 どのサーバがどの情報をもっかを事前にサーバ情報管理テーブルにも つていなければならない。 即ち、 あくまで、 サーバ負荷や記憶容量の使用状況の みが更新対象である。
これは、 ネットワークの世界では前述した負荷分散装置で既に実現している方 法と同じである。 そのため、 前述したものと同様の課題がある。 また、 上記特許 文献 2には、 上記のサーバ情報管理テーブルをルータにもたせることも可能であ る旨が開示されているが、 単にルータにサーバ管理情報をもたせても、 ネットヮ ーク上のサーバ群の情報をネットワーク内で自動的に認識して共有 ·更新し、 当 該ネットワークで現在提供されているサービスの内容や稼動状況をユーザが意識 することなく、 ネットワーク独自に最適な宛先を選択することは不可能である。 本発明は、 以上のような課題に鑑み創案されたもので、 ネットワーク上のサー バ群の情報 (位置情報やサービス稼動状況等) をネットワーク内 (ルータ等) で 自動的に認識して共有 ·更新することを可能とし、 サーバ群それぞれの位置情報 やサービス稼動状況をユーザが意識することなく、 ネットワーク独自に最適な宛 先を選択できるようにして、 多数のユーザ端末からのアクセスを効果的に振り分 けられるようにすることを目的とする。 発明の開示
上記の目的を達成するために、 本発明のネットワークにおける特定サービスの 最適ルーティング方法は、 複数のサーバと、 該サーバに対するサービスアクセス 要求を当該サービスアクセス要求に付与されている宛先情報に従ってルーティン グする複数のルーティングノードとをそなえたネットワークにおいて、 該サーバ で提供するサービス内容に関する情報 (以下、 サービス情報という) を、 該 — ティングノード間の経路制御に用いられるルーティングプロトコルを用いて送受 することにより、 各ルーティングノードにおいて登録 ·更新し、 該ルーティング ノードが、 それぞれ、 自己の保有する該サービス情報に基づいて該サービスァク セス要求の宛先情報を選択的に変更して最適な宛先へ ^ /レーティングすることを特 徴としている。
ここで、 該サーバで提供するサービス種別を示すサービス識別子を含む該サー ビス情報を、 該ル一ティングプロトコルを用いて各ルーティングノードにおいて 登録 ·更新し、 該ルーティングノードが、 それぞれ、 該サービス識別子に基づレ、 て該サービス種別単位で該サービスァクセス要求のルーティングを行なってもよ レ、。
また、 該サービス識別子として、 URL (Uniform Resource Locater) を用いる こともできる。
さらに、 該サーバが、 自己のサービス稼動状況をサービス稼動状況通知メッセ ージにより自己が接続されているルーティングノードに通知し、 当該ルーティン グノードが、 該サービス稼動状況通知メッセージにより通知されたサービス稼動 状況に応じて自己が保有する該サービス情報を更新するとともに、 該サービス情 報の更新を該ル一ティングプロ 1、コルにより該ネットワーク内の各ルーティング ノードに伝達して反映させることもできる。
また、 該サーバが、 自己の提供する該サービス内容が更新される毎にサービス 更新メッセージを当該サーバが接続されているルーティングノードに送信し、 該 ルーティングノードが、 該サーバから該サービス更新メッセージを一定期間受信 しないときは該サービス内容についてのサービス情報の登録を削除するとともに、 当該サービス情報の削除を該ルーティングプロトコルにより該ネットワーク内の 各ルーティングノードに伝達して反映させることもできる。
さらに、 該ルーティングノードが、 該サービス更新メッセージを一定期間受信 しない場合でも非更新対象のサービス内容についてのサービス情報の登録は維持 することもできる。 さらに、 同一のサービス内容を提供する該サーバとしてマスターサーバとミラ 一サーバとが存在する場合において、 該マスターサーバが、 定期的に該サービス 稼動状況通知メッセージを自己が接続されているルーティングノードへ通知し、 該 Λ ^—ティングノードが、 該サービス稼動状況通知メッセージにより該マスター サーバが一定期間稼動停止していると判断すると、 該ミラーサーバについての該 サービス情報の登録を削除するとともに、 当該サービス情報の削除を該ルーティ ングプロトコルにより該ネットワーク内の各ルーティングノードに伝達して反映 させることもできる。
また、 該ルーティングノードが、 それぞれ、 他のルーティングノードから該ル 一ティングプロトコノレにより定期的に受信されるべき生死確認情報の受信を監視 することにより該他のルーティングノードの稼動状況を監視し、 該他のルーティ ングノードの稼動停止が確認されると、 自己が保有するサービス情報のうち当該 稼動停止した他のルーティングノ二ドについてのサービス情報を削除するととも に、 当該サービス情報の削除を該ルーティングプロトコルにより該ネットワーク 内の各ルーティングノードに伝達して反映させることもできる。
さらに、 同一のサービス内容を提供する該サーバとしてマスターサーバとミラ 一サーバとが存在する場合において、 該ミラーサーバが、 自己の提供するサービ ス内容の更新を行なうためのアクセス要求を該ミラーサーバと接続されているノレ 一ティングノードへ送信し、 該ルーティングノードは、 該アクセス要求の宛先情 報を該マスタ一サーバへの直接ァクセスを可能とする直接ァクセス用宛先情報に 変換して該アクセス要求データのルーティングを行なうこともできる。
また、 本発明のネットワークに用いられるサーバは、 複数のサーバと、 該サー バに対するサービスアクセス要求を当該サービスアクセス要求に付与されている 宛先情報に従つてルーティングする複数のルーティングノードとをそなえたネッ トワークに用いられるものであって、 自己が提供するサービス内容に関する情報 (サービス情報) を自己と接続されているルーテイングノードに通知するサービ ス通知手段と、 自己のサービス稼動状況を該ルーティングノードに通知するサー ビス稼動状況通知手段とをそなえたことを特徴としている。
ここで、 該サービス通知手段は、 該サービス内容に更新があると、 更新後の該 サービス内容に関する情報を該ルーティングノードへ通知するサービス更新通知 手段をそなえて構成されていてもよい。
また、 自己以外に自己と同一のサービス内容を提供するミラ一サーバが存在す る場合において、 該ミラーサーバが、 該ミラーサーバの提供するサービス内容の 更新を行なう際に自己への直接アクセスを可能とする直接アクセス用宛先情報を 自己に接続されているルーティングノードへ通知する直接アクセス用宛先情報通 知手段をそなえていてもよい。
さらに、 本発明のネットワークに用レ、られるルーテイングノードは、 複数のサ ーバと、 該サーバに対するサ一ビスアクセス要求を当該サービスァクセス要求に 付与されている宛先情報に従つてルーティングする複数のルーテイングノ一ドと をそなえたネットワークに用いられるものであって、 自己と接続されているサー バ又は他の —ティングノードから該サーバで提供するサービス内容に関する情 報 (サービス情報) を受信して、 該サービス情報の登録及び更新を管理するサー ビス情報管理手段と、 該サービス情報管理手段での該サービス情報の登録 ·更新 に伴って、 該サービス情報を該ルーティングノード間の経路制御に用いられるノレ 一ティングプロトコルを用いてさらに他のルーティングノードへ伝達するサービ ス情報伝達手段と、 該サービス情報管理手段の該サービス情報に基づいて該サー ビスァクセス要求の宛先情報を選択的に変更して最適な宛先ヘル一テイングする ルーティング制御手段とをそなえたことを特徴としている。
ここで、 該サービス情報管理手段は、 該サーバの提供するサービス種別を示す サービス識別子を含む該サービス情報を保持 ·管理するように構成されるととも に、 該ルーティング制御手段は、 該サービス識別子に基づいて該サービス種別単 位で該サービスアクセス要求のルーティングを行なうように構成されていてもよ レ、0
また、 該サービス情報管理手段は、 該サービス識別子として URLを保持 ·管 理するのが好ましい。
さらに、 該サービス情報管理手段は、 該サーバから通知される当該サーバのサ 一ビス稼動状況に応じて該サービス情報を更新する手段をそなえていてもよレ、。 また、 該サービス情報管理手段は、 該サーバから当該サーバの提供する該サー ビス内容が更新される毎に通知されるサービス更新メッセージを一定期間受信し ないときは当該サービス内容についてのサービス情報の登録を削除する手段をそ なえていてもよい。
さらに、 該サービス情報管理手段は、 該サービス更新メッセージを一定期間受 信しない場合でも非更新対象のサービス内容についてのサービス情報の登録は維 持する手段をそなえていてもよい。
また、 同一のサービス内容を提供する該サーバとしてマスターサーバとミラー サーバとが存在する場合において、 該サービス情報管理手段は、 該マスターサー バが定期的に発行するサ一ビス稼動状況通知メッセージにより該マスターサーバ が一定期間稼動停止しているか否かを判断する手段と、 該マスターサーバが稼動 停止していると判断すると、 該サービス情報管理手段における該ミラーサーバに ついての該サービス情報の登録を削除する手段とをそなえていてもよい。
さらに、 該サービス情報管理手段は、 他のルーティングノードから該ルーティ ングプロトコルにより定期的に受信されるべき生死確認情報の受信を監視するこ とにより該他のルーティングノードの稼動状況を監視する手段と、 該監視により 該他のルーテイングノードの稼動停止が確認されると、 該サービス情報管理手段 において自己が保有するサービス情報のうち当該稼動停止した他のルーティング ノードについてのサービス情報を削除する手段とをそなえていてもよい。
また、 同一のサービス内容を提供する該サーバとしてマスターサーバとミラー サーバとが存在する場合において、 該サービス情報管理手段は、 該マスターサー バへ該ミラーサーバが自己の提供するサービス内容の更新を行なう際に該マスタ 一サーバへの直接ァクセスを可能とする直接ァクセス用宛先情報を要求する手段 と、 該要求に対して該マスターサーバから受信される該直接ァクセス用宛先情報 を該サービス情報に含めて他のルーティングノードに伝達する手段とをそなえて いてもよい。
さらに、 該ルーティング制御手段は、 該ミラーサーバから受信されるアクセス 要求の宛先情報を該直接アクセス用宛先情報に変換する宛先変換手段をそなえて いてもよい。 図面の簡単な説明
図 1は本発明の一実施形態に係るネットワーク構成を示すプロック図である。 図 2は本実施形態で用いる ASRPバケツトのフォーマツト例を示す図である。 図 3は本実施形態で用いる ASRPの ADD_SERVICEメッセージのコマンドデ ータフォーマット例を示す図である。
図 4は本実施形態で用いる ASRPの SERVICE— DOWNメッセージのコマンド データフォーマツト例を示す図である。
図 5は本実施形態で用いる登録サービステーブルの一例を示す図である。
図 6は本実施形態で用いる BGP4の UPDATEメッセージのフォーマツト例を 示す図である。
図 7は図 6に示す UPDATEメッセージのパス属性フォーマット例を示す図で める。
図 8, 図 9及び図 1 0はそれぞれ図 7に示す UPDATEメッセージの追加属性 の属性タイプコード及ぴ属性値のフォ一マッ 1、例を示す図である。
図 1 1は本実施形態で用いる宛先サーバ選択テープルの一例を示す図である。 図 1 2は本実施形態で用いるマスタ一サーバ宛変更テーブルの一例を示す図で ある。
図 1 3は本実施形態で用いる宛先変更テーブルの一例を示す図である。
図 1 4は本実施形態で用いるマスタ一サーバ宛復旧テーブルの一例を示す図で ある。
図 1 5は本実施形態のルータにおけるサービス情報の追加, 更新処理を説明す るためのフローチヤ一トである。
図 1 6は本実施形態のルータにおけるサービス情報の削除処理を説明するため のフローチャートである。
図 1 7は本実施形態のルータの構成を示すブロック図である。
図 1 8は図 1 7に示 ^レータのサーバアクセス用アドレス変換部がもつマスタ 一サーバ宛変更テーブルの設定処理 (エントリ追加時) を説明するためのフロー チャートである。
• 図 1 9は図 1 7に示すルータのサーバアクセス用アドレス変換部がもつマスタ 一サーバ宛変更テーブルの設定処理 (エントリ削除時) を説明するためのフロー チヤ一トである。
図 2 0は図 1 7に示すルータの最適宛先決定部がもつ宛先変更テーブルの設定 処理 (エントリ追加時) を説明するためのフローチャートである。
図 2 1は図 1 7に示すルータの最適宛先決定部がもつ宛先変更テーブルの設定 処理 (エントリ削除時) を説明するためのフローチャートである。
図 2 2は図 1 7に示すルータのサーバ宛アドレス変換部がもつ宛先変更テープ ルの設定処理 (エントリ追加時) を説明するためのフローチャートである。
図 2 3は図 1 7に示すルータのサ一バ宛ァドレス変換部がもつ宛先変更テープ' ルの設定処理 (エントリ削除時) を説明するためのフローチャートである。
図 2 4は本実施形態のネットワークの動作を説明するための図である。 発明を実施するための最良の形態
図 1は本発明の一実施形態に係るネットワーク構成を示すプロック図で、 この 図 1に示すネットワークは、 複数のサーバ 1, 2と、 複数のルータ (ルーティン グノード) 3と、 複数のユーザ端末 (以下、 単に 「端末」 ともいう) 5 , 6とを そなえて構成されており、 この場合は、 サーバ 1及びユーザ端末 5がルータ 3 A に接続され、 サーバ 2及びユーザ端末 6がルータ 3 Bに接続されている。 なお、 以下において、 ルータ 3 A, 3 Bを区別しない場合は 「ルータ 3」 と表記する。 サーバ 1, 2は、 それぞれ、 ユーザ端末 (以下、 単に 「端末」 ともいう) 5 , 6に対して或る特定のサービスを提供するものであるが、 ここでは、 例えば、 サ ーバ 1をマスターサーバ、 サーバ 2をマスターサーバ 1が提供するサービスと同 一サービス内容を提供するミ -ラーサーバとする。 なお、 この図 1では、 サーバ, ルータ,ユーザ端末をそれぞれ 2台ずつしか図示していないが、これらの台数は、 勿論、 この図 1に示すものに限定されるものではない。
そして、 本実施形態では、 ルータ 3間で BGP4 (Border Gateway Protocol Version 4)等の所定のルーティングプロトコルに従って経路情報の送受等に用い られる制御メッセージに、 ネットワーク上で提供されているサービスに関する情 報 (どのサーバ 1, 2がどのようなサービスを提供しているか等の情報) も付加 するようになつている。
これにより、 ネットワーク全体が各種サービスの場所を認識することができる ようになるため、 ルータ 3において最適な宛先への中継 (ルーティング) を行な うことが可能となる。 また、 ルータ 3間の既存の制御メッセージに付加すること で、 ルータ 3の稼動状況も直接的もしくは間接的に認識でき、 それら情報によつ て最適な宛先を変更することも可能となる。
さらに、 サ一ビスを提供するサーバ 1 , 2が、 それぞれ、 自己の提供するサー ビスの種別や稼動状況を自己と接続されているルータ 3 A, 3 Bに伝え、 ルータ 3, 4がそれを認識することで、 サーバの追加等に対してもネットワーク上のノレ ータ 3 A, 3 Bは自動的に認識でき、 サーバの追加等の後においても最適な宛先 決定を行なうことが可能となる。 また、 ルータ 3 A, 3 Bは、 それぞれ、 自己と 接続されているサーバ 1 , 2についてのみ状態の監視を行ない、 他ルータ 3に接 続しているサーバについては、 ルータ 3間の制御メッセージに付加されたサービ ス情報から得ることで、 ネットワーク上の全サーバを単一の装置で認識 ·管理す る必要はなく、 サーバの認識処理に膨大な時間がかかることもない。
以下、このような本実施形態の最適ルーティング方式の詳細について説明する。 まず、 サーバ 1, 2が提供するサービス内容をルータ 3 A, 3 Bが認識するため の方式について述べ、 次に、 ルータ 3間で送受するルーティングプロトコルの付 加情報 (サービス内容の通知) の内容と、 それを送受する方式について述べる。
〔A〕 サーバによる提供サービス内容通知及び稼動状況通知方式
まず、 サーバ 1 (又は 2 ) と当該サーバ 1 (又は 2 ) に接続されているルータ 3 A , 3 Bとの間でやりとりするプロ トコル ASRP (Application Services Registration Protocol) を定義する。 登録したいサービスがあるサーバ 1 (又は 2 ) は、 現在の自己からネットワークに繋がるルータ (ASRPをサポートしてい るルータ) 3 A ( 3 B ) との間に TCP (Transmission Control Protocol) コネク シヨンを設定する。 なお、 ASRPの TCPポート番号は周知 (Well-Known) のポ ートでなければ何でもよいが、例えば、未使用 (unsigned) のポート番号 "4634" を使用する。
TCPコネクションを設定した後は、 サーバ 1 (又は 2 ) は、 ASRPで定義する コマンド (パケット) をルータ 3 A (又は 3 B ) に発行することでサービスの状 態や種別等を通知する。 ここで、 ASRPのコマンドパケットフォーマットは、 例 えば図 2に示すように定義する。 即ち、 本コマンドパケット 3 0は、 当該コマン ドの種類を表すコマンドフィールド 3 1 ( 2オクテット) と、 当該コマンドフィ ールド 3 1に続くデータ長を示す長さ (length) フィールド 3 2 ( 2ォクテツト) と、 コマンド種類に応じて必要なパラメータ等が格納された 「コマンドデータ」 フィールド 3 3 (可変長) とを有して構成される。
ここで、 コマンド (メッセージ) には、 以下の 7種類を定義する。
1 . ADD— SERVICE (command値: 1 )
自サーバ 1 , 2が提供するサービス内容を通知するためのコマンドである。 length値は可変であり、 コマンドデータ内容は図 3に示すように定義する。 この 図 3に示すように、 ADD—SERVICE コマンドの場合、 コマンドデータフィール ド 3 3には、 以下の各種パラメータが設定される。
(1)サービスタイプ (service type) ( 1ォクテツト)
サービスの種類を表す。 ビット 0のみ定義。 例えば、 ビット 0力 S " 0 " ならサ 一ビス内容更新処理対象外、 " 1 " ならサービス内容更新処理対象を表す。 なお、 サービス内容更新処理とは、 提供しているサービスの内容が更新された際、 その ことを通知する処理であり、 ルータ 3 A, 3 Bにおけるサービスの稼動判別に用 いら; る。
(2)サーバタイプ (server type) ( 1オタテツト)
例えば、 " 1 " で自サーバが該当サービスのマスターであることを示し、 " 2 " で自サーバがミラーであることを示す。
(3)サービス識別子長 (2オクテット)
次のサービス識別子の長さを格納する。
(4)サービス識別子 (可変長)
サーバ 1 ( 2 ) で行なっているサービスの種別を示す。 サーバ 1 , 2が提供し ているサービス内容が一意に認識できる値を格納する。 一例として、 WWWサー ノ であれは、 "httpV/www.foo.bar/" と! /、つ 7こ URL (Uniform Resource Locator) とする。 なお、 「サービスタイプ」 力 S 「ミラー」 であっても、 マスターサーバ 1で 提供している URLの内容を格納する。 これにより、 マスターサーバ 1のサービ スと同一であることが判別可能となる。
(5)ポート数 ( 2オクテット)
そのサービスの提供しているポート番号の数 (下記のポート 1〜ポート nの、 nの値) を格納する。
(6)ポート番号 l〜n (各 2オクテット)
そのサービスの提供しているポート番号を表す。一例として、 http (hyper text transfer protocol) であれば 80が格納される。 2 . KEEPALIVE (command値: 2 )
自サーバ 1 ( 2 ) が稼動していることを通知するためのメッセージである。 length値は 0とする (コマンドデータ内容はない)。
3 . SERVICE一 DOWN (command値: 3 )
自サーバ 1 ( 2 ) で提供している特定のサービスが何らかの原因でダウンした 際に、 それを通知するメッセージである。 length値は可変であり、 コマンドデー タの内容は例えば図 4に示すように定義する。 この図 4における各種パラメータ の内容は上記の ADD_SERVICEコマンドの場合と同一である。 4 . CLOSE— SERVER (command値: 4 )
サーバ 1 ( 2 ) 自体がシャッ トダゥン等でサービスの提供ができなくなる際に 通知するメッセージである。 length値は 0とする(コマンドデータ内容はない)。
5 . SERVICE— UPDATE (command値: 5 )
サービス内容更新処理対象のサービスに対してのみ通知が行なわれるメッセ一 ジである。 自サーバ 1 ( 2 ) で提供しているサービスの内容が更新された際に通 知を行なう。 length値は 0とする (コマンドデータ内容はない)。
6 . DERECT—ADDR— REQ (command値: 6 ) 本メッセージのみルータ 3 A (又は 3 B ) か.らサーバ 1 (又は 2 ) に対して送 信される。 マスターサーバ 1の直接アクセス用アドレス (後述) の要求メッセ一 ジである。 length値は 0とする (コマンドデータ内容はない)。
7 . DERECT_ADDE_RESP (command値: 7 )
上記 DERECT_ADDR— EQに対する応答であり、 自己がマスターサーバ 1で ある時は直接アクセス用ァドレろを返すメッセージである。 length値は直接ァク セス用アドレスの長さを格納し、 コマンドデータ内容は、 直接アクセス用ァドレ スの内容を格納する。 ここで、 上記の 「直接アクセス用ァドレス」 とは、 ミラーサーバ 2がマスター サーバ 1に対して直接アクセスを行なえるようにするためのダミーァドレスであ り、マスターサーバ 1を立ち上げる際に、サーバ 1側で少なくとも 1つ用意する。 この 「直接アクセス用アドレス」 は、 どのユーザ端末 5, 6でも使用していない アドレスである必要がある。 ちなみに、 直接アクセス用アドレスの指定において は、 マスターサーバ 1のァドレスにおけるサブネットと同一のサブネットをもた せるようにする。 これは、 マスタ一サーバ 1のアドレス宛と直接ァクセス用アド レス宛の双方が同一方向にル一ティングされるようにする必要があるからである。 つまり、 本実施形態のサーバ 1 , 2は、 少なくとも次のような機能を実装して いることになる。 ―
(1) ADD— SERVICE メッセージを生成して自己に接続されているルータ 3に発 行することにより、 自サーバ 1, 2で提供するサービス内容に関する情報を当該 ルータ 3に通知するサービス通知部としての機能
(2)上記の KEEPALIVE, SERVICE— DOWN, CLOSE— SERVERメッセージを 生成して同ルータ 3に発行することにより、 自サーバ 1 , 2のサービス稼動状況 をルータ 3に通知するサービス稼動状況通知部としての機能
(3)サービス内容に更新があると、 更新後のサービス内容に関する情報を SERVICE_UPDATE メッセージにより自サーバ 1 , 2に接続されているルータ 3に通知するサービス更新通知部としての機能 (4)自サーバ 1以外に自サーバ 1と同一のサービス内容を提供するミラーサー バ 2が存在する場合において、 ミラーサーバ 2力 当該ミラーサーバ 2で提供す るサービス内容の更新を行なう際に、 自サーバ 1への直接ァクセスを可能とする 直接アクセス用ァドレスを DERECTLADDR_RESP メッセージにより自サーバ 1に接続されているルータ 3に通知する直接アクセス用ァドレス通知部としての そして、 サーバ 1 ( 2 ) の ASRPによる動作 (TCPコネクションを設定した 後) は以下の通りとなる。
(1)まず、 自サーバ 1 ( 2 ) が提供しているサービス全てについて、 ADD— SERVICEパケットをルータ 3に送信する。
(2)その後は、 定期的に KEEPALIVEメッセージを送信する。
(3)自サーバ 1 ( 2 )において、あるサービスが停止したことを認識した場合は、 SERVICE_DOWNバケツトを送信する。
(4)自サーバ 1 ( 2 ) がシャットダウン等で停止することを認識した場合は、 CLOSE一 SERVERパケットを送信する。
(5)提供しているサービスがサービス内容更新処理の対象であり、 且つ、 該当サ 一ビスの内容を更新した際は、 SERVICEJJPDATEバケツトを送信する。
(6)ルータ 3側から DERECT一 ADDR_REQメッセージを受信し、且つ、 自サー バ 1 ( 2 ) が提供しているサービスにマスタ一サーバがあつた場合、 直接ァクセ ス用アドレスを DERECT一 ADDR—RESP メッセージに格納して、 ルータ 3に送 信する。
一方、 ルータ 3には、 例えば図 5に示すような登録サービステーブル 2 1を用 意する。 この図 5中に示す各パラメータは、 上述した ASRPの ADD— SERVICE パケッ ト中の内容と同一である。 ここで、 「サーバア ドレス」 とは、 ADD— SERVICEを受信したパケットの送信元アドレスである。 また、 「サービス 満了 (expire) 時間」 には、 サービス内容更新処理対象時、 サービス対象から外 れる時刻が格納される。 対象外のエントリに関しては、 本エリアには 0が格納さ れる。
次に、 以下のフラグを定義する。 (1)サービス内容更新処理フラグ
ユーザが設定可能な値。 サービス内容更新処理を行なう /行なわないの別を指 定'する (例えば、 行なう場合は " 1 "、 行なわない場合は " 0 " とする)。
(2)サービス内容満了 (expire) 時間
ユーザが設定可能な値。 サービス内容が更新されてからサービス内容が 「満了 (expire)」 と認識されるまでの時間を設定する。
そして、 ルータ 3は、 サーバ 1 ( 2 ) から ADD— SERVICEパケットを受信し た場合は、 登録サービステーブル 2 1にエントリを追加する。 ただし、 サービス 識別子とサーバァドレスの双方が一致するェントリがあった場合は、 その内容を 更新する。 ここで、 ADD_SEVICEパケット内のサービス内容更新処理ビットが " 1 "であり、且つ、サービス内容更新処理実行フラグが " 1 "であった場合は、 登録サービステーブル 2 1中の 「サービス満了時間」 に、 現在の時刻からサービ ス内容満了時間を加算した時刻を設定する。 それ以外の場合は 「サービス内容満 了時間」 を " 0 " に設定する。
次に、 ADD—SERVICEパケット中の 「サーバタイプ」 が 「マスター」 であつ た場合は、 送信元のサーバ 1 ( 2 ) に対して DmECT_ADD_REQメッセージを 送信 し、 当 該 DIRECT— ADDR—RESP メ ッ セ ー ジに対す る 返答 (DERECT_ADDR_RESPメッセージ) を待ち、 返答を受信したら、 当該受信メ ッセージ内に設定されている 「直接アクセス用アドレス」 を、 現在追加している 登録サ一ビステーブル 2 1 (図 5参照) 中のエントリにある 「直接アクセス用ァ ドレス」 フィーノレドに格内する。
その後、 ルータ 3 ( 4 ) は、 コネクションを設定したサーバ全てに対して、 KEEPALIVEパケットの到着チェックを行なう。 KEEPALIVEパケットが一定 時間受信できなくなった場合は、 そのサーバのァドレス値をサーバァドレス値に もつ、登録サービステーブル 2 1内の全エントリを削除する。なお、サーバ 1 ( 2 ) から CLOSE—SERVERパケットを受信した場合は、 KEEPALIVEパケットがー 定時間受信できなくつた場合と同一の処理を行なう。
また、 サーバ 1 ( 2 ) から SERVICE— DOWNパケットを受信した場合は、 当 該 SERVICE_DOWNパケット中の 「サービス識別子」 と同じ「サービス識別子」 をもち、且つ、 「サーバァドレス」が受信した SERVICE— DOWNパケットの送信 元ァドレスと同一である、 登録サービステーブル 2 1中のェントリを削除する。 なお、 サービス内容更新処理実行フラグが " 1 " の時は、.以下の処理を追加で 行なう。 即ち、 サーバ 1 ( 2 ) から SERVICE— UPDATEパケットを受信した場 合は、 当該 SERVICEJJPDATEパケット中の 「サービス識別子」 と同一の 「サ 一ビス識別子」 をもち、且つ、 「サーバアドレス」 が SERVICEJJEDATEバケツ 1、の送信元ァドレスと同一である、 登録サービステーブル 2 1中のェントリを検 索し、そのエントリ中にあるサービス expire時間を、現在の時刻からサービス内 容満了時間を加算した時刻に変更する。 そして、 登録サービステーブル 2 1の全 エントリを検索し、 サービス満了時間が設定されており、 且つ、 その時刻が現在 時刻よりも過去の時刻であるェントリを削除する。
以上により、 あるルータ 3に接続しているサーバ 1 ( 2 ) に関するサービス内 容は、ルータ 3の登録サービステーブル 2 1に全て登録されることになり、また、 サービスの稼動状況に応じてその内容が適宜更新されることになる。
〔B〕 ルータ間でのサービス情報のやりとり
次に、ルータ 3間でのサ一ビス情報のやりとりを行なう方式について説明する。 ルータ 3間では、 通常、 宛先決定 (経路制御) のためのルーティングプロトコ ルをやりとりしている。 本実施形態では、 インターネットでも使用されているル 一ティングプロトコノレである BGP4 (Border Gateway Protocol Version 4) をおム 張して、 上述した ASRPによって得られた各サーバ 1, 2のサービス情報を付カロ する。
即ち、 BGP4では、 ルータ 3間で通知するルーティング情報 (経路情報) の経 路毎に、その経路に対する特徴を表す「パス属性」を記述することができるため、 そのパス属性に ASRPで得られたサービス情報を追加記載することで、サービス 情報の交換を行なう。 これにより、 ネットワーク上の各ルータ 3にサーバ 1, 2 で提供するサービス情報が伝達されて各ルータ 3で共有されることになる。
図 6に、 BGP4で経路情報を通知する際に使用する更新 (UPDATE) メッセ一 ジのフォーマツト例を示す。この図 6に示すように、 UPDATEメッセージには、 利用不能経路長フィールド 4 1 ( 2オクテット), 取消経路フィールド 4 2 (可変 長), パス属性長フィールド 4 3 ( 2オクテット), パス属性フィールド 4 4 (可 変長) 及ぴネットワーク層到達可能性情報フィールド 4 5がある。
そして、 利用不能経路長フィールド 4 1には取消経路フィールド 4 2のフィー ルド長が格納され、 取消経路フィールド 4 2には利用不能となった経路情報が格 納され、 パス属性長フィールド 4 3にはパス属性フィールド 4 4のフィールド長 が格納され、 パス属性フィールド 4 4には経路の特徴を表す情報 (本実施形態で は、 当該フィールドにサービス情報を付加する) が格納され、 ネットワーク層到 達可能情報フィールド 4 5には、 利用可能な経路情報が格納されるようになって いる。
また、 図 7に、 この図 6におけるパス属性フィールド 4 4のフォーマット例を 示す。 この図 7に示すように、 パス属性フィールド 4 4は、 属性フラグフィール ド 4 4 1 ( 1オタテツト),属性タイプコードフィールド 4 4 2 ( 1オタテツト), 属性長フィールド 4 4 3 ( 1又は 2オクテット), 属性値フィールド 4 4 4 (可変 長) から成る。 なお、 この図 7において、 サービス情報の内容は、 属性値フィー ルド、 4 4 4にそれぞれ格納されることとなる (内容詳細は後述)。その他のフィー ルドは以下のように定義する。
(1)属性フラグフィ—ル K 4 4 1
ビット毎に意味がある。 それぞれの内容とサービス情報の属性を記述する際の 設定値は以下のように定義する。
(a)ビット 0 :ォプショナルビット
" 0 " は well-knownを示し、 BGP4をサポートする全ルータ 3が理解できな ければならない属性を示す。 " 1 "ならオプショナルを示し、全ルータ 3が知って いるとは限らない属十生を示す。サービス情報の内容は追加で定義するものなので、 本ビット " 1 " とする。
(b)ビット 1 :通過ビット
" 0 " は非通過を示し、 この属性をサポートしていないルータ 3において、 本 属性を削除することを示す。 " 1 "は通過を示し、この属性をサポートしていない ルータ 3は、 本属性を通過、 伝搬させることを示す。 サービス情報は、 全ルータ 3に渡らなければならないため、 本ビットは " 1 " とする。 (c)ビット 2 :通過ビット
ルータ 3が本属性を理解できずに通過させた時、 " 1 " を設定するビット。
(d)ビッ ト 3 (属性長フィールドの長さ) : " 0 " ならば、 「属性長」 フィーノレド が 1オクテット長であることを示す。 " 1 "ならば「属性長」 フィールドが 2オタ テツト長であることを示す。 本フィールドは属性の値の長さに応じて決定する。
(e)ビット 4〜7 (未使用) :常に " 0 " とする。
(2)属性タイプコードフィールド 4 4 2
属性の種別を示す。 BGP4では well-known, オプショナル双方で:!〜 1 0 , 1 4〜1 6が定義されている。 サービス情報の属性を記述するためには、 いくつ かの追加属性が必要であるが、 既に定義されている値以外で一意にタイプコード を設定する。 詳細については後述する。
ここで、 BGP4 の UPDATE メ ッセージで通知される経路情報は、 AS
(Autonomous System)単位で集約されたメッセ一ジが基本である。その集約さ れたネットワーク上には、 各種サービスを提供するサーバが複数あることも当然 考えられる。 集約経路毎に複数のサービスがある場合は、 その経路に対する UPDATEメッセージを複数回投げることで、 全てのサービス情報を通知する。 また、 ASRPによって登録サービステーブルが更新された時は、 必ずそのサー ビス更新内容を含んだ UPDATEメッセージをピアのルータ 3に通知する。 これ により、'ピアのルータ 3に当該サービス更新内容が反映されて、 ネットワーク上 の各ルータ 3が保有するサービス情報の更新 (同期) が可能となる。
次に、 或る 1つのサービス情報を通知する際に必要となる、 追加属性の属性タ ィプコード, 属性値を以下の表 1に示すように定義する。 ここで、 各属性におけ る属性タイプコード値を定義しているが、 定義した値はこの限りではなく、 全体 で一意に決定されていればよい。 表 1 :追加属性の属性タイプコード及び属性値
属性タイプ
属性名 属性値
コード
フォーマツトは図 8のよう
各フィールドの内容は以下のとおり。
•「サービス識別子長」→登録サービステ
APPJD
224
(サービス ID情報) 一ブル (図 5参照) の 「サービス識別子 長」 に相当。
•「サービス識別子」—登録サービステー ブルの 「サービス識別子」 に相当。
フォーマツ 1、は図 9のように定義。
各フィールドの内容は以下のとおり。
•「type」→ァドレスの種別及び更新内容 を示す。 以下の 2ビットが有効。
bit 0: " 0 " で該当サービスが更新 (update) されたことを示し、 " 1 " で 該当サービスが削除 (delete) されたこ とを示す。
bit 1: " 0 "でマスターサーバのァドレ
APP_ATTR_ADDR スであることを示し、 " 1 "でミラーサー
225
(サーバァドレス情報) バのァドレスであることを示す。
•「ァドレス長」 →次のァドレスフィーノレ ドの長さを示す。
•「ァドレス」→登録サービステーブルの サーバァドレスに相当。
•「直接アクセス用ァドレス長」—直接ァ クセス用ァドレスの長さを示す。
•「直接アクセス用ァドレス」→登録サー ビステーブルの 「直接アクセス用ァドレ ス」 に相当。
フォーマツトは図 1 0のよう
各フィールドの内容は以下のとおり。
APP_ATTR_PORT •「ポート数」→登録サービステーブルの (ポート情報) 226
「ポート数」 に相当
•「ポート l〜n」→登録サービステープ ルの 「ポート 1〜n」 に相当。 サービス情報を通知する際は、 上記 3種の属性を必ず設定し、 ピアのルータ 3 に通知する。 これによつて、 各サービス情報が、 本拡張を理解できる全ルータ 3 に対して認識されることになる。 CO サービス情報に基づくサービス毎の最適経路の決定 ·更新方式 次に、 上述したメッセージによって得られたサービス情報から、 ルータ 3にお いて、 サービス毎に最適経路を決定, 更新する方式について説明する。
ここで、 ル一タ 3に通知されてきた全サービス情報の最適経路情報を保持する ため、 ルータ 3には、 図 1 1に示すような宛先サーバ選択テーブル 2 2を用意す る。 ルータ 3に得られたサービス情報は、 全てこの宛先サーバ選択テーブル 2 2 にまとめられ、 この情報を基にサービスの負荷分散処理を行なう。 なお、 この宛 先サーバ選択テーブル 2 2の各フィールドの内容は以下の通りである。
(1)サービス識別子長 Zサービス識別子
登録サービステーブル 2 1 (図 5参照) の 「サービス識別子長」, 「サービス識 別子」 に相当する情報である。
(2)マスターァドレス:登録サービステーブル 2 1の 「サーバァドレス」 に相当 する情報である。
(3)直接アクセス用ァドレス
マスターサーバ 1に対する「直接アクセス用ァドレス」に相当する情報である。
(4)最適ァドレス
登録サービステーブル 2 1の 「サ一バァドレス」 に相当する情報である。 ただ し、 それぞれのサービスにおいて、 自ルータ 3における最適な宛先アドレスが指 定される。
(5)ポ一ト数 (マスタ一) Zポート数:!〜 n (マスター)
登録サービステーブル 2 1の「ポート数」, 「ポート番号 1」〜「ポート番号 n」 に相当する情報である。 ただし、 それぞれのサービスにおけるマスターサーバ 1 のポート情報が指定される。
(6)ポート数 (最適) /ポート数 l〜n (最適)
登録サービステーブル 2 1の 「ポート数」, 「ポート番号 1〜! 1」 に相当する情 報である。 ただし、 それぞれのサービスにおける最適な宛先アドレスにおけるポ ート情報が指定される。
(7)マスター満了 (expire) 時刻
サービスを提供するマスタ一サーバ 1が停止したことを認識した際の、 サービ ス満了 (expire) B寺刻が設定される。 マスターサーバ 1が停止していなければ本 領域は 0とする。 なお、 本領域の詳細については後述する。
そして、 各ルータ 3では、 ピアのルータから UPDATEメッセージが送信され た時、 もしくは、 自ルータ 3の登録サービステーブル內容が更新された時、 宛先 サーバ選択テーブル 2 2の内容を更新 (サービスを追加/更新) する。
即ち、 例えば図 1 5に示すように、 ルータ 3は、 登録サービステーブル 2 1の 内容に追加があった時、 もしくは、 ピアのルータ 3から UPDATEメッセージを 受信し、 その ΐの APP_ATTR— ADDR属性値の type情報が 「update」 であった 時 (これらの情報を、 以後、 更新データと称する)、 更新データのサービス識別子 が宛先サーバ選択テーブル 2 2に存在するかどうか検索する (ステップ A 1 )。 存在する場合 (ステップ A 1で Yesの場合) は、 一致したェントリ (宛先サー バ選択テーブル 2 2内のェントリ) を E_t とし (ステップ A 2 )、 当該エントリ E_t内の最適ァドレスと自ルータ 3との距離 (ホップ数:宛先までの距離) を、 ルーティングテ一ブルから獲得する (E_ho とする) (ステップ A 3 )。
そして、 上記の検索で該当した宛先サーバ選択テ一ブル 2 2のエントリ E— t内 のサーバアドレス (U_addr) と自ルータ 3との距離 (ホップ数) をルーティング テーブルから獲得し (U—hopとする) (ステップ A 4 )、 獲得した 2つのホップ数 EJiop, U_ho を比較する (ステツプ A 5 )。
その結果、 更新データのアドレスに対するホップ数 U—hop の方が小さければ (ステップ A 5で Yes の場合)、 該当する宛先サーバ選択テ一ブル 2 2のェント リ E_t内の最適アドレス, ポート数 (最適), ポート数 l〜n (最適) の情報を、 更新データに入っている情報〔最適ァドレス =U— addr,ポート数(最適) =U_port, ポート番号 l〜n =U_pl〜U_pn〕 に書き換える (ステップ A 6 )。 なお、 ホップ 数 EJiopの大きい場合 (ステップ A 5で Noの場合) は、 かかる書き換えは行な わずに既存の登録内容を維持する。
次に、 更新データにある 「サーバタイプ (server type)」 カ 「マスター」 であ るかをチェックし (ステップ A 7 )、 「マスター」 である場合は、 該当する宛先サ ーバ選択テーブル 2 2中のエントリ E—tにあるマスターアドレス, 直接アクセス 用アドレス, ポート数 (マスター), ポ"ト数 l〜n (マスター) の内容を、 更新 データの内容〔マスターァドレス =U_addr,直接アクセス用ァドレス ==U_daddr, ポート数 (マスター) =U_port, ポート番号 l〜n (マスター) =U— pl〜U— pn〕 にそれぞれ書き換える (ステップ A 8 )。 なお、 「サーバタイプ (server type)」 が 「マスター」 でない (「ミラー」) であった場合 (ステップ A 7で Noの場合) は、 力かる書き換えは行なわず、 既存の登録内容が維持される。
一方、 更新データの 「サービス識別子」 が宛先サーバ選択テーブル 2 2になか つた場合 (ステップ A 1で Noの場合) は、 BGPテ一ブル及び登録サ一ビステ一 ブノレ 2 1力、ら、 更新データに入っている 「サービス識別子」 と同一の 「サービス 識別子」 をもつエントリを全て検索し、 それらのエントリ中で、 「サーバタイプ」 が「マスター」であるエントリを検索する (ステップ A 9 , A 1 0 )。なお、 iBGP テーブル」 とは、 BGP4にてピアのルータ 3から受け取った経路情報 (表 1で追 加した属性内容も含む) を全て格納したテーブルである。
その結果、 該当するエントリがあれば (ステップ A 1 0で Yes であれば)、 宛 先サーバ選択テーブル 2 2のエントリを 1つ追加し、 サービス識別子長, サービ ス識別子, マスターアドレス, 直接アクセス用アドレス, ポート数 (マスター), ポート数 l〜n (マスター) の内容を検索したェントリの内容に設定する (ステ ップ A 1 D o 該当エントリがない場合 (ステップ A 1 0で Noの場合) は処理を 終了する。
その後、 ルータ 3は、 追加エントリのマスター満了時刻を " 0 " に設定し (ス テツプ A 1 2 )、検索した全ェントリのサーバァドレスにおいて、 自ルータ 3との 距離 (ホップ数) をルーティングテーブルから獲得する (ステップ A 1 3 )。 そし て、 獲得したホップ数の中で最小のエントリを検索し、 先ほど追加した宛先サー バ選択テーブル 2 2中のエントリ内にある最適アドレス, ポート数(最適), ポー ト数 l〜n (最適) の内容を、 ホップ数最小のエントリ内容に設定する (ステツ プ A 1 4 )。
これに対し、 登録サービステーブル 2 1の内容が削除された時、 もしくは、 ピ ァのルータ 3から更新 ( UPDATE ) メ ッセージを受信し、 その中の APP_ATTR—AJDDR属性値のタイプ情報が 「削除 (delete)」 であった時 (これら の情報を、 以後、 「削除データ」 と称する) は、 次のようなサービスの削除処理が 行なわれる。 なお、 削除されたサービスのサービス識別子, サーバアドレス, サ 一ビスタイプをそれぞれ D_sid, D_addr, D一 stypeとする。
即ち、 例えば図 1 6に示すように、 宛先サーバ選択テーブル 2 2のエントリを 検索して、 削除データのサービス識別子 (D_sid) に一致するエントリ (D_t) が 宛先サーバ選択テープノレ 2 2に存在するかどうかをチェックし (ステップ B 1 )、 なければ処理を終了し (ステップ B 1の Noルート)、 エントリ D_tがあれば(ス テツプ B 1の Yes ノレ一卜からステップ B 2 )、 削除データのサーバタイプが 「マ スター」 であるか否かをチェックする (ステップ B 3 )。
その結果、 削除データのサーバタイプが 「マスター」 である場合は、 宛先サー バ選択テーブル 2 2のェントリ D_tを削除した上で (ステップ B 3の Yesルート からステップ B 4 )、削除データが登録サ一ビステーブル 2 1の内容かどうかを確 認する (ステップ B 5 )。登録サービステーブル 2 1の内容でない場合は処理を終 了するが (ステップ B 5の Noルート)、登録サービステーブル 2 1の内容であつ た場合 (削除データがピアのルータ 3からの UPDATEメッセージであった場合) は、 該当サービスの再追加を行なう。
即ち、 BGPテーブル及び登録サービステーブル 2 1において、削除データのサ 一ビス識別子 D_sidと同じサービス識別子をもつェントリを全て検索し (ステツ プ B 5の Noルートからステップ B 6 )、 検索したェントリの中に、 「サーバタイ プ」 が 「マスター」 のエントリが存在するかをチェックする (ステップ B 7 )。 その結果、 「マスター」のェントリが存在しない場合は処理を終了するが (ステ ップ B 7の Noルート)、 存在する場合は、宛先サーバ選択テーブル 2 2にェント リを 1つ追加 (ェントリ A_tとする) し、 検索したマスターサーバのェントリ内 容 〔サービス識別子長, サービス識別子, マスターアドレス, 直接アクセス用ァ ドレス, ポート数 (マスター), ポート番号 l〜n (マスター)〕 を設定する (ス テツプ B 7の Yesノレートからステップ B 8 )。
そして、 現在の時刻からマスター満了時刻を足した時刻をエントリ A— t内のマ スター満了時刻に設定し(ステップ B 9 )、検索した全エントリのサーバァドレス において、 自ルータ 3との距離 (ホップ数) をルーティングテーブルから獲得し (ステップ B 1 0 )、獲得したホップ数が最小のェントリ内容 〔最適ァドレス, ポ ート数 (最適), ポート番号 l〜n (最適)〕 を、 エントリ A_tに設定する (ステ ップ B 1 1 )。
一方、 上記のステップ B 3において、 削除データのサーバタイプが 「マスター」 でなかった場合は、 サーバァドレス D— addrが、 エントリ D_t内の最適ァドレス と一致するか否かをチヱックし (ステップ B 3の Noルートからステップ B 1 2 )、 一致しなければ処理を終了するが (ステップ B 1 2の Noルート)、一致する場合 は以下の処理を行なう。
即ち、 BGPテーブル及ぴ登録サービステーブル 2 1において、削除データのサ 一ビス識別子 D_sidと同一のサービス識別子をもつェントリを全て検索し (ステ ップ B 1 2の Yesルー卜からステップ B 1 3 )、 検索した全ェントリのサーバァ ドレスに対し、 ルーティングテーブルからそれぞれ自ルータ 3との距離 (ホップ 数) を獲得し (ステップ B 1 4 )、獲得したホップ数の中で最小のェントリを検索 し、 エントリ D—t内の最適アドレス, ポート数 (最適), ポート数:!〜 n (最適) の内容を、 ホップ数最小のエントリ内容に変更する (ステップ B 1 5 )。
つまり、 上記の更新方式は、 ピアのルータ 3がダウンしたことを認識した際 (BGP4では、 ピアのルータ 3間で KEEPALIVE メッセージをやりとりするこ とで生死確認を行なっている。 KEEPALIVEメッセ一ジが受信されなくなったら ピアのルータ 3がダウンしたことを識別する)、 BPGテーブルから該当ルータ 3 からの情報を除外し、 除外した状態で、 再度、 ルーティングテーブルを構築する 力 その際、 削除された BGPテーブル中で、 APP_ATTR_ADDR属性をもつェ ントリが削除されたとみなし、 上記フローの削除処理を行なうのである。 これに より、 たとえルータ 3が停止 (ダウン) してしまった場合でも、 そのルータ 3が 停止した時のネットワーク状況 (ネットワークトポロジの変化) に応じて、 最適 な宛先を選択することが可能となる。
次に、 「マスター満了時刻」 に関する処理について記述する。 「マスター満了」 とは、 サービスのマスターサーバ 1がサービス停止 (満了) した時に、 ミラーサ ーバ 2も停止 (expire) させるための処理である。 マスターサーバ 1が一時的な 停止であった場合は、 ミラーサーバ 2で処理を継続させる必要があるが、 マスタ 一サーバ 1のサービスが長期にわたって停止したり、 恒久的にサービス停止をし たりした場合は、 ミラーサーバ 2に関してもサービスを停止させる必要性がある こと力 ら、 expire時刻を設けている。
即ち、 ルータ 3は、 マスターサーバ 1のサービスが停止してから、 マスタ一満 了までの時間を 「マスター満了時間」 としてもち、 以下の処理を行なう。 なお、 「マスター満了時間」 は、 ユーザから自由に設定できるようにする。
まず、 ルータ 3は、 宛先サーバ選択テーブル 2 2の全ェントリにおけるマスタ 一満了時刻をチェックし、 " 0 "でない場合、現在時刻とマスタ一満了時刻とを比 較し、 マスター満了時刻の方が古い時刻であった場合は、 該当ェントリを削除す る。 これにより、 マスター満了時間によるサービス停止処理が行なえることとな る。
〔D〕 ルータの実施例
次に、 上述した処理を実現するルータ 3の実施例を図 1 7に示す。 なお、 この 図 1 7には、 本実施形態の要部を示しており、 ルータ全体の構成を示してはいな レ、。 この図 1 7に示すように、 本実施形態のルータ 3は、 それぞれ、 パケット識 別部 1 0 , テーブル設定部 1 1 , ミラーサーバアクセス用ア ドレス変換部 1 2 , 最適宛先決定部(負荷分散処理部) 1 3, マスターサーバ宛ァドレス変換部 1 4, ルーティング処理部 1 5, ASRP処理部 1 6及び BGP4処理部 1 7等をそなえて 構成されている。 ただし、 ASRP処理部 1 6は、 少なくとも、 サーバ 1 , 2に接 続されているルータ 3 A, 3 Bに実装されていればよく、 他のルータ 3について は必ずしも必要ない。
ここで、 バケツト識別部 1 0は、受信パケットの種別〔ASRPバケツト, BGP4 の制御パケット (UPDATEメッセージ等), ユーザパケット (サービスアクセス 要求等)〕 を識別する機能を有するもので、 ASRPパケットは ASRP処理部 1 7 へ、 BGP4の制御バケツトは BGP4処理部 1 6へ、 サービスアクセス要求等のュ 一ザパケットは、 ミラーサーバアクセス用アドレス変換部 1 2へそれぞれ振り分 けられるようになつている。
BGP4処理部 1 6は、上述したルータ 3間の BGP4等のルーティングプロトコ ルによるメッセージの送受を処理するもので、 前述したように 「属性タイプコー ド」 を拡張したメッセージの送受を行なうようになっている。 また、 ASRP処理 部 1 7は、 自ルータ 3に接続されているサーバ 1, 2との間での前記 ASRPメッ セージの送受を処理するものである。
テーブル設定部 1 1は、 ASRP処理部 1 7及び BGP4処理部 1 6で得られるサ 一ビス情報を基に、 上述した登録サービステーブル 2 1, 宛先サーバ選択テープ ル 2 2, BGP4テーブルの内容、 および、 それぞれ後述するミラーサーバァクセ ス用アドレス変換部 1 2におけるマスターサーバ宛変更テーブ^^ 2 3 (図 1 2参 照), 最適宛先決定部 1 3における宛先変更テーブル 2 4 (図 1 3参照), マスタ 一サーバ宛ァドレス変換部 1 4におけるマスタ一サーバ復旧テーブル 2 5の内容 を設定'管理するもので、 登録サービステープノレ 2 1 , 宛先サーバ選択テーブル 2 2の更新に伴って、 ミラーサーバアクセス用アドレス変換部 1 2, 最適宛先決 定部 (負荷分散処理部) 1 3, マスターサーバ宛アドレス変換部 1 4に対する必 要なェントリ追加 削除の指令を発するようになっている。 なお、 上記の各種テ 一ブルは、 それぞれ、 RAM等の所要の記録媒体に記録される。
つまり、 上記のテーブル設定部 1 1 , BGP4処理部 1 6及び ASRP処理部 1 7 は、 自己と接続されているサーバ 1, 2又は他ルータ 3からサーバ 1, 2で提供 するサービス内容に関する情報を受信して、 当該サービス情報の登録及び更新を 管理するサービス情報管理部 1 8としての機能を果たしており、 BGP4処理部 1 6は、 このサービス情報管理部 1 8でのサービス情報の登録 ·更新に伴って、 サ 一ビス情報をルータ 3間の経路制御に用いられるルーテイングプロ トコルを用い てさらに他ルータ 3へ伝達するサービス情報伝達部としての機能を果たしている ことになる。
そして、 テーブル設定部 1 1は、 さらに、 次のような機能 (括弧書きで示す部 分により主としてその機能が実現されていることを示す) を有していることにな る。
(1)サーバ 1, 2の提供するサービス種別を示すサービス識別子(URL) を含む サービス情報を保持.管理する機能 (テーブル設定部 1 1 )
(2)サーバ 1, 2力、ら ASRPによる KEEPALIVEパケットゃ SERVICE—DOWN バケツト, CLOSE_SERVERバケツト等により通知される当該サーバのサービス 稼動状況に応じてサービス情報を更新する機能 (ASRP処理部 1 7 , テーブル設 定部 1 1 )
(3)サーバ 1 , 2から当該サーバ 1 , 2の提供するサービス内容が更新される毎 に通知される ASRPによる SERVICE_UPDATEパケット (サービス更新メッセ ージ) を一定期間受信しないときは当該サービス内容についてのサービス情報の 登録を削除する機能 (ASRP処理部 1 7 , テーブル設定部 1 1 )
(4) ASRPによる SERVICE—UPDATEパケットを一定期間受信しない場合でも 非更新対象のサービス内容についてのサービス情報の登録は維持する機能
(ASRP処理部 1 7 , テーブル設定部 1 1 )
(5)マスターサーバ 1が ASRPにより定期的に発行する KEEPALIVEパケット (サービス稼動状況通知メッセージ) によりマスターサーバ 1が一定期間稼動停 止しているか否かを判断する機能 (ASRP処理部 1 7 )
(6)当該機能によりマスターサーバ 1が稼動停止していると判断すると、テープ ル設定部 1 1におけるミラーサーバ 2についてのサービス情報の登録を削除する 機能 (テーブル設定部 1 1 )
(7)他ルータ 3から BGP4により定期的に受信されるべき EEPALIVEメッセ ージ (生死確認情報) の受信を監視することにより当該他ルータ 3の稼動状況を 監視する機能 (BGP4処理部 1 6 )
(8)当該 BGP4の KEEPALIVEメッセージの監視により他ルータ 3の稼動停止 が確認されると、 テーブル設定部 1 1において自己が保有するサービス情報のう ち当該稼動停止した他ルータ 3についてのサービス情報を削除する機能 (テープ ル設定部 1 1 )
(9)マスタ一サーバ 1へミラーサーバ 2が自己の提供するサービス内容の更新 を行なう際に該マスターサーバへの直接アクセスを可能とする直接アクセス用ァ ドレスを要求する機能 (ASRP処理部 1 7 )
(10)当該要求に対してマスターサーバ 1から受信される直接アクセス用ァドレ スをサービス情報に含めて他ルータ 3に伝達する機能 (BGP4処理部 1 6 ) 次に、 ミラーサーバアクセス用アドレス変換部 1 2 , 最適宛先決定部 1 3 , マ スターサーバ宛アドレス変換部 1 4及ひレーティング処理部 1 5は、 上述したサ 一ビス情報管理部 1 8でのサービス情報 (宛先サーバ選択テーブル 2 2 , 下記の マスターサーバ宛変更テーブル 2 3及び宛先変更テーブル 2 4 ) に基づいてサー ビスアクセス要求の宛先情報 ' (アドレス) をサービス内容 (サービス識別子) 単 位で選択的に変更して最適な宛先へルーティングするルーティング制御部 1 9と しての機能を実現するものである。
具体的には、 ミラーサーバアクセス用アドレス変換部 1 2は、 ミラーサーバ 2 がサービス内容の更新処理を行なう際、 マスターサーバ 1に対して行なう通信を 最適宛先の決定対象から除外する (マスターサーバ 1への直接アクセスを可能に する) ための機能を有するもので、 ここでは、 例えば図 1 2に示すようなマスタ 一サーバ宛変更テーブル 2 3を有している。
このマスターサーバ宛変更テーブル 2 3には、 送信元ァドレス, 送信先ァドレ ス及び変更ァドレスの組がェントリして登録されるようになつており、 本ァドレ ス変換部 1 2は、入力フレームの送信元ァドレスと送信先ァドレスとを取り出し、 当該テ一ブル 2 3の送信元ァドレス及び送信先ァドレスの双方が一致するェント リを検索し、 双方が一致するェントリが存在する場合に、 当該入力フレームの送 信先ァドレスを、そのェントリの変更ァドレス(具体的には、 「直接アクセス用ァ ドレス」) に変換するようになっている。
そして、 このマスタ一サーバ宛変更テーブル 2 3のエントリの追加/削除処理 は、 テーブル設定部 1 1により次のようにして行なわれる。 即ち、 登録サービス テーブル 2. 1にエントリが追加された場合は、 テーブル設定部 1 1は、 図 1 8に 示すように、 追加ェントリのサービス識別子を A12_sid、 サーバタイプを A12— stype、 サーバァドレス A12一 saddr として (ステップ C 1 )、 まず、 追加工 ントリの 「サーバタイプ (Al2_stype)」 が 「マスター」 であるか否かをチェック する (ステップ C 2 )。
「サーバタイプ」 が 「マスター」 である場合、 テーブル設定部 1 1は、 何もせ ずに処理を終了するが (ステップ C 2の Yesルート)、 「ミラー」 である場合は、 宛先サーバ選択テーブル 2 2から、 追加ェントリと同一のサービス識別子 A12— sidをもつエントリを検索し(ステップ C 2の Noルートからステップ C 3 )、 そのエントリ中の 「マスターアドレス (S12_maddr)」 と 「直接アクセス用アド レス (S12— daddr) J とを獲得する (ステップ C 4 )。 そして、 マスターサーバ宛変更テーブル 2 3にエントリを 1つ追カ卩し、 当該ェ ントリに、追加ェントリのサーバァドレス (A12一 saddr) , 獲得したマスターァド レス (S12— maddr), 獲得した直接アクセス用アドレス (S12_daddr) を、順に、 マスターサーバ宛変更テープノレ 2 3の送信元ァドレス, 送信先ァドレス, 変更ァ ドレスに設定する (ステップ C 5 )。
これに対し、 登録サービステーブル 2 1からエントリが削除された場合、 テー ブル設定部 1 1は、 図 1 9に示すように、 削除されたェントリのサービス識別子 を D12一 sid、 サーバタイプを D12一 stype、 サーバァドレスを D 12— saddrとして (ステップ D 1 )、 まず、 削除エントリの 「サーバタイプ」 が 「マスター」 である かどうかをチェックする (ステップ D 2 )。
その結果、 削除エントリの 「サーバタイプ」 が 「マスター」 であれば、 テープ ル設定部 1 1は、 何もせずに処理を終了するが (ステップ D 2の Yes ルート)、 削除エントリの 「サーバタイプ」 が 「ミラ一」 である場合、 宛先サーバ選択テー ブル 2 3から、 削除ェントリと同一のサービス識別子 (Dl2_sid) をもつェント リを検索し(ステツプ D 2の Noルートからステップ D 3 )、そのェントリ中の「マ スターァドレス (S12_maddr) j と 「直接アクセス用ァドレス (S12_daddr) j と を獲得する (ステップ D 4 )。
そして、テーブル設定部 1 1は、マスターサーバ宛変更テーブル 2 3において、 送信元ァドレスが D12_saddr、 送信先ァドレスが S12— maddr、 変更ァドレスが S12_daddrとなっているェントリを検索し、 そのェントリを削除する (ステップ D 5 )。
以上の処理によって、ミラーサーバ 2からマスターサーバ 1宛のフレームのみ、 宛先アドレスが 「直接アクセス用ァドレス」 に変換されることとなる。
次に、 最適宛先決定部 1 3は、 上述のサービス情報を基に、 入力フレームが該 当サービス宛であった場合、 最適な宛先に変更するためのもので、 このために、 例えば図 1 3に示すような宛先変更テーブル 2 4を有している。
この宛先変更テーブル 1 3には、 アドレス (マスター), ポート (マスター), 了ドレス (最適) およびポート (最適) の組がェントリとして登録されるように なっており、 最適宛先決定部 1 3は、 ミラーサーバアクセス用アドレス変換部 1 2からの入力フレームの送信先ァドレス及び送信先ポート番号を抽出し、 それぞ れをアドレス (マスター) 及ぴポート (マスター) とみなして、 同一内容をもつ エントリがあるかどうかをこの宛先変更テーブル 2 4において検索し、 エントリ があった場合は、 入力フレームの送信先ァドレス及び送信先ポート番号をそれぞ れ宛先変更テーブル 2 4のアドレス (最適) 及びポート (最適) の内容に変更し て出力する。
これにより、 マスタ一サーバ 1宛で、 かつ、 該当サ一ビスに対するアクセスに ついてのみ、 最適な宛先に変更されることとなる。 なお、 宛先の変更情報 (どこ からきたフレームは、 どの宛先に変更しているか) の保持や、 宛先変更テーブル が変化した後でも通信 (コネクション) の持続性 (persistent) を保つ方式に関 しては、 公知の負荷分散装置が実現している方式を適用すればよい。
具体的に、 テーブル設定部 1 1による上記宛先変更テーブル 2 4に対するェン トリの追加 Z削除は次のようにして行なわれる。
即ち、 宛先サーバ選択テーブル 2 2にェントリが追加された場合、 テーブル設 定部 1 1は、 図 2 0に示すように、 当該追加エントリのマスターア ドレスを
Figure imgf000031_0001
最適アドレスを A13— saddr、 ポート数 (マスター) を Al3_port;、 ポート番号:!〜 n (マスター) を A13— mpl〜Al3_mpn、 ポート番号:!〜 n (最 適) を A13— spl〜Al3— spnとして (ステップ E 1 )、 宛先変更テープノレ 2 4にェ ン ト リ を 1つ追加して、 当該追加エント リのア ドレス (マスター) と して
Figure imgf000031_0002
1〜A13一 port)、 アドレス (最適) として A13_saddr、 ポート (最適) として A13— spkをそれぞ れ設定する。 なお、 宛先サーバ選択テーブル 2 2に追加されたェントリのポート 数 Al3_portが複数 (n個) ある時は、 上記の処理が全てのポートについて順に 行なわれて、 n個のエントリが追加されることになる (ステップ E 2 )。
これに対し、 宛先サーバ選択テーブル 2 2からェントリが削除された場合、 テ ーブノレ設定部 1 1は、 図 2 1に示すように、 まず、 削除されたエントリのマスタ 一アドレスを D13— maddr、 最適アドレスを D13_saddr、 ポート数 (マスター) を D13— port、 ポート番号 l〜n (マスター) を D13— mpl〜D13一 mpn、 ポート 番号 l 〜n (最適) を D13— spl〜D13— spnとして (ステップ F l )、 宛先変更テ 一ブル 2 4を検索して、 同一内容をもつ宛先変更テープル 2 4中のェントリを削 除する (ステップ F 2 )。 なお、 削除処理の場合も、 削除エントリのポート数が複 数 (n個) ある時は、 上記の処理が全てのポートについて順に行なわれて、 n個 のエントリが削除されることになる。
次に、 マスターサーバ宛ァドレス変換部 1 4は、 入力フレームがマスターサー バ 1の 「直接アクセス用アドレス」 であった場合に、 マスターアドレスに変更す る機能を有するもので、 ここでは、 例えば図 1 4に示すようなマスターサーバ宛 復旧テーブル 2 5をそなえている。
このマスターサーバ宛復旧テーブル 2 5には、 直接アクセス用ァドレスと変更 ァドレスとの組がェントリとして登録されるようになっており、 マスターサーバ 宛ァドレス変換部 1 4は、 最適宛先決定部 1 3からの入力フレームの送信先ァド レスを抽出し、 その内容をマスターサーバ宛復旧テーブル 2 5中の 「直接ァクセ ス用ァドレス」 とみなし、 同一のァドレスをもつェントリを検索し、 エントリが 存在する場合は、 入力フレームの送信先ァドレスをテーブル 2 5中の対応する変 更ァドレスに変更して出力するようになっている。 これにより、 マスターサーバ 1宛に直接送るフレーム (直接アクセス用ァドレスをもっているフレーム) は、 実際のマスターサーバ宛フレームに変更されることとなる。
このマスタ一サーバ宛復旧テーブル 2 5に対するェントリの追加/削除は、 テ ーブノレ設定部 1 1によって次のようにして行なわれる。 即ち、 登録サービステー ブル 2 1にエントリが追加された場合、 テーブル設定部 1 1は、 図 2 2に示すよ うに、 追加されたエントリのサーバタイプを A14_stype、 サーバァドレスを
Figure imgf000032_0001
直接アクセス用アドレスを A14_daddrとして (ステップ G l )、 ま ず、 当該追加エントリのサーバタイプが 「ミラー」 かどうかをチェックする (ス その結果、 追加エントリの 「サーバタイプ」 力 S 「ミラー」 である時は、 テープ ル設定部 1 1は、 何もせずに処理を終了するが (ステップ G 2の Yesルート)、 追加エントリの 「サーバタイプ」 が 「マスター」 である時は、 追加エントリ中の 直接アクセス用アドレス (A14— daddr) 及ぴサーバァドレス (A14— saddr) を、 それぞれ、 マスターサーバ宛復旧テーブル 2 5の直接アクセス用アドレス及ぴ変 更ァドレスとして設定する (ステップ G 2の Noルートからステップ G 3 )。 これに対し、 登録サービステーブル 2 1力 らエントリが削除された場合、 テー ブル設定部 1 1は、 図 2 3に示すように、 削除されたェントリの 「サーバタイプ」 を D14— stype、 サーバア ドレスを D14_saddr、 直接アクセス用アドレスを D14_daddr として (ステップ H I )、 まず、 追加エントリの 「サーバタイプ」 が 「ミラー」 かどうかをチェックする (ステップ H 2 )。
その結果、 追加エントリの 「サーバタイプ」 が 「ミラー」 である時は、 テープ ル設定部 1 1は、 何もせずに処理を終了するが (ステップ H 2の Yes ルート)、 削除エントリの 「サーバタイプ」 が 「マスター」 である時は、 当該削除ェントリ 中の直接アクセス用アドレス (D14— daddr) 及びサーバアドレス (D14— saddr) とそれぞれ一致する内容をもつェントリをマスターサーバ宛復旧テーブル 2 5に おいて検索し、 そのェントリをマスターサーバ宛復旧テーブル 2 5から削除する (ステップ H 2の Noノレ一卜からステップ H 3 )。
なお、 ルーティング処理部 1 5は、 上述のようにして各種変更が行なわれた後 のフ I ムに対して所定のルーティングテーブルに基づくルーティング処理を行 なうためのもので、 公知のルータが実現しているルーティング処理と同一もしく は同様の処理を行なう。
〔E〕 最適宛先決定の動作例
以下、 上述したルータ 3の実装機能に基づく実際の動作 (最適宛先決定) 例に ついて図 2 4を参照しながら説明する。 なお、 この図 2 4において、 マスターサ ーバ 1のアドレスは a、 直接アクセス用アドレスは A、 ミラーサーバ 2のァドレ スは bとし、 マスターサーバ 1及びミラーサーバ 2は、 それぞれ、 サービス識別 子としての或る URL (例えば、 "http://www.foo.bar/") により特定されるサービ スを提供しているものとする。 また、 マスターサーバ 1ではポート番号 =80、 ミ ラーサーバ 2ではポート番号 =8080でそれぞれ同一サービスを提供している。さ らに、 この図 2 4では、 ルータ 3 A, 3 Bにおける、 マスターサーバ 1とミラー サーバ 2から得られた上記の各種テーブル 2 1, 2 2 , 2 3 , 2 4, 2 5の内容 も図示している。
さて、 この図 2 4において、 例えば、 端末 5から上記 URLにアクセスを行な う場合は、 端末 5 (ァドレスは c ) から送信元ァドレス = c , 送信先ァドレス = a , ポート番号 =80のフレーム (パケット) が送信される。 このパケットは、 ル ータ 3 Aに到着し、 ルータ 3 A内で宛先変更処理が行なわれる。
この場合、 ルータ 3 Aのマスターサーバ宛変更テーブル 2 3には、 送信元アド レス = c及び送信先ァドレス = aと一致するェントリが無いので、 ミラーサーバ アクセス用ァドレス変換部 1 2によるァドレス変換は行なわれず、 受信バケツト は最適宛先決定部 1 3に入力される。
最適宛先決定部 1 3では、 宛先変更テーブル 2 4により宛先が変更されるが、 この場合は、 同一内容に変換されるので、 結果として変換されずにマスターサー バ宛ァドレス変換部 1 4に入力されることになる。 そして、 マスターサーバ宛ァ ドレス変換部 1 4でも、 マスタ一サーバ宛復旧テーブル 2 5においてヒットする エントリが無いため、 アドレス変換は行なわれない。 よって、 この場合は、 その ままアドレス 「a」 宛 (マスターサーバ 1宛) にフレームが中継されることにな る。
一方、 端末 6から上記 URLにアクセスを行なう場合は、 端末 6から送信元ァ ドレス = c , 送信先アドレス = a、 ポート番号 =80のフレーム (パケッ ト) が送 信され、 当該バケツトがルータ 4に到着し、 ルータ 3 Bにおいて宛先変更処理が 行なわれる。
即ち、 まず、 ミラーサーバアクセス用ァドレス変換部 1 2では、 マスターサー バ宛先変更テーブル 2 3のエントリと送信元ァドレスが異なるためヒットせず、 アドレス変換は行なわれない。 次に、 最適宛先決定部 1 3では、 宛先変更テープ ル 2 4に、送信先ァドレス = a及びポート番号 =80をそれぞれ送信先ァドレス = b及びポート番号 =8080に変更するェントリが存在するので、送信先ァドレスを 「a」 から 「b」 に、 ポート番号を 「80」 から 「8080」 にそれぞれ変更する。 そして、 マスターサーバ宛ァドレス変換部 1 4では、 マスターサーバ宛復旧テ 一プル 2 5に該当ェントリが無いため、 了ドレス変換は行なわれない。 よって、 端末 6からのアクセスにおいては、 送信先ァドレス及びポート番号がそれぞれァ ドレス = b及びポート番号 =8080宛に変更されるので、ミラーサーバ 2に対して アクセスが行なわれることになる。 以上のようにして、 各ルータ 3が保有するサービス情報に基づいて選択的にサ 一ビスアクセス要求の宛先ァドレスが選択的に変更されることにより、 端末 5, 6は、 その場所 (アドレス) に応じて、 サーバ 1又は 2に最短経路でアクセスす ることが可能となる。
次に、 ミラーサーバ 2がマスターサーバ 1のウェブコンテンツを更新する際の 処理について説明する。
この場合は、 ミラーサーバ 2からマスタ一サーバ 1に対して、 上記 URLにァ クセスが行なわれる。 よって、 この場合は送信元アドレス = b , 送信先アドレス = a ,ポート番号 =80のフレーム(バケツト)がミラーサーバ 2から送信される。 このバケツトは、 ルータ 3 Bに到着し、 ルータ 3 Bにおいて宛先変更処理が行な われる。
即ち、 まず、 ミラーサーバアクセス用アドレス変換部 1 2では、 マスターサー バ変更テーブル 2 3に、 送信元アドレス = b, 送信先アドレス = aのフレームに ついては、 送信先アドレスを 「A」 に変更するエントリが存在しているため、 当 該受信フレームの送信先ァドレスを 「A」 に変更する。
次に、最適宛先決定部 1 3では、宛先変更テーブル 2 4に、宛先ァドレス = a , ポート番号 =80に対するァドレス Zポート番号変更ェントリが存在するが、上記 の変更によって宛先アドレスが 「A」 となっているため、 本エントリにはヒット しない。 そのため、 宛先変更テーブル 2 4によるアドレス変換は行なわれない。 最後に、 マスターサーバ宛アドレス変換部 1 4では、 マスタ一サーバ復旧テープ ノレ 2 5にヒットするェントリがないため、 ァドレス変換は行なわない。
さて、 このようにしてルータ 3 Bにて宛先ァドレスが「A」に変更されたので、 ルーティング処理によって、 当該フレームはルータ 3 Aに中継され、 ルータ 3 A においても宛先変更処理が行なわれる。
まず、 ミラーサーバアクセス用アドレス変換部 1 2では、 マスターサーバ宛変 更テーブ^^ 2 3にヒットするエントリが無いため、アドレス変換は行なわれなレ、。 次に、 最適宛先決定部 1 3においても、 宛先変更テーブル 2 4にヒットするェン トリが無いため、 アドレス変換は行なわれない。 最後に、 マスターサーバ宛アド レス変換部 1 4では、 マスターサーバ宛復旧テーブル2 5に、 送信先ァドレス A W をァドレス = aに変更するェントリが存在するため、 当該フレームの送信先ァド レスを 「a」 に変更する。
以上により、 ルータ 3 Aにて宛先アドレスが 「a」 となり、 それによつてマス ターサーバ 1にフレームが中継されることになる。 このようにして、 ミラーサー バ 2からマスターサーバ 1へのサービス内容更新に対する要求は、 上記のような 最適サーバの選択を行なわずに、 直接、 マスターサーバ 1へ届くことになる。
〔F〕 本実施形態の効果ないし利点
以上のように、 本実施形態によれば、 ルータ 3間で用いられるルーティングプ 口 トコルである BGP4のメッセージに、 ネットワーク上に散在するサーバ 1 , 2 で提供してレ、るサービスの内容に関する情報(サービス情報)を追加することで、 ネットワーク上の全サービスに対する情報をネットワーク全体で共有することが 可能となっているため、 ネットワーク上で提供されている各種サービスの種別及 び場所をルータ 3が自動認識することができ、 端末 5, 6がその情報を意識する ことなく、 最適な宛先へのルーティングが可能となる。 したがって、 特定のサー バ (サービス) への負荷を効率良く分散させて負荷集中を抑制することが可能と なる。
また、 本実施形態では、 ルータ 3間のルーティングプロ トコルのメッセージに サ一ビス情報を付加しているので、 ルータ 3の稼動状況に応じて最適な宛先をそ の都度決定し、 常に最適な宛先への中継が行なえることとなる。 また、 サービス を提供しているサーバ 1, 2とルータ 3との間でも ASRPによりサービス情報の 送受を行なうので、 ネットワーク上にサーバを新たに増設する場合でも、 ルータ 3に対して別途設定を行なうこと必要はなく、 自動的に最適宛先決定の対象とし て追加することが可能である。
さらに、 ASRPや BGP4に追カ卩したサービス情報にサ一ビス識別子を含めてい るので、 ルータでは、 各種サーバ 1 , 2がどのようなサービスを行なっているか が認識可能となる。 その結果、 ルータ 3は、 サービス毎に個別の最適宛先選択を 行なうことが可能である。 そして、 サービス識別子の内容の一例として、 httpの 場合は上記のように URLを指定することにより、 「ウェブサービス」 というサー ビスは同一でもコンテンツが異なる場合は UHLが異なるため、 ルータ 3は、 サ 一ビス内容まで一致していることを認識することが可能となり、 それぞれ個別に 宛先選択を行なうことが可能である。
また、本実施形態の ASRPにおいて、サーバ 1, 2は一定周期で KEEPALIVE メッセージを送信し、 ルータ 3は、 それによつてサーバの稼動状況を判別できる ようになっているので、 サービスを提供するサーバ群それぞれのサービス稼動状 況を常に認識して、 サービス稼動状況の変更に応じて最適経路の更新が可能であ る。
さらに、本実施形態の ASRPに或るサービス内容更新処理対象の情報が処理対 象であった場合、 及び、 ルータ 3に設定された一定期間の間サービス内容更新の 通知を受信しなかった場合、 ルータ 3では、 登録サービステーブル 2 1から該当 'サーバのエントリ (サービス情報) を削除するので、 一定期間サービス内容の更 新を行なっていなかった場合は、 該当サーバがサービスを稼動していても、 中継 先のリストから外れることとなる。
つまり、 特定サービスの提供元 (マスタ一サーバ 1 ) のもつ情報に対して、 同 一のサービス内容を反映している他のサーバ群 (ミラーサーバ 2 ) の情報が古い と認識した場合、 サービス稼動していても、 その宛先を対象から外すことが可能 になる。 したがって、 ユーザ (端末 5, 6 ) は、 常に、 最新のサービス内容を提 供しているサーバに意識することなくアクセスすることが可能となる。
また、 サービス內容更新処理対象の情報は、 サーバ 1 , 2毎に ASRPによって ルータに通知されるため、 ルータ 3は、 サーバ 1 , 2毎に更新処理対象 Z非対象 を認識することができる。 したがって、 たとえサービス内容の更新が滞っている サーバであっても、 サービス内容更新処理対象外であれば、 登録サービスから削 除されることはないので、 該当サーバへの中継が継続されることになる。 これに より、 ミラーサーバ 2のサービス内容がマスターサーバ 1のものに比べて古いと 認識した場合でも、 ルータ 3は、 サービス提供に問題のないサービスである場合 は、 宛先対象から除外しないようにすることを選択可能となる。
さらに、 本実施形態では、 マスター満了 (expire) 時間を設け、 ルータ 3にお いて、 マスターサーバ 1が稼動停止してから一定時間後に、 宛先サーバ選択テー ブル 2 2から該当サービス情報を削除するので、 マスターサーバ 1の停止状況に 応じてミラーサーバ 2への中継も停止することが可能となる。 つまり、 特定サー ビスの提供元 (マスターサーバ 1 ) が稼動しておらず、 かつ、 その状況が一定時 間続いた場合は、 同一のサービス内容を反映している他のサーバ群 (ミラーサー パ 2 ) がたとえ稼動していても、 一定時間後にはミラーサーバ 2のサービス全て を宛先対象から除外することで、 サービスを提供していないように見せることが 可能になるのである。
また、 本実施形態の ASRPを、 ネットワーク上のサーバ 1, 2にそれぞれ実装 することで、 当該サーバ 1, 2のサ一ビス内容をルータ 3に通知することができ るため、サービス内容を追加又は削除した場合は ASRPによって当該追加又は削 除がルータ 3の認識するところとなり、 その情報はルーティングプロトコルに付 加された属性情報によって全ネットワークが認識することとなる。 したがって、 特定のサービス内容が追加又は削除された場合でも、 ルータ 3は、 その情報を自 動的に認識し、 サービスを利用するユーザ端末 5 , 6がその状態を認識しなくて も最適の宛先に対してアクセスが行なわれることになる。
さらに、 本実施形態では、 ルータ 3において、 宛先のサーバ 1 , 2とそのポー ト、 それに対する最適な宛先とそのポートを最適宛先決定部 1 3に通知している ため、 端末 5, 6からのサーバに対するアクセスが、 最適な宛先に変換された上 で中継される。 したがって、 サ一ビスを利用する端末 5, 6は、 そのサ一ビスの 提供元の場所 (アドレス) や稼動状況を意識することなく所望のサービスを受け ることができる。
また、 本実施形態では、 ピアのルータ 3が停止した時 (BGP4の KEEPALIVE メッセージが途絶えた時) は、 そのピアのルータ 3が送信していた (保有してい た) 全てのサービス情報に対して削除処理を行なうので、 ルータ 3が停止して最 適な宛先が変化した場合でも、 それに対応した宛先を再決定することが可能であ る。 したがって、 ネットワーク上のルータ 3の稼動状況によってネットワークト ポロジが変化しても、 その変化した後の状態に応じて最適な宛先を選択すること が可能である。
さらに、 本実施形態のルータ 3では、 ASRPや BGP4に追加した属性情報 (直 接アクセス用アドレス) から、 ミラーサーバアクセス用アドレス変換部 1 2やマ スターサーバ宛ァドレス変換部 1 4によって、 ミラーサーバ 2からマスターサー バ 1宛となる通信に対しては、 最適宛先決定部 1 3での宛先変換対象とならない ようにしているため、 ミラ一サーバ 2がマスタ一サーバ 1に対してアクセスを行 なう際は、 最適宛先経路の選択は行なわずに、 必ずマスターサーバ 1宛へ通信が 行なわれることとなる。 したがって、 特定サービス内容を反映しているサーバ群 (ミラーサーバ 2 ) は、 提供しているサービス内容の更新を確実かつ正確に行な えることになる。 産業上の利用可能性
以上のように、 本発明によれば、 ネットワーク上のルーティングノード間で用 レ、られるルーティングプ口トコルを用いてサーバで提供してレ、るサ一ビスの内容 に関する情報を伝達することで、 ネットワーク上の全サービスに関する情報をネ ットワーク全体で自動的に共有 ·更新することが可能となるため、 ネットワーク 上で提供されている各種サービスの種別及び場所等をユーザ端末が意識すること なく、 サービスアクセスをネットワーク内で常に最適な宛先ヘル一ティングする ことが可能となる。 したがって、 特定サービスへの負荷を効率良く分散させて負 荷集中を抑制することができ、 ネットワーク通信分野において極めて有用な技術 を考えられる。

Claims

請 求 の 範 囲
1 . 複数のサーバと、 該サーバに対するサービスアクセス要求を当該サービス アクセス要求に付与されている宛先情報に従ってルーティングする複数のルーテ ィングノードとをそなえたネットワークにおいて、
該サーバで提供するサービス内容に関する情報 (以下、 サービス情報という) を、 該ルーテイングノード間の経路制御に用いられるルーティングプ口トコルを 用いて送受することにより、 各ルーティングノードにおいて登録 ·更新し、 該ルーティングノードが、 それぞれ、 自己の保有する該サービス情報に基づい て該サービス了クセス要求の宛先情報を選択的に変更して最適な宛先へルーティ ングすることを特徴とする、 ネットワークにおける特定サービスの最適ルーティ ング方法。
2 . 該サーバで提供するサービス種別を示すサービス識別子を含む該サービス 情報を、 該ルーティングプロトコルを用いて各ルーティングノードにおいて登 録,更新し、
該ルーティングノードが、 それぞれ、 該サ一ビス識別子に基づレ、て該サービス 種別単位で該サービスァクセス要求のルーティングを行なうことを特徴とする、 請求の範囲第 1項に記載のネットワークにおける特定サービスの最適ルーティン グ方法。
3 . 該サービス識別子として、 URL (Uniform Resource Locater) を用いるこ とを特徴とする、 請求の範囲第 2項に記載のネットワークにおける特定サービス の最適ルーティング方法。
4 . 該サーバが、 自己のサービス稼動状況をサービス稼動状況通知メッセージ により自己が接続されているルーティングノードに通知し、
当該ルーテイングノードが、 該サービス稼動状況通知メッセージにより通知さ れたサービス稼動状況に応じて自己が保有する該サービス情報を更新するととも に、 該サービス情報の更新を該ルーティングプロトコルにより該ネットワーク内 の各ルーティングノードに伝達して反映させることを特徴とする、 請求の範囲第
1項に記載のネットワークにおける特定サ一ビスの最適ルーティング方法。
5 . 該サーバが、 自己の提供する該サービス内容が更新される毎にサービス更 新メッセージを当該サーバが接続されているルーティングノードに送信し、 該ルーティングノードが、 該サーバから該サービス更新メッセージを一定期間 受信しないときは該サービス内容についてのサービス情報の登録を削除するとと もに、 当該サービス情報の削除を該ルーティングプロトコルにより該ネットヮー ク内の各ル一ティングノードに伝達して反映させることを特徴とする、 請求の範 囲第 1項に記載のネットワークにおける特定サービスの最適ルーティング方法。
6 . 該ルーティングノ一ドが、 該サービス更新メッセージを一定期間受信しな い場合でも非更新対象のサービス内容についてのサービス情報の登録は維持する ことを特徴とする、 請求の範囲第 5項に記載のネットワークにおける特定サービ スの最適 ·レーティング方法。
7 . 同一のサービス内容を提供する該サーバとしてマスターサーバとミラーサ ーバとが存在する場合において、
該マスターサーバが、 定期的に該サービス稼動状況通知メッセージを自己が接 続されているルーティングノ一ドへ通知し、
該ルーティングノ一ドが、 該サービス稼動状況通知メッセージにより該マスタ 一サーバが一定期間稼動停止していると判断すると、 該ミラーサーバについての 該サービス情報の登録を削除するとともに、 当該サービス情報の削除を該ルーテ イングプロトコルにより該ネットワーク内の各ルーティングノードに伝達して反 映させることを特徴とする、 請求の範囲第 4項に記載のネットワークにおける特 定サービスの最適^/一ティング方法。
8 . 該ルーティングノードが、 それぞれ、 他のルーティングノードから該ルー '口トコルにより定期的に受信されるべき生死確認情報の受信を監視す ることにより該他のルーテイングノードの稼動状況を監視し、 該他のルーティン グノードの稼動停止が確認されると、 自己が保有するサービス情報のうち当該稼 動停止した他のルーティングノードについてのサービス情報を削除するとともに、 当該サービス情報の削除を該ルーティングプロトコルにより該ネットワーク内の 各ルーティングノードに伝達して反映させることを特徴とする、 請求の範囲第 1 項に記載のネットワークにおける特定サービスの最適■;レーティング方法。
9 . 同一のサービス内容を提供する該サーバとしてマスタ一サーバとミラーサ ーバとが存在する場合において、
該ミラーサーバが、 自己の提供するサービス内容の更新を行なうためのァクセ ス要求を該ミラーサーバと接続されているルーティングノードへ送信し、
該ルーティングノードは、 該ァクセス要求の宛先情報を該マスタ一サーバへの 直接ァクセスを可能とする直接ァクセス用宛先情報に変換して該ァクセス要求デ ータのルーティングを行なうことを特徴とする、 請求の範囲第 1項に記載のネッ トワークにおける特定サービスの最適ルーティング方法。
1 0 . 複数のサーバと、 該サーバに対するサービスアクセス要求を当該サービ スアクセス要求に付与されている宛先情報に従ってルーティングする複数のルー ティングノードとをそなえたネットワークに用いられる該サーバであって、 自己が提供するサービス内容に関する情報 (以下、 サービス情報という) を自 己と接続されているルーティングノードに通知するサービス通知手段と、
自己のサービス稼動状況を該ルーティングノードに通知するサービス稼動状況 通知手段とをそなえたことを特徴とする、 ネットワークに用いられるサーバ。
1 1 . 該サ一ビス通知手段が、
該サービス内容に更新があると、 更新後の該サービス内容に関する情報を該ル 一ティングノードへ通知するサービス更新通知手段をそなえて構成されたことを 特徴とする、 請求の範囲第 1 0項に記載のネットワークに用いられるサーバ。
1 2. 自己以外に自己と同一のサービス内容を提供するミラーサーバが存在す る場合において、 該ミラーサーバが、 該ミラーサーバの提供するサービス内容の 更新を行なう際に自己への直接アクセスを可能とする直接アクセス用宛先情報を 自己に接続されているルーティングノードへ通知する直接アクセス用宛先情報通 知手段をそなえたことを特徴とする、 請求の範囲第 1 0項又は第 1 1項に記載の ネットワークに用いられるサーバ。
1 3 . 複数のサーバと、 該サーバに対するサービスアクセス要求を当該サービ スアクセス要求に付与されてレ、る宛先情報に従つてルーティングする複数のルー ティングノードとをそなえたネットワークに用いられる該ルーティングノードで feつて、
自己と接続されているサーバ又は他のルーティングノードから該サーバで提供 するサービス内容に関する情報 (以下、 サービス情報という) を受信して、 該サ 一ビス情報の登録及び更新を管理するサービス情報管理手段と、
該サービス情報管理手段での該サービス情報の登録 ·更新に伴って、 該サービ ス情報を該ルーテイングノード間の経路制御に用いられるルーティングプロ トコ ルを用いてさらに他のルーティングノードへ伝達するサ一ビス情報伝達手段と、 該サービス情報管理手段の該サービス情報に基づいて該サービスアクセス要求 の宛先情報を選択的に変更して最適な宛先へルーティングするルーティング制御 手段とをそなえたことを特徴とする、 ネットワークに用いられるルーティングノ ード。
1 4 . 該サービス情報管理手段が、 該サーバの提供するサービス種別を示すサ 一ビス識別子を含む該サービス情報を保持'管理するように構成されるとともに、 該ルーティング制御手段が、 該サービス識別子に基づいて該サービス種別単位 で該サービスアクセス要求のルーティングを行なうように構成されたことを特徴 とする、 請求の範囲第 1 3項に記載のネットワークに用いられるルー
ード。
1 5 . 該サービス情報管理手段が、 該サービス識別子として URL (Uniform Resource Locater) を保持 ·管理することを特徴とする、 請求の範囲第 1 4項に 記載のネットワークに用いられるルーティングノード。
1 6 . 該サービス情報管理手段が、
該サーバから通知される当該サーバのサービス稼動状況に応じて該サービス情 報を更新する手段をそなえたことを特徴とする、 請求の範囲第 1 3項に記載のネ ットワークに用いられるル一ティングノード。
1 7 . 該サービス情報管理手段が、
該サーバから当該サーバの提供する該サービス内容が更新される毎に通知され るサービス更新メッセージを一定期間受信しないときは当該サービス内容につい てのサービス情報の登録を削除する手段をそなえたことを特徴とする、 請求の範 囲第 1 3項に記載のネットワークに用いられるルーティングノード。
1 8 . 該サービス情報管理手段が、
該サービス更新メッセージを一定期間受信しなレ、場合でも非更新対象のサービ ス内容についてのサービス情報の登録は維持する手段をそなえたことを特徴とす る、請求の範囲第 1 7項に記載のネットワークに用いられるルーティングノード。
1 9 . 同一のサービス内容を提供する該サーバとしてマスターサーバとミラー サーバとが存在する場合において、
該サービス情報管理手段が、
該マスターサーバが定期的に発行するサービス稼動状況通知メッセージにより 該マスターサーバが一定期間稼動停止しているか否かを判断する手段と、 該マスターサーバが稼動停止していると判断すると、 該サービス情報管理手段 における該ミラーサーバについての該サービス情報の登録を削除する手段とをそ なえたことを特 ί敷とする、 請求の範囲第 1 3項に記載のネットワークに用いられ るノレ一ティングノード。
2 0 . 該サービス情報管理手段が、
他のルーティングノードから該ルーティングプロトコルにより定期的に受信さ れるべき生死確認情報の受信を監視することにより該他のルーティングノードの 稼動状況を監視する手段と、
該監視により該他のルーティングノードの稼動停止が確認されると、 該サービ ス情報管理手段において自己が保有するサービス情報のうち当該稼動停止した他 のルーティングノードについてのサービス情報を削除する手段とをそなえたこと を特徴とする、 請求の範囲第 1 3項に記載のネットワークに用いられるルーティ ングノード。
2 1 · 同一のサービス内容を提供する該サーバとしてマスターサーバとミラー サーバとが存在する場合において、
該サービス情報管理手段が、
該マスタ一サーバへ該ミラーサーバが自己の提供するサービス内容の更新を行 なう際に該マスタ一サーバへの直接ァクセスを可能とする直接ァクセス用宛先情 報を要求する手段と、
該要求に対して該マスタ一サーバから受信される該直接ァクセス用宛先情報を 該サービス情報に含めて他のルーテイングノードに伝達する手段とをそなえたこ とを特徴とする、 請求の範囲第 1 3項に記載のネットワークに用いられるルーテ ィングノード。
2 2 . 該ルーティング制御手段が、
該ミラーサーバから受信されるアクセス要求の宛先情報を該直接アクセス用宛 先情報に変換する宛先変換手段をそなえたことを特徴とする、 請求の範囲第 2 1 項に記載のネットワークに用いられるルーティングノード。
PCT/JP2003/008711 2003-07-09 2003-07-09 ネットワークにおける特定サービスの最適ルーティング方法並びに同ネットワークに用いられるサーバ及びルーティングノード WO2005006671A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2003/008711 WO2005006671A1 (ja) 2003-07-09 2003-07-09 ネットワークにおける特定サービスの最適ルーティング方法並びに同ネットワークに用いられるサーバ及びルーティングノード
JP2005503839A JP4372098B2 (ja) 2003-07-09 2003-07-09 ネットワークにおける特定サービスの最適ルーティング方法並びに同ネットワークに用いられるサーバ及びルーティングノード
US11/248,764 US7929550B2 (en) 2003-07-09 2005-10-12 Method for optimally routing specific service in network, and server and routing node used in the network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/008711 WO2005006671A1 (ja) 2003-07-09 2003-07-09 ネットワークにおける特定サービスの最適ルーティング方法並びに同ネットワークに用いられるサーバ及びルーティングノード

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/248,764 Continuation US7929550B2 (en) 2003-07-09 2005-10-12 Method for optimally routing specific service in network, and server and routing node used in the network

Publications (1)

Publication Number Publication Date
WO2005006671A1 true WO2005006671A1 (ja) 2005-01-20

Family

ID=34044595

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/008711 WO2005006671A1 (ja) 2003-07-09 2003-07-09 ネットワークにおける特定サービスの最適ルーティング方法並びに同ネットワークに用いられるサーバ及びルーティングノード

Country Status (3)

Country Link
US (1) US7929550B2 (ja)
JP (1) JP4372098B2 (ja)
WO (1) WO2005006671A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006053933A1 (en) * 2004-10-06 2006-05-26 Nokia Corporation Service routing
CN103119897A (zh) * 2010-09-22 2013-05-22 日本电气株式会社 控制装置、通信系统、通信方法和其上记录有通信程序的记录介质
CN103329487A (zh) * 2010-12-17 2013-09-25 阿尔卡特朗讯公司 执行服务命名路由的方法和路由器

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7355983B2 (en) * 2004-02-10 2008-04-08 Cisco Technology, Inc. Technique for graceful shutdown of a routing protocol in a network
US20060083242A1 (en) * 2004-10-20 2006-04-20 Nokia Corporation Address modification in application servers
US7730038B1 (en) * 2005-02-10 2010-06-01 Oracle America, Inc. Efficient resource balancing through indirection
EP1921809A4 (en) * 2005-08-05 2008-10-01 Huawei Tech Co Ltd METHOD FOR OBTAINING AN ERROR DETECTION OF AN IP FORWARDING LEVEL
JP4603494B2 (ja) * 2006-02-14 2010-12-22 富士通株式会社 伝送装置および学習情報保全方法
JP4740763B2 (ja) * 2006-02-15 2011-08-03 株式会社日立製作所 ストレージシステム及びストレージコントローラ
US8125990B2 (en) * 2006-03-10 2012-02-28 Alcatel Lucent Silent probe for network delay reporting
CN101005633B (zh) * 2006-07-21 2010-07-21 华为技术有限公司 一种实现移动交换中心池的方法及系统
US8752042B2 (en) * 2008-08-27 2014-06-10 Cardinalcommerce Corporation Intelligent server routing
US7631034B1 (en) 2008-09-18 2009-12-08 International Business Machines Corporation Optimizing node selection when handling client requests for a distributed file system (DFS) based on a dynamically determined performance index
JP5359201B2 (ja) * 2008-11-06 2013-12-04 富士通株式会社 コンテンツの削除更新プログラム
US8463914B2 (en) * 2010-01-30 2013-06-11 Eliza Corporation Facilitating rapid establishment of human/machine voice communication links over an IP network using last-known call-host endpoint states
US20130041943A1 (en) * 2010-04-20 2013-02-14 Nec Corporation Distribution system, distribution control device, and distribution control method
CN101917492B (zh) * 2010-08-06 2013-06-05 北京乾唐视联网络科技有限公司 一种新型网的通信方法及系统
EP2645261B1 (en) * 2010-11-26 2018-09-26 Fujitsu Limited Management apparatus, management system, management method and set of an application source program, a first program and a second program
US9246764B2 (en) * 2010-12-14 2016-01-26 Verizon Patent And Licensing Inc. Network service admission control using dynamic network topology and capacity updates
US9094364B2 (en) * 2011-12-23 2015-07-28 A10 Networks, Inc. Methods to manage services over a service gateway
KR101444883B1 (ko) * 2014-01-27 2014-09-26 주식회사 기가코리아 숫자 url 서비스 제공 방법
US11252257B2 (en) * 2020-03-06 2022-02-15 Sap Se Dynamic rest access

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001007844A (ja) * 1999-06-24 2001-01-12 Canon Inc ネットワークステータスサーバ及び情報配信システム、及びその制御方法、及びその制御プログラムを格納した記憶媒体
JP2002530014A (ja) * 1998-11-09 2002-09-10 テレフォンアクチーボラゲット エル エム エリクソン(パブル) 複数の選択対象サーバのうちから最も近くのサーバを選択するためのインターネット・システム及び方法
JP2002374290A (ja) * 2001-06-13 2002-12-26 Nippon Telegr & Teleph Corp <Ntt> サーバ選択装置、方法、プログラム及び該プログラムを記録した記録媒体
JP2003022226A (ja) * 2001-07-05 2003-01-24 Nec Commun Syst Ltd ネットワークにおける負荷分散システム及び負荷分散方式
JP2003115868A (ja) * 2001-10-05 2003-04-18 Nippon Telegr & Teleph Corp <Ntt> クライアント特定型ミラーサーバ選択方法及びコンテンツルータ
JP2003152780A (ja) * 2001-11-16 2003-05-23 Nippon Telegr & Teleph Corp <Ntt> 経路情報収集方法、装置、およびプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210748A (en) * 1990-02-09 1993-05-11 Hitachi, Ltd. Address filter unit for carrying out address filter processing among plurality of networks and method thereof
JP2742129B2 (ja) 1990-02-09 1998-04-22 株式会社日立製作所 アドレスフィルタ装置
JP3598522B2 (ja) 1993-03-04 2004-12-08 富士通株式会社 分散型データベース管理装置
JPH0879309A (ja) * 1994-09-02 1996-03-22 Fujitsu Ltd Lan間接続装置及びlan間接続システム
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
JP3784137B2 (ja) 1997-06-04 2006-06-07 富士通株式会社 負荷分散システム
JP3178380B2 (ja) 1997-07-31 2001-06-18 日本電気株式会社 コネクション管理方法及びコンピュータ読み取り可能な記録媒体
US6622157B1 (en) * 1998-09-28 2003-09-16 Certeon, Inc. Extending network services using mobile agents
JP3549774B2 (ja) * 1999-06-01 2004-08-04 富士通株式会社 ネットワーク相互接続装置及びネットワーク相互接続方法
US7457279B1 (en) * 1999-09-10 2008-11-25 Vertical Communications Acquisition Corp. Method, system, and computer program product for managing routing servers and services
US6667971B1 (en) * 1999-12-06 2003-12-23 Bellsouth Intellectual Property Corporation System and method for enhanced ADSL architecture and service concepts
US6748447B1 (en) * 2000-04-07 2004-06-08 Network Appliance, Inc. Method and apparatus for scalable distribution of information in a distributed network
JP4294829B2 (ja) * 2000-04-26 2009-07-15 ウォーターフロント・テクノロジーズ エルエルシー モバイルネットワークシステム
US7254602B1 (en) * 2000-10-25 2007-08-07 International Business Machines Corporation Multicast enabled web content distribution
JP2002140202A (ja) 2000-11-01 2002-05-17 Hitachi Ltd 情報配信システムおよびその負荷分散方法
US7860964B2 (en) * 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
CA2410172A1 (en) * 2001-10-29 2003-04-29 Jose Alejandro Rueda Content routing architecture for enhanced internet services

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002530014A (ja) * 1998-11-09 2002-09-10 テレフォンアクチーボラゲット エル エム エリクソン(パブル) 複数の選択対象サーバのうちから最も近くのサーバを選択するためのインターネット・システム及び方法
JP2001007844A (ja) * 1999-06-24 2001-01-12 Canon Inc ネットワークステータスサーバ及び情報配信システム、及びその制御方法、及びその制御プログラムを格納した記憶媒体
JP2002374290A (ja) * 2001-06-13 2002-12-26 Nippon Telegr & Teleph Corp <Ntt> サーバ選択装置、方法、プログラム及び該プログラムを記録した記録媒体
JP2003022226A (ja) * 2001-07-05 2003-01-24 Nec Commun Syst Ltd ネットワークにおける負荷分散システム及び負荷分散方式
JP2003115868A (ja) * 2001-10-05 2003-04-18 Nippon Telegr & Teleph Corp <Ntt> クライアント特定型ミラーサーバ選択方法及びコンテンツルータ
JP2003152780A (ja) * 2001-11-16 2003-05-23 Nippon Telegr & Teleph Corp <Ntt> 経路情報収集方法、装置、およびプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006053933A1 (en) * 2004-10-06 2006-05-26 Nokia Corporation Service routing
CN103119897A (zh) * 2010-09-22 2013-05-22 日本电气株式会社 控制装置、通信系统、通信方法和其上记录有通信程序的记录介质
CN103119897B (zh) * 2010-09-22 2016-05-25 日本电气株式会社 控制装置、通信系统、通信方法和其上记录有通信程序的记录介质
CN103329487A (zh) * 2010-12-17 2013-09-25 阿尔卡特朗讯公司 执行服务命名路由的方法和路由器
JP2014505397A (ja) * 2010-12-17 2014-02-27 アルカテル−ルーセント サービス名付きルーティングのための方法およびルータ

Also Published As

Publication number Publication date
US7929550B2 (en) 2011-04-19
JPWO2005006671A1 (ja) 2006-08-31
US20060029076A1 (en) 2006-02-09
JP4372098B2 (ja) 2009-11-25

Similar Documents

Publication Publication Date Title
WO2005006671A1 (ja) ネットワークにおける特定サービスの最適ルーティング方法並びに同ネットワークに用いられるサーバ及びルーティングノード
US10348571B2 (en) Methods and apparatus for accessing dynamic routing information from networks coupled to a wide area network (WAN) to determine optimized end-to-end routing paths
JP3757917B2 (ja) パケット転送装置、パケット転送方法解決サーバ、dnsサーバ、ネットワークシステム及びプログラム
CN102959910B (zh) 通过通信信道将网元的分组转发配置的更改通知控制器
US8094575B1 (en) Routing protocol extension for network acceleration service-aware path selection within computer networks
RU2407196C2 (ru) Способ и устройство для поддержки службы прозрачного прокси-сервера в шлюзе беспроводного доступа и система, снабженная таким шлюзом
US7992201B2 (en) Dynamic network tunnel endpoint selection
US20100157821A1 (en) Methods, Systems, And Computer Program Products For Sending Data Units Based On A Measure Of Energy
US20130176861A1 (en) Control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program
US20140317279A1 (en) Identification of the paths taken through a network of interconnected devices
HU218402B (hu) Eljárás és berendezés több hozzáférési ponttal rendelkező forrás átirányító kommunikációs hálózatban mobil egységekkel folytatott vezeték nélküli kommunikációra
JP2006262193A (ja) 制御装置、パケット転送方法およびパケット処理装置
US20120191769A1 (en) Site-aware distributed file system access from outside enterprise network
JP2015197920A (ja) コンテンツ中心ネットワークにおけるデバイス登録及び検出のためのシステム及び方法
JP2014147094A (ja) ネットワーク・ロケーション・サービス
JP2016039630A (ja) 名前ベースの転送における明示的戦略フィードバック
Cha et al. A mobility link service for ndn consumer mobility
US10536368B2 (en) Network-aware routing in information centric networking
CN105991793A (zh) 报文转发的方法和装置
JP2845208B2 (ja) アドレス解決装置
EP2991288B1 (en) Method and device for determining next hop and distributing routing information
JP4460693B2 (ja) 情報検索機能をもつネットワークシステム
CN107404438A (zh) 网络路由方法和网络路由系统
US9197534B2 (en) Network designing system, network designing method, data transfer path determination method and network designing program
JP6457960B2 (ja) 通信フローラベリングシステム、ラベル管理装置、通信フロー特定装置および通信フローラベリング方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

WWE Wipo information: entry into national phase

Ref document number: 2005503839

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11248764

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 11248764

Country of ref document: US