(57)【要約】【課題】本発明は、ネットワーク経由でクライアントＰＣからサーバにファイルをアップロードする際に、選択されたファイルの階層、フォルダの位置関係やファイル名が使用者に直感的にわかりやすくする情報処理装置を提供する。【解決手段】クライアントＰＣ１０１では、サーバ１０２にアップロードするファイルを、ファイル選択モジュール３０１により表示された操作画面上で選択させた後、ファイルパスソートモジュール３０２により当該ファイルのファイルパスの文字列をソートし、ファイルパス分割モジュール３０３によりソート後のファイルパスを解析してドライブ名、フォルダ名、ファイル名に分割する。そして、階層表示モジュール３０４により、分割されたドライブ名とフォルダ名の等しいものでドライブ、フォルダをグループ化してファイルパスが表示された操作画面上に階層表示する。【選択図】図６
2011076217.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上のサーバにファイルのアップロードが可能な情報処理装置において、
アップロードするファイルを少なくとも１つ選択するためのファイル選択手段と、
前記ファイル選択手段で選択されたファイルのファイルパスの文字列をソートするソート手段と、
前記ソート手段によりソートされた後のファイルパスをドライブ名とフォルダ名とファイル名に分割する分割手段と、
前記分割手段により分割されたドライブ名とフォルダ名の等しいものでドライブ、フォルダをグループ化して、前記アップロードするファイルの階層表示を行う階層表示手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記ファイル選択手段は、使用者に選択された複数のファイルのファイルパスの文字列を比較し、同じファイルパスの文字列が存在した場合は、警告表示を行うことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記グループ化されたドライブ、フォルダより下の階層に存在するファイル数の合計を計算し、当該ドライブ及び当該フォルダに含まれる合計ファイル数を表示する合計ファイル数表示手段をさらに備えることを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
前記分割手段は、前記ファイルパスの文字列をドライブ名、フォルダ名、ファイル名の区切り文字で分割することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記ファイル選択手段は、ＨＴＭＬフォームによるファイルの選択を受け付けることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
少なくとも１つのクライアントＰＣからネットワーク上のサーバにファイルのアップロードが可能な情報処理システムにおいて、
前記サーバは、
前記クライアントＰＣから送信されたファイルと当該ファイルのファイルパスを受信する受信手段と、
前記受信手段により受信したファイルパスをファイルパス記憶部に登録する登録手段と、
前記登録手段で登録されたファイルパスの文字列をソートするソート手段と、
前記ソート手段によりソートされた後のファイルパスをドライブ名とフォルダ名とファイル名に分割する分割手段と、
前記分割手段により分割されたドライブ名とフォルダ名の等しいものでドライブ、フォルダをグループ化して階層情報を作成する階層情報作成手段とを備え、
前記クライアントＰＣは、
前記階層情報作成手段により作成された階層情報を前記サーバから受信し、当該階層情報に基づいて、前記アップロードするファイルの階層表示を行う階層表示手段を備えることを特徴とする情報処理システム。
【請求項７】
前記クライアントＰＣは、前記サーバにアップロードするファイルを少なくとも１つ選択するためのファイル選択手段をさらに備え、
前記ファイル選択手段で新規にファイルが選択された場合、前記階層表示手段は、前記サーバから受信した階層情報に新規に選択されたファイルを結合して、アップロードするファイルの階層表示を行うことを特徴とする請求項６記載の情報処理システム。
【請求項８】
前記クライアントＰＣは、
前記階層情報から前記サーバに登録済みのファイルパスの文字列を取得する第１の取得手段と、
前記ファイル選択手段で新規に選択されたファイルのファイルパスの文字列を取得する第２の取得手段と、
前記第１の取得手段により取得したファイルパスの文字列と前記第２の取得手段により取得したファイルパスの文字列とを比較する比較手段と、
前記比較手段により比較したファイルパスの文字列に一致するものが含まれていた場合、警告表示を行う警告表示手段とを備えることを特徴とする請求項７記載の情報処理システム。
【請求項９】
前記クライアントＰＣは、
前記ファイル選択手段で新規に選択されたファイルが結合された階層情報からグループ化された各ドライブ、各フォルダに含まれるファイル数の合計を計算する計算手段と、
前記計算手段により算出されたファイル数を前記階層情報に追加して表示するファイル数表示手段とをさらに備えることを特徴とする請求項７または８記載の情報処理システム。
【請求項１０】
ネットワーク上のサーバにファイルのアップロードが可能な情報処理装置におけるファイルの表示方法において、
アップロードするファイルを少なくとも１つ選択するためのファイル選択工程と、
前記ファイル選択工程で選択されたファイルのファイルパスの文字列をソートするソート工程と、
前記ソート工程でソートされた後のファイルパスをドライブ名とフォルダ名とファイル名に分割する分割工程と、
前記分割工程で分割されたドライブ名とフォルダ名の等しいものでドライブ、フォルダをグループ化して、前記アップロードするファイルの階層表示を行う階層表示工程とを備えることを特徴とするファイルの表示方法。
【請求項１１】
少なくとも１つのクライアントＰＣからネットワーク上のサーバにファイルのアップロードが可能な情報処理システムにおけるファイルの表示方法において、
前記サーバが前記クライアントＰＣから送信されたファイルと当該ファイルのファイルパスを受信するための受信工程と、
前記サーバが前記受信工程で受信したファイルパスをファイルパス記憶部に登録するための登録工程と、
前記サーバが前記登録工程で登録されたファイルパスの文字列をソートするためのソート工程と、
前記サーバが前記ソート工程でソートされた後のファイルパスをドライブ名とフォルダ名とファイル名に分割するための分割工程と、
前記サーバが前記分割工程で分割されたドライブ名とフォルダ名の等しいものでドライブ、フォルダをグループ化して階層情報を作成するための階層情報作成工程と、
前記クライアントＰＣが前記階層情報作成工程で作成された階層情報を前記サーバから受信し、当該階層情報に基づいて、前記アップロードするファイルの階層表示を行うための階層表示工程とを備えることを特徴とするファイルの表示方法。
【請求項１２】
ネットワーク上のサーバにファイルのアップロードが可能な情報処理装置にファイルの表示方法を実行させるためのプログラムにおいて、
アップロードするファイルを少なくとも１つ選択するためのファイル選択ステップと、
前記ファイル選択ステップで選択されたファイルのファイルパスの文字列をソートするソートステップと、
前記ソートステップでソートされた後のファイルパスをドライブ名とフォルダ名とファイル名に分割する分割ステップと、
前記分割ステップで分割されたドライブ名とフォルダ名の等しいものでドライブ、フォルダをグループ化して、前記アップロードするファイルの階層表示を行う階層表示ステップとを備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びファイルの表示方法、情報処理システム、並びにプログラムに関し、特に、情報処理装置からネットワークを介してサーバにアップロードされるファイルの表示技術及び管理技術に関する。
【背景技術】
【０００２】
近年のインターネット環境では、ネットワークで接続された情報処理装置間で１つ又は複数のファイルをアップロードしたり、ダウンロードしたりする機会が増えている。それに伴い、クライアントコンピュータ（以下、「クライアントＰＣ」とする）上で選択されたファイルをアプリケーションサーバ（以下、「サーバ」とする）へアップロードするネットワークアプリケーション（以下、「アプリ」とする）が開発されている。
【０００３】
アプリを利用してクライアントＰＣからサーバにファイルをアップロードする場合、ＷｅｂブラウザからＨＴＭＬフォーム（<input type=”file”>タグを使用する）によってファイル選択する方法が一般的である（例えば、非特許文献１参照）。
【０００４】
また、専用のファイルアップロードプログラムによってファイルの選択がなされてサーバにアップロードする方法も提案されている（例えば、特許文献１参照）。
【０００５】
一方、サーバにファイルをアップロードして登録する場合、上述したアプリを利用しても、サーバに既に登録されているファイルがクライアントＰＣ内のどのファイルに対応するかについては使用者が一目ではわからない。そのため、サーバに既に登録されているファイルを誤って再度アップロードしてしまうというミスが起きる場合がある。このような問題に対して、クライアントＰＣからサーバにアップロードするファイルのファイルパスをサーバに登録し、そのファイルパスから既にクライアントＰＣから送信されたファイルかを判断して削除する方法が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−１９９２５４号公報
【非特許文献】
【０００７】
【非特許文献１】W3C Recommendation、"HTML 4.01 Specification"  [online]、December 24, 1999、retrieved from the Internet: <URL: http://www.w3.org/TR/html401/interact/forms.html#edef-INPUT>
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献１に開示された技術では、ＨＴＭＬフォームでファイルの選択が完了しても、その入力欄にファイルパスが文字列で表示されるのみで、どの階層のどのフォルダのファイルを選択したのかが使用者に直感的にわかりづらい。そのため、アップロードするファイルを同時に複数選択した場合、同じファイルを二度選択してしまったり、意図しないフォルダのファイルを選択してしまう等の操作ミスが起きることがある。
【０００９】
また、ＨＴＭＬフォームの入力欄に入力されるファイルパスはフルパスであるため、多くは入力欄内に収まりきらず、スクロールさせないとファイル名が見られないという問題がある。
【００１０】
特許文献１に開示された技術では、ファイルアップロードがコマンドラインによってアップロードリストファイルをフルパスで入力して指定するものである。そのため、アップロードしたいファイルがどの階層のどのフォルダのファイルであるのかが使用者に直感的にわかりづらく、且つリストファイルの選択がコマンドライン入力で行われるため、入力ミスが起こりやすい。その結果、リストファイル作成時に意図しないフォルダのファイルを指定してしまったり、意図しないリストファイルを選択してしまう等の操作ミスが起きることがある。
【００１１】
また、特許文献１に開示された技術では、サーバ上に登録されたファイルとクライアントＰＣのファイルの対応がファイルパスの文字列情報のみである。そのため、サーバに登録されたファイルがクライアントＰＣのどの階層のどのフォルダのファイルであるかが使用者に直感的にわかりづらく、実際にアップロードを行ってみないと既に登録済みのファイルであるかどうかの判断が難しい。
【００１２】
本発明の第１の目的は、ネットワーク経由でクライアントＰＣからサーバにファイルをアップロードする際に、選択されたファイルの階層や位置関係、ファイル名を使用者にわかりやすく表示する技術を提供することにある。
【００１３】
本発明の第２の目的は、サーバにアップロード登録されたファイルとクライアントＰＣに保存されたファイルとの対応、ファイルの階層や位置関係を使用者にわかりやすく表示する技術を提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、請求項１記載の情報処理装置は、ネットワーク上のサーバにファイルのアップロードが可能な情報処理装置において、アップロードするファイルを少なくとも１つ選択するためのファイル選択手段と、前記ファイル選択手段で選択されたファイルのファイルパスの文字列をソートするソート手段と、前記ソート手段によりソートされた後のファイルパスをドライブ名とフォルダ名とファイル名に分割する分割手段と、前記分割手段により分割されたドライブ名とフォルダ名の等しいものでドライブ、フォルダをグループ化して、前記アップロードするファイルの階層表示を行う階層表示手段とを備えることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ネットワーク経由でクライアントＰＣからサーバにファイルをアップロードする際に、選択されたファイルの階層や位置関係、ファイル名を使用者にわかりやすく表示することができる。
【００１６】
また、本発明によれば、サーバにアップロード登録されたファイルとクライアントＰＣに保存されたファイルとの対応、ファイルの階層や位置関係を使用者にわかりやすく表示することができ、使用者の操作ミスや操作に要する時間を低減させることが可能になる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態に係る情報処理装置が接続されたネットワークシステムの一例を示すシステム構成図である。
【図２】図１におけるクライアントＰＣ、サーバのハードウェア構成の一例を示すブロック図である。
【図３】図１におけるクライアントＰＣ、サーバのソフトウェア構成の一例を示すブロック図である。
【図４】ファイルのアップロードを行う際にクライアントＰＣに表示された操作画面の一部を示す図である。
【図５】ファイルパスを分割してグループ化する方法を説明するための図であり、（ａ）は分割されたファイルパスの一例、（ｂ）はグループ化されたファイルパスの一例を示す。
【図６】階層表示モジュールによりクライアントＰＣに表示された操作画面の一例を示す図である。
【図７】クライアントＰＣにおけるファイルアップロード処理の一例を示すフローチャートである。
【図８】本発明の第２の実施形態におけるクライアントＰＣ、サーバのソフトウェア構成の一例を示すブロック図である。
【図９】サーバにおけるアップロードファイルの受信処理の一例を示すフローチャートである。
【図１０】サーバにおける階層情報の送信処理の一例を示すフローチャートである。
【図１１】階層表示モジュールによりクライアントＰＣに階層表示されるファイルパスの表示例を示す図である。
【図１２】新規選択ファイル結合モジュールによる新規選択ファイルの結合処理の一例を示すフローチャートである。
【図１３】階層情報が表示された新規ファイル選択時の操作画面の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００１９】
［第１の実施形態］
図１は、本発明の第１の実施形態に係る情報処理装置が接続されたネットワークシステム（情報処理システム）の一例を示すシステム構成図である。
【００２０】
図１において、複数のクライアントコンピュータ（以下、「クライアントＰＣ」とする）１０１は、インターネットやＬＡＮ等のネットワーク１００を介して、アプリケーションサーバ（以下、「サーバ」とする）１０２に接続されている。クライアントＰＣ１０１及びサーバ１０２は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ等で構成される情報処理装置（コンピュータ）により構成される。これらのハードウェア構成については後述する。
【００２１】
各クライアントＰＣ１０１は、ネットワーク閲覧モジュール（例えばＷｅｂブラウザ）を備え、専用又は汎用のファイルアップロードプログラムを実行することにより、Ｗｅｂブラウザを介してサーバ１０２に画像等のファイルをアップロードすることができる。複数のクライアントＰＣ１０１とサーバ１０２との間では、例えば、通信プロトコルとしてｈｔｔｐプロトコルが使用されている。
【００２２】
図２は、図１におけるクライアントＰＣ１０１、サーバ１０２のハードウェア構成の一例を示すブロック図である。本実施の形態では、一般的な情報処理装置のハードウェア構成について説明するが、本発明の実現が可能なものであれば、図示例に限定されるものではない。
【００２３】
図２において、ＣＰＵ２０１は、情報処理装置の演算・制御を司る中央演算装置である。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリとして、制御プログラムやデータの一時格納に利用されるランダムアクセスメモリである。
【００２４】
ＲＯＭ２０３は、ＣＰＵ２０１の制御プログラムを記憶するリードオンリーメモリである。ＲＯＭ２０３には、情報処理装置の機器制御を行うシステムプログラムである基本ソフト（ＯＳ）を記録したプログラムＲＯＭと、システムを稼働するために必要な情報等を記憶するデータＲＯＭがある。また、ＲＯＭ２０３の代わりに、後述のＨＤＤ２０９を用いる場合もある。
【００２５】
ＮＥＴＩＦ２０４は、ネットワークインターフェースであり、ネットワーク１００を介して、情報処理装置間のデータ転送を行うための制御や接続状況の診断を行う。ＶＲＡＭ２０５はビデオＲＡＭであり、後述する情報処理装置の稼働状態を示す操作画面をＣＲＴ２０６に表示させるために画像を展開し、その表示の制御を行う。
【００２６】
ＣＲＴ２０６はディスプレイ等の表示装置である。ＫＢＣ２０７は、ＫＢ２０８からの入力信号を制御するためのコントローラである。ＫＢ２０８は、使用者が行う操作を受け付けるための外部入力装置であり、例えばキーボードや、マウス等のポインティングデバイスが用いられる。
【００２７】
ＨＤＤ２０９はハードディスクドライブであり、アプリケーションプログラムや各種データが格納される。本実施形態におけるアプリケーションプログラムとは、後述する各種処理を実行するためのソフトウェアプログラム（モジュール）等である。
【００２８】
ＦＤＤ２１０は外部記録装置であり、ＦＤ２１３からデータを読み出したり、ＦＤ２１３にデータを記録したりするための装置である。なお、ＨＤＤ２０９に格納されるアプリケーションプログラムや各種データをＦＤＤ２１０を介してＦＤ２１３に格納することも可能である。この場合、ＦＤＤ２１０は、アプリケーションプログラムや各種データをＦＤ２１３から読み出したり、ＦＤ２１３に記録したりするために用いられる。
【００２９】
ＦＤ２１３は、ＦＤＤ２１０によって読み出しされる記録媒体（例えば、フレキシブルディスク（ＦＤ）や外付けハードディスク）である。なお、記録媒体は、フレキシブルディスクに限らず、光記録媒体（例えば、ＣＤ−ＲＯＭ）、光磁気記録媒体（例えば、ＭＯ）、半導体記録媒体（例えば、メモリカード）等の取り外し可能なデータ記録装置（リムーバブル・メディア）で構成されていてもよい。
【００３０】
ＰＲＴＣ２１１は、プリンタコントローラであり、ＰＲＴ２１２への出力信号を制御する。ＰＲＴ２１２はプリンタ（印刷装置、画像形成装置）であり、例えばＬＢＰ（Laser Beam Printer）等が用いられる。システムバス２００は、上述した各ユニット間を接続するための伝送バス（アドレスバス、データバス、入出力バス、及び制御バス）である。
【００３１】
図３は、図１におけるクライアントＰＣ１０１、サーバ１０２のソフトウェア構成の一例を示すブロック図である。
【００３２】
図３において、３０１〜３０８は処理モジュールである。これら処理モジュールは、図２に示したＲＯＭ２０３、ＨＤＤ２０９、又はＦＤ２１３より読み込まれてＲＡＭ２０２に展開され、ＣＰＵ２０１で使用されるアプリケーションプログラム又はプログラムの一部として動作する。
【００３３】
ファイル選択モジュール３０１は、ＨＴＭＬで記述されたファイル選択フォーム（ＨＴＭＬフォーム）を操作画面としてＣＲＴ２０６に表示し、サーバ１０２にアップロードするファイルの選択を操作画面上で使用者から受け付ける機能を有する。また、ファイル選択モジュール３０１は、使用者により選択された１つ又は複数のファイルのファイルパスの文字列をファイルパスソートモジュール３０２に渡す。さらに、ファイル選択モジュール３０１は、使用者により選択された複数のファイルパスの文字列を比較し、同じファイルパスの文字列が存在した場合は、該当するファイルパスを警告メッセージ表示モジュール３０６に渡す。
【００３４】
ファイルパスソートモジュール３０２は、ファイル選択モジュール３０１から受け取った複数のファイルパスの文字列を昇順又は降順でソートする機能を有する。なお、昇順、降順のどちらを使用しても構わない。ソートされた後のファイルパスの文字列は、ファイルパス分割モジュール３０３へ渡される。
【００３５】
ファイルパス分割モジュール３０３は、ソート後のファイルパスの文字列を解析して、ドライブ名、フォルダ名、ファイル名の区切り文字（または区切り記号。以下同）で分割し、分割したドライブ名、フォルダ名、ファイル名をファイルパスの配列として格納する機能を有する。
【００３６】
階層表示モジュール３０４は、格納されたファイルパスの配列からドライブ名、フォルダ名の等しいものでグループ化し、グループ化したものでクライアントＰＣ１０１のＣＲＴ２０６にファイルパスを階層表示する機能を有する。
【００３７】
警告メッセージ表示モジュール３０６は、ファイル選択モジュール３０１からファイルパスの文字列を受け取り、クライアントＰＣ１０１のＣＲＴ２０６に、同じファイルが存在する旨の警告表示を行う機能を有する。
【００３８】
合計ファイル数表示モジュール３０７は、グループ化されたドライブ、フォルダより下の階層に存在するファイル数の合計を計算し、クライアントＰＣ１０１のＣＲＴ２０６に階層表示のドライブ名、フォルダ名と共にファイル数を表示する機能を有する。ファイル送信モジュール３０５は、ファイル選択モジュール３０１で選択された１つ又は複数のファイルをクライアントＰＣ１０１からサーバ１０２へ送信する機能を有する。
【００３９】
サーバ１０２において、ファイル受信モジュール３０８は、クライアントＰＣ１０１からファイルを受信してサーバ１０２内に格納する機能を有する。
【００４０】
次に、クライアントＰＣ１０１からサーバ１０２へのファイルアップロード時の動作処理について説明する。
【００４１】
図４は、ファイルのアップロードを行う際にクライアントＰＣ１０１のＣＲＴ２０６に表示された操作画面の一部を示す図である。
【００４２】
図４において、４０１はファイル選択モジュール３０１がクライアントＰＣ１０１のＣＲＴ２０６に表示する操作画面の一部であり、ＨＴＭＬによって記述された画面をＷｅｂブラウザで表示したものである。操作画面４０１には、ファイル番号４０２、テキスト入力フィールド４０３、ファイル選択ダイアログ表示ボタン４０４、及びアップロード開始ボタン４０５が配置されている。
【００４３】
使用者が操作画面４０１上のファイル選択ダイアログ表示ボタン４０４を押下（クリック）すると、ファイル選択ダイアログ（不図示）が表示される。次に、使用者は、ファイル選択ダイアログを操作してアップロードを行うファイルを選択する。ファイル選択モジュール３０１は、不図示のファイル選択ダイアログ上で選択されたファイルのファイルパスをテキスト入力フィールド４０３に表示する。図示例では、テキスト入力フィールド４０３にファイルパスの文字列「C:\image\20081128\IMG0002.jpg」が表示される。ファイルを選択する方法として、選択したいファイルのファイルパスをテキスト入力フィールド４０３に直接入力してもよいし、専用アップロードプログラムへのコマンドライン入力によってファイルを選択してもよい。
【００４４】
なお、テキスト入力フィールド４０３には表示可能文字列数が設定されていることから、この表示可能文字列数よりもファイルパスの文字列数が多い場合、ファイルパスの先頭文字列から表示可能文字列数までがテキスト入力フィールド４０３に表示される。使用者がテキスト入力フィールド４０３に表示されていないファイルパスの文字列を確認したい場合、表示されている文字列をスクロールすることで確認することができる。
【００４５】
１つ又は複数のテキスト入力フィールド４０３に表示されている全てのファイルパスの文字列は、ファイル選択モジュール３０１によりファイルパスソートモジュール３０２に渡される。ここで複数のファイルパスが選択された場合、ファイル選択モジュール３０１は、全てのファイルパスの文字列を比較し、同じファイルパスの文字列が存在した場合は、該当するファイルパスを警告メッセージ表示モジュール３０６に渡す。なお、１つのファイルのみが選択されていた場合、ファイル選択モジュール３０１は、ファイルパスソートモジュール３０２にファイルパスの文字列を渡すことなく、ファイルパス分割モジュール３０３に渡すように構成してもよい。
【００４６】
次に、ファイルパス分割モジュール３０３によるファイルパスの分割及びグループ化の方法について説明する。
【００４７】
図５は、ファイルパスを分割してドライブ名、フォルダ名、ファイル名毎にグループ化する方法を説明するための図であり、（ａ）は分割されたファイルパスの一例を示し、（ｂ）はグループ化されたファイルパスの一例を示す。図示例では、４つのファイルのファイルパスが選択されたものとする。
【００４８】
図５（ａ）において、ファイルパス分割モジュール３０３は、例えば、ファイルパスソートモジュール３０２により昇順にソートされたファイルパスの文字列をドライブ名、フォルダ名、ファイル名の区切り文字で分割し、ファイルパスの配列５０６に格納する。ファイルパスの配列５０６は、ファイルパス分割モジュール３０３から階層表示モジュール３０４へ渡される。なお、ファイルパスの配列５０６は、分割されたファイルパスを格納するための仮想的なものであり、実際には、ＲＡＭ２０２やＨＤＤ２０９内に設けられた記憶領域である。
【００４９】
ファイルパスの区切り文字としては、「／」や「￥」を用いられるが、本実施形態では「￥」を用いている。なお、ファイルパスの文字列の先頭が区切り文字で始まる場合は、先頭の区切り文字の次の文字列から配列の１番目として扱う。これは、クライアントＰＣ１０１のＯＳがＷｉｎｄｏｗｓ（登録商標）の場合、ファイルパスの文字列の先頭にドライブ名（「Ｃ：」等）が入るが、Ｍａｃ  ＯＳ、Ｌｉｎｕｘ（登録商標）等のＯＳのファイルパスは区切り文字「／」から始まるためである。
【００５０】
ファイルパスの配列５０６において、１列目のドライブ名５０１にはドライブ名が格納され、２，３列目のフォルダ名５０２，５０３にはフォルダ名が格納され、４列目（最後）のファイル名５０４にはファイル名が格納されている。ドライブ名５０１、フォルダ名５０２，５０３、ファイル名５０４には、それぞれに配列番号５０５が割り当てられている。本実施の形態では、ドライブ名５０１に配列番号［１］、フォルダ名５０２，５０３には配列番号［２］，［３］、ファイル名５０４には配列番号［４］が割り当てられている。
【００５１】
なお、本実施形態では、１つのファイルパスが４つに分割された場合について説明するが、これに限定されず、５つ以上であっても３つ以下であってもよい。また、複数のファイルパスにおける各ファイルパスが同じ数に分割される必要はなく、互いに異なる数に分割されてもよいことは云うまでもない。５０３のマル付き数字１〜４は、上述した操作画面上のファイル番号４０２である。
【００５２】
次に、階層表示モジュール３０４が、ファイルパスの配列５０６からドライブ名とフォルダ名の等しいものでドライブ、フォルダをグループ化する流れを図５（ｂ）を参照して説明する。
【００５３】
まず、階層表示モジュール３０４は、先頭の配列番号［１］に格納されている文字列を比較し、同じ文字列の配列についてはグループ化を行う（図示のグループ５１１）。同じ文字列が存在しない単一の文字列についても一つの文字列でグループ化を行う（図示のグループ５１２）。
【００５４】
次に、配列番号［１］で同じグループ５１１となったファイルパスの中で、２番目の配列番号［２］に格納されている文字列を比較し、同じ文字列の配列について同様にグループ化を行う（図示のグループ５１３）。単一のファイルパスのグループ５１２についても配列番号［２］のグループ化を行う（図示のグループ５１４）。このとき、前の配列（例えば、配列番号［１］）のグループに含まれるファイルパスの数よりも後ろの配列（例えば、配列番号［２］）のグループに含まれるファイルパスの数が多くなることはない。
【００５５】
次に、配列番号［２］で同じグループ５１３となったファイルパスの中で、３番目の配列番号［３］に格納されている文字列を比較し、同じ文字列の配列について同様にグループ化を行う（図示のグループ５１５，５１６）。同様に、配列番号［２］の単一のファイルパスのグループ５１４についても配列番号［３］のグループ化を行う（図示のグループ５１７）。
【００５６】
次に、配列番号［３］で同じグループ５１５となったファイルパスの中で、４番目の配列番号［４］に格納されている文字列の比較し、同じ文字列の配列について同様にグループ化を行う。ここで、比較する文字列がファイル名であった場合、そのファイルパスのグループ化は終了となる。文字列がファイル名であるかどうかは、配列番号［ｎ］がファイルパスの最後であるかどうかで判定される。なお、文字列がファイル名であるかどうかの判定は、文字列に拡張子が付与されているかどうかで判定してもよい。
【００５７】
他のグループについても、配列番号［４］のグループに格納されている文字列がファイル名であることから、それらのファイルパスのグループ化を終了する。
【００５８】
このように、先頭の配列から同じ文字列のファイルパスをグループ化し、次の配列では前の配列で同じグループであったファイルパスの中で配列に格納されている文字列を比較してグループ化を行っていく。そして、配列に格納されている文字列がファイル名になるまで比較を繰り返し、ファイル名が格納されていればグループ化を終了する。
【００５９】
階層表示モジュール３０４は、上述した方法でグループ化したファイルパスの情報に基づいて、クライアントＰＣ１０１のＣＲＴ２０６にファイルパスを階層表示する。階層表示された画面の一例を図６に示す。なお、上述した方法でグループ化したファイルパスの情報とは、例えば、図５（ｂ）に示すようなファイルパスの配列を意味する。
【００６０】
次に、階層表示モジュール３０４が、グループ化したファイルパスを階層表示する動作について図６を参照して説明する。
【００６１】
図６において、操作画面４０１上の階層表示部６１０には、上述した４つファイルパスの階層表示がなされている。このとき、階層表示モジュール３０４は、ファイルパスの先頭の配列であるドライブのアイコンから順番に操作画面に配置し、続いてフォルダのアイコン、最後にファイルのアイコンを配置する。
【００６２】
最初に、図５（ｂ）に示す配列番号［１］の全てのグループ（ドライブ）を縦に並べて画面上に配置する。グループ５１１に対応するドライブ「Ｃ：」のアイコンが６１１、グループ５１２に対応するドライブ「Ｄ：」のアイコンが６１２となる。このとき、階層表示モジュール３０４は、階層表示部６１０に表示するアイコン画像の配置スペースを考慮して、グループに含まれるファイルパスの数分のアイコン画像の配置スペースを確保する。例えば、グループ５１１にはファイルパスが３つ含まれているため、アイコン６１１の配置スペースとして３行分を空けておく。グループ５１２にはファイルパスが１つ含まれていることから、アイコン６１２の配置スペースとして１行分を空けておく。
【００６３】
次に、階層表示モジュール３０４は、配列番号［２］の全てのグループ（フォルダ）を画面に配置する。配列番号［２］のグループは、同じファイルパスの配列番号［１］のグループ（ドライブ）の右横に配置される。同じファイルパスの配列番号［１］のグループに対して配列番号［２］に複数のグループが存在する場合は、複数のグループが順番に下方向に配置される。グループ５１３に対応するフォルダ「Ｉｍａｇｅ」のアイコンが６１３、グループ５１４に対応するフォルダ「Ｉｍａｇｅ２」のアイコンが６１４となる。同様に、配列番号［３］についてもフォルダの配置を行う。
【００６４】
配列番号［２］のグループ５１３に配列番号［３］のグループは２つ存在するため、アイコン６１３の横にグループ５１５に対応するフォルダ「２００８１１２８」のアイコン６１５が配置される。そして、アイコン６１５の下方にグループ５１６に対応するフォルダ「２００８１１３０」のアイコン６１６が配置される。このとき、グループ５１５には２つのファイルパスが含まれているため、アイコン６１５の配置スペースとして２行分を空けておく。グループ５１６には１つのファイルパスが含まれているため、アイコン６１６の配置スペースとして１行分を空けておく。続いて、配列番号［２］のグループ５１４に存在する配列番号［３］のグループ５１７に対応するフォルダ「２００８１１３０」のアイコン６１７が配置される。
【００６５】
次に、階層表示モジュール３０４は、配列番号［４］の全てのグループ（ファイル）を画面に配置する。本実施形態では、いずれのファイルパスも配列番号［４］が配列の最後であるため、ファイル名が格納されているが、各ファイルパスの配列数は異なってもよい。
【００６６】
配列番号［３］のグループ５１５より下位に存在する配列番号［４］のグループ５１８，５１９は、いずれも最後の配列である。グループ５１５に対応するアイコン６１５の右側には、グループ５１８に対応するファイル「ＩＭＧ０００１．ｊｐｇ」のアイコン６１８、グループ５１９に対応するファイル「ＩＭＧ０００２．ｊｐｇ」のアイコン６１９が配置される。同様に、グループ５１６に対応するアイコン６１６の右側にグループ５２０に対応するファイル「ＩＭＧ０００３．ｊｐｇ」のアイコン６２０が配置される。グループ５１７に対応するアイコン６１７の右側にグループ５２１に対応するファイル「ＩＭＧ０００１．ｊｐｇ」のアイコン６２１が配置される。
【００６７】
次に、合計ファイル数表示モジュール３０７によって、ドライブのアイコン６１１，６１２、フォルダのアイコン６１３〜６１７に含まれるファイル数の計算が行われる。ファイル数の計算方法は、アイコンに対応するグループに含まれているファイルパスをカウントすることで行われる。例えば、アイコン６１１に対応するグループ５１１に含まれるファイルパスは３つであるため、合計ファイル数６２２は３枚となる。同様に、アイコン６１３の合計ファイル数６２３は３枚、アイコン６１５の合計ファイル数６２４は２枚、アイコン６１６の合計ファイル数６２５は１枚となる。このように、合計ファイル数表示モジュール３０７により、全てのドライブ、フォルダの合計ファイル数が計算される。
【００６８】
最後に、合計ファイル数表示モジュール３０７は、図示のように、配置したアイコン同士で同じファイルパスであるものを線で結び、アイコン上にドライブ名、フォルダ名、ファイル名、合計ファイル数を記述したものをＣＲＴ２０６に表示する。
【００６９】
次に、クライアントＰＣ１０１からサーバ１０２へのファイルアップロード時の一連の動作処理について図７を参照して説明する。
【００７０】
図７は、クライアントＰＣ１０１におけるファイルアップロード処理の一例を示すフローチャートである。
【００７１】
まず、ファイル選択モジュール３０１は、操作画面を表示して使用者からサーバ１０２にアップロードするファイルの選択を受け付ける（ステップＳ７０１）。例えば、図６に示す操作画面４０１上で使用者がファイル選択ダイアログ表示ボタン４０４を押下すると、ファイル選択モジュール３０１がファイル選択ダイアログ（不図示）を表示する。そして、ファイル選択ダイアログにてファイルが選択されると、ファイル選択モジュール３０１が、当該ファイルのファイルパスをファイル番号１のテキスト入力フィールド４０３に表示する。
【００７２】
ステップＳ７０１で複数のファイルパスが選択された場合、ファイル選択モジュール３０１は、同じファイルパスの文字列が存在するか否かを判別する。この判別の結果、ファイル選択モジュール３０１で選択されたファイルが同じであった場合（同じファイルパスの文字列が存在した場合）は（ステップＳ７０２でＹＥＳ）、警告メッセージ表示モジュール３０６へ該当するファイルパスが渡される。
【００７３】
同じファイルパスの文字列が存在した場合、警告メッセージ表示モジュール３０６は、後から選択されたファイルパスについて、重複したファイルパスとしてフラグを持っておく。そして、階層表示モジュール３０４が重複したファイルパスのフラグを持ったファイルのアイコンを表示する際に、選択されたファイルが重複している旨の警告メッセージ（不図示）をアイコン上に表示し（ステップＳ７０７）、アイコンの外枠を強調表示する。なお、メッセージや強調表示等、選択されたファイルが重複している旨を示すために他のメッセージや表現等を用いてもよい。
【００７４】
次に、ファイル選択時に同じファイルパスの文字列が存在しなかった場合（ステップＳ７０２でＮＯ）、テキスト入力フィールド４０３に表示されたファイルパスの文字列をファイルパスソートモジュール３０２が受け取る。そして、上述したファイルパスの文字列を昇順ソートする（ステップＳ７０３）。
【００７５】
次に、昇順ソートされたファイルパスの文字列をファイルパス分割モジュール３０３が受け取り、区切り文字「￥」で分割して、図５（ａ）に示すようなファイルパスの配列５０６に格納する（ステップＳ７０４）。そして、分割されたファイルパスの配列５０６を階層表示モジュール３０４が受け取り、階層表示部６１０にテキスト入力フィールド４０３に表示されたファイルパスに対応する階層表示を行う（ステップＳ７０５）。このとき、選択されたファイルが１つであることから、図６に示すアイコン６１１，６１３，６１５，６１９が表示されるものとする。ここまでがファイルを一つ選択してからファイルパスが階層表示されるまでの処理になる。
【００７６】
続いて、操作画面４０１上のファイル選択ダイアログ表示ボタン６０４が押下されて２つ目のファイルが選択されると、ステップＳ７０１〜Ｓ７０５の処理が行われ、テキスト入力フィールド６０３に表示されたファイルパスの階層表示が行われる。このとき、選択されたファイルが２つであることから、図６に示すアイコン６１１，６１３，６１５，６１８，６１９が表示されるものとする。また、２つのファイルが昇順ソートされることから、ファイル番号１に対応するアイコン６１９とファイル番号２に対応するアイコン６１８が画面上で上下逆に配置される。
【００７７】
続いて、操作画面４０１上でファイル選択ダイアログ表示ボタン６０６が押下されて３つ目のファイルが選択されると、同様に、ステップＳ７０１からＳ７０５の処理が行われ、テキスト入力フィールド６０５に表示されたファイルパスの階層表示が行われる。このとき、選択されたファイルが３つであることから、図６に示すアイコン６１１，６１３，６１５，６１６，６１８，６１９，６２０が表示されるものとする。また、３つのファイルが昇順ソートされることから、ファイル番号３に対応するアイコン６２０がアイコン６１９の下方に配置される。
【００７８】
続いて、操作画面４０１上でファイル選択ダイアログ表示ボタン６０８が押下されて４つ目のファイルが選択されると、同様に、ステップＳ７０１からＳ７０５の処理が行われ、テキスト入力フィールド６０７に表示されたファイルパスの階層表示が行われる。このとき、選択されたファイルが４つであることから、図６に示すアイコン６１１〜６２１が表示されるものとする。また、４つのファイルが昇順ソートされることから、ファイル番号４に対応するアイコン６１２，６１４，６１７，６２１がアイコン６１６，６２０の下方に配置される。このように、使用者が新規にファイル選択を行う度に、新しいファイルが追加された階層表示が行われる。
【００７９】
ファイル選択を終えてアップロード開始ボタン４０５が押下されると（ステップＳ７０６でＹＥＳ）、ファイル送信モジュール３０５が、選択された全てのファイルをクライアントＰＣ１０１からネットワーク１００を介してサーバ１０２へ送信される。そして、サーバ１０２は、ファイル受信モジュール３０８によってファイルを受信し、受信したファイルを格納する。
【００８０】
上記第１の実施形態によれば、クライアントＰＣからサーバにアップロードするファイルを操作画面上で選択させ、当該ファイルのファイルパスの文字列をソートし、ソート後のファイルパスを解析してドライブ名、フォルダ名、ファイル名に分割する。そして、分割されたドライブ名とフォルダ名の等しいものでドライブ、フォルダをグループ化してファイルパスが表示された操作画面上に階層表示する。これにより、クライアントＰＣからネットワーク上のサーバにファイルをアップロードする際に、選択されたファイルの階層や位置関係、ファイル名を使用者にわかりやすく表示することができる。その結果、使用者の操作ミスを低減させることが可能になる。
【００８１】
また、操作画面上のテキスト入力フィールドに表示されたファイルパスのスクロール等の操作を行わなくても、ファイルパスが階層表示された画面上で容易にファイル名を確認することができる。
【００８２】
［第２の実施形態］
本発明の第２の実施の形態に係る情報処理装置は、その情報処理装置が接続されたネットワークシステム構成（図１）及びハードウェア構成（図２）が上記第１の実施の形態と同じである。以下に、上記第１の実施の形態と異なる点のみを説明する。
【００８３】
図８は、本発明の第２の実施形態におけるクライアントＰＣ１０１、サーバ１０２のソフトウェア構成の一例を示すブロック図である。
【００８４】
図８において、８０１〜８１０，８２１〜８２６は処理モジュールである。これら処理モジュールは、図２に示したＲＯＭ２０３、ＨＤＤ２０９、又はＦＤ２１３より読み込まれてＲＡＭ２０２に展開され、ＣＰＵ２０１で使用されるアプリケーションプログラム又はプログラムの一部として動作する。登録ファイル記憶部８１１、登録ファイルパス記憶部８１２は、サーバ１０２内のＨＤＤ２０９等に確保された記憶領域（または記憶装置）である。
【００８５】
ファイル送信モジュール８０１は、ＨＴＭＬで記述されたファイル選択フォームを操作画面としてＣＲＴ２０６に表示し、使用者により操作画面上で選択されたファイルをサーバ１０２へ送信する機能を有する。また、ファイル送信モジュール８０１は、アップロードするファイルのファイルパスを送信する機能を有する。
【００８６】
ファイル受信モジュール８０２は、クライアントＰＣ１０１から送信されたファイルとファイルパスを受信し、ファイルを登録ファイル記憶部８１１に格納する機能を有する。ファイルパス登録モジュール８０３は、ファイル受信モジュール８０２で受信したファイルパスの文字列を登録ファイルパス記憶部８１２に格納する機能を有する。
【００８７】
使用者が図４に示すような操作画面４０１上のファイル選択ダイアログ表示ボタン４０４を押下（クリック）すると、ファイル選択ダイアログ（不図示）が表示される。次に、使用者は、ファイル選択ダイアログ４０６を操作してアップロードを行うファイルを選択する。
【００８８】
ファイル送信モジュール８０１は、不図示のファイル選択ダイアログ上で選択されたファイルのファイルパスをテキスト入力フィールド４０３に表示する。ファイルを選択する方法として、選択したいファイルのファイルパスをテキスト入力フィールド４０３に直接入力してもよいし、専用アップロードプログラムへのコマンドライン入力によってファイルを選択してもよい。
【００８９】
なお、テキスト入力フィールド４０３には表示可能文字列数が設定されていることから、この表示可能文字列数よりもファイルパスの文字列数が多い場合、ファイルパスの先頭文字列から表示可能文字列数までがテキスト入力フィールド４０３に表示される。使用者がテキスト入力フィールド４０３に表示されていないファイルパスの文字列を確認したい場合、表示されている文字列をスクロールすることで確認することができる。
【００９０】
ファイル選択を終えてアップロード開始ボタン４０５が押下されると、ファイル送信モジュール８０１は、選択されたすべてのファイルとファイルパスの文字列をネットワーク１００を介してサーバ１０２に送信する。そして、サーバ１０２は、ファイル受信モジュール８０２によってファイルを受信し、受信したファイルを登録ファイル記憶部８１１に格納する。また、受信したファイルパスは、ファイルパス登録モジュール８０３によって登録ファイルパス記憶部８１２に格納される。
【００９１】
ファイルパスソートモジュール８０４は、登録ファイルパス記憶部８１２から取得した複数のファイルパスの文字列を昇順又は降順でソートする機能を有する。なお、昇順、降順のどちらを使用しても構わないが、ソートされた結果のファイルパスの順番に基づいて、階層情報作成モジュール８０６で階層情報が作成される。ソートされた後のファイルパスの文字列は、ファイルパス分割モジュール８０５へ渡される。
【００９２】
ファイルパス分割モジュール８０５は、ソート後のファイルパスの文字列を解析してドライブ名、フォルダ名、ファイル名の区切り文字で分割し、各ドライブ名、フォルダ名、ファイル名を図５（ａ）に示すようなファイルパスの配列として格納する機能を有する。分割方法の詳細については、上記第１の実施形態で説明した通りである。分割後のファイルパスの配列５０６は、階層情報作成モジュール８０６へ渡される。
【００９３】
階層情報作成モジュール８０６は、上記ファイルパスの配列からドライブ名、フォルダ名の等しいものでグループ化した階層情報を作成し、クライアントＰＣ１０１へ階層情報を送信する機能を有する。ドライブ名、フォルダ名のグループ化の方法については、上記第１の実施形態における図５（ｂ）で説明した内容と同じであり、その説明は省略する。ファイルパスの階層情報は、上記第１の実施形態における図６で説明したファイルパスの階層表示方法に必要な情報であって、例えば、ドライブやフォルダのアイコンの配置情報やアイコン間の結線情報等が含まれる。
【００９４】
なお、操作画面上に配置されるファイルのアイコンは、例えば、対応するファイルが画像である場合は画像のサムネイル画像となり、動画である場合は動画の代表サムネイル画像となるが、ファイルを容易に識別できる方法であればどのような方法であってもよい。また、使用者がクライアントＰＣ１０１で新規選択ファイル結合モジュール３０９を使用する場合は、上記階層情報に登録ファイルパス記憶部８１２から取得した登録済みファイルパスの文字列を付加しておく。
【００９５】
合計ファイル数計算モジュール８０７は、各ドライブ、フォルダに含まれる合計ファイル数を計算する機能を有する。また、合計ファイル数計算モジュール８０７は、計算した合計ファイル数の情報を階層情報に付加してクライアントＰＣ１０１に送信することもできる。ファイル数の計算方法については、上記第１の実施形態で説明した通りである。なお、上記ファイルの階層情報は、ＨＴＭＬやＸＭＬ等のマークアップ言語でもよいし、画像等のイメージ情報であってもかまわない。
【００９６】
階層表示モジュール８０８は、サーバ１０２からファイルの階層情報を受信し、この階層情報に基づいてＣＲＴ２０６にファイルパスを階層表示する機能を有する。ファイルの階層情報に上記合計ファイル数の情報が付加されていた場合、階層表示モジュール８０８は、各ドライブ、各フォルダに含まれる合計ファイル数を合わせて表示することができる。
【００９７】
新規選択ファイル結合モジュール８０９は、既にサーバにアップロード済みのファイルと新規選択ファイルをマージした階層情報を表示する機能を有する。新規選択ファイル結合モジュール８０９には、以下に説明する各種モジュールが含まれる。
【００９８】
登録済みファイルパス取得モジュール８２１は、階層情報から登録済みファイルパスの文字列とファイル送信モジュール８０１で選択された新規選択ファイルのファイルパス文字列を取得し、これらのファイルパスの文字列をマージする機能を有する。また、登録済みファイルパス取得モジュール８２１は、登録済みファイルパスの文字列と新規選択されたファイルのファイルパスの文字列について、同じファイルパスの文字列が存在しないかを比較する機能を有する。同じファイルパスの文字列が存在した場合、同じファイルパスの文字列を警告メッセージ表示モジュール８２６に渡す。そして、登録済みファイルパス取得モジュール８２１は、同じファイルパスの文字列が存在しても冗長がないように、これらのファイルパスの文字列をマージして、ファイルパスの文字列をマージしたファイルパスソートモジュール８２２に渡す。
【００９９】
マージしたファイルパスソートモジュール８２２は、マージしたファイルパスの文字列を昇順又は降順でソートする機能を有する。なお、昇順、降順のどちらを使用しても構わない。ソートされた後のマージしたファイルパスの文字列は、マージしたファイルパス分割モジュール８２３へ渡される。
【０１００】
マージしたファイルパス分割モジュール８２３は、ソート後のマージしたファイルパスの文字列を解析してドライブ名、フォルダ名、ファイル名の区切り文字で分割し、各ドライブ名、フォルダ名、ファイル名をファイルパスの配列として格納する機能を有する。
【０１０１】
マージした階層情報表示モジュール８２４は、上記ファイルパスの配列からドライブ名とフォルダ名の等しいものでドライブ、フォルダをグループ化した「マージした階層情報」を作成する機能を有する。また、クライアントＰＣ１０１のＣＲＴ２０６に「マージした階層情報」を表示する機能を有する。
【０１０２】
マージした合計ファイル数表示モジュール８２５は、階層情報が作成されたときに、各ドライブ、フォルダに含まれるマージした合計ファイル数を計算し、「マージした階層情報」に合計ファイル数の情報を追加して表示する機能を有する。
【０１０３】
警告メッセージ表示モジュール８２６は、モジュール８２１で登録済みファイルと新規選択ファイルのファイルパスの文字列が一致しているものが含まれていた場合、「マージした階層情報」に同じファイルが存在する旨の警告メッセージを付加する機能を有する。合計ファイル数表示モジュール８１０は、マージした階層情報表示モジュール８２４でグループ化されたドライブ、フォルダより下の階層に存在するファイル数の合計を計算する機能を有する。また、クライアントＰＣ１０１のＣＲＴ２０６に階層表示のドライブ名、フォルダ名と共にファイル数を表示する機能を有する。
【０１０４】
次に、サーバ１０２がアップロードファイルとファイルパスを受信して登録ファイル記憶部８１１、登録ファイルパス記憶部８１２へ格納する流れについて図９を参照して説明する。
【０１０５】
図９は、サーバ１０２におけるアップロードファイルの受信処理の一例を示すフローチャートである。
【０１０６】
ファイル受信モジュール８０２は、クライアントＰＣ１０１からアップロードされたファイルを受信し（ステップＳ１００１）、該ファイルを登録ファイル記憶部８１１に格納する（ステップＳ１００２）。そして、ファイルパス登録モジュール８０３は、ファイルと同時に受信したファイルパスの文字列を登録ファイルパス記憶部８１２に格納する（ステップＳ１００３）。
【０１０７】
次に、サーバ１０２が登録ファイルパス記憶部８１２からファイルパスを取得し、クライアントＰＣ１０１へ階層情報を送信する流れについて図１０を参照して説明する。
【０１０８】
図１０は、サーバ１０２における階層情報の送信処理の一例を示すフローチャートである。
【０１０９】
ファイルパスソートモジュール８０４は、上記ファイルパスの文字列を登録ファイルパス記憶部８１２から取得する（ステップＳ１００１）。そして、ファイルパスの文字列を昇順又は降順でソートし（ステップＳ１００２）、ソート後のファイルパスの文字列をファイルパス分割モジュール８０５へ渡す。
【０１１０】
ファイルパス分割モジュール８０５は、上記ソート後のファイルパスの文字列を解析してドライブ名、フォルダ名、ファイル名の区切り文字で分割する（ステップＳ１００３）。そして、分割したドライブ名、フォルダ名、ファイル名をファイルパスの配列として格納して（ステップＳ１００４）、階層情報作成モジュール８０６へ渡す。
【０１１１】
階層情報作成モジュール８０６は、上記ファイルパスの配列からドライブ名とフォルダ名の等しいものでドライブ、フォルダをグループ化した階層情報を作成する（ステップＳ１００５，Ｓ９０７）。そして、クライアントＰＣ１０１へ階層情報を送信する（ステップＳ１００８）。このとき、合計ファイル数計算モジュール８０７は、各ドライブ、各フォルダに含まれる合計ファイル数を計算し（ステップＳ１００６）、階層情報に合計ファイル数の情報を追加して送信することもできる。
【０１１２】
図１１は、階層表示モジュール８０８によりクライアントＰＣのＣＲＴ２０６に階層表示される４つのファイルパスの表示例を示す図である。
【０１１３】
階層表示モジュール８０８は、サーバ１０２から上記ファイルの階層情報を受信し、ＣＲＴ２０６にファイルの階層情報を階層表示する（１１０１）。このとき、階層情報に上記合計ファイル数の情報が付加されていた場合、マージした合計ファイル数表示モジュール８２５によって各ドライブ、フォルダに含まれるマージした合計ファイル数１１０２を表示することができる。
【０１１４】
次に、新規選択ファイル結合モジュール８０９による新規選択ファイルを結合する流れについて図１２を参照して説明する。
【０１１５】
図１２は、新規選択ファイル結合モジュール８０９による新規選択ファイルの結合処理の一例を示すフローチャートである。
【０１１６】
クライアントＰＣ１０１にてサーバ１０２へファイルをアップロード登録したい使用者は、ファイル送信モジュール８０１によってアップロードするファイルを選択し、サーバ１０２へ送信する。このとき、新規選択ファイル結合モジュール８０９は、サーバ１０２から受信した階層情報に、新規に選択されたファイルを結合して、アップロードするファイルの階層表示を行う。
【０１１７】
図１２において、まず、クライアントＰＣ１０１の階層表示モジュール８０８は、サーバ１０２の階層情報作成モジュール８０６から送信された階層情報を受信する（ステップＳ１２０１）。そして、この階層情報に基づいてＣＲＴ２０６に登録済みファイルのファイルパスの階層表示を行う（ステップＳ１２０２）。
【０１１８】
次に、ファイル送信モジュール８０１は、表示した操作画面上で使用者により、新規にアップロードするファイルの選択が行われたかどうかを判定する（ステップＳ１２０３）。新規にアップロードするファイルの選択が行われていた場合は、新規選択ファイル結合モジュール８０９が以下の処理を実行する。
【０１１９】
まず、登録済みファイルパス取得モジュール８２１は、ステップＳ１２０１で受信した階層情報から登録済みファイルパスの文字列を取得する（ステップＳ１２０４）。ステップＳ１２０４は第１の取得ステップの一例である。
【０１２０】
次に、登録済みファイルパス取得モジュール８２１は、ファイル送信モジュール８０１により表示された操作画面上で新規に選択されたファイルのファイルパスの文字列も取得する（ステップＳ１２０５）。ステップＳ１２０５は第２の取得ステップの一例である。そして、登録済みファイルパス取得モジュール８２１は、ステップＳ１２０４，Ｓ１２０５で取得したファイルパスの文字列をマージして（ステップＳ１２０６）、マージしたファイルパスソートモジュール８０４に渡す。ここで、登録済みファイルパス取得モジュール８２１は、マージしたファイルパスの文字列に同じものが存在しないかを比較する（ステップＳ１２０７）。その比較結果は、後の処理で使用される。
【０１２１】
マージしたファイルパスソートモジュール８２２は、マージされたファイルパスの文字列を昇順又は降順でソートし（ステップＳ１２０８）、ソート後のマージされたファイルパスの文字列をマージしたファイルパス分割モジュール８２３へ渡す。
【０１２２】
マージしたファイルパス分割モジュール８２３は、上記ソート後のマージされたファイルパスの文字列をドライブ名、フォルダ名、ファイル名の区切り文字で分割する（ステップＳ１２０９）。そして、分割したドライブ名、フォルダ名、ファイル名をファイルパスの配列として格納し（ステップＳ１２１０）、マージした階層情報表示モジュール８２４へ渡す。
【０１２３】
マージした階層情報表示モジュール８２４は、上記ファイルパスの配列からドライブ名とフォルダ名の等しいものでドライブ、フォルダをグループ化した「マージした階層情報」を作成する（ステップＳ１２１１，Ｓ１２１３）。そして、クライアントＰＣ１０１のＣＲＴ２０６に「マージした階層情報」を表示する（ステップＳ１２１６）。
【０１２４】
マージした合計ファイル数表示モジュール８２５は、「マージした階層情報」から各ドライブ、各フォルダに含まれるマージした合計ファイル数を計算する（ステップＳ１２１２）。そして、マージした合計ファイル数表示モジュール８２５は、算出された合計ファイル数の情報を「マージした階層情報」に追加して、当該「マージした階層情報」を表示する。
【０１２５】
ステップＳ１２０７の比較結果において、登録済みファイルパスの文字列と新規選択されたファイルのファイルパスの文字列に一致しているものが含まれていた場合（ステップＳ１２１４でＹＥＳ）、ステップＳ１２１５へ進む。ステップＳ１２１５では、警告メッセージ表示モジュール８２６は、「マージした階層情報」に同じファイルが存在する旨の警告メッセージを付加して、ステップＳ１２１６へ進む。
【０１２６】
図１３に示す操作画面４０１上で使用者によりアップロード開始ボタン４０５が押下された場合（ステップＳ１２１７でＹＥＳ）、ファイル送信モジュール８０１は、サーバ１０２へアップロードファイルとファイルパス情報を送信する（ステップＳ１２１８）。アップロード開始ボタン４０５が押下されるまでは、ステップＳ１２０３からステップＳ１２１７の処理が繰り返される。
【０１２７】
図１３は、ファイル送信モジュール８０１によって表示された操作画面の下部に「マージした階層情報」１３０１が表示された新規ファイル選択時の操作画面４０１の一例を示す図である。
【０１２８】
ファイル番号１のテキスト入力フィールド４０３で選択された新規選択ファイルパスは、１３０５に表示されている。このとき、アイコンと共にファイル番号１３０２も表示される。このファイル番号１３０２によって、どのファイル選択フォームがどのアイコンに対応しているかを容易に確認できる。そして、マージした合計ファイル数表示モジュール８２５によって、登録済みファイルと新規選択ファイルのマージした合計ファイル数１３０４がドライブ又はフォルダアイコンと共に表示される。
【０１２９】
警告メッセージ表示モジュール８２６は、重複したファイルパスを階層表示する場合、アイコンの外枠を強調表示して（１３０７）、警告メッセージ１３０８を表示する。また、警告メッセージ表示モジュール８２６は、登録済みファイルパスと新規選択ファイルのファイルパスが重複していた場合は、リンクを設定するチェックボックス１３０９を表示する。このチェックボックス１３０９がＯＮの場合は、新規選択ファイルのアップロードが行われずに、サーバ１０２に登録済みファイルとリンクさせて、登録済みファイルを参照するように設定される。チェックボックスがＯＦＦの場合は、新規選択ファイルのアップロードが行われる。重複のない新規選択ファイルのファイルパスについては、通常のアイコン表示が行われ、新規選択ファイルである旨を示すメッセージ１３１０が表示される。
【０１３０】
このように、階層表示モジュール８０８によって登録済みファイルパス１３０３等が表示され、新規選択ファイルパス１３０５，１３０６等がマージされて階層情報が表示される。
【０１３１】
上記第２の実施形態によれば、サーバ上に登録されたファイルとクライアントＰＣのファイルの対応が階層表示によって使用者に視覚的にわかりわかりやすく表示することができ、使用者の操作ミスや操作に要する時間を低減させることが可能になる。
【０１３２】
上記実施の形態では、アップロードするファイルが画像ファイルの場合について説明したが、これに限定されず、動画ファイルであっても、またテキストファイルやプログラムであってもよい。また、クライアントＰＣは、携帯電話やノートＰＣ等の携帯端末であっても、プリンタや複合機等の画像形成装置、画像処理装置であってもよい。
【０１３３】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【０１３４】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１３５】
１０１  クライアントＰＣ
１０２  サーバ
３０１  ファイル選択モジュール
３０２  ファイルパスソートモジュール
３０３  ファイルパス分割モジュール
３０４  階層表示モジュール
３０５  ファイル送信モジュール
３０６  警告メッセージ表示モジュール
３０７  合計ファイル数表示モジュール
３０８  ファイル受信モジュール
【図１】
2011076217.tif 000003
【図２】
2011076217.tif 000004
【図３】
2011076217.tif 000005
【図４】
2011076217.tif 000006
【図５】
2011076217.tif 000007
【図６】
2011076217.tif 000008
【図７】
2011076217.tif 000009
【図８】
2011076217.tif 000010
【図９】
2011076217.tif 000011
【図１０】
2011076217.tif 000012
【図１１】
2011076217.tif 000013
【図１２】
2011076217.tif 000014
【図１３】
2011076217.tif 000015