JP5051070B2 - プログラム配信システム、その配信サーバ、プログラム - Google Patents

プログラム配信システム、その配信サーバ、プログラム Download PDF

Info

Publication number
JP5051070B2
JP5051070B2 JP2008223387A JP2008223387A JP5051070B2 JP 5051070 B2 JP5051070 B2 JP 5051070B2 JP 2008223387 A JP2008223387 A JP 2008223387A JP 2008223387 A JP2008223387 A JP 2008223387A JP 5051070 B2 JP5051070 B2 JP 5051070B2
Authority
JP
Japan
Prior art keywords
program
version number
distribution
distribution information
information file
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.)
Expired - Fee Related
Application number
JP2008223387A
Other languages
English (en)
Other versions
JP2010061204A (ja
Inventor
英明 塩田
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.)
Fuji Electric Retail Systems Co Ltd
Original Assignee
Fuji Electric Retail Systems 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 Fuji Electric Retail Systems Co Ltd filed Critical Fuji Electric Retail Systems Co Ltd
Priority to JP2008223387A priority Critical patent/JP5051070B2/ja
Publication of JP2010061204A publication Critical patent/JP2010061204A/ja
Application granted granted Critical
Publication of JP5051070B2 publication Critical patent/JP5051070B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、ネットワーク接続されている装置のプログラムの更新をオンラインで行う場合における、プログラムモジュールの配信、更新方法に関するものである。
ネットワークに接続された装置のプログラムをオンラインで更新する手法としては、例えば特許文献1,2等に記載の方法が知られている。
これらの従来手法では、配信元サーバ(集中管理センタ等)は、配信対象の装置から通知される当該装置のプログラムの各プログラム部品毎の版数と、自己が管理する最新の各プログラムの各プログラム部品毎の版数とを比較して一致/不一致を判定する。そして、版数が不一致となるプログラム部品のみを配信する事で、更新の自動化ならびに更新時間やネットワーク負荷の低減を実現している。
特開2006−190179号公報 特開2006−92275号公報
しかしながら、プログラム構成内容が複雑化の一途をたどる近年、装置に登録されているプログラムと、最新のプログラムとの差分を配信するだけでは、正しく更新できない場面が多々出てきている。
例えば、ある版数にプログラムを更新する場面において、
最初に、プログラムの基本部であるメジャー版数の更新を行ってから、パッチや修正モジュール等の様なマイナー版数の更新を行う必要がある場合や、
大掛かりなプログラム変更を行うために、既存のプログラムを全て削除してから、最新のプログラムを新規登録しなければならない場合、
さらには、装置が保有するメモリリソース等の都合から、一度に全ての更新プログラムを受け入れる事が困難であり、複数回に分けて配信しなければならない場合など、
その必要性はさまざまである。
例えばこれらは、
一般的なコンピュータ上で動作する、OSやアプリケーションソフトウェア等の場合においては、予め複数のプログラム( インストールメディアやダウンロードモジュール等)を準備し、定められた手順に沿って更新を行う等により、対応する事が可能であるが、ネットワーク接続された複数台の装置に対して、同様の手段を用いる事は、極めて困難である。
本発明の課題は、任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムに関して、各処理端末のプログラムを所定の版数へと更新させたい場合に、一旦何らかの途中状態へと更新させる必要がある場合でも、段階的にその都度必要なプログラムモジュールを配信して更新させて最終的に所定の版数へと更新させることができるプログラム配信システム、その配信サーバ、プログラム等を提供することにある。
本発明のプログラム配信システムは、任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムであって、前記各処理端末は、自端末が現在保持するプログラムの版数情報を前記配信サーバに通知する版数通知手段を備え、前記配信サーバは、それぞれに順位が与えられた複数の配信情報ファイルを有し、各配信情報ファイルには前記処理端末のプログラムを所定の更新版数へと更新させる為のプログラムモジュールが格納されており、最終的な更新版数へと更新させる為のプログラムモジュールが格納されている配信情報ファイルの前記順位が最も高い順位となっている配信情報記憶手段と、前記版数通知手段からの版数情報を受信すると、その更新版数が該版数情報と一致する配信情報ファイルがある場合には該配信情報ファイルより前記順位が1つ高い配信情報ファイルを適用し、その更新版数が該版数情報と一致する配信情報ファイルが無い場合には前記順位が最も低い配信情報ファイルを適用して、該適用する配信情報ファイルのプログラムモジュールを前記版数情報通知元の処理端末へ配信するプログラムモジュール選択・配信手段とを有し、前記各処理端末は、該配信されたプログラムモジュールを用いて自端末のプログラムを更新する更新手段を更に有し、前記版数通知手段は、該更新手段によるプログラム更新後、該更新後のプログラムの版数情報を前記配信サーバに通知する。
例えば、各処理端末のプログラムを版数aに更新させたいが、版数aへの更新は版数bからしか行えないような場合、版数bから版数aへ更新させる為のプログラムモジュールが格納されている配信情報ファイル(更新版数が版数a)を、順位が最も高いものとし、任意の版数から版数bへ更新させる為のプログラムモジュールが格納されている配信情報ファイル(更新版数が版数b)を先に適用させて一旦版数bへ更新させる。これより、処理端末から今度は版数bが通知されてくるので、今度は順位が最も高い配信情報ファイルが適用されて、版数aへ更新させることができる。
単に複数回に分けて配信するだけで済むような単純なケースではなく、何らかの条件を満たしつつ複数回配信する必要がある場合でも、その都度適切な配信情報ファイルを適用する制御を行いつつ段階的に複数回の配信を行うことで対応可能となる。
また、例えば、前記配信情報ファイルとして、前記プログラムモジュールが無く削除命令が格納された、前記更新版数が“プログラム無し”となっている配信情報ファイルも存在し、プログラムモジュール選択・配信手段は、この配信情報ファイルが適用された場合には前記削除命令を前記処理端末へ配信し、該削除命令を受信した処理端末は、自端末の保持プログラムを削除すると共に前記版数通知手段によって前記版数情報として“プログラム無し”を通知する。
所定の版数に更新させる為には処理端末のプログラムを全削除しておく必要がある場合にも対応可能となる。
また、例えば、前記各配信情報ファイルには、それぞれが所定の版数に対応して該版数から前記更新版数へとプログラム更新させる為の複数のプログラムモジュールが格納されており、前記プログラムモジュール選択・配信手段は、前記適用する配信情報ファイルの複数のプログラムモジュールのうち、前記版数通知手段から通知された版数に対応するプログラムモジュールを選択して処理端末へ配信するようにしてもよい。
本発明のプログラム配信システム、その配信サーバ、プログラム等によれば、任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムに関して、各処理端末のプログラムを所定の版数へと更新させたい場合に、一旦何らかの途中状態へと更新させる必要がある場合でも、段階的にその都度必要なプログラムモジュールを配信して更新させて最終的に所定の版数へと更新させることができる。
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本例のプログラム配信システム全体の概略構成図である。
図示のプログラム配信システムは、何らかのコンピュータ処理端末である複数の装置20と、これら各装置20に対してネットワーク1を介してプログラム等を配信する配信サーバ10とが、ネットワーク1に接続された構成となっている。
図2は、上記図1に示した配信サーバ10、装置20の構成・機能ブロック図である。
まず、装置20は、通信部21、プログラムメモリ22、版数通知部23、配信情報処理部24等の各種構成/機能部を有する。
通信部21はネットワーク1に接続しており、通信部21を介して配信サーバ10との通信を行う。プログラムメモリ22には任意のプログラムが格納されている。装置20は、例えば定期的に配信サーバ10に対して配信要求を送るが、その際に、版数通知部23は、プログラムメモリ22に格納されたプログラムの版数(バージョン情報等)を、通信部21を介して、配信サーバ10へ通知する。
上記要求に対して配信サーバ10が送信してくる配信情報(プログラムモジュールや処理種別等)は、通信部21を介して配信情報処理部24が受信する。そして、配信情報処理部24は、この配信情報に基いて、プログラムメモリ22に格納されている既存プログラムに対する更新や削除、追加等の各種処理を実行する。
配信サーバ10は、通信部11、配信情報記憶装置12、版数比較部13、配信情報送信部14、配信情報登録部15等の各種構成/機能部を有する。
配信情報記憶装置12には、配信情報パッケージ(プログラムモジュール群等)が格納されている。この配信情報パッケージの詳細については、後に図3を参照して説明する。登録者等は、予め作成した任意の配信情報パッケージを、配信情報登録部15を介して配信情報記憶装置12に格納しておく。
任意の装置20からの配信要求を受信すると、これに伴って上記版数通知部23から通知される当該要求元の装置20が現在保持するプログラムの版数情報に基づいて、版数比較部13が、上記配信情報パッケージ30に含まれる複数の配信情報のなかから、どの配信情報を配信するべきかを判定・決定する。そして、配信情報送信部14は、版数比較部13によって決定された配信情報を、通信部11を介して要求元の装置20へ配信する。
上記版数比較部13は、以下に説明する図3に示す配信情報パッケージ30において、まず複数の配信情報ファイル31のなかから適用すべき配信情報ファイル31を判定し、更にこの判定した配信情報ファイル31中の複数の個別情報40(各配信情報)の中から該当する個別情報40を判定し、この判定した個別情報40を上記要求元の装置20へ配信すべき配信情報として決定する。
配信サーバ10、装置20のハードウェア構成は、特に図示しないが、配信サーバ10は汎用コンピュータの構成でよく、例えばCPUの演算プロセッサ、ハードディスク等の記憶装置、メモリ、キーボード等の入力装置、ディスプレイ、通信インタフェース等を有している。また、ハードディスク等の記憶装置は、上記配信情報記憶装置12として機能する以外にも、上記版数比較部13、配信情報送信部14、配信情報登録部15等の各種機能部の機能を実現させる為の所定のアプリケーションプログラムが記憶されているものである。そして、上記CPUは、このアプリケーションプログラムを読出し・実行することにより、上記版数比較部13、配信情報送信部14、配信情報登録部15等の各種機能部の機能を実現する。特にCPUは、所定のアプリケーションプログラムを読出し・実行することにより、後述する図4の処理を実現するものである。
また、登録者等は、上記配信情報登録部15による配信情報の登録作業を行う際には、上記ディスプレイに表示される不図示の登録画面に従って上記キーボード等を操作することになる。
また、装置20は、例えばICカード・リーダ/ライタやATMや自動販売機等の何らかの特定の処理を実行するコンピュータ処理端末であり、例えばCPU/MPU、メモリ、通信インタフェース等を有している。このメモリとしては、上記プログラムメモリ22以外に、上記版数通知部23、配信情報処理部24等の各種機能部の機能を実現させる為の所定のアプリケーションプログラムを記憶するメモリがある。上記CPU/MPUは、この所定のアプリケーションプログラムを読出し・実行することにより、上記版数通知部23、配信情報処理部24等の各種機能部の機能を実現する。すなわち、自己が現在保持するプログラムの版数を配信サーバ10へ通知する機能や(これは後述するように配信不要通知を受けるまで繰り返す)、配信サーバ10から配信される配信情報に基づいて自己のプログラムを更新(バージョンアップや削除等)する処理機能を実現する。
ここで、図3を参照して、本例における配信情報について説明しておく。
図3は、本例の配信情報のデータ構成図である。
本実施例の場合、ある版数のプログラムを任意の版数に更新するために必要な情報を1個の配信情報(ここでは図示の「個別情報」40という)とし、同じ版数に更新するための複数個の個別情報40を1つの配信情報ファイル31にまとめている。
例えば、版数をVER2.0に更新する為の配信情報ファイル31には、
VER1.0→VER2.0の更新プログラム
VER1.1→VER2.0の更新プログラム
VER1.2→VER2.0の更新プログラム
・・・等をそれぞれ1個の配信情報(個別情報40)とし、これら全体を1個の配信情報ファイル31にまとめている。
また複数回の配信が必要な場合には、配信情報ファイル31をそれぞれの配信毎に作成して1個の配信情報パッケージ30としてまとめ、これを配信情報記憶装置12に登録しておく。
例えば一例としては、上記の“版数をVER2.0に更新する為の配信情報ファイル31”に加えて更に“版数をVER2.0からVER3.0に更新する為の配信情報ファイル31”を作成して、これらを1個の配信情報パッケージ30としてまとめるものである。これは、最終的にはVER.2.1に更新させる為の配信情報パッケージ30である。これは、例えば「VER2.0以前のバージョン(VER1.1等)からVER3.0に更新することは出来ず、それ故に一旦VER2.0に更新させる必要がある場合」等に特に有効なものとなる。これについては、後に具体例を示して詳しく説明する。
ここで、配信情報ファイル31のデータ構成について説明する。
図3に示すように、1つの配信情報パッケージ30には基本的に複数の配信情報ファイル31が含まれており、各配信情報ファイル31は、共通ヘッダ部と各個別情報40(図示の例では個別情報a〜個別情報n)より成る。共通ヘッダ部には、比較順位32と更新版数33が定義されている。
比較順位32は、複数個ある配信情報ファイル31それぞれに対して、一意の値が定義される。例えば、最後に適用すべき配信情報ファイル31に対して”01”を与え、以降順番にインクリメントした値を定義する。尚、比較順位32”01”は、最も順位が高いものというものとする。これより、比較順位32の値が最も大きいものを、最も順位が低いものというものとする。また、尚、上記最後に適用すべき配信情報ファイル31とは、最終的に更新させるべき版数へと更新させる為の配信情報ファイル31であり、本例ではVER.2.1に更新させる為のものとなる。
また、更新版数33は、その配信情報ファイル31に格納されている配信情報(個別情報40)によって更新されるプログラム版数を示している。上記の通り、1つの配信情報ファイル31に格納されている全ての個別情報40は、同じ版数のプログラムへとバージョンアップ等させる為のプログラムモジュール等であり、例えば上記一例(VER1.0→VER2.0、VER1.1→VER2.0、VER1.2→VER2.0)の場合には更新版数33は“2.0”となる。
配信情報ファイル31に格納されている各個別情報40は、適用版数41、処理種別42、プログラムモジュール43等から成る。適用版数41は、当該個別情報40がどの版数のプログラムを上記更新版数33のプログラムへと更新させる為の情報であるのかを示すものである。例えば上記一例では、個別情報40は3つ存在し、これら各個別情報40の適用版数41は、VER1.0、VER1.1、VER1.2の何れかとなる。そして、要求元の装置20が通知してきた版数が例えば“VER1.1”であったならば、適用版数41が“VER1.1”の個別情報を、要求元の装置20へ配信することになる。
プログラムモジュール43は、その版数が適用版数41であるプログラムを更新版数33のプログラムへと更新させる為のプログラム部品等である。例えば上記一例では、要求元の装置20が現在保持するVER1.1のプログラムをVER2.0のプログラムへとバージョンアップさせる為のプログラム部品(例えば後述する“差分”)となる。
処理種別42は、例えば“追加”、“新規”、“削除”の何れかである。すなわち、プログラムモジュール43が適用版数41のプログラムに対する追加(差分)なのか新規(全件)なのかを示す、あるいは既存プログラムを削除させる指示を示す処理種別が定義される。尚、後述する一例では、処理種別42が“削除”の場合にはプログラムモジュール43は無いものとするが(削除を指示するだけである)、この例に限るものではなく、例えば削除指示と共にプログラム全体(全件)を配信して新規登録させるようにしてもよい。
ここで、各配信情報ファイル31毎の個別情報40は、その“更新版数”33に更新するための対象版数の個数分、定義可能であるが(例えば上記一例では、“更新版数”=2.0に対して、VER1.0、VER1.1、VER1.2対応の3つの個別情報40が定義される)、この例に限るものではない。
例えば、VER1.X→VER2.0の更新を行う場合(X;任意の整数)、比較的変更内容が少ない版数のみを追加(差分)で定義し、ある版数以前のものは、全て新規(全件)と定義する事もできる。例えば以下に一例を示す。この例の場合、例えばver.1.0〜ver.1.9の10の版数に対して、4つの個別情報40が定義される。
例) 適用版数41 処理種別42 プログラムモジュール43の内容
VER1.9 追加 VER2.0とVER1.9の差分
VER1.8 追加 VER2.0とVER1.8の差分
VER1.7 追加 VER2.0とVER1.7の差分
VER1.* 新規 VER2.0の内容全部( 全件)
この例の場合、VER1.6以前の版数のプログラムを保持している装置20に対しては、全件を“新規”登録として処理される。
尚、処理種別42が“追加”の場合、上記の通り更新版数33のプログラムと適用版数41のプログラムとの差分のみが、要求元の装置20へ配信されることになるので、配信するプログラムの容量を必要最小限度に留められる、という効果も得られる。
図4は、配信サーバ10の版数比較部13の処理フローチャート図である。これは、比較順位32と更新版数33を用いた配信順序の判定方法を示すものである。
図示の処理は、任意の装置20が上記版数通知部23によって自身のプログラム版数を通知してきたら開始される。
そして、概略的には以下に説明する処理を実行する。
すなわち、配信情報パッケージ30内に登録された複数個の配信情報ファイル31に対して、比較順位32が示す順位に従って、最も順位が高いものから順番に、その更新版数33と装置20が通知してきた版数との比較を行って一致するものを探索する。そして、一致した配信情報ファイル31より順位が1つ高い配信情報ファイル31を適用する。版数一致するファイル31が、最も順位が高いファイルであった場合には、配信不要通知を装置20へ通知する。もし、版数一致するファイル31が存在しない場合には、最も順位が低い配信情報ファイル31を適用する。そして、適用した配信情報ファイル31を用いて、装置20に対するプログラムモジュール配信等の処理を行う。上記配信不要通知を送信しない限り、配信後に再び装置20が自己のプログラム版数を通知してくるので、再び図4の処理を行う。これを繰り返すことで、何らかの途中状態を経たうえで最終的には上記最後に適用すべき配信情報ファイル31が適用されて、最終的に所定の版数(本例ではVER.2.1)へと更新させることができる。
以下、更に詳細に図4の処理について説明する。
上記要求元の装置20からの自己のプログラム版数の通知を受けると、まず、配信情報パッケージ30内に登録された複数個の配信情報ファイル31のうち、最後に適用すべき配信情報ファイル31(上記の一例では比較順位32が一番小さい値(“01”)すなわち最も順位が高いもの)を参照して、その更新版数33と、装置20が通知してきた版数との比較を行って、一致/不一致を判定する(ステップS11)。ここでもし版数が一致した場合(ステップS11,YES)、その装置20はプログラム更新が全て完了していると判断し、配信不要通知を装置20へ送信して(ステップS12)、本処理を終了する。
一方、版数不一致の場合には(ステップS11,NO)、比較順位32が二番目に小さい値(“02”;すなわち2番目に順位が高い)の配信情報ファイル31を参照して、その更新版数33と、装置20が通知してきた版数との比較を行い、一致/不一致を判定する(ステップS13)。
版数が一致した場合には(ステップS13、YES)、その装置20は比較順位=”02”の配信情報によるプログラム更新までは完了しているが、それより1つ順位が高い比較順位=“01”の配信情報によるプログラム更新は完了していないと判断し(ここでは、最も最後に適用すべき配信情報ファイル31のみが未配信であることになる)、比較順位=“01”の配信情報ファイル31を適用するものと判定する。そして、当該適用するファイル31において該当する個別情報40を選択して配信する為の処理を行う。
すなわち、装置20が通知してきた版数と、適用するファイル31(ここでは比較順位=“01”の配信情報ファイル31)内の各個別情報40の適用版数41とを比較して、版数一致する個別情報40を配信すべきものと決定する。これより、配信情報送信部14によって、当該決定された個別情報40が装置20に配信されることになる。図示の例では、例えば、装置20が通知してきた版数が、個別情報aの適用版数41と一致する場合には(ステップS21,YES)個別情報aを配信させ(ステップS22)、個別情報bの適用版数41と一致する場合には(ステップS23,YES)個別情報bを配信させる(ステップS24)等することになる。尚、個別情報bとは、特に図示していないが例えば図3に示す個別情報aの次に格納されている個別情報40である。
版数が不一致の場合には(ステップS13、NO)、更に、比較順位=“03”以降の配信情報ファイル31について上記と同様の処理を行う。すなわち、比較順位を+1インクリメントしながら、その更新版数33が装置20が通知してきた版数と一致するか否かを判定する。そして、一致すると判定された配信情報ファイル31の1つ上の順位の配信情報ファイル31を適用して、当該適用するファイル31内の個別情報40のうち該当するものを装置20へ配信させる。
但し、最後まで一致と判定されなかった場合(更新版数33が通知版数と一致する配信情報ファイル31が1つも無い場合)、すなわち比較順位32が最も大きい値(図示の例では“n”;換言すれば順位が最下位)の配信情報ファイル31に関しても版数不一致となった場合には(ステップS15,NO)、この比較順位=“n”の配信情報ファイル31を適用して、当該ファイル31内の個別情報40のうち該当するものを装置20へ配信させる(ステップS32)。尚、ステップS15の判定が“一致”(YES)である場合には、1つ上の順位である比較順位=“n−1”の配信情報ファイル31を適用して、当該適用ファイル31内の個別情報40のうち該当するものを装置20へ配信させる(ステップS31)。
一方、各装置20は、配信された個別情報40を用いて自己のプログラムを更新する。そして、更新完了後、版数通知部23が再び版数を配信サーバ10へ通知する。この版数は、更新後の版数となる。この版数通知は、ステップS12による配信不要通知を受信するまで、個別情報40が配信されて更新が行われる毎に実行する。ステップS12による配信不要通知を受信したら、更新処理は全て完了したものと判定する。よって、その後は版数通知は行わない。
上記図4の処理に関して、以下、図5、図6に示す2つの具体例を挙げて説明する。
まず、図5に示す具体例1について説明する。
まず、図5の例における各バージョン間の関係(遷移条件等)について図5(a)に示す。
図5(a)に示すように、この例では、VER2.1への更新は、VER2.0からしか行えない。これは、図示の例では、VER2.1とVER2.0との差分をVER2.0へ“追加”する形で、VER2.1へのバージョンアップが行われる。よって、VER2.0以前のバージョン(ここでは、VER1.0のみとするが、この例に限らず、更にVER1.1等があってもよい)のプログラムを保持している状態、あるいはプログラム未登録状態の装置20は、これらの状態から直接VER2.1へバージョンアップすることは出来ない。
この為、例えばVER1.0状態の装置20に対しては、まず、VER2.0とVER1.0との差分を配信してVER.10に追加(マージ)させる形でVER2.0へと更新させたうえで、上記のようにVER2.1へのバージョンアップを行う必要がある。また、プログラム未登録状態である装置20に対しては、まず、VER2.0プログラム(全件)を配信して“新規”登録させたうえで、上記のようにVER2.1へのバージョンアップを行う必要がある。上記図4の処理を実行することでこの様な処理を実現させる為の配信情報パッケージ30の設定内容を、図5(b)に示す。
図5(b)に示すように、上記処理を実現させる為の配信情報ファイル31は、以下の2つが定義される
配信情報ファイル31-1 ; 「VER2.1 ← VER2.0」(追加)
配信情報ファイル31-2 ; 「VER2.0 ← VER1.0」(追加)、および「VER2.0 ←プログラム無し」( 新規)
すなわち、図5(b)に示すように、まず、配信情報ファイル31-1は最終的なバージョン(最新バージョン等)であるVER2.1へ更新させる為のプログラムモジュールファイルであるので、その比較順位32は“01”であり、更新版数33はVER2.1となっている。この例ではファイル31は2つなので、配信情報ファイル31-2の比較順位は“02”となる。また、上述したことから、配信情報ファイル31-2は、VER2.0へ更新させる為のプログラムモジュールファイルであるので、その更新版数33はVER2.0となっている。
また、上述したことから、配信情報ファイル31-1の個別情報40は、その適用版数41がVER2.0である1つのみであり、その処理種別42は“追加”であり、プログラムモジュール43としてVER2.1とVER2.0との差分としてのプログラムモジュール1が格納されている。
同様に、上述したことから、配信情報ファイル31-2の個別情報40は、その適用版数41がVER1.0と“VER−”の2つある(尚、“VER−”はプログラム無しを意味する)。VER1.0の個別情報40は、その処理種別42は“追加”であり、プログラムモジュール43としてVER1.0とVER2.0との差分としてのプログラムモジュール2が格納されている。“VER−”の個別情報40は、その処理種別42は“新規”であり、プログラムモジュール43としてVER2.0のプログラム全部(全件)であるプログラムモジュール3が格納されている。
上述した設定内容の配信情報パッケージ30を用いて図4の処理を実行すると、以下に説明するようになる。尚、図4には示していないが、ステップS11、S13、S14等の更新版数33との一致/不一致判定処理の際には、その比較順位32が最大値n(この例では“2”となる)であるか否かを判定し、最大値である場合にはステップS15の処理を適用する。図5に示す例では、比較順位“02”が最大値であるので、ステップS15の処理を適用することになり、もし“版数不一致”となった場合には、比較順位“02”のファイルすなわち配信情報ファイル31-2を適用することになる。
まず、概略的には、図4の処理は、要求元の装置20から通知された版数に応じて以下の(1)〜(3)の何れかの処理を行うことになり、要求元の装置20の初期状況(保持するプログラムの版数や保持プログラムの有無)が何であれ、最終的にはVER2.1に更新されることになる。
(1)“プログラム無し”を通知して来た場合は、配信情報ファイル31-2の“新規(全件)”のプログラムモジュール3等(これを含む配信情報40;以下同様)を配信。
(2)VER1.0を通知して来た場合は、配信情報ファイル31-2の“追加(差分)”のプログラムモジュール2等を配信。
(3)VER2.0を通知して来た場合は、配信情報ファイル31-1の“追加(差分)” のプログラムモジュール1等を配信。
以下、更に詳細に説明する。
まず、最初の一例として、既にVER2.0のプログラムを保持している装置20からの配信要求があった場合には、版数通知部23によってVER2.0が通知されてくるので、ステップS11の処理では比較順位32が“01”である配信情報ファイル31-1の更新版数32=“VER2.1”と比較することになり“不一致”と判定されることになる(ステップS11,NO)。これにより、ステップS13の処理に移行するが、これは上記の通りn=2としてステップS15の処理を実行することになる。よって、もし“不一致”と判定された場合には、比較順位32が“02”である配信情報ファイル31-2が適用されることになるが、ここでは上記の通り通知された版数はVER2.0であり、比較順位32が“02”である配信情報ファイル31-2の更新版数32=“VER2.0”と比較することにより“一致”と判定されるので、1つ上の順位の(比較順位“01”の)ファイル31である配信情報ファイル31-1が適用されることになる。
そして、配信情報ファイル31-1の個別情報40は図示の通り1つであり、この個別情報40の適用版数41はVER2.0であるので、通知された版数VER2.0と一致することから、この個別情報40が配信すべきものと決定されて配信されることになる。
これより、要求元の装置20は、配信された個別情報40を用いて、そのプログラムモジュール1を自己が保持するプログラムに追加する処理(統合する処理;マージ処理)を行うことで、自己のプログラムをVER2.1へと更新する。そして、更新完了したら、再び、版数通知部23が自己のプログラムの版数を配信サーバ10へ通知するが、このときにはVER2.1が通知されることになる。よって、この通知を受けた配信サーバ10の版数比較部13が、再び図4の処理を実行すると、ステップS11の判定がYESとなることから、配信不要通知を送信することになり、これよりプログラム更新処理は終了する。
また、例えば、既にVER1.0のプログラムを保持している装置20からの配信要求があった場合には、版数通知部23によってVER1.0が通知されてくるので、ステップS11の判定結果は不一致(NO)となり、続くステップS15の処理(n=2とする)の判定結果も不一致(NO)となるので、上記ステップS32の処理を実行することになり、比較順位32が“02”である配信情報ファイル31-2が適用されることになる。そして、配信情報ファイル31-2内の複数の個別情報40のうち、その適用版数41がVER1.0の個別情報40が配信されることになる。これより、要求元の装置20では、自己の既存のプログラム(VER1.0)に、配信された個別情報40のプログラムモジュール2を追加することで、自己のプログラムをVER2.0へと更新する。
更新完了後、版数通知部23によって今度はVER2.0が通知されることになり、配信サーバ10は再び図4の処理を実行することになるが、VER2.0通知時の処理については既に上述してあるので、ここでは説明しない。その後、版数通知部23によって今度はVER2.1が通知されることになり、配信サーバ10がステップS12の配信不要通知を返信することで、一連のプログラム更新処理は完了する。
また、例えば、プログラム未登録の装置20からの配信要求があった場合には、上記VER1.0の場合と同様にして配信情報ファイル31-2が適用されることになる。そして、配信情報ファイル31-2内の複数の個別情報40のうち、その適用版数41が“VER−”の個別情報40が配信されることになる。これより、要求元の装置20では、配信された個別情報40のプログラムモジュール3を新規登録することにより、VER2.0のプログラムを保持している状態となる。その後の処理については、上記VER1.0の場合と同様であるので、説明は省略する。
図5(c)に、プログラム未登録の装置20を最新のVER2.1のプログラム保持状態へ更新させる場合の装置20−配信サーバ10間の通信シーケンスを示す。これは、既に説明した通りであるが、図示のように、まず、プログラム未登録の装置20は、プログラム無し(“VER−”)の通知を伴う配信要求を配信サーバ10に送信し、これに応じて配信サーバ10はプログラムモジュール3を含む個別情報40を配信する。これより、装置20は、プログラムモジュール3を新規登録することで、VER2.0のプログラムを保持している状態となる。
続いて、装置20は、今度は版数VER2.0の通知を伴う配信要求を配信サーバ10に送信し、これに応じて配信サーバ10は今度はプログラムモジュール1を含む個別情報40を配信する。これより、装置20は、プログラムモジュール1を既存プログラム(VER2.0)に追加(マージ)する処理を行うことで、自己のプログラムをVER2.1へと更新することになり、VER2.1のプログラムを保持している状態となる。
そして更に、装置20は、今度は版数VER2.1の通知を伴う配信要求を配信サーバ10に送信し、これに応じて配信サーバ10は今度は配信不要通知を返信し、これによって一連のプログラム更新処理は終了する。
以上説明した例のように、複数の装置20に対してネットワークを介してオンラインでプログラム更新するシステムにおいて、配信サーバ10は、各装置の状況(版数やプログラム登録済み/未登録)に応じて複数種類のプログラムモジュールを選択的・段階的に複数回配信する必要がある場合でも、自動的に、適切なプログラムモジュールを適切な順序で配信することができ、問題なくプログラム更新を行うことができる。
次に、図6に示す具体例2について説明する。
まず、図6の例における各バージョン間の関係(遷移条件等)について図6(a)に示す。
図6(a)に示すように、この例ではまず上記図5の例と同様に、VER2.1への更新は、VER2.0からしか行えない。更に、VER2.0以前のバージョン(ここでは、VER1.0のみとするが、この例に限らず、更にVER1.1等があってもよい)のプログラムを保持している状態からVER2.0へバージョンアップすることは出来ない。つまり、VER2.0へ更新する場合には、まずVER1.0等の既存プログラムを削除してから、VER2.0への更新処理を行う必要がある。勿論、最初からプログラム無しの状態であれば、そのまま、VER2.0への更新処理を行えばよい。
上記図4の処理を実行することで図6(a)に示す遷移条件を満たしつつVER2.1への更新を実現させる為の配信情報パッケージ30の設定内容を、図6(b)に示す。
図6(b)に示すように、この例における配信情報ファイル31は、以下の3つが定義される。
配信情報ファイル31-3 ;「VER2.1 ← VER2.0」( 追加 )
配信情報ファイル31-4 ;「VER2.0 ← プログラム無し」( 新規 )
配信情報ファイル31-5 ;「プログラム無し ← VER1.0」( 削除指示)
これより、まず、配信情報ファイル31-3は、図示の通り、比較順位32が“01”、更新版数33がVER2.1であり、その個別情報40は1つであり、その適用版数41はVER2.0、処理種別42は追加(差分)となっており、VER2.1とVER2.0の差分であるプログラムモジュール4が格納されている。
配信情報ファイル31-4は、比較順位32が“02”、更新版数33がVER2.0であり、その個別情報40は1つであり、その適用版数41は“VER−”、処理種別42は新規(全件)となっており、VER2.0のプログラム全部(全件)であるプログラムモジュール5が格納されている。
配信情報ファイル31-5は、比較順位32が“03”、更新版数33が“VER−”であり、その個別情報40は1つであり、その適用版数41は“VER1.0”、処理種別42は削除となっている。これは、装置20の既存プログラムの削除を指示するだけであるので、プログラムモジュール43は無い。
まず、概略的には、図4の処理は、要求元の装置20から通知される版数に応じて以下の(1)〜(3)の何れかの処理を行うことになり、要求元の装置20の初期状況(保持するプログラムの版数や保持プログラムの有無)が何であれ、最終的にはVER2.1に更新されることになる。
(1)VER1.0を通知して来た場合は、通知元の装置20の保持プログラム(VER1.0)の削除指令。
(2)“プログラム無し”を通知して来た場合は、配信情報ファイル31-4の“新規(全件)”のプログラムモジュール5等を配信。
(3)VER2.0を通知して来た場合は、配信情報ファイル31-3の“追加(差分)” のプログラムモジュール4等を配信。
以下、更に詳細に説明する。
尚、既に図5の説明で述べたことから、本例では、比較順位“03”が最大値nであるので、この場合にはn=3としてステップS15の処理を行うことになる。
まず、最初の一例として、既にVER2.0のプログラムを保持している装置20からの配信要求があった場合には、その版数通知部23によってVER2.0が通知されてくるので、ステップS11の判定がNOでステップS13の判定がYESとなり、比較順位32=“01”の配信情報ファイル31-3が適用されることになる。これより、上記プログラムモジュール4を含む個別情報40を、要求元の装置20へ配信することになる。
これにより、要求元の装置20では自己のプログラムをVER2.1に更新して、今度はVER2.1が通知されてくることになるので、ステップS11の判定はYESとなり、配信不要通知を送信して(ステップS12)、一連のプログラム更新処理は終了する。
また、例えば、プログラム未登録の装置20からの配信要求があった場合には、“プログラム無し(VER−)”が通知されてくるので、ステップS11,S13の判定はNOとなり、ステップS15の判定はYESとなるので、ステップS31の処理が実行され、比較順位n−1の(本例では上記の通りn=3であるので、比較順位“02”の)配信情報ファイル31-4が適用されることになる。これより、上記プログラムモジュール5を含む個別情報40を、要求元の装置20へ配信することになる。
これにより、要求元の装置20では自己のプログラムをVER2.0に更新して、今度はVER2.0が通知されてくることになる。VER2.0が通知された場合の処理は既に述べたので、ここでは説明しない。その後、VER2.1が通知されてきて配信不要通知を返信して処理を終了する。
また、例えば、既にVER1.0のプログラムを保持している装置20からの配信要求があった場合には、版数通知部23によってVER1.0が通知されてくるので、ステップS11,S13の判定はNOとなり、ステップS15の判定もNOとなるので、ステップS32の処理が実行され、比較順位nの(本例では上記の通りn=3であるので、比較順位“03”の)配信情報ファイル31-5が適用されることになる。これより、配信情報ファイル31-5における図示の適用版数41=VER1.0、処理種別42=“削除”の個別情報40、すなわちVER1.0のプログラムの削除を指示する情報が、要求元の装置20へ配信される。
これに応じて、要求元の装置20は、自己が保持するVER1.0のプログラムを削除する処理を行う。これにより、この装置20はプログラム無しの状態となるので、この装置20から今度は“プログラム無し(VER−)”が通知されてくることになる。“プログラム無し(VER−)”が通知された場合の処理は、既に述べたので、ここでは説明しない。また、これによって更に今度はVER2.0が通知されてくるが、VER2.0が通知された場合の処理も既に述べたので、ここでは説明しない。その後、VER2.1が通知されてきて配信不要通知を返信して処理を終了する。
図6(c)に、VER1.0のプログラムを保持している装置20を最新のVER2.1のプログラム保持状態へ更新させる場合の装置20−配信サーバ10間の通信シーケンスを示す。これは、既に説明した通りであるが、図示のように、まず、この装置20は、VER1.0の通知を伴う配信要求を配信サーバ10に送信し、これに応じて配信サーバ10は配信情報ファイル31-5の個別情報40(削除指示)を要求元の装置20へ配信する。これは、上記の通り、装置20は、自己が保持するプログラム(VER1.0)を削除し、プログラム無しの状態となる。
よって、装置20は、今度はプログラム無し(“VER−”)の通知を伴う配信要求を配信サーバ10に送信し、これに応じて配信サーバ10はプログラムモジュール5を含む個別情報40を配信する。これより、装置20は、プログラムモジュール5を新規登録することで、VER2.0のプログラムを保持している状態となる。
続いて、装置20は、今度は版数VER2.0の通知を伴う配信要求を配信サーバ10に送信し、これに応じて配信サーバ10は今度はプログラムモジュール4を含む個別情報40を配信する。これより、装置20は、プログラムモジュール4を既存プログラム(VER2.0)に追加する処理を行うことで、自己のプログラムをVER2.1へと更新することになる。
そして更に、装置20は、今度は版数VER2.1の通知を伴う配信要求を配信サーバ10に送信し、これに応じて配信サーバ10は今度は配信不要通知を返信し、これによって一連のプログラム更新処理は終了する。
尚、上記プログラムモジュール4はプログラムモジュール1と同じであり、プログラムモジュール5はプログラムモジュール3と同じであると考えてよい。
以上説明したように、本手法では、任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムに関して、各処理端末のプログラムを所定の版数(上記の例では更新版数VER.2.1)へと更新させたい場合に、一旦何らかの途中状態へと更新させる必要がある場合でも、段階的にその都度必要な配信情報を配信して更新させて最終的に所定の更新版数へと更新させることができる。
単に複数回に分けて配信するだけで済むような単純なケースではなく、何らかの条件を満たしつつ複数回配信する必要がある場合でも、その都度適切な配信情報ファイルを適用する制御を行いつつ段階的に複数回の配信を行うことで対応可能となる。
段階的なプログラム更新の過程において発生し得る幾つかの途中状態を定義し、各途中状態に移行するために必要な配信情報(プログラムモジュール群)を格納・管理し、プログラム更新すべき装置20の状況(保持プログラムの版数やプログラムの有無等)に応じて適用する途中状態を判定して、装置20をこの途中状態へ移行させる為の配信情報(個別情報)を当該装置20に配信することで途中状態へと移行させる。そして、この様な途中状態を経て最終的な状態(例えば最新バージョンのプログラムへ更新した状態)へと移行させる。上記途中状態とは、例えば上述したように、最終的な状態や他の途中状態へと移行させる為に必要な特定の状態(上記の例ではVER2.0やプログラム無しの状態等)へと装置20のプログラム格納状態を更新した状態等である。
このようにして、ネットワーク接続された複数の装置20に対するプログラム更新を行う場合において、各装置毎に必要かつ最適な配信順序および配信内容の制御を行う事が可能となる。
本例のプログラム配信システム全体の概略構成図である。 配信サーバ、装置の構成・機能ブロック図である。 本例の配信情報のデータ構成図である。 配信サーバ(その版数比較部)の処理フローチャート図である。 具体例(その1)であり、(a)は版数の遷移、(b)は配信情報パッケージの内容、(c)は通信シーケンスの一例である。 具体例(その2)であり、(a)は版数の遷移、(b)は配信情報パッケージの内容、(c)は通信シーケンスの一例である。
符号の説明
1 ネットワーク
10 配信サーバ
11 通信部
12 配信情報記憶装置
13 版数比較部
14 配信情報送信部
15 配信情報登録部
20 装置
21 通信部
22 プログラムメモリ
23 版数通知部
24 配信情報処理部
30 配信情報パッケージ
31 配信情報ファイル
32 比較順位
33 更新版数
40 個別情報
41 適用版数
42 処理種別
43 プログラムモジュール

Claims (7)

  1. 任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムであって、
    前記各処理端末は、自端末が現在保持するプログラムの版数情報を前記配信サーバに通知する版数通知手段を備え、
    前記配信サーバは、
    それぞれに順位が与えられた複数の配信情報ファイルを有し、各配信情報ファイルには前記処理端末のプログラムを所定の更新版数へと更新させる為のプログラムモジュールが格納されており、最終的な更新版数へと更新させる為のプログラムモジュールが格納されている配信情報ファイルの前記順位が最も高い順位となっている配信情報記憶手段と、
    前記版数通知手段からの版数情報を受信すると、その更新版数が該版数情報と一致する配信情報ファイルがある場合には該配信情報ファイルより前記順位が1つ高い配信情報ファイルを適用し、その更新版数が該版数情報と一致する配信情報ファイルが無い場合には前記順位が最も低い配信情報ファイルを適用して、該適用する配信情報ファイルのプログラムモジュールを前記版数情報通知元の処理端末へ配信するプログラムモジュール選択・配信手段とを有し、
    前記各処理端末は、該配信されたプログラムモジュールを用いて自端末のプログラムを更新する更新手段を更に有し、
    前記版数通知手段は、該更新手段によるプログラム更新後、該更新後のプログラムの版数情報を前記配信サーバに通知することを特徴とするプログラム配信システム。
  2. 前記配信情報ファイルとして、前記プログラムモジュールが無く削除命令が格納された、前記更新版数が“プログラム無し”となっている配信情報ファイルも存在し、プログラムモジュール選択・配信手段は、この配信情報ファイルが適用された場合には前記削除命令を前記処理端末へ配信し、
    該削除命令を受信した処理端末は、自端末の保持プログラムを削除すると共に前記版数通知手段によって前記版数情報として“プログラム無し”を通知することを特徴とする請求項1記載のプログラム配信システム。
  3. 前記各配信情報ファイルには、それぞれが所定の版数に対応して該版数から前記更新版数へとプログラム更新させる為の複数のプログラムモジュールが格納されており、
    前記プログラムモジュール選択・配信手段は、前記適用する配信情報ファイルの複数のプログラムモジュールのうち、前記版数通知手段から通知された版数に対応するプログラムモジュールを選択して処理端末へ配信することを特徴とする請求項1または2記載のプログラム配信システム。
  4. 前記各プログラムモジュールに対応付けて処理種別が登録されており、前記プログラムモジュール選択・配信手段は、前記プログラムモジュール配信の際に該プログラムモジュールに対応する処理種別も送信し、
    前記処理端末は、前記配信されたプログラムモジュールを用いた自端末のプログラム更新処理を、受信した処理種別に応じて行うことを特徴とする請求項1〜3の何れかに記載のプログラム配信システム。
  5. 前記処理端末は、前記処理種別に応じて、前記配信されたプログラムモジュールを自端末の保持プログラムに対する差分としてマージする処理、あるいは前記配信されたプログラムモジュールを新規登録プログラムとして自端末の保持プログラムと置き換える処理を行うことを特徴とする請求項4記載のプログラム配信システム。
  6. 任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムにおける前記配信サーバであって、
    それぞれに順位が与えられた複数の配信情報ファイルを有し、各配信情報ファイルには前記処理端末のプログラムを所定の更新版数へと更新させる為のプログラムモジュールが格納されており、最終的な更新版数へと更新させる為のプログラムモジュールが格納されている配信情報ファイルの前記順位が最も高い順位となっている配信情報記憶手段と、
    任意の前記処理端末からその端末が保持するプログラムの版数情報が通知されてくると、その更新版数が該版数情報と一致する配信情報ファイルがある場合には該配信情報ファイルより前記順位が1つ高い配信情報ファイルを適用し、その更新版数が該版数情報と一致する配信情報ファイルが無い場合には前記順位が最も低い配信情報ファイルを適用して、該適用する配信情報ファイルのプログラムモジュールを前記版数情報通知元の処理端末へ配信するプログラムモジュール選択・配信手段と、
    を有することを特徴とする配信サーバ。
  7. 任意のプログラムを保持・実行する複数の処理端末と配信サーバがネットワークに接続され、該配信サーバが各処理端末のプログラムをオンラインで更新させるシステムにおける前記配信サーバのコンピュータを、
    それぞれに順位が与えられた複数の配信情報ファイルを有し、各配信情報ファイルには前記処理端末のプログラムを所定の更新版数へと更新させる為のプログラムモジュールが格納されており、最終的な更新版数へと更新させる為のプログラムモジュールが格納されている配信情報ファイルの前記順位が最も高い順位となっている配信情報記憶手段と、
    任意の前記処理端末からその端末が保持するプログラムの版数情報が通知されてくると、その更新版数が該版数情報と一致する配信情報ファイルがある場合には該配信情報ファイルより前記順位が1つ高い配信情報ファイルを適用し、その更新版数が該版数情報と一致する配信情報ファイルが無い場合には前記順位が最も低い配信情報ファイルを適用して、該適用する配信情報ファイルのプログラムモジュールを前記版数情報通知元の処理端末へ配信するプログラムモジュール選択・配信手段、
    として機能させるためのプログラム。
JP2008223387A 2008-09-01 2008-09-01 プログラム配信システム、その配信サーバ、プログラム Expired - Fee Related JP5051070B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008223387A JP5051070B2 (ja) 2008-09-01 2008-09-01 プログラム配信システム、その配信サーバ、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008223387A JP5051070B2 (ja) 2008-09-01 2008-09-01 プログラム配信システム、その配信サーバ、プログラム

Publications (2)

Publication Number Publication Date
JP2010061204A JP2010061204A (ja) 2010-03-18
JP5051070B2 true JP5051070B2 (ja) 2012-10-17

Family

ID=42187963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008223387A Expired - Fee Related JP5051070B2 (ja) 2008-09-01 2008-09-01 プログラム配信システム、その配信サーバ、プログラム

Country Status (1)

Country Link
JP (1) JP5051070B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5669431B2 (ja) * 2010-05-06 2015-02-12 キヤノン株式会社 情報処理装置、ファームウェア適用方法、及びコンピュータプログラム
JP2012088825A (ja) * 2010-10-18 2012-05-10 Brother Ind Ltd 更新システム

Also Published As

Publication number Publication date
JP2010061204A (ja) 2010-03-18

Similar Documents

Publication Publication Date Title
CN110300984B (zh) 改变在区块链中记录的智能合约
CN1790266B (zh) 用于下载更新的方法和系统
CN105100259A (zh) 一种分布式定时任务执行方法和系统
US8055496B2 (en) Ensuring product correctness in a multilingual environment
CN105635216B (zh) 分布式应用的升级方法、设备和分布式系统
KR20170016347A (ko) 디지털 콘텐츠를 위한 업데이트 개선 기법
CN102541941A (zh) 一种多方协同操作文件的版本管理控制方法
CN104965726A (zh) 配置更新方法、装置及系统
CN110535776B (zh) 网关限流方法、装置、网关、系统及存储介质
CN105930197A (zh) 一种软件升级的方法及电子设备
CN106951284B (zh) 基于安卓系统应用的用户界面升级方法、装置及智能终端
CN109857423A (zh) 程序版本更新方法、装置、服务器及可读存储介质
CN104699511A (zh) 插件升级方法及装置
CN105516230A (zh) 一种数据处理方法及装置
CN107533604B (zh) 用于无经纪人应用的单次登录的方法和设备
CN111158752A (zh) 一种saas多版本控制系统及其使用方法
US9430218B2 (en) Apparatus and method of executing update, recording medium using the same, and server and method of providing update
CN103078805B (zh) 使Zookeeper的读性能支持水平扩展的系统和方法
JP5051070B2 (ja) プログラム配信システム、その配信サーバ、プログラム
CN107463390B (zh) 一种软件升级方法及升级服务器
US20170300553A1 (en) System and methodology for propagating modifications in key-value pairs across a cluster of computers
CN103220336B (zh) 一种文件同步中向量时钟的实现方法及系统
US20150234866A1 (en) Data Distribution System
CN110096295A (zh) 基于ReactNative的多模块移动应用的热更新方法及系统
CN113535206B (zh) 多版本代码升级方法及系统

Legal Events

Date Code Title Description
A625 Written request for application examination (by other person)

Free format text: JAPANESE INTERMEDIATE CODE: A625

Effective date: 20101015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120709

R150 Certificate of patent or registration of utility model

Ref document number: 5051070

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees