The present disclosure relates to an information processing device, an information processing method, a server device, a retrieval method, and an information processing system.
Recently, as mobile devices such as a smartphone have become widespread, it is becoming common that users freely install applications on mobile devices as well as personal computers (PCs). Therefore, applications are installed on various devices to provide users with various services. When services are provided by applications, various functions are required by the applications, but such functions can be realized by executing programs. The executed programs can be obtained from, for example, a server device (see, for example, Patent Literature 1).
Here, operating environments of applications are also various. Thus, for example, even though there is a plurality of situations in which the same function is required by the same application, the operating environments of the applications are not necessarily equal to one another in each situation. Therefore, various techniques have been developed to provide appropriate functions to applications by execution of programs even when the operating environments of the applications are different from one another.
For example, there is a technique that redundantly prepares programs corresponding to functions required by applications in advance. According to such technique, even in a plurality of situations in which operating environments of the applications are different from one another, appropriate functions can be provided to the applications by acquiring and executing the redundantly provided programs.
Also, for example, there is a technique that prepares different applications for each operating environment of the applications. According to such technique, since different programs are executed for each application, appropriate functions can be provided to the applications by acquiring and executing programs corresponding to the applications.
However, the technique that redundantly prepares programs corresponding to functions required by applications in advance takes much time and effort to prepare redundant programs. Also, the technique that prepares different applications for each operating environment of the applications takes much time and effort to prepare different applications for each operating environment.
Therefore, it is desirable to provide a technique that can easily acquire programs for realizing functions required by applications, considering operating environments of the applications.
According to the present disclosure, there is provided an information processing device including an information acquiring unit that acquires an operating environment of an application and function information indicating a function required by the application, and a program acquiring unit that acquires a program corresponding to the operating environment and the function information.
According to the present disclosure, there is provided an information processing method including acquiring an operating environment of an application and function information indicating a function required by the application, and acquiring a program corresponding to the operating environment and the function information.
According to the present disclosure, there is provided a server device including a program retrieving unit that retrieves a program corresponding to an operating environment of an application and function information indicating a function required by the application, and a program proving unit that provides a program acquired by retrieval of the program retrieving unit.
According to the present disclosure, there is provided a retrieval method including retrieving a program corresponding to an operating environment of an application and function information indicating a function required by the application, and providing a program acquired by retrieval.
According to the present disclosure, there is provided an information processing system including an information processing device, and a server device. The information processing device includes an information acquiring unit that acquires an operating environment of an application and function information indicating a function required by the application. The server device includes a program retrieving unit that retrieves a program corresponding to the operating environment and the function information, and a program proving unit that provides a program acquired by retrieval performed by the program retrieving unit to the information processing device.
As described above, according to the present disclosure, it is possible to provide a technique that can easily acquire programs for realizing functions required by applications, considering operating environments of the applications.
Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the appended drawings. Note that, in this specification and the drawings, elements that have substantially the same function and structure are denoted with the same reference signs, and repeated explanation is omitted.
The preferred embodiments of the present invention have been described above with reference to the accompanying drawings, whilst the present invention is not limited to the above examples, of course. A person skilled in the art may find various alterations and modifications within the scope of the appended claims, and it should be understood that they will naturally come under the technical scope of the present invention.
Also, the “mode for carrying out the invention” will be described in the following order.
First, embodiments of the present disclosure will be sequentially described in detail.
<1-1. Configuration Example of Information Processing System>
First, a configuration example of an information processing system 1 according to an embodiment of the present disclosure will be described.
As illustrated in
When an application is run, the information processing device 10 acquires programs for realizing functions required by the application from the server device 20 through the network 30. The information processing device 10 may be, for example, any type of devices such as a smartphone, a personal computer (PC), a tablet computer, and the like. A kind of the application run by the information processing device 10 or the programs for realizing the functions required by the application is not particularly limited.
The server device 20 retrieves programs for realizing the functions required by the application run in the information processing device 10. Also, the server device 20 provides the programs obtained by such retrieval to the information processing device 10 through the network 30. The server device 20 may be, for example, any type of devices such as a PC or the like. Also, as illustrated in
Also, the server device 20 may be generally realized by a computer that is managed by an operator. However, in the present specification, the server device 20 is not limited to this example and may be realized by any devices. For example, in the present specification, the server device 20 may be realized by a device such as a home server or the like.
Here, as described above, operating environments of applications are various. Thus, for example, even though there is a plurality of situations in which the same function is required by the same application, the operating environments of the applications are not necessarily equal to each other in each situation. Therefore, it is desirable to provide appropriate functions to applications by execution of programs even when the operating environments of the applications are different from one another.
However, the technique that redundantly configure programs corresponding to functions required by applications in advance, or the technique that prepare different applications for each operating environment of the applications takes much time and effort to prepare the programs or the applications. Therefore, the embodiment of the present disclosure proposes a technique that can easily acquire programs for realizing functions required by applications, considering operating environments of the applications.
So far, the configuration example of the information processing system 1 according to the embodiment of the present disclosure has been described. Subsequently, the overview of the information processing system 1 according to the embodiment of the present disclosure will be described.
<1-2. Overview of Information Processing System>
In a state in which the application A2 is run, a function is required by the application A2. A kind of the function is not particularly limited. For example, the function required by the application A2 may be a face analysis function of analyzing a face projected on an image, which will be described below. For example, the control unit 110 acquires function information indicating the required function from the application A2. On the other hand, the control unit 110 acquires the operating environment of the application A2.
The operating environment of the application A2 may be acquired from, for example, an operating system (OS) run by the information processing device 10, but an entity that provides the operating environment is not particularly limited. The operating environment of the application A2, for example, may include information indicating the capability of the information processing device 10 to operate the application A, and may include information indicating the state of the information processing device 10 to operate the application A2.
The capability of the information processing device 10 corresponds to static information among pieces of information on the information processing device 10. The capability of the information processing device 10 is not particularly limited. For example, the capability of the information processing device 10 may be the performance of a central processing unit (CPU) for operating the information processing device 10, or may be the performance of a memory for operating the information processing device 10.
Also, the capability of the information processing device 10 may be a capacity of a storage used for the operation of the information processing device 10, or may be a maximum communication rate of the information processing device 10. Also, the capability of the information processing device 10 may be a capacity of a battery used by the information processing device 10, or may be a program language that is operable in the information processing device 10. Also, the capability of the information processing device 10 may be information on the presence or absence of predetermined hardware that can be used by the information processing device 10 (for example, a display, a tuner, a touch panel, a camera, and the like).
On the other hand, the state of the information processing device 10 corresponds to dynamic information among pieces of information on the information processing device 10. For example, the state of the information processing device 10 is not particularly limited, but may be a kind of an application installed on the information processing device 10, may be a version of an OS installed on the information processing device 10, or may be a support state of a program language that is compatible with the information processing device 10.
Also, the state of the information processing device 10 may be account information of an external service registered by a user, or may be a kind of an already acquired program. Also, the state of the information processing device 10 may be resource information of hardware included in the information processing device 10 (for example, a space of a CPU, a memory space, a remaining battery level, a storage space, and the like), may be a communication scheme (for example, wi-fi, 3G, and the like) used by the information processing device 10, or may be a communication rate by the information processing device 10.
Also, the state of the information processing device 10 may be power ON/OFF of hardware (for example, a display, and the like) used by the information processing device 10, or may be information on an operation of a predetermined program (for example, period, time, and location at which the corresponding program is operated). Also, the state of the information processing device 10 may be information on a running process (for example, types and the number of running processes), or may be a type of a connecting device for connection to the information processing device 10. However, it is also possible that the connecting device corresponds to static information.
Therefore, when the operating environment and the function information are acquired by the control unit 110, the control unit 110 acquires programs corresponding to the operating environment and the function information. More specifically, first, programs are prepared for each function in the server device 20. In the example illustrated in
When the operating environment and the function information are acquired from the control unit 110 of the information processing device 10, a control unit 210 of the server device 20 selects a program corresponding to the function information.
Such a selected program is provided by the control unit 210 of the server device 20 and is acquired by the control unit 110 of the information processing device 10. The control unit 110 realizes the function required by the application A2 by executing the acquired program and providing the execution result to the application A2. Also, in a case where the operating environment (for example, the static information, and the like) of the application A2 has already been acquired by the server device 20, the control unit 210 and the acquisition of the operating environment by the control unit 210 may be omitted because the corresponding operating environment may be used again.
Therefore, in the embodiment of the present disclosure, the program corresponding to the operating environment and the function information is acquired by the information processing device 10. Therefore, it is possible to easily acquire the program for realizing the functions required by the applications, considering the operating environments of the applications.
So far, the overview of the information processing system 1 according to the embodiment of the present disclosure has been described. Subsequently, the functional configuration example of the information processing device 10 according to the embodiment of the present disclosure will be described.
<1-3. Functional Configuration Example of Information Processing Device>
The control unit 110 corresponds to a processor such as a CPU or a digital signal processor (DSP). The control unit 110 exhibits various functions of the control unit 110 by executing the application and the program stored in the storage unit 140 or other storage medium. The respective functions of the information acquiring unit 111, the program acquiring unit 112, the program executing unit 113, the execution result output unit 114, and the execution state output unit 115 will be described below.
The input unit 120 has a function of receiving an operation from a user. The input unit 120 outputs the operation from the user to the control unit 110 as operation information. The operation information is used by the control unit 110 and, for example, is used by the execution of the program. In the example illustrated in
The communication unit 130 is, for example, a communication interface that is configured by a communication device for connecting to the network 30. The communication unit 130, for example, can perform communication with the server device 20 through the network 30. The communication by the communication unit 130 through the network 30 may be performed by wireless or wire.
The storage unit 140 stores the application and the program, which are executed by the control unit 110, by using the storage medium such as a semiconductor memory or a hard disk. Also, the storage unit 140 can store data used for the execution of the application or the program. In the example illustrated in
The output unit 150 has a function of outputting information under the control of the control unit 110. For example, the output unit 150 may have a function of outputting information for allowing a user to perform the input of the operation information corresponding to the application. Also, for example, the output unit 150 may have a function of providing a service to a user by outputting the execution result of the application. The output unit 150 may be a display device that displays an image, may be an audio output device that outputs audio, and may be other output devices.
So far, the functional configuration example of the information processing device 10 according to the embodiment of the present disclosure has been described. Subsequently, the functional configuration example of the server device 20 according to the embodiment of the present disclosure will be described.
<1-4. Functional Configuration Example of Server Device>
The control unit 210 corresponds to a processor such as a CPU or a DSP. The control unit 210 exhibits various functions of the control unit 210 by executing the application and the program stored in the storage unit 240 or other storage medium. The respective functions of the program retrieving unit 211, the program providing unit 212, the execution state acquiring unit 213, and the meta information updating unit 214 will be described below.
The communication unit 230 is, for example, a communication interface that is configured by a communication device for connecting to the network 30. The communication unit 230, for example, can perform communication with the information processing device 10 through the network 30. The communication by the communication unit 230 through the network 30 may be performed by wireless or wire.
The storage unit 240 stores the program executed by the control unit 210 by using the storage medium such as a semiconductor memory or a hard disk. Also, the storage unit 240 can store data used for the execution of the program. In
So far, the functional configuration example of the server device 20 according to the embodiment of the present disclosure has been described. Subsequently, a program retrieval function according to the embodiment of the present disclosure will be described in detail.
<1-5. Program Retrieval Function>
Subsequently, the program acquiring unit 112 acquires a program corresponding to the operating environment and the function information. The acquisition of the program may be made at any timing. For example, the program acquiring unit 112 may acquire the program in a case where a program acquisition instruction is made by a user operation, or may acquire the program in a case where a program acquisition instruction is made by a notification from the application A2. Also, the program acquiring unit 112 may acquire the program in a case where the application A2 is installed, or may acquire the program when a state of the information processing device 10 is changed.
First, the program acquiring unit 112 notifies the server device 20 of the operating environment and the function information so as to acquire the program. However, in a case where the program has already been acquired, it is only necessary to use the already acquired program. Hence, the program acquiring unit 112 need not notify the server device 20 again of the operating environment and the function information. Also, in a case where the program acquiring unit 112 fails to acquire the program, the already acquired program may be executed in the program executing unit 113.
Subsequently, when the operating environment and the function information are acquired from the program acquiring unit 112, the program retrieving unit 211 of the server device 20 retrieves a program corresponding to the operating environment and the function information. For example, the program retrieving unit 211 selects a program from a program group corresponding to the function information, based on the operating environment and meta information of each program constituting the program group.
In the example illustrated in
In
The information related to the operating environment, for example, may be preset by a developer or the like, based on an execution state of a test code prepared for each function. For example, in a case where an execution state in which a small CPU load is applied by the execution of the program P2-2 is obtained, the program P2-1 may be set to be used when the CPU load P of the information processing device 10 is larger. Also, in a case where an execution state in which a large CPU load is applied by the execution of the program P2-1 is obtained, the program P2-2 may be set to be used when the CPU load P of the information processing device 10 is smaller.
The computer executing the test code may be the server device 20, or may be a device other than the server device 20. For example, a plurality of devices may be prepared and the test code may be executed in the plurality of devices. The test code may be executed in a developer's computer. Also, the execution result of the test code may be used for purposes other than the meta information generation. For example, the execution result of the test code may be used for security purposes to monitor whether the program accesses unauthorized resources.
The information indicating the function provided by the program, for example, may be preset by a developer or the like. The information indicating the function provided by the program may be selected from one or a plurality of already registered information by a developer or the like. Also, when not yet registered, the information indicating the function provided by the program may be selected from newly added information by a developer or the like.
In the example illustrated in
Also, here, an example in which the program retrieving unit 211 is incorporated in the server device 20 is illustrated, but the program retrieving unit 211 may be provided inside the information processing device 10 in a case where the information processing device 10 can acquire the meta information from the server device 20. Also, an example in which the program providing unit 212 is incorporated in the server device 20 is illustrated, but the program providing unit 212 may be provided outside the server device 20. In such a case, the presence location of the program may be notified from the program retrieving unit 211 to the program acquiring unit 112, and the program acquiring unit 112 may receive the program from the program providing unit 212 provided outside the server device 20.
The program acquiring unit 112 of the information processing device 10 acquires the program provided by the program retrieving unit 211, and the program executing unit 113 executes the program acquired by the program acquiring unit 112. The execution result output unit 114 outputs the execution result of the program, which is obtained by the program executing unit 113, to the application. In the example illustrated in
Also, in a case where the program executing unit 113 fails to execute the program, the program acquiring unit 112 may acquire a program separately from the acquired program again according to the operating environment and the function information. For example, in a case where there is a plurality of programs corresponding to the function information, the program acquiring unit 112 may acquire the corresponding different program from the plurality of programs, based on the operating environment.
As described above, in the embodiment of the present disclosure, the program corresponding to the operating environment and the function information is acquired by the information processing device 10. Therefore, it is possible to easily acquire the program for realizing the functions required by the applications, considering the operating environments of the applications. Also, the execution result of the program corresponding to the operating environment and the function information is easily provided to the application.
Also, in the example illustrated in
Also, for example, the operating environment of the application may be a communication scheme (for example, 3G network, wi-fi, and the like) used for communication by the information processing device 10. For example, in a case where the communication scheme is “3G network”, the congestion of the network 30 is expected to be large, and thus, “communication scheme: 3G network” may be set to the information related to the operating environment of the program in which the processing by the external server is unnecessary. Also, for example, in a case where the communication scheme is “wi-fi”, the congestion of the network 30 is expected to be small, and thus, “communication scheme: wi-fi” may be set to the information related to the operating environment of the program in which the processing by the external server is necessary.
The example of the program retrieval function is not limited to the example illustrated in
In the example illustrated in
Also,
For example, the related program may be a program that is called from the program provided by the program providing unit 212, or may be a program that calls the program provided by the program providing unit 212. Also, for example, in a case where the program provided by the program providing unit 212 and other program are called from the same program, the related program may be the other program. That is, the related program may be a program that is executed by being directly or indirectly combined with the program provided by the program providing unit 212.
In the example illustrated in
Also, as described below, the meta information of each program is updated by the meta information updating unit 214. Therefore, in a case where there is a plurality of programs that is executed by being combined with the program provided by the program providing unit 212, a program selected from the plurality of programs, based on the execution state, may be included in meta information of the related program. In such a case, a program having stronger relation to the program provided by the program providing unit 212 may be acquired as the related program.
A timing at which the related program is acquired is not particularly limited. For example, the related programs may be sequentially acquired based on an execution stage of a program executed before the corresponding program. By sequentially acquiring the related programs, the capacity of the memory used for storing the programs can be reduced, for example, if the acquisition of the related program is performed while the program executed before the corresponding related program is deleted.
In the example illustrated in
For example, the program of the voice analysis function F1 may be provided in a manner similar to the case where the priority is not considered. Also, regarding the program of the face analysis function F2, in a case where the priority is not considered, the program P2-1 having a larger processing load is provided, and in a case where the priority is considered, the program P2-2 having a smaller processing load is provided. Considering the case where the program of the voice analysis function F1 is executed, it is desirable to execute the program P2-2 having a smaller processing load.
In the example illustrated in
The retrieval is performed by the program retrieving unit 211, based on the CPU load p02 as an example of the operating environment and the function information indicating the face analysis function, and when the program P2-1 is acquired, the program P2-1 is provided to the program acquiring unit 112 by the program providing unit 212. In a case where the program P2-1 is acquired by the program acquiring unit 112, the program executing unit 113 executes the program P2-1, and the execution result output unit 114 has only to provide the execution result of the program P2-1 to the application A1 and the application A2.
Also, in a case where the operating environments of the application A1 and the application A2 are different from each other, it is likely that the program corresponding to the function required by the application A1 is different from the program corresponding to the function required by the application A2. In such a case, when both the provided programs are partially common, a part of the acquisition operation can be commonalized.
Also, a case where the function level is acquired from each of the application A1 and the application A2 is assumed. In such a case, in a case where the function information acquired from each of the application A1 and the application A2 is common, the program providing unit 212 may commonalize all or part of the operations of acquiring the respective programs based on the function level acquired from each of the application A1 and the application A2.
For example, in the above-described example, it is considered that the face analysis program P2-1 of which the function level is “high accuracy” and the face analysis program P2-2 of which the function level is “low accuracy” are similar in functions provided by execution. Therefore, it is highly likely that the program P2-1 and the program P2-2 have a common part. Thus, it is considered that the operation of acquiring the common part can be commonalized.
Also, the commonalized program is not limited to the face analysis program. For example, each of the application A1 and the application A2 may be a positioning program. For example, in a case where there are a positioning program P2-1 of which the function level is “high accuracy” and a positioning program P2-2 of which the function level is “low accuracy”, it is highly likely that the program P2-1 and the program P2-2 have a common part. Thus, it is considered that the operation of acquiring the common part can be commonalized.
Also, here, an example in which the program acquiring unit 112 acquires the program again from the server device 20 is illustrated, but the program acquiring unit 112 may previously acquire a plurality of programs associated with priority. In this case, the program acquiring unit 112 may acquire programs with next highest priority from the plurality of already acquired programs according to the change in the operating environment of the application, such that the program executing unit 113 executes the programs in order of higher priority.
In the example illustrated in
Also, here, a case where the CPU load changes has been described as an example, but the change in the operating environment is not limited to the change in the CPU load. For example, the change in the operating environment may be a change in a remaining battery level. For example, in a case where the remaining battery level is high, it is desirable to execute a program that has high power consumption but a high processing speed; however, in a case where the remaining battery level is low, it is desirable to execute a program that has a low processing speed but low power consumption.
So far, details of the program retrieval function according to the embodiment of the present disclosure have been described. Subsequently, details of the operation history update function according to the embodiment of the present disclosure will be described.
<1-6. Operation History Update Function>
In the example illustrated in
For example, it is assumed that the longest processing time t1 and the second longest processing time t2 are already recorded in the operation history of the program P2-1. When the processing time t3 is acquired from the execution state output unit 115, the execution state acquiring unit 213 may add the acquired processing time t3 to the operation history of the corresponding program P2-1. Also, as illustrated in
So far, details of the operation history update function according to the embodiment of the present disclosure have been described. Subsequently, details of the meta information update function according to the embodiment of the present disclosure will be described.
<1-7. Meta Information Update Function>
In the example illustrated in
For example, the above-described example shows that the meta information updating unit 214 updates the CPU load as an example of the information related to the operating environment, based on the processing time of the program, but the information updated by the meta information updating unit 214 is not limited to the CPU load. For example, in a case where the processing time of the program is longer than a predetermined time, the meta information updating unit 214 may add the effect of limiting the provision of the corresponding program to the meta information of the program.
Also, for example, the execution state may be the degree of a cancel operation of a user upon execution of the program (for example, a frequency of the cancel operation, a rate of the cancel operation, and the like). In such a case, for example, the degree of the cancel operation is accumulated as the operation history by the execution state acquiring unit 213. At that time, for example, in a case where the degree of the cancel operation is larger than a predetermined degree, the meta information updating unit 214 considers that the satisfaction of the program is low, and thus, may add the effect of limiting the provision of the corresponding program to the meta information of the program.
Also, in the above-described example, the processing time of the program is output from the information processing device 10 to the server device 20 as the execution state of the program, but the execution state is not limited to such an example. For example, the execution state may be a combination of the processing time and the operating environment. In such a case, for example, the processing time of each operating environment is accumulated as the operation history by the execution state acquiring unit 213. At that time, for example, in a case where there is an operating environment in which the processing time is longer than a predetermined time, the meta information updating unit 214 may add the effect of limiting the provision of the program corresponding to the relevant operating environment to the meta information of the program.
Also, for example, the execution state may be a combination of the degree of error occurrence (for example, a frequency of error occurrence, a rate of error occurrence, and the like) upon execution of the program and the operating environment. In such a case, for example, the degree of the error occurrence for each operating environment is accumulated as the operation history by the execution state acquiring unit 213. At that time, for example, in a case where there is an operating environment in which the degree of the error occurrence is larger than a predetermined degree, the meta information updating unit 214 may add the effect of limiting the provision of the program corresponding to the relevant operating environment to the meta information of the program.
Also, for example, information indicating time zone or location at which the program is executed may be included in the execution state. In such a case, for example, such information is accumulated as the operation history by the execution state acquiring unit 213. At that time, for example, the meta information updating unit 214 may analyze the execution state of the program for each time zone and may analyze the execution state of the program for each location. Also, the meta information updating unit 214 may update meta information for each time zone or each location, based on the analysis result.
Also, for example, information indicating other program executed by being directly or indirectly connected to the corresponding program (for example, program operating at the same time as the corresponding program) may be included in the execution state. In such a case, for example, such information is accumulated as the operation history by the execution state acquiring unit 213. At that time, for example, the meta information updating unit 214 may analyze the execution state of the program for each other program and may analyze the execution state of the program for each other program. Also, the meta information updating unit 214 may update meta information for each other program, based on the analysis result.
Also, here, an example in which the meta information updating unit 214 is incorporated in the server device 20 is illustrated, but the meta information updating unit 214 may be provided in the information processing device 10 in a case where the information processing device 10 can acquire the operation history. Also, the meta information updating unit 214 may be incorporated in a server different from the server device 20.
So far, details of the meta information update function according to the embodiment of the present disclosure have been described. Subsequently, in the following, the flow of the operation of the information processing system 1 according to the embodiment of the present disclosure will be described.
<1-8. Operation Example of Information Processing System>
As illustrated in
Subsequently, the program retrieving unit 211 retrieves a program corresponding to the function information and the operating environment, based on meta information (S5), and the program providing unit 212 outputs the program acquired by the retrieval of the program retrieving unit 211 to the information processing device 10 (S6). Subsequently, the program acquiring unit 112 of the information processing device 10 acquires the program from the server device 20 (S7), and the program executing unit 113 executes the program acquired by the program acquiring unit 112 (S8).
Subsequently, the execution result output unit 114 outputs the execution result of the program, which is obtained by the program executing unit 113, to the application (S9), and the execution state output unit 115 outputs the execution state of the program, which is obtained by the program executing unit 113, to the server device 20 (S10). Subsequently, the execution state acquiring unit 213 of the server device 20 acquires the execution state from the information processing device 10 (S11), and the meta information updating unit 214 updates the meta information based on the execution state acquired by the execution state acquiring unit 213 (S12).
So far, the embodiments of the present disclosure have been described.
As described above, in the embodiment of the present disclosure, there is provided an information processing device including: an information acquiring unit that acquires an operating environment of an application and function information indicating a function required by the application; and a program acquiring unit that acquires a program corresponding to the operating environment and the function information. According to such a configuration, there is provided a technique that can easily acquire programs for realizing functions required by applications, considering operating environments of the applications.
Also, the application can realize the required functions, without being conscious of the operating environment of the application. Furthermore, the application can automatically select and execute the program satisfying the required function level. In a case where the function required by the application is not realized, other program can be acquired and executed, thereby increasing the availability of the application. Furthermore, a program developer can update the program for realizing the function, without updating the application.
The preferred embodiments of the present invention have been described above with reference to the accompanying drawings, whilst the present invention is not limited to the above examples, of course. A person skilled in the art may find various alterations and modifications within the scope of the appended claims, and it should be understood that they will naturally come under the technical scope of the present invention.
For example, the respective steps in the operation of the information processing system 1 of the present specification need not be always processed in time series in order described in the flowchart. For example, the respective steps in the operation of the information processing system 1 may be processed in a different order from that described in the flowchart or in parallel.
Also, hardware embedded in the information processing device 10, such as a CPU, a ROM, and a RAM, can be implemented by a computer program for exhibiting the same functions as the configuration of the above-described information processing device 10. Also, a recording medium having stored therein the computer program is provided.
Similarly, hardware embedded in the server device 20, such as a CPU, a ROM, and a RAM, can be implemented by a computer program for exhibiting the same functions as the configuration of the above-described server device 20. Also, a recording medium having stored therein the computer program is provided.
Additionally, the present technology may also be configured as below.
(1)
An information processing device including:
an information acquiring unit that acquires an operating environment of an application and function information indicating a function required by the application; and
a program acquiring unit that acquires a program corresponding to the operating environment and the function information.
(2)
The information processing device according to (1), further including a program executing unit that executes the program acquired by the program acquiring unit.
(3)
The information processing device according to (2), further including an execution result output unit that outputs an execution result of the program by the program executing unit to the application.
(4)
The information processing device according to any one of (1) to (3),
wherein the program is selected from a program group corresponding to the function information, based on the operating environment and meta information of each program constituting the program group.
(5)
The information processing device according to (4),
wherein the meta information of each program constituting the program group includes information related to the operating environment and information indicating the function provided by the program.
(6)
The information processing device according to (5),
wherein the information related to the operating environment of the program is updated based on an operation history of the program.
(7)
The information processing device according to (6),
wherein the execution state of the program by the program executing unit is added to the operation history of the program and is used to update the meta information of the program, based on the operation history of the program.
(8)
The information processing device according to any one of (4) to (7),
wherein when the program acquiring unit acquires the program, the program acquiring unit acquires a related program, based on the meta information of the program.
(9)
The information processing device according to any one of (1) to (8),
wherein the information acquiring unit acquires a function level, and
wherein the program acquiring unit acquires a program corresponding to the function level.
(10)
The information processing device according to any one of (1) to (9),
wherein when function information acquired from each of a plurality of applications by the information acquiring unit is common, the program acquiring unit commonalizes all or part of the operations of acquiring the respective programs.
(11)
The information processing device according to any one of (1) to (9),
wherein when function information acquired from each of a plurality of applications by the information acquiring unit is common, the program acquiring unit commonalizes all or part of the operations of acquiring the respective programs, based on a function level acquired from each of the plurality of applications by the information acquiring unit.
(12)
The information processing device according to any one of (1) to (11),
wherein when a plurality of pieces of function information is acquired by the information acquiring unit, the program acquiring unit acquires each of the programs, based on priority associated with each of the plurality of function information.
(13)
The information processing device according to (2),
wherein when the program executing unit fails to execute the program, the program acquiring unit acquires a program separately from the program again according to the operating environment and the function information.
(14)
The information processing device according to any one of (1) to (13),
wherein the operating environment includes information indicating a capability of the information processing device to operate the application.
(15)
The information processing device according to any one of (1) to (13),
wherein the operating environment includes information indicating a state of the information processing device to operate the application.
(16)
The information processing device according to (15),
wherein when the state of the information processing device to operate the application is changed, the program acquiring unit acquires a program separately from the program again according to a changed state of the information processing device and the function information.
(17)
An information processing method including:
acquiring an operating environment of an application and function information indicating a function required by the application; and
acquiring a program corresponding to the operating environment and the function information.
(18)
A server device including:
a program retrieving unit that retrieves a program corresponding to an operating environment of an application and function information indicating a function required by the application; and
a program proving unit that provides a program acquired by retrieval of the program retrieving unit.
(19)
A retrieval method including:
retrieving a program corresponding to an operating environment of an application and function information indicating a function required by the application; and
providing a program acquired by retrieval.
(20)
An information processing system including:
an information processing device; and
a server device,
wherein the information processing device includes
wherein the server device includes:
Number | Date | Country | Kind |
---|---|---|---|
2012-075307 | Mar 2012 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2013/055227 | 2/27/2013 | WO | 00 |