(57)【特許請求の範囲】
【請求項１】
監視対象のディレクトリである監視対象ディレクトリに格納されるファイルを別のディレクトリに振り分ける文書管理装置と、情報処理装置とが相互に接続可能な文書管理システムであって、
前記情報処理装置は、
前記監視対象ディレクトリを特定するための情報を用いて、前記監視対象ディレクトリに格納されるファイルの格納状況に関する情報を取得すべく、前記文書管理装置に対して当該ファイルの格納状況に関する情報の取得要求を送信する取得要求送信手段と、
前記取得要求送信手段により送信された取得要求に応じて前記文書管理装置より送信される、当該文書管理装置の前記監視対象ディレクトリから振り分け先のディレクトリである転送先ディレクトリに振り分けられた前記ファイルの振り分けに関する振分結果情報を受信する受信手段と、
を備え、
前記文書管理装置は、
前記監視対象ディレクトリに格納される前記ファイルを、予め設定されているファイルの振分条件を用いることにより、前記転送先ディレクトリに振り分ける振分手段と、
前記振分手段により前記監視対象ディレクトリから前記転送先ディレクトリに振り分けられた前記ファイルの振分結果情報を記憶する記憶手段と、
前記情報処理装置の取得要求送信手段による、前記監視対象ディレクトリに格納される前記ファイルの格納状況に関する情報の取得要求を受け付けた場合に、前記監視対象ディレクトリに格納され存在していた、前記振分手段で前記転送先ディレクトリに振り分けられたファイルの情報であって、前記記憶手段で記憶した前記振分結果情報を取得する取得手段と、
前記取得手段により取得した前記振分結果情報を前記情報処理装置に送信する結果情報送信手段と
を備えることを特徴とする文書管理システム。
【請求項２】
前記取得手段による前記振分結果情報の取得処理が、前記振分手段による振り分け処理中に実行されるか判定する判定手段
を備え、
前記振分手段は、前記判定手段で、前記取得手段による振分結果情報の取得処理が前記振分手段による振り分け処理中に実行されると判定した場合に、実行中の当該振り分け処理を中断し、前記取得手段による振分結果情報の取得処理がされた場合に、前記振分手段による振り分け処理を再開し、
前記記憶手段は、前記判定手段で、前記取得手段による振分結果情報の取得処理が前記振分手段による振り分け処理中に実行されると判定した場合に、前記振り分け処理に応じた振分結果情報の記憶処理を中断し、前記取得手段による振分結果情報の取得処理がされた場合に、前記振分手段による振り分け処理を再開に応じて、前記振分結果情報の記憶処理を再開し、
前記結果情報送信手段は、前記取得要求送信手段により送信された取得要求に応じた前記振り分け処理の中断がされるまでに前記記憶手段に記憶された振分結果情報を送信することを特徴とする請求項１に記載の文書管理システム。
【請求項３】
前記文書管理装置において、
前記取得手段により取得した前記監視対象ディレクトリから前記ファイルが転送先ディレクトリに振り分けられた更新時刻情報を用いることにより、前記結果情報送信手段により前記振分結果情報が既に前記情報処理装置に送信されているか否かを判定する送信判定手段を更に備え、
前記結果情報送信手段は、前記送信判定手段により前記監視対象ディレクトリから転送先ディレクトリに振り分けたファイルの振分結果情報が前記情報処理装置に未だ送信されていないと判定された場合に、当該情報処理装置に未送信の振分結果情報を前記情報処理装置に送信することを特徴とする請求項１又は２に記載の文書管理システム。
【請求項４】
前記文書管理装置において、
前記監視対象ディレクトリに格納される前記ファイルの転送先となる前記転送先ディレクトリが存在するかを判定する存在判定手段と、
前記存在判定手段により前記ファイルの転送先となる前記転送先ディレクトリが存在すると判定された場合に、前記監視対象ディレクトリから転送先ディレクトリへ前記ファイルを振り分け、また、前記ファイルの転送先となる前記転送先ディレクトリが存在しないと判定された場合には、前記ファイルの転送先となる前記転送先ディレクトリを新たに生成するディレクトリ生成手段と
を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の文書管理システム。
【請求項５】
前記情報処理装置において、
前記受信手段で受信した前記文書管理装置の前記転送先ディレクトリに保存されたファイルの振分結果情報を表示部に表示する振分結果表示手段
を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載の文書管理システム。
【請求項６】
監視対象のディレクトリである監視対象ディレクトリを特定するための情報を用いて、前記監視対象ディレクトリに格納されるファイルの格納状況に関する情報を取得すべく、文書管理装置に対して当該ファイルの格納状況に関する情報の取得要求を送信する取得要求送信手段と、を備える情報処理装置と接続可能であり、前記監視対象のディレクトリである監視対象ディレクトリに格納されるファイルを別のディレクトリに振り分ける文書管理装置であって、
前記監視対象ディレクトリに格納される前記ファイルを、予め設定されているファイルの振分条件を用いることにより、振り分け先のディレクトリである転送先ディレクトリに振り分ける振分手段と、
前記振分手段により前記監視対象ディレクトリから前記転送先ディレクトリに振り分けられた前記ファイルの振分結果情報を記憶する記憶手段と、
前記情報処理装置の取得要求送信手段による、前記監視対象ディレクトリに格納される前記ファイルの格納状況に関する情報の取得要求を受け付けた場合に、前記監視対象ディレクトリに格納され存在していた、前記振分手段で前記転送先ディレクトリに振り分けられたファイルの情報であって、前記記憶手段で記憶した前記振分結果情報を取得する取得手段と、
前記取得手段により取得した前記振分結果情報を前記情報処理装置に送信する結果情報送信手段と
を備えることを特徴とする文書管理装置。
【請求項７】
前記取得手段による前記振分結果情報の取得処理が、前記振分手段による振り分け処理中に実行されるか判定する判定手段
を備え、
前記振分手段は、前記判定手段で、前記取得手段による振分結果情報の取得処理が前記振分手段による振り分け処理中に実行されると判定した場合に、実行中の当該振り分け処理を中断し、前記取得手段による振分結果情報の取得処理がされた場合に、前記振分手段による振り分け処理を再開し、
前記記憶手段は、前記判定手段で、前記取得手段による振分結果情報の取得処理が前記振分手段による振り分け処理中に実行されると判定した場合に、前記振り分け処理に応じた振分結果情報の記憶処理を中断し、前記取得手段による振分結果情報の取得処理がされた場合に、前記振分手段による振り分け処理を再開に応じて、前記振分結果情報の記憶処理を再開し、
前記結果情報送信手段は、前記取得要求送信手段により送信された取得要求に応じた前記振り分け処理の中断がされるまでに前記記憶手段に記憶された振分結果情報を送信することを特徴とする請求項６に記載の文書管理装置。
【請求項８】
前記取得手段により取得した前記監視対象ディレクトリから前記ファイルが転送先ディレクトリに振り分けられた更新時刻情報を用いることにより、前記結果情報送信手段により前記振分結果情報が既に前記情報処理装置に送信されているか否かを判定する送信判定手段を更に備え、
前記結果情報送信手段は、前記送信判定手段により前記監視対象ディレクトリから転送先ディレクトリに振り分けたファイルの振分結果情報が前記情報処理装置に未だ送信されていないと判定された場合に、当該振分結果情報を前記情報処理装置に送信することを特徴とする請求項６又は７に記載の文書管理装置。
【請求項９】
前記監視対象ディレクトリに格納される前記ファイルの転送先となる前記転送先ディレクトリが存在するかを判定する存在判定手段と、
前記存在判定手段により前記ファイルの転送先となる前記転送先ディレクトリが存在すると判定された場合に、前記監視対象ディレクトリから転送先ディレクトリへ前記ファイルを振り分け、また、前記ファイルの転送先となる前記転送先ディレクトリが存在しないと判定された場合には、前記ファイルの転送先となる前記転送先ディレクトリを新たに生成するディレクトリ生成手段と
を更に備えることを特徴とする請求項６乃至８のいずれか１項に記載の文書管理装置。
【請求項１０】
前記振分手段で振り分けられた前記文書管理装置の前記転送先ディレクトリに保存されたファイルの振分結果情報を表示部に表示する振分結果表示手段を更に備えることを特徴とする請求項６乃至９のいずれか１項に記載の文書管理装置。
【請求項１１】
監視対象のディレクトリである監視対象ディレクトリに格納されるファイルを別のディレクトリに振り分ける文書管理装置と、情報処理装置とが相互に接続可能な文書管理システムの制御方法であって、
前記情報処理装置において、
取得要求送信手段が、前記監視対象ディレクトリを特定するための情報を用いて、前記監視対象ディレクトリに格納されるファイルの格納状況に関する情報を取得すべく、前記文書管理装置に対して当該ファイルの格納状況に関する情報の取得要求を送信する取得要求送信ステップと、
受信手段が、前記取得要求送信ステップにより送信された取得要求に応じて前記文書管理装置より送信される、当該文書管理装置の前記監視対象ディレクトリから振り分け先のディレクトリである転送先ディレクトリに振り分けられた前記ファイルの振り分けに関する振分結果情報を受信する受信ステップと、
を含み、
前記文書管理装置において、
振分手段が、前記監視対象ディレクトリに格納される前記ファイルを、予め設定されているファイルの振分条件を用いることにより、前記転送先ディレクトリに振り分ける振分ステップと、
記憶手段が、前記振分ステップにより前記監視対象ディレクトリから前記転送先ディレクトリに振り分けられた前記ファイルの振分結果情報を記憶する記憶ステップと、
取得手段が、前記情報処理装置の取得要求送信ステップによる、前記監視対象ディレクトリに格納される前記ファイルの格納状況に関する情報の取得要求を受け付けた場合に、前記監視対象ディレクトリに格納され存在していた、前記振分ステップで前記転送先ディレクトリに振り分けられたファイルの情報であって、前記記憶ステップで記憶した前記振分結果情報を取得する取得ステップと、
結果情報送信手段が、前記取得ステップにより取得した前記振分結果情報を前記情報処理装置に送信する結果情報送信ステップと
を含むことを特徴とする文書管理システムの制御方法。
【請求項１２】
監視対象のディレクトリである監視対象ディレクトリに格納されるファイルを別のディレクトリに振り分ける文書管理装置と、情報処理装置とが相互に接続可能な文書管理システムを制御するプログラムであって、
前記情報処理装置を、
前記監視対象ディレクトリを特定するための情報を用いて、前記監視対象ディレクトリに格納されるファイルの格納状況に関する情報を取得すべく、前記文書管理装置に対して当該ファイルの格納状況に関する情報の取得要求を送信する取得要求送信手段と、
前記取得要求送信手段により送信された取得要求に応じて前記文書管理装置より送信される、当該文書管理装置の前記監視対象ディレクトリから振り分け先のディレクトリである転送先ディレクトリに振り分けられた前記ファイルの振り分けに関する振分結果情報を受信する受信手段として機能させ、
前記文書管理装置を、
前記監視対象ディレクトリに格納される前記ファイルを、予め設定されているファイルの振分条件を用いることにより、前記転送先ディレクトリに振り分ける振分手段と、
前記振分手段により前記監視対象ディレクトリから前記転送先ディレクトリに振り分けられた前記ファイルの振分結果情報を記憶する記憶手段と、
前記情報処理装置の取得要求送信手段による、前記監視対象ディレクトリに格納される前記ファイルの格納状況に関する情報の取得要求を受け付けた場合に、前記監視対象ディレクトリに格納され存在していた、前記振分手段で前記転送先ディレクトリに振り分けられたファイルの情報であって、前記記憶手段で記憶した前記振分結果情報を取得する取得手段と、
前記取得手段により取得した前記振分結果情報を前記情報処理装置に送信する結果情報送信手段として機能させることを特徴とするコンピュータで読み取り実行可能なプログラム。
【請求項１３】
監視対象のディレクトリである監視対象ディレクトリを特定するための情報を用いて、前記監視対象ディレクトリに格納されるファイルの格納状況に関する情報を取得すべく、文書管理装置に対して当該ファイルの格納状況に関する情報の取得要求を送信する取得要求送信手段と、を備える情報処理装置と接続可能であり、前記監視対象のディレクトリである監視対象ディレクトリに格納されるファイルを別のディレクトリに振り分ける文書管理装置の制御方法であって、
振分手段が、前記監視対象ディレクトリに格納される前記ファイルを、予め設定されているファイルの振分条件を用いることにより、振り分け先のディレクトリである転送先ディレクトリに振り分ける振分ステップと、
記憶手段が、前記振分ステップにより前記監視対象ディレクトリから前記転送先ディレクトリに振り分けられた前記ファイルの振分結果情報を記憶する記憶ステップと、
取得手段が、前記情報処理装置の取得要求送信手段による、前記監視対象ディレクトリに格納される前記ファイルの格納状況に関する情報の取得要求を受け付けた場合に、前記監視対象ディレクトリに格納され存在していた、前記振分ステップで前記転送先ディレクトリに振り分けられたファイルの情報であって、前記記憶ステップで記憶した前記振分結果情報を取得する取得ステップと、
結果情報送信手段が、前記取得ステップにより取得した前記振分結果情報を前記情報処理装置に送信する結果情報送信ステップと
を含むことを特徴とする文書管理装置の制御方法。
【請求項１４】
監視対象のディレクトリである監視対象ディレクトリを特定するための情報を用いて、前記監視対象ディレクトリに格納されるファイルの格納状況に関する情報を取得すべく、文書管理装置に対して当該ファイルの格納状況に関する情報の取得要求を送信する取得要求送信手段と、を備える情報処理装置と接続可能であり、前記監視対象のディレクトリである監視対象ディレクトリに格納されるファイルを別のディレクトリに振り分ける文書管理装置を制御するプログラムであって、
前記情報処理装置を、
前記監視対象ディレクトリに格納される前記ファイルを、予め設定されているファイルの振分条件を用いることにより、振り分け先のディレクトリである転送先ディレクトリに振り分ける振分手段と、
前記振分手段により前記監視対象ディレクトリから前記転送先ディレクトリに振り分けられた前記ファイルの振分結果情報を記憶する記憶手段と、
前記情報処理装置の取得要求送信手段による、前記監視対象ディレクトリに格納される前記ファイルの格納状況に関する情報の取得要求を受け付けた場合に、前記監視対象ディレクトリに格納され存在していた、前記振分手段で前記転送先ディレクトリに振り分けられたファイルの情報であって、前記記憶手段で記憶した前記振分結果情報を取得する取得手段と、
前記取得手段により取得した前記振分結果情報を前記情報処理装置に送信する結果情報送信手段として機能させることを特徴とするコンピュータで読み取り実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書管理装置のディレクトリ監視に係るものである。
【背景技術】
【０００２】
近年では、複合機がファイルサーバの機能を持つようになり、外部端末から送信されるファイルが保存されるようになり、文書管理装置としての役割を担うことにもなっている。
例えば、特許文献１に開示されている発明では、外部からパス名で指定された１つのディレクトリに存在すべきファイルが所定数を超えた場合に、元のディレクトリの下に１または２以上のサブディレクトリを作成し、各ディレクトリにエントリされるファイルが所定の上限数以下になるように、元のディレクトリに存在すべき複数のファイルを複数のサブディレクトリに振り分けて内部管理する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−４４３４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されている発明のように、１つのディレクトリに大量のファイルが保存されると、アクセス速度が著しく低下するために、指定されたディレクトリを監視し、振り分けを行う機能と、指定されたディレクトリを監視し、ファイルが格納された場合はユーザに通知する機能とで、上記課題を解決することが可能である。
【０００５】
この「ファイル移動アプリケーション」は指定された条件下監視対象ディレクトリに格納されるファイルの移動を行い、また、「ファイル格納通知ツール」は指定されたフォルダのみを監視しているため、「ファイル移動アプリケーション」が移動するタイミングによっては「ファイル格納通知ツール」がファイルの保存が行われているか確認をするディレクトリチェックポーリング機能との競合が発生し、ファイルが追加されていたとしても「フォルダ格納通知ツール」がファイルの存在をチェックする前に「ファイル移動アプリケーション」がファイルを移動してしまうため、「フォルダ格納通知ツール」がユーザに通知を正確に実施できないときがある。
【０００６】
そこで本発明は、他装置からの要求に応じて、通知機能がディレクトリにファイルの保存がされたことを通知する場合であって、ファイルの振り分け機能により当該ディレクトリに格納されるファイルが振り分けられる場合であっても、ファイルがディレクトリに格納されたことを確実に通知する仕組みを提供することを目的としている。
【課題を解決するための手段】
【０００７】
即ち、本発明の文書管理システムは、監視対象のディレクトリである監視対象ディレクトリに格納されるファイルを別のディレクトリに振り分ける文書管理装置と、情報処理装置とが相互に接続可能な文書管理システムであって、前記情報処理装置は、前記監視対象ディレクトリを特定するための情報を用いて、前記監視対象ディレクトリに格納されるファイルの格納状況に関する情報を取得すべく、前記文書管理装置に対して当該ファイルの格納状況に関する情報の取得要求を送信する取得要求送信手段と、前記取得要求送信手段により送信された取得要求に応じて前記文書管理装置より送信される、当該文書管理装置の前記監視対象ディレクトリから振り分け先のディレクトリである転送先ディレクトリに振り分けられた前記ファイルの振り分けに関する振分結果情報を受信する受信手段と、を備え、前記文書管理装置は、前記監視対象ディレクトリに格納される前記ファイルを、予め設定されているファイルの振分条件を用いることにより、前記転送先ディレクトリに振り分ける振分手段と、前記振分手段により前記監視対象ディレクトリから前記転送先ディレクトリに振り分けられた前記ファイルの振分結果情報を記憶する記憶手段と、前記情報処理装置の取得要求送信手段による、前記監視対象ディレクトリに格納される前記ファイルの格納状況に関する情報の取得要求を受け付けた場合に、前記監視対象ディレクトリに格納され存在していた、前記振分手段で前記転送先ディレクトリに振り分けられたファイルの情報であって、前記記憶手段で記憶した前記振分結果情報を取得する取得手段と、前記取得手段により取得した前記振分結果情報を前記情報処理装置に送信する結果情報送信手段とを備えることを特徴とする。
また、本発明の文書管理装置は、監視対象のディレクトリである監視対象ディレクトリを特定するための情報を用いて、前記監視対象ディレクトリに格納されるファイルの格納状況に関する情報を取得すべく、前記文書管理装置に対して当該ファイルの格納状況に関する情報の取得要求を送信する取得要求送信手段と、を備える情報処理装置と接続可能であり、前記監視対象のディレクトリである監視対象ディレクトリに格納されるファイルを別のディレクトリに振り分ける文書管理装置であって、前記監視対象ディレクトリに格納される前記ファイルを、予め設定されているファイルの振分条件を用いることにより、前記転送先ディレクトリに振り分ける振分手段と、前記振分手段により前記監視対象ディレクトリから前記転送先ディレクトリに振り分けられた前記ファイルの振分結果情報を記憶する記憶手段と、前記情報処理装置の取得要求送信手段による、前記監視対象ディレクトリに格納される前記ファイルの格納状況に関する情報の取得要求を受け付けた場合に、前記監視対象ディレクトリに格納され存在していた、前記振分手段で前記転送先ディレクトリに振り分けられたファイルの情報であって、前記記憶手段で記憶した前記振分結果情報を取得する取得手段と、前記取得手段により取得した前記振分結果情報を前記情報処理装置に送信する結果情報送信手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、他装置からの要求に応じて、通知機能がディレクトリにファイルの保存がされたことを通知する場合であって、ファイルの振り分け機能により当該ディレクトリに格納されるファイルが振り分けられる場合であっても、ファイルがディレクトリに格納されたことを確実に通知する仕組みを提供することが可能になる。
【０００９】
具体的には、「ファイル移動アプリケーション」と「フォルダ格納通知ツール」の競合が解決され、「フォルダ格納通知ツール」の監視ディレクトリにファイルを保存した場合、必ずユーザにファイルの格納先が通知されるようになる。
【図面の簡単な説明】
【００１０】
【図１】本アイデアを実現するために必要なシステム構成を示した図である。
【図２】図１に示した複合機１００のコントローラユニットのハードウエア構成の一例を示すブロック図である。
【図３】図１に示したクラインアントＰＣ２００に適用可能な情報処理装置のハードウエア構成を示すブロック図である。
【図４】図１に示した複合機１００、クライアント端末２００の機能の関連を示す機能ブロック図である。
【図５】ファイル移動アプリケーションの設定ファイルの例である。
【図６】振分元のディレクトリの構造を示す図である。
【図７】ファイル移動アプリケーションで指定された各ディレクトリが持つ更新履歴ファイルの例である。
【図８】フォルダ格納通知ツールが持つ設定ファイルの例である。
【図９】ポーリング対応機能１１２とポーリング機能２１２の間でやり取りされるパケットを表す図である。
【図１０】ユーザが振分機能１１１を実行する際のフローチャートである。
【図１１−１】振分機能１１１が行う振分処理の詳細なフローチャートである。
【図１１−２】振分機能１１１が行う振分処理の詳細なフローチャートである。
【図１２】振分機能１１１がポーリング対応機能１１２を実行する際のフローチャートである。
【図１３】ユーザがフォルダ格納通知ツールを実行する際のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態を詳細に説明する。図１は本発明の文書管理システムを構成するクライアント端末および複合機の構成の一例を示すシステム構成図である。
【００１２】
本発明の文書管理システムは、ファックスやメールを通じて送信される文書ファイルを格納するためのサーバを格納する複合機１００と、クライアント端末２００から構成されている。
【００１３】
複合機１００はファイル移動アプリケーションを備えており、ユーザにより予め指定されている複数のディレクトリを監視し、監視対象のディレクトリに格納されるファイル（例えば、ファックスで送信される文書や、複合機１００に送信されるメールの添付文書）を振り分けることができる。振分結果は複合機１００が持つ外部メモリ２１１に格納され、クライアント端末２００からの要求に対してこの結果を送信することができる。
【００１４】
クライアント端末２００はフォルダ格納通知ツールを持っており、複合機１００の監視ディレクトリの振分結果を要求して受信し、受信データをディスプレイ上でユーザに通知することができる。
【００１５】
以下、図２を用いて、図１に示したクライアント端末２００に適用可能な情報処理装置のハードウエア構成について説明する。図２は、図１に示したクライアント端末２００に適用可能な情報処理装置のハードウエア構成を示すブロック図である。
【００１６】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要は後述する各種プログラム等が記憶されている。
【００１７】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００１８】
また、２０５は入力コントローラで、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示機への表示を制御する。
【００１９】
なお、図２では、ＣＲＴ２１０と記載しているが、表示機はＣＲＴだけではなく、液晶ディスプレイ等の他の表示機であってもよい。これらは必要に応じて管理者が使用するものである。
【００２０】
２０７はメインコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２１】
２０８は通信Ｉ／Ｆコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００２２】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォント展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２３】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００２４】
次に、図３を用いて、図１に示した複合機１００を制御するコントローラユニットのハードウエア構成について説明する。
【００２５】
図３は、図１に示した複合機１００のコントローラユニットのハードウエア構成の一例を示すブロック図である。
【００２６】
図３において、３１６はコントローラユニットで、画像入力デバイスとして機能するスキャナ３１４や、画像出力デバイスとして機能するプリンタ３１２と接続する一方、ＬＡＮや公衆回線（ＷＡＮ）（例えば、ＰＳＴＮまたはＩＳＤＮ等）と接続することで、画像データやデバイス情報の入出力を行なう。
【００２７】
コントローラユニット３１６において、３０１はＣＰＵで、システム全体を制御するプロセッサである。３０２はＲＡＭで、ＣＰＵ３０１が動作するためのシステムネットワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。
【００２８】
３０３はＲＯＭで、システムのブートプログラムや各種制御プログラムが格納されている。３０４はハードディスクドライブ（ＨＤＤ）で、システムを制御するための各種プログラム、画像データ等を格納する。
【００２９】
３０７は操作部インタフェース（操作部Ｉ／Ｆ）で、操作部（ＵＩ）３０８とのインタフェース部であり、操作部３０８に表示する画像データを操作部３０８に対して出力する。また、操作部Ｉ／Ｆ３０７は、操作部３０８から本システム使用者が入力した情報（例えば、ユーザ情報等）をＣＰＵ３０１に伝える役割をする。なお、操作部３０８はタッチパネルを有する表示部を備え、該表示部に表示されたボタンを、ユーザが押下（指等でタッチ）することにより、各種指示を行うことができる。
【００３０】
３０５はネットワークインタフェース（ＮｅｔＷｏｒｋ  Ｉ／Ｆ）で、ネットワーク（ＬＡＮ）に接続し、データの入出力を行う。３０６はモデム（ＭＯＤＥＭ）で、公衆回線に接続し、ＦＡＸの送受信等のデータの入出力を行う。
【００３１】
３１８は外部インタフェース（外部Ｉ／Ｆ）で、ＵＳＢ、ＩＥＥＥ１３９４，プリンタポート，ＲＳ−２３２Ｃ等の外部入力を受け付けるＩ／Ｆ部であり、本実施形態においては認証で必要となるＩＣカードの読み取り用のカードリーダ３１９が外部Ｉ／Ｆ部３１８に接続されている。そして、ＣＰＵ３０１は、この外部Ｉ／Ｆ３１８を介してカードリーダ３１９によるＩＣカードからの情報読み取りを制御し、該ＩＣカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス３０９上に配置される。
【００３２】
３２０はイメージバスインタフェース（ＩＭＡＧＥ  ＢＵＳ  Ｉ／Ｆ）であり、システムバス３０９と画像データを高速で転送する画像バス３１５とを接続し、データ構造を変換するバスブリッジである。
【００３３】
画像バス３１５は、ＰＣＩバスまたはＩＥＥＥ１３９４で構成される。画像バス３１５上には以下のデバイスが配置される。
【００３４】
３１０はラスタイメージプロセッサ（ＲＩＰ）で、例えば、ＰＤＬコード等のベクトルデータをビットマップイメージに展開する。３１１はプリンタインタフェース（プリンタＩ／Ｆ）で、プリンタ３１２とコントローラユニット３１６を接続し、画像データの同期系／非同期系の変換を行う。また、３１３はスキャナインタフェース（スキャナＩ／Ｆ）で、スキャナ３１４とコントローラユニット３１６を接続し、画像データの同期系／非同期系の変換を行う。
【００３５】
３１７は画像処理部で、入力画像データに対し補正、加工、編集を行ったり、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部３１７は、画像データの回転や、多値画像データに対してはＪｐｅｇ、２値画像データはＪＢＩＧ、ＭＭＲ、ＭＨ等の圧縮伸張処理を行う。
【００３６】
スキャナ部３１４は、原稿となる紙上の画像を照明し、ＣＣＤラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットし、装置使用者が操作部３０８から読み取り起動指示することにより、ＣＰＵ３０１がスキャナ３１４に指示を与え、フィーダは原稿用紙を１枚ずつフィードし原稿画像の読み取り動作を行う。
【００３７】
プリンタ部３１２は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、ＣＰＵ３０１からの指示によって開始する。なお、プリンタ部３１２には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。
【００３８】
操作部３０８は、ＬＣＤ表示部を有し、ＬＣＤ上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部Ｉ／Ｆ３０７を介してＣＰＵ３０１に伝える。また、操作部３０８は、各種操作キーとして、例えば、スタートキー、ストップキー、ＩＤキー、リセットキー等を備える。
【００３９】
ここで、操作部３０８のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の２色ＬＥＤがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部３０８のストップキーは、稼働中の動作を止める働きをする。また、操作部３０８のＩＤキーは、使用者のユーザＩＤを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。
【００４０】
カードリーダ３１９は、ＣＰＵ３０１からの制御により、ＩＣカード（例えば、ソニー社のフェリカ（ＦｅｌｉＣａ）（登録商標））内に記憶されている情報を読み取り、該読み取った情報を外部Ｉ／Ｆ  ３１８を介してＣＰＵ３０１へ通知する。
【００４１】
以上のような構成によって、複合機１００は、スキャナ３１４から読み込んだ画像データをＬＡＮ７００上に送信したり、ＬＡＮから受信した印刷データをプリンタ３１２により印刷出力することができる。
【００４２】
また、スキャナ３１４から読み込んだ画像データをモデム３０６により、公衆回線上にＦＡＸ送信したり、公衆回線からＦＡＸ受信した画像データをプリンタ３１２により出力することできる。
【００４３】
次に、図４を用いて本発明の実施形態における各端末内の機能の関連を説明する。なお、それぞれのフローにおける動作詳細は後述するため、ここでは各種端末内に記載されている機能ブロック図の説明を記載する。
【００４４】
複合機１００は、ファイル移動アプリケーション１１０を備えている。ファイル移動アプリケーション１１０は、振分機能１１１とポーリング対応機能１１２を備えている。
【００４５】
振分機能１１１は、後述の図５で説明する設定ファイルから、ファイルの振り分けを実行する監視ディレクトリ（図５の５０３）を取得し、設定された時間（図５の５０２）を待機した後、取得したディレクトリ内のファイルのタイムスタンプから図６のように振り分え先を決定してファイルを移動する。移動に成功した場合は図７で示す更新履歴ファイルに書き込みを行う。ここで言うタイムスタンプとは、ディレクトリへの保存時刻を指している。
【００４６】
例えば、２０１０年２月１０日に図６の監視ディレクトリ６０１に保存されたファイルは、監視ディレクトリ６０１下の「２０１０−２」―「１０」というディレクトリに振り分けられる。
【００４７】
なお、ファイルの振り分け方法として、上記では、タイムスタンプから時系列でフォルダを作成しているが、この実施例に限定されるものではなく、例えば、ファイルの作成者や送信元情報ごとにフォルダを作成し、振り分けることも考えられる。また、作成者毎のフォルダを作成した場合は、更にその下層のフォルダに、先述の時系列のフォルダを作成するような構成も考えられる。
【００４８】
ポーリング対応機能１１２は、クライアント端末２００から送信されるポーリングデータ（図９の９０１）を受信して、図７が示す更新履歴を一行ずつ確認し、更新履歴データ（図９の９０２）を作成し、ポーリング機能２１２へ送信する。
【００４９】
クライアント端末２００は、フォルダ格納通知アプリケーション２１０を備えており、その機能としては、ポーリング機能２１１がある。
【００５０】
ポーリング機能２１１は、ポーリングデータ（図９の９０１）を作成し、複合機１００の振分機能１１１で振り分けが実行された履歴のデータを取得するために、複合機１００のファイル移動アプリケーション１１０のポーリング対応機能１１２へ送信する。
【００５１】
また、通知機能２１２は、先程のポーリング機能２１１が複合機１００の振分機能１１１で振り分けが実行された更新履歴データ（図９の９０２）を受けて、クライアント端末２００のユーザへ新しいファイルが格納されたことを通知する。
【００５２】
次に、図５を用いて複合機１００に搭載されるファイル移動アプリケーション１１０の設定ファイルの項目について説明する。
【００５３】
ファイル移動アプリケーション１１０の設定ファイルは、リトライ回数５０１、監視間隔の設定５０２、監視対象となるディレクトリ５０３の情報を備えている。
【００５４】
リトライ回数５０１は、振分機能１１１とポーリング対応機能１１２で使用する、監視ディレクトリ下に保存されている更新履歴ファイルを開く時に用いられる値である。
【００５５】
図７が示す更新履歴ファイルは、振分機能１１１とポーリング対応機能１１２で同時に参照される可能性があり、夫々の機能で更新履歴ファイルを開くときに、ファイルをロックするため、片方が更新履歴ファイル５０１のパラメータを書きこんでいる際には、もう片方はファイルへアクセスすることができない場合がある。その、ファイルアクセスに失敗した際のリトライ回数を決定するのがこの数値である。
【００５６】
監視間隔５０２は、振分機能１１１で使用する値で、監視ディレクトリに保存されるファイルを振分けする時間間隔が設定されている。
【００５７】
監視ディレクトリ５０３は、ファイル移動アプリケーション１１０で所定個数設定可能である。この値は振分機能１１１で振分を行うディレクトリの相対パスを指定している。振分機能１１１が設定ファイルを読み込む際、空行は無視される。
【００５８】
次に、図６を用いて振分機能１１１が複合機２００の外部メモリ２１１に作成するディレクトリおよびファイルについて説明する。
【００５９】
監視ディレクトリ名６０１は、振分機能１１１がファイルの振分を行う監視対象となるディレクトリである。この監視ディレクトリは、先述の図５の設定ファイルで定義されている監視ディレクトリと同様である。
【００６０】
ファイルパス６０２は、振分機能１１１が監視ディレクトリ下に自動的に作成するフォルダ（ディレクトリ）であり、図６上部のようにファイルが保持するタイムスタンプから自動的に作成される。例えば、「年／月」をファイル名で明記すべく「２０１０−２」、「２０１０−３」といった具合に「ＹＹＹＹ−ＭＭ」の形式でフォルダパスは表示される。
【００６１】
更新履歴ファイル６０３は、同じく振分機能１１１が監視ディレクトリ下に自動的に作成するものであり、後述の図７にて詳細を説明する。ファイル名は“監視ディレクトリ名６０１”．ｃｓｖとなる。
【００６２】
なお、本発明の実施形態では、ファイルが保持するタイムスタンプから振分フォルダを作成しているが、例えば、ファイルのプロパティで確認することができるファイルの作成者ごとにフォルダを振り分けることも可能である。
【００６３】
また、監視ディレクトリ下に格納されているファイルがファックス通信やメール送受信で格納されたファイルであれば、当該ファイルの送信を行った送信者ごとにフォルダを振り分ける構成にしてもよい。その際には、「年／月」の形式で表示されるフォルダパスは「送信者名」の形式で表示される。
【００６４】
つまり、本発明において、監視ディレクトリ下のファイルの振分条件はタイムスタンプに限定されるものではない。また、作成者毎のフォルダを作成した場合は、更にその下層のフォルダに、先述の時系列のフォルダを作成するような構成も考えられる。
【００６５】
次に、図７を用いてファイル移動アプリケーション１１０の監視ディレクトリ下に作成される更新履歴ファイル６０３の項目について説明する。
【００６６】
更新履歴ファイル６０３は、当該監視ディレクトリ下に格納されるファイルの振り分け履歴（更新履歴）を記録しているものである。また、クライアント端末２００の要求（ポーリング機能２１１によるポーリングデータ送信）に応じて、前回要求を受けた時からファイルの振り分けが行われた履歴の差分をクライアント端末２００のディスプレイ上に表示するために、更新履歴データが送信される。例えば、ファイルの更新時刻７０１と、移動先ファイルパスを示す移動先７０２と、移動したファイル名７０３の項目を記録している。
【００６７】
ファイルの更新時刻７０１は、監視ディレクトリ下に格納されたファイルの振り分けを行った時刻を示している。この時刻は複合機１００の時計機能から取得する。また、監視ディレクトリの更新履歴ファイルのレコードは更新時刻７０１をキーとして降順でソートされている。
【００６８】
ファイルの移動先７０２は、ファイル移動アプリケーション１１０の振分機能１１１により振り分けられたファイルの保存先のフォルダパスを示している。
【００６９】
ファイル名７０３は、ファイル移動アプリケーション１１０の振分機能１１１により振り分けられたファイル名を示している。
これらの情報を、クライアント端末２００のポーリング機能２１１からの要求に応じて、
前回更新履歴データを送った時間からの差分データを、クライアント端末２００に送信する。
【００７０】
次に、図８を用いてクライアント端末２００のフォルダ格納通知ツールが持つ設定ファイルの各項目について説明する。
【００７１】
ディレクトリ名８０１はポーリングを行う監視ディレクトリ相対パスを表している。これは、図５の設定ファイルで定められている監視ディレクトリ５０３と同じである。
更新時刻８０２は、前回のポーリング時に受信した設定ファイルの更新時刻を表している。
【００７２】
例えば、図８のファイルの１列目に記載されている監視ディレクトリＡＡＡは、「２０１０年５月３１日１０：１０」に最後のポーリング対応を行って、更新履歴の差分データをクライアント端末２００に送信していることが示されている。
【００７３】
クライアント端末２００のポーリング機能２１１から、ポーリングデータ９０１が複合機１００のポーリング対応機能１１２に送信されると、ポーリング対応機能１１２では、
【００７４】
受信したポーリングデータ９０１に従って監視ディレクトリ８０１の更新履歴ファイルを開き、未通知の情報が存在するかを確認する。確認の結果、前回の結果送信分からの差分の更新結果を更新履歴データ９０２としてクライアント端末２００のポーリング機能２１１に返信する。
【００７５】
ポーリングデータ９０１とは、監視ディレクトリ名と前回のポーリング時に受信した更新時刻（図８の８０１，８０２）を含むデータで生成されたパケットのことであり、更新履歴データ９０２とは、９０１でポーリング対応機能１１２が受信した監視ディレクトリ名８０１に保存されている更新履歴ファイルを開き、先程受信した更新時刻８０２以降の時刻に更新されたレコード（更新時刻７０１、移動先７０２、ファイル名７０３）からなるパケットであり、例えば、ＣＳＶ形式のデータで生成されている。
【００７６】
次に、図１０乃至１３を用いて、本発明の文書管理システムが実行する、監視とファイルの振分け方法について説明をする。
【００７７】
図１０は、本発明の実施形態におけるファイル移動アプリケーション１１０の振分機能１１１で行われる処理を示すフローチャートである。この処理はユーザによりファイル移動アプリケーション１１０が実行されたことをトリガーとして開始される。
【００７８】
まず、ステップＳ１００１で、複合機１００のファイル移動アプリケーション１１０は、ファイル移動アプリケーション１１０の設定ファイル（先述の図５）が設定されているか否かを確認する。設定ファイルが存在しない場合には、新たに設定をする必要があるため、ステップＳ１００２で、新しく設定ファイルを作成する。
【００７９】
設定ファイルは、複合機１００のデバイス管理者などの操作によりデバイスごとに設定がなされ、複合機１００の外部メモリに記憶され、ＣＰＵ２０１からの呼出により開かれる。
【００８０】
ステップＳ１００３で、複合機１００のファイル移動アプリケーション１１０は、設定ファイルを読み込み、ステップＳ１００４で、設定ファイルからリトライ回数５０１、監視間隔５０２、監視ディレクトリ５０３を記憶部（メモリ）に保持する。
【００８１】
複合機１００のファイル移動アプリケーション１１０は、リトライ回数５０１、監視間隔５０２、監視ディレクトリ５０３を設定ファイルから取得すると、ステップＳ１００５で、設定ファイルを閉じ、先述のステップＳ１００４でメモリに保持していた監視ディレクトリ５０３に対する監視を始める。
【００８２】
ステップＳ１００６〜ステップＳ１００９は監視ディレクトリ５０３に対する初期処理であり、メモリ上に保持された監視ディレクトリ５０３に対してＳ１００６〜Ｓ１００９を順次実行する。
【００８３】
ステップＳ１００６では、設定ファイルから取得した監視ディレクトリ５０３に示すディレクトリが存在するか否かを確認する。監視ディレクトリ５０３がある場合には、ステップＳ１００８に進み、監視ディレクトリが存在しない場合は、ステップＳ１００７で、監視を行う監視ディレクトリを、監視ディレクトリ５０３と同名で作成する。
【００８４】
例えば、管理ユーザが複合機１００のメンテナンス中に誤って監視ディレクトリ５０３を削除してしまうおそれがあり、その結果監視ディレクトリ５０３が存在しない場合には、このステップで改めて作成される。
【００８５】
ステップＳ１００８で、複合機１００のファイル移動アプリケーション１１０は、図７で示す監視ディレクトリの更新履歴ファイルが存在するか確認する。更新履歴ファイルが存在する場合には、ステップＳ１０１０へ進み、存在しない場合にはステップＳ１００９で、空ファイルを作成する。
【００８６】
ステップＳ１０１０で、複合機１００のファイル移動アプリケーション１１０は、図５で設定されている監視ディレクトリ５０３に対する初期処理が全て終わったか否かを判定する。全ての監視ディレクトリ５０３に対する初期処理が終われば、次のステップに進み、まだ未対応の監視ディレクトリ５０３がある場合には、ステップＳ１００６からＳ１００９の処理を実行する。
【００８７】
ステップＳ１０１１で、複合機１００のファイル移動アプリケーション１１０は、ポーリング対応機能１１２を実行し、待機状態とする。ポーリング対応機能の詳細処理については、後述の図１２にて詳細に説明する。
【００８８】
ステップＳ１０１２〜Ｓ１０１４は図５の設定ファイルの監視間隔５０２で指定された時間ごとに監視ディレクトリ５０３に対してファイルの振り分け処理を行うステップである。ユーザ操作でサービス終了の命令を発行するまでステップＳ１０１２からＳ１０１４を実行する。
【００８９】
ステップＳ１０１２で、複合機１００のファイル移動アプリケーション１１０は、振分機能１１１を用いてファイル振分処理を実行する。本処理の詳細な説明は、後述の図１１にて行う。
【００９０】
ステップＳ１０１３で、複合機１００のファイル移動アプリケーション１００は、ステップＳ１００４で取得した監視間隔５０２の時間だけ待機する。
【００９１】
ステップＳ１０１４で、複合機１００のファイル移動アプリケーション１００は、ユーザにより、サービス終了の命令を受け付けたか否かを判定する。サービス終了の指示を受付けていない場合には、ステップＳ１０１２へ戻り、振分機能１１１による監視ディレクトリに格納されるファイルの振り分け処理を実行し続ける。
【００９２】
図１１は、本発明の実施形態におけるファイル移動アプリケーション１１０の振分機能１１１を用いたファイルの振り分け処理を示すフローチャートである。各処理をステップ数と共に説明する。
【００９３】
ステップＳ１１０１で、複合機１００のファイル移動アプリケーション１１０は、リトライカウンタを生成し、０をセットしてメモリ上に保持する。ここで言うリトライカウンタとは、更新履歴ファイルのアクセス失敗回数を示す値で、プログラムが無限ループに陥らないように用いられる。
【００９４】
ステップＳ１１０１でリトライカウンタが生成されると、ステップＳ１１０２で、ファイル移動アプリケーション１１０の振分機能１１１は、リトライカウンタの値がリトライ回数５０１の値以上であるか確認する。リトライカウンタが、規定リトライ回数以上である場合には、本フローチャートの処理を終了させる。
【００９５】
ステップＳ１１０３で、ファイル移動アプリケーション１１０の振分機能１１１は、図７で示す監視ディレクトリの更新履歴ファイルを開き、他のプログラムからアクセスされないようファイルをロックする。
【００９６】
ステップＳ１１０４で、ファイル移動アプリケーション１１０の振分機能１１１は、前記ステップＳ１１０３で正常に更新履歴ファイルを開くことができたか確認する。先にポーリング対応機能１１２に更新履歴ファイルを確保されている（ロックされている）と振分機能１１１は更新履歴ファイルを開くことができない。更新履歴ファイルを開くことができた場合には、ステップＳ１１０７に進む。
【００９７】
更新履歴ファイルがロックなどで開くことができなかった場合、ステップＳ１１０５で、複合機１００のファイル移動アプリケーション１１０は所定時間待機して、ステップＳ１１０６リトライカウンタを一つ増加し、ステップＳ１１０２に戻る。
【００９８】
ステップＳ１１０７で、複合機１００のファイル移動アプリケーション１１０は、後述の図１２のステップＳ１２０２，またはＳ１２０５でメモリ上に格納されるポーリングフラグを取得する。
【００９９】
ステップＳ１１０８で、複合機１００のファイル移動アプリケーション１１０は、ステップＳ１１０７で取得したポーリングフラグを確認し、ＴｒｕｅならＳ１１０９〜Ｓ１１１３を実行、ＦａｌｓｅならＳ１１０９〜Ｓ１１１３をスキップする。なお、ポーリングフラグとはファイルの移動処理より、ポーリング処理を優先させるためのフラグで、ポーリング対応機能１１２が制御する。
【０１００】
ステップＳ１１０９で、複合機１００のファイル移動アプリケーション１１０は、ポーリング対応機能１１２を実行するために更新履歴ファイルを閉じる。
【０１０１】
ステップＳ１１１０で、複合機１００のファイル移動アプリケーション１１０は、所定時間待機した後、ステップＳ１１１１で、ステップＳ１２０２、またはステップＳ１２０５でメモリ上に格納されるポーリングフラグを取得する。
【０１０２】
ステップＳ１１１２で、複合機１００のファイル移動アプリケーション１１０は、ポーリングフラグが取得できた否かを確認し、取得できた場合には、ステップＳ１１１３へ進む。取得できない場合には、ステップＳ１１１０の前に戻り、再び所定時間の経過を待ってポーリングフラグ取得処理を実行する。
【０１０３】
Ｓ１１１０〜Ｓ１１１２はポーリング対応機能１１２の割り込みを受け付けるための処理である。ポーリングフラグがＦａｌｓｅになるまでＳ１１１０〜Ｓ１１１２をループして実行する。
【０１０４】
ステップＳ１１１３で、複合機１００のファイル移動アプリケーション１１０は、図７で示す監視ディレクトリの更新履歴ファイルを開き、他のプログラムからアクセスされないようファイルをロックする。
【０１０５】
ステップＳ１１１４で、複合機１００のファイル移動アプリケーション１１０は、ステップＳ１００４メモリ上に保持した監視ディレクトリ５０３で指定されているディレクトリにファイルが存在するか確認する。ファイルが監視ディレクトリ５０３で指定されているディレクトリにある場合には、ステップＳ１１１５へ進み、ファイルがない場合には、ステップＳ１１２２へ進む。
【０１０６】
ステップＳ１１１５で、複合機１００のファイル移動アプリケーション１１０は、振分を行うファイルを決定し、ファイル名をメモリ上に保持した後、ステップＳ１１１６メモリ上に保持されたファイル名からファイルにアクセスし、ファイルの保存時刻を示すタイムスタンプをメモリ上に保持する。
【０１０７】
ステップＳ１１１７で、複合機１００のファイル移動アプリケーション１１０は、ステップＳ１１１６でメモリ上に保持されたタイムスタンプを図６のように変換する。その後、ファイルの移動先のパスを取得し、メモリ上に保持する。
【０１０８】
ステップＳ１１１８で、複合機１００のファイル移動アプリケーション１１０は、ステップＳ１１１７でメモリ上に保持されたパスのディレクトリが存在するか確認し、ディレクトリが存在しない場合は、次のステップＳ１１１９で、メモリ上に保持されたパスから新しいディレクトリを作成する。新しいディレクトリは、例えば、「年／月」をファイル名で明記すべく「２０１０−２」、「２０１０−３」といった具合に「ＹＹＹＹ−ＭＭ」の形式でフォルダパスは表示される。
【０１０９】
メモリ上に保持されたパスのディレクトリが存在する場合には、ステップＳ１１２０で、複合機１００のファイル移動アプリケーション１１０は、メモリ上に保持されたパスにＳ１１１５で取得したファイルを移動する。なお、ステップＳ１１２０でファイルの移動先となるディレクトリは、ファイルの最大保存可能数が定められている場合がある。この場合、移動先のディレクトリに保存されているファイル数が最大保存可能数に達していたら、ファイルを移動先ディレクトリに移動できない場合があるので、ステップＳ１１１８の後に、ファイルの最大保存可能数に達しているか否かの判断をさせ、最大保存可能数に達している場合には、新たな移動先ディレクトリを作成させるような構成にしてもよい。
【０１１０】
ステップＳ１１２１で、複合機１００のファイル移動アプリケーション１１０は、図７が示す監視ディレクトリの更新履歴ファイルに複合機１００の現在時刻、ステップＳ１１１７でメモリ上に保持されたパス、ステップＳ１１１５でメモリ上に保持されたファイル名を書き込む。書き込みが終わると、ステップＳ１１０７へ処理を戻す。
【０１１１】
ステップＳ１１２２で、複合機１００のファイル移動アプリケーション１１０は、図７が示す更新履歴ファイルを閉じる。
【０１１２】
図１２は、本発明の実施形態におけるファイル移動アプリケーション１１０のポーリング対応機能１１２のフローチャートである。各処理をステップ数と共に説明する。
【０１１３】
ファイル移動アプリケーション１１０のポーリング対応機能１１２は、振分機能１１１のメイン処理から停止命令を受信すると、ステップＳ１２０２で、ポーリングフラグを生成し、Ｆａｌｓｅに設定してメモリ上に保持する。具体的には、ステップＳ１２０１で、振分機能１１１よりポーリング対応機能１１２の終了命令が発令されていないか確認する。されている場合には処理を終了する。されていない場合はされるまでＳ１２０２−Ｓ１２１８をループして実行する。
【０１１４】
ステップＳ１２０１で、クライアントが接続されるまで待機し、ステップＳ１２０２で、複合機１００のファイル移動アプリケーション１１０は、クライアント端末２００のポーリング機能２１１から送信されるパケットを受信し、ディレクトリ名８０１と更新時刻８０２をメモリ上に保持する。
【０１１５】
ステップＳ１２０３で、複合機１００のファイル移動アプリケーション１１０は、ポーリングフラグをＴｒｕｅに設定する。
【０１１６】
ステップＳ１２０４で、複合機１００のファイル移動アプリケーション１１０は、リトライカウンタを生成し、０にセットしてメモリ上に保持する。更新履歴ファイルのアクセス失敗が続くことによる無限ループを防止する。
【０１１７】
ステップＳ１２０５で、複合機１００のファイル移動アプリケーション１１０は、リトライカウンタの値が図５のファイルで設定されているリトライ回数５０１の値以上であるか確認する。リトライ回数よりもリトライカウンタの値が小さい場合には、ステップＳ１２０７へ進み、リトライ回数をリトライカウンタの値が超えている場合には、ステップＳ１２０６で、接続失敗メッセージを持つパケットを生成しポーリング機能２１１へ送信し、本フローチャートの処理を終了させる。
【０１１８】
ステップＳ１２０７で、ディレクトリ名８０１が指定する監視ディレクトリの更新履歴ファイルを開くと、ステップＳ１２００８で、正常に監視ディレクトリの更新履歴ファイルを開くことができたか確認する。
【０１１９】
ステップＳ１２０９で、複合機１００のファイル移動アプリケーション１１０は、正常にファイルを開くことができなかった場合に所定時間待機し、ステップＳ１２１０でリトライカウンタを一つ増やす。
【０１２０】
ステップＳ１２１１で、複合機１００のファイル移動アプリケーション１１０は、終了フラグを生成し、Ｆａｌｓｅをセットしてメモリ上に保持する。これは、更新履歴を差分だけ回収するために行うものである。
【０１２１】
更新履歴ファイルの更新履歴は図７で説明している通り降順で並んでいるため、受信した更新時刻と読み込んだ更新履歴ファイルのレコードのタイムスタンプの差を取った際に負の数になれば、それ以降のレコードを読み込む必要がないことが判断できる。それ以降のレコードを読み込む必要があるかどうかを判断するためのフラグが終了フラグである。
【０１２２】
ステップＳ１２１２〜Ｓ１２１７は、ポーリング対応機能１１１が、クライアント端末２００のポーリング機能２１１へ送信する更新履歴データ９０２を生成する処理である。図７で示す監視ディレクトリの更新履歴ファイルの終端を読み込むか、終了フラグがＴｒｕｅになるまでＳ１２１２らＳ１２１７までをループして実行する。
【０１２３】
ステップＳ１２１２で、複合機１００のファイル移動アプリケーション１１０は、図７の監視ディレクトリの更新履歴ファイルを一行読み込み、ステップＳ１２１３で、更新時刻７０１、移動先７０２、ファイル名７０３をメモリ上に保持する。
【０１２４】
次に、ステップＳ１２１４で、複合機１００のファイル移動アプリケーション１１０は、更新時刻７０１と更新時刻８０２の差を取り、結果が正の数であるなら未送信の更新履歴、負の数であるならば送信済みの更新履歴として判断する。
【０１２５】
ステップＳ１２１５で、複合機１００のファイル移動アプリケーション１１０は、終了フラグをＴｒｕｅに設定する。
【０１２６】
ステップＳ１２１６で、複合機１００のファイル移動アプリケーション１１０は、未送信の更新履歴を格納するバッファを生成し、Ｓ１２１２で読み込んだ更新時刻７０１、移動先７０２、ファイル名７０３をバッファに格納し、ステップＳ１２１７で、ステップＳ１２１８でためたバッファから更新履歴データ９０２を生成し、ポーリング機能２１１へ送信する。
【０１２７】
図１３は、本発明の実施形態におけるクライアント端末２００のポーリング機能２１１を実行するフローチャートである。各処理をステップ数と共に説明する。
【０１２８】
Ｓ１３０１〜Ｓ１３１０は、図８で説明したクライアント端末２００のフォルダ格納通知ツールが持つ設定ファイル中に指定されている、ポーリング対象のディレクトリへポーリングを行い、新規で振分処理が行われたファイルがあった場合にユーザへ通知する処理である。
【０１２９】
また、ステップＳ１３０２〜Ｓ１３０８はクライアント端末２００のフォルダ格納通知ツールが持つ設定ファイルのディレクトリ名８０１で指定される全てのディレクトリにポーリングデータ９０１を送信し、受信した更新履歴データ９０２をメモリ上に保持する処理である。ポーリングが完了するまでＳ１３０２〜Ｓ１３０８をループして実行する。
【０１３０】
まず、ステップＳ１３０１で、クライアント端末２００は、図８の設定ファイルを開き、ステップＳ１３０２で、複合機１００上で動作するポーリング対応機能１１２にＴＣＰ／ＩＰでの接続要求を送信する。
【０１３１】
ステップＳ１３０３で、クライアント端末２００は、ステップＳ１３０２で送信した接続要求の結果、複合機１００と接続が成功したか否かを確認する。クライアント端末２００がポーリングデータ９０１を送信し、更新履歴データ９０２を受信できた場合は通信成功と判断される。送信の結果がタイムアウト、もしくはエラーメッセージ受信の場合は通信失敗と判断される。
【０１３２】
通信が成功したら、ステップＳ１３０４で、クライアント端末２００は、ステップＳ１３０１で開いた設定ファイルを一行目を読み込みディレクトリ名８０１、更新時刻８０２からポーリングデータ９０１を生成し、ポーリング対応機能１１２へ送信する。接続が確認されない場合には、ステップＳ１３０２の接続要求を再度送信する。
【０１３３】
ステップＳ１３０５で、クライアント端末２００は、図９が示すにポーリング対応機能１１２の応答を受信し、更新履歴データ９０２をメモリ上に保持する。このとき更新履歴データ９０２の件数もカウントし、受信件数をメモリ上に保持する。
【０１３４】
ステップＳ１３０６で、クライアント端末２００は、更新履歴データの件数が、１件以上あるか否かを確認する。更新履歴データを１件以上受信している場合には、ステップＳ１３０７に進む。
【０１３５】
ステップＳ１３０７で、クライアント端末２００は、更新履歴データ９０２の更新時刻７０１の中で最大値を新しい更新時刻８０２として設定ファイルを上書きし、ステップＳ１３０８で、受信した更新履歴データ９０２をメモリ上に保持する。
【０１３６】
ステップＳ１３０９で、クライアント端末２００は、メモリ上に保持された更新履歴データ９０２の中でファイル名７０３と移動先７０２をディスプレイ上に出力することでユーザに通知し、ステップＳ１３１０で、ステップＳ１３０８で取得したメモリ上の更新履歴データを削除し、本処理を終了する。
【０１３７】
以上、本発明の実施形態について説明をしたが、本発明によれば、ディレクトリに保存されるファイルの移動ツールと、ディレクトリにファイルが保存されたことを通知するファイル格納通知ツールが競合する環境において、格納先が移動されるファイルについても監視を行い、確実にユーザにファイルの格納を通知する仕組みを提供することが可能になる。
【０１３８】
具体的には、「ファイル移動アプリケーション」と「フォルダ格納通知ツール」の競合が解決され、「フォルダ格納通知ツール」の監視ディレクトリにファイルを保存した場合、必ずユーザにファイルの格納先が通知されるようになる。
【０１３９】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１４０】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１４１】
また、本発明におけるプログラムは、図１０乃至１３の処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図１０乃至１３の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図１０乃至１３の各装置の処理方法ごとのプログラムであってもよい。
【０１４２】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１４３】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１４４】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１４５】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４７】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１４８】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【符号の説明】
【０１４９】
１００  複合機
２００  クライアント端末
【図１】
0005565111.tif 000002
【図２】
0005565111.tif 000003
【図３】
0005565111.tif 000004
【図４】
0005565111.tif 000005
【図５】
0005565111.tif 000006
【図６】
0005565111.tif 000007
【図７】
0005565111.tif 000008
【図８】
0005565111.tif 000009
【図９】
0005565111.tif 000010
【図１０】
0005565111.tif 000011
【図１１−１】
0005565111.tif 000012
【図１１−２】
0005565111.tif 000013
【図１２】
0005565111.tif 000014
【図１３】
0005565111.tif 000015