(57)【要約】【課題】サーバーのＷｅｂアプリケーションを介したジョブ実行においても、画像形成装置上の履歴によるジョブ再実行と連携させる。【解決手段】画像処理装置は、Ｗｅｂブラウザー機能として、サーバーに対してジョブの要求を送信した際に、当該要求の内容を記憶する手段と、前記サーバーを介して前記ジョブの実行要求を受け付けたことを示す通知を前記ジョブ処理機能から受信する手段と、前記通知を受信した場合、前記記憶された前記ジョブの要求の内容を用いて、前記ジョブの再実行を要求する際に利用する履歴情報の生成を前記ジョブ処理機能に要求する手段と、を有し、ジョブ処理機能として、前記サーバーを介して前記ジョブの実行要求を受け付ける手段と、前記ジョブの実行要求を受け付けた際に、前記通知を前記Ｗｅｂブラウザー機能に通知する手段と、前記Ｗｅｂブラウザー機能からの要求に応じて、当該要求にて示される内容を用いて前記履歴情報を生成する手段とを有する。【選択図】  図３
2019057796.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂブラウザー機能とジョブ処理機能とを備える画像処理装置であって、
前記Ｗｅｂブラウザー機能として、
ネットワーク上のサーバーに対してジョブの要求を送信した際に、当該要求の内容を記憶する記憶手段と、
前記サーバーを介して前記ジョブの実行要求を受け付けたことを示す通知を前記ジョブ処理機能から受信する手段と、
前記通知を受信した場合、前記記憶手段にて記憶された前記ジョブの要求の内容を用いて、前記ジョブの再実行を要求する際に利用する履歴情報の生成を前記ジョブ処理機能に要求する要求手段と、を有し、
前記ジョブ処理機能として、
前記サーバーを介して前記ジョブの実行要求を受け付ける手段と、
前記ジョブの実行要求を受け付けた際に、前記通知を前記Ｗｅｂブラウザー機能に通知する通知手段と、
前記要求手段からの要求に応じて、当該要求にて示される内容を用いて前記履歴情報を生成する生成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記ジョブ処理機能として、前記履歴情報を選択可能に表示する表示手段を更に有し、
前記Ｗｅｂブラウザー機能は、前記履歴情報が選択されたことに応じて、当該履歴情報に基づいてジョブの再実行を前記サーバーに要求することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記記憶手段は、前記要求の内容として、当該要求の送信元であるアプリケーションの識別情報、前記要求の送信先の情報、及び、前記ジョブの設定情報を記憶することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記記憶手段は、前記要求の内容として、前記Ｗｅｂブラウザー機能が前記ジョブの要求を送信した際に保持しているＣｏｏｋｉｅの情報を更に記憶し、
前記要求手段は、前記履歴情報の生成を要求する際に、前記Ｃｏｏｋｉｅの情報を含めて前記ジョブ処理機能に要求することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記記憶手段は、前記サーバーに対して前記ジョブの要求を送信する前に行った所定の要求の内容を更に記憶し、
前記要求手段は、前記履歴情報の生成を要求する際に、前記所定の要求の内容を併せて前記ジョブ処理機能に要求することを特徴とする請求項１乃至４のいずれか一項に記載の画像処理装置。
【請求項６】
前記所定の要求は、前記ジョブに対する設定を行うための設定画面の要求であることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記Ｗｅｂブラウザー機能は、前記履歴情報が選択されたことに応じて、当該履歴情報に基づいてジョブの再実行を前記サーバーに要求した際に、前記サーバーから所定の応答を受け付けた場合、前記ジョブ処理機能に対し当該履歴情報を削除することを要求することを特徴とする請求項１乃至６のいずれか一項に記載の画像処理装置。
【請求項８】
前記所定の応答は、ユーザー認証が必要であることを示す応答であることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
Ｗｅｂブラウザー機能とジョブ処理機能とを備える画像処理装置の制御方法であって、
前記Ｗｅｂブラウザー機能により、ネットワーク上のサーバーに対してジョブの要求を送信した際に、当該要求の内容を記憶する工程と、
前記ジョブ処理機能により、前記サーバーを介して前記ジョブの実行要求を受け付ける工程と、
前記ジョブ処理機能により、前記ジョブの実行要求を受け付けた際に、当該実行要求を受け付けたことを示す通知を前記Ｗｅｂブラウザー機能に通知する工程と、
前記Ｗｅｂブラウザー機能により、前記通知を受信した場合、記憶された前記ジョブの要求の内容を用いて、当該ジョブの再実行を要求する際に利用する履歴情報の生成を前記ジョブ処理機能に要求する工程と、
前記ジョブ処理機能により、前記Ｗｅｂブラウザー機能からの要求に応じて、当該要求にて示される内容を用いて前記履歴情報を生成する工程と、
を有することを特徴とする画像処理装置の制御方法。
【請求項１０】
Ｗｅｂブラウザー機能とジョブ処理機能とを備えるコンピュータに、
前記Ｗｅｂブラウザー機能として、
ネットワーク上のサーバーに対してジョブの要求を送信した際に、当該要求の内容を記憶する記憶手段、
前記サーバーを介して前記ジョブの実行要求を受け付けたことを示す通知を前記ジョブ処理機能から受信する手段、
前記通知を受信した場合、前記記憶手段にて記憶された前記ジョブの要求の内容を用いて、前記ジョブの再実行を要求する際に利用する履歴情報の生成を前記ジョブ処理機能に要求する要求手段、を機能させ、
前記ジョブ処理機能として、
前記サーバーを介して前記ジョブの実行要求を受け付ける手段、
前記ジョブの実行要求を受け付けた際に、前記通知を前記Ｗｅｂブラウザー機能に通知する通知手段、
前記要求手段からの要求に応じて、当該要求にて示される内容を用いて前記履歴情報を生成する生成手段、を機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置およびその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、スキャナやプリンタを備えたＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）と呼ばれる画像処理装置の中に、Ｗｅｂブラウザーを備えているものがある。ＭＦＰが備える各機能を利用するための指示を入力する操作画面をＷｅｂサーバーが提供し、Ｗｅｂブラウザー上に表示された操作画面を介して、ＭＦＰに対する指示をユーザーが入力するシステムも考えられている。このシステムでは、Ｗｅｂサーバーは、ユーザーから入力された指示の内容に従って、ＭＦＰに対して各種処理の実行を依頼する。
【０００３】
ＭＦＰには、スキャン、プリント、送信などの様々な機能（以降これらの機能の実行指示やパラメータを表すものをジョブと呼称する）が存在し、それらを実行した場合に履歴としてその処理内容や結果の情報を保存することが知られている。そのようなＭＦＰの中には、ユーザーが履歴を選択することで、履歴の内容に従って、ジョブを再実行するものが存在する。例えば、特許文献１では、履歴を実行可能な形で保存する方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４８４９６３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、前述のようなジョブの履歴機能は、ジョブが投入された経緯について把握することができない。特にＷｅｂアプリケーションによってＭＦＰを制御するシステムの場合、様々なロジックやＵＩ（ユーザーインターフェース）がＷｅｂアプリケーション側に存在するため、履歴からジョブの実行の指示を行うと、Ｗｅｂアプリケーション側の処理が実行されない。その結果、処理の整合性がとれなくなる場合がある。例えば、Ｗｅｂアプリケーション側でジョブの実行をカウントして、利用履歴を提供している場合、Ｗｅｂアプリケーションを介さない履歴によるジョブ再実行では、Ｗｅｂアプリケーションによってジョブの実行をカウントすることができない。このため、実際のジョブ実行数とＷｅｂアプリケーション上のジョブ実行数のカウントに齟齬が生じる。
【０００６】
このように、Ｗｅｂアプリケーションを介したジョブ実行では、画像形成装置上の履歴によるジョブ再実行と連携することができないという課題がある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明は以下の構成を有する。すなわち、Ｗｅｂブラウザー機能とジョブ処理機能とを備える画像処理装置であって、前記Ｗｅｂブラウザー機能として、ネットワーク上のサーバーに対してジョブの要求を送信した際に、当該要求の内容を記憶する記憶手段と、前記サーバーを介して前記ジョブの実行要求を受け付けたことを示す通知を前記ジョブ処理機能から受信する手段と、前記通知を受信した場合、前記記憶手段にて記憶された前記ジョブの要求の内容を用いて、前記ジョブの再実行を要求する際に利用する履歴情報の生成を前記ジョブ処理機能に要求する要求手段と、を有し、前記ジョブ処理機能として、前記サーバーを介して前記ジョブの実行要求を受け付ける手段と、前記ジョブの実行要求を受け付けた際に、前記通知を前記Ｗｅｂブラウザー機能に通知する通知手段と、前記要求手段からの要求に応じて、当該要求にて示される内容を用いて前記履歴情報を生成する生成手段と、を有する。
【発明の効果】
【０００８】
本発明により、Ｗｅｂアプリケーションを介したジョブ実行においても、画像形成装置上の履歴によるジョブ再実行と連携することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係るシステムの全体構成の例を示す図。
【図２】本発明の実施形態に係るＭＦＰのハードウェア構成の例を示す図。
【図３】本発明の実施形態に係るＭＦＰのソフトウェア構成の例を示す図。
【図４】本発明の実施形態に係る履歴登録のシーケンスを示す図。
【図５】本発明の実施形態に係る履歴によるジョブの再現実行のシーケンスを示す図。
【図６】本発明の実施形態に係るジョブ受付部による処理のフローチャート。
【図７】本発明の実施形態に係る履歴ボタンを含むトップメニューの構成例を示す図。
【図８】本発明の実施形態に係る履歴データの例を示す図。
【図９】本発明を適用しない場合の履歴登録／再現実行のシーケンスを示す図。
【図１０】本発明の実施形態に係るジョブ投入アプリを利用する際の履歴登録／再現実行のシーケンスを示す図。
【図１１】本発明の実施形態に係るＷｅｂブラウザーの履歴再実行時の処理のフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１１】
［システム構成］
図１は、本発明に係る画像処理装置を含むシステムの構成例を示す。本システムは、画像処理装置であるＭＦＰ１０１と、サーバー１０２とを含んで構成され、これらはネットワーク１００を介して接続される。ネットワーク１００は、各装置間で通信を行うための基盤であって、例えば、インターネットに接続されていてもよいし、ローカルネットワークを含んでいてもよい。ＭＦＰ１０１は、Ｗｅｂブラウザー機能を有すればよく、ＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ Ｐｅｒｉｐｈｅｒａｌ）に限定されるものではない。サーバー１０２は、Ｗｅｂコンテンツを、ネットワーク１００を介して配信する機能を備え、ＭＦＰ１０１からのリクエストに応じてＷｅｂコンテンツを提供する。また、サーバー１０２は、ＭＦＰ１０１の一機能としてＭＦＰ１０１の中に存在してもよい。
【００１２】
図２は、本実施形態に係るＭＦＰ１０１、サーバー１０２のハードウェア構成の一例を示す図である。なお、ここでは、ＭＦＰ１０１と、情報処理装置としてのサーバー１０２を同じ構成として説明するが、異なる構成であってもよい。各装置は、装置全体を制御するＣＰＵ２０１、ＣＰＵ２０１のワークエリアを提供するＲＡＭ２０２、本発明のプログラムや様々な設定を記憶する記憶装置２０３（ＨＤＤやＮＶＲＡＭ等でもよい）を含んで構成される。さらに、各装置は、ユーザーがコマンドの入力を行うユーザー入力装置２０４、画面表示を行うＵＩ表示装置２０５、他機器とネットワーク１００を介した通信を行うネットワーク装置２０６を含んで構成される。また、各構成要素は、メインバス２００により通信可能に接続される。
【００１３】
尚、本実施形態では、特に断らない限り、ＭＦＰ１０１、及びサーバー１０２は、ＣＰＵ２０１が、メインバス２００を介してＲＡＭ２０２、記憶装置２０３、ユーザー入力装置２０４、ＵＩ表示装置２０５、及びネットワーク装置２０６を制御する。また、タッチパネルディスプレイのように、ＵＩ表示装置２０５がユーザー入力装置２０４を兼ねてもよい。なお、サーバー１０２は、ユーザー入力装置２０４とＵＩ表示装置２０５を有していなくてもよい。また、不図示であるが、ＭＦＰ１０１は、実装する機能に応じて、画像読取装置や印刷装置がメインバス２００に接続されていてもよい。
【００１４】
図３は、本実施形態に係るＭＦＰ１０１のソフトウェア構成の一例を示す図である。図３に示す各機能部は、ＭＦＰ１０１が有しているＣＰＵ２０１が制御プログラムを記憶装置２０３等から読み出して実行することにより実現される。ＭＦＰ１０１は、Ｗｅｂブラウザー３０１、ジョブ制御部３０２、履歴ボタン管理部３０３、ジョブ投入アプリ３０４、及びジョブ受付部３０５を有する。
【００１５】
Ｗｅｂブラウザー３０１は、任意のサーバーと通信を行うことによってＷｅｂコンテンツを取得し、画面に表示するといったＷｅｂブラウザー機能を有する。また、Ｗｅｂブラウザー３０１は、サーバー１０２に対してＨＴＴＰ ＰＯＳＴリクエストを送信する際に、リクエストの内容を一時的に保存しておく。そして、ジョブ受付部３０５からジョブ実行通知を受け付けると、Ｗｅｂブラウザー３０１は、保存したリクエスト内容を元に、履歴ボタン管理部３０３に対して、履歴ボタン生成の依頼を行う。履歴ボタンについては図７を用いて後述する。依頼の実行後、Ｗｅｂブラウザー３０１は、保存していたリクエスト内容は削除する。また、保存していたリクエストが削除される前であっても、次のリクエストが発生した場合は、Ｗｅｂブラウザー３０１は、上書くことによって削除するようにしてもよい。なお、リクエストを保存するのは、ＨＴＴＰ ＰＯＳＴリクエストに限定するものではない。たとえば、ＧＥＴ、ＰＵＴなどの各種ＨＴＴＰリクエストのメソッドそれぞれについて、その内容が保存されていてもよい。
【００１６】
ジョブ制御部３０２は、ＭＦＰ１０１内のアプリケーションであるジョブ投入アプリ３０４や、ジョブ受付部３０５から依頼されてジョブを実行する。また、ジョブ制御部３０２は、依頼されたジョブをキューに積み、順番に処理する仕組みを有している。
【００１７】
履歴ボタン管理部３０３は、ＭＦＰ１０１内のアプリケーションから要求を受けたことに応じて、履歴データを元に、履歴ボタンを生成する。履歴データについては図８を用いて後述する。また、履歴ボタン管理部３０３は、生成した履歴ボタンをＭＦＰ１０１のトップメニューに表示する。トップメニューおよび履歴ボタンの表示例については、図７を用いて後述する。
【００１８】
ジョブ投入アプリ３０４は、スキャン、プリント、送信などの実行を指示するアプリケーションであり、また、ジョブ実行時のパラメータを元に、履歴ボタンの生成を指示するアプリケーションである。なお、ジョブ投入アプリ３０４は機能ごとに複数に分かれていてもよい。ジョブ投入アプリ３０４は、ＭＦＰ１０１内で実行されるアプリケーションであり、ネットワーク上のサーバー１０２により実行されるＷｅｂアプリケーションではない。ジョブ投入アプリ３０４は、ユーザー操作に応じて、スキャン、プリント、送信などのジョブをジョブ制御部３０２に投入する。そして、ジョブ投入アプリ３０４は、ジョブ投入時に、ジョブの設定値などを元に履歴ボタン管理部３０３に対して、履歴ボタンの生成を依頼する。
【００１９】
ジョブ受付部３０５は、ネットワーク１００を介してサーバー１０２からジョブ実行指示を受け付けるモジュールである。本実施形態では、ジョブ実行指示の送信は、サーバー１０２からジョブ受付部３０５に対してＳＯＡＰメッセージをＨＴＴＰ ＰＯＳＴリクエストすることで実現するが、他の手段でもよい。ジョブ受付部３０５は、サーバー１０２からジョブ実行指示を受け付けると、ジョブ制御部３０２にジョブを投入する。そして、ジョブ受付部３０５は、ジョブが投入されたことをＷｅｂブラウザー３０１に通知する。
【００２０】
なお、ＭＦＰ１０１内部においてジョブ処理機能を司る構成として上記の構成を挙げたが、この他の部位を更に備えていてもよく、実装する画像処理機能に応じてそれぞれ異なるように構成されてもよい。
【００２１】
［処理シーケンス］
（ジョブ履歴登録）
図４は、本実施形態に係るＷｅｂアプリケーションからのジョブ実行指示に伴うジョブ履歴登録のシーケンスである。
【００２２】
Ｓ４０１にて、Ｗｅｂブラウザー３０１は、サーバー１０２に対して、Ｗｅｂアプリケーションの画面取得のためのＧＥＴリクエストを送信する。
【００２３】
Ｓ４０２にて、サーバー１０２は、Ｗｅｂブラウザー３０１に対して、レスポンスとしてジョブ実行パラメータの設定画面（スキャンやプリントの設定画面）のＨＴＭＬデータを送信する。Ｗｅｂブラウザー３０１は、受信したＨＴＭＬデータを解析し、Ｗｅｂコンテンツとして表示する。
【００２４】
Ｓ４０３にて、Ｗｅｂブラウザー３０１は、ユーザーがＷｅｂブラウザー３０１を操作したことに応じて、サーバー１０２に対して、ジョブ実行を要求するＨＴＴＰ ＰＯＳＴリクエストを送信する。
【００２５】
Ｓ４０４にて、Ｗｅｂブラウザー３０１は、Ｓ４０３で送信したリクエストの内容を保存する。本実施形態ではＲＡＭ２０２上に保存するが、リクエストの大きさなども鑑みて、ハードディスクなどの記憶装置２０３に保存してもよい。また、このとき、Ｓ４０３にて送信したリクエストの内容に限らず、その前のＳ４０１にて送信した画面取得要求（ＧＥＴリクエスト）の内容も併せて保存してよい。
【００２６】
Ｓ４０５にて、サーバー１０２は、Ｓ４０３で受け付けたリクエストの内容を元に、ジョブ実行指示を生成し、ジョブ受付部３０５に対して送信する。ジョブ実行指示は前述の通りＳＯＡＰメッセージとして生成されており、ＨＴＴＰ ＰＯＳＴリクエストで送信される。
【００２７】
Ｓ４０６にて、ジョブ受付部３０５は、Ｓ４０５で受け付けたジョブ実行指示を元に、ジョブ制御部３０２に対してジョブを投入する。
【００２８】
Ｓ４０７にて、ジョブ制御部３０２は、Ｓ４０６で受け付けたジョブを実行する。
【００２９】
Ｓ４０８にて、ジョブ受付部３０５は、Ｓ４０５のリクエストに対するレスポンスとして、ジョブ投入結果をサーバー１０２に送信する。本例ではＳ４０６でジョブを投入した直後に、ジョブ投入結果を送信しているがこれに限定するものではない。例えば、ジョブを監視してジョブが完了した際に、ジョブ実行結果を送信するようにしてもよい。
【００３０】
Ｓ４０９にて、サーバー１０２は、Ｓ４０８のジョブ投入結果を受けて、Ｓ４０３のリクエストに対するレスポンスとして、ジョブ投入結果画面をＷｅｂブラウザー３０１に返す。
【００３１】
Ｓ４１０にて、ジョブ受付部３０５は、ジョブが投入されたことをＷｅｂブラウザー３０１に通知する。また、Ｓ４０８と同様に、ジョブが完了したことを確認した後に、ジョブが実行されたことを通知してもよい。これは、履歴の生成要求を、ジョブを投入したタイミングか、実行したタイミングかのどちらにするかによって決まる。
【００３２】
Ｓ４１１にて、Ｗｅｂブラウザー３０１は、Ｓ４０４で保存していたリクエスト内容を元に、履歴ボタン管理部３０３に履歴ボタンの生成を依頼する。
【００３３】
Ｓ４１２にて、履歴ボタン管理部３０３は、Ｓ４１１で受けた依頼に従ってＷｅｂアプリ履歴ボタン７０４を生成し、トップメニューに表示する。トップメニュー及びＷｅｂアプリ履歴ボタン７０４については図７を用いて後述する。そして、本シーケンスを終了する。
【００３４】
（履歴ボタン押下に基づくジョブの再実行）
図５は、本実施形態に係るＷｅｂアプリ履歴ボタン７０４の押下によるジョブ実行のシーケンスである。
【００３５】
Ｓ５０１にて、ユーザーがＷｅｂアプリ履歴ボタン７０４を押下したことに応じて、履歴ボタン管理部３０３は、履歴ボタンの生成の要求元であるＷｅｂブラウザー３０１に対して、履歴データを通知する。このときの履歴データは、図４のＳ４０４で保存したＳ４０３のリクエスト内容を元に生成されたものである。
【００３６】
Ｓ５０２にて、Ｗｅｂブラウザー３０１は、Ｓ５０１で受信した履歴データに従って、ＨＴＴＰ ＰＯＳＴリクエストをサーバー１０２に送信する。これにより、図４のＳ４０３のジョブ実行のためのリクエストを再現することができる。なお、ジョブ実行のためのリクエストではなく、設定画面をリクエストしたい場合、図４のＳ４０１のリクエストの内容を保存しておき、それを元に履歴ボタンを生成するようにしてもよい。そして、Ｓ４０３のリクエストの内容の代わりに、図４のＳ４０１のリクエストの内容による設定画面の要求を実行できるようにしてもよい。なお、保存するリクエストの内容は、画面要求とジョブ実行要求のいずれか一方に限定するものでは無く、両方の内容を保存し、それぞれに対応する履歴ボタンを生成するように構成してもよい。
【００３７】
Ｓ５０３からＳ５１１は、図４のＳ４０４からＳ４１２と同じである。ただし、履歴ボタン生成に関わる処理であるＳ５０３、Ｓ５１０、Ｓ５１１では、履歴ボタンからＷｅｂブラウザー３０１が呼び出された際には実行しないようにしてもよい。そうすることによって、履歴ボタンからジョブを再実行した場合には、内容が同じである余分な履歴ボタンを生成しないように構成することができる。または、再実行である旨の情報を保持してもよい。
【００３８】
また、Ｓ５０２のリクエストに対して、ＨＴＴＰステータスコードが「２００」以外でレスポンスが返ってきた場合、その履歴ボタンが押下されても正常に動作しないと判定し、Ｓ５０１で押下された履歴ボタンを削除してもよい。ＨＴＴＰステータスコードはＨＴＴＰで通信した際にサーバーから返却される値であり、サーバーからのＨＴＴＰレスポンスがどんな内容を意味するのかを示すものである。通常はＨＴＴＰステータスコードとして「２００」が返却されることで、正常に通信が成功したことが確認される。そのため、例えば、ＨＴＴＰステータスコードが、リダイレクトが必要なことを意味する「３０２」で応答された場合は、履歴ボタンを削除するようにしてもよい。
【００３９】
（ステータスコードに応じた処理）
ＨＴＴＰステータスコードによって、Ｗｅｂアプリ履歴ボタン７０４を削除する場合のＷｅｂブラウザー３０１における詳細なフローを、図１１を用いて説明する。図５の処理に対応する部分については、その旨を示す。本処理は、ＭＦＰ１０１のＣＰＵ２０１が、Ｗｅｂブラウザー３０１に係るプログラムを読み出して実行することにより実現される。
【００４０】
Ｓ１１０１にて、Ｗｅｂブラウザー３０１は、ユーザーがＷｅｂアプリ履歴ボタン７０４を押下したことに伴う履歴ボタン管理部３０３から実行指示の通知を受け付ける。本処理は、図５のＳ５０１に対応する。
【００４１】
Ｓ１１０２にて、Ｗｅｂブラウザー３０１は、Ｓ１１０１で受け付けた通知に含まれる履歴データを元に、ＨＴＴＰリクエストをサーバー１０２に送信する。本処理は、図５のＳ５０２に対応する。
【００４２】
Ｓ１１０３にて、Ｗｅｂブラウザー３０１は、Ｓ１１０２のリクエストに対するレスポンスを受信する。
【００４３】
Ｓ１１０４にて、Ｗｅｂブラウザー３０１は、Ｓ１１０３で受信したＨＴＴＰレスポンスのＨＴＴＰステータスコードが「３０２」か否かを確認する。ＨＴＴＰステータスコードが「３０２」である場合（Ｓ１１０４にてＹＥＳ）Ｓ１１０５に進み、「３０２」でない場合（Ｓ１１０４にてＮＯ）Ｓ１１０６に進む。例えば、Ｗｅｂアプリケーションのログイン情報が含まれるＣｏｏｋｉｅの期限が切れていた場合、Ｗｅｂアプリケーションはログイン（ユーザー認証）を要求する。そのため、Ｗｅｂアプリケーションは、Ｗｅｂブラウザー３０１に対しＨＴＴＰステータスコードとして「３０２」を返し、ログインページ（不図示）にリダイレクトさせ、ユーザーの認証情報の入力を要求する。この場合、ユーザーはワンボタン（ここでは、履歴ボタンの押下）でジョブを再実行することはできず、ログインページ（不図示）におけるログイン操作が必要になる。そのため、ＨＴＴＰステータスコードとして「３０２」が返却された場合は、Ｗｅｂアプリ履歴ボタン７０４を削除することとなる。また、ここでの処理では、ＨＴＴＰステータスコードが「３０２」の場合に限定するものではなく、必要に応じて他の所定のステータスコードか否かを判定させてもよい。
【００４４】
Ｓ１１０５にて、Ｗｅｂブラウザー３０１は、履歴ボタン管理部３０３にＷｅｂアプリ履歴ボタン７０４の削除を依頼する。
【００４５】
Ｓ１１０６にて、Ｗｅｂブラウザー３０１は、Ｓ１１０３で受信したＨＴＴＰステータスコードに従って、リダイレクトによるリクエストを送信する。上記の例の場合、ログインページ（不図示）へのリダイレクトとなる。この後、Ｗｅｂアプリケーションをユーザーが操作することによって、Ｗｅｂアプリケーションに対して、ログインやジョブの実行要求が行われる。なお、このとき行われたジョブの実行要求に応じて、図５のＳ５０３に示したリクエストの保存処理が行われることとなる。
【００４６】
Ｓ１１０７にて、Ｗｅｂブラウザー３０１は、ジョブ受付部３０５からジョブ投入完了の通知を受け付ける。本処理は、図５のＳ５０９に対応する。
【００４７】
Ｓ１１０８にて、Ｗｅｂブラウザー３０１は、直前のリクエスト内容を元に、履歴ボタン管理部３０３に履歴ボタンの生成を依頼する。本処理は、図５のＳ５１０に対応する。そして、本処理フローを終了する。
【００４８】
（ジョブ受付部による処理）
図６は、本実施形態に係るジョブ受付部３０５の処理フローを示す図である。図４または図５の処理に対応する部分については、その旨を示す。本処理は、ＭＦＰ１０１のＣＰＵ２０１が、ジョブ受付部３０５に係るプログラムを読み出して実行することにより実現される。
【００４９】
Ｓ６０１にて、ジョブ受付部３０５は、サーバー１０２からの動作指示を受け付ける。本処理は、図４のＳ４０５もしくは図５のＳ５０４に対応する。
【００５０】
Ｓ６０２にて、ジョブ受付部３０５は、Ｓ６０１で受け付けた動作指示が、ジョブ実行指示か否かを判定する。動作指示には、例えば、ジョブ実行指示、ジョブ状態取得、ジョブキャンセルなどの種類がある。動作指示がジョブ実行指示である場合（Ｓ６０２にてＹＥＳ）Ｓ６０３に進み、そうでない場合（Ｓ６０２にてＮＯ）本処理フローを終了する。
【００５１】
Ｓ６０３にて、ジョブ受付部３０５は、ジョブ制御部３０２に対してジョブの投入を行う。本処理は、図４のＳ４０６もしくは図５のＳ５０５に対応する。
【００５２】
Ｓ６０４にて、ジョブ受付部３０５は、ジョブの投入が成功したか否かを判定する。ジョブの投入が成功した場合（Ｓ６０４にてＹＥＳ）Ｓ６０５に進み、失敗した場合（Ｓ６０４にてＮＯ）本処理フローを終了する。
【００５３】
Ｓ６０５にて、ジョブ受付部３０５は、Ｗｅｂブラウザー３０１にジョブ投入が行われたことを通知する。本処理は、図４のＳ４１０もしくは図５のＳ５０９に対応する。その後、本処理フローを終了する。
【００５４】
（画面構成例）
図７は、履歴ボタンを含むトップメニュー７００の画面構成の例を示す図である。トップメニュー７００には、各種アプリケーションのボタンが配置されている。ここでは、Ｗｅｂブラウザー３０１を起動するためのＷｅｂブラウザーボタン７０１や、特定のＵＲＬを初期ページとして開きつつＷｅｂブラウザー３０１を起動するためのＷｅｂアプリボタン７０３が配置されている。また、画面右部には、それまでに実行したジョブの履歴が、選択可能なボタンの形で履歴ボタン７０２やＷｅｂアプリ履歴ボタン７０４として表示されている。履歴ボタン７０２やＷｅｂアプリ履歴ボタン７０４には履歴を登録したアプリケーションから渡されたジョブのパラメータが表示されている。本例において、履歴を登録するアプリケーションとは、Ｗｅｂブラウザー３０１やジョブ投入アプリ３０４などが該当する。
【００５５】
履歴ボタン７０２は、ジョブ投入アプリ３０４の動作に起因して生成された履歴ボタンの例である。履歴ボタン７０２が押下されると、履歴ボタン管理部３０３を介して、履歴を登録したアプリケーションが呼び出され、ジョブを再現実行することが可能である。履歴ボタン７０２の生成や履歴ボタン７０２によるジョブ再実行のシーケンスは図１０を用いて後述する。
【００５６】
Ｗｅｂアプリ履歴ボタン７０４は、Ｗｅｂブラウザー３０１が起動された場合に、Ｗｅｂブラウザー３０１からの動作に起因して登録された履歴ボタンの例である。つまり、図４、図５のシーケンスにより、Ｗｅｂアプリ履歴ボタン７０４が生成されることとなる。ここの例において、Ｗｅｂアプリ履歴ボタン７０４には、リクエストを送信する宛先であるＵＲＬが表示されている。Ｗｅｂアプリ履歴ボタン７０４の生成やＷｅｂアプリ履歴ボタン７０４によるジョブ再実行のシーケンスは、図４、図５で説明した通りである。
【００５７】
なお、図７に示すトップメニュー７００の例では、２つの履歴ボタン７０２、および、１つのＷｅｂアプリ履歴ボタン７０４が表示されているがこれに限定するものでは無い。例えば、それぞれのボタンについて、直近の履歴に基づいて２以上を表示するようにしてもよいし、ユーザーが任意の数に変更できるように設定可能としてもよい。また、設定画面の要求に関する履歴情報と、その後に行ったジョブ実行の要求に関する履歴情報をそれぞれ生成していた場合、これらの情報を関連づけて保持する。そして、これらが関連しているようにトップメニュー７００にてＷｅｂアプリ履歴ボタンを表示するようにしてもよい。もしくは、いずれか一方の履歴情報に対応する履歴ボタンのみを表示しておき、トップメニュー７００上で何らかの操作が行われた際にもう一方の対応する履歴ボタンを表示するようにしてもよい。
【００５８】
（データ構成例）
図８（ａ）は、Ｗｅｂブラウザー３０１が、履歴ボタン管理部３０３に対して履歴ボタンの生成を依頼する際に渡す、履歴データの例を示す図である。
【００５９】
履歴データ８００には、アプリケーション識別子８０１、ＵＲＬ８０２、及びＰＯＳＴデータ８０３が含まれる。アプリケーション識別子は、要求の送信元であるアプリケーションを識別するための識別情報であり、アプリケーションの名前や、アプリケーションを特定するためのユニークなＩＤが指定される。例えば、アプリケーションとして、Ｗｅｂブラウザー３０１やジョブ投入アプリ３０４が該当する。ＵＲＬ８０２は、Ｗｅｂブラウザー３０１が図４のＳ４０４で保存したＳ４０３のＨＴＴＰリクエストの送信先であるＵＲＬ（Uniform Resource Locator）を示す。ＰＯＳＴデータ８０３は、Ｓ４０３で送信したＰＯＳＴデータにおけるジョブの設定情報などの内容を示す。
【００６０】
また、Ｗｅｂアプリケーションにアクセスする際にログインが必要な場合、図８（ａ）が示す履歴データの履歴ボタンを押下しても、ジョブは実行できない。この場合、再度のログイン処理、またはログイン情報を含むＣｏｏｋｉｅが必要となる。図８（ｂ）は、図８（ａ）の情報に加えて、Ｃｏｏｋｉｅも含めた履歴データを示す図である。ここでのＣｏｏｋｉｅは、図４のＳ４０４や図５のＳ５０３の処理において、Ｗｅｂブラウザー３０１がＷｅｂアプリケーション（サーバー１０２）にアクセスした際に保持しているＣｏｏｋｉｅを併せて保存することで取得することが可能である。
【００６１】
Ｃｏｏｋｉｅを含む履歴データ８１０には、図８（ａ）に示す情報に加え、ユーザー識別子８１１、およびＣｏｏｋｉｅ８１２が含まれる。Ｃｏｏｋｉｅは、個人データであるため、他のユーザーが利用できないようにユーザー名も履歴データに付加する。履歴ボタンが押下された際には、ＭＦＰ１０１に現在ログインしているユーザーと、履歴データに含まれるユーザー識別子が一致するか否かを確認し、一致した場合のみＣｏｏｋｉｅを参照するようにする。
【００６２】
多数のユーザーが利用する共用のＭＦＰでは、Ｃｏｏｋｉｅは容量上限を超えた場合には削除されるように構成されていたり、ユーザーが切り替わった場合にＣｏｏｋｉｅをクリアするように構成されていたりする。そのため、このように履歴ボタンに付随してＣｏｏｋｉｅを記憶させることで、ログイン処理を手動で行うことなく履歴からジョブを実行できる。
【００６３】
（本発明に係る構成を適用しない場合のジョブ履歴登録／再実行）
図９は、本発明に係る構成を適用しない場合のジョブ履歴登録／再実行のシーケンスを示す図である。図４および図５に示した本発明に係るシーケンスとの差異を明確にするために説明を行う。Ｓ９０１からＳ９０３は、図４のＳ４０１からＳ４０３と同じである。Ｓ９０４からＳ９０７は、図４のＳ４０５からＳ４０８と同じである。
【００６４】
Ｓ９０８にて、ジョブ制御部３０２は、履歴ボタン管理部３０３に履歴ボタンの生成を依頼する。
【００６５】
Ｓ９０９にて、履歴ボタン管理部３０３は、履歴ボタンを生成し、トップメニュー７００に表示する。
【００６６】
Ｓ９１０以降は、Ｓ９０９で生成した履歴ボタンを、ユーザーが押下することによって開始される。Ｓ９１０にて、履歴ボタン管理部３０３は、Ｓ９０９で生成して表示した履歴ボタンが押下されたことを受けて、履歴ボタンの生成依頼元であるジョブ制御部３０２に、履歴ボタン押下を通知する。このとき、履歴ボタンに紐づいた履歴データが一緒に通知される。
【００６７】
Ｓ９１１にて、ジョブ制御部３０２は、Ｓ９１０で受け付けた履歴データを元にジョブを再実行する。そして、本処理シーケンスを終了する。
【００６８】
なお、図９のシーケンスでは、ジョブ制御部３０２が履歴ボタンの生成要求を行ったり、ジョブの再実行を行ったりしている。この他にも、ジョブ受付部３０５が履歴ボタンの生成要求を行ったり、再実行の要求を行ったりする構成もある。
【００６９】
（ジョブ投入アプリを利用した場合のジョブ履歴登録／再実行）
図１０は、ジョブ投入アプリ３０４を利用した場合のジョブ履歴登録／再実行のシーケンスを示す図である。ジョブ投入アプリ３０４におけるジョブ履歴登録／再実行の流れは、図９で示した本発明を適用しない場合のジョブ履歴登録／再実行を行った場合のシーケンスとほぼ同じである。なお、上述したように、ジョブ投入アプリ３０４は、ＭＦＰ１０１の内部に備えられ、Ｗｅｂアプリケーションではない。
【００７０】
Ｓ１００１からＳ１００２は、図９のＳ９０５からＳ９０６と同じである。ただし、ジョブの投入元は、ジョブ受付部３０５ではなく、ジョブ投入アプリ３０４である。また、Ｓ１００３からＳ１００６は、図９のＳ９０８からＳ９１１と同じである。
【００７１】
図９に示すように、本発明を適用しない場合、Ｗｅｂアプリケーションからのジョブ履歴の利用は、ジョブ制御部３０２（またはジョブ受付部３０５）でジョブ履歴の生成要求や、ジョブ履歴によるジョブ再実行が行われる。これは、図１０で示すジョブ投入アプリ３０４（ＭＦＰ１０１内で実行されるネイティブアプリケーション）の場合のシーケンスと同様となる。この場合、ジョブ制御部３０２やジョブ受付部３０５は、ジョブが投入される以前の処理について関知せず、それらを再現することができない構成となる。そのため、履歴によるジョブ再実行時において、Ｗｅｂブラウザー３０１やサーバー１０２上のＷｅｂアプリケーションが介在することができず、ジョブ実行中のＷｅｂアプリ画面の表示や、サーバー１０２側で実行されたジョブのロギングなどができない。
【００７２】
これに対し本願発明では、Ｗｅｂアプリケーションを経由したジョブ実行の履歴では、ＷｅｂブラウザーからのＷｅｂアプリケーションへのリクエスト内容を保持しておくことで、Ｗｅｂアプリケーションへのリクエストから再現実行する。これにより、Ｗｅｂアプリケーションを介したジョブ実行においても、ＭＦＰ上の履歴によるジョブ再実行と連携することが可能となる。
【００７３】
＜その他の実施形態＞
また、本発明は上述の実施形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７４】
１００…ネットワーク、１０１…ＭＦＰ、１０２…Ｗｅｂサーバー、３０１…Ｗｅｂブラウザー、３０２…ジョブ制御部、３０３…履歴ボタン管理部、３０４…ジョブ投入アプリ、３０５…ジョブ受付部
【図１】
2019057796.tif 000003
【図２】
2019057796.tif 000004
【図３】
2019057796.tif 000005
【図４】
2019057796.tif 000006
【図５】
2019057796.tif 000007
【図６】
2019057796.tif 000008
【図７】
2019057796.tif 000009
【図８】
2019057796.tif 000010
【図９】
2019057796.tif 000011
【図１０】
2019057796.tif 000012
【図１１】
2019057796.tif 000013