(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025113577
(43)【公開日】2025-08-04
(54)【発明の名称】情報処理装置、制御方法及びプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20250728BHJP
G06F 3/04842 20220101ALI20250728BHJP
H04N 1/00 20060101ALI20250728BHJP
B41J 29/38 20060101ALI20250728BHJP
【FI】
G06F3/12 375
G06F3/12 303
G06F3/12 359
G06F3/04842
H04N1/00 127Z
H04N1/00 E
H04N1/00 912
B41J29/38 801
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024007809
(22)【出願日】2024-01-23
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100114775
【弁理士】
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【弁理士】
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100208580
【弁理士】
【氏名又は名称】三好 玲奈
(72)【発明者】
【氏名】下田 大河
【テーマコード(参考)】
2C061
5C062
5E555
【Fターム(参考)】
2C061AP01
2C061AP03
2C061AP04
2C061AP07
2C061AQ05
2C061AQ06
2C061AS02
2C061BB10
2C061BB11
2C061CG02
2C061HH03
2C061HJ06
2C061HJ10
2C061HK03
2C061HK11
2C061HN05
2C061HQ01
5C062AA05
5C062AA13
5C062AA35
5C062AB02
5C062AB20
5C062AB22
5C062AB23
5C062AB41
5C062AB43
5C062AB44
5C062AC02
5C062AC04
5C062AC05
5C062AC22
5C062AC34
5C062AE01
5C062AE14
5C062AE15
5C062AF01
5C062AF02
5C062AF06
5C062AF14
5C062BA02
5E555AA13
5E555BA09
5E555BA10
5E555BA27
5E555BB01
5E555BB04
5E555BB27
5E555BC09
5E555CB01
5E555CB33
5E555CC01
5E555FA02
(57)【要約】
【課題】様々なオンラインサービスを組み合わせて構築されたワークフローのステータスの管理を改善することである。
【解決手段】情報処理装置は、画像形成装置に対してジョブを実行させるジョブ発行手段と、前記情報処理装置にログインしたユーザに関する実行中のワークフローのワークフローステータスを外部のワークフロープラットフォームから取得するワークフローステータス取得手段と、実行中のワークフローに関するジョブステータスを取得するジョブステータス取得手段と、前記ワークフローステータスと前記ジョブステータスからアクションの実行可否を判定するアクション判定手段と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
情報処理装置であって、
画像形成装置に対してジョブを実行させるジョブ発行手段と、
前記情報処理装置にログインしたユーザに関する実行中のワークフローのワークフローステータスを外部のワークフロープラットフォームから取得するワークフローステータス取得手段と、
実行中のワークフローに関するジョブステータスを取得するジョブステータス取得手段と、
前記ワークフローステータスと前記ジョブステータスからアクションの実行可否を判定するアクション判定手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記ジョブ発行手段は、前記ワークフロープラットフォームからのジョブ実行要求に応じて、前記画像形成装置にジョブを実行させることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記アクション判定手段の判定結果に応じて、クライアント装置にアクションを実行可能なUIを表示させる表示制御手段を有すること特徴とする請求項1に記載の情報処理装置。
【請求項4】
ジョブの実行結果を前記ワークフロープラットフォームに通知する通知手段を有することを特徴する請求項1に記載の情報処理装置。
【請求項5】
前記ワークフローステータスと前記ジョブステータスから決定されるステータスをクライアント装置に表示させる表示制御手段を有することを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記ジョブ発行手段は、前記アクションの実行要求を受け付けて、前記画像形成装置にジョブを実行させることを特徴とする請求項3に記載の情報処理装置。
【請求項7】
前記表示制御手段は、チャットサービスからの要求を受け付けて、ワークフロー一覧を応答して前記チャットサービスに表示させることを特徴とする請求項5に記載の情報処理装置。
【請求項8】
前記ジョブ発行手段は、チャットサービスからの前記アクションの実行要求を受け付けて、前記画像形成装置にジョブを実行させることを特徴とする請求項6に記載の情報処理装置。
【請求項9】
情報処理装置の制御方法であって、
画像形成装置に対してジョブを実行させるジョブ発行工程と、
前記情報処理装置にログインしたユーザに関する実行中のワークフローのワークフローステータスを外部のワークフロープラットフォームから取得するワークフローステータス取得工程と、
実行中のワークフローに関するジョブステータスを取得するジョブステータス取得工程と、
前記ワークフローステータスと前記ジョブステータスからアクションの実行可否を判定するアクション判定手段と、
を有することを特徴とする制御方法。
【請求項10】
コンピュータで実行されるプログラムであって、
前記コンピュータを
画像形成装置に対してジョブを実行させるジョブ発行手段、
前記情報処理装置にログインしたユーザに関する実行中のワークフローのワークフローステータスを外部のワークフロープラットフォームから取得するワークフローステータス取得手段、
実行中のワークフローに関するジョブステータスを取得するジョブステータス取得手段、及び
前記ワークフローステータスと前記ジョブステータスからアクションの実行可否を判定するアクション判定手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、制御方法及びプログラムに関する。
【背景技術】
【0002】
近年、ワークフローをユーザ自身が構築し、タスクを自動化することができるワークフロープラットフォームを利用されることが増えている。また、上記のワークフロープラットフォームは、外部のオンラインサービスと連携する機能をユーザや第三者の開発者が追加できる手段も提供している。
【0003】
一方、ワークフローと連携してプリンタでジョブを実行する取り組みが行われている。特許文献1では、実行中のワークフローのステータスを確認して、ステータスに応じたアクションボタンを表示する方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら特許文献1では、ワークフロープラットフォームがワークフローのすべてのステータスを管理することを前提としている。また特許文献1では、前述のような、様々なオンラインサービスを組み合わせてワークフローが構築され、ステータスが様々なオンラインサービスで管理されることは考慮されていない。このため、従来は、様々なオンラインサービスを組み合わせて構築されたワークフローのステータスの管理に改善の余地があった。
【0006】
本発明は、様々なオンラインサービスを組み合わせて構築されたワークフローのステータスの管理を改善することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一実施形態の情報処理装置は、画像形成装置に対してジョブを実行させるジョブ発行手段と、前記情報処理装置にログインしたユーザに関する実行中のワークフローのワークフローステータスを外部のワークフロープラットフォームから取得するワークフローステータス取得手段と、実行中のワークフローに関するジョブステータスを取得するジョブステータス取得手段と、前記ワークフローステータスと前記ジョブステータスからアクションの実行可否を判定するアクション判定手段と、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、様々なオンラインサービスを組み合わせて構築されたワークフローのステータスの管理を改善することができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の第1実施形態に係る印刷/スキャンシステムの構成を示すブロック図である。
【
図2】画像形成装置102の構成を示すブロック図である。
【
図3】情報処理装置の構成を示すブロック図である。
【
図4】中継サーバ104のソフトウェア構成を示すブロック図である。
【
図5】印刷/スキャンシステム100とワークフロープラットフォーム105とのアカウント連携画面の一例である。
【
図6】印刷/スキャンシステム100とワークフロープラットフォーム105とのアカウント連携処理を示すシーケンス図である。
【
図7】印刷/スキャンシステム100とワークフロープラットフォーム105とのアカウント連携処理を示すシーケンス図であって
図6に続く図である。
【
図8】ワークフロープラットフォーム105が提供するワークフロー一覧画面の一例を示す図である。
【
図9】ワークフロー印刷処理を示すシーケンス図である。
【
図10】ワークフロー印刷処理を示すシーケンス図であって
図9に続く図である。
【
図11】ワークフロー印刷の印刷ジョブ情報の一例を示す図である。
【
図12】ワークフロースキャン処理を示すシーケンス図である。
【
図13】ワークフロースキャン処理を示すシーケンス図であって
図12に続く図である。
【
図14】ワークフロースキャンのスキャンジョブ情報の一例を示す図である。
【
図15】ジョブ情報のデータ構造の一例を示す図である。
【
図16】ワークフロー情報のデータ構造の一例を示す図である。
【
図17】ワークフローステータス一覧画面の一例を示す図である。
【
図18】ワークフローステータス一覧画面のステータス、及び、ワークフローアクションボタンの表示条件を示すフローチャートである。
【
図19】ワークフローアクション実行時の処理を示すシーケンス図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0011】
(第1実施形態)
<システム構成について>
図1は、本発明の第1実施形態に係る印刷/スキャンシステムの構成を示すブロック図である。印刷/スキャンシステム100は、クライアント装置101と、画像形成装置102、中継サーバ104、ワークフロープラットフォーム105、クラウドサービス106及びチャットサービス107を含む。画像形成装置102は、例えばMFPである。MFPは、Multi Function Printerの略称である。
【0012】
印刷/スキャンシステム100に含まれる各装置は、通信相手装置のアドレスを認識している場合、ネットワーク103を介して通信相手装置と通信可能である。なおネットワーク103は、例えば、LAN、WAN、電話回線、又は専用デジタル回線である。LANは、Local Area Networkの略称である。WANは、Wide Area Networkの略称である。また、ネットワーク103は、例えば、ATM、フレームリレー回線、ケーブルテレビ回線、又はデータ放送用無線回線などである。ATMは、Asynchronous Transfer Modeの略称である。また、ネットワーク103は、例えば、上述の回線の組み合わせにより実現されるインターネットなどの所謂、通信ネットワークなどである。なお本実施形態では、印刷/スキャンシステム100を構成する各装置間の通信はインターネットを介して行われるものとする。
【0013】
クライアント装置101は、第1の情報処理装置の一例である。であり、本実施形態では、クライアント装置101は、PCである。PCは、Personal Computerの略称である。クライアント装置101は、PCに限定されず、情報処理装置として携帯端末、スマートフォン、タブレット端末、PDA、又はデジタルカメラ等、種々のものを適用可能である。PDAは、Personal Degital Assistantの略称である。
【0014】
本実施形態においてクライアント装置101は、Webブラウザを搭載しており、当該Webブラウザによって、中継サーバ104によって提供される印刷/スキャンサービスによる印刷やスキャンを実行することが可能である。
【0015】
画像形成装置102は、複写機能、FAX機能、印刷機能、及びスキャン機能等の複数の機能を備える複合機である。また、画像形成装置102は、電子写真方式又はインクジェット方式によって印刷機能を実行するプリンタ(画像形成装置)であるものとする。また、画像形成装置102は、Webブラウザを搭載しており、当該Webブラウザによって、中継サーバ104によって提供される印刷/スキャンサービスの画面を表示することができる。印刷/スキャンシステム100は、中継サーバ104によって印刷/スキャンサービスを提供する。
【0016】
なお、ワークフローは、個々の処理であるアクションを決められた順序で実行するためのデータである。アクションは、例えば、画像形成装置102等で印刷する処理、及び画像形成装置102等でスキャンする処理である。画像形成装置102等で印刷する処理等の印刷に関する処理を印刷アクションと呼ぶことがある。画像形成装置102等でスキャンする処理等のスキャンに関する処理をスキャンアクションと呼ぶことがある。アクションは、印刷又はスキャンに関する処理に限られるものではなく、承認依頼、通知依頼、ファイルの保存、条件分岐、及び繰り返し処理等の、画像形成装置102等の画像形成装置が関与しない処理であっても良い。
【0017】
中継サーバ104は、第2の情報処理装置の一例である。中継サーバ104は、クライアント装置101や画像形成装置102に印刷サービスやスキャンサービスを提供するサーバである。前記印刷サービスとは、画像形成装置102の外部のサーバからインターネットを介して画像形成装置102に送信・供給されるコンテンツ(画像データや文書ファイルなどのデータ)を画像形成装置102に印刷させるサービスである。前記スキャンサービスとは、画像形成装置102の外部のサーバからインターネットを介して画像形成装置102にスキャンをさせることができるサービスである。また、前記スキャンサービスとは、画像形成装置102でスキャンした画像データを、インターネットを介して外部のサーバに送信することが可能なサービスである。
【0018】
本実施形態では、画像形成装置102は、ワークフロープラットフォーム105から画像形成装置102に送信されるコンテンツを印刷させる、ワークフロー印刷が可能である。また、画像形成装置102は、ワークフロープラットフォーム105から画像形成装置102にスキャンを実行させて読み取った画像データをワークフロープラットフォーム105に送信する、ワークフロースキャンが可能である。
【0019】
なお、本実施形態ではワークフロー印刷とワークフロースキャンについて説明するが、本発明は画像形成装置102にジョブを実行させるものであれば良い。例えば、画像形成装置102にコピーをさせるコピージョブや電源ON/OFFを切り替えるジョブを実行させても良い。
【0020】
また、中継サーバ104は、1台の情報処理装置(例えば1台のサーバPC)によって構成されるものに限定されず、複数の情報処理装置(例えば複数のサーバPC)によって構成されても良い。
【0021】
ワークフロープラットフォーム105は、第3の情報処理装置で提供されるサービスの一例である。ワークフロープラットフォーム105は、ユーザがワークフローを構築することができるサービスである。ワークフロープラットフォーム105は、OS開発企業がサービスを提供し、同じくOS開発企業がサービスを提供するクラウドストレージやチャットサービスなどのサービスと連携させ、ワークフローを構築することができる。OSは、Operating Systemの略称である。ワークフロープラットフォーム105は、中継サーバ104の外部の装置であっても良い。
【0022】
また、ワークフロープラットフォーム105は、前記OS開発企業以外のクラウドサービスとも連携させるカスタマイズ機能を有する。ワークフロープラットフォーム105は、例えば、クラウドサービス106にコンテンツを保存したり、クラウドサービス106からコンテンツを取得したりすることができる。このように、ワークフロープラットフォーム105では多くのサービスと連携したワークフローを作成できる。
【0023】
ワークフロープラットフォーム105は、コネクタ108を有する。コネクタ108は、ワークフロープラットフォーム105上に構築するワークフローにワークフロー印刷機能やワークフロースキャン機能を提供するワークフローの部品である。コネクタ108は、中継サーバ104と接続して印刷ジョブを画像形成装置102に送信して画像形成装置102に印刷させることが可能である。コネクタ108は、中継サーバ104と接続してスキャンジョブを画像形成装置102にスキャンを実行させてスキャンした画像データを受け取ることが可能である。
【0024】
また、ワークフロープラットフォーム105と中継サーバ104間の通信や、サービス間認証といった複雑な処理をコネクタ108の内部に隠蔽する。さらに、コネクタ108の入出力値をユーザが設定しやすくする。このようにすることで、コネクタ108は、前記ワークフロー印刷機能や前記ワークフロースキャン機能を有するワークフローを容易に構築できるようにする。
【0025】
なお、本実施形態ではコネクタ108は、ワークフロー印刷機能とワークフロースキャン機能を提供するが、中継サーバ104と連携して画像形成装置102にジョブを実行させられれば良い。画像形成装置102にワークフロープラットフォーム105からコピーを実行させるワークフローコピー機能なども本発明で実現可能である。また、ワークフロープラットフォーム105は、1台の情報処理装置(例えば1台のサーバPC)によって構成されるものに限定されず、複数の情報処理装置(例えば複数のサーバPC)によって構成されても良い。
【0026】
クラウドサービス106は、第4の情報処理装置で提供されるサービスの一例である。クラウドサービス106は、コンテンツの保存やダウンロードができるサービスである。そして、クラウドサービス106は、クライアント装置101や画像形成装置102のWebブラウザやその他のGUI上で、クラウドサービス106によって管理されているコンテンツの閲覧を可能とする。GUIは、Grapical User Interfaceの略称である。
【0027】
なお、クラウドサービス106は、1台の情報処理装置(例えば1台のサーバPC)によって構成されるものに限定されず、複数の情報処理装置(例えば複数のサーバPC)によって構成されていても良い。
【0028】
チャットサービス107は、第5の情報処理装置で提供されるサービスの一例である。チャットサービス107は、中継サーバ104と接続して印刷サービスやスキャンサービスの情報を表示することや、対話的に印刷サービスやスキャンサービスにジョブの実行を命令することができる。
【0029】
なお、チャットサービス107は、1台の情報処理装置(例えば1台のサーバPC)によって構成されるものに限定されず、複数の情報処理装置(例えば複数のサーバPC)によって構成されていても良い。
【0030】
<各装置の構成について>
図2は、画像形成装置102の構成を示すブロック図である。
画像形成装置102は、プリンタ部201及びスキャナ部202を有する。画像形成装置102において、印刷機能はプリンタ部201で実現され、スキャナ機能はスキャナ部202で実現される。画像形成装置102において、コピー機能はプリンタ部201及びスキャナ部202で実現される。
【0031】
プリンタ部201は、外部から受信した画像データや、ディスク装置206に格納されている画像データや文書ファイルなどを、電子写真方式やインクジェット方式などの記録方式によって印刷用紙に印刷する。また、プリンタ部201は、トナー残量を含むトナー情報又はインク残量を含むインク情報、及び積載用紙の枚数を含む用紙情報も管理している。
【0032】
スキャナ部202は、原稿台(不図示)にセットされた原稿を光学的に読み取って電子データに変換する。さらにスキャナ部202は、光学的に読み取った画像データを、指定されたファイル形式に変換し、ネットワーク経由で外部装置に送信、又はディスク装置206などの保存領域に格納する。
【0033】
また、コピー機能は、原稿に置かれた原稿がスキャナ部202で読み取られることで生成された画像データがプリンタ部201に転送され、プリンタ部201によりその画像データに基づく印刷が実行されることで実現される。
【0034】
画像形成装置102は、さらに、CPU(中央演算装置)203、プログラムメモリ204、ワークメモリ205、表示部207、操作部208、ネットワーク通信部209、ネットワーク接続部210及び認証部211を備える。
【0035】
CPU203は、画像形成装置102内の各部を制御するための中央演算装置である。プログラムメモリ204は、ROMなどで構成され、各種のプログラムコードや、サーバ装置と通信するためのアプリケーション212が格納されている。ROMは、Read Only Memoryの略称である。またアプリケーション212は、プリンタ部201にアクセスしてトナー情報又はインク情報、及び用紙情報などの消耗品情報を取得する。ワークメモリ205は、RAMなどで構成され、各サービス実行時に画像データなどを一時的に格納したり、バッファリングしたりする。RAMは、Random Access Memoryの略称である。
【0036】
表示部207は、例えばLCDで構成され、各種の情報を表示する。LCDは、Liquid Crystal Displayの略称である。操作部208は、ユーザが各種の入力操作を行うためのスイッチやタッチパネルなどで構成される。
【0037】
ネットワーク通信部209は、画像形成装置102をネットワークに接続して各種通信を行う。インターネットなどのネットワークとは、ネットワーク接続部210を介して接続可能である。ネットワーク通信部209は、有線LANや無線LANに対応し、有線LAN対応の場合のネットワーク接続部210は有線LANのケーブルを接続するためのコネクタであり、無線LAN対応の場合のネットワーク接続部210はアンテナとなる。
【0038】
認証部211は、例えばICカードを読み取るカードリーダや、指紋などの生体情報を読み取る生体認証機器である。画像形成装置102は、認証部211や操作部208により提供される認証情報をもとにユーザ認証を行う。画像形成装置102に含まれる上述の各部は、バス213で相互に接続される。
【0039】
本実施形態において、CPU203、プログラムメモリ204、及びワークメモリ205によって画像形成装置102のコンピュータが構成される。また、以下の説明において画像形成装置102が実行するものとして説明されている処理は、CPU203がプログラムメモリ204などに格納されているプログラムをワークメモリ205に展開し実行することによって実現される処理である。
【0040】
図3は、クライアント装置101、中継サーバ104、ワークフロープラットフォーム105、クラウドサービス106、及びチャットサービス107等に対応する情報処理装置の構成を示すブロック図である。情報処理装置は、CPU301、ディスク装置302、外部記憶メディア読取装置303、メモリ304、表示部305、操作部306、ネットワーク通信部307、及びネットワーク接続部308を有する。
【0041】
CPU301は、以下の各部を制御するための中央演算装置である。ディスク装置302は、CPU301が読み出すアプリケーション310、データベース311及びOSのほか各種ファイルを格納する。外部記憶メディア読取装置303は、SDカードなどの外部記憶媒体に格納されたファイルなどの情報を読み出すための装置である。メモリ304は、RAMなどで構成され、CPU301が必要に応じてデータの一時的格納やバッファリングなどを行う。
【0042】
表示部305は、例えばLCDで構成され、各種の情報を表示する。操作部306は、ユーザが各種の入力操作を行うためのキーボードやマウスなどからなる。
【0043】
ネットワーク通信部307は、ネットワーク接続部308を介してインターネットなどのネットワークと接続され、各種の通信を行う。ネットワーク通信部307は、有線LANや無線LANに対応し、有線LAN対応の場合のネットワーク接続部308は有線LANのケーブルを接続するためのコネクタであり、無線LAN対応の場合のネットワーク接続部308はアンテナとなる。情報処理装置に含まれる上述の各部は、バス309で相互に接続される。
【0044】
なお、クライアント装置101、中継サーバ104、ワークフロープラットフォーム105、クラウドサービス106、及びチャットサービス107は、他のコンピュータ上で実現された仮想コンピュータであっても良い。
【0045】
また本実施形態において、CPU301、ディスク装置302及びメモリ304によってクライアント装置101、中継サーバ104、ワークフロープラットフォーム105及びチャットサービス107のコンピュータが構成される。
【0046】
また以下の説明においてクライアント装置101、中継サーバ104、ワークフロープラットフォーム105及びチャットサービス107が実行する処理は、それぞれのCPU301がプログラムを実行することで実現される。CPU301は、ディスク装置302等に格納されているプログラムをメモリ304に展開し実行する。
【0047】
<中継サーバのソフトウェア構成図>
図4は、本実施形態に係る中継サーバ104のソフトウェア構成を示すブロック図である。中継サーバ104は、送受信部401、制御部402、ユーザ管理部403、ユーザDB404、デバイス管理部405、デバイスDB406、ジョブ管理部407、及びジョブDB408を有する。DBは、Data Baseの略称である。
【0048】
送受信部401は、Webブラウザからの応答要求を受け付けて画面表示に必要な画面構成情報(HTML、CSS等)やデータ(JSON、XML)を返したり、キューからのメッセージを受け付けて処理結果を別のキューに送信したりする。HTMLは、HyperText Markup Languageの略称である。CSSは、Cascading Style Sheetsの略称である。JSONはJavaScript ObjectNotationの略称である。XMLは、Extensible Markup Languageの略称である。
【0049】
制御部402は、送受信部401が受け付けた要求に応じて、ユーザ管理部403、デバイス管理部405、ジョブ管理部407をはじめとする各データ管理部に対して、データの取得、更新、作成、及び削除を命令し、実行結果を送受信部401に返す。
【0050】
ユーザ管理部403は、印刷/スキャンシステム100が管理するユーザ情報を管理しており、ユーザ認証機能を提供する。さらに、ユーザ情報に含まれるユーザ属性としては、権限又は権限と紐づいたロールやグループがある。例えば、印刷/スキャンシステム100のユーザを管理できる権限を持つユーザは、ユーザの登録や変更、削除を実行可能である。また、印刷/スキャンシステム100のデバイスを管理できる権限を持つユーザは、画像形成装置102の登録や変更、削除を実行可能である。本実施形態では、操作ユーザは各操作に必要な権限を有しているものとして説明する。ユーザDB404は、ユーザ管理部403からの指示に基づいてユーザ情報を永続化する。
【0051】
デバイス管理部405は、印刷/スキャンシステム100において画像形成装置102をはじめとするデバイス情報を管理している。本実施形態では、印刷/スキャンシステム100に画像形成装置102が登録済であり、中継サーバ104は画像形成装置102に対してジョブを実行できるものとして説明する。デバイスDB406は、デバイス管理部405からの指示に基づいてデバイス情報を永続化する。
【0052】
ジョブ管理部407は、印刷/スキャンシステム100におけるジョブを管理する。ジョブには印刷ジョブ、スキャンジョブ、コピージョブ、及びメンテナンスジョブなどが含まれる。ジョブDB408は、ジョブ管理部407からの指示に基づいてジョブ情報を永続化する。
【0053】
なお、本実施形態はデータをテナント毎に分離して管理するマルチテナントアーキテクチャで実装することを想定しているが、本発明はこれに限定されない。またマルチテナントアーキテクチャの実装方法はいかなる方式を採用しても良い。
【0054】
<処理の流れ>
まず、印刷/スキャンシステム100に登録済みの第1のアカウントと、ワークフロープラットフォーム105が管理する第2のアカウントを紐づける登録処理について説明する。
【0055】
まず、前記登録処理は、印刷/スキャンシステム100の設定画面において、第1のアカウントで認証済のユーザから、ワークフロープラットフォーム105のアカウントとの紐づけ操作を受け付けたことにより開始される。第1のアカウントは、印刷/スキャンシステム100のアカウントである。
【0056】
図5は、印刷/スキャンシステム100とワークフロープラットフォーム105とのアカウント連携画面の一例である。
図5のアカウント連携画面は、中継サーバ104によって第1のアカウントで認証したユーザに対して提供される画面である。
【0057】
アカウント連携設定画面500には、第1のアカウントと第2のアカウントとの紐づけ状況501が表示される。第1のアカウントが第2のアカウントと紐づけられていない場合には、第1のアカウントと第2のアカウントとを紐づけるためのアカウント連携ボタン502が表示される。
【0058】
アカウント連携ボタン502が押されると、第1のアカウントと第2のアカウントとが紐づけられる。これにより、ワークフロープラットフォーム105が管理するワークフローの実行状況を印刷/スキャンシステム100から取得することや、ワークフロープラットフォーム105に対してワークフローに関する操作を実行することが可能になる。
【0059】
図6及び
図7は、印刷/スキャンシステム100とワークフロープラットフォーム105とのアカウント連携処理を示すシーケンス図である。即ち、
図6及び
図7は、第1のアカウントと第2のアカウントを紐づけるアカウント連携処理のシーケンス図である。本実施形態では、OAuth2.0の認可コードフローによるアカウント連携の方法について説明するが、第1のアカウントと第2のアカウントを紐づけることができれば、どのような方式であっても良い。本発明は、例えば、SAML2.0をはじめとしたフェデレーション認証によりアカウント連携を実現しても良い。OAuthは、Open Authorizationの略称である。SAMLは、Security Assertion Markup Languageの略称である。
【0060】
また、アカウント連携要求は、クライアント装置101に搭載するWebブラウザから送信されるものとして説明する。なお、Webブラウザ上で動作するWebアプリケーションではないアプリケーションからアカウント連携要求を送信する場合には、OAuth2.0の拡張仕様であるPKCEを用いて認可コードを安全に取得できることを確認すべきである。
【0061】
まず、ステップS601において、クライアント装置101は、アカウント連携設定画面500においてアカウント連携ボタン502の押下を検出する。またステップS601において、アカウント連携ボタン502の押下を検出したクライアント装置101は、中継サーバ104に対して、ワークフロープラットフォーム105とのアカウント連携要求を送信する。
【0062】
次にステップS602において、中継サーバ104は、アカウント連携要求を受け付け、ステートと呼ばれるワンタイムトークンを発行する。ステートは、ワークフロープラットフォーム105から認可コードを受け取るクライアント装置が、アカウント連携要求を送信するクライアント装置と同一であることを保証するための、ワンタイムトークンである。なお、本発明は、前記ステートを発行しなくても良いがセキュリティの観点からステートを発行するのが望ましい。
【0063】
ステップS603において、アカウント連携要求を受け取った中継サーバ104は、クライアント装置101に対してワークフロープラットフォーム105の認可画面へのリダイレクト要求を返す。ここで、前記認可画面へのリダイレクト要求のパラメータに第1のステートを書き込む。第1のステートは、ステップS602で発行したステートである。さらに、第1のステートと同じ値の第2のステートをレスポンスヘッダSet-Cookieに書き込むことにより、クライアント装置101のWebブラウザのCookieに保存しておく。これにより、後述の認可コード入手時のリクエストのリクエストヘッダCookieに前記第2のステートが含まれるようになり、中継サーバ104は、Cookieから前記第2のステートを取得できるようになる。
【0064】
ステップS604において、ワークフロープラットフォーム105の認可画面へのリダイレクト要求を受け取ったクライアント装置101は、ワークフロープラットフォーム105に対して認可画面を要求する。この認可画面の要求には、前記第1のステートが含まれる。
【0065】
ステップS605において、クライアント装置101がワークフロープラットフォーム105で未認証の場合には、ワークフロープラットフォーム105は、認証画面を応答として返却する。
【0066】
ステップS606において、クライアント装置101は、認証情報の入力を受け付け、受け付けた認証情報をワークフロープラットフォーム105に送信する。なお、前記認証情報は、ID/パスワード、生体情報、及びワンタイムパスワードなどのうちの少なくとも一つである。
【0067】
ステップS607及びステップS608においては、第2のアカウントについて認可が行われていない場合、第2のアカウントのワークフローに関する認可が行われる。第2のアカウントは、ワークフロープラットフォーム105が管理するアカウントである。第2のアカウントについて認可が行われていない場合とは、第2のアカウントのワークフローステータス情報の取得や、第2のアカウントのワークフローに対する操作に必要な権限を、印刷/スキャンシステム100に対して許可していない場合である。
【0068】
図7のステップS609において、ワークフロープラットフォーム105は、クライアント装置101に対して中継サーバ104へのリダイレクト要求を返す。このリダイレクト要求にはパラメータとして認可コードと第1のステートが含まれる。
【0069】
ステップS610において、クライアント装置101は、中継サーバ104に対して、ステップS609で受信した認可コードと第1のステートを送信する。また、ステップS610において、クライアント装置101は、自身のWebブラウザのCookieに第2のステートが保存されていた場合、中継サーバ104に対して、Cookieに保存されていた第2のステートも送信する。
【0070】
ステップS611において、中継サーバ104は、認可コード、第1のステート及び第2のステートを受信した場合、ステート検証を行うことにより、認可コードが正しい経路で入手したものであることを確認する。ステート検証は、受信した第1のステートと第2のステートが一致することを確認することで行われる。第1のステートと第2のステートが一致した場合、ステート検証において、認可コードが正しい経路で入手したものであることが確認される。認可コードが正しい経路で入手したものであることが確認された場合、ステップS612の処理が実行される。
【0071】
次にステップS612において、中継サーバ104は、ワークフロープラットフォーム105にトークン発行要求を送信する。このトークン発行要求には、ステップS610で受信した認可コードが含まれる。
【0072】
ステップS613において、ワークフロープラットフォーム105は、受信した認可コードの検証に成功した場合にはトークンを発行し、応答する。本実施形態におけるトークンは、アクセストークンとリフレッシュトークンの2種類であり、いずれも有効期限が設定されている。アクセストークンは、ワークフロープラットフォーム105から第2のアカウントのワークフローステータス情報を取得するために使用する。また、リフレッシュトークンは、アクセストークンよりも長い有効期限が設定されたトークンである。リフレッシュトークンを用いればOAuth2.0のリフレッシュトークンフローによりワークフロープラットフォーム105のアクセストークンを再取得することが可能である。
【0073】
ステップS614において、トークンを受け取った中継サーバ104は、ユーザDB404に第1のアカウントに紐づけて、受信したトークンを保存する。
【0074】
ステップS615において、中継サーバ104は、クライアント装置101に対してワークフロープラットフォーム105との連携完了を示す画面を返却する。これにより、中継サーバ104は、ワークフロープラットフォーム105から第2のアカウントのワークフローステータス情報を取得することが可能になる。また中継サーバ104は、ワークフロープラットフォーム105を通じて第2のアカウントが管理するワークフローを操作することが可能になる。
【0075】
図8は、ワークフロープラットフォーム105が提供するワークフロー一覧画面の一例を示す図である。
図8は、ワークフロープラットフォーム105のディスク装置302で管理されるワークフローを表示している。本実施形態では、クライアント装置101に搭載しているWebブラウザにワークフロー一覧画面を表示させる。しかし本発明は、クライアント装置101や画像形成装置102のWebブラウザやその他のGUI上にワークフロー一覧画面を表示させても良いし、チャットサービス107を用いて対話的にワークフロー一覧を表示しても良い。
【0076】
ワークフロー一覧画面700には、ワークフロー名701、ワークフロー編集画面に遷移するためのボタン702、及びワークフローを実行するためのワークフロー実行ボタン703が表示されている。なお、ワークフロープラットフォーム105は、様々な条件でワークフローを実行させることが可能である。ワークフロープラットフォーム105は、ワークフロー実行ボタン704が押されなくてもワークフローを実行させることも可能である。例えば、ワークフロープラットフォーム105は、予め決められた時間に定期的にワークフローを実行することも可能である。本実施形態では、ワークフロープラットフォーム105は、ワークフロー実行ボタン704が押されることによりワークフローを実行するものとして説明する。
【0077】
ワークフロー一覧画面700には、第2のアカウントが保有するワークフローの一覧が表示される。ワークフロー一覧画面700に表示されるワークフローの一覧には、印刷/スキャンシステム100と連携して画像形成装置102にジョブを実行させるワークフローが含まれている。
【0078】
ワークフロー704は、クラウドサービス106からコンテンツを取得して、中継サーバ104を経由して印刷/スキャンシステム100に登録した画像形成装置102でコンテンツを印刷する機能を提供するワークフローである。コンテンツは、画像や文書ファイルなどである。
【0079】
ワークフロー705は、中継サーバ104を経由して、印刷/スキャンシステム100に登録した画像形成装置102でスキャンした画像を、クラウドサービス106に保存するワークフローである。
【0080】
ワークフローは、印刷/スキャンシステム100と連携して画像形成装置102にジョブを実行させるワークフローであれば良く、いかなる構成であっても良い。ワークフローは、毎日決まった時間に自動的に実行され、所定のクラウドストレージに保存したコンテンツを印刷するワークフローでも良い。ワークフローは、スキャンした文書をOCRで処理して読み取った文字列に基づいてストレージに仕分けして保存するようなワークフローであっても良い。OCRは、Optical Character Recognition/Readerの略称である。
【0081】
次に、ワークフロー704を実行する場合の処理について
図9及び
図10を参照しながら説明する。
図9及び
図10は、ワークフロー印刷処理を示すシーケンス図である。
【0082】
ステップS801において、クライアント装置101は、ワークフロー704に対するワークフロー実行ボタン703が押されたことを受け、ワークフロー704についてのワークフロー実行要求をワークフロープラットフォーム105に送信する。
【0083】
ステップS802において、ワークフロープラットフォーム105は、クラウドサービス106に対して印刷ファイルの取得要求を送信する。
【0084】
ステップS803において、クラウドサービス106は、受信した印刷ファイルの取得要求に基づいて、ワークフロープラットフォーム105に対して、印刷ファイル情報を応答する。ここで、印刷ファイル情報は、印刷ファイルデータや印刷ファイルを取得するための一時的なURLであっても良い。URLは、Uniform Resource Locatorの略称である。
【0085】
ステップS804において、ワークフロープラットフォーム105は、中継サーバ104に対して印刷ジョブ情報を含む印刷ジョブ実行要求を送信する。印刷ジョブ情報の一例を
図11に示す。
図11は、ワークフロー印刷の印刷ジョブ情報の一例を示す図である。
【0086】
なお、
図11では、印刷ジョブ情報をJSON形式で示しているが、印刷ジョブ情報のデータ形式はJSON以外の形式であっても構わない。
図11の印刷ジョブ情報は、ワークフロー実行ID901、ジョブの種類902、印刷ファイルを示す情報903、ジョブ設定904、及びCallbackURL905を含む。
【0087】
ワークフロー実行ID901は、ワークフローの実行毎に異なるユニークなIDである。ワークフロー実行ID901を用いれば、ワークフロープラットフォーム105が管理するワークフロー実行ステータスと印刷/スキャンシステム100が管理するジョブ情報を紐づけることが可能となる。
【0088】
ジョブの種類902は、印刷ジョブ、スキャンジョブ、コピージョブ、メンテナンスジョブなどのジョブの種類と、そのジョブを即座に実行するか又はジョブを留め置くかを示す情報を含む。
【0089】
印刷ファイルを示す情報903は、印刷ファイルを取得するためのURLを例として示しているが、印刷ファイルを取得できれば他の形式でも良い。印刷ファイルを示す情報903は、例えば印刷ファイルのデータをBase64などで文字列化した文字列であっても構わない。
【0090】
ジョブ設定904には、用紙サイズ、印刷部数、両面設定、レイアウト、カラー設定及び印刷品質など、印刷の実行に係る設定値が含まれる。
【0091】
CallbackURL905は、印刷ジョブの実行結果をワークフロープラットフォーム105に送信するために使用される。なお、CallbackURL905を用いなくても、印刷ジョブの実行結果をワークフロープラットフォーム105に送信できれば良い。例えば、ワークフロー実行ID901とともに印刷ジョブの実行結果をワークフロープラットフォーム105に送信することでも印刷ジョブの実行結果の通知を実現可能であり、その場合CallbackURL905は不要となる。
【0092】
図9の説明に戻り、ステップS805において、印刷ジョブ実行要求を受け取った中継サーバ104は、受信したジョブ情報のチェックを行う。
【0093】
ステップS806において、中継サーバ104は、前述のジョブ情報のチェックの結果、ジョブ実行要求が正しい場合はジョブ情報をデータベース311に保存する。そしてS807において、中継サーバ104は、印刷ジョブの受付成功をワークフロープラットフォーム105に送信する。なお、ジョブ実行要求に誤りがある場合は、ステップS808において、中継サーバ104は、ジョブ受付失敗をワークフロープラットフォーム105に送信して、処理を終了する。
【0094】
次に、印刷ジョブ情報のジョブの種類902がジョブを即座に実行するジョブだった場合には、
図10のステップS809からステップS814の流れで印刷が即座に実行される。
【0095】
図10のステップS809において、中継サーバ104は、画像形成装置102に印刷ジョブを送信する。ステップS809の処理は、画像形成装置102に対してジョブを実行させるジョブ発行手段の一例である。ステップS809の処理は、ワークフロープラットフォーム105からのジョブ実行要求(ステップS804)に応じて、画像形成装置102にジョブを実行させる処理の一例である。
【0096】
ステップS810において、印刷ジョブを受信した画像形成装置102は、受信した印刷ジョブに従い、プリンタ部201によって印刷を実行する。
【0097】
ステップS811において、画像形成装置102は、印刷ジョブ実行結果を中継サーバ104に送信する。ここで印刷ジョブ実行結果には、印刷成功、印刷エラー、及び印刷キャンセルなどが含まれる。
【0098】
ステップS812において、印刷ジョブ実行結果を受信した中継サーバ104は、受信した印刷ジョブ実行結果をデータベース311に保存する。
【0099】
ステップS813において、中継サーバ104は、ステップS804でワークフロープラットフォーム105から受信した印刷ジョブ情報に含まれるCallbackURL905に対して、ジョブ実行結果を通知する。ステップS813の処理は、ジョブの実行結果をワークフロープラットフォーム105に通知する通知手段の一例である。
【0100】
ステップS814において、ジョブ実行結果を受け取ったワークフロープラットフォーム105は、ワークフローステータスを更新する。
【0101】
以上より、ワークフロープラットフォーム105から画像形成装置102に対して印刷を実行させることができる。
【0102】
次に、ワークフロー705を実行する場合の処理について
図12及び
図13を参照しながら説明する。
図12及び
図13は、ワークフロースキャン処理を示すシーケンス図である。
【0103】
ステップS1001において、クライアント装置101は、ワークフロー705に対するワークフロー実行ボタン703が押されたことを受け、ワークフロー705についてのワークフロー実行要求をワークフロープラットフォーム105に送信する。
【0104】
ステップS1002において、ワークフロープラットフォーム105は、中継サーバ104に対してスキャンジョブ情報を含むスキャンジョブ実行要求を送信する。スキャンジョブ情報の一例を
図14に示す。
図14は、ワークフロースキャンのスキャンジョブ情報の一例を示す図である。
【0105】
なお、
図14では、スキャンジョブ情報をJSON形式で示しているが、スキャンジョブ情報のデータ形式はJSON以外の形式であっても構わない。
図14のスキャンジョブ情報は、ワークフロー実行ID1101、ジョブ種類1102、ジョブ設定1103、及びCallbackURL1104を含む。
【0106】
ワークフロー実行ID1101は、ワークフローの実行毎に異なるユニークなIDである。ワークフロー実行ID1101を用いれば、ワークフロープラットフォーム105が管理するワークフロー実行ステータスと印刷/スキャンシステム100が管理するジョブ情報を紐づけることが可能となる。
【0107】
ジョブの種類1102は、印刷ジョブ、スキャンジョブ、コピージョブ、メンテナンスジョブなどのジョブの種類と、そのジョブを即座に実行するか又はジョブを留め置くかを示す情報を含む。
【0108】
ジョブ設定1103には、スキャンモード、スキャンサイズ、スキャン品質、及びスキャン方向など、スキャンの実行に係る設定値が含まれる。
【0109】
CallbackURL1104は、スキャンジョブの実行結果やスキャンデータをワークフロープラットフォーム105に送信するために使用される。なお、CallbackURL1104を用いなくても、スキャンジョブの実行結果をワークフロープラットフォーム105に送信できれば良い。例えば、ワークフロー実行ID1101とともにスキャンジョブの実行結果とスキャンデータをワークフロープラットフォーム105に送信することでも実現可能であり、その場合CallbackURL1104は不要となる。また、ワークフロープラットフォーム105に送信するスキャンデータは、スキャンデータを取得可能なURLであっても良い。
【0110】
図12の説明に戻り、ステップS1003において、スキャンジョブ実行要求を受け取った中継サーバ104は、受信したジョブ情報のチェックを行う。
【0111】
ステップS1004において、中継サーバ104は、前述のジョブ情報のチェックの結果、ジョブ実行要求が正しい場合はジョブ情報をデータベース311に保存する。そしてS1005において、中継サーバ104は、スキャンジョブの受付成功をワークフロープラットフォーム105に送信する。なお、ジョブ実行要求に誤りがある場合は、ステップS1006において、中継サーバ104は、ジョブ受付失敗をワークフロープラットフォーム105に送信して、処理を終了する。
【0112】
次に、スキャンジョブ情報のジョブの種類1102がジョブを即座に実行するジョブだった場合には、
図13のステップS1007からステップS1015の流れでスキャンが即座に実行される。
【0113】
図13のステップS1007において、中継サーバ104は、画像形成装置102にスキャンジョブを送信する。ステップS1007の処理は、画像形成装置102に対してジョブを実行させるジョブ発行手段の一例である。ステップS1007の処理は、ワークフロープラットフォーム105からのジョブ実行要求(ステップS1002)に応じて、画像形成装置102にジョブを実行させる処理の一例である。
【0114】
ステップS1008において、スキャンジョブを受信した画像形成装置102は、受信したスキャンジョブに従い、スキャナ部202によってスキャンを実行する。
【0115】
ステップS1009において、画像形成装置102は、スキャンジョブ実行結果を中継サーバ104に送信する。ここでスキャンジョブ実行結果には、スキャン成功、スキャンエラー、及びスキャンキャンセルなどのステータスとスキャンデータが含まれる。
【0116】
ステップS1010において、スキャンジョブ実行結果を受け取った中継サーバ104は、受信したスキャンジョブ実行結果をデータベース311に保存する。
【0117】
ステップS1011において、中継サーバ104は、ステップS1002でワークフロープラットフォーム105から受信したスキャンジョブ情報に含まれるCallbackURL1104に対して、ジョブ実行結果を通知する。このジョブ実行結果には、スキャン結果を示すステータスやスキャンデータが含まれる。ステップS1011の処理は、ジョブの実行結果をワークフロープラットフォーム105に通知する通知手段の一例である。
【0118】
ステップS1012において、ジョブ実行結果を受け取ったワークフロープラットフォーム105は、ワークフローステータスを更新する。
【0119】
ステップS1013において、ワークフロープラットフォーム105はクラウドサービス106にスキャンデータが含まれるスキャンファイルを送信し、クラウドサービス106は受信したスキャンファイルを保存する。
【0120】
ステップS1014において、ワークフロープラットフォーム105は、クラウドサービス106からレスポンスとしてスキャンファイルの保存結果を受け取る。
【0121】
ステップS1015において、ワークフロープラットフォーム105は、ワークフローステータスを更新する。
【0122】
以上より、ワークフロープラットフォーム105から画像形成装置102に対してスキャンを実行させ、スキャンした画像データをワークフロープラットフォーム105に送信することができる。
【0123】
図15は、ジョブ情報のデータ構造の一例を示す図である。
図15は、印刷/スキャンシステム100で管理するジョブ情報の一例であり、印刷/スキャンシステム100で管理する第1のアカウント毎のジョブのリストである。
図15に一例を示すジョブ情報は、中継サーバ104のデータベース311に保存されている。
【0124】
本実施形態におけるジョブ情報は、ジョブを受け付けたときに作成され、ジョブの処理が進むとジョブ情報のステータスが更新される。ジョブ情報は、ジョブID1201、ジョブ名1202、ジョブステータス1203、ワークフロー実行ID1204、CallbackURL1205、及びジョブ設定1206を含む。
【0125】
ジョブID1201は、ジョブを一意に特定するためのユニークなIDであり、ジョブを受け付けたときに生成される。ジョブ名1202には、任意の名前を付けることができる。ジョブステータス1203は、ジョブの処理の進行度を示しており、ジョブの処理が進むと中継サーバ104はジョブステータスを更新する。CallbackURL1205は、ジョブの実行結果をワークフロープラットフォーム105に送信するときのURLである。ジョブ設定1206は、ジョブの振る舞いを示す設定情報である。
【0126】
図16は、ワークフロー情報のデータ構造の一例を示す図である。
図16は、ワークフロープラットフォーム105で管理するワークフロー情報の一例であり、ワークフロープラットフォーム105で管理する第2のアカウント毎に実行中のワークフローを示している。
図16に一例を示すワークフロー情報は、ワークフロープラットフォーム105のデータベース311に保存されている。
【0127】
本実施形態におけるワークフロー情報は、ワークフローを実行されたときに作成され、処理が進むとワークフロープラットフォーム105がステータスを更新する。ワークフロー情報は、ワークフロー実行ID1301及びワークフローステータス1302を含む。
【0128】
ワークフロー実行ID1301は、ワークフローが実行されるときに生成されるIDであり、ワークフローの実行毎に異なるユニークなIDとなっている。ワークフローステータス1302は、ワークフローの処理の進行度を示している。また、ワークフローステータス1302は、ワークフロープラットフォーム105と連携する印刷/スキャンシステム100で管理されるジョブステータス1203のような詳細なステータスは含まない。
【0129】
図17は、ワークフローステータス一覧画面の一例を示す図である。
図17のワークフローステータス一覧画面1400は、印刷/スキャンシステム100の中継サーバ104が提供するワークフローステータス一覧画面である。ワークフローステータス一覧画面1400には、印刷/スキャンシステム100にログインしている第1のアカウントに紐づく、ワークフロープラットフォーム105の第2のアカウントで実行中のワークフローが一覧表示されている。
【0130】
本実施形態におけるワークフローステータス一覧画面は、クライアント装置101が搭載しているWebブラウザや、画像形成装置102が搭載しているWebブラウザに表示させている。しかし本発明はこれに限られず、ワークフローステータス一覧画面は、その他のGUI上に表示させても良いし、チャットサービス107を用いて対話的にワークフローステータス一覧を表示しても良い。ワークフローステータス一覧画面1400には、ワークフロー実行ID1401、実行日時1402、ステータス1403、及びアクションボタン1404が含まれる。
【0131】
ワークフロー実行ID1401は、ワークフローが実行されるときに生成されるIDであり、ワークフローの実行毎に異なるユニークなIDとなっている。実行日時1402は、ワークフローの実行日時である。
【0132】
ステータス1403は、ワークフローステータス1302とジョブステータス1203を1つに集約したステータスであり、ワークフロープラットフォーム105だけでは管理できない詳細なジョブステータスも表示される。ワークフロープラットフォーム105が管理するワークフロー情報と、印刷/スキャンシステム100が管理するジョブ情報とは、ワークフロー実行ID1301とワークフロー実行ID1204をキーにして紐づけることができる。これにより、各ワークフローについて、ワークフローステータス1302とジョブステータス1203の内容を集約した詳細なステータスを取得することができ、ステータス1403には、この詳細なステータスが表示される。
【0133】
アクション1404は、ワークフローに対して作用する振る舞いを示している。アクション1404に表示されたアクションボタンが押されたことが検出されるとアクションが実行される。
【0134】
アクション1404には、ステータス1403を条件として実行可能なアクションが決定され表示される。
図17では、例として、印刷実行ボタン1405とスキャン実行ボタン1406を示す。印刷実行ボタン1405は、ステータス1403が印刷待ちの場合に実行可能なアクションに対するボタンである。印刷実行ボタン1405が押下されることにより、印刷/スキャンシステム100に留め置かれていた印刷ジョブが実行される。また、スキャン実行ボタン1406は、ステータス1403がスキャン待ちの場合に実行可能なアクションに対するボタンである。スキャン実行ボタン1406が押下されることにより、印刷/スキャンシステム100に留め置かれていたスキャンジョブが実行される。
【0135】
なお、ワークフローステータス一覧画面1400を表示している機器に応じて、アクションを実行可能かどうかの判定を行っても良い。例えば、画像形成装置102に搭載されているWebブラウザにワークフローステータス一覧画面1400を表示しているときのみアクションの実行を許可しても良い。これにより、留め置かれている印刷ジョブを実行する場合、画像形成装置102の近くにログインユーザがいることを保証でき、画像形成装置102から出力された印刷物が長時間放置されてしまうことによる情報漏洩のリスクを低減することができる。
【0136】
図18は、ワークフローステータス一覧画面のステータス、及びワークフローアクションボタンの表示条件を示すフローチャートである。
図18は、中継サーバ104においてワークフローステータス一覧を応答する際の条件を示すフローチャートである。中継サーバ104がクライアント装置101からワークフローステータス一覧の取得要求を受け付けたきに
図18のフローチャートの処理が開始される。
【0137】
ステップ51において、中継サーバ104は、ワークフローステータス一覧の取得要求を受け付けると、ワークフロープラットフォーム105から実行中のワークフローを取得する。ステップS1501の処理は、情報処理装置102にログインしたユーザに関する実行中のワークフローのワークフローステータスをワークフロープラットフォームから取得するワークフローステータス取得手段の一例である。
【0138】
ステップS1502において、中継サーバ104は、取得した実行中のワークフローのうち、ワークフロー印刷/ワークフロースキャンに関するコネクタ108が存在するワークフローを抽出する。
【0139】
ステップS1503において、中継サーバ104は、コネクタ108が実行中であるかを判定する。中継サーバ104が、コネクタ108が実行中であると判定した場合、ステップS1504の処理が実行される。中継サーバ104が、コネクタ108が実行中ではないと判定した場合、ステップS1506の処理が実行される。
【0140】
ステップS1504において、中継サーバ104は、中継サーバ104が管理しているジョブ情報から、ワークフロー実行ID1204をキーにジョブDB408からジョブステータス1203を取得する。ステップS1504の処理は、実行中のワークフローに関するジョブステータスを取得するジョブステータス取得手段の一例である。
【0141】
ステップS1505において、中継サーバ104は、ワークフローステータス一覧画面1400のステータス1403として、ステップS1504で取得したジョブステータス1203を表示するように応答内容を設定する。
【0142】
ステップS1506において、中継サーバ104は、ワークフローステータス一覧画面1400のステータス1403として、ワークフローステータス1302を表示するように応答内容を設定する。
【0143】
ステップS1507において、中継サーバ104は、アクションの実行可否を判定しアクションの内容を決定する。ステップS1507の処理は、ワークフローステータスとジョブステータスからアクションの実行可否を判定するアクション判定手段の一例である。中継サーバ104が、アクションを実行可能と判定した場合、ステップS1508の処理が実行される。中継サーバ104が、アクションを実行可能ではないと判定した場合、ステップS1509の処理が実行される。
【0144】
アクションの実行可否、及びアクションの内容は、ワークフローステータス1302とジョブステータス1203から得られるステータス1403から決定する。なお、アクションの実行可否は、現在のステータス1403だけではなく、中継サーバ104にアクセスしている端末など、1つ以上の様々な条件で判定しても良い。
【0145】
ステップS1508において、中継サーバ104は、ワークフローステータス一覧画面1400のアクション1404にアクションボタンを表示するように応答内容を設定する。ここで、アクションボタンは1つであっても良いし、アクションの実行可否の判定の結果、複数のアクションボタンを表示しても良い。なお、中継サーバ104は、チャットサービス107からの実行可能なアクション取得要求を受け付けて、実行可能なアクションを応答しても良い。
【0146】
ステップS1509において、中継サーバ104は、ワークフローステータス一覧画面1400のアクション1404にアクションボタンを表示しないように応答内容を設定する。なお、アクションを実行できないと判定した場合にアクションを実行できなければ良く、例えば、アクションボタンを押下できない状態で表示しても良い。
【0147】
ステップS1510において、中継サーバ104は、クライアント装置101に応答を送信し、処理を終了する。ステップS1508、ステップS1509及びステップS1510の処理は、アクション判定手段の判定結果に応じて、クライアント装置101にアクションを実行可能なUI(アクション1404)を表示させる表示制御手段の一例である。UIは、User Interfaceの略称である。
【0148】
次に、アクションを実行したときの処理の流れについて、
図19を用いて説明する。
図19は、ワークフローアクション実行時の処理を示すシーケンス図である。
【0149】
ステップS1601において、クライアント装置101は、中継サーバ104に対して、アクションの実行要求を送信する。なお、チャットサービス107からのアクション実行要求を受けつける構成であっても良い。ステップS1602において、中継サーバ104は、ジョブステータス1203を確認する。
【0150】
ステップS1603において、中継サーバ104は、ジョブ投入可能な場合には画像形成装置102に対してジョブを送信する。ステップS1603の処理は、画像形成装置102に対してジョブを実行させるジョブ発行手段の一例である。ステップS1603の処理は、アクションの実行要求(S1601)を受け付けて、画像形成装置102にジョブを実行させる。ステップS1604において、中継サーバ104は、クライアント装置101にジョブ投入成功を応答する。
【0151】
ステップS1605において、ジョブを受け付けた画像形成装置102は、受け付けたジョブを実行する。ステップS1606において、画像形成装置102は、ジョブの実行結果を中継サーバ104に通知する。
【0152】
ステップS1607において、ジョブの実行結果を受け取った中継サーバ104は、ジョブの実行結果を保存する。ステップS1608において、中継サーバ104は、ワークフロープラットフォーム105に対してジョブの実行結果を通知する。ステップS1609において、ジョブの実行結果を受け取ったワークフロープラットフォーム105は、ワークフローステータスを更新する。
【0153】
以上より、アクションボタン押下により留め置いていたジョブの実行を実現できる。
【0154】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0155】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【0156】
本実施形態の開示は、以下の構成および方法を含む。
(構成1)
情報処理装置であって、
画像形成装置に対してジョブを実行させるジョブ発行手段と、
前記情報処理装置にログインしたユーザに関する実行中のワークフローのワークフローステータスを外部のワークフロープラットフォームから取得するワークフローステータス取得手段と、
実行中のワークフローに関するジョブステータスを取得するジョブステータス取得手段と、
前記ワークフローステータスと前記ジョブステータスからアクションの実行可否を判定するアクション判定手段と、
を有することを特徴とする情報処理装置。
(構成2)
前記ジョブ発行手段は、前記ワークフロープラットフォームからのジョブ実行要求に応じて、前記画像形成装置にジョブを実行させることを特徴とする構成1に記載の情報処理装置。
(構成3)
前記アクション判定手段の判定結果に応じて、クライアント装置にアクションを実行可能なUIを表示させる表示制御手段を有すること特徴とする構成1又は構成2に記載の情報処理装置。
(構成4)
ジョブの実行結果を前記ワークフロープラットフォームに通知する通知手段を有することを特徴する構成1から構成3のいずれか一つに記載の情報処理装置。
(構成5)
前記ワークフローステータスと前記ジョブステータスから決定されるステータスをクライアント装置に表示させる表示制御手段を有することを特徴とする構成1から構成4のいずれか一つに記載の情報処理装置。
(構成6)
前記ジョブ発行手段は、前記アクションの実行要求を受け付けて、前記画像形成装置にジョブを実行させることを特徴とする構成3に記載の情報処理装置。
(構成7)
前記表示制御手段は、チャットサービスからの要求を受け付けて、ワークフロー一覧を応答して前記チャットサービスに表示させることを特徴とする構成5に記載の情報処理装置。
(構成8)
前記ジョブ発行手段は、チャットサービスからの前記アクションの実行要求を受け付けて、前記画像形成装置にジョブを実行させることを特徴とする構成6に記載の情報処理装置。
(方法1)
情報処理装置の制御方法であって、
画像形成装置に対してジョブを実行させるジョブ発行工程と、
前記情報処理装置にログインしたユーザに関する実行中のワークフローのワークフローステータスを外部のワークフロープラットフォームから取得するワークフローステータス取得工程と、
実行中のワークフローに関するジョブステータスを取得するジョブステータス取得工程と、
前記ワークフローステータスと前記ジョブステータスからアクションの実行可否を判定するアクション判定手段と、
を有することを特徴とする制御方法。
(プログラム1)
コンピュータで実行されるプログラムであって、
前記コンピュータを
画像形成装置に対してジョブを実行させるジョブ発行手段、
前記情報処理装置にログインしたユーザに関する実行中のワークフローのワークフローステータスを外部のワークフロープラットフォームから取得するワークフローステータス取得手段、
実行中のワークフローに関するジョブステータスを取得するジョブステータス取得手段、及び
前記ワークフローステータスと前記ジョブステータスからアクションの実行可否を判定するアクション判定手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【0157】
100 印刷/スキャンシステム
101 クライアント装置
102 画像形成装置
103 ネットワーク
104 中継サーバ
105 ワークフロープラットフォーム
106 クラウドサービス
107 チャットサービス