JP5464038B2 - 情報処理装置、画像形成装置、情報処理方法、プログラムおよび記録媒体 - Google Patents

情報処理装置、画像形成装置、情報処理方法、プログラムおよび記録媒体 Download PDF

Info

Publication number
JP5464038B2
JP5464038B2 JP2010110001A JP2010110001A JP5464038B2 JP 5464038 B2 JP5464038 B2 JP 5464038B2 JP 2010110001 A JP2010110001 A JP 2010110001A JP 2010110001 A JP2010110001 A JP 2010110001A JP 5464038 B2 JP5464038 B2 JP 5464038B2
Authority
JP
Japan
Prior art keywords
script
execution
undefined
request
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.)
Expired - Fee Related
Application number
JP2010110001A
Other languages
English (en)
Other versions
JP2011238091A (ja
Inventor
秀人 長江
貴之 内田
敏啓 藤林
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 JP2010110001A priority Critical patent/JP5464038B2/ja
Publication of JP2011238091A publication Critical patent/JP2011238091A/ja
Application granted granted Critical
Publication of JP5464038B2 publication Critical patent/JP5464038B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、機能拡張に容易かつ迅速に対応できる情報処理装置および画像形成装置、その機能拡張された装置により実行される情報処理方法、その方法を実行するためのコンピュータ可読なプログラムおよび記録媒体に関する。
インターネット上で公開されている文書であるWebページは、HTML(Hyper Text Markup Language)等のマークアップ言語を使用して作成され、タグという命令を使用して、HTML文書の構造を指定し、文字の大きさや色を変え、画像を表示させている。このHTMLにより記述された文書がHTML文書であり、このHTML文書はHTMLファイルとしてこれを提供するためのコンテンツサーバ等に保存されている。
HTML文書を閲覧する場合、上記のサーバ等にアクセスし、そのサーバ等からHTMLファイルを取得し、そのファイルを開くためにWebブラウザというアプリケーションソフトウェアが使用される。Webブラウザは、HTMLファイルのタグを解釈し、タグで指定された通りに画面上に表示するように構成されている。
Webブラウザは、上記のHTML文書の表示のほか、Javascript(登録商標)というオブジェクト指向のスクリプト言語を使用することにより、動的な表示である、アクセスした時間帯によって異なったメッセージを表示させたり、アラート(警告のダイアログボックス)を表示させたりすることができる。
Javascript(登録商標)は、関連するデータ(属性)の集合と、そのデータの集合に対する手続き(メソッド)とから構成されるオブジェクトの集まりとしてプログラムを構成するオブジェクト指向プログラミングをサポートするプログラミング言語である。このJavascript(登録商標)は、scriptタグを用いて記述され、そのタグには属性値を指定して属性を付けることができ、属性を付けることにより具体的な指示を追加したり、より細かく背景色や文字の修飾等の効果を指定することができる。このようなJavascript(登録商標)を解釈し実行するために、Webブラウザは、そのJavascript(登録商標)を解釈し実行するためのコードが実装される。
Javascript(登録商標)でのアプリケーション開発は、テキストベースであるため、デバイス用のソフトウェア開発キット(SDK)やJava(登録商標)アプレット等を使用して開発を行うのに比較して、容易に行うことができる。従来、Webブラウザに、上述したJavascript(登録商標)を解釈し実行するためのコードを実装するために、ハードコーディングが採用されている。ハードコーディングとは、特定の動作環境で動作させることを目的とした処理やデータをソースコードに記述するプログラミング方式のことである。
PCや画像形成装置等に実装されたWebブラウザにおいて、独自のJavascript(登録商標)を実装し、装置固有の動作をさせたい場合がある。例えば、Javascript(登録商標)から装置のログインユーザ名やシリアルナンバーを取得し、それに応じた任意の処理を行う場合や、Javascript(登録商標)により読み取りや印刷を実行する場合等である。この装置固有の動作を実現するために、独自のJavascript(登録商標)を解釈し実行するためのコードを作成し、Webブラウザにそのコードをハードコーディングにより実装することができる。
Webブラウザに独自のJavascript(登録商標)を解釈し実行するためのコードを実装した装置として、例えば、WebサーバからWebブラウザによって取得されたHTML文書には、Webブラウザが解釈する際に、埋め込まれたスクリプトがスクリプトインタプリタにロードされて実行され、その結果として、そのWebブラウザが組み込まれた特定の組み込み装置に動的に適応した文書が、クライアントサイド処理で生成されて表示される装置が提案されている(特許文献1参照)。
このように、組み込み装置のWebブラウザが独自のJavascript(登録商標)の実行機能を提供することで、組み込みブラウザからのアクセスに対応して動的なコンテンツをサーバ側の対応によって簡易に柔軟に拡張できるサービスとして供給することを可能にし、クライアント側情報のプライバシーやセキュリティーが守られる制御方法を提供することができる。
上述したように、従来の装置や方法では、新たに独自のJavascript(登録商標)の属性やメソッドを、情報処理装置や画像形成装置が有するWebブラウザに追加する場合、そのWebブラウザのJavascript(登録商標)を解析し実行するためのコードを追加、変更する必要がある。これでは、Webブラウザ自体を変更し、変更の影響を受ける範囲について評価するための工数(作業量)が必要となってしまい、Javascript(登録商標)の機能の追加に柔軟に対応できないという問題があった。
また、Webブラウザは、不具合対応や、高速化、新しいアーキテクチャの実現等のために日々バージョンアップされており、それに伴い、装置に実装されるWebブラウザをバージョンアップしたい場合がある。そのたびにWebブラウザに対し、Javascript(登録商標)を解釈し実行するためのコードを実装し直すのでは、Webブラウザの変更に迅速に対応することができない。
そこで、このような装置に実装されたWebブラウザに対し、Webブラウザ自体を変更することなく、機能拡張に容易かつ迅速に対応できる装置の提供が望まれていた。
本発明は、上記課題に鑑み、独自のスクリプトをブラウザにハードコーディングで組み込むのではなく、そのスクリプトの実装をプラグインで実現し、そのプラグインをCOM(Component Object Model)インタフェースとして実装する。COMは、部品化されたプログラムを作成し、利用するための基盤となる技術仕様であり、COMインタフェースは、このCOMに基づきデータのやりとりができるプログラム部品である。このCOMインタフェースは、開発に使った言語やコンポーネントのある場所に寄らず、どの言語からでも、どこからでも利用することができるという特徴を有する。このため、ブラウザに依存することなく、プラグインを呼び出す環境が変わっても、プラグインを修正する必要がないという利点を有する。
プラグイン側からブラウザに対して処理を要求する場合、例えば、ダイアログの表示要求やページ内のスクリプト関数の実行要求等、ブラウザ側が変更されれば、プラグイン側もその要求を行う処理を変更しなければならない。これを解決するために、ブラウザへプラグインが処理を要求するためのインタフェースをライブラリとしてプラグインに提供する。これにより、ブラウザ側の処理の変更差異をライブラリにより吸収することができるため、ブラウザがバージョンアップ等により変更されても、プラグインの修正を行う必要がなくなる。
したがって、上記の課題は、これらの構成を実質的に採用する本発明の情報処理装置および画像形成装置を提供することにより解決することができる。
本発明の情報処理装置および印刷要求に応じて印刷処理を実行する画像形成装置は、マークアップ言語で記述された文書データを含むコンテンツデータを処理するデータ処理部を備える。そして、これらの装置は、そのデータ処理部が実行可能な定義済みスクリプト以外の1以上の未定義スクリプトを実行するために追加して実装された1以上のスクリプト実行部と、データ処理部が、検知したイベントを処理するために生成したスクリプトの実行要求が未定義スクリプトの実行要求である場合に、データ処理部から当該未定義スクリプトの実行要求を受け付け、当該未定義スクリプトの実行要求を1以上のスクリプト実行部へ順に送信して実行可能であるか否かを問い合わせ、実行可能な前記スクリプト実行部に当該未定義スクリプトを実行させるスクリプト実行管理部とを含む構成とされる。
上記のプラグインは、スクリプト実行管理部が管理するスクリプト実行部として容易に追加または削除することができ、機能拡張するために追加された未定義スクリプトであってもその実装したスクリプト実行部により実行することができる。
上記の1以上のスクリプト実行部は、階層構造を形成しており、その階層構造の上位のスクリプト実行部から下位のスクリプト実行部へ順に上記の未定義スクリプトの実行要求を送信して実行可能であるか否かを問い合わせ、実行可能な下位のスクリプト実行部に当該未定義のスクリプトを実行させるように構成される。このため、実行後、その下位のスクリプト実行部は、実行結果を上位のスクリプト実行部へ、上位のスクリプト実行部はスクリプト実行管理部へ、スクリプト実行管理部はデータ処理部へ通知する。
また、スクリプト実行部からのデータ処理部への処理要求を受けて呼び出され、当該処理要求に対応しデータ処理部が実行可能な実行要求を当該データ処理部へ送信するインタフェース部をさらに備える。これにより、データ処理部がバージョンアップ等により更新されたとしても、スクリプト実行部を対応させて更新する必要がなくなり、手間を省くことができる。
本発明では、情報処理装置および画像形成装置のほか、これらの装置により実行される情報処理方法、その方法を実行するためのコンピュータ可読なプログラム、そのプログラムが記録された記録媒体も提供することが可能である。
本発明の情報処理装置および画像形成装置を含むネットワーク環境を例示した図。 本発明の情報処理装置および画像形成装置のコンポーネント構成図。 独自のスクリプトを実行した場合の処理の流れを示したシーケンス図。 確認アラートを表示する処理の流れを示したシーケンス図。 装置の状態変化が起こった場合の処理の流れを示したシーケンス図。 スクリプトパーサで行われる処理の流れを示したフローチャート。 プラグインマネージャで行われる処理の流れを示したフローチャート。 プラグインマネージャとプラグインの各クラスとを含むクラス構成図。 オブジェクトの階層構造を例示した図。 ユーティリティが行うWebブラウザへの処理要求およびWebブラウザからの通知を受け付ける処理のプログラミング言語による記述例を示した図。
図1は、本発明の情報処理装置および画像形成装置を含むネットワーク環境を例示した図である。図1に示す情報処理装置は、PC100とされ、画像形成装置は、MFP(Multi Function Peripheral)110とされ、ネットワーク120にこれらのほか、外部サーバ130、140が接続されている。
PC100は、OSや各種アプリケーションを実行し、装置全体の制御や各種の演算処理を行うCPUを備える。例えば、CPUは、ネットワーク120を介した通信を行い、ユーザから入力を受け付け、表示装置に演算結果等を出力し、コンテンツ再生、リッピング、記憶装置へのデータ等の記憶、記憶装置からのデータ等の読み出し、データ等の管理を行う。
PC100は、上述した通信を行うために通信インタフェースを備え、また、ユーザからの入力を受け付けるために入力装置を備える。通信インタフェースは、LAN端子、モデム、無線LANを実現するためのアンテナおよび送受信機を含むことができる。入力装置としては、文字や数字を入力するためのキーボード、画面に表示されるカーソルの移動、ウィンドウやアイコン等の選択、ボタンの押下を実現するためのマウスのほか、指やスタイラス等を使用して画面上のカーソルの移動やアイコンの選択等を実現するタッチパネルを採用することができる。また、上述した表示装置として、液晶ディスプレイやCRT等を採用することができる。さらに、記憶装置として、ROM、RAM、HDD等を備えることができ、外部記憶装置としてのSDカード、CD−R、CD−RW、DVD−R、DVD−RW、DVD−RAM等に記憶するためにSDカードスロット、CDドライブ、DVDドライブ等を備えることができる。
そのほか、PC100は、音声を出力するためのスピーカ、AV機器や他の機器を接続するためのIEEE1394デバイスやUSBデバイス等を備えることができる。
MFP110は、PC100と同様、CPU、記憶装置としてのROM、RAM、HDD、表示装置、入力装置、通信インタフェース、スピーカ、IEEE1394デバイス、USBデバイス、SDカードスロット等を備える。MFP110は、表示装置および入力装置として、操作パネルを備え、入力装置として複数のキーを備える。
また、MFP110は、印刷、FAX送受信、コピー、画像読み取りを実現するために画像読み取り装置、プリンタを備えている。画像読み取り装置は、外光を遮断するためのカバーと、そのカバーの下の、原稿を載せるための透明なプラスチック製あるいはガラス製の原稿台と、原稿台の下から原稿台を通して光を照射する光源と、原稿に反射した光を受光し、電気信号に変換する撮像素子と、変換された電気信号がアナログ信号であるため、このアナログ信号をデジタル信号へ変換するためのADコンバータとを備えている。
ここでは、反射型の画像読み取り装置の構成について説明したが、画像読み取り装置は透過型であってもよく、透過型の場合、光源がカバーに設けられ、カバー側から光を照射し、原稿および原稿台を透過した光を撮像素子により受光することができる。なお、撮像素子は、CCDイメージセンサやCMOSイメージセンサ等を採用することができ、原稿台を通した光は、直接に撮像素子に受光されるもののほか、1または複数のミラーにより反射されてから、イメージセンサに入射される構成であってもよい。
MFP110で採用されるプリンタは、レーザプリンタとすることができ、PC100から送られてきた印刷イメージデータを、MFP110が備えるCPUによりメモリ上に展開し、そのイメージを、レーザを用いて形成する。すなわち、このプリンタは、印刷イメージデータを基に書き込み光としてのレーザを照射する露光装置と、レーザが照射されることにより表面にそのイメージと同様の潜像が形成される感光体と、その感光体を、レーザが照射される前に帯電させる帯電ユニットと、潜像が形成された感光体にトナーを付着させ、現像する現像ユニットと、紙を給紙する給紙ユニットと、感光体の回転により表面に形成されたトナー像を、給紙された紙上に転写させる転写ユニットと、紙上に転写されたトナー像を、熱および圧力を加えて紙に定着させる定着ユニットと、トナー像が定着された紙を排紙する排紙ユニットとを備えている。
プリンタは、そのほか、感光体上に残ったトナーを除去するためのクリーニングユニット、紙を所定の方向へ搬送するための複数のローラ等を備えることができる。
MFP110は、原稿を自動で原稿台上へ搬送するために原稿自動送り装置(ADF)、高速な画像処理が必要であることから、画像処理専用の回路であるASIC等をさらに備えることができる。
MFP110は、原稿を読み取る場合は、上記の画像読み取り装置を使用して原稿を読み取ることができる。また、印刷する場合は、送られてきた印刷データに基づき、上記プリンタにより感光体の表面にレーザで潜像を形成し、それを現像し、紙に転写および定着させることにより、印刷することができる。コピーの場合は、画像読み取り装置を使用して原稿を読み取り、その読み取ったデータに基づきプリンタにより印刷出力することができる。
FAX送信する場合は、画像読み取り装置により原稿を二次元情報である線あるいは点に分解して読み取り、モデムを利用してデジタル変調し、電話網等の通信回線へと送出することができる。一方、FAX受信する場合は、通信回線を介して送信された信号を、モデムを利用して復調し、原稿を復元することができる。
なお、画像読み取り装置で読み取ったデータ、そのデータを圧縮、変換等した後のデータ、FAX受信したデータは、メモリ等の記憶装置に記憶することができる。
ネットワーク120は、社内等の限られた範囲で構築されるイントラネット、範囲が限定されないインターネットを挙げることができる。外部サーバ130、140は、上述したPC100と同様、CPU、記憶装置、通信インタフェースを備える構成とされ、表示装置、入力装置を備えていてもよい。
外部サーバ130、140は、マークアップ言語で記述された文書データを含むコンテンツデータを提供する。ここで、マークアップ言語とは、文章の段落やフォントサイズ等の指定や、画像や他の文書へのリンクをタグと呼ばれる文字列を使用して記述する記述言語である。このマークアップ言語としては、HTML(Hyper Text Markup Language)等が使用される。このHTMLにより記述されるHTMLファイルを含むコンテンツデータにWebページがある。外部サーバ130、140は、PC100やMFP110からの要求に応答して、このWebページを提供することができる。PC100やMFP110は、このWebページの閲覧を外部サーバ130、140へ要求し、Webページの提供を受けるためにWebブラウザが実装される。
PC100およびMFP110は、Webブラウザから外部サーバ130、140へWebページを要求し、外部サーバ130、140から送信されたWebページのHTMLファイルを解釈し、ブラウザ画面上にWebページの内容を表示することができる。外部サーバ130、140は、Webブラウザからの要求に応答するため、アプリケーションソフトウェアとして、Webサーバを実装する。
PC100およびMFP110が実装するWebブラウザと、外部サーバ130、140が実装するWebサーバとの間の通信は、HTTP(Hypertext Transfer Protocol)を通信プロトコルとして使用し、HTMLファイルを含むコンテンツデータの送受信が行われる。
なお、PC100およびMFP110は、アプリケーションソフトウェアとしてのWebブラウザを動作させるために、入出力機能やメモリの管理等、アプリケーションソフトウェアから共通して利用される基本的な機能を提供し、装置全体を管理する基本的なソフトウェアであるOS(Operating System)を実装する。
MFP110においては、アプリケーションソフトウェアとしてそのほか、印刷ジョブを実行させるプリンタアプリ、コピージョブを実行させるコピーアプリ、ファックス送受信ジョブを実行させるファックスアプリ、スキャンジョブを実行させるスキャナアプリを備える。これらのアプリとOSとの間のインタフェースとして、API(Application Programming Interface)、Java(登録商標)仮想マシン(JVM)等を備えることができる。APIは、プリンタアプリ等のアプリケーションプログラムを記述する際、OSの機能を呼び出すためのインタフェースであり、JVMは、Java(登録商標)バイトコードをOS上で動作可能なネイティブコードに変換して実行するものである。このため、JVMを実装する場合、アプリケーションソフトウェアは、Java(登録商標)のバイトコードによって実装されたものとすることができる。
図2は、図1に示す情報処理装置および画像形成装置のコンポーネント構成図である。これらの装置は、コンポーネントとして、Webブラウザ200、プラグインマネージャ210、プラグイン220、ユーティリティ230、デバイスSDK240を備えている。また、Webブラウザ200は、イベントプロセス201、UI202、スクリプトパーサ203を備えている。
このWebブラウザ200は、CPUにより実行され、コンテンツデータをWebサーバに対して要求し、Webサーバから提供されたコンテンツデータを表示する等のデータ処理を行うことから、CPUにより実行されてデータ処理部として機能する。また、プラグインマネージャ210、プラグイン220、ユーティリティ230、デバイスSDK240も同様に、CPUにより実行され、各々の処理を行うことから、CPUにより実行されてスクリプト実行管理部、スクリプト実行部、インタフェース部、デバイス制御部としてそれぞれ機能する。実際の処理は、これらデータ処理部、スクリプト実行管理部、スクリプト実行部、インタフェース部、デバイス制御部が実行するが、説明を容易にし、内容の理解をしやすくするために、以下、Webブラウザ200、プラグインマネージャ210、プラグイン220、ユーティリティ230、デバイスSDK240の用語を用いて説明する。
Webブラウザ200は、一定の書式によりコンテンツデータを指し示す識別子であるURI(Uniform Resource Identifier)やHTTPに基づき、外部サーバ130、140に実装されるWebサーバと通信し、目的のコンテンツデータを取得し、その取得したコンテンツデータを、種類に応じて解析し、その解析結果を基に、テキストや画像等を適切な位置に配置したり、文字サイズを調整したり、色を付ける等して表示する。
UI202は、Webブラウザ200において、ユーザからのデータ取得の指示を入力として受け付け、また、取得したコンテンツデータに含まれる文字や画像等を適切な位置に配置し、文字調整等されたものの表示を行う。Webブラウザ200は、このコンテンツデータに含まれるHTML文書を解析し、UI202に対しレイアウト指示を行うために、図示しないHTMLパーサを備えることができる。
イベントプロセス201は、ユーザ入力等により発生するイベントを処理する。また、イベントプロセス201は、Webブラウザ200の機能拡張のためにハードコーディングにより記述されたWebブラウザ200に予め定義されている定義済みスクリプト、例えば、任意の入力キーが押下された場合に実行されるスクリプト等のほか、装置に設定されている値の取得や値の設定を行うためのスクリプト、セキュリティや重要な処理に関するスクリプト等のWebブラウザ200に予め定義されていないスクリプト、すなわち機能拡張のために独自に作成され、装置に追加されたスクリプトや変更されたスクリプトの実行要求を、それらの検知したイベントを処理するために生成し、スクリプトパーサ203へ送る。
スクリプトは、操作対象となるオブジェクトについての性質や設定に関する付加情報としての属性と、そのオブジェクトに対する操作を規定するメソッドとを含んで構成される。このため、Webブラウザ200に定義されていない未定義スクリプトとしては、この属性やメソッドの追加や変更したものが挙げられる。未定義スクリプトを実行するためには、そのスクリプトを解釈し実行するコードが必要となるが、そのコードが、機能を追加するためのプログラムであるプラグイン220として提供され、装置にプラグイン220として実装される。
イベントプロセス201は、ユーザからの値の取得、設定、キー入力等を受け付けた場合、また、セキュリティ上や処理の種類に応じて確認アラート(警告や注意)を表示する必要がある場合等、イベントが発生した場合に、そのイベントに対応するスクリプトの実行要求を生成し、それをスクリプトパーサ203へ送る。例えば、ユーザが任意の値を設定する場合であれば、ユーザによる値の入力によりイベントが発生し、そのイベント発生を受けてその値を含む設定要求を生成し、それをスクリプトパーサ203へ送る。
イベントプロセス201からスクリプトの実行要求を受け付けると、スクリプトパーサ203は、そのスクリプトの実行要求がWebブラウザ200に定義されているものであるか、未定義のものであるかを判断する。その実行要求で要求される処理がスクリプト言語によりハードコーディングされていて、既に定義されているものである場合、スクリプトパーサ203は、その要求がその処理を要求するものと解釈し、その処理を実行することができる。しかしながら、未定義スクリプトの実行要求である場合、スクリプトパーサ203は、それを解釈し、実行するコードが存在しないため、解釈および実行することはできず、プラグインマネージャ210へそのスクリプトの実行を要求する。
プラグインマネージャ210は、未定義スクリプトを実行するためのプラグイン220を複数管理しており、スクリプトパーサ203から受け付けたスクリプト実行要求を基に、そのスクリプトに対応するプラグイン、すなわちそのスクリプトを実行することができるプラグインを探し、その対応するプラグインへそのスクリプトの実行を要求する。
プラグイン220は、プラグインの開発言語に依存せず、プラグインを呼び出す環境が変わっても利用可能にするために、COM(Component Object Model)インタフェースとして実装される。これにより、プラグインを修正する必要がなくなり、様々なプログラミング言語でプラグインの開発を行うことが可能とされる。また、実装の際、プラグインマネージャ210に管理されるように、プラグイン220を識別するための識別情報がプラグインマネージャ210に登録される。
プラグイン220は、装置のリソースにアクセスするために、デバイスSDK240を呼び出す。なお、デバイスSDK240は、メモリに記憶されている値の取得やその設定、入力キーの押下の検知等を行うものである。
プラグイン220は、Webブラウザ200に対し、画面表示等の処理を要求するために、Webブラウザ200から提供されたユーティリティ230を呼び出す。ユーティリティ230は、プラグイン220がWebブラウザ200へ処理を要求するためのインタフェースであって、ライブラリとして実装される。このインタフェースは、様々なプログラムから利用できるように部品化した複数のプログラム部品からなるライブラリであることから、複数のプラグインから利用可能とされる。これにより、プラグイン220から要求されたユーティリティ230は、その要求された処理を、Webブラウザ200がバージョンアップ等され、更新されたとしても、更新後のWebブラウザ200へ適切に通知することができる。
Webブラウザ200では、その通知をイベントプロセス201が受け付け、UI202に対し、所望の表示を指示することができる。
ユーザは、自己が保有あるいは管理するPCやMFPに対し、装置固有の動作をさせたい場合がある。例えば、上記のようにスクリプトとしてのJavascript(登録商標)から装置のログインユーザ名やシリアルナンバーを取得し、それに応じた任意の処理を行う場合や、Javascript(登録商標)の実行により読み取りや印刷を行う場合等である。本発明の装置では、未定義スクリプトをプラグイン220という形で容易に追加し、実装することができるため、Webブラウザ200についてその未定義スクリプトを解釈し実行するコードを実装し直す必要がなく、Webブラウザ200のバージョンアップ等の変更に迅速に対応することができる。
Webブラウザ200にスクリプトの属性やメソッドを追加する場合、その追加したWebブラウザ200に定義されていない未定義スクリプトをプラグイン220として実装するが、複数のアプリケーションソフトウェアが共通して利用するために部品化されたDLL(Dynamic Link Library)ファイルとして実装することができる。
以下、上記の未定義スクリプトをプラグインとして実装した情報処理装置あるいは画像形成装置が行う処理について、図面を参照しながら詳細に説明する。図3は、その装置がある値を取得あるいは設定する処理の基本的な流れを示したシーケンス図である。取得する値としては、システム情報やステータス情報としての各値やパラメータ等を挙げることができる。また、装置への値の設定については、それらの値やパラメータの設定を挙げることができる。実行するスクリプト関数の設定であってもよい。なお、この値の取得あるいは設定する処理は未定義スクリプトを実行することにより実現される処理である。
まず、Webブラウザ200のイベントプロセス201は、ユーザから値の取得あるいは設定の要求を受け付けると、その処理を実現するために未定義スクリプトの実行要求を生成し、その実行要求をスクリプトパーサ203に送る。スクリプトパーサ203は、それを受け取ると、そのスクリプトがWebブラウザ200に定義されているか否かを判断する。ここではこのスクリプトはWebブラウザ200に定義されていないため、スクリプトパーサ203は、未定義スクリプトと判断し、プラグインマネージャ210へそのスクリプトの実行を要求する。プラグインマネージャ210は、そのスクリプトに対応するプラグイン220を探し、そのプラグイン220に対してその実行を要求する。プラグイン220は、その実行要求を受け付けると、デバイスSDK240に対し、そのスクリプトにより要求された値の取得や設定を要求する。
図4は、未定義スクリプトを実行する処理の一例として、確認アラートを表示する処理を実行する処理の流れを示したシーケンス図である。この確認アラート(警告や注意)は、例えば、セキュリティや重要な処理に関係するスクリプトの実行を行う前に表示することができる。
イベントプロセス201は、セキュリティや重要な処理の実行の要求を受け付けたことに応答して、その処理を実現するためにスクリプトの実行要求を生成し、この実行要求をスクリプトパーサ203へ送る。スクリプトパーサ203は、受け取った実行要求から、実行対象のスクリプトがWebブラウザ200に定義されているか否かを判断する。このスクリプトは定義されていないので、スクリプトパーサ203は、未定義スクリプトと判断し、プラグインマネージャ210にその実行を要求する。プラグインマネージャ210は、そのスクリプトに対応するプラグイン220を探し、そのプラグイン220に対し実行を要求する。
このスクリプトは、まず、Webブラウザ200において確認アラートを表示する処理を実行することから、プラグイン220は、ユーティリティ230に対し、確認アラートの表示を要求する。ユーティリティ230は、この要求を受け付け、Webブラウザ200が実行できる実行要求へ変換し、Webブラウザ200のイベントプロセス201に対し、その実行要求を送信し、確認アラートの表示を要求する。イベントプロセス201は、その実行要求を受信し、UI202に確認アラートの表示を指示し、表示させる。
UI202は、その指示に従い、「警告」あるいは「注意」等のメッセージを含む文字列、「OK」および「キャンセル」ボタン等を表示する。これにより、ユーザに対し、ボタンの押下を促す。UI202は、ユーザからの「OK」ボタンの押下または「キャンセル」ボタンの押下を検知すると、イベントプロセス201に押下されたボタンの種類を通知する。イベントプロセス201は、その情報を受け付け、ユーティリティ230に対し、そのボタンの種類を通知し、ユーティリティ230は、プラグイン220に対し、そのボタンの種類を通知する。
この通知を受けて、プラグイン220は、ユーティリティ230に確認アラートを表示する処理の終了を要求する。そして、プラグイン220は、押下されたボタンが「キャンセル」ボタンである場合は処理を中止し、「OK」ボタンである場合は上述したセキュリティや重要な処理に関係するスクリプトの実行を開始し、デバイスSDK240に対して処理を要求する。
図5は、未定義スクリプトを実行する処理の別の例として、上記装置の状態変化によるスクリプトを実行する処理の流れを示したシーケンス図である。例えば、ユーザがキーを押下することにより任意のスクリプトを実行する場合である。
この場合、デバイスSDK240は、装置の状態変化による任意のスクリプト関数を実行するために、Webブラウザ200にその処理を要求するプラグイン220へ装置の状態変化(ここでは、キーの押下)があったことを通知する。この状態変化を通知する処理は、プラグイン220が予めデバイスSDK240に対し、キーの操作があった場合に通知するよう要求しておくことで実現できる。なお、実行するスクリプト関数は、未定義スクリプトの実行により、図3に示したシーケンスに基づき設定されるものとすることができる。
通知を受けたプラグイン220は、ユーティリティ230に対し、任意のスクリプト関数の実行を要求する。ユーティリティ230は、Webブラウザ200で実行できる実行要求に変換し、その実行要求をイベントプロセス201へ送る。イベントプロセス201は、その実行要求を受け付け、スクリプトパーサ203に対し、そのスクリプト関数の実行を要求する。
スクリプトパーサ203は、その実行要求を解釈し、その任意のスクリプト関数が、図3に示したシーケンスに基づき設定されていることから、定義済みスクリプトであり、その定義済みスクリプトを実行することができる。なお、その処理結果は、イベントプロセス201を介してUI202に表示することができる。
図6は、スクリプトパーサ203が行う処理の流れを示したフローチャートである。この処理は、ステップ600から開始し、まず、スクリプトパーサ203は、ステップ610において、イベントプロセス201からスクリプトの実行要求を受け付ける。次に、ステップ620において、スクリプトパーサ203は、実行要求されたスクリプトがWebブラウザ200に定義されているスクリプトであるか否かを判断する。具体的には、スクリプトパーサ203がそのスクリプトを解釈し、実行することができるか否かにより判断する。定義されているスクリプトである場合、ステップ630へ進み、そのスクリプトを実行し、その後、ステップ660へ進み、その実行を要求したイベントプロセス201に処理の結果として返す戻り値を設定し、ステップ680でこの処理を終了する。この場合の戻り値としては、処理結果のほか、処理が正しく終了したことを示す値を含むことができる。
一方、定義されていないと判断すると、ステップ640へ進み、スクリプトパーサ203は、プラグインマネージャ210に対し、その未定義スクリプトの実行を要求する。スクリプトパーサ203は、その実行要求を送った後、ステップ650で、プラグインマネージャ210から処理の結果として何らかの値を戻り値として受け取る。プラグインマネージャ210は、そのスクリプトに対応するプラグイン220を探し、対応するプラグイン220が見つからない場合、未定義応答を返し、その他の場合は実行応答として任意の値を返す。したがって、スクリプトパーサ203は、いずれかの値を受け取り、いずれであるか判断する。
その値が任意の値である場合、ステップ660へ進み、イベントプロセス201へ返す戻り値を設定し、戻り値が未定義応答である場合、ステップ670へ進み、未定義応答として返された「undefined」を設定し、いずれもステップ680でこの処理を終了する。
図7は、プラグインマネージャ210が行う処理の流れを示したフローチャートである。この処理は、ステップ700から開始し、ステップ710で、プラグインマネージャ210は、スクリプトパーサ203からスクリプトの実行要求を受け取り、実行要求されたスクリプトに対応するプラグイン220が見つかるまで、プラグインマネージャ210が管理する複数のプラグインの各々に対し、順に、スクリプトの実行を要求する。プラグインマネージャ210は、複数のプラグイン220の1つ1つに実行要求を送り、プラグイン220からその実行要求に対する応答を受ける。ステップ720において、プラグインマネージャ210は、その応答が実行応答であるか否かを判断し、実行応答であれば、ステップ740へ進み、この処理を終了する。その後の処理は、プラグイン220で行われるからである。
実行応答でない場合、対応するプラグイン220ではないことを示すため、ステップ730へ進み、次のプラグイン220が存在するかを判断する。すなわち、自己が管理するプラグイン220のすべてに対し、スクリプトの実行を要求したかを判断する。まだ要求していないプラグイン220がある場合は、そのプラグインへ要求するために、ステップ710へ戻る。
一方、すべてのプラグイン220に対し要求した場合は、次に要求するプラグイン220が存在しないため、ステップ740へ進み、この処理を終了する。具体的にどのようにして対応するプラグイン220を探すかについては後述する。
図8は、プラグインマネージャ210およびプラグイン220のクラス構成図の例を示したものである。図8に示す「PluginManager」は、プラグインマネージャ210であり、「Device」、「Scan」、「Print」は、プラグイン220によって提供され、図9に示す未定義スクリプトのオブジェクトに対応するものである。このオブジェクトは、COMオブジェクトである。
プラグインマネージャ210およびプラグイン220に対応するクラスは、すべてあらゆるCOMインタフェースを呼び出し可能なように設計されたIDispachインタフェースを継承しており、COMによるアクセスが可能とされている。ここで、クラスは、オブジェクトを定義するモデルであり、継承は、クラスの定義を他のクラスに受け継がせることをいう。したがって、図8の矢線で示すように、「PluginManager」、「Device」、「Scan」、「Print」のいずれのオブジェクトも、「IDispatch」で示されたIDispatchインタフェースにアクセスすることができ、あらゆるCOMインタフェースを呼び出すことが可能である。
未定義スクリプトのオブジェクトに対応する上記のオブジェクトは、図9に示されるような階層構造の上位のオブジェクトからIDispatch::invoke()というメソッドにより呼び出され、要求された処理(呼び出されたオブジェクトのメソッドまたは属性アクセス)の結果を呼び出し元に返す。このIDispatch::invoke()は、呼び出すメソッドを識別するための情報と、その呼び出すメソッドに渡す情報とを指定するように構成されており、指定された情報をIDispatchインタフェースを介してCOMインタフェースへ送る。COMインタフェースは、COMオブジェクトの1つのまとまった機能を提供するための複数のメソッドがプログラムコードとして格納されているメモリ上のアドレスを指定するポインタを保持している。このため、COMインタフェースは、上記の指定された情報のうち、呼び出すメソッドを識別するための情報に基づきメソッドを呼び出し、そのメソッドへ渡すべき情報を送り、処理させることができる。処理結果は、COMインタフェースを介して呼び出し元に返すことができる。
ここで、未定義スクリプトの実行として集約印刷を行う場合について説明する。スクリプトは、例えば「device.print.layout=2up」のように記述されたものであり、この装置では、このスクリプトを以下のようにして処理する。
スクリプトパーサ203は、このスクリプトを含むスクリプトの実行要求をイベントプロセス201から受け取ると、このスクリプトを解釈し、定義されていないスクリプトであるため、未定義スクリプトと判断して、図9に示す最上位のPluginManagerクラスに対して「device.print.layout」に「2up」を設定するように要求する。PluginManagerクラスは、図9に示す実施形態では「window」と示されている。このPluginManagerクラスは、実際には上述したようにIDispatch::invoke()によりIDispatchインタフェースを介してCOMインタフェースへアクセスし、COMインタフェースがその下位に属するクラスのオブジェクトへアクセスすることになるが、ここではその処理についての説明は省略する。したがって、PluginManagerクラスは、その下位に属するクラス中からDeviceクラスを探し、Deviceクラスのオブジェクトに対し、「print.layout」に「2up」を設定するように要求する。
次に、Deviceクラスのオブジェクトは、図9に示す「Device」の下位に属するクラスの中からPrintクラスを探し、Printクラスのオブジェクトに対し、「layout」に「2up」を設定するように要求する。
PluginManagerクラスがDeviceクラスを参照するためにはオブジェクトを識別するための識別情報が必要となるが、識別情報としてプログラムIDを付与し、プラグイン220のインストール、アップデート、アンインストールの際、HDD等の記憶装置に記憶される設定ファイルにこのプログラムIDを記録することで、プラグインマネージャ210とプラグイン220とを関連付けることができる。
このように複数のプラグイン220の管理を容易にするために、複数のプラグイン220が対応するオブジェクトとして階層構造を形成し、その階層構造の上位のオブジェクトから下位のオブジェクトへと順に未定義スクリプトの実行要求を送信して実行可能であるか否かを問い合わせ、実行可能な下位のオブジェクトに未定義のスクリプトを実行させることができる。また、その実行後、その下位のオブジェクトは、実行結果を上位のオブジェクトへ送り、上位のオブジェクトはプラグインマネージャ210へ送り、プラグインマネージャ210は、Webブラウザ200へ通知することにより、Webブラウザ200がそのスクリプトの実行要求が処理されたことを知ることができる。
図10は、ユーティリティ230が実装するWebブラウザ200とプラグイン220との間のインタフェースをプログラミング言語で記述したものを例示した図である。図10(a)は、Webブラウザ200への処理要求を記述した例で、「//」は、それ以降の1行がコメントとして扱われ、この処理がWebブラウザへ要求するものであることを示している。また、「command」は、ダイアログ表示要求等の要求の種類を示し、「args」は、ダイアログに表示するメッセージやボタンの文字列等の要求毎に異なる引数を示している。ここで、引数とは、関数やメソッドを呼び出す際にその関数やメソッドに渡す値である。
図10(a)の例では、即座にイベントを送信して所定のメッセージおよびボタンを含むダイアログを表示させ、イベントが処理されたときは戻り値として「true」が、処理されないときは「false」が返されるようになっている。これは、SendEventリクエストが送られてきた場合に実行されるため、プラグイン220は、このリクエストを送信することで、Webブラウザ200が更新されたか否かに関係なく、Webブラウザ200に対しダイアログ表示を行わせることができる。
図10(b)は、Webブラウザ200からの通知を受け付ける処理を記述したものを例示した図である。図10(b)では、Webブラウザ200と連携するために、呼び出すコールバック関数を、関数ポインタ型名(CALLBACK_FUNC)と引数(ID)とを用いて定義している。図10(b)に示す例では、引数として左ボタンが押下された場合のイベントIDと、右ボタンが押下された場合のイベントIDとを渡し、いずれのボタンが押下されたかの通知を受けることが可能とされている。
その通知を受けるために、事前に、呼び出すべきコールバック関数の登録を行う必要がある。そのための登録処理が記述されている。この登録処理では、コールバック関数のポインタを追加し、その処理が行われたときは戻り値として「true」が、行われないときは「false」が返されるようになっている。
ボタンが押下された通知を受けた後は、さらなる通知は不要である。そこで、その通知を停止するためにコールバック関数のポインタを削除する処理が記述されている。この処理では、上記の通知を受けた後、その通知に使用したコールバック関数のポインタを削除し、その処理が行われたときは戻り値として「true」が、行われないときは「false」が返されるようになっている。
これも、プラグイン220からのリクエストにより、Webブラウザ200が更新されたか否かに関係なく、コールバック関数の登録・解除を行うことができる。
これまで説明してきた情報処理装置および画像形成装置が行う処理についてまとめると以下のようになる。これら装置は、マークアップ言語で記述された文書データを含むコンテンツデータを処理するためのWebブラウザ200を実装する。Webブラウザ200は、検知したイベントを処理するためにスクリプトの実行要求を生成し、その実行要求が定義済みスクリプトの実行要求であるか否かを判定する。
定義済みスクリプトの場合は、スクリプトパーサ203において実行し、定義済みスクリプトでないと判定された場合は、プラグインマネージャ210へその未定義スクリプトの実行要求を送信する。
プラグインマネージャ210は、その未定義スクリプトの実行要求を、機能拡張のために追加して実装された1以上のプラグイン220へ順に送り、実行可能であるか否かを問い合わせる。そして、それらのプラグイン220の中から、その未定義スクリプトを実行できるプラグイン220を見つけ出し、そのプラグイン220にその未定義スクリプトを実行させる。
プラグイン220は、階層構造を形成しており、階層構造の上位のプラグインから下位のプラグインへ順に未定義スクリプトの実行要求を送って実行可能であるか否かを問い合わせ、実行可能な下位のプラグインにその未定義のスクリプトを実行させることができる。
また、プラグイン220からのWebブラウザ200への処理要求を受けて呼び出されるユーティリティ230は、その処理要求に対応しWebブラウザ200が実行可能な実行要求をそのWebブラウザ200へ送り、Webブラウザ200に処理させることができる。
本発明では、これらの各処理ステップを含む情報処理方法を提供することができ、また、その方法を実行するためのコンピュータ可読なプログラムや、そのプログラムが記録されたFD、CD、DVD、SDカード等の記録媒体を提供することも可能である。これまで本発明を上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
100…PC、110…MFP、120…ネットワーク、130、140…外部サーバ、200…Webブラウザ、201…イベントプロセス、202…UI、203…スクリプトパーサ、210…プラグインマネージャ、220…プラグイン、230…ユーティリティ、240…デバイスSDK
特開2009−009597号公報

Claims (8)

  1. マークアップ言語で記述された文書データを含むコンテンツデータを処理するデータ処理部を備える情報処理装置であって、
    前記データ処理部が実行可能な定義済みスクリプト以外の1以上の未定義スクリプトを実行するために追加して実装された1以上のスクリプト実行部と、
    前記データ処理部が検知したイベントを処理するために生成したスクリプトの実行要求が前記未定義スクリプトの実行要求である場合に、前記データ処理部から当該未定義スクリプトの実行要求を受け付け、当該未定義スクリプトの実行要求を前記1以上のスクリプト実行部へ順に送信して実行可能であるか否かを問い合わせ、実行可能な前記スクリプト実行部に当該未定義スクリプトを実行させるスクリプト実行管理部とを含み、
    前記1以上のスクリプト実行部は、階層構造を形成し、前記階層構造の上位のスクリプト実行部から下位のスクリプト実行部へ順に前記未定義スクリプトの実行要求を送信して実行可能であるか否かを問い合わせ、実行可能な前記下位のスクリプト実行部に当該未定義のスクリプトを実行させる情報処理装置。
  2. 前記スクリプト実行部からの前記データ処理部への処理要求を受けて呼び出され、前記処理要求に対応し前記データ処理部が実行可能な実行要求を当該データ処理部へ送信するインタフェース部をさらに備える、請求項に記載の情報処理装置。
  3. マークアップ言語で記述された文書データを含むコンテンツデータを処理するデータ処理部を備え、印刷要求に応じて印刷処理を実行する画像形成装置であって、
    前記データ処理部が実行可能な定義済みスクリプト以外の1以上の未定義スクリプトを実行するために追加して実装された1以上のスクリプト実行部と、
    前記データ処理部が検知したイベントを処理するために生成したスクリプトの実行要求が前記未定義スクリプトの実行要求である場合に、前記データ処理部から当該未定義スクリプトの実行要求を受け付け、当該未定義スクリプトの実行要求を前記1以上のスクリプト実行部へ順に送信して実行可能であるか否かを問い合わせ、実行可能な前記スクリプト実行部に当該未定義スクリプトを実行させるスクリプト実行管理部とを含み、
    前記1以上のスクリプト実行部は、階層構造を形成しており、前記階層構造の上位のスクリプト実行部から下位のスクリプト実行部へ順に前記未定義スクリプトの実行要求を送信して実行可能であるか否かを問い合わせ、実行可能な前記下位のスクリプト実行部に当該未定義のスクリプトを実行させる画像形成装置。
  4. 前記スクリプト実行部からの前記データ処理部への処理要求を受けて呼び出され、前記処理要求に対応し前記データ処理部が実行可能な実行要求を当該データ処理部へ送信するインタフェース部をさらに備える、請求項に記載の画像形成装置。
  5. マークアップ言語で記述された文書データを含むコンテンツデータを処理するデータ処理部を備える情報処理装置または画像形成装置により実行される情報処理方法であって、
    前記データ処理部が、検知したイベントを処理するために生成したスクリプトの実行要求が実行可能な定義済みスクリプトの実行要求であるか否かを判定するステップと、
    前記定義済みスクリプトでないと判定された場合に、前記情報処理装置または画像形成装置が備えるスクリプト実行管理部へ当該定義済みスクリプトでない未定義スクリプトの実行要求を送信するステップと、
    前記スクリプト実行管理部が、前記未定義スクリプトの実行要求を、1以上の未定義スクリプトを実行するために追加して実装された1以上のスクリプト実行部へ順に送信して実行可能であるか否かを問い合わせ、実行可能な前記スクリプト実行部に当該未定義スクリプトを実行させるステップとを含み、
    前記1以上のスクリプト実行部は、階層構造を形成しており、前記未定義スクリプトを実行させるステップでは、前記階層構造の上位のスクリプト実行部から下位のスクリプト実行部へ順に前記未定義スクリプトの実行要求を送信して実行可能であるか否かを問い合わせ、実行可能な前記下位のスクリプト実行部に当該未定義のスクリプトを実行させる情報処理方法。
  6. 前記スクリプト実行部からの前記データ処理部への処理要求を受けて呼び出されるインタフェース部が、前記処理要求に対応し前記データ処理部が実行可能な実行要求を当該データ処理部へ送信するステップをさらに含む、請求項に記載の情報処理方法。
  7. 請求項5または6に記載の情報処理方法をコンピュータに実行させるためのプログラム。
  8. 請求項に記載のプログラムが記録された記録媒体。
JP2010110001A 2010-05-12 2010-05-12 情報処理装置、画像形成装置、情報処理方法、プログラムおよび記録媒体 Expired - Fee Related JP5464038B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010110001A JP5464038B2 (ja) 2010-05-12 2010-05-12 情報処理装置、画像形成装置、情報処理方法、プログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010110001A JP5464038B2 (ja) 2010-05-12 2010-05-12 情報処理装置、画像形成装置、情報処理方法、プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2011238091A JP2011238091A (ja) 2011-11-24
JP5464038B2 true JP5464038B2 (ja) 2014-04-09

Family

ID=45325987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010110001A Expired - Fee Related JP5464038B2 (ja) 2010-05-12 2010-05-12 情報処理装置、画像形成装置、情報処理方法、プログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP5464038B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609267B (zh) * 2012-02-16 2015-02-18 深圳市酷开网络科技有限公司 基于安卓浏览器的插件管理方法及系统
CN104375849B (zh) * 2013-08-15 2019-01-11 腾讯科技(深圳)有限公司 加载内核的方法及装置
CN108170688B (zh) * 2016-12-06 2023-10-31 北京奇虎科技有限公司 自动化录入数据的方法及装置
JP7478633B2 (ja) 2020-09-15 2024-05-07 シャープ株式会社 画像処理装置および画像処理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09134291A (ja) * 1995-11-09 1997-05-20 Fujitsu Kansai Commun Syst Ltd 分散アプリケーションプログラム実行システムおよび分散アプリケーションプログラム実行方法
US7039673B1 (en) * 1998-12-24 2006-05-02 Computer Associates Think, Inc. Method and apparatus for dynamic command extensibility in an intelligent agent
EP1164482B1 (en) * 2000-06-16 2008-10-22 Microsoft Corporation System and method for interactive communication between objects in a distributed computing environment
KR101185111B1 (ko) * 2008-01-11 2012-09-21 엔에이치엔(주) 웹 런칭 시스템 및 방법
JP4956509B2 (ja) * 2008-08-18 2012-06-20 キヤノン株式会社 画像処理装置およびその制御方法

Also Published As

Publication number Publication date
JP2011238091A (ja) 2011-11-24

Similar Documents

Publication Publication Date Title
JP5159711B2 (ja) 組込み機器およびその状態表示制御方法
JP5447030B2 (ja) 電子機器、情報処理方法、及び情報処理プログラム
KR101456624B1 (ko) 화상형성장치, 및 웹 어플리케이션 설치 방법
JP5884542B2 (ja) 機器、情報処理システム、情報処理方法、及び情報処理プログラム
US8488135B2 (en) Easy modification to method of controlling applications in image forming apparatus
US8982386B2 (en) Device, charging method, and system
JP5440252B2 (ja) 情報処理装置、外部装置、情報処理システム、情報処理方法、及びプログラム
JP2004318842A (ja) Webページ生成装置、組み込み装置、Webページ生成の制御方法、Webページ生成プログラム及び記録媒体
JP5458708B2 (ja) 画像処理装置、表示制御方法、及び表示制御プログラム
JP6295563B2 (ja) 情報処理システム、機器、情報処理方法、及び情報処理プログラム
US20130219260A1 (en) Instrument, information processing system, and information processing method
JP5464038B2 (ja) 情報処理装置、画像形成装置、情報処理方法、プログラムおよび記録媒体
JP2011086142A (ja) 画像形成装置及びプログラム操作方法
JP2004303218A (ja) 情報提供装置及び情報表示装置
JP2010128802A (ja) 情報処理装置、Webサーバ装置、Webページ更新方法、及びプログラム
JP2013168129A (ja) 情報処理システム、データ提供装置、電子機器、情報処理方法、データ提供方法、データ取得方法、及びプログラム
JP6772578B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP2011141684A (ja) 画像形成装置、サービス提供方法、プログラム、記憶媒体
JP2002251261A (ja) 画像出力装置および情報処理装置およびデータ処理方法および記憶媒体
JP6819386B2 (ja) 画像処理装置、システムおよび情報処理方法
JP5630556B2 (ja) 情報処理装置、外部装置、情報処理システム、情報処理方法、及びプログラム
JP2012135907A (ja) 画像形成装置、情報処理方法、及び情報処理プログラム
JP2013196370A (ja) 情報処理装置、情報処理システム、Webページ生成方法、及びプログラム
JP2020108021A (ja) 情報処理装置およびプログラム
JP5732883B2 (ja) 画像形成装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131022

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140106

LAPS Cancellation because of no payment of annual fees