(57)【特許請求の範囲】
【請求項１】
アイコンを表示するための複数の配置位置を有する軌跡を表示する第１表示手段と、
格納されている複数のデータアイテムについて時間情報を獲得する獲得手段と、
前記獲得手段で獲得された時間情報に基づいて、前記複数のデータアイテムを前記複数の配置位置のそれぞれに時間順で割り当て、対応するアイコンを各配置位置に表示する第２表示手段と、
前記軌跡上の隣接する配置位置に割り当てられた２つのデータアイテムの時間情報によって得られる時間差が所定時間を越える場合、当該配置位置間にマークの表示を行う第３表示手段とを備え、
前記第３表示手段は、前記時間差の量に基づいて、当該配置位置間に表示するマークの個数を変更することを特徴とする情報処理装置。
【請求項２】
前記第１表示手段において表示される軌跡は螺旋状であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第３表示手段は、前記マークの個数を、前記時間差の量を前記所定時間で割ることにより得られる値に基づいて設定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第３表示手段は、前記マークの表示個数に関して最大限度数を有し、前記時間差の量が所定値を越えた場合は一律に前記最大限度数のマークを表示することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
アイコンを表示するための複数の配置位置を有する軌跡を表示する第１表示工程と、
格納されている複数のデータアイテムについて時間情報を獲得する獲得工程と、
前記獲得工程で獲得された時間情報に基づいて、前記複数のデータアイテムを前記複数の配置位置のそれぞれに時間順で割り当て、対応するアイコンを各配置位置に表示する第２表示工程と、
前記軌跡上の隣接する配置位置に割り当てられた２つのデータアイテムの時間情報によって得られる時間差が所定時間を越える場合、当該配置位置間にマークの表示を行う第３表示工程とを備え、
前記第３表示工程では、前記時間差の量に基づいて、当該配置位置間に表示するマークの個数を変更することを特徴とする情報処理方法。
【請求項６】
前記第１表示工程において表示される軌跡は螺旋状であることを特徴とする請求項５に記載の情報処理方法。
【請求項７】
前記第３表示工程では、前記マークの個数を、前記時間差の量を前記所定時間で割ることにより得られる値に基づいて設定することを特徴とする請求項５に記載の情報処理方法。
【請求項８】
前記第３表示工程では、前記マークの表示個数に関して最大限度数を有し、前記時間差の量が所定値を越えた場合は一律に前記最大限度数のマークを表示することを特徴とする請求項５に記載の情報処理方法。
【請求項９】
複数のデータアイテムに対応するデータアイコンを表示するための情報処理方法をコンピュータに実行させるための制御プログラムを格納するコンピュータ可読メモリであって、該情報処理方法が、
アイコンを表示するための複数の配置位置を有する軌跡を表示する第１表示工程と、
格納されている複数のデータアイテムについて時間情報を獲得する獲得工程と、
前記獲得工程で獲得された時間情報に基づいて、前記複数のデータアイテムを前記複数の配置位置のそれぞれに時間順で割り当て、対応するアイコンを各配置位置に表示する第２表示工程と、
前記軌跡上の隣接する配置位置に割り当てられた２つのデータアイテムの時間情報によって得られる時間差が所定時間を越える場合、当該配置位置間にマークの表示を行う第３表示工程とを備え、
前記第３表示工程では、前記時間差の量に基づいて、当該配置位置間に表示するマークの個数を変更することを特徴とするコンピュータ可読メモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置及び方法に関する。特に、データベースやファイルシステムのように、複数のデータを各データに関連付けられたパラメータ（日時等）で管理し、表示する情報処理装置及び方法に関する。
【０００２】
【従来の技術】
コンピュータのファイル管理システムや、データベースシステム等では、多数のデータを管理する際の重要なパラメータとして、日時を用いている。ファイル管理システムでは、そのファイルが作成された日時、また修正した日時等が自動的にファイルの属性として付加される。
【０００３】
また、データベースシステムにおいても、データ中のフィールドに日時フィールドを設けて、ここに記入された日時によってデータを管理することができる。図２１は一般的な人事管理データベースのデータ構成例を示す図である。図２１に示す人事管理データベース３０のようなものでは、生年月日を日時フィールド３１に記入して管理を行う。また予定表アプリケーションソフトウェア（以降、スケジューラと呼ぶ）においても、予定自体が日時で管理されている。例えば、スケジュールの内容が会議で、その会議に使う予定のドキュメントファイルを登録しておけば、あとで何の資料を使って、会議に臨んだのか確認することができ便利である。
【０００４】
そして、これら多数のデータから所望のデータを探し出す際に、これら日時データは重要なパラメータとなる。ファイル管理システムでは、ファイルを作成日時順や、修正日時順に並べて表示することにより、利用者のファイル作成、修正作業の記憶と合せて所望のデータを探し出すことができる。また、データベースシステムにおいても、例えば人事管理データベースでは、生年月日順に検索・表示するということは、通常よく行われていることである。また、スケジューラにおいても、日時順にスケジュールの内容を見ていって、関連した所望のデータファイルを見つけることができる。
【０００５】
【発明が解決しようとする課題】
利用者にとって、記憶の最も一般的な単位は日時順である。ファイルを作成した日付、または、修正した日付というものを、通常は漠然といつ頃という感じで覚えていて、その記憶と、ファイル日付を照らし合わせれば、ファイル名を忘れた場合でも所望のファイルを探し出すことが可能である。また、スケジューラにおいても同様であり、いつ頃という記憶に従って、所望の内容を得ることができる。データベースシステムにおいても、例えば生年月日順に出すことで、データの閲覧を順番に行うことができる。
【０００６】
しかし、ファイル管理システムにおいて、リスト上に上下して隣接して表示されているファイル同士が、非常に近い日時なのか、あるいは離れた時間なのかは明示的にはわからない。これに対して、利用者はそれぞれの日時の表示を見て、ファイル相互の時間間隔が近ければ近いなりに、遠ければ通りなりに、頭の中でその時間間隔を想像し、かつ自分の記憶と照らし合わせながら、所望のファイルを探し出す作業を行う。図２２は一般的なファイル管理システムによるファイル表示例を示す図である。
【０００７】
４０は、ファイル管理システムによるファイル表示ウインドウであり、指定された４１ディレクトリ内のファイルが新しい日時順に並べて表示される。しかし、どれぐらいの日時にデータが作成されたのか等の把握は、各ファイルの日時表示欄４２を一個一個参照しなければならない。
【０００８】
データベースシステムでの表示でも、生年月日順で表示されたある人のデータに対して、次のデータは、１歳しか違わなくても、１０歳も違っても、やはり次の順番ということで表示される。これに対して利用者は、データ毎の生年月日を数字で確認し、その離れ具合を頭の中で想像する必要がある。そして、ある年代の人が多くかたまっていて、ある年代の人はあまりいないという全体の傾向を利用者が理解するための作業は、もっと大変である。生年月日順をさらに年代別に分けて表示して見たり、また、それをグラフ化してみたりする作業を通して、やっと全体の傾向をつかむことができる。
【０００９】
以上のような課題に対して、もっと利用者に直感的に時間というものを感覚的に把握させながらデータを表示するシステムが望まれる。
【００１０】
本発明は上記課題に鑑みてなされたものであり、データに関連付けられた時間の順序に基づいてデータアイコンを表示するに際して、良好な表示効率を維持すると共にそれらデータの時間間隔を容易に把握できるように表示することが可能な情報処理装置及び方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記の目的を達成する本発明の情報処理装置は以下の構成を備える。すなわち、
アイコンを表示するための複数の配置位置を有する軌跡を表示する第１表示手段と、
格納されている複数のデータアイテムについて時間情報を獲得する獲得手段と、
前記獲得手段で獲得された時間情報に基づいて、前記複数のデータアイテムを前記複数の配置位置のそれぞれに時間順で割り当て、対応するアイコンを各配置位置に表示する第２表示手段と、
前記軌跡上の隣接する配置位置に割り当てられた２つのデータアイテムの時間情報によって得られる時間差が所定時間を越える場合、当該配置位置間にマークの表示を行う第３表示手段とを備え、
前記第３表示手段は、前記時間差の量に基づいて、当該配置位置間に表示するマークの個数を変更する。
【００１２】
また、上記の目的を達成するための本発明による情報処理方法は、
アイコンを表示するための複数の配置位置を有する軌跡を表示する第１表示工程と、
格納されている複数のデータアイテムについて時間情報を獲得する獲得工程と、
前記獲得工程で獲得された時間情報に基づいて、前記複数のデータアイテムを前記複数の配置位置のそれぞれに時間順で割り当て、対応するアイコンを各配置位置に表示する第２表示工程と、
前記軌跡上の隣接する配置位置に割り当てられた２つのデータアイテムの時間情報によって得られる時間差が所定時間を越える場合、当該配置位置間にマークの表示を行う第3表示工程とを備え、
前記第３表示工程では、前記時間差の量に基づいて、当該配置位置間に表示するマークの個数を変更する。
【００１５】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【００１６】
＜第１の実施形態＞
図１は第１の実施形態のデータ管理が実施されるプラットフォームであるパーソナルコンピュータシステムの構成の例を示す図である。図１において、３０１はコンピュータシステム本体、３０２はデータを表示するディスプレイである。３０３はポインティングデバイスとしてのマウス、３０４はマウス３０３のマウスボタン、３０５はキーボードである。
【００１７】
図２はソフトウェアとハードウェアを含む階層データ管理システムの構成を示すブロック図である。図２において、５０９はハードウェア層であり、各種機器で構成される。５０５はオペレーティングシステム層（ＯＳ層）であり、ハードウェア層５０９の上で動作する。５０４はＯＳ５０５の上で動作するアプリケーションソフトウェアである。なおハードウェア層５０９とＯＳ層５０５を構成するブロックのうち構成要件として当然含まれるが、本発明の実施形態を説明する上で直接必要としないブロックに関しては、ここでは図示していない。そのような図示していないブロックの例としてハードウェアとしてはＣＰＵ、メモリ、ＯＳとしてはメモリ管理システム等がある。
【００１８】
５１５はハードディスクであり、ファイルやデータを物理的に格納する。５０８はＯＳ層５０５を構成するファイルシステムであり、アプリケーションソフトウェアがハードウェアを意識せずにファイルの入出力が行えるようにする機能がある。５１４はファイルシステム５０８がハードディスク５１５の読み書きを行うためのディスクＩＯインターフェースである。
【００１９】
５０７はＯＳ層５０５を構成する描画管理システムであり、アプリケーションソフトウェアがハードウェアを意識せずに描画が行えるようにする機能がある。５１３は描画管理システム５０７がディスプレイ３０２に描画を行うためのビデオインターフェースである。
【００２０】
５０６はＯＳ層５０５を構成する入力デバイス管理システムであり、アプリケーションソフトウェアがハードウェアを意識せずにユーザの入力を受け取ることができるようにする機能がある。５１０は、入力デバイス管理システム５０６がキーボード３０５の入力を受け取るためのキーボードインターフェースである。また、５１２は、入力デバイス管理システム５０６がマウス３０３からの入力を受け取ることができるようにするためのマウスインターフェースである。５０１はデータ日時順表示システム（日時順データブラウザ）である。５０２はデータを日時順で管理するための日時管理部である。また、５０３は日時順で管理されたデータを、その時間順、間隔で表示するデータ表示部である。
【００２１】
図３は本実施形態のコンピュータシステムの概略のハードウエア構成を示すブロック図である。同図において、１１はＣＰＵであり、ＲＯＭ１２やＲＡＭ１３に格納された制御プログラムを実行することで、種々の制御を実現する。１２はＲＯＭであり、コンピュータシステムのブート時においてＣＰＵ１１が実行すべきプログラムや、各種データを格納する。１３はＲＡＭであり、ハードディスク５１５よりオペレーティングシステムやアプリケーションプログラムをダウンロードして格納する。また、ＲＡＭ１３はＣＰＵ１１が各種の制御を実行するに際しての作業領域を提供する。１４はバスであり、上記各構成や、ハードウエア層５０９の各構成を接続する。
【００２２】
図４は、本実施形態によるデータ表示例を示す図である。同図において、１０１はディスプレイ３０２に表示される表示ウインドウである。１０２、１０３、１０５ａ、１０５ｂは、画像データを示すデータアイコンである。１０４は時間軸の一部を曲線状に描いたものであり、以下ではスパイラルと呼ぶ。スパイラル１０４上には、スパイラルの最も外側の端点が表す時刻よりも古い時刻において撮影あるいは作成されたデータが、時刻の新しいものから順にスパイラルの外側から内側に向かって並べられている。
【００２３】
この例ではスパイラルの１周３６０度分（例えば同図のデータアイコン１０５ａから１０５ｂまでのことであり、以下ではこれを周回と呼ぶ）に最大８つのデータが配置されるようにしている。
【００２４】
スパイラル１０４の最も外側の端が表す時刻は可変であり、ユーザが指定することができる。例えばユーザが現在見ているデータよりも新しい時間に撮影あるいは作成されたデータを見たい場合には、マウス３０３の左ボタンを押すなどして、スパイラルの最も外側の点が表す時刻を未来方向にシフトさせることができる。この場合、スパイラル１０４の一番外側には新しい時刻のデータが出現し、代わりにスパイラルの一番内側にある古い時刻のデータは表示されなくなる。また、他のデータはスパイラル１０４上を内側に向かって（過去の方向へ）順次場所を移動していく。逆に、ユーザが現在見ているデータよりも古い時間に撮影あるいは作成されたデータを見たい場合には、マウス３０３の右ボタンを押すなどして、スパイラル１０４の最も外側の点が表す時刻を過去方向にシフトさせることができる。この場合、スパイラル１０４の一番内側には古い時刻のデータが出現し、代わりにスパイラル１０４の一番外側にある新しい時刻のデータは表示されなくなる。また、他のデータはスパイラル１０４上を外側に向かって徐々に移動していく。
【００２５】
また、各データを示すデータアイコンの表示の大きさは、データの場所によって異なり、スパイラル１０４の一番外側の周回から内側の周回に向かってサイズが順次小さくなっていく。
【００２６】
また、図４に示されるように、あるデータの作成日時とその次のデータの作成日時に所定値以上の開きがある場合には、その旨を１０６ａ、１０６ｂ、１０６ｃのようにマーカによって表示する。例えば、所定値を３時間とすれば、データアイコン間１０６ｃのように１つのマーカが存在する場合は、両データの作成時間が３時間より大きい時間（ただし６時間以下）離れていることを示す。また、データアイコン間１０６ａのように２つのマーカが表示されている場合は、両データの作成時間が６時間より大きい時間（ただし９時間以下）離れていることを示す。
【００２７】
仮にデータとその次のデータが、４８時間離れているとすると、マーカの個数は４８／３＝１６で１６個になるが、データアイコン間に１６個のマーカを表示することになる。しかしながら、表示できるスペースは限られており、多数のマーカを表示すれば、マーカが重なって見にくくなってしまう。また、こういった大きく時間的に離れている場合、あるデータとその次のデータが時間的にかなり離れていることだけを表現できれば十分である。
【００２８】
そこで図４の例ではあるデータとその次のデータの間に表示するマーカの最大個数を６個とし、６Ｘ３時間＝１８時間より離れている場合は一律にマーカを６個表示することにする。これをデータアイコン間１０６ｂに示す。すなわち、データアイコン間１０６ｂでは、両データ間の作成日時に１８時間より大きい開きがあることになる。
【００２９】
以上の手法により、データを時間順に表示し、かつあるデータとあるデータの間の時間間隔をマーカの個数という形で表現する。ユーザは、時間的に新しいデータ、古いデータという区別と、それらがどれぐらい時間的に離れているかという感覚を同時に体感しながらデータを見ることができる。また、時間間隔の大きさをデータアイコンの表示間隔で表現すると、データアイコンが表示されない部分が増加してしまうが、本実施形態では上記のようなマーカを用いて時間間隔の大きさを表現するので、データアイコンの表示効率が良い。
【００３０】
次に、上記のようなデータ表示を行うために、本実施形態で使用するデータ構造を説明する。図５はスパイラル１０４上に表示される画像などのデータを管理するためのデータ構造の概念図である。同図において、２０２は表示されるデータの各種の属性を格納するデータアイテムである。データアイテム２０２の中には、データがファイルシステム５０８上のどこに格納されているかを示すデータのパス名２０６と、データの全体のイメージが分かる程度にデータを縮小して作成したデータアイコン２０５と、データの作成時間や撮影時間を示すデータ時間２０７が格納されている。データアイコン２０５はスパイラル上にデータを表示するために使われ、データのパス名２０６はオリジナルのデータそのものを表示する際に使用される。
【００３１】
データアイテム２０２はデータリストの中に複数存在させることができ、その場合にはそれぞれのデータ時間２０７の新しい順にリストの先頭から配置させる。後述するように、各データはこのリスト内の順序に従ってスパイラル上に表示されることになる。
【００３２】
また、２０８は先頭のデータアイテム（この例ではデータアイテム１）へのポインタであり、これはデータリストの一番最後に置かれる。データリスト内の先頭からデータアイテムをたどっていき、最後のデータアイテムまでたどり着いた場合には、先頭のデータアイテムへのポインタ２０８を参照することで、再びデータアイテム１に戻ることができる。これによって、後述するように、スパイラル上の途中で一番古いデータアイテムのデータアイコンが表示された場合に、その後ろに最も新しいデータアイテム（データアイテム１）から順にデータアイコンを表示できる。この結果、全てのデータを途切れることなくスパイラル上に表示していくことができる。
【００３３】
図６はデータアイコンをスパイラル上に表示する位置を管理するためのデータ配置例を示す図である。また、図７は、データアイコンをスパイラル上に表示する位置を管理するためのデータ構造を説明する図である。図６において、６１１は表示ウインドウ、６０５はスパイラルであり、それぞれ図４の表示ウインドウ１０１及びスパイラル１０４と等価である。４０１〜４０６で示した線分は、表示されるデータアイコンの中心がその線分とスパイラルとの交点に配置されることを示すものである。参照番号の付されていない線分も同様である。スパイラル６０５上にデータアイコンを配置することが可能な位置を、以下ではデータ配置位置と呼ぶ。説明の都合上、データ配置位置を線分４０５より中心へ向かうスパイラル上では省略して示してある。よって、例えば線分４０５から線分４０６の間にも、実際には２つのデータアイコンを配置することができる。
【００３４】
図７において、６０１はデータ配置位置を管理するためのデータ構造（データ配置位置リスト）を図示したものである。データ配置位置リストにおいて、６１２はスパイラル上に存在する全てのデータ配置位置の数を示す総データ配置位置数である。本実施形態ではこの数を７２とする。つまり、スパイラル６０５において、データ配置位置４０１から内側に向かって７２個のデータ配置位置が存在することになる。
【００３５】
データ配置位置時間間隔６１３は、隣り合ったデータ配置位置が表わす時間間隔であり、本実施形態では１時間とする。つまり、スパイラル６０５を例にとると、線分４０１、４０２及び４０３で示されるデータ配置位置は、時間軸を１時間ごとに区切っていることになる。また、スパイラル上のデータアイコンを１つ内側のデータ配置位置に移動させるということは、スパイラルの一番外側の端点が表す時刻を１時間未来方向にシフトさせるということである。
【００３６】
使用データ配置位置間隔６１４は、いくつごとのデータ配置位置にデータを実際に表示するかを表している。一度に全てのデータ配置位置にデータを表示するためには、データのサイズを小さくしなければならず見にくくなるため、本実施形態では一定の間隔を開けてデータを表示させる。なお、本実施形態ではこの値を３としている。つまり、３つごと（２つ抜き）のデータ配置位置を使用してデータを表示する。例えば、線分４０１のデータ配置位置にデータアイコンが表示されると、次のデータ配置位置は、線分４０４で示されるデータ配置位置となる。
【００３７】
表示データ時間間隔６１５は、データが実際に表示されるデータ配置位置の時間間隔を表すものである。本実施形態では、３つのデータ配置位置毎にデータが表示され、また隣り合うデータ配置位置の時間間隔は１時間であるので、表示データ時間間隔は３時間である。表示データ時間間隔は、データ配置時間間隔６１３と使用データ配置位置関係６１４の積になる。
【００３８】
６０２はそれぞれのデータ配置位置の属性を格納するデータ配置位置属性であり、その中に格納されているデータ配置位置番号６０３は、リスト中に格納されているデータ配置位置の通し番号であり１番から順に割り振られている。表示座標６０４は表示ウインドウ６１１における各データ配置位置の座標を示すものである。表示座標６０４は、例えばデータ配置位置の四角形の左上の座標と右下の座標によって表現され、データアイコン表示位置を示すとともに、その表示サイズをも規定する。この表示サイズは、図４で既に示したように、スパイラルの一番外側の周囲から、内側に向かって徐々に小さくなるようになっている。これによって、スパイラルに奥行き感を出すことができる。
【００３９】
これらのデータ配置位置属性はリストの先頭から末尾に向かって、スパイラル上の一番外側から内側のデータ配置位置に、１対１に対応している。図６と図７の例で言えば、リストの一番先頭にあるデータ配置位置属性１は線分４０１で示されるデータ配置位置に、次のデータ配置位置属性２は線分４０２で示されるデータ配置位置に、更にその次のデータ配置位置属性３は線分４０３で示されるデータ配置位置に、それぞれ対応している。
【００４０】
次に本実施形態におけるデータ表示のアルゴリズムを説明する。先ず、初期状態の表示を行う際のアルゴリズムに関して述べる。大まかに述べると、データ配置位置を１ずつ取り出し、各データの持つ時間を基準にして、その位置に表示すべきデータを選び、実際に表示を行っていく。
図８は、第１の実施形態によるデータアイコンの初期表示手順を説明するフローチャートである。まず、ステップＳ７０１において現在の日時あるいはユーザが指定した日時を取得し、そこからスパイラル日時を計算する。スパイラル日時とは、スパイラルの一番外側の端点、言い換えれば一番外側のデータ配置位置が指し示している日時である。スパイラル日時は、取得した現在日時あるいはユーザが指定した日時をデータ配置位置時間間隔６１３単位で切り捨てることによって計算する。本実施形態ではデータ配置位置時間間隔は１時間であるので、例えば、取得した現在日時が１９９０年１月１日１３：２５分であった場合には、１時間未満を切り捨てて、スパイラル日時は１９９０年１月１日１３：００分となる。
【００４１】
ただし、取得した現在日時あるいはユーザが指定した日時が、データリストの先頭のデータ時間と、最後尾のデータ時間との間でない場合、つまり、対応するデータが存在する時間範囲外の時間が指定された場合は、スパイラル日時は、データリストの先頭のデータの持つデータ時間を、データ配置位置時間間隔単位６１３で切り捨てた時間とする。これによってスパイラル日時は、常にデータが存在する時間の範囲にあることになる。
【００４２】
次にステップＳ７０２では、最初のデータの表示に用いるデータ配置位置を決定する。これは、スパイラル日時より過去方向で、かつ表示データ時間間隔６１５の倍数である時刻に相当するデータ配置位置となる。本実施形態では、表示データ時間間隔は３時間であるため、データは基本的に３時間ごと、０：００、３：００、６：００などを示すデータ配置位置に画像が表示される。従って、例えば、スパイラル日時（図６の４０１の時刻）が１９９０年１月１日６：００であり、これより過去でもっとも新しいデータアイテムのデータ時間２０７が１９９０年１月１日４：１５であった場合、１９９０年１月１日４：００を示す３番目のデータ配置位置（図６の４０３）が、最初のデータが表示されるデータ配置位置となる。
【００４３】
次にステップＳ７０３では、注目日時の初期値を設定する。注目日時とは、選択されたデータ配置位置に対応する日時である。最初はステップＳ７０２で決定したデータ配置位置が選択されるので、ここでは、注目日時にそのデータ配置位置に対応する日時を設定する。上の例で言えば、１９９０年１月１日４：００である。そして、ステップＳ７０４では、データの非存在期間を計数するためのカウンタCOUNTを０に初期化しておく。
【００４４】
次にステップＳ７０５では、データ配置位置リストから、まだ取得していないデータ配置位置属性を１つ取り出す。もし、すべてのデータ配置位置属性を取り出してしまって取得できない場合には処理を終了する。そうでない場合にはステップＳ７０６に進む。ステップＳ７０５では，最初の時点では、ステップＳ７０２で決定した位置のデータ配置位置を取得する。また，それ以降は、カウンタCOUNTの値が０のときは、直前に取得されたデータ配置位置属性と使用データ配置位置間隔６１４とに基づいて決定される。例えば，本実施形態では，配置位置間隔６１４として「３」が設定されているので、現在のデータ配置位置属性から３番目のデータ配置位置属性が取得される。これによって、本実施形態では７２個あるデータ配置位置を３個ずつ選んでいくことになり、最大で２４個のデータがスパイラル上に表示されることになる。なお，データのない期間用カウンタCOUNTが０より大きい場合（後述のステップＳ７２２又はＳ７２３より戻る場合）は、現在取得されているデータ配置位置属性をもう一度セットする。
【００４５】
次のステップＳ７０６では、注目時間と、当該注目時間から表示データ時間間隔６１５だけ戻した時間との間に作成あるいは撮影されたデータ、具体的にはデータ時間２０７がその時間内に含まれるデータアイテムをデータリストから探す。例えば、注目日時が１９９０年１月１日１８：００であるときには、データ時間が１９９０年１月１日１８：００から１９９０年１月１日１５：００まで（ただし１９９０年１月１日１５：００は含まない）のデータを探す。もし１つ以上の該当するデータアイテムがあった場合にはステップＳ７０７に進み、１つもなかった場合にはステップＳ７２０に進む。
【００４６】
ステップＳ７２０では、カウンタCOUNTの値を一つインクリメントする。そして、ステップＳ７２１において、注目日時を、「（注目日時）−（表示データ時間間隔）×（COUNTの値）」によって更新する。そして、ステップＳ７２２において、ステップＳ７２１の更新の結果、注目日時がデータリストの最後まで到達したかどうかを判定する。到達していなければ、この更新された注目日時を用いてステップＳ７０５からの処理を再度実行する。従って、例えば上記の例においてCOUNTの値が１の場合には、注目日時は１５：００となる。この結果、ステップＳ７０５では、データ時間が１９９０年１月１日１５：００から１９９０年１月１日１２：００まで（ただし１９９０年１月１日１２：００は含まない）のデータを探すことになる。
【００４７】
また、注目日時がデータリストの最後に到達した場合は、ステップＳ７２３において注目日時をデータリストの先頭のデータ時間に設定してステップＳ７０５へ戻る。以上で３時間を単位としてデータを探し、存在しない場合にはCOUNTが加算され、注目日時が更新されていく。このCOUNTの数値が後で表示するマーカの個数となる。
【００４８】
なお、ステップＳ７２３では、まずデータリストの最後尾に格納されている先頭のデータアイテムへのポインタ２０８を参照して、先頭のデータアイテムのデータ時間を取得する。そして、その時間をデータ配置位置時間間隔（本実施形態では１時間）単位で切り捨てた時間を求める。そして、その求めた時間より未来方向で、かつ表示データ時間間隔６１５の倍数である時刻を、注目日時に設定して、ステップＳ７０５に戻る。例えば、データリストの先頭のデータの時間が１９９５年４月１日１９：２５であった場合には、注目時間は１９９５年４月１日２１：００に設定する。この時間に注目時間を設定すれば、次回ステップＳ７０５が実行されるときに、データリストの先頭のデータが取得されることになる。これによって、データリストの中で最も新しい時間を持つデータが、最も古い時間を持つデータの後に表示されることになり、すべてのデータをスパイラル上に繰り返し表示することが可能になる。
【００４９】
一方、ステップＳ７０６で該当するデータアイテムが検出された場合は、ステップＳ７０７において、COUNTが０より大きくなっているかチェックする。COUNTが０より大きい場合は、前回表示したデータアイテムのデータ時間と、今回ステップＳ７０６で取得したデータアイテムのデータ時間との間に３×（COUNTの値）より大きい時間の空きがあることになる。従って、ステップＳ７１１へ進み、マーカの表示処理を行う。
【００５０】
ステップＳ７１１では、COUNTの値が所定値MaｘCOUNT（図４の例では６）より大きいかどうかを判断する。COUNTの値がMaxCOUNT以下のときはステップＳ７１２でCOUNTの値の個数分のマーカを、前回表示のデータアイテムと今回表示のデータアイテムとの間に表示する。また、COUNTの値がMaxCOUNTより大きいときは、ステップＳ７１３において、MaxCOUNT個のマーカを前回表示のデータと今回表示のデータとの間に表示する。なお、ステップＳ７１２、Ｓ７１３において、マーカの表示を終了した後に、次のデータの処理のためにCOUNTの値を０にリセットしておく。
【００５１】
ステップＳ７０８では、ステップＳ７０６で探したデータ（複数存在する場合はそのうちの１つ）を取得し、ステップＳ７０５で取得したデータ配置位置属性の表示座標６０４の位置に、そのデータを表示する。表示を行う際には、データアイテム中のデータアイコン２０５の大きさを取得して、表示するサイズとの比較を行い、表示するサイズの方が大きい場合には補間処理によってデータアイコン画像の拡大を行う。一方、表示サイズのほうが小さければ、間引き処理によってデータアイコン画像の縮小を行う。
【００５２】
次のステップＳ７０９では、ステップＳ７０６で検出したデータアイテムをすべて表示したかを判定し、もしすべてを表示していればステップＳ７１０に進む。もし未表示のデータアイテムがあればステップＳ７０３に戻り、前述した手順で別のデータ配置位置属性の取得と、その場所へのデータの表示を繰り返す。この結果、一つの注目時間に複数のデータアイテムが存在した場合には、各データアイコンが、データ配置位置に順次表示されることになる。
【００５３】
ステップＳ７０９において、ステップＳ７０６で検出したデータの表示がすべて完了したと判断された場合は、ステップＳ７１０に進み、注目日時を表示データ時間間隔だけ戻す。例えば、現在の注目日時が１９９０年１月１日１８：００であるときには、３時間戻して、注目日時を１９９０年７月１日１５：００とし、ステップＳ７０３からの動作を繰り返す。これによって、さらに古いデータ時間を持つデータを探し出し、それを表示することができる。
【００５４】
次に、スパイラル上をデータを移動させる際の動作に関して説明する。図９は、第１の実施形態によるデータ移動処理の手順を示すフローチャートである。
【００５５】
まず、ユーザがマウス３０３のボタンを１回押した場合、ステップＳ８０１で、データを移動させる方向と移動する速度を求める。本実施形態では左ボタンを押した場合には、過去方向にデータを移動させるので、データはスパイラルを内側方向に移動する。また、逆に右ボタンを押した場合には、未来方向つまり外側方向に移動する。データアイコンを移動する速度は、データを１度に、データ配置位置の幾つ分移動させるかによって決まる。この値が大きいほど、データアイコンは長い距離を一度に移動することになり、ユーザにとっては早く移動しているように見える。
【００５６】
本実施形態では、データアイコンの移動速度は、データアイコンを表示する画面上のどの位置でマウスのボタンを押したかによって決まり、表示画面の中心に近いほどデータの移動ステップ数が大きくなる。具体的には、カーソル位置の画面中心からの距離をｄとしたとき、
ステップ数＝８−int（（ｄ／中心から端までの距離）×８）
で求める。これによって、最大８ステップ移動することになる。
【００５７】
次にステップＳ８０２では、データの移動によって変化したスパイラル日時を再計算する。例えばステップＳ８０１で、データの移動ステップ数が「外側方向に３」であった場合には、３時間分過去の方向に時間軸がシフトしたことになり、従ってスパイラル日時を３時間過去方向に戻す。例えば、現在のスパイラル日時が１９９０年１月１日１５：００であれば、更新後のスパイラル日時は１９９０年１月１日１２：００となる。
【００５８】
ただし、スパイラル日時が、データリスト中の最後尾のデータ時間より過去になった場合には、データリストの先頭のデータ時間をデータ配置位置時間間隔単位で切り捨てた時間にセットする。これによって、以降のステップでは、データリストの先頭に戻って再びデータが検索されて表示されることになる。逆に、スパイラル日時が、データリスト中の先頭のデータ時間より未来になった場合には、データリストの最後尾のデータ時間をデータ配置位置時間間隔単位で切り捨てた時間にセットする。これによって、以降のステップでは、データリストの最後尾のデータが検索され、スパイラルの最も外側のデータ配置位置に表示されることになる。このように本発明では、データを移動させる場合に、一番新しいデータ時間を持つデータと古い時間を持つデータが連続してつながっているように、繰り返し表示させることができる。
【００５９】
以降のステップでは、データ配置位置を選択しながらデータをその位置に表示していくのであるが、その処理は、図８で説明したステップＳ７０２以降の処理と共通であるので、ここでは説明を省略する。
【００６０】
なお、第１の実施形態では、データを新しいものから順にスパイラルの外側から内側に並べた場合に関して説明しているが、これはもちろん古い順に並べても良く、その実現方法は本実施形態より明らかである。
【００６１】
以上説明したように、第１の実施形態によれば、データを日時順にスパイラル上に並べて、それを外側や内側方向に動かすことにより、データを時間軸と関連づけて容易に検索・管理することができる。
【００６２】
また、第１の実施形態によれば、あるデータと時間的に次に位置するデータとの間が所定時間より離れている場合、その離れた時間量に応じてマーカが表示される。すなわち、第１の実施形態によれば、スパイラル上にデータアイコンが時間間隔を明示するマーカとともに表示される。このため、ユーザは、直感的に各データアイコンに対応するデータの作成時間の間隔を把握できる。また、マーカによって時間間隔を示すので、データ作成時間の時間間隔が大きくなっても、効率良くデータアイコンをスパイラル上に表示することができる。
【００６３】
＜第２の実施形態＞
第１の実施形態では、スパイラル状にデータアイコンを配置するとともに、スパイラル上に配置されるマーカによって各データアイテムのデータ時間の間隔を表現した。第２の実施形態では、同心の楕円を用いてデータアイコンを配置する。なお、第２の実施形態の装置構成等は第１の実施形態と同様であり、ここでは説明を省略する。
【００６４】
図１０は、第２の実施形態によるデータアイコンの表示例を示す図である。１が表示画面であり、２ａ，２ｂを始めとした四角がデータを表している。３ａ、３ｂは、そのデータが関連づけられている日を表すリングである。このリング上に、そのリングの日に関連づけられたデータが並べられる。このリングは、画面の中心に向かって、日単位で過去または未来を表わす。また、画面の周辺のリング上のデータほど、データは大きく表示される。これにより、周辺が手前で、真ん中が奥になっている奥行き感を表現している。
【００６５】
利用者がこの画面において、奥のデータをより大きく表示させたいときはズームイン操作を行う。これによりデータアイコンは、より大きく表示され、例えば２ｂは、３ｂのリングとともに連続して大きくなる。そして、リング３ａとリング３ａ上のデータアイコン２ａは、画面のワクからはみ出て消えてしまう。逆にズームアウト操作のときは、表示されているリングとデータアイコンは、小さくかつよりリングの中心に集まり、画面の外側から、過去または未来の新たなデータアイコンとリングが現れてくる。
【００６６】
ファイル管理システムでは、あるディレクトリを選択し、第２の実施形態の日時順表示に切り換える指定を行うことにより、その時点での日時のリングが最外郭（あるいは最内殻）に表示される。なお、デフォルトでは、奥が過去方向で、手前が現在方向となるので、その時点での日時のリングが最外郭となる。また、この方向は利用者が任意に逆に切り換えることができる。
【００６７】
表示中に所望のデータが見つかった場合は、表示中のデータアイコンをマウスでダブルクリックする。こうしてそのデータファイルが別ウインドウにオープンされ、このファイルの内容を確認したり、編集することができる。
【００６８】
また、リング３ａが示す日時と、次のデータが存在する隣接するリング３ｂが示す日時が１日よりも多く離れているときには、４ａ、４ｂ、４ｃで表される補助リングが挿入される。ここで、補助リングは一日を表すことととし、図１０では、４ａ、４ｂ、４ｃと３本の補助リングが有ることから、リング３ａとリング３ｂが３日離れていることを示す。もし、リング３ａ、３ｂの間が所定量、例えば７日間以上離れているときは、挿入する補助リングの数を一律に７に制限する。これはある期間以上離れたときは、７本の補助リングで「かなり離れている」ということを表現でき、またこれ以上補助リングを増やしてしまうとリングが多すぎてみにくくなるためである。
【００６９】
以上のようにデータが所定期間存在しない部分に補助リングを挿入、表示することにより、データがない期間を圧縮表示した効果を生み、データとデータの空き時間間隔を表現しながらも、常に効率的にデータが画面に表示されることになる。
【００７０】
図１１に、あるリングと、そのリング上に属すデータアイコンに着目したズームイン、ズームアウト例を示す。ここでは、奥が過去で、手前が未来を表示しているとする。４０ａ〜ｄは表示画面であり、４２ａ〜ｄはある日時を示すリング、４１ａ〜ｄはそのリング上のデータアイコン（そのリングが示す時間帯内のデータ）を示す。図１１に示すように、ズームイン（過去のデータを連続して見ていく）のときは、最初は、４１ａ、４２ａに示すように画面中央に小さく現れ、ズームイン操作を続けることによって４１ｂ、４２ｂ、そして４１ｃ、４２ｃ、そして４１ｄ、４２ｄと大きく表示されていく。４１ｄは、データアイコンが大きく表示され一部分のみの表示となっている、その後、このデータは画面から消えることになる。ズームアウトのときは、これとは逆方向の表示になる。
【００７１】
また、４０ａの画面状態のときは、実際には、４２ａリングの外側に、４２ａリングより１ステップ未来の時間帯であるより大きなリングがあり、そのまた外側には、さらに１ステップ未来の時間帯であるより大きなリングがある。また、画面４０ｄのときは、実際には、４２ｄリングの内側に、４２ｄリングより１ステップ過去の時間帯であるより小きなリングがあり、そのまた内側には、さらに１ステップ過去の時間帯であるより小さなリングがある。よって、全体として第１０図で示したような表示が実現される。
【００７２】
以上のように、データアイコンを日時順に基づいて各リング上に配置し、これを表示させ、ズームイン、アウト操作で移動させることによって、利用者の記憶感覚に近いデータ表示を実現できる。また、時間軸におけるデータのまとまりの傾向等を直感的に捉えることもできる。
【００７３】
さて、上記リングの一つ一つは所定の時間幅を有するが、ある時間幅に多数のデータが存在する場合は、一つのリングに表示しきれなくなる。この場合、第２の実施形態では、以下のようにリングの時間幅を変更して対応する。
【００７４】
図１２は第２の実施形態によるデータ管理の構造を示す図である。５０は、表示の１つのリングに対応した、一定の時間間隔で区切った時間帯を表す。本実施形態では、これを一日としており、この時間帯をセルと呼ぶことにする。このセルに対して、セルが持つ時間帯のデータ５１がセルにぶらさがっている形になる。表示の際には、このセルをたどってセル単位でリングを描画し、かつそのリング上に、当該セルにぶら下がるデータのデータアイコンを描画していく。そしてズームイン、ズームアウト操作に従って、このセルの並びを、右方向、あるいは左方向に進んで、データを表示させる。
【００７５】
さてこのとき、あるセルに、言い換えるとあるセルの持つ時間帯に、多数のデータが属している場合は、全てのデータを十分確認できるようその部分をゆっくり表示するようにしたい。そこで、所定値より多いデータを持つセルをさらに細かい時間帯のセルに分割する。図１２の例では、１０月７日のセルに属するデータが多いので、このセルをさらに６時間おきの４つのセルに分割する。その中で、１２：００〜１８：００のセルには多数のデータがあるので、これをさらに時間毎のセルに分割する。こうして、以下、１０分おき、分おき、秒おき…、と一つのセルに属するデータ数が所定値以下になるまでセルを分割していく。
【００７６】
そして、表示に際しては、これら階層化されたセルをたどってデータアイコンを表示していく。表示はセル単位でのスピードで表示していくので、データが時間的に集まっているセルは、分単位、秒単位となり、リング間の時間幅が小さくなる。利用者に対してリング間の時間幅が小さいことを明示的に示すために、リングを図１３に示すように、時間幅の狭いセルの表示になるにつれて、リングの色を薄く表示していく。図１３では、説明のため、データアイコンの表示は省略している。
【００７７】
図１３において、６０は表示画面であり、この中の最外郭にまず６１リングがある。これは最も濃い色で表示され、日単位のセルであることを示す。ここでは、１０月６日を示すものとする。次に、６２ａ、６２ｂは、その下の６時間単位を示し（例えば、0:00〜6:00と、6:00〜12:00）、６１リングよりも薄い色で示される。さらに、６３ａ、６３ｂは時間単位を示し（12:00〜13:00と13:00〜14:00）、６２ａ、６２ｂよりもさらに薄い色で示される。さらに６４には、その時点での最外郭リング、リング６１の時間帯が表示される。以上の表示手法により、利用者は、データの多い箇所についても、時間間隔の変化を認識しながら、十分な時間で、データを見ることができる。
【００７８】
また、上述のように、セルを細かく分割させるかどうかを決めるのは、そのセルに属するデータ数がある所定値より大きいかどうかである。この所定値は、一つのリング上に表示するデータの最大表示個数と同じにする。本実施形態では、図１０に示すように、一つのリング上には最大８個のデータアイコンを置くようにしている。よって所定値も８となる。
【００７９】
図１４は第２の実施形態によるセルのデータ構造を示す図である。７０はセルのリストを示す。セルリスト７１は、当該セルリストに並べられるセルの属性を示すセル属性７１を含む。セル属性７１には、このセルがどの階層のものかを示すセルレベル７１ａが格納される。例えば、図１２に示した日単位セルは基本セルであるのでセルレベル０であり、次の６時間単位セルはセルレベル１となり、時間単位セルはセルレベル２となる。７１ｂはセル単位（時間間隔）である。図１２において、日単位セルのセル単位７２ｂは２４時間、６時間単位セルでは６時間、時間単位セルでは１時間となる。
【００８０】
また、セル個数７１ｃは、このセルリストに入るセルの個数を示す。リングカラー７１ｄは、このセルをリングとして描画するときのリングカラーが属する。本実施形態では、リングカラー７１ｄには、セルレベル０のとき黒（Ｖ（０）＝０）とし、レベルが増えるごとにＶ（Ｎ)＝（２５５−Ｖ（Ｎ−１））／２で設定していく。また、親セルポインタ７１ｅには、子セルリストからその親セルに戻るためのポインタが格納される。セルレベル０のときは、その親はないのでこのポインタには何も入らない。子セルリスト７６の子セル属性には、第１セル７２ａへのポインタが含まれることになる。
【００８１】
次に、このセルリスト７０に属するセルが７２ａ、７２ｂ、７２ｃと並べられる。各セルには、そのセルに含まれる最初の時間と終わりの時間、及びこのセルに含まれるデータの個数を示す情報が含まれる。そしてデータリスト７３中には、当該セルに属するデータ情報が保持される。各データは７４に示すように、データアイコン７４ａとデータのパス名７４ｂ、データ時間７４ｃが含まれている。データアイコン７４ａは、７５ａに示すように実際のデータ７５ｂを縮小したビットマップ画像である。また、データのパス名７４ｂから、ディスク上にあるデータファイルを参照できる。データ時間７４ｃは、当該データが、このセルに属することになったデータ時間である。ファイル管理システムではデータ作成日時、またはデータ修正日時がデータ時間７４ｃとなる。
【００８２】
データの個数が所定値（一つのリングに並べる数の最大値）より大きくなるか否かは、新たなデータをこのデータリストに追加するときにデータの個数をチェックすることで判断することが出来る。図１０で説明した表示形態では、データの個数が８より大きくなったときに、当該セルをさらに分割する子セルリスト７６を生成する。この子セルリスト７６の構造も、上述したセルリスト７０と同じである。
【００８３】
この子セルリストが生成されたときは、セルの中に含まれていたデータは、子セル内のデータリストにデータ時間に基づいて移動され、第１セル７２ａから消去される。よって、第１セル７２ａ内にデータリスト７３があるときには子セルリスト７６は存在しないし、子セルリスト７６が存在するときには第１セル７２ａ内のデータリスト７３は存在しない。なお、子セル属性には、セルレベルを一つ増やした値と、より薄い色となるリングカラーが含まれる。
【００８４】
次に、図１０で説明したようなデータアイコン表示の初期表示動作について説明する。図１５は表示管理用データの構造を示す図である。ズーム表示の場合は、図１５の表示例に示すように、最外郭リングと最内郭リングの間を３２等分した量を１ステップとして動かす。また、リングの描画は８ステップ毎に行われる。すなわち、リングとリングの間には８ステップの距離が保たれる。
【００８５】
それぞれのステップでのリングの大きさ、位置、そのリング上に描画されるデータアイコンの大きさを示すものが、表示ステップリスト８０である。これは、先の３２ステップの各ステップに対応したリストであり、それぞれのステップ毎に、８１ａ、８１ｂ…とステップ情報が収められている。それぞれのステップ情報には次のような情報が含まれる。リング矩形８２は、対応するステップのリングに外接する矩形を示す（左上の座標（x1,y1)と右下の座標(x2,y2)）。また、データ矩形リスト８３は、当該リングにおいて表示されるデータアイコンの大きさを示す。従って、リングの大きさはリング矩形８２に接する楕円となり、データアイコンの大きさは、データ矩形リスト８３中のデータ矩形にデータアイコンの縦横比を合わせて内接する大きさとなる。なお、本実施形態では、一つのリング上に表示するデータアイコン数は８個なので、データ矩形リストは８個のデータ矩形をもち、それぞれ表示位置を含んだ大きさ情報を持つ。
【００８６】
また、リングの大きさ、データアイコン表示の大きさは、最小リングから最大リングになるにつれて、順次大きくなるように設定される。この大きさの変化の仕方は、線形に大きくしていく、途中から急に大きくなるように見せる等、種々の形態が考えられる。また、複数種類の変化形態をユーザの好みに応じて設定できるように構成してもよい。なお、ユーザによって変化形態を設定可能とする際には、ズーム操作中における大きさ、位置の計算を不要とするために、各種の変化形態に対応する各ステップのリング矩形、データ矩形をテーブル化して保持しておくことが望ましい。
【００８７】
図１６は最外郭リングで表示すべきセルを取得する手順を示すフローチャートである。ステップＳ１で選択された日時を取得する。選択された日時としては、基本的にはその時点の日時が採用される。また、利用者が明示的に日時を指定した場合は、その指定日時が採用される。次にステップＳ２で、初期値としてセルレベル０のセルリストを取得する。ステップＳ３でセルリスト中のセル単位７１ｂ（時間間隔）と、各セル中の最初の時間を取得する。ステップＳ４でこれらの情報から、指定された日時が何番目のセルになるかを計算し、ステップＳ５でそのセルを取得する。ステップＳ６でそのセル内に子セルがあるかチェックする。子セルがある場合は、ステップＳ７でこの子セルリストを取得し、ステップＳ３からの処理を繰り返す。子セルがなくなった時点で、現在注目しているセル内に指定日時が含まれていることになるので終了となる。
【００８８】
図１７は、第２の実施形態による初期表示の手順を示すフローチャートである。ステップＳ１０でCOUNT値を初期値０にセットする。ステップＳ１１で、図１６のフローチャートで取得した最外郭のリングに表示すべきセルを取得する。ステップＳ１２で、表示ステップリストからCOUNT×８番目のステップ情報を取得する。最初はCOUNT値＝０であるから、第０ステップ情報８１ａの内容を取得することになる。ステップＳ１３で、取得したステップ情報からリング矩形８２を得るとともに、対応するセルのセル属性からリングカラー（７１ｄ）を取得する。そして、取得したリングカラーの色と取得したリング矩形の位置、大きさに基づいてリングの描画を行う。
【００８９】
ステップＳ１４で、セルのデータリスト中から、一個一個のデータアイコンを順番に取り出し、データ矩形８３の大きさ内に収まるように、データ矩形８３によって示される描画位置にデータアイコンを描画する。本例では、真上の位置から時計回りに順番に最大８個のデータアイコンが描画される。
【００９０】
ステップＳ１５でCOUNT値を一つ増やし、それが一度に描画可能なリング数５に到達していないかをステップＳ１６でチェックする。もし５個のリングまでの描画が終わっていたら、ステップＳ２０に進み、図１８、図１９で説明するズームイン、ズームアウトの処理で用いる変数stepに０をセットして終了する。
【００９１】
COUNT値が５未満であれば、ステップＳ１７で、ステップＳ１４で描画したのが現在着目しているセルリストの最後のデータかどうかをチェックする。最後のデータでなければステップＳ１８へ進み、次のセルを取得する。一方、セルリストの最後のデータであればステップＳ１９へ進み、親セルポインタ７１ｅを参照して親のセルに戻り、そのセルリスト中の次のセルを取得する。
【００９２】
次にステップＳ２１で、取得したセルが日付単位を示すレベル０のセルで、かつ、データおよび子セルを持っていないかどうかをチェックする。もしそうならば、当該セルに対応する日のデータがないわけで、後で補助リングとして描画することになる。従って、この状態を保持しておくため、ステップＳ２２でEmpCOUNTをカウントアップして、ステップＳ１７に戻る。
【００９３】
一方、ステップＳ２１においてデータもしくは子セルが存在するならば、ステップＳ２３に進む。ステップＳ２３では、EmpCOUNTが０より大きいかどうかをチェックして、補助リングを表示する必要があるかを判断する。ＹｅｓであればステップＳ２４にすすみ、EmpCOUNTと、補助リングとして表示する最大個数MaxEmpCOUNTとを比較する。EmpCOUNTがMaxEmpCOUNTより大きいときは、ステップＳ２６でMaxEmpCOUNTの数の補助リングを描画し、EmpCOUNTを０にリセットする。また、MaxEmpCOUNT以下のときは、EmpCOUNTの数の補助リングを描画する。そして、EmpCOUNTを０にリセットする。
【００９４】
なお、上記補助リングの描画は、次のリングとの間に行われる。その描画位置は、１つの補助リングを描画する場合は「現在の描画位置＋４ステップ」、２つの補助リングを描画する場合は「現在の描画位置＋３ステップ」と「現在の描画位置＋６ステップ」という具合に、リングと補助リングで形成される各距離がなるべく等しくなる用に選択される。
【００９５】
そして、処理は、以上のステップＳ２３，Ｓ２５或いはＳ２６を経てステップＳ１２へ戻る。ステップＳ１２では、COUNT値×８番目のステップ情報を取得するので、今回は８番目のステップ情報を取得することになる。これはリング毎に、８ステップずつ離して表示するためである。以降は、上述した処理の繰り返しとなる。このようにして最初の描画が行われ、図１０に示すような表示が得られる。
【００９６】
次に、ズーム操作中のアルゴリズムを示す。図１８及び図１９は第２の実施形態によるズーム操作時の処理を説明するフローチャートである。
【００９７】
まず本実施形態では、利用者がズームイン・アウトのスピードを８段階に切り換えることができ、このスピードをマウスカーソルの位置で指定する。すなわち、マウスの左ボタンを押している間がズームインで、右ボタンを押している間がズームアウトになる。更に、ズーム操作中のマウスカーソルの位置が画面中央であれば、最も速く、周辺であれば最も遅い。
【００９８】
まず、ステップＳ３０では、マウスカーソルの位置に基づいてスピードの計算を行う。カーソル位置の画面中心からの距離をｄとしたとき、
skip＝８−int（（ｄ／中心から端までの距離）×８）
で求める。次に、ステップＳ３１で操作指示がズームインか否かを判定し、処理を分岐する。すなわち、マウスの左ボタンが押されていればズームインということなので、ステップＳ３２へ進む。マウスの右ボタンが押されていればズームアウトなので、ステップＳ４６のズームアウト処理に進む。まず、ズームイン処理を説明する。
【００９９】
ステップＳ３２からステップＳ４７までの処理は、図１７のステップＳ１０からステップＳ２６までの処理と基本的に同じである。違いは、ステップＳ３４で、COUNT×８-step番目に描画を行う点である。このstepは上述の図１７のステップＳ２０によって初期値は０に設定されるが、ズーム操作によってskip分インクリメントされる（ステップＳ５２）。これによって指定されたスピード（skip）の単位で、データがズーム表示されることになる。
【０１００】
また、ステップＳ３３−１で、もしCOUNT×８-step番目が０より小さいときは、最外郭リングがもう画面から消えているときなので描画処理をせずに、ステップＳ３７に進む。
【０１０１】
このステップＳ３２からステップＳ４７までの部分で、表示すべきリングとデータアイコンを全て表示することになる。ここでの補助リングの表示に関わるステップＳ４２からステップＳ４７までの動作は、図１７のステップＳ２１からステップＳ２６までの動作と同じである。
【０１０２】
ステップＳ５２〜Ｓ５５で、次のズーム操作に備えた処理が行われる。まずステップＳ５２において、stepがskip単位で増やされる。例えば、マウスカーソの位置を画面中心においてズーム操作を行った場合は、ステップＳ３０においてskip＝8となるので、stepは８単位で増加することになる。また、マウスカーソルを端に位置させてズームイン操作を行えば、skip＝1になって、stepは１単位ずつ増加することになる。
【０１０３】
以上の制御により、利用者は、データの出現状況に合わせて、簡単に所望のズーム速度でデータアイコンを移動させることができる。また、マウスボタンを離せば、図１８のフローチャートへのイベントは発生しないので、表示は更新されず、じっくりデータアイコンを見ることができる。ステップＳ５３でstepが８以上のときは、ステップＳ５４でstepを８で割った余りをstepに入れ、ステップＳ５５で最外郭リングのセルを一個次にシフトする。stepが８より小さいときはそのままイベント待ちに入る。もし、マウス左ボタンが押され続けているときは、すぐにまた同じイベントが発生し以上の処理が繰り返される。
【０１０４】
次にズームアウト処理について、ズームイン処理と違う部分を説明する。図１９にそのフローチャートを示す。基本的に、ズームイン処理の逆を行うわけであるが、違いは次のようになる。ステップＳ３３−１ｂで、 COUNT×８＋step番目が３２以上のときは、リングが小さすぎて表示しないのでステップＳ３７に進む。また、 COUNT×８＋step番目が３２未満のときは、ステップＳ３４ｂで COUNT×８＋step番目のステップ情報を取得する。
【０１０５】
また、stepを制御するステップＳ５２以降の処理のうち、ステップＳ５５ｂでは、最外郭リングのセルを、新たに一つ前のセルにする。
【０１０６】
以上のようにして、ズームイン，ズームアウト操作が行われる。次に、データ追加時の処理について説明する。図２０は第２の実施形態によるデータ追加処理の手順を表すフローチャートである。
【０１０７】
ステップＳ６０においてデータの作成日時もしくは修正日時を取得する。なお、データファイルが新規作成された場合は作成日時が、データファイルの修正が行われた場合は修正日時が取得される。ステップＳ６１でその日時に対応するセルを取得する。これは図１６のステップＳ２からステップＳ７の手順で取得できる。次に、ステップＳ６２で、取得したセル内のデータ個数を見て、これが８未満かどうかをチェックする。８未満のときは、ステップＳ６３で、あといくつ表示すべき場所が空いているかを計算する。そして、ステップＳ６４で、０から９の乱数を取得する。これは、例えばその操作時点の時間の秒の、下一桁をとって乱数とする。この乱数から、ステップＳ６５で、何番目の空きにデータを入れることにするかを、
ｐ＝int（（乱数／１０）×空きの数）
で計算する。こうすることによって、データはデータリストの頭から格納されるのではなく、８個のデータの表示場所に対して、ランダムに入ることになる。これは表示の際に、データリスト中の最初のデータはリングの上に表示し、以降時計回りに表示していくと決めているので、必ずデータリストの頭からデータを格納するとなると、決まった表示位置に多くデータが表示されることになり、せっかくの画面の大きさが有効に使えないからである。
【０１０８】
また、表示をする際にランダムに表示する方法もあるが、利用者は、よく使用するデータはその表示位置で記憶する場合もあるので、データアイコンの表示位置は固定しているのが望ましい。よって本実施形態では上記の方法を採用している。次に、ステップＳ６７でデータリストの空きをたどっていって、ｐ番目のところにステップＳ６６で取得したデータアイコン、データファイルのパス名、データ時間を書き込む。
【０１０９】
一方、ステップＳ６２で、データの個数が既に８個でいっぱいのときは、このセルに子セルを作りデータを移す作業を行う。ステップＳ６８で、そのセルを親セルとして、子セルリストを生成する。そして、ステップＳ６９で、子セル属性と子セルを生成する。次に、ステップＳ７０で親セルからデータを一個取得する。ステップＳ７１では、ステップＳ７０で取得したデータに含まれるデータ時間に基づいて、ステップＳ６９で生成した子セルのうちの該当するセルにデータを挿入する。ステップＳ７２では、データリスト中の全てのデータに対して以上の処理をしたかチェックする。全データの処理が終わっていればステップＳ７３へ進み、親セルからデータリストを消去する。そして、ステップＳ６１に戻り、改めて新たなデータファイルの登録作業を行う。
【０１１０】
以上説明したように第２の実施形態によれば、データを日時順にネストするリング上に並べて表示するシステムにおいて、データの存在するリングと、次にデータが存在するリングとの間が、所定時間より離れている場合、その離れた時間量に応じた個数の補助リングが表示される。これにより、データ間の時間間隔を感覚的に表現することが可能となる。また、作成時間間隔の開いたデータを効率的に表示することができる。
【０１１１】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【０１１２】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１１３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１４】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１１５】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１６】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１７】
【発明の効果】
以上説明したように本発明によれば、データに関連付けられた時間の順序に基づいてデータアイコンを表示するに際して、良好な表示効率を維持すると共にそれらデータの時間間隔を容易に把握できる表示を行える。
【０１１８】
【図面の簡単な説明】
【図１】第１の実施形態のデータ管理が実施されるプラットフォームであるパーソナルコンピュータシステムの構成の例を示す図である。
【図２】ソフトウェアとハードウェアを含む階層データ管理システムの構成を示すブロック図である。
【図３】本実施形態のコンピュータシステムの概略のハードウエア構成を示すブロック図である。
【図４】本実施形態によるデータ表示例を示す図である。
【図５】スパイラル１０４上に表示される画像などのデータを管理するためのデータ構造の概念図である。
【図６】データアイコンをスパイラル上に表示する位置を管理するためのデータ配置例を示す図である。
【図７】データアイコンをスパイラル上に表示する位置を管理するためのデータ構造を説明する図である。
【図８】第１の実施形態によるデータアイコンの初期表示手順を説明するフローチャートである。
【図９】第１の実施形態によるデータ移動処理の手順を示すフローチャートである。
【図１０】第２の実施形態によるデータアイコンの表示例を示す図である。
【図１１】あるリングと、そのリング上に属すデータアイコンに着目したズームイン、ズームアウト例を示す図である。
【図１２】第２の実施形態によるデータ管理の構造を示す図である。
【図１３】第２の実施形態によるリングの表示形態を示す図である。
【図１４】第２の実施形態によるセルのデータ構造を示す図である。
【図１５】表示管理用データの構造を示す図である。
【図１６】最外郭リングで表示すべきセルを取得する手順を示すフローチャートである。
【図１７】第２の実施形態による初期表示の手順を示すフローチャートである。
【図１８】第２の実施形態によるズーム操作時の処理を説明するフローチャートである。
【図１９】第２の実施形態によるズーム操作時の処理を説明するフローチャートである。
【図２０】第２の実施形態によるデータ追加処理の手順を表すフローチャートである。
【図２１】一般的なファイル管理システムによるファイル表示例を示す図である。
【図２２】一般的なファイル管理システムによるファイル表示例を示す図である。
【図１】
0003847915.tif 000002
【図２】
0003847915.tif 000003
【図３】
0003847915.tif 000004
【図４】
0003847915.tif 000005
【図５】
0003847915.tif 000006
【図６】
0003847915.tif 000007
【図７】
0003847915.tif 000008
【図８】
0003847915.tif 000009
【図９】
0003847915.tif 000010
【図１０】
0003847915.tif 000011
【図１１】
0003847915.tif 000012
【図１２】
0003847915.tif 000013
【図１３】
0003847915.tif 000014
【図１４】
0003847915.tif 000015
【図１５】
0003847915.tif 000016
【図１６】
0003847915.tif 000017
【図１７】
0003847915.tif 000018
【図１８】
0003847915.tif 000019
【図１９】
0003847915.tif 000020
【図２０】
0003847915.tif 000021
【図２１】
0003847915.tif 000022
【図２２】
0003847915.tif 000023