"コンテンツサーバからコンテンツを取得し、取得したコンテンツを再生するコンテンツ再生装置であって、前記コンテンツサーバに作成された実体フォルダであり、再生対象の楽曲データが登録されたプレイリストを格納するプレイリストフォルダを検索する検索部と、前記検索部の検索結果を表示する表示部とを備え、前記検索部は、前記コンテンツサーバから、前記コンテンツサーバが管理する下位フォルダに関する下位フォルダ属性と、前記下位フォルダを含む上位フォルダに関する上位フォルダ属性とを取得する属性取得部と、前記下位フォルダ属性が、プレイリストを格納するフォルダであることを示すプレイリストフォルダ属性を有するか否かを判定する下位フォルダ判定部と、前記下位フォルダがプレイリストフォルダ属性を有する場合、前記上位フォルダ属性が、実体フォルダであることを示す実体フォルダ属性を有するか否かを判定する上位フォルダ判定部と、前記上位フォルダが実体フォルダ属性を有する場合、前記下位フォルダを前記プレイリストフォルダと決定する決定部とを含む、コンテンツ再生装置。請求項1に記載のコンテンツ再生装置であって、前記検索部は、前記コンテンツサーバへのアクセスが指示された場合、前記プレイリストフォルダの検索を開始する、コンテンツ再生装置。請求項2に記載のコンテンツ再生装置であって、さらに、前記コンテンツサーバから取得したコンテンツの再生履歴を管理し、前記取得したコンテンツの再生履歴に基づいて、前記プレイリストフォルダの検索を許可する履歴管理部を備える、コンテンツ再生装置。コンテンツサーバからコンテンツを取得し、取得したコンテンツを再生するコンピュータに、前記コンテンツサーバに作成された実体フォルダであり、再生対象の楽曲データが登録されたプレイリストを格納するプレイリストフォルダを検索する検索ステップと、前記検索部の検索結果を表示装置に表示するステップとを実行させるプログラムであって、前記検索ステップは、前記コンテンツサーバから、前記コンテンツサーバが管理する下位フォルダに関する下位フォルダ属性と、前記下位フォルダを含む上位フォルダに関する上位フォルダ属性とを取得するステップと、前記下位フォルダ属性が、プレイリストを格納するフォルダであることを示すプレイリストフォルダ属性を有するか否かを判定するステップと、前記下位フォルダがプレイリストフォルダ属性を有する場合、前記上位フォルダ属性が、実体フォルダであることを示す実体フォルダ属性を有するか否かを判定するステップと、前記上位フォルダが実体フォルダ属性を有する場合、前記下位フォルダを前記プレイリストフォルダと決定するステップとを含む、プログラム。本発明の目的は、プレイリストを格納するフォルダへのアクセスが容易となる技術を提供することである。以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。[第1の実施の形態]{全体構成}図1は、第1の実施の形態に係るPC1が接続されたネットワークシステムの構成を示す図である。図1を参照して、ネットワークシステムは、PC1と、コンテンツサーバ3,4,5とを備える。PC1と、コンテンツサーバ3~5とは、LAN2に接続される。LAN2は、ユーザの家屋内に構築されるホームネットワークである。PC1は、ユーザが操作するコンテンツ再生装置である。コンテンツサーバ3~5は、動画、静止画、楽曲などのコンテンツを格納するサーバである。PC1は、UPnPを利用して、各コンテンツサーバと通信を行う。たとえば、PC1は、各コンテンツサーバが保持するコンテンツを取得し、取得したコンテンツを再生する。コンテンツサーバ3~5は、UPnPを利用するDLNADigitalLivingNetworkAllianceにおいて、コンテンツを提供するDMSDigitalMediaServerとして機能する。PC1は、DLNAにおいて、コンテンツを再生するDMPDigitalMediaPlayerとして機能する。図2は、PC1の構成を示す機能ブロック図である。図2を参照して、PC1は、CPUCentralProcessingUnit11と、メモリ12と、ディスプレイ13と、ネットワークインタフェース14と、HDD15とを備える。CPU11は、メモリ12にロードされたプログラムを実行して、PC1を制御する。CPU11が実行するプログラムは、HDD15に格納される。ディスプレイ13は、CPU11により実行されたプログラムの実行結果などを表示する。ネットワークインタフェース14は、TCPTransmissionControlProtocol/IPInternetProtocol、UPnPなどのプロトコルを用いて、コンテンツサーバ3~5と通信する。HDD15は、検索プログラム16と、再生プログラム17とを格納する。検索プログラム16は、コンテンツサーバ3が管理するフォルダの中から、プレイリストが格納されたフォルダを検索するプログラムである。再生プログラム17は、コンテンツサーバ3~5から取得したコンテンツを再生するプログラムである。{動作概要}PC1は、ユーザがコンテンツサーバ3へのアクセスを指示した場合、コンテンツサーバ3から、ユーザが作成したプレイリストユーザプレイリストが格納されたプレイリストフォルダを検索する。コンテンツサーバ3は、プレイリストを格納する仮想的なフォルダと、プレイリストを格納する実体のあるフォルダとを管理している。ユーザプレイリストは、コンテンツサーバに格納された実体のあるファイルである。プレイリストフォルダは、コンテンツサーバ3に作成された実体のあるフォルダである。PC1は、コンテンツサーバが管理するフォルダの中からプレイリストフォルダを検索する。PC1は、コンテンツサーバ3が管理するフォルダのうち、判定対象フォルダ下位フォルダの属性を取得する。判定対象フォルダは、プレイリストフォルダであるか否かを判定する対象となるフォルダである。判定対象フォルダの属性が、プレイリストを格納するフォルダであることを示す属性を有する場合、PC1は、判定対象フォルダを含む上位フォルダの属性が、実体フォルダであることを示す属性を有するか否かを確認する。上位フォルダの属性が実体フォルダであることを示す属性を有する場合、PC1は、判定対象フォルダをプレイリストフォルダと決定する。PC1は、プレイリストフォルダ判定対象フォルダの属性を取得する際に、プレイリストフォルダが格納するプレイリストのタイトルを取得している。PC1は、コンテンツサーバ3が保持するユーザプレイリストの表示が指示された場合、プレイリストフォルダに格納されたユーザプレイリストのタイトル一覧を表示する。これにより、ユーザは、プレイリストの表示を指示するだけで、ユーザプレイリストのタイトルを確認することができる。また、PC1は、コンテンツサーバ3が選択されたときに、プレイリストフォルダを検索する。これにより、ユーザプレイリストの表示が指示されたときに、PC1は、ユーザプレイリストのタイトル一覧を速やかに表示することができる。{PC1の動作の詳細}以下、ユーザが、コンテンツサーバ3が保持するプレイリストフォルダを検索する場合を例にして、PC1の動作を詳しく説明する。{コンテンツ種別選択画面の表示}図3は、PC1のディスプレイ13に表示されるサーバ選択画面61を示す図である。図4は、PC1のディスプレイ13に表示されるコンテンツ種別選択画面62を示す図である。図5は、コンテンツ種別選択画面62がディスプレイ13に表示されるまでのPC1の動作を示すフローチャートである。図3~図5を参照して、コンテンツ種別選択画面62が表示されるまでのPC1の動作を詳しく説明する。最初に、PC1は、ユーザの操作に応じて、サーバ選択画面61をディスプレイ13に表示するステップS1。サーバ選択画面61には、LAN2に接続されたコンテンツサーバ3~5のサーバ名が表示される。ユーザが、コンテンツサーバ3に対応するServer1を選択するステップS2においてYes。PC1は、コンテンツサーバ3から、コンテンツ種別選択画面62に表示されるルートコンテナ621,622,623,624のそれぞれに対応するオブジェクトデータを取得するステップS3。ルートコンテナ621~624は、コンテンツサーバ3が管理する仮想フォルダである。ルートコンテナ621~624のそれぞれのオブジェクトデータは、各ルートコンテナの属性と、ルートコンテナ621の直下に仮想的に格納される実体フォルダまたは実体ファイルのタイトルとを含む。検索プログラム16が、取得したルートコンテナ621~624のオブジェクトデータを利用して、フォルダ検索処理を実行するステップS4。検索プログラム16は、プレイリストフォルダを特定することができた場合、プレイリストフォルダのオブジェクトデータを保持する。プレイリストフォルダのオブジェクトデータは、プレイリストフォルダの属性と、プレイリストフォルダに格納されたユーザプレイリストのタイトルとを含む。フォルダ検索処理ステップS4の実行後に、PC1は、コンテンツ種別選択画面62を表示するステップS5。図4を参照して、コンテンツ種別選択画面62は、再生するコンテンツの種別動画像、静止画像、音楽、プレイリストなどを選択するためのインタフェースであり、各ルートコンテナの名称が表示される。ユーザが、Playlistルートコンテナ624を選択した場合、PC1は、プレイリストフォルダのオブジェクトデータを用いて、ユーザプレイリストのタイトル一覧を表示する。ユーザが他のルートコンテナを選択した場合、PC1は、コンテンツサーバ3にアクセスして、選択されたルートコンテナに格納されたデータの一覧を表示する。{ルートコンテナ}図4を参照して、コンテンツ種別選択画面62に表示されるルートコンテナ621~624について説明する。ルートコンテナ621は、コンテンツ種別選択画面62のMusicに対応し、コンテンツサーバ3に保存された楽曲データを仮想的に格納する。ルートコンテナ622は、Movieに対応し、コンテンツサーバ3に保存された動画像データを仮想的に格納する。ルートコンテナ623は、Photoに対応し、コンテンツサーバ3に保存された静止画像データを仮想的に格納する。ルートコンテナ624は、Playlistに対応し、コンテンツサーバ3に保存されたユーザプレイリストを仮想的に格納する。コンテンツサーバ3は、コンテンツサーバ3に作成された実体フォルダのうち、仮想フォルダであるルートコンテナ624からアクセス可能な実体フォルダに関する情報を保持している。図6は、ルートコンテナ624からアクセス可能な実体フォルダの階層構成を示す図である。図6を参照して、Cドライブ30と、フォルダ31,32とは、コンテンツサーバ3に作成された実体フォルダである。ユーザプレイリスト33,34は、コンテンツサーバ3に格納された実体ファイルであり、ユーザにより作成される。ルートコンテナ624の下には、Cドライブ30が関連付けられている。ルートコンテナ624が仮想フォルダであるため、Cドライブ30は、ルートコンテナ624の下に実際に作成されない。Cドライブ30の下には、フォルダ31が作成される。フォルダ31の下には、フォルダ32が作成される。フォルダ32は、ユーザが作成したユーザプレイリスト33,34を格納するプレイリストフォルダである。PC1は、ルートコンテナ624、Cドライブ30、フォルダ31,32を直接確認することはできない。PC1は、ルートコンテナ624、Cドライブ30、フォルダ31,32のそれぞれのオブジェクトデータを取得し、取得したオブジェクトデータを利用して、各フォルダの属性及び各フォルダの下に格納されるフォルダまたはファイルを確認することができる。なお、Cドライブ及びフォルダ31,32など、実体フォルダのオブジェクトデータは、各実体フォルダの属性及び各実体フォルダの下に格納されるフォルダ及びファイルのタイトルを含む。実際には、Cドライブ30は、フォルダ31以外のフォルダ及びファイルを格納することがある。フォルダ31,32についても同様である。しかし、コンテンツサーバ3は、DMSとして動作しているため、プレイリストフォルダフォルダ32に関係のない実体フォルダ及び実体ファイルを、ルートコンテナ624からアクセス可能なフォルダ及びファイルとして管理することはない。{フォルダ検索処理ステップS4}図7は、フォルダ検索処理ステップS4を実行する検索プログラム16のフローチャートである。以下、図7を参照して、フォルダ検索処理ステップS4について詳しく説明する。上述したように、検索プログラム16は、ルートコンテナ621~624のそれぞれに対応するオブジェクトデータを取得した後にステップS3、図4参照、フォルダ検索処理ステップS4を開始する。最初に、検索プログラム16は、全てのルートコンテナを対象として、プレイリストフォルダを検索したか否かを確認するステップS41。全てのルートコンテナを対象とした検索が完了していない場合ステップS41においてNo、検索プログラム16は、検索対象のルートコンテナを指定するステップS42。検索プログラム16は、インデックスの大きい順に検索対象を指定する。図4を参照して、インデックスは、ルートコンテナ621~624の左側に表示された番号である。ルートコンテナ624からプレイリストフォルダの検索が開始されるため、検索プログラム16は、プレイリストフォルダを速やかに特定することができる。以下、ルートコンテナ624が検索対象である場合を例にして説明する。検索プログラム16は、ルートコンテナ624が仮想的に格納するフォルダのオブジェクトデータの送信をコンテンツサーバ3に要求する。図6に示すように、ルートコンテナ624が、Cドライブ30を仮想的に格納するため、コンテンツサーバ3は、検索プログラム16の要求に応じて、Cドライブ30のオブジェクトデータをPC1に送信する。これにより、検索プログラム16は、Cドライブ30に対応するオブジェクトデータを取得するステップS43。検索プログラム16は、Cドライブ30のオブジェクトデータが、プレイリストフォルダ以外の実体フォルダであることを示す属性実体通常フォルダ属性を有するか否かを確認するステップS44。UPnPでは、objectcontainerstrageFolderが、実体通常フォルダ属性に対応する。図6を参照して、Cドライブ30が実体通常フォルダ属性を有するためステップS44においてYes、検索プログラム16は、Cドライブ30の下位フォルダフォルダ31のオブジェクトデータを取得するステップS45。検索プログラム16は、フォルダ32のオブジェクトデータを取得するまで、ステップS44,S45の処理を繰り返す。図6及び図7を参照して、フォルダ32がプレイリストフォルダである。このため、検索プログラム16は、フォルダ32のオブジェクトデータが実体通常フォルダ属性を有しないと判定しステップS44においてNo、ステップS46に進む。ステップS46において、検索プログラム16は、フォルダ32のオブジェクトデータがプレイリストフォルダ属性を有するか否かを確認するステップS46。UPnPでは、objectcontainerplaylistContainerが、プレイリストフォルダ属性に対応する。プレイリストフォルダ属性は、フォルダが実体フォルダであるとともに、フォルダがプレイリストを格納するフォルダであることを示す。図6及び図7を参照して、フォルダ32は、プレイリストフォルダ属性を有しているためステップS46においてYes。検索プログラム16は、ステップS47に進む。フォルダ32のオブジェクトデータがプレイリストフォルダ属性を有しない場合ステップS46においてNo、検索プログラム16は、ルートコンテナ624からアクセスできるプレイリストフォルダが存在しないと判断し、ステップS41に戻る。ステップS47において、検索プログラム16は、フォルダ32を含むフォルダ31親フォルダが実体フォルダであるか否かを判定する。すなわち、検索プログラム16は、フォルダ31のオブジェクトデータが実体フォルダ属性を有するか否かを判定する。実体フォルダ属性は、フォルダが実体フォルダであることを示す属性である。実体フォルダ属性は、通常実体フォルダ及びプレイリストフォルダ属性を含む。図6及び図7を参照して、フォルダ31のオブジェクトデータが、通常実体フォルダ属性を有するため、検索プログラム16は、フォルダ31が実体フォルダであると判定するステップS47においてYes。この結果、検索プログラム16は、フォルダ32がユーザプレイリストを格納したプレイリストフォルダであると決定するステップS48。フォルダ32のオブジェクトデータは、フォルダ32の属性と、フォルダ32に格納されたユーザプレイリスト33,34のタイトルとを有する。フォルダ32のオブジェクトデータは、プレイリストのタイトル一覧画面の作成に用いられる。図6には示していないが、プレイリストフォルダ属性を有するフォルダ便宜的に、候補フォルダと呼ぶが、仮想フォルダに格納されることが考えられる。この場合、親フォルダとなる仮想フォルダは、実体通常フォルダ属性を有しないためステップS47においてNo、検索プログラム16は、候補フォルダがプレイリストフォルダでないと判断して、ステップS41に進む。このように、フォルダ検索処理ステップS4では、プレイリストフォルダ属性を有するフォルダ32を検出したときに、フォルダ32が作成された親フォルダフォルダ31が実体フォルダであるか否かを判定する。フォルダ32が実体フォルダであれば、検索プログラム16は、フォルダ31をプレイリストフォルダと決定するステップS48。図8は、プレイリストのタイトル一覧画面63を示す図である。フォルダ検索処理ステップS4の終了後、コンテンツ種別選択画面62が表示される図4参照。ユーザが、Playlistルートコンテナ624を選択した場合、PC1は、フォルダ32のオブジェクトデータを用いて、プレイリストのタイトル一覧画面63を作成し、タイトル一覧画面63をディスプレイ13に表示する。ユーザは、タイトル一覧画面63に表示されたタイトルを選択して、選択したプレイリストの再生を指示することができる。このように、ユーザが、コンテンツ種別選択画面62でPlaylistを選択したときに、ユーザが作成したユーザプレイリスト33,34のタイトルが表示される。ユーザは、ユーザ自身が作成したユーザプレイリストを再生するために、フォルダを開く操作を繰り返さなくてもよい。フォルダ検索処理ステップS4を実行することにより、ユーザプレイリストを格納するプレイリストフォルダではない別のフォルダが、プレイリストフォルダとして決定されることが防止される。以下、この理由を説明する。上述のように、仮想フォルダが、プレイリストフォルダ属性を有する候補フォルダの親フォルダとなることがある。たとえば、musicに対応するルートコンテナ621は、推薦プレイリストを格納した実体フォルダ推薦リストフォルダを格納する。推薦プレイリストは、再生回数が上位の楽曲データが登録されたリストであり、コンテンツサーバ3により自動的に作成される。推薦プレイリストが自動的に作成されたとしても、ユーザは、推薦プレイリストの存在を知らない。このため、コンテンツサーバ3は、musicに対応するルートコンテナ621に推薦リストフォルダを格納させる。これにより、ユーザに推薦プレイリストの存在を知らせるためが可能となる。この場合、推薦リストフォルダの親フォルダがルートコンテナ621となるため、検索プログラムは、ステップS47を実行することにより、推薦リストフォルダをプレイリストフォルダと決定しない。これに対して、ユーザプレイリスト33,34を格納するプレイリストフォルダフォルダ32は、図6に示すように、実体フォルダフォルダ31に作成される。このため、検索プログラム16は、ステップS46,S47を実行することにより、ユーザプレイリスト33,34を格納したプレイリストフォルダのみを検索することが可能となる。図7を参照して、ステップS41の説明に戻る。全てのルートコンテナの検索が完了した場合ステップS41においてYes、検索プログラム16は、プレイリストフォルダを検出できなかったと判断して、フォルダ検索処理ステップS4を終了する。この場合、PC1は、コンテンツ種別選択画面62を表示するときに、ルートコンテナ624をグレーアウトさせる。これにより、ユーザは、コンテンツ種別選択画面62でPlaylistを選択できないことを認識できる。あるいは、PC1は、ルートコンテナ624の右側に、プレイリストフォルダを検出できなかったことを示すマークなどを表示してもよい。上記第1の実施の形態において、Cドライブ30と、フォルダ31とが一対一で関連付けられている例を説明した。しかし、Cドライブ30と、複数のフォルダとが関連付けられている場合がある。この場合、ステップS45において、検索プログラム16は、各フォルダに対応する複数のオブジェクトデータを取得する。検索プログラム16は、取得した各オブジェクトデータに対して、ステップS44~S47の処理を実行すればよい。上記第1の実施の形態において、検索プログラム16は、図7に示すフローチャートによりプレイリストフォルダを検出できないことがある。この場合、検索プログラム16は、コンテンツサーバ3に作成された全ての実体フォルダを検索対象として、上記の条件に基づいてプレイリストフォルダを検索してもよい。[第2の実施の形態]以下、本発明の第2の実施の形態について、上記第1の実施の形態と異なる点を中心に説明する。上記第1の実施の形態では、PC1は、アクセス対象のコンテンツサーバが選択されたときに、フォルダ検索処理ステップS4を実行した。第2の実施の形態では、PC1は、コンテンツサーバごとのプレイリストの再生履歴を管理する。PC1は、アクセス対象のコンテンツサーバが選択されたときに、再生履歴に基づいて、フォルダ検索処理ステップS4を実行するか否かを判定する。図9は、第2の実施の形態におけるPC1の機能ブロック図である。図9を参照して、HDD15は、検索プログラム16と、再生プログラム17と、検索許可テーブル18と、再生履歴テーブル19と、履歴管理プログラム20とを格納する。履歴管理プログラム20は、各コンテンツサーバから取得したコンテンツの再生履歴を管理するプログラムである。検索許可テーブル18は、コンテンツサーバごとに、フォルダ検索処理ステップS4の実行を許可するか否かを設定したデータである。再生履歴テーブル19は、コンテンツサーバ3から取得したコンテンツの再生履歴が登録されたデータである。{検索許可テーブル}図10は、検索許可テーブル18を示す図である。図10を参照して、コンテンツサーバ3は、LAN2に接続され、PC1と通信可能なコンテンツサーバ3~5を検索許可テーブル18に登録する。検索許可テーブル18において、サーバ名には、各コンテンツサーバの名称が設定される。識別情報には、各コンテンツサーバに一意に割り当てられるID番号が設定される。たとえば、UPnPで用いられるUUIDUniversallyUniqueIdentifierが、識別情報として用いられる。フラグは、各コンテンツサーバに対するフォルダ検索処理ステップS4の実行の可否を示す情報である。インデックスは、ルートコンテナ624のインデックスを示す。検索許可テーブル18において、コンテンツサーバ3のフラグは、フォルダ検索処理の実行を許可するTrueに設定されている。コンテンツサーバ4,5のフラグは、フォルダ検索処理の実行を許可しないFalseに設定されている。詳細は後述するが、各コンテンツサーバが保持するユーザプレイリストの使用頻度が高い場合、フラグはTrueに設定される。PC1が、コンテンツサーバ3~5を検索許可テーブル18に登録する処理を説明する。履歴管理プログラム20が、たとえば、電源がONされた後に起動する。履歴管理プログラム20は、UPnPを利用して、コンテンツサーバを検索する。なお、履歴管理プログラム20は、電源がONされている間、コンテンツサーバを定期的に検索してもよい。履歴管理プログラム20は、コンテンツサーバを検出した場合、検出したコンテンツサーバのUUIDが検索許可テーブル18に登録されているか否かを確認する。検出したコンテンツサーバのUUIDが検索許可テーブル18に登録されていない場合、履歴管理プログラム20は、検出したコンテンツサーバのUUIDを検索許可テーブル18に新たに登録する。新たに登録されたコンテンツサーバのフラグは、Falseに設定され、インデックスは、ルートコンテナ624のインデックスとは無関係の-1に設定される。これは、履歴管理プログラム20が、新たなコンテンツサーバの再生履歴を確認することができないためである。検出したコンテンツサーバのUUIDが検索許可テーブル18に既に登録されていた場合、履歴管理プログラム20は、検索許可テーブル18を変更しない。{フォルダ検索処理の可否の判定}図11は、本実施の形態のPC1が、コンテンツ種別選択画面62を表示するまでの動作を示すフローチャートである。図11に示すフローチャートは、図4に示すフローチャートと比較して、ステップS20が追加されている点が異なる。図11を参照して、PC1は、コンテンツサーバ3が選択された場合ステップS2においてYes、ルートコンテナ621~624のオブジェクトデータをコンテンツサーバ3から取得するステップS3。PC1は、検索許可テーブル18を参照して、コンテンツサーバ3のフラグがTrueに設定されているか否かを確認するステップS20。フラグがTrueに設定されていればステップS20においてYes、検索プログラム16が、コンテンツサーバ3を検索対象としたフォルダ検索処理を実行するステップS4。その後、コンテンツ種別選択画面62が、ディスプレイ13に表示されるステップS5。一方、フラグがFalseに設定されていればステップS20においてNo、PC1は、フォルダ検索処理ステップS4を実行せずに、コンテンツ種別選択画面62を表示するステップS5。{検索許可テーブル18のフラグの変更}検索許可テーブル18のフラグの変更について説明する。検索許可テーブル18のフラグは、ユーザプレイリストの再生頻度に応じて変更される。図12は、PC1が実行する履歴管理処理のフローチャートである。図12を参照して、コンテンツサーバ3のコンテンツが再生される場合を例にして、履歴管理処理を詳しく説明する。履歴管理プログラム20は、サーバ選択画面61でコンテンツサーバ3が選択された場合、コンテンツサーバ3のUUIDをメモリ12に登録するステップS21。履歴管理プログラム20は、PC1がルートコンテナ621~624のオブジェクトデータを取得した場合ステップS3、図4参照、各ルートコンテナのインデックスをメモリ12に登録するステップS22。コンテンツサーバ3が保持するコンテンツの再生が指示された場合ステップS23においてYes、PC1は、ユーザが指示したコンテンツをコンテンツサーバから取得して再生する。再生履歴テーブル19は、検索許可テーブル18に登録されたコンテンツサーバごとに作成されるため、履歴管理プログラム20は、コンテンツサーバ3に対応する再生履歴テーブル19を更新するステップS24。図13は、コンテンツサーバ3に対応する再生履歴テーブル19を示す図である。図13を参照して、再生履歴テーブル19には、過去4回分のコンテンツの再生履歴が登録される。ユーザプレイリストが再生された場合、再生履歴テーブル19のコンテンツ種別には、Playlistが登録される。ユーザプレイリストではない他のコンテンツが再生された場合、コンテンツ種別には、Othersが登録される。再び、図12を参照する。履歴管理プログラム20は、再生履歴テーブル19を参照して、直前の2回において、ユーザプレイリストが連続して再生されたか否かを確認するステップS25。図13に示すように、再生履歴テーブル19において、コンテンツサーバ3のコンテンツとして、プレイリストが前回、前々回と連続して再生されている。プレイリストが直前の2回連続して再生されているためステップS25においてYes、履歴管理プログラム20は、検索許可テーブル18に設定されたコンテンツサーバ3のフラグをTrueに変更するステップS26。これにより、サーバ選択画面61においてコンテンツサーバ3が選択されたときに、PC1は、フォルダ検索処理ステップS4を実行する。検索許可テーブル18に設定されたコンテンツサーバ3のインデックスが、ステップS21においてメモリ12に登録されたインデックスルートコンテナ624のインデックスに設定されるステップS27。検索許可テーブル18に設定されたコンテンツサーバ3のインデックスは、コンテンツサーバ3を検索対象としたフォルダ検索処理ステップS4、図4参照で用いられる。検索プログラム16は、検索許可テーブル18に設定されたコンテンツサーバ3のインデックスに対応するルートコンテナを、最初に検索対象に指定するステップS42、図7参照。これにより、プレイリストに対応するルートコンテナ624が最初に検索対象に指定されるため、プレイリストフォルダの検索速度を速くすることができる。ステップS25の説明に戻る。プレイリストが直前に2回連続して再生されていない場合ステップS25においてNo、履歴管理プログラム20は、他のコンテンツが直前に2回連続して再生されたか否かを確認するステップS28。他のコンテンツが直前に2回連続して再生された場合ステップS28においてYes、履歴管理プログラム20は、検索許可テーブル18に設定されたコンテンツサーバ3のフラグをFalseに設定するステップS29。これにより、PC1がコンテンツサーバ3のコンテンツ種別選択画面62を表示するときに、フォルダ検索処理ステップS4は、実行されない。この場合、コンテンツ種別選択画面62において、ユーザがPlaylistルートコンテナ624を選択したときに、フォルダ検索処理ステップS4が実行される。検索許可テーブル18において、コンテンツサーバ3のインデックスが、-1に設定されるステップS30。ルートコンテナ624のインデックスに-1は設定されないため、検索許可テーブル18のインデックスは、フォルダ検索処理ステップS4の実行時に使用されない。他のコンテンツが直前に2回連続して再生されていない場合ステップS29においてNo、履歴管理プログラム20は、検索許可テーブル18に設定されたコンテンツサーバ3のフラグを更新することなく、履歴管理処理を終了する。このように、ユーザプレイリストが直前の2回に連続して再生されていた場合、コンテンツサーバ3のフラグがTrueに設定される。しかし、フラグをTrueに更新する条件は、上記の条件に限定されない。たとえば、コンテンツサーバ3のプレイリストが、過去4回のうち3回以上再生されている場合、履歴管理プログラム20は、検索許可テーブル18のコンテンツサーバ3のフラグをTrueに変更してもよい。すなわち、検索管理プログラム20は、プレイリストの再生状況に応じて、検索許可テーブル18のフラグを変更すればよい。コンテンツサーバ3が保持するプレイリストの再生頻度が高い場合、コンテンツ種別選択画面62の表示前に、フォルダ検索処理ステップS4が実行される。この場合、PC1は、コンテンツ種別選択画面62でPlaylistが選択されたときに、プレイリストのタイトル一覧画面を速やかに表示することができる。一方、ユーザプレイリスト33,34の再生回数が少ない場合、フォルダ検索処理ステップS4は、コンテンツ種別選択画面62でPlaylistが選択されたときに実行される。この場合、PC1は、コンテンツ種別選択画面62を速やかに表示することができる。上記第1及び第2実施の形態では、PC1とコンテンツサーバ3とがUPnPを利用する例について説明した。しかし、PC1とコンテンツサーバ3とは、UPnP以外のプロトコルJiniなど、家庭内ネットワークで用いられるプロトコルを利用して、通信してもよい。上記第1及び第2の実施の形態では、コンテンツ再生装置の例としてPC1を説明した。しかし、コンテンツ再生装置は、PC1に限定されない。たとえば、コンテンツ再生装置として、DMPとして動作可能なAVAudioandVisualアンプまたはAVレシーバなどのオーディオ機器を用いてもよい。すなわち、コンテンツ再生装置は、コンテンツサーバ3~5と通信可能であり、コンテンツサーバから取得したコンテンツを再生できる機器であればよい。以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。"