JP4352242B2 - 起動制御装置、起動制御方法および起動制御プログラム - Google Patents

起動制御装置、起動制御方法および起動制御プログラム Download PDF

Info

Publication number
JP4352242B2
JP4352242B2 JP2004118916A JP2004118916A JP4352242B2 JP 4352242 B2 JP4352242 B2 JP 4352242B2 JP 2004118916 A JP2004118916 A JP 2004118916A JP 2004118916 A JP2004118916 A JP 2004118916A JP 4352242 B2 JP4352242 B2 JP 4352242B2
Authority
JP
Japan
Prior art keywords
function
program module
weight
activation
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004118916A
Other languages
English (en)
Other versions
JP2005301797A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004118916A priority Critical patent/JP4352242B2/ja
Publication of JP2005301797A publication Critical patent/JP2005301797A/ja
Application granted granted Critical
Publication of JP4352242B2 publication Critical patent/JP4352242B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、複数のプログラムモジュールを起動する際の起動制御装置、起動制御方法および起動制御プログラムに関する。
近年のコンピュータにおいては、アプリケーションプログラムなど、多数のプログラムモジュールをインストール可能であり、利用者所望のプログラムモジュールを選択して実行する。このとき、任意のプログラムモジュールを選択しやすいように選択肢を提供するために、いわゆるランチャーソフトウェアが使用されている。このランチャーソフトウェアにおいては、限られた画面内に選択肢を提供するため、使用頻度の高いプログラムモジュールを選択しやすい位置に配置するなど、選択肢の表示順序を変更することがある。このように選択肢の表示順序を変更する際の手法は、種々の手法を採用可能であり、例えば、起動回数の累計を表示順序としたり、並べ替え対象にキーワードを対応づけるとともに当該キーワードに重要度を設定し、その重要度の順序を表示順序とする構成(例えば、特許文献1参照)を採用可能である。
特開2001−75969号公報
上述した従来の起動制御装置では、ランチャーソフトウェアの使い勝手が悪いという課題があった。すなわち、起動回数の累計を選択肢の表示順序としたのでは、時期を問わず多用するプログラムモジュールと一時的に利用するプログラムモジュールとが存在する場合に後者の表示順序が全く上位にならず、後者のプログラムモジュールに関しては表示順序を変更する意味がない。また、特許文献1に開示された技術のようにキーワードを設定するのは煩雑であるし、プログラムモジュールの動的な使用状況に的確に対応することは不可能であった。
本発明は、上記課題にかんがみてなされたもので、一時的な利用頻度の変動を含めてプログラムモジュールの使用態様に応じた選択肢を提供可能な起動制御装置、起動制御方法および起動制御プログラムの提供を目的とする。
上記目的を達成するため本発明では、各プログラムモジュール毎に重みを取得して起動候補としての順序を特定することとし、プログラムモジュールの起動指示の有無を重みに反映させる。このとき、起動指示の有無に応じて相対的に異なる変動量で重みが更新されるように重みを取得する。すなわち、起動候補は重みに従った順序で出力されるので、起動指示がなされたプログラムモジュールの重みを増大させる様子はそのプログラムモジュールの順序が上昇する様子に対応し、起動指示がなされていないプログラムモジュールの重みを減少させる様子はそのプログラムモジュールの順序が下降する様子に対応する。
そこで、重み定義データにおいて起動指示の有無によって異なる特性(起動履歴に対する重みの変化特性)で重みを定義することにより、起動指示の有無に応じて相対的に異なる変動量で重みを更新することが可能になり、起動指示の有無によって異なる速度でプログラムモジュールの順序を変動させることができる。この結果、継続的に多用することはないが一時的に使用頻度が増加したプログラムモジュールについて、出力装置上での出力順序が即座に上位になるように反映させたり、一時的な利用によって敏感に出力順序が変動しないようにするなど所望の制御を行うことができる。すなわち、一時的な利用頻度の変動を含めてプログラムモジュールの使用態様に応じた選択肢を提供可能である。
ここで、プログラムモジュールとしては、コンピュータ上で種々の機能を実現するためのプログラムであれば良く、アプリケーションプログラムであっても良いし、プラグインソフトウェア等であっても良く種々のプログラムを採用可能である。また、プログラムモジュールの起動候補を提供するのは、起動候補の中から特定のプログラムモジュールを特定する起動指示を受け付けて、指示されたプログラムモジュールを起動するためである。そこで、各プログラムモジュールのデータを記憶手段に記憶しておき、プログラムを実行可能な制御手段によって起動指示されたプログラムモジュールを起動する構成としてもよい。但し、上述の起動制御装置としての手段を備えていれば、コンピュータを起動制御装置として機能させることは可能である。
各プログラムモジュールの重みは、起動候補の順序を特定するための値であれば良く、プログラムモジュール毎にその値を比較して順序を特定することができればよい。従って、重み自体を各プログラムモジュールに対応づけて記憶しても良いし、各プログラムモジュールの重みを特定するためのデータ、例えば各プログラムモジュール毎の起動履歴を記憶しておいても良い。むろん、重みの値が同じである場合に、他の視点、例えば、インストールがなされた順番や起動回数等を参照して順序を決定するように構成することも可能である。
また、重みの初期値としては各種の初期値を採用可能であり、各プログラムモジュールのインストール時に予め決められた値、例えば、重みの値域内で最大あるいは最小の値や中間の値等を割り当てればよい。起動履歴は、各プログラムモジュールがインストールされた時点から現在まででプログラムモジュールが起動された経歴を示していれば良く、各種の値で表現可能である。例えば、あるプログラムモジュールが起動されることによって増加する値や他のプログラムモジュールが起動されたことによって(その時点で起動されていないことによって)減少する値、またはその双方の性質を持つ値等を採用可能である。
起動指示検出手段においては、起動指示がなされたプログラムモジュールを特定することができれば良く、種々の構成を採用可能である。本発明においては、プログラムモジュールの起動候補を出力するので、この出力を視認した利用者が所定の入力装置によって起動指示を与えるように構成し、起動指示検出手段によって当該起動指示を検出する構成が好ましい。すなわち、起動制御装置において、起動指示検出手段と起動候補出力手段とによって起動候補の提示と入力の受付を行うインタフェースを提供する。
この構成において、重み取得手段が重みを取得すれば、起動指示を反映した順序で起動候補を出力することが可能になる。尚、重みを取得して起動候補の出力順序を変更するタイミングとしては、種々のタイミングを採用可能である。例えば、各プログラムモジュールを起動したタイミングで更新された重みを反映させても良いし、定期的に重みを取得するとともにその重みに従った順序になるようにしても良い。
起動候補出力手段においては、所定の出力装置に起動候補としてプログラムモジュールを出力することができれば良く、種々の構成を採用可能である。例えば、各プログラムモジュールを示すために文字やアイコンを使用しても良いし、これらの文字やアイコンを出力する部位がスクロールしたり所定の単位で画面が切り替わることによって多数のプログラムモジュールを候補として提供可能にしても良い。
どのような出力装置であったとしても、起動候補を表示するための画面の大きさなど出力範囲が限られているため、多数のプログラムモジュールが存在する場合には、出力範囲内で全プログラムモジュールを出力できない場合もある。このような場合であっても、上記重み取得手段によって重みが決定されることにより一時的な利用頻度の変動を含めてプログラムモジュールの使用態様に応じた順序を定義することができるので、画面内に出力される起動候補に所望のプログラムモジュールが含まれる可能性が非常に高くなる。従って、非常に使い勝手の良い起動制御装置を提供することができる。
尚、出力装置においては、起動候補を重みに従った順序によって出力することができれば良く、コンピュータのディスプレイなど種々の出力装置を採用可能である。また、この順序による出力としては、高い順序の起動候補が起動させやすいような出力を実現きればよい。例えば、起動候補を出力するための出力範囲が限られていることによって一定数の起動候補のみを同時に出力可能であり、必要に応じて表示候補の切り換えを行うなどして全起動候補を把握する構成において、重みが大きな順に一定数のプログラムモジュールを初期の出力範囲内に出力する。そして、表示候補の切替指示がなされたときには残りのプログラムモジュールをその重みが大きな順に抽出して出力範囲内に出力する。
重み取得手段においては、重み定義データを参照することによって起動指示の有無に応じて重みの変化特性が異なるように重みを変化させつつ重みを取得することができればよい。このために、重み定義データでは、起動履歴に対する重みの変化が起動指示の有無によって異なるように定義することができればよく、種々の構成を採用可能である。
また、起動指示の有無によって異なる変化特性で重みを変化させることで、起動指示の有無に従って起動候補の順序を変動させるが、一回ごとの起動指示のみならず起動履歴(累計等)も反映する。このため、重みの値自体はプログラムモジュールの起動履歴を反映した値にする。すなわち、重みの変化は一時的な起動の有無を反映した変化となるように構成しつつも、重みの絶対値は起動履歴を反映した値となるように構成する。この結果、起動された回数が多いと起動候補としての順序が比較的上位になる傾向を持たせることができる。
このように、起動履歴を反映して重みを変更するために好適な構成として、プログラムモジュール毎の起動履歴に応じた履歴変数を使用する構成を採用可能である。この構成によれば、起動指示の検出の有無に応じて履歴変数を更新することによって、各プログラムモジュールの起動履歴を反映した変数を容易に定義することができる。そして、当該履歴変数から重みを算出することによって、容易に起動履歴を反映した重みの更新が可能になる。
履歴変数としては、起動履歴に応じた値を持つように定義できれば良く、種々の構成を採用可能である。例えば、プログラムモジュールが起動されるたびにインクリメントするように定義した変数や、他のプログラムモジュールが起動されたときに起動されていないプログラムモジュールについてデクリメントするように定義した変数等を採用可能である。このように、履歴変数によって起動履歴を反映することができれば、当該履歴変数に基づいて重みを算出することによって、各プログラムモジュールの起動指示の有無に応じた重みとすることができる。例えば、履歴変数から重みを算出する関数を定義すれば、容易に重みを算出可能である。
重み取得手段にて重みを取得する際の好適な構成例としては、起動指示の検出前後で、起動指示が検出されたプログラムモジュールの重みが大きくなるように重みを更新する構成を採用可能である。すなわち、重み定義データにおいて、起動指示が検出されたプログラムモジュールの重みを大きくするように定義する。このとき、起動指示が検出されていないプログラムモジュールの重みは減少させるあるいは変化させないのが好ましい。いずれにしても、以上の構成により、起動指示が検出されたプログラムモジュールについて起動候補としての順位は上昇する。この結果、起動頻度が高いほど順位が上位になる傾向を持たせるとともに一時的な利用も反映して順位が上昇する構成を提供することができる。
また、重み定義データの具体例として、予め起動履歴と重みとの対応関係を定義する構成を採用可能である。当該対応関係を定義しておけば、当該対応関係を参照することにより、容易に重みを取得することが可能になる。より具体的には、各プログラムモジュールの起動履歴と上記起動指示が検出されたプログラムモジュールの重みとを対応づけて所定の記憶媒体に記憶する(第1対応関係)。また、各プログラムモジュールの起動履歴と上記起動指示が検出されていないプログラムモジュールの重みを対応づけて所定の記憶媒体に記憶する(第2対応関係)。
そして、この第1および第2対応関係を定義する際に、上記第1対応関係においては第2対応関係より値域の下限から上限まで重みが急激に変化するように定義する。このため、起動指示が検出されたプログラムモジュールについては、起動指示が検出されていないものと比較して、起動履歴のわずかな変化によって大きく重みが変動する。従って、一時的な利用によって起動候補としての順位を急激に上昇させることができる。むろん、上記対応関係においては、起動履歴と重みとを対応づけることによって重みを示すことができれば良く、種々の構成を採用可能である。例えば、起動履歴は上述の履歴変数であっても良いし、対応関係として規定する重みは重み自体の他、重みの変動量であっても良い。
また、本発明においては、各プログラムモジュールの起動累計によって重みを変化させる度合いを変動するのが好ましい。これにより、一時的なプログラムモジュールの利用に対して敏感または鈍感な重みを定義し、各種の意図に従って起動候補の順序を制御することができる。この具体例として、起動累計数が大きな値であるほど起動履歴(例えば、履歴変数)に対する重みの変化が小さくなるように重みの変化特性を定義する構成を採用可能である。
この構成によれば、起動累計数が大きい場合には、累計数が小さい場合と比較して重みが大きく変動せず、他のプログラムモジュールを使用したときに急激に順位が低下しないように制御することができる。逆に、起動累計数が小さい場合には、累計数が大きい場合と比較して重みが大きく変動し、急激に順位を変動させることができる。従って、プログラムモジュールを一時的に利用した場合に、即座に順位が上昇するが、しばらく起動しないと急激に順位が低下するように構成することができる。
起動履歴と重みとの関係は予め定義されればよいが、関数によって両者の関係を定義すると重みの算出が非常に容易になる。この関数としては、例えば、シグモイド関数を採用可能である。すなわち、シグモイド関数f(x)は、f(x)=β/(1+exp(−αx))と表現され、αの大きさによってf(x)の傾きを制御することができる。従って、起動履歴に応じた履歴変数をx,重みをf(x)で表現するとともに、起動指示が検出されたプログラムモジュールと起動指示が検出されていないプログラムモジュールとでαを異なる値にすることで、両者の重みの変動量が相対的に異なる構成を容易に実現することができる。
さらに、シグモイド関数f(x)では、xの値が大きくなるにつれ、βを上限としてf(x)が増大する。従って、履歴変数が大きいと重みが敏感に変化せず、履歴変数が小さいと重みが敏感に変化する構成を容易に実現することができる。むろん、重み取得手段においてシグモイド関数を利用して重みを取得するにあたり、起動指示を検出する度にシグモイド関数で演算を行っても良いし、シグモイド関数による算出結果を予め取得しておき、対応関係として定義しておいても良い。
このように起動指示の有無に応じて重みの変動量を変えることによって起動候補として提示する順序を制御する手法は必ずしも実体のある装置に限られるものではなく、請求項に記載した発明のように方法の発明としても有効である。また、上述の起動制御装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としては、各種の態様を含むものである。また、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。
発明の思想の具現化例として起動制御装置のソフトウェアとなる場合の一例として、請求項にかかる発明は、コンピュータによって起動制御を行うプログラムとして発明を特定している。また、本発明はかかるソフトウェアを記録した記録媒体上においても当然に存在し、利用される。従って、コンピュータによって起動制御を行うプログラムを記録した媒体として発明を特定してもよい。むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)本発明の構成:
(1−1)ランチャーモジュールの構成:
(2)ランチャー制御処理:
(3)起動候補制御動作:
(4)他の実施形態:
(1)本発明の構成:
図1は本発明にかかる起動制御装置として機能するコンピュータの構成を示すブロック図である。本実施形態では図1に示すランチャーモジュールが機能することによりコンピュータを起動制御装置として機能させる。コンピュータ10は演算処理の中枢をなすCPU11を備えており、このCPU11はROM12やRAM13にアクセス可能となっている。
また、コンピュータ10は、HDD15を備えており、オペレーティングシステム(OS)プログラムのデータ(図示せず)や各種アプリケーションプログラムのデータ(APL1データ15c1〜APLnデータ15cnおよび画像処理プログラムのデータ(図示せず))、シグモイド関数の特性を示すデータ(シグモイド関数テーブル15a)、起動履歴に対応した値のデータである履歴変数15bが記録されている。OS20や画像処理プログラム30のデータはHDD15からRAM13に転送され、CPU11はROM12とRAM13に適宜アクセスしてこれらのプログラムを実行する。
この例では各プログラムの類はHDD15に記憶されているが、記録媒体はこれに限定されるものではない。例えば、フレキシブルディスク、CD−ROMなど各種記録媒体を採用可能である。これらの記録媒体に記録されたプログラムはコンピュータ10に読み込まれ、HDD15にインストールされる。そして、HDD15を介してRAM13上に読み込まれてコンピュータを制御することになる。
コンピュータ10には図示しないインタフェースを介してキーボード16やマウス17等の操作用入力機器が接続されており、図示しないビデオボードを介して表示用のディスプレイ18も接続されている。尚、本コンピュータ10の構成は簡略化して説明しているが、パーソナルコンピュータとして一般的な構成を有するものを採用することができる。むろん、図示しないインタフェースにプリンタを接続して使用可能にすること等も可能である。
また、上述のOS20には、入力機器ドライバ(DRV)21とディスプレイドライバ(DRV)22とが組み込まれている。ディスプレイDRV22はディスプレイ18における画像やマウスポインタ等の表示を制御するドライバであり、入力機器DRV21は図示しないインタフェースを介して入力される上記キーボード16やマウス17からのコード信号を受信して所定の入力操作を受け付けるドライバである。
画像処理プログラム30は、カラー画像のレタッチや画像のレイアウト編集等を実行可能な統合アプリケーションプログラムであり、上記APL1データ15c1〜APLnデータ15cnを適宜読み込んでAPL1〜APLnを実行可能である。すなわち、画像処理プログラム30は、各APL1〜APLnを実行する際の共通のインタフェース画面の提供や画像ファイルの管理処理等を司るとともに、APL1〜APLnによって実現されるレタッチ等の各種処理を司る。
図1においては、この機能を実現するための構成の一部を示しており、起動対象となるアプリケーションプログラムを選択させるためのランチャー機能を実現するランチャーモジュール31と各APL1〜APLnの起動を制御するための起動制御部32とを示している。ここで、ランチャー機能は、実行可能なアプリケーションプログラムを起動候補として提供し、その選択を受け付けることによって任意のアプリケーションプログラムの起動指示を受け付ける機能であり、本実施形態においては、画像処理プログラム30が提供するインタフェース画面の一部として提供される。
図2は、当該画像処理プログラム30が提供するインタフェース画面30aの例を示す図である。すなわち、画像処理プログラム30が起動されると、図示しない所定のデータをディスプレイDRV22に出力し、図2に示す画面30aをディスプレイ18上に表示させる。画面30aにおいては、ファイルディレクトリ表示部30a1とサムネイル表示部30a2とランチャー部31c1とを備えている。
ランチャー部31c1には、矩形の表示領域内にAPL1〜APLnのアイコンを横に並べて表示可能であり、当該表示領域内に起動可能なアプリケーションプログラムの全アイコンを表示できないときには、スクロールによって任意のアイコンを表示できるようになっている。すなわち、図2においてランチャー部31c1の矩形内には、各アプリケーションプログラムを示すアイコンを表示する(図2では、APL1,APL3などと記載)。また、同図に示す例ではランチャー部31c1の右端に矢印状のボタンが配置され、これによりスクロール方向を指示するようになっている。
利用者は、この画面30aを視認しながら上記マウス17を操作し、画面上に表示されるマウスポインタでAPL1〜APLnのいずれかを指示するとともにクリック動作を行うことで、起動対象を指示する。また、上記マウス17を操作し、画面上に表示されるマウスポインタで上記矢印状のボタンのいずれかを指示するとともにクリック動作を行うことで、ランチャー部31c1でのスクロールを指示する。これらの指示による指示内容は入力機器DRV21によって取得され、画像処理プログラム30に受け渡される。
ファイルディレクトリ表示部30a1においては、HDD15に記録された画像データを矩形の表示領域内に表示するための部位であり、階層構造によって管理された画像データをその階層構造とともに表示する。利用者は、上記マウス17の操作によって処理対象の画像を指示することが可能であり、この指示内容は入力機器DRV21によって取得され、画像処理プログラム30に受け渡される。これにより、画像処理プログラム30において処理対象の画像が特定される。
サムネイル表示部30a2においては、ファイルディレクトリ表示部30a1で指示された画像データを読み出してサムネイル表示するための部位である。すなわち、上記画像処理プログラム30において特定された処理対象の画像を示す画像データからサムネイルデータを取得あるいは生成し、当該サムネイルデータをディスプレイDRV22に受け渡す。ディスプレイDRV22は当該サムネイルデータに基づいてサムネイル表示部30a2にサムネイル画像を表示する。
(1−1)ランチャーモジュールの構成:
ランチャーモジュール31は、ランチャー部31c1における表示候補の制御と起動指示の受付とを実施するため、起動指示検出部31aと重み取得部31bと起動候補出力部31cとを備えている。起動指示検出部31aは、上記入力機器DRV21から上記アプリケーションプログラムの起動指示を受け取り、起動指示がなされたアプリケーションプログラムを検出する。
重み取得部31bは、APL1〜APLnに対して対応づけられる重みを取得するためのモジュールである。すなわち、上記起動指示検出部31aによって起動指示が検出されたアプリケーションプログラムと起動指示が検出されていないアプリケーションプログラムとでは、異なる関数を参照して重みを取得する。本実施形態においては、このために起動指示の有無に応じて別個のデータを備えたシグモイド関数テーブル15aと履歴変数15bとが予め用意されている。
シグモイド関数テーブル15aはシグモイド関数の特性を予め算出してテーブル化したデータであり、本実施形態においては図3の上部に示す構造である。シグモイド関数f(x)はf(x)=β/(1+exp(−αx))と定義され、本実施形態においてはβ=10000、α=1,1/3である。すなわち、起動指示の有無に応じて重みの変化特性を異なる特性にするため、起動指示がなされたときにはα=1,起動指示がなされないときにはα=1/3としている。また、βの値は、シグモイド関数の上限値に対応しているが、重みとしては、アプリケーションプログラム毎の重みを相互に比較することができればよいので、βの値は限定されず、どのように規格化しても良い。
また、シグモイド関数f(x)における従属変数は履歴変数15bであり、本実施形態においては、その値域が”1”〜”20”であるとともに整数値で定義される。そこで、履歴変数”1”〜”20”のそれぞれをxとして上記シグモイド関数に代入し、α=1,1/3それぞれの場合についてf(x)を計算する。この結果を重みとしてテーブルにしたものが図3の上部に示すシグモイド関数テーブル15aであり、左端の列に履歴変数の値、中央の列に起動指示がなされたときの重み、右端の列に起動指示がなされないときの重みを示している。
図3の下部には横軸を履歴変数,縦軸を重みとしてテーブルの値をグラフにしてある。当該グラフに示すように、重みは、履歴変数の値が逓増するに従って”10000”を上限として逓増するとともに、履歴変数が大きくなるに従って履歴変数に対する重みの変化率が小さくなる。また、起動指示がなされた場合と起動指示がなされない場合とを比較すると、履歴変数の値が小さい値域では、起動指示がなされた場合の方が重みが大きく変化する。
尚、履歴変数15bは起動履歴に対応した値であり、起動頻度が大きければその値が大きくなり、起動頻度が小さいとその値が小さくなるように後述の処理によってアプリケーションプログラム毎に値を調整する。このため、履歴変数15bにおいてはAPL1〜APLnのそれぞれに対応させて履歴変数x1〜xnが定義され、HDD15に記録されている。
重み取得部31bは、以上のデータを利用して重みを取得する。すなわち、履歴変数15bを参照して各アプリケーションプログラム毎の履歴変数を取得し、上記起動指示検出部31aによって検出された起動指示に従って各アプリケーションプログラムの履歴変数の値を更新する。そして、シグモイド関数テーブル15aを参照し、各履歴変数における重みの値を取得する。この結果、各アプリケーションプログラム毎の重みが特定されたことになる。
起動候補出力部31cは、上記ランチャー部31c1におけるアイコンの表示を制御するモジュールであり、各アプリケーションプログラム(APL1〜APLn)に対応づけられた重みを上記重み取得部31bから取得する。また、HDD15に記録されたAPL1データ15c1〜APLnデータ15cnに含まれるアイコンデータを取得する。アイコンデータは、各APL1〜APLnを示す画像のデータであり、各APL1〜APLnは上記重みによって表示順序が特定されているので、起動候補出力部31cは当該重みが示す順序でアイコンを表示するための制御データをディスプレイDRV22に出力する。
この結果、ランチャー部31c1においては、各APL1〜APLnの重みに示された順序でアイコンが表示される。尚、本実施形態においては、重みが大きいほど(高順位であるほど)表示順序が左に位置するようになっており、表示画面の初期状態では最も高順位のアプリケーションプログラムのアイコンが最も左に表示されるように制御する。また、起動候補出力部31cにおいては、上記入力機器DRV21が上述のスクロール指示を取得したときに、この指示に応じて画面がスクロールするようにディスプレイDRV22に対して制御データを出力する。以上のようにして、ランチャー部31c1における起動候補の出力制御が実施される。
このようにして、起動候補を出力した状態で上記起動指示検出部31aが起動指示を検出すると、起動制御部32が当該指示されたアプリケーションプログラムを起動する。すなわち、APL1データ15c1〜APLnデータ15cnの中から当該指示されたアプリケーションプログラムのデータを抽出してRAM13に転送し、そのプログラムの実行を開始する。この結果、起動指示の有無に応じてランチャー部31c1における表示順位を変更するランチャー機能を提供することが可能になる。
(2)ランチャー制御処理:
本発明では、以上の構成において、ランチャーに表示するアプリケーションプログラムの表示順位を制御することにより、アプリケーションプログラムの一時的な利用頻度の変動を含めてプログラムモジュールの使用態様に応じた選択肢を提供しており、以下、図に基づいてランチャーモジュール31の制御処理を詳細に説明する。
図4は、ランチャーモジュール31における制御処理のフローチャートである。画像処理プログラム30を実行する前には、少なくとも一つ以上のアプリケーションプログラムをインストールしておく。ここでは、図1に示すようにAPL1〜APLnをインストールし、HDD15にAPL1データ15c1〜APLnデータ15cnをコピーした状態について説明する。本実施形態において、このインストールがなされると、当該インストールがなされたアプリケーションプログラムについての履歴変数値が上記履歴変数15bに追加される。このとき、履歴変数の初期値を最大値”20”としている。
ランチャーモジュール31による処理は、画像処理プログラム30の起動とともに開始され、上記APL1〜APLnの実行とは別個に並列的にランチャーモジュール31における処理が実行される。まずステップS100では、重み取得部31bが履歴変数15bを参照し、インストール済みのAPL1〜APLnのそれぞれについてその時点における履歴変数x1〜xnを取得する。さらに、重み取得部31bは、ステップS110においてシグモイド関数テーブル15aを参照し、各APL1〜APLnの重みを取得する。
尚、このステップS110では、ランチャーモジュール31が起動された直後であり、各APL1〜APLnにおいて起動指示はされていないので、上記図3上部に示す右端列の重みを取得する。以上の処理によって各APL1〜APLnの重みを取得すると、上記起動候補出力部31cはステップS120で起動候補を表示する。すなわち、この重みが大きい順にAPL1〜APLnをソートし、ランチャー部31c1に、左から順にアイコンを並べて表示する。
ステップS130においては起動指示検出部31aが起動指示を受け付け、ステップS140において起動指示がなされたと判別されるまでステップS130を繰り返す。すなわち、上記入力機器DRV21によって上記キーボード16やマウス17の操作を受け付け、この操作が上記ランチャー部31c1におけるアプリケーションプログラムの起動指示であれば起動指示検出部31aが起動指示されたアプリケーションプログラムを特定する。むろん、ここで起動制御部32は、起動指示されたアプリケーションプログラムを起動する。
特定のアプリケーションプログラムについての起動指示がなされると、そのアプリケーションプログラムを特定するためのデータが重み取得部31bに受け渡され、重み取得部31bはステップS150にて当該起動指示がなされたアプリケーションプログラムの履歴変数をインクリメントする。さらに、重み取得部31bは、ステップS160にて起動指示がなされなかったアプリケーションプログラムの履歴変数をデクリメントする。尚、ステップS150,S160にてインクリメントあるいはデクリメントした履歴変数の値は履歴変数15bとしてHDD15に記録される。
次にステップS170では、重み取得部31bが、起動指示の有無を区別しながらシグモイド関数テーブル15aを参照し、各アプリケーションプログラムの重みを取得する。すなわち、起動指示がなされたアプリケーションプログラムについては、図3上部に示す中央列の重みを参照し、このアプリケーションプログラムに対して対応づけられた履歴変数値に対応する重みを取得する。起動指示がなされていないアプリケーションプログラムについては、図3上部に示す右端列の重みを参照し、このアプリケーションプログラムに対して対応づけられた履歴変数値に対応する重みを取得する。
このように起動指示の有無を反映した重みを取得した後には、ステップS120以降の処理を繰り返す。すなわち、起動指示の有無に応じて重みの値が更新されているので、その重みに従って再度アプリケーションプログラムをソートし、ランチャー部31c1に、左から順にアイコンを並べて表示する。この結果、起動指示がなされる度に、ランチャー部31c1による起動候補の表示順序が上記重みを反映した順序になるよう更新される。
(3)起動候補制御動作:
次に、上記処理によってアプリケーションプログラムの起動候補順位が変動する様子を動作例に沿って説明する。図5は、5つのアプリケーションプログラム(APL1〜APL5)について、同図の上部に示す表の通りの順序で計30回起動した場合の例を示しており、同図下部のグラフは回数に対する重みの移り変わりを示している。尚、ここでは、いずれかのアプリケーションプログラムが起動される動作を1回と数えている。また、この例は、初期状態でAPL1〜APL4がインストール済みであり、途中でAPL5がインストールされる例である。
本実施形態において、インストール直後は履歴変数が上限値の”20”であり、図5に示す例では初期状態でAPL1〜APL4の履歴変数が総て”20”である。重みの初期値が上限値”20”であり、アプリケーションプログラムの起動指示が検出されると履歴変数がインクリメントされ、その時点で起動指示が検出されなていない総てのアプリケーションプログラムについては履歴変数がデクリメントされる。従って、複数のプログラムモジュール全体で見ると、履歴変数は回数の増加に伴って低下する傾向にあり、この結果、全体としては重みも低下する傾向にある。
但し、図3の下部に示すように起動指示がされた場合の重みは履歴変数の全値域に渡って起動指示がなされない場合の重みより大きいので、あるアプリケーションプログラムが起動されたとき、その重みは図5のグラフに示すように急激に上昇する。また、回数の増加に対する重みの変化は、起動指示がなされたアプリケーションプログラムの方が起動指示がなされないアプリケーションプログラムより大きい。さらに、履歴変数値が小さくなるほど履歴変数に対する重みの変化が急激になるため、小さな重みであるほど一回の起動指示に対する重みの変動は激しい。
このような重みの変化特性であることにより、以下の作用が得られる。
作用1:初期に使用頻度の低いAPL4は即座に最低順位の配置となる。
作用2:APL4を3回続けて起動した場合は、即座に左から2番目まで順位が上昇する。
作用3:APL4を3回続けて起動した後、APL4を起動しなければ即座に最低順位まで下降する。
作用4:最も使用頻度の高いAPL3の順位が低下する速度は遅い。
作用5:新規インストールされたAPL5は最上位に配置され、その後の順位低下速度は遅い。
作用6:使用頻度の低いAPL2については徐々に順位の低下速度が上がる。
すなわち、図5に示す例では4回目の起動まででAPL1〜APL3が少なくとも1回ずつ起動されるので、この起動によって履歴変数はインクリメントされる。しかし、APL4については(22回目まで)デクリメントされ続けるので、APL1〜APL4の中で重みが即座に最低値になる。この結果、APL4のアイコンがランチャー部31c1で表示される位置は即座に右端になる(作用1)。ランチャー部31c1においてアイコンを表示するために充分な広さの領域があれば、この領域の右端にAPL4のアイコンが表示されるし、広さが充分でなければAPL4のアイコンは表示されず、スクロールによってアイコンを表示することになる。
また、22回目まで一度もAPL4を起動しないが、22回目から24回目まで3回続けてAPL4を起動すると、履歴変数が”2”〜”4”まで変化し、重みが急激に上昇する。このとき、APL1〜APL3の履歴変数はデクリメントされ続け、APL1〜APL3の重みは徐々に小さくなる。この結果、図5下部のグラフに示すようにAPL4の重みは2番目に大きな値となる。従って、APL4のアイコンがランチャー部31c1で表示される位置は左方向に移動する(作用2)。
さらに、25回目以降にAPL4を起動しなければ、履歴変数は再び”3”,”2”,”1”とデクリメントされ、”3”〜”1”より大きな履歴変数が対応づけられているAPL1〜APL3と比較して高速に重みが低下する。従って、APL4のアイコンがランチャー部31c1で表示される位置は即座に右方向に移動し、最低順位に達する(作用3)。
さらに、1回目〜30回目までまんべんなく起動されるAPL3においては、履歴変数のインクリメントとデクリメントとがまんべんなく繰り返され、上記図5に示す例では履歴変数が”13”程度までしか低下しない。この値域における履歴変数に対応づけられた重みは、起動指示有りに対応した重みであっても起動指示なしに対応した重みであっても非常に大きな値である。従って、APL3のアイコンがランチャー部31c1で表示される位置は比較的高順位(左側)に維持される。(作用4)。
さらに、APL1〜APL4を使用している途中(26回目)で新規にインストールされるAPL5は、履歴変数が”20”に設定される。従って、インストール直後には、APL5のアイコンがランチャー部31c1で表示される位置が最上位となる。また、履歴変数の値が大きいので、重みが低下する速度が遅く、APL5が起動されなかったとしても、履歴変数が小さい他のアプリケーションプログラムと比較して、アイコンがランチャー部31c1で表示される順位が低下する速度は遅い(作用5)。
さらに、APL2は、起動される頻度が低い。起動されない状態が続くと徐々に履歴変数がデクリメントされ、徐々に重みの変化度合いが急激になりながら重み値が傾向的に低下する。また、上述のように起動指示有りの重みの方が起動指示なしの重みより大きくなるように定義されているため、このようなAPL2が起動された場合には、即座に順位が上昇するが、起動されない場合には再び起動指示なしの重みとなるので順位はすぐに元の傾向に戻る。従って、起動される頻度が低いAPL2については、ランチャー部31c1における表示順位は徐々に変化し、当該順位の低下速度は次第に上がる(作用6)。
(4)他の実施形態:
本発明においては、起動指示の有無に応じて重みを制御することによって、一時的な利用頻度の変動を的確に反映させながら起動候補の順序を変動させることができればよく、この意味で上記実施形態の構成の他にも種々の構成を採用することができる。例えば、画像処理プログラム30の一部の機能としてランチャー機能を構成する他、ランチャー機能のみを独立して実現できるように構成しても良い。この構成によれば、画像処理プログラム30にて使用するプログラムモジュール以外にも各種のアプリケーションプログラム等を起動候補にすることができる。
また、パーソナルコンピュータを起動制御装置として機能させる構成以外にも、種々のコンピュータを起動制御装置とすることができる。例えば、PDA(Personal Digital Assistance)や携帯電話等、各種端末に本発明を適用可能である。さらに、起動候補の順序を特定する際の情報として重みのみを採用することが必須というわけではない。例えば、インストールされた順序や累計数、直近の所定期間内での使用頻度の順序を参照しても良い。また、上述の重みがAPL毎に同じ値になったときにこれらの順序を参照するように構成しても良い。
さらに、上記実施形態では、シグモイド関数テーブル15aと履歴変数15bとによって重み定義データを構成していたが、重み定義データにおいては重みを算出できるように定義することができれば良く、種々の構成を採用可能である。例えば、シグモイド関数テーブル15aにおいて履歴変数値と重みとを対応づけるのではなく、重みのみをテーブル化しておくとともに、履歴変数15bの替わりに各アプリケーションプログラムにおける重みの現在値を記憶するように構成する。
この構成において、起動指示が検出されると、シグモイド関数テーブルを参照してそのアプリケーションプログラムの現在値を大きくするように更新し、起動指示がなされないアプリケーションプログラムに対応づけられた重みの現在値を小さくするように更新する。この構成においても、一時的な利用頻度の変動を的確に反映させながら起動候補の順序を変動させることが可能である。
むろん、シグモイド関数に基づいて重みを予め計算し、シグモイド関数テーブルとする構成の他、シグモイド関数のパラメータを記憶しておき、起動指示に応じて逐次重みを算出するように構成しても良い。この構成によれば、演算時間は多少増加するが、データを記憶しておくための記憶容量を抑えることができる。また、上述の重みに対しては、起動指示の有無に応じて異なる変化特性を与えられれば良く、重みを算出するために使用する関数はシグモイド関数に限られず、種々の関数を使用可能であるし、関数を使用せずに、経験的に好ましい値を取得しても良い。
コンピュータの構成を示すブロック図である。 インタフェース画面の例を示す図である。 シグモイド関数テーブルの説明図である。 ランチャーモジュールにおける制御処理のフローチャートである。 APLの起動回数に対する重みの移り変わりを示す図である。
符号の説明
10…コンピュータ、15…HDD、15a…シグモイド関数テーブル、15b…履歴変数、15c1〜15cn…アプリケーションプログラムデータ、30…画像処理プログラム、30a…インタフェース画面、31…ランチャーモジュール、31a…起動指示検出部、31b…重み取得部、31c…起動候補出力部、31c1…ランチャー部、32…起動制御部

Claims (3)

  1. 各プログラムモジュールに対応づけて履歴変数を記憶する記憶手段と、
    各プログラムモジュールに対応する重みの大きい順序で、各プログラムモジュールに対応するアイコンを並べて表示装置に表示させる表示手段と、
    上記表示装置における上記アイコンの指示を入力装置にて受け付け、該指示がなされた上記アイコンに対応するプログラムモジュールについては起動指示がなされたとし、それ以外のプログラムモジュールについて起動指示がなされなかったとする起動指示検出手段と、
    上記アイコンが指示されると、上記起動指示がなされたプログラムモジュールを起動する起動手段と、
    上記アイコンが指示されると、上記起動指示がなされたプログラムモジュールに対応する上記履歴変数を増加させ、該履歴変数を第1関数に代入して得られる算出値を該プログラムモジュールに対応する上記重みとして上記表示手段に出力するとともに、上記起動指示がなされなかったプログラムモジュールに対応する上記履歴変数を減少させ、該履歴変数を上記第1関数と異なる第2関数に代入して得られる算出値を該プログラムモジュールに対応する上記重みとして上記表示手段に出力する重み取得手段と、を具備し、
    上記第1関数と上記第2関数は、上記履歴変数の増加に応じて算出値が増加し、上記履歴変数の増加に応じて算出値の変化が小さくなりつつ該算出値が互いに同一の値に収束する性質を有し、かつ、上記第1関数の方が上記第2関数よりも上記履歴変数の値が小さい値域での算出値の変化が大きいことを特徴とする起動制御装置。
  2. コンピュータによって記録媒体に、各プログラムモジュールに対応づけて履歴変数を記憶する記憶工程と、
    上記コンピュータが備える表示手段によって、各プログラムモジュールに対応する重みの大きい順序で、各プログラムモジュールに対応するアイコンを並べて表示装置に表示させる表示工程と、
    上記表示装置における上記アイコンの指示を入力装置にて受け付け、上記コンピュータによって、該指示がなされた上記アイコンに対応するプログラムモジュールについては起動指示がなされたとし、それ以外のプログラムモジュールについて起動指示がなされなかったとする起動指示検出工程と、
    上記アイコンが指示されると、上記コンピュータによって、上記起動指示がなされたプログラムモジュールを起動する起動工程と、
    上記アイコンが指示されると、上記コンピュータによって、上記起動指示がなされたプログラムモジュールに対応する上記履歴変数を増加させ、該履歴変数を第1関数に代入して得られる算出値を該プログラムモジュールに対応する上記重みとして上記表示手段に出力するとともに、上記起動指示がなされなかったプログラムモジュールに対応する上記履歴変数を減少させ、該履歴変数を上記第1関数と異なる第2関数に代入して得られる算出値を該プログラムモジュールに対応する上記重みとして上記表示手段に出力する重み取得工程と、を具備し、
    上記第1関数と上記第2関数は、上記履歴変数の増加に応じて算出値が増加し、上記履歴変数の増加に応じて算出値の変化が小さくなりつつ該算出値が互いに同一の値に収束する性質を有し、かつ、上記第1関数の方が上記第2関数よりも上記履歴変数の値が小さい値域での算出値の変化が大きいことを特徴とする起動制御方法。
  3. 各プログラムモジュールに対応づけて履歴変数を記憶する記憶機能と、
    各プログラムモジュールに対応する重みを取得し、該重みの大きい順序で、各プログラムモジュールに対応するアイコンを並べて表示装置に表示させる表示機能と、
    上記表示装置における上記アイコンの指示を入力装置にて受け付け、該指示がなされた上記アイコンに対応するプログラムモジュールについては起動指示がなされたとし、それ以外のプログラムモジュールについて起動指示がなされなかったとする起動指示検出機能と、
    上記アイコンが指示されると、上記起動指示がなされたプログラムモジュールを起動する起動機能と、
    上記アイコンが指示されると、上記起動指示がなされたプログラムモジュールに対応する上記履歴変数を増加させ、該履歴変数を第1関数に代入して得られる算出値を該プログラムモジュールに対応する上記重みとして上記表示機能に取得させるとともに、上記起動指示がなされなかったプログラムモジュールに対応する上記履歴変数を減少させ、該履歴変数を上記第1関数と異なる第2関数に代入して得られる算出値を該プログラムモジュールに対応する上記重みとして上記表示機能に取得させる重み取得機能と、をコンピュータに実行させ、
    上記第1関数と上記第2関数は、上記履歴変数の増加に応じて算出値が増加し、上記履歴変数の増加に応じて算出値の変化が小さくなりつつ該算出値が互いに同一の値に収束する性質を有し、かつ、上記第1関数の方が上記第2関数よりも上記履歴変数の値が小さい値域での算出値の変化が大きいことを特徴とする起動制御プログラム。
JP2004118916A 2004-04-14 2004-04-14 起動制御装置、起動制御方法および起動制御プログラム Expired - Fee Related JP4352242B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004118916A JP4352242B2 (ja) 2004-04-14 2004-04-14 起動制御装置、起動制御方法および起動制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004118916A JP4352242B2 (ja) 2004-04-14 2004-04-14 起動制御装置、起動制御方法および起動制御プログラム

Publications (2)

Publication Number Publication Date
JP2005301797A JP2005301797A (ja) 2005-10-27
JP4352242B2 true JP4352242B2 (ja) 2009-10-28

Family

ID=35333232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004118916A Expired - Fee Related JP4352242B2 (ja) 2004-04-14 2004-04-14 起動制御装置、起動制御方法および起動制御プログラム

Country Status (1)

Country Link
JP (1) JP4352242B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011043932A (ja) * 2009-08-20 2011-03-03 Ricoh Co Ltd 情報処理装置
JP2011159077A (ja) * 2010-01-29 2011-08-18 Fujitsu Toshiba Mobile Communications Ltd 携帯端末装置
US20110252371A1 (en) * 2010-04-13 2011-10-13 Sony Corporation System and method for fast boot of computer
CN104424484B (zh) * 2013-09-11 2019-01-15 阿里巴巴集团控股有限公司 应用程序切换、添加入口信息的方法及装置

Also Published As

Publication number Publication date
JP2005301797A (ja) 2005-10-27

Similar Documents

Publication Publication Date Title
KR102495100B1 (ko) 애플리케이션들에 대응하는 사용자 인터페이스 객체들과 상호작용하기 위한 디바이스들, 방법들, 및 그래픽 사용자 인터페이스들
US11714545B2 (en) Information processing apparatus, information processing method, and program for changing layout of display objects
US10990271B2 (en) Method of inputting user command and electronic apparatus using the same
US8656312B2 (en) Content display apparatus and display method thereof
US7620894B1 (en) Automatic, dynamic user interface configuration
JP6141280B2 (ja) システムレベル検索ユーザインタフェースを用いた対話の促進
KR101725887B1 (ko) 터치 스크린 디바이스의 컨텐츠 검색 방법 및 장치
US7590946B2 (en) Display apparatus and display methods for scrolling item lists
EP2282259B1 (en) User interface method used in web browsing, electronic device for performing the same and computer readable recording medium thereof
KR20220110619A (ko) 터치 감응형 디스플레이를 갖는 전자 디바이스 상에 동시에 디스플레이되는 다수의 애플리케이션들과 상호작용하기 위한 시스템들 및 방법들
US20060268020A1 (en) Scrolling method and apparatus using plurality of blocks into which items are classified
KR102428753B1 (ko) 터치 감응형 디스플레이를 갖는 전자 디바이스 상에 동시에 디스플레이되는 다수의 애플리케이션들과 상호작용하기 위한 시스템들 및 방법들
US20080235617A1 (en) System and method for scrolling display screen, mobile terminal including the system, and recording medium storing program for executing the method
WO2011085828A1 (en) Virtual information input arrangement
KR20080011326A (ko) 향상된 포켓 컴퓨터 및 연관된 방법들
KR20140039209A (ko) 빠른 사이트 액세스 사용자 인터페이스를 갖춘 웹 브라우저
EP2328070B1 (en) Information processing device and program
US20140059491A1 (en) Electronic apparatus to execute application, method thereof, and computer readable recording medium
US8947464B2 (en) Display control apparatus, display control method, and non-transitory computer readable storage medium
CN117908728A (zh) 用于与对应于应用程序的用户界面对象进行交互的设备、方法和图形用户界面
TWI414976B (zh) 使用者介面的控制方法
US20040135812A1 (en) Method of establishing a re-configurable taskbar
JP4352242B2 (ja) 起動制御装置、起動制御方法および起動制御プログラム
JP2006510090A (ja) アイテム・リストを提示する方法及び装置
US20100039412A1 (en) Method and system for controlling operations of a display module in a portable terminal

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090422

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090609

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090714

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees