JP6054003B2 - プログラム実行システムおよび常駐プログラムの起動方法 - Google Patents

プログラム実行システムおよび常駐プログラムの起動方法 Download PDF

Info

Publication number
JP6054003B2
JP6054003B2 JP2016539756A JP2016539756A JP6054003B2 JP 6054003 B2 JP6054003 B2 JP 6054003B2 JP 2016539756 A JP2016539756 A JP 2016539756A JP 2016539756 A JP2016539756 A JP 2016539756A JP 6054003 B2 JP6054003 B2 JP 6054003B2
Authority
JP
Japan
Prior art keywords
resident
program
activation
program execution
order
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.)
Active
Application number
JP2016539756A
Other languages
English (en)
Other versions
JPWO2016021024A1 (ja
Inventor
宏平 田中
宏平 田中
明 豊岡
明 豊岡
哲史 藤▲崎▼
哲史 藤▲崎▼
下谷 光生
光生 下谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6054003B2 publication Critical patent/JP6054003B2/ja
Publication of JPWO2016021024A1 publication Critical patent/JPWO2016021024A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Description

本発明は、プログラム実行システムに関し、特に、常駐プログラムの起動方法に関するものである。
例えばスマートフォンやタブレット型端末など、プログラム実行システムを備える装置(プログラム実行装置)として、ユーザが自由にアプリケーションを導入(インストール)できるものが普及している。また、ユーザが導入できるアプリケーションの中には、システム起動時に自動的に起動してシステムに常駐するプログラム(常駐プログラム)を含むアプリケーションがある。常駐プログラムがシステムに常駐することによって、ユーザの操作負担の低減や持続的なサービスが実現される。
しかし、ユーザがプログラム実行装置に多数のアプリケーションを導入した場合、それらの常駐プログラムが制限なく起動されると、プログラム実行装置のリソース(メモリ容量やCPU(Central Processing Unit)の処理速度など)が不足し、アプリケーションを正常に実行できなくなることが懸念される。一般的なプログラム実行装置では、その対策として、常駐を許可するアプリケーションの種類を制限したり、メモリの空き容量が少なくなると優先度の低いアプリケーションを強制終了したりすることが行われている。
また、下記の特許文献1には、自動的に起動するアプリケーションをシステムが起動した時刻に応じて切り替える技術が開示されている。特許文献2には、各アプリケーションを常駐型または非常駐型(一時型)に分類し、情報端末装置のメモリ不足が生じると非常駐型のアプリケーションを強制終了する技術が開示されている。特許文献3には、各アプリケーションの優先度をその使用頻度に基づいて決定する技術が開示されている。
特開2004−157781号公報 特開2003−15892号公報 特開2013−246770号公報
従来のプログラム実行装置では、システム起動時に常駐プログラムが起動される順番が毎回同じであるため、常駐プログラムによってリソース不足が生じる場合には、毎回同じ常駐プログラムしか起動しないことになる。逆に言えば、全く起動されない常駐プログラムが生じる。しかし、常駐プログラムの中には、例えばアプリケーションの自動アップデートプログラムなど、定期的に起動させる必要性が高いものがあるので、全く起動されない常駐プログラムが生じるのは好ましくない。
本発明は以上のような課題を解決するためになされたものであり、全く起動されない常駐プログラムが生じることを防止することが可能なプログラム実行システムを提供することを目的とする。
本発明に係るプログラム実行システムは、複数の常駐プログラムを含む複数のプログラムを実行するプログラム実行部と、複数の常駐プログラムを起動させる順番を制御する常駐プログラム起動制御部とを備え、プログラム実行部は、システム起動時に、複数の常駐プログラムを起動させる順番を規定する情報である起動順序定義に従って、複数の常駐プログラムを順次起動させ、常駐プログラム起動制御部は、複数の常駐プログラムの起動によってリソース使用量が特定の値を超える場合、次回のシステム起動時における起動順序定義を今回のシステム起動時に用いた起動順序定義から変更する。
本発明によれば、常駐プログラムの起動によってリソース使用量が特定の値を超える場合に、次回のシステム起動時における起動順序定義が、今回のシステム起動時に用いた起動順序定義から変更されるため、次回のシステム起動時に複数の常駐プログラムが起動する順番が今回のシステム起動時のものとは異なるようになる。それにより、全く起動されない常駐プログラムが生じることが防止される。
本発明の目的、特徴、態様、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
本発明に係るプログラム実行システムの構成図である。 アプリケーションの構成を示す図である。 起動順序定義の例を示す図である。 プログラム実行装置のメモリ容量を説明するための図である。 実施の形態1に係るプログラム実行装置の動作を説明するための図である。 図5に示した動作後の起動順序定義を示す図である。 実施の形態1に係るプログラム実行装置の動作を示すフローチャートである。 常駐プログラムのメモリ使用量を予め判断できる場合における、実施の形態1に係るプログラム実行装置の動作を示すフローチャートである。 新たなアプリケーションが導入されるときのプログラム実行装置の動作を説明するための図である。 新たなアプリケーションが導入されるときのプログラム実行装置の動作を説明するための図である。 新たなアプリケーションが導入された後の起動順序定義の例を示す図である。 実施の形態2に係るプログラム実行装置の動作を説明するための図である。 実施の形態2に係るプログラム実行装置の動作を示すフローチャートである。 実施の形態3に係るプログラム実行装置の動作を説明するための図である。 実施の形態3に係るプログラム実行装置の動作を示すフローチャートである。 実施の形態4における起動順序定義の例を示す図である。 実施の形態4における起動順序定義の例を示す図である。 実施の形態4における起動順序定義の例を示す図である。 実施の形態5に係るプログラム実行装置の動作を示すフローチャートである。 常駐プログラムのメモリ使用量を予め判断できる場合における、実施の形態5に係るプログラム実行装置の動作を示すフローチャートである。 実施の形態6に係るプログラム実行装置の動作を説明するための図である。
<実施の形態1>
図1は、本発明に係るプログラム実行システムの構成図である。当該プログラム実行システムは、プログラム実行装置10と、それに接続した起動スイッチ21、表示装置22および音声出力装置23を備えている。本発明は、パーソナルコンピュータをはじめとするプログラム実行システムに広く適用可能であるが、製造コストや製品サイズ、消費電力などの理由からリソースが制限される携帯型または小型の装置(例えばスマートフォン、タブレット端末、車載の情報表示装置、ナビゲーション装置など)への適用が特に有効である。
起動スイッチ21は、プログラム実行装置10の電源スイッチであり、ユーザが起動スイッチ21を操作してプログラム実行装置10の電源がオンになると、プログラム実行システムが起動する。起動スイッチ21は、プログラム実行装置10を遠隔操作するリモコンでもよいし、プログラム実行装置10に内蔵されていてもよい。また、プログラム実行システムが車載装置に適用される場合、起動スイッチ21は車両の電源スイッチやイグニッションスイッチと連動するように構成してもよい。
表示装置22としては、液晶ディスプレイが代表的であるが、画像表示機能を有する任意の装置(例えばスマートフォンやタブレット端末、車両のインストルメントパネルの表示部など)を利用してもよい。また、表示装置22は、ユーザによる操作の入力手段としても機能するタッチパネルであってもよい。音声出力装置23は、スピーカやヘッドフォン等が一般的であるが、これも音声出力機能を有する任意の装置を利用してもよい。
プログラム実行装置10は、プログラム実行部11、記憶部12、リソース監視部13および常駐プログラム起動制御部14を備えている。プログラム実行装置10はコンピュータを用いて構成されており、プログラム実行部11、リソース監視部13および常駐プログラム起動制御部14は、コンピュータがプログラムに従って動作することにより実現される。記憶部12は、例えばハードディスク、リムーバブルディスクなど不揮発性の記憶媒体によって構成される。
プログラム実行部11は、複数のアプリケーションを複数同時に実行することができる。また、プログラム実行部11は、各アプリケーションの動作に従って、当該アプリケーションの実行結果を表示装置22または音声出力装置23から出力することもできる。
一般的に、プログラム実行装置で実行されるアプリケーションは、1以上のプログラムと、当該アプリケーションに関する各種の情報が記載された定義ファイルとを含むパッケージとして構成されている。また、一般的なアプリケーションは、図2に示すように、表示装置22に表示される実行画面を有する表示プログラムと、表示装置22への描画は行わずに常駐する(つまりバックグラウンドで動作する)常駐プログラムと、定義ファイルとを含む構成となる。ただし、表示プログラムを含まずに常駐プログラムと定義ファイルからなるアプリケーションや、常駐プログラムを含まずに表示プログラムと定義ファイルからなるアプリケーションもある。また1つのアプリケーションが、表示プログラム、常駐プログラムまたは定義ファイルを複数有することもある。
常駐プログラムの例としては、ナビゲーション用の地図アップデート確認プログラムや、SNS(Social Networking Service)アプリケーションの投稿確認プログラム、ニュースアプリケーションの新着ニュース取得プログラム、音楽アプリケーションのアップデート確認プログラム、天気予報アプリケーションの最新情報取得プログラムなどがある。
プログラム実行部11により実行されるアプリケーションは、記憶部12に記憶されている。ここで、記憶部12に記憶されているアプリケーションには、常駐プログラムを含むアプリケーションが複数含まれているものとする。また、プログラム実行部11は、システム起動時に、それら複数のアプリケーションの常駐プログラムを、予め規定された順番で起動させる。プログラム実行部11が複数の常駐プログラムを起動させる順番(常駐プログラム起動順序)を規定する情報である「起動順序定義」は、記憶部12に記憶されており、システム起動時にプログラム実行部11によって読み出される。
図3は、記憶部12に記憶される起動順序定義を模式的に示した図である。図3の例では、起動順序定義として、常駐プログラムA〜Eを起動する順番が示されている。本実施の形態では、起動順序定義は、常駐プログラムを起動させる順番をループ状に規定しており、起動対象とする常駐プログラムを示す情報を含んでいるものとする。
図3に示す起動順序定義が記憶部12に記憶されていた場合、プログラム実行部11は、起動対象となっている常駐プログラムAを最初に起動し、その後は、起動対象を起動順序定義に従って1つずつ進めながら、起動対象となった常駐プログラムを起動する。つまり、プログラム実行部11は、常駐プログラムA〜Eを、常駐プログラムA,B,C,D、E…の順番で起動することになる。
リソース監視部13は、各アプリケーションによるリソースの使用状況を監視する。リソースの使用状況を表す情報としては、メモリ使用量やCPUの使用率などが挙げられるが、本実施の形態では、リソース監視部13がプログラム実行装置10のメモリ使用量を監視するものとする。
ここで、プログラム実行部11が実行するプログラムには、ユーザが導入したアプリケーションに含まれるプログラムだけでなく、プログラム実行装置10の基本的な動作を実現するためのプログラム(システムプログラム)も含まれている。システムプログラムは必ず実行する必要があるため、一般的には、図4のようにプログラム実行装置10のメモリ容量の一部がシステムプログラム用の領域として予約され、残りの部分がアプリケーション用の領域として使用される。本明細書でいう「メモリ容量」とは、アプリケーション用の領域の容量を指している。
常駐プログラム起動制御部14は、複数の常駐プログラムを起動させる順番(常駐プログラム起動順序)を制御する。具体的には、常駐プログラム起動制御部14は、システム起動時に常駐プログラムが起動されることでメモリ容量が不足することが検出された場合に、次回のシステム起動時における起動順序定義を、今回のシステム起動時に用いた起動順序定義から変更する。すなわち、常駐プログラム起動制御部14は、記憶部12に記憶される起動順序定義の内容を更新する。それによって、次回のシステム起動時における常駐プログラム起動順序が、今回のシステム起動時のものから変更される。
次に、図5を用いて、システム起動時におけるプログラム実行装置10の動作を説明する。図5は、記憶部12に図3の起動順序定義が記憶されていると仮定したときの、プログラム実行装置10の動作を示している。ここで、プログラム実行装置10のメモリ容量は80MBであり、常駐プログラムが使用できるメモリ容量の上限(メモリ使用上限)は50MBと規定されているものとする。つまり、常駐プログラムによるメモリ使用量が50MBを超えるとメモリ不足と判断される。また、図3に示すように、常駐プログラムA,B,C,D,Eのメモリ使用量は、それぞれ20MB,10MB,30MB,15MB,25MBであるものとする。
起動スイッチ21によってプログラム実行装置10の電源がオンにされ、システムが起動すると、プログラム実行部11は、起動順序定義(図3)に従って、起動対象となっている常駐プログラムAを起動する。図5の(a)のように、常駐プログラムAを起動しただけではメモリ使用量は20MBであり、メモリ使用上限の50MBには達しない。その場合、プログラム実行部11は、起動順序定義に従って起動対象を常駐プログラムBに進め、常駐プログラムBを起動する。図5の(b)のように、常駐プログラムA,Bが起動してもメモリ使用量は30MBであり、メモリ使用上限には達しないので、プログラム実行部11は、さらに起動対象を常駐プログラムCに進め、常駐プログラムCを起動する。
図5の(c)のように、常駐プログラムA,B,Cが起動するとメモリ使用量は60MBとなり、メモリ使用上限を超えるため、メモリ不足となる。その場合、プログラム実行部11は、メモリ使用量がメモリ使用上限を超える原因となった(つまり直前に起動させた)常駐プログラムCを終了させて、図5の(d)のようにメモリ不足を解消する。さらに、常駐プログラム起動制御部14は、このとき起動対象となっている常駐プログラムCが、次回のシステム起動時に最初に起動させる常駐プログラムになるように、記憶部12に記憶されている起動順序定義を更新する。つまり、図6のように常駐プログラムCが起動対象となっている起動順序定義を、記憶部12に記憶させる。その結果、次回のシステム起動時には、プログラム実行部11により最初に常駐プログラムCが起動されてから、上記と同様の動作が行われることになる。
このように、本実施の形態では、起動順序定義におけるループを変更せずに、最初に起動させる常駐プログラムを変更することによって、起動順序定義の内容を変更している。従って、システムの起動と終了が繰り返されるうちに、どの常駐プログラムにも実行される機会が与えられることになり、全く起動されない常駐プログラムが生じることが防止される。
図7は、実施の形態1に係るプログラム実行装置10のシステム起動時の動作を示すフローチャートである。図5を用いて説明した動作は、プログラム実行装置10が当該フローチャートに従った動作を行うことで実現される。
起動スイッチ21によってプログラム実行装置10の電源がオンにされ、システムが起動すると、プログラム実行部11は、記憶部12から起動順序定義を取得し(ステップS11)、起動対象となっている常駐プログラムを起動する(ステップS12)。次に、リソース監視部13がプログラム実行装置10のメモリ使用量を監視して、メモリ使用量がメモリ使用上限以下であるか否かを確認する(ステップS13)。メモリ使用量がメモリ使用上限以下であれば(ステップS13でYES)、起動対象を次の常駐プログラムに変更し(ステップS14)、ステップS12へ戻る。
メモリ使用量がメモリ使用上限を超えていれば(ステップS13でNO)、プログラム実行部11は、直前に起動させた常駐プログラムを終了させる(ステップS15)。さらに、常駐プログラム起動制御部14が、現在起動対象となっている常駐プログラムを、次回のシステム起動時の起動対象に決定し(ステップS16)、その常駐プログラムが起動対象となっている起動順序定義を、記憶部12に記憶させる(ステップS17)。以上により、システムの起動処理が完了する。
なお、上の説明では、実際に常駐プログラムを起動させてから(ステップS12)、メモリ不足となるか否かを判断したが(ステップS13)、各常駐プログラムのメモリ使用量が予め分かっている場合には、常駐プログラムを起動させる前にメモリ不足が生じるか否かを判断してもよい。その場合、メモリ不足が生じないと判断された場合にだけ常駐プログラムを起動して常駐させればよい。
例えば、アプリケーションに含まれる定義ファイル(図2)に、常駐プログラムのメモリ使用量の情報が記載されている場合には、当該常駐プログラムのメモリ使用量を予め判断できる。また、定義ファイルに記載されるメモリ使用量の情報は、当該常駐プログラムが過去に起動したときの実測値であってもよい。
以下、常駐プログラムのメモリ使用量を予め判断できる場合における、プログラム実行装置10のシステム起動時の動作をより詳細に示す。図8は、その動作を示すフローチャートである。
起動スイッチ21によってプログラム実行装置10の電源がオンにされ、システムが起動すると、プログラム実行部11は、記憶部12から起動順序定義を取得する(ステップS21)。次に、プログラム実行部11は、リソース監視部13が検出したプログラム実行装置10の現在のメモリ使用量と、起動対象となっている常駐プログラムのメモリ使用量に基づいて、起動対象となっている常駐プログラムを起動させたときのメモリ使用量を予測し、そのときのメモリ使用量がメモリ使用上限以下に収まるか否かを判断する(ステップS22)。
起動対象となっている常駐プログラムを起動させてもメモリ使用量がメモリ使用上限以下に収まると判断されれば(ステップS22でYES)、その常駐プログラムを起動させる(ステップS23)。そして、起動対象を次の常駐プログラムに変更して(ステップS24)、ステップS22へ戻る。
一方、起動対象となっている常駐プログラムを起動させるとメモリ使用量がメモリ使用上限を超えると判断されれば(ステップS22でNO)、その常駐プログラムは起動させない。この場合、常駐プログラム起動制御部14が、現在起動対象となっている常駐プログラムを、次回のシステム起動時の起動対象に決定し(ステップS25)、その常駐プログラムが起動対象となっている起動順序定義を、記憶部12に記憶させる(ステップS26)。以上により、システムの起動処理が完了する。
なお、ユーザがプログラム実行装置10に新たなアプリケーションを導入した場合、常駐プログラム起動制御部14は、図9のように、新たな常駐プログラム(F)を、記憶部12に記憶されている起動順序定義における常駐プログラムの順番に追加する。起動順序定義に新たなアプリケーションを追加する位置は任意でよいが、例えば、新たな常駐プログラムおよびそれを追加する位置の前後の常駐プログラムのメモリ使用量の平均値が、起動順序定義に含まれる全ての常駐プログラムのメモリ使用量の平均値に最も近くなる位置に追加するとよい。そうすることにより、メモリ使用量が大きなアプリケーションが起動順序定義の特定位置に集中することを防止でき、より多くの常駐プログラムが同時に実行されるようになる。
図9に示すように、新たな常駐プログラムFのメモリ使用量が20MBの場合、常駐プログラムFを追加した後の起動順序定義に含まれる全ての常駐プログラムA〜Fのメモリ使用量の平均値は、20.0MBである。また、図10に示すように、新たな常駐プログラムFおよびそれを追加する位置の前後の常駐プログラムのメモリ使用量の平均値は、常駐プログラムFを常駐プログラムA,Bの間に追加すると16.7MB、常駐プログラムFを常駐プログラムB,Cの間に追加すると20.0MB、常駐プログラムFを常駐プログラムC,Dの間に追加すると21.7MB、常駐プログラムFを常駐プログラムD,Eの間に追加すると20.0MB、常駐プログラムFを常駐プログラムE,Aの間に追加すると21.7MBとなる。よって、常駐プログラムFは、常駐プログラムB,Cの間または常駐プログラムD,Eの間に追加するとよい。図11は、常駐プログラムFを、常駐プログラムB,Cの間に追加した場合の起動順序定義を示している。
<実施の形態2>
実施の形態1では、起動順序定義における常駐プログラムの順番のループを変更せずに、最初に起動させる常駐プログラムを変更することによって起動順序定義の内容を変更したが、常駐プログラム起動順序の変更方法はこれに限られない。実施の形態2では、常駐プログラム起動制御部14が常駐プログラム起動順序を変更する際、図12に示すように、起動順序定義における常駐プログラムの順番をランダムに決定する。この方法によっても、実施の形態1と同様の効果が得られる。
図13は、実施の形態2に係るプログラム実行装置10のシステム起動時の動作を示すフローチャートである。このフローチャートは、図7のフローチャートに対し、次回のシステム起動時の起動対象を決定するステップS16を、次回のシステム起動時における起動順序定義における常駐プログラムの順番をランダムに決定するステップS16aに置き換えただけのものであるため、ここでの説明は省略する。
<実施の形態3>
実施の形態1では、常駐プログラムの起動によってメモリ不足が生じた場合、その次以降の常駐プログラムは起動されない。例えば図5の例において、図5の(c)のように常駐プログラムCの起動によりメモリ不足が生じると、図5の(d)の状態でシステム起動の処理が終了し、常駐プログラムD,Eは起動されない。
しかし、図5の(d)の状態ではメモリ使用量は30MBであり、メモリ使用上限の50MBまで20MBの余裕があるので、メモリ使用量が15MBの常駐プログラムDを実行可能なはずである。実施の形態3では、このようにメモリ容量を十分に有効活用できていない状態となることを防止する。
すなわち、実施の形態3に係るプログラム実行装置10では、プログラム実行部11が、メモリ不足の原因となる常駐プログラムの順番を飛ばして次の常駐プログラムを常駐させる動作を、起動順序定義に従って繰り返し行う。その繰り返しの動作は、起動順序定義内の常駐プログラムを一巡するまで実行される。
この動作を、図14を用いて説明する。図14は、図3の起動順序定義に基づく動作を示している。ここでも、プログラム実行装置10のメモリ容量は80MBであり、メモリ使用上限は50MBとする。
起動スイッチ21によってプログラム実行装置10の電源がオンにされ、システムが起動すると、プログラム実行部11は、記憶部12に記憶されている起動順序定義(図3)に従って、起動対象となっている常駐プログラムAを起動する。図14の(a)のように、常駐プログラムAを起動しただけではメモリ使用量は20MBであり、メモリ使用上限には達しない。その場合、プログラム実行部11は、起動対象を常駐プログラムBに進め、常駐プログラムBを起動する。図14の(b)のように、常駐プログラムA,Bが起動してもメモリ使用量は30MBでありメモリ使用上限には達しないので、プログラム実行部11は、起動対象を常駐プログラムCに進め、常駐プログラムCを起動する。
図14の(c)のように、常駐プログラムA,B,Cが起動するとメモリ使用量は60MBとなり、メモリ使用上限を超えるので、メモリ不足となる。その場合、プログラム実行部11は、メモリ使用量がメモリ使用上限を超える原因となった(つまり直前に起動させた)常駐プログラムCを終了させた上で、起動対象を常駐プログラムDに進め、常駐プログラムDを起動する。図14の(d)のように、常駐プログラムA,B,Dが起動してもメモリ使用量は45MBであり、メモリ不足にはならない。その場合、プログラム実行部11は、起動対象を常駐プログラムEに進め、常駐プログラムEを起動する。
図14の(e)のように、常駐プログラムA,B,D,Eが起動するとメモリ使用量は70MBになり、メモリ不足となる。その場合、プログラム実行部11は、メモリ使用量がメモリ使用上限を超える原因となった常駐プログラムEを終了させ、起動対象を常駐プログラムAに進める。これにより起動対象が起動順序定義内の常駐プログラムを一巡するため、常駐プログラムを起動させる処理は終了する。
常駐プログラム起動制御部14は、メモリ使用量がメモリ使用上限を超える1回目の原因となった常駐プログラムが次回のシステム起動時に最初に起動するように、起動順序定義を変更する。図14に示した動作では、常駐プログラムCを起動させたときに初めてメモリ不足となったため、次回のシステム起動時に最初に起動させる常駐プログラムは常駐プログラムCに設定される。つまり、図6のように常駐プログラムCが起動対象となっている起動順序定義を、記憶部12に記憶させる。その結果、次回のシステム起動時には、常駐プログラムCが最初に起動されてから、上記と同様の動作が行われることになる。
このように、本実施の形態では、常駐プログラムの起動によってメモリ不足が生じた場合、代わりに起動できる常駐プログラムが探索され、そのような常駐プログラムが見つかればそれが起動される。よって、実施の形態1よりも常駐する常駐プログラムの数を多くできる。
図15は、実施の形態3に係るプログラム実行装置10のシステム起動時の動作を示すフローチャートである。図14を用いて説明した動作は、プログラム実行装置10が当該フローチャートに従った動作を行うことで実現される。
まず、起動スイッチ21によってプログラム実行装置10の電源がオンにされ、システムが起動すると、プログラム実行部11は、記憶部12から起動順序定義を取得し(ステップS31)、起動対象となっている常駐プログラムを起動する(ステップS32)。次に、リソース監視部13がプログラム実行装置10のメモリ使用量を監視して、メモリ使用量がメモリ使用上限以下であるか否かを確認する(ステップS33)。
メモリ使用量がメモリ使用上限以下であれば(ステップS33でYES)、起動対象を次の常駐プログラムに変更する(ステップS34)。このとき起動対象が起動順序定義内の常駐プログラムをまだ一巡していなければ(ステップS35でNO)ステップS32へ戻る。
一方、ステップS33においてメモリ使用量がメモリ使用上限を超えていれば(ステップS33でNO)、プログラム実行部11は、直前に起動させた常駐プログラムを終了させる(ステップS36)。このとき、メモリ使用量がメモリ使用上限を超えたのが1回目であれば(ステップS37でYES)、常駐プログラム起動制御部14は、現在起動対象となっている常駐プログラムを、次回のシステム起動時の起動対象に決定して(ステップS38)、ステップS34へ移行する。メモリ使用量がメモリ使用上限を超えたのが初めてでなければ(ステップS37でNO)、ステップS38の処理を行わずにステップS34へと移行する。
以上の処理が繰り返し行われ、起動対象が起動順序定義内の常駐プログラムを一巡すれば(ステップS35でYES)、次回のシステム起動時の起動対象が決定済みかどうか(つまりステップS38の処理が行われたか否か)を確認する(ステップS39)。次回のシステム起動時の起動対象が決定済みでなければ(ステップS39でNO)、常駐プログラム起動制御部14は、現在起動対象となっている常駐プログラムを、次回のシステム起動時の起動対象に決定し(ステップS40)、そのように規定された起動順序定義を記憶部12に記憶させる(ステップS41)。
次回のシステム起動時の起動対象が決定済みであれば(ステップS39でYES)、常駐プログラム起動制御部14は、ステップS40の処理を行わずに、ステップS38で決定したとおりに起動対象が規定された起動順序定義を記憶部12に記憶させる(ステップS41)。以上により、システムの起動処理が完了する。
なお、実施の形態3においても、各常駐プログラムのメモリ使用量が予め分かっている場合には、実際に常駐プログラムを起動させることなくメモリ不足が生じるか否かを判断してもよい。
実施の形態3では、常駐プログラム起動制御部14は、起動順序定義におけるループは変更せずに、メモリ使用量が特定の値を超える1回目の原因となる常駐プログラムが次回のシステム起動時に最初に起動するように、起動順序定義の内容を変更したが、実施の形態2を適用して、常駐プログラム起動制御部14が起動順序定義を変更する際、起動順序定義における常駐プログラムの順番をランダムに決定してもよい。
<実施の形態4>
実施の形態1では、プログラム実行装置10が1つの起動順序定義のみを使用する例を示したが、実施の形態4では、プログラム実行装置10が複数の起動順序定義を使用する例を示す。すなわち、常駐プログラム起動制御部14が、図16のような複数の起動順序定義を複数管理し、予め定められた条件に従って、プログラム実行部11に使用させる起動順序定義を切り替える。その他の動作は実施の形態1(図7)と同様である。
例えば、現在位置の条件に応じて複数の起動順序定義を切り替える場合、記憶部12には、現在位置の各条件に対応した複数の起動順序定義が記憶される。常駐プログラム起動制御部14は、プログラム実行装置10の起動時に現在位置を取得し、図7のステップS11において、プログラム実行部11に対し現在位置に応じた起動順序定義を記憶部12から読み出すように指示する。
どの起動順序定義を選択するかの判断基準となる条件としては、現在位置の条件の他、天候の条件やユーザの条件などが考えられる。これらの条件を用いる場合のプログラム実行装置10の動作も上記と同様でよく、常駐プログラム起動制御部14が、図7のステップS11において、プログラム実行部11に対し現在の天候やユーザに応じた起動順序定義を記憶部12から読み出すように指示すればよい。
実施の形態4によれば、プログラム実行装置10を起動したときの現在位置や天候などに応じて、起動順序定義を使い分けることが可能になる。また、プログラム実行装置10を使用するユーザごとに起動順序定義を切り替えることも可能である。特に、ユーザごとに独立してアプリケーションを導入可能な場合には、図17のように、ユーザごとに導入した常駐プログラム自体が異なることがあるため、ユーザごとに起動順序定義の使い分けができることは非常に有効である。
<実施の形態5>
実施の形態5では、複数の常駐プログラムのそれぞれに優先度を規定し、常駐プログラム起動制御部14がそれぞれの優先度に対応した複数の起動順序定義を管理する構成としたプログラム実行装置10を示す。
図18は、常駐プログラムを高優先度の常駐プログラムA〜Eと、低優先度の常駐プログラムa〜eとに分けて、優先度ごとに起動順序定義を分けた例である。システム起動時には、プログラム実行部11が、各常駐プログラムをその優先度に対応する起動順序定義に従った順番で起動させる。
この場合、低優先度の常駐プログラムは、高優先度の常駐プログラムが全て起動してもメモリ容量に余裕がある場合にだけ起動されるようにしてもよいが、その場合には、低優先度の常駐プログラムが全く起動されなくなることも考えられる。そのため、各優先度の常駐プログラムが少なくとも1つずつは実行可能なように、常駐プログラムを起動させる順番を決定することが好ましい。システム起動時に各優先度の常駐プログラムが少なくとも1つずつ実行されれば、システムの起動と終了が繰り返されるうちに、低優先度の常駐プログラムも全て起動される機会が得られ、全く起動されない常駐プログラムが生じることを防止できる。
図19は、実施の形態5に係るプログラム実行装置10のシステム起動時の動作を示すフローチャートである。ここでは、高優先度の常駐プログラムと低優先度の常駐プログラムとが規定されており、プログラム実行装置10が、各優先度の常駐プログラムを少なくとも1つずつは実行する動作を示す。なお、プログラム実行装置10の記憶部12には、図18の例のような、高優先度の常駐プログラム用の起動順序定義と、低優先度の常駐プログラム用の起動順序定義とが記憶されている。
起動スイッチ21によってプログラム実行装置10の電源がオンにされ、システムが起動すると、プログラム実行部11は、記憶部12から高優先度の常駐プログラム用の起動順序定義と低優先度の常駐プログラム用の起動順序定義をそれぞれ取得する(ステップS51)。そして、プログラム実行部11は、高優先度の常駐プログラムの起動対象を起動する(ステップS52)。次に、リソース監視部13がプログラム実行装置10のメモリ使用量を監視して、メモリ使用量がメモリ使用上限以下であるか否かを確認する(ステップS53)。メモリ使用量がメモリ使用上限以下であれば(ステップS53でYES)、高優先度の常駐プログラムの起動対象を現在の起動対象の次のものに変更し(ステップS54)、ステップS52へ戻る。
ステップS52〜S54の処理が繰り返されて、メモリ使用量がメモリ使用上限を超えるようになれば(ステップS53でNO)、プログラム実行部11は、直前に起動させた高優先度の常駐プログラムを終了させる(ステップS55)。ここまでの処理により、メモリ使用量がメモリ使用上限を超えない範囲で、高優先度の常駐プログラムが起動される。
続いて、プログラム実行部11は、低優先度の常駐プログラムの起動対象を起動する(ステップS56)。次に、リソース監視部13が、メモリ使用量がメモリ使用上限以下であるか否かを確認する(ステップS57)。メモリ使用量がメモリ使用上限以下であれば(ステップS57でYES)、低優先度の常駐プログラムの起動対象を現在の起動対象の次のものに変更し(ステップS58)、ステップS56へ戻る。
メモリ使用量がメモリ使用上限を超えていれば(ステップS57でNO)、プログラム実行部11は、低優先度の常駐プログラムが2つ以上起動しているかを確認する(ステップS59)。なお、ステップS59の前にステップS56が実行されるので、ステップS59では、低優先度の常駐プログラムが少なくとも1つは起動している。
低優先度の常駐プログラムが1つしか起動していない場合は(ステップS59でNO)、その常駐プログラムの動作を継続させつつメモリ使用量を下げるために、起動している高優先度の常駐プログラムのうち最後に起動させたものを終了させる(ステップS60)。さらに、高優先度の常駐プログラムの起動対象を、現在の起動対象の1つ前のものに変更する(ステップS61)。その結果、高優先度の常駐プログラムの起動対象は、ステップS60で終了させた常駐プログラムになる。その後、リソース監視部13が、メモリ使用量がメモリ使用上限以下であるか否かを再度確認し(ステップS62)、メモリ使用量がメモリ使用上限を超えていれば(ステップS62でNO)ステップS60へ戻る。つまり、ステップS60,S61の処理は、メモリ使用量がメモリ使用上限以下になるまで繰り返し行われる。それにより、起動している唯一の低優先度の常駐プログラムの動作を継続させつつ、メモリ使用量をメモリ使用上限以下まで下げることができる。
そして、メモリ使用量がメモリ使用上限以下になれば(ステップS62でYES)、ステップS56へ戻る。それにより、ステップS60の処理で増えたメモリの空き容量が大きい場合に更に低優先度の常駐プログラムを起動させることができ、メモリ容量を有効に活用できる。
一方、ステップS59において、低優先度の常駐プログラムが2つ以上起動していた場合には(ステップS59でYES)、高優先度の常駐プログラムの動作を継続させつつメモリ使用量をメモリ使用上限以下にするために、起動している低優先度の常駐プログラムのうち最後に起動させたものを終了させる(ステップS63)。その後、常駐プログラム起動制御部14が、各優先度の常駐プログラムの現在の起動対象を、それぞれ次回のシステム起動時の起動対象に決定した上で(ステップS64)、各優先度の常駐プログラム用の起動順序定義を、記憶部12に記憶させる(ステップS65)。以上により、システムの起動処理が完了する。
なお、図19の動作は、実際に常駐プログラムを起動させてから(ステップS52,S56)、メモリ不足となるか否かを判断したが(ステップS53,S57)、各常駐プログラムのメモリ使用量が予め分かっている場合には、常駐プログラムを起動させる前にメモリ不足が生じるか否かを判断してもよい。その場合、メモリ不足が生じないと判断された場合にだけ常駐プログラムを起動して常駐させればよい。
以下、常駐プログラムのメモリ使用量を予め判断できる場合における、プログラム実行装置10のシステム起動時の動作を説明する。図20は、その動作を示すフローチャートである。
起動スイッチ21によってプログラム実行装置10の電源がオンにされ、システムが起動すると、プログラム実行部11は、記憶部12から高優先度の常駐プログラム用の起動順序定義と低優先度の常駐プログラム用の起動順序定義をそれぞれ取得する(ステップS71)。次に、プログラム実行部11は、リソース監視部13が検出した現在のメモリ使用量と、高優先度の常駐プログラムの起動対象のメモリ使用量と、低優先度の常駐プログラムの起動対象のメモリ使用量とに基づいて、高優先度の常駐プログラムの起動対象と低優先度の常駐プログラムの起動対象を起動させたときのメモリ使用量を予測し、そのときのメモリ使用量がメモリ使用上限以下に収まるか否かを判断する(ステップS72)。
高優先度の常駐プログラムの起動対象と低優先度の常駐プログラムの起動対象を起動してもメモリ使用量がメモリ使用上限以下に収まると判断されれば(ステップS72でYES)、高優先度の常駐プログラムの起動対象を起動させる(ステップS73)。そして、高優先度の常駐プログラムの起動対象を現在の起動対象の次のものに変更して(ステップS74)、ステップS72へ戻る。ステップS72〜S74の処理により、低優先度の常駐プログラムの起動対象の起動に必要なメモリ容量を残しつつ、メモリ使用量がメモリ使用上限を超えない範囲で、高優先度の常駐プログラムが起動される。
その後、高優先度の常駐プログラムの起動対象と低優先度の常駐プログラムの起動対象を起動するとメモリ使用量がメモリ使用上限を超えると判断されるようになると(ステップS72でNO)、プログラム実行部11は、リソース監視部13が検出した現在のメモリ使用量と、低優先度の常駐プログラムの起動対象のメモリ使用量とに基づいて、低優先度の常駐プログラムの起動対象を起動させたときのメモリ使用量を予測し、そのときのメモリ使用量がメモリ使用上限以下に収まるか否かを判断する(ステップS75)。
低優先度の常駐プログラムの起動対象を起動してもメモリ使用量がメモリ使用上限以下に収まると判断されれば(ステップS75でYES)、低優先度の常駐プログラムの起動対象を起動させる(ステップS76)。そして、低優先度の常駐プログラムの起動対象を現在の起動対象の次のものに変更して(ステップS77)、ステップS75へ戻る。先に述べたように、ステップS72〜S74では低優先度の常駐プログラムの起動対象の起動に必要なメモリ容量は確保されているので、少なくとも1回はステップS75でYESと判定され、低優先度の常駐プログラムが少なくとも1つ起動することになる。
一方、低優先度の常駐プログラムの起動対象を起動するとメモリ使用量がメモリ使用上限を超えると判断されれば(ステップS75でNO)、低優先度の常駐プログラムの更なる起動は行わない。この場合、常駐プログラム起動制御部14が、各優先度の常駐プログラムの現在の起動対象を、それぞれ次回のシステム起動時の起動対象に決定した上で(ステップS78)、各優先度の常駐プログラム用の起動順序定義を、記憶部12に記憶させる(ステップS79)。以上により、システムの起動処理が完了する。
なお、各常駐プログラムの優先度は固定されていなくてもよく、例えば、予め定められた条件(現在位置、天候、ユーザなどの条件)に従って、優先度が変更されるようにしてもよい。
<実施の形態6>
実施の形態1〜5では、プログラム実行部11が、常駐プログラムをシステム起動時のみに起動させる例を示したが、実施の形態6では、プログラム実行部11が、システム起動後に、常駐させる常駐プログラムを起動順序定義に従って一定周期で変更する。
具体的には、プログラム実行部11は、システム起動時に実施の形態1(図7)の処理を実行した後、一定の時間が経過するごとに、常駐している常駐プログラムのうち最も先に起動した常駐プログラムを終了させて、再び、図7の処理を実行する。
図21を用いて、その動作を説明する。システム起動時に、図3の起動順序定義に基づいて、図7の処理を実行すると、図21の(a)のように常駐プログラムA,Bが起動される。その後、一定の時間が経過すると、常駐プログラムA,Bのうち最も先に起動した常駐プログラムAを終了させ、再び図7の処理を実行する。すると、常駐プログラムCが起動し、図21の(b)のように常駐プログラムB,Cが常駐した状態になる。一定の周期でこの動作が繰り返されると、図21の(c)のように常駐プログラムC,Dが常駐した状態、図21の(d)のように常駐プログラムD,Eが常駐した状態、図21の(e)のように常駐プログラムE,Aが常駐した状態、と変化して、図21の(a)の状態に戻る。この動作はプログラム実行装置10がオフにされるまで繰り返される。
本実施の形態では、システムが動作している間、常駐プログラムが起動順序定義に従って切り替わるため、システムの動作を終了させることなく実施の形態1と同様の効果が得られる。特に、スマートフォンなど、頻繁に電源をオフにしない装置に有効である。なお、図7の処理が繰り返し実行される場合、システムの動作を終了させるときには、最後に常駐した常駐プログラムの次の常駐プログラム、つまりメモリ使用量がメモリ使用上限を超える原因となった常駐プログラムが、次回のシステム起動時に最初に起動するようになる。あるいは、実施の形態2を適用し、次回のシステム起動時に用いる起動順序定義における常駐プログラムの順番をランダムに決定してもよい。
また、実施の形態5では、システム起動後に実施の形態1(図7)の処理が一定周期で実行される例を示したが、実施の形態3(図15)の処理が一定周期で実行されるようにしてもよい。
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
本発明は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
10 プログラム実行装置、11 プログラム実行部、12 記憶部、13 リソース監視部、14 常駐プログラム起動制御部、21 起動スイッチ、22 表示装置、23 音声出力装置。

Claims (16)

  1. 複数の常駐プログラムを含む複数のプログラムを実行するプログラム実行部と、
    前記複数の常駐プログラムを起動させる順番を制御する常駐プログラム起動制御部とを備え、
    前記プログラム実行部は、システム起動時に、前記複数の常駐プログラムを起動させる順番を規定する情報である起動順序定義に従って、前記複数の常駐プログラムを順次起動させ、
    前記常駐プログラム起動制御部は、前記複数の常駐プログラムの起動によってリソース使用量が特定の値を超える場合、次回のシステム起動時における前記起動順序定義を今回のシステム起動時に用いた前記起動順序定義から変更する
    ことを特徴とするプログラム実行システム。
  2. 前記プログラム実行部は、リソース使用量が前記特定の値を超える原因となる常駐プログラムを常駐させない
    請求項1記載のプログラム実行システム。
  3. 前記起動順序定義における常駐プログラムの順番はループ状に規定されており、
    前記常駐プログラム起動制御部は、最初に起動させる常駐プログラムを変更することによって、前記起動順序定義を変更する
    請求項1記載のプログラム実行システム。
  4. 前記常駐プログラム起動制御部は、リソース使用量が前記特定の値を超える原因となる常駐プログラムが次回のシステム起動時に最初に起動するように、前記起動順序定義を変更する
    請求項3記載のプログラム実行システム。
  5. 前記プログラム実行部は、リソース使用量が前記特定の値を超える原因となる常駐プログラムの順番を飛ばして次の常駐プログラムを常駐させる動作を、前記起動順序定義に従って繰り返し行う
    請求項1記載のプログラム実行システム。
  6. 前記起動順序定義における常駐プログラムの順番はループ状に規定されており、
    前記常駐プログラム起動制御部は、リソース使用量が前記特定の値を超える1回目の原因となる常駐プログラムが次回のシステム起動時に最初に起動するように、前記起動順序定義を変更する
    請求項5記載のプログラム実行システム。
  7. 前記常駐プログラム起動制御部は、前記起動順序定義を変更する際、次回のシステム起動時における前記起動順序定義における常駐プログラムの順番をランダムに決定する
    請求項1記載のプログラム実行システム。
  8. 前記常駐プログラム起動制御部は、新たな常駐プログラムが導入されると、前記起動順序定義における常駐プログラムの順番の任意の位置に前記新たな常駐プログラムを追加する
    請求項1記載のプログラム実行システム。
  9. 前記常駐プログラム起動制御部は、新たな常駐プログラムを前記起動順序定義に追加するとき、前記新たな常駐プログラムおよびそれを追加する位置の前後の常駐プログラムのリソース使用量の平均値が、前記起動順序定義に含まれる全ての常駐プログラムのリソース使用量の平均値に最も近くなる位置に追加する
    請求項8記載のプログラム実行システム。
  10. 前記常駐プログラム起動制御部は、前記起動順序定義を複数管理し、予め定められた条件に従って、使用する前記起動順序定義を切り替える
    請求項1記載のプログラム実行システム。
  11. 複数の常駐プログラムのそれぞれには優先度が設定されており、
    前記常駐プログラム起動制御部は、前記起動順序定義を優先度ごとに複数管理し、
    前記プログラム実行部は、システム起動時に、各常駐プログラムをその優先度に対応する前記起動順序定義に従って順次起動させる
    請求項1記載のプログラム実行システム。
  12. 前記プログラム実行部は、各優先度の常駐プログラムが少なくとも1つずつは実行可能なように前記複数の常駐プログラムを起動させる順番を決定する
    請求項11記載のプログラム実行システム。
  13. 複数の常駐プログラムのそれぞれに設定される優先度は、予め定められた条件に従って変更される
    請求項11記載のプログラム実行システム。
  14. システム起動後において、前記プログラム実行部は、常駐させる常駐プログラムを前記起動順序定義に従って一定周期で変更する
    請求項1記載のプログラム実行システム。
  15. 前記起動順序定義における常駐プログラムの順番はループ状に規定されており、
    前記常駐プログラム起動制御部は、システム起動後に常駐プログラムを起動した場合、最後に常駐した常駐プログラムの次の常駐プログラムが次回のシステム起動時に最初に起動するように、前記起動順序定義を変更する
    請求項14記載のプログラム実行システム。
  16. プログラム実行システムのシステム起動時に、プログラム実行部が、複数の常駐プログラムを起動させる順番を規定する情報である起動順序定義に従って常駐プログラムを起動し、
    前記プログラム実行部が前記常駐プログラムを起動させる前または後に、リソース監視部が、前記常駐プログラムの起動によってリソース使用量が特定の値を超えるか否かを判断し、
    前記常駐プログラムの起動によってリソース使用量が前記特定の値を超えると判断された場合、常駐プログラム起動制御部が、次回のシステム起動時における前記起動順序定義を今回の前記起動順序定義から変更する
    ことを特徴とする常駐プログラムの起動方法。
JP2016539756A 2014-08-07 2014-08-07 プログラム実行システムおよび常駐プログラムの起動方法 Active JP6054003B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/070891 WO2016021024A1 (ja) 2014-08-07 2014-08-07 プログラム実行システムおよび常駐プログラムの起動方法

Publications (2)

Publication Number Publication Date
JP6054003B2 true JP6054003B2 (ja) 2016-12-27
JPWO2016021024A1 JPWO2016021024A1 (ja) 2017-04-27

Family

ID=55263330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016539756A Active JP6054003B2 (ja) 2014-08-07 2014-08-07 プログラム実行システムおよび常駐プログラムの起動方法

Country Status (5)

Country Link
US (1) US20180173540A1 (ja)
JP (1) JP6054003B2 (ja)
CN (1) CN106575234B (ja)
DE (1) DE112014006861T5 (ja)
WO (1) WO2016021024A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389149A (zh) * 2015-11-03 2016-03-09 惠州Tcl移动通信有限公司 一种智能设备多屏幕运行实现方法及其系统
CN112084049A (zh) * 2019-06-14 2020-12-15 佛山市顺德区顺达电脑厂有限公司 用于监控基板管理控制器的常驻程序的方法
CN112148374A (zh) * 2020-08-20 2020-12-29 瑞芯微电子股份有限公司 一种SoC芯片启动顺序控制方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007148773A (ja) * 2005-11-28 2007-06-14 Fujitsu Ltd Bios搭載コンピュータ及びbiosローディングプログラム
JP2008097425A (ja) * 2006-10-13 2008-04-24 Mitsubishi Electric Corp 携帯情報端末および携帯情報端末の制御方法
US7702891B1 (en) * 2005-09-16 2010-04-20 Oracle America, Inc. Starting-up software modules for computing systems

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2383825A1 (en) * 2002-04-24 2003-10-24 Ibm Canada Limited-Ibm Canada Limitee Dynamic configuration and self-tuning of inter-nodal communication resources in a database management system
CA2428406A1 (en) * 2002-05-10 2003-11-10 Robert Amil Kleinert Manual slide post driver and extractor for "t"-type metal or fiberglass or plastic posts
US8917655B2 (en) * 2008-07-11 2014-12-23 Samsung Electronics Co., Ltd. Method and apparatus for allowing device supporting multiple PHY communication mode to communicate with device in wireless personal area network
CN102331947B (zh) * 2011-10-14 2013-12-11 中科创达软件股份有限公司 一种Android系统的重启方法
CN103823689A (zh) * 2012-11-19 2014-05-28 宏碁股份有限公司 开机加速方法与电脑系统装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702891B1 (en) * 2005-09-16 2010-04-20 Oracle America, Inc. Starting-up software modules for computing systems
JP2007148773A (ja) * 2005-11-28 2007-06-14 Fujitsu Ltd Bios搭載コンピュータ及びbiosローディングプログラム
JP2008097425A (ja) * 2006-10-13 2008-04-24 Mitsubishi Electric Corp 携帯情報端末および携帯情報端末の制御方法

Also Published As

Publication number Publication date
DE112014006861T5 (de) 2017-04-20
JPWO2016021024A1 (ja) 2017-04-27
WO2016021024A1 (ja) 2016-02-11
CN106575234A (zh) 2017-04-19
US20180173540A1 (en) 2018-06-21
CN106575234B (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
CN106415489B (zh) 应用建议特征
WO2011064933A1 (ja) 節電通知システム、端末装置、方法及びプログラム
JP6054003B2 (ja) プログラム実行システムおよび常駐プログラムの起動方法
JP5481503B2 (ja) ユーザインタフェース装置、ユーザインタフェース方法及びプログラム
CN110704090B (zh) 现场可编程门阵列fpga及其升级方法和升级系统
CN102945111A (zh) 移动终端的后台程序管理方法和装置
US9772672B2 (en) Apparatus, method, and program product for projecting battery usage
CN114418128B (zh) 一种模型部署的方法及装置
CN110083417B (zh) 用户界面响应方法和装置
CN113032119A (zh) 一种任务调度方法、装置、存储介质及电子设备
CN104410910A (zh) 在智能电视中安装存储设备中的应用的控制方法和装置
CN112015450B (zh) 加载智能设备控制页面的方法、装置和存储介质
JP6273907B2 (ja) 車両用機器
KR102626255B1 (ko) 차량용 avnt 시스템 및 그의 제어 방법과 그를 포함하는 차량
JP6151315B2 (ja) 情報提供システム及び情報提供方法
JP6338923B2 (ja) プログラマブルコントローラ及び制御プログラム
KR101317901B1 (ko) 애플리케이션 실행 단말 및 그 방법
CN108280113B (zh) Service Worker控制方法、装置及电子终端
US20170131854A1 (en) Flow autocomplete
CN109062321B (zh) 一种信号生成方法、设备及存储介质
JP6571046B2 (ja) サーバ装置、情報処理方法及びプログラム
KR20130094577A (ko) 어플리케이션을 실행하는 디스플레이 장치 및 그 방법
JP6067106B2 (ja) プログラマブル表示器
JP2015135551A (ja) 情報端末装置
KR101611982B1 (ko) 소비전력 분석 기반의 가전기기 대기전력 학습 방법

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20161012

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161129

R150 Certificate of patent or registration of utility model

Ref document number: 6054003

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250