JP2011170766A - ネットワークシステム、ネットワークシステムの制御方法、及び、プログラム - Google Patents

ネットワークシステム、ネットワークシステムの制御方法、及び、プログラム Download PDF

Info

Publication number
JP2011170766A
JP2011170766A JP2010036173A JP2010036173A JP2011170766A JP 2011170766 A JP2011170766 A JP 2011170766A JP 2010036173 A JP2010036173 A JP 2010036173A JP 2010036173 A JP2010036173 A JP 2010036173A JP 2011170766 A JP2011170766 A JP 2011170766A
Authority
JP
Japan
Prior art keywords
request
job
processing
processing unit
processing means
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
JP2010036173A
Other languages
English (en)
Other versions
JP5586985B2 (ja
Inventor
Kenta Yabe
健太 矢部
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 JP2010036173A priority Critical patent/JP5586985B2/ja
Priority to US13/030,894 priority patent/US8717600B2/en
Publication of JP2011170766A publication Critical patent/JP2011170766A/ja
Application granted granted Critical
Publication of JP5586985B2 publication Critical patent/JP5586985B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/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
    • 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/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1213Improving printing performance achieving reduced delay between job submission and print start at an intermediate node or at the final node
    • 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/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
    • 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/1268Job submission, e.g. submitting print job order or request not the print data itself
    • G06F3/1272Digital storefront, e.g. e-ordering, web2print, submitting a job from a remote submission screen
    • 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/1287Remote printer device, e.g. being remote from client or server via internet
    • 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)
  • Computer Security & Cryptography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】クライアントコンピュータからのリクエストに対する処理の完了を待たずに、クライアントコンピュータとネットワークシステムとの接続を解除可能とし、ユーザビリティを向上させること。
【解決手段】クライアントコンピュータ105と通信可能なサーバコンピュータ群102に設けられる1つ以上の要求処理部401が、クライアントコンピュータ105から送信されるリクエストを受信し、受信したリクエストを処理するためのジョブをキューストレージサービス405に登録し、サーバコンピュータ群102に設けられる1つ以上のバックエンド処理部402が、前記リクエストとは非同期でキューストレージサービス405に登録されたジョブを取得し、該ジョブをコンピュータリソースを用いて処理し、要求処理部401が、前記ジョブ処理の完了を待つことなく、前記ジョブの処理結果を取得するための識別情報をクライアントコンピュータ105に返信する。
【選択図】図4

Description

本発明は、クライアントコンピュータと通信可能な1台以上のサーバコンピュータを有するネットワークシステムの制御に関するものである。
インターネット技術を利用したコンテンツ管理システムが普及してきている。ユーザは、クライアントコンピュータからインターネットを介してサーバコンピュータが開設しているWebページにアクセスし、そのWebページ上で閲覧したいコンテンツを選択する。コンテンツ管理システムは、選択されたコンテンツをサーバコンピュータに送信し、サーバコンピュータは受信したコンテンツをユーザ側に表示されるよう処理をする。
特許文献1には、ユーザがクライアントで閲覧したコンテンツをプリンタで印刷する方法が開示されている。この方法は、ユーザが閲覧したコンテンツをサーバコンピュータがプリンタで印刷できるようなデータに変換し、変換したデータをプリンタに送信する。プリンタは受信したデータを印刷する。
また、近年、サーバコンピュータ側で各種処理を行う形態として、クラウドコンピューティングシステムやSaaS(Software as a Service)という技術が利用され始めている。
クラウドコンピューティングでは、多くのコンピューティング・リソースを利用し、データ変換やデータ処理を分散実行することで、多くのクライアントからの要求を同時に処理することが可能となる。
特開2002−304271号公報
近年、クライアント端末からサーバに文書を登録してクライアント端末とは異なる印刷装置から同一のサーバに接続して文書を取得して印刷を行うネットワークプリントシステムが考えられている。
クラウドコンピューティングの普及に伴い、同様の構成をもったネットワークプリントシステムにおける各処理をクラウドコンピューティングの技術を用いて実行することが考えられる。
しかし、通常ネットワークプリントシステムにおいて、クライアント端末からサーバへの文書の登録処理は、処理の完了までの実行時間を要する処理である。
サーバへの文書の登録処理は、具体的には、クライアントからサーバへのデータのアップロード処理、サーバでの文書データから印刷データへの変換処理、サーバの任意の記憶領域への保存処理等によって一般的には構成される。そして、この一連の処理の結果がサーバからクライアントへ返送される。ユーザは、この一連の処理の結果として、アップロードした文書を実際に印刷装置で印刷する際に必要な認証情報を取得するまで、ネットワークシステムとの接続を解除して新たな文書のアップロードを開始することができない。
クラウドコンピューティングにおいては、前記のような処理の完了までに実行時間を要する処理は、ウェブアプリケーションのような同期処理ではなく、サーバ内でユーザのリクエストとは非同期で実行されるバックエンド処理によって実行されるのが一般的である。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的の1つは、クライアントコンピュータからのリクエストに対する処理の完了を待たずに、クライアントコンピュータとネットワークシステムとの接続を解除可能とし、ユーザビリティを向上させることができる仕組を提供することである。
本発明は、クライアントコンピュータと通信可能な1台以上のサーバコンピュータを有するネットワークシステムであって、前記クライアントコンピュータから送信されるリクエストを受け付けて該リクエストを処理するためのジョブを記憶手段に登録する1又は複数の第1処理手段と、前記記憶手段へのジョブの登録とは非同期で前記記憶手段から前記ジョブを取得して処理する1又は複数の第2処理手段とを有し、前記第1処理手段は、前記記憶手段に登録したジョブの前記第2処理手段による処理完了を待つことなく、前記リクエストに対応するジョブの処理結果を取得するための認証情報を前記クライアントコンピュータに送信することを特徴とする。
本発明によれば、クライアントコンピュータからのリクエストに対するネットワークシステム側の処理が完了するのを待たずに、クライアントコンピュータとネットワークシステムとの接続を解除することが可能となり、ユーザビリティを向上させることができる。その結果、クライアントコンピュータ側では、先行して送信したリクエストに対するネットワークシステム側での処理完了を待つことなく、次のリクエストをネットワークシステムに送信すること等が可能となる。
本発明のネットワークシステムの一実施例を示すネットワークプリントシステムの構成の一例を示す図である。 画像形成装置の内部構成を例示するブロック図である。 情報処理装置の内部構成を例示するブロック図である。 プリントシステムにおける各装置の機能ブロック図である。 サーバコンピュータ群内の各種機能を示す図である。 本実施例のキューメッセージの一例を示す図である。 ジョブ管理テーブルの一例を示す図である。 サービステーブルの一例を示す図である。 サービスシーケンステーブルの一例を示す図である。 ネットワークプリントシステムにおいて想定される一般的なネットワークプリントシステム全体の処理の流れを示すシーケンス図である。 文書データアップロード画面の一例を示す図である。 文書データアップロード成功画面の一例を示す図である。 問合わせIDテーブルの一例を示す図である。 文書データ印刷画面の一例である。 本発明のネットワークプリントシステム全体の処理の流れを示すシーケンス図である。 本発明におけるユーザの印刷対象文書データの登録オペレーションを詳細に示すフローチャートである。 テーブルストレージサービスで管理されているバックエンド処理状況テーブルの一例を示す図である。 サーバコンピュータ群で稼働しているバックエンド処理部のインスタンスの総数を定義する情報(設定ファイル)の一例を示す図である。 本発明の実施例におけるバックエンド処理部が起動及び終了時にバックエンド処理状況テーブルを更新する一連の処理の流れを示すフローチャートである。 文書データアップロード成功画面の一例を示す図である。 文書アップロード待機画面の一例を示す図である。
以下、本発明を実施するための形態について図面を用いて説明する。
本発明のネットワークシステムの一実施例としてのネットワークプリントシステムの構成について、図1を参照して詳細に説明する。
図1は、本発明のネットワークシステムの一実施例を示すネットワークプリントシステムの構成の一例を示す図である。
図1に示すように、本実施例のネットワークプリントシステムでは、ネットワークプリントシステムを構成している各装置が、ネットワーク100を介して接続されている。ネットワークシステムを構成している各装置とは、サーバコンピュータ群102、文書サーバ103、画像形成装置104、クライアントコンピュータ105、文書取り出しサーバ107、文書変換サーバ108、印刷サーバ109である。
ネットワーク100は、上述の各装置の間で情報をやり取りするための通信回線である。インターネット101は、ファイアウォールを越えて上述の各装置間で情報をやり取りするための通信回線である。インターネット101により、画像形成装置104とクライアントコンピュータ105が属するネットワーク100からは、サーバコンピュータ群102などが属するネットワーク100と、ファイアウォールを越えて通信が可能である。ネットワーク100、インターネット101は、例えば、TCP/IPプロトコルなどをサポートする通信回線網であり有線・無線は問わない。
図1において、サーバコンピュータ群102は、1台のサーバとして示されているが1台以上のサーバコンピュータで構成されている。また、ネットワークプリントシステムを構成している文書サーバ103、文書取り出しサーバ107、文書変換サーバ108、印刷サーバ109は、必ずしもサーバコンピュータ群102とは物理的に異なるサーバに存在するとは限らない。これらは、それぞれのサーバが物理的に同一のコンピュータ上に存在することも可能である。サーバコンピュータ群102は、文書サーバ103、文書取り出しサーバ107、文書変換サーバ108、印刷サーバ109等のコンピュータリソースを利用可能であり、これらのコンピュータリソースを用いて各種処理を実行可能である。サーバコンピュータ群102から利用可能なコンピュータリソースは、文書サーバ103、画像形成装置104、文書取り出しサーバ107、文書変換サーバ108、印刷サーバ109に限定されるものではなく、他の機能を有するサーバが含まれていてもよい。
以下、図1のプリントシステムを構成している各装置の内部構成について詳細に説明する。
まず、画像形成装置104の内部構成について図2を用いて説明する。
図2は、画像形成装置104の内部構成を例示するブロック図である。
図2(a)に示すように、画像形成装置104は、画像処理ユニット201、印刷ユニット202、及び読み込みユニット203を有する構成となっている。画像処理ユニット201は、CPU204、直接記憶部205、間接記憶部206、ユーザインタフェース207、外部インタフェース208から構成されている。
CPU204は、所定のプログラムを実行し、画像形成装置104の各種制御を指示するユニットである。CPU204は、CPU(Central Processing Unit)により実現される。
直接記憶部205は、CPU204がプログラムを実行する際に使用するワークメモリであり、CPU204が実行するプログラムは直接記憶部205にロードされる。間接記憶部205は、RAM(Random Access Memory)により実現される。
間接記憶部206は、アプリケーションプログラム、及び、後述するプラットフォームプログラムを含む各種プログラムが記憶されている。間接記憶部206に記憶されている各種プログラムは、CPU204がプログラムを実行する際に直接記憶部205へ移動する。間接記憶部206は、SSD(Solid State Drive)、又はHDD(Hard Disc Drive)により実現される。なお、CPU204はマルチプロセッサでも良い。
ここで、図2(b)を用いて、プラットフォームについて詳細に説明する。プラットフォームの実現により、ユーザが独自に開発した新しいアプリケーションを画像形成装置104上で実行できる他、画像形成装置104の操作画面をカスタマイズすることが可能になる。
プラットフォームの実現方法について説明する。CPU204は、間接記憶部206に記憶されたプラットフォームプログラムを直接記憶部205に移動する。移動が完了するとCPU204は、プラットフォームプログラムを実行することができる状態になる。本発明の実施例では、CPU204がプラットフォームプログラムを実行することを、プラットフォームが起動すると称する。
プラットフォームは、図2(b)に示すように、画像形成装置104のファームウェア上で動作することになる。なお、ファームウェアは、間接記憶部206に保存されているファームウェアプログラムが、直接記憶部205にロードされ、CPU204により実行されることで実現される。
プラットフォームプログラムは、オブジェクト指向で記述されたアプリケーションプログラムを実行するための環境を提供するものである。以下、プラットフォーム上でアプリケーションプログラムを実行する方法について詳細に説明する。
本発明の実施例において、プラットフォーム上には、アプリケーションプログラムとして、印刷要求を受け付ける印刷ソフトウェアが動作している。印刷ソフトウェアは、ネットワークを介して接続されているデバイスから、例えば、HTTP(Hyper Text Transfer Protocol)と言った通信プロトコルによって印刷データを受信できる。
印刷ソフトウェアは、受信した印刷データをファームウェアに送信し、印刷データを受信したファームウェアは印刷データ処理を開始する。なお、印刷データが処理をせずに印刷できるようなものであれば、ファームウェアは印刷データ処理を省く。このように、プラットフォームでアプリケーションプログラム(印刷ソフトウェア)を実行することによって、画像形成装置104の制御を実現することができる。
アプリケーションプログラムの実行方法について説明する。起動したプラットフォームは、間接記憶部206に記憶されたアプリケーションプログラムを直接記憶部205に移動する。移動が完了すると、プラットフォームは、アプリケーションプログラムを実行することができる状態になる。そして、プラットフォームは、アプリケーションプログラムを実行する。このように、アプリケーションプログラムを実行することで提供できるプラットフォームの機能を、本発明の実施例ではプラットフォームアプリケーションと呼ぶ。さらに、プラットフォームは、本発明の実施例で開示するフローチャートの各処理の一部を行うことが可能である。
また、画像形成装置104のファームウェア上では、デバイスブラウザが動作する。デバイスブラウザは、ネットワーク100を介して接続されているデバイス内に保存されているデータや情報をユーザが閲覧することができる機能を持つ。デバイスブラウザは、間接記憶部206に保存されているデバイスブラウザプログラムが、直接記憶部205にロードされ、CPU204により実行されることで実現される。
ユーザインタフェース207は、ユーザからの処理依頼を受け付けるために必要なユニットである。例えば、キーボード、マウス等を通してユーザが入力した指示に応じた信号を受け付ける。
外部インタフェース208は、外部装置からのデータの受信や外部装置へのデータの送信が可能となっている。例えば、外部装置としては、外付けHDDや外付けUSBメモリ等の外付け記憶装置、又はネットワークを介して接続された別体のホストコンピュータや画像形成装置等の別体装置が含まれる。画像形成装置104は、ネットワーク100、及び、インターネット101を介して、クライアントコンピュータ105、サーバコンピュータ群102等と通信可能である。
次に、サーバコンピュータ群102、文書サーバ103、クライアントコンピュータ105を実現するために用いられる情報処理装置の内部構成について図3を用いて説明する。
図3は、情報処理装置の内部構成を例示するブロック図である。
図3において、300は、サーバコンピュータ群102、文書サーバ103、クライアントコンピュータ105を実現するために用いられる情報処理装置である。情報処理装置300は、ユーザインタフェース304、CPU301、直接記憶部302、間接記憶部303、外部インタフェース305を有する構成となっている。
ユーザインタフェース304は、ユーザからの処理依頼を受け付けるために必要なユニットである。ユーザインタフェース304は、例えば、キーボード、マウス等を通してユーザが入力した指示に応じた信号を受け付ける。
CPU301は、所定のプログラムを実行し情報処理装置300の各種制御を指示するユニットである。CPU301は、CPUにより実現される。直接記憶部302は、CPU301がプログラムを実行する際に使用するワークメモリであり、CPU301が実行するプログラムは直接記憶部302にロードされる。直接記憶部302は、RAMで構成されている。
間接記憶部303は、アプリケーションプログラム、及び、OS(Operating System)を含む各種プログラムが記憶されている。間接記憶部303に記憶されている各種プログラムは、CPU301がプログラムを実行する際に直接記憶部302へ移動する。間接記憶部303は、ROM、又はHDDで構成されている。外部インタフェース305は、ネットワーク100に接続されており、ネットワーク100に接続されている他の装置と通信が可能となる。
次に、本実施例のプリントシステムにおける各装置が持つ機能について図4を参照しながら詳細に説明する。
図4は、プリントシステムにおける各装置の機能ブロック図である。
始めに、サーバコンピュータ群102の機能について説明する。サーバコンピュータ群102には、要求処理部401(第1処理部)、バックエンド処理部402(第2処理部)、テーブルストレージサービス403、ブロブストレージサービス404、キューストレージサービス405の機能がある。
本実施例では、要求処理部401を持つサーバコンピュータが少なくとも1台以上は存在する。また、バックエンド処理部402を持つサーバコンピュータが少なくとも1台以上は存在する。また、テーブルストレージサービス403、ブロブストレージサービス404、キューストレージサービス405の各機能を持つサーバコンピュータが少なくとも1台存在する。
要求処理部401は、クライアントコンピュータ105、又は画像形成装置104から送られてきた処理依頼(リクエスト)を受け付ける機能を持つ。バックエンド処理部402は、処理プログラムを用いて処理依頼に対する処理を行う機能を持つ。具体的には、バックエンド処理部402は、バックエンド処理部402を実行しているサーバコンピュータのメモリに処理プログラムをロードし処理依頼に対する処理を行う。
要求処理部401は、サーバコンピュータ群102を実現する情報処理装置(図3)の間接記憶部303に保存されている要求受信プログラムが直接記憶部302にロードされてCPU301により実行されることで実現される。また、バックエンド処理部402は、サーバコンピュータ群102を実現する情報処理装置(図3)の間接記憶部303に保存されているバックエンド処理プログラムが直接記憶部302にロードされてCPU301により実行されることで実現される。
テーブルストレージサービス403は、バックエンド処理部402で実行する処理の処理状況のステータスといったデータの格納を行う機能を持つ。テーブルストレージサービス403は、サーバコンピュータ群102を実現する情報処理装置の間接記憶部303に保存されているテーブルストレージサービスプログラムが、直接記憶部302にロードされて、CPU301により実行されることで実現される。また、テーブルストレージサービス403で格納したデータは間接記憶部303によって保管される。
ブロブストレージサービス404は、バックエンド処理部402により処理された実行結果のデータを始めとする各種データを保存しておく機能を持つ。ブロブストレージサービス404は、サーバコンピュータ群102を実現する情報処理装置の間接記憶部303に保存されているブロブストレージサービスプログラムが、直接記憶部302にロードされて、CPU301により実行されることで実現される。また、ブロブストレージサービス404で保存されるデータは間接記憶部303によって保管される。
キューストレージサービス405は、次のような機能を持つ。1つ目の機能は、要求処理部401とバックエンド処理部402とが非同期でデータ通信するための機能を持つ。2つ目の機能は、キューに追加されているキューメッセージを不可視、又は可視にする機能を持つ。
上記1つ目の機能について説明する。要求処理部401とバックエンド処理部402は次のような方法で通信する。始めに、ユーザからの処理依頼を受けた要求処理部401は、ユーザからの処理依頼に応じたキューメッセージと呼ばれるチケットを作成する。キューメッセージは要求処理部401によって、キューストレージサービス405が提供するキューに格納される。バックエンド処理部402は、キューストレージサービス405のキューからキューメッセージを取得する。バックエンド処理部402は、キューメッセージを取得し、キューメッセージを参照してユーザからの処理依頼を処理する。これにより、ユーザからの処理依頼を解決することになる。このように、キューストレージサービス405を利用することで要求処理部401とバックエンド処理部402は非同期で通信を行うことが可能になる。1つ目の機能のさらに詳細な説明と2つ目の機能の説明については後述する。
なお、キューストレージサービス405は、サーバコンピュータ群102を実現する情報処理装置の間接記憶部303に保存されているキューストレージサービスプログラムが、直接記憶部302にロードされて、CPU301により実行されることで実現される。また、キューストレージサービス405が保持するデータ(メッセージ等)は間接記憶部303によって保管される。
以上がサーバコンピュータ群102の機能の説明になるが、さらに詳細な説明については後述する。
次に、文書サーバ103の機能について説明する。文書サーバ103は、文書リポジトリ406の機能を持つ。文書リポジトリ406は、文書サーバ103を実現する情報処理装置(図3)の間接記憶部303によって実現される。例えば、文書リポジトリ406には、ユーザがクライアントコンピュータ105、又は画像形成装置104から印刷指示したコンテンツが保存されている。文書リポジトリ406に保存されているコンテンツは、予め保存されているコンテンツの他に次のようなコンテンツも保存されている。
例えば、ユーザが後述するブラウザ407を介してサーバコンピュータ群102上のアプリケーションで作成したコンテンツが、文書リポジトリ406に保存される。これにより、サーバコンピュータ群102上のアプリケーションを用いて作成したコンテンツであっても、クライアントコンピュータ105にアプリケーションをインストールすることなく容易に印刷できる。
なお、上述のサーバコンピュータ群102上のアプリケーションとは、文書作成アプリケーション、画像作成アプリケーション、帳票管理アプリケーション等を始めとする各種アプリケーションのことである。これらのアプリケーションは、図3の間接記憶部303に保持されており、実行が指示されると直接記憶部302にロードされ、CPU301により実行される。
次に、画像形成装置104について詳細に説明する。画像形成装置104には、デバイスブラウザ409、プラットフォームアプリケーション408の機能がある。デバイスブラウザ409は、ネットワーク100を介して接続されているデバイス内に保存されているデータや情報をユーザが閲覧することができる機能を持つ。また、ユーザは、デバイスブラウザ409を用いてコンテンツの印刷指示を出すことができる。デバイスブラウザ409は、例えば、Webブラウザである。
プラットフォームアプリケーション408は、各種サービスを提供する機能を持つ。プラットフォームアプリケーション408は、プラットフォーム上で動作するアプリケーションプログラムによって実現される。本発明の実施例において、プラットフォームアプリケーション408は、印刷ソフトウェアのサービスを提供する。上述の様に、このサービスは、受信した印刷データをファームウェアに送信することができる。また、このサービスは、要求処理部401に対して印刷データの生成が終了したかどうかの確認を行う。その際、このサービスは、要求処理部401が作成したジョブIDを基に生成確認を行う。
次に、クライアントコンピュータ105について詳細に説明する。クライアントコンピュータ105は、ブラウザ407の機能を持つ。ブラウザ407は、ネットワーク100を介して接続されているデバイス内に保存されているデータや情報をユーザが閲覧することができる機能を持つ。ブラウザ407は、クライアントコンピュータ105を実現する情報処理装置の間接記憶部303に保存されているブラウザプログラムが、直接記憶部302にロードされて、CPU301により実行されることで実現される。ブラウザ407は、例えば、Webブラウザである。
次に、文書取り出しサーバ107の機能について説明する。文書取り出しサーバ107は、文書取り出しサービス410の機能を持つ。文書取り出しサービス410は、文書取り出しサーバ107を実現する情報処理装置(図3)の間接記憶部303にプログラムとして記録されており、CPU301が直接記憶部302に読み出して実行することにより実現される。文書取り出しサービス410は、外部インタフェース305を通して受信した文書取り出し指示に従って、文書サーバ103にアクセスし、文書リポジトリ406に保存されているコンテンツを取得する機能を有する。
次に、文書変換サーバ108の機能について説明する。文書変換サーバ108は、文書変換サービス411の機能を持つ。文書変換サービス411は、文書変換サーバ108を実現する情報処理装置の間接記憶部303にプログラムとして記録されており、CPU301が直接記憶部302に読みだして実行することにより実現される。文書変換サービス411は、外部インタフェース305を通して受信した文書変換指示に従って、指示されたデータを所定のデータ形式に変換する機能を有する。
最後に、印刷サーバ109の機能について説明する。印刷サーバ109は、スプールサービス412の機能を持つ。スプールサービス412は、印刷サーバ109を実現する情報処理装置の間接記憶部303にプログラムとして記録されており、CPU301が直接記憶部302に読みだして実行することにより実現される。スプールサービス412は、外部インタフェース305を通して受信した指示に従って、指示されたデータを印刷させるために必要な属性(印刷優先度や、色味情報など)を生成する機能を有する。
以上が、実施例のプリントシステムにおける各装置が持つ機能の説明になる。
次に、サーバコンピュータ群102のプラットフォームシステムについて図5を参照しながら詳細に説明する。
図5は、サーバコンピュータ群102内の各種機能を示す図である。
図5において、サーバコンピュータ群102内にある物理ハードウェア・リソースは、サーバコンピュータ群102のプラットフォームに使用される。サーバコンピュータ群102のプラットフォーム利用者は、このサーバコンピュータ群102内にある物理ハードウェア・リソースをコンピューティング・リソースとして使用できる。
サーバコンピュータ群102のプラットフォームシステム(Operating System)は、501〜507に示すような機能を持つ。501及び502は、ヴァーチャルマシン(Virtual Machines)である。503は、ファブリックコントローラ(Fabric Controller)である。504は、ロードバランサー(Load Balancer)である。505は、キューストレージサービス(Queue)である。506は、テーブルストレージサービス(Table)である。507は、ブロブストレージサービス(Blob)である。
サーバコンピュータ群102上で動作するプラットフォームシステムの内部には、ヴァーチャルマシン501、502が複数存在する。ヴァーチャルマシンとは、仮想化技術によって物理的なサーバコンピュータ群102を論理的なコンピュータに分割し、分割された中で独立したオペレーティングシステムをもって動作する論理的なコンピュータのことである。この論理的なコンピュータの単位は、インスタンスとして数えられる。なお、本発明の実施例では、1つのインスタンスは、サーバコンピュータ群102内の1台のサーバコンピュータ上で動作する。
ヴァーチャルマシン501は、要求処理部(Web Role Instance)509、要求処理部エージェント(Agent)510で構成される。なお、要求処理部509は、図4の要求処理部401に対応する。要求処理部509は、後述するロードバランサー504を介してユーザからの処理依頼を受信する。また、要求処理部509は、キューストレージサービス505を介してバックエンド処理部511への処理依頼を送信する。
要求処理部509の高い可用性を確保するために、外部ネットワークからの要求(ここではHTTPによる通信)は、ヴァーチャルマシン501の外部にあるロードバランサー504を通じて行われる。ロードバランサー504は、外部ネットワークからの要求を一元的に管理し、同等な要求処理部の機能を有する複数のヴァーチャルマシンに対し、選択的に要求を転送するものである。なお、要求処理部エージェント510は、ヴァーチャルマシン501の使用状況、要求処理部509の稼動状態、ヴァーチャルマシン501のリソースの使用状況、及び要求処理部509のエラーを含む各種情報を収集し、ファブリックコントローラ503に定期的に送信する。
要求処理部509、バックエンド処理部511の各インスタンスは、ファブリックコントローラ503によって管理されている。そのため、各インスタンスの拡張性と可用性が保証される。例えば、要求処理部509、又はバックエンド処理部511において、ある特定のインスタンスがサーバの故障によって停止したとする。この場合、ファブリックコントローラ503は、要求処理部エージェント510、又はバックエンド処理部エージェント512から定期通知を受け取れなくなる。定期通知を受け取らなくなったファブリックコントローラ503は、新しいインスタンスに処理が委譲されるようにヴァーチャルマシンに指示を出す。結果、処理を実行しているインスタンス数が一定に保たれるため、処理の遅延を抑えることができる。
ヴァーチャルマシン502は、バックエンド処理部(Worker Role Instance)511、バックエンド処理部エージェント(Agent)512で構成される。なお、バックエンド処理部511は、図4のバックエンド処理部402に対応する。
バックエンド処理部511は、キューストレージサービス505を介して要求処理部509からの処理依頼を受信する。バックエンド処理部511は、キューストレージサービス505を介して要求処理部509から受信した処理依頼を実行する。また、バックエンド処理部511は、スケールアウトする。スケールアウトとは、ヴァーチャルマシン502が増加し、バックエンド処理部511のインスタンスが増加することを指す。バックエンド処理部511のインスタンスが増加すると、バックエンド処理部1つ当たりのデータ処理量が減少する。これにより、ユーザからの処理依頼に対する結果をより早く返すことができる。
キューストレージサービス505は、要求処理部509とバックエンド処理部511とが非同期でデータ通信するためのサービスを提供する。なお、キューストレージサービス505は、図4のキューストレージサービス505に対応する。要求処理部509、及びバックエンド処理部511は、キューストレージサービス505に対し、各種指示を出すことで、非同期でデータ通信する。これについて、具体的に説明する。要求処理部509がキューストレージサービス505に対して行う指示とは、キューメッセージの追加指示である。バックエンド処理部511がキューストレージサービス505に対して行う指示とは、キューメッセージの取得指示、キューメッセージの削除指示である。
要求処理部509とバックエンド処理部511が非同期でデータ通信する一連の動作について説明する。要求処理部509は、ユーザからの処理依頼に応じたキューメッセージを作成し、キューメッセージをキューに追加するようにキューストレージサービス505に追加指示を送信する。追加指示を受信したキューストレージサービス505は、キューにキューメッセージを追加する。バックエンド処理部511は、キューメッセージを取得するために、キューストレージサービス505に取得指示を出す。取得指示を受けたキューストレージサービス405は、キューメッセージと、キューメッセージ毎に固有に割り振られたメッセージIDと、ジョブIDとを取得指示に対するレスポンスとしてバックエンド処理部511に返す。メッセージIDとは、キューメッセージを一意に定めるためにキューメッセージごとに割り振られた固有の情報であり、処理が終了したバックエンド処理部511がキューメッセージを削除指示する際に使用する。ジョブIDは、実際に処理する内容を一意に決定するID(ジョブを識別する識別情報)である。バックエンド処理部511は、処理依頼を完了すると、メッセージIDに対応するキューメッセージの削除指示をキューストレージサービス505に対して行う。削除指示を受けたキューストレージサービス505は、バックエンド処理部511が指示したメッセージIDに対応するキュースメッセージをキューから削除する。これにより、削除指示を出したバックエンド処理部511以外のバックエンド処理部511が同じキューメッセージを処理するという冗長な処理を防ぐことができる。
また、キューストレージサービス505は、キューに追加されているキューメッセージを不可視、又は可視にする機能を持つ。不可視とは、バックエンド処理部511がキューに追加されているキューメッセージの取得要求をした場合に、キューストレージサービス505はバックエンド処理部511に対してキューメッセージを渡さないことを指す。バックエンド処理部511がキューからキューメッセージを取得すると、取得されたキューメッセージはキューストレージサービス505によって不可視になる。可視とは、バックエンド処理部511がキューに追加されているキューメッセージの取得要求した場合に、キューストレージサービス505がバックエンド処理部511に対してキューメッセージを渡すことを指す。バックエンド処理部511に取得され不可視になっているキューメッセージは、処理を行っているバックエンド処理部511から処理結果が一定時間返ってこない場合にキューストレージサービス405によって可視になる。これにより、バックエンド処理部511が異常終了し処理を継続できない場合でも自動的に処理がリトライされることになる。
テーブルストレージサービス506は、データ保存に利用されるストレージを提供する。テーブルストレージサービス506では、データを、エンティティと型情報のプロパティを組み合わせた単純な形式で保管する。なお、テーブルストレージサービス506は、図4のテーブルストレージサービス403に対応する。
ブロブストレージサービス507は、データ保存に利用されるストレージを提供する。ブロブストレージサービス507は、バイナリデータの集合を保存する機能を提供する。なお、ブロブストレージサービス507は、図4のブロブストレージサービス404に対応する。
次に、本発明の実施例におけるキューメッセージについて図6を用いて説明する。
図6は、本実施例のキューメッセージの一例を示す図である。なお、キューメッセージは、要求処理部509がバックエンド処理部511に依頼する処理の内容を記述したものである。
図6において、リクエスト601は、キューメッセージを追加するキューストレージサービスの場所を示している。ヘッダ602は、キューストレージサービスへアクセスするための認証情報等を送信するためのものである。
次に、キューメッセージのメッセージデータコンテンツ部分について説明する。メッセージデータコンテンツ部分は、ユーザからの処理依頼に応じて決定される。<MessgaText>603は、ジョブIDを示している。図6の場合、ジョブIDは“pk01|job01”である。ジョブIDは、ユーザからの処理依頼に応じて作成される一意な情報である。
次に、図7を用いて、本発明の実施例におけるジョブ管理テーブルについて説明する。ジョブ管理テーブルでは、バックエンド処理部511にて実施する一連の処理をジョブとして管理し、それらジョブの内容や処理状況等のデータを保持する。ジョブ管理テーブルは、テーブルストレージサービス506にて保持される。
図7は、テーブルストレージサービス506にて保持されるジョブ管理テーブルの一例を示す図である。
図7において、ETag701は、テーブルストレージサービス506が自動的に設定する値で、列データが更新された際に一意の値が書き込まれる。テーブルより取得したデータを更新する際に、データ取得時のETag701の値と、データ更新時のETag701の値が異なる場合、他の処理プロセスによりテーブルが更新されたことが識別できる。
PartitionKey702とRowKey703は、テーブルの列を一意に識別するIDを構成する情報である。ジョブ管理テーブルでは、これら二つの値をジョブIDとして管理する。
StartTime704にはジョブの開始日時、EndTime705にはジョブの終了日時が登録される。ジョブの開始前や終了前は初期値が設定される。
Status706には、ジョブ全体のステータスが保持される。ジョブのステータスは、ジョブの処理状況に応じて、Ready(準備完了)、Processing(処理中)、Success(成功)、Failure(失敗)で管理される。
DataID707には、ジョブに関連付いたデータのIDが設定される。データはブロブストレージサービス507にて保存されており、このデータのIDはブロブストレージサービス507内で一意の値となる。
LastTask708には、実行が完了したタスクの番号が記録される。ジョブは複数のタスクを順次処理することで成り立っている。例えば、1番目のタスクとして、文書サーバからファイルを取得するタスク、2番目のタスクとしてデータをプリントスプーラサービスに投入するタスクといった組み合わせでジョブが構成され、それらが順次実行されることでジョブは処理される。文書サーバからファイルを取得するタスクまで実行が終了すると、LastTask708には「1」が記録される。なお、タスクが何も実行完了していないときはLastTask708に「0」が記録される。
LastTaskResult709には、最後に実行したタスクの処理結果が保持される。タスクの処理結果は、None(タスク終了前の状態)、Success(成功)、FailureRetry(リトライ可能な失敗)、Failure(失敗)で管理され、タスクは処理の結果を必ずいずれかの値で返す必要がある。
LastTaskTryCount710には、最後に実行したタスクを何度実行したかを示す情報が記録される。タスクがFailuerRetry(リトライ可能な失敗)の処理結果で終了した場合にはそのタスクを再実行するが、その再実行の回数がLastTaskTryCount710に記録される。LastTaskTryCount710が一定回数以上の数値になったら、つまり繰り返しタスクの実行を再試行しても成功しない場合には、そのタスクをエラーとするための制御にLastTaskTryCount710が利用される。
MaxTask711には、そのジョブにタスクが何個含まれるかを示す情報が記録される。本実施例では「1」〜「20」のタスクをジョブに含むことができるものとする。
Task1ServiceID712からTask20Parameter717までの情報は、ジョブに含まれるタスクに関する情報を管理するためのものである。Task1ServiceID712には、1番目に実行されるタスクを提供するサービスのIDが保持される。Task1Parameter713には、タスク1を実行する際にタスクに渡されるパラメータが保持される。以降、同様にTask2ServiceID714とTask2Parameter715には2番目に実行するタスクに関する情報(データのIDとパラメータ)が保持され、・・・、Task20ServiceID716とTask20Parameter717には20番目に実行するタスクに関する情報(データのIDとパラメータ)が保持される。本実施例のジョブ管理テーブルでは、20個分のタスク情報を保持可能である。なお、本実施例では、タスク数の上限を「20」としたがタスク数の上限に関しては別の値でも良い。
次に、図8を用いて、本実施例におけるサービステーブルについて説明する。サービステーブルでは、タスクを提供するサービスの管理を行う。サービステーブルは、テーブルストレージサービス506にて保持される。
図8は、テーブルストレージサービス506にて保持されるサービステーブルの一例を示す図である。
図8において、ETag801は、ETag701(図7)と同様である。PartitionKey802とRowKey803は、テーブルの列を一意に識別するIDを構成する情報である。サービステーブルでは、PartitionKey802はserviceで固定値となり、RowKey803がサービスIDとして管理される。
URI804には、サービスが提供されているWebServiceのURIが保持される。ここで管理(保持)されているURIに対してアクセスすることで、そのサービスを利用することが可能である。なお、本実施例では、サービスがWebServiceで提供されており、提供されているアドレスをURIという形で管理しているが、サービスの提供方法はその他の方法でもよい。例えば、WebServiceではなく、RESTのI/Fでサービスが提供されても良いし、DLLのようなモジュールで提供されても良い。
Type805には、サービスタイプが保持される。サービスタイプには、In(入力サービス)、Pipe(パイプサービス)、Out(出力サービス)がある。入力サービスは、文書サーバからデータを取得するといった処理を行うサービスで、外部システムからデータを入力するサービスである。パイプサービスは、文書データを印刷データに変換するといった処理を行うサービスで、データを加工するサービスである。出力サービスは、データを印刷サーバに投入するといった処理を行うサービスで、外部システムにデータを出力するサービスである。
Attribute806には、サービスの属性情報が保持される。サービスの属性情報は、サービス毎に独自に定義された情報として登録される。例えば、文書サーバからデータを取得するサービスでは、文書サーバのURIの情報が属性情報としてAttribute806に保持される。また、印刷サーバにジョブを投入するサービスでは、印刷サーバのURIの情報が属性情報としてAttribute806に保持される。
次に、図9を用いて、本発明の実施例におけるサービスシーケンステーブルについて説明する。サービスシーケンステーブルでは、サービスの処理順序の管理を行う。サービスシーケンステーブルは、テーブルストレージサービス506にて保持される。
図9は、テーブルストレージサービス506にて保持されるサービスシーケンステーブルの一例を示す図である。
図9において、Etag901は、ETag701(図7)と同様である。PartitionKey902とRowKey903は、テーブルの列を一意に識別するIDを構成する情報である。サービスシーケンステーブルでは、PartitionKey902は、sequenceで固定値となり、RowKey903がシーケンスIDとして管理される。
MaxTask904では、そのシーケンスに含まれるタスクの数が定義されている。本実施例では、「1」〜「20」のタスクをシーケンスに含むことができる。
Task1(905)〜Task2(909)では、シーケンスに含まれるタスクに関する情報が管理される。Task1(905)には、1番目に実行されるタスクを提供するサービスのIDが保持される。以降、同様にTask2(906)には2番目に実行するタスクに関する情報が保持され、・・・、Task20(909)には20番目に実行するタスクに関する情報が保持される。本実施例のサービスシーケンステーブルでは、20個分のタスク情報を保持可能である。なお、本実施例ではタスク数の上限を「20」としたがタスク数の上限に関しては別の値でも良い。
以上が、本実施例におけるシステム構成に関しての説明である。続いては、本実施例におけるシステムの全体の処理の流れの説明を行う。
まず、図10を用いて、図1〜図9で示したシステム構成のネットワークプリントシステムにおいて想定される一般的なネットワークプリントシステム全体の処理の流れを示す。
図10は、図1〜図9で示したシステム構成のネットワークプリントシステムにおいて想定される一般的なネットワークプリントシステム全体の処理の流れを示すシーケンス図である。なお、図中、S1001〜S1063は各ステップを示す。
なお、ネットワークプリントシステムの全体オペレーションは、印刷対象文書データの登録オペレーション、印刷対象文書データから印刷データへの変換オペレーション、印刷データの印刷オペレーションで構成される。全体オペレーションの内、印刷対象文書データの登録オペレーション、及び、印刷データの印刷オペレーションはユーザ操作を含むオペレーションである。また、印刷対象文書データから印刷データへの変換オペレーションはサーバコンピュータ群102により実行されるオペレーションである。
まず、印刷対象文書データの登録オペレーションから説明する。印刷対象文書データの登録オペレーションは、ユーザがクライアントコンピュータ105のブラウザ407にて操作を開始するところから一連の処理が行われる。この操作により、ブラウザ407は、要求処理部401にて動作する文書データアップロードアプリケーションと通信して、文書アップロード画面取得要求を行う。なお、文書データアップロードアプリケーションは、サーバコンピュータ群102を実現する情報処理装置(図3)の間接記憶部303に保存されている要求受信プログラムが直接記憶部302にロードされてCPU301により実行されることで実現される。
要求処理部401は、ブラウザ407からの文書アップロード画面取得要求(S1001)を受信すると、文書データアップロードアプリケーションが文書データアップロード画面(図11)を生成する。
図11は、ブラウザ407に表示される文書データアップロード画面の一例を示す図である。
図11の文書データアップロード画面は、図10のステップS1001において、要求処理部401がブラウザ407からの文書アップロード画面取得要求を受信した際に、文書データアップロードアプリケーションにより生成される。文書データアップロードアプリケーションが生成した文書データアップロード画面は、ステップS1002において、要求処理部401がブラウザ407に送信する。
文書データアップロード画面(図11)において、アップロード先1101は、ユーザが現在通信を行っている文書データアップロードアプリケーションが実行されているサーバを示す情報を表示する。対象文書1102は、ユーザが選択した文書データのクライアントコンピュータ105での保存場所を示す情報を表示する。ユーザは、ブラウザ407の操作によって、参照ボタン1103を押下することで、クライアントコンピュータ105に保存されている文書データを選択する。文書データアップロードアプリケーションにアップロードする文書データの選択が完了すると、ユーザはブラウザ407の操作によって、アップロードボタン1104を押下して、アップロード処理を開始する。
図11の例では、クライアントコンピュータ105の「folder/file.pdf」という文書が、文書データアップロードアプリケーションにアップロードされることになる。また、アップロードボタン1104がユーザによって、押下されると要求処理部401が予め定義されたアップロードシーケンスを実行するよう、指示が行われる。具体的には、アップロードボタン1104には、図9のシーケンステーブルで定義されるアップロードシーケンスに対応する行のRowKey903に格納されたシーケンスIDが割り当てられている。
ステップS1003において、ユーザがアップロードボタン1104を押下すると、対象文書1102に入力された文書データとシーケンスIDをパラメータとする、文書アップロード要求がブラウザ407から要求処理部401に送信される。なお、この文書アップロード要求は、ブラウザ407から当該ネットワークプリントシステムにアップロードされる文書データを画像形成装置104が印刷可能なデータ形式の印刷データに変換し、該印刷データをネットワークプリントシステム内のコンピュータリソース(本実施例では印刷サーバ109のスプールサービス412)に登録し、画像形成装置104から取得可能にする処理の依頼を含む処理要求(リクエスト)である。
ステップS1004において、要求処理部401は、ブラウザ407から文書アップロード要求を受け付ける。そして、要求処理部401は、文書アップロード要求のパラメータとして受信した文書データをブロブストレージサービス404に保存する。ブロブストレージサービス404は、文書データの保存を完了すると、要求処理部401に対して保存場所情報(DataID)を返す。
次に、ステップS1005において、要求処理部401は、テーブルストレージサービス403のサービスシーケンステーブル(図9)に対して、シーケンス取得要求を行う。このシーケンス取得要求では、上記S1004でブラウザ407から受信したシーケンスIDをパラメータとして送信する。
ステップS1006において、テーブルストレージサービス403は、要求処理部401から受信したシーケンスIDに該当するRowKey903を有するシーケンスデータをサービスシーケンステーブル(図9)から取得して要求処理部401に送信する。
ステップS1007において、要求処理部401は、テーブルストレージサービス403のジョブ管理テーブル(図7)に対して、ジョブ追加要求を行う。このジョブ追加要求では、上記S1006において取得したシーケンスデータと上記S1004で取得した文書データの保存場所情報(DataID)等をパラメータとして送信する。
ジョブ追加要求を受けると、ステップS1008において、テーブルストレージサービス403は、ジョブ追加要求で受信したパラメータを用いてジョブの生成追加処理を行い、生成したジョブをジョブ管理テーブルに追加する。さらに、テーブルストレージサービス403は、前記生成したジョブのジョブID(PartitionKey702とRowKey703)を要求処理部401に送信する。
ステップS1009において、要求処理部401は、キューストレージサービス405に対して、メッセージ追加要求を行う。このメッセージ追加要求では、上記S1008で受信したジョブID(PartitionKey702とRowKey703)を含むキューメッセージ(図6に示したような)をパラメータとして送信する。これにより、キューストレージサービス405は、メッセージの追加処理を行う。詳細には、キューストレージサービス405は、メッセージ追加要求のパラメータとして受け取ったキューメッセージをキューストレージサービス405内のキューに格納する。
また、要求処理部401がテーブルストレージサービス403からジョブIDを受信した際に、要求処理部401で動作する文書データアップロードアプリケーションが文書データアップロード成功画面1200(図12)を生成する。生成された文書データアップロード成功画面1200(図12)は、ステップS1010において、要求処理部401によりブラウザ407に送信される。ブラウザ407は、要求処理部401から送信された文書データアップロード成功画面(図12)を受信して画面に表示する。
図12は、ブラウザ407に表示される文書データアップロード成功画面の一例を示す図である。
文書データアップロード成功画面1200において、アップロード完了メッセージ領域1201には、ユーザに対して文書のアップロードが正常に終了したこと、及び、文書データから印刷データへの変換処理が実行中であることを示すメッセージが表示される。
認証情報表示領域1202には、後述するステップS1060において、ユーザがデバイスブラウザ409を操作して、要求処理部401に印刷データ要求を送信する際に必要となる認証情報(パスコード)が表示されることになる。この認証情報(パスコード)には、本実施例では、要求処理部401がテーブルストレージサービス403から受信したジョブIDが利用される。ジョブIDは、後述するステップS1030〜S1041の印刷データ変換処理が終了するまでは認証情報表示領域1202には表示されない。その場合には、印刷データ変換処理が実行中であることを示すメッセージ(例えば「現在登録中です。」)が表示される。
印刷データ変換処理が終了したかどうかを確認するために、ステップS1020において、ユーザはブラウザ407の操作によって、更新ボタン1203を押下する。更新ボタン1203には、要求処理部401が文書データアップロード成功画面1200と共に生成した問い合わせIDが割り当てられており、ブラウザ407は、該問い合わせIDをパラメータとする、ジョブID要求を要求処理部401に対して送信する。
上記問い合わせIDは、要求処理部401により文書データアップロード成功画面1200と共に生成され、上記S1008で取得されたジョブIDとともにテーブルストレージサービス403に送信される。なお、図示しないが、上記S1010では、要求処理部401は、上記問合わせIDと上記S1008で取得したジョブIDを、テーブルストレージサービス403に送信して、問合わせIDテーブル(図13)に格納するように要求する処理も行う。テーブルストレージサービス403では、要求処理部401から取得した問合わせIDとジョブIDを問合わせIDテーブル(図13)に格納し管理する。
図13は、テーブルストレージサービス403で管理される問合わせIDテーブルの一例を示す図である。
図13において、ETag1301は、テーブルストレージサービス403が自動的に設定する値で、列データが更新された際に一意の値が書き込まれる。PartitionKey1302とRowKey1303にてテーブルの列を一意に識別するIDとなる。これらの値は上記S1008で要求処理部401が受信したジョブIDの値であり、図7のジョブ管理テーブルと同様の管理方法により二つの値として管理される。RequestID1304は問い合わせIDであり、要求処理部401が文書データアップロード成功画面を生成する際に、同時に生成される一意の値である。
ステップS1021において、要求処理部401は、ジョブID要求とともに送信された問い合わせIDをパラメータとする、シーケンス確認要求をテーブルストレージサービス403に対して行う。テーブルストレージサービス403は、受け取った問合わせIDに対応するジョブIDを問合わせIDテーブル(図13)から取得し、該取得したジョブIDに対応するジョブのステータス706をジョブ管理テーブル(図7)から取得し、要求処理部401に送る。
要求処理部401は、受け取ったステータス706の値が「Success(成功)」の場合には、ジョブIDを認証情報表示領域1202に表示した文書データアップロード成功画面1200を生成し、ブラウザ407に送信する。ステップS1056がこれに該当する。しかし、受け取ったステータス706の値が「Success(成功)」以外の場合には、要求処理部401は、ジョブIDの通知は行わない。ステップS1022がこれに該当する。
なお、ジョブID要求(S1020及びS1055)は、Java(登録商標)Script等のHTML技術を用いて、自動的にブラウザ407が要求処理部401にジョブID要求を行うことで実現することも可能である。Java(登録商標)Script1204(図12)は、自動的に文書データアップロード成功画面がジョブID要求を行う場合のスクリプトの一例である。
また、ジョブID要求(S1020及びS1055)は、要求処理部401が後述するバックエンド処理終了通知(S1054)を受信して、ジョブIDをブラウザ407に通知(S1056)を行うまで、繰り返し行われるものとする。
ステップS1056において、ブラウザ407がジョブID通知を受信して、該ジョブIDを文書データアップロード成功画面1200の認証情報表示領域1202に認証情報(パスコード)として表示する。ユーザは、ブラウザ407の文書データアップロード成功画面1200の認証情報表示領域1202に表示される認証情報(パスコード)としてのジョブIDを取得することができる。以上により、ユーザの印刷対象文書データの登録オペレーションは完了する。
次に、印刷データの印刷オペレーションについて説明する。
ステップS1060において、ユーザは、印刷対象文書データの登録オペレーションで登録した文書データを画像形成装置104で印刷するために、デバイスブラウザ409を操作する。これにより、デバイスブラウザ409は、要求処理部401にて動作する文書データ印刷アプリケーションと通信する。
図14は、デバイスブラウザ409に表示される文書データ印刷画面の一例である。
図14に示す文書データ印刷画面は、ステップS1060において、要求処理部401がデバイスブラウザ409からの文書データ印刷画面取得要求を受信した際に、文書データ印刷アプリケーションが生成する。
文書データ印刷画面(図14)において、認証情報入力フィールド1401は、ユーザがステップS1051で取得したジョブID(認証情報(パスコード))を入力するフィールドである。ユーザがこの認証情報入力フィールド1401にジョブIDを入力し、印刷ボタン1402を押下すると、デバイスブラウザ409から要求処理部401に印刷データ要求が送信される。なお、印刷ボタン1402が押下されると、デバイスブラウザ409により、認証情報入力フィールド1401に入力されたジョブIDが印刷データ要求のパラメータとして要求処理部401に送信される
ステップS1061において、要求処理部401は、デバイスブラウザ409から受信したジョブIDをパラメータとして、スプールサービス412に印刷データ取得要求を送信する。
ステップS1062において、スプールサービス412は、要求処理部401から受信したジョブIDに該当する印刷データをブロブストレージサービスから取得して、要求処理部401に送信する。
ステップS1063において、要求処理部401は、デバイスブラウザ409にスプールサービス412から受信した印刷データを送信する。画像形成装置104では、デバイスブラウザ409が要求処理部401からの印刷データ受信処理を完了すると、ファームウェア(図2(b))が該受信した印刷データの印刷を開始する。以上で、印刷データの印刷オペレーションは完了する。
次に、印刷対象文書データから印刷データへの変換オペレーションについて説明する。
印刷対象文書データから印刷データへの変換オペレーションは、図10に示すステップS1030〜S1042の文書変換シーケンスと、ステップS1043〜S1053のスプール登録シーケンスに分かれる。なお、本オペレーションは、ユーザがブラウザ407及びデバイスブラウザ409を操作して行うオペレーションとは非同期でサーバコンピュータ群102が実行する。
まず、文書変換シーケンスから説明する。
ステップS1030において、バックエンド処理部402は、キューストレージサービス405に対して定期的にメッセージ取得要求を行う。ステップS1031にて、バックエンド処理部402は、キューよりメッセージが取得できたら、メッセージ内の<MessageText>603(図6)よりジョブIDを取り出す。
ステップS1032において、バックエンド処理部402は、S1031で取得したジョブIDをパラメータとして、テーブルストレージサービス403に対してジョブ・サービス情報取得要求を行い、ステップS1033にて、ジョブ・サービス情報の応答を得る。本処理では、バックエンド処理部402は、まずジョブ管理テーブル(図7)よりジョブIDに対応したジョブの情報を取得する。次に、バックエンド処理部402は、取得したジョブ情報より次に実行するタスクを提供するサービスのIDを取得し、該サービスIDに対応したサービス情報をサービステーブル(図8)より取得する。
次に、ステップS1034において、バックエンド処理部402は、上記S1033にて取得したジョブ・サービス情報内のDataID707をキーとして、ブロブストレージサービス404から上記S1004で保存された文書データを取得する。
次に、ステップS1035において、バックエンド処理部402は、上記S1033にて取得したジョブ情報・サービス情報を元にタスクを実行する。タスクの実行時には、ジョブ情報・サービス情報(特にジョブ管理テーブル(図7)で管理されているパラメータ)及び上記S1034において取得した文書データを引数として渡す。なお、本シーケンスの例では、S1035にて実行されるタスクは、文書変換サービス411にて提供されるものである。文書変換サービス411は、文書データから画像形成装置104が印刷可能な形式の印刷データへの変換処理を実行する。文書変換サービス411は、印刷データの変換処理が終了すると、ステップS1036において、バックエンド処理部402にタスク終了の応答を行う。
ステップS1037において、バックエンド処理部402は、文書変換サービス411に対して結果取得要求を行う。ステップS1038において、文書変換サービス411は、結果の応答として印刷データ(変換済み)とタスクの実行結果を返す。
ステップS1039において、バックエンド処理部402は、上記S1038で取得した印刷データ(変換済み)をブロブストレージサービス404に格納する。ステップS1040において、バックエンド処理部402は、テーブルストレージサービス403のジョブ管理テーブル(図7)に対してタスクの実行結果を保存する。例えば、ジョブ管理テーブル(図7)内の対応するタスク(処理したジョブIDで特定可能)のステータス706の値を「Success(成功)」に変更する。
以上で、文書データを印刷データに変換するタスクの処理が終了する。一連のタスク処理が終了したところで、バックエンド処理部402は、次のタスクを実行するためにキューに対してメッセージの追加と削除を行う。
ステップS1041において、バックエンド処理部402は、キューストレージサービス405に上記S1030〜S1040で処理したジョブIDのメッセージを追加する。これにより、次に処理すべき(後述するS1043〜S1053で処理すべき)タスクの処理依頼が行われたことになる。
次に、ステップS1042において、バックエンド処理部402は、キューストレージサービスより上記S1030〜S1040で処理したメッセージを削除する。これにより、上記S1030〜S1040で処理したタスクに対応したメッセージがキューより削除されタイムアウトによる再実行処理が行われなくなる。
次に、スプール登録シーケンスを説明する。次の例は、印刷サーバ109に印刷データを追加するまでのタスクの流れとなる。
ステップS1043〜S1046は、上述したステップS1030〜S1033と同様の処理であるので説明は省略する。
次に、ステップS1047において、バックエンド処理部402は、S1046にて取得したジョブ情報・サービス情報を元に(内のDataID707をキーにして)、ブロブストレージサービス404から、上記S1039で保存された印刷データの取得を行う。
次に、ステップS1048において、バックエンド処理部402は、上記S1046にて取得したジョブ情報・サービス情報を元にタスクを実行する。タスクの実行時には、ジョブ情報・サービス情報(特にジョブ管理テーブル(図7)で管理されているパラメータ)及び上記S1047において取得した文書データを引数として渡す。なお、本シーケンスの例では、S1047にて実行されるタスクは、スプールサービス412にて提供されるものである。ステップS1048において実行されたスプールサービス412は、与えられたパラメータと印刷データを元に、スプールサービス412に印刷データを追加する。本実施例では、スプールサービス412は、ジョブIDをパラメータとして受け取り、それらの値に関連づけて印刷データを管理する。スプールサービス412は、処理が終了すると、ステップS1049において、バックエンド処理部402にタスク終了の応答を行う。
ステップS1050において、バックエンド処理部402は、スプールサービス412に対して結果取得要求を行う。そして、ステップS1051において、スプールサービス412は、バックエンド処理部402にタスクの実行結果を返す。
ステップS1052において、バックエンド処理部402は、テーブルストレージサービス403のジョブ管理テーブル(図7)に対してタスクの実行結果を保存する。例えば、ジョブ管理テーブル(図7)内の対応するタスク(処理したジョブIDで特定可能)のステータス706の値を「Success(成功)」に変更する。
以上で、スプールサービス412に印刷データを追加するタスクの処理が終了する。本例では、印刷データの追加によりジョブが終了するため一連のタスク処理が終了したところで、バックエンド処理部402は、キューに対してメッセージの削除を行う。
ステップS1053において、バックエンド処理部402は、キューストレージサービス405より、上記S1043〜S1052で処理したメッセージを削除する。これにより、上記S1043〜S1052で処理したタスクに対応したメッセージがキューより削除され、ジョブが終了する。
ジョブが終了すると、ステップS1054において、バックエンド処理部402は、終了したジョブのジョブIDをバックエンド処理終了通知として、要求処理部401に送信する。要求処理部401は、要求処理部401にバックエンド処理終了通知が送信されることで、ブラウザ407からのジョブID要求に対して、ジョブIDを返す準備が完了する。即ち、上記バックエンド処理終了通知(S1054)を受信した後に、ブラウザ407からジョブID要求(S1055)を受けると、要求処理部401は、ジョブIDをブラウザ407に通知する(S1056)。
以上、図1〜図9で示したシステム構成のネットワークプリントシステムにおいて想定される一般的なネットワークプリントシステム全体の処理の流れを説明した。
図10に示されるように、ユーザが指示した文書データの印刷要求の結果は、S1003で文書データのアップロードが開始されてから、S1048で印刷データがスプールサービス412が完了するまで、ユーザが操作するブラウザ407に返ってこない。また、サーバコンピュータ群102が実行するステップS1030〜S1042の文書変換シーケンスと、ステップS1043〜S1053までのスプール登録シーケンスは、非同期で実行される。そのため、ユーザが指示した文書データの印刷要求の結果がいつ返ってくるのか、その時間は保証されていない。その時間は、ユーザが文書データの印刷要求を行った時点での、タスク実行中のバックエンド処理部402のインスタンスの数(又はキューストレージサービス405に保存されたメッセージの数)、及びバックエンド処理部402のインスタンスの総数に依存する。つまり、ユーザが文書データの印刷要求を行った時点での、タスク実行中のバックエンド処理部402のインスタンスの数(又は、メッセージの数)、及び、バックエンド処理部402のインスタンスの総数によっては、すぐに印刷要求が処理される可能性もあるが、延々と印刷要求の処理の開始をユーザが待たなければならない可能性もある。即ち、図10に示されるクラウドコンピューティングの技術を用いたネットワークプリントシステムには、このような課題がある。
以下、図10に示されるクラウドコンピューティングの技術を用いたネットワークプリントシステムの課題を解決する本発明におけるネットワークプリントシステム全体の処理の流れを説明する。
図15は、本発明におけるネットワークプリントシステム全体の処理(バックエンド処理部を先行して動作させる一連の処理)の流れを示すシーケンス図である。
図15と図10との差異は、印刷対象文書データの登録オペレーションにある。ユーザがクライアントコンピュータ105のブラウザ407にて操作を開始するところから一連の処理が行われるのは図10と同様である。ブラウザ407は要求処理部401にて動作する文書データアップロードアプリケーションと通信する。
ステップS1501において、ブラウザ407は要求処理部401に文書アップロード画面取得要求を送信する。
要求処理部401は、ブラウザ407からの文書アップロード画面取得要求を受信すると、ステップS1502において、サーバコンピュータ群102で稼働しているバックエンド処理部402のインスタンス総数を取得する。同時に、要求処理部401は、テーブルストレージサービス403で管理されているバックエンド処理状況テーブル(後述する図17)を参照して、現在タスクを実行中のバックエンド処理部402のインスタンスの数を取得する。
サーバコンピュータ群102で稼働しているバックエンド処理部402のインスタンス総数に対して、現在タスクを実行中のバックエンド処理部402のインスタンスが少ない場合には、現在タスクを実行中でないバックエンド処理部402が存在することとなる。このため、新たに送信されてくるリクエストに対応するジョブの処理が、バックエンド処理部402により即時実行可能となる。よって、要求処理部401は、その結果と共に、予め定義された印刷対象文書データの登録オペレーションのシーケンスに該当するシーケンスIDをテーブルストレージサービス403に送信する。シーケンスIDは、上記S1501で受信した文書アップロード画面取得要求に対応して予め定められているものであり、シーケンステーブル(図9)で定義されるRowKey903に格納された値となるのは図10のシーケンスと同様である。
ステップS1503において、要求処理部401は、テーブルストレージサービス403のサービスシーケンステーブル(図9)に対して、シーケンス取得要求を行う。このシーケンス取得要求では、S1501で受信した文書アップロード画面取得要求に対応するシーケンスIDがパラメータとして送信される。
そして、ステップS1504において、テーブルストレージサービス403は、要求処理部401から受信したシーケンスIDに該当するシーケンスデータを要求処理部401に送信する。
ステップS1505において、要求処理部401は、テーブルストレージサービス403のジョブ管理テーブル(図7)に対して、ジョブ追加要求を行う。このジョブ追加要求では、上記S1504において取得したシーケンスデータ等をパラメータとして送信する。
ジョブ追加要求を受けると、ステップS1506において、テーブルストレージサービス403は、ジョブ追加要求で受信したパラメータを用いてジョブの生成追加処理を行い、生成したジョブをジョブ管理テーブルに追加する。さらに、テーブルストレージサービス403は、前記生成したジョブのジョブID(PartitionKey702とRowKey703)を要求処理部401に送信する。
そして、要求処理部401は、テーブルストレージサービス403からジョブIDを受信すると、要求処理部401にて動作する文書データアップロードアプリケーションが、文書データアップロード画面(図11)を生成する。
ステップS1507において、要求処理部401は、文書データアップロードアプリケーションが生成した文書データアップロード画面(図11)を、ブラウザ407に送信する。なお、このとき文書データアップロード画面(図11)のアップロードボタン1104にはシーケンスIDは関連付けられていない。
ステップS1508において、文書データアップロード画面(図11)のアップロードボタン1104をユーザが押下すると、対象文書1102に入力された文書データとシーケンスIDをパラメータとする、文書アップロード要求がブラウザ407から要求処理部401に送信される。
ステップS1509において、要求処理部401は、ブラウザ407から文書アップロード要求を受け付ける。そして、要求処理部401は、文書アップロード要求のパラメータとして受信した文書データをブロブストレージサービス404に保存する。ブロブストレージサービス404は、文書データの保存を完了すると、要求処理部401に対して保存場所情報(DataID)を返す。
次に、ステップS1510において、要求処理部401は、テーブルストレージサービス403のジョブ管理テーブル(図7)に対して、ステップS1506で取得したジョブIDに対するジョブ情報を更新する。このジョブ情報の更新の際には、ステップS1509においてブロブストレージサービス404に保存した文書データの保存場所情報(DataID)等をパラメータとして送信する。
ステップS1511において、要求処理部401は、キューストレージサービス405に対して、メッセージ追加要求を行う。このメッセージ追加要求では、上記S1506で受信したジョブID(PartitionKey702とRowKey703)を含むキューメッセージ(図6に示したような)をパラメータとして送信する。これにより、キューストレージサービス405は、メッセージの追加処理を行う。詳細には、キューストレージサービス405は、メッセージ追加要求のパラメータとして受け取ったキューメッセージをキューストレージサービス405内のキューに格納する。
そして、要求処理部401で動作する文書データアップロードアプリケーションは、上記ジョブIDを用いて、文書データアップロード成功画面(図20)を生成する。生成された文書データアップロード成功画面(図20)は、ステップS1512において、要求処理部401によりブラウザ407に送信される。ブラウザ407は、要求処理部401から送信された文書データアップロード成功画面(図20)を受信して画面に表示する。
図20は、図15に示すシーケンスにおいて、ブラウザ407に表示される文書データアップロード成功画面の一例を示す図である。
文書データアップロード成功画面(図20)において、アップロード完了メッセージ領域2001には、ユーザに対して文書のアップロードが正常に終了したことを示すメッセージが表示されている。
認証情報表示領域2002には、後述するステップS1550において、ユーザがデバイスブラウザ409を操作して、要求処理部401に印刷データ要求を送信する際に必要となる認証情報(パスコード)が表示されている。この認証情報(パスコード)には、本実施例では、上記S1506にて要求処理部401がテーブルストレージサービス403から受信したジョブIDが利用される。文書データアップロード成功画面(図20)は、図11で示した文書データアップロード成功画面とは異なり、はじめから認証情報表示領域2002にジョブIDが表示されている。また、文書データアップロード成功画面(図20)には、更新ボタン1203は存在しない。
本発明では、ユーザは、ブラウザ407に文書データアップロード成功画面(図20)が表示された時点で、認証情報表示領域2002に表示される認証情報(パスコード)としてのジョブIDを取得することができる。以上により、ユーザの印刷対象文書データの登録オペレーションは完了する。
ここで、図16を参照して、本発明におけるユーザの印刷対象文書データの登録オペレーションをより詳細に説明する。
図16は、本発明の実施例におけるユーザの印刷対象文書データの登録オペレーションを詳細に示すフローチャートである。
ステップS1601において、ブラウザ407は要求処理部401に文書アップロード画面取得要求を送信する。本処理は図15のS1501に該当する。
ステップS1602において、要求処理部401は、サーバコンピュータ群102で稼働しているバックエンド処理部402のインスタンスの中でタスク実行中(即ちジョブの処理を実行中)のインスタンスの数を確認するために、テーブルストレージサービス403で保存されているバックエンド処理状況テーブル(図17)に登録されているデータの件数を取得する。
図17は、テーブルストレージサービス403で管理されているバックエンド処理状況テーブルの一例を示す図である。
バックエンド処理状況テーブル(図17)において、ETag1701は、テーブルストレージサービス403が自動的に設定する値で、列データが更新された際に一意の値が書き込まれる。PartitionKey1702とRowKey1703は、テーブルの列を一意に識別するIDを構成する情報である。バックエンド処理状況テーブルでは、これら二つの値をIDとして管理する。これら1702と1703の値は、図15のS1506で要求処理部401が受信したジョブIDの値(即ち、図15のS1511で要求処理部401がメッセージ追加要求を行った際のジョブIDの値)であり、図7のジョブ管理テーブルと同様の管理方法により二つの値として管理される。
登録時間1704は、バックエンド処理部402がバックエンド処理状況テーブルに情報を追加した時刻をテーブルストレージサービス403が自動的に設定する。
また、ステップS1603において、要求処理部401は、サーバコンピュータ群102で稼働しているバックエンド処理部402のインスタンスの総数を取得する。
図18は、サーバコンピュータ群102で稼働しているバックエンド処理部402のインスタンスの総数を定義する情報(設定ファイル)の一例を示す図である。
図18においては、情報をXMLファイルの形式で定義している。情報定義XMLファイル1801は、インスタンス数定義情報1802を含む。この情報定義XMLファイル1801は、サーバコンピュータ群102を構成するそれぞれのサーバコンピュータの間接記憶部303にそれぞれ保存されている。即ち、サーバコンピュータ群102を構成するサーバコンピュータの数だけ、情報定義XMLファイル1801(同一内容のファイル)が存在することになる。
図16のS1603では、要求処理部401は、サーバコンピュータ群102内を構成するいずれかのサーバコンピュータの間接記憶部303に保存されている情報定義XMLファイル1801のインスタンス数定義情報1802に記載された数値を読み取って、バックエンド処理部402のインスタンス総数を解釈する。
次に、ステップS1604において、要求処理部401は、上記S1602で取得したタスク実行中のインスタンスの数と、上記S1603で取得したインスタンス総数を比較する。この比較結果に応じて、要求処理部401は、ユーザがこれから文書データをアップロードに対してバックエンド処理部402で実行される予定のタスク(新たなリクエストに対応するジョブの処理)が即時実行可能かどうかを判断する。
なお、インスタンス総数がタスク実行中のインスタンスの数を超えていない(タスク実行中でない(ジョブの処理を実行中でない)インスタンスが存在しない)場合(S1604でNo)、要求処理部401は、バックエンド処理部402がタスク(即ち、リクエストに対応するジョブの処理)を即時実行可能な状態ではないと判断する。一方、インスタンス総数がタスク実行中のインスタンスの数を超えている(タスク実行中でないインスタンスが存在する)場合(S1604でYes)、要求処理部401は、バックエンド処理部402がタスクを即時実行可能な状態であると判断する。
ステップS1604において、バックエンド処理部402がタスクを即時実行可能な状態ではないと要求処理部401が判断した場合には、ステップS1608において、要求処理部401は文書アップロード待機画面(後述する図21)を生成する。即ち、要求処理部401は、ブラウザ407から新たなリクエストを受け付けないように制御する。
一方、ステップS1604において、バックエンド処理部402がタスクを即時実行可能な状態であると要求処理部401が判断した場合には、要求処理部401は、ステップS1605に処理を進める。ステップS1605では、要求処理部401は、テーブルストレージサービス403のサービスシーケンステーブルに対して、シーケンス取得要求を行う。これらステップS1602〜S1604の処理が図15のS1502に該当する。即ち、要求処理部401は、ブラウザ407から新たなリクエストを受け付け可能とするように制御する。
ステップS1605の処理は、ステップS1503、S1504の処理と同様である。ステップS1606の処理は、ステップS1505、S1506の処理と同様である。これらの処理についての説明は省略する。
次に、ステップS1607において、要求処理部401は、文書アップロード画面(図11)を生成する。
ステップS1609において、要求処理部401は、ブラウザ407にステップS1607において生成した文書アップロード画面(図11)、もしくは、ステップS1608において生成した文書アップロード待機画面(後述する図21)を送信する。これにより、ブラウザ407は要求処理部401から送信された画面を受信する。
ステップS1610において、ブラウザ407は要求処理部401から受信した画面を取得して、該取得した画面を表示する。本処理は図15のS1507と同様の処理であるので詳細な説明は省略する。
図21は、ブラウザ407に表示される文書アップロード待機画面の一例を示す図である。
文書アップロード待機画面(図21)において、2101は、アップロード待機メッセージ領域である。アップロード待機メッセージ領域2101には、ユーザに対して、バックエンド処理部402がタスクを即時実行可能な状態ではないため、待機した後、文書のアップロード画面要求を再実行してもらうことを示すメッセージが表示される。
次に、ステップS1611において、ブラウザ407は、上記S1610で受信した画面が上記S1608で生成された文書アップロード待機画面(図21)であった場合には、ブラウザ407は、一連の処理を終了する。
一方、ステップS1611において、ブラウザ407が受信した画面がS1607で生成した文書アップロード画面(図11)であった場合には、ブラウザ407は、ステップS1612に処理を進める。ステップS1612では、ブラウザ407は、文書アップロード画面(図11)にてユーザからの文書アップロードを受け付け、ステップS1612に処理を進める。ステップS1612の処理は、図15のS1508と同様の処理であるので説明は省略する。
ステップS1613において、要求処理部401は、ブラウザ407から文書データを受信し、S1614に処理を進める。ステップS1614の処理は、図15のS1509と同様の処理である。ステップS1615の処理は、図15のS1510、S1511と同様の処理である。ステップS1616の処理は、図15のS1512と同様の処理である。これらの処理については説明は省略する。
次に、ステップS1617において、ブラウザ407は、文書データアップロード成功画面(図20)を表示する。文書データアップロード成功画面の認証情報表示領域2002には、予め上記S1606(図15のS1506)で取得したジョブIDが表示される。また、文書データアップロード成功画面(図20)には、図12に示した文書データアップロード成功画面1200とは異なり、更新ボタン1203も表示されない。以上により、ユーザの印刷対象文書データの登録オペレーションは完了する。
図15のステップS1520〜S1543の印刷対象文書データから印刷データへの変換オペレーションは、図10に示されるステップS1030〜S1053と同様の処理である。ただし、メッセージ取得要求を行うステップS1520、S1533、及び、メッセージ削除要求を行うステップS1532、S1543のみ、図10のシーケンスとは異なり、バックエンド処理部402がバックエンド処理状況テーブル(図17)への情報の追加及び削除を行う。その際のフローチャートを図19に示す。
図19は、本発明の実施例におけるバックエンド処理部が起動及び終了時にバックエンド処理状況テーブルを更新する一連の処理の流れを示すフローチャートである。
ステップS1901において、バックエンド処理部402は、キューストレージサービス405に対して定期的にメッセージ取得要求を行う。
メッセージ取得要求を受けると、キューストレージサービス405は、ステップS1902において、キューよりメッセージ(例えば図6)の取得を試み、メッセージが取得できたら、<MessageText>603よりジョブIDを取り出し、バックエンド処理部に送信する。これにより、バックエンド処理部402は、ジョブIDを受信する。
キューストレージサービス405からジョブIDを受信すると、バックエンド処理部402は、ステップS1903において、テーブルストレージサービス403に、バックエンド処理状況テーブル(図17)への起動情報追加要求を行い、上記S1902で取得したジョブIDを送信する。
起動情報追加要求を受けると、テーブルストレージサービス403は、ステップS1904において、バックエンド処理状況テーブル(図17)へ受信したジョブIDを登録する。
次に、ステップS1905において、バックエンド処理部402は、テーブルストレージサービス403に対してジョブ・サービス情報取得要求を行い、上記1902で取得したジョブIDを送信する。
ジョブ・サービス情報取得要求を受けると、テーブルストレージサービス403は、ステップS1906において、まずジョブ管理テーブル(図7)よりジョブID(702,703)に対応したジョブの情報を取得する。次に、テーブルストレージサービス403は、上記取得したジョブ情報より次に実行するタスクを提供するサービスのID(LastTask708の次のタスクに対応するタスクのサービスID)を取得する。さらに、テーブルストレージサービス403は、サービステーブル(図8)よりサービスID(803)に対応したサービス情報を取得する。さらに、テーブルストレージサービス403は、上記取得したジョブ情報及びサービス情報(ジョブ情報・サービス情報)をバックエンド処理部402に送信する。これにより、バックエンド処理部402は、ジョブ情報・サービス情報を受信する。
ステップS1907において、バックエンド処理部402は、取得したジョブ情報・サービス情報を元にタスクを実行する。
ステップS1908にて、バックエンド処理部402は、タスクの実行の終了を確認すると、テーブルストレージサービス403に、バックエンド処理状況テーブル(図17)への起動情報削除要求を行い、上記S1902において取得したジョブIDを送信する。
起動情報削除要求を受けると、テーブルストレージサービス403は、ステップS1909において、バックエンド処理状況テーブル(図17)に登録されている情報の中で、受信した起動情報削除要求に含まれるジョブIDに該当する情報を削除する。
以上により、バックエンド処理部402がタスクを実行する前後で図19に示すフローチャートの処理を行うことで、テーブルストレージサービス403が管理するバックエンド処理状況テーブル(図17)への情報の追加、及び削除が行われる。これにより、要求処理部401は、図16のS1602の処理を実行することが可能となる。
以上の処理により、ユーザの文書データの印刷要求を行った時点での、タスク実行中のバックエンド処理部402のインスタンスの数、及び、バックエンド処理のインスタンスの総数で、ユーザからの文書データの印刷要求が即時に実行可能かを判断できる。
なお、図16のS1602〜S1604では、タスク実行中のバックエンド処理部402のインスタンスの数と、バックエンド処理のインスタンスの総数を比較し、バックエンド処理のインスタンスの総数がタスク実行中のバックエンド処理部402のインスタンスの数を超える場合には、新たなリクエストを即時実行可能であると判断し、一方、バックエンド処理のインスタンスの総数がタスク実行中のバックエンド処理部402のインスタンスの数を超えない場合には、新たなリクエストを即時実行可能でないと判断する構成について示した。
しかし、ユーザの文書データの印刷要求を行った時点での、タスク実行中のバックエンド処理部402のインスタンスの数の代わりに、ユーザの文書データの印刷要求を行った時点での、キューストレージサービス405に保存されたメッセージの数、又は、ジョブ管理テーブルに保持された未終了のジョブの数を用いてもよい。なお、未終了のジョブとは、Status706が、Ready(準備完了)、Processing(処理中)のジョブを示す。
この構成では、図16のS1602〜S1604は次のようになる。
要求処理部401は、図16のS1602において、キューストレージサービス405に保存されているメッセージの数(又は、ジョブ管理テーブルに保持された未終了のジョブの数)を取得する。また、要求処理部401は、S1603において、バックエンド処理のインスタンスの総数を取得する。さらに、要求処理部401は、S1604において、メッセージの数(又は、未終了のジョブの数)と、バックエンド処理のインスタンスの総数を比較する。そして、要求処理部401は、バックエンド処理のインスタンスの総数がメッセージの数(又は、未終了のジョブの数)を超える場合には、新たなリクエストを即時実行可能であると判断する。一方、要求処理部401は、バックエンド処理のインスタンスの総数がメッセージの数(又は、未終了のジョブの数)を超えない場合には、新たなリクエストを即時実行可能でないと判断する。このように構成してもよい。
以上の構成により、ユーザの文書データの印刷要求を行った時点での、キューストレージサービス405に保存されているメッセージの数(又は、ジョブ管理テーブルに保持された未終了のジョブの数)、及び、バックエンド処理のインスタンスの総数で、ユーザからの文書データの印刷要求が即時に実行可能かを判断することができる。
以上示したように、本実施例のネットワークプリントシステムでは、ユーザがアップロードした文書のサーバ処理が完了するのを待たずに、ユーザとネットワークプリントシステムとの接続を解除することで、ユーザビリティを向上させることができる。即ち、クライアント端末からの文書のアップロードに対するサーバ側の処理の完了を待つことなく、クライアント端末に対して画像形成装置での印刷処理時に必要となる認証情報を返すことが可能となる。
以上、本発明のネットワークシステムの一実施例としてのネットワークプリントシステムについて説明した。
なお、本発明のネットワークシステムは、上述のような、ネットワークプリントシステムに限定されるものではない。
例えば、サーバコンピュータ群102から利用可能なコンピュータリソースは、文書サーバ103、画像形成装置104、文書取り出しサーバ107、文書変換サーバ108、印刷サーバ109に限定されるものではない。サーバコンピュータ群102のバックエンド処理部402の指示により、処理を実行するコンピュータリソースであればどのような処理を実行するサーバ等であってもよい。例えば、データの解析処理や統計処理のようなデータ処理を行うデータ処理サーバや、データ処理結果を保持するデータサーバであってもよい。そして、ブラウザ407から要求処理部401に送信されるリクエストは、ブラウザ407からアップロードされるデータをデータ処理(解析処理や統計処理等)し、データ処理結果をデータサーバに格納する処理の依頼(データ処理依頼)であってもよい。
このデータ処理依頼を要求処理部401が受け付けると、該受け付けと非同期で、バックエンド処理部402が前記データ処理依頼に対応するジョブを処理する。即ち、バックエンド処理部402は、前記データ処理依頼に対応するデータのデータ処理をデータ処理サーバを用いて実行し、また、データ処理結果をデータサーバに格納し、データ処理依頼に対応するジョブの処理を完了する。なお、この例の場合でも、要求処理部401は、図15に示したように、前記データ処理依頼に対応するジョブの処理完了を待つことなく、前記データ処理依頼に対応するジョブの処理結果(データ処理結果)を取得するための認証情報をブラウザ407に送信する。また、要求処理部401は、図16に示したように、データ処理依頼を受け付ける前に、データ処理依頼に対応するジョブの処理をバックエンド処理部402により即時実行可能かどうかを判断する。そして、即時実行可能でない場合には、前記データ処理依頼を受け付けないように制御し、一方、即時実行可能な場合には、前記データ処理依頼を受け付け可能に制御する。
以上示したように、本発明によれば、クライアントコンピュータからのリクエストに対するネットワークシステム側の処理が完了するのを待たずに、クライアントコンピュータとネットワークシステムとの接続を解除することが可能となる。これにより、ユーザビリティを向上させることができる。この結果、クライアントコンピュータ側では、先行して送信したリクエストに対するネットワークシステム側での処理完了を待つことなく、次のリクエストをネットワークシステムに送信すること等が可能となる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
100 ネットワーク
101 インターネット
102 サーバコンピュータ群
104 画像形成装置
105 クラインとコンピュータ
108 文書変換サーバ
109 印刷サーバ
401 要求処理部
402 バックエンド処理部
403 テーブルストレージサービス
404 ブロブストレージサービス
405 キューストレージサービス
411 文書変換サービス
412 スプールサービス

Claims (10)

  1. クライアントコンピュータと通信可能な1台以上のサーバコンピュータを有するネットワークシステムであって、
    前記クライアントコンピュータから送信されるリクエストを受け付けて該リクエストを処理するためのジョブを記憶手段に登録する1又は複数の第1処理手段と、
    前記記憶手段へのジョブの登録とは非同期で前記記憶手段から前記ジョブを取得して処理する1又は複数の第2処理手段とを有し、
    前記第1処理手段は、前記記憶手段に登録したジョブの前記第2処理手段による処理完了を待つことなく、前記リクエストに対応するジョブの処理結果を取得するための認証情報を前記クライアントコンピュータに送信することを特徴とするネットワークシステム。
  2. 前記第1処理手段は、
    前記クライアントコンピュータから新たに送信されるリクエストに対応するジョブの処理を前記第2処理手段により即時実行可能かどうかを判断し、
    即時実行可能でない場合には、前記クライアントコンピュータから新たなリクエストを受け付けないように制御し、
    即時実行可能な場合には、前記クライアントコンピュータから新たなリクエストを受け付け可能に制御することを特徴とする請求項1に記載のネットワークシステム。
  3. 前記第1処理手段は、
    前記第2処理手段の総数と、ジョブの処理を実行中の前記第2処理手段の数とを比較し、
    前記第2処理手段の総数が前記ジョブの処理を実行中の前記第2処理手段の数を超えない場合には、前記新たに送信されるリクエストに対応するジョブの処理を前記第2処理手段により即時実行可能でないと判断し、
    前記第2処理手段の総数が前記ジョブの処理を実行中の前記第2処理手段の数を超える場合には、前記新たに送信されるリクエストに対応するジョブの処理を前記第2処理手段により即時実行可能であると判断することを特徴とする請求項2に記載のネットワークシステム。
  4. 前記第1処理手段は、
    前記第2処理手段の総数と、前記記憶手段に登録されている未終了のジョブの数とを比較し、
    前記第2処理手段の総数が前記未終了のジョブの数を超えない場合には、前記新たに送信されるリクエストに対応するジョブの処理を前記第2処理手段により即時実行可能でないと判断し、
    前記第2処理手段の総数が前記未終了のジョブの数を超える場合には、前記新たに送信されるリクエストに対応するジョブの処理を前記第2処理手段により即時実行可能であると判断することを特徴とする請求項2に記載のネットワークシステム。
  5. 前記認証情報は、前記ジョブを識別する識別情報であることを特徴とする請求項1乃至4のいずれか1項に記載のネットワークシステム。
  6. 前記第2処理手段は、前記1台以上のサーバコンピュータから利用可能な1又は複数のコンピュータリソースを用いて前記ジョブの処理を実行することを特徴とする請求項1乃至5のいずれか1項に記載のネットワークシステム。
  7. 前記1又は複数のコンピュータリソースは、
    文書データを画像形成装置が印刷可能なデータ形式の印刷データに変換するコンピュータリソースと、
    前記印刷データを保持するコンピュータリソースとを含み、
    前記第1処理手段は、画像形成装置から送信される前記認証情報に応じて前記コンピュータリソースに保持される印刷データを前記画像形成装置に送信することを特徴とする請求項6に記載のネットワークシステム。
  8. 前記リクエストは、前記クライアントコンピュータから当該ネットワークシステムにアップロードされる文書データを画像形成装置が印刷可能なデータ形式の印刷データに変換し、該印刷データをコンピュータリソースに格納する処理の依頼を含むことを特徴とする請求項1乃至7のいずれか1項に記載のネットワークシステム。
  9. クライアントコンピュータと通信可能な1台以上のサーバコンピュータを有するネットワークシステムの制御方法であって、
    当該ネットワークシステムの1又は複数の第1処理手段が、前記クライアントコンピュータから送信されるリクエストを受け付けて該リクエストを処理するためのジョブを記憶手段に登録する受け付けステップと、
    当該ネットワークシステムの1又は複数の第2処理手段が、前記記憶手段へのジョブの登録とは非同期で前記記憶手段から前記ジョブを取得して処理する処理ステップと、
    前記第1処理手段が、前記処理ステップの完了を待つことなく、前記リクエストに対応するジョブの処理結果を取得するための認証情報を前記クライアントコンピュータに送信する送信ステップと、
    を有することを特徴とするネットワークシステムの制御方法。
  10. クライアントコンピュータと通信可能な1台以上のサーバコンピュータを、
    前記クライアントコンピュータから送信されるリクエストを受け付けて該リクエストを処理するためのジョブを記憶手段に登録する1又は複数の第1処理手段、
    前記記憶手段へのジョブの登録とは非同期で前記記憶手段から前記ジョブを取得して処理する1又は複数の第2処理手段として機能させるためのプログラムであり、
    前記第1処理手段は、前記記憶手段に登録したジョブの前記第2処理手段による処理完了を待つことなく、前記リクエストに対応するジョブの処理結果を取得するための認証情報を前記クライアントコンピュータに送信することを特徴とするプログラム。
JP2010036173A 2010-02-22 2010-02-22 ネットワークシステム、ネットワークシステムの制御方法、及び、プログラム Expired - Fee Related JP5586985B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010036173A JP5586985B2 (ja) 2010-02-22 2010-02-22 ネットワークシステム、ネットワークシステムの制御方法、及び、プログラム
US13/030,894 US8717600B2 (en) 2010-02-22 2011-02-18 Network system, network system control method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010036173A JP5586985B2 (ja) 2010-02-22 2010-02-22 ネットワークシステム、ネットワークシステムの制御方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2011170766A true JP2011170766A (ja) 2011-09-01
JP5586985B2 JP5586985B2 (ja) 2014-09-10

Family

ID=44476271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010036173A Expired - Fee Related JP5586985B2 (ja) 2010-02-22 2010-02-22 ネットワークシステム、ネットワークシステムの制御方法、及び、プログラム

Country Status (2)

Country Link
US (1) US8717600B2 (ja)
JP (1) JP5586985B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015022483A (ja) * 2013-07-18 2015-02-02 株式会社リコー データ処理システム、情報処理システム、情報処理方法及びプログラム
JP2016095868A (ja) * 2016-01-07 2016-05-26 富士ゼロックス株式会社 情報処理装置、情報処理方法およびプログラム。
JP2016181066A (ja) * 2015-03-23 2016-10-13 キヤノン株式会社 データ変換サーバー、制御方法、およびプログラム
JP2020013195A (ja) * 2018-07-13 2020-01-23 キヤノン株式会社 プリントサーバー、制御方法、およびそのプログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914803B2 (en) * 2011-08-25 2014-12-16 Red Hat Israel, Ltd. Flow control-based virtual machine request queuing
JP5866921B2 (ja) * 2011-09-22 2016-02-24 富士ゼロックス株式会社 印刷システム、印刷装置及びプログラム
JP2014050064A (ja) * 2012-09-04 2014-03-17 Sony Corp 情報処理装置、情報処理システム、情報処理方法、プログラム及びクライアント端末
US8924443B2 (en) * 2012-10-05 2014-12-30 Gary Robin Maze Document management systems and methods
US20150058868A1 (en) * 2013-08-23 2015-02-26 Ramanathan Padinjarel Techniques for a common object model
JP6545000B2 (ja) * 2015-06-01 2019-07-17 キヤノン株式会社 アップロード管理システム、アップロード管理システムの制御方法、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005100348A (ja) * 2003-09-02 2005-04-14 Ricoh Co Ltd 印刷処理装置、画像処理装置、印刷処理装置の制御方法、印刷処理装置の制御プログラム及び記録媒体
JP2008040718A (ja) * 2006-08-04 2008-02-21 Nippon Telegr & Teleph Corp <Ntt> 負荷分散制御装置および方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091393A (ja) * 2001-09-19 2003-03-28 Fuji Xerox Co Ltd 印刷システムおよびその方法
JP2002304271A (ja) 2002-01-24 2002-10-18 Seiko Epson Corp ネットワーク上での印刷を仲介するシステム
US7394558B2 (en) * 2003-01-28 2008-07-01 Hewlett-Packard Development Company, L.P. Modifying printing based on print job clues
JP4298594B2 (ja) * 2004-06-14 2009-07-22 キヤノン株式会社 情報処理装置および通知方法
US7528978B2 (en) * 2005-05-20 2009-05-05 Xerox Corporation Systems and method for controlling hide and hold jobs in a network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005100348A (ja) * 2003-09-02 2005-04-14 Ricoh Co Ltd 印刷処理装置、画像処理装置、印刷処理装置の制御方法、印刷処理装置の制御プログラム及び記録媒体
JP2008040718A (ja) * 2006-08-04 2008-02-21 Nippon Telegr & Teleph Corp <Ntt> 負荷分散制御装置および方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015022483A (ja) * 2013-07-18 2015-02-02 株式会社リコー データ処理システム、情報処理システム、情報処理方法及びプログラム
JP2016181066A (ja) * 2015-03-23 2016-10-13 キヤノン株式会社 データ変換サーバー、制御方法、およびプログラム
JP2016095868A (ja) * 2016-01-07 2016-05-26 富士ゼロックス株式会社 情報処理装置、情報処理方法およびプログラム。
JP2020013195A (ja) * 2018-07-13 2020-01-23 キヤノン株式会社 プリントサーバー、制御方法、およびそのプログラム
JP7086767B2 (ja) 2018-07-13 2022-06-20 キヤノン株式会社 プリントサーバー、制御方法、およびそのプログラム

Also Published As

Publication number Publication date
US8717600B2 (en) 2014-05-06
US20110205588A1 (en) 2011-08-25
JP5586985B2 (ja) 2014-09-10

Similar Documents

Publication Publication Date Title
JP5586985B2 (ja) ネットワークシステム、ネットワークシステムの制御方法、及び、プログラム
JP2011192250A (ja) クラウドコンピューティングシステム、クラウドコンピューティングシステムの制御方法
JP2011248683A (ja) クラウドコンピューティングシステム、サーバーコンピュータ、デバイス接続方法及びプログラム
JP2011170804A (ja) ネットワークプリントシステム、ネットワークプリントシステム制御方法、およびそのプログラム
US8736882B2 (en) Printing system, service processing method, and storage medium
JP5623139B2 (ja) クラウドコンピューティングシステム、文書処理方法、及びコンピュータプログラム
JP5882837B2 (ja) 情報処理システム、画像形成装置、制御方法およびコンピュータプログラム
JP5602592B2 (ja) ネットワークシステム、サーバ、ログ登録方法、及び、プログラム
US9524133B2 (en) Printing server group including a print service of transferring a print job to a printer via a network
JP5653139B2 (ja) ネットワークプリントシステム、クライアント端末、制御サーバ、印刷方法、およびプログラム
US20120086978A1 (en) Cloud computing system, information processing method, and storage medium
JP6701961B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP2013073314A (ja) 印刷中継システム、印刷システム、制御方法およびコンピュータプログラム
JP5854667B2 (ja) ジョブ処理装置、ジョブ処理装置の制御方法及びプログラム
JP2012043071A (ja) 調整システム、調整装置、調整方法、及びそのプログラム
JP2014522017A (ja) プレゼンテーションソフトウェア自動化サービス
JP2016045930A (ja) 管理システム、及び、管理システムの制御方法
JP2017136835A (ja) 画像形成装置、制御方法及びプログラム
JP2018041274A (ja) 情報処理装置その制御方法、印刷システム及びプログラム
JP5961937B2 (ja) 情報処理システム
JP6544133B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP5847495B2 (ja) 情報処理装置および制御方法およびプログラム
JP2015130075A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2014149690A (ja) 情報処理システム、監視装置、情報処理システムの制御方法およびコンピュータプログラム
JP2015146064A (ja) 情報処理システム、情報処理装置、制御方法およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140723

LAPS Cancellation because of no payment of annual fees