JP2007274588A - 電子機器及び当該機器における制御方法 - Google Patents
電子機器及び当該機器における制御方法 Download PDFInfo
- Publication number
- JP2007274588A JP2007274588A JP2006100394A JP2006100394A JP2007274588A JP 2007274588 A JP2007274588 A JP 2007274588A JP 2006100394 A JP2006100394 A JP 2006100394A JP 2006100394 A JP2006100394 A JP 2006100394A JP 2007274588 A JP2007274588 A JP 2007274588A
- Authority
- JP
- Japan
- Prior art keywords
- notification
- event
- registration
- status information
- external device
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/121—Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】 通知登録の有効期間の判断に、装機器の状況が考慮されていない。このため、クライアントが機器の状況に関係なく登録要求を発行して、機器が高負荷状態となり、イベント情報の通知が欠落してしまう。
【解決手段】 クライアントからのイベント通知の登録要求に応じて、登録の可否を判定し、登録可と判定したクライアントに対する通知回数の上限値を設定して登録する(S702)。イベント通知に対応するイベントの発生に応じて、登録されているクライアントに対して当該イベントの発生を通知し(S705〜S713)、その通知回数が上限値に達すると、登録されているクライアントの登録を無効にする(S714)。
【選択図】 図7
【解決手段】 クライアントからのイベント通知の登録要求に応じて、登録の可否を判定し、登録可と判定したクライアントに対する通知回数の上限値を設定して登録する(S702)。イベント通知に対応するイベントの発生に応じて、登録されているクライアントに対して当該イベントの発生を通知し(S705〜S713)、その通知回数が上限値に達すると、登録されているクライアントの登録を無効にする(S714)。
【選択図】 図7
Description
本発明は、電子機器の状態情報を外部機器に通知する電子機器及び当該機器における制御方法に関するものである。
ある電子機器でのイベントの発生を特定の外部機器に通知することをその電子機器に登録するイベント通知の登録処理が知られている。そして、その電子機器で、このようなイベント通知の登録要求を外部機器から受取ると、その外部機器を通知先として登録する。そして電子機器でイベントが発生すると、そのイベントの発生を、その電子機器に通知先として登録されている外部機器へ通知する電子機器が存在する(特許文献1)。この電子機器では更に、所定時間が経過した後に、その外部機器の登録を登録テーブルから削除するようにも構成されているものもある。
特開平11−203094号公報
このような電子機器と外部機器とで構成されるシステムにおいて、外部機器がその電子機器の状態情報を取得するために、その電子機器に対してイベント通知の登録要求を行う。この登録要求を受けた電子機器では、その登録要求をしてきた外部機器をイベントの通知先として登録する。そして電子機器の内部でイベントが発生すると、登録しているイベントの通知先を取得し、その通知先の全てに、そのイベントを示すイベント情報を送信する。このようなシステムにおいて、電子機器で発生するイベント数が急増した場合、或は、イベントの通知先として登録されている外部機器の数が短期間に急増した場合は、発生したイベントに対して通知処理が追いつかずイベント通知の欠落が発生する虞がある。この問題は、イベントの通知をUDPによるブロードキャストではなくTCPで送信する場合に特に顕著となる。このため通知先として登録されている外部機器に確実にイベント情報を通知すること、また電子機器が自身の処理限界に達する前にイベント処理の負荷を調節する仕組みが必要となる。またイベント通知の通知先として登録されている外部機器がノートPC等の場合、イベント通知の登録を解除することなく、そのPCがネットワークから除去される場合がある。このような場合、イベントが発生する度にそのPCに対してイベントが通知され、その度にPCから応答がないためTCPのタイムアウト待ちが発生してしまう。これらの処理は無駄な処理であり、電子機器への負担を増大させるものとなる。このため、何らかの条件によって、イベント通知の登録を解除する仕組みが必要となる。
イベント通知の登録を解除するための仕組みとして、所定時間経過後に、イベント通知の登録を自動的に解除するものがあった。ただし、その所定時間が固定な時間であったり、外部機器から一方的に指定された時間であったりした。このため、外部機器が電子機器の状況に関係なく登録要求を発行して、電子機器が高負荷状態となり、イベント情報の通知が欠落してしまう危険性がある。
本発明の目的は、上記従来の問題点を解決することにある。
本発明の特徴は、状態情報を通知する電子機器側で、特定の外部機器への状態情報の通知を解除するまでの期間を動的に決定することができる技術を提供することにある。
また本願発明の特徴は、特定の外部機器への状態情報の通知が有効な期間を動的に決定し、その期間内で状態情報を通知する技術を提供することにある。
上記目的を達成するために本発明の一態様に係る電子機器は以下のような構成を備える。即ち、
状態情報を通知する電子機器であって、
特定の外部機器に状態情報を通知することを前記電子機器に登録するよう求める登録要求を外部機器から受信する受信手段と、
前記特定の外部機器に対して状態情報を通知する通知手段と、
前記特定の外部機器への状態情報の通知が有効な期間を動的に決定する決定手段と、
前記決定手段により決定された期間が終了すると、前記特定の外部機器に状態情報を通知することの登録を無効にする無効化手段とを有することを特徴とする。
状態情報を通知する電子機器であって、
特定の外部機器に状態情報を通知することを前記電子機器に登録するよう求める登録要求を外部機器から受信する受信手段と、
前記特定の外部機器に対して状態情報を通知する通知手段と、
前記特定の外部機器への状態情報の通知が有効な期間を動的に決定する決定手段と、
前記決定手段により決定された期間が終了すると、前記特定の外部機器に状態情報を通知することの登録を無効にする無効化手段とを有することを特徴とする。
上記目的を達成するために本発明の一態様に係る電子機器における制御方法は以下のような工程を備える。即ち、
状態情報を通知する電子機器における制御方法であって、
特定の外部機器に状態情報を通知することを前記電子機器に登録するよう求める登録要求を外部機器から受信する受信工程と、
前記受信工程で受信したイベント通知の登録要求に応じて、登録の可否を判定する判定工程と、
前記特定の機器に対して状態情報を通知する通知工程と、
前記特定の外部機器への状態情報の通知が有効な期間を動的に決定する決定工程と、
前記決定工程で決定された期間が終了すると、前記特定の外部機器に状態情報を通知することの登録を無効にする無効化工程とを有することを特徴とする。
状態情報を通知する電子機器における制御方法であって、
特定の外部機器に状態情報を通知することを前記電子機器に登録するよう求める登録要求を外部機器から受信する受信工程と、
前記受信工程で受信したイベント通知の登録要求に応じて、登録の可否を判定する判定工程と、
前記特定の機器に対して状態情報を通知する通知工程と、
前記特定の外部機器への状態情報の通知が有効な期間を動的に決定する決定工程と、
前記決定工程で決定された期間が終了すると、前記特定の外部機器に状態情報を通知することの登録を無効にする無効化工程とを有することを特徴とする。
尚、この課題を解決するための手段は、本願発明の特徴の全てを列挙しているものではなく、特許請求の範囲に記載された他の請求項及びそれら特徴群の組み合わせも発明になり得る。
本発明によれば、状態情報を通知する電子機器側で、特定の外部機器への状態情報の通知を解除するまでの期間を動的に決定することができる。
また本発明によれば、特定の外部機器への状態情報の通知が有効な期間を動的に決定し、その期間内で状態情報を通知することにより、電子機器が高負荷状態となり状態情報の通知が欠落するといった事態の発生を軽減できる。
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
図1は、本発明の実施の形態に係るシステムを説明する構成図である。ここでは、イベントの通知の登録処理時のシステム構成を示している。
外部機器としてのクライアント(以下、クライアント)101乃至105と電子機器としての画像形成装置(複写機)106とは、LAN100に接続されている。110と111は、クライアントから画像形成装置106へのイベント通知の登録要求を示している。登録要求110は、画像形成装置106におけるプリンタ関連及びスキャナ関連のイベントの発生を通知するよう求める登録要求を示し、登録要求111は、スキャナ関連のイベントの発生を通知するよう求める登録要求を示している。よって、ここではクライアント101乃至103のそれぞれには、画像形成装置106におけるプリンタ関連及びスキャナ関連のイベントの発生が画像形成装置106から通知される。また、クライアント104,105には、スキャナ関連のみのイベントの発生が画像形成装置106から通知される。以下、イベントの発生を通知することを「イベント通知」とする。また、イベント通知をしてほしい旨を画像形成装置106に登録すること或いはイベントの発生を示すイベント情報の通知先を画像形成装置106に登録することを「イベント通知の登録」とする。さらに、イベント通知の登録を画像形成装置106に求めること或いはイベント通知の登録を画像形成装置106に求める要求メッセージを「イベント通知の登録要求」とする。イベントは主に、画像形成装置106の状態を示し、例えば、紙詰まりの発生や、ドア・オープンや、紙詰まりの解消などを示す。
図2は、本発明の実施の形態に係るイベント通知処理時のシステム構成を示す図で、図1と共通する部分は同じ記号で示している。
図2では、画像形成装置106のプリンタモジュールで紙詰まりが発生した場合を示している。この場合、紙詰まりのイベント情報201は、図1の登録要求110に応じて、クライアント101乃至103にのみ通知される。
図3は、本発明の実施の形態に係るクライアント(101)のハードウェア構成を示すブロック図である。このクライアントは、例えばパーソナルコンピュータ(PC)やワークステーション等の情報処理装置(コンピュータ機器)である。
CPU301は、このクライアントのソフトウェアプログラムを実行し、この装置全体の制御を行う。ROM302には、この装置のブートプログラムや固定パラメータ等が格納されている。RAM303はCPU301がこの装置を制御する際に、一時的なデータの格納等に使用される。HDD304はハードディスクドライブであり、各種ソフトウェア等の様々なデータの格納に使用される。NVRAM305は不揮発性のメモリで、この装置の各種設定値を保存する。ネットワークI/F制御部306は、LAN100とのデータの送受信を制御する。バス300はCPU301,ROM302,RAM303,HDD304,NVRAM305,ネットワークI/F制御部306が接続され、CPU301からの制御信号やデータ信号が送受信されるシステムバスである。CPU301により実行される各種アプリケーションプログラムやOS等はHDD304にインストールされており、実行時にはRAM303にロードされて実行される。尚、他のクライアントの構成も基本的には、このクライアント101の構成と同じであるため、それらの説明を省略する。
図4は、本実施の形態に係る画像形成装置106のハードウェア構成を示すブロック図である。
スキャナ制御部402は、スキャナエンジン401を制御する。エンジン制御部405はプリンタエンジン404を制御する。403はROM、406はHDD(ハードディスク)、407はCPUである。不揮発性のメモリであるNVRAM409は、ユーザにより設定された各種値を保持している。I/O制御部411は、スピーカ415、タッチパネル416やボタン417、ランプ418等を含む操作部414を制御する。ネットワーク制御部412は、LAN100と接続されていて、ネットワーク通信の制御を行なう。RTC(タイマ)413は省エネモード中も動作しており、電源制御部410に対して復帰時刻の通知を行なう。バス419には、前述した各部が接続されている。
この画像形成装置106を制御するプログラムは予めHDD406に格納されており、電源が投入されるとCPU407はROM403からブートプログラムを読み出し、そのブートプログラムの制御に従って各デバイス制御プログラムのブートを実行する。即ち、CPU407は、このブートプログラムに従ってHDD406からデバイス制御プログラムをRAM408にロードして展開する。そしてこのRAM408に展開されたデバイス制御プログラムを読み出すことによって、この画像形成装置106の制御を実行する。
図5は、本実施の形態に係るクライアント101のソフトウェア構成を説明するブロック図である。尚、他のクライアントに関しても同様のソフトウェア構成であるため、その説明を省略する。
ネットワークドライバ501は、ネットワークI/F制御部306(図3)を制御し、ネットワーク100との間でデータの送受信を行なう。TCP/IP制御502は、TCP/IPプロトコルに従った通信の制御を行なう。HTTP制御504は、HTTPクライアント機能を有し、画像形成装置106のHTTPサーバ制御604(図6)とHTTPプロトコルに従った通信を行なう。また上位アプリケーションから、SSL接続による、HTTPプロトコル通信が要求された場合、SSL制御503と連携してSSL接続によるHTTP通信を実現する。SOAP制御505は、XMLパーサ506と連携し、印刷アプリケーション507から渡されたデータをSOAP要求メッセージへ変換する。そのSOAP要求メッセージを画像形成装置106へ送信するとともに、その画像形成装置106から返されたSOAP応答メッセージを解析して、その結果を印刷アプリケーション507へ渡す。PDL制御508は、印刷アプリケーション507から渡された印刷データを、画像形成装置106がサポートするPDL(Page Description Language)形式のデータに変換して印刷ジョブとして転送する。
図6は、本実施の形態に係る画像形成装置106のソフトウェア構成を示すブロック図である。
ネットワークドライバ601は、ネットワークI/F制御部412(図4)を制御し、ネットワーク100との間でデータの送受信を行なう。TCP/IP制御602は、TCP/IPプロトコルに従った通信の制御を行なう。HTTP制御604はHTTPサーバ機能を有し、クライアント上のHTTPクライアント制御504とHTTPプロトコルに従った通信を行なう。また、クライアントからの接続要求がSSL接続要求の場合、SSL制御603と連携してHTTPSで通信を行なう。ここで要求メッセージがイベント通知の登録要求である場合は、HTTP制御604、SOAP制御605、イベント通知制御607がその要求を解析し、応答メッセージを生成して送信する。イベントの通知先の保持や、通知待ちのイベントの記憶は全てイベント通知制御607が行う。よって、この画像形成装置106のプリンタエンジン401及びスキャナエンジン404で何らかのイベントが発生した場合は、イベントが発生した旨がそれぞれプリンタドライバ609、スキャナドライバ608を経由して、イベント通知制御607に通知される。このイベント通知制御607は、内部に保持している管理テーブルの情報に従い、イベント通知を行い、イベント通知の登録を解除する解除処理を行う。PDL制御610は、クライアント(101乃至105)から送られるPDLデータを受信し、そのPDLデータがプリンタドライバ609を通じて記録紙などの記録媒体に印刷(記録)されるように制御する。SOAP制御605は、XMLパーサ606と連携し、イベント通知制御607から渡されたイベント情報をSOAP形式へ変換する。こうしてSOAP形式へ変換されたイベント情報をHTTP制御604を介してクライアントに送信する。
図7は、本実施の形態のシステムにおけるイベント通知の登録、及びイベント情報の通知時のシーケンスを示す図である。ここでの主な処理内容は、クライアント101とクライアント102がそれぞれ画像形成装置106へイベント通知の登録要求を送信する。これに従って画像形成装置106は、その登録要求で指定されている事項に従ってイベントの発生を、各対応するクライアントに通知する。またこのイベント通知には上限回数が設定されており、イベント通知された回数がその上限回数に到達すると、画像形成装置106からクライアントへのイベント通知の登録が無効になる。更にクライアントがイベント通知を要求する場合は、イベント通知の再登録を行う必要がある。以下、シーケンスの詳細を説明する。
ステップS701で、クライアント101が画像形成装置106へイベント通知の登録要求をSOAPメッセージで送信する。ステップS702で、そのイベント通知の登録要求に対して画像形成装置106はクライアント101へ保証できるイベントの通知回数を算出する。また、画像形成装置106はクライアント101をイベント情報の通知先として管理テーブルに登録する。そしてステップS703で、その通知回数を示すSOAP応答メッセージを、クライアント101に返信する。このSOAP応答メッセージには、イベント通知の登録要求を受理した旨と、イベント通知の上限回数とが含まれている。ここでは上限となる回数を10回としている。この場合、イベント情報が通知された回数が10回になるまでは、クライアント101へのイベント通知の登録が有効である。イベント情報が10回通知された段階で、そのクライアント101に対するイベント通知の登録は無効となる。よって、クライアント101が、継続してイベント情報の通知を要求する場合は、再度、イベント通知の登録要求を行うことが必要となる。こうしてステップS701乃至ステップS703で、イベント通知の登録が完了する。
その後ステップS704で、画像形成装置106のプリンタエンジン404でイベントが発生すると、イベント通知制御607に保存された管理テーブルに基づいて、管理テーブルに登録されているクライアント(ここではクライアント101)に、イベントが発生したことを通知する。ここではステップS705で、紙詰まり発生を通知し、ステップS706でドア・オープンを通知し、ステップS707では、紙詰まり解消をクライアント101へ通知している。
またステップS708乃至S710では、別のクライアント102からのイベント通知の登録要求を受付けて、クライアント101の場合と同様のシーケンスが実行されている。ここではイベント情報の通知先が2つの場合を示し、ステップS711でイベントが発生した場合には、画像形成装置106は、これら2つのクライアント101,102にイベント情報を送信している(ステップS712乃至S713)。尚、ここではクライアント101,102は共に、プリンタ関連のイベントを通知するよう画像形成装置106に要求しているものとする。
ここでステップS713のイベント通知により、クライアント101へのイベントの通知回数がの上限回数(10回)に達する。このためステップS714では、イベント通知制御607は、そのクライアント101を管理テーブルから削除し、クライアント101に対するイベント通知の登録を無効にする。
クライアント101は、ステップS713でイベント情報を受信したことにより、イベント通知の登録が画像形成装置106で無効になったと判断する。そしてステップS715で、イベント通知の再登録が必要か否かを判断する。再登録が必要と判断した場合はステップS716で、イベント通知の登録要求を画像形成装置106に送信する。そしてステップS717で、画像形成装置106は、クライアント101を管理テーブルに登録するとともに、イベントの通知を保証できる上限回数を再計算する。そして再度、ステップS718で、イベント通知の登録を受け付けた旨と、イベント通知の上限回数をクライアント101に返信する。前回は上限回数が10回であったのに対して、このステップS718では、上限回数がより少ない7回に変更されている。ステップS717の時点では、S702の時点と比べて、管理テーブルに既に登録されているクライアント数が増えているためである。
図8は、本実施の形態において、クライアントが、イベント通知の登録要求として使用するSOAP要求メッセージの一例を示す図である。
<ClientID>タグ801で、どのクライアントから受信した要求であるかを特定する。ここではクライアント(C101)からの登録要求であることが記述されている。また<RequestEventList>タグ802では、通知してほしいイベント情報の種別を個別に指定する。例えば、プリンタ関連のイベントの通知が必要な場合は、<EventInfo>タグの子要素である<EventType>タグ803に「PrEv」を記述する。またスキャナ関連のイベントの通知が必要な場合は、<EventInfo>タグの子要素である<EventType>タグ804に「ScEV」を記述する。
図9は、イベント通知の登録要求に対する応答メッセージの一例を示す図である。
<ClientID>タグ901には、どのクライアントに対する応答メッセージかを記述する。ここではクライアント(C101)への応答である旨が記述されている。<AcceptedEventList>タグ902には、図8の<RequestedEventList>タグ802で指定されたイベント情報の種別に対して、イベント通知の登録が許容されたイベント情報の種別を記述する。1つの種別に対して<EventInfo>タグが対応している。イベント通知が画像形成装置106に登録された時の登録IDが<RegistID>タグに、登録に成功したイベント情報の種別が<EventType>タグに、イベントの通知回数の上限値が<NotifyLimit>タグに、それぞれ格納される。
図9の903は、登録IDが「001111」であり、イベント情報の種別がプリンタ関連であり、イベント通知の上限回数が12回であることを示している。また904では、登録IDが「001112」であり、イベント情報の種別がスキャナ関連であり、イベント通知の上限回数が7回であることを示している。
図10(A)は、本実施の形態に係る画像形成装置106がイベント通知に用いるSOAPメッセージの一例を示す図、図10(B)は、クライアントが返す応答メッセージの一例を示す図である。
イベント情報を示すSOAPメッセージでは、<To>タグ1001に、イベント通知の登録要求の<ClientID>タグに記述されていたID(ここではC101)を記述する。これにより、どのクライアント宛のイベント情報であるかを特定できる。イベント情報は、<EventDataList>タグ1002に記述される。ここでは<EventType>タグ別に、通知するイベント情報を記述する。図10(A)の1002では、プリンタ関連のイベント(「PrEv」)を示し、1003で示すように、<Status>タグ以下の<StatusCode>タグにイベントコードをリスト型で列挙する。また、図10(A)の1004は、スキャナ関連のイベント(「ScEv」)を示し、1005で示すように<Status>タグ以下の<StatusCode>タグにイベントコードをリスト型で列挙する。これを受信したクライアントは、<StatusCode>タグに列挙されたイベントコードから、画像形成装置106で発生したイベントを把握することができる。
図10(B)に示す応答メッセージでは、各クライアントは、イベント情報の通知を正常に受信すると、<Return>タグ1006に「Success」を記述する。
図11は、本実施の形態に係る画像形成装置106におけるイベント情報のキューイング処理の機能概略を説明する図である。ここで図6の画像形成装置106のソフトウェア構成図と共通する部分は同じ記号で示し、それらの説明を省略する。
プリンタ関連及びスキャナ関連で何らかのイベントが発生した場合、それぞれ、プリンタドライバ609,スキャナドライバ608がイベント情報(PrEvi, ScEvi)をイベントキューに加える。こうしてイベントキュー1103に入れられたイベント情報をイベント通知制御607が取得する。そして後述する図16のフローに従って、イベントキューに並んでいるイベント情報を複数の送信キューのいずれかへ入れる。ここで1105は、スキャナ関連のイベント情報の送信キューを示し、1106は、プリンタ関連のイベント情報の送信キューをそれぞれ示している。こうして送信キューに並んでいるイベント情報は、イベントのタイプ毎にそれぞれ独立したSOAP制御605/HTTP制御604によりSOAPメッセージに変換され、TCP/IP制御602及びネットワークドライバ601を介して、対応するクライアントに送信される。1108,1109はそれぞれ、プリンタ関連、スキャナ関連のイベント情報を含むSOAPメッセージを示している。
図12乃至図14は、本実施の形態に係るイベント通知制御607が有するイベント情報管理テーブルを説明する図で、図12(A)は、スキャナ関連の管理テーブルを示し、図12(B)は、プリント関連の管理テーブルを示している。また図13は通知済みNotifyLimit管理テーブルを、図14は新規クライアント用のNotifyLimit管理テーブルを示している。
このようにイベント情報管理テーブルは3種類のテーブルから構成される。図12(A)に示す通知待ち管理テーブルは、スキャナドライバ608からイベントキューへ加えられたイベント情報と、イベント通知制御607によって送信キューに加えられたイベント情報との関連付けを記述している。図12(A)の例によれば、イベントキューに並んでいるスキャナ関連のイベント情報「ScEv1」に基づいて、スキャナ関連のイベント情報「ScEv1Cl01」「ScEv1Cl02」「ScEv1Cl03」「ScEv1Cl04」「ScEv1Cl05」がスキャナ関連の送信キューに加えられている。なお、「ScEv1Cl01」はクライアント「Cl01」に送信される「ScEv1」のイベント情報を示している。
また図12(B)に示す通知待ち管理テーブルは、プリンタドライバ609からイベントキューへ加えられたイベント情報と、イベント通知制御607によって送信キューに加えられたイベント情報との関連付けを記述している。図12(B)の例によれば、イベントキューに並んでいるプリンタ関連のイベント情報「PrEv1」に基づいて、プリンタ関連のイベント情報「PrEv1Cl01」「PrEv1Cl02」「PrEv1Cl03」「PrEv1Cl04」「PrEv1Cl05」がプリンタ関連の送信キューに加えられている。なお、「PrEv1Cl01」は、クライアント「Cl01」に送信される「PrEv1」のイベント情報を示している。
これら図12の管理テーブルは、イベントが発生してイベント通知制御607が、通知用のイベント情報を生成した段階でレコードが追加される。そして、このイベント情報の通知が成功すると、このテーブルから、そのレコードが削除される。EvSrcフィールドには、ドライバが生成した時のキューIDが記述される。Sc(Pv)SndWaitEvフィールドには、送信キューIDが記述される。このテーブルはイベント情報の種別ごとに個別に存在する。
図13は、通知済みNotifyLimit管理テーブルを示し、クライアントからイベント通知の登録要求を受付けてイベント通知の登録をした段階で、イベント情報の種別ごとに1レコードが追加される。ClientIDフィールドには、このイベント通知の登録要求をしてきたクライアントのClientIDが登録される。またEvTypeには、そのクライアントから要求されたイベントの種別(EventType)(ここではプリンタ関連、スキャナ関連)が記述される。NotifyLimitは、イベントを通知する残り回数が記憶されている。RegIDは、イベント通知の登録要求の登録IDで、各クライアントの<EventType>毎に固有の値をとる。
図14に示す新規クライアント用のNotifyLimit管理テーブルは、現在の送信キューの処理状況を監視し、イベント通知の登録要求の応答でクライアントへ通知するNotifyLimitの値(イベントの通知回数の上限値)の計算に用いる。本実施の形態に係る画像形成装置106では、2つのイベントタイプ、即ち、スキャナ関連とプリンタ関連(ScEv/PrEv)をサポートしているので、2レコードとなる。QueueMaxフィールドは、各イベントタイプ毎に、図11の送信キュー(1105または1106)で格納可能なイベント情報の数を示している。ClientNumフィールドは、現時点でイベント通知の通知先として登録されているクライアントの数を記述する。SendWaitingEventフィールドは、イベント通知制御607によって生成されて、送信キューで通知待ちとなっているイベント情報の数を記述する。ProcessingEventフィールドは、送信キュー内のイベント情報の元となっているイベントキュー内のイベント情報の数を記述する。Reservedフィールドは、通知済みNotifyLimit管理テーブル(図13)の残り通知回数(NotifyLimit)をイベントのタイプ毎に集計した値を記述する。NewClフィールドは必ず、イベント通知の通知先として登録できるのを保証しておきたいクライアントの数を示す。SndQueueは、[送信キューで格納可能なイベント情報の数(QueueMax)]−[通知待ちとなっている送信キュー内のイベント情報の数(SendWaitingEvent)]−[残り通知回数(Reserved)]に従って算出される。よってこのSndQueueは、送信キューで新規に扱えるイベント情報の数を記述する。NotifyLimitの値は、[送信キューで新規に扱えるイベント情報の数(SndQueue)]/[イベント通知の通知先として登録できることを保証しておきたいクライアントの数(NewCl)]で算出され、新規に登録できるのを保証するクライアントに応答できるNotifyLimitの最大値を記述する。
図15は、イベント通知の登録要求を受信した際の画像処理装置106における処理を説明するフローチャートで、この処理を実行するプログラムは、実行時にHDD406からRAM408にロードされ、CPU407の制御の下に実行される。
まずステップS1501で、図8に示すイベント通知の登録要求を受信するとステップS1502に進み、その登録要求で通知するよう要求されたイベント情報のタイプを確認する。次にステップS1503で、図14に示す新規クライアント用NotifyLimit管理テーブルを参照して、その要求してきたクライアントに割り当てられる通知回数(NotifyLimit値)を取得する。次にステップS1504で、ステップS1503で取得したNotifyLimit値が「1」以上かどうかを判定する。「1」以上でないとき、即ち、そのクライアントに通知回数が割り当てられないときはステップS1507に進み、その登録要求を送信してきたクライアントに対して、イベント通知の登録が失敗した旨を含む応答メッセージを送信する。
一方ステップS1504でNotifyLimit値が「1」以上であればステップS1505に進み、図13に示す通知済みNotifyLimit管理テーブルに新規レコードを追加する。ここで、通知済みNotifyLimit管理テーブル全体でユニークなRegIDを新規に生成し、生成したRegIDと、ステップS1504の判定で取得したNotifyLimit値と、ステップS1501で受信した登録要求の<ClientID>タグに記述されていたIDとをそれぞれのフィールドに記述する。次にステップS1506で、その要求してきたクライアントに対して、イベント通知の登録が成功した旨を含む応答メッセージを送信する。
尚、ステップS1501,ステップS1506,ステップS1507の処理は、図6のソフトウェアでは、SOAP制御605で実行される。またステップS1502,ステップS1503,ステップS1504,ステップS1505の処理は、イベント通知制御607で実行される。
図16は、本実施の形態に係る画像形成装置106において実行されるイベント情報の生成処理を示すフローチャートで、この処理を実行するプログラムは、実行時にHDD406からRAM408にロードされ、CPU407の制御の下に実行される。
ステップS1601で、イベント通知制御部607がプリンタドライバ609またはスキャナドライバ608から、新規に発生したイベントを示すイベント情報を受信する。次にステップS1602で、図12(A)(B)に示す通知待ち管理テーブルによって管理されている送信キューに、ステップS1601で受信したイベント情報を追加できるか否かを判定する。追加可能な場合はステップS1603へ進み、追加できない場合はステップS1604へ進む。ここで追加可能かどうかは、送信キューに並んでいるイベント情報の数が送信キューが格納可能なイベント情報の数の最大値以上であるか、或はイベント通知の通知先として登録されているクライアントの数が上限値を超えているかなどに基づいて判定される。ステップS1603では、そのイベント情報を送信キューに追加するべく、そのイベント情報に対応する送信キューIDを通知待ち管理テーブルに追加する。そして図14に示す新規クライアント用のNotifyLimit管理テーブルのProcessingEvent及びSndWaitingEventを更新して終了する。
またステップS1603で追加できないと判断した場合はステップS1604に進み、ステップS1601で取得したイベント情報を破棄して処理を終了する。尚この図16のフローチャートで示す処理は、図6のソフトウェアでは、イベント通知制御607で実行される。
図17は、本実施の形態に係る画像形成装置106において実行されるのイベント情報の通知(送信)、通知完了後の管理テーブルの更新処理を示すフローチャートで、この処理を実行するプログラムは、実行時にHDD406からRAM408にロードされ、CPU407の制御の下に実行される。
まずステップS1701で、送信キューの先頭のイベント情報を取得する。次にステップS1702で、ステップS1701で取得したイベント情報を、対応するクライアントに通知する。次にステップS1703で、このイベント通知が成功したか判定する。イベント通知が成功しないときはステップS1702に戻るが、イベント通知が成功するとステップS1704に進み、図13に示す通知済みNotifyLimit管理テーブルにおいて、通知先となったクライアントに対応するNotifyLimit値を−1する。その結果、NotifyLimit値が「0」となった場合は、そのクライアントに対するレコードを通知済みNotifyLimit管理テーブルから削除する。そして、これに伴って図14に示す、新規クライアント用のNotify管理テーブルのClientNum,ProcessingEvent,SendWaitingEvent,Reserved,SndQueue,NotifyLimitを更新して、この処理を終了する。
以上説明したように本実施の形態によれば、画像形成装置が、送信キューに並んでいるイベント情報の数に応じて、イベント通知の登録を要求するクライアントへのイベントの通知回数の上限値を動的に決定できる。なお、イベント通知の登録が有効な期間を通知回数で示したが、時間で示しても良い。この場合には、送信キューで新規に扱えるイベント情報の数や、イベント通知の通知先として登録できることを保証しておきたいクライアントの数や、通知待ちとなっている送信キュー内のイベント情報の数に基づいて決定される。
これにより、イベント通知の通知先として登録されたクライアントの数が急増した場合や、発生するイベントの数が急増した場合でも、通知先を絞り込み、通知先として事前に登録されているクライアントには確実にイベントを通知できるようにできる。これとともに、新規のイベント通知先の受付を限定することで、イベント情報の通知が欠落することなく高負荷状態を回避することができる。
尚、本実施の形態では、画像形成装置とクライアントとの間でのイベント通知の場合で説明したが本発明はこれに限定されるものでなく、一般的なクライアントとサーバ間、PC同士、或はPCと各種入出力機器との間でのイベント処理にも適用できる。
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
Claims (13)
- 状態情報を通知する電子機器であって、
特定の外部機器に状態情報を通知することを前記電子機器に登録するよう求める登録要求を外部機器から受信する受信手段と、
前記特定の外部機器に対して状態情報を通知する通知手段と、
前記特定の外部機器への状態情報の通知が有効な期間を動的に決定する決定手段と、
前記決定手段により決定された期間が終了すると、前記特定の外部機器に状態情報を通知することの登録を無効にする無効化手段と、
を有することを特徴とする電子機器。 - 前記決定手段は、状態情報の通知先として新たに登録可能な外部機器の数、状態情報の通知待ちの件数の少なくともいずれかを基に前記期間を決定することを特徴とする請求項1に記載の電子機器。
- 前記決定手段により決定された期間を、前記登録要求を送信した外部機器に送信する期間通知手段を更に有することを特徴とする請求項1又は2に記載の電子機器。
- 前記通知手段は、前記決定手段により決定された期間のうちの残りの期間と共に前記状態情報を通知することを特徴とする請求項1乃至3のいずれか1項に記載の電子機器。
- 前記特定の外部機器の識別情報、通知されるべき状態情報の種別及び前記決定手段により決定された期間を登録する登録手段を更に有することを特徴とする請求項1乃至4のいずれか1項に記載の電子機器。
- 前記決定手段により決定された期間を基に、前記特定の外部機器に状態情報を通知することの登録の可否を判定する判定手段を更に有することを特徴とする請求項1乃至5のいずれか1項に記載の電子機器。
- 前記決定手段により決定される期間は、状態情報の通知回数で示されることを特徴とする請求項1乃至6のいずれか1項に記載の電子機器。
- 状態情報を通知する電子機器における制御方法であって、
特定の外部機器に状態情報を通知することを前記電子機器に登録するよう求める登録要求を外部機器から受信する受信工程と、
前記受信工程で受信したイベント通知の登録要求に応じて、登録の可否を判定する判定工程と、
前記特定の機器に対して状態情報を通知する通知工程と、
前記特定の外部機器への状態情報の通知が有効な期間を動的に決定する決定工程と、
前記決定工程で決定された期間が終了すると、前記特定の外部機器に状態情報を通知することの登録を無効にする無効化工程と、
を有することを特徴とする電子機器における制御方法。 - 前記決定工程では、状態情報の通知先として新たに登録可能な外部機器の数、状態情報の通知待ちの件数の少なくともいずれかを基に前記期間を決定することを特徴とする請求項8に記載の電子機器における制御方法。
- 前記決定工程で決定された期間を、前記登録要求を送信した外部機器に送信する期間通知工程を更に有することを特徴とする請求項8又は9に記載の電子機器における制御方法。
- 前記通知工程では、前記決定工程で決定された期間のうちの残りの期間と共に前記状態情報を通知することを特徴とする請求項8乃至10のいずれか1項に記載の電子機器における制御方法。
- 前記特定の機器の識別情報、通知されるべき状態情報の種別及び前記決定肯定で決定された期間を登録する登録工程を更に有することを特徴とする請求項8乃至11のいずれか1項に記載の電子機器における制御方法。
- 前記決定工程で決定された期間を基に、前記特定の外部機器に状態情報を通知することの登録の可否を判定する判定工程を更に有することを特徴とする請求項8乃至12のいずれか1項に記載の電子機器における制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006100394A JP2007274588A (ja) | 2006-03-31 | 2006-03-31 | 電子機器及び当該機器における制御方法 |
US11/691,532 US7856638B2 (en) | 2006-03-31 | 2007-03-27 | Electric device having a status notification feature of notifying status information to a registered external device and control method of the device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006100394A JP2007274588A (ja) | 2006-03-31 | 2006-03-31 | 電子機器及び当該機器における制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007274588A true JP2007274588A (ja) | 2007-10-18 |
Family
ID=38606364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006100394A Withdrawn JP2007274588A (ja) | 2006-03-31 | 2006-03-31 | 電子機器及び当該機器における制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7856638B2 (ja) |
JP (1) | JP2007274588A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010063090A (ja) * | 2008-08-05 | 2010-03-18 | Ricoh Co Ltd | 制御装置、画像処理装置、制御方法およびプログラム |
JP2014027686A (ja) * | 2008-10-06 | 2014-02-06 | Ricoh Co Ltd | 状態通知装置、画像処理システム及び制御プログラム |
JP2014106581A (ja) * | 2012-11-26 | 2014-06-09 | Brother Ind Ltd | 画像処理装置および通信プログラム |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5031352B2 (ja) * | 2006-12-13 | 2012-09-19 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
US7987278B2 (en) * | 2006-12-18 | 2011-07-26 | Ricoh Company, Ltd. | Web services device profile on a multi-service device: dynamic addition of services |
US8127306B2 (en) * | 2006-12-18 | 2012-02-28 | Ricoh Company, Ltd. | Integrating eventing in a web service application of a multi-functional peripheral |
US8112766B2 (en) * | 2006-12-21 | 2012-02-07 | Ricoh Company, Ltd. | Multi-threaded device and facility manager |
US8321546B2 (en) * | 2007-01-10 | 2012-11-27 | Ricoh Company, Ltd. | Integrating discovery functionality within a device and facility manager |
US8239876B2 (en) * | 2007-06-12 | 2012-08-07 | Ricoh Company, Ltd. | Efficient web services application status self-control system on image-forming device |
US8453164B2 (en) * | 2007-09-27 | 2013-05-28 | Ricoh Company, Ltd. | Method and apparatus for reduction of event notification within a web service application of a multi-functional peripheral |
US20090210622A1 (en) * | 2008-02-19 | 2009-08-20 | Stefan Birrer | Compressed cache in a controller partition |
JP5597088B2 (ja) * | 2010-10-05 | 2014-10-01 | キヤノン株式会社 | 印刷システム、印刷システムの制御方法、プログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3706728B2 (ja) | 1998-01-20 | 2005-10-19 | キヤノン株式会社 | 印刷装置、印刷システム、状態情報送信方法、及び該状態情報送信方法が適用される機器 |
US7080078B1 (en) * | 2000-05-09 | 2006-07-18 | Sun Microsystems, Inc. | Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment |
US20030046395A1 (en) * | 2000-12-12 | 2003-03-06 | Robert Fleming | System and method for bounding the life of an event subscription to the availability of an object |
US7698276B2 (en) * | 2002-06-26 | 2010-04-13 | Microsoft Corporation | Framework for providing a subscription based notification system |
-
2006
- 2006-03-31 JP JP2006100394A patent/JP2007274588A/ja not_active Withdrawn
-
2007
- 2007-03-27 US US11/691,532 patent/US7856638B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010063090A (ja) * | 2008-08-05 | 2010-03-18 | Ricoh Co Ltd | 制御装置、画像処理装置、制御方法およびプログラム |
JP2014027686A (ja) * | 2008-10-06 | 2014-02-06 | Ricoh Co Ltd | 状態通知装置、画像処理システム及び制御プログラム |
JP2014106581A (ja) * | 2012-11-26 | 2014-06-09 | Brother Ind Ltd | 画像処理装置および通信プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20070245355A1 (en) | 2007-10-18 |
US7856638B2 (en) | 2010-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007274588A (ja) | 電子機器及び当該機器における制御方法 | |
JP3682777B2 (ja) | 画像形成装置および遠隔管理システム | |
US8717601B2 (en) | Server apparatus, and terminal apparatus | |
JP5810761B2 (ja) | 処理制御サーバーおよび処理制御方法 | |
US8782202B2 (en) | Monitor control of devices connected to network | |
JP5236958B2 (ja) | 通知方法、管理装置及びクライアント装置 | |
JP4095449B2 (ja) | 監視装置及び監視方法、並びにプログラム | |
US20100103453A1 (en) | Printing system and control method of the printing system | |
JP6056795B2 (ja) | 画像処理システム、ゲートウェイ装置、ゲートウェイ装置の制御方法、ゲートウェイ装置の制御プログラム | |
JP2011128995A (ja) | ログ情報管理システムおよびその制御方法、プログラム、記憶媒体 | |
JP5019867B2 (ja) | サーバ装置、ネットワーク装置、データ提供場所提供方法、データ提供場所提供プログラム及び記録媒体 | |
JP2016175330A (ja) | 画像形成装置、画像処理システム及び方法 | |
JP2019045904A (ja) | 管理装置、制御方法、およびプログラム | |
JP2003058436A (ja) | 画像処理装置、プログラム及び管理ユニット | |
US8204963B2 (en) | Download control of information from server connected to network | |
JP5215637B2 (ja) | ファクシミリ装置、その制御方法及びプログラム | |
US8270001B2 (en) | Printing apparatus and canceling method | |
JP2011095894A (ja) | 画像処理装置及び認証プルプリントシステムにおける代行印刷処理に係る制御方法 | |
JP2021189693A (ja) | 情報処理システム、情報処理装置、情報処理方法およびプログラム | |
JP2008182704A (ja) | ドキュメント処理装置の設定をクローン化するシステムおよび方法 | |
JP4640702B2 (ja) | ネットワーク・プリント・システムおよびネットワーク・プリント制御方法 | |
JP2006277380A (ja) | ネットワークに接続されたデバイスの監視制御 | |
JP2006309307A (ja) | ネットワークに接続されたサーバからの情報のダウンロード制御 | |
JP2009141774A (ja) | データ処理装置及びその制御方法、コンピュータプログラム | |
JP4378338B2 (ja) | 情報処理装置、デバイス設定方法、記憶媒体、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090602 |