(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
<実施の形態>
〔画像形成システムXの構成〕
【0011】
まず、
図1により、画像形成システムXの構成について説明する。
画像形成システムXは、例えば、アプリの実行指示を行う画像形成装置1と、画像形成装置1と接続可能なサーバー2とを含んでいる。
画像形成装置1は、操作パネル部16(
図2)等を備えるMFPや単機能のプリンター等であり、当該機器に対応付けられたアプリをサーバー2と協働して使用することが可能である。
サーバー2は、インターネット(登録商標)上のデータセンター等のいわゆる「クラウド」に載置されたPC/AT互換機等のPCサーバーやARM(登録商標)サーバー、イントラネット上のサーバー等の情報処理装置である。サーバー2は、画像形成装置1に対応付けられたアプリを記憶しており、画像形成装置1からの指示に従って実行することが可能である。
画像形成装置1、及びサーバー2は、LAN(Local Area Network)、無線LAN、WAN(Wide Area Network)、携帯電話網等であるネットワーク5に接続されている。
【0012】
〔画像形成装置1の全体の構成〕
次に、
図2により、画像形成装置1の全体の構成について説明する。画像形成装置1は、画像処理部11、原稿読取部12、原稿給送部13、搬送部(給紙ローラー42b、搬送ローラー対44、排出ローラー対45)、ネットワーク送受信部15、操作パネル部16、画像形成部17(画像形成手段)、及び記憶部19等が、制御部10に接続されている。各部は、制御部10によって動作制御される。
【0013】
制御部10は、GPP(General Purpose Processor)、CPU(Central Processing Unit、中央処理装置)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)、ASIC(Application Specific Processor、特定用途向けプロセッサー)等の情報処理手段である。
制御部10は、記憶部19のROMやHDDに記憶されている制御プログラムを読み出して、この制御プログラムをRAMに展開させて実行することで、後述する機能ブロックの各手段として動作させられる。また、制御部10は、図示しない外部の端末や操作パネル部16から入力された所定の指示情報に応じて、装置全体の制御を行う。
【0014】
画像処理部11は、DSP(Digital Signal Processor)やGPU(Graphics Processing Unit)等の制御演算手段である。画像処理部11は、各種の画像のデータに対して所定の画像処理を行う手段であり、例えば、拡大縮小、濃度調整、階調調整、画像改善等の各種画像処理を行う。
画像処理部11は、原稿読取部12で読み取られた画像を、記憶部19に印刷データとして記憶する。この際、画像処理部11は、印刷データをPDFやTIFF等のフォーマットのファイル単位に変換することも可能である。
【0015】
原稿読取部12は、セットされた原稿を読み取る(スキャン)手段である。
原稿給送部13は、原稿読取部12で読み取られる原稿を搬送する手段である。
画像形成部17は、ユーザーの出力指示により、記憶部19に記憶され、原稿読取部12で読み取られ、又は外部の端末から取得されたデータから記録紙への画像形成を行わせる手段である。
搬送部(給紙ローラー42b、搬送ローラー対44、排出ローラー対45)は、給紙カセット42a(
図3)から記録紙を搬送し、画像形成部17で画像形成させ、その後にスタックトレイ50へ搬送する。
なお、原稿読取部12、原稿給送部13、搬送部、画像形成部17の動作については後述する。
【0016】
ネットワーク送受信部15は、LAN、無線LAN、WAN、携帯電話網等の外部ネットワークに接続するためのLANボードや無線送受信機等を含むネットワーク接続手段である。
ネットワーク送受信部15は、データ通信用の回線ではデータを送受信し、音声電話回線では音声信号を送受信する。
ネットワーク送受信部15は、ネットワークを介して、図示しないPC(Personal Computer)やスマートフォンやPDA(Personal Data Assistant)や携帯電話等の外部の端末、サーバー等に接続されていてもよい。
【0017】
操作パネル部16は、LCD等の表示部と、テンキー、スタート、キャンセル、複写やFAX送信やスキャナー等の動作モードの切り換えのボタンと、選択された文書の印刷や送信や保存や記録等に関するジョブの実行に係る指示を行うためのボタンやタッチパネル等の入力部とを備えている。
操作パネル部16は、ユーザーの指示を取得する。このユーザーの指示は、後述するアプリ500(
図5)のインストールや使用の指示を含む。また、ユーザーの指示により、各ユーザーの情報を入力、変更することも可能である。このため、操作パネル部16は、専用の制御部とROMやRAM等の記録媒体を備えて、制御部10と連携してGUI(Graphical User Interface)の制御を行ってもよい。アプリ500のインストールや使用時の操作パネル部16の制御の詳細については後述する。
また、操作パネル部16には、USBメモリーやフラッシュメモリーカードの記録媒体や記録媒体を内蔵した外部機器を接続するための接続部が備えられていてもよい。
【0018】
記憶部19は、ROM(Read Only Memory)、RAM(Random Access Memory)等の半導体メモリーやHDD(Hard Disk Drive)等の記録媒体を用いた記憶手段である。
記憶部19のRAMは、省電力状態であっても、セルフリフレッシュ等の機能により、記憶内容が保持される。
記憶部19のROMやHDDには画像形成装置1の動作制御を行うための制御プログラムが記憶されている。これに加えて、記憶部19は、ユーザーのアカウント設定も記憶している。また、記憶部19に、ユーザー毎やアプリ500(
図5)毎の文書ボックスの領域が含まれていてもよい。
【0019】
なお、画像形成装置1において、制御部10及び画像処理部11は、GPU内蔵CPU等やチップ・オン・モジュールパッケージのように、一体的に形成されていてもよい。
また、制御部10及び画像処理部11は、RAMやROMやフラッシュメモリー等を内蔵していてもよい。
また、画像形成装置1は、ファクシミリの送受信を行うFAX送受信部を備えていてもよい。
【0020】
〔画像形成装置1の動作〕
次に、
図3を参照して、本発明の実施の形態に係る画像形成装置1の動作について説明する。
原稿読取部12は、本体部14の上部に配設され、原稿給送部13は、原稿読取部12の上部に配設されている。スタックトレイ50は、本体部14に形成された記録紙の排出口41側に配設され、また、操作パネル部16は、画像形成装置1のフロント側に配設されている。
【0021】
原稿読取部12は、スキャナー12aと、プラテンガラス12bと、原稿読取スリット12cとを備えている。スキャナー12aは、露光ランプ、及びCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)撮像センサー等から構成され、原稿給送部13による原稿の搬送方向に移動可能に構成されている。
プラテンガラス12bは、ガラス等の透明部材により構成された原稿台である。原稿読取スリット12cは、原稿給送部13による原稿の搬送方向と直交方向に形成されたスリットを有する。
【0022】
プラテンガラス12bに載置された原稿を読み取る場合には、スキャナー12aは、プラテンガラス12bに対向する位置に移動され、プラテンガラス12bに載置された原稿を走査しながら原稿を読み取って画像データを取得して、取得した画像データを本体部14に備わる制御部10(
図2)に出力する。
また、原稿給送部13により搬送された原稿を読み取る場合には、スキャナー12aは、原稿読取スリット12cと対向する位置に移動され、原稿読取スリット12cを介し、原稿給送部13による原稿の搬送動作と同期して原稿を読み取って画像データを取得し、取得した画像データを本体部14に備わる制御部10に出力する。
【0023】
原稿給送部13は、原稿載置部13aと、原稿排出部13bと、原稿搬送機構13cとを備えている。原稿載置部13aに載置された原稿は、原稿搬送機構13cによって、1枚ずつ順に繰り出されて原稿読取スリット12cに対向する位置へ搬送され、その後、原稿排出部13bに排出される。
なお、原稿給送部13は、可倒式に構成され、原稿給送部13を上方に持ち上げることで、プラテンガラス12bの上面を開放させることができる。
【0024】
本体部14は、画像形成部17を備えると共に、給紙部42と、用紙搬送路43と、搬送ローラー対44と、排出ローラー対45とを備えている。給紙部42は、それぞれサイズ又は向きが異なる記録紙を収納する複数の給紙カセット42aと、給紙カセット42aから記録紙を1枚ずつ用紙搬送路43に繰り出す給紙ローラー42bとを備えている。給紙ローラー42b、搬送ローラー対44、及び排出ローラー対45は、搬送部として機能する。記録紙は、この搬送部により搬送される。
給紙ローラー42bによって用紙搬送路43に繰り出された記録紙は、搬送ローラー対44によって画像形成部17に搬送される。そして、画像形成部17によって記録が施された記録紙は、排出ローラー対45によってスタックトレイ50に排出される。
【0025】
画像形成部17は、感光体ドラム17aと、露光部17bと、現像部17cと、転写部17dと、定着部17eとを備えている。露光部17bは、レーザー装置やミラーやレンズやLEDアレイ等を備えた光学ユニットであり、図示しない帯電部により一次帯電された感光体ドラム17aに対して、画像データに基づいて光等を出力して露光し、感光体ドラム17aの表面に静電潜像を形成する。現像部17cは、トナーを用いて感光体ドラム17aに形成された静電潜像を現像する現像ユニットであり、静電潜像に基づいたトナー像を感光体ドラム17a上に形成させる。転写部17dは、現像部17cによって感光体ドラム17a上に形成されたトナー像を記録紙に転写させる。定着部17eは、転写部17dによってトナー像が転写された記録紙を加熱してトナー像を記録紙に定着させる。
【0026】
〔サーバー2の全体の構成〕
次に、
図4を参照して、サーバー2(情報処理装置)の全体構成について説明する。
サーバー2は、制御部20、ネットワーク送受信部25、記憶部29を備えている。各部は、制御部20によって動作制御される。
【0027】
制御部20は、GPP、CPU、MPU、DSP、GPU(Graphics Processing Unit)、ASIC等である演算・制御能力を備えた情報処理部である。制御部20は、記憶部29に記憶されたプログラムを、ハードウェア資源を用いて実行する。
【0028】
ネットワーク送受信部25は、ネットワーク5に接続するための、例えば1000BASE−T/100BASE−TX等の規格のLANインターフェイスや無線LANインターフェイスや携帯電波送受信デバイス等である。サーバー2は、ネットワーク送受信部25を介して、各種データを送受信可能である。
なお、ネットワーク送受信部25は、外部のハブやルータ等に接続され、ネットワーク5に接続されていてもよい。
【0029】
記憶部29は、RAM、SSD(Solid State Drive)等のフラッシュメモリーディスク、HDD(Hard Disk Drive)、磁気テープ装置、光ディスク装置等を含む記憶手段である。記憶部29は、サーバー2を機能させるためのOS(Operating System)やサーバーの各種プログラム及びデータを記憶している。これらのプログラム及びデータの詳細については後述する。
【0030】
〔画像形成システムXの制御構成〕
図5を参照して、画像形成装置1及びサーバー2を含む画像形成システムXの制御構成について説明する。
画像形成装置1の制御部10は、機種固有情報取得部110(機種固有情報取得手段)、機種固有情報送信部120(機種固有情報送信手段)、及び機能制御仲介部130(機能制御仲介手段)を備えている。
画像形成装置1の記憶部19は、機種固有情報400、及び認証情報410を記憶する。
サーバー2の制御部20は、アプリ500を実行するプラットフォーム200を備えている。このプラットフォーム200は、機種固有情報受信部210(機種固有情報受信手段)、アプリ管理部220(アプリケーション管理手段)、及びAPI部230(インターフェイス手段)を含んでいる。
サーバー2の記憶部29は、機種固有情報400、認証情報410、及びアプリ500を記憶する。
【0031】
機種固有情報取得部110は、機種の識別情報である機種固有情報400、認証情報410等を取得する。また、機種固有情報取得部110は、操作パネル部16のウェブブラウザー(Web Browser、以下「ブラウザー」という。)と連携して、アプリ500の使用に必要な認証情報410を取得することが可能である。
【0032】
機種固有情報送信部120は、機種固有情報取得部110により取得された機種固有情報400をサーバー2に送信する。
また、機種固有情報送信部120は、操作パネル部16のブラウザーの設定情報等も送信可能である。
【0033】
機能制御仲介部130は、機種固有情報送信部120によりサーバー2に送信された機種固有情報400に対応して、サーバー2からの指示により各部の機能を制御する。
機能制御仲介部130は、サーバー2のAPI部230から要求された機能に該当する、画像形成装置1の各部を制御する、いわゆる「コネクター」として機能する。このため、機能制御仲介部130は、サーバー2のAPI部230で作成された機能制御指示のコマンドを受信した場合、これを解析して、画像形成装置1で実現可能な機能に対応する各部を適切な方式で制御する。たとえば、機能制御仲介部130は、機能制御指示のコマンドに対応して、コピー機能、ネットワークスキャン機能、文書ボックス機能等を呼び出すことができる。機能制御仲介部130は、これらのうち、どのような機能が使用可能であるか否かを、機種固有情報400の設定に従って選択する。
また、機能制御仲介部130は、各部を直接制御することも可能である。機能制御仲介部130は、例えば、原稿読取部12で解像度や色等を設定して原稿読取して画像データとして記憶部19に記憶させ、画像処理部11に記憶部19の画像データや文書データ(図示せず)を画像処理させ、操作パネル部16のブラウザー上に画像を描画し、画像形成部17で画像データや文書データを画像形成してもよい。また、機能制御仲介部130は、例えば搬送部のモーターの一つを駆動させるといった、より機器のハードウェアの構成に近い制御を行ってもよい。また、機能制御仲介部130は、画像形成装置1にフィニッシャーが存在した場合は製本やステープル等、FAX送受信部が存在した場合はファクシミリの送受信、ICカードや生体認証によるユーザー認証部が存在した場合は当該ユーザー認証部によるユーザー認証、カメラが存在した場合はカメラ画像の取得や視線検出等の各機能を呼び出すことも可能である。これらの機能の呼び出しの可否についても機種固有情報400に設定可能である。また、機能制御仲介部130は、ネットワーク送受信部15(
図2)を介して他の画像形成装置や端末等(図示せず)の制御を行うことも可能である。
また、機能制御仲介部130は、各部の状態の取得等の処理も行ってもよい。機能制御仲介部130は、これらの取得した各部の状態、各部の機能の呼び出しの結果等について、サーバー2に送信可能である。この際、機能制御仲介部130は、各種ファイル等をサーバー2との間で送受信することも可能である。たとえば、機能制御仲介部130は、スキャンした画像データ、文書ボックスの文書データ等を送受信することも可能である。なお、機能制御仲介部130は、FAX送受信部が存在した場合はファクシミリ送受信の画像データの送受信、ユーザー認証部が存在した場合はユーザー認証結果、カメラが存在した場合は映像データのサーバー2への送受信等を行うことも可能である。
【0034】
操作パネル部16は、プラットフォーム200からアプリ500の画面内容を受信して表示する。このため、操作パネル部16用の制御部が、ROMに記憶された専用のブラウザー等を実行していてもよい。
【0035】
プラットフォーム200は、アプリ500の実行基盤となるAPI(Application Programming Interface)やミドルウェアやランタイム等(以下、「API等」という。)を含むプログラムやデータである。また、プラットフォーム200は、アプリ500から呼び出されるプログラム(クラス、ルーチン、関数等)であるサービスと、これに関するデータも含んでいる。また、プラットフォーム200は、サーバー2の記憶部29にインストールされた図示しないOS上で動作している。
【0036】
機種固有情報受信部210は、画像形成装置1の機種固有情報送信部120から送信された機種固有情報400を受信して、記憶部19に保存する。この際、機種固有情報取得部110は、不正でない機種固有情報400であるか等をチェックしてもよい。
【0037】
アプリ管理部220は、機種固有情報受信部210に取得された機種固有情報400に対応するアプリ500を管理し実行する。具体的には、アプリ管理部220は、アプリ500のインストール、画像形成装置1から使用可能な状態とするアクティベーション、実行、実行終了、アンインストール等をプラットフォーム200のAPIにより管理する(以下、これらの処理をアプリ500の「ライフサイクル」の管理という。)。
また、アプリ管理部220は、機種固有情報400に対応するアプリ500を検索して画像形成装置1に提示する。また、アプリ管理部220は、画像形成装置1からの認証情報410を取得した場合、アプリ500を使用可能な状態とする。
【0038】
API部230は、実行中のアプリ500からの指示により、機種固有情報400に対応して制御を行うよう画像形成装置1の機能制御仲介部130に指示する。つまり、API部230は、アプリ500から画像形成装置1の各機能を制御するためのインターフェイスを提供する。
具体的に、API部230は、取得した機種固有情報400を参照し、画像形成装置1に備えられた各部の機能を制御する指示(以下、「機能制御指示」という。)のコマンドを作成し、画像形成装置1の機能制御仲介部130へ送信する。また、この機能制御指示のコマンドとして、API部230は、プラットフォーム200のAPIが呼び出された際のパラメーター等と、画像形成装置1の機能に対応する制御の方式とを対応付けたコマンドを作成してもよい。
また、API部230は、画像形成装置1の機能の制御、情報参照等の結果についても取得して、アプリ500に提示する。この際、API部230は、画像形成装置1から、機能制御の結果の各種ファイル等を取得して、アプリ500に提示してもよい。
【0039】
機種固有情報400は、画像形成装置1の機種識別番号やシリアル番号や製造番号や固有番号等を含む機器固有ID、画像形成装置1で使用可能な機能についての情報、メモリー容量、印刷設定を含む機器設定、印刷枚数、課金情報等を含んでいる。機種固有情報400の機能についての情報としては、操作パネル部16の表示部又はブラウザーの表示サイズ、スキャンや画像形成可能な用紙の大きさ、スキャンや画像形成のカラーや白黒の種別、フィニッシャーやFAX送受信部やユーザー認証部やカメラや視線検出装置等のオプション機器の有無等の情報を含んでいる。また、機種固有情報400には、画像形成装置1のIPアドレス、管理者のメールアドレスや送信先や住所等の各種情報が含まれていてもよい。
【0040】
認証情報410は、アプリ500の認証に関する情報である。認証情報410は、管理者を含むユーザーのアカウント情報、アプリ500をアクティベーションするための鍵情報である「アクティベーションキー」の情報、アプリ500の識別子やアプリ500の種別等のアプリ識別情報等を含んでいてもよい。また、認証情報410のうち、アカウント情報は、ユーザーIDとパスワードを含んでいてもよい。また、アカウント情報には、クレジットカード番号や権限情報を含んでいてもよい。
認証情報410は、予め各ユーザーが操作パネル部16やユーザーの端末(図示せず)等から登録することが可能である。
【0041】
アプリ500は、サーバー2にインストールされ、プラットフォーム200上で実行されるアプリ500(Application Software、アプリケーション)のプログラムである。アプリ500は、API部230を介して画像形成装置1の機能を利用し、画像形成装置1と連携して機能する。このため、アプリ500により、画像形成装置1単体では使用できない各種処理を行わせることができる。
また、アプリ500は、サーバー2の記憶部29に、複数記憶されてもよい。アプリ500は、例えば、OCR(Optical Character Recognition、光学文字認識)、監視カメラアプリ、ウォーターマーク作成、請求書作成、社員名簿管理、伝票管理、契約書管理、名刺管理、PDF作成、帳簿管理、グループ管理等のアプリであってもよい。
また、各アプリ500は、画像形成装置1の機種固有情報400に対応して実行可能か否かが選択されてもよい。この場合、各アプリ500は、画像形成装置1が複数存在する場合、当該画像形成装置1の各機種固有情報400に対応してそれぞれが使用可能な状態か否かを設定されていてもよい。また、この場合、画像形成装置1の認証情報410により、当該画像形成装置1と対応付けられて使用可能な状態にする「アクティベーション」を行う構成であってもよい。また、アプリ500は、画像形成装置1や他の端末等(図示せず)からインストールされて記憶部29に記憶されてもよい。なお、画像形成装置1の機種毎に別々のアプリ500がインストールされる構成であってもよい。
また、アプリ500は、プラットフォーム200上で動作する実行ファイルと、クラス情報を含む各種データとを含んで構成されてもよい。この場合、アプリ500の実行ファイルは、例えばJava(登録商標)アプリの中間言語のファイルや、「ネイティブ」のexeファイル等からなるアプリのバイナリのファイルであってもよい。アプリ500は、この他にも、必要なデータを含んでいてもよい。
【0042】
なお、記憶部19及び記憶部29には、画像形成装置1の操作パネル部16で指示された各種ジョブデータ、原稿読取部12でスキャンされた画像データ、画像処理部11で画像処理された画像データ、他の端末(図示せず)から送信された印刷文書のデータ、接続された記録媒体から読み出された各種ファイル、サムネイル画像のデータ等を記憶してもよい。また、記憶部19及び記憶部29には、ユーザー毎の文書ボックスの領域が含まれていてもよい。
【0043】
〔画像形成システムXによるアプリインストール処理〕
次に、
図6〜
図7を参照して、本発明の実施形態に係る画像形成システムXによるアプリインストールの説明を行う。
本実施形態のアプリインストール処理は、ユーザーの指示により、サーバー2上のアプリ500を使用可能にする。本アプリインストール処理では、まず、画像形成装置1から、機種固有情報400をサーバー2に送信して、画像形成装置1で使用可能なアプリ500のリスト(以下、「アプリリスト」という。)を取得する。画像形成装置1は、ユーザーがアプリリスト内のアプリ500を選択して、アクティベーションキーを入力すると、これを認証情報410に含めてサーバー2に送信する。サーバー2では、このアクティベーションキーで画像形成装置1とアプリ500とを対応付けて、アクティベーションする。これにより、画像形成装置1と対応付けられたアプリ500を使用可能な状態になる。
本実施形態に係るアプリインストール処理は、主に画像形成装置1の制御部10、操作パネル部16、及びサーバー2の制御部20が、記憶部19及び記憶部29に記憶されたプログラムを、各部と協働し、ハードウェア資源を用いて実行する。
以下で、
図6のフローチャートを参照して、アプリインストール処理の詳細をステップ毎に説明する。
【0044】
(ステップS101)
まず、制御部10が、機種固有情報取得部110として、アプリリスト要求処理を行う。制御部10は、操作パネル部16のブラウザーのGUIにて、ユーザーから使用可能なアプリ500を表示する指示を取得した場合、サーバー2からアプリリストを取得するための処理を開始する。
制御部10は、記憶部19から機種固有情報400を取得して、アプリリストの取得と機種固有情報400の送信を機種固有情報送信部120に指示する。
制御部10は、この際、機種固有情報400を公開鍵等で暗号化してもよい。
【0045】
(ステップS102)
次に、制御部10が、機種固有情報送信部120として、機種固有情報送信処理を行う。
制御部10は、送信を指示された機種固有情報400とアプリリストの送信を要求するコマンドとを、サーバー2に送信する(タイミングT101)。
【0046】
(ステップS201)
ここで、サーバー2の処理について説明する。
サーバーの制御部20は、機種固有情報受信部210として、機種固有情報受信処理を行う。制御部20は、機種固有情報400を受信して、記憶部29に保存する。この際、制御部20は、機種固有情報400が不正なものでないか、秘密鍵で復号化してチェックしてもよい。
また、制御部20は、ここでは、アプリリストの取得の要求のコマンドを受信して、アプリ管理部220に通知する。
【0047】
(ステップS202)
次に、制御部20が、アプリ管理部220として、アプリ検索処理を行う。
制御部20は、機種固有情報400を参照してアプリ500を記憶部29から検索し、この機種固有情報400に対応したアプリ500を検索し、アプリリストを作成する。
この際、制御部20は、検索された各アプリ500について、画像形成装置1に既に対応付けられておりアクティベーションされているか否かの情報についても、アプリリストに付加する。
【0048】
(ステップS203)
次に、制御部20が、アプリ管理部220として、アプリリスト送信処理を行う。
制御部20は、作成したアプリリストを、画像形成装置1に送信する(タイミングT201)。
【0049】
(ステップS103)
ここで、再び画像形成装置1の処理について説明する。
操作パネル部16は、アプリリスト提示処理を行う。操作パネル部16は、サーバー2から検索されたアプリ500のアプリリストを取得して、ブラウザーで表示部に表示させる。
図7(a)の画面例600は、表示されたアプリリストの例を示す。表示欄610には、ユーザー名、機種、使用可能なアプリ500の名称等がリスト形式で表示されている。また、表示欄610の各アプリ500には、アクティベートされているか否かの情報も表示されている。ボタン700は、このアプリリストの表示を終了する指示を行うためのボタンである。
【0050】
(ステップS104)
次に、操作パネル部16が、アプリ選択処理を行う。
操作パネル部16は、GUIにて、使用可能なアプリ500の名称等のリストから、まだ使用可能になっていないアプリ500をユーザーが選択した場合、アクティベートの指示を行う。
図7(b)の画面例601によると、操作パネル部16は、表示欄620に、アクティベーションキーの入力を求めるダイアログボックス等を表示する。操作パネル部16は、ユーザーがGUIでアクティベーションキーを入力すると、これを取得して制御部10に送信するよう指示する。
なお、操作パネル部16は、アクティベーションキーの入力の前に、ユーザー認証等を行ってもよい。また、操作パネル部16は、既にアクティベート済みのアプリ500を選択した場合、そのアプリ500を使用する指示を行ってもよい。
【0051】
(ステップS105)
次に、制御部10が、機種固有情報送信部120として、認証情報送信処理を行う。
制御部10は、操作パネル部16で入力されたアクティベーションキーと、選択されたアプリ500のアプリ識別情報と、アカウント情報等とを認証情報410に含めて、サーバー2に送信する。
図7(b)の例では、制御部10は、ユーザーが入力を完了した場合、表示欄620に「送信」のボタン720を表示して、この押下を検出した場合に認証情報410を送信してもよい(タイミングT102)。
【0052】
(ステップS204)
ここで、再びサーバー2の処理について説明する。
サーバー2の制御部20は、アプリ管理部220として、認証情報受信処理を行う。
制御部20は、画像形成装置1から認証情報410を受信すると、記憶部29に保存する。
【0053】
(ステップS205)
次に、制御部20が、アプリ管理部220として、アクティベート可能か否かを判別する。制御部10は、受信したアクティベーションキーを図示しない秘密鍵等で復号化し、正当なものであるか否かを判別し、正当なものである場合にYes、それ以外の場合はNoと判定する。また、この際、制御部10は、認証情報410のアプリ識別情報と、機種固有情報400とを比較し、画像形成装置1でこのアプリ500が使用可能か再度チェックして、当該機器やユーザー等では使用不可能であった場合にはNoと判定してもよい。また、制御部20は、課金情報に十分な残高がなかった場合等には、Noと判定してもよい。
Yesの場合、制御部20は、処理をステップS206に進める。
Noの場合、制御部20は、処理をステップS2207に進める。
【0054】
(ステップS206)
アプリ500をアクティベート可能であった場合、制御部20が、アプリ管理部220として、アプリ500アクティベート処理を行う。
制御部20は、取得した認証情報410のアプリ識別情報のアプリ500について、画像形成装置1と対応付けし、使用可能な状態とすることで、アクティベーションを行う。これ以降、画像形成装置1からの指示により、このアプリ500を実行し使用することが可能となる。
なお、制御部20は、アクティベーションの有無について、別途、データベースを記憶部29に用意して、これに記憶してもよい。
【0055】
(ステップS207)
ここで、制御部20が、アプリ管理部220として、アクティベート結果送信処理を行う。
制御部20は、アプリ500がアクティベートされたか否かの結果の情報であるアクティベート結果情報を、画像形成装置1に送信する(タイミングT202)。
【0056】
(ステップS106)
ここで、再び画像形成装置1の処理について説明する。
操作パネル部16は、アクティベート結果表示処理を行う。
操作パネル部16は、アクティベート結果情報をサーバー2から受信すると、ブラウザーにより表示部に表示させる。
以上により、本発明の実施の形態に係るアプリインストール処理を終了する。
【0057】
〔画像形成システムXによるアプリ使用処理〕
次に、
図8〜
図9を参照して、本発明の実施の形態に係る画像形成システムXによるアプリ使用処理の説明を行う。
本実施形態のアプリ使用処理は、サーバー2で使用可能な状態になったアプリ500をユーザーの指示により使用する。まず、画像形成装置1で実行指示が行われた場合、サーバー2のアプリ500が実行される。この際、画像形成装置1に対して、操作パネル部16のブラウザー用の描画や入力の指示(以下、「GUI指示」という。)の情報が送信される。また、同様に、画像形成装置1の機能制御指示のコマンドも送信される。画像形成装置1では、これらを判別して処理する。
本実施形態に係るアプリ使用処理は、主に画像形成装置1の制御部10、操作パネル部16、及びサーバー2の制御部20が、記憶部19及び記憶部29に記憶されたプログラムを、各部と協働し、ハードウェア資源を用いて実行する。
以下で、
図8のフローチャートを参照して、アプリ使用処理の詳細をステップ毎に説明する。
【0058】
(ステップS111)
まず、操作パネル部16は、アプリ実行指示取得処理を行う。
操作パネル部16は、GUIによりユーザーがアプリ500の実行を指示した場合、これをアプリ実行指示として取得する。
なお、このアプリ500の実行に先だって、
図6のアプリリスト要求処理及び機種固有情報送信処理と同様の処理を行い、実行可能なアプリ500のアプリリストを取得してもよい。
また、このアプリ実行指示には、機種固有情報400又は認証情報410を含めてもよい。また、操作パネル部16は、アプリ実行指示の取得前に、ユーザー認証を行ってもよい。
【0059】
(ステップS112)
次に、操作パネル部16は、アプリ実行操作指示送信処理を行う。
操作パネル部16は、ユーザーのアプリに対する指示を取得する。この指示には、上述のアプリ実行指示と、アプリ実行時のアプリ500への操作の指示が含まれる。
制御部10は、サーバー2にアプリ実行指示や、実行中のアプリ500への指示を送信する(タイミングT111)。
【0060】
(ステップS211)
ここで、サーバー2の処理について説明する。
サーバー2の制御部20は、アプリ管理部220として、アプリ実行指示又は操作の指示で実行を指示されたアプリ500が実行可能か否かを判定する。
制御部20は、アプリ実行指示を受信した場合、実行を指示されたアプリ500が画像形成装置1と対応付けられてアクティベーションされており、画像形成装置1で使用可能な状態である場合に、Yesと判定する。また、制御部20は、既にアプリが実行中である場合にもYesと判定する。制御部20は、それ以外の場合には、不正なアプリ実行指示であったとして、Noと判定する。
Yesの場合、制御部20は、処理をステップS212に進める。
Noの場合、制御部20は、アプリ使用処理のサーバー2の処理を終了する。
【0061】
(ステップS212)
アプリ実行指示のアプリ500が実行可能であった場合、制御部20は、アプリ管理部220として、アプリ実行処理を行う。
制御部20は、記憶部29に記憶されたアプリ500を実行する。また、制御部20はアプリ500が既に実行されている場合、このアプリ500への操作の指示に従って各種制御を行う。
また、制御部20は、この際に、当該アプリ500に対応する機種固有情報400も読み出して参照可能な状態にする。
また、実行されたアプリ500は、プラットフォーム200を介して画像形成装置1との間で情報をやり取りしてもよい。
【0062】
(ステップS213)
次に、制御部20が、アプリ管理部220として、GUI指示か否かを判定する。
制御部20は、アプリ500が実行され、アプリ500からプラットフォーム200のサービスに対して、GUIの表示や入力等のGUI指示があった場合に、Yesと判定する。制御部20は、それ以外の場合、Noと判定する。
Yesの場合、制御部20は、処理をステップS214に進める。
Noの場合、制御部20は、処理をステップS215に進める。
【0063】
(ステップS214)
GUI指示があった場合、制御部20が、アプリ管理部220としてGUI指示送信処理を行う。
制御部20は、画像形成装置1に対して、GUI指示の情報を作成して送信する(タイミングT211)。
このGUI指示の情報には、ブラウザーで表示可能なHTMLファイルやXMLファイル等、ソケット通信のコマンド、画像形成装置1の操作パネル部16で表示するファイル等が含まれていてもよい。この際、制御部20は、取得した機種固有情報400によって操作パネル部16の表示部又はブラウザーの表示サイズ等を判断して、GUI指示の情報が適切なレイアウトになるよう調整してもよい。
【0064】
(ステップS113)
ここで、再び画像形成装置1の処理について説明する。
画像形成装置1の操作パネル部16は、GUI指示を受信したか否かを判定する。操作パネル部16は、GUI指示の情報を受信した場合に、Yesと判定する。操作パネル部16は、それ以外の場合には、Noと判定する。
Yesの場合、操作パネル部16は、処理をステップS114に進める。
Noの場合、操作パネル部16は、処理をステップS115に進める。
【0065】
(ステップS114)
GUI指示を受信した場合、操作パネル部16は、アプリGUI描画処理を行う。
操作パネル部16は、ブラウザーにより、GUI指示の情報に対応する描画を表示部に行う。また、操作パネル部16は、GUIにより、ユーザーからの入力の指示を求めることも可能である。
図9の画面例602は、操作パネル部16は、OCRのアプリ500がサーバー2で実行されている例を示している。操作パネル部16は、表示欄630に、OCRのプレビュー及び文字認識結果を表示する。なお、この表示欄630の例では、実際にOCR用のスキャン等が行われない場合は、それぞれの結果は表示されない。また、操作パネル部16は、この
図9の例では、ユーザーにOCRの実行の指示を入力させるボタン710、及びキャンセルの指示を入力させるボタン720を描画する。
また、この
図9の例では、サーバー2の制御部20がアプリ管理部220としてOCRの結果の文書ファイルを画像形成装置1に送信し、操作パネル部16がこれを受信して表示欄630に文字認識結果として表示している。制御部10又は操作パネル部16は、この文書ファイルを、記憶部19の文書ボックスに保存してもよい。
【0066】
(ステップS215)
ここで、再びサーバー2の処理について説明する。
サーバー2の制御部20は、API部230として、機能制御指示があったか否かを判定する。制御部20は、アプリ500が実行され、このアプリ500から画像形成装置1の機能の制御を行うプラットフォーム200のAPIを呼び出す等の機能制御指示が呼び出された場合、Yesと判定する。制御部20は、それ以外の場合にNoと判定する。
Yesの場合、制御部20は、処理をステップS216に進める。
Noの場合、制御部20は、処理をステップS217に進め、待機状態となる。
【0067】
(ステップS216)
機能制御指示があった場合、制御部20が、API部230として機能制御指示送信処理を行う。
制御部20は、機種固有情報400を参照して、画像形成装置1の機能に対応した機能制御指示のコマンドを作成する。制御部20は、この機能制御指示のコマンドを画像形成装置1に送信する(タイミングT212)。
【0068】
(ステップS115)
ここで、再び画像形成装置1の制御部10の処理について説明する。
制御部10は、機能制御仲介部130として、機能制御指示のコマンドを受信したか否かを判定する。制御部10は、機能制御指示のコマンドを受信した場合に、Yesと判定する。制御部10は、それ以外の場合には、Noと判定する。
Yesの場合、制御部10は、処理をステップS116に進める。
Noの場合、制御部10は、処理をステップS117に進める。
【0069】
(ステップS116)
機能制御指示のコマンドを受信した場合、制御部10は、機能制御仲介部130として各部機能制御処理を行う。
制御部10は、機能制御指示のコマンドを解析して、画像形成装置1の各部の機能に対応する制御を行う。また、制御部10は、各部を直接制御したり、各部の状態を取得したり、機能制御の結果を取得してサーバー2に送信し、画像形成装置1とサーバー2との間で各種ファイルを送受信する処理を行うことも可能である。
【0070】
上述の
図9の例では、原稿読取部12でスキャンが行われて、そのスキャンの結果である画像ファイルをサーバー2に送信し、アプリ500によりOCRを行っている。この際に、サーバー2の制御部20は、このOCRの結果の文書ファイルを、一旦、サーバー2の記憶部29に保存し、画像形成装置1の操作パネル部16からの指示により送信することが可能である。
【0071】
(ステップS117)
次に、操作パネル部16は、アプリ終了指示があったか否かを判定する。操作パネル部16は、ユーザーによるアプリ500を終了する指示を取得した場合に、Yesと判定する。操作パネル部16は、
図9の例では、「キャンセル」のボタン720や右上の「×」ボタン等が押下された場合に、Yesと判定する。操作パネル部16は、それ以外の場合はNoと判定する。
Yesの場合、操作パネル部16は、処理をステップS118に進める。
Noの場合、操作パネル部16は、処理をステップS112に戻して、ユーザーからの指示を待つ。
【0072】
(ステップS118)
アプリ終了指示を取得した場合に、操作パネル部16は、アプリ終了指示送信処理を行う。
操作パネル部16は、アプリ終了指示のコマンドをサーバー2に送信する(タイミングT112)。
操作パネル部16は、このアプリ終了指示のコマンドに、アプリ識別情報を含めてもよい。
【0073】
(ステップS217)
ここで、再び制御部20の処理について説明する。
制御部20は、アプリ管理部220として、アプリ終了処理を行う。
制御部20は、画像形成装置1からアプリ終了指示のコマンドを受信すると、対応するアプリ500の実行を終了し、待機状態となる。
以上により、本発明の実施の形態に係るアプリ使用処理を終了する。
【0074】
以上のように構成することで、以下のような効果を得ることができる。
本発明の画像形成システムXは、アプリ500の実行指示を行う画像形成装置1と、画像形成装置1と接続可能なサーバー2とを含み、画像形成装置1は、機種固有情報400を取得する機種固有情報取得部110と、機種固有情報取得部110により取得された機種固有情報400をサーバー2に送信する機種固有情報送信部120と、機種固有情報送信部120によりサーバー2に送信された機種固有情報400に対応して、サーバー2からの指示により各部の機能を制御する機能制御仲介部130とを備え、サーバー2は、画像形成装置1の前記機種固有情報送信部120により送信された機種固有情報400を受信する機種固有情報受信部210と、機種固有情報受信部210に取得された機種固有情報400に対応するアプリ500を管理し実行するアプリ管理部220と、アプリ管理部220により実行されたアプリ500からの画像形成装置1の機能の制御の指示により、機種固有情報400に対応して制御を行うよう画像形成装置1の機能制御仲介部130に指示するAPI部230とを備えることを特徴とする。
このように構成することで、画像形成システムXは、アプリ500と実行基盤とはサーバー2上で管理されるため、画像形成装置1の制御部10や記憶部19の能力がアプリ500をインストールしない機器と同様であっても、アプリ500を使用可能となる。つまり、アプリ500を使用可能な画像形成装置1を安価に提供することが可能となる。
また、画像形成システムXは、画像形成装置1の制御部10の制御演算能力や記憶部19の記憶容量が限られていても、アプリ500独自の処理を行う必要がなくなるため、パフォーマンスが向上する。
また、画像形成システムXは、アプリ500を画像形成装置1や特殊なサーバー等に導入する必要がないため、セットアップ等の管理の手間やコストを削減できる。
また、画像形成システムXは、機種固有情報400により、複数のアプリ500から対応するアプリ500を選択可能となるため、サーバー2上で機種毎にアプリ500を保存する必要がなく、サーバー2の記憶部29のアプリ500用の記憶領域も節約できる。
また、画像形成システムXは、アプリ500をサーバー2上で実行するため、管理の整っていない画像形成装置1をハッキング等される危険性を低くすることができ、セキュリティリスクを低下させられる。
【0075】
また、本発明の実施の形態に係るサーバー2のアプリ管理部220は、機種固有情報400に対応するアプリ500を検索して画像形成装置1に提示し、画像形成装置1からの認証情報410を取得して提示したアプリ500を使用可能な状態とすることを特徴とする。
このように構成することで、画像形成装置1の機種固有情報400をサーバー2に送信して適切なアプリ500をユーザーに提示できる。このため、ユーザーが自分でアプリ500をインストールする必要がなくなり、管理の手間やコストを削減できる。
また、サーバー2へのアプリ500の導入やセットアップを行うために画像形成装置1やユーザーの設定情報をユーザーが調べる必要もなくなり、ユーザーの使い勝手がよくなる。また、ユーザーに設定を行わせる必要がなくなるため、セキュリティリスクも低下させることができる。
また、単なるクライアント・サーバー構成ではなく、いわゆる「クラウド」のサービスとして提供することで、アプリ500のライセンス等を一括管理でき、アプリ500の提供者の管理コストも低減できる。
また、ユーザーが海賊版や改造等された不正なアプリ500をインストールしようとしても、サーバー2にセキュリティプログラムを導入して発見することが可能となり、不正なアプリ500の流通や使用を防ぐことができる。
【0076】
また、従来の画像形成装置では、アプリを稼働させるためのプラットフォームが画像形成装置に備わっていた。このため、画像形成装置の記憶部のプラットフォームのデータ保存領域や、ワークメモリ領域等について最適なサイズを割り当ててはいるものの、貴重な資源の一部を使用していた。また、プラットフォーム上で稼働するアプリについても、導入可能な数に応じて、プラットフォーム同様、データ保存領域やワークメモリ領域を拡張しなくてはならなかった。このため、アプリやプラットフォームを多く導入できるようにすると、記憶部の容量の拡張を行う必要があり、コストが高くなっていた。また、逆に、従来の記憶部の容量のままにした場合、貴重な資源が使用され、画像形成装置の全体のパフォーマンスに影響し、アプリによる機能拡張の利点を損なう可能性があった。
これに対して、本実施形態の画像形成システムXは、画像形成装置1にはアプリ500の本体は記憶せず、プラットフォーム200やアプリ500の稼働場所をサーバー2上とすることで、画像形成装置1の記憶部19の記憶領域を拡張する必要がなくなり、コストアップを抑えられ、パフォーマンスの低下も抑えられる。
【0077】
なお、上述の実施の形態では、画像形成装置1のブラウザーを操作パネル部16の制御部が実行するように記載した。
しかしながら、このブラウザーを、制御部10の機種固有情報取得部110が記憶部19に記憶されたブラウザーのプログラムや設定情報に基づいて実行してもよい。また、記憶部19又は操作パネル部16のROMには、ブラウザーの設定情報が記憶されていてもよい。
また、上述の実施の形態では、サーバー2のアプリ管理部220が操作パネル部16の表示部又はブラウザーの表示サイズ等を判断するように記載した。
これに対して、サーバー2のAPI部230も、機能制御指示送信処理のコマンドを作成する際に、操作パネル部16の表示部又はブラウザーの表示サイズ等を判断した機能制御指示のコマンドを作成してもよい。
このように構成することで、各部の制御を柔軟に行うことができ、コストを削減することができる。
【0078】
また、アプリ500は、画像形成装置1ではなくユーザー毎に対応付けられていてもよい。
これにより、画像形成装置1にログインしたユーザー毎に異なるアプリ500を使用可能となる。
また、アプリ500は、画像形成装置1の各機能を呼び出して所望の機能を実現させるための「一般アプリ」と、これらの一般アプリ500を管理する「管理アプリ」とを含んでいてもよい。また、アプリ500は、画像形成装置1の機能を使用するための画像形成装置1又はサーバー2の制御プログラムやデータを含んでいてもよい。
このように構成することで、アプリにより画像形成装置1を柔軟に制御することが可能となり、又、セキュリティを高めることができる。
【0079】
また、上述の実施の形態では、アプリ500は既にサーバー2の記憶部29に記憶されている状態であるように説明した。
しかしながら、画像形成装置1に接続した外部の記録媒体、サーバー2に接続した記録媒体、ネットワーク5経由で接続された外部の端末等から、別途、アプリ500を導入し記憶部29に記憶させることも可能である。この場合、当該アプリ500は、インストールしたユーザー、画像形成装置1、又は端末からのみ使用可能なように設定してもよい。また、サーバー2の管理者は、アプリ500を更新することも可能である。また、サーバー2の管理者は、同様に、アプリ500の画像形成装置1との対応付けの情報等を変更したり、機種固有情報400とアプリ500との対応付けの情報等を変更したりすることも可能である。
このように構成することで、機能拡張を柔軟に実現することができ、サーバー2上で管理することで管理コストを低減できる。
【0080】
また、画像形成装置1の記憶部19又はサーバー2の記憶部29には、プラットフォーム200のAPIによるアプリ500とは異なるアプリを記憶させることも可能である。たとえば、記憶部19又は記憶部29には、アプリ500以外のWebアプリ等(以下「外部アプリ」という。)や、ユーザーのデータ等を記憶させてもよい。外部アプリは画像形成装置1の操作パネル部16のユーザーの指示で呼び出して、画像形成装置1に読み込んで実行させたりサーバー2上で実行させたり、ユーザーのデータを画像形成装置1で呼び出して操作パネル部16上で表示させたりしてもよい。
このように構成することで、プラットフォーム200のアプリと外部アプリとを柔軟に使い分けて、ユーザーの使い勝手をよくすることができる。
【0081】
また、本発明は、画像形成装置以外の各種情報処理装置にも適用可能である。つまり、ネットワークスキャナ、スキャナーをUSB等で別途接続したサーバー等を用いるような構成であってもよい。また、アプリをインストール可能な情報処理装置であるPC、スマートフォン、携帯電話、オフィス機器、産業用機器等にも適用可能である。
【0082】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。