JP6544133B2 - INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, AND INFORMATION PROCESSING METHOD - Google Patents
INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, AND INFORMATION PROCESSING METHOD Download PDFInfo
- Publication number
- JP6544133B2 JP6544133B2 JP2015160422A JP2015160422A JP6544133B2 JP 6544133 B2 JP6544133 B2 JP 6544133B2 JP 2015160422 A JP2015160422 A JP 2015160422A JP 2015160422 A JP2015160422 A JP 2015160422A JP 6544133 B2 JP6544133 B2 JP 6544133B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- processing
- series
- unit
- application
- 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.)
- Active
Links
Images
Landscapes
- Facsimiles In General (AREA)
Description
本発明は、情報処理システム、情報処理装置、及び情報処理方法に関する。 The present invention relates to an information processing system, an information processing apparatus, and an information processing method.
近年、クラウドコンピューティング等により多種多様な外部サービスが提供されるようになった。例えば、ユーザにより指定された電子データを外部のストレージに保管する外部サービスが知られている。 In recent years, various external services have come to be provided by cloud computing and the like. For example, an external service is known that stores electronic data designated by a user in an external storage.
また、例えば、画像形成装置で原稿をスキャンして取得した画像データを外部ストレージに保管する技術が知られている(例えば特許文献1参照)。このように、画像形成装置と外部サービスとが連携して処理を行う技術が従来から知られている。 Further, for example, there is known a technology for storing image data acquired by scanning an original with an image forming apparatus in an external storage (see, for example, Patent Document 1). As described above, there is conventionally known a technology in which an image forming apparatus and an external service cooperate to perform processing.
しかしながら、上記の従来技術においては、外部サービスと連携して処理を行うためには画像形成装置に搭載されるアプリケーションの開発が必要となる。また、ある外部サービスが固有の機能(他の外部サービスが提供していない機能)を提供するようになった場合には、当該固有の機能を利用するためのモジュールやプラグイン等を開発する必要がある。したがって、画像形成装置に搭載されるアプリケーションの追加や修正等の開発に要する工数が大きくなる場合があった。 However, in the above-described prior art, in order to perform processing in cooperation with an external service, it is necessary to develop an application installed in the image forming apparatus. In addition, when an external service comes to provide a unique function (a function not provided by another external service), it is necessary to develop a module, plug-in, etc. for using the specific function. There is. Therefore, the number of man-hours required for development such as addition or correction of an application installed in the image forming apparatus may be increased.
本発明の実施の形態は、上記の点に鑑みてなされたもので、外部サービスと連携した処理を行うためのアプリケーションの開発を支援することを目的とする。 The embodiment of the present invention has been made in view of the above-described point, and an object thereof is to support development of an application for performing processing in cooperation with an external service.
上記目的を達成するため、本発明の実施の形態は、1以上の情報処理装置が含まれる情報処理システムであって、電子データを用いた一連の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別するアプリ識別情報と、該一連の処理に関する情報と、該一連の処理に用いる前記電子データを指定させる画面の画面情報と、を関連付けて記憶する記憶手段と、前記情報処理システムに接続される1以上の機器のうちの一の機器から前記アプリ識別情報を含む第1の要求を受け付けると、該第1の要求に含まれる該アプリ識別情報に関連付けて前記記憶手段に記憶されている前記画面情報を、要求元の前記一の機器に送信する第1の送信手段と、前記第1の送信手段により送信された前記画面情報に基づき前記一の機器に表示された画面を介してユーザにより指定された電子データに関する情報を含む第2の要求を前記一の機器から受け付けると、前記アプリ識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づく一連の処理を示す情報と、前記一の機器との接続を特定する情報と、を関連付けた処理情報を生成する生成手段と、前記一連の処理を、前記第2の要求に含まれる前記電子データに関する情報により指定される電子データに対して実行する処理実行手段と、
前記処理実行手段により実行された前記一連の処理の処理結果を、前記生成手段により生成された前記処理情報に含まれる前記接続を特定する情報に基づき前記一の機器に送信する第2の送信手段とを有する。
In order to achieve the above object, an embodiment of the present invention is an information processing system including one or more information processing apparatuses, and for each application that executes a series of processing using electronic data in cooperation with an external service. Storage means for associating and storing application identification information for identifying the application, information on the series of processes, and screen information of a screen for designating the electronic data used for the series of processes, and the information processing When a first request including the application identification information is received from one of the one or more devices connected to the system, it is stored in the storage means in association with the application identification information included in the first request First transmitting means for transmitting the screen information being requested to the one device of the request source, and the preceding one based on the screen information transmitted by the first transmitting means When a second request including information on electronic data designated by the user via a screen displayed on one device is received from the one device, the second request is stored in the storage means in association with the application identification information A generation unit configured to generate processing information in which information indicating a series of processes based on the information related to the series of processes and information identifying a connection with the one device; Processing execution means for executing on electronic data specified by the information related to the electronic data included in the request of
A second transmission unit that transmits processing results of the series of processing executed by the processing execution unit to the one device based on the information specifying the connection included in the processing information generated by the generation unit And.
本発明の実施の形態によれば、外部サービスと連携した処理を行うためのアプリケーションの開発を支援することができる。 According to the embodiment of the present invention, development of an application for performing processing in cooperation with an external service can be supported.
以下、本発明の実施形態について図面を参照しながら詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
<システム構成>
まず、本実施形態に係る情報処理システム1のシステム構成について、図1を参照しながら説明する。図1は、本実施形態に係る情報処理システムの一例のシステム構成を示す図である。
<System configuration>
First, the system configuration of the
図1に示す情報処理システム1は、サービス提供環境E1、ユーザ環境E2、及び外部ストレージシステム30を含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。
An
サービス提供環境E1は、ネットワークN1を介してクラウドサービス等の外部サービスを提供するシステム環境である。なお、本実施形態では、外部サービスの具体例としてクラウドサービスを採用して説明するが、ASP(Application Service Provider)によって提供されるサービスやWebサービス等、ネットワークを介して提供されるサービスに関して本実施形態が適用されても良い。 The service providing environment E1 is a system environment that provides an external service such as a cloud service via the network N1. In the present embodiment, a cloud service is adopted and described as a specific example of the external service, but the present embodiment can be applied to a service provided by an application service provider (ASP) or a service provided via a network, such as a web service. A form may be applied.
サービス提供環境E1は、一台以上の情報処理装置で実現されるサービス提供システム10を有する。サービス提供システム10は、ネットワークN1を介して所定のサービスを提供する。例えば、サービス提供システム10は、ユーザ環境E2の画像形成装置20において原稿をスキャンして生成された電子ファイルを、OCR(Optical Character Reader)処理して、外部ストレージシステム30に保存するサービス(スキャン配信サービス)を提供する。また、例えば、サービス提供システム10は、外部ストレージシステム30に保存されている電子ファイルを、ユーザ環境E2の画像形成装置20で印刷するサービス(クラウドプリントサービス)を提供する。本実施形態では、サービス提供システム10は、このようなスキャン配信サービス及びクラウドプリントサービスを提供するものとして説明する。
The service providing environment E1 has a
ただし、サービス提供システム10により提供されるサービスは、これらに限られず、例えば、外部ストレージシステム30に保存されている電子ファイルを、ユーザ環境E2のプロジェクタで投影するサービス等であっても良い。また、画像形成装置20において原稿をスキャンして生成された電子ファイルを、OCR処理した後、所定の言語に翻訳(例えば、英語から日本語に翻訳)して、外部ストレージシステム30に保存するサービス等であっても良い。
However, the service provided by the
なお、サービス提供システム10の全部又は一部は、ユーザ環境E2に設置されていても良い。すなわち、サービス提供システム10を構成する情報処理装置の全部又は一部は、ユーザ環境E2に包含されていても良い。
Note that all or part of the
ユーザ環境E2は、例えば、画像形成装置20を使用するユーザである企業等におけるシステム環境である。ユーザ環境E2は、一台以上の画像形成装置20が、例えばLAN(Local Area Network)等のネットワークを介して接続されている。
The user environment E2 is, for example, a system environment in a company or the like who is a user who uses the
本実施形態に係る画像形成装置20は、プリント機能及びスキャン機能を有するMFP(Multifunction Peripheral)等の複合機である。なお、画像形成装置20は、プリント機能及びスキャン機能以外に、コピー機能やファクス(FAX)通信機能等を備えていても良い。
The
外部ストレージシステム30は、ネットワークN1を介してストレージサービス(又はオンラインストレージ)と呼ばれるクラウドサービスを提供するコンピュータシステムである。
The
ストレージサービスとは、外部ストレージシステム30のストレージの記憶領域を貸し出すサービスである。本実施形態では、スキャン配信サービスにおいて、外部ストレージシステム30によって貸し出される記憶領域に、OCR処理された電子ファイルを保存(アップロード)する。また、本実施形態では、クラウドプリントサービスにおいて、外部ストレージシステム30によって貸し出される記憶領域から印刷対象となる電子ファイルを取得(ダウンロード)する。
The storage service is a service that lends the storage area of the storage of the
なお、以降では、複数の外部ストレージシステム30について、各々を区別するときは、「外部ストレージシステム301」、「外部ストレージシステム302」等と添え字を用いて記載する。また、外部ストレージシステム301によって提供されるサービスの名称を「ストレージサービスA」、ストレージシステム302によって提供されるサービスの名称を「ストレージサービスB」等とする。
In the following, the plurality of
外部ストレージシステム30は、複数台の情報処理装置によって実現されるシステムであっても良い。また、図1に示される情報処理システム1の構成は一例であって、他の構成であっても良い。例えば、ユーザ環境E2は、画像形成装置20に加えて又は画像形成装置20に代えて、プロジェクタ、電子黒板等の各種機器を有していても良い。
The
<ハードウェア構成>
≪サービス提供システム≫
サービス提供システム10のハードウェア構成について、図2を参照しながら説明する。図2は、本実施形態に係るサービス提供システムの一例のハードウェア構成を示す図である。
<Hardware configuration>
«Service provision system»
The hardware configuration of the
図2に示すサービス提供システム10は、入力装置11、表示装置12、外部I/F13、及びRAM(Random Access Memory)14を有する。また、サービス提供システム10は、ROM(Read Only Memory)15、CPU(Central Processing Unit)16、通信I/F17、及びHDD(Hard Disk Drive)18を有する。これらの各ハードウェアは、それぞれがバスBで接続されている。
The
入力装置11は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置12は、ディスプレイ等を含み、サービス提供システム10による処理結果を表示する。なお、入力装置11及び表示装置12は、必要なときにバスBに接続して利用する形態であっても良い。
The
通信I/F17は、サービス提供システム10をネットワークN1に接続するインタフェースである。これにより、サービス提供システム10は、通信I/F17を介してデータ通信を行うことができる。
The communication I /
HDD18は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、サービス提供システム10全体を制御する基本ソフトウェアであるOS(Operating System)、及びOS上において各種機能を提供するアプリケーションソフトウェア等がある。
The
なお、サービス提供システム10は、HDD108に代えて又はHDD108に加えて、フラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用しても良い。また、HDD108は、格納しているプログラムやデータを所定のファイルシステム及び/又はDBにより管理している。
The
外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。これにより、サービス提供システム10は、外部I/F13を介して記録媒体13aの読み取り及び/又は書き込みを行うことができる。記録媒体13aには、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
The external I /
ROM15は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM15には、サービス提供システム10の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定等のプログラムやデータが格納されている。RAM14は、プログラムやデータを一時保持する揮発性の半導体メモリである。
The
CPU16は、ROM15やHDD18等からプログラムやデータをRAM14上に読み出し、処理を実行することで、サービス提供システム10全体の制御や機能を実現する演算装置である。
The
本実施形態に係るサービス提供システム10は、上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。
The
≪画像形成装置≫
画像形成装置20のハードウェア構成について、図3を参照しながら説明する。図3は、本実施形態に係る画像形成装置の一例のハードウェア構成を示す図である。
<< image forming device >>
The hardware configuration of the
図3に示す画像形成装置20は、コントローラ21、操作パネル22、外部I/F23、通信I/F24、プリンタ25、及びスキャナ26を有する。また、コントローラ21は、CPU211、RAM212、ROM213、NVRAM214、及びHDD215を有する。
The
ROM213は、各種プログラムやデータを格納する。RAM212は、プログラムやデータを一時保持する。NVRAM214は、例えば設定情報等が格納されている。また、HDD215は、各種プログラムやデータを格納する。
The
CPU211は、ROM213やNVRAM214、HDD215等からプログラムやデータ、設定情報等をRAM212上に読み出し、処理を実行することで、画像形成装置20全体の制御や機能を実現する。
The
操作パネル22は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部I/F23は、外部装置とのインタフェースである。外部装置には、記録媒体23a等がある。これにより、画像形成装置20は、外部I/F23を介して記録媒体23aの読み取り及び/又は書き込みを行うことができる。記録媒体23aにはICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
The
通信I/F24は、画像形成装置20をネットワークN1に接続するインタフェースである。これにより、画像形成装置20は通信I/F24を介してデータ通信を行うことができる。プリンタ25は、印刷データを印刷するための印刷装置である。スキャナ26は原稿を読み取り画像ファイル(電子ファイル)を生成するための読取装置である。
The communication I /
本実施形態に係る画像形成装置20は、上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。
The
<ソフトウェア構成>
次に、本実施形態に係る情報処理システム1の処理ブロックについて、図4を参照しながら説明する。図4は、本実施形態に係る情報処理システムの一例の処理ブロックを示す図である。
<Software configuration>
Next, processing blocks of the
≪サービス提供システム≫
図4に示すサービス提供システム10は、サービス処理部110、ドキュメントサービス部120、及びストレージサービス連携部130を有する。これら各部は、サービス提供システム10に搭載(インストール)された1以上のプログラムが、CPU16に実行させる処理により実現される。
«Service provision system»
The
また、サービス提供システム10は、アプリ情報記憶部160、及び処理情報記憶部170を有する。これら各記憶部は、HDD18により実現可能である。なお、アプリ情報記憶部160及び/又は処理情報記憶部170は、サービス提供システム10とネットワークを介して接続される記憶装置等により実現されても良い。
Further, the
サービス処理部110は、アプリ管理部111、ロジック処理部112、データI/F部113、通信中継部114、結果通知生成部115、及び処理状態監視部116を有する。
The
アプリ管理部111は、画像形成装置20からの要求に応じて、アプリ情報1000に含まれる画面定義を返信する。これにより、画像形成装置20の操作パネル22上に、サービス提供システム10により提供されるサービスを利用するためのアプリ画面が表示される。
In response to a request from the
ここで、アプリ情報1000とは、アプリ画面を画像形成装置20に表示させるための画面定義と、当該アプリ情報1000により実現されるサービスの処理内容とが含まれた情報であり、アプリ情報記憶部160に記憶されている。なお、以降では、アプリ情報1000には、一の画面定義と、一の処理内容とが含まれるものとして説明するが、これに限られず、アプリ情報1000には、1以上の画面定義と、1以上の処理内容とが含まれていても良い。
Here, the
また、アプリ管理部111は、ロジック処理部112からの要求に応じて、アプリ情報1000に含まれる処理内容を返信する。処理内容とは、スキャン配信サービスやクラウドプリントサービス等のサービス提供システム10により提供されるサービスを実現するための一連の処理が記述されている。なお、このような一連の処理は、処理フローとも称される。
Further, in response to a request from the
ロジック処理部112は、画像形成装置20からの要求に応じて、アプリ管理部111から処理内容を取得する。そして、ロジック処理部112は、取得した処理内容に基づく一連の処理を実行する。すなわち、ロジック処理部112は、ドキュメントサービス部120又は/及びストレージサービス連携部130のファイル処理部140に対して、処理内容に従った処理の実行を要求することで、当該一連の処理を実行する。これにより、サービス提供システム10が提供する各種サービスが画像形成装置20に提供される。
The
また、ロジック処理部112は、処理内容に基づく一連の処理を実行する際に、当該一連の処理に関する情報を示す処理情報を生成して、処理情報記憶部170に格納する。そして、ロジック処理部112は、処理情報記憶部170に格納した処理情報の更新有無の監視を処理状態監視部116に要求する。
When the
さらに、ロジック処理部112は、処理内容に基づく一連の処理の実行が完了した場合や処理内容に基づく一連の処理の実行中にエラーが発生した場合、当該一連の処理に対応する処理情報を更新する。すなわち、ロジック処理部112は、一連の処理の実行が完了した場合、処理情報に含まれる処理結果を「完了」に更新し、一連の処理の実行中にエラーが発生した場合、処理情報に含まれる処理結果を「エラー」に更新する。なお、ロジック処理部112の詳細な処理ブロックについては、後述する。
Furthermore, the
データI/F部113は、画像形成装置20からの要求に応じて、ストレージサービス連携部130のデータ処理部150に対して、例えば、フォルダ一覧の取得やファイル一覧の取得等を要求する。
In response to a request from the
通信中継部114は、画像形成装置20から受け取った各種要求を他の各部に転送する。すなわち、通信中継部114は、サービス処理部110に含まれる他の各部と、画像形成装置20との間の通信を中継する。
The
結果通知生成部115は、処理状態監視部116からの要求に応じて、ロジック処理部112により実行された一連の処理の処理結果を含む結果通知を生成し、当該結果通知を画像形成装置20に返信する。
The result
処理状態監視部116は、ロジック処理部112からの要求に応じて、処理情報記憶部170に記憶された処理情報の更新有無を監視する。そして、処理状態監視部116は、処理情報記憶部170に記憶された処理情報に含まる処理結果が更新された場合、結果通知生成部115に対して、処理結果の生成を要求する。
The processing
ドキュメントサービス部120は、サービス提供システム10により提供されるサービスを実現するためのプログラム(モジュール)群である。ドキュメントサービス部120には、例えば、電子ファイルに対してOCR処理を実行するOCR処理121や電子ファイルを画像形成装置20が印刷可能なデータ形式(印刷データ)に変換する印刷変換処理122等が含まれる。
The
なお、ドキュメントサービス部120には、これら以外にも、例えば、電子ファイルを圧縮又は解凍するためのプログラム、電子ファイルのデータ形式を変換(例えば、PDF形式に変換)するためのプログラム等、各種の処理を実行するプログラムが含まれていても良い。
In the
ストレージサービス連携部130は、ロジック処理部112及びデータI/F部113からの要求に応じて、外部ストレージシステム30に対して、各種処理の実行を要求する。
The storage
ここで、サービス提供システム10は、外部ストレージシステム30毎に、ストレージサービス連携部130を有する。すなわち、サービス提供システム10は、外部ストレージシステム301に対して処理を要求するためのストレージサービスA連携部1301、外部ストレージシステム302に対して処理を要求するためのストレージサービスB連携部1302等を有する。このように、サービス提供システムは、連携して処理を行う外部ストレージシステム30毎に、それぞれの外部ストレージシステム30に対応するストレージサービス連携部130を有する。
Here, the
なお、以降では、複数のストレージサービス連携部130について、各々を区別するときは、「ストレージサービスA連携部1301」、「ストレージサービスB連携部1302」等と添え字を用いて記載する。
Hereinafter, the plurality of storage
ファイル処理部140は、外部ストレージシステム30に保存されている電子ファイルに対する操作(例えば、取得、保存、編集等)を行うための(Application Programming Interface)が定義された共通I/F141及び固有I/F142を有する。
The
共通I/F141は、複数の外部ストレージシステム30間で共通に利用できるAPIであり、例えば図5(a)に示すようなAPIが挙げられる。換言すれば、ファイル処理部140の共通I/F141は、すべての外部ストレージシステム30が利用できるファイル操作に関する機能(例えば、ファイルの取得、保存等)を利用するためのAPI群である。
The common I / F 141 is an API that can be commonly used among a plurality of
一方、固有I/F142は、特定の外部ストレージシステム30において利用できるAPIであり、例えば図5(b)に示すようなAPIが挙げられる。換言すれば、ファイル処理部140の固有I/F142は、特定の外部ストレージシステム30において利用できるファイル操作に関する機能(例えば、ファイルの編集等)を利用するためのAPI群である。
On the other hand, the unique I /
したがって、共通I/F141は、すべてのストレージサービス連携部130に対して同様に定義される。一方で、固有I/F142は、当該固有I/F142で定義されるAPIが利用可能な特定の外部ストレージシステム30に対応するストレージサービス連携部130に対して定義される。
Therefore, the common I / F 141 is similarly defined for all the storage
また、データ処理部150は、外部ストレージシステム30で保存されている電子ファイルの書誌情報等のメタデータ(例えば、ファイル一覧、フォルダ一覧等)を取得等するためのAPIが定義された共通I/F151及び固有I/F152を有する。
Also, the
共通I/F151は、複数の外部ストレージシステム30間で共通に利用できるAPIであり、例えば図5(c)に示すようなAPIが挙げられる。換言すれば、データ処理部150の共通I/F151は、すべての外部ストレージシステム30で利用できるメタデータ取得等の機能を利用するためのAPI群である。
The common I / F 151 is an API that can be commonly used among a plurality of
一方、固有I/F152は、特定の外部ストレージシステム30において利用できるAPIであり、例えば図5(d)に示すようなAPIが挙げられる。換言すれば、データ処理部150の固有I/F152は、特定の外部ストレージシステム30において利用できるメタデータ取得等の機能(例えば、画像ファイル一覧の取得等)を利用するためのAPI群である。
On the other hand, the unique I /
したがって、共通I/F151は、すべてのストレージサービス連携部130に対して同様に定義される。一方で、固有I/F151は、当該固有I/F181で定義されるAPIが利用可能な特定の外部ストレージシステム30に対応するストレージサービス連携部130に対して定義される。
Therefore, the common I / F 151 is similarly defined for all the storage
以上のように、本実施形態に係るサービス提供システム10は、連携して処理を行う外部ストレージシステム30毎に、それぞれの外部ストレージシステム30に対応するストレージサービス連携部130を有する。このため、連携先となる外部ストレージシステム30を追加等する場合には、当該外部ストレージシステム30に対応するストレージサービス連携部130をサービス提供システム10に追加等すれば良い。
As described above, the
したがって、連携先となる外部ストレージシステム30の追加等に伴う影響を局所化することができる。換言すれば、他の処理ブロック(サービス処理部110やドキュメントサービス部120等)に影響を与えることなく(すなわち、他の処理ブロックを修正等する必要なく)、連携先となる外部ストレージシステム30の追加等を行うことができる。これにより、連携先の外部ストレージシステム30の追加等の開発に要する工数を削減することができる。なお、ストレージサービス連携部130の追加等は、SDK(Software Development Kit)を用いて行うことができる。
Therefore, it is possible to localize the influence accompanying the addition of the
また、ストレージサービス連携部130は、共通I/F141及び固有I/F142をそれぞれ異なるモジュール等で定義している。また、共通I/F141及び固有I/F142で定義されるAPIは、「ストレージサービス名」(外部サービス名)を指定することで利用することができる(すなわち、「ストレージサービス名」(外部サービス名)が可変部分となっている)。
In addition, the storage
したがって、連携先の外部ストレージシステム30を追加する場合には、他のストレージサービス連携部130に定義されている共通I/F141を再利用することができる。換言すれば、連携先の外部ストレージシステム30を追加する場合には、当該追加する外部ストレージシステム30の固有I/F142のみを開発すれば良い。これにより、連携先の外部ストレージシステム30の追加等の開発に要する工数をさらに削減することができる。なお、このことは、データ処理部150の共通I/F151及び固有I/F152に関しても同様である。
Therefore, when the
アプリ情報記憶部160は、アプリ情報1000を記憶する。アプリ情報1000は、アプリ画面を画像形成装置20に表示させるための画面定義と、サービスを実現するための処理内容とを含み、アプリ情報1000を一意に識別するためのアプリID毎に、アプリ情報記憶部160に記憶されている。
The application
本実施形態では、ストレージサービスAと連携したスキャン配信サービスを実現するためのアプリ情報1000を「アプリ情報10001」とし、当該アプリ情報10001のアプリIDを「app001」とする。また、本実施形態では、ストレージサービスAと連携したクラウドプリントサービスを実現するためのアプリ情報1000を「アプリ情報10002」とし、当該アプリ情報10002のアプリIDを「app002」とする。
In this embodiment, the
ここで、アプリ情報10001に含まれる画面定義及びアプリ情報10002に含まれる画面定義を、それぞれ図6(a)及び図6(b)に示す。
Here, the screen definition included in the screen definition and
画面定義には、画像形成装置20の操作パネル22等に表示されるアプリ画面の入力欄(入力ボックス)や選択欄(選択ボックス)等を構成するための情報が記述されている。
The screen definition describes information for configuring an input field (input box) and a selection field (selection box) of an application screen displayed on the
例えば、図6(a)に示す画面定義のデータ定義部1101では、スキャンにより生成される電子ファイルのファイル名をユーザが入力するための入力欄を構成するための情報が記述されている。また、図6(b)に示す画面定義のデータ定義部1102では、ストレージサービスAにおける保存先フォルダを選択するための選択欄を構成するための情報が記述されている。なお、データ定義部1102の「data_source」には選択欄の各選択要素(ここでは、保存先候補のフォルダ名及びフォルダID)の取得先のURL(Uniform Resource Locator)が記述されている。
For example, in the
同様に、図6(b)に示す画面定義におけるデータ定義部1201では、ストレージサービスAに保存されているファイルを選択するための選択欄を構成するための情報が記述されている。なお、データ定義部1201の「data_source」には選択欄の各選択要素(ここでは、ストレージサービスAに保存されているファイルのファイルID)の取得先のURLが記述されている。
Similarly, in the
次に、アプリ情報10001に含まれる処理内容及びアプリ情報10002に含まれる処理内容を、それぞれ図7(a)及び図7(b)に示す。処理内容は、サービス提供システム10により提供されるサービスを実現する一連の処理(すなわち、処理フロー)が記述されたものである。
Next, the processing contents included in the processing content and
例えば、図7(a)に示す処理内容は、本実施形態に係るスキャン配信サービスを実現するための一連の処理が記述されている。すなわち、図7(a)に示す処理内容には、スキャンされた電子ファイルをOCR処理した後、ストレージサービスAの指定されたフォルダに配信する一連の処理が記述されている。 For example, in the processing content shown in FIG. 7A, a series of processing for realizing the scan distribution service according to the present embodiment is described. That is, in the processing content shown in FIG. 7A, a series of processing is described which distributes the scanned electronic file to a designated folder of the storage service A after the OCR processing.
同様に、図7(b)に示す処理内容は、本実施形態に係るクラウドプリントサービスを実現するための一連の処理が記述されている。すなわち、図7(b)に示す処理内容には、ストレージサービスAから電子ファイルを取得した後、印刷データに変換する一連の処理が記述されている。 Similarly, in the processing content shown in FIG. 7B, a series of processing for realizing the cloud print service according to the present embodiment is described. That is, in the process content shown in FIG. 7B, a series of processes for converting the print data into print data after acquiring the electronic file from the storage service A is described.
以上のように、本実施形態に係るサービス提供システム10は、画像形成装置20に青プリ画面を表示させるための画面定義と、サービスを実現するための一連の処理が記述された処理内容とが含まれるアプリ情報1000を利用してサービスを提供する。このため、サービス提供システム10により提供されるサービスを追加等する場合には、アプリ情報記憶部160にアプリ情報1000を追加等すれば良い。
As described above, in the
また、アプリ情報1000を追加するには、画面定義及び処理内容を記述すれば良いため、簡易に開発を行うことができる。したがって、サービスの追加・変更等に伴う開発工数を削減させることができるとともに、例えばサードベンダー等によるサービスの追加・変更等を容易に行うことができる。
Further, in order to add the
処理情報記憶部170は、ロジック処理部112により実行される一連の処理に関する情報である処理情報を記憶する。ここで、処理情報記憶部170に記憶される処理情報の詳細について、図8を参照しながら説明する。図8は、処理情報の一例を示す図である。
The processing information storage unit 170 stores processing information which is information related to a series of processing executed by the
図8に示すように、処理情報は、データ項目として、処理ID、アプリID、コネクションID、及び処理結果を有する。処理IDは、ロジック処理部112により実行される一連の処理を一意に識別する識別情報である。アプリIDは、当該一連の処理が記述された処理内容を含むアプリ情報1000のアプリIDである。
As shown in FIG. 8, the process information has, as data items, a process ID, an application ID, a connection ID, and a process result. The process ID is identification information that uniquely identifies a series of processes executed by the
コネクションIDは、当該一連の処理の実行を要求した画像形成装置20との間のコネクション(論理的な通信路)を一意に識別する接続情報である。処理結果は、当該一連の処理の実行結果である。処理結果は、例えば、当該一連の処理の実行が正常に終了した場合に、ロジック処理部112により「処理完了」と更新され、当該一連の処理の実行中にエラーが発生した場合、ロジック処理部112により「エラー」と更新される。
The connection ID is connection information that uniquely identifies a connection (logical communication path) with the
以上のように、本実施形態に係るサービス提供システム10は、画像形成装置20から実行が要求された処理内容に基づく一連の処理について、当該一連の処理に関する情報を処理情報として記憶する。これにより、本実施形態に係るサービス提供システム10では、当該一連の処理の実行を要求した画像形成装置20との間のコネクションや、当該一連の処理の処理結果等を管理することができる。
As described above, the
≪画像形成装置≫
図4に示す画像形成装置20は、通信中継部210を有する。通信中継部210は、画像形成装置20に搭載(インストール)された1以上のプログラムが、CPU211に実行させる処理により実現される。
<< image forming device >>
The
また、画像形成装置20は、クライアントアプリ管理情報記憶部230を有する。クライアントアプリ管理情報記憶部230は、HDD215により実現可能である。
The
さらに、画像形成装置20は、1以上のクライアントアプリケーション220が搭載(インストール)されている。クライアントアプリケーション220は、サービス提供システム10により提供されるサービスを利用するプログラムである。クライアントアプリケーション220は、例えば、サービス提供システム10が画像形成装置20に公開するWebAPIを用いて、当該サービス提供システム10により提供されるサービスを利用する。なお、以降では、クライアントアプリケーション220を、「クライアントアプリ220」と省略して記載する。
Furthermore, in the
画像形成装置20は、クライアントアプリ220により、サービス提供システム10により提供されるサービスを実現するための処理の実行要求等を行うことができる。なお、以降では、画像形成装置20に搭載されたクライアントアプリ220について、各々を区別するときは、「クライアントアプリ2201」、「クライアントアプリ2202」等と添え字を用いて記載する。
The
また、以降では、スキャン配信サービスを利用するクライアントアプリ220を「クライアントアプリ2201」、クラウドプリントサービスを利用するクライアントアプリ220を「クライアントアプリ2202」とする。
Further, hereinafter, the
通信中継部210は、サービス提供システム10に対して、処理の実行要求等の各種の要求を送信する。また、通信中継部210は、例えば、処理の実行要求に対する結果通知等を受け取った場合に、クライアントアプリ管理情報記憶部230に記憶されたクライアントアプリ管理情報を参照して、該当のクライアントアプリ220に当該結果通知を送信する。
The
クライアントアプリ管理情報記憶部230は、クライアントアプリ220が利用するサービスを実現するアプリ情報1000と、当該クライアントアプリ220とが対応付けられたクライアントアプリ管理情報を記憶する。ここで、クライアントアプリ管理情報記憶部230に記憶されたクライアントアプリ管理情報の詳細について、図9を参照しながら説明する。図9は、クライアントアプリ情報の一例を示す図である。
The client application management
図9に示すように、クライアントアプリ管理情報は、データ項目として、アプリID、及びコールバック先を有する。アプリIDは、サービス提供システム10により提供されるサービスを実現するアプリ情報1000を識別する識別情報である。コールバック先は、当該アプリIDのアプリ情報1000により実現されるサービスを利用するクライアントアプリ220を識別する識別情報である。コールバック先として指定されるクライアントアプリ220の識別情報は、例えば、クライアントアプリ220のアプリケーションIDや、クライアントアプリ220の格納先のアドレス(パス)を用いれば良い。
As shown in FIG. 9, the client application management information has an application ID and a callback destination as data items. The application ID is identification information that identifies the
以上のように、本実施形態に係る画像形成装置20では、サービス提供システム10により提供されるサービスを実現するアプリ情報1000のアプリIDと、当該サービスを利用するクライアントアプリ220とを対応付けて管理する。これにより、本実施形態に係る画像形成装置20では、サービス提供システム10から処理の実行要求に対する結果通知を受け取った場合に、当該実行要求を行ったクライアントアプリ220に当該結果通知を渡すことができる。
As described above, in the
<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。
<Details of processing>
Next, details of processing of the
≪スキャン配信サービスのアプリ画面の表示処理≫
以降では、本実施形態に係るスキャン配信サービスを利用するためのアプリ画面を画像形成装置20に表示させる処理について、図10を参照しながら説明する。図10は、本実施形態に係るスキャン配信サービスのアプリ画面の表示処理の一例を示す図である。
«Display process of scan delivery service application screen»
Hereinafter, a process of displaying an application screen for using the scan distribution service according to the present embodiment on the
まず、画像形成装置20のユーザは、クライアントアプリ2201を用いて、スキャン配信サービスを利用するためのアプリ画面の表示操作を行う。すると、画像形成装置20のクライアントアプリ2201は、当該表示操作を受け付ける(ステップS1001)。
First, the user of the
クライアントアプリ2201は、当該表示操作を受け付けると、通信中継部210に対して、アプリ画面を表示させるための画面定義の取得要求を送信する(ステップS1002)。なお、画面定義の取得要求には、スキャン配信サービスを実現するアプリ情報10001のアプリID「app001」が含まれる。
通信中継部210は、クライアントアプリ2201から画面定義の取得要求を受け取ると、サービス提供システム10のサービス処理部110に対して、当該取得要求を送信する(ステップS1003)。
サービス処理部110の通信中継部114は、画像形成装置20から画面定義の取得要求を受け取ると、当該取得要求をアプリ管理部111に転送する(ステップS1004)。アプリ管理部111は、通信中継部114から画面定義の取得要求を受け取ると、当該取得要求に含まれるアプリID「app001」のアプリ情報10001に含まれる画面定義を、アプリ情報記憶部160から取得する。そして、アプリ管理部111は、取得した画面情報をアプリID「app001」とともに画像形成装置20に返信する。
When the
画像形成装置20の通信中継部210は、サービス処理部110から画面定義とアプリID「app001」を受け取ると、クライアントアプリ管理情報記憶部230から当該アプリID「app001」に対応するコールバック先「/apps/01」を取得する(ステップS1005)。そして、通信中継部210は、取得したコールバック先「/apps/01」に対応するクライアントアプリ2201に画面定義を送信する。
When the
次に、画像形成装置20のクライアントアプリ2201は、画面定義を受け取ると、通信中継部210に対して、当該画面定義の表示用情報の取得要求を送信する(ステップS1006)。通信中継部210は、クライアントアプリ2201から表示用情報の取得要求を受け取ると、サービス提供システム10のサービス処理部110に対して、当該取得要求を送信する(ステップS1007)。なお、表示用情報の取得要求には、スキャン配信サービスを実現するアプリ情報10001のアプリID「app001」が含まれる。
Next, the
ここで表示用情報とは、例えばアプリ画面の選択欄の各選択要素のことである。すなわち、本実施形態では、スキャン配信サービスの配信先(保存先)となるストレージサービスAのフォルダの一覧の取得要求を送信する。このような要求は、図6(a)のデータ定義部1102に記述されている「"data_source"」に定義されているURL「http://sample.xxx.co.jp/service-a/data/folders」にHTTPリクエストを送信することで行うことができる。
Here, the display information is, for example, each selection element of the selection field of the application screen. That is, in this embodiment, the acquisition request for the list of folders of the storage service A, which is the delivery destination (storage destination) of the scan delivery service, is transmitted. Such a request is defined by the URL “http://sample.xxx.co.jp/service-a/data” defined in ““ data_source ”described in the
なお、当該URLのうち、「http://sample.xxx.co.jp」の部分がサービス提供システム10のホスト名、「/service-a/data/folders」の部分がストレージサービス連携部130におけるAPI(すなわち、図5に示すAPI)の指定となる。
In the URL, the "http://sample.xxx.co.jp" portion is the host name of the
次に、サービス処理部110の通信中継部114は、画像形成装置20から表示用情報の取得要求を受け取ると、当該取得要求をデータI/F部113に転送する(ステップS1008)。データI/F部113は、通信中継部114から表示用情報の取得要求を受け取ると、当該取得要求を対応するストレージサービス連携部130のデータ処理部150に送信する(ステップS1009)。すなわち、データI/F部113は、上記のURLに含まれる「service-a」(外部サービス名)に基づき、当該取得要求をストレージサービスA連携部1301のデータ処理部1501に送信する。
Next, when receiving the acquisition request for display information from the
データ処理部150は、データI/F部113から表示用情報の取得要求を受け取ると、当該取得要求に含まれるURLに基づき、該当の外部ストレージシステム30に対して、フォルダ一覧の取得要求を送信する(ステップS1010)。すなわち、データ処理部150は、データI/F部113から受け取った表示用情報の取得要求に含まれるURLに基づき、共通I/F151に定義されているAPIを利用して、外部ストレージシステム30に処理を要求する。
When the
より具体的には、データ処理部1501は、表示用情報の取得要求に含まれるURLの「/service-a/data/folders」に基づき、共通I/F1511に定義されているAPIを用いて、外部ストレージシステム301にフォルダ一覧の取得を要求する。
More specifically, the
そして、サービス処理部110は、ストレージサービスA連携部1301により取得されたフォルダ一覧をアプリID「app001」とともに画像形成装置20に返信する。なお、フォルダ一覧は、本実施形態に係るスキャン配信サービスにおいて、電子ファイルの保存先の候補となるストレージサービスAのフォルダ名及びフォルダID等の情報である。
The
画像形成装置20の通信中継部210は、サービス処理部110からフォルダ一覧とアプリID「app001」を受け取ると、クライアントアプリ管理情報記憶部230から当該アプリIDに対応するコールバック先「/apps/01」を取得する(ステップS1011)。そして、通信中継部210は、取得したコールバック先「/apps/01」に対応するクライアントアプリ2201にフォルダ一覧を送信する。
When the
次に、クライアントアプリ2201は、画面定義とフォルダ一覧に基づいて、例えば図11に示すようなアプリ画面2000を、操作パネル22に表示させる(ステップS1012)。
Next, the
ここで、図11に示すアプリ画面2000は、スキャン配信サービスを利用するための画面であり、ファイル名入力欄2001、保存先フォルダ選択欄2002、及びスキャン実行ボタン2003を含む。このようなファイル名入力欄2001は、クライアントアプリ2201により、図6(a)に示す画面定義に含まれるデータ定義部1101に基づいて生成される。同様に、保存先フォルダ選択欄2002は、クライアントアプリ2201により、図6(a)に示す画面定義に含まれるデータ定義部1102と、フォルダ一覧とに基づいて生成される。
Here, the
以上により、本実施形態に係る画像形成装置20の操作パネル22に、スキャン配信サービスを利用するためのアプリ画面2000が表示される。
As described above, the
≪スキャン配信サービスの全体処理≫
以降では、本実施形態に係るスキャン配信サービスの全体処理について、図12を参照しながら説明する。図12は、本実施形態に係るスキャン配信サービスの全体処理の一例を示す図である。
«Overall processing of scan delivery service»
Hereinafter, the entire process of the scan distribution service according to the present embodiment will be described with reference to FIG. FIG. 12 is a diagram showing an example of the entire process of the scan distribution service according to the present embodiment.
まず、画像形成装置20のユーザは、図11に示すアプリ画面2000において、ファイル名入力欄2001に所望のファイル名を入力して、保存先フォルダ選択欄2002から所望の保存先フォルダを選択する。そして、画像形成装置20のスキャナ26に原稿をセットして、スキャン実行ボタン2003を押下する(ステップS1201)。
First, the user of the
ここで、ユーザはファイル名入力欄2001にファイル名「test」を入力し、保存先フォルダ選択欄2002から「FolderB」を選択して、スキャン実行ボタン2003を押下したものとする。これにより、画像形成装置20のスキャナ26により原稿が読み取られ、ファイル名「test」の電子ファイルが生成される(ステップS1202)。
Here, it is assumed that the user inputs the file name “test” in the file
すると、クライアントアプリ2201は、通信中継部210に対して、スキャン配信サービスの処理の実行要求を送信する(ステップS1203)。なお、当該実行要求には、アプリID「app001」と、ステップS1202において生成された電子ファイルと、選択された保存先フォルダ「FolderB」のフォルダID「folder_id_b」とが含まれる。
The
通信中継部210は、クライアントアプリ2201から処理の実行要求を受け取ると、サービス提供システム10のサービス処理部110に対して、当該実行要求を送信する(ステップS1204)。
サービス処理部110の通信中継部114は、画像形成装置20から処理の実行要求を受け取ると、当該実行要求をロジック処理部112に転送する(ステップS1205)。
When the
そして、ロジック処理部112は、通信中継部114から処理の実行要求を受け取ると、アプリ管理部111を介して、当該実行要求に含まれるアプリIDのアプリ情報1000に含まれる処理内容を取得する(ステップS1206)。より具体的には、ロジック処理部112は、アプリ管理部111対して、アプリID「app001」を含む処理内容の取得要求を送信する。すると、アプリ管理部111は、当該取得要求に含まれるアプリID「app001」のアプリ情報10001に含まれる処理内容をアプリ情報記憶部160から取得し、当該処理内容をロジック処理部112に返信する。
Then, when the
次に、ロジック処理部112は、アプリ管理部111から処理内容を受け取ると、処理情報を生成して、処理情報記憶部170に格納する(ステップS1207)。より具体的には、ロジック処理部112は、処理内容に基づく一連の処理を一意に識別する処理IDを生成する。そして、ロジック処理部112は、当該処理IDを、ステップS1204で画像形成装置20から処理の実行要求を受け取った際に用いたコネクション(論理的な通信路)のコネクションIDと、アプリID「app001」とに関連付けて処理情報を生成する。なお、このとき、処理結果には、ブランク(空白)や空値(NULL値)が設定されていれば良い。
Next, upon receiving the processing content from the
以降では、処理ID「420676」、アプリID「app001」、及びコネクションID「5」を含む処理情報が生成されたものとして説明を続ける。 Hereinafter, the description will be continued on the assumption that the process information including the process ID “420676”, the application ID “app001”, and the connection ID “5” is generated.
続いて、ロジック処理部112は、処理状態監視部116に対して、ステップS1207で生成された処理情報の監視を要求する(ステップS1208)。なお、当該監視要求には、ステップS1207で生成された処理情報の処理ID「420676」が含まれる。
Subsequently, the
これにより、処理状態監視部116は、受け取った監視要求に含まれる処理ID「420676」の処理情報の更新有無(すなわち、処理状態に含まれるデータ項目「処理結果」が更新されたか否か)を監視する。
Thereby, the processing
次に、ロジック処理部112は、アプリID「app001」のアプリ情報10001に含まれる処理内容に基づき、OCRから配信実行までの処理を実行する(ステップS1209)。なお、OCRから配信実行処理の詳細については後述する。
Next, the
次に、ロジック処理部112は、ステップS1209のOCRから配信実行までの処理の結果に応じて、処理ID「420676」の処理情報の処理結果を更新する(ステップS1210)。すなわち、ロジック処理部112は、OCRから配信実行処理の実行が完了した場合、当該処理情報に含まれる処理結果を「完了」に更新する。一方、ロジック処理部112は、OCRから配信実行までの処理の実行中にエラーが発生した場合、当該処理情報に含まれる処理結果を「エラー」に更新する。
Next, the
続いて、処理状態監視部116は、ロジック処理部112により処理情報が更新されると、これを検知する。そして、処理状態監視部116は、結果通知生成部115に対して、結果通知の生成要求を送信する(ステップS1211)。なお、当該生成要求には、更新が検知された処理情報の処理ID「420676」が含まれる。
Subsequently, when the processing information is updated by the
結果通知生成部115は、結果通知の生成要求を受け取ると、当該生成要求に含まれる処理ID「420676」の処理情報からアプリID「app001」及び処理結果を取得して、結果通知を生成する(ステップS1212)。そして、結果通知生成部115は、通信中継部114に対して、生成した結果通知を送信する(ステップS1213)。
When the result
通信中継部114は、結果通知生成部115から結果通知を受け取ると、当該結果通知を画像形成装置20に送信する(ステップS1214)。このとき、通信中継部114は、当該結果通知に対応する処理の実行要求を受け取ったコネクションを用いて、当該実行要求の送信元の画像形成装置20に対して、当該結果通知を送信する。すなわち、通信中継部114は、コネクションID「5」で識別されるコネクションを用いて、実行要求の送信元の画像形成装置20に対して、当該結果通知を送信する。
When the
画像形成装置20の通信中継部210は、サービス処理部110から結果通知を受け取ると、当該結果通知に含まれるアプリID「app001」に対応するコールバック先「/apps/01」を取得する(ステップS1215)。そして、通信中継部210は、取得したコールバック先「/apps/01」に対応するクライアントアプリ2201に当該結果通知を送信する(ステップS1216)。これにより、本実施形態に係るスキャン配信サービスの処理の実行要求を行ったクライアントアプリ2201に対して、当該実行要求に対する処理結果を含む結果通知が送信される。なお、クライアントアプリ2201は、受け取った結果通知に応じて、例えば、結果画面等を操作パネル22に表示させれば良い。
When receiving the result notification from the
≪OCRから配信実行までの処理≫
以降では、図12のステップS1209の処理の詳細について説明する。この処理は、主に、ロジック処理部112により実行される。したがって、図12のステップS1209の処理の詳細についてする前に、ロジック処理部112の詳細な処理ブロックについて、図13を参照しながら説明する。図13は、本実施形態に係るロジック処理部の一例の処理ブロックを示す図である。
«Process from OCR to delivery execution»
Hereinafter, details of the process of step S1209 of FIG. 12 will be described. This process is mainly performed by the
ロジック処理部112は、フロー実行部181、コンポーネント管理部182、コンポーネント群183、型変換管理部184、及び型変換群185を有する。また、ロジック処理部112は、型変換テーブル3000を利用する。
The
フロー実行部181は、通信中継部114から処理の実行要求を受け取ると、アプリ管理部111を介して、当該実行要求に対応する処理内容をアプリ情報1000から取得する。そして、フロー実行部181は、取得した処理内容に従ってコンポーネントに対して処理の実行を要求する。ここで、コンポーネントとは、処理内容に含まれる一の処理を実行するためのモジュール等であり、例えばクラスや関数等で定義される。
When the
コンポーネント管理部182は、フロー実行部181からの要求に応じて、コンポーネントの生成を行う。なお、コンポーネントの生成とは、例えばクラスで定義されたコンポーネントを、メモリ(例えばRAM14)上に展開することを意味する。
The
コンポーネント群183は、コンポーネントの集合である。コンポーネント群183には、外部ストレージシステム30に電子ファイルを配信するための配信コンポーネント1831、外部ストレージシステム30から電子ファイルを取得するための取得コンポーネント1832が含まれる。また、コンポーネント群183には、電子ファイルにOCR処理を行うためのOCRコンポーネント1833、電子ファイルを印刷データに変換するための印刷変換コンポーネント1834等が含まれる。
The
さらに、これらの各コンポーネントは、コンポーネント共通I/F1830を有する。コンポーネント共通I/F1830は、各コンポーネントに対して共通に定義されたAPIであり、コンポーネントを生成するためのAPIと、コンポーネントに対して処理の実行を要求するためのAPIとが含まれる。
Furthermore, each of these components has a component common I /
このように、各コンポーネントがコンポーネント共通I/F1830を有することで、コンポーネントの追加等に伴う影響を局所化することができる。換言すれば、フロー実行部181及びコンポーネント管理部182に影響を与えることなく、コンポーネントの追加等を行うことができる。このため、コンポーネントの追加等の開発に要する工数を削減することができる。
In this manner, each component may include the component common I /
型変換管理部184は、データ型の型変換を管理する。ここで、各コンポーネントは、自身が扱えるデータ型が予め定められている。したがって、型変換管理部184は、コンポーネントからの要求に応じて、図14に示すような型変換テーブル3000を参照して、型変換群185に定義されている型変換を生成する。
The type
ここで、図14に示す型変換テーブル3000は、変換前のデータ型、変換後のデータ型、及び生成する型変換のデータ項目を有する型変換情報を格納する。これにより、例えば、コンポーネントから「InputStream」のデータ型を「LocalFilePath」のデータ型に変換する要求を受け取った場合、型変換管理部184は、後述する第1の型変換1851を生成する。
Here, the type conversion table 3000 shown in FIG. 14 stores type conversion information having a data type before conversion, a data type after conversion, and data items of type conversion to be generated. Thus, for example, when receiving from the component a request to convert the data type of “InputStream” to the data type of “LocalFilePath”, the type
そして、型変換管理部184は、生成された型変換に対して型変換処理の実行を要求する。ここで、型変換とは、データ型の型変換処理を実行するためのモジュール等であり、例えばクラスや関数等で定義される。
Then, the type
なお、型変換の生成とは、例えばクラスで定義された型変換を、メモリ(例えばRAM14)上に展開することを意味する。また、データ型には、例えば、ストリームデータを示すデータ型「InputStream」、記憶装置等に格納されている電子ファイルのパス(アドレス)を示す「LocalFilePath」、電子ファイルの実体を示す「File」等が挙げられる。 Note that generation of type conversion means that, for example, type conversion defined by a class is expanded on a memory (for example, the RAM 14). Further, as data types, for example, data type “InputStream” indicating stream data, “Local File Path” indicating a path (address) of an electronic file stored in a storage device or the like, “File” indicating an entity of the electronic file, etc. Can be mentioned.
型変換群185は、型変換の集合である。型変換群185には、データ型「InputStream」を「LocalFilePath」に変換する第1の型変換1851、「LocalFilePath」を「File」に変換する第2の型変換1852等が含まれる。
The
さらに、これらの各型変換は、型変換共通I/F1850を有する。型変換共通I/F1850は、各型変換に対して共通に定義されたAPIであり、型変換を生成するためのAPIと、型変換に対して処理の実行を要求するためのAPIとが含まれる。このように、各型変換が型変換共通I/F1850を有するようにすることで、型変換の追加等に伴う影響を局所化することができる。換言すれば、型変換管理部184に影響を与えることなく、コンポーネントの追加等を行うことができる。これにより、型変換の追加等の開発に要する工数を削減することができる。
Furthermore, each of these type conversions has a type conversion common I /
続いて、図12のステップS1209の処理の詳細について、図15を参照しながら説明する。図15は、本実施形態に係るOCRから配信実行までの処理の一例のシーケンスを示す図である。 Subsequently, the details of the process of step S1209 of FIG. 12 will be described with reference to FIG. FIG. 15 is a diagram showing a sequence of an example of processing from OCR to delivery execution according to the present embodiment.
フロー実行部181は、アプリ管理部111から取得した処理内容に従って、コンポーネント管理部182に対して、コンポーネントの取得を要求する(ステップS1501)。より具体的には、フロー実行部181は、図7(a)に示す処理内容の「From("file:input")」の次に指定されている「.to("process:ocr")」に基づき、コンポーネント管理部182に対して、OCRコンポーネント1833の取得を要求する。
The
コンポーネント管理部182は、OCRコンポーネント1833の取得要求を受け取ると、OCRコンポーネント1833を生成する(ステップS1502)。OCRコンポーネント1833の生成は、コンポーネント共通I/F1830に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
When receiving the acquisition request for the
そして、OCRコンポーネント1833が生成されると、コンポーネント管理部182は、フロー実行部181に対して、OCRコンポーネント1833を返信する。これは、例えば、コンポーネント管理部182は、OCRコンポーネント1833が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部181に返信すれば良い。
Then, when the
フロー実行部181は、OCRコンポーネント1833が生成されると、当該OCRコンポーネント1833に対して、データを指定して処理の実行を要求する(ステップS1503)。なお、ここで指定されるデータは、データ型が「InputStream」としてクライアントアプリ2201から渡された電子ファイルである。
When the
すなわち、フロー実行部181は、クライアントアプリ2201からデータ型「InputStream」として渡される電子ファイルを、単に「データ」として(データ型を意識することなく)、OCRコンポーネント1833に渡して処理の実行を要求する。図15では、このようにデータ型を意識することなく渡される電子ファイル等を、単に「データ」と表す。
That is, the
OCRコンポーネント1833は、フロー実行部181から実行要求を受け取ると、型変換管理部184に対して、型変換を要求する(ステップS1504)。なお、当該型変換要求には、データと、OCRコンポーネント1833が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
When the
型変換管理部184は、OCRコンポーネント1833から型変換要求を受け取ると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1505)。ここでは、受け取った型変換要求に含まれるデータのデータ型は「InputStream」である一方、指定されたデータ型は「LocalFilePath」であるから、一致しないものと判断される。
When receiving a type conversion request from the
すると、型変換管理部184は、型変換テーブル3000を参照して、「InputStream」を「LocalFilePath」に変換するための型変換を特定して(ここでは、第1の型変換1851が特定される)、当該特定された型変換を生成する(ステップS1506)。
Then, the type
次に、型変換管理部184は、生成された第1の型変換1851に対して、データを指定して型変換処理の実行を要求する(ステップS1507)。すると、第1の型変換1851は、指定されたデータのデータ型を「InputStream」から「LocalFilePath」に変換して(ステップS1508)、当該変換後のデータを型変換管理部184に返信する。そして、型変換管理部184は、型変換後のデータをOCRコンポーネント1833に返信する(ステップS1509)。
Next, the type
OCRコンポーネント1833は、型変換管理部184から型変換後のデータを受け取ると、処理を実行する(ステップS1510)。すなわち、OCRコンポーネント1833は、データ型「LocalFilePath」のデータ(すなわち、パス又はアドレス)により示される電子ファイルに対して、OCR処理を実行する。より具体的には、OCRコンポーネント1833は、ドキュメントサービス部120のOCR処理121に処理を要求し、OCR処理121が当該電子ファイルに対して処理を実行する。
Upon receiving the data after type conversion from the type
そして、OCRコンポーネント1833は、データをフロー実行部181に返信する。なお、ここで、返信されるデータは、OCR処理後の電子ファイルを示すパス又はアドレスである(すなわち、返信されるデータのデータ型は「LocalFilePath」である。)。
Then, the
次に、フロー実行部181は、アプリ管理部111から取得した処理内容に従って、コンポーネント管理部182に対して、コンポーネントの取得を要求する(ステップS1511)。より具体的には、フロー実行部181は、図7(a)に示す処理内容の「.to("process:ocr")」の次に指定されている「.to("strage:send_to_folder?type=service-a")」に基づき、コンポーネント管理部182に対して、配信コンポーネント1831の取得を要求する。
Next, the
なお、ここで指定されている処理内容のうち「?type=service-a」の部分はオプションパラメータと称され、配信コンポーネント1831の処理によるデータのアップロード先のストレージサービスが「ストレージサービスA」であることを示している。また、上記の指定されている処理内容に、図12のステップS1205の実行要求に含まれる保存先(保存先フォルダのフォルダID)をオプションパラメータとして付加して「.to("strage:send_to_folder? type=service-a&folder_id_b")」としても良い。
Of the processing content specified here, the part of “? Type = service-a” is called an optional parameter, and the storage service of the data upload destination by the processing of
コンポーネント管理部182は、配信コンポーネント1831の取得要求を受け取ると、配信コンポーネント1831を生成する(ステップS1512)。配信コンポーネント1831の生成は、コンポーネント共通I/F1830に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
When the
そして、配信コンポーネント1831が生成されると、コンポーネント管理部182は、配信コンポーネント1831をフロー実行部181に返信する。これは、例えば、コンポーネント管理部182は、配信コンポーネント1831が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部181に返信すれば良い。
Then, when the
フロー実行部181は、配信コンポーネント1831が生成されると、当該配信コンポーネント1831に対して、データを指定して処理の実行を要求する(ステップS1513)。なお、ここで指定されたデータのデータ型は「LocalFilePath」である。
When the
配信コンポーネント1831は、フロー実行部181から実行要求を受け取ると、型変換管理部184に対して、型変換を要求する(ステップS1514)。なお、当該型変換要求には、データと、配信コンポーネント1831が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
When the
型変換管理部184は、配信コンポーネント1831から型変換要求を受け取ると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1515)。ここでは、受け取った型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型も「LocalFilePath」であるから、一致するものと判断される。
When receiving the type conversion request from the
そして、型変換管理部184は、型変換要求に含まれていたデータを、そのまま配信コンポーネント1831に送信する(ステップS1516)。このように、データ型チェック(ステップS1515の処理)で両者のデータ型が一致する場合には、型変換管理部184は型変換の生成を行わない。
Then, the type
配信コンポーネント1831は、型変換管理部184からデータを受け取ると、処理を実行する(ステップS1517)。すなわち、本実施形態では、配信コンポーネント1831は、ストレージサービスA連携部1301のファイル処理部1401に対して、共通I/F1411として定義されているファイル保存のAPIを用いて、データの配信実行を要求する。
Upon receiving the data from the type
より具体的には、配信コンポーネント1831は、ストレージサービスA連携部1301のファイル処理部1401に対して、図5(a)に示されるようにAPIとして「service-a/process/folder」を用いてデータの配信実行を要求する。これにより、ストレージサービスAのフォルダ「FolderB」に、ファイル名「test」の電子ファイル(スキャンにより生成された電子ファイルに対してOCR処理した電子ファイル)が保存される。
More specifically, the
そして、配信コンポーネント1831は、フロー実行部181に対して、データを返信する。ここで、返信されるデータは、配信コンポーネント1831による配信結果である。
Then, the
以上により、本実施形態に係るスキャン配信サービスにおけるOCRから配信実行までの一連の処理が完了する。 As described above, a series of processes from OCR to delivery execution in the scan delivery service according to the present embodiment are completed.
≪クラウドプリントサービスのアプリ画面の表示処理≫
以降では、本実施形態に係るクラウドプリントサービスを利用するためのアプリ画面を画像形成装置20に表示させる処理について、図16を参照しながら説明する。図16は、本実施形態に係るクラウドプリントサービスのアプリ画面の表示処理の一例のシーケンスを示す図である。
«Display processing of cloud print service application screen»
In the following, the process of causing the
まず、画像形成装置20のユーザは、クライアントアプリ2202を用いて、クラウドプリントサービスを利用するためのアプリ画面の表示操作を行う。すると、画像形成装置20のクライアントアプリ2202は、当該表示操作を受け付ける(ステップS1601)。
First, the user of the
クライアントアプリ2202は、当該表示操作を受け付けると、通信中継部210に対して、アプリ画面を表示させるための画面定義の取得要求を送信する(ステップS1602)。なお、画面定義の取得要求には、クラウドプリントサービスを実現するアプリ情報10002のアプリID「app002」が含まれる。
通信中継部210は、クライアントアプリ2202から画面定義の取得要求を受け取ると、サービス提供システム10のサービス処理部110に対して、当該取得要求を送信する(ステップS1603)。
サービス処理部110の通信中継部114は、画像形成装置20から画面定義の取得要求を受け取ると、当該取得要求をアプリ管理部111に転送する(ステップS1604)。アプリ管理部111は、通信中継部114から画面定義の取得要求を受け取ると、当該取得要求に含まれるアプリID「app002」のアプリ情報10002に含まれる画面定義を、アプリ情報記憶部160から取得する。そして、アプリ管理部111は、取得した画面情報をアプリID「app002」とともに画像形成装置20に返信する。
When receiving the screen definition acquisition request from the
画像形成装置20の通信中継部210は、サービス処理部110から画面定義とアプリID「app002」を受け取ると、クライアントアプリ管理情報記憶部230から当該アプリID「app002」に対応するコールバック先「/apps/02」を取得する(ステップS1605)。そして、通信中継部210は、取得したコールバック先「/apps/02」に対応するクライアントアプリ2202に画面定義を送信する。
When the
次に、画像形成装置20のクライアントアプリ2202は、画面定義を受け取ると、通信中継部210に対して、当該画面定義の表示用情報の取得要求を送信する(ステップS1606)。通信中継部210は、クライアントアプリ2202から表示用情報の取得要求を受け取ると、サービス提供システム10のサービス処理部110に対して、当該取得要求を送信する(ステップS1607)。なお、表示用情報の取得要求には、クラウドプリントサービスを実現するアプリ情報10002のアプリID「app002」が含まれる。
Next, the
すなわち、クライアントアプリ2202は、クラウドプリントサービスの印刷対象の候補となるストレージサービスAの電子ファイルの一覧の取得要求を送信する。このような要求は、図6(b)のデータ定義部1201に記述されている「"data_source"」に定義されているURL「http://sample.xxx.co.jp/service-a/data/files」にHTTPリクエストを送信することで行うことができる。
That is, the
次に、サービス処理部110の通信中継部114は、画像形成装置20から表示用情報の取得要求を受け取ると、当該取得要求をデータI/F部113に転送する(ステップS1608)。データI/F部113は、通信中継部114から表示用情報の取得要求を受け取ると、当該取得要求を対応するストレージサービス連携部130のデータ処理部150に送信する(ステップS1609)。すなわち、データI/F部113は、上記のURLに含まれる「service-a」(外部サービス名)に基づき、当該取得要求をストレージサービスA連携部1301のデータ処理部1501に送信する。
Next, when receiving the acquisition request for display information from the
データ処理部150は、データI/F部113から表示用情報の取得要求を受け取ると、当該取得要求に含まれるURLに基づき、該当の外部ストレージシステム30に対してファイル一覧の取得要求を送信する(ステップS1610)。すなわち、データ処理部150は、データI/F部113から受け取った表示用情報の取得要求に含まれるURLに基づき、共通I/F151に定義されているAPIを利用して、該当の外部ストレージシステム30に処理を要求する。
When the
より具体的には、データ処理部1501は、表示用情報の取得要求に含まれるURLの「/service-a/data/files」に基づき、共通I/F1511に定義されているAPIを用いて、外部ストレージシステム301にフォルダ一覧の取得を要求する。
More specifically, the
そして、サービス処理部110は、ストレージサービスA連携部1301により取得されたファイル一覧をアプリID「app002」とともに画像形成装置20に返信する。なお、ファイル一覧は、本実施形態に係るクラウドプリントサービスにおいて、印刷対象の候補となるストレージサービスAに保存されている電子ファイルのファイル名及びファイルID等の情報である。
The
画像形成装置20の通信中継部210は、サービス処理部110からファイル一覧とアプリID「app002」を受け取ると、クライアントアプリ管理情報記憶部230から当該アプリIDに対応するコールバック先「/apps/02」を取得する(ステップS1611)。そして、通信中継部210は、取得したコールバック先「/apps/01」に対応するクライアントアプリ2202にファイル一覧を送信する。
When the
次に、クライアントアプリ2202は、画面定義とファイル一覧に基づいて、例えば図17に示すようなアプリ画面4000を、操作パネル22に表示させる(ステップS1612)。
Next, the
ここで、図17に示すアプリ画面4000は、クラウドプリントサービスを利用するための画面であり、印刷対象ファイルを選択するためのファイル選択欄4001、及びプリント実行ボタン4002を含む。このようなファイル選択欄4001は、クライアントアプリ2202により、図6(b)に示す画面定義に含まれるデータ定義部1201と、ファイル一覧とに基づいて生成される。
Here, the
以上により、本実施形態に係る画像形成装置20の操作パネル22に、クラウドプリントサービスを利用するためのアプリ画面4000が表示される。
As described above, the
≪クラウドプリントサービスの全体処理≫
以降では、本実施形態に係るクラウドプリントサービスの全体処理について、図18を参照しながら説明する。図18は、本実施形態に係るクラウドプリントサービスの全体処理の一例のシーケンスを示す図である。
«Overall processing of cloud print service»
Hereinafter, the overall processing of the cloud print service according to the present embodiment will be described with reference to FIG. FIG. 18 is a diagram showing a sequence of an example of the overall processing of the cloud print service according to the present embodiment.
まず、画像形成装置20のユーザは、図17に示すアプリ画面4000において、ファイル選択欄4001から所望のファイルを選択して、プリント実行ボタン4002を押下する(ステップS1801)。ここで、ユーザは、ファイル選択欄4001から「FileA」を選択して、プリント実行ボタン4002を押下したものとする。
First, the user of the
すると、クライアントアプリ2202は、通信中継部210に対して、クラウドプリントサービスの処理の実行要求を送信する(ステップS1802)。なお、当該実行要求には、アプリID「app002」と、ファイル選択欄4001から選択されたファイル名「FileA」のファイルID「file_id_a」とが含まれる。
The
通信中継部210は、クライアントアプリ2202から処理の実行要求を受け取ると、サービス提供システム10のサービス処理部110に対して、当該実行要求を送信する(ステップS1803)。
サービス処理部110の通信中継部114は、画像形成装置20から処理の実行要求を受け取ると、当該実行要求をロジック処理部112に転送する(ステップS1804)。
When the
そして、ロジック処理部112は、通信中継部114から処理の実行要求を受け取ると、アプリ管理部111を介して、当該実行要求に含まれるアプリIDのアプリ情報1000に含まれる処理内容を取得する(ステップS1805)。より具体的には、ロジック処理部112は、アプリ管理部111対して、アプリID「app002」を含む処理内容の取得要求を送信する。すると、アプリ管理部111は、当該取得要求に含まれるアプリID「app002」のアプリ情報10002に含まれる処理内容をアプリ情報記憶部160から取得し、当該処理内容をロジック処理部112に返信する。
Then, when the
次に、ロジック処理部112は、アプリ管理部111から処理内容を受け取ると、処理情報を生成して、処理情報記憶部170に格納する(ステップS1806)。より具体的には、ロジック処理部112は、処理内容に基づく一連の処理を一意に識別する処理IDを生成する。そして、ロジック処理部112は、当該処理IDを、ステップS1803で画像形成装置20から処理の実行要求を受け取った際に用いたコネクション(論理的な通信路)のコネクションIDと、アプリID「app002」とに関連付けて処理情報を生成する。なお、このとき、処理結果には、ブランク(空白)や空値(NULL値)が設定されていれば良い。
Next, when receiving the processing content from the
以降では、処理ID「420677」、アプリID「app002」、及びコネクションID「6」を含む処理情報が生成されたものとして説明を続ける。 Hereinafter, the description will be continued on the assumption that the process information including the process ID “420677”, the application ID “app002”, and the connection ID “6” is generated.
続いて、ロジック処理部112は、処理状態監視部116に対して、ステップS1806で生成された処理情報の監視を要求する(ステップS1807)。なお、当該監視要求には、ステップS1806で生成された処理情報の処理ID「420677」が含まれる。
Subsequently, the
これにより、処理状態監視部116は、受け取った監視要求に含まれる処理ID「420677」の処理情報の更新有無(すなわち、処理状態に含まれるデータ項目「処理結果」が更新されたか否か)を監視する。
Thereby, the processing
次に、ロジック処理部112は、アプリID「app002」のアプリ情報10002に含まれる処理内容に基づき、ファイル取得から印刷変換までの処理を実行する(ステップS1808)。なお、ファイル取得から印刷変換処理の詳細については後述する。
Next, the
次に、ロジック処理部112は、ステップS1808のファイル取得から印刷変換処理の結果に応じて、処理ID「420677」の処理情報の処理結果を更新する(ステップS1809)。すなわち、ロジック処理部112は、ファイル取得から印刷変換処理の実行が完了した場合、当該処理情報に含まれる処理結果を「完了」に更新する。一方、ロジック処理部112は、ファイル取得から印刷変換までの処理の実行中にエラーが発生した場合、当該処理情報に含まれる処理結果を「エラー」に更新する。
Next, the
続いて、処理状態監視部116は、ロジック処理部112により処理情報が更新されると、これを検知する。そして、処理状態監視部116は、結果通知生成部115に対して、結果通知の生成要求を送信する(ステップS1810)。なお、当該生成要求には、更新が検知された処理情報の処理ID「420677」が含まれる。
Subsequently, when the processing information is updated by the
結果通知生成部115は、結果通知の生成要求を受け取ると、当該生成要求に含まれる処理ID「420677」の処理情報からアプリID「app002」及び処理結果を取得して、結果通知を作成する(ステップS1811)。そして、結果通知生成部115は、通信中継部114に対して、生成した結果通知を送信する(ステップS1812)。
When the result
通信中継部114は、結果通知生成部115から結果通知を受け取ると、当該結果通知を画像形成装置20に送信する(ステップS1813)。このとき、通信中継部114は、当該結果通知に対応する処理の実行要求を受け取ったコネクションを用いて、当該実行要求の送信元の画像形成装置20に対して、当該結果通知を送信する。すなわち、通信中継部114は、コネクションID「6」で識別されるコネクションを用いて、実行要求の送信元の画像形成装置20に対して、当該結果通知を送信する。
When the
画像形成装置20の通信中継部210は、サービス処理部110から結果通知を受け取ると、当該結果通知に含まれるアプリID「app002」に対応するコールバック先「/apps/02」を取得する(ステップS1814)。そして、通信中継部210は、取得したコールバック先「/apps/02」に対応するクライアントアプリ2202に当該結果通知を送信する(ステップS1815)。これにより、本実施形態に係るクラウドプリントサービスの処理の実行要求を行ったクライアントアプリ2202に対して、当該実行要求に対する処理結果を含む結果通知が送信される。なお、クライアントアプリ2202は、受け取った結果通知に応じて、例えば、結果画面等を操作パネル22に表示させれば良い。
When receiving the result notification from the
≪ファイル取得から印刷変換までの処理≫
以降では、図18のステップS1808の処理の詳細について、図19を参照しながら説明する。図19は、本実施形態に係るファイル取得から印刷変換までの処理の一例のシーケンスを示す図である。
<< Processing from file acquisition to print conversion >>
Hereinafter, the details of the process of step S1808 in FIG. 18 will be described with reference to FIG. FIG. 19 is a diagram showing a sequence of an example of processing from file acquisition to print conversion according to the present embodiment.
フロー実行部181は、アプリ管理部111から取得した処理内容に従って、コンポーネント管理部182に対して、コンポーネントの取得を要求する(ステップS1901)。より具体的には、フロー実行部181は、図7(b)に示す処理内容の「From("file:input")」の次に指定されている「.to("storage:receive_from_file? type=service-a")」に基づき、コンポーネント管理部182に対して、取得コンポーネント1832の取得を要求する。
The
なお、ここで指定されている処理内容のうち「?type=service-a」の部分はオプションパラメータと称され、取得コンポーネント1832の処理による電子ファイルの取得(ダウンロード)先ストレージサービスが「ストレージサービスA」であることを示している。また、上記の指定されている処理内容に、図18のS1803の実行要求に含まれる印刷対象のファイルである「FileA」のファイルIDをオプションパラメータとして付加して「.to("storage:receive_from_file?type=service-a&file_id_a")」としても良い。
Of the processing content specified here, the portion “? Type = service-a” is referred to as an optional parameter, and the acquisition (download) destination storage service of the electronic file by the processing of the
コンポーネント管理部182は、取得コンポーネント1832の取得要求を受け取ると、取得コンポーネント1832を生成する(ステップS1902)。取得コンポーネント1832の生成は、コンポーネント共通I/F1830に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
When the
そして、取得コンポーネント1832が生成されると、コンポーネント管理部182は、フロー実行部181に対して、取得コンポーネント1832を返信する。これは、例えば、コンポーネント管理部182は、取得コンポーネント1832が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部181に返信すれば良い。
Then, when the
フロー実行部181は、取得コンポーネント1832が生成されると、当該取得コンポーネント1832に対して、データを指定して処理の実行を要求する(ステップS1903)。なお、ここで指定されるデータは、データ型が「InputStream」としてクライアントアプリ2202から渡された印刷対象のファイル「FileA」のファイルIDである。
When the
すなわち、フロー実行部181は、クライアントアプリ2202からデータ型「InputStream」として渡されるファイルIDを、単に「データ」として(データ型を意識することなく)、取得コンポーネント1832に渡して処理の実行を要求する。図19では、このようにデータ型を意識することなく渡される電子ファイル等を、単に「データ」と表す。
That is, the
取得コンポーネント1832は、フロー実行部181から実行要求を受け取ると、型変換管理部184に対して、型変換を要求する(ステップS1904)。なお、当該型変換要求には、データと、取得コンポーネント1832が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
When the
型変換管理部184は、取得コンポーネント1832から型変換要求を受け取ると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1905)。ここでは、受け取った型変換要求に含まれるデータのデータ型は「InputStream」である一方、指定されたデータ型は「LocalFilePath」であるから、一致しないものと判断される。
When receiving the type conversion request from the
すると、型変換管理部184は、型変換テーブル3000を参照して、「InputStream」を「LocalFilePath」に変換するための型変換を特定して(ここでは、第1の型変換1851が特定される)、当該特定された型変換を生成する(ステップS1906)。
Then, the type
次に、型変換管理部184は、生成された第1の型変換1851に対して、データを指定して型変換処理の実行を要求する(ステップS1907)。すると、第1の型変換1851は、指定されたデータのデータ型を「InputStream」から「LocalFilePath」に変換して(ステップS1908)、当該変換後のデータを型変換管理部184に返信する。そして、型変換管理部184は、型変換後のデータを取得コンポーネント1832に返信する(ステップS1909)。
Next, the type
取得コンポーネント1832は、型変換管理部184から型変換後のデータを受け取ると、処理を実行する(ステップS1910)。すなわち、取得コンポーネント1832は、ストレージサービスA連携部1301のファイル処理部1401に対して、共通I/F1411として定義されているファイル取得のAPIを用いて、ファイル取得を要求する。
The
より具体的には、取得コンポーネント1832は、ストレージサービスA連携部1301のファイル処理部1401に対して、図5(a)に示されるようにAPIとして「service-a/process/file」を用いてファイル取得を要求する。これにより、外部ストレージシステム301からファイルID「file_id_a」の電子ファイル(すなわち、ファイル名「FileA」の電子ファイル)が取得(ダウンロード)される。
More specifically,
そして、取得コンポーネント1832は、データをフロー実行部181に返信する。なお、ここで、返信されるデータは、外部ストレージシステム301から取得(ダウンロード)された電子ファイルを示すパス又はアドレスである(すなわち、返信されるデータのデータ型は「LocalFilePath」である。)。
Then, the
次に、フロー実行部181は、アプリ管理部111から取得した処理内容に従って、コンポーネント管理部182に対して、コンポーネントの取得を要求する(ステップS1911)。より具体的には、フロー実行部181は、図7(b)に示す処理内容の「.to("storage:receive_from_file?type=service-a")」の次に指定されている「.to("process:conv")」に基づき、印刷変換コンポーネント1834の取得を、コンポーネント管理部182に要求する。
Next, the
コンポーネント管理部182は、印刷変換コンポーネント1834の取得要求を受け取ると、印刷変換コンポーネント1834を生成する(ステップS1912)。印刷変換コンポーネント1834の生成は、コンポーネント共通I/F1830に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
When the
そして、印刷変換コンポーネント1834が生成されると、コンポーネント管理部182は、印刷変換コンポーネント1834をフロー実行部181に返信する。これは、例えば、コンポーネント管理部182は、印刷変換コンポーネント1834が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部181に返信すれば良い。
Then, when the
フロー実行部181は、印刷変換コンポーネント1834が生成されると、当該印刷変換コンポーネント1834に対して、データを指定して処理の実行を要求する(ステップS1913)。なお、ここで指定されたデータのデータ型は「LocalFilePath」である。
When the
印刷変換コンポーネント1834は、フロー実行部181から実行要求を受け取ると、型変換管理部184に対して、型変換を要求する(ステップS1914)。なお、当該型変換要求には、データと、印刷変換コンポーネント1834が扱うことができるデータ型を示す「File」の指定とが含まれる。
Upon receiving the execution request from the
型変換管理部184は、印刷変換コンポーネント1834から型変換要求を受け取ると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1915)。ここでは、受け取った型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型は「File」であるから、一致しないものと判断される。
When receiving the type conversion request from the
すると、型変換管理部184は、型変換テーブル3000を参照して、「LocalFilePath」を「File」に変換するための型変換を特定して(ここでは、第2の型変換1852が特定される)、当該特定された型変換を生成する(ステップS1916)。
Then, the type
次に、型変換管理部184は、生成された第2の型変換1852に対して、データを指定して型変換処理の実行を要求する(ステップS1917)。すると、第2の型変換1852は、指定されたデータのデータ型を「LocalFilePath」から「File」に変換して(ステップS1918)、当該変換後のデータを型変換管理部184に返信する。そして、型変換管理部184は、型変換後のデータを印刷変換コンポーネント1834に返信する(ステップS1919)。
Next, the type
印刷変換コンポーネント1834は、型変換管理部184から型変換後のデータを受け取ると、処理を実行する(ステップS1920)。すなわち、印刷変換コンポーネント1834は、データ型「File」のデータ(すなわち、電子ファイル)を、画像形成装置20が印刷可能なデータ形式である印刷データに変換する処理を実行する。より具体的には、印刷変換コンポーネント1834は、ドキュメントサービス部120の印刷変換処理122に処理を要求し、印刷変換処理122がデータ(電子ファイル)に対して処理を実行する。
Upon receiving the data after type conversion from the type
そして、印刷変換コンポーネント1834は、フロー実行部181に対して、データを返信する。ここで、返信されるデータは、印刷データである。
Then, the
以上により、本実施形態に係るクラウドプリントサービスにおけるファイル取得から印刷変換までの一連の処理が完了する。 As described above, a series of processes from file acquisition to print conversion in the cloud print service according to the present embodiment is completed.
<まとめ>
以上のように、本実施形態に係る情報処理システム1によれば、サービス提供システム10により外部サービスと連携したサービスを画像形成装置20に提供することができる。
<Summary>
As described above, according to the
また、本実施形態に係るサービス提供システム10では、連携先の外部サービスの追加。変更を容易に行うことができるとともに、画像形成装置20に提供するサービスの追加・変更等(すなわち、アプリ情報1000の追加・変更等)を容易に行うことができる。このため、本実施形態に係るサービス提供システム10では、サービスの追加・変更等に伴う開発・維持に要する工数を削減することができる。
Further, in the
さらに、本実施形態に係るサービス提供システム10は、サービスを実現する処理実行要求の送信元の画像形成装置20との間のコネクションを識別するコネクションIDを含む処理情報を管理する。これにより、本実施形態に係るサービス提供システム10では、複数の画像形成装置20に対してサービスを提供することができる。
Furthermore, the
また、本実施形態に係る画像形成装置20に搭載されているクライアントアプリ220は、複数のクライアントアプリ220が同時にサービス提供システム10を利用することができるようになる。このため、本実施形態に係る画像形成装置20では、効率的に通信リソースを利用することができる。
Further, with the
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 The present invention is not limited to the above specifically disclosed embodiments, and various modifications and changes are possible without departing from the scope of the claims.
1 情報処理システム
10 サービス提供システム
20 画像形成装置
30 外部ストレージシステム
110 サービス処理部
111 アプリ管理部
112 ロジック処理部
113 データI/F部
114 通信中継部
115 結果通知生成部
116 処理状態監視部
120 ドキュメントサービス部
121 OCR処理
122 印刷変換処理
130 ストレージサービス連携部
140 ファイル処理部
150 データ処理部
160 アプリ情報記憶部
170 処理情報記憶部
181 フロー実行部
182 コンポーネント管理部
183 コンポーネント群
184 型変換管理部
185 型変換群
210 通信中継部
220 クライアントアプリケーション
230 クライアントアプリ管理情報記憶部
1000 アプリ情報
3000 型変換テーブル
Claims (7)
電子データを用いた一連の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別するアプリ識別情報と、該一連の処理に関する情報と、該一連の処理に用いる前記電子データを指定させる画面の画面情報と、を関連付けて記憶する記憶手段と、
前記情報処理システムに接続される1以上の機器のうちの一の機器から前記アプリ識別情報を含む第1の要求を受け付けると、該第1の要求に含まれる該アプリ識別情報に関連付けて前記記憶手段に記憶されている前記画面情報を、要求元の前記一の機器に送信する第1の送信手段と、
前記第1の送信手段により送信された前記画面情報に基づき前記一の機器に表示された画面を介してユーザにより指定された電子データに関する情報とアプリ識別情報とを含む第2の要求を前記一の機器から受け付けると、前記アプリ識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づく一連の処理を示す情報と、前記一の機器との接続を特定する情報と、を関連付けた処理情報を生成する生成手段と、
前記一連の処理を、前記第2の要求に含まれる前記電子データに関する情報により指定される電子データに対して実行する処理実行手段と、
前記処理実行手段により実行された前記一連の処理の処理結果を、前記生成手段により生成された前記処理情報に含まれる前記接続を特定する情報に基づき前記一の機器に送信する第2の送信手段と、
前記処理情報が更新されたことを検知する検知手段と、
新たなアプリケーションを前記情報処理システムに追加する場合、該新たなアプリケーションを識別するアプリ識別情報と、前記新たなアプリケーションが実行する一連の処理に関する情報と、前記新たなアプリケーションが実行する一連の処理に用いる電子データを指定させる画面の画面情報とを関連付けて前記記憶手段に記憶させる保存手段と、
を有し、
前記処理実行手段は、
前記一連の処理の実行が完了した場合、又は前記一連の処理の実行中にエラーが発生した場合、前記処理情報を更新し、
前記第2の送信手段は、
前記検知手段により前記処理情報の更新が検知されると、前記処理実行手段により実行された前記一連の処理の処理結果を、前記生成手段により生成された前記処理情報に含まれる前記接続を特定する情報に基づき前記一の機器に送信する、情報処理システム。 An information processing system including one or more information processing apparatuses, wherein
For each application executing a series of processes using electronic data in cooperation with an external service, application identification information for identifying the application, information on the series of processes, and the electronic data used for the series of processes are specified Storage means for storing the screen information of the screen to be displayed in association with each other;
When a first request including the application identification information is received from one of the one or more devices connected to the information processing system, the storage is associated with the application identification information included in the first request. First transmission means for transmitting the screen information stored in the means to the one device of the request source;
A second request including information on electronic data designated by the user via the screen displayed on the one device based on the screen information transmitted by the first transmission means and application identification information; Information indicating a series of processes based on the information on the series of processes stored in the storage unit in association with the application identification information, information identifying a connection with the one apparatus, and Generating means for generating processing information in which
A processing execution unit that executes the series of processing on electronic data specified by the information related to the electronic data included in the second request;
A second transmission unit that transmits processing results of the series of processing executed by the processing execution unit to the one device based on the information specifying the connection included in the processing information generated by the generation unit and,
Detection means for detecting that the processing information has been updated;
When adding a new application to the information processing system, application identification information identifying the new application, information on a series of processes executed by the new application, and a series of processes executed by the new application Storage means for storing in the storage means in association with screen information of a screen for designating electronic data to be used;
I have a,
The process execution means is
If the execution of the series of processes is completed, or if an error occurs during the execution of the series of processes, the process information is updated.
The second transmission means is
When an update of the processing information is detected by the detection unit, a processing result of the series of processing executed by the processing execution unit is used to specify the connection included in the processing information generated by the generation unit. An information processing system for transmitting to the one device based on information.
前記第1の送信手段により送信された前記画面情報に基づき前記一の機器に表示された画面を介してユーザにより指定された電子データに関する情報を含む第2の要求を前記一の機器から受け付けると、前記アプリ識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づく一連の処理を示す情報と、前記一の機器との接続を特定する情報と、を関連付けた処理情報を生成する、請求項1に記載の情報処理システム。 The generation means is
When a second request including information on electronic data designated by the user via the screen displayed on the one device based on the screen information transmitted by the first transmission unit is received from the one device Processing information in which information indicating a series of processes based on the information on the series of processes stored in the storage unit in association with the application identification information is associated with information specifying a connection with the one device The information processing system according to claim 1, which generates
電子データに対して、それぞれ所定の処理を行う複数のコンポーネントを有し、
前記第2の要求に含まれる前記電子データに関する情報により指定される電子データに対して実行する前記一連の処理を、該一連の処理に含まれる処理を行うコンポーネントを組み合わせることで実行する、請求項1又は2に記載の情報処理システム。 The process execution means is
It has a plurality of components that perform predetermined processing on electronic data,
The series of processes to be performed on electronic data specified by the information related to the electronic data included in the second request is performed by combining components that perform the processes included in the series of processes. The information processing system according to 1 or 2 .
さらに、電子データに対して、該電子データのデータ型を所定のデータ型に変換する型変換手段を1以上有し、
前記第2の要求に含まれる前記電子データに関する情報により指定される電子データに対して実行する前記一連の処理を、1以上の前記型変換手段と、該一連の処理に含まれる処理を行うコンポーネントとを組み合わせて、前記電子データに関する情報により指定される電子データのデータ型を前記型変換手段により前記コンポーネントが処理可能な所定のデータ型に変換した後、該コンポーネントにより所定の処理を行うことにより実行する、請求項3記載の情報処理システム。 The process execution means is
The electronic data further comprises one or more type conversion means for converting the data type of the electronic data into a predetermined data type,
Component for performing the series of processes to be executed on electronic data specified by the information on the electronic data included in the second request, the one or more of the type conversion means, and the processes included in the series of processes By converting the data type of electronic data specified by the information related to the electronic data into a predetermined data type that can be processed by the component by the type conversion means, and then performing predetermined processing by the component The information processing system according to claim 3 , which executes.
前記外部サービスに関する処理を実行するコンポーネントは、
外部サービスに対して電子データをアップロードする処理を行うコンポーネント及び外部サービスから電子データをダウンロードする処理を行うコンポーネントを少なくとも含む、請求項3又は4に記載の情報処理システム。 The plurality of components include components that execute processing related to an external service,
The component that executes the process related to the external service is
At least includes a component that performs the process of downloading electronic data from components and external service to perform the process of uploading electronic data to the external service, the information processing system according to claim 3 or 4.
電子データを用いた一連の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別するアプリ識別情報と、該一連の処理に関する情報と、該一連の処理に用いる前記電子データを指定させる画面の画面情報と、を関連付けて記憶する記憶手段と、
前記情報処理装置に接続される1以上の機器のうちの一の機器から前記アプリ識別情報を含む第1の要求を受け付けると、該第1の要求に含まれる該アプリ識別情報に関連付けて前記記憶手段に記憶されている前記画面情報を、要求元の前記一の機器に送信する第1の送信手段と、
前記第1の送信手段により送信された前記画面情報に基づき前記一の機器に表示された画面を介してユーザにより指定された電子データに関する情報とアプリ識別情報とを含む第2の要求を前記一の機器から受け付けると、前記アプリ識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づく一連の処理を示す情報と、前記一の機器との接続を特定する情報と、を関連付けた処理情報を生成する生成手段と、
前記一連の処理を、前記第2の要求に含まれる前記電子データに関する情報により指定される電子データに対して実行する処理実行手段と、
前記処理実行手段により実行された前記一連の処理の処理結果を、前記生成手段により生成された前記処理情報に含まれる前記接続を特定する情報に基づき前記一の機器に送信する第2の送信手段と、
前記処理情報が更新されたことを検知する検知手段と、
新たなアプリケーションを前記情報処理装置に追加する場合、該新たなアプリケーションを識別するアプリ識別情報と、前記新たなアプリケーションが実行する一連の処理に関する情報と、前記新たなアプリケーションが実行する一連の処理に用いる電子データを指定させる画面の画面情報とを関連付けて前記記憶手段に記憶させる保存手段と、
を有し、
前記処理実行手段は、
前記一連の処理の実行が完了した場合、又は前記一連の処理の実行中にエラーが発生した場合、前記処理情報を更新し、
前記第2の送信手段は、
前記検知手段により前記処理情報の更新が検知されると、前記処理実行手段により実行された前記一連の処理の処理結果を、前記生成手段により生成された前記処理情報に含まれる前記接続を特定する情報に基づき前記一の機器に送信する、情報処理装置。 An information processing apparatus,
For each application executing a series of processes using electronic data in cooperation with an external service, application identification information for identifying the application, information on the series of processes, and the electronic data used for the series of processes are specified Storage means for associating and storing screen information of the screen to be displayed;
When a first request including the application identification information is received from one of the one or more devices connected to the information processing apparatus, the storage is associated with the application identification information included in the first request. First transmission means for transmitting the screen information stored in the means to the one device of the request source;
A second request including information on electronic data designated by the user via the screen displayed on the one device based on the screen information transmitted by the first transmission means and application identification information; Information indicating a series of processes based on the information on the series of processes stored in the storage unit in association with the application identification information, information identifying a connection with the one apparatus, and Generating means for generating processing information in which
A processing execution unit that executes the series of processing on electronic data specified by the information related to the electronic data included in the second request;
A second transmission unit that transmits processing results of the series of processing executed by the processing execution unit to the one device based on the information specifying the connection included in the processing information generated by the generation unit and,
Detection means for detecting that the processing information has been updated;
When a new application is added to the information processing apparatus, application identification information for identifying the new application, information on a series of processes executed by the new application, and a series of processes executed by the new application Storage means for storing in the storage means in association with screen information of a screen for designating electronic data to be used;
I have a,
The process execution means is
If the execution of the series of processes is completed, or if an error occurs during the execution of the series of processes, the process information is updated.
The second transmission means is
When an update of the processing information is detected by the detection unit, a processing result of the series of processing executed by the processing execution unit is used to specify the connection included in the processing information generated by the generation unit. An information processing apparatus that transmits to the one device based on information.
前記情報処理システムに接続される1以上の機器のうちの一の機器から前記アプリ識別情報を含む第1の要求を受け付けると、該第1の要求に含まれる該アプリ識別情報に関連付けて前記記憶手段に記憶されている前記画面情報を、要求元の前記一の機器に送信する第1の送信手順と、
前記第1の送信手順により送信された前記画面情報に基づき前記一の機器に表示された画面を介してユーザにより指定された電子データに関する情報とアプリ識別情報とを含む第2の要求を前記一の機器から受け付けると、前記アプリ識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づく一連の処理を示す情報と、前記一の機器との接続を特定する情報と、を関連付けた処理情報を生成する生成手順と、
前記一連の処理を、前記第2の要求に含まれる前記電子データに関する情報により指定される電子データに対して実行する処理実行手順と、
前記処理実行手順により実行された前記一連の処理の処理結果を、前記生成手順により生成された前記処理情報に含まれる前記接続を特定する情報に基づき前記一の機器に送信する第2の送信手順と、
前記処理情報が更新されたことを検知する検知手順と、
新たなアプリケーションを前記情報処理システムに追加する場合、該新たなアプリケーションを識別するアプリ識別情報と、前記新たなアプリケーションが実行する一連の処理に関する情報と、前記新たなアプリケーションが実行する一連の処理に用いる電子データを指定させる画面の画面情報とを関連付けて前記記憶手段に記憶させる保存手順と、
を有し、
前記処理実行手順は、
前記一連の処理の実行が完了した場合、又は前記一連の処理の実行中にエラーが発生した場合、前記処理情報を更新し、
前記第2の送信手順は、
前記検知手順により前記処理情報の更新が検知されると、前記処理実行手順により実行された前記一連の処理の処理結果を、前記生成手順により生成された前記処理情報に含まれる前記接続を特定する情報に基づき前記一の機器に送信する、情報処理方法。 An information processing system including one or more information processing apparatuses, for each application that executes a series of processing using electronic data in cooperation with an external service, application identification information for identifying the application, and the series An information processing method for use in an information processing system including storage means for storing information related to processing and screen information of a screen for specifying the electronic data used for the series of processing in association with each other;
When a first request including the application identification information is received from one of the one or more devices connected to the information processing system, the storage is associated with the application identification information included in the first request. A first transmission procedure for transmitting the screen information stored in the means to the one device of the request source;
A second request including information on electronic data designated by the user via the screen displayed on the one device based on the screen information transmitted by the first transmission procedure and application identification information; Information indicating a series of processes based on the information on the series of processes stored in the storage unit in association with the application identification information, information identifying a connection with the one apparatus, and Generation procedure for generating processing information in which
A process execution procedure for executing the series of processes on electronic data specified by the information on the electronic data included in the second request;
A second transmission procedure for transmitting the processing result of the series of processing executed by the processing execution procedure to the one device based on the information specifying the connection included in the processing information generated by the generation procedure and,
A detection procedure for detecting that the processing information has been updated;
When adding a new application to the information processing system, application identification information identifying the new application, information on a series of processes executed by the new application, and a series of processes executed by the new application A storage procedure for storing in the storage means in association with screen information of a screen for designating electronic data to be used;
I have a,
The process execution procedure is
If the execution of the series of processes is completed, or if an error occurs during the execution of the series of processes, the process information is updated.
The second transmission procedure is
When an update of the processing information is detected by the detection procedure, a processing result of the series of processing executed by the processing execution procedure is specified to the connection included in the processing information generated by the generation procedure. An information processing method for transmitting to the one device based on information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015160422A JP6544133B2 (en) | 2015-08-17 | 2015-08-17 | INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, AND INFORMATION PROCESSING METHOD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015160422A JP6544133B2 (en) | 2015-08-17 | 2015-08-17 | INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, AND INFORMATION PROCESSING METHOD |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017041669A JP2017041669A (en) | 2017-02-23 |
JP6544133B2 true JP6544133B2 (en) | 2019-07-17 |
Family
ID=58206721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015160422A Active JP6544133B2 (en) | 2015-08-17 | 2015-08-17 | INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, AND INFORMATION PROCESSING METHOD |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6544133B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11310372B2 (en) | 2019-12-27 | 2022-04-19 | Ricoh Company, Ltd. | Service providing system, information processing system, and information processing method for transmitting data to application with authority to store in external service system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3702284B2 (en) * | 1996-04-04 | 2005-10-05 | パナソニック コミュニケーションズ株式会社 | E-mail device and relay transfer method |
JP2007299270A (en) * | 2006-05-01 | 2007-11-15 | Yokogawa Electric Corp | Information management system, method and program |
JP5056874B2 (en) * | 2010-03-17 | 2012-10-24 | コニカミノルタビジネステクノロジーズ株式会社 | Information processing system, information processing apparatus, linked job execution method, and linked job execution program |
JP5409529B2 (en) * | 2010-07-01 | 2014-02-05 | 三菱電機株式会社 | Application execution apparatus and program |
JP6229279B2 (en) * | 2013-03-08 | 2017-11-15 | ブラザー工業株式会社 | Relay device, relay device program, and communication method |
-
2015
- 2015-08-17 JP JP2015160422A patent/JP6544133B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017041669A (en) | 2017-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6439370B2 (en) | Information processing system, information processing method, information processing apparatus, and program | |
US10122870B2 (en) | Information processing system, information processing apparatus, and information processing method | |
JP7158864B2 (en) | System and method of using it | |
JP5921165B2 (en) | Printing system, relay server, printing system control method, and computer program | |
JP5424614B2 (en) | Information processing system, information processing apparatus, Web server, control method, and program | |
JP5388541B2 (en) | Image processing apparatus, image processing system, control method thereof, program, and storage medium | |
JP6859620B2 (en) | Information processing system, information processing device, information processing method, and information processing program | |
JP6701961B2 (en) | Information processing system, information processing apparatus, information processing method, and program | |
US11252283B2 (en) | Storage medium, and method and apparatus for managing printing | |
CN105404440A (en) | Information Processing System, Information Processing Apparatus, Method Of Controlling The Same, And Storage Medium | |
JP2020017217A (en) | Image forming apparatus, system, method for controlling these, and program | |
JP2016165046A (en) | Information processing system, information processor, information processing method, and program | |
CN103116478A (en) | Information processing system, information processing apparatus, button processing method, and storage medium | |
JP2016162286A (en) | Information processing system, information processing method, information processing device and program | |
JP6756270B2 (en) | Information processing system, information processing device, information processing method, and program | |
JP2011041214A (en) | Document management system and method for controlling the same and information processing apparatus | |
US20100220352A1 (en) | Image forming apparatus, image forming system, and information processing method | |
JP2018037746A (en) | Information processing system, information processor, and information processing method | |
JP6413686B2 (en) | Information processing system, information processing apparatus, and information processing method | |
US8902462B1 (en) | System and control method | |
JP6544133B2 (en) | INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, AND INFORMATION PROCESSING METHOD | |
JP6406867B2 (en) | Management device, computer program, and management method | |
JP2009110050A (en) | Information processor, information processing system, display control method, display control program, and recording medium | |
JP2006302145A (en) | Document registration system, image forming device and information processor | |
JP2010055559A (en) | Document management device, document management method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180709 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190312 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190510 |
|
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: 20190521 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190603 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6544133 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |