(57)【要約】【課題】      通信中に装置時刻が校正されると、通信開始時刻よりも通信終了時刻が前になるなど、不自然な通信記録がログファイルに保存される。【解決手段】  所定のジョブを実行開始する毎に開始時刻を記憶すると共に、タイマによりジョブの実行時間を計時する。ジョブを終了すると、タイマにより求めた実行時間を開始時刻に加算し、終了時刻として記憶する。【選択図】    図７
2009038812.tif 000002
【特許請求の範囲】
【請求項１】
Ｇ３ファクシミリ通信機能と、インターネットファクシミリ通信機能と、装置時刻を計時するための装置時刻タイマと、ネットワークを介して外部から取得した時刻により前記タイマの装置時刻を校正するための時刻校正手段とを備えると共に、
少なくともＧ３ファクシミリ通信及びインターネットファクシミリ通信を含む所定のジョブに対して、ジョブの開始時刻と終了時刻の双方、もしくはジョブの開始時刻と終了時刻の一方と実行時間とを含む、履歴データを記憶するための手段を設けたネットワーク複合機において、
前記所定のジョブを実行開始する毎に、ジョブの実行開始により計時を開始し、ジョブの実行終了により計時を終了するためのタイマをジョブ毎に割り当てて、
前記装置時刻タイマで計時した実行開始時刻もしくは終了時刻の一方と、前記ジョブ毎のタイマのデータとにより求めた履歴データを記憶するようにしたことを特徴とする、ネットワーク複合機。
【請求項２】
Ｇ３ファクシミリ通信機能と、インターネットファクシミリ通信機能と、装置時刻を計時するための装置時刻タイマと、ネットワークを介して外部から取得した時刻により前記タイマの装置時刻を校正するための時刻校正手段とを備えると共に、
少なくともＧ３ファクシミリ通信及びインターネットファクシミリ通信を含む所定のジョブに対して、ジョブの開始時刻と終了時刻の双方、もしくはジョブの開始時刻と終了時刻の一方と実行時間とを含む、履歴データを記憶するための手段を設けたネットワーク複合機の装置時刻を校正するために、
前記所定のジョブを実行開始する毎に、ジョブの実行開始により計時を開始し、ジョブの実行終了により計時を終了するためのタイマをジョブ毎に割り当てて、
前記装置時刻タイマで計時した実行開始時刻もしくは終了時刻の一方と、前記ジョブ毎のタイマのデータとにより求めた履歴データを記憶する、ネットワーク複合機での装置時刻の校正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はネットワーク複合機に関し、特にインターネットファクシミリなどのネットワーク通信と、Ｇ３ファクシミリ通信ができる複合機に関する。
【背景技術】
【０００２】
ネットワーク複合機では、タイムサーバから信頼性のある時刻を取得し、自己の時計(装置時刻）を校正することが行われている(特許文献１)。ところでネットワーク複合機の場合、Ｇ３ファクシミリやインターネットファクシミリなどのファクシミリ通信の開始時刻と終了時刻、あるいはコピーやスキャンの枚数と開始時刻及び終了時刻などを、履歴データとしてログファイルに保存する。そしてこれらのジョブの記録は通信管理レポートなどに出力される。
【０００３】
ここで発明者は、通信などの実行中に装置時刻を校正するとログファイルに不自然な時間が記録されることに着目した。例えば通信中に装置時刻を遅らせると通信時間が０や負となることがあり、装置時刻を進めると通信時間が極めて長くなることがある。このようなことがあると、個々のジョブの実行時間がユーザに分からなくなり、ネットワーク複合機でのジョブ管理に問題が生じる。このような例を図８に示すと、通信を開始した時点での時刻を装置時刻タイマ(装置の時計)から読み出し、ログファイルに１２時１５分１３秒と記憶したとする。その後、装置時刻を校正し例えば時間を１分遅らせると、通信終了時に装置時刻タイマから読み出した時刻が１２時１４分５２秒となり、通信時間が負となることが起こり得る。ログファイルへの記入時に、通信開始時刻よりも古い時刻の記録を禁止することができるが、実際の通信時間は分からないので、通信時間を例えば０とすることになる。また通信中に装置時刻を進めると、異常に長い通信時間となる。
【特許文献１】特開平１１−２０２０６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明の課題は、ジョブの実行中に装置時刻を校正しても、不自然なジョブの実行記録が作成されないようにすることにある。
【課題を解決するための手段】
【０００５】
この発明は、Ｇ３ファクシミリ通信機能と、インターネットファクシミリ通信機能と、装置時刻を計時するための装置時刻タイマと、ネットワークを介して外部から取得した時刻により前記タイマの装置時刻を校正するための時刻校正手段とを備えると共に、少なくともＧ３ファクシミリ通信及びインターネットファクシミリ通信を含む所定のジョブに対して、ジョブの開始時刻と終了時刻の双方、もしくはジョブの開始時刻と終了時刻の一方と実行時間とを含む、履歴データを記憶するための手段を設けたネットワーク複合機において、前記所定のジョブを実行開始する毎に、ジョブの実行開始により計時を開始し、ジョブの実行終了により計時を終了するためのタイマをジョブ毎に割り当てて、前記装置時刻タイマで計時した実行開始時刻もしくは終了時刻の一方と、前記ジョブ毎のタイマのデータとにより求めた履歴データを記憶するようにしたことを特徴とする。
【０００６】
この発明はまた、Ｇ３ファクシミリ通信機能と、インターネットファクシミリ通信機能と、装置時刻を計時するための装置時刻タイマと、ネットワークを介して外部から取得した時刻により前記タイマの装置時刻を校正するための時刻校正手段とを備えると共に、少なくともＧ３ファクシミリ通信及びインターネットファクシミリ通信を含む所定のジョブに対して、ジョブの開始時刻と終了時刻の双方、もしくはジョブの開始時刻と終了時刻の一方と実行時間とを含む、履歴データを記憶するための手段を設けたネットワーク複合機の装置時刻を校正するために、前記所定のジョブを実行開始する毎に、ジョブの実行開始により計時を開始し、ジョブの実行終了により計時を終了するためのタイマをジョブ毎に割り当てて、前記装置時刻タイマで計時した実行開始時刻もしくは終了時刻の一方と、前記ジョブ毎のタイマのデータとにより求めた履歴データを記憶する。
【発明の効果】
【０００７】
この発明では、所定のジョブを実行開始する毎に、計時を開始するタイマを起動する。そしてジョブの終了時に実行時間を求め、ジョブの開始時に求めた装置時刻と実行時間、もしくはジョブの終了時に求めた装置時刻と実行時間とにより、ログファイルなどへの記録を作成する。このためジョブの実行中に装置時刻が校正されても、ログファイルの記録が不自然になることを防止できる。
【０００８】
ネットワーク複合機は、Ｇ３ファクシミリ通信とインターネットファクシミリ通信を並行して行い、また複数のインターネットファクシミリ通信を並行して行うなどのことができる。装置時刻の校正を禁止しなければならないジョブが複数並行して実行されている際に一部のジョブが終了したことにより装置時刻の校正を許可すると問題である。所定のジョブがいずれも実行されていないことを確認するため、複数のジョブや禁止手段で共用するアップダウンカウンタやレジスタを設け、ジョブを開始すると例えばカウンタの値を１加算し、ジョブを終了すると１減算することが可能である。そしてアップダウンカウンタの値が０の場合にのみ、時刻校正手段に装置時刻の校正を許可することが考えられる。しかしながらこのようにすると、複数のジョブや禁止手段の間で、アップダウンカウンタを共有しなければならない。ハードウエアによってアップダウンカウンタを設けると、コストが嵩むし、ソフトウエアによりアップダウンカウンタを設ける場合でも、複数のジョブや禁止手段が共通のアドレスでアップダウンカウンタにアクセスしなければならず、設計が複雑になる。
【０００９】
装置時刻の校正を例えば５時間，１日，５０時間などの所定の時間毎に行うものとする。ここで装置時刻の校正にトライした際に、所定のジョブが実行中のため校正が禁止されたとする。この場合に実行中のジョブが終了するまで待って校正をリトライしても良いが、するとジョブの終了まで装置時刻の校正プロセスを続行せねばならず、複雑になる。
【発明を実施するための最良の形態】
【００１０】
以下に本発明を実施するための最適実施例を示す。
【実施例】
【００１１】
図１〜図７に、実施例と関連する参考例とを示す。図において２はネットワーク複合機で、４はバス、６はＧ３ファクシミリ処理部で、公衆電話回線網を介しＧ３ファクシミリの送受信を行う。スキャナ８は画像データの読取を行い、プリンタ１０は画像データのプリントを行う。画像メモリ１２はスキャナ８で読み取った画像や、Ｇ３ファクシミリやインターネットファクシミリなどにより受信した画像、あるいはプリント用の画像などを記憶し、装置時刻タイマ１４はネットワーク複合機２の装置時刻を計時するタイマである。ログファイル１６はネットワーク複合機２の主なジョブについて記録を作成し、例えばインターネットファクシミリやＧ３ファクシミリなどの送受信の相手先とページ数や、通信開始時刻と通信終了時刻とを記憶する。同様にスキャナ８での画像のスキャンや、プリンタ１０でのプリントにつき、ジョブの開始時刻と終了時刻と枚数を記憶する。なおジョブの開始時刻と終了時刻に代えて、ジョブの開始時刻と実行時間や、終了時刻と実行時間とを記憶しても良い。
【００１２】
ＯＳ機能処理部１８はネットワーク複合機２のＯＳ機能を提供し、排他制御部２０を備えて、セマフォーやシーケンサなどの排他制御プロセスにより、装置時刻の校正に関する排他制御を行う。排他制御部２０は装置時刻の校正を禁止する必要があるジョブ、即ちログファイル１６に実行時刻を記録するジョブが発生する毎に、セマフォーを１つずつジョブ(プロセス)に渡し、ジョブが終了するとセマフォーをジョブから回収する。装置時刻校正処理部２２は、装置時刻タイマ１４を校正する時間が到来すると、時刻校正の許可を排他制御部２０に要求し、セマフォーが１つも割り当てられていない場合、排他制御部２０は装置時刻タイマ１４の校正を許可し、セマフォーが１つでも割り当てられている場合、校正を禁止する。
【００１３】
なおセマフォーに代えて、シーケンサを用いる場合、装置時刻の校正を禁止するジョブを開始する毎にチケットの値を１増加し、このジョブが終了するとイベントカウンタの値を１増加させる。そしてチケットの値とイベントカウンタの値が一致する場合にのみ装置時刻の校正を許可する。この処理は排他制御部２０で行い、チケットの数とイベントカウンタの値との差は、割り当て済の資源の数に相当する。
【００１４】
ＨＴＴＰサーバ機能処理部２４は、クライアントのパーソナルコンピュータなどに対し、ＬＡＮ２８などを介してネットワーク複合機２をＨＴＴＰサーバとして機能させる。インターネットファクシミリサーバ機能処理部２６は、ＬＡＮ２８を介した電子メールの送受信により、ＰＯＰ、ＭＴＰなどのプロトコルによりインターネットファクシミリ機能を実現する。そしてＬＡＮ２８と図示しないインターネットなどを介して、外部のタイムサーバとネットワーク複合機２とが接続され、ＮＴＰ(ネットワークタイマプロトコル)により、装置時刻校正部２２が標準時刻を取得する。タイマ群３０は排他制御部２０の代わりに設け、タイマ群３０を設ける場合、複数のタイマを用意し、装置時刻の校正を禁止するジョブが開始される都度、タイマを起動する。起動時のタイマのデータは０でもよく、あるいはその時点での装置時刻でも良い。
【００１５】
図２〜図５に参考例の動作を示す。各図では装置時刻の校正を禁止するジョブとしてインターネットファクシミリやＧ３ファクシミリなどの通信プロセスを示すが、コピーやスキャンなどでも良い。通信プロセスを開始すると、ステップ１で装置時刻の校正を禁止し、次いでステップ２で通信開始時刻をログファイルに保存する。ステップ３で通信を実行し、ステップ４で通信を終了すると、その時点の時刻を装置時刻のタイマから求めてログファイルに保存する。次いで装置時刻の校正の禁止を解除し(ステップ５)、通信プロセスを終了する。
【００１６】
装置時刻校正処理部では例えば５時間置きや１日置き、あるいは５０時間置きなどの所定の時間が経過する毎に、装置時刻の校正時期が到来したものとする(ステップ１１)。この場合装置時刻の校正が許可されているか禁止されているか排他制御部に問い合わせ(ステップ１２)、許可されると装置時刻を外部のタイムサーバなどで求めた時刻を基準に校正する(ステップ１３)。ここで装置時刻の校正が禁止されている場合、そのまま装置時刻の校正プロセスを終了し、次の装置時刻の校正時期まで待機する。
【００１７】
装置時刻の校正の禁止やその解除には、ＯＳ機能処理部中の排他制御部を利用する。図３に示すように、装置時刻の校正を禁止するジョブが使用するセマフォーＳを用い、その初期値を例えば１０とする。１０は同時に実行されるジョブの総数よりも充分多い数である。また装置時刻校正処理部２２が装置時刻を校正する間に、新たなジョブが発生して装置時刻を読み出しログファイルに保存することを防止するため、セマフォーＷを設けその初期値を１とする。セマフォーＷは設けなくても良い。
【００１８】
通信プロセスの側では、セマフォーＷの値を排他制御部２０に問い合わせ、この値が１で通信プロセスを続行し、セマフォーＳの値を問い合わせる。セマフォーＷの値が０の場合、通信プロセスはＷの値が１に戻るまで待機する。セマフォーＳの値が０になることは基本的にはないので、命令Ｐ(Ｓ)によりセマフォーＳの値が１減算され、次いでセマフォーＷの値を１増すことを排他制御部に命令Ｖ(Ｗ)により依頼する。そして通信開始時刻を装置時刻タイマから求めて、ログファイルに保存し、通信を実行し、通信終了時刻を同様に装置時刻タイマから求めてログファイルに保存する。通信が終了すると、命令Ｖ(Ｓ)によりセマフォーの値Ｓを１増加させる。
【００１９】
時刻校正プロセスでは、排他制御部に命令Ｐ(Ｗ)によりセマフォーＷの値が１かどうかを問い合わせ、０であれば待機し、１であれば排他制御部はセマフォーＷの値を０に変更して、時刻校正プロセスの続行を許可する。次にセマフォーＳの値を読み出し、この値が１０の場合時刻校正を行い、１０以外の場合何も実行しない。次いで命令Ｖ(Ｗ)により、セマフォーの値を１に復帰させる。例えば図４のように、３つの通信プロセスが並行して行われる場合、いずれかの通信プロセスが開始されてから全ての通信プロセスが終了するまで、装置時刻の校正が禁止される。
【００２０】
図５に示すように、装置時刻校正処理部でセマフォーＷの値を０に変更して１に戻す前の間、通信プロセスの開始が禁止される。そこでセマフォーＳの値を読み出して時刻校正を行うまでの僅かな間に、別の通信プロセスが発生して、装置時刻タイマの値を読み出すことを防止できる。しかしながら実際にこのようなことが起こる確率はごく僅かで、セマフォーＷによる排他制御は省略しても良い。
【００２１】
参考例では装置時刻タイマの校正時期が到来し、その時点で装置時刻の校正が禁止されていると、次の校正時期が到来するまで装置時刻タイマを校正しない。これに対して、校正を禁止する全てのジョブが終了するまで待って、校正を行うようにした参考例を図６に示す。時刻校正の時期が到来し（ステップ１１）、校正が禁止されていると（ステップ１２）、外部のタイムサーバから時刻を入手し、この時刻を初期値とするタイマをスタートする(ステップ２０)。そして校正が許可されるまでタイマの計時を続行し(ステップ２１)、校正が許可されるとタイマの時刻で装置時刻を校正する(ステップ２２)。このようにするとタイムサーバの時刻を直接用いる場合に比べて、タイマでの計時誤差が考えられるが、一般にこのような誤差は僅かである。なおステップ２１で校正が許可された時点で、初めてタイムサーバにアクセスして時刻を取得するようにしても良い。この場合ステップ２０は不要である。さらに図６の参考例は、特に指摘した点以外は図１〜図５の実施例や参考例と同様である。
【００２２】
図７に、時刻校正を禁止する代わりに、所定のジョブ毎にタイマを設けて、一貫性のある通信時刻などの記録を作成するようにした実施例を示す。通信を開始すると、ステップ２で通信開始時刻をログファイルに保存し、通信プロセス毎のタイマＴiをスタートする(ステップ３１)。そして通信が終了するまでタイマの計時を続行し(ステップ３２)、通信が終了すると、ログファイルの通信開始時刻にタイマで計時した通信時刻を加算して、ログファイルに通信終了時刻として保存する(ステップ３３)。そしてこの後例えばタイマをリセットする(ステップ３４)。このようにすれば、通信中に装置時刻タイマが校正されても、影響を受けることがない。なお装置時刻タイマから通信開始時刻を求める代わりに、通信終了時刻を求めても良い。またタイマの初期値を通信開始時刻としておくと、タイマから直接通信終了時刻を求めることができる。
【図面の簡単な説明】
【００２３】
【図１】実施例のネットワーク複合機のブロック図
【図２】参考例での複合機の装置時刻の校正アルゴリズムを示すフローチャート
【図３】参考例での装置時刻の校正アルゴリズムを、セマフォーを用いた排他制御の面から示す図
【図４】参考例で、複数の通信プロセスにより、装置時刻の校正を多重に排他制御することを示す図
【図５】参考例で、装置時刻の校正中に、通信プロセスが通信開始時刻を読み出すことを禁止する処理を示す図
【図６】第２の参考例で、通信プロセスの終了まで、装置時刻の校正を遅延させることを示すフローチャート
【図７】実施例で、通信プロセス毎にタイマをセットし、通信開始から通信終了までの時間をタイマで求めることを示す図
【図８】通信中に装置の時刻を校正することにより、不自然な通信時間が記録されることを示す図
【符号の説明】
【００２４】
２        ネットワーク複合機
４        バス
６        Ｇ３ファクシミリ処理部
８        スキャナ
１０      プリンタ
１２      画像メモリ
１４      装置時刻タイマ
１６      ログファイル
１８      ＯＳ機能処理部
２０      排他制御部
２２      装置時刻校正処理部
２４      ＨＴＴＰサーバ機能処理部
２６      インターネットファクシミリサーバ機能処理部
２８      ＬＡＮ
３０      タイマ群
【図１】
2009038812.tif 000003
【図２】
2009038812.tif 000004
【図３】
2009038812.tif 000005
【図４】
2009038812.tif 000006
【図５】
2009038812.tif 000007
【図６】
2009038812.tif 000008
【図７】
2009038812.tif 000009
【図８】
2009038812.tif 000010