JP2005032236A - プログラム実行システム - Google Patents

プログラム実行システム Download PDF

Info

Publication number
JP2005032236A
JP2005032236A JP2004180248A JP2004180248A JP2005032236A JP 2005032236 A JP2005032236 A JP 2005032236A JP 2004180248 A JP2004180248 A JP 2004180248A JP 2004180248 A JP2004180248 A JP 2004180248A JP 2005032236 A JP2005032236 A JP 2005032236A
Authority
JP
Japan
Prior art keywords
program
update
authentication information
authentication
instruction
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.)
Pending
Application number
JP2004180248A
Other languages
English (en)
Inventor
Kazuya Hashiguchi
和也 橋口
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 JP2004180248A priority Critical patent/JP2005032236A/ja
Publication of JP2005032236A publication Critical patent/JP2005032236A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 アプリケーションを起動させたあとに、そのソフトウェアを更新した場合には、ユーザはその更新後、煩わしい認証のための入力作業を行なう必要がなく、すぐに本来の作業を続行することができるプログラム実行システムを提供する。
【解決手段】 プログラム実行システムは、プログラムを実行する旨の指示を受け取った場合に、実行しようとしているプログラムが更新されたものであるか否かを判断して、更新されたことに起因する起動である場合は、前回の起動時に入力した認証情報を利用して認証確認の処理を行なう。
【選択図】 図1

Description

本発明は、実行する際にユーザの認証確認を必要とするプログラムの更新処理に関し、特に、更新後のプログラムを実行する際の利便性を向上させる技術に関する。
アプリケーション・ソフトウェアには、その実行に際し、ユーザに使用権限があるか否かの認証確認をするために、例えば、パスワードの入力を要求するものがある。そのアプリケーションで扱うデータ等が、不特定多数の者に漏洩するのを防止することなどが目的である。
また、アプリケーション・ソフトウェアは、その不具合の修正や機能追加等のために、そのプログラムの改訂版が提供され、ユーザは、その都度、自分が現在使用しているアプリケーション・ソフトウェアを、その改訂版に更新する必要がある。
この更新に際し、ユーザは自分が使用しているアプリケーションの改訂版が出ているかどうかを調べる手間が必要である。
この手間を解消する為に、近年のアプリケーション・ソフトウェアには、起動したときに、改訂版があれば知らせてくれて、更新できるものがある。よって、ユーザは、自ら調べることなく改訂版があることを知り、すぐに更新をすることができる。
また、ネットワークシステムにおいては、ユーザ端末のネットワークが何らかの原因で切れてしまった場合には、ユーザの手を煩わせずに、ネットワークサーバが自動的に回線切断を検知して、再接続するものがある(特許技術文献1参照)。
特開平6−259353号公報
しかし、このアプリケーション・ソフトウェアの更新は、前述のネットワークシステムの再接続のように、ユーザの手間が不要なものではなく、更新されたアプリケーションの再起動の際に、再度パスワードの入力等を行なうという手間が必要となる。
すなわち、アプリケーション・ソフトウェアの更新を行なうには、動いているアプリケーションを終了させた後に、ソフトウェアの更新を行い、再度アプリケーションを起動することになる。アプリケーションを実行しているときに、そのアプリケーション・ソフトウェアの更新を行なうことは、原則としてできないからである。
たとえ、更新後のアプリケーションの起動を自動的に行ない、ユーザの再起動の手間を省いたとしても、ユーザは認証確認のために、再度パスワードの入力等を行なわなければならない。
このことは、一旦、パスワードの入力等をして認証確認を行い、アプリケーションを起動したにもかかわらず、2度目の認証確認の為の手間が必要となることを意味する。この手間によって、アプリケーション更新の際の利便性が損なわれ、またさらに、本来の作業が中断されてしまうという不都合がある。
そこで、本発明は、認証の必要なアプリケーションを起動させたあとに、そのソフトウェアを更新した場合には、ユーザはその更新後、煩わしい認証のための入力作業を行なう必要がなく、すぐに本来の作業を続行することができるプログラム実行システムの提供を目的とする。
上記課題を解決する為に、本発明のプログラム実行システムは、認証情報を記憶する記憶手段と、プログラムを起動する指示を取得する起動指示取得手段と、前記プログラムの一部を更新する更新手段と、前記起動指示取得手段により取得された指示が、前記更新手段による更新に起因する指示であるか否かを判断する判断手段と、前記判断手段によって判断された場合は、前記記憶手段に記憶している認証情報が正当であるか否か確認する認証手段と、前記認証手段により認証情報が正当であると確認された場合に、前記プログラムを実行する実行手段と を備えることを特徴とする。
また、前記プログラム実行システムは、更に、自システムの外部から認証情報を取得する認証情報取得手段を備え、前記認証手段は、更に、前記判断手段によって否定的に判断された場合に、前記認証情報取得手段により認証情報を取得し、取得した認証情報が正当であるか否か確認することとしてもよい。
またさらに、本発明のプログラム実行システムは、認証情報を記憶する記憶手段と、プログラムを起動する指示を取得する起動指示取得手段と、前記プログラムの一部を更新する更新手段と、前記起動指示取得手段により取得された指示が、前記更新手段による更新に起因する指示であるか否かを判断する判断手段と、 前記判断手段によって肯定的に判断された場合は、前記プログラムを実行し、否定的に判断された場合は、自システムの外部から認証情報を取得し、取得した認証情報が正当であると確認された場合に、前記プログラムを実行する認証実行手段とを備えることを特徴とすることとしてもよい。
本発明に係るプログラム実行システムは、上述の構成を備えることにより、ユーザの起動指示を受けたときに、起動されたアプリケーションの起動が、プログラムが更新されたことに起因するものであるか否かの判断ができるようになるので、更新されたあとの再起動であれば、ユーザに、パスワードの入力等の手間をかけることなく、アプリケーションを起動することができるようになる。
また、前記認証情報取得手段は、認証情報を取得したときに、取得した認証情報を前記記憶手段に記憶し、前記判断手段は、前記記憶手段に前記プログラムと対応する認証情報が記憶されている場合には、肯定的に判断し、前記記憶手段に、前記対応する認証情報が記憶されていない場合には、否定的に判断することとしてもよい。
これにより、ユーザが認証情報を入力したときに、認証情報が記憶されるので、認証情報が記憶されている場合は、既に1度認証情報を受け付けていることがわかるので、再度、認証情報をユーザに要求しないようにできるようになる。
また、前記記憶手段に記憶されている認証情報には、所定の時を特定できる時間情報が含まれ、前記判断手段は、前記記憶手段に前記対応する認証情報が記憶されている場合であって、前記起動指示取得手段による指示が、前記対応する認証情報に含まれる前記時間情報で示される時間から所定時間が経過する前に行われた場合には、肯定的に判断することとしてもよい。
これにより、前回の起動の時から一定時間内に再起動されたかがわかるので、再起動を自動で行なわずにユーザに任せた場合であっても、一定時間内に再起動しない場合には、最初の起動であると判断し、認証情報を要求するようにすることができるようになる。
また、前記プログラム実行システムは、更に、前記更新手段によってプログラムが更新されたか否かを示す更新情報を記憶する更新情報記憶手段を備え、前記更新手段は、前記プログラムの一部を更新したときに、前記更新情報に更新した旨の情報を設定し、前記判断手段は、前記更新情報に基づいて、前記起動指示取得手段によって取得した指示が前記更新手段による更新に起因する指示であるか否かを判断することとしてもよい。
これにより、クライアント端末においてアプリケーションのプログラムが更新されたときに、更新された旨の情報が設定されるので、この情報を参照することにより、今回の起動がプログラムの更新が行なわれた後の再起動であるか否かの判断をすることができるようになる。
<概要>
本発明に係るプログラム実行システムは、プログラムを実行する旨の指示を受け取った場合に、実行しようとしているプログラムが更新されたものであるか否か、すなわち、受け取ったプログラム実行指示が、プログラムの更新に伴う指示であるか否かを判断して、更新された直後の起動に際しては、通常の認証確認の処理は行なわないようにするものである。
本実施形態では、更新後のプログラムは、その更新後、直ちに自動的に再起動される。
<構成>
以下、本発明に係るプログラム実行システムについて、図1を用いて説明する。
図1は、プログラム実行システムの構成を示す機能ブロック図である。
本システムは、クライアント装置1000とサーバ装置5000から構成され、それらはネットワークで結ばれている。尚、複数のクライアント装置1000が、サーバ装置5000に接続されているものとする。
クライアント装置1000は、起動指示受付部1100、認証情報受付部1200、送受信部1300及びアプリケーション2000から構成される。
ここで、クライアント装置1000は、いわゆるディスプレイ装置、キーボード、マウス等の入力デバイス等を備え、通常のコンピュータの機能であるユーザインターフェース機能等を備えているものとする。尚、これらの機能等は、図示していない。
まず、起動指示受付部1100は、ユーザからのアプリケーション2000を起動する旨の指示を受け付け、該当するアプリケーションに制御を渡す機能を有する。例えば、ユーザは、クライアント装置1000のディスプレイに表示されているアプリケーション2000のアイコンを、マウスでクリックすることで、起動の指示を出す。
認証情報受付部1200は、ユーザに対してパスワード等の認証情報の入力を要求し、認証情報を受け取る機能を有する。例えば、ユーザIDとパスワードを入力できるウィンドウを表示する。
送受信部1300は、サーバ装置5000とのデータのやり取りを行なう機能を有する。
次に、アプリケーション2000は、ワープロソフトやデータベースソフトなどの、特定の仕事を行なうためのソフトウェアをいう。
アプリケーション2000は、制御部2100、更新判断部2110、プログラム実行部2200、プログラム更新処理部2300、認証処理部2400、プログラム記憶部2500及び認証情報記憶部2600で構成される。
制御部2100は、アプリケーションの実行を制御する機能を有する。具体的には、アプリケーションの実行に必要な資源の確保などの初期処理を行なった後、各機能部に指示を出すことで、アプリケーションの実行を行なう。
この制御部2100は、起動指示受付部1100から起動の指示を受けて動き始める。また、制御部2100は、アプリケーションの再起動時には、後述の別プロセスからの起動の指示を受けて動き始める。
更新判断部2110は、アプリケーションの機能を実現するプログラムが更新されたか否かを判断する機能を有する。すなわち、制御部2100が受け取った起動指示は、起動指示受付部1100から受け取ったものか、後述の別プロセスから受け取ったものか、すなわち、プログラムが更新された後の起動指示であるか否かの判断を行なう。
制御部2100は、この更新判断部2110の判断によって、各機能部に出す指示及び順序を変えることになる。
次に、各機能部の1つであるプログラム実行部2200は、アプリケーションの具体的な機能を実現するプログラムを実行する機能を有する。
このプログラムは、プログラム記憶部2500に記憶されている。プログラム記憶部2500は、これらのプログラムを管理し、記憶しておく機能を有する。このプログラム記憶部2500は、外部メモリ等にあり、アプリケーションの起動、終了に関係なく存在する。尚、本実施形態のプログラムは、実行可能なモジュール、いわゆるオブジェクトモジュールであるとする。
また、プログラム更新処理部2300は、プログラム記憶部2500に記憶されているプログラムの更新履歴を管理する機能と、それらのプログラムの更新を行う機能とを有する。
プログラムの更新履歴を管理する機能とは、それぞれのプログラムが更新された日時である更新情報を記憶しておき、それぞれのプログラムの改訂版があるか否かの判断を行なう。その判断は、後述するサーバ装置5000から最新のプログラム更新情報等を受け取り、その更新情報と内部に記憶している更新情報とに基づいて判断する。
また、プログラムの更新を行う機能とは、最新のプログラムをサーバ装置5000に要求し、受け取り、プログラム記憶部2500に記憶されているプログラムと置き換えることをいう。
次に、認証処理部2400は、ユーザが入力したパスワード等の認証情報を、認証情報受付部1200から受け取り、サーバ装置5000に認証を依頼するとともに、認証情報記憶部2600に保存を依頼する機能を有する。
認証情報記憶部2600は、認証処理部2400から受け取った認証情報を記憶し、管理する機能を有する。
この認証情報記憶部2600は、最初の起動において認証情報を保存するときに存在し、最初に起動されたアプリケーション終了後、2度目に起動された場合に参照できるものであればよい。本実施形態では、ファイルとする。このファイルの名前は、システムで決まっているものとする。ファイル名を基に、参照できるからである。尚、アプリケーションが複数ある場合には、アプリケーション毎にファイル名を変えてもよい。
このファイルは、最初の起動時の認証情報を保存する処理において作成され、2度目に起動されたアプリケーションの終了処理において削除される。ユーザが、認証情報を入力したときに、その認証情報が書き込まれる。
従って、最初の起動のときは、認証情報を記憶しているファイルは存在せず、更新後の再起動の時は、認証情報が書き込まれたファイルが存在する。
尚、このファイルに書き込まれている認証情報は、セキュリティの観点から暗号化されているものとする。但し、以下の説明において、暗号化及び復号化の処理の説明は省くものとする。
次に、サーバ装置5000の説明を行なう。
サーバ装置5000は、最新プログラム記憶部5100、最新プログラム管理部5200、認証部5300及び送受信部5400で構成される。
最新プログラム記憶部5100は、クライアント装置1000で動いているアプリケーションの最新のプログラムを記憶しておく機能を有する。すなわち、アプリケーションの不具合を修正したものや新しい機能を追加したもの等である改訂版を保存している。
この最新プログラム記憶部5100で記憶しているアプリケーションは1つとは限らず、複数のアプリケーションのプログラムを記憶していてもよい。同様に、クライアント装置でのアプリケーションも1つとは限らず、複数のアプリケーションを使用していてもよい。
次に、最新プログラム管理部5200は、前述した最新プログラム記憶部5100に記憶されているプログラムの更新履歴を管理する機能と、クライアント装置1000からの要求に応じて、プログラムの更新情報および最新プログラム記憶部5100から読み出したプログラムを送り返す機能を有する。
認証部5300は、クライアント装置1000から送られてくる認証情報が、アプリケーションの使用権限を有するものであるか否かを判断する機能を有する。認証の方法は生体認証など様々なものがあるが、本実施形態では、ユーザIDとパスワードをいうものとする。ユーザごとにユーザIDを割り当て、そのユーザしか知り得ない文字列であるパスワードをユーザIDとともに、認証部5300内部のメモリ(図示していない。)に記録しておく。認証時にこれらの組み合わせをユーザに入力させ、その組合せをクライアント装置1000から受け取り、認証を行なうものとする。
送受信部5400は、クライアント装置1000とのデータのやり取りを行なう機能を有する。
尚、クライアント装置1000及びサーバ装置5000の各機能は、それぞれの装置のメモリ又はハードディスク(図示していない。)に格納されているプログラムをCPUが実行することにより実現される。
<データ>
以下、本プログラム実行システムで用いる主なデータについて、図2及び3を用いて説明する。
図2は、クライアント装置の更新情報の構成及び内容例を示す。
アプリケーションは、複数のプログラムで構成されており、この更新情報は、アプリケーションおよびプログラムの更新履歴を表すものである。
更新情報は、アプリケーション更新情報2310とプログラム更新情報2350の2種類の情報で構成される。このデータは、プログラム更新処理部2300の中のメモリに記憶されている(図示していない。)。
まず、アプリケーション更新情報2310は、アプリケーション名2311と更新日時2312とで構成される。
例でいえば、アプリケーション名「APPLI−A」のアプリケーションが更新された直近の日時は、更新日付「2003/02/07 12:45:33」で表される2003年2月7日の12時45分33秒である。この更新日時2312は、このアプリケーションの全部が更新された場合のみならず、アプリケーションの一部、すなわち、いくつかのプログラムが更新された場合にも更新される。
また、プログラム更新情報2350は、プログラム名2351と更新日時2352とで構成される。
このプログラム名2351は、アプリケーション名2311で示されているアプリケーションを構成しているプログラムの名前を表している。また、更新日時2352は、それぞれ対応するプログラム名2351で示されるプログラムが更新された直近の日時をいう。ここでいう直近の日時とは、クライアント装置のプログラムを更新した時の日時ではなく、更新したプログラムがサーバ装置で更新された日時をさす。いわゆる改訂版が作成された日時である。
例でいえば、アプリケーション名「APPLI−A」のアプリケーションは、プログラム名「A−PROG01」、「A−PROG02」等で示されるプログラム群で構成されており、それぞれの更新日付は、「2003/02/07 12:45:33」、「2003/02/05 21:22:12」等である。また、プログラム名「A−PROG01」のプログラムの更新日時2352は、アプリケーション名「APPLI−A」の更新日時2312と同じであることから、これらのプログラムの中で最も最近に更新されたのは、プログラム名「A−PROG01」のプログラムであることがわかる。
次に、図3は、サーバ装置の更新情報の構成及び内容例を示す。
サーバ装置の更新情報は、クライアント装置の更新情報と同じ構成をしている。
すなわち、更新情報は、アプリケーション更新情報5210とプログラム更新情報5250の2種類の情報で構成される。
アプリケーション更新情報5210は、アプリケーション名5211と更新日時5212とで構成され、プログラム更新情報5250は、プログラム名5251と更新日時5252とで構成されている。それぞれの項目の意味するところも、クライアント装置の更新情報と同じである。
この更新情報は、最新プログラム管理部5200の中のメモリに記憶されている(図示していない。)。
例でいえば、アプリケーション名「APPLI−A」のアプリケーションが更新された直近の日時は、更新日付「2003/02/08 19:26:04」で表される2003年2月8日の19時26分4秒である。
また、アプリケーション名「APPLI−A」のアプリケーションを構成している、プログラム名「A−PROG01」、「A−PROG02」等で示されるプログラムのそれぞれの更新日付は、「2003/02/07 12:45:33」、「2003/02/08
19:26:04」等である。
<動作>
以下、上述したプログラム実行システムの動作について図4から図7を用いて説明する。
図4は、クライアント装置1000においてアプリケーション2000を実行する処理を示すフローチャートである。
まず、ユーザは、クライアント装置1000のディスプレイに表示されているアイコンをクリックする。このアイコンは、クリックされることによって、アプリケーション2000を実行するものであるとする。
起動指示受付部1100は、該当するアイコンがクリックされたことを検知し(ステップS11)、アプリケーション2000の制御部2100に、その旨を通知する。
実行する旨の通知を受けた制御部2100は、アプリケーションの起動処理を行なう(ステップS12)。この起動処理の中で、プログラムの更新を行い、プログラムの再起動を自動的に行なう。この起動処理の詳細は、後述する。
起動されたアプリケーションは、ユーザの指示に従い、アプリケーション本来の目的であるワープロ作業や表計算作業などの、特定の仕事を行なう(ステップS13)。
ユーザは、作業が終了したら、アプリケーションに対して終了の指示を出す。この終了の指示を受けたアプリケーションは、データの保存やウインドウを閉じる等の終了処理を行なう(ステップS14)。
次に、図5はアプリケーションの起動処理を示すフローチャートである。
起動指示を受けた制御部2100は、アプリケーションを実行するための、初期処理を行なう(ステップS21)。具体的には、アプリケーションで必要なメモリやデバイス等の資源の確保等を行なう。
初期処理を終えて、アプリケーションを実行する環境が整ったところで、ユーザの認証処理を行なう。
制御部2100は、更新判断部2110に、この起動指示がプログラムの更新後のものであるか否かの判断を依頼する。
更新されたものであるか否かの判断の依頼を受けた更新判断部2110は、認証情報記憶部2600に認証情報が記憶されているか、すなわち、該当ファイルが存在するか否かを、認証処理部2400を介して問い合わせる。
この起動指示は、最初の起動指示であることから、該当ファイルは存在していない。従って、認証処理部2400は、該当ファイルは存在しない旨、すなわち、認証情報は記憶されていない旨を、更新判断部2110に返すことになる。
認証情報が記憶されていない旨の返答を得た更新判断部2110は、この起動指示が更新後のものではない、すなわち最初の起動指示であると判断し、その旨を制御部2100に返す(ステップS22:N)。
更新判断部2110から、この起動指示が更新後のものではない旨の返答を受けた制御部2100は、認証処理部2400に、認証情報を確認するよう指示を出す。
認証情報を確認するよう依頼された認証処理部2400は、まず、認証情報受付部1200に認証情報の取得を依頼し、ユーザからの認証情報を受け取る(ステップS23)。
詳細には、依頼を受けた認証情報受付部1200は、ディスプレイに認証情報の入力を要求するウィンドウを表示し、ユーザが入力した認証情報を認証処理部2400に返す。図6は、認証情報の入力を要求するウィンドウの構成及び内容例である。例えば、図6に示すようなウィンドウをディスプレイに表示する。この例では、ユーザID「USR001」とパスワードが5文字入力されている。パスワードは、実際には「abc12」と入力されているが、表示は「*****」となっているものとする。
認証処理部2400は、認証情報受付部1200から受け取った認証情報を、認証情報記憶部2600に保存する(ステップS24)。すなわち、ファイルを作成し、そのファイルに保存する。
その後、認証処理部2400は、送受信部1300を介して、サーバ装置5000にこの認証情報の認証を依頼する(ステップS25)。
この依頼に際し、認証処理部2400は、認証情報と、アプリケーション名2311(図2参照)を送信する(ステップS26)。例でいえば、アプリケーション名2311「APPLI−A」、ユーザID「USR001」及びパスワード「abc12」が送信される。尚、アプリケーション名は、アプリケーションを示すものであればよく、数字等であってもよい(以下、同様。)。
サーバ装置5000の認証部5300は、送受信部5400を介して、クライアント装置1000から送られてきた認証情報等を受け取る。
認証情報等を受け取った認証部5300は、送信されてきたアプリケーション名のアプリケーションを、送信されてきたユーザIDのユーザが使用できる権限があるか否かを判断し、使用できる権限があれば、パスワードが正しいか否かの判断を行なう(ステップS27)。認証部5300は、ユーザに使用権限があり、パスワードが正しい場合には、認証できた旨を送受信部5400を介して、クライアント装置1000に送信する。一方、使用権限がなかったり、パスワードが正しくなかった場合には、認証できなかった旨を送信する(ステップS28)。
サーバ装置5000から、認証の結果を受け取った認証処理部2400は、その結果を制御部2100に渡す。
認証結果を受け取った制御部2100は、認証されなかった旨の結果の場合には、その旨をユーザに伝える処理をし、起動処理を中止する(この処理は、フローチャートに図示していない。)。
認証された旨の結果を受け取った制御部2100は、次に、プログラムの更新処理を行なう。
このプログラムの更新処理は、制御部2100からプログラム更新処理部2300に更新依頼がなされることにより、実行される。
制御部2100からプログラムの更新処理を行なう旨の依頼を受けたプログラム更新処理部2300は、まず、送受信部1300を介してサーバ装置5000に、アプリケーションの更新情報、すなわち、改訂版があるか否かを判断するための情報を要求する(ステップS29)。
この要求に際して、プログラム更新処理部2300は、アプリケーション名を送信する(ステップS30)。
送信されたアプリケーション名は、サーバ装置5000の最新プログラム管理部5200に送受信部5400を介して、渡される。
アプリケーション名を受け取った最新プログラム管理部5200は、受け取ったアプリケーション名で示されるアプリケーションの更新情報を内部メモリから読み出し、クライアント装置1000のプログラム更新処理部2300に送信する(ステップS31)。
この送信される更新情報は、アプリケーション更新情報5210とプログラム更新情報5250とである(ステップS32、図3参照)。
更新情報を受け取ったプログラム更新処理部2300は、送られてきた更新情報と、自らの内部メモリに記憶している更新情報とを比較し、更新が必要か否かを判断する(ステップS33)。
具体的には、記憶している更新情報(図2参照)のアプリケーション更新情報2310の更新日時2312と、送られてきた更新情報(図3参照)のアプリケーション更新情報5210の更新日時5212とを比較し、送られてきた更新情報の更新日時5212が、記憶している更新情報の更新日時2312より新しければ、更新が必要となると判断する。
例でいえば、送られてきた更新情報の更新日時5212「2003/02/08 19:26:04」は、記憶している更新情報の更新日時2312「2003/02/07 12:45:33」より新しいため、更新が必要であると判断される。
更新が必要であると判断された場合、更新が必要なプログラムを選択するため、プログラム更新情報を比較し、更新の必要なプログラムを判断する。
この更新の必要なプログラムの判断の方法は、更新の必要なアプリケーションの判断と同様である。すなわち、記憶している更新情報(図2参照)のプログラム更新情報2350の更新日時2352と、送られてきた更新情報(図3参照)のプログラム更新情報5250の更新日時5252とを比較し、送られてきた更新情報の更新日時5252が、記憶している更新情報の更新日時2352より新しければ、更新が必要となると判断する。
例でいえば、プログラム名2351「A―PROG02」は、更新が必要であることがわかる。
アプリケーションのプログラムが最新のものではないと判断したプログラム更新処理部2300は、最新プログラムの送信をサーバ装置5000に要求し、送信されてきた最新のプログラムと、プログラム記憶部2500に記憶しているプログラムとを置き換える(ステップS34)。
詳細には、プログラム更新処理部2300は、アプリケーションとは別のプロセスを生成し、その後、アプリケーションの終了を制御部2100に依頼し、アプリケーションを一旦終了させる。ここで、プロセスとは、OS(オペレーションシステム)が管理する実行の単位である。
この生成されたプロセスが、プログラム更新処理部2300の処理を引き継ぐことになる。すなわち、プログラム更新処理部2300は、生成したプロセスに、更新が必要と判断したプログラム名2351の一覧を渡し、プログラムの更新及び再起動を依頼する。従って、実際の更新処理及び再起動の処理は、この別プロセスが行なう。
この別プロセスのプログラム更新処理部2300は、受け取ったプログラム名2351の一覧をサーバ装置5000の最新プログラム管理部5200に送信し、最新のプログラムを送信するよう要求する(ステップS35)。
プログラム名の一覧を受信した最新プログラム管理部5200は、該当するプログラムを最新プログラム記憶部5100から読み出し、別プロセスのプログラム更新処理部2300に送信する(ステップS37)。
最新のプログラムを受け取った別プロセスのプログラム更新処理部2300は、プログラム記憶部2500に記憶しているプログラムを最新のものに置き換える。
すべての必要な更新が完了したら、アプリケーションを再起動し、自分である別プロセスを消滅させる。
その後、アプリケーションの起動が行われ、初期処理が開始される(ステップS21)。
初期処理の実行後、認証処理が行われる。この認証処理は、一回目の認証処理とほとんど同じであるが、認証情報をユーザに要求して取得するのではなく、認証情報記憶部2600、すなわち認証情報を記憶しているファイルから読み出して認証処理を行なう点が異なる。
詳細には、初期処理を終えて、制御部2100は、更新判断部2110に、この起動指示がプログラムの更新後のものであるか否かの判断を依頼する。
更新されたか否かの判断の依頼を受けた更新判断部2110は、認証情報記憶部2600に認証情報が記憶されているかを、認証処理部2400を介して問い合わせる。
この起動指示は、更新後の起動指示であることから、ファイルが存在し、最初の起動処理で入力された認証情報がこのファイル、すなわち、認証情報記憶部2600に記憶されている。従って、認証処理部2400は、認証情報は記憶されている旨を、更新判断部2110に返すことになる。
認証情報が記憶されている旨の返答を得た更新判断部2110は、この起動指示が更新後のもの、すなわち2度目の起動指示であると判断し、その旨を制御部2100に返す(ステップS22:Y)。
更新判断部2110から、この起動指示が更新後のものである旨の返答を受けた制御部2100は、認証処理部2400に、認証情報記憶部2600に記憶されている認証情報を確認するよう指示を出す。
依頼を受けた認証処理部2400は、認証情報記憶部2600から認証情報を読み出す(ステップS38)。
その後、読み出した認証情報をもとに、認証処理を行なう(ステップS25〜ステップS28)。
認証処理を終えた後、制御部2100は、更新処理を行なう。
この更新処理は、最初の起動処理の時に行われたものと同じである(ステップS29〜ステップ34)。ただし、クライアント装置1000のアプリケーションは最新のものに更新されているため、プログラムの更新は必要ないと判断され(ステップS33:Y)、制御部2100によって、プログラム実行部2200に対して実行要求が出され、プログラム実行部2200によりプログラムが実行される(ステップS39)。
尚、プログラムの更新は必要であると判断された場合には、更新処理が行なわれることになる(ステップS34〜ステップS37)。
アプリケーション終了時に行なわれる終了処理において、認証情報が保存されているファイルを削除する(図4:ステップS14)。詳細には、制御部2100からファイル削除の指示を受けた認証処理部2400が、本ファイルを削除する。
<補足>
以上、本発明に係るプログラム実行システムについて実施形態に基づいて説明したが、部分的に変形することもでき、本発明は上述の実施形態に限られないことは勿論である。
(1)実施形態では、プログラムの更新は、アプリケーションの起動時に行なうこととしているが、ユーザがアプリケーションを使用して作業をしている途中であっても、ユーザの指示により更新することができるとしてもよい。
この場合、アプリケーションのプログラムで実行しているものものがあれば実行を停止する旨を制御部2100がプログラム実行部2200に通知し、プログラムの実行を停止した後、更新を行なう。また、停止前に、ユーザのファイル等は、保存する処理を行なっておく必要がある。
(2)実施形態では、プログラムの更新は、自動で行なうこととしているが、ユーザの許可を得た場合のみ、更新を行なうこととしてもよい。
例えば、図7に示すような、更新を行なうか否かの問い合わせのウィンドウを表示し、ユーザの許可を得ることになる。この場合、クライアント装置1000は、図7に示すようなウィンドウを表示してユーザの入力を得る機能を有する更新許可受付部を備え、制御部2100が更新許可の問い合わせを行い、許可があった場合には、プログラム更新処理部2300に更新を依頼することになる。
また、ユーザの許可を得た場合のみ、更新を行なうこととした場合であっても、アプリケーションの使用に際してプログラムの更新が必要である場合には、自動で更新処理を行なうこととしてもよい。例えば、データベースのテーブル構造の変更等が行なわれ、そのテーブルを参照するプログラムを新しくする必要が生じた場合である。
(3)実施形態では、更新後の起動指示、すなわち2度目の起動指示においてもプログラムが最新であるか否かの判断を行なうこととしているが、この2度目の更新処理を行なわないこととしてもよい。
この場合、2度目の起動にかかる時間が短くなるという利点がある。一方、2度目の起動指示においても更新処理を行なう場合には、常に最新のプログラムにすることができるという利点がある。
(4)実施形態では、プログラムの更新処理後、すぐに自動で再起動を行なうこととしているが、更新処理後の所定時間内、例えば10分以内に起動した場合には、ユーザに認証情報を要求する処理は行なわないこととしてもよい。
ユーザは、更新処理の間、必ずしもクライアント装置の前にいて再起動を待っているとは限らないからである。例えば、更新処理に時間がかかる場合などは、更新処理の間、ユーザは本来の作業ができないためである。
この場合は、更新処理を終了したら、一旦アプリケーションを終了することとする。但し、この際、アプリケーションが終了しても消えないファイル等に、認証情報を暗号化等して保存しておく必要がある。再起動時に、このファイルを読み出し、復号後、認証処理を行なう。
また、このファイルには、認証情報のみならず認証情報を入力した時刻等も暗号化し、保存しておく必要がある。この時刻と再起動時の時刻とを比較し、所定時間内に起動したか否かを判断する必要があるからである。
尚、この更新処理後の所定時間は、更新処理完了からの時間に限らず、前回の起動指示時からの時間、認証情報の入力時からの時間など、前回の起動を示す時間であればよい。
更新処理後の所定時間内に起動を行なう場合の処理について、図8を用いて説明する。図8は、所定時間内の再起動の処理を示すフローチャートである。
実施形態での処理(図5参照)とほぼ同じであるが、再起動であるか否かを判断する処理(ステップS81、ステップS82)と認証に使用する認証情報の求め方(ステップS83)とが異なる。
起動指示を受けた制御部2100は、初期処理(ステップS21)を行なった後、この起動指示がプログラムの更新後のものであるか否かの判断を更新判断部2110に依頼する。
更新されたか否かの判断の依頼を受けた更新判断部2110は、認証情報記憶部2600の認証情報を読み出すよう、認証処理部2400に依頼する。
依頼を受けた認証処理部2400は、認証情報記憶部2600から認証情報を読み出し(ステップS81)、更新判断部2110に返す。
認証情報を受け取った更新判断部2110は、受け取った認証情報の中に含まれている時刻を取り出して、現在の時刻が取り出した時刻から10分以上経過していれば、この起動指示が更新後のものではない、すなわち最初の起動指示であると判断し、その旨を制御部2100に返す(ステップS82:N)。
更新判断部2110から、この起動指示が更新後のものではない旨の返答を受けた制御部2100は、認証処理部2400に、認証情報を確認するよう指示を出す。以後の処理は、図5での説明とほぼ同じである(ステップ23〜ステップ28参照)。異なる点は、ステップS22で保存する認証情報に、保存する認証情報を作成した時の時刻を含ませる点である。
また、更新判断部2110は、現在の時刻が取り出した時刻から10分以内であれば、この起動指示が更新後のものであると判断し、その旨を制御部2100に返す(ステップS82:Y)。
更新判断部2110から、この起動指示が更新後のものである旨の返答を受けた制御部2100は、認証処理部2400に、認証情報記憶部2600から読み出しておいた認証情報を使用して、確認するよう指示を出す(ステップS83)。
依頼を受けた認証処理部2400は、読み出しておいた認証情報をもとに、認証処理を行なう(ステップS25〜ステップS28)。
認証処理を終えた後、制御部2100は、更新処理を行なう。
(5)実施形態では、認証情報の認証はサーバ装置で行なうこととしているが、クライアント装置で行なうこととしてもよい。
認証をクライアント装置で行なえば、サーバ装置との通信を行なう時間が不要な分、認証時間が短くて済むという利点がある。一方、認証をサーバ装置で行なう場合は、複数のクライアント装置を一括管理できるという利点がある。例えば、ユーザIDによって、アプリケーションを更新するための最新プログラムを送信するか否かを管理することができる。
(6)実施形態では、更新判断部2110は、認証情報が認証情報記憶部2600にあるか否か、すなわち該当するファイルの有無で、プログラムの更新の有無を判断しているが、更新されたか否かを示すフラグを用いて、更新の有無を判断することとしてもよい。
フラグを用いて、更新の有無を判断する場合の処理について、図9を用いて説明する。図9は、フラグを用いて更新の有無を判断する場合の、プログラム実行システムの構成を示す機能ブロック図である。
実施形態で説明したシステムの構成(図1参照)と異なる点は、更新フラグ記憶部3120が加えられている点である。
処理の流れは、図5のフローチャートと同様であるが、ステップ22の処理の内容が異なる。
更新判断部2110は、制御部2100からプログラムが更新されたものであるか否かの判断を依頼されたときに(図5、ステップS22参照)、更新フラグ記憶部3120に記録されている情報を基に、プログラムが更新されたものであるか否かを判断する。実施形態では、認証情報記憶部2600に認証情報が記憶されているか否かを基に判断している点が異なっている。
この更新フラグ記憶部3120は、プログラムが、更新後のものであるのか、更新前のものであるのかを区別できる情報を記憶する機能を有する。この区別できる情報とは、1ビットのON/OFF情報、値、文字列などの、更新の前後の区別ができるものであれば足りる。
この区別できる情報は、プログラム更新処理部2300によって設定される情報である。プログラム更新処理部2300が、プログラム記憶部2500に記憶されているプログラムを更新したときに、更新後である旨の情報を設定する。
また、この更新フラグ記憶部3120は認証情報記憶部2600と同様、最初の起動において情報を保存するときに存在し、最初に起動されたアプリケーション終了後、2度目に起動された場合に参照できるものであればよい。
例えば、この更新フラグ記憶部3120はファイルであり、この区別できる情報が1ビットの情報であるとする。最初の起動時にファイルを作成し、その中の区別できる情報であるビットをOFFにする。プログラム更新処理部2300がプログラムを更新したときに、ONにし、その後、再起動されたアプリケーションが終了するときに、ファイルを削除する。尚、ビットがONのときは、プログラムの更新が行なわれたことを意味しており、更新判断部2110は、このビットがONのときに、プログラムが更新されていると判断する。
(7)実施形態では、再起動時には、保存されている認証情報で認証処理を行なうこととしているが、再起動時には認証処理を行なわないこととしてもよい。
更新処理後の再起動時には認証処理を行なわない場合の処理について、図10を用いて説明する。図10は、再起動時に認証処理を行なわない場合の処理を示すフローチャートである。
実施形態での処理(図5参照)とほぼ同じであるが、再起動であるか否かを判断する処理(ステップS91)において、再起動であると判断された場合(ステップS91:Y)の処理が異なる。
再起動であると判断された場合は、認証処理を行なわずに、更新処理を行なう(ステップS29〜ステップS37)。
実施形態では、この更新処理の前に、認証処理(図5:ステップS38,ステップS25〜ステップS28)を行なう点が異なっている。
(8)実施形態では、アプリケーションのプログラムの更新について説明しているが、OS(オペレーティングシステム)のプログラムの更新であってもよい。
この場合、OSの終了処理を行う命令の後に、OSの起動を指示するような命令を記載して、再起動が行われるような仕組みを作成しておく必要がある。
(9)実施形態では、認証情報記憶部2600はファイルとしているが、内部メモリ等であってもよい。
この認証情報記憶部2600は、2度目に起動された場合に参照する必要がある。従って、例えば、2度目の起動を別プロセスに行なわせることとし、この別プロセス内のメモリに認証情報を記憶しておいて、2度目の起動時にこの認証情報をパラメータにするなどして、アプリケーションに渡す必要がある。
(10)実施形態では、更新後のアプリケーションの起動を別プロセスにおいて行なわせることとしているが、プログラムの更新がアプリケーションを終了させることなく行なえ、再起動が必要な場合には、OS(オペレーションシステム)に対して、数秒後にアプリケーションを起動するよう依頼し、アプリケーションを終了することとしてもよい。
この場合、アプリケーション終了の数秒後に、OSによって、アプリケーションの起動が行われ、初期処理がなされることになる。
(11)実施形態では、プログラムを更新する必要の有無を、その更新日時で判断しているが、バージョンナンバ等の情報で必要の有無を判断することとしてもよい。
(12)本実施形態では、プログラムは、いわゆるオブジェクトモジュールであるとしているが、ライブラリ形式のモジュール、ソースコード等であってもよい。
この場合、プログラム実行部は、プログラムの種類に応じたものでなければならない。
また、プログラムが、ライブラリ形式のモジュール等であった場合には、そのライブラリの一部のモジュールを更新することとしてもよい。
(13)実施形態で示したプログラム実行システムの各機能を実現させる為の各制御処理(図4等参照)をCPUに実行させる為のプログラムを、記録媒体に記録し又は各種通信路等を介して、流通させ頒布することもできる。このような記録媒体には、ICカード、光ディスク、フレキシブルディスク、ROM、フラッシュメモリ等がある。流通、頒布されたプログラムは、機器におけるCPUで読み取り可能なメモリ等に格納されることにより利用に供され、そのCPUがそのプログラムを実行することにより実施形態で示したプログラム実行システムの各機能が実現される。
(14)実施形態では、認証はパスワードとユーザIDで行なうこととしているが、生体認証等であってもよい。
この場合、記憶する認証情報は、その認証方法に必要な情報となる。
ユーザが使用しているアプリケーション更新時の利便性を高めるだけでなく、認証処理が多くならざるを得ないようなシステムの利便性を向上させるための技術として有用である。
プログラム実行システムの構成を示す機能ブロック図である。 クライアント装置の更新情報の構成及び内容例を示す図である。 サーバ装置の更新情報の構成及び内容例を示す図である。 クライアント装置1000においてアプリケーション2000を実行する処理を示すフローチャートである。 アプリケーションの起動処理を示すフローチャートである。 認証情報の入力を要求するウィンドウの構成及び内容例を示す図である。 更新を行なうか否かの問い合わせのウィンドウの例を示す図である。 所定時間内の再起動の処理を示すフローチャートである。 フラグを用いて更新の有無を判断する場合の、プログラム実行システムの構成を示す機能ブロック図である。 再起動時に認証処理を行なわない場合の処理を示すフローチャートである。
符号の説明
1000 クライアント装置
1100 起動指示受付部
1200 認証情報受付部
1300 送受信部
2000 アプリケーション
2100 制御部
2110 更新判断部
2200 プログラム実行部
2300 プログラム更新処理部
2310 アプリケーション更新情報
2351 プログラム名
2352 更新日時
2400 認証処理部
2500 プログラム記憶部
2600 認証情報記憶部
3120 更新フラグ記憶部
5000 サーバ装置
5100 最新プログラム記憶部
5200 最新プログラム管理部
5210 アプリケーション更新情報
5250 プログラム更新情報
5300 認証部
5400 送受信部

Claims (8)

  1. 認証情報を記憶する記憶手段と、
    プログラムを起動する指示を取得する起動指示取得手段と、
    前記プログラムの一部を更新する更新手段と、
    前記起動指示取得手段により取得された指示が、前記更新手段による更新に起因する指示であるか否かを判断する判断手段と、
    前記判断手段によって判断された場合は、前記記憶手段に記憶している認証情報が正当であるか否か確認する認証手段と、
    前記認証手段により認証情報が正当であると確認された場合に、前記プログラムを実行する実行手段と
    を備えることを特徴とするプログラム実行システム。
  2. 前記プログラム実行システムは、更に、自システムの外部から認証情報を取得する認証情報取得手段を備え、
    前記認証手段は、更に、前記判断手段によって否定的に判断された場合に、前記認証情報取得手段により認証情報を取得し、取得した認証情報が正当であるか否か確認する
    ことを特徴とする請求項1記載のプログラム実行システム。
  3. 前記認証情報取得手段は、認証情報を取得したときに、取得した認証情報を前記記憶手段に記憶し、
    前記判断手段は、前記記憶手段に前記プログラムと対応する認証情報が記憶されている場合には、肯定的に判断し、前記記憶手段に、前記対応する認証情報が記憶されていない場合には、否定的に判断する
    ことを特徴とする請求項2記載のプログラム実行システム。
  4. 前記記憶手段に記憶されている認証情報には、所定の時を特定できる時間情報が含まれ、
    前記判断手段は、前記記憶手段に前記対応する認証情報が記憶されている場合であって、前記起動指示取得手段による指示が、前記対応する認証情報に含まれる前記時間情報で示される時間から所定時間が経過する前に行われた場合には、肯定的に判断する
    ことを特徴とする請求項3記載のプログラム実行システム。
  5. 認証情報を記憶する記憶手段と、
    プログラムを起動する指示を取得する起動指示取得手段と、
    前記プログラムの一部を更新する更新手段と、
    前記起動指示取得手段により取得された指示が、前記更新手段による更新に起因する指示であるか否かを判断する判断手段と、
    前記判断手段によって肯定的に判断された場合は、前記プログラムを実行し、否定的に判断された場合は、自システムの外部から認証情報を取得し、取得した認証情報が正当であると確認された場合に、前記プログラムを実行する認証実行手段と
    を有することを特徴とするプログラム実行システム。
  6. 前記プログラム実行システムは、更に、前記更新手段によってプログラムが更新されたか否かを示す更新情報を記憶する更新情報記憶手段を備え、
    前記更新手段は、前記プログラムの一部を更新したときに、前記更新情報に更新した旨の情報を設定し、
    前記判断手段は、前記更新情報に基づいて、前記起動指示取得手段によって取得した指示が前記更新手段による更新に起因する指示であるか否かを判断する
    ことを特徴とする請求項1または5記載のプログラム実行システム。
  7. プログラムを実行する方法であって、
    認証情報をメモリに記憶する記憶ステップと、
    プログラムを起動する指示を取得する起動指示取得ステップと、
    前記プログラムの一部を更新する更新ステップと、
    前記起動指示取得ステップにより取得された指示が、前記更新ステップによる更新に起因する指示であるか否かを判断する判断ステップと、
    前記判断ステップにより、肯定的に判断された場合は、前記メモリに記憶している認証情報が正当であるか否か確認する認証ステップと、
    前記認証ステップにより認証情報が正当であると確認された場合に、前記プログラムを実行する実行ステップと
    を含むことを特徴とするプログラム実行方法。
  8. プログラムの実行を行なわせるためのコンピュータプログラムであって、
    認証情報をメモリに記憶する記憶ステップと、
    プログラムを起動する指示を取得する起動指示取得ステップと、
    前記プログラムの一部を更新する更新ステップと、
    前記起動指示取得ステップにより取得された指示が、前記更新ステップによる更新に起因する指示であるか否かを判断する判断ステップと、
    前記判断ステップにより、肯定的に判断された場合は、前記メモリに記憶している認証情報が正当であるか否か確認する認証ステップと、
    前記認証ステップにより認証情報が正当であると確認された場合に、前記プログラムを実行する実行ステップと
    を含むことを特徴とするコンピュータプログラム。
JP2004180248A 2003-06-19 2004-06-17 プログラム実行システム Pending JP2005032236A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004180248A JP2005032236A (ja) 2003-06-19 2004-06-17 プログラム実行システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003174352 2003-06-19
JP2004180248A JP2005032236A (ja) 2003-06-19 2004-06-17 プログラム実行システム

Publications (1)

Publication Number Publication Date
JP2005032236A true JP2005032236A (ja) 2005-02-03

Family

ID=34220011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004180248A Pending JP2005032236A (ja) 2003-06-19 2004-06-17 プログラム実行システム

Country Status (1)

Country Link
JP (1) JP2005032236A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226658A (ja) * 2006-02-24 2007-09-06 Nec Access Technica Ltd 情報処理端末装置,情報処理方法及び情報処理用プログラム
JP2019028634A (ja) * 2017-07-28 2019-02-21 日立オートモティブシステムズ株式会社 車載メモリの改竄検知装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226658A (ja) * 2006-02-24 2007-09-06 Nec Access Technica Ltd 情報処理端末装置,情報処理方法及び情報処理用プログラム
JP2019028634A (ja) * 2017-07-28 2019-02-21 日立オートモティブシステムズ株式会社 車載メモリの改竄検知装置

Similar Documents

Publication Publication Date Title
JP4242819B2 (ja) オフライン作業可能な端末を有する計算機システム
KR101098745B1 (ko) 소프트웨어 업데이트를 관리하고 통신하기 위한 시스템 및방법
JP4085930B2 (ja) 画像処理装置
US11017059B2 (en) License management server, license management system, and storage medium
US20030070162A1 (en) Information processor having multi OS and its OS update method
US20090038018A1 (en) Information processing apparatus, client device, and license management system
MXPA05006621A (es) Sistema y metodo para actualizar componentes de instalacion en un ambiente en red.
KR20010101982A (ko) 분산 컴퓨팅 환경에서 임대 소프트웨어 프로그램을수행하기 위한 시스템 및 방법
US8850563B2 (en) Portable computer accounts
US20080222043A1 (en) System and method for trans-vendor license registration and recovery
JP2011150499A (ja) シンクライアントシステム、シンクライアント端末およびシンクライアントプログラム
US7478433B2 (en) Program execution system having authentication function
CN105786575A (zh) 移动终端及其用于重写系统时数据免清除的方法
JP2009151480A (ja) 契約製品提供方法、クライアント装置、サーバ、プログラム、および該プログラムを記録した記録媒体
JP2004355563A (ja) アプリケーションソフトウエアの自動更新方法、情報端末装置、アプリケーションソフトウエアの更新処理方法およびアプリケーションソフトウエアのデータベースセンタ
US10628096B2 (en) Device data management system for managing device data usable as setting values
JP2003173260A (ja) 遠隔プログラム更新システム
JP2005032236A (ja) プログラム実行システム
JP2010044656A (ja) 情報処理端末および管理サーバ
JP6813778B2 (ja) データ消去方法、データ消去プログラムおよび管理サーバ
JPH11312090A (ja) 情報処理装置、その制御方法、記憶媒体および情報処理システム
JP2003244065A (ja) プログラム起動方法、サーバ装置、端末装置
JP2005208935A (ja) ソフトウェア管理装置及びソフトウェア管理プログラム
US20240184910A1 (en) Data management device, data sharing system and method, and non-transitory computer readable medium
JP2009259236A (ja) 情報処理端末および該情報処理端末の管理サーバ