JP5177181B2 - 通信制御装置、通信制御方法およびプログラム - Google Patents

通信制御装置、通信制御方法およびプログラム Download PDF

Info

Publication number
JP5177181B2
JP5177181B2 JP2010140323A JP2010140323A JP5177181B2 JP 5177181 B2 JP5177181 B2 JP 5177181B2 JP 2010140323 A JP2010140323 A JP 2010140323A JP 2010140323 A JP2010140323 A JP 2010140323A JP 5177181 B2 JP5177181 B2 JP 5177181B2
Authority
JP
Japan
Prior art keywords
information
command
information processing
response
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010140323A
Other languages
English (en)
Other versions
JP2012003664A (ja
Inventor
敏博 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2010140323A priority Critical patent/JP5177181B2/ja
Priority to US13/158,492 priority patent/US8543677B2/en
Publication of JP2012003664A publication Critical patent/JP2012003664A/ja
Application granted granted Critical
Publication of JP5177181B2 publication Critical patent/JP5177181B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3284Power saving in printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/1221Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Description

本発明は、ネットワークを介して情報処理装置とデータ通信を行うための通信制御装置、通信制御方法およびプログラムに関する。
従来、デジタル複合機やMFP(Multi Function Peripheral)などと称される情報処理装置は、操作パネルに設けられたスタートキーがユーザによって押下された場合、それに伴ってユーザによって指定されたジョブ(例えばコピージョブなど)を実行する。またネットワークを介して外部のコンピュータなどからジョブ(例えばプリントジョブ)を受信すると、その受信したジョブを実行する。
このような情報処理装置には、操作パネルに対する操作が行われず、しかもネットワークからのデータの受信がない状態で所定時間が経過した場合に、動作状態を省電力モードへと移行させるものが存在する。この省電力モードでは、操作パネルの電源をオフにするのが一般的であったが、近年はより一層大きな省電力効果の実現を図るために、操作パネルの電源をオフにするだけでなく、ネットワーク通信モジュールに設けられた通信制御を行うためのCPUの電源をオフにするものも存在する。
一方、ネットワークを介して情報処理装置とデータ通信可能なコンピュータには、種々のアプリケーションプログラムがインストールされており、その中には、例えば一定周期ごとに情報処理装置とデータ通信を行って情報処理装置現在の状態を管理するアプリケーションプログラムも存在する。ところが、コンピュータにおいてそのようなアプリケーションプログラムが起動し、情報処理装置に対して断続的にデータ通信を行ってしまうと、情報処理装置はネットワーク通信モジュールのCPUの電源をオンにする必要があり、省電力モードを解除して通常電力状態へと復帰させてしまう。このような状況では情報処理装置の省電力モードを長時間継続させることが困難になり、省電力効果が低下する。
従来、これを防止するための一つの技術として、アプリケーションから情報処理装置に対するデータ通信の要求があった場合、情報処理装置に対して送信する情報を一旦フックし、送信先となる情報処理装置が省電力状態である否かを確認して省電力状態であれば、そのフックした情報を情報処理装置へ送信する前に、情報処理装置へ送信しても良いかどうかをユーザに確認するようにした技術が提案されている(例えば特許文献1)。この従来技術では、ユーザがフックした情報を情報処理装置に送信することを指示した場合、そのフックされた情報が情報処理装置へと送信される。またユーザがフックした情報を情報処理装置に送信しないことを指示した場合には、フックされた情報は送信されないまま処理が終了する。
特開2009−110272号公報
しかしながら、上記従来技術では、アプリケーションからデータ通信の要求があった場合、そのタイミングで送信先となる情報処理装置が省電力状態であるか否かによって動作が切り替わるため、情報処理装置の動作状態を常時正確に管理しておかなければならないという問題がある。
また、上記従来技術では、送信先となる情報処理装置が省電力状態のとき、アプリケーションからデータ通信の要求があると、情報処理装置に対して送信する情報を一旦フックしてしまうため、例えば情報処理装置に既に送信され蓄積されているジョブの実行をキャンセルするためのコマンドや、情報処理装置の設定を変更するコマンド(例えば登録ユーザの登録情報を抹消するコマンドなど)のように、情報処理装置に対して即時に送信しなければならない情報もフックされてしまうという問題がある。
このような場合、ユーザにより情報処理装置に送信する指示が行われると、即時性を有するコマンドが情報処理装置に送信されるようになっているが、ユーザによる指示は情報がフックされた直後に行われるとは限らない。そのため、情報処理装置において蓄積されたジョブの実行が開始された後に、そのジョブをキャンセルするためのコマンドが送信されることがあり、ジョブのキャンセルを指示するタイミングが遅くなってしまうという問題がある。また、情報処理装置に登録されているユーザの登録情報を抹消しようとしても、リアルタイムには登録情報の抹消が行われなくなり、情報処理装置を使用できなくなるはずのユーザによって情報処理装置が依然として使用されてしまうという問題も発生する。
また、上記従来技術では、ユーザがフックした情報を情報処理装置に送信しないことを指示した場合には、フックされた情報は送信されないまま処理が終了する。この場合、情報処理装置の省電力状態が継続されるので省電力という観点からは良好な結果が得られるようになる。しかし、その反面、アプリケーションが情報処理装置から何らかの情報を取得しようとしてデータ送信要求を行ったにもかかわらず、情報処理装置からはそれに対する応答が得られないため、その後はアプリケーションの機能が停止してしまうという問題がある。
そこで本発明は、上記従来の問題点を解決するためになされたものであり、アプリケーション部の機能が停止してしまうことを防止しつつ、情報処理装置の省電力状態を長時間維持できるようにし、さらには情報処理装置において適切な処理をリアルタイムで行うことができるようにした通信制御装置、通信制御方法およびプログラムを提供することを目的とする。
上記目的を達成するため、請求項1にかかる発明は、ネットワークに接続された情報処理装置と相互にデータ通信可能であり、前記情報処理装置とのデータ通信を要求するアプリケーション部からのコマンドに応じてデータ通信を行う通信制御装置であって、前記アプリケーション部からのコマンドに応じたデータ通信を行うと共に、当該データ通信により取得される応答情報を前記アプリケーション部に出力する通信制御手段と、前記情報処理装置から送信される情報を記憶すると共に、前記アプリケーション部からのコマンドに対応した前記情報処理装置の仮想的な応答情報を生成する仮想応答手段と、を備え、前記通信制御手段は、前記仮想応答手段との仮想的なデータ通信を行うコマンドリストが登録されると共に、前記コマンドリストに登録されたコマンドごとに、前記情報処理装置に代わって前記仮想応答手段に実行させる代替タスクに関する情報が登録された登録情報を管理しており、前記アプリケーション部からのコマンドが前記登録情報に含まれる場合、当該コマンドに基づいて前記仮想応答手段に実行させる代替タスクを特定し、当該代替タスクを前記仮想応答手段に実行させることにより、前記アプリケーション部からのコマンドに対応する応答情報を前記仮想応答手段から取得して前記アプリケーション部に出力し、前記アプリケーション部からのコマンドが前記登録情報に含まれない場合、前記情報処理装置との実際のデータ通信を行うことにより前記情報処理装置からの応答情報を取得して前記アプリケーション部に出力する構成であり、前記通信制御手段が前記仮想応答手段に実行させる前記代替タスクは、初回目の実行時には前記情報処理装置との実際のデータ通信を行わせて前記情報処理装置からの実際の応答情報で返答させ、2回目以降の実行時には過去に前記情報処理装置から取得した応答情報に基づいて生成した仮想的な応答情報で返答させる処理であることを特徴とする構成である。
請求項にかかる発明は、請求項に記載の通信制御装置において、前記仮想応答手段は、前記情報処理装置から取得する応答情報を記憶する受信情報記憶手段を備えており、前記代替タスクを実行することにより、前記受信情報記憶手段に記憶されている応答情報を読み出して仮想的な応答情報を生成することを特徴とする構成である。
請求項にかかる発明は、請求項に記載の通信制御装置において、前記仮想応答手段は、前記代替タスクを初回目に実行するとき、前記情報処理装置と実際のデータ通信を行うことにより、前記情報処理装置から取得する応答情報を前記受信情報記憶手段に記憶すると共に、前記情報処理装置に対し、前記情報処理装置の状態変化が生じる場合にその状態変化の通知を予約しておくことを特徴とする構成である。
請求項にかかる発明は、請求項に記載の通信制御装置において、前記仮想応答手段は、前記予約により、前記情報処理装置から状態変化を通知するための情報を受信した場合、当該情報を前記受信情報記憶手段に記憶しておき、その後に前記代替タスクを実行するときに当該情報を読み出して仮想的な応答情報を生成することを特徴とする構成である。
請求項にかかる発明は、請求項乃至のいずれかに記載の通信制御装置において、前記アプリケーション部からのコマンドに応じて前記通信制御手段と前記仮想応答手段と間で仮想的なデータ通信が行われた場合に当該コマンドを記憶しておく送信情報記憶手段をさらに備え、前記仮想応答手段は、前記情報処理装置から送信された情報を受信した場合、当該受信情報を前記受信情報記憶手段に記憶すると共に、前記送信情報記憶手段に記憶されているコマンドに基づいて前記情報処理装置との実際のデータ通信を行うことにより、当該コマンドに対応する応答情報を前記情報処理装置から取得して前記受信情報記憶手段に記憶することを特徴とする構成である。
請求項にかかる発明は、請求項1乃至のいずれかに記載の通信制御装置において、前記コマンドリストには、前記アプリケーション部が前記情報処理装置の状態を管理するために定期的に又は不定期に出力されるコマンドが登録されることを特徴とする構成である。
請求項にかかる発明は、請求項1乃至のいずれかに記載の通信制御装置において、前記通信制御手段は、前記情報処理装置が省電力モードへ移行するか否かの省電力設定管理情報を保持し、当該省電力設定管理情報において省電力モードへ移行する設定となっていれば、前記アプリケーション部からのコマンドに応じて前記仮想応答手段との仮想的なデータ通信を行い、省電力モードへ移行しない設定となっていれば、前記アプリケーション部からコマンドを入力する都度、前記情報処理装置との実際のデータ通信を行うことを特徴とする構成である。
請求項にかかる発明は、ネットワークに接続された情報処理装置とのデータ通信を要求するアプリケーション部からのコマンドに応じて通信制御装置が通信制御を行う通信制御方法であって、(a) 前記アプリケーション部から前記情報処理装置とのデータ通信を要求するコマンドを入力するステップと、(b) 前記アプリケーション部からのコマンドを入力した場合、所定の仮想応答手段との仮想的なデータ通信を行うことが定義されたコマンドリストが登録されると共に、前記コマンドリストに登録されたコマンドごとに、前記情報処理装置に代わって前記仮想応答手段に実行させる代替タスクに関する情報が登録された登録情報を参照し、前記アプリケーション部からのコマンドが前記コマンドリストに含まれるか否かを判断するステップと、(c) 前記アプリケーション部からのコマンドが前記コマンドリストに含まれる場合、前記登録情報を更に参照して前記仮想応答手段に実行させる代替タスクを特定し、前記仮想応答手段との仮想的なデータ通信を行うことにより、当該代替タスクを前記仮想応答手段に実行させて前記アプリケーション部からのコマンドに対応する応答情報を前記仮想応答手段から取得して前記アプリケーション部に出力し、前記アプリケーション部からのコマンドが前記コマンドリストに含まれない場合、前記情報処理装置との実際のデータ通信を行うことにより前記情報処理装置からの応答情報を取得して前記アプリケーション部に出力するステップと、を有し、前記ステップ(c)は、前記仮想応答手段に前記代替タスクを実行させるとき、初回目の実行時には前記情報処理装置との実際のデータ通信を行わせて前記情報処理装置からの実際の応答情報で返答させる処理を行わせ、2回目以降の実行時には過去に前記情報処理装置から取得した応答情報に基づいて生成した仮想的な応答情報で返答させる処理を行わせることを特徴とする構成である。
請求項にかかる発明は、ネットワークに接続された情報処理装置とデータ通信を行うコンピュータによって実行されるプログラムであって、前記コンピュータに、(a) 前記情報処理装置とのデータ通信を要求するアプリケーション部からのコマンドを入力するステップと、(b) 前記アプリケーション部からのコマンドを入力した場合、所定の仮想応答手段との仮想的なデータ通信を行うことが定義されたコマンドリストが登録されると共に、前記コマンドリストに登録されたコマンドごとに、前記情報処理装置に代わって前記仮想応答手段に実行させる代替タスクに関する情報が登録された登録情報を参照し、前記アプリケーション部からのコマンドが前記コマンドリストに含まれるか否かを判断するステップと、(c) 前記アプリケーション部からのコマンドが前記コマンドリストに含まれる場合、前記登録情報を更に参照して前記仮想応答手段に実行させる代替タスクを特定し、前記仮想応答手段との仮想的なデータ通信を行うことにより、当該代替タスクを前記仮想応答手段に実行させて前記アプリケーション部からのコマンドに対応する応答情報を前記仮想応答手段から取得して前記アプリケーション部に出力し、前記アプリケーション部からのコマンドが前記コマンドリストに含まれない場合、前記情報処理装置との実際のデータ通信を行うことにより前記情報処理装置からの応答情報を取得して前記アプリケーション部に出力するステップと、を実行させ、前記ステップ(c)は、前記仮想応答手段に前記代替タスクを実行させるとき、初回目の実行時には前記情報処理装置との実際のデータ通信を行わせて前記情報処理装置からの実際の応答情報で返答させる処理を行わせ、2回目以降の実行時には過去に前記情報処理装置から取得した応答情報に基づいて生成した仮想的な応答情報で返答させる処理を行わせることを特徴とする構成である。
本発明によれば、アプリケーション部からのコマンドが情報処理装置と実際のデータ通信を行う必要のないコマンドであれば、情報処理装置とのデータ通信を行うことなく、そのコマンドに対応する仮想的な応答情報を生成してアプリケーション部に出力することにより、アプリケーション部の機能が停止してしまうことを防止しつつ、情報処理装置の省電力状態を長時間維持できるようになる。また、アプリケーション部からのコマンドが情報処理装置と実際のデータ通信を行うことの必要なコマンドであれば、情報処理装置との実際のデータ通信を行うことにより、そのコマンドに対応する処理を情報処理装置でリアルタイムに実行させることができる。
本発明の一実施形態である情報処理システムの一構成例を示す図である。 コンピュータのハードウェア構成の一例を示すブロック図である。 情報処理装置のハードウェア構成の一例を示すブロック図である。 情報処理装置における動作状態の移行を示す状態遷移図である。 コンピュータのCPUによって実現される機能構成の一例を示すブロック図である。 通信制御装置で管理される省電力設定管理情報の一例を示す図である。 通信制御装置で管理されるテーブル情報の一例を示す図である。 アプリケーション部から即時性のないコマンドが出力される場合のデータ通信の一例を示す図である。 予め情報処理装置に送信した通知予約により仮想応答部が情報処理装置から通知情報を受信する場合のデータ通信の一例を示す図である。 アプリケーション部から即時性のあるコマンドが出力される場合のデータ通信の一例を示す図である。 通信制御部がアプリケーション部からコマンドを受信した場合に実行する処理手順の一例を示すフローチャートである。 仮想応答部が通信制御部から代替タスクの実行指令を受けた場合に実行する処理手順の一例を示すフローチャートである。 仮想応答部が情報処理装置から通知予約に基づく通知情報を受信した場合に実行する処理手順の一例を示すフローチャートである。
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらについての重複する説明は省略する。
図1は、本発明の一実施形態である情報処理システム1の一構成例を示す図である。この情報処理システム1は、一般的なパーソナルコンピュータ(PC)などで構成されるコンピュータ2と、デジタル複合機やMFPなどと称される情報処理装置3とが、LANなどのネットワーク4を介して相互にデータ通信可能に接続された構成である。情報処理装置3は、例えばコピー機能、プリンタ機能、FAX機能、スキャナ機能、Box機能などの複数の機能を備えており、それら複数の機能のうちからユーザによって選択された機能に対応する各種のジョブを実行する。尚、ネットワーク4は、有線LANに限られず、無線LANやその他のネットワークを含んで構成されても良い。また図1では、ネットワーク4に接続される情報処理装置3が1台である場合を例示しているが、複数台の情報処理装置3が接続されていても構わない。また、ネットワーク4には、上記以外の装置が接続されていても構わない。
図2は、コンピュータ2のハードウェア構成の一例を示すブロック図である。コンピュータ2は、CPU10と、メモリ11と、ネットワーク通信モジュール12と、表示装置13と、操作入力装置14と、記憶装置15とを備えており、これら各部がデータバス16を介して相互にデータの入出力を行うことが可能な構成である。
CPU10は、各種のプログラムを実行するものである。メモリ11は、CPU10がプログラムを実行することに伴って必要となる各種データを記憶するものである。ネットワーク通信モジュール12は、CPU10が各種プログラムを実行することに伴ってネットワーク4に接続された各種装置とデータ通信を行うためのものである。表示装置13は、例えば液晶ディスプレイなどで構成され、各種情報を表示するためのものである。また、操作入力装置14は、キーボードやマウスなどで構成され、ユーザによる各種指示操作を入力するものである。
記憶装置15は、ハードディスク装置などの不揮発性記憶装置である。この記憶装置15には、アプリケーションプログラム17と、通信制御プログラム18とが予めインストールされている。また、記憶装置15には、図示を省略するオペレーティングシステム(OS)が予めインストールされている。
CPU10は、コンピュータ2に電源が投入されると、それに伴い、記憶装置15にインストールされているオペレーティングシステムを起動し、その後、通信制御プログラム18を読み出して起動する。つまり、通信制御プログラム18は、コンピュータ2に電源が投入されることに伴いCPU10によって自動的に実行されるプログラムであり、コンピュータ2に電源が投入されている間は起動された状態のままでコンピュータ2に常駐する。この通信制御プログラム18は、CPU10によって起動された状態になると、ネットワーク通信モジュール12を介して情報処理装置3とのデータ通信を制御する通信制御装置として機能する。
一方、アプリケーションプログラム17は、例えばユーザにより実行指示が行われると、CPU10によって読み出されて実行されるプログラムである。ただし、通信制御プログラム18と同様に、コンピュータ2に電源が投入されることに伴いCPU10によって自動的に実行されるようにしても構わない。このアプリケーションプログラム17は、情報処理装置3を管理するためのプログラムであり、CPU10によって実行されることにより、例えば、情報処理装置3の装置状態を管理したり、情報処理装置3に対してジョブを送信したり、情報処理装置3に送信したジョブをキャンセルしたり、或いは、情報処理装置3の設定状態を変更したりする機能を実現する。
図3は、情報処理装置3のハードウェア構成の一例を示すブロック図である。情報処理装置3は、制御部20と、操作パネル21と、ネットワーク通信モジュール24と、スキャナ部25と、プリンタ部26と、記憶装置27とを備えており、これら各部がデータバス28を介して相互にデータの入出力を行うことが可能な構成である。
制御部20は、図示しないCPUとメモリとを備えており、CPUが所定のプログラムを実行することにより、各部を制御する制御手段である。この制御部20は、省電力移行制御部20aを備えている。操作パネル21は、ユーザが情報処理装置3を使用する際のユーザインタフェースであり、ユーザに対して各種情報を表示する表示部22と、ユーザの指示操作の入力を受け付ける操作部23とを備えている。ネットワーク通信モジュール24は、ネットワーク4から情報処理装置3を送信先とするデータを受信して制御部20に出力したり、制御部20からコンピュータ2を送信先とするデータを取得してネットワーク4に送信したりする。このネットワーク通信モジュール24は、ネットワーク4を介して送受信するデータのデータ処理を行うCPU24aと、情報処理装置3を送信先とするデータを検知してネットワーク4から受信する信号検知部24bとを備えている。
スキャナ部25は、例えば情報処理装置3においてコピージョブやスキャンジョブ、FAX送信ジョブが実行されるときに動作し、原稿から画像を読み取って画像データを生成するものである。プリンタ部26は、例えば情報処理装置3においてコピージョブやプリントジョブ、FAX受信ジョブが実行されるときに動作し、画像データに基づいて用紙に画像形成を行って印刷出力するものである。記憶装置27は、例えばハードディスク装置などの不揮発性記憶装置である。この記憶装置27には、ユーザによって予め設定される省電力設定情報29が記憶されている。尚、記憶装置27には未実行のジョブを蓄積しておくことも可能である。
上記構成の情報処理装置3において電源が投入されると、制御部20が所定のプログラム実行し、情報処理装置3の動作状態を通常動作状態へと起動する。この通常動作状態は、ジョブの実行指示が入力されるのを待機する状態であり、上述した各部に電力が供給された状態となっている。例えば、この通常動作状態において、ユーザが操作パネル21の操作部23を操作することによってコピージョブなどのジョブの実行を指示すると、制御部20は、スキャナ部25やプリンタ部26を動作させてユーザにより指定されたジョブの実行を制御する。また、通常動作状態においてネットワーク通信モジュール24によりネットワーク4を介してプリントジョブなどのジョブ実行コマンドが受信されると、制御部20は、プリンタ部26を動作させてジョブ実行コマンドにより指定されたプリントジョブなどの実行を制御する。
また、制御部20の省電力移行制御部20aは、情報処理装置3の動作状態を所定の条件下で、通常動作状態から省電力モードであるスリープ状態へと移行させる処理部である。図4は、情報処理装置3の動作状態の移行を示す状態遷移図である。図4に示すように、省電力移行制御部20aは、情報処理装置3の動作状態を、通常動作状態ST1、スリープ状態ST2および拡張スリープ状態ST3の3つの状態のいずれかに移行させる。ここで、スリープ状態ST2は第1段階目の省電力モードであり、通常動作状態ST1よりも電力消費量を低減することができる動作状態である。また拡張スリープ状態ST3は、第2段階目の省電力モードであり、スリープ状態ST2よりも更に電力消費量を低減することができる動作状態である。
上述したように、情報処理装置3に電源が投入されると、省電力移行制御部20aは、情報処理装置3を通常動作状態ST1とし、各部に電力を供給した状態でジョブの実行指示が入力されるのを待機する。この省電力移行制御部20aは、操作パネル21の操作部23およびネットワーク通信モジュール24の信号検知部24bを監視している。そして通常動作状態ST1のとき、操作部23および信号検知部24bにおいて所定時間信号入力が検知されなかった場合、省電力移行制御部20aは、情報処理装置3の動作状態を、通常動作状態ST1からスリープ状態ST2へ移行させる。このとき、省電力移行制御部20aは、操作パネル21の表示部22の電源をオフにして操作パネル21を消灯する。情報処理装置3がスリープ状態ST2のとき、操作部23および信号検知部24bのいずれかによって信号入力が検知されると、省電力移行制御部20aは、情報処理装置3の動作状態を、スリープ状態ST2から通常動作状態ST1へと移行させ、ジョブの実行を可能な状態とする。
またスリープ状態ST2のとき、操作部23および信号検知部24bにおいて所定時間信号入力が検知されなかった場合、省電力移行制御部20aは、情報処理装置3の動作状態を、スリープ状態ST2から拡張スリープ状態ST3へ移行させる。このとき、省電力移行制御部20aは、操作パネル21の表示部22の電源をオフにすると共に、ネットワーク通信モジュール24のCPU24aの電源をオフにする。ただし、信号検知部24bはその機能を動作させたままである。このように情報処理装置3が拡張スリープ状態ST3へ移行すると、情報処理装置3において電力が供給される部分がスリープ状態ST2よりも少なくなり、より一層大きな省電力効果を期待することができるようになる。
情報処理装置3が拡張スリープ状態ST3のとき、操作部23および信号検知部24bのいずれかによって信号入力が検知されると、省電力移行制御部20aは、情報処理装置3の動作状態を、拡張スリープ状態ST3から通常動作状態ST1へと移行させ、ジョブの実行を可能な状態とする。したがって、情報処理装置3は、スリープ状態ST2や拡張スリープ状態ST3へ移行した後、コンピュータ2から何らかのコマンドを受信すると、それに伴い、省電力モードを解除して通常動作状態ST1に戻るようになっている。
上記のように、情報処理装置3は、その動作状態を、通常動作状態ST1、スリープ状態ST2および拡張スリープ状態ST3の3つの状態に移行させることが可能であるが、通常動作状態ST1からスリープ状態ST2へ移行させるか否かを、又、スリープ状態ST2から拡張スリープ状態ST3へ移行させるか否かをユーザが予め設定することができるようになっている。このようなユーザによる設定は、省電力設定情報29に記録されている。そのため、省電力移行制御部20aは、記憶装置27から省電力設定情報29を読み出し、その省電力設定情報29に基づいて情報処理装置3の動作状態の移行制御を行う。例えば、省電力設定情報29において、スリープ状態ST2への移行設定がオンになっていれば、上述したように所定時間信号入力が検知されないことを条件として、情報処理装置3の動作状態を、通常動作状態ST1からスリープ状態ST2へ移行させる。また、省電力設定情報29において、拡張スリープ状態ST3への移行設定がオンになっていれば、上述したように所定時間信号入力が検知されないことを条件として、情報処理装置3の動作状態を、スリープ状態ST2から拡張スリープ状態ST3へ移行させる。これに対し、スリープ状態ST2への移行設定がオフになっていれば、上記のような移行制御は行わず、情報処理装置3は常に通常動作状態ST1で動作し続けることになる。またスリープ状態ST2への移行設定がオンであり、拡張スリープ状態ST3への移行設定がオフになっていれば、情報処理装置3は通常動作状態ST1からスリープ状態ST2へのみ移行する。
次に、本実施形態のコンピュータ2において通信制御プログラム18およびアプリケーションプログラム17が実行されることによる機能構成について説明する。図5は、コンピュータ2のCPU10によって実現される機能構成の一例を示すブロック図である。図5に示すように、コンピュータ2は、通信制御プログラム18を実行することにより、通信制御装置32として機能する。またコンピュータ2は、アプリケーションプログラム17を実行することにより、アプリケーション部31として機能する。
アプリケーション部31は、情報処理装置3を管理する処理部であり、上述したように、例えば、情報処理装置3の装置状態を管理したり、情報処理装置3に対してジョブを送信したり、情報処理装置3に送信したジョブをキャンセルしたり、或いは、情報処理装置3の設定状態を変更したりする機能を有している。このアプリケーション部31は、情報処理装置3を管理又は制御するために、定期的に又は不定期に情報処理装置3に送信するための各種のコマンドを生成する。
アプリケーション部31は、情報処理装置3に送信するためのコマンドを生成すると、そのコマンドを通信制御装置32に出力する。つまり、アプリケーション部31は、情報処理装置3と直接データの送受信を行うのではなく、通信制御装置32を介してデータの送受信を行うようになっている。そしてアプリケーション部31は、通信制御装置32に対してコマンドを出力すると、所定時間が経過するまでの間、そのコマンドに対応する応答情報を受信するのを待機する。アプリケーション部31は、出力したコマンドに対応する応答情報を受信すると、それに基づいて情報処理装置3の管理情報を更新したり、情報処理装置3に指示した特定の処理の処理結果を把握したりする。
通信制御装置32は、ネットワーク通信モジュール12を介して情報処理装置3とのデータ通信を統括的に制御する装置である。この通信制御装置32は、上述したように、コンピュータ2に常駐しており、アプリケーション部31と、情報処理装置3との間で行われるデータの送受信を中継するように構成されている。
図5に示すように、通信制御装置32は、主として、通信制御部33と、仮想応答部34とを備えている。また通信制御装置32は、メモリ11や記憶装置15などに記憶される省電力設定管理情報35と、テーブル情報36とを管理するように構成されている。
通信制御部33は、アプリケーション部31から出力される各種のコマンドを取得し、そのコマンドを解析することによってデータ通信の態様を決定する。そして、その決定に応じた処理を行ってアプリケーション部31から取得したコマンドに対応する応答情報をアプリケーション部31に返答する。この通信制御部33は、省電力設定管理情報35と、テーブル情報36とを管理しており、アプリケーション部31からのコマンドに基づいてデータ通信の態様を決定する際に、これら省電力設定管理情報35およびテーブル情報36を参照する。
ここで、省電力設定管理情報35は、ネットワーク4に接続されている情報処理装置3から省電力設定情報29を取得して生成される情報であり、ネットワーク4に複数の情報処理装置3が接続されている場合には、情報処理装置3ごとの省電力設定がリスト化された情報となっている。図6は、この省電力設定管理情報35の一例を示す図である。図6に示すように、省電力設定管理情報35は、情報処理装置3ごとに、装置名と、ネットワークアドレスと、省電力設定とが相互に関連付けられたテーブル情報となっている。例えば、装置名「MFP1」および「MFP2」の情報処理装置3はいずれもスリープ状態ST2と拡張スリープ状態ST3との双方に移行する設定となっている。また装置名「MFP3」の情報処理装置3は、スリープ状態ST2および拡張スリープ状態ST3のいずれにも移行しない設定となっている。さらに、装置名「MFP4」の情報処理装置3は、スリープ状態ST2へは移行するが、拡張スリープ状態ST3へは移行しない設定となっている。
このように通信制御部33は、情報処理装置3から省電力設定情報29を予め取得して省電力設定管理情報35に登録しておくことにより、各情報処理装置3が省電力モードに移行するか否かを、データ通信を発生させることなく判断することができる。尚、通信制御部33が、情報処理装置3から省電力設定情報29を予め取得するタイミングは適宜設定可能であるが、例えば通信制御装置32の起動時に情報処理装置3とデータ通信を行って予め取得しておくことなどが考えられる。
一方、テーブル情報36は、アプリケーション部31から出力される各種のコマンドがリスト化された情報となっている。図7は、このテーブル情報36の一例を示す図である。図7に示すように、テーブル情報36には、アプリケーション部31から出力される複数のコマンドが登録されている。これらのコマンドは、いずれも通信制御部33に対して情報処理装置3とのデータ通信を要求するコマンドであり、情報処理装置3に対して各種の処理を行うことを要求するコマンドとなっている。
このテーブル情報36には、登録されたコマンドごとに、データ通信時のプロトコルと、即時性の有無を示す情報とが登録されており、即時性のないコマンドの場合には、更に代替タスクに関する情報と、実通信制限条件に関する情報とが登録されている。ここで、即時性とは、アプリケーション部31から出力されるコマンドを即時に情報処理装置3に送信する必要があるか否かを予め定義した情報である。テーブル情報36に登録されるコマンドは、この即時性の有無によって2種類のコマンドに大別されている。すなわち、即時性のないコマンドは、仮想応答部34との仮想的なデータ通信を行うコマンドとして、第1のコマンドリスト36aに登録されている。また、即時性のあるコマンドは、情報処理装置3と即時にデータ通信を行う必要があるコマンドとして、第2のコマンドリスト36bに登録されている。
図7の例では、仮想応答部34との仮想的なデータ通信を行う第1のコマンドリスト36aに、導通確認コマンドと、装置情報取得コマンドと、サポートコマンド取得コマンドと、検索コマンドとが登録されている。
導通確認コマンドは、アプリケーション部31がネットワーク障害の有無を検知するために定期的に出力するコマンドである。例えば、情報処理装置3がこの導通確認コマンドを受信すると、通常動作状態ST1となり、ジョブの実行が可能な状態であることを示す応答情報を生成して応答する。アプリケーション部31は、導通確認コマンドを出力すると、それに対応する応答情報を取得することにより、ネットワーク障害が発生していないことを把握する。
装置情報取得コマンドは、アプリケーション部31が情報処理装置3の装置情報を取得するために定期的に出力するコマンドである。すなわち、アプリケーション部31は、情報処理装置3において用紙不足やトナー不足、紙詰まりなどのエラーが発生していないかを把握するために、或いは、情報処理装置3におけるプリント枚数などを管理するために、情報処理装置3から装置情報を定期的に取得して管理情報を更新するようになっている。そのため、アプリケーション部31は、装置情報取得コマンドを定期的に出力する。例えば、情報処理装置3がこの装置情報取得コマンドを受信すると、通常動作状態ST1となり、エラーの発生の有無やプリント枚数などの現在の装置状態を示す装置情報を応答情報として生成し、応答する。アプリケーション部31は、装置情報取得コマンドを出力すると、それに対応する応答情報を取得することにより、情報処理装置3の装置状態を把握して管理する。
サポートコマンド取得コマンドは、アプリケーション部31が情報処理装置3においてサポートされているコマンド種別を取得するために起動時に出力するコマンドである。すなわち、アプリケーション部31が情報処理装置3から各種の応答情報を得るためには、アプリケーション部31から情報処理装置3に対し、情報処理装置3で解析可能なコマンドを出力する必要がある。例えば、上述した導通確認コマンドや装置情報取得コマンドは、コマンド種別に応じて異なるコマンドとなる。そのため、アプリケーション部31は、例えば起動時にサポートコマンド取得コマンドを出力する。情報処理装置3は、このサポートコマンド取得コマンドを受信すると、通常動作状態ST1となり、コマンド種別を示す応答情報を生成して応答する。そしてアプリケーション部31は、サポートコマンド取得コマンドを出力すると、それに対応する応答情報を取得することにより、情報処理装置3においてサポートされているコマンド種別を特定し、それ以後、コマンドを出力する際には特定されたコマンド種別に対応するコマンドを生成する。
検索コマンドは、アプリケーション部31がネットワーク環境下において現在稼働中の情報処理装置3を検索するために定期的に出力するコマンドである。例えば、情報処理装置3がこの検索コマンドを受信すると、通常動作状態ST1となり、ジョブの実行が可能な状態であることを示す応答情報を生成して応答する。そしてアプリケーション部31は、検索コマンドを出力すると、それに対応する応答情報を取得することにより、ネットワーク4に接続されている情報処理装置3であって、現在稼働中のものを把握する。
このようにテーブル情報36において、仮想応答部34との仮想的なデータ通信を行う第1のコマンドリスト36aに登録されているコマンドは、アプリケーション部31が情報処理装置3を管理するために定期的に又は不定期に出力されるコマンドとなっている。これらのコマンドは、情報処理装置3に対し、コマンドに対応した応答情報の返信だけを要求するものであり、それ以外には情報処理装置3において即時に実行しなければならない特別な動作を要求するものではない。それ故、これらのコマンドは即時性のないコマンドとして登録されている。
これに対し、図7の例では、情報処理装置3と即時にデータ通信を行う第2のコマンドリスト36bに、ジョブ実行コマンドと、ジョブ削除コマンドと、設定変更コマンドとが登録されている。
ジョブ実行コマンドは、アプリケーション部31が情報処理装置3に対してジョブの実行を指示するために出力するコマンドである。例えば、情報処理装置3がこのジョブ実行コマンドを受信すると、通常動作状態ST1となり、ジョブ実行コマンドで指定されたジョブの実行を開始する。尚、ジョブ実行コマンドには、プリントデータなどのジョブの実体データが付加されていても良いし、情報処理装置3に既に蓄積されているジョブであればそのジョブを指定する情報が付加されていても良い。そして情報処理装置3がジョブ実行コマンドで指定されたジョブの実行を完了すると、それに伴い、ジョブの実行完了を示す応答情報を生成して応答する。アプリケーション部31は、この応答情報を取得することにより、情報処理装置3において正常にジョブの実行が完了したことを把握する。
ジョブ削除コマンドは、アプリケーション部31が情報処理装置3に蓄積されているジョブの削除を指示するために出力するコマンドである。例えば、情報処理装置3がこのジョブ削除コマンドを受信すると、通常動作状態ST1となり、ジョブ削除コマンドで指定されたジョブを削除する。そして情報処理装置3がジョブ削除コマンドで指定されたジョブの削除を完了すると、それに伴い、ジョブの削除完了を示す応答情報を生成して応答する。アプリケーション部31は、この応答情報を取得することにより、情報処理装置3において正常にジョブの削除が行われたことを把握する。
設定変更コマンドは、アプリケーション部31が情報処理装置3の設定変更を指示するために出力するコマンドである。このような設定変更には、例えば、情報処理装置3を使用することができるユーザを予め登録したユーザ登録情報の変更があり、新規ユーザの情報を追加登録する変更や、既存登録ユーザの情報を修正したり、削除したりする変更が含まれる。また設定変更コマンドにより、情報処理装置3における省電力設定情報29の内容を変更することも可能である。例えば、情報処理装置3がこの設定変更コマンドを受信すると、通常動作状態ST1となり、設定変更コマンドで指定された設定変更を反映する。そして情報処理装置3が設定変更コマンドで指定された設定変更処理を完了すると、それに伴い、設定変更の完了を示す応答情報を生成して応答する。アプリケーション部31は、この応答情報を取得することにより、情報処理装置3において正常に設定変更が反映されたことを把握する。
このようにテーブル情報36において、情報処理装置3と即時にデータ通信を行う第2のコマンドリスト36bに登録されているコマンドは、アプリケーション部31から不定期に出力されるコマンドとなっている。これらのコマンドは、情報処理装置3に対し、コマンドに対応した応答情報の返信を要求するだけではなく、それ以外にも情報処理装置3において即時に実行しなければならない特別な動作を要求するコマンドである。特にこれらのコマンドは、応答情報の返信よりも寧ろ情報処理装置3においてそのタイミングで特別な処理を実行させることに重要な意味を持つコマンドとなっている。それ故、これらのコマンドは即時性のあるコマンドとして登録されている。
通信制御部33は、アプリケーション部31からコマンドを入力すると、まず省電力設定管理情報35を参照することにより、コマンドの送信先となる情報処理装置3がスリープ状態ST2又は拡張スリープ状態ST3へ移行するか否かを判定する。そしてコマンドの送信先となる情報処理装置3がスリープ状態ST2又は拡張スリープ状態ST3へ移行する場合、通信制御部33は次にテーブル情報36を参照し、そのコマンドが仮想応答部34との仮想的なデータ通信を行う第1のコマンドリスト36aに登録されているか否かを判定する。その結果、アプリケーション部31から入力したコマンドが第1のコマンドリスト36aに登録されている場合、通信制御部33は、そのコマンドの送信先として仮想応答部34を特定すると共に、テーブル情報36に登録されている代替タスクに関する情報、および、実通信制限条件に関する情報を参照し、仮想応答部34に実行させる代替タスクを特定する。そして通信制御部33は、仮想応答部34を機能させ、アプリケーション部31から入力したコマンドを仮想応答部34に出力すると共に、仮想応答部34に対して代替タスクの実行を指示する。
これに対し、上記以外の場合、すなわち、コマンドの送信先となる情報処理装置3がスリープ状態ST2若しくは拡張スリープ状態ST3へ移行しない場合、又は、アプリケーション部31から入力したコマンドが第2のコマンドリスト36bに含まれる場合、通信制御部33は、アプリケーション部31から入力したコマンドを直ちにネットワーク通信モジュール12へ出力し、そのコマンドを情報処理装置3へ送信する。
ここで代替タスクとは、情報処理装置3に代わって仮想応答部34に代替的に実行させる処理であって、通信制御部33がコマンドをネットワーク通信モジュール12に直接出力して情報処理装置3に送信することなく、仮想応答部34にコマンドを出力して仮想応答部34からそのコマンドに対応した応答情報を取得するための処理である。このような代替タスクは、コマンドに応じてその処理内容が異なるため、テーブル情報36において、第1のコマンドリスト36aに登録されているコマンドごとに設定されている。例えば、導通確認コマンドには代替タスクAが設定されており、装置情報取得コマンドには代替タスクBが設定されている。また、サポートコマンド取得コマンドには代替タスクCが設定されており、検索コマンドには代替タスクDが設定されている。このような代替タスクA,B,C,Dは、いずれも基本的には情報処理装置3との間で余分なデータ通信を行わない処理として設定されている。
図5に示すように、仮想応答部34は、応答処理部38と、送信情報バッファ41と、受信情報バッファ42とを備えている。応答処理部38は、通信制御部33から指定される代替タスクを実行することにより、通信制御部33から入力するコマンドに対応した応答情報を生成して通信制御部33に出力するものである。送信情報バッファ41は、通信制御部33から入力するコマンドを記憶しておくためのものである。受信情報バッファ42は、情報処理装置3から実際に送信された各種の応答情報を受信した場合にその応答情報を記憶しておくためのものである。
応答処理部38は、既にコマンドに対応した応答情報が受信情報バッファ42に記憶されていれば、情報処理装置3とのデータ通信を発生させることなく、受信情報バッファ42からその応答情報を読み出して仮想的な応答情報として通信制御部33に出力する。しかし、受信情報バッファ42にコマンドに対応した応答情報が記憶されていない場合、応答処理部38は、コマンドに対応する応答情報を生成することができない。
そこで本実施形態では、通信制御部33が、各コマンドに対応する代替タスクA,B,C,Dが応答処理部38において実行された回数を管理しており、その実行回数に応じて各代替タスクA,B,C,Dの処理内容を異なる処理内容に切り替える。すなわち、通信制御部33は、応答処理部38に代替タスクA,B,C,Dのそれぞれを実行させる場合、その代替タスクの初回目の実行であれば、情報処理装置3との間で実際のデータ通信を行わせ、情報処理装置3からそのコマンドに対応した実際の応答情報を取得させて受信情報バッファ42に記憶させる。そして、仮想応答部34が情報処理装置3から実際に取得した応答情報を出力させる処理を初回目の代替タスクとして指定する。これに対し、2回目以降の実行であれば、既に受信情報バッファ42にそのコマンドに対応した応答情報が格納されている。そのため、通信制御部33は、情報処理装置3との実際のデータ通信を行わせず、過去に情報処理装置3から取得した応答情報を受信情報バッファ42から読み出して出力させる処理を2回目以降の代替タスクとして指定する。
したがって、応答処理部38は、通信制御部33から指定された代替タスクを実行する際、その代替タスクの実行が初回目であれば、通信制御部33から入力するコマンドをネットワーク通信モジュール12に出力し、情報処理装置3に送信する。これにより、応答処理部38は、情報処理装置3からコマンドに対応する応答情報を受信するので、その応答情報を受信情報バッファ42に記憶すると共に、その受信した応答情報を通信制御部33に出力する。また、応答処理部38は、通信制御部33から指定された代替タスクの実行が2回目以降であれば、情報処理装置3とのデータ通信を発生させることなく、受信情報バッファ42に格納されている過去に取得した応答情報を読み出し、仮想的な応答情報として通信制御部33に出力する。このとき、応答処理部38は、通信制御部33から入力するコマンドを送信情報バッファ41に保存しておく。
このように、通信制御部33は、アプリケーション部31から入力するコマンドが第1のコマンドリスト36aに登録されている場合、そのコマンドを仮想応答部34に出力すると共に、仮想応答部34に対してコマンドに対応した代替タスクの実行を指示することにより、仮想応答部34からコマンドに対応する応答情報を取得する。そして通信制御部33は、仮想応答部34から取得した応答情報をアプリケーション部31に出力する。これにより、アプリケーション部31は、通信制御部33に出力したコマンドに対応する応答情報を取得することができるので、その取得した応答情報に基づいて情報処理装置3の管理状態を正常に継続させることができ、アプリケーション部31の機能が停止してしまうことを防止できるようになる。
特に通信制御部33は、アプリケーション部31から同じコマンドを繰り返し入力する場合、仮想応答部34に対して2回目以降の代替タスクを指定して実行させるので、このときにはコンピュータ2と情報処理装置3との間でデータ通信は発生しなくなる。そのため、アプリケーション部31から同じコマンドを入力したタイミングで、情報処理装置3が既にスリープ状態ST2又は拡張スリープ状態ST3に移行していたとしても、情報処理装置3にはコマンドが送信されないので、情報処理装置3は通常動作状態ST1に復帰することはなく、スリープ状態ST2又は拡張スリープ状態ST3を継続させることができ、情報処理装置の省電力モードを維持することが可能である。
ところで、アプリケーション部31から通信制御部33に出力されるコマンドのうち、即時性のないコマンドが2回以上出力されると、その2回目以降からはコンピュータ2と情報処理装置3との間で実際のデータ通信を全く行わないようにしてしまうと、アプリケーション部31が情報処理装置3の状態を全く把握できなくなる可能性があり、アプリケーションプログラム17による利便性が低下する。例えば、アプリケーション部31が情報処理装置3において用紙不足やトナー不足、紙詰まりなどのエラーが発生していないかを把握するために、或いは、情報処理装置3におけるプリント枚数を把握するために定期的に出力する装置情報取得コマンドが情報処理装置3に毎回送信されなくなると、アプリケーション部31はそれらの情報を管理することができなくなり、アプリケーション部31によって提供される機能の利便性が低下する。
これを防止するため、本実施形態では、テーブル情報36において、第1のコマンドリスト36aに登録されたコマンドごとに、実通信制限条件に関する情報が登録されている。実通信制限条件とは、コンピュータ2と情報処理装置3との実際のデータ通信を制限する条件であり、アプリケーション部31からのコマンドの出力回数又は時間によって設定される。そして通信制御部33は、仮想応答部34に代替タスクの実行を指示する際、この実通信制限条件に達しているか否かを判定し、実通信制限条件に達していれば、受信情報バッファ42に格納されている情報を更新させるために、2回目以降の実行であっても初回目に対応する代替タスクの実行を指示するようになっている。
図7の例では、導通確認コマンドおよびサポートコマンド取得コマンドに対応する実通信制限条件の欄には、回数制限および時間制限のいずれにも条件が設定されていない。そのため、これらのコマンドがアプリケーション部31から出力された場合、2回目以降であれば、無制限で情報処理装置3との実際のデータ通信が禁止されるようになる。
一方、装置情報取得コマンドに対応する実通信制限条件の欄には、回数制限として30回が設定されている。この場合、アプリケーション部31から出力される装置情報取得コマンドの出力回数が、2回目以降30回目までは情報処理装置3との実際のデータ通信が禁止されるようになる。そして31回目の場合は、初回目のコマンド出力の場合と同様となり、通信制御部33は仮想応答部34に対して代替タスクの実行を指示する際、初回目に対応する代替タスクを指定する。これにより、装置情報取得コマンドに対応する応答情報として受信情報バッファ42に格納されている情報は、所定の間隔で更新されるようになる。その結果、アプリケーション部31において情報処理装置3の状態を全く把握できなくなるという不具合は解消される。
また本実施形態では、通信制御部33が仮想応答部34に対して初回目の代替タスクを実行させるとき、情報処理装置3の状態変化の通知予約を行わせる。したがって、応答処理部38は、通信制御部33からの指示に基づいて初回目の代替タスクを実行するとき、情報処理装置3に対して、将来において情報処理装置3の状態変化が生じるときにその状態変化を通知するように予約する。
情報処理装置3は、このような通知予約を受信すると、その通知予約を管理する。そしてその後、情報処理装置3において用紙不足やトナー不足、紙詰まりなどのエラーが発生した場合、プリント枚数が所定の枚数に達した場合、或いは情報処理装置3の電源がオフとなる場合に、予め受信した通知予約に基づいてそれらの状態変化を通知するための情報をコンピュータ2に送信する。
応答処理部38は、情報処理装置3に対して送信した通知予約に基づき、情報処理装置3から状態変化を通知するための情報を受信した場合、その情報を受信情報バッファ42に記憶する。その後、通信制御部33からの指示に基づいて代替タスクを実行するときにその情報を読み出し、仮想的な応答情報として通信制御部33に出力する。これにより、例えば、装置情報取得コマンドに対応する代替タスクの実行回数が30回に満たない場合であっても、情報処理装置3から通知された情報で応答情報が生成されるため、アプリケーション部31は、比較的早期に情報処理装置3の状態変化を把握することができるようになる。
また応答処理部38は、情報処理装置3に対して送信した通知予約に基づき、情報処理装置3から状態変化を通知するための情報を受信した場合、そのタイミングで、送信情報バッファ41に記憶されているコマンドを読み出し、情報処理装置3に送信する。これにより、応答処理部38は、そのコマンドに対応する最新の応答情報を情報処理装置3から取得して受信情報バッファ42に記憶することができる。ただし、この場合においても、情報処理装置3が電源オフとなる状態変化を通知してきたのであれば、情報処理装置3にコマンドを送信しても応答情報が得られるとは限らない。そのため、情報処理装置3が電源オフとなる状態変化を通知してきた場合には、コマンドの送信を行わないようにしても良い。
このように応答処理部38は、情報処理装置3から情報を受信した場合、そのタイミングで送信情報バッファ41に記憶されているコマンドを情報処理装置3に送信する。情報処理装置3が何らかの情報を送信してくるということは、情報処理装置3がスリープ状態ST2又は拡張スリープ状態ST3ではなく、通常動作状態ST1であることを意味しているため、このタイミングで送信情報バッファ41に記憶されているコマンドを送信することにより、情報処理装置3の省電力モードを解除してしまうことなく、情報処理装置3から最新の応答情報を取得することが可能である。
そして上記のようにして取得される最新の応答情報は、その後に応答処理部38がそのコマンドに対応した2回目以降の代替タスクを実行することにより、受信情報バッファ42から読み出され、通信制御部33を介してアプリケーション部31に出力される。
上述したように本実施形態の通信制御部33は、アプリケーション部31から入力するコマンドに基づいて仮想応答部34との仮想的なデータ通信を行うか否かを判断し、仮想的なデータ通信を行う場合には、仮想応答部34との仮想的なデータ通信を行うことにより、アプリケーション部31から入力したコマンドに対応する仮想的な応答情報を取得し、その仮想的な応答情報をアプリケーション部31に出力するように構成される。そのため、アプリケーション部31を有効に機能させつつ、情報処理装置3の省電力モードを継続させることが可能である。
また、通信制御部33がデータ通信の態様を決定する際には、アプリケーション部31から入力するコマンドに基づく判断を行うため、情報処理装置3の動作状態が、その時点においてスリープ状態ST2であるか、又は拡張スリープ状態ST3であるかを厳密に判断する必要がない。そのため、コンピュータ2に常駐する通信制御装置32の処理負担を低減することができる。尚、これとは反対に、仮に通信制御部33が情報処理装置3の動作状態をリアルタイムで管理するような構成とした場合には、情報処理装置3の動作状態が切り替わる度に管理テーブルなどを書き換える必要があり、コンピュータ2に常駐する通信制御装置32の処理負担が増加するので好ましくはない。
次に、コンピュータ2と情報処理装置3とのデータ通信について説明する。まず図8は、アプリケーション部31から即時性のないコマンドが出力される場合のデータ通信の一例を示す図である。アプリケーション部31から通信制御部33に対して即時性のないコマンドが出力されると、通信制御部33はそのコマンドに対応する代替タスクを特定する(プロセスP1)。ここで特定される代替タスクは初回目の実行であるので、通信制御部33は、情報処理装置3との実際のデータ通信を行うことを指定する。そして通信制御部33は、特定した代替タスクの実行指示を仮想応答部34に出力する。仮想応答部34は、通信制御部33から指定された代替タスクを判定し、初回目の実行であれば、情報処理装置3と実際のデータ通信を行うことを特定する(プロセスP2)。そして仮想応答部34は、情報処理装置3に対し、情報処理装置3の状態変化が生じたときにその状態変化を通知することを要求するための通知予約を送信する。また仮想応答部34は、これとほぼ同時に、通信制御部33から入力したコマンドを情報処理装置3に送信し、そのコマンドに対する応答を要求する。
情報処理装置3は、仮想応答部34から送信される通知予約を受け付けると共に、仮想応答部34から送信されるコマンドを受信する。そして情報処理装置3は、仮想応答部34から受信したコマンドに対応する応答情報を生成して仮想応答部34に送信する。
仮想応答部34は、情報処理装置3から送信される応答情報を受信すると、その応答情報を通信制御部33に出力する。通信制御部33は、その応答情報をアプリケーション部31に出力することでアプリケーション部31から出力されたコマンドに対する返答を行う。また仮想応答部34は、情報処理装置3から受信した応答情報を受信情報バッファ42に記憶する(プロセスP3)。
その後、アプリケーション部31から、前回と同じ即時性のないコマンドが出力されると、通信制御部33はそのコマンドに対応する代替タスクを特定する(プロセスP4)。ここで特定される代替タスクは2回目以降の実行であるので、通信制御部33は、情報処理装置3との実際のデータ通信を行うことなく、過去に情報処理装置3から取得した応答情報に基づいて仮想的な応答情報を返答することを指定する。そして通信制御部33は、特定した代替タスクの実行指示を仮想応答部34に出力する。仮想応答部34は、通信制御部33から指定された代替タスクを判定し、2回目以降の実行であれば、受信情報バッファ42に記憶されている過去の応答情報を読み出し、それを今回の仮想的な応答情報として生成する(プロセスP5)。そして仮想応答部34は、その仮想的な応答情報を通信制御部33に出力する。通信制御部33は、仮想応答部34から入力する仮想的な応答情報をアプリケーション部31に出力することでアプリケーション部31から出力されたコマンドに対する返答を行う。また仮想応答部34は、通信制御部33から入力するコマンドを送信情報バッファ41に記憶する(プロセスP6)。
このようにコンピュータ2においてプロセスP4,P5,P6が実行されるときには、情報処理装置3との間でデータ通信が発生しないので、情報処理装置3がスリープ状態ST2又は拡張スリープ状態ST3に移行していたとしても、それが解除されることはない。またアプリケーション部31は、出力したコマンドに対応する応答情報を取得することができるので、機能を停止させることなく、情報処理装置3の管理状態を正常に継続させることができる。
次に図9は、予め情報処理装置3に送信した通知予約により仮想応答部34が情報処理装置3から通知情報を受信する場合のデータ通信の一例を示す図である。上述したように仮想応答部34において2回目以降の代替タスクを実行した場合、通信制御部33から入力されるコマンドが送信情報バッファ41に記憶される(プロセスP6)。その後、情報処理装置3においてエラーが発生した場合やプリント枚数が所定枚数に達した場合などのように状態変化が発生した場合(プロセスP7)、情報処理装置3は予め受け付けた通知予約に基づいて仮想応答部34に状態変化の内容を示す通知情報を送信する。
仮想応答部34は、情報処理装置3から送信される通知情報を受信すると、その通知情報を受信情報バッファ42に記憶する(プロセスP8)。このとき、仮想応答部34は、通知情報の内容に基づいて受信情報バッファ42に記憶されている過去の応答情報を更新することが好ましい。
ここで、仮想応答部34は、情報処理装置3から通知情報を受信したタイミングでは、その情報を通信制御部33には出力しない。なぜなら、アプリケーション部31は、情報処理装置3を管理するためにコマンドを出力すると、その出力から所定時間が経過するまでの間、そのコマンドに対応する応答情報を待機する状態となり、その間に応答情報を受信することが可能であるが、それ以外のタイミングでは応答情報を受信することができないからである。そのため、受信情報バッファ42に記憶された通知情報は、その後にアプリケーション部31からコマンドが出力された場合に仮想応答部34から通信制御部33に出力されるようになる。
また仮想応答部34は、情報処理装置3から通知情報を受信したことに伴い、送信情報バッファ41に記憶されている未送信のコマンドを読み出し、そのコマンドを情報処理装置3に送信することにより、そのコマンドに対する応答を要求する。すなわち、情報処理装置3から通知情報を受信したことにより、情報処理装置3がスリープ状態ST2又は拡張スリープ状態ST3でないことが判るので、そのタイミングで未送信のコマンドを送信する。それ故、情報処理装置3はスリープ状態ST2又は拡張スリープ状態ST3を解除することなく、仮想応答部34から送信されるコマンドを受信し、そのコマンドに対応する応答情報を仮想応答部34に送信することができる。
そして仮想応答部34は、情報処理装置3から送信される応答情報を受信すると、その応答情報を受信情報バッファ42に記憶する(プロセスP9)。このときもまた、仮想応答部34は、情報処理装置3から受信した応答情報を通信制御部33に出力しない。
その後、アプリケーション部31から、前回と同じ即時性のないコマンドが出力されると、通信制御部33はそのコマンドに対応する代替タスクを特定する(プロセスP10)。ここで特定される代替タスクも2回目以降の実行であるので、通信制御部33は、情報処理装置3との実際のデータ通信を行うことなく、過去に情報処理装置3から取得した応答情報に基づいて仮想的な応答情報を返答することを指定する。そして通信制御部33は、特定した代替タスクの実行指示を仮想応答部34に出力する。仮想応答部34は、通信制御部33から指定された代替タスクを判定し、2回目以降の実行であるので、受信情報バッファ42に記憶されている応答情報を読み出し、それを今回の仮想的な応答情報として生成する(プロセスP11)。上述したプロセスP8又はP9で受信情報バッファ42に記憶された情報は、このとき仮想応答部34で生成される仮想的な応答情報に含まれる。そして仮想応答部34は、その仮想的な応答情報を通信制御部33に出力する。通信制御部33は、仮想応答部34から入力する仮想的な応答情報をアプリケーション部31に出力することでアプリケーション部31から出力されたコマンドに対する返答を行う。また仮想応答部34は、通信制御部33から入力するコマンドを送信情報バッファ41に記憶する(プロセスP12)。
次に、図10は、アプリケーション部31から即時性のあるコマンドが出力される場合のデータ通信の一例を示す図である。アプリケーション部31から通信制御部33に対して即時性のあるコマンドが出力されると、通信制御部33はそのコマンドを解析することにより、即時に情報処理装置3と実際のデータ通信を行うことを特定する(プロセスP20)。したがって、通信制御部33は、アプリケーション部31から入力したコマンドを情報処理装置3に送信する。情報処理装置3は、通信制御部33から送信されるコマンドを受信すると、そのコマンドに対応した処理を実行する(プロセスP21)。このとき、情報処理装置3がスリープ状態ST2又は拡張スリープ状態ST3となっていれば、それを解除して通常動作状態ST1に復帰し、コマンドに対応した処理を優先的に実行する。つまり、情報処理装置3では、アプリケーション部31から指定される特定の処理が速やかに実行されるようになっている。そして情報処理装置3は、コマンドに対応した処理の実行を終了すると、実行終了を示す応答情報を生成して通信制御部33に送信する。通信制御部33は、この応答情報を受信すると、アプリケーション部31に出力する。その結果、アプリケーション部31は、即時性のあるコマンドに対応した処理が情報処理装置3において速やかに実行されたことを把握することができる。
このように本実施形態の通信制御装置32は、アプリケーション部31から出力されるコマンドが第1のコマンドリスト36aと第2のコマンドリスト36bのいずれに登録されたコマンドであるかにより、通信制御部33がデータ通信の態様を切り替える構成である。具体的には、アプリケーション部31から出力されるコマンドが第1のコマンドリスト36aに登録された即時性のないコマンドであれば、通信制御部33と仮想応答部34との間で仮想的なデータ通信を行うことにより、実際には情報処理装置3とのデータ通信を行うことなく、仮想応答部34において仮想的な応答情報を生成し、その仮想的な応答情報をアプリケーション部31に出力する。また、アプリケーション部31から出力されるコマンドが第2のコマンドリスト36bに登録された即時性のあるコマンドであれば、通信制御部33と情報処理装置3との実際のデータ通信を行うことにより情報処理装置3から応答情報を取得してアプリケーション部31に出力する。以下、このような通信制御装置32における通信制御部33および仮想応答部34の処理手順の詳細に説明する。
図11は、通信制御部33がアプリケーション部31からコマンドを受信した場合に実行する処理手順の一例を示すフローチャートである。図11に示すように、通信制御部33は、アプリケーション部31からのコマンドを受信すると、そのコマンドの送信先となる情報処理装置3を特定し、省電力設定管理情報35を参照する(ステップS10)。そしてコマンドの送信先となる情報処理装置3の省電力設定においてスリープ状態ST2又は拡張スリープ状態ST3に移行する設定(すなわち、オン設定)になっているか否かを判断する(ステップS11)。省電力設定がオンである場合(ステップS11でYES)、通信制御部33は、次にテーブル情報36を参照する(ステップS12)。そしてアプリケーション部31から入力したコマンドが第1のコマンドリスト36aに登録された即時性のないコマンドであるか否かを判断する(ステップS13)。第1のコマンドリスト36aに登録されたコマンドである場合(ステップS13でYES)、次に通信制御部33は、そのコマンドに代替タスクが登録されているか否かを判断する(ステップS14)。
その結果、アプリケーション部31から入力したコマンドに対応付けて代替タスクが登録されている場合(ステップS14でYES)、通信制御部33は、情報処理装置3との実際のデータ通信を行うことなく、仮想応答部34との仮想的なデータ通信を行うことを決定する。そして通信制御部33は、テーブル情報36に登録されている実通信制限条件を判定し(ステップS15)、仮想応答部34に実行させる代替タスクとして、初回目の代替タスクを実行させるか、或いは、2回目以降の代替タスクを実行させるかを判断する(ステップS16)。初回目の代替タスクを実行させる場合(ステップS16でYES)、通信制御部33は、仮想応答部34に対し、初回目の代替タスクの実行指令を出力する(ステップS17)。このとき、通信制御部33は、アプリケーション部31から入力したコマンドも仮想応答部34に出力する。これに対し、2回目以降の代替タスクを実行させる場合(ステップS16でNO)、通信制御部33は、仮想応答部34に対し、2回目以降の代替タスクの実行指令を出力する(ステップS18)。このときもまた、アプリケーション部31から入力したコマンドを仮想応答部34に出力する。その後、通信制御部33は、仮想応答部34から出力される応答情報を受信するのを待機する状態となり(ステップS19)、仮想応答部34から応答情報を受信すると(ステップS19でYES)、その受信した応答情報をアプリケーション部31に返信する(ステップS22)。
一方、ステップS11の判断によりコマンドの送信先となる情報処理装置3の省電力設定がオフ設定であった場合(ステップS11でNO)、またステップS13の判断によりアプリケーション部31から入力したコマンドが第2のコマンドリスト36bに登録されている即時性のあるコマンドであった場合(ステップS13でNO)、さらにはステップS14の判断によりそのコマンドに対応する代替タスクがテーブル情報36に登録されていない場合(ステップS14でNO)、通信制御部33は、情報処理装置3との実際のデータ通信を行うことを決定する。そして通信制御部33は、アプリケーション部31から入力したコマンドを情報処理装置3に送信する(ステップS20)。その後、通信制御部33は、情報処理装置3から出力される応答情報を受信するのを待機する状態となり(ステップS21)、情報処理装置3から応答情報を受信すると(ステップS21でYES)、その受信した応答情報をアプリケーション部31に返信する(ステップS22)。以上で通信制御部33による処理が終了する。
次に図12は、仮想応答部34が通信制御部33から代替タスクの実行指令を受けた場合に実行する処理手順の一例を示すフローチャートである。図12に示すように、仮想応答部34は、代替タスクの実行指令を受信すると、実行すべき代替タスクの判定を行う(ステップS30)。このとき、コマンドに対応する代替タスクが特定される。そして仮想応答部34は、初回目の実行指令であるか否かを判断する(ステップS31)。
その判断の結果、初回目の実行指令であれば(ステップS31でYES)、通信制御部33から入力するコマンドを情報処理装置3に送信することにより、情報処理装置3に応答情報を要求する(ステップS32)。その後、仮想応答部34は、情報処理装置3から送信される応答情報を受信するのを待機する状態となり(ステップS33)、情報処理装置3から応答情報を受信すると(ステップS33でYES)、その受信した応答情報を受信情報バッファ42に記憶する(ステップS34)。また仮想応答部34は、情報処理装置3に対し、状態変化が生じた場合にその状態変化を通知してもらうために通知予約を送信しておく(ステップS35)。そして仮想応答部34は、情報処理装置3から受信した応答情報で通信制御部33に出力するための応答情報を生成する(ステップS36)。
一方、ステップS31の判断において2回目以降の実行指令である場合(ステップS31でNO)、仮想応答部34は、代替タスクの実行指令と共に入力するコマンドを送信情報バッファ41に記憶する(ステップS37)。そして仮想応答部34は、受信情報バッファ42に記憶されている過去に受信した応答情報の中からコマンドに対応する応答情報を読み出し(ステップS38)、その読み出した応答情報で通信制御部33に出力するための応答情報を生成する(ステップS39)。このとき、生成される応答情報は、実際に情報処理装置3から取得されたものではないため、仮想的な応答情報となる。
その後、仮想応答部34は、通信制御部33に対し、ステップS36又はS39のいずれかで生成された応答情報を出力して処理を終了する(ステップS40)。
次に図13は、仮想応答部34が情報処理装置3から通知予約に基づく通知情報を受信した場合に実行する処理手順の一例を示すフローチャートである。図13に示すように、仮想応答部34は、情報処理装置3から通知予約に基づく通知情報を受信すると、その通知情報を受信情報バッファ42に記憶することにより、受信情報バッファ42に記憶されている応答情報を更新する(ステップS50)。そして仮想応答部34は、送信情報バッファ41を読み出し(ステップS51)、送信情報バッファ41に未送信のコマンドが記憶されているか否かを判断する(ステップS52)。未送信のコマンドが記憶されている場合(ステップS52でYES)、仮想応答部34は、そのコマンドを読み出して情報処理装置3に送信する(ステップS53)。その後、仮想応答部34は、情報処理装置3から送信される応答情報を受信するのを待機する状態となり(ステップS54)、情報処理装置3から応答情報を受信すると(ステップS54でYES)、その受信した応答情報を受信情報バッファ42に記憶することにより、受信情報バッファ42に記憶されている応答情報を更新する(ステップS55)。一方、ステップS52の判断において送信情報バッファ41に未送信のコマンドが記憶されていなければ、ステップS53〜S55の処理を行うことなく、通知情報受信時の処理を終了する。
以上のように、本実施形態では、コンピュータ2においてアプリケーション部31が情報処理装置3からの情報を取得するために各種のコマンドを通信制御装置32に出力する。通信制御装置32は、情報処理装置3とのデータ通信を要求するアプリケーション部31からのコマンドに応じてデータ通信を制御するように構成されている。特に、通信制御部33は、アプリケーション部からのコマンドがテーブル情報36の第1のコマンドリスト36aに含まれる場合、仮想応答部34との仮想的なデータ通信を行うことによって仮想応答部34から仮想的な応答情報を取得し、その取得した応答情報をアプリケーション部に出力する。またアプリケーション部31からのコマンドがテーブル情報36の第1のコマンドリスト36aに含まれない場合、情報処理装置3との実際のデータ通信を行うことによって情報処理装置3から実際の応答情報を取得し、その取得した応答情報をアプリケーション部31に出力する。したがって、本実施形態の通信制御装置32は、情報処理装置3との実際のデータ通信を行う必要がない場合には情報処理装置3とのデータ通信を行うことなく、コマンドに対応する仮想的な応答情報をアプリケーション部31に出力するので、アプリケーション部31の機能が停止してしまうことを防止することができると共に、情報処理装置3が省電力状態であるときにはその省電力状態を維持することができるようになる。
また本実施形態では、情報処理装置3が拡張スリープ状態ST3へ移行すると、操作パネル21の表示部22の電源がオフになるだけでなく、ネットワーク通信モジュール24のCPU24aの電源もオフになる。このような拡張スリープ状態ST3は、省電力効果が最も大きくなる状態であるため、情報処理装置3が拡張スリープ状態ST3へ移行したときには、その状態をなるべく継続させることが好ましい。そして拡張スリープ状態ST3を長時間継続させるためには、外部装置であるコンピュータ2から情報処理装置3に対してなるべくコマンドを送信しないようにすることが求められるが、コンピュータ2と情報処理装置3とのデータ通信を完全に遮断してしまうことは逆に問題発生の要因となる。このような観点から、本実施形態の通信制御部33は、コマンドリスト36a,36bに基づいてアプリケーション部31から入力するコマンドを情報処理装置3へ送信する必要があるか否かを判断し、情報処理装置3へ送信する必要があれば情報処理装置3へ送信する一方、情報処理装置3へ送信する必要がなければ情報処理装置3へは送信せずに、仮想応答部34に代替タスクを実行させるようにしている。それ故、本実施形態の通信制御装置32は、情報処理装置3の拡張スリープ状態ST3をなるべく長時間継続させつつ、アプリケーション部31からジョブ実行コマンドやジョブ削除コマンドなどの即時性のあるコマンドが出力された場合には、そのタイミングでコマンドを情報処理装置3に送信することにより、情報処理装置3がそのコマンドに対応する処理をリアルタイムで実行できるようになる。
また本実施形態では、通信制御部33が参照するテーブル情報36には、第1のコマンドリスト36aに登録されたコマンドごとに、情報処理装置3に代わって仮想応答部34に実行させる代替タスクに関する情報が登録されている。通信制御部33は、そのようなテーブル情報36に基づき、アプリケーション部31から入力するコマンドに対応する代替タスクを特定し、その特定した代替タスクを仮想応答部34に実行させることにより、アプリケーション部31からのコマンドに対応した仮想的な応答情報を仮想応答部34から取得するようになっている。そして通信制御部33が仮想応答部34に実行させる代替タスクは、初回目の実行時には情報処理装置3との実際のデータ通信を行わせて情報処理装置3からの実際の応答情報を取得させる処理となっており、2回目以降の実行時には過去に情報処理装置3から取得した応答情報でコマンドに対応する応答情報を出力させる処理となっている。したがって、本実施形態では、情報処理装置3が省電力モードに移行しているか否かを通信制御装置32においてリアルタイムで管理する必要はなく、通信制御装置32の処理負担が軽減されるようになっている。
(変形例)
以上、本発明に関する一実施形態について説明したが、本発明は上述した実施形態に限定されるものではない。すなわち、本発明には、上述した実施形態以外にも種々の変形例が適用可能である。
例えば上記実施形態では、通信制御部33によって管理されるテーブル情報36には、仮想応答部34との仮想的なデータ通信を行う第1のコマンドリスト36aと、情報処理装置3と即時にデータ通信を行う第2のコマンドリスト36bとが登録されている場合を例示したが、テーブル情報36は第1のコマンドリスト36aのみを登録したテーブル情報であっても構わない。この場合、アプリケーション部31から入力したコマンドが、テーブル情報36に登録されていないコマンドであれば、情報処理装置3と即時にデータ通信を行うコマンドとして特定される。
また上記実施形態では、第1のコマンドリスト36aに、導通確認コマンド、装置情報取得コマンド、サポートコマンド取得コマンドおよび検索コマンドの4つのコマンドが登録されている場合を例示したが、第1のコマンドリスト36aには、これら4つのコマンドのうちの少なくとも1つが登録されていれば良い。また、上記4つ以外の即時性のないコマンドが、第1のコマンドリスト36aに含まれていても構わない。
また上記実施形態では、アプリケーション部31の機能と、通信制御装置32の機能とが1台のコンピュータ2において実現される場合を例示したが、アプリケーション部31の機能を実現するコンピュータと、通信制御装置32の機能を実現するコンピュータとが互いに別のコンピュータであっても構わない。この場合、それら2つのコンピュータはネットワーク4に接続される。そしてアプリケーション部31の機能を実現するコンピュータは、アプリケーション部31から出力されるコマンドを、通信制御装置32の機能を実現するコンピュータに出力するように構成すれば良い。
また上記実施形態では、情報処理装置3がデジタル複合機やMFPなどである場合を例示したが、これに限られるものでもない。例えば情報処理装置3は、コピー専用機、プリンタ専用機、FAX専用機、スキャナ専用機などのように単一の機能を備えた専用機であっても構わない。また情報処理装置3は、コピー機能、プリンタ機能、FAX機能、スキャナ機能、Box機能などの機能とは異なる機能を備えた装置であっても構わない。
1 情報処理システム
2 コンピュータ
3 情報処理装置
4 ネットワーク
18 通信制御プログラム(プログラム)
31 アプリケーション部
32 通信制御装置
33 通信制御部(通信制御手段)
34 仮想応答部(仮想応答手段)
35 省電力設定管理情報
36 テーブル情報
41 送信情報バッファ(送信情報記憶手段)
42 受信情報バッファ(受信情報記憶手段)

Claims (9)

  1. ネットワークに接続された情報処理装置と相互にデータ通信可能であり、前記情報処理装置とのデータ通信を要求するアプリケーション部からのコマンドに応じてデータ通信を行う通信制御装置であって、
    前記アプリケーション部からのコマンドに応じたデータ通信を行うと共に、当該データ通信により取得される応答情報を前記アプリケーション部に出力する通信制御手段と、
    前記情報処理装置から送信される情報を記憶すると共に、前記アプリケーション部からのコマンドに対応した前記情報処理装置の仮想的な応答情報を生成する仮想応答手段と、
    を備え、
    前記通信制御手段は、前記仮想応答手段との仮想的なデータ通信を行うコマンドリストが登録されると共に、前記コマンドリストに登録されたコマンドごとに、前記情報処理装置に代わって前記仮想応答手段に実行させる代替タスクに関する情報が登録された登録情報を管理しており、前記アプリケーション部からのコマンドが前記登録情報に含まれる場合、当該コマンドに基づいて前記仮想応答手段に実行させる代替タスクを特定し、当該代替タスクを前記仮想応答手段に実行させることにより、前記アプリケーション部からのコマンドに対応する応答情報を前記仮想応答手段から取得して前記アプリケーション部に出力し、前記アプリケーション部からのコマンドが前記登録情報に含まれない場合、前記情報処理装置との実際のデータ通信を行うことにより前記情報処理装置からの応答情報を取得して前記アプリケーション部に出力する構成であり、
    前記通信制御手段が前記仮想応答手段に実行させる前記代替タスクは、初回目の実行時には前記情報処理装置との実際のデータ通信を行わせて前記情報処理装置からの実際の応答情報で返答させ、2回目以降の実行時には過去に前記情報処理装置から取得した応答情報に基づいて生成した仮想的な応答情報で返答させる処理であることを特徴とする通信制御装置。
  2. 前記仮想応答手段は、
    前記情報処理装置から取得する応答情報を記憶する受信情報記憶手段を備えており、前記代替タスクを実行することにより、前記受信情報記憶手段に記憶されている応答情報を読み出して仮想的な応答情報を生成することを特徴とする請求項記載の通信制御装置。
  3. 前記仮想応答手段は、
    前記代替タスクを初回目に実行するとき、前記情報処理装置と実際のデータ通信を行うことにより、前記情報処理装置から取得する応答情報を前記受信情報記憶手段に記憶すると共に、前記情報処理装置に対し、前記情報処理装置の状態変化が生じる場合にその状態変化の通知を予約しておくことを特徴とする請求項記載の通信制御装置。
  4. 前記仮想応答手段は、前記予約により、前記情報処理装置から状態変化を通知するための情報を受信した場合、当該情報を前記受信情報記憶手段に記憶しておき、その後に前記代替タスクを実行するときに当該情報を読み出して仮想的な応答情報を生成することを特徴とする請求項記載の通信制御装置。
  5. 前記アプリケーション部からのコマンドに応じて前記通信制御手段と前記仮想応答手段と間で仮想的なデータ通信が行われた場合に当該コマンドを記憶しておく送信情報記憶手段をさらに備え、
    前記仮想応答手段は、前記情報処理装置から送信された情報を受信した場合、当該受信情報を前記受信情報記憶手段に記憶すると共に、前記送信情報記憶手段に記憶されているコマンドに基づいて前記情報処理装置との実際のデータ通信を行うことにより、当該コマンドに対応する応答情報を前記情報処理装置から取得して前記受信情報記憶手段に記憶することを特徴とする請求項乃至のいずれかに記載の通信制御装置。
  6. 前記コマンドリストには、前記アプリケーション部が前記情報処理装置の状態を管理するために定期的に又は不定期に出力されるコマンドが登録されることを特徴とする請求項1乃至のいずれかに記載の通信制御装置。
  7. 前記通信制御手段は、前記情報処理装置が省電力モードへ移行するか否かの省電力設定管理情報を保持し、当該省電力設定管理情報において省電力モードへ移行する設定となっていれば、前記アプリケーション部からのコマンドに応じて前記仮想応答手段との仮想的なデータ通信を行い、省電力モードへ移行しない設定となっていれば、前記アプリケーション部からコマンドを入力する都度、前記情報処理装置との実際のデータ通信を行うことを特徴とする請求項1乃至のいずれかに記載の通信制御装置。
  8. ネットワークに接続された情報処理装置とのデータ通信を要求するアプリケーション部からのコマンドに応じて通信制御装置が通信制御を行う通信制御方法であって、
    (a) 前記アプリケーション部から前記情報処理装置とのデータ通信を要求するコマンドを入力するステップと、
    (b) 前記アプリケーション部からのコマンドを入力した場合、所定の仮想応答手段との仮想的なデータ通信を行うことが定義されたコマンドリストが登録されると共に、前記コマンドリストに登録されたコマンドごとに、前記情報処理装置に代わって前記仮想応答手段に実行させる代替タスクに関する情報が登録された登録情報を参照し、前記アプリケーション部からのコマンドが前記コマンドリストに含まれるか否かを判断するステップと、
    (c) 前記アプリケーション部からのコマンドが前記コマンドリストに含まれる場合、前記登録情報を更に参照して前記仮想応答手段に実行させる代替タスクを特定し、前記仮想応答手段との仮想的なデータ通信を行うことにより、当該代替タスクを前記仮想応答手段に実行させて前記アプリケーション部からのコマンドに対応する応答情報を前記仮想応答手段から取得して前記アプリケーション部に出力し、前記アプリケーション部からのコマンドが前記コマンドリストに含まれない場合、前記情報処理装置との実際のデータ通信を行うことにより前記情報処理装置からの応答情報を取得して前記アプリケーション部に出力するステップと、
    を有し、
    前記ステップ(c)は、前記仮想応答手段に前記代替タスクを実行させるとき、初回目の実行時には前記情報処理装置との実際のデータ通信を行わせて前記情報処理装置からの実際の応答情報で返答させる処理を行わせ、2回目以降の実行時には過去に前記情報処理装置から取得した応答情報に基づいて生成した仮想的な応答情報で返答させる処理を行わせることを特徴とする通信制御方法。
  9. ネットワークに接続された情報処理装置とデータ通信を行うコンピュータによって実行されるプログラムであって、前記コンピュータに、
    (a) 前記情報処理装置とのデータ通信を要求するアプリケーション部からのコマンドを入力するステップと、
    (b) 前記アプリケーション部からのコマンドを入力した場合、所定の仮想応答手段との仮想的なデータ通信を行うことが定義されたコマンドリストが登録されると共に、前記コマンドリストに登録されたコマンドごとに、前記情報処理装置に代わって前記仮想応答手段に実行させる代替タスクに関する情報が登録された登録情報を参照し、前記アプリケーション部からのコマンドが前記コマンドリストに含まれるか否かを判断するステップと、
    (c) 前記アプリケーション部からのコマンドが前記コマンドリストに含まれる場合、前記登録情報を更に参照して前記仮想応答手段に実行させる代替タスクを特定し、前記仮想応答手段との仮想的なデータ通信を行うことにより、当該代替タスクを前記仮想応答手段に実行させて前記アプリケーション部からのコマンドに対応する応答情報を前記仮想応答手段から取得して前記アプリケーション部に出力し、前記アプリケーション部からのコマンドが前記コマンドリストに含まれない場合、前記情報処理装置との実際のデータ通信を行うことにより前記情報処理装置からの応答情報を取得して前記アプリケーション部に出力するステップと、
    を実行させ
    前記ステップ(c)は、前記仮想応答手段に前記代替タスクを実行させるとき、初回目の実行時には前記情報処理装置との実際のデータ通信を行わせて前記情報処理装置からの実際の応答情報で返答させる処理を行わせ、2回目以降の実行時には過去に前記情報処理装置から取得した応答情報に基づいて生成した仮想的な応答情報で返答させる処理を行わせることを特徴とするプログラム。
JP2010140323A 2010-06-21 2010-06-21 通信制御装置、通信制御方法およびプログラム Active JP5177181B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010140323A JP5177181B2 (ja) 2010-06-21 2010-06-21 通信制御装置、通信制御方法およびプログラム
US13/158,492 US8543677B2 (en) 2010-06-21 2011-06-13 Communication control device, method, and computer readable medium allowing an information processing device to be in a power saving mode for an extended period and allowing an application part to continue functioning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010140323A JP5177181B2 (ja) 2010-06-21 2010-06-21 通信制御装置、通信制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2012003664A JP2012003664A (ja) 2012-01-05
JP5177181B2 true JP5177181B2 (ja) 2013-04-03

Family

ID=45329745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010140323A Active JP5177181B2 (ja) 2010-06-21 2010-06-21 通信制御装置、通信制御方法およびプログラム

Country Status (2)

Country Link
US (1) US8543677B2 (ja)
JP (1) JP5177181B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6015054B2 (ja) * 2012-03-27 2016-10-26 株式会社ソシオネクスト エラー応答回路、半導体集積回路及びデータ転送制御方法
JP6061495B2 (ja) * 2012-05-21 2017-01-18 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
JP5995524B2 (ja) * 2012-05-23 2016-09-21 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム、および記録媒体
JP5655833B2 (ja) * 2012-09-20 2015-01-21 コニカミノルタ株式会社 印刷システム及び印刷指示装置並びにプリンタドライバ
US10185582B2 (en) * 2012-11-28 2019-01-22 Red Hat Israel, Ltd. Monitoring the progress of the processes executing in a virtualization environment
KR102048334B1 (ko) 2013-06-12 2020-01-08 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 화상 형성 장치 및 화상 형성 장치의 절전 모드 제어 방법
JP5907181B2 (ja) 2014-01-20 2016-04-26 コニカミノルタ株式会社 画像処理システム、中継装置、画像形成装置、中継方法、および中継プログラム
TW201533657A (zh) * 2014-02-18 2015-09-01 Toshiba Kk 資訊處理系統及記憶體系統
EP3210104B1 (en) * 2014-10-23 2020-04-29 Hewlett-Packard Development Company, L.P. Printing device discovery
JP6525843B2 (ja) * 2015-10-15 2019-06-05 キヤノン株式会社 情報処理装置、サーバ、スリープ制御方法、コンピュータプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3123634B2 (ja) 1994-11-22 2001-01-15 キヤノン株式会社 印刷装置及びその制御方法
US7583396B2 (en) * 2002-10-28 2009-09-01 Canon Kabushiki Kaisha Printing system, printing method, and computer program
JP4517274B2 (ja) * 2002-12-26 2010-08-04 ソニー株式会社 情報処理装置及び情報処理装置における電力供給方法
US7107442B2 (en) * 2003-08-20 2006-09-12 Apple Computer, Inc. Method and apparatus for implementing a sleep proxy for services on a network
JP2005157792A (ja) * 2003-11-26 2005-06-16 Sony Corp 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
JP2006215686A (ja) * 2005-02-02 2006-08-17 Canon Inc ホストコンピュータ、ネットワークプリンタおよびネットワークプリンタのパワーマネージメント制御方法
JP2007148982A (ja) 2005-11-30 2007-06-14 Hitachi Ltd ストレージシステム及びその管理方法
JP4725725B2 (ja) * 2005-11-30 2011-07-13 セイコーエプソン株式会社 情報処理システム及びホスト装置
JP5034993B2 (ja) * 2007-02-07 2012-09-26 ブラザー工業株式会社 情報処理装置、および情報処理方法
JP5132258B2 (ja) 2007-10-30 2013-01-30 キヤノン株式会社 デバイス監視装置、デバイス監視方法、及びコンピュータプログラム
US7917800B2 (en) * 2008-06-23 2011-03-29 International Business Machines Corporation Using device status information to takeover control of devices assigned to a node

Also Published As

Publication number Publication date
US20110314311A1 (en) 2011-12-22
US8543677B2 (en) 2013-09-24
JP2012003664A (ja) 2012-01-05

Similar Documents

Publication Publication Date Title
JP5177181B2 (ja) 通信制御装置、通信制御方法およびプログラム
JP6355330B2 (ja) ネットワークデバイス、ネットワークデバイスの制御方法およびそのプログラム
JP3903024B2 (ja) 出力管理方法及び情報処理装置
US8873080B2 (en) Image forming device generating screens for remote and local access, information processing method, and computer-readable recording medium
JP5573132B2 (ja) 印刷システム、印刷装置、プログラム、および記憶媒体
US9386122B2 (en) Server selecting apparatus, information processing apparatus, and non-transitory computer-readable medium storing computer-executable program for server selecting apparatus
US20150088986A1 (en) Information processing apparatus, and control method and storage medium therefor
US9917968B2 (en) Image processing device and terminal device using application programming interface corresponding to specific function
JP5906826B2 (ja) ジョブ処理システム、ジョブ処理方法及びプログラム
JP6991852B2 (ja) 制御装置及びその制御方法、並びにプログラム
US8094334B2 (en) Image forming apparatus for managing application and control method therefor
JP2014127783A (ja) 情報処理装置の管理システム、情報処理装置、情報処理装置の制御方法、及びプログラム
JP2017010169A (ja) 印刷制御装置、プログラムおよび印刷システム
JP2009069950A (ja) 画像処理装置、ジョブ処理方法及びプログラム
JP2015112818A (ja) 画像形成装置、制御方法およびプログラム
US9207889B2 (en) Information processing apparatus, information processing method, and storage medium
US8947700B2 (en) Information processing apparatus, information processing method, and storage medium to provide a screen
JP2018122531A (ja) 画像処理装置、画像形成装置、画像処理システム、画像処理装置の制御方法、及び画像処理装置の制御プログラム
JP2006005963A (ja) 情報処理装置および情報処理方法
JP2009134584A (ja) 情報処理装置管理システム及び情報処理装置管理方法ならびに、プログラムおよび記憶媒体
JP2023048280A (ja) シャットダウン指示を受信する画像制御装置、その制御方法
JP5610731B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
JP2018148581A (ja) ネットワークデバイス、ネットワークデバイスの制御方法およびそのプログラム
JP5471466B2 (ja) 画像処理デバイス排他制御装置、制御方法、プログラム及び記録媒体
JP5680377B2 (ja) 画像形成装置、アプリケーションの動作状態の制御方法、プログラム及びコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120424

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121224

R150 Certificate of patent or registration of utility model

Ref document number: 5177181

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350