JP2021196824A - アプリケーション起動プログラム,情報処理装置及びアプリケーション起動方法 - Google Patents

アプリケーション起動プログラム,情報処理装置及びアプリケーション起動方法 Download PDF

Info

Publication number
JP2021196824A
JP2021196824A JP2020102427A JP2020102427A JP2021196824A JP 2021196824 A JP2021196824 A JP 2021196824A JP 2020102427 A JP2020102427 A JP 2020102427A JP 2020102427 A JP2020102427 A JP 2020102427A JP 2021196824 A JP2021196824 A JP 2021196824A
Authority
JP
Japan
Prior art keywords
application
stored
storage unit
annotation
analysis result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2020102427A
Other languages
English (en)
Inventor
大輝 澤村
Daiki Sawamura
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020102427A priority Critical patent/JP2021196824A/ja
Priority to US17/307,659 priority patent/US11556457B2/en
Publication of JP2021196824A publication Critical patent/JP2021196824A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation

Abstract

【課題】情報処理装置の起動からアプリケーションにアクセス可能になるまでの時間を短縮できるアプリケーション起動プログラム,情報処理装置及びアプリケーション起動方法を提供する。【解決手段】アプリケーションサーバにおける起動処理フローであって、アプリケーションの読込処理に応じて、アプリケーションのソースコードに含まれるアノテーションの解析結果が不揮発性の記憶部に記憶されているかを判定し、解析結果が記憶部に記憶されていると判定された場合に、アノテーションの解析処理を実行することなく、記憶部に記憶されている解析結果に基づいて、アプリケーション2を起動する。【選択図】図7

Description

本発明は、アプリケーション起動プログラム,情報処理装置及びアプリケーション起動方法に関する。
アプリケーションサーバが起動し、配備されたアプリケーションがメモリ上に展開される際に、プログラム中に記述量の削減を目的とした記述子(別言すれば、「アノテーション」)が含まれているかを確認する解析処理がある。
図1は、プログラム中におけるアノテーションを例示する図である。
符号A1に示すように、プログラム(図1に示す例ではJava.class)の中にアノテーションが挿入されるとプログラム中の記述量が削減される。
解析処理は、アプリケーションが配備された際、又はアプリケーションが配備済みのアプリケーションサーバが起動された際に、アプリケーションサーバによってその都度実行される。また、解析処理の時間は、アプリケーションのプログラム量に比例して長くなる。
特開2010−186423号公報 特開2004−272912号公報
例えば、クラウド上で提供されるサービスにおいて、アプリケーションサーバを含むコンテナをスケールアウトした際に、金融システム等の大型のアプリケーションの場合には、解析処理によって、実際に負荷分散が開始されるまでに長い時間がかかってしまうおそれがある。また、タイムアウトによりアプリケーションサーバが起動されず、スケールアウトに失敗するおそれもある。
1つの側面では、情報処理装置の起動からアプリケーションにアクセス可能になるまでの時間を短縮させることを目的とする。
1つの側面では、アプリケーション起動プログラムは、アプリケーションの読込処理に応じて、前記アプリケーションのソースコードに含まれるアノテーションの解析結果が不揮発性の記憶部に記憶されているかを判定し、前記解析結果が前記記憶部に記憶されていると判定された場合に、前記アノテーションの解析処理を実行することなく、前記記憶部に記憶されている前記解析結果に基づいて、前記アプリケーションを起動する。
1つの側面では、情報処理装置の起動からアプリケーションにアクセス可能になるまでの時間を短縮できる。
プログラム中におけるアノテーションを例示する図である。 関連例におけるアプリケーションにおけるプログラムを例示する図である。 関連例と実施形態の一例とにおける起動時間を比較する図である。 実施形態の一例におけるApplication Saver(APS)のハードウェア構成例を模式的に示すブロック図である。 図4に示したAPSにおけるアプリケーションを例示する図である。 図4に示したAPSのソフトウェア構成例を模式的に示すブロック図である。 図4に示したAPSにおける起動処理を説明するフローチャートである。
〔A〕関連例
図2は、関連例におけるアプリケーションにおけるプログラムを例示する図である。
従来、図2の符号B1に示すように、エンタープライズJava(登録商標)アプリケーション(別言すれば、「JavaEEアプリ7」)は、Java.classファイル71とDD.xmlファイル72とのセットであった。Java.classファイル71はコンパイルされたJavaのバイナリファイルであり、DD.xmlファイル72はAPS6の拡張機能を使用するための設定ファイルである。
しかしながら、近年では、図2の符号B2に示すように、Java.classファイル71aのコード内にDD.xmlファイル72の記述ができるアノテーション(図示する例では” @WebServlet(“/java”)”)が挿入されるようになっている。
ユーザがアノテーション付きでコンパイルしたJavaEEアプリ7aをAPS6に配備すると、APS6は、Java.classファイル71aを解析する。そして、APS6は、アノテーションが検出された場合に、DD.xmlファイル72に相当する情報を組み立ててから、JavaEEアプリ7aをメモリ上に展開する。なお、配備されるJavaEEアプリ7aはコンパイル済みのバイナリファイルであるため、Java.classファイル71aは単純なテキスト解析ではない。
図1に示したように、アノテーションは、DD.xmlの記述の省略だけではなく、元々ユーザがJavaコードに書いていた処理の省略にも活用され、JavaEEアプリ7aの開発が容易になる。
一方、APS6側の解析の負担が増え、JavaEEアプリ7aの規模によっては実際にアプリケーションへアクセス可能になるまでに長い時間がかかるおそれがある。
アノテーションの解析処理は、JavaEEアプリ7aをメモリに展開する度に(別言すれば、APS6にJavaEEアプリ7aが配備される度に)、また、APS6が再起動される度に実行される。
ここで、JavaEEアプリ7aの再配備やAPS6の再起動が定期的なメンテナンスやアクシデント発生時に限られているのであれば、アノテーションの解析処理の頻度も低くなる。
しかしながら、クラウドの登場及び普及により、クラウド上のリソースの効率的な運用のため、動的なスケールイン/スケールアウトが行なわれる場合がある。
図3は、関連例と実施形態の一例とにおける起動時間を比較する図である。
図3の符号C1に示すようなOperating System(OS),Java Virtual Machine(JVM),APS及びアプリの処理時間を、符号C2に示すようなコンテナ,Native Java,APS(Micro Profile)及びアプリの処理時間に短縮させる技術が開発されている。
しかしながら、特にミッションクリティカルの領域で運用されるような規模の大きいアプリケーションの場合には、アノテーションの解析処理がボトルネックとなるおそれがある。
そこで、実施形態の一例では、符号C3に示すように、アプリにおける解析処理を改善することで、APS1(図4を用いて後述)の起動から実際にアプリケーションへアクセス可能になるまでの時間を短縮する。
〔A〕実施形態
以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
図4は、実施形態の一例におけるAPS1のハードウェア構成例を模式的に示すブロック図である。
図4に示すように、APS1は、情報処理装置の一例であり、Central Processing Unit(CPU)11,メモリ部12,表示制御部13,記憶装置14,入力Interface(IF)15,外部記録媒体処理部16及び通信IF17を備える。
メモリ部12は、記憶部の一例であり、例示的に、Read Only Memory(ROM)及びRandom Access Memory(RAM)などである。なお、メモリ部12は、Dynamic Random Access Memory(DRAM)であってもよい。メモリ部12のROMには、Basic Input/Output System(BIOS)等のプログラムが書き込まれてよい。メモリ部12のソフトウェアプログラムは、CPU11に適宜に読み込まれて実行されてよい。また、メモリ部12のRAMは、一時記録メモリあるいはワーキングメモリとして利用されてよい。
表示制御部13は、表示装置130と接続され、表示装置130を制御する。表示装置130は、液晶ディスプレイやOrganic Light-Emitting Diode(OLED)ディスプレイ,Cathode Ray Tube(CRT),電子ペーパーディスプレイ等であり、オペレータ等に対する各種情報を表示する。表示装置130は、入力装置と組み合わされたものでもよく、例えば、タッチパネルでもよい。
記憶装置14は、高IO性能で不揮発性の記憶装置であり、例えば、Solid State Drive(SSDやStorage Class Memory(SCM),Hard Disk Drive(HDD)が用いられてよい。
入力IF15は、マウス151やキーボード152等の入力装置と接続され、マウス151やキーボード152等の入力装置を制御してよい。マウス151やキーボード152は、入力装置の一例であり、これらの入力装置を介して、オペレータが各種の入力操作を行なう。
外部記録媒体処理部16は、記録媒体160が装着可能に構成される。外部記録媒体処理部16は、記録媒体160が装着された状態において、記録媒体160に記録されている情報を読み取り可能に構成される。本例では、記録媒体160は、可搬性を有する。例えば、記録媒体160は、フレキシブルディスク、光ディスク、磁気ディスク、光磁気ディスク、又は、半導体メモリ等である。
通信IF17は、外部装置との通信を可能にするためのインタフェースである。
CPU11は、種々の制御や演算を行なう処理装置であり、メモリ部12に格納されたOSやプログラムを実行することにより、種々の機能を実現する。
APS1全体の動作を制御するための装置は、CPU11に限定されず、例えば、MPUやDSP,ASIC,PLD,FPGAのいずれか1つであってもよい。また、APS1全体の動作を制御するための装置は、CPU,MPU,DSP,ASIC,PLD及びFPGAのうちの2種類以上の組み合わせであってもよい。なお、MPUはMicro Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、ASICはApplication Specific Integrated Circuitの略称である。また、PLDはProgrammable Logic Deviceの略称であり、FPGAはField Programmable Gate Arrayの略称である。
図5は、図4に示したAPS1におけるアプリケーションを例示する図である。
APS1に実行されるエンタープライズJavaアプリケーション(別言すれば、「JavaEEアプリ2」)は、例えば記憶装置14に記憶され、Java.classファイル21とアノテーションの情報ファイル22とを含む。
Java.classファイル21は、コンパイルされたJavaのバイナリファイルである。
アノテーションの情報ファイル22は、図6を用いて後述するように、アノテーションの更新有無を示す属性値を含む。
図6は、図4に示したAPS1のソフトウェア構成例を模式的に示す図である。
CPU11は、判定部111及び起動処理部112として機能する。
判定部111は、APS1がJavaEEアプリ2をメモリ部12上に展開する際(別言すれば、JavaEEアプリ2の配備をした際又は配備済みのAPS1を起動した際)に、JavaEEアプリ2にアノテーションの情報ファイル22が含まれているかを確認する。
別言すれば、判定部111は、JavaEEアプリ2の読込処理に応じて、JavaEEアプリ2のJava.classファイル21に含まれるアノテーションの解析結果が不揮発性の記憶装置14に記憶されているかを判定する。
起動処理部112は、JavaEEアプリ2にアノテーションの情報ファイル22が含まれている場合にはアノテーションの情報を更新するポリシーに従い、アノテーションの更新が不要の場合にはアノテーションの解析処理を省略する。そして、起動処理部112は、JavaEEアプリ2に含まれるアノテーションの情報ファイル22の内容に基づき、JavaEEアプリ2をメモリ部12上に展開する。
別言すれば、起動処理部112は、解析結果が記憶装置14に記憶されていると判定された場合に、アノテーションの解析処理を実行することなく、記憶装置14に記憶されている解析結果に基づいて、JavaEEアプリ2を起動する。
起動処理部112は、アノテーションの解析処理を行なう場合には、次回以降の起動時で参照するため、解析後のアノテーションの情報ファイル22を、JavaEEアプリ2のアーカイブファイル内に注入する。
アノテーションの情報ファイル22の更新ポリシーとして、APS1上で、JavaEEアプリ2ごとに設定することができる属性値が提供されてよい。属性値は、例えば、更新しない場合に”−1”が設定され、更新する場合に”0”が設定され、アノテーションの情報ファイル22の更新日時から所定時間以上経過したら更新する場合に”1”以上の値(任意の時間)が設定されてよい。ユーザによる設定がない場合には、属性値として”0”が設定されるものとする。
起動処理部112は、解析結果が記憶装置14に記憶されていると判定された場合であっても、アノテーションの情報ファイル22の更新ポリシーが有効に設定されている場合には、解析処理を実行する。
これにより、既存のJavaEEアプリ2を書き換えることなく、2回目以降のJavaEEアプリ2の起動性能を改善することが可能となる。特に、動的スケールアウトが行なわれる場合に、JavaEEアプリ2の起動時間が大幅に短縮できる。
〔A−2〕動作
図4に示したAPS1における起動処理、図7に示すフローチャート(ステップS1〜S8)を用いて説明する。
APS1が起動される、又はAPS1にJavaEEアプリ2が配備される(ステップS1)。
起動処理部112は、JavaEEアプリ2の読込処理を実行する(ステップS2)。
判定部111は、JavaEEアプリ2にアノテーションの情報ファイル22が含まれているかを判定する(ステップS3)。
JavaEEアプリ2にアノテーションの情報ファイル22が含まれていない場合には(ステップS3のNOルート参照)、処理はステップS7へ進む。
一方、JavaEEアプリ2にアノテーションの情報ファイル22が含まれている場合には(ステップS3のYESルート参照)、判定部111は、アノテーションの情報ファイル22の更新ポリシーが有効であるかを判定する(ステップS4)。
アノテーションの情報ファイル22の更新ポリシーが有効である場合には(ステップS4のYESルート参照)、処理はステップS7へ進む。
一方、アノテーションの情報ファイル22の更新ポリシーが有効でない場合には(ステップS4のNOルート参照)、起動処理部112は、JavaEEアプリ2をメモリ部12上に展開させる(ステップS5)。
そして、JavaEEアプリ2がアクセス可能になり(ステップS6)、処理は終了する。
ステップS3においてJavaEEアプリ2にアノテーションの情報ファイル22が含まれていない場合、又は、ステップS4においてアノテーションの情報ファイル22の更新ポリシーが有効である場合には、起動処理部112は、アノテーションの解析処理を行なう(ステップS7)。
そして、ステップS5に示す処理と並行して、起動処理部112は、JavaEEアプリ2にアノテーションの情報ファイル22を注入し、又は、JavaEEアプリ2におけるアノテーションの情報ファイル22を更新する(ステップS8)。アノテーションの情報ファイル22の注入/更新の処理は、次回以降の起動時のために行なわれ、JavaEEアプリ2の展開プロセスには直接関係しないため、別スレッドで非同期に行なわれてよい。
ステップS1,S2,S3,S4,S5,S6の順に処理が実行されることで、JavaEEアプリ2の規模によっては非常に時間がかかるアノテーションの解析処理(ステップS7)を避けることができる。そして、ステップS1,S2,S3,S7,S5,S6の順に処理が実行されるよりも、JavaEEアプリ2の起動時間を短縮できる。
〔A−3〕効果
上述した実施形態の一例におけるアプリケーション起動プログラム,APS1及びアプリケーション起動方法によれば、例えば、以下の作用効果を奏することができる。
判定部111は、JavaEEアプリ2の読込処理に応じて、JavaEEアプリ2のJava.classファイル21に含まれるアノテーションの解析結果が不揮発性の記憶装置14に記憶されているかを判定する。起動処理部112は、解析結果が記憶装置14に記憶されていると判定された場合に、アノテーションの解析処理を実行することなく、記憶装置14に記憶されている解析結果に基づいて、JavaEEアプリ2を起動する。
これにより、APS1の起動からアプリケーションにアクセス可能になるまでの時間を短縮できる。また、APS1のスケールアウト後、アプリケーションに実際にアクセスできるようになる時間が短縮できる。
解析結果は、記憶装置14におけるJavaEEアプリ2のアーカイブファイルに含まれる。これにより、解析結果を短時間で読み出すことができる。
起動処理部112は、解析結果が記憶装置14に記憶されていないと判定された場合には、解析処理を実行する。これにより、アノテーションの解析結果が記憶されていない場合であっても、JavaEEアプリ2を起動することができる。
起動処理部112は、解析結果が記憶装置14に記憶されていると判定された場合であっても、アノテーションの情報ファイル22の更新ポリシーが有効に設定されている場合には、解析処理を実行する。これにより、起動時に毎回又は定期的にアノテーションの解析処理を実行しなければならない場合においても、正常にJavaEEアプリを起動できる。
起動処理部112は、解析処理を実行した場合には、解析処理の結果を記憶装置14に記憶させる。これにより、次回の起動時において起動時間を短縮できる。
〔B〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
〔C〕付記
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
アプリケーションの読込処理に応じて、前記アプリケーションのソースコードに含まれるアノテーションの解析結果が不揮発性の記憶部に記憶されているかを判定し、
前記解析結果が前記記憶部に記憶されていると判定された場合に、前記アノテーションの解析処理を実行することなく、前記記憶部に記憶されている前記解析結果に基づいて、前記アプリケーションを起動する、
処理をコンピュータに実行させる、アプリケーション起動プログラム。
(付記2)
前記解析結果は、前記記憶部におけるアプリケーションのアーカイブファイルに含まれる、
付記1に記載のアプリケーション起動プログラム。
(付記3)
前記解析結果が前記記憶部に記憶されていないと判定された場合には、前記解析処理を実行する、
処理を前記コンピュータに実行させる、付記1又は2に記載のアプリケーション起動プログラム。
(付記4)
前記解析結果が前記記憶部に記憶されていると判定された場合であっても、前記アノテーションの情報ファイルの更新ポリシーが有効に設定されている場合には、前記解析処理を実行する、
処理を前記コンピュータに実行させる、付記1〜3のいずれか1項に記載のアプリケーション起動プログラム。
(付記5)
前記解析処理を実行した場合には、当該解析処理の結果を前記記憶部に記憶させる、
処理を前記コンピュータに実行させる、付記3又は4に記載のアプリケーション起動プログラム。
(付記6)
アプリケーションの読込処理に応じて、前記アプリケーションのソースコードに含まれるアノテーションの解析結果が不揮発性の記憶部に記憶されているかを判定部と、
前記解析結果が前記記憶部に記憶されていると判定された場合に、前記アノテーションの解析処理を実行することなく、前記記憶部に記憶されている前記解析結果に基づいて、前記アプリケーションを起動する起動処理部と、
を備える、情報処理装置。
(付記7)
前記解析結果は、前記記憶部におけるアプリケーションのアーカイブファイルに含まれる、
付記6に記載の情報処理装置。
(付記8)
前記起動処理部は、前記解析結果が前記記憶部に記憶されていないと判定された場合には、前記解析処理を実行する、
付記6又は7に記載の情報処理装置。
(付記9)
前記起動処理部は、前記解析結果が前記記憶部に記憶されていると判定された場合であっても、前記アノテーションの情報ファイルの更新ポリシーが有効に設定されている場合には、前記解析処理を実行する、
付記6〜8のいずれか1項に記載の情報処理装置。
(付記10)
前記起動処理部は、前記解析処理を実行した場合には、当該解析処理の結果を前記記憶部に記憶させる、
付記8又は9に記載の情報処理装置。
(付記11)
アプリケーションの読込処理に応じて、前記アプリケーションのソースコードに含まれるアノテーションの解析結果が不揮発性の記憶部に記憶されているかを判定し、
前記解析結果が前記記憶部に記憶されていると判定された場合に、前記アノテーションの解析処理を実行することなく、前記記憶部に記憶されている前記解析結果に基づいて、前記アプリケーションを起動する、
アプリケーション起動方法。
(付記12)
前記解析結果は、前記記憶部におけるアプリケーションのアーカイブファイルに含まれる、
付記11に記載のアプリケーション起動方法。
(付記13)
前記解析結果が前記記憶部に記憶されていないと判定された場合には、前記解析処理を実行する、
付記11又は12に記載のアプリケーション起動方法。
(付記14)
前記解析結果が前記記憶部に記憶されていると判定された場合であっても、前記アノテーションの情報ファイルの更新ポリシーが有効に設定されている場合には、前記解析処理を実行する、
付記11〜13のいずれか1項に記載のアプリケーション起動方法。
(付記15)
前記解析処理を実行した場合には、当該解析処理の結果を前記記憶部に記憶させる、
付記13又は14に記載のアプリケーション起動方法。
1 :APS
11 :CPU
111 :判定部
112 :起動処理部
12 :メモリ部
13 :表示制御部
130 :表示装置
14 :記憶装置
15 :入力IF
151 :マウス
152 :キーボード
160 :記録媒体
17 :通信IF
2,7,7a:JavaEEアプリ
21,71,71a:Java.classファイル
22 :アノテーションの情報ファイル
72 :DD.xmlファイル

Claims (7)

  1. アプリケーションの読込処理に応じて、前記アプリケーションのソースコードに含まれるアノテーションの解析結果が不揮発性の記憶部に記憶されているかを判定し、
    前記解析結果が前記記憶部に記憶されていると判定された場合に、前記アノテーションの解析処理を実行することなく、前記記憶部に記憶されている前記解析結果に基づいて、前記アプリケーションを起動する、
    処理をコンピュータに実行させる、アプリケーション起動プログラム。
  2. 前記解析結果は、前記記憶部におけるアプリケーションのアーカイブファイルに含まれる、
    請求項1に記載のアプリケーション起動プログラム。
  3. 前記解析結果が前記記憶部に記憶されていないと判定された場合には、前記解析処理を実行する、
    処理を前記コンピュータに実行させる、請求項1又は2に記載のアプリケーション起動プログラム。
  4. 前記解析結果が前記記憶部に記憶されていると判定された場合であっても、前記アノテーションの情報ファイルの更新ポリシーが有効に設定されている場合には、前記解析処理を実行する、
    処理を前記コンピュータに実行させる、請求項1〜3のいずれか1項に記載のアプリケーション起動プログラム。
  5. 前記解析処理を実行した場合には、当該解析処理の結果を前記記憶部に記憶させる、
    処理を前記コンピュータに実行させる、請求項3又は4に記載のアプリケーション起動プログラム。
  6. アプリケーションの読込処理に応じて、前記アプリケーションのソースコードに含まれるアノテーションの解析結果が不揮発性の記憶部に記憶されているかを判定部と、
    前記解析結果が前記記憶部に記憶されていると判定された場合に、前記アノテーションの解析処理を実行することなく、前記記憶部に記憶されている前記解析結果に基づいて、前記アプリケーションを起動する起動処理部と、
    を備える、情報処理装置。
  7. アプリケーションの読込処理に応じて、前記アプリケーションのソースコードに含まれるアノテーションの解析結果が不揮発性の記憶部に記憶されているかを判定し、
    前記解析結果が前記記憶部に記憶されていると判定された場合に、前記アノテーションの解析処理を実行することなく、前記記憶部に記憶されている前記解析結果に基づいて、前記アプリケーションを起動する、
    アプリケーション起動方法。
JP2020102427A 2020-06-12 2020-06-12 アプリケーション起動プログラム,情報処理装置及びアプリケーション起動方法 Withdrawn JP2021196824A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020102427A JP2021196824A (ja) 2020-06-12 2020-06-12 アプリケーション起動プログラム,情報処理装置及びアプリケーション起動方法
US17/307,659 US11556457B2 (en) 2020-06-12 2021-05-04 Information processing device, non-transitory computer-readable storage medium for storing application startup program, and application startup method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020102427A JP2021196824A (ja) 2020-06-12 2020-06-12 アプリケーション起動プログラム,情報処理装置及びアプリケーション起動方法

Publications (1)

Publication Number Publication Date
JP2021196824A true JP2021196824A (ja) 2021-12-27

Family

ID=78825471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020102427A Withdrawn JP2021196824A (ja) 2020-06-12 2020-06-12 アプリケーション起動プログラム,情報処理装置及びアプリケーション起動方法

Country Status (2)

Country Link
US (1) US11556457B2 (ja)
JP (1) JP2021196824A (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072807B2 (en) 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
JP2010186423A (ja) 2009-02-13 2010-08-26 Mitsubishi Electric Corp 分散アプリケーション設定情報管理システム
US8726254B2 (en) * 2009-06-20 2014-05-13 Microsoft Corporation Embedded annotation and program analysis

Also Published As

Publication number Publication date
US20210390034A1 (en) 2021-12-16
US11556457B2 (en) 2023-01-17

Similar Documents

Publication Publication Date Title
CN108027722B (zh) 在编译和部署中动态更新应用
KR101997174B1 (ko) 업데이트된 에이전트의 핫 롤백
US9336018B2 (en) Mechanism for class data sharing using extension and application class-loaders
RU2568280C2 (ru) Быстрый запуск компьютера
US9274768B2 (en) Runtime code hooking for print driver and functionality testing
JP4878715B2 (ja) オペレーティングシステムに適合しないアプリケーションにパッチを当てる方法、コンピュータシステム及びコンピュータ可読記録媒体
US8745601B1 (en) Methods and systems for using data structures for operating systems
CN104603750A (zh) 使用bpram来布局和执行软件应用
JP2013520744A (ja) 最小ブートイメージの生成方法及びその装置
US20130138934A1 (en) Loading configuration information
US20240078116A1 (en) Just-in-Time Containers
US10521218B2 (en) Enhanced techniques for updating software
US10761835B1 (en) Run-time application modification
CN104583948A (zh) 使用bpram来布局和执行操作系统
US20070180433A1 (en) Method to enable accurate application packaging and deployment with optimized disk space usage
US9141385B2 (en) Managing operating system components
US20060161896A1 (en) Performing debug requests that are within the debug domain of a class loader
CN113885967A (zh) 一种小程序的启动方法、装置、设备及介质
US20170344520A1 (en) Information processing apparatus, information processing method, and storage medium
US20120144390A1 (en) Customized computer image preparation and deployment including virtual machine mode
TW201324347A (zh) 功能模組命令管理系統及方法
JP2021196824A (ja) アプリケーション起動プログラム,情報処理装置及びアプリケーション起動方法
US20100229167A1 (en) Testing operating system isolation using error injection
EP3769225A1 (en) Free space pass-through
US11809881B2 (en) Target process injection prior to execution of marker libraries

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230309

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20240129