WO2016189928A1 - 接続先サーバ指示装置、サービス利用システム、クライアント端末、接続先サーバ指示方法、及びプログラム - Google Patents

接続先サーバ指示装置、サービス利用システム、クライアント端末、接続先サーバ指示方法、及びプログラム Download PDF

Info

Publication number
WO2016189928A1
WO2016189928A1 PCT/JP2016/057617 JP2016057617W WO2016189928A1 WO 2016189928 A1 WO2016189928 A1 WO 2016189928A1 JP 2016057617 W JP2016057617 W JP 2016057617W WO 2016189928 A1 WO2016189928 A1 WO 2016189928A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
client terminal
servers
parameter
connection destination
Prior art date
Application number
PCT/JP2016/057617
Other languages
English (en)
French (fr)
Inventor
将史 新夕
明 清
Original Assignee
エヌ・ティ・ティ・コミュニケーションズ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エヌ・ティ・ティ・コミュニケーションズ株式会社 filed Critical エヌ・ティ・ティ・コミュニケーションズ株式会社
Priority to SG11201709750PA priority Critical patent/SG11201709750PA/en
Priority to US15/576,780 priority patent/US10547690B2/en
Priority to EP16799637.0A priority patent/EP3306480B1/en
Publication of WO2016189928A1 publication Critical patent/WO2016189928A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Definitions

  • the present invention relates to a technique for connecting a client terminal to a specific server in a service providing system including a plurality of servers.
  • MSS managed security service
  • a user accesses a server serving as a customer portal site from a client terminal and receives a service.
  • a database (DB) for providing a service is centrally managed by a technique such as a distributed database, and a user receives the same service regardless of which server is accessed. be able to.
  • the user himself / herself designates a domain of a specific base to connect to the server of the base.
  • access to a specific server may be concentrated, or an optimal server may not be accessible from the viewpoint of server / NW quality or local conditions of the base.
  • the server to be connected should be limited depending on the location of the client terminal depending on the circumstances of each country, etc., but it is difficult to appropriately respond to the necessity of such limitation with the conventional technology. .
  • the present invention has been made in view of the above points, and it is possible to determine an appropriate server as a connection destination of a client terminal from a plurality of servers that provide services, and to connect the client terminal to the server
  • the purpose is to provide the technology.
  • a connection destination server instruction apparatus for connecting a client terminal that uses a service of a service providing system having a plurality of servers to a specific server among the plurality of servers.
  • Parameter acquisition means for acquiring server parameters for each server in the plurality of servers;
  • an area name acquisition unit that acquires an area name of the location of the client terminal;
  • the area indicated by the area name belongs to a specific area, one or more servers installed in the specific area among the plurality of servers are selected as candidates for the specific server, and the candidates are selected.
  • connection destination determining means for determining the specific server from among one or a plurality of servers using a server parameter acquired by the parameter acquiring means;
  • a connection destination server instruction apparatus comprising: connection destination instruction means for transmitting information on the specific server determined by the connection destination determination means to the client terminal.
  • a connection destination server instruction device for connecting a client terminal that uses a service of a service providing system having a plurality of servers to a specific server of the plurality of servers;
  • a client terminal in a service use system comprising the client terminal, Terminal parameter acquisition means for acquiring a terminal parameter that is information on a route between the client terminal and each server;
  • Parameter notification means for notifying the connection destination server instruction device of the terminal parameter;
  • a connection request means for transmitting a connection request to the connection destination server instruction device;
  • Provided by a client terminal comprising: a receiving unit configured to receive information on the specific server determined from the plurality of servers using the terminal parameter in the connection destination server instruction apparatus that has received the connection request. Is done.
  • connection destination server instruction apparatus for connecting a client terminal that uses a service of a service providing system having a plurality of servers to a specific server among the plurality of servers.
  • a connection destination server instruction method to be executed A parameter acquisition step of acquiring server parameters for each server in the plurality of servers; Based on a connection request received from the client terminal, an area name acquisition step of acquiring an area name of the location of the client terminal; When the area indicated by the area name belongs to a specific area, one or more servers installed in the specific area among the plurality of servers are selected as candidates for the specific server, and the candidates are selected.
  • connection destination determination step of determining the specific server from among one or a plurality of servers using the server parameter acquired by the parameter acquisition step;
  • a connection destination server instruction method comprising: a connection destination instruction step of transmitting information on the specific server determined in the connection destination determination step to the client terminal.
  • a technique is provided that makes it possible to determine an appropriate server as a connection destination of a client terminal from a plurality of servers that provide services, and to connect the client terminal to the server. It becomes possible to do.
  • movement of a system. 4 is a flowchart for explaining a procedure of a connection destination determination process by a redirect server 100. It is a figure which shows the example of a score table. It is a figure for demonstrating the example in the case of selecting the server in a specific area. It is a figure for demonstrating the process example 1 for acquiring a parameter. It is a figure which shows the example of the parameter determination table
  • FIG. 2 is a configuration diagram of a redirect server 100.
  • FIG. 2 is a configuration diagram of a client terminal 300.
  • FIG. 1 shows an example of the overall configuration of a system according to an embodiment of the present invention.
  • the system according to the present embodiment includes a redirect server 100, an access source identification system 200, and a service providing system 400 including a plurality of servers that provide services.
  • a client terminal 300 that uses a service provided by a service providing system 400. Since service use is performed by the client terminal 300 and the redirect server 100, a system including the client terminal 300 and the redirect server 100 may be referred to as a service use system.
  • the redirect server 100 may be referred to as a connection destination server designation device. Note that A, B, and the like in FIG. 1 indicate specific areas described later.
  • Each server constituting the redirect server 100, the access source identifying system 200, the client terminal 300, and the service providing system 400 is connected to a network and can communicate at least in a section indicated by a straight line in FIG. Note that “communication is possible in the section between the service providing system 400 and another device” means that communication is possible between each server constituting the service providing system 400 and the other device. To do.
  • the network that enables communication between apparatuses is not limited to a specific type of network.
  • the network may be the Internet, a private network, or a network in which the Internet and a private network are mixed.
  • the network may be a wireless network, a wired network, or a network in which a wireless network and a wired network are mixed.
  • the service providing system 400 is assumed to be a system that provides the above-described MSS (managed security service), and a plurality of servers constituting the service providing system 400 are distributed at locations all over the world. However, this is an example, and the present invention can be applied to a case where a plurality of servers are arranged in any area unit. As an example, the present invention can be applied to a service providing system in which a plurality of servers are arranged in one building and the service is provided in the building.
  • MSS managed security service
  • a database (DB) for providing a service is centrally managed by a technique such as a distributed database, and the client terminal 300 is the same regardless of which server is accessed. Can receive service. Therefore, the geographical area (for example, country) where the client terminal 300 (user) exists may be different from the geographical area where the base of the server to which the client terminal 300 accesses is present.
  • the client terminal 300 is, for example, a PC or a smartphone equipped with a web browser or the like.
  • the redirect server 100 selects a server to which the client terminal 300 is connected from among a plurality of servers constituting the service providing system 400, and instructs connection to the server ( Redirect response) is transmitted to the client terminal 300.
  • the access source specifying system 200 is a system that holds a database in which IP addresses are associated with countries, cities, ISPs, etc., and receives an inquiry specifying the source IP address of the client terminal 300 from the redirect server 100. In response to the inquiry, a country name or the like (information indicating a geographical area) corresponding to the source IP address can be returned.
  • the access source identification system 200 can be realized by an existing technology such as GEOIP or Whois.
  • the redirect server 100 determines (estimates) the geographical area of the location of the client terminal 300 by using the access source identification system 200.
  • the method of determining the geographical area of the location is not limited to this method, and the redirect server 100 may use any method for determining the geographical area of the location of the client terminal 300.
  • the redirect server 100 provides a comprehensive site screen, and the client terminal 300 first connects to the redirect server 100 to display the screen, and from the menu of the screen Request to use a service (eg, MSS) of the service providing system 400.
  • a service eg, MSS
  • the connection request in step S101 in FIG. 2 corresponds to the request.
  • such a premise is only an example.
  • the redirect server 100 collects various parameters used to determine the server to be connected and holds it in its own database (or a database external to the redirect server 100). Details of the parameters will be described later.
  • the database also holds information used by the client terminal 300 to access the server (server IP address, URL, etc.).
  • the client terminal 300 transmits a connection request (for example, an http request) for requesting connection to the server of the service providing system 400 to the redirect server 100 (step S101).
  • a connection request for example, an http request
  • the redirect server 100 Upon receiving the connection request, the redirect server 100 acquires the IP address of the transmission source of the packet including the connection request, and accesses a signal for inquiring information on the geographical area corresponding to the IP address (here, the country name is used as an example). It transmits to the original identification system 200 (step S102). The access source identifying system 200 that has received the inquiry returns the country name corresponding to the IP address to the redirect server 100 (step S103).
  • the redirect server 100 uses the country name (area name) acquired in step S103 as the name of the country (area) in which the client terminal 300 exists, and based on the country name and the parameters held in the database, the client terminal 300 The server to be the connection destination is determined (step S104).
  • the redirect server 100 transmits to the client terminal 300 a connection destination instruction (for example, an http redirect response) including connection destination information (such as the URL and IP address of the server) for connecting the client terminal 300 to the server determined in step S104. (Step S105).
  • the client terminal 300 connects to the server instructed by the redirect server 100 using the connection destination information included in the connection destination instruction (step S106).
  • the redirect server 100 performs pre-processing for acquiring parameters such as load information of each server, load information of NW devices connected to the server, and the number of hops between the client terminal 300 and each server (step S201).
  • parameters such as load information of each server, load information of NW devices connected to the server, and the number of hops between the client terminal 300 and each server (step S201).
  • the procedure shown in FIG. 3 focuses on access to the server by one client terminal 300, and the acquisition of the parameter is a pre-processing for the access, but as described later, Acquisition may be performed at any time (for example, periodically).
  • the redirect server 100 When the redirect server 100 receives the connection request from the client terminal 300 (step S202), the redirect server 100 acquires the country name corresponding to the client terminal 300 from the access source identification system 200 (step S203).
  • the client terminal 300 determines the connection destination of the client terminal 300 based on the country name of the client terminal 300, various parameters stored in the database, a parameter determination table for determining a score from the parameters, and the like.
  • a score table used for determination is created (step S204).
  • Fig. 4 shows an example of the score table.
  • server parameters parameters related to each server
  • terminal parameters parameters indicating correlation between the client terminal 300 and the server
  • terminal parameters parameters indicating correlation between the client terminal 300 and the server
  • Server parameters include the number of connections indicating the number of client terminals that the server provides services, the CPU usage rate, the memory usage rate, and the usage rate of NW devices (switches, routers, etc.) to which the server is connected (eg, traffic volume) CPU usage rate, port usage rate, etc.), server redundancy, server specifications, region risk, and the like.
  • NW devices switches, routers, etc.
  • Server redundancy is, for example, the number of servers in the same base (for example, the same country), and the higher the number, the higher the redundancy.
  • Server specifications are, for example, redundancy of CPU, memory, disk configuration, power supply, and the like.
  • the region risk is a risk peculiar to the base such as the quality of the server installation environment at the base (country, city, region, etc.) where the server is installed, disaster preparedness, possibility of disaster occurrence, NW quality, and the like.
  • the number of connections, the CPU usage rate, the memory usage rate, the NW device usage rate, etc. are periodically acquired by the redirect server 100 from each device, for example, and stored in the database.
  • Server redundancy, server specifications, region risk, and the like are stored in advance in the database of the redirect server 100, and updated when there is a change.
  • the score may be held as a parameter.
  • the terminal parameters include the language information of the browser used in the client terminal 300, the distance between the client terminal 300 and the server, the number of hops between the client terminal 300 and the server (the number of routers that pass through), and whether or not the cross border is available Etc.
  • the arrival time of the packet from the client terminal 300 to the server may be used as a terminal parameter.
  • the redirect server 100 can obtain the connection request (http request) received from the client terminal 300.
  • the distance between the client terminal 300 and the server can be determined from, for example, the country name acquired when the redirect server 100 receives access from the client terminal 300 and the country name of the server base. This can be done by determining a specific point in the country and calculating the distance between points, calculating the distance for each combination of countries, storing the distance in a table, and then calculating the distance from the table. It is good also as acquiring. Alternatively, a distance score may be determined for each country combination and the score may be retained.
  • the client terminal 300 acquires the hop count and arrival time by using a command such as a trace route for each server, and reports the acquired hop count / arrival time to the redirect server 100.
  • the method for acquiring the number of hops and the arrival time is not limited to a specific method.
  • a program for acquiring the number of hops and the arrival time is installed in the client terminal 300 and the server, Acquisition may be performed.
  • the information on whether or not the cross border is available is information specific to the area (country, region, etc.) to which the server belongs. For example, data managed in a specific area (eg, within the EU) is taken out of the area. This is information indicating whether or not there is a general restriction.
  • the “cross border availability” of the present embodiment includes information determined by the service provider in addition to such legal restrictions. This is information indicating that, for example, the connection destination of the client terminal 300 in Japan is limited to a server in Japan. Information on whether or not the cross border is available is stored in a database for each server.
  • the distance from the server can be determined from the country name of the client terminal 300, for example, terminal parameters such as the number of hops and arrival time may not be used.
  • a score for each server is determined for each parameter for the client terminal 300 that has transmitted the connection request, and is written in the score table.
  • the server is indicated by the country name of the base and the server number (in the case of multiple servers).
  • the score for the parameter is determined by the parameter determination table stored in the database.
  • a circle indicating a cross border border is given to a server existing in the cross border border area, and a group indicating an area range where access is restricted for a server located in the cross border border area. Numbers are shown.
  • Group 2 is described for the German servers DE1 and DE2
  • Group 1 is described for the Japanese server JP. This means that the connection destination of the German client terminal 300 is limited to DE1 and DE2, and the connection destination of the Japanese client terminal 300 is limited to JP.
  • step S204 of FIG. 3 for a score that can be determined without depending on the country name of the client terminal 300 (e.g., a score such as a CPU usage rate of the server), before the connection request is received from the client terminal 300
  • the score determined according to the country name of the client terminal 300 e.g, distance score
  • all the scores may be determined and filled in the score table.
  • the redirect server 100 determines whether the area (country name) where the access source client terminal 300 is located belongs to a specific area (step S205).
  • the “specific area” in the present embodiment is an area where a cross border is not possible.
  • a country within the EU is determined to belong to a “specific area”.
  • Japan since there is a strong need to access domestic servers and manage data in Japan, it is determined that Japan also belongs to a “specific area”.
  • Japan when a country other than Japan has the same needs as Japan, it is determined that the country belongs to a “specific area”. It should be noted that which country the “specific area” includes (or one country) can be identified by the Group number in the score table.
  • Whether the “specific area” belongs or not may be determined by referring to the score table, or may be determined by preparing the table shown in FIG. 5 in the database and referring to the table. .
  • the table shown in FIG. 5 is a table indicating a target country (a country included in a specific area) to which the client terminal 300 of the country can be connected and a server in the target country for each country corresponding to the “specific area”. It is.
  • the country of the access source client terminal 300 is the United Kingdom (UK)
  • the country of the server to which the client terminal 300 is connected is limited to Germany and UK
  • the connection destination server is DE1, 2, 3, and UK 1, 2, and 3.
  • step S205 of FIG. 3 determines whether it is a “specific area”. If it is determined in step S205 of FIG. 3 that it is a “specific area”, the process proceeds to step S206. If it is not determined to be a “specific area”, the process proceeds to step S207.
  • step S206 which is a case where it is determined that the area is a “specific area”
  • the redirect server 100 selects a server to which the client terminal 300 is connected from a server group in the specific area.
  • a server is selected from a server group (DE1, 2, 3, UK1, 2, 3) in a specific area (Germany, UK).
  • step S207 which is a case where it is not determined to be a “specific area”, the redirect server 100 selects a server from the entire server group.
  • the redirect server 100 refers to the score table (eg, FIG. 4), adds the scores for all the parameters having scores for each server in the server group of the selected range, and the score is minimum. Select the server to become.
  • the server with the smallest score is selected, but this is only an example. .
  • a server that maximizes the score may be selected by adopting a method of assigning a score that increases the score when it is suitable for access to the server.
  • the SG when the country of the client terminal 300 is SG (Singapore), the SG can be cross-bordered, so a server is selected from the entire server group.
  • the server / NW since the SG server / NW is tight, the server / NW score is high. Therefore, even if the location of the client terminal 300 is SG, as a result, the JP server having the minimum total score is selected (indicated by a frame indicated by A in FIG. 4).
  • the server group in a specific area is one server, the determination may not be performed based on the score or may be performed.
  • the server group in a specific area is a single server, when the determination is made based on the score, for example, when the score is very poor (when the connection to the server is not appropriate), the server for the client terminal 300 It is possible to return a message that does not connect to the server or to select a server in another area.
  • scores are processed in a table format, but the table format is an example.
  • a tabular format need not be used as long as the processing method can calculate the score.
  • the redirect server 100 instructs the client terminal 300 to connect to the selected server.
  • FIG. 6 is a sequence diagram showing an example of processing for acquiring server parameters.
  • the redirect server 100 transmits a parameter acquisition request to each server (step S301), and acquires parameters (number of connections, CPU usage rate, memory usage rate, etc.) from each server (step S302). Then, a parameter acquisition request is transmitted to each NW device (step S303), and the parameter is acquired from each NW device (step S304). The acquired parameter is stored in the database (step S305).
  • the above parameter acquisition can be executed using, for example, the SNMP protocol. Moreover, parameter acquisition is performed regularly, for example.
  • the redirect server 100 calculates a score corresponding to the acquired parameter by referring to a parameter determination table as shown in FIG. 7, for example, and stores the score in the database.
  • the parameter determination table is a table previously set in the database.
  • the score corresponding to the parameter of the server is “50”.
  • FIG. 8 is a sequence diagram showing an example of processing for acquiring terminal parameters.
  • a request packet for parameter acquisition is transmitted to each server (step S401), and a response packet is received from each server (step S402).
  • the response packet includes the number of hops of the path from the client terminal 300 to the server (the number of routers that pass through) and the arrival time until the request packet reaches the server from the client terminal 300.
  • the above process can be realized by installing a program for executing the process for obtaining the above parameters in the client terminal 300. Further, the number of hops, the arrival time, and the like may be acquired using a function generally provided in the server or the client terminal 300 such as a trace route.
  • the client terminal 300 that has acquired the terminal parameter in step S402 notifies the redirect server 100 of the parameter (step S403).
  • the redirect server 100 stores the parameter received from the client terminal 300 in the database together with information (eg, IP address) that can identify the client terminal 300 (step S404).
  • the above processing may be performed periodically, or may be performed at a timing when the client terminal 300 transmits a connection request to the redirect server 100. That is, for example, when the user performs an operation for transmitting a connection request to the client terminal 300, the client terminal 300 acquires the terminal parameters and transmits the acquired terminal parameters and the connection request to the redirect server 100. .
  • the redirect server 100 calculates a score corresponding to the acquired parameter by referring to a parameter determination table as shown in FIGS. 9A and 9B, for example, and stores the score in the database.
  • the parameter determination table is a table previously set in the database.
  • the score corresponding to the parameter of the server is “100”.
  • the score corresponding to the parameter of the server is “50”.
  • FIG. 10A is an example of a parameter determination table in which a browser language information parameter, which is one of terminal parameters, is associated with a score.
  • the parameter of the language information of the browser is shown as JP, CN, etc.
  • the score for each server base is shown for each.
  • FIG. 10A shows some bases. For example, when the browser language is CN (Chinese), the score for the server in Singapore (SG) is 100.
  • FIG. 10B is an example of a parameter determination table in which a distance parameter, which is one of terminal parameters, is associated with a score.
  • a distance parameter which is one of terminal parameters
  • the country name is shown as the distance.
  • FIG. 10B shows some bases. For example, when the distance is “JP”, the score for the server in China (CN) is 100.
  • FIG. 11A is an example of a parameter determination table for server redundancy. Since server redundancy is basically determined statically, in this example, server redundancy is directly recorded as a score and used as a parameter determination table. For example, the score of the server “UK” is 50.
  • FIG. 11B is an example of a parameter determination table for server specifications. Since the server specification is basically statically determined, the server specification is directly recorded as a score in this example as a parameter determination table. For example, the score of the server “UK” is 100.
  • FIG. 11C is an example of a parameter determination table for region risk. Since the region risk is basically statically determined, in this example, the region risk is directly recorded as a score and used as a parameter determination table. For example, the score of the server “UK” is 50.
  • FIG. 12 shows a configuration example of the redirect server 100 that can execute the processes described so far.
  • the redirect server 100 includes a database 101, a parameter acquisition unit 102, a connection request reception unit 103, an inquiry unit 104, a score table creation unit 105, a connection destination determination unit 106, and a connection instruction unit 107.
  • the database 101 stores information necessary for the redirect server 100 to select a server to be connected to the client terminal 300, such as various parameters, score tables, and parameter determination tables described above. Note that the database 100 may be provided outside the redirect server 100.
  • the parameter acquisition unit 102 acquires server parameters from the server / NW device, receives terminal parameters such as the number of hops from the client terminal 300, and stores them in the database 101.
  • parameters that can be converted into scores may be stored after being converted into scores. Further, the score may be stored in a form in which a part of the score table is filled.
  • connection request receiving unit 103 When the connection request receiving unit 103 receives a connection request from the client terminal 300, the connection request receiving unit 103 passes the IP address of the transmission source to the inquiry unit 104 and requests acquisition of the country name.
  • the inquiry unit 104 inquires of the access source identification system 200 about the country name corresponding to the IP address of the transmission source of the connection request, and acquires the country name.
  • the score table creation unit 105 determines the score table (example: FIG. 4) from the location (country name) of the client terminal 300, the parameters acquired from the server / NW device, the parameters acquired from the client terminal 300, static parameters, the parameter conversion table, and the like. ). For example, in the example of FIG. 4, the score table creation unit 105 creates a score table in which a score related to a server parameter determined without depending on the location of the client terminal 300 and information (Yes, Group number, etc.) about cross border availability is embedded. Before the connection request from the client terminal 300 is received, it is created. When the connection request is received from the client terminal 300, the score table is completed by writing the score about the terminal parameters such as browser language information, distance, and hop number for the client terminal 300 into the score table, and the database 101 To store.
  • the score table is completed by writing the score about the terminal parameters such as browser language information, distance, and hop number for the client terminal 300 into the score table, and the database 101 To store.
  • the connection destination determination unit 106 determines a server as a connection destination of the client terminal 300 based on the score table created by the score table creation unit 105.
  • the connection instruction unit 107 transmits to the client terminal 300 a connection destination instruction for connecting the client terminal 300 that has transmitted the connection request to the server determined by the connection destination determination unit 106.
  • the functions of the redirect server 100 shown in FIG. 12 show main functions. Moreover, the functional division shown in FIG. 12 is only an example, and the functional division is not limited to the functional division shown in FIG. 12 as long as the processing described in this embodiment can be executed.
  • the redirect server 100 can be realized by causing one or a plurality of computers to execute a program describing the processing contents described in the present embodiment. That is, the function of the redirect server 100 is executed by executing a program corresponding to the process executed by the redirect server 100 using a processor such as a CPU built in the computer, a hardware resource such as a memory, and a hard disk. It is possible to realize.
  • the above-mentioned program can be recorded on a computer-readable recording medium (portable memory or the like), stored, or distributed. It is also possible to provide the program through a network such as the Internet or electronic mail.
  • each unit constituting the redirect server 100 may be configured by a hardware circuit.
  • FIG. 13 shows a configuration example of the client terminal 300 that can execute the processing described so far.
  • the client terminal 300 includes a connection request unit 301, a connection destination instruction reception unit 302, a parameter acquisition unit 303, and a parameter notification unit 304.
  • the connection request unit 301 transmits a connection request to the redirect server 100 based on, for example, an operation by a user, and executes connection to the server based on the connection destination instruction received by the connection destination instruction reception unit 302.
  • the connection destination instruction receiving unit 302 receives a connection destination instruction for instructing connection to the server determined by the redirect server 100 from the redirect server 100.
  • connection request unit 301 and the connection destination instruction receiving unit 302 are realized by a Web browser provided in the client terminal 300. Can do.
  • the parameter acquisition unit 303 transmits a terminal parameter request packet to each server periodically or when a connection request instruction to the redirect server 100 is given to the connection request unit 301. Get terminal parameters (hop count, arrival time, etc.) for each server.
  • the parameter notification unit 304 transmits the terminal parameter acquired by the parameter acquisition unit 303 to the redirect server 100.
  • the parameter notification unit 304 is realized as an agent in the client terminal 300, for example.
  • the functions of the client terminal 300 shown in FIG. 13 show main functions. 13 is merely an example, and the function classification is not limited to the function classification shown in FIG. 13 as long as the processing described in this embodiment can be executed.
  • the client terminal 300 can be realized by causing a terminal including a computer function, such as a PC or a smartphone, to execute a program describing the processing contents described in the present embodiment. That is, the functions of the client terminal 300 are executed by executing a program corresponding to processing executed in the client terminal 300 by using a processor such as a CPU built in the computer, a hardware resource such as a memory, and a hard disk. It is possible to realize.
  • the above-mentioned program can be recorded on a computer-readable recording medium (portable memory or the like), stored, or distributed. It is also possible to provide the program through a network such as the Internet or electronic mail.
  • each unit configuring the client terminal 300 may be configured by a hardware circuit.
  • a connection destination server instruction device for connecting a client terminal that uses a service of a service providing system having a plurality of servers to a specific server among the plurality of servers, Parameter acquisition means for acquiring server parameters relating to each server in the server, area name acquisition means for acquiring the area name of the location of the client terminal based on a connection request received from the client terminal, and the area indicated by the area name
  • One or a plurality of servers installed in the specific area of the plurality of servers as candidates for the specific server and one or a plurality of servers that are candidates for the specific server Server parameter acquired by the parameter acquisition means from the specific server
  • a connection destination determination means for determining using the connection destination of the information of the specific server determined by the determining means and a destination instruction means for transmitting to said client terminal connection destination server instruction device is provided.
  • the connection destination determination unit may set all the servers constituting the service providing system as candidates for the specific server.
  • the parameter acquisition unit acquires a terminal parameter that is information on a route between the client terminal and each server from the client terminal, and the connection destination determination unit uses the server parameter and the terminal parameter, You may make it determine the said specific server out of the 1 or several server used as the said candidate.
  • the connection destination determination unit obtains a score corresponding to each parameter acquired by the parameter acquisition unit for each of a plurality of servers constituting the service providing system, and specifies the identification based on a total of the scores for each server The server may be determined.
  • a connection destination server instruction device for connecting a client terminal that uses a service of a service providing system having a plurality of servers to a specific server among the plurality of servers,
  • a service utilization system comprising a client terminal, wherein the client terminal obtains a terminal parameter that is information relating to a route between the client terminal and each server; Parameter notification means for notifying the server instruction device, wherein the connection destination server instruction device receives from the client terminal a server parameter related to each server in the plurality of servers, a parameter acquisition means for acquiring the terminal parameter, and Based on the connection request Area name acquisition means for acquiring the area name of the location of the mobile terminal, and one or more installed in the specific area of the plurality of servers when the area indicated by the area name belongs to the specific area
  • the server is determined as a candidate for the specific server, and the specific server is determined using the server parameter and the terminal parameter acquired by the parameter acquisition unit from one or a plurality of servers as the candidate.
  • a service utilization system is provided that includes a connection destination determination unit
  • a connection destination server instruction device for connecting a client terminal that uses a service of a service providing system having a plurality of servers to a specific server among the plurality of servers
  • a terminal parameter acquisition means for acquiring a terminal parameter, which is information relating to a route between the client terminal and each server, in the service utilization system including the client terminal, and the terminal parameter as the connection destination server
  • the connection request means for transmitting a connection request to the connection destination server instruction device, and the connection destination server instruction device that has received the connection request, using the terminal parameter, Receives information on the specific server determined from a plurality of servers.
  • Client terminal and a receiving means for are provided.
  • the redirect server 100 is an example of the connection destination server instruction device.
  • the parameter acquisition unit 102 is an example of a parameter acquisition unit.
  • the connection request receiving unit 103 and the inquiry unit 104 are examples of area name acquisition means.
  • the connection destination determination unit 106 is an example of a connection destination determination unit, and the connection instruction unit 107 is an example of a connection destination instruction unit.
  • the parameter acquisition unit, area name acquisition unit, connection destination determination unit, and connection destination instruction unit in the connection destination server instruction device are replaced with a parameter acquisition unit, area name acquisition unit, connection destination determination unit, and connection destination instruction unit, respectively. Also good.
  • the client terminal 300 is an example of the above client terminal.
  • the parameter acquisition unit 303 is an example of a terminal parameter acquisition unit
  • the parameter notification unit 304 is an example of a parameter notification unit.
  • the connection request unit 301 is an example of a connection request unit
  • the connection destination instruction receiving unit 302 is an example of a reception unit.
  • the terminal parameter acquisition unit, parameter notification unit, connection request unit, and reception unit in the client terminal may be replaced with a terminal parameter acquisition unit, parameter notification unit, connection request unit, and reception unit, respectively.
  • the technique according to the present embodiment can solve the above-described problem, appropriately select a connection destination server, and allow a user to connect to the server.
  • EU data protection it is necessary to respond to needs such as restrictions on the transfer of security monitoring logs (individual access logs, etc.) using a cross border and limiting the country of access to the logs.
  • the application field of the technology according to the present embodiment is not limited to a specific field.
  • a managed security service providing system that is scattered in global bases is applied.
  • an access destination server in which a data storage destination is limited to a server in a specific country Even if there is a restriction condition such that the user is restricted to a specific country, the user can connect to the optimum server. Further, in the system, even when the number of servers added is limited, congestion can be avoided without adding equipment. Furthermore, even in a situation where the quality of each server varies, it is possible to provide a service with optimum quality to the user.

