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

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

Info

Publication number
JP2006164191A
JP2006164191A JP2004358825A JP2004358825A JP2006164191A JP 2006164191 A JP2006164191 A JP 2006164191A JP 2004358825 A JP2004358825 A JP 2004358825A JP 2004358825 A JP2004358825 A JP 2004358825A JP 2006164191 A JP2006164191 A JP 2006164191A
Authority
JP
Japan
Prior art keywords
program
execution
acquisition
communication method
unit
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP2004358825A
Other languages
English (en)
Other versions
JP2006164191A5 (ja
Inventor
Satoru Hayama
悟 葉山
Hisaki Furuyama
寿樹 古山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
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 JP2004358825A priority Critical patent/JP2006164191A/ja
Priority to CNA2005800422835A priority patent/CN101073056A/zh
Priority to US11/792,779 priority patent/US20080034362A1/en
Priority to PCT/JP2005/012083 priority patent/WO2006061921A1/ja
Publication of JP2006164191A publication Critical patent/JP2006164191A/ja
Publication of JP2006164191A5 publication Critical patent/JP2006164191A5/ja
Withdrawn legal-status Critical Current

Links

Images

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

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)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

本発明は、プログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラムに関するものであり、特に、ネットワークや無線装置等の通信媒体を介してプログラム格納装置からプログラムをダウンロード、アップロードなどにより取得して実行するものの改良を図ったものに関する。
従来のプログラム取得実行装置としては、当該装置に取得され、実行されるプログラムの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と協調動作することが可能となる。
"The HAVi 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 >
しかしながら、前記従来の構成では、複数のプログラムを取得しこれらのプログラム同士が互いに他を利用しながら実行する際に、新しいAPIと古いAPIとにそれぞれ準拠したものが混在する場合などでは、新しいバージョンのAPIに準拠したプログラムから、古いバージョンのAPIに準拠したプログラムの機能を利用しようとしても、古いバージョンのAPIしか利用することができない。
すなわち、非特許文献1で開示されている技術を用いることによって、プログラム実行部102が新しいバージョンに準拠していた場合には、新しいバージョンのAPIに準拠したプログラムと、古いバージョンのAPIに準拠したプログラムの両者を実行することができる。
しかしながら、或るプログラムが他のプログラムを利用する場合、古いバージョンのAPIに準拠したプログラムは、新しいバージョンのAPIに対応していないため、新しいバージョンのAPIに準拠したプログラムからは、古いバージョンのAPIしか利用できない。
また、利用する相手のプログラムが準拠しているAPIが新しいバージョンか古いバージョンかは、プログラムの実行時にしか分からない。
従って、新しいバージョンに準拠したプログラムは、利用する相手のプログラムごとに、相手のプログラムがどのバージョンのAPIを用いているかをチェックし、相手が用いているAPIを用いて相手の機能を利用しなければならなかった。
このため、複数のプログラムが協調して動作する際に、それらのバージョンの間に不整合があったとしても、できる限りプログラムを実行可能にするためには、全てのプログラムは、他のプログラムの機能を利用する箇所では、自分が用いているAPIよりも古い全てのバージョンのAPIごとに、そのAPIを用いたコードを用意しておく必要があり、プログラムの構造の複雑化とサイズの肥大化を招く、という課題を有していた。
更に、逆に、古いバージョンに準拠したプログラムが新しいバージョンに準拠したプログラムを利用しようとしても、古いバージョンに準拠したプログラムは、新しいバージョンに準拠したプログラムではいかなる機能が追加されているかが事前に判明しておらず、自分よりも新しいバージョンのAPIに対応したコードを用意しておくことは通常不可能なので、自分よりも新しいバージョンのAPIについては、そもそも利用することができない、という課題を有していた。
本発明は、前記従来の課題を解決するためになされたもので、複数のプログラムを取得して協調動作させる際に、それらのプログラムのバージョンの間に不整合があった場合でも、利用する相手のプログラムのバージョンごとに別々のコードを用意することなしに、相手のプログラムを利用でき、また、古いバージョンに準拠したプログラムが新しいバージョンに準拠したプログラムを利用できるプログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラムを提供することを目的とする。
また、本発明は、単に上述のような複数のプログラム間のAPIのバージョンの不整合を解決するのみに留まらず、複数のプログラム間の通信方式の不整合全般を解決するプログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラムを提供することを目的とするものである。
すなわち、本発明は、複数のプログラムを取得して協調動作させる際に、それらのプログラムの間の通信方式に不整合があった場合でも、利用する相手のプログラムが使用可能な通信方式の種類ごとに別々のコードを用意することなしに、相手のプログラムを利用できるプログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラムを提供することを目的とする。
前記従来の課題を解決するために、本発明の請求項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に係るプログラム取得実行プログラムは、コンピュータに、通信媒体を介してプログラム格納装置からプログラムを取得して実行させるプログラム取得実行方法を実行させるプログラムであって、前記プログラム取得実行方法は、プログラム格納装置からプログラムを取得するプログラム取得工程と、該プログラム取得工程が取得したプログラムを実行するプログラム実行工程と、該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方式の不整合を検出する通信方式不整合検出工程とを含むことを特徴とするものである。
請求項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に記載のプログラム取得実行プログラムによれば、複数のプログラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があった場合でも、前記不整合を検出することによって必要な措置を取ることが可能となる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1(a)は、本発明の実施の形態1におけるプログラム取得実行装置の構成図である。図1において、図18(a)と同じ構成要素については同じ符号を用い、説明を省略する。
図1(a)において、プログラム取得実行装置100は、図18(a)における構成に加えて、通信方式変換部203を備えている。
この通信方式変換部203は、ROM1003に記録された通信方式変換プログラムと、CPU1001と、そのワークエリアとなるRAM1002とから構成される。
通信方式変換部203は、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式を変換する。
ここで、通信方式は通信プロトコルの変換のみならず、APIの変換を含むものとする。
また、プログラムの通信はプログラム間での関数の呼び出しやプログラム間でのデータのやりとりも含むものとする。
図1(b)ないし図1(d)は図1(a)のプログラム取得実行装置の階層構造を示す。
ハードウエア層L1は図18(b)に示した通り、CPU1001,RAM1002,ROM1003,および通信インターフェース1004を有し、これらがバス1005を介して互いに接続されることで構成されている。
ハードウエア層L1の上にはリアルタイムOSやマルチタスクOS等のOS層L2が実装され、その上にはJava(登録商標)仮想マシン(Virtual Machine;VM)等のインタプリタ層L3が実装される。インタプリタ層L3上にはアプリケーション層L4が実装される。なお、図1(c)に示すようにOS層L2とインタプリタ層L3とは階層が逆になっていてもよい。また、図1(d)に示すように、インタプリタ層L3とアプリケーション層L4との間にはミドルウエア層L5が実装されることもある。
ミドルウエアは例えば通信処理やデータベース管理用のプログラム等がこれに該当し、通信処理やデータベース管理等の特定の分野で必ず必要とされる基本的な機能を提供するものである。
そして、ハードウエア層L1はCPU1001,RAM1002,ROM1003,および通信インターフェース1004からなるハードウエア全体により構成される。
また、OS層L2,インタプリタ層L3,アプリケーション層L4,ミドルウエア層L5は、ROM1003に記録されたOS等のモニタプログラム,Java(登録商標)仮想マシン等のインタプリタ,アプリケーション,ミドルウエアのプログラムによりそれぞれ構成される。
プログラム取得部101は、ROM1003に記録されたモニタプログラムと、CPU1001と、これにより制御される通信インターフェース1004により構成される。
また、プログラム実行部102は、ROM1003に記録されたモニタプログラムと、CPU1001と、そのワークエリアとなるRAM1002により構成される。
上記プログラム取得実行装置100の動作の概略について、図7のフローチャートを参照しながら説明する。
処理開始(ステップS1)後、プログラム取得部101は、一個または複数のプログラム格納装置150から、一個または複数のプログラムを取得する(ステップS2)。
なお、プログラム格納装置150とプログラム取得実行装置100との間の通信媒体200やプログラムの取得方法は本発明の請求の範囲とは無関係であり、本発明の請求の範囲は、プログラム格納装置150とプログラム取得実行装置100との間の通信媒体やプログラムの取得方法によって制限されるものではない。
例えば、具体的な通信媒体としては、有線系であればLAN(Local Area Network)、CATV(Cable TV)網、FTTH(Fiber To The Home)網、固定電話通信網などでもよく、また、無線系であれば赤外線通信インターフェース、bluetooth(商標)、移動体通信網、衛星通信網などでもよく、その種類を問わない。
プログラム実行部102は、プログラム取得部101が取得した一個または複数のプログラムを実行する(ステップS3)。
通信方式変換部203は、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式を変換する(ステップS4)。
プログラム実行部102が実行している一個または複数のプログラムの実行が全て終了したら、処理を終了(ステップS6)する。そうでなければ、ステップS4を繰り返す(ステップS5)。
なお、本実施の形態では、通信方式変換部203は、プログラムの実行が全て終了するまで繰り返し通信方式の変換を行うという例を記述したが、通信方式変換部203による通信方式の変換のタイミングは、この例の場合のみに制限されるわけではなく、本発明の請求の範囲は、通信方式変換部203による通信方式の変換のタイミングによって制限されるものではない。
通信方式変換部203による通信方式の変換の一例を、図8及び図9を用いて説明する。
図8に、プログラム実行部102で実行されるプログラムが用いるAPIの一例を示す。
この例では、プログラム実行部102で実行されるプログラムが用いるAPIには、「Version 1」及び「Version 2」の二つのバージョンが存在するものとしている。「Version 2」は「Version 1」よりも新しいプログラムであり、「Version 2」は「Version 1」に対して上位互換性があるものとする。
即ち、「Version 2」は「Version 1」の機能を拡張したものであり、なおかつ「Version 1」と互換性がある。例えば、「multiply」と「add」という二つのAPIがあり、「multiply」というAPIは、「Version 2」から追加されたものとしている。
図8に、図7で示したAPIの一例を用いた場合の、通信方式変換部203による通信方式の変換例を示した。
この例では、プログラム実行部102で実行されるプログラムとして、「プログラムA」及び「プログラムB」の二つが存在するとしている。「プログラムA」は、図7で示したAPIの例のうち、「Version 2」のAPIを用いて作られており、「プログラムB」は、「Version 1」のAPIを用いて作られているとする。
この例のように、「Version 2」のAPIを用いている「プログラムA」が、「Version 2」のAPIのみに存在している「multiply」というAPI要求を「プログラムB」に要求した場合、そのままでは、「Version 1」のAPIを用いている「プログラムB」はこれを解釈実行することができない。
そこで、通信方式変換部203は、「multiply」というAPI要求を、「Version 1」のAPIである「add」というAPI要求の組合せに変換し、この変換されたAPI要求を「プログラムB」に要求する。これによって、異なるバージョンのAPIを用いて作られている「プログラムA」と「プログラムB」との間の通信が実現できる。
通信方式変換部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)。
このように、通信方式変換部203における変換の実行部は、APIの変換表を用いて変換を行うAPIの変換プログラムとして記述するなどの実現方法があるが、本発明の請求の範囲は、変換の実行方法によって制限されるものではない。
なお、この例では、API要求の内容の表現方法としてC言語に似た表現を用いたが、API要求の内容の表現方法はここで例示した表現のみに制限されるものではなく、また、本発明の請求の範囲は、API要求の表現方法によって制限されるものではない。
また、この例では、APIのバージョンの不整合、すなわちAPIの新,旧のバージョンが通信する場合を例にとって説明したが、本発明は、複数のプログラム間のAPIのバージョン不整合のみに留まらず、複数のプログラム間の通信方式の不整合全般を解決するものである。
すなわち、本発明は、複数のプログラムを取得して協調動作させる際に、それらのプログラムの間の通信方式に不整合があった場合でも、利用する相手のプログラムが使用可能な通信方式の種類ごとに別々のコードを用意することなしに、相手のプログラムを利用できるプログラム取得実行装置を提供することが可能である。
図8のAPIの変換は、例えば図1(e)に示すように、プログラムのヘッダに含まれる、プログラムのバージョンナンバーに基づきAPIの不整合を検出した場合等に行えばよい。
即ち、図1(f),図1(g)に示すように、互いに通信を行おうとするプログラムファイルPFのヘッダPHDの中からバージョンナンバーPVNを取得し(ステップS101)、バージョンナンバー同士を比較し、これらが一致するか否かを検討し(ステップS102)、低いバージョンのAPIでは用意されていないAPIを呼び出すか否かを検出し(ステップS103)、呼び出す場合は高いバージョンのAPIを低いバージョンのAPIに変換する(ステップS104)。
図1(h)は、このようなコンピュータがプログラムをダウンロードして実行するシステムの構成例を示し、プログラム取得実行装置としてのコンピュータ100aが通信媒体としての通信路200aを介してプログラム格納装置としてのファイルサーバ150aにアクセスし、コンピュータ100aが指定した所望のプログラムをファイルサーバ150aが検索し、検出したプログラムをデータとして通信路200aを介してコンピュータ100aに返送し、コンピュータ100aがこのプログラムを実行する。
そして、このようにダウンロードしたプログラムが複数存在し、これらのプログラム同士がプログラム間通信により互いのAPIを呼び出す際、そのAPIのバージョンが異なる場合に上述のような通信方式の変換を行う。
これにより、本来ならばプログラム間の通信を行うことができず、プログラム同士の協調動作やデータの交換等が不可能であったものが、互いにAPIのバージョンが異なる場合であってもプログラム間通信が可能となり、予め低いバージョンのAPIを用意する必要がなくなり、プログラムの複雑化やプログラムサイズの肥大化を防止することが可能となる。
また、この場合も上述したように、通信プロトコルが異なる場合にその通信プロトコルを変換することで、プログラム間の通信が可能となるようにしてもよい。
また、このようなコンピュータや、HAViを始めとする家庭内ネットワーク対応家電機器のみならず、インターネット接続が可能な家電機器や、携帯電話機を始めとする有線・無線の通信網に接続可能な機器、テレビ受信機やラジオ受信機を始めとする放送網に接続可能な機器等において、そのプログラムを自動的にアップデートする場合などでも、本実施の形態を応用することが可能である。
(実施の形態1の変形例1)
図2(a)は、実施の形態1の変形例1による、インターネット接続が可能な携帯電話機のブロック構成を示す。
この携帯電話機100cは、種々の信号処理を行う信号処理部1102と、アンテナ1101で受信された無線信号Nを受信信号として信号処理部1102に出力するとともに、信号処理部1102にて生成された送信信号を無線信号Nとしてアンテナ1101から送信する無線通信部1103とを有している。
また、上記携帯電話機100cは、画像表示を行う液晶パネル(LCD)等の表示部1106と、音声を入力するためのマイク1108と、音声信号を再生するスピーカ1107と、上記信号処理部1102にて処理された画像信号を受け、上記表示部1106を、画像信号に基づいて画像表示が行われるよう制御する表示制御部1104と、マイク1108からの入力音声信号を信号処理部1102に出力するとともに、信号処理部1112にて処理された音声信号をスピーカ1107に出力する音声入出力部1105とを有している。
さらに、この携帯電話機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ページの閲覧が可能となる。
また、ROM1115は、ゲームや電卓等の各種アプリケーションが格納されており、キーボード1110等の操作により制御部1109がこれを実行する。RAM1114は制御部1109が各種のソフトウエアを実行する際のワークエリア等として使用される。
このようにインターネット接続可能な携帯電話機100cはその各種機能を、CPUに相当する制御部1109のソフトウエアにより実現しているが、ソフトウエアがROMに固定されているため、出荷後にバグが発見された場合などは、実機を回収し交換を行う場合が起こり得る。
そこで、バグをフィックスしたプログラム(以下、更新用プログラムと称す)を携帯電話機に送り、携帯電話機側で手動あるいは自動でアップデートを行うことにより、低コストでバグに対応することが考えられる。その更新用プログラムは出荷時に携帯電話機に格納されているソフトウエアよりも高いバージョンナンバーを有する。
図2(b)はこのようなアップデートを行う際のソフトウエア更新システムを示すブロック図であり、図2(c)ないし図2(i)はそのソフトウエア更新動作の一例を示すフローチャートである。
携帯電話機100cと更新用プログラムサーバ150cとは、基地局2001およびインターネット2002からなる通信網200cを介して接続されている。
まず、図2(c)に示すように、更新用プログラムサーバ150cは、携帯電話機メーカ側からの更新通知の有無を検出することで、更新用プログラムが用意されたか否かを確認する(ステップS201)。
プログラムの更新版が用意されている場合、更新用プログラムサーバ150cはメーカの更新情報に基づき、その更新用プログラムを蓄積しているデータベースを更新する(ステップS202)。その後、更新用プログラムサーバ150cは該当するメーカ,機種の携帯電話機に対しプログラムの更新があった旨を一斉に通知する(ステップS203)。
次に、図2(d)に示すように、携帯電話機100cの側では、更新用プログラムサーバからの一斉通知があったか否かを検出し(ステップS211)、一斉通知が検出された場合、ユーザがプログラムの更新を希望するか否かを検出する(ステップS212)。
キーボード操作等によりユーザが更新を希望する旨を入力した場合、携帯電話機100cは更新があったプログラムのリストを更新用プログラムサーバから取得し(ステップS213)、更新があったプログラムの一覧を、図2(e)に示すように表示部に表示する(ステップS214)。
ユーザは表示部に表示された更新プログラムリストを参照し、その中から更新を希望するプログラムをキーボード操作等により指定する(ステップS215)。図2(f)はユーザが指定したプログラムが反転表示されている状態を示す。
この操作を繰り返すことでユーザが更新を希望するプログラムを全て指定し終われば(ステップS216)、携帯電話機100cはメーカ名,機種名,更新希望プログラム名を示したリストを更新用プログラムサーバに送信する(ステップS217)。図2(g)はこの更新を希望するプログラムのリストULを示し、MKRは携帯電話機のメーカ名を示すフィールド、MODは機種名を示すフィールドである。UPNは更新を希望するプログラム名を示すフィールドで、可変長もしくは十分な大きさのフィールドを確保すればよい。
次に、図2(h)に示すように、更新用プログラムサーバ150cは携帯電話機100cから更新用アクセスがあったか否かを検出し(ステップS221)、更新用アクセスがあった場合、携帯電話機側から送られたリスト中のメーカ名,機種名,更新希望プログラム名に基づきデータベースを検索し(ステップS222)、検索されたプログラムを携帯電話機側に返送する(ステップS223)。
次に、図2(i)に示すように、携帯電話機100cは更新用プログラムサーバ150cから更新用プログラムの返送があったか否かを検出し(ステップS231)、返送されたプログラムがあった場合はこの更新用プログラムを電気的に書き換え可能なROMに書き込み(ステップS232)、書き込みが終了した後に必要に応じて自動的に再起動する(ステップS233)。
このように、携帯電話機100cは基地局2001に対しプログラムのアップデートを行う旨のコマンドを送信し、基地局2001はこれをインターネット2002を介して更新用プログラムサーバ150cに送信する。更新用プログラムサーバ150cはこの携帯電話機100cから受信したコマンドに応じて、携帯電話機100cが使用しているプログラムでアップデートが必要なものを検索する。その検索の対象は、OS、インタプリタ、ミドルウエア、アプリケーションのいずれもが含まれる。
そして、更新用プログラムサーバ150cはアップデートが必要なプログラムを検索すると、その検索された更新用プログラムをインターネット2002を介して基地局2001に送信し、基地局2001はこれを無線電波により携帯電話機100cに返送する。
携帯電話機100cでは返送された更新用プログラムによりROM1115を上書きし、必要に応じて再起動を行うことにより、更新されたプログラムを実行することが可能となる。
しかしながら、個々のプログラムのバグはこの種のアップデートにより解消できたとしても、複数のプログラムが互いに連携して動作するため、互いのAPIのバージョンや通信プロトコルの相違等により、プログラム間の通信が行えないことがある。
そこで、上述のような通信方式変換部203により、バージョンの低いAPIには含まれていないAPIを低いバージョンのAPIに変換したり、プロトコルを変換したりすることで、複数のプログラムが同時に動作する場合にプログラム間の連携を行うことが可能となる。携帯電話機100cの場合、通信方式変換部203は、ROM1115に記憶されたプログラムと、制御部1109と、ワークエリアとしてのRAM1114とから構成される。
このように、本実施の形態1の構成によるプログラム取得実行装置によれば、プログラム実行部102が複数のプログラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があった場合でも、通信方式変換部203が前記複数のプログラムが相互に通信する際の通信方式を変換することによって、前記複数のプログラムを相互に通信させることが可能となる。
(実施の形態2)
図3(a)は、本発明の実施の形態2におけるプログラム取得実行装置の構成図である。図3(a)において、図18(a)と同じ構成要素については同じ符号を用い、説明を省略する。
図3(a)において、プログラム取得実行装置100は、図1(a)の通信方式変換部203に代えて通信方式不整合検出部304を備えている。
この通信方式不整合検出部304は、ROM1003に記録された通信方式不整合検出プログラムと、CPU1001と、そのワークエリアとなるRAM1002とから構成される。
通信方式不整合検出部304は、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式の不整合を検出する。
上記プログラム取得実行装置100の動作の概略について、図10のフローチャートを参照しながら説明する。図10において、ステップS11からステップS13までは、本発明の実施の形態1における、図7で示したフローチャートのステップS1からステップS3と同様なので、説明を省略する。
ステップS13の終了後、通信方式不整合検出部304は、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式の不整合を自動的に検出する(ステップS14)。
通信方式不整合検出部304における通信方式の不整合の検出部としては、図3(b)に示すように、プログラム実行部102が実行するプログラムを収録したプログラムファイルPFや、図3(c)に示すようにそれらのプログラムが相互に通信し合う際などのデータを収録したデータファイルの、特定の位置(例えばプログラムヘッダPHD中の一部やデータヘッダDHDの先頭バイトなど)に、通信プロトコルの名称(例えばTCP/IP(Transmission Control Protocol/Internet Protocol)やOSI(Open Systems Interconnection) )等、通信方式を特定可能な情報を表わす通信方式識別子CIDを予め埋め込んでおき、それを図1(f)と同様のフローチャートと同様の処理により通信を行うプログラム同士で一致しているか否かをチェックするなどの方法があるが、本発明の請求の範囲は、通信方式の不整合の検出部によって制限されるものではない。
ステップS14で通信方式の不整合を検出した場合には、ユーザに通知するなど必要な措置を取る(ステップS16)。例えば携帯電話機などでは、表示部に不整合が生じた旨のメッセージ表示を行う。不整合が検出できない場合は、ステップS17に進む(ステップS15)。
プログラム実行部102が実行している一個または複数のプログラムの実行が全て終了したら、処理を終了する(ステップS18)。そうでなければ、ステップS14からステップS17までを繰り返す(ステップS17)。
このように、本実施の形態2の構成によれば、プログラム実行部102が複数のプログラムを取得して協調動作させる際に、前記複数のプログラムが使用可能な通信方式に不整合があった場合でも、通信方式不整合検出部304が前記不整合を検出することによって、ユーザへの通知など、必要な措置を採ることが可能となる。
なお、本実施の形態2では、通信方式不整合検出部304は、プログラムの実行が全て終了するまで繰り返し通信方式の不整合の検出を行うという例について記述したが、通信方式不整合検出部304による通信方式の不整合の検出のタイミングは、この例の場合のみに制限されるわけではなく、本発明の請求の範囲は、通信方式不整合検出部304による通信方式の不整合の検出のタイミングによって制限されるものではない。
(実施の形態3)
図4は、本発明の実施の形態3におけるプログラム取得実行装置の構成図である。図4において、図18(a)及び図3(a)と同じ構成要素については同じ符号を用い、説明を省略する。
図4において、プログラム取得実行装置100は、図3(a)における構成と、構成要素は同じである。
ただし、図3(a)における構成とは異なり、通信方式不整合検出部304が通信方式の不整合を検出した場合には、プログラム取得部101は、プログラムを再取得する。
上記プログラム取得実行装置100の動作の概略について、図11(a)のフローチャートを参照しながら説明する。
図11(a)において、ステップS21からステップS24までは、本発明の実施の形態2における、図10で示したフローチャートのステップS11からステップS14と同様なので、説明を省略する。
ステップS24の終了後、ステップS24で通信方式の不整合を検出した場合には、プログラム取得部101は、プログラムを再取得し(ステップS26)、ステップS23から処理をやり直す(プログラム実行部102がプログラムの再実行を行う)。そうでなければ、ステップS27に進む(ステップS25)。
プログラム実行部102が実行している一個または複数のプログラムの実行が全て終了したら、処理を終了する(ステップS28)。そうでなければ、ステップS24からステップS27までを繰り返す(ステップS27)。
ここで、ステップS25で検出する不整合がAPIの不整合である場合、ステップS26は例えば図11(b)に示すように構成できる。
即ち、不整合を検出した場合、一方のプログラムのAPIのバージョンが他方のプログラムのAPIのバージョンより高いか否かを判定する(ステップS261)。一方のプログラムが他方のプログラムよりもAPIのバージョンが高い場合、他方のプログラムの更新版を取得する(ステップS262)。
その際、更新版を取得できたか否かを判定し(ステップS263)、取得できた場合は直ちにステップS23に進む。更新版が用意されていない等により取得できない場合は、一方のプログラムのバージョンを他方に合わせるよう、一方のプログラムのバージョンの低い版を取得し(ステップS264)、ステップS23に進む。
また、一方のプログラムが他方のプログラムよりもAPIのバージョンが低い場合は、ステップS265ないしS267により上記と逆の操作を行う。即ち、一方のプログラムの更新版を取得する(ステップS265)。その際、更新版を取得できたか否かを判定し(ステップS266)、取得できた場合は直ちにステップS23に進む。更新版が用意されていない等により取得できない場合は、他方のプログラムのバージョンを一方に合わせるよう、他方のプログラムのバージョンの低い版を取得し(ステップS267)、ステップS23に進む。
このように、本実施の形態3の構成によれば、本発明の実施の形態2におけるプログラム取得実行装置による効果に加えて、プログラム取得部101が前記不整合の検出されたプログラムを再取得することによって、プログラム実行部102が前記複数のプログラムを不整合のない組合せで実行させることが可能となる。
なお、本実施の形態3では、通信方式不整合検出部304が通信方式の不整合を検出した場合には、プログラム取得部101がプログラムを再取得し、プログラム実行部102がプログラムの再実行を行う例を記述したが、通信方式不整合検出部304による通信方式の不整合の検出と、プログラム取得部101によるプログラムの再取得と、プログラム実行部102によるプログラムの再実行のタイミングは、この例の場合のみに制限されるわけではなく、本発明の請求の範囲は、通信方式不整合検出部304による通信方式の不整合の検出と、プログラム取得部101によるプログラムの再取得と、プログラム実行部102によるプログラムの再実行のタイミングによって制限されるものではない。
(実施の形態4)
図5は、本発明の実施の形態4におけるプログラム取得実行装置の構成図である。図5において、図18(a)及び図3(a)及び図4と同じ構成要素については同じ符号を用い、説明を省略する。
図5において、プログラム取得実行装置100は、図18(a)及び図3(a)及び図4における構成に加えて、通信方式変換部203を備えている。
通信方式変換部203は、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式を変換する。
上記プログラム取得実行装置100の動作の概略について、図12のフローチャートを参照しながら説明する。
図12において、ステップS31からステップS34までは、本発明の実施の形態2における、図10で示したフローチャートのステップS11からステップS14と同様なので、説明を省略する。
ステップS34の終了後、ステップS34で通信方式の不整合を検出した場合には、通信方式変換部203は、不整合を検出した通信について、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式を変換する(ステップS36)。そうでなければ、ステップS40に進む(ステップS35)。
通信方式不整合検出部304は、不整合を検出した通信について、ステップS34と同様にして、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式の不整合を検出する(ステップS37)。これにより、通信方式を変換し互いに通信が可能となるはずの場合でも、実際には、通信が不整合になる場合を検出することが可能になる。
ステップS37の終了後、ステップS38で再び通信方式の不整合を検出した場合には、ステップS39に進む。そうでなければ、ステップS40に進む(ステップS38)。
ステップS39に進む場合には、プログラム取得部101は、プログラムを再取得し、ステップS33から処理をやり直す(プログラム実行部102がプログラムの再実行を行う)(ステップS39)。
ステップS40に進む場合には、プログラム実行部102が実行している一個または複数のプログラムの実行が全て終了したら、処理を終了(ステップS41)する。そうでなければ、ステップS34からステップS40までを繰り返す(ステップS40)。
従って、最初に取得したプログラムが暫定バージョンであり、その後正式バージョンがリリースされた場合等では、暫定バージョンのプログラムは通信方式変換部203により通信方式を変換しても他のプログラムと通信を行う際に不整合を生じることがあるが、このような場合に、上述のような処理を行うことにより正式バージョンのプログラムを再取得することで、他のプログラムとの通信方式の不整合を解消することが可能になる。
このように、本実施の形態4の構成によれば、本発明の実施の形態2及び実施の形態3におけるプログラム取得実行装置による効果に加えて、通信方式変換部203が前記複数のプログラムが相互に通信する際の通信方式を変換することによって、前記複数のプログラムを相互に通信させることが可能となる。
なお、本実施の形態4では、通信方式不整合検出部304が通信方式の不整合を検出した場合には、まずは、通信方式変換部203が、不整合を検出した通信について、通信方式を変換し、その上で再度、通信方式不整合検出部304が通信方式の不整合の検出を行って、再度通信方式の不整合を検出した場合には、プログラム取得部101がプログラムを再取得し、プログラム実行部102がプログラムの再実行を行うという実施の形態を記述した。
しかしながら、通信方式不整合検出部304による通信方式の不整合の検出と、通信方式変換部203による通信方式の変換と、プログラム取得部101によるプログラムの再取得と、プログラム実行部102によるプログラムの再実行のタイミングは、この例の場合のみに制限されるわけではなく、本発明の請求の範囲は、通信方式不整合検出部304による通信方式の不整合の検出と、通信方式変換部203による通信方式の変換と、プログラム取得部101によるプログラムの再取得と、プログラム実行部102によるプログラムの再実行のタイミングによって制限されるものではない。
(実施の形態5)
図6は、本発明の実施の形態5におけるプログラム取得実行装置の構成図である。図6において、図18(a)及び図3(a)ないし図5と同じ構成要素については同じ符号を用い、説明を省略する。
図6において、プログラム取得実行装置100は、図18(a)及び図3(a)ないし図5における構成に加えて、整合通信方式決定部605を備えている。
この整合通信方式決定部605は、ROM1003に記録された整合通信方式決定プログラムと、CPU1001と、そのワークエリアとなるRAM1002とから構成される。
整合通信方式決定部605は、プログラム取得部101が再取得するプログラムが用いるべき、整合の取れた通信方式を決定する。
プログラム取得部101は、整合通信方式決定部605が決定した通信方式を用いるプログラムを再取得する。
上記プログラム取得実行装置100の動作の概略について、図13(a)のフローチャートを参照しながら説明する。図13(a)において、ステップS51からステップS57までは、本発明の実施の形態4における、図12で示したフローチャートのステップS31からステップS37と同様なので、説明を省略する。
ステップS57の終了後、ステップS57で再び通信方式の不整合を検出した場合には、ステップS59に進む。そうでなければ、ステップS61に進む(ステップS58)。
ステップS59に進む場合には、整合通信方式決定部605は、プログラム取得部101が再取得するプログラムが用いるべき、整合の取れた通信方式を決定する(ステップS59)。
これは例えば、図13(b)のフローチャートに示されるように、2つのプログラムで使用している通信方式を、図3(b)に示すようにプログラムファイルPFのヘッダPHD中の通信方式識別子CIDを抽出する等により取得し(ステップS591)、それぞれのプログラムの通信方式のいずれが上位互換となっているかを検出し(ステップS592)、上位互換となっている通信方式を検出できた場合は(ステップS593)、上位互換となっている通信方式を整合のとれた通信方式と決定し(ステップS594)、ステップS593にて上位互換となっている通信方式を検出できない場合は、各通信方式のいずれに対しても上位互換となる通信方式を整合のとれた通信方式と決定する(ステップS595)。
これは例えば図13(c)に示すような表を検索することにより上位互換となる通信方式を検出すればよい。なお、この表中の「上位互換性」は数字が大きいほど上位互換であることを示す。
これにより、例えば、不整合が検出された場合に使用している通信プロトコルがTCP/IPである場合に整合のとれる通信プロトコルとしてTCP/IPの上位互換プロトコルであるOSIを通信プロトコルとして決定する等の処理を行う。
整合通信方式決定部605は決定した通信方式を用いるプログラムを通信媒体201を介してプログラム格納装置150に通知し、プログラム取得実行装置100はプログラム格納装置150が送信するプログラムを、通信媒体200を介して再取得し、ステップS53から処理をやり直す(プログラム実行部102がプログラムの再実行を行う)(ステップS60)。
ステップS61に進む場合には、プログラム実行部102が実行している一個または複数のプログラムの実行が全て終了したら、処理を終了する(ステップS62)。そうでなければ、ステップS54からステップS61までを繰り返す(ステップS61)。
このように、本実施の形態5の構成によれば、本発明の実施の形態3及び実施の形態4におけるプログラム取得実行装置による効果に加えて、前記不整合が検出されたプログラムについて、整合の取れた通信方式を使用するプログラムを再取得することによって、プログラム実行部102が実行する複数のプログラムを相互に通信させることが可能となる。
なお、本実施の形態5では、通信方式不整合検出部304が通信方式の不整合を検出した場合には、まずは、通信方式変換部203が、不整合を検出した通信について、通信方式を変換し、その上で再度、通信方式不整合検出部304が通信方式の不整合の検出を行って、再度通信方式の不整合を検出した場合には、整合通信方式決定部605が整合の取れた通信方式を決定し、プログラム取得部101がプログラムを再取得し、プログラム実行部102がその通信方式を用いるプログラムの再実行を行うという実施例を記述した。
しかしながら、通信方式不整合検出部304による通信方式の不整合の検出と、通信方式変換部203による通信方式の変換と、整合通信方式決定部605による通信方式の決定と、プログラム取得部101によるプログラムの再取得と、プログラム実行部102によるプログラムの再実行のタイミングは、この例の場合のみに制限されるわけではなく、本発明の請求の範囲は、通信方式不整合検出部304による通信方式の不整合の検出と、通信方式変換部203による通信方式の変換と、整合通信方式決定部605による通信方式の決定と、プログラム取得部101によるプログラムの再取得と、プログラム実行部102によるプログラムの再実行のタイミングによって制限されるものではない。
(実施の形態6)
本発明の実施の形態6におけるプログラム取得実行装置の構成図は、本発明の実施の形態5におけるプログラム取得実行装置の構成図と同じく、図6である。ただし、一部の構成要素、即ち、整合通信方式決定部605の機能が本発明の実施の形態5から拡張されている。
図6において、本発明の実施の形態5と機能が同じ構成要素については説明を省略する。
図6において、整合通信方式決定部605は、プログラム取得部101が既に取得しているプログラムが用いている通信方式の中から、整合の取れた通信方式を決定する。
これは例えば図13(d)に示すように、プログラム取得部101において2つのプログラムを取得する際に通信方式識別子CID等のその通信方式に関する情報も取得してこれを保持しておき、整合通信方式決定部605がプログラム取得部101から呼び出すことでこれらを取得すればよい(ステップ591a)。その他の図13(d)の処理は図13(b)と同様である。
このように、本実施の形態6の構成によれば、本発明の実施の形態5におけるプログラム取得実行装置による効果に加えて、プログラム実行部102が実行する複数のプログラムが使用可能な通信方式の中から整合の取れた通信方式を決定し、前記整合の取れた通信方式を使用するプログラムを再取得することによって、前記複数のプログラムを相互に通信させることが可能となる。
(実施の形態7)
本発明の実施の形態7におけるプログラム取得実行装置の構成図は、本発明の実施の形態5におけるプログラム取得実行装置の構成図と同じく、図6である。ただし、一部の構成要素、即ち、整合通信方式決定部605の機能が実施の形態5から拡張されている。
図6において、実施の形態5と機能が同じ構成要素については説明を省略する。
図6において、整合通信方式決定部605は、一個または複数のプログラム格納装置150から再取得可能なプログラムが用いている通信方式の中から、整合の取れた通信方式を決定する。
これは例えば図13(e)に示されるように、整合通信方式決定部605がプログラム格納装置150に格納されている各プログラムからその通信方式に関する情報を取得し(ステップS591b)、図13(c)に示す表等を用いて各プログラムの通信方式のいずれが上位互換となっているかを検出すればよい(ステップS592b)。
これにより、再取得により置き換えられるプログラムとして予め用意されているプログラムの中から整合のとれた通信方式を決定しているので、整合のとれた通信方式として決定した通信方式を用いるプログラムがプログラム格納装置150に存在せず、無駄になることがなくなる。
このように、本実施の形態7の構成によれば、本発明の実施の形態5におけるプログラム取得実行装置による効果に加えて、プログラム格納装置150から再取得可能なプログラムが使用している通信方式の中から、整合の取れた通信方式を決定し、前記整合の取れた通信方式を使用するプログラムを再取得することによって、プログラム実行部102が実行する複数のプログラムを相互に通信させることが可能となる。
(実施の形態8)
本発明の実施の形態8におけるプログラム取得実行装置の構成図は、本発明の実施の形態5ないし7におけるプログラム取得実行装置の構成図と同じく、図6である。ただし、一部の構成要素、即ち、整合通信方式決定部605の機能が本発明の実施の形態5ないし7から拡張されている。
図6において、本発明の実施の形態5ないし7と機能が同じ構成要素については説明を省略する。
図6において、整合通信方式決定部605は、整合の取れた通信方式の候補の中から、最も新しい通信方式を選択し、整合の取れた通信方式として決定する。
これは例えば図13(f)に示されるように、整合通信方式決定部605が整合の取れた通信方式の候補を検出し(ステップS596a)、検出した候補の中から例えば図13(g)に示すような表を検索することにより最新の通信方式を検出すればよい(ステップS596b)。なお、この表中の「新しさ」は数字が大きいほど新しいものとする。
このように、本実施の形態8の構成によれば、本発明の実施の形態5ないし7におけるプログラム取得実行装置による効果に加えて、できる限り新しい通信方式を使用して、プログラム実行部102が実行する複数のプログラムを相互に通信させることが可能となる。
(実施の形態9)
本発明の実施の形態9におけるプログラム取得実行装置の構成図は、本発明の実施の形態5ないし7におけるプログラム取得実行装置の構成図と同じく、図6である。ただし、一部の構成要素、即ち整合通信方式決定部605の機能が本発明の実施の形態5ないし7から拡張されている。
図6において、本発明の実施の形態5ないし7と機能が同じ構成要素については説明を省略する。
図6において、整合通信方式決定部605は、整合の取れた通信方式の候補の中から、前記プログラム取得部がプログラムを再取得する際のコストが最も安価となるような通信方式を選択し、整合の取れた通信方式として決定する。
これは例えば図13(h)に示されるように、整合通信方式決定部605が整合の取れた通信方式の候補を検出し(ステップS596a)、検出した候補の中から例えば図13(i),図13(j)に示すようにプログラムファイルPFのヘッダPHD中のプログラムサイズ情報PGSやパケットサイズ情報PKSを検出し、これらが最小となる通信方式を検出することで実現すればよい(ステップS596c)。
このように、本実施の形態9の構成によれば、本発明の実施の形態5ないし7におけるプログラム取得実行装置による効果に加えて、プログラム実行部102が実行する複数のプログラムを相互に通信させるための再取得の際のコストを、できる限り安価にすることが可能となる。
(実施の形態10)
本発明の実施の形態10におけるプログラム取得実行装置の構成図は、本発明の実施の形態5ないし9におけるプログラム取得実行装置の構成図と同じく、図6である。ただし、一部の構成要素、即ち整合通信方式決定部605の機能が本発明の実施の形態5ないし9から拡張されている。
図6において、本発明の実施の形態5ないし9と機能が同じ構成要素については説明を省略する。
図6において、整合通信方式決定部605は、プログラム取得部101が、整合通信方式決定部605が決定した整合の取れた通信方式を用いるプログラムの取得に失敗した際に、整合の取れた通信方式を再決定し、プログラム取得部101は、整合通信方式決定部605が再決定した通信方式を用いるプログラムを再取得する。
これは、図13(k)に示されるように、ステップS60によるプログラムの再取得が成功したか否かを検出するステップS63を設け、このステップS63によりプログラムの再取得が成功したか否かを検出し、再取得に失敗した場合は、ステップS59に戻り整合の取れた通信方式を再決定することで実現できる。
この再取得の失敗の通知は、例えばプログラム格納装置150が、プログラム取得部101からの要求に応じてそのデータベースを検出し、該当するプログラムを検出できなかった場合などにその旨を示すフラグを立てること等により実現できる。
このように、本実施の形態10の構成によれば、本発明の実施の形態5ないし9におけるプログラム取得実行装置による効果に加えて、整合の取れた通信方式として決定した通信方式を使用するプログラムの再取得に失敗した際でも、整合の取れた通信方式を再決定し、前記再決定した整合の取れた通信方式を使用するプログラムを再取得することによって、プログラム実行部102が実行する複数のプログラムを相互に通信させることが可能となる。
(実施の形態11)
図14(a)は、本発明の実施の形態11におけるプログラム取得実行装置の構成図である。図14(a)において、図18(a)及び図3ないし図6と同じ構成要素については同じ符号を用い、説明を省略する。
図14(a)において、プログラム取得実行装置100は、図18(a)及び図3ないし図6における構成に加えて、通信方式決定方法指示部1406を備えている。
通信方式決定方法指示部1406は、整合通信方式決定部605が整合の取れた通信方式を決定する方法をユーザが指示するものである。
整合通信方式決定部605は、通信方式決定方法指示部1406によって指示された方法で整合の取れた通信方式を決定する。
これは、図14(b)に示すように、整合の取れた通信方式を決定する方法をユーザがキーボードやカーソルキー等により予め指示しておき(ステップS64)、通信方式の不整合を検出した場合に(ステップS58)、整合通信方式決定部605はこの指示された方法に基づいてプログラム取得部101が再取得するプログラムが使用する通信方式を決定する(ステップS59a)。
このユーザが指示する、整合のとれた通信方式を決定する方法は、例えば実施の形態8ないし10のいずれかの方法の他、他の所要の規則に基づいて通信方式を決定すればよい。
このように、本実施の形態11の構成によれば、本発明の実施の形態5ないし10におけるプログラム取得実行装置による効果に加えて、整合の取れた通信方式を決定する方法をユーザが選択でき、前記ユーザによって選択された方法によって決定した、整合の取れた通信方式を使用するプログラムを再取得することによって、プログラム実行部102が実行する複数のプログラムを相互に通信させることが可能となる。
(実施の形態12)
本発明の実施の形態12におけるプログラム取得実行装置の構成図は、本発明の実施の形態11におけるプログラム取得実行装置の構成図と同じく、図14(a)である。ただし、一部の構成要素の機能が本発明の実施の形態5ないし11から拡張されている。図14(a)において、本発明の実施の形態5ないし11と機能が同じ構成要素については説明を省略する。
図14(a)において、プログラム取得部101は、通信方式不整合検出部304が通信方式の不整合を検出したプログラムのみを再取得する。
これは、図14(c)に示すように、予めユーザが整合の取れた通信方式を指示しておき(ステップS64)、整合通信方式決定部605がユーザの指示に基づいて整合の取れた通信方式を決定した(ステップS59a)後、プログラム取得部101が、通信方式不整合検出部304が不整合を検出したプログラムであって、かつ整合通信方式決定部605が決定した通信方式を用いるプログラムのみを再取得することで実現できる(ステップS60b)。
このように、本実施の形態12の構成によれば、本発明の実施の形態5ないし11におけるプログラム取得実行装置による効果に加えて、プログラム実行部102が実行する複数のプログラムの全てではなく、不整合が検出されたプログラムのみを再取得することによって、プログラムの効率的な再取得を実現することが可能となる。
(実施の形態13)
本発明の実施の形態13におけるプログラム取得実行装置の構成図は、本発明の実施の形態11及び実施の形態12におけるプログラム取得実行装置の構成図と同じく、図14(a)である。ただし、一部の構成要素の機能が本発明の実施の形態5ないし11から拡張されている。図14(a)において、本発明の実施の形態5ないし11と機能が同じ構成要素については説明を省略する。
図14(a)において、プログラム取得部101は、実行に必要な全てのプログラムを再取得する。
これは、図14(d)に示されるように、整合の取れた通信方式を決定する方法をユーザが指示しておき(ステップS64)、整合通信方式決定部605がユーザの指定した方法により、整合のとれた通信方式を決定し(ステップS59a)、プログラム取得部101が、整合通信方式決定部605が決定した通信方式を用いるプログラムであって、プログラム実行部102が実行に必要な全てのプログラムを再取得することで実現できる(ステップS60c)。
このように、本実施の形態13の構成によれば、本発明の実施の形態5ないし11におけるプログラム取得実行装置による効果に加えて、プログラム実行部102が実行する複数のプログラムの全てを再取得することによって、前記複数のプログラムの一部のみを取得することによる更なる不整合の発生を回避することが可能となる。
(実施の形態14)
本発明の実施の形態14におけるプログラム取得実行装置の構成図は、本発明の実施の形態11ないし13におけるプログラム取得実行装置の構成図と同じく、図14(a)である。ただし、一部の構成要素、即ち、プログラム取得部101の機能が本発明の実施の形態5ないし13から拡張されている。図14(a)において、本発明の実施の形態5ないし13と機能が同じ構成要素については説明を省略する。
図14(a)において、プログラム取得部101は、プログラム全体ではなく、プログラムのうち、通信方式不整合検出部304が検出した通信方式の不整合が存在する部分のみを再取得する。
これは図14(e)に示されるように、整合の取れた通信方式を決定する方法をユーザが指示しておき(ステップS64)、整合通信方式決定部605がユーザの指定した方法により、整合のとれた通信方式を決定し(ステップS59a)、プログラム取得部101が、整合通信方式決定部605が決定した通信方式を用いるプログラム中の、通信方式不整合検出部304が検出した通信方式の不整合が存在する部分のみを再取得することで実現できる(ステップS60d)。
この通信方式の不整合が存在する部分のみの取得は、予めプログラムをモジュール単位で作成しておき、モジュールヘッダの情報を参照することで通信に関連するモジュールのみを再取得すること等により実現できる。
このように、本実施の形態14の構成によれば、本発明の実施の形態5ないし13におけるプログラム取得実行装置による効果に加えて、プログラムのうち、通信方式の不整合が存在する部分のみを部分的に再取得することによって、再取得のコストを更に極小化することが可能となる。
(実施の形態15)
本発明の実施の形態15におけるプログラム取得実行装置の構成図は、本発明の実施の形態11ないし14におけるプログラム取得実行装置の構成図と同じく、図14(a)である。ただし、一部の構成要素、即ち、通信方式変換部203の機能が本発明の実施の形態1または実施の形態4ないし14から拡張されている。図14(a)において、本発明の実施の形態1または実施の形態4ないし14と機能が同じ構成要素については説明を省略する。
図14(a)において、通信方式変換部203は、通信方式の変換を行う変換プログラムを実行することによって、通信方式を変換し、プログラム取得部101は、通信方式変換部203が実行する変換プログラムを取得する。
これは図14(f)に示されるように、プログラム取得部101が、通信方式変換部203が実行する、通信方式の変換を行う変換プログラムを予め取得しておき(ステップS52p)、整合の取れた通信方式を決定する方法をユーザが指示しておき(ステップS64)、通信方式変換部203は、ステップS52pにおいて取得された変換プログラムを実行することによって通信方式を変換する(ステップS56a)ことで実現できる。
このように、本実施の形態15の構成によれば、本発明の実施の形態1または実施の形態4ないし14におけるプログラム取得実行装置による効果に加えて、プログラム格納装置150から取得された変換プログラムによって、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式を変換することによって、前記複数のプログラムが相互に通信する際の通信方式の変換方法自体の変更が可能となる。
(実施の形態16)
図15(a)は、本発明の実施の形態16におけるプログラム取得実行装置の構成図である。図15(a)において、図18(a)及び図3ないし図6及び図14(a)と同じ構成要素については同じ符号を用い、説明を省略する。
図15(a)において、プログラム取得実行装置100は、図18(a)及び図3ないし図6及び図14(a)における構成に加えて、通信方式変換方法指示部1507を備えている。 通信方式変換方法指示部1507は、通信方式変換部203が通信方式を変換する方法を指示させる。 通信方式変換部203は、通信方式変換方法指示部1507によって指示された方法で通信方式を変換する。
これは図15(b)に示すように、予めユーザが通信方式変換部203が使用する通信方式変換方法を指示しておき(ステップS65)、通信方式変換部203が、不整合を検出した通信に関してプログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方法を、ユーザが指定する方法により変換することで実現できる(ステップS56a)。
このように、本実施の形態16の構成によれば、本発明の実施の形態1または実施の形態4ないし15におけるプログラム取得実行装置による効果に加えて、通信方式を変換する方法をユーザが選択でき、前記ユーザによって選択された方法によって、プログラム実行部102が実行する複数のプログラムが相互に通信する際の通信方式を変換することによって、前記複数のプログラムを相互に通信させることが可能となる。
(実施の形態17)
図16(a)は、本発明の実施の形態17におけるプログラム取得実行装置の構成図である。図16(a)において、図18(a)及び図3ないし図6及び図14(a)及び図15(a)と同じ構成要素については同じ符号を用い、説明を省略する。
図16(a)において、プログラム取得実行装置100は、図18(a)及び図3ないし図6及び図14(a)及び図15(a)における構成に加えて、プログラム取得方法指示部1608を備えている。
プログラム取得方法指示部1608は、プログラム取得部101がプログラムを取得する方法を指示させる。
プログラム取得部101は、プログラム取得方法指示部1608によって指示された方法でプログラムを取得する。
これは図16(b)に示すように、ユーザが予めプログラムを取得する方法を指示しておき(ステップS66)、プログラム取得部101が、整合通信方式決定部605が決定した通信方式を用いるプログラムをユーザが指定する方法により再取得することにより実現できる(ステップS60a)。
このように、本実施の形態17の構成によれば、本発明の実施の形態1または実施の形態4ないし16におけるプログラム取得実行装置による効果に加えて、プログラムを取得する方法をユーザが選択でき、前記ユーザによって選択された方法によって、不整合が検出されたプログラムを再取得することによって、プログラム実行部102が実行する複数のプログラムを相互に通信させることが可能となる。
(実施の形態18)
本発明の実施の形態18におけるプログラム取得実行装置の構成図は、本発明の実施の形態17におけるプログラム取得実行装置の構成図と同じく、図16(a)である。ただし、一部の構成要素の機能が本発明の実施の形態2ないし17から拡張されている。図16(a)において、本発明の実施の形態2ないし17と機能が同じ構成要素については説明を省略する。
図16(a)において、通信方式不整合検出部304は、プログラム実行部102がプログラムの実行を開始する前に、通信方式の不整合を検出する。
これは図16(c)に示すように、ユーザが予め整合の取れた通信方式を指定する方法を指示しておき(ステップS64)、通信方式不整合検出部304が、プログラム実行部102が実行する(ステップS53)前のステップS54ないしS60aにおいて複数のプログラムが相互に通信する際の通信方式の不整合を全て検出する(ステップS55、S58、S68)ことにより実現できる。この実行前の不整合の検出は、例えば図3(b),図3(c)に示すようにプログラムファイルPF中の通信方式識別子CIDを事前に参照することで実現できる。
このように、本実施の形態18の構成によれば、本発明の実施の形態2ないし17におけるプログラム取得実行装置による効果に加えて、プログラムの実行を開始する前に通信方式の不整合を検出することによって、検出された不整合を全て解消した後に初めてプログラムを実行するため、プログラムの実行中のプログラムの再取得や再実行を回避することが可能となる。
(実施の形態19)
本発明の実施の形態19におけるプログラム取得実行装置の構成図は、本発明の実施の形態17ないし18におけるプログラム取得実行装置の構成図と同じく、図16(a)である。ただし、一部の構成要素の機能が本発明の実施の形態2ないし17から拡張されている。図16(a)において、本発明の実施の形態2ないし17と機能が同じ構成要素については説明を省略する。 図16(a)において、通信方式不整合検出部304は、プログラム実行部102がプログラムを実行中のときに、逐次通信方式の不整合を検出する。
これは図16(d)に示すように、ユーザが予め整合の取れた通信方式を指定する方法を指示しておき(ステップS64)、通信方式不整合検出部304が不整合を検出した通信に関し、プログラム実行部102が実行(ステップS53b)中の複数のプログラムが相互に通信する際の通信方式の不整合を、ステップS54ないしS60aにおいてプログラムが実行されるごとに逐次検出することにより実現できる。この実行中の不整合の検出は、例えば図3(b),図3(c)に示すようにプログラムファイルPF中の通信方式識別子CIDを実行中に参照することで実現できる。
このように、本実施の形態19の構成によれば、本発明の実施の形態2ないし17におけるプログラム取得実行装置による効果に加えて、プログラムの実行中に、プログラムを一行ずつあるいは一部分ずつ実行する度に、逐次通信方式の不整合を検出し、検出された不整合を解消していくことによって、プログラムの実行前の不整合の検出による実行開始の遅れを回避することが可能となる。
(実施の形態20)
図17(a)は、本発明の実施の形態20におけるプログラム取得実行装置の構成図である。図17(a)において、図18(a)及び図3ないし図6及び図14(a)ないし図16(a)と同じ構成要素については同じ符号を用い、説明を省略する。
図17(a)において、プログラム取得実行装置100は、図18及び図3ないし図6及び図14(a)ないし図16(a)における構成に加えて、プログラム格納部1709を備えている。
プログラム格納部1709は、プログラム取得部101が再取得する対象となっているプログラムまたはプログラムの一部を格納する。
プログラム実行部102は、プログラム取得部101が再取得したプログラムまたはプログラムの一部を実行した後、再びプログラム格納部1709が格納しているプログラムを実行する。
これは図17(b)に示すフローにより実現できる。即ち、プログラム取得部101が、整合通信方式決定部605が決定した通信方式を用いるプログラムをユーザが指定する方法により再取得する前に、再取得する対象となっているプログラムまたはその一部をプログラム格納部1709に予め格納する(ステップS67)。そしてプログラムを再取得(ステップS60a)することにより、ステップS55またはS58における不整合を解消する。その後、プログラム実行部102は、プログラム格納部1709に格納していた、再取得する対象となっているプログラムまたはその一部を取り出してこれを実行する(ステップS69、S70)。
このように、本実施の形態20の構成によれば、本発明の実施の形態3ないし19におけるプログラム取得実行装置による効果に加えて、不整合が検出された元々のプログラムを格納したまま、当該プログラムについて、整合の取れた通信方式を使用するプログラムを再取得して実行することによって、即ち、プログラムを再取得することにより不整合を解消し、元のプログラムでは不整合を生じている部分を無事実行し終われば、一時的に入れ替えていたプログラムを元のプログラムに戻すことによって、通信方式の不整合を解消した後で、元々のプログラムを実行することが可能となる。
なお、この実施の形態20では、不整合部分を解消するためにプログラムの再取得を行うようにしたが、不整合の解消はプログラムの変換により行うようにしてもよい。
また、上記各実施の形態では、プログラム取得実行装置100として、RAMのみを書き換え可能な記憶装置として有する機器組み込み型コンピュータを示したが、書き換え可能な記憶装置としてRAM以外に磁気ディスクドライブや光ディスクドライブ、光磁気ディスクドライブ等の書き換え可能な各種ファイル装置を有するものであってもよい。
また、上記各実施の形態では、不揮発性記憶装置としてROMのみを有するものを示したが、ROM以外に、CD-ROMやDVD-ROM等の書き換え不可なファイル装置を有するものであってもよい。
また、このような書き換え可能なファイル装置や書き換え不可のファイル装置を有する場合、ROMに格納していたOS等のモニタプログラムやJava(登録商標)仮想マシン等のインタプリタ、ミドルウエアやアプリケーションプログラム等はこれらのファイル装置に格納してもよい。
また、変形例として、携帯電話機のプログラムの更新を例にとって示したが、上述のような機器組み込み型コンピュータや、HAViを始めとする家庭内ネットワーク対応機器や、インターネット接続が可能な家電機器や、携帯電話機を始めとする有線・無線の通信網に接続可能な機器や、テレビ受信機やラジオ受信機を始めとする放送網に接続可能な機器や、パソコンのプログラムを更新する場合であってもよい。
また、携帯電話機のプログラムの更新は、同一の通信事業者の携帯電話機を製造する複数のメーカが更新用のシステムを共同運用する場合を示したが、各メーカが独自の更新用システムを運用するようにしてもよく、この場合は、更新希望リストにメーカ名の情報を含ませる必要はない。また、インターネット接続が可能なiモード(登録商標)等の携帯電話機を例にとって示したが、公衆通信網自体を経由してプログラムを配信するなど、インターネット以外の通信媒体を用いて運用するようにしてもよい。さらに、通信媒体200と通信媒体201とを併用するようにしたが、これは時分割等により同一の通信媒体を兼用してもよい。
また、携帯電話機に通信方式変換部203を設ける場合を示したが、通信方式不整合検出部304や整合通信方式決定部605を設けてもよい。この場合、これら通信方式不整合検出部304や整合通信方式決定部605もROM1115に記憶されたプログラムと、制御部1109と、ワークエリアとしてのRAM1114とから構成すればよい。
また、上記各実施の形態ではプログラム取得実行装置を示したが、プログラム取得実行方法として実現してもよく、この場合、プログラム取得部,プログラム実行部,通信方式変換部,通信方式不整合検出部,整合通信方式決定部を、それぞれの機能に相当するプログラム取得工程,プログラム実行工程,通信方式変換工程,通信方式不整合検出工程,整合通信方式決定工程として実現すればよい。
また、プログラム取得実行プログラムとしてこれらの工程を有するプログラム取得実行方法を実現してもよく、このプログラム取得実行プログラムを記録媒体に記録したプログラム取得実行プログラム記録媒体として実現してもよい。
また、通信プロトコルの例としてTCP/IP,OSIを示したが、使用可能な通信プロトコルはこれらに限るものではない。
本発明にかかるプログラム取得実行装置は、ネットワークや無線通信装置等の通信媒体を介してプログラム格納装置から複数のプログラムを取得(ダウンロード、アップロードなど)して実行する際に、それら複数のプログラムの間の通信方式に不整合があった場合でも、他のプログラムを利用できる特徴を有し、ダウンロードあるいはアップロード可能なプログラム間のバージョン不整合やプロトコル不整合を解決する方法として、非常に広い分野への応用が可能である。応用分野に特に制限はないが、例えば、家電製品の組込みソフトウェアのネットワークや無線通信装置等の通信媒体を介しての書き換えや、インターネットブラウザへのアプリケーションのダウンロード等への応用が可能である。
本発明の実施の形態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におけるプログラム取得実行装置の動作の概要のフローチャートを示す図 従来のプログラム取得実行装置の構成図 従来のプログラム取得実行装置のより具体的な構成を示す図 従来のプログラム取得実行装置をホームネットワークに応用した場合の構成例を示す図
符号の説明
100 プログラム取得実行装置
101 プログラム取得部
102 プログラム実行部
150 プログラム格納装置
203 通信方式変換部
304 通信方式不整合検出部
605 整合通信方式決定部
1406 通信方式決定方法指示部
1507 通信方式変換方法指示部
1608 プログラム取得方法指示部
1709 プログラム格納部

Claims (26)

  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. コンピュータに、通信媒体を介してプログラム格納装置からプログラムを取得して実行させるプログラム取得実行方法を実行させるプログラムであって、
    前記プログラム取得実行方法は、
    プログラム格納装置からプログラムを取得するプログラム取得工程と、
    該プログラム取得工程が取得したプログラムを実行するプログラム実行工程と、
    該プログラム実行工程が実行する複数のプログラムが相互に通信する際の通信方式の不整合を検出する通信方式不整合検出工程とを含む、
    ことを特徴とするプログラム取得実行プログラム。
JP2004358825A 2004-12-10 2004-12-10 プログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラム Withdrawn JP2006164191A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004358825A JP2006164191A (ja) 2004-12-10 2004-12-10 プログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラム
CNA2005800422835A CN101073056A (zh) 2004-12-10 2005-06-30 程序取得执行装置、程序取得执行方法、程序取得执行程序记录媒体及程序取得执行程序
US11/792,779 US20080034362A1 (en) 2004-12-10 2005-06-30 Program Acquisition and Execution Apparatus, and Program Acquisition and Execution Method
PCT/JP2005/012083 WO2006061921A1 (ja) 2004-12-10 2005-06-30 プログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラム

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2006164191A true JP2006164191A (ja) 2006-06-22
JP2006164191A5 JP2006164191A5 (ja) 2007-12-06

