This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2015-050151, filed on Mar. 13, 2015, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to a selection method of relaying device, and selection program of relaying device.
There is information processing system which collect the data that each of a plurality of devices with a sensor acquired via a relaying device and carry out a appointed processing based on the collected data. The information processing system has the plurality of devices such as handheld terminals, a plurality of the relaying devices and an information processing device.
The device sends sensor data of which the sensor detected to the relaying device and the relaying device carries out the processing corresponding to the sensor for the sensor data which is received and sends a processing result to the information processing device. The relaying device is equipped with application program to carry out the processing corresponding to a type of the sensor to be targeted for the collection of sensor data.
Patent documents 1 and 2 disclose the technique in conjunction with the processing of sensor network system. In addition, the patent document 3 discloses the communication of the computer carrying out a virtual machine and the patent document 4 discloses system that the devices with the different function are mixed.
[Patent document 1] Japanese National Publication of International Patent Application No. 2010-527473.
[Patent document 2] Japanese Laid-Open Patent Publication No. 2006-344017.
[Patent document 3] Japanese National Publication of International Patent Application No. 2009-545244.
[Patent document 4] Japanese Laid-Open Patent Publication No. 2005-135212.
However, a diversification of the devices advances according to development of IoT (Internet of Things), and the information processing system comes to collect the sensor data of various types of sensors. In addition, versions or vendors of the sensor may be different even if the kind is the same sensor.
The content of the processing that the relaying device performs for the sensor data is different depending on the kind and the version, the vendor of the sensor. When collecting the sensor data of plural different sensors, the relaying device is equipped with a plurality of application programs to carry out the processing corresponding to each sensor. Therefore, the number of applications that the relaying device is equipped increases depending on a sensor for the collection, and the resource quantity that application uses may grow big.
On the other hand, the relaying device may newly collect the sensor data of the device concerned depending on the movement of the device. When the relaying device is not equipped with the application to carry out the processing corresponding to a sensor of the device, the relaying device is equipped with the newly application program concerned. Therefore, it is desirable for the relaying device to have a space resource for deployment of the new application program.
According to an aspect of the embodiments, a selection method of a relaying device includes, collecting, by a processing unit, sensor data which a sensor in a device detects from one or a plurality of the device; and selecting, by the processing unit, when changing relaying device which process a certain sensor from one relaying device to another relaying device among a plurality of the relaying devices which carries out the one or more processing prescribed depending on the sensor and outputs a result of the processing in each, a relaying device that a number of processing, which is not included in a set of a plurality of the processing of sensors that the relaying device targets among a plurality of the processing prescribed depending on the certain sensor, is less, as a candidate of another relaying device.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention.
Hereinafter, embodiments will be described according to figures. But the technical range in the invention are not limited to the embodiments, are extended the subject matters disclosed in claims and its equivalents.
[Information Processing System]
Each of the devices 30 connect to the relaying device 20 through the wireless communication based on standards such as LTE (Long Term Evolution) or Bluetooth (registered trademark). In addition, the relaying device 20 connects to the center server 10 through a wire cable communication, for example. In addition, the relaying device 20 may connect to the center server 10 through the wireless communication.
According to the example of
The device 30 depicted in
Each device 30 regularly acquires the sensor data of which the sensor detected, and sends the sensor data which is acquired to the relaying device 20. The sensor data is temperature data, acceleration data, heart rate data, blood pressure data, position data, for example. In addition, the device 30 may send sensor data to the relaying device 20 in response to the acquisition instruction of sensor data from the relaying device 20 or the center server 10.
The center server 10 depicted in
The processing prescribed depending on a sensor is a processing by the function that the OS (Operating System) and software include or a processing which is inherent to the sensor data, for example. The processing by the functions that the OS and software include is write processing of data to a database or copy process of the data, for example. In addition, the processing which is inherent to the sensor data is a conversion processing of form that is inherent to the sensor data or the count processing that is inherent to the sensor data, for example.
The information processing system 100 depicted in
In addition, the content of the processing of which the relaying device 20 carries out for the sensor data is different depending on the kind of the sensor. And the versions of the sensor or vendors (company) providing the sensor may be different even if kind of the sensors are same. Therefore, the contents of the processing of which the relaying device 20 carries out for the sensor data is different depending on the version or the vendor which provides the sensor in addition to the kind of the sensor.
The information processing system 100 depicted in
However, when a variety of sensors is provided, it is necessary to prepare large number of relaying devices 20, thereby many resources is needed. In addition, when large number of devices 30 equipped with a specific sensor exists, it may occur that the number of devices 30 which the relaying device 20 connects may exceed connectable numbers or the data quantity of which relaying device 20 processes is more than a tolerable amount. Therefore, a case that it is difficult that the relaying device 20 processes the sensor data may occur.
Or, the information processing system 100 has a relaying device 20 for general purpose which collects the sensor data from a variety of sensors. In other words, single relaying device 20 collects the sensor data of plural different sensors. When the relaying device 20 collects the sensor data of plural different sensors, the relaying device 20 concerned is equipped with application programs to carry out the processing of corresponding sensor data depending on plural sensors.
When the information processing system 100 has the relaying device 20 for general purpose, the center server 10 selects the relaying device 20 which collects the sensor data of each device 30 based on electric wave environment, etc. According to the example of
The center server 10 selects the relaying device 20 in which electric wave environment has good among a plurality of devices 20 which are located in an appointed distance range from the device 30, as a relaying device 20 which collects the sensor data of the device 30. Therefore, depending on the selection of the relaying device 20, a redundant degree of the same processing between the plurality of relaying devices 20 may become higher. When the redundant degree of the processing is high, large number of same applications operates on the plurality of relaying devices 20 and it indicates that a resource of the relaying device 20 is not available effectively.
The device 30 according to the embodiment includes a movable device 30 as mentioned above. When the device 30-3d moves to domain erD from domain erC as depicted in
When the selected relaying device 20 does not have a resource required for the equipment of the new application program, it is not possible that the relaying device 20 installs the application program and collects the sensor data of the device 30-3d. Therefore, it is not possible that the center server 10 collects the sensor data of each device 30 precisely. Therefore, it is desirable that each relaying device 20 has a space resource in preparation for movement of the device 30. In other words, it is desirable that the quantity of the resource that the application program uses is held down by using a resource of the relaying device 20 effectively.
Therefore, the center server 10 according to the embodiment, when selecting the relaying device 20 which processes the sensor data of each sensor among the plurality of relaying devices 20, selects the relaying device 20 based on the processing prescribed depending on the sensor which is a collection target of each relaying device 20. In other words, the center server 10 selects the relaying device 20 of each sensor, which has fewer total numbers of the processing prescribed depending on the sensor which is a processing target of the relaying device 20 in the plurality of relaying devices 20, as a candidate.
In other words, the center server 10 according to the embodiment, when selecting the relaying device 20 processing the sensor data of each sensor, selects the relaying device 20 of each sensor so as to raise a collection degree of the application program between the plurality of relaying devices 20. Therefore, it is possible to reduce the total number of application programs, which is installed on the relaying devices 20 in the information processing system 100 and to use a resource of relaying devices 20 effectively.
In addition, it is possible that the center server 10 increases a space resource of the relaying device 20 in preparation for the equipment of the new application program, by holding down the total number of application programs. Thereby, it is possible that the relaying device equips of new application program, and the center server 10 becomes to collect the sensor data of each sensor more surely. In addition, it is possible to restrain the expansion of the relaying device 20, and outbreak such as an obstacle or the maintenance of the relaying device 20, depending on the lack of the resource of relaying device 20.
The temperature sensor (1.01) 303a is a temperature sensor of version “1.01”. The temperature sensor (2.1) 303b is a temperature sensor of version “2.1”. In other words, it is indicated that the temperature sensor (1.01) 303a and the temperature sensor (2.1) 303b are the sensor of the same kind, but of different version each other. In addition, the humidity sensor (2.1) 303c is a humidity sensor of version “2.1”, and the acceleration sensor (2.2) 303d is an acceleration sensor of version “2.2”.
As described in
Between the sensors 303a-303d depicted in the example of
According to the first selection example depicted in
Therefore, the first relaying device 20-11 carries out four applications 1, 2, 8 and 9, and the second relaying device 20-12 carries out five applications 1-2, 5, 8, 9 and 11. According to the first selection example, the total of the number of processing that the first and second relaying device 20-11, 20-12 carry out is value “9” (=4+5).
According to the second selection example depicted in
In this embodiment, the applications 1-2 include a function of the application 1. In other words, the applications 1-2 are executable to the processing of the application 1. Therefore, the processing of the temperature sensor 303a (1.01) and the temperature sensor 303b (2.1) include the applications 1-2 (including the application 1), 8 and 9, in common. In addition, the processing of the humidity sensor 303c (2.1) and the acceleration sensor 303d (2.2) include the application 8 in common.
Therefore, the first relaying device 20-11 carries out three applications 1-2, 8 and 9, and the second relaying device 20-12 carries out five applications 2, 5, 8, 9 and 11. According to the second selection example, the total number of the processing that the first and second relaying devices 20-11, 20-12 carry out is value “8” (=3+5).
The center server 10 according to the embodiment selects a combination of the sensor and the relaying device 20 which has fewer total numbers of applications executed by each relaying device among the first and second relaying devices 20-11, 20-2. Therefore, the center server 10 selects the second selection example which has fewer total number of the applications depicted by
In addition, when the movement of the device 30 occurs, the center server 10 again selects the relaying device 20 which collects the sensor data of the device 30 which moved. The center server 10 according to the embodiment, based on one or plural processing prescribed depending on the sensor of the device 30 which moved and the processing prescribed depending on each sensor which is a processing object of each relaying device 20, selects a candidate of the relaying device 20. In other words, the center server 10 selects the relaying device 20 that the number of the processing, which is not included in a set of a plurality of the processing of sensors that the relaying device 20 targets among a plurality of the processing prescribed depending on a sensor of the device 30 which moved and, is less, as a candidate of relaying device 20 of the sensor.
In other words, the center server 10 according to the present embodiment selects the relaying device 20, which carries out the processing of the sensor data of the sensor equipped with the device 30 which moved, so that an integration degree of the application becomes high between the plurality of relaying devices 20. Therefore, because the total number of applications equipped on the relaying device 20 in the information processing system 100 decreases, it is possible to use a resource of the relaying device 20 effectively. Accordingly, it is possible that the center server 10 collects the sensor data of each sensor surely, and restrains the expansion, outbreak such as an obstacle or the maintenance of the relaying device 20.
As described above in
The first relaying device 20-11 does not carry out the applications 4, 11 among the applications 4, 8 and 11 which carry out the processing prescribed depending on the brightness sensor 303f (1.1). In other words, among the applications 4, 8, 11, the number of the applications which are not included in the applications 1-2, 8, 9, which carry out the processing prescribed depending on the sensor that the first relaying device 20-11 targets for processing, are two.
In addition, the second relaying device 20-12 does not carry out the application 4 among the applications 4, 8, 11. In other words, among the applications 4, 8, 11, the number of the applications which are not included in the applications 2, 5, 8, 9, 11 which carry out the processing prescribed depending on the sensor that the second relaying device 20-12 targets for processing, is one.
Therefore, the center server 10 selects the second relaying device 20-12 that there are fewer numbers of the application, which is not included in the application that own relaying device 20 carries out, among the applications 4, 8, 11. In other words, the center server 10 selects the second relaying device 20-12, that application to carry out includes more number of the applications 4, 8, 11, as the relaying device 20 of the sensor which moved among the plurality of relaying devices 20. The second relaying device 20-12 is equipped with the application 4 additionally.
That a number of the applications, which is not included in the application that the own relaying device 20 carries out, is fewer, indicates to suppress the number of applications to install for the processing of the sensor which moved newly, in a few number. That is, this indicates that an integration degree of the application is high, and a resource of relaying device 20 is used effectively. In this way, it is possible that the center server 10 selects the relaying device 20 of the sensor which moved, so as to use a resource of relaying device 20 effectively.
In addition, the relaying device 20 which is explained in
In
In the example of
In addition, when realizing the relaying device 20 according to the virtual machine, the center server 10 may set a number of virtual machines 20-1-20-5 which deploy in each physical machines 40-1, 40-2 based on the processing prescribed depending on the sensor for the processing. It is possible that the center server 10 sets the number of virtual machines in most suitable value based on the processing prescribed depending on the sensor for the processing by realizing the relaying device 20 according to a virtual machine. Therefore, it is possible to use a resource of physics machine 40 more effectively. The details will be described later according to a flow chart diagram in
Then, according to
[Hardware Constitution of Central Server]
The CPU 101 is connected to the memory 102 through the bus 104 and controls whole of the central server 10. The communication interface unit 103 performs transmission and reception of data to the relaying device 20 or other devices (not illustrated in
The nonvolatile memory 131 in the memory 102 includes a domain (not illustrated in
The virtual machine deployment program (below called as virtual machine deployment program 110) in the virtual machine deployment program storage domain 110 carries out creation processing of deployment plan of the virtual machine by execution of the CPU 101. In addition, the virtual machine deployment program 110 instructs the deployment of the virtual machine according to the deployment plan which is created. The details of the processing of virtual machine deployment program 110 will be described later according to
The sensor information list (below, called as sensor information list 111) in the sensor information list storage domain 111 has the information of the target sensor of which the center server 10 collects sensor data. The sensor information list 111 is a database, for example. More details about the sensor information list 111 will be described later according to
The application information list (below, called as application information list 112) in the application information list storage domain 112 has information of the application which carries out the processing of the sensor data. The application information list 112 is a database, for example. More details about application information list 112 will be described later according to
The relaying device information list (below, called as relaying device information list 113) in the relaying device information list storage domain 113 has information about the relaying device 20 in which the center server 10 targets for the management. The relaying device information list 113 is a database, for example. More details about relaying device information list 113 will be described later according to
[Sensor Information List]
In the sensor information list 111 depicted by example of
[Application Information List]
The identification name of the application is same as that in the sensor information list 111 depicted in
In
In addition, in the application information list 112 depicted by the example of
In addition, in the application information list 112 depicted by the example of
[Relaying Device Information List]
The sensor classification in the range indicates the identification name of the sensor which the virtual machine (relaying device 20) equipped with the physical machine 40 (also called as the device) targets for the processing. The identification name of the sensor is information including the kind and the version of the sensor in the sensor information list 111 depicted in
In the relaying device information list 113 depicted in
In addition, in the relaying device information list 113 depicted in
[Software Block Diagram of Central Server]
As represented by
The sensor application information management module 121 stores the information of the sensor, of which the center server 10 targets for the management, in the sensor information list 111 (referring to
The relaying device information management module 122 stores the information of relaying device 20 of which the center server 10 targets for the management in the relaying device information list 113 (referring to
The deployment instruction creation module 123 creates the deployment plan of the virtual machine with reference to the sensor information list 111, the application information list 112 and the relaying device information list 113. The deployment plan of the virtual machine includes information of the number of the virtual machines to deploy to each physical machine 40 (device) and information of the application installed on each virtual machine. In addition, the deployment instruction creation module 123 generates the deployment instruction of the virtual machine based on the deployment plan and outputs it to the virtual machine deployment control module 124.
The virtual machine deployment control module 124 deploys the virtual machine indicating the relaying device 20 to the physical machine 40 based on the deployment instruction. In addition, the virtual machine deployment control module 124 notifies each relaying device 20 of the identification information of the sensor that the relaying device 20 concerned targets for the collection of sensor data based on the deployment plan.
Then, according to
[Hardware Constitution of the Relaying Device]
The wireless communication unit 203 carries out transmission and reception of data to the device 30 according to wireless communication through an antenna 206. In addition, the communication interface unit 204 carries out the transmission and reception of data to the center server 10 through cable communication. In addition, the radio communication unit 203 may transmit and receive the data to the central server 10 according to the wireless communication.
The CPU 201 is connected to the memory 202, etc. through the bus 205 and controls whole of the physical machine 40. The RAM 220 in the memory 202 memorizes the data of which the CPU 201 processes. The nonvolatile memory 221 in the memory 202 includes hypervisor program storage domain 230, virtual machine No. 1 data storage domain 231, virtual machine No. 2 data storage domain 232. The nonvolatile memory 221 has an HDD (Hard disk drive), and or a nonvolatile semiconductor memory.
The hypervisor program storage domain 230 stores hypervisor program (below, called as hypervisor program 230) which realizes processing of the hypervisor by an execution of the CPU 201 according to the present embodiment.
The virtual machine No. 1 data storage domain 231 stores virtual machine No. 1 data (below, called as virtual machine No. 1 data 231) which is referred and updated by the hypervisor program 230 and works as the first virtual machine indicating the relaying device 20. The virtual machine No. 1 data 231 includes application program that the first virtual machine carries out. The virtual machine No. 2 data storage domain 232 stores virtual machine No. 2 data (below, called as virtual machine No. 2 data 232) which is referred and updated by the hypervisor program 230 and works as the second virtual machine indicating the relaying device 20. The virtual machine No. 2 data 232 includes application program that the second virtual machine carries out.
[Software Block Diagram of Relaying Device]
As illustrated in
The hypervisor program 230 depicted by
Then, according to
[Hardware Constitution of the Device]
The CPU 301 is connected to the memory 302, etc. through the bus 306 and controls whole of the device 30. The sensor 303 is a detection unit which detects the measurement information such as temperature, humidity, living body data, etc. For example, the sensor 303 is a temperature sensor, a humidity sensor, a living body sensor. The wireless communication unit 304 carries out the transmission and reception of data to the relaying device 20 according to the wireless communication through the antenna 305. The antenna 305 transmits and receives various data by the radio beam.
The RAM 310 in the memory 302 memorizes the data of which the CPU 301 processes. The nonvolatile memory 311 in the memory 302 includes a domain (not illustrated in
[Software Block Diagram of the Device]
The control module 330 outputs the acquisition instruction of the sensor data to the sensing module 331 regularly. The sensing module 331 acquires the sensor data of which the sensor 303 (referring to
Then, a flow of the processing of the virtual machine deployment program 110 in the center server 10 depicted by
[Processing of Virtual Machine Deployment Program]
S11: A deployment order making module 123 in the virtual machine deployment program 110 makes the deployment plan PL of the virtual machine according to processing No. 1.
The deployment order making module 123, as described above in
In addition, the deployment order making module 123 according to the present embodiment selects the relaying device 20, in which the parallel number of processing (application) in the relaying device does not exceed the number of the parallel operations limit according to the processing, as a candidate. Each application program has the parallel operation limit number as described above in the application information list 112 (referring to
Therefore, by selecting the relaying device 20 of each device 30 to meet the parallel operation limit number of applications, it is possible to select with the relaying device 20 of each sensor to utilize a resource of relaying device 20 effectively while evading the competition of the resource in the relaying device. Accordingly, it is possible that the relaying device 20 processes the sensor data of the target sensor surely.
In addition, the deployment order making module 123 may calculate the number of the deployments of the virtual machine meeting the parallel operation limit number of applications more, and may select the candidate of relaying device 20 among the plurality of virtual machines of the number of the deployments which are calculated. Therefore, it is possible that the deployment order making module 123, by integration of the application, sets the number of the deployments of the virtual machine to a minimum value to meet the parallel operation limit number. Accordingly, it is possible to use a resource of physical machine 40 deploying the virtual machine effectively while satisfying the limit of the application. The details of processing No. 1 in the process S11 will be described later according to
S12: The deployment order making module 123 determines whether or not the deployment plan PL, which is made according to the process S11, meets a condition of the number of the performance of each relaying device 20 and the simultaneous connection. The performance of relaying device 20 is, for example, a resource of the hardware of relaying device 20 and is a performance index of the CPU and the memory. The number of the simultaneous connections is a number of devices 30 which is accessible to the relaying device 20 at the same time which is set depending on a resource and hardware of the relaying device 20, for example.
S13: When the condition is not satisfied (No of S12), the deployment order making module 123 creates representation plan of some sensors according to the processing No. 2. In addition, the deployment order making module 123 does not processes the process S13 when the condition is satisfied (Yes of S12).
When the application works more than a value of the performance index of the CPU and the memory of the device which are explained in relaying device information list 113 of
Therefore, in the process S13, the deployment order making module 123, makes that different relaying device 20 carries out the processing of some sensors in which the relaying device 20, which does not meet a condition of the performance and the number of the connections at the same time, targets for the processing. Accordingly, it is possible to avoid the competition of the resource between the applications or the devices, and to carry out the processing of sensor data of each sensor surely. Therefore, it is possible to select the relaying device 20 of each sensor so as to meet the condition of performance of relaying device 20 and the simultaneous connection number while utilizing a resource of relaying device 20 effectively. The details of processing No. 2 in the process S13 will be described later according to
S14: The virtual machine deployment control module 124 instructs the deployment of the virtual machine to the physical machine according to the deployment plan and orders installation of the application for the virtual machine. The relaying device 20 collects and processes the sensor data of each device 30 and transmits to the center server 10.
S15: The virtual machine deployment control module 124 determines whether or not the device 30 moved.
S16: When the device 30 moved (Yes of S15), the sensor application information management module 121 updates the sensor information list 111 (referring to
The deployment order making module 123, as the processing No. 3, selects the relaying device 20 that the number of the processing, which is not included in a set of a plurality of the processing of sensors that the relaying device 20 targets among a plurality of the processing prescribed depending on a sensor of device 30 which moved, is less, as a candidate. The details of the processing in the process S16 will be described later according to
According to
[Flow of Processing No. 1]
S21: The deployment order making module 123 detects each sensor which are equipped with each device 30 of the object selecting the relaying device 20. In addition, the deployment order making module 123 acquires (confirms) a list of application to carry out the processing prescribed depending on each sensor with reference to the sensor information list 111 (referring to
S22: The deployment order making module 123 gathers up each sensor which are detected to one cluster.
S23: The deployment order making module 123 integrates the same application, of which a cluster created in the process S22 includes, for one application.
As illustrated in
S24: The deployment order making module 123, with reference to the application information list 112 (referring to
According to the application information list 112 (referring to
S25: On the other hand, when meeting the parallel operation limit number (Yes of S24), the deployment order making module 123 creates the deployment plan based on the cluster. In other words, the deployment order making module 123 deploys one virtual machine corresponding to one cluster and creates the deployment plan to deploy each application in the cluster to the virtual machine concerned.
S31: When not meeting the parallel operation limit number ((A), No of S24 in
S32: The deployment order making module 123 randomly assigns the sensor of which an existing cluster includes in the cluster which is increased. For example, the deployment order making module 123 assigns the sensor to two clusters represented in the first selection example depicted in
S33: The deployment order making module 123 integrates the same application for one application about each cluster like the process S23 of
S34: The deployment order making module 123 determines whether or not the inspection of the process S35 is carried out for all the combinations of cluster and applications.
S35: When the inspection for all combination is not completed (No of S34), the deployment order making module 123 determines whether or not the combination which are recorded in the process S33 meets the condition of the parallel operation limit number of the application.
S36: When meeting the condition of the parallel operation limit number (Yes of S35), the deployment order making module 123 records the application of each cluster and a total number of the applications of which the plurality of clusters include corresponding to the combination of cluster and application.
According to the first selection example in
When not meeting the parallel operation limit number (No of S35) or after the process S36, the process of the deployment order making module 123 moves in the process S32 and carries out the assignment of the sensor to the plural clusters again.
S37: When the inspection is completed for all combination (Yes of S34), the deployment order making module 123 determines whether or not a combination of the cluster with the application which meets the parallel operation limit number existed. When not existing (No of S37), the deployment order making module 123 moves in the process S31, and increases the number of clusters one more. In other words, the deployment order making module 123 carries out the process S32-S37 based on three clusters.
The deployment order making module 123 assigns the sensor to two clusters according to the second selection example depicted in
In addition, according to the second selection example depicted in
When a combination meeting the parallel operation limit number exists (Yes of S37), the process of deployment order making module 123 moves in a diagram of flow chart (B) in
S41: The deployment order making module 123 selects the combination which is smaller total number of applications among the plural combinations which are recorded, and creates the deployment plan based on the combination which are selected.
The total number of applications of the first selection example depicted in
In this way, the deployment order making module 123 calculates a total number of the processing prescribed depending on the sensor in which the plurality of relaying devices 20 targets for the processing based on the first combination of each sensor and the relaying device 20. In addition, the deployment order making module 123 calculates a total number of the processing prescribed depending on the sensor in which the plurality of relaying devices 20 targets for the processing based on the different second combination. And the deployment order making module 123 compares the total number of processing based on the first and second combinations and selects a candidate of relaying device 20 based on the combination that there are few total numbers.
Thereby, it is possible that the deployment order making module 123 minimizes the total number of applications which are deployed in the relaying device 20. In addition, it is possible that the deployment order making module 123 sets the number of virtual machines to deploy to a minimum value to meet the parallel operation limit number of applications. Therefore, it is possible to control the total number of applications and the number of the virtual machines to deploy in a minimum while meeting a condition of the application, and to use a resource effectively.
S42: The deployment order making module 123 judges whether or not the deployment plan which is created meets a condition of the performance of the relaying device 20. In addition, the judgment processing of S42 and S43 correspond with the process S12 of the diagram of flow chart in
In more detail, the deployment order making module 123 acquires the resource (the performance index of the CPU, memory) of the device with reference to the relaying device information list 113. In addition, the deployment order making module 123 acquires quantity of use resource (the performance index of the CPU, memory) of the application based on the deployment plan with reference to the application information list 112 (referring to
The deployment plan indicating the second selection example depicted in
Therefore, the total of the performance index of the CPU of which the application to work with the device 1 uses is value “10.5 (=3+7.5)”, and the total of the capacity of the memory to use is value “4.0 (=0.7+3.3) GB”. In contrast, according to the relaying device information list 113 (referring to
A case when the deployment plan which is created does not meet the condition of the performance of the relaying device 20 will be exemplified (No of S42). When the performance index of the CPU in the device 1 is not value “16”, but the value “11” and the capacity of the memory is not value “8 GB”, but value “4.5 GB” and a brightness sensor (2.01) is provided with the processing object more, the deployment plan does not meet the condition of the performance of the device value (No of S42).
According to the application information list 112 (referring to
Therefore, the total of the performance index of the CPU, that the application to work with the device 1 uses, is value “11.5” (=10.5+1), and the total of the memory to use is value “5.0 (=4.0+1.0) GB”. Therefore, the deployment plan (the performance index of CPU is value “11.5” and the memory is value “5.0 GB”) does not meet a condition of the performance (the performance index of the CPU is value “11” and the memory is value “4.5 GB”) of device 1 (No of S42).
S43: When the deployment plan which is created meets a condition of the performance of the relaying device 20 (Yes of S42), the deployment order making module 123 judges whether or not the deployment plan which is created meets the condition of the simultaneous connection number of the relaying devices 20. In more detail, the deployment order making module 123 judges whether or not the number of devices 30 which is connected based on the deployment plan falls within the simultaneous connection number of the devices.
When meeting the condition of the performance of the relaying device 20 (Yes of S43), the deployment order making module 123 finishes the processing No. 1. And the deployment order making module 123 outputs the deployment order based on the deployment plan which is created to the virtual machine deployment control module 124.
For example, when the number of the simultaneous connections of device 1 is value “100”, and the number of devices 30 of which the device 1 targets for the processing based on the deployment plan is value “110” (No of S43), the simultaneous connection number of device 1 does not meet the number of the connections based on the deployment plan which is created.
S44: When the deployment plan which is created does not meet the condition of the number of the performance or the simultaneous connection of the relaying device 20 (No of S42, No of S43), the deployment order making module 123 carries out the processing No. 2. The processing of the process S44 corresponds to the process S13 of the diagram of flow chart in
[Flow of Processing No. 2]
Then, according to
S51: The deployment order making module 123 selects the sensor in which the performance requirements is smallest among the sensors in which the relaying device 20, which does not meet the condition of the performance or the number of the connections at the same time, targets for the processing.
When not meeting the condition of the performance (No of S42 in
On the other hand, when not meeting the condition of the number of the connections at the same time (No of S43 in
S52: The deployment order making module 123 sequentially detects a device located in the nearer place from the sensor which is selected with reference to the positional information that the relaying device information list 113 (
S53: The deployment order making module 123 determines whether or not the inspection (S54, S55) of the deputy for the processing of sensor data of the sensor which is selected about all the devices which is detected. When the inspection is completed (Yes of S53), that is, when the relaying device 20 which acts for the processing is not found, the processing of the deployment order making module 123 moves in a diagram of flow chart in
S54: The deployment order making module 123 judges whether or not each virtual machine (the relaying device 20), of which the detected device carries out, targets the sensor which is the same as the sensor which is selected with the processing object. In other words, the deployment order making module 123 selects the relaying device 20 which targets the sensor which is the same as the sensor which is selected for the processing as the relaying device 20 which deputes for the processing of the sensor concerned.
Because of letting the relaying device 20, which targets the sensor which is the same as the sensor which is detected, depute of the processing of the sensor which is selected, it is not necessary to newly install the application to carry out the processing of the sensor in the relaying device 20. Therefore, it is possible that the deployment order making module 123 selects the relaying device 20 of the sensor, so as to use a resource of the relaying device 20 effectively.
S55: When the sensor data of the same sensor is not targeted for a processing object (No of S54), the deployment order making module 123 judges whether or not the virtual machine which is extracted carries out the application to carry out the processing prescribed depending on the sensor which is selected. In other words, the deployment order making module 123 selects the relaying device 20, which carries out the processing that is the same as the processing prescribed depending on the sensor which is selected, as the relaying device 20 deputing for the processing of the sensor concerned.
Because letting the relaying device 20, which carries out the processing that is the same as processing prescribed depending on the sensor which is selected, depute for the processing of the sensor which is selected, it is not necessary to newly install the application to carry out the processing of the sensor concerned in the relaying device 20. Therefore, it is possible that the deployment order making module 123 selects the relaying device 20 of the sensor so as to use a resource of relaying device 20 effectively.
When not carrying out the same processing (No of S55), the processing of the deployment order making module 123 moves in the process S52. In other words, the deployment order making module 123 detects a different device located in the next near place from the device 30 equipped with the sensor which is selected.
Accordingly the deployment order making module 123 detects the device 3 (40-13) next (S52). according to the example of
Next, the deployment order making module 123 detects the device 4 (40-14) next (S52). According to the example of
S56: When the virtual machine targets the same sensor as the processing object (Yes of S54) or when the virtual machine carries out the same processing (Yes of S55), the deployment order making module 123 carries out the judgment processing of the number of the connections of device 30. That is, the deployment order making module 123 judges whether or not the number of the connections of the relaying device 20 when deputing for the processing of sensor data of the sensor which is selected meets the simultaneous connection number of the relaying device 20.
When the connection number does not meet the number of the connections at the same time (No of S56), the deployment order making module 123 changes in the process S52, and detects a different device located in the next near place from the device 30 equipped with the sensor which is selected.
For example, it is exemplified that the number of the simultaneous connections of device 4 is “100” and the number of devices 30 in which the device 4 targeted for the processing is “85”. In addition, the number of devices 30 equipped with the brightness sensor (2.01) 303e where the device 1 targeted for the processing is “10”. When the virtual machine 20-24 of device 4 acts for the processing of the brightness sensor (2.01) 303e of the device 1, the number of the connections of the device 4 becomes “95” (=85+10) and a connection number at the same time is satisfied (Yes of S56).
S57: When the connection number meets the number of the connections at the same time (Yes of S56), the deployment order making module 123 lets the virtual machine which is extracted act for the processing of sensor data of the sensor which is selected. In other words, the deployment order making module 123 lets the virtual machine 20-24 to work with the device 4 act for processing of the brightness sensor (2.01) 303e of which the device 1 targets as a processing object. In addition, the deployment order making module 123 deletes the brightness sensor (2.01) 303e from the deployment plan of the device 1. And processing of the deployment order making module 123 moves to the processing of flow chart diagram of
S61: The deployment order making module 123, as same as the process S52 of
S62: The deployment order making module 123 judges whether or not deploy the application to process the sensor data of the sensor which is selected, at the device which is detected. In other words, the deployment order making module 123 judges whether or not the device which is detected has the space resource which is able to deploy the application to carry out the processing of the sensor which is selected.
According to the relaying device information list 113 (
When it is not possible to deploy it (No of S62), the deployment order making module 123 changes to the process S61 and acquires a resource of device 3 located in the near place next. As for device 3, the performance index of the CPU is value “8”, and the memory capacity is value “4.0 GB”. In addition, for example, the performance index of the CPU that deployment planned application to the device 3 uses based on the deployment plan is value “6.5”, the memory capacity of that is value “2.7 GB”. Therefore, the device 3 has a resource necessary for the deployment of the applications 4-1, 11 (Yes of S62).
S63: When it is possible to deploy it (Yes of S62), the deployment order making module 123 detects the application to add and deploy in order to process the sensor data of the sensor which is selected. For example, the deployment order making module 123 detects the applications 4-1, 11 to add and deploy to the device 3.
S64: The deployment order making module 123 judges whether or not the processes S62, S63 are completed for all the devices.
In this embodiment, the deployment order making module 123 acquires a resource (the performance index of the CPU is “10” and the memory capacity is “6.0 GB”) of the device 4 more. For example, the performance index of the CPU, of which the deployment planned application to the device 4 uses based on the deployment plan, is value “5” and the memory capacity is value “2.2 GB”. When the device 4 targets the brightness sensor (2.01) for a processing object, the device 4 may be equipped with the application 4-1 (the performance index of the CPU is “1” and the memory capacity is “1 GB”) newly. Therefore, the device 4 has a resource necessary for deployment of the application 4-1 (Yes of S62).
S65: When the processing of the processes S62 and S63 complete for all devices (Yes of S64), the deployment order making module 123 judges whether or not the device which act for the processing of the sensor data of the sensor which is selected is detected.
S66: When detecting the device (Yes of S65), the deployment order making module 123 adds and deploys the application, which carries out the processing the sensor which is selected, to a device acting for the processing.
In addition, when detect the plurality of devices which are deployed, the deployment order making module 123 selects the device of which the number of applications to additionally deploy is fewer. Therefore, the deployment order making module 123 selects the device 4 that there is less number of application to deploy among the device 3 and the device 4. In this way, it is possible to hold down the total number of applications to deploy to the relaying device 20. And the deployment order making module 123 deletes the applications 4-1, 11 from the deployment plan of the device 1 and adds the application 4-1 to the deployment plan of the device 4.
The deployment order making module 123 changes for the processing of the flow chart in
S71: The deployment order making module 123 determines whether or not it became to meet the condition of the performance of relaying device 20 or the condition of the number of the simultaneous connections by representation with other relaying device 20.
S72: When meeting the condition (Yes of S71), the deployment order making module 123 outputs the deployment plan and the representation plan with other relaying device 20.
S73: On the other hand, when not meeting the condition (No of S71), the deployment order making module 123, as similar to the process S51 of
S74: The deployment order making module 123 determines whether or not the sensor that performance requirement is next small exists.
S75: When the sensor that performance requirement is next small does not exist (Yes of S74), the deployment order making module 123 finishes the processing No. 2. Even if the deployment plan is in condition not to meet the condition of the performance of relaying device 20 or the condition of the number of the simultaneous connections, the deployment order making module 123 orders deployment according to the deployment plan.
On the other hand, when the sensor exists (No of S74), the deployment order making module 123 changes to the process S52 of
In this way, the deployment order making module 123 according to the present embodiment detects the relaying device 20 which is available for representation without adding the application. And when there is not relaying device 20 which is available for representation without adding the application, the deployment order making module 123 detects the relaying device 20 having the resource which is able to additionally deploy the application. Therefore, it is possible that the deployment order making module 123 selects the relaying device 20 acting for the processing of sensor so as to use a resource of relaying device 20 effectively.
[Flow of Processing No. 3]
Then, according to
S81: When the deployment order making module 123 detects movement of the device 30, the deployment order making module 123 extracts a device located in an appointed distance range from the device 30 concerned. In addition, the sensor application information management module 121 updates the sensor information list 111 (referring to
For example, when the device 30 equipped with an oxygen concentration sensor newly moves, the sensor application information management module 121 adds the information of the oxygen concentration sensor to the sensor information list 111. In addition, the sensor application information management module 121 adds information of the application which carries out the processing prescribed depending on the oxygen concentration sensor to the application information list 112.
On the other hand, it is exemplified that the device 30 equipped with the humidity sensor (2.1) moves and became absent. When the device 30 equipped with the humidity sensor (2.1) does not exist elsewhere, the sensor application information management module 121 deletes the information of the humidity sensor (2.1) from the sensor information list 111. In addition, the sensor application information management module 121 deletes the information of the related application to only the humidity sensor (2.1) from the application information list 112. In more details, the sensor application information management module 121 deletes the information of application 2.
S82: The deployment order making module 123 selects the relaying device 20 of the sensor, which moved device 30 is equipped with, among a plurality of relaying devices 20 which are extracted. In addition, the deployment order making module 123 selects the relaying device 20 that the number of the processing, which is included in a plurality of the processing prescribed depending on a sensor of device 30 which moved and which is not included in a set of a plurality of the processing of sensors that the relaying device 20 targets, is less.
It is exemplified that the device 30 equipped with the brightness sensor (1.1) 303f moved, as mentioned above in
According to the example of
Thereby, it is possible that the deployment order making module 123 selects the relaying device 20 of the sensor equipped with the device 30 which moved so that the total number of applications of relaying device 20 becomes minimum. Therefore, it is possible that the deployment order making module 123 selects the relaying device 20 of device 30 which moved so as to use a resource of relaying device 20 effectively.
S83: The deployment order making module 123 judges whether or not the relaying device 20 which processes the sensor equipped with the device 30 which moved meets the condition of the performance. The deployment order making module 123 judges whether or not the total of the resource that the application of the relaying device 20 which is selected uses is settled within the resource of the device.
S84: When meeting the condition of the performance (Yes of S83), the deployment order making module 123 judges whether or not the relaying device 20 which processes the sensor equipped with the device 30 which moved meets the condition of the connection number at the same time.
S85: When not meeting either condition (No of S83, No of S84), the deployment order making module 123 carries the processing No. 2 explained in
S86: When meeting both conditions (Yes of S84), the deployment order making module 123 deletes the information of the application which relates only to the sensor concerned from the relaying device 20 which processed the sensor equipped with the device 30 which moved.
For example, according to the example of
In addition, the embodiment mentioned above exemplified a case to realize the relaying device 20 according to the virtual machine. But when the relaying device 20 is realized with a physical machine, as similar to a case of the virtual machine, it is possible to select the relaying device 20 of each sensor so as to use a resource of relaying device 20 effectively.
In addition, the deployment order making module 123 may select the relaying device 20 located in the place, where device 30 equipped with a sensor is not able to communicate, as relaying device 20 acting for the processing of the sensor in the processing No. 2. In this case, the selected relaying device 20, for example, receives the sensor data via another relaying device 20 or the center server 10 and carries out the processing. Thereby, it is possible to reduce the total number of application which deploy to the relaying device 20 more and to use a resource of relaying device 20 effectively.
All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2015-050151 | Mar 2015 | JP | national |