図面 (/)

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

出願人 パナソニック株式会社
発明者 葉山悟古山寿樹
出願日 2004年12月10日 (14年7ヶ月経過) 出願番号 2004-358825
公開日 2006年6月22日 (13年1ヶ月経過) 公開番号 2006-164191
状態 未査定
技術分野 ストアードプログラム制御 ストアードプログラム ストアードプログラム
主要キーワード 共同運用 C言語 互換プロトコル プログラム格納装置 赤外線通信インターフェース プログラムヘッダ ソフトウエア更新 組込みソフトウェア
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2006年6月22日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

複数のプログラムを取得して実行する際に、通信方式不整合があると、プログラム間通信ができなかった。

解決手段

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

概要

背景

従来のプログラム取得実行装置としては、当該装置に取得され、実行されるプログラムAPI(Application Programming Interface)に新しいバージョンが作られた場合でも、古いバージョンのプログラムを新しいバージョンの装置の上で実行できる、いわゆる上位互換性を実現できるようにするため、新しいバージョンのAPIに古いバージョンのAPIを含める形で新しいバージョンのAPIを規定するよう取り決めているものがあった(例えば、非特許文献1の2.8節"Versioning"参照)。

すなわち、新しいバージョンのAPIは、古いAPIに対し上位互換性を確保するために、古いAPIに関しては仕様を一切変更せず、これに新たなAPI群を追加することによって、新しいAPIを定義している。

ここで、APIとはアプリケーションプログラムから利用できる、オペレーティングシステム(OS)やプログラミング言語処理系(コンパイラ等)で用意されたライブラリなどの機能の規約に相当するものであり、ファイル制御ウインドウ制御画像処理文字制御などのための機能を有する命令関数、あるいはそれらを利用するためのプログラム上の手続きを定めた規約として提供されることが多い。

APIを使うことでコンピュータソフトウェアが他のソフトウェア広義の意味で通信し合うことができる。またAPIは、低レベルハードウエア寄りのソフトウェアと高レベルな人間寄りのソフトウェアとの間の関係をより抽象化するための1つの方法である。

APIの目的の一つは、ウィンドウを操作したりアイコンを描画するというような共通して使える機能(関数)を提供することである。このような機能を使えば、プログラマはファイル制御関数やウインドウ制御関数等をその都度コーディングしなくても済む。

図18(a)は、前記非特許文献1に記載された従来のプログラム取得実行装置を示すものである。

図18(a)において、プログラム取得実行装置100は、プログラム取得部101とプログラム実行部102とを備えている。

また、プログラム格納装置150は、プログラム取得実行装置100が取得し、実行するためのプログラムを格納する。

プログラム取得部101は、一個または複数のプログラム格納装置150から、通信路等の通信媒体200を介して一個または複数のプログラムを取得する。

プログラム実行部102は、プログラム取得部101が取得した一個または複数のプログラムを実行する。

プログラム取得部101が取得するプログラムは、予め決められたAPIに準拠して作成されており、プログラム実行部102もまた、それと同じAPIに準拠したプログラムを実行するように構成されている。このため、プログラム取得部101が取得したプログラムは、プログラム実行部102によって実行することが可能となる。

図18(b)はこの従来のプログラム取得実行装置の具体的な構成の一例を示すブロック図である。

プログラム取得実行装置としてのコンピュータ100aは、CPU1001,RAM1002,ROM1003,および通信インターフェース1004を有し、これらがバス1005により互いに接続されている。

また、コンピュータ100aとプログラム格納装置としてのファイルサーバ150aとは通信媒体としての通信路200aを介して互いに接続されている。

コンピュータ100a内のCPU1001はROM1003に記録されたプログラムにより通信インターフェース1004を制御し、ファイルサーバ150aにコマンドを出力する。

ファイルサーバ150aはこのコマンドにより指定されたプログラムを検索し、検索したプログラムをコンピュータ100aに送り出す。

コンピュータ100aの通信インターフェース1004はこのプログラムを受信し、ワークエリアとしてのRAM1002に格納する。
CPU1001はROM1003に記録されたOS(Operating System)等のモニタプログラムの制御のもとで、ファイルサーバより取得したプログラムを実行する。

すなわち、CPU1001,ROM1003,通信インターフェース1004からなる部分が図18(a)のプログラム取得部101に相当する。また、CPU1001,RAM1002,ROM1003からなる部分がプログラム実行部102に相当する。

ところで、非特許文献1で開示されている技術を用いた従来のプログラム取得実行装置では、新しいバージョンのAPIに古いバージョンのAPIを含める形で新しいバージョンのAPIを規定するよう取り決めてある。このため、プログラム取得部101が取得するプログラムのAPIのバージョンが、プログラム実行部102が準拠しているバージョンよりも古いバージョンであったとしても、問題なく実行することができる。

すなわち、単一のプログラムであれば、非特許文献1で開示されている技術を用いることによって、APIのバージョンの上位互換性を実現することができる。

図19はこのようなプログラムを取得し実行する場合の具体的なシステムの構成を、ホームネットワークであるHAVi(Home Audio/Video interoperability)を例にとって示す。

この従来例は、プログラム取得実行装置としてのTV受像機100bとプログラム格納装置としてのVTR150bとが通信媒体としてのIEEE1394ケーブル200bを介して互いに接続されている状態を示す。

即ち、このホームネットワークは、TV受像機100bとVTR150bとが互いに協調して動作を行い、VTR150bにより再生した映像ソースをTV受像機100bに表示するものである。

この協調動作を可能にするために、予めVTR150bの側にTV受像機100b用の制御プログラム機種ごとに用意しておき、TV受像機100bとVTR150bとをIEEE1394ケーブル200bを介して接続した時点で互いに情報をやりとりし、TV受像機100bの種類に応じたプログラムをVTR150bの側からダウンロードする。

これにより、TV受像機100bは当該機種に最適な制御プログラムを実行してVTR150bと協調動作することが可能となる。
"TheHAVi Specification Version 1.1"、〔オンライン〕、平成13年5月15日、HAVi Inc.、〔平成16年9月27日検索〕、インターネット< http://www.havi.org/memberarea/docs/051501Documents/release-May15-HAVi1.1(clean).pdf >

概要

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

目的

本発明は、前記従来の課題を解決するためになされたもので、複数のプログラムを取得して協調動作させる際に、それらのプログラムのバージョンの間に不整合があった場合でも、利用する相手のプログラムのバージョンごとに別々のコードを用意することなしに、相手のプログラムを利用でき、また、古いバージョンに準拠したプログラムが新しいバージョンに準拠したプログラムを利用できるプログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラムを提供することを目的とする。

効果

実績

技術文献被引用数
1件
牽制数
3件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

通信媒体を介してプログラム格納装置からプログラムを取得して実行するプログラム取得実行装置であって、プログラム格納装置からプログラムを取得するプログラム取得部と、該プログラム取得部が取得したプログラムを実行するプログラム実行部と、該プログラム実行部が実行する複数のプログラムが相互に通信する際の通信方式を変換する通信方式変換部とを備えた、ことを特徴とするプログラム取得実行装置。

請求項2

通信媒体を介してプログラム格納装置からプログラムを取得して実行するプログラム取得実行装置であって、プログラム格納装置からプログラムを取得するプログラム取得部と、該プログラム取得部が取得したプログラムを実行するプログラム実行部と、該プログラム実行部が実行する複数のプログラムが相互に通信する際の通信方式の不整合を検出する通信方式不整合検出部とを備えた、ことを特徴とするプログラム取得実行装置。

請求項3

請求項2に記載のプログラム取得実行装置において、前記通信方式不整合検出部が通信方式の不整合を検出した場合には、前記プログラム取得部はプログラムを再取得する、ことを特徴とするプログラム取得実行装置。

請求項4

請求項2または請求項3に記載のプログラム取得実行装置において、前記通信方式不整合検出部が通信方式の不整合を検出した場合に、前記プログラム実行部が実行する複数のプログラムが相互に通信する際の通信方式を変換する通信方式変換部をさらに備えた、ことを特徴とするプログラム取得実行装置。

請求項5

請求項3または請求項4に記載のプログラム取得実行装置において、前記プログラム取得部が再取得するプログラムが用いるべき、整合の取れた通信方式を決定する整合通信方式決定部をさらに備え、前記プログラム取得部は、前記整合通信方式決定部が決定した通信方式を用いるプログラムを再取得する、ことを特徴とするプログラム取得実行装置。

請求項6

請求項5に記載のプログラム取得実行装置において、前記整合通信方式決定部は、前記プログラム取得部が既に取得しているプログラムが用いている通信方式の中から、整合の取れた通信方式を決定する、 ことを特徴とするプログラム取得実行装置。

請求項7

請求項5に記載のプログラム取得実行装置において、前記整合通信方式決定部は、一個または複数の前記プログラム格納装置から再取得可能なプログラムが用いている通信方式の中から、整合の取れた通信方式を決定する、ことを特徴とするプログラム取得実行装置。

請求項8

請求項5ないし請求項7のいずれかに記載のプログラム取得実行装置において、前記整合通信方式決定部は、整合の取れた通信方式の候補の中から、最も新しい通信方式を選択し、整合の取れた通信方式として決定する、ことを特徴とするプログラム取得実行装置。

請求項9

請求項5ないし請求項7のいずれかに記載のプログラム取得実行装置において、前記整合通信方式決定部は、整合の取れた通信方式の候補の中から、前記プログラム取得部がプログラムを再取得する際のコストが最も安価となるような通信方式を選択し、整合の取れた通信方式として決定する、ことを特徴とするプログラム取得実行装置。

請求項10

請求項5ないし請求項9のいずれかに記載のプログラム取得実行装置において、前記整合通信方式決定部は、前記プログラム取得部が、前記整合通信方式決定部が決定した整合の取れた通信方式を用いるプログラムの取得に失敗した際に、整合の取れた通信方式を再決定し、前記プログラム取得部は、前記整合通信方式決定部が再決定した通信方式を用いるプログラムを再取得する、ことを特徴とするプログラム取得実行装置。

請求項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

コンピュータに、通信媒体を介してプログラム格納装置からプログラムを取得して実行させるプログラム取得実行方法を実行させるプログラムであって、前記プログラム取得実行方法は、プログラム格納装置からプログラムを取得するプログラム取得工程と、該プログラム取得工程により取得したプログラムを実行するプログラム実行工程と、該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方式を変換する通信方式変換工程とを含む、ことを特徴とするプログラム取得実行プログラム。

請求項26

コンピュータに、通信媒体を介してプログラム格納装置からプログラムを取得して実行させるプログラム取得実行方法を実行させるプログラムであって、前記プログラム取得実行方法は、プログラム格納装置からプログラムを取得するプログラム取得工程と、該プログラム取得工程が取得したプログラムを実行するプログラム実行工程と、該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方式の不整合を検出する通信方式不整合検出工程とを含む、ことを特徴とするプログラム取得実行プログラム。

技術分野

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に格納する。
CPU1001はROM1003に記録されたOS(Operating System)等のモニタプログラムの制御のもとで、ファイルサーバより取得したプログラムを実行する。

0019

すなわち、CPU1001,ROM1003,通信インターフェース1004からなる部分が図18(a)のプログラム取得部101に相当する。また、CPU1001,RAM1002,ROM1003からなる部分がプログラム実行部102に相当する。

0020

ところで、非特許文献1で開示されている技術を用いた従来のプログラム取得実行装置では、新しいバージョンのAPIに古いバージョンのAPIを含める形で新しいバージョンのAPIを規定するよう取り決めてある。このため、プログラム取得部101が取得するプログラムのAPIのバージョンが、プログラム実行部102が準拠しているバージョンよりも古いバージョンであったとしても、問題なく実行することができる。

0021

すなわち、単一のプログラムであれば、非特許文献1で開示されている技術を用いることによって、APIのバージョンの上位互換性を実現することができる。

0022

図19はこのようなプログラムを取得し実行する場合の具体的なシステムの構成を、ホームネットワークであるHAVi(Home Audio/Video interoperability)を例にとって示す。

0023

この従来例は、プログラム取得実行装置としてのTV受像機100bとプログラム格納装置としてのVTR150bとが通信媒体としてのIEEE1394ケーブル200bを介して互いに接続されている状態を示す。

0024

即ち、このホームネットワークは、TV受像機100bとVTR150bとが互いに協調して動作を行い、VTR150bにより再生した映像ソースをTV受像機100bに表示するものである。

0025

この協調動作を可能にするために、予めVTR150bの側にTV受像機100b用の制御プログラム機種ごとに用意しておき、TV受像機100bとVTR150bとをIEEE1394ケーブル200bを介して接続した時点で互いに情報をやりとりし、TV受像機100bの種類に応じたプログラムをVTR150bの側からダウンロードする。

0026

これにより、TV受像機100bは当該機種に最適な制御プログラムを実行してVTR150bと協調動作することが可能となる。
"TheHAVi Specification Version 1.1"、〔オンライン〕、平成13年5月15日、HAVi Inc.、〔平成16年9月27日検索〕、インターネット< http://www.havi.org/memberarea/docs/051501Documents/release-May15-HAVi1.1(clean).pdf >

発明が解決しようとする課題

0027

しかしながら、前記従来の構成では、複数のプログラムを取得しこれらのプログラム同士が互いに他を利用しながら実行する際に、新しいAPIと古いAPIとにそれぞれ準拠したものが混在する場合などでは、新しいバージョンのAPIに準拠したプログラムから、古いバージョンのAPIに準拠したプログラムの機能を利用しようとしても、古いバージョンのAPIしか利用することができない。

0028

すなわち、非特許文献1で開示されている技術を用いることによって、プログラム実行部102が新しいバージョンに準拠していた場合には、新しいバージョンのAPIに準拠したプログラムと、古いバージョンのAPIに準拠したプログラムの両者を実行することができる。

0029

しかしながら、或るプログラムが他のプログラムを利用する場合、古いバージョンのAPIに準拠したプログラムは、新しいバージョンのAPIに対応していないため、新しいバージョンのAPIに準拠したプログラムからは、古いバージョンのAPIしか利用できない。

0030

また、利用する相手のプログラムが準拠しているAPIが新しいバージョンか古いバージョンかは、プログラムの実行時にしか分からない。

0031

従って、新しいバージョンに準拠したプログラムは、利用する相手のプログラムごとに、相手のプログラムがどのバージョンのAPIを用いているかをチェックし、相手が用いているAPIを用いて相手の機能を利用しなければならなかった。

0032

このため、複数のプログラムが協調して動作する際に、それらのバージョンの間に不整合があったとしても、できる限りプログラムを実行可能にするためには、全てのプログラムは、他のプログラムの機能を利用する箇所では、自分が用いているAPIよりも古い全てのバージョンのAPIごとに、そのAPIを用いたコードを用意しておく必要があり、プログラムの構造の複雑化とサイズの肥大化を招く、という課題を有していた。

0033

更に、逆に、古いバージョンに準拠したプログラムが新しいバージョンに準拠したプログラムを利用しようとしても、古いバージョンに準拠したプログラムは、新しいバージョンに準拠したプログラムではいかなる機能が追加されているかが事前に判明しておらず、自分よりも新しいバージョンのAPIに対応したコードを用意しておくことは通常不可能なので、自分よりも新しいバージョンのAPIについては、そもそも利用することができない、という課題を有していた。

0034

本発明は、前記従来の課題を解決するためになされたもので、複数のプログラムを取得して協調動作させる際に、それらのプログラムのバージョンの間に不整合があった場合でも、利用する相手のプログラムのバージョンごとに別々のコードを用意することなしに、相手のプログラムを利用でき、また、古いバージョンに準拠したプログラムが新しいバージョンに準拠したプログラムを利用できるプログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラムを提供することを目的とする。

0035

また、本発明は、単に上述のような複数のプログラム間のAPIのバージョンの不整合を解決するのみに留まらず、複数のプログラム間の通信方式の不整合全般を解決するプログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラムを提供することを目的とするものである。

0036

すなわち、本発明は、複数のプログラムを取得して協調動作させる際に、それらのプログラムの間の通信方式に不整合があった場合でも、利用する相手のプログラムが使用可能な通信方式の種類ごとに別々のコードを用意することなしに、相手のプログラムを利用できるプログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラムを提供することを目的とする。

課題を解決するための手段

0037

前記従来の課題を解決するために、本発明の請求項1に係るプログラム取得実行装置は、通信媒体を介してプログラム格納装置からプログラムを取得して実行するプログラム取得実行装置であって、プログラム格納装置からプログラムを取得するプログラム取得部と、該プログラム取得部が取得したプログラムを実行するプログラム実行部と、該プログラム実行部が実行する複数のプログラムが相互に通信する際の通信方式を変換する通信方式変換部とを備えたことを特徴とするものである。

0038

本発明の請求項2に係るプログラム取得実行装置は、通信媒体を介してプログラム格納装置からプログラムを取得して実行するプログラム取得実行装置であって、プログラム格納装置からプログラムを取得するプログラム取得部と、該プログラム取得部が取得したプログラムを実行するプログラム実行部と、該プログラム実行部が実行する複数のプログラムが相互に通信する際の通信方式の不整合を検出する通信方式不整合検出部とを備えたことを特徴とするものである。

0039

本発明の請求項3に係るプログラム取得実行装置は、請求項2に記載のプログラム取得実行装置において、前記通信方式不整合検出部が通信方式の不整合を検出した場合には、前記プログラム取得部はプログラムを再取得することを特徴とするものである。

0040

本発明の請求項4に係るプログラム取得実行装置は、請求項2または請求項3に記載のプログラム取得実行装置において、前記通信方式不整合検出部が通信方式の不整合を検出した場合に、前記プログラム実行部が実行する複数のプログラムが相互に通信する際の通信方式を変換する通信方式変換部をさらに備えたことを特徴とするものである。

0041

本発明の請求項5に係るプログラム取得実行装置は、請求項3または請求項4に記載のプログラム取得実行装置において、前記プログラム取得部が再取得するプログラムが用いるべき、整合の取れた通信方式を決定する整合通信方式決定部をさらに備え、前記プログラム取得部は、前記整合通信方式決定部が決定した通信方式を用いるプログラムを再取得することを特徴とするものである。

0042

本発明の請求項6に係るプログラム取得実行装置は、請求項5に記載のプログラム取得実行装置において、前記整合通信方式決定部は、前記プログラム取得部が既に取得しているプログラムが用いている通信方式の中から、整合の取れた通信方式を決定することを特徴とするものである。

0043

本発明の請求項7に係るプログラム取得実行装置は、請求項5に記載のプログラム取得実行装置において、前記整合通信方式決定部は、一個または複数の前記プログラム格納装置から再取得可能なプログラムが用いている通信方式の中から、整合の取れた通信方式を決定することを特徴とするものである。

0044

本発明の請求項8に係るプログラム取得実行装置は、請求項5ないし請求項7のいずれかに記載のプログラム取得実行装置において、前記整合通信方式決定部は、整合の取れた通信方式の候補の中から、最も新しい通信方式を選択し、整合の取れた通信方式として決定することを特徴とするものである。

0045

本発明の請求項9に係るプログラム取得実行装置は、請求項5ないし請求項7のいずれかに記載のプログラム取得実行装置において、前記整合通信方式決定部は、整合の取れた通信方式の候補の中から、前記プログラム取得部がプログラムを再取得する際のコストが最も安価となるような通信方式を選択し、整合の取れた通信方式として決定することを特徴とするものである。

0046

本発明の請求項10に係るプログラム取得実行装置は、請求項5ないし請求項9のいずれかに記載のプログラム取得実行装置において、前記整合通信方式決定部は、前記プログラム取得部が、前記整合通信方式決定部が決定した整合の取れた通信方式を用いるプログラムの取得に失敗した際に、整合の取れた通信方式を再決定し、前記プログラム取得部は、前記整合通信方式決定部が再決定した通信方式を用いるプログラムを再取得することを特徴とするものである。

0047

本発明の請求項11に係るプログラム取得実行装置は、請求項5ないし請求項10のいずれかに記載のプログラム取得実行装置において、前記通信方式決定部が整合の取れた通信方式を決定する方法を指示する通信方式決定方法指示部をさらに備え、前記通信方式決定部は、前記通信方式決定方法指示部によって指示された方法で整合の取れた通信方式を決定することを特徴とするものである。

0048

本発明の請求項12に係るプログラム取得実行装置は、請求項5ないし請求項11のいずれかに記載のプログラム取得実行装置において、前記プログラム取得部は、前記通信方式不整合検出部が通信方式の不整合を検出したプログラムのみを再取得することを特徴とするものである

0049

本発明の請求項13に係るプログラム取得実行装置は、請求項5ないし請求項11のいずれかに記載のプログラム取得実行装置において、前記プログラム取得部は、前記プログラム実行部が実行するのに必要な全てのプログラムを再取得することを特徴とするものである。

0050

本発明の請求項14に係るプログラム取得実行装置は、請求項5ないし請求項13のいずれかに記載のプログラム取得実行装置において、前記プログラム取得部は、プログラムのうち、前記通信方式不整合検出部が検出した通信方式の不整合が存在する部分のみを再取得することを特徴とするものである。

0051

本発明の請求項15に係るプログラム取得実行装置は、請求項1または請求項4ないし請求項14のいずれかに記載のプログラム取得実行装置において、前記通信方式変換部は、通信方式の変換を行う変換プログラムを実行することによって通信方式を変換し、前記プログラム取得部は、前記通信方式変換部が実行する変換プログラムを取得することを特徴とするものである。

0052

本発明の請求項16に係るプログラム取得実行装置は、請求項1または請求項4ないし請求項15のいずれかに記載のプログラム取得実行装置において、前記通信方式変換部が通信方式を変換する方法を指示する通信方式変換方法指示部を備え、前記通信方式変換部は、前記通信方式変換方法指示部によって指示された方法で通信方式を変換することを特徴とするものである。

0053

本発明の請求項17に係るプログラム取得実行装置は、請求項1ないし請求項16のいずれかに記載のプログラム取得実行装置において、前記プログラム取得部がプログラムを取得する方法を指示するプログラム取得方法指示部を備え、前記プログラム取得部は、前記プログラム取得方法指示部によって指示された方法でプログラムを取得することを特徴とするものである。

0054

本発明の請求項18に係るプログラム取得実行装置は、請求項2ないし請求項17のいずれかに記載のプログラム取得実行装置において、前記通信方式不整合検出部は、前記プログラム実行部がプログラムの実行を開始する前に、通信方式の不整合を検出することを特徴とするものである。

0055

本発明の請求項19に係るプログラム取得実行装置は、請求項2ないし請求項17のいずれかに記載のプログラム取得実行装置において、前記通信方式不整合検出部は、前記プログラム実行部がプログラムを実行中のときに、逐次通信方式の不整合を検出することを特徴とするものである。

0056

本発明の請求項20に係るプログラム取得実行装置は、請求項3ないし19のいずれかに記載のプログラム取得実行装置において、前記プログラム取得部が再取得する対象となっているプログラムまたはプログラムの一部を格納するプログラム格納部をさらに備え、前記プログラム実行部は、前記プログラム取得部が再取得したプログラムまたはプログラムの一部を実行した後、再び前記プログラム格納部が格納しているプログラムを実行することを特徴とするものである。

0057

本発明の請求項21に係るプログラム取得実行方法は、通信媒体を介してプログラム格納装置からプログラムを取得して実行するプログラム取得実行方法であって、プログラム格納装置からプログラムを取得するプログラム取得工程と、該プログラム取得工程により取得したプログラムを実行するプログラム実行工程と、該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方式を変換する通信方式変換工程とを含むことを特徴とするものである。

0058

本発明の請求項22に係るプログラム取得実行方法は、通信媒体を介してプログラム格納装置からプログラムを取得して実行するプログラム取得実行方法であって、プログラム格納装置からプログラムを取得するプログラム取得工程と、該プログラム取得工程が取得したプログラムを実行するプログラム実行工程と、該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方式の不整合を検出する通信方式不整合検出工程とを含むことを特徴とするものである。

0059

本発明の請求項23に係るプログラム取得実行プログラム記録媒体は、コンピュータに、通信媒体を介してプログラム格納装置からプログラムを取得して実行させるプログラム取得実行方法を実行させるプログラムを記録した媒体であって、前記プログラム取得実行方法は、プログラム格納装置からプログラムを取得するプログラム取得工程と、該プログラム取得工程により取得したプログラムを実行するプログラム実行工程と、該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方式を変換する通信方式変換工程とを含むことを特徴とするものである。

0060

本発明の請求項24に係るプログラム取得実行プログラム記録媒体は、コンピュータに、通信媒体を介してプログラム格納装置からプログラムを取得して実行させるプログラム取得実行方法を実行させるプログラムを記録した媒体であって、前記プログラム取得実行方法は、プログラム格納装置からプログラムを取得するプログラム取得工程と、該プログラム取得工程が取得したプログラムを実行するプログラム実行工程と、該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方式の不整合を検出する通信方式不整合検出工程とを含むことを特徴とするものである。

0061

本発明の請求項25に係るプログラム取得実行プログラムは、コンピュータに、通信媒体を介してプログラム格納装置からプログラムを取得して実行させるプログラム取得実行方法を実行させるプログラムであって、前記プログラム取得実行方法は、プログラム格納装置からプログラムを取得するプログラム取得工程と、該プログラム取得工程により取得したプログラムを実行するプログラム実行工程と、該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方式を変換する通信方式変換工程とを含むことを特徴とするものである。

0062

本発明の請求項26に係るプログラム取得実行プログラムは、コンピュータに、通信媒体を介してプログラム格納装置からプログラムを取得して実行させるプログラム取得実行方法を実行させるプログラムであって、前記プログラム取得実行方法は、プログラム格納装置からプログラムを取得するプログラム取得工程と、該プログラム取得工程が取得したプログラムを実行するプログラム実行工程と、該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方式の不整合を検出する通信方式不整合検出工程とを含むことを特徴とするものである。

発明の効果

0063

請求項1に記載のプログラム取得実行装置によれば、複数のプログラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があった場合でも、前記複数のプログラムが相互に通信する際の通信方式を変換することによって、前記複数のプログラムを相互に通信させることが可能となる。

0064

請求項2に記載のプログラム取得実行装置によれば、複数のプログラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があった場合でも、前記不整合を検出することによって必要な措置を取ることが可能となる。

0065

請求項3に記載のプログラム取得実行装置によれば、請求項2に記載のプログラム取得実行装置による効果に加えて、前記不整合が検出されたプログラムを再取得することによって、前記複数のプログラムを不整合のない組合せで実行させることが可能となる。

0066

請求項4に記載のプログラム取得実行装置によれば、請求項2または請求項3に記載のプログラム取得実行装置による効果に加えて、前記不整合が検出されたプログラムの通信方式を変換することによって、前記複数のプログラムを相互に通信させることが可能となる。

0067

請求項5に記載のプログラム取得実行装置によれば、請求項3または請求項4に記載のプログラム取得実行装置による効果に加えて、前記不整合が検出されたプログラムについて、整合の取れた通信方式を使用するプログラムを再取得することによって、前記複数のプログラムを相互に通信させることが可能となる。

0068

請求項6に記載のプログラム取得実行装置によれば、請求項5に記載のプログラム取得実行装置による効果に加えて、前記複数のプログラムが使用可能な通信方式の中から整合の取れた通信方式を決定し、前記整合の取れた通信方式を使用するプログラムを再取得することによって、前記複数のプログラムを相互に通信させることが可能となる。

0069

請求項7に記載のプログラム取得実行装置によれば、請求項5に記載のプログラム取得実行装置による効果に加えて、プログラム格納装置から再取得可能なプログラムが使用している通信方式の中から、整合の取れた通信方式を決定し、前記整合の取れた通信方式を使用するプログラムを再取得することによって、前記複数のプログラムを相互に通信させることが可能となる。

0070

請求項8に記載のプログラム取得実行装置によれば、請求項5ないし請求項7のいずれかに記載のプログラム取得実行装置による効果に加えて、できる限り新しい通信方式を使用して、前記複数のプログラムを相互に通信させることが可能となる。

0071

請求項9に記載のプログラム取得実行装置によれば、請求項5ないし請求項7のいずれかに記載のプログラム取得実行装置による効果に加えて、前記複数のプログラムを相互に通信させるための再取得の際のコストを、できる限り安価にすることが可能となる。

0072

請求項10に記載のプログラム取得実行装置によれば、請求項5ないし請求項9のいずれかに記載のプログラム取得実行装置による効果に加えて、整合の取れた通信方式として決定した通信方式を使用するプログラムの再取得に失敗した際でも、整合の取れた通信方式を再決定し、前記再決定した整合の取れた通信方式を使用するプログラムを再取得することによって、前記複数のプログラムを相互に通信させることが可能となる。

0073

請求項11に記載のプログラム取得実行装置によれば、請求項5ないし請求項10のいずれかに記載のプログラム取得実行装置による効果に加えて、整合の取れた通信方式を決定する方法をユーザが選択でき、前記ユーザによって選択された方法によって決定した、整合の取れた通信方式を使用するプログラムを再取得することによって、前記複数のプログラムを相互に通信させることが可能となる。

0074

請求項12に記載のプログラム取得実行装置によれば、請求項5ないし請求項11のいずれかに記載のプログラム取得実行装置による効果に加えて、前記複数のプログラムの全てではなく、不整合が検出されたプログラムのみを再取得することによって、プログラムの効率的な再取得を実現することが可能となる。

0075

請求項13に記載のプログラム取得実行装置によれば、請求項5ないし請求項11のいずれかに記載のプログラム取得実行装置による効果に加えて、前記複数のプログラムの全てを再取得することによって、前記複数のプログラムの一部のみを取得することによる更なる不整合の発生を回避することが可能となる。

0076

請求項14に記載のプログラム取得実行装置によれば、請求項5ないし請求項13のいずれかに記載のプログラム取得実行装置による効果に加えて、プログラムのうち、通信方式の不整合が存在する部分のみを部分的に再取得することによって、再取得のコストを更に極小化することが可能となる。

0077

請求項15に記載のプログラム取得実行装置によれば、請求項1または請求項4ないし請求項14のいずれかに記載のプログラム取得実行装置による効果に加えて、プログラム格納装置から取得された変換プログラムによって、前記複数のプログラムが相互に通信する際の通信方式を変換することによって、前記複数のプログラムが相互に通信する際の通信方式の変換方法自体の変更が可能となる。

0078

請求項16に記載のプログラム取得実行装置によれば、請求項1または請求項4ないし請求項15のいずれかに記載のプログラム取得実行装置による効果に加えて、通信方式を変換する方法をユーザが選択でき、前記ユーザによって選択された方法によって、前記複数のプログラムが相互に通信する際の通信方式を変換することによって、前記複数のプログラムを相互に通信させることが可能となる。

0079

請求項17に記載のプログラム取得実行装置によれば、請求項1ないし請求項16のいずれかに記載のプログラム取得実行装置による効果に加えて、プログラムを取得する方法をユーザが選択でき、前記ユーザによって選択された方法によって、不整合が検出されたプログラムを再取得することによって、前記複数のプログラムを相互に通信させることが可能となる。

0080

請求項18に記載のプログラム取得実行装置によれば、請求項2ないし請求項17のいずれかに記載のプログラム取得実行装置による効果に加えて、プログラムの実行を開始する前に通信方式の不整合を検出することによって、プログラムの実行中のプログラムの再取得や再実行を回避することが可能となる。

0081

請求項19に記載のプログラム取得実行装置によれば、請求項2ないし請求項17のいずれかに記載のプログラム取得実行装置による効果に加えて、プログラムの実行中に、逐次通信方式の不整合を検出することによって、プログラムの実行前の不整合の検出による実行開始遅れを回避することが可能となる。

0082

請求項20に記載のプログラム取得実行装置によれば、請求項3ないし請求項19のいずれかに記載のプログラム取得実行装置による効果に加えて、不整合が検出された元々のプログラムを格納したまま、当該プログラムについて、整合の取れた通信方式を使用するプログラムを再取得して実行することによって、通信方式の不整合を解消した後で、元々のプログラムを実行することが可能となる。

0083

請求項21に記載のプログラム取得実行方法によれば、複数のプログラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があった場合でも、前記複数のプログラムが相互に通信する際の通信方式を変換することによって、前記複数のプログラムを相互に通信させることが可能となる。

0084

請求項22に記載のプログラム取得実行方法によれば、複数のプログラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があった場合でも、前記不整合を検出することによって必要な措置を取ることが可能となる。

0085

請求項23に記載のプログラム取得実行プログラム記録媒体によれば、複数のプログラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があった場合でも、前記複数のプログラムが相互に通信する際の通信方式を変換することによって、前記複数のプログラムを相互に通信させることが可能となる。

0086

請求項24に記載のプログラム取得実行プログラム記録媒体によれば、複数のプログラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があった場合でも、前記不整合を検出することによって必要な措置を取ることが可能となる。

0087

請求項25に記載のプログラム取得実行プログラムによれば、複数のプログラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があった場合でも、前記複数のプログラムが相互に通信する際の通信方式を変換することによって、前記複数のプログラムを相互に通信させることが可能となる。

0088

請求項26に記載のプログラム取得実行プログラムによれば、複数のプログラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があった場合でも、前記不整合を検出することによって必要な措置を取ることが可能となる。

発明を実施するための最良の形態

0089

以下、本発明の実施の形態について、図面を参照しながら説明する。

0090

(実施の形態1)
図1(a)は、本発明の実施の形態1におけるプログラム取得実行装置の構成図である。図1において、図18(a)と同じ構成要素については同じ符号を用い、説明を省略する。

0091

図1(a)において、プログラム取得実行装置100は、図18(a)における構成に加えて、通信方式変換部203を備えている。
この通信方式変換部203は、ROM1003に記録された通信方式変換プログラムと、CPU1001と、そのワークエリアとなるRAM1002とから構成される。

0092

通信方式変換部203は、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式を変換する。
ここで、通信方式は通信プロトコルの変換のみならず、APIの変換を含むものとする。
また、プログラムの通信はプログラム間での関数の呼び出しやプログラム間でのデータのやりとりも含むものとする。

0093

図1(b)ないし図1(d)は図1(a)のプログラム取得実行装置の階層構造を示す。
ハードウエア層L1は図18(b)に示した通り、CPU1001,RAM1002,ROM1003,および通信インターフェース1004を有し、これらがバス1005を介して互いに接続されることで構成されている。

0094

ハードウエア層L1の上にはリアルタイムOSマルチタスクOS等のOS層L2が実装され、その上にはJava(登録商標仮想マシン(Virtual Machine;VM)等のインタプリタ層L3が実装される。インタプリタ層L3上にはアプリケーション層L4が実装される。なお、図1(c)に示すようにOS層L2とインタプリタ層L3とは階層が逆になっていてもよい。また、図1(d)に示すように、インタプリタ層L3とアプリケーション層L4との間にはミドルウエア層L5が実装されることもある。

0095

ミドルウエアは例えば通信処理データベース管理用のプログラム等がこれに該当し、通信処理やデータベース管理等の特定の分野で必ず必要とされる基本的な機能を提供するものである。
そして、ハードウエア層L1はCPU1001,RAM1002,ROM1003,および通信インターフェース1004からなるハードウエア全体により構成される。

0096

また、OS層L2,インタプリタ層L3,アプリケーション層L4,ミドルウエア層L5は、ROM1003に記録されたOS等のモニタプログラム,Java(登録商標)仮想マシン等のインタプリタ,アプリケーション,ミドルウエアのプログラムによりそれぞれ構成される。

0097

プログラム取得部101は、ROM1003に記録されたモニタプログラムと、CPU1001と、これにより制御される通信インターフェース1004により構成される。
また、プログラム実行部102は、ROM1003に記録されたモニタプログラムと、CPU1001と、そのワークエリアとなるRAM1002により構成される。

0098

上記プログラム取得実行装置100の動作の概略について、図7フローチャートを参照しながら説明する。
処理開始(ステップS1)後、プログラム取得部101は、一個または複数のプログラム格納装置150から、一個または複数のプログラムを取得する(ステップS2)。

0099

なお、プログラム格納装置150とプログラム取得実行装置100との間の通信媒体200やプログラムの取得方法は本発明の請求の範囲とは無関係であり、本発明の請求の範囲は、プログラム格納装置150とプログラム取得実行装置100との間の通信媒体やプログラムの取得方法によって制限されるものではない。

0100

例えば、具体的な通信媒体としては、有線系であればLAN(Local Area Network)、CATV(Cable TV)網、FTTH(Fiber To The Home)網、固定電話通信網などでもよく、また、無線系であれば赤外線通信インターフェース、bluetooth(商標)、移動体通信網衛星通信網などでもよく、その種類を問わない。

0101

プログラム実行部102は、プログラム取得部101が取得した一個または複数のプログラムを実行する(ステップS3)。
通信方式変換部203は、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式を変換する(ステップS4)。
プログラム実行部102が実行している一個または複数のプログラムの実行が全て終了したら、処理を終了(ステップS6)する。そうでなければ、ステップS4を繰り返す(ステップS5)。

0102

なお、本実施の形態では、通信方式変換部203は、プログラムの実行が全て終了するまで繰り返し通信方式の変換を行うという例を記述したが、通信方式変換部203による通信方式の変換のタイミングは、この例の場合のみに制限されるわけではなく、本発明の請求の範囲は、通信方式変換部203による通信方式の変換のタイミングによって制限されるものではない。

0103

通信方式変換部203による通信方式の変換の一例を、図8及び図9を用いて説明する。
図8に、プログラム実行部102で実行されるプログラムが用いるAPIの一例を示す。
この例では、プログラム実行部102で実行されるプログラムが用いるAPIには、「Version 1」及び「Version 2」の二つのバージョンが存在するものとしている。「Version 2」は「Version 1」よりも新しいプログラムであり、「Version 2」は「Version 1」に対して上位互換性があるものとする。

0104

即ち、「Version 2」は「Version 1」の機能を拡張したものであり、なおかつ「Version 1」と互換性がある。例えば、「multiply」と「add」という二つのAPIがあり、「multiply」というAPIは、「Version 2」から追加されたものとしている。

0105

図8に、図7で示したAPIの一例を用いた場合の、通信方式変換部203による通信方式の変換例を示した。
この例では、プログラム実行部102で実行されるプログラムとして、「プログラムA」及び「プログラムB」の二つが存在するとしている。「プログラムA」は、図7で示したAPIの例のうち、「Version 2」のAPIを用いて作られており、「プログラムB」は、「Version 1」のAPIを用いて作られているとする。

0106

この例のように、「Version 2」のAPIを用いている「プログラムA」が、「Version 2」のAPIのみに存在している「multiply」というAPI要求を「プログラムB」に要求した場合、そのままでは、「Version 1」のAPIを用いている「プログラムB」はこれを解釈実行することができない。

0107

そこで、通信方式変換部203は、「multiply」というAPI要求を、「Version 1」のAPIである「add」というAPI要求の組合せに変換し、この変換されたAPI要求を「プログラムB」に要求する。これによって、異なるバージョンのAPIを用いて作られている「プログラムA」と「プログラムB」との間の通信が実現できる。

0108

通信方式変換部203は、例えば図9(b)に示すように、プログラム実行部102から送られてきたAPI要求を解析し、その関数(図9(a)の例ではmultiply)とパラメータ(図9(a)の例では(5,3))とを切り分ける(ステップS4a)。次に、この関数に基づいて図9(c)に示すようなAPI変換表を検索することで、これを変換可能な下位VersionのAPI(図9(a)の例ではadd)を獲得する(ステップS4b)。そして、変換した下位VersionのAPIと図9(b)のステップS4aで得られたパラメータとを用いて下位VersionのAPI要求を生成し、これを変換結果としてプログラム実行部102に返す(ステップS4c)。

0109

このように、通信方式変換部203における変換の実行部は、APIの変換表を用いて変換を行うAPIの変換プログラムとして記述するなどの実現方法があるが、本発明の請求の範囲は、変換の実行方法によって制限されるものではない。

0110

なお、この例では、API要求の内容の表現方法としてC言語に似た表現を用いたが、API要求の内容の表現方法はここで例示した表現のみに制限されるものではなく、また、本発明の請求の範囲は、API要求の表現方法によって制限されるものではない。

0111

また、この例では、APIのバージョンの不整合、すなわちAPIの新,旧のバージョンが通信する場合を例にとって説明したが、本発明は、複数のプログラム間のAPIのバージョン不整合のみに留まらず、複数のプログラム間の通信方式の不整合全般を解決するものである。

0112

すなわち、本発明は、複数のプログラムを取得して協調動作させる際に、それらのプログラムの間の通信方式に不整合があった場合でも、利用する相手のプログラムが使用可能な通信方式の種類ごとに別々のコードを用意することなしに、相手のプログラムを利用できるプログラム取得実行装置を提供することが可能である。

0113

図8のAPIの変換は、例えば図1(e)に示すように、プログラムのヘッダに含まれる、プログラムのバージョンナンバーに基づきAPIの不整合を検出した場合等に行えばよい。

0114

即ち、図1(f),図1(g)に示すように、互いに通信を行おうとするプログラムファイルPFのヘッダPHDの中からバージョンナンバーPVNを取得し(ステップS101)、バージョンナンバー同士を比較し、これらが一致するか否かを検討し(ステップS102)、低いバージョンのAPIでは用意されていないAPIを呼び出すか否かを検出し(ステップS103)、呼び出す場合は高いバージョンのAPIを低いバージョンのAPIに変換する(ステップS104)。

0115

図1(h)は、このようなコンピュータがプログラムをダウンロードして実行するシステムの構成例を示し、プログラム取得実行装置としてのコンピュータ100aが通信媒体としての通信路200aを介してプログラム格納装置としてのファイルサーバ150aにアクセスし、コンピュータ100aが指定した所望のプログラムをファイルサーバ150aが検索し、検出したプログラムをデータとして通信路200aを介してコンピュータ100aに返送し、コンピュータ100aがこのプログラムを実行する。

0116

そして、このようにダウンロードしたプログラムが複数存在し、これらのプログラム同士がプログラム間通信により互いのAPIを呼び出す際、そのAPIのバージョンが異なる場合に上述のような通信方式の変換を行う。

0117

これにより、本来ならばプログラム間の通信を行うことができず、プログラム同士の協調動作やデータの交換等が不可能であったものが、互いにAPIのバージョンが異なる場合であってもプログラム間通信が可能となり、予め低いバージョンのAPIを用意する必要がなくなり、プログラムの複雑化やプログラムサイズの肥大化を防止することが可能となる。

0118

また、この場合も上述したように、通信プロトコルが異なる場合にその通信プロトコルを変換することで、プログラム間の通信が可能となるようにしてもよい。

0119

また、このようなコンピュータや、HAViを始めとする家庭内ネットワーク対応家電機器のみならず、インターネット接続が可能な家電機器や、携帯電話機を始めとする有線・無線の通信網に接続可能な機器、テレビ受信機ラジオ受信機を始めとする放送網に接続可能な機器等において、そのプログラムを自動的にアップデートする場合などでも、本実施の形態を応用することが可能である。

0120

(実施の形態1の変形例1)
図2(a)は、実施の形態1の変形例1による、インターネット接続が可能な携帯電話機のブロック構成を示す。
この携帯電話機100cは、種々の信号処理を行う信号処理部1102と、アンテナ1101で受信された無線信号Nを受信信号として信号処理部1102に出力するとともに、信号処理部1102にて生成された送信信号を無線信号Nとしてアンテナ1101から送信する無線通信部1103とを有している。

0121

また、上記携帯電話機100cは、画像表示を行う液晶パネル(LCD)等の表示部1106と、音声を入力するためのマイク1108と、音声信号を再生するスピーカ1107と、上記信号処理部1102にて処理された画像信号を受け、上記表示部1106を、画像信号に基づいて画像表示が行われるよう制御する表示制御部1104と、マイク1108からの入力音声信号を信号処理部1102に出力するとともに、信号処理部1112にて処理された音声信号をスピーカ1107に出力する音声入出力部1105とを有している。

0122

さらに、この携帯電話機100cは、キーボード1110等により入力したメールアドレスにより、他のインターネット接続対応の携帯電話機やパソコン等との間で電子メールのやりとりを可能にするメール処理部1113を有しており、キーボード1110から入力したメッセージや必要に応じてカメラ部1111で撮影した画像ファイル添付ファイルとして含む電子メールを送受信することが可能である。これはメール処理部1113が生成した電子メールデータを無線通信部1103により電波として送り出し、無線通信部1103で受信した電子メールデータを信号処理部1102を介して表示制御部1104により、表示部1106に電子メールメッセージ添付画像等を映し出すように制御部1109が各部の制御を行うことで可能となる。
また、Web閲覧処理部1112は、キーボード1110等により入力したURL(Uniform Resource Locater)により指定したWebページホームページ)のデータを無線通信部1103を介して図示しないWebサーバに要求する。Webサーバは要求されたWebページのデータを返送する。Web閲覧処理部1112はWebサーバから返送されたWebページデータを解釈し、表示制御部1104により表示部1106にWebページを表示するよう制御部1109が各部の制御を行うことで、Webページの閲覧が可能となる。

0123

また、ROM1115は、ゲームや電卓等の各種アプリケーションが格納されており、キーボード1110等の操作により制御部1109がこれを実行する。RAM1114は制御部1109が各種のソフトウエアを実行する際のワークエリア等として使用される。

0124

このようにインターネット接続可能な携帯電話機100cはその各種機能を、CPUに相当する制御部1109のソフトウエアにより実現しているが、ソフトウエアがROMに固定されているため、出荷後にバグ発見された場合などは、実機回収し交換を行う場合が起こり得る。

0125

そこで、バグをフィックスしたプログラム(以下、更新用プログラムと称す)を携帯電話機に送り、携帯電話機側で手動あるいは自動でアップデートを行うことにより、低コストでバグに対応することが考えられる。その更新用プログラムは出荷時に携帯電話機に格納されているソフトウエアよりも高いバージョンナンバーを有する。

0126

図2(b)はこのようなアップデートを行う際のソフトウエア更新システムを示すブロック図であり、図2(c)ないし図2(i)はそのソフトウエア更新動作の一例を示すフローチャートである。

0127

携帯電話機100cと更新用プログラムサーバ150cとは、基地局2001およびインターネット2002からなる通信網200cを介して接続されている。

0128

まず、図2(c)に示すように、更新用プログラムサーバ150cは、携帯電話機メーカ側からの更新通知の有無を検出することで、更新用プログラムが用意されたか否かを確認する(ステップS201)。

0129

プログラムの更新版が用意されている場合、更新用プログラムサーバ150cはメーカの更新情報に基づき、その更新用プログラムを蓄積しているデータベース更新する(ステップS202)。その後、更新用プログラムサーバ150cは該当するメーカ,機種の携帯電話機に対しプログラムの更新があった旨を一斉に通知する(ステップS203)。

0130

次に、図2(d)に示すように、携帯電話機100cの側では、更新用プログラムサーバからの一斉通知があったか否かを検出し(ステップS211)、一斉通知が検出された場合、ユーザがプログラムの更新を希望するか否かを検出する(ステップS212)。

0131

キーボード操作等によりユーザが更新を希望する旨を入力した場合、携帯電話機100cは更新があったプログラムのリストを更新用プログラムサーバから取得し(ステップS213)、更新があったプログラムの一覧を、図2(e)に示すように表示部に表示する(ステップS214)。

0132

ユーザは表示部に表示された更新プログラムリストを参照し、その中から更新を希望するプログラムをキーボード操作等により指定する(ステップS215)。図2(f)はユーザが指定したプログラムが反転表示されている状態を示す。

0133

この操作を繰り返すことでユーザが更新を希望するプログラムを全て指定し終われば(ステップS216)、携帯電話機100cはメーカ名,機種名,更新希望プログラム名を示したリストを更新用プログラムサーバに送信する(ステップS217)。図2(g)はこの更新を希望するプログラムのリストULを示し、MKRは携帯電話機のメーカ名を示すフィールド、MODは機種名を示すフィールドである。UPNは更新を希望するプログラム名を示すフィールドで、可変長もしくは十分な大きさのフィールドを確保すればよい。

0134

次に、図2(h)に示すように、更新用プログラムサーバ150cは携帯電話機100cから更新用アクセスがあったか否かを検出し(ステップS221)、更新用アクセスがあった場合、携帯電話機側から送られたリスト中のメーカ名,機種名,更新希望プログラム名に基づきデータベースを検索し(ステップS222)、検索されたプログラムを携帯電話機側に返送する(ステップS223)。

0135

次に、図2(i)に示すように、携帯電話機100cは更新用プログラムサーバ150cから更新用プログラムの返送があったか否かを検出し(ステップS231)、返送されたプログラムがあった場合はこの更新用プログラムを電気的に書き換え可能なROMに書き込み(ステップS232)、書き込みが終了した後に必要に応じて自動的に再起動する(ステップS233)。

0136

このように、携帯電話機100cは基地局2001に対しプログラムのアップデートを行う旨のコマンドを送信し、基地局2001はこれをインターネット2002を介して更新用プログラムサーバ150cに送信する。更新用プログラムサーバ150cはこの携帯電話機100cから受信したコマンドに応じて、携帯電話機100cが使用しているプログラムでアップデートが必要なものを検索する。その検索の対象は、OS、インタプリタ、ミドルウエア、アプリケーションのいずれもが含まれる。

0137

そして、更新用プログラムサーバ150cはアップデートが必要なプログラムを検索すると、その検索された更新用プログラムをインターネット2002を介して基地局2001に送信し、基地局2001はこれを無線電波により携帯電話機100cに返送する。

0138

携帯電話機100cでは返送された更新用プログラムによりROM1115を上書きし、必要に応じて再起動を行うことにより、更新されたプログラムを実行することが可能となる。

0139

しかしながら、個々のプログラムのバグはこの種のアップデートにより解消できたとしても、複数のプログラムが互いに連携して動作するため、互いのAPIのバージョンや通信プロトコルの相違等により、プログラム間の通信が行えないことがある。

0140

そこで、上述のような通信方式変換部203により、バージョンの低いAPIには含まれていないAPIを低いバージョンのAPIに変換したり、プロトコルを変換したりすることで、複数のプログラムが同時に動作する場合にプログラム間の連携を行うことが可能となる。携帯電話機100cの場合、通信方式変換部203は、ROM1115に記憶されたプログラムと、制御部1109と、ワークエリアとしてのRAM1114とから構成される。

0141

このように、本実施の形態1の構成によるプログラム取得実行装置によれば、プログラム実行部102が複数のプログラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があった場合でも、通信方式変換部203が前記複数のプログラムが相互に通信する際の通信方式を変換することによって、前記複数のプログラムを相互に通信させることが可能となる。

0142

(実施の形態2)
図3(a)は、本発明の実施の形態2におけるプログラム取得実行装置の構成図である。図3(a)において、図18(a)と同じ構成要素については同じ符号を用い、説明を省略する。

0143

図3(a)において、プログラム取得実行装置100は、図1(a)の通信方式変換部203に代えて通信方式不整合検出部304を備えている。

0144

この通信方式不整合検出部304は、ROM1003に記録された通信方式不整合検出プログラムと、CPU1001と、そのワークエリアとなるRAM1002とから構成される。

0145

通信方式不整合検出部304は、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式の不整合を検出する。

0146

上記プログラム取得実行装置100の動作の概略について、図10のフローチャートを参照しながら説明する。図10において、ステップS11からステップS13までは、本発明の実施の形態1における、図7で示したフローチャートのステップS1からステップS3と同様なので、説明を省略する。

0147

ステップS13の終了後、通信方式不整合検出部304は、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式の不整合を自動的に検出する(ステップS14)。

0148

通信方式不整合検出部304における通信方式の不整合の検出部としては、図3(b)に示すように、プログラム実行部102が実行するプログラムを収録したプログラムファイルPFや、図3(c)に示すようにそれらのプログラムが相互に通信し合う際などのデータを収録したデータファイルの、特定の位置(例えばプログラムヘッダPHD中の一部やデータヘッダDHDの先頭バイトなど)に、通信プロトコルの名称(例えばTCP/IP(Transmission Control Protocol/Internet Protocol)やOSI(Open Systems Interconnection) )等、通信方式を特定可能な情報を表わす通信方式識別CIDを予め埋め込んでおき、それを図1(f)と同様のフローチャートと同様の処理により通信を行うプログラム同士で一致しているか否かをチェックするなどの方法があるが、本発明の請求の範囲は、通信方式の不整合の検出部によって制限されるものではない。

0149

ステップS14で通信方式の不整合を検出した場合には、ユーザに通知するなど必要な措置を取る(ステップS16)。例えば携帯電話機などでは、表示部に不整合が生じた旨のメッセージ表示を行う。不整合が検出できない場合は、ステップS17に進む(ステップS15)。

0150

プログラム実行部102が実行している一個または複数のプログラムの実行が全て終了したら、処理を終了する(ステップS18)。そうでなければ、ステップS14からステップS17までを繰り返す(ステップS17)。

0151

このように、本実施の形態2の構成によれば、プログラム実行部102が複数のプログラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があった場合でも、通信方式不整合検出部304が前記不整合を検出することによって、ユーザへの通知など、必要な措置を採ることが可能となる。

0152

なお、本実施の形態2では、通信方式不整合検出部304は、プログラムの実行が全て終了するまで繰り返し通信方式の不整合の検出を行うという例について記述したが、通信方式不整合検出部304による通信方式の不整合の検出のタイミングは、この例の場合のみに制限されるわけではなく、本発明の請求の範囲は、通信方式不整合検出部304による通信方式の不整合の検出のタイミングによって制限されるものではない。

0153

(実施の形態3)
図4は、本発明の実施の形態3におけるプログラム取得実行装置の構成図である。図4において、図18(a)及び図3(a)と同じ構成要素については同じ符号を用い、説明を省略する。

0154

図4において、プログラム取得実行装置100は、図3(a)における構成と、構成要素は同じである。
ただし、図3(a)における構成とは異なり、通信方式不整合検出部304が通信方式の不整合を検出した場合には、プログラム取得部101は、プログラムを再取得する。

0155

上記プログラム取得実行装置100の動作の概略について、図11(a)のフローチャートを参照しながら説明する。
図11(a)において、ステップS21からステップS24までは、本発明の実施の形態2における、図10で示したフローチャートのステップS11からステップS14と同様なので、説明を省略する。

0156

ステップS24の終了後、ステップS24で通信方式の不整合を検出した場合には、プログラム取得部101は、プログラムを再取得し(ステップS26)、ステップS23から処理をやり直す(プログラム実行部102がプログラムの再実行を行う)。そうでなければ、ステップS27に進む(ステップS25)。

0157

プログラム実行部102が実行している一個または複数のプログラムの実行が全て終了したら、処理を終了する(ステップS28)。そうでなければ、ステップS24からステップS27までを繰り返す(ステップS27)。

0158

ここで、ステップS25で検出する不整合がAPIの不整合である場合、ステップS26は例えば図11(b)に示すように構成できる。

0159

即ち、不整合を検出した場合、一方のプログラムのAPIのバージョンが他方のプログラムのAPIのバージョンより高いか否かを判定する(ステップS261)。一方のプログラムが他方のプログラムよりもAPIのバージョンが高い場合、他方のプログラムの更新版を取得する(ステップS262)。

0160

その際、更新版を取得できたか否かを判定し(ステップS263)、取得できた場合は直ちにステップS23に進む。更新版が用意されていない等により取得できない場合は、一方のプログラムのバージョンを他方に合わせるよう、一方のプログラムのバージョンの低い版を取得し(ステップS264)、ステップS23に進む。

0161

また、一方のプログラムが他方のプログラムよりもAPIのバージョンが低い場合は、ステップS265ないしS267により上記と逆の操作を行う。即ち、一方のプログラムの更新版を取得する(ステップS265)。その際、更新版を取得できたか否かを判定し(ステップS266)、取得できた場合は直ちにステップS23に進む。更新版が用意されていない等により取得できない場合は、他方のプログラムのバージョンを一方に合わせるよう、他方のプログラムのバージョンの低い版を取得し(ステップS267)、ステップS23に進む。

0162

このように、本実施の形態3の構成によれば、本発明の実施の形態2におけるプログラム取得実行装置による効果に加えて、プログラム取得部101が前記不整合の検出されたプログラムを再取得することによって、プログラム実行部102が前記複数のプログラムを不整合のない組合せで実行させることが可能となる。

0163

なお、本実施の形態3では、通信方式不整合検出部304が通信方式の不整合を検出した場合には、プログラム取得部101がプログラムを再取得し、プログラム実行部102がプログラムの再実行を行う例を記述したが、通信方式不整合検出部304による通信方式の不整合の検出と、プログラム取得部101によるプログラムの再取得と、プログラム実行部102によるプログラムの再実行のタイミングは、この例の場合のみに制限されるわけではなく、本発明の請求の範囲は、通信方式不整合検出部304による通信方式の不整合の検出と、プログラム取得部101によるプログラムの再取得と、プログラム実行部102によるプログラムの再実行のタイミングによって制限されるものではない。

0164

(実施の形態4)
図5は、本発明の実施の形態4におけるプログラム取得実行装置の構成図である。図5において、図18(a)及び図3(a)及び図4と同じ構成要素については同じ符号を用い、説明を省略する。

0165

図5において、プログラム取得実行装置100は、図18(a)及び図3(a)及び図4における構成に加えて、通信方式変換部203を備えている。
通信方式変換部203は、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式を変換する。

0166

上記プログラム取得実行装置100の動作の概略について、図12のフローチャートを参照しながら説明する。
図12において、ステップS31からステップS34までは、本発明の実施の形態2における、図10で示したフローチャートのステップS11からステップS14と同様なので、説明を省略する。

0167

ステップS34の終了後、ステップS34で通信方式の不整合を検出した場合には、通信方式変換部203は、不整合を検出した通信について、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式を変換する(ステップS36)。そうでなければ、ステップS40に進む(ステップS35)。

0168

通信方式不整合検出部304は、不整合を検出した通信について、ステップS34と同様にして、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式の不整合を検出する(ステップS37)。これにより、通信方式を変換し互いに通信が可能となるはずの場合でも、実際には、通信が不整合になる場合を検出することが可能になる。

0169

ステップS37の終了後、ステップS38で再び通信方式の不整合を検出した場合には、ステップS39に進む。そうでなければ、ステップS40に進む(ステップS38)。

0170

ステップS39に進む場合には、プログラム取得部101は、プログラムを再取得し、ステップS33から処理をやり直す(プログラム実行部102がプログラムの再実行を行う)(ステップS39)。

0171

ステップS40に進む場合には、プログラム実行部102が実行している一個または複数のプログラムの実行が全て終了したら、処理を終了(ステップS41)する。そうでなければ、ステップS34からステップS40までを繰り返す(ステップS40)。

0172

従って、最初に取得したプログラムが暫定バージョンであり、その後正式バージョンがリリースされた場合等では、暫定バージョンのプログラムは通信方式変換部203により通信方式を変換しても他のプログラムと通信を行う際に不整合を生じることがあるが、このような場合に、上述のような処理を行うことにより正式バージョンのプログラムを再取得することで、他のプログラムとの通信方式の不整合を解消することが可能になる。

0173

このように、本実施の形態4の構成によれば、本発明の実施の形態2及び実施の形態3におけるプログラム取得実行装置による効果に加えて、通信方式変換部203が前記複数のプログラムが相互に通信する際の通信方式を変換することによって、前記複数のプログラムを相互に通信させることが可能となる。

0174

なお、本実施の形態4では、通信方式不整合検出部304が通信方式の不整合を検出した場合には、まずは、通信方式変換部203が、不整合を検出した通信について、通信方式を変換し、その上で再度、通信方式不整合検出部304が通信方式の不整合の検出を行って、再度通信方式の不整合を検出した場合には、プログラム取得部101がプログラムを再取得し、プログラム実行部102がプログラムの再実行を行うという実施の形態を記述した。

0175

しかしながら、通信方式不整合検出部304による通信方式の不整合の検出と、通信方式変換部203による通信方式の変換と、プログラム取得部101によるプログラムの再取得と、プログラム実行部102によるプログラムの再実行のタイミングは、この例の場合のみに制限されるわけではなく、本発明の請求の範囲は、通信方式不整合検出部304による通信方式の不整合の検出と、通信方式変換部203による通信方式の変換と、プログラム取得部101によるプログラムの再取得と、プログラム実行部102によるプログラムの再実行のタイミングによって制限されるものではない。

0176

(実施の形態5)
図6は、本発明の実施の形態5におけるプログラム取得実行装置の構成図である。図6において、図18(a)及び図3(a)ないし図5と同じ構成要素については同じ符号を用い、説明を省略する。

0177

図6において、プログラム取得実行装置100は、図18(a)及び図3(a)ないし図5における構成に加えて、整合通信方式決定部605を備えている。
この整合通信方式決定部605は、ROM1003に記録された整合通信方式決定プログラムと、CPU1001と、そのワークエリアとなるRAM1002とから構成される。

0178

整合通信方式決定部605は、プログラム取得部101が再取得するプログラムが用いるべき、整合の取れた通信方式を決定する。
プログラム取得部101は、整合通信方式決定部605が決定した通信方式を用いるプログラムを再取得する。

0179

上記プログラム取得実行装置100の動作の概略について、図13(a)のフローチャートを参照しながら説明する。図13(a)において、ステップS51からステップS57までは、本発明の実施の形態4における、図12で示したフローチャートのステップS31からステップS37と同様なので、説明を省略する。

0180

ステップS57の終了後、ステップS57で再び通信方式の不整合を検出した場合には、ステップS59に進む。そうでなければ、ステップS61に進む(ステップS58)。
ステップS59に進む場合には、整合通信方式決定部605は、プログラム取得部101が再取得するプログラムが用いるべき、整合の取れた通信方式を決定する(ステップS59)。

0181

これは例えば、図13(b)のフローチャートに示されるように、2つのプログラムで使用している通信方式を、図3(b)に示すようにプログラムファイルPFのヘッダPHD中の通信方式識別子CIDを抽出する等により取得し(ステップS591)、それぞれのプログラムの通信方式のいずれが上位互換となっているかを検出し(ステップS592)、上位互換となっている通信方式を検出できた場合は(ステップS593)、上位互換となっている通信方式を整合のとれた通信方式と決定し(ステップS594)、ステップS593にて上位互換となっている通信方式を検出できない場合は、各通信方式のいずれに対しても上位互換となる通信方式を整合のとれた通信方式と決定する(ステップS595)。

0182

これは例えば図13(c)に示すような表を検索することにより上位互換となる通信方式を検出すればよい。なお、この表中の「上位互換性」は数字が大きいほど上位互換であることを示す。

0183

これにより、例えば、不整合が検出された場合に使用している通信プロトコルがTCP/IPである場合に整合のとれる通信プロトコルとしてTCP/IPの上位互換プロトコルであるOSIを通信プロトコルとして決定する等の処理を行う。

0184

整合通信方式決定部605は決定した通信方式を用いるプログラムを通信媒体201を介してプログラム格納装置150に通知し、プログラム取得実行装置100はプログラム格納装置150が送信するプログラムを、通信媒体200を介して再取得し、ステップS53から処理をやり直す(プログラム実行部102がプログラムの再実行を行う)(ステップS60)。

0185

ステップS61に進む場合には、プログラム実行部102が実行している一個または複数のプログラムの実行が全て終了したら、処理を終了する(ステップS62)。そうでなければ、ステップS54からステップS61までを繰り返す(ステップS61)。

0186

このように、本実施の形態5の構成によれば、本発明の実施の形態3及び実施の形態4におけるプログラム取得実行装置による効果に加えて、前記不整合が検出されたプログラムについて、整合の取れた通信方式を使用するプログラムを再取得することによって、プログラム実行部102が実行する複数のプログラムを相互に通信させることが可能となる。

0187

なお、本実施の形態5では、通信方式不整合検出部304が通信方式の不整合を検出した場合には、まずは、通信方式変換部203が、不整合を検出した通信について、通信方式を変換し、その上で再度、通信方式不整合検出部304が通信方式の不整合の検出を行って、再度通信方式の不整合を検出した場合には、整合通信方式決定部605が整合の取れた通信方式を決定し、プログラム取得部101がプログラムを再取得し、プログラム実行部102がその通信方式を用いるプログラムの再実行を行うという実施例を記述した。

0188

しかしながら、通信方式不整合検出部304による通信方式の不整合の検出と、通信方式変換部203による通信方式の変換と、整合通信方式決定部605による通信方式の決定と、プログラム取得部101によるプログラムの再取得と、プログラム実行部102によるプログラムの再実行のタイミングは、この例の場合のみに制限されるわけではなく、本発明の請求の範囲は、通信方式不整合検出部304による通信方式の不整合の検出と、通信方式変換部203による通信方式の変換と、整合通信方式決定部605による通信方式の決定と、プログラム取得部101によるプログラムの再取得と、プログラム実行部102によるプログラムの再実行のタイミングによって制限されるものではない。

0189

(実施の形態6)
本発明の実施の形態6におけるプログラム取得実行装置の構成図は、本発明の実施の形態5におけるプログラム取得実行装置の構成図と同じく、図6である。ただし、一部の構成要素、即ち、整合通信方式決定部605の機能が本発明の実施の形態5から拡張されている。

0190

図6において、本発明の実施の形態5と機能が同じ構成要素については説明を省略する。
図6において、整合通信方式決定部605は、プログラム取得部101が既に取得しているプログラムが用いている通信方式の中から、整合の取れた通信方式を決定する。

0191

これは例えば図13(d)に示すように、プログラム取得部101において2つのプログラムを取得する際に通信方式識別子CID等のその通信方式に関する情報も取得してこれを保持しておき、整合通信方式決定部605がプログラム取得部101から呼び出すことでこれらを取得すればよい(ステップ591a)。その他の図13(d)の処理は図13(b)と同様である。
このように、本実施の形態6の構成によれば、本発明の実施の形態5におけるプログラム取得実行装置による効果に加えて、プログラム実行部102が実行する複数のプログラムが使用可能な通信方式の中から整合の取れた通信方式を決定し、前記整合の取れた通信方式を使用するプログラムを再取得することによって、前記複数のプログラムを相互に通信させることが可能となる。

0192

(実施の形態7)
本発明の実施の形態7におけるプログラム取得実行装置の構成図は、本発明の実施の形態5におけるプログラム取得実行装置の構成図と同じく、図6である。ただし、一部の構成要素、即ち、整合通信方式決定部605の機能が実施の形態5から拡張されている。

0193

図6において、実施の形態5と機能が同じ構成要素については説明を省略する。
図6において、整合通信方式決定部605は、一個または複数のプログラム格納装置150から再取得可能なプログラムが用いている通信方式の中から、整合の取れた通信方式を決定する。

0194

これは例えば図13(e)に示されるように、整合通信方式決定部605がプログラム格納装置150に格納されている各プログラムからその通信方式に関する情報を取得し(ステップS591b)、図13(c)に示す表等を用いて各プログラムの通信方式のいずれが上位互換となっているかを検出すればよい(ステップS592b)。

0195

これにより、再取得により置き換えられるプログラムとして予め用意されているプログラムの中から整合のとれた通信方式を決定しているので、整合のとれた通信方式として決定した通信方式を用いるプログラムがプログラム格納装置150に存在せず、無駄になることがなくなる。

0196

このように、本実施の形態7の構成によれば、本発明の実施の形態5におけるプログラム取得実行装置による効果に加えて、プログラム格納装置150から再取得可能なプログラムが使用している通信方式の中から、整合の取れた通信方式を決定し、前記整合の取れた通信方式を使用するプログラムを再取得することによって、プログラム実行部102が実行する複数のプログラムを相互に通信させることが可能となる。

0197

(実施の形態8)
本発明の実施の形態8におけるプログラム取得実行装置の構成図は、本発明の実施の形態5ないし7におけるプログラム取得実行装置の構成図と同じく、図6である。ただし、一部の構成要素、即ち、整合通信方式決定部605の機能が本発明の実施の形態5ないし7から拡張されている。

0198

図6において、本発明の実施の形態5ないし7と機能が同じ構成要素については説明を省略する。
図6において、整合通信方式決定部605は、整合の取れた通信方式の候補の中から、最も新しい通信方式を選択し、整合の取れた通信方式として決定する。

0199

これは例えば図13(f)に示されるように、整合通信方式決定部605が整合の取れた通信方式の候補を検出し(ステップS596a)、検出した候補の中から例えば図13(g)に示すような表を検索することにより最新の通信方式を検出すればよい(ステップS596b)。なお、この表中の「新しさ」は数字が大きいほど新しいものとする。

0200

このように、本実施の形態8の構成によれば、本発明の実施の形態5ないし7におけるプログラム取得実行装置による効果に加えて、できる限り新しい通信方式を使用して、プログラム実行部102が実行する複数のプログラムを相互に通信させることが可能となる。

0201

(実施の形態9)
本発明の実施の形態9におけるプログラム取得実行装置の構成図は、本発明の実施の形態5ないし7におけるプログラム取得実行装置の構成図と同じく、図6である。ただし、一部の構成要素、即ち整合通信方式決定部605の機能が本発明の実施の形態5ないし7から拡張されている。

0202

図6において、本発明の実施の形態5ないし7と機能が同じ構成要素については説明を省略する。
図6において、整合通信方式決定部605は、整合の取れた通信方式の候補の中から、前記プログラム取得部がプログラムを再取得する際のコストが最も安価となるような通信方式を選択し、整合の取れた通信方式として決定する。

0203

これは例えば図13(h)に示されるように、整合通信方式決定部605が整合の取れた通信方式の候補を検出し(ステップS596a)、検出した候補の中から例えば図13(i),図13(j)に示すようにプログラムファイルPFのヘッダPHD中のプログラムサイズ情報PGSやパケットサイズ情報PKSを検出し、これらが最小となる通信方式を検出することで実現すればよい(ステップS596c)。

0204

このように、本実施の形態9の構成によれば、本発明の実施の形態5ないし7におけるプログラム取得実行装置による効果に加えて、プログラム実行部102が実行する複数のプログラムを相互に通信させるための再取得の際のコストを、できる限り安価にすることが可能となる。

0205

(実施の形態10)
本発明の実施の形態10におけるプログラム取得実行装置の構成図は、本発明の実施の形態5ないし9におけるプログラム取得実行装置の構成図と同じく、図6である。ただし、一部の構成要素、即ち整合通信方式決定部605の機能が本発明の実施の形態5ないし9から拡張されている。

0206

図6において、本発明の実施の形態5ないし9と機能が同じ構成要素については説明を省略する。
図6において、整合通信方式決定部605は、プログラム取得部101が、整合通信方式決定部605が決定した整合の取れた通信方式を用いるプログラムの取得に失敗した際に、整合の取れた通信方式を再決定し、プログラム取得部101は、整合通信方式決定部605が再決定した通信方式を用いるプログラムを再取得する。

0207

これは、図13(k)に示されるように、ステップS60によるプログラムの再取得が成功したか否かを検出するステップS63を設け、このステップS63によりプログラムの再取得が成功したか否かを検出し、再取得に失敗した場合は、ステップS59に戻り整合の取れた通信方式を再決定することで実現できる。
この再取得の失敗の通知は、例えばプログラム格納装置150が、プログラム取得部101からの要求に応じてそのデータベースを検出し、該当するプログラムを検出できなかった場合などにその旨を示すフラグを立てること等により実現できる。

0208

このように、本実施の形態10の構成によれば、本発明の実施の形態5ないし9におけるプログラム取得実行装置による効果に加えて、整合の取れた通信方式として決定した通信方式を使用するプログラムの再取得に失敗した際でも、整合の取れた通信方式を再決定し、前記再決定した整合の取れた通信方式を使用するプログラムを再取得することによって、プログラム実行部102が実行する複数のプログラムを相互に通信させることが可能となる。

0209

(実施の形態11)
図14(a)は、本発明の実施の形態11におけるプログラム取得実行装置の構成図である。図14(a)において、図18(a)及び図3ないし図6と同じ構成要素については同じ符号を用い、説明を省略する。

0210

図14(a)において、プログラム取得実行装置100は、図18(a)及び図3ないし図6における構成に加えて、通信方式決定方法指示部1406を備えている。
通信方式決定方法指示部1406は、整合通信方式決定部605が整合の取れた通信方式を決定する方法をユーザが指示するものである。

0211

整合通信方式決定部605は、通信方式決定方法指示部1406によって指示された方法で整合の取れた通信方式を決定する。
これは、図14(b)に示すように、整合の取れた通信方式を決定する方法をユーザがキーボードやカーソルキー等により予め指示しておき(ステップS64)、通信方式の不整合を検出した場合に(ステップS58)、整合通信方式決定部605はこの指示された方法に基づいてプログラム取得部101が再取得するプログラムが使用する通信方式を決定する(ステップS59a)。
このユーザが指示する、整合のとれた通信方式を決定する方法は、例えば実施の形態8ないし10のいずれかの方法の他、他の所要規則に基づいて通信方式を決定すればよい。

0212

このように、本実施の形態11の構成によれば、本発明の実施の形態5ないし10におけるプログラム取得実行装置による効果に加えて、整合の取れた通信方式を決定する方法をユーザが選択でき、前記ユーザによって選択された方法によって決定した、整合の取れた通信方式を使用するプログラムを再取得することによって、プログラム実行部102が実行する複数のプログラムを相互に通信させることが可能となる。

0213

(実施の形態12)
本発明の実施の形態12におけるプログラム取得実行装置の構成図は、本発明の実施の形態11におけるプログラム取得実行装置の構成図と同じく、図14(a)である。ただし、一部の構成要素の機能が本発明の実施の形態5ないし11から拡張されている。図14(a)において、本発明の実施の形態5ないし11と機能が同じ構成要素については説明を省略する。

0214

図14(a)において、プログラム取得部101は、通信方式不整合検出部304が通信方式の不整合を検出したプログラムのみを再取得する。
これは、図14(c)に示すように、予めユーザが整合の取れた通信方式を指示しておき(ステップS64)、整合通信方式決定部605がユーザの指示に基づいて整合の取れた通信方式を決定した(ステップS59a)後、プログラム取得部101が、通信方式不整合検出部304が不整合を検出したプログラムであって、かつ整合通信方式決定部605が決定した通信方式を用いるプログラムのみを再取得することで実現できる(ステップS60b)。

0215

このように、本実施の形態12の構成によれば、本発明の実施の形態5ないし11におけるプログラム取得実行装置による効果に加えて、プログラム実行部102が実行する複数のプログラムの全てではなく、不整合が検出されたプログラムのみを再取得することによって、プログラムの効率的な再取得を実現することが可能となる。

0216

(実施の形態13)
本発明の実施の形態13におけるプログラム取得実行装置の構成図は、本発明の実施の形態11及び実施の形態12におけるプログラム取得実行装置の構成図と同じく、図14(a)である。ただし、一部の構成要素の機能が本発明の実施の形態5ないし11から拡張されている。図14(a)において、本発明の実施の形態5ないし11と機能が同じ構成要素については説明を省略する。

0217

図14(a)において、プログラム取得部101は、実行に必要な全てのプログラムを再取得する。
これは、図14(d)に示されるように、整合の取れた通信方式を決定する方法をユーザが指示しておき(ステップS64)、整合通信方式決定部605がユーザの指定した方法により、整合のとれた通信方式を決定し(ステップS59a)、プログラム取得部101が、整合通信方式決定部605が決定した通信方式を用いるプログラムであって、プログラム実行部102が実行に必要な全てのプログラムを再取得することで実現できる(ステップS60c)。

0218

このように、本実施の形態13の構成によれば、本発明の実施の形態5ないし11におけるプログラム取得実行装置による効果に加えて、プログラム実行部102が実行する複数のプログラムの全てを再取得することによって、前記複数のプログラムの一部のみを取得することによる更なる不整合の発生を回避することが可能となる。

0219

(実施の形態14)
本発明の実施の形態14におけるプログラム取得実行装置の構成図は、本発明の実施の形態11ないし13におけるプログラム取得実行装置の構成図と同じく、図14(a)である。ただし、一部の構成要素、即ち、プログラム取得部101の機能が本発明の実施の形態5ないし13から拡張されている。図14(a)において、本発明の実施の形態5ないし13と機能が同じ構成要素については説明を省略する。

0220

図14(a)において、プログラム取得部101は、プログラム全体ではなく、プログラムのうち、通信方式不整合検出部304が検出した通信方式の不整合が存在する部分のみを再取得する。

0221

これは図14(e)に示されるように、整合の取れた通信方式を決定する方法をユーザが指示しておき(ステップS64)、整合通信方式決定部605がユーザの指定した方法により、整合のとれた通信方式を決定し(ステップS59a)、プログラム取得部101が、整合通信方式決定部605が決定した通信方式を用いるプログラム中の、通信方式不整合検出部304が検出した通信方式の不整合が存在する部分のみを再取得することで実現できる(ステップS60d)。

0222

この通信方式の不整合が存在する部分のみの取得は、予めプログラムをモジュール単位で作成しておき、モジュールヘッダの情報を参照することで通信に関連するモジュールのみを再取得すること等により実現できる。

0223

このように、本実施の形態14の構成によれば、本発明の実施の形態5ないし13におけるプログラム取得実行装置による効果に加えて、プログラムのうち、通信方式の不整合が存在する部分のみを部分的に再取得することによって、再取得のコストを更に極小化することが可能となる。

0224

(実施の形態15)
本発明の実施の形態15におけるプログラム取得実行装置の構成図は、本発明の実施の形態11ないし14におけるプログラム取得実行装置の構成図と同じく、図14(a)である。ただし、一部の構成要素、即ち、通信方式変換部203の機能が本発明の実施の形態1または実施の形態4ないし14から拡張されている。図14(a)において、本発明の実施の形態1または実施の形態4ないし14と機能が同じ構成要素については説明を省略する。

0225

図14(a)において、通信方式変換部203は、通信方式の変換を行う変換プログラムを実行することによって、通信方式を変換し、プログラム取得部101は、通信方式変換部203が実行する変換プログラムを取得する。

0226

これは図14(f)に示されるように、プログラム取得部101が、通信方式変換部203が実行する、通信方式の変換を行う変換プログラムを予め取得しておき(ステップS52p)、整合の取れた通信方式を決定する方法をユーザが指示しておき(ステップS64)、通信方式変換部203は、ステップS52pにおいて取得された変換プログラムを実行することによって通信方式を変換する(ステップS56a)ことで実現できる。

0227

このように、本実施の形態15の構成によれば、本発明の実施の形態1または実施の形態4ないし14におけるプログラム取得実行装置による効果に加えて、プログラム格納装置150から取得された変換プログラムによって、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式を変換することによって、前記複数のプログラムが相互に通信する際の通信方式の変換方法自体の変更が可能となる。

0228

(実施の形態16)
図15(a)は、本発明の実施の形態16におけるプログラム取得実行装置の構成図である。図15(a)において、図18(a)及び図3ないし図6及び図14(a)と同じ構成要素については同じ符号を用い、説明を省略する。

0229

図15(a)において、プログラム取得実行装置100は、図18(a)及び図3ないし図6及び図14(a)における構成に加えて、通信方式変換方法指示部1507を備えている。 通信方式変換方法指示部1507は、通信方式変換部203が通信方式を変換する方法を指示させる。 通信方式変換部203は、通信方式変換方法指示部1507によって指示された方法で通信方式を変換する。

0230

これは図15(b)に示すように、予めユーザが通信方式変換部203が使用する通信方式変換方法を指示しておき(ステップS65)、通信方式変換部203が、不整合を検出した通信に関してプログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方法を、ユーザが指定する方法により変換することで実現できる(ステップS56a)。

0231

このように、本実施の形態16の構成によれば、本発明の実施の形態1または実施の形態4ないし15におけるプログラム取得実行装置による効果に加えて、通信方式を変換する方法をユーザが選択でき、前記ユーザによって選択された方法によって、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式を変換することによって、前記複数のプログラムを相互に通信させることが可能となる。

0232

(実施の形態17)
図16(a)は、本発明の実施の形態17におけるプログラム取得実行装置の構成図である。図16(a)において、図18(a)及び図3ないし図6及び図14(a)及び図15(a)と同じ構成要素については同じ符号を用い、説明を省略する。

0233

図16(a)において、プログラム取得実行装置100は、図18(a)及び図3ないし図6及び図14(a)及び図15(a)における構成に加えて、プログラム取得方法指示部1608を備えている。

0234

プログラム取得方法指示部1608は、プログラム取得部101がプログラムを取得する方法を指示させる。
プログラム取得部101は、プログラム取得方法指示部1608によって指示された方法でプログラムを取得する。

0235

これは図16(b)に示すように、ユーザが予めプログラムを取得する方法を指示しておき(ステップS66)、プログラム取得部101が、整合通信方式決定部605が決定した通信方式を用いるプログラムをユーザが指定する方法により再取得することにより実現できる(ステップS60a)。

0236

このように、本実施の形態17の構成によれば、本発明の実施の形態1または実施の形態4ないし16におけるプログラム取得実行装置による効果に加えて、プログラムを取得する方法をユーザが選択でき、前記ユーザによって選択された方法によって、不整合が検出されたプログラムを再取得することによって、プログラム実行部102が実行する複数のプログラムを相互に通信させることが可能となる。

0237

(実施の形態18)
本発明の実施の形態18におけるプログラム取得実行装置の構成図は、本発明の実施の形態17におけるプログラム取得実行装置の構成図と同じく、図16(a)である。ただし、一部の構成要素の機能が本発明の実施の形態2ないし17から拡張されている。図16(a)において、本発明の実施の形態2ないし17と機能が同じ構成要素については説明を省略する。

0238

図16(a)において、通信方式不整合検出部304は、プログラム実行部102がプログラムの実行を開始する前に、通信方式の不整合を検出する。
これは図16(c)に示すように、ユーザが予め整合の取れた通信方式を指定する方法を指示しておき(ステップS64)、通信方式不整合検出部304が、プログラム実行部102が実行する(ステップS53)前のステップS54ないしS60aにおいて複数のプログラムが相互に通信する際の通信方式の不整合を全て検出する(ステップS55、S58、S68)ことにより実現できる。この実行前の不整合の検出は、例えば図3(b),図3(c)に示すようにプログラムファイルPF中の通信方式識別子CIDを事前に参照することで実現できる。

0239

このように、本実施の形態18の構成によれば、本発明の実施の形態2ないし17におけるプログラム取得実行装置による効果に加えて、プログラムの実行を開始する前に通信方式の不整合を検出することによって、検出された不整合を全て解消した後に初めてプログラムを実行するため、プログラムの実行中のプログラムの再取得や再実行を回避することが可能となる。

0240

(実施の形態19)
本発明の実施の形態19におけるプログラム取得実行装置の構成図は、本発明の実施の形態17ないし18におけるプログラム取得実行装置の構成図と同じく、図16(a)である。ただし、一部の構成要素の機能が本発明の実施の形態2ないし17から拡張されている。図16(a)において、本発明の実施の形態2ないし17と機能が同じ構成要素については説明を省略する。 図16(a)において、通信方式不整合検出部304は、プログラム実行部102がプログラムを実行中のときに、逐次通信方式の不整合を検出する。

0241

これは図16(d)に示すように、ユーザが予め整合の取れた通信方式を指定する方法を指示しておき(ステップS64)、通信方式不整合検出部304が不整合を検出した通信に関し、プログラム実行部102が実行(ステップS53b)中の複数のプログラムが相互に通信する際の通信方式の不整合を、ステップS54ないしS60aにおいてプログラムが実行されるごとに逐次検出することにより実現できる。この実行中の不整合の検出は、例えば図3(b),図3(c)に示すようにプログラムファイルPF中の通信方式識別子CIDを実行中に参照することで実現できる。

0242

このように、本実施の形態19の構成によれば、本発明の実施の形態2ないし17におけるプログラム取得実行装置による効果に加えて、プログラムの実行中に、プログラムを一行ずつあるいは一部分ずつ実行する度に、逐次通信方式の不整合を検出し、検出された不整合を解消していくことによって、プログラムの実行前の不整合の検出による実行開始の遅れを回避することが可能となる。

0243

(実施の形態20)
図17(a)は、本発明の実施の形態20におけるプログラム取得実行装置の構成図である。図17(a)において、図18(a)及び図3ないし図6及び図14(a)ないし図16(a)と同じ構成要素については同じ符号を用い、説明を省略する。

0244

図17(a)において、プログラム取得実行装置100は、図18及び図3ないし図6及び図14(a)ないし図16(a)における構成に加えて、プログラム格納部1709を備えている。
プログラム格納部1709は、プログラム取得部101が再取得する対象となっているプログラムまたはプログラムの一部を格納する。
プログラム実行部102は、プログラム取得部101が再取得したプログラムまたはプログラムの一部を実行した後、再びプログラム格納部1709が格納しているプログラムを実行する。

0245

これは図17(b)に示すフローにより実現できる。即ち、プログラム取得部101が、整合通信方式決定部605が決定した通信方式を用いるプログラムをユーザが指定する方法により再取得する前に、再取得する対象となっているプログラムまたはその一部をプログラム格納部1709に予め格納する(ステップS67)。そしてプログラムを再取得(ステップS60a)することにより、ステップS55またはS58における不整合を解消する。その後、プログラム実行部102は、プログラム格納部1709に格納していた、再取得する対象となっているプログラムまたはその一部を取り出してこれを実行する(ステップS69、S70)。

0246

このように、本実施の形態20の構成によれば、本発明の実施の形態3ないし19におけるプログラム取得実行装置による効果に加えて、不整合が検出された元々のプログラムを格納したまま、当該プログラムについて、整合の取れた通信方式を使用するプログラムを再取得して実行することによって、即ち、プログラムを再取得することにより不整合を解消し、元のプログラムでは不整合を生じている部分を無事実行し終われば、一時的に入れ替えていたプログラムを元のプログラムに戻すことによって、通信方式の不整合を解消した後で、元々のプログラムを実行することが可能となる。

0247

なお、この実施の形態20では、不整合部分を解消するためにプログラムの再取得を行うようにしたが、不整合の解消はプログラムの変換により行うようにしてもよい。

0248

また、上記各実施の形態では、プログラム取得実行装置100として、RAMのみを書き換え可能な記憶装置として有する機器組み込み型コンピュータを示したが、書き換え可能な記憶装置としてRAM以外に磁気ディスクドライブ光ディスクドライブ光磁気ディスクドライブ等の書き換え可能な各種ファイル装置を有するものであってもよい。

0249

また、上記各実施の形態では、不揮発性記憶装置としてROMのみを有するものを示したが、ROM以外に、CD-ROMやDVD-ROM等の書き換え不可ファイル装置を有するものであってもよい。

0250

また、このような書き換え可能なファイル装置や書き換え不可のファイル装置を有する場合、ROMに格納していたOS等のモニタプログラムやJava(登録商標)仮想マシン等のインタプリタ、ミドルウエアやアプリケーションプログラム等はこれらのファイル装置に格納してもよい。

0251

また、変形例として、携帯電話機のプログラムの更新を例にとって示したが、上述のような機器組み込み型コンピュータや、HAViを始めとする家庭内ネットワーク対応機器や、インターネット接続が可能な家電機器や、携帯電話機を始めとする有線・無線の通信網に接続可能な機器や、テレビ受信機やラジオ受信機を始めとする放送網に接続可能な機器や、パソコンのプログラムを更新する場合であってもよい。

0252

また、携帯電話機のプログラムの更新は、同一の通信事業者の携帯電話機を製造する複数のメーカが更新用のシステムを共同運用する場合を示したが、各メーカが独自の更新用システムを運用するようにしてもよく、この場合は、更新希望リストにメーカ名の情報を含ませる必要はない。また、インターネット接続が可能なiモード(登録商標)等の携帯電話機を例にとって示したが、公衆通信網自体を経由してプログラムを配信するなど、インターネット以外の通信媒体を用いて運用するようにしてもよい。さらに、通信媒体200と通信媒体201とを併用するようにしたが、これは時分割等により同一の通信媒体を兼用してもよい。

0253

また、携帯電話機に通信方式変換部203を設ける場合を示したが、通信方式不整合検出部304や整合通信方式決定部605を設けてもよい。この場合、これら通信方式不整合検出部304や整合通信方式決定部605もROM1115に記憶されたプログラムと、制御部1109と、ワークエリアとしてのRAM1114とから構成すればよい。

0254

また、上記各実施の形態ではプログラム取得実行装置を示したが、プログラム取得実行方法として実現してもよく、この場合、プログラム取得部,プログラム実行部,通信方式変換部,通信方式不整合検出部,整合通信方式決定部を、それぞれの機能に相当するプログラム取得工程,プログラム実行工程,通信方式変換工程,通信方式不整合検出工程,整合通信方式決定工程として実現すればよい。

0255

また、プログラム取得実行プログラムとしてこれらの工程を有するプログラム取得実行方法を実現してもよく、このプログラム取得実行プログラムを記録媒体に記録したプログラム取得実行プログラム記録媒体として実現してもよい。

0256

また、通信プロトコルの例としてTCP/IP,OSIを示したが、使用可能な通信プロトコルはこれらに限るものではない。

0257

本発明にかかるプログラム取得実行装置は、ネットワークや無線通信装置等の通信媒体を介してプログラム格納装置から複数のプログラムを取得(ダウンロード、アップロードなど)して実行する際に、それら複数のプログラムの間の通信方式に不整合があった場合でも、他のプログラムを利用できる特徴を有し、ダウンロードあるいはアップロード可能なプログラム間のバージョン不整合やプロトコル不整合を解決する方法として、非常に広い分野への応用が可能である。応用分野に特に制限はないが、例えば、家電製品組込みソフトウェアのネットワークや無線通信装置等の通信媒体を介しての書き換えや、インターネットブラウザへのアプリケーションのダウンロード等への応用が可能である。

図面の簡単な説明

0258

本発明の実施の形態1におけるプログラム取得実行装置の構成図
本発明の実施の形態1におけるプログラム取得実行装置の階層構成を示す図
本発明の実施の形態1におけるプログラム取得実行装置の階層構成を示す図
本発明の実施の形態1におけるプログラム取得実行装置の階層構成を示す図
本発明の実施の形態1におけるプログラム取得実行装置のプログラムファイルの構造を示す図
本発明の実施の形態1におけるプログラム取得実行装置のAPIの変換動作のフローチャートを示す図
本発明の実施の形態1におけるプログラム取得実行装置のAPIのバージョンの不一致を検出する動作を示す模式図
本発明の実施の形態1におけるプログラム取得実行装置を含むシステムの構成例を示すブロック図
本発明の実施の形態1の変形例1である携帯電話機の構成例を示すブロック図
本発明の実施の形態1の変形例である携帯電話機のプログラム更新を行うシステムの構成例を示すブロック図
図2(b)のサーバの動作のフローチャートを示す図
図2(b)の携帯電話機の動作のフローチャートを示す図
図2(b)の携帯電話機が更新用プログラムリストを表示している状態を示す図
図2(b)の携帯電話機の更新用プログラムリストを選択している状態を示す図
図2(b)の携帯電話機の更新希望リストのデータ構造の例を示す図
図2(b)のサーバの動作のフローチャートを示す図
図2(b)の携帯電話機の動作のフローチャートを示す図
本発明の実施の形態2におけるプログラム取得実行装置の構成図
本発明の実施の形態2におけるプログラムファイルのデータ構造を示す図
本発明の実施の形態2におけるデータファイルのデータ構造を示す図
本発明の実施の形態3におけるプログラム取得実行装置の構成図
本発明の実施の形態4におけるプログラム取得実行装置の構成図
本発明の実施の形態5ないし10におけるプログラム取得実行装置の構成図
本発明の実施の形態1におけるプログラム取得実行装置の動作の概略のフローチャートを示す図
本発明の実施の形態1におけるプログラム取得実行装置における、プログラム実行部で実行されるプログラムが用いるAPIの一例を示す図
本発明の実施の形態1におけるプログラム取得実行装置における、通信方式変換部による通信方式の変換例を示す図
本発明の実施の形態1におけるプログラム取得実行装置の通信方式変換部を通信方式変換プログラムにより構成した場合の構成例を示す図
本発明の実施の形態1におけるプログラム取得実行装置の通信方式変換部を通信方式変換プログラムにより構成した場合に使用する変換表の一例を示す図
本発明の実施の形態2におけるプログラム取得実行装置の動作の概略のフローチャートを示す図
本発明の実施の形態3におけるプログラム取得実行装置の動作の概略のフローチャートを示す図
図11(a)のステップS26のより詳細な処理の一例のフローチャートを示す図
本発明の実施の形態4におけるプログラム取得実行装置の動作の概略のフローチャートを示す図
本発明の実施の形態5におけるプログラム取得実行装置の動作の概略のフローチャートを示す図
図13(a)のステップS59のより詳細な処理の一例のフローチャートを示す図
図13(a)のステップS59で使用する通信方式の上位互換性の表の一例を示す図
本発明の実施の形態6におけるプログラム取得実行装置の処理の詳細なフローチャートを示す図
本発明の実施の形態7におけるプログラム取得実行装置の処理の詳細なフローチャートを示す図
本発明の実施の形態8におけるプログラム取得実行装置の処理の詳細なフローチャートを示す図
本発明の実施の形態8におけるプログラム取得実行装置で使用される通信方式の新しさの表を示す図
本発明の実施の形態9におけるプログラム取得実行装置の処理の詳細なフローチャートを示す図
図13(h)のステップS596cで使用するプログラムファイルのデータ構造の他の例を示す図
図13(h)のステップS596cで使用するプログラムファイルのデータ構造の他の例を示す図
本発明の実施の形態10におけるプログラム取得実行装置の動作の概略のフローチャートを示す図
本発明の実施の形態11ないし15におけるプログラム取得実行装置の構成図
本発明の実施の形態11におけるプログラム取得実行装置の動作の概要のフローチャートを示す図
本発明の実施の形態12におけるプログラム取得実行装置の動作の概要のフローチャートを示す図
本発明の実施の形態13におけるプログラム取得実行装置の動作の概要のフローチャートを示す図
本発明の実施の形態14におけるプログラム取得実行装置の動作の概要のフローチャートを示す図
本発明の実施の形態15におけるプログラム取得実行装置の動作の概要のフローチャートを示す図
本発明の実施の形態16におけるプログラム取得実行装置の構成図
本発明の実施の形態16におけるプログラム取得実行装置の動作の概要のフローチャートを示す図
本発明の実施の形態17ないし19におけるプログラム取得実行装置の構成図
本発明の実施の形態17におけるプログラム取得実行装置の動作の概要のフローチャートを示す図
本発明の実施の形態18におけるプログラム取得実行装置の動作の概要のフローチャートを示す図
本発明の実施の形態19におけるプログラム取得実行装置の動作の概要のフローチャートを示す図
本発明の実施の形態20におけるプログラム取得実行装置の構成図
本発明の実施の形態20におけるプログラム取得実行装置の動作の概要のフローチャートを示す図
従来のプログラム取得実行装置の構成図
従来のプログラム取得実行装置のより具体的な構成を示す図
従来のプログラム取得実行装置をホームネットワークに応用した場合の構成例を示す図

符号の説明

0259

100プログラム取得実行装置
101プログラム取得部
102プログラム実行部
150プログラム格納装置
203通信方式変換部
304 通信方式不整合検出部
605整合通信方式決定部
1406 通信方式決定方法指示部
1507 通信方式変換方法指示部
1608 プログラム取得方法指示部
1709プログラム格納部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