Family

ID=36577751

Family Applications (1)

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

Country Status (4)

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

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008114491A1 (ja) * 2007-03-20 2008-09-25 Access Co., Ltd. アプリケーション更新管理機能を備えた端末、アプリケーション更新管理プログラムおよびシステム
JP2011041009A (ja) * 2009-08-11 2011-02-24 Ricoh Co Ltd 画像形成装置、プログラム管理システム、プログラム管理方法、及びプログラム管理プログラム
JP2011090391A (ja) * 2009-10-20 2011-05-06 Sony Corp 情報処理装置、機能管理方法、コンピュータプログラム及び情報処理システム
US8200018B2 (en) 2006-07-10 2012-06-12 Sony Corporation Information management apparatus, image recording apparatus, image pickup apparatus, image management system, image analysis information management method, and program
JP2013225218A (ja) * 2012-04-20 2013-10-31 Fuji Electric Co Ltd 周辺装置アクセスシステム
JP2014112937A (ja) * 2014-02-19 2014-06-19 Ricoh Co Ltd 装置、情報処理システム、情報処理方法、及び情報処理プログラム
JP2020187701A (ja) * 2019-05-17 2020-11-19 キヤノン株式会社 管理装置、方法、およびプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469035B (zh) * 2010-11-05 2016-01-20 腾讯科技(深圳)有限公司 跨进程通信的方法和装置
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
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

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389483B1 (en) * 1995-10-17 2002-05-14 Telefonaktiebolaget L M Ericsson (Publ) System and method for reducing coupling between modules in a telecommunications environment
JPH1165968A (ja) * 1997-08-13 1999-03-09 Nippon Telegr & Teleph Corp <Ntt> ネットワーク管理方法及びそのシステム
JP4208555B2 (ja) * 2002-11-27 2009-01-14 インクリメント・ピー株式会社 情報処理装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8200018B2 (en) 2006-07-10 2012-06-12 Sony Corporation Information management apparatus, image recording apparatus, image pickup apparatus, image management system, image analysis information management method, and program
US8988533B2 (en) 2006-07-10 2015-03-24 Sony Corporation Image recording apparatus, image pickup apparatus, image management system, image analysis information management method, and program for managing an image and analysis information on the image
WO2008114491A1 (ja) * 2007-03-20 2008-09-25 Access Co., Ltd. アプリケーション更新管理機能を備えた端末、アプリケーション更新管理プログラムおよびシステム
JP2011041009A (ja) * 2009-08-11 2011-02-24 Ricoh Co Ltd 画像形成装置、プログラム管理システム、プログラム管理方法、及びプログラム管理プログラム
US9286141B2 (en) 2009-08-11 2016-03-15 Ricoh Company, Ltd. Image forming apparatus, program management system, program management method, and computer-readable storage medium
JP2011090391A (ja) * 2009-10-20 2011-05-06 Sony Corp 情報処理装置、機能管理方法、コンピュータプログラム及び情報処理システム
JP2013225218A (ja) * 2012-04-20 2013-10-31 Fuji Electric Co Ltd 周辺装置アクセスシステム
JP2014112937A (ja) * 2014-02-19 2014-06-19 Ricoh Co Ltd 装置、情報処理システム、情報処理方法、及び情報処理プログラム
JP2020187701A (ja) * 2019-05-17 2020-11-19 キヤノン株式会社 管理装置、方法、およびプログラム
JP7254616B2 (ja) 2019-05-17 2023-04-10 キヤノン株式会社 管理装置、方法、およびプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2006061921A1 (ja) プログラム取得実行装置、プログラム取得実行方法、プログラム取得実行プログラム記録媒体、およびプログラム取得実行プログラム
US20200358883A1 (en) Method, User Equipment, Server, and Apparatus for Implementing Information Sharing
CN100396132C (zh) 一种实现无线终端程序更新的方法
EP1869924B3 (en) Method for providing contents for mobile communication terminal
US20100107150A1 (en) Terminal having application update managing function, and application update managing program and system
KR101885133B1 (ko) 디지털 디바이스에서 어플리케이션 자동 인스톨 기능을 제공하기 위한 장치 및 방법
US20090217256A1 (en) Method and apparatus for updating firmware in portable terminal
US8838537B2 (en) System and device for data management, and method thereof
KR101240082B1 (ko) Ip 기반의 직접 연결을 통한 동기화를 수행하는 단말기 및 이를 이용한 동기화 방법
CN111246299A (zh) 通信终端以及应用管理方法
EP1189402A1 (en) Hand-held device and the method for using it
US20100218189A1 (en) Method for managing java applications
US20080288672A1 (en) Information processing system, information terminal and server apparatus
CN102137058A (zh) 一种基于tab页的页面访问方法和装置
JP4967795B2 (ja) ライセンス管理装置、ライセンス管理装置の制御方法及び制御プログラム
US11966656B2 (en) Server, electronic device, server communication method, device communication method, and communication system
US20100142480A1 (en) Method of seamless vertical handover for sdr terminal and sca based sdr terminal for the same
KR100597586B1 (ko) 세션 관리 기능을 이용한 데이터 동기화 방법
JP4868728B2 (ja) 情報処理装置、情報処理方法、及びそのプログラム
CN115826994A (zh) 一种微服务项目的部署方法、装置及存储介质
KR20110134593A (ko) 단말의 플랫폼을 이용한 광고 제공 방법 및 시스템
JP2007157050A (ja) 遠隔操作方法、通信システム、移動通信端末装置及び遠隔サーバ
JP2008033537A (ja) 連係動作方法及び通信端末装置
JP2008244855A (ja) 通信端末装置、および同装置における制御方法、ならびに通信システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070705

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071019

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100331