WO2006061921A1 - プログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラム - Google Patents

プログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラム Download PDF

Info

Publication number
WO2006061921A1
WO2006061921A1 PCT/JP2005/012083 JP2005012083W WO2006061921A1 WO 2006061921 A1 WO2006061921 A1 WO 2006061921A1 JP 2005012083 W JP2005012083 W JP 2005012083W WO 2006061921 A1 WO2006061921 A1 WO 2006061921A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
execution
communication method
acquisition
unit
Prior art date
Application number
PCT/JP2005/012083
Other languages
English (en)
French (fr)
Inventor
Satoru Hayama
Hisaki Furuyama
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to US11/792,779 priority Critical patent/US20080034362A1/en
Publication of WO2006061921A1 publication Critical patent/WO2006061921A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Definitions

  • Program acquisition execution device Program acquisition execution method, program acquisition execution program recording medium, and program acquisition execution program
  • the present invention relates to a program acquisition and execution apparatus, a program acquisition and execution method, a program acquisition and execution program recording medium, and a program acquisition and execution program, and in particular, a program via a communication medium such as a network or a wireless device.
  • Storage device capacity This relates to improvements in what is acquired and executed by downloading and uploading programs.
  • API corresponds to the rules of functions such as libraries prepared by the operating system (OS) and programming language processing system (compiler, etc.) that can also use application program power, and file control It is often provided as a contract that defines instructions and functions having functions for window control, image processing, character control, etc., or program procedures for using them.
  • APIs are also a way to further abstract the relationship between low-level hardware-oriented software and high-level human-oriented software.
  • One of the purposes of the API is to provide commonly used functions (functions) such as operating windows and drawing icons. Using these functions, programmers do not have to code file control functions, window control functions, etc. each time.
  • FIG. 18 (a) shows a conventional program acquisition and execution apparatus described in Non-Patent Document 1.
  • the program acquisition and execution apparatus 100 includes a program acquisition unit 101 and a program execution unit 102.
  • the program storage device 150 stores a program that the program acquisition and execution device 100 acquires and executes.
  • the program acquisition unit 101 acquires one or more programs from one or more program storage devices 150 via a communication medium 200 such as a communication path.
  • the program execution unit 102 executes one or a plurality of programs acquired by the program acquisition unit 101.
  • the program acquired by the program acquisition unit 101 is created in accordance with a predetermined API, and the program execution unit 102 is also configured to execute a program in accordance with the same API. Yes. For this reason, the program acquired by the program acquisition unit 101 can be executed by the program execution unit 102.
  • FIG. 18 (b) is a block diagram showing an example of a specific configuration of this conventional program acquisition and execution apparatus.
  • a computer 100a as a program acquisition and execution device has a CPU 1001, a RAM 1002, a ROM 1003, and a communication interface 1004, which are connected to each other via a bus 1005.
  • the computer 100a and the file server 150a as a program storage device are connected to each other via 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 specified by this command, and sends the searched program to the computer 100a.
  • the communication interface 1004 of the computer 100a receives this program and stores it in the RAM 1002 as a work area.
  • the CPU 1001 executes the program acquired from the file server under the control of a monitor program such as an OS (Operating System) recorded in the ROM 1003.
  • a monitor program such as an OS (Operating System) recorded in the ROM 1003.
  • a portion including the CPU 1001, the ROM 1003, and the communication interface 1004 corresponds to the program acquisition unit 101 in FIG. CPUIOOI, RAM1002, RO
  • the part composed of M1003 corresponds to the program execution unit 102.
  • Non-Patent Document 1 a conventional program acquisition / execution device using the above-mentioned technology is new in that the old version API is included in the new version API! Arranged to specify John's API. For this reason, even if the version of the API of the program acquired by the program acquisition unit 101 is older than the version to which the program execution unit 102 conforms, it can be executed without any problem.
  • Non-Patent Document 1 if a single program is used, it is possible to realize upward compatibility of API versions by using the technique disclosed in Non-Patent Document 1.
  • FIG. 19 shows a specific system configuration for obtaining and executing such a program.
  • HAVi home audio / video interoperability
  • This conventional example shows a state in which a TV receiver 100b as a program acquisition and execution device and a VTR 150b as a program storage device are connected to each other via an IEEE1394 cable 200b as a communication medium. .
  • the TV receiver 100b and the VTR 150b operate in cooperation with each other, and the video source reproduced by the VTR 150b is displayed on the TV receiver 100b.
  • a control program for the TV receiver 100b is prepared for each model in advance on the VTR 150b side, and the TV receiver 100b and the VTR 150b are connected via the IEEE1394 cable 200b. When they are connected, they exchange information with each other, and download a program corresponding to the type of TV receiver 100b as well as the side force of the VTR150b.
  • the TV receiver 100b executes the control program most suitable for the corresponding model and executes the VTR1 It is possible to cooperate with 50b.
  • Non-Patent Document 1 "The HAVi Specification Version 1.1", [Online], May 15, 2001, HAVi Inc., [Search September 27, 2004], Internet http: ⁇ www. Havi. org / memberarea / docs / 051501 Documents / release— May 15— HAVi 1.1 (clean). pdf> Invention Disclosure
  • Non-Patent Document 1 if the program execution unit 102 conforms to a new version, a program conforming to the new version of API, You can run both programs that conform to the version of the API.
  • the API of the partner to be used conforms to a new API, and whether it is a version, an old version, or a version can be divided only when the program is executed.
  • the present invention was made to solve the above-described conventional problems.
  • Program acquisition and execution device that can use the partner's program without preparing a separate code for each version of the partner's program to be used, and can use a program that conforms to the new version of the program that conforms to the old version.
  • An object is to provide a program acquisition execution method, a program acquisition execution program recording medium, and a program acquisition execution program.
  • the present invention is not limited to merely resolving API version inconsistencies between a plurality of programs as described above, and also performs program acquisition execution that solves general inconsistencies in communication methods between a plurality of programs.
  • An object is to provide a device, a program acquisition execution method, a program acquisition execution program recording medium, and a program acquisition execution program.
  • the communication method that can be used by the other party's program is used.
  • the object is to provide a program acquisition / execution device, a program acquisition / execution method, a program acquisition / execution program recording medium, and a program acquisition / execution program that can use the other party's program without preparing a separate code for each type.
  • a program acquisition and execution apparatus is a program acquisition and execution apparatus that acquires and executes a program storage device capability program via a communication medium.
  • a program storage unit that acquires a program, a program execution unit that executes a program acquired by the program acquisition unit, and a communication when a plurality of programs executed by the program execution unit communicate with each other
  • a communication system conversion unit for converting the system is provided.
  • a program acquisition and execution apparatus is a program acquisition and execution apparatus that acquires and executes a program storage device capability through a communication medium, and acquires the program storage device capability program.
  • Communication method mismatch for detecting a mismatch in a communication method when a program acquisition unit, a program execution unit for executing a program acquired by the program acquisition unit, and a plurality of programs executed by the program execution unit communicate with each other And a detector.
  • the program acquisition / execution device is the program acquisition / execution device according to claim 2, wherein the communication method mismatch detection unit detects the mismatch of the communication method.
  • the program acquisition unit is characterized in that the program is acquired again.
  • a program acquisition / execution device is the same as the program acquisition / execution device according to claim 2 or claim 3, wherein the communication method inconsistency detection unit performs communication method inconsistency. And a communication method conversion unit for converting a communication method when a plurality of programs executed by the program execution unit communicate with each other.
  • the program acquisition and execution apparatus should be used by the program re-acquired by the program acquisition unit in addition to the program acquisition and execution apparatus according to claim 3 or claim 4. And a matched communication method determining unit for determining a matched communication method, wherein the program acquiring unit re-acquires a program using the communication method determined by the matched communication method determining unit. It is.
  • the program acquisition / execution device is the program acquisition / execution device according to claim 5, wherein the matched communication method determination unit includes the program acquisition unit. In this method, a consistent communication method is determined from among the communication methods used by the program.
  • the program acquisition and execution apparatus is the program acquisition and execution apparatus according to claim 5, wherein the consistent communication method determination unit is capable of reacquiring one or a plurality of program storage device capabilities. This is characterized in that a consistent communication method is determined from among the communication methods used by a simple program.
  • a program acquisition / execution device is the program acquisition / execution device according to any one of claims 5 and 7, wherein the matched communication method determination unit includes: It is characterized by selecting the newest communication method from the candidates for a consistent communication method and determining it as a consistent communication method.
  • the program acquisition and execution apparatus is the program acquisition and execution apparatus according to any one of claims 5 and 7, wherein the matching communication method determination unit is Selecting a communication method from among the candidates for the consistent communication method so that the cost when the program acquisition unit reacquires the program is the lowest, and determining the communication method as a consistent communication method. It is a feature.
  • a program acquisition / execution device is the program acquisition / execution device according to claim 5 or 9, wherein the matching communication method determination unit includes: When the program acquisition unit fails to acquire a program that uses the consistent communication method determined by the consistent communication method determination unit, the program acquisition unit re-determines a consistent communication method, and the program acquisition unit It is characterized by reacquiring a program that uses the communication method re-determined by the matching communication method determination unit.
  • a program acquisition and execution apparatus is the program acquisition and execution apparatus according to claim 5 or V of claim 10, and the communication method determination unit
  • a communication method determining method instruction unit for instructing a method for determining a consistent communication method is further provided, and the communication method determining unit is configured to perform communication that is consistent with a method instructed by the communication method determining method instruction unit. The method is determined.
  • a program acquisition / execution device is the program acquisition / execution device according to any one of claims 5 and 11, wherein the program acquisition unit includes: The communication method mismatch detection unit re-acquires only the programs that detected the communication method mismatch.
  • a program acquisition and execution device is the program acquisition and execution device according to any one of claims 5 to 11, wherein the program acquisition unit is executed by the program execution unit. It is characterized by reacquiring all necessary programs.
  • the program acquisition and execution apparatus is the program acquisition and execution apparatus according to any one of claims 5 to 13, wherein the program acquisition unit includes the communication method in a program. It is characterized by reacquiring only the part where the mismatch of the communication method detected by the mismatch detection unit exists.
  • a program acquisition / execution device is the program acquisition / execution device according to claim 1 or claim 4, and the communication method according to any one of claims 14 and 14.
  • the expression conversion unit converts a communication method by executing a conversion program for converting a communication method, and the program acquisition unit acquires a conversion program executed by the communication method conversion unit. It is.
  • a program acquisition and execution apparatus is the program acquisition and execution apparatus according to any one of claims 1 and 4 and claim 15, and the communication method.
  • a communication method conversion method instructing unit for instructing a method for converting a communication method and the communication method conversion unit converts the communication method by a method instructed by the communication method conversion method instruction unit; It is what.
  • a program acquisition / execution device is the program acquisition / execution device according to any one of claims 1 to 16, and the program acquisition unit acquires a program.
  • a program acquisition method instructing unit for instructing a method to be performed, wherein the program acquisition unit acquires a program by a method instructed by the program acquisition method instructing unit.
  • a program acquisition and execution device is the program acquisition and execution device according to claim 2 to claim 17, V, and the communication method mismatch detection unit includes: Incompatibility of communication methods before the program execution unit starts program execution Is detected.
  • the program acquisition and execution device is the program acquisition and execution device according to claim 2 to claim 17, and the communication method mismatch detection unit is When the program execution unit is executing a program, the sequential communication method mismatch is detected.
  • a program acquisition and execution apparatus is a target to be reacquired by the program acquisition unit according to the program acquisition and execution apparatus according to any one of claims 3 to 19.
  • the program storage unit further stores a program or a part of the program, and the program execution unit stores the program storage unit again after executing the program or the part of the program reacquired by the program acquisition unit. Thus, the program is executed.
  • a program acquisition and execution method is a program acquisition and execution method for acquiring and executing a program storage device capability program via a communication medium, and acquiring the program storage device capability program.
  • a program acquisition and execution method is a program acquisition and execution method for acquiring and executing a program storage device capability program via a communication medium, and acquiring the program storage device capability program.
  • a program acquisition / execution program recording medium records a program for causing a computer to execute a program acquisition / execution method for acquiring and executing a program storage device capability program via a communication medium.
  • the program acquisition and execution method includes a program acquisition step for acquiring a program with a program storage device capability, and a program execution step for executing the program acquired by the program acquisition step. And a communication method conversion step of converting a communication method when a plurality of programs executed by the program execution step communicate with each other.
  • a program acquisition / execution program recording medium records a program for executing a program acquisition / execution method for causing a computer to acquire and execute a program storage device capability program via a communication medium.
  • the program acquisition execution method includes a program acquisition step for acquiring a program with a program storage device capability, a program execution step for executing a program acquired by the program acquisition step, and a program execution step executed by the program execution step.
  • a communication method mismatch detection step for detecting a mismatch in communication methods when a plurality of programs communicate with each other.
  • a program acquisition / execution program is a program that causes a computer to execute a program acquisition / execution method for acquiring and executing a program storage device capability program via a communication medium
  • the program acquisition execution method includes a program acquisition step for acquiring a program storage device capability program, a program execution step for executing a program acquired by the program acquisition step, and a plurality of programs executed by the program execution step. And a communication method conversion process for converting a communication method for communication.
  • a program acquisition / execution program is a program for causing a computer to execute a program acquisition / execution method for acquiring and executing a program storage device capability program via a communication medium
  • the program acquisition execution method includes a program acquisition step of acquiring a program storage device capability program, a program execution step of executing a program acquired by the program acquisition step, and a plurality of programs executed by the program execution step.
  • a communication method mismatch detection step for detecting a mismatch of the communication method at the time of communication.
  • the program acquisition and execution device of claim 1 when acquiring a plurality of programs and performing a cooperative operation, even if there is a mismatch in a communication method that can be used by the plurality of programs, By converting the communication method when a plurality of programs communicate with each other, the plurality of programs can be communicated with each other.
  • the program acquisition and execution apparatus of claim 2 when acquiring a plurality of programs and performing a cooperative operation, even if there is a mismatch in a communication method that can be used by the plurality of programs, Necessary measures can be taken by detecting inconsistencies.
  • the program in which the inconsistency is detected is matched.
  • the plurality of programs can communicate with each other.
  • the communication method used by the program that can reacquire the program storage device power By determining a consistent communication method from the above and re-acquiring a program that uses the consistent communication method, the plurality of programs can communicate with each other.
  • the communication method is determined to be consistent. Even if re-acquisition of a program that uses a communication method fails, the consistent communication method is re-determined, and the program that uses the re-determined consistent communication method is re-acquired, so that Programs can communicate with each other.
  • a consistent communication method can be used.
  • the user can select the method to be determined, and the plurality of programs can communicate with each other by re-acquiring a program that uses a consistent communication method determined by the method selected by the user. It becomes possible to make it.
  • the conversion program acquired from the program storage device converts a communication method used when the plurality of programs communicate with each other. It is possible to change the communication method conversion method itself when the plurality of programs communicate with each other.
  • the communication method is converted.
  • the method can be selected by the user, and the plurality of programs communicate with each other by converting a communication method when the plurality of programs communicate with each other according to the method selected by the user. Is possible.
  • the user selects a method for acquiring the program in consideration of the effect of the program acquisition and execution device according to any one of claims 1 to 16.
  • the plurality of programs can be communicated with each other by re-acquiring the program in which the inconsistency is detected by the method selected by the user.
  • the original program in which inconsistency is detected is stored.
  • the original program can be executed after resolving the inconsistency in the communication method by re-acquiring and executing a program that uses a consistent communication method for the program while stored. It becomes.
  • a plurality of programs are acquired.
  • the plurality of programs are converted by converting the communication system when the plurality of programs communicate with each other. Can communicate with each other.
  • the program acquisition / execution program recording medium when a plurality of programs are acquired and cooperatively operated, there is an inconsistency in a communication method in which the plurality of programs can be used. Even in this case, the plurality of programs can be communicated with each other by converting the communication method used when the plurality of programs communicate with each other.
  • FIG. 1 (a) is a configuration diagram of a program acquisition and execution apparatus according to Embodiment 1 of the present invention.
  • FIG. 1 (b) shows the hierarchy of the program acquisition and execution apparatus according to Embodiment 1 of the present invention. It is a figure which shows a structure.
  • FIG. 1 (c) is a diagram showing a hierarchical structure of the program acquisition and execution apparatus according to the first embodiment of the present invention.
  • FIG. 1 (d) is a diagram showing a hierarchical structure of the program acquisition and execution apparatus according to the first embodiment of the present invention.
  • FIG. 1 (e) is a diagram showing the structure of the program file of the program acquisition and execution apparatus according to Embodiment 1 of the present invention.
  • FIG. 1 (D) is a diagram showing a flowchart of API conversion operation of the program acquisition and execution apparatus in the first embodiment of the present invention.
  • FIG. 1 (g) is a schematic diagram showing an operation of detecting an API version mismatch of the program acquisition and execution apparatus according to the first embodiment of the present invention.
  • FIG. 1 (h) is a block diagram showing a configuration example of a system including the program acquisition and execution apparatus according to the first embodiment of the present invention.
  • FIG. 2 (a) is a block diagram showing a configuration example of a mobile phone that is Modification 1 of Embodiment 1 of the present invention.
  • FIG. 2 (b) is a block diagram showing a configuration example of a system for updating a program of a mobile phone, which is a modification of the first embodiment of the present invention.
  • FIG. 2 (c) is a diagram showing a flowchart of the operation of the server in FIG. 2 (b).
  • FIG. 2 (d) is a diagram showing a flowchart of the operation of the mobile phone shown in FIG. 2 (b).
  • FIG. 2 (e) is a diagram showing a state in which the mobile phone in FIG. 2 (b) displays the update program list.
  • FIG. 2 (f) is a diagram showing a state in which the update program list of the mobile phone in FIG. 2 (b) is selected.
  • FIG. 2 (g) is a diagram showing an example of the data structure of the update request list of the mobile phone in FIG. 2 (b).
  • FIG. 2 (h) is a diagram showing a flowchart of the operation of the server in FIG. 2 (b). ⁇ 2 (0) Fig. 2 (i) is a diagram showing a flowchart of the operation of the mobile phone shown in Fig. 2 (b) ⁇ 3 (a)] Fig. 3 (a) shows the second embodiment of the present invention.
  • program acquisition and execution device FIG. 2 (h)
  • FIG. 3 (b) is a diagram showing a data structure of a program file according to the second embodiment of the present invention.
  • FIG. 3 (c) is a diagram showing a data structure of a data file according to the second embodiment of the present invention.
  • FIG. 4 is a configuration diagram of a program acquisition and execution apparatus according to Embodiment 3 of the present invention.
  • FIG. 5 is a configuration diagram of a program acquisition and execution apparatus according to Embodiment 4 of the present invention.
  • FIG. 6 is a configuration diagram of a program acquisition and execution apparatus according to Embodiments 5 to 10 of the present invention.
  • FIG. 7 is a diagram showing a schematic flowchart of the operation of the program acquisition and execution apparatus in the first embodiment of the present invention.
  • FIG. 8 is a diagram showing an example of an API used by a program executed by a program execution unit in the program acquisition and execution apparatus according to Embodiment 1 of the present invention.
  • FIG. 9 (a) is a diagram showing a communication system conversion example by the communication system conversion unit in the program acquisition and execution apparatus according to Embodiment 1 of the present invention.
  • FIG. 9 (b) is a diagram illustrating a configuration example when the communication method conversion unit of the program acquisition and execution apparatus according to the first embodiment of the present invention is configured by a communication method conversion program.
  • FIG. 9 (c) is a diagram showing an example of a conversion table used when the communication method conversion unit of the program acquisition and execution apparatus according to Embodiment 1 of the present invention is configured by a communication method conversion program.
  • FIG. 10 is a diagram showing a schematic flowchart of the operation of the program acquisition and execution apparatus in the second embodiment of the present invention.
  • FIG. 11 (a) is a diagram showing a schematic flowchart of the operation of the program acquisition and execution apparatus according to the third embodiment of the present invention.
  • FIG. 11 (b) is a flowchart of an example of more detailed processing in step S26 of FIG. 11 (a).
  • FIG. 11 (b) is a flowchart of an example of more detailed processing in step S26 of FIG. 11 (a).
  • FIG. 12 is a diagram showing a schematic flowchart of the operation of the program acquisition / execution device in the fourth embodiment of the present invention.
  • FIG. 13 (a) is a diagram showing a schematic flowchart of the operation of the program acquisition and execution apparatus in the fifth embodiment of the present invention.
  • FIG. 13 (b) is a diagram showing a flowchart of an example of more detailed processing of step S59 of FIG. 13 (a).
  • FIG. 13 (c) is a diagram showing an example of a table of upward compatibility of the communication method used in step S59 of FIG. 13 (a).
  • FIG. 13 (d) is a diagram showing a detailed flowchart of the processing of the program acquisition and execution apparatus in the sixth embodiment of the present invention.
  • FIG. 13 (e) is a diagram showing a detailed flowchart of the processing of the program acquisition and execution apparatus in the seventh embodiment of the present invention.
  • FIG. 13 (f) is a diagram showing a detailed flowchart of the process of the program acquisition and execution apparatus in the eighth embodiment of the present invention.
  • FIG. 13 (g) is a diagram showing a newness of the communication method used in the program acquisition and execution apparatus in the eighth embodiment of the present invention.
  • FIG. 13 (h) is a diagram showing a detailed flowchart of the processing of the program acquisition and execution apparatus in the ninth embodiment of the present invention.
  • FIG. 13 (i) is a diagram showing another example of the data structure of the program file used in step S596c of FIG. 13 (h).
  • FIG. 13 (j) is a diagram showing another example of the data structure of the program file used in step S596c of FIG. 13 (h).
  • FIG. 13 (k) is a diagram showing a schematic flowchart of the operation of the program acquisition and execution apparatus in the tenth embodiment of the present invention.
  • FIG. 14 (a) is a block diagram of a program acquisition and execution apparatus according to Embodiments 11 to 15 of the present invention.
  • FIG. 14 (b) shows the program acquisition and execution apparatus according to Embodiment 11 of the present invention. It is a figure which shows the flowchart of the outline
  • FIG. 14 (c) is a flowchart showing an outline of the operation of the program acquisition and execution apparatus in the twelfth embodiment of the present invention.
  • FIG. 14 (d) is a flowchart showing an outline of the operation of the program acquisition and execution apparatus in the thirteenth embodiment of the present invention.
  • FIG. 14 (e) is a diagram showing a flowchart of the outline of the operation of the program acquisition and execution apparatus in the fourteenth embodiment of the present invention.
  • FIG. 14 (f) is a diagram showing an outline flowchart of the operation of the program acquisition and execution apparatus in Embodiment 15 of the present invention.
  • FIG. 15 (a) is a configuration diagram of the program acquisition and execution apparatus according to the sixteenth embodiment of the present invention.
  • FIG. 15 (b) is a flowchart showing an outline of the operation of the program acquisition and execution apparatus in the sixteenth embodiment of the present invention.
  • FIG. 16 (a) is a block diagram of a program acquisition and execution apparatus according to the seventeenth to nineteenth embodiments of the present invention.
  • FIG. 16 (b) is a flowchart showing an outline of the operation of the program acquisition and execution apparatus in the seventeenth embodiment of the present invention.
  • FIG. 16 (c) is a diagram showing a flowchart of the outline of the operation of the program acquisition and execution apparatus in the eighteenth embodiment of the present invention.
  • FIG. 16 (d) is a flowchart showing an outline of the operation of the program acquisition and execution apparatus in the nineteenth embodiment of the present invention.
  • FIG. 17 (a) is a configuration diagram of the program acquisition and execution apparatus according to the twentieth embodiment of the present invention.
  • FIG. 17 (b) is a flowchart showing an outline of the operation of the program acquisition and execution apparatus according to the twentieth embodiment of the present invention.
  • FIG. 18 (a) is a block diagram of a conventional program acquisition and execution apparatus.
  • FIG. 18 (b) is a diagram showing a more specific configuration of the conventional program acquisition and execution apparatus.
  • FIG. 19 is a diagram showing a configuration example when a conventional program acquisition and execution apparatus is applied to a home network.
  • FIG. 1 (a) is a configuration diagram of the program acquisition and execution apparatus according to Embodiment 1 of the present invention.
  • the same components as those in FIG. 18 (a) are denoted by the same reference numerals and description thereof is omitted.
  • the program acquisition and execution apparatus 100 includes a communication method conversion unit 203 in addition to the configuration in FIG. 18 (a).
  • This communication method conversion unit 203 is connected to the communication method conversion program recorded in the ROM 1003.
  • the communication method conversion unit 203 converts a communication method used when a plurality of programs executed by the program execution unit 102 communicate with each other.
  • the communication method includes not only communication protocol conversion but also API conversion.
  • Program communication includes calling functions between programs and exchanging data between programs.
  • FIG. 1 (b) to FIG. 1 (d) show the hierarchical structure of the program acquisition / execution device of FIG. 1 (a).
  • Hardware layer L1 is CPUIOOI, RAM1002, ROM100 as shown in Figure 18 (b)
  • an OS layer L2 such as a real-time OS or a multitasking OS is mounted, and an interpreter layer such as a virtual machine (VM) is installed on the OS layer L2.
  • L3 is implemented.
  • An application layer L4 is mounted on the interpreter layer L3.
  • the OS layer L2 and the interpreter layer L3 may have opposite layers.
  • a middleware layer L5 may be implemented between the interpreter layer L3 and the application layer L4.
  • the middleware corresponds to, for example, a program for communication processing and database management, and provides basic functions that are necessarily required in specific fields such as communication processing and database management.
  • the hardware layer L1 is composed of the entire hardware including the CPU 1001, RAM 1002, ROM 1003, and communication interface 1004.
  • the OS layer L2, the interpreter layer L3, the application layer L4, and the middleware layer L5 are R
  • monitor programs such as OS recorded in OM1003
  • interpreters such as Java (registered trademark) virtual machines, applications, and middleware programs.
  • the program acquisition unit 101 includes the monitor program recorded in the ROM 1003, the CPU 100
  • the program execution unit 102 executes the monitor program recorded in the ROM 1003, and the CP
  • the program acquisition unit 101 acquires one or more programs from one or more program storage devices 150 (step S2).
  • the communication medium 200 between the program storage device 150 and the program acquisition and execution device 100 and the program acquisition method are irrelevant to the claims of the present invention, and the scope of the claims of the present invention is:
  • the communication medium between the program storage device 150 and the program acquisition / execution device 100 is not limited by the acquisition method of the program.
  • LAN Local Area Network
  • wired system a LAN (Local Area Network) in the case of a wired system
  • CATV Consumer TV
  • FTTH F3 ⁇ 4er To The Home
  • fixed telephone communication network etc.
  • wireless system an infrared communication interface, bluetooth (trademark), mobile communication network, satellite communication network, etc. Regardless of the type.
  • the program execution unit 102 executes one or more programs acquired by the program acquisition unit 101 (step S3).
  • the communication method conversion unit 203 converts the communication method used when a plurality of programs executed by the program execution unit 102 communicate with each other (step S4).
  • step S6 When the execution of one or a plurality of programs being executed by the program execution unit 102 is completed, the process ends (step S6). If not, repeat step S4 (step S5).
  • the communication method conversion unit 203 performs the conversion of the communication method repeatedly until the execution of all the programs is completed.
  • the communication method by the communication method conversion unit 203 is described.
  • the conversion timing is not limited only to this example, and the scope of the claims of the present invention is not limited by the communication system conversion timing by the communication system conversion unit 203.
  • FIG. 8 shows an example of an API used by a program executed by the program execution unit 102.
  • “Version 2” is an extension of the function of “Version 1” and “Version 2" Compatible with “1”. For example, there are two APIs, multiplyj, “add” and!, And the API “multiply” is added from “Version 2”.
  • FIG. 8 shows an example of communication system conversion by the communication system conversion unit 203 when an example of the API shown in FIG. 7 is used.
  • program A is created using the “Version 2” API of the API examples shown in FIG. 7, and “Program B” is “Version 1”.
  • the communication method conversion unit 203 converts the API request “multiply” into a combination of “add” t, which is an API of “Version 1”, and the converted API request “ Requests to program 3 ⁇ 4, which enables communication between “Program A” and “Program” created using different versions of the API.
  • the communication method conversion unit 203 analyzes the API request sent from the program execution unit 102, for example, as shown in Fig. 9 (b), and determines its function (multiply in the example of Fig. 9 (a)).
  • the parameter ((5, 3) in the example of Fig. 9 (a)) is separated (step S4a).
  • the API conversion table as shown in Fig. 9 (c) is searched based on this function to obtain the lower version API (add in the example of Fig. 9 (a)) that can be converted. (Step S4b).
  • a lower version API request is generated using the converted lower version API and the parameters obtained in step S4a of FIG. 9 (b), and this is returned as a conversion result to the program execution unit 102 (step S4c). .
  • the conversion execution unit in the communication method conversion unit 203 has an implementation method such as describing as an API conversion program that performs conversion using the API conversion table. Is not limited by the method of performing the conversion.
  • an API request content representation method is used, which is similar to the C language, but the API request content representation method is not limited to the example illustrated here. Further, the scope of claims of the present invention is not limited by the API request expression method.
  • the present invention provides a communication method that can be used by the partner program to be used even when there is a mismatch in the communication method between the programs when acquiring and cooperating with a plurality of programs. It is possible to provide a program acquisition and execution device that can use the other party's program without preparing a separate code for each type.
  • the API conversion in FIG. 8 may be performed, for example, when an API mismatch is detected based on the version number of the program included in the header of the program, as shown in FIG. 1 (e).
  • the version number PVN is obtained from the header PHD of the program file PF to communicate with each other (step S101), and the version number is obtained. Compare them with each other and examine whether they match (Step S102), and detect whether low V, version API is prepared !, NA! /, API call (Step S103) When calling, a higher version API is converted to a lower version API (step S104).
  • FIG. 1 (h) shows a configuration example of a system in which such a computer downloads and executes a program.
  • a computer 100a as a program acquisition and execution device performs a program via a communication path 200a as a communication medium.
  • the file server 150a as a storage device is accessed, the file server 150a searches for a desired program designated by the computer 100a, and the detected program is returned as data to the computer 100a via the communication path 200a. Run the program.
  • communication between programs may be enabled by converting the communication protocol when the communication protocol is different.
  • FIG. 2 (a) shows a block configuration of a mobile phone that can be connected to the Internet according to the first modification of the first embodiment.
  • This cellular phone 100c outputs a signal processing unit 1102 that performs various signal processing and a radio signal N received by the antenna 1101 to the signal processing unit 1102 as a reception signal, and is generated by the signal processing unit 1102 And a wireless communication unit 1103 that transmits the transmission signal as a wireless signal N from the antenna 1101.
  • the mobile phone 100c includes a display unit 1106 such as a liquid crystal panel (LCD) for displaying an image, a microphone 1108 for inputting sound, a speaker 1107 for reproducing an audio signal, and the signal processing described above.
  • a display control unit 1104 that receives the image signal processed by the unit 1102 and controls the display unit 1106 to display an image based on the image signal; and a signal processing unit that receives an input audio signal from the microphone 1108.
  • 1102 and an audio input / output unit 1105 that outputs the audio signal processed by the signal processing unit 1112 to the speaker 1107.
  • this mobile phone 100c can be used to send e-mails to / from other Internet-compatible mobile phones, personal computers, etc. using the e-mail address entered using the keyboard 1110 or the like.
  • E-mail processing unit 1113 that enables exchange of messages, and can send and receive e-mails that include messages input from the keyboard 1110 and image files taken with the camera unit 1111 as attachments as necessary .
  • the electronic mail data generated by the mail processing unit 1113 is transmitted as radio waves by the wireless communication unit 1103, and the electronic mail data received by the wireless communication unit 1103 is sent to the display unit 1106 by the display control unit 1104 via the signal processing unit 1102.
  • the control unit 1109 can control each unit so that an e-mail message, an attached image, and the like are displayed.
  • the web browsing processing unit 1112 requests data of a web page (homepage) designated by a URL (Uniform Resource Locater) input with the keyboard 1110 or the like from a web server (not shown) via the wireless communication unit 1103.
  • the web server returns the requested web page data.
  • the web browsing processing unit 1112 interprets the web page data returned from the web server, and the control unit 1109 controls each unit so that the display control unit 1104 displays the web page on the display unit 1106. Can be viewed
  • the ROM 1115 stores various applications such as games and calculators, and the control unit 1109 executes them by operating the keyboard 1110 or the like.
  • the RAMI 114 is used as a work area when the control unit 1109 executes various types of software.
  • the mobile phone 100c that can be connected to the Internet in this way has various functions that are realized by the software of the control unit 1109 corresponding to the CPU.
  • the software is fixed in the ROM, so a bug was discovered after shipment. In some cases, the actual machine may be collected and replaced.
  • FIG. 2 (b) is a block diagram showing a software update system for performing such an update
  • Figs. 2 (c) to 2 (i) are flowcharts showing an example of the software update operation. It is.
  • Mobile phone 100c and update program server 150c are connected via a communication network 200c including base station 2001 and Internet 2002.
  • the update program server 150c detects whether or not an update program is prepared by detecting the presence or absence of an update notification from the mobile phone manufacturer. (Step S201).
  • the update program server 150c When an updated version of the program is prepared, the update program server 150c accumulates the update program and updates the database based on the manufacturer's update information (step S202). Thereafter, the update program server 150c simultaneously notifies the corresponding manufacturer and model mobile phone that the program has been updated (step S203).
  • the mobile phone 100c side detects whether or not the update program server force has also received simultaneous notification (step S211), and the simultaneous notification is detected. If so, whether or not the user desires to update the program is detected (step S212).
  • the cellular phone 100c obtains a list of programs that have been updated from the update program server (step S213), and updates the program that has been updated.
  • the list is displayed on the display unit as shown in FIG. 2 (e) (step S214).
  • the user refers to the update program list displayed on the display unit, and designates a program desired to be updated from the list by keyboard operation or the like (step S215).
  • Figure 2 (f) shows the state where the program specified by the user is highlighted.
  • the cellular phone 100c displays a list showing the manufacturer name, model name, and program name to be updated.
  • Fig. 2 (g) shows the list of programs UL for which this update is desired
  • MKR is a field indicating the manufacturer name of the mobile phone
  • MOD is a field indicating the model name.
  • UPN is a field that shows the name of the program that you want to update, and if you have a variable length or a sufficiently large field,
  • the update program server 150c is a mobile phone 100c. (Step S221), and if there is an update access, the database is created based on the manufacturer name, model name, and program name to be updated in the list sent from the mobile phone. Search (step S222), and return the searched program to the mobile phone (step S223).
  • the cellular phone 100c detects whether or not the update program is returned from the update program server 150c (step S231), and the returned program If there is an error, the update program is written into an electrically rewritable ROM (step S232), and after the writing is completed, it is automatically restarted as necessary (step S233).
  • the mobile phone 100c transmits a command for updating the program to the base station 2001, and the base station 2001 transmits the command to the update program server 150c via the Internet 2002.
  • the update program server 150c searches for programs that are used by the mobile phone 100c that need updating.
  • the search targets include OS, interpreter, middleware, and applications.
  • the update program server 150c searches for a program that needs updating, the update program server 150c transmits the searched update program to the base station 2001 via the Internet 2002, and the base station 2001 transmits the update program to the radio wave. To return to the mobile phone 100c.
  • the updated program can be executed by overwriting the ROM 1115 with the returned update program and restarting as necessary.
  • the communication method conversion unit 203 As described above, it is included in the low version API! By converting the API into a low version API or converting the protocol, When multiple programs run simultaneously, it becomes possible to link the programs.
  • the communication method conversion unit 203 is stored in the ROM 1115.
  • a program, a control unit 1109, and a RAMI 114 as a work area are also configured.
  • the plurality of programs can be used when the program execution unit 102 acquires a plurality of programs and performs a cooperative operation. Even if there is a mismatch in various communication methods, the communication method conversion unit 203 can communicate the plurality of programs with each other by converting the communication method when the plurality of programs communicate with each other. It becomes.
  • FIG. 3 (a) is a configuration diagram of the program acquisition and execution apparatus according to the second embodiment of the present invention.
  • the same components as those in FIG. 18 (a) are denoted by the same reference numerals and description thereof is omitted.
  • the program acquisition / execution device 100 is connected to the communication method conversion unit 20 in FIG. 1 (a).
  • a communication system mismatch detection unit 304 is provided.
  • This communication system mismatch detection unit 304 is composed of a communication system mismatch detection program recorded in the ROM 1003, a CPU 1001, and a RAM 1002 serving as a work area thereof.
  • the communication method mismatch detection unit 304 detects a mismatch of communication methods when a plurality of programs executed by the program execution unit 102 communicate with each other.
  • steps S11 to S13 are steps S1 to S13 in the flowchart shown in FIG. 7 according to the first embodiment of the present invention.
  • step S13 the communication method mismatch detection unit 304 automatically detects a mismatch in communication method when a plurality of programs executed by the program execution unit 102 communicate with each other (step S). 14).
  • the communication method mismatch detection unit 304 in the communication method mismatch detection unit 304 includes a program file PF containing a program to be executed by the program execution unit 102, As shown in Fig. 3 (c), the data file that contains the data such as when these programs communicate with each other at a specific location (for example, part of the program header PHD or the first byte of the data header DHD)
  • the communication protocol for example, TCPZ
  • a communication method identifier CID representing information that can specify the communication method, such as IP (Transmission Control Protocol / Internet Protocol) and OSI (Open Systems Interconnection)
  • IP Transmission Control Protocol / Internet Protocol
  • OSI Open Systems Interconnection
  • step S14 If an inconsistency in the communication method is detected in step S14, necessary measures such as notifying the user are taken (step S16). For example, in a cellular phone, a message indicating that inconsistency has occurred is displayed on the display unit. If inconsistency cannot be detected, the process proceeds to step S17 (step S15).
  • step S18 When the execution of one or a plurality of programs being executed by the program execution unit 102 is completed, the process ends (step S18). Otherwise, repeat step S14 to step S17 (step S17).
  • the program execution unit 102 acquires a plurality of programs and performs a cooperative operation
  • the communication schemes that can be used by the plurality of programs are inconsistent. Even if there is a problem, the communication system mismatch detection unit 304 can detect the mismatch and take necessary measures such as notification to the user.
  • the communication method mismatch detection unit 304 has described an example in which the communication method mismatch is repeatedly detected until the program execution is completed. However, the communication method mismatch is described.
  • the timing of detection of communication system mismatch by the matching detection unit 304 is not limited to this example. It is not limited by the detection timing.
  • FIG. 4 is a configuration diagram of the program acquisition and execution apparatus according to the third embodiment of the present invention.
  • the same components as those in FIGS. 18 (a) and 3 (a) are denoted by the same reference numerals, and the description thereof is omitted.
  • the program acquisition and execution apparatus 100 has the same components as those in FIG. 3 (a). However, unlike the configuration in FIG. 3A, when the communication method mismatch detection unit 304 detects a communication method mismatch, the program acquisition unit 101 re-acquires the program.
  • steps S21 to S24 are the same as steps S11 to S14 in the flowchart shown in FIG. 10 according to the second embodiment of the present invention, so description thereof will be omitted.
  • step S24 If an inconsistency in the communication method is detected in step S24 after step S24 is completed, program acquisition unit 101 re-acquires the program (step S26), and restarts the process from step S23 (program execution). Part 102 re-executes the program). Otherwise, go to step S27 (step S25).
  • step S28 When the execution of one or more programs executed by the program execution unit 102 is completed, the process is terminated (step S28). Otherwise, repeat step S24 to step S27 (step S27).
  • step S26 can be configured as shown in FIG. 11 (b), for example.
  • step S261 it is determined whether the API version of one program is higher than the API version of the other program. If one program has a higher API version than the other program, an updated version of the other program is acquired (step S262).
  • step S263 it is determined whether or not the updated version can be acquired (step S263), and if it can be acquired, the process immediately proceeds to step S23. If an updated version is available and cannot be obtained by, etc., obtain a lower version of one program purge to match the version of one program with the other (step S264), and proceed to step S23 .
  • step S265 If one program has a lower API version than the other program, the operations opposite to those described above are performed in steps S265 to S267. That is, an updated version of one program is acquired (step S265). At that time, it is determined whether or not the updated version has been acquired (step S266). If it has been acquired, the process immediately proceeds to step S23. An updated version is available If it is not possible to obtain it, the lower version of the other program is obtained so that the version of the other program matches the other (step S267), and the process proceeds to step S23.
  • the program acquisition unit 101 detects the inconsistency.
  • the program execution unit 102 can execute the plurality of programs in a combination having no inconsistency.
  • FIG. 5 is a configuration diagram of a program acquisition and execution apparatus according to Embodiment 4 of the present invention.
  • the same components as those in FIGS. 18 (a), 3 (a), and 4 are denoted by the same reference numerals, and the description thereof is omitted.
  • the program acquisition and execution apparatus 100 includes a communication system conversion unit 203 in addition to the configurations shown in FIGS. 18 (a), 3 (a), and 4.
  • the communication method conversion unit 203 converts a communication method used when a plurality of programs executed by the program execution unit 102 communicate with each other.
  • steps S31 to S34 are the same as steps S11 to S14 in the flowchart shown in FIG. 10 in the second embodiment of the present invention. I will omit the description.
  • step S34 when a communication system mismatch is detected in step S34, the communication system conversion unit 203 performs a plurality of operations executed by the program execution unit 102 for the communication in which the mismatch is detected.
  • the communication method used when programs communicate with each other is converted (step S36). Otherwise, the process proceeds to step S40 (step S35).
  • the communication method mismatch detection unit 304 detects the mismatch of communication methods when a plurality of programs executed by the program execution unit 102 communicate with each other in the same manner as step S34 for the communication in which the mismatch is detected. Detect (step S37). As a result, even when the communication methods should be converted and communication should be possible, it is actually possible to detect a case where communication becomes inconsistent.
  • step S37 After the completion of step S37, if a communication system mismatch is detected again in step S38, the process proceeds to step S39. Otherwise, the process proceeds to step S40 (step S38).
  • step S39 the program acquisition unit 101 re-acquires the program and restarts processing from step S33 (the program execution unit 102 re-executes the program) (step S39).
  • step S40 when the execution of one or more programs being executed by the program execution unit 102 is completed, the processing is terminated (step S41). Otherwise, step S34 to step S40 are repeated (step S40).
  • the provisional version of the program can be compared with other programs even if the communication method conversion unit 203 converts the communication method. Inconsistency that may occur during communication In such cases, re-acquisition of the official version of the program by performing the above-described process will eliminate inconsistencies in the communication system with other programs. It can be resolved.
  • the communication method conversion unit 203 includes the plurality of By converting the communication method used when these programs communicate with each other, it becomes possible to communicate the above programs with each other.
  • communication method mismatch detection unit 304 detects a communication method mismatch
  • communication method conversion unit 203 first detects communication that has detected a mismatch.
  • the communication method mismatch detection unit 304 detects the communication method mismatch again and detects the communication method mismatch again
  • the program acquisition unit 101 sets the program.
  • the embodiment has been described in which the program execution unit 102 re-executes the program and re-executes the program.
  • the communication method mismatch detection unit 304 detects the communication method mismatch
  • the communication method conversion unit 203 converts the communication method
  • the program acquisition unit 101 reacquires the program
  • the timing of re-execution of the program by the execution unit 102 is not limited to the case of this example.
  • the scope of the present invention is that the communication method mismatch detection unit 304 detects the mismatch of the communication method.
  • the communication method conversion by the communication method conversion unit 203, the re-acquisition of the program by the program acquisition unit 101, and the re-execution of the program by the program execution unit 102 are not limited.
  • FIG. 6 is a configuration diagram of the program acquisition and execution apparatus according to the fifth embodiment of the present invention.
  • the same components as those in FIG. 18 (a) and FIG. 3 (a) to FIG. are identical components as those in FIG. 18 (a) and FIG. 3 (a) to FIG.
  • the program acquisition and execution apparatus 100 includes a matching communication method determining unit 605 in addition to the configurations shown in FIGS. 18 (a) and 3 (a) to FIG.
  • This matched communication method determining unit 605 is composed of a matched communication method determining program recorded in the ROM 1003, a CPU 1001, and a RAM 1002 serving as a work area thereof.
  • the consistent communication method determination unit 605 determines a consistent communication method to be used by the program re-acquired by the program acquisition unit 101.
  • the program acquisition unit 101 reacquires a program that uses the communication method determined by the consistent communication method determination unit 605.
  • steps S51 to S57 are the same as steps S31 in the flowchart shown in FIG. 12 in the fourth embodiment of the present invention. Since this is the same as step S37, description thereof is omitted.
  • step S57 After the completion of step S57, if an inconsistency in the communication method is detected again in step S57, the process proceeds to step S59. Otherwise, the process proceeds to step S61 (step S58).
  • step S59 the consistent communication method determination unit 605 determines a consistent communication method to be used by the program reacquired by the program acquisition unit 101 (step S59).
  • the communication method used in the two programs is changed to the communication in the header PHD of the program file PF as shown in Fig. 3 (b). It can be obtained by extracting the method identifier CID (Step S591), detecting which of the communication methods of each program is upward compatible (Step S592), and detecting the communication method that is upward compatible. If this happens (step S593), the communication method that is upwardly compatible is determined to be a consistent communication method (step S594), and the communication method that becomes upwardly compatible in step S593 cannot be detected. ⁇ For each communication method! / The communication method that is upward compatible with respect to the deviation is determined as the consistent communication method (step S595).
  • a communication method that is upward compatible may be detected by searching a table such as that shown in FIG. 13 (c). “Upward compatibility” in this table indicates that the higher the number, the higher the compatibility.
  • the TCP / IP upward compatible protocol OSI is used as the communication protocol. Processing such as determination is performed.
  • the matched communication method determination unit 605 notifies the program storage device 150 of a program using the determined communication method via the communication medium 201, and the program acquisition and execution device 100 communicates the program transmitted by the program storage device 150. Re-acquisition is performed via the medium 200, and the processing is restarted from step S53 (the program execution unit 102 re-executes the program) (step S60).
  • step S61 when the execution of one or more programs being executed by the program execution unit 102 is completed, the process is terminated (step S62). That's right If so, step S54 to step S61 are repeated (step S61).
  • the program in which the inconsistency is detected Therefore, by re-acquiring a program that uses a consistent communication method, a plurality of programs executed by the program execution unit 102 can be communicated with each other.
  • the communication method mismatch detection unit 304 detects a mismatch in the communication method
  • the communication method conversion unit 203 first detects the communication in which the mismatch is detected.
  • the communication method mismatch detection unit 304 detects the communication method mismatch again and detects the communication method mismatch again, the matching communication method determination unit 605
  • the embodiment has been described in which the communication method is determined to be consistent, the program acquisition unit 101 re-acquires the program, and the program execution unit 102 re-executes the program using the communication method.
  • the communication method mismatch detection unit 304 detects the communication method mismatch
  • the communication method conversion unit 203 converts the communication method
  • the matching communication method determination unit 605 determines the communication method.
  • the timing of program re-acquisition by the program acquisition unit 101 and program re-execution by the program execution unit 102 is not limited to this example.
  • Section 304 detects communication method mismatch
  • communication method conversion unit 203 converts communication method
  • matched communication method determination unit 605 determines communication method
  • the execution unit 102 is not limited by the re-execution timing of the program.
  • the configuration diagram of the program acquisition and execution apparatus according to the sixth embodiment of the present invention is the same as FIG. 6 as the configuration diagram of the program acquisition and execution apparatus according to the fifth embodiment of the present invention.
  • some components, that is, the functions of the matching communication method determination unit 605 are expanded in the fifth embodiment of the present invention.
  • the matching communication method determination unit 605 determines a matching communication method from among the communication methods already used by the program acquisition unit 101 and used by the V program.
  • FIG. 13 (d) when two programs are acquired by the program acquisition unit 101, information about the communication method such as the communication method identifier CID is also acquired and held.
  • the matching communication method determination unit 605 may acquire these by calling from the program acquisition unit 101 (step 591a).
  • the other processes in FIG. 13 (d) are the same as those in FIG. 13 (b).
  • a plurality of programs executed by the program execution unit 102 can be used.
  • the plurality of programs can communicate with each other. .
  • FIG. 6 The configuration diagram of the program acquisition and execution apparatus in the seventh embodiment of the present invention is FIG. 6 which is the same as the configuration diagram of the program acquisition and execution apparatus in the fifth embodiment of the present invention. However, some components, that is, the functions of the matching communication method determination unit 605 are expanded from the fifth embodiment.
  • a consistent communication method determination unit 605 determines a consistent communication method from among communication methods used by programs that can be reacquired from one or a plurality of program storage devices 150.
  • the matching communication method determination unit 605 also obtains information on the communication method for each program power stored in the program storage device 150 (step S591b). If it is detected by using the table shown in Fig. 13 (c) which of the communication methods of each program is upwardly compatible! / (Step S592b).
  • a program that can be re-acquired from the program storage device 150 is used.
  • a consistent communication method from among the existing communication methods and re-acquiring a program that uses the consistent communication method, a plurality of programs executed by the program execution unit 102 are mutually acquired. Communication is possible.
  • FIG. 6 The configuration diagram of the program acquisition and execution apparatus according to the eighth embodiment of the present invention is FIG. 6 which is the same as the configuration diagram of the program acquisition and execution apparatus according to the fifth to seventh embodiments of the present invention.
  • some components, that is, the functions of the matching communication method determination unit 605 are expanded from Embodiments 5 and 7 of the present invention.
  • the matched communication method determination unit 605 selects the newest communication method from the candidates for the matched communication method, and determines it as the matched communication method.
  • the matched communication method determination unit 605 detects a matched communication method candidate (step S596a), and for example, from FIG.
  • the latest communication method may be detected by searching a table as shown in g) (step S596b).
  • the “newness” in this table is newer as the number increases.
  • FIG. 6 The configuration diagram of the program acquisition and execution apparatus according to the ninth embodiment of the present invention is FIG. 6 which is the same as the configuration diagram of the program acquisition and execution apparatus according to the fifth to seventh embodiments of the present invention.
  • some of the components, that is, the functions of the matching communication method determination unit 605 are expanded from Embodiments 5 and 7 of the present invention.
  • the matching communication method determination unit 605 selects a communication method that makes the cost when the program acquisition unit re-acquires the program the lowest among the candidates for the matching communication methods.
  • the communication method is determined to be consistent.
  • the matched communication method determining unit 605 detects a matched communication method candidate (step S596a), and for example, from FIG. i), as shown in Fig. 13 (j), it can be realized by detecting the program size information PGS and packet size information PKS in the header PHD of the program file PF and detecting the communication method that minimizes them. ⁇ (Step S596c).
  • FIG. 6 The configuration diagram of the program acquisition / execution device according to the tenth embodiment of the present invention is FIG. 6 which is the same as the configuration diagram of the program acquisition / execution device according to the fifth to ninth embodiments of the present invention.
  • the consistent communication method determination unit 605 is configured to perform a consistent communication when the program acquisition unit 101 fails to acquire a program that uses the consistent communication method determined by the consistent communication method determination unit 605. The method is re-determined, and the program acquisition unit 101 re-acquires a program that uses the communication method re-determined by the consistent communication method determination unit 605.
  • Step S63 is provided for detecting whether or not the program has been successfully acquired. If step S63 detects whether or not the program has been successfully reacquired, and if reacquisition fails, the process returns to step S59 to establish a consistent communication method. This can be achieved by redetermining.
  • This notification of re-acquisition failure indicates, for example, when the database is detected in response to a request from the program storage unit 150 and the program acquisition unit 101, and the corresponding program cannot be detected. This can be realized by setting a flag.
  • the communication method is determined to be consistent. Even if re-acquisition of a program that uses a communication method fails, re-determining a consistent communication method and re-acquiring the program that uses the re-determined consistent communication method A plurality of programs executed by the unit 102 can be communicated with each other.
  • FIG. 14 (a) is a configuration diagram of the program acquisition and execution device according to Embodiment 11 of the present invention.
  • FIG. 14 (a) the same components as those in FIG. 18 (a) and FIGS.
  • the program acquisition and execution apparatus 100 includes a communication method determination method instruction unit 1406 in addition to the configurations in FIG. 18 (a) and FIGS.
  • Communication method determination method instructing unit 1406 is used by the user to instruct the method by which matched communication method determining unit 605 determines a matched communication method.
  • the matched communication method determination unit 605 determines a matched communication method using the method instructed by the communication method determination method instruction unit 1406.
  • step S58 the matching communication method determination unit 605 determines the communication method used by the program reacquired by the program acquisition unit 101 based on the instructed method (step S59a).
  • a method for determining a consistent communication method instructed by this user is, for example, an implementation.
  • the communication method may be determined based on other required rules in addition to any one of methods 8 to 10.
  • a method for determining a consistent communication method in addition to the effects of the program acquisition and execution apparatus in the fifth to tenth embodiments of the present invention, there is provided a method for determining a consistent communication method.
  • a plurality of programs executed by the program execution unit 102 can communicate with each other by re-acquiring a program that can be selected by the user and that uses a consistent communication method determined by the method selected by the user. It becomes possible.
  • FIG. 14 (a) The configuration diagram of the program acquisition and execution apparatus in the twelfth embodiment of the present invention is FIG. 14 (a), which is the same as the configuration diagram of the program acquisition and execution apparatus in the eleventh embodiment of the present invention.
  • the functions of some of the constituent elements are extended from Embodiments 5 and 11 of the present invention.
  • FIG. 14 (a) description of components having the same functions as those of Embodiments 5 to 11 of the present invention is omitted.
  • the program acquisition unit 101 re-acquires only the program for which the communication method mismatch detection unit 304 has detected a communication method mismatch.
  • the program acquisition unit 101 is a program in which the communication method mismatch detection unit 304 has detected a mismatch, and the communication method determination unit 605 has determined the communication. This can be achieved by re-acquiring only programs that use the method (step S60b).
  • the configuration diagram of the program acquisition and execution apparatus in the thirteenth embodiment of the present invention is the same as the configuration diagram of the program acquisition and execution apparatus in the eleventh and twelfth embodiments of the present invention.
  • Fig. 14 (a) the functions of some of the constituent elements are expanded from Embodiments 5 to 11 of the present invention.
  • description of components having the same functions as those of Embodiments 5 to 11 of the present invention is omitted.
  • the program acquisition unit 101 reacquires all the programs necessary for execution.
  • step S64 the user instructs the method of determining a consistent communication method
  • step S64 the consistent communication method determination unit 605 designates the user.
  • step S59a a consistent communication method is determined (step S59a)
  • the program acquisition unit 101 uses the communication method determined by the consistent communication method determination unit 605 and is executed by the program execution unit 102. This can be realized by re-acquiring all necessary programs (Step S60c).
  • FIG. 14 (a) The configuration diagram of the program acquisition / execution device according to the fourteenth embodiment of the present invention is FIG. 14 (a), which is the same as the configuration diagram of the program acquisition / execution device according to the eleventh to thirteenth embodiments of the present invention.
  • some components, that is, the functions of the program acquisition unit 101 are expanded from Embodiments 5 to 13 of the present invention.
  • FIG. 14 (a) description of components having the same functions as those of Embodiments 5 to 13 of the present invention is omitted.
  • the program acquisition unit 101 re-acquires only the portion of the program that is not in the entire program that has a communication method mismatch detected by the communication method mismatch detection unit 304.
  • this is a method in which the user instructs a method for determining a consistent communication method (step S64) and the consistent communication method determination unit 605 specifies the user.
  • a consistent communication method is determined (step S59a), and the program acquisition unit 101 uses a communication method determined by the consistent communication method determination unit 605, and the communication method is invalid. This can be realized by re-acquiring only the part where the mismatch of the communication method detected by the matching detection unit 304 exists (step S60d).
  • FIG. 14 (a) The configuration diagram of the program acquisition / execution device according to the fifteenth embodiment of the present invention is FIG. 14 (a), which is the same as the configuration diagram of the program acquisition / execution device according to the eleventh to fourteenth embodiments of the present invention.
  • some of the components, that is, the functions of the communication method conversion unit 203 are expanded to the power of the first embodiment or the fourth to fourth embodiments of the present invention.
  • description of components having the same functions as those of the first embodiment or the fourth to fourteenth embodiments of the present invention is omitted.
  • the communication method conversion unit 203 converts the communication method by executing a conversion program for converting the communication method, and the program acquisition unit 101 includes the communication method conversion unit 203. Get the conversion program to be executed.
  • the program acquisition unit 101 acquires in advance a conversion program for communication system conversion executed by the communication system conversion unit 203 (step S5 2p). Then, the user instructs a method for determining a consistent communication method (step S64), and the communication method conversion unit 203 converts the communication method by executing the conversion program acquired in step S52p ( This can be realized by step S56a).
  • the fifteenth embodiment it is acquired from the program storage device 150 in consideration of the effect of the program acquisition and execution device in the first embodiment or the fourth to fourteenth embodiments of the present invention.
  • FIG. 15 (a) is a configuration diagram of the program acquisition / execution device according to the sixteenth embodiment of the present invention.
  • the same components as in FIG. 18 (a) and FIGS. 3 to 6 and FIG. 14 (a) are denoted by the same reference numerals, and description thereof is omitted.
  • the program acquisition and execution apparatus 100 includes a communication method conversion method instruction unit 1507 in addition to the configurations in FIG. 18 (a) and FIGS. 3 to 6 and FIG. 14 (a). Yes.
  • the communication method conversion method instruction unit 1507 instructs the communication method conversion unit 203 to convert the communication method.
  • the communication method conversion unit 203 converts the communication method by the method instructed by the communication method conversion method instruction unit 1507.
  • the user instructs the communication method conversion method used by the communication method conversion unit 203 in advance (step S65), and the communication method conversion unit 203 detects the inconsistency.
  • the detected communication can be realized by converting the communication method when a plurality of programs executed by the program execution unit 102 communicate with each other by a method designated by the user (step S56a).
  • a method for converting a communication method is provided.
  • the plurality of programs can be made to communicate with each other by converting a communication method when a plurality of programs executed by the program execution unit 102 communicate with each other by a method selected by the user.
  • FIG. 16 (a) is a configuration diagram of the program acquisition and execution device according to the seventeenth embodiment of the present invention.
  • FIG. 16 (a) the same components as those in FIG. 18 (a), FIG. 3 to FIG. 6, FIG. 14 (a), and FIG.
  • the program acquisition / execution device 100 uses a program acquisition method based on the configuration in FIG. 18 (a) and FIGS. 3 to 6, and FIGS. 14 (a) and 15 (a).
  • Instruction unit 160 Eight is a program acquisition method based on the configuration in FIG. 18 (a) and FIGS. 3 to 6, and FIGS. 14 (a) and 15 (a).
  • the program acquisition method instruction unit 1608 instructs the program acquisition unit 101 to acquire a program.
  • the program acquisition unit 101 acquires a program by the method instructed by the program acquisition method instruction unit 1608.
  • step S66 this is instructed by the user in advance how to acquire the program (step S66), and the program acquisition unit 101 determines the communication determined by the matching communication method determination unit 605. This can be realized by re-acquiring a program using the method by a method specified by the user (step S60a).
  • a method for acquiring a program in consideration of the effects of the program acquisition and execution device in the first embodiment or the fourth to sixteenth embodiments of the present invention By re-acquiring the program in which inconsistency is detected by the method selected by the user and by the method selected by the user, a plurality of programs executed by the program execution unit 102 can be communicated with each other.
  • FIG. 16 (a) The configuration diagram of the program acquisition and execution apparatus in the eighteenth embodiment of the present invention is FIG. 16 (a), which is the same as the configuration diagram of the program acquisition and execution apparatus in the seventeenth embodiment of the present invention.
  • the functions of some of the constituent elements are expanded from Embodiments 2 to 17 of the present invention.
  • FIG. 16 (a) description of components having the same functions as those of Embodiments 2 to 17 of the present invention is omitted.
  • the communication method mismatch detection unit 304 detects a communication method mismatch before the program execution unit 102 starts executing the program.
  • the user instructs a method for specifying a communication method that has been matched in advance (step S64), and the communication method mismatch detection unit 304 and the program execution unit 102
  • step S64 the communication method mismatch detection unit 304 and the program execution unit 102
  • step S64 the communication method mismatch detection unit 304 and the program execution unit 102
  • step S64 the communication method mismatch detection unit 304 and the program execution unit 102
  • step S53 steps S55, S58, S68.
  • This inconsistency detection before execution is performed by referring to the communication method identifier CID in the program file PF in advance, for example, as shown in FIGS. 3 (b) and 3 (c). And can be realized.
  • the communication method is started before program execution is started.
  • the program is executed for the first time after all the detected inconsistencies are resolved, so it is possible to avoid re-acquisition and re-execution of the program during program execution.
  • FIG. 16 (a) The configuration diagram of the program acquisition / execution device according to the nineteenth embodiment of the present invention is FIG. 16 (a), which is the same as the configuration diagram of the program acquisition / execution device according to the seventeenth to eighteenth embodiments of the present invention.
  • the functions of some of the constituent elements are extended from Embodiments 2 to 17 of the present invention.
  • FIG. 16 (a) description of components having the same functions as those of Embodiments 2 to 17 of the present invention is omitted.
  • the communication system mismatch detection unit 304 detects sequential communication system mismatches when the program execution unit 102 is executing a program.
  • step S64 the user instructs the method of specifying a communication method that has been matched in advance (step S64), and the communication method mismatch detection unit 304 detects the mismatch.
  • inconsistencies in the communication method when multiple programs being executed by the program execution unit 102 (step S53b) communicate with each other are sequentially detected each time the program is executed in steps S54 to S60a. Can be realized.
  • This inconsistency detection during execution can be realized by referring to the communication method identifier CID in the program file PF during execution as shown in Fig. 3 (b) and Fig. 3 (c), for example.
  • a program is executed while the program is being executed.
  • FIG. 17 (a) is a block diagram of a program acquisition and execution device according to Embodiment 20 of the present invention. It is. In FIG. 17 (a), the same components as those in FIG. 18 (a), FIG. 3 to FIG. 6, and FIG. 14 (a) to FIG.
  • the program acquisition and execution apparatus 100 includes a program storage unit 1709 in addition to the configurations in FIG. 18, FIG. 3 to FIG. 6 and FIG. 14 (a) to FIG.
  • the program storage unit 1709 in addition to the configurations in FIG. 18, FIG. 3 to FIG. 6 and FIG. 14 (a) to FIG.
  • the program storage unit 1709 stores a part of the program or program that is to be reacquired by the program acquisition unit 101.
  • the program execution unit 102 executes the program stored in the program storage unit 1709 again.
  • step S67 the program to be re-acquired or a part thereof is acquired.
  • step S67 the program to be re-acquired or a part thereof is acquired.
  • step S60a the inconsistency in step S55 or S58 is resolved.
  • the program execution unit 102 extracts and executes the program or a part thereof that has been stored in the program storage unit 1709 and is to be reacquired (steps S69 and S70).
  • the original program in which inconsistencies are detected is detected.
  • the inconsistency is resolved in the original program. If the inconsistency occurs and the part is successfully executed, the original program is executed after resolving the communication system inconsistency by returning the temporarily replaced program to the original program. It becomes possible.
  • Embodiment 20 the program is reacquired to eliminate the inconsistent portion, but the inconsistency may be resolved by converting the program!
  • the rewritable storage device has various rewritable file devices such as a magnetic disk drive, an optical disk drive, and a magneto-optical disk drive in addition to the RAM. That's right.
  • a nonvolatile storage device having only a ROM is shown, but in addition to a ROM, a non-rewritable file device such as a CD-ROM or DVD-ROM is used. May be.
  • a rewritable file device or a non-rewritable file device it is stored in the ROM, an interpreter such as a monitor program such as an OS or a Java (registered trademark) virtual machine, Middleware, application programs, etc. may be stored in these file devices.
  • an interpreter such as a monitor program such as an OS or a Java (registered trademark) virtual machine, Middleware, application programs, etc. may be stored in these file devices.
  • the update of a mobile phone program has been shown as an example, but it is possible to connect to the above-mentioned computer with a built-in device, a home network compatible device such as HAVi, or the Internet.
  • a home network compatible device such as HAVi
  • the Internet When updating household appliances, devices that can be connected to a wired or wireless communication network such as a mobile phone, devices that can be connected to a broadcasting network such as a television receiver or radio receiver, or a computer program Even so.
  • the update of the mobile phone program shows the case where multiple manufacturers who manufacture mobile phones of the same carrier operate the update system jointly, but each manufacturer has its own update system. In this case, it is not necessary to include mail name information in the update request list.
  • i-mode (registered trademark) mobile phones that can be connected to the Internet have been shown as examples.
  • programs can be distributed via the public communication network itself so that they can be operated using communication media other than the Internet. May be.
  • the communication medium 200 and the communication medium 201 are used in combination, the same communication medium may be used in combination by time division or the like.
  • the communication method inconsistency detection unit 304 and the matching communication method determination unit 605 may be provided.
  • the communication method mismatch detection unit 304 and the matching communication method determination unit 605 may also be configured with the program stored in the ROM 1115, the control unit 1109, and the RAMI 114 as a work area.
  • the program acquisition and execution apparatus has been described. However, in this case, the program acquisition and execution method may be realized.
  • the program acquisition unit, the program execution unit, the communication method conversion unit, and the communication method should be realized as the program acquisition process, program execution process, communication method conversion process, communication method mismatch detection process, and matching communication method determination process corresponding to the respective functions. .
  • a program acquisition execution method having these steps may be realized as a program acquisition execution program, or may be realized as a program acquisition execution program recording medium in which the program acquisition execution program is recorded on a recording medium. .
  • the communication protocols that can be used include TCPZIP and OSI as examples of communication protocols, but are not limited to these.
  • the program acquisition and execution apparatus acquires a plurality of programs (downloading, uploading, etc.) through a communication medium such as a network or a wireless communication apparatus. Even if there is inconsistency in the communication method between multiple programs, it has the feature that other programs can be used, and as a method of solving version inconsistency and protocol inconsistency between programs that can be downloaded or uploaded, Application to a very wide field is possible. There are no particular restrictions on the application field, but it can be applied to, for example, rewriting via a communication medium such as an embedded software network of a home appliance or a wireless communication device, or downloading an application to an Internet browser.
  • a communication medium such as an embedded software network of a home appliance or a wireless communication device

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

 複数のプログラムを取得して実行する際に、通信方式に不整合があると、プログラム間で通信ができなかった。  プログラム取得部(101)が、プログラム格納装置(150)から複数のプログラムを取得し、プログラム実行部(102)が、取得したプログラムを実行する。これら複数のプログラムが相互に通信する際の通信方式の不整合を、通信方式不整合検出部(304)が検出すると、通信方式変換部(203)がそれら複数のプログラムが相互に通信する際の通信方式を変換するか、または、プログラム取得部(102)がプログラムを再取得するので、複数のプログラムを相互に通信させることが可能となる。

Description

明 細 書
プログラム取得実行装置、プログラム取得実行方法、プログラム取得実行 プログラム記録媒体、およびプログラム取得実行プログラム
技術分野
[0001] 本発明は、プログラム取得実行装置、プログラム取得実行方法、プログラム取得実 行プログラム記録媒体、およびプログラム取得実行プログラムに関するものであり、特 に、ネットワークや無線装置等の通信媒体を介してプログラム格納装置力 プロダラ ムをダウンロード、アップロードなどにより取得して実行するものの改良を図ったもの に関する。
背景技術
[0002] 従来のプログラム取得実行装置としては、当該装置に取得され、実行されるプログ ラムの API(Application Programming Interface)に新し 、バージョンが作られた場合で も、古いバージョンのプログラムを新しいバージョンの装置の上で実行できる、いわゆ る上位互換性を実現できるようにするため、新しいバージョンの APIに古いバージョン の APIを含める形で新しいバージョンの APIを規定するよう取り決めているものがあつ た (例えば、非特許文献 1の 2.8節〃 Versioning〃参照)。
[0003] すなわち、新し 、バージョンの APIは、古!、APIに対し上位互換性を確保するため に、古い APIに関しては仕様を一切変更せず、これに新たな API群を追加することに よって、新しい APIを定義している。
[0004] ここで、 APIとはアプリケーションプログラム力も利用できる、オペレーティングシステ ム (OS)やプログラミング言語処理系(コンパイラ等)で用意されたライブラリなどの機 能の規約に相当するものであり、ファイル制御、ウィンドウ制御、画像処理、文字制御 などのための機能を有する命令や関数、あるいはそれらを利用するためのプログラム 上の手続きを定めた規約として提供されることが多 、。
[0005] APIを使うことでコンピュータソフトウェアは、他のソフトウェアと広義の意味で通信し 合うことができる。また APIは、低レベルなハードウェア寄りのソフトウェアと、高レベル な人間寄りのソフトウェアとの間の関係をより抽象化するための 1つの方法である。 [0006] APIの目的の一つは、ウィンドウを操作したりアイコンを描画するというような共通し て使える機能(関数)を提供することである。このような機能を使えば、プログラマはフ アイル制御関数や、ウィンドウ制御関数等を、その都度コーディングしなくても済む。
[0007] 図 18 (a)は、前記非特許文献 1に記載された従来のプログラム取得実行装置を示 すものである。
[0008] 図 18 (a)において、プログラム取得実行装置 100は、プログラム取得部 101とプロ グラム実行部 102とを備えている。
[0009] また、プログラム格納装置 150は、プログラム取得実行装置 100が取得し、実行す るためのプログラムを格納する。
[0010] プログラム取得部 101は、一個または複数のプログラム格納装置 150から、通信路 等の通信媒体 200を介して一個または複数のプログラムを取得する。
[0011] プログラム実行部 102は、プログラム取得部 101が取得した一個または複数のプロ グラムを実行する。
[0012] プログラム取得部 101が取得するプログラムは、予め決められた APIに準拠して作 成されており、プログラム実行部 102もまた、それと同じ APIに準拠したプログラムを 実行するように構成されている。このため、プログラム取得部 101が取得したプロダラ ムは、プログラム実行部 102によって実行することが可能となる。
[0013] 図 18 (b)は、この従来のプログラム取得実行装置の具体的な構成の一例を示すブ ロック図である。
[0014] プログラム取得実行装置としてのコンピュータ 100aは、 CPU1001, RAM1002, ROM1003,および通信インターフェース 1004を有し、これらがバス 1005により互 いに接続されている。
[0015] また、コンピュータ 100aとプログラム格納装置としてのファイルサーバ 150aとは通 信媒体としての通信路 200aを介して互いに接続されて 、る。
[0016] コンピュータ 100a内の CPU1001は ROM1003に記録されたプログラムにより通 信インターフェース 1004を制御し、ファイルサーバ 150aにコマンドを出力する。
[0017] ファイルサーバ 150aはこのコマンドにより指定されたプログラムを検索し、検索した プログラムをコンピュータ 100aに送り出す。 [0018] コンピュータ 100aの通信インターフェース 1004はこのプログラムを受信し、ワーク エリアとしての RAM1002に格納する。
[0019] CPU1001はROM1003に記録されたOS (Operating System)等のモニタプログ ラムの制御のもとで、ファイルサーバより取得したプログラムを実行する。
[0020] すなわち、 CPU1001, ROM1003,通信インターフェース 1004からなる部分が 図 18 (a)のプログラム取得部 101に相当する。また、 CPUIOOI, RAM1002, RO
M1003からなる部分がプログラム実行部 102に相当する。
[0021] ところで、非特許文献 1で開示されて!、る技術を用いた従来のプログラム取得実行 装置では、新し 、バージョンの APIに古 、バージョンの APIを含める形で新し!/、バー ジョンの APIを規定するよう取り決めてある。このため、プログラム取得部 101が取得 するプログラムの APIのバージョン力 プログラム実行部 102が準拠しているバージョ ンよりも古いバージョンであったとしても、問題なく実行することができる。
[0022] すなわち、単一のプログラムであれば、非特許文献 1で開示されて!、る技術を用い ることによって、 APIのバージョンの上位互換性を実現することができる。
[0023] 図 19は、このようなプログラムを取得し実行する場合の具体的なシステムの構成を
、ホームネットワークである HAVi (Home Audio/Video interoperability)を例にとって 示す。
[0024] この従来例は、プログラム取得実行装置としての TV受像機 100bと、プログラム格 納装置としての VTR150bとが通信媒体としての IEEE1394ケーブル 200bを介して 互 ヽに接続されて ヽる状態を示す。
[0025] 即ち、このホームネットワークは、 TV受像機 100bと VTR150bとが互いに協調して 動作を行い、 VTR150bにより再生した映像ソースを TV受像機 100bに表示するも のである。
[0026] この協調動作を可能にするために、予め VTR150bの側に TV受像機 100b用の制 御プログラムを機種ごとに用意しておき、 TV受像機 100bと VTR150bとを IEEE139 4ケーブル 200bを介して接続した時点で互いに情報をやりとりし、 TV受像機 100b の種類に応じたプログラムを VTR150bの側力もダウンロードする。
[0027] これにより、 TV受像機 100bは当該機種に最適な制御プログラムを実行して VTR1 50bと協調動作することが可能となる。
非特許文献 1 : "The HAVi Specification Version 1.1"、 〔オンライン〕、平成 13年 5月 1 5日、 HAVi Inc.,〔平成 16年 9月 27日検索〕、インターネットく http:〃 www. havi.org/ memberarea/ docs/051501 Documents/ release— May 15— HAVi 1.1 (clean). pdf > 発明の開示
発明が解決しょうとする課題
[0028] し力しながら、前記従来の構成では、複数のプログラムを取得しこれらのプログラム 同士が互いに他を利用しながら実行する際に、新 、APIと古 、APIとにそれぞれ 準拠したものが混在する場合などでは、新し 、バージョンの APIに準拠したプロダラ ムから、古いバージョンの APIに準拠したプログラムが有する機能を利用しょうとして も、古 、バージョンの APIし力利用することができな!/、。
[0029] すなわち、非特許文献 1で開示されている技術を用いることによって、プログラム実 行部 102が新しいバージョンに準拠していた場合には、新しいバージョンの APIに準 拠したプログラムと、古 、バージョンの APIに準拠したプログラムの両者を実行するこ とがでさる。
[0030] しかしながら、あるプログラムが他のプログラムを利用する場合、古いバージョンの A PIに準拠したプログラムは、新しいバージョンの APIに対応していないため、新しい バージョンの APIに準拠したプログラムからは、古いバージョンの APIし力利用できな い。
[0031] また、利用する相手のプログラムが準拠して 、る APIが新し 、バージョンか古 、バ 一ジョンかは、プログラムの実行時にしか分力もな 、。
[0032] 従って、新しいバージョンに準拠したプログラムは、利用する相手のプログラムごと に、相手のプログラムがどのバージョンの APIを用いているかをチェックし、相手が用 Vヽて 、る APIを用いて相手のプログラムが有する機能を利用しなければならな力つた
[0033] このため、複数のプログラムが協調して動作する際に、それらのバージョンの間に 不整合があつたとしても、できる限りプログラムを実行可能にするためには、いずれの プログラムも、他のプログラムの機能を利用する箇所では、各プログラムが用いている APIよりも古い全てのバージョンの APIごとにその APIを用いたコードを持っておく必 要があり、プログラムの構造の複雑ィ匕と、サイズの肥大化を招ぐという課題を有して いた。
[0034] 更に、逆に、古いバージョンに準拠したプログラムが新しいバージョンに準拠したプ ログラムを利用しょうとしても、古いバージョンに準拠したプログラムは、新しいパージ ヨンに準拠したプログラムに 、かなる機能が追加されて 、るかを知ることができず、自 分よりも新しいバージョンの APIに対応したコードを用意しておくことは通常不可能な ので、自分よりも新しいバージョンの APIについては、そもそも利用することができな い、という課題を有していた。
[0035] 本発明は、前記従来の課題を解決するためになされたもので、複数のプログラムを 取得して協調動作させる際に、それらのプログラムのバージョンの間に不整合があつ た場合でも、利用する相手のプログラムのバージョンごとに別々のコードを用意するこ となしに、相手のプログラムを利用でき、また、古いバージョンに準拠したプログラムが 新 、バージョンに準拠したプログラムを利用できるプログラム取得実行装置、プログ ラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得 実行プログラムを提供することを目的とする。
[0036] また、本発明は、単に上述のような複数のプログラム間の APIのバージョンの不整 合を解決するのみに留まらず、複数のプログラム間の通信方式の不整合全般を解決 するプログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログ ラム記録媒体、およびプログラム取得実行プログラムを提供することを目的とするもの である。
[0037] すなわち、本発明は、複数のプログラムを取得して協調動作させる際に、それらの プログラムの間の通信方式に不整合があった場合でも、利用する相手のプログラム が使用可能な通信方式の種類ごとに別々のコードを用意することなしに、相手のプロ グラムを利用できるプログラム取得実行装置、プログラム取得実行方法、プログラム取 得実行プログラム記録媒体、およびプログラム取得実行プログラムを提供することを 目的とする。
課題を解決するための手段 [0038] 前記従来の課題を解決するために、本発明の請求項 1に係るプログラム取得実行 装置は、通信媒体を介してプログラム格納装置力 プログラムを取得して実行するプ ログラム取得実行装置であって、プログラム格納装置力 プログラムを取得するプロ グラム取得部と、該プログラム取得部が取得したプログラムを実行するプログラム実行 部と、該プログラム実行部が実行する複数のプログラムが相互に通信する際の通信 方式を変換する通信方式変換部とを備えたことを特徴とするものである。
[0039] 本発明の請求項 2に係るプログラム取得実行装置は、通信媒体を介してプログラム 格納装置力もプログラムを取得して実行するプログラム取得実行装置であって、プロ グラム格納装置力 プログラムを取得するプログラム取得部と、該プログラム取得部が 取得したプログラムを実行するプログラム実行部と、該プログラム実行部が実行する 複数のプログラムが相互に通信する際の通信方式の不整合を検出する通信方式不 整合検出部とを備えたことを特徴とするものである。
[0040] 本発明の請求項 3に係るプログラム取得実行装置は、請求項 2に記載のプログラム 取得実行装置において、前記通信方式不整合検出部が通信方式の不整合を検出 した場合には、前記プログラム取得部はプログラムを再取得することを特徴とするもの である。
[0041] 本発明の請求項 4に係るプログラム取得実行装置は、請求項 2または請求項 3に記 載のプログラム取得実行装置にぉ 、て、前記通信方式不整合検出部が通信方式の 不整合を検出した場合に、前記プログラム実行部が実行する複数のプログラムが相 互に通信する際の通信方式を変換する通信方式変換部をさらに備えたことを特徴と するものである。
[0042] 本発明の請求項 5に係るプログラム取得実行装置は、請求項 3または請求項 4に記 載のプログラム取得実行装置にぉ 、て、前記プログラム取得部が再取得するプログ ラムが用いるべき、整合の取れた通信方式を決定する整合通信方式決定部をさらに 備え、前記プログラム取得部は、前記整合通信方式決定部が決定した通信方式を用 いるプログラムを再取得することを特徴とするものである。
[0043] 本発明の請求項 6に係るプログラム取得実行装置は、請求項 5に記載のプログラム 取得実行装置において、前記整合通信方式決定部は、前記プログラム取得部が既 に取得して 、るプログラムが用いて 、る通信方式の中から、整合の取れた通信方式 を決定することを特徴とするものである。
[0044] 本発明の請求項 7に係るプログラム取得実行装置は、請求項 5に記載のプログラム 取得実行装置において、前記整合通信方式決定部は、一個または複数の前記プロ グラム格納装置力 再取得可能なプログラムが用いて 、る通信方式の中から、整合 の取れた通信方式を決定することを特徴とするものである。
[0045] 本発明の請求項 8に係るプログラム取得実行装置は、請求項 5な 、し請求項 7の 、 ずれかに記載のプログラム取得実行装置にお!、て、前記整合通信方式決定部は、 整合の取れた通信方式の候補の中から、最も新しい通信方式を選択し、整合の取れ た通信方式として決定することを特徴とするものである。
[0046] 本発明の請求項 9に係るプログラム取得実行装置は、請求項 5な 、し請求項 7の 、 ずれかに記載のプログラム取得実行装置にお!、て、前記整合通信方式決定部は、 整合の取れた通信方式の候補の中から、前記プログラム取得部がプログラムを再取 得する際のコストが最も安価となるような通信方式を選択し、整合の取れた通信方式 として決定することを特徴とするものである。
[0047] 本発明の請求項 10に係るプログラム取得実行装置は、請求項 5ないし請求項 9の V、ずれかに記載のプログラム取得実行装置にぉ 、て、前記整合通信方式決定部は 、前記プログラム取得部が、前記整合通信方式決定部が決定した整合の取れた通 信方式を用いるプログラムの取得に失敗した際に、整合の取れた通信方式を再決定 し、前記プログラム取得部は、前記整合通信方式決定部が再決定した通信方式を用 いるプログラムを再取得することを特徴とするものである。
[0048] 本発明の請求項 11に係るプログラム取得実行装置は、請求項 5な 、し請求項 10の V、ずれかに記載のプログラム取得実行装置にお!、て、前記通信方式決定部が整合 の取れた通信方式を決定する方法を指示する通信方式決定方法指示部をさらに備 え、前記通信方式決定部は、前記通信方式決定方法指示部によって指示された方 法で整合の取れた通信方式を決定することを特徴とするものである。
[0049] 本発明の請求項 12に係るプログラム取得実行装置は、請求項 5な 、し請求項 11の いずれかに記載のプログラム取得実行装置において、前記プログラム取得部は、前 記通信方式不整合検出部が通信方式の不整合を検出したプログラムのみを再取得 することを特徴とするものである
[0050] 本発明の請求項 13に係るプログラム取得実行装置は、請求項 5ないし請求項 11の いずれかに記載のプログラム取得実行装置において、前記プログラム取得部は、前 記プログラム実行部が実行するのに必要な全てのプログラムを再取得することを特徴 とするちのである。
[0051] 本発明の請求項 14に係るプログラム取得実行装置は、請求項 5ないし請求項 13の いずれかに記載のプログラム取得実行装置において、前記プログラム取得部は、プ ログラムのうち、前記通信方式不整合検出部が検出した通信方式の不整合が存在す る部分のみを再取得することを特徴とするものである。
[0052] 本発明の請求項 15に係るプログラム取得実行装置は、請求項 1または請求項 4な V、し請求項 14の 、ずれかに記載のプログラム取得実行装置にぉ 、て、前記通信方 式変換部は、通信方式の変換を行う変換プログラムを実行することによって通信方式 を変換し、前記プログラム取得部は、前記通信方式変換部が実行する変換プロダラ ムを取得することを特徴とするものである。
[0053] 本発明の請求項 16に係るプログラム取得実行装置は、請求項 1または請求項 4な V、し請求項 15の 、ずれかに記載のプログラム取得実行装置にぉ 、て、前記通信方 式変換部が通信方式を変換する方法を指示する通信方式変換方法指示部を備え、 前記通信方式変換部は、前記通信方式変換方法指示部によって指示された方法で 通信方式を変換することを特徴とするものである。
[0054] 本発明の請求項 17に係るプログラム取得実行装置は、請求項 1ないし請求項 16の V、ずれかに記載のプログラム取得実行装置にぉ 、て、前記プログラム取得部がプロ グラムを取得する方法を指示するプログラム取得方法指示部を備え、前記プログラム 取得部は、前記プログラム取得方法指示部によって指示された方法でプログラムを 取得することを特徴とするものである。
[0055] 本発明の請求項 18に係るプログラム取得実行装置は、請求項 2ないし請求項 17の V、ずれかに記載のプログラム取得実行装置にぉ 、て、前記通信方式不整合検出部 は、前記プログラム実行部がプログラムの実行を開始する前に、通信方式の不整合 を検出することを特徴とするものである。
[0056] 本発明の請求項 19に係るプログラム取得実行装置は、請求項 2ないし請求項 17の V、ずれかに記載のプログラム取得実行装置にぉ 、て、前記通信方式不整合検出部 は、前記プログラム実行部がプログラムを実行中のときに、逐次通信方式の不整合を 検出することを特徴とするものである。
[0057] 本発明の請求項 20に係るプログラム取得実行装置は、請求項 3ないし 19のいずれ かに記載のプログラム取得実行装置にぉ 、て、前記プログラム取得部が再取得する 対象となっているプログラムまたはプログラムの一部を格納するプログラム格納部をさ らに備え、前記プログラム実行部は、前記プログラム取得部が再取得したプログラム またはプログラムの一部を実行した後、再び前記プログラム格納部が格納して 、るプ ログラムを実行することを特徴とするものである。
[0058] 本発明の請求項 21に係るプログラム取得実行方法は、通信媒体を介してプロダラ ム格納装置力 プログラムを取得して実行するプログラム取得実行方法であって、プ ログラム格納装置力 プログラムを取得するプログラム取得工程と、該プログラム取得 工程により取得したプログラムを実行するプログラム実行工程と、該プログラム実行ェ 程が実行する複数のプログラムが相互に通信する際の通信方式を変換する通信方 式変換工程とを含むことを特徴とするものである。
[0059] 本発明の請求項 22に係るプログラム取得実行方法は、通信媒体を介してプロダラ ム格納装置力 プログラムを取得して実行するプログラム取得実行方法であって、プ ログラム格納装置力 プログラムを取得するプログラム取得工程と、該プログラム取得 工程が取得したプログラムを実行するプログラム実行工程と、該プログラム実行工程 が実行する複数のプログラムが相互に通信する際の通信方式の不整合を検出する 通信方式不整合検出工程とを含むことを特徴とするものである。
[0060] 本発明の請求項 23に係るプログラム取得実行プログラム記録媒体は、コンピュータ に、通信媒体を介してプログラム格納装置力 プログラムを取得して実行させるプロ グラム取得実行方法を実行させるプログラムを記録した媒体であって、前記プロダラ ム取得実行方法は、プログラム格納装置力もプログラムを取得するプログラム取得ェ 程と、該プログラム取得工程により取得したプログラムを実行するプログラム実行工程 と、該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信 方式を変換する通信方式変換工程とを含むことを特徴とするものである。
[0061] 本発明の請求項 24に係るプログラム取得実行プログラム記録媒体は、コンピュータ に、通信媒体を介してプログラム格納装置力 プログラムを取得して実行させるプロ グラム取得実行方法を実行させるプログラムを記録した媒体であって、前記プロダラ ム取得実行方法は、プログラム格納装置力もプログラムを取得するプログラム取得ェ 程と、該プログラム取得工程が取得したプログラムを実行するプログラム実行工程と、 該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方式 の不整合を検出する通信方式不整合検出工程とを含むことを特徴とするものである。
[0062] 本発明の請求項 25に係るプログラム取得実行プログラムは、コンピュータに、通信 媒体を介してプログラム格納装置力 プログラムを取得して実行させるプログラム取 得実行方法を実行させるプログラムであって、前記プログラム取得実行方法は、プロ グラム格納装置力 プログラムを取得するプログラム取得工程と、該プログラム取得ェ 程により取得したプログラムを実行するプログラム実行工程と、該プログラム実行工程 が実行する複数のプログラムが相互に通信する際の通信方式を変換する通信方式 変換工程とを含むことを特徴とするものである。
[0063] 本発明の請求項 26に係るプログラム取得実行プログラムは、コンピュータに、通信 媒体を介してプログラム格納装置力 プログラムを取得して実行させるプログラム取 得実行方法を実行させるプログラムであって、前記プログラム取得実行方法は、プロ グラム格納装置力 プログラムを取得するプログラム取得工程と、該プログラム取得ェ 程が取得したプログラムを実行するプログラム実行工程と、該プログラム実行工程が 実行する複数のプログラムが相互に通信する際の通信方式の不整合を検出する通 信方式不整合検出工程とを含むことを特徴とするものである。
発明の効果
[0064] 請求項 1に記載のプログラム取得実行装置によれば、複数のプログラムを取得して 協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があつ た場合でも、前記複数のプログラムが相互に通信する際の通信方式を変換すること によって、前記複数のプログラムを相互に通信させることが可能となる。 [0065] 請求項 2に記載のプログラム取得実行装置によれば、複数のプログラムを取得して 協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があつ た場合でも、前記不整合を検出することによって必要な措置を取ることが可能となる。
[0066] 請求項 3に記載のプログラム取得実行装置によれば、請求項 2に記載のプログラム 取得実行装置による効果に加えて、前記不整合が検出されたプログラムを再取得す ることによって、前記複数のプログラムを不整合のな 、組合せで実行させることが可 能となる。
[0067] 請求項 4に記載のプログラム取得実行装置によれば、請求項 2または請求項 3に記 載のプログラム取得実行装置による効果に加えて、前記不整合が検出されたプログ ラムの通信方式を変換することによって、前記複数のプログラムを相互に通信させる ことが可能となる。
[0068] 請求項 5に記載のプログラム取得実行装置によれば、請求項 3または請求項 4に記 載のプログラム取得実行装置による効果に加えて、前記不整合が検出されたプログ ラムについて、整合の取れた通信方式を使用するプログラムを再取得することによつ て、前記複数のプログラムを相互に通信させることが可能となる。
[0069] 請求項 6に記載のプログラム取得実行装置によれば、請求項 5に記載のプログラム 取得実行装置による効果に加えて、前記複数のプログラムが使用可能な通信方式の 中から整合の取れた通信方式を決定し、前記整合の取れた通信方式を使用するプ ログラムを再取得することによって、前記複数のプログラムを相互に通信させることが 可能となる。
[0070] 請求項 7に記載のプログラム取得実行装置によれば、請求項 5に記載のプログラム 取得実行装置による効果に加えて、プログラム格納装置力も再取得可能なプロダラ ムが使用している通信方式の中から、整合の取れた通信方式を決定し、前記整合の 取れた通信方式を使用するプログラムを再取得することによって、前記複数のプログ ラムを相互に通信させることが可能となる。
[0071] 請求項 8に記載のプログラム取得実行装置によれば、請求項 5な 、し請求項 7の 、 ずれかに記載のプログラム取得実行装置による効果に加えて、できる限り新しい通信 方式を使用して、前記複数のプログラムを相互に通信させることが可能となる。 [0072] 請求項 9に記載のプログラム取得実行装置によれば、請求項 5な 、し請求項 7の 、 ずれかに記載のプログラム取得実行装置による効果に加えて、前記複数のプロダラ ムを相互に通信させるための再取得の際のコストを、できる限り安価にすることが可能 となる。
[0073] 請求項 10に記載のプログラム取得実行装置によれば、請求項 5ないし請求項 9の いずれかに記載のプログラム取得実行装置による効果にカ卩えて、整合の取れた通信 方式として決定した通信方式を使用するプログラムの再取得に失敗した際でも、整合 の取れた通信方式を再決定し、前記再決定した整合の取れた通信方式を使用する プログラムを再取得することによって、前記複数のプログラムを相互に通信させること が可能となる。
[0074] 請求項 11に記載のプログラム取得実行装置によれば、請求項 5な 、し請求項 10の いずれかに記載のプログラム取得実行装置による効果にカ卩えて、整合の取れた通信 方式を決定する方法をユーザが選択でき、前記ユーザによって選択された方法によ つて決定した、整合の取れた通信方式を使用するプログラムを再取得することによつ て、前記複数のプログラムを相互に通信させることが可能となる。
[0075] 請求項 12に記載のプログラム取得実行装置によれば、請求項 5な 、し請求項 11の いずれかに記載のプログラム取得実行装置による効果に加えて、前記複数のプログ ラムの全てではなぐ不整合が検出されたプログラムのみを再取得することによって、 プログラムの効率的な再取得を実現することが可能となる。
[0076] 請求項 13に記載のプログラム取得実行装置によれば、請求項 5な 、し請求項 11の いずれかに記載のプログラム取得実行装置による効果に加えて、前記複数のプログ ラムの全てを再取得することによって、前記複数のプログラムの一部のみを取得する ことによる更なる不整合の発生を回避することが可能となる。
[0077] 請求項 14に記載のプログラム取得実行装置によれば、請求項 5ないし請求項 13の いずれかに記載のプログラム取得実行装置による効果にカ卩えて、プログラムのうち、 通信方式の不整合が存在する部分のみを部分的に再取得することによって、再取得 のコストを更に極小化することが可能となる。
[0078] 請求項 15に記載のプログラム取得実行装置によれば、請求項 1または請求項 4な いし請求項 14のいずれかに記載のプログラム取得実行装置による効果に加えて、プ ログラム格納装置から取得された変換プログラムによって、前記複数のプログラムが 相互に通信する際の通信方式を変換することによって、前記複数のプログラムが相 互に通信する際の通信方式の変換方法自体の変更が可能となる。
[0079] 請求項 16に記載のプログラム取得実行装置によれば、請求項 1または請求項 4な いし請求項 15のいずれかに記載のプログラム取得実行装置による効果に加えて、通 信方式を変換する方法をユーザが選択でき、前記ユーザによって選択された方法に よって、前記複数のプログラムが相互に通信する際の通信方式を変換することによつ て、前記複数のプログラムを相互に通信させることが可能となる。
[0080] 請求項 17に記載のプログラム取得実行装置によれば、請求項 1ないし請求項 16の いずれかに記載のプログラム取得実行装置による効果にカ卩えて、プログラムを取得 する方法をユーザが選択でき、前記ユーザによって選択された方法によって、不整 合が検出されたプログラムを再取得することによって、前記複数のプログラムを相互 に通信させることが可能となる。
[0081] 請求項 18に記載のプログラム取得実行装置によれば、請求項 2ないし請求項 17の いずれかに記載のプログラム取得実行装置による効果にカ卩えて、プログラムの実行 を開始する前に通信方式の不整合を検出することによって、プログラムの実行中のプ ログラムの再取得や再実行を回避することが可能となる。
[0082] 請求項 19に記載のプログラム取得実行装置によれば、請求項 2ないし請求項 17の いずれかに記載のプログラム取得実行装置による効果にカ卩えて、プログラムの実行 中に、逐次通信方式の不整合を検出することによって、プログラムの実行前の不整合 の検出による実行開始の遅れを回避することが可能となる。
[0083] 請求項 20に記載のプログラム取得実行装置によれば、請求項 3ないし請求項 19の いずれかに記載のプログラム取得実行装置による効果に加えて、不整合が検出され た元々のプログラムを格納したまま、当該プログラムについて、整合の取れた通信方 式を使用するプログラムを再取得して実行することによって、通信方式の不整合を解 消した後で、元々のプログラムを実行することが可能となる。
[0084] 請求項 21に記載のプログラム取得実行方法によれば、複数のプログラムを取得し て協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があ つた場合でも、前記複数のプログラムが相互に通信する際の通信方式を変換するこ とによって、前記複数のプログラムを相互に通信させることが可能となる。
[0085] 請求項 22に記載のプログラム取得実行方法によれば、複数のプログラムを取得し て協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があ つた場合でも、前記不整合を検出することによって必要な措置を取ることが可能とな る。
[0086] 請求項 23に記載のプログラム取得実行プログラム記録媒体によれば、複数のプロ グラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方 式に不整合があった場合でも、前記複数のプログラムが相互に通信する際の通信方 式を変換することによって、前記複数のプログラムを相互に通信させることが可能とな る。
[0087] 請求項 24に記載のプログラム取得実行プログラム記録媒体によれば、複数のプロ グラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方 式に不整合があった場合でも、前記不整合を検出することによって必要な措置を取 ることが可能となる。
[0088] 請求項 25に記載のプログラム取得実行プログラムによれば、複数のプログラムを取 得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合 力 Sあった場合でも、前記複数のプログラムが相互に通信する際の通信方式を変換す ることによって、前記複数のプログラムを相互に通信させることが可能となる。
[0089] 請求項 26に記載のプログラム取得実行プログラムによれば、複数のプログラムを取 得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合 力 Sあった場合でも、前記不整合を検出することによって必要な措置を取ることが可能 となる。
図面の簡単な説明
[0090] [図 1(a)]図 1 (a)は、本発明の実施の形態 1におけるプログラム取得実行装置の構成 図である。
[図 1(b)]図 1 (b)は、本発明の実施の形態 1におけるプログラム取得実行装置の階層 構成を示す図である。
圆 1(c)]図 1 (c)は、本発明の実施の形態 1におけるプログラム取得実行装置の階層 構成を示す図である。
圆 1(d)]図 1 (d)は、本発明の実施の形態 1におけるプログラム取得実行装置の階層 構成を示す図である。
圆 1(e)]図 1 (e)は、本発明の実施の形態 1におけるプログラム取得実行装置のプロ グラムファイルの構造を示す図である。
[図 1(D]図 1 (f)は、本発明の実施の形態 1におけるプログラム取得実行装置の APIの 変換動作のフローチャートを示す図である。
圆 1(g)]図 1 (g)は、本発明の実施の形態 1におけるプログラム取得実行装置の API のバージョンの不一致を検出する動作を示す模式図である。
圆 1(h)]図 1 (h)は、本発明の実施の形態 1におけるプログラム取得実行装置を含む システムの構成例を示すブロック図である。
圆 2(a)]図 2 (a)は、本発明の実施の形態 1の変形例 1である携帯電話機の構成例を 示すブロック図である。
圆 2(b)]図 2 (b)は、本発明の実施の形態 1の変形例である携帯電話機のプログラム 更新を行うシステムの構成例を示すブロック図である。
[図 2(c)]図 2 (c)は、図 2 (b)のサーバの動作のフローチャートを示す図である。
圆 2(d)]図 2 (d)は、図 2 (b)の携帯電話機の動作のフローチャートを示す図である。 圆 2(e)]図 2 (e)は、図 2 (b)の携帯電話機が更新用プログラムリストを表示して 、る状 態を示す図である。
圆 2(£)]図 2 (f)は、図 2 (b)の携帯電話機の更新用プログラムリストを選択している状 態を示す図である。
圆 2(g)]図 2 (g)は、図 2 (b)の携帯電話機の更新希望リストのデータ構造の例を示す 図である。
[図 2(h)]図 2 (h)は、図 2 (b)のサーバの動作のフローチャートを示す図である。 圆 2(0]図 2 (i)は、図 2 (b)の携帯電話機の動作のフローチャートを示す図である。 圆 3(a)]図 3 (a)は、本発明の実施の形態 2におけるプログラム取得実行装置の構成 図である。
[図 3(b)]図 3 (b)は、本発明の実施の形態 2におけるプログラムファイルのデータ構造 を示す図である。
[図 3(c)]図 3 (c)は、本発明の実施の形態 2におけるデータファイルのデータ構造を示 す図である。
[図 4]図 4は、本発明の実施の形態 3におけるプログラム取得実行装置の構成図であ る。
[図 5]図 5は、本発明の実施の形態 4におけるプログラム取得実行装置の構成図であ る。
[図 6]図 6は、本発明の実施の形態 5ないし 10におけるプログラム取得実行装置の構 成図である。
[図 7]図 7は、本発明の実施の形態 1におけるプログラム取得実行装置の動作の概略 のフローチャートを示す図である。
[図 8]図 8は、本発明の実施の形態 1におけるプログラム取得実行装置における、プロ グラム実行部で実行されるプログラムが用いる APIの一例を示す図である。
圆 9(a)]図 9 (a)は、本発明の実施の形態 1におけるプログラム取得実行装置におけ る、通信方式変換部による通信方式の変換例を示す図である。
圆 9(b)]図 9 (b)は、本発明の実施の形態 1におけるプログラム取得実行装置の通信 方式変換部を通信方式変換プログラムにより構成した場合の構成例を示す図である 圆 9(c)]図 9 (c)は、本発明の実施の形態 1におけるプログラム取得実行装置の通信 方式変換部を通信方式変換プログラムにより構成した場合に使用する変換表の一例 を示す図である。
[図 10]図 10は、本発明の実施の形態 2におけるプログラム取得実行装置の動作の概 略のフローチャートを示す図である。
圆 11(a)]図 11 (a)は、本発明の実施の形態 3におけるプログラム取得実行装置の動 作の概略のフローチャートを示す図である。
[図 11(b)]図 11 (b)は、図 11 (a)のステップ S26のより詳細な処理の一例のフローチヤ ートを示す図である。
[図 12]図 12は、本発明の実施の形態 4におけるプログラム取得実行装置の動作の概 略のフローチャートを示す図である。
[図 13(a)]図 13 (a)は、本発明の実施の形態 5におけるプログラム取得実行装置の動 作の概略のフローチャートを示す図である。
[図 13(b)]図 13 (b)は、図 13 (a)のステップ S59のより詳細な処理の一例のフローチヤ ートを示す図である。
[図 13(c)]図 13 (c)は、図 13 (a)のステップ S59で使用する通信方式の上位互換性の 表の一例を示す図である。
[図 13(d)]図 13 (d)は、本発明の実施の形態 6におけるプログラム取得実行装置の処 理の詳細なフローチャートを示す図である。
[図 13(e)]図 13 (e)は、本発明の実施の形態 7におけるプログラム取得実行装置の処 理の詳細なフローチャートを示す図である。
圆 13(£)]図 13 (f)は、本発明の実施の形態 8におけるプログラム取得実行装置の処 理の詳細なフローチャートを示す図である。
圆 13(g)]図 13 (g)は、本発明の実施の形態 8におけるプログラム取得実行装置で使 用される通信方式の新しさの表を示す図である。
[図 13(h)]図 13 (h)は、本発明の実施の形態 9におけるプログラム取得実行装置の処 理の詳細なフローチャートを示す図である。
[図 13(0]図 13 (i)は、図 13 (h)のステップ S596cで使用するプログラムファイルのデ ータ構造の他の例を示す図である。
[図 13(j)]図 13 (j)は、図 13 (h)のステップ S596cで使用するプログラムファイルのデ ータ構造の他の例を示す図である。
[図 13(k)]図 13 (k)は、本発明の実施の形態 10におけるプログラム取得実行装置の 動作の概略のフローチャートを示す図である。
[図 14(a)]図 14 (a)は、本発明の実施の形態 11ないし 15におけるプログラム取得実 行装置の構成図である。
[図 14(b)]図 14 (b)は、本発明の実施の形態 11におけるプログラム取得実行装置の 動作の概要のフローチャートを示す図である。
[図 14(c)]図 14 (c)は、本発明の実施の形態 12におけるプログラム取得実行装置の 動作の概要のフローチャートを示す図である。
[図 14(d)]図 14 (d)は、本発明の実施の形態 13におけるプログラム取得実行装置の 動作の概要のフローチャートを示す図である。
[図 14(e)]図 14 (e)は、本発明の実施の形態 14におけるプログラム取得実行装置の 動作の概要のフローチャートを示す図である。
圆 14(£)]図 14 (f)は、本発明の実施の形態 15におけるプログラム取得実行装置の動 作の概要のフローチャートを示す図である。
[図 15(a)]図 15 (a)は、本発明の実施の形態 16におけるプログラム取得実行装置の 構成図である。
[図 15(b)]図 15 (b)は、本発明の実施の形態 16におけるプログラム取得実行装置の 動作の概要のフローチャートを示す図である。
[図 16(a)]図 16 (a)は、本発明の実施の形態 17ないし 19におけるプログラム取得実 行装置の構成図である。
[図 16(b)]図 16 (b)は、本発明の実施の形態 17におけるプログラム取得実行装置の 動作の概要のフローチャートを示す図である。
[図 16(c)]図 16 (c)は、本発明の実施の形態 18におけるプログラム取得実行装置の 動作の概要のフローチャートを示す図である。
[図 16(d)]図 16 (d)は、本発明の実施の形態 19におけるプログラム取得実行装置の 動作の概要のフローチャートを示す図である。
[図 17(a)]図 17 (a)は、本発明の実施の形態 20におけるプログラム取得実行装置の 構成図である。
圆 17(b)]図 17 (b)は、本発明の実施の形態 20におけるプログラム取得実行装置の 動作の概要のフローチャートを示す図である。
[図 18(a)]図 18 (a)は、従来のプログラム取得実行装置の構成図である。
圆 18(b)]図 18 (b)は、従来のプログラム取得実行装置のより具体的な構成を示す図 である。 [図 19]図 19は、従来のプログラム取得実行装置をホームネットワークに応用した場合 の構成例を示す図である。
符号の説明
[0091] 100 プログラム取得実行装置
101 プログラム取得部
102 プログラム実行部
150 プログラム格納装置
203 通信方式変換部
304 通信方式不整合検出部
605 整合通信方式決定部
1406 通信方式決定方法指示部
1507 通信方式変換方法指示部
1608 プログラム取得方法指示部
1709 プログラム格納部
発明を実施するための最良の形態
[0092] 以下、本発明の実施の形態について、図面を参照しながら説明する。
[0093] (実施の形態 1)
図 1 (a)は、本発明の実施の形態 1におけるプログラム取得実行装置の構成図であ る。図 1において、図 18 (a)と同じ構成要素については同じ符号を用い、説明を省略 する。
[0094] 図 1 (a)において、プログラム取得実行装置 100は、図 18 (a)における構成に加え て、通信方式変換部 203を備えている。
この通信方式変換部 203は、 ROM1003に記録された通信方式変換プログラムと
、 CPU1001と、そのワークエリアとなる RAM1002とから構成される。
[0095] 通信方式変換部 203は、プログラム実行部 102が実行する複数のプログラムが相 互に通信する際の通信方式を変換する。
[0096] ここで、通信方式は通信プロトコルの変換のみならず、 APIの変換を含むものとする また、プログラムの通信はプログラム間での関数の呼び出しゃプログラム間でのデ ータのやりとりも含むものとする。
[0097] 図 1 (b)ないし図 1 (d)は図 1 (a)のプログラム取得実行装置の階層構造を示す。
ハードウェア層 L1は図 18 (b)に示した通り、 CPUIOOI, RAM1002, ROM100
3,および通信インターフェース 1004を有し、これらがバス 1005を介して互いに接続 されることで構成されて!、る。
[0098] ハードウェア層 L1の上にはリアルタイム OSやマルチタスク OS等の OS層 L2が実 装され、その上に ίお ava (登録商標)仮想マシン (Virtual Machine ;VM)等のインタプ リタ層 L3が実装される。インタプリタ層 L3上にはアプリケーション層 L4が実装される。 なお、図 1 (c)に示すように OS層 L2とインタプリタ層 L3とは階層が逆になつていても よい。また、図 1 (d)に示すように、インタプリタ層 L3とアプリケーション層 L4との間に はミドルウェア層 L5が実装されることもある。
[0099] ミドルウェアは例えば通信処理やデータベース管理用のプログラム等がこれに該当 し、通信処理やデータベース管理等の特定の分野で必ず必要とされる基本的な機 能を提供するものである。
[0100] そして、ハードウェア層 L1は CPU1001, RAM1002, ROM1003,および通信ィ ンターフェース 1004力もなるハードウェア全体により構成される。
[0101] また、 OS層 L2,インタプリタ層 L3,アプリケーション層 L4,ミドノレウェア層 L5は、 R
OM1003に記録された OS等のモニタプログラム, Java (登録商標)仮想マシン等の インタプリタ,アプリケーション,ミドルウェアのプログラムによりそれぞれ構成される。
[0102] プログラム取得部 101は、 ROM1003に記録されたモニタプログラムと、 CPU100
1と、これにより制御される通信インターフェース 1004により構成される。
[0103] また、プログラム実行部 102は、 ROM1003に記録されたモニタプログラムと、 CP
U1001と、そのワークエリアとなる RAM1002により構成される。
[0104] 上記プログラム取得実行装置 100の動作の概略について、図 7のフローチャートを 参照しながら説明する。
[0105] 処理開始 (ステップ S1)後、プログラム取得部 101は、一個または複数のプログラム 格納装置 150から、一個または複数のプログラムを取得する (ステップ S 2)。 [0106] なお、プログラム格納装置 150とプログラム取得実行装置 100との間の通信媒体 2 00やプログラムの取得方法は本発明の請求の範囲とは無関係であり、本発明の請 求の範囲は、プログラム格納装置 150とプログラム取得実行装置 100との間の通信 媒体やプログラムの取得方法によって制限されるものではない。
[0107] 例えば、具体的な通信媒体としては、有線系であれば LAN(Local Area Network),
CATV(Cable TV)網、 FTTH(F¾er To The Home)網、固定電話通信網などでもよく、 また、無線系であれば赤外線通信インターフェース、 bluetooth (商標)、移動体通信 網、衛星通信網などでもよぐその種類を問わない。
[0108] プログラム実行部 102は、プログラム取得部 101が取得した一個または複数のプロ グラムを実行する (ステップ S3)。
[0109] 通信方式変換部 203は、プログラム実行部 102が実行する複数のプログラムが相 互に通信する際の通信方式を変換する (ステップ S4)。
[0110] プログラム実行部 102が実行している一個または複数のプログラムの実行が全て終 了したら、処理を終了(ステップ S6)する。そうでなければ、ステップ S4を繰り返す (ス テツプ S5)。
[0111] なお、本実施の形態では、通信方式変換部 203は、プログラムの実行が全て終了 するまで繰り返し通信方式の変換を行うと 、う例を記述したが、通信方式変換部 203 による通信方式の変換のタイミングは、この例の場合のみに制限されるわけではなく 、本発明の請求の範囲は、通信方式変換部 203による通信方式の変換のタイミング によって制限されるものではない。
[0112] 通信方式変換部 203による通信方式の変換の一例を、図 8及び図 9を用いて説明 する。
図 8に、プログラム実行部 102で実行されるプログラムが用いる APIの一例を示す。
[0113] この例では、プログラム実行部 102で実行されるプログラムが用いる APIには、「Ver sion 1」及び「Version 2」の二つのバージョンが存在するものとしている。「Version 2」 は「Version 1」よりも新しいプログラムであり、「Version 2」は「Version 1」に対して上 位互換性があるものとする。
[0114] 即ち、「Version 2」は「Version 1」の機能を拡張したものであり、なおかつ「Version 1」と互換性がある。例えば、 multiplyjと「add」と!、う二つの APIがあり、「multiply」と いう APIは、「Version 2」から追加されたものとしている。
[0115] 図 8に、図 7で示した APIの一例を用いた場合の、通信方式変換部 203による通信 方式の変換例を示した。
[0116] この例では、プログラム実行部 102で実行されるプログラムとして、「プログラム A」及 び「プログラム B」の二つが存在するとしている。「プログラム A」は、図 7で示した API の例のうち、「Version 2」の APIを用いて作られており、「プログラム B」は、「Version 1
」の APIを用いて作られて!/、るとする。
[0117] この例のように、 rversion 2」の APIを用いている「プログラム A」が、「Version 2」の
APIのみに存在している「multiply」という API要求を「プログラム B」に要求した場合、 そのままでは、「Version 1」の APIを用いている「プログラム B」はこれを解釈実行する ことができない。
[0118] そこで、通信方式変換部 203は、「multiply」という API要求を、「Version 1」の API である「add」 t 、う API要求の組合せに変換し、この変換された API要求を「プログラ ム¾に要求する。これによつて、異なるバージョンの APIを用いて作られている「プロ グラム A」と「プログラムおとの間の通信が実現できる。
[0119] 通信方式変換部 203は、例えば図 9 (b)に示すように、プログラム実行部 102から 送られてきた API要求を解析し、その関数(図 9 (a)の例では multiply)とパラメータ( 図 9 (a)の例では (5,3))とを切り分ける(ステップ S4a)。次に、この関数に基づいて図 9 (c)に示すような API変換表を検索することで、これを変換可能な下位 Versionの A PI (図 9 (a)の例では add)を獲得する(ステップ S4b)。そして、変換した下位 Version の APIと図 9 (b)のステップ S4aで得られたパラメータとを用いて下位 Versionの API 要求を生成し、これを変換結果としてプログラム実行部 102に返す (ステップ S4c)。
[0120] このように、通信方式変換部 203における変換の実行部は、 APIの変換表を用い て変換を行う APIの変換プログラムとして記述するなどの実現方法があるが、本発明 の請求の範囲は、変換の実行方法によって制限されるものではない。
[0121] なお、この例では、 API要求の内容の表現方法として C言語に似た表現を用いたが 、 API要求の内容の表現方法はここで例示した表現のみに制限されるものではなぐ また、本発明の請求の範囲は、 API要求の表現方法によって制限されるものではな い。
[0122] また、この例では、 APIのバージョンの不整合、すなわち APIの新, 旧のバージョン が通信する場合を例にとって説明したが、本発明は、複数のプログラム間の APIのバ 一ジョン不整合のみに留まらず、複数のプログラム間の通信方式の不整合全般を解 決するものである。
[0123] すなわち、本発明は、複数のプログラムを取得して協調動作させる際に、それらの プログラムの間の通信方式に不整合があった場合でも、利用する相手のプログラム が使用可能な通信方式の種類ごとに別々のコードを用意することなしに、相手のプロ グラムを利用できるプログラム取得実行装置を提供することが可能である。
[0124] 図 8の APIの変換は、例えば図 1 (e)〖こ示すように、プログラムのヘッダに含まれる、 プログラムのバージョンナンバーに基づき APIの不整合を検出した場合等に行えば よい。
[0125] 即ち、図 1 (f) ,図 1 (g)に示すように、互いに通信を行おうとするプログラムファイル PFのヘッダ PHDの中からバージョンナンバー PVNを取得し(ステップ S101)、バー ジョンナンバー同士を比較し、これらが一致するか否かを検討し (ステップ S 102)、低 V、バージョンの APIでは用意されて!、な!/、APIを呼び出すか否かを検出し (ステップ S103)、呼び出す場合は高いバージョンの APIを低いバージョンの APIに変換する( ステップ S 104)。
[0126] 図 1 (h)は、このようなコンピュータがプログラムをダウンロードして実行するシステム の構成例を示し、プログラム取得実行装置としてのコンピュータ 100aが通信媒体とし ての通信路 200aを介してプログラム格納装置としてのファイルサーバ 150aにァクセ スし、コンピュータ 100aが指定した所望のプログラムをファイルサーバ 150aが検索し 、検出したプログラムをデータとして通信路 200aを介してコンピュータ 100aに返送し 、コンピュータ 100aがこのプログラムを実行する。
[0127] そして、このようにダウンロードしたプログラムが複数存在し、これらのプログラム同 士がプログラム間通信により互いの APIを呼び出す際、その APIのバージョンが異な る場合に上述のような通信方式の変換を行う。 [0128] これにより、本来ならばプログラム間の通信を行うことができず、プログラム同士の協 調動作やデータの交換等が不可能であったものが、互いに APIのバージョンが異な る場合であってもプログラム間通信が可能となり、予め低いバージョンの APIを用意 する必要がなくなり、プログラムの複雑ィ匕ゃプログラムサイズの肥大化を防止すること が可能となる。
[0129] また、この場合も上述したように、通信プロトコルが異なる場合にその通信プロトコル を変換することで、プログラム間の通信が可能となるようにしてもょ 、。
[0130] また、このようなコンピュータや、 HAViを始めとする家庭内ネットワーク対応家電機 器のみならず、インターネット接続が可能な家電機器や、携帯電話機を始めとする有 線 ·無線の通信網に接続可能な機器、テレビ受信機やラジオ受信機を始めとする放 送網に接続可能な機器等において、そのプログラムを自動的にアップデートする場 合などでも、本実施の形態を応用することが可能である。
[0131] (実施の形態 1の変形例 1)
図 2 (a)は、実施の形態 1の変形例 1による、インターネット接続が可能な携帯電話 機のブロック構成を示す。
この携帯電話機 100cは、種々の信号処理を行う信号処理部 1102と、アンテナ 11 01で受信された無線信号 Nを受信信号として信号処理部 1102に出力するとともに、 信号処理部 1102にて生成された送信信号を無線信号 Nとしてアンテナ 1101から送 信する無線通信部 1103とを有して 、る。
[0132] また、上記携帯電話機 100cは、画像表示を行う液晶パネル (LCD)等の表示部 11 06と、音声を入力するためのマイク 1108と、音声信号を再生するスピーカ 1107と、 上記信号処理部 1102にて処理された画像信号を受け、上記表示部 1106を、画像 信号に基づ ヽて画像表示が行われるよう制御する表示制御部 1104と、マイク 1108 からの入力音声信号を信号処理部 1102に出力するとともに、信号処理部 1112にて 処理された音声信号をスピーカ 1107に出力する音声入出力部 1105とを有して 、る
[0133] さらに、この携帯電話機 100cは、キーボード 1110等により入力したメールアドレス により、他のインターネット接続対応の携帯電話機やパソコン等との間で電子メール のやりとりを可能にするメール処理部 1113を有しており、キーボード 1110から入力 したメッセージや必要に応じてカメラ部 1111で撮影した画像ファイルを添付ファイル として含む電子メールを送受信することが可能である。これはメール処理部 1113が 生成した電子メールデータを無線通信部 1103により電波として送り出し、無線通信 部 1103で受信した電子メールデータを信号処理部 1102を介して表示制御部 1104 により、表示部 1106に電子メールメッセージや添付画像等を映し出すように制御部 1109が各部の制御を行うことで可能となる。
[0134] また、 Web閲覧処理部 1112は、キーボード 1110等により入力した URL (Uniform Resource Locater)により指定した Webページ(ホームページ)のデータを無線通信 部 1103を介して図示しない Webサーバに要求する。 Webサーバは要求された Web ページのデータを返送する。 Web閲覧処理部 1112は Webサーバから返送された W ebページデータを解釈し、表示制御部 1104により表示部 1106に Webページを表 示するよう制御部 1109が各部の制御を行うことで、 Webページの閲覧が可能となる
[0135] また、 ROM1115は、ゲームや電卓等の各種アプリケーションが格納されており、キ 一ボード 1110等の操作により制御部 1109がこれを実行する。 RAMI 114は制御部 1109が各種のソフトウェアを実行する際のワークエリア等として使用される。
[0136] このようにインターネット接続可能な携帯電話機 100cはその各種機能を、 CPUに 相当する制御部 1109のソフトウェアにより実現している力 ソフトウェアが ROMに固 定されているため、出荷後にバグが発見された場合などは、実機を回収し交換を行う 場合が起こり得る。
[0137] そこで、バグをフィックスしたプログラム (以下、更新用プログラムと称す)を携帯電話 機に送り、携帯電話機側で手動あるいは自動でアップデートを行うことにより、低コス トでバグに対応することが考えられる。その更新用プログラムは出荷時に携帯電話機 に格納されて 、るソフトウェアよりも高 、バージョンナンバーを有する。
[0138] 図 2 (b)はこのようなアップデートを行う際のソフトウェア更新システムを示すブロック 図であり、図 2 (c)ないし図 2 (i)はそのソフトウェア更新動作の一例を示すフローチヤ ートである。 [0139] 携帯電話機 100cと更新用プログラムサーバ 150cとは、基地局 2001およびインタ 一ネット 2002からなる通信網 200cを介して接続されている。
[0140] まず、図 2 (c)に示すように、更新用プログラムサーバ 150cは、携帯電話機メーカ 側からの更新通知の有無を検出することで、更新用プログラムが用意されたか否かを 確認する (ステップ S 201)。
[0141] プログラムの更新版が用意されている場合、更新用プログラムサーバ 150cはメーカ の更新情報に基づき、その更新用プログラムを蓄積して 、るデータベースを更新す る (ステップ S202)。その後、更新用プログラムサーバ 150cは該当するメーカ,機種 の携帯電話機に対しプログラムの更新があった旨を一斉に通知する (ステップ S203
) o
[0142] 次に、図 2 (d)に示すように、携帯電話機 100cの側では、更新用プログラムサーバ 力もの一斉通知があった力否かを検出し (ステップ S211)、一斉通知が検出された 場合、ユーザがプログラムの更新を希望する力否かを検出する (ステップ S212)。
[0143] キーボード操作等によりユーザが更新を希望する旨を入力した場合、携帯電話機 1 00cは更新があったプログラムのリストを更新用プログラムサーバから取得し (ステップ S213)、更新があったプログラムの一覧を、図 2 (e)に示すように表示部に表示する( ステップ S214)。
[0144] ユーザは表示部に表示された更新プログラムリストを参照し、その中から更新を希 望するプログラムをキーボード操作等により指定する (ステップ S215)。図 2 (f)はュ 一ザが指定したプログラムが反転表示されている状態を示す。
[0145] この操作を繰り返すことでユーザが更新を希望するプログラムを全て指定し終われ ば (ステップ S216)、携帯電話機 100cはメーカ名,機種名,更新希望プログラム名を 示したリストを更新用プログラムサーバに送信する (ステップ S217)。図 2 (g)はこの更 新を希望するプログラムのリスト ULを示し、 MKRは携帯電話機のメーカ名を示すフ ィールド、 MODは機種名を示すフィールドである。 UPNは更新を希望するプロダラ ム名を示すフィールドで、可変長もしくは十分な大きさのフィールドを確保すればょ ヽ
[0146] 次に、図 2 (h)に示すように、更新用プログラムサーバ 150cは携帯電話機 100cか ら更新用アクセスがあった力否かを検出し (ステップ S221)、更新用アクセスがあった 場合、携帯電話機側から送られたリスト中のメーカ名,機種名,更新希望プログラム 名に基づきデータベースを検索し (ステップ S222)、検索されたプログラムを携帯電 話機側に返送する (ステップ S223)。
[0147] 次に、図 2 (i)に示すように、携帯電話機 100cは更新用プログラムサーバ 150cから 更新用プログラムの返送があった力否かを検出し (ステップ S231)、返送されたプロ グラムがあった場合はこの更新用プログラムを電気的に書き換え可能な ROMに書き 込み (ステップ S232)、書き込みが終了した後に必要に応じて自動的に再起動する( ステップ S233)。
[0148] このように、携帯電話機 100cは基地局 2001に対しプログラムのアップデートを行う 旨のコマンドを送信し、基地局 2001はこれをインターネット 2002を介して更新用プ ログラムサーバ 150cに送信する。更新用プログラムサーバ 150cはこの携帯電話機 1 00cから受信したコマンドに応じて、携帯電話機 100cが使用しているプログラムでァ ップデートが必要なものを検索する。その検索の対象は、 OS、インタプリタ、ミドルゥ エア、アプリケーションのいずれもが含まれる。
[0149] そして、更新用プログラムサーバ 150cはアップデートが必要なプログラムを検索す ると、その検索された更新用プログラムをインターネット 2002を介して基地局 2001に 送信し、基地局 2001はこれを無線電波により携帯電話機 100cに返送する。
[0150] 携帯電話機 100cでは返送された更新用プログラムにより ROM1115を上書きし、 必要に応じて再起動を行うことにより、更新されたプログラムを実行することが可能と なる。
[0151] しかしながら、個々のプログラムのバグはこの種のアップデートにより解消できたとし ても、複数のプログラムが互いに連携して動作するため、互いの APIのバージョンや 通信プロトコルの相違等により、プログラム間の通信が行えないことがある。
[0152] そこで、上述のような通信方式変換部 203により、バージョンの低い APIには含まれ て!ヽな 、APIを低 、バージョンの APIに変換したり、プロトコルを変換したりすることで 、複数のプログラムが同時に動作する場合にプログラム間の連携を行うことが可能と なる。携帯電話機 100cの場合、通信方式変換部 203は、 ROM1115に記憶された プログラムと、制御部 1109と、ワークエリアとしての RAMI 114と力も構成される。
[0153] このように、本実施の形態 1の構成によるプログラム取得実行装置によれば、プログ ラム実行部 102が複数のプログラムを取得して協調動作させる際に、前記複数のプ ログラムが使用可能な通信方式に不整合があった場合でも、通信方式変換部 203が 前記複数のプログラムが相互に通信する際の通信方式を変換することによって、前 記複数のプログラムを相互に通信させることが可能となる。
[0154] (実施の形態 2)
図 3 (a)は、本発明の実施の形態 2におけるプログラム取得実行装置の構成図であ る。図 3 (a)において、図 18 (a)と同じ構成要素については同じ符号を用い、説明を 省略する。
[0155] 図 3 (a)において、プログラム取得実行装置 100は、図 1 (a)の通信方式変換部 20
3に代えて通信方式不整合検出部 304を備えている。
[0156] この通信方式不整合検出部 304は、 ROM1003に記録された通信方式不整合検 出プログラムと、 CPU1001と、そのワークエリアとなる RAM1002とから構成される。
[0157] 通信方式不整合検出部 304は、プログラム実行部 102が実行する複数のプロダラ ムが相互に通信する際の通信方式の不整合を検出する。
[0158] 上記プログラム取得実行装置 100の動作の概略について、図 10のフローチャート を参照しながら説明する。図 10において、ステップ S11からステップ S13までは、本 発明の実施の形態 1における、図 7で示したフローチャートのステップ S1からステップ
S3と同様なので、説明を省略する。
[0159] ステップ S13の終了後、通信方式不整合検出部 304は、プログラム実行部 102が 実行する複数のプログラムが相互に通信する際の通信方式の不整合を自動的に検 出する (ステップ S 14)。
[0160] 通信方式不整合検出部 304における通信方式の不整合の検出部としては、図 3 (b )に示すように、プログラム実行部 102が実行するプログラムを収録したプログラムファ ィル PFや、図 3 (c)に示すようにそれらのプログラムが相互に通信し合う際などのデ ータを収録したデータファイルの、特定の位置(例えばプログラムヘッダ PHD中の一 部やデータヘッダ DHDの先頭バイトなど)に、通信プロトコルの名称(例えば TCPZ IP(Transmission Control Protocol/Internet Protocol)や OSI(Open Systems Intercon nection) )等、通信方式を特定可能な情報を表わす通信方式識別子 CIDを予め埋 め込んでおき、それを図 1 (f)と同様のフローチャートと同様の処理により通信を行う プログラム同士で一致している力否かをチェックするなどの方法がある力 本発明の 請求の範囲は、通信方式の不整合の検出部によって制限されるものではない。
[0161] ステップ S14で通信方式の不整合を検出した場合には、ユーザに通知するなど必 要な措置を取る (ステップ S 16)。例えば携帯電話機などでは、表示部に不整合が生 じた旨のメッセージ表示を行う。不整合が検出できない場合は、ステップ S17に進む( ステップ S 15)。
[0162] プログラム実行部 102が実行している一個または複数のプログラムの実行が全て終 了したら、処理を終了する(ステップ S18)。そうでなければ、ステップ S14からステツ プ S 17までを繰り返す (ステップ S 17)。
[0163] このように、本実施の形態 2の構成によれば、プログラム実行部 102が複数のプログ ラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式 に不整合があった場合でも、通信方式不整合検出部 304が前記不整合を検出する ことによって、ユーザへの通知など、必要な措置を採ることが可能となる。
[0164] なお、本実施の形態 2では、通信方式不整合検出部 304は、プログラムの実行が 全て終了するまで繰り返し通信方式の不整合の検出を行うという例について記述し たが、通信方式不整合検出部 304による通信方式の不整合の検出のタイミングは、 この例の場合のみに制限されるわけではなぐ本発明の請求の範囲は、通信方式不 整合検出部 304による通信方式の不整合の検出のタイミングによって制限されるもの ではない。
[0165] (実施の形態 3)
図 4は、本発明の実施の形態 3におけるプログラム取得実行装置の構成図である。 図 4にお 、て、図 18 (a)及び図 3 (a)と同じ構成要素につ!/、ては同じ符号を用い、説 明を省略する。
[0166] 図 4において、プログラム取得実行装置 100は、図 3 (a)における構成と、構成要素 は同じである。 [0167] ただし、図 3 (a)における構成とは異なり、通信方式不整合検出部 304が通信方式 の不整合を検出した場合には、プログラム取得部 101は、プログラムを再取得する。
[0168] 上記プログラム取得実行装置 100の動作の概略について、図 11 (a)のフローチヤ ートを参照しながら説明する。
[0169] 図 11 (a)において、ステップ S21からステップ S24までは、本発明の実施の形態 2 における、図 10で示したフローチャートのステップ S11からステップ S14と同様なの で、説明を省略する。
[0170] ステップ S24の終了後、ステップ S24で通信方式の不整合を検出した場合には、プ ログラム取得部 101は、プログラムを再取得し (ステップ S26)、ステップ S23から処理 をやり直す (プログラム実行部 102がプログラムの再実行を行う)。そうでなければ、ス テツプ S27に進む(ステップ S25)。
[0171] プログラム実行部 102が実行している一個または複数のプログラムの実行が全て終 了したら、処理を終了する(ステップ S28)。そうでなければ、ステップ S24からステツ プ S27までを繰り返す (ステップ S27)。
[0172] ここで、ステップ S25で検出する不整合が APIの不整合である場合、ステップ S26 は例えば図 11 (b)に示すように構成できる。
[0173] 即ち、不整合を検出した場合、一方のプログラムの APIのバージョンが他方のプロ グラムの APIのバージョンより高いか否かを判定する(ステップ S261)。一方のプログ ラムが他方のプログラムよりも APIのバージョンが高!、場合、他方のプログラムの更新 版を取得する (ステップ S262)。
[0174] その際、更新版を取得できた力否かを判定し (ステップ S263)、取得できた場合は 直ちにステップ S 23に進む。更新版が用意されて 、な 、等により取得できな 、場合 は、一方のプログラムのバージョンを他方に合わせるよう、一方のプログラムのパージ ヨンの低い版を取得し (ステップ S264)、ステップ S23に進む。
[0175] また、一方のプログラムが他方のプログラムよりも APIのバージョンが低い場合は、 ステップ S265ないし S267により上記と逆の操作を行う。即ち、一方のプログラムの 更新版を取得する (ステップ S265)。その際、更新版を取得できたか否かを判定し( ステップ S266)、取得できた場合は直ちにステップ S23に進む。更新版が用意され ていない等により取得できな 、場合は、他方のプログラムのバージョンを一方に合わ せるよう、他方のプログラムのバージョンの低い版を取得し (ステップ S267)、ステップ S23に進む。
[0176] このように、本実施の形態 3の構成によれば、本発明の実施の形態 2におけるプロ グラム取得実行装置による効果に加えて、プログラム取得部 101が前記不整合の検 出されたプログラムを再取得することによって、プログラム実行部 102が前記複数の プログラムを不整合のない組合せで実行させることが可能となる。
[0177] なお、本実施の形態 3では、通信方式不整合検出部 304が通信方式の不整合を 検出した場合には、プログラム取得部 101がプログラムを再取得し、プログラム実行 部 102がプログラムの再実行を行う例を記述した力 通信方式不整合検出部 304に よる通信方式の不整合の検出と、プログラム取得部 101によるプログラムの再取得と 、プログラム実行部 102によるプログラムの再実行のタイミングは、この例の場合のみ に制限されるわけではなぐ本発明の請求の範囲は、通信方式不整合検出部 304に よる通信方式の不整合の検出と、プログラム取得部 101によるプログラムの再取得と 、プログラム実行部 102によるプログラムの再実行のタイミングによって制限されるも のではない。
[0178] (実施の形態 4)
図 5は、本発明の実施の形態 4におけるプログラム取得実行装置の構成図である。 図 5にお 、て、図 18 (a)及び図 3 (a)及び図 4と同じ構成要素につ 、ては同じ符号を 用い、説明を省略する。
[0179] 図 5において、プログラム取得実行装置 100は、図 18 (a)及び図 3 (a)及び図 4に おける構成に加えて、通信方式変換部 203を備えている。
[0180] 通信方式変換部 203は、プログラム実行部 102が実行する複数のプログラムが相 互に通信する際の通信方式を変換する。
[0181] 上記プログラム取得実行装置 100の動作の概略について、図 12のフローチャート を参照しながら説明する。
[0182] 図 12において、ステップ S31からステップ S34までは、本発明の実施の形態 2にお ける、図 10で示したフローチャートのステップ S11からステップ S14と同様なので、説 明を省略する。
[0183] ステップ S34の終了後、ステップ S34で通信方式の不整合を検出した場合には、通 信方式変換部 203は、不整合を検出した通信について、プログラム実行部 102が実 行する複数のプログラムが相互に通信する際の通信方式を変換する (ステップ S36) 。そうでなければ、ステップ S40に進む(ステップ S35)。
[0184] 通信方式不整合検出部 304は、不整合を検出した通信について、ステップ S34と 同様にして、プログラム実行部 102が実行する複数のプログラムが相互に通信する 際の通信方式の不整合を検出する (ステップ S37)。これにより、通信方式を変換し互 いに通信が可能となるはずの場合でも、実際には、通信が不整合になる場合を検出 することが可能になる。
[0185] ステップ S37の終了後、ステップ S38で再び通信方式の不整合を検出した場合に は、ステップ S39に進む。そうでなければ、ステップ S40に進む(ステップ S38)。
[0186] ステップ S39に進む場合には、プログラム取得部 101は、プログラムを再取得し、ス テツプ S33から処理をやり直す (プログラム実行部 102がプログラムの再実行を行う) ( ステップ S39)。
[0187] ステップ S40に進む場合には、プログラム実行部 102が実行している一個または複 数のプログラムの実行が全て終了したら、処理を終了(ステップ S41)する。そうでな ければ、ステップ S34からステップ S40までを繰り返す (ステップ S40)。
[0188] 従って、最初に取得したプログラムが暫定バージョンであり、その後正式バージョン がリリースされた場合等では、暫定バージョンのプログラムは通信方式変換部 203に より通信方式を変換しても他のプログラムと通信を行う際に不整合を生じることがある 力 このような場合に、上述のような処理を行うことにより正式バージョンのプログラム を再取得することで、他のプログラムとの通信方式の不整合を解消することが可能に なる。
[0189] このように、本実施の形態 4の構成によれば、本発明の実施の形態 2及び実施の形 態 3におけるプログラム取得実行装置による効果に加えて、通信方式変換部 203が 前記複数のプログラムが相互に通信する際の通信方式を変換することによって、前 記複数のプログラムを相互に通信させることが可能となる。 [0190] なお、本実施の形態 4では、通信方式不整合検出部 304が通信方式の不整合を 検出した場合には、まずは、通信方式変換部 203が、不整合を検出した通信につい て、通信方式を変換し、その上で再度、通信方式不整合検出部 304が通信方式の 不整合の検出を行って、再度通信方式の不整合を検出した場合には、プログラム取 得部 101がプログラムを再取得し、プログラム実行部 102がプログラムの再実行を行 うと ヽぅ実施の形態を記述した。
[0191] し力しながら、通信方式不整合検出部 304による通信方式の不整合の検出と、通 信方式変換部 203による通信方式の変換と、プログラム取得部 101によるプログラム の再取得と、プログラム実行部 102によるプログラムの再実行のタイミングは、この例 の場合のみに制限されるわけではなぐ本発明の請求の範囲は、通信方式不整合検 出部 304による通信方式の不整合の検出と、通信方式変換部 203による通信方式 の変換と、プログラム取得部 101によるプログラムの再取得と、プログラム実行部 102 によるプログラムの再実行のタイミングによって制限されるものではない。
[0192] (実施の形態 5)
図 6は、本発明の実施の形態 5におけるプログラム取得実行装置の構成図である。 図 6において、図 18 (a)及び図 3 (a)ないし図 5と同じ構成要素については同じ符号 を用い、説明を省略する。
[0193] 図 6において、プログラム取得実行装置 100は、図 18 (a)及び図 3 (a)ないし図 5に おける構成に加えて、整合通信方式決定部 605を備えている。
この整合通信方式決定部 605は、 ROM1003に記録された整合通信方式決定プ ログラムと、 CPU1001と、そのワークエリアとなる RAM1002とから構成される。
[0194] 整合通信方式決定部 605は、プログラム取得部 101が再取得するプログラムが用 いるべき、整合の取れた通信方式を決定する。
プログラム取得部 101は、整合通信方式決定部 605が決定した通信方式を用いる プログラムを再取得する。
[0195] 上記プログラム取得実行装置 100の動作の概略について、図 13 (a)のフローチヤ ートを参照しながら説明する。図 13 (a)において、ステップ S51からステップ S57まで は、本発明の実施の形態 4における、図 12で示したフローチャートのステップ S31か らステップ S37と同様なので、説明を省略する。
[0196] ステップ S57の終了後、ステップ S57で再び通信方式の不整合を検出した場合に は、ステップ S59に進む。そうでなければ、ステップ S61に進む(ステップ S58)。 ステップ S59に進む場合には、整合通信方式決定部 605は、プログラム取得部 10 1が再取得するプログラムが用いるべき、整合の取れた通信方式を決定する (ステツ プ S59)。
[0197] これは例えば、図 13 (b)のフローチャートに示されるように、 2つのプログラムで使用 している通信方式を、図 3 (b)に示すようにプログラムファイル PFのヘッダ PHD中の 通信方式識別子 CIDを抽出する等により取得し (ステップ S591)、それぞれのプログ ラムの通信方式のいずれが上位互換となっているかを検出し (ステップ S592)、上位 互換となっている通信方式を検出できた場合は (ステップ S593)、上位互換となって いる通信方式を整合のとれた通信方式と決定し (ステップ S594)、ステップ S593に て上位互換となって!/ヽる通信方式を検出できな ヽ場合は、各通信方式の!/ヽずれに対 しても上位互換となる通信方式を整合のとれた通信方式と決定する (ステップ S595)
[0198] これは例えば図 13 (c)に示すような表を検索することにより上位互換となる通信方 式を検出すればよい。なお、この表中の「上位互換性」は数字が大きいほど上位互換 であることを示す。
[0199] これにより、例えば、不整合が検出された場合に使用している通信プロトコルが TC PZIPである場合に整合のとれる通信プロトコルとして TCP/IPの上位互換プロトコ ルである OSIを通信プロトコルとして決定する等の処理を行う。
[0200] 整合通信方式決定部 605は決定した通信方式を用いるプログラムを通信媒体 201 を介してプログラム格納装置 150に通知し、プログラム取得実行装置 100はプロダラ ム格納装置 150が送信するプログラムを、通信媒体 200を介して再取得し、ステップ S53から処理をやり直す (プログラム実行部 102がプログラムの再実行を行う)(ステツ プ S60)。
[0201] ステップ S61に進む場合には、プログラム実行部 102が実行している一個または複 数のプログラムの実行が全て終了したら、処理を終了する(ステップ S62)。そうでな ければ、ステップ S54からステップ S61までを繰り返す (ステップ S61)。
[0202] このように、本実施の形態 5の構成によれば、本発明の実施の形態 3及び実施の形 態 4におけるプログラム取得実行装置による効果に加えて、前記不整合が検出され たプログラムにつ 、て、整合の取れた通信方式を使用するプログラムを再取得するこ とによって、プログラム実行部 102が実行する複数のプログラムを相互に通信させる ことが可能となる。
[0203] なお、本実施の形態 5では、通信方式不整合検出部 304が通信方式の不整合を 検出した場合には、まずは、通信方式変換部 203が、不整合を検出した通信につい て、通信方式を変換し、その上で再度、通信方式不整合検出部 304が通信方式の 不整合の検出を行って、再度通信方式の不整合を検出した場合には、整合通信方 式決定部 605が整合の取れた通信方式を決定し、プログラム取得部 101がプロダラ ムを再取得し、プログラム実行部 102がその通信方式を用いるプログラムの再実行を 行うと ヽぅ実施例を記述した。
[0204] し力しながら、通信方式不整合検出部 304による通信方式の不整合の検出と、通 信方式変換部 203による通信方式の変換と、整合通信方式決定部 605による通信 方式の決定と、プログラム取得部 101によるプログラムの再取得と、プログラム実行部 102によるプログラムの再実行のタイミングは、この例の場合のみに制限されるわけ ではなぐ本発明の請求の範囲は、通信方式不整合検出部 304による通信方式の 不整合の検出と、通信方式変換部 203による通信方式の変換と、整合通信方式決 定部 605による通信方式の決定と、プログラム取得部 101によるプログラムの再取得 と、プログラム実行部 102によるプログラムの再実行のタイミングによって制限されるも のではない。
[0205] (実施の形態 6)
本発明の実施の形態 6におけるプログラム取得実行装置の構成図は、本発明の実 施の形態 5におけるプログラム取得実行装置の構成図と同じぐ図 6である。ただし、 一部の構成要素、即ち、整合通信方式決定部 605の機能が本発明の実施の形態 5 力 拡張されている。
[0206] 図 6において、本発明の実施の形態 5と機能が同じ構成要素については説明を省 略する。
図 6において、整合通信方式決定部 605は、プログラム取得部 101が既に取得して V、るプログラムが用いて 、る通信方式の中から、整合の取れた通信方式を決定する
[0207] これは例えば図 13 (d)に示すように、プログラム取得部 101において 2つのプロダラ ムを取得する際に通信方式識別子 CID等のその通信方式に関する情報も取得して これを保持しておき、整合通信方式決定部 605がプログラム取得部 101から呼び出 すことでこれらを取得すればよい (ステップ 591a)。その他の図 13 (d)の処理は図 13 (b)と同様である。
[0208] このように、本実施の形態 6の構成によれば、本発明の実施の形態 5におけるプロ グラム取得実行装置による効果に加えて、プログラム実行部 102が実行する複数の プログラムが使用可能な通信方式の中から整合の取れた通信方式を決定し、前記整 合の取れた通信方式を使用するプログラムを再取得することによって、前記複数のプ ログラムを相互に通信させることが可能となる。
[0209] (実施の形態 7)
本発明の実施の形態 7におけるプログラム取得実行装置の構成図は、本発明の実 施の形態 5におけるプログラム取得実行装置の構成図と同じぐ図 6である。ただし、 一部の構成要素、即ち、整合通信方式決定部 605の機能が実施の形態 5から拡張 されている。
[0210] 図 6において、実施の形態 5と機能が同じ構成要素については説明を省略する。
図 6において、整合通信方式決定部 605は、一個または複数のプログラム格納装 置 150から再取得可能なプログラムが用いている通信方式の中から、整合の取れた 通信方式を決定する。
[0211] これは例えば図 13 (e)に示されるように、整合通信方式決定部 605がプログラム格 納装置 150に格納されている各プログラム力もその通信方式に関する情報を取得し( ステップ S591b)、図 13 (c)に示す表等を用いて各プログラムの通信方式のいずれ が上位互換となって!/、るかを検出すればょ 、 (ステップ S592b)。
[0212] これにより、再取得により置き換えられるプログラムとして予め用意されているプログ ラムの中力 整合のとれた通信方式を決定して 、るので、整合のとれた通信方式とし て決定した通信方式を用 、るプログラムがプログラム格納装置 150に存在せず、無 駄になることがなくなる。
[0213] このように、本実施の形態 7の構成によれば、本発明の実施の形態 5におけるプロ グラム取得実行装置による効果に加えて、プログラム格納装置 150から再取得可能 なプログラムが使用している通信方式の中から、整合の取れた通信方式を決定し、 前記整合の取れた通信方式を使用するプログラムを再取得することによって、プログ ラム実行部 102が実行する複数のプログラムを相互に通信させることが可能となる。
[0214] (実施の形態 8)
本発明の実施の形態 8におけるプログラム取得実行装置の構成図は、本発明の実 施の形態 5ないし 7におけるプログラム取得実行装置の構成図と同じぐ図 6である。 ただし、一部の構成要素、即ち、整合通信方式決定部 605の機能が本発明の実施 の形態 5な 、し 7から拡張されて 、る。
[0215] 図 6において、本発明の実施の形態 5ないし 7と機能が同じ構成要素については説 明を省略する。
図 6において、整合通信方式決定部 605は、整合の取れた通信方式の候補の中か ら、最も新しい通信方式を選択し、整合の取れた通信方式として決定する。
[0216] これは例えば図 13 (f)に示されるように、整合通信方式決定部 605が整合の取れ た通信方式の候補を検出し (ステップ S596a)、検出した候補の中から例えば図 13 ( g)に示すような表を検索することにより最新の通信方式を検出すればよい (ステップ S 596b)。なお、この表中の「新しさ」は数字が大きいほど新しいものとする。
[0217] このように、本実施の形態 8の構成によれば、本発明の実施の形態 5ないし 7におけ るプログラム取得実行装置による効果に加えて、できる限り新しい通信方式を使用し て、プログラム実行部 102が実行する複数のプログラムを相互に通信させることが可 能となる。
[0218] (実施の形態 9)
本発明の実施の形態 9におけるプログラム取得実行装置の構成図は、本発明の実 施の形態 5ないし 7におけるプログラム取得実行装置の構成図と同じぐ図 6である。 ただし、一部の構成要素、即ち整合通信方式決定部 605の機能が本発明の実施の 形態 5な 、し 7から拡張されて 、る。
[0219] 図 6において、本発明の実施の形態 5ないし 7と機能が同じ構成要素については説 明を省略する。
図 6において、整合通信方式決定部 605は、整合の取れた通信方式の候補の中か ら、前記プログラム取得部がプログラムを再取得する際のコストが最も安価となるよう な通信方式を選択し、整合の取れた通信方式として決定する。
[0220] これは例えば図 13 (h)に示されるように、整合通信方式決定部 605が整合の取れ た通信方式の候補を検出し (ステップ S596a)、検出した候補の中から例えば図 13 (i ) ,図 13 (j)に示すようにプログラムファイル PFのヘッダ PHD中のプログラムサイズ情 報 PGSやパケットサイズ情報 PKSを検出し、これらが最小となる通信方式を検出する ことで実現すればょ ヽ (ステップ S596c)。
[0221] このように、本実施の形態 9の構成によれば、本発明の実施の形態 5ないし 7におけ るプログラム取得実行装置による効果に加えて、プログラム実行部 102が実行する複 数のプログラムを相互に通信させるための再取得の際のコストを、できる限り安価に することが可能となる。
[0222] (実施の形態 10)
本発明の実施の形態 10におけるプログラム取得実行装置の構成図は、本発明の 実施の形態 5ないし 9におけるプログラム取得実行装置の構成図と同じぐ図 6である
。ただし、一部の構成要素、即ち整合通信方式決定部 605の機能が本発明の実施 の形態 5な 、し 9から拡張されて 、る。
[0223] 図 6において、本発明の実施の形態 5ないし 9と機能が同じ構成要素については説 明を省略する。
図 6において、整合通信方式決定部 605は、プログラム取得部 101が、整合通信 方式決定部 605が決定した整合の取れた通信方式を用いるプログラムの取得に失 敗した際に、整合の取れた通信方式を再決定し、プログラム取得部 101は、整合通 信方式決定部 605が再決定した通信方式を用いるプログラムを再取得する。
[0224] これは、図 13 (k)に示されるように、ステップ S60によるプログラムの再取得が成功 したか否かを検出するステップ S63を設け、このステップ S63によりプログラムの再取 得が成功した力否かを検出し、再取得に失敗した場合は、ステップ S59に戻り整合の 取れた通信方式を再決定することで実現できる。
[0225] この再取得の失敗の通知は、例えばプログラム格納装置 150力 プログラム取得部 101からの要求に応じてそのデータベースを検出し、該当するプログラムを検出でき な力つた場合などにその旨を示すフラグを立てること等により実現できる。
[0226] このように、本実施の形態 10の構成によれば、本発明の実施の形態 5ないし 9にお けるプログラム取得実行装置による効果に加えて、整合の取れた通信方式として決 定した通信方式を使用するプログラムの再取得に失敗した際でも、整合の取れた通 信方式を再決定し、前記再決定した整合の取れた通信方式を使用するプログラムを 再取得することによって、プログラム実行部 102が実行する複数のプログラムを相互 に通信させることが可能となる。
[0227] (実施の形態 11)
図 14 (a)は、本発明の実施の形態 11におけるプログラム取得実行装置の構成図 である。図 14 (a)において、図 18 (a)及び図 3ないし図 6と同じ構成要素については 同じ符号を用い、説明を省略する。
[0228] 図 14 (a)において、プログラム取得実行装置 100は、図 18 (a)及び図 3ないし図 6 における構成に加えて、通信方式決定方法指示部 1406を備えている。
[0229] 通信方式決定方法指示部 1406は、整合通信方式決定部 605が整合の取れた通 信方式を決定する方法をユーザが指示するものである。
[0230] 整合通信方式決定部 605は、通信方式決定方法指示部 1406によって指示された 方法で整合の取れた通信方式を決定する。
[0231] これは、図 14 (b)に示すように、整合の取れた通信方式を決定する方法をユーザ がキーボードやカーソルキー等により予め指示しておき (ステップ S64)、通信方式の 不整合を検出した場合に (ステップ S58)、整合通信方式決定部 605はこの指示され た方法に基づいてプログラム取得部 101が再取得するプログラムが使用する通信方 式を決定する(ステップ S 59a)。
[0232] このユーザが指示する、整合のとれた通信方式を決定する方法は、例えば実施の 形態 8な ヽし 10の ヽずれかの方法の他、他の所要の規則に基づ ヽて通信方式を決 定すればよい。
[0233] このように、本実施の形態 11の構成によれば、本発明の実施の形態 5ないし 10に おけるプログラム取得実行装置による効果に加えて、整合の取れた通信方式を決定 する方法をユーザが選択でき、前記ユーザによって選択された方法によって決定し た、整合の取れた通信方式を使用するプログラムを再取得することによって、プロダラ ム実行部 102が実行する複数のプログラムを相互に通信させることが可能となる。
[0234] (実施の形態 12)
本発明の実施の形態 12におけるプログラム取得実行装置の構成図は、本発明の 実施の形態 11におけるプログラム取得実行装置の構成図と同じぐ図 14 (a)である。 ただし、一部の構成要素の機能が本発明の実施の形態 5な 、し 11から拡張されて ヽ る。図 14 (a)において、本発明の実施の形態 5ないし 11と機能が同じ構成要素につ いては説明を省略する。
[0235] 図 14 (a)において、プログラム取得部 101は、通信方式不整合検出部 304が通信 方式の不整合を検出したプログラムのみを再取得する。
[0236] これは、図 14 (c)に示すように、予めユーザが整合の取れた通信方式を指示してお き (ステップ S64)、整合通信方式決定部 605がユーザの指示に基づいて整合の取 れた通信方式を決定した (ステップ S59a)後、プログラム取得部 101が、通信方式不 整合検出部 304が不整合を検出したプログラムであって、かつ整合通信方式決定部 605が決定した通信方式を用いるプログラムのみを再取得することで実現できる (ス テツプ S60b)。
[0237] このように、本実施の形態 12の構成によれば、本発明の実施の形態 5ないし 11に おけるプログラム取得実行装置による効果に加えて、プログラム実行部 102が実行す る複数のプログラムの全てではなぐ不整合が検出されたプログラムのみを再取得す ることによって、プログラムの効率的な再取得を実現することが可能となる。
[0238] (実施の形態 13)
本発明の実施の形態 13におけるプログラム取得実行装置の構成図は、本発明の 実施の形態 11及び実施の形態 12におけるプログラム取得実行装置の構成図と同じ ぐ図 14 (a)である。ただし、一部の構成要素の機能が本発明の実施の形態 5ないし 11から拡張されている。図 14 (a)において、本発明の実施の形態 5ないし 11と機能 が同じ構成要素については説明を省略する。
[0239] 図 14 (a)において、プログラム取得部 101は、実行に必要な全てのプログラムを再 取得する。
[0240] これは、図 14 (d)に示されるように、整合の取れた通信方式を決定する方法をユー ザが指示しておき (ステップ S64)、整合通信方式決定部 605がユーザの指定した方 法により、整合のとれた通信方式を決定し (ステップ S59a)、プログラム取得部 101が 、整合通信方式決定部 605が決定した通信方式を用いるプログラムであって、プログ ラム実行部 102が実行に必要な全てのプログラムを再取得することで実現できる (ス テツプ S60c)。
[0241] このように、本実施の形態 13の構成によれば、本発明の実施の形態 5ないし 11に おけるプログラム取得実行装置による効果に加えて、プログラム実行部 102が実行す る複数のプログラムの全てを再取得することによって、前記複数のプログラムの一部 のみを取得することによる更なる不整合の発生を回避することが可能となる。
[0242] (実施の形態 14)
本発明の実施の形態 14におけるプログラム取得実行装置の構成図は、本発明の 実施の形態 11ないし 13におけるプログラム取得実行装置の構成図と同じぐ図 14 ( a)である。ただし、一部の構成要素、即ち、プログラム取得部 101の機能が本発明の 実施の形態 5ないし 13から拡張されている。図 14 (a)において、本発明の実施の形 態 5ないし 13と機能が同じ構成要素については説明を省略する。
[0243] 図 14 (a)において、プログラム取得部 101は、プログラム全体ではなぐプログラム のうち、通信方式不整合検出部 304が検出した通信方式の不整合が存在する部分 のみを再取得する。
[0244] これは図 14 (e)に示されるように、整合の取れた通信方式を決定する方法をユーザ が指示しておき (ステップ S64)、整合通信方式決定部 605がユーザの指定した方法 により、整合のとれた通信方式を決定し (ステップ S59a)、プログラム取得部 101が、 整合通信方式決定部 605が決定した通信方式を用 、るプログラム中の、通信方式不 整合検出部 304が検出した通信方式の不整合が存在する部分のみを再取得するこ とで実現できる (ステップ S60d)。
[0245] この通信方式の不整合が存在する部分のみの取得は、予めプログラムをモジユー ル単位で作成しておき、モジュールヘッダの情報を参照することで通信に関連する モジュールのみを再取得すること等により実現できる。
[0246] このように、本実施の形態 14の構成によれば、本発明の実施の形態 5ないし 13〖こ おけるプログラム取得実行装置による効果に加えて、プログラムのうち、通信方式の 不整合が存在する部分のみを部分的に再取得することによって、再取得のコストを更 に極小化することが可能となる。
[0247] (実施の形態 15)
本発明の実施の形態 15におけるプログラム取得実行装置の構成図は、本発明の 実施の形態 11ないし 14におけるプログラム取得実行装置の構成図と同じぐ図 14 ( a)である。ただし、一部の構成要素、即ち、通信方式変換部 203の機能が本発明の 実施の形態 1または実施の形態 4ないし 14力も拡張されている。図 14 (a)において、 本発明の実施の形態 1または実施の形態 4ないし 14と機能が同じ構成要素について は説明を省略する。
[0248] 図 14 (a)において、通信方式変換部 203は、通信方式の変換を行う変換プロダラ ムを実行することによって、通信方式を変換し、プログラム取得部 101は、通信方式 変換部 203が実行する変換プログラムを取得する。
[0249] これは図 14 (f)に示されるように、プログラム取得部 101が、通信方式変換部 203 が実行する、通信方式の変換を行う変換プログラムを予め取得しておき (ステップ S5 2p)、整合の取れた通信方式を決定する方法をユーザが指示しておき (ステップ S64 )、通信方式変換部 203は、ステップ S52pにおいて取得された変換プログラムを実 行することによって通信方式を変換する (ステップ S56a)ことで実現できる。
[0250] このように、本実施の形態 15の構成によれば、本発明の実施の形態 1または実施 の形態 4ないし 14におけるプログラム取得実行装置による効果にカ卩えて、プログラム 格納装置 150から取得された変換プログラムによって、プログラム実行部 102が実行 する複数のプログラムが相互に通信する際の通信方式を変換することによって、前記 複数のプログラムが相互に通信する際の通信方式の変換方法自体の変更が可能と なる。
[0251] (実施の形態 16)
図 15 (a)は、本発明の実施の形態 16におけるプログラム取得実行装置の構成図 である。図 15 (a)において、図 18 (a)及び図 3ないし図 6及び図 14 (a)と同じ構成要 素については同じ符号を用い、説明を省略する。
[0252] 図 15 (a)において、プログラム取得実行装置 100は、図 18 (a)及び図 3ないし図 6 及び図 14 (a)における構成に加えて、通信方式変換方法指示部 1507を備えている 。 通信方式変換方法指示部 1507は、通信方式変換部 203が通信方式を変換する 方法を指示させる。 通信方式変換部 203は、通信方式変換方法指示部 1507によつ て指示された方法で通信方式を変換する。
[0253] これは図 15 (b)に示すように、予めユーザが通信方式変換部 203が使用する通信 方式変換方法を指示しておき (ステップ S65)、通信方式変換部 203が、不整合を検 出した通信に関してプログラム実行部 102が実行する複数のプログラムが相互に通 信する際の通信方法を、ユーザが指定する方法により変換することで実現できる (ス テツプ S56a)。
[0254] このように、本実施の形態 16の構成によれば、本発明の実施の形態 1または実施 の形態 4ないし 15におけるプログラム取得実行装置による効果に加えて、通信方式 を変換する方法をユーザが選択でき、前記ユーザによって選択された方法によって、 プログラム実行部 102が実行する複数のプログラムが相互に通信する際の通信方式 を変換することによって、前記複数のプログラムを相互に通信させることが可能となる
[0255] (実施の形態 17)
図 16 (a)は、本発明の実施の形態 17におけるプログラム取得実行装置の構成図 である。図 16 (a)において、図 18 (a)及び図 3ないし図 6及び図 14 (a)及び図 15 (a) と同じ構成要素については同じ符号を用い、説明を省略する。
[0256] 図 16 (a)において、プログラム取得実行装置 100は、図 18 (a)及び図 3ないし図 6 及び図 14 (a)及び図 15 (a)における構成にカ卩えて、プログラム取得方法指示部 160 8を備えている。
[0257] プログラム取得方法指示部 1608は、プログラム取得部 101がプログラムを取得する 方法を指示させる。
プログラム取得部 101は、プログラム取得方法指示部 1608によって指示された方 法でプログラムを取得する。
[0258] これは図 16 (b)に示すように、ユーザが予めプログラムを取得する方法を指示して おき (ステップ S66)、プログラム取得部 101が、整合通信方式決定部 605が決定し た通信方式を用いるプログラムをユーザが指定する方法により再取得することにより 実現できる (ステップ S60a)。
[0259] このように、本実施の形態 17の構成によれば、本発明の実施の形態 1または実施 の形態 4ないし 16におけるプログラム取得実行装置による効果にカ卩えて、プログラム を取得する方法をユーザが選択でき、前記ユーザによって選択された方法によって、 不整合が検出されたプログラムを再取得することによって、プログラム実行部 102が 実行する複数のプログラムを相互に通信させることが可能となる。
[0260] (実施の形態 18)
本発明の実施の形態 18におけるプログラム取得実行装置の構成図は、本発明の 実施の形態 17におけるプログラム取得実行装置の構成図と同じぐ図 16 (a)である。 ただし、一部の構成要素の機能が本発明の実施の形態 2ないし 17から拡張されてい る。図 16 (a)において、本発明の実施の形態 2ないし 17と機能が同じ構成要素につ いては説明を省略する。
[0261] 図 16 (a)において、通信方式不整合検出部 304は、プログラム実行部 102がプロ グラムの実行を開始する前に、通信方式の不整合を検出する。
これは図 16 (c)に示すように、ユーザが予め整合の取れた通信方式を指定する方 法を指示しておき (ステップ S64)、通信方式不整合検出部 304が、プログラム実行 部 102が実行する(ステップ S53)前のステップ S54ないし S60aにおいて複数のプロ グラムが相互に通信する際の通信方式の不整合を全て検出する (ステップ S55、 S5 8、 S68)ことにより実現できる。この実行前の不整合の検出は、例えば図 3 (b) ,図 3 ( c)に示すようにプログラムファイル PF中の通信方式識別子 CIDを事前に参照するこ とで実現できる。
[0262] このように、本実施の形態 18の構成によれば、本発明の実施の形態 2ないし 17〖こ おけるプログラム取得実行装置による効果に加えて、プログラムの実行を開始する前 に通信方式の不整合を検出することによって、検出された不整合を全て解消した後 に初めてプログラムを実行するため、プログラムの実行中のプログラムの再取得や再 実行を回避することが可能となる。
[0263] (実施の形態 19)
本発明の実施の形態 19におけるプログラム取得実行装置の構成図は、本発明の 実施の形態 17ないし 18におけるプログラム取得実行装置の構成図と同じぐ図 16 ( a)である。ただし、一部の構成要素の機能が本発明の実施の形態 2ないし 17から拡 張されている。図 16 (a)において、本発明の実施の形態 2ないし 17と機能が同じ構 成要素については説明を省略する。 図 16 (a)において、通信方式不整合検出部 30 4は、プログラム実行部 102がプログラムを実行中のときに、逐次通信方式の不整合 を検出する。
[0264] これは図 16 (d)に示すように、ユーザが予め整合の取れた通信方式を指定する方 法を指示しておき (ステップ S64)、通信方式不整合検出部 304が不整合を検出した 通信に関し、プログラム実行部 102が実行 (ステップ S53b)中の複数のプログラムが 相互に通信する際の通信方式の不整合を、ステップ S54ないし S60aにおいてプロ グラムが実行されるごとに逐次検出することにより実現できる。この実行中の不整合の 検出は、例えば図 3 (b) ,図 3 (c)に示すようにプログラムファイル PF中の通信方式識 別子 CIDを実行中に参照することで実現できる。
[0265] このように、本実施の形態 19の構成によれば、本発明の実施の形態 2ないし 17〖こ おけるプログラム取得実行装置による効果に加えて、プログラムの実行中に、プログ ラムを一行ずつあるいは一部分ずつ実行する度に、逐次通信方式の不整合を検出 し、検出された不整合を解消していくことによって、プログラムの実行前の不整合の検 出による実行開始の遅れを回避することが可能となる。
[0266] (実施の形態 20)
図 17 (a)は、本発明の実施の形態 20におけるプログラム取得実行装置の構成図 である。図 17 (a)において、図 18 (a)及び図 3ないし図 6及び図 14 (a)ないし図 16 (a )と同じ構成要素については同じ符号を用い、説明を省略する。
[0267] 図 17 (a)において、プログラム取得実行装置 100は、図 18及び図 3ないし図 6及び 図 14 (a)ないし図 16 (a)における構成に加えて、プログラム格納部 1709を備えてい る。
[0268] プログラム格納部 1709は、プログラム取得部 101が再取得する対象となっているプ ログラムまたはプログラムの一部を格納する。
[0269] プログラム実行部 102は、プログラム取得部 101が再取得したプログラムまたはプロ グラムの一部を実行した後、再びプログラム格納部 1709が格納して 、るプログラムを 実行する。
[0270] これは図 17 (b)に示すフローにより実現できる。即ち、プログラム取得部 101が、整 合通信方式決定部 605が決定した通信方式を用いるプログラムをユーザが指定する 方法により再取得する前に、再取得する対象となっているプログラムまたはその一部 をプログラム格納部 1709に予め格納する (ステップ S67)。そしてプログラムを再取 得 (ステップ S60a)することにより、ステップ S55または S58における不整合を解消す る。その後、プログラム実行部 102は、プログラム格納部 1709に格納していた、再取 得する対象となって 、るプログラムまたはその一部を取り出してこれを実行する (ステ ップ S69、 S70)。
[0271] このように、本実施の形態 20の構成によれば、本発明の実施の形態 3ないし 19〖こ おけるプログラム取得実行装置による効果に加えて、不整合が検出された元々のプ ログラムを格納したまま、当該プログラムについて、整合の取れた通信方式を使用す るプログラムを再取得して実行することによって、即ち、プログラムを再取得することに より不整合を解消し、元のプログラムでは不整合を生じて 、る部分を無事実行し終わ れば、一時的に入れ替えていたプログラムを元のプログラムに戻すことによって、通 信方式の不整合を解消した後で、元々のプログラムを実行することが可能となる。
[0272] なお、この実施の形態 20では、不整合部分を解消するためにプログラムの再取得 を行うようにしたが、不整合の解消はプログラムの変換により行うようにしてもよ!、。
[0273] また、上記各実施の形態では、プログラム取得実行装置 100として、 RAMのみを 書き換え可能な記憶装置として有する機器組み込み型コンピュータを示したが、書き 換え可能な記憶装置として RAM以外に磁気ディスクドライブや光ディスクドライブ、 光磁気ディスクドライブ等の書き換え可能な各種ファイル装置を有するものであって ちょい。
[0274] また、上記各実施の形態では、不揮発性記憶装置として ROMのみを有するものを 示したが、 ROM以外に、 CD-ROMや DVD-ROM等の書き換え不可なファイル装 置を有するものであってもよ 、。
[0275] また、このような書き換え可能なファイル装置や書き換え不可のファイル装置を有す る場合、 ROMに格納して 、た OS等のモニタプログラムや Java (登録商標)仮想マシ ン等のインタプリタ、ミドルウェアやアプリケーションプログラム等はこれらのファイル装 置に格納してもよい。
[0276] また、変形例として、携帯電話機のプログラムの更新を例にとって示したが、上述の ような機器組み込み型コンピュータや、 HAViを始めとする家庭内ネットワーク対応機 器や、インターネット接続が可能な家電機器や、携帯電話機を始めとする有線'無線 の通信網に接続可能な機器や、テレビ受信機やラジオ受信機を始めとする放送網に 接続可能な機器や、パソコンのプログラムを更新する場合であってもよ 、。
[0277] また、携帯電話機のプログラムの更新は、同一の通信事業者の携帯電話機を製造 する複数のメーカが更新用のシステムを共同運用する場合を示したが、各メーカが 独自の更新用システムを運用するようにしてもよぐこの場合は、更新希望リストにメー 力名の情報を含ませる必要はない。また、インターネット接続が可能な iモード (登録 商標)等の携帯電話機を例にとって示したが、公衆通信網自体を経由してプログラム を配信するなど、インターネット以外の通信媒体を用いて運用するようにしてもよい。 さらに、通信媒体 200と通信媒体 201とを併用するようにしたが、これは時分割等に より同一の通信媒体を兼用してもよい。
[0278] また、携帯電話機に通信方式変換部 203を設ける場合を示したが、通信方式不整 合検出部 304や整合通信方式決定部 605を設けてもよい。この場合、これら通信方 式不整合検出部 304や整合通信方式決定部 605も ROM1115に記憶されたプログ ラムと、制御部 1109と、ワークエリアとしての RAMI 114と力も構成すればよい。 [0279] また、上記各実施の形態ではプログラム取得実行装置を示したが、プログラム取得 実行方法として実現してもよぐこの場合、プログラム取得部,プログラム実行部,通 信方式変換部,通信方式不整合検出部,整合通信方式決定部を、それぞれの機能 に相当するプログラム取得工程,プログラム実行工程,通信方式変換工程,通信方 式不整合検出工程,整合通信方式決定工程として実現すればょ ヽ。
[0280] また、プログラム取得実行プログラムとしてこれらの工程を有するプログラム取得実 行方法を実現してもよく、このプログラム取得実行プログラムを記録媒体に記録した プログラム取得実行プログラム記録媒体として実現してもよい。
[0281] また、通信プロトコルの例として TCPZIP, OSIを示した力 使用可能な通信プロト コルはこれらに限るものではない。
産業上の利用可能性
[0282] 本発明に力かるプログラム取得実行装置は、ネットワークや無線通信装置等の通信 媒体を介してプログラム格納装置力 複数のプログラムを取得 (ダウンロード、アップ ロードなど)して実行する際に、それら複数のプログラムの間の通信方式に不整合が あった場合でも、他のプログラムを利用できる特徴を有し、ダウンロードあるいはアツ プロード可能なプログラム間のバージョン不整合やプロトコル不整合を解決する方法 として、非常に広い分野への応用が可能である。応用分野に特に制限はないが、例 えば、家電製品の組込みソフトウェアのネットワークや無線通信装置等の通信媒体を 介しての書き換えや、インターネットブラウザへのアプリケーションのダウンロード等へ の応用が可能である。

Claims

請求の範囲
[1] 通信媒体を介してプログラム格納装置力 プログラムを取得して実行するプログラム 取得実行装置であって、
プログラム格納装置力 プログラムを取得するプログラム取得部と、
該プログラム取得部が取得したプログラムを実行するプログラム実行部と、 該プログラム実行部が実行する複数のプログラムが相互に通信する際の通信方式 を変換する通信方式変換部とを備えた、
ことを特徴とするプログラム取得実行装置。
[2] 通信媒体を介してプログラム格納装置力もプログラムを取得して実行するプログラム 取得実行装置であって、
プログラム格納装置力 プログラムを取得するプログラム取得部と、
該プログラム取得部が取得したプログラムを実行するプログラム実行部と、 該プログラム実行部が実行する複数のプログラムが相互に通信する際の通信方式 の不整合を検出する通信方式不整合検出部とを備えた、
ことを特徴とするプログラム取得実行装置。
[3] 請求項 2に記載のプログラム取得実行装置にぉ 、て、
前記通信方式不整合検出部が通信方式の不整合を検出した場合には、前記プロ グラム取得部はプログラムを再取得する、
ことを特徴とするプログラム取得実行装置。
[4] 請求項 2または請求項 3に記載のプログラム取得実行装置にぉ 、て、
前記通信方式不整合検出部が通信方式の不整合を検出した場合に、前記プログ ラム実行部が実行する複数のプログラムが相互に通信する際の通信方式を変換する 通信方式変換部をさらに備えた、
ことを特徴とするプログラム取得実行装置。
[5] 請求項 3または請求項 4に記載のプログラム取得実行装置にぉ 、て、
前記プログラム取得部が再取得するプログラムが用いるべき、整合の取れた通信方 式を決定する整合通信方式決定部をさらに備え、
前記プログラム取得部は、前記整合通信方式決定部が決定した通信方式を用いる プログラムを再取得する、
ことを特徴とするプログラム取得実行装置。
[6] 請求項 5に記載のプログラム取得実行装置にぉ 、て、
前記整合通信方式決定部は、前記プログラム取得部が既に取得して!/、るプロダラ ムが用いて!/、る通信方式の中から、整合の取れた通信方式を決定する、
ことを特徴とするプログラム取得実行装置。
[7] 請求項 5に記載のプログラム取得実行装置にぉ 、て、
前記整合通信方式決定部は、一個または複数の前記プログラム格納装置から再取 得可能なプログラムが用いて 、る通信方式の中から、整合の取れた通信方式を決定 する、
ことを特徴とするプログラム取得実行装置。
[8] 請求項 5な 、し請求項 7の 、ずれかに記載のプログラム取得実行装置にぉ 、て、 前記整合通信方式決定部は、整合の取れた通信方式の候補の中から、最も新しい 通信方式を選択し、整合の取れた通信方式として決定する、
ことを特徴とするプログラム取得実行装置。
[9] 請求項 5な 、し請求項 7の 、ずれかに記載のプログラム取得実行装置にぉ 、て、 前記整合通信方式決定部は、整合の取れた通信方式の候補の中から、前記プロ グラム取得部がプログラムを再取得する際のコストが最も安価となるような通信方式を 選択し、整合の取れた通信方式として決定する、
ことを特徴とするプログラム取得実行装置。
[10] 請求項 5な 、し請求項 9の 、ずれかに記載のプログラム取得実行装置にぉ 、て、 前記整合通信方式決定部は、
前記プログラム取得部が、前記整合通信方式決定部が決定した整合の取れた通 信方式を用いるプログラムの取得に失敗した際に、整合の取れた通信方式を再決定 し、前記プログラム取得部は、前記整合通信方式決定部が再決定した通信方式を用 V、るプログラムを再取得する、
ことを特徴とするプログラム取得実行装置。
[11] 請求項 5な 、し請求項 10の 、ずれかに記載のプログラム取得実行装置にぉ 、て、 前記通信方式決定部が整合の取れた通信方式を決定する方法を指示する通信方 式決定方法指示部をさらに備え、
前記通信方式決定部は、前記通信方式決定方法指示部によって指示された方法 で整合の取れた通信方式を決定する、
ことを特徴とするプログラム取得実行装置。
[12] 請求項 5な 、し請求項 11の 、ずれかに記載のプログラム取得実行装置にぉ 、て、 前記プログラム取得部は、前記通信方式不整合検出部が通信方式の不整合を検 出したプログラムのみを再取得する、
ことを特徴とするプログラム取得実行装置。
[13] 請求項 5な 、し請求項 11の 、ずれかに記載のプログラム取得実行装置にぉ 、て、 前記プログラム取得部は、前記プログラム実行部が実行するのに必要な全てのプロ グラムを再取得する、
ことを特徴とするプログラム取得実行装置。
[14] 請求項 5な 、し請求項 13の 、ずれかに記載のプログラム取得実行装置にぉ 、て、 前記プログラム取得部は、プログラムのうち、前記通信方式不整合検出部が検出し た通信方式の不整合が存在する部分のみを再取得する、
ことを特徴とするプログラム取得実行装置。
[15] 請求項 1または請求項 4な 、し請求項 14の 、ずれかに記載のプログラム取得実行 装置において、
前記通信方式変換部は、通信方式の変換を行う変換プログラムを実行することによ つて通信方式を変換し、
前記プログラム取得部は、前記通信方式変換部が実行する変換プログラムを取得 する、
ことを特徴とするプログラム取得実行装置。
[16] 請求項 1または請求項 4な 、し請求項 15の 、ずれかに記載のプログラム取得実行 装置において、
前記通信方式変換部が通信方式を変換する方法を指示する通信方式変換方法指 示部を備え、 前記通信方式変換部は、前記通信方式変換方法指示部によって指示された方法 で通信方式を変換する、
ことを特徴とするプログラム取得実行装置。
[17] 請求項 1ないし請求項 16のいずれかに記載のプログラム取得実行装置において、 前記プログラム取得部がプログラムを取得する方法を指示するプログラム取得方法 指示部を備え、
前記プログラム取得部は、前記プログラム取得方法指示部によって指示された方法 でプログラムを取得する、
ことを特徴とするプログラム取得実行装置。
[18] 請求項 2な 、し請求項 17の 、ずれかに記載のプログラム取得実行装置にぉ 、て、 前記通信方式不整合検出部は、前記プログラム実行部がプログラムの実行を開始 する前に、通信方式の不整合を検出する、
ことを特徴とするプログラム取得実行装置。
[19] 請求項 2な 、し請求項 17の 、ずれかに記載のプログラム取得実行装置にぉ 、て、 前記通信方式不整合検出部は、前記プログラム実行部がプログラムを実行中のと きに、逐次通信方式の不整合を検出する、
ことを特徴とするプログラム取得実行装置。
[20] 請求項 3な 、し 19の 、ずれかに記載のプログラム取得実行装置にぉ ヽて、
前記プログラム取得部が再取得する対象となっているプログラムまたはプログラムの 一部を格納するプログラム格納部をさらに備え、
前記プログラム実行部は、前記プログラム取得部が再取得したプログラムまたはプ ログラムの一部を実行した後、再び前記プログラム格納部が格納して 、るプログラム を実行する、
ことを特徴とするプログラム取得実行装置。
[21] 通信媒体を介してプログラム格納装置力 プログラムを取得して実行するプログラム 取得実行方法であって、
プログラム格納装置力 プログラムを取得するプログラム取得工程と、
該プログラム取得工程により取得したプログラムを実行するプログラム実行工程と、 該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方 式を変換する通信方式変換工程とを含む、
ことを特徴とするプログラム取得実行方法。
[22] 通信媒体を介してプログラム格納装置力 プログラムを取得して実行するプログラム 取得実行方法であって、
プログラム格納装置力 プログラムを取得するプログラム取得工程と、
該プログラム取得工程が取得したプログラムを実行するプログラム実行工程と、 該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方 式の不整合を検出する通信方式不整合検出工程とを含む、
ことを特徴とするプログラム取得実行方法。
[23] コンピュータに、通信媒体を介してプログラム格納装置力 プログラムを取得して実 行させるプログラム取得実行方法を実行させるプログラムを記録した媒体であって、 前記プログラム取得実行方法は、
プログラム格納装置力 プログラムを取得するプログラム取得工程と、
該プログラム取得工程により取得したプログラムを実行するプログラム実行工程と、 該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方 式を変換する通信方式変換工程とを含む、
ことを特徴とするプログラム取得実行プログラム記録媒体。
[24] コンピュータに、通信媒体を介してプログラム格納装置力 プログラムを取得して実 行させるプログラム取得実行方法を実行させるプログラムを記録した媒体であって、 前記プログラム取得実行方法は、
プログラム格納装置力 プログラムを取得するプログラム取得工程と、
該プログラム取得工程が取得したプログラムを実行するプログラム実行工程と、 該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方 式の不整合を検出する通信方式不整合検出工程とを含む、
ことを特徴とするプログラム取得実行プログラム記録媒体。
[25] コンピュータに、通信媒体を介してプログラム格納装置力 プログラムを取得して実 行させるプログラム取得実行方法を実行させるプログラムであって、 前記プログラム取得実行方法は、
プログラム格納装置力 プログラムを取得するプログラム取得工程と、
該プログラム取得工程により取得したプログラムを実行するプログラム実行工程と、 該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方 式を変換する通信方式変換工程とを含む、
ことを特徴とするプログラム取得実行プログラム。
コンピュータに、通信媒体を介してプログラム格納装置力 プログラムを取得して実 行させるプログラム取得実行方法を実行させるプログラムであって、
前記プログラム取得実行方法は、
プログラム格納装置力 プログラムを取得するプログラム取得工程と、
該プログラム取得工程が取得したプログラムを実行するプログラム実行工程と、 該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方 式の不整合を検出する通信方式不整合検出工程とを含む、
ことを特徴とするプログラム取得実行プログラム。
PCT/JP2005/012083 2004-12-10 2005-06-30 プログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラム WO2006061921A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/792,779 US20080034362A1 (en) 2004-12-10 2005-06-30 Program Acquisition and Execution Apparatus, and Program Acquisition and Execution Method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-358825 2004-12-10
JP2004358825A JP2006164191A (ja) 2004-12-10 2004-12-10 プログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラム

Publications (1)

Publication Number Publication Date
WO2006061921A1 true WO2006061921A1 (ja) 2006-06-15

Family

ID=36577751

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/012083 WO2006061921A1 (ja) 2004-12-10 2005-06-30 プログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラム

Country Status (4)

Country Link
US (1) US20080034362A1 (ja)
JP (1) JP2006164191A (ja)
CN (1) CN101073056A (ja)
WO (1) WO2006061921A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014503867A (ja) * 2010-11-05 2014-02-13 騰訊科技(深▲セン▼)有限公司 クロスプロセス通信のための方法および装置、ならびにコンピュータ記憶媒体

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4222388B2 (ja) 2006-07-10 2009-02-12 ソニー株式会社 画像管理装置、画像記録装置、撮像装置、画像管理システム、画像解析情報管理方法およびプログラム
JPWO2008114491A1 (ja) * 2007-03-20 2010-07-01 株式会社Access アプリケーション更新管理機能を備えた端末、アプリケーション更新管理プログラムおよびシステム
JP5482011B2 (ja) * 2009-08-11 2014-04-23 株式会社リコー 画像形成装置、プログラム管理システム、プログラム管理方法、及びプログラム管理プログラム
JP5316363B2 (ja) * 2009-10-20 2013-10-16 ソニー株式会社 情報処理装置、機能管理方法、コンピュータプログラム及び情報処理システム
US9720675B2 (en) * 2010-10-27 2017-08-01 Hewlett Packard Enterprise Development Lp Version mismatch delay and update for a distributed system
US20130159851A1 (en) * 2011-12-20 2013-06-20 Bewo Technologies Pvt.Ltd Method and system for providing help content to users
JP5912804B2 (ja) * 2012-04-20 2016-04-27 富士電機株式会社 周辺装置アクセスシステム
JP5754524B2 (ja) * 2014-02-19 2015-07-29 株式会社リコー 装置、情報処理システム、情報処理方法、及び情報処理プログラム
JP7254616B2 (ja) * 2019-05-17 2023-04-10 キヤノン株式会社 管理装置、方法、およびプログラム
JP7201087B2 (ja) * 2019-06-21 2023-01-10 日本電信電話株式会社 Api変換装置、api変換方法、およびプログラム
US11775356B2 (en) * 2021-09-14 2023-10-03 Hewlett Packard Enterprise Development Lp Method and system for facilitating backwards compatibility of a rest API on an evolving data model

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165968A (ja) * 1997-08-13 1999-03-09 Nippon Telegr & Teleph Corp <Ntt> ネットワーク管理方法及びそのシステム
JP2001524709A (ja) * 1997-11-20 2001-12-04 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) 通信環境におけるモジュール間のカップリングを低減するためのシステムおよび方法
JP2004178271A (ja) * 2002-11-27 2004-06-24 Inkurimento P Kk 情報処理装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165968A (ja) * 1997-08-13 1999-03-09 Nippon Telegr & Teleph Corp <Ntt> ネットワーク管理方法及びそのシステム
JP2001524709A (ja) * 1997-11-20 2001-12-04 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) 通信環境におけるモジュール間のカップリングを低減するためのシステムおよび方法
JP2004178271A (ja) * 2002-11-27 2004-06-24 Inkurimento P Kk 情報処理装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014503867A (ja) * 2010-11-05 2014-02-13 騰訊科技(深▲セン▼)有限公司 クロスプロセス通信のための方法および装置、ならびにコンピュータ記憶媒体

Also Published As

Publication number Publication date
CN101073056A (zh) 2007-11-14
US20080034362A1 (en) 2008-02-07
JP2006164191A (ja) 2006-06-22

Similar Documents

Publication Publication Date Title
WO2006061921A1 (ja) プログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラム
CN100396132C (zh) 一种实现无线终端程序更新的方法
EP0996892B1 (en) Automatic regeneration of user data from a network
EP1775913B1 (en) Method for controlling multimedia middleware apparatus using metadata
US20090217256A1 (en) Method and apparatus for updating firmware in portable terminal
KR101885133B1 (ko) 디지털 디바이스에서 어플리케이션 자동 인스톨 기능을 제공하기 위한 장치 및 방법
US20110302274A1 (en) Architecture of a network device for processing applications, and control method for the network device
US20100107150A1 (en) Terminal having application update managing function, and application update managing program and system
US20070033584A1 (en) Application update methods and mobile communication devices utilizing the same
CN101984406A (zh) 一种通过无线局域网对终端进行升级的方法和系统
WO2006110005A1 (en) Method for providing contents for mobile comunication terminal
US20090138542A1 (en) Information processing apparatus and information processing method
AU2010287106B2 (en) System and device for data management, and method thereof
JP2002297483A (ja) 移動体通信端末、移動体通信端末の通信方法及びプログラム
TW200810425A (en) System and method for providing configuration information of network-based apparatus
EP1605717A1 (en) Updating wireless data using a wireless connection
JP2003223387A (ja) プログラムダウンロードシステム、放送通信融合端末およびプログラムダウンロード方法
US11144312B2 (en) Management method for preset third-party applications, intelligent terminal and storage medium
KR101115378B1 (ko) 이동통신 단말기의 메뉴 원격 동기화 장치 및 방법
US20080288672A1 (en) Information processing system, information terminal and server apparatus
JP4788128B2 (ja) 実行環境整備システム、実行環境整備装置および実行環境整備方法
EP1714508B1 (en) A method for configuring an electronic device
US20100142480A1 (en) Method of seamless vertical handover for sdr terminal and sca based sdr terminal for the same
US11966656B2 (en) Server, electronic device, server communication method, device communication method, and communication system
KR20070046500A (ko) 프로그램 업데이트 방법 및 이를 수행하는 영상처리장치

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 200580042283.5

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 11792779

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 11792779

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 05755212

Country of ref document: EP

Kind code of ref document: A1

WWW Wipo information: withdrawn in national office

Ref document number: 5755212

Country of ref document: EP