(57)【要約】【課題】サーバから読み出されるオブジェクトの一覧の表示処理における遅延を抑制する。【解決手段】  メインスレッド１０３は、操作部１０１により指示されたオブジェクトの情報をサーバ１５２より取得する。先読指示情報生成部１１１は、そのオブジェクトがディレクトリの場合、一下位層のオブジェクト名の一覧と属性情報を取得する先読指示情報を先読指示バッファ１２１に記録する。先読処理用サブスレッド１０５は、先読指示バッファ１２１の先読指示情報により先読処理を実行し、処理結果を処理結果バッファ１２２に記憶させる。操作部１０１により、上述したオブジェクトの一下位層のいずれかのオブジェクトが選択されると、メインスレッド１０３は、そのタイミングでサーバ１５２にはアクセスせず、対応するオブジェクトの一下位層のオブジェクト名の一覧と属性情報を処理結果バッファ１２２より読み出してディスプレイ１０２表示する。【選択図】図７
2005352539.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されている他の情報処理装置に格納されたディレクトリ構造を含む複数のファイルの情報に関して、前記ディレクトリ、または、ファイルを特定するオブジェクトを指定する指定手段と、
前記指定手段により指定された指定オブジェクトがディレクトリの場合、その下位層に含まれる下位オブジェクトの固有情報を取得させる指示を生成する指示生成手段と、
前記指示生成手段により生成された指示を格納する指示格納手段と、
前記指示格納手段に格納されている指示を順次読み出して、前記下位オブジェクトの固有情報を前記他の情報処理装置より取得する取得手段と、
前記取得手段により取得された前記下位オブジェクトの固有情報を格納する取得情報格納手段と、
前記他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成する表示情報生成手段とを備え、
前記指定オブジェクトがディレクトリである場合、前記下位オブジェクトの固有情報が、前記取得手段により予め取得されて、前記取得情報格納手段に格納されているとき、前記表示情報生成手段は、前記取得情報格納手段に格納されている下位オブジェクトの固有情報を含む、前記他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成する
ことを特徴とする情報処理装置。
【請求項２】
前記固有情報は、前記オブジェクトのオブジェクト名、および、属性情報を含む
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記属性情報は、少なくとも前記オブジェクトがディレクトリであるか、または、ファイルであるかを示す情報を含む
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記オブジェクトがファイルである場合、前記属性情報は、ファイルサイズ、ファイルの種類、または更新日時を示す情報をさらに含む
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記ファイルは、音声データ、動画像データ、または、静止画データからなるファイルである
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記指定オブジェクトがディレクトリの場合、前記指示生成手段は、前記指定オブジェクトの一下位層のオブジェクトに含まれるオブジェクトの固有情報を取得する指示を生成する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
ネットワークを介して接続されている他の情報処理装置に格納されたディレクトリ構造を含む複数のファイルの情報に関して、前記ディレクトリ、または、ファイルを特定するオブジェクトを指定する指定ステップと、
前記指定ステップの処理で指定された指定オブジェクトがディレクトリの場合、その下位層に含まれる下位オブジェクトの固有情報を取得させる指示を生成する指示生成ステップと、
前記指示生成ステップの処理で生成された指示を格納する指示格納ステップと、
前記指示格納ステップの処理により格納されている指示を順次読み出して、前記下位オブジェクトの固有情報を前記他の情報処理装置より取得する取得ステップと、
前記取得ステップの処理により取得された前記下位オブジェクトの固有情報を格納する取得情報格納ステップと、
前記他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成する表示情報生成ステップとを含み、
前記指定オブジェクトがディレクトリである場合、前記下位オブジェクトの固有情報が、前記取得ステップの処理により予め取得されて、前記取得情報格納ステップの処理により格納されているとき、前記表示情報生成ステップの処理は、前記取得情報格納ステップの処理により格納されている下位オブジェクトの固有情報を含む、前記他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成する
ことを特徴とする情報処理方法。
【請求項８】
ネットワークを介して接続されている他の情報処理装置に格納されたディレクトリ構造を含む複数のファイルの情報に関して、前記ディレクトリ、または、ファイルを特定するオブジェクトの指定を制御する指定制御ステップと、
前記指定制御ステップの処理で指定された指定オブジェクトがディレクトリの場合、その下位層に含まれる下位オブジェクトの固有情報を取得させる指示の生成を制御する指示生成制御ステップと、
前記指示生成制御ステップの処理で生成された指示の格納を制御する指示格納制御ステップと、
前記指示格納制御ステップの処理により格納されている指示を順次読み出して、前記下位オブジェクトの固有情報の前記他の情報処理装置からの取得を制御する取得制御ステップと、
前記取得制御ステップの処理により取得された前記下位オブジェクトの固有情報の格納を制御する取得情報格納制御ステップと、
前記他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報の生成を制御する表示情報生成制御ステップとを含み、
前記指定オブジェクトがディレクトリである場合、前記下位オブジェクトの固有情報が、前記取得制御ステップの処理により予め取得されて、前記取得情報格納制御ステップの処理により格納されているとき、前記表示情報生成制御ステップの処理は、前記取得情報格納制御ステップの処理により格納されている下位オブジェクトの固有情報を含む、前記他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成する
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項９】
ネットワークを介して接続されている他の情報処理装置に格納されたディレクトリ構造を含む複数のファイルの情報に関して、前記ディレクトリ、または、ファイルを特定するオブジェクトの指定を制御する指定制御ステップと、
前記指定制御ステップの処理で指定された指定オブジェクトがディレクトリの場合、その下位層に含まれる下位オブジェクトの固有情報を取得させる指示の生成を制御する指示生成制御ステップと、
前記指示生成制御ステップの処理で生成された指示の格納を制御する指示格納制御ステップと、
前記指示格納制御ステップの処理により格納されている指示を順次読み出して、前記下位オブジェクトの固有情報の前記他の情報処理装置からの取得を制御する取得制御ステップと、
前記取得制御ステップの処理により取得された前記下位オブジェクトの固有情報の格納を制御する取得情報格納制御ステップと、
前記他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報の生成を制御する表示情報生成制御ステップとをコンピュータに実行させ、
前記指定オブジェクトがディレクトリである場合、前記下位オブジェクトの固有情報が、前記取得制御ステップの処理により予め取得されて、前記取得情報格納制御ステップの処理により格納されているとき、前記表示情報生成制御ステップの処理は、前記取得情報格納制御ステップの処理により格納されている下位オブジェクトの固有情報を含む、前記他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、家電機器において、遠隔地のサーバなどに格納されているファイルまたはディレクトリなどを示すオブジェクトの一覧の表示に係る遅延を抑制できるようにした情報処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
家庭用電化機器（以降、家電機器とも称する）のデジタル化、ネットワーク化が進み、特に、AV（Audio Visual）機器を中心として、ネットワークを介してコンテンツデータを遠隔地のサーバにアクセス（リモートアクセス）し、ダウンロードできるようにする技術が普及しつつある。
【０００３】
例えば、遠隔地の映像サーバにある映像素材をネットワークの遅延による影響を回避して、映像編集作業の操作性を向上させるものがある（例えば、特許文献１参照）。
【０００４】
しかしながら、家電機器のリモートアクセスは、従来の、事務用途や技術用途等を前提としたコンピュータ間における一般のファイルのリモートアクセスとは異なり、家電機器の使い方を前提とした特別の配慮が必要である。
【０００５】
例えば、家電機器におけるコンテンツデータのリモートアクセスにおいては、一般的なリモートアクセスにおいて設定されるネットワークの分単位のタイムアウト（サーバにアクセスできない状態が継続した場合に、ネットワークの接続を断念するまでの時間）では、長すぎるため、少なくとも秒単位レベルのタイムアウトを実現させる必要がある。
【０００６】
また、家電機器におけるコンテンツデータのリモートアクセスにおいては、ネットワークや接続先機器の不調等（断線や通信障害など）の理由により異常事態が発生した場合、ユーザに複雑な対処を要求させることができず、悪条件下でも必要最低限の対処が安定的に実現できる必要がある。
【０００７】
さらに、家電機器におけるコンテンツデータのリモートアクセスにおいては、ユーザの操作ミスなどにより、指示を与えた動作の中断(キャンセル)などが要求されることがあるため、このような不意の要求にも対応しなくてはならない。
【０００８】
一方、一般のネットワークを介したデータのリモートアクセスを用いた処理は、事務用途や技術用途のコンピュータ間では以前から普通に利用されており、既存のネットワークプロトコルやソフトウェアの仕様にも影響を与えている。
【０００９】
このため、家電機器における使用を想定すると、上述したような配慮が不十分であることが多い。
【００１０】
ところが、家電機器におけるリモートアクセスを実現させるネットワークを構築するには、家電機器以外の既存の機器（例えば、コンピュータなど）との相互接続も想定する必要があり、また、家電機器の設計にあたっては、設計のスピードアップとコスト低減のため、既存のソフトウェア資産を活用する必要がある。
【００１１】
結果として、家電機器におけるコンテンツデータのリモートアクセスを可能にするソフトウェアは、既存の一般的なネットワークにあるような単純な読み出し/書き込み動作が可能であるというだけの構造では不十分であり、ショートスパンで状態監視を繰り返せるような構造であって、さらに、常に、ユーザからの様々な操作を受け付けられるようにする必要がある。
【００１２】
ここで、図１を参照して、一般的なネットワークを用いたリモートアクセスについて、従来のコンテンツ配信システムの構成に則して説明する。図１は、LinuxなどUNIX（登録商標）系のOS（Operation System）上で、家電機器としてテレビジョン受像機が、ネットワークを介して、サーバにあるコンテンツデータにリモートアクセスする構成について、具体的な例を挙げて説明するものである。尚、サーバへのアクセスは、既存のソフトウェアモジュール(例えば、Sambaなど)を利用する。Sambaについては、例えば、http://www.samba.gr.jp/を参照されたい。
【００１３】
操作部１１は、タッチパネルや操作ボタンなどから構成され、テレビジョン受像機１に対して各種の操作をさせるとき、ユーザにより操作される。また、操作部１１に代えてリモートコントローラからの信号に基づいた操作信号を発生して、テレビジョン受像機１に対して各種の操作をさせる構成を設けるようにしても良い。
【００１４】
ディスプレイ１２は、OS１４により制御され、例えば、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）などから構成され、テレビジョン受像機１がサーバ３よりネットワーク２を介してダウンロードしてくるコンテンツデータを再生させて表示したり、または、コンテンツデータのファイルをディレクトリ構造を含むオブジェクトの一覧として表示する。
【００１５】
メインスレッド１３は、OS１４上で実行されるプログラムであり、上述したオブジェクト一覧を表示させるためのプログラムである。従って、メインスレッド１３は、操作部１１からOS１４を介してユーザの操作内容に応じて、オブジェクト一覧をOS１４およびネットワーク２を介してサーバ３より読み出し、所定の表示画面を生成してディスプレイ１２に表示させる。
【００１６】
また、メインスレッド１３は、オブジェクトの一覧におけるディレクトリまたはファイルを特定するオブジェクトが、上述した操作部１１により選択された場合、例えば、選択されたオブジェクトがディレクトリであるとき、メインスレッド１３は、そのディレクトリであるオブジェクトの一下位層に含まれるオブジェクトの一覧をディスプレイ１２に表示させる。また、選択されたオブジェクトがコンテンツデータからなるファイルである場合、メインスレッド１３は、ディスプレイ１２に、その選択されたファイルを実行し、コンテンツデータなどの実行結果を表示させる。
【００１７】
OS１４は、テレビジョン受像機１の動作を管理するオペレーティングシステムであり、例えば、LinuxやUNIX（登録商標）などである。OS１４は、メインスレッド１３からサーバ３に対して所定の処理を要求し、その処理結果を取得するためのアクセス処理(例えば、UNIX（登録商標）で言えば、システムコール等であって、open()，close()，read()，seek()，stat()，opendir()，readdir()，closedir()等)を実行し、ネットワーク２を介してサーバ３と通信を実行し、各種のコンテンツデータの送受信を行なう。
【００１８】
サーバ３は、テレビジョン受像機１からの要求に応じて、ネットワーク２を介して、コンテンツデータを配信する。
【００１９】
尚、図１のテレビジョン受像機１においては、オブジェクト一覧を表示するための機能のみを記載しているので、実際に必要なエンコーダや通信装置などについては記載されていないが、必要に応じて設けられれているものとする。
【００２０】
次に、図２を参照して、図１のコンテンツ配信システムにおけるテレビジョン受像機１が、サーバ３に蓄積されているオブジェクトの一覧を読み出して、表示するときの処理について説明する。図２は、メインスレッド１３により実際に実行されるプログラムの例を示している。尚、図２においては、処理の流れを説明するのに必要な記述のみを残し、その他の記載は必要に応じて省略している。
【００２１】
図２において、第１行目は、「void getFileInformations(const char *path)」と記述されており、第１行目から第７行目までの処理が、サーバ３における指定されたディレクトリ内にあるファイル名を取得する処理であることが示されている。
【００２２】
第２行目は、「DIR *dir = OPENDIR(path);」と記述されており、「path」で指定されたディレクトリを開くように要求するアクセス処理であるOPENDIR(path)を実行することが記述されている。ここで、アクセス処理とは、メインスレッド１３からサーバ３にアクセスして所定の処理を要求し、その処理結果を取得する処理である。従って、ここでは、メインスレッド１３が、サーバ３にアクセスし、「path」で指定されたディレクトリを開く処理を要求し、処理結果を取得する。
【００２３】
第３行目乃至第６行目は、「struct dirent *ent;」、「while(ディレクトリ内の全てのファイル名を取得するまで)、「ent =READDIR(dir);」と記述されており（第６行目は、この処理の記述の終了を示している）、ディレクトリ内の全てのオブジェクトについてのオブジェクト名が読み出されるまで、オブジェクト毎にオブジェクト名を読み出すように要求し、読み出されたオブジェクト名を取得するためのアクセス処理であるREADDIR(dir)を繰り返す処理が記述されている。
【００２４】
第７行目は、「CLOSEDIR(dir);」と記述されており、第２行目に記述された処理により開いたディレクトリを閉じるように要求するためのアクセス処理であることが記述されている。
【００２５】
第８行目および第９行目は、「for(n=0;n<M; n++)」、および「STAT(n番目のファイル);」と記述されており、ディレクトリ内に存在するM個のオブジェクトのそれぞれについて、オブジェクトの属性情報を取得するためのアクセス処理であるSTAT()を実行する処理が記述されている。
【００２６】
すなわち、図２のプログラムによりメインスレッド１３は、サーバ３にアクセスし、指定されたオブジェクトがディレクトリである場合、そのディレクトリを開き、全てのオブジェクトのオブジェクト名を読み出させる。そして、メインスレッド１３は、読み出した全てのオブジェクトについて、それぞれの属性情報を取得する。さらに、メインスレッド１３は、これらの全てのオブジェクト名と、それらの属性情報をディスプレイ１２に表示している。
【００２７】
次に、図３のフローチャートを参照して、図１のコンテンツ配信システムによる上述したOPENDIR()、READDIR()、CLOSEDIR()、および、STAT()に代表されるアクセス処理について説明する。
【００２８】
ステップＳ１において、メインスレッド１３は、サーバ３へのアクセス処理として所定の処理の実行をOS１４に対して要求する。
【００２９】
ステップＳ１１において、OS１４は、メインスレッド１３からの所定の処理を目的としたアクセス処理の要求に応じて、ネットワーク２を介してサーバ３に対して所定の処理を要求する。
【００３０】
ステップＳ２１において、サーバ３は、アクセス処理により指定された処理を実行し、処理結果をテレビジョン受像機１に送信する。
【００３１】
ステップＳ１２において、テレビジョン受像機１のOS１４は、サーバ３より送信されてくる処理結果を取得し、さらに、メインスレッド１３に供給する。
【００３２】
ステップＳ２において、メインスレッド１３は、供給された処理結果に所定の処理を施し、ディスプレイ１２に、例えば、GUI（Graphical User Interface）として表示させる。
【００３３】
以上のように、指定される処理を要求するアクセス処理が、メインスレッド１３により繰り返されことにより、図２で示したようなプログラムが実行され、最終的にオブジェクトの一覧と、それぞれの属性情報がディスプレイ１２に表示されることになる。
【特許文献１】特開２００２−０１０１８０号公報
【発明の開示】
【発明が解決しようとする課題】
【００３４】
しかしながら、アクセス処理が繰り返されることによる一連の処理において、サーバ３へのアクセスやサーバ３からのコンテンツデータのダウンロードにおける通信中に障害が発生した場合、所定の処理時間内にオブジェクトの一覧が表示されないこととなる。より詳細には、例えば、断線や通信障害によりネットワークの通信状態が不調となるような事態、または、サーバ３に供給される電源が絶たれるといった故障などが発生した場合、サーバ３からテレビジョン受像機１に対して、処理結果としてエラーが発生したことを示す情報を送信することなどはできないため、エラーが発生していることをOS１４が特定するのには分単位の時間が必要となるため、メインスレッド１３は、アクセス処理による処理の結果待ちの状態のまま、数分間その他の処理が実行できなくなってしまうという課題があった。
【００３５】
また、ユーザの操作ミスや待ち時間が長過ぎるとみなされて、操作そのものがキャンセルされるような場合、アクセス処理によって指定された処理の結果待ちの状態のまま、他の処理ができなくなるため、結果として、処理のキャンセルをも受け付けることができなくなってしまい、実質的に、操作不能の状態となってしまうという課題があった。
【００３６】
そこで、このような事態を回避するため、メインスレッドがサブスレッドを生成し、サブスレッドに上述したアクセス処理による各種の処理を実行させ、メインスレッド自らは、常に、その他の処理に対応できるような構成が提案されている。
【００３７】
図４は、メインスレッドがサブスレッドを生成し、アクセス処理を実行させるようにしたテレビジョン受像機１の構成を示している。尚、図３において、図１と対応する構成については、同一の符号を付しており、その説明は、適宜省略するものとする。
【００３８】
図４のテレビジョン受像機１において、図１と異なる点は、メインスレッド１３に代えて、メインスレッド２１を設け、さらに、OS１４にスレッド生成部１４ａを設けた点である。メインスレッド２１は、基本的にメインスレッド１３と同様の機能を備えているが、さらに、サブスレットを生成するようにOS１４に要求する。スレッド生成部１４ａは、メインスレッド２１からの要求に応じて、サブスレッドを生成し、サブスレッドに各種の処理を実行させる（メインスレッド２１により実行される処理を代行させる）。図４においては、スレッド生成部１４ａが、サブスレッドとしてアクセス処理用サブスレッド２２を生成している場合について示している。アクセス処理用サブスレッド２２は、図１乃至図３を参照して説明したメインスレッド１３により実行されるサーバ３に対して、所定の処理を要求し、その処理結果を取得する処理であるアクセス処理を実行する。また、メインスレッド２１は、アクセス処理を実行する際、アクセス処理用サブスレッド２２を生成するにあたり、例えば、UNIX（登録商標）系コマンドにおけるping(RFC792 InternetControl Message ProtocolでのEcho Message)、または、NetBIOSのNameQueryなどの処理を実行し、オブジェクト一覧を要求するサーバ３が存在するか否か、すなわち、通信可能であるか否か、または、動作可能であるか否かを確認する。
【００３９】
次に、図５のフローチャートを参照して、図４のコンテンツ配信システムにおけるオブジェクト一覧を表示するときのアクセス処理について説明する。
【００４０】
ステップＳ３１において、メインスレッド２１は、サーバ３の存在を確認する処理として、ネットワーク２の通信状態などの何らかの要因により、サーバ３との通信が不能であるか否かを確認する。より具体的には、メインスレッド２１は、例えば、ping、または、NameQueryなどの処理を実行するなどして、サーバ３からの応答を要求する。
【００４１】
ステップＳ６１において、サーバ３は、テレビジョン受像機１からの存在を確認する応答が求められた場合、対応する応答信号をネットワーク２を介してテレビジョン受像機１に送信する。
【００４２】
ステップＳ３２において、メインスレッド２１は、サーバ３からの応答を取得すると、サーバ３の存在を認識し、処理は、ステップＳ３３に進む。尚、ネットワーク２上に発生した何らかの通信障害によりサーバ３からの応答を取得できなかった場合、その処理は、終了する。
【００４３】
ステップＳ３３において、メインスレッド２１スレッド生成部１４ａは、OS１４に対して、アクセス処理用サブスレッド２２の生成を要求する。これに応じて、OS１４のスレッド生成部１４ａは、アクセス処理用サブスレッド２２を生成する。尚、図４においては、既に、スレッド生成部１４ａによりアクセス処理用サブスレッド２２が生成された状態が示されている。
【００４４】
ステップＳ４１において、アクセス処理用サブスレッド２２は、図２を参照して説明した処理に必要なアクセス処理をOS１４に対して要求する。
【００４５】
ステップＳ５１において、OS１４は、アクセス処理用サブスレッド２２からのサーバ３に対して所定の処理を要求したアクセス処理の要求に応じて、ネットワーク２を介してサーバ３に対して所定の処理を要求する。
【００４６】
ステップＳ６２において、サーバ３は、アクセス処理において指定された処理を実行し、処理結果をテレビジョン受像機１に送信する。
【００４７】
ステップＳ５２において、テレビジョン受像機１のOS１４は、サーバ３より送信されてくる処理結果を取得し、さらに、アクセス処理用サブスレッド２２に供給する。
【００４８】
ステップＳ４２において、アクセス処理用サブスレッド２２は、OS１４より供給されてくる処理結果を取得し、さらに、メインスレッド２１に供給する。
【００４９】
ステップＳ３４において、メインスレッド２１は、アクセス処理用サブスレッド２２より供給された処理結果に所定の処理を施し、ディスプレイ１２に、例えば、GUI（Graphical User Interface）として表示させる。
【００５０】
以上の処理により、メインスレッド２１は、オブジェクト一覧を取得し、ディスプレイ１２に表示させる。さらに、メインスレッド２１は、アクセス処理用サブスレッド２２によるアクセス処理が終了するのを待ちながら、ユーザのキャンセル操作やタイムアウト時間の監視をすることが可能となる。
【００５１】
すなわち、アクセス処理を実行する度にサブスレッドが生成されることにより、メインスレッド２１は、キャンセルやタイムアウトに対して、常に対応できるだけではなく、万一サーバ３やネットワーク２の不調によりアクセス処理が実行不能となった場合の対策として、メインスレッド２１がアクセス処理用サブスレッド２２を見捨てることが可能となる（アクセス処理用サブスレッド２２の処理が終了するまでの間に、アクセス処理用サブスレッド２２を削除してしまうことも可能となる）。
【００５２】
また、サーバ３やネットワーク２の不調はどんなタイミングでも発生する可能性があるので、サーバ３の存在確認処理（ステップＳ３１，Ｓ６１，Ｓ３２の処理）がなされたとしても、完全に防ぐことはできないが、アクセス処理用サブスレッド２２を生成するに当たり、サーバ３の存在が確認されていれば、エラーの発生する確率が低い条件でアクセス処理を実行させることが可能となり、エラーの発生を低減させられる分だけ応答待ちなどにより生じる不要な待ち時間を小さくすることができる。
【００５３】
しかしながら、図４のテレビジョン受像機１の構成では、図５のフローチャートを参照して説明したようにサーバ３に対して存在確認処理やアクセス処理用サブスレッド２２を生成する処理が、サーバ３に所定の処理を実行させるためのアクセス処理を実行する度にその都度行われることになる。そのため、図５のアクセス処理は、図３のアクセス処理と比較した場合、処理時間が長くなる分の待ち時間が長くなってしまう恐れがある。
【００５４】
すなわち、例えばディレクトリ内にファイルが50個存在し、図５のフローチャートを参照して説明したアクセス処理が、図３のフローチャートを参照して説明したアクセス処理と比べて30ミリ秒余計にかかるものとすると、図５のフローチャートを参照して説明したアクセス処理全体における処理時間は、図３のフローチャートを参照して説明したアクセス処理に比べて、約3秒（＝(1+50+1+50)×0.03＝3.06[秒]）余計な待ち時間が発生することになる。
【００５５】
結果として、コンテンツデータのオブジェクト一覧を閲覧する際に、新たなディレクトリ内の全てのオブジェクトを表示させる度に、秒単位で余計な遅延が発生することになるので、ユーザには大きなストレスとなってしまう恐れがあった。
【００５６】
本発明はこのような状況に鑑みてなされたものであり、特に、家電機器などにおいて、ネットワークを介して接続される遠隔地のサーバに格納されているディレクトリやファイルを示すオブジェクト一覧の表示に係る遅延を抑制できるようにするものである。
【課題を解決するための手段】
【００５７】
本発明の情報処理装置は、ネットワークを介して接続されている他の情報処理装置に格納されたディレクトリ構造を含む複数のファイルの情報に関して、ディレクトリ、または、ファイルを特定するオブジェクトを指定する指定手段と、指定手段により指定された指定オブジェクトがディレクトリの場合、その下位層に含まれる下位オブジェクトの固有情報を取得させる指示を生成する指示生成手段と、指示生成手段により生成された指示を格納する指示格納手段と、指示格納手段に格納されている指示を順次読み出して、下位オブジェクトの固有情報を他の情報処理装置より取得する取得手段と、取得手段により取得された下位オブジェクトの固有情報を格納する取得情報格納手段と、他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成する表示情報生成手段とを備え、指定オブジェクトがディレクトリである場合、下位オブジェクトの固有情報が、取得手段により予め取得されて、取得情報格納手段に格納されているとき、表示情報生成手段は、取得情報格納手段に格納されている下位オブジェクトの固有情報を含む、他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成することを特徴とする。
【００５８】
前記固有情報には、オブジェクトのオブジェクト名、および、属性情報を含ませるようにすることができる。
【００５９】
前記属性情報には、少なくともオブジェクトがディレクトリであるか、または、ファイルであるかを示す情報を含ませるようにすることができる。
【００６０】
前記オブジェクトがファイルである場合、属性情報には、ファイルサイズ、ファイルの種類、または更新日時を示す情報をさらに含ませるようにすることができる。
【００６１】
前記ファイルは、音声データ、動画像データ、または、静止画データからなるファイルとするようにすることができる。
【００６２】
前記指定オブジェクトがディレクトリの場合、指示生成手段には、指定オブジェクトの一下位層のオブジェクトに含まれるオブジェクトの固有情報を取得する指示を生成させるようにすることができる。
【００６３】
本発明の情報処理方法は、ネットワークを介して接続されている他の情報処理装置に格納されたディレクトリ構造を含む複数のファイルの情報に関して、ディレクトリ、または、ファイルを特定するオブジェクトを指定する指定ステップと、指定ステップの処理で指定された指定オブジェクトがディレクトリの場合、その下位層に含まれる下位オブジェクトの固有情報を取得させる指示を生成する指示生成ステップと、指示生成ステップの処理で生成された指示を格納する指示格納ステップと、指示格納ステップの処理により格納されている指示を順次読み出して、下位オブジェクトの固有情報を他の情報処理装置より取得する取得ステップと、取得ステップの処理により取得された下位オブジェクトの固有情報を格納する取得情報格納ステップと、他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成する表示情報生成ステップとを含み、指定オブジェクトがディレクトリである場合、下位オブジェクトの固有情報が、取得ステップの処理により予め取得されて、取得情報格納ステップの処理により格納されているとき、表示情報生成ステップの処理は、取得情報格納ステップの処理により格納されている下位オブジェクトの固有情報を含む、他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成することを特徴とする。
【００６４】
本発明の記録媒体のプログラムは、ネットワークを介して接続されている他の情報処理装置に格納されたディレクトリ構造を含む複数のファイルの情報に関して、ディレクトリ、または、ファイルを特定するオブジェクトの指定を制御する指定制御ステップと、指定制御ステップの処理で指定された指定オブジェクトがディレクトリの場合、その下位層に含まれる下位オブジェクトの固有情報を取得させる指示の生成を制御する指示生成制御ステップと、指示生成制御ステップの処理で生成された指示の格納を制御する指示格納制御ステップと、指示格納制御ステップの処理により格納されている指示を順次読み出して、下位オブジェクトの固有情報の他の情報処理装置からの取得を制御する取得制御ステップと、取得制御ステップの処理により取得された下位オブジェクトの固有情報の格納を制御する取得情報格納制御ステップと、他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報の生成を制御する表示情報生成制御ステップとを含み、指定オブジェクトがディレクトリである場合、下位オブジェクトの固有情報が、取得制御ステップの処理により予め取得されて、取得情報格納制御ステップの処理により格納されているとき、表示情報生成制御ステップの処理は、取得情報格納制御ステップの処理により格納されている下位オブジェクトの固有情報を含む、他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成することを特徴とする。
【００６５】
本発明のプログラムは、ネットワークを介して接続されている他の情報処理装置に格納されたディレクトリ構造を含む複数のファイルの情報に関して、ディレクトリ、または、ファイルを特定するオブジェクトの指定を制御する指定制御ステップと、指定制御ステップの処理で指定された指定オブジェクトがディレクトリの場合、その下位層に含まれる下位オブジェクトの固有情報を取得させる指示の生成を制御する指示生成制御ステップと、指示生成制御ステップの処理で生成された指示の格納を制御する指示格納制御ステップと、指示格納制御ステップの処理により格納されている指示を順次読み出して、下位オブジェクトの固有情報の他の情報処理装置からの取得を制御する取得制御ステップと、取得制御ステップの処理により取得された下位オブジェクトの固有情報の格納を制御する取得情報格納制御ステップと、他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報の生成を制御する表示情報生成制御ステップとをコンピュータに実行させ、指定オブジェクトがディレクトリである場合、下位オブジェクトの固有情報が、取得制御ステップの処理により予め取得されて、取得情報格納制御ステップの処理により格納されているとき、表示情報生成制御ステップの処理は、取得情報格納制御ステップの処理により格納されている下位オブジェクトの固有情報を含む、他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成することを特徴とする。
【００６６】
本発明の情報処理装置および方法、並びにプログラムにおいては、ネットワークを介して接続されている他の情報処理装置に格納されたディレクトリ構造を含む複数のファイルの情報に関して、ディレクトリ、または、ファイルを特定するオブジェクトが指定され、指定された指定オブジェクトがディレクトリの場合、その下位層に含まれる下位オブジェクトの固有情報を取得させる指示が生成され、生成された指示が格納され、格納されている指示が順次読み出されて、下位オブジェクトの固有情報が他の情報処理装置より取得され、取得された下位オブジェクトの固有情報が格納され、他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報が生成され、指定オブジェクトがディレクトリである場合、下位オブジェクトの固有情報が、予め取得されて、格納されているとき、格納されている下位オブジェクトの固有情報を含む、他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報が生成される。
【００６７】
本発明の情報処理装置は、独立した装置であっても良いし、情報処理を行うブロックであっても良い。
【発明の効果】
【００６８】
本発明によれば、家電機器などにおいて、ネットワークを介して接続される遠隔地のサーバに格納されているディレクトリやファイルを示すオブジェクト一覧の表示に係る遅延を抑制することが可能となる。
【発明を実施するための最良の形態】
【００６９】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００７０】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００７１】
即ち、本発明の情報処理装置は、ネットワークを介して接続されている他の情報処理装置に格納されたディレクトリ構造を含む複数のファイルの情報に関して、ディレクトリ、または、ファイルを特定するオブジェクトを指定する指定手段（例えば、図７の操作部１０１）と、指定手段により指定された指定オブジェクトがディレクトリの場合、その下位層に含まれる下位オブジェクトの固有情報を取得させる指示を生成する指示生成手段（例えば、図７の先読指示情報生成部１１１）と、指示生成手段により生成された指示を格納する指示格納手段（例えば、図７の先読指示バッファ１２１）と、指示格納手段に格納されている指示を順次読み出して、下位オブジェクトの固有情報を他の情報処理装置より取得する取得手段（例えば、図７の先読処理用サブスレッド１０５）と、取得手段により取得された下位オブジェクトの固有情報を格納する取得情報格納手段（例えば、図７の処理結果バッファ１２２）と、他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成する表示情報生成手段（例えば、図７のメインスレッド１０３）とを備え、指定オブジェクトがディレクトリである場合、下位オブジェクトの固有情報が、取得手段により予め取得されて、取得情報格納手段に格納されているとき、表示情報生成手段は、取得情報格納手段に格納されている下位オブジェクトの固有情報を含む、他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成することを特徴とする。
【００７２】
本発明の情報処理方法は、ネットワークを介して接続されている他の情報処理装置に格納されたディレクトリ構造を含む複数のファイルの情報に関して、ディレクトリ、または、ファイルを特定するオブジェクトを指定する指定ステップ（例えば、図８のフローチャートのステップＳ１０３の処理）と、指定ステップの処理で指定された指定オブジェクトがディレクトリの場合、その下位層に含まれる下位オブジェクトの固有情報を取得させる指示を生成する指示生成ステップ（例えば、図１０のフローチャートのステップＳ１２６の処理、または、図１３のフローチャートのステップＳ２０４の処理）と、指示生成ステップの処理で生成された指示を格納する指示格納ステップ（例えば、図１０のフローチャートのステップＳ１２６の処理、または、図１３のフローチャートのステップＳ２０４の処理）と、指示格納ステップの処理により格納されている指示を順次読み出して、下位オブジェクトの固有情報を他の情報処理装置より取得する取得ステップ（例えば、図１５のフローチャートのステップＳ２２４の処理）と、取得ステップの処理により取得された下位オブジェクトの固有情報を格納する取得情報格納ステップ（例えば、図１５のフローチャートのステップＳ２２４の処理）と、他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成する表示情報生成ステップ（例えば、図８のフローチャートのステップＳ１０８の処理）とを含み、指定オブジェクトがディレクトリである場合、下位オブジェクトの固有情報が、取得ステップの処理により予め取得されて、取得情報格納ステップの処理により格納されているとき、表示情報生成ステップの処理は、取得情報格納ステップの処理により格納されている下位オブジェクトの固有情報を含む、他の情報処理装置に格納されているディレクトリ構造を含む複数のファイルの情報を表示する表示情報を生成することを特徴とする。
【００７３】
尚、記録媒体、および、プログラムについての対応関係については、情報処理方法に対応するので、省略する。
【００７４】
図６は、本発明を適用したテレビジョン受像機５１の一実施の形態の構成を示す図である。
【００７５】
CPU（Central Processing Unit）６１は、ROM（Read Only Memory）６２、または記憶部６８に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）６３には、CPU６１が実行するプログラムやデータなどが適宜記憶される。これらのCPU６１、ROM６２、およびRＡM６３は、バス６４により相互に接続されている。
【００７６】
CPU６１には、バス６４を介して入出力インタフェース６５が接続されている。入出力インタフェース６５には、キーボード、マウス、マイクロフォンなどよりなる入力部６６、ディスプレイ、スピーカなどよりなる出力部６７が接続されている。CPU６１は、入力部６６から入力される指令に対応して各種の処理を実行する。
【００７７】
入出力インタフェース６５に接続されている記憶部６８は、例えばハードディスクなどで構成され、CPU６１が実行するプログラムや各種のデータを記憶する。通信部６９は、ネットワーク１５１（図７）を介して通信機能を有する装置、例えば、サーバ１５２（図７）と各種のデータの授受を行う。
【００７８】
チューナ７０は、図示せぬ放送局から無線、または、有線により配信される番組情報を受信してCPU６１に出力する。このとき、CPU６１は、所定のプログラムを実行し、これらの番組情報をデコードして、このうちの動画像データや静止画データを出力部６７の、例えば、ディスプレイに供給し、表示させたり、音声データを、例えば、スピーカに供給し、音声として出力させる。また、CPU６１は、その他の所定のプログラムを実行することにより、ネットワーク１５１（図７）を介してサーバ１５２よりダウンロードされるコンテンツデータや記憶部６８に格納されているコンテンツデータを適宜デコードして、動画像データや静止画データを上述したように出力部６７の、例えば、ディスプレイに供給して表示させたり、音声データを、例えば、スピーカに供給して音声として出力させたりする。
【００７９】
入出力インタフェース６５に接続されているドライブ７１は、磁気ディスク８１、光ディスク８２、光磁気ディスク８３、或いは半導体メモリ８４などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部６８に転送され、記憶される。
【００８０】
次に、図７を参照して、図６のテレビジョン受像機５１により実現される機能について説明する。尚、操作部１０１、ディスプレイ１０２、OS１０４、ネットワーク１５１、サーバ１５２、および、アクセス処理用サブスレッド１０７は、図３における操作部１１、ディスプレイ１２、OS１４、ネットワーク２、サーバ３、および、アクセス処理用サブスレッド２２と同様のものであるので、その説明は、省略するものとする。
【００８１】
メインスレッド１０３は、基本的には、図４におけるメインスレッド２１と同様の機能を有しており、操作部１０１により指定されたオブジェクトがディレクトリである場合、OS１０４を制御して、そのオブジェクトに含まれているオブジェクト名の一覧を属性情報を含めてディスプレイ１０２に表示する。また、メインスレッド１０３は、指定したオブジェクトがファイルである場合、そのファイルに相当するコンテンツデータを再生し、ディスプレイ１０２に表示する。
【００８２】
より詳細には、メインスレッド１０３は、操作部１０１により指定されたオブジェクトがディレクトリである場合、そのオブジェクト（ディレクトリ）に含まれているオブジェクト名の一覧と属性情報が、先読バッファ１０６の処理結果バッファ１２２に予め先読処理用サブスレッド１０５により書き込まれていたとき、それを読み出して、ディスプレイ１０２に表示する。また、そのオブジェクト（ディレクトリ）に含まれているオブジェクト名の一覧と属性情報が、先読バッファ１０６の処理結果バッファ１２２に予め先読処理用サブスレッド１０５により書き込まれていないとき、アクセス処理用サブスレッド１０７を生成して、サーバ１５２からオブジェクト名の一覧と各属性情報を読み出させて、これをディスプレイ１０２に表示する。
【００８３】
さらに、メインスレッド１０３には、先読指示情報生成部１１１が設けられている。
【００８４】
先読指示情報生成部１１１は、操作部１０１により指定されたオブジェクトがディレクトリである場合、その一下位層に存在するオブジェクト名の一覧と、それぞれのオブジェクトの属性情報を順次取得する先読指示情報を生成し、先読指示バッファ１２１に書き込む。
【００８５】
OS１０４は、図４のOS１４と同様のものであるが、スレッド生成部１４ａに代えてスレッド生成部１０４ａを備えている。スレッド生成部１０４ａは、基本的に図４のスレッド生成部１４ａと同様の機能を有するものであるが、アクセス処理用サブスレッド１０７を生成するのみならず、さらに、先読処理用サブスレッド１０５を生成する。尚、図７においては、サブスレッドとしてアクセス処理用サブスレッド１０７と先読処理用サブスレッド１０５が、それぞれスレッド生成部１０４ａにより生成された状態における機能について説明しているが、これらは、スレッド生成部１０４ａにより処理を実行させるとき、生成されるものであり、その処理が終了すると消滅するものである。つまり、サブスレッドは、テレビジョン受像機５１の機能として、常に存在するわけではない。しかしながら、本明細書における説明においては、これらのサブスレッドが生成されて常に存在している状態を想定して説明するものとする。結果として、サブスレッドが生成される説明については、以降において省略するものとするが、生成されるタイミングは、図４を参照して説明したように、実行させようとする処理を開始させる直前であるものとする。尚、先読処理用サブスレッド１０５は、処理を継続的に繰り返すことになるので、一度生成されると基本的に消滅することはない。
【００８６】
先読処理用サブスレッド１０５は、生成されると、先ず、先読バッファ１０６を設定し、先読指示情報生成部１１１により生成された先読指示情報に基づいて、OS１０４およびネットワーク１５１を介して、サーバ１５２に対してアクセスし、先読処理を実行して、指定されたオブジェクト（ディレクトリ）に含まれるオブジェクト名の一覧とそれらの属性情報を読み出し、処理結果として先読バッファ１０６に記録する。より詳細には、先読処理用サブスレッド１０５は、RAM６３上の所定の領域に先読バッファ１０６として使用する領域を設定し、さらに、その中に先読指示バッファ１２１および処理結果バッファ１２２を設定する。先読処理用サブスレッド１０５は、先読指示バッファ１２１にアクセスし、先読指示情報生成部１１１により生成された、待ち行列として順次指示されている先読指示情報（所定のオブジェクト（ディレクトリ）に含まれるオブジェクト名の一覧とそれらの属性情報を読み出す指示の情報）を読み出し、実行する。また、先読処理用サブスレッド１０５は、先読指示情報に基づいて実行した処理結果を処理結果バッファ１２２に書き込む。ここで言う、先読処理とは、ユーザが次の操作で指定しそうなオブジェクトを選択し、操作により指定された場合に実行する処理を前もって行なう処理をいう。
【００８７】
次に、図８のフローチャートを参照して、メインスレッド１０３によるオブジェクト管理処理について説明する。
【００８８】
ステップＳ１０１において、メインスレッド１０３は、最初のオブジェクト一覧をディスプレイ１０２に表示する。すなわち、最初に表示する情報は、例えば、図２を参照して説明したプログラムの記述に基づいて、図３のフローチャートを参照して説明したアクセス処理を繰り返し実行することによりネットワーク１５１を介してサーバ１５２より読み出されたオブジェクトの一覧と、それらの属性情報を、例えば、図９で示されるようにディスプレイ１０２に表示する。
【００８９】
図９においては、オブジェクトの一覧が、ツリー情報表示欄２０１とオブジェクト情報表示欄２０２から構成された画面として表示されたものである。図９において、ツリー情報表示欄２０１には、上から「Diego」、「Dnf-nas」、「public」、「share」、「AllSample」、「jctype」、「metadata-tests」、「Alls」、および、「jpegs」が表示されている。また、それぞれの項目の左側には、「＋」と「−」とが表示されているものがあるが、「＋」は、ツリー情報表示欄２０１には表示されていないが、そのディレクトリに、さらにディレクトリが含まれていることを示している。また、「−」は、そのディレクトリに、さらに含まれているディレクトリがツリー情報表示欄２０１に表示されていることを示している。さらに、いずれも存在しない項目は、そのディレクトリに、さらなるディレクトリが含まれていないことを示している。
【００９０】
従って、図９においては、「Dns-nas」で示されるディレクトリの左側には「−」が表示され、その一下位層に「public」と「share」で示されるディレクトリが含まれており、さらに、今現在、ツリー情報表示欄２０１に表示されていることが示されている。
【００９１】
さらに、「share」で示されるディレクトリには、その一下位層に「AllSample」、「jctype」、および、「metadata-tests」で示されるディレクトリが含まれていることが示されている。また、「metadata-tests」で示されるディレクトリには、その一下位層に「Alls」、および、「jpegs」で示されるディレクトリが含まれていることが示されている。
【００９２】
そして、操作部１０１が操作されて指定されたオブジェクトについては、枠で囲まれた状態で表示される。図９においては、「jpegs」で示されるディレクトリが、枠で囲まれているので、今、操作部１０１が操作されて指定されていることが示されている。また、指定されたオブジェクト（ディレクトリ）に含まれているオブジェクトが、オブジェクト情報表示欄２０２に表示される。
【００９３】
さらに、オブジェクト情報表示欄２０２には、枠で囲まれた状態で表示される「jpegs」で示されるディレクトリに含まれているオブジェクトの固有情報である属性情報が示されており、左からオブジェクトの名前、サイズ、種類、および、更新日時といった情報が示されている。尚、オブジェクトの属性情報には、この他に、そのオブジェクトがファイルであるか、または、ディレクトリであるのかを識別する情報が含まれており、この属性情報に基づいて、ツリー構造表示欄２０１、および、オブジェクト情報表示欄２０２の各オブジェクト名の表示の左側に表示されるアイコンを切替えて表示している。このような表示により、ユーザは、表示されているオブジェクトが、ファイル、または、ディレクトリのいずれかを一目で識別することができる。
【００９４】
図９においては、名前の最上段に「AAA．jpg」と示され、サイズの最上段に「24KB」と示され、種類の最上段に「JPEGイメージ」と示され、さらに、「更新日時」の最上段に「1999/07/08 7:32」と表示されており、「jpegs」で示されるディレクトリに「AAA．jpg」というファイル名の、種類がJPEG（Joint Photographic Coding Experts Group）のファイルが存在し、そのサイズが24KBであって、更新日時が「1999/07/08 7:32」であることが示されている。
【００９５】
名前の上から２段目には「BBB．jpg」と示され、サイズの最上段に「73KB」と示され、種類の最上段に「JPEGイメージ」と示され、さらに、「更新日時」の最上段に「1999/08/05 13:04」と表示されており、「jpegs」で示されるディレクトリに「BBB．jpg」というファイル名の、種類がJPEGのファイルが存在し、そのサイズが73KBであって、更新日時が「1999/08/05 13:04」であることが示されている。
【００９６】
同様に、名前の上から３段目には「CCC．jpg」と示され、サイズの最上段に「28KB」と示され、種類の最上段に「JPEGイメージ」と示され、さらに、「更新日時」の最上段に「1999/11/23 18:32」と表示されており、「jpegs」で示されるディレクトリに「CCC．jpg」というファイル名の、種類がJPEGのファイルが存在し、そのサイズが28KBであって、更新日時が「1999/11/23 18:32」であることが示されている。
【００９７】
また、同様に、名前の上から４段目には「DDD．jpg」と示され、サイズの最上段に「44KB」と示され、種類の最上段に「JPEGイメージ」と示され、さらに、「更新日時」の最上段に「1999/08/20 22:19」と表示されており、「jpegs」で示されるディレクトリに「DDD．jpg」というファイル名の、種類がJPEGのファイルが存在し、そのサイズが44KBであって、更新日時が「1999/08/20 22:19」であることが示されている。
【００９８】
さらに、同様に、名前の上から５段目には「EEE．jpg」と示され、サイズの最上段に「12KB」と示され、種類の最上段に「JPEGイメージ」と示され、さらに、「更新日時」の最上段に「1999/11/23 19:01」と表示されており、「jpegs」で示されるディレクトリに「EEE．jpg」というファイル名の、種類がJPEGのファイルが存在し、そのサイズが12KBであって、更新日時が「1999/11/23 19:01」であることが示されている。
【００９９】
ここで、図８の説明に戻る。
【０１００】
ステップＳ１０２において、スレッド生成部１０４ａは、先読用サブスレッド１０５を生成する。この処理により生成された先読用サブスレッド１０５は、同時に先読バッファ１０６をRAM６３の所定の領域に確保し、さらに、先読バッファ１０６の中に先読指示バッファ１２１と処理結果バッファ１２２の領域を確保することにより、先読バッファ１０６を生成する。
【０１０１】
ステップＳ１０３において、メインスレッド１０３は、操作部１０１が操作されて、いずれかのオブジェクトが選択されたか否かを判定し、オブジェクトが選択されたと判定されるまで、その処理を繰り返す。
【０１０２】
ステップＳ１０３において、例えば、図９で示されるように、「jpegs」で示されたディレクトリからなるオブジェクトが選択された場合、その処理は、ステップＳ１０４に進む。
【０１０３】
ステップＳ１０４において、メインスレッド１０３は、選択されたオブジェクトがファイルであるか否かを判定する。図９の場合、選択されているのは、「jpegs」で示されたディレクトリからなるオブジェクトであるので、ファイルではないと判定され、その処理は、ステップＳ１０５に進む。
【０１０４】
ステップＳ１０５において、メインスレッド１０３は、オブジェクト名一覧取得処理を実行する。
【０１０５】
ここで、図１０を参照して、メインスレッド１０３によるオブジェクト名一覧取得処理について説明する。
【０１０６】
ステップＳ１２１において、メインスレッド１０３は、先読バッファ１０６の処理結果バッファ１２２にアクセスし、先読処理用サブスレッド１０５により予め選択されたオブジェクト（ディレクトリ）に属する全てのオブジェクト名一覧が取得されて、記録されているか否かを判定する。
【０１０７】
例えば、最初の処理である場合、先読処理用サブスレッド１０５は、まだ、先読処理を実行していないので、処理結果バッファ１２２には、選択されたオブジェクト（ディレクトリ）に属する全てのオブジェクト名一覧が取得されていないことになるので、その処理は、ステップＳ１２２に進む。
【０１０８】
ステップＳ１２２において、メインスレッド１０３は、アクセス処理を実行し、サーバ１５２に対してOPENDIR（）を実行させる。OPENDIR（）は、サーバ１５２に対して指定されたディレクトリを開くことを要求するプログラムである。
【０１０９】
ここで、図１１，図１２のフローチャートを参照して、アクセス処理について説明する。
【０１１０】
ステップＳ１４１において、メインスレッド１０３は、サーバ１５２が通信可能な状態で存在するか否かを確認する処理を実行する。より具体的には、メインスレッド１０３は、図４のステップＳ３１の処理と同様の処理により、サーバ１５２に応答を要求する信号を送信する。
【０１１１】
ステップＳ１８１（図１２）において、サーバ１５２は、自らの存在を確認する応答が要求されたか否かを判定し、要求されていないと判定された場合、その処理は、ステップＳ１８３に進む。また、ステップＳ１８１において、例えば、ステップＳ１４１の処理により、応答が要求された場合、その処理は、ステップＳ１８２に進む。
【０１１２】
ステップＳ１８２において、サーバ１５２は、自らの存在を確認する応答を示す信号を生成し、ネットワーク１５１を介してテレビジョン受像機５１に対して送信する。
【０１１３】
ステップＳ１４２（図１１）において、メインスレッド１０３は、サーバ３が通信可能な状態で存在するか否かを判定する。例えば、ネットワーク１５１の通信状態が悪くサーバ１５２の存在が確認できなかった場合、その処理は終了する。すなわち、通信不能であるのでサーバ１５２に対して、アクセス処理をすることができないとみなす。また、例えば、図１２のステップＳ１８２の処理によりサーバ１５２の存在を確認する応答を示し信号が送信されてきた場合、サーバが存在すると判定され、その処理は、ステップＳ１４３に進む。
【０１１４】
ステップＳ１４３において、メインスレッド１０３のスレッド生成部１０４ａは、アクセス処理用サブスレッド１０７を生成する。
【０１１５】
ステップＳ１４４において、メインスレッド１０３は、操作部１０１が操作されて、新たなオブジェクトが選択されたり、強制的に処理をキャンセルさせるような処理がなされたか否かを判定し、キャンセルされていないと判定した場合、その処理は、ステップＳ１４５に進む。
【０１１６】
ステップＳ１４５において、メインスレッド１０３は、アクセス処理用サブスレッド１０７によるアクセス処理が終了したか否かを判定し、終了していないと判定した場合、ステップＳ１４６において、処理のタイムアウトであるか否かを判定する。ステップＳ１４６において、タイムアウトではないと判定された場合、その処理は、ステップＳ１４４に戻る。すなわち、キャンセルがなく、タイムアウトでもない状態の場合、サブスレッドの処理が終了するまで、ステップＳ１４４乃至Ｓ１４６の処理が繰り返されることになる。
【０１１７】
ステップＳ１４４において、キャンセルが指示されたと判定された場合、または、ステップＳ１４６において、タイムアウトであると判定された場合、ステップＳ１４７において、メインスレッド１０３は、アクセス処理用サブスレッド１０７に対して処理を中止させる。
【０１１８】
一方、ステップＳ１４５において、アクセス処理用サブスレッド１０７による処理が終了したと判定された場合、ステップＳ１４８において、メインスレッド１０３は、アクセス処理用サブスレッド１０７の処理結果を取得する。ここでは、OPENDIR（）のアクセス処理が実行されることになるので、指定されたディレクトリが開かれたことを示す情報が処理結果として取得されることになる。
【０１１９】
また、ステップＳ１４３の処理により生成されたアクセス処理用サブスレッド１０７は、ステップＳ１６１（図１２）において、サーバ１５２に対して所定の処理をサーバ１５２に対して実行させるように要求するアクセス処理を実行する。ここでは、アクセス処理用サブスレッド１０７は、OS１０４にサーバ１５２に対してOPENDIR（）の処理を要求する。OS１０４は、この要求に応じて、ネットワーク１５１を介してサーバ１５２にOPENDIR()の処理を要求する。
【０１２０】
ステップＳ１８３において、サーバ３は、処理の要求が送信されてきたか否かを判定し、処理の要求が送信されてくるまで、その処理を繰り返す。例えば、ステップＳ１６１の処理により、処理が要求された場合、その処理は、ステップＳ１８４に進む。
【０１２１】
ステップＳ１８４において、サーバ３は、要求されている処理を実行する。例えば、ここでは、OPENDIR（）の処理が要求されているので、サーバ３は、処理が要求されているOPENDIR（）の処理を実行する。
【０１２２】
ステップＳ１８５において、サーバ３は、処理が終了したか否かを判定し、例えば、処理が終了していない場合、ステップＳ１８７において、エラーが発生したか否かを判定する。そして、ステップＳ１８７において、エラーが発生していないと判定された場合、その処理は、ステップＳ１８５に戻る。すなわち、サーバ３が、要求された処理が終了するまで、エラーが発生しない限り、ステップＳ１８５，Ｓ１８７の処理が繰り返される。
【０１２３】
ステップＳ１８５において、処理が終了したと判定された場合、ステップＳ１８６において、サーバ３は、要求されている処理に対する処理結果をテレビジョン受像機５１のアクセス処理用サブスレッド１０７に送信する。
【０１２４】
一方、ステップＳ１８７において、エラーが発生したと判定された場合、ステップＳ１８８の処理により、サーバ１５２は、エラーが発生したことを示す処理結果をアクセス処理用サブスレッド１０７に送信する。
【０１２５】
ステップＳ１６２において、アクセス処理用サブスレッド１０７は、サーバ１５２からネットワーク１５１およびOS１０４を介して処理結果が送信されてきたか否かを判定し、送信されてきていない場合、その処理は、終了する。
【０１２６】
ステップＳ１６２において、例えば、ステップＳ１８６の処理、または、ステップＳ１８８の処理により、サーバ１５２より処理結果が送信されてきた場合、その処理は、ステップＳ１６３に進む。
【０１２７】
ステップＳ１６３において、アクセス処理用サブスレッド１０７は、サーバ１５２より送信されてきた処理結果を取得し、ステップＳ１６４において、メインスレッド１０３に供給する。結果として、ステップＳ１４８（図１１）においては、アクセス処理用サブスレッド１０７の処理結果が取得される。ここでは、OPENDIR（）が実行されることになるので、指定されたオブジェクトに対応するディレクトリが開かれたことを示す情報が処理結果として取得されることになる。
【０１２８】
ここで、図１０のフローチャートの説明に戻る。
【０１２９】
ステップＳ１２２の処理により、サーバ１５２の所定のオブジェクトにより指定されるディレクトリが開いた状態になると、ステップＳ１２３において、メインスレッド１０３は、アクセス処理を実行し、サーバ１５２に対してREADDIR（）を実行させ、１個のオブジェクト（ディレクトリ、または、ファイル）のオブジェクト名を取得する。READDIR（）は、サーバ１５２に対して指定されたディレクトリに含まれている１個のオブジェクトのオブジェクト名を読み出すことを要求するプログラムである。尚、アクセス処理については、図１１，図１２を参照して説明した処理であるので省略するものとし、以降においても同様に省略するものとする。
【０１３０】
ステップＳ１２４において、メインスレッド１０３は、全てのオブジェクトについてオブジェクト名を取得することができたか否かを判定し、全て取得できていないと判定された場合、その処理は、ステップＳ１２３に戻る。すなわち、サーバ１５２に記憶されているオブジェクトのうち、ステップＳ１０３において、選択されたオブジェクトがディレクトリである場合、そのディレクトリであるオブジェクトの一下位層の全てのオブジェクトについて、メインスレッド１０３が、サーバ１５２からオブジェクト名を取得するまで、ステップＳ１２３，Ｓ１２４の処理が繰り返されることになる。
【０１３１】
ステップＳ１２４において、全てのオブジェクト名が取得されたと判定された場合、その処理は、ステップＳ１２５に進む。
【０１３２】
ステップＳ１２５において、メインスレッド１０３は、アクセス処理を実行し、サーバ１５２に対してCLOSEDIR（）を実行させる。CLOSEDIR（）は、サーバ１５２に対して、OPENDIR（）により開かれたディレクトリを閉じることを要求するプログラムである。
【０１３３】
ステップＳ１２６において、メインスレッド１０３の先読指示情報生成部１１１は、サーバ１５２より取得したオブジェクト名の一覧に対応するオブジェクトの属性情報を先読処理するように指示する指示情報を生成し、先読バッファ１０６の先読指示バッファ１２１に待ち行列として順次記録する。尚、先読指示情報生成部１１１より生成される先読指示情報については、詳細を後述する。
【０１３４】
ステップＳ１２１において、先読処理結果が、先読バッファ１０６の処理結果バッファ１２２に記録されていた場合、ステップＳ１２７において、メインスレッド１０３は、先読バッファ１０６の処理結果バッファ１２２にアクセスし、そこに記録されている先読処理結果である、指定されたオブジェクトに含まれているオブジェクト名の一覧情報を取得し、その処理は、ステップＳ１２６に進む。
【０１３５】
以上の処理により、指定されたオブジェクトがディレクトリである場合、そのオブジェクトの一下位層に含まれるオブジェクト名の一覧が取得されることになる。
【０１３６】
ここで、図８のフローチャートの説明に戻る。
【０１３７】
ステップＳ１０５の処理により、指定されたオブジェクトの一下位層の全てのオブジェクト名が取得されると、ステップＳ１０６において、メインスレッド１０３は、オブジェクト属性情報取得処理を実行する。
【０１３８】
ここで、図１３のフローチャートを参照して、メインスレッド１０３によるオブジェクト属性情報取得処理について説明する。
【０１３９】
ステップＳ２０１において、メインスレッド１０３は、先読バッファ１０６の処理結果バッファ１２２にアクセスし、先読処理用サブスレッド１０５により予め選択されたオブジェクトに属するオブジェクト（選択されたディレクトリの一下位層に含まれるオブジェクト）の属性情報が取得されて、記録されているか否かを判定する。
【０１４０】
ステップＳ２０１において、例えば、先読処理用サブスレッド１０５が、まだ、先読処理を実行していない場合、処理結果バッファ１２２には、選択されたオブジェクト（ディレクトリ）に属するオブジェクトの属性情報が取得されていないことになるので、その処理は、ステップＳ２０２に進む。
【０１４１】
ステップＳ２０２において、メインスレッド１０３は、アクセス処理を実行し、サーバ１５２に対してSTAT（）を要求する。STAT（）は、サーバ１５２に対して指定されたオブジェクト名の属性情報を読み出すことを要求するプログラムである。この処理により、今現在指定されているオブジェクト（ディレクトリ）の一下位層のオブジェクトのうちの１つのオブジェクトの属性情報が取得される。
【０１４２】
ステップＳ２０３において、メインスレッド１０３は、取得した属性情報に含まれるオブジェクトがディレクトリであるか、または、ファイルであるかを示す情報に基づいて、今属性情報を取得したオブジェクトがディレクトリであるか否かを判定し、例えば、ディレクトリであると判定した場合、その処理は、ステップＳ２０４に進む。
【０１４３】
ステップＳ２０４において、メインスレッド１０３の先読指示情報生成部１１１は、今、属性情報を取得したオブジェクトの一下位層のオブジェクト名の一覧情報を取得するように指示する先読指示情報を生成し、先読バッファ１０６の先読指示バッファ１２１に待ち行列として記録する。
【０１４４】
一方、ステップＳ２０１において、処理結果バッファ１２２に予め先読処理用サブスレッド１０５により実行された先読処理により、指定されたオブジェクトの一下位層のオブジェクトの属性情報が記録されていた場合、ステップＳ２０５において、メインスレッド１０３は、それを読み出す。
【０１４５】
ここで、図８のフローチャートの説明に戻る。
【０１４６】
ステップＳ１０７において、メインスレッド１０３は、指定されたオブジェクトの一下位層の全てのオブジェクトの属性情報を取得したか否かを判定し、例えば、全てのオブジェクトについて属性情報を取得していない場合、その処理は、ステップＳ１０６に戻る。すなわち、指定されたオブジェクトの一下位層の全てのオブジェクトの属性情報が取得されるまで、ステップＳ１０６，Ｓ１０７の処理が繰り返される。
【０１４７】
ステップＳ１０７において、全てのオブジェクトの属性情報が取得されたと判定された場合、ステップＳ１０８において、メインスレッド１０３は、ステップＳ１０５，Ｓ１０６の処理により取得された、指定されたオブジェクトの一下位層のオブジェクト名の一覧の情報と、その属性情報に基づいて、例えば、図９で示されるようなオブジェクトの一覧を表示する画面を生成し、ディスプレイ１０２に表示させる。
【０１４８】
一方、ステップＳ１０４において、選択されたオブジェクトがファイルであった場合、ステップＳ１０９において、メインスレッド１０３は、選択されたオブジェクトであるファイルを実行させる。
【０１４９】
以上のような処理により、オブジェクトの一覧が表示され、さらに、いずれかのオブジェクトが選択されると、そのオブジェクトがディレクトリである場合、ツリー情報表示欄２０１におけるツリー情報のうち、選択されたオブジェクトの一下位層のオブジェクトの一覧のうちディレクトリであるものがさらに表示され、また、選択されたオブジェクトの一下位層に存在する全てのオブジェクトのオブジェクト名とその属性情報が、オブジェクト情報表示欄２０２に表示されることになる。
【０１５０】
ここで、上述した図１０のフローチャートにけるステップＳ１２６、および、図１３のステップＳ２０４における先読指示情報生成部１１１による先読指示情報について説明する。
【０１５１】
先読指示バッファ１２１は、図１４の上段で示されるような構造となっており、先読指示情報生成部１１１が、生成した先読指示情報を図中の右端部から順に左のコラムに向って書き込んでいく。そして、先読処理用サブスレッド１０５が、先読指示バッファ１２１の右端部に書き込まれた先読指示情報を常に実行する。このとき、右端部の先読指示情報が実行されると、先読指示バッファ１２１の右端部のコラムはブランクとなるが、この場合、残りの領域に記録されている先読指示情報が順次、図中の右隣のコラムにスライドする。結果として、先読指示バッファ１２１に書き込まれている先読指示情報が全て実行されるまで、先読サブスレッド１０５は、先読指示バッファ１２１に記録された先読指示情報を読み出して実行することになる。
【０１５２】
また、先読指示情報生成部１１１は、図１４の中段に示されるように、先読指示バッファ１２１に先読指示情報２１１を記録する。先読指示情報２１１には、指示の種類２２１とパラメータ２２２が記録される。すなわち、指示の種類２２１は、図１０のステップＳ１２６の処理の場合、オブジェクト名の一覧を取得する指示が記録され、図１３のステップＳ２０４の処理の場合、オブジェクトの属性情報を取得する指示が記録される。
【０１５３】
さらに、パラメータ２２２は、指示の種類２２１が、ディレクトリ内のオブジェクト一覧の取得である場合、図１４の左下段で示されるパラメータ２２２Aで示されるように、アクセス先サーバのURL（Uniform Resource Locator）２４１、および、ディレクトリへのパス２４２が記述される。例えば、図７の場合、アクセス先サーバのURL２４１としては、サーバ１５２のURLの情報が記録される。また、ディレクトリへのパス２４２は、例えば、図８のフローチャートにおけるステップＳ１０３の処理で、選択されたオブジェクト（ディレクトリ）のパスが記述される。
【０１５４】
一方、指示の種類２２１が、オブジェクトの属性情報の取得である場合、図１４の右下段で示されるパラメータ２２２Ｂで示されるように、アクセス先サーバのURL２５１、親ディレクトリへのパス２５２、および、オブジェクト名２５３−１乃至２５３−３が記述される。アクセス先サーバのURL２５１は、例えば、図７の場合、サーバ１５２のURLの情報が記録される。親ディレクトリへのパス２４２は、例えば、図８のフローチャートにおけるステップＳ１０３の処理で、選択されたオブジェクト（ディレクトリ）のパスが記述される。さらに、オブジェクト名２５３−１乃至２５３−３は、親ディレクトリへのパスの下位層に記録され、例えば、図８のステップＳ１０５の処理で取得されたオブジェクト名の一覧の情報などである。
【０１５５】
次に、図１５のフローチャートを参照して、先読処理用サブスレッド１０５による先読処理について説明する。尚、図１５のフローチャートのステップＳ２２３の処理は、図１３のフローチャートにおけるステップＳ２０２の処理と、また、ステップＳ２２５乃至Ｓ２２８の処理は、図１０のステップＳ１２２乃至Ｓ１２５の処理と基本的に同様であるが、先読処理用サブスレッド１０５とサーバ１５２間のアクセス処理が若干異なるものである。
【０１５６】
すなわち、ステップＳ２２１において、先読処理用サブスレッド１０５は、先読指示バッファ１２１にアクセスし、先読指示情報が記録されているか否かを判定し、先読指示情報が記録されるまで、その処理を繰り返す。例えば、図１０のステップＳ１２６の処理、または、図１３のステップＳ２０４の処理により、先読指示バッファ１２１に先読指示情報が記録されている場合、その処理は、ステップＳ２２２に進む。
【０１５７】
ステップＳ２２２において、先読処理用サブスレッド１０５は、先読指示情報２１１の指示の種類２２１を読み出し、オブジェクト名の一覧を取得する指示であるか否かを判定する。ステップＳ２２２において、例えば、先読指示情報が、オブジェクト名の一覧を取得する先読指示情報であると判定された場合、ステップＳ２２５において、先読処理用サブスレッド１０５は、OPENDIR（）のアクセス処理を実行することにより、例えば、パラメータ２２２が図１４の左下段で示されるような状態のとき、サーバ１５２のディレクトリへのパス２４２の情報に指定されるオブジェクト（ディレクトリ）を開く。尚、この処理におけるアクセス処理は、図１８を参照して後述する。
【０１５８】
さらに、ステップＳ２２６において、先読処理用サブスレッド１０５は、READDIR（）のアクセス処理を実行することにより、例えば、パラメータ２２２が図１４の左下段で示されるような状態のとき、サーバ１５２のディレクトリへのパス２４２の情報に指定されるオブジェクト（ディレクトリ）の一下位層に存在するオブジェクトのオブジェクト名を取得する。
【０１５９】
ステップＳ２２７において、先読処理用サブスレッド１０５は、指定されているディレクトリ内の全てのオブジェクト名を取得したか否かを判定し、全てのオブジェクト名が取得されていない場合、その処理は、ステップＳ２２６に戻る。すなわち、指定されているディレクトリ内の全てのオブジェクト名が取得されるまで、ステップＳ２２６，Ｓ２２７の処理が繰り返される。そして、指定されているディレクトリ内の全てのオブジェクト名が取得されたと判定された場合、ステップＳ２２８において、先読処理用サブスレッド１０５は、CLOSEDIR（）のアクセス処理を実行することにより、OPENDIR（）のアクセス処理を実行することにより開いたサーバ１５２のディレクトリを閉じるようにサーバ１５２に対して要求する。
【０１６０】
ステップＳ２２４において、先読処理用サブスレッド１０５は、先読処理によりサーバ１５２より取得した処理結果２６１として、例えば、図１６で示されるように、処理結果バッファ１２２に記録し、その処理は、ステップＳ２２１に戻る。すなわち、先読処理用サブスレッド１０５は、図１４の左下段で示されている先読指示情報２２２を読み出して、アクセス先サーバのURL２４１をそのまま、図１６で示される処理結果２６１のアクセス先サーバのURL２７１として、さらに、ディレクトリへのパス２４２をディレクトリへのパス２７２とし、その一下位層に順次取得したオブジェクト名２７３−１乃至２７３−３を記録する。
【０１６１】
尚、図１４の右下部で示されている先読指示情報２２２Ｂは、図１６の処理結果とほぼ同様の構成であるので、先読指示情報生成部１１１は、これを用いて、生成するようにしても良い。
【０１６２】
一方、ステップＳ２２２において、例えば、オブジェクト名の一覧を取得する指示ではない場合、すなわち、オブジェクトの属性情報を取得する指示であった場合、その処理は、ステップＳ２２３に進む。
【０１６３】
ステップＳ２２３において、先読処理用サブスレッド１０５は、STAT（）のアクセス処理を実行することにより、例えば、パラメータ２２２が図１４の右下段で示されるような状態のとき、オブジェクト名２５３−１乃至３５３−３のオブジェクト名に対応するオブジェクトの属性情報をサーバ１５２より取得する。
【０１６４】
このとき、ステップＳ２２４において、先読処理用サブスレッド１０５は、先読処理によりサーバ１５２より取得した処理結果２６１として、例えば、図１７で示されるように、処理結果バッファ１２２に記録し、その処理は、ステップＳ２２１に戻る。すなわち、先読処理用サブスレッド１０５は、図１４の右下段で示されている先読指示情報２２２Ｂを読み出して、アクセス先サーバのURL２５１をそのまま、図１７で示される処理結果２６１のアクセス先サーバのURL２８１として、さらに、親ディレクトリへのパス２５２を親ディレクトリへのパス２８２とし、さらに、その一下位層にオブジェクト名２５３−１乃至２５３−３を利用して、順次取得したオブジェクト名２９１−１乃至２９１−３毎にそれぞれ属性情報２９２−１乃至２９２−３を合わせた固有情報２８３−１乃至２８３−３を記述する。
【０１６５】
以上の処理により、メインスレッド１０３による先読バッファ１０６の処理結果バッファ１２２には、先読処理用サブスレッド１０５による先読処理により、ディレクトリとしてのオブジェクトが指定されたとき、指定されたディレクトリの一下位層のオブジェクト名の一覧が取得され、取得されたオブジェクト名毎に属性情報が取得されて記録されることになる。すなわち、図８を参照して説明したメインスレッド１０３によるオブジェクト管理処理におけるオブジェクト名一覧取得処理やオブジェクト属性情報取得処理とは、別のタイミングでオブジェクト名の一覧が取得され、属性情報が取得されることになる。
【０１６６】
通常、ユーザがオブジェクト一覧を表示しながら所望とするファイルやディレクトリからなるオブジェクトを探す場合、上位の階層から下位の階層に向ってディレクトリを順次開きながら探していくが、上述したように、一旦開いたオブジェクト（ディレクトリ）については、その一下位層のオブジェクト名の一覧とその属性情報が取得されるように、先読指示情報が生成されて先読指示バッファ１２１に記録され（例えば、図１０のステップＳ１２６の処理、および、図１３のステップＳ２０４の処理）、先読処理用サブスレッド１０５が、これを順次読み出して、実行することになる。
【０１６７】
結果として、通常、ユーザがオブジェクトを指示してからサーバ１５２にアクセスして取得すべき情報が、ユーザがオブジェクトを指示する前の状態で先読されたかのうように取得されることになるので、実際にオブジェクトがユーザにより指示された場合、メインスレッド１０３は、先読処理による処理結果を処理結果バッファ１２２より読み出してディスプレイ１０２に表示するだけの処理となるので、オブジェクトが指定されてから対応するオブジェクト情報の一覧の表示にかかる処理を高速で実現させることが可能となり、サーバ１５２とのアクセス処理により発生する遅延を抑制したかのうように動作させることが可能となる。しかも、アクセス処理用サブスレッド１０７と先読処理用サブスレッド１０５を使用することにより、メインスレッド１０５は、上位の処理のみに注力することができるので、処理のキャンセルやネットワーク１５１の通信状態による遅延が発生しても、その他の処理を実行させることができるので、家電機器などにも十分に対応することが可能となる。
【０１６８】
次に、図１８のフローチャートを参照して、図１５のフローチャートにおけるアクセス処理について説明する。
【０１６９】
尚、図１８のステップＳ２４１乃至Ｓ２４３の処理、および、ステップＳ２６１乃至Ｓ２６６の処理は、図１２のステップＳ１６１乃至Ｓ１６３の処理、および、ステップＳ１８３乃至Ｓ１８８の処理と同様である。
【０１７０】
すなわち、図１８におけるアクセス処理は、図１２におけるステップＳ１８１，Ｓ１８２の処理であるサーバ１５２の存在を確認する処理が省略されている以外は、図１２を参照して説明したアクセス処理と同様である。
【０１７１】
すなわち、先読処理においては、分単位の時間を要するようなことがあっても、メインスレッドにより実行される図１０のフローチャートを参照して説明したステップＳ１２２乃至Ｓ１２５の処理、および、図１３のフローチャートを参照して説明したステップＳ２０２における処理により信頼性が確保されているため、信頼性を高める必要がないので、アクセス処理毎にサーバ１５２の存在を確認する処理やアクセス処理用のサブスレッドを生成する処理が省略されている。このため、個々のアクセス処理を高速に実現することが可能となり、結果として、先読処理の処理負荷を軽くし、高速で先読処理を実行させることが可能となる。
【０１７２】
以上によれば、指定されたオブジェクトに応じて、その一下位層のオブジェクト名の一覧と、その属性情報を先読処理により取得して、ユーザの操作をあたかも先読したかのように処理結果を予め用意することにより、アクセス処理によりサーバからオブジェクトの一覧や属性情報を取得する際に発生する遅延の問題を抑制することが可能となる。
【０１７３】
尚、以上においては、家電機器として、テレビジョン受像機５１を用いた場合の例について説明してきたが、それ以外の家電機器であってもよいし、ネットワークを介してサーバからコンテンツデータをダウンロードするような家電機器であってもよく、例えば、DVD（Digital Versatile Disc）レコーダやHDD（Hard Disc Drive）レコーダなどであってもよい。
【０１７４】
また、以上においては、選択されたオブジェクトがディレクトリである場合、先読処理により、選択されたオブジェクトの一下位層のオブジェクトについてオブジェクト名と属性情報を取得する例について説明してきたが、それ以下の下位層のオブジェクト名と属性情報を取得させるようにしても良い。
【０１７５】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【０１７６】
プログラムが記録されている記録媒体は、図６に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク８１（フレキシブルディスクを含む）、光ディスク８２（CD-ROM(Compact Disc-Read Only Memory)，DVD（Digital Versatile Disk）を含む）、光磁気ディスク８３（MD（Mini-Disc）を含む）、もしくは半導体メモリ８４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM６２や、記憶部６８に含まれるハードディスクなどで構成される。
【０１７７】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【０１７８】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１７９】
【図１】従来のコンテンツデータ配信システムの構成を示す図である。
【図２】図１のコンテンツデータ配信システムによるオブジェクトの一覧を表示する処理を実現するプログラムの例を示す図である。
【図３】図１のコンテンツデータ配信システムによるオブジェクトの一覧を表示する処理を実現する際のアクセス処理を説明するフローチャートである。
【図４】従来のコンテンツデータ配信システムのその他の構成を示す図である。
【図５】図４のコンテンツデータ配信システムによるオブジェクトの一覧を表示する処理を実現する際のアクセス処理を説明するフローチャートである。
【図６】本発明を適用したテレビジョン受像機の一実施の形態の構成を示す図である。
【図７】図６のテレビジョン受像機により実現される機能を説明する図である。
【図８】図６のテレビジョン受像機によるオブジェクト管理処理を説明するフローチャートである。
【図９】図８のオブジェクト管理処理により表示されるオブジェクトの一覧の表示例を示す図である。
【図１０】図８のオブジェクト一覧取得処理を説明するフローチャートである。
【図１１】図１０のアクセス処理を説明するフローチャートである。
【図１２】図１０のアクセス処理を説明するフローチャートである。
【図１３】図８のオブジェクトの属性情報取得処理を説明するフローチャートである。
【図１４】先読指示情報を説明する図である。
【図１５】先読処理を説明するフローチャートである。
【図１６】先読処理による処理結果を説明する図である。
【図１７】先読処理による処理結果を説明する図である。
【図１８】図１５のアクセス処理を説明するフローチャートである。
【符号の説明】
【０１８０】
５１  テレビジョン受像機，  １０１  操作部，  １０２  ディスプレイ，  １０３  メインスレッド，  １０４  OS，  １０５  先読処理用サブスレッド，  １０６  先読バッファ，  １０７  アクセス処理用サブスレッド，  １１１  スレッド生成部，  １１２  先読指示情報生成部，  １２１  先読指示バッファ，  １２２  処理結果バッファ，  １５１  ネットワーク，  １５２  サーバ
【図１】
2005352539.tif 000003
【図２】
2005352539.tif 000004
【図３】
2005352539.tif 000005
【図４】
2005352539.tif 000006
【図５】
2005352539.tif 000007
【図６】
2005352539.tif 000008
【図７】
2005352539.tif 000009
【図８】
2005352539.tif 000010
【図９】
2005352539.tif 000011
【図１０】
2005352539.tif 000012
【図１１】
2005352539.tif 000013
【図１２】
2005352539.tif 000014
【図１３】
2005352539.tif 000015
【図１４】
2005352539.tif 000016
【図１５】
2005352539.tif 000017
【図１６】
2005352539.tif 000018
【図１７】
2005352539.tif 000019
【図１８】
2005352539.tif 000020