JP3578266B2 - Application launch method, software product for application launch - Google Patents

Application launch method, software product for application launch Download PDF

Info

Publication number
JP3578266B2
JP3578266B2 JP2000001043A JP2000001043A JP3578266B2 JP 3578266 B2 JP3578266 B2 JP 3578266B2 JP 2000001043 A JP2000001043 A JP 2000001043A JP 2000001043 A JP2000001043 A JP 2000001043A JP 3578266 B2 JP3578266 B2 JP 3578266B2
Authority
JP
Japan
Prior art keywords
application
software
server
information
client machine
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
JP2000001043A
Other languages
Japanese (ja)
Other versions
JP2001195238A (en
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2000001043A priority Critical patent/JP3578266B2/en
Priority to US09/757,065 priority patent/US20010056462A1/en
Publication of JP2001195238A publication Critical patent/JP2001195238A/en
Application granted granted Critical
Publication of JP3578266B2 publication Critical patent/JP3578266B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Description

【0001】
【産業上の利用分野】
この発明は、アプリケーションの起動方法に関するものであり、より詳しくは、サーバからロードしたアプリケーションをクライアント・マシン上で起動する方法に関するものである。
【0002】
【従来の技術】
従来より、ウエブ・ページ上に、直接インストーラの実行ファイル(exeファイル)へのリンクを置き、ユーザーに直接実行させる事でローカルへのアプリケーションの導入を行なっていた。しかし、この方法では、プラットフォームや条件により導入すべきパッケージが異なる場合など、どの導入パッケージを実行すべきかの判断や、前提ソフトウェアの確認をユーザー自身が行わなくてはならない為、最初の起動が繁雑であった。
【0003】
この一方、アプレットは、配布の容易であるが、アプレットはブラウザの中で動作するという制限がある。一般に「署名付きアプレット」と呼ばれる第三者である認証機関が認証するアプレットも存在するが、署名付きアプレットに対するセキュリティの制限を解除したとしても、ウィンドウ・サイズの変更への追従や、終了を自分で制御できない等の制約がある。また、複数の署名付きアプレットを使用する場合、そのデジタル署名の管理も難しくなるという問題が発生する。
【0004】
なお、公知技術として、特開平9−167085号公報が存在する。特開平9−167085号は、利用者が必要となるプログラム群をネットワークから自動的に取得するに際し、サーバ計算機から取得手順の記述されたスクリプトを受領し、その手順に従ってプログラム群を取得する。また、クライアント計算機に既に存在するプログラムの場合にはサーバ計算機からの取得は行なわないようにしている。
【0005】
【発明が解決しようとする課題】
本発明の目的は、簡単な操作を行なうだけで、自動的にアプリケーションの実行環境の準備を行い、そのアプリケーションを実行できるコンピュータシステムを提供することにある。
【0006】
本発明の他の一つの目的は、コンピュータ関する詳しい知識を有していなくても、所定のアプリケーションを実行できるコンピュータシステムを提供することにある。
【0007】
本発明の他の一つの目的は、アプレットを、アプリケーションの起動時にだけ使用し、アプリケーションのサーバからの取得及び導入を行った後、ローカルで実行できるアプリケーションを起動する事で、サーバ上に存在するアプリケーションを容易かつ高速に起動する事が出来る。
【0008】
【課題を解決するための手段】
インターネット上簡単に配布ができるアプレットをブートストラップとして使用し、そのブラウザが動作しているOS上で直接稼動するアプリケーションを起動する。本発明の一態様においては、アプレットは、単にアプリケーションのコードをダウンロードするだけではなく、ローカル・ファイルシステムにキャッシュされているか否かの判断を行ったり、前提条件となる他のソフトウェアの確認や、そのバージョンのチェックを行う。ローカル・ファイルシステムにキャッシュされている場合には、アプリケーションのダウンロードは行なわない。また、前提条件となる他のソフトウェアが存在しない場合には、そのソフトウエアをダウンロードし、アプリケーションを起動する。
【0009】
本発明の一態様においては、
サーバからロードしたアプリケーションをクライアント・マシン上で起動する方法であって、
(a)前記クライアント・マシン側でのアプリケーション起動要求に応答して、サーバより実行環境を確認する実行環境確認アプレットをロードする段階と、
(b)前記実行環境確認アプレットを実行した結果に基づいて、前記クライアント・マシン上で起動するアプリケーションが必要とするコードと前記アプリケーションの起動コマンドをサーバからロードする段階と、
(c)前記起動コマンドを前記クライアント・マシンにおいて実行することにより、前記アプリケーションを起動する段階と、
を含むアプリケーションの起動方法が提供される。
【0010】
なお、本願明細書の特許請求の範囲において、「アプリケーションをロードするサーバ」、「実行環境確認アプレットをロードするサーバ」、「アプリケーションが必要とするコードと前記アプリケーションの起動コマンドをロードするサーバ」は、共通のサーバであっても、各々異なるサーバであってもよい。また、「アプリケーションが必要とするコード」は、そのアプリケーション本体のコードのみならずそのアプリケーションの実行に際し必要となる付随的コードを包括する概念である。
【0011】
本発明の他の一態様においては、
サーバからロードしたアプリケーションをクライアント・マシン上で起動する方法であって、
(a)前記クライアント・マシン側でのアプリケーション起動要求に応答して、前記クライアント・マシン上で起動するアプリケーションが必要とするコードと前記アプリケーションの起動コマンドをサーバからロードする段階と、
(b)前記起動コマンドを前記クライアント・マシンにおいて実行することにより、前記アプリケーションを起動する段階と、
を含むアプリケーションの起動方法が提供される。
【0012】
本発明の他の一態様においては、
前記必要とするコードが前記クライアント・マシンに存在するか否かを判断する段階をさらに含み、前記アプリケーションが必要とするコードと前記アプリケーションの起動コマンドは、前記必要とするコードが前記クライアント・マシンに存在していない場合に前記必要とするコードをサーバからロードすることを特徴とするアプリケーションの起動方法が提供される。
【0013】
本発明の他の一態様においては、
サーバからロードしたアプリケーションをクライアント・マシン上で起動するためのソフトウエア・プロダクトであって、
(a)前記クライアント・マシン側でのアプリケーション起動要求に応答して、サーバより実行環境を確認するための実行環境確認ソフトウエアと、
(b)前記クライアント・マシン上で起動するアプリケーションが必要とするコードを取得する必要コード取得ソフトウエアと、
(c)前記アプリケーションの起動コマンドを前記クライアント・マシンにおいて実行することにより、前記アプリケーションを起動するアプリケーション起動ソフトウエアと、
を含むソフトウエア・プロダクトが提供される。
【0014】
本発明の他の一態様においては、
サーバからロードしたアプリケーションをクライアント・マシン上で起動するためのソフトウエア・プロダクトであって、
(a)前記クライアント・マシン側でのアプリケーション起動要求に応答して、前記クライアント・マシン上で起動するアプリケーションが必要とするコードと前記アプリケーションの起動コマンドをサーバからロードする必要コード取得ソフトウエアと、
(b)前記起動コマンドを前記クライアント・マシンにおいて実行することにより、前記アプリケーションを起動するアプリケーション起動ソフトウエアと、
を含むソフトウエア・プロダクトが提供される。
【0015】
本発明の他の一態様においては、
前記必要コード取得ソフトウエアは、前記必要となるコードが前記クライアント・マシンに存在するか否かを判断する機能を有していることを特徴とするソフトウエア・プロダクトが提供される。
【0016】
【実施例】
A.ハードウエア構成
図1は、本発明のコンピュータシステム100を構成する情報端末110またはサーバ150を実施するためのハードウェア構成の概観図である。情報端末110またはサーバ150は、中央処理装置(CPU)1とメモリ4とを含んでいる。CPU1とメモリ4は、バス2等を介して、補助記憶装置としてのハードディスク装置13、31とを接続してある。フロッピーディスク装置(またはMO28、CD−ROM26、29等の媒体駆動装置26、28、29、30)20はフロッピーディスクコントローラ(またはIDEコントローラ25、SCSIコントローラ27等の各種コントローラ)19を介してバス2へ接続されている。
【0017】
フロッピーディスク装置(またはMO、CD−ROM等の媒体駆動装置26、28、29、30)20には、フロッピーディスク(またはMO、CD−ROM等の媒体)が挿入され、このフロッピーディスク等やハードディスク装置13、ROM14等の記憶媒体には、オペレーティング・システムと協働してCPU等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコードを記録することができ、メモリ4にロードされることによって実行される。このコンピュータ・プログラムのコードは圧縮し、または、複数に分割して、複数の媒体にまたがって記録することもできる。
【0018】
情報端末110またはサーバ150は更に、ユーザ・インターフェース・ハードウェアを備えたシステムとすることができ、ユーザ・インターフェース・ハードウェアとしては、例えば、画面位置情報を入力をするためのポインティング・デバイス(マウス、ジョイスティック、トラックボール等)7、キー入力をサポートするキーボード6や、イメージデータをユーザに提示するためのディスプレイ11、12がある。また、スピーカ23は、オーディオ・コントローラ21から音声信号を、アンプ22を介して受領し、音声として出力する。
【0019】
この情報端末110またはサーバ150100は、シリアルポート15およびモデムまたは、トークンリング等の通信アダプタ18等を介して、他のコンピュータや通信衛星等と通信を行うことができる。
【0020】
本発明は、通常のパーソナルコンピュータ(PC)やワークステーション、テレビやFAX等の各種家電製品に組み込まれたコンピュータ、車両や航空機等に搭載されるコンピュータ(カーナビゲーション・システム等)又はこれらの組合せによって実施可能である。ただし、これらの構成要素は例示であり、その全ての構成成要素が本発明の必須の構成要素となるわけではない。特に、本発明は、アプリケーションの起動方法に関するものであるため、スピーカ23、オーディオ・コントローラ21、アンプ22等の構成要素は本発明の一態様においては必須のものではない。
【0021】
情報端末110のオペレーティング・システムとしては、WindowsNT(マイクロソフトの商標)、Windows9x(マイクロソフトの商標)、Windows3.x(マイクロソフトの商標)、OS/2(IBMの商標)、MacOS(Apple社の商標)、Linux(Linus Torvldsの商標)、AIX(IBMの商標)上のX−WINDOWシステム(MITの商標)などの、標準でGUIマルチウインドウ環境をサポートするものや、PC−DOS(IBMの商標)、MS−DOS(マイクロソフトの商標)などのキャラクタ・ベース環境のもの、さらにはOS/Open(IBMの商標)、VxWorks(Wind River Systems, Inc.の商標)等のリアルタイムOS、JavaOS等のネットワークコンピュータに組み込まれたOSでも実現可能であり、特定のオペレーティング・システム環境に限定されるものではない。
【0022】
サーバ150のオペレーティング・システムとしては、WindowsNT(マイクロソフトの商標)、Windows9x(マイクロソフトの商標)、Windows3.x(マイクロソフトの商標)、OS/2(IBMの商標)、MacOS(Apple社の商標)、Linux(Linus Torvldsの商標)、AIX(IBMの商標)上のX−WINDOWシステム(MITの商標)などの、標準でGUIマルチウインドウ環境をサポートするものが好ましいが、PC−DOS(IBMの商標)、MS−DOS(マイクロソフトの商標)などのキャラクタ・ベース環境のもの、JavaOS等のネットワークコンピュータに組み込まれたOSでも実現可能であり、特定のオペレーティング・システム環境に限定されるものではない。
【0023】
B.システム構成
図2は、本発明の好適な実施例におけるコンピュータシステムの処理要素を示す機能ブロック図である。本発明の好適な実施例におけるコンピュータシステム100は、情報端末110と、サーバ150を含んでいる。
【0024】
情報端末110には、オペレーティング・システム111と、オペレーティング・システム111上で稼動するクライアント環境120が存在する。クライアント環境120には、ウエブブラウザ121が導入されており、実行時において、ネットワーク140を介してサーバ150からブートストラップ・アプレット123を取得し、Java仮想マシン131上で稼動できるようになっている。
【0025】
また、情報端末110は、履歴情報133、起動対象アプリケーション135、起動対象アプリケーション前提ソフトウエア137を有している。起動対象アプリケーション135と起動対象アプリケーション前提ソフトウエア137は、後述する本発明の機能によりサーバ150からダウンロードされる。
【0026】
本発明の好適な実施例において、サーバ150からダウンロードされるブートストラップ・アプレット123には、ローカル環境確認手段125、必要コード導入手段127、アプリケーション起動手段129が含まれている。
【0027】
ローカル環境確認手段125は、図4に示すローカル環境確認情報を保持し、履歴情報を参照し、導入の必要なコードを決定し、導入が必要なコードがある場合には、必要コード導入手段127にコードの導入を指示する。導入が必要なコードがない場合には、アプリケーション起動手段129にアプリケーションの起動を指示する。
【0028】
図3は、本発明の好適な実施例における履歴情報のデータ構造を示す概念図である。本発明の好適な実施例における履歴情報210には、導入済みソフトウエア名211、ソフトウエアID213、導入実行日時215、導入先パス名217、バージョン情報219、前提ソフトウエアID221の情報を含んでいる。ソフトウエアID213、導入実行日時215、導入先パス名217、バージョン情報219、前提ソフトウエアID221の情報は、導入済みソフトウエア名211に対応して登録され、導入済みソフトウエア名221は、複数登録することができる。
【0029】
導入済みソフトウエア名211は、「エクセル」、「ワード」(「エクセル」及び「ワード」は、マイクロソフト社の商標)等のアプリケーションやダイナミック・リンク・ライブラリ等のその他のソフトウエア名称であり、ソフトウエアID213は、コンピュータシステム100において、そのソフトウエア固有に付与されて識別子であり、導入実行日時215は、そのソフトウエアを導入した日時の情報である。導入先パス名217は、”c:¥windows”等、そのソフトウエアにアクセスするためのパス情報である。バージョン情報219は、そのソフトウエアのバージョン情報である。前提ソフトウエアID221は、そのソフトウエアが動作するために必要なソフトウエアを特定するための情報である。
【0030】
図4は、本発明の好適な実施例におけるローカル環境確認情報のデータ構造を示す概念図である。本発明の好適な実施例におけるローカル環境確認情報230には、導入対象環境情報231、起動アプリケーション名233、アプリケーションID235、導入先パス名237、バージョン情報239、前提ソフトウエアID241、アプリケーション確認手段の情報を含んでいる。ソフトウエアID235、導入先パス名237、バージョン情報239、前提ソフトウエアID241、アプリケーション確認手段243の情報は、導入済みソフトウエア名233に対応して登録され、導入済みソフトウエア名233は、導入対象環境情報231に対し複数登録することができる。また、導入対象環境情報231も複数登録することができる。
【0031】
導入対象環境情報231は、「windows98」、「MacOS」(「windows98」は、マイクロソフト社の商標であり、「MacOS」は、アップル社の商標である)等、アプリケーションが動作する環境を特定するための情報である。導入済みアプリケーション名233は、「エクセル」、「ワード」(「エクセル」及び「ワード」は、マイクロソフト社の商標)等のアプリケーションの名称であり、アプリケーションID235は、コンピュータシステム100において、そのソフトウエア固有に付与されて識別子であり、導入先パス名237は、”c:¥windows”等、そのアプリケーションにアクセスするためのパス情報である。バージョン情報239は、そのアプリケーションのバージョン情報である。前提ソフトウエアID241は、そのアプリケーションが動作するために必要なソフトウエアを特定するための情報である。アプリケーション確認手段243は、そのアプリケーションが存在することを確認するためのコマンド等の情報である。
【0032】
例えば履歴情報133に、
導入済みソフトウェア名 JRE 1.2.2
ID 100
導入実行日時 2000/01/01
導入先パス c:¥Program Files¥JavaSoft¥jre¥1.2.2
バージョン 1.2.2
前提ソフトウェアID 無し
が登録されていたとする。
【0033】
このJRE 1.2.2 の存在確認の為、例えば以下のような確認コマンド(スクリプト、疑似コード)を実行する。
「execute ”java −version”;(java −version を実行)。」。
導入済みの場合、これに対する応答は、「java version ”1.2.2”」という文字列が返る。またバージョンを確認するために以下のコマンドも発行する。
「parseVersion ”java version ¥”{0}¥””;(応答の文字列を確認)」。
パースに失敗した場合は、確認失敗の結果が返る。そして、
「if (version >= ”1.2.2”) return ok;(Version が 1.2.2 以上を示していればOK)」、「else return bad;」により、所望のバージョンが存在するか否かを確認することができる。
【0034】
また、履歴情報133に、
導入済みソフトウェア名 BAP 1.0
ID 200
導入実行日時 2000/01/01
導入先パス c:¥BAP
バージョン 1.0
前提ソフトウェアID 100
が登録されていたとする。
【0035】
このBAP 1.0 の存在確認の為、例えば以下のような確認コマンドにより確認することができる。
「cd $(PATH200);(履歴情報の導入先パスのID200のディレクトリに移動)」、
「execute ”java −classpath bap.jar com.ibm.apst.bap.Version”(導入済みの場合、応答は BAP 1.0 という文字列が返る)」。
また、バージョンの確認のため、前述の例と同様に、
「parseVersion ”BAP {0}”;」、
「if (version >= ”1.0”) return ok;」、
「else return bad;」を発行する。
【0036】
必要コード導入手段127は、ローカル環境確認手段125より取得すべきソフトウエア名、ソフトウエアID、導入先のパス情報、バージョン情報のセットを取得し、サーバ150に対し、そのソフトウエアを取得するためのリクエストを送信する。また取得したソフトウエアを導入先パス情報に基づいて登録し、また登録の確認を行なう。アプリケーション起動手段129は、アプリケーションの起動や起動の確認を行なう。なお、本発明の好適な実施例におけるブートストラップ・アプレットや導入するソフトウエアには認証機関による署名が含まれており、ユーザがブラウザ等においてその認証機関の署名を含むソフトウエアのセキュリティ・チェックを解除する設定にすることによって、セキュリティを維持しつつ、繁雑な確認操作を行なうことなく導入作業が実行されることとなる。
【0037】
図5は、本発明の好適な実施例におけるアプリケーション起動情報のデータ構造を示す概念図である。本発明の好適な実施例におけるアプリケーション起動情報250には、導入対象環境情報251、導入済みアプリケーション名253、アプリケーションID255、起動コマンド257、起動確認手段259の情報を含んでいる。アプリケーションID255、起動コマンド257、起動確認手段259の情報は、導入済みソフトウエア名253に対応して登録され、導入済みソフトウエア名253は、導入対象環境情報251に対し複数登録することができる。また、導入対象環境情報251も複数登録することができる。
【0038】
導入対象環境情報231は、ローカル環境確認情報の場合と同様に「windows98」、「MacOS」等、アプリケーションが動作する環境を特定するための情報である。導入済みアプリケーション名253も、「エクセル」、「ワード」(「エクセル」及び「ワード」は、マイクロソフト社の商標)等のアプリケーションの名称であり、アプリケーションID235は、コンピュータシステム100において、そのソフトウエア固有に付与されて識別子である。起動コマンド257は、そのアプリケーションを起動するためのコマンドの情報である。起動確認手段259は、そのアプリケーションが正常に起動されたか否かを確認するためのコマンド等の情報である。
【0039】
なお、前述の例で示したBAP 1.0 の起動に際しては、以下のような起動コマンド(スクリプト、疑似コード等)を実行することができる。
「cd $(PATH200);(履歴情報の導入先パスのID200のディレクトリに移動)
「execute ”java −classpath bap.jar com.ibm.apst.bap.BAP data¥Start.xml”」
【0040】
また、BAP 1.0 の起動確認の為、上記起動コマンド実行後、以下のような起動確認コマンド(スクリプト、疑似コード等)を実行することができる。
「findString ”BAP Started” till 30 sec;(30秒以内に BAP Started の文字列を標準出力で確認する。確認できない場合、失敗を返す)
「process running;(起動したプロセスは終了していない。終了している場合、失敗を返す)
「return ok;」。
【0041】
C.処理手順
本発明の処理手順を図6に示すフローチャートを用いて説明する。
【0042】
まず、クライアント環境120において、ユーザがウエブブラウザ121を起動し、サーバ150のURLを入力することにより(ステップ403)、ブートストラップ・アプレット123がロードされる(ステップ405)。
【0043】
図9は、ブートストラップ・アプレット123がロードされた状態の本発明の好適な実施例におけるウエブ・ブラウザ画面を示す概念図である。図に示すように、ブートストラップ・アプレット123がロードされた状態の本発明の好適な実施例におけるウエブ・ブラウザ画面700には、アプリケーション起動ボタン701が配置される。
【0044】
なお、本発明の好適な実施例においては説明を簡単にするためにローカル環境確認手段125、必要コード導入手段127、アプリケーション起動手段129のコードをアプリケーション起動ボタン701が押されると同時にロードしているが、各コードのロードは、ボタン701のクリックと同時ではなくても良い。例えば、ボタン701が押されると同時にロードされるブートストラップ・アプレット123には、各コードにアクセスするための情報を埋めこんでおき、各コードの実行時または、それに先立って各コード毎、または所定の組み合わせでサーバ150または他のサーバから取得してもよい。
【0045】
ユーザがアプリケーションの起動を要求すべく、アプリケーション起動ボタン701を押すと(ステップ407)、ローカル環境確認手段125が起動する(ステップ409)。図7は、ローカル環境確認手段の主な動作手順を示すフローチャートである。なお、本発明の一態様においては、ユーザによるアプリケーションの起動要求に先立って、アプリケーションの導入先等をユーザに設定させることも可能である。
【0046】
まず、ローカル環境確認手段125は、情報端末110のオペレーティング・システム111の種類を確認し、ローカル環境確認情報230(図4)に登録されたそのオペレーティングシステムに対応する起動アプリケーションを決定し、その情報233〜243を取得するする(ステップ443)。なお、情報端末110のオペレーティング・システム111は、Javaのシステム・プロパティやHTTPリクエストのエージェント名を参照すること等により識別することができる。
【0047】
次に、ローカル環境確認手段125は、履歴情報210(図3)にアクセスし、起動対象アプリケーション233や前提ソフトウエア241の全てが既に導入されているか否かをアプリケーション名やIDやバージョン等により判断する(ステップ435)。その全てが過去に導入済みであると判断された場合には(ステップ436)、処理を図6のフローに戻す(ステップ447)。過去に導入済みでない(バージョンの不一致等を含む)ソフトウエアが存在すると判断された場合には、ローカル環境確認情報230(図4)よりソフトウエア確認手段243を取得し、それを実行する(ステップ437)。
【0048】
具体的には、前述の確認コマンドを発行し、帰ってきたメッセージでソフトウエアの存在やそのバージョンを調べることや、所定のダイナミック・リンク・ライブラリを探索し、その内容を参照することにより、所定のソフトウエアの存在やそのバージョン情報を取得することができる。これにより、履歴情報210には、登録されていないが、情報端末110に既に存在するソフトウエアを有効に利用することができる。
【0049】
情報端末110において、使用可能かつ有効なソフトウエアの存在が確認されず、必要なコードの導入が必要であると判断された場合には、必要コード導入手段127を実行し、サーバ150またはその他のサーバから必要なコードを取得する(ステップ441)。
【0050】
図8は、必要コード導入手段の主な動作手順を示すフローチャートである。必要コード導入手段が起動されると、必要となるソフトウエアの導入パッケージをサーバ150または他のサーバから取得する。サーバからの取得が正常に終了しなかった場合には、所定回数のリトライを行い、それにもかかわらず正常終了できなかった場合には、エラー表示を行い、処理を終了する(ステップ455、457、463、465)。導入パッケージの入手処理が正常に終了した場合には、インストーラの起動を行い、ソフトウエアの導入を行なう(ステップ459)。ソフトウエアの導入が正常に終了しなかった場合には、エラー表示を行い、処理を終了する(ステップ461、463、465)。ソフトウエアの導入が正常に終了した場合には、処理を図7に返す(ステップ467)。
【0051】
具体例を紹介すると、例えば、BAP 1.0 (ID 200) のパッケージが存在しない場合、ブートストラップ・アプレットは、サーバにURLを問い合わせ、ftp://bootapplet.host/applications/BAP10.exe を得る。そして、ブートストラップ・アプレットは、適当なローカルディレクトリ、c:¥BAPPLET¥DOWNLOAD に BAP10.exe をダウンロードする。
【0052】
この例において、入手された、BAP10.exeは、自己解凍型の圧縮ファイルであり、BAP10.exe を実行する事により、インストーラを含む導入パッケージが現れる。この導入パッケージは、例えば、Install Shield (「Install Shield」は、InstallShield Software Corporationの商標) 等で作成された物を利用することもできる。
【0053】
そして解凍されたインストーラを起動する。例えば、上述の「Install Shield」を利用する場合、setup.exe をサイレント・モードで応答ファイルを指定して起動する。(setup −s −f1Response.iss) 。その後、解凍された不要なファイルを消去する。Install Sheild には、解凍から、インストーラの実行、ファイルの消去を、BAP10.exe を起動するだけで行うことが出来る導入パッケージを作成するツールも付属している。
【0054】
ステップ439において既に情報端末110に使用可能かつ有効なソフトウエアの存在が確認された場合や、ステップ441において必要なソフトウエアの導入が正常に終了した場合には、その情報を履歴情報210に記録する(ステップ443)。前提となるソフトウエアを含む全てのソフトウエアの導入が確認された場合には処理を図6のフローに戻す(ステップ447)。更にソフトウエアの導入が必要な場合には、ステップ435に処理を戻す。
【0055】
図6のステップ409の処理が終了すると、次に対象アプリケーションが起動される(ステップ413)。具体的には、アプリケーション起動情報250(図5)にアクセスし、対象のアプリケーションに対応する起動コマンド257を実行する。そして、対応する起動確認手段259を実行することにより、対象アプリケーションの起動を確認する。そして、起動が正常に終了したと判断された場合は、本発明の処理を終了し、正常に終了しなかったと判断された場合は、リトライを行なう(ステップ419)。リトライが失敗した場合にはエラー表示を行い、処理を終了する(ステップ421、417)。
【0056】
【発明の効果】
以上説明したように、本発明によれば、簡単な操作を行なうだけで、自動的にアプリケーションの実装環境の準備を行い、そのアプリケーションを実行することができる。
【0057】
本発明の一態様においては、コンピュータ関する詳しい知識を有していなくても、簡単な操作を行なうだけで、ネットワークに存在する所定のアプリケーションを所定の場所に導入し、そのアプリケーションを実行し、利用することができる。
【0058】
本発明の一態様においては、署名付きアプレットを、アプリケーションの起動時にだけ使用し、アプリケーションのサーバからの取得及び導入を行った後、ローカルで実行できるアプリケーションを起動する事で、容易かつ高速に起動する事が出来る。
【0059】
【図面の簡単な説明】
【図1】本発明の情報端末またはサーバのハードウェア構成の一実施例を示すブロック図である。
【図2】本発明の好適な実施例におけるコンピュータシステムの処理要素を示す機能ブロック図である。
【図3】本発明の好適な実施例における履歴情報のデータ構造を示す概念図である。
【図4】本発明の好適な実施例におけるローカル環境確認情報のデータ構造を示す概念図である。
【図5】本発明の好適な実施例におけるアプリケーション起動情報のデータ構造を示す概念図である。
【図6】好適な実施例における本発明の処理手順を示すフローチャートである。
【図7】本発明の好適な実施例におけるローカル環境確認手段の主な動作手順を示すフローチャートである。
【図8】本発明の好適な実施例における必要コード導入手段の主な動作手順を示すフローチャートである。
【図9】ブートストラップ・アプレットがロードされた状態の本発明の好適な実施例におけるウエブ・ブラウザ画面を示す概念図である。
【符号の説明】
100 コンピュータシステム
110 情報端末
111 オペレーティングシステム
120 クライアント
121 ウエブブラウザ
123 ブートストラップ・アプレット
125 ローカル環境確認手段
127 必要コード導入手段
129 アプリケーション起動手段
131 Java仮想マシン
133 履歴情報
135 起動対象アプリケーション
137 起動対象アプリケーション前提ソフトウエア
140 ネットワーク
150 サーバ・マシン
151 HTTPデーモン
153 ブートストラップ・アプレット
155 起動対象アプリケーション
157 起動対象アプリケーション前提ソフトウエア
[0001]
[Industrial applications]
The present invention relates to a method of starting an application, and more particularly, to a method of starting an application loaded from a server on a client machine.
[0002]
[Prior art]
Conventionally, a link to an executable file (exe file) of an installer is directly placed on a web page, and a user directly executes the application to locally introduce an application. However, in this method, when the package to be installed differs depending on the platform and conditions, the user has to determine which installation package to execute and check the prerequisite software by himself, which makes the initial startup complicated. Met.
[0003]
On the other hand, applets are easy to distribute, but have the limitation that they run in a browser. Some applets, which are commonly referred to as "signed applets", are authenticated by a third-party certificate authority.However, even if you remove security restrictions on signed applets, you will not be able to follow window size changes or exit. There are restrictions such as that control is not possible. Further, when a plurality of applets with a signature are used, there is a problem that management of the digital signature becomes difficult.
[0004]
As a known technique, there is Japanese Patent Application Laid-Open No. 9-167085. In Japanese Patent Application Laid-Open No. 9-167085, when a user automatically obtains a necessary program group from a network, the user receives a script describing an obtaining procedure from a server computer, and obtains the program group according to the procedure. Also, in the case of a program already existing in the client computer, acquisition from the server computer is not performed.
[0005]
[Problems to be solved by the invention]
An object of the present invention is to provide a computer system capable of automatically preparing an execution environment of an application by simply performing a simple operation and executing the application.
[0006]
Another object of the present invention is to provide a computer system that can execute a predetermined application without having detailed knowledge of a computer.
[0007]
Another object of the present invention resides on a server by using an applet only at the time of starting an application, starting an application that can be executed locally after acquiring and introducing the application from the server, and executing the application. Applications can be started easily and quickly.
[0008]
[Means for Solving the Problems]
An applet that can be easily distributed on the Internet is used as a bootstrap, and an application that runs directly on the OS on which the browser is running is started. In one aspect of the invention, the applet does not simply download the application code, but also determines whether it is cached in the local file system, checks for other prerequisite software, Check the version. If the application is cached in the local file system, the application is not downloaded. If there is no other prerequisite software, the software is downloaded and the application is started.
[0009]
In one embodiment of the present invention,
A method of starting an application loaded from a server on a client machine,
(A) loading an execution environment check applet for checking an execution environment from a server in response to an application start request on the client machine side;
(B) loading a code required by an application started on the client machine and a start command of the application from a server based on a result of executing the execution environment confirmation applet;
(C) launching the application by executing the launch command on the client machine;
A method for starting an application including:
[0010]
It should be noted that, in the claims of the present specification, “server for loading an application”, “server for loading an execution environment confirmation applet”, and “server for loading a code required by an application and a start command of the application” , A common server, or different servers. The “code required by the application” is a concept that includes not only the code of the application itself but also the ancillary code required when executing the application.
[0011]
In another aspect of the present invention,
A method of starting an application loaded from a server on a client machine,
(A) loading a code required by an application started on the client machine and a start command of the application from a server in response to an application start request on the client machine side;
(B) launching the application by executing the launch command on the client machine;
A method for starting an application including:
[0012]
In another aspect of the present invention,
Determining whether or not the required code is present on the client machine, wherein the code required by the application and a start command of the application are configured so that the required code is transmitted to the client machine. A method for starting an application is provided, wherein the required code is loaded from a server when the code does not exist.
[0013]
In another aspect of the present invention,
A software product for starting an application loaded from a server on a client machine,
(A) execution environment confirmation software for confirming an execution environment from a server in response to an application start request on the client machine side;
(B) required code acquisition software for acquiring a code required by an application started on the client machine;
(C) application start software for starting the application by executing the start command of the application on the client machine;
Are provided.
[0014]
In another aspect of the present invention,
A software product for starting an application loaded from a server on a client machine,
(A) in response to an application start request on the client machine, a code required by an application started on the client machine and necessary code acquisition software for loading a start command of the application from a server;
(B) application starting software for starting the application by executing the starting command on the client machine;
Are provided.
[0015]
In another aspect of the present invention,
A software product is provided, wherein the required code acquisition software has a function of determining whether the required code exists in the client machine.
[0016]
【Example】
A. Hardware configuration
FIG. 1 is a schematic diagram of a hardware configuration for implementing an information terminal 110 or a server 150 constituting a computer system 100 of the present invention. The information terminal 110 or the server 150 includes a central processing unit (CPU) 1 and a memory 4. The CPU 1 and the memory 4 are connected to the hard disk devices 13 and 31 as auxiliary storage devices via the bus 2 and the like. A floppy disk device (or a medium drive device 26, 28, 29, 30 such as MO 28, CD-ROM 26, 29) 20 is connected to a bus 2 via a floppy disk controller (or various controllers such as an IDE controller 25 and a SCSI controller 27). Connected to
[0017]
A floppy disk (or a medium such as an MO or a CD-ROM) is inserted into the floppy disk device (or a medium drive device 26, 28, 29, or 30 such as an MO or a CD-ROM) 20. The storage medium such as the device 13 and the ROM 14 can cooperate with the operating system to give instructions to the CPU and the like, and record computer program codes for carrying out the present invention. It is performed by doing The code of the computer program may be compressed or divided into a plurality of parts and recorded over a plurality of media.
[0018]
The information terminal 110 or the server 150 may further be a system including user interface hardware, such as a pointing device (mouse) for inputting screen position information. , A joystick, a trackball, etc.) 7, a keyboard 6 supporting key input, and displays 11, 12 for presenting image data to the user. The speaker 23 receives an audio signal from the audio controller 21 via the amplifier 22 and outputs the audio signal as audio.
[0019]
The information terminal 110 or the server 150100 can communicate with another computer, a communication satellite, or the like via the serial port 15 and a modem or a communication adapter 18 such as a token ring.
[0020]
The present invention is directed to a computer incorporated in various home appliances such as a normal personal computer (PC) or a workstation, a television or a facsimile, a computer (a car navigation system or the like) mounted on a vehicle or an aircraft, or a combination thereof. It is feasible. However, these components are merely examples, and not all of them are essential components of the present invention. In particular, since the present invention relates to a method of starting an application, components such as the speaker 23, the audio controller 21, and the amplifier 22 are not essential in one embodiment of the present invention.
[0021]
Operating systems of the information terminal 110 include Windows NT (a trademark of Microsoft), Windows 9x (a trademark of Microsoft), Windows 3. x (Microsoft trademark), OS / 2 (IBM trademark), MacOS (Apple trademark), Linux (Linus Torvlds trademark), X-WINDOW system (MIT trademark) on AIX (IBM trademark), etc. , A standard that supports a GUI multi-window environment, a character-based environment such as PC-DOS (trademark of IBM), MS-DOS (trademark of Microsoft), and OS / Open (trademark of IBM) , VxWorks (trademark of Wind River Systems, Inc.), or an OS embedded in a network computer such as Java OS, and the present invention is not limited to a specific operating system environment.
[0022]
The operating system of the server 150 includes WindowsNT (a trademark of Microsoft), Windows9x (a trademark of Microsoft), Windows3. x (Microsoft trademark), OS / 2 (IBM trademark), MacOS (Apple trademark), Linux (Linus Torvlds trademark), X-WINDOW system (MIT trademark) on AIX (IBM trademark), etc. Although it is preferable to support a GUI multi-window environment as a standard, a character-based environment such as PC-DOS (trademark of IBM) and MS-DOS (trademark of Microsoft) or a network computer such as JavaOS is used. OS can be realized, and the present invention is not limited to a specific operating system environment.
[0023]
B. System configuration
FIG. 2 is a functional block diagram showing processing elements of the computer system according to the preferred embodiment of the present invention. The computer system 100 according to the preferred embodiment of the present invention includes an information terminal 110 and a server 150.
[0024]
The information terminal 110 has an operating system 111 and a client environment 120 operating on the operating system 111. A web browser 121 is installed in the client environment 120. At the time of execution, the web browser 121 acquires the bootstrap applet 123 from the server 150 via the network 140, and can operate on the Java virtual machine 131.
[0025]
Further, the information terminal 110 has history information 133, a start target application 135, and start target application prerequisite software 137. The activation target application 135 and the activation target application prerequisite software 137 are downloaded from the server 150 by a function of the present invention described later.
[0026]
In the preferred embodiment of the present invention, the bootstrap applet 123 downloaded from the server 150 includes a local environment confirming unit 125, a necessary code introducing unit 127, and an application starting unit 129.
[0027]
The local environment confirmation means 125 holds the local environment confirmation information shown in FIG. 4, refers to the history information, determines a code that needs to be introduced, and if there is a code that needs to be introduced, the necessary code introduction means 127 Instruct the code to be introduced. If there is no code that needs to be introduced, the application activation unit 129 is instructed to activate the application.
[0028]
FIG. 3 is a conceptual diagram showing a data structure of history information in a preferred embodiment of the present invention. The history information 210 in the preferred embodiment of the present invention includes information on installed software name 211, software ID 213, installation execution date and time 215, installation destination path name 217, version information 219, and prerequisite software ID 221. . The information of the software ID 213, the installation execution date / time 215, the installation destination path name 217, the version information 219, and the prerequisite software ID 221 are registered corresponding to the installed software name 211, and a plurality of installed software names 221 are registered. can do.
[0029]
The installed software name 211 is an application such as “Excel” and “Word” (“Excel” and “Word” are trademarks of Microsoft Corporation) and other software names such as a dynamic link library. The software ID 213 is an identifier assigned uniquely to the software in the computer system 100, and the installation execution date and time 215 is information on the date and time when the software was installed. The installation destination path name 217 is path information for accessing the software, such as “c: \ windows”. The version information 219 is version information of the software. The prerequisite software ID 221 is information for specifying software necessary for operating the software.
[0030]
FIG. 4 is a conceptual diagram showing a data structure of local environment confirmation information in a preferred embodiment of the present invention. The local environment confirmation information 230 according to the preferred embodiment of the present invention includes the installation target environment information 231, the start application name 233, the application ID 235, the installation destination path name 237, the version information 239, the prerequisite software ID 241 and the information of the application confirmation means. Contains. The software ID 235, the installation destination path name 237, the version information 239, the prerequisite software ID 241, and the information of the application confirmation means 243 are registered corresponding to the installed software name 233, and the installed software name 233 A plurality can be registered for the environment information 231. Also, a plurality of installation target environment information 231 can be registered.
[0031]
The installation target environment information 231 is used to specify an environment in which an application operates, such as “windows98” and “MacOS” (“windows98” is a trademark of Microsoft Corporation, “MacOS” is a trademark of Apple Inc.). Information. The installed application name 233 is the name of an application such as “Excel” and “Word” (“Excel” and “Word” are trademarks of Microsoft Corporation), and the application ID 235 is unique to the software in the computer system 100. The installation destination path name 237 is path information for accessing the application, such as “c: \ windows”. The version information 239 is version information of the application. The prerequisite software ID 241 is information for specifying software required for the application to operate. The application confirmation unit 243 is information such as a command for confirming that the application exists.
[0032]
For example, in the history information 133,
Installed software name JRE 1.2.2
ID 100
Installation execution date and time 2000/01/01
Installation path c: \ Program Files \ JavaSoft \ jre \ 1.2.2
Version 1.2.2
Prerequisite software ID None
Is registered.
[0033]
To confirm the existence of JRE 1.2.2, for example, the following confirmation command (script, pseudo code) is executed.
"Execute" java-version "; (execute java-version).".
If it has been introduced, a response to this is a character string "java version" 1.2.2 "". Also, issue the following command to check the version.
"Parseversion" java version \ "{0}""; (confirm the response character string)".
If the parsing fails, a check failure result is returned. And
“If (version> =“ 1.2.2 ”) return ok; (OK if Version indicates 1.2.2 or more)” or “else return bad;” indicates whether the desired version exists. Can be confirmed.
[0034]
Also, in the history information 133,
Installed software name BAP 1.0
ID 200
Installation execution date and time 2000/01/01
Installation path c: $ BAP
Version 1.0
Required software ID 100
Is registered.
[0035]
In order to confirm the existence of the BAP 1.0, for example, the confirmation can be performed by the following confirmation command.
"Cd @ (PATH200); (moved to the directory of ID200 of the introduction path of the history information)",
"Execute" java-classpath bap. jar com. ibm. apst. bap. Version "(If installed, the response will return the string BAP 1.0)").
Also, to check the version, as in the previous example,
"ParseVersion" BAP {0} ";"
“If (version> =“ 1.0 ”) return ok;”,
“Else return bad;” is issued.
[0036]
The necessary code introduction unit 127 acquires a set of software name, software ID, installation destination path information, and version information to be acquired from the local environment confirmation unit 125, and acquires the software from the server 150. Send a request for. Further, the acquired software is registered based on the installation destination path information, and the registration is confirmed. The application activation unit 129 performs activation of the application and confirmation of activation. Note that the bootstrap applet and the software to be installed in the preferred embodiment of the present invention include a signature by a certification authority, and the user performs a security check of the software including the signature of the certification authority on a browser or the like. By setting to cancel, the introduction work is executed without performing a complicated confirmation operation while maintaining security.
[0037]
FIG. 5 is a conceptual diagram showing the data structure of the application start information according to the preferred embodiment of the present invention. The application startup information 250 in the preferred embodiment of the present invention includes information on the installation target environment information 251, the installed application name 253, the application ID 255, the startup command 257, and the startup confirmation unit 259. The information of the application ID 255, the start command 257, and the information of the start confirmation unit 259 are registered corresponding to the installed software name 253, and a plurality of installed software names 253 can be registered in the installation target environment information 251. Also, a plurality of installation target environment information 251 can be registered.
[0038]
The installation target environment information 231 is information for specifying an environment in which the application operates, such as “windows98” or “MacOS”, as in the case of the local environment confirmation information. The installed application name 253 is also the name of an application such as “Excel” and “Word” (“Excel” and “Word” are trademarks of Microsoft Corporation), and the application ID 235 is unique to the software in the computer system 100. Is an identifier assigned to The start command 257 is information of a command for starting the application. The activation confirmation unit 259 is information such as a command for confirming whether or not the application has been activated normally.
[0039]
When activating BAP 1.0 shown in the above-described example, the following activation command (script, pseudo code, etc.) can be executed.
"Cd @ (PATH200); (moved to the directory of ID200 of the path where history information is introduced)
"Execute" java-classpath bap. jar com. ibm. apst. bap. BAP data @ Start. xml ""
[0040]
Also, in order to confirm the activation of the BAP 1.0, the following activation confirmation command (script, pseudo code, or the like) can be executed after the execution of the activation command.
"FindString" BAP Started "till 30 sec; (Check the BAP Started character string on the standard output within 30 seconds. If it cannot be confirmed, return failure.)
"Process running; (The started process is not terminated. If it is terminated, a failure is returned.)
"Return ok;".
[0041]
C. Processing procedure
The processing procedure of the present invention will be described with reference to the flowchart shown in FIG.
[0042]
First, in the client environment 120, the user starts the web browser 121 and inputs the URL of the server 150 (step 403), so that the bootstrap applet 123 is loaded (step 405).
[0043]
FIG. 9 is a conceptual diagram showing a web browser screen according to the preferred embodiment of the present invention with the bootstrap applet 123 loaded. As shown, an application start button 701 is arranged on the web browser screen 700 in the preferred embodiment of the present invention with the bootstrap applet 123 loaded.
[0044]
In the preferred embodiment of the present invention, the codes of the local environment confirmation means 125, the necessary code introduction means 127, and the application activation means 129 are loaded at the same time when the application activation button 701 is pressed for the sake of simplicity. However, the loading of each code may not be performed simultaneously with the click of the button 701. For example, information for accessing each code is embedded in the bootstrap applet 123 loaded at the same time that the button 701 is pressed, and each code is executed at the time of execution of each code or before each code or at a predetermined time. May be obtained from the server 150 or another server.
[0045]
When the user presses the application start button 701 to request the start of the application (step 407), the local environment confirmation means 125 starts (step 409). FIG. 7 is a flowchart showing a main operation procedure of the local environment confirmation unit. Note that, in one embodiment of the present invention, it is possible for the user to set the installation destination of the application or the like before the user requests the application to be activated.
[0046]
First, the local environment confirmation means 125 confirms the type of the operating system 111 of the information terminal 110, determines a start application corresponding to the operating system registered in the local environment confirmation information 230 (FIG. 4), and 233 to 243 are acquired (step 443). The operating system 111 of the information terminal 110 can be identified by referring to a system property of Java or an agent name of an HTTP request.
[0047]
Next, the local environment confirmation unit 125 accesses the history information 210 (FIG. 3), and determines whether or not all of the activation target application 233 and the prerequisite software 241 are already installed based on the application name, ID, version, and the like. (Step 435). If it is determined that all of them have been introduced in the past (step 436), the process returns to the flow of FIG. 6 (step 447). If it is determined that there is software that has not been installed in the past (including version mismatch, etc.), the software confirmation unit 243 is acquired from the local environment confirmation information 230 (FIG. 4) and executed (step 437).
[0048]
Specifically, by issuing the above-mentioned confirmation command and examining the existence and version of the software in the returned message, searching for a predetermined dynamic link library, and referring to the contents thereof, Software and its version information can be obtained. As a result, software that is not registered in the history information 210 but already exists in the information terminal 110 can be effectively used.
[0049]
In the information terminal 110, if the existence of usable and valid software is not confirmed and it is determined that the necessary code needs to be introduced, the necessary code introducing means 127 is executed to execute the server 150 or other The necessary code is obtained from the server (step 441).
[0050]
FIG. 8 is a flowchart showing a main operation procedure of the necessary code introducing means. When the necessary code introduction unit is activated, the required software installation package is acquired from the server 150 or another server. If the acquisition from the server is not completed normally, a predetermined number of retries are performed. If the acquisition is not completed normally, an error message is displayed and the processing is terminated (steps 455, 457, 463, 465). When the process of obtaining the installation package is completed normally, the installer is started and the software is installed (step 459). If the software installation has not been completed normally, an error message is displayed and the process is terminated (steps 461, 463, 465). If the software installation has been completed normally, the process returns to FIG. 7 (step 467).
[0051]
As a specific example, for example, if a package with BAP 1.0 (ID 200) does not exist, the bootstrap applet inquires of the server for the URL, and ftp: // bootapplet. host / applications / BAP10. exe. The bootstrap applet is then placed in the appropriate local directory, c: \ BAPPLET \ DOWNLOAD, BAP10. Download exe.
[0052]
In this example, the BAP10. exe is a self-extracting compressed file, BAP10.exe. By executing exe, an installation package including the installer appears. As the introduction package, for example, a package created by Install Shield (“Install Shield” is a trademark of Install Shield Software Corporation) or the like can be used.
[0053]
Then start the unzipped installer. For example, when using the above-mentioned “Install Shield”, setup. exe in silent mode with a response file. (Setup-s-f1Response.iss). After that, delete the unzipped unnecessary files. Installation Shield includes the steps of decompression, execution of the installer, and erasing of the file. It also comes with a tool to create an installation package that you can do just by running exe.
[0054]
If it is confirmed in step 439 that there is valid and usable software in the information terminal 110, or if the necessary software has been normally installed in step 441, the information is recorded in the history information 210. (Step 443). If it is confirmed that all the software including the prerequisite software has been installed, the process returns to the flow of FIG. 6 (step 447). If further software is required, the process returns to step 435.
[0055]
When the process of step 409 in FIG. 6 ends, the target application is started next (step 413). Specifically, it accesses the application start information 250 (FIG. 5) and executes the start command 257 corresponding to the target application. Then, by executing the corresponding activation confirmation means 259, the activation of the target application is confirmed. If it is determined that the activation has been completed normally, the processing of the present invention is terminated. If it is determined that the activation has not been completed normally, a retry is performed (step 419). If the retry fails, an error message is displayed, and the process ends (steps 421 and 417).
[0056]
【The invention's effect】
As described above, according to the present invention, by simply performing a simple operation, an application mounting environment can be automatically prepared and the application can be executed.
[0057]
In one embodiment of the present invention, even if the user does not have detailed knowledge of a computer, a simple operation is performed to introduce a predetermined application existing in a network to a predetermined place, execute the application, and use the application. can do.
[0058]
In one embodiment of the present invention, a signed applet is used only at the time of starting an application, and after obtaining and installing the application from a server, the application that can be executed locally is started, thereby easily and quickly starting the application. You can do it.
[0059]
[Brief description of the drawings]
FIG. 1 is a block diagram showing one embodiment of a hardware configuration of an information terminal or a server of the present invention.
FIG. 2 is a functional block diagram showing processing elements of a computer system according to a preferred embodiment of the present invention.
FIG. 3 is a conceptual diagram showing a data structure of history information in a preferred embodiment of the present invention.
FIG. 4 is a conceptual diagram showing a data structure of local environment confirmation information in a preferred embodiment of the present invention.
FIG. 5 is a conceptual diagram showing a data structure of application activation information in a preferred embodiment of the present invention.
FIG. 6 is a flowchart showing a processing procedure of the present invention in a preferred embodiment.
FIG. 7 is a flowchart showing a main operation procedure of a local environment confirmation unit in a preferred embodiment of the present invention.
FIG. 8 is a flowchart showing a main operation procedure of the necessary code introducing means in the preferred embodiment of the present invention.
FIG. 9 is a conceptual diagram showing a web browser screen in a preferred embodiment of the present invention with a bootstrap applet loaded.
[Explanation of symbols]
100 computer system
110 Information Terminal
111 Operating System
120 clients
121 Web Browser
123 Bootstrap Applet
125 Local environment confirmation means
127 Necessary code introduction means
129 Application start means
131 Java Virtual Machine
133 History information
135 Startup target application
137 Software for starting application
140 network
150 server machine
151 HTTP Daemon
153 Bootstrap Applet
155 Start target application
157 Software required for the application to be started

Claims (2)

サーバからロードしたアプリケーションをクライアント・マシン上で起動する方法であって、
(a)前記クライアント・マシン側でのアプリケーション起動要求に応答して、サーバより実行環境を確認する実行環境確認アプレットをロードする段階と、
(b)前記実行環境確認アプレットを実行した結果に基づいて、前記クライアント・マシン上で起動するアプリケーションが必要とするコードと前記アプリケーションの起動コマンドをサーバからロードする段階と、
(c)前記起動コマンドを前記クライアント・マシンにおいて実行することにより、前記アプリケーションを起動する段階と、
を含むアプリケーションの起動方法。
A method of starting an application loaded from a server on a client machine,
(A) loading an execution environment check applet for checking an execution environment from a server in response to an application start request on the client machine side;
(B) loading a code required by an application started on the client machine and a start command of the application from a server based on a result of executing the execution environment confirmation applet;
(C) launching the application by executing the launch command on the client machine;
How to launch the application, including.
サーバからロードしたアプリケーションをクライアント・マシン上で起動するためのソフトウエア記録媒体であって、
(a)前記クライアント・マシン側でのアプリケーション起動要求に応答して、サーバより実行環境を確認するための実行環境確認アプレットと、
(b)前記クライアント・マシン上でアプリケーションが必要とするコードを取得する必要コード取得ソフトウエアと、
(c)前記アプリケーションの起動コマンドを前記クライアント・マシンにおいて実行することにより、前記アプリケーションを起動するアプリケーション起動ソフトウエアと、
を含むソフトウエア記録媒体。
A software recording medium for starting an application loaded from a server on a client machine,
(A) an execution environment confirmation applet for confirming an execution environment from a server in response to an application start request on the client machine side;
(B) required code acquisition software for acquiring a code required by an application on the client machine;
(C) application start software for starting the application by executing the start command of the application on the client machine;
A software recording medium including:
JP2000001043A 2000-01-06 2000-01-06 Application launch method, software product for application launch Expired - Fee Related JP3578266B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000001043A JP3578266B2 (en) 2000-01-06 2000-01-06 Application launch method, software product for application launch
US09/757,065 US20010056462A1 (en) 2000-01-06 2001-01-08 Method for starting application programs and software product for starting application programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000001043A JP3578266B2 (en) 2000-01-06 2000-01-06 Application launch method, software product for application launch

Publications (2)

Publication Number Publication Date
JP2001195238A JP2001195238A (en) 2001-07-19
JP3578266B2 true JP3578266B2 (en) 2004-10-20

Family

ID=18530305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000001043A Expired - Fee Related JP3578266B2 (en) 2000-01-06 2000-01-06 Application launch method, software product for application launch

Country Status (2)

Country Link
US (1) US20010056462A1 (en)
JP (1) JP3578266B2 (en)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139816B2 (en) * 2000-12-18 2006-11-21 International Business Machines Corporation Method, apparatus, and program for server based network computer load balancing across multiple boot servers
JP2002189600A (en) * 2000-12-21 2002-07-05 Intec Inc Method for executing application from web browser
JP4953531B2 (en) * 2001-08-30 2012-06-13 シャープ株式会社 Terminal device
US7363354B2 (en) * 2001-11-29 2008-04-22 Nokia Corporation System and method for identifying and accessing network services
US7209960B2 (en) * 2002-09-20 2007-04-24 Sun Microsystems, Inc. Loading and saving data from security sensitive applets to a local file system
AU2003289301A1 (en) * 2002-12-11 2004-06-30 Interlex Inc. Software execution control system and software execution control program
JP4593078B2 (en) * 2003-02-28 2010-12-08 株式会社日立製作所 Job execution method and program in different computer environments
JP3923921B2 (en) * 2003-03-31 2007-06-06 株式会社エヌ・ティ・ティ・ドコモ Information processing apparatus and program
JP4180953B2 (en) * 2003-03-31 2008-11-12 株式会社エヌ・ティ・ティ・ドコモ Communication apparatus and program
AU2003244111A1 (en) * 2003-06-20 2005-01-04 Fujitsu Limited Web information management device, web information management method, web information management program, and recording medium thereof
US8001542B2 (en) * 2003-12-12 2011-08-16 Xerox Corporation Self-installing software components for network service execution
US7546594B2 (en) * 2003-12-15 2009-06-09 Microsoft Corporation System and method for updating installation components using an installation component delta patch in a networked environment
JP2005309841A (en) * 2004-04-22 2005-11-04 Fujitsu Ltd Installation control program, installation method, and installation device
JP4446047B2 (en) * 2004-06-02 2010-04-07 ケイティー コーポレーション Application and management service provision, and user interface change system and method
US20060031449A1 (en) * 2004-07-01 2006-02-09 Mika Hallamaa Selection of management method
US7962788B2 (en) * 2004-07-28 2011-06-14 Oracle International Corporation Automated treatment of system and application validation failures
US7536599B2 (en) * 2004-07-28 2009-05-19 Oracle International Corporation Methods and systems for validating a system environment
US7937455B2 (en) * 2004-07-28 2011-05-03 Oracle International Corporation Methods and systems for modifying nodes in a cluster environment
FR2878109B1 (en) * 2004-11-17 2007-02-02 Gemplus Sa METHOD FOR EVALUATING ACCOUNTING BETWEEN APPLICATIONS AND PROCESSING DEVICES
JP4700700B2 (en) * 2005-02-25 2011-06-15 エヌエイチエヌ コーポレーション Active X control installation method
JP4876188B2 (en) * 2005-03-31 2012-02-15 株式会社リコー Image forming apparatus, information processing method, program, and recording medium
JP4704245B2 (en) 2005-03-31 2011-06-15 株式会社リコー Image forming apparatus, information processing method, program, and recording medium
KR101010489B1 (en) 2005-06-21 2011-01-21 미츠비시덴키 가부시키가이샤 Programming system for program executing system and program constructing system for examination device
EP1788392B1 (en) * 2005-11-17 2012-04-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Biosensor and its use
EP1974260B1 (en) * 2006-01-18 2009-06-17 Telefonaktiebolaget L M Ericsson (Publ) Dependency notification
JP4756666B2 (en) * 2006-06-19 2011-08-24 サン電子株式会社 Server apparatus and mail program transmission method
CA2659826C (en) 2006-09-07 2013-08-13 Nokia Corporation Managing information relating to secure module applications
US7698305B2 (en) * 2006-12-01 2010-04-13 Microsoft Corporation Program modification and loading times in computing devices
US20080167128A1 (en) 2007-01-05 2008-07-10 Microsoft Corporation Television Viewing on Gaming Consoles
US20080167127A1 (en) * 2007-01-05 2008-07-10 Microsoft Corporation Integration of Media on Gaming Consoles
JP2008171125A (en) * 2007-01-10 2008-07-24 Tkc Corp Device, program and method for process of confirming operating environment
PL3211553T3 (en) 2007-01-31 2019-07-31 Nokia Technologies Oy Managing applications related to secure modules
US20080317042A1 (en) * 2007-06-22 2008-12-25 Palo Alto Research Center Incorporated Extensible framework for compatibility testing
US9092380B1 (en) * 2007-10-11 2015-07-28 Norberto Menendez System and method of communications with supervised interaction
JP5183448B2 (en) * 2008-12-15 2013-04-17 三菱電機株式会社 Information processing apparatus, information processing method, and program
JP4838897B2 (en) * 2010-07-26 2011-12-14 キヤノン株式会社 Image forming apparatus, management method, management program
JP5875448B2 (en) * 2012-04-04 2016-03-02 キヤノン株式会社 Information processing apparatus, method and program
WO2014024959A1 (en) * 2012-08-09 2014-02-13 日本電信電話株式会社 Trace center device, and method for making content traceable
CN108347456B (en) * 2017-01-22 2021-09-10 腾讯科技(北京)有限公司 Application program downloading method and device
CN111475259B (en) * 2020-04-02 2023-06-09 北京百度网讯科技有限公司 Applet loading method and device and electronic equipment
CN112181793B (en) * 2020-09-28 2022-11-11 大唐高鸿信安(浙江)信息科技有限公司 Log recording method, device and equipment
CN114691229B (en) * 2020-12-14 2023-09-26 北京奇艺世纪科技有限公司 Application program self-starting method and device and electronic equipment
CN117425877A (en) * 2022-05-18 2024-01-19 北京小米移动软件有限公司 Access method and device for web application program
CN115185813A (en) * 2022-06-09 2022-10-14 深圳价值网络科技有限公司 State detection method and system during application starting

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04175952A (en) * 1990-11-09 1992-06-23 Hitachi Ltd Software resource distribution control system
JPH08263409A (en) * 1995-03-22 1996-10-11 Nippon Telegr & Teleph Corp <Ntt> Method and system for down loading communication software
JP3751664B2 (en) * 1995-10-05 2006-03-01 富士通株式会社 Software registration system and method
US6272556B1 (en) * 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for migrating a client-server application (#5)
JP3119166B2 (en) * 1996-07-02 2000-12-18 三菱電機株式会社 Software version control method for network system
US5923885A (en) * 1996-10-31 1999-07-13 Sun Microsystems, Inc. Acquisition and operation of remotely loaded software using applet modification of browser software
JPH10187456A (en) * 1996-12-27 1998-07-21 Hitachi Ltd Program download system
GB2321981B (en) * 1997-02-06 2002-01-09 Ibm Hosted machine code installation
JPH10301760A (en) * 1997-04-22 1998-11-13 Toshiba Corp Automatic software distribution management system and method
JPH10301787A (en) * 1997-04-28 1998-11-13 Hitachi Ltd Information processor
US6664978B1 (en) * 1997-11-17 2003-12-16 Fujitsu Limited Client-server computer network management architecture
US6549908B1 (en) * 1998-11-18 2003-04-15 Siebel Systems, Inc. Methods and apparatus for interpreting user selections in the context of a relation distributed as a set of orthogonalized sub-relations
JP2000305757A (en) * 1999-04-23 2000-11-02 Mitsubishi Electric Corp Automatic install system for client software and program therefor
US6581054B1 (en) * 1999-07-30 2003-06-17 Computer Associates Think, Inc. Dynamic query model and method

Also Published As

Publication number Publication date
US20010056462A1 (en) 2001-12-27
JP2001195238A (en) 2001-07-19

Similar Documents

Publication Publication Date Title
JP3578266B2 (en) Application launch method, software product for application launch
US7444621B2 (en) Method and system for providing a common operating system
US8006241B2 (en) Automatic software installation and cleanup
US6718549B1 (en) Methods for managing the distribution of client bits to client computers
KR100855853B1 (en) Image-based software installation
US7304758B2 (en) Dynamically updating a printer driver
JP4902636B2 (en) Method and system for preventing software piracy in a corporate environment using machine attributes
EP1133738B1 (en) Method and apparatus for new device driver installation by an operating system
US7752140B1 (en) Software license distribution and bypassing
US20030023770A1 (en) Automated software driver installation
US7873960B2 (en) Generic packaging tool for packaging application and component therefor to be installed on computing device
US20070245338A1 (en) Virtual machine management program and virtual machine management method
US7512833B1 (en) Universal imaging utility program
JP2010134941A (en) Method and system for creating operating system image on target medium, and recovery medium
KR20040002739A (en) System and method for installing a software application in a non-impactfull manner
WO2007139539A1 (en) Software update syndication
JP2001051833A (en) Method and device for generating and distributing smaller application of microsoft windows (registered) for automatic constitution of computer device
JP2003521036A (en) Browser independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
US20030093508A1 (en) System for installing and launching network applications
JP2005338940A (en) Installation method, information processor and device driver
US20060236108A1 (en) Instant process termination tool to recover control of an information handling system
JP2005327090A (en) Electronic instrument and information processor
Cisco Installing the CTM R3.1 Client
JP2009015451A (en) Setting information repair system, setting information repair method, repair code generation device, information processor, repair code generation method, repair code generation program, and information processing program
WO2004114142A1 (en) Web information management device, web information management method, web information management program, and recording medium thereof

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040309

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: 20040629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040707

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20070723

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080723

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080723

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090723

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100723

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees