JP2008217777A - 情報処理装置、および情報処理方法 - Google Patents

情報処理装置、および情報処理方法 Download PDF

Info

Publication number
JP2008217777A
JP2008217777A JP2008026824A JP2008026824A JP2008217777A JP 2008217777 A JP2008217777 A JP 2008217777A JP 2008026824 A JP2008026824 A JP 2008026824A JP 2008026824 A JP2008026824 A JP 2008026824A JP 2008217777 A JP2008217777 A JP 2008217777A
Authority
JP
Japan
Prior art keywords
information
device information
command
information processing
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.)
Granted
Application number
JP2008026824A
Other languages
English (en)
Other versions
JP5034993B2 (ja
Inventor
Masatoshi Kadota
政敏 門田
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2008026824A priority Critical patent/JP5034993B2/ja
Publication of JP2008217777A publication Critical patent/JP2008217777A/ja
Application granted granted Critical
Publication of JP5034993B2 publication Critical patent/JP5034993B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • 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

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)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】デバイスが直ちに応答を返さない状況下でも、提供先へデバイス情報を迅速に提供可能な情報処理装置、および情報処理方法を提供すること。
【解決手段】PC上で機能する情報分配部は、デバイスからデバイス情報を取得して、取得したデバイス情報を情報処理部へ提供する処理を実行する。デバイス情報を取得した際、情報分配部はデバイス情報をキャッシュに保存する。その後、情報処理部からデバイス情報の提供を要求された場合、デバイスから最新のデバイス情報を取得できれば(S220:YES)、そのデバイス情報を情報処理部へ提供する(S225)。一方、最新のデバイス情報を取得できない時(S220:NO)、過去のデバイス情報がキャッシュにあれば(S230:YES)、キャッシュ内にある過去のデバイス情報を情報処理部へ提供する(S235)。
【選択図】図3

Description

本発明は、情報処理装置、および情報処理方法に関する。
従来、デバイスに関するデバイス情報をインターフェースを通じてデバイスから取得するとともに、そのデバイス情報を利用した情報処理を実施する技術が知られている(例えば、下記特許文献1参照)。
特開2000−293324号公報
しかしながら、上記特許文献1に開示されているような技術においては、デバイスに情報の提供要求を出力しても、デバイスが直ちに応答を返すとは限らず、デバイス情報の取得が完了するまでに長時間を要することがあった。
この場合、デバイス情報の提供先(例えば、アプリケーションのプロセス)によっては、デバイス情報を取得できないままタイムアウトエラーなどのエラー処理に移行してしまうことがある。そのため、デバイス情報を正常に取得できた場合と同等な処理が実行できなくなるなど、その後の処理に支障を来す可能性があった。
本発明は、上記問題を解決するためになされたものであり、その目的は、デバイスが直ちに応答を返さない状況下でも、提供先へデバイス情報を迅速に提供可能な情報処理装置、および情報処理方法を提供することにある。
以下、本発明の構成について説明する。
請求項1に記載の情報処理装置は、コマンド要求を受け付け、該コマンド要求に対応するコマンドをデバイスに送信するコマンド送信手段と、前記コマンドに対する応答として前記デバイスに関するデバイス情報を前記デバイスから取得する取得手段と、前記取得手段によって取得された前記デバイス情報を記憶する記憶手段と、前記取得手段によって取得された最新のデバイス情報と、前記記憶手段に記憶された過去のデバイス情報とのどちらを提供先に提供すべきかを判定する判定手段と、前記判定手段の判定結果に従って前記最新のデバイス情報と前記過去のデバイス情報のいずれかを前記提供先に提供する提供手段とを備えたことを特徴とする。
上記のように構成された情報処理装置によれば、最新のデバイス情報の提供以外に、過去のデバイス情報の提供を実行することができる。したがって、何らかの事情でデバイスからデバイス情報を取得することが困難な状況にある場合には、過去のデバイス情報を提供先へ提供することができ、これにより、提供先に対して迅速にデバイス情報を提供することができる。
請求項2に記載の情報処理装置は、請求項1に記載の情報処理装置において、前記判定手段は、前記取得手段によるデバイス情報の取得が前記コマンドの送信から所定時間内に完了した場合には、前記最新のデバイス情報を提供先に対して提供すべきと判定する一方、前記取得手段によるデバイス情報の取得が前記コマンドの送信から所定時間内に完了しなかった場合、前記記憶手段に前記過去のデバイス情報が記憶されていれば、当該過去のデバイス情報を提供先に対して提供すべきと判定することを特徴とする。
上記のように構成された情報処理装置によれば、デバイス情報が迅速に取得できれば、最新の情報を迅速に提供先へと提供できる。また、デバイス情報の取得に時間がかかっているときは、過去のデバイス情報を代用することで、情報を迅速に提供先へと提供できる。
請求項3に記載の情報処理装置は、請求項1または2に記載の情報処理装置において、前記提供手段は、前記過去のデバイス情報を提供先に対して提供する場合に、前記過去のデバイス情報であることを提供先側で識別可能とするための識別情報を提供先に対して提供することを特徴とする。
上記のように構成された情報処理装置によれば、識別情報を提供先に対して提供するので、提供先側では、提供されたデバイス情報が過去のものであるのか否かを判別できる。
請求項4に記載の情報処理装置は、請求項1〜請求項3のいずれかに記載の情報処理装置において、前記取得手段によって取得された前記デバイス情報が、前記過去のデバイス情報として提供しないデバイス情報である場合に、前記提供手段によって前記過去のデバイス情報の提供が実行されるのを阻止する阻止手段を備えたことを特徴とする。
上記のように構成された情報処理装置によれば、過去のデバイス情報として提供しないデバイス情報に関しては、提供手段によってデバイス情報の提供が実行されるのを阻止手段が阻止するので、提供手段によって過去のデバイス情報が提供されてしまうのを防止できる。
請求項5に記載の情報処理装置は、請求項4に記載の情報処理装置において、前記阻止手段は、前記記憶手段に記憶された前記デバイス情報が、前記過去のデバイス情報として提供しないデバイス情報である場合に、前記記憶手段から前記デバイス情報を消去する消去手段を備えることを特徴とする。
上記のように構成された情報処理装置によれば、過去のデバイス情報として提供しないデバイス情報については、記憶手段から消去されるので、提供手段によって過去のデバイス情報が提供されてしまうのを防止できる。
請求項6に記載の情報処理装置は、請求項5に記載の情報処理装置において、前記消去手段は、複数種あるデバイス情報の内、最新のデバイス情報を提供先に提供することが規定されたデバイス情報を、前記過去のデバイス情報として提供しないデバイス情報であると判断し、前記記憶手段から前記デバイス情報を消去することを特徴とする。
上記のように構成された情報処理装置によれば、最新のデバイス情報を提供先に対して提供することが規定されたデバイス情報が、過去のデバイス情報として提供しないデバイス情報であると判断され、記憶手段から消去される。したがって、提供手段によって過去のデバイス情報が提供されてしまうのを防止できる。
請求項7に記載の情報処理装置は、請求項5または請求項6に記載の情報処理装置において、前記消去手段は、通信が確立できないデバイスに関するデバイス情報について、前記過去のデバイス情報として提供しないデバイス情報であると判断し、前記記憶手段から前記デバイス情報を消去することを特徴とする。
上記のように構成された情報処理装置によれば、通信が確立できないデバイスに関するデバイス情報については、記憶手段からデバイス情報が消去される。したがって、通信が確立できないにもかかわらず、提供手段によって過去のデバイス情報が提供されてしまうのを防止できる。
請求項8に記載の情報処理装置は、請求項5〜請求項7のいずれかに記載の情報処理装置において、前記消去手段は、前記デバイスから最後にデバイス情報を取得してから経過した時間が第1の所定時間以上に達し、且つ、提供先から最後に前記コマンド要求を受けてから経過した時間が第2の所定時間以上に達した時点で、前記記憶手段に記憶されているデバイス情報について、前記過去のデバイス情報として提供しないデバイス情報であると判断し、前記記憶手段から前記デバイス情報を消去することを特徴とする。
上記のように構成された情報処理装置によれば、しばらくデバイスから最新情報を取得しておらず、且つ、しばらく提供先からの要求も到来していない場合に、記憶手段からデバイス情報が消去される。したがって、長期にわたって更新されなかった過去のデバイス情報が、提供手段によって提供されてしまうのを防止できる。
請求項9に記載の情報処理装置は、請求項1〜請求項8のいずれかに記載の情報処理装置において、前記取得手段は、当該取得手段の起動を契機に、前記デバイス情報を前記デバイスから取得し、前記記憶手段は、前記取得手段の起動を契機に取得された前記デバイス情報を記憶することを特徴とする。
上記のように構成された情報処理装置によれば、取得手段の起動を契機にデバイス情報が取得されて記憶手段に記憶される。したがって、その後、提供先へのデバイス情報の提供が必要となった時点において、デバイスから最新のデバイス情報を取得できない状況となっても、過去のデバイス情報を提供できる。
請求項10に記載の情報処理装置は、請求項9に記載の情報処理装置において、前記取得手段は、複数種あるデバイス情報の内、過去に取得した履歴のある少なくとも一部のデバイス情報を取得対象として、当該取得手段の起動を契機に、取得対象となる前記少なくとも一部のデバイス情報を前記デバイスから取得することを特徴とする。
上記のように構成された情報処理装置によれば、過去に取得した履歴のある少なくとも一部のデバイス情報が、取得手段の起動を契機に取得されて記憶手段に記憶される。したがって、提供先へ提供される可能性が高いデバイス情報に絞って、デバイス情報の取得および記憶を行うことができる。
請求項11に記載の情報処理装置は、請求項1〜請求項10のいずれかに記載の情報処理装置において、前記取得手段は、前記デバイスの状態が変化するたびに前記デバイスから提供される前記デバイス情報を、前記デバイスから取得し、前記記憶手段は、前記取得手段が新たな前記デバイス情報を取得するたびに、取得された前記デバイス情報を記憶することを特徴とする。
上記のように構成された情報処理装置によれば、デバイス側の状態が変化するたびにデバイスから提供されるデバイス情報により、記憶手段に記憶されたデバイス情報を更新することができる。
記憶手段は、デバイス情報をコマンドと対応付けて記憶するように構成されていても良い(請求項12)。
コマンド送信部により送信されるコマンドが、一度の送信によって複数回にわたってデバイス情報が取得可能となる所定のコマンドである場合に、記憶手段には、デバイス情報は、所定のコマンドと対応付けて記憶されると共に、所定のコマンドと同種情報を取得する為のコマンドにも対応付けて記憶されても良い(請求項13)。
このような構成によれば、上記所定のコマンドを送信することによって、この所定のコマンドについてのみでなく、この所定のコマンドと同種情報を取得する為のコマンドについても最新の情報を取得することができる。
請求項14に記載の情報処理方法は、コマンド要求を受け付け該コマンド要求をデバイスに送信するコマンド送信手順と、前記コマンドに対する応答として前記デバイスに関するデバイス情報を前記デバイスから取得する取得手順と、前記取得手順において取得された前記デバイス情報を記憶手段に記憶させる記憶制御手順と、前記取得手順によって取得された最新のデバイス情報と、前記記憶手段に記憶された過去のデバイス情報とのどちらを提供先に提供すべきかを判定する判定手順と、前記判定手順の判定結果に従って前記最新のデバイス情報と前記過去のデバイス情報のいずれかを前記提供先に提供する提供手順と、を備えたことを特徴とする。
上記のような情報処理方法によれば、最新のデバイス情報の提供以外に、過去のデバイス情報の提供を実行することができる。したがって、何らかの事情でデバイスからデバイス情報を取得することが困難な状況にある場合には、過去のデバイス情報を提供先へ提供することができ、これにより、提供先に対して迅速にデバイス情報を提供することができるようになる。
次に、本発明の実施形態について一例を挙げて説明する。
[システム全体の構成]
図1は、パーソナルコンピュータ1(本発明でいう情報処理装置の一例に相当;以下、PC1という)とデバイス2とを備えてなるシステム全体の構成を示した概略構成図である。なお、本実施形態において例示するデバイス2は、プリンタである。
本実施形態において、PC1にはマルチタスク機能を備えたOSが搭載され、PC1が備えるCPUは、OSのマルチタスク機能により、複数のソフトウェアに基づく処理を時分割で並列に実行することができる。
そして、このマルチタスク機能を利用して、PC1上では、本発明に関連するソフトウェアとして、後から詳述する情報分配部11や情報処理部13A〜13C(本発明でいう提供先の一例に相当)などが機能するようになっている。
また、PC1上では、OSが備える標準機能として、デバイス2との通信を行う機能を実現するデバイスコントローラや、デバイス2へ出力する印刷データを印刷ジョブとして管理する印刷スプーラなどが機能するようになっている。
なお、OSによって提供されるこれらの各種機能そのものは公知なので、ここでの詳細な説明は省略するが、以下の説明においては、PC1が、Windows(登録商標)によって提供される各種機能を有するとの前提で説明を続ける。
PC1上で機能するソフトウェアのうち、情報分配部11はサーバーとして機能し、複数の情報処理部13A〜13Cはクライアントとして機能する。
より詳しくは、情報分配部11は、各情報処理部13A〜13Cからの要求に応じて、デバイス2からデバイス情報を取得する。そして、取得したデバイス情報を、各情報処理部13A〜13Cからの要求に応じて、情報分配部11が各情報処理部13A〜13Cへ提供する。
情報処理部13A〜13Cは、それぞれがデバイス情報を利用して各種情報処理を行っている。情報処理部13A〜13Cが行う情報処理の具体例としては、例えば、取得したデバイス情報に基づいてデバイス2の状態をほぼリアルタイムでPC1の表示部に表示するステータスモニターとしての処理を挙げることができる。あるいは、取得したデバイス情報に基づいてデバイス2のシリアル番号やファームウェアヴァージョン等の情報を表示する処理などを挙げることができる。
これらの情報処理部13A〜13Cは、それぞれ独立したアプリケーションであり、情報処理部同士が互いに通信することはない。そのため、情報分配部11が存在せず、複数の情報処理部13A〜13Cが存在するようなシステムにおいては、特定の情報処理部(例えば、情報処理部13A)が他の情報処理部(例えば、情報処理部13B、13C)用に用意されたデータを吸い上げてしまい、本来データが渡るべき情報処理部に正しいデータが送られない場合がある。情報分配部11は、このような問題を解決するために設けられたものであり、デバイス2からのデータを必要とする情報処理部13A〜13Cにデータを分配する装置として働くものである。
なお、本実施形態では、3つの情報処理部13A〜13Cが例示してあるが、情報処理部は並列にいくつ機能してもよい。また、各情報処理部が処理を開始するタイミングや処理を終了するタイミング等は任意であり、情報処理部毎に独立したタイミングで構わない。
一方、デバイス2は、PC1側からの要求に応じて、デバイス2に関する情報であるデバイス情報をPC1に対して提供する機能を備えている。
本実施形態の場合、デバイス情報としては、例えば、オンライン、オフラインといった「デバイスの状態に関する情報」、用紙サイズ毎の印刷枚数あるいは総印刷枚数といった「使用頻度に関する情報」が提供される。
また、ドラム交換時期などの「交換部品の使用度合に関する情報」、トナーないしインク残量や記録用紙残量といった「消耗品の消耗度合に関する情報」、紙詰まり回数といった「異常の発生回数に関する情報」なども提供される。これらのデバイス情報のうち、どれを提供するかは、PC1側から送信されてくるコマンドにより指定される。
本実施形態において、PC1がデバイス2に対してデバイス情報を要求する際には、PC1からデバイス2に対してPJLコマンドを送信する。PJL(Printer Job Language;プリンタジョブ言語)は、プリンタが備える各種機能を制御するために用意されたコマンド言語で、Hewlett-Packard社において開発され、その後他社でも採用された周知のものである。
PC1からデバイス2へPJLコマンドを送信する際には、PC1からデバイス2へ印刷データを出力する場合と同等の処理がPC1において実行される。具体的には、PC1上で機能する情報処理部13A〜13Cが、情報分配部11に対してコマンド送信要求を送信すると、このコマンド送信要求に応じて情報分配部11がPJLコマンドを出力する。
情報分配部11が出力したPJLコマンドは、プリンタドライバ経由で印刷スプーラに引き渡され、印刷スプーラは、受け取ったPJLコマンドを印刷ジョブとして処理する。その結果、PJLコマンドはデバイス2へと出力されることになる。
デバイス2では、通常の印刷データと同様にPJLコマンドを受信するが、受信したデータのヘッダ情報からPJLコマンドであることを認識し、その内容を解析する。その解析の結果、デバイス2が応答可能なPJLコマンドであった場合は、デバイス2が内蔵するメモリに蓄積されているデバイス情報を読み出して、そのデバイス情報をPC1へと送信する。
PC1では、情報分配部11がデバイス2から返されるデバイス情報を取得する。このとき、どのような方法でデバイス情報を取得するかは、PC1−デバイス2間の通信インターフェースによっても変わり得るが、本実施形態において、PC1−デバイス2間はUSBインターフェースを介して接続されている。
そのため、デバイス情報を取得する際には、情報分配部11が情報の受信を行い、受信した情報量が0(ゼロ)であった場合には再び情報の受信を繰り返し、その繰り返し処理によって情報を取得する、という方法がとられる。
そして、何らかのデータを受信した場合は、そのデータが所期のデバイス情報であるかどうかをチェックし、所期のデバイス情報でない場合は、さらに受信処理をやり直し、最終的に所期のデバイス情報を取得することになる。
デバイス情報を取得した情報分配部11は、キャッシュ15にデバイス情報を格納する。このキャッシュ15は、情報分配部11が稼働を開始した際にメモリ上に確保される記憶領域で、キャッシュ15内には、複数のPJLコマンドそれぞれに対応する複数組分の記憶領域が確保されている。1組分の記憶領域には、対応付けられたPJLコマンドに対する応答として返されるデバイス情報と、PJLコマンドの送信を要求したクライアント(情報処理部)のIDが記憶される。
次に、上記キャッシュ15の利用方法を、図1を参照しながら具体例を交えて説明する。
情報処理部13Aが、“@PJL1 INFO DEVICE”というPJLコマンドの送信を、情報分配部11に対して要求した場合、情報分配部11は、そのコマンドをデバイス2に対して送信する。
そして、“@PJL1 INFO DEVICE”に対する応答として返されるデバイス情報をデバイス2から取得した際には、そのデバイス情報とクライアントIDが、キャッシュ15内にある“@PJL1 INFO DEVICE”に対応する1組分の記憶領域に格納される。
例えば、デバイス2からデバイス情報“BUSY”が取得された場合、このデバイス情報は、キャッシュ15内にある“@PJL1 INFO DEVICE”に対応する1組分の記憶領域に格納される。
また、“@PJL1 INFO DEVICE”の送信を要求したクライアント(情報処理部13A)のIDが“AP1”であれば、このIDが、キャッシュ15内にある“@PJL1 INFO DEVICE”に対応する1組分の記憶領域に格納される。
その後、情報処理部13Bが、同じく“@PJL1 INFO DEVICE”というPJLコマンドの送信を、情報分配部11に対して要求することがある。
この場合、情報分配部11が、“@PJL1 INFO DEVICE”に対する応答として返されるデバイス情報をデバイス2から取得した際には、そのデバイス情報とクライアントIDが、上記同様にキャッシュ15内に格納される。例えば、“@PJL1 INFO DEVICE”の送信を要求したクライアント(情報処理部13B)のIDが“AP2”であれば、これがキャッシュ15内に追加登録される。
一方、情報処理部13Aが、“@PJL2 INFO PAGE”というPJLコマンドの送信を、情報分配部11に対して要求した場合、情報分配部11は、そのコマンドをデバイス2に対して送信する。
そして、“@PJL2 INFO PAGE”に対する応答として返されるデバイス情報をデバイス2から取得した際には、そのデバイス情報とクライアントのID(情報処理部13Aであれば“AP1”)が、キャッシュ15内にある“@PJL2 INFO PAGE”に対応する1組分の記憶領域に格納される。
つまり、同じクライアントからコマンドの送信が要求された場合でも、そのコマンドが異なるコマンドである場合には、キャッシュ15内の別の記憶領域に情報が保存される。
このようにして、デバイス情報がコマンド毎にキャッシュ15に格納されるとともに、IDがキャッシュ15に格納される結果、キャッシュ15には、図1に示すように、デバイス情報とIDとを1組とする複数組の情報が格納されることになる。
その後、クライアントからのリード要求を受けると、情報分配部11は、リード要求の要求元に対応するIDを検索キーにして、キャッシュ15内をサーチする。例えば、情報処理部13Aからのリード要求を受けた場合、ID:AP1を検索キーにしてキャッシュ15内がサーチされる。
この場合、“@PJL1 INFO DEVICE”と“@PJL2 INFO PAGE”に対応する記憶領域が検出されることになる。そして、検出された2組の記憶領域からデバイス情報が読み出され、それら2組分のデバイス情報が情報処理部13Aに対して提供されることになる。
なお、図1においては、理解しやすくするため、便宜的にキャッシュ15内にコマンド種別を図示してあるが、コマンド種別そのものをキャッシュ15内に記憶するか否かは任意である。
例えば、上述の例では、キャッシュ15内におけるデバイス情報やIDの格納位置が、コマンド種別毎にあらかじめ決まっているので、コマンド種別に基づいて、デバイス情報やIDのキャッシュ15への保存、キャッシュ15からの読み出しが可能となる。したがって、この場合、コマンド種別をあえてキャッシュ15内に記憶する必要はない。
[情報分配部における主処理]
次に、上記のような情報分配部11の機能を実現するため、情報分配部11において実行される主処理について、図2および図3のフローチャートに基づいて説明する。この処理は、情報分配部11を機能させたい時点で開始されていればよい処理であり、例えば、PC1の起動に伴って開始される処理となっていればよい。
この処理を開始すると、情報分配部11は、図2に示すように、過去に送信要求のあった情報要求コマンドを全機種に出力する(S105)。ここで「過去に送信要求のあった情報要求コマンド」は、情報分配部11がクライアントから過去に受け取ったことがあるすべてのコマンド(ただし、情報要求を伴わない設定コマンド等は除く)であるが、これらのコマンドは、後述するS155の処理により、PC1が備えるデータベース(ファイル)に登録されている。
したがって、S105の処理では、データベースに登録された全てのコマンドを読み出して、読み出したコマンドをデバイス2へと出力する。また、PC1から複数のデバイス2を利用できる場合、それら複数のデバイス2全機種がコマンドの出力対象となる。
続いて、情報分配部11は、クライアントとなる情報処理部13A〜13Cからの要求待ちになる(S110)。ここで、情報処理部13A〜13Cのいずれかから何らかの要求があるとS110の処理を抜け、続いて、情報分配部11は、新規クライアント追加要求か否かを判断する(S115)。
S115の処理において、新規クライアント追加要求であった場合(S115:YES)、情報分配部11は、要求元となったクライアントのIDを記憶する(S120)。
図1に示すように、クライアントである情報処理部13A〜13Cには、それぞれユニークなID(図1に示した例では、AP1〜AP3)が付与されており、このIDがキャッシュ15に記憶される。
続いて、情報分配部11は、過去に送信要求のあった情報要求コマンドを全機種に出力する(S125)。この処理は、上述したS105の処理と同等な処理であり、この処理により、キャッシュ15に記憶されたデバイス情報が、最新の情報(つまり、デバイス2に設定されている現在の情報)に更新されることになる。そして、S125の処理を終えたら、S110の処理へと戻り、再びS110以降の処理を繰り返す。
一方、上記S115の処理において、新規クライアント追加要求ではなかった場合(S115:NO)、続いて、情報分配部11は、クライアント削除要求か否かを判断する(S130)。
S130の処理において、クライアント削除要求であった場合(S130:YES)、情報分配部11は、要求元となったクライアントに対応するIDを削除する(S135)。また、削除対象となったクライアントからのみ要求されていたデバイス情報をキャッシュ15から削除する(S140)。そして、S140の処理を終えたら、S110の処理へと戻り、再びS110以降の処理を繰り返す。
一方、上記S130の処理において、クライアント削除要求ではなかった場合(S130:NO)、情報分配部11は、新規コマンド送信要求であるか否かを判断する(S145)。本実施形態においては、各情報処理部13A〜13CからPJLコマンドを含むコマンド送信要求が送信されてくる可能性がある。
S145の処理において、新規コマンド送信要求であった場合(S145:YES)、情報分配部11は、送信要求されたPJLコマンドと送信要求時刻をキャッシュ15に記憶させる(S150)。なお、S150の処理でキャッシュ15に記憶させたPJLコマンドは、後述するS315の判断処理において参照されることになる。
続いて、情報分配部11は、送信要求されたPJLコマンドを、過去に送信要求があった情報要求コマンドとして登録する(S155)。このS155の処理により、送信要求されたPJLコマンドはPC1が備えるデータベース(ファイル)に登録されるので、既に説明したS105、S125の処理において、過去に送信要求があったコマンドを参照できることになる。
そして、情報分配部11は、送信要求されたPJLコマンドをスプーラ経由でデバイス2へ送信する(S160)。このS160の処理を終えたら、S110の処理へと戻り、再びS110以降の処理を繰り返す。
一方、S145の処理において、新規コマンド送信要求ではなかった場合(S145:NO)、本実施形態においては、クライアントからデバイス情報のリード要求を受けたものと判断する。なお、さらに「リード要求を受けた場合とは別の処理」に分岐する可能性があれば、S145の処理で否定判断がなされた後、リード要求を受けたか否かの判断を行ってもよいのはもちろんである。
リード要求を受けた場合、情報分配部11は、要求元となったクライアントに対応するIDを取得して(S165)、以下、図3に示すように、そのIDを検索キーにしてキャッシュ15の検索を行う(S205)。
S205の処理において、「検索キーにしたIDが登録された記憶領域」が1組もキャッシュ15内から検出されないた場合には(S210:NO)、要求したコマンドに対応するデバイス情報が存在しないことになる。したがって、その場合は、S110の処理へと戻り、再びS110以降の処理を繰り返す。
一方、S210の処理において、要求したコマンドに対応するデバイス情報が1組分以上存在する場合には(S210:YES)、最新のデバイス情報取得まで最大2秒待つ(S215)。このS210の処理は、2秒待つまでもなく最新のデバイス情報を取得できた時点、または、最新のデバイス情報を取得できないまま2秒が経過した時点、いずれかの時点で終えることになる。
なお、最新のデバイス情報は、本処理と並列に実行されるキャッシュ管理常駐スレッド処理によりデバイス2から読み出されてキャッシュ15に格納されるが、このキャッシュ管理常駐スレッド処理の詳細については後述する。
S215の処理を終えた場合、情報分配部11は、最新のデバイス情報を受信したか否かを判断する(S220)。上述の通り、最新のデバイス情報はキャッシュ管理常駐スレッド処理(後述)によりキャッシュ15に格納されるので、S220の処理では、最新のデバイス情報がキャッシュ15に格納されているか否かを判断する。
ここで、最新のデバイス情報を受信していれば(S220:YES)、キャッシュ15から検出した1組分以上のデバイス情報を、要求元となったクライアントに送信する(S225)。一方、最新のデバイス情報を受信していなければ(S220:NO)、情報分配部11は、過去のデバイス情報がキャッシュ15にあるか否かを判断する(S230)。
過去のデバイス情報がキャッシュ15にある場合(S230:YES)、キャッシュ15から検出した1組分以上のデバイス情報を、要求元となったクライアントに送信する(S235)。
このS235の処理により、キャッシュ15にあるデバイス情報をクライアントに送信する際、本実施形態においては、キャッシュ15に格納されていた過去のデバイス情報であることがクライアント側で認識できるように、デバイス情報を加工する。
具体例を交えて説明すると、デバイス情報の取得直後であれば、S225の処理により、クライアントへは、“デバイスへ送信したPJLコマンド”+“デバイスからの返り値”という形式を持つテキストデータが送信される。
例えば“@PJL1 INFO DEVICE”というコマンドに対応するデバイス情報の場合、クライアントへは、“@PJL1 INFO DEVICE”+“デバイスからの返り値”という形式のテキストデータが返される。
一方、S235の処理により、キャッシュ15から読み出したデータをクライアントに送信する場合は、“デバイスへ送信したPJLコマンド”+“デバイスからの返り値”という形式を持つテキストデータの内、データ中にある2番目のキーワードが加工される。
具体的には、デバイス情報が“@PJL1 INFO DEVICE”+“デバイスからの返り値”という形式になっている場合、2番目のキーワード“INFO”に、キャッシュ15からの取得を示す文字“C”を付加する加工が行われる。すなわち、加工後のデバイス情報は“@PJL1 CINFO DEVICE”+“デバイスからの返り値”という形式になる。
そして、この加工後のデバイス情報がクライアントに送信される。したがって、クライアント側では、必要があれば、2番目のキーワードが“CINFO”であることに基づいて、キャッシュ15に格納されていた過去のデバイス情報であることを認識できることになる。上記文字“C”は、本発明でいう「過去のデバイス情報であることを提供先側で識別可能とするための識別情報」の一例に相当する。なお、過去のデバイス情報がキャッシュ15にない場合(S230:NO)、S235の処理はスキップされる。
以上説明したS220〜S235の処理は、PC1を本発明でいう提供手段として機能させる処理の一例に相当する。上記S220〜S235の処理は、いくつかに分岐するものの、いずれに分岐した場合ともS240の処理へと移行する。このS240の処理では、全要求の処理後もキャッシュを残すモードか否かが判定される(S240)。
本実施形態においては、「全要求の処理後もキャッシュを残すモード」と「全要求の処理後はキャッシュを削除するモード」のいずれかを、利用者が任意に選択して、選択したモードで処理が行われるように事前に設定しておくことができる。
「全要求の処理後もキャッシュを残すモード」が選択されていない場合、これは、全てのクライアントからの全ての送信要求に対してデバイス情報の送信が完了すれば、キャッシュ15内にあるデバイス情報を利用しない、という主旨の設定がなされていることになる。そこで、この場合は(S240:NO)、全要求処理済みであればデバイス情報をキャッシュ15から削除して(S245)、S110の処理へと戻る。
すなわち、対象となるPJL応答が単一のクライアント(例えば、情報処理部13A)のみから要求されたものであるならば、単一のクライアントに対する送信の後に、S245においてキャッシュ15内のデータは消去される。また、対象となるPJL応答が複数のクライアント(例えば、情報処理部13A、13B)から要求されたものであるならば、複数のクライアントすべて(例えば、情報処理部13A、13Bの両方)に対する送信の後に、S245においてキャッシュ15内のデータは消去される。
一方、「全要求の処理後もキャッシュを残すモード」が選択されている場合、これは、デバイス情報の送信が完了しても、その後、クライアントからの送信要求があれば、キャッシュ15内にあるデバイス情報を利用する可能性がある、という主旨の設定となる。そこで、この場合は(S240:YES)、S245の処理を実行することなく、S110の処理へと戻る。
[情報分配部におけるキャッシュ管理常駐スレッド処理]
次に、情報分配部11において主処理と並列に実行されるキャッシュ管理常駐スレッド処理について、図4および図5のフローチャートに基づいて説明する。
この処理を開始すると、情報分配部11は、デバイス2からデバイス情報を取得する(S305)。なお、このS305の処理、ないしS305の処理を含むキャッシュ管理常駐スレッド処理は、PC1を本発明でいう取得手段として機能させる処理の一例に相当する。
続いて、情報分配部11は、デバイス情報を取得できたか否かを判断する(S310)。ここで、まだデバイス2に対してPJLコマンドが送信されていない場合など、デバイス2側がデバイス情報を送信できる状態にない場合は、デバイス情報を取得できないので(S310:NO)、S405の処理(図5参照)へと進む。
一方、何らかのデバイス情報を取得できた場合は(S310:YES)、S305の処理で取得した情報が、クライアントから送信要求されたコマンドに対する応答として返されたデバイス情報か否かを判断する(S315)。
クライアントから送信要求されたコマンドは、上述したS150の処理によりキャッシュ15に記憶されている。したがって、S315の処理では、S150の処理でキャッシュ15に記憶されたコマンドと、S305の処理で取得した情報とを対比することにより、所期のデバイス情報であるかどうかを判断することができる。
S315の処理において、クライアントから送信要求されたコマンドに応じたデバイス情報であった場合は(S315:YES)、デバイス情報の格納先となるキャッシュ内の領域をサーチする(S320)。
そして、取得したデバイス情報が、USTATUS系コマンドに対するデバイス情報であるか否かを判断する(S325)。ここで言う「USTATUS系コマンド」とは、PJLコマンド中に含まれる2番目のキーワードが“USTATUS”となっているコマンドのことである。図1中に示した例で言えば、“@PJL USTATUS DEVICE”が、USTATUS系コマンドに該当する。
したがって、S325の処理では、取得したデバイス情報に対応するPJLコマンド中に、どのような文字列が含まれているのかを解析し、2番目のキーワードが“USTATUS”であるか否かが判断されることになる。
この判断の結果、USTATUS系コマンドであった場合(S325:YES)、続いて、そのUSTATUS系コマンドと同種情報を取得するためのINFO系コマンドに対応するキャッシュに、デバイス情報を記憶する(S330)。
ここで言う「INFO系コマンド」とは、PJLコマンド中に含まれる2番目のキーワードが“INFO”となっているコマンドのことである。図1中に示した例で言えば、“@PJL1 INFO DEVICE”、“@PJL INFO PAGE”、“@PJL INFO DRUM”が、INFO系コマンドに該当する。
また、USTATUS系コマンドと同種情報を取得するためのINFO系コマンドであるか否かは、PJLコマンド中に含まれる3番目のキーワードが一致すれば同種、一致しなければ異種と判断する。
したがって、図1中に示した例で言えば、“@PJL1 INFO DEVICE”は、“@PJL USTATUS DEVICE”と同種情報を取得するためのINFO系コマンドに該当する。また、“@PJL INFO PAGE”、“@PJL INFO
DRUM”は、“@PJL USTATUS DEVICE”と同種情報を取得するためのINFO系コマンドには該当しない。
以上のようなコマンドの内、USTATUSU系コマンドは、デバイス2に対して1度送信すると、その後は、デバイス2側での状態変化が発生する毎に、新たなデバイス情報の提供がなされることになるコマンドである。一方、INFO系コマンドは、デバイス2に対して1度送信すると、その送信に対する応答として1度だけデバイス情報の提供がなされることになるコマンドである。
ただし、USTATUSU系コマンドとINFO系コマンドで、3番目のキーワードが同一になる場合、取得できるデバイス情報は同一になる。そこで、S305の処理でデバイス情報が取得でき、且つ、そのデバイス情報がUSTATUS系コマンドに対応したものであれば、S330の処理を実行するようにしている。
これにより、USTATUS系コマンドに対応したデバイス情報を取得した場合には、USTATUS系コマンドと同種情報を取得するためのINFO系コマンドに対応するキャッシュにもデバイス情報が記憶される。
つまり、一度の送信によって複数回にわたってデバイス情報を取得可能となるコマンド(USTATUS系コマンド)と一度の送信によって一度だけ情報を取得可能なコマンド(INFO系コマンド)について、いずれか一方のコマンドによってデバイス情報を取得した場合に、双方に対応するキャッシュを更新することで、他方のコマンドを送信していないにもかかわらず、他方のコマンドに対応するキャッシュも最新情報に更新可能に構成してあるのである。
こうしてS325またはS330の処理を終えたら、続いて、S305の処理で取得したデバイス情報とS320の処理で検出したIDとを組にして、コマンドに対応するキャッシュ15に記憶させる(S335)。ちなみに、上記S330およびS335の処理によってデバイス情報が格納されるキャッシュ15は、本発明でいう記憶手段の一例に相当する。
なお、S315の処理において、クライアントから送信要求されたコマンドに応じたデバイス情報ではなかった場合は(S315:NO)、上記S320〜S335の処理をスキップする。
こうして、S315〜S335の処理を終えたら、引き続いて、デバイス情報をキャッシュ15から削除するかどうかの判定を行う(S403〜S425)。S403では、判定対象となるデバイス情報が一つキャッシュ15から取り出される。なお、具体的な判定条件はいくつかあるが、まず第1に、判定対象となるデバイス情報が送信済みか否かを判断する(S405)。
S405の処理で、判定対象となるデバイス情報がすべての要求クライアントに対し送信済みと判定されるのは、既に説明した別スレッドでの処理の中で、S225またはS235の処理が実行されている場合である。ここで、判定対象となるデバイス情報がまだ未送信であれば(S405:NO)、後述するS435の処理へと進む。
一方、判定対象となるデバイス情報が送信済みであった場合は(S405:NO)、第2に、判定対象となるデバイス情報が即時性の高いデバイス情報か否かを判断する(S410)。ここで言う「即時性の高いデバイス情報」とは、キャッシュから取り出した情報では有用性が低く、利用者が常に最新の情報を得たいと考える情報のことである。
即時性の高いデバイス情報か否かは、あらかじめPJLコマンド毎に決められて、データベース(ファイル)に登録されている。また、このデータベースは、専用ツールやエディタを利用して利用者が任意に書き換えることができる。
したがって、通常は、データベースに初期値として登録されたPJLコマンドに対応するデバイス情報について、即時性が高いと判断されることになり、また、そのような判断の一部または全部を変更したい利用者は、任意に判断基準を変更することもできる。
S410の処理では、判定対象となるデバイス情報に対応するコマンドが、データベースに登録されたコマンドか否かを判定することになる。この判定の結果、即時性の高いデバイス情報であれば(S410:YES)、後述するS430の処理へと進む。
一方、即時性の高いデバイス情報でなかった場合は(S410:NO)、第3に、デバイス2と通信が確立できるか否かを判断する(S415)。デバイス2と通信が確立できない状態とは、例えば、デバイス2の電源スイッチがオフにされた場合、デバイス2との接続に使われているケーブルが外された場合などである。この判定の結果、デバイス2と通信が確立できなければ(S415:NO)、後述するS430の処理へと進む。
また、デバイス2と通信が確立できた場合は(S415:YES)、第4に、判定対象となるデバイス情報の受信から5分以上経過した情報か否かを判断する(S420)。この判定の結果、判定対象となるデバイス情報の受信から5分以上経過していなければ(S420:NO)、後述するS435の処理へと進む。
さらに、判定対象となるデバイス情報の受信から5分以上経過していた場合は(S420:NO)、第5に、判定対象となるデバイス情報について、最後の送信要求から5分以上経過した情報か否かを判断する(S425)。
この判定の結果、最後の送信要求から5分以上経過していれば(S425:YES)、後述するS430の処理へと進む。また、最後の送信要求から5分以上経過していなければ(S425:NO)、後述するS435の処理へと進む。
以上のようなS410〜S425の処理による判定の結果、S430の処理へと進んだ場合、判定対象となったデバイス情報を、キャッシュ15から削除する(S430)。すなわち、S405〜S430の処理によってデバイス情報の提供が実行されるのを阻止する。なお、S430の処理は、PC1を本発明でいう阻止手段ないし消去手段として機能させる処理の一例に相当する。
さて、S430の処理を終えた場合、もしくは、S410〜S425の処理による判定の結果、S435の処理へと進んだ場合、全てのデバイス情報を処理済みか否かを判断する(S435)。
キャッシュ15には、複数のコマンド種別と同数分のデバイス情報が保存されているので、S435の処理では、これらのデバイス情報すべてを処理済みか否かが判断される。そして、処理を終えていない場合は(S435:NO)、S403の処理へと戻ることにより、S403〜S430の処理を繰り返す。この繰り返し処理により、キャッシュ15内にあるすべてのデバイス情報が処理対象とされることになる。
そして、キャッシュ15内にあるすべてのデバイス情報が処理済みとなった場合には(S435:YES)、1秒待機して(S440)、S305の処理へと戻り、S305以降の処理を繰り返す。
以上のような常駐スレッド処理が情報分配部11において実行されることにより、S305の処理でデバイス2からデバイス情報を取得する毎に、S315以降の処理が実行される。この処理により、キャッシュ15には、異なるコマンド毎に各コマンドに対応するデバイス情報が格納されることになる。
また、キャッシュ15に格納されたデバイス情報は、一部(場合によっては全部)が、S405〜S425の処理による判断結果に応じてキャッシュ15から削除されることになる。
[上記実施形態の効果]
以上説明した通り、上記PC1によれば、上記S225の処理により、最新のデバイス情報を提供でき、しかも、上記S235の処理により、過去のデバイス情報を提供することもできる。
したがって、デバイス情報の取得に時間がかかっている等、何らかの事情でデバイス2からデバイス情報を取得することが困難な状況にある場合には、過去のデバイス情報を情報処理部13A〜13Cへ提供できる。よって、情報処理部13A〜13Cに対して迅速にデバイス情報を提供できるようになる。
また、上記PC1によれば、過去のデバイス情報を提供する際には、S235の処理において、識別情報(上記実施形態では文字“C”)をデバイス情報に付加し、この情報を情報処理部13A〜13Cに対して提供する。したがって、情報処理部13A〜13Cでは、提供されたデバイス情報が過去のものであるのか否かを判別できる。
また、上記PC1、過去のデバイス情報として提供しないデバイス情報に関しては、S405〜S430の処理によってデバイス情報の提供が実行されるのを阻止する。したがって、過去のデバイス情報を提供したくないケースに関し、上記S235の処理によって過去のデバイス情報が提供されてしまうのを防止できる。
また、上記PC1によれば、情報分配部11ないしキャッシュ管理常駐スレッド処理の起動を契機にS105の処理が実行され、それに対応して提供されるデバイス情報がS305の処理によって取得されてキャッシュ15に記憶される。
したがって、その後、情報処理部13A〜13Cへのデバイス情報の提供が必要となった時点において、デバイスから最新のデバイス情報を取得できない状況となっても、過去のデバイス情報を提供できる。
しかも、S105の処理においては、過去に取得した履歴のあるデバイス情報が取得対象になるので、情報処理部13A〜13Cへ提供される可能性が高いデバイス情報に絞って、デバイス情報の取得および記憶を行うことができる。
さらに、上記PC1によれば、USTATUS系コマンドをデバイス2へ送信した後、キャッシュ管理常駐スレッド処理により、デバイス2の状態が変化するたびにデバイス2から提供されるデバイス情報を取得して、キャッシュ15を更新することができる。
[変形例等]
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
例えば、上記実施形態では、デバイスの例としてプリンタを示したが、プリンタ機能を有する複合機(MFP;Multifunction Peripheral)、プリンタ機能を有するファクシミリ装置など、各種プリンタ系デバイスを対象とすることができるのはもちろんである。
また、これらプリンタ系デバイス以外のデバイスであっても本発明の構成を採用することができる。また、PJLコマンドは、一般にプリンタ系デバイスを制御するためのコマンドとして採用されているものなので、プリンタ系デバイス以外のデバイスにおいて本発明の構成を採用する場合には、PJLコマンドとは異なる体系のコマンドを使用してもよい。
また、上記実施形態では、情報処理部13A〜13Cから情報分配部11への要求を契機として、デバイス情報が情報処理部13A〜13Cへ提供されるようになっていたが、これに限らない。例えば、情報分配部11側が能動的に情報処理部13A〜13Cへ情報を提供するように構成してもよい。
加えて、上記実施形態では、所定時間だけ待ってもデバイス2から応答が得られない場合に、情報分配部11がキャッシュ15内の情報を情報処理部13A〜13Cへ提供するように構成してあったが、これに限らない。例えば、所定時間内にデバイス2から応答が得られたものの、その応答がエラーであったような場合に、情報分配部11がキャッシュ15内の情報を情報処理部13A〜13Cへ提供するように構成してもよい。
さらに、デバイス2から取得したデバイス情報を記憶するための記憶手段は、デバイス2から受信したデータを全クライアントに送信(分配)するまで記憶する主記憶領域と、受信した後に一定時間データを保持するキャッシュ領域とを分けて管理する構成にしてもよい。
この場合、デバイス2から送られてきたPJL受信データは、主記憶領域に無条件でコピーされる。一方、キャッシュ領域には、上記S240とS410と同等の判断を行い、選択的にデータが記憶される。すなわち、キャッシュにデータを残すモードであって、且つ、即時性の低いPJL受信データを受信した場合のみ、キャッシュ領域にデータを残す。
このように構成した場合にあっては、上記即時性判断による選択的なキャッシュ領域への記憶と、クライアントへの送信後に実施される主記憶領域の消去処理の組み合わせにより、本発明でいう阻止手段ないし消去手段を構成することになる。
図3のS235では、過去の情報であることを示す識別情報としての文字“C”がデバイス情報に付加される。しかしながら、S235の処理は、デバイス情報に対してこのような文字“C”が付加されないように構成されていても良い。このように構成することで、汎用的なクライアントであっても情報分配部11と協働して動作することが可能となる。或いは、S235の処理は、デバイス情報に文字“C”を付加する動作モードとデバイス情報に文字“C”を付加しない動作モードとを切替え可能に構成されていても良い。
システム全体の概略構成図。 情報分配部において実行される主処理のフローチャート(その1)。 情報分配部において実行される主処理のフローチャート(その2)。 情報分配部において実行されるキャッシュ管理常駐スレッド処理のフローチャート(その1)。 情報分配部において実行されるキャッシュ管理常駐スレッド処理のフローチャート(その2)。
符号の説明
1・・・パーソナルコンピュータ、2・・・デバイス、11・・・情報分配部、13A〜13C・・・情報処理部、15・・・キャッシュ。

Claims (14)

  1. コマンド要求を受け付け、該コマンド要求に対応するコマンドをデバイスに送信するコマンド送信手段と、
    前記コマンドに対する応答として前記デバイスに関するデバイス情報を前記デバイスから取得する取得手段と、
    前記取得手段によって取得された前記デバイス情報を記憶する記憶手段と、
    前記取得手段によって取得された最新のデバイス情報と、前記記憶手段に記憶された過去のデバイス情報とのどちらを提供先に提供すべきかを判定する判定手段と、
    前記判定手段の判定結果に従って前記最新のデバイス情報と前記過去のデバイス情報のいずれかを前記提供先に提供する提供手段と、
    を備えたことを特徴とする情報処理装置。
  2. 前記判定手段は、前記取得手段によるデバイス情報の取得が前記コマンドの送信から所定時間内に完了した場合には、前記最新のデバイス情報を提供先に対して提供すべきと判定する一方、前記取得手段によるデバイス情報の取得が前記コマンドの送信から所定時間内に完了しなかった場合、前記記憶手段に前記過去のデバイス情報が記憶されていれば、当該過去のデバイス情報を提供先に対して提供すべきと判定すること、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記提供手段は、前記過去のデバイス情報を提供先に対して提供する場合に、前記過去のデバイス情報であることを提供先側で識別可能とするための識別情報を提供先に対して提供する
    ことを特徴とする請求項1または請求項2に記載の情報処理装置。
  4. 前記取得手段によって取得された前記デバイス情報が、前記過去のデバイス情報として提供しないデバイス情報である場合に、前記提供手段によって前記過去のデバイス情報の提供が実行されるのを阻止する阻止手段
    を備えたことを特徴とする請求項1〜請求項3のいずれかに記載の情報処理装置。
  5. 前記阻止手段は、前記記憶手段に記憶された前記デバイス情報が、前記過去のデバイス情報として提供しないデバイス情報である場合に、前記記憶手段から前記デバイス情報を消去する消去手段を備える
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 前記消去手段は、複数種あるデバイス情報の内、最新のデバイス情報を提供先に提供することが規定されたデバイス情報を、前記過去のデバイス情報として提供しないデバイス情報であると判断し、前記記憶手段から前記デバイス情報を消去する
    ことを特徴とする請求項5に記載の情報処理装置。
  7. 前記消去手段は、通信が確立できないデバイスに関するデバイス情報について、前記過去のデバイス情報として提供しないデバイス情報であると判断し、前記記憶手段から前記デバイス情報を消去する
    ことを特徴とする請求項5または請求項6に記載の情報処理装置。
  8. 前記消去手段は、前記デバイスから最後にデバイス情報を取得してから経過した時間が第1の所定時間以上に達し、且つ、提供先から最後に前記コマンド要求を受けてから経過した時間が第2の所定時間以上に達した時点で、前記記憶手段に記憶されているデバイス情報について、前記過去のデバイス情報として提供しないデバイス情報であると判断し、前記記憶手段から前記デバイス情報を消去する
    ことを特徴とする請求項5〜請求項7のいずれかに記載の情報処理装置。
  9. 前記取得手段は、当該取得手段の起動を契機に、前記デバイス情報を前記デバイスから取得し、
    前記記憶手段は、前記取得手段の起動を契機に取得された前記デバイス情報を記憶することを特徴とする請求項1〜請求項8のいずれかに記載の情報処理装置。
  10. 前記取得手段は、複数種あるデバイス情報の内、過去に取得した履歴のある少なくとも一部のデバイス情報を取得対象として、当該取得手段の起動を契機に、取得対象となる前記少なくとも一部のデバイス情報を前記デバイスから取得する
    ことを特徴とする請求項9に記載の情報処理装置。
  11. 前記取得手段は、前記デバイスの状態が変化するたびに前記デバイスから提供される前記デバイス情報を、前記デバイスから取得し、
    前記記憶手段は、前記取得手段が新たな前記デバイス情報を取得するたびに、取得された前記デバイス情報を記憶する
    ことを特徴とする請求項1〜請求項10のいずれかに記載の情報処理装置。
  12. 前記記憶手段は、前記デバイス情報を前記コマンドと対応付けて記憶することを特徴とする請求項1から請求項11のいずれかに記載の情報処理装置。
  13. 前記コマンド送信部により送信されるコマンドが、一度の送信によって複数回にわたってデバイス情報が取得可能となる所定のコマンドである場合に、前記記憶手段には、前記デバイス情報は、前記所定のコマンドと対応付けて記憶されると共に、前記所定のコマンドと同種情報を取得する為のコマンドにも対応付けて記憶されること、を特徴とする請求項1から請求項12のいずれかに記載の情報処理装置。
  14. コマンド要求を受け付け該コマンド要求をデバイスに送信するコマンド送信手順と、
    前記コマンドに対する応答として前記デバイスに関するデバイス情報を前記デバイスから取得する取得手順と、
    前記取得手順において取得された前記デバイス情報を記憶手段に記憶させる記憶制御手順と、
    前記取得手順によって取得された最新のデバイス情報と、前記記憶手段に記憶された過去のデバイス情報とのどちらを提供先に提供すべきかを判定する判定手順と、
    前記判定手順の判定結果に従って前記最新のデバイス情報と前記過去のデバイス情報のいずれかを前記提供先に提供する提供手順と、 を備えたことを特徴とする情報処理方法。
JP2008026824A 2007-02-07 2008-02-06 情報処理装置、および情報処理方法 Expired - Fee Related JP5034993B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008026824A JP5034993B2 (ja) 2007-02-07 2008-02-06 情報処理装置、および情報処理方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007028114 2007-02-07
JP2007028114 2007-02-07
JP2008026824A JP5034993B2 (ja) 2007-02-07 2008-02-06 情報処理装置、および情報処理方法

Publications (2)

Publication Number Publication Date
JP2008217777A true JP2008217777A (ja) 2008-09-18
JP5034993B2 JP5034993B2 (ja) 2012-09-26

Family

ID=39733907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008026824A Expired - Fee Related JP5034993B2 (ja) 2007-02-07 2008-02-06 情報処理装置、および情報処理方法

Country Status (2)

Country Link
US (1) US8255481B2 (ja)
JP (1) JP5034993B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014016793A (ja) * 2012-07-09 2014-01-30 Canon Inc 情報処理方法およびプログラム
JP2018106363A (ja) * 2016-12-26 2018-07-05 ブラザー工業株式会社 プリントサーバ

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5177181B2 (ja) * 2010-06-21 2013-04-03 コニカミノルタビジネステクノロジーズ株式会社 通信制御装置、通信制御方法およびプログラム
US9251257B2 (en) * 2010-10-22 2016-02-02 International Business Machines Corporation Deleting a file on reading of the file
JP5901589B2 (ja) * 2013-08-29 2016-04-13 京セラドキュメントソリューションズ株式会社 画像形成システム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173282A (ja) * 1997-08-29 1999-03-16 Canon Inc プリンタ装置、スキャナ装置、返信データ作成方法および記憶媒体
JPH11252119A (ja) * 1998-02-26 1999-09-17 Brother Ind Ltd ネットワークアダプタ及びこれを備えた端末システム
JP2001075754A (ja) * 1999-09-07 2001-03-23 Canon Inc ステータス管理方法、装置、及び、記憶媒体
JP2005041127A (ja) * 2003-07-23 2005-02-17 Brother Ind Ltd ステータス情報通知システム及びネットワーク端末装置及び通信処理装置
JP2005173799A (ja) * 2003-12-09 2005-06-30 Canon Inc 印刷システム
JP2006067328A (ja) * 2004-08-27 2006-03-09 Canon Inc 画像処理装置、並びにその制御方法、プログラム、及び記憶媒体
JP2006146492A (ja) * 2004-11-18 2006-06-08 Sharp Corp 画像処理装置のステータス取得装置及びステータス取得方法、該ステータス取得方法を実行するプログラム、該プログラムを記録した記録媒体

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112246A (en) * 1998-10-22 2000-08-29 Horbal; Mark T. System and method for accessing information from a remote device and providing the information to a client workstation
JP3950575B2 (ja) 1999-04-09 2007-08-01 キヤノン株式会社 データ処理装置およびデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US6832239B1 (en) * 2000-07-07 2004-12-14 International Business Machines Corporation Systems for managing network resources
US7131122B1 (en) * 2000-08-24 2006-10-31 International Business Machines Corporation Apparatus, system and method for detecting old version of an applet in a client brower's JVM
US7146412B2 (en) * 2001-08-27 2006-12-05 Hewlett-Packard Development Company, L.P. System and methods for the automatic discovery, notification and installation of firmware upgrades
US7120450B2 (en) * 2002-03-28 2006-10-10 Telecommunication Systems, Inc. Consequential location derived information
US7426380B2 (en) * 2002-03-28 2008-09-16 Telecommunication Systems, Inc. Location derived presence information
JP2004213211A (ja) 2002-12-27 2004-07-29 Kyocera Mita Corp 印刷装置におけるジョブ操作装置及びジョブ操作プログラム
JP4144882B2 (ja) * 2004-05-14 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、情報システム、プロキシ処理方法、及びプログラムと記録媒体
US9489496B2 (en) * 2004-11-12 2016-11-08 Apple Inc. Secure software updates
US7774826B1 (en) * 2005-03-18 2010-08-10 Novell, Inc. System and method for determining effective policy profiles in a client-server architecture
KR101119320B1 (ko) * 2005-04-29 2012-03-15 엘지전자 주식회사 이동저장 장치의 펌웨어 업데이트 장치 및 방법
US20080040426A1 (en) * 2006-08-11 2008-02-14 Don Synstelien System and Method for Placing a Widget onto a Desktop

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173282A (ja) * 1997-08-29 1999-03-16 Canon Inc プリンタ装置、スキャナ装置、返信データ作成方法および記憶媒体
JPH11252119A (ja) * 1998-02-26 1999-09-17 Brother Ind Ltd ネットワークアダプタ及びこれを備えた端末システム
JP2001075754A (ja) * 1999-09-07 2001-03-23 Canon Inc ステータス管理方法、装置、及び、記憶媒体
JP2005041127A (ja) * 2003-07-23 2005-02-17 Brother Ind Ltd ステータス情報通知システム及びネットワーク端末装置及び通信処理装置
JP2005173799A (ja) * 2003-12-09 2005-06-30 Canon Inc 印刷システム
JP2006067328A (ja) * 2004-08-27 2006-03-09 Canon Inc 画像処理装置、並びにその制御方法、プログラム、及び記憶媒体
JP2006146492A (ja) * 2004-11-18 2006-06-08 Sharp Corp 画像処理装置のステータス取得装置及びステータス取得方法、該ステータス取得方法を実行するプログラム、該プログラムを記録した記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014016793A (ja) * 2012-07-09 2014-01-30 Canon Inc 情報処理方法およびプログラム
JP2018106363A (ja) * 2016-12-26 2018-07-05 ブラザー工業株式会社 プリントサーバ

Also Published As

Publication number Publication date
JP5034993B2 (ja) 2012-09-26
US20080215666A1 (en) 2008-09-04
US8255481B2 (en) 2012-08-28

Similar Documents

Publication Publication Date Title
EP1696323B1 (en) Device information management system, computer and program
JP5527146B2 (ja) 端末装置及びプログラム
JP5460200B2 (ja) 印刷制御装置、印刷制御方法、及びコンピュータプログラム
US8014007B2 (en) Information processing apparatus, substitute print job management method, information processing program, and recording medium
US20070019236A1 (en) Terminal management system
JP2006023830A (ja) 出力終了通知方式、出力制御装置、制御プログラム及び記憶媒体
JP5766058B2 (ja) 情報処理装置、情報処理装置の制御方法およびコンピュータプログラム
JP5034993B2 (ja) 情報処理装置、および情報処理方法
JP2008066988A5 (ja)
JP2007086969A (ja) 印刷装置
JP6992496B2 (ja) 制御プログラム及び、情報処理装置
US9001363B2 (en) Printing control system, printing control method, and image processor
CN104932844A (zh) 打印控制设备、打印控制系统和打印控制方法
JP4742784B2 (ja) 情報分配処理プログラム、情報処理装置、および情報分配処理システム
JP2006209309A (ja) 印刷システム
JP2008257632A (ja) 情報管理装置、情報管理方法及びそのプログラム
JP6265589B2 (ja) ジョブ処理装置、ジョブ管理方法、ジョブ管理システム、およびプログラム
JP4886501B2 (ja) 印刷装置、印刷制御方法、及びプログラム
JP2008011372A (ja) 画像形成装置、画像形成装置の制御方法、および画像形成装置の制御プログラム
JP2013025460A (ja) インストールシステム、インストールプログラム、インストールプログラムを記録した記録媒体、及びプログラムのインストール方法
JP3966276B2 (ja) 情報取得処理プログラム、コンピュータ、および情報取得処理システム
JP2007172493A (ja) 電源管理プログラムおよび情報処理システムおよび電源管理方法
JP2007280045A (ja) サーバ装置、印刷制御装置及びそれらの制御方法、コンピュータプログラム並びに記憶媒体
JP2012059280A (ja) 印刷装置、データ処理装置、印刷制御方法、及びプログラム
JP4455315B2 (ja) 印刷制御装置及び印刷システム並びに印刷制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120316

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: 20120605

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120618

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5034993

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees