(57)【要約】【課題】機器に記憶されているデータに対するネットワークを介した操作性を向上させること。【解決手段】情報処理装置に第一のネットワークを介して接続される機器は、前記情報処理装置から、プログラムの識別情報を前記第一のネットワークを介して受信する受信部と、前記受信部によって受信された前記識別情報に係るプログラムを、第二のネットワークを介して取得する取得部と、前記取得部によって取得された前記プログラムを呼び出す呼出部とを有し、前記プログラムは、当該機器に記憶されているデータに関する処理を、当該機器に実行させる。【選択図】図５
2016130902.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）処理と、ＯＣＲ処理によって得られるテキストデータを電子メールで送信する処理とを画像形成装置１０に実行させるプログラムである。本実施の形態において、画像形成装置１０は、ＯＣＲ機能を有していない。又は、画像形成装置１０は、端末アプリ２１が要求する程度の性能のＯＣＲ機能を有していない。
【００４０】
なお、登録関数の呼び出しは、例えば、端末アプリ２１のインストール時に実行されてもよいし、インストール後の所定のタイミングで実行されてもよい。インストール時に登録関数の呼び出しが実行される場合、端末アプリ２１のインストーラによって、当該呼び出しが行われてもよい。この場合、アプリＩＤ及びＯＣＲライブラリは、端末アプリ２１のインストールパッケージ等から取得されてもよい。
【００４１】
ＷｅｂＡＰＩ部１２０の一部である登録部１２１は、当該登録要求を受信すると、当該登録要求をスタブ部１３０に転送する（Ｓ１０２）。なお、当該登録要求に含まれているＯＣＲライブラリには、ＯＣＲライブラリのプログラム本体の他に、ＯＣＲライブラリに関する識別情報（以下、「プログラムＩＤ」という。）及び設定情報が含まれていてもよい。当該設定情報には、スキャンに関するパラメータや、ＯＣＲ処理に関するパラメータや、メール送信処理に関するパラメータ等が含まれていてもよい。
【００４２】
続いて、スタブ部１３０は、当該登録要求に含まれているＯＣＲライブラリのプログラムＩＤを含むレコードを、拡張情報記憶部１４０から検索する（Ｓ１０３）。
【００４３】
図７は、第一の実施の形態における拡張情報記憶部の構成例を示す図である。図７において、拡張情報記憶部１４０は、アプリＩＤ及びプログラムＩＤに対応付けて、ローカルファイル名を記憶する。
【００４４】
アプリＩＤは、拡張プログラムの登録要求元の端末アプリ２１又はクライアントアプリ３１のアプリＩＤである。プログラムＩＤは、登録対象の拡張プログラムのプログラムＩＤである。ローカルファイル名は、登録対象の拡張プログラムの保存先の識別情報である。なお、拡張プログラムは、ファイル以外の形式で保存されてもよい。
【００４５】
ステップＳ１０４では、登録要求に含まれているプログラムＩＤを含む全てのレコードが検索される。該当するレコードが検索されなかった場合、ＯＣＲライブラリが未登録であるということになる。そこで、スタブ部１３０は、ＯＣＲライブラリを所定の位置に保存し、当該アプリＩＤ、当該プログラムＩＤ、及び当該所定の位置を示すローカルファイル名を含むレコードを、拡張情報記憶部１４０に登録する（Ｓ１０７）。例えば、ＯＣＲライブラリは、ＨＤＤ１１４に記憶されてもよい。
【００４６】
又は、ステップＳ１０４において該当するレコードが検索されたが、検索されたレコードの中に、登録要求に含まれているアプリＩＤを含むレコードが無い場合、スタブ部１３０は、検索されたいずれかのレコードのコピーを生成し、生成されたレコードのアプリＩＤの値を、登録要求に含まれているアプリＩＤに置換する。スタブ部１３０は、アプリＩＤの置換後のレコードを、拡張情報記憶部１４０に登録する（Ｓ１０７）。すなわち、この場合、ＯＣＲライブラリ自体は既に保存されているため、端末アプリ２１と、ＯＣＲライブラリとの対応付けが、新たに登録される。そうすることで、同一のＯＣＲライブラリが複数箇所に保存されることが回避され、ＨＤＤ１１４又はＮＶＲＡＭ１１５等の記憶容量の消費を抑制することができる。
【００４７】
又は、ステップＳ１０４において該当するレコードが検索され、検索されたレコードの中に、登録要求に含まれているアプリＩＤを含むレコードが有る場合、スタブ部１３０は、ステップＳ１０７を実行しない。
【００４８】
続いて、スタブ部１３０は、登録部１２１に対して応答を返却する（Ｓ１１４）。登録部１２１は、当該応答に応じ、端末アプリ２１に対して応答を返信する（Ｓ１１５）。
【００４９】
続いて、端末アプリ２１は、ＷｅｂＡＰＩの一つである呼出関数を呼び出す（Ｓ１１６）。すなわち、端末アプリ２１は、拡張プログラムの呼び出し要求を、ネットワークＮ２を介して画像形成装置１０に送信する。当該呼び出し要求には、呼び出し対象の拡張プログラムのプログラムＩＤが含まれてもよい。なお、拡張プログラムの呼び出し要求は、拡張プログラムの実行要求として把握されてもよい。
【００５０】
ＷｅｂＡＰＩ部１２０の一部である呼出受信部１２２は、当該呼び出し要求を受信すると、当該呼び出し要求をスタブ部１３０に通知する（Ｓ１１７）。続いて、スタブ部１３０は、当該呼び出し要求に指定されているプログラムＩＤを含むレコードを拡張情報記憶部１４０から検索して、呼び出し対象の拡張プログラムのローカルファイル名を特定する。スタブ部１３０は、当該ローカルファイル名に係るＯＣＲライブラリを、ＲＡＭ１１２に動的にロードする（Ｓ１１８）。続いて、スタブ部１３０は、ＯＣＲライブラリが備える所定の関数を呼び出すことにより、ＯＣＲライブラリを実行させる（Ｓ１１９）。なお、以降において、ＯＣＲライブラリがＣＰＵ１１１に実行させる処理は、便宜上、ＯＣＲライブラリが実行する処理として説明する。
【００５１】
続いて、ＯＣＲライブラリは、ＷｅｂＡＰＩの一つである制御関数を呼び出すことにより、スキャンの実行を機器制御部１２４に要求する（Ｓ１２０）。すなわち、ＯＣＲライブラリは、制御関数を介して、スキャンの実行要求を機器制御部１２４に送信する。このように、ＷｅｂＡＰＩは、画像形成装置１０の内部から呼び出されてもよい。
【００５２】
機器制御部１２４は、スキャンの実行要求を受信すると、スキャナ１２に原稿のスキャンを実行させる（Ｓ１２１）。なお、原稿は、予めユーザによってセットされている。スキャナ１２によって原稿からスキャンされた画像データは、ＨＤＤ１１４の所定の位置（例えば、所定のフォルダ）に保存される（Ｓ１２２）。画像データの保存が完了し、処理の制御が機器制御部１２４に復帰すると（Ｓ１２３、Ｓ１２４）、機器制御部１２４は、ＯＣＲライブラリに対して応答を返信する（Ｓ１２５）。当該応答には、保存された画像データの識別情報（以下、「データＩＤ」という。）が含まれていてもよい。データＩＤは、ファイル名であってもよいし、他の形式の識別情報であってもよい。
【００５３】
続いて、ＯＣＲライブラリは、データＩＤに対応する画像データをＨＤＤ１１４からＲＡＭ１１２に読み込む（Ｓ１２６、Ｓ１２７）。ＯＣＲライブラリは、読み込んだ画像データに関してＯＣＲ処理を実行する（Ｓ１２８）。ＯＣＲ処理によってテキストデータが生成される。続いて、ＯＣＲライブラリは、当該テキストデータを、ＨＤＤ１１４に保存する（Ｓ１２９）。但し、テキストデータの保存は必ずしも行われなくてもよい。続いて、ＯＣＲライブラリは、例えば、当該テキストデータを本文に含み、所定のメールアドレスを宛先とする電子メールの送信要求を、ネットワークインタフェース１６を利用して所定のメールサーバに送信する（Ｓ１３０、Ｓ１３１）。その結果、当該テキストデータを含む電子メールが、当該所定のメールアドレス宛に送信される。なお、当該所定のメールアドレスや、当該所定のメールサーバのＩＰアドレス等は、例えば、ＯＣＲライブラリの設定情報に含まれていてもよい。
【００５４】
なお、登録関数と呼出関数とは、相互に区別されなくてもよい。又は、登録関数及び呼出関数の双方の機能を実現する一つの関数が実装されてもよい。この場合、ステップＳ１１３に続いて、ステップＳ１１８以降が実行されてもよい。但し、登録関数と呼出関数とが区別されることにより、例えば、同じ拡張プログラムを複数回呼び出したい場合に、拡張プログラムが毎回転送される必要性を低減することができる。
【００５５】
続いて、参考として、登録関数及び呼出関数が無い場合、すなわち、画像形成装置１０に対する拡張プログラム（ＯＣＲライブラリ）の適用が行われない場合に、図６において説明した処理手順によって実現される機能と同じ機能を実現するための処理手順の一例を説明する。
【００５６】
図８は、拡張プログラムを適用しない場合の処理手順の一例を説明するためのシーケンス図である。
【００５７】
ステップＳ２０１において、端末アプリ２１は、ＷｅｂＡＰＩの一つである制御関数を呼び出すことにより、スキャンの実行を画像形成装置１０に要求する（Ｓ２０１）。すなわち、端末アプリ２１は、スキャンの実行要求を、ネットワークＮ２を介して機器制御部１２４に送信する。機器制御部１２４は、スキャンの実行要求を受信すると、スキャナ１２に原稿のスキャンを実行させる（Ｓ２０２）。スキャナ１２によって原稿からスキャンされた画像データは、ＨＤＤ１１４に保存される（Ｓ２０３）。画像データの保存が完了し、処理の制御が機器制御部１２４に復帰すると（Ｓ２０４、Ｓ２０５）、機器制御部１２４は、端末アプリ２１に対して応答を返信する（Ｓ２０６）。当該応答には、保存された画像データのデータＩＤが含まれていてもよい。
【００５８】
続いて、端末アプリ２１は、ＷｅｂＡＰＩの一つであるデータ取得関数を呼び出す（Ｓ２０７）。すなわち、端末アプリ２１は、データの取得要求を、ネットワークＮ２を介して画像形成装置１０に送信する。当該取得要求には、データＩＤが含まれる。ＷｅｂＡＰＩ部１２０の一部であるデータ取得部１２３は、当該取得要求を受信すると、当該取得要求に含まれているデータＩＤに対応する画像データを、ＨＤＤ１１４から取得する（Ｓ２０８、Ｓ２０９）。続いて、データ取得部１２３は、当該画像データを含む応答を、ネットワークＮ２を介して端末アプリ２１に返信する（Ｓ２１０）。
【００５９】
続いて、端末アプリ２１は、当該画像データに関してＯＣＲ処理を実行する（Ｓ２１１）。ＯＣＲ処理によって、テキストデータが生成される。続いて、端末アプリ２１は、ＷｅｂＡＰＩの一つであるメール送信関数を呼び出す。すなわち、端末アプリ２１は、電子メールの送信要求を、ネットワークＮ２を介して画像形成装置１０に送信する。当該送信要求には、ＯＣＲ処理によって生成されたテキストデータ、宛先のメールアドレス、及びメールサーバのＩＰアドレス等が含まれる。
【００６０】
ＷｅｂＡＰＩ部１２０の一部であるメール送信部１２５は、当該送信要求を受信すると、当該送信要求に含まれているテキストデータを本文に含み、当該送信要求に含まれているメールアドレスを宛先とする電子メールの送信要求を、ネットワークインタフェース１６を利用してメールサーバに送信する（Ｓ１３０、Ｓ１３１）。その結果、当該テキストデータを含む電子メールが、当該メールアドレス宛に送信される。
【００６１】
ここで、図８では、ステップ２０７において、画像形成装置１０から情報処理端末２０に対してネットワークＮ２を介して画像データが転送される。画像形成装置１０は、端末アプリ２１が必要とするＯＣＲ機能を有しておらず、端末アプリ２１がＯＣＲ処理を実行する必要が有るからである。また、ステップＳ２１１において、情報処理端末２０から画像形成装置１０に対してテキストデータが転送される。
【００６２】
一方、図６では、情報処理端末２０と画像形成装置１０との間では、ネットワークＮ２を介して画像データやテキストデータの転送は行われない。図６では、画像形成装置１０に対して拡張プログラムが動的に適用されることで、画像形成装置１０に対して動的にＯＣＲ機能を追加することができるからである。但し、図６では、情報処理端末２０から画像形成装置１０に対してネットワークＮ２を介して拡張プログラムが転送される必要が有る。したがって、拡張プログラムのデータサイズが、画像データ及びテキストデータのデータサイズの総和より小さければ、図６の方が、全体の処理時間を短縮できる可能性を高めることができる。また、拡張プログラムをスクリプト等によって作成することにより、拡張プログラムの転送負荷の軽減が図られてもよい。なお、一般的に、プログラムやスクリプトの方が、画像データよりデータサイズは小さい。また、画像形成装置１０への拡張プログラムの送信回数は、ステップＳ１０２における１回である。したがって、一般的に、図６の方が、情報処理端末２０と画像形成装置１０との間の通信負荷を抑制することができる。
【００６３】
このように、第一の施の形態によれば、機器に記憶されているデータに対するネットワークを介した操作性を向上させることができる。特に、本実施の形態のように、情報処理端末２０が画像形成装置１０の操作部として機能する場合、情報処理端末２０と画像形成装置１０との間では、ユーザによる入力指示や、画像形成装置１０からの応答等、各種の通信が高速に行われる必要が有る。したがって、仮に、情報処理端末２０と画像形成装置１０との間で、データサイズが大きいデータの転送が行われた場合、操作部の応答性が劣化する可能性が高くなる。その結果、ユーザに対してストレスを感じさせてしまう可能性が高くなる。本実施の形態によれば、そのような事態の発生を抑制することができる。
【００６４】
なお、図８におけるステップＳ２０１〜Ｓ２０６が、図６のステップＳ１０１の前、又はステップＳ１１６の前に実行されてもよい。この場合、ステップＳ１２０〜Ｓ１２５は実行されなくてもよい。すなわち、ＯＣＲライブラリには、スキャンジョブに関する処理は実装されなくてもよい。また、ＯＣＲ処理によって生成されるテキストデータの出力方法は、メール送信以外であってもよい。すなわち、拡張プログラムに実装される処理は、所定のものに限定されない。
【００６５】
また、拡張プログラムが画像形成装置１０に対して実行させるデータ処理（画像処理）は、ＯＣＲ処理以外の処理であってもよい。例えば、画像データの変換処理であってもよいし、画像データに関する印刷データの生成処理であってもよい。また、拡張プログラムによって処理対象とされる画像データは、情報処理端末２０からの要求に応じて入力された画像データでなくてもよい。例えば、予め画像形成装置１０に記憶されているデータが、拡張プログラムによる処理対象とされてもよい。
【００６６】
次に、第二の実施の形態について説明する。第二の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でもよい。
【００６７】
図９は、第二の実施の形態のシステム構成例を示す図である。図９中、図１と同一部分には同一符号を付し、その説明は省略する。図９において、各情報処理システム２は、ＬＡＮ又はインターネット等のネットワークＮ３を介して、管理サーバ４０に接続される。ネットワークＮ３は、ネットワークＮ１と同じネットワークであってもよい。管理サーバ４０は、拡張プログラム群を記憶する１以上のコンピュータ又は１以上の記憶装置である。第二の実施の形態では、拡張プログラムの実体は、スタブ部１３０によって、管理サーバ４０からダウンロードされる。
【００６８】
図１０は、第二の実施の形態における情報処理端末及び画像形成装置が実行する処理手順の一例を説明するためのシーケンス図である。図１０中、図６と同一ステップには同一ステップ番号を付し、その説明は省略する。
【００６９】
図１０では、ステップＳ１０１、Ｓ１０２、及びＳ１０３が、Ｓ１０１ａ、Ｓ１０２ａ、及びＳ１０３ａに置換されている。第二の実施の形態では、登録関数の引数には、拡張プログラムの代わりに、拡張プログラムの所在位置を示す識別情報が指定される。本実施の形態においては、ＵＲＬ（Uniform Resource Locator）が、当該識別情報の一例として利用される。したがって、ステップＳ１０１ａ及びＳ１０２ａにおける登録要求には、アプリＩＤと、ＯＣＲライブラリのＵＲＬとが含まれる。
【００７０】
また、第二の実施の形態では、拡張プログラムのプログラムＩＤとして、当該拡張プログラムに対するＵＲＬが用いられる。したがって、ステップＳ１０３ａにおいて、スタブ部１３０は、登録要求に含まれているＯＣＲライブラリのＵＲＬをプログラムＩＤとして含むレコードを、拡張情報記憶部１４０から検索する（Ｓ１０３ａ）。
【００７１】
図１１は、第二の実施の形態における拡張情報記憶部の構成例を示す図である。図１１において、プログラムＩＤの項目には、ＵＲＬが記憶されている。
【００７２】
また、図１３では、ステップＳ１０４において、該当するレコードが検索されなかった場合に、ステップＳ１０５及びＳ１０６が実行される。
【００７３】
ステップＳ１０５において、スタブ部１３０は、登録要求に含まれているＵＲＬに係る拡張プログラムの取得要求を、ネットワークＮ３を介して管理サーバ４０に送信する。管理サーバ４０は、当該ＵＲＬに係るＯＣＲライブラリを返信する（Ｓ１０６）。ステップＳ１０７では、返信されたＯＣＲライブラリが処理対象とされる点を除いて、図１０において説明した通りの処理が実行される。
【００７４】
上述したように、第二の実施の形態によれば、端末アプリ２１は、ＵＲＬ等の識別情報を指定することにより、当該識別情報に対応する拡張プログラムを、画像形成装置１０にインストールすることができる。すなわち、第二の実施の形態では、ネットワークＮ２を介して拡張プログラムが転送される必要性を低減することができる。その結果、ネットワークＮ２の負荷を更に低減することができる。
【００７５】
なお、第一の実施の形態と第二の実施の形態とは、組み合わされて実行されてもよい。例えば、登録関数に、拡張プログラムの実体が指定される場合と、拡張プログラムのＵＲＬが指定される場合とが混在してもよい。登録関数に拡張プログラムの実体が指定された場合には、第一の実施の形態において説明した処理手順が実行され、登録関数に拡張プログラムのＵＲＬが指定された場合には、第二の実施の形態において説明した処理手順が実行されるようにしてもよい。
【００７６】
次に、第三の実施の形態について説明する。第三の実施の形態では、端末アプリ２１又はクライアントアプリ３１のアンインストールに伴う、拡張プログラムのアンインストールについて説明する。したがって、第三の実施の形態は、第一又は第二の実施の形態と組み合わされて実施可能である。
【００７７】
図１２は、第三の実施の形態における各装置の機能構成例を示す図である。図１２中、図５と同一部分には同一符号を付し、その説明は省略する。
【００７８】
図１２では、情報処理端末２０がインストール部２２を有することが、明示されている。インストール部２２は、端末アプリ２１のインストール処理及びアンインストール処理を制御する。
【００７９】
また、画像形成装置１０のＷｅｂＡＰＩ部１２０は、更に、登録解除部１２６を含む。登録解除部１２６は、ＷｅｂＡＰＩの一つである登録解除関数に対応する。登録解除関数は、或る端末アプリ２１又は或るクライアントアプリ３１に対応付けられている拡張プログラムについて、登録の解除要求を受け付けるための関数である。
【００８０】
図１３は、第三の実施の形態における情報処理端末及び画像形成装置が実行する処理手順の一例を説明するためのシーケンス図である。
【００８１】
ステップＳ３０１において、インストール部２２は、情報処理端末２０にインストールされている端末アプリ２１のうちのいずれかの端末アプリ２１のアンインストールの指示を、ユーザから受け付ける。当該ユーザは、例えば、情報処理端末２０の操作者である。インストール部２２は、当該指示に係る端末アプリ２１を、情報処理端末２０からアンインストール（削除）する。
【００８２】
続いて、インストール部２２は、アンインストールされた端末アプリ２１のアプリＩＤを指定して、ＷｅｂＡＰＩの一つである登録解除関数を呼び出す（Ｓ３０２）。すなわち、インストール部２２は、当拡張プログラムの登録解除要求を画像形成装置１０に送信する。当該登録解除要求には、アンインストールされた端末アプリ２１のアプリＩＤが含まれる。登録解除関数の呼び出しは、アンインストール対象の端末アプリ２１によって行われてもよい。なお、本実施の形態において、登録解除要求は、或る端末アプリ２１のアンインストールに伴って送信される。したがって、登録解除要求は、当該登録解除要求に含まれているアプリＩＤに係る端末アプリ２１のアンインストール（削除）の通知として把握されてもよい。
【００８３】
ＷｅｂＡＰＩ部１２０の一部である登録解除部１２６は、当該登録解除要求を受信すると、当該登録解除要求をスタブ部１３０に転送する（Ｓ３０３）。続いて、スタブ部１３０は、当該登録解除要求に含まれているアプリＩＤを含むレコードを、拡張情報記憶部１４０から検索する（Ｓ３０４）。
【００８４】
ステップＳ３０５において、該当するレコードが１つも検索されなかった場合、以降の処理は実行されない。ステップＳ３０５において、該当するレコードが検索された場合、スタブ部１３０は、当該レコードを、拡張情報記憶部１４０から削除する（Ｓ３０６）。
【００８５】
続いて、スタブ部１３０は、ステップＳ３０５において検索されたレコードごとに、当該レコードに含まれているプログラムＩＤを含むレコードを、拡張情報記憶部１４０から検索する（Ｓ３０７）。ステップＳ３０８において、該当するレコードが検索されなかったプログラムＩＤついては、ステップＳ３０９が実行される。ステップＳ３０９において、スタブ部１３０は、当該プログラムＩＤに係る拡張プログラムを、その保存先（例えば、ＨＤＤ１１４）から削除する。
【００８６】
一方、ステップＳ３０８において該当するレコードが検索されたプログラムＩＤについては、ステップＳ３０９は実行されない。この場合、当該プログラムＩＤに係る拡張プログラムの利用を予定している他の端末アプリ２１又はクライアントアプリ３１が存在するからである。
【００８７】
なお、上記では、端末アプリ２１について説明したが、クライアントアプリ３１のアンインストール時にも、同様の処理が実行される。
【００８８】
上述したように、第三の実施の形態によれば、端末アプリ２１又はクライアントアプリ３１のアンインストールに伴って、当該端末アプリ２１又は当該クライアントアプリ３１が利用する拡張プログラムも削除される。したがって、既に不要となった拡張プログラムによって、ＨＤＤ１１４等の記憶容量が消費される可能性を低減することができる。
【００８９】
また、第三の実施の形態によれば、アンインストール対象の端末アプリ２１又はクライアントアプリ３１が利用する拡張プログラムについて、他の端末アプリ２１又はクライアントアプリ３１からの利用が予定されている場合は、当該拡張プログラムの削除は実行されない。その結果、当該他の端末アプリ２１又はクライアントアプリ３１の不正動作等を回避することができる。
【００９０】
なお、画像形成装置１０以外の機器に関して上記各実施の形態が適用されてもよい。例えば、プロジェクタ、デジタルカメラ、電子黒板、又はテレビ会議システム等が、画像形成装置１０に置き換えられて、本実施の形態が適用されてもよい。
【００９１】
なお、上記各実施の形態において、画像形成装置１０は、機器の一例である。情報処理端末２０及びクライアント装置３０は、情報処理装置の一例である。登録部１２１は、受信部の一例である、スタブ部１３０は、取得部及び呼出部の一例である。登録解除部１２６は、削除部の一例である。
【００９２】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００９３】
２            情報処理システム
１０          画像形成装置
１１          コントローラ
１２          スキャナ
１３          プリンタ
１４          モデム
１５          端末インタフェース
１６          ネットワークインタフェース
１７          ＳＤカードスロット
２０          情報処理端末
２１          端末アプリ
２２          インストール部
３０          クライアント装置
３１          クライアントアプリ
４０          管理サーバ
８０          ＳＤカード
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
１１５        ＮＶＲＡＭ
１２０        ＷｅｂＡＰＩ部
１２１        登録部
１２２        呼出受信部
１２３        データ取得部
１２４        機器制御部
１２５        メール送信部
１２６        登録解除部
１３０        スタブ部
１４０        拡張情報記憶部
２０１        ＣＰＵ
２０２        メモリ
２０３        補助記憶装置
２０４        タッチパネル
２０５        無線通信装置
２０６        機器インタフェース
２１１        表示装置
２１２        入力装置
【先行技術文献】
【特許文献】
【００９４】
【特許文献１】特開２０１１−１９１９５１号公報
【図１】
2016130902.tif 000003
【図２】
2016130902.tif 000004
【図３】
2016130902.tif 000005
【図４】
2016130902.tif 000006
【図５】
2016130902.tif 000007
【図６】
2016130902.tif 000008
【図７】
2016130902.tif 000009
【図８】
2016130902.tif 000010
【図９】
2016130902.tif 000011
【図１０】
2016130902.tif 000012
【図１１】
2016130902.tif 000013
【図１２】
2016130902.tif 000014
【図１３】
2016130902.tif 000015