IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

特開2024-143255情報処理プログラム及び情報処理システム
<>
  • 特開-情報処理プログラム及び情報処理システム 図1
  • 特開-情報処理プログラム及び情報処理システム 図2
  • 特開-情報処理プログラム及び情報処理システム 図3
  • 特開-情報処理プログラム及び情報処理システム 図4
  • 特開-情報処理プログラム及び情報処理システム 図5
  • 特開-情報処理プログラム及び情報処理システム 図6
  • 特開-情報処理プログラム及び情報処理システム 図7
  • 特開-情報処理プログラム及び情報処理システム 図8
  • 特開-情報処理プログラム及び情報処理システム 図9
  • 特開-情報処理プログラム及び情報処理システム 図10
  • 特開-情報処理プログラム及び情報処理システム 図11
  • 特開-情報処理プログラム及び情報処理システム 図12
  • 特開-情報処理プログラム及び情報処理システム 図13
  • 特開-情報処理プログラム及び情報処理システム 図14
  • 特開-情報処理プログラム及び情報処理システム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024143255
(43)【公開日】2024-10-11
(54)【発明の名称】情報処理プログラム及び情報処理システム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20241003BHJP
   B41J 29/38 20060101ALI20241003BHJP
【FI】
G06F3/12 335
G06F3/12 324
G06F3/12 328
G06F3/12 310
G06F3/12 385
B41J29/38 204
G06F3/12 304
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023055832
(22)【出願日】2023-03-30
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.UNIX
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110003096
【氏名又は名称】弁理士法人第一テクニカル国際特許事務所
(72)【発明者】
【氏名】門田 政敏
【テーマコード(参考)】
2C061
【Fターム(参考)】
2C061AP01
2C061AQ05
2C061AQ06
2C061HK11
2C061HN05
2C061HN15
2C061HQ01
(57)【要約】      (修正有)
【課題】ネットワークに新たなプリンタが接続された場合にも容易に対応でき、プリンタの消耗品を効率的に管理することができる情報処理プログラム及び情報処理システムを提供する。
【解決手段】印刷システムの管理者が使用する管理PCの管理ソフトは、複数のクライアントPCそれぞれのプリンタアプリケーションを検索するステップS1010と、ステップS1010での検索結果に基づき、検索できたプリンタアプリケーションに向けて、対応するプリンタに備えられた消耗品の消耗状況に係わる消耗データを含む消耗品情報の情報送信要求を出力し、出力した情報送信要求に応じて出力された消耗品情報を、複数のクライアントPCそれぞれのプリンタアプリケーションから取得するステップS1060と、を実行させる。
【選択図】図13
【特許請求の範囲】
【請求項1】
複数の第1情報処理装置と複数の印刷装置と第2情報処理装置を含む情報処理システムにおいて、前記複数の第1情報処理装置の各々は、オペレーティングシステムに標準に搭載されプリンタベンダの提供するドライバを用いないドライバレス印刷を実行可能なOS標準印刷ソフトウェアと、前記複数の印刷装置のうち接続されている対象印刷装置に対応する仮想プリンタとして前記OS標準印刷ソフトウェアに登録された情報処理プログラムを備えた制御部と、を有し、第2情報処理装置の演算部に対し、
前記複数の第1情報処理装置それぞれの前記情報処理プログラムを検索する検索処理と、
前記検索処理での検索結果に基づき、検索できた前記情報処理プログラムに向けて、対応する前記印刷装置に備えられた消耗品の消耗状況に係わる消耗データを含む消耗品情報の情報送信要求を出力する情報要求出力処理と、
前記情報要求出力処理で出力した前記情報送信要求に応じて出力された前記消耗品情報を、前記複数の第1情報処理装置それぞれの前記制御部から取得する消耗品情報取得処理と、
を実行させるための、情報処理プログラム。
【請求項2】
前記演算部に対し、さらに、
前記検索処理での検索結果に基づき、検索できた前記情報処理プログラムに対応する前記印刷装置のリストを作成するリスト作成処理を実行させ、
前記情報要求出力処理では、
前記リスト作成処理で作成した前記リストに含まれる前記印刷装置に対応する前記情報処理プログラムに向けて、前記情報送信要求を出力する、請求項1記載の情報処理プログラム。
【請求項3】
前記演算部に対し、さらに、
前記リスト作成処理による前記リストの作成後に実行した前記検索処理において検索できた前記情報処理プログラムの増減があった場合に、当該リストを更新するリスト更新処理を実行させ、
前記情報要求出力処理では、
前記リスト更新処理で更新した前記リストに含まれる前記印刷装置に対応する前記情報処理プログラムに向けて、前記情報送信要求を出力する、請求項2記載の情報処理プログラム。
【請求項4】
前記演算部に対し、
前記情報要求出力処理及び前記消耗品情報取得処理を、予め定められた所定時刻に実行させる、若しくは、予め定められた所定周期ごとに実行させる、
請求項1記載の情報処理プログラム。
【請求項5】
前記演算部に対し、さらに、
消耗品情報取得処理で取得された前記消耗品情報に基づいて前記消耗品の消耗状況を評価する消耗状況評価処理と、
前記消耗状況評価処理での評価結果に応じて対応するアクションを実行する対応アクション処理と、を実行させる、
請求項1乃至請求項4のいずれか1項記載の情報処理プログラム。
【請求項6】
第1情報処理装置の演算部によって実行可能であり、前記第1情報処理装置と通信可能な印刷装置に対応可能な情報処理プログラムであって、前記第1情報処理装置にはOS標準印刷ソフトウェアを有するオペレーティングシステムが搭載されており、前記情報処理プログラムは前記OS標準印刷ソフトウェアに仮想の印刷装置として登録可能であり、
前記情報処理プログラムは、前記OS標準印刷ソフトウェアに前記仮想の印刷装置として登録されたとき、前記第1情報処理装置の演算部に対し、
対応する前記印刷装置に備えられた消耗品の消耗状況に係わる消耗データのデータ送信要求を当該印刷装置に向けて出力するデータ要求出力処理と、
前記データ要求出力処理で出力した前記データ送信要求に応じて前記印刷装置から送信された前記消耗データを取得する消耗データ取得処理と、
前記第1情報処理装置に対し通信可能に構成された第2情報処理装置からの検索アクセスを受け付ける検索アクセス受付処理と、
前記検索アクセス受付処理による前記検索アクセスの受け付け後、前記第2情報処理装置からの、前記消耗データを含む消耗品情報の情報送信要求を受け付ける情報要求受付処理と、
前記情報要求受付処理で受け付けた前記情報送信要求に応じて、対応する前記印刷装置の前記消耗品情報を前記第2情報処理装置へ向けて出力する消耗品情報出力処理と、
を実行させるための、情報処理プログラム。
【請求項7】
前記演算部に対し、
前記データ要求出力処理及び前記消耗データ取得処理を、予め定められた所定時刻に実行させる、若しくは、予め定められた所定周期ごとに実行させる、
請求項6記載の情報処理プログラム。
【請求項8】
各々が、オペレーティングシステムに標準に搭載されプリンタベンダの提供するドライバを用いないドライバレス印刷を実行可能なOS標準印刷ソフトウェアと、印刷装置に対応する仮想プリンタとして前記OS標準印刷ソフトウェアに登録された情報処理プログラムを備えた第1制御部と、を有する、複数の第1情報処理装置と、
第2制御部を有し、前記複数の第1情報処理装置に対し通信可能に構成された第2情報処理装置と、
を有する情報処理システムであって、
前記第1制御部は、
対応する前記印刷装置に備えられた消耗品の消耗状況に係わる消耗データのデータ送信要求を当該印刷装置に向けて出力するデータ要求出力処理と、
前記データ要求出力処理で出力された前記データ送信要求に応じて前記印刷装置から送信された前記消耗データを取得する消耗データ取得処理と、
前記第2制御部からの検索アクセスを受け付けるアクセス受付処理と、
を実行するよう構成され、
前記第2制御部は、
前記複数の第1情報処理装置それぞれの前記第1制御部の前記情報処理プログラムを検索する検索処理と、
前記検索処理における検索結果に基づき、検索できた前記情報処理プログラムに向けて、前記消耗データを含む消耗品情報の情報送信要求を出力する情報要求出力処理と、
を実行するよう構成され、
前記第1制御部は、
前記情報要求出力処理で出力された前記情報送信要求を受け付ける情報要求受付処理と、
前記情報要求受付処理で受け付けた前記情報送信要求に応じて、対応する前記印刷装置の前記消耗品情報を前記第2制御部へ向けて出力する消耗品情報出力処理と、
を実行するよう構成され、
前記第2制御部は、
前記消耗品情報出力処理で出力された前記消耗品情報を、前記複数の第1情報処理装置それぞれの前記第1制御部から取得する消耗品情報取得処理を実行するよう構成されている、情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷装置に対して通信可能な複数の第1情報処理装置に対して通信可能な第2情報処理装置で実行される情報処理プログラム及び情報処理システムに関する。
【背景技術】
【0002】
例えば特許文献1には、ネットワーク接続されたプリンタのステータス情報を取得し、ユーザに通知することが可能なプリントシステムが記載されている。ステータス情報には、プリンタのインク残量が含まれる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-70926号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記従来技術のようなプリントシステムでは、システムの管理者等がネットワークに接続されたプリンタのインク残量等を把握できることが望ましい。このため、ネットワークに新たなプリンタが接続された場合には、速やかにステータス情報を取得できるようにする必要がある。しかしながら、上記従来技術では、新たなプリンタからステータス情報を取得する際にどのように取得先を特定するかについて特に記載されていない。例えば、システムの管理者が新たなプリンタのIPアドレス等を指定して登録する必要がある場合には、手間を要することとなり、対応が容易でない。
【0005】
本発明の目的は、ネットワークに新たなプリンタが接続された場合にも容易に対応でき、プリンタの消耗品を効率的に管理することができる情報処理プログラム及び情報処理システムを提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本願発明は、複数の第1情報処理装置と複数の印刷装置と第2情報処理装置を含む情報処理システムにおいて、前記複数の第1情報処理装置の各々は、オペレーティングシステムに標準に搭載されプリンタベンダの提供するドライバを用いないドライバレス印刷を実行可能なOS標準印刷ソフトウェアと、前記複数の印刷装置のうち接続されている対象印刷装置に対応する仮想プリンタとして前記OS標準印刷ソフトウェアに登録された情報処理プログラムを備えた制御部と、を有し、第2情報処理装置の演算部に対し、前記複数の第1情報処理装置それぞれの前記情報処理プログラムを検索する検索処理と、前記検索処理での検索結果に基づき、検索できた前記情報処理プログラムに向けて、対応する前記印刷装置に備えられた消耗品の消耗状況に係わる消耗データを含む消耗品情報の情報送信要求を出力する情報要求出力処理と、前記情報要求出力処理で出力した前記情報送信要求に応じて出力された前記消耗品情報を、前記複数の第1情報処理装置それぞれの前記制御部から取得する消耗品情報取得処理と、を実行させる。
【0007】
本願発明では、情報処理システムが複数の第1情報処理装置と複数の印刷装置と第2情報処理装置を含む。複数の第1情報処理装置の各々は、オペレーティングシステムに標準に搭載されプリンタベンダの提供するドライバを用いないドライバレス印刷を実行可能なOS標準印刷ソフトウェアと、複数の印刷装置のうち接続されている対象印刷装置に対応する仮想プリンタとしてOS標準印刷ソフトウェアに登録された情報処理プログラムを備えた制御部と、を有する。情報処理プログラムは第2情報処理装置の演算部に対し、検索処理と、情報要求出力処理と、消耗品情報取得処理と、を実行させる。検索処理では、複数の第1情報処理装置それぞれの情報処理プログラムが検索される。情報要求出力処理では、検索処理での検索結果に基づき、検索できた情報処理プログラムに向けて、対応する印刷装置に備えられた消耗品の消耗状況に係わる消耗データを含む消耗品情報の情報送信要求が出力される。消耗品情報取得処理では、情報要求出力処理で出力した情報送信要求に応じて出力された消耗品情報が、複数の第1情報処理装置それぞれの制御部から取得される。
本願発明によれば、ネットワークに新たな印刷装置が接続された場合でも、検索処理により自動的に検出でき、且つ、検出された印刷装置に対して消耗品情報を要求して取得することで、複数の印刷装置の消耗品情報を一括して管理できる。本願発明によれば、ネットワークに新たな印刷装置が接続された場合にも容易に対応でき、印刷装置の消耗品を効率的に管理することができる。
【0008】
また、上記目的を達成するために、本願発明は、第1情報処理装置の演算部によって実行可能であり、前記第1情報処理装置と通信可能な印刷装置に対応可能な情報処理プログラムであって、前記第1情報処理装置にはOS標準印刷ソフトウェアを有するオペレーティングシステムが搭載されており、前記情報処理プログラムは前記OS標準印刷ソフトウェアに仮想の印刷装置として登録可能であり、前記情報処理プログラムは、前記OS標準印刷ソフトウェアに前記仮想の印刷装置として登録されたとき、前記第1情報処理装置の演算部に対し、対応する前記印刷装置に備えられた消耗品の消耗状況に係わる消耗データのデータ送信要求を当該印刷装置に向けて出力するデータ要求出力処理と、前記データ要求出力処理で出力した前記データ送信要求に応じて前記印刷装置から送信された前記消耗データを取得する消耗データ取得処理と、前記第1情報処理装置に対し通信可能に構成された第2情報処理装置からの検索アクセスを受け付ける検索アクセス受付処理と、前記検索アクセス受付処理による前記検索アクセスの受け付け後、前記第2情報処理装置からの、前記消耗データを含む消耗品情報の情報送信要求を受け付ける情報要求受付処理と、前記情報要求受付処理で受け付けた前記情報送信要求に応じて、対応する前記印刷装置の前記消耗品情報を前記第2情報処理装置へ向けて出力する消耗品情報出力処理と、を実行させる。
【0009】
本願発明では、情報処理プログラムは、OS標準印刷ソフトウェアに前記仮想の印刷装置として登録されたとき、第1情報処理装置の演算部に対し、データ要求出力処理と、消耗データ取得処理と、検索アクセス受付処理と、情報要求受付処理と、消耗品情報出力処理と、を実行させる。データ要求出力処理では、対応する印刷装置に備えられた消耗品の消耗状況に係わる消耗データのデータ送信要求が当該印刷装置に向けて出力される。消耗データ取得処理では、データ要求出力処理で出力したデータ送信要求に応じて印刷装置から送信された消耗データが取得される。検索アクセス受付処理では、第1情報処理装置に対し通信可能に構成された第2情報処理装置からの検索アクセスが受け付けられる。情報要求受付処理では、第2情報処理装置からの、消耗データを含む消耗品情報の情報送信要求が受け付けられる。消耗品情報出力処理では、情報要求受付処理で受け付けた情報送信要求に応じて、対応する印刷装置の消耗品情報が第2情報処理装置へ向けて出力される。
本願発明によれば、ネットワークに新たな印刷装置が接続された場合でも、対応する印刷装置に対して通信可能な第1情報処理装置が第2情報処理装置による検索アクセスを受け付けることにより自動的に検出できる。また、各第1情報処理装置が対応する印刷装置の消耗品情報を第2情報処理装置へ向けて出力することで、第2情報処理装置において複数の印刷装置の消耗品情報を一括して管理できる。本願発明によれば、ネットワークに新たな印刷装置が接続された場合にも容易に対応でき、印刷装置の消耗品を効率的に管理することができる。
【0010】
また、上記目的を達成するために、本願発明は、各々が、オペレーティングシステムに標準に搭載されプリンタベンダの提供するドライバを用いないドライバレス印刷を実行可能なOS標準印刷ソフトウェアと、印刷装置に対応する仮想プリンタとして前記OS標準印刷ソフトウェアに登録された情報処理プログラムを備えた第1制御部と、を有する、複数の第1情報処理装置と、第2制御部を有し、前記複数の第1情報処理装置に対し通信可能に構成された第2情報処理装置と、を有する情報処理システムであって、前記第1制御部は、対応する前記印刷装置に備えられた消耗品の消耗状況に係わる消耗データのデータ送信要求を当該印刷装置に向けて出力するデータ要求出力処理と、前記データ要求出力処理で出力された前記データ送信要求に応じて前記印刷装置から送信された前記消耗データを取得する消耗データ取得処理と、前記第2制御部からの検索アクセスを受け付けるアクセス受付処理と、を実行するよう構成され、前記第2制御部は、前記複数の第1情報処理装置それぞれの前記第1制御部の前記情報処理プログラムを検索する検索処理と、前記検索処理における検索結果に基づき、検索できた前記情報処理プログラムに向けて、前記消耗データを含む消耗品情報の情報送信要求を出力する情報要求出力処理と、を実行するよう構成され、前記第1制御部は、前記情報要求出力処理で出力された前記情報送信要求を受け付ける情報要求受付処理と、前記情報要求受付処理で受け付けた前記情報送信要求に応じて、対応する前記印刷装置の前記消耗品情報を前記第2制御部へ向けて出力する消耗品情報出力処理と、を実行するよう構成され、前記第2制御部は、前記消耗品情報出力処理で出力された前記消耗品情報を、前記複数の第1情報処理装置それぞれの前記第1制御部から取得する消耗品情報取得処理を実行するよう構成されている。
【発明の効果】
【0011】
本発明によれば、ネットワークに新たなプリンタが接続された場合にも容易に対応でき、プリンタの消耗品を効率的に管理することができる。
【図面の簡単な説明】
【0012】
図1】実施形態に係る印刷システムの全体構成の一例を表す図である。
図2】第1クライアントPCのプリンタアプリケーション又は第2クライアントPCのプリンタアプリケーションが実行する、ステータスモニタに係わる処理手順の一例を表すフローチャートである。
図3】プリンタ追加又は削除に対する処理の制御手順の一例を表すフローチャートである。
図4】指定時間ごとの処理及び管理ソフトからのデータ収集命令に対する処理の制御手順の一例を表すフローチャートである。
図5】管理ソフトからのステータス収集命令に対する処理の制御手順の一例を表すフローチャートである。
図6】管理PCからのPause/Resumeボタン通知に対する処理の制御手順の一例を表すフローチャートである。
図7】管理PCでクリーニングボタンに対する処理の制御手順の一例を表すフローチャートである。
図8】管理PCの管理集計部によるステータス情報の集計手法の一例を表す説明図である。
図9】管理ソフト画面の一例を表す図である。
図10】プリンタアプリケーションを有しない場合のバックエンドに対する使用権の占有の一例を表す説明図である。
図11】実施形態に係るプリンタアプリケーションを有する場合のバックエンドに対する使用権の占有の一例を表す説明図である。
図12】プリンタアプリケーションによる使用権取得に係わる処理手順の一例を表すフローチャートである。
図13】管理PCの管理ソフトによるステータスモニタに係わる処理手順の一例を表すフローチャートである。
図14】クライアントPC及びプリンタのハードウェア構成の一例を表すブロック図である。
図15】管理PCのハードウェア構成の一例を表すブロック図である。
【発明を実施するための形態】
【0013】
本発明の実施形態を図面を参照しつつ説明する。
【0014】
<印刷システムの全体構成>
図1に、実施形態に係る印刷システム1の全体構成の一例を示す。図1に示すように、印刷システム1は、複数のクライアントPC100A,100Bと、複数のプリンタ200A~200Dと、管理PC300と、を有する。第1クライアントPC100Aは、ユーザAが使用する端末装置であり、例えば第1プリンタ200A及び第2プリンタ200BとUSB(Universal Serial Bus)ケーブルにより通信可能に接続されている。第2クライアントPC100Bは、ユーザBが使用する端末装置であり、例えば第3プリンタ200CとUSBケーブルにより通信可能に接続されている。管理PC300は、印刷システム1の管理者Cが使用する端末装置であり、第1クライアントPC100A及び第2クライアントPC100Bと例えばインターネット、有線LAN又は無線LAN等のネットワークを介して通信可能に接続されている。また管理PC300には、第4プリンタ200Dが例えばインターネット、有線LAN又は無線LAN等のネットワークを介して通信可能に接続されている。
【0015】
なお、印刷システム1が情報処理システムの一例であり、第1クライアントPC100A及び第2クライアントPC100Bが情報処理装置及び第1情報処理装置の一例であり、プリンタ200が印刷装置の一例であり、管理PC300が外部装置及び第2情報処理装置の一例である。
【0016】
第1クライアントPC100Aは、第1プリンタ200A及び第2プリンタ200Bに印刷データを送信して印刷を実行させる。第1クライアントPC100Aは、例えばデスクトップ型PC、ノート型PC、タブレットコンピュータ等であるが、スマートフォン等の携帯端末でもよい。詳細は後述するが、第1クライアントPC100Aはプロセッサ110と、各種の情報処理プログラムを記憶した記憶装置115と、を有する(後述の図14参照)。プロセッサ110が各種の情報処理プログラムを実行することで、第1クライアントPC100Aは図1に示す機能構成を有する。なお、プロセッサ110が演算部の一例である。
【0017】
第1クライアントPC100Aには、CUPS(Common Unix Printing System)160Aを有するOS(オペレーティングシステム)が搭載されている。第1クライアントPC100Aは、編集アプリケーション102Aと、CUPS160Aと、プリンタアプリケーション170Aと、ブラウザ104Aと、を有する。編集アプリケーション102Aは、印刷ジョブをCUPS160Aに出力する。CUPS160Aは、OSに標準に搭載されプリンタベンダの提供するドライバを用いないドライバレス印刷を実行可能な、OS用のモジュール化された印刷システムである。CUPS160AがOS標準印刷ソフトウェアの一例であり、プリンタアプリケーション170Aが情報処理プログラムの一例である。
【0018】
プリンタアプリケーション170Aは、複数のプリンタ200A~200Dのうち接続されている第1プリンタ200A及び第2プリンタ200Bに対応する仮想プリンタとして、CUPS160Aに登録可能である。CUPS160Aは、プリンタアプリケーション170Aを仮想のプリンタとして取り扱い、印刷に係わる各種の処理を実行する。各種の処理には、例えば能力情報取得処理や印刷データ送信処理等が含まれる。CUPS160Aの能力情報取得処理に対し、プリンタアプリケーション170Aは、プリンタ200A,200Bの能力を表すアトリビュートを取得し、取得したアトリビュートをCUPS160Aが対応可能か否か、機能制限があるか否か、等に応じて変換し、変換したアトリビュートをCUPS160Aへ向けて出力する。CUPS160Aの印刷データ送信処理に対し、プリンタアプリケーション170Aは、CUPS160Aから印刷データを取得する。当該印刷データは、上記CUPS160Aの能力情報取得処理で出力したアトリビュートに対応している。プリンタアプリケーション170Aは、取得した印刷データを、プリンタ200A,200Bのアトリビュート、機能制限、等に応じて変換する。そして変換した印刷データをプリンタ200A,200Bへ向けて送信する。なお、変換前のアトリビュートが第1能力情報の一例であり、変換後のアトリビュートが第2能力情報の一例であり、変換前の印刷データが第1印刷データの一例であり、変換後の印刷データが第2印刷データの一例である。
【0019】
また、プリンタアプリケーション170Aは、第1プリンタ200A及び第2プリンタ200Bに対してステータスを問い合わせ、第1プリンタ200A及び第2プリンタ200Bからステータス情報を取得し、管理PC300に送信する処理等も行う。当該処理の詳細については後述する。
【0020】
ブラウザ104Aは、管理PC300のHTTP(Hypertext Transfer Protocol)サーバ303から各種情報を取得し、取得した情報をユーザAに提供する。各種情報には、印刷システム1が有する複数のプリンタ200A~200Dのステータス情報等が含まれる。
【0021】
第2クライアントPC100Bは、第3プリンタ200Cに印刷データを送信して印刷を実行させる。第2クライアントPC100Bは、例えばデスクトップ型PC、ノート型PC、タブレットコンピュータ等であるが、スマートフォン等の携帯端末でもよい。第2クライアントPC100Bは、第1クライアントPC100Aと同様に、プロセッサ110と、各種の情報処理プログラムを記憶した記憶装置115と、を有する(後述の図14参照)。プロセッサ110が各種の情報処理プログラムを実行することで、第2クライアントPC100Bは図1に示す機能構成を有する。
【0022】
第2クライアントPC100Bには、CUPS160Bを有するOSが搭載されている。第2クライアントPC100Bは、編集アプリケーション102Bと、CUPS160Bと、プリンタアプリケーション170Bと、ブラウザ104Bと、を有する。CUPS160BもOS標準印刷ソフトウェアの一例であり、プリンタアプリケーション170Bも情報処理プログラムの一例である。これらの機能は、上記第1クライアントPC100Aと同様であるので説明を省略する。
【0023】
管理PC300は、例えばデスクトップ型PC、ノート型PC、タブレットコンピュータ等である。詳細は後述するが、管理PC300はプロセッサ310と、各種の情報処理プログラムを記憶した記憶装置315と、を有する(後述の図15参照)。プロセッサ310が各種の情報処理プログラムを実行することで、管理PC300は図1に示す機能構成を有する。なお、プロセッサ310が演算部の一例である。
【0024】
管理PC300は、管理ソフト301と、ブラウザ302と、を有する。管理ソフト301は、印刷システム1の各プリンタ200A~200Dのステータス情報を管理するプログラムである。管理ソフト301は、HTTPサーバ303と、管理集計部304と、を有する。管理集計部304は、第1クライアントPC100Aのプリンタアプリケーション170Aから第1プリンタ200A及び第2プリンタ200Bのステータス情報を取得し、集計する。管理集計部304は、第2クライアントPC100Bのプリンタアプリケーション170Bから第3プリンタ200Cのステータス情報を取得し、集計する。管理集計部304は、第4プリンタ200Dからステータス情報を取得し、集計する。管理集計部304は、集計したステータス情報をHTTPサーバ303に出力する。HTTPサーバ303は、管理ソフト301上で動作するサーバソフトウェアである。HTTPサーバ303は、管理集計部304からステータス情報を取得し、ブラウザ302を介して管理者Cに提供すると共に、ブラウザ104A,104Bを介してユーザA及びユーザBにも提供する。なお、管理ソフト301が情報処理プログラムの一例である。
【0025】
本実施形態では、第1クライアントPC100Aと第2クライアントPC100Bとを区別しない場合には、単に「クライアントPC100」と記載する。CUPS160AとCUPS160Bとを区別しない場合には、単に「CUPS160」と記載する。プリンタアプリケーション170Aとプリンタアプリケーション170Bとを区別しない場合には、単に「プリンタアプリケーション170」と記載する。第1プリンタ200A、第2プリンタ200B、第3プリンタ200C、及び第4プリンタ200Dを区別しない場合には、単に「プリンタ200」と記載する。
【0026】
また、上述した印刷システム1のシステム構成は一例であり、上記以外としてもよい。例えば、クライアントPC100は上記2台に限らず3台以上でもよいし、複数に限らず1台でもよい。管理PC300は上記1台に限らず複数台でもよい。印刷システム1が有するプリンタ200は上記4台に限らず5台以上でもよいし、複数に限らず1台でもよい。プリンタ200はプリンタアプリケーション170に対して1台又は複数台接続されてもよいし、クライアントPC100を介さずにネットワークを介して管理PC300に接続されてもよい。クライアントPC100とプリンタ200との接続は上記USBに限らず、例えばインターネット、有線LAN又は無線LAN等を介したネットワーク接続でもよい。
【0027】
<プリンタアプリケーションによるステータスモニタに係わる処理>
プリンタアプリケーション170が実行する、ステータスモニタに係わる処理手順の一例を図2図7のフローチャートにより説明する。プリンタアプリケーション170は、CUPS160に仮想プリンタとして登録されたときに以下のフローチャートを実行する。
【0028】
図2に示すように、ステップS5では、プリンタアプリケーション170は、USTATUS監視スレッドを作成する。USTATUS監視スレッドは、USTATUSにより各プリンタのステータス情報を取得するためのスレッドである。USTATUSは、監視イベントにおいてステータスが変更された際にステータス情報を送信するように要求するコマンドである。当該ステップS5で作成されたUSTATUS監視スレッドにおいて、後述のステップS10~ステップS25が実行される。
【0029】
ステップS10では、プリンタアプリケーション170は、接続されたプリンタ200の各々にPJLのUSTATUS DEVICE ON及びINFO STATUSを送信する。PJLはHewlett Packard社のジョブ管理言語である。USTATUS DEVICE ONは上記USTATUSによるステータス情報の送信機能をONとするコマンドであり、INFO STATUSは当該コマンドの送信時点のステータス情報の送信を要求するコマンドである。USTATUS DEVICE ON及びINFO STATUSが問い合わせ信号の一例であり、当該ステップS10が問い合わせ信号出力処理の一例である。
【0030】
ステップS15では、プリンタアプリケーション170は、例えば1秒待機する。なお、待機時間は1秒以外でもよい。
【0031】
ステップS20では、プリンタアプリケーション170は、接続されたプリンタ200の各々からUSTATUSによるステータス情報及びINFO STATUSによるステータス情報を取得する。USTATUSによるステータス情報は、プリンタ200のステータスが変更されたときに取得可能なステータス情報であり、INFO STATUSによるステータス情報は当該コマンドを送信した時点のステータス情報である。USTATUSによるステータス情報がステータス変更データの一例であり、当該ステップS20がステータス情報取得処理の一例である。
【0032】
ステップS25では、プリンタアプリケーション170は、例えば記憶装置115の不揮発性記憶装置130のデータ記憶領域132等(後述の図14参照)、適宜の記憶領域に記憶されたステータス情報を、上記ステップS20で取得したステータス情報に更新する。その後、上記ステップS15に戻る。
【0033】
プリンタアプリケーション170は、上記ステップS15~ステップS25を繰り返すことで、ステップS20及びステップS25を例えば1秒間隔で実行する。当該1秒が所定周期の一例である。
【0034】
プリンタアプリケーション170は、上記ステップS15~ステップS25を繰り返し実行するのと並行して、ステップS30以降の処理を実行する。ステップS30では、プリンタアプリケーション170は、イベントが発生するまで待機する。イベントは、後述するステップS100~ステップS800の各々に対応したイベントである。
【0035】
ステップS35では、プリンタアプリケーション170は、イベントの種類を判定する。後述するステップS100~ステップS800のいずれにも対応していないイベントが発生した場合には(ステップS35:No)、次のステップS36に移行し、その他のイベントに対応する処理を実行する。その後、上記ステップS30に戻る。一方、プリンタアプリケーション170は、後述するステップS100~ステップS800に対応するいずれかのイベントが発生した場合には(ステップS35:Yes)、該当するイベント処理を実行する。
【0036】
プリンタアプリケーション170は、発生したイベントが印刷システム1へのプリンタ200の追加又は削除である場合には、ステップS100のプリンタ追加又は削除に対する処理を実行する。図3に、ステップS100の詳細内容の一例を示す。このイベントは、プリンタアプリケーション170がmDNSなどのプロトコルやUSB PnP情報により新たなプリンタが接続されたことを検出した場合や、ユーザー操作によりプリンタの追加が行われた場合に発生する。
【0037】
図3に示すように、ステップS110では、プリンタアプリケーション170は、mDNS/SD(multicast Domain Name System/Service Discovery)プロトコルにより追加されたプリンタ200EをmDNS/SDプロトコルによりCUPS160に通知する。CUPS160はこれによりプリンタアプリケーション170によって生成されたプリンタ200Eに対応する仮想プリンタを自身に登録する。その登録に必要なデータはmDNS/SDにより提供される。つまりCUPS160の接続先はプリンタ200Eではなくプリンタアプリケーション170となる。また個々の仮想プリンタはURIにて識別される。
【0038】
ステップS120では、プリンタアプリケーション170内にプリントキューを作成する。このプリントキューはURIで指定された仮想プリンタと実プリンタをつなぐものである。
【0039】
ステップS130では、プリンタアプリケーション170は、上記ステップS110でmDNSを用いて検出されたプリンタ200を管理PC300の管理ソフト301に通知する準備をする。管理ソフト301からmDNS/SDで問い合わせがあった際に、その追加又は削除されたプリンタ情報が反映された情報が返されることになる。その後、図3のサブルーチンを終了し、図2のステップS30に戻る。
【0040】
プリンタアプリケーション170は、発生したイベントが指定時間になったことである場合には、ステップS200の指定時間ごとの処理を実行する。またプリンタアプリケーション170は、発生したイベントが管理ソフト301からのデータ収集命令の受信である場合には、ステップS500の管理ソフトからのデータ収集命令に対する処理を実行する。ステップS200とステップS500の処理内容は共通である。図4に、ステップS200及びステップS500の詳細内容の一例を示す。なお、発生したイベントが管理ソフト301からのデータ収集命令の受信である場合には、上記ステップS35のYES判定においてプリンタアプリケーション170は管理PC300からのデータ収集命令を受け付ける。データ収集命令が情報送信要求の一例であり、上記ステップS35のYES判定が情報要求受付処理の一例である。
【0041】
図4に示すように、ステップS210では、プリンタアプリケーション170は、接続されたプリンタ200の各々に情報収集PJL(Printer Job Language)を送信する。情報収集PJLは、例えばトナー残量、用紙残量等の各プリンタ200に備えられた消耗品の消耗状況に係わる消耗データの送信を要求するコマンドである。なお、プリンタ200がインクジェットプリンタである場合には消耗データにインク残量が含まれてもよい。情報収集PJLがデータ送信要求の一例であり、当該ステップS210がデータ要求出力処理の一例である。
【0042】
ステップS220では、プリンタアプリケーション170は、上記情報収集PJLに応じて接続されたプリンタ200の各々から送信された応答情報を受信し、各プリンタ200の消耗データを取得する。当該ステップS220が消耗データ取得処理の一例である。
【0043】
ステップS230では、プリンタアプリケーション170は、上記ステップS35で受け付けたデータ収集命令に応じて、上記ステップS220で取得した各プリンタ200の消耗データを管理PC300の管理ソフト301へ向けて送信する。その後、図4のサブルーチンを終了し、図2のステップS30に戻る。当該ステップS230が消耗品情報出力処理の一例である。
【0044】
なお、上記ステップS210~ステップS230は、指定時間ごと、あるいは、管理PC300からのデータ収集命令を受け付けたタイミングで実行される。指定時間ごとは、予め定められた所定時刻ごとでもよいし、あるいは、予め定められた所定周期ごとでもよい。
【0045】
プリンタアプリケーション170は、発生したイベントがCUPS160、あるいは、CUPS160からプリンタ200に対する印刷指示である場合には、ステップS300の印刷指示に対する処理を実行する。ステップS300では、プリンタアプリケーション170は、管理PC300の管理ソフト301に印字開始通知を送信すると共に、対応するプリンタ200に印刷データを送信して印刷を実行させる。
【0046】
プリンタアプリケーション170は、発生したイベントが印字終了である場合には、ステップS400の印字終了通知に対する処理を実行する。ステップS400では、プリンタアプリケーション170は、管理PC300の管理ソフト301に印字終了通知を送信する。
【0047】
プリンタアプリケーション170は、発生したイベントが管理ソフト301からのステータス収集命令を受け取ったことにより発生したものである場合には、ステップS600の管理ソフトからのステータス収集命令に対する処理を実行する。図5に、ステップS600の詳細内容の一例を示す。ステータス収集命令が情報収集信号の一例であり、上記ステップS35のYES判定が情報収集信号取得処理の一例である。
【0048】
図5に示すように、ステップS610では、プリンタアプリケーション170は、ステータス収集命令に応じてステータス情報を集計し、当該集計情報を管理PC300の管理ソフト301に送信する。集計されるステータス情報には、前述のステップS15~ステップS25の繰り返しにより更新された最新のUSTATUSによるステータス情報及びINFO STATUSによるステータス情報が含まれる。その後、図5のサブルーチンを終了し、図2のステップS30に戻る。当該ステップS610が情報集計処理及びステータス情報送信処理の一例である。
【0049】
プリンタアプリケーション170は、発生したイベントが管理PC300からのPause又はResumeボタン通知である場合には、ステップS700の管理PCからのPause/Resumeボタン通知に対する処理を実行する。図6に、ステップS700の詳細内容の一例を示す。なお、Pauseボタンは管理PC300の管理ソフト画面において管理者Cが特定のプリンタ200における印刷の実行を一時停止させる場合に操作されるボタンであり、Resumeボタンは一時停止後に印刷を再開させる場合に操作されるボタンである。
【0050】
図6に示すように、ステップS710では、プリンタアプリケーション170は、CUPS160に対してPause又はResumeを指示する。その後、図6のサブルーチンを終了し、図2のステップS30に戻る。
【0051】
プリンタアプリケーション170は、発生したイベントが管理PC300からのクリーニングボタン通知である場合には、ステップS800の管理PCでクリーニングボタンに対する処理を実行する。図7に、ステップS800の詳細内容の一例を示す。
【0052】
図7に示すように、ステップS810では、プリンタアプリケーション170は、操作されたクリーニングボタンに対応するプリンタ200にクリーニングPJLを送信する。クリーニングPJLは、例えばレーザプリンタであるプリンタ200にトナーのクリーニングを要求するコマンドである。なお、プリンタ200がインクジェットプリンタである場合には印字ヘッドのノズルのクリーニングを要求してもよい。その後、図7のサブルーチンを終了し、図2のステップS30に戻る。
【0053】
なお、図2図7のフローチャートでは図示を省略したが、プリンタアプリケーション170は、上記ステップS10~ステップS25で取得されるステータス情報の一部である基本ステータスを、CUPS160へ向けて出力する。基本ステータスには、例えば用紙切れ、ジャム等の基本的なエラーの情報等が含まれる。当該処理が基本ステータス出力処理の一例である。
【0054】
<ステータス情報の集計、管理ソフト画面>
管理PC300の管理ソフト301の管理集計部304は、プリンタアプリケーション170A,170B及び第4プリンタ200Dから取得したステータス情報をプリンタごとに集計する。図8に、上記管理集計部304によるステータス情報の集計手法の一例を示す。図8では、プリンタアプリケーション170からステータス情報を取得し集計する場合について説明する。
【0055】
図8に示すように、プリンタアプリケーション170は、印刷ジョブごとにステップS1~ステップS9を実行する。ステップS1では、プリンタアプリケーション170は、管理ソフト301に印字開始通知を送信する。ステップS2では、プリンタアプリケーション170は、印刷データを受信する。ステップS3では、プリンタアプリケーション170は、受信した印刷データをスプールする。ステップS4では、プリンタアプリケーション170は、印刷を実行するプリンタ200とのコネクションを確立する。ステップS5では、プリンタアプリケーション170は、プリンタ200が対応可能な印刷データに応じて、印刷機能の制限や拡張の有無に応じて、印刷データの変換を行う。受信した印刷データがプリンタ200の対応可能な印刷データであり、かつ印刷機能の拡張や制限がない場合にはステップS5は実行しなくてもよい。ステップS6では、プリンタアプリケーション170は、印刷を実行するプリンタ200に、変換された印刷データ或いは変換の必要のなかった印刷データを送信する。ステップS7では、プリンタアプリケーション170は、印刷を実行したプリンタ200から印字終了通知を受信するまで待機する。ステップS8では、プリンタアプリケーション170は、管理ソフト301に印字終了通知を送信する。ステップS9では、プリンタアプリケーション170は、印刷を実行したプリンタ200とのコネクションを終了する。
【0056】
図8は、例えばプリンタ200が3つの印刷ジョブ1~印刷ジョブ3を所定時間ずつずれたタイミングで受信した場合の例である。印刷ジョブ2での処理手順は印刷ジョブ1と同様であるが、印刷ジョブ3では例えばステップS6で送信エラーが発生したものとする。印刷ジョブ1のステップS1が開始されるまでの間は、プリンタ200のステータスはREADYとなる。印刷ジョブ1のステップS1が実行されてから印刷ジョブ2のステップS1が実行されるまでの間は、プリンタ200のステータスは印字中且つ待機0となる。なお、待機の数値は印字終了通知がされるまで待機中の印字ジョブの数である。印刷ジョブ2のステップS1が実行されてから印刷ジョブ3のステップS1が実行されるまでの間は、プリンタ200のステータスは印字中且つ待機1となる。印刷ジョブ3のステップS1が実行されてから印刷ジョブ1のステップS8が実行されるまでの間は、プリンタ200のステータスは印字中且つ待機2となる。印刷ジョブ1のステップS8が実行されてから印刷ジョブ2のステップS8が実行されるまでの間は、プリンタ200のステータスは印字中且つ待機1となる。印刷ジョブ2のステップS8が実行されてから印刷ジョブ3のステップS8が実行されるまでの間は、プリンタ200のステータスは印字中且つ待機0となる。なお、この期間において印刷ジョブ3のステップS6でエラーが発生している間は、プリンタ200のステータスはエラーとなる。印刷ジョブ3のステップS8が実行された後は、プリンタ200のステータスはREADYとなる。
【0057】
管理ソフト301は、以上のようにして各プリンタ200A~200Dについて集計したステータス情報等の一覧を表示部340(後述の図15参照)に表示させる。図9に、管理ソフト301により表示される管理ソフト画面(ステータスモニタ画面)の一例を示す。
【0058】
図9に示すように、管理ソフト画面には、第1プリンタ200A、第2プリンタ200B、第3プリンタ200C、及び第4プリンタ200Dのそれぞれに、上記集計されたステータス情報309と、消耗品の消耗状況に係わる消耗データ306と、が表示されている。ステータス情報309は、READY又は印字中(Printing)を表すステータスと、待機中の印字ジョブの数を表す待機ジョブと、を含む。消耗データ306は、例えばゲージで表されたトナー残量と用紙残量を含む。また管理ソフト画面には、第1プリンタ200A、第2プリンタ200B、第3プリンタ200C、及び第4プリンタ200Dのそれぞれに、Pause(又はResume)ボタン307及びクリーニングボタン308が表示されている。Pause(又はResume)ボタン307は、操作される度にPauseとResumeの表示が切り替わる。管理者Cは、いずれかのプリンタ200のPauseボタン307を操作することで、対応するプリンタ200における印刷を一時停止させることができる。管理者Cは、一時停止されたプリンタ200のResumeボタン307を操作することで、一時停止されたプリンタ200の印刷を再開させることができる。管理者Cは、いずれかのプリンタ200のクリーニングボタン308を操作することで、対応するプリンタ200のトナーのクリーニングを実行することができる。
【0059】
なお、図9に示す管理ソフト画面は、管理PC300以外にも、例えば第1クライアントPC100A又は第2クライアントPC100Bの表示部140(後述の図14参照)に表示されてもよい。
【0060】
<プリンタアプリケーションによるバックエンドに対するアクセス権の占有>
本実施形態では、プリンタアプリケーション170が、プリンタ200との間でUSBケーブルを介した通信を行うためのバックエンド180に対するアクセス権限を占有して、印刷を実行するための通信とステータスモニタのための通信を実行する。これにより、印刷のための処理とステータスモニタのための処理の安定的な両立を実現することができる。上記内容について図10及び図11を用いて説明する。なお、図10及び図11に示すステータスモニタとは、ステータスモニタの実行に必要な処理であり、例えば図2のステップS10,S20及び図4のステップS210,S220に相当する。
【0061】
まず本実施形態との比較のために、図10にプリンタアプリケーション170を有しない場合のバックエンド180に対する使用権の一例を示す。使用権はアクセス権の一例である。例えば、クライアントPC100とプリンタ200とがUSBケーブルにより接続され、且つ、CUPS160を搭載するOSが例えばLinux(登録商標)等である場合には、プリンタ200との間で通信を行うためのバックエンド180に対し、単体のアプリケーションしか使用権限を取得できない。この場合において、図10に示すようにCUPS160やステータスモニタがプリンタアプリケーション170を介さずにバックエンド180にアクセスする場合、印刷実行中はCUPS160がバックエンド180に対する使用権を占有する。このため、ステータスモニタはバックエンド180にアクセスすることができない。一方、ステータスモニタは、印刷実行中でない場合にはバックエンド180にアクセスすることができる。したがって、図10に示す構成では印刷のための処理とステータスモニタのための処理を両立することができない。
【0062】
図11に、本実施形態におけるバックエンド180に対するアクセス権の一例を示す。本実施形態では、図11に示すように、プリンタアプリケーション170がCUPS160及びステータスモニタとバックエンド180との間で印刷処理及びステータスモニタ処理の仲介を行う。このため、印刷実行中であるか否かにかかわらず、プリンタアプリケーション170がバックエンド180に対する使用権を占有する。このため、印刷を実行するためのプリンタ200との通信とステータスモニタのためのプリンタ200との通信の一方が他方を制限したりするおそれがない。したがって、印刷のための処理とステータスモニタの安定的な両立を実現することができる。
【0063】
図12に、プリンタアプリケーション170による使用権取得に係わる処理手順の一例を示す。ステップS910では、プリンタアプリケーション170は、USBディスクリプタを取得する。USBディスクリプタは、USB機器の仕様の詳細を表すデータ列である。
【0064】
ステップS920では、プリンタアプリケーション170は、上記ステップS910で取得したUSBディスクリプタに記述されたインタフェースと送信エンドポイント及び受信エンドポイントを取得する。
【0065】
ステップS930では、プリンタアプリケーション170は、上記ステップS920で取得したインタフェースの使用権の取得をバックエンド180に要求する。
【0066】
ステップS940では、プリンタアプリケーション170は、インタフェースの使用権を取得できたか否かを判定する。プリンタアプリケーション170は、使用権を取得できない場合には(ステップS940:No)、上記ステップS930に戻る。一方、プリンタアプリケーション170は、使用権を取得できた場合には(ステップS940:Yes)、次のステップS950に移行する。すなわち、当該ステップS940のYES判定では、プリンタアプリケーション170はバックエンド180に対するアクセス権限を取得する。当該ステップS940のYES判定がアクセス権限取得処理の一例である。
【0067】
ステップS950では、プリンタアプリケーション170は、処理要求が受信されるまで待機する。
【0068】
ステップS960では、プリンタアプリケーション170は、受信した処理要求が送信要求であるか否かを判定する。プリンタアプリケーション170は、受信した処理要求が送信要求である場合には(ステップS960:Yes)、次のステップS970に移行する。
【0069】
ステップS970では、プリンタアプリケーション170は、上記ステップS920で取得した送信エンドポイントに対して、上記ステップS940で取得した使用権に基づき、各種のデータをバックエンド180を介して送信する。各種のデータには、例えば前述のステップS10で送信するUSTATUS DEVICE ON及びINFO STATUSコマンド、前述のステップS210で送信する情報収集PJL、前述のステップS810で送信するクリーニングPJL、印刷データ、等が含まれる。その後、ステップS990に移行する。
【0070】
一方、上記ステップS960において、プリンタアプリケーション170は、受信した処理要求が受信要求である場合には(ステップS960:No)、次のステップS980に移行する。
【0071】
ステップS980では、プリンタアプリケーション170は、上記ステップS920で取得した受信エンドポイントから、上記ステップS940で取得した使用権に基づき、各種のデータをバックエンド180を介して受信する。各種のデータには、例えば前述のステップS20で取得したUSTATUSによるステータス情報及びINFO STATUSによるステータス情報、ステップS220で取得する応答、等が含まれる。その後、ステップS990に移行する。
【0072】
ステップS990では、プリンタアプリケーション170は、処理を終了するか否かを判定する。プリンタアプリケーション170は、処理を終了しない場合には(ステップS990:No)、上記ステップS950に戻る。一方、プリンタアプリケーション170は、処理を終了する場合には(ステップS990:Yes)、本フローを終了する。
【0073】
<管理ソフトによるステータスモニタに係わる処理>
図13に、管理PC300の管理ソフト301によるステータスモニタに係わる処理手順の一例を示す。
【0074】
ステップS1005では、管理ソフト301は、PCブラウズスレッドを開始する。PCブラウズスレッドは、印刷システム1のプリンタ200Dおよびプリンタアプリケーション170で生成された仮想プリンタの検索を実行するためのスレッドである。ネットワークプリンタ200Dは、プリンタ自身とのmDNS/SDプロトコルによる通信で検索が行われる。またプリンタ200A~プリンタ200Cに対応するプリンタアプリケーション170による仮想プリンタは、プリンタアプリケーション170とのmDNS/SDによる通信によりなされる。
【0075】
ステップS1010では、管理ソフト301は、クライアントPC100それぞれのプリンタアプリケーション170を検索し、当該プリンタアプリケーション170からmDNS情報を取得する。mDNS情報には、プリンタアプリケーション170の各々においてmDNSを用いて検出されたプリンタ200の情報が含まれる。当該ステップS1010が検索処理の一例である。この情報は図3のステップS130によりプリンタの増減が反映されたものとなる。
【0076】
なお、クライアントPC100のプリンタアプリケーション170は、上記ステップS1010において管理ソフト301により実行される検索アクセスを受け付ける。当該プリンタアプリケーション170による処理が検索アクセス受付処理の一例である。
【0077】
ステップS1012では、管理ソフト301は、上記ステップS1010で取得したmDNS情報に基づいて、プリンタアプリケーション170ごとに対応するプリンタ200およびネットワークプリンタ200Dの情報を取得する。なお、以下説明の簡略化のため、本発明と関係ないネットワークプリンタ200Dの処理は省略して説明する。ただし実際にはプリンタ200Dに関しても同列に管理される。
【0078】
ステップS1014では、管理ソフト301は、プリンタ200に増減があるか否かを判定する。管理ソフト301は、プリンタ200に増減がない場合には(ステップS1014:No)、上記ステップS1010に戻る。一方、管理ソフト301は、プリンタ200に増減がある場合には(ステップS1014:Yes)、次のステップS1015に移行する。
【0079】
ステップS1015では、管理ソフト301は、上記ステップS1012で取得したプリンタ200の情報に基づき、プリンタ200のリストを作成又は既に作成されているリストを更新する。このプリンタリストには、そのプリンタが仮想プリンタの場合には生成したプリンタアプリケーション170の情報と関連付けて記憶されている。当該ステップS1015がリスト作成処理及びリスト更新処理の一例である。その後、上記ステップS1010に戻る。
【0080】
管理ソフト301は、上記ステップS1010~ステップS1015を繰り返すことで、印刷システム1のプリンタリストを最新の状態に更新し続ける。管理ソフト301は、上記ステップS1010~ステップS1015を繰り返し実行するのと並行して、ステップS1020以降の処理を実行する。
【0081】
ステップS1020では、管理ソフト301は、プリンタアプリケーション170ごとに対応するプリンタリストを取得する。このプリンタリストは前述のステップS1015で適宜更新されたものである。
【0082】
ステップS1025では、管理ソフト301は、上記ステップS1020で取得したプリンタリストに含まれる各プリンタ200のプリンタ情報を対応するプリンタアプリケーション170から取得する。プリンタ情報には、前述のステータス情報や消耗データ等が含まれる。この処理は、プリンタアプリケーション170にイベントを通知して図2のステップS600を行わせることにより実行される。
【0083】
ステップS1030では、管理ソフト301は、管理ソフト画面(前述の図9参照)を表示部340(後述の図15参照)に表示させる。
【0084】
ステップS1035では、管理ソフト301は、イベントを受信するまで待機する。イベントは、例えばプリンタリストの更新、所定時間の経過、所定時刻への到達、Pause(又はResume)ボタン307の操作、クリーニングボタン308の操作等である。
【0085】
ステップS1040では、管理ソフト301は、前述のステップS1015によりプリンタリストが更新されたか否かを判定する。管理ソフト301は、プリンタリストが更新された場合には(ステップS1040:Yes)、上記ステップS1020に戻る。一方、管理ソフト301は、プリンタリストが更新されていない場合には(ステップS1040:No)、次のステップS1045に移行する。
【0086】
ステップS1045では、管理ソフト301は、前回のステップS1050の実行から所定時間(例えば10秒)が経過したか否かを判定する。管理ソフト301は、所定時間が経過した場合には(ステップS1045:Yes)、次のステップS1050に移行する。
【0087】
ステップS1050では、管理ソフト301は、全てのプリンタ200のステータス情報を、上記ステップS1025で取得したステータス情報に更新する。その後、上記ステップS1020に戻る。管理ソフト301が、所定時間が経過する度にステップS1050及びステップS1020~ステップS1030を繰り返すことにより、管理ソフト画面のステータス情報が所定時間(例えば10秒)ごとに最新の状態に更新される。この処理は、プリンタアプリケーション170にイベントを通知して図2のステップS600を行わせることにより実行される。
【0088】
一方、上記ステップS1045において、管理ソフト301は、所定時間が経過していない場合には(ステップS1045:No)、次のステップS1055に移行する。
【0089】
ステップS1055では、管理ソフト301は、予め定められた所定時刻に到達したか否かを判定する。管理ソフト301は、所定時刻に到達した場合には(ステップS1055:Yes)、次のステップS1060に移行する。
【0090】
ステップS1060では、管理ソフト301は、上記ステップS1010で検索できた各プリンタアプリケーション170に向けて、対応する各プリンタ200に備えられた消耗品の消耗状況に係わる消耗データを含む消耗品情報の送信を要求する情報送信要求を出力する。具体的には、管理ソフト301は、上記ステップS1015で作成したプリンタリストに含まれるプリンタ200に対応する各プリンタアプリケーション170に向けて上記情報送信要求を出力する。管理ソフト301は、情報送信要求に応じて各プリンタアプリケーション170から出力された消耗品情報を取得する。これにより、管理ソフト301は、印刷システム1が有する全てのプリンタ200のAuditor情報を取得する。Auditor情報は、プリンタ200に備えられた消耗品の消耗状況に係わる消耗データを含む消耗品情報である。当該ステップS1060が情報要求出力処理及び消耗品情報取得処理の一例である。この処理は、プリンタアプリケーション170にイベントを通知して図2のステップS500を行わせることにより実行される。
【0091】
ステップS1065では、管理ソフト301は、上記ステップS1060で取得されたAuditor情報に基づいて消耗品の消耗状況をプリンタ200ごとに評価する。当該ステップS1065が消耗状況評価処理の一例である。
【0092】
ステップS1070では、管理ソフト301は、上記ステップS1065における評価結果に応じて、消耗品の消耗状況に関する何らかのアクションが必要か否かを判定する。管理ソフト301は、アクションが不要であると判定した場合には(ステップS1070:No)、上記ステップS1020に戻る。一方、管理ソフト301は、アクションが必要であると判定した場合には(ステップS1070:Yes)、次のステップS1075に移行する。
【0093】
ステップS1075では、管理ソフト301は、上記ステップS1065での評価結果に応じて対応するアクションを実行する。アクションは、例えばユーザに対する警告や消耗品の自動発注等である。当該ステップS1075が対応アクション処理の一例である。その後、上記ステップS1020に戻る。
【0094】
なお、上記ステップS1055により、上記ステップS1060~ステップS1075は予め定められた所定時刻に実行されるが、予め定められた所定周期ごとに実行させてもよい。
【0095】
一方、上記ステップS1055において、管理ソフト301は、所定時刻に到達していない場合には(ステップS1055:No)、次のステップS1080に移行する。
【0096】
ステップS1080では、管理ソフト301は、Pause(又はResume)ボタン307が操作されたか否かを判定する。管理ソフト301は、Pause(又はResume)ボタン307が操作された場合には(ステップS1080:Yes)、次のステップS1085に移行する。
【0097】
ステップS1085では、管理ソフト301は、対象のプリンタ200に対してPause又はResumeボタン307の操作に応じて印刷の一時停止又は再開処理を実行する。その後、上記ステップS1020に戻る。この処理は、プリンタアプリケーション170にイベントを通知して図2のステップS700を行わせることにより実行される。
【0098】
一方、上記ステップS1080において、管理ソフト301は、Pause(又はResume)ボタン307が操作されていない場合には(ステップS1080:No)、次のステップS1090に移行する。
【0099】
ステップS1090では、管理ソフト301は、クリーニングボタン308が操作されたか否かを判定する。管理ソフト301は、クリーニングボタン308が操作された場合には(ステップS1090:Yes)、次のステップS1095に移行する。
【0100】
ステップS1095では、管理ソフト301は、対象のプリンタ200に対してトナーのクリーニング処理を実行する。この処理は、プリンタアプリケーション170にイベントを通知して図2のステップS800を行わせることにより実行される。その後、上記ステップS1020に戻る。
【0101】
一方、上記ステップS1090において、管理ソフト301は、クリーニングボタン308が操作されていない場合には(ステップS1090:No)、上記ステップS1020に戻る。
【0102】
<実施形態の効果>
本実施形態では、印刷システム1が複数のクライアントPC100と複数のプリンタ200と管理PC300を含む。複数のクライアントPC100の各々は、オペレーティングシステムに標準に搭載されプリンタベンダの提供するドライバを用いないドライバレス印刷を実行可能なCUPS160と、複数のプリンタ200のうち接続されているプリンタ200に対応する仮想プリンタとしてCUPS160に登録されたプリンタアプリケーション170と、を有する。管理PC300の管理ソフト301は、ステップS1010と、ステップS1060と、を実行させる。ステップS1010では、複数のクライアントPC100それぞれのプリンタアプリケーション170が検索される。ステップS1060では、ステップS1010での検索結果に基づき、検索できたプリンタアプリケーション170に向けて、対応するプリンタ200に備えられた消耗品の消耗状況に係わる消耗データを含む消耗品情報の情報送信要求が出力される。ステップS1060では、出力した情報送信要求に応じて出力された消耗品情報が、複数のクライアントPC100それぞれのプリンタアプリケーション170から取得される。
【0103】
本実施形態によれば、ネットワークに新たなプリンタ200が接続された場合でも、ステップS1010により自動的に検出でき、且つ、検出されたプリンタ200に対して消耗品情報を要求して取得することで、複数のプリンタ200の消耗品情報を一括して管理できる。本実施形態によれば、ネットワークに新たなプリンタ200が接続された場合にも容易に対応でき、プリンタ200の消耗品を効率的に管理することができる。
【0104】
また、本実施形態では特に、管理PC300の管理ソフト301は、ステップS1010での検索結果に基づき、検索できたプリンタアプリケーション170に対応するプリンタ200のリストを作成するステップS1015を実行させる。ステップS1060では、ステップS1015で作成したリストに含まれるプリンタ200に対応するプリンタ200に向けて、情報送信要求が出力される。本実施形態によれば、ステップS1010により検出したプリンタ200をリスト化して消耗品情報を要求するので、効率的且つプリンタ200に抜けが無いように消耗品を管理できる。
【0105】
また、本実施形態では特に、管理PC300の管理ソフト301は、ステップS1015によるリストの作成後に実行したステップS1010において検索できたプリンタアプリケーション170の増減があった場合に、当該リストを更新するステップS1015を実行させる。ステップS1060では、ステップS1015で更新したリストに含まれるプリンタ200に対応するプリンタアプリケーション170に向けて、情報送信要求が出力される。本実施形態によれば、プリンタ200のリストを常に最新の状態に更新しつつ消耗品情報を要求するので、印刷システム1におけるプリンタ200の増減に容易に対応できる。
【0106】
また、本実施形態では特に、管理PC300の管理ソフト301は、ステップS1060を、予め定められた所定時刻に実行させる、若しくは、予め定められた所定周期ごとに実行させる。本実施形態によれば、予め定められた所定時刻又は所定周期ごとに、各プリンタ200に対して消耗品情報を要求して取得することができる。所定時刻又は所定周期を調整して消耗品情報の取得頻度を増やすことで、消耗品情報のリアルタイム性を向上できる。
【0107】
また、本実施形態では特に、管理PC300の管理ソフト301は、ステップS1065~ステップS1075を実行する。ステップS1065では、ステップS1060で取得された消耗品情報に基づいて消耗品の消耗状況が評価され、ステップS1070及びステップS1075では、消耗状況評価処理での評価結果に応じて対応するアクションが実行される。本実施形態によれば、各プリンタ200における消耗品の消耗状況に応じて、例えばユーザに対する警告や消耗品の自動発注等、必要なアクションを実行することができる。
【0108】
また、本実施形態では特に、各クライアントPC100のプリンタアプリケーション170は、CUPS160に仮想プリンタとして登録されたとき、ステップS210と、ステップS220と、検索アクセス受付処理と、ステップS35と、ステップS230と、を実行する。ステップS210では、対応するプリンタ200に備えられた消耗品の消耗状況に係わる消耗データの送信を要求する情報収集PJLが当該プリンタ200に向けて出力される。ステップS220では、ステップS210で出力した情報収集PJLに応じてプリンタ200から送信された消耗データが取得される。検索アクセス受付処理では、複数のクライアントPC100に対し通信可能に構成された管理PC300からの検索アクセスが受け付けられる。ステップS35では、管理PC300からの、消耗データを含む消耗品情報のデータ収集命令が受け付けられる。ステップS230では、ステップS35で受け付けたデータ収集命令に応じて、対応するプリンタ200の消耗品情報が管理PC300へ向けて出力される。
【0109】
本実施形態によれば、ネットワークに新たなプリンタ200が接続された場合でも、対応するプリンタ200に対して通信可能なプリンタアプリケーション170が管理PC300による検索アクセスを受け付けることにより自動的に検出できる。また、各プリンタアプリケーション170が対応するプリンタ200の消耗品情報を管理PC300へ向けて出力することで、管理PC300において複数のプリンタ200の消耗品情報を一括して管理できる。本実施形態によれば、ネットワークに新たなプリンタ200が接続された場合にも容易に対応でき、プリンタ200の消耗品を効率的に管理することができる。
【0110】
また、本実施形態では特に、クライアントPC100のプリンタアプリケーション170は、ステップS210及びステップS220を、予め定められた所定時刻に実行させる、若しくは、予め定められた所定周期ごとに実行させる。本実施形態によれば、予め定められた所定時刻又は所定周期ごとに、プリンタアプリケーション170は対応するプリンタ200に対して消耗品の消耗状況に係わる消耗データを要求して取得することができる。所定時刻又は所定周期を調整して消耗データの取得頻度を増やすことで、消耗データのリアルタイム性を向上できる。
【0111】
<変形例>
なお、本発明は、上記実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。
【0112】
上記実施形態では、プリンタアプリケーション170がステップS10~ステップS25により取得したステータス情報をステップS610において管理PC300に送信するようにしたが、これに加えて、例えばクライアントPC100において表示してもよい。例えば、プリンタアプリケーション170がステップS10~ステップS25で取得されたステータス情報を表示するためのステータス表示信号をブラウザ104A,104Bに出力し、ユーザA又はユーザBに提供してもよい。この場合にプリンタアプリケーション170が実行する上記処理がステータス表示信号出力処理の一例である。本変形例によれば、ステップS10~ステップS25により取得されるステータス情報をクライアントPC100のユーザに提供することができる。
【0113】
また、図2図8及び図12図13に示すフローチャートは本発明を上記フローに示す手順に限定するものではなく、発明の趣旨及び技術的思想を逸脱しない範囲内で手順の追加・削除又は順番の変更等をしてもよい。
【0114】
本実施形態では「検索処理」としてCUPS160におけるプリンタ200の検索機能を用い、そこから対応する「情報処理プログラム」であるプリンタアプリケーション170を特定する手法をとっているが、プリンタアプリケーション170にてUDPにてブロードキャストし、管理PC300にてそれを受信しても良い。また管理ソフト301がUDPにてブロードキャストし、それにプリンタアプリケーション170が呼応して情報を返すことで検索するようにしてもよい。
またプリンタアプリケーション170が各クライアントPC100にインストールされる際にインストーラにより管理ソフト301に通知し、管理ソフト301にてその情報を記憶する構成としてその記憶された情報を検索することで「検索処理」としてもよい。
【0115】
本実施形態では管理ソフト301からの要求によって消耗品情報を返す構成としたが、管理ソフト301側で常時情報の待ち受け状態とし、プリンタアプリケーション170が能動的に情報を送るようにしてもよい。このようにすることにより消耗品情報がリアルタイムに更新されるとともに、更新時でのクライアントPC100のシャットダウンなどによる情報更新漏れを防ぐことができる。この場合、予めプリンタアプリケーション170から消耗品情報の送り先として管理ソフト301を指定しておく。この指定を受け付ける処理は情報要求出力処理の一例である。
【0116】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
【0117】
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【0118】
<クライアントPC、プリンタ、管理PCのハードウェア構成>
図14を用いて、クライアントPC100及びプリンタ200のハードウェア構成の一例を説明する。なお、第1クライアントPC100Aと第2クライアントPC100Bのハードウェア構成を共通としてもよい。また、第1プリンタ200A、第2プリンタ200B、第3プリンタ200C、及び第4プリンタ200Dのハードウェア構成を共通としてもよい。
【0119】
<クライアントPC>
図14に示すように、クライアントPC100は、プロセッサ110と、記憶装置115と、表示部140と、操作部150と、通信インタフェース190と、を有している。これらプロセッサ110、記憶装置115、表示部140、操作部150、及び通信インタフェース190は、バス105を介して互いにデータ送受信可能に接続されている。
【0120】
記憶装置115は、揮発性記憶装置120と、不揮発性記憶装置130と、を備えている。揮発性記憶装置120は、例えば、DRAMであり、処理対象となる各種のプログラムやデータを記憶する。不揮発性記憶装置130は、例えば、ハードディスクドライブ、あるいはソリッドステートドライブであり、プログラム記憶領域131と、データ記憶領域132と、を有している。
【0121】
プログラム記憶領域131には各種プログラムが格納されている。各種プログラムには、前述の図2図7及び図12のフローチャート等に基づく情報処理プログラム等が含まれる。データ記憶領域132には、各種プログラムの実行に必要なデータ等が記憶されている。
【0122】
プロセッサ110は、データ処理を行う装置、例えばCPUであり、プログラム記憶領域131に格納された各種プログラムを実行する。プロセッサ110は、ネットワークNTに接続された管理PC300及びプリンタ200等に対するデータ通信を含む各種の処理を行う。プロセッサ110と、上記プログラム記憶領域131に記憶された情報処理プログラムとが、第1制御部の一例である。
【0123】
表示部140は、例えば液晶ディスプレイ等であり、種々の情報を表示可能である。操作部150は、例えばマウスやキーボード等であり、ユーザによる操作を受け付ける。ユーザは、操作部150を操作することによって、種々の指示をクライアントPC100に入力可能である。
【0124】
通信インタフェース190は、他の装置と通信するための有線又は無線のネットワークインタフェースであり、ネットワークNTに接続されている。
【0125】
なお、上記記憶装置115は上述した装置要素での構成に限られず、例えば、RAM、ROM、EEPROM、HDD、クライアントPC100に着脱されるUSBメモリ等の可搬記録媒体、プロセッサ110が備えるバッファ等、或いはそれらの組み合わせによって構成されてもよい。
なお、記憶装置115は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。後述するプリンタ200の記憶装置215及び管理PC300の記憶装置315についても同様である。
【0126】
<プリンタ>
図14に示すように、プリンタ200は、プロセッサ210と、記憶装置215と、表示部240と、操作部250と、通信インタフェース270と、印刷部290と、を有している。これらプロセッサ210、記憶装置215、表示部240、操作部250、通信インタフェース270、及び印刷部290は、バス205を介して互いにデータ送受信可能に接続されている。
【0127】
記憶装置215は、揮発性記憶装置220と、不揮発性記憶装置230と、を備えている。揮発性記憶装置220は、例えば、DRAMであり、印刷対象の画像データを記憶する画像データ記憶領域222を備えている。不揮発性記憶装置230は、例えばNVRAM、フラッシュメモリ等であり、プログラム記憶領域231と、データ記憶領域232と、を備えている。プログラム記憶領域231には各種プログラムが格納されている。各種プログラムには、印刷処理プログラムなどのファームウェア等が含まれる。データ記憶領域232には、上記各種プログラムを実行するための各種データ等が記憶されている。
【0128】
プロセッサ210は、データ処理を行う装置であり、例えば、CPUである。プロセッサ210は、プログラム記憶領域231に格納された各種プログラムを実行する。
【0129】
表示部240は、例えば、液晶ディスプレイであり、種々の情報を表示可能である。操作部250は、ユーザによる操作を受け付ける装置である。ユーザは、操作部250を操作することによって、種々の指示をプリンタ200に入力可能である。通信インタフェース270は、他の装置と通信するための有線または無線のネットワークインタフェースであり、ネットワークNTに接続されている。
【0130】
印刷部290は、図示しない搬送機構により搬送されるシートに画像を印刷する。印刷部290は、クライアントPC100から送信された印刷データ、若しくは、操作部250での操作に基づき自ら生成した印刷ジョブに基づいて、シートに画像を印刷する。
【0131】
<管理PC>
図15に示すように、管理PC300は、プロセッサ310と、記憶装置315と、表示部340と、操作部350と、通信インタフェース390と、を有している。これらプロセッサ310、記憶装置315、表示部340、操作部350、及び通信インタフェース390は、バス305を介して互いにデータ送受信可能に接続されている。
【0132】
記憶装置315は、揮発性記憶装置320と、不揮発性記憶装置330と、を備えている。揮発性記憶装置320は、例えば、DRAMであり、処理対象となる各種のプログラムやデータを記憶する。不揮発性記憶装置330は、例えば、ハードディスクドライブ、あるいはソリッドステートドライブであり、プログラム記憶領域331と、データ記憶領域332と、を有している。
【0133】
プログラム記憶領域331には各種プログラムが格納されている。各種プログラムには、前述の図13のフローチャート等に基づく情報処理プログラム等が含まれる。データ記憶領域332には、各種プログラムの実行に必要なデータ等が記憶されている。
【0134】
プロセッサ310は、データ処理を行う装置、例えばCPUであり、プログラム記憶領域331に格納された各種プログラムを実行する。プロセッサ310は、ネットワークNTに接続されたクライアントPC100等に対するデータ通信を含む各種の処理を行う。プロセッサ310と、上記プログラム記憶領域331に記憶された情報処理プログラムとが、制御部及び第2制御部の一例である。
【0135】
表示部340は、例えば液晶ディスプレイ等であり、種々の情報を表示可能である。操作部350は、例えばマウスやキーボード等であり、ユーザによる操作を受け付ける。ユーザは、操作部350を操作することによって、種々の指示を管理PC300に入力可能である。
【0136】
通信インタフェース390は、他の装置と通信するための有線又は無線のネットワークインタフェースであり、ネットワークNTに接続されている。
【符号の説明】
【0137】
1 印刷システム(情報処理システムの一例)
100A 第1クライアントPC(情報処理装置、第1情報処理装置の一例)
100B 第2クライアントPC(情報処理装置、第1情報処理装置の一例)
110 プロセッサ(演算部の一例)
160A CUPS(OS標準印刷ソフトウェアの一例)
160B CUPS(OS標準印刷ソフトウェアの一例)
170A プリンタアプリケーション(情報処理プログラムの一例)
170B プリンタアプリケーション(情報処理プログラムの一例)
180 バックエンド
200 プリンタ(印刷装置の一例)
300 管理PC(外部装置、第2情報処理装置の一例)
310 プロセッサ(演算部の一例)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15