JP2007188468A - 通信装置、電子機器、情報処理システム、アプリケーション実行方法、アプリケーション実行プログラム及び記録媒体 - Google Patents

通信装置、電子機器、情報処理システム、アプリケーション実行方法、アプリケーション実行プログラム及び記録媒体 Download PDF

Info

Publication number
JP2007188468A
JP2007188468A JP2006129484A JP2006129484A JP2007188468A JP 2007188468 A JP2007188468 A JP 2007188468A JP 2006129484 A JP2006129484 A JP 2006129484A JP 2006129484 A JP2006129484 A JP 2006129484A JP 2007188468 A JP2007188468 A JP 2007188468A
Authority
JP
Japan
Prior art keywords
electronic device
application
event
communication
image forming
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
JP2006129484A
Other languages
English (en)
Other versions
JP5013742B2 (ja
Inventor
Hideki Ohashi
英樹 大橋
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 JP2006129484A priority Critical patent/JP5013742B2/ja
Priority to US11/638,570 priority patent/US8763017B2/en
Publication of JP2007188468A publication Critical patent/JP2007188468A/ja
Application granted granted Critical
Publication of JP5013742B2 publication Critical patent/JP5013742B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/001Sharing resources, e.g. processing power or memory, with a connected apparatus or enhancing the capability of the still picture apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0039Connection via a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0046Software interface details, e.g. interaction of operating systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0074Arrangements for the control of a still picture apparatus by the connected apparatus
    • H04N2201/0075Arrangements for the control of a still picture apparatus by the connected apparatus by a user operated remote control device, e.g. receiving instructions from a user via a computer terminal or mobile telephone handset
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】電子機器のハードウェア資源の制約に基づくアプリケーションの実行に関する制限を緩和させることのできる通信装置、電子機器、情報処理システム、アプリケーション実行方法、アプリケーション実行プログラム及び記録媒体の提供を目的とする。
【解決手段】電子機器と通信する通信手段と、前記電子機器に関するアプリケーションとを備えた通信装置であって、前記通信手段は、前記電子機器において発生するイベントの受信に応じて当該イベントを前記アプリケーションに通知し、当該イベントに応じて実行される前記アプリケーションの処理における前記電子機器のハードウェア資源の操作要求を前記電子機器に送信することにより上記課題を解決する。
【選択図】図1

Description

本発明は、通信装置、電子機器、アプリケーション実行方法、アプリケーション実行プログラム及び記録媒体に関し、特に電子機器に関するアプリケーションを実行する通信装置、電子機器、アプリケーション実行方法、アプリケーション実行プログラム及び記録媒体に関する。
近年、ソフトウェアやハードウェアを制御するためのAPI(Application Program Interface)を公開し、業務アプリケーションを随時追加することで、業務に特化した機能の拡張を可能とする技術が存在する。
例えば、PDA(Personal Digital Assistance)、携帯電話、テレビ等といった組み込み型の電子機器においてもかかる技術が使われており、必要に応じてアプリケーションを追加することで、その利便性を高めている。
また、特定のデータを扱うことに特化したハードウェア資源を用いる機器についてもかかる技術が使われてきている。これにより当該機器の出荷後においても、いわゆるSIerが、そのようなハードウェア資源を利用する業務アプリケーション開発することにより、機器の稼働している現場でユーザが機能拡張を容易にできるようにもなってきている。
かかるハードウェア資源を用いる組み込み型電子機器の一例として、スキャナやプリンタエンジン等を備える複合機等が挙げられる。このような複合機に搭載するアプリケーションとしても、種々のものが開発されているが、複数のプラットフォームに対応し、ネットワークに高度に対応するという観点から、Java(登録商標)アプリケーション(以下「Java(登録商標)アプリ」という。)が用いられてきている(例えば、特許文献1)。このような複合機用に開発されたJava(登録商標)アプリは、複合機のHDD(Hard Disk Drive)等のデバイスにインストールされ、複合機の演算装置、記憶装置等を利用して実行される。
特開2004−312711号公報
しかしながら、PC等の汎用的なコンピュータと異なり、上述のようなハードウェア資源を備えた組み込み型電子機器は、不要なコストアップを回避するためにハードウェア上の制限が厳しい。したがって、搭載するJava(登録商標)アプリに対する制約も厳しいものにならざるをえないという問題がある。例えば、記憶装置の容量制限等により、同時に実行できるJava(登録商標)アプリの数に制限が生じる。したがって、スキャン、ファクシミリ、Webサーバ等のJava(登録商標)アプリを同時実行したい場合があっても、全てのJava(登録商標)アプリは起動できず、いずれかのJava(登録商標)アプリを終了させ、記憶領域の一部を開放してから、他のJava(登録商標)アプリを実行する必要がある。
また、低価格帯の複合機のような組み込み型電子機器においては、製品のコストダウンのために、メモリ、演算装置等のハードウェア部品の性能を通常の複合機よりも抑えたものが備わっていることが多い。これらの組み込み型電子機器は、ハードウェア部品の性能の制限により、Java(登録商標)アプリの実行環境を搭載させることができないという制約があるが、このような機器に対してもJava(登録商標)アプリを実行させたいという要求がある。
本発明は、上記の点に鑑みてなされたものであって、電子機器のハードウェア資源の制約に基づくアプリケーションの実行に関する制限を緩和させることのできる通信装置、電子機器、情報処理システム、アプリケーション実行方法、アプリケーション実行プログラム及び記録媒体の提供を目的とする。
そこで上記課題を解決するため、本発明は、電子機器と通信する通信手段と、前記電子機器に関するアプリケーションとを備えた通信装置であって、前記通信手段は、前記電子機器において発生するイベントの受信に応じて当該イベントを前記アプリケーションに通知し、当該イベントに応じて実行される前記アプリケーションの処理における前記電子機器のハードウェア資源の操作要求を前記電子機器に送信することを特徴とする。
また、上記課題を解決するため、本発明は、アプリケーションを実行可能な電子機器であって、前記アプリケーションに関する入力に対応したイベントを当該電子機器と通信する通信装置に送信し、前記イベントに応じて実行される前記通信装置のアプリケーションの処理における当該電子機器のハードウェア資源に対する操作要求を受信する通信手段と、受信された前記操作要求に基づいて当該電子機器のハードウェア資源を制御する制御手段とを有することを特徴とする。
このような通信装置又は電子機器によれば、電子機器のハードウェア資源の制約に基づくアプリケーションの実行に関する制限を緩和させることができる。
また、上記課題を解決するため、本発明は、上記通信装置及び上記電子機器を有する情報処理システム、上記通信装置若しくは上記電子機器におけるアプリケーション実行方法、前記アプリケーション実行方法をコンピュータに実行させるためのアプリケーション実行プログラム、又は前記アプリケーション実行プログラムを記録した記録媒体としてもよい。
本発明によれば、電子機器のハードウェア資源の制約に基づくアプリケーションの実行に関する制限を緩和させることのできる通信装置、電子機器、情報処理システム、アプリケーション実行方法、アプリケーション実行プログラム及び記録媒体を提供することができる。
以下、図面に基づいて本発明の実施の形態を説明する。以下の説明では、第一の実施の形態において本発明を概念的に説明し、第二及び第三の実施の形態において、電子機器の具体例とて画像形成装置に適用した例を説明する。
図1は、第一の実施の形態における情報処理システムの構成例を示す図である。図1において、情報処理システム500は、1台以上の電子機器510と通信装置520とによって構成されており、両者は、LAN(Local Area Network)等のネットワーク530(有線又は無線の別は問わない。)を介して相互に接続されている。
図1において、電子機器510は、ハードウェア511、OS(Operating System)512、電子機器サービス513、電子機器ユーザアプリ514、及び仮想ユーザアプリ515等より構成される。
ハードウェア511は、CPU、メモリ、HDD(Hard Disk Drive)、SDカードスロット、ネットワークインタフェース等、一般的な電子機器が備えているものの他、当該電子機器に特有のハードウェア資源を含む。第一の実施の形態では、電子機器は特定の機器に限定されていないが、一般的に電子機器はそれぞれの機能を実現するために当該電子機器に特有のハードウェア資源を備えている。第一の実施の形態における電子機器510も、電子機器510の機能を実現するために電子機器510に特有のハードウェア資源を備えているのである。また、電子機器510は、ハードウェア511の一部として、ユーザとの入出力用のユーザインタフェースであるオペレーションパネル、スイッチ、ボタン、LED、又はLCD等が付属又は接続されている。ユーザは、当該オペレーションパネル等を操作することで、電子機器510における各種アプリケーションの実行指示を行うことができる。
OS512は、UNIX(登録商標)等の汎用的なオペレーティングシステムである。
電子機器サービス513は、電子機器510のハードウェア511を制御するためのAPI(Application Program Interface)を介して、電子機器513に関する汎用的なサービスを上位アプリケーション(電子機器ユーザアプリ514、仮想ユーザアプリ515)に提供するプログラムモジュールである。電子機器サービス513は、その一部として通信装置通信部5131を含む。
通信装置通信部5131は、通信装置520の電子機器通信部5231と通信することにより、ユーザから要求されたサービスの提供に必要な処理の少なくとも一部を通信装置20に実行させる。
すなわち、通信装置通信部5131は、OS512から発生する非同期のイベントを受信すると、当該イベントの発生を通知するメッセージを通信装置520の電子機器通信部5231へ送信する。詳細については後述するが、当該メッセージを受信した通信装置520の電子機器通信部5231は、当該メッセージに基づいて通信装置520の電子機器ユーザアプリ524に当該イベントを通知する。なお、本実施の形態において「イベント」とは、電子機器510に備えられた非図示の各種センサ等のハードウェアによって検知され、ソフトウェアに通知される情報等を含む。したがって、例えば、ボタン又はオペレーションパネル等に対するユーザからの入力、ハードウェア資源における処理の完了、又は異常の発生等に基づいてソフトウェアに通知される情報もイベントに含まれる。
通信装置通信部5131は、また、通信装置520における電子機器ユーザアプリ524の処理における電子機器510のハードウェア資源に対する操作要求を通信装置520の電子機器通信部5231より受信し、操作要求の内容に応じた操作を実行させ、その操作結果を同通信装置通信部5131へ返信する。この仕組みは、RPC(リモートプロシジャーコール)の仕組みに基づく。すなわち、通信装置通信部5131は、通信装置520の電子機器通信部5231からのRPCによる関数の呼び出しを受けて該当するソフトウェアモジュールの関数を実行し、その結果を電子機器通信部5231に返信する。
仮想ユーザアプリ515は、電子機器510の出荷後にユーザ又はソフトウェアベンダ等によって実装されるアプリ(以下「ユーザアプリ」という。)の一つであり、例えば、Java(登録商標)アプリとして実装される。ここで、「仮想」という言葉が用いられているのは、仮想ユーザアプリ515は、通信装置520にユーザアプリとして実装されている電子機器ユーザアプリ524を透過的に利用させるためのものであり、その実態的な処理は実装されていないからである。
すなわち、仮想ユーザアプリ515は、その実体的な処理(例えば、業務ロジック等)については、通信装置通信部5131を介して電子機器通信部5231に実装されているユーザアプリに実行させる。したがって、仮想ユーザアプリ515が行う処理は、例えば、ユーザアプリを起動・停止させるためのユーザインタフェース(例えば、ボタン等)を電子機器510のオペレーションパネルに表示させたり、ユーザインタフェースを介してユーザアプリの起動又は停止のトリガー(ユーザによる入力)が発生した場合、通信装置通信部5131を通じて電子機器通信部5231へ該当するユーザアプリを起動又は停止させる要求を送信したりといったような比較的負荷が軽いものが大部である。
なお、図1では、電子機器510にも、電子機器ユーザアプリ514が実装されている。電子機器ユーザアプリ514もユーザアプリの一つであり、こちらは、電子機器530上で動作する。すなわち、電子機器510上においては、仮想ユーザアプリ515だけでなく、実体的な処理を行うユーザアプリの実行も可能であってもよい。
次に、通信装置520について説明する。通信装置520は、電子機器510の仮想ユーザアプリ515の実体的な処理を実行する装置であり、ハードウェア521、OS522、電子機器サービス523、及び電子機器ユーザアプリ524等より構成される。
ハードウェア521は、CPU、メモリ、HDD(Hard Disk Drive)、SDカードスロット、ネットワークインタフェース等のハードウェア資源である。
OS522は、UNIX(登録商標)やLinux等の汎用的なオペレーティングシステムである。
電子機器サービス523は、電子機器510における電子機器サービス513とほぼ同様の役割を担うものである。但し、電子機器510における電子機器サービス513は、通信装置通信部5131を備えているのに対し、電子機器サービス523は、その一部に電子機器通信部5231を含む。
電子機器通信部5231は、電子機器510の通信装置通信部5131と通信することにより、通信装置520上のユーザアプリ(電子機器ユーザアプリ524)において発生する電子機器510に対する操作要求を電子機器510の通信装置通信部5131へ送信する。
すなわち、通信装置520では電子機器510の仮想ユーザアプリ515の実体的な処理を行うユーザアプリが起動される。しかし、通信装置520には電子機器510に特有のハードウェアは存在しないため、ユーザアプリによるハードウェア資源の操作要求を実際には実行できない。そこで、電子機器通信部5231は、通信装置520のユーザアプリにおいて電子機器510のハードウェア511の操作要求が行われた場合には、操作対象となる電子機器510へ当該操作要求を送信することで電子機器510に該当する操作を行わせ、その結果を受け取る。これによって、通信装置520上に仮想的に電子機器510のハードウェア資源が実現される。
通信装置520(電子機器通信部5231)による電子機器510(通信装置通信部5131)への操作要求の送信にはRPCが利用される。すなわち、電子機器通信部5231は、通信装置520においてある関数が呼ばれたときに、電子機器510側の同じ関数をリモート呼び出しし、その結果を受信するための仕組みを備える。
電子機器通信部5231は、また、電子機器510の通信装置通信部5131と通信することにより、電子機器510においてユーザから要求されたサービスの提供に必要な処理の少なくとも一部(実体的な処理)を、通信装置520上の電子機器ユーザアプリに実行させる。すなわち、電子機器通信部5231は、電子機器510で発生し、通信装置通信部5131から送られてくる非同期のイベントを受信し、該当する実行中のユーザアプリに当該イベントを通知する。
電子機器ユーザアプリ524は、通信装置520上で動作するユーザアプリの例である。すなわち、電子機器ユーザアプリ524は、電子機器510の仮想ユーザアプリ515における実体的な処理を通信装置520上で行うユーザアプリである。
ところで、上述したように、電子機器サービス523は、電子機器510における電子機器サービス513と同様のもの(すなわち、互換性のある又は同一のインタフェースを上位アプリケーションに対して提供するもの)である。したがって、電子機器510における電子機器サービス513において動作するアプリケーションは、そのまま通信装置520の電子機器サービス523上で動作させることができる。よって、ユーザアプリの搭載場所を電子機器510から通信装置520に変更する際に、改めてユーザアプリに対して修正を行う必要はない。
以下、第一の実施の形態における情報処理システム500の処理手順の一例について説明する。図2は、第一の実施の形態における情報処理システムにおける処理手順を説明するためのフローチャートである。
ユーザが、電子機器510のユーザインタフェースから、仮想ユーザアプリ515を起動し(S501)、通信装置20上の電子機器ユーザアプリ524に対し起動命令を出すと、当該起動命令は、イベントとして通信装置通信部5131及び電子機器通信部5231を介して通信装置20上の電子機器ユーザアプリ524に通知される(S502)。通信装置20上では、当該イベントに応じて電子機器ユーザアプリ524が起動する(S503)。
電子機器ユーザアプリ524の起動中、電子機器510において発生するイベントをトリガーとして電子機器ユーザアプリ524の処理が実行される(S504)。当該ステップの詳細については後述する。
電子機器ユーザアプリ524の処理が終了すると(S505)、当該処理の終了が、電子機器通信部5231及び通信装置通信部5131を介して仮想ユーザアプリ515に通知される(S506)。仮想ユーザアプリ515は、電子機器ユーザアプリ524の処理が終了したことを、例えば、オペレーションパネル等に表示させることによりユーザに通知する(S507)。
続いて、図2のステップS504において電子機器510が実行する処理について説明する。図3は、電子機器ユーザアプリ実行時における電子機器による処理の処理手順を説明するためのフローチャートである。
電子機器510のハードウェア511で発生した割り込みが、OS512によって検出される(S511)。例えば、電子機器510に付属、若しくは接続されているオペレーションパネルに表示されているユーザインタフェース用のボタンが押された場合には、割り込みが発生し、当該割り込みをOS512が検出する。検出された割り込みは、ソフトウェアのイベントとして電子機器サービス513内の通信装置通信部5131に通知され(S512)、通信装置通信部5131によって通信装置20に送信される(S513)。
当該イベントを受信した通信装置20では、当該イベントに応じた処理が実行され、その処理の中で電子機器510のハードウェア511に対する操作要求が発生し、当該操作要求が通信装置520に送信される(S514)。なお、当該ステップの詳細については後述する。
通信装置520の通信装置通信部5131は、当該操作要求を受信すると、当該操作要求をOS512に通知する(S516)。OS512は、ハードウェア511を制御し、当該操作要求に応じた機能を実現する(S517)。ハードウェア511の操作を行った結果、再度割り込みが発生した場合には、図3における手順が繰り返される。また、ハードウェア511の割り込みから始まる図3における処理手順は、電子機器ユーザアプリ524の実行中、非同期に行われる。
続いて、図3のステップS514において通信装置520が実行する処理について説明する。図4は、電子機器ユーザアプリ実行時における通信装置による処理の処理手順を説明するためのフローチャートである。
電子機器通信部5231は、電子機器510からのイベントを受信すると(S521)、当該イベントを電子機器ユーザアプリ524に通知する(S522)。電子機器ユーザアプリ524は、当該イベントに応じた処理を通信装置520上で実行する(S523)。処理の実行中、電子機器510のハードウェア511の操作が必要となると、電子機器ユーザアプリ524は、その操作要求を電子機器通信部5231に通知する(S524)。
電子機器通信部5231は、当該操作要求を電子機器510に送信する(S525)。当該操作要求は、図3において説明したステップS515において、電子機器510の通信装置通信部5131によって受信される。
上述したように、第一の実施の形態における情報処理システム500では、電子機器510のアプリケーションに対して要求された処理の少なくとも一部を通信装置520に実行させ、必要に応じて電子機器510のハードウェア資源の制御を通信装置520に行わせる。すなわち、一般的にメモリ容量の制約の厳しい電子機器510上ではなく、任意にメモリを増設することのできる通信装置520のメモリを用いてユーザアプリを実行させることにより電子機器510に対する負荷を分散させることができる。したがって、電子機器10のメモリの制限に縛られずユーザアプリを実行させることができる。
次に、第二の実施の形態について説明する。第二の実施の形態では、複合機等の画像形成装置を電子機器510の具体例として説明する。
図5は、第二の実施の形態における画像処理システムの構成例を示す図である。図5において、画像処理システム1は、1台以上の画像形成装置10と端末処理装置20とによって構成されており、両者は、LAN(Local Area Network)等のネットワーク30(有線又は無線の別は問わない。)を介して相互に接続されている。
図6は、第二の実施の形態における画像形成装置の構成例を示す図である。図6において、画像形成装置10は、ハードウェア11、OS12、コントロールサービス13、複合機アプリケーション汎用サービス14、コピーアプリ141、FAXアプリ142、スキャンアプリ143、Java(登録商標)アプリ実行環境15、及び仮想ユーザアプリ16等より構成される。
ハードウェア11は、CPU、メモリ、HDD(Hard Disk Drive)、SDカードスロット、ネットワークインタフェース等、一般的な電子機器が備えているものの他、画像形成装置10に特有のハードウェア資源として、コピー、FAX、スキャン、及び印刷等を実行するためのスキャナ及びプロッタ等を含む。また、画像形成装置10は、ハードウェア11の一部として、ユーザとの入出力用のインタフェースであるオペレーションパネルを備える。ユーザは、オペレーションパネルを操作することで、画像形成装置10における各種アプリケーションの実行指示を行うことができる。
OS12は、UNIX(登録商標)等の汎用的なオペレーティングシステムである。
コントロールサービス13は、画像形成装置10に特有のハードウェア資源を制御するためのAPIを提供するライブラリである。コントロールサービス13は、例えば、画像形成装置10のオペレーションパネルの表示制御を行うためのサービス、FAX機能を制御するためのサービス、コピー機能を制御するためのサービス、スキャン機能を制御するためのサービス(以下「スキャンサービス」という。)、印刷機能を制御するためのサービス、ネットワーク機能を制御するためのサービス、ユーザの認証を行うためのサービス等、画像形成装置10に特有のサービスを上位のソフトウェア層から利用し易くしたAPIを提供する。
複合機アプリケーション汎用サービス14は、コントロールサービス13が有するAPIを抽象化し、上位アプリケーションからコントロースサービス13以下のソフトウェアモジュールを容易に利用できるようにしたAPIを備えるプログラムモジュールである。この複合機アプリケーション汎用サービス14は、例えば、C、C++言語等によって記述され、仮想マシン151上で動作するJava(登録商標)のクラスからは、JNI(Java(登録商標) Native Interface)を利用して呼び出すことができる。
コピーアプリ141、FAXアプリ142、及びスキャンアプリ143等は、画像形成装置10の出荷時に予め組み込まれているアプリケーションであり、複合機アプリケーション汎用サービス14上で動作する。コピーアプリ141は、コピー機能を起動するアプリケーションである。FAXアプリ142は、FAX機能を起動するアプリケーションである。スキャンアプリ143は、スキャン機能を起動するアプリケーションである。
Java(登録商標)実行環境15は、画像形成装置10上でJava(登録商標)アプリケーション(以下、「Java(登録商標)アプリ」という。)を実行するための環境を実現するソフトウェアモジュール群であり、仮想マシン15、複合機クラスライブラリ152、アプリケーション管理部153、及び端末処理装置通信部154等より構成される。
仮想マシン151は、Java(登録商標)コンパイラによって生成された中間コード(Java(登録商標)バイナリコード)を解釈し、実行する、いわゆるJava(登録商標)仮想マシンである。
複合機クラスライブラリ152は、仮想マシン151上で動作し、画像形成装置10に特有のハードウェア資源等を制御するためのインタフェースを提供するJava(登録商標)クラス群(例えば、スキャンクラス、FAXクラス、及びオペレーションパネルに対応するパネルクラス等)によって構成されるライブラリである。複合機クラスライブラリ152は、Java(登録商標)実行環境15上で動作するJava(登録商標)アプリにより呼び出される。
アプリケーション管理部153は、画像形成装置10のHDDや、SDカード等の記録媒体へ、Java(登録商標)アプリのインストールを行ったり、インストールされたJava(登録商標)アプリの起動、及び終了等を行ったりと、Java(登録商標)アプリの管理全般を行う。
端末処理装置通信部154は、仮想マシン151上で動作し、端末処理装置20の画像形成装置通信部244と通信することにより、ユーザから要求されたサービスの提供に必要な処理の少なくとも一部を端末処理装置20に実行させる。
すなわち、端末処理装置通信部154は、コントロールサービス13以下の層(以下「ネイティブ層」という。)から発生する非同期のイベントを受信すると、当該イベントの発生を通知するメッセージを端末処理装置20の画像形成装置通信部244へ送信する。詳細については後述するが、当該メッセージを受信した端末処理装置20の画像形成装置通信部244は、当該メッセージに基づいて端末処理装置20のJava(登録商標)アプリ実行環境24上で動作するJava(登録商標)アプリに当該イベントを通知する。
端末処理装置通信部154は、また、端末処理装置20におけるJava(登録商標)アプリの処理における画像形成装置10のハードウェア資源に対する操作要求を同端末処理装置20の画像形成装置通信部244より受信し、操作要求の内容に応じた操作を実行させ、その操作結果を同端末処理装置通信部154へ返信する。この仕組みは、RPC(リモートプロシジャーコール)の仕組みに基づく。すなわち、端末処理装置通信部154は、端末処理装置20の仮想マシン151上で動作する画像形成装置通信部244からのRPCによる関数の呼び出しを受けて該当するソフトウェアモジュールの関数を実行し、その結果を同画像形成装置通信部244に返信する。
仮想ユーザアプリ16は、画像形成装置10の出荷後にユーザ又はソフトウェアベンダ等によって実装されるユーザアプリとしてのJava(登録商標)アプリの一つであり、Java(登録商標)アプリ実行環境15上で動作する。ここで、「仮想」という言葉が用いられているのは、仮想ユーザアプリ16は、端末処理装置20に実装されているユーザアプリを透過的に利用させるためのものであり、その実態的な処理は実装されていないからである。
すなわち、仮想ユーザアプリ16は、その実体的な処理(例えば、業務ロジック等)については、端末処理装置通信部154を介して端末処理装置20に実装されているJava(登録商標)アプリに実行させる。したがって、仮想ユーザアプリ16が行う処理は、例えば、ユーザアプリを起動・停止させるためのユーザインタフェース(例えば、ボタン等)を画像形成装置10のオペレーションパネルに表示させたり、ユーザインタフェースを介してユーザアプリの起動又は停止のトリガー(ユーザによる入力)が発生した場合、端末処理装置通信部154を通じて端末処理装置20へ該当するユーザアプリを起動又は停止させる要求を送信したりといったような比較的負荷が軽いものが大部である。
なお、上記において説明した画像形成装置10におけるソフトウェアモジュールを実現するプログラムは、CD−ROMやSDカード等の記録媒体101よりインストールされてもよいし、ネットワーク30を介してインストールされてもよい。
次に、端末処理装置20について説明する。図7は、第二の実施の形態における端末処理装置20の構成例を示す図である。図7において、端末処理装置20は、画像形成装置10の仮想ユーザアプリ16の実体的な処理を実行する通信装置の一例であり、ハードウェア21、OS22、複合機アプリケーション汎用サービス23、Java(登録商標)実行環境24、ユーザアプリ25a、ユーザアプリ25b、及びユーザアプリ25c等より構成される。なお、端末処理装置20は、PC等の汎用的なコンピュータに限られず、Java(登録商標)仮想マシンが搭載可能で、その上でJava(登録商標)アプリを実行できる機器であればどのようなものでもよい。
ハードウェア21は、CPU、メモリ、HDD(Hard Disk Drive)、SDカードスロット、ネットワークインタフェース等のハードウェア資源である。
OS22は、UNIX(登録商標)やLinux等の汎用的なオペレーティングシステムである。
複合機アプリケーション汎用サービス23は、画像形成装置10における複合機アプリケーション汎用サービス23と同様のものである。
Java(登録商標)実行環境24は、端末処理装置20上でJava(登録商標)アプリを実行するための環境を実現するソフトウェアモジュール群であり、仮想マシン241、複合機クラスライブラリ242、アプリケーション管理部243、及び画像形成装置通信部244等より構成される。
仮想マシン241、複合機クラスライブラリ242、及びアプリケーション管理部243は、画像形成装置10における仮想マシン151、複合機クラスライブラリ152、及びアプリケーション管理部153と同様であるため、ここでの説明は省略する。
画像形成装置通信部244は、仮想マシン151上で動作し、画像形成装置10の端末処理装置通信部154と通信することにより、端末処理装置20上のユーザアプリの処理における画像形成装置10に対する操作要求を画像形成装置10の端末処理装置通信部154へ送信する。
すなわち、端末処理装置20では画像形成装置10の仮想ユーザアプリ16の実体的な処理を行うユーザアプリが起動される。しかし、端末処理装置20にはコントロールサービス13以下のソフトウェアモジュール及び画像形成装置10に特有のハードウェアは存在しないため、ユーザアプリから発生したコントロールサービス13以下で行われる命令を実際には実行できない(例えば、端末処理装置20が実際にスキャンやコピー、又はFAXの送受信を行うことはできない。)。そこで、画像形成装置通信部244は、端末処理装置20のユーザアプリにおいてコントロールサービス13以下のモジュールで行われる操作が生じた場合には、操作対象となる画像形成装置10へ当該操作要求を送信することで画像形成装置10に該当する操作を行わせ、その結果を受け取る。これによって、端末処理装置20上に仮想的にコントロールサービス13以下のモジュールが実現される。
端末処理装置20(画像形成装置通信部244)による画像形成装置10(端末処理装置通信部154)への操作要求の送信にはRPCが利用される。すなわち、画像形成装置通信部244は、端末処理装置20においてある関数が呼ばれたときに、画像形成装置10側の同じ関数をリモート呼び出しし、その結果を受信するための仕組みを備える。例えば、端末処理装置20におけるユーザアプリによって複合機クラスライブラリ242のScan()関数が呼び出されると、画像形成装置通信部244は、端末処理装置通信部154を介して画像形成装置10の複合機クラスライブラリ152のScan()関数を呼び出し、その結果を受信する。
画像形成装置通信部244は、また、画像形成装置10の端末処理装置通信部154と通信することにより、画像形成装置10においてユーザから要求されたサービスの提供に必要な処理の少なくとも一部(実体的な処理)を、端末処理装置20上のユーザアプリに実行させる。すなわち、画像形成装置通信部244は、画像形成装置10で発生し、端末処理装置通信部154から送られてくる非同期のイベントを受信し、該当する実行中のユーザアプリに当該イベントを通知する。
ユーザアプリ25a、25b、及び25cは、Java(登録商標)実行環境24上で動作するユーザアプリの例である。すなわち、ユーザアプリ25a、25b、及び25cは、画像形成装置10の仮想ユーザアプリ16における実体的な処理を端末処理装置20上で行うユーザアプリである。なお、ユーザアプリ25a、25b、及び25c等のユーザアプリは、複合機クラスライブラリ242の関数を呼び出すことにより画像形成装置10に対する操作要求を行い、複合機クラスライブラリ242のイベントクラスより、画像形成装置10で発生したイベントを受け取る。
ところで、上述したように、複合機クラスライブラリ242及び複合機アプリケーション汎用サービス23は、画像形成装置10における複合機クラスライブラリ152又は複合機アプリケーション汎用サービス14と同様のもの(すなわち、互換性のある又は同一のインタフェースを上位アプリケーションに対して提供するもの)である。したがって、画像形成装置10における複合機クラスライブラリ152又は複合機アプリケーション汎用サービス14において動作するアプリケーションは、そのまま端末処理装置20の複合機クラスライブラリ242又は複合機アプリケーション汎用サービス23上で動作させることができる。よって、ユーザアプリの搭載場所を画像形成装置10から端末処理装置20に変更する際に、改めてユーザアプリに対して修正を行う必要はない。
なお、上記において説明した端末処理装置20におけるソフトウェアモジュールを実現するプログラムは、CD−ROMやSDカード等の記録媒体201よりインストールされてもよいし、ネットワーク30を介してインストールされてもよい。
以上、図6及び図7において説明した画像形成装置10と端末処理装置20とのインタラクションは、図8のように図示することができる。図8は、第二の実施の形態における画像形成装置と端末処理装置とのインタラクションを示す図である。
図8に示されるように、画像形成装置10の端末処理装置通信部154は、ハードウェア資源を含むネイティブ層からの非同期のイベント(S1)や、仮想ユーザアプリ16からの要求(S2)を端末処理装置20の画像形成装置通信部244に送信する(S3)。
端末処理装置20の画像形成装置通信部244は、受信したイベントや要求を複合機クラスライブラリ242のイベントクラスを介して、対応するユーザアプリ(ユーザアプリ25a、25b、又は25c等)に通知する(S4)。ユーザアプリ25a等は、イベント又は要求に対応した処理を実行する。その処理の過程においてユーザアプリ25a等は、複合機クラスライブラリ242を利用する(呼び出す)が、その際にネイティブ層以下の処理が必要な場合は、画像形成装置通信部244が、画像形成装置10に対する操作要求を端末処理装置通信部154に送信する(S5)。操作要求を受信した端末処理装置通信部154は、コントロールサービス13等のネイティブ層に対して操作要求を通知する(S6)。この操作要求に基づいて、画像形成装置10に特有のハードウェアが制御され、スキャン、FAXの送受信、コピー等が実行される。
以下、第二の実施の形態における画像処理システム1の処理手順の一例について説明する。図9は、第二の実施の形態における画像処理システムにおけるユーザアプリの実行処理を説明するためのフローチャートである。
まず、端末処理装置20、及び画像形成装置10がユーザによって起動される(S101、S102)。双方が起動すると、画像形成装置10の端末処理装置通信部154と端末処理装置20の画像形成装置通信部244とはお互いに通信するためのコネクションを確立する(S103)。この処理の詳細については後述する。なお、以下において、画像形成装置10と端末処理装置20との通信は、端末処理装置通信部154と端末処理装置20の画像形成装置通信部244とによって行われる。
続いて、利用するユーザアプリが、端末処理装置20のHDDやSDカードなどのストレージデバイスにインストールされる(S104)。インストールは、例えば、端末処理装置20に接続されたディスプレイや、端末処理装置20とネットワークを介して接続するPC等のディスプレイにアプリケーション管理部243によって表示されるインストール画面に基づいて行われる。なお、ユーザアプリのインストールは、当該ユーザアプリについて一度行われれば、次回の起動時には行う必要はない。
続いて、ユーザが画像形成装置10の前でオペレーションパネルのユーザアプリ選択画面表示キーを押すと(S105)、アプリケーション管理部153は、オペレーションパネルにユーザアプリ選択画面を表示させる。ここで、ユーザアプリ選択画面表示キーとは、ユーザアプリ選択画面をオペレーションパネルの液晶画面に表示させるためのボタンをいい、予めオペレーションパネルに配置されているものである。
図10は、ユーザアプリ選択画面の表示例を示す図である。図10に示されるように、ユーザアプリ選択画面110には画像形成装置10又は端末処理装置20にインストールされているユーザアプリのリストが表示される。図10では、ユーザアプリA、ユーザアプリB、ユーザアプリCが表示されているが、これらはそれぞれユーザアプリ25a、ユーザアプリ25b、ユーザアプリ25cの名前を示す。なお、画像形成装置10又は端末処理装置20にインストールされているユーザアプリの一覧情報は、仮想ユーザアプリ16に登録しておき、アプリケーション管理部153が仮想ユーザアプリ16に問い合わせることにより取得される。但し、アプリケーション管理部153が端末処理装置20に問い合わせることで、端末処理装置20にインストールされているユーザアプリの一覧情報が取得されるようにしてもよい。
続いて、ユーザは、ユーザアプリ選択画面110に表示されたユーザアプリの中から利用したいユーザアプリを選択する(S107)。ここでは、ユーザアプリA(ユーザアプリ25a)が選択されたものとする。なお、ユーザアプリ25aは、スキャン処理に関連する業務アプリケーションであることとする。
ユーザによってユーザアプリAが選択されると、アプリケーション管理部153は、仮想ユーザアプリ16を起動させる(S108)。仮想ユーザアプリ16は、起動処理(初期化処理)の間に端末処理装置20のユーザアプリ25aに対して起動処理の実行要求を送信する(S109)。
起動処理の実行要求を受信したユーザアプリ25aは、ユーザアプリ25aの操作画面(以下「ユーザアプリA用ウィンドウ」という。)と、その表示部品を生成する(S110)。表示部品としては、例えば、ユーザアプリA用ウィンドウに配置するボタンやそのボタンに貼り付けるラベル等が相当する。ボタンはユーザからの入力を受け付け、ラベルはユーザに対しメッセージを通知する役割を果たす。ここでは、表示部品として「Scan Start」ボタン、「Scan Running」ラベル、「Scan Error!」ラベル、「Scan Finish」ラベル、及び「Scan Stop」ボタンが生成される。
続いて、ユーザアプリ25aが、「Scan Start」の貼り付けられたユーザアプリA用ウィンドウの表示要求を画像形成装置10に送信すると(S111)、当該表示要求を受信した画像形成装置10の仮想ユーザアプリ16は、端末処理装置20のユーザアプリ25aによって生成されたユーザアプリA用ウィンドウをオペレーションパネルに表示させる(S112)。
より詳しくは、ユーザアプリ25aは、「Scan Start」の貼り付けられたユーザアプリA用ウィンドウの表示命令を複合機クラスライブラリ242の関数を呼び出すことにより行う。複合機クラスライブラリ242に対する命令は、画像形成装置通信部244によって画像形成装置10の端末処理装置通信部154に送信される。端末処理装置通信部154は、当該ユーザアプリA用ウィンドウの表示をコントロールサービス13に命令する。コントロールサービス13は、オペレーションパネルを制御し、オペレーションパネル上に当該ユーザアプリA用ウィンドウを表示させる。
図11は、「Scan Start」ボタンが貼り付けられたユーザアプリA用ウィンドウの表示例を示す図である。図11に示されるユーザアプリA用ウィンドウ120には、「Scan Start」ボタン121が貼り付けられて表示されている。
続いて、ユーザが「Scan Start」ボタン121を押すと(S113)、そのイベントがネットワーク30を介して端末処理装置20のユーザアプリ25aに通知される(S114)。より詳しくは、当該イベントはコントロールサービス13等を介して端末処理装置通信部154に通知され、端末処理装置通信部154が、端末処理装置20の画像形成装置通信部244に当該イベントを通知するメッセージを送信する。画像形成装置通信部244は、複合機クラスライブラリ242のイベントクラスを介して、当該イベントをユーザアプリ25aに通知する。
続いて、ユーザアプリ25aが、ユーザアプリA用ウィンドウ120への「Scan Stop」ボタン及び「Scan Running」ラベルの表示要求を画像形成装置10に送信すると(S115)、当該表示要求を受信した画像形成装置10の仮想ユーザアプリ16は、オペレーションパネルに表示されているユーザアプリA用ウィンドウ120に当該ボタン及びラベルを表示させる(S116)。
図12は、「Scan Stop」ボタン及び「Scan Running」ラベルが表示されたユーザアプリA用ウィンドウの表示例を示す図である。
図12において、「Scan Stop」ボタン122は、スキャン操作を中止させるためのボタンである。また、「Scan Running」ラベル123は、スキャン操作が行われていることをユーザに認識させるためのラベルである。
更に、ユーザアプリ25aが、「Scan Stop」ボタン122及び「Scan Running」ラベル123の表示要求と並行して、スキャンの操作要求を画像形成装置10に送信すると(S117)、画像形成装置10のハードウェア11におけるスキャナによってスキャン操作が実行され、紙文書が電子化される(S118)。なお、ステップS117及びS118における端末処理装置20と画像形成装置10とのやり取りの詳細については後述する。
スキャン操作が正常に終了した場合は(S119でYES)、正常終了のイベントがスキャナより発生する。端末処理装置通信部154は当該イベントを画像形成装置通信部244を介してユーザアプリ25aに通知する(S120)。
スキャン操作の正常終了の通知を受けたユーザアプリ25aが、ユーザアプリA用ウィンドウ120への「Scan Finish」ラベルの表示要求を画像形成装置10に送信すると(S121)、当該表示要求を受信した画像形成装置10の仮想ユーザアプリ16は、オペレーションパネルに表示されているユーザアプリA用ウィンドウ120に当該ラベルを表示させる(S122)。
図13は、「Scan Finish」ラベルが表示されたユーザアプリA用ウィンドウの表示例を示す図である。図13において、「Scan Finish」ラベル124は、スキャン操作が正常終了したことをユーザに認識させるためのラベルである。
一方、例えば、原稿の搬送中にジャムが発生したり、正常に画像が読み取れなかったり等、スキャン操作が異常終了した場合は(S119でNO)、異常終了のイベントがスキャナより発生する。端末処理装置通信部154は当該イベントを画像形成装置通信部244を介してユーザアプリ25aに通知する(S123)。
スキャン操作の異常終了の通知を受けたユーザアプリ25aが、ユーザアプリA用ウィンドウ120への「Scan Error」ラベルの表示要求を画像形成装置10に送信すると(S124)、当該表示要求を受信した画像形成装置10の仮想ユーザアプリ16は、オペレーションパネルに表示されているユーザアプリA用ウィンドウ120に当該ラベルを表示させる(S125)。
図14は、「Scan Error」ラベルが表示されたユーザアプリA用ウィンドウの表示例を示す図である。図14において、「Scan Error」ラベル125は、スキャン操作が異常終了したことをユーザに認識させるためのラベルである。
スキャン操作中、又はステップS122若しくはS125の後に、ユーザによって「Scan Stop」ボタン122が押下されると(S126)、仮想ユーザアプリ16は、端末処理装置通信部154及び画像形成装置通信部244を介してユーザアプリ25aに対してスキャン操作の終了を通知する(S127)。仮想ユーザアプリ16からの通知に応じ、ユーザアプリ25aは、終了化処理を実行し(S128)、終了する(S129)。
次に、ステップS103における、端末処理装置20と画像形成装置10とのコネクションの確立処理の詳細について説明する。図15は、端末処理装置と画像形成装置とのコネクションの確立処理の例を説明するためのフローチャートである。
端末処理装置20は、起動すると(S130)、画像形成装置10が既に起動しているか否かを確認する(S131)。画像形成装置10が既に起動している場合(S131でYES)、端末処理装置20の画像形成装置通信部244は、画像形成装置10の端末処理装置通信部154に対してクライアントとして接続する(S132)。これによって、端末処理装置20をトリガーとした通信手段が確保される。
続いて、画像形成装置通信部244が、サーバポートを開け(S133)、サーバポートを開けた旨を端末処理装置通信部154に通知すると(S134)、当該通知を受けた端末処理装置通信部154よりクライアントとしての接続を受ける。これによって、画像形成装置10をトリガーとした通信手段が確保される。
一方、画像形成装置10が、まだ起動していない場合(S131でNO)、画像形成装置通信部244は、サーバポートを開けて画像形成装置10からの接続を待つ(S136)。画像形成装置10が起動すると(S137でYES)、画像形成装置通信部244は、端末処理装置通信部154よりクライアントとしての接続を受ける(S138)。これによって、画像形成装置10をトリガーとした通信手段が確保される。
続いて、画像形成装置通信部244は、端末処理装置通信部154がサーバポートを開けた旨を受信し(S139)、端末処理装置通信部154に対してクライアントとしての接続を行う(S140)。これによって、端末処理装置20をトリガーとした通信手段が確保される。
このように、端末処理装置20と画像形成装置10の間では、双方をトリガーとした通信が可能となるようにコネクションが確立される。
次に、ステップS117及びS118におけるスキャン操作処理の詳細について説明する。図16は、スキャン操作処理の詳細を説明するためのフローチャートである。
ユーザが画像形成装置10のオペレーションパネルに表示されているユーザアプリA用ウィンドウ120の「Scan Start」ボタン121を押下すると(S171)、「Scan Start」ボタン121の押下を通知するオペレーションパネルからのイベントが発生する(S172)。
端末処理装置通信部154は、当該イベントを検出すると、当該イベントの発生を通知するメッセージを端末処理装置20の画像形成装置通信部244に送信する(S173)。画像形成装置通信部244が当該イベントの発生をユーザアプリ25aに通知すると(S174)、ユーザアプリ25aは、当該イベントに対応する処理として実装された業務ロジック(例えば、ユーザの業務に特有の処理)を実行する(S175)。このような処理が、端末処理装置20側において行われることにより、画像形成装置10の負荷を軽減させることができる。
かかる業務ロジックの実行の中で画像形成装置10のハードウェア11(ここでは、スキャナ)の操作が必要になると、ユーザアプリ25aは、複合機クラスライブラリ242のScanクラスに対してスキャナの操作要求を通知する(S176)。
複合機クラスライブラリ242がユーザアプリ25aからの要求に応じ、スキャン操作を開始するためのネイティブ層の関数を呼び出すと(S177)、画像形成装置通信部244は、スキャン操作を開始するためのネイティブ関数のRPCによる呼び出しを画像形成装置10の端末処理装置通信部154に対して行う(S178)。
RPCによるネイティブ関数の呼び出しを受けた端末処理装置通信部154は、当該ネイティブ関数の呼び出しを画像形成装置10のネイティブ層(複合機アプリケーションサービス14又はコントロールサービス13に対して行う(S179)。なお、ここで、複合機アプリケーションサービス14が呼び出された場合、その呼び出しは、最終的にはコントロールサービス13に通知される。
続いて、コントロールサービス13におけるスキャンサービスは、ハードウェア11のスキャナを制御し(S180)、スキャン操作を開始させる(S181)。スキャン操作の開始が成功すると、端末処理装置通信部154は、その旨を画像形成装置通信部244に対して通知する(S182)。画像形成装置通信部244は、スキャン操作の開始が成功したことをユーザアプリ25aに通知する(S183)。この通知に基づいて、ユーザアプリAは、以降の処理を継続することになる。
上述したように、第二の実施の形態における画像処理システム1によれば、画像形成装置10のアプリケーションに対して要求された処理の少なくとも一部(第二の実施の形態では、ウィンドウや、ラベル及びボタンの生成処理や、業務ロジック等)を、端末処理装置20に対して実行させ、必要に応じて画像形成装置10のハードウェア資源の制御を端末処理装置20に行わせる。すなわち、一般的にメモリ容量の制約の厳しい画像形成措置10上ではなく、任意にメモリを増設することのできる端末処理装置20のメモリを用いてユーザアプリを実行させることにより、画像形成装置10に対する負荷を分散させることができる。したがって、メモリの制限に縛られず、多数のユーザアプリを同時に実行させることができる。
更に、端末処理装置20においては、画像形成装置通信部244等によって、ユーザアプリから見て透過的に画像形成装置10に特有のハードウェア資源を操作することができる。すなわち、単に、画像形成装置10上のアプリケーションをPC等の汎用的なコンピュータに載せ替えただけでは当該コンピュータには、画像形成装置10に特有のハードウェア資源は備わっていないため、当該アプリケーションの動作は保証されない。しかしながら、本実施の形態における端末処理装置20によれば、上記のように、かかる問題点を解消することができる。
なお、仮想ユーザアプリ16は、画像形成装置10上のパネルに、ユーザからの入力を受け付けるためのユーザインタフェースの表示制御や、端末処理装置20上のユーザアプリの起動及び停止等の制御を行うことになるが、これらの処理は、表示部品(ボタンやラベル等)の生成処理や、業務ロジックの実行処理と比較するとメモリの消費量が少ない。したがって、仮想ユーザアプリ16の実行を考慮しても、画像形成装置10のメモリ消費量やCPUに対する負荷を全体的に軽減させることができる。
また、ユーザには仮想ユーザアプリ16がユーザアプリ25aとして見える。したがって、ユーザアプリが画像形成装置10で実行されているのか、ネットワークを介して端末処理装置20で実行されているのか意識させることなく(すなわち、ユーザアプリ25aが画像形成装置10に実装されている場合と変わりなく)、ユーザアプリを利用させることができる。
また、複数の画像形成装置10に対して一台の端末処理装置20を対応させてもよい。この場合、複数の画像形成装置10において仮想的に実行されるユーザアプリは、当該端末処理装置20において一元管理されることになる。したがって、ユーザアプリのバージョンアップ等の保守作業の簡略化を図ることができる。
次に、第三の実施の形態について説明する。第三の実施の形態では、CPUやメモリ等の制約が更に厳しく、Java(登録商標)仮想マシンを搭載することのできない画像形成装置において、仮想的にJava(登録商標)アプリ(ユーザアプリ)を実行させる例について説明する。
図17は、第三の実施の形態における画像形成装置の構成例を示す図である。図17中、図6と同一部分には同一符号を付し、その説明は省略する。
図17における画像形成装置10aは、CPUやメモリ等の制約が更に厳しい画像形成装置の例である。したがって、仮想マシン151を含むJava(登録商標)実行環境15が実装されていない。
一方で、画像形成装置10aは、複合機アプリケーション汎用サービス14内で動作する端末処理装置通信部144と、複合機アプリケーション汎用サービス14上で動作する仮想ユーザアプリ16aとを有している。
端末処理装置通信部144の機能は、図6の端末処理装置通信部154の機能と同様である。但し、端末処理装置通信部154は、仮想マシン15上で動作するJava(登録商標)アプリとして実装されているのに対し、端末処理装置通信部144は、C又はC++等によって実装され、複合機アプリケーション汎用サービス14内で動作する点が異なる。
仮想ユーザアプリ16aの機能は、図6の仮想ユーザアプリ16の機能と同様である。但し、仮想ユーザアプリ16は、仮想マシン15上で動作するJava(登録商標)アプリとして実装されているのに対し、仮想ユーザアプリ16aは、C又はC++等によって実装され、複合機アプリケーション汎用サ−ビス14上で動作する点が異なる。
なお、画像形成装置10aも、ハードウェア11の一部として、ユーザとの入出力用のインタフェースであるオペレーションパネルを備える。ユーザは、オペレーションパネルを操作することで、画像形成装置10aにおける各種アプリケーションの実行指示を行うことができる。
図18は、第三の実施の形態における端末処理装置の構成例を示す図である。図18中、図7と同一部分には同一符号を付し、その説明は省略する。
図18における端末処理装置20aの構成は、図7における端末処理装置20の構成とほぼ同様であるが、画像形成装置通信部244の代わりに画像形成装置通信部231を有する点で異なる。
画像形成装置通信部231の機能は、画像形成装置通信部244の機能と同様である。但し、画像形成装置通信部244は、仮想マシン15上で動作するJava(登録商標)アプリとして実装されているのに対し、画像形成装置通信部231は、C又はC++等によって実装され、複合機アプリケーション汎用サ−ビス23内で動作する点が異なる。
図19は、第三の実施の形態における画像形成装置と端末処理装置とのインタラクションを示す図である。
図19に示されるように、画像形成装置10aの端末処理装置通信部144は、ネイティブ層からの非同期のイベント(S21)や、仮想ユーザアプリ16aからの要求(S22)を端末処理装置20aの画像形成装置通信部231に送信する(S23)。
端末処理装置20aの画像形成装置通信部231は、受信したイベントや要求を複合機クラスライブラリ242のイベントクラスを介して(S24)、対応するユーザアプリ(ユーザアプリ25a、25b、又は25c等)に通知する(S25)。ユーザアプリ25a等は、イベント又は要求に対応した処理を実行する。その処理の過程においてユーザアプリ25a等は、複合機クラスライブラリ242を利用する(呼び出す)が、その際にネイティブ層以下の処理が必要な場合は、画像形成装置通信部231が、画像形成装置10aに対する操作要求を端末処理装置通信部144に送信する(S26)。操作要求を受信した端末処理装置通信部144は、コントロールサービス13等のネイティブ層に対して操作要求を通知する(S27)。この操作要求に基づいて、画像形成装置10aに特有のハードウェア資源が制御され、スキャン、FAXの送受信、コピー等が実行される。
なお、第三の実施の形態において、図9、図15及び図16に相当する処理手順は、上記の説明より自明であるため、ここでの説明は省略する。
上述したように、第三の実施の形態における画像処理システム1によれば、仮想マシン151を搭載していない画像形成装置10aであっても、端末処理装置20aにユーザアプリを実行させることにより、ユーザアプリの実行を仮想的に実現することができる。
なお、上記第二及び第三の実施の形態では、画像形成装置を電子機器の具体例として説明したが、本発明の適用対象が画像形成装置に限られない。例えば、デジタル家電、移動体通信端末、及び駅の自動改札機等、メモリ等の制約が厳しい反面、高速な処理が要求される各種の機器に対して本発明は有効である。
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
第一の実施の形態における情報処理システムの構成例を示す図である。 第一の実施の形態における情報処理システムにおける処理手順を説明するためのフローチャートである。 電子機器ユーザアプリ実行時における電子機器による処理の処理手順を説明するためのフローチャートである。 電子機器ユーザアプリ実行時における通信装置による処理の処理手順を説明するためのフローチャートである。 第二の実施の形態における画像処理システムの構成例を示す図である。 第二の実施の形態における画像形成装置の構成例を示す図である。 第二の実施の形態における端末処理装置の構成例を示す図である。 第二の実施の形態における画像形成装置と端末処理装置とのインタラクションを示す図である。 第二の実施の形態における画像処理システムにおけるユーザアプリの実行処理を説明するためのフローチャートである。 ユーザアプリ選択画面の表示例を示す図である。 「Scan Start」ボタンが貼り付けられたユーザアプリA用ウィンドウの表示例を示す図である。 「Scan Stop」ボタン及び「Scan Running」ラベルが表示されたユーザアプリA用ウィンドウの表示例を示す図である。 「Scan Finish」ラベルが表示されたユーザアプリA用ウィンドウの表示例を示す図である。 「Scan Error」ラベルが表示されたユーザアプリA用ウィンドウの表示例を示す図である。 端末処理装置と画像形成装置とのコネクションの確立処理の例を説明するためのフローチャートである。 スキャン操作処理の詳細を説明するためのフローチャートである。 第三の実施の形態における画像形成装置の構成例を示す図である。 第三の実施の形態における端末処理装置の構成例を示す図である。 第三の実施の形態における画像形成装置と端末処理装置とのインタラクションを示す図である。
符号の説明
1 画像処理システム
11 ハードウェア
12 OS
13 コントロールサービス
14 複合機アプリケーション汎用サービス
15 Java(登録商標)実行環境
16、16a 仮想ユーザアプリ
10、10a 画像形成装置
20、20a 端末処理装置
21 ハードウェア
22 OS
23 複合機アプリケーション汎用サービス
24 Java(登録商標)実行環境
25a、25b、25c ユーザアプリ
30 ネットワーク
101、201 記録媒体
141 コピーアプリ
142 FAXアプリ
143 スキャンアプリ
151 仮想マシン
152 複合機クラスライブラリ
153 アプリケーション観リブ
144、154 端末処理装置通信部
241 仮想マシン
242 複合機クラスライブラリ
243 アプリケーション管理部
231、244 画像形成装置通信部
500 情報処理システム
510 電子機器
511 ハードウェア
512 OS
513 電子機器サービス
514 電子機器ユーザアプリ
515 仮想ユーザアプリ
520 通信装置
521 ハードウェア
522 OS
523 電子機器サービス
524 電子機器ユーザアプリ
530 ネットワーク
5131 通信装置通信部
5231 電子機器通信部

Claims (19)

  1. 電子機器と通信する通信手段と、前記電子機器に関するアプリケーションとを備えた通信装置であって、
    前記通信手段は、前記電子機器において発生するイベントの受信に応じて当該イベントを前記アプリケーションに通知し、当該イベントに応じて実行される前記アプリケーションの処理における前記電子機器のハードウェア資源の操作要求を前記電子機器に送信することを特徴とする通信装置。
  2. 前記電子機器のハードウェア資源を制御させるためのインタフェースを前記アプリケーションに対して提供するインタフェース提供手段を有し、
    前記アプリケーションは、前記イベントに応じて実行される処理における前記電子機器のハードウェア資源の操作要求として前記インタフェース提供手段における前記インタフェースを呼び出し、
    前記通信手段は、前記アプリケーションによる前記インタフェースの呼び出しに基づいて、前記電子機器に対して前記ハードウェア資源の操作要求を送信することを特徴とする請求項1記載の通信装置。
  3. 前記通信手段は、前記アプリケーションに対して、前記インタフェース提供手段の提供するインタフェースを介して前記イベントを通知することを特徴とする請求項2記載の通信装置。
  4. 前記イベントは、前記電子機器のハードウェア資源において検知されソフトウェアに通知される情報を含むことを特徴とする請求項1乃至3いずれか一項記載の通信装置。
  5. 前記インタフェース提供手段は、前記電子機器が当該電子機器におけるアプリケーションに当該電子機器のハードウェア資源を制御させために提供するインタフェースと互換性のあるインタフェースを提供することを特徴とする請求項2又は3記載の通信装置。
  6. 前記通信手段は、当該通信装置におけるアプリケーションからの要求に応じ当該アプリケーションの操作画面の表示要求を前記電子機器に送信することを特徴とする請求項1乃至5いずれか一項記載の通信装置。
  7. 前記アプリケーションをインストールするインストール手段を有することを特徴とする請求項1乃至6いずれか一項記載の通信装置。
  8. アプリケーションを実行可能な電子機器であって、
    前記アプリケーションに関する入力に対応したイベントを当該電子機器と通信する通信装置に送信し、前記イベントに応じて実行される前記通信装置のアプリケーションの処理における当該電子機器のハードウェア資源に対する操作要求を受信する通信手段と、
    受信された前記操作要求に基づいて当該電子機器のハードウェア資源を制御する制御手段とを有することを特徴とする電子機器。
  9. 前記通信手段は、前記制御手段によって制御される前記ハーウェア資源におけるイベントの発生に応じ、当該イベントを前記通信装置に通知することを特徴とする請求項8記載の電子機器。
  10. 前記イベントは、前記ハードウェア資源において検知されソフトウェアに通知される情報を含むことを特徴とする請求項8又は9記載の電子機器。
  11. 前記通信手段によって受信される、前記通信装置のアプリケーションの操作画面の表示要求に応じ、該操作画面を表示させる表示手段を有することを特徴とする請求項8乃至10いずれか一項記載の電子機器。
  12. アプリケーションを実行可能な電子機器と、該電子機器と通信する通信装置とを有する情報処理システムであって、
    前記電子機器は、前記アプリケーションに関する入力に対応したイベントを前記通信装置に送信し、
    前記通信装置は、前記イベントに応じてアプリケーションを実行し、当該アプリケーションにおける前記電子機器のハードウェア資源に対する操作要求を前記電子機器に送信することにより、前記電子機器を制御することを特徴とする情報処理システム。
  13. 電子機器と通信することにより前記電子機器に関するアプリケーションを実行する通信装置におけるアプリケーション実行方法であって、
    前記電子機器において発生するイベントを受信し、当該イベントを前記アプリケーションに通知するイベント受信手順と、
    前記イベントの通知に応じて実行される前記アプリケーションの処理における前記電子機器のハードウェア資源の操作要求を前記電子機器に送信する操作要求送信手順とを有することを特徴とするアプリケーション実行方法。
  14. 前記イベントは、前記電子機器のハードウェア資源において検知されソフトウェアに通知される情報を含むことを特徴とする請求項13記載のアプリケーション実行方法。
  15. アプリケーションを実行可能な電子機器におけるアプリケーション実行方法であって、
    前記アプリケーションに関する入力に対応したイベントを当該電子機器と通信する通信装置に送信するイベント送信手順と、
    前記イベントに応じて実行される前記通信装置のアプリケーションの処理における当該電子機器のハードウェア資源に対する操作要求を受信する操作要求受信手順と、
    前記操作要求に基づいて当該電子機器のハードウェア資源を制御する制御手順とを有することを特徴とするアプリケーション実行方法。
  16. 請求項13又は14記載のアプリケーション実行方法をコンピュータに実行させるためのアプリケーション実行プログラム。
  17. 請求項16記載のアプリケーション実行プログラムを記録したコンピュータ読み取り可能な記録媒体。
  18. 請求項15記載のアプリケーション実行方法をコンピュータに実行させるためのアプリケーション実行プログラム。
  19. 請求項18記載のアプリケーション実行プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2006129484A 2005-12-15 2006-05-08 通信装置、情報処理システム、アプリケーション実行方法、アプリケーション実行プログラム及び記録媒体 Expired - Fee Related JP5013742B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006129484A JP5013742B2 (ja) 2005-12-15 2006-05-08 通信装置、情報処理システム、アプリケーション実行方法、アプリケーション実行プログラム及び記録媒体
US11/638,570 US8763017B2 (en) 2005-12-15 2006-12-14 Communications device, electronic apparatus, information processing system, application executing method, and recording medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005362343 2005-12-15
JP2005362343 2005-12-15
JP2006129484A JP5013742B2 (ja) 2005-12-15 2006-05-08 通信装置、情報処理システム、アプリケーション実行方法、アプリケーション実行プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2007188468A true JP2007188468A (ja) 2007-07-26
JP5013742B2 JP5013742B2 (ja) 2012-08-29

Family

ID=38343567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006129484A Expired - Fee Related JP5013742B2 (ja) 2005-12-15 2006-05-08 通信装置、情報処理システム、アプリケーション実行方法、アプリケーション実行プログラム及び記録媒体

Country Status (2)

Country Link
US (1) US8763017B2 (ja)
JP (1) JP5013742B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067231A (ja) * 2008-09-12 2010-03-25 Ricoh Co Ltd 情報処理装置、アプリケーション実行方法、及びプログラム
WO2014106882A1 (ja) * 2013-01-02 2014-07-10 セイコーエプソン株式会社 デバイス制御システム、印刷装置、及び、デバイス制御システムの制御方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5057899B2 (ja) * 2007-09-03 2012-10-24 株式会社リコー 画像形成装置、アプリケーション制御方法、及びアプリケーション制御プログラム
JP2011123842A (ja) * 2009-12-14 2011-06-23 Ricoh Co Ltd 画像形成装置、機能追加方法、及びプログラム
JP5991104B2 (ja) 2012-09-18 2016-09-14 株式会社リコー 情報処理装置、情報処理方法、及びプログラム
US10279611B2 (en) * 2015-02-10 2019-05-07 Kyocera Document Solutions Inc. Communication terminal device and communication system
KR20180051001A (ko) * 2016-11-07 2018-05-16 삼성전자주식회사 카메라와 연결되는 전자 장치 및 그 제어 방법
JP7059696B2 (ja) 2018-03-02 2022-04-26 株式会社リコー 機器、情報処理システム、情報処理方法及びプログラム
JP7069969B2 (ja) 2018-03-29 2022-05-18 株式会社リコー 情報処理装置、情報処理方法及び情報処理プログラム
EP3709197A1 (en) 2019-03-13 2020-09-16 Ricoh Company, Ltd. Information processing system, server, carrier medium, and method for controlling assignment of license

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002281195A (ja) * 2001-03-19 2002-09-27 Ricoh Co Ltd Oa機器のリモート操作システム、oa機器、リモート操作装置、コンピュータが実行するためのプログラム、およびコンピュータが実行するためのプログラムを格納したコンピュータが読み取り可能な記録媒体
JP2004312711A (ja) * 2003-03-25 2004-11-04 Ricoh Co Ltd 画像形成装置及び画像形成装置を遠隔のアプリケーションにより操作する方法
JP2005228183A (ja) * 2004-02-16 2005-08-25 Hitachi Ltd プログラム実行方法、および、プログラム実行のための計算機システム
JP2005321944A (ja) * 2004-05-07 2005-11-17 Konica Minolta Business Technologies Inc 画像形成システム
JP2006081028A (ja) * 2004-09-10 2006-03-23 Kyocera Mita Corp 遠隔操作システム、通信装置及び電気機器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058436A (ja) * 2001-08-17 2003-02-28 Minolta Co Ltd 画像処理装置、プログラム及び管理ユニット
JP4054637B2 (ja) * 2002-08-28 2008-02-27 キヤノン株式会社 画像処理システム及びその認証方法
JP4070693B2 (ja) * 2002-09-13 2008-04-02 株式会社リコー 画像形成装置およびスキャンデータ処理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002281195A (ja) * 2001-03-19 2002-09-27 Ricoh Co Ltd Oa機器のリモート操作システム、oa機器、リモート操作装置、コンピュータが実行するためのプログラム、およびコンピュータが実行するためのプログラムを格納したコンピュータが読み取り可能な記録媒体
JP2004312711A (ja) * 2003-03-25 2004-11-04 Ricoh Co Ltd 画像形成装置及び画像形成装置を遠隔のアプリケーションにより操作する方法
JP2005228183A (ja) * 2004-02-16 2005-08-25 Hitachi Ltd プログラム実行方法、および、プログラム実行のための計算機システム
JP2005321944A (ja) * 2004-05-07 2005-11-17 Konica Minolta Business Technologies Inc 画像形成システム
JP2006081028A (ja) * 2004-09-10 2006-03-23 Kyocera Mita Corp 遠隔操作システム、通信装置及び電気機器

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067231A (ja) * 2008-09-12 2010-03-25 Ricoh Co Ltd 情報処理装置、アプリケーション実行方法、及びプログラム
WO2014106882A1 (ja) * 2013-01-02 2014-07-10 セイコーエプソン株式会社 デバイス制御システム、印刷装置、及び、デバイス制御システムの制御方法
US9052853B2 (en) 2013-01-02 2015-06-09 Seiko Epson Corporation Client device using a web browser to control a periphery device via a printer
US9274730B2 (en) 2013-01-02 2016-03-01 Seiko Epson Corporation Client device using a web browser to control a periphery device via a printer
US9280305B2 (en) 2013-01-02 2016-03-08 Seiko Epson Corporation Client device using a markup language to control a periphery device via a printer
US9495121B2 (en) 2013-01-02 2016-11-15 Seiko Epson Corporation Client device using a markup language to control a periphery device via a point-of-sale printer
JPWO2014106882A1 (ja) * 2013-01-02 2017-01-19 セイコーエプソン株式会社 デバイス制御システム、印刷装置、及び、デバイス制御システムの制御方法
US10043169B2 (en) 2013-01-02 2018-08-07 Seiko Epson Corporation Point-of-sale printer interpreting a markup language from a client device to control a scanner using scanner-control commands
US10108949B2 (en) 2013-01-02 2018-10-23 Seiko Epson Corporation Printer communicating with a computing device that has access to a target-device script that initiates a control object to control a target device
US10402809B2 (en) 2013-01-02 2019-09-03 Seiko Epson Corporation Point-of-sale printer interpreting a markup language from a client device to control a scanner using scanner-control commands

Also Published As

Publication number Publication date
JP5013742B2 (ja) 2012-08-29
US8763017B2 (en) 2014-06-24
US20070198999A1 (en) 2007-08-23

Similar Documents

Publication Publication Date Title
JP5013742B2 (ja) 通信装置、情報処理システム、アプリケーション実行方法、アプリケーション実行プログラム及び記録媒体
US11210052B2 (en) Information processing apparatus controlling screen to be displayed
US9769339B2 (en) Image forming apparatus and image forming method
JP5880017B2 (ja) 機器、省電力制御方法、省電力制御プログラム、及び記録媒体
JP2013161117A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
US9917959B2 (en) System, method and apparatus for managing job processing between a processing apparatus and server
US20180054536A1 (en) Control method
JP5814526B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
US20180109413A1 (en) Image forming apparatus that cooperates with management server, method of controlling image forming apparatus, and storage medium
JP2009296357A (ja) 画像処理装置、画像処理システム、動作モード制御方法およびプログラム
US10057233B2 (en) Image processing apparatus, method for controlling the same, and storage medium for carrying out login processing
JP2015212893A (ja) 情報処理装置、方法、プログラム、及び情報処理システム
WO2013108377A9 (ja) デバイス、情報処理装置、情報処理システム、制御方法、及びプログラム
JP2015194944A (ja) 処理実行システムおよび中継サーバ
JP6137076B2 (ja) 端末装置、端末装置の制御方法、および端末装置の制御プログラム
US10397439B2 (en) Server system transmitting job to processing apparatus, information processing system, and control method for server system
US9917964B2 (en) Information processing apparatus, information system, information processing method, and storage medium
US20110010718A1 (en) Electronic device, information processing method, and computer program product having computer-readable information processing program
US11604615B2 (en) Printing system for suppressing wasteful transmission of notification information
JP2019089336A (ja) 画像形成装置、端末装置、エラー画面提供方法、およびコンピュータプログラム
US20230418532A1 (en) Image forming device and non-transitory computer-readable recording medium storing computer-readable instructions for image forming device
JP2014204138A (ja) 画像形成装置
US11995360B2 (en) Control method, image processing apparatus, terminal device, and program
US20220317950A1 (en) Communication apparatus and non-transitory computer-readable medium for communication apparatus
JP5539073B2 (ja) 認証システム、認証サービスの制御方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110822

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120605

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5013742

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees