[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5843605B2 - 印刷制御装置、印刷制御方法、情報処理システム、情報処理装置、情報処理方法およびコンピュータプログラム - Google Patents

印刷制御装置、印刷制御方法、情報処理システム、情報処理装置、情報処理方法およびコンピュータプログラム Download PDF

Info

Publication number
JP5843605B2
JP5843605B2 JP2011282782A JP2011282782A JP5843605B2 JP 5843605 B2 JP5843605 B2 JP 5843605B2 JP 2011282782 A JP2011282782 A JP 2011282782A JP 2011282782 A JP2011282782 A JP 2011282782A JP 5843605 B2 JP5843605 B2 JP 5843605B2
Authority
JP
Japan
Prior art keywords
print
app
authentication
printer
information
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.)
Expired - Fee Related
Application number
JP2011282782A
Other languages
English (en)
Other versions
JP2013033437A (ja
Inventor
貴彦 西田
貴彦 西田
安部 孝一
孝一 安部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2011282782A priority Critical patent/JP5843605B2/ja
Priority to US13/532,520 priority patent/US8780377B2/en
Publication of JP2013033437A publication Critical patent/JP2013033437A/ja
Application granted granted Critical
Publication of JP5843605B2 publication Critical patent/JP5843605B2/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/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • 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/1222Increasing security of the print job
    • 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/1274Deleting of print job
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/40Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
    • G06K15/4095Secure printing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、印刷制御装置、印刷制御方法、情報処理システム、情報処理装置、情報処理方法およびコンピュータプログラムに関する。本発明は、特に、プリンタが印刷時に必要とする認証情報の有効期限を更新する印刷制御装置、印刷制御方法、情報処理システム、情報処理装置、情報処理方法およびコンピュータプログラムに関する。
近年、クラウドサービスとして、インターネット上にサービスを公開するビジネスが展開されている。インターネット上のプリントサービスとして、プリントサーバの機能を提供することが求められている。例えば、大規模なデータセンターにプリントサーバを配置し、クラウドサービスとしてプリントサービスを提供することで、顧客ごとのハードウェアの管理が不要となる。また、サーバの負荷に応じてリソースを追加するようなことも容易であるという様々なメリットがある。
このプリントサービスは、多数のユーザ情報を一括で管理する必要があるため、外部の認証サービスを利用し、より堅牢なユーザ管理を行っている。ユーザはこの認証サービスにより認証を行い、その際に発行される認証トークンを使うことで、プリントサービスを受けることができる。クラウドサービスとしてインターネットに展開するプリントサービスでは、ファイアーウォールをはさんでプリントサーバとプリンタが存在している。そのため、プリンタは、プリントサーバからインターネットを介して印刷データを取得するプルプリント方式による印刷を行う。このとき、プリンタには、認証サービスで認証済みの印刷実行ユーザの認証トークンが登録されている。この認証トークンを使うことによって、正しく認証されたリクエストを通じてプリンタは印刷データを取得することができる。
しかしながら、一般的な認証サービスは、リソースを効率的に利用するため、またセキュリティを高めるため、発行する認証トークンに有効期限を設定している。具体的には、最終アクセスから一定時間後に認証トークンが無効になる。そのため、印刷を実行するユーザがプリンタに印刷指示を行ってから、それ以上のオペレーションを実行しない場合、プリンタがプリントサーバから印刷データを取得するまでに、認証トークンが無効になることがある。認証トークンが無効となった場合に、プリンタは印刷データを取得できないため、ユーザの意図に反して印刷エラーが発生する。
このような問題を解決することを目的として、従来技術として、長時間にわたるバッチジョブ処理を行うクライアントシステムが、認証システムが発行する認証チケットの有効期限更新時間をバッチジョブ処理の開始前に設定する。そして、このシステムは、バッチジョブ処理の開始後、有効期限更新時間に達したときに有効期限を更新する期限更新手段を持っている(例えば、特許文献1)。
特開2000−330953号公報
特許文献1の方法では、有効期限情報を認証システムが管理している場合、更新時間に達した時に、クライアントシステムが認証システムに更新要求を行う。クラウドサービスの場合、クライアントシステム(プリンタ)と認証システム(認証サーバ)は、インターネットで接続されており、且つクライアントシステムの数が多いため、ネットワークに負荷がかかり、特許文献1の方法は実用的ではない。
そこで、本発明は、インターネットに展開するプリントサービスにおいて、プリンタが必要とする認証情報を効率的に管理し、必要な更新を行うことが可能な印刷制御装置を提供する。
本発明の印刷制御装置は、クライアント端末からの指示に基づいて印刷ジョブおよびプリンタを管理する。前記印刷制御装置は、前記クライアント端末から前記プリンタへの印刷指示および前記クライアント端末の認証情報を受け付ける受付手段と、前記認証情報の有効性を、前記認証情報を発行し管理を行っている認証手段に確認する確認手段と、前記認証情報が有効であった場合、前記印刷ジョブを前記認証情報とともに実行ジョブとして登録する実行ジョブ管理手段と、前記登録された認証情報について、前記実行ジョブが登録されている間に前記認証手段へアクセスして前記認証情報の有効期限を更新する更新手段と、前記プリンタから一定の間隔で定期通信を受信する受信手段と、を備え、前記受信手段により前記定期通信を受信してから所定の期間が経過しても前記定期通信を受信しなかった場合、前記実行ジョブ管理手段は、前記プリンタにおいて実行される実行ジョブを削除することを特徴とする。
本発明の印刷制御装置によれば、プリンタにプルプリントジョブが登録されてから、プリンタが印刷制御装置(プリントサーバ)へ印刷データの取得要求を送信する間に、ユーザの認証トークンが無効にならない。したがって、本発明は、プリンタは正常に印刷を実行することができる。また、本発明の印刷制御装置によれば、クライアント端末ではなく、印刷制御装置自体(プリントサーバ)が認証トークンの有効期限を更新している。したがって、本発明は、クライアント端末およびネットワークに負荷がかからず、インターネットに展開するクラウドサービスに適用することができる。
また、印刷ジョブを発行する度に、認証(アクセス)トークンを毎回再発行(再取得)することがなく、アクセストークンの取得処理に時間を要したり、アクセストークンの取得に伴う使用リソースが増大したりすることを防止することもできる。
本発明の実施形態の全体構成を示す図である。 本発明の実施形態のハードウェア構成を示す図である。 本発明の実施形態のモジュール構成を示す図である。 本発明の実施形態のソフトウェア構成を示す図である 本発明の実施形態で管理する情報の構成を示す図である。 本発明の実施形態のプリントサーバの動作フローを示す図である。 本発明の実施形態のプリントサーバの動作フローを示す図である。 本発明の第2の実施形態のプリントサーバの実行ジョブ登録フローを示す図である。 周辺装置制御システムの構成の一例を示す図である。 PCのソフトウェアの構成の一例を示す図である。 Webブラウザの一例を示す図である。 印刷ダイアログの一例を示す図である。 周辺装置制御システム全体の処理に係るフローチャートの一例を示す図である。 周辺装置制御システム全体の処理に係るフローチャートの一例を示す図である。 周辺装置制御システム全体の処理に係るフローチャートの一例を示す図である。 プロキシAPPの処理に係るフローチャートの一例を示す図である。 画像変換APPの処理に係るフローチャートの一例を示す図である。 画像変換APPの処理に係るフローチャートの一例を示す図である。 画像変換APPの処理に係るフローチャートの一例を示す図である。 コーリングシーケンスの一例を示す図である。 画像変換APPの処理に係るフローチャートの一例を示す図である。 画像変換APPの処理に係るフローチャートの一例を示す図である。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
(第1実施形態)
図1は、本発明の実施形態の全体構成を示す図である。
図1において、クライアント端末101〜103と、プリントサーバ104(印刷制御装置)と、プリンタ105〜108と、認証サーバ112は、ネットワーク109〜111を介して接続されている。図1において、クライアント端末101〜103、プリンタ105〜108は、複数台接続されている。ネットワーク109〜111は、例えば、インターネット等のLAN、WAN、電話回線、専用デジタル回線、ATMやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれかである。または、ネットワーク109〜111は、これらの組み合わせにより実現されるいわゆる通信ネットワークである。ネットワーク109〜111は、データの送受信が可能であればよい。クライアント端末101〜103からプリントサーバ104、プリンタ105〜108への通信手段、プリンタ105〜108からプリントサーバ104への通信手段は異なっていてもよい。
クライアント端末101〜103は、例えば、デスクトップパソコン、ノートパソコン、モバイルパソコン、PDA(パーソナルデータアシスタント)等であるが、プログラムの実行環境が内蔵された携帯電話であってもよい。クライアント端末101〜103は、Webブラウザ(インターネットブラウザ、WWWブラウザ、World Wide Webの利用に供するブラウザ)等のプログラムを実行する環境を内蔵している。
認証サーバ112は、クライアント端末101〜103のWebブラウザからの要求に対して、認証トークンを発行する。プリントサーバ104は、クライアント端末101〜103のWebブラウザからの印刷指示を受けると、その印刷指示のリクエストに含まれる認証トークンの有効性を認証サーバに確認する。プリントサーバ104は、認証トークンが有効であった場合に、リクエストの内容に基づいて印刷実行ジョブと認証トークンのセットを登録し、印刷データを生成する。この際、プリントサーバ104は、自ら保持している印刷データへの変換を行う変換モジュールを使って印刷データ(PDL)を生成する。なお、プリントサーバ104が備える変換モジュールは、様々なデータを受け付けることができ、受け付けたデータを出力対象のデバイスに適合したデータに変換する機能を備える。
ここで、本願が想定する印刷の流れの一例について説明する。例えば、ユーザはクライアント端末を使って帳票サービスにアクセスして帳票を表示している状況で、所望とするプリンタを選択して、印刷を指示する。その指示により、帳票サービスを提供している帳票サーバからクライアント端末に表示されていた帳票が文書データとしてプリントサーバ104に送信される。プリントサーバは、この文書データ(例えばPDF)から印刷データを生成して、保持しておく。また、ユーザが印刷指示の前にプリンタを選択しているので、プリントサーバ104は、選択されたプリンタの機能に適合した印刷設定画面をクライアント端末に提供できる。例えばユーザにより選択されたプリンタがステイプル機能を備えている場合、ステイプルを選択できる印刷設定画面がプリントサーバ104からクライアント端末に提供される。一方、選択されたプリンタがステイプル機能を備えていない場合、ステイプルを選択できない印刷設定画面がプリントサーバ104からクライアント端末に提供される。
クライアント端末101〜103のWebブラウザは、プリンタ102〜108に認証トークンを含むプルプリントジョブを登録する。プリンタ102〜108は、このプルプリントジョブの内容に従って、プリントサーバ104に印刷データ取得要求を送信する。プリントサーバ104は、プリンタ102〜108からの印刷データ取得要求を受けると、その印刷データ取得のリクエストに含まれる認証トークンの有効性を認証サーバに確認する。プリントサーバ104は、認証トークンが有効であった場合、生成した印刷データをプリンタ102〜108へ送信する。
図2は、本発明の実施形態におけるクライアント端末101〜103、プリントサーバ104、認証サーバ112とプリンタ105〜108のハードウェア構成図である。
図2において、202は装置全体の制御を行うCPUであり、ハードディスク(HDD)205に格納されているアプリケーションプログラム、OS等を実行し、RAM203にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。204は記憶手段としてのROMであり、内部には、基本I/Oプログラム等のプログラム、印刷処理の際に使用する印刷データ、プリンタ情報等の各種データを記憶する。203は一時記憶手段としてのRAMであり、CPU202の主メモリ、ワークエリア等として機能する。205は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク(HDD)である。外部記憶手段205は、Webブラウザ等のアプリケーションプログラム、プリントサーバプログラム、認証サーバプログラム、OS、関連プログラム等を格納している。
206は表示手段であるディスプレイであり、キーボード207から入力したコマンドや、プリンタのステータス等を表示したりするものである。208は外部装置I/Fであり、プリンタ、USB機器、周辺機器を接続するためのI/Fである。207は指示入力手段であるキーボードである。201はシステムバスであり、印刷システムのプリントサーバ、認証サーバ、クライアント端末内におけるデータの流れを司るものである。209はネットワークインタフェースカード(NIC)であり、該インタフェース209、ネットワーク109〜111を介して外部装置とのデータのやり取りを行う。なお、上記コンピュータの構成はその一例であり、図2の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてROM、RAM、HDDなどで変更することも可能である。
209はプリンタ105〜108のコントローラであり、プリンタの制御系を司る機器である。210は装置全体の制御を行うCPUであり、システムバス218に接続される各種デバイスとのアクセスを統括的に制御する。この制御は、ROM212に記憶された制御プログラム等あるいはディスクコントローラ(DKC216)を介して接続された外部メモリ223に記憶された制御プログラムやリソースデータ(資源情報)等に基づいて行われる。211はCPU210の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
213は大容量メモリとして機能する外部記憶手段であり、プルプリントアプリケーションプログラム及び関係プログラム等を格納している。221は操作パネル(操作部)でプルプリントの操作を行うユーザインタフェースやプルプリント切り替えボタンが配置される。また、プリンタ105〜108の動作モード等の設定やプリンタ105〜108の動作状況の表示、複写指定等の操作を行うためのボタンおよび液晶パネルやLED214等の表示部も配置される。219は、ネットワークインタフェースカード(NIC)であり、該インタフェース219を介して外部装置とのデータのやり取りを行う。
なお、本図で示したプリントエンジン220は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華方(熱転写)方式等が挙げられる。ラスタコントローラ215は、PDL言語・PDF言語である印刷データを画像データに変換するコントローラである。機器I/F217は、USB等で接続可能な外部機器との接続I/Fである。
図3は、本発明の実施形態のモジュール構成図である。
プリントサーバ104は、印刷ジョブを管理する印刷ジョブ管理サービス306を備えている。印刷ジョブ管理サービス306は、他のサービス、または他のプログラムから投入される文書データ等を印刷データとしてストレージ307に管理する。印刷データのデータフォーマットは、PDLまたは、PDF等の形式である。ストレージ307はプリントサーバ104の情報処理装置に内蔵するHDDまたは、外部接続しているHDD、または、ネットワークストレージ等の記憶装置である。プリンタ管理サービス305はプリンタ105〜108を管理し、各プリンタに対し後述のプリンタ情報を管理する。
Webアプリケーション302は、クライアント端末101〜103に動作しているWebブラウザ301で表示可能なWebページを生成し、Webブラウザ301からのリクエストに応答し、生成したWebページを返信する。Webサービス303は、プリンタ105〜108のプルプリントアプリケーション304からの印刷ジョブ取得リクエストに対し印刷データを返し、また印刷処理におけるジョブのステータスを受け取る。プリンタ105〜108のプルプリントアプリケーション304は、Webブラウザ301からのプリンタ制御コマンド(例えば、プリンタへの印刷中止指示コマンド)、または、印刷指示コマンドを受け付ける。
印刷ジョブ管理サービス306、プリンタ管理サービス305、Webアプリケーション302、Webサービス303はそれぞれ独立したプログラムであり、それぞれ別々の情報処理装置に配置することが可能である。これらのプログラムはそれぞれネットワークに繋がった複数の情報処理装置に配置され、プログラム間で通信を行う。またこれらのプログラムを同一の情報処理装置に配置することも可能である。
認証サーバ112は、ユーザ情報を管理するユーザ管理サービス308を備えている。ユーザ管理サービス308は、印刷システムを利用するユーザの情報をストレージ311に管理する。ストレージ311は認証サーバの情報処理装置に内蔵するHDDまたは、外部接続しているHDD、または、ネットワークストレージ等の記憶装置である。Webアプリケーション310は、クライアント端末101〜103に動作しているWebブラウザ301で表示可能なWebページを生成し、Webブラウザ301からのリクエストに応答し、生成したWebページを返信する。セッション管理サービス309は、認証トークンの発行と、その管理を行う。
図4は、本発明の実施形態に関連する装置群のソフトウェア構成図である。
図4(A)において、プリントサーバ104に含まれる印刷ジョブ管理サービス306の印刷ジョブ管理部401は、印刷ジョブの管理を行う。すなわち、印刷ジョブ管理部401は、Webサービス303から印刷データの取得リクエストを受け取ると、ストレージ307から指定の印刷データを取得し、Webサービス303に渡す。印刷ジョブ情報管理部402はストレージ307で管理している印刷データに関する後述する図5の印刷ジョブ情報を管理する。プリンタ管理サービス305のプリンタ情報管理部403は、後述の図5のプリンタ情報を管理する。Webアプリケーション302は、Webブラウザ301から印刷指示リクエストを受け付けると、その旨をプリンタ管理サービス305に通知する。その通知を受けとったプリンタ管理サービス305は、後述する図5のプリンタ情報のプリンタ識別情報503に基づいて対象のプリンタを決定する。なお、印刷指示リクエストには、ユーザがクライアント端末のWebブラウザを使って選択したプリンタの情報が含まれるので、その情報に基づいてプリンタ管理サービス305は、プリンタを決定する。さらにこのとき、実行ジョブ情報管理部422は、後述する図5の実行ジョブ情報に実行ジョブの情報を登録する。
Webアプリケーション302のリクエスト受付部406は、Webブラウザ301からのリクエストに含まれる認証トークンの有効性を認証サーバ112に問い合わせる。ページ生成部405は、Webブラウザ301からのリクエストに対し、印刷指示を行うためのボタン等が配置されたWeb画面を生成し、Webブラウザ301に返信する。Webサービス303のリクエスト受付部409は、プルプリントアプリケーション304から印刷データ取得リクエストや、印刷ジョブのステータスを受け付ける。リクエスト受付部409は、印刷データ取得リクエストを受けた場合、リクエストに含まれる認証トークンの有効性を認証サーバ112に問い合わせる。印刷データ取得部407は、印刷ジョブ取得リクエストをリクエスト受付部409が受けると前述の印刷ジョブ管理サービス306に印刷データ取得リクエストを出す。印刷ステータス受信部408は、リクエスト受付部409が印刷ジョブのステータスを受けると、そのステータスをプリンタ管理サービス305に通知する。
図4(B)において、プルプリントアプリケーション304のWebサービス受付部410は、Webブラウザ301からの印刷指示コマンドやプリンタ制御コマンドや等を受ける。Webサービス送信部411は、Webサービス303へ印刷ジョブ取得リクエスト、または印刷ステータスの通知を行う。Webブラウザ301から印刷リクエスト等を受けると、印刷データ取得部412は、Webサービス送信部411を通してWebサービス303から印刷データを取得し、印刷データ送信部416に送る。印刷データ送信部416は、コントローラ209に印刷データを送信する。印刷制御部415は、印刷ジョブのステータスをコントローラ209から受け取り、Webサービス303に通知する。機器監視部414は、プリンタのステータスをコントローラ209から取得し、プリントサーバ104へ定期通信(KeepAlive)として通知する。なお、この定期通信(KeepAlive)は、予め決められた一定の間隔でプリンタからプリントサーバに通知される。プリンタのステータスは、後述する図5のプリンタ情報のステータスにおいて管理される。プルプリントコントローラ413は、プルプリントアプリケーション304全体の動作管理を行うものであり、各部への動作指示等は、このコントローラ経由で行う。
図4(C)において、認証サーバ112のWebアプリケーション310では、リクエスト受付部417が、Webブラウザ301からの認証のためのリクエストを受け付ける。ページ生成部418は認証に必要なユーザ情報を入力するためのWeb画面を生成し、返信する。セッション発行部419では、Webアプリケーション310が受けとったユーザ情報をユーザ管理部421で照合し、認証が成功すると、認証トークンを発行する。セッション情報管理部420は、セッション発行部419で発行された認証トークンを含む後述する図5のセッション情報を管理する。また、セッション情報管理部420は、認証トークンの有効性の問い合わせに対し、有効かどうかの応答を返すと共に、問い合わせのあった認証トークンに対応するセッション情報の最終アクセス日時を更新する。このセッション情報管理部420による最終アクセス日時の更新は、認証トークンの有効期限の更新を意味するが、その詳細は後述する。
図5は、本発明の実施形態によって管理される情報の例である。
図5(A)において、セッション管理情報501は認証サーバ112のセッション情報管理部420で管理され、ユーザを識別するユーザID、認証時に発行された認証トークン、認証トークンでの最終アクセス日時等を含む。
図5(B)において、プリンタ情報502は、プリントサーバ104で管理する複数のプリンタ105〜108のプリンタ情報を管理している。プリンタ名、プリンタ識別情報、ステータス、最終KeepAlive日時等を含む。プリンタ識別情報は、各プリンタをユニークに識別する情報であり、IPアドレスや、MACアドレスや、URI等である。ステータスは、プリンタのステータスであり、用紙切れ、ジャム、カバーオープン、トナーなし、排紙ビンフル、ハードディスクフル、その他エラーがある。また、他のステータスとして、ウォーミングアップ中、キャリブレーション中、初期化中、オフライン、スリープ中、印刷中、印刷可能、状態不明等のステータスがある。
図5(C)において、印刷ジョブ情報503は、プリントサーバ104の印刷ジョブ管理部401で管理されるストレージ307に保存されているジョブの管理情報である。印刷ジョブ情報は、ジョブを識別するためのジョブID、ドキュメント名、印刷ステータス等を含む。印刷ステータスには、待機中、転送中、印刷中、キャンセル中、正常終了、キャンセル終了、エラー終了等のステータスがある。
図5(D)において、実行ジョブ情報504は、プリントサーバ104の実行ジョブ管理部422で管理される印刷実行中のジョブに関する情報である。実行ジョブ情報は、実行ジョブを識別するための実行ジョブID、印刷対象の印刷ジョブ情報503を識別するためのジョブID、印刷データ取得時に使用される認証トークン、プリンタ識別情報等を含む。
図5(E)において、認証トークン更新リスト505は、実行ジョブ情報504から抽出される認証トークン毎の実行ジョブリストの組情報である。
図5(F)において、印刷キュー情報506は、プリンタのプルプリントアプリケーション304で管理される印刷ジョブ情報である。印刷キュー情報506は、印刷ジョブを識別するためのジョブID、印刷データの取得先URI、ジョブ実行ユーザの認証トークン等、印刷データの取得部412が印刷データ取得時に使用する情報を含む。
図6は、本発明の実施形態に係る印刷制御装置であるプリントサーバ104の動作フローである。なお、本願のフローチャートは、各装置のCPUがメモリから関連するプログラムを読みだして実行することにより実現される。
S601において、リクエスト受付部406は、クライアント端末101〜103のWebブラウザ301から印刷指示を受ける。S602において、リクエスト受付部406は、印刷指示に含まれる認証トークンの有効性を認証サーバ112のセッション情報管理部420に問い合わせる。S602において認証トークンが有効と判断された場合に、S603で、実行ジョブ管理部422は認証トークンを含む実行ジョブ情報を登録する。S604で、印刷ジョブ情報管理部402が、該当する印刷データの準備を行う。具体的には、印刷ジョブ情報管理部402が、ストレージに記憶されている文書データ(例えば、PDF)を印刷データ(PDL)へ変化することを上述の変換モジュールに依頼する。ここで、変換された印刷データは、ストレージに記憶される。
S605において、プルプリントアプリケーション304の印刷データ取得部412からの印刷データ取得要求は、リクエスト受付部409が受け付ける。S606において、リクエスト受付部409は、印刷データ取得要求に含まれる認証トークンの有効性を認証サーバ112のセッション情報管理部420に問い合わせる。S606において認証トークンが有効と判断された場合に、S607で、プリントサーバ104はプリンタへ印刷データを送信し、S608で、プリントサーバ104は印刷ジョブ情報503の印刷ステータスを印刷中に更新する。また、S606において、認証トークンが無効であった場合には、S609で、プリントサーバ104は、印刷ジョブ情報の印刷ステータスをエラー終了とし、実行ジョブ情報504から該当実行ジョブの情報を削除する。
S610において、プルプリントアプリケーション304のWebサービス送信部411からの印刷完了通知は、印刷ステータス受信部408が受信する。S610で受信した印刷完了通知に従って、S611で、印刷ジョブ管理部401は印刷ジョブ情報503の該当ジョブに対応する印刷ステータスを印刷済みに更新する。S612で実行ジョブ管理部422は実行ジョブ情報504から該当ジョブ情報を削除する。
プルプリントアプリケーション304のWebサービス送信部411からの定期通信(KeepAlive)も、S613で、印刷ステータス受信部408が受信する。S614で、プリンタ情報管理部403はプリンタ情報502のステータスと、最終KeepAlive日時を更新する。
プリントサーバ104のプリンタ情報管理部403は、定期的に、管理している全てのプリンタ情報502について、下記フローを実施する。まず、S615において、プリンタ情報管理部403は、実行ジョブ情報504から、対象のプリンタを出力先とする実行ジョブが存在するか確認する。S615で、実行ジョブが存在すると判断した場合、S616で、プリンタ情報管理部403は、プリンタ情報502から最終KeepAlive日時を取得する。プリンタ情報管理部403は、その取得された日時からあらかじめ決められたタイムアウト時間内に、プリンタからKeepAliveを受信しているか確認する。S616で、タイムアウトと判断された場合には、プリンタ情報管理部403は該当プリンタを出力先とする全ての実行ジョブについて、対応する印刷ジョブ情報503の印刷ステータスをエラー終了とし、該当の実行ジョブ情報を削除する。つまり、プリンタが定期的に通知するKeepAliveがタイムアウト時間内に通知されない場合(所定の期間を経過しても通知されない場合)、プリンタの電源がOFF、ネットワークが切断されている等の理由によって正常に印刷できないこととなる。この場合、そのような正常に稼働していないプリンタでの印刷ジョブを実行することができないので、プリントサーバ104は、図6(E)のような処理を行う。本願では、後述する認証トークンの有効期間の更新処理を実行ジョブに対応づいているユーザ単位で行うため、このように現段階で不要な実行ジョブを削除しておくことで無駄な有効期間の更新処理を防止できる。
図7は、本発明の実施形態のプリントサーバ104の実行ジョブ管理部422が、実行ジョブに登録されているジョブの認証トークンの有効性を維持するために、予め決められた実行間隔で定期的に実行する動作フローである。この実行間隔は、認証サーバ112で決められた、セッション情報の最終アクセス日時から認証トークンが無効になるまでの有効期間から決定する。例えば、認証トークンの有効期間が30分である場合は、本実施形態では、有効期間を2で割った値、すなわち15分間隔で図7の処理が実行される。
実行ジョブ情報504に複数の実行ジョブが登録されているときは、全ての実行ジョブについて、まず、S701で、実行ジョブ管理部422が実行ジョブ情報504の認証トークンを取得する。次に、S702で、実行ジョブ管理部422が、S701において取得した認証トークンが認証トークン更新リスト505に含まれるかを確認する。S702で取得した認証トークンが認証トークン更新リスト505に含まれていないと判断した場合は、実行ジョブ管理部422は、認証トークン更新リスト505に認証トークンと、実行ジョブIDリストの組を追加する。一方、S702において取得した認証トークンが認証トークン更新リスト505に含まれていると判断された場合、実行ジョブ管理部422は特に処理を行うことなく、S704へと進む。
S704において、実行ジョブ管理部422は、認証トークン更新リスト505内の、S701で取得した認証トークンに対応する実行ジョブIDのリストに実行ジョブIDを追加する。本願では、1人のユーザに1つの認証トークンが発行される。そのため、ある1人のユーザが複数の印刷ジョブの実行を指示している場合、S704によって1つの認証トークンに複数の実行ジョブIDが対応付けられて管理される。
次に、S701〜S704で作成された認証トークン更新リスト505の全要素について、S705で、実行ジョブ管理部422は、認証サーバ112のセッション情報管理部420に認証トークンの有効性を問い合わせる。なお、本願において全要素とは、認証トークン更新リスト505の認証トークンの項目に含まれる全ての認証トークンを指す。そのため、印刷ジョブの実行を指示しているユーザが2人であれば、問い合わせ対象の認証トークンは2つとなる。S706では、セッション情報管理部420からの返信から、実行ジョブ管理部422がS705の結果が成功であったかを判断する。成功であった場合、セッション情報管理部420がセッション管理情報501の最終アクセス日時を更新する。
本実施形態では、認証トークンの有効期間が最終アクセス日時から一定時間と設定されているので、図7の処理を定期的に実行することにより認証トークンの最終アクセス日時が更新される。その結果、認証トークンの有効期限がさらに延長されたこととなる。一例として、認証トークンの有効期間が30分である場合は、認証トークンの有効期限が30分延長されることになる。最終アクセス日時に基づいて認証トークンの有効期限を間接的に管理することによって、有効期限という管理要素を新たに認証サーバに設定する必要がなく、既存の認証サーバに対する親和性が高い。また、認証トークンの有効期限の更新は、単に認証サーバ112にアクセスすること、すなわち認証トークンの有効性を問い合わせることのみによって行われるため、簡易なフローによって効率的に有効期限を更新することができる。なお、本実施形態では、最終アクセス日時に基づいて有効期限を管理しているが、これに限られず、セッション情報管理部420が有効期限を直接管理し、有効期限自体を書き換えてもよい。
S706で失敗と判断した場合は、S707で認証トークンに対応する実行ジョブIDリストに含まれる実行ジョブID全てについて、S708で、実行ジョブ管理部422は印刷ジョブ情報の印刷ステータスをエラー終了とする。また、実行ジョブ管理部422は実行ジョブ情報504から該当の実行ジョブ情報を削除する。最後に、S709で、実行ジョブ管理部422が認証トークン更新リスト505の内容を全てクリアする。
なお、本実施形態では、認証トークンの有効期間を2で割った間隔で、実行ジョブ管理部422が図7のフローを実行しているが、これに限られず、実行ジョブ情報503に実行ジョブが登録されている間であれば、適当なタイミングで実行されてもよい。例えば、有効期限の更新は不定期に行われてもよいし、実行ジョブまたはプリンタごとに異なる間隔に設定してもよい。
このように、本実施形態によれば、例えば印刷ジョブの待ち時間や、紙なし、ジャム等のエラーによる待ちが発生しても、ユーザの認証トークンが無効にならない。そのため、プリンタはクライアント端末からプルプリントジョブと共に渡された認証トークンを使って正常に印刷を実行することができる。また、本実施形態によれば、プリントサーバが認証トークンの有効期限を更新しているため、クライアント端末およびネットワークに負荷がかからず、インターネットに展開するクラウドサービスに適用することができる。
(第2実施形態)
続いて、本発明の第2実施形態について説明する。第2実施形態では、プリントサーバ104が、クライアント端末101〜103のWebブラウザ301からの印刷指示を受けた際に、認証サーバ112に対して第2の認証トークンの発行を依頼する。具体的には、第1実施形態では、実行ユーザの認証トークンを使って印刷ジョブの実行を管理している。そのため、ユーザがクライアント端末から印刷指示を発行することにより生成された印刷ジョブが実行される前にユーザが本プリントシステムからログアウトした場合、認証サーバは、ログアウトしたユーザの認証トークンを無効へ変更する。その結果、ログアウト後にプリンタが印刷ジョブの印刷データ取得要求を発行した場合、正常に印刷が行われなくなる。
この課題を解決するために、第2実施形態では実行ユーザの認証トークンと別の認証トークンを使用する。その結果、ユーザのオペレーション(例えば、ログオフ操作)でユーザの認証トークンが明示的に無効となった場合でも、実行ジョブ情報504に含まれる認証トークンが無効にならずに、印刷が正常に実行される。
図8は、第2実施形態における、プリントサーバ104の実行ジョブ管理部422が、クライアント端末101〜103のWebブラウザ301からの印刷指示を受けた際の動作フローである。
S801で、プリントサーバ104は、リクエスト受付部406にて、Webブラウザ301からの印刷指示を受信する。S802において、リクエスト受付部406は、リクエストに含まれるユーザの認証トークンの有効性を認証サーバ112のセッション情報管理部420に問い合わせる。S802においてユーザの認証トークンが有効と判断された場合に、S803で、実行ジョブ情報管理部422は、認証サーバ112のセッション発行部419に対して、第2の認証トークンの発行を依頼する。実行ジョブ情報管理部422は、セッション発行部419の返信から、S804で、第2の認証トークンの発行が成功したかを判断する。
S804で第2の認証トークンの発行が成功と判断された場合に、実行ジョブ管理部422は、実行ジョブ情報504に第2の認証情報を含む実行ジョブ情報を登録する。さらに、S806では、印刷ジョブ情報管理部が、該当する印刷データの準備を行う。
このように、第2実施形態によれば、ユーザの認証トークンが無効となった場合でも、第2の認証トークンが無効にならない。したがって、第2実施形態によれば、プリンタは正常に印刷を実行することができる。また、本実施形態によれば、プリントサーバが認証トークンの有効期限を更新しているため、クライアント端末およびネットワークに負荷がかからず、インターネットに展開するクラウドサービスに適用することができる。
(第3実施形態)
以下、本発明の第3実施形態について図面に基づいて説明する。第1実施形態や第2実施形態においては、1つの印刷ジョブに着目した場合、その印刷ジョブの認証トークンの有効期限が切れて無効となる前に、有効期限を更新する方法に関して説明した。別の実施例として、例えば、廉価版のインクジェットプリンタを利用してGoogle Cloud Printを実現する印刷システムが実用化され始めている。このような印刷システムでは、印刷ジョブを発行してその印刷ジョブを処理する際に認証(アクセス)トークン(以下、本実施形態においてはアクセストークンと呼称する)を利用する。このアクセストークンの有効期限が、例えば24時間と設定されていたとする。この場合、この有効期限が切れた後は、その印刷ジョブに対するアクセストークンを更新することができない、という認証システム上の制限が存在し得る。
上述の例では、ユーザがアプリケーション(Google DocsやGmail等)を起動して、あるドキュメントを開いてGoogle Cloud Print(登録商標、以下GCPと呼称する)を利用して印刷を指示する。これにより印刷ジョブが発行されて、画像変換サービスを提供するアプリケーションがその印刷ジョブにPDFファイルとして格納されている印刷画像をJPEGファイル等の廉価版のプリンタでレンダリングできるタイプの画像フォーマットの印刷データに変換する。そして、プリンタがその印刷データを取得して印刷する。この時、印刷ジョブが発行されてからプリンタが前記印刷データの全てのページを印刷する迄の時間をアクセストークンの有効時間(例えば24時間)以内に完了させる必要がある。
このような印刷システムでは、例えば、GCPを利用してプリンタで印刷中に用紙切れやインク切れが発生した場合において、そのまま例えば24時間以上放置された場合、印刷に失敗してしまう。その為、ユーザが再度アプリケーションを起動して前記ドキュメント開いて印刷操作を行い、印刷ジョブを再発行する必要がある、という機能制限(仕様)がある。この機能制限(仕様)をできる限り避けることを考えた場合、印刷の度にその都度アクセストークンを再取得して、アクセストークンの有効期限をいつも最大(例えば24時間)にするような印刷システムが考えられる。この情報処理システムでは、印刷に失敗するリスクは少し低くなるものの、アクセストークンを毎回発行する処理が必要となる。従って、この認証アクセストークン発行処理に時間を要したり、アクセストークンの発行に伴う使用リソースが増大したりする、という課題がある。特に、一般的によくあるユースケースの例として、ある短時間(数分)の間に複数のドキュメントを連続して印刷することを想定する。この場合、印刷に失敗するリスクはほとんど同じであるにもかかわらず、印刷ジョブ毎のアクセストークンの発行に伴う使用リソースの増大による負荷が大きくなってしまう。
第3実施形態では、これらの問題を解決する情報処理システムに関して説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
以下において、WebサービスAPIにSSL通信で暗号化されたHTTPSのPOSTメソッド(通信方式の一例)を利用している場合があるが、このPOSTメソッドに関しては一般に公開されている情報であるので、ここではその詳細な説明を省略する。また、以下において、WebサービスAPIにHTTPのGETメソッド(通信方式の一例)を利用している場合があるが、このGETメソッドに関しては一般に公開されている情報であるので、ここではその詳細な説明を省略する。また、以下において、WebサービスAPIにSSL通信で暗号化されたHTTPSのGETメソッド(通信方式の一例)を利用している場合があるが、このGETメソッドに関しては一般に公開されている情報であるので、ここではその詳細な説明を省略する。
また、HTTPは、Hyper Text Transfer Protocolの略であり、暗号化されていない公知の通信プロトコルであるので、ここではその詳細な説明を省略する。また、HTTPSは、Hyper Text Transfer Protocol over Secure Socket Layerの略であり、暗号化された公知の通信プロトコルであるので、ここではその詳細な説明を省略する。また、SSLは、Secure Socket Layerの略であり、インターネット上でデータを暗号化して送受信する公知の方法であるので、ここではその詳細な説明を省略する。また、GCPに関する説明は、次に示すサイトで公開されているので、ここではその詳細な説明を省略する。
インターネットURL:http://code.google.com/apis/cloudprint/docs/overview.html
図9は、本実施形態の情報処理システムの構成例を示す。図9に示す情報処理システムは、PC1、PC2、PC5、PC147、及びPC7の各々は、情報処理装置(コンピュータ)の一例であり、例えば、一般的なパーソナルコンピュータである。PC1、PC2、PC5、PC147、及びPC7の各々は、図2のプリントサーバ、認証サーバ、クライアント端末に示すようなハードウェアを含んで構成される。
PC1には、Operating System(以下、OSと略す。)としてGoogle社製のChrome(登録商標)と同等のOSがインストールされている。また、PC2、PC147、及びPC5の各々には、マイクロソフト社製のWindows(登録商標)のServer用のOSがインストールされ、PC7には、Linux(登録商標)と同等のOSがインストールされている。PC1、PC2、PC5、PC147、及びPC7は、それぞれEthernet(登録商標)等のインタフェース(I/F)で構成されるネットワーク4、8、10、6に接続され、インターネット12にも接続されている。
マルチファンクションプリンタ(以下、MFPと略す。)3、133は、カラーインクジェットプリンタ、カラーファクシミリ、カラースキャナ、フラッシュメモリ用の外部ストレージ等を含んで構成され、周辺装置(コンピュータ)の一例である。MFP3、133は、ABC社製のKmmnというモデル名のMFPである。なお、周辺装置としては、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能を備える装置等であってもよい。
MFP3、及びMFP133のプリンタ機能に関しては、図2のプリンタに示すようなハードウェアを含んで構成される。また、MFP3は、Ethernet(登録商標)で構成されるネットワーク11に接続され、インターネット12にも接続されている。MFP133は、Ethernet(登録商標)で構成されるネットワーク134に接続され、インターネット12にも接続されている。
ルーター(Router)13は、Wi−Fi(登録商標)の無線LANを備えるブロードバンドルーター(Wi−Fi BB Router)等であり、インターネット12に接続されている。モバイルデバイス(MobileDevece)14は、携帯電話、携帯情報端末等である。モバイルデバイス14は、ルーター13と接続され、ルーター13を介してインターネット12にも接続されている。PC1、PC2、PC5、PC147、PC7、モバイルデバイス14、MFP3、及びMFP133は、インターネット12を介して互いに双方向通信が可能である(通信可能に接続されている)。Webブラウザ(Web Browser)9は、PC1にインストールされ、Webブラウザ15は、モバイルデバイス14にインストールされている。
アプリケーション(Application)145は、Webサービスを利用した文書作成用のアプリケーションであり、以下では、文書作成APP145と称する。アプリケーション(Application)146は、Webサービスを利用したクラウド印刷サービスを提供するアプリケーションであり、以下では、クラウド印刷APP146と称する。クラウド印刷APP146は、例えば、Google社が提供するGCPと同等の機能を有する。このクラウド印刷サービスを利用することで、PC1内のWebブラウザ9やモバイルデバイス内のWebブラウザ15から、文書作成APP145を実行し、ある文書を開き、その文書をMFP3やMFP133で印刷することができるようになる。
例えば、ユーザが、開いている文書を印刷する場合、図11に示す印刷メニュー1141を選択すると、クラウド印刷APP146により図12に示す印刷ダイアログ142が表示される。ユーザが印刷ダイアログ142でプリンタを選択し、印刷ボタン534を押して印刷の実行を指示すると、文書作成APP145は、印刷画像をPDFファイルとして生成する。そして、クラウド印刷APP146は、この印刷画像(PDFファイル)と印刷ダイアログ142で選択されている印刷設定値とから印刷ジョブを生成し、クラウド印刷サービス内の選択されたプリンタ用のプリントキューにその印刷ジョブを格納する。また、クラウド印刷APP146は、そのプリンタ(後述する本実施形態の例ではプロキシAPP143)に対して印刷ジョブ通知を送信する。
プリンタやMFPがPDFファイルをレンダリングする機能を備えている場合、プリンタやMFPは、プリントキューに格納されている印刷ジョブを印刷することができる。しかしながら、多くの廉価版のインクジェットプリンタやMFPにおいては、プリンタやMFPがPDFファイルをレンダリングする機能を備えていない。故に、このようなプリンタ等でプリントキューに格納されている印刷ジョブを印刷する場合、PDFファイルの印刷画像を、JPEGファイル等、廉価版のプリンタ等でレンダリングできるタイプの画像フォーマットに変換すること(前処理の一例)が必要となる。
アプリケーション(Application)143は、MFP3及びMFP133をクラウド印刷APP146が提供するクラウド印刷サービスに対応させるためのクラウド印刷プロキシサービスを提供するアプリケーションである。アプリケーション(Application)143は、MFP3及びMFP133とクラウド印刷APP146との中継処理を行う中継サービス装置であり、以下では、プロキシAPP143と称する。PC2にインストールされているプロキシAPP143は、5000台のプリンタやMFPを一度に管理し、それぞれのプリンタやMFPをクラウド印刷APP146が提供するクラウド印刷サービスに対応させることができる。
アプリケーション(Application)144は、PDFファイルをJPEGファイルに変換する画像変換サービスを提供するアプリケーションである。ある。アプリケーション(Application)144はプロキシAPP143と通信し、クラウド印刷サービスに関する関連処理を行う中間サービス装置として機能し、以下では、画像変換APP144と称する。
アプリケーション(Application)148は、プロキシAPP143が画像変換APP144を利用する際にユーザ認証を行い、画像変換APP144を利用するためのアクセストークンを発行する認証サービスを提供するアプリケーションである。なお、以下では認証APP148と称する。認証APP148は、認証サービス装置として機能し、プロキシAPP143が画像変換APP144を利用する際に認証を行うためのアクセストークンを発行する。クラウド印刷サービス146が、例えばGCPであればベンダーが異なるため、認証APP148が提供する認証処理サービスは、クラウド印刷APP146が使用している認証システムや認証サービスとは異なる。クラウド印刷APP146は、後述するように、画像変換APP144がクラウド印刷APP146を利用する際に認証を行うためのアクセストークンを発行する。なお、クラウド印刷APP146が発行するアクセストークンは、クラウド印刷APP146が提供するクラウド印刷サービスが発行してもよい。認証APP148は、次に示すWebサービスAPIをエクスポートしている。
・ログイン関数
・ログアウト関数
・ユーザ登録関数
・ユーザ認証関数
・アクセストークン生成関数
・アクセストークン妥当性確認関数
・アクセストークン有効期限確認関数
これらの関数については、SSL通信で暗号化されたHTTPSのPOSTメソッドが利用されている。これらの処理に係るプログラムは、PC147に組み込まれ、後述する図2に示すHDD205に記憶されており、CPU202によりRAM203に読み出されて実行される。
ここで、クラウド印刷APP146が提供するクラウド印刷サービスを利用するために、ユーザアカウントとパスワードとを用いたログインが必要となる。そして、クラウド印刷APP146は、印刷に利用可能なプリンタやMFPをクラウド印刷サービスに登録する際に、まず、そのユーザアカウントとパスワードとを使って、クラウド印刷サービスを利用する際のアクセストークンを取得する。そして、クラウド印刷APP146は、取得したアクセストークンを利用し、そのユーザアカウントにプリンタやMFPを関連付けて登録する。
また、クラウド印刷APP146は、プリンタやMFPの登録の際に、各プリンタやMFPに対して一意の値で表わされるプリンタIDを発行して割り当て、プリンタIDを登録の対象のプリンタ等に通知する。なお、プリンタ等の登録に関する処理に関しては、その詳細な説明を省略する。
PC1、PC2、PC5、及びPC7の各々は、図2のプリントサーバ、認証サーバ、クライアント端末に示すようなハードウェアを含んで構成されている。プロキシAPP143、図10に示す各モジュール(ソフトウェア)等のプログラムは、HDD205に記憶され、CPU202により必要に応じてRAM203に読み出されて実行される。これにより、プロキシAPP143の機能、図10に示す各モジュール(ソフトウェア)の機能などが実現される。また、各種のデータベース(DB)は、HDD205に設けられ、データベースの情報は、CPU202により必要に応じてRAM203に読み出される。MFP3及びMFP133のプリンタ機能に関しては、図2のプリンタに示すようなハードウェアを含んで構成されている。尚、MFPを構成する読取り部、ファクシミリ制御部、外部ストレージ制御部に関しては、本実施例と直接関係ないので、その説明を省略する。
図10は、PCのソフトウェアの構成の一例を示す図である。図10では、PC2を例に挙げて説明する。I/F92は、Ethernet(登録商標)等のI/Fを制御するI/F制御スタックである。IP Network91は、IP Networkを制御するIP Network制御スタックである。Internet Information Services(IIS)90は、IISを制御するIIS制御部であり、アプリケーション150は、このIIS制御部のWebサーバ機能を利用してWebサービスを提供する。JAVA(登録商標) Virtual Machine(Java VM)89は、Javaバイトコードをプラットフォームのネイティブコードに変換して実行するソフトウェアであり、プロキシAPP143は、JAVA VM89上で実行される。Applications82は、アプリケーション群であり、プロキシAPP143、アプリケーション150等から構成される。
図11は、PC1の文書作成APP145が提供するWebブラウザ9の一例を示す図である。図11は、ある文書を開いている状態を表す。印刷メニュー1141は、印刷に関する各種の操作を受け付ける。例えば、ユーザがKBD203等の入力部を操作(ユーザ操作)し、開いている文書を印刷するときに印刷メニュー1141を押下すると、図12に示す印刷ダイアログ142が表示される。
図12は、印刷ダイアログ142の一例を示す図である。印刷ダイアログ142は、ユーザに対するMFP3、133用の印刷設定画面として、クラウド印刷APP146により制御される。また、印刷ダイアログ142は、Webブラウザ9、15を利用して、そのWebブラウザ上に表示される。
プリンタ選択肢535、536、537の各々は、選択可能なプリンタの選択肢である。プリンタ選択肢535、536、537は、それぞれ、GHI社製のAkbNmbというモデル名のプリンタ、ABC社製のKmmnというモデル名のMFP(MFP3)、DEF社製のXyzというモデル名のプリンタに該当する選択肢を表す。図12では、MFP3を表すプリンタ選択肢536が選択されている状態が示されている。
用紙サイズ選択部530では、次に示す選択肢の中からMFP3で印刷する用紙のサイズがユーザ操作に応じて選択される。図12では、Letterが選択されている状態が示されている。
用紙サイズの選択肢:A5、A4、B5、Letter
用紙の種類選択部531では、次に示す選択肢の中からMFP3で印刷する用紙の種類がユーザ操作に応じて選択される。図12では、Plain Paperが選択されている状態が示されている。
用紙の種類の選択肢:Plain Paper、Photo Paper、Postcard
印刷品位選択部532では、次に示す選択肢の中からMFP3で印刷する印刷品位がユーザ操作に応じて選択される。図12では、Standardが選択されている状態が示されている。
印刷品位の選択肢:High、Standard、Fast
色/濃度選択部533では、次に示す選択肢の中からMFP3で印刷する色や濃度がユーザ操作に応じて選択される。図12では、Autoが選択されている状態が示されている。
印刷品位の選択肢:Auto、Manual
印刷ボタン534は、印刷の開始の指示を受け付ける。ユーザ操作により印刷ボタン534が押下されると、クラウド印刷APP146は、プリンタ選択肢536に関連付けられているMFP3用の印刷ジョブを生成する。クローズボタン538は、印刷ダイアログ142を閉じる指示を受け付ける。ユーザ操作によりクローズボタン538が押下されると、クラウド印刷APP146は、印刷ダイアログ142を閉じる。
図13、図14、図15は、本周辺装置制御システム全体の処理に係るフローチャートの一例を示す図である。これらのフローチャートに係るプログラムは、PCまたはMFP内に組み込まれている。PC上で動作するアプリケーションのプログラムは、HDD205に記憶されており、CPU202によりRAM203に読み出されて実行される。MFP上で動作するアプリケーションのプログラムは、ROM16に記憶されており、RAM17に読み出され、CPU25により実行される。
これらのフローチャートにおいて、縦の列が処理の実行元を表し、本実施形態では図面の左側から、ユーザ(Webブラウザ9)、文書作成APP145、クラウド印刷APP146、プロキシAPP143、画像変換APP144、MFP3を記す。以下では、ユーザがPC1を使ってドキュメントの印刷をMFP3で行うケース(ドキュメントの印刷に係る一連の処理)を例に挙げて通信制御方法について説明する。
まず、MFP3が印刷ジョブをポーリングする構成についてS2617〜S2621を用いて説明する。図13において、S2617は、便宜的にMFP3側から見たドキュメントの印刷の開始を表すステップである。なお、このステップは、MFP3内の処理の実行には一切影響を与えるものではなく、単にこのフローチャートの開始を表すものである。
S2618では、MFP3は、プロキシAPP143がエクスポートしているWebサービスAPIのCheckPrintJob関数をコールする。S2618において、MFP3が、この関数をコールするときに、HTTPのGET要求のクエリパラメータとしてプロキシAPP143に渡す情報(確認情報の一例)は、次に示すような情報である。
・クラウド印刷APP146が発行したプリンタID
・ランダムコード
また、CheckPrintJob関数をコールするタイミングは任意であり、定常的にコールするポーリングの形態とするが、この形態に限られるものではない。例えば、ユーザから指定されたときにコールする形態であってもよい。更に、クエリパラメータに含まれる確認情報もプリンタID、ランダムコードに限られるものではない。ランダムコードは、MFP3が生成した任意の32ビットの値である。プロキシAPP143は、CheckPrintJob関数がコールされると、図16(A)で後述するCheckPrintJob関数の処理を実行し、そのレスポンス(応答情報の一例)をMFP3に返す(S2619)。
続いて、MFP3は、プロキシAPP143からのCheckPrintJob関数のレスポンスを受信すると、レスポンス内の応答メッセージに含まれている情報(「印刷ジョブ有り応答」又は「印刷ジョブ無し応答」)を確認する(S2620)。S2620において、MFP3は、「印刷ジョブ有り応答」を受信したと判断した場合、図14のS2708に処理を移し、他方、「印刷ジョブ無し応答」を受信したと判断した場合、S2621に処理を移す。
S2621では、MFP3は、一定の時間(本実施形態では1分間)待った後、S2618に処理を移す。このように、MFP3は、プロキシAPP143がエクスポートしているCheckPrintJob関数を一定の時間間隔で(定期的に)ポーリングする。
次に、ドキュメントの印刷処理について説明する。ここで、S2601は、便宜的にユーザ側から見た場合のドキュメントの印刷の開始を表すステップである。なお、このステップは、ユーザ操作やアプリケーションの実行には一切影響を与えるものではなく、単にこのフローチャートの開始を表すものである。
まず、ユーザは、Webブラウザ9を起動して文書作成APP145のURLにアクセスしてログインする。そして、ユーザは、ある文書を指定してその文書を開く指示を行うと、Webブラウザ9は、その文書を入力パラメータとして、文書作成APP145がエクスポートしているWebサービスAPIのOpenDocument関数をコールする(S2602)。
文書作成APP145は、OpenDocument関数がコールされると、入力パラメータで指定された文書を開いてその情報をWebブラウザ9に送信する(S2603)。例えば、図11に示すように、Webブラウザ9上で文書作成APP145を介して当該文書が開かれた状態となる。ユーザ操作により、当該文書を印刷するために印刷メニュー1141が押下されると、Webブラウザ9を介してその情報が文書作成APP145に通知される(S2604)。文書作成APP145は、この通知を受け取ると、クラウド印刷APP146がエクスポートしているWebサービスAPIのPrintDialog関数をコールする(S2605)。
クラウド印刷APP146は、PrintDialog関数がコールされると、印刷ダイアログ142を開いて、その情報をWebブラウザ9に送信する(S2606)。例えば、図12に示すように、Webブラウザ9上に印刷ダイアログ142が表示される。
ユーザは、入力部を操作して、複数のプリンタ選択肢の中から印刷するプリンタ(図12の例ではMFP3に関連付けられているプリンタ選択肢536)を選択し、各印刷設定値の中から希望する設定値を選択し、印刷ボタン534を押下する。印刷ボタン534が押下されると、Webブラウザ9を介してそのユーザからの印刷開始要求を示す情報と印刷設定値に関する情報とが文書作成APP145に通知される(S2607)。
印刷設定値に関する情報は、例えば、ユーザが選択した印刷設定値が記されている印刷設定ファイル(XMLファイル)が格納されているURLである。文書作成APP145は、この通知を受け取ると、印刷画像をPDFファイルとして生成する。そして、文書作成APP145は、生成したPDFファイル、印刷設定値に関する情報等を入力パラメータとして、クラウド印刷APP146がエクスポートしているWebサービスAPIのSubmitPrintJob関数をコールする(S2608)。
クラウド印刷APP146は、SubmitPrintJob関数がコールされると、入力パラメータで指定されたPDFファイル、印刷設定値に関する情報等をもとに印刷ジョブを生成する。そして、クラウド印刷APP146は、選択されているプリンタ選択肢に関連付けられているプリンタ(本例では、画像フォーマットの変換が必要なMFP3であるのでプロキシAPP143)に印刷ジョブ通知を送信する(S2609)。
また、印刷ジョブには、少なくとも次に示すような情報(以下では、印刷ジョブ情報と称する。)が含まれている。
・クラウド印刷APP146が発行した印刷ジョブID
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷サービスを利用するためのアクセストークン
・印刷設定値が記されている印刷設定ファイル(XMLファイル)が格納されているURL
・印刷画像(PDFファイル)の格納先のURL
・タイムスタンプ
プロキシAPP143は、印刷ジョブ通知を受信すると、クラウド印刷APP146がエクスポートしているWebサービスAPIのFetchPrintJob関数をコールする(S2610)。クラウド印刷APP146は、FetchPrintJob関数がコールされると、S2609で生成した印刷ジョブに含まれている情報(印刷ジョブ情報)をプロキシAPP143に送信する(S2611)。
プロキシAPP143は、印刷ジョブ情報を受信すると、印刷ジョブ情報の中から必要な情報を取得し、取得した情報とその他の制御で必要な情報とを印刷ジョブ管理データベースに保存する(S2622)。そして、プロキシAPP143は、画像変換APP144がエクスポートしているWebサービスAPIのRegisterAndAuth関数をコールする(S2622)。
S2622において、プロキシAPP143が、この関数をコールするときに、HTTPSのPOST要求の入力パラメータとして画像変換APP144に渡す情報(前処理情報の一例)は、次に示すような情報である。
・認証APP148を利用する管理者ID
・認証APP148を利用する管理者パスワード
・画像変換APP144を利用するユーザID
・画像変換APP144を利用するユーザパスワード
・サービスID
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
・画像変換APP144を利用するためのアクセストークン
ここで、サービスIDは、各クラウド印刷サービスを特定するIDを表し、例えば、次に示すようなIDを指定可能である。尚、カッコ( )内は各クラウド印刷サービスの概要である。
GCP Consumer (コンシューマ用GCP)
GCP Enterprise (エンタープライズ用GCP)
Email Print Consumer (コンシューマ用Email印刷)
Email Print Enterprise (エンタープライズ用Email印刷)
ABC Cloud Print (ABC社が提供するクラウド印刷)
「認証APP148を利用する管理者ID」は、プロキシAPP143の識別情報であり、プロキシAPP143内に予め登録されている。「認証APP148を利用する管理者パスワード」は、そのプロキシAPP143IDを認証するためのパスワードであり、プロキシAPP143内に予め登録されている。「画像変換APP144を利用するユーザID」は、プロキシAPP143が管理する各MFPに対してそれぞれユニークに割り当てた識別情報であり、「画像変換APP144を利用するユーザパスワード」はそのユーザIDを認証するためのパスワードである。「画像変換APP144を利用するユーザID」と「画像変換APP144を利用するユーザパスワード」は、プロキシAPP143によって自動的に生成される。
S2622において、プロキシAPP143は、「画像変換APP144を利用するためのアクセストークン」に、画像変換APP144を利用するためのアクセストークンをロードしてセットする。この画像変換APP144を利用するためのアクセストークンは、前回MFP用としてRegisterAndAuth関数のレスポンスとして渡されて、印刷ジョブ管理データベースに保存されている。例えば、あるMFPで初めて印刷を行う場合、画像変換APP144を利用するためのアクセストークンが印刷ジョブ管理データベースに保存されていない。そのためプロキシAPP143は、RegisterAndAuth関数をコールするときに、HTTPSのPOST要求の入力パラメータとして渡す「画像変換APP144を利用するためのアクセストークン」に、値をセットしない。例えば、そのMFPにおける2回目以降の印刷を行う場合、プロキシAPP143は、そのMFPにおける前回の印刷時に使用した、画像変換APP144を利用するためのアクセストークンを印刷ジョブ管理データベースからロードする。そして、RegisterAndAuth関数をコールするときのHTTPSのPOST要求の入力パラメータとしてそれをセットする。
画像変換APP144は、RegisterAndAuth関数がコールされると、図21で後述するRegisterAndAuth関数の処理を実行し、そのレスポンスをプロキシAPP143に返す(S2623)。このレスポンスには、認証APP148が発行した、画像変換APP144を利用するためのアクセストークンが含まれている。すなわち、このとき画像変換APP144のCPU202は、プロキシAPP143から認証要求を受け付けた時に該認証要求を認証APP148に送信し、アクセストークンを取得する取得手段として機能する。
プロキシAPP143は、画像変換APP144からのRegisterAndAuth関数のレスポンスを受信すると、前記レスポンスに含まれている画像変換APP144を利用するためのアクセストークンを印刷ジョブ管理データベースに保存する。次に、プロキシAPP143は、画像変換APP144がエクスポートしているWebサービスAPIのCreatePrintJobSet関数をコールする(S2612)。
S2612において、プロキシAPP143が、この関数をコールするときに、HTTPSのPOST要求の入力パラメータとして画像変換APP144に渡す情報(前処理情報の一例)は、次に示すような情報である。
・サービスID
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
・画像変換APP144を利用するためのアクセストークン
・クラウド印刷サービスを利用するためのアクセストークン
・印刷画像(PDFファイル)の格納先のURL
また、S2622において、印刷ジョブ管理データベースには、次に示すような情報が保存される。
[印刷ジョブ管理データベース]
・検索キー:クラウド印刷APP146が発行した印刷ジョブID
・サービスID
・クラウド印刷APP146が発行したプリンタID
・画像変換APP144を利用するためのアクセストークン
・クラウド印刷サービスを利用するためのアクセストークン
・印刷設定ファイル(XMLファイル)の格納先のURL
・印刷画像(PDFファイル)の格納先のURL
・画像変換APP144へのアクセストークン
・印刷ジョブアクセスURL(JPEGファイルの格納先のURL)
・印刷画像(JPEGファイル)の総ページ数
・印刷ジョブ準備完了(PrintJobReady)(0:未完了、1:完了)
このとき、プロキシAPP143は、印刷ジョブ準備完了(PrintJobReady)に、印刷ジョブ準備が未完了であることを表す初期値として「0」をセットする。また、プロキシAPP143は、印刷画像(JPEGファイル)の総ページ数に初期値「0」をセットする。
画像変換APP144は、CreatePrintJobSet関数がコールされると、図17(A)で後述するCreatePrintJobSet関数の処理を実行し、そのレスポンスをプロキシAPP143に返す(S2613)。このレスポンスには、画像変換APP144が発行したセッションIDが含まれている。
プロキシAPP143は、画像変換APP144からCreatePrintJobSet関数のレスポンスを受信すると、画像変換APP144がエクスポートしているWebサービスAPIのConfirmProgress関数をコールする(S2614)。S2614において、プロキシAPP143が、この関数をコールするときに、HTTPのGET要求のクエリパラメータとして画像変換APP144に渡す情報(確認情報の一例)は、次に示すような情報である。
・セッションID
・シーケンス
セッションIDは、CreatePrintJobSet関数のレスポンスの中に含まれている情報であり、シーケンスは、プロキシAPP143が生成した任意の番号である。
画像変換APP144は、ConfirmProgress関数がコールされると、図18(A)で後述するConfirmProgress関数の処理を実行し、そのレスポンス(応答情報の一例)をプロキシAPP143に返す(S2615)。
プロキシAPP143は、画像変換APP144からのConfirmProgress関数のレスポンスを受信する。そして、プロキシAPP143は、そのレスポンス内の応答メッセージに含まれている内容(「処理中応答」、「処理完了応答」、又は「エラー応答」)を確認する(S2616)。S2616において、プロキシAPP143が「処理完了応答」を受信したと判断した場合、図14のS2701に処理を移し、他方、「処理中応答」を受信したと判断した場合、S2614に処理を移す。
なお、図17(B)で後述する画像変換APP144のダウンロード・画像変換スレッドの処理でエラーが発生した場合、S2616において、プロキシAPP143が「エラー応答」を受信して印刷処理をエラー終了する。しかしながら、エラー終了するケースに関しては、本実施形態の本質から外れるので、その詳細な説明を省略する。よって、S2616以降では、プロキシAPP143が「処理完了応答」または「処理中応答」を受信した場合を中心に説明する。
図14に示すように、S2701では、プロキシAPP143は、画像変換APP144がエクスポートしているWebサービスAPIのCreatePrintJobResult関数をコールする。S2701において、プロキシAPP143が、この関数をコールするときに、HTTPSのPOST要求の入力パラメータとして画像変換APP144に渡す情報(所在取得情報の一例)は、次に示すような情報である。
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
画像変換APP144は、CreatePrintJobResult関数がコールされると、図19で後述するCreatePrintJobResult関数の処理を実行し、そのレスポンスをプロキシAPP143に返す(S2702)。
プロキシAPP143は、画像変換APP144からのCreatePrintJobResult関数のレスポンスを受信すると、PrintJobReadyに「1」をセットする(S2703)。そして、プロキシAPP143は、印刷ジョブ管理データベースの印刷ジョブ準備完了(PrintJobReady)に、印刷ジョブ準備完了を表す「1」をセットする(S2703)。これにより、MFP3における印刷待ち状態となる(S2704)。
図13のS2618〜S2621で前述したように、MFP3は、プロキシAPP143がエクスポートしているCheckPrintJob関数を、一定の時間間隔でポーリングし、S2705は、S2618と同等な処理を表す。S2704でMFP3における印刷待ち状態となっているとき、S2705において、MFP3が、プロキシAPP143がエクスポートしているCheckPrintJob関数をコールした場合について説明する。プロキシAPP143は、CheckPrintJob関数がコールされると、図16(A)で後述するCheckPrintJob関数の処理を実行し、そのレスポンスをMFP3に返す(S2706)。
MFP3は、プロキシAPP143からのCheckPrintJob関数のレスポンスを受信すると、そのレスポンス内の応答メッセージに含まれている内容(「印刷ジョブ有り応答」又は「印刷ジョブ無し応答」)を確認する(S2707)。S2707において、MFP3が「印刷ジョブ有り応答」を受信したと判断した場合、S2708に処理を移し、他方、「印刷ジョブ無し応答」を受信したと判断した場合、S2621に処理を移す。
S2708では、MFP3は、プロキシAPP143がエクスポートしているWebサービスAPIのGetPrintJob関数をコールする。S2708において、MFP3が、この関数をコールするときに、HTTPSのGET要求のクエリパラメータとしてプロキシAPP143に渡す情報(取得情報の一例)は、次に示すような情報である。
・クラウド印刷APP146が発行したプリンタID
プロキシAPP143は、GetPrintJob関数がコールされると、図16(B)で後述するGetPrintJob関数の処理を実行し、そのレスポンスをMFP3に返す(S2709)。MFP3は、プロキシAPP143からのGetPrintJob関数のレスポンスを受信すると、レスポンス内の応答メッセージに含まれている内容をもとに、印刷画像取得要求を画像変換APP144に送信する(S2710)。
ここで、レスポンス内の応答メッセージに含まれている内容は、印刷ジョブアクセスURL(印刷画像(JPEGファイル)の格納先のURL)、印刷画像(JPEGファイル)の総ページ数、及び画像変換APP144へのアクセストークンである。また、印刷画像取得要求は、画像変換APP144から各ページの印刷画像(JPEGファイル)を取得するための要求である。
本実施形態では、印刷ジョブアクセスURLは、画像変換App144を有するPC5の格納先URLとするが、それ以外のPCの格納先URLであってもよい。また、例えば、印刷ジョブアクセスURLについては、直接PC5から送信する形態であってもよい。また、例えば、指定されたページの印刷画像を、App143を有するPC2がPC5から取得し、取得した印刷画像をPC2がMFP3に送信する形態であってもよい。また、例えば、PC2が、取得した印刷画像の格納先のURLをMFP3に送ってもよい。
画像変換APP144は、MFP3からの印刷画像取得要求を受信すると、指定されたページの印刷画像(JPEGファイル)に対するMFP3からのアクセスを許可し、その印刷画像をMFP3に送信する(S2711)。MFP3は、画像変換APP144から送信された印刷画像を受信すると、その印刷画像を印刷する(S2712)。続いて、MFP3は、印刷画像(JPEGファイル)の総ページ数をもとに、次ページの有無を確認する(S2713)。このとき、MFP3は、次ページが有ると判断した場合、S2710に処理を移し、次ページの印刷画像を取得するための印刷画像取得要求を画像変換APP144に送信する。他方、MFP3は、次ページが無いと判断した場合、図15のS2801に処理を移す。
S2710〜S2712における印刷画像(JPEGファイル)の取得処理に関しては、SSL通信で暗号化されたHTTPSのGETメソッドが利用される。
図15に示すように、S2801では、MFP3は、プロキシAPP143がエクスポートしているWebサービスAPIのEndPrintJob関数をコールする。EndPrintJob関数のコールについては、SSL通信で暗号化されたHTTPSのGETメソッドが利用されている。S2801において、MFP3が、この関数をコールするときに、HTTPSのGET要求のクエリパラメータとしてプロキシAPP143に渡す情報(終了情報の一例)は、次に示すような情報である。
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
プロキシAPP143は、EndPrintJob関数がコールされると(S2802)、画像変換APP144がエクスポートしているWebサービスAPIのJobCompleted関数をコールする(S2803)。S2803において、プロキシAPP143が、この関数をコールするときに、HTTPSのPOST要求の入力パラメータとして画像変換APP144に渡す情報(ジョブ処理終了情報の一例)は、次に示すような情報である。
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
画像変換APP144は、JobCompleted関数がコールされると、図18(B)で後述するJobCompleted関数の処理を実行し、そのレスポンスをプロキシAPP143に返す(S2804)。プロキシAPP143は、画像変換APP144からのJobCompleted関数のレスポンスを受信すると、印刷ジョブ管理データベースからこの印刷ジョブに関する情報を削除して、印刷ジョブ管理データベースを更新する(S2805)。そして、プロキシAPP143は、ドキュメントの印刷処理を終了する(S2806)。
次に、プロキシAPP143がエクスポートするWebサービスAPIの処理について図16を用いて説明する。図16(A)は、CheckPrintJob関数の処理に係るフローチャートの一例を示す図である。図16(B)は、GetPrintJob関数の処理に係るフローチャートの一例を示す図である。CheckPrintJob関数については、HTTPのGETメソッドが利用されている。GetPrintJob関数については、SSL通信で暗号化されたHTTPSのGETメソッドが利用されている。これらのフローチャートに係るプログラムは、PC2に組み込まれ、HDD205に記憶されており、CPU202によりRAM203に読み出されて実行される。
図13のS2618、図14のS2705において、MFP3がCheckPrintJob関数をコールすると、プロキシAPP143が図16(A)に示すCheckPrintJob関数の処理を実行する。
図16(A)に示すように、プロキシAPP143は、CheckPrintJob関数の処理を開始すると(S901)、印刷ジョブ管理データベースの印刷ジョブ準備完了(PrintJobReady)を確認する(S902)。S901において、HTTPのGET要求のクエリパラメータとして、クラウド印刷APP146が発行したプリンタIDとランダムコードとがMFP3から渡される。
プロキシAPP143は、印刷ジョブ準備完了(PrintJobReady)に印刷ジョブ準備が完了していることを表す「1」がセットされている、即ちMFP3の印刷ジョブが存在すると判断した場合(S903でYESの場合)、S904に処理を移す。他方、プロキシAPP143は、印刷ジョブの準備が未完了であることを表す「0」がセットされている、即ちMFP3の印刷ジョブが存在しないと判断した場合(S903でNOの場合)、S905に処理を移す。
S904では、プロキシAPP143は、HTTPのGET要求に対するレスポンスのBODYに含める応答メッセージに「印刷ジョブ有り応答」をセットし、S906に処理を移す。S905では、プロキシAPP143は、HTTPのGET要求に対するレスポンスのBODYに含める応答メッセージに「印刷ジョブ無し応答」をセットし、S906に処理を移す。S906では、プロキシAPP143は、GET要求の発行元(本例ではMFP3)に対して応答メッセージを送信し、CheckPrintJob関数の処理を終了する(S907)。
ここで、「印刷ジョブ有り応答」と「印刷ジョブ無し応答」との詳細を説明する。印刷ジョブ有りの状態を表す情報、及び印刷ジョブ無しの状態を表す情報は、それぞれ「10101010」、「01010101」である。「印刷ジョブ有り応答」及び「印刷ジョブ無し応答」は、それぞれ、ランダムコードとこれらの状態を表す情報とを用いて演算された結果であり、例えば、次に示す情報を文字列に変換した文字列情報で構成される。
「印刷ジョブ有り応答」 = ランダムコード XOR 10101010
「印刷ジョブ無し応答」 = ランダムコード XOR 01010101
このように、HTTPのGET要求に対するレスポンスとしてXMLを使って定義した可視的な情報等ではなく一般には意味がわからない文字列情報を用いる。これにより、WebサービスAPIに対する不正なアクセスによる誤動作や不正な制御を防止することができる。なお、このような不正なアクセスを防止する構成は、この例に限られるものではなく、ハッシュ化等、より複雑な演算を組み合わせてもよい。
また、図14のS2708において、MFP3がGetPrintJob関数をコールすると、プロキシAPP143は、図16(B)に示すGetPrintJob関数の処理を実行する。図16(B)に示すように、プロキシAPP143は、GetPrintJob関数の処理を開始する(S911)。そして、プロキシAPP143は、HTTPSのGET要求に対するレスポンスのBODYに含める応答メッセージに、印刷画像(JPEGファイル)の格納先のURLをセットし(S912)、S913に処理を移す。
S913では、プロキシAPP143は、HTTPSのGET要求に対するレスポンスのBODYに含める応答メッセージに、印刷画像(JPEGファイル)の総ページ数をセットし、S914に処理を移す。S914では、プロキシAPP143は、HTTPSのGET要求に対するレスポンスのBODYに含める応答メッセージに、画像変換APP144へのアクセストークンをセットし、S915に処理を移す。S915では、プロキシAPP143は、GET要求の発行元(本例ではMFP3)に対して応答メッセージを送信し、GetPrintJob関数の処理を終了する(S916)。
次に、画像変換APP144がエクスポートするWebサービスAPIとスレッド関数の処理とについて図17を用いて説明する。図17(A)は、CreatePrintJobSet関数の処理に係るフローチャートの一例を示す図である。図17(B)は、ダウンロード・画像変換スレッド関数の処理に係るフローチャートの一例を示す図である。CreatePrintJobSet関数については、SSL通信で暗号化されたHTTPSのPOSTメソッドが利用されている。
これらのフローチャートに係るプログラムは、PC5に組み込まれ、HDD205に記憶されており、CPU202によりRAM203に読み出されて実行される。
図13のS2612において、プロキシAPP143がCreatePrintJobSet関数をコールすると、画像変換APP144は、図17(A)に示すCreatePrintJobSet関数の処理を実行する。
図17(A)に示すように、画像変換APP144は、CreatePrintJobSet関数の処理を開始し(S1001)、図22で後述するアクセストークンの確認処理を実行する(S1018)。このとき、次に示す情報をこの処理(サブルーチン関数)の引数として渡す。
・サービスID
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
・画像変換APP144を利用するためのアクセストークン
そして、画像変換APP144は、セッションIDを生成し、セッション管理データベースに保存し(S1002)、S1003に処理を移す。セッション管理データベースには、次に示すような情報が保存される。
[セッション管理データベース]
・検索キー:画像変換APP144が発行したセッションID
・サービスID
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
・クラウド印刷サービスを利用するためのアクセストークン
・印刷画像(PDFファイル)の格納先のURL
・画像変換APP144を利用するためのアクセストークン
・印刷ジョブアクセスURL(JPEGファイルの格納先のURL)
・処理の進捗を表す進捗状況(Progress)
ここで、画像変換APP144は、CreatePrintJobSet関数の入力パラメータの中からクラウド印刷APP146が発行したプリンタIDと印刷ジョブIDとを取得する。そして、画像変換APP144は、クラウド印刷APP146が発行したプリンタIDと印刷ジョブIDとをセッション管理データベースに保存する。また、画像変換APP144は、CreatePrintJobSet関数の入力パラメータの中からクラウド印刷サービスを利用するためのアクセストークンを取得する。そして、画像変換APP144は、クラウド印刷サービスを利用するためのアクセストークンをセッション管理データベースに保存する。さらに、画像変換APP144は、CreatePrintJobSet関数の入力パラメータの中から印刷画像(PDFファイル)の格納先のURLを取得し、印刷画像(PDFファイル)の格納先のURLをセッション管理データベースに保存する。
続いて、画像変換APP144は、セッション管理データベース内の処理の進捗を表す進捗状況(Progress)に処理中を表す「1」をセットし(S1003)、S1004に処理を移す。S1004では、画像変換APP144は、ダウンロード・画像変換スレッドを生成し、S1005に処理を移す。なお、ダウンロード・画像変換スレッドの処理に関しては、図17(B)で後述する。
続いて、画像変換APP144は、HTTPSのPOST要求に対するレスポンスのBODYに含める応答メッセージに、この関数が成功して正常終了したことを表すSUCCESSとS1002で生成したセッションIDとをセットする(S1005)。そして、画像変換APP144は、POST要求の発行元(本例ではプロキシAPP143)に対して応答メッセージを送信する(S1005)。そして、画像変換APP144は、CreatePrintJobSet関数の処理を終了する(S1006)。
また、S1004において画像変換APP144がダウンロード・画像変換スレッドを生成すると、CreatePrintJobSet関数とは別のスレッドが起動される。そして、このスレッドの中で図17(B)に示すダウンロード・画像変換スレッドの処理が実行される。
図17(B)に示すように、画像変換APP144は、ダウンロード・画像変換スレッドの処理を開始する(S1011)。そして、画像変換APP144は、クラウド印刷サービスを利用するためのアクセストークンを利用し、SSL通信で暗号化されたHTTPSのGETメソッドにて印刷画像(PDFファイル)の格納先のURLにアクセスする。即ち、画像変換APP144は、クラウド印刷サービスから印刷画像(PDFファイル)をダウンロードして一時的にRAM203に保存する(S1012)。
また、画像変換APP144は、ダウンロードを完了した後、印刷画像(PDFファイル)をMFP3で印刷可能な形式であるJPEGファイルに変換する。なお、PC5のHDD205には、プリンタやMFP毎に、印刷可能な形式を示す設定情報が予め記憶されている。そして、画像変換APP144は、クラウド印刷APP146が発行したプリンタIDと印刷ジョブIDとから構成されるフォルダにそのJPEGファイルを保存する(S1013)。
また、S1013において、画像変換APP144は、セッション管理データベース内の画像変換APP144へのアクセストークンに、画像変換APP144へのアクセストークンをセットする。画像変換APP144へのアクセストークンは、クラウド印刷APP146が発行したプリンタIDが関連付けられているプリンタやMFP(本例ではMFP3)が印刷画像(JPEGファイル)にアクセスするためのアクセストークンである。さらに、S1013において、画像変換APP144は、セッション管理データベース内の印刷ジョブアクセスURLに、印刷画像(JPEGファイル)の格納先のURL(1ページ目)をセットする。
[例]
プリンタID:abcde
印刷ジョブID:1234
印刷画像(JPEGファイル)の総ページ数:3ページ
PC2内のデータストレージ:
C:\abcde1234\
p1.jpg
p2.jpg
p3.jpg
URL:http://www.abc.xxx/printdata/?pi=abcde&ji=1234&p=1
このURLは、1ページ目のJPEGファイル(p1.jpg)を表すので、MFP3は、各ページの印刷画像を取得するときは、ページ番号を表すクエリパラエータ「p」に、取得するページ番号を指定する。S1013において、画像変換APP144は、印刷画像(PDFファイル)を変換し、全てのページの印刷画像(JPEGファイル)の変換が完了した後、S1012でダウンロードした印刷画像(PDFファイル)をRAM203から削除する。
続いて、画像変換APP144は、S1011〜S1013の何れかの処理においてエラーを検出したか否かを判断する(S1014)。このとき、画像変換APP144は、エラーを検出したと判断した場合、S1016に処理を移し、他方、エラーを検出しなかったと判断した場合、正常終了と判断してS1015に処理を移す。
S1015では、画像変換APP144は、セッション管理データベース内の進捗状況(Progress)に正常終了を表す「0」をセットし、ダウンロード・画像変換スレッドの処理を終了する(S1017)。S1016では、画像変換APP144は、セッション管理データベース内の進捗状況(Progress)にエラー終了を表す「2」をセットし、ダウンロード・画像変換スレッドの処理を終了する(S1017)。
S1017において、画像変換APP144は、セッション管理データベースからこの印刷ジョブに関する情報を削除し、セッション管理データベースを更新する。
次に、画像変換APP144がエクスポートするWebサービスAPIの処理について図18を用いて説明する。図18(A)は、ConfirmProgress関数の処理に係るフローチャートの一例を示す図である。図18(B)は、JobCompleted関数の処理に係るフローチャートの一例を示す図である。
ここで、ConfirmProgress関数については、HTTPのGETメソッドが利用されている。JobCompleted関数については、SSL通信で暗号化されたHTTPSのPOSTメソッドが利用されている。これらのフローチャートに係るプログラムは、PC5に組み込まれ、HDD205に記憶されており、CPU202によりRAM203に読み出されて実行される。
図13のS2614において、プロキシAPP143がConfirmProgress関数をコールすると、画像変換APP144が図18(A)に示すConfirmProgress関数の処理を実行する。
図18(A)に示すように、画像変換APP144は、ConfirmProgress関数の処理を開始し(S1101)、図22で後述するアクセストークンの確認処理を実行する(S1125)。このとき、次に示す情報をこの処理(サブルーチン関数)の引数として渡す。
・サービスID
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
・画像変換APP144を利用するためのアクセストークン
このとき、ConfirmProgress関数に対するHTTPのGET要求には、クエリパラメータとしてセッションIDとシーケンスとが含まれている。シーケンスは、GET要求の発行元(本例ではプロキシAPP143)が生成する任意の番号である。
続いて、画像変換APP144は、クエリパラメータに含まれているセッションIDを検索キーとして、セッション管理データベース内の進捗状況(Progress)を確認する(S1102)。続いて、画像変換APP144は、進捗状況(Progress)に正常終了を表す「0」がセットされていると判断した場合(S1103でYESの場合)、S1104に処理を移す。他方、画像変換APP144は、「0」以外(「1」または「2」)がセットされていると判断した場合(S1103でNOの場合)、S1105に処理を移す。
S1104では、画像変換APP144は、HTTPのGET要求に対するレスポンスのBODYに含める応答メッセージに「処理完了応答」をセットし、S1108に処理を移す。S1105では、画像変換APP144は、進捗状況(Progress)を確認する。このとき、画像変換APP144は、進捗状況(Progress)に処理中を表す「1」がセットされていると判断した場合、S1106に処理を移し、他方、「1」以外(「2」)がセットされている判断した場合、S1107に処理を移す。
S1106では、画像変換APP144は、HTTPのGET要求に対するレスポンスのBODYに含める応答メッセージに「処理中応答」をセットし、S1108に処理を移す。S1107では、画像変換APP144は、HTTPのGET要求に対するレスポンスのBODYに含める応答メッセージに「エラー応答」をセットし、S1108に処理を移す。
S1108では、画像変換APP144は、GET要求の発行元(本例ではプロキシAPP143)に対して応答メッセージを送信し、ConfirmProgress関数の処理を終了する(S1109)。
ここで、「処理完了応答」、「処理中応答」、及び「エラー応答」の詳細について説明する。これらの応答は、それぞれ、S1101においてGET要求のクエリパラメータに含まれていたシーケンスを用いて演算された結果であり、例えば、次に示す情報を文字列に変換した文字列情報で構成される。
「処理完了応答」 = シーケンス
「処理中応答」 = シーケンス+1
「エラー応答」 = シーケンス+2
このように、HTTPのGET要求に対するレスポンスとしてXMLを使って定義した可視的な情報等ではなく一般には意味がわからない文字列情報を用いる。これにより、WebサービスAPIに対する不正なアクセスによる誤動作や不正な制御を防止することができる。なお、このような不正なアクセスを防止する構成は、この例に限られるものではなく、ハッシュ化等、より複雑な演算を組み合わせてもよい。また、図15のS2803において、プロキシAPP143がJobCompleted関数をコールすると、画像変換APP144が図18(B)に示すJobCompleted関数の処理を実行する。
図18(B)に示すように、画像変換APP144は、JobCompleted関数の処理を開始すると(S1121)、図22で後述するアクセストークンの確認処理を実行する(S1126)。このとき、次に示す情報をこの処理(サブルーチン関数)の引数として渡す。
・サービスID
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
・画像変換APP144を利用するためのアクセストークン
そして、印刷画像(JPEGファイル)を削除し(S1122)、S1123に処理を移す。
S1123では、画像変換APP144は、HTTPSのPOST要求に対するレスポンスのBODYに含める応答メッセージに、正常終了したことを表すSUCCESSをセットする。また、S1123では、画像変換APP144は、POST要求の発行元(本例ではプロキシAPP143)に対して応答メッセージを送信する。そして、画像変換APP144は、JobCompleted関数の処理を終了する(S1124)。
次に、画像変換APP144がエクスポートするWebサービスAPIの処理について図19を用いて説明する。図19は、CreatePrintJobResult関数の処理に係るフローチャートの一例を示す図である。CreatePrintJobResult関数については、SSL通信で暗号化されたHTTPSのPOSTメソッドが利用されている。このフローチャートに係るプログラムは、PC5に組み込まれ、HDD205に記憶されており、CPU202によりRAM203に読み出されて実行される。
図14のS2701において、プロキシAPP143がCreatePrintJobResult関数をコールすると、画像変換APP144が図19に示すCreatePrintJobResult関数の処理を実行する。
図19に示すように、画像変換APP144は、CreatePrintJobResult関数の処理を開始し(S1201)、図22で後述するアクセストークンの確認処理を実行する(S1207)。このとき、次に示す情報をこの処理(サブルーチン関数)の引数として渡す。
・サービスID
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
・画像変換APP144を利用するためのアクセストークン
続いて、画像変換APP144は、HTTPSのPOST要求に対するレスポンスのBODYに含める応答メッセージに、画像変換APP144を利用するためのアクセストークンをセットし(S1202)、S1203に処理を移す。
S1203では、画像変換APP144は、POST要求に対するレスポンスのBODYに含める応答メッセージに、印刷ジョブアクセスURL(JPEGファイルの格納先のURL)をセットし、S1204に処理を移す。S1204では、画像変換APP144は、POST要求に対するレスポンスのBODYに含める応答メッセージに、印刷画像(JPEGファイル)の総ページ数をセットし、S1205に処理を移す。S1205では、画像変換APP144は、POST要求の発行元(本例ではプロキシAPP143)に対して応答メッセージを送信し、CreatePrintJobResult関数の処理を終了する(S1206)。
図20は、WebサービスAPIのコーリングシーケンスの一例を示す図である。図20(A)は、プロキシAPP143とMFP3との間のコーリングシーケンスの一例を示す図である。図20(B)は、プロキシAPP143と画像変換APP144との間のコーリングシーケンスの一例を示す図である。
図20(A)に示すように、プロキシAPP143とMFP3との間では、MFP3は、プロキシAPP143がエクスポートしているWebサービスAPIをコールしている。即ち、CheckPrintJob関数、GetPrintJob関数、EndPrintJob関数の順で、プロキシAPP143がエクスポートしているWebサービスAPIがコールされる。ここで、CheckPrintJob関数については(ポーリング処理だけが)、暗号化されていないHPPTのGETメソッドが利用され、それ以外の関数については全てSSL通信で暗号化されたHTTPSのGETメソッドが利用されている。
このように、印刷ジョブの有無を確認するだけのためのポーリングに、暗号化されていないHTTPメソッドを利用することで、ポーリングに要する時間が低減され、ユーザの操作性に優れた周辺装置制御システムを実現することができる。また、ポーリングにかかる負荷を低減することができるので、例えば負荷に対応するための構成が必要なくなるので、システムの構築やプリンタやMFPのファームウェアの実装が容易となり、開発コストを削減できる。
また、図20(B)に示すように、プロキシAPP143と画像変換APP144との間では、プロキシAPP143は、画像変換APP144がエクスポートしているWebサービスAPIをコールしている。即ち、CreatePrintJobSet関数、ConfirmProgress関数、CreatePrintJobResult関数、JobCompleted関数の順で画像変換APP144がエクスポートしているWebサービスAPIがコールされる。ここで、ConfirmProgress関数については(ポーリング処理だけが)、暗号化されていないHPPTのGETメソッドが利用され、それ以外の関数については全てSSL通信で暗号化されたHTTPSのPOSTメソッドが利用されている。
このように、処理の進捗状況を確認するだけのためのポーリングに、暗号化されていないHTTPメソッドを利用することで、ポーリングに要する時間が低減され、ユーザの操作性に優れた周辺装置制御システムを実現することができる。また、ポーリングにかかる負荷を低減することができるので、例えば負荷に対応するための構成が必要なくなるので、システムの構築やアプリケーションの実装が容易となり、開発や運用コストを削減できる。
次に、画像変換APP144がエクスポートするWebサービスAPIの処理について図21を用いて説明する。図21は、RegisterAndAuth関数の処理に係るフローチャートの一例を示す図である。RegisterAndAuth関数については、SSL通信で暗号化されたHTTPSのPOSTメソッドが利用されている。このフローチャートに係るプログラムは、PC5に組み込まれ、HDD205に記憶されており、CPU202によりRAM203に読み出されて実行される。図21では、エラーケースに関する処理を省略し、正常ケースだけを示す。
図13のS2622において、プロキシAPP143がRegisterAndAuth関数をコールすると、画像変換APP144が図21に示すRegisterAndAuth関数の処理を実行する。
図21に示すように、画像変換APP144は、RegisterAndAuth関数の処理を開始する(S1401)。画像変換APP144は、プロキシAPP143から入力パラメータとして渡された情報の中の「画像変換APP144を利用するユーザID」と「画像変換APP144を利用するユーザパスワード」を使う。そして、画像変換APP144は認証APP148がエクスポートするWebサービスAPIの1つであるユーザ認証関数をコールして、ユーザ認証を行う(S1402)。
S1402において、ユーザが存在しないという理由によってユーザ認証に失敗した場合、画像変換APP144は、「認証APP148を利用する管理者ID」と「認証APP148を利用する管理者パスワード」を使う。これらの情報は、プロキシAPP143から入力パラメータとして渡された情報の中に含まれている。そして画像変換APP144は、これらの情報を用いて認証APP148がエクスポートするWebサービスAPIの1つであるログイン関数をコールしてログインする。そして、画像変換APP144は、プロキシAPP143から入力パラメータとして渡されたこれらの情報を使って、認証APP148がエクスポートするWebサービスAPIの1つであるユーザ登録関数をコールして新規ユーザ登録を行った後、ユーザ認証を行う。
画像変換APP144は、ユーザ認証に成功すると、プロキシAPP143から入力パラメータとして渡された情報の中の「画像変換APP144を利用するためのアクセストークン」を参照し、セットされている値の有無を確認する(S1403)。値が有る(存在する)場合S1405へ進み、値が無い(存在しない)場合S1408へ進む(S1404)。S1405で、画像変換APP144は、APP143から入力パラメータとして渡された情報を使用する。具体的には、画像変換APP144は「画像変換APP144を利用するユーザID」と「画像変換APP144を利用するユーザパスワード」と「画像変換APP144を利用するためのアクセストークン」を使う。そして、画像変換APP144のCPU202は、認証APP148がエクスポートするWebサービスAPIの1つであるアクセストークン有効期限確認関数をコールする。これにより、画像変換APP144のCPU202は、APP143から渡された画像変換APP144を利用するためのアクセストークンの有効期限を確認する。すなわち画像変換APP144のCPU202はアクセストークンの有効時間が十分、つまり一定時間以上残っているか否かを判定する有効期限判定手段として機能する。
画像変換APP144は、有効期限が十分であると判定した場合S1407へ進み、有効期限が不十分であると判定した場合S1408へ進む(S1406)。S1406における画像変換APP144が有効期限を判定する処理は、例えば、次に示すような処理である。S1408で後述するように、画像変換APP144を利用するためのアクセストークンの有効期限は、一例としてアクセストークン発行時点から24時間以内である。従って、例えば、画像変換APP144は、アクセストークン有効期限確認関数でアクセストークンの残有効時間を取得できる場合、残有効時間が20時間以上の場合に有効期限が十分であると判定する。画像変換APP144は、残有効時間が20時間未満の場合に有効期限が不十分であると判定する。また、例えば、画像変換APP144は、アクセストークン有効期限確認関数でアクセストークンの発行年月日と時刻を取得できる場合、現在の年月日と時刻を取得して、前記アクセストークンの発行時点から現在時刻迄の経過時間を計算する。本実施例ではアクセストークンの有効期限は発行時点から24時間であるので、画像変換APP144は、24時間から前記経過時間を減算して得られる残有効時間を計算する。画像変換APP144は、この残有効時間が20時間以上の場合に有効期限が十分であると判定し、残有効時間が20時間未満の場合に有効期限が不十分であると判定する。
S1407において、画像変換APP144は、プロキシAPP143から入力パラメータとして渡された情報の中の「画像変換APP144を利用するためのアクセストークン」にセットされている値を再利用することを決定し、S1409へ進む。S1408では、画像変換APP144は、プロキシAPP143から入力パラメータとして渡された情報の中の「画像変換APP144を利用するユーザID」と「画像変換APP144を利用するユーザパスワード」を使う。そして、認証APP148がエクスポートするWebサービスAPIの1つであるアクセストークン生成関数をコールして、画像変換APP144を利用するためのアクセストークンを取得し、S1409へ進む。このアクセストークンには有効期限があり、ここでは、一例として、アクセストークン発行時点から24時間以内と定義されている。
S1409において、画像変換APP144は、この画像変換APP144を利用するためのアクセストークンをセッション管理データベースに保存する。セッション管理データベースには、次に示すような情報が保存される。
[セッション管理データベース]
・検索キー:サービスIDと、クラウド印刷APP146が発行したプリンタIDと、クラウド印刷APP146が発行した印刷ジョブIDとを組合せて生成された値
・画像変換APP144を利用するためのアクセストークン
画像変換APP144は、HTTPSのPOST要求に対するレスポンスのBODYに含める応答メッセージに、この関数が成功して正常終了したことを表すSUCCESSをセットする。このとき、画像変換APP144は、S1403で取得した画像変換APP144を利用するためのアクセストークンも併せてセットする(S1410)。そして、画像変換APP144は、POST要求の発行元(本例ではプロキシAPP143)に対して応答メッセージを送信する(S1410)。そして、画像変換APP144は、RegisterAndAuth関数の処理を終了する(S1411)。
図22は、画像変換APP144の処理に係るフローチャートの一例を示す図であり、アクセストークンの確認処理を表すフローチャートの一例を示す図である。このフローチャートに係るプログラムは、PC5に組み込まれ、HDD205に記憶されており、CPU202によりRAM203に読み出されて実行される。アクセストークンの確認処理は、画像変換APP144内のサブルーチン関数であり、次に示す情報がこのサブルーチン関数の引数として渡される。
・サービスID
・クラウド印刷APP146が発行したプリンタID
・クラウド印刷APP146が発行した印刷ジョブID
・画像変換APP144を利用するためのアクセストークン
図17に示すS1018、図18(A)に示すS1125、図18(B)に示すS1126において、図19に示すS1207において、画像変換APP144がアクセストークンの確認処理を実行する。図22に示すように、次いで画像変換APP144は、アクセストークンの確認処理を開始する(S1501)。画像変換APP144は、サービスIDと、クラウド印刷APP146が発行したプリンタIDと、クラウド印刷APP146が発行した印刷ジョブIDとを組合せて検索キーを生成する(S1502)。そして、画像変換APP144は、この検索キーを使ってセッション管理データベースを検索する(S1503)。画像変換APP144は、この検索キーに関連付けられた情報をセッション管理データベース内に発見した場合S1505へ進み、見つからなかった場合S1509へ進む(S1504)。
S1505において、画像変換APP144は比較処理を行う。具体的には、このサブルーチン関数の引数として渡された画像変換APP144を利用するためのアクセストークンと、セッション管理データベースに保存されている画像変換APP144を利用するためのアクセストークンとが一致するか否かを比較する。画像変換APP144は、一致すると判断した場合S1507へ進み、不一致と判断した場合S1509へ進む(S1506)。
S1507において、画像変換APP144は、成功を表すSuccessを戻り値にセットして、このサブルーチン関数の呼び出し元へ戻る(S1508)。S1509において、画像変換APP144は、失敗を表すFailureを戻り値にセットする。そして、画像変換APP144は、レスポンスのBODYに含める応答メッセージに、そのAPIが成功して失敗終了したことを表すFAILUREをセットする(S1510)。画像変換APP144は、この応答メッセージを、このサブルーチン関数の呼び出し元である、画像変換APP144がエクスポートするWebサービスAPIのHTTPのPOST要求に対して送る。そして、画像変換APP144は、POST要求の発行元(本例ではプロキシAPP143)に対して応答メッセージを送信する(S1510)。そして、画像変換APP144は、このサブルーチン関数と前記APIの処理を終了する(S1511)。
S1505において、画像変換APP144は比較処理を行う。具体的には、このサブルーチン関数の引数として渡された画像変換APP144を利用するためのアクセストークンと、セッション管理データベースに保存されている画像変換APP144を利用するためのアクセストークンを比較する。アクセストークンが一致するか否かを比較することにより、画像変換APPは、認証APP148がエクスポートするアクセストークン妥当性確認関数を利用することなくアクセストークンの妥当性を判断する。従って、プロキシAPP143が、画像変換APP144に対してコールする度に、画像変換APP144が、認証APP148がエクスポートするWebサービスAPIのアクセストークン妥当性確認関数をコールする必要が無い。その結果、パフォーマンスを向上することができる。
また、認証APP148のシステムの規模を小さくすることができ、構成を簡素化することができる。これにより、運用コストを下げることもできる。さらに、上位サービスであるプロキシAPP143になりすましたなりすましプログラムによる悪意のある攻撃に対しても有効であり、なりすましプログラムからのアクセスのような悪意のある攻撃による誤動作や情報漏洩を防止することもできる。さらに、上位サービスであるプロキシAPP143が誤動作した場合に、例えば、ある印刷ジョブに付与されたアクセストークンが、前記誤動作に伴って他の印刷ジョブに関連付けられてしまう可能性がある。このようなケースにおいても、画像変換APP144はその印刷ジョブを処理せずに、印刷を中止することができるので、誤印刷を防止することもできる。
上述した実施形態では、情報処理装置としてパーソナルコンピュータを想定した。しかしながら、この例に限られるものではなく、例えばDVDプレーヤー、ゲーム、セットトップボックス、インターネット家電等、同様な使用方法が可能な任意の情報処理装置(端末)に対して適用することができ、有効である。また、上述した実施形態では、周辺装置としてMFPを例示した。しかしながら、周辺装置として他に、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能を備える装置等の何れかであってもよい。
また、上述した実施形態では、OSに例としてWindows(登録商標)と同等のOSを使用したが、このOSに限られるものではなく、任意のOSを使用することができる。また、上述した実施形態では、ネットワーク4の構成例としてEthernet(登録商標)を用いたが、この例に限られるものではなく、他の任意のネットワーク構成であってもよい。
また、上述した実施形態では、PC1、PC2、PC5、PC7とMFP3、MFP133との間のインタフェースとして、Ethernet(登録商標)を採用した。しかしながら、このインタフェースに限られることなく、例えば、無線LAN、IEEE1394、Bluetooth(登録商標)、USB等の任意のインタフェースを用いるようにしてもよい。また、各種のアプリケーション(ファームウェア)における機能、上述したフローチャートに係る処理の一部、又は全部を専用のハードウェアを用いて構成してもよい。
また、周辺装置制御システムにクラウドを利用した場合においても、システムの構築やアプリケーションの実装が容易で、開発や運用コストを削減できる。
上述した実施形態の構成によれば、装置間の通信をより適切に行うことができる。以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム等のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
104 プリントサーバ
122 認証サーバ
101〜103 クライアント端末

Claims (10)

  1. クライアント端末からの指示に基づいて印刷ジョブおよびプリンタを管理する印刷制御装置であって、
    前記クライアント端末から前記プリンタへの印刷指示および前記クライアント端末の認証情報を受け付ける受付手段と、
    前記認証情報の有効性を、前記認証情報を発行し管理を行っている認証手段に確認する確認手段と、
    前記認証情報が有効であった場合、前記印刷ジョブを前記認証情報とともに実行ジョブとして登録する実行ジョブ管理手段と、
    前記登録された認証情報について、前記実行ジョブが登録されている間に前記認証手段へアクセスして前記認証情報の有効期限を更新する更新手段と、
    前記プリンタから一定の間隔で定期通信を受信する受信手段と、
    を備え
    前記受信手段により前記定期通信を受信してから所定の期間が経過しても前記定期通信を受信しなかった場合、前記実行ジョブ管理手段は、前記プリンタにおいて実行される実行ジョブを削除することを特徴とする印刷制御装置。
  2. 前記更新手段は、一定の間隔で、前記有効期限を更新することを特徴とする請求項1に記載の印刷制御装置。
  3. 前記更新手段は、前記認証手段へ認証トークンの有効性を問い合わせ、最終アクセス日時を更新することにより、前記認証情報の有効期限を更新することを特徴とする請求項1または2に記載の印刷制御装置。
  4. 前記更新手段は、複数の前記実行ジョブが登録されている場合、前記複数の実行ジョブの全てに対して、前記認証情報の有効期限を更新することを特徴とする請求項1乃至3のいずれか1項に記載の印刷制御装置。
  5. クライアント端末からの指示に基づいて印刷ジョブおよびプリンタを管理する印刷制御方法であって、
    前記クライアント端末から前記プリンタへの印刷指示および前記クライアント端末の認証情報を受け付ける受付工程と、
    前記認証情報の有効性を、前記認証情報を発行し管理を行っている認証手段に確認する確認工程と、
    前記認証情報が有効であった場合、前記印刷ジョブを前記認証情報とともに実行ジョブとして登録する実行ジョブ管理工程と、
    前記登録された認証情報について、前記実行ジョブが登録されている間に前記認証手段へアクセスして前記認証情報の有効期限を更新する更新工程と、
    前記プリンタから一定の間隔で定期通信を受信する受信工程と、
    有し、
    前記受信工程により前記定期通信を受信してから所定の期間が経過しても前記定期通信を受信しなかった場合、前記実行ジョブ管理工程では、前記プリンタにおいて実行される実行ジョブを削除することを特徴とする印刷制御方法。
  6. 前記更新工程では、一定の間隔で、前記有効期限を更新することを特徴とする請求項に記載の印刷制御方法。
  7. 前記更新工程では、前記認証手段へ認証トークンの有効性を問い合わせ、最終アクセス日時を更新することにより、前記認証情報の有効期限を更新することを特徴とする請求項またはに記載の印刷制御方法。
  8. 前記更新工程では、複数の前記実行ジョブが登録されている場合、前記複数の実行ジョブの全てに対して、前記認証情報の有効期限を更新することを特徴とする請求項乃至のいずれか1項に記載の印刷制御方法。
  9. 請求項乃至のいずれか1項に記載の印刷制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
  10. クライアント端末からの指示に基づいて印刷ジョブおよびプリンタを管理する印刷制御装置であって、
    前記クライアント端末から前記プリンタへの印刷指示および前記クライアント端末の認証情報を受け付ける受付手段と、
    前記認証情報の有効性を、前記認証情報を発行し管理を行っている認証手段に確認する確認手段と、
    前記認証情報が有効であった場合、前記印刷ジョブを前記認証情報とともに実行ジョブとして登録する実行ジョブ管理手段と、
    前記実行ジョブ管理手段によって前記実行ジョブが登録されている間に、前記認証手段に対して第2の認証情報の発行を求める依頼手段と、
    前記プリンタから一定の間隔で定期通信を受信する受信手段と、
    を備え、
    前記実行ジョブ管理手段は、前記認証手段から発行された前記第2の認証情報を前記実行ジョブとともに登録し、前記受信手段により前記定期通信を受信してから所定の期間が経過しても前記定期通信を受信しなかった場合、前記プリンタにおいて実行される実行ジョブを削除すること
    を特徴とする印刷制御装置。
JP2011282782A 2011-06-29 2011-12-26 印刷制御装置、印刷制御方法、情報処理システム、情報処理装置、情報処理方法およびコンピュータプログラム Expired - Fee Related JP5843605B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011282782A JP5843605B2 (ja) 2011-06-29 2011-12-26 印刷制御装置、印刷制御方法、情報処理システム、情報処理装置、情報処理方法およびコンピュータプログラム
US13/532,520 US8780377B2 (en) 2011-06-29 2012-06-25 Print control device managing a print job based on an instruction from a client terminal

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011143979 2011-06-29
JP2011143979 2011-06-29
JP2011282782A JP5843605B2 (ja) 2011-06-29 2011-12-26 印刷制御装置、印刷制御方法、情報処理システム、情報処理装置、情報処理方法およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2013033437A JP2013033437A (ja) 2013-02-14
JP5843605B2 true JP5843605B2 (ja) 2016-01-13

Family

ID=47390380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011282782A Expired - Fee Related JP5843605B2 (ja) 2011-06-29 2011-12-26 印刷制御装置、印刷制御方法、情報処理システム、情報処理装置、情報処理方法およびコンピュータプログラム

Country Status (2)

Country Link
US (1) US8780377B2 (ja)
JP (1) JP5843605B2 (ja)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10135831B2 (en) 2011-01-28 2018-11-20 F5 Networks, Inc. System and method for combining an access control system with a traffic management system
US20130091525A1 (en) * 2011-10-07 2013-04-11 Kt Corporation Method and apparatus for providing cloud-based user menu
US10230566B1 (en) 2012-02-17 2019-03-12 F5 Networks, Inc. Methods for dynamically constructing a service principal name and devices thereof
US10097616B2 (en) 2012-04-27 2018-10-09 F5 Networks, Inc. Methods for optimizing service of content requests and devices thereof
JP5970982B2 (ja) * 2012-07-02 2016-08-17 富士ゼロックス株式会社 中継装置
US9052863B2 (en) 2012-08-14 2015-06-09 Seiko Epson Corporation ePOS printing
US9019537B2 (en) * 2013-01-22 2015-04-28 Canon Kabushiki Kaisha Systems and methods for providing status monitor capability to printing devices
JP6041687B2 (ja) * 2013-01-28 2016-12-14 キヤノン株式会社 印刷サーバシステム、および制御方法、およびプログラム
JP6257147B2 (ja) * 2013-02-18 2018-01-10 キヤノン株式会社 印刷システム、印刷システムの制御方法およびコンピュータプログラム
KR102002541B1 (ko) * 2013-03-08 2019-10-01 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 클라우드 기반 어플리케이션의 로그인 관리 방법 및 이를 수행하기 위한 화상형성장치
JP5867448B2 (ja) 2013-04-26 2016-02-24 コニカミノルタ株式会社 ネットワークシステム、アクセス支援サーバ、処理装置、通信代行装置、およびコンピュータプログラム
US9158482B2 (en) * 2013-04-29 2015-10-13 Hewlett-Packard Development Company, L.P. Recommending and installing scheduled delivery print applications
JP6098396B2 (ja) 2013-06-28 2017-03-22 ブラザー工業株式会社 端末装置とプリンタ
JP6195357B2 (ja) * 2013-07-08 2017-09-13 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
JP6070466B2 (ja) 2013-07-31 2017-02-01 ブラザー工業株式会社 端末装置とプリンタ
JP6255778B2 (ja) * 2013-07-31 2018-01-10 ブラザー工業株式会社 端末装置とプリンタ
JP6236967B2 (ja) * 2013-07-31 2017-11-29 ブラザー工業株式会社 端末装置とプリンタ
JP6176036B2 (ja) 2013-09-30 2017-08-09 ブラザー工業株式会社 プログラム、および通信システム
JP6354132B2 (ja) * 2013-10-09 2018-07-11 富士ゼロックス株式会社 中継装置、中継システム及びプログラム
JP5900456B2 (ja) * 2013-10-09 2016-04-06 コニカミノルタ株式会社 画像処理システム、画像形成装置、中継装置、管理方法、および制御プログラム
JP6325796B2 (ja) * 2013-11-06 2018-05-16 キヤノン株式会社 情報処理端末およびその制御方法、並びにプログラム
US10187317B1 (en) 2013-11-15 2019-01-22 F5 Networks, Inc. Methods for traffic rate control and devices thereof
JP6167879B2 (ja) * 2013-12-04 2017-07-26 富士ゼロックス株式会社 印刷システム、情報処理装置、プログラム
JP6247539B2 (ja) * 2014-01-06 2017-12-13 キヤノン株式会社 情報処理装置及び情報処理方法、プログラム
JP6273853B2 (ja) 2014-01-22 2018-02-07 ブラザー工業株式会社 端末装置
JP6330338B2 (ja) * 2014-01-22 2018-05-30 ブラザー工業株式会社 通信装置
JP6287401B2 (ja) * 2014-03-18 2018-03-07 富士ゼロックス株式会社 中継装置、システム及びプログラム
JP6235406B2 (ja) * 2014-05-08 2017-11-22 日本電信電話株式会社 認証方法と認証装置と認証プログラム
JP2016007704A (ja) * 2014-06-20 2016-01-18 キヤノン株式会社 印刷制御装置、印刷制御方法、およびプログラム
JP6354407B2 (ja) * 2014-07-11 2018-07-11 株式会社リコー 認証システム、認証方法、プログラム及び通信システム
JP6436677B2 (ja) * 2014-08-07 2018-12-12 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
US10122630B1 (en) 2014-08-15 2018-11-06 F5 Networks, Inc. Methods for network traffic presteering and devices thereof
US10776062B2 (en) 2014-08-19 2020-09-15 Hewlett-Packard Development Company, L.P. Cloud services activation for a printing device
JP6478523B2 (ja) * 2014-08-21 2019-03-06 キヤノン株式会社 印刷装置、その制御方法、およびプログラム
JP6145116B2 (ja) 2015-01-14 2017-06-07 キヤノン株式会社 情報処理装置とその制御方法およびプログラム
JP6418966B2 (ja) * 2015-01-29 2018-11-07 キヤノン株式会社 画像形成システム、画像形成装置、該システムの制御方法、及びプログラム
JP5956623B1 (ja) 2015-01-30 2016-07-27 株式会社Pfu システム
JP6319584B2 (ja) * 2015-02-27 2018-05-09 京セラドキュメントソリューションズ株式会社 画像形成システム
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
JP2016224684A (ja) 2015-05-29 2016-12-28 キヤノン株式会社 サーバーシステム、サーバーシステムの制御方法、およびプログラム
JP2017037485A (ja) 2015-08-10 2017-02-16 キヤノン株式会社 プリントシステム、印刷装置、およびそれらの制御方法、並びにプログラム
JP6249006B2 (ja) * 2015-10-15 2017-12-20 コニカミノルタ株式会社 セキュリティ情報更新システム、情報処理装置、セキュリティ情報更新方法およびセキュリティ情報更新プログラム
CN105516135B (zh) * 2015-12-08 2020-02-21 腾讯科技(深圳)有限公司 用于账号登录的方法和装置
JP6409759B2 (ja) * 2015-12-10 2018-10-24 コニカミノルタ株式会社 画像処理装置、画像処理システム及びプログラム
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
JP6672910B2 (ja) * 2016-03-11 2020-03-25 株式会社リコー 遠隔コミュニケーションシステム、通信端末、拡張機能提供方法および拡張機能提供プログラム
US10791088B1 (en) 2016-06-17 2020-09-29 F5 Networks, Inc. Methods for disaggregating subscribers via DHCP address translation and devices thereof
JP2018022409A (ja) * 2016-08-05 2018-02-08 キヤノン株式会社 印刷システム、印刷システムの制御方法、及びプログラム
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
JP2018097449A (ja) * 2016-12-09 2018-06-21 セイコーエプソン株式会社 受注システム、プリンター
JP6918503B2 (ja) * 2017-01-24 2021-08-11 キヤノン株式会社 システム及び方法
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
JP6949578B2 (ja) * 2017-06-23 2021-10-13 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びプログラム
US11122083B1 (en) 2017-09-08 2021-09-14 F5 Networks, Inc. Methods for managing network connections based on DNS data and network policies and devices thereof
JP6551810B2 (ja) * 2018-02-23 2019-07-31 ブラザー工業株式会社 端末装置とプリンタ
FR3078850B1 (fr) * 2018-03-09 2021-08-27 Orange Procede, dispositif et systeme permettant l'acces a une application deployee dans un conteneur
CN110275682B (zh) * 2018-03-15 2023-05-02 阿里巴巴集团控股有限公司 云打印方法、装置及系统
EP3554038A1 (en) * 2018-04-11 2019-10-16 Barclays Services Limited System for efficient management of invalid access tokens
US11256819B2 (en) 2018-05-14 2022-02-22 Hewlett-Packard Development Company, L.P. Authorized printing
JP7224863B2 (ja) * 2018-11-09 2023-02-20 キヤノン株式会社 中継サーバおよび制御方法
JP7204497B2 (ja) * 2019-01-18 2023-01-16 キヤノン株式会社 クラウドプリントサービスに対応した印刷装置および印刷装置の制御方法およびプログラム
JP6731195B2 (ja) * 2019-07-05 2020-07-29 ブラザー工業株式会社 端末装置とプリンタ
JP7310483B2 (ja) * 2019-09-19 2023-07-19 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム
JP7500997B2 (ja) * 2020-03-03 2024-06-18 株式会社リコー 中継サーバ、認証システム、中継方法およびプログラム
JP2022069802A (ja) * 2020-10-26 2022-05-12 株式会社リコー 出力システム、情報処理システム、情報処理装置、認証方法
JP2022085479A (ja) 2020-11-27 2022-06-08 キヤノン株式会社 印刷システム、制御方法、及びプログラム
JP7546796B2 (ja) * 2022-02-01 2024-09-06 三菱電機株式会社 通信機器、通信システム、通信方法及びプログラム
US12067303B2 (en) * 2022-07-21 2024-08-20 Sharp Kabushiki Kaisha Image forming system and image forming method

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330953A (ja) * 1999-05-19 2000-11-30 Nec Corp ネットワークシステム、クライアントシステムのチケットの自動更新方法
JP4124975B2 (ja) 2000-03-30 2008-07-23 キヤノン株式会社 情報処理装置、情報処理方法、記憶媒体及びプログラム
JP4109827B2 (ja) 2000-12-22 2008-07-02 キヤノン株式会社 情報処理装置、方法及びコンピュータ読み取り可能な記憶媒体
JP2003303071A (ja) 2002-01-16 2003-10-24 Canon Inc 情報処理装置及び情報処理方法及び情報処理システム及び制御プログラム及び記憶媒体
JP4261916B2 (ja) 2002-06-19 2009-05-13 キヤノン株式会社 情報処理装置及び印刷処理方法
JP2004171525A (ja) * 2002-10-30 2004-06-17 Ricoh Co Ltd サービス提供装置、サービス提供方法、サービス提供プログラム及び記録媒体
JP2006163568A (ja) * 2004-12-03 2006-06-22 Canon Inc ポートモニタ
JP4827445B2 (ja) 2005-06-30 2011-11-30 キヤノン株式会社 周辺装置制御システム及びその制御方法及び情報処理装置、並びに、コンピュータプログラム
JP2007079857A (ja) * 2005-09-13 2007-03-29 Canon Inc サーバー装置、クライアント装置及びそれらの制御方法、コンピュータプログラム、記憶媒体
JP2007323186A (ja) * 2006-05-30 2007-12-13 Canon Inc 印刷制御データ生成装置、印刷管理装置、及び印刷装置
JP4844281B2 (ja) * 2006-08-10 2011-12-28 富士ゼロックス株式会社 ドキュメント管理装置及びプログラム
JP2008052578A (ja) * 2006-08-25 2008-03-06 Seiko Epson Corp アクセス制御装置、画像表示装置及びプログラム
JP2008207347A (ja) * 2007-02-23 2008-09-11 Konica Minolta Business Technologies Inc 画像形成装置、機密プリント実行方法および機密プリント実行プログラム
JP4508234B2 (ja) * 2007-12-13 2010-07-21 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、および、画像形成プログラム
JP2010198444A (ja) * 2009-02-26 2010-09-09 Canon Inc 印刷データ保存サーバ、プログラム及び記憶媒体
JP2010204722A (ja) * 2009-02-27 2010-09-16 Ricoh Co Ltd 画像形成装置、ジョブ制御方法、及び記録媒体
JP5458761B2 (ja) * 2009-09-14 2014-04-02 株式会社リコー 画像形成装置、印刷システム、印刷方法、プログラム、記録媒体
JP5822442B2 (ja) 2010-06-30 2015-11-24 キヤノン株式会社 情報処理装置、制御方法及びプログラム
JP5679740B2 (ja) 2010-08-26 2015-03-04 キヤノン株式会社 周辺装置制御システム、周辺装置、情報処理装置及び制御方法

Also Published As

Publication number Publication date
US8780377B2 (en) 2014-07-15
US20130003106A1 (en) 2013-01-03
JP2013033437A (ja) 2013-02-14

Similar Documents

Publication Publication Date Title
JP5843605B2 (ja) 印刷制御装置、印刷制御方法、情報処理システム、情報処理装置、情報処理方法およびコンピュータプログラム
JP5875351B2 (ja) 情報処理システム、情報処理装置、認証方法、及びコンピュータプログラム
JP4850311B2 (ja) 印刷制御システム、印刷制御サーバ、画像形成装置と、その処理方法及びプログラム
US8553264B2 (en) Information processing including specifying a printer to execute a print process of a stored job
US8264721B2 (en) Server apparatus, management system, and method
EP3399734B1 (en) Image forming apparatus
KR20120033983A (ko) 인쇄 시스템, 인쇄 방법, 인쇄 서버, 제어 방법 및 컴퓨터 판독 가능 매체
US8335002B2 (en) Information processing apparatus, information processing method, and storage medium
JP4958118B2 (ja) 画像形成装置、情報処理システムと、その処理方法およびプログラム
US9450922B2 (en) Peripheral apparatus, information processing apparatus, communication control method, and storage medium
JP4536696B2 (ja) 通知予約アクセス制御方法、画像処理装置、および、通知予約アクセス制御システム
JP2018098741A (ja) 画像処理システム、画像形成装置、アプリケーション実行方法、およびコンピュータプログラム
US12137189B2 (en) Image forming system and image forming apparatus configured to execute remote display control for requesting information processing apparatus in response to determining that remote display control is not currently executed by previous request
JP2009205262A (ja) アプリケーションプログラムインストール装置、アプリケーションプログラムインストール方法、プログラム、および記録媒体
JP2008211747A (ja) 画像処理装置、サーバ装置、タスク処理方法、記憶媒体、プログラム
JP5637078B2 (ja) 画像形成装置、画像形成システム、その制御方法及びプログラム
JP5177673B2 (ja) 画像形成装置、情報処理システムと、その処理方法およびプログラム
JP7171273B2 (ja) 印刷システム、印刷装置、印刷システムの制御方法、印刷装置の制御方法及びプログラム
JP2015225479A (ja) 情報処理システム、情報処理装置、情報処理方法、及びコンピュータプログラム
JP2020005204A (ja) 画像処理装置とその制御方法、及びプログラム
JP2016004363A (ja) 出力システム、端末装置、プログラム及び出力方法
JP5376546B2 (ja) 画像形成装置、情報処理システムと、その処理方法およびプログラム
JP7374625B2 (ja) 印刷システム、および制御方法
JP2024007023A (ja) 画像処理システム、中継サーバ、およびプログラム
JP2017109421A (ja) 画像形成装置、認証システムとその処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150917

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151117

R151 Written notification of patent or utility model registration

Ref document number: 5843605

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees