(57)【要約】【課題】外部から受信した情報に基づいてデータベースの構築が行われる際に、データベースの構築が完了するタイミングの遅延を抑制し、データベースの構築と同じ処理リソースを使用する他処理が完了するタイミングを早くした「タスク管理装置、タスク管理方法およびタスク管理プログラム」を提供する。【解決手段】タスク管理装置１００は、メモリー１７にデータを書き込むメモリー制御部３２と、受信した情報に基づいてデータベースを生成し、転送するデータベース構築処理を第２の処理リソースを使用して実行するデータベース構築部３１と、メモリー制御部３２の書込速度のレベルを判定し、書込速度が速いレベルほど、データベース構築処理に係るタスクの第２の処理リソースへの割り当ての優先度を低くするタスク管理部３７とを備える。これにより、メモリー制御部３２の書込速度が速いほど、データベース構築処理に係るタスクの優先度が低くなるようにした。【選択図】図２
2019003391.tif 000002
【特許請求の範囲】
【請求項１】
転送されてきたデータの記憶媒体への書き込みを、第１の処理リソースを使用して実行する書込制御部と、
外部装置から受信した構築用情報に基づいてデータベースを生成すると共に、上記データベースを構成するデータを上記書込制御部に転送するデータベース構築処理を、上記第１の処理リソースとは異なる第２の処理リソースを使用して実行するデータベース構築部と、
上記第２の処理リソースを使用して、上記データベース構築処理以外の処理である他処理を実行する他処理実行部と、
上記データベース構築処理が実行される間、上記データベース構築処理に係る一のタスクを上記第２の処理リソースに割り当てて実行させた後、上記書込制御部により当該一のタスクにおいて転送されたデータについての書き込みが完了した場合に、上記データベース構築処理に係る次のタスクの上記第２の処理リソースへの割り当てを試みる一方、
上記書込制御部の書込速度のレベルを判定し、書込速度が速いレベルほど、上記データベース構築処理に係るタスクの上記第２の処理リソースへの割り当ての優先度を低くするタスク管理部と、
を備えることを特徴とするタスク管理装置。
【請求項２】
上記タスク管理部は、
上記記憶媒体への同時アクセス量、上記記憶媒体の種別、上記記憶媒体の使用期間、および、上記記憶媒体の読み書き回数のうちの少なくともいずれか１つに基づいて上記書込速度のレベルを判定することを特徴とする請求項１に記載のタスク管理装置。
【請求項３】
上記タスク管理部は、
上記書込制御部の書込速度を実測することによって、上記書込速度のレベルを判定することを特徴とする請求項１に記載のタスク管理装置。
【請求項４】
上記タスク管理部は、
上記データベース構築処理と並行して実行される上記他処理の処理負荷を予測し、上記書込制御部の書込速度のレベルに基づいて決定した優先度を、予測した処理負荷が大きいほど優先度が低くなるように調整することを特徴とする請求項１から３のいずれか一項に記載のタスク管理装置。
【請求項５】
上記他処理は、ユーザによって選択されたソースを使用して実行される処理であり、
上記タスク管理部は、
ユーザによって選択されたソースの種類に基づいて、上記データベース構築処理と並行して実行される上記他処理の処理負荷を予測することを特徴とする請求項４に記載のタスク管理装置。
【請求項６】
上記外部装置は、音声データを、複数の情報を含んで構成された付加情報と関連づけて記憶しており、
上記データベース構築部は、
上記構築用情報として上記付加情報を上記外部装置から受信し、受信した上記付加情報に基づいてデータベースを生成することを特徴とする請求項１から５のいずれか一項に記載のタスク管理装置。
【請求項７】
転送されてきたデータの記憶媒体への書き込みを、第１の処理リソースを使用して実行する書込制御部と、外部装置から受信した構築用情報に基づいてデータベースを生成すると共に、上記データベースを構成するデータを上記書込制御部に転送するデータベース構築処理を、上記第１の処理リソースとは異なる第２の処理リソースを使用して実行するデータベース構築部と、上記第２の処理リソースを使用して、上記データベース構築処理以外の処理である他処理を実行する他処理実行部と、上記データベース構築処理が実行される間、上記データベース構築処理に係る一のタスクを上記第２の処理リソースに割り当てて実行させた後、上記書込制御部により当該一のタスクにおいて転送されたデータについての書き込みが完了した場合に、上記データベース構築処理に係る次のタスクの上記第２の処理リソースへの割り当てを試みるタスク管理部とを備えるタスク管理装置によるタスク管理方法であって、
上記タスク管理装置の上記タスク管理部が上記書込制御部の書込速度のレベルを判定する第１のステップと、
上記タスク管理装置の上記タスク管理部が書込速度が速いレベルほど、上記データベース構築処理に係るタスクの上記第２の処理リソースへの割り当ての優先度を低くする第２のステップとを有することを特徴とするタスク管理方法。
【請求項８】
転送されてきたデータの記憶媒体への書き込みを、第１の処理リソースを使用して実行する書込制御部と、外部装置から受信した構築用情報に基づいてデータベースを生成すると共に、上記データベースを構成するデータを上記書込制御部に転送するデータベース構築処理を、上記第１の処理リソースとは異なる第２の処理リソースを使用して実行するデータベース構築部と、上記第２の処理リソースを使用して、上記データベース構築処理以外の処理である他処理を実行する他処理実行部とを備えるタスク管理装置のコンピュータにより実行可能なタスク管理プログラムであって、
上記コンピュータを、
上記データベース構築処理が実行される間、上記データベース構築処理に係る一のタスクを上記第２の処理リソースに割り当てて実行させた後、上記書込制御部により当該一のタスクにおいて転送されたデータについての書き込みが完了した場合に、上記データベース構築処理に係る次のタスクの上記第２の処理リソースへの割り当てを試みる一方、上記書込制御部の書込速度のレベルを判定し、書込速度が速いレベルほど、上記データベース構築処理に係るタスクの上記第２の処理リソースへの割り当ての優先度を低くするタスク管理部として機能させることを特徴とするタスク管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タスク管理装置、タスク管理方法およびタスク管理プログラムに関し、特に、外部装置から受信した情報に基づいてデータベースを構築する装置のタスクを管理するタスク管理装置、タスク管理方法およびタスク管理プログラムに用いて好適なものである。
【背景技術】
【０００２】
従来、楽曲が記録された楽曲データが記憶されたメディア（例えば、スマートフォンやタブレット端末等）を車載機に接続し、車載機から所望の楽曲を指定して再生させることを可能にしたシステムがある。この種のシステムでは、車載機は、車載機において楽曲を検索可能とするために、メディアから、楽曲の楽曲名やアーティスト名等の付加情報を取得し、付加情報に基いてデータベースを構築するものがある。
【０００３】
なお、楽曲情報をメディアから取得し、ユーザが楽曲を選択すると、ユーザが選択した楽曲のアーティスト名を検索キーとして、そのアーティスト名に対応する楽曲を検索し、検索結果を表示部に表示するオーディオシステムが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１７５６８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した車載機のように、外部装置から受信した情報に基いてデータベースを構築する装置では、データベースの構築に関する処理は、ＣＰＵ等の処理リソースに当該処理に係るタスクが割り当てられることによって行われる。従って、データベースの構築に関する処理の実行中に、当該処理と同じ処理リソースを使用する他処理を実行する必要が生じた場合、当該他処理に係るタスクの処理リソースの割り当てが、データベースの構築に係る処理が実行されていない場合と比較して減少し、当該他処理が完了するタイミングの遅延を招く。当該他処理が完了するタイミングの遅延を抑制するために、データベースの構築に関する処理に係るタスクについて固定的に優先度を低くした場合、データベースの構築が完了するタイミングが遅延してしまう。
【０００６】
本発明は、このような問題を解決するために成されたものであり、外部装置から受信した情報に基づいてデータベースの構築が行われる際に、データベースの構築が完了するタイミングの遅延を抑制した上で、データベースの構築に関する処理と同じ処理リソースを使用する他処理が発生した場合に、当該他処理が完了するタイミングを早くすることを目的とする。
【課題を解決するための手段】
【０００７】
上記した課題を解決するために、本発明では、転送されてきたデータの記憶媒体への書き込みを、第１の処理リソースを使用して実行する書込制御部と、外部装置から受信した構築用情報に基づいてデータベースを生成すると共に、データベースを構成するデータを書込制御部に転送するデータベース構築処理を、第１の処理リソースとは異なる第２の処理リソースを使用して実行するデータベース構築部と、第２の処理リソースを使用して、データベース構築処理以外の処理である他処理を実行する処理実行部とを備えるタスク管理装置において、データベース構築処理が実行される間、データベース構築処理に係る一のタスクを第２の処理リソースに割り当てて実行させた後、書込制御部により当該一のタスクにおいて転送されたデータについての書き込みが完了した場合に、データベース構築処理に係る次のタスクの第２の処理リソースへの割り当てを試みる一方、書込制御部の書込速度のレベルを判定し、書込速度が速いレベルほど、データベース構築処理に係るタスクの第２の処理リソースへの割り当ての優先度を、第２の処理リソースを使用する他処理に係るタスクについての優先度に対して相対的に低くするようにした。
【発明の効果】
【０００８】
データベース構築処理が実行されている場合において、データベース構築処理に係る一のタスクで書込制御部にデータが転送された後、書込制御部によりそのデータの書き込みが行われている期間は、データベース構築処理に係るタスクの第２の処理リソースへの割り当ては行われず、この期間は、他処理に係るタスクを第２の処理リソースに割り当てることが可能である。そして、書込制御部の書込速度が速いほど、書込制御部が書き込みを行う期間は短くなる。このため、書込速度が速い場合に、データベース構築処理に係るタスクの優先度を高くすると、書込制御部によりデータの書き込みが行われる期間が短い上に、さらに、書込制御部がデータの書き込みを行っていない期間、データベース構築処理に係るタスクに対して第２の処理リソースが優先的に割り当てられることになり、他処理が完了するタイミングの遅延を招く。これを踏まえ、上記のように構成した本発明によれば、書込速度が速いほど、データベース構築処理に係るタスクの第２の処理リソースへの割り当ての優先度が低くなるため、書込速度が速いほど、書込制御部がデータの書き込みを行っていない期間において、当該他の処理に係るタスクに対して第２の処理リソースが優先的に割り当てられることになり、当該他の処理が完了するタイミングを早くできる。さらに、上記のように構成した本発明によれば、書込速度が遅く、従って、書込制御部によりデータの書き込みが行われる期間が長く、このため、他処理に係るタスクに十分に第２の処理リソースが割り当てられる状況下では、データベース構築タスクの優先度が低くならないため、不要にデータベース構築処理に係るタスクの優先度が低くなることがなく、データベースの構築が完了するタイミングの遅延を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係るタスク管理装置を備える車載装置の構成例を示す図である。
【図２】第１実施形態に係るタスク管理装置の機能構成例を示すブロック図である。
【図３】データベース構築タスクおよび他処理タスクの実行時間の期間と、書込制御部が書込処理を行う期間とを示すタイムチャートである。
【図４】データベース構築タスクおよび他処理タスクの実行時間の期間と、書込制御部が書込処理を行う期間とを示すタイムチャートである。
【図５】データベース構築タスクおよび他処理タスクの実行時間の期間と、書込制御部が書込処理を行う期間とを示すタイムチャートである。
【図６】データベース構築タスクおよび他処理タスクの実行時間の期間と、書込制御部が書込処理を行う期間とを示すタイムチャートである。
【図７】データベース構築タスクおよび他処理タスクの実行時間の期間と、書込制御部が書込処理を行う期間とを示すタイムチャートである。
【図８】第１実施形態に係るタスク管理装置のタスク管理部による処理の一例を示すフローチャートである。
【図９】第２実施形態に係るタスク管理装置の機能構成例を示すブロック図である。
【図１０】データベース構築タスクおよび他処理タスクの実行時間の期間と、書込制御部が書込処理を行う期間とを示すタイムチャートである。
【図１１】データベース構築タスクおよび他処理タスクの実行時間の期間と、書込制御部が書込処理を行う期間とを示すタイムチャートである。
【図１２】第２実施形態に係るタスク管理装置のタスク管理部による処理の一例を示すフローチャートである。
【図１３】第３実施形態に係るタスク管理装置の機能構成例を示すブロック図である。
【図１４】第３実施形態に係るタスク管理装置のタスク管理部による処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
（第１実施形態）
以下、本発明の第１実施形態を図面に基づいて説明する。図１は、本実施形態に係るタスク管理装置１００を備える車載装置１の構成例を示す図である。車載装置１は、車両に搭載される装置であり、タスク管理装置１００と、ディスプレイ２００と、タッチパネル３００と、音声処理装置４００と、メディア再生装置５００と、ラジオ受信装置６００と、を備えている。
【００１１】
図１に示すように、タスク管理装置１００は、集積回路１０を備えている。この集積回路１０には、電子部品として、ＣＰＵ１１（特許請求の範囲の「第２の処理リソース」に相当）、ＲＯＭ１２、ＲＡＭ１３、クロック回路１４および入出力ポート１５が実装されている。これら電子部品は、バス１６を介して相互に信号通信可能である。
【００１２】
ＣＰＵ１１は、中央演算処理装置であり、ＲＯＭ１２に記憶されたプログラムを読み出して実行することによって、タスク管理装置１００の各部を制御する。なお、ＣＰＵ１１が実行するプログラムが格納される記憶媒体はＲＯＭ１２に限らず、タスク管理装置１００が備える他の記憶媒体であってもよく、また、タスク管理装置１００に接続された外部装置であってもよい。ＲＯＭ１２は、ＣＰＵ１１が実行するプログラム、プログラムに付随するデータ等を記憶する不揮発性メモリーである。ＲＡＭ１３は、ＣＰＵ１１のワークエリアが形成される揮発性メモリーである。
【００１３】
クロック回路１４は、発振回路や、分周回路等を備え、所定の周波数のクロック信号をＣＰＵ１１に出力する。後述するタスク管理部３７は、クロック回路１４から入力されるクロック信号に基づいて、タスクの時間管理等の各種計時処理を実行する。入出力ポート１５は、後述する各種インターフェースとの間で信号を入出力するためのポートである。
【００１４】
図１に示すように、タスク管理装置１００は、メモリー１７（特許請求の範囲の「記憶媒体」に相当）を備える。本実施形態において、メモリー１７は、ハードディスクである。ただし、メモリー１７は、データを書き換え可能に記憶でき、後述する楽曲情報データベースＤＢ１を記憶するのに十分な記憶容量を有する記憶媒体であればよい。例えば、メモリー１７は、各種フラッシュメモリーであってもよい。メモリー１７には、メモリーコントローラ１８（特許請求の範囲の「第１の処理リソース」に相当）が接続される。メモリーコントローラ１８は、メモリー１７へのデータの書き込み、および、メモリー１７からのデータの読み出しを実行する専用のコントローラであり、例えば、ＣＰＵや、ＩＣチップにより構成される。メモリーコントローラ１８は、メモリーインタフェース１９を介して入出力ポート１５に接続される。
【００１５】
図１に示すように、タスク管理装置１００は、通信モジュール２０を備える。通信モジュール２０は、外部装置が接続可能であり、接続された外部装置と所定の通信規格に従って通信する通信インタフェースである。本実施形態では、通信モジュール２０に、外部装置として、車両に搭乗する搭乗者（以下、単に「ユーザ」という）が所有する携帯端末ＫＴ（例えば、スマートフォンや、タブレット端末。図２参照）が接続される。通信モジュール２０と携帯端末ＫＴとの間での通信に使用される通信規格は、無線通信に係る通信規格でも、有線通信に係る通信規格でもよい。無線通信に係る通信規格は、例えば、Bluetooth（登録商標）や、Ｗｉ−Ｆｉ（登録商標）である。有線通信に係る通信規格は、例えば、ＵＳＢや、イーサネット（登録商標）である。通信モジュール２０は、タスク管理装置１００の通信モジュールインタフェース２１を介して、入出力ポート１５に接続される。
【００１６】
ディスプレイ２００は、車両のダッシュボードの中央部等に設けられた表示パネル（液晶表示パネルや、有機ＥＬパネル等）である。ディスプレイ２００は、ディスプレイインタフェース２２を介して、入出力ポート１５に接続される。タッチパネル３００は、ディスプレイ２００に重ねて配置されたタッチセンサーであり、ユーザによるタッチ操作を検出し、タッチ操作された位置を示す信号を出力する。タッチパネル３００は、タスク管理装置１００のタッチパネルインタフェース２３を介して、入出力ポート１５に接続される。
【００１７】
音声処理装置４００は、Ｄ／Ａコンバーターや、ボリューム、アンプ、車内スピーカー等を備え、入力された音声信号をＤ／Ａ変換し、増幅した後、音声信号に基づく音声を車内スピーカーから出力する。音声処理装置４００は、タスク管理装置１００の音声処理装置インタフェース２４を介して、入出力ポート１５に接続される。例えば、ＣＰＵ１１は、メモリー１７に記憶された動画ファイルに基づく動画の再生に際し、音声処理装置インタフェース２４を介して、音声処理装置４００に音声信号を出力して、音声処理装置４００から音声を出力する。
【００１８】
メディア再生装置５００は、ＣＤを再生する装置である。メディア再生装置５００は、収納されたＣＤから音声データを読み出し、ＣＤから読み出した音声データに基づく音声信号を音声処理装置４００に出力する。メディア再生装置５００は、タスク管理装置１００のメディア再生装置インタフェース２５を介して、入出力ポート１５に接続される。なお、メディア再生装置５００が再生する対象とするメディアはＣＤに限らず、例えば、ＤＶＤや、ＭＤであってもよい。
【００１９】
ラジオ受信装置６００は、ユーザが選択したチャンネルのラジオ放送（ＡＭラジオ放送や、ＦＭラジオ放送）を受信し、受信したラジオ放送に基づく音声信号を音声処理装置４００に出力する。ラジオ受信装置６００は、タスク管理装置１００のラジオ受信装置インタフェース２６を介して、入出力ポート１５に接続される。なお、ラジオ受信装置６００が受信するラジオ放送は、アナログ放送に限らず、デジタル放送であってもよい。
【００２０】
図２は、本実施形態に係るタスク管理装置１００の機能構成例を示すブロック図である。図２に示すように、本実施形態に係るタスク管理装置１００は、その機能構成として、通信部３０、データベース構築部３１、メモリー制御部３２（特許請求の範囲の「書込制御部」に相当）、メモリー関連処理実行部３３（特許請求の範囲の「他処理実行部」に相当）、メディア関連処理実行部３４（特許請求の範囲の「他処理実行部」に相当）、ラジオ関連処理実行部３５（特許請求の範囲の「他処理実行部」に相当）、アクセス量検出部３６およびタスク管理部３７を備えている。
【００２１】
機能ブロック３０〜３７のうち、データベース構築部３１、メモリー関連処理実行部３３、メディア関連処理実行部３４、ラジオ関連処理実行部３５、アクセス量検出部３６およびタスク管理部３７は、処理リソースとして、ＣＰＵ１１（第２の処理リソース）を使用して処理を実行する。すなわち、機能ブロック３１、３３〜３７は、ＲＯＭ１２等の記憶媒体に記憶されたプログラムによる情報処理が、ハードウェア資源たるＣＰＵ１１を用いて実行されることにより、その機能を発揮すると共に各種処理を実行する。
【００２２】
特に、タスク管理部３７の機能は、タスク管理プログラムを例えばＣＤ−ＲＯＭのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものである。上記プログラムを記録する記録媒体としては、ＣＤ−ＲＯＭ以外に、フレキシブルディスク、ハードディスク、磁気テープ、光ディスク、光磁気ディスク、ＤＶＤ、不揮発性メモリカード等を用いることができる。また、上記プログラムをインターネット等のネットワークを介してコンピュータにダウンロードすることによっても実現できる。
【００２３】
一方、メモリー制御部３２は、処理リソースとして、ＣＰＵ１１とは異なる処理リソースであるメモリーコントローラ１８（第１の処理リソース）を使用して処理を実行する。すなわち、メモリー制御部３２は、チップに実装された信号処理回路による信号処理や、所定の記憶媒体（例えば、メモリーコントローラ１８に実装されたＲＯＭ）に記憶されたプログラムによる情報処理が、ハードウェア資源たるＣＰＵを用いて実行されることにより、その機能を発揮すると共に各種処理を実行する。また、通信部３０は、処理リソースとして、通信モジュール２０を使用して処理を実行する。通信部３０は、通信モジュール２０が備えるハードウェアと、ハードウェアを制御するプログラムとの協働で処理を実行する。
【００２４】
通信部３０は、車両に搭乗する搭乗者（ユーザ）が所有する携帯端末ＫＴが接続可能であり、接続された携帯端末ＫＴと所定の通信規格に従って通信する。通信部３０に携帯端末ＫＴが接続された状態とは、携帯端末ＫＴと通信部３０との間で、使用する通信規格に従って通信リンクが確立し、携帯端末ＫＴの特定のソフトウェアと、タスク管理装置１００の特定のソフトウェアとの間でデータの送受信が可能な状態を意味する。
【００２５】
データベース構築部３１は、通信部３０に接続された携帯端末ＫＴから、通信部３０を介して、楽曲情報（特許請求の範囲の「構築用情報」、「付加情報」に相当）を受信する。そして、データベース構築部３１は、受信した楽曲情報に基いて楽曲情報データベースＤＢ１（特許請求の範囲の「データベース」に相当）を生成すると共に、楽曲情報データベースＤＢ１を構成するデータをメモリー制御部３２に転送するデータベース構築処理を実行する。上述したように、データベース構築部３１は、処理リソースとして、ＣＰＵ１１を使用してデータベース構築処理を実行する。後に詳述するように、データベース構築処理は、タスク管理部３７によって、当該処理に係るタスクがＣＰＵ１１に割り当てられることによって実行される。以下、データベース構築部３１の処理について詳述する。
【００２６】
データベース構築処理に先立って、通信部３０に携帯端末ＫＴが接続されると共に、携帯端末ＫＴにインストールされている所定のアプリケーション（ＯＳの一部であってもよい。）が立ち上げられる。当該所定のアプリケーションは、接続されたときに自動で立ち上がる構成でもよく、また、ユーザの指示によって立ち上がる構成でもよい。当該所定のアプリケーションが立ち上がると、携帯端末ＫＴにおいて当該所定のアプリケーションを実行する機能ブロック（以下、「アプリケーション実行部」といい、符号として「ＫＴａ」を付す）と、データベース構築部３１との間で論理的な通信経路（コネクション）が確立し、これら機能ブロック間でデータの送受信が可能な状態となる。
【００２７】
データベース構築部３１は、タッチパネル３００に対して、データベース構築処理の開始を指示するタッチ操作があった場合、通信部３０を介して、携帯端末ＫＴのアプリケーション実行部ＫＴａに対して、楽曲情報の送信を要求する楽曲情報送信要求通知を送信する。なお、ユーザの指示をトリガとして楽曲情報送信要求通知を送信するのではなく、携帯端末ＫＴが通信部３０に接続されたときに自動で楽曲情報送信要求通知を送信する構成でもよい。また、データベース構築部３１が楽曲情報送信要求通知を送信するのではなく、携帯端末ＫＴのアプリケーション実行部ＫＴａが、携帯端末ＫＴが通信部３０に接続されたときに自動で楽曲情報を送信する構成でもよい。
【００２８】
ここで、事前に、携帯端末ＫＴの記憶領域には、携帯側データベースが記憶される。携帯側データベースとは、楽曲データ（特許請求の範囲の「音声データ」に相当）と、楽曲情報とを関連付けて記憶するデータベースである。楽曲データとは、所定の音声ファイルフォーマットの音声データである。本実施形態では、楽曲データには、演奏等をするアーティストがおり楽曲名が付されている楽曲が記録されている。楽曲情報とは、楽曲データに記録された楽曲の識別情報（以下、「楽曲ＩＤ」という。）や、アーティスト名、曲名、アルバム名、ジャンル等の、楽曲データに記録された楽曲に関する情報である。本実施形態では、楽曲情報には、楽曲ＩＤと、アーティスト名と、曲名と、アルバム名と、ジャンルとが含まれているものとする。アーティスト名、曲名、アルバム名およびジャンルは、それぞれ、検索キーを利用した検索にメタデータとして使用できる情報である。
【００２９】
携帯端末ＫＴのアプリケーション実行部ＫＴａは、楽曲情報送信要求通知を受信すると、携帯側データベースを参照し、携帯側データベースに楽曲データが記憶された楽曲のそれぞれについて、楽曲情報を送信する。
【００３０】
タスク管理装置１００の通信部３０は、携帯端末ＫＴのアプリケーション実行部ＫＴａが楽曲ごとに送信する楽曲情報を受信する。通信部３０は、受信した楽曲情報を、順次、受信バッファー（不図示）に格納する。データベース構築部３１は、受信バッファーに格納された楽曲情報を、順次、読み出し、データベース構築処理を実行する。なお、通信部３０による楽曲情報の受信および楽曲情報の受信バッファーへの格納と、データベース構築部３１によるデータベース構築処理とは、独立して非同期で行われる。
【００３１】
データベース構築処理において、データベース構築部３１は、携帯端末ＫＴのアプリケーション実行部ＫＴａから受信した楽曲情報（＝受信バッファーから読み出した楽曲情報）に基いて、ＲＡＭ１３のワークエリアに、楽曲情報データベースＤＢ１を生成する処理を実行する。楽曲情報データベースＤＢ１の生成は、当該データベースに、楽曲情報を有するレコードが、楽曲情報データベースＤＢ１のデータ形式に従って、順次、追加されることによって行われる。データベース構築部３１は、楽曲情報データベースＤＢ１の生成と並行して、楽曲データベースＤＢ１を構成するデータ（以下、「データベース構成データ」という。）を、順次、メモリー制御部３２に転送する。このように、データベース構築処理では、楽曲情報データベースＤＢ１の生成、および、データベース構成データの転送が実行される。携帯端末ＫＴのアプリケーション実行部ＫＴａから受信した全ての楽曲情報に基づく楽曲データベースＤＢ１の生成、および、データベース構成データの転送が完了すると、データベース構築処理が完了する。
【００３２】
メモリー制御部３２は、データベース構築部３１から転送されてきたデータのメモリー１７への書き込みを、処理リソースとしてメモリーコントローラ１８を使用して実行する。上述したように、データベース構築処理において、データベース構築部３１は、データベース構成データをメモリー制御部３２に転送する。メモリー制御部３２は、データベース構築部３１から転送されてきたデータベース構成データをメモリー１７に書き込む。楽曲情報データベースＤＢ１を構成する全てのデータベース構成データの書き込みが完了すると、メモリー１７に、携帯端末ＫＴのアプリケーション実行部ＫＴａから受信した全ての楽曲情報に基づく楽曲情報データベースＤＢ１が記憶された状態となり、楽曲情報データベースＤＢ１の構築が完了する。
【００３３】
構築された楽曲情報データベースＤＢ１は、以下の態様で使用される。すなわち、楽曲情報データベースＤＢ１は、アーティスト名等を検索キーとする検索（例えば、アーティスト名を検索キーとする曲名の検索）に使用される。例えば、車載装置１は、ユーザの指示に応じて、楽曲情報データベースＤＢ１を使用して、アーティスト名等を検索キーとする検索を実行する。検索キーは、例えば、ユーザに対して提供される所定のユーザインタフェースに入力される。本実施形態では、ユーザは、検索された楽曲のうちの任意の楽曲を、再生する楽曲として選択できる。車載装置１は、ユーザによって楽曲が選択された場合、携帯端末ＫＴと通信し、ユーザに選択された楽曲の楽曲データをストリーミング再生等の手段により再生する。
【００３４】
なお、後述するように、データベース構築処理は、当該処理に係るタスクがＣＰＵ１１により繰り返し実行されることによって実行される。メモリー制御部３２は、タスクごとに、各タスクで転送された分のデータベース構成データの書き込みを行う。
【００３５】
メモリー関連処理実行部３３は、メモリー関連処理を実行する。メモリー関連処理は、処理リソースとしてＣＰＵ１１を使用する処理であって、メモリー１７へのアクセスを伴う処理（＝ソースとしてメモリー１７を使用する処理）である。なお、上述したデータベース構築処理は、メモリー関連処理に含まれない。
【００３６】
メモリー関連処理は、例えば、以下である。すなわち、本実施形態では、事前にメモリー１７に複数の動画ファイルが格納されたデータベースが記憶されている。メモリー関連処理実行部３３は、ユーザ操作に応じて、適宜、複数の動画ファイルが格納されたデータベースを用いた動画の検索や、データベースに記憶された動画ファイルに基づく動画の再生等を実行する。データベースを用いた動画の検索や、動画ファイルに基づく動画の再生は、メモリー１７へのアクセスを伴う処理であり、メモリー関連処理に相当する。
【００３７】
メディア関連処理実行部３４は、メディア関連処理を実行する。メディア関連処理は、処理リソースとしてＣＰＵ１１を使用する処理であって、メディア再生装置５００へのアクセスを伴う処理（＝ソースとしてメディア再生装置５００を使用する処理）である。メディア関連処理実行部３４は、ユーザ操作に応じて、適宜、制御データを生成してメディア再生装置５００に送信し、メディア再生装置５００にＣＤの再生の開始や、再生するトラックの早送り、巻き戻し、再生中のトラックの一時停止等を行わせる。ユーザ操作に応じて制御データを生成してメディア再生装置５００を制御する処理は、メディア再生装置５００へのアクセスを伴う処理であり、メディア関連処理に相当する。
【００３８】
ラジオ関連処理実行部３５は、ラジオ関連処理を実行する。ラジオ関連処理は、処理リソースとしてＣＰＵ１１を使用する処理であって、ラジオ受信装置６００へのアクセスを伴う処理（＝ソースとしてラジオ受信装置６００を使用する処理）である。ラジオ関連処理実行部３５は、ユーザ操作に応じて、適宜、制御データを生成してラジオ受信装置６００に送信し、ラジオ受信装置６００にプリセットや、チャンネルの変更等を行わせる。ユーザ操作に応じて制御データを生成してラジオ受信装置６００を制御する処理は、ラジオ受信装置６００へのアクセスを伴う処理であり、ラジオ関連処理に相当する。
【００３９】
アクセス量検出部３６は、メモリー１７への同時アクセス量を検出する。メモリー１７への同時アクセス量とは、生成されたタスク（実行状態でなくてもよい）のうち、メモリー１７へのデータの書き込み、または、メモリー１７からのデータの読み出しを伴う処理を実行するタスクの数を意味し、タスクの数が多いほど、同時アクセス量が大きい。同時アクセス量が大きいほど、メモリーコントローラ１８の処理負荷が大きくなるため、１のタスクがメモリー制御部３２にメモリー１７へのデータの書き込みを要求した場合における書込速度（単位時間に書き込みことが可能なデータ量）が遅くなる。アクセス量検出部３６が同時アクセス量を検出する方法はどのような方法であってもよい。例えば、同時アクセス量は、タスク管理装置１００のＯＳの機能により提供される。
【００４０】
タスク管理部３７は、データベース構築部３１によってデータベース構築処理が実行される間、データベース構築処理に係る一のタスクをＣＰＵ１１に割り当てて実行させた後、メモリー制御部３２により当該一のタスクにおいて転送されたデータについての書き込みが完了した場合に、データベース構築処理に係る次のタスクのＣＰＵ１１への割り当てを試みる。その上で、タスク管理部３７は、メモリー制御部３２の書込速度のレベルを判定し、書込速度が速いレベルほど、データベース構築処理に係るタスクのＣＰＵ１１への割り当ての優先度を低くする。また、タスク管理部３７は、書込速度のレベルの判定に際し、アクセス量検出部３６により検出された同時アクセス量を反映して書込速度のレベルを判定する。
【００４１】
以下、タスク管理部３７の処理について詳述する。以下の説明において、データベース構築処理以外の処理であって、処理リソースとしてＣＰＵ１１を使用する処理を、総称して、「他処理」と表現する。上述したメモリー関連処理、メディア関連処理およびラジオ関連処理は、それぞれ、「他処理」に含まれる。
【００４２】
タスク管理部３７は、タスク管理装置１００のＯＳの機能により、優先度方式のマルチタスキングを実現する。タスク管理部３７は、処理リソースとしてＣＰＵ１１を使用する処理について、処理の開始に伴うタスクの生成、処理の終了に伴うタスクの消滅、タスクの状態の遷移を行って各タスクを管理する。なお、詳細は省略するが、タスクの生成、消滅や、タスクの状態の遷移は、ＣＰＵ１１に対して、ＯＳ、その他のシステムから入力される割込信号に基づいて、適切に実行される。周知のとおり、マルチタスキングでは、タスクの状態として、「実行状態」、「実行可能状態」および「待機状態」がある。
【００４３】
実行状態は、ＣＰＵ１１が割り当てられ、タスクが実行されている状態である。実行可能状態は、実行状態に遷移可能な状態（タスクを実行するために必要な条件が全て成立している状態）である一方、優先度の高い他のタスクが実行状態であり、当該他のタスクの状態が遷移するのを待機している状態である。待機状態は、入出力の完了待ち状態である等、タスクを実行するために必要な条件が成立しておらず、実行状態に遷移できない状態である。本実施形態では、入出力の完了待ち状態には、メモリー制御部３２がデータベース構成データの書き込みを完了するのを待っている状態を含む。
【００４４】
タスク管理部３７は、タスクごとに優先度を付与し、タスクコントロールブロックによって各タスクに付与した優先度を管理する。タスク管理部３７は、実行可能状態のタスクが複数ある場合、最も優先度が高いタスクを実行状態へ遷移し、当該最も優先度が高いタスク以外のタスクについて実行可能状態を維持する。
【００４５】
本実施形態に係るタスク管理部３７は、データベース構築処理が開始された場合、データベース構築処理に係るタスク（以下、「データベース構築タスク」という。）について、以下の方法でタスクを管理する。すなわち、タスク管理部３７は、データベース構築処理の開始に応じてデータベース構築タスクを生成し、当該タスクを実行可能状態とする。タスク管理部３７は、他のタスクの優先度と比較して、データベース構築タスクの優先度が最も高い場合、データベース構築タスクを実行状態へ遷移する（＝データベース構築タスクをＣＰＵ１１に割り当てて実行させる）。データベース構築タスクが実行状態の間、ＣＰＵ１１は、タスクに対応する一定のプログラムを実行して、楽曲情報データベースＤＢ１を生成する処理と、データベース構成データを転送する処理とを行う。当該プログラムが実行されると、所定量のデータベース構成データがメモリー制御部３２に転送さると共に、データベース構築タスクは、入出力の完了待ち（この場合は、メモリー１７への書き込みの完了待ち）状態となる。
【００４６】
タスク管理部３７は、割込信号に基づいて、データベース構築タスクが入出力の完了待ち状態となったことを検出すると、データベース構築タスクを待機状態へ遷移する。その後、タスク管理部３７は、割込信号に基づいて、メモリー制御部３２により、メモリー制御部３２に対して転送された分のデータベース構成データの書き込みが完了したことを検出すると、データベース構築タスクを実行可能状態へと遷移する。すなわち、タスク管理部３７は、メモリー制御部３２によりデータベース構築処理に係る一のタスクにおいて転送されたデータベース構成データについての書き込みが完了した場合に、データベース構築処理に係る次のタスクのＣＰＵ１１への割り当てを試みる。
【００４７】
データベース構築処理が行われている間、タスク管理部３７は、さらに、所定の周期で、以下で示す優先度設定処理を実行する。すなわち、優先度設定処理において、まず、タスク管理部３７は、アクセス量検出部３６により検出された同時アクセス量を取得する。なお、本実施形態では、アクセス量検出部３６は、当該所定の周期で、同時アクセス量を検出する。同時アクセス量を取得した後、タスク管理部３７は、メモリー制御部３２の書込速度のレベルを判定する。本実施形態では、同時アクセス量が書込速度に影響を与えることを踏まえ、タスク管理部３７は、アクセス量検出部３６により検出された同時アクセス量に基づいて、書込速度のレベルを判定する。
【００４８】
より詳細には、本実施形態では、書込速度のレベルとして、書込速度が速いことを示すレベル（以下、「高速レベル」という）と、書込速度が遅いことを示すレベル（以下、「低速レベル」という）との２つがある。そして、タスク管理部３７は、取得した同時アクセス量が所定の閾値を下回る場合は、書込速度のレベルが高速レベルである判定し、当該所定の閾値以上の場合は、書込速度のレベルが低速レベルであると判定する。
【００４９】
書込速度のレベルを判定した後、タスク管理部３７は、書込速度のレベルが高速レベルの場合、データベース構築タスクの優先度を、他処理に係るタスクの優先度に対して相対的に低くする。すなわち、タスク管理部３７は、データベース構築タスクと、他処理に係るタスクとが共に実行可能状態の場合に、他処理に係るタスクが優先的に実行状態となる（＝優先的にＣＰＵ１１の割り当てが行われる）ような状態にする。一方、タスク管理部３７は、書込速度のレベルが低速レベルの場合、データベース構築タスクの優先度を、他処理に係るタスクの優先度に対して相対的に高くする。すなわち、タスク管理部３７は、データベース構築タスクと、他処理に係るタスクとが共に実行可能状態の場合に、データベース構築タスクが優先的に実行状態となる（＝優先的にＣＰＵ１１の割り当てが行われる）ような状態にする。このように、本実施形態では、タスク管理部３７は、書込速度が速いほど、データベース構築処理に係るタスクのＣＰＵ１１への割り当ての優先度を、他処理に係るタスクについての優先度に対して相対的に低くする。換言すれば、タスク管理部３７は、書込速度が遅いほど、データベース構築処理に係るタスクのＣＰＵ１１の割り当ての優先度を、他処理に係るタスクについての優先度に対して相対的に高くする。
【００５０】
なお、同時アクセス量は、時間の経過と共に動的に変化する。従って、同時アクセス量の変化に応じて、データベース構築タスクの優先度も動的に変化する。
【００５１】
データベース構築処理が実行されている間、データベース構築処理と並行して、他処理（処理リソースとしてＣＰＵ１１を使用して実行される処理）が実行される場合がある。特に、携帯端末ＫＴが送信する楽曲情報の量が大きく、データベース構築処理に要する時間が長いほど、データベース構築処理と並行して他処理が実行される可能性は高くなる。ここで、データベースの構築が完了するまでは、ユーザは楽曲情報データベースＤＢ１を使用した楽曲の検索ができないため、データベース構築処理の実行に要する時間が長ければ長いほど、ユーザの満足度が低下する。また、他処理が、ユーザ操作をトリガとして実行される処理の場合、ユーザがユーザ操作を行ってから、処理が実行されて処理結果が反映されるまでに要する時間が長ければ長いほど（＝他処理が完了するタイミングが遅延するほど）、ユーザの満足度が低下する。
【００５２】
そして、データベースの構築処理の実行中に、当該処理と同じ処理リソース（ＣＰＵ１１）を使用する他処理を実行する必要が生じた場合、当該他処理に係るタスクのＣＰＵ１１の割り当てが、データベース構築処理が実行されていない場合と比較して減少し、当該他処理が完了するタイミングの遅延を招く。当該他処理が完了するタイミングの遅延を抑制するために、データベース構築タスクについて固定的に優先度を低くした場合、データベースの構築が完了するタイミングが遅延してしまう。
【００５３】
以上を踏まえ、本実施形態によれば、タスク管理部３７が上述した処理を実行することにより、以下の効果を奏する。すなわち、データベース構築処理が実行されている場合において、データベース構築処理に係る一のタスクでメモリー制御部３２にデータが転送された後、メモリー制御部３２によりそのデータの書き込みが行われている期間は、データベース構築タスクは入出力の完了待ち状態となるため、データベース構築タスクのＣＰＵ１１への割り当ては行われず、この期間は、他処理に係るタスクをＣＰＵ１１に割り当てることが可能である。そして、メモリー制御部３２の書込速度が速いほど、メモリー制御部３２が書き込みを行う期間は短くなる。このため、書込速度が速い場合に、データベース構築タスクの優先度を高くすると、メモリー制御部３２によりデータの書き込みが行われる期間が短い上に、さらに、メモリー制御部３２がデータの書き込みを行っていない期間においてデータベース構築タスクと、他処理に係るタスクとが共に実行可能状態となった場合、データベース構築タスクに対してＣＰＵ１１が優先的に割り当てられることになり、他処理が完了するタイミングの遅延を招く。これを踏まえ、本実施形態によれば、書込速度が速いほど、データベース構築タスクのＣＰＵ１１への割り当ての優先度が低くなるため、書込速度が速いほど、メモリー制御部３２がデータの書き込みを行っていない期間では、当該他の処理に係るタスクに対してＣＰＵ１１が優先的に割り当てられることになり、当該他の処理が完了するタイミングを早くできる。
【００５４】
その上で、本実施形態によれば、書込速度が遅く、従って、メモリー制御部３２によりデータの書き込みが行われる期間が長く、このため、他処理に係るタスクに十分にＣＰＵ１１が割り当てられる状況下では、データベース構築タスクの優先度が低くならないため、不要にデータベース構築タスクの優先度が低くなることがなく、データベースの構築が完了するタイミングの遅延を抑制することができる。
【００５５】
なお、本実施形態では、書込速度のレベルが高速レベルと低速レベルとの２つ存在し、タスク管理部３７は、書込速度のレベルが高速レベルの場合は、データベース構築タスクの優先度を、他処理に係るタスクの優先度よりも相対的に低くし、書込速度のレベルが低速レベルの場合は、データベース構築タスクの優先度を、他処理に係るタスクの優先度よりも相対的に高くする。この点に関し、以下の構成でもよい。すなわち、書込速度として３つ以上のレベルを設け、タスク管理部３７が、書込速度のレベルに応じて、書込速度が高いレベルほどデータベース構築タスクの優先度を段階的に低くし、書込速度が低いレベルほどデータベース構築タスクの優先度を段階的に高くする構成でもよい。この構成によれば、書込速度が速いほど、データベース構築タスクの優先度を下げて、データベース構築タスクと他処理タスクとが共に実行可能状態となったときに、他処理タスクが優先して実行される可能性を高めることができる。また、この構成によれば、書込速度が遅いほど、データベース構築タスクの優先度を上げて、データベース構築タスクと他処理タスクとが共に実行可能状態となったときに、データベース構築タスクが優先して実行される可能性を高めることができる。これにより、上述した効果と同様の効果を奏することができる。
【００５６】
以下の説明では、他処理に係るタスクを「他処理タスク」という。また、メモリー制御部３２が、転送されてきたデータをメモリー１７に書き込む処理を「書込処理」という。
【００５７】
図３は、データベース構築処理と並行して他処理が行われる場合に、データベース構築タスクにＣＰＵ１１が割り当てられる期間（＝実行状態の期間）と、他処理に係るタスクにＣＰＵ１１が割り当てられる期間とを、メモリー制御部３２が書込処理を行う期間と共に示すタイムチャートである。図３において、軸Ｊ３Ａは他処理タスクにＣＰＵ１１が割り当てられる期間を時系列で示し、軸Ｊ３Ｂはデータベース構築タスクにＣＰＵ１１が割り当てられる期間を時系列で示し、軸Ｊ３Ｃは書込処理が実行される期間を時系列で示す。
【００５８】
図３は、タスク管理部３７が、書込速度のレベルを高速レベルと判定し、データベース構築タスクに対して、他処理タスクよりも相対的に低い優先度を付与する場合に、データベース構築タスクと他処理タスクとにＣＰＵ１１が割り当てられる期間を示している。
【００５９】
図３では、説明の便宜のため、以下のことを前提とする。すなわち、データベース構築タスクは、実行状態となった後、２０ミリ秒が経過した段階で一律に当該タスクに対応する一定のプログラムの実行が終了し、入出力の完了待ち状態となる。上述したように、タスク管理部３７は、データベース構築タスクが入出力の完了待ち状態となった場合、当該タスクを待機状態に遷移する。
【００６０】
また、図３の説明では、他処理タスクは、４０ミリ秒がタイムクォンタムとされる。従って、他処理タスクは、実行状態となった後、４０ミリ秒が経過した段階で、タスク管理部３７によって強制的に、最も低い優先度が付与された上で実行可能状態へ遷移される。この最も低い優先度は、後述する優先度「低」よりも低い優先度であり、タイムクォンタムを使い切ったタスクに対して特別に付与される。タスク管理部３７は、他処理タスクに最も低い優先度を付与した後、２０ミリ秒が経過したときに、優先度をリセットし、元の優先度を付与する。
【００６１】
また、図３の説明では、タイミングＴ０を図における経過時間の起点とし、各タイミングを、「タイミングＴ」という文言に、タイミングＴ０からの経過時間を表す数字（単位は「ミリ秒」）を付加した名称によって表す。例えば、タイミングＴ０から２０ミリ秒経過したタイミングをタイミングＴ２０と表現し、タイミングＴ０から１００ミリ秒経過したタイミングをタイミングＴ１００と表現する。
【００６２】
また、図３では、ＣＰＵ１１には、データベース構築タスクおよび他処理タスクのみが割り当てられるものとし、説明に際し、これらタスク以外のタスクについては考慮しない。
【００６３】
また、図３では、優先度は、高い順に、「高」、「中」、「低」がある。そして、他処理タスクには、タイムクォンタムを使い切ったことに起因してタスク管理部３７に強制的に優先度が付与される期間を除いて、優先度として、常に優先度「中」が付与される。
【００６４】
以上のことを前提とする点は、第１実施形態の説明に用いる図４〜８、および、第２実施形態の説明に用いる図１０、１１についても同じである。
【００６５】
さらに、図３では、以下のことを前提とする。すなわち、１つの他処理は、他処理タスクが合計して、６０ミリ秒、実行状態となった場合（＝ＣＰＵ１１に割り当てられた時間の累計が６０ミリ秒となった場合）、一律に処理が完了する。
【００６６】
以上のことを前提とする点は、第１実施形態の説明に用いる図４〜８についても同じである。
【００６７】
さらに、図３では、以下のことを前提とする。すなわち、図３で示す期間の間、タスク管理部３７は、継続して書込速度のレベルを高速レベルと判定し、データベース構築タスクに、優先度として、優先度「低」を付与する。また、図３では、データベース構築タスクでメモリー制御部３２に転送されたデータベース構成データをメモリー１７に書き込む処理に要する時間は、一律で「１０ミリ秒」である。また、図３では、タイミングＴ０で、データベース構築処理が開始され、タイミングＴ２０で他処理が開始される。
【００６８】
さて、図３に示すように、タイミングＴ０において、データベース構築処理が開始される。これに応じて、軸Ｊ３Ｂに示すように、タスク管理部３７は、タイミングＴ０−Ｔ２０の２０ミリ秒の期間、データベース構築タスクを実行状態とする。軸Ｊ３Ｃに示すように、タイミングＴ２０−Ｔ３０の１０ミリ秒の期間、メモリー制御部３２は、タイミングＴ０−Ｔ２０の期間で実行されたデータベース構築タスクにより転送されたデータベース構成データについての書込処理を実行する。
【００６９】
また、図３に示すように、タイミングＴ２０において、他処理が開始される。タイミングＴ２０−Ｔ３０の期間は、データベース構築タスクは待機状態のため、タスク管理部３７は、当該期間、他処理タスクを実行状態とする。タイミングＴ３０で書込処理が完了すると、タスク管理部３７は、データベース構築タスクを実行可能状態へと移行する。しかしながら、図３では、データベース構築タスクの優先度（優先度「低」）は、他処理タスクの優先度（優先度「中」）よりも低い。このため、タスク管理部３７は、引き続き他処理タスクを実行状態として他処理タスクへのＣＰＵ１１の割り当てを行う一方、データベース構築タスクの状態を実行可能状態のまま維持する。
【００７０】
軸Ｊ３Ａに示すように、他処理タスクはタイミングＴ６０でタイムクォンタムを使い切る。タスク管理部３７は、タイミングＴ６０で、他処理タスクに最も低い優先度を付与した上で、他処理タスクを実行可能状態に遷移する。これにより、タイミングＴ６０において、他処理タスクおよびデータベース構築タスクが実行可能状態となるが、優先度はデータベース構築タスクの方が高い。従って、軸Ｊ３Ｂに示すように、タスク管理部３７は、データベース構築タスクを実行状態へ遷移する。
【００７１】
軸Ｊ３Ｂおよび軸Ｊ３Ｃに示すように、タスク管理部３７は、タイミングＴ６０−Ｔ８０の２０ミリ秒の期間、データベース構築タスクを実行状態とする。また、タイミングＴ８０−Ｔ９０の１０ミリ秒の期間、書込処理が実行される。軸Ｊ３Ｂに示すように、タスク管理部３７は、タイミングＴ８０でデータベース構築タスクを待機状態へ遷移する。軸Ｊ３Ａに示すように、タスク管理部３７は、タイミングＴ８０で、他処理タスクの優先度をリセットすると共に、他処理タスクを実行状態へ遷移する。
【００７２】
軸Ｊ３Ａおよび軸Ｊ３Ｂに示すように、タイミングＴ９０で書込処理が完了すると、タスク管理部３７は、データベース構築タスクを実行可能状態へと移行する。しかしながら、図３では、データベース構築タスクの優先度（優先度「低」）は、他処理タスクの優先度（優先度「中」）よりも低い。このため、タスク管理部３７は、引き続き他処理タスクを実行状態として他処理タスクへのＣＰＵ１１の割り当てを行う一方、データベース構築タスクの状態を実行可能状態のまま維持する。
【００７３】
軸Ｊ３Ａに示すように、タイミングＴ１００で、他処理タスクが実行状態となった期間の合計が６０ミリ秒となり、他処理が終了する。軸Ｊ３Ｂおよび軸Ｊ３Ｃに示すように、タイミングＴ１００以降は、２０ミリ秒のデータベース構築タスクの実行と、１０ミリ秒の書込処理とが交互に繰り返し実行される。
【００７４】
図４は、図３との比較のために、タスク管理部３７が、仮に、書込速度のレベルにかかわらず、データベース構築タスクの優先度を、他処理タスクの優先度に比して相対的に高くした場合に、データベース構築タスクと他処理タスクとにＣＰＵ１１が割り当てられる期間を示す。他処理の状況にかかわらずデータベース構築処理を優先的に実行することを意図して、データベース構築タスクの優先度を固定的に高くすると、図４に示すタイミングでデータベース構築タスクと他処理とにＣＰＵ１１の割り当てが行われることになる。
【００７５】
図４において、軸Ｊ４Ａは他処理タスクにＣＰＵ１１が割り当てられる期間を時系列で示し、軸Ｊ４Ｂはデータベース構築タスクにＣＰＵ１１が割り当てられる期間を時系列で示し、軸Ｊ４Ｃは書込処理が実行される期間を時系列で示す。図４では、タスク管理部３７は、データベース構築タスクに対して、優先度として、常に、優先度「高」を付与する。それ以外の前提は、図３と同じである。
【００７６】
図４に示すように、タイミングＴ０でデータベース構築処理が開始される。これに伴って、軸Ｊ４Ｂに示すように、タスク管理部３７は、タイミングＴ０−Ｔ２０の期間、データベース構築処理を実行状態とする。また、軸Ｊ４Ｃに示すように、タイミングＴ２０−Ｔ３０の期間、書込処理が行われる。また、タイミングＴ２０で他処理が開始される。軸Ｊ４Ａに示すように、タスク管理部３７は、タイミングＴ２０で、他処理タスクを実行状態とする。
【００７７】
軸Ｊ４Ｃに示すように、タイミングＴ３０で書込処理が完了する。書込処理の完了に応じて、タイミングＴ３０で、タスク管理部３７は、データベース構築タスクを実行可能状態に遷移する。他処理の優先度は「中」であり、データベース構築タスクの優先度は「高」であり、データベース構築タスクの優先度の方が高い。これを踏まえ、軸Ｊ４Ａおよび軸Ｊ４Ｂに示すように、タイミングＴ３０で、さらに、タスク管理部３７は、他処理タスクを実行可能状態へ遷移すると共に、データベース構築タスクを実行状態へ遷移する。
【００７８】
軸Ｊ４Ａ、軸Ｊ４Ｂおよび軸Ｊ４Ｃに示すように、タイミングＴ３０−Ｔ１８０の期間、「２０ミリ秒のデータベース構築タスクの実行」と、「１０ミリ秒の書込処理および他処理タスクの実行」とが交互に繰り返し実行される。軸Ｊ４Ａに示すように、タイミングＴ１８０で、他処理タスクが実行状態となった期間の合計が６０ミリ秒となり、他処理が終了する。タイミングＴ１８０以降は、２０ミリ秒のデータベース構築タスクの実行と、１０ミリ秒の書込処理とが交互に繰り返し実行される。
【００７９】
以下、図３と図４とを比較する。図３の軸Ｊ３Ａに示すように、図３では、タイミングＴ２０で他処理が開始された後、タイミングＴ１００で他処理が完了する。すなわち、図３では、他処理の実行に８０ミリ秒を要している。一方、図４の軸Ｊ４Ａに示すように、図４では、タイミングＴ２０で他処理が開始された後、タイミングＴ１８０で他処理が完了する。すなわち、図４では、他処理の実行に１６０ミリ秒を要している。このように、書込速度のレベルが高速レベルの場合に、データベース構築タスクの優先度を、他処理タスクの優先度に比して相対的に低くすることにより、他処理の実行に要する時間を大幅に短縮できる。このため、データベース構築処理が行われているときに、ユーザ操作に応じて他処理が並行して実行された場合、ユーザは、短時間で処理結果を得ることができ、ユーザの満足度が高い。
【００８０】
図３の軸Ｊ３Ｃに示すように、図３では、８回分の書込処理が完了するタイミングは、タイミングＴ２８０である。一方、図４の軸Ｊ４Ｃに示すように、図４では、８回分の書込処理が完了するタイミングは、タイミングＴ２４０である。このように、本実施形態に係る図３では、書込速度のレベルが高速レベルのときに、データベース構築タスクに付与する優先度を低くすることに起因して、データベース構築処理に４０ミリ秒の遅延が発生するが、当該遅延に係る時間は、他処理の実行に要する時間の短縮時間と比較して十分に短く、全体として、ユーザの満足度を向上できる。
【００８１】
図５は、図３との比較のために、タスク管理部３７が、仮に、以下の処理を実行した場合に、データベース構築タスクと他処理タスクとにＣＰＵ１１が割り当てられる期間を示す。すなわち、図５において、タスク管理部３７は、データベース構築タスクに常に最も高い優先度を付与する。その上で、タスク管理部３７は、メモリー制御部３２による書込処理が完了した後、即時にデータベース構築タスクを実行可能状態に遷移するのではなく、書込処理が完了したタイミングを起点として、所定期間、強制的にデータベース構築タスクの状態を待機状態のままで維持し、その後、実行可能状態に遷移する。
【００８２】
このような処理が行われることにより、データベース構築処理と並行して他処理が実行される場合に、書込処理の完了後、所定期間の間は、他処理タスクにＣＰＵ１１を割り当てることができる。これにより、書込速度が速い場合であっても、書込速度が実行される期間に連続して所定期間の間、他処理タスクにＣＰＵ１１が割り当てられ、他処理タスクの処理に要する時間の短縮化を図ることができる。従来、データベース構築処理と並行して行われる他処理の処理に要する時間を短縮することを意図して、タスク管理部３７により上述した処理が行われることがあった。この場合、図５に示すタイミングでデータベース構築タスクと他処理とにＣＰＵ１１の割り当てが行われることになる。
【００８３】
図５において、軸Ｊ５Ａは他処理タスクにＣＰＵ１１が割り当てられる期間を時系列で示し、軸Ｊ５Ｂはデータベース構築タスクにＣＰＵ１１が割り当てられる期間を時系列で示し、軸Ｊ５Ｃは書込処理が実行される期間を時系列で示す。図５では、タスク管理部３７は、データベース構築タスクに対して、優先度として、常に、優先度「高」を付与する。さらに、タスク管理部３７は、メモリー制御部３２による書込処理が完了した後、即時にデータベース構築タスクを実行可能状態に遷移するのではなく、書込処理が完了したタイミングを起点として、２０ミリ秒、強制的にデータベース構築タスクの状態を待機状態のままで維持し、その後、実行可能状態に遷移する。それ以外の前提は、図３と同じである。
【００８４】
図５に示すように、タイミングＴ０でデータベース構築処理が開始される。これに伴って、軸Ｊ５Ｂに示すように、タスク管理部３７は、タイミングＴ０−Ｔ２０の期間、データベース構築処理を実行状態とする。また、軸Ｊ５Ｃに示すように、タイミングＴ２０−Ｔ３０の期間、書込処理が行われる。また、タイミングＴ２０で他処理が開始される。軸Ｊ５Ａに示すように、タスク管理部３７は、タイミングＴ２０で、他処理タスクを実行状態とする。
【００８５】
軸Ｊ５Ｃに示すように、タイミングＴ３０で書込処理が完了する。軸Ｊ５Ｂに示すように、タスク管理部３７は、タイミングＴ３０から２０ミリ秒の間、データベース構築タスクを強制的に待機状態とする。その上で、タスク管理部３７は、タイミングＴ２０−Ｔ５０の期間、他処理タスクを実行状態とする。
【００８６】
タイミングＴ５０で、タスク管理部３７は、データベース構築タスクを実行可能状態へ遷移する。図５では、データベース構築タスクの優先度の方が、他処理タスクの優先度よりも高い。これを踏まえ、軸Ｊ５Ａおよび軸Ｊ５Ｂで示すように、タイミングＴ５０で、タスク管理部３７は、データベース構築タスクを実行状態へ遷移すると共に、他処理タスクを実行可能状態へ遷移する。
【００８７】
軸Ｊ５Ｂに示すように、タスク管理部３７は、タイミングＴ５０−Ｔ７０の期間、データベース構築タスクを実行状態とする。軸Ｊ５Ｃに示すように、タイミングＴ７０−Ｔ８０の期間、書込処理が行われる。軸Ｊ５Ｂに示すように、タイミングＴ８０−Ｔ１００の期間、タスク管理部３７は、データベース構築タスクを強制的に待機状態とする。軸Ｊ５Ａに示すように、タイミングＴ７０−Ｔ１００の期間、タスク管理部３７は、他処理タスクを実行状態とする。タイミングＴ１００で、他処理タスクが実行状態となった期間の合計が６０ミリ秒となり、他処理が終了する。タイミングＴ１００以降は、データベース構築タスクが実行される２０ミリ秒の期間、書込処理が行われる１０ミリ秒の期間、および、データベース構築タスクおよび書込処理の双方が行われない２０ミリ秒の期間が繰り返し現出する。
【００８８】
以下、図３と図５とを比較する。上述したように、図３では、他処理の実行に８０ミリ秒を要している。一方、図５の軸Ｊ５Ａに示すように、図５では、タイミングＴ２０で他処理が開始された後、タイミングＴ１００で他処理が完了する。すなわち、図５では、他処理の実行に８０ミリ秒を要している。このように、図３と図５とでは、データベース構築処理と並行して他処理が実行される場合に、他処理の実行に同等の時間を要している。
【００８９】
一方で、上述したように、図３では、８回分の書込処理が完了するタイミングは、タイミングＴ２８０である。一方、図５の軸Ｊ５Ｃに示すように、図５では、８回分の書込処理が完了するタイミングは、タイミングＴ３８０である。このように、本実施形態に係る図３は、図５と比較して、同一量のデータの書き込みに要する時間を大幅に短くでき、データベースの構築が完了するタイミングを大幅に早めることができる。
【００９０】
図６は、データベース構築処理と並行して他処理が行われる場合に、データベース構築タスクにＣＰＵ１１が割り当てられる期間（＝実行状態の期間）と、他処理に係るタスクにＣＰＵ１１が割り当てられる期間とを、メモリー制御部３２が書込処理を行う期間と共に示すタイムチャートである。図６において、軸Ｊ６Ａは他処理タスクにＣＰＵ１１が割り当てられる期間を時系列で示し、軸Ｊ６Ｂはデータベース構築タスクにＣＰＵ１１が割り当てられる期間を時系列で示し、軸Ｊ６Ｃは書込処理が実行される期間を時系列で示す。
【００９１】
図６は、タスク管理部３７が、書込速度のレベルを低速レベルと判定し、データベース構築タスクに対して、他処理タスクよりも相対的に高い優先度を付与する場合に、データベース構築タスクと他処理タスクとにＣＰＵ１１が割り当てられる期間を示している。
【００９２】
図６では、以下のことを前提とする。すなわち、図６で示す期間の間、タスク管理部３７は、継続して書込速度のレベルを低速レベルと判定し、データベース構築タスクに、優先度として、優先度「高」を付与する。また、図６では、データベース構築タスクでメモリー制御部３２に転送されたデータベース構成データをメモリー１７に書き込む処理に要する時間は、一律で「３０ミリ秒」である。つまり図５では、図３と比較して、書込速度が遅いため、書込処理に要する時間が長い。その他の前提は、図３の前提と同じである。
【００９３】
さて、図６では、タイミングＴ０において、データベース構築処理が開始される。これに応じて、軸Ｊ６Ｂに示すように、タスク管理部３７は、タイミングＴ０−Ｔ２０の期間、データベース構築タスクを実行状態とする。軸Ｊ６Ｃに示すように、タイミングＴ２０−Ｔ５０の期間、メモリー制御部３２は、タイミングＴ０−Ｔ２０の期間で実行されたデータベース構築タスクにより転送されたデータベース構成データについての書込処理を実行する。
【００９４】
また、図６では、タイミングＴ２０において、他処理が開始される。タイミングＴ２０−Ｔ５０の期間は、データベース構築タスクは待機状態のため、タスク管理部３７は、当該期間、他処理タスクを実行状態とする。タイミングＴ５０で書込処理が完了すると、タスク管理部３７は、データベース構築タスクを実行可能状態へと移行する。図６では、データベース構築タスクの優先度（優先度「高」）は、他処理タスクの優先度（優先度「中」）よりも高い。このため、軸Ｊ６Ａおよび軸Ｊ６Ｂに示すように、タイミングＴ５０で、タスク管理部３７は、他処理タスクを実行可能状態へ遷移すると共に、データベース構築タスクを実行状態へ遷移する。
【００９５】
軸Ｊ６Ｂおよび軸Ｊ６Ｃに示すように、タスク管理部３７は、タイミングＴ５０−Ｔ７０の期間、データベース構築タスクを実行状態とする。また、タイミングＴ７０−Ｔ１００の期間、書込処理が実行される。軸Ｊ６Ａに示すように、タイミングＴ７０−Ｔ１００の期間、タスク管理部３７は、他処理タスクを実行状態とする。タイミングＴ１００で、他処理タスクが実行状態となった期間の合計が６０ミリ秒となり、他処理が終了する。軸Ｊ６Ｂおよび軸Ｊ６Ｃに示すように、タイミングＴ１００以降は、２０ミリ秒のデータベース構築タスクの実行と、３０ミリ秒の書込処理とが交互に繰り返し実行される。
【００９６】
図７は、図６との比較のために、タスク管理部３７が、仮に、書込速度のレベルにかかわらず、データベース構築タスクの優先度を、他処理タスクの優先度に比して相対的に低くした場合に、データベース構築タスクと他処理タスクとにＣＰＵ１１が割り当てられる期間を示す。データベース構築処理よりも他処理を優先的に実行することを意図して、データベース構築タスクの優先度を固定的に低くすると、図７に示すタイミングでデータベース構築タスクと他処理とにＣＰＵ１１の割り当てが行われることになる。
【００９７】
図７において、軸Ｊ７Ａは他処理タスクにＣＰＵ１１が割り当てられる期間を時系列で示し、軸Ｊ７Ｂはデータベース構築タスクにＣＰＵ１１が割り当てられる期間を時系列で示し、軸Ｊ７Ｃは書込処理が実行される期間を時系列で示す。図７では、タスク管理部３７は、データベース構築タスクに対して、優先度として、常に、優先度「低」を付与する。それ以外の前提は、図６と同じである。
【００９８】
図７に示すように、タイミングＴ０でデータベース構築処理が開始される。これに伴って、軸Ｊ７Ｂに示すように、タスク管理部３７は、タイミングＴ０−Ｔ２０の期間、データベース構築処理を実行状態とする。また、軸Ｊ７Ｃに示すように、タイミングＴ２０−Ｔ５０の期間、書込処理が行われる。
【００９９】
また、図７では、タイミングＴ２０において、他処理が開始される。タイミングＴ２０−Ｔ５０の期間は、データベース構築タスクは待機状態のため、タスク管理部３７は、当該期間、他処理タスクを実行状態とする。タイミングＴ５０で書込処理が完了すると、タスク管理部３７は、データベース構築タスクを実行可能状態へと移行する。しかしながら、図７では、データベース構築タスクの優先度（優先度「低」）は、他処理タスクの優先度（優先度「中」）よりも低い。このため、タスク管理部３７は、引き続き他処理タスクを実行状態として他処理タスクへのＣＰＵ１１の割り当てを行う一方、データベース構築タスクの状態を実行可能状態のまま維持する。
【０１００】
軸Ｊ７Ａに示すように、他処理タスクはタイミングＴ６０でタイムクォンタムを使い切る。タスク管理部３７は、タイミングＴ６０で、他処理タスクに最も低い優先度を付与した上で、他処理タスクを実行可能状態に遷移する。これにより、タイミングＴ６０において、他処理タスクおよびデータベース構築タスクが実行可能状態となるが、優先度はデータベース構築タスクの方が高くなる。従って、軸Ｊ７Ｂに示すように、タスク管理部３７は、データベース構築タスクを実行状態へ遷移する。
【０１０１】
軸Ｊ７Ｂおよび軸Ｊ７Ｃに示すように、タスク管理部３７は、タイミングＴ６０−Ｔ８０の期間、データベース構築タスクを実行状態とする。また、タイミングＴ８０−Ｔ１１０の期間、書込処理が実行される。軸Ｊ７Ｂに示すように、タスク管理部３７は、タイミングＴ８０でデータベース構築タスクを待機状態へ遷移する。軸Ｊ７Ａに示すように、タスク管理部３７は、タイミングＴ８０で、他処理タスクの優先度をリセットすると共に、他処理タスクを実行状態へ遷移する。
【０１０２】
軸Ｊ７Ａに示すように、タイミングＴ１００で、他処理タスクが実行状態となった期間の合計が６０ミリ秒となり、他処理が終了する。軸Ｊ７Ｂおよび軸Ｊ７Ｃに示すように、タイミングＴ１１０で書込処理が完了する。タイミングＴ１１０以降は、２０ミリ秒のデータベース構築タスクの実行と、３０ミリ秒の書込処理とが交互に繰り返し実行される。
【０１０３】
以下、図６と図７とを比較する。図６と図７との比較で明らかなとおり、図６と図７とでは、他処理が完了するタイミングは、共に、タイミングＴ１００であり、変わりはない。一方、図６の軸Ｊ６Ｃに示すように、図６では、３回分の書込処理が完了するタイミングは、タイミングＴ１５０である。一方、図７の軸Ｊ７Ｃに示すように、図７では、３回分の書込処理が完了するタイミングは、タイミングＴ１６０である。このように、図６では、書込速度のレベルが高速レベルのときに、データベース構築タスクに付与する優先度を高くすることにより、図７と比較して、同一量のデータの書き込みに要する時間を短くでき、データベースの構築が完了するタイミングを早めることができる。
【０１０４】
図８は、本実施形態に係るタスク管理装置１００のタスク管理部３７の動作例を示すフローチャートである。タスク管理部３７は、図８のフローチャートが示す処理を、データベース構築処理が実行されている間、所定の周期で繰り返し実行する。
【０１０５】
図８のフローチャートに示すように、タスク管理部３７は、アクセス量検出部３６により検出された同時アクセス量を取得する（ステップＳ１）。次いで、タスク管理部３７は、ステップＳ１で取得した同時アクセス量に基づいて、書込速度のレベルを判定する（ステップＳ２）。ステップＳ２において、タスク管理部３７は、取得した同時アクセス量が所定の閾値を下回る場合は、書込速度のレベルが高速レベルである判定し、当該所定の閾値以上の場合は、書込速度のレベルが低速レベルであると判定する。
【０１０６】
次いで、タスク管理部３７は、書込速度のレベルに基づいて、データベース構築タスクの優先度を決定する（ステップＳ３）。上述したように、タスク管理部３７は、書込速度が速いレベルほど、データベース構築タスクの優先度を低くする。
【０１０７】
以上の処理が行われる結果、データベース構築タスクの優先度は、実際の書込速度のレベルに応じて、書込速度が速いレベルほどデータベース構築タスクの優先度が低くなるように、動的に変動する。
【０１０８】
以上詳しく説明したように、本実施形態に係るタスク管理装置１００のタスク管理部３７は、データベース構築処理が実行される間、データベース構築処理に係る一のタスクをＣＰＵ１１に割り当てて実行させた後、メモリー制御部３２により当該一のタスクにおいて転送されたデータについての書き込みが完了した場合に、データベース構築処理に係る次のタスクのＣＰＵ１１への割り当てを試みる。その上で、タスク管理部３７は、メモリー制御部３２の書込速度のレベルを判定し、書込速度が速いレベルほど、データベース構築処理に係るタスクのＣＰＵ１１への割り当ての優先度を低くする。
【０１０９】
この構成によれば、上述したように、携帯端末ＫＴから受信した楽曲情報に基づいて楽曲情報データベースＤＢ１の構築が行われる際に、当該データベースの構築が完了するタイミングの遅延を抑制した上で、データベース構築処理と同じ処理リソースであるＣＰＵ１１を使用する他処理が発生した場合に、当該他処理が完了するタイミングを早くすることができる。
【０１１０】
なお、以上の第１実施形態では、タスク管理部３７は、記憶媒体（第１実施形態では、メモリー１７）への同時アクセス量に基づいて書込速度のレベルを判定した。この点に関し、タスク管理部３７が、記憶媒体の種別（ハードディスク、ＮＡＮＤ型フラッシュメモリー、ＮＯＲ型フラッシュメモリー等）に基づいて、書込速度のレベルを判定する構成でもよい。記憶媒体に種別によって書込速度に低速、高速の違いがあるからである。この場合、例えば、タスク管理部３７は、メモリー制御部３２と通信して記憶媒体の種別を取得する。また例えば、記憶媒体の種別を示す情報が事前に所定の記憶領域に記憶され、タスク管理部３７は、記憶された情報に基づいて記憶媒体の種別を取得する。
【０１１１】
また、タスク管理部３７が、記憶媒体の使用期間に基づいて、書込速度のレベルを判定する構成でもよい。一般に、記憶媒体の使用期間が長いほど、記憶媒体の経年劣化が進み、経年劣化が進むほど、書込速度が遅くなっていくからである。この場合、例えば、ＯＳ、その他のプログラムの機能により、記憶媒体の使用期間を示す情報がログに記憶され、タスク管理部３７は、ログに基づいて記憶媒体の使用期間を取得する。また、タスク管理部３７が、記憶媒体の使用期間と同様の理由で、記憶媒体の読み書き回数に基づいて、書込速度のレベルを判定する構成でもよい。
【０１１２】
なお、記憶媒体の種別は、データベース構築処理が行われている間に変化するものではなく、また、記憶媒体の使用期間および記憶媒体の読み書き回数は、データベース構築処理が行われている間の変化量が微少であり、変化しないものとみなすことができる。これを踏まえ、記憶媒体の種別、記憶媒体の使用期間、又は、記憶媒体の読み書き回数に基づいて書込速度のレベルを判定する構成の場合、タスク管理部３７が、データベース構築処理が開始されたときに、書込速度のレベルを判定してデータベース構築タスクに付与する優先度を決定し、そのデータベース構築処理が実行されている間、決定した優先度を変化させない構成でもよい。また、記憶媒体の種別、記憶媒体の使用期間、および、記憶媒体の読み書き回数のうち、２つ以上を組み合わせて、書込速度のレベルを判定する構成でもよい。また、記憶媒体の種別、記憶媒体の使用期間、および、記憶媒体の読み書き回数のうち少なくとも１つを使用して書込速度のレベルを判定した上で、さらに、同時アクセス量に基づいて、書込速度のレベルを調整する構成でもよい。
【０１１３】
以上、書込速度のレベルを判定する際に使用するパラメータに関する事項については、後述する第２、第３実施形態についても同様である。
【０１１４】
また、タスク管理部３７が、メモリー制御部３２の書込速度を実測することによって、書込速度のレベルを判定する構成でもよい。この構成の場合、例えば、タスク管理部３７は、所定のタイミングで、メモリー制御部３２にテスト用データの書き込みを行わせ、書き込みに要した時間を実測する。所定のタイミングは、例えば、タスク管理装置１００の電源がオンされたタイミングである。間隔をあけて定期的に書込速度を実測する構成でもよい。この構成によれば、タスク管理部３７は、実際の書込速度に基づいて、適切に、データベース構成タスクの優先度を決定できる。このことは、後述する第２、第３実施形態についても同様である。
【０１１５】
（第２実施形態）
次に、本発明の第２実施形態を図面に基づいて説明する。なお、以下の第２実施形態において、第１実施形態の構成要素と対応する構成要素については同一の符号を付し、その詳細な説明を省略する。
【０１１６】
図９は、本実施形態に係るタスク管理装置１００Ａの機能的構成例を示すブロック図である。図９と図２との比較で明らかなとおり、本実施形態に係るタスク管理装置１００Ａは、タスク管理部３７に代えてタスク管理部３７Ａを備えている点で、第１実施形態に係るタスク管理装置１００と機能構成が異なっている。
【０１１７】
ここで、本実施形態では、動作モードとして、メモリー１７に事前に記憶された動画ファイルのデータベースを用いた動画の視聴が可能な動画視聴モードがある。この動画視聴モードでは、メモリー関連処理実行部３３は、メモリー関連処理として、ユーザの指示に応じて、データベースを使用して動画ファイルを検索する処理や、メモリー１７に記憶された動画ファイルをメモリー制御部３２を介して読み出して動画を出力する処理を実行する。すなわち、動作モードが動画視聴モードの場合、メモリー関連処理実行部３３は、ユーザの指示に応じて、メモリー１７へのアクセスを伴う処理（＝ソースとしてメモリー１７を使用する処理）を実行する。動作モードとして動画視聴モードが選択されている状態は、ユーザによって、メモリー１７がソースとして選択された状態に相当する。
【０１１８】
なお、本実施形態では、説明の便宜のため、メモリー関連処理実行部３３がメモリー関連処理（メモリー１７へのアクセスを伴う処理）を実行する可能性のある動作モードとしては、上述した動画視聴モードのみがあるものとする。ただし、動画視聴モードに代えて、または、動画視聴モードに加えて、メモリー関連処理実行部３３がメモリー関連処理を実行する可能性のある動作モードがあってもよい。例えば、車載装置１が、地図表示を伴う機能（自車位置表示機能や、ナビゲーション機能）を有し、メモリー１７に地図データが記憶されている場合において、メモリー関連処理実行部３３により地図データを用いた処理が実行される動作モードがあってもよい。
【０１１９】
また、本実施形態では、動作モードとして、メディアモードがある。このメディアモードでは、メディア関連処理実行部３４は、メディア関連処理として、メディア再生装置５００へのアクセスを伴う処理（＝ソースとしてメディア再生装置５００を使用する処理）を実行する。動作モードとしてメディアモードが選択されている状態は、ユーザによって、メディア再生装置５００がソースとして選択された状態に相当する。
【０１２０】
また、本実施形態では、動作モードとして、ラジオモードがある。このラジオモードでは、ラジオ関連処理実行部３５は、ラジオ関連処理として、ラジオ受信装置６００へのアクセスを伴う処理（＝ソースとしてラジオ受信装置６００を使用する処理）を実行する。動作モードとしてラジオモードが選択されている状態は、ユーザによって、ラジオ受信装置６００がソースとして選択された状態に相当する。
【０１２１】
動画視聴モードと、メディアモードと、ラジオモードとは、排他的に選択可能であり、同時に複数の動作モードを選択することはできない。
【０１２２】
本実施形態では、タスク管理部３７Ａは、データベース構築タスクの優先度の決定に関し、以下の処理を実行する。すなわち、タスク管理部３７Ａは、データベース構築タスクの優先度を、「書込速度のレベル」および「データベース構築処理と並行して実行される他処理の予測される処理負荷」の２つのパラメータを使用して決定する。
【０１２３】
タスク管理部３７Ａは、第１実施形態と同様、書込速度のレベルが速いほど、データベース構築タスクの優先度が低くなるように、データベース構築タスクの優先度を暫定的に決定する。その上で、タスク管理部３７Ａは、データベース構築処理と並行して実行される他処理の処理負荷を予測し、書込速度のレベルに基づいて決定した優先度を、予測した処理負荷が大きいほど優先度が低くなるように調整し、最終的な優先度を決定する。また、処理負荷の予測に際し、タスク管理部３７Ａは、ユーザによって選択されたソースの種類（本実施形態では、メモリー１７、メディア再生装置５００またはラジオ受信装置６００）に基づいて、データベース構築処理と並行して実行される他処理の処理負荷を予測する。
【０１２４】
以下、タスク管理部３７Ａの処理について詳述する。データベース構築処理が行われている間、タスク管理部３７Ａは、所定の周期で、以下で示す優先度設定処理を実行する。すなわち、優先度設定処理において、まず、タスク管理部３７Ａは、アクセス量検出部３６により検出された同時アクセス量を取得する。次いで、タスク管理部３７Ａは、メモリー制御部３２の書込速度のレベルを判定する。本実施形態では、第１実施形態と同様、書込速度のレベルとして、高速レベルと、低速レベルとの２つがある。タスク管理部３７Ａは、取得した同時アクセス量が所定の閾値を下回る場合は、書込速度のレベルが高速レベルである判定し、当該所定の閾値を上回る場合は、書込速度のレベルが低速レベルであると判定する。
【０１２５】
書込速度のレベルを判定した後、タスク管理部３７Ａは、データベース構築処理と並行して実行される他処理の処理負荷のレベル（以下、「他処理負荷レベル」という。）を予測する。本実施形態では、他処理負荷レベルとして、処理負荷が大きい順に、レベル「大」、レベル「中」、レベル「小」がある。
【０１２６】
以下、他処理負荷レベルを予測するときのタスク管理部３７Ａの処理について詳述する。本実施形態では、上述したように、動作モードとして、動画視聴モードと、メディアモードと、ラジオモードとがある。これら動作モードは、それぞれ、ソースが異なる。そして、発明者らは、ソースが異なることに起因して、動作モードごとに、動作モードが選択されているときに実行される処理の処理負荷の大きさに傾向があることを見出した。つまり、動作モードごとにソースが異なることに起因して、大きい処理負荷の処理が発生する傾向にある動作モードや、小さい処理負荷の処理が発生する傾向にある動作モードが存在し、大きい処理負荷の処理が発生する傾向にある動作モードが選択されている場合には、実行される処理の処理負荷は大きい可能性が高く、一方、小さい処理負荷の処理が発生する傾向にある動作モードが選択されている場合には、実行される処理の処理負荷は小さい可能性が高い。
【０１２７】
以上を踏まえ、本実施形態では、タスク管理部３７Ａは、現時点で選択されている動作モードによって、他処理負荷レベルを予測する。具体的には、タスク管理部３７Ａは、動作モードとして動画視聴モードが選択されている場合は、他処理負荷レベルをレベル「大」と予測し、動作モードとしてメディアモードが選択されている場合は、他処理負荷レベルをレベル「中」と予測し、動作モードとしてラジオモードが選択されている場合は、他処理負荷レベルをレベル「小」と予測する。これは、本実施形態では、動画視聴モードが選択されている場合に実行される他処理の処理負荷は、他の動作モードが選択されている場合と比較して大きい傾向があり、ラジオモードが選択されている場合に実行される他処理の処理負荷は、他の動作モードが選択されている場合と比較して小さい傾向があり、メディアモードが選択されている場合に実行される他処理の処理負荷は、動画視聴モードが選択されている場合における処理負荷とラジオモードが選択されている場合における処理負荷との中間くらいになる傾向があることを意味する。
【０１２８】
なお、現時点で選択されている動作モードは、設定ファイルに記録されており、タスク管理部３７Ａは、設定ファイルを参照して、現時点で選択されている動作モードを認識する。タスク管理部３７Ａが動作モードを認識する方法は、どのような方法であってもよい。
【０１２９】
、
他処理負荷レベルを予測した後、タスク管理部３７Ａは、書込速度のレベルに応じて、第１実施形態と同じ方法で、暫定的にデータベース構築タスクの優先度を決定する。すなわち、タスク管理部３７Ａは、書込速度のレベルが高速レベルの場合は、暫定的に、他処理に係るタスクの優先度に対して相対的に低い優先度をデータベース構築タスクに付与する。一方、タスク管理部３７Ａは、書込速度のレベルが低速レベルの場合は、暫定的に、他処理に係るタスクの優先度に対して相対的に高い優先度をデータベース構築タスクに付与する。以下、暫定的に決定した優先度を「暫定優先度」という。
【０１３０】
その上で、タスク管理部３７Ａは、予測した他処理負荷レベルに基づいて、暫定優先度を調整する。詳述すると、タスク管理部３７Ａは、暫定優先度が他処理タスクの優先度に対して相対的に高い優先度の場合において、予測した他処理負荷レベルがレベル「大」の場合は、データベース構築タスクの最終的な優先度を、他処理に係るタスクの優先度に対して相対的に低い優先度とする。また、タスク管理部３７Ａは、暫定優先度が他処理タスクの優先度に対して相対的に低い優先度の場合において、予測した他処理負荷レベルがレベル「小」の場合は、データベース構築タスクの最終的な優先度を、他処理タスクの優先度に対して相対的に高い優先度とする。それ以外の場合、タスク管理部３７Ａは、暫定優先度を、データベース構築タスクの最終的な優先度とする。
【０１３１】
例えば、タスクの優先度として、「高」、「中」、「低」があるとする。そして、他処理について、固定的に優先度として「中」が付与されるとする。この場合、タスク管理部３７Ａは、書込速度のレベルが低速レベルの場合は暫定優先度を優先度「高」とし、書込速度のレベルが高速レベルの場合は暫定優先度を優先度「低」とする。そして、タスク管理部３７Ａは、暫定優先度が優先度「高」の場合であっても、予測した他処理負荷レベルがレベル「大」の場合には、最終的な優先度を優先度「低」とする。一方、タスク管理部３７Ａは、暫定優先度が優先度「低」の場合であっても、予測した他処理負荷レベルがレベル「小」の場合には、最終的な優先度を優先度「高」とする。
【０１３２】
本実施形態において、タスク管理部３７Ａが上述した方法でデータベース構築タスクの最終的な優先度を決定することにより、以下の効果を奏する。すなわち、データベース構築タスクの優先度を他処理タスクの優先度よりも高くした場合、データベース構築タスクの優先度を他処理タスクの優先度よりも低くした場合と比較して、基本的には他処理が完了するタイミングの遅延の度合いが大きい。さらに、データベース構築タスクの優先度を他処理タスクの優先度よりも高くした場合、データベース構築処理と並行して実行される他処理の処理負荷が大きければ大きいほど、当該他処理が完了するタイミングの遅延の度合いは大きくなる。従って、書込速度が遅い場合であっても、他処理の処理負荷が非常に大きい場合に、データベース構築タスクの優先度を他処理タスクの優先度よりも高くすると、他処理の処理が完了するタイミングの著しい遅延を招く可能性がある。
【０１３３】
以上を踏まえ、本実施形態によれば、タスク管理部３７Ａは、暫定優先度が優先度「高」の場合であっても、予測した他処理負荷レベルがレベル「大」の場合には、最終的な優先度を優先度「低」とする。このため、処理負荷が大きい他処理が発生する可能性が高い状況下で、実際に処理負荷が大きい他処理が発生したときに、当該他処理が完了するタイミングが著しく遅延することを防止でき、ユーザの満足度が低下することを抑制できる。なお、本実施形態では、上述したように、動作モードと他処理負荷レベルとが対応付けられており、選択されている動作モードに応じて、他処理負荷レベルが予測されるが、１の動作モードに、レベル「大」の他処理負荷レベルを対応付けるか否かは、当該１の動作モードが選択されている場合、データベース構築タスクの優先度が他処理タスクの優先度よりも高い場合に著しい遅延が生じるほど処理負荷の高い他処理が、相当な頻度で発生するか否かが考慮されて適切に定められる。
【０１３４】
また、データベース構築処理と並行して実行される他処理の処理負荷が非常に小さい場合は、書込速度が速いことに起因してデータベース構築処理の優先度を高くした場合であっても、他処理が完了するタイミングの遅延は、ユーザの満足度に影響しない程度に微小である。データベース構築処理が入出力の完了待ちの状態の期間だけ他処理タスクを実行しても、他処理タスクを短時間で完了させることができるからである。これを踏まえ、本実施形態によれば、タスク管理部３７Ａは、暫定優先度が優先度「低」の場合であっても、予測した他処理負荷レベルがレベル「小」の場合には、最終的な優先度を優先度「高」とする。このため、処理負荷が小さい他処理が発生する可能性が高いことを活用して、他処理の遅延によるユーザの満足度の低下を抑制した上で、データベースの構築をより早く完了できる。なお、１の動作モードに、レベル「小」の他処理負荷レベルを対応付けるか否かは、当該１の動作モードが選択されている場合、データベース構築タスクの優先度が他処理タスクの優先度よりも高い場合であっても、ユーザの満足度に影響を与えない程度に微小な遅延しか生じさせないほど処理負荷の小さい他処理が、相当な頻度で発生し得るか否かが考慮されて適切に定められる。
【０１３５】
図１０は、データベース構築処理と並行して他処理が行われる場合に、データベース構築タスクにＣＰＵ１１が割り当てられる期間（＝実行状態の期間）と、他処理に係るタスクにＣＰＵ１１が割り当てられる期間とを、メモリー制御部３２が書込処理を行う期間と共に示すタイムチャートである。図１０において、軸Ｊ１０Ａは他処理タスクにＣＰＵ１１が割り当てられる期間を時系列で示し、軸Ｊ１０Ｂはデータベース構築タスクにＣＰＵ１１が割り当てられる期間を時系列で示し、軸Ｊ１０Ｃは書込処理が実行される期間を時系列で示す。
【０１３６】
図１０は、タスク管理部３７Ａが、書込速度のレベルを高速レベルと判定し、データベース構築タスクに対して、暫定優先度として、他処理タスクよりも相対的に低い優先度を付与する場合に、データベース構築タスクと他処理タスクとにＣＰＵ１１が割り当てられる期間を示している。
【０１３７】
図１０は、以下のことを前提とする。すなわち、図１０で示す期間の間、タスク管理部３７Ａは、継続して、書込速度のレベルを高速レベルと判定し、データベース構築タスクに、暫定優先度として優先度「低」を付与する。また、図１０では、データベース構築タスクでメモリー制御部３２に転送されたデータベース構成データをメモリー１７に書き込む処理に要する時間は、一律で「１０ミリ秒」である。また、図１０では、タイミングＴ０で、データベース構築処理が開始される。
【０１３８】
また、図１０では、動作モードとして動画視聴モードが選択されているときに発生する他処理は、他処理タスクが合計して、１００ミリ秒、実行状態となった場合（＝ＣＰＵ１１に割り当てられた時間の累計が１００ミリ秒となった場合）、一律で処理が完了する。また、動作モードとしてメディアモードが選択されているときに発生する他処理は、他処理タスクが合計して、６０ミリ秒、実行状態となった場合（＝ＣＰＵ１１に割り当てられた時間の累計が６０ミリ秒となった場合）、一律で処理が完了する。また、動作モードとしてラジオモードが選択されているときに発生する他処理は、他処理タスクが合計して、２０ミリ秒、実行状態となった場合（＝ＣＰＵ１１に割り当てられた時間の累計が２０ミリ秒となった場合）、一律で処理が完了する。
【０１３９】
また、図１０では、タイミングＴ０で、ユーザにより動画視聴モードが選択され、また、タスク管理部３７Ａにより優先度設定処理が実行される。タイミングＴ０で実行される優先度設定処理については後述する。また、図１０では、タイミングＴ２０で、他処理（動作モードが動画視聴モードのため、処理の実行に要する時間は１００ミリ秒）が開始される。また、図１０では、タイミングＴ１９０で、ユーザにより動画視聴モードに代えてラジオモードが選択され、選択後、タスク管理部３７Ａにより優先度設定処理が実行される。タイミングＴ１９０で実行される優先度設定処理については後述する。このように図１０では、タイミングＴ０−Ｔ１９０の期間、動作モードが動画視聴モードであり、タイミングＴ１９０以降は、動作モードがラジオモードである。また、図１０では、タイミングＴ２１０で、他処理（動作モードがラジオモードのため、処理に要する時間は２０ミリ秒）が開始される。
【０１４０】
その他の前提は、図３の前提と同じである。
【０１４１】
さて、図１０に示すように、タイミングＴ０で、データベース構築処理が開始される。また、上述したように、タイミングＴ０で、ユーザにより動画視聴モードが選択されると共に、タスク管理部３７Ａにより優先度設定処理が実行される。優先度設定処理において、タスク管理部３７Ａは、以下の処理を実行する。すなわち、タスク管理部３７Ａは、書込速度のレベルを高速レベルと判定し、データベース構築タスクに、暫定優先度として優先度「低」を付与する。次いで、タスク管理部３７Ａは、選択されている動作モードが動画視聴モードであることを認識する。次いで、タスク管理部３７Ａは、動作モードが動画視聴モードであるため、他処理負荷レベルをレベル「大」と予測する。次いで、タスク管理部３７Ａは、他処理負荷レベルがレベル「大」であるため、暫定優先度（優先度「低」）をそのまま最終的な優先度として決定する。
【０１４２】
図１０に示すように、動作モードが動画視聴モードである期間は、データベース構築タスクの優先度は、他処理タスクの優先度よりも低い。このように、書込速度のレベルが高速レベルのときに、データベース構築タスクの優先度が他処理タスクの優先度よりも低いことの効果は、第１実施形態で述べたとおりである。
【０１４３】
上述したように、タイミングＴ１９０で、ユーザによりラジオモードが選択されると共に、タスク管理部３７Ａにより優先度設定処理が実行される。優先度設定処理において、タスク管理部３７Ａは、以下の処理を実行する。すなわち、タスク管理部３７Ａは、書込速度のレベルを高速レベルと判定し、データベース構築タスクに、暫定優先度として優先度「低」を付与する。次いで、タスク管理部３７Ａは、選択されている動作モードがラジオモードであることを認識する。次いで、タスク管理部３７Ａは、動作モードがラジオモードであるため、他処理負荷レベルをレベル「小」と予測する。次いで、タスク管理部３７Ａは、他処理負荷レベルがレベル「小」であるため、暫定優先度を変更し、最終的な優先度を優先度「高」とする。
【０１４４】
図１０に示すように、動作モードがラジオモードである期間は、書込速度のレベルが高速レベルであるにもかかわらず、データベース構築タスクの優先度は、他処理タスクの優先度よりも高い。この点が、第１実施形態と相違する。このように、動作モードがラジオモードの期間では、データベース構築タスクの優先度は、他処理タスクの優先度よりも高いが、当該期間で発生した他処理は、その処理負荷が非常に小さく、データベース構築タスクの優先度が他処理タスクの優先度よりも高いことに起因して生じる遅延が小さい。また、動作モードがラジオモードのときに発生する他処理は、処理負荷が小さい可能性が高い。
【０１４５】
図１１は、データベース構築処理と並行して他処理が行われる場合に、データベース構築タスクにＣＰＵ１１が割り当てられる期間（＝実行状態の期間）と、他処理に係るタスクにＣＰＵ１１が割り当てられる期間とを、メモリー制御部３２が書込処理を行う期間と共に示すタイムチャートである。図１１において、軸Ｊ１１Ａは他処理タスクにＣＰＵ１１が割り当てられる期間を時系列で示し、軸Ｊ１１Ｂはデータベース構築タスクにＣＰＵ１１が割り当てられる期間を時系列で示し、軸Ｊ１１Ｃは書込処理が実行される期間を時系列で示す。
【０１４６】
図１１は、タスク管理部３７Ａが、書込速度のレベルを低速レベルと判定し、データベース構築タスクに対して、暫定優先度として、他処理タスクよりも相対的に高い優先度を付与する場合に、データベース構築タスクと他処理タスクとにＣＰＵ１１が割り当てられる期間を示している。
【０１４７】
図１１は、以下のことを前提とする。すなわち、図１１で示す期間の間、タスク管理部３７Ａは、継続して、書込速度のレベルを低速レベルと判定し、データベース構築タスクに、暫定優先度として優先度「高」を付与する。また、図１１では、データベース構築タスクでメモリー制御部３２に転送されたデータベース構成データをメモリー１７に書き込む処理に要する時間は、一律で「３０ミリ秒」である。また、図１１では、タイミングＴ０で、データベース構築処理が開始される。
【０１４８】
また、図１１では、タイミングＴ０で、ユーザによりメディアモードが選択され、また、タスク管理部３７Ａにより優先度設定処理が実行される。タイミングＴ０で実行される優先度設定処理については後述する。また、図１１では、タイミングＴ２０で、他処理（動作モードがメディアモードのため、処理に要する時間は６０ミリ秒）が開始される。また、図１１では、タイミングＴ１５０で、ユーザによりメディアモードに代えて動画視聴モードが選択され、また、タスク管理部３７Ａにより優先度設定処理が実行される。タイミングＴ１５０で実行される優先度設定処理については後述する。このように図１１では、タイミングＴ０−Ｔ１５０の期間、動作モードがメディアモードであり、タイミングＴ１５０以降は、動作モードが動画視聴モードである。また、図１１では、タイミングＴ１７０で、他処理（動作モードが動画視聴モードのため、処理に要する時間は１００ミリ秒）が開始される。
【０１４９】
その他の前提は、図１０の前提と同じである。
【０１５０】
さて、図１１に示すように、タイミングＴ０で、データベース構築処理が開始される。また、上述したように、タイミングＴ０で、ユーザによりメディアモードが選択されると共に、タスク管理部３７Ａにより優先度設定処理が実行される。優先度設定処理において、タスク管理部３７Ａは、以下の処理を実行する。すなわち、タスク管理部３７Ａは、書込速度のレベルを低速レベルと判定し、データベース構築タスクに、暫定優先度として優先度「高」を付与する。次いで、タスク管理部３７Ａは、選択されている動作モードがメディアモードであることを認識する。次いで、タスク管理部３７Ａは、動作モードがメディアモードであるため、他処理負荷レベルをレベル「中」と予測する。次いで、タスク管理部３７Ａは、他処理負荷レベルがレベル「中」であるため、暫定優先度（優先度「高」）をそのまま最終的な優先度として決定する。
【０１５１】
図１１に示すように、動作モードがメディアモードである期間は、データベース構築タスクの優先度は、他処理タスクの優先度よりも高い。このように、書込速度のレベルが低速レベルのときに、データベース構築タスクの優先度が他処理タスクの優先度よりも高いことの効果は、第１実施形態で述べたとおりである。
【０１５２】
上述したように、タイミングＴ１５０で、ユーザにより動画視聴モードが選択されると共に、タスク管理部３７Ａにより優先度設定処理が実行される。優先度設定処理において、タスク管理部３７Ａは、以下の処理を実行する。すなわち、タスク管理部３７Ａは、書込速度のレベルを低速レベルと判定し、データベース構築タスクに、暫定優先度として優先度「高」を付与する。次いで、タスク管理部３７Ａは、選択されている動作モードが動画視聴モードであることを認識する。次いで、タスク管理部３７Ａは、動作モードが動画視聴モードであるため、他処理負荷レベルをレベル「大」と予測する。次いで、タスク管理部３７Ａは、他処理負荷レベルがレベル「大」であるため、暫定優先度を変更し、最終的な優先度を優先度「低」とする。
【０１５３】
図１１に示すように、動作モードが動画視聴モードである期間の間は、書込速度のレベルが低速レベルであるにもかかわらず、データベース構築タスクの優先度は、他処理タスクの優先度よりも低い。この点が、第１実施形態と相違する。このように動画視聴モードの期間は、データベース構築タスクの優先度は、他処理タスクの優先度よりも低い。そして、当該期間で発生した他処理は、その処理負荷が非常に大きく、データベース構築タスクの優先度は、他処理タスクの優先度よりも低いことを効果的に活用して、他処理が完了するタイミングの遅延を抑制できる。また、動作モードが動画視聴モードのときに発生する他処理は、処理負荷が大きい可能性が高い。
【０１５４】
図１２は、本実施形態に係るタスク管理装置１００Ａのタスク管理部３７Ａの動作例を示すフローチャートである。タスク管理部３７Ａは、図１２のフローチャートが示す処理を、データベース構築処理が実行されている間、所定の周期で繰り返し実行する。
【０１５５】
図１２のフローチャートに示すように、タスク管理部３７Ａは、アクセス量検出部３６により検出された同時アクセス量を取得する（ステップＳ１１）。次いで、タスク管理部３７Ａは、ステップＳ１１で取得した同時アクセス量に基づいて、書込速度のレベルを判定する（ステップＳ１２）。ステップＳ１２において、タスク管理部３７Ａは、取得した同時アクセス量が所定の閾値を下回る場合は、書込速度のレベルが高速レベルである判定し、当該所定の閾値以上の場合は、書込速度のレベルが低速レベルであると判定する。
【０１５６】
次いで、タスク管理部３７Ａは、現時点で選択されている動作モードを認識する（ステップＳ１３）。次いで、タスク管理部３７Ａは、選択されている動作モードに応じて、他処理負荷レベルを予測する（ステップＳ１４）。次いで、タスク管理部３７Ａは、ステップＳ１２で判定した書込速度のレベルに基づいて、データベース構築タスクの暫定優先度を決定する（ステップＳ１５）。次いで、タスク管理部３７Ａは、ステップＳ１４で予測した他処理負荷レベルに基づいて、暫定優先度を調整して、最終的な優先度を決定する（ステップＳ１６）。
【０１５７】
以上の処理が行われる結果、データベース構築タスクの優先度は、書込速度のレベルおよび予測された他処理負荷レベルを反映して、適切に決定される。
【０１５８】
（第３実施形態）
次に、本発明の第３実施形態を図面に基づいて説明する。なお、以下の第３実施形態において、第１実施形態の構成要素と対応する構成要素については同一の符号を付し、その詳細な説明を省略する。
【０１５９】
図１３は、本実施形態に係るタスク管理装置１００Ｂの機能的構成例を示すブロック図である。図１３と図２との比較で明らかなとおり、本実施形態に係るタスク管理装置１００Ｂは、タスク管理部３７に代えてタスク管理部３７Ｂを備えている点で、第１実施形態に係るタスク管理装置１００と機能構成が異なっている。
【０１６０】
上述した第１実施形態では、タスク管理部３７は、パラメータとして「書込速度のレベル」を使用して、データベース構築タスクの優先度を決定した。また、上述した第２実施形態では、タスク管理部３７Ａは、パラメータとして「書込速度のレベル」および「データベース構築処理と並行して実行される他処理の予測される処理負荷」を使用して、データベース構築タスクの優先度を決定した。
【０１６１】
一方で、本実施形態では、タスク管理部３７Ｂは、データベース構築タスクの優先度の決定に関し、以下の処理を実行する。すなわち、タスク管理部３７Ｂは、データベース構築タスクの優先度を、「データベース構築処理と並行して実行される他処理の予測される処理負荷」を使用して決定する。以下、タスク管理部３７Ｂの処理について詳述する。
【０１６２】
データベース構築処理が行われている間、タスク管理部３７Ｂは、所定の周期で、以下で示す優先度設定処理を実行する。すなわち、優先度設定処理において、まず、タスク管理部３７Ｂは、現時点で選択されている動作モードを認識する。次いで、タスク管理部３７Ｂは、選択されている動作モードに応じて、他処理負荷レベルを予測する。タスク管理部３７Ｂは、第２実施形態で説明した方法と同様の方法で、他処理負荷レベルの予測を実行する。
【０１６３】
次いで、タスク管理部３７Ｂは、予測した他処理負荷レベルが、処理負荷が大きいレベルほど、データベース構築タスクの優先度を低くする。換言すれば、タスク管理部３７Ｂは、予測した他処理負荷レベルが、処理負荷が小さいレベルほど、データベース構築タスクの優先度を高くする。
【０１６４】
例えば、タスクの優先度として、高い順に、「高」、「中」、「低」があるとし、他処理タスクには、常に、優先度「中」が付与されるとする。この場合において、タスク管理部３７Ｂは、予測した他処理負荷レベルがレベル「大」の場合、データベース構築タスクに、優先度として、優先度「低」を付与する。一方、タスク管理部３７Ｂは、予測した他処理負荷レベルがレベル「小」の場合、データベース構築タスクに、優先度として、優先度「高」を付与する。
【０１６５】
以上のように、本実施形態では、タスク管理部３７Ｂは、書込速度を使用することなく、予測した他処理負荷レベルに基づいて、データベース構築タスクの優先度を決定する。予測した処理負荷が大きいほど、データベース構築タスクの優先度を低くし、予測した処理負荷が小さいほど、データベース構築タスクの優先度を高くすることの効果は、第２実施形態で述べたとおりである。
【０１６６】
図１４は、本実施形態に係るタスク管理装置１００Ｂのタスク管理部３７Ｂの動作例を示すフローチャートである。タスク管理部３７Ｂは、図１４のフローチャートが示す処理を、データベース構築処理が実行されている間、所定の周期で繰り返し実行する。
【０１６７】
図１４のフローチャートに示すように、タスク管理部３７Ｂは、現時点で選択されている動作モードを認識する（ステップＳ２１）。次いで、タスク管理部３７Ｂは、ステップＳ２１で認識した動作モードに応じて、他処理負荷レベルを予測する（ステップＳ２２）。次いで、タスク管理部３７Ｂは、テップＳ２２で予測した他処理負荷レベルに基づいて、最終的な優先度を決定する（ステップＳ２３）。上述したように、タスク管理部３７は、予測した処理負荷が大きいほど、データベース構築タスクの優先度を低くし、予測した処理負荷が小さいほど、データベース構築タスクの優先度を高くする。
【０１６８】
以上の処理が行われる結果、データベース構築タスクの優先度は、現時点で選択されている動作モードに応じて、予測した処理負荷が大きいほど、データベース構築タスクの優先度が低くなるように、動的に変動する。
【０１６９】
なお、上述した各実施形態では、タスク管理装置１００、１００Ａ、１００Ｂは、車両に搭載される車載装置１に適用されていた。しかしながら、タスク管理装置１００、１００Ａ、１００Ｂが、車載装置１に適用される装置である必要は無い。すなわち、本発明は、外部装置から受信した情報に基づいてデータベースを構築する装置に広く適用可能である。
【０１７０】
また、上述した各実施形態では、タスク管理装置１００、１００Ａ、１００Ｂは、外部装置から、構築用情報として楽曲情報を受信し、楽曲情報に基づいて楽曲情報データベースＤＢ１を構築する構成であった。この点に関し、タスク管理装置１００、１００Ａ、１００Ｂがデータベースの構築のために受信する情報は、楽曲情報である必要はない。
【０１７１】
また、ユーザが他処理の実行を指示できない期間は、ユーザが他処理の実行を指示できる期間と比較して、データベース構築タスクの優先度を高くする構成としてもよい。例えば、タスク管理装置１００を含む車載装置１への電力はアクセサリ電源より供給されるが、アクセサリ電源がオンされた後の所定の期間は、ディスプレイ２００に画像が表示されず、ユーザがタッチ操作による指示を行えない状態で、各種起動処理が行われる。この期間は、ユーザが他処理の実行を指示できない期間であり、この期間について、起動処理が終わり、ユーザが他処理の実行を指示できるようになった期間よりも、データベース構築タスクの優先度を高くする構成としてもよい。つまり、上述した各実施形態で挙げたパラメータ以外に、車載装置１（タスク管理装置１００）の状態を変化させるような装置外からの要素を、データベース構築タスクの優先度を決めるときに用いるパラメータとして使用してもよい。
【０１７２】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１７３】
１１  ＣＰＵ（第２の処理リソース）
１７  メモリー（記憶媒体）
１８  メモリーコントローラ
３１  データベース構築部
３２  メモリー制御部（書込制御部）
３３  メモリー関連処理実行部（他処理実行部）
３４  メディア関連処理実行部（他処理実行部）
３５  ラジオ関連処理実行部（他処理実行部）
３７  タスク管理部
１００  タスク管理装置
ＤＢ１  楽曲情報データベース（データベース）
ＫＴ  携帯端末（外部装置）
【図１】
2019003391.tif 000003
【図２】
2019003391.tif 000004
【図３】
2019003391.tif 000005
【図４】
2019003391.tif 000006
【図５】
2019003391.tif 000007
【図６】
2019003391.tif 000008
【図７】
2019003391.tif 000009
【図８】
2019003391.tif 000010
【図９】
2019003391.tif 000011
【図１０】
2019003391.tif 000012
【図１１】
2019003391.tif 000013
【図１２】
2019003391.tif 000014
【図１３】
2019003391.tif 000015
【図１４】
2019003391.tif 000016