(57)【要約】【課題】  スマートフォン等では画面サイズに制限があることから、表示する箇所を１つのスレッド等に限定すると他スレッドの文書は隠れてしまうため、それら他の文書にアクセスしづらくなってしまう。【解決手段】  文書を関連性に基づいてスレッド表示し、各スレッドを１つまたは複数の文書を含み、日時属性を有するコンテナに分けて表示する機能を持つ文書管理システムは、複数のスレッドの並び順を決定する手段と、前記複数のスレッドのうちの１つに含まれる１つのコンテナを表示する手段と、前記決定された並び順で前記１つのスレッドと隣り合う別のスレッドに含まれるコンテナの中で、前記表示されているコンテナと最も関連性の高いコンテナを選択する手段と、前記表示されているコンテナから前記選択されたコンテナに移動して表示するよう前記表示手段を制御する手段を備える。【選択図】  図１０
2015079361.tif 000002
【特許請求の範囲】
【請求項１】
文書を関連性に基づいてスレッド表示し、各スレッドを１つまたは複数の文書を含み、日時属性を有するコンテナに分けて表示する機能を持つ文書管理システムであって、
複数のスレッドの並び順を決定する決定手段と、
前記複数のスレッドのうちの１つに含まれる１つのコンテナを表示する表示手段と、
前記決定された並び順で前記１つのスレッドと隣り合う別のスレッドに含まれるコンテナの中で、前記表示されているコンテナと最も関連性の高いコンテナを選択する選択手段と、
前記表示されているコンテナから前記選択されたコンテナに移動して表示するよう前記表示手段を制御する手段を備えることを特徴とする文書管理システム。
【請求項２】
前記選択手段は、前記表示されているコンテナの日時属性と最も近い日時属性を有するコンテナを最も関連性の高いコンテナとして選択することを特徴とする、請求項１に記載の文書管理システム。
【請求項３】
前記選択手段は、さらに、前記表示されているコンテナに含まれる文書と同じインデックス情報を有する文書を含むコンテナを最も関連性の高いコンテナとして選択することを特徴とする、請求項２に記載の文書管理システム。
【請求項４】
スレッドの起点を調整する手段をさらに備えることを特徴とする、請求項１ないし３のいずれか１項に記載の文書管理システム。
【請求項５】
移動先スレッドを変更する手段をさらに備えることを特徴とする、請求項１ないし４のいずれか１項に記載の文書管理システム。
【請求項６】
コンテナの移動に関する移動情報を保持する手段と、移動先スレッドから戻る場合は、移動元の位置へ戻る手段をさらに備えることを特徴とする、請求項１ないし５のいずれか１項に記載の文書管理システム。
【請求項７】
前記選択手段は、前記表示されているコンテナに含まれる文書と同じインデックス情報を有する文書を含むコンテナを最も関連性の高いコンテナとして選択することを特徴とする、請求項１に記載の文書管理システム。
【請求項８】
前記表示されているコンテナから他のスレッドのコンテナに移動する指示を表示する手段をさらに備えることを特徴とする、請求項１ないし７のいずれか１項に文書管理システム。
【請求項９】
文書を関連性に基づいてスレッド表示し、各スレッドを１つまたは複数の文書を含み、日時属性を有するコンテナに分けて表示する機能を持つ文書管理システムにおいて、プロセッサにより実行される文書管理方法であって、
複数のスレッドの並び順を決定するステップと、
前記複数のスレッドのうちの１つに含まれる１つのコンテナを表示するステップと、
前記決定された並び順で前記１つのスレッドと隣り合う別のスレッドに含まれるコンテナの中で、前記表示されているコンテナと最も関連性の高いコンテナを選択するステップと、
前記表示ステップにおいて、前記表示されているコンテナから前記選択されたコンテナに移動して表示するよう制御するステップを備えることを特徴とする文書管理方法。
【請求項１０】
請求項９に記載の文書管理方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書管理システムにおける、データへのアクセス方法と操作方法に関する。
【背景技術】
【０００２】
文書管理システムでは、文書へのアクセスをわかりやすくするため、文書の保管位置をファイルパスやＵＲＬ等で階層的に表現することが多い。また、これら階層化されたファイルへアクセスするアプリケーションにおいても、ツリービュー等で文書の保管構造を俯瞰的かつ階層的に表現することで、視認性や操作性を高めてきた。
【０００３】
しかし近年、スマートフォンの普及につれて、アプリケーションでの見せ方も変化してきた。スマートフォンでは画面サイズに制限があるため、ツリービューで文書の保管構造を俯瞰的に見せにくい。そのため、視認性や操作性は低下するが、ツリーの一部分だけを表示させるといった手段で対応してきた。
【０００４】
一方、インターネットでは、電子掲示板によるデータ管理が普及してきた。電子掲示板には、ある特定の話題やテーマに関するデータの集まりをまとめて表示するスレッドフロート型掲示板がある。また、データを時系列に並べて表示するタイムラインといった表示方法も一般的になり、他アプリケーションや文書管理システムにも反映されてきている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３２３８１５
【発明の概要】
【発明が解決しようとする課題】
【０００６】
パーソナルコンピュータ等では文書の保管構造を俯瞰的に表示できたが、スマートフォン等では画面サイズに制限があることから、表示箇所を限定し、さらにスレッドやタイムラインといったよりフラットな構造にすることで対応してきた。しかし、表示する箇所を１つのスレッド等に限定すると他スレッドの文書は隠れてしまうため、それら他の文書にアクセスしづらくなってしまう。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明は、文書を関連性に基づいてスレッド表示し、各スレッドを１つまたは複数の文書を含み、日時属性を有するコンテナに分けて表示する機能を持つ文書管理システムであって、複数のスレッドの並び順を決定する手段と、前記複数のスレッドのうちの１つに含まれる１つのコンテナを表示する手段と、前記決定された並び順で前記１つのスレッドと隣り合う別のスレッドに含まれるコンテナの中で、前記表示されているコンテナと最も関連性の高いコンテナを選択する手段と、前記表示されているコンテナから前記選択されたコンテナに移動して表示するよう前記表示手段を制御する手段を備える文書管理システムを提供する。
【発明の効果】
【０００８】
スマートフォン等のような限られた表示領域の中でも、スレッドやタイムライン間の移動操作の手間が省ける。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態におけるコンピュータの構成内容を示す図
【図２】本発明の一実施形態におけるネットワーク構成図
【図３】文書管理システムに保管されたデータを表示する場合の画面例
【図４】文書管理システムに保管されたデータをスレッドとして表現した場合の概念図
【図５】スレッド構造のデータをスマートフォンで表示する場合の画面例
【図６】本発明の一実施形態における文書管理システムの機能ブロック図
【図７】あるスレッドから別のスレッドへ移動する場合の操作例
【図８】複数スレッドの順序を概念的に示した図
【図９】移動先スレッドを決定する処理のフローチャート
【図１０】スレッド内の位置コンテナを決定する例
【図１１】日時属性から位置コンテナを決定する処理のフローチャート
【図１２】インデックス情報から位置コンテナを決定する処理のフローチャート
【図１３】スレッド構造のデータにおいて各スレッドの時間軸を調整する例
【図１４】別スレッドへの移動において移動先スレッドを変更する例
【図１５】別スレッドへの移動において移動先から移動元へ戻る場合の例
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。図１は、本発明を実施するための一実施形態に係る情報処理装置の構成を示す図である。
【００１１】
図１において、情報処理装置は、ＣＰＵ１０２、メモリ１０３、記憶装置１０４、ビデオインタフェース１０５、Ｉｎｐｕｔ／Ｏｕｔｐｕｔ（以下Ｉ／Ｏと略称）インタフェース１０６、通信インタフェース１０７を備えている。また、情報処理装置内の各構成要素はシステムバス１０１を介して互いに接続されている。ＣＰＵ１０２は、システムバス１０１を介して各構成要素を制御したり、データの計算や加工を行ったりする中央処理装置（プロセッサ）である。メモリ１０３は、データやプログラムを記憶する装置で、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）から構成される。記憶装置１０４は、記憶されたデータの書き込み／読み出しを行う。記憶装置１０４には、ハードディスクドライブ（ＨＤＤ）１１１、フロッピー（登録商標）ディスクドライブ（ＦＤＤ）１１２、不揮発性のデータソースとして利用されるＣＤ−ＲＯＭドライブ１１３がある。図１には示されていないが、記憶装置１０４としては、磁気テープドライブ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリなども使用されることがある。
【００１２】
本実施形態に係るプログラムは、記憶装置１０４から読み込まれ、メモリ１０３に格納した上で、ＣＰＵ１０２によって実行される。なお、本実施形態ではプログラムを記憶装置１０４から読み込む構成としているが、ＲＯＭ（不図示）から読み込んだり、通信インタフェース１０７を介して外部から読み込んだりする構成としてもよい。
【００１３】
ビデオインタフェース１０５は、ディスプレイ装置１１４への表示出力を制御する。ディスプレイ装置１１４には、ＣＲＴや液晶等の方式を用いたものがある。Ｉ／Ｏインタフェース１０６には、キーボード１１５やポインティングデバイス１１６等の入力装置が接続される。操作者は、キーボード１１５を操作することにより情報処理装置に対する動作指令等を行う。ポインティングデバイス１１６は、ディスプレイ装置１１４上のカーソルを移動させてメニューやオブジェクトの選択や操作等を行う。また、ディスプレイ装置１１４には、タッチパネル等による操作の入力を行えるものもある。この場合、ディスプレイ装置１１４は出力装置と入力装置を兼ねることになる。通信インタフェース１０７は、コンピュータネットワーク１１７を通して外部機器との通信を行う。接続先のネットワークには、ＬＡＮやＷＡＮ、インターネットのような公衆回線等がある。また、通信インタフェース１０７は、ローカルプリンタ１１８などの他デバイスとの通信も行う。
【００１４】
図２は、本実施形態に係るネットワーク構成図である。コンピュータネットワーク２０１には、サーバーコンピュータ（以下「サーバー」と略称）２０２、クライアント端末２０３および２０４が接続されている。クライアント端末には、クライアントパーソナルコンピュータ（以下「クライアントＰＣ」と略称）２０３やスマートフォン２０４等の形態がある。コンピュータネットワーク２０１には、ＬＡＮ、ＷＡＮ、インターネット等がある。クライアント端末２０３および２０４は、コンピュータネットワーク２０１を通じてサーバー２０２と通信を行う。なお、本実施形態において、クライアント端末２０３、２０４およびサーバー２０２はいずれも、図１にて示した情報処理装置の構成を有するものとする。ただし、図１の構成に限定するものではなく、他の機能を備えていても構わない。また、サーバー２０２は、単体のコンピュータに限らず、ラックマウント型のシステムであっても構わない。
【００１５】
本実施形態に係る文書管理システムはサーバー２０２で動作し、クライアント端末としてスマートフォン２０４を利用する形態を想定している。ただし、文書管理システムがクライアント端末２０３、２０４で動作したり、サーバー２０２とクライアント端末２０３、２０４で処理を分担して行ったりする形態もありえる。
【００１６】
ここで、文書管理システムとは、電子文書や電子化された紙文書を保管、管理するコンピュータ上のシステムのことを意味する。電子文書（以下、「文書」と略記）とは、コンピュータ上のファイル形式で表現できるデータのことを指し、文字による文書コンテンツに限定されない。文書には、画像や動画など様々なコンテンツを含むものとする。
【００１７】
本実施形態に係る文書管理システムがサーバー２０２で動作する形態の一例では、サーバー２０２に、データベース、アプリケーションサーバー、Ｗｅｂサーバーといったサーバーアプリケーションがインストールされる。クライアント端末２０３、２０４には、Ｗｅｂブラウザあるいは専用のクライアントアプリケーションがインストールされる。クライアント端末２０３、２０４から、サーバー２０２へデータの取得リクエストが発信されると、サーバー２０２のＷｅｂサーバーがクライアントからのリクエストを受信する。そして、アプリケーションサーバーがリクエスト内容を解釈して必要なデータをデータベースから取得する。そして、アプリケーションサーバーは、Ｗｅｂサーバーを通して、取得したデータをクライアント端末２０３、２０４へ送信する。クライアント端末２０３、２０４では、データを受信すると、Ｗｅｂブラウザあるいは専用のクライアントアプリケーションが、取得したデータをクライアント端末のディスプレイ装置１１４に表示する。
【００１８】
図３は、文書管理システムに接続しているクライアント端末２０３、２０４で表示される画面の例である。図３（Ａ）は、クライアントＰＣ２０３で表示される画面例である。図３（Ａ）の３０１はツリービューで、文書管理システムに保管されたデータ群を階層的に表示している。ツリービュー３０１によって、ユーザーは、文書管理システム内に保管されたデータを俯瞰的に確認、選択することができる。３０２はリストビューで、ツリービュー３０１で選択されたロケーションにあるデータをリスト表示する。３０３はロケーションパスで、現在表示しているロケーションを表している。図３（Ａ）の例では、Ａプロジェクト下、進捗定例下にあるロケーション２０１２０６２９が選択され、ロケーション２０１２０６２９に保管されている文書の一覧が表示されている。
【００１９】
図３（Ｂ）は、スマートフォン２０４で表示される画面例である。３１１はロケーションを表すタイトルバーである。３１２はリストビューで、選択されたロケーションにあるデータをリスト表示する。スマートフォンでは画面サイズが限られているため、ツリービューのような文書を俯瞰して見たり、俯瞰的にロケーションを選択したりするビューが表示しづらい。そのため、階層的な文書構造をトップレベルから一つ一つフォルダを辿って行き、目的の文書を表示する。階層の移動は、リストビュー３１２や上階層に戻るボタン３１３などを操作して行う。上記、図３（Ｂ）のように、従来の階層化された文書構造は、スマートフォンのような画面サイズが限られた端末では、データにアクセスしづらい面がある。
【００２０】
一方、インターネットでは、電子掲示板によるデータ管理が普及してきた。電子掲示板では、ある特定の話題やテーマに関するデータの集まりをまとめて表示する方法が多く用いられ、「スレッドフロート型掲示板」と呼ばれている。また、ある特定の話題やテーマに関するデータの集まりは「スレッド」あるいは「トピック」と呼ばれており、「タイムライン」と呼ばれるデータを時系列に並べる表示方法もある。本実施形態の説明でも、ある特定の話題やテーマに関する文書の集まりをスレッドとして扱い、以下スレッドと記載する。文書を時系列に並べる場合もスレッドの一つとして扱う。
【００２１】
図４は、文書管理システムに保管された文書をスレッドとして表現した場合の概念図である。４０１はスレッド名を表す。４０２はスレッドを概念的に表した線である。つまり、図４には、４つのスレッドが示されていることを意味する。４０３は、スレッド上に置かれたデータのアクセス単位を表すもので、本実施形態の説明では、以下、「位置コンテナ」と記載する。つまり、図４のＡプロジェクト進捗定例スレッドには、４つの位置コンテナが存在することを意味する。位置コンテナに格納されるデータは、１ファイルだけに限らず、複数ファイルや階層構造を持つフォルダであってもよい。また、位置コンテナ４０３に付記されている数字は日付を表している。位置コンテナは、日時属性を保持しており、時系列で並べられる場合の参考情報となる。日時属性は、位置コンテナのプロパティとして保持されるが、プロパティの他にもファイルやフォルダの更新日時や作成日時、あるいは、日時を表すフォルダ名やファイル名等であってもよい。
【００２２】
図５は、図４で示したスレッド構造の文書管理システムのデータをスマートフォン２０４で表示する場合の画面例である。図５（Ａ）は、スレッドの一覧を表示した画面例である。５０１はリストビューで、スレッドをリスト表示している。特に図示はしていないが、表示するスレッドをフィルタリングする機能等があってもよい。
【００２３】
図５（Ｂ）は、選択されたスレッドの内容を表示した画面例である。５１１はタイトルバーで選択されたスレッド名を示している。５１２はスレッドの内容を表示するペインで、スレッドの内容を時系列で横方向に表示している。５１３はスレッド上にある位置コンテナを示しており、図５（Ｂ）では３つの位置コンテナが表示されていることを意味する。スレッド内容の表示ペイン５１２は左右にスクロールすることでスレッド内の他の位置コンテナを表示することができる。５１４および５１５は左右にスクロールできることを示す方向指示アイコンである。５１４は左にスクロールできる場合に表示、５１５は右にスクロールできる場合に表示される。スクロール操作の例としては、左右にフリックする方法などがある。５１６は位置コンテナ内の文書を表示するリストビューである。位置コンテナ５１３をクリックすると表示される。図５（Ｂ）では、アイコンで表示しているが、ロケーション名あるいは文書名でリスト表示してもよい。
【００２４】
図５（Ｃ）は、文書の内容を表示した画面例である。５２６はドキュメントビューアで、リストビュー５１６で文書を選択した場合に、リストビュー５１６が切り替わって文書の内容を表示する。図５（Ｃ）では、タイトルバー５１１やスレッド内容の表示ペイン５１２等の他のコンポーネントはそのまま表示されている。このようにスレッド表示ペインとビューを同時に表示することで、操作性の向上をはかっている。なお、位置コンテナ５１３が単一の文書を格納している場合は、位置コンテナ５１３をクリックした場合にドキュメントビューア５２６が表示される。
【００２５】
このように、文書がスレッド構造で表現されると、階層が減ることによってスマートフォンなどでもデータにアクセスしやすくなる。しかし、スレッド間を移動しようとした場合には、図５（Ａ）のようなスレッド一覧画面に戻り、スレッドを選択、さらにスレッド内の所定の位置コンテナへ移動するといった手間がかかる。その課題の解決方法について、以下説明する。
【００２６】
図６は、本実施形態に係る文書管理システムの機能ブロック図である。本機能ブロックは主にサーバー２０２で実行されるが、クライアント端末２０３、２０４上で動作してもよい。
【００２７】
データ管理部６０１は、文書を保管、管理する。スレッド管理部６０２は、スレッドの作成や管理を行う。ここで述べるスレッドとは、上記で説明した、ある特定の話題やテーマに関する文書の集まりを指す。スレッドは、ユーザーが明示的に作成したものや、関連する文書あるいは位置コンテナを時系列に並べたタイムラインなども含む。位置コンテナ管理部６０３は、位置コンテナの作成や管理を行う。また、位置コンテナを通して、データ管理部６０１にあるコンテンツとスレッド管理部６０２にあるスレッドの関連づけをする役目もある。
【００２８】
移動先決定部６０４は、後述する、あるスレッドから別のスレッドへの移動において、移動先スレッドおよび移動先位置コンテナの決定を行う。移動情報一時保管部６０５は、移動先決定部６０４で決定された移動情報を一時的に保管する。後述するスレッドから別スレッドへの移動では、移動先が固定ではなく動的に決定される。そのため、移動情報一時保管部６０５にユーザーごとの移動情報を保管し、次回のアクセス時に情報を利用する。なお、移動情報一時保管部６０５は、スマートフォン２０４上のアプリケーション上に存在する実施形態も考えられる。
【００２９】
図７は、あるスレッドから別のスレッドへ移動する場合の操作例を示した図である。図７で図示しているのはスレッド内容の表示ペインであり、図５（Ｂ）の５１２の部分に該当する。矢印７０１および７０２は、操作の方向を概念的に表したものであり、実際に表示されるものではない。スレッド上の位置コンテナを矢印７０１、矢印７０２のように上下にフリックすると別のスレッドへ移動することができる。移動元となる位置コンテナは、フリック操作を行った場所で決定することができる。ただし、選択されている位置コンテナを移動元とするようにしてもよい。また、図５（Ｂ）の方向指示アイコン５１４および５１５のように、上下に移動できるかどうかを方向指示アイコンで明示してもよい。このように、スレッド表示ペインから直接別のスレッドへ移動できるようにすることで、図５（Ａ）のようなスレッド一覧画面に戻る手間を省くことができる。
【００３０】
図７で別のスレッドへ移動する操作について説明したが、次に、図８から図１２で、移動先の決定処理について説明する。移動先の決定処理には、移動先スレッドを決定する処理と、そのスレッド内の位置コンテナを決定する処理がある。これらの処理は、図６の機能ブロック図において、移動先決定部６０４にて実行される。
【００３１】
まず、図８および図９で移動先スレッドを決定する処理について説明する。図８は複数スレッドの順序を概念的に示した図、図９は移動先スレッドを決定する処理のフローチャートである。なお本フローチャートに係るプログラムは、サーバー２０２の記憶装置１０４に記憶されており、メモリ１０３に読み出されＣＰＵ１０２によって実行される。
【００３２】
移動先スレッドの決定処理では、まず、移動先決定部６０４において、ユーザーがスレッドの順序を指定しているかどうかを確認する（Ｓ９０１）。スレッドの情報はスレッド管理部６０２から取得する。順序の指定方法には、予めユーザーが順序を設定する方法や、移動時に指定する方法などがある。予めユーザーが順序を設定する方法では、順序の情報はスレッド管理部６０２に保管され、移動先決定部６０４がスレッド管理部６０２から順序の情報を読み出す。移動時に指定する方法では、ユーザーがスマートフォン２０４のディスプレイ装置１１４で操作した情報がサーバー２０２に送信され、本決定処理の入力データとして順序の情報が与えられる。ユーザーにより順序が指定されていた場合、移動先決定部６０４はその指定に従って移動先を決定する（Ｓ９０２）。
【００３３】
ユーザーにより順序が指定されていない場合、移動先決定部６０４はグループ化されているかどうかの確認を行う（Ｓ９０３）。グループ化とは、例えば図４において、Ａプロジェクトのスレッドをグループとみなすような設定を意味している。移動先スレッドの決定処理では、スレッドが多くなると速度が遅くなるとともに、関連性の低いスレッドへの移動が行われる可能性も大きくなる。グループ化は、移動先対象のスレッドを絞込むと同時に、関連性の高いスレッドに限定することができる。Ｓ９０３でグループが設定されていた場合、移動先決定部６０４は移動先となるスレッドの対象範囲をグループ内に限定する（Ｓ９０４）。ここで、対象範囲に含まれたスレッドを概念的に示したのが図８である。図８の８１１から８１７はスレッドを概念的に表しており、長さは時間軸８０１で示される期間を表している。スレッドの期間とは、スレッドが作成された日時から、最新の位置コンテナが持つ日時属性までの間隔となる。ただし、タイムラインを自動的に作成する場合のように、スレッドが自動的に作成される場合は、最も古い位置コンテナの日時属性が開始点となる。図８では移動先決定を行う対象スレッドとして、７本のスレッドが示されている。
【００３４】
対象スレッドが決定したら、移動先決定部６０４はスレッドの開始点が古い順にソートを行う（Ｓ９０５）。図８の８０２は、古い順にソートした番号を示している。次に、移動先決定部６０４は現スレッドよりも古いスレッドを抽出し（Ｓ９０６）、それらのスレッドと現スレッドとの重なっている期間を算出する（Ｓ９０７）。図８では現スレッドが８１５、現スレッドよりも古いスレッドが８１１から８１４に該当する。次に、移動先決定部６０４は、Ｓ９０７で算出した期間が長い順にソートを行う（Ｓ９０８）。図８において、現スレッドよりも古いスレッド８１１から８１４の中で、現スレッド８１５と最も重なっている期間が長いのはスレッド８１２となる。そして次に長いのがスレッド８１４となる。８１１、８１３は重なっている期間が無いため、Ｓ９０５でソートされた順に従って、現スレッドから近い順に８１３、８１１と順序が決定される。ここで、Ｓ９０６のように現スレッドよりも古いものと新しいものに分けたのは、図７で上下にフリックする操作に関係している。上にフリックした場合には、現スレッドよりも古いスレッドが移動先対象となり、下にフリックした場合は、現スレッドよりも新しいスレッドが移動先対象となる。つまり、現スレッド８１５から上へフリックして行った場合の移動先の順序は、スレッド８１２、８１４、８１３、８１１となる。図８の８０３はこの順序を示している。
【００３５】
次に、移動先決定部６０４は、現スレッドよりも新しいスレッドを抽出し（Ｓ９０９）、それらのスレッドと現スレッドとの重なっている期間を算出する（Ｓ９１０）。そして、Ｓ９１０で算出した期間が長い順にソートを行う（Ｓ９１１）。図８では、現スレッド８１５とスレッド８１６および８１７について重なっている期間の算出とソートが行われ、現スレッド８１５から下へフリックして行った場合の移動先の順序は、スレッド８１６、８１７となる。
【００３６】
上記のように、移動先スレッドの決定は現スレッド８１５を起点に決定されるが、決定された順序は一連の操作が終了するまで保持される。スレッドが移動するたびに移動先の算出を行うと順序に一貫性が無くなるため、本実施形態では一時的に保持するようにしている。移動情報の保持は図６の機能ブロック図における移動情報一時保管部６０５で行われる。なお、スレッドの並び順決定処理を明示的にしなおすような機能を設けても良い。また、スレッドが移動するたびに移動先を算出する方法でもよい。
【００３７】
次に、図１０、図１１、図１２で移動先位置コンテナを決定する処理について説明する。なお、図１１、図１２のフローチャートに係るプログラムも図９と同様、サーバー２０２の記憶装置１０４に記憶されており、メモリ１０３に読み出されＣＰＵ１０２によって実行される。
【００３８】
図１０は、スレッド内の位置コンテナを決定する例を示した図である。１００１から１００４はスレッドを示している。現スレッドを１００２とする。図示している期間は部分的なものであり、スレッドの順序は図９のフローチャートにある処理に従って、図１０の通りに決定されているものとする。移動先の位置コンテナを決定する方法として、日時属性にもとづいて決定する方法とインデックス情報にもとづいて決定する方法の２つの方法について説明する。
【００３９】
図１１は、日時属性にもとづいて移動先位置コンテナを決定する処理のフローチャートである。図１０の現スレッド１００２およびスレッド１００１を用いて、日時属性にもとづいて位置コンテナを決定する方法について説明する。図１１で、移動先決定部６０４は、まず、移動元位置コンテナの日時属性を取得する（Ｓ１１０１）。移動元位置コンテナの情報は、位置コンテナ管理部６０３に保管されている。移動先決定部６０４は、スレッドに配置された位置コンテナのＩＤをキーにして、位置コンテナ管理部６０３から位置コンテナの詳細な情報を取得する。図１０の例では、現スレッド１００２上にある位置コンテナ１０１２の日時属性が取得されることになる。次に、移動先決定部６０４は、移動先スレッド内に存在する位置コンテナを参照して（Ｓ１１０２）、各位置コンテナの日時属性を取得し（Ｓ１１０３）、Ｓ１１０１で取得した移動元位置コンテナの日時属性との差異を算出（Ｓ１１０４）する。そして、移動先決定部６０４は各位置コンテナで算出した値を比較して（Ｓ１１０５）、差異の最も小さい位置コンテナを移動先に決定する（Ｓ１１０６）。図１０の例では、移動先スレッド１００１内の各位置コンテナの日時属性を取得、移動元位置コンテナ１０１２との差異を算出し、最も差異が小さい位置コンテナ１０１１が移動先となる。なお、図１１のフローチャートでは、移動先スレッドの位置コンテナを全て確認しているが、高速化のために予めスレッド上の位置コンテナの順序を並べた情報をスレッド管理部６０２に保持しておいてもよい。
【００４０】
次に、図１０の現スレッド１００２およびスレッド１００３、１００４と図１２を用いて、インデックス情報にもとづいて移動先位置コンテナを決定する方法について説明する。図１０のスレッド１００３には、現スレッド１００２の位置コンテナ１０１２に関連する文書が位置コンテナ１０１３に格納されている。このように、文書管理では、関連する情報が日付の近い位置コンテナに存在しているとは限らない。その場合に利用するのがインデックス情報である。インデックスとはデータに付与された情報で、タグやキーと呼ばれることもある。図１０の位置コンテナ１０１３、１０１４の中には、同じインデックス情報を持つ文書が格納されている。
【００４１】
図１２は、インデックス情報にもとづいて位置コンテナを決定する処理のフローチャートである。図１２において、移動先決定部６０４は、まず、移動元の位置コンテナの日時属性を取得する（Ｓ１２０１）。図１０の例では、現スレッド１００２上にある位置コンテナ１０１２の日時属性を取得する。次に、移動先決定部６０４は、移動先スレッド内に存在する位置コンテナ内で所定のインデックスを持つ文書を抽出する（Ｓ１２０２）。移動先決定部６０４は、抽出された文書から（Ｓ１２０３）、文書が格納されている位置コンテナを取得し（Ｓ１２０４）、各位置コンテナの日時属性を取得（Ｓ１２０５）する。次に、移動先決定部６０４は、Ｓ１２０１で取得した移動元位置コンテナの日時属性とＳ１２０５で取得した日時属性の差異を算出（Ｓ１２０６）する。そして、移動先決定部６０４は、各位置コンテナで算出した値を比較して（Ｓ１２０７）、差異の最も小さい位置コンテナを移動先に決定する（Ｓ１２０８）。所定のインデックスを持つファイルはスレッド内に複数存在することもある。複数ある場合には、日時属性情報が近い位置コンテナに決定されることになる。図１０の例では、位置コンテナ１０１３内の文書が所定のインデックスを保持しているため、移動先として位置コンテナ１０１３に決定されることになる。同様にスレッド１００４内の位置コンテナ１０１４内に所定のインデックスを持つファイルがあるため、スレッド１００３の位置コンテナ１０１３からスレッド１００４へ移動した場合、移動先は位置コンテナ１０１４になる。
【００４２】
なお、日時属性にもとづいて決定するか、インデックス情報にもとづいて決定するかの選択については、予め設定しておく方法や、移動時にユーザーが選択する方法などがある。ここでは、日付属性とインデックス情報の２つの例を挙げたが、比較対象となる情報は他であってもよい。また、比較対象とする情報が複数であってもよい。比較対象が複数となる場合、比較の優先順位を設ける方法や、全ての比較対象項目を総合的に判断する方法などが考えられる。優先順位を設ける方法としては、例えば、最初に日付属性で比較を行い、同じ日付属性を持つ位置コンテナが存在した場合に別の項目で決定するといったことができる。
【００４３】
以上のように、スレッド間を移動する操作と移動先を決定する処理によって、他スレッドへの移動操作の手間を省くことが可能になる。
【００４４】
次に図１３、図１４、図１５で、その他の機能について説明する。図１３は、スレッドの時間軸を調整する例を示している。例えば、毎年、決まった時期に実施される定型的な業務のようなものをスレッドとして管理することがあるが、そのようなスレッドでは、同じ時期の過去の情報を参照したい場合がある。しかし、スレッドを同一時間軸上で比較すると、それらのスレッドには重なっている時期が存在せず、移動先の位置コンテナも同時期にはならない。そのため、上記の移動先決定処理だと、移動先とならない可能性が高い。そこで、各スレッドを同一の時間軸上に配置せず、スレッドの開始点を合せる処理を行う。図１３には、スレッド１３０１とスレッド１３０２があり、スレッド１３０１には２０１１年度の業務、スレッド１３０２には２０１２年度の業務データが格納されている。例えば、現在、位置コンテナ１３１２のデータを参照している場合に過去の情報である位置コンテナ１３１１を参照したいケースが考えられる。ここで、点線１３２０で示すように、スレッドの開始点を各年の１月１日に合わせる調整を行う。そのようにすることで、位置コンテナ１３１２から位置コンテナ１３１１へ移動ができるようになる。
【００４５】
図１４は、移動先スレッドを変更する例を示している。現在、スレッド１４０１の位置コンテナ１４１１のデータを参照しているとして、下へフリックすると、フローチャート図９、図１１の処理ではスレッド１４０２の位置コンテナ１４１２に移動することになる。しかし、日時属性の差が大きい場合に、位置コンテナ１４１１にある情報と位置コンテナ１４１２にある情報の関連性が低いことも考えられる。このような状況で、別のスレッド１４０３に、日時属性の近い、あるいは、所定のインデックスを持つ文書が存在している位置コンテナ１４１３が存在した場合、位置コンテナ１４１１から位置コンテナ１４１３へ移動することができる。
【００４６】
図１５は、移動先から移動元へ戻る場合の例を示している。現在、スレッド１５０１の位置コンテナ１５１１のデータを参照しているとして、下へフリックすると、スレッド１５０２の位置コンテナ１５１３へ移動する。ここで、位置コンテナ１５１３から上へフリックすると、スレッド順序は保持されているためスレッド１５０１へ戻るが、位置コンテナの決定処理はスレッド移動時に行われるため、位置コンテナ１５１２に移動することになる。しかし、ユーザーは元の位置コンテナ１５１１に戻りたい場合が多い。そこで、位置コンテナの移動経路をスタック情報として一時保管しておき、元のスレッドに戻る場合は移動元の位置コンテナに移動することができる。
【００４７】
以上、図１３、図１４、図１５の機能を伴うことによって、より多くのスレッドパターンや操作パターンに対応できるようになる。
【００４８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015079361.tif 000003
【図２】
2015079361.tif 000004
【図３】
2015079361.tif 000005
【図４】
2015079361.tif 000006
【図５】
2015079361.tif 000007
【図６】
2015079361.tif 000008
【図７】
2015079361.tif 000009
【図８】
2015079361.tif 000010
【図９】
2015079361.tif 000011
【図１０】
2015079361.tif 000012
【図１１】
2015079361.tif 000013
【図１２】
2015079361.tif 000014
【図１３】
2015079361.tif 000015
【図１４】
2015079361.tif 000016
【図１５】
2015079361.tif 000017