JP2017173928A - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP2017173928A
JP2017173928A JP2016056307A JP2016056307A JP2017173928A JP 2017173928 A JP2017173928 A JP 2017173928A JP 2016056307 A JP2016056307 A JP 2016056307A JP 2016056307 A JP2016056307 A JP 2016056307A JP 2017173928 A JP2017173928 A JP 2017173928A
Authority
JP
Japan
Prior art keywords
user
information
unit
processing
notification
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
JP2016056307A
Other languages
English (en)
Other versions
JP6597432B2 (ja
Inventor
武宏 鎌田
Takehiro Kamata
武宏 鎌田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2016056307A priority Critical patent/JP6597432B2/ja
Priority to US15/447,323 priority patent/US9933982B2/en
Priority to EP17159611.7A priority patent/EP3220260A1/en
Publication of JP2017173928A publication Critical patent/JP2017173928A/ja
Application granted granted Critical
Publication of JP6597432B2 publication Critical patent/JP6597432B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1263Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
    • 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/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/1224Client or server resources management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • 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
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

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)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract


【課題】サービスプロセスから、同時にログインしている複数のユーザと1対1に対応する複数のユーザプロセスの各々へ適切に処理を振り分ける。
【解決手段】本発明の情報処理装置は、プリンタキュー検知部と特定部と提供部とを備える。プリンタキュー検知部は、印刷の条件を含む属性情報と、印刷対象のデータと、を含む印刷ジョブを記憶するプリンタキューに印刷ジョブが登録されたか否かを検知する。特定部は、プリンタキュー検知部により印刷ジョブの登録が検知された場合、印刷を要求したユーザを識別するユーザ情報を特定する。提供部は、ログイン中の複数のユーザと1対1に対応する複数のユーザプロセスのうち、特定部により特定されたユーザ情報に対応するユーザプロセスに対して、ユーザプロセスが実行する処理に必要な情報を提供する。
【選択図】図3

Description

本発明は、情報処理装置、情報処理方法およびプログラムに関する。
従来、所定の条件に従ってプリントジョブを画像形成装置に振り分けるシステムが知られている(例えば特許文献1)。このようなシステムでは、ユーザがクライアント端末においてプリントジョブの印刷要求を行うと、クライアント端末において、プリントジョブが予め設定しておいた条件を満たすか否かを判定し、満たした条件の内容に応じて決定される印刷先の画像形成装置に、このプリントジョブの印刷を実行させる、という機能が実現される。また、プリントジョブが特定の条件を満たす場合に、ユーザに再度印刷を実行するか否かの確認を行わせるための確認画面を表示させる、といったことも可能である。
上記のようなシステムで、ログインしている(システムを使用する権限を有すると認められた)ユーザの操作画面上に、確認を受け付けるためのUIを表示させたい場合や、ユーザの個別の設定値を反映させたい場合がある。この機能は、ログインしているユーザのセッションで動作するユーザプロセスにより提供する必要があるが、複数のユーザが同時にログインしている場合は、システムに共通のサービスとして動作するコンポーネント(サービスプロセス)から、同時にログインしている複数のユーザと1対1に対応する複数のユーザプロセスの各々へ適切に処理を振り分ける必要がある。しかしながら、従来においては、サービスプロセスとユーザプロセスとが連携して、効率的にジョブの実行を制御するような仕組みは提供されていなかった。
上述した課題を解決し、目的を達成するために、本発明は、印刷の条件を含む属性情報と、印刷対象のデータと、を含む印刷ジョブを記憶するプリンタキューに前記印刷ジョブが登録されたか否かを検知するプリンタキュー検知部と、前記プリンタキュー検知部により前記印刷ジョブの登録が検知された場合、印刷を要求したユーザを識別するユーザ情報を特定する特定部と、ログイン中の複数のユーザと1対1に対応する複数のユーザプロセスのうち、前記特定部により特定された前記ユーザ情報に対応する前記ユーザプロセスに対して、前記ユーザプロセスが実行する処理に必要な情報を提供する提供部と、を備える情報処理装置である。
本発明によれば、サービスプロセスから、ユーザプロセスへ適切に処理を振り分け、制御することができる。
図1は、情報処理システムの構成の一例を示す図である。 図2は、クライアント端末のハードウェア構成の一例を示す図である。 図3は、クライアント端末が有する機能の一例を示す図である。 図4は、サービスプロセスおよびユーザプロセスの起動手順の一例を示すフロー図である。 図5は、クライアント端末のOS上で動作するプログラムの状態を示す図である。 図6は、クライアント端末のOS上で動作するプログラムの状態を示す図である。 図7は、クライアント端末のOS上で動作するプログラムの状態を示す図である。 図8は、クライアント端末の動作例を示すフローチャートである。 図9は、ルールベース印刷サービスコンポーネントの印刷要求通知制御部および特定情報通知検知部の動作例を示すフローチャートである。
以下、添付図面を参照しながら、本発明に係る情報処理装置、情報処理方法およびプログラムの実施形態を詳細に説明する。
図1は、本実施形態の情報処理システム100の構成の一例を示す図である。図1に示すように、情報処理システム100は、クライアント端末10と、1以上のプリンタ20と、を備えた印刷システムであり、これらは、有線または無線などで接続される。例えばインターネットなどのネットワークを介して接続される形態であってもよい。この情報処理システム100では、クライアント端末10は、ユーザの操作に応じて、印刷の実行を命令する印刷ジョブを生成し、その生成した印刷ジョブを、出力先として設定された何れかのプリンタ20へ送信する。そして、印刷ジョブを受信したプリンタ20は、その受信した印刷ジョブに基づく印刷を実行する。
クライアント端末10は、ユーザが利用するPC(Personal Computer)等の情報処理装置である。なお、クライアント端末10は、据置型の形態に限らず、例えば携帯型の形態(例えばスマートフォンやタブレットなどの形態)であってもよい。この例では、クライアント端末10は、請求項の「情報処理装置」に対応している。
図1の例では、クライアント端末10のオペレーティングシステム(OS)上で動作するプログラムとして、WordやExcelなどのユーザの操作に応じて印刷ジョブを作成するための印刷アプリケーション101、印刷アプリケーション101によって作成された印刷ジョブをプリンタ20が印刷可能な形式に変換するためのプリンタドライバ102、複数のユーザと1対1に対応し、それぞれがユーザのセッションで動作する複数のユーザプロセス103、および、システムに共通のサービスとして動作するサービスプロセス104などが存在している。サービスプロセス104には、プリンタドライバ102によって変換された印刷ジョブを一時的に保存し、順次に実行していくためのスプーラ(Print Spooler)、後述のキュー監視コンポーネント110、および、後述のルールベース印刷サービスコンポーネント120などが含まれる。なお、上述の印刷ジョブは、出力先のプリンタ20を指定する情報、印刷条件、印刷を要求したユーザを識別するユーザ情報などを含む属性情報と、印刷対象のデータ(描画データ)とを含む。また、この例では、OSは各ユーザを認証する機能を有している。
図1の例では、印刷アプリケーション101、プリンタドライバ102、複数のユーザプロセス103は、クライアント端末10のハードウェア資源を動作させて所定の機能を提供するためのアプリケーションソフトウェアである。また、サービスプロセス104は、クライアント端末10のハードウェアを管理、制御するなど、クライアント端末10の稼動や使用そのものをサポートするためのシステムソフトウェアである。
図2は、クライアント端末10のハードウェア構成の一例を示す図である。図2に示すように、クライアント端末10は、CPU501、ROM502、HDD503、RAM504、入力装置505、表示装置506、外部I/F507、通信I/F508などを備え、それぞれがバスBで相互に接続されている。
CPU501は、ROM502やHDD503などの記憶装置からプログラムやデータをRAM504上に読み出し、処理を実行することで、クライアント端末10全体の制御や各種の機能を実現する演算装置である。
ROM502は、電源を切っても(クライアント端末10に対する電力供給が遮断されても)プログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)の一例である。ROM502には、クライアント端末10の起動時に実行されるBIOS、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。
HDD503は、プログラムやデータを格納する不揮発性の記憶装置の一例である。HDD503には、クライアント端末10全体を制御する基本ソフトウェアであるOS、及びOS上において各種機能を提供するアプリケーションソフトウェア(以下、単に「アプリケーション」と称する)などがある。なお、クライアント端末10は、HDD503に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであってもよい。
RAM504は、プログラムやデータを一時保存する揮発性の記憶装置の一例であり、CPU501が実行する処理の作業領域(ワークエリア)として機能する。
入力装置505は、ユーザが各種の操作信号を入力するのに用いられるデバイスであり、例えばキーボードやマウス、タッチパネルなどで構成され得る。表示装置506は、各種の情報(例えばクライアント端末10による処理の結果等)を表示するデバイスであり、例えば液晶型のディスプレイ装置で構成され得る。なお、例えばタッチパネルなどのように、入力装置505と表示装置506とが一体で構成される形態であってもよい。また、入力装置505および表示装置506は必要なときに接続して利用する形態であってもよい。
外部I/F507は、外部装置とのインタフェースである。図2の例では、外部装置の一例として、記録媒体510を挙げているが、これに限られるものではない。クライアント端末10は、外部I/F507を介して、記録媒体510からのデータの読み出しまたは記録媒体510に対するデータの書き込みを行うことができる。記録媒体510の一例として、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリなどが挙げられる。
通信I/F508は、プリンタ20と通信するためのインタフェースである。例えばクライアント端末10とプリンタ20が、インターネットなどのネットワークを介して通信する形態であれば、通信I/F508は、クライアント端末10をネットワークに接続するためのインタフェースである。
図3は、クライアント端末10に実装される本発明に係るアプリケーションプログラムが有する機能の一例を示す図である。図3の例では、本実施形態に関する機能を主に例示しているが、クライアント端末10が有する機能はこれらに限られるものではない。図1にも示したように、クライアント端末10には、本発明に係るアプリケーションプログラムの他に、印刷アプリケーション101としての機能を実装する1以上のアプリケーションプログラム、プリンタドライバ102としての機能を実装する1以上のプリンタドライバプログラムがインストールされている。また、その他のアプリケーションプログラムがインストールされていてもよい。
図3に示すように、本発明に係るアプリケーションプログラムが実装されて処理が動作することにより、クライアント端末10において、複数のユーザと1対1に対応する複数のユーザプロセス103が起動される。各ユーザプロセス103は、対応するユーザがログインしたとき(クライアント端末10を使用する権限を有すると認められたとき)に起動し、また、ログアウトしたときにクローズする。なお、ログインした状態のまま、ユーザの切り替えを行い、他のユーザがログインした場合は、それぞれのユーザのユーザプロセス103が立ち上がった状態となる。
例えば、ログインしたユーザAに対する作業環境をクライアント端末10が提供し、ユーザAの設定に準じた画面が表示装置506に表示されている(例えば、ユーザAのデスクトップ画面が表示されている)ときに、本発明に係るアプリケーションプログラムがその画面に何らかのメッセージを表示させたい場合、ユーザAのユーザプロセス103を介して制御が行われることとなる。また、ユーザAのユーザプロセス103から、ユーザBのユーザプロセス103に対して処理の制御を行うことは通常許可されない。一方で、本発明に係るアプリケーションプログラムは、ユーザのユーザプロセス103とサービスプロセス104とを連携するための仕組みを用意する。なお、説明の便宜上、ここでは、ユーザAに対応するユーザプロセス103(ユーザA用のユーザプロセス103)を例に挙げて説明するが、他のユーザプロセス103が有する機能も同様である。
図3に示すように、サービスプロセス104は、キュー監視コンポ―ネント110、ルールベース印刷サービスコンポーネント120を有する。なお、この例では、キュー監視コンポ―ネント110とルールベース印刷サービスコンポーネント120との間の通信にはHTTPプロトコルを使用し、ルールベース印刷サービスコンポーネント120とユーザプロセス103との間の通信には名前付きパイプを使用している。ここで、ユーザプロセス103は、ログイン中のユーザの数だけ同時に起動し得るため、それぞれにポートを割り当てるのはポートの枯渇を招き易くなり、適切ではない。そこで、本実施形態では、サービスプロセス104(ルールベース印刷サービスコンポーネント120)とユーザプロセス103との間の通信に名前付きパイプを使用することで、ユーザプロセス103ごとにポートを割り当てることを回避している。
キュー監視コンポ―ネント110は、プリンタキュー検知部111と特定部112とを有する。プリンタキュー検知部111は、印刷ジョブを記憶するプリンタキュー(スプーラに含まれる)に印刷ジョブが登録されたか否かを検知する。特定部112は、プリンタキュー検知部111により印刷ジョブの登録が検知された場合、印刷を要求したユーザを識別するユーザ情報を特定する。この特定方法は任意であるが、本実施形態では、印刷ジョブに含まれる属性情報にユーザ情報が記述されているので、特定部112は、プリンタキューに登録された印刷ジョブに含まれる属性情報を確認することで、ユーザ情報を特定することができる。また、ここでは、プリンタキューに印刷ジョブが登録されたことは、ユーザからの印刷要求を受け付けたことと同義であると考えることができる。
ルールベース印刷サービスコンポーネント120は、「提供部」の一例であり、ログイン中の複数のユーザと1対1に対応する複数のユーザプロセス103のうち、特定部112により特定されたユーザ情報に対応するユーザプロセス103に対して、該ユーザプロセス103が実行する処理に必要な情報を提供する。具体的な内容は、後述の説明で明らかになるが、図3の例では、ルールベース印刷サービスコンポーネント120は、印刷要求通知制御部121、特定情報通知検知部122、書き込み部123を有する。
印刷要求通知制御部121は、特定部112により特定されたユーザ情報に対応するユーザプロセス103に対して、印刷要求を受け付けたことを示す印刷要求通知を通知するための制御を行う。ここでは、印刷要求通知制御部121は、ユーザプロセス103に対して印刷要求通知を通知するための制御として、特定部112により特定されたユーザ情報に対応するユーザプロセス103が有する後述の要求管理パイプ131(「要求管理用中間媒体」の一例)に、印刷要求通知を書き込む制御を行う。この例では、要求管理パイプ131は、名前付きパイプであり、上述の属性情報に記述されるユーザ情報を含む名前が付されている。この例では、印刷要求通知制御部121は、特定部112により特定されたユーザ情報を含む要求管理パイプ131を特定し、その特定した要求管理パイプ131に対して印刷要求通知を書き込む制御を行う。
説明の便宜上、ここでユーザプロセス103が有する機能について説明する。図3に示すように、ユーザプロセス103は、要求管理パイプ131、印刷要求通知検知部132、生成部133、特定情報通知制御部134、生成部133により生成される処理用パイプ135、情報検知部136、処理部137を有する。
要求管理パイプ131は、「要求管理用中間媒体」の一例であり、ユーザプロセス103に対応するユーザを識別するユーザ情報を含み、かつ、印刷要求通知および後述の特定情報通知の通信に用いる中間媒体である。この例では、要求管理パイプ131は、ユーザ情報を含む名前が付された名前付きパイプであるが、これに限られるものではない。印刷要求通知検知部132は、印刷要求通知を検知する。この例では、印刷要求通知検知部132は、要求管理パイプ131に印刷要求通知が書き込まれたか否かを検知することで、印刷要求通知を検知することができる。
生成部133は、印刷要求通知検知部132により印刷要求通知が検知された場合、ユーザプロセス103が実行する処理に必要な情報を受け入れるための処理用パイプ135(「処理用中間媒体」の一例)を生成する。この例では、処理用パイプ135は名前付きパイプであり、生成部133は、生成した処理用パイプ135に対してユニークな名前を付ける。また、生成部133は、1つの処理に対して1つの処理用パイプ135を生成する。
特定情報通知制御部134は、処理用パイプ135の所在を特定可能な特定情報(この例では処理用パイプ135に付された名前)を示す特定情報通知をルールベース印刷サービスコンポーネント120(「提供部」)へ通知するための制御を行う。この例では、特定情報通知制御部134は、特定情報通知をルールベース印刷サービスコンポーネント120へ通知するための制御として、要求管理パイプ131に特定情報通知を書き込む制御を行う。
情報検知部136は、処理用パイプ135に書き込まれた情報を検知する。この例では、情報検知部136は、ルールベース印刷サービスコンポーネント120の書き込み部123によって処理用パイプ135に書き込まれた、ユーザプロセス103が実行する処理に必要な情報を検知する。情報検知部136は、処理用パイプ135が生成されるタイミングで、処理用パイプ135と1対1に対応して生成部133により生成されるようにしてもよい。情報検知部136によって、処理用パイプ135に書き込まれた情報が検知された場合、処理部137は、処理用パイプ135に格納された情報を用いて処理を実行する。この例では、ユーザプロセス103が実行する処理に必要な情報は、印刷ジョブに含まれる属性情報であり、処理部137は、処理用パイプ135に格納された属性情報を用いて処理を実行する。より具体的には、処理部137は、処理用パイプ135に格納された属性情報と、予め定められたルールとに基づいて、対応する処理を実行する。例えば予め定められたルールとして、「ユーザA」の印刷要求を受け付けた場合は、出力先のプリンタ20やカラー属性を伝えるためのダイアログを表示することが設定されていた場合、処理部137は、処理用パイプ135に格納された属性情報に含まれる、出力先のプリンタ20を示す情報やカラー属性を示す情報を用いて、ダイアログを表示装置506に表示する処理を実行する。予め定められたルールを示す情報は、例えばHDD503等の記憶装置に格納されていてもよい。
続いて、ルールベース印刷サービスコンポーネント120が有する機能を説明する。特定情報通知検知部122は、特定情報の通知(ユーザプロセス103からの通知)を示す特定情報通知を検知する。この例では、特定情報通知検知部122は、特定部112により特定されたユーザ情報に対応するユーザプロセス103が有する要求管理パイプ131(特定部112により特定されたユーザ情報を含む名前が付された要求管理パイプ131)に特定情報が書き込まれたか否かを検知することで、特定情報通知を検知する。
書き込み部123は、特定情報通知検知部122により特定情報通知が検知された場合、特定情報通知が示す特定情報により特定される処理用パイプ135に、処理に必要な情報を書き込む。この例では、書き込み部123は、特定情報通知検知部122により検知された特定情報通知が示す特定情報と同じ名前が付された処理用パイプ135を特定し、その特定した処理用パイプ135に対して、プリンタキュー検知部111により登録が検知された印刷ジョブに含まれる属性情報を書き込む。
図4は、サービスプロセス104およびユーザプロセス103の起動手順の一例を示すフロー図である。まず、クライアント端末10に対する電力供給が開始されると(電源オンになると)、OSは、サービスプロセス104を起動する(ステップS1)。図5は、このときのクライアント端末10のOS上で動作するプログラムの状態を示す図であり、サービスプロセス104のみが動作する状態を表している。
図4の説明を続ける。次に、OSは、ユーザの認証を行うと(ステップS2)、認証したユーザに対応するユーザプロセス103およびアプリケーションを起動する(ステップS3)。
例えばユーザAが認証された場合を想定する。図6は、このときのクライアント端末10のOS上で動作するプログラムの状態を示す図である。図6の例では、サービスプロセス104に加えて、ユーザA用のユーザプロセス103、ユーザAの設定に応じた印刷アプリケーション101、ユーザAの設定に応じたプリンタドライバ102が動作する状態を表している。
また、例えばユーザAが認証された後に、ユーザAのユーザプロセス103が起動したままの状態で、ユーザBが認証された場合を想定する。図7は、このときのクライアント端末10のOS上で動作するプログラムの状態を示す図である。図7の例では、サービスプロセス104、ユーザA用のユーザプロセス103、ユーザAの設定に応じた印刷アプリケーション101、ユーザAの設定に応じたプリンタドライバ102に加えて、ユーザB用のユーザプロセス103、ユーザBの設定に応じた印刷アプリケーション101、ユーザBの設定に応じたプリンタドライバ102が動作する状態を表している。
図8は、あるユーザが認証された後のクライアント端末10の動作例を示すフローチャートである。説明の便宜上、以下では、ユーザAが認証されたことを前提とする。まず、印刷アプリケーション101は、ユーザAの操作に応じて印刷ジョブを生成する(ステップS11)。次に、スプーラ(サービスプロセス104)は、ステップS11で生成された印刷ジョブをプリンタキューに登録する(ステップS12)。そして、キュー監視コンポ―ネント110は、プリンタキューに印刷ジョブが登録されたことを検知すると、その登録された印刷ジョブに対応するユーザ情報を特定し(ステップS13)、その特定したユーザ情報と、印刷ジョブに含まれる属性情報(ユーザプロセス103が実行する処理に必要な情報で、例えば印刷ジョブの印刷条件等)とをルールベース印刷サービスコンポーネント120へ通知する。ルールベース印刷サービスコンポーネント120は、この通知に対する応答として、必要な値を返すこともできる。
次に、ルールベース印刷サービスコンポーネント120は、ステップS13で特定されたユーザ情報に対応するユーザプロセス103に対して、印刷要求を受け付けたことを通知するための制御を行う(ステップS14)。具体的な内容は上述したとおりである。次に、印刷要求通知を検知したユーザプロセス103は、処理用パイプ135を生成し(ステップS15)、その生成した処理用パイプ135の所在を特定可能な特定情報をルールベース印刷サービスコンポーネント120に通知するための制御を行う(ステップS16)。具体的な内容は上述したとおりである。
次に、ルールベース印刷サービスコンポーネント120は、ユーザプロセス103からの特定情報通知を検知すると、該特定情報通知が示す特定情報により特定される処理用パイプ135に、キュー監視コンポ―ネント110から受け取った属性情報を書き込む(ステップS17)。具体的な内容は上述したとおりである。そして、ユーザプロセス103は、処理用パイプ135に書き込まれた属性情報を検知すると、その属性情報を用いて処理を実行する(ステップS18)。具体的な内容は上述したとおりである。
上述したように、本実施形態では、ユーザプロセス103は、要求管理パイプ131と、処理用パイプ135とを別々に有するので、1つの処理が完了するまでの間、次の印刷要求通知の受け付け(要求管理パイプ131への書き込み)を停止する必要は無く、1つの処理を実行中であっても、次の印刷要求通知を受け付けて、対応する処理用パイプ135を生成することができる。これにより、並列処理を実現できるという利点がある。つまり、ステップS17の属性情報の書き込みが完了していれば、要求管理パイプ131に次の印刷要求通知を書き込むことができる。
図9は、ルールベース印刷サービスコンポーネント120の印刷要求通知制御部121および特定情報通知検知部122の動作例を示すフローチャートである。図9に示すように、印刷要求通知制御部121は、キュー監視コンポ―ネント110からのユーザ情報および属性情報の通知を待つ(ステップS21)。ステップS21の結果が肯定の場合(ステップS21:Yes)、印刷要求通知制御部121は、ステップS21で通知されたユーザ情報に対応するユーザプロセス103に対して、印刷要求を受け付けたことを通知するための制御を行う(ステップS22)。上述したように、印刷要求通知制御部121は、ステップS21で通知されたユーザ情報に対応するユーザプロセス103が有する要求管理パイプ131に対して、印刷要求を受け付けたことを示す印刷要求通知を書き込む。その後、特定情報通知検知部122は、ステップS21で通知されたユーザ情報に対応するユーザプロセス103が有する要求管理パイプ131に特定情報が書き込まれたか否かを検知することで、特定情報通知を検知する(ステップS23)。特定情報通知を検知した場合、特定情報通知検知部122は、検知した特定情報と、ステップS21で通知された属性情報とを書き込み部123へ渡し、属性情報の書き込みを指示する(ステップS24)。以降は、ステップS21で通知されたユーザ情報に対応するユーザプロセス103が有する要求管理パイプ131に対しても、次の印刷要求通知を書き込むことができるので、ステップS21以降の処理を繰り返す。
以上に説明したように、システムソフトウェアであるサービスプロセス104は、プリンタキューへの印刷ジョブの登録を検知した場合、印刷を要求したユーザを識別するユーザ情報を特定し、ログイン中の複数のユーザと1対1に対応する複数のユーザプロセス103のうち、その特定したユーザ情報に対応するユーザプロセス103に対して、該ユーザプロセス103が実行する処理に必要な情報を提供する。これにより、サービスプロセス104から、同時にログインしている複数のユーザと1対1に対応する複数のユーザプロセス103の各々へ適切に処理を振り分けることができる。
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態および変形例にわたる構成要素を適宜組み合わせてもよい。
また、上述した各実施形態のクライアント端末10(CPU501)が実行するプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disc)、USB(Universal Serial Bus)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
10 クライアント端末
20 プリンタ
100 情報処理システム
101 印刷アプリケーション
102 プリンタドライバ
103 ユーザプロセス
104 サービスプロセス
110 キュー監視コンポ―ネント
111 プリンタキュー検知部
112 特定部
120 ルールベース印刷サービスコンポーネント
121 印刷要求通知制御部
122 特定情報通知検知部
123 書き込み部
131 要求管理パイプ
132 印刷要求通知検知部
133 生成部
134 特定情報通知制御部
135 処理用パイプ
136 情報検知部
137 処理部
特開2013−008353号公報

