JP2016177703A - 機器、画像形成装置、情報処理方法、情報処理プログラム及び情報処理システム - Google Patents

機器、画像形成装置、情報処理方法、情報処理プログラム及び情報処理システム Download PDF

Info

Publication number
JP2016177703A
JP2016177703A JP2015058799A JP2015058799A JP2016177703A JP 2016177703 A JP2016177703 A JP 2016177703A JP 2015058799 A JP2015058799 A JP 2015058799A JP 2015058799 A JP2015058799 A JP 2015058799A JP 2016177703 A JP2016177703 A JP 2016177703A
Authority
JP
Japan
Prior art keywords
program
additional
execution unit
executed
interface unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015058799A
Other languages
English (en)
Other versions
JP6668601B2 (ja
Inventor
浩樹 浅木森
Hiroki Asakimori
浩樹 浅木森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2015058799A priority Critical patent/JP6668601B2/ja
Publication of JP2016177703A publication Critical patent/JP2016177703A/ja
Application granted granted Critical
Publication of JP6668601B2 publication Critical patent/JP6668601B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】スマートデバイスのWebブラウザに対して、ブラウザソフトをアップデートすることなく、簡単に機能を追加可能とする。
【解決手段】ネットワーク上のサーバ装置を介して提供される第1のプログラムと、ネットワークを介して第1のプログラムを実行する第2のプログラムとの間に介在して、第1のプログラムで実行とする第1のインタフェース部を設ける。また、第2のプログラムと、インストールされた第2のプログラムの追加機能となる追加プログラムを実行する実行部との間に介在して、画像形成装置の処理を実行するための制御プログラムで実行可能とする第2のインタフェース部を設ける。そして、第1のプログラムと実行部との間において、第1のインタフェース部及び第2のインタフェース部を介して情報の送受信を行い、第1のプログラムで追加プログラムを実行する。
【選択図】図2

Description

本発明は、機器、画像形成装置、情報処理方法、情報処理プログラム及び情報処理システムに関する。
近年、Webブラウザに多くの機能が追加されている。これに伴い、HTML(HyperText Markup Language)/CSS(Cascading Style Sheet)/JAVA(登録商標)スクリプトを用いてソリューションを提供するWebアプリケーションも増えている。このような動きは、パーソナルコンピュータ装置(PC)のみならず、スマートデバイスの分野にも広がっている。
特許文献1(特開2011−141684号公報)には、Webブラウザにジョブのフローが記載されたHTMLファイルを格納してユーザに提供する画像形成装置が開示されている。
しかし、スマートデバイスに設けられるWebブラウザは、パーソナルコンピュータ装置に設けられるWebブラウザとは異なり、ブラウザソフトをアップデートすることなく、Webブラウザに機能を追加することは困難である。また、スマートデバイスに設けられるWebブラウザは、ユーザが開発したプラグインをインストールして機能を追加することは困難である。特許文献1に開示されている画像形成装置も、同様の問題がある。
本発明は、上述の課題に鑑みてなされたものであり、機器のプログラムをアップデートすることなく、簡単に機能を追加可能な機器、画像形成装置、情報処理方法、情報処理プログラム及び情報処理システムの提供を目的とする。
上述した課題を解決し、目的を達成するために、本発明は、ネットワーク上のサーバ装置を介して提供される第1のプログラムを、ネットワークを介して実行する第2のプログラムを備えた機器であって、第1のプログラムと第2のプログラムとの間に介在して第1のプログラムで実行可能とする第1のインタフェース部と、インストールされた第2のプログラムの追加機能となる追加プログラムを実行する実行部と、第2のプログラムと実行部との間に介在して機器の処理を実行するための制御プログラムで実行可能とする第2のインタフェース部と、を備え、第1のプログラムと実行部との間において、第1のインタフェース部及び第2のインタフェース部を介して情報の送受信を行い、第1のプログラムで追加プログラムを実行することを特徴とする。
本発明によれば、機器のプログラムをアップデートすることなく、簡単に機能を追加できるという効果を奏する。
図1は、実施の形態のMFP及びサーバ装置のハードウェア構成図である。 図2は、実施の形態のMFPに設けられているWebブラウザの機能拡張動作を実現するためのソフトウェア構成図である。 図3は、Webアプリケーション、Webブラウザ及び追加スクリプトの標準的な動作の流れを示すシーケンス図である。 図4は、Webブラウザでスクリプト汎用APIの要求を処理する流れを示すフローチャートである。 図5は、Webブラウザが対応していないNFCデバイスを利用可能にするためのソフトウェア構成を示す図である。 図6は、WebアプリケーションがNFCデバイスの接続状況を取得する流れを示すシーケンス図である。 図7は、NFCデバイスの接続状況の変更を通知する流れを示すシーケンス図である。 図8は、NFCデバイスの接続状況が変更されたことを複数のWebアプリケーションに通知する流れを示すシーケンス図である。
以下、一例として、本発明を適用した実施の形態となる複合機(MFP)の説明をする。なお、本発明をMFPに適用することは一例であり、Webブラウザを備えた機器であれば、どのような電子機器に適用してもよい。
図1は、機器の一例となる実施の形態のMFP1のハードウェア構成図である。図1に示すように、MFP1は、コピー機能、スキャナ機能、ファクシミリ機能、プリンタ機能等の各種の機能を備えた本体10と、ユーザの操作に応じた入力を受け付ける操作部20とを備える。本体10と操作部20は、専用の通信路30を介して相互に通信可能に接続されている。通信路30は、例えばUSB(Universal Serial Bus)規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってよい。また、本体10は、コピー機能、スキャナ機能、ファクシミリ機能、プリンタ機能等の画像形成機能のうち、一つの機能を有していてもよいし又は複数の機能を有していてもよい。
操作部20としては、単独で完結した情報処理を実行可能な電子機器を用いることができる。一例として、操作部20としては、スマートフォン又はタブレット型端末等の情報処理端末(スマートデバイス)を用いることができる。この場合、操作部20として用いられるスマートデバイスは、MFP1の操作部として機能する。
より詳しくは、操作部20として用いられるスマートデバイスは、従来、MFP1専用の操作部として固定され設置されていた操作パネルの代わりに、MFP1に対して装着及び取り外しが可能に接続される。すなわち、操作部20として用いられるスマートデバイスは、例えばMFP1の操作パネルが配置される位置等の所定の位置に取り外し可能(分離可能)ながらも、MFP1と一体的に設置される。従って、操作部20として用いられるスマートデバイスおよびMFP1は、一台の装置として把握されてもよい。操作部20であるスマートデバイスは、MFP1から取り外されると、MFP1との間で、例えばBluetooth(登録商標)、Wi−Fi(登録商標)又は赤外線通信等の無線通信を行い、MFP1の操作部として機能する。なお、MFP1は、このように本体10から操作部20が取り外し可能となっているが、操作部20が本体10に固定されていてもよい。
本体10は、操作部20で受け付けた入力に応じた動作を行う。また、本体10は、クライアントPC(パーソナルコンピュータ)等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作も行う。
次に、本体10のハードウェア構成について説明する。図1に示すように、本体10は、CPU11と、ROM12と、RAM13と、HDD(ハードディスクドライブ)14とを備える。また、本体10は、通信I/F(インタフェース)15と、接続I/F16と、エンジン部17とを備える。各部11〜17は、システムバス18を介して相互に接続されている。
CPU11は、本体10の動作を統括的に制御する。CPU11は、RAM13をワークエリア(作業領域)としてROM12又はHDD14等に格納されたプログラムを実行することで、本体10全体の動作を制御し、上述したコピー機能、スキャナ機能、ファクシミリ機能、プリンタ機能などの各種機能を実現する。
通信I/F15は、ネットワーク40上のクライアントPC(パーソナルコンピュータ)又はサーバ装置の一例であるWebサーバ装置37等の外部装置と通信するためのインタフェースである。接続I/F16は、通信路30を介して操作部20と通信するためのインタフェースである。なお、図1において、通信路30は、有線的に図示されているが、上述のように操作部20は、MFP1の本体10に対して装着及び取り外し可能に設けられている。このため、操作部20をMFP1に装着しているときには、通信路30は有線通信路として機能し、操作部20をMFP1から取り外したときには、通信路30は無線通信路として機能するものと理解されたい。
エンジン部17は、コピー機能、スキャナ機能、ファクシミリ機能及びプリンタ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。エンジン部17は、例えば原稿の画像をスキャンして読み取るスキャナ(画像読取部)、用紙等のシート材への印刷を行うプロッタ(画像形成部)、ファクシミリ通信を行うファクシミリ通信部などを備えている。さらに、印刷済みシート材を仕分けるフィニッシャ及び原稿を自動給送するADF(自動原稿給送装置)のような特定のオプションを備えることもできる。
次に、操作部20のハードウェア構成について説明する。図1に示すように、操作部20は、CPU21と、ROM22と、RAM23と、フラッシュメモリ24と、通信I/F25と、接続I/F26と、操作パネル27とを備え、これらがシステムバス28を介して相互に接続されている。
CPU21は、操作部20の動作を統括的に制御する。CPU21は、RAM23をワークエリア(作業領域)としてROM22又はフラッシュメモリ24等に格納されたプログラムを実行することで、操作部20全体の動作を制御する。
また、例えばROM22等の記憶部に、Webブラウジングアプリケーションプログラム(WebブラウジングAP)が記憶されている。CPU21は、WebブラウジングAPを実行することで、Webブラウザ19を実現する。Webブラウザ19は、Webサーバ装置37のHDD34等の記憶部に記憶されているWebアプリケーション39と連携してブラウジング動作等を行う。詳しくは、後述するが、実施の形態のMFP1は、操作部20のWebブラウザ19に対して、ブラウザソフトをアップデートすることなく、簡単に機能を追加可能となっている。Webアプリケーション39は、第1のプログラムの一例である。Webブラウザ19は、第2のプログラムの一例である。
なお、この例では、WebブラウジングAPは、MFP1の操作部20のROM22等に記憶されていることとした。しかし、WebブラウジングAPは、例えばROM12、RAM13又はHDD14等の、MFP1の本体10側の記憶部に記憶してもよい。この場合、本体10側のCPU11が、ROM12等に記憶されているWebブラウジングAPを実行することで、Webブラウザ19を実現する。
通信I/F25は、例えばネットワーク40上のWebサーバ装置37と通信するためのインタフェースである。接続I/F26は、通信路30を介して本体10と通信するためのインタフェースである。
操作パネル27は、タッチセンサを備えた液晶表示装置(LCD)で構成される。操作パネル27は、ユーザの操作に応じた各種の入力を受け付けると共に、例えば受け付けた入力に応じた情報、MFP1の動作状況を示す情報、設定状態を示す情報等の各種の情報を表示する。なお、操作パネル27は、タッチセンサを備えた有機EL表示装置で構成されてもよい。さらに、これに加えて又はこれに代えて、ハードウェアキー等の操作部やランプ等の表示部を設けることもできる。
次に、このようなMFP1とネットワーク40を介して接続されるWebサーバ装置37は、図1のハードウェア構成図に示すように、CPU31、ROM32、RAM33、HDD34、通信I/F35を備えている。CPU31〜通信I/F35は、システムバス38を介して相互に接続されている。HDD34等の記憶部には、ユーザにソリューションを提供するMFP1のメーカにおけるアプリ開発者及びサードベンダで開発されたWebアプリケーション39が記憶されている。Webアプリケーション39は、CPU31により実行され、MFP1のWebブラウザ19と連携して、Webブラウザ19のブラウジング動作等を可能とする。なお、Webサーバ装置37からMFP1にWebアプリケーション39をダウンロードし、MFP1のCPU21又はCPU11が、ダウンロードしたWebアプリケーション39を実行してもよい。
なお、実施の形態の例では、機能の独立性を保つために、本体10側のOSと操作部20側のOSが互いに異なる。つまり、本体10と操作部20は、別々のオペレーティングシステムで互いに独立して動作する。例えば、本体10側のOSとしてリナックス(登録商標)(Linux(登録商標))を用い、操作部20側のOSとしてアンドロイド(Android(登録商標))を用いることも可能である。
本体10及び操作部20を別々のオペレーティングシステムで動作させることで、本体10と操作部20との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作部20が受け付けた入力(ユーザからの指示内容)を本体10へ伝達する動作(コマンド通信)及び本体10が操作部20へイベントを通知する動作などがこれに該当する。ここでは、操作部20が本体10へコマンド通信を行うことにより、本体10の機能を使用することができる。また、本体10から操作部20に通知するイベントには、本体10における動作の実行状況、本体10側で設定された内容などが挙げられる。
次に、実施の形態のMFP1は、操作部20に設けられているWebブラウザ19の機能を、ソフトウェア更新を行うことなく、ユーザが開発した機能をインストールして拡張することができる。図2は、このようなWebブラウザ19の機能拡張動作を実現するためのソフトウェア構成図である。この図2において、「Webブラウザ19」と「スマートデバイス上のOS50」は、例えばMFP1に設けられておりMFP1のメーカにより提供される部分である。また、OS50は、制御プログラムの一例である。これに対して、「Webアプリケーション39」と「スクリプト実行部51」はユーザにソリューションを提供するMFP1のメーカにおけるアプリ開発者及びサードベンダにより開発され提供される部分である。
スクリプト実行部51の追加スクリプト52は、ユーザにより開発され、操作部20等にインストールされる、いわゆるプラグインモジュールである。ユーザは、所望の動作仕様及びスクリプト実行部51で処理をさせるための命令文を記載して追加スクリプト52を生成する。スクリプト実行部51は、実行部の一例である。追加スクリプト52は、追加プログラムの一例である。
また、通常、パーソナルコンピュータ装置(PC)のWebブラウザには、プラグインという形式を利用した機能拡張の方式が採用されており、プラグイン向けのAPIが提供されている。しかし、主に操作部20のようなスマートデバイスに設けられるアンドロイド(Android)又はアイオーエス(iOS(登録商標))等のOSには、プラグインの仕組みが用意されていない。このため、MFP1のメーカにおけるアプリ開発者及びサードベンダ側において、プラグインを利用してWebブラウザの機能を追加(拡張)できない。
このようなことから、実施の形態のMFP1のメーカは、予めWebブラウザ19にWebアプリケーション39及びスクリプト実行部51を接続するための汎用API55a、55b、56a、56b、58a、58bを用意しておく。
Webアプリケーション39とWebブラウザ19との間の汎用API55a、55bは、第1のインタフェース部の一例であり、Webアプリケーション39で取り扱い可能な、例えばJAVA(登録商標)スクリプト等の言語で提供される。また、Webブラウザ19とスクリプト実行部51との間の汎用API56a、56b、58a、58bは、第2のインタフェース部の一例であり、スマートデバイス上のOS50が実行可能な言語で提供される。例えば、OS50がアンドロイド(登録商標)の場合、汎用API56a、56b、58a、58bは、JAVA(登録商標)スクリプトの言語で記述され提供される。また、OS50がアイオーエス(iOS(登録商標))の場合、汎用API56a、56b、58a、58bは、オブジェクティブC(Objective−C)の言語で記述され提供される。
また、スクリプト実行部51が起動されると、インストールされている追加スクリプト52は、実行形式にコンパイルされ、実行可能な状態とされる。Webブラウザ19は、汎用API55a、55bを介して、Webアプリケーション39からの要求を取得する。この際、Webアプリケーション39は、要求先となるスクリプト実行部51を示すデータ及びスクリプト実行部51に渡すデータで生成した要求を、汎用API55a、55bを介してWebブラウザ19に通知する。
Webブラウザ19は、Webアプリケーション39から取得した要求を、汎用API56a、56bを介して、要求先となる追加スクリプト52がインストールされたスクリプト実行部51に送信する。スクリプト実行部51は、上述のように実行できる状態の追加スクリプト52のスクリプト汎用API57(又はスクリプト汎用API59)を実行する。この一連の流れにより、ユーザが記載した追加スクリプト52による拡張機能をユーザに提供することができる。
なお、追加スクリプト52は、一つでもよいし、複数でもよい。複数の追加スクリプト52が存在する場合でも、Webアプリケーション39が、利用する追加スクリプト52を指定できるため、所望の追加スクリプト52の機能を利用できる。
また、追加スクリプト52は、ユーザ毎に設けられている格納領域に格納される。Webブラウザ19は、ユーザに応じて、呼び出す追加スクリプト52を変更する。ユーザ毎の追加スクリプト52の格納領域の判別は、Webブラウザ19が、本体10にログインしているユーザを、本体10から取得して判別する。
次に、図3のシーケンス図に、Webアプリケーション39、Webブラウザ19及び追加スクリプト52の標準的な動作の流れを示す。前提として、追加スクリプト52は、予めスクリプト実行部51にインストールされており、利用可能な状態となっている。この状態において、ステップS1から処理が開始される。ステップS1では、Webアプリケーション39が、要求先及び送信データを、汎用API55a、55bを介してWebブラウザ19に通知する。要求先は、例えば追加スクリプト52とする。
次に、Webブラウザ19は、ステップS2において、ログインしているユーザの情報を本体10から取得し、ログインしているユーザが利用できる追加スクリプト52を決定する。次に、Webブラウザ19は、ステップS3において、汎用API56a、56bを介して、送信データをスクリプト実行部51に通知する。
スクリプト実行部51は、ステップS4において、起動時に、実行形式に変換済みの追加スクリプト52に対して、スクリプト汎用API57(又はスクリプト汎用API59)を利用して送信データを通知する。必要であれば、追加スクリプト52は、ステップS5に示すように、スクリプト実行部51に対して処理結果を通知する。また、必要であれば、ステップS6に示すように、スクリプト実行部51は、Webブラウザ19に対して処理結果を通知する。この場合、Webブラウザ19は、ステップS7に示すように、追加スクリプト52からの処理結果をWebアプリケーション39に通知する。
次に、図4は、Webブラウザ19でスクリプト汎用API57の要求を処理する流れを示すフローチャートである。この図4のフローチャートにおいて、まず、ステップS11では、Webブラウザ19が、汎用API55a、55bを介して、Webアプリケーション39から要求先と送信データを受信する。要求先は、例えば追加スクリプト52とする。
次に、ステップS12では、Webブラウザ19が、ログインしているユーザの情報を本体10から取得し、ログインしているユーザに対応する追加スクリプト52を、送信データの送信先として決定する。次に、ステップS13では、Webブラウザ19が、Webアプリケーション39から受信した要求先と送信データとを分離する。ステップS14では、スクリプト実行部51が、要求先となる追加スクリプト52の有無を判別する。要求先となる追加スクリプト52が存在しないものと判別した場合(ステップS14:No)、そのまま図4のフローチャートの処理を終了する。
これに対して、要求先となる追加スクリプト52が存在するものと判別した場合(ステップS14:Yes)、ステップS15に処理が進む。ステップS15では、スクリプト実行部51が、要求先の追加スクリプト52から送信された通知の有無を判別する。要求先の追加スクリプト52からの通知が無いものと判別した場合(ステップS15:No)、そのまま図4のフローチャートの処理を終了する。これに対して、要求先の追加スクリプト52から通知があったものと判別した場合(ステップS15:Yes)、ステップS16に処理が進む。
ステップS16では、スクリプト実行部51が、追加スクリプト52からの通知を取得する。最後に、ステップS17において、Webブラウザ19がWebアプリケーション39に追加スクリプト52からの通知を送信し、図4のフローチャートの処理を終了する。
次に、図5に、図2に示した構成をさらに具体化した構成を示す。この図5は、Webブラウザ19が対応していないNFCデバイスを利用可能にするためのソフトウェア構成を示している。今日におけるスマートデバイスには、カメラ部、マイクホン部、GPS(Global Positioning System)等のデバイスが標準的に設けられているが、これらのデバイスにWebブラウザは対応していない。図5に示す例は、スマートデバイス(操作部20)上に設けられたNFC(Near Field Communication:近距離無線通信)デバイス62を、Webブラウザ19でWebアプリケーション39から利用可能とした例である。
この場合、NFCデバイス62を制御するためのNFC制御プラグイン(NFC制御スクリプト)61を予め操作部20にインストールすると共に、Webブラウザ19で定めているスクリプト汎用API57の対応を行っておく。また、上述のように、Webブラウザ19は、汎用API55b、56aの対応は済んでおり、Webアプリケーション39からいつでも利用可能な状態とする。
また、Webアプリケーション39は、NFC制御スクリプト61に対して送信するデータの仕様を認識しており、JAVA(登録商標)スクリプト等の所定の言語で要求が可能となっている。また、Webブラウザ19に対して、汎用API55a、55bを介して通知を受け取ることができるように事前に登録を行っている。また、NFC制御スクリプト61は、ログインユーザ毎に期待されている動きが異なるとする。また、上述のように、予めユーザ毎に異なる管理領域に、NFC制御スクリプト61はインストールされる。
図6のシーケンス図に、Webアプリケーション39がNFCデバイス62の接続状況を取得する流れを示す。まず、ステップS21では、Webアプリケーション39が、Webブラウザ19に対し、通信を希望する追加スクリプトの登録を行う。この例では、NFC制御スクリプト61からの通知を受信するように、通知用のJAVA(登録商標)スクリプトの関数登録を行う。Webブラウザ19は、複数の追加スクリプト(複数のNFC制御スクリプト)が存在していても、Webアプリケーション39に対して、予め登録された追加スクリプトに対応する通知(通信)のみを行う。これにより、Webアプリケーション39に掛かる通知処理の負荷を軽減できる。なお、全ての通知を取得する場合、Webアプリケーション39は、ステップS21の処理をスキップする(行う必要はない)。
次に、ステップS22では、Webアプリケーション39が、NFCデバイス62に接続されているデバイスの接続状況を取得するためにAPIを利用する。ステップS23では、Webブラウザ19が、本体10からログインユーザの情報を取得する。例えば、図5に「USER002」で示すユーザが本体10にログインしていた場合、Webブラウザ19は、この「USER002」のユーザのために用意された管理領域に記憶されているNFC制御スクリプト61を要求先として決定する。Webブラウザ19は、NFC制御スクリプト61への要求を汎用API55a、55bを介して取得し、ステップS24において、スクリプト実行部51に相手先接続状況の取得要求を行う。
スクリプト実行部51は、ステップS25において、実行形式となっているNFC制御スクリプト61に、スクリプト汎用API57で送信する。NFC制御スクリプト61は、相手先接続状況の取得要求を取得し、NFCデバイス62の状況を確認する。そして、NFC制御スクリプト61は、ステップS26において、スクリプト汎用API57を用いてスクリプト実行部51に相手先接続状況を通知する。スクリプト実行部51は、ステップS27において、汎用API56bを用いてWebブラウザ19に相手先接続状況の通知を行う。最後に、Webブラウザ19は、ステップS28において、NFC制御スクリプト61からの通知に対し、コールバック関数にてWebアプリケーション39に通知を行う。
次に、図7のシーケンス図に、NFCデバイス62の接続状況の変更を通知する流れを示す。この図7のシーケンス図において、ステップS31では、NFC制御スクリプト61が、相手先接続状況の取得の変更を検出し、スクリプト汎用API57を用いて、スクリプト実行部51に相手先接続状況の変更通知を行う。
ステップS32では、スクリプト実行部51が、汎用API56bを用いて、Webブラウザ19に相手先接続状況の変更通知を行う。ステップS33では、Webブラウザ19が、変更通知を送信した管理領域のNFC制御スクリプト61を判断する。Webブラウザ19は、現在ログインしているユーザに対応する管理領域のNFC制御スクリプト61からの変更通知であるものと判断した場合、コールバック関数にてWebアプリケーション39に、相手先接続状況の変更通知を行う。
次に、図8のシーケンス図に、NFCデバイス62の接続状況が変更されたことを複数のWebアプリケーション39a、39bに通知する流れを示す。この図8のシーケンス図において、ステップS41では、NFC制御スクリプト61が、相手先接続状況取得の変更を検出し、スクリプト汎用API57を用いて、スクリプト実行部51に相手先接続状況の変更通知を行う。
次に、ステップS42では、スクリプト実行部51が、汎用API56bを用いて、相手先接続状況の変更通知をWebブラウザ19に送信する。Webブラウザ19は、変更通知を送信した管理領域のNFC制御スクリプト61を判断する。ステップS43では、Webブラウザ19は、現在ログインしているユーザの管理領域のNFCスクリプト61からの変更通知であると判断した場合に、コールバック関数にて第1のWebアプリケーション39aに変更通知を行う。また、Webブラウザ19は、他に通知が必要となる例えば第2のWebアプリケーション39bを検出した場合、ステップS44に示すように、コールバック関数にて変更通知を行う。
以上の説明から明らかなように、実施の形態のMFP1は、Webアプリケーション39とWebブラウザ19との間に、例えばJAVA(登録商標)スクリプト等の、Webアプリケーション39が取り扱い可能な言語で記述された汎用API55a、55bを設ける。また、Webブラウザ19とスクリプト実行部51との間に、操作部20のOSが取り扱い可能な言語で記述された汎用API56a、56bを設ける。スクリプト実行部51は、起動時に、インストールされている追加スクリプト52を実行形式にコンパイルし、実行可能な状態とする。
Webブラウザ19は、汎用API55a、55bを介して、Webアプリケーション39からの要求を取得する。Webブラウザ19は、Webアプリケーション39から通知された要求先であるスクリプト実行部51に対しデータを送信する。スクリプト実行部51は、送信されたデータを、実行可能な状態となっている追加スクリプト52のスクリプト汎用API57で実行する。これにより、ブラウザソフトをアップデートすることなく、ユーザが記述した追加スクリプト52による機能をWebブラウザ19に追加して、Webブラウザ19の機能を簡単に拡張できる。
また、追加スクリプト52は、ユーザ毎に設けられている格納領域に格納される。Webブラウザ19は、本体10にログインしているユーザを問い合わせることで、ログインしているユーザを認識し、ユーザに応じて、呼び出す追加スクリプト52を変更する。これにより、Webアプリケーション39側の無駄な処理の実行を防止でき、レスポンスが低下する不都合を防止できる。
また、複数の追加スクリプト52が存在する場合は、Webアプリケーション39は、各追加スクリプト52を同時に用いることができる。また、複数の追加スクリプト52が存在する場合において、Webアプリケーション39に対して予め登録された追加スクリプト52が存在する場合、Webブラウザ19は、Webアプリケーション39に対して、予め登録された追加スクリプトに対応する通知のみを行う。これにより、Webアプリケーション39に掛かる通知処理の負荷を軽減できる。
また、Webブラウザ19からの要求を一つ又は複数のWebアプリケーション39に対して通知できる。このため、Webアプリケーション39は、ポーリングの方式で要求を取得するのではなく、イベント取得の方式で、Webブラウザ19からの要求を取得できる。
このように、操作部20に設けられているWebブラウザ19の機能を、ソフトウェア更新を行うことなく、ユーザが開発した機能をインストールして拡張可能とする情報処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)等のコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、情報処理プログラムは、CD−R、DVD、ブルーレイディスク(登録商標)、半導体メモリ等のコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。DVDは、「Digital Versatile Disk」の略記である。また、情報処理プログラムは、インターネット等のネットワーク経由で提供してもよい。また、情報処理プログラムを、ネットワークを介してダウンロードし、操作部20(又は本体10)にインストールして実行してもよい。また、情報処理プログラムを、機器内のROM等に予め組み込んで提供してもよい。また、情報処理プログラムの一部又は全部を、IC(半導体集積回路)等のハードウェアで実現してもよい。
上述の実施の形態は、例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。
例えば、実施の形態におけるMFP1は、本発明を適用する機器の一例である。このため、本発明を、プロジェクタ装置、テレビ会議システム又はデジタルカメラ装置等のMFP1以外の機器に適用してもよい。
実施の形態及び実施の形態の変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 複合機(MFP)
10 本体
11 CPU
12 ROM
13 RAM
14 HDD
15 通信I/F
16 接続I/F
17 エンジン部
18 システムバス
19 Webブラウザ
20 操作部
21 CPU
22 ROM
23 RAM
24 フラッシュメモリ
25 通信I/F
26 接続I/F
27 操作パネル
28 システムバス
30 通信路
31 CPU
32 ROM
33 RAM
34 HDD
35 通信I/F
38 システムバス
39 Webアプリケーション
40 ネットワーク
51 スクリプト実行部
52 追加スクリプト
55a 汎用API
55b 汎用API
56a 汎用API
56b 汎用API
57 スクリプト汎用API
58a 汎用API
58b 汎用API
59 スクリプト汎用API
61 NFC制御スクリプト
62 NFCデバイス
特開2011−141684号公報

Claims (10)

  1. ネットワーク上のサーバ装置を介して提供される第1のプログラムを、前記ネットワークを介して実行する第2のプログラムを備えた機器であって、
    前記第1のプログラムと前記第2のプログラムとの間に介在して前記第1のプログラムで実行可能とする第1のインタフェース部と、
    インストールされた前記第2のプログラムの追加機能となる追加プログラムを実行する実行部と、
    前記第2のプログラムと前記実行部との間に介在して前記機器の処理を実行するための制御プログラムで実行可能とする第2のインタフェース部と、を備え、
    前記第1のプログラムと前記実行部との間において、前記第1のインタフェース部及び前記第2のインタフェース部を介して情報の送受信を行い、前記第1のプログラムで前記追加プログラムを実行すること
    を特徴とする機器。
  2. 前記実行部は、複数の前記追加プログラムを個別に記憶し、
    前記第2のプログラムは、前記実行部において個別に記憶した各追加プログラムのうち、前記第1のプログラムから指定された前記追加プログラムに対応する通信を、前記第1のプログラムの間で行うこと
    を特徴とする請求項1に記載の機器。
  3. 前記第1のプログラムは、前記各追加プログラムと、それぞれ通信を行うこと
    を特徴とする請求項2に記載の機器。
  4. 前記第2のプログラムは、前記各追加プログラムからの情報を、それぞれ前記第1のプログラムに送信すること
    を特徴とする請求項1に記載の機器。
  5. 複数の前記第1のプログラムを備え、
    前記第2のプログラムは、前記追加プログラムからの情報を、前記各第1のプログラムにそれぞれ送信すること
    を特徴とする請求項1から請求項4のうち、いずれか一項に記載の機器。
  6. 前記情報は、前記通信の相手先の接続状況を確認するための情報を含むこと
    を特徴とする請求項1から請求項5のうち、いずれか一項に記載の機器。
  7. ネットワーク上のサーバ装置を介して提供される第1のプログラムを、前記ネットワークを介して実行する第2のプログラムを備えた画像形成装置であって、
    前記第1のプログラムと前記第2のプログラムとの間に介在して前記第1のプログラムで実行可能とする第1のインタフェース部と、
    インストールされた前記第2のプログラムの追加機能となる追加プログラムを実行する実行部と、
    前記第2のプログラムと前記実行部との間に介在して前記画像形成装置の処理を実行するための制御プログラムで実行可能とする第2のインタフェース部と、を備え、
    前記第1のプログラムと前記実行部との間において、前記第1のインタフェース部及び前記第2のインタフェース部を介して情報の送受信を行い、前記第1のプログラムで前記追加プログラムを実行すること
    を特徴とする画像形成装置。
  8. ネットワーク上のサーバ装置を介して提供される第1のプログラムを、前記ネットワークを介して実行する第2のプログラムとの間に介在して、前記第1のプログラムで実行可能とする第1のインタフェース部を設け、
    前記第2のプログラムと、インストールされた前記第2のプログラムの追加機能となる追加プログラムを実行する実行部との間に介在して、処理を実行するための制御プログラムで実行可能とする第2のインタフェース部を設け、
    前記第1のプログラムと前記実行部との間において、前記第1のインタフェース部及び前記第2のインタフェース部を介して情報の送受信を行い、前記第1のプログラムで前記追加プログラムを実行すること
    を特徴とする情報処理方法。
  9. コンピュータを、
    ネットワーク上のサーバ装置を介して提供される第1のプログラムを、前記ネットワークを介して実行する第2のプログラムとの間に介在して、前記第1のプログラムで実行可能とする第1のインタフェース部と、
    インストールされた前記第2のプログラムの追加機能となる追加プログラムを実行する実行部と、
    前記第2のプログラムと前記実行部との間に介在して、処理を実行するための制御プログラムで実行可能とする第2のインタフェース部として機能させ、
    前記第1のプログラムと前記実行部との間において、前記第1のインタフェース部及び前記第2のインタフェース部を介して要求及び通知の送受信を行うことで、前記第1のプログラムで前記追加プログラムを実行すること
    を特徴とする情報処理プログラム。
  10. ネットワーク上のサーバ装置と、前記サーバ装置を介して提供される第1のプログラムを、前記ネットワークを介して実行する第2のプログラムを備えた機器とを有する情報処理システムであって、
    前記第1のプログラムと前記第2のプログラムとの間に介在して、前記第1のプログラムで実行可能とする第1のインタフェース部と、
    インストールされた前記第2のプログラムの追加機能となる追加プログラムを実行する実行部と、
    前記第2のプログラムと前記実行部との間に介在して、前記機器の処理を実行するための制御プログラムで実行可能とする第2のインタフェース部と、を備え、
    前記第1のプログラムと前記実行部との間において、前記第1のインタフェース部及び前記第2のインタフェース部を介して情報の送受信を行い、前記第1のプログラムで前記追加プログラムを実行すること
    を特徴とする情報処理システム。
JP2015058799A 2015-03-20 2015-03-20 機器、画像形成装置、情報処理方法、情報処理プログラム及び情報処理システム Active JP6668601B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015058799A JP6668601B2 (ja) 2015-03-20 2015-03-20 機器、画像形成装置、情報処理方法、情報処理プログラム及び情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015058799A JP6668601B2 (ja) 2015-03-20 2015-03-20 機器、画像形成装置、情報処理方法、情報処理プログラム及び情報処理システム

Publications (2)

Publication Number Publication Date
JP2016177703A true JP2016177703A (ja) 2016-10-06
JP6668601B2 JP6668601B2 (ja) 2020-03-18

Family

ID=57070167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015058799A Active JP6668601B2 (ja) 2015-03-20 2015-03-20 機器、画像形成装置、情報処理方法、情報処理プログラム及び情報処理システム

Country Status (1)

Country Link
JP (1) JP6668601B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012168684A (ja) * 2011-02-14 2012-09-06 Seiko Epson Corp ネットワークシステム、インターフェースボードおよびネットワークシステムの印刷処理方法
JP2015032225A (ja) * 2013-08-05 2015-02-16 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム、記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012168684A (ja) * 2011-02-14 2012-09-06 Seiko Epson Corp ネットワークシステム、インターフェースボードおよびネットワークシステムの印刷処理方法
JP2015032225A (ja) * 2013-08-05 2015-02-16 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム、記憶媒体

Also Published As

Publication number Publication date
JP6668601B2 (ja) 2020-03-18

Similar Documents

Publication Publication Date Title
JP6547291B2 (ja) 情報処理システムおよび情報処理方法
US10609509B2 (en) Information processing system, information processing apparatus, and information processing method for providing application information
JP6631342B2 (ja) 機器、画像形成装置、情報処理方法、情報処理プログラム及び情報処理システム
JP6927276B2 (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
US20150077777A1 (en) Apparatus, method and storage medium that stores program
US10191698B2 (en) Information processing apparatus, control method, and storage medium
US11647102B2 (en) Information processing apparatus, control method, and recording medium
JP2016019145A (ja) 画像形成装置、画像形成方法及び画像形成プログラム
US9179017B2 (en) Image processing apparatus and method for processing an image which utilizes a first mode for instructions from the image processing apparatus and a second mode for instructions received from an external apparatus and for instructions from the image processing apparatus
JP2016114981A (ja) 情報処理装置、記録システム、印刷プログラム、及び外部プログラム
JP2018005295A (ja) プログラム及び携帯端末
US11521613B2 (en) Communication system, control method, and non-transitory computer-readable storage medium
JP6668601B2 (ja) 機器、画像形成装置、情報処理方法、情報処理プログラム及び情報処理システム
JP6295745B2 (ja) 操作部を備えた機器、情報処理方法、情報処理プログラム、および情報処理システム
JP6302316B2 (ja) 記録システム、情報処理装置、及びその制御方法
US20190286432A1 (en) Information processing system, apparatus, information processing method, and recording medium
US10079873B2 (en) Information processing apparatus and method
US20150355803A1 (en) Operation unit-equipped device, computer program product, and information processing method
US11275575B2 (en) Information processing apparatus, method, and recording medium
JP7156446B2 (ja) サーバ、システム、制御方法およびプログラム
JP2018050210A (ja) プログラム
JP2016177695A (ja) 機器、画像形成装置、情報処理方法、情報処理プログラム及び情報処理システム
JP2022145185A (ja) プログラム、設定方法、電子機器、及び情報処理システム
JP2015176382A (ja) 操作部を備えた機器、情報処理方法、情報処理プログラム、および情報処理システム
JP2017199216A (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190809

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200210

R151 Written notification of patent or utility model registration

Ref document number: 6668601

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151