WO2013157042A1 - 分散アプリケーション及びデータホスティングシステム - Google Patents

分散アプリケーション及びデータホスティングシステム Download PDF

Info

Publication number
WO2013157042A1
WO2013157042A1 PCT/JP2012/002730 JP2012002730W WO2013157042A1 WO 2013157042 A1 WO2013157042 A1 WO 2013157042A1 JP 2012002730 W JP2012002730 W JP 2012002730W WO 2013157042 A1 WO2013157042 A1 WO 2013157042A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
application
data
management
information
Prior art date
Application number
PCT/JP2012/002730
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 PCT/JP2012/002730 priority Critical patent/WO2013157042A1/ja
Priority to US14/395,670 priority patent/US9654415B2/en
Priority to JP2014510963A priority patent/JP5970541B2/ja
Publication of WO2013157042A1 publication Critical patent/WO2013157042A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1063Application servers providing network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/20Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location

Definitions

  • the technology disclosed in this specification relates to an application and a data utilization method in an information processing system connected to a wide-area computer network.
  • a form in which a processing result is transmitted to a terminal device by using a processing function of an information processing device disposed in a central data center has become common.
  • the processing is concentrated on information processing devices such as servers and storages in the data center, and the information processing device is connected from the outside where the user is connected to the data center via a network. It is common to use With cloud computing, by concentrating information processing devices on the data center, system construction costs and running costs can be minimized.
  • a user receives provision of a server and storage from a hosting company, operates an application program (referred to as application or AP) on the server, and stores data on the storage.
  • application or AP application program
  • the information processing function using the server and the storage is used from a remote place.
  • Such forms of operating applications or storing and utilizing data on storage are called application hosting and data hosting, respectively.
  • CDN content delivery network
  • Patent Document 3 describes a system capable of changing an information processing position and providing a low-delay information processing system using an intelligent node having an information processing function and an arbitrary destination change function. ing.
  • the distribution method is divided according to the data type.
  • the information to be used is a server that exists at the distribution point. Not delivered to. Therefore, in a process that requires dynamic generation, communication from a terminal to a central data center server (origin server) that is the center of information processing occurs. In this way, when the processing results are different each time, the processing amount at the central data center becomes enormous, and ensuring the line quality of the central data center becomes a problem in business operation.
  • the CDN technology shows a data distribution method suitable for distributing static contents such as digital contents, but its application to an information processing system that performs information processing with different processing each time is less effective, and the line quality Costs to maintain.
  • processing that can be performed in advance and distributed to distribution points can solve the problem by distribution, but has been processed to the data center of the edge that is the distribution point indefinitely If the data is cached, the storage of the edge data center and the network resources at the time of transfer are consumed, so the increase in cost becomes a problem in business operation.
  • the information processing position is set to a node close to the terminal in a platform having a mechanism capable of seamless transition while maintaining consistency with an information system such as an existing data center.
  • the delay is reduced by migrating.
  • a method for placing applications and data at a distribution point such as a network node and performing an application that performs dynamic generation processing to reduce the resource usage particularly at the distribution point.
  • an application server that executes an application and transmits an execution result to a device connected to a network such as a terminal, and management that arranges the application and data on the application server and the storage, respectively.
  • the management server obtains the location information of the device from the device via the application server, selects the application server that is the migration destination of the application from the location information, and the migration source application.
  • a distributed application and data host characterized by relocating the application execution location according to a procedure for instructing the server to which the application server is to be migrated and a procedure for migrating the application and data between the application servers.
  • An information processing system for realizing the Ingu method and the method.
  • Network access of a specific information processing device or an information processing device that provides an application or data to a distributed information processing device while suppressing the resource usage of the information processing device required for application or data caching by the above method It is possible to provide a wide area distributed application and a data hosting method that reduce the load on the network.
  • the information processing apparatuses distributed and arranged on the network operate in cooperation to distribute the application and data to a distribution point in a wide area.
  • a wide-area distributed information processing system that does not concentrate the network load on a specific data center while suppressing the resource usage at the distribution point can be provided.
  • the response time when the system user receives the information processing service is shortened. It has the effect of improving the quality of experience.
  • the network load on a specific data center is not concentrated, so the transfer amount and bandwidth of the network connected to the data center are suppressed. It is possible to provide an information system with reduced costs.
  • the 2nd figure which illustrates the change of the base where the application and data in the information processing system of a first embodiment are distributed.
  • FIG. 4 is a fourth diagram illustrating a change in bases where applications and data are distributed in the information processing system according to the first embodiment;
  • FIG. 1 shows an outline of the configuration of the information processing system according to the first embodiment.
  • the information processing system according to the present embodiment includes a management base, a base B, a base C, a base D, a server and a management server installed in the base E, and devices such as terminals and sensors via a backbone network and an access network. Connected.
  • the base B110 is an information processing base that is connected to the backbone network and performs information processing requested by the user, and is generally a data center or a predetermined area installed in the data center.
  • a base is described as a data center or a predetermined area installed in a data center, and a server, a management server, a storage, and a device are included in a network segment in a predetermined range. It is connected.
  • a base is an entire data center, a section with a data center, a rack with a data center, a device installed in a building, a device installed in a network base station, Kiosk terminal devices installed at retail stores, cash dispensers, vending machines, devices attached to equipment such as mobile phones and landline telephone communication devices and utility poles, sensors and in-vehicle equipment It may be a facility including roadside radio equipment (RSU: Road Side Unit) that obtains information wirelessly from a device.
  • RSU Road Side Unit
  • a management server B111 In the base B110, a management server B111, an application server B112, and a storage 113 are installed, and information processing devices such as servers, terminals, and devices, which will be described later, via a network such as a backbone network and an access network, respectively. Connected to.
  • a management server B111 In the base B110, a management server B111, an application server B112, and a storage 113 are installed, and information processing devices such as servers, terminals, and devices, which will be described later, via a network such as a backbone network and an access network, respectively.
  • a network such as a backbone network and an access network, respectively.
  • one or more management servers and servers are installed. All application servers are managed by one of the management servers, and application execution and storage use on the application server are managed.
  • the application server In the following description, the application server is simply referred to as a server.
  • the management base 100 is provided with a server (management server A 101) that mainly controls information processing of the information processing system according to the present embodiment, and a storage 103 that is a storage for management. Indicates a base that manages information processing by a provider that provides (hosts).
  • the management server A101 is connected to a management server B111, a server B112, a storage 113, and an information processing device described below via a network such as a backbone network or an access network.
  • the management server A101 is a management server that centrally manages a management server such as the management server B111, and instructs each management server to execute an application at each site and store data in the storage.
  • the base C120 and the base D130 are information processing bases that are connected to the backbone network 160 and have facilities for performing the above-described information processing in a distributed manner.
  • the base C120 and the base D130 are data areas of a hosting company or predetermined areas installed in the data center.
  • the management server C121, server C122, and storage 123 are installed in the site C120, and the management server D131, server D132, and storage 133 are installed in the site D130.
  • Each management server and server is connected to a management server A 101, a management server B 111, a server B 112, and an information processing device described below via a network such as the backbone network 160.
  • a network such as the backbone network 160.
  • the base C120 and the base D130 one or two or more management servers and servers are installed. All servers are managed by any of the management servers, and application execution and storage use on the servers are managed.
  • the access network 162 is a local network to which a terminal to be described later or the base E140 is connected. Communication from a device connected to the access network 162 to the backbone network 160 is performed by a network device (not shown) installed at the site C120 or the site D130, and communication from the backbone network 160 to a device connected to the access network 162 is also performed. Done in the opposite direction.
  • the access network 162 is, for example, a wired local area network (LAN) or a wireless LAN, or near field communication.
  • the base E140 is an information processing base that is connected to the access network 162 and has facilities for performing the above-described information processing in a distributed manner.
  • the base E140 is a data center of a hosting company, a predetermined area installed in the data center, or an area where the hosting company installs as a local base or a facility for information processing in the city. is there.
  • a management server E141, a server E142, and a storage 143 are installed in the base E140.
  • the respective management servers and servers are connected to other bases via the access network 162, and have already been described by the network device (not shown) such as the management server A101, the management server B111, and the server B112 via the backbone network 160.
  • the network device not shown
  • the management server A101, the management server B111, and the server B112 via the backbone network 160.
  • the network device not shown
  • the devices (151 to 154) are terminals or sensors operated or installed by the user in order to use the information network of this embodiment connected to the backbone network 160 via the access network 162 or the access network 161.
  • the devices 151 to 154 are, for example, a car navigation, a PC, a smartphone, a mobile phone, or a home device, a terminal device having a user interface, or a sensor (for example, a meter device or a thermometer). Or an instrument such as a power meter), a human flow analyzer, or a monitoring camera, or a control device such as an authentication device.
  • Devices 151 to 154 are devices that are connected to a server via a network, send information processing requests to be performed on the server and / or data for information processing to the server, and cause the server to perform the information processing. It is.
  • the management server when a device such as the devices 151 to 154 transmits an information processing request to a server that performs information processing, the management server requests the user according to the usage status of the device. Moves information processing to distributed information processing devices, reduces the load on network access to which a specific information processing device is connected while reducing the resource usage required for information processing, and responds to information processing devices Improve performance.
  • the storage in the base is described as a device independent of the server, but storage such as flash memory and hard disk installed in each server may be used, and storage on the server is virtually assembled. Virtual storage may be used.
  • FIG. 2 illustrates a hardware configuration of a computer that realizes each management server and each application server described above.
  • FIG. 4 illustrates the functional configuration of each application server. These functions are realized by the CPU 201 reading out the program stored in the storage 203 in FIG. 2 and executing it on the memory 202. Each program may be stored in advance in the storage 203 in the computer. When necessary, the program is input from another device via the input / output device 205 or the NIC 204 and a medium that can be used by the computer. It may be introduced into the storage 203.
  • the medium refers to, for example, a storage medium that can be attached to and detached from the input / output device 205, a communication medium that can be connected to the NIC 204 (that is, a wired, wireless, or optical network), or a carrier wave or a digital signal that propagates through the network.
  • the application execution unit 402 is a function that manages the execution of the applications 401-1 to 401-n.
  • the application execution unit 402 communicates with an application execution unit of another server and a management server to move an application.
  • the application execution unit 402 executes and stops the applications 401-1 to 401-n according to instructions from the management server.
  • the metadata management unit 403 creates metadata of the data object, and sends the metadata to the management server at each base.
  • the distributed data control unit 405 communicates with each other between the distributed data control units of other servers, and creates, updates, adds, and deletes data on the storage in the server or in the same site in accordance with an instruction from the management server. And so on. Also, the distributed data control unit 405 creates a copy of the updated or added data object in another server in accordance with an instruction from the management server. A method of creating a copy of this data will be described later.
  • FIG. 3 is a sequence showing an operation when an information processing device such as a server that performs information processing is moved to distributed information processing apparatuses in response to an information processing request from the device in the information processing system of the present embodiment.
  • the device 151 creates an information processing request that the information processing apparatus (server) wants to perform (301).
  • the information processing request is an instruction of a URI to be displayed by a browser application on the PC (device 151), or a path name or file name of a content to be displayed by a document display application. Instructions.
  • the device 151 is a sensor or a monitoring camera
  • measurement data and / or recording data for example, measured temperature, power consumption, recording audio, recording video, etc.
  • the device 151 transmits a processing request to the server B 112 in the processing request transmission (302) in order to cause the server B 112 to perform information processing of the content created by the information processing request 301.
  • the information processing that the user wants to perform is linked to a certain URI
  • the network address of the server that performs information processing is obtained by making an inquiry to the DNS server from a client program called a resolver on the device. It becomes clear that the device can access the server that provides the information processing that the user wants to perform.
  • Communication from the device 151 to the server B 112 is performed by a communication program (not shown) that operates on a memory, which will be described later, recorded on the device 151.
  • the address of the server B 112 on the network is obtained by making an inquiry to the DNS server on the network using the communication program as described above, and the communication program performs communication between the communication program on the server B 112 and the device 151.
  • the server B 112 determines an application for processing the content of the processing request received in the processing request transmission (302) in the processing request confirmation step (303). Check whether the application that makes the processing request exists in the server and can be operated.
  • multiple servers having the same functions as a certain server are installed, additional distributed devices such as load balancers are installed immediately before the server group, and information processing is performed for each device that communicates with the server. Processing to distribute connections to servers that perform the above is performed.
  • the server B 112 processes all connections from the device.
  • the information processing is additionally distributed and executed in the server group having the same function as the server B 112 for each device. But the same is true.
  • the server B 112 If the processing request confirmation (303) on the server B 112 is completed and the application for processing the content of the received processing request is not operating, the server B 112 operates the application on the device 151 in a procedure not shown. And an error indicating that the information processing request cannot be executed is returned. If the application that performs the processing request is running and the information processing request can be processed, the server B 112 requests the management server B 111 to confirm the processing request (304).
  • This step of processing request confirmation 304 may be performed every time a processing request is transmitted from the device 151, or may be performed only when processing is first performed within a predetermined period. , It may be performed at a predetermined frequency in a predetermined period.
  • the management server B111 acquires information on the device 151.
  • the processing request 1000 describes the content of a request when the device 151 sends an HTTP request as a processing request to the server B 112 that is an HTTP server.
  • the processing request 1000 includes a request 1001, a header 1002, and a message body 1003.
  • the request 1001 is the subject of the request content of the HTTP request.
  • the request 1001 includes, for example, a command to the server, data information to be requested such as a URI, and a path name, and the server B 112 performs information processing according to the content of the request.
  • the header 1002 is information for making the server recognize the detailed part of the HTTP request.
  • the header 1002 includes, for example, a data type supported by an application on the transmission side, a data compression method, an application type, and the like.
  • the body 1003 is an area used for sending data to the server, and includes text data to be sent.
  • position information, route information, and device information are included in the processing request 1000 and transmitted in a predetermined format as necessary.
  • FIG. 10 shows an example in which the position, route, and device information 1004 are inserted into the body 1003 for transmission.
  • the position, route, and device information 1004 is information including at least one of the position information of the device 151, the route information from the device 151 to the server and the management server that performs information processing, and the type information of the device 151.
  • the location information is, for example, current information (provided by the device measurement function) of the device 151, such as latitude, longitude, altitude, a preset ID number of the region, the type of access network with which the terminal is communicating, and the terminal Is the information of the nearest base.
  • the route information is the IP address of the terminal, route information from the terminal to a specific server, and the like.
  • the terminal type information includes the type of device on which the terminal is operating, the OS operating on the terminal, the type of application, the version, the type of supported transmission / reception protocol, the version, and the like.
  • the device information includes a past execution history of information processing that requires execution, a time required for execution, and quality.
  • the management server can instruct the server about the arrangement of applications and data that perform information processing, and can be configured.
  • the devices 151 to 154 include a CPU 801, a memory 802, a storage 803, a NIC (network interface card) 804, and an input / output device 805 as shown in FIG.
  • the devices 151 to 154 store a communication program with a server (not shown) on the storage 803, and the CPU 801 communicates with a server on the network via the NIC 804 using the communication program read into the memory 802. .
  • the storage 803 stores position, route, and device information 806.
  • the device information 806 is information including device position information, route information from a terminal to a server or a management server that performs information processing, and device type information.
  • the position information is obtained when the user uses the terminal using the position and / or altitude measurement function of the devices 151 to 154 such as GPS, or when the terminal operates. Created or set in advance by the user.
  • the route information is created from the address information given by the communication program and the route information to the server.
  • the device information includes information such as the terminal type, the operating OS, the application type, the version, the supported transmission / reception protocol type, the version, and the like when the terminal is shipped or in advance.
  • the device information includes one or more of the past execution history, required execution time, and quality of information processing that requires execution.
  • the position, route, and device information 806 stored in the storage 803 is read into the memory 802 while the devices 151 to 154 are operating, and all or part of the information is transmitted to the server as the position, route, and device information 1004 described above. Is done.
  • the management server instructs the server to distribute the application and data.
  • the device information transmitted to the server is the latest value or average value of the information stored in the position, route, and device information 806.
  • the management server B111 transmits a migration determination request (305) to the management server A101.
  • the management server A101 is a higher management server than the management server B111. Management of the management server of this embodiment is controlled according to a hierarchical structure registered in advance.
  • the management server A101 is an upper management server that manages the management server B111, the management server C121, and the management server D131.
  • the management server performs management such as execution, movement, suspension, and deletion of applications in accordance with instructions from the upper management server.
  • the management server A 101 manages which application is connected to the network and which application is executed on which server. This record management method will be described later.
  • the management server B111 transmits to the management server A101 the request (including the location, route, and device information 1004) received from the device 151 in step 302 and the execution status of the application in the management server B111. .
  • the management server A101 performs application migration determination in the same manner as the management server B111. After the migration determination is performed on the management server A, the management server A 101 transmits the migration determination result to the management server B 111 (306).
  • the migration determination result includes information related to the server to which the application is migrated (for example, the migration destination is a server on site C).
  • the management server B 111 performs migration of the corresponding application. If any determination is impossible, the management server B111 does not instruct application migration.
  • “impossible to migrate” means that the management server determines that the application cannot be migrated or that the quality of communication with the terminal is lowered or the cost is increased, such as communication cost.
  • the management server B111 transmits information indicating that the processing request information has been confirmed to the server B (confirmation result transmission (307)).
  • the server B111 generates a processing result corresponding to the transmitted processing request (308).
  • the server B 112 transmits the generated processing result to the device 151 (309).
  • these processing result generation processes (301 to 309) are described as being performed after the processing request is confirmed by the server B 112 until the confirmation result transmission (307).
  • the process 309 may be performed asynchronously (precedingly).
  • the management server B 111 and the server B 112 perform application migration in the procedure from the AP migration preparation 310 to the migration completion notification 323 described below. I do.
  • the description will proceed assuming that the management server A 101 or the management server B 111 determines that the application migration destination is the server of the base C 120.
  • the management server B111 makes preparations for migrating the application to the server at the base C. As described above, the management server B111 is notified in advance from the management server A101 that the application migration destination is the server at the base C, and the management server in charge is the management server C122. The management server B111 creates application information for requesting the management server C121 to transfer the application. The created application information is transmitted to the management server C121 (AP migration request (311)). The management server C121 receives the AP migration request (311) and determines a server to be migrated.
  • the server managed by the management server C121 from the application information included in the AP migration request, in the server group managed by the management server C121, the memory capacity and CPU performance of each server, In addition, resources and operation conditions such as storage capacity, operable VM (virtual machine) type, and operable application type are determined, and a server group that can operate under all conditions is selected.
  • resources and operation conditions such as storage capacity, operable VM (virtual machine) type, and operable application type are determined, and a server group that can operate under all conditions is selected.
  • FIG. 11 is a management table 1100 for managing resources and operating conditions for operating applications on a server managed by the management server C121.
  • the management table 1100 is recorded on a memory or storage on the management server C121, and is always updated by the management table management function of the management server C121.
  • the management table management function manages the management target of the management server C121 and the resources and information described later of the servers in the base C, and performs resource allocation in response to application execution requests from other management servers.
  • the management table 1100 includes a server ID 1101, a server name 1102, an address 1103, an allocatable memory amount 1104, an allocatable storage amount 1105, CPU information 1106, an operable VM type 1107, and an operable application type 1108. , And operation application information 1109, application operation results 1110, and cost 1111 are described.
  • the management table 1100 is shared in the site by communication between management servers in the site, and is updated as needed.
  • the server ID 1101 and the server name 1102 are an ID and a name assigned to each server managed by the management server C121. In the address 1103, a network address assigned to each server is recorded.
  • the allocatable memory amount 1104 and the allocatable storage amount 1105 indicate the remaining resources that can accept the migration of the application regarding the free memory and the free space of the storage, respectively. This empty resource amount is constantly updated by issuing a request to each server managed from the management server C121.
  • the management server compares the amount of free resources and performs resource allocation.
  • CPU information 1106 is CPU specification information of each server, and records the operating frequency, the number of sockets, and the number of cores.
  • the operable VM type 1107 and the operable application type 1108 are recorded with the types of applications including VMs and versions operable on the server, respectively. When an application runs, it is checked and recorded whether necessary dependent libraries have been installed.
  • the operation application information 1109 is information on an application currently operating.
  • the application operation record 1110 describes what kind of application operation record exists in the corresponding server.
  • the cost 1111 is the cost that the user bears in connection with the use of the server, such as the rent that the user bears for the cost of the power and space used when using the server and storage per unit time, the number of servers or CPU It is an index of the number or the number of CPU cores or the cost multiplied by the storage capacity.
  • the management server C122 selects a server that can be operated under the notified conditions. For this selection, an allocatable memory amount 1104, an allocatable storage amount 1105, and CPU information 1106 are referred to, and a server that can secure necessary resources is selected. If there is a server on which the requested application is already running among the selected servers, the management server C122 selects that server.
  • the application running record 1110 is referred to, and the server with the running record is given priority among the selected servers, and the operable VM type 1107 or application type 1108 is displayed.
  • a server that satisfies the conditions described in (1) and has the lowest cost (total amount of costs in the case of multiple servers) described in the cost 1111 is selected.
  • the administrator of the management server B 112 and the management server A 101 determines in advance a policy for information processing distribution when the device 151 performs specific information processing, stores the policy in the management server A 101, and manages the management server group. Share with.
  • Management server A101 replies with a policy in response to an inquiry from management server B112 in order to share the policy.
  • the policy defines the allowable response time, the allowable distance, and the number of network devices allowed at the time of communication for each combination of the device 151 and the information processing content.
  • the management server B112 investigates the content of the response time included in the request when the response time allowed is included in the policy, and if it is determined that the movement of the application and data is necessary in the policy, the application And determine that data migration is required. For example, when the maximum value of the allowable position information is included in the policy, the management server B 112 calculates the position information of the device included in the request in step 302 and the distance of the base B, and If it is determined that data transfer is necessary, it is determined that the application and data must be moved.
  • the management server B 112 determines the network device (hops to be routed) from the route information of the device included in the request in step 302. When it is determined that the application and data need to be migrated, it is determined that the application and the data need to be moved.
  • the management server A102 examines the migration destination site. In step 305, the management server A102 obtains the position, route, and device information of the device 151. The management server A102 selects a base where the quality of the information processing of the device 151 by migration is improved compared to the base B110, and sends it to the management server B112 in step 306.
  • the management server B 111 determines that the application and data migration destination is the server at the site C.
  • the management server C121 refers to the management table 1100 and determines a server on which the application is to be operated from the servers that are managed by the management server C121. First, the resource usage information related to the memory and storage of the application obtained from the management server A 101 and the management server B 111 and the resource usage related to the storage of the data are confirmed, and a server satisfying the data storage and application conditions is selected.
  • the operable AP type is confirmed and a server that can operate is selected.
  • the server that has already been operated is given priority, and if the application is actually in operation, the application is not migrated and only the data is migrated.
  • the application distribution is described as preparing a packaged application, sending it to the application to be executed, and executing it, but preparing a virtual machine (VM), the server to be executed sends the virtual machine, and the virtual machine
  • VM virtual machine
  • the application may be executed by operating. In the following, the former example will be shown.
  • the management server C121 determines that the server to which the application or data is migrated is the server C122.
  • the management server C121 transmits the address and specification information (migration information) of the server C122 to be migrated to the management server B111 (312).
  • This migration information includes authentication information for accepting the application.
  • the management server B111 transmits the received migration information to the server B112.
  • the server B 112 transmits migration information including the authentication information to the server B 112 (314).
  • the server C122 has received a migration acceptance request (313) from the management server C121 in advance.
  • the server B 112 receives the migration information
  • the server B 112 sends the authentication information present in the migration information and starts communication with the server C 122.
  • the server C122 confirms the authentication information received by the migration acceptance request 313 and the sent authentication information.
  • the server C122 is an application for operating the sent application program on the server C.
  • the package and data are received (315, 316), and the application and data are stored (317) so that the application operates on the server C122.
  • Application and data storage refers to installation of a server application on the server C122, installation of a Web application, and setting of the application, environment setting, and so on, so that an application operating on the server B112 operates on the server C122. It is to store user data. Information necessary for the application and data storage work is transmitted from the server B 112 to the server C 122 in the steps of AP migration 315 and data transmission 316.
  • the server B 112 directly transmits information to the server C 122.
  • direct communication from the server B112 to the server C122 may not be possible.
  • one or both of the server B 112 and the server C 122 mediate communication between the server B 112 and the server C 122 using a control communication path.
  • the server C121 stores the data related to the device 151 in the storage of the server C122 or the storage 113, makes the data related to the device 151 available from the application operating in Step 317, and executes the application (317).
  • middleware such as DBMS
  • the management server C121 instructs the server C122 to operate on the server C122.
  • the server C122 When the storage of the application is completed, the server C122 notifies the management server C122 of the storage completion (318).
  • the management server C121 updates its own management table 1101.
  • the management server C121 sends a storage completion notification to the server B112 (319).
  • the management server B111 sends a migration completion processing request to the server B112 and the management server A101 (320, 321).
  • the migration completion process 322 is related to one or more of a load balancer, a DNS server, and a network device so that a processing request from the device 151 is processed by the server C122 in the management server A101 and the management server B111. Instruct the device to change the settings. For example, a request is made to request the DNS server to change information for name resolution corresponding to information processing.
  • the access path from the device 151 to the application is changed and reaches the server C122.
  • the server B 112 notifies the server C 122 that the migration completion processing has been completed, and ends the communication between the server B 112 and the server C 122 for migration (323).
  • the management server A102, the management server B112, and the management server C122 cooperate with each other using the location, route, and device information 1004 transmitted by the device 151 for the application that was running on the server B112.
  • the server C122 it is possible to reduce the cost of information processing by causing the server C122 to execute the application without impairing the response quality when the device 151 receives the information processing result from the server.
  • the management server B111 at the site B110 migrates the application on the server 112 to the site C120.
  • the site B110, the site C120, and the site D130 have the same function, the same applies between sites. You can migrate applications and data.
  • the base E140 is different in network connection from other bases, but the management server E141, server E142, and storage 143 at the base E140 have the same functions as the management server B111, server B112, and storage 113 at the base B110. The same transition can be made.
  • the management server E141 does not directly communicate with the management server A101, receives a management instruction such as permission of migration to the management server C121 that is managed by the management server E141, and the management server C121 as necessary. Communicates with the management server A101, which is a higher management server, so as to receive a management instruction.
  • FIG. 12 is a diagram for explaining the details of the service information table 1200 used for determination of application migration.
  • an application ID 1201, an application name 1202, a distribution destination 1203, an operation status 1204, a use device 1205, and a distribution condition 1206 are recorded.
  • the management server A 101 is a management server B 111 managed by the management server A 101, a management server C 121, a management server D 131, a management target (server B 112, server C 122, server D 132, etc.).
  • the service information table 1200 is stored on the storage or the storage 103 and is read on the memory 202 to be updated and managed.
  • the application ID 1201 is an application ID, and is uniquely set for each application.
  • the application name 1202 records the application name, size, execution file, and package storage path.
  • the distribution destination 1203 indicates to which server the application is distributed, and the operation status 1204 stores information on which server is operating in the site.
  • the used device 1205 is a list of used devices that use the distributed application.
  • the distribution destination 1203 and the operation status 1204 are associated with each of the devices 1205 used.
  • the distribution condition 1206 is a necessary condition (an operating OS on the server, a program and a library having a necessary dependency relationship, and necessary resources (memory, storage, and network)) when the application is migrated to the server on the base. Etc.).
  • the management server A 101 determines migration, the management server A 101 refers to the service information table 1200 and determines whether the application needs to be migrated. First, the management server A 101 investigates the base where the device and the application are operating from the application ID 1201, the operation status 1204, and the used device 1205.
  • the location where the application is operating using the location information out of the location, route, and device information 1004 already transmitted from the device 151 to the management server A 101 and the location where the device 151 is currently using the application A list of distances to B110 is calculated.
  • the nearest base in this case, the base C
  • the difference in distance from the distance B110 currently using the application is greater than a predetermined value, or the distance ratio is predetermined. If it is less than the predetermined value, the migration is possible and the judgment result is that the migration destination is the base C120.
  • a base that satisfies the conditions described in the distribution condition 1206 is selected at the base where the application is not operating, and the selected base is determined using the position information described above. Then, a list of distances from the base B110 where the device 151 is currently using the application is calculated. Among them, the nearest base (in this case, the base C120) is calculated, and the difference in distance from the distance B currently using the application is greater than a predetermined value or the distance ratio is predetermined. If it is less than the predetermined value, the migration is possible and the judgment result is that the migration destination is the base C120.
  • the above is a method for determining a site using location information.
  • RTT response time
  • the number of router hops can be used. Good. In that case, if the response time and the number of router hops improve beyond a predetermined difference or ratio, the base is selected as being able to move.
  • the data used by the application is distributed to storage at multiple locations. This dispersion method will be described later.
  • the base where the data replica exists is prioritized over the calculation based on distance and route. If the base where the data copy exists is closer to the device 151 than the base B110, the application is moved in preference to the base where the data copy exists.
  • the management server A101 selects a site where the application can operate from the sites where the management server group managed by the management server A101 is installed, and notifies the management server B111 together with the determination result. To do.
  • the execution of the application in the device 151 is ready to be performed in the server C122 in the base C120.
  • the device 151 creates an information processing request (301) to be sent to the information processing apparatus (server) and transmits the information processing request to the server C122, the processing result is transmitted from the processing request confirmation (303) described above ( The procedure up to 308) is performed by the management server C121, the server C122, and the management server A101.
  • the device 151 can continue information processing.
  • Management of data replication is performed by the distributed data control unit 405 between the servers communicating with each other.
  • the distributed data control unit 405 on the server 112 of the base B 110 makes an inquiry to the management server 121 to generate a copy of the data related to the device 151.
  • a destination (distribution destination) is determined, and data is transmitted to the distribution destination.
  • the management server B 121 determines the distribution destination in the base. The data replication destination has already been determined, and the data for which replication exists takes over the data replication destination, so that data replication to a new site is not made.
  • the distribution destination (duplication) destination of data outside the base is determined by the management server B111 by inquiring the management server A101.
  • the management server B111 provides information on the policy on how to maintain the availability of data regarding the device 151 from the management server A101 (step 306).
  • This policy includes, for example, one copy within the same site and two copies outside the site.
  • both the management server A 101 and the management server B 111 have an area information management table as will be described later, and determines a distribution destination that meets the conditions.
  • FIG. 9 is a diagram for explaining the base information management table.
  • the base information management table 900 position information of each base is described.
  • the base information management table includes any one of base ID 901, base name 902, base position (latitude, longitude) 903, connection network information 904, base form 905, base security level 906, base damage, and power failure risk 907. The above is described.
  • the base information management table 900 is managed by the management server A101 and shared with a management server such as the management server B111.
  • the management server B111 makes an inquiry to the management server A101 in order to determine how much data replication relating to the device 151 is to be created.
  • the management server A 101 sends an instruction for data redundancy on the storage in accordance with a policy determined in advance by the owner of the device 151.
  • This policy is, for example, “Always have two copies of data, one in the same site and one in a site 100 km or more away”.
  • the management server B111 judges the distance from the site ID 901 and the site position 903 in the site information management table, and determines the site for creating a copy. For example, if the policy is “create at three bases with different connection networks”, the management server B111 determines the base network by determining the base network from the connection network information 904 in the base information management table. Further, for example, if the policy is “create at three sites where one or more of the site type indicating the grade of the site, the security level, the disaster, and the power outage risk is a certain value or more”, the management server B111. Selects the base and determines the base from one or more of the base form 905, the base security level 906, the base damage, and the power failure risk 907 in the base information management table.
  • the management server B111 investigates the operation application information 1109 and selects the operating base. Decide as a base to create a copy.
  • the location where the application operates is either physically close to the used device or the used device. Will work on a base with a short response on the network.
  • a copy for certain data is created at the same site according to a predetermined policy. When doing so, it often happens that the operating base of the application is migrated. At that time, the management server B111 changes the base where the copy is created to the base where the application is operating. The data on the site that was previously the copy creation destination is deleted, and a copy is created on the newly selected site.
  • the policy “always have two copies of data, one is created in the same site, and one is created at a location 100 km or more away” is set for data related to the device 151. .
  • the distributed data control unit 405 In response to an instruction from the management server B111, the distributed data control unit 405 operates to make a copy of the data related to the device 151 in the base D130 that is 100 km or more away from the base.
  • the distributed data control unit 405 connects the storage 113 instructed by the management server B111 and the distributed data control unit 405 on the server at the site D130, and creates a copy of data related to the device 151. Each time data related to the device 151 is updated, the distributed data control unit 405 updates each copy.
  • the distributed data control unit 405 has been described so as to create a copy of the data. However, instead of making a copy that is a copy (backup) of the data, the data and the parity of the data and parity such as distributed data guarding are described. Redundancy may be implemented so that the set is shared by several storages.
  • FIG. 13 it is assumed that an application 1301 and data 1302 used by the device 151 operate on the server B 112 and are stored on the storage 1303.
  • the application 1301 is moved from the server B 112 to the server C 122 in step 315 and the data 1302 is moved from the storage 113 to the storage 123 in step 316 by the application and data base movement step described above.
  • the application 1301 on the server B 112 is stopped and the data 1302 is deleted.
  • the management server C131 instructs to create a data copy 1303 on the storage 133, as shown in FIG.
  • the management server C121 determines the destination of the application 1301 running on the server C122. At this time, a copy of the data already exists on the storage in the site D130, and the site D130 is preferentially selected by the management server C121 as the application migration destination. At this time, the application migration described above is performed, but the data migration is not performed because the data migration is not necessary. Further, the data is not erased in the migration completion process in step 322.
  • the application 1301 When the application is migrated as described above, as shown in FIG. 16, the application 1301 operates at the site C120 and the site D130, respectively, and the data 1302 and the data copy 1303 are distributed to the site C120 and the site D130, respectively. Is done.
  • the application and data used from the equipment 151 are the application 1301. And data 1302.
  • the application and data used from the equipment 151 are: It becomes an application 1301 and a data copy 1303.
  • the distributed data control unit 405 on each server shares the update information added to the data replica 1303, and Update information is reflected in the data 1302.
  • the device 151 can use the data via the same application regardless of which application 1301 on the server C122 and the server D132 is used, and can improve the response performance of the application. This has the effect of improving the speed of data reference and recording (update).
  • data migration, application migration, and data duplication creation are performed depending on the device 151, but the devices may be managed in groups for each user. In this way, even if the device used by the user in the example shown in FIG. 16 is not the device 151 but the device 152, the same effect can be obtained. In this way, sensor information generated by the device 151 is added to the data 1302 via the application 1301, and when the device 152 refers to the added data, the data 1303 is accessed via the application 1301. it can. By doing so, the response performance of the application from the device 152 can be improved efficiently, and the data reference speed can be improved.
  • the device management for each user is realized by grouping the devices to be used according to the users in the device 1205 of the service information table 1200. For example, if the users who use the device 151 and the device 152 are the same, the device 151 and the device 152 are similarly regarded in the use device 1205 of the service information table 1200.
  • an origin server that originally operates an application that outputs a dynamic generation result by linking a device such as a user terminal with a server and a management server installed at each site.
  • a device such as a user terminal
  • a management server installed at each site.
  • the information processing system of the present embodiment can reduce the cost of the data center, and lowers the cost borne by the user who uses the equipment and uses information processing by the application and data in the data center. There is an effect that can be.
  • the information processing system of the present embodiment is highly effective when applied to an information processing system that performs information processing with different processing each time, and can reduce the cost for maintaining the line quality. Since the application is distributed instead of the method of performing dynamic generation processing in advance and distributing it to a distribution point, the problem of generating a large amount of data by distribution, consuming storage, and increasing costs can be solved.
  • the device when the device is a terminal device possessed by a user such as a car navigation system, a PC, or a mobile phone, the application used by the user is physically close to the user or An application to be executed is arranged at a base (data center) that is located at a close position on the network. For this reason, the processing is concentrated on one base (data center), and the response time of the application when the application is executed to the user who uses the terminal device is increased, or the time for transmitting and receiving data is increased.
  • the problem of lengthening can be solved and the quality of experience when the user uses the system can be improved.
  • the above devices are often used by moving the location, but even if the location of the device is moved, the location information, route information, and device information transmitted from the device to the server or management server are managed by the management server.
  • the base data center
  • the application and the data are arranged is selected as a base that can improve the quality of experience of the user.
  • the device is a sensor such as a meter device, a thermometer, a power meter, or a control device such as a human flow analyzer, a surveillance camera, or an authentication device
  • the request from the sensor or the control device An application to be executed is arranged at a base (data center) where the application that operates upon receiving is physically close to the sensor or close to the network.
  • the base is RSU and the device is an on-vehicle device
  • at least one kind of position information, operation information, fuel consumption information, etc., which is transmitted from the on-vehicle device, for obtaining information from the data center is obtained.
  • the processing request including any one or more of the processing request included, the measurement result of video, sound, temperature, etc. mounted on the vehicle-mounted device is transmitted to the RSU and processed at the base, or the RSU
  • the information accumulated above is processed on the RSU and displayed on the vehicle-mounted device. If the distribution method shown in this embodiment is used, information processing is performed on a base with a short physical distance to the on-vehicle device or a base with a small communication delay on the network. As a result, the user's quality of experience increases.
  • the speed of information processing can be shortened, so that the vehicle speed of a vehicle equipped with a compatible vehicle-mounted device can be improved and the amount of information to be transmitted can be increased.
  • the information sent from the on-board unit to the base is large, data and processing are concentrated in one base (data center), the network bandwidth of the base (data center) is insufficient, and information on requests from in-vehicle devices Companies that reduce the rate of processing stagnation and that use sensors and control devices to process information need to increase the facilities at the base (data center) or have additional costs for bandwidth shortages. There is an effect that it decreases.
  • the base is a network transmission relay facility for a surveillance camera and the device is a surveillance camera
  • the video and audio information transmitted from the surveillance camera can be obtained according to the distribution method shown in this embodiment.
  • Information processing is performed at a base where the physical distance is close to the installation position of the surveillance camera or a base where the communication delay on the network is small.
  • another device such as a PC that checks the monitoring results from the monitoring camera
  • duplication of the monitoring results from the monitoring camera will cause a communication delay on the base or network where the physical distance is close to the other device. Data replicas are created on few locations.
  • bases that create replicas are bases that are close to the physical distance from the device that generates the monitoring results (surveillance cameras), bases that have a small communication delay on the network, and bases that are close to the physical distance from the other equipment. Installed in a base with low communication delay on the network, it is possible to achieve efficient data replication, and as a whole system, there is less need for operators to bear the cost of increasing the storage capacity of each base effective.
  • the information processing system shown in the second embodiment is the same as the information processing system shown in the first embodiment.
  • the management server A 101 collects the metadata of “data related to devices” that is distributed, and the storage 103 The place to remember is different.
  • FIG. 5 shows a configuration diagram of the management server A 101 and the storage 503 in the information system of the second embodiment.
  • the management server A 101 manages and stores metadata of data stored in the storages managed by the management server that is the management target of the management server A 101 on the storage 503.
  • the metadata management unit 403 manages metadata.
  • Metadata refers to data that abstracts the content of data that is attached to the data. Mainly, it is used as a means of knowing the contents and properties of data at high speed without searching the data body at the time of searching. Details of the metadata used in the storage 503 on the management server A 101 are shown in FIG. Each element constituting the metadata 600 includes a file object name 601, ID 602, size 603, path name 604, replication 605, owner 606, permission 607, application 608 to be used, and other parameters 609. Or more than one.
  • the file object name 601 is the name of the file object.
  • the ID 602 is an ID uniquely assigned to the file object.
  • the size 603 is the size of the file object.
  • the path name 604 is access information for accessing a file such as a server or a directory in which the file object is stored.
  • the replication 605 indicates the number of duplicated file objects and the storage location thereof.
  • the owner 606 is an identifier of a user who has created the file object and has authority to modify, move or delete the file object.
  • the permission 607 is what access authority the file object owner and other users have to the file object.
  • the application 608 to be used is the type, ID, and version information of the application on the server that uses the file object.
  • Other parameters 609 are information attached to the data depending on the type of the file object.
  • the metadata includes at least one type of creation date / time, location information, camera parameters, thumbnails, and the like.
  • the metadata includes one or more types of elements such as size, number of pages, number of characters, title, and the like.
  • each element includes one or more types of metadata such as a frame rate, a bit date, a size, and a codec ID.
  • the metadata can be any one of file location, size, path name, file name, keyword, update date, file type, copyright information, author, rating, access permission, comment, etc. More than types are each element.
  • analysis results of data contents, index information for search, and the like may be included as metadata elements.
  • the management servers in the bases B to D have their data stored in the storage (the storage 113, the storage 123, the storage 133, or the storage 143) of the base where the management server is installed.
  • the metadata of the data is acquired and transmitted to the management server A 101 by a method described later.
  • the management server A 101 records metadata 504 in the storage 103.
  • the servers in the bases B to D have a distributed data control unit 405 for accessing the storage on the base storage (storage 113, 123, 133 respectively) where the server is installed.
  • Have. Mediating access requests for data on storage from applications executed on the server B111, server C121, and server D132, accessing data on the storage 113, storage 123, and storage 133, creating and updating data, Append, delete, etc.
  • the data management unit 405 communicates with each other, and creates, updates, and appends data on the storage 113, the storage 123, and the storage 133 in accordance with instructions from the management server B112, the management server C122, and the management server D131, respectively. , Delete, etc.
  • the metadata management unit 403 creates metadata of the data object, and sends the metadata to the management server at each base. Send the data.
  • the metadata acquired by the management server (111, 121, 131) is sent to the management server A101, and is managed on the storage 103 for each file object (addition, update, and addition to the metadata 304 at the time of creation) Updated when deleted, deleted when deleted).
  • the device 151 performs information processing using an application running on the server B112.
  • data referred to or created by the application on the server B 112 is read or recorded in the storage 113 via the distributed data control unit 405, respectively.
  • the distributed data control unit 405 communicates with a data control unit on another server capable of communication, and creates a predetermined number of data replications. This replication is created to improve data availability and disaster tolerance.
  • the distributed data control unit 405 creates, updates, and deletes data while creating a predetermined number of replications at the replication recording destination determined by the management server B111.
  • the management server A 101 manages, based on metadata 504, data associated with a certain device (data used by a certain device for information processing) and a storage at which base is stored. In the step of migration determination 304, the management server A 101 prioritizes the base where the data is recorded, and then prioritizes the base where the data copy is recorded, when selecting the base where the application operates. By the above determination, the movement of data associated with a certain device between the bases is suppressed, and the cost borne by the operator using the device can be reduced.
  • FIG. 7 shows a sequence diagram when a device such as a sensor performs information processing with data transmission to a server in the information processing system of the present embodiment.
  • the device 151 is a device having a sensor function, and has a role of recording information acquired in the sensor portion in the server B of the base B or the storage 113 that is a recording area of the server.
  • the device 151 creates an information processing request for causing the server B 112 to perform processing (301). Since the device 151 is a sensor, the information processing request is an instruction to record measured data such as measured temperature, power consumption, recorded audio, and recorded video, and its contents. In this example, description will be made assuming that the device 151 is a wattmeter that measures power consumption.
  • the device 151 transmits a processing request to the server B 112 in the processing request transmission (302) in order to cause the server B 112 to perform information processing of the content created by the information processing request 301. Thereafter, the processing request confirmation (304), the migration determination request (305), the migration determination result transmission (306), and the confirmation result transmission (307) described above are performed among the server B112, the management server B111, and the management server A101.
  • the server B 112 generates an information processing result, that is, an instructed process for data included in the information processing request (for example, obtains the sum or average of items, or obtains billing information or statistical information from the measurement result).
  • the measurement data and the processed data are stored in the server B 112 or the storage 113.
  • the server B 112 calculates metadata for the stored measurement data and processed data, and transmits the metadata to the management server A 101 via the management server B 111 (701, 702).
  • the management server A 101 stores the received metadata in the storage 503.
  • the server B 112 transmits the generated processing result such as information on the success or failure of data recording to the device 151 (309).
  • the application is migrated according to the above-described procedure.
  • the management server A 101 adds and updates the received metadata to the metadata 504 and manages it on the storage 103.
  • the metadata 504 By referring to the metadata 504 by the management server A 101, it is possible to grasp what exists as the data on the storage at the base and what accompanying information it has. For this reason, if there is a request for information processing from the user at the management site for data managed at other sites, the data exists by using the application migration described in the first embodiment. Applications can be transferred to a location and information processing can be performed.
  • step 750 server C122 receives the processing request.
  • the device 152 is a terminal used by a user who manages other sensors such as the device 151, and executes processing that centralizes information processing for aggregating data from devices including the device 151 on the server. This is the terminal to request.
  • the process for the power meter is a display of accounting information and statistical information calculated from the aggregation and display of measurement results and the aggregation results.
  • the server C122 confirms the processing request (303).
  • the server C122 requests the management server B111 to confirm the processing request (304).
  • This step of processing request confirmation 304 may be performed every time a processing request is transmitted from the device 152, or may be performed only when processing is first performed within a predetermined period. , It may be performed at a predetermined frequency in a predetermined period.
  • the processing request is to calculate the total processing for the data B (for example, to obtain the average of the entire data (time series of power usage) or to obtain charging information from the data (power usage)).
  • the response (determination result) of the management server A 101 instructs the application and data migration so that the application is executed at the location where the data B is recorded. It will be included.
  • the management server C121 and the server C122 perform application migration in the procedure from the AP migration preparation 310 to the migration completion notification 323.
  • the description will proceed assuming that the management server A 101 or the management server B 111 determines that the application migration destination is the server at the base B.
  • the server C122 transmits the processing request received from the device 152 to the server B112 (703), confirms the processing request (704), and creates a processing result (705).
  • the created processing result is transmitted from server B 112 to server C 122 in step 706.
  • the server C 122 uses the received processing result and notifies the device 152 of the processing result.
  • the management server A 101 performs application migration for a plurality of locations. An instruction is given to the server C121, and a plurality of applications are migrated. Since a plurality of processing results transmitted in step 706 are collected, the server C121 notifies the device 152 of the plurality of processing results as the final processing result.
  • the processing requested from the device can be executed on the server at the site where the data B is recorded, and the processing result can be transmitted to the device.
  • data (data B) collected from the device can be recorded at a base close to the device and used for information processing, and data communication at a specific base such as the management base 100 or the base B110 is concentrated. Such a situation does not occur, and the information processing equipment at each base can be used efficiently.
  • the storage storage cost of a specific base such as the management base 100 is high, it is possible to reduce the storage storage cost of data recording by recording data collected from the device in a base close to the device.

Abstract

 アプリケーションを実行し、実行結果を端末などのネットワークに接続された機器に送信するアプリケーションサーバと、アプリケーションサーバ及びストレージ上に、それぞれ、アプリケーション及びデータを配置する管理サーバとを含み、管理サーバは、アプリケーションサーバを経由して、機器から機器の位置情報を入手し、位置情報からアプリケーションの移行先となるアプリケーションサーバを選定する手順と、移行元のアプリケーションサーバへ、移行先のアプリケーションサーバを指示する手順と、アプリケーションサーバ間でアプリケーションとデータとを移行する手順と、により、アプリケーション実行場所の再配置を行う。

Description

分散アプリケーション及びデータホスティングシステム
 本明細書で開示する技術は、広域のコンピュータネットワークに接続された情報処理システムでのアプリケーションおよびデータ利用方法に関する。
 広域のコンピュータネットワークに接続された情報処理システムでは、中央のデータセンタに配置された情報処理装置の処理機能を利用して、端末装置に対して処理結果を送信する形態が一般的になっている。特にクラウドコンピューティングと呼ばれる情報処理システムの利用形態では、データセンタ上のサーバやストレージなどの情報処理装置へ処理を集中させ、利用者が、データセンタとネットワークで接続された外部から、情報処理装置を利用するのが一般的である。クラウドコンピューティングにより、データセンタ上へ情報処理装置を集中させることにより、システム構築コストやランニングコストの極小化が可能となる。
 クラウドコンピューティングとよばれる利用形態では、利用者が、ホスティングを行う業者から、サーバ及びストレージの提供を受け、サーバ上でアプリケーションプログラム(アプリケーションまたはAPという)を動作させ、ストレージ上にデータを保存することにより、遠隔地から、サーバ及びストレージを利用した情報処理機能を利用する。このようにアプリケーションを動作させたり、ストレージ上にデータを保存し活用する形態を、それぞれ、アプリケーションホスティング、データホスティングと言う。
 クラウドコンピューティングでは、データセンタ上の情報処理装置に処理を集中させるため、システムの利用者が増加し、多数の端末から、データセンタ上の情報処理装置に対して、情報処理の要求があると、情報処理要求への返答の品質(転送データのスループットと応答時間)が低下する。この要求に対する返答の品質を保持するため、接続回線の増強が必要となる。データセンタ上にて情報処理装置を提供する企業としては、この回線増強のコスト増が事業運営上での課題となる。特に、近年では、これまで、利用者の端末の処理性能が高くないか、もしくは、利用者の端末が基幹ネットワークへ接続するための無線アクセス網のアクセススピードが遅いなどの条件のため大きな問題とならなかった、処理時間に対する品質の要求が高まっており、さらなる接続回線の増強(回線品質の確保)が課題となっている。
 このため、データセンタ事業者やデータセンタ事業者から設備を借り入れ、ホスティング事業に利用したり、自社利用している事業者は、広域のネットワーク上に分散して配置された情報処理装置上に、アプリケーションやデータの複製を配付し、中央のデータセンタの情報処理装置の利用頻度を下げるなどの負荷分散措置を取ることにより、情報処理要求への返答の品質の維持を行っている。このような負荷分散技術の一つとしてコンテンツデリバリーネットワーク(CDN)が挙げられる。CDN技術は、例えば、特許文献1及び特許文献2に開示されている。
 また、特許文献3には、情報処理機能と任意の宛先変更機能を備えたインテリジェントノードを用いて、情報処理位置を変更し、低遅延の情報処理システムを提供することが可能なシステムが述べられている。
米国特許第8073961号 米国特許第7734815号 米国公開特許公報US2011/0202658号
 特許文献1及び特許文献2に記載されているCDN技術では、主に、音楽や動画といったデジタルコンテンツのようなデータを配付対象としている。ネットワーク上のさまざまな場所にデータの配付点を用意して利用者のネットワーク位置に応じて適切な配付点へのアクセスを指示することにより、大量のコンテンツをスムーズに利用者に配信できるようにする。こうして、配付対象のデータを中央のデータセンタから配信すると、ネットワークに大きな負荷がかかるという問題を解決している。
 一般のCDN技術では、データ種別によって、配信方法を分けている。データベース(DB)に格納されている利用者毎に異なる情報を利用する処理や逐次更新すべき情報を利用する処理などの動的生成が必要な処理では、利用する情報は配付点に存在するサーバへ配付されない。そのため、動的生成が必要な処理では、端末から、情報処理の中心となる中央のデータセンタのサーバ(オリジンサーバ)への通信が発生する。このように、処理の結果が毎回異なるような場合、中央のデータセンタでの処理量は膨大になり、中央のデータセンタの回線品質の確保が事業運営上の課題となる。
 つまり、CDN技術では、デジタルコンテンツなどの静的コンテンツ配信に好適なデータ配信方法は示されているが、毎回処理が異なるような情報処理を行う情報処理システムに対する適用は、効果が少なく、回線品質の維持にコストがかかる。動的生成が必要な処理でも、あらかじめ処理を行い、配付点に配付しておくことができる処理については、配付により、課題を解消できるが、際限なく配付点であるエッジのデータセンタへ処理済みのデータのキャッシュを行うと、エッジのデータセンタのストレージや転送時のネットワークのリソースを消費してしまうため、コスト増が事業運営上の課題となる。
 特許文献3に記載されているデータセンタ集約型情報システムでは、既存のデータセンタなどの情報システムとの整合性を取りながらシームレスに移行できる仕組みを持つプラットフォームにおいて、情報処理位置を端末に近いノードに移行することで低遅延化を行う。しかし、ネットワークノードなどの動的生成処理を行うアプリケーションを配付点にアプリケーションやデータを配置し配付点における特にストレージリソースに関わるリソース使用量を抑える方法について詳細な開示が無い。
 上記のように、既存の分散アプリケーション及びデータホスティングを行う情報処理システムにおいては、端末などのネットワークに接続される末端の機器からのアクセスによる処理集中を代替のデータセンタのサーバやストレージで代替する際、ネットワークの転送量とストレージ使用量を抑えながら、中央のデータセンタへのネットワークアクセスにかかる負荷を軽減しないと、ネットワーク増強にかかるコスト増が事業運営上の課題となる。
 開示されるのは、公知の技術では解決できない、動的生成処理を行うアプリケーションを配付点に配付する分散アプリケーション及びデータホスティングを行う情報処理システムにおいて、アプリケーションやデータのキャッシュに必要な配付点のリソース使用量を抑えながら、オリジンサーバのある中央のデータセンタへのネットワークアクセスにかかる負荷を軽減する方法である。
 本明細書にて開示するのは、アプリケーションを実行し、実行結果を端末などのネットワークに接続された機器に送信するアプリケーションサーバと、アプリケーションサーバ及びストレージ上に、それぞれ、アプリケーション及びデータを配置する管理サーバとを含み、管理サーバは、アプリケーションサーバを経由して、機器から機器の位置情報を入手し、位置情報からアプリケーションの移行(migration)先となるアプリケーションサーバを選定する手順と、移行元のアプリケーションサーバへ、移行先のアプリケーションサーバを指示する手順と、アプリケーションサーバ間でアプリケーションとデータとを移行する手順と、により、アプリケーション実行場所の再配置を行うことを特徴とする分散アプリケーション及びデータホスティング方法と当該方法を実現する情報処理システムである。
 上記方法により、分散した情報処理装置上へ、アプリケーションやデータのキャッシュに必要な情報処理装置のリソース使用量を抑えながら、特定の情報処理装置やアプリケーションやデータの提供元の情報処理装置のネットワークアクセスにかかる負荷を軽減する広域分散型アプリケーション及びデータホスティング方法を提供可能になる。
 上記態様によれば、ネットワーク上に分散して配置された情報処理装置が、連携して動作することにより、広域の配付点にアプリケーション及びデータを配付するシステムにおいて、アプリケーションやデータの配付に必要な配付点のリソース使用量を抑えながら、特定のデータセンタへのネットワーク負荷を集中させない広域分散型の情報処理システムを提供できる。
 また、上記態様によれば、データセンタ集約型情報システムでのシステムの応答時間を改善したシステムを提供することにより、システムの利用者が情報処理サービスを受ける際の応答時間を短縮し、利用者の体感品質を向上する効果がある。
 また、上記態様によれば、同等の品質を持つデータセンタ集約型情報システムと比較し、特定のデータセンタへのネットワーク負荷を集中させないため、データセンタへ接続するネットワークの転送量や帯域などを抑えることが可能となり、コストを低減した情報システムを提供できるという効果がある。
 他の特徴及び利点は、添付図面に関する以下の実施例の開示から明らかになるであろう。
 開示によれば、利用者の体感品質を向上させた情報システムを低コストで提供できるという効果を奏する。
第一の実施形態の情報処理システムのシステム構成を例示する図。 第一の実施形態の情報処理システムのサーバ及び管理サーバのハードウェア構成を例示する図。 第一の実施形態の情報処理システムにおいて、アプリケーション及びデータを分散した情報処理装置上へ移動する際の動作を例示するシーケンス図。 第一の実施形態の情報処理システムにおける、サーバの機能を例示する図。 第二の実施形態の情報処理システムにおける、ストレージに格納されるメタデータを例示する図。 第二の実施形態のメタデータの詳細を例示する図。 第二の実施形態の情報処理システムにおいて、アプリケーション及びデータを分散した情報処理装置上へ移動する際の動作を例示するシーケンス図。 第一の実施形態の情報処理システムの機器の構成を例示する図。 第一の実施形態の情報処理システムにおける、アプリケーションの移行の判定に利用する、拠点情報管理テーブルを例示する図。 第一の実施形態の機器が送信する処理要求の例を示す図。 第一の実施形態の管理サーバがリソースと稼働条件を管理する管理テーブルを例示する図。 第一の実施形態の情報処理システムにおけるサービス情報テーブルを例示する図。 第一の実施形態の情報処理システムにおけるアプリケーションやデータの配付される拠点の変化を例示する第1の図。 第一の実施形態の情報処理システムにおけるアプリケーションやデータの配付される拠点の変化を例示する第2の図。 第一の実施形態の情報処理システムにおけるアプリケーションやデータの配付される拠点の変化を例示する第3の図。 第一の実施形態の情報処理システムにおけるアプリケーションやデータの配付される拠点の変化を例示する第4の図。
 以下、実記形態について図面を参照して説明する。各図における同一符号は、同一のものを示す。
 第一の実施形態の情報処理システムの構成の概略を図1に示す。本実施形態の情報処理システムは、管理拠点、拠点B、拠点C、拠点D、拠点E内に設置されたサーバおよび管理サーバと、端末やセンサのような機器が基幹ネットワークやアクセスネットワークを介して接続しているものである。
 拠点B110は、基幹ネットワークに接続された、利用者が要求する情報処理を行う情報処理拠点であり、一般的に、データセンタや、データセンタ内に設置されたあらかじめ定められた領域である。
 本実施形態において拠点と表記されるのは、データセンタや、データセンタ内に設置されたあらかじめ定められた領域において、あらかじめ定められた範囲のネットワークセグメント内に、サーバや管理サーバやストレージや機器が接続されているものである。
 例えば、拠点とは、データセンタ全体であったり、データセンタのある区画だったり、データセンタのあるラックだったり、ビル内に設置された装置だったり、ネットワーク基地局に設置された機器だったり、小売店に設置されたキオスク端末機器であったり、現金自動払機、または自動販売機、または携帯電話や固定電話の通信機器や電柱などの設備に付随し設置される機器であったり、センサや車載器から無線にて情報を取得する路側無線機器(RSU:Road Side Unit)を含む一設備であったりする。
 拠点B110の中には、管理サーバB111及びアプリケーションサーバB112及びストレージ113が設置されており、それぞれが基幹ネットワークやアクセスネットワークなどのネットワークを介して以降に説明するサーバ及び端末及び機器などの情報処理機器に接続している。拠点Bには、管理サーバ及びサーバは、1台もしくは2台以上の複数台設置される。すべてのアプリケーションサーバは、いずれかの管理サーバの管理対象とされ、アプリケーションサーバ上でのアプリケーション実行やストレージの利用を管理される。なお、以下の説明では、アプリケーションサーバを単にサーバと称す。
 管理拠点100は、本実施形態の情報処理システムの情報処理の制御を中心的行うサーバ(管理サーバA101)、および管理用のストレージであるストレージ103が設置されており、利用者が要求する情報処理を提供する(ホスティングする)事業者による情報処理の管理を行う拠点を示す。管理サーバA101は、基幹ネットワーク、アクセスネットワークなどのネットワークを介して管理サーバB111やサーバB112、ストレージ113、以降に説明する情報処理機器に接続している。管理サーバA101は、管理サーバB111等の管理サーバを集中的に管理する管理サーバで、各拠点のアプリケーションの実行とストレージのへのデータ格納について、各管理サーバへ指示を行う。
 拠点C120及び拠点D130は、基幹ネットワーク160に接続している、前述した情報処理を分散実行するための設備を設置してある情報処理拠点である。一般的に、拠点C120及び拠点D130は、ホスティング事業者のデータセンタもしくはデータセンタ内に設置されたあらかじめ定められた領域である。
 拠点C120の中には、管理サーバC121及びサーバC122及びストレージ123が設置されており、拠点D130の中には、管理サーバD131及びサーバD132及びストレージ133が設置されている。それぞれの管理サーバとサーバは、基幹ネットワーク160などのネットワークを介して管理サーバA101及び管理サーバB111及びサーバB112及び、以降に説明する情報処理機器に接続している。拠点C120、拠点D130内には、管理サーバ及びサーバは、1もしくは2以上の複数台設置される。すべてのサーバは、いずれかの管理サーバの管理対象とされ、サーバ上でのアプリケーション実行やストレージの利用を管理される。
 また、拠点C120及び拠点D130のそれぞれの管理サーバとサーバは、アクセスネットワーク162にも接続している。アクセスネットワーク162は、後述する端末や、拠点E140が接続するためのローカルネットワークである。拠点C120や拠点D130に設置された図示しないネットワーク機器により、アクセスネットワーク162に接続された機器から基幹ネットワーク160への通信は行われ、基幹ネットワーク160からアクセスネットワーク162に接続された機器への通信も、逆方向に行われる。アクセスネットワーク162は、例えば、有線ローカルエリアネットワーク(LAN)または無線LAN、または近距離無線通信などである。
 拠点E140は、アクセスネットワーク162に接続している、前述した情報処理を分散実行するための設備を設置してある情報処理拠点である。一般的に、 拠点E140は、ホスティング事業者のデータセンタもしくはデータセンタ内に設置されたあらかじめ定められた領域や、ホスティング事業者が、地域の拠点や街中に情報処理を行う設備として設置する領域である。
 拠点E140の中には、管理サーバE141及びサーバE142及びストレージ143が設置されている。それぞれの管理サーバとサーバは、アクセスネットワーク162を介して他の拠点と接続しており、図示しないネットワーク装置によって、基幹ネットワーク160を介して、管理サーバA101及び管理サーバB111及びサーバB112など、すでに説明した、また、以降に説明する情報処理機器に接続している。拠点E140内には、管理サーバ及びサーバが、1台もしくは複数台設置される。すべてのサーバは、いずれかの管理サーバの管理対象となり、サーバ上でのアプリケーション実行やストレージの利用を管理される。
 機器(151~154)は、アクセスネットワーク162や、アクセスネットワーク161を介して基幹ネットワーク160に接続する本実施形態の情報処理システムを利用するために利用者が操作、もしくは設置する端末、もしくはセンサ等の制御用機器である。機器151~154は、例えば、カーナビ、またはPC、またはスマートフォン、または携帯電話、または家電機器、のいずれか一種類以上の、ユーザインタフェースを持つ端末機器や、センサ(例えば、メータ機器、または温度計、または電力計などの計器)、人流解析器、または監視カメラ、または認証機器などの制御用機器である。
 機器151~154は、サーバにネットワークで接続され、サーバ上で行わせようとする情報処理要求および/または情報処理のためのデータをサーバへ送信し、該情報処理をサーバに実施させる機器のことである。
 本実施例の情報処理システムでは、機器151~154などの機器が、情報処理を行うサーバへ情報処理要求を送信する際に、管理サーバが、機器の利用状況に応じて、利用者の要求する情報処理を分散した情報処理装置上へ移動し、情報処理に必要なリソース使用量を抑えながら特定の情報処理装置の接続しているネットワークアクセスにかかる負荷を軽減し、かつ、情報処理装置の応答性能を向上する。
 ここで、拠点内のストレージは、サーバと独立の装置のように記載しているが、各サーバに搭載されたフラッシュメモリやハードディスクのようなストレージでもよいし、仮想的にサーバ上のストレージを集合させた仮想ストレージでもよい。
 図2に、上述の、各管理サーバ、各アプリケーションサーバを実現する計算機のハードウェア構成を例示する。
 また、図4に、各アプリケーションサーバの機能構成を例示する。これらの機能は、図2のストレージ203に格納されたプログラムをCPU201が読み出し、メモリ202上で実行することにより、実現されるものである。各プログラムは、あらかじめ、上記計算機内のストレージ203に格納されていても良いし、必要なときに、入出力装置205やNIC204と、上記計算機が利用可能な媒体を介して、他の装置から上記ストレージ203に導入されてもよい。媒体とは、たとえば、入出力装置205に着脱可能な記憶媒体、またはNIC204に接続可能な通信媒体(すなわち有線、無線、光などのネットワーク)または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。
 アプリケーション実行部402は、アプリケーション401-1ないしアプリケーション401-nの実行の管理を行う機能である。アプリケーション実行部402は、他のサーバのアプリケーション実行部及び管理サーバと通信を行い、アプリケーションの移動を行う。また、アプリケーション実行部402は、管理サーバの指示に従い、アプリケーション401-1ないしアプリケーション401-nの実行、停止を行う。メタデータ管理部403は、ストレージ203上のデータの作成や更新、追加、削除が行われると、データオブジェクトのメタデータを作成し、それぞれの拠点の管理サーバへメタデータを送付する。
 分散データ制御部405は、他のサーバの分散データ制御部間で相互に通信を行い、管理サーバの指示に従い、サーバ内、もしくは、同一拠点内のストレージ上のデータの作成や更新、追加、削除などを行う。また、分散データ制御部405は、管理サーバの指示により、更新や、追加を行ったデータオブジェクトの複製を別のサーバへ作成する。このデータの複製の作成方法は、後述する。
 図3は、本実施例の情報処理システムにおいて、機器からの情報処理要求に対して、情報処理を行うサーバなどの情報処理機器を分散した情報処理装置上へ移動する際の動作を示したシーケンス図である。
 以下では、機器は、機器151であるものとして説明を行うが、他の機器であっても同様である。機器151は、まず、情報処理装置(サーバ)に行わせたい、情報処理要求を作成する(301)。この情報処理要求とは、例えば、機器151がPCであれば、PC(機器151)上のブラウザアプリケーションで表示させたいURIの指示や、ドキュメント表示アプリケーションで表示させたいコンテンツのパス名やファイル名の指示などである。例えば、機器151がセンサや監視カメラであれば、拠点B110のサーバ上で情報処理を行わせたい測定データおよび/または記録データ(例えば、測定した温度、消費電力量、記録音声、記録映像などのいずれか一種類以上)とそれらに対する処理の指示と、を含む送信内容である。
 機器151は、サーバB112へ情報処理要求301で作成した内容の情報処理を実施させるため、処理要求送信(302)において、サーバB112へ処理要求を送信する。ここで、機器151は、自身が作成した処理要求をどのサーバ(この場合、サーバB112とする)へ送信すべきかの情報は、サーバB112の名称とIPアドレスなどのネットワーク上の所在などを、あらかじめ機器151に登録するか、利用者が利用の際に入力するなどして、すでに保持している。たとえば、利用者が行いたい情報処理が、あるURIと紐付けられている場合、機器上のリゾルバと呼ばれるクライアントプログラムからDNSサーバへの問合を行うことにより、情報処理を行うサーバのネットワークアドレスが明らかとなり、機器が、利用者が行いたい情報処理を提供するサーバに対してアクセス可能となる。
 機器151からサーバB112への通信は、機器151上に記録されている後述するメモリ上で動作する図示しない通信プログラムが行う。サーバB112のネットワーク上でのアドレスは、前述したように通信プログラムによりネットワーク上のDNSサーバに問い合わせることにより入手し、通信プログラムがサーバB112上の通信プログラムと機器151との間の通信を行う。サーバB112は、処理要求送信(302)において受け取った処理要求の内容を処理するアプリケーションの決定を、処理要求確認ステップ(303)において行う。処理要求を行うアプリケーションがサーバに存在し、動作可能かを確認する。
 一般的に、データセンタ内では、あるサーバと同様の機能を有するサーバを複数設置し、サーバ群の直前にロードバランサ等の付加分散機器を設置し、サーバへ通信してくる機器ごとに情報処理を行うサーバへの接続を分散する処理が行われる。本実施例では、簡便のため、機器からの接続をすべてサーバB112が処理するように記載するが、情報処理が機器ごとにサーバB112と同等の機能を有するサーバ群において、付加分散され実行していても同様である。
 サーバB112上での処理要求確認(303)が終了し、受け取った処理要求の内容を処理するアプリケーションが動作しない状態であれば、図示しない手順で、サーバB112は、機器151に対してアプリケーションが動作しておらず、情報処理要求が実行できない旨のエラーを返信する。処理要求を行うアプリケーションが動作しており、情報処理要求の処理が可能であれば、サーバB112は、管理サーバB111に処理要求確認を依頼(304)する。
 この処理要求確認304のステップは、機器151から処理要求が送信された際に、毎回行ってもよいし、処理がある定められた期間内において最初に行われた際のみに行ってもよいし、ある定められた期間において定められた頻度で行ってもよい。処理要求確認を依頼するステップ304では、機器151が送信した処理要求の内容がステップ304で送信される情報に含まれるため、管理サーバB111は、機器151の情報を取得している。
 ここで、図10を用いて、機器151が送信する処理要求の例を示す。処理要求1000は、機器151がHTTPサーバであるサーバB112に対し、HTTPリクエストを処理要求として送付した際の要求の内容を説明するものである。処理要求1000は、リクエスト1001、ヘッダ1002、メッセージボディ1003より構成される。リクエスト1001は、HTTPのリクエストの要求内容の主体である。リクエスト1001は、例えばサーバに対するコマンドや、URIなどのリクエスト対象となるデータ情報やパス名を含み、サーバB112はこのリクエスト内容に応じた情報処理を行う。
 ヘッダ1002は、HTTPのリクエストの詳細部分をサーバに認識させるための情報である。ヘッダ1002は、例えば、送信側のアプリケーションでサポートするデータタイプやデータの圧縮方法、アプリケーションの種別などを含む。ボディ1003は、サーバへデータを送るために使う領域で、送信したいテキストデータなどを含む。本実施例の処理要求では、必要に応じてあらかじめ定められたフォーマットで、位置情報や経路情報、機器情報を処理要求1000内に含めて送信する。
 図10では、ボディ1003の中に、位置、経路、機器情報1004を挿入して送信を行っている例を示している。位置、経路、機器情報1004は、機器151の位置情報、機器151から情報処理を行うサーバや管理サーバへの経路情報、機器151の種別情報のいずれか一種類以上を含んだ情報である。
 位置情報は、例えば、機器151の現在の(機器の測定機能から提供される)緯度、経度、高度等の情報やあらかじめ設定した地域のID番号や端末が通信しているアクセスネットワークの種別や端末が最も近い拠点の情報である。また、経路情報は、端末のIPアドレスや、端末から特定のサーバへの経路情報などである。端末の種別情報は、端末の動作している機器の種別、端末で動作しているOS、アプリケーションの種別、バージョン、サポートしている送受信プロトコルの種別、バージョン等である。また、機器情報は、実行を要求する情報処理のかつての実行履歴、及び実行所要時間、及び品質を含んでいる。これらの位置、経路、機器情報1004を機器151がサーバB112に送信することにより、後述するように、アプリケーションの移行の判断を管理サーバ(101,111)にて実施する。
 このような位置、経路、機器情報が、機器151からサーバB111及び管理サーバB112に送信されることにより、情報処理システムにおいて、機器151の情報処理の速度を向上させたり、情報処理コストを低減する情報処理を行うアプリケーションやデータの配置を管理サーバがサーバへ指示し、構成することができる。
 次に、図8を用いて、機器151~154の構成について説明する。機器151~154は、図8に示すようにCPU801、メモリ802、ストレージ803、NIC(ネットワークインターフェースカード)804、入出力装置805で構成される。機器151~154は、ストレージ803上に、図示しないサーバとの通信プログラムを保存しており、メモリ802に読み込んだ通信プログラムを利用して、CPU801がNIC804を介してネットワーク上のサーバと通信を行う。
 ストレージ803は、位置、経路、機器情報806を保存している。この機器情報806は、機器の位置情報や、端末から情報処理を行うサーバや管理サーバへの経路情報、機器の種別情報を含んだ情報である。位置、経路、機器情報806のうち、位置情報は、機器151~154の持つGPS等の位置および/または高度の測定機能を利用して利用者が端末を利用したり、端末が動作する際に作成されるか、あらかじめ利用者が設定する。また、経路情報は、前記の通信プログラムが与えられたアドレス情報やサーバへの経路情報から作成する。また、機器情報は、端末の出荷時やあらかじめ利用者が端末の種別、動作しているOS、アプリケーションの種別、バージョン、サポートしている送受信プロトコルの種別、バージョン等が記録されたものである。また、機器情報は、実行を要求する情報処理のかつての実行履歴、実行所要時間、品質のいずれか一種類以上を含んでいる。
 ストレージ803に保存されている位置、経路、機器情報806は、機器151~154が動作中にメモリ802に読み込まれ、前述した位置、経路、機器情報1004として、サーバへ全部もしくはその一部が送信される。この位置、経路、機器情報1004をサーバ及び管理サーバが利用することにより、アプリケーション、及びデータの配付場所が管理サーバからサーバへ指示される。サーバへ向けて送信される機器情報は、位置、経路、機器情報806に保存されている情報の最新値や平均値である。
 ここで、図3を用いた、処理の説明に戻る。サーバB112から送信されてきた処理要求確認(304)により、サーバB112上で動作する、機器151からの要求のあった情報処理を行うアプリケーションが、サーバB112以外で動作させるか否かの移行の判定を行う。この移行判定の方法は、後述する。
 後述する移行判定結果により、移行が必要と判断された場合、管理サーバB111は、管理サーバA101へ移行判定要求(305)を送信する。管理サーバA101は、管理サーバB111の上位の管理サーバである。本実施例の管理サーバは、あらかじめ登録された階層構造に従って、管理を制御されている。本実施例では、管理サーバA101が、管理サーバB111、及び管理サーバC121、及び管理サーバD131を管理する上位の管理サーバとなっている。管理サーバは、上位の管理サーバの指示でアプリケーションの実行、移動、停止、消去などの管理を行う。管理サーバA101は、ネットワークに接続された機器が、どのアプリケーションをどのサーバで実行し、情報処理を行っているかを管理している。この記録管理方法については、後述する。
 移行判定要求(305)において、管理サーバB111は、機器151からステップ302で受信した要求(位置、経路、機器情報1004を含む)と管理サーバB111でのアプリケーションの実行状況を管理サーバA101に送信する。管理サーバA101は、管理サーバB111と同様にアプリケーションの移行判定を行う。管理サーバA上で移行判定が行われた後、管理サーバA101は、移行判定結果を管理サーバB111に送信する(306)。
 移行判定結果には、アプリケーションを移行するサーバに関する情報(例えば、移行先は拠点C上のサーバである)が含まる。ここで、管理サーバA101と管理サーバB111上で行われた移行判定が共に移行必要であれば、管理サーバB111は、該当するアプリケーションの移行を行う。何れかの判定も移行不可であれば、管理サーバB111は、アプリケーションの移行を指示しない。ここで、移行不可とは、アプリケーションの移行ができないか、移行しても端末との通信の品質が低下したり、通信コストなどのコスト増があると管理サーバが判断することを言う。
 ここで、管理サーバB111は、処理要求情報確認が行われたという情報をサーバBへ送信する(確認結果送信(307))。サーバB111は、送信された処理要求に対応した処理結果の生成を行う(308)。サーバB112は、生成された処理結果を機器151に送信する(309)。ここで、これらの処理結果生成のプロセス(301~309)は、処理要求をサーバB112が確認してから、確認結果送信(307)までを待って行われるように説明しているが、308及び309の処理を非同期に(先行して)行ってもよい。
 上述した管理サーバA101と管理サーバB111上での移行判定がともに「移行必要」であれば、管理サーバB111及びサーバB112は、これから述べるAP移行準備310から移行完了通知323の手順において、アプリケーションの移行を行う。ここで、アプリケーションの移行先は、拠点C120のサーバであると管理サーバA101もしくは、管理サーバB111が決定したものとして、説明を進める。
 AP移行準備310において、管理サーバB111は、アプリケーションを拠点Cのサーバへ移行するための準備を行う。上述したように、管理サーバB111は、アプリケーションの移行先が、拠点Cのサーバであり、管轄する管理サーバは、管理サーバC122であることをあらかじめ管理サーバA101から通知されている。管理サーバB111は、管理サーバC121に対して、アプリケーションの移行を要求するためのアプリケーション情報を作成する。作成したアプリケーション情報は、管理サーバC121に送信される(AP移行要求(311))。管理サーバC121は、AP移行要求(311)を受信し、移行すべきサーバを決定する。決定には拠点C120において、管理サーバC121が管理するサーバにおいて、AP移行要求に含まれるアプリケーションの情報から、管理サーバC121の管理するサーバ群の中で、それぞれのサーバのメモリ容量、及びCPU性能、及びストレージ容量、及び動作可能なVM(仮想マシン)の種別、及び動作可能なアプリケーションの種別といった、リソースや稼働条件を判断し、すべての条件において、稼働可能であるサーバ群を選定する。
 ここで、図11を用いて、管理サーバC121が拠点C内でアプリケーションを移行するサーバを選定の判断を行う際の情報を管理する管理テーブルの説明をする。図11は、管理サーバC121が管理するサーバにおいてアプリケーションを動作させるためのリソースと稼働条件を管理する管理テーブル1100である。管理テーブル1100は、管理サーバC121上のメモリやストレージ上に記録され、常に管理サーバC121の管理テーブル管理機能により更新される。管理テーブル管理機能は、管理サーバC121の管理対象、及び、拠点C内のサーバの後述するリソースや情報を管理し、他の管理サーバからのアプリケーション実行の要求に対するリソース割り当てを行う。
 管理テーブル1100には、サーバID1101、及びサーバ名1102、及びアドレス1103、及び割り当て可能メモリ量1104、及び割り当て可能ストレージ量1105、及びCPU情報1106、及び動作可能VM種別1107、及び動作可能アプリケーション種別1108、及び動作アプリケーション情報1109、及びアプリケーション稼働実績1110、及びコスト1111が記載されている。管理テーブル1100は、拠点内の管理サーバ同士の通信により、拠点内で共有され、随時更新される。
 サーバID1101、サーバ名1102は、それぞれ管理サーバC121が管理するサーバにつけられたID及び名称である。アドレス1103は、各サーバに付与されたネットワークアドレスが記録される。割り当て可能メモリ量1104、割り当て可能ストレージ量1105は、それぞれ、空きメモリ、ストレージの空き容量に関し、アプリケーションの移行を受け入れられる、残りのリソースを示している。この空リソース量は、管理サーバC121から管理される各サーバに要求を出し、常に更新される。管理サーバは、空リソース量を比較し、リソース割り当てを行う。
 CPU情報1106は、各サーバの持つCPUのスペック情報であり、動作周波数やソケット数、コア数が記録される。動作可能VM種別1107及び動作可能アプリケーション種別1108は、それぞれサーバ上で動作可能なVM及びバージョンを含むアプリケーションの種別が記録されたものである。アプリケーションが動作する際に、依存関係のある必要なライブラリがインストール済かがチェックされ、記録されている。動作アプリケーション情報1109は、現在動作しているアプリケーションの情報である。アプリケーション稼働実績1110は該当するサーバにてどのようなアプリケーションの稼働実績があるかが記載されている。
 コスト1111は、単位時間当たり、サーバ及びストレージを利用する際にかかる電力の費用やスペースなどについての利用者が負担する賃料などの、サーバ利用に係り利用者が負担する費用を、サーバ台数もしくはCPU数もしくはCPUのコア数もしくは、ストレージ容量あたりで乗算したコストの指標である。
 管理サーバB111が、移行に必要なサーバのアドレスやスペック情報を管理サーバC122に通知すると、管理サーバC122は、通知された条件で動作させることができるサーバを選定する。この選定には、割り当て可能メモリ量1104、及び割り当て可能ストレージ量1105、及びCPU情報1106が参照され、必要なリソースが確保できるサーバが選定される。選定したサーバの中で、すでに要求のあったアプリケーションが稼働しているサーバがあれば、管理サーバC122は、そのサーバを選定する。
 要求のあったアプリケーションが稼働しているサーバがない場合は、アプリケーション稼働実績1110を参照し、選定したサーバの中から、稼働実績のあるサーバを優先し、かつ動作可能VM種別1107もしくはアプリケーション種別1108に記載される条件を満たし、かつ、コスト1111に記載されているコスト(複数台の場合はコストの総量)が最も小さいサーバを選び出す。
 上記のように管理サーバC122が選定したサーバに対して、アプリケーションを移行することにより、機器151に対して、応答品質が良く、コストの安いサービス提供を可能となる。
 次に、先ほど述べた、サーバB112上で動作する機器151からの要求のあった情報処理を行うアプリケーションをサーバB112以外で動作させるか否かという移行の判定を行う方法について述べる。
 管理サーバB112、及び管理サーバA101の管理者は、あらかじめ、機器151が特定の情報処理を行う際の、情報処理の配付について、ポリシーを決定し、管理サーバA101の中に格納し、管理サーバ群で共有させる。管理サーバA101は、ポリシーの共有のため、管理サーバB112の問い合わせに応じて、ポリシーを回答する。ポリシーとは、機器151と情報処理の内容の組み合わせそれぞれに対し、許容する応答時間、及び許容する距離、及び通信時に許容するネットワーク機器の数を定義する。
 管理サーバB112は、ポリシーの中に許容する応答時間が含まれている場合、要求に含まれる応答時間の内容を調査し、ポリシーにおいて、アプリケーションとデータの移動が必要と判断される場合は、アプリケーションとデータの移行が必要と判断する。例えば、管理サーバB112は、ポリシーの中に許容する位置情報の最大値が含まれている場合、ステップ302の要求に含まれる機器の位置情報と、拠点Bの距離の大きさを計算し、アプリケーションとデータの移行が必要と判断される場合は、アプリケーションとデータの移動が必要と判断する。
 例えば、管理サーバB112は、ポリシーの中に許容する経由するネットワーク機器(ホップ数)の最大値が含まれている場合、ステップ302の要求に含まれる機器の経路情報から、経由するネットワーク機器(ホップ数)の大きさを計算し、アプリケーションとデータの移行が必要と判断される場合は、アプリケーションとデータの移動が必要と判断する。
 以上の判断が管理サーバB112において行われた場合、管理サーバA102において、同様の判定が行われる。管理サーバB112,管理サーバA102共に、移行必要と判断された場合、管理サーバA102において、移行先の拠点の検討が行われる。管理サーバA102は、ステップ305において、機器151の位置、経路、機器情報を入手する。拠点B110と比較し、移行による機器151の情報処理について品質が向上する拠点を管理サーバA102は選定し、ステップ306において管理サーバB112に送付する。
 上述した管理サーバA101と管理サーバB111上での移行判定がともに「移行必要」であれば、管理サーバB111、及びサーバB112、及び移行先の管理サーバ及びサーバは、これから述べるAP移行準備310から移行完了通知323の手順において、アプリケーションの移行を行う。ここで、アプリケーションとデータの移行先は、拠点Cのサーバであると管理サーバA101もしくは、管理サーバB111が決定したものとして、説明を進める。
 ここで、管理サーバC121は、管理テーブル1100を参照し、管理サーバC121の管理対象であるサーバから、アプリケーションを動作させるサーバを決定する。まず、管理サーバA101、管理サーバB111から入手したアプリケーションのメモリやストレージに関するリソース使用情報とデータのストレージに関するリソース使用量を確認し、データ格納とアプリケーションの条件を満たすサーバを選出する。
 また、配付されるアプリケーションが、アプリケーション形式であれば、動作可能なAP種別を確認し、動作可能であるサーバを選出する。すでに稼働実績があるサーバは優先し、実際に現在アプリケーションが稼働中であれば、アプリケーションの移行は行わず、データのみの移行を行う。
 アプリケーションの配付は、パッケージ化されたアプリケーションを準備し、実行するアプリケーションに送信し、実行するとして説明を行うが、仮想マシン(VM)を準備し、実行するサーバは仮想マシンを送信し、仮想マシンを動作することで、アプリケーションの実行を行ってもよい。以降は、前者の例を示す。
 以降、本実施例では、アプリケーションやデータを移行するサーバがサーバC122であると管理サーバC121が決定したとして説明する。管理サーバC121は、移行するサーバC122のアドレスやスペック情報(移行情報)を管理サーバB111へ送信する(312)。この移行情報は、アプリケーションを受け入れるための認証情報を含む。管理サーバB111は、受け取った移行情報をサーバB112に送信する。このことにより、サーバB112は、認証情報を含む移行情報をサーバB112に送信する(314)。
 サーバC122は、管理サーバC121より、事前に移行受け入れ要求(313)を受け取っている。サーバB112は、移行情報を受け取ると、移行情報の中に存在する認証情報を送付し、サーバC122と通信を開始する。サーバC122は、移行受け入れ要求313により受理した認証情報と、送付された認証情報を確認し、通信相手がサーバB112と確認された場合、送付されたアプリケーションプログラムをサーバC上で動作させるためのアプリケーションパッケージと、データを受信し(315、316)、サーバC122上でアプリケーションが動作するようにアプリケーション及びデータの格納(317)を行う。
 アプリケーション及びデータの格納とは、サーB112で動作していたアプリケーションがサーバC122にて動作するよう、サーバC122へサーバアプリケーションのインストール、及びWebアプリケーションのインストール、及びアプリケーションへの設定、及び環境設定、及びユーザデータの格納を行うことである。アプリケーション及びデータの格納の作業に必要な情報は、AP移行315、及びデータ送信316のステップにて、サーバB112がサーバC122に送信する。
 ここで、AP移行315、及びデータ送信316のステップでは、サーバB112がサーバC122に直接情報を送信するように記載している。拠点B110及び拠点C120の環境によっては、サーバB112からサーバC122に直接通信を行えない場合がある。その際は、AP移行315、及びデータ送信316のステップは、サーバB112及びサーバC122の一方もしくは両方がサーバB112とサーバC122間の通信を、制御用の通信路を用いて、仲介する。
 アプリケーションの移行に伴い、機器151に関するデータがサーバC121に送信される。サーバC122は、サーバC122のストレージもしくはストレージ113に機器151に関するデータを格納し、ステップ317で動作するアプリケーションから機器151に関するデータを利用可能にし、アプリケーションを実行する(317)。機器151に関するデータの利用に際し、DBMSなどのミドルウェアの配備が必要な場合、サーバC122上で動作するよう管理サーバC121がサーバC122へ指示する。
 サーバC122は、アプリケーションの格納が完了した際、格納完了を管理サーバC122に通知する(318)。管理サーバC121は、自らの持つ管理テーブル1101の更新を行う。管理サーバC121は、格納完了通知をサーバB112に行う(319)。管理サーバB111は、移行完了処理要求をサーバB112及び管理サーバA101に行う(320、321)。
 移行完了処理322は、管理サーバA101、及び管理サーバB111にて、機器151からの処理要求がサーバC122で処理されるように、ロードバランサ、DNSサーバ、ネットワーク機器のいずれか一種類以上の関連する機器に、設定変更の指示を行う。例えば、DNSサーバへ情報処理に対応した名前解決の情報変更を依頼する要求を行う。この移行完了処理322により、機器151からアプリケーションへのアクセス経路が変更され、サーバC122に到達する。サーバB112は、サーバC122に対し、移行完了処理が完了したことを通知し、移行のためのサーバB112とサーバC122間の通信を終了する(323)。
 上記の手順を実行することにより、管理サーバA102、及び管理サーバB112、及び管理サーバC122が連携し、サーバB112で動作していたアプリケーションを、機器151が送信した位置、経路、機器情報1004を用いて、機器151でサーバから情報処理結果を受信する際の応答品質を損なうことなく、サーバC122でアプリケーションを実行させることにより、情報処理を行うコストを低減することができる。
 上記手順では、拠点B110における管理サーバB111がサーバ112上のアプリケーションの移行を拠点C120に対して行ったが、拠点B110、及び拠点C120、及び拠点D130は同一の機能を持つため、拠点間で同様にアプリケーションとデータの移行を行うことができる。また、拠点E140は、ネットワーク接続が、他の拠点と異なるが、拠点E140における管理サーバE141、サーバE142、ストレージ143は、拠点B110における管理サーバB111、及びサーバB112、及びストレージ113と同様の機能を持つため、同様の移行を行うことができる。
 ただし、管理サーバE141は、直接、管理サーバA101と通信を行わず、管理サーバE141を管理対象とする管理サーバC121に対して移行の許可などの管理の指示を受け、必要に応じて管理サーバC121は上位の管理サーバである管理サーバA101に対し、管理の指示を受けるよう通信を行う。
 ここで、前述した、機器151から要求のあった情報処理を行うアプリケーションをサーバB112以外で動作させるか否かの移行の判定を行う方法について、詳細を述べる。図12は、アプリケーションの移行の判定に利用する、サービス情報テーブル1200の詳細を説明する図である。サービス情報テーブル1200は、アプリケーションID1201、アプリケーション名称1202、配付先1203、稼働状況1204、利用機器1205、配付条件1206が記録されている。
 管理サーバA101は、管理サーバA101が管理する管理サーバB111、及び管理サーバC121、及び管理サーバD131が管理対象とするサーバ(サーバB112、及びサーバC122、及びサーバD132等)における、稼働アプリケーションと稼働条件をサービス情報テーブル1200で管理している。サービス情報テーブル1200は、ストレージ、またはストレージ103上に保存され、メモリ202上に読み込まれて更新、管理される。アプリケーションID1201は、それぞれアプリケーションのIDで、アプリケーションごとに一意に設定されている。アプリケーション名称1202は、アプリケーションの名称、サイズ、実行ファイルやパッケージの保管パスが記録されている。配付先1203は、アプリケーションがどのサーバへ配付されているのかを示し、稼働状況1204は、拠点内でどのサーバで稼働しているかの情報が格納されている。
 利用機器1205は、配付されたアプリケーションを利用している利用機器のリストである。配付先1203及び稼働状況1204は、利用機器1205の各機器毎に対応づけられる。配付条件1206は、アプリケーションを拠点上のサーバに移行する際に、必要な条件(サーバでの動作OS、及び必要な依存関係のあるプログラムとライブラリ、及び必要リソース(メモリ、及びストレージ、及びネットワーク)等)が記載されている。管理サーバA101は、移行の判定を行う際に、サービス情報テーブル1200を参照し、アプリケーションを移行する必要があるか、判定する。まず、管理サーバA101は、アプリケーションID1201、及び稼働状況1204、及び利用機器1205から、当該機器及び当該アプリケーションが稼働している拠点を調査する。
 すでに管理サーバA101に機器151から送信されている位置、経路、機器情報1004の中から、位置情報を用いて、アプリケーションが稼働している拠点と、現在、機器151がアプリケーションを利用している拠点B110との距離の一覧を算出する。その中で、最も距離の近い拠点(この場合、拠点Cとする)を算出し、現在アプリケーションを利用している距離B110との距離の差があらかじめ定められた値以上か、距離の比があらかじめ定められた値未満の場合、移行は可能で、移行先は拠点C120とすることを判定結果とする。
 前述で稼働中の拠点を選出できなかった場合、当該アプリケーションが稼働していない拠点で、配付条件1206に記載された条件を満たす拠点を選出し、前述の位置情報を用いて、選出された拠点と、現在、機器151がアプリケーションを利用している拠点B110との距離の一覧を算出する。その中で、最も距離の近い拠点(この場合、拠点C120とする)を算出し、現在アプリケーションを利用している距離Bとの距離の差があらかじめ定められた値以上か、距離の比があらかじめ定められた値未満の場合、移行は可能で、移行先は拠点C120とすることを判定結果とする。以上は、位置情報を利用した拠点の判定方法であったが、位置情報の他に、経路情報や機器情報に含まれる各拠点間のRTT(応答時間)や、ルータホップ数を利用してもよい。その際は、応答時間やルータホップ数があらかじめ定められた差や比以上に改善されれば、移行可能として、拠点を選出する。
 また、アプリケーションが利用するデータは、複数の拠点上のストレージに分散されている。この分散の方法は、後述する。拠点の選定時に、すでに、アプリケーションが機器151から利用するデータの複製が存在する拠点については、距離や経路による算出に優先して、データの複製が存在する拠点を優先する。データの複製が存在する拠点が、拠点B110と比較し、機器151に対して距離が近い場合、データの複製が存在する拠点に優先してアプリケーションの移動を行う。
 この際、データの移動は必要ないため、ステップ316のデータ送信は行われない。ステップ322の移行完了処理において、データの消去やアプリケーションの停止も行われない。
 上記のように、管理サーバA101は、管理サーバA101が統括する管理サーバ群の設置されている拠点の中から、アプリケーションが動作可能な拠点を選別し、判定結果と合わせて、管理サーバB111に通知する。
 図3において、移行完了通知323のステップが終了すると、機器151におけるアプリケーションの実行は、拠点C120における、サーバC122において行われる準備が完了している。その後、機器151が、情報処理装置(サーバ)に行わせたい、情報処理要求を作成し(301)、情報処理要求をサーバC122へ送信すると、前述した処理要求確認(303)から処理結果送信(308)までの手順が、管理サーバC121、及びサーバC122、及び管理サーバA101にて行われるため。機器151では、引き続き、情報処理を続けることができる。
 次に、機器151に関するデータを本実施例の情報処理システムが多重化し、可用性を向上させる方法について、説明する。データの複製の管理は、各サーバ間の分散データ制御部405が通信を行い実施する。初めに、機器151に関するデータが拠点B110のストレージ113上に生成されると、拠点B110のサーバ112上の分散データ制御部405は、管理サーバ121に問い合わせを行い、機器151に関するデータの複製の生成先(配付先)を決定し、配付先へデータを送信する。配付先の選定は、拠点内の配付先は、管理サーバB121が決定する。すでにデータの複製の生成先が決まっており、複製が存在しているデータは、そのデータ複製先を引き継ぐため、新たな拠点へのデータの複製は作られない。
 拠点外へのデータの配付(複製)先は、管理サーバB111が、管理サーバA101に問い合わせて決定する。管理サーバB111は、管理サーバA101より、機器151に関するデータの可用性をどのように保つ必要があるかのポリシーについての情報を提供する(ステップ306)。このポリシーとは、例えば、同一拠点内に一つの複製と、拠点外に二つの複製を含むなどである。この拠点外の複製を作成する際に、管理サーバA101及び管理サーバB111は、ともに後述するような地域情報管理テーブルを持っており、条件に合った配付先を決定する。
 図9は、拠点情報管理テーブルを説明する図である。拠点情報管理テーブル900には、各拠点の位置情報などが記載されている。拠点情報管理テーブルには、拠点ID901、拠点名902、拠点位置(緯度、経度)903、接続ネットワーク情報904、拠点形態905、拠点のセキュリティレベル906、拠点の被災、停電リスク907のいずれか一種類以上が記載されている。拠点情報管理テーブル900は、管理サーバA101が管理し、管理サーバB111などの管理サーバと共有する。
 管理サーバB111は、機器151に関するデータの複製をどの程度作成するかを決定するために、管理サーバA101に問い合わせを行う。管理サーバA101は、あらかじめ、機器151の所有者が決めたポリシーに従ってストレージ上のデータの冗長化の指示を送る。このポリシーとは、例えば、「常にデータの複製を2つ持ち、一つは同一拠点内、一つは100Km以上離れた拠点に作成する。」のようなものである。
 この場合、管理サーバB111は、拠点情報管理テーブルの拠点ID901、及び拠点位置903などから、距離を判断し、複製を作成する拠点を決定する。また、例えば、ポリシーが、「接続ネットワークの異なる3拠点に作成する。」であれば、管理サーバB111は、拠点情報管理テーブルの接続ネットワーク情報904から、接続ネットワークを判断し、拠点を決定する。また、例えば、ポリシーが、「拠点のグレードを示す拠点形態、セキュリティレベル、被災、停電リスクのいずれか一種類以上が一定の値以上である3拠点に作成する。」であれば、管理サーバB111は、拠点情報管理テーブルの拠点形態905、拠点のセキュリティレベル906、拠点の被災、停電リスク907のいずれか一種類以上とそれらの値から、拠点の選別と拠点の決定を行う。
 例えば、ポリシーが、「常にデータの複製を1つ持ち、データを参照するアプリケーションの稼働している拠点」である場合、管理サーバB111は、動作アプリケーション情報1109を調査し、稼働している拠点を複製を作成する拠点として決定する。
 アプリケーション種別が、利用者及び利用機器毎に区別して管理されているとすると、アプリケーションを利用者が利用する毎に、アプリケーションの稼働する拠点は、利用機器から物理的に近い拠点もしくは、利用機器とのネットワーク上の応答が短い拠点上で動作することになる。
 本実施例のシステムが、動作を続けると、あるデータに対する複製は、いったん決められたポリシーに従って、同一の拠点に作成されるが、上記、「データを参照するアプリケーションの稼働している拠点」とする場合、アプリケーションの稼働拠点が移行することが頻繁に起こる。その際、管理サーバB111は、複製の作成先の拠点をアプリケーションの稼働している拠点へ変更する。以前複製の作成先とされていた拠点上のデータは消去され、新たに選択された拠点上に複製が作成される。
 上記のように複製の作成先を変更することによって、あるデータを作成もしくは参照もしくは更新するアプリケーションやそのアプリケーションを利用する機器が複数ある場合、アプリケーションを利用する利用者や利用機器にとって、応答性能やスループットの良い拠点上でアプリケーションが実施されるうえ、データやデータの複製が前記の拠点上に作成されるようになるため、アプリケーションの処理時間を含めた、アプリケーションの利用効率が向上し、利用者のアプリケーションを利用する体感品質が向上するという効果がある。
 以下、「常にデータの複製を2つ持ち、一つは同一拠点内、一つは100Km以上離れた拠点に作成する。」というポリシーが、機器151に関するデータに対して設定されていたものとする。
 管理サーバB111の指示により、分散データ制御部405は、機器151に関するデータの複製を拠点内と、100Km以上離れた拠点D130に作るよう動作する。分散データ制御部405は、管理サーバB111の指示したストレージ113と、拠点D130のサーバ上の分散データ制御部405と接続を行い、機器151に関するデータの複製を作成する。機器151に関するデータが更新されるたびに、分散データ制御部405がそれぞれの複製を更新する。
 ここで、分散データ制御部405が、データの複製を作成するように記載したが、データのコピー(バックアップ)である複製を作るのではなく、分散データ・ガーディングのような、データとパリティの集合をいくつかのストレージで分担するような冗長化を実施してもよい。
 次に、図13から図16を用いて、機器151及び機器152が、図示しないアクセスネットワーク及び基幹ネットワーク160を介して、アプリケーションとデータを利用する際、アプリケーションやデータが拠点間で移動されたり、複製されたりする手順を説明する。
 図13に、機器151が利用するアプリケーション1301、及びデータ1302がそれぞれサーバB112上で動作し、ストレージ1303上に保存されているものとする。すでに説明したアプリケーションとデータの拠点移動のステップにより、ステップ315でアプリケーション1301がサーバB112上からサーバC122上に、ステップ316で、データ1302がストレージ113からストレージ123に移動する。移行完了処理332において、サーバB112上のアプリケーション1301が停止され、データ1302が消去される。(図14)
 ここで、データの複製が、拠点D130に作られるとすると、図15に示すように、管理サーバC131は、ストレージ133上にデータの複製1303を作成するよう指示する。その後、機器151が移動し、機器151の位置、またはネットワーク上のアドレスが変わると、サーバC122上で動作しているアプリケーション1301の移動先が管理サーバC121において判定される。この際、拠点D130内にはすでに、ストレージ上にデータの複製が存在しており、拠点D130は、アプリケーションの移動先として、優先的に管理サーバC121に選択される。この際、すでに述べたアプリケーションの移行は行われるが、データの移行は必要ないため、ステップ316でのデータの移行は行われない。また、ステップ322での移行完了処理におけるデータの消去は行われない。
 上記のようにアプリケーションの移行が行われると、図16に示すように、アプリケーション1301が、それぞれ拠点C120及び拠点D130において動作し、データ1302及びデータの複製1303がそれぞれ、拠点C120及び拠点D130に配付される。機器151の位置が、拠点D130に比較し、拠点C120に近いか、機器151から拠点C120のネットワーク上の距離が拠点D130に比べて近い場合、機器151から利用されるアプリケーション及びデータは、アプリケーション1301及びデータ1302となる。また、機器151の位置が、拠点C120に比較し、拠点D130に近いか、機器151から拠点D130のネットワーク上の距離が拠点C120に比べて近い場合、機器151から利用されるアプリケーション及びデータは、アプリケーション1301及びデータの複製1303となる。
 ここで、機器151からアプリケーション1301を介してデータの複製1303に更新が加えられた場合、各々のサーバ上の分散データ制御部405は、データの複製1303に加えられた更新の情報を共有し、更新情報をデータ1302に反映する。上記の更新の反映により、機器151は、サーバC122及びサーバD132上のどちらのアプリケーション1301を利用しても、同じアプリケーションを介してデータを利用することができ、アプリケーションの応答性能を向上出来たり、データの参照、記録(更新)の速度が向上される効果がある。
 上記では、機器151に依存してデータの移行及びアプリケーションの移行及びデータの複製の作成が行われるように説明しているが、機器が利用者毎にグループ化されて管理されていてもよい。このようにすることにより、図16で示す例で利用者が利用する機器が151でなく、機器152であったとしても、同様の効果が得られる。このようにすることにより、機器151が生成したセンサ情報をアプリケーション1301経由でデータ1302に付加し、機器152がその付加されたデータを参照する際にアプリケーション1301経由でデータ1303にアクセスするということができる。このようにすることにより、効率良く、機器152からのアプリケーションの応答性能を向上させたり、データの参照の速度が向上させたりすることができる。
 この利用者毎に機器を管理するのは、サービス情報テーブル1200の利用機器1205において、利用する機器を利用者に応じてグループ化しておくことにより、実現する。例えば、機器151と機器152を利用する利用者は同様であるとするなら、サービス情報テーブル1200の利用機器1205において、機器151と機器152を同様にみなす。
 以上のように、利用者の端末などの機器と各拠点に設置した、サーバ、管理サーバが連携することにより、動的な生成結果を出力するようなアプリケーションを本来稼働しているオリジンサーバのある中央のデータセンタから、分散した末端のデータセンタへ移動することにより、中央のデータセンタのネットワークアクセスにかかる負荷を軽減することが可能になる。
 このことにより、本実施例の情報処理システムは、データセンタのコストを低減することができ、機器を利用し、データセンタ内のアプリケーションやデータによる情報処理を利用する利用者が負担するコストを下げることができるという効果を奏する。
 また、本実施形態の情報処理システムは、毎回処理が異なるような情報処理を行う情報処理システムに対する適用は、効果が高く、回線品質の維持にかかるコストを低減することができる。あらかじめ動的生成処理を行い、配付点に配付する方式ではなく、アプリケーションを配付するため、配付により多量のデータを生成し、ストレージを消費し、コスト増が発生するという課題も解消できる。
 本実施形態の情報処理システムにおいて、例えば、機器が、カーナビやPC、携帯電話のような利用者が持つ端末機器である場合、利用者が利用するアプリケーションが、利用者と物理的に近い位置もしくは、ネットワーク上で近い位置に存在する拠点(データセンタ)に実行するアプリケーションが配置される。このため、一か所の拠点(データセンタ)へ処理が集中し、端末機器を利用する利用者への、アプリケーションを実行する際の、アプリケーションの応答時間が長くなったり、データを送受信する時間が長くなるといった課題が解消でき、利用者のシステム利用時の体感品質を向上できる。
 また、上記の機器は、場所を移動して利用されることが多いが、機器の場所が移動しても、機器からサーバもしくは管理サーバへ送信される位置情報や経路情報や機器情報を管理サーバが利用することにより、アプリケーションとデータが配置される拠点(データセンタ)は利用者の体感品質を高めることができる拠点が選別される。
 また、例えば、機器が、メータ機器や温度計、電力計などの計器のようなセンサや人流解析器、監視カメラ、認証機器などの制御用機器である場合、センサや制御用機器からの要求を受けて動作するアプリケーションが、センサと物理的に近い位置もしくは、ネットワーク上で近い位置に存在する拠点(データセンタ)に実行するアプリケーションが配置される。
 このため、一か所の拠点(データセンタ)へデータや処理が集中し、拠点(データセンタ)のネットワーク帯域が不足し、センサや制御用機器からの要求にたいする情報処理が滞ることがなく、センサや制御用機器を利用して情報処理を行う事業者が、拠点(データセンタ)の設備を増強したり、帯域不足に対する追加のコスト負担をする必要がなくなるという効果がある。
 また、例えば、拠点が、RSUであり、機器が車載器である場合、車載器から送信される、データセンタから情報を求めるための位置情報、運行情報、燃費情報などのいずれか一種類以上を含んだ処理要求や、車載器に搭載された映像、音声、温度などの測定結果などのいずれか一種類以上を含んだ処理要求がRSUに送信され、拠点において情報処理されるか、もしくは、RSU上に蓄積された情報がRSU上で処理され、車載器で表示される。本実施形態で示す配付方法を利用すれば、車載器に対し物理的距離が近い拠点やネットワーク上での通信遅延が少ない拠点上で情報処理が行われるため、車載器で情報処理結果が早く表示され、ユーザの体感品質が上がる。
 RSUと車載器の通信距離が短い場合、情報処理を行う時間が短いことで、対応できる車載器の搭載された車の車速を向上できたり、送信する情報の量を増やしたりすることができる。また、車載器が拠点に送信する情報が大きい場合、一か所の拠点(データセンタ)へデータや処理が集中し、拠点(データセンタ)のネットワーク帯域が不足し、車載機器からの要求に対する情報処理が滞る割合を減らし、センサや制御用機器を利用して情報処理を行う事業者が、拠点(データセンタ)の設備を増強したり、帯域不足に対する追加のコスト負担を事業者がする必要が少なくなるという効果がある。
 また、例えば、拠点が、監視カメラ用のネットワーク送信の中継設備であり、機器が監視カメラである場合、監視カメラから送信される映像及び音声の情報は、本実施例で示す配付方法に従えば、監視カメラの設置位置に対し物理的距離が近い拠点やネットワーク上での通信遅延が少ない拠点上で情報処理が行われる。また、監視カメラによる監視結果を確認するPCなどの別の機器が存在する場合、監視カメラでの監視結果の複製は、別の機器に対し物理的距離が近い拠点やネットワーク上での通信遅延が少ない拠点上にデータの複製が作成される。
 よって、上記の別の機器が監視結果を参照する際の処理時間が短くなるため、ユーザの体感品質が向上する。また、複製を作成する拠点は、監視結果を生成する機器(監視カメラ)から物理的距離が近い拠点やネットワーク上での通信遅延が少ない拠点と、上記別の機器に対し物理的距離が近い拠点やネットワーク上での通信遅延が少ない拠点に設置されるため、効率よいデータの複製が実現でき、システム全体として、各拠点のストレージ容量を増強するというコスト負担を事業者がする必要が少なくなるという効果がある。
 次に、第2の実施形態を図面を参照しながら説明する。第2の実施形態に示す情報処理システムは、第1の実施例に示す情報処理システムと同様であるが、分散されている「機器に関するデータ」のメタデータを管理サーバA101が収集し、ストレージ103に記憶するところが異なる。
 図5に、第2の実施形態の情報システムにおける、管理サーバA101及びストレージ503の構成図を示す。管理サーバA101は、ストレージ503上に管理サーバA101の管理対象とする管理サーバがそれぞれ管理対象としているストレージに記憶されるデータのメタデータを管理し、保存する。メタデータの管理は、メタデータ管理部403が行う。
 メタデータとは、あるデータについて、そのデータが付随して持っているデータの内容を抽象化したデータのことを意味する。主に、検索時に、データ本体を検索せずに、データの内容や性質を高速に知ることができる手段として利用される。管理サーバA101上のストレージ503に集積される利用されるメタデータの詳細を図6に示す。メタデータ600を構成する各要素は、図示する通り、ファイルオブジェクトの名前601、ID602、サイズ603、パス名604、レプリケーション605、所有者606、パーミッション607、利用するアプリケーション608、そのほかのパラメータ609のいずれか一種類以上である。
 ファイルオブジェクトの名前601は、ファイルオブジェクトの名前である。ID602は、ファイルオブジェクトに一意につけられたIDである。サイズ603は、ファイルオブジェクトのサイズである。パス名604は、ファイルオブジェクトは、格納されているサーバやディレクトリなどのファイルにアクセスするためのアクセス情報である。レプリケーション605とは、ファイルオブジェクトの複製が作成された個数と、その格納場所を示す。
 所有者606は、そのファイルオブジェクトを作成した、ファイルオブジェクトの改変や移動や削除の権限を持つ利用者の識別子である。パーミッション607は、ファイルオブジェクトの所有者やそのほかの利用者がファイルオブジェクトに対してどのようなアクセス権限を持つのかである。利用するアプリケーション608は、ファイルオブジェクトを利用するサーバ上のアプリケーションの種別やIDやバージョン情報である。そのほかのパラメータ609は、ファイルオブジェクトの種別に依存した、データに付帯した情報である。
 例えば、データの種別が画像であれば、メタデータは、作成日時、位置情報、カメラパラメータ、サムネールなどのいずれか一種類以上が各要素である。また、例えば、データの種別がドキュメントであれば、メタデータは、サイズ、ページ数、文字数、タイトルなどのいずれか一種類以上が各要素である。また、例えば、データの種別が動画であれば、メタデータは、フレームレート、ビットデート、サイズ、コーデックのIDなどのいずれか一種類以上が各要素である。また、データの種別に寄らず、メタデータは、ファイルの場所、サイズ、パス名、ファイル名、キーワード、更新日時、ファイル種別、著作権情報、作者、レーティング、アクセスパーミッション、コメントなどのいずれか一種類以上が各要素である。また、例えば、データ内容の分析結果や、検索のためのインデックス情報等をメタデータの要素として含めてもよい。
 拠点B~D内の管理サーバは、自らの管理対象である、管理サーバの設置された拠点のストレージ(ストレージ113、またはストレージ123,またはストレージ133,またはストレージ143のいずれか一つ)にデータが書き込まれると、後述する方法で、データのメタデータを取得し、管理サーバA101に送信する。管理サーバA101は、ストレージ103にメタデータ504を記録する。
 拠点B~D内のサーバ(サーバB112,サーバC122,サーバD132)は、サーバの設置された拠点のストレージ(それぞれストレージ113、123,133)上のストレージへアクセスするための分散データ制御部405を持つ。サーバB111,サーバC121,サーバD132上で実行されるアプリケーションからストレージ上のデータに対するアクセス要求を仲介して、ストレージ113,及びストレージ123,及びストレージ133上のデータにアクセスし、データの作成や更新、追記、削除などを行う。
 データ管理部405は、相互に通信を行い、それぞれ、管理サーバB112,及び管理サーバC122,及び管理サーバD131の指示に従い、ストレージ113,及びストレージ123,及びストレージ133上のデータの作成や更新、追記、削除などを行う。ストレージ113、及びストレージ123,及びストレージ133上のデータの作成や更新、追記、削除が行われると、メタデータ管理部403は、データオブジェクトのメタデータを作成し、それぞれの拠点の管理サーバへメタデータを送付する。
 管理サーバ(111,121,131)の取得したメタデータは、管理サーバA101へ送付され、それぞれのファイルオブジェクトごとにストレージ103上に管理(メタデータ304に対して、作成時は追加、更新、追記時は更新、削除時は削除)される。
 今、機器151が、サーバB112上で動作するアプリケーションを利用して情報処理を行っているとする。この場合、サーバB112上のアプリケーションが参照もしくは作成するデータは、分散データ制御部405を経由してストレージ113にそれぞれ読み出しもしくは記録される。この際、分散データ制御部405は、通信可能なその他のサーバ上のデータ制御部と通信し、あらかじめ定められた数のデータのレプリケーション(複製)を作成する。このレプリケーションの作成は、データの可用性や耐災害性を高めるために行う。
 分散データ制御部405は、管理サーバB111が決定したレプリケーション記録先に、あらかじめ定められた数のレプリケーションを作成しながら、データの作成、更新、削除を行う。
 管理サーバA101は、ある機器に紐付けられたデータ(ある機器が情報処理で利用するデータ)とその複製がどの拠点のストレージに格納されているかを、メタデータ504により、管理している。管理サーバA101は、移行判定304のステップで、アプリケーションの稼働する拠点を選択する際に、データが記録されている拠点を優先し、次にデータの複製が記録されている拠点を優先する。以上の判定によって、ある機器に紐付けられたデータの拠点間の移動が抑制され、機器を利用する事業者が負担するコストを低減することができる。
 以下では、具体的に、センサからデータをサーバ上に蓄積し、演算処理をするような情報処理を例にとり、本実施形態の情報処理システムが、データとメタデータを管理する方法について、説明する。図7は、本実施形態の情報処理システムにおいて、センサのような機器が、サーバに対し、データの送信を伴った情報処理を行う際のシーケンス図を示したものである。
 機器151は、センサ機能を持つ機器であり、センサ部分で入手した情報を拠点Bのサーバもしくは、サーバの記録領域であるストレージ113に情報を記録させる役割を持つものである。機器151は、サーバB112に対して処理を行わせたい、情報処理要求を作成する(301)。この情報処理要求とは、機器151がセンサであるので、測定した温度や消費電力量、記録音声、記録映像などの測定データとその内容の記録の指示である。本例では、機器151が消費電力量を量る電力計であるとして説明する。
 機器151は、サーバB112へ情報処理要求301で作成した内容の情報処理を実施させるため、処理要求送信(302)において、サーバB112へ処理要求を送信する。その後、サーバB112、管理サーバB111、管理サーバA101のそれぞれの間で前述した処理要求確認(304)、移行判定要求(305)、移行判定結果送信(306)、確認結果送信(307)を行う。
 次に、サーバB112は、情報処理結果を生成すなわち、情報処理要求に含まれるデータに対する指示された処理(例えば、項目の総和や平均を求めたり、測定結果から、課金情報や統計情報を求める)を行い、測定データと処理済のデータをサーバB112もしくはストレージ113への格納を行う。次にサーバB112は、格納した測定データと処理済のデータについて、メタデータを算出し、管理サーバB111を経由して、管理サーバA101へ送信する(701,702)。管理サーバA101は、受け取ったメタデータをストレージ503に格納する。
 ここで、サーバB112は、データの記録を行った成否の情報などの生成された処理結果を機器151に送信する(309)。上述のプロセスにおいて、情報処理を行うアプリケーションの移行が必要であれば、前述した手順でアプリケーションの移行を行う。管理サーバA101は、受け取ったメタデータをメタデータ504に追記、更新し、ストレージ103上で管理する。メタデータ504を管理サーバA101が参照することにより、拠点のストレージ上のデータとして何が存在し、どのような付帯情報を持っているかが把握できる。このため、管理拠点において、そのほかの拠点群で管理されたデータについて、情報処理の要求が利用者からあれば、第一の実施形態で説明したアプリケーションの移行を利用することにより、データの存在する場所へアプリケーションを移行し、情報処理を行うことができる。
 図7で図示しない別の機器(機器152とする)から、ストレージ113に保存されたデータ(以降データBと呼ぶ)に対する情報処理の要求がサーバC122に送信されたとする。ステップ750にて、サーバC122は、処理要求を受信する。
 ここで、機器152は、機器151をはじめとするその他のセンサを管理している利用者が利用する端末で、機器151を含む機器からのデータを集約する情報処理を統括する処理をサーバに実行依頼する端末である。例えば、電力計に対する処理は、計測結果の集約や表示や集計結果から算出される、課金情報や統計情報の表示である。
 サーバC122は、処理要求の確認を行う(303)。サーバC122は、管理サーバB111に処理要求確認を依頼(304)する。この処理要求確認304のステップは、機器152から処理要求が送信された際に、毎回行ってもよいし、処理がある定められた期間内において最初に行われた際のみに行ってもよいし、ある定められた期間において定められた頻度で行ってもよい。処理要求303のステップで、処理要求が、データBに対する集計処理(例えば、データ全体(電力使用量の時系列)の平均を求めるであったり、データ(電力使用量)から課金情報を求めたりするような処理)であるとすると、移行判定要求305に対する管理サーバA101の回答(判定結果)は、データBの記録されている拠点におけいてアプリケーションを実行するよう、アプリケーション及びデータの移行の指示を含むものとなる。
 管理サーバC121及びサーバC122は、AP移行準備310から移行完了通知323の手順において、アプリケーションの移行を行う。ここで、アプリケーションの移行先は、拠点Bのサーバであると管理サーバA101もしくは、管理サーバB111が決定したものとして、説明を進める。
 AP移行がステップ323により終了すると、サーバC122は、機器152から受け取った処理要求をサーバB112に送信し(703)、処理要求の確認(704)と処理結果作成(705)を行う。作成された処理結果は、サーバB112から、ステップ706においてサーバC122に送信される。サーバC122は受け取った処理結果を利用し、機器152に処理結果を通知する。
 ここで、機器152が、データBに対する集計処理を要求してきたとして説明を行ったが、機器152が、複数のデータに対する集計処理を要求した場合、管理サーバA101は、複数の拠点に対するアプリケーション移行の指示をサーバC121に行い、複数のアプリケーションの移行を実施する。ステップ706で送信される処理結果は複数集まるため、サーバC121は、複数の処理結果を最終の処理結果とし、機器152に通知する。
 以上のように処理することにより、データBが記録されている拠点のサーバ上で、機器から要求された処理を実行し、処理結果を機器に送信することができる。
 このことにより、機器から収集されたデータ(データB)を機器に近い拠点に記録し、情報処理に利用することができるので、管理拠点100や拠点B110などの特定の拠点のデータ通信が集中するようなことが起きず、各拠点の情報処理機器を効率的に利用することができる。また、管理拠点100などの特定の拠点のストレージ保管コストが高い場合、機器から収集されたデータを機器に近い拠点に記録することにより、データ記録のストレージ保管コストを低減することが可能となる。
100:管理拠点、101:サーバA、102:管理サーバA、103:ストレージ、111:管理サーバB、112:サーバB、113:ストレージ、121:管理サーバC、122:サーバC、123:ストレージ、131:管理サーバD、132:サーバD、133:ストレージ、141:管理サーバE、142:サーバE、143:ストレージ、151~154:機器、160:基幹ネットワーク、161、162:アクセスネットワーク、403:メタデータ管理部、405:分散データ制御部、503:ストレージ、504:メタデータ、600:メタデータ、900:拠点情報管理テーブル、901:拠点ID、902:拠点名、903:拠点位置、904:接続ネットワーク情報、905:拠点形態、906:セキュリティレベル、907:停電リスク、1100:管理テーブル、1101:サーバID、1102:サーバ名、1103:アドレス、1104:可能メモリ量、1105:可能ストレージ量、1106:CPU情報、1107:動作可能VM種別、1108:動作可能アプリケーション種別、1109:動作アプリケーション情報、1110:アプリケーション稼働実績、1111:コスト、1200:サービス情報テーブル、1201:アプリケーションID、1202:アプリケーション名称、1203:配付先、1204:稼働状況、1205:利用機器、1206:配付条件。

Claims (4)

  1.  アプリケーションを実行する複数のサーバと、
     ファイルを記録するためのストレージを有するファイルサーバと、
     前記複数のサーバと前記複数のファイルサーバを管理する複数の管理サーバがネットワークを介して相互に接続された情報処理システムであって、
     前記複数の管理サーバのうち第1の管理サーバは、
     アプリケーションの実行をネットワークを介して指示する機器から、前記機器の位置情報を受け取り、
     前記複数の管理サーバの共有する前記複数のサーバの位置情報と前記機器の位置情報から、
     前記アプリケーションを前記アプリケーションが実行されている第1のサーバの代替として稼働させる第2のサーバを決定し、
     前記第2のサーバを管理する前記複数の管理サーバのうち第2の管理サーバへ、アプリケーション及びデータの移行の指示を送信し、
     前記第2の管理サーバは、
     前記第1の管理サーバへ移行先のサーバを特定する情報を送信し、
     前記第2のサーバへ、前記移行の指示を送信し、
     前記第1の管理サーバは、前記移行先のサーバを特定する情報を前記第1のサーバへ送信し、
     前記第2のサーバは、
     前記第1のサーバから、アプリケーションを実行するため情報と、前記データを受信し、当該第2のサーバでアプリケーションを実行し、
     前記データを前記ファイルサーバへ格納し、
     前記第1の管理サーバは、前記第2のサーバ上でアプリケーションの実行とデータの移行が完了すると、前記機器からのアプリケーションの実行先を前記第1のサーバから前記第2のサーバへ変更するように、ネットワーク機器に指示を送信する
    ことを特徴とする情報処理システム。
  2.  アプリケーションを実行する複数のサーバと、
     ファイルを記録するためのストレージを有するファイルサーバと、
     前記複数のサーバと前記複数のファイルサーバを管理する複数の管理サーバがネットワークを介して相互に接続された情報処理システムであって、
     前記複数の管理サーバのうち第1の管理サーバは、
     アプリケーションの実行をネットワークを介して指示する機器から、前記機器の位置情報を受け取り、
     前記複数の管理サーバの共有する前記複数のサーバの位置情報と前記機器の位置情報から、
     前記アプリケーションを前記アプリケーションが実行されている第1のサーバの代替として稼働させる第2のサーバを決定し、
     前記第2のサーバを管理する前記複数の管理サーバのうち第2の管理サーバへ、アプリケーション及びデータの移行の指示を送信し、
     前記第2の管理サーバは、
     前記第1の管理サーバへ移行先のサーバを特定する情報を送信し、
     前記第2のサーバへ、前記移行の指示を送信し、
     前記第1の管理サーバは、前記移行先のサーバを特定する情報を前記第1のサーバへ送信し、
     前記第2のサーバは、
     前記第1のサーバから、アプリケーションを実行するため情報と、前記データを受信し、当該第2サーバでアプリケーションを実行し、
     前記データを前記ファイルサーバへ格納し、
     前記第1の管理サーバは、前記第2のサーバ上でアプリケーションの実行とデータの移行が完了すると、前記機器からのアプリケーションの実行先を前記第1のサーバから前記第2のサーバへ変更するように、ネットワーク機器に指示を行い、
     前記第1の管理サーバは、前記データに対する演算処理を行う第2のアプリケーションの実行の指示を受け取ると、前記第2のサーバを管理する前記第2の管理サーバへ、第2のアプリケーションの移行の指示を送信し、
     前記第2のサーバは、前記データを入力とした前記第2のアプリケーションの演算結果を前記第1のサーバへ送信する
    ことを特徴とする情報処理システム。
  3.  アプリケーションを実行する複数のサーバと、
     ファイルを記録するためのストレージを有するファイルサーバと、
     前記複数のサーバと前記複数のファイルサーバを管理する複数の管理サーバがネットワークを介して相互に接続された情報処理システムであって、
     前記複数の管理サーバのうち第1の管理サーバは、
     アプリケーションの実行をネットワークを介して指示する機器から、前記機器からネットワーク情報を受け取り、
     前記複数のサーバと前記機器のネットワーク上のホップ数情報から、
     前記アプリケーションを前記アプリケーションが実行されている第1のサーバの代替として稼働させる第2のサーバを決定し、
     前記第2のサーバを管理する前記複数の管理サーバのうち第2の管理サーバへ、アプリケーション及びデータの移行の指示を送信し、
     前記第2の管理サーバは、
     前記第1の管理サーバへ移行先のサーバを特定する情報を送信し、
     前記第2のサーバへ、前記移行の指示を送信し、
     前記第1の管理サーバは、前記移行先のサーバを特定する情報を前記第1のサーバへ送信し、
     前記第2のサーバは、
     前記第1のサーバから、アプリケーションを実行するため情報と、前記データを受信し、当該第2サーバでアプリケーションを実行し、
     前記データを前記ファイルサーバへ格納し、
     前記第1の管理サーバは、前記第2のサーバ上でアプリケーションの実行とデータの移行が完了すると、前記機器からのアプリケーションの実行先を前記第1のサーバから前記第2のサーバへ変更するように、ネットワーク機器に指示を送信する
    ことを特徴とする情報処理システム。
  4.  アプリケーションを実行する複数のサーバと、
     ファイルを記録するためのストレージを有するファイルサーバと、
     前記複数のサーバと前記複数のファイルサーバを管理する複数の管理サーバがネットワークを介して相互に接続された情報処理システムであって、
     前記複数の管理サーバのうち第1の管理サーバは、
     アプリケーションの実行をネットワークを介して指示する機器から、前記機器からネットワーク情報を受け取り、
     前記複数のサーバと前記機器のネットワーク上のホップ数情報から、
     前記アプリケーションを前記アプリケーションが実行されている第1のサーバの代替として稼働させる第2のサーバを決定し、
     前記第2のサーバを管理する前記複数の管理サーバのうち第2の管理サーバへ、アプリケーション及びデータの移行の指示を送信し、
     前記第2の管理サーバは、
     前記第1の管理サーバへ移行先のサーバを特定する情報を送信し、
     前記第2のサーバへ、前記移行の指示を送信し、
     前記第1の管理サーバは、前記移行先のサーバを特定する情報を前記第1のサーバへ送信し、
     前記第2のサーバは、
     前記第1のサーバから、アプリケーションを実行するため情報と、前記データを受信し、当該第2サーバでアプリケーションを実行し、
     前記データを前記ファイルサーバへ格納し、
     前記第1の管理サーバは、前記第2のサーバ上でアプリケーションの実行とデータの移行が完了すると、前記機器からのアプリケーションの実行先を前記第1のサーバから前記第2のサーバへ変更するように、ネットワーク機器に指示を行い、
     前記第1の管理サーバは、前記データに対する演算処理を行う第2のアプリケーションの実行の指示を受け取ると、前記第2のサーバを管理する前記第2の管理サーバへ、第2のアプリケーションの移行の指示を送信し、
     前記第2のサーバは、前記データを入力とした前記第2のアプリケーションの演算結果を前記第1のサーバへ送信する
    ことを特徴とする情報処理システム。
PCT/JP2012/002730 2012-04-20 2012-04-20 分散アプリケーション及びデータホスティングシステム WO2013157042A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2012/002730 WO2013157042A1 (ja) 2012-04-20 2012-04-20 分散アプリケーション及びデータホスティングシステム
US14/395,670 US9654415B2 (en) 2012-04-20 2012-04-20 Information processing system, management server group, and server management program
JP2014510963A JP5970541B2 (ja) 2012-04-20 2012-04-20 情報処理システム、管理サーバ群、および、サーバ管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/002730 WO2013157042A1 (ja) 2012-04-20 2012-04-20 分散アプリケーション及びデータホスティングシステム

Publications (1)

Publication Number Publication Date
WO2013157042A1 true WO2013157042A1 (ja) 2013-10-24

Family

ID=49383039

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/002730 WO2013157042A1 (ja) 2012-04-20 2012-04-20 分散アプリケーション及びデータホスティングシステム

Country Status (3)

Country Link
US (1) US9654415B2 (ja)
JP (1) JP5970541B2 (ja)
WO (1) WO2013157042A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016017021A1 (ja) * 2014-08-01 2016-02-04 株式会社日立製作所 経路解決システム及び経路解決方法
JP2020173498A (ja) * 2019-04-08 2020-10-22 富士通株式会社 管理装置、情報処理システムおよび管理プログラム
JP2021131796A (ja) * 2020-02-21 2021-09-09 日本電信電話株式会社 分散ストレージネットワークにおけるデータ管理方法、装置、プログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239083A (zh) * 2013-06-21 2014-12-24 中兴通讯股份有限公司 移动终端的应用的迁移方法、装置以及系统
US9396009B2 (en) * 2014-01-30 2016-07-19 International Business Machines Corporation Optimized global capacity management in a virtualized computing environment
JP2015191301A (ja) * 2014-03-27 2015-11-02 富士通株式会社 通信制御装置、蓄積装置、通信制御方法、及び通信制御プログラム
KR102332934B1 (ko) * 2014-12-10 2021-11-30 삼성전자주식회사 다른 전자 장치와 연결되는 전자 장치 및 그 제어 방법
JP6407946B2 (ja) * 2016-12-12 2018-10-17 ファナック株式会社 機器情報及び位置情報の管理装置及び管理システム
CN110383775B (zh) * 2017-03-30 2021-03-30 华为技术有限公司 数据传输方法和通信设备
CN109697120B (zh) * 2017-10-20 2023-06-27 伊姆西Ip控股有限责任公司 用于应用迁移的方法、电子设备
JP6977521B2 (ja) * 2017-12-07 2021-12-08 富士通株式会社 情報配信システム、情報配信方法及びサーバ装置
JP7095354B2 (ja) * 2018-03-28 2022-07-05 株式会社リコー 情報処理システム、情報処理装置、情報処理方法及びプログラム
US11681565B2 (en) * 2018-09-13 2023-06-20 Intel Corporation Technologies for hierarchical clustering of hardware resources in network function virtualization deployments

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10247177A (ja) * 1997-03-04 1998-09-14 Nippon Telegr & Teleph Corp <Ntt> サーバ環境移動方法及びサーバネットワーク
JPH11143836A (ja) * 1997-11-05 1999-05-28 Nippon Telegr & Teleph Corp <Ntt> アプリケーションプログラム移動位置決定方法及びデータファイル移動位置決定方法並びにその装置
JP2009252075A (ja) * 2008-04-09 2009-10-29 Intec Netcore Inc サービス提供システム及びそれを構成するユーザ収容装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108703A (en) 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US7734815B2 (en) 2006-09-18 2010-06-08 Akamai Technologies, Inc. Global load balancing across mirrored data centers
US7840673B1 (en) * 2002-06-17 2010-11-23 International Business Machines Corporation Method and apparatus for management of hosted applications
US20050097086A1 (en) * 2003-10-30 2005-05-05 Riaz Merchant System and method for migrating an application developed around an ISAM database server to an SQL database server without source level changes
US20050273486A1 (en) * 2004-06-03 2005-12-08 Keith Robert O Jr Virtual distributed file system
WO2006014504A2 (en) * 2004-07-07 2006-02-09 Sciencelogic, Llc Self configuring network management system
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
JP4567031B2 (ja) * 2006-07-26 2010-10-20 三星電子株式会社 WebOS−基盤ユーザ装置のためのアプリケーションをハンドオフする方法
US7801994B2 (en) * 2007-11-29 2010-09-21 Hitachi, Ltd. Method and apparatus for locating candidate data centers for application migration
JP5506444B2 (ja) 2010-02-18 2014-05-28 株式会社日立製作所 情報システム、装置および方法
KR101629596B1 (ko) * 2012-04-19 2016-06-13 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 고객 하드웨어에 대한 플랫폼들의 인프라스트럭쳐 배치에 의한 장소 이동

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10247177A (ja) * 1997-03-04 1998-09-14 Nippon Telegr & Teleph Corp <Ntt> サーバ環境移動方法及びサーバネットワーク
JPH11143836A (ja) * 1997-11-05 1999-05-28 Nippon Telegr & Teleph Corp <Ntt> アプリケーションプログラム移動位置決定方法及びデータファイル移動位置決定方法並びにその装置
JP2009252075A (ja) * 2008-04-09 2009-10-29 Intec Netcore Inc サービス提供システム及びそれを構成するユーザ収容装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016017021A1 (ja) * 2014-08-01 2016-02-04 株式会社日立製作所 経路解決システム及び経路解決方法
JPWO2016017021A1 (ja) * 2014-08-01 2017-05-25 株式会社日立製作所 経路解決システム及び経路解決方法
US10484276B2 (en) 2014-08-01 2019-11-19 Hitachi, Ltd. Route resolution system and route resolution method
JP2020173498A (ja) * 2019-04-08 2020-10-22 富士通株式会社 管理装置、情報処理システムおよび管理プログラム
JP7193732B2 (ja) 2019-04-08 2022-12-21 富士通株式会社 管理装置、情報処理システムおよび管理プログラム
JP2021131796A (ja) * 2020-02-21 2021-09-09 日本電信電話株式会社 分散ストレージネットワークにおけるデータ管理方法、装置、プログラム
JP7174372B2 (ja) 2020-02-21 2022-11-17 日本電信電話株式会社 分散ストレージネットワークにおけるデータ管理方法、装置、プログラム

Also Published As

Publication number Publication date
US20150163163A1 (en) 2015-06-11
JPWO2013157042A1 (ja) 2015-12-21
US9654415B2 (en) 2017-05-16
JP5970541B2 (ja) 2016-08-17

Similar Documents

Publication Publication Date Title
JP5970541B2 (ja) 情報処理システム、管理サーバ群、および、サーバ管理プログラム
US11016749B1 (en) Architecture for incremental deployment
US10826799B2 (en) Apparatus for providing cloud service based on cloud service brokerage and method thereof
KR101717228B1 (ko) 가상 데스크탑들을 위한 애플리케이션 마켓플레이스
KR101839060B1 (ko) 자동화된 데스크탑 배치
CN104731516B (zh) 一种存取文件的方法、装置及分布式存储系统
CN106576078B (zh) 用于在云存储系统中路由数据流的方法和系统
US11064041B2 (en) Apparatus for providing cloud service using cloud service brokerage based on multiple clouds and method thereof
US20120173486A1 (en) System and method for dynamically selecting storage locations of replicas in cloud storage system
KR20160010412A (ko) 자동화된 데이터 센터 선택
US9229740B1 (en) Cache-assisted upload proxy
US8984162B1 (en) Optimizing performance for routing operations
JP4861472B2 (ja) コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム
US10579597B1 (en) Data-tiering service with multiple cold tier quality of service levels
CN114365107A (zh) 通过5g实时上行链路流式传输框架(flus)控制的基于网络的媒体处理(nbmp)工作流管理
JP5531278B2 (ja) サーバ構成管理システム
US9544371B1 (en) Method to discover multiple paths to disk devices cluster wide
US10536524B2 (en) Systems and methods for content origin administration
US20200153749A1 (en) Biased selection of dedicated physical connections to provider network
WO2023010948A1 (zh) 云桌面数据的迁移方法、业务节点、管理节点、服务器、电子设备和计算机可读存储介质
JP2004302564A (ja) ネームサービス提供方法及びその実施装置並びにその処理プログラム
KR20190015817A (ko) 미들웨어를 이용한 모니터링 방법, 장치 및 시스템
US11172021B2 (en) File objects download and file objects data exchange
US11656957B1 (en) Managing nodes of a DBMS
CN116233115B (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: 12874730

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014510963

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14395670

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 12874730

Country of ref document: EP

Kind code of ref document: A1