Claims (10)

  1. 印刷の条件を含む属性情報と、印刷対象のデータと、を含む印刷ジョブを記憶するプリンタキューに前記印刷ジョブが登録されたか否かを検知するプリンタキュー検知部と、
    前記プリンタキュー検知部により前記印刷ジョブの登録が検知された場合、印刷を要求したユーザを識別するユーザ情報を特定する特定部と、
    ログイン中の複数のユーザと1対1に対応する複数のユーザプロセスのうち、前記特定部により特定された前記ユーザ情報に対応する前記ユーザプロセスに対して、前記ユーザプロセスが実行する処理に必要な情報を提供する提供部と、を備える、
    情報処理装置。
  2. 前記提供部は、
    前記特定部により特定された前記ユーザ情報に対応する前記ユーザプロセスに対して、印刷要求を受け付けたことを示す印刷要求通知を通知するための制御を行う印刷要求通知制御部を有し、
    前記ユーザプロセスは、
    前記印刷要求通知を検知する印刷要求通知検知部と、
    前記印刷要求通知検知部により前記印刷要求通知が検知された場合、前記処理に必要な情報を受け入れるための処理用中間媒体を生成する生成部と、
    前記処理用中間媒体の所在を特定可能な特定情報を示す特定情報通知を、前記提供部へ通知するための制御を行う特定情報通知制御部と、
    前記処理用中間媒体に格納された前記情報を用いて前記処理を実行する処理部と、を有する、
    請求項1に記載の情報処理装置。
  3. 前記提供部は、
    前記特定情報通知を検知する特定情報通知検知部と、
    前記特定情報通知検知部により前記特定情報通知が検知された場合、前記特定情報通知が示す前記特定情報により特定される前記処理用中間媒体に、前記処理に必要な情報を書き込む書き込み部と、を有する、
    請求項2に記載の情報処理装置。
  4. 前記ユーザプロセスは、
    前記ユーザ情報を含み、かつ、前記印刷要求通知および前記特定情報通知の通信に用いる要求管理用中間媒体を有し、
    前記印刷要求通知検知部は、
    前記要求管理用中間媒体に前記印刷要求通知が書き込まれたか否かを検知することで、前記印刷要求通知を検知し、
    前記特定情報通知制御部は、
    前記特定情報通知を前記提供部へ通知するための制御として、前記要求管理用中間媒体に前記特定情報通知を書き込む制御を行う、
    請求項2または3に記載の情報処理装置。
  5. 前記提供部の印刷要求通知制御部は、前記ユーザプロセスに対して前記印刷要求通知を通知するための制御として、前記特定部により特定された前記ユーザ情報に対応する前記ユーザプロセスが有する前記要求管理用中間媒体に前記印刷要求通知を書き込む制御を行い、
    前記提供部の前記特定情報通知検知部は、前記要求管理用中間媒体に前記特定情報が書き込まれたか否かを検知することで、前記特定情報通知を検知する、
    請求項4に記載の情報処理装置。
  6. 前記要求管理用中間媒体および前記処理用中間媒体は、名前付きパイプである、
    請求項4または5に記載の情報処理装置。
  7. 前記提供部の前記書き込み部は、前記処理に必要な情報として、前記印刷ジョブに含まれる前記属性情報を前記処理用中間媒体に書き込む、
    請求項3乃至6のうちの何れか1項に記載の情報処理装置。
  8. 前記ユーザプロセスの前記処理部は、前記処理用中間媒体に格納された前記属性情報と、予め定められたルールとに基づいて、対応する前記処理を実行する、
    請求項7に記載の情報処理装置。
  9. 印刷の条件を含む属性情報と、印刷対象のデータと、を含む印刷ジョブを記憶するプリンタキューに前記印刷ジョブが登録されたか否かを検知するプリンタキュー検知ステップと、
    前記プリンタキュー検知ステップにより前記印刷ジョブの登録が検知された場合、印刷を要求したユーザを識別するユーザ情報を特定する特定ステップと、
    ログイン中の複数のユーザと1対1に対応する複数のユーザプロセスのうち、前記特定ステップにより特定された前記ユーザ情報に対応する前記ユーザプロセスに対して、前記ユーザプロセスが実行する処理に必要な情報を提供する提供ステップと、を含む、
    情報処理方法。
  10. コンピュータに、
    印刷の条件を含む属性情報と、印刷対象のデータと、を含む印刷ジョブを記憶するプリンタキューに前記印刷ジョブが登録されたか否かを検知するプリンタキュー検知ステップと、
    前記プリンタキュー検知ステップにより前記印刷ジョブの登録が検知された場合、印刷を要求したユーザを識別するユーザ情報を特定する特定ステップと、
    ログイン中の複数のユーザと1対1に対応する複数のユーザプロセスのうち、前記特定ステップにより特定された前記ユーザ情報に対応する前記ユーザプロセスに対して、前記ユーザプロセスが実行する処理に必要な情報を提供する提供ステップと、を実行させるためのプログラム。
JP2016056307A 2016-03-18 2016-03-18 情報処理装置、情報処理方法およびプログラム Expired - Fee Related JP6597432B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016056307A JP6597432B2 (ja) 2016-03-18 2016-03-18 情報処理装置、情報処理方法およびプログラム
US15/447,323 US9933982B2 (en) 2016-03-18 2017-03-02 Managing print job associated processing by user processes associated with separate logged-in users of an information processing apparatus
EP17159611.7A EP3220260A1 (en) 2016-03-18 2017-03-07 Information processing apparatus, information processing method, and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016056307A JP6597432B2 (ja) 2016-03-18 2016-03-18 情報処理装置、情報処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2017173928A true JP2017173928A (ja) 2017-09-28
JP6597432B2 JP6597432B2 (ja) 2019-10-30

Family

ID=58261589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016056307A Expired - Fee Related JP6597432B2 (ja) 2016-03-18 2016-03-18 情報処理装置、情報処理方法およびプログラム

Country Status (3)

Country Link
US (1) US9933982B2 (ja)
EP (1) EP3220260A1 (ja)
JP (1) JP6597432B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10205836B2 (en) 2017-01-23 2019-02-12 Ricoh Company, Ltd. Information processing system, information processing apparatus, and client terminal

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09292959A (ja) * 1996-04-24 1997-11-11 Ricoh Co Ltd プリンタ制御装置
JP2005044080A (ja) * 2003-07-25 2005-02-17 Canon Inc 情報処理装置及び情報処理方法及びプログラム並びにコンピュータ読み取り可能な記憶媒体
JP2005353002A (ja) * 2004-06-14 2005-12-22 Canon Inc 情報処理装置および通知方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013008353A (ja) 2011-05-25 2013-01-10 Ricoh Co Ltd データ処理装置、プログラムおよび記録媒体
JP5857611B2 (ja) 2011-10-13 2016-02-10 株式会社リコー 情報処理装置、システム、プログラム
JP6320206B2 (ja) * 2014-07-07 2018-05-09 キヤノン株式会社 印刷システム、画像処理装置、情報処理方法及びプログラム
JP6341811B2 (ja) * 2014-09-01 2018-06-13 キヤノン株式会社 印刷システム、画像処理装置、印刷制御方法、およびコンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09292959A (ja) * 1996-04-24 1997-11-11 Ricoh Co Ltd プリンタ制御装置
JP2005044080A (ja) * 2003-07-25 2005-02-17 Canon Inc 情報処理装置及び情報処理方法及びプログラム並びにコンピュータ読み取り可能な記憶媒体
JP2005353002A (ja) * 2004-06-14 2005-12-22 Canon Inc 情報処理装置および通知方法

Also Published As

Publication number Publication date
US9933982B2 (en) 2018-04-03
JP6597432B2 (ja) 2019-10-30
US20170269888A1 (en) 2017-09-21
EP3220260A1 (en) 2017-09-20

Similar Documents

Publication Publication Date Title
JP5321929B2 (ja) ユニバーサルデバイスドライバ、デバイス制御プログラム、情報処理装置、サーバ装置、及び、方法
US9807260B2 (en) Method and device for using cloud print service
JP6787115B2 (ja) 画像形成装置、機能追加方法、プログラム、
US9557948B2 (en) Information processing apparatus for activating a printer driver upon completion of user authentication
JP2015009432A (ja) 画像形成装置、システム、制御方法、およびプログラム
JP6064592B2 (ja) 印刷システム、印刷方法、画像形成装置及び制御デバイス
JP2016170745A (ja) 端末装置、プログラム、出力システム及び出力方法
JP7400324B2 (ja) 情報処理システム、サービス提供装置、情報処理方法及びプログラム
JP2014174679A (ja) 情報処理装置及びその方法
JP2014167679A (ja) ジョブ実行制御システム、ジョブ実行システム、ジョブ実行制御方法及びプログラム
JP6597432B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP6481508B2 (ja) 端末装置、プログラム及び出力システム
JP6252060B2 (ja) プログラム、情報処理装置及び画像処理システム
JP2008158645A (ja) 印刷装置、データ処理装置、印刷制御方法、記憶媒体、プログラム
JP7155989B2 (ja) 情報処理装置、記録媒体及び情報処理方法
JP5847528B2 (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP2009080793A (ja) プリンタで開始される印刷方法および装置
JP2015111376A (ja) 情報処理装置、プログラム及び制御方法
WO2019221732A1 (en) Application management service including package file
JP6772856B2 (ja) 情報処理システム、クライアント端末、情報処理方法およびプログラム
JP2013125332A (ja) ジョブ制御システム、ジョブ制御方法、情報処理装置、ジョブ制御プログラム
US11385848B2 (en) Information processing apparatus and control method
US20200285717A1 (en) Electronic apparatus, and method of controlling electronic apparatus
US20140074974A1 (en) Data processing apparatus and system
JP2015129993A (ja) 情報処理システム、操作装置、情報表示方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190821

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190916

R151 Written notification of patent or utility model registration

Ref document number: 6597432

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees