(57)【要約】【課題】機器に記憶されているデータに対するネットワークを介した操作性を向上させること。【解決手段】情報処理装置にネットワークを介して接続される機器では、前記情報処理装置から、前記ネットワークを介してプログラムを受信する受信部と、前記受信部によって受信された前記プログラムを呼び出す呼出部とを有し、前記プログラムは、当該機器に記憶されているデータに関する処理を、当該機器に実行させる。【選択図】図５
2016038614.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置にネットワークを介して接続される機器であって、
前記情報処理装置から、前記ネットワークを介してプログラムを受信する受信部と、
前記受信部によって受信された前記プログラムを呼び出す呼出部とを有し、
前記プログラムは、当該機器に記憶されているデータに関する処理を、当該機器に実行させる、
ことを特徴とする機器。
【請求項２】
前記呼出部は、前記ネットワークを介して受信される前記プログラムの呼び出し要求に応じ、前記プログラムを呼び出す、
ことを特徴とする請求項１記載の機器。
【請求項３】
前記プログラムは、前記情報処理装置からの要求に応じて当該機器に入力されたデータに関する処理を、当該機器に実行させる、
ことを特徴とする請求項１又は２記載の機器。
【請求項４】
前記プログラムは、当該機器へのデータの入力を当該機器に実行させ、当該データに関する処理を当該機器に実行させる、
ことを特徴とする請求項１乃至３いずれか一項記載の機器。
【請求項５】
前記情報処理装置は、当該機器の操作部である、
ことを特徴とする請求項１乃至４いずれか一項記載の機器。
【請求項６】
前記プログラムは、動的に呼び出しが可能なプログラムである、
ことを特徴とする請求項１乃至５いずれか一項記載の機器。
【請求項７】
前記データは、画像データであり、
前記プログラムが前記データに関して当該機器に実行させる処理は、前記画像データに関する画像処理である、
ことを特徴とする請求項１乃至６いずれか一項記載の機器。
【請求項８】
機器と、前記機器にネットワークを介して接続される情報処理装置とを含む情報処理システムであって、
前記機器は、
前記情報処理装置から、前記ネットワークを介してプログラムを受信する受信部と、
前記受信部によって受信された前記プログラムを呼び出す呼出部とを有し、
前記プログラムは、当該機器に記憶されているデータに関する処理を、当該機器に実行させる、
ことを特徴とする情報処理システム。
【請求項９】
情報処理装置にネットワークを介して接続される機器が、
前記情報処理装置から、前記ネットワークを介してプログラムを受信する受信手順と、
前記受信手順において受信された前記プログラムを呼び出す呼出手順とを有し、
前記プログラムは、当該機器に記憶されているデータに関する処理を、当該機器に実行させる、
ことを特徴とする情報処理方法。
【請求項１０】
情報処理装置にネットワークを介して接続される機器に、
前記情報処理装置から、前記ネットワークを介してプログラムを受信する受信手順と、
前記受信手順において受信された前記プログラムを呼び出す呼出手順とを実行させ、
前記プログラムは、当該機器に記憶されているデータに関する処理を、当該機器に実行させる、
ことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器、情報処理システム、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
画像形成装置等の機器の中で、当該機器に関する各種の資源を、ネットワークを介して利用可能とするためのインタフェースとしてのＡＰＩ（Application Program Interface）を備えた機器が有る。このようなＡＰＩを利用して、当該ＡＰＩを備えた機器にネットワークを介して接続される装置に対して、当該機器に関する各種の資源を利用したアプリケーションを実装することができる。例えば、機器においてスキャンされた画像データに関して処理を実行するアプリケーションを、当該機器にネットワークを介して接続された装置に実装することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記のようなアプリケーションが、機器においてスキャンされた画像データに関して、当該機器には実装されていない加工処理、又は当該機器が公開しているＡＰＩでは実現できない加工処理を行いたい場合、当該アプリケーションが実装されている装置に、当該画像データを転送することが考えられる。そうすることで、当該アプリケーションは、直接的に、当該画像データに対して当該加工処理を実行することができる。
【０００４】
しかしながら、当該機器と当該装置とを接続するネットワークの通信帯域が狭い場合、当該機器から当該装置への画像データの転送時間がボトルネックとなり、全体の処理時間が長期化してしまう可能性が有る。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、機器に記憶されているデータに対するネットワークを介した操作性を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、情報処理装置にネットワークを介して接続される機器では、前記情報処理装置から、前記ネットワークを介してプログラムを受信する受信部と、前記受信部によって受信された前記プログラムを呼び出す呼出部とを有し、前記プログラムは、当該機器に記憶されているデータに関する処理を、当該機器に実行させる。
【発明の効果】
【０００７】
機器に記憶されているデータに対するネットワークを介した操作性を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態のシステム構成例を示す図である。
【図２】本発明の実施の形態における情報処理システムの構成例を示す図である。
【図３】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図４】本発明の実施の形態における情報処理端末のハードウェア構成例を示す図である。
【図５】本発明の実施の形態における各装置の機能構成例を示す図である。
【図６】情報処理端末及び画像形成装置が実行する処理手順の一例を説明するためのシーケンス図である。
【図７】拡張プログラムを適用しない場合の処理手順の一例を説明するためのシーケンス図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態のシステム構成例を示す図である。図１において、１以上のクライアント装置３０と、情報処理システム２ａ及び２ｂ等の１以上の情報処理システム２は、ＬＡＮ（Local Area Network）又はインターネット等のネットワークを介して通信可能に接続される。なお、情報処理システム２ａ及び２ｂ等のそれぞれを区別しない場合、「情報処理システム２」という。
【００１０】
クライアント装置３０は、情報処理システム２が有するＡＰＩ（Application Program Interface）を利用したアプリケーションプログラムが実装される装置の一例である。クライアント装置３０の一例として、ＰＣ（Personal Computer）、タブレット型端末、スマートフォン、又は携帯電話等が挙げられる。
【００１１】
情報処理システム２は、相互に連携して処理を実行する２以上の情報処理装置の集合である。
【００１２】
図２は、本発明の実施の形態における情報処理システムの構成例を示す図である。図２に示される情報処理システム２において、画像形成装置１０は、情報処理端末２０と通信可能に接続される。画像形成装置１０と情報処理端末２０との通信は、例えば、ＵＳＢ（Universal Serial Bus）、近距離無線通信、又はＬＡＮ（有線又は無線の別は問わない）等のネットワークを介して行われる。
【００１３】
画像形成装置１０は、印刷、スキャン、コピー、及びＦＡＸ送受信等のうちの２以上の機能を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を有する機器が画像形成装置１０として用いられてもよい。また、プロジェクタ、テレビ会議システム、又はデジタルカメラ等の機器が、画像形成装置１０の代わりに用いられてもよい。なお、図１に関して説明した、情報処理システム２が有するＡＰＩとは、画像形成装置１０が有するＡＰＩである。
【００１４】
情報処理端末２０は、例えば、スマートフォンやタブレット型端末等、単独で完結した情報処理を実行可能な電子機器である。本実施の形態において、情報処理端末２０は、画像形成装置１０の操作部として機能する。より詳しくは、情報処理端末２０は、従来、画像形成装置１０の専用の操作部として設置されていた操作パネルの代わりに、画像形成装置１０に接続される。情報処理端末２０は、また、クライアント装置３０と同様に、画像形成装置１０が有するＡＰＩを利用したアプリケーションが実装される装置の一例である。
【００１５】
情報処理端末２０は、例えば、画像形成装置１０の所定の位置（例えば、操作パネルが配置される位置）に固定されて設置される。したがって、情報処理端末２０及び画像形成装置１０とは、一台の装置として把握されてもよい。または、情報処理端末２０は、画像形成装置１０から取り外し可能（分離可能）であってもよい。情報処理端末２０が取り外された状態において、情報処理端末２０は、Ｂｌｕｅｔｏｏｔｈ（登録商標）、赤外線、又は無線ＬＡＮ等を利用した無線通信等を介して、画像形成装置１０の操作部として機能可能であってもよい。
【００１６】
図３は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図３において、画像形成装置１０は、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、端末インタフェース１５、ネットワークインタフェース１６、及びＳＤカードスロット１７等のハードウェアを有する。
【００１７】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、ＨＤＤ１１４、及びＮＶＲＡＭ１１５等を有する。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ１１４には、プログラムやプログラムが利用する各種のデータ等が記憶される。ＮＶＲＡＭ１１５には、各種の設定情報等が記憶される。
【００１８】
スキャナ１２は、原稿より画像データを読み取るためのハードウェア（画像読取手段）である。プリンタ１３は、印刷データを印刷用紙に印刷するためのハードウェア（印刷手段）である。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。端末インタフェース１５は、情報処理端末２０と通信（接続）するためのインタフェースである。例えば、端末インタフェース１５は、例えば、ＵＳＢインタフェースでもよいし、近距離無線通信のためのハードウェアでもよい。または、端末インタフェース１５は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアでもよい。ネットワークインタフェース１６は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。ＳＤカードスロット１７は、ＳＤカード８０に記憶されたプログラムを読み取るために利用される。すなわち、画像形成装置１０では、ＲＯＭ１１３に記憶されたプログラムだけでなく、ＳＤカード８０に記憶されたプログラムもＲＡＭ１１２にロードされ、実行されうる。なお、他の記録媒体（例えば、ＣＤ−ＲＯＭ又はＵＳＢ（Universal Serial Bus）メモリ等）によってＳＤカード８０が代替されてもよい。すなわち、ＳＤカード８０の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、ＳＤカードスロット１７は、記録媒体の種類に応じたハードウェアによって代替されればよい。
【００１９】
図４は、本発明の実施の形態における情報処理端末のハードウェア構成例を示す図である。図４において、情報処理端末２０は、ＣＰＵ２０１、メモリ２０２、補助記憶装置２０３、タッチパネル２０４、無線通信装置２０５、及び機器インタフェース２０６等を有する。
【００２０】
補助記憶装置２０３は、情報処理端末２０にインストールされたプログラム等を記憶する。メモリ２０２は、プログラムの起動指示があった場合に、補助記憶装置２０３からプログラムを読み出して記憶する。ＣＰＵ２０１は、メモリ２０２に記憶されたプログラムに従って情報処理端末２０に係る機能を実現する。
【００２１】
タッチパネル２０４は、入力機能と表示機能との双方を備えた電子部品であり、情報の表示や、ユーザからの入力の受け付け等を行う。タッチパネル２０４は、表示装置２１１及び入力装置２１２等を含む。
【００２２】
表示装置２１１は、液晶ディスプレイ等であり、タッチパネル２０４の表示機能を担う。入力装置２１２は、表示装置２１１に対する接触物の接触を検出するセンサを含む電子部品である。接触物の接触の検出方式は、静電方式、抵抗膜方式、又は光学方式等、公知の方式のいずれであってもよい。なお、接触物とは、タッチパネル２０４の接触面（表面）に接触する物体をいう。斯かる物体の一例として、ユーザの指や専用又は一般のペン等が挙げられる。
【００２３】
無線通信装置２０５は、無線ＬＡＮ（Local Area Network）又は移動体通信網等における通信を行うために必要とされるアンテナ等の電子部品である。機器インタフェース２０６は、画像形成装置１０と通信するためのインタフェースである。すなわち、機器インタフェース２０６は、端末インタフェース１５に対応した形態によって、画像形成装置１０との通信を行う。
【００２４】
図５は、本発明の実施の形態における各装置の機能構成例を示す図である。図５において、画像形成装置１０は、ＷｅｂＡＰＩ部１２０及びスタブ部１３０等を有する。これら各部は、画像形成装置１０にインストールされた１以上のプログラムが、ＣＰＵ１１１に実行させる処理により実現される。
【００２５】
ＷｅｂＡＰＩ部１２０は、画像形成装置１０が有する各種資源を外部から操作可能とするためのインタフェースとしてのＡＰＩを提供すると共に、当該ＡＰＩの実装を含む。本実施の形態において、ＷｅｂＡＰＩ部１２０は、Ｗｅｂインタフェースによって当該ＡＰＩを提供する。例えば、ＷｅｂＡＰＩ部１２０が提供するＡＰＩは、ＨＴＴＰ（HyperText Transfer Protocol）を利用して呼び出すことができる。また、当該ＡＰＩは、ＲＥＳＴ（Representational State Transfer）に準拠していてもよい。以下、ＷｅｂＡＰＩ部１２０によって提供されるＡＰＩを、「ＷｅｂＡＰＩ」という。但し、ＷｅｂＡＰＩ部１２０によって提供されるＡＰＩは、特定のプロトコルに依存しなくてもよい。
【００２６】
図５において、ＷｅｂＡＰＩ部１２０は、登録部１２１、呼出受信部１２２、データ取得部１２３、機器制御部１２４、及びメール送信部１２５等を有する。これら各部は、それぞれ、ＷｅｂＡＰＩを構成する関数群又はメソッド群のうちのいずれかの関数又はメソッド（以下、「関数」で統一する。）が、ＣＰＵ１１１に実行させる処理により実現される。
【００２７】
登録部１２１は、ＷｅｂＡＰＩの一つである登録関数に対応する。登録関数とは、画像形成装置１０に対するプログラムの登録要求を受け付けるための関数である。すなわち、登録部１２１は、情報処理端末２０又はクライアント装置３０から、画像形成装置１０へのプログラムの登録要求を受信すると、当該プログラムの登録をスタブ部１３０に要求する。当該プログラムは、画像形成装置１０の機能を一時的に又は継続的に変更又は拡張するためのプログラムである。以下、当該プログラムを、「拡張プログラム」という。拡張プログラムは、ＤＬＬ（Dynamic Link Library）、ＪＡＲ（Java（登録商標） Archive）ファイル、又はスクリプト（例えば、Ｊａｖａ（登録商標）スクリプト）等、動的に呼び出し可能なプログラムであることが好ましい。動的に呼び出し可能であるとは、静的なリンク等が必要とされないことをいう。
【００２８】
呼出受信部１２２は、ＷｅｂＡＰＩの一つである呼出関数に対応する。呼出関数とは、拡張プログラムの呼び出し要求を受け付けるための関数である。すなわち、呼出受信部１２２は、情報処理端末２０又はクライアント装置３０から拡張プログラムの呼出要求を受信すると、当該拡張プログラムの呼び出しをスタブ部１３０に要求する。
【００２９】
データ取得部１２３は、ＷｅｂＡＰＩの一つであるデータ取得関数に対応する。データ取得関数とは、画像形成装置１０に記憶されているデータの取得要求を受け付けるための関数である。すなわち、データ取得部１２３は、情報処理端末２０又はクライアント装置３０からデータの取得要求を受信すると、当該取得要求において指定された識別情報に対応するデータを、要求元に返信する。なお、斯かるデータの一例として、画像形成装置１０においてスキャンされた画像データや、画像形成装置１０において受信され、出力待ちの印刷データ等が挙げられる。
【００３０】
機器制御部１２４は、ＷｅｂＡＰＩの一つである制御関数に対応する。制御関数とは、画像形成装置１０のハードウェア資源の制御要求を受け付けるための関数である。すなわち、機器制御部１２４は、情報処理端末２０又はクライアント装置３０から画像形成装置１０の制御要求を受け付けると、当該制御要求において要求された動作を、画像形成装置１０に実行させる。斯かる制御要求の一例として、スキャンの実行要求が挙げられる。
【００３１】
メール送信部１２５は、ＷｅｂＡＰＩの一つであるメール送信関数に対応する。メール送信関数は、電子メールの送信要求を受け付けるための関数である。すなわち、メール送信部１２５は、情報処理端末２０又はクライアント装置３０から電子メールの送信要求を受信すると、当該送信要求において指定された情報を含む電子メールを、当該送信要求において指定された宛先アドレスに送信する。
【００３２】
スタブ部１３０は、登録部１２１からの登録要求に係る拡張プログラムの登録処理や、呼出受信部１２２からの呼び出し要求に係る拡張プログラムの呼び出し処理等を実行する。拡張プログラムの登録とは、例えば、ＨＤＤ１１４において、スタブ部１３０の管理下にある所定の位置（例えば、所定のフォルダ）に、拡張プログラムを保存することをいう。拡張プログラムは、スタブ部１３０が予定しているインタフェース（例えば、所定の名前の関数）を有する。スタブ部１３０は、当該インタフェースを介して、拡張プログラムを呼び出す。
【００３３】
情報処理端末２０は、端末アプリ２１を有する。端末アプリ２１は、画像形成装置１０のＷｅｂＡＰＩを利用するアプリケーションプログラムの一例である。なお、情報処理端末２０は、複数種類の端末アプリ２１を有していてもよい。
【００３４】
クライアント装置３０は、クライアントアプリ３１を有する。クライアントアプリ３１は、画像形成装置１０のＷｅｂＡＰＩを利用するアプリケーションプログラムの一例である。なお、クライアント装置３０は、複数種類のクライアントアプリ３１を有していてもよい。
【００３５】
なお、端末アプリ２１及びクライアントアプリ３１は、それぞれのインストール先の情報処理端末２０又はクライアント装置３０に適した形式で作成されてよい。例えば、端末アプリ２１及びクライアントアプリ３１のそれぞれのプログラミング言語は、相互に異なっていてもよい。
【００３６】
以下、情報処理端末２０及び画像形成装置１０が実行する処理手順について説明する。なお、本実施の形態では、便宜上、クライアント装置３０が実行する処理については説明を省略するが、以下の説明における情報処理端末２０が、クライアント装置３０に置き換えられてもよい。
【００３７】
図６は、情報処理端末及び画像形成装置が実行する処理手順の一例を説明するためのシーケンス図である。
【００３８】
ステップＳ１０１において、端末アプリ２１は、ＷｅｂＡＰＩの一つである登録関数を呼び出す。すなわち、端末アプリ２１は、拡張プログラムの登録要求を画像形成装置１０に送信する。当該登録要求には、登録対象の拡張プログラムが含まれる。本実施の形態では、「ＯＣＲライブラリ」が、拡張プログラムの一例である。ＯＣＲライブラリは、原稿からの画像データのスキャンと、当該画像データに関するＯＣＲ（Optical Character Recognition）処理と、ＯＣＲ処理によって得られるテキストデータを電子メールで送信する処理とを画像形成装置１０に実行させるプログラムである。本実施の形態において、画像形成装置１０は、ＯＣＲ機能を有していない。又は、画像形成装置１０は、端末アプリ２１が要求する程度の性能のＯＣＲ機能を有していない。
【００３９】
ＷｅｂＡＰＩ部１２０の一部である登録部１２１は、当該登録要求を受信すると、当該登録要求に含まれているＯＣＲライブラリの登録をスタブ部１３０に要求する（Ｓ１０２）。なお、当該登録要求には、ＯＣＲライブラリのプログラム本体の他に、ＯＣＲライブラリに関する設定情報が含まれていてもよい。当該設定情報には、スキャンに関するパラメータや、ＯＣＲ処理に関するパラメータや、メール送信処理に関するパラメータ等が含まれていてもよい。
【００４０】
続いて、スタブ部１３０は、ＯＣＲライブラリを所定の位置に保存し（Ｓ１０３）、登録部１２１に対して応答を返却する（Ｓ１０４）。登録部１２１は、当該応答に応じ、端末アプリ２１に対して応答を返信する（Ｓ１０５）。
【００４１】
続いて、端末アプリ２１は、ＷｅｂＡＰＩの一つである呼出関数を呼び出す（Ｓ１０６）。すなわち、端末アプリ２１は、拡張プログラムの呼び出し要求を画像形成装置１０に送信する。当該呼び出し要求には、呼び出し対象の拡張プログラムの識別情報が含まれてもよい。当該識別情報（以下、「プログラムＩＤ」という。）は、例えば、スタブ部１３０によって付与され、ステップＳ１０４におけるスタブ部１３０からの応答に含まれていてもよい。この場合、ステップＳ１０５における応答にて、端末アプリ２１に対してプログラムＩＤが通知されてもよい。なお、拡張プログラムの呼び出し要求は、拡張プログラムの実行要求として把握されてもよい。
【００４２】
ＷｅｂＡＰＩ部１２０の一部である呼出受信部１２２は、当該呼び出し要求を受信すると、当該呼び出し要求をスタブ部１３０に通知する（Ｓ１０７）。続いて、スタブ部１３０は、当該呼び出し要求において呼び出し対象とされているＯＣＲライブラリを、ＲＡＭ１１２に動的にロードする（Ｓ１０８）。続いて、スタブ部１３０は、ＯＣＲライブラリが備える所定の関数を呼び出すことにより、ＯＣＲライブラリを実行させる（Ｓ１０９）。なお、以降において、ＯＣＲライブラリがＣＰＵ１１１に実行させる処理は、便宜上、ＯＣＲライブラリが実行する処理として説明する。
【００４３】
続いて、ＯＣＲライブラリは、ＷｅｂＡＰＩの一つである制御関数を呼び出すことにより、スキャンの実行を機器制御部１２４に要求する（Ｓ１１０）。すなわち、ＯＣＲライブラリは、制御関数を介して、スキャンの実行要求を機器制御部１２４に送信する。このように、ＷｅｂＡＰＩは、画像形成装置１０の内部から呼び出されてもよい。
【００４４】
機器制御部１２４は、スキャンの実行要求を受信すると、スキャナ１２に原稿のスキャンを実行させる（Ｓ１１１）。なお、原稿は、予めユーザによってセットされている。スキャナ１２によって原稿からスキャンされた画像データは、ＨＤＤ１１４の所定の位置（例えば、所定のフォルダ）に保存される（Ｓ１１２）。画像データの保存が完了し、処理の制御が機器制御部１２４に復帰すると（Ｓ１１３、Ｓ１１４）、機器制御部１２４は、ＯＣＲライブラリに対して応答を返信する（Ｓ１１５）。当該応答には、保存された画像データの識別情報（以下、「データＩＤ」という。）が含まれていてもよい。データＩＤは、ファイル名であってもよいし、他の形式の識別情報であってもよい。
【００４５】
続いて、ＯＣＲライブラリは、データＩＤに対応する画像データをＨＤＤ１１４からＲＡＭ１１２に読み込む（Ｓ１１６、Ｓ１１７）。ＯＣＲライブラリは、読み込んだ画像データに関してＯＣＲ処理を実行する（Ｓ１１８）。ＯＣＲ処理によってテキストデータが生成される。続いて、ＯＣＲライブラリは、当該テキストデータを、ＨＤＤ１１４に保存する（Ｓ１１９）。但し、テキストデータの保存は必ずしも行われなくてもよい。続いて、ＯＣＲライブラリは、例えば、当該テキストデータを本文に含み、所定のメールアドレスを宛先とする電子メールの送信要求を、ネットワークインタフェース１６を利用して所定のメールサーバに送信する（Ｓ１２０、Ｓ１２１）。その結果、当該テキストデータを含む電子メールが、当該所定のメールアドレス宛に送信される。なお、当該所定のメールアドレスや、当該所定のメールサーバのＩＰアドレス等は、例えば、ＯＣＲライブラリの設定情報に含まれていてもよい。
【００４６】
なお、登録関数と呼出関数とは、相互に区別されなくてもよい。又は、登録関数及び呼出関数の双方の機能を実現する一つの関数が実装されてもよい。この場合、ステップＳ１０３に続いて、ステップＳ１０８以降が実行されてもよい。但し、登録関数と呼出関数とが区別されることにより、例えば、同じ拡張プログラムを複数回呼び出したい場合に、拡張プログラムが毎回転送される必要性を低減することができる。
【００４７】
続いて、参考として、登録関数及び呼出関数が無い場合、すなわち、画像形成装置１０に対する拡張プログラム（ＯＣＲライブラリ）の適用が行われない場合に、図６において説明した処理手順によって実現される機能と同じ機能を実現するための処理手順の一例を説明する。
【００４８】
図７は、拡張プログラムを適用しない場合の処理手順の一例を説明するためのシーケンス図である。
【００４９】
ステップＳ２０１において、端末アプリ２１は、ＷｅｂＡＰＩの一つである制御関数を呼び出すことにより、スキャンの実行を画像形成装置１０に要求する（Ｓ２０１）。すなわち、端末アプリ２１は、スキャンの実行要求を機器制御部１２４に送信する。機器制御部１２４は、スキャンの実行要求を受信すると、スキャナ１２に原稿のスキャンを実行させる（Ｓ２０２）。スキャナ１２によって原稿からスキャンされた画像データは、ＨＤＤ１１４に保存される（Ｓ２０３）。画像データの保存が完了し、処理の制御が機器制御部１２４に復帰すると（Ｓ２０４、Ｓ２０５）、機器制御部１２４は、端末アプリ２１に対して応答を返信する（Ｓ２０６）。当該応答には、保存された画像データのデータＩＤが含まれていてもよい。
【００５０】
続いて、端末アプリ２１は、ＷｅｂＡＰＩの一つであるデータ取得関数を呼び出す（Ｓ２０７）。すなわち、端末アプリ２１は、データの取得要求を画像形成装置１０に送信する。当該取得要求には、データＩＤが含まれる。ＷｅｂＡＰＩ部１２０の一部であるデータ取得部１２３は、当該取得要求を受信すると、当該取得要求に含まれているデータＩＤに対応する画像データを、ＨＤＤ１１４から取得する（Ｓ２０８、Ｓ２０９）。続いて、データ取得部１２３は、当該画像データを含む応答を端末アプリ２１に返信する（Ｓ２１０）。
【００５１】
続いて、端末アプリ２１は、当該画像データに関してＯＣＲ処理を実行する（Ｓ２１１）。ＯＣＲ処理によって、テキストデータが生成される。続いて、端末アプリ２１は、ＷｅｂＡＰＩの一つであるメール送信関数を呼び出す。すなわち、端末アプリ２１は、電子メールの送信要求を画像形成装置１０に送信する。当該送信要求には、ＯＣＲ処理によって生成されたテキストデータ、宛先のメールアドレス、及びメールサーバのＩＰアドレス等が含まれる。
【００５２】
ＷｅｂＡＰＩ部１２０の一部であるメール送信部１２５は、当該送信要求を受信すると、当該送信要求に含まれているテキストデータを本文に含み、当該送信要求に含まれているメールアドレスを宛先とする電子メールの送信要求を、ネットワークインタフェース１６を利用してメールサーバに送信する（Ｓ１２０、Ｓ１２１）。その結果、当該テキストデータを含む電子メールが、当該メールアドレス宛に送信される。
【００５３】
ここで、図７では、ステップ２０７において、画像形成装置１０から情報処理端末２０に対してネットワークを介して画像データが転送される。画像形成装置１０は、端末アプリ２１が必要とするＯＣＲ機能を有しておらず、端末アプリ２１がＯＣＲ処理を実行する必要が有るからである。また、ステップＳ２１１において、情報処理端末２０から画像形成装置１０に対してテキストデータが転送される。
【００５４】
一方、図６では、情報処理端末２０と画像形成装置１０との間では、画像データやテキストデータの転送は行われない。図６では、画像形成装置１０に対して拡張プログラムが動的に適用されることで、画像形成装置１０に対して動的にＯＣＲ機能を追加することができるからである。但し、図６では、情報処理端末２０から画像形成装置１０に対して拡張プログラムが転送される必要が有る。したがって、拡張プログラムのデータサイズが、画像データ及びテキストデータのデータサイズの総和より小さければ、図６の方が、全体の処理時間を短縮できる可能性を高めることができる。また、拡張プログラムをスクリプト等によって作成することにより、拡張プログラムの転送負荷の軽減が図られてもよい。なお、一般的に、プログラムやスクリプトの方が、画像データよりデータサイズは小さい。また、画像形成装置１０への拡張プログラムの送信回数は、ステップＳ１０２における１回である。したがって、一般的に、図６の方が、情報処理端末２０と画像形成装置１０との間の通信負荷を抑制することができる。
【００５５】
このように、本実施の形態によれば、機器に記憶されているデータに対するネットワークを介した操作性を向上させることができる。特に、本実施の形態のように、情報処理端末２０が画像形成装置１０の操作部として機能する場合、情報処理端末２０と画像形成装置１０との間では、ユーザによる入力指示や、画像形成装置１０からの応答等、各種の通信が高速に行われる必要が有る。したがって、仮に、情報処理端末２０と画像形成装置１０との間で、データサイズが大きいデータの転送が行われた場合、操作部の応答性が劣化する可能性が高くなる。その結果、ユーザに対してストレスを感じさせてしまう可能性が高くなる。本実施の形態によれば、そのような事態の発生を抑制することができる。
【００５６】
なお、図７におけるステップＳ２０１〜Ｓ２０６が、図６のステップＳ１０１の前、又はステップＳ１０６の前に実行されてもよい。この場合、ステップＳ１１０〜Ｓ１１５は実行されなくてもよい。すなわち、ＯＣＲライブラリには、スキャンジョブに関する処理は実装されなくてもよい。また、ＯＣＲ処理によって生成されるテキストデータの出力方法は、メール送信以外であってもよい。すなわち、拡張プログラムに実装される処理は、所定のものに限定されない。
【００５７】
また、拡張プログラムが画像形成装置１０に対して実行させるデータ処理（画像処理）は、ＯＣＲ処理以外の処理であってもよい。例えば、画像データの変換処理であってもよいし、画像データに関する印刷データの生成処理であってもよい。また、拡張プログラムによって処理対象とされる画像データは、情報処理端末２０からの要求に応じて入力された画像データでなくてもよい。例えば、予め画像形成装置１０に記憶されているデータが、拡張プログラムによる処理対象とされてもよい。
【００５８】
なお、画像形成装置１０以外の機器に関して本実施の形態が適用されてもよい。例えば、プロジェクタ、デジタルカメラ、電子黒板、又はテレビ会議システム等が、画像形成装置１０に置き換えられて、本実施の形態が適用されてもよい。
【００５９】
なお、本実施の形態において、画像形成装置１０は、機器の一例である。情報処理端末２０及びクライアント装置３０は、情報処理装置の一例である。登録部１２１は、受信部の一例である、スタブ部１３０は、呼出部の一例である。
【００６０】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００６１】
２            情報処理システム
１０          画像形成装置
１１          コントローラ
１２          スキャナ
１３          プリンタ
１４          モデム
１５          端末インタフェース
１６          ネットワークインタフェース
１７          ＳＤカードスロット
２０          情報処理端末
２１          端末アプリ
３０          クライアント装置
３１          クライアントアプリ
８０          ＳＤカード
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
１１５        ＮＶＲＡＭ
１２０        ＷｅｂＡＰＩ部
１２１        登録部
１２２        呼出受信部
１２３        データ取得部
１２４        機器制御部
１２５        メール送信部
１３０        スタブ部
２０１        ＣＰＵ
２０２        メモリ
２０３        補助記憶装置
２０４        タッチパネル
２０５        無線通信装置
２０６        機器インタフェース
２１１        表示装置
２１２        入力装置
【先行技術文献】
【特許文献】
【００６２】
【特許文献１】特開２０１１−１９１９５１号公報
【図１】
2016038614.tif 000003
【図２】
2016038614.tif 000004
【図３】
2016038614.tif 000005
【図４】
2016038614.tif 000006
【図５】
2016038614.tif 000007
【図６】
2016038614.tif 000008
【図７】
2016038614.tif 000009