The present invention relates to a program acquisition and execution apparatus, a program acquisition and execution method, a program acquisition and execution program storage medium, and a program acquisition and execution program, and more particularly, to those for obtaining a program by downloading or uploading from a program storage apparatus through a communication medium such as a network or a radio apparatus, and executing the program.
There has been a conventional program acquisition and execution apparatus which determines an API specification such that a new version API (Application Programming Interface) is defined so that an old version API is included in the new version API, in order to realize so-called “upper compatibility” by which an old version program can be executed on a new version apparatus even when a new version API is produced for a program that is acquired and executed by the program acquisition and execution apparatus (for example, refer to Non-Patent Document 1: Section 2.8 “Versioning” of “The HAVi Specification Version 1.1”, [online], May 1, 2001, HAVi Inc., [Searched on Sep. 27, 2004], Internet <http://www.havi.org/memberarea/docs/051501Documents/release-May15-HAVi1.1(clean).pdf>).
More specifically, the new version API is defined by adding a new API group to the old version API without changing the specification of the old API at all, in order to secure upper compatibility with respect to the old API.
The API corresponds to a convention of functions such as a library that is prepared in an operating system (OS) or a programming language processing system (e.g., a compiler), which can be utilized from an application program, and the API is often provided as a convention that defines commands and functions having features for file control, window control, image processing, text control and the like or on-program procedures for utilizing the commands and functions.
The API enables a computer software to perform mutual communication with another software in a broad sense. Further, the API is a method for abstracting the relationship between a low-level hardware-like software and a high-level human-like software.
One of the purposes of the API is to provide a feature (function) that can be commonly used for such as window operation and icon drawing. Such function saves programmers the trouble of coding a file control function, a window control function, or the like for each time.
In
Further, a program storage apparatus 150 holds a program to be acquired and executed by the program acquisition and execution apparatus 100.
The program acquisition unit 101 acquires one or plural programs from one or plural program storage apparatuses 150 through a communication medium 200 such as a communication path.
The program execution unit 102 executes the one or plural programs acquired by the program acquisition unit 101.
The program acquired by the program acquisition unit 101 is produced on the basis of a predetermined API, and the program execution unit 102 is constituted so as to execute the program based on the same API. Therefore, the program acquired by the program acquisition unit 101 is executable by the program execution unit 102.
A computer 100a as a program acquisition and execution apparatus comprises a CPU 1001, a RAM 1002, a ROM 1003, and a communication interface 1004, and these elements are mutually connected through a bus 1005.
Further, the computer 100a and a file server 150a as a program storage apparatus are mutually connected through a communication path 200a as a communication medium.
The CPU 1001 in the computer 100a controls the communication interface 1004 by a program recorded in the ROM 1003, and outputs a command to the file server 150a.
The file server 150a searches for a program designated by the command, and sends the searched program to the computer 100a.
The communication interface 1004 of the computer 100a receives this program, and stores the program in the RAM 1002 as a work area.
The CPU 1001 executes the program obtained from the file server, under control of a monitor program such as an OS (Operating System) recorded in the ROM 1003.
To be specific, the section comprising the CPU 1001, the ROM 1003, and the communication interface 1004 corresponds to the program acquisition unit 101 shown in
By the way, in the conventional program acquisition apparatus using the technique disclosed in the non-patent document 1, it is determined that a new version API is provided so as to include an old version API in the new version API. Therefore, even when the version of the API of the program acquired by the program acquisition unit 101 is older than the version with which the program execution unit 102 complies, the acquired program can be executed without problems.
To be specific, when executing a single program, upper compatibility of the API version can be realized by using the technique disclosed in the non-patent document 1.
In this example, a TV receiver 100b as a program acquisition and execution apparatus and a VTR 150b as a program storage apparatus are connected to each other via an IEEE1394 cable 200b as a communication medium.
To be specific, in this home network, the TV receiver 100b and the VTR 150b operate cooperatively with each other to display a video source reproduced by the VTR 150b on the TV receiver 100b.
In order to realize such cooperative operation, a control program for the TV receiver 100b is prepared for each model on the VTR 150b side, and the TV receiver 100b and the VTR 150b start to exchange data at a timing when the TV receiver 100b and the VTR 150b are connected through the IEEE1394 cable 200b, whereby a program according to the type of the TV receiver 100b is downloaded from the VTR 150b side.
Thereby, the TV receiver 100b can execute the control program that is most suitable for the corresponding model to operate cooperatively with the VTR 150b.
In the conventional construction described above, however, if a program complying with a new API and a program complying with an old API are mixed when plural programs are acquired and executed while mutually utilizing the other program, even when it is tried to utilize a function possessed by the program complying with the old version API from the program complying with the new version API, only the old version API can be utilized.
More specifically, by using the technique disclosed in the non-patent literature 1, when the program execution unit 102 complies with the new version, the unit 102 can execute both the program complying with the new version API and the program complying with the old version API.
However, when a program utilizes another program, since the program complying with the old version API does not comply with the new version API, only the old version API can be utilized from the program complying with the new version API.
Furthermore, whether the API with which the program to be utilized complies is the new version API or the old version API can be found only when the program is executed.
Accordingly, the program complying with the new version API must check as to which version of API the other program to be utilized uses, for each program to be utilized, and utilizes the function possessed by the other program, using the API that is used by the other program.
Therefore, when plural programs are cooperatively operated, in order to make these programs executable as much as possible even if there is a mismatch between the versions of these programs, it is necessary for each program to possess codes using APIs that are older than the API used by each program, for each API of the older version, in a position where each program utilizes the function of the other program, leading to complexity of the program structures and increase in the program sizes.
Furthermore, conversely, even when the program complying with the old version tries to utilize the program complying with the new version, the program complying with the old version cannot know what function is added to the program complying with the new version. Therefore, it is usually impossible to prepare codes corresponding to the API of the version later than the version of itself, and consequently, the API of the version later than itself cannot be utilized in the first place.
The present invention is made to solve the above-mentioned problems and has for its object to provide a program acquisition and execution apparatus, a program acquisition and execution method, a program acquisition and execution program storage medium, and a program acquisition and execution program by which, when plural programs are acquired and operated cooperatively, even if there is a mismatch in versions of these programs, a program can utilize another program without the necessity of preparing different codes for the respective versions of programs to be utilized, and further, by which a program complying with an old version can utilize a program complying with a new version.
Furthermore, it is another object of the present invention to provide a program acquisition and execution apparatus, a program acquisition and execution method, a program acquisition and execution program storage medium, and a program acquisition and execution program which can resolve not only a mismatch in API versions between plural programs as described above but also overall mismatches in communication modes between plural programs.
That is, the present invention has for its object to provide a program acquisition and execution apparatus, a program acquisition and execution method, a program acquisition and execution program storage medium, and a program acquisition and execution program by which, when plural programs are acquired and operated cooperatively, even if there is a mismatch in communication modes between the programs, a program can utilize another program without the necessity of preparing different codes for the respective types of communication modes that can be used by the programs to be utilized.
In order to solve the conventional problems, according to claim 1 of the present invention, there is provided a program acquisition and execution apparatus for acquiring programs from a program storage apparatus through a communication medium, and executing the programs, and the apparatus comprises a program acquisition unit for acquiring programs from the program storage apparatus, a program execution unit for executing the programs that are acquired by the program acquisition unit, and a communication mode conversion unit for converting communication modes at performing mutual communication between the plural programs being executed by the program execution unit.
According to claim 2 of the present invention, there is provided a program acquisition and execution apparatus for acquiring programs from a program storage apparatus through a communication medium, and executing the programs, and the apparatus comprises a program acquisition unit for acquiring programs from the program storage apparatus, a program execution unit for executing the programs that are acquired by the program acquisition unit, and a communication mode mismatch detection unit for detecting a mismatch in communication modes when the plural programs being executed by the program execution unit communicate with each other.
According to claim 3 of the present invention, in the program acquisition and execution apparatus defined in claim 2, when the communication mode mismatch detection unit detects a mismatch in communication modes, the program acquisition unit reacquires a program.
According to claim 4 of the present invention, the program acquisition and execution apparatus defined in claim 2 or 3 further includes a communication mode conversion unit for converting a communication mode at performing mutual communication between plural programs being executed by the program execution unit, when the communication mode mismatch detection unit detects a mismatch in communication modes.
According to claim 5 of the present invention, the program acquisition and execution apparatus defined in claim 3 or 4 further includes a matched communication mode determination unit for determining a matched communication mode to be used by the program reacquired by the program acquisition unit, and the program acquisition unit reacquires the program which uses the communication mode determined by the matched communication mode determination unit.
According to claim 6 of the present invention, in the program acquisition and execution apparatus defined in claim 5, the matched communication mode determination unit determines a matched communication mode from among communication modes which are used by the programs that have already been acquired by the program acquisition unit.
According to claim 7 of the present invention, in the program acquisition and execution apparatus defined in claim 5, the matched communication mode determination unit determines a matched communication mode from among communication modes which are used by programs that can be reacquired from one or plural program storage apparatuses.
According to claim 8 of the present invention, in the program acquisition and execution apparatus defined in any of claims 5 to 7, the matched communication mode determination unit selects a latest communication mode from among candidates of matched communication modes, and determines it as a matched communication mode.
According to claim 9 of the present invention, in the program acquisition and execution apparatus defined in any of claims 5 to 7, the matched communication mode determination unit selects a communication mode which minimizes the cost required when the program acquisition unit reacquires the program, and determines it as a matched communication mode.
According to claim 10 of the present invention, in the program acquisition and execution apparatus defined in any of claims 5 to 9, when the program acquisition unit fails in acquisition of a program which uses the matched communication mode that is determined by the matched communication mode determination unit, the matched communication mode determination unit redetermines a matched communication mode, and the program acquisition unit reacquires a program which uses the communication mode that is redetermined by the matched communication mode determination unit.
According to claim 11 of the present invention, the program acquisition and execution apparatus defined in any of claims 5 to 10 further includes a communication mode determining method indication unit for indicating a method by which the communication mode determination unit determines a matched communication mode, and the communication mode determination unit determines a matched communication mode by the method that is indicated by the communication mode determining method indication unit.
According to claim 12 of the present invention, in the program acquisition and execution apparatus defined in any of claims 5 to 11, the program acquisition unit reacquires only a program for which the communication mode mismatch detection unit detects a mismatch in the communication mode thereof.
According to claim 13 of the present invention, in the program acquisition and execution apparatus defined in any of claims 5 to 11, the program acquisition unit reacquires all programs which are required to be executed by the program execution unit.
According to claim 14 of the present invention, in the program acquisition and execution apparatus defined in any of claims 5 to 13, the program acquisition unit reacquires only a portion of a program, where a mismatch in communication modes which is detected by the communication mode mismatch detection unit exists.
According to claim 15 of the present invention, in the program acquisition and execution apparatus defined in any of claims 1, 4 to 14, the communication mode conversion unit converts a communication mode by executing a conversion program for performing conversion of a communication mode, and the program acquisition unit acquires the conversion program to be executed by the communication mode conversion unit.
According to claim 16 of the present invention, the program acquisition and execution apparatus defined in any of claims 1, 4 to 15 further includes a communication mode conversion method indication unit for indicating a method by which the communication mode conversion unit converts the communication mode, and the communication mode conversion unit converts the communication mode by the method indicated by the communication mode conversion method indication unit.
According to claim 17 of the present invention, the program acquisition and execution apparatus defined in any of claims 1 to 16 further includes a program acquisition method indication unit for indicating a method by which the program acquisition unit acquires programs, and the program acquisition unit acquires the programs by the method indicated by the program acquisition method indication unit.
According to claim 18 of the present invention, in the program acquisition and execution apparatus defined in any of claims 2 to 17, the communication mode mismatch detection unit detects a mismatch in communication modes before the program execution unit starts execution of programs.
According to claim 19 of the present invention, in the program acquisition and execution apparatus defined in any of claims 2 to 17, the communication mode mismatch detection unit successively detects mismatches in communication modes while the program execution unit is executing programs.
According to claim 20 of the present invention, the program acquisition and execution apparatus defined in any of claims 3 to 19 further includes a program storage unit which stores a program to be reacquired by the program acquisition unit or a portion of the program, and the program execution unit executes the program that is reacquired by the program reacquisition unit or a portion of the program, and thereafter, reexecutes the program that is stored in the program storage unit.
According to claim 21 of the present invention, there is provided a program acquisition and execution method for acquiring programs from a program storage apparatus through a communication medium and executing the programs, and the method comprises a program acquisition step of acquiring programs from the program storage apparatus, a program execution step of executing the programs that are acquired in the program acquisition step, and a communication mode conversion step of converting communication modes at performing mutual communication between plural programs being executed by the program execution step.
According to claim 22 of the present invention, there is provided a program acquisition and execution method for acquiring programs from a program storage apparatus through a communication medium, and executing the programs, and the method comprises a program acquisition step of acquiring programs from the program storage apparatus, a program execution step of executing the programs that are acquired in the program acquisition step, and a communication mode mismatch detection step of detecting a mismatch in communication modes when plural programs being executed by the program execution unit communicate with each other.
According to claim 23 of the present invention, there is provided a medium which stores a program for making a computer execute a program acquisition and execution method for acquiring programs from a program storage apparatus through a communication medium and executing the programs, and the program acquisition and execution method comprises a program acquisition step of acquiring programs from the program storage apparatus, a program execution step of executing the programs that are acquired in the program acquisition step, and a communication mode conversion step of converting communication modes at performing mutual communication between plural programs being executed by the program execution step.
According to claim 24 of the present invention, there is provided a medium which stores a program for making a computer execute a program acquisition and execution method for acquiring programs from a program storage apparatus through a communication medium and executing the programs, and the program acquisition and execution method comprises a program acquisition step of acquiring programs from the program storage apparatus, a program execution step of executing the programs that are acquired in the program acquisition step, and a communication mode mismatch detection step of detecting a mismatch in communication modes when plural programs being executed by the program execution unit communicate with each other.
According to claim 25 of the present invention, there is provided a program which makes a computer execute a program acquisition and execution method for acquiring programs from a program storage apparatus through a communication medium and executing the programs, and the program acquisition and execution method comprises a program acquisition step of acquiring programs from the program storage apparatus, a program execution step of executing the programs that are acquired in the program acquisition step, and a communication mode conversion step of converting communication modes at performing mutual communication between plural programs being executed by the program execution step.
According to claim 26 of the present invention, there is provided a program which makes a computer execute a program acquisition and execution method for acquiring programs from a program storage apparatus through a communication medium and executing the programs, and the program acquisition and execution method comprises a program acquisition step of acquiring programs from the program storage apparatus, a program execution step of executing the programs that are acquired in the program acquisition step, and a communication mode mismatch detection step of detecting a mismatch in communication modes when plural programs being executed by the program execution unit communicate with each other.
According to the program acquisition and execution apparatus defined in claim 1, even if there is a mismatch in communication modes that can be used by plural programs when the plural programs are acquired and operated cooperatively, the plural programs can be made to communicate with each other by converting the communication modes for the mutual communication of the plural programs.
According to the program acquisition and execution apparatus defined in claim 2, even if there is a mismatch in communication modes that can be used by plural programs when the plural programs are acquired and operated cooperatively, a necessary measure can be taken by detecting the mismatch.
According to the program acquisition and execution apparatus defined in claim 3, in addition to the effect achieved by the program acquisition and execution apparatus defined in claim 2, the plural programs can be executed in combinations having no mismatch by reacquiring the programs in which the mismatch is detected.
According to the program acquisition and execution apparatus defined in claim 4, in addition to the effect achieved by the program acquisition and execution apparatus defined in claim 2 or 3, the plural programs can be made to communicate with each other by converting the communication modes of the programs in which the mismatch is detected.
According to the program acquisition and execution apparatus defined in claim 5, in addition to the effect achieved by the program acquisition and execution apparatus defined in claim 3 or 4, the plural programs can be made to communicate with each other by reacquiring programs that use a matched communication mode, for the programs in which the mismatch is detected.
According to the program acquisition and execution apparatus defined in claim 6, in addition to the effect achieved by the program acquisition and execution apparatus defined in claim 5, the plural programs can be made to communicate with each other by determining a matched communication mode from among communication modes that can be used by the plural programs, and reacquiring programs that use the matched communication mode.
According to the program acquisition and execution apparatus defined in claim 7, in addition to the effect achieved by the program acquisition and execution apparatus defined in claim 5, the plural programs can be made to communicate each other by determining a matched communication mode from among communication modes which are used by programs that can be reacquired from the program storage unit, and reacquiring programs that use the matched communication mode.
According to the program acquisition and execution apparatus defined in claim 8, in addition to the effect achieved by the program acquisition and execution apparatus defined in any of claims 5 to 7, the plural programs can be made to communicate with each other by using a communication mode that is as new as possible.
According to the program acquisition and execution apparatus defined in claim 9, in addition to the effect achieved by the program acquisition and execution apparatus defined in any of claims 5 to 7, the cost for performing reacquisition to make the plural programs communicate with each other can be reduced as much as possible.
According to the program acquisition and execution apparatus defined in claim 10, in addition to the effect achieved by the program acquisition and execution apparatus defined in any of claims 5 to 9, even when the program acquisition and execution apparatus fails in reacquisition of programs which use a communication mode that is determined as a matched communication mode, the plural programs can be made to communicate with each other by redetermining a matched communication mode, and reacquiring programs that use the redetermined matched communication mode.
According to the program acquisition and execution apparatus defined in claim 11, in addition to the effect achieved by the program acquisition and execution apparatus defined in any of claims 5 to 10, the user can selects a method for determining a matched communication mode, and programs which use the matched communication mode that is determined by the method selected by the user are reacquired, thereby enabling the plural programs to communicate with each other.
According to the program acquisition and execution apparatus defined in claim 12, in addition to the effect achieved by the program acquisition and execution apparatus defined in any of claims 5 to 10, efficient reacquisition of programs can be realized by reacquiring not all the plural programs but only programs in which a mismatch is detected.
According to the program acquisition and execution apparatus defined in claim 13, in addition to the effect achieved by the program acquisition and execution apparatus defined in any of claims 5 to 11, since all the plural programs are reacquired, it is possible to avoid occurrence of further mismatch which may be caused by that only portions of the plural programs are acquired.
According to the program acquisition and execution apparatus defined in claim 14, in addition to the effect achieved by the program acquisition and execution apparatus defined in any of claims 5 to 13, the cost for reacquisition can be minimized by reacquiring only portions of programs where a mismatch in communication modes exists.
According to the program acquisition and execution apparatus defined in claim 15, in addition to the effect achieved by the program acquisition and execution apparatus defined in any of claim 1 and claims 4 to 14, since the communication mode for mutual communication of the plural programs is converted according to a conversion program that is obtained from the program storage apparatus, it is possible to change the conversion method itself for converting the communication mode at performing the mutual communication between the plural programs.
According to the program acquisition and execution apparatus defined in claim 16, in addition to the effect achieved by the program acquisition and execution apparatus defined in any of claim 1 and claims 4 to 15, the user can select a method for converting communication modes, and the communication mode at performing mutual communication between the plural programs is converted according to the method selected by the user, thereby enabling the plural program to communicate with each other.
According to the program acquisition and execution apparatus defined in claim 17, in addition to the effect achieved by the program acquisition and execution apparatus defined in any of claims 1 to 16, the user can select a method for acquiring programs, and programs in which a mismatch is detected is reacquired according to the method selected by the user, thereby enabling the plural programs to communicate with each other.
According to the program acquisition and execution apparatus defined in claim 18, in addition to the effect achieved by the program acquisition and execution apparatus defined in any of claims 2 to 17, since a mismatch in communication modes is detected before program execution is started, reacquisition or reexecution of programs during program execution can be avoided.
According to the program acquisition and execution apparatus defined in claim 19, in addition to the effect achieved by the program acquisition and execution apparatus defined in any of claims 2 to 17, since mismatches in communication modes are successively detected during program execution, delay in execution start due to detection of mismatches before program execution can be avoided.
According to the program acquisition and execution apparatus defined in claim 20, in addition to the effect achieved by the program acquisition and execution apparatus defined in any of claims 3 to 19, since the original programs in which a mismatch is detected are stored and programs that use a matched communication mode are reacquired and executed with respect to the original programs, the original programs can be executed after resolving the mismatch in communication modes.
According to the program acquisition and execution method defined in claim 21, when plural programs are acquired and operated cooperatively, even if there is a mismatch in communication modes that can be used by the plural programs, it is possible to make the plural programs communicate with each other by converting the communication modes at performing the mutual communication between the plural programs.
According to the program acquisition and execution method defined in claim 22, even if there is a mismatch in communication modes that can be used by plural programs when the plural programs are acquired and operated cooperatively, a necessary measure can be taken by detecting the mismatch.
According to the program acquisition and execution program recording medium defined in claim 23, when plural programs are acquired and operated cooperatively, even if there is a mismatch in communication modes that can be used by the plural programs, it is possible to make the plural programs communicate with each other by converting the communication modes at performing the mutual communication between the plural programs.
According to the program acquisition and execution program recording medium defined in claim 24, even if there is a mismatch in communication modes that can be used by plural programs when the plural programs are acquired and operated cooperatively, a necessary measure can be taken by detecting the mismatch.
According to the program acquisition and execution program defined in claim 25, even if there is a mismatch in communication modes that can be used by plural programs when the plural programs are acquired and operated cooperatively, the plural programs can be made to communicate with each other by converting the communication modes at performing the mutual communication between the plural programs.
According to the program acquisition and execution program defined in claim 26, even if there is a mismatch in communication modes that can be used by plural programs when the plural programs are acquired and operated cooperatively, a necessary measure can be taken by detecting the mismatch.
Hereinafter embodiments of the present invention will be described with reference to the drawings.
With reference to
The communication mode conversion unit 203 comprises a communication mode conversion program recorded on a ROM 1003, a CPU 1001, and a RAM 1002 as a work area.
The communication mode conversion unit 203 converts the communication mode when plural programs executed by the program execution unit 102 mutually communicate.
It is assumed that the communication mode includes not only conversion of communication protocol but also conversion of API.
Further, it is assumed that communication between the programs includes calling of functions between the programs, and exchange of data between the programs.
FIGS. 1(b) to 1(d) show hierarchical structures of the program acquisition and execution apparatus.
As shown in
An OS layer L2 such as a realtime OS and a multitask OS is mounted on the hardware layer L1, and an interpreter layer L3 such as a Java™ virtual machine (VM) is mounted on the OS layer L2. An application layer L4 is mounted on the interpreter layer L3. As shown in
For example, the middleware corresponds to a program for communication processing or database management, and it provides a fundamental function that is surely required in a specific field such as communication processing or database management.
The hardware layer L1 is constituted by the whole hardware comprising the CPU 1001, the RAM 1002, the ROM 1003, and the communication interface 1004.
The OS layer L2, the interpreter layer L3, the application layer L4, and the middleware layer L5 comprise a monitor program such as an OS recorded on the ROM 1003, an interpreter such as Java™ virtual machine, an application, and a middleware program, respectively.
A program acquisition unit 101 comprises the monitor program recorded on the ROM 1003, the CPU 1001, and the communication interface 1004 controlled by the CPU 1001.
A program execution unit 102 comprises the monitor program recorded on the ROM 1003, the CPU 1001, and the RAM 1002 to be a work area.
A description will be given of the outline of the operation of the program acquisition and execution apparatus 100 with reference to a flowchart shown in
After processing is started (step S1), the program acquisition unit 101 acquires one or plural programs from one or plural program storage units 150 (step S2).
A communication medium 200 between the program storage unit 150 and the program acquisition and execution apparatus 100 and the program acquisition method have no relations to the claims of the present invention, and therefore, the claims of the present invention are not restricted by the communication medium between the program storage unit 150 and the program acquisition and execution apparatus 100 or the program acquisition method.
For example, specific communication media may include wired media such as a LAN (Local Area Network), a CATV (Cable TV) network, a FTTH (Fiber To The Home) network, and a fixed-line phone communication network, and wireless media such as an infrared communication interface, a Bluetooth™, a mobile communication network, and a satellite communication network.
The program execution unit 102 executes the one or plural programs acquired by the program acquisition unit 101 (step S3).
The communication mode conversion unit 203 converts the communication mode when the plural programs executed by the program execution unit 102 mutually communicate (step S4).
When execution of the one or plural programs performed by the program execution unit 102 is completed, the processing is ended (step S6). Otherwise, step S4 is repeated (step S5).
While in this first embodiment the communication mode conversion unit 203 repeats conversion of the communication mode until all the program executions are completed, the timing of conversion of the communication mode by the communication mode conversion unit 203 is not restricted to that of the first embodiment, and therefore, the claims of the present invention are not restricted by the timing of conversion of the communication mode.
A description will be given of an example of conversion of the communication mode by the communication mode conversion unit 203, with reference to
To be specific, the “Version 2” is obtained by enhancing the function of the “Version 1”, and moreover, it is compatible with the “Version 1”. For example, there are two APIs, “multiply” and “add”, and the “multiply” is newly added to the “Version 2”.
In this case, there are two programs, “Program A” and “Program B”, as programs to be executed by the program execution unit 102. The “Program A” is formed using the API of “Version 2” between the examples of APIs shown in
When the “Program A” using the API of “Version 2” makes an API request “multiply” which exists only in the API of “Version 2”, to the “Program B”, the “Program B” using the API of “Version 1” cannot interpret the API request to execute it.
So, the communication mode conversion unit 203 converts the API request of “multiply” into a combination of API requests “add” which is the API of “Version 1”, and sends the converted API request to the “Program B”. Thereby, communication between the “Program A” and the “Program B” which are formed using the different versions of APIs is realized.
As shown in
In this way, the conversion execution part in the communication mode conversion unit 203 can be implemented by describing it as a conversion program for an API to be converted using the API conversion table. However, the claims of the present invention are not restricted by the conversion execution method.
While in this example an expression similar to C language is adopted as an expression method for the contents of the API request, the expression method for the contents of the API request is not restricted to the expression of this example, and the claims of the present invention are not restricted by the API request expression method.
Further, while in this first embodiment programs having different versions of APIs, i.e., old and new versions of APIs, communicate with each other, the present invention can resolve not only a mismatch in API versions between plural programs but also a general mismatch in communication modes between plural programs.
To be specific, in the present invention, when plural programs are acquired and operated cooperatively, even if there is a mismatch in communication modes between the programs, the program acquisition and execution apparatus according to the present invention can utilize the other program without the necessity of preparing a different code for each type of communication mode that can be used by the other program to be utilized.
The API conversion shown in
That is, as shown in FIGS. 1(f) and 1(g), version numbers PVN are obtained from headers PHD of program files PF which perform communication with each other (step S101), and the version numbers are compared to check whether the version numbers match or not (step S102), and then it is determined as to whether an API that is not prepared for the lower version API should be called or not (step S103). When the API should be called, the higher version API is converted into the lower version API (step S104).
When there are plural programs which are downloaded as described above, and these programs calls APIs each other through inter-program communication, the above-mentioned conversion of communication mode is carried out if the versions of the APIs are different from each other.
Thereby, the programs which originally cannot perform mutual communication and therefore cannot perform cooperation or data exchange between them can perform mutual communication even when the programs have different versions of APIs. Therefore, it is not necessary to prepare a lower-version API, thereby preventing the programs from being complicated and from increasing in their sizes.
Further, also in this case, communication between programs may be realized by converting communication protocols when the programs have different communication protocols.
Furthermore, the first embodiment of the present invention is also applicable to automatic updation of programs not only in a computer and household electrical appliances corresponding to domestic network such as HAVi but also in internet-connectable household electrical appliances, appliances that are connectable to cable and radio communication network such as handy phones, and appliances that are connectable to broadcast networks such as television receivers and radio receivers.
The mobile phone 100c includes a signal processing unit 1102 for performing various kinds of signal processings, and a radio communication unit 1103 for outputting a radio signal N that is received as a reception signal by an antenna 1101, to the signal processing unit 1102, and transmitting a transmission signal generated by the signal processing unit 1102 as a radio signal N from the antenna 1101.
Further, the mobile phone 100c includes a display unit 1106 such as a liquid crystal panel (LCD) for performing image display, a microphone 108 for receiving sound, a speaker 1107 for reproducing an audio signal, a display control unit 1104 for receiving a video image signal processed by the signal processing unit 1102 and controlling the display unit 1106 so as to perform image display on the basis of the video signal, and an audio I/O unit 1105 for outputting the audio signal supplied from the microphone 1108 to the signal processing unit 1102, and outputting the audio signal processed by the signal processing unit 1112 to the speaker 1107.
Further, the mobile phone 100c includes a mail processing unit 113 which enables exchange of e-mails with other Internet-connectable mobile phones and personal computers according to mail addresses inputted by using a keyboard 1110 or the like, and therefore, the mobile phone 100c can transmit and receive e-mails including messages that are entered from the keyboard 1110 or image files that are taken by a camera 1111 at need as attached files. This is realized by a control unit 1109 which controls the respective units such that e-mail data generated by the mail processing unit 1113 are sent as electric wave by the radio communication unit 1103, and the e-mail data received by the radio communication unit 1103 are displayed under control of the display control unit 1104 to display the e-mail messages and the attached images on the display 1106.
A Web browsing unit 1112 requests data of a Web page (home page) specified by an URL (Uniform Resource Locator) entered from the keyboard 1110 or the like to a Web server (not shown) through the radio communication unit 1103. The Web server returns the data of the requested Web page. The Web browsing unit 1112 interprets the Web page data returned from the Web server, and the control unit 1109 controls the respective units so that the Web page is displayed on the display unit 1106 by the display control unit 1104, thereby realizing browsing of the Web page.
Further a ROM 1115 contains various kinds of applications such as games and calculators, and the control unit 1109 executes the applications according to operation of the keyboard 1110 or the like. A RAM 1114 is used as a work area or the like when the control unit 1109 executes various kinds of software.
As described above, the Internet-connectable mobile phone 100c implements the various functions thereof by software of the control unit 1109 corresponding to a CPU. However, since the software is fixed to the ROM, if bugs are discovered after shipping, there may occur cases where real machines should be called back for replacement.
So, in order to handle such bugs at low cost, a program in which the bugs are fixed (hereinafter referred to as an updation program) may be sent to the mobile phone to perform manual or automatic updation at the mobile phone end. The updation program has a version number higher than that of the software which is stored in the mobile phone at shipping.
The mobile phone 100c and an updation program server 150c are connected through a communication network 200c comprising a base station 2001 and the Internet 2002.
First of all, as shown in
When an updation program is prepared, the updation program server 150c updates a database in which the updation program is stored, on the basis of the updation information of the maker (step S202). Thereafter, the updation program server 150c concurrently notifies the mobile phones of the corresponding maker and model that there has been program updation (step S203).
Next, as shown in
When the user enters that he/she desires the updation by keyboard operation or the like, the mobile phone 100c obtains a list of updated programs from the updation program server (step S213), and displays the list of updated programs on the display unit as shown in
The user refers to the updation program list displayed on the display unit, and specifies a program to be updated from the list by keyboard operation or the like (step s215).
When the user has specified all the programs for which the user desires updation by repeating the above-mentioned operation (step S216), the mobile phone 100c transmits a list indicating the name of the maker, the name of the model, and the names of the programs desired to be updated, to the updation program server (step S217).
Next, as shown in
Next, as shown in
As described above, the mobile phone 100c transmits a command instructing program updation to the base station 2001, and the base station 2001 transmits this command to the updation program server 150c through the Internet 2002. The updation program server 150c searches for programs that are used by the mobile phone 100c and require updation, on the basis of the received command from the mobile phone 100c. The targets of this searching include OS, interpreter, middleware, and application.
Then, the updation program server 150c searches for the programs desired to be updated, and transmits the searched updation programs to the Internet 2002 through the base station 2001, and the base station 2001 returns the updation programs to the mobile phone 100c by radio wave.
Then, the mobile phone 100c overwrites the ROM 1115 with the returned updation programs, and restarting is carried out at need, whereby the updated programs can be executed.
However, even though bugs in each program can be resolved by this type of updation, since the plural programs operate in cooperation with each other, communication between the programs sometimes cannot be carried out due to differences in API versions or communication protocols.
So, an API that is not included in an API of lower version is converted into the lower version API, or the protocol is converted, whereby inter-program cooperation can be achieved when plural programs are simultaneously operated. In the case of the mobile phone 100c, the communication mode conversion unit 203 is composed of a program stored in the ROM 115, the control unit 1109, and the RAM 1114 as a work area.
As described above, according to the program acquisition and execution apparatus of the first embodiment, when the program execution unit 102 acquires plural programs and makes the programs operate cooperatively, even if there is a mismatch in communication modes that can be used by the plural programs, since the communication mode conversion unit 203 converts the communication modes at performing mutual communication between the plural programs, it is possible to make the plural programs perform mutual communication.
In
The communication mode mismatch detection unit 304 comprises a communication mode mismatch detection program that is recorded in a ROM 1003, a CPU 1001, and a RAM 1002 as a work area.
The communication mode mismatch detection unit 304 detects a mismatch in communication modes when plural programs being executed by the program execution unit 102 communicate with each other.
The outline of operation of the program acquisition and execution apparatus 100 will be described with reference to a flowchart shown in
After step S13 is ended, the communication mode mismatch detection unit 304 automatically detects a mismatch in communication modes when plural programs being executed by the program execution unit 102 communicate with each other (step S14).
A detection unit for detecting a mismatch in communication modes, which is included in the communication mode mismatch detection unit 304, is implemented as follows. That is, a communication mode identifier CID indicating information that can specify a communication mode, such as a title of communication protocol (e.g., TCP/IP (Transmission Control Protocol/Internet Protocol) or an OSI (Open Systems Interconnection)), is embedded in a specific position (e.g., a portion of a program header PHD or a first byte of a data header DHD) in a program file PF that contains programs to be executed by the program execution unit 102 as shown in
When a mismatch in communication modes is detected in step S14, a necessary measure such as informing to the user is carried out (step S16). For example, the mobile phone displays, on the display unit, a message informing that a mismatch occurs. When there is no mismatch detected, the processing goes to step S17 (step S15).
When execution of one or plural programs by the program execution unit 102 is completed, the processing is completed (step S18). Otherwise, steps S14˜S17 are repeated (step S17).
As described above, according to the second embodiment, when the program execution unit 102 obtains plural programs and makes the programs operate cooperatively, even if there is a mismatch in communication modes that can be used by the plural programs, since the communication mode mismatch detection unit 304 detects this mismatch, it is possible to take a necessary measure such as notification to the user.
In this second embodiment, the communication mode mismatch detection unit 304 repeatedly performs detection of mismatch in communication modes until all the programs are executed. However, the timing of detecting a mismatch in communication modes by the communication mode mismatch detection unit 304 is not restricted to the above-mentioned example, and the claims of the present invention are not restricted to the communication mode mismatch detection timing of the communication mode mismatch detection unit 304.
In
However, in contrast to the construction shown in
The outline of the operation of the program acquisition and execution apparatus 100 will be described with reference to a flowchart of
With reference to
After completion of step S24, when a mismatch in communication modes is detected in step S24 (step S26), the program acquisition unit 101 reacquires a program and restarts the processing from step S23 (the program execution unit 102 restarts the program). Otherwise, the processing goes to step S27 (step S25).
When execution of one or plural programs by the program execution unit 102 is completed, the processing is ended (step S28). Otherwise, steps S24˜S27 are repeated (step S27).
When the mismatch detected in step S25 is a mismatch in APIs, step S26 can be constructed as shown in
That is, when a mismatch is detected, it is checked whether the API version of one program is higher than the API version of the other program (step S261). When the API version of the one program is higher than that of the other program, an updated version of the other program is obtained (step S262).
At this time, it is checked whether the updated version can be obtained or not (step S263), and the processing immediately goes to step S23 when the updated version is obtained. When the updated version cannot be obtained because it is not prepared, a lower version of the one program is obtained so as to match the version of the one program to the version of the other program (step S264), and then the processing goes to step S23.
Further, when the API version of one program is lower than the API version of the other program, operations reverse to those mentioned above are carried out in step S265˜S267. That is, an updated version of the one program is obtained (step S265). At this time, it is checked whether the updated version can be obtained or not (step S266), and the processing immediately goes to step S23 when the updated version is obtained. When the updated version cannot be obtained because it is not prepared, a lower version of the other program is obtained so as to match the version of the other program to the version of the one program (step S267), and the processing goes to step S23.
As described above, according to the third embodiment, in addition to the effects achieved by the program acquisition and execution apparatus according to the second embodiment, since the program acquisition unit 101 reacquires the program in which a mismatch is detected, the program execution unit 102 can execute the plural programs in combinations having no mismatch.
In this third embodiment, when the communication mode mismatch detection unit 304 detects a mismatch in communication modes, the program acquisition unit 101 reacquires the programs, and the program execution unit 102 reexecutes the programs. However, the timing of detecting a mismatch in communication modes by the communication mode mismatch detection unit 304, the timing of reacquiring the programs by the program acquisition unit 101, and the timing of reexecuting the programs by the program execution unit 102 are not restricted to those mentioned above, and therefore, the claims of the present invention are not restricted to the timing of detecting a mismatch in communication modes by the communication mode mismatch detection unit 304, the timing of reacquiring the programs by the program acquisition unit 101, and the timing of reexecuting the programs by the program execution unit 102.
In
The communication mode conversion unit 203 converts communication modes when plural programs being executed by the program execution unit 102 communicate with each other.
The outline of the operation of the program acquisition and execution apparatus 100 will be described with reference to a flowchart of
In
When a mismatch in communication modes is detected in step S34, after completion of step S34, the communication mode conversion unit 203 converters, with respect to the communication in which the mismatch is detected, the communication mode at performing mutual communication between the plural programs being executed by the program execution unit 102 (step S36). Otherwise, the processing goes to step S40 (step S35).
The communication mode mismatch detection unit 304 detects a mismatch in communication modes when plural programs being executed by the program execution unit 102 communicate with each other, in like manner as described for step S34 (step S37). Thereby, it is possible to detect the case where a mismatch actually occurs in communication even when the communication mode has been converted and thereby mutual communication should be realized.
After completion of step S37, when a mismatch in communication modes is again detected in step S38, the processing goes to step S39. Otherwise, the processing goes to step S40 (step S38).
When the processing goes to step S39, the program acquisition unit 101 reacquires the programs, and restarts the processing from step S33 (the program execution unit 102 again executes the programs) (step S39).
When the processing goes to step S40, after all the one or plural programs being executed by the program execution unit 102 are completed, the processing is ended (step S41). Otherwise, steps S34˜S40 are repeated (step S40).
Accordingly, in such a case that an initially acquired program is an interim version and thereafter a formal version is released, the interim version program might have a mismatch when it communicates with another program even if the communication mode of the interim version is converted by the communication mode conversion unit 203. In this case, by performing the above-mentioned processing to reacquire the formal-version program, the mismatch in the communication modes with another program can be resolved.
As described above, according to the fourth embodiment of the present invention, in addition to the effects achieved by the program acquisition and execution apparatus according to the second and third embodiments, since the communication mode conversion unit 203 converts the communication modes at performing mutual communication between the plural programs, it is possible to make the plural programs perform communication with each other.
In this fourth embodiment, when the communication mode mismatch detection unit 304 detects a mismatch in communication modes, initially the communication mode conversion unit 203 converts the communication mode for the communication in which the mismatch is detected, and thereafter, the communication mode mismatch detection unit 304 again performs detection of a mismatch in communication modes. When a mismatch in communication modes is again detected, the program acquisition unit 101 reacquires the program, and the program execution unit 102 again executes the program.
However, the timing of detecting a mismatch in communication modes by the communication mode mismatch detection unit 304, the timing of converting the communication mode by the communication mode conversion unit 203, the timing of reacquiring the program by the program acquisition unit 101, and the timing of reexecuting the program by the program execution unit 102 are not restricted to those mentioned above, and therefore, the claims of the present invention are not restricted by the timing of detecting a mismatch in communication modes by the communication mode mismatch detection unit 304, the timing of converting the communication mode by the communication mode conversion unit 203, the timing of reacquiring the program by the program acquisition unit 101, and the timing of reexecuting the program by the program execution unit 102.
In
The matched communication mode determination unit 605 comprises a matched communication mode determination program that is recorded on a ROM 1003, a CPU 1001, and a RAM 1002 as a work area thereof.
The matched communication mode determination unit 605 determines a matched communication mode to be used by a program that is reacquired by the program acquisition unit 101.
The program acquisition unit 101 reacquires a program that uses the communication mode determined by the matched communication mode determination unit 605.
The outline of the operation of the program acquisition and execution apparatus 100 will be described with reference to a flowchart shown in
When a mismatch in communication modes is again detected in step S57, the processing goes to step S59 after completion of step S57. Otherwise, the processing goes to step S61 (step S58).
When the processing goes to step S59, the matched communication mode determination unit 605 determines a matched communication mode to be used by a program that is reacquired by the program acquisition unit 101 (step S59).
For example, as shown in the flowchart of
For example, an upper compatible communication mode can be detected by searching a table as shown in
Thereby, if a communication protocol that is used when a mismatch is detected is TCP/IP, OSI that is an upper compatible protocol of the TCP/IP is determined as a matched communication protocol.
The matched communication mode determination unit 605 informs programs using the determined communication mode to the program storage unit 150 through the communication medium 201, and the program acquisition and execution apparatus 100 reacquires the programs transmitted from the program storage unit 150 through the communication medium 200 to again perform the processing from step S53 (i.e., the program execution unit 102 reexecutes the programs) (step S60).
When the processing goes to step S61, when execution of one or plural programs which are executed by the program execution unit 102 is completed, the processing is ended (step S62). Otherwise, steps from S54 to S61 are repeated (step S61).
As described above, according to the construction of the fifth embodiment, in addition to the effects achieved by the program acquisition and execution apparatuses according to the third and fourth embodiments, since a program using a matched communication mode is reacquired for the program in which a mismatch is detected, thereby enabling plural programs being executed by the program execution unit 102 to communicate with each other.
In this fifth embodiment, when the communication mode mismatch detection unit 304 detects a mismatch in communication modes, initially the communication mode conversion unit 203 converts the communication mode for the communication in which the mismatch is detected, and then the communication mode mismatch detection unit 304 again performs detection of a mismatch in communication modes. When a mismatch in communication modes is again detected, the matched communication mode determination unit 605 determines a matched communication mode, and the program acquisition unit 101 reacquires a program, and then the program execution unit 102 reexecutes the program using the determined communication mode.
However, the timing of detecting a mismatch in communication modes by the communication mode mismatch detection unit 304, the timing of converting the communication mode by the communication mode conversion unit 203, the timing of determining a communication mode by the matched communication mode determination unit 605, the timing of reacquiring a program by the program acquisition unit 101, and the timing of reexecuting the program by the program execution unit 102 are not restricted to those mentioned above, and therefore, the claims of the present invention are not restricted by the timing of detecting a mismatch in communication modes by the communication mode mismatch detection unit 304, the timing of converting the communication mode by the communication mode conversion unit 203, the timing of determining a communication mode by the matched communication mode determination unit 605, the timing of reacquiring a program by the program acquisition unit 101, and the timing of reexecuting the program by the program execution unit 102.
The construction of a program acquisition and execution apparatus according to a sixth embodiment of the present invention is identical to that of the program acquisition and execution apparatus according to the fifth embodiment, and it is shown in
In
In
For example, as shown in
As described above, according to the construction of the sixth embodiment, in addition to the effects achieved by the program acquisition and execution apparatus according to the fifth embodiment, a matched communication mode is determined from among the communication modes that can be used by the plural programs being executed by the program execution unit 102, and a program that uses the matched communication mode is reacquired, thereby enabling the plural programs to perform communication with each other.
The construction of a program acquisition and execution apparatus according to a seventh embodiment of the present invention is identical to that of the program acquisition and execution apparatus according to the fifth embodiment, and it is shown in
In
In
For example, as shown in
Since a matched communication mode is determined from among the programs which have been prepared as programs that can be replaced by reacquisition, it is possible to avoid that a program which uses the communication mode determined as a matched communication mode does not exist in the program storage unit 150 and thereby the matched communication mode is wasted.
As described above, according to the construction of the seventh embodiment, in addition to the effects achieved by the program acquisition and execution apparatus according to the fifth embodiment, a matched communication mode is determined from among the communication modes which are used by the programs that can be reacquired from the program storage unit 150, and a program that uses the matched communication mode is reacquired, thereby enabling the plural programs being executed by the program execution unit 102 to communicate with each other.
The construction of a program acquisition and execution apparatus according to an eighth embodiment of the present invention is identical to that of the program acquisition and execution apparatus according to any of the fifth to seventh embodiments, and it is shown in
In
In
For example, as shown in
As described above, according to the construction of the eighth embodiment, in addition to the effects achieved by the program acquisition and execution apparatuses according to the fifth to seventh embodiments, it is possible to make the plural programs executed by the program execution unit 102 perform mutual communication by using as new communication mode as possible.
The construction of a program acquisition and execution apparatus according to a ninth embodiment of the present invention is identical to those of the program acquisition and execution apparatuses according to the fifth to seventh embodiments, and it is shown in
In
In
For example, as shown in
As described above, according to the construction of the ninth embodiment, in addition to the effects achieved by the fifth to seventh embodiments of the present invention, it is possible to minimize the cost required when performing reacquisition for making the plural programs executed by the program execution unit 102 communicate with each other.
The construction of a program acquisition and execution apparatus according to a tenth embodiment of the present invention is identical to those of the program acquisition and execution apparatuses according to the fifth to ninth embodiments, and it is shown in
In
In
As shown in
Notification of this failure in reacquisition is performed as follows. For example, the program storage unit 150 detects its database according to a request from the program acquisition unit 101, and when the program storage unit 150 cannot detect the corresponding program, it sets a flag indicating that effect.
As described above, according to the construction of the tenth embodiment, in addition to the effects achieved by the program acquisition and execution apparatuses according to the fifth to ninth embodiments, even when the program acquisition unit 101 fails in reacquisition of a program which uses a communication mode determined as a matched communication mode, since a matched communication mode is redetermined and then a program that uses the redetermined matched communication mode is reacquired, it is possible to make the plural programs being executed by the program execution unit 102 communicate with each other.
In
Using the communication mode determining method indication unit 1406, the user specifies a method by which the communication mode determination unit 605 determines a matched communication mode.
The matched communication mode determination unit 605 determines a matched communication mode by the method specified by the communication mode determining method indication unit 1406.
As shown in
For example, the method for determining a matched communication mode, which is specified by the user, may determine a communication mode according to any of the methods described for the eighth to tenth embodiments, or another desired rule.
As described above, according to the construction of the eleventh embodiment, in addition to the effects achieved by the program acquisition and execution apparatuses according to the fifth to tenth embodiments, the user can select a method for determining a matched communication mode, and a program which uses a matched communication mode that is determined by the method selected by the user is reacquired, thereby enabling the plural programs executed by the program execution unit 102 to communicate with each other.
The construction of a program acquisition and execution apparatus according to a twelfth embodiment of the present invention is identical to that of the program acquisition and execution apparatus according to the eleventh embodiment, and it is shown in
In
As shown in
As described above, according to the construction of the twelfth embodiment, in addition to the effects achieved by the program acquisition and execution apparatuses according to the fifth to eleventh embodiments, since the program acquisition unit 101 reacquires not all of the plural programs executed by the program execution unit 102 but only a program in which a mismatch is detected, efficient reacquisition of program is realized.
The construction of a program acquisition and execution apparatus according to a thirteenth embodiment of the present invention is identical to those of the program acquisition and execution apparatuses according to the eleventh and twelfth embodiments, and it is shown in
In
As shown in
As described above, according to the construction of the thirteenth embodiment, in addition to the effects achieved by the program acquisition and execution apparatuses according to the fifth to eleventh embodiments, since the program acquisition unit 101 reacquires all the plural programs executed by the program execution unit 102, it is possible to avoid an occurrence of further mismatch which is caused by that only part of the plural programs is acquired.
The construction of a program acquisition and execution apparatus according to a fourteenth embodiment of the present invention is identical to those of the program acquisition and execution apparatuses according to the eleventh to thirteenth embodiments, and it is shown in
In
More specifically, as shown in
The acquisition of only a portion where a communication mode mismatch exists is realized by, for example, previously forming programs in module units, and reacquiring only a module relating to communication by referring to information in a module header.
As described above, according to the construction of the fourteenth embodiment, in addition to the effects achieved by the program acquisition and execution apparatuses according to the fifth to thirteenth embodiments, since only a portion of a program wherein a communication mode mismatch exists is reacquired, the cost required for reacquisition can be further minimized.
The construction of a program acquisition and execution apparatus according to a fifteenth embodiment of the present invention is identical to those of the program acquisition and execution apparatuses according to the eleventh to fourteenth embodiments, and it is shown in
In
To be specific, as shown in
As described above, according to the construction of the fifteenth embodiment, in addition to the effects achieved by the program acquisition and execution apparatuses according to the first embodiment or the fourth to fourteenth embodiments, since the communication mode at performing mutual communication between the plural programs being executed by the program execution unit 102 is converted according to the conversion program obtained from the program storage unit 150, it is possible to change the conversion method itself for converting the communication mode when the plural programs communicate with each other.
In
To be specific, as shown in
As described above, according to the construction of the sixteenth embodiment, in addition to the effects achieved by the program acquisition and execution apparatuses according to the first embodiment or the fourth to fifteenth embodiments, the user can select a method for converting the communication mode, and the communication mode conversion unit 203 converts the communication mode at performing mutual communication between the plural programs being executed by the program execution unit 102, according to the method selected by the user, thereby enabling the plural programs to communicate with each other.
In
The program acquisition method indication unit 1608 indicates a method by which the program acquisition unit 101 acquires a program.
The program acquisition unit 101 acquires a program according to the method indicated by the program acquisition method indication unit 1608.
To be specific, as shown in
As described above, according to the construction of the seventeenth embodiment, in addition to the effects achieved by the program acquisition and execution apparatuses according to the first embodiment or the fourth to sixteenth embodiments, the user can select a method for acquiring a program, and the program acquisition unit 101 reacquires a program in which a mismatch is detected, according to the method selected by the user, thereby enabling the plural programs executed by the program execution unit 102 to communicate with each other.
The construction of a program acquisition and execution apparatus according to an eighteenth embodiment of the present invention is identical to the construction of the program acquisition and execution apparatus according to the seventeenth embodiment, and it is shown in
In
To be specific, as shown in
As described above, according to the construction of the eighteenth embodiment, in addition to the effects achieved by the program acquisition and execution apparatuses according to the second to seventeenth embodiments, since mismatches in communication modes are detected before execution of program is started and then execution of program is started after all of the detected mismatches are resolved, it is possible to avoid reacquisition or reexecution of a program during execution of the program.
The construction of a program acquisition and execution apparatus according to a nineteenth embodiment of the present invention is identical to the constructions of the program acquisition and execution apparatuses according to the seventeenth and eighteenth embodiments, and it is shown in
To be specific, as shown in
As described above, according to the construction of the nineteenth embodiment, in addition to the effects achieved by the program acquisition and execution apparatuses according to the second to seventeenth embodiments, a mismatch in communication modes is successively detected every time a program is executed line by line or portion by portion during execution of the program, and the detected mismatch is successively resolved, thereby avoiding a delay in execution start due to detection of mismatches before program execution.
In
The program storage unit 1709 stores a program that is a target program to be reacquired by the program acquisition unit 101, or a portion of the program.
The program execution unit 102 executes the program that is reacquired by the program reacquisition unit 101 or a portion of the program, and thereafter, executes a program stored in the program storage unit 1709.
This processing is realized by the flowchart shown in
As described above, according to the construction of the twentieth embodiment, in addition to the effects achieved by the program acquisition and execution apparatuses according to the third to nineteenth embodiments of the invention, a program using a matched communication mode is reacquired and executed while the corresponding original program in which a mismatch is detected is stored, that is, the mismatch is resolved by reacquiring the program and the temporarily replaced program is returned to the original program after a portion where a mismatch occurs in the original program is executed safely, whereby the original program can be executed after the mismatch in the communication modes is resolved.
While in this twentieth embodiment reacquisition of program is performed to resolve a mismatch portion, resolving of mismatch may be performed by conversion of the program.
Further, while in the respective embodiments mentioned above an embedded computer having only a RAM as a rewritable storage device is described, the present invention is also applicable to computers having various kinds of rewritable file devices such as a magnetic disk drive, an optical disc drive, and a magnet-optical disk drive as a rewritable storage device.
Further, while in the respective embodiments the program acquisition and execution apparatus includes only a ROM as a nonvolatile memory device, it may includes a non-rewritable file device such as a CD-ROM or a DVD-ROM.
When such rewritable file device or non-rewritable file device is used, a monitor program such as an OS, an interpreter such as a Java™ virtual machine, a middleware, and an application program, which have been stored in the ROM, may be stored in the file unit.
Further, while updation of programs of a mobile phone is described as a variation of the present invention, the present invention is also applicable to updation of programs of the above-mentioned embedded computer, domestic network-enabled devices including HAVi, Internet-connectable domestic devices, devices connectable to wired or wireless communication networks including mobile phones, devices connectable to broadcast networks including television receivers and radio receivers, and personal computers.
Further, as for updation of programs of a mobile phone, while plural makers that manufacture mobile phones of the same telecommunication carrier cooperatively operate a system for updation, the respective makers may operate their own systems for updation. In this case, it is not necessary to include information of the maker name in the updation wish list. Further, while a mobile phone having such as Internet-connectable i Mode™ is described, the system for updation may be operated using communication media other than the Internet, such as distribution of programs through public telecommunication network itself. Furthermore, while both the communication medium 200 and the communication medium 201 are used, a single communication medium may be shared by time-division or the like.
Furthermore, while the mobile phone is provided with the communication mode conversion unit 203, it may be provided with a communication mode mismatch detection unit 304 or a matched communication mode determination unit 605. In this case, the communication mode mismatch detection unit 304 or the matched communication mode determination unit 605 may comprise programs stored in a ROM 1115, a control unit 1109, and a RAM 1114 as a work area.
While in the respective embodiments the program acquisition and execution apparatuses are described, the present invention may be implemented as a program acquisition and execution method. In this case, the program acquisition unit, the program execution unit, the communication mode conversion unit, the communication mode mismatch detection unit, and the matched communication mode determination unit may be implemented as processes corresponding to the functions of the respective units, i.e., a program acquisition process, a program execution process, a communication mode conversion process, a communication mode mismatch detection process, and a matched communication mode determination process.
Furthermore, the program acquisition and execution method including these processes may be implemented as a program acquisition and execution program, and this program acquisition and execution program may be recorded on a storage medium to implement a program acquisition and execution program storage medium.
Furthermore, while TCP/IP and OSI are adopted as examples of communication protocols, available communication protocols are not restricted thereto.
A program acquisition and execution apparatus according to the present invention is characterized by that, when plural programs are acquired (downloaded or uploaded) from a program storage device through a communication medium such as a network or a radio communication device to execute the programs, even if there is a mismatch in communication modes between the plural programs, another program can be utilized, and therefore, the program acquisition and execution apparatus has a very wide range of applications, as a method for resolving version mismatch and protocol mismatch between downloadable or uploadable programs. Although there is no particular restriction on applications, the program acquisition and execution apparatus is applicable to updation of software embedded in home electric appliances through networks or radio communication devices and to downloading of applications to Internet browsers.
Number | Date | Country | Kind |
---|---|---|---|
2004-358825 | Dec 2004 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP05/12083 | 6/30/2005 | WO | 7/2/2007 |