Abstract

クライアント端末を、複数のサーバの中の特定のサーバに接続させるための接続先サーバ指示装置において、各サーバに関するサーバパラメータを取得するパラメータ取得手段と、接続要求に基づいて、クライアント端末の所在地のエリア名を取得するエリア名取得手段と、前記エリア名が示すエリアが特定のエリアに属する場合に、前記複数のサーバのうちの前記特定のエリアに設置される1つ又は複数のサーバを前記特定のサーバの候補とし、当該候補となった1つ又は複数のサーバの中から、前記特定のサーバを、前記パラメータ取得手段により取得されるサーバパラメータを用いて決定する接続先決定手段と、前記特定のサーバの情報を前記クライアント端末に送信する接続先指示手段とを備える。

Description

接続先サーバ指示装置、サービス利用システム、クライアント端末、接続先サーバ指示方法、及びプログラム
 本発明は、クライアント端末を、複数のサーバからなるサービス提供システムにおける特定のサーバに接続させるための技術に関連するものである。
 近年、世界の複数拠点にサーバを設置して、ユーザにサービスを提供するサービス提供システムが登場している。そのようなサービス提供システムとして例えば、MSS(マネージドセキュリティサービス)提供システムがある。MSSでは、一例として、ユーザが利用する各種サーバのログ情報を収集、分析して、未知の攻撃を検知するようなサービスが提供される。
 MSS提供システムのように世界の複数拠点にサーバを備えるサービス提供システムにおいて、ユーザはクライアント端末からカスタマポータルサイトとなるサーバにアクセスしてサービスを受ける。
特開2013-171371号公報
 MSS提供システムのようなサービス提供システムでは、サービス提供のためのデータベース(DB)は分散DB等の技術により一元的に管理されており、ユーザはどの拠点のサーバにアクセスしても同じサービスを受けることができる。
 このようなサービスでは、一般的に、ユーザ自身が特定の拠点のドメインを指定することで当該拠点のサーバに接続する。しかし、ユーザ自身が接続先となる拠点を指定する方式の場合、特定のサーバへのアクセスが集中したり、サーバ/NWの品質や拠点の地域事情の観点で最適なサーバにアクセスできない場合がある。また、各拠点の国等の事情により、クライアント端末の所在地に応じて接続させるサーバを限定すべきである場合があるが、従来技術ではこのような限定の必要性に適切に対応することが難しい。
 本発明は上記の点に鑑みてなされたものであり、サービスを提供する複数のサーバの中から、クライアント端末の接続先として適切なサーバを決定し、当該サーバにクライアント端末を接続させることを可能とする技術を提供することを目的とする。
 本発明の実施の形態によれば、複数のサーバを有するサービス提供システムのサービスを利用するクライアント端末を、前記複数のサーバの中の特定のサーバに接続させるための接続先サーバ指示装置であって、
 前記複数のサーバにおける各サーバに関するサーバパラメータを取得するパラメータ取得手段と、
 前記クライアント端末から受信する接続要求に基づいて、当該クライアント端末の所在地のエリア名を取得するエリア名取得手段と、
 前記エリア名が示すエリアが特定のエリアに属する場合に、前記複数のサーバのうちの前記特定のエリアに設置される1つ又は複数のサーバを前記特定のサーバの候補とし、当該候補となった1つ又は複数のサーバの中から、前記特定のサーバを、前記パラメータ取得手段により取得されるサーバパラメータを用いて決定する接続先決定手段と、
 前記接続先決定手段により決定された前記特定のサーバの情報を前記クライアント端末に送信する接続先指示手段と
 を備える接続先サーバ指示装置が提供される。
 また、本発明の実施の形態によれば、複数のサーバを有するサービス提供システムのサービスを利用するクライアント端末を、前記複数のサーバの中の特定のサーバに接続させるための接続先サーバ指示装置と、前記クライアント端末とを備えるサービス利用システムにおける当該クライアント端末であって、
 前記クライアント端末と各サーバとの間の経路に関する情報である端末パラメータを取得する端末パラメータ取得手段と、
 前記端末パラメータを前記接続先サーバ指示装置に通知するパラメータ通知手段と、
 接続要求を前記接続先サーバ指示装置に送信する接続要求手段と、
 前記接続要求を受信した前記接続先サーバ指示装置において、前記端末パラメータを利用して、前記複数のサーバの中から決定された前記特定のサーバの情報を受信する受信手段と
 を備えるクライアント端末が提供される。
 また、本発明の実施の形態によれば、複数のサーバを有するサービス提供システムのサービスを利用するクライアント端末を、前記複数のサーバの中の特定のサーバに接続させるための接続先サーバ指示装置が実行する接続先サーバ指示方法であって、
 前記複数のサーバにおける各サーバに関するサーバパラメータを取得するパラメータ取得ステップと、
 前記クライアント端末から受信する接続要求に基づいて、当該クライアント端末の所在地のエリア名を取得するエリア名取得ステップと、
 前記エリア名が示すエリアが特定のエリアに属する場合に、前記複数のサーバのうちの前記特定のエリアに設置される1つ又は複数のサーバを前記特定のサーバの候補とし、当該候補となった1つ又は複数のサーバの中から、前記特定のサーバを、前記パラメータ取得ステップにより取得されるサーバパラメータを用いて決定する接続先決定ステップと、
 前記接続先決定ステップにより決定された前記特定のサーバの情報を前記クライアント端末に送信する接続先指示ステップと
 を備える接続先サーバ指示方法が提供される。
 本発明の実施の形態によれば、サービスを提供する複数のサーバの中から、クライアント端末の接続先として適切なサーバを決定し、当該サーバにクライアント端末を接続させることを可能とする技術を提供することが可能となる。
本発明の実施の形態におけるシステム構成図である。 システムの全体動作を説明するためのシーケンス図である。 リダイレクトサーバ100による接続先決定処理の手順を説明するためのフローチャートである。 スコア表の例を示す図である。 特定エリア内のサーバを選定する場合の例を説明するための図である。 パラメータを取得するための処理例1を説明するための図である。 サーバパラメータをスコアに変換するためのパラメータ判定表の例を示す図である。 パラメータを取得するための処理例2を説明するための図である。 ホップ数、到達時間に関するパラメータ変換表の例を示す図である。 ホップ数、到達時間に関するパラメータ変換表の例を示す図である。 パラメータ変換表の例を示す図である。 パラメータ変換表の例を示す図である。 パラメータ変換表の例を示す図である。 パラメータ変換表の例を示す図である。 パラメータ変換表の例を示す図である。 リダイレクトサーバ100の構成図である。 クライアント端末300の構成図である。
 以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
 (システム全体構成)
 図1に、本発明の実施の形態におけるシステムの全体構成例を示す。図1に示すように、本実施の形態に係るシステムは、リダイレクトサーバ100、アクセス元特定システム200、サービスを提供する複数のサーバからなるサービス提供システム400を有する。また、図1に示すように、サービス提供システム400により提供されるサービスを利用するクライアント端末300が存在する。クライアント端末300とリダイレクトサーバ100によりサービス利用が行われることから、クライアント端末300とリダイレクトサーバ100からなるシステムをサービス利用システムと称してもよい。また、リダイレクトサーバ100を接続先サーバ指定装置と称してもよい。なお、図1におけるA、B等は、後述する特定のエリアを示している。
 リダイレクトサーバ100、アクセス元特定システム200、クライアント端末300、及び、サービス提供システム400を構成する各サーバは、ネットワークに接続されており、少なくとも図1において直線で示される区間の通信が可能である。なお、サービス提供システム400と他の装置との間の区間で通信が可能であるとは、サービス提供システム400を構成する各サーバと当該他の装置との間で通信が可能であることを意味する。
 本実施の形態において装置間の通信を可能とするネットワークは特定の種類のネットワークに限定されない。例えば、当該ネットワークは、インターネットでもよいし、プライベートネットワークでもよいし、インターネットとプライベートネットワークが混在したネットワークであってもよい。また、当該ネットワークは、無線ネットワークでもよいし、有線ネットワークでもよいし、無線ネットワークと有線ネットワークが混在したネットワークであってもよい。
 サービス提供システム400は、前述したMSS(マネージドセキュリティサービス)を提供するシステムを想定しており、サービス提供システム400を構成する複数のサーバは、世界中の拠点に分散配置されている。ただし、これは例であり、本発明は、複数のサーバがどのようなエリア単位で配置される場合にも適用可能である。一例として、一つのビル内に複数のサーバが配置され、当該ビル内でサービスを提供するサービス提供システムに対しても本発明を適用することが可能である。
 本実施の形態に係るサービス提供システム400において、サービス提供のためのデータベース(DB)は分散DB等の技術により一元的に管理されており、クライアント端末300はどの拠点のサーバにアクセスしても同じサービスを受けることができる。従って、クライアント端末300(ユーザ)が存在する地理的エリア(例:国)と、当該クライアント端末300がアクセスする先のサーバの拠点が存在する地理的エリアは異なっていてもよい。
 ただし、EUデータプロテクション等のデータ保護に関するレギュレーションや諸外国のセキュリティポリシーの影響により、例えば、EU圏内では、EU圏内のサーバにアクセスログ等のデータを保管しなければならない場合には、当該EU圏内のサーバで分散DBが構築され、後述するように、EU圏内(特定エリア)に存在するクライアント端末の接続先はEU圏内に制限する等の利用が想定される。
 クライアント端末300は、例えばWebブラウザ等を搭載するPC、スマートフォン等である。リダイレクトサーバ100は、クライアント端末300から接続要求を受信すると、サービス提供システム400を構成する複数のサーバの中から、当該クライアント端末300の接続先となるサーバを選択し、当該サーバへの接続指示(リダイレクト応答)を当該クライアント端末300に送信する。
 アクセス元特定システム200は、IPアドレスと、国、都市、ISP等とを対応付けたデータベースを保持するシステムであり、リダイレクトサーバ100から、クライアント端末300の送信元IPアドレスを指定した問い合わせを受信し、当該問い合わせに対して当該送信元IPアドレスに対応する国名等(地理的エリアを示す情報)を返すことができる。アクセス元特定システム200は、GEOIPやWhois等の既存技術で実現可能である。
 本実施の形態では、アクセス元特定システム200を用いることにより、リダイレクトサーバ100は、クライアント端末300の所在地の地理的エリアを決定(推定)することとしているが、リダイレクトサーバ100が、クライアント端末300の所在地の地理的エリアを決定する方法はこの方法に限定されるわけではなく、クライアント端末300の所在地の地理的エリアを判断するためにリダイレクトサーバ100はどのような方法を用いてもよい。
 (システムの動作)
 次に、図2のシーケンス図を参照して、本実施の形態に係るシステムの全体動作について説明する。
 図2の動作の前提として、例えば、リダイレクトサーバ100は総合的なサイトの画面を提供しており、クライアント端末300は最初にリダイレクトサーバ100に接続して当該画面を表示し、当該画面のメニューからサービス提供システム400のサービス(例:MSS)の利用を要求する。図2におけるステップS101の接続要求は当該要求に相当する。ただし、このような前提は一例に過ぎない。
 また、リダイレクトサーバ100は、接続先とするサーバを決定するために用いる各種パラメータを収集し、自身が有するデータベース(又はリダイレクトサーバ100の外部のデータベース)に保持しているものとする。パラメータについての詳細は後述する。当該データベースには、クライアント端末300がサーバにアクセスするために用いる情報(サーバのIPアドレス、URL等)も保持されている。
 図2に示すように、クライアント端末300がリダイレクトサーバ100に、サービス提供システム400のサーバへの接続を要求する接続要求(例:httpリクエスト)を送信する(ステップS101)。
 接続要求を受信したリダイレクトサーバ100は、接続要求を含むパケットの送信元のIPアドレスを取得し、当該IPアドレスに対応する地理的エリアの情報(ここでは例として国名とする)を問い合わせる信号をアクセス元特定システム200に送信する(ステップS102)。問い合わせを受信したアクセス元特定システム200は、IPアドレスに対応する国名をリダイレクトサーバ100に返す(ステップS103)。
 リダイレクトサーバ100は、ステップS103で取得した国名(エリア名)をクライアント端末300が存在する国(エリア)の名前として使用し、当該国名とデータベースに保持しているパラメータ等に基づいて、クライアント端末300の接続先とするサーバを決定する(ステップS104)。
 リダイレクトサーバ100は、ステップS104において決定したサーバにクライアント端末300を接続させるための接続先情報(サーバのURL、IPアドレス等)を含む接続先指示(例:httpリダイレクト応答)をクライアント端末300に送信する(ステップS105)。クライアント端末300は、当該接続先指示に含まれる接続先情報を用いて、リダイレクトサーバ100から指示されたサーバに接続する(ステップS106)。
 (接続先決定手順)
 次に、図3に示すフローチャートを参照して、リダイレクトサーバ100により実行される接続先決定の処理手順を説明する。
 リダイレクトサーバ100は、各サーバの負荷情報、サーバに接続するNW機器の負荷情報、クライアント端末300と各サーバ間のホップ数等のパラメータを取得する事前処理を行う(ステップS201)。なお、図3に示す手順は、1つのクライアント端末300によるサーバへのアクセスに着目したものであり、上記パラメータの取得は当該アクセスに対しての事前処理となるが、後述するように、パラメータの取得は随時(例えば定期的に)実施することとしてよい。
 リダイレクトサーバ100は、クライアント端末300から接続要求を受信する(ステップS202)と、アクセス元特定システム200から、クライアント端末300に対応する国名を取得する(ステップS203)。
 続いて、クライアント端末300は、クライアント端末300の所在地の国名、データベースに格納されている各種パラメータ、及び、パラメータからスコアを決定するためのパラメータ判定表等に基づいて、クライアント端末300の接続先を判定するために使用するスコア表を作成する(ステップS204)。
 図4に、スコア表の一例を示す。スコア表の左側に示すように、当該スコア表で評価対象とするパラメータとして、各サーバに関するパラメータ(サーバパラメータと呼ぶ)と、クライアント端末300とサーバとの間の相関を示すパラメータ(端末パラメータと呼ぶ)がある。なお、図4に示すパラメータは一例である。
 サーバパラメータとしては、サーバがサービス提供を行っているクライアント端末数を示すコネクション数、CPU使用率、メモリ使用率、サーバが接続されるNW機器(スイッチ、ルータ等)の使用率(例:トラフィック量、CPU使用率、ポート使用率等)、サーバ冗長性、サーバスペック、リージョンリスク等がある。
 サーバ冗長性とは、例えば、同一拠点(例:同一国)でのサーバの数であり、数が多いほど冗長性が高い。サーバスペックとは、例えば、CPU、メモリ、ディスク構成、電源等の冗長性等である。リージョンリスクとは、サーバが設置される拠点(国、都市、地域等)におけるサーバ設置環境の品質、災害に対する備え、災害の発生する可能性、NW品質等、当該拠点に特有のリスクである。
 上記サーバパラメータのうち、コネクション数、CPU使用率、メモリ使用率、NW機器使用率等については、リダイレクトサーバ100が例えば定期的に各装置から取得してデータベースに保持する。サーバ冗長性、サーバスペック、リージョンリスク等については、リダイレクトサーバ100のデータベースに予め格納しておき、変更があった場合は更新する。また、サーバ冗長性、サーバスペック、リージョンリスク等については、スコアをパラメータとして保持してもよい。
 端末パラメータとしては、クライアント端末300で使用されるブラウザの言語情報、クライアント端末300とサーバとの間の距離、クライアント端末300とサーバとの間のホップ数(経由するルータの数)、クロスボーダ可否等がある。なお、クライアント端末300とサーバとの間のホップ数に加えて、クライアント端末300からサーバへのパケットの到達時間を端末パラメータとして用いてもよい。
 ブラウザの言語情報について、リダイレクトサーバ100は、クライアント端末300から受信する接続要求(httpリクエスト)の中から取得できる。
 クライアント端末300とサーバとの距離については、例えば、リダイレクトサーバ100が、クライアント端末300からアクセスを受けたときに取得する国名とサーバの拠点の国名とから決定できる。これは、国における特定の地点を決めておき、地点間の距離を計算することとしてもよいし、国の組み合わせ毎に距離を算出しておき、当該距離をテーブルに格納し、当該テーブルから距離を取得することとしてもよい。また、国の組み合わせ毎に距離のスコアを決定しておき、当該スコアを保持しておくこととしてもよい。
 ホップ数と到達時間については、例えば、クライアント端末300がトレースルート等のコマンドを各サーバに対して用いることにより取得し、当該取得したホップ数/到達時間をリダイレクトサーバ100に報告する。ホップ数と到達時間の取得方法は特定の方法に限られず、例えば、ホップ数と到達時間の取得のためのプログラムをクライアント端末300とサーバにインストールしておき、当該プログラムでホップ数と到達時間の取得を行ってもよい。
 クロスボーダ可否の情報は、サーバの属するエリア(国、地域等)に固有の情報であり、例えば、特定のエリア内(例:EU圏内)で管理されるデータを当該エリア外へ持ち出すことに法的制限があるか否かを示す情報である。また、本実施の形態の「クロスボーダ可否」は、このような法的制限の他、サービス事業者の決定による情報を含む。これは、例えば、日本国内のクライアント端末300の接続先を日本国内のサーバに制限するといったことを示す情報である。クロスボーダ可否の情報は、サーバ毎にデータベースに格納される。
 なお、図4に示す全てのパラメータを用いることは必須ではない。クライアント端末300の国名からサーバとの距離を判定できることから、例えば、ホップ数や到達時間等の端末パラメータを用いないこととしてもよい。
 図4に示すように、接続要求を送信したクライアント端末300に対し、パラメータ毎に、サーバ毎のスコアが決定され、スコア表に書き込まれる。本実施の形態では、サーバは、その拠点の国名と、サーバの番号(複数の場合)で示される。
 パラメータに対するスコアは、データベースに保持されているパラメータ判定表により決定される。なお、図4の例では、クロスボーダ可否について、クロスボーダ可のエリアに存在するサーバについては〇が付けられ、クロスボーダ不可のエリアに存在するサーバについては、アクセスを制限するエリア範囲を示すグループ番号が示されている。例えば、ドイツのサーバDE1とDE2についてはGorup2が記載され、日本のサーバJPについてはGroup1が記載されている。これは、ドイツのクライアント端末300の接続先はDE1とDE2に制限され、日本のクライアント端末300の接続先はJPに制限されることを意味する。
 図3のステップS204におけるスコア表の作成にあたって、クライアント端末300の国名に拠らずに決定できるスコア(例:サーバのCPU使用率等のスコア)については、クライアント端末300からの接続要求受信の前に予め決定してスコア表に記入し、クライアント端末300の国名に依存して決定されるスコア(例:距離のスコア)については、接続要求を受けた後にスコアを決定し、スコア表に記入する。もちろん、接続要求を受けた後に全てのスコアについて決定とスコア表への記入を行うこととしてもよい。
 図3のステップS205において、リダイレクトサーバ100は、アクセス元のクライアント端末300の所在地のエリア(国名)が特定のエリアに属するか否かを判定する(ステップS205)。本実施の形態における「特定のエリア」は、クロスボーダ不可のエリアである。
 本実施の形態では、例えば、EU圏内の国については「特定のエリア」に属すると判定される。また、本実施の形態において、日本国内では国内のサーバにアクセスして国内でデータが管理されることのニーズが強いことから、日本についても「特定のエリア」に属すると判断される。また、日本以外の国についても、日本と同様のニーズがある場合、当該国について「特定のエリア」に属すると判断される。なお、「特定のエリア」がどの国を含むか(あるいは1つの国か)については、スコア表におけるGroup番号で識別できる。
 「特定のエリア」の属否の判定については、スコア表を参照して判定してもよいし、図5に示すテーブルをデータベースに備えておき、当該テーブルを参照することで判定してもよい。
 図5に示すテーブルは、「特定のエリア」に該当する国毎に、当該国のクライアント端末300が接続可能な対象国(特定のエリアに含まれる国)と、当該対象国におけるサーバを示すテーブルである。
 図5の例において、アクセス元のクライアント端末300の国がイギリス(UK)である場合、当該クライアント端末300の接続先となるサーバの国はドイツとUKに制限され、接続先のサーバはDE1、2、3、UK1、2、3の中から選定される。
 図3のステップS205において、「特定のエリア」であると判断された場合、ステップS206に進み、「特定のエリア」であると判断されない場合、ステップS207に進む。
 「特定のエリア」であると判断された場合であるステップS206において、リダイレクトサーバ100は、当該特定のエリア内のサーバ群からクライアント端末300を接続させるサーバを選択する。例えば、上記のUKの例の場合であれば、特定のエリア(ドイツ、UK)内のサーバ群(DE1、2、3、UK1、2、3)からサーバを選択する。
 「特定のエリア」であると判断されない場合であるステップS207において、リダイレクトサーバ100は、全体のサーバ群からサーバを選択する。
 上記ステップS206、S207において、リダイレクトサーバ100は、スコア表(例:図4)を参照し、選択範囲のサーバ群における各サーバについて、スコアを持つ全てのパラメータについてのスコアを加算し、スコアが最小となるサーバを選択する。なお、本実施の形態では、サーバへのアクセスに適さない場合にスコアを大きくするようなスコアの付け方を採用しているためにスコアが最小となるサーバを選択するが、これは一例に過ぎない。サーバへのアクセスに適する場合にスコアを大きくするようなスコアの付け方を採用して、スコアが最大となるサーバを選択してもよい。
 一例として、図4の例において、クライアント端末300の国がSG(シンガポール)である場合に、SGはクロスボーダ可であるので、全体のサーバ群からサーバが選択される。そして、図4の場合、SGのサーバ/NWが逼迫している状況であるため、サーバ/NWのスコアが高くなっている。そのため、クライアント端末300の所在地がSGであっても、結果として、スコアの合計が最小となるJPのサーバが選択される(図4においてAで示す枠で囲んで示している)。
 なお、特定のエリア内のサーバ群が1つのサーバである場合、スコアにより判定を行わなくてもよいし、行っても良い。特定のエリア内のサーバ群が1つのサーバである場合に、スコアにより判定を行う場合、例えば、スコアが非常に悪い場合(当該サーバへの接続が適切でない場合)、クライアント端末300に対してサーバへの接続をさせないメッセージを返したり、別のエリアのサーバを選択するといった処理が可能である。
 また、本実施の形態では、図4に示すように、スコアを表形式で処理しているが、表形式は一例である。スコアを計算できる処理方法であれば表形式を用いなくてもよい。
 図3のステップS208において、リダイレクトサーバ100は、選択したサーバへの接続をクライアント端末300に指示する。
 (パラメータ及びスコアについて)
 以下、パラメータの取得及びスコアへの変換についてより具体的に説明する。
 図6は、サーバパラメータを取得するための処理の例を示すシーケンス図である。図6に示すように、リダイレクトサーバ100は各サーバにパラメータ取得要求を送信し(ステップS301)、各サーバからパラメータ(コネクション数、CPU使用率、メモリ使用率等)を取得する(ステップS302)とともに、各NW機器にパラメータ取得要求を送信し(ステップS303)、各NW機器からパラメータを取得する(ステップS304)。取得したパラメータはデータベースに格納する(ステップS305)。
 上記のパラメータ取得については、例えばSNMPプロトコルを用いて実行することが可能である。また、パラメータ取得は例えば定期的に実行する。
 リダイレクトサーバ100は、例えば図7に示すようなパラメータ判定表を参照することで、取得したパラメータに対応するスコアを算出し、スコアをデータベースに格納する。パラメータ判定表は予めデータベースに設定しておく表である。
 図7に示す例において、例えば、サーバのパラメータとしてコネクション数「10」が得られた場合、当該サーバの当該パラメータに対応するスコアは「50」となる。
 図8は、端末パラメータを取得するための処理の例を示すシーケンス図である。図8に示すように、パラメータ取得のための要求パケットを各サーバに送信し(ステップS401)、各サーバから応答パケットを受信する(ステップS402)。例えば、応答パケットには、クライアント端末300からサーバまでの経路のホップ数(経由するルータの数)と、要求パケットがクライアント端末300からサーバに届くまでの到達時間が含まれる。
 本実施の形態において、上記のパラメータ取得を行うための処理を実行するプログラムをクライアント端末300にインストールすることで上記の処理を実現することができる。また、トレースルート等、サーバやクライアント端末300に一般的に備えられている機能を使用してホップ数、到達時間等を取得してもよい。
 ステップS402で端末パラメータを取得したクライアント端末300は、当該パラメータをリダイレクトサーバ100に通知する(ステップS403)。リダイレクトサーバ100は、クライアント端末300から受信したパラメータを、クライアント端末300を識別可能な情報(例:IPアドレス)とともにデータベースに格納する(ステップS404)。
 上記の処理は定期的に行うこととしてもよいし、クライアント端末300がリダイレクトサーバ100に接続要求を送信するタイミングで行うこととしてもよい。つまり、例えば、ユーザによりクライアント端末300に対して接続要求送信のための操作がなされたときに、クライアント端末300は端末パラメータを取得し、取得した端末パラメータと接続要求とをリダイレクトサーバ100に送信する。
 リダイレクトサーバ100は、例えば図9A、Bに示すようなパラメータ判定表を参照することで、取得したパラメータに対応するスコアを算出し、スコアをデータベースに格納する。パラメータ判定表は予めデータベースに設定しておく表である。
 図9Aに示す例において、例えば、あるサーバに対するクライアント端末300のパラメータとしてホップ数「7」が得られた場合、当該サーバの当該パラメータに対応するスコアは「100」となる。また、図9Bに示す例において、例えば、あるサーバに対するクライアント端末300のパラメータとして到達時間「50ms」が得られた場合、当該サーバの当該パラメータに対応するスコアは「50」となる。
 以下、パラメータ判定表の例について更に説明する。
 図10Aは、端末パラメータの1つであるブラウザの言語情報のパラメータとスコアを対応付けたパラメータ判定表の例である。図10Aでは、ブラウザの言語情報のパラメータがJP、CN等として示され、それぞれについて、サーバの拠点毎のスコアが示される。なお、図10Aは一部の拠点を示すものである。例えば、ブラウザの使用言語がCN(中国語)である場合に、拠点がシンガポール(SG)のサーバについてのスコアは100となる。
 図10Bは、端末パラメータの1つである距離のパラメータとスコアを対応付けたパラメータ判定表の例である。図10Bでは、距離として国名が示されている。なお、図10Bは一部の拠点を示すものである。例えば、距離が「JP」である場合に、拠点が中国(CN)のサーバについてのスコアは100となる。
 図11Aは、サーバ冗長性についてのパラメータ判定表の例である。サーバ冗長性は基本的に静的に定まっているものなので、この例では、サーバ冗長性を直接にスコアとして記録して、パラメータ判定表としている。例えば、サーバ「UK」のスコアは50である。
 図11Bは、サーバスペックについてのパラメータ判定表の例である。サーバスペックについても基本的に静的に定まっているものなので、この例でも、サーバスペックを直接にスコアとして記録して、パラメータ判定表としている。例えば、サーバ「UK」のスコアは100である。
 図11Cは、リージョンリスクについてのパラメータ判定表の例である。リージョンリスクについても基本的に静的に定まっているものなので、この例でも、リージョンリスクを直接にスコアとして記録して、パラメータ判定表としている。例えば、サーバ「UK」のスコアは50である。
 上記の各スコアは基本的に静的に定まっているものであるが、変動する場合も少なくないので、定期的にチェックを行って、現状との違いが生じた場合には更新を行う。
 (装置構成)
  <リダイレクトサーバ100>
 図12に、これまでに説明した処理を実行可能なリダイレクトサーバ100の構成例を示す。
 図12に示すように、リダイレクトサーバ100は、データベース101、パラメータ取得部102、接続要求受信部103、問い合わせ部104、スコア表作成部105、接続先決定部106、接続指示部107を含む。
 データベース101には、これまでに説明した各種パラメータ、スコア表、パラメータ判定表等、リダイレクトサーバ100がクライアント端末300に接続させるサーバを選択するために必要な情報が格納される。なお、データベース100はリダイレクトサーバ100の外部に備えられていてもよい。
 パラメータ取得部102は、サーバ/NW機器からサーバパラメータを取得するとともに、ホップ数等の端末パラメータをクライアント端末300から受信し、データベース101に格納する。データベース101に格納する際に、スコアに変換可能なパラメータ(クライアント端末300の所在地に拠らずにスコアが決まるパラメータ等)については、スコアに変換してから格納してもよい。また、スコア表の一部を埋めた形式でスコアを格納してもよい。
 接続要求受信部103は、クライアント端末300から接続要求を受信した場合に、送信元のIPアドレスを問い合わせ部104に渡して国名の取得を依頼する。問い合わせ部104は、アクセス元特定システム200に対して接続要求の送信元のIPアドレスに対応する国名を問い合わせ、当該国名を取得する。
 スコア表作成部105は、クライアント端末300の所在地(国名)、サーバ/NW機器から取得したパラメータ、クライアント端末300から取得したパラメータ、静的なパラメータ、パラメータ変換表等からスコア表(例:図4)を作成する。例えば、図4の例において、スコア表作成部105は、クライアント端末300の所在地に拠らずに定まるサーバパラメータに関するスコアと、クロスボーダ可否に関する情報(〇、Group番号等)を埋めたスコア表を、クライアント端末300からの接続要求を受信する前に作成しておく。そして、クライアント端末300から接続要求を受信したときに、当該クライアント端末300についてのブラウザ言語情報、距離、ホップ数等の端末パラメータについてのスコアをスコア表に書き込むことでスコア表を完成させ、データベース101に格納する。
 接続先決定部106は、スコア表作成部105により作成されたスコア表に基づいて、クライアント端末300の接続先とするサーバを決定する。接続指示部107は、接続要求の送信元のクライアント端末300を、接続先決定部106により決定されたサーバに接続させるための接続先指示をクライアント端末300に送信する。
 図12に示すリダイレクトサーバ100の機能は、主要な機能を示すものである。また、図12に示す機能区分は一例に過ぎず、本実施の形態で説明される処理を実行できるのであれば、機能区分は図12に示す機能区分に限定されない。
 本実施の形態に係るリダイレクトサーバ100は、1つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、リダイレクトサーバ100が有する機能は、当該コンピュータに内蔵されるCPU等のプロセッサやメモリ、ハードディスクなどのハードウェア資源を用いて、リダイレクトサーバ100で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
 また、リダイレクトサーバ100を構成する各部をハードウェアの回路で構成することとしてもよい。
  <クライアント端末300>
 図13に、これまでに説明した処理を実行可能なクライアント端末300の構成例を示す。
 図13に示すように、クライアント端末300は、接続要求部301、接続先指示受信部302、パラメータ取得部303、パラメータ通知部304を含む。接続要求部301は、例えばユーザによる操作に基づいて、接続要求をリダイレクトサーバ100に送信するとともに、接続先指示受信部302により受信した接続先指示に基づいて、サーバへの接続を実行する。接続先指示受信部302は、リダイレクトサーバ100により決定されたサーバへの接続を指示する接続先指示をリダイレクトサーバ100から受信する。
 本実施の形態では、Webベースで接続要求やサービスの利用を行うことを想定しており、上記の接続要求部301及び接続先指示受信部302は、クライアント端末300が備えるWebブラウザにより実現することができる。
 パラメータ取得部303は、定期的に、もしくは、接続要求部301に対してリダイレクトサーバ100への接続要求指示がなされた場合に、各サーバに対して、端末パラメータの要求パケットを送信することで、各サーバに関する端末パラメータ(ホップ数、到達時間等)を取得する。パラメータ通知部304は、パラメータ取得部303が取得した端末パラメータをリダイレクトサーバ100に送信する。パラメータ通知部304は、例えば、クライアント端末300におけるエージェントとして実現される。
 図13に示すクライアント端末300の機能は、主要な機能を示すものである。また、図13に示す機能区分は一例に過ぎず、本実施の形態で説明される処理を実行できるのであれば、機能区分は図13に示す機能区分に限定されない。
 本実施の形態に係るクライアント端末300は、PCやスマートフォン等、コンピュータの機能を含む端末に、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、クライアント端末300が有する機能は、当該コンピュータに内蔵されるCPU等のプロセッサやメモリ、ハードディスクなどのハードウェア資源を用いて、クライアント端末300で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
 また、クライアント端末300を構成する各部をハードウェアの回路で構成することとしてもよい。
 (実施の形態のまとめ)
 本実施の形態により、複数のサーバを有するサービス提供システムのサービスを利用するクライアント端末を、前記複数のサーバの中の特定のサーバに接続させるための接続先サーバ指示装置であって、前記複数のサーバにおける各サーバに関するサーバパラメータを取得するパラメータ取得手段と、前記クライアント端末から受信する接続要求に基づいて、当該クライアント端末の所在地のエリア名を取得するエリア名取得手段と、前記エリア名が示すエリアが特定のエリアに属する場合に、前記複数のサーバのうちの前記特定のエリアに設置される1つ又は複数のサーバを前記特定のサーバの候補とし、当該候補となった1つ又は複数のサーバの中から、前記特定のサーバを、前記パラメータ取得手段により取得されるサーバパラメータを用いて決定する接続先決定手段と、前記接続先決定手段により決定された前記特定のサーバの情報を前記クライアント端末に送信する接続先指示手段とを備える接続先サーバ指示装置が提供される。
 前記エリア名が示すエリアが特定のエリアに属さない場合において、前記接続先決定手段は、前記サービス提供システムを構成する全サーバを前記特定のサーバの候補とすることとしてもよい。
 前記パラメータ取得手段は、前記クライアント端末と各サーバとの間の経路に関する情報である端末パラメータを前記クライアント端末から取得し、前記接続先決定手段は、前記サーバパラメータと前記端末パラメータとを用いて、前記候補となった1つ又は複数のサーバの中から、前記特定のサーバを決定するようにしてもよい。
 前記接続先決定手段は、前記サービス提供システムを構成する複数のサーバのそれぞれについて、前記パラメータ取得手段により取得した各パラメータに対応するスコアを求め、各サーバについての当該スコアの合計に基づいて前記特定のサーバを決定することとしてもよい。
 また、本実施の形態によれば、複数のサーバを有するサービス提供システムのサービスを利用するクライアント端末を、前記複数のサーバの中の特定のサーバに接続させるための接続先サーバ指示装置と、前記クライアント端末とを備えるサービス利用システムであって、前記クライアント端末は、前記クライアント端末と各サーバとの間の経路に関する情報である端末パラメータを取得する端末パラメータ取得手段と、前記端末パラメータを前記接続先サーバ指示装置に通知するパラメータ通知手段と、を備え、前記接続先サーバ指示装置は、前記複数のサーバにおける各サーバに関するサーバパラメータと、前記端末パラメータを取得するパラメータ取得手段と、前記クライアント端末から受信する接続要求に基づいて、当該クライアント端末の所在地のエリア名を取得するエリア名取得手段と、前記エリア名が示すエリアが特定のエリアに属する場合に、前記複数のサーバのうちの前記特定のエリアに設置される1つ又は複数のサーバを前記特定のサーバの候補とし、当該候補となった1つ又は複数のサーバの中から、前記特定のサーバを、前記パラメータ取得手段により取得されるサーバパラメータ及び端末パラメータを用いて決定する接続先決定手段と、前記接続先決定手段により決定された前記特定のサーバの情報を前記クライアント端末に送信する接続先指示手段と、を備えるサービス利用システムが提供される。
 また、本実施の形態によれば、複数のサーバを有するサービス提供システムのサービスを利用するクライアント端末を、前記複数のサーバの中の特定のサーバに接続させるための接続先サーバ指示装置と、前記クライアント端末とを備えるサービス利用システムにおける当該クライアント端末であって、前記クライアント端末と各サーバとの間の経路に関する情報である端末パラメータを取得する端末パラメータ取得手段と、前記端末パラメータを前記接続先サーバ指示装置に通知するパラメータ通知手段と、接続要求を前記接続先サーバ指示装置に送信する接続要求手段と、前記接続要求を受信した前記接続先サーバ指示装置において、前記端末パラメータを利用して、前記複数のサーバの中から決定された前記特定のサーバの情報を受信する受信手段とを備えるクライアント端末が提供される。
 リダイレクトサーバ100は、上記の接続先サーバ指示装置の例である。また、パラメータ取得部102は、パラメータ取得手段の例である。接続要求受信部103及び問い合わせ部104は、エリア名取得手段の例である。また、接続先決定部106は、接続先決定手段の例であり、接続指示部107は、接続先指示手段の例である。なお、接続先サーバ指示装置におけるパラメータ取得手段、エリア名取得手段、接続先決定手段、接続先指示手段をそれぞれ、パラメータ取得部、エリア名取得部、接続先決定部、接続先指示部に置き換えてもよい。
 また、クライアント端末300は、上記のクライアント端末の例である。パラメータ取得部303は、端末パラメータ取得手段の例であり、パラメータ通知部304は、パラメータ通知手段の例である。また、接続要求部301は、接続要求手段の例であり、接続先指示受信部302は、受信手段の例である。なお、クライアント端末における端末パラメータ取得手段、パラメータ通知手段、接続要求手段、受信手段をそれぞれ、端末パラメータ取得部、パラメータ通知部、接続要求部、受信部に置き換えてもよい。
 (実施の形態の効果について)
 従来技術では、接続先をユーザが直接指定してサーバへアクセスするため、一箇所のサーバにアクセスが偏り、サービス継続が困難になるケースや、回線負荷やサーバ負荷が増え、当初予定とは異なる予期せぬ追加投資の必要性に迫られることがある。
 本実施の形態に係る技術により、上記の問題を解決し、適切に接続先サーバを選択し、ユーザに当該サーバへの接続を行わせることが可能となる。
 また、EUデータプロテクションに代表されるようにセキュリティ監視ログ(個人のアクセスログ等)をクロスボーダで転送することの規制や当該ログへのアクセス元の国を限定すべき等のニーズ対応が必要であるところ、本実施の形態に係る技術により、このような規制やニーズに対応することが可能となる。
 本実施の形態に係る技術の適用分野は特定の分野に限定されない。ただし、本実施の形態では一例として適用対象をグローバル拠点に点在するマネージドセキュリティサービスの提供システムとしている。このようなマネージドセキュリティサービスの提供システムに本技術を適用することで、当該システムを構成する各サーバに対して、例えば、データの保管先が特定国内のサーバに限定されている、アクセス先のサーバが特定国内に限定されている、といった制限条件があっても、ユーザが最適なサーバに接続することが可能となる。また、当該システムにおいて、サーバの増設数に制限がある場合でも、設備の増設を行うことなく輻輳を回避させることができる。更には、各サーバの品質にばらつきがある状況であっても、ユーザに対して最適な品質のもとでサービスを提供することができる。
 本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
 本特許出願は2015年5月26日に出願した日本国特許出願第2015-106718号に基づきその優先権を主張するものであり、日本国特許出願第2015-106718号の全内容を本願に援用する。
100 リダイレクトサーバ
101 データベース
102 パラメータ取得部
103 接続要求受信部
104 問い合わせ部
105 スコア表作成部
106 接続先決定部
107 接続指示部
200 アクセス元特定システム
300 クライアント端末
301 接続要求部
302 接続先指示受信部
303 パラメータ取得部
304 パラメータ通知部
400 サービス提供システム

Claims (9)

  1.  複数のサーバを有するサービス提供システムのサービスを利用するクライアント端末を、前記複数のサーバの中の特定のサーバに接続させるための接続先サーバ指示装置であって、
     前記複数のサーバにおける各サーバに関するサーバパラメータを取得するパラメータ取得手段と、
     前記クライアント端末から受信する接続要求に基づいて、当該クライアント端末の所在地のエリア名を取得するエリア名取得手段と、
     前記エリア名が示すエリアが特定のエリアに属する場合に、前記複数のサーバのうちの前記特定のエリアに設置される1つ又は複数のサーバを前記特定のサーバの候補とし、当該候補となった1つ又は複数のサーバの中から、前記特定のサーバを、前記パラメータ取得手段により取得されるサーバパラメータを用いて決定する接続先決定手段と、
     前記接続先決定手段により決定された前記特定のサーバの情報を前記クライアント端末に送信する接続先指示手段と
     を備える接続先サーバ指示装置。
  2.  前記エリア名が示すエリアが特定のエリアに属さない場合において、前記接続先決定手段は、前記サービス提供システムを構成する全サーバを前記特定のサーバの候補とする
     請求項1に記載の接続先サーバ指示装置。
  3.  前記パラメータ取得手段は、前記クライアント端末と各サーバとの間の経路に関する情報である端末パラメータを前記クライアント端末から取得し、
     前記接続先決定手段は、前記サーバパラメータと前記端末パラメータとを用いて、前記候補となった1つ又は複数のサーバの中から、前記特定のサーバを決定する
     請求項1又は2に記載の接続先サーバ指示装置。
  4.  前記接続先決定手段は、前記サービス提供システムを構成する複数のサーバのそれぞれについて、前記パラメータ取得手段により取得した各パラメータに対応するスコアを求め、各サーバについての当該スコアの合計に基づいて前記特定のサーバを決定する
     請求項1ないし3のうちいずれか1項に記載の接続先サーバ指示装置。
  5.  複数のサーバを有するサービス提供システムのサービスを利用するクライアント端末を、前記複数のサーバの中の特定のサーバに接続させるための接続先サーバ指示装置と、前記クライアント端末とを備えるサービス利用システムであって、
     前記クライアント端末は、
     前記クライアント端末と各サーバとの間の経路に関する情報である端末パラメータを取得する端末パラメータ取得手段と、
     前記端末パラメータを前記接続先サーバ指示装置に通知するパラメータ通知手段と、を備え、
     前記接続先サーバ指示装置は、
     前記複数のサーバにおける各サーバに関するサーバパラメータと、前記端末パラメータを取得するパラメータ取得手段と、
     前記クライアント端末から受信する接続要求に基づいて、当該クライアント端末の所在地のエリア名を取得するエリア名取得手段と、
     前記エリア名が示すエリアが特定のエリアに属する場合に、前記複数のサーバのうちの前記特定のエリアに設置される1つ又は複数のサーバを前記特定のサーバの候補とし、当該候補となった1つ又は複数のサーバの中から、前記特定のサーバを、前記パラメータ取得手段により取得されるサーバパラメータ及び端末パラメータを用いて決定する接続先決定手段と、
     前記接続先決定手段により決定された前記特定のサーバの情報を前記クライアント端末に送信する接続先指示手段と、を備える
     サービス利用システム。
  6.  複数のサーバを有するサービス提供システムのサービスを利用するクライアント端末を、前記複数のサーバの中の特定のサーバに接続させるための接続先サーバ指示装置と、前記クライアント端末とを備えるサービス利用システムにおける当該クライアント端末であって、
     前記クライアント端末と各サーバとの間の経路に関する情報である端末パラメータを取得する端末パラメータ取得手段と、
     前記端末パラメータを前記接続先サーバ指示装置に通知するパラメータ通知手段と、
     接続要求を前記接続先サーバ指示装置に送信する接続要求手段と、
     前記接続要求を受信した前記接続先サーバ指示装置において、前記端末パラメータを利用して、前記複数のサーバの中から決定された前記特定のサーバの情報を受信する受信手段と
     を備えるクライアント端末。
  7.  コンピュータを、請求項1ないし4のうちいずれか1項に記載の接続先サーバ指示装置における各手段として機能させるためのプログラム。
  8.  コンピュータを、請求項6に記載のクライアント端末における各手段として機能させるためのプログラム。
  9.  複数のサーバを有するサービス提供システムのサービスを利用するクライアント端末を、前記複数のサーバの中の特定のサーバに接続させるための接続先サーバ指示装置が実行する接続先サーバ指示方法であって、
     前記複数のサーバにおける各サーバに関するサーバパラメータを取得するパラメータ取得ステップと、
     前記クライアント端末から受信する接続要求に基づいて、当該クライアント端末の所在地のエリア名を取得するエリア名取得ステップと、
     前記エリア名が示すエリアが特定のエリアに属する場合に、前記複数のサーバのうちの前記特定のエリアに設置される1つ又は複数のサーバを前記特定のサーバの候補とし、当該候補となった1つ又は複数のサーバの中から、前記特定のサーバを、前記パラメータ取得ステップにより取得されるサーバパラメータを用いて決定する接続先決定ステップと、
     前記接続先決定ステップにより決定された前記特定のサーバの情報を前記クライアント端末に送信する接続先指示ステップと
     を備える接続先サーバ指示方法。
PCT/JP2016/057617 2015-05-26 2016-03-10 接続先サーバ指示装置、サービス利用システム、クライアント端末、接続先サーバ指示方法、及びプログラム WO2016189928A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
SG11201709750PA SG11201709750PA (en) 2015-05-26 2016-03-10 Connection destination server instruction apparatus, service use system, client terminal, connection destination server instruction method, and program
US15/576,780 US10547690B2 (en) 2015-05-26 2016-03-10 Connection destination server instruction apparatus, service use system, client terminal, connection destination server instruction method, and program
EP16799637.0A EP3306480B1 (en) 2015-05-26 2016-03-10 Destination server indication device, service using system, client terminal, destination server indication method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015106718A JP6251702B2 (ja) 2015-05-26 2015-05-26 接続先サーバ指示装置、サービス利用システム、接続先サーバ指示方法、及びプログラム
JP2015-106718 2015-05-26

Publications (1)

Publication Number Publication Date
WO2016189928A1 true WO2016189928A1 (ja) 2016-12-01

Family

ID=57393233

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/057617 WO2016189928A1 (ja) 2015-05-26 2016-03-10 接続先サーバ指示装置、サービス利用システム、クライアント端末、接続先サーバ指示方法、及びプログラム

Country Status (5)

Country Link
US (1) US10547690B2 (ja)
EP (1) EP3306480B1 (ja)
JP (1) JP6251702B2 (ja)
SG (1) SG11201709750PA (ja)
WO (1) WO2016189928A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10701161B2 (en) * 2017-08-28 2020-06-30 Citrix Systems, Inc. Wrapping continuation tokens to support paging for multiple servers across different geolocations
US20210136059A1 (en) * 2019-11-05 2021-05-06 Salesforce.Com, Inc. Monitoring resource utilization of an online system based on browser attributes collected for a session
US11245670B1 (en) * 2020-12-17 2022-02-08 360 It, Uab Dynamic system and method for identifying optimal servers in a virtual private network
US11758001B2 (en) 2020-12-17 2023-09-12 360 It, Uab Dynamic system and method for identifying optimal servers in a virtual private network
US11818027B2 (en) * 2022-02-24 2023-11-14 Oversec, Uab Ping-based selection of private network servers
US11552932B1 (en) * 2022-02-24 2023-01-10 Oversee, UAB Identifying virtual private network servers for user devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003167810A (ja) * 2001-11-30 2003-06-13 Nippon Telegr & Teleph Corp <Ntt> サーバ選択方法、サーバ選択装置、サーバ選択プログラム、および、記録媒体
JP2008217302A (ja) * 2007-03-02 2008-09-18 Nec Corp 仮想マシンシステム、管理サーバ、仮想マシン移行方法及びプログラム
US20120089671A1 (en) * 2005-06-17 2012-04-12 Aol Inc. Selecting an instance of a resource using network routability information
JP2014056335A (ja) * 2012-09-11 2014-03-27 Nec Commun Syst Ltd 仮想マシン配置システム及び仮想マシン配置方法、並びにコンピュータ・プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198346A (ja) 1996-01-17 1997-07-31 Mitsubishi Electric Corp サーバ選択方式及び方法
JP4481529B2 (ja) * 2001-06-26 2010-06-16 キヤノン株式会社 データ保存サービス装置、その制御方法、及びプログラム
US7254606B2 (en) 2001-01-30 2007-08-07 Canon Kabushiki Kaisha Data management method using network
JP2005004243A (ja) * 2003-06-09 2005-01-06 Tkc Corp データベースバックアップ方法、およびその方法をコンピュータに実行させるプログラム、データベースバックアップシステム、データサーバ、管理サーバ
FR2945644A1 (fr) * 2009-05-18 2010-11-19 Alcatel Lucent Systeme de sauvegarde de donnees
JP5283271B2 (ja) 2009-05-18 2013-09-04 独立行政法人情報通信研究機構 ネットワークにおけるサーバ選択方法,選択システム及びプログラム
EP2365675B1 (en) 2010-03-09 2018-01-10 BlackBerry Limited Communications system providing server load balancing based upon load and separation metrics and related methods
JP2013171371A (ja) 2012-02-20 2013-09-02 Nippon Telegr & Teleph Corp <Ntt> パケットフィルタリング方法及び装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003167810A (ja) * 2001-11-30 2003-06-13 Nippon Telegr & Teleph Corp <Ntt> サーバ選択方法、サーバ選択装置、サーバ選択プログラム、および、記録媒体
US20120089671A1 (en) * 2005-06-17 2012-04-12 Aol Inc. Selecting an instance of a resource using network routability information
JP2008217302A (ja) * 2007-03-02 2008-09-18 Nec Corp 仮想マシンシステム、管理サーバ、仮想マシン移行方法及びプログラム
JP2014056335A (ja) * 2012-09-11 2014-03-27 Nec Commun Syst Ltd 仮想マシン配置システム及び仮想マシン配置方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
JP6251702B2 (ja) 2017-12-20
EP3306480A4 (en) 2019-01-16
EP3306480B1 (en) 2020-11-25
US20180309834A1 (en) 2018-10-25
US10547690B2 (en) 2020-01-28
JP2016218975A (ja) 2016-12-22
SG11201709750PA (en) 2017-12-28
EP3306480A1 (en) 2018-04-11

Similar Documents

Publication Publication Date Title
WO2016189928A1 (ja) 接続先サーバ指示装置、サービス利用システム、クライアント端末、接続先サーバ指示方法、及びプログラム
CN109842906B (zh) 一种通信的方法、装置及系统
KR101177203B1 (ko) 애니캐스트를 통한 맵리스 글로벌 트래픽 로드 밸런싱
US9712412B2 (en) Aggregating status to be used for selecting a content delivery network
CN110381131B (zh) Mec节点标识的实现方法、移动终端、服务器和存储介质
CN101779505A (zh) 无线节点的注册
KR102486733B1 (ko) 로컬 영역 네트워크 통신 방법, 디바이스 및 시스템
US10666521B1 (en) Positioning network devices
WO2018112759A1 (zh) 访问资源的方法、装置和系统
CN108512714B (zh) 一种报文传输方法、相关设备和系统
US20220182795A1 (en) Broadcast method, apparatus, and system
KR20220048484A (ko) 분산 서비스를 위한 요청 응답의 정확한 통신 지연 보장을 제공하기 위한 시스템
JPWO2021071987A5 (ja)
JP7426409B2 (ja) エッジアプリケーションを確定する方法、装置、機器及び記憶媒体
US9106726B2 (en) Method and system for provisioning packetized voice communication services
CN107517162B (zh) 一种cdn缓存服务器的确定方法及装置
JP5726302B2 (ja) トポロジサーバを用いた、通信アーキテクチャにわたって分散されたノードのネットワークに対する秘密または保護されたアクセス
JP6298245B2 (ja) 中継装置、dnsサーバ及びそれらを備えた通信システム並びにdnsサーバの通信用プログラム及び中継装置の通信用プログラム
US20140181307A1 (en) Routing apparatus and method
US11438301B1 (en) Systems and methods for location-based assignment of network address information
JP6194568B2 (ja) アプリケーション通信制御システムおよびアプリケーション通信制御方法
US20240073130A1 (en) Mobile core cloud connection router
JP5708792B2 (ja) 通信装置、経路探索方法および経路探索プログラム
KR20140121237A (ko) 사용자 그룹 서비스 제공 방법, 이를 수행하는 사용자 그룹 서비스 제공 서버 및 사용자 그룹 릴레이 서버
CN116708456A (zh) 使用多因素路径选择确定最佳路径上的最佳目的地

Legal Events

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

Ref document number: 16799637

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 11201709750P

Country of ref document: SG

Ref document number: 15576780

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016799637

Country of ref document: EP