JP5184268B2 - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP5184268B2
JP5184268B2 JP2008230239A JP2008230239A JP5184268B2 JP 5184268 B2 JP5184268 B2 JP 5184268B2 JP 2008230239 A JP2008230239 A JP 2008230239A JP 2008230239 A JP2008230239 A JP 2008230239A JP 5184268 B2 JP5184268 B2 JP 5184268B2
Authority
JP
Japan
Prior art keywords
application program
execution
executed
identification information
widget
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
JP2008230239A
Other languages
English (en)
Other versions
JP2010066835A (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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2008230239A priority Critical patent/JP5184268B2/ja
Priority to PCT/JP2009/065680 priority patent/WO2010027089A1/ja
Priority to US13/061,738 priority patent/US8661445B2/en
Priority to EP20090811612 priority patent/EP2328087A4/en
Priority to CN200980134773.6A priority patent/CN102144219B/zh
Publication of JP2010066835A publication Critical patent/JP2010066835A/ja
Application granted granted Critical
Publication of JP5184268B2 publication Critical patent/JP5184268B2/ja
Expired - Fee Related 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/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
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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
    • 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/5022Mechanisms to release resources

Description

本発明は、アプリケーションプログラムを実行するときの制御に関する。
マルチウィンドウシステム、すなわち複数のウィンドウを表示可能なウィンドウシステムがある。マルチウィンドウシステムにおいて、ウィンドウのそれぞれが各アプリケーションプログラムに対応していると、複数のウィンドウが表示された状態では、複数のアプリケーションプログラムが並列して実行されていることになる。なお、マルチウィンドウシステムにおけるウィンドウの配置を決める技術として、特許文献1、2に記載された技術がある。これらは、表示されるウィンドウの面積や数に応じて所定のアルゴリズム従ってウィンドウを配置し、視認性を良くしたり、操作性を向上させたりするものである。
特開平6−266524号公報 特開2000−39948号公報
携帯電話機などの小型の情報処理装置においては、メモリの容量が限られているため、マルチウィンドウシステムをこの種の情報処理装置に実装した場合には、並行して実行可能なアプリケーションプログラムの数に限度がある。最近では、この種の情報処理装置の高機能化が進むにつれて、ユーザが望むサービスのレベルや価値も高くなっているが、そのようなサービスを提供するアプリケーションプログラムによって必要とされるメモリの記憶領域は大きくならざるを得ないから、例えば1つのアプリケーションプログラムしか実行することができないという場合も多い。しかしながら、ユーザからは、複数のアプリケーションプログラムの並列実行を可能にして欲しいという要請は根強いものがある。
そこで、本発明は、複数のアプリケーションプログラムを実行して、ユーザからの多様な用途の要請に応える環境と、アプリケーションプログラムを実行して、価値の高いサービスをユーザに提供する環境とを両立することを目的とする。
本発明に係る情報処理装置は、メモリと、各アプリケーションプログラムに前記メモリの記憶領域を割り当てて当該アプリケーションプログラムを実行する実行手段と、実行中のアプリケーションプログラムの識別情報又は実行を中断しているアプリケーションプログラムの識別情報を記憶する記憶手段とを備え、前記実行手段は、
(a)前記記憶手段により記憶されている実行中のアプリケーションプログラムの識別情報の数が上限値未満の場合に、当該実行中のアプリケーションプログラム以外の新たなアプリケーションプログラムを実行するときには、前記実行中のアプリケーションプログラムの実行を中断して当該アプリケーションプログラムの識別情報を、実行を中断しているアプリケーションプログラムの識別情報として前記記憶手段に書き込み、前記新たなアプリケーションプログラムに前記メモリの記憶領域を割り当てて当該アプリケーションプログラムを実行し、実行が中断されている前記アプリケーションプログラムを再び実行するよう指示された場合には、実行中の前記新たなアプリケーションプログラムに対しては、記憶領域を小さくするように前記メモリの記憶領域を割り当て直し、実行を中断しているアプリケーションプログラムとして前記記憶手段に識別情報が記憶されているアプリケーションプログラムの各々に対しては、前記メモリの記憶領域をそれぞれ割り当てて、これらのアプリケーションプログラムの識別情報を、実行中のアプリケーションプログラムの識別情報として前記記憶手段に書き込んで、これらのアプリケーションプログラムを並列して実行し、
(b)前記記憶手段により記憶されている実行中のアプリケーションプログラムの識別情報の数が上限値の場合に、当該実行中のアプリケーションプログラム以外の新たなアプリケーションプログラムを実行するときには、前記実行中のアプリケーションプログラムの実行を中断して当該アプリケーションプログラムの識別情報を、実行を中断しているアプリケーションプログラムの識別情報として前記記憶手段に書き込み、前記新たなアプリケーションプログラムに前記メモリの記憶領域を割り当てて当該アプリケーションプログラムを実行し、実行が中断されている前記アプリケーションプログラムを再び実行するよう指示された場合には、実行中の前記新たなアプリケーションプログラムの実行を終了し、実行を中断しているアプリケーションプログラムとして前記記憶手段に識別情報が記憶されているアプリケーションプログラムの各々に対して、前記メモリの記憶領域をそれぞれ割り当てて、これらのアプリケーションプログラムの識別情報を、実行中のアプリケーションプログラムの識別情報として前記記憶手段に書き込んで、これらのアプリケーションプログラムを並列して実行し、前記新たなアプリケーションプログラムは、割り当てた記憶領域の大きさに応じて異なる機能を実現するアプリケーションプログラムであることを特徴とする。
本発明に係る情報処理装置において、前記実行手段は、前記(b)の場合において、実行が中断されている前記アプリケーションプログラムを再び実行するよう指示されると、実行中の前記新たなアプリケーションプログラムの実行を終了することに代えて、実行を中断しているアプリケーションプログラムとして前記記憶手段に識別情報が記憶されているアプリケーションプログラムのうち、実行の優先度が低いアプリケーションプログラムを特定し、特定したアプリケーションプログラムの実行を終了し、実行中の前記新たなアプリケーションプログラムと、実行を中断しているアプリケーションプログラムとして前記記憶手段に識別情報が記憶されているアプリケーションプログラムのうち、実行を終了した前記アプリケーションプログラム以外のアプリケーションプログラムとの各々に対して、前記メモリの記憶領域をそれぞれ割り当てて、これらのアプリケーションプログラムの識別情報を、実行中のアプリケーションプログラムの識別情報として前記記憶手段に書き込んで、これらのアプリケーションプログラムを並列して実行するようにしてもよい。
この情報処理装置において、前記実行手段は、前記実行中のアプリケーションプログラムの識別情報又は前記実行を中断しているアプリケーションプログラムの識別情報が前記記憶手段に記憶されている期間に応じて、当該識別情報に対応するアプリケーションプログラムの前記優先度を求めるようにしてもよい。この構成において、前記実行手段は、前記実行中のアプリケーションプログラムの実行を中断して新たに実行されたアプリケーションプログラムの実行期間に応じて、当該アプリケーションプログラムの前記優先度を求めるようにしてもよい。また、前記実行手段は、前記実行中のアプリケーションプログラムの識別情報又は前記実行を中断しているアプリケーションプログラムの識別情報が前記記憶手段に記憶された回数に応じて、各アプリケーションプログラムの前記優先度を求めるようにしてもよい。また、前記実行手段は、前記実行中のアプリケーションプログラムの実行を中断して新たに実行されたアプリケーションプログラムの実行回数に応じて、当該アプリケーションプログラムの前記優先度を求めるようにしてもよい。
また、本発明に係るプログラムは、コンピュータをこれらの情報処理装置として機能させることを特徴とするものである。また、本発明に係るプログラムは、インターネット等のネットワークを介して、コンピュータにダウンロードさせ、これをインストールして利用可能にするなどの形態でも提供され得る。なお、本発明は、かかるプログラムを記憶させた光ディスク等の記録媒体としても特定され得る。
本発明によれば、複数のアプリケーションプログラムを実行して、ユーザからの多様な用途の要請に応える環境と、アプリケーションプログラムを実行して、価値の高いサービスをユーザに提供する環境とを両立することができる。
[実施形態]
図1は、本発明の一実施形態である通信端末装置の物理的構成を示すブロック図である。同図に示すように、通信端末装置10は、制御部11と、無線通信部12と、表示部13と、操作部14とを備える。なお、本実施形態の通信端末装置10は、図示せぬマイクやスピーカ等の音声を入出力する手段を備えた、携帯電話機であるとする。
制御部11は、CPU(Central Processing Unit)11a、ROM(Read Only Memory)11b、RAM(Random Access Memory)11c及びEEPROM(Electronically Erasable and Programmable ROM)11dを備えている。CPU11aは、RAM11cをワークエリアとして用いてROM11bやEEPROM11dに記憶されたプログラムを実行する実行手段であり、このプログラムを実行することにより通信端末装置10の各部の動作を制御する。すなわち、RAM11cは、CPU11aがアプリケーションプログラムを実行するときにそのアプリケーションプログラムに割り当てられるメモリとして機能する。無線通信部12は、アンテナ12aを備え、所定の移動通信網とのデータ通信を無線で行う。表示部13は、液晶ディスプレイや液晶駆動回路を備え、制御部11から供給される表示データに応じた画像を表示領域に表示する。操作部14は、複数のキー(操作子)を備え、ユーザの押下操作を受け付けて、その操作に応じた操作情報を制御部11に供給する。ここでの操作子は、いわゆるハードボタンであってもよいし、通信端末装置10がタッチパネルを備えている場合には、タッチパネルがこの操作を受け付けてもよい。
ROM11bは、あらかじめいくつかのプログラムを記憶している。以下ではこれを「プリインストールプログラム」という。プリインストールプログラムは、マルチタスクオペレーティングシステム(以下「マルチタスクOS」という。)、Java(登録商標)プラットフォーム及びネイティブアプリケーションプログラムを含む。マルチタスクOSは、複数のタスクの擬似的な並列実行を実現するために必要な仮想メモリ空間の割り当てなどの各種機能をサポートしたオペレーティングシステムである。Javaプラットフォームは、マルチタスクOSを搭載した通信端末装置10において後述するJava実行環境140を実現するためのコンフィギュレーションであるCDC(Connected Device Configuration)に従って記述されたプログラム群である。ネイティブアプリケーションプログラムは、通話等の通信端末装置10における基本的な機能を実現するプログラムである。
EEPROM11dは、Javaアプリケーションプログラムが記憶されるJavaアプリケーションプログラム格納領域を有する。Javaアプリケーションプログラムは、Java実行環境下における処理の手順自体を記述した実体プログラムとその実体プログラムの実行に伴って利用される画像ファイルや音声ファイルとを結合したJAR(Java Archive)ファイルと、そのJARファイルのインストールや起動などに関する各種の属性を記述したADF(Application Descriptor File)とを有している。このJavaアプリケーションプログラムは、コンテンツプロバイダ又は通信事業者により作成されて外部のサーバ装置などに格納され、通信端末装置10からの要求に応じてそれらのサーバ装置から適宜ダウンロードされるようになっている。
図2は、ROM11b及びEEPROM11dに記憶された各種プログラムの実行により、通信端末装置10の制御部11によって実現される各部の論理的構成を示す図である。同図に示すように、各種プログラムを実行する通信端末装置10には、ネイティブアプリケーションプログラム120及びJava実行環境130がOS110上に実現され、また、EEPROM11dには第1ストレージ140と第2ストレージ150とが確保される。
Java実行環境130は、ROM11bのJavaプラットフォームにより実現される。Java実行環境130は、クラスライブラリ160、JVM(Java Virtual Machine)170及びJAM(Java Application Manager)180からなる。クラスライブラリ160は、特定の機能を有するプログラムモジュール(クラス)群を1つのファイルに結合したものである。JVM170は、上述のCDCのために最適化されたJava実行環境であり、Javaアプリケーションプログラムとして提供されるバイトコードを解釈して実行する機能を有する。JAM180は、Javaアプリケーションプログラムのダウンロード、インストール、起動、終了等を管理する機能を有する。
第1ストレージ140は、JAM180の管理の下にダウンロードされるJavaアプリケーションプログラム(JarファイルとADF)を格納する領域である。第2ストレージ150は、Javaアプリケーションプログラムの実行の際に生成されたデータをその終了後に格納しておくための領域であり、インストールされたJavaアプリケーションプログラム毎に個別の格納領域が割り当てられるようになっている。そして、あるJavaアプリケーションプログラムに割り当てられた格納領域のデータは、そのJavaアプリケーションプログラムが実行されている間のみ書き換え可能となっており、別のJavaアプリケーションプログラムが書き換えを行い得ないようになっている。
本実施形態のJavaアプリケーションプログラムには、複数のウィンドウを表示するためのアプリケーションプログラムが含まれる。複数のウィンドウを表示するためのJavaアプリケーションプログラムには、「一覧表示アプリケーションプログラム」と「ウィジェット」とがある。ここにおいて、一覧表示アプリケーションプログラムとは、表示部13の表示領域に1又は複数のウィンドウを表示し、その表示に係る制御を実行するためのアプリケーションプログラムをいう。また、「ウィジェット」とは、一覧表示アプリケーションプログラムによってウィンドウが表示されることによって、所定の機能を実現するアプリケーションプログラムをいう。
なお、以下では、1又は複数のウィジェットにそれぞれ対応するウィンドウが一覧表示されている画面のことを「一覧表示画面」という。また、本実施形態において「ウィンドウ」とは、あるウィジェットに対して割り当てられる表示部13の一部の表示領域をいうものであり、他の部分と区別可能な画像によって表示される。ウィンドウの形状やサイズはウィジェット毎に決められている。
本実施形態においては、ウィジェットが複数あり、それぞれのウィジェットが異なる機能を実現する。ウィジェットには、例えば、時計を模した画像をウィンドウに表示することによって日時を表示するもの(以下「時計ウィジェット」という。)や、ユーザが入力した文字等をメモとしてウィンドウに表示するもの(以下「メモウィジェット」という。)や、映像又は音楽を再生するもの(以下「再生ウィジェット」という。)、コンピュータゲームを実行するもの(以下、「ゲームウィジェット」という)等がある。また、ウィジェットは、適当なタイミングで無線通信部12を介してニュースや天気予報などの情報を取得し、取得した情報に応じた表示を行うものであってもよい。
本実施形態の通信端末装置10の構成は、以上のとおりである。このような構成を有する通信端末装置10は、ユーザの要求に応じて複数のアプリケーションプログラムを実行する。この通信端末装置10は、ウィジェットのウィンドウを複数表示することによってマルチウィンドウシステムを実現している。つまり、通信端末装置10は、複数のウィンドウを配置した一覧表示画面を表示する場合には、一覧表示アプリケーションプログラムを実行している状態にある。ユーザは、操作部14の方向キーを操作することにより、一覧表示画面における複数のウィンドウのいずれかを選択することができる。制御部11は、操作部14から出力される信号に応じて、表示部13に表示された複数のウィンドウのうちの少なくともいずれかひとつを選択する。本実施形態において、ウィンドウについて「選択」とは、ウィンドウに入力フォーカスを与えて、そのウィンドウを指定することをいう。
通信端末装置10は、一覧表示画面において表示したウィンドウのうち、ユーザにより選択されたウィンドウに対応するウィジェットを、そのウィンドウが選択されていないときと異なる処理を実行する状態にする。つまり、各ウィジェットは、対応するウィンドウが選択中であるか否かによって異なる処理を実行可能である。具体的には、通信端末装置10は、ウィンドウが選択中のときには、それに対応するウィジェットの全部の機能を実行した状態(以下、「全部実行」という)にして処理を行うし、ウィンドウが選択されていないときには、そのウィジェットの一部の機能のみを実行した状態(以下、「一部実行」という。)にして処理を行う。制御部11は、ウィジェットを全部実行したときには、そのウィジェットに記述された手順の全てを参照範囲として、その手順に従い処理を実行する。一方、制御部11は、ウィジェットを一部実行したときには、そのウィジェットに記述されている手順のうち、予め決められた一部の手順を参照範囲として、その手順に従い処理を実行する。
例えば、時計ウィジェットは、一部実行のときには日時を表示する処理を実行可能にするが、全部実行のときには、日時の表示に加えて、その表示の外観(形状や色など)を変更する処理を実行可能にする。また、メモウィジェットは、一部実行のときには文字等を表示する処理を実行するが、一部実行のときには文字等を変更する処理を実行する。再生ウィジェットは、一部実行のときには映像又は音楽を再生する処理を実行するが、全部実行のときには音量の調整、一時停止、早送りなどをも行う処理を実行する。ゲームウィジェットは、一部実行のときにはゲームを静止状態にし、その状態の画像を表示する処理を実行するが、全部実行のときにはゲームを進行するための処理を実行する。通信端末装置10は、例えば時計ウィジェットに対してユーザが時刻を合わせる操作をすれば時刻を変更する、といった具合に、ユーザの操作に応じてウィジェットのそれぞれの実行状態に応じて処理を実行する。
このように、1つのウィジェットが提供する多様なサービスのうち、一部実行のときには、簡易な処理によって実現可能なサービスが提供され、全部実行のときには、複雑な処理によって実現可能なサービスが提供される。処理の簡易さ・複雑さは、そのときに使用されるRAM11cの記憶領域の大きさに依存するから、通信端末装置10において、ウィジェットを全部実行するときには、RAM11cにおいて割り当てられる記憶領域は大きくなるし、そのウィジェットを一部実行するときには、RAM11cにおいて割り当てられる記憶領域はそれよりも小さくなる。よって、通信端末装置10は、多くのウィジェットを同時に一部実行することができる。一方、或るウィジェットを全部実行したときには、そのウィジェットに対してRAM11cにおいて比較的大きな記憶領域を割り当てるから、他のウィジェットの機能を使用することはできないが、その全部実行したウィジェットの機能の全てを実現し得る状態になる。よって、ユーザに対してより高いレベルのサービスを提供することができる。
さて、通信端末装置10は、一覧表示アプリケーションプログラムを実行して、一部実行したウィジェットのウィンドウを一覧表示画面で表示し、いずれかのウィジェットを全部実行したときには、そのウィンドウのみを配置した画面(以下、「全部実行画面」という。)を表示部13に表示させる。このとき、全部実行画面において表示されるウィンドウのサイズが、例えば倍率「100%」であるとすると、一部実行により一覧表示画面に表示されるウィンドウのサイズは、例えば倍率「60%」であるという具合に、実行状態に応じてウィンドウの表示態様は異なる。通信端末装置10が一覧表示画面を表示しているときに、ユーザにより操作部14が操作されて或るウィンドウが選択されると、選択されたウィンドウに対応するウィジェットを、一部実行から全部実行に切り替えるとともに、選択されたウィンドウ以外のウィンドウに対応するウィジェットを、一部実行した状態から、実行を一時的に中断した状態に切り替える。これに応じて、通信端末装置10は、表示部13に表示していた「一覧表示画面」を、「全部実行画面」に切り替える。また、通信端末装置10は、「全部実行画面」から「一覧表示画面」に切り替えるときには、全部実行していたウィジェットを一部実行に切り替え、それ以前に一部実行していたが実行を中断していたウィジェットを一部実行する。これにより、一部実行に応じたウィンドウを配置した一覧表示画面が表示される。
ウィジェットの表示に関しては、上記のような「一覧表示画面」及び「全部実行画面」のほか、「リスト画面」と呼ばれるものがある。この「リスト画面」は、通信端末装置10が実行可能な全てのウィジェットを一覧表示したものである。通信端末装置10は、新たにウィジェットを実行するときには、この「リスト画面」を表示部13に表示させ、起動するウィジェットをユーザに選択させる。図3は、リスト画面を模式的に表した図である。同図に示すリスト画面には、通信端末装置10が実行可能なウィジェットの一部に対応するアイコンICO1〜ICO8が配置されている。なお、図示しないが、ユーザが操作部14の下向きの操作キーを操作すると、別のウィジェットに対応するアイコンが表示される。ユーザにより、操作部14を介していずれかのアイコンが選択されると、通信端末装置10は、そのアイコンに対応するウィジェットを全部実行する。
ところで、一覧表示アプリケーションプログラムは、複数のウィンドウの一覧表示を中断する場合がある。具体的には、通信端末装置10が一覧表示アプリケーションプログラムによる一覧表示画面の表示中に、全部実行画面やリスト画面を表示し、再び一覧表示画面に戻って、元の表示内容で表示するような場合である。これ以外にも、通信端末装置10は、一覧表示画面を表示中に、ユーザが通話を開始した場合には、表示部13が表示する画像を通話用の画像に変更する割込処理を実行し、通話が終われば再び一覧表示画面を表示する。このような場合のために、通信端末装置10の制御部11は、実行しているウィジェット又は実行を中断しているウィジェットの識別情報(後述するウィジェットID)を、ウィジェット管理テーブルと呼ばれるテーブル型式でEEPROM11dに記憶させる。制御部11は、一覧表示画面の表示を再開するときには、ウィジェット管理テーブルの内容に基づいて、中断前と同じようにしてウィジェットを実行し、それに対応するウィンドウを表示する。
図4は、ウィジェット管理テーブルの構成を示した図である。図4に示すように、ウィジェット管理テーブルにおいては、「ウィジェットID」と「実行状態」とが対応付けられている。「ウィジェットID」のフィールドには、時計ウィジェットやメモウィジェット等の、通信端末装置10が実行済みのウィジェットを識別する識別情報が書き込まれる。「実行状態」のフィールドには、ウィジェットが「一部実行」であるか、「全部実行」であるか、又はウィジェットの実行が一時的に中断されていることを意味する「実行オフ」のいずれかの実行状態が書き込まれる。図4に示すウィジェット管理テーブルの内容の場合には、通信端末装置10は、ウィジェットID「001」〜「005」のそれぞれに対応するウィジェットを一部実行している。このとき、通信端末装置10は、各ウィジェットに対応するウィンドウを配置した一覧表示画面を、表示部13に表示させている。通信端末装置10は、ウィジェットの実行状態を変更するたびに、このウィジェット管理テーブルを更新する。
図5は、制御部11が一覧表示アプリケーションプログラム及びウィジェットを実行するときのフローチャートである。以下では、通信端末装置10がウィジェットを実行するときの動作について説明するものとし、この動作の前は、ウィジェットはまだ1つも実行されていないものとする。
まず、制御部11は、ユーザにより操作部14が操作されて、リスト画面を表示するか、又は一覧表示画面を表示するかの指示を受け付けるまで待機する。ここで、制御部11は、リスト画面を表示する指示を受け付けたと判断すると(ステップS1;リスト画面)、図3に示したような、自装置が実行可能なウィジェットを一覧表示したリスト画面を、表示部13に表示させる(ステップS2)。そして、制御部11は、ユーザにより操作部14が操作され、いずれかのアイコンが選択されることにより、ウィジェットの実行が指示されるまで待機する(ステップS3;NO)。制御部11は、アイコンが選択されて、それに対応するウィジェットの実行が指示されたと判断すると(ステップS3;YES)、ステップS4に進む。ここでは、ステップS3において、ユーザにより図3のアイコンICO1(ウィジェットID:001)が選択され、制御部11は、時計ウィジェットの実行が指示されたと判断したものとする。
続いて、制御部11は、ウィジェット管理テーブルを更新する(ステップS4)。ここでは、図6(a)に示す内容となるように、制御部11はウィジェット管理テーブルを書き換える。具体的には、制御部11は、時計ウィジェットに対応するウィジェットID「001」を書き込み、それに対応付けて「実行状態」のフィールドに「全部実行」と書き込む。そして、制御部11は、ステップS4での更新内容に応じてウィジェットを全部実行し、それに対応するウィンドウを表示部13に表示させる(ステップS5)。ここでは、制御部11は、時計ウィジェットを全部実行し、図7(a)に示すように、時計ウィジェットに対応するウィンドウW1を配置した全部実行画面を、表示部13に表示させる。このとき、制御部11は、時計ウィジェットを全部実行しているから、RAM11cの記憶領域のうちの多くの記憶領域を利用していることになる。よって、この時計ウィジェット以外のウィジェットを実行することはできないようになっている。
そして、制御部11は、ユーザの操作部14の操作に従って、全部実行した時計ウィジェットに応じた処理を実行する(ステップS6)。ここでの時計ウィジェットに応じた処理とは、上述したように、外観を変更する等の処理があり、一部実行したときとは異なる処理である。
そして、制御部11は、全部実行したウィジェットの処理の終了が指示されたか否かを判断する(ステップS7)。ここでは、制御部11は、ユーザにより操作部14が操作されて、表示中の全部実行画面から一覧表示画面に切り替えて表示することを指示されたときに、全部実行しているウィジェットの処理の終了が指示されたと判断する。
制御部11は、ステップS7で「YES」と判定すると、同時に実行しているウィジェットの数が許容数未満であるか否かを判断する(ステップS8)。ここでの許容数を“8”とし、その値がROM11bに記憶されている。この許容数は、通信端末装置10がウィジェットの実行に用いるRAM11cの記憶容量と、それぞれのウィジェットの一部実行に必要な記憶容量との関係に基づき、設計段階で予め決められた上限値である。つまり、一部実行のウィジェットに要する記憶容量が、RAM11cのウィジェット実行用の記憶容量を超えない程度の値に決められる。
ここでは、時計ウィジェットしか実行しておらず、同時に実行しているウィジェットの数は「1」であるから、制御部11は「YES」と判定し、ステップS9に進んで、ウィジェット管理テーブルを更新する。ここでは、制御部11はウィジェット管理テーブルを図6(b)に示す内容となるように書き換える。具体的には、制御部11は、時計ウィジェットのウィジェットID「001」に対応する「実行状態」のフィールドを、「全部実行」から「一部実行」に書き換える。この更新により、制御部11は、同時に実行する全てのウィジェットの実行状態を「一部実行」にしたことになり、一部実行しているこれらのウィジェットのウィンドウを配置した一覧表示画面を、表示部13に表示させる(ステップS10)。このとき、制御部11は、各ウィジェットに対して、全部実行するときに割り当てる記憶領域よりも小さい記憶領域を割り当てて、一部実行している。ステップS9で時計ウィジェットを一部実行にするようウィジェット管理テーブルを更新したから、ステップS10では、制御部11は、図7(b)に示すように、一部実行している時計ウィジェットに対応するウィンドウWs1を、表示部13の中央に配置した一覧表示画面を表示させる。そして、制御部11は、ステップS1に戻り、リスト画面を表示するか、又は一覧表示画面を表示するかの指示を受け付けるまで待機する。
続いて、制御部11は、リスト画面を表示部13に表示した状態で(ステップS2)、新たに別のウィジェットを実行することが指示されると(ステップS3;YES)、実行が指示されたウィジェットを実行する。ここで、メモウィジェットを実行することが指示されたとすると、制御部11は、図6(c)に示す内容となるように、ウィジェット管理テーブルを更新する(ステップS4)。つまり、制御部11は、メモウィジェットに対応するウィジェットID「002」をウィジェット管理テーブルに書き込み、それに対応する実行状態として「全部実行」と書き込む。ただし、すでに他のウィジェットを実行済みであるので、このような場合には、制御部11は、実行済みのウィジェットの実行状態をすべて「一部実行」から「実行オフ」に書き換える。ここでは、制御部11は、ウィジェットID「001」に対応する実行状態を「実行オフ」に書き換える。これにより、ウィジェットをすでに実行しているときであっても、別のウィジェットを全部実行することを可能にしている。「実行オフ」に書き換えることにより、先に実行していたウィジェット(ここではウィジェットID「001」の時計ウィジェット)に割り当てていたRAM11cの記憶領域を解放し、新たに全部実行するメモウィジェットに、RAM11cの記憶領域を割り当てるからである。
そして、制御部11はメモウィジェットを全部実行し、図7(c)に示すように、それに対応するウィンドウW2を配置した全部実行画面を、表示部13に表示させる(ステップS5)。
続いて、制御部11はステップS6〜S8を実行し、表示部13に一覧表示画面を表示させるには、ウィジェット管理テーブルを、図6(d)に示す内容となるように更新する(ステップS9)。つまり、制御部11は、メモウィジェットを一部実行にするべく、ウィジェットID「002」に対応する実行状態を「全部実行」から「一部実行」に書き換える。これとともに、制御部11は、ウィジェット管理テーブルに基づいて、ウィジェットID「001」に対応する実行状態を「実行オフ」から「一部実行」に書き換え、ウィジェットID「001」、「002」のウィジェットに対してRAM11cの記憶領域を割り当てる。これにより、制御部11は、同時に実行しているすべてのウィジェットの実行状態を「一部実行」にしたことになる。そして、制御部11は、図7(d)に示すように、時計ウィジェットに対応するウィンドウWs1と、メモウィジェットに対応するウィンドウWs2とを配置した一覧表示画面を、表示部13に表示させる(ステップS10)。
以降においても、同時に実行するウィジェットの数が許容数“8”に達するまでは、制御部11は、上記同様の処理ステップを実行する。すなわち、制御部11は、ウィジェット管理テーブルに書き込まれている実行中(一部実行)のウィジェットのウィジェット数が上限値未満の場合に、その実行中のウィジェット以外の新たなウィジェットを実行するときには、実行中のウィジェットの実行を中断して当該ウィジェットのウィジェットIDを、実行を中断しているウィジェットのウィジェットIDとしてウィジェット管理テーブルに書き込む。そして、制御部11は、新たなウィジェットにRAM11cの記憶領域を割り当てて当該ウィジェットを実行する。また、制御部11は、実行が中断されているウィジェットを再び実行するよう指示された場合には、実行中のウィジェット及び実行を中断しているウィジェットの各々に対して、RAM11cの記憶領域をそれぞれ割り当てて、これらのウィジェットのウィジェットIDを、実行中のウィジェットのウィジェットIDとしてウィジェット管理テーブルに書き込んで、これらのウィジェットを並列して実行する。
“8”個のウィジェットを制御部11が同時に実行して一覧表示画面を表示するときには、ウィジェット管理テーブルは、図6(e)に示すような内容になっている。つまり、同時に実行している“8”個のウィジェットのそれぞれに対応するウィジェットID「001」〜「008」に、実行状態として「一部実行」と書き込まれている。このとき、一覧表示画面は、図8(a)に示すような表示態様となっており、一部実行中の8個のウィジェットのそれぞれに対応する、ウィンドウWs1〜Ws8が表示される。なお、図8(a)のように、表示部13の表示領域からはみだしているウィンドウの領域については表示されないが、ユーザは、操作部14を操作することによりその領域を見ることができる。
続いて、許容数を超える“9”個目のウィジェットを実行することが指示された場合の制御部11の動作について説明する。
制御部11は、“9”個目のウィジェットとして「ゲームウィジェット」の実行が指示されたとすると(ステップS3;YES)、ウィジェットID管理テーブルを、図6(f)に示す内容となるよう更新する(ステップS4)。つまり、制御部11は、実行済みの8個のウィジェットに対応するウィジェットID「001」〜「008」の実行状態を、「一部実行」から「実行オフ」に書き換え、新たに実行したゲームウィジェットのウィジェットID「009」に対応付けて「全部実行」と書き込む。これにより、制御部11は、ウィジェットID「001」〜「008」にそれぞれ割り当てていたRAM11cの記憶領域を全て解放し、ウィジェットID「009」のウィジェットに対してRAM11cの記憶領域を割り当てる。そして、制御部11は、図8(b)に示すようにして、全部実行のゲームウィジェットに対応するウィンドウW9を配置した全部実行画面を、表示部13に表示させる(ステップS5)。
一覧表示画面を表示するときには、同時実行の対象となるウィジェットの数(ウィジェット管理テーブルにおいて実行オフとなっているウィジェットの数)が“8”に対して許容数が“8”であるから、制御部11は、ステップS8で「NO」と判定し、ステップS11に進む。そして、制御部11は、実行済みのウィジェットが許容数“8”に達した後に、ステップS3で実行したゲームウィジェットを終了する(ステップS11)。そして、制御部11は、ウィジェット管理テーブルを、図6(g)に示す内容となるように更新する(ステップS12)。つまり、制御部11は、ウィジェットID「001」〜「008」に対応する実行状態を「実行オフ」から「一部実行」に書き換え、終了したゲームウィジェットに対応するウィジェットID「009」を、ウィジェット管理テーブルから消去する。そして、制御部11は、ゲームウィジェットに割り当てていたRAM11cの記憶領域を解放し、ウィジェットID「001」〜「008」のウィジェットのそれぞれに対してRAM11cの記憶領域を割り当てる。これにより、制御部11がステップS10で表示する一覧表示画面は、図8(c)に示すようになる。つまり、“8”個のウィジェットを実行した当初の一覧表示画面(図8(a))と同じになる。以降、許容数のウィジェットを実行している限りは、一覧表示画面に戻るときに、制御部11は最後に実行したウィジェットを終了する。
即ち、制御部11は、ウィジェット管理テーブルにより記憶されている実行中のウィジェットのウィジェットIDの数が上限値の場合に、実行中のウィジェット以外の新たなウィジェットを実行するときには、実行中のウィジェットの実行を中断してウィジェットのウィジェットIDを、実行を中断しているウィジェットのウィジェットIDとしてウィジェット管理テーブルに書き込む。そして、制御部11は、新たなウィジェットにRAM11cの記憶領域を割り当ててウィジェットを実行する。また、制御部11は、実行が中断されているウィジェットを再び実行するよう指示された場合には、実行中の新たなウィジェットの実行を終了し、実行を中断しているウィジェットの各々に対して、RAM11cの記憶領域をそれぞれ割り当てて、これらのウィジェットのウィジェットIDを、実行中のウィジェットのウィジェットIDとしてウィジェット管理テーブルに書き込んで、これらのウィジェットを並列して実行する。
このように、RAM11cの記憶容量の制限に関係して、同時実行のウィジェットの許容数が“8”と決められている場合であっても、制御部11は、新たに“9”個目のウィジェットの実行が指示されると、実行済みのウィジェットの実行を一旦中断し、これにより空いた記憶領域を用いて、新たなウィジェットを全部実行する。また、一覧表示画面に戻って表示するときには、制御部11は、その“9”個目のウィジェットを終了させて、これにより空いた記憶領域を用いて、ウィジェット管理テーブルに記されている実行済みの“8”個のウィジェットを一部実する。これにより、複数のアプリケーションプログラムを同時実行し、その数が許容数に達しても、通信端末装置10は新たにアプリケーションプログラムを実行することができるし、それを終了したときには、元の同時実行の状態に戻すことができる。
なお、ステップS1において、制御部11が一覧表示画面を表示するときには(ステップS1;一覧表示画面)、その時点でのウィジェット管理テーブルの内容に基づいて、一部実行しているウィジェットのウィンドウを配置した一覧表示画面を、表示部13に表示させる(ステップS13)。そして、制御部11は、ユーザにより或るウィンドウが選択されると(ステップS3;YES)、ウィジェット管理テーブルをその旨に更新し(ステップS4)、選択されたウィンドウに対応するウィジェットを「一部実行」から「全部実行」に切り替え、「一部実行」していたその他のウィジェットを一旦中断する(ステップS5)。そして、制御部11は、上記同様の処理ステップを実行する。
以上説明した実施形態によれば、通信端末装置10の制御部11は、複数のウィジェットを並列して実行しようとするときには、それぞれに割り当てるRAM11cの記憶領域を小さくした一部実行により実行し、それらのウィジェットの実行により実現される機能の一部のみが実現されるようにする。一方、ユーザに価値の高いサービスを提供しようとするときには、制御部11は、そのうちの1つのウィジェットに割り当てるRAM11cの記憶領域を大きくしてウィジェットを全部実行し、それによって実現される機能の全部を実現できるようにする。このような、複数のウィジェットの実行状態の制御により、ユーザからの多様な用途の要請に応える環境と、ウィジェットを実行して、価値の高いサービスをユーザに提供する環境とを両立することができる。
[変形例]
本発明は、上述した実施形態と異なる形態で実施することが可能である。本発明は、例えば、以下のような形態で実施することも可能である。また、以下に示す変形例は、各々を適宜に組み合わせてもよい。
(1)変形例1
上述した実施形態では、制御部11は、実行済みのウィジェットが許容数に到達した後に、ステップS3で実行したウィジェット(つまり、最後に実行したウィジェット)を終了させ、ウィジェット管理テーブルから消去していた。これに対し、制御部11は、最後に実行したウィジェット以外のウィジェットを終了させるようにしてもよい。どのウィジェットを終了させるかについては、以下のような構成が考えられる。
(1−1)ユーザによる指定
制御部11は、ステップS8で「NO」と判定すると、どのウィジェットを終了させるかをユーザに質問する画面を、表示部13に表示させる。例えば、制御部11は、実行中の各々のウィジェットの名称を記したソフトボタンを複数配置した画面を表示部13に表示させ、終了するウィジェットをユーザに選択させる。そして、制御部11は、ユーザにより選択されたソフトボタンに対応するウィジェットを終了させ、最後に実行したウィジェットを全部実行から一部実行に切り替えるとともに、実行を中断していたウィジェット(ユーザの選択により終了したウィジェットを除く)を一部実行に切り替える。この構成において、例えば、図8(a)に示すウィンドウWs3に対応するウィジェット終了することがユーザにより指示された場合には、制御部11は、図9に示すように、ウィンドウWs3に代えて、ゲームウィジェットに対応するウィンドウWs9を一覧表示画面に表示させることになる。
(1−2)優先度による指定
各ウィジェットに対して“実行の優先度”を定義し、その優先度の低いウィジェットを終了させてもよい。ここでの優先度は、各ウィジェットの使用状況やユーザの指定によって決められるものであり、EEPROM11dに記憶されるようになっている。
この場合、制御部11は、図5のステップS11において、ウィジェット管理テーブルにおいて実行状態「実行オフ」に対応付けて記述されているウィジェットIDのうち、実行の優先度が低いウィジェットのウィジェットIDを特定し、そのウィジェットを実行を終了する。そして、制御部11は、全部実行しているウィジェットと、実行状態「実行オフ」のウィジェットのうち、優先度が低いために実行を終了したウィジェット以外のウィジェットとの各々に対して、RAM11cの記憶領域をそれぞれ割り当てる。そして、制御部11は、これらのウィジェットを一部実行して、これらを並列して実行する。
例えば、制御部11は、各ウィジェットが実行された期間に基づいて優先度を求める。この場合、通信端末装置10がタイマ等の計時手段を備え、制御部11は、ウィジェット管理テーブルにおける各ウィジェットIDが実行状態「一部実行」又は「実行オフ」に対応付けられて記述されている期間(時間)を計時手段によって求め、それをウィジェット管理テーブルに記述しておく。各ウィジェットIDに対応付けられて記述されている期間は、実行中のアプリケーションプログラムの識別情報又は実行を中断しているアプリケーションプログラムの識別情報がウィジェット管理テーブルに記述されている期間ということになる。そして、図5のステップS11において、制御部11は、ウィジェット管理テーブルに記述された期間に基づいて、優先度を求める。例えばその期間が短いということは、ユーザによって利用されている期間が短いことを意味するので、そのユーザにとってあまり重要ではないという観点から、優先度を低くするということが考えられる。また、そうではなくて、その期間が短いということは、ユーザによって利用され始めた時期が最近である可能性があるから、そのユーザにとって今は重要であるという考え方もできる。よって、この場合には、期間が長いほど優先度が低いということになる。そこで、制御部11は、図5のステップS11にて、ウィジェット管理テーブルにおいて優先度の低いウィジェットを終了させる。
この場合において、制御部11は、ウィジェット管理テーブルにおける各ウィジェットIDが、実行状態「全部実行」に対応付けられて記述されている期間を求め、それをウィジェット管理テーブルに記述してもよい。ウィジェットIDが実行状態「全部実行」に対応付けられて記述されている期間は、実行中のアプリケーションプログラムの実行を中断して新たに実行されたアプリケーションプログラムの実行期間ということになる。この場合も上記と同様に、その期間が短いということは、ユーザによって利用されている期間が短いことを意味するから、そのユーザにとってあまり重要ではないという観点から、優先度を低くするということも考えられるし、また、ユーザによって利用され始めた時期が最近であることから、そのユーザにとって今は重要であるという考え方もできる。ただし、ウィジェットIDが実行状態「全部実行」に対応付けられて記述されている期間は、実行状態「一部実行」又は「実行オフ」に対応付けられて記述されている期間よりも、ユーザに対してより有用なサービスを提供した期間といえるから、ユーザの利用度に応じた優先度として用いるのに適している。そして、この場合も、制御部11は、図5のステップS11にて、ウィジェット管理テーブルにおいて優先度の低いウィジェットを終了させる。
また、制御部11は、上記期間に代えて、アプリケーションを実行した(起動した)時期に基づいて優先度を特定するようにしてもよい。この場合、制御部11は、近い時期に実行したアプリケーションほど優先度を高くする。このようにすれば、ユーザにより最近よく使用されている、重要度が高いアプリケーションのウィンドウを一覧表示画面に表示させることができる。
また、制御部11は、ウィジェット管理テーブルにおける各ウィジェットIDが実行状態「一部実行」又は「実行オフ」に対応付けられて記述された回数を求めて、それをウィジェット管理テーブルに記述しておいてもよい。ここで、実行状態「一部実行」又は「実行オフ」に対応付けられて記述された回数は、実行中のアプリケーションプログラムの識別情報又は実行を中断しているアプリケーションプログラムの識別情報がウィジェット管理テーブルに記憶された回数ということになる。そして、図5のステップS11において、制御部11は、ウィジェット管理テーブルに記述された回数に基づいて、優先度を求める。例えばその回数が少ないということは、ユーザによって利用された回数が少ないことを意味するので、そのユーザにとってあまり重要ではないという観点から、優先度を低くするということが考えられる。また、そうではなくて、その回数が少ないということは、ユーザによって利用され始めた時期が最近である可能性があるから、そのユーザにとって今は重要であるという考え方もできる。よって、この場合には、回数が多いほど優先度が低いということになる。そこで、制御部11は、図5のステップS11にて、ウィジェット管理テーブルにおいて優先度の低いウィジェットを終了させる。
また、制御部11は、ウィジェット管理テーブルにおける各ウィジェットIDが実行状態「全部実行」に対応付けられて記述された回数を求めて、それをウィジェット管理テーブルに記述しておいてもよい。ここで、実行状態「全部実行」に対応付けられて記述された回数は、実行中のアプリケーションプログラムの実行を中断して新たに実行されたアプリケーションプログラムの実行回数ということになる。この場合も上記と同様の考え方を採ることができるが、ウィジェットIDが実行状態「全部実行」に対応付けられて記述された回数は、実行状態「一部実行」又は「実行オフ」に対応付けられて記述された回数よりも、ユーザに対してより有用なサービスを提供した期間といえるから、ユーザの利用度に応じた優先度として用いるのに適している。そして、この場合も、制御部11は、図5のステップS11にて、ウィジェット管理テーブルにおいて優先度の低いウィジェットを終了させる。
(2)変形例2
上述した実施形態では、制御部11は、ウィジェットを全部実行したときには、そのウィジェットに記述された手順の全てを参照範囲として、その手順に従い処理を実行する一方、ウィジェットを一部実行したときには、そのウィジェットに記述されている手順のうち、予め決められた一部の手順を参照範囲として、その手順に従い処理を実行していた。
つまり、ウィジェットを全部実行したときと一部実行したときとで同一のウィジェットを利用していたが、これを、全部実行したときと一部実行したときとで、サービスの目的は同じだが、プログラムとしては異なるウィジェットを利用するようにしてもよい。つまり、全部実行するときのウィジェットと、一部実行するときのウィジェットとが対になって、同種のウィジェット群を構成するようにしてもよい。
(3)変形例3
本発明において、ウィジェットは、一部実行時において複数の異なる処理を実行可能とする。
上述した実施形態では、「選択」は、ウィンドウに入力フォーカスを与えて、そのウィンドウを指定することを指していたが、入力フォーカスを与えることを「選択」としてもよく、この場合に、ウィンドウが選択された「選択時」であるか、又はウィンドウが選択されていない「非選択時」であるかによって、通信端末装置10はそれぞれで異なる処理を実行する。例えば、通信端末装置10は、上述した時計ウィジェットについて、非選択時には日時を所定の表示態様で表示し、選択時には非選択時と異なる表示態様で日時を表示する。ここにおいて、例えば、通信端末装置10は、非選択時には時刻のみを表示し、選択時には時刻に加えて日付や曜日などを表示する。選択時及び非選択時のいずれの場合であっても、ウィジェットは一部実行された状態にあり、通信端末装置10が参照するウィジェットに記述された手順の範囲が異なるだけである。
なお、この場合においても、所定のキーがユーザにより押下される等して、選択されたウィンドウが指定されると、通信端末装置10は、そのウィジェットを一部実行から全部実行に切り替える。
(4)変形例4
本発明におけるウィンドウは、上述した実施形態における「ウィジェット」に割り当てられた表示領域に限らず、他のアプリケーションプログラム(例えば、ネイティブアプリケーションプログラム)に割り当てられた表示領域であってもよい。同様に、ウィジェットも、Javaアプリケーションプログラムに限らず、他のアプリケーションプログラムとして実現されてもよい。さらに、上述した実施形態においては、Javaアプリケーションプログラムである一覧表示アプリケーションプログラムを実行することにより複数のウィンドウを表示させるようにしたが、複数のウィンドウを表示させることは、例えばOSによるなど、他のアプリケーションプログラムによって実現されてもよい。
また、ウィジェットは、無線通信部12以外の手段を介して情報を取得することも可能である。例えば、本発明に係る情報処理装置がいわゆるICタグを備える場合には、ICタグに記憶された情報を取得してもよい。また、本発明に係る情報処理装置がGPS(Global Positioning System)等による測位機能を有する場合には、かかる測位機能を用いて位置情報(緯度及び経度や、所定の地点からの距離など)を取得してもよい。
(5)変形例5
上述した実施形態では、ユーザが操作部14のキーを操作することにより、各種の指示の入力が行われていたが、これに限らない。例えば、操作部14の各キーに対応するソフトボタンを表示部13に表示させて、このソフトボタンの操作により各種の指示の入力が行われてもよい。また、通信端末装置10がタッチパネルを備えている場合には、このソフトボタンの操作をタッチパネルが受け付けてもよい。
(6)変形例6
上述した実施形態において、本発明に係る情報処理装置に相当するものは、制御部11であるとみなすこともできるし、通信端末装置10であるとみなすこともできる。
また、本発明における操作に相当するものは、キーの押下によらず、例えば、音声による指示を認識した結果であってもよい。
なお、本発明は、ウィンドウの代わりにアイコン等の画像の配置を変更するものであってもよい。換言すれば、本発明でいう「ウィンドウ」は、アイコン等の画像を含み得る概念である。
また、上述した実施形態では、同時に実行可能なウィジェットの許容数を“8”としていたが、これよりも多くても少なくてもよい。実施形態で述べたように、許容数は、RAM11cのワークエリアの記憶容量とウィジェットの実行に要する容量との関係に基づいて決められている。例えば、RAM11cの記憶容量を大きくすれば、制御部11はさらに多くのウィジェットを同時に実行(一部実行)することも可能となるから、許容数をさらに大きくしてもよい。
また、上述した実施形態は、本発明を携帯電話機に適用したものであるが、本発明は、その他の電子機器に適用することも可能である。本発明は、PDA(Personal Digital Assistance)等の通信端末装置や、カメラ、携帯音楽プレーヤ、携帯ゲーム機など、種々の情報処理装置に適用することができる。
さらに、上述した通信端末装置10の制御部11が実現する各機能は、複数のプログラムの組み合わせによって実現され、又は、複数のハードウェア資源の協働によって実現され得る。
通信端末装置の物理的構成を示すブロック図である。 通信端末装置の論理的構成を示す図である。 リスト画面の構成を模式的に表した図である。 ウィジェット管理テーブルの構成を示した図である。 通信端末装置の制御部が実行する表示制御を示すフローチャートである。 ウィジェット管理テーブルの構成を示した図である。 表示部に表示されるウィンドウの表示態様を示した図である。 表示部に表示されるウィンドウの表示態様を示した図である。 表示部に表示されるウィンドウの表示態様を示した図である。
符号の説明
10…通信端末装置、11…制御部、11a…CPU、11b…ROM、11c…RAM、11d…EEPROM、12…無線通信部、13…表示部、14…操作部。

Claims (7)

  1. メモリと、
    各アプリケーションプログラムに前記メモリの記憶領域を割り当てて当該アプリケーションプログラムを実行する実行手段と、
    実行中のアプリケーションプログラムの識別情報又は実行を中断しているアプリケーションプログラムの識別情報を記憶する記憶手段とを備え、
    前記実行手段は、
    (a)前記記憶手段により記憶されている実行中のアプリケーションプログラムの識別情報の数が上限値未満の場合に、当該実行中のアプリケーションプログラム以外の新たなアプリケーションプログラムを実行するときには、
    前記実行中のアプリケーションプログラムの実行を中断して当該アプリケーションプログラムの識別情報を、実行を中断しているアプリケーションプログラムの識別情報として前記記憶手段に書き込み、
    前記新たなアプリケーションプログラムに前記メモリの記憶領域を割り当てて当該アプリケーションプログラムを実行し、
    実行が中断されている前記アプリケーションプログラムを再び実行するよう指示された場合には、実行中の前記新たなアプリケーションプログラムに対しては、記憶領域を小さくするように前記メモリの記憶領域を割り当て直し、実行を中断しているアプリケーションプログラムとして前記記憶手段に識別情報が記憶されているアプリケーションプログラムの各々に対しては、前記メモリの記憶領域をそれぞれ割り当てて、これらのアプリケーションプログラムの識別情報を、実行中のアプリケーションプログラムの識別情報として前記記憶手段に書き込んで、これらのアプリケーションプログラムを並列して実行し、
    (b)前記記憶手段により記憶されている実行中のアプリケーションプログラムの識別情報の数が上限値の場合に、当該実行中のアプリケーションプログラム以外の新たなアプリケーションプログラムを実行するときには、
    前記実行中のアプリケーションプログラムの実行を中断して当該アプリケーションプログラムの識別情報を、実行を中断しているアプリケーションプログラムの識別情報として前記記憶手段に書き込み、
    前記新たなアプリケーションプログラムに前記メモリの記憶領域を割り当てて当該アプリケーションプログラムを実行し、
    実行が中断されている前記アプリケーションプログラムを再び実行するよう指示された場合には、実行中の前記新たなアプリケーションプログラムの実行を終了し、実行を中断しているアプリケーションプログラムとして前記記憶手段に識別情報が記憶されているアプリケーションプログラムの各々に対して、前記メモリの記憶領域をそれぞれ割り当てて、これらのアプリケーションプログラムの識別情報を、実行中のアプリケーションプログラムの識別情報として前記記憶手段に書き込んで、これらのアプリケーションプログラムを並列して実行し、
    前記新たなアプリケーションプログラムは、割り当てた記憶領域の大きさに応じて異なる機能を実現するアプリケーションプログラムである
    ことを特徴とする情報処理装置。
  2. 前記実行手段は、前記(b)の場合において、実行が中断されている前記アプリケーションプログラムを再び実行するよう指示されると、
    実行中の前記新たなアプリケーションプログラムの実行を終了することに代えて、
    実行を中断しているアプリケーションプログラムとして前記記憶手段に識別情報が記憶されているアプリケーションプログラムのうち、実行の優先度が低いアプリケーションプログラムを特定し、特定したアプリケーションプログラムの実行を終了し、
    実行中の前記新たなアプリケーションプログラムと、実行を中断しているアプリケーションプログラムとして前記記憶手段に識別情報が記憶されているアプリケーションプログラムのうち、実行を終了した前記アプリケーションプログラム以外のアプリケーションプログラムとの各々に対して、前記メモリの記憶領域をそれぞれ割り当てて、これらのアプ
    リケーションプログラムの識別情報を、実行中のアプリケーションプログラムの識別情報として前記記憶手段に書き込んで、これらのアプリケーションプログラムを並列して実行する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記実行手段は、
    前記実行中のアプリケーションプログラムの識別情報又は前記実行を中断しているアプリケーションプログラムの識別情報が前記記憶手段に記憶されている期間に応じて、当該識別情報に対応するアプリケーションプログラムの前記優先度を求める
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記実行手段は、
    前記実行中のアプリケーションプログラムの実行を中断して新たに実行されたアプリケーションプログラムの実行期間に応じて、当該アプリケーションプログラムの前記優先度を求める
    ことを特徴とする請求項2に記載の情報処理装置。
  5. 前記実行手段は、
    前記実行中のアプリケーションプログラムの識別情報又は前記実行を中断しているアプリケーションプログラムの識別情報が前記記憶手段に記憶された回数に応じて、各アプリケーションプログラムの前記優先度を求める
    ことを特徴とする請求項2に記載の情報処理装置。
  6. 前記実行手段は、
    前記実行中のアプリケーションプログラムの実行を中断して新たに実行されたアプリケーションプログラムの実行回数に応じて、当該アプリケーションプログラムの前記優先度を求める
    ことを特徴とする請求項2に記載の情報処理装置。
  7. コンピュータを、
    実行中のアプリケーションプログラムの識別情報又は実行を中断しているアプリケーションプログラムの識別情報を記憶手段に記憶させる記憶制御手段と、
    各アプリケーションプログラムにメモリの記憶領域を割り当てて当該アプリケーションプログラムを実行する実行手段であって、
    (a)前記記憶手段により記憶されている実行中のアプリケーションプログラムの識別情報の数が上限値未満の場合に、当該実行中のアプリケーションプログラム以外の新たなアプリケーションプログラムを実行するときには、
    前記実行中のアプリケーションプログラムの実行を中断して当該アプリケーションプログラムの識別情報を、実行を中断しているアプリケーションプログラムの識別情報として前記記憶手段に書き込み、
    前記新たなアプリケーションプログラムに前記メモリの記憶領域を割り当てて当該アプリケーションプログラムを実行し、
    実行が中断されている前記アプリケーションプログラムを再び実行するよう指示された場合には、実行中の前記新たなアプリケーションプログラムに対しては、記憶領域を小さくするように前記メモリの記憶領域を割り当て直し、実行を中断しているアプリケーションプログラムとして前記記憶手段に識別情報が記憶されているアプリケーションプログラムの各々に対しては、前記メモリの記憶領域をそれぞれ割り当てて、これらのアプリケーションプログラムの識別情報を、実行中のアプリケーションプログラムの識別情報として前記記憶手段に書き込んで、これらのアプリケーションプログラムを並列して実行し、
    (b)前記記憶手段により記憶されている実行中のアプリケーションプログラムの識別情
    報の数が上限値の場合に、当該実行中のアプリケーションプログラム以外の新たなアプリケーションプログラムを実行するときには、
    前記実行中のアプリケーションプログラムの実行を中断して当該アプリケーションプログラムの識別情報を、実行を中断しているアプリケーションプログラムの識別情報として前記記憶手段に書き込み、
    前記新たなアプリケーションプログラムに前記メモリの記憶領域を割り当てて当該アプリケーションプログラムを実行し、
    実行が中断されている前記アプリケーションプログラムを再び実行するよう指示された場合には、実行中の前記新たなアプリケーションプログラムの実行を終了し、実行を中断しているアプリケーションプログラムとして前記記憶手段に識別情報が記憶されているアプリケーションプログラムの各々に対して、前記メモリの記憶領域をそれぞれ割り当てて、これらのアプリケーションプログラムの識別情報を、実行中のアプリケーションプログラムの識別情報として前記記憶手段に書き込んで、これらのアプリケーションプログラムを並列して実行する実行手段
    として機能させるためのプログラムであって、
    前記新たなアプリケーションプログラムが、割り当てた記憶領域の大きさに応じて異なる機能を実現するアプリケーションプログラムである
    プログラム。
JP2008230239A 2008-09-08 2008-09-08 情報処理装置及びプログラム Expired - Fee Related JP5184268B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008230239A JP5184268B2 (ja) 2008-09-08 2008-09-08 情報処理装置及びプログラム
PCT/JP2009/065680 WO2010027089A1 (ja) 2008-09-08 2009-09-08 情報処理装置及びプログラム
US13/061,738 US8661445B2 (en) 2008-09-08 2009-09-08 Information-processing device and program
EP20090811612 EP2328087A4 (en) 2008-09-08 2009-09-08 INFORMATION PROCESSING DEVICE AND PROGRAM
CN200980134773.6A CN102144219B (zh) 2008-09-08 2009-09-08 信息处理设备和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008230239A JP5184268B2 (ja) 2008-09-08 2008-09-08 情報処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2010066835A JP2010066835A (ja) 2010-03-25
JP5184268B2 true JP5184268B2 (ja) 2013-04-17

Family

ID=41797251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008230239A Expired - Fee Related JP5184268B2 (ja) 2008-09-08 2008-09-08 情報処理装置及びプログラム

Country Status (5)

Country Link
US (1) US8661445B2 (ja)
EP (1) EP2328087A4 (ja)
JP (1) JP5184268B2 (ja)
CN (1) CN102144219B (ja)
WO (1) WO2010027089A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646094B (zh) * 2011-02-16 2014-07-02 联想(北京)有限公司 电子设备及其对象管理方法
US20130014119A1 (en) * 2011-07-07 2013-01-10 Iolo Technologies, Llc Resource Allocation Prioritization Based on Knowledge of User Intent and Process Independence
CN102521020B (zh) 2011-10-26 2014-05-21 华为终端有限公司 用于移动终端的应用屏幕截图方法和装置
US9632988B2 (en) * 2012-07-12 2017-04-25 International Business Machines Corporation Autonomous gadget management system
KR20200027204A (ko) * 2018-09-04 2020-03-12 삼성전자주식회사 전자장치 및 그 제어방법
CN114860136A (zh) * 2021-01-18 2022-08-05 华为技术有限公司 一种微件的显示方法与电子设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3467283B2 (ja) 1993-03-15 2003-11-17 日本電信電話株式会社 ウィンドウ数自動調整システム
JP3164070B2 (ja) 1998-07-24 2001-05-08 日本電気株式会社 オブジェクト配置制御装置、方法及び記録媒体
US6430570B1 (en) * 1999-03-01 2002-08-06 Hewlett-Packard Company Java application manager for embedded device
JP2000293386A (ja) * 1999-04-12 2000-10-20 Hitachi Ltd メモリ管理方式
JP2003015892A (ja) * 2001-06-29 2003-01-17 Casio Comput Co Ltd 情報端末装置及びアプリケーション管理プログラム
US7739718B1 (en) * 2002-08-23 2010-06-15 Arris Group, Inc. System and method for automatically sensing the state of a video display device
US7076616B2 (en) * 2003-03-24 2006-07-11 Sony Corporation Application pre-launch to reduce user interface latency
US20040194153A1 (en) * 2003-03-24 2004-09-30 Sony Corporation And Sony Electronics Inc. Conservation of system resources by efficiently activating/de-activating applications
JP2005005909A (ja) * 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器
US7730479B2 (en) * 2004-03-30 2010-06-01 Kyocera Corporation Cell-phone terminal, program management method and computer program of same
CN1317640C (zh) * 2004-08-31 2007-05-23 华为技术有限公司 实时操作系统环境下多任务应用软件模块的管理方法
JP2006107197A (ja) * 2004-10-06 2006-04-20 Nec Corp メモリ制御方法およびプログラムならびに端末装置
WO2007020735A1 (ja) * 2005-08-18 2007-02-22 Matsushita Electric Industrial Co., Ltd. 競合解決装置
US7757239B2 (en) * 2005-08-29 2010-07-13 Sap Ag Systems and methods for suspending and resuming of a stateful web application
CN100346307C (zh) * 2006-01-17 2007-10-31 浙江大学 Java操作系统中实时任务调度的实现方法
US8959515B2 (en) * 2006-01-18 2015-02-17 International Business Machines Corporation Task scheduling policy for limited memory systems
JP2008097425A (ja) * 2006-10-13 2008-04-24 Mitsubishi Electric Corp 携帯情報端末および携帯情報端末の制御方法
JP4293239B2 (ja) * 2006-12-28 2009-07-08 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
US7827358B2 (en) 2007-01-07 2010-11-02 Apple Inc. Memory management methods and systems
US8631413B2 (en) * 2007-01-26 2014-01-14 Kyocera Corporation Determining the termination priority of applications based on capability of applications to retain operation state information
JP5079345B2 (ja) * 2007-01-29 2012-11-21 京セラ株式会社 電子機器及び電子機器における制御方法
US20120166532A1 (en) * 2010-12-23 2012-06-28 Yun-Fang Juan Contextually Relevant Affinity Prediction in a Social Networking System

Also Published As

Publication number Publication date
CN102144219B (zh) 2014-01-29
US8661445B2 (en) 2014-02-25
JP2010066835A (ja) 2010-03-25
US20110173627A1 (en) 2011-07-14
WO2010027089A1 (ja) 2010-03-11
EP2328087A1 (en) 2011-06-01
EP2328087A4 (en) 2013-07-10
CN102144219A (zh) 2011-08-03

Similar Documents

Publication Publication Date Title
JP4958517B2 (ja) 携帯端末およびその表示制御方法
JP5249686B2 (ja) 情報処理装置及びプログラム
EP2328071B1 (en) Information processing device and program
JP5253937B2 (ja) 情報処理装置及びプログラム
JP4971203B2 (ja) 情報処理装置及びプログラム
JP5253936B2 (ja) 情報処理装置及びプログラム
JP5184268B2 (ja) 情報処理装置及びプログラム
US8869056B2 (en) Information-processing device and program
US9292308B2 (en) Information-processing device and program
JP4902713B2 (ja) 情報処理方法、情報処理装置及びプログラム
JP5155786B2 (ja) 情報処理装置及びプログラム
JP5566182B2 (ja) 競合管理装置、競合管理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130116

R150 Certificate of patent or registration of utility model

Ref document number: 5184268

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees