(57)【要約】【課題】同じ周辺装置であっても、その使用形態などにより頻繁に利用される処理項目は異なる。従って機器ごとに操作インタフェースをカスタマイズすることが出来れば非常に便利である。しかし、従来はあらかじめ装置に用意されたプログラムで処理を行うように構成されているため、ユーザによるカスタマイズを行うことは難しかった。本発明では、ユーザによる操作インタフェースのカスタマイズを容易に行えるようにすることを目的とする。【解決手段】本発明の装置はネットワーク接続手段、Ｗｅｂサーバ手段、インタプリタ手段、装置制御手段、およびスクリプトを記憶する記憶装置を持ち、ネットワーク上のＷｅｂブラウザからの要求に基づいてスクリプトで記述された処理を実行することが可能であるように構成されている。また、新規スクリプト受付手段をもつことで、ユーザが新規スクリプトを装置に導入してカスタマイズすることが可能になる。【選択図】　　　　図１
2004046469.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク接続手段と、前記ネットワーク接続手段を介してネットワーク上のＷｅｂクライアントからのアクセスを可能にするＷｅｂサーバ手段と、前記Ｗｅｂサーバ手段が受け取ったＷｅｂクライアントからの要求に基づいて少なくとも一つの動作を実行する装置制御手段を有し、前記Ｗｅｂクライアントから操作が可能である周辺装置において、
処理手順をテキスト（ＡＳＣＩＩ文字列）で記述したファイル（スクリプト）を記憶する記憶装置と、前記要求に基づいて前記記憶装置から前記スクリプトを読み込んで解釈しその手順に従って順次処理を実行するインタプリタ手段を有することを特徴とする周辺装置。
【請求項２】
ユーザから要求があった時にスクリプトを受け取って前記記憶装置に記憶する新規スクリプト受付手段をもち、その後前記インタプリタ手段はこの新規スクリプトを実行することが可能になることを特徴とする請求項１記載の周辺装置。
【請求項３】
前記インタプリタ手段は、前記スクリプトの解釈段階または実行段階においてエラーが発生した場合に、エラー発生を前記Ｗｅｂサーバ手段に知らせるステップをもつことを特徴とする請求項１記載の周辺装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを介して制御可能な周辺装置に関するものである。
【０００２】
【従来の技術】
今日、さまざまな周辺装置が広範な用途に用いられている。例えば、プリンタはデータを印刷するために使用され、スキャナはデータの入力、ファクスはデータの送信に利用されている。またこれらの機能を全て持った複合機も登場している。
【０００３】
これらの周辺装置では、その周辺装置に付属している操作パネルを用いる他に、ネットワークを介して接続されたコンピュータを用いることで操作可能である。コンピュータからこれらの周辺装置を制御する場合には、通常その周辺装置専用のドライバを経由して所望の動作をさせる。従って、そのドライバが組み込まれたコンピュータでなければ制御することは不可能であるという問題があった。
【０００４】
これに対して最近は、周辺装置にＷｅｂサーバの機能を持たせたものが出現している。
【０００５】
このような周辺装置では専用の特別なドライバを必要とせず、一般のＷｅｂブラウザを用いて制御することが可能である。図９にＷｅｂサーバ機能を持った周辺装置の構成例を示す。この周辺装置にアクセスするために、ユーザはＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒ）を直接ウェブブラウザに入力するか、ＵＲＬが埋め込まれたリンクを選択する。Ｗｅｂブラウザは、所望のＵＲＬを指定するＨＴＴＰコマンドをネットワークを介して送信する。周辺装置のＷｅｂサーバは、このＨＴＴＰコマンドを受け取り、これを解析し、それに応じた動作を行う。Ｗｅｂブラウザからの要求が周辺装置に対する動作要求であった場合、対応するＣＧＩ（Ｃｏｍｍｏｎ　Ｇａｔｅｗａｙ　Ｉｎｔｅｒｆａｃｅ）プログラムの処理が行われる。ＣＧＩプログラムはあらかじめコンピュータで処理可能な形式にコンパイルされて周辺装置内に用意されており、周辺装置の情報の取得・設定や、プリント出力等の動作を実行できる。ユーザがフォームに入力するなどしてＷｅｂブラウザから指定した値は、ＷｅｂサーバからＣＧＩプログラムに渡され、制御パラメータなどとして利用される。
【０００６】
【発明が解決しようとする課題】
同じ周辺装置であっても、その設置場所や使用形態などにより頻繁に利用する処理項目は異なる。特に複合機などのように多種類の処理が可能である場合、あらかじめ周辺装置に組み込まれたＣＧＩプログラムが用意する操作インタフェースでは、所望の処理を行う為の階層が深く操作が面倒であったり、ユーザによっては不要な項目が多かったりするケースがある。従って個々の機器ごとにインタフェースをカスタマイズすることができれば非常に便利である。しかしながら上記従来の技術では、あらかじめ機器に用意されたプログラムで処理を行うように構成されているため、ユーザによるカスタマイズを行うことは難しかった。
【０００７】
本発明はこの課題に鑑みなされたものであり、ネットワークを介して制御可能な周辺装置において操作インタフェースのカスタマイズを容易にすることを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、請求項１記載の発明は、
ネットワーク接続手段と、ネットワーク接続手段を介してネットワーク上のクライアントからアクセス可能であるサーバ手段と、サーバ手段が受け取ったクライアントからの要求に基づいて少なくとも一つの動作を実行する装置制御手段を有し、クライアントから操作が可能である周辺装置において、実行すべき処理手順を記述したスクリプトを記憶する記憶装置と、前記要求に基づいて前記記憶装置からスクリプトを読み込んで解釈しその手順に従って処理を実行するインタプリタ手段を有することを特徴とする。
【０００９】
上記構成によって、周辺装置にあらかじめ組み込まれたプログラムだけではなく、ＡＳＣＩＩ文字列で処理手順が記述されたスクリプトによって装置操作を行うことが可能となる。スクリプトの記述は一般のテキストエディタを用いれば良く、特別なツール等を必要としないとうい利点がある。
【００１０】
請求項２記載の発明は、
請求項１記載の周辺装置においてユーザから要求があった時にスクリプトを受け取って前記記憶装置に記憶する新規スクリプト受付手段もち、その後、前記インタプリタ手段はこの新規スクリプトを実行することが可能になることを特徴とする。上記構成によって、ユーザが新たなスクリプトを装置に組み込むことができ、インタフェースのカスタマイズをすることが可能となる。
【００１１】
請求項３記載の発明は、
請求項１記載の周辺装置において前記インタプリタ手段は、前記要求スクリプトの解釈段階または実行段階においてエラーが発生した場合に、エラー発生を前記Ｗｅｂサーバ手段に知らせるステップをもつことを特徴とする。ユーザが導入したスクリプトには文法等に誤りがある場合が考えられるが、上記構成によってエラーが発生したことをユーザに通知することが可能となる。
【００１２】
【発明の実施の形態】
図１は本発明を示す図である。図１において周辺装置１００はネットワーク接続手段１０１、Ｗｅｂサーバ手段１０２、インタプリタ手段１０３、装置制御手段１０４、新規スクリプト受付手段１０５、及びスクリプトを記憶するための記憶装置１０６を持つ。１０７はネットワークである。ネットワーク１０７にはＷｅｂブラウザ１０８が接続されている。ネットワーク１０７にはＷｅｂブラウザ１０８が複数接続されていても良いし、周辺装置１００と同様の周辺装置が複数接続されていても良い。
【００１３】
ネットワーク接続手段１０１はネットワーク１０７に接続され、ネットワーク１０７との間でデータの送受信を行う。このようなネットワーク接続の確立は従来技術で周知である。Ｗｅｂサーバ手段１０２はＨＴＴＰ（Ｈｙｐｅｒ　Ｔｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）による通信が可能なサーバで、ＨＴＴＰ要求の内容に対応して動作する。インタプリタ手段１０３は前記Ｗｅｂサーバ手段が受け取ったＨＴＴＰの要求がスクリプトの実行であった場合に、要求スクリプトを記憶装置１０６から読み込み、解釈し、実行する。ここで処理されるスクリプトはあらかじめ記憶装置に用意されているものでも良いし、後述する新規スクリプト受付手段でユーザによって追加された新しいスクリプトであっても良い。
【００１４】
スクリプトはあらかじめ定められた文法規則に従って、実行すべき処理の手順を記述したテキストファイルである。前記文法規則はＰｅｒｌのように一般に知られた言語を用いても良いし、周辺装置専用の新たな言語を用いても良い。また複数の言語を処理できるように構成されていても良い。
【００１５】
スクリプトには装置制御手段１０４にアクセスするための書式が用意されており、インタプリタ手段１０３は、装置制御手段１０４にアクセスして、周辺装置１００の情報を取得・設定あるいは動作を行わせることができる。装置制御手段１０４はインタプリタ手段１０３からの要求に応じて周辺装置１００を動作させたり、周辺装置１００の情報をインタプリタ手段１０３に通知したり、設定したりする。
【００１６】
新規スクリプト受付手段１０５は、ユーザによる新しいスクリプトを周辺装置１００に導入するよう動作する。本実施例において、スクリプト受付手段は周辺装置内にＦＴＰ（Ｆｉｌｅ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）サーバを持つことで実現される。ＦＴＰサーバは、Ｆｉｌｅ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ　でネットワーク上のクライアントと通信し、ファイルの送受信を行うプログラムである。ユーザは新しいスクリプトを導入するためにＦＴＰクライアントプログラムで周辺装置にアクセスする。周辺装置のＦＴＰサーバがこれに応答し、ユーザが作成した新規スクリプトファイルを周辺装置の記憶装置に記憶する。
【００１７】
次に図２に基づいてＷｅｂサーバ手段の動作について説明する。ステップ２００からスタートする。ステップ２０１において、ネットワーク接続手段を介してＷｅｂブラウザからのＨＴＴＰ要求を受け取る。ステップ２０２において受け取った要求の解析が行われる。解析の結果要求がスクリプトの実行でなかった場合、要求に応じた処理が行われる。要求がスクリプトの実行であった場合、ステップ２０３においてインタプリタ処理が実行される。インタプリタ処理の詳細については後述する。インタプリタ処理の結果がエラー応答であった場合、ステップ２０４においてエラー処理が行われる。エラー処理は例えばエラーの原因をユーザに知らせるための応答を生成する処理を行う。ステップ２０５においてＷｅｂブラウザに対して応答送信を行う。
【００１８】
次に図３に基づいてインタプリタ手段の動作について説明する。ステップ３００からスタートする。ステップ３０１において、スクリプトが記憶装置から読み込まれる。ステップ３０２において、読み込まれたスクリプトの解析を行い、続く実行ステップで処理できる中間コードを生成する。ステップ３０３では、ステップ３０２で生成された中間コードから実際に処理が行われる。ここで実行される処理は、制御手段にアクセスして周辺装置の制御を行う処理、および周辺装置の状態に応じた応答を作成する処理を含む。ステップ３０４においてサーバ手段に応答を返す。ステップ３０５では、ステップ３０２のスクリプト解析段階またはステップ３０３の実行段階においてエラーが起きた場合、エラーが起こったことをエラー応答としてサーバ手段に伝える。
【００１９】
本発明の第二の実施例では、第一の実施例におけるインタプリタ手段を、図４のように１行ずつ解析・実行を繰り返すように構成する。インタプリタ手段はステップ４００からスタートする。ステップ４０１において、スクリプトが記憶装置から読み込まれる。ステップ４０２において、読み込まれたスクリプトを１行解析する。ステップ４０３では、解析した結果にもとづいて実際に処理が行われる。全ての行の解析・実行が終わっていればステップ４０５に進み、そうでなければステップ４０２に戻って処理を繰り返す。
【００２０】
本発明の第三の実施例では、第一の実施例における新規スクリプト受付手段をフロッピーディスク（登録商標）などの補助記憶媒体を通じて受け取るように構成する。この実施例において周辺装置は補助記憶媒体を読み取るための読み取り装置を持つ。ユーザは作成した新規スクリプトを補助記憶媒体に保存し、周辺装置の読み取り装置にその内容を読み取らせる。新規スクリプト受付手段は、補助記憶媒体から読み取ったスクリプトを記憶装置１０６に記憶し、その後インタプリタ手段１０３が読み込んで実行することが出来るようにする。
【００２１】
次に本発明を、スキャナ機能、プリンタ機能、ファクス機能をもつ複合機に適用した例を示す。
【００２２】
図５はこの適用例の形態の構成を示すブロック図である。本適用例は、図５に示すように、画像入力デバイスであるスキャナ２０７０および画像出力デバイスであるプリンタ２０９５が接続されるとともに、ＬＡＮ２０１１および公衆回線（ＷＡＮ）２０５１が接続され、コピー機能、ＬＡＮ２０１１を介して外部から供給されるデータをプリント出力するプリンタ機能、公衆回線（ＷＡＮ）２０５１を介したファクシミリ機能を含む通信機能を有する複合装置からなり、この複合装置は、装置全体の制御を行うとともに画像情報やデバイス情報の入出力に関する制御を行うコントローラユニット２０００を備える。
【００２３】
コントローラユニット２０００は、ＲＯＭ２００３に格納されているブートプログラムに基づきシステムを起動し、このシステム上でＨＤＤ（ハードディスク装置）２００４に格納されている各種制御プログラムを読み出してＲＡＭ２００２をワークエリアとして所定の処理を実行するＣＰＵ２００１を有する。ＨＤＤ２００４には、上記各種プログラムが格納されるとともに、画像データが格納される。
【００２４】
ＣＰＵ２００１には、ＲＡＭ２００２、ＲＯＭ２００３、ＨＤＤ２００４とともに、操作部Ｉ／Ｆ（操作部インタフェース）２００６、ＬＡＮＩ／Ｆ（ＬＡＮインタフェース）２０１０、モデム２０５０、イメージバスＩ／Ｆ（イメージバスインタフェース）２００５がシステムバス２００７を介して接続されている。
【００２５】
操作部Ｉ／Ｆ２００６は、操作部２０１２とのインタフェースであって、操作部２０１２に表示する画像データの操作部２０１２への転送、操作部２０１２における操作入力により発生した信号のＣＰＵ２００１への転送などを行う。操作部２０１２は、画像処理に関する各機能における現在の設定状態、各機能に関する設定情報を入力するための情報入力画面などを表示するための表示部、各機能に対する設定情報を入力するキーなどを含む入力部などを有する。
【００２６】
ＬＡＮＩ／Ｆ２０１０は、ＬＡＮ２０１１に接続され、ＬＡＮ２０１１を介した情報の入出力を行う。モデム２０５０は、公衆回線（ＷＡＮ）２０５１に接続され、公衆回線２０５１を介した情報の入出力を行う。イメージバスＩ／Ｆ２００５は、画像バス２００８とシステムバス２００７とを接続し、データ構造を変換するするバスブリッジからなる。画像バス２００８は、画像データを高速で転送可能なＰＣＩバスまたはＩＥＥＥ１３９４規格に従うバスから構成される。
【００２７】
画像バス２００８には、ＲＩＰ（ラスタイメージプロセッサ）２０６０、デバイスＩ／Ｆ（デバイスインタフェース）２０２０、スキャナ画像処理部２０８０、プリンタ画像処理部２０９０、画像回転部２０３０および画像圧縮部２０４０が接続されている。
【００２８】
ＲＩＰ２０６０は、ＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ２０２０は、画像入出力デバイスであるスキャナ２０７０やプリンタ２０９５とコントローラユニット２０００とを接続し、画像データの同期系／非同期系の変換を行う。ここでは、デバイスＩ／Ｆ２０２０とスキャナ２０７０とがケーブル２０７１を介して、デバイスＩ／Ｆ２０２０とプリンタ２０９５とがケーブルとがケーブル２０９６を介して接続されている。スキャナ画像処理部２０８０は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部２０９０は、プリント出力画像データに対して、プリンタの補正、解像度変換などを行う。画像回転部２０３０は画像データの回転処理を行う。画像圧縮部２０４０は、多値画像データに対してはＪＰＥＧ、二値画像画像データに対してＪＢＩＧ、ＭＭＲ、ＭＨの圧縮伸張処理を行う。
【００２９】
このように、コントローラユニット２０００のＣＰＵ２００１は、各制御プログラムに基づきシステムバス２００７に接続される各種デバイスとのアクセスを総括的に制御するとともに、デバイスＩ／Ｆ２０２０を介してスキャナ２０７０から画像情報を読み込み、読み込んだ画像情報に対して所定の処理を施した後に該画像情報をデバイスＩ／Ｆ２０２０を介してプリンタ２０９５に出力するなどの制御を行う。
【００３０】
本実施例において、Ｗｅｂサーバ手段、インタプリタ手段、新規スクリプト受付手段等は、ＣＰＵ２００１がＨＤＤ２００４に格納されている各プログラムを読み出して実行することによって実現される。また、この実施例においてはスクリプトはＨＤＤ２００４に格納される。
【００３１】
図６にユーザによるカスタマイズ画面例を示す。ここで文字列６０１はこの周辺装置に登録されている装置名称、６０２はこの複合機のプリンタ機能が現在使用可能ならば「現在プリンタは使用可能です」、使用不可能ならば「現在プリンタは使用できません」という文字列を表示する。６０３はプリンタ機能が使用可能な場合に表示される文字列で、プリンタを使用する画面へのリンクになっている。
【００３２】
図６のカスタマイズを行うため、ユーザはまず任意のテキストエディタで図７に示すスクリプトを入力し、適当な名前で保存する。７０１のＧｅｔＶａｌｕｅ（ＤＥＶＩＣＥ＿ＮＡＭＥ）は装置制御手段にアクセスして周辺装置に登録されている装置名称を取得するための書式であり、同様に７０２のＧｅｔＶａｌｕｅ（ＰＲＩＮＴＥＲ＿ＳＴＡＴＵＳ）は現在のプリンタの状態を取得するための書式である。７０３のｉｆは条件判断処理のための書式であり条件式が満たされた場合にそれに続く｛｝の中の処理が行われ、条件式が満たされない場合、７０４のｅｌｓｅ｛｝の中の処理が行われる。ｐｒｉｎｔは応答をＷｅｂサーバ手段に出力するための書式であり、Ｗｅｂサーバ手段は受け取った応答をネットワークを介してＷｅｂブラウザに送信する。
【００３３】
ユーザはこのスクリプトを新規スクリプト受け付け手段を用いて記憶部に記憶させる。その後ユーザがＷｅｂブラウザにこのスクリプトを示すＵＲＬを入力することによって、Ｗｅｂブラウザに図６の画面が表示される。
【００３４】
さらにユーザがプリンタ部を使用しようとする場合、６０３の部分をクリックすることによりｕｓｅ＿ｐｒｉｎｔｅｒ。ｐｌというスクリプトが実行され、プリンタを使用するための画面が表示されるので、周辺装置にプリント処理をさせることができる。
【００３５】
もし図７のスクリプトにおいて、ユーザが誤っての最初の行のｐを消してしまって、
ｒｉｎｔ　”Ｃｏｎｔｅｎｔ−Ｔｙｐｅ：　ｔｅｘｔ／ｈｔｍｌ￥ｎ￥ｎ”；
としたファイルを記憶させてしまった場合は、エラー処理ステップによってＷｅｂブラウザには図８のような画面が表示される。これによってユーザが自分のスクリプトの書式に誤りがあったことを容易に知ることができる。
【００３６】
本実施の形態は各種の周辺装置へ応用できる。たとえば、本実施の形態をデジタルカメラ、マイクロホン、遠隔ビデオカメラ等に応用することができる。いずれの場合もユーザは自分の使いやすいインタフェースにカスタマイズしてＷｅｂブラウザから操作することができる。
【００３７】
【発明の効果】
以上説明したように、請求項１記載の発明によれば、
ネットワーク接続手段と、ネットワーク接続手段を介してネットワーク上のクライアントからアクセス可能であるＷｅｂサーバ手段と、Ｗｅｂサーバ手段が受け取ったクライアントからの要求に基づいて少なくとも一つの動作を実行する処理手段を有し、クライアントから操作が可能である周辺装置において、実行すべき処理手順を記述したスクリプトを記憶する記憶装置と、前記要求に基づいて前記記憶装置からスクリプトを読み込んで解釈しその手順に従って処理を実行するインタプリタ手段を有するので、装置の制御をあらかじめ組み込まれたプログラムだけではなく、ＡＳＣＩＩ文字列で処理手順が記述されたスクリプトによって行うことが可能となる。スクリプトの記述は一般のテキストエディタを用いれば良く、特別なツール等を必要としないため容易に行える。
【００３８】
請求項２記載の発明によれば、
請求項１記載の周辺装置においてスクリプトを受け取って前記記憶装置に記憶する受け付手段を有することを特徴とするので、ユーザが新たなスクリプトを装置に組み込んで操作インタフェースのカスタマイズをすることが可能となる。
【００３９】
請求項３記載の発明によれば、
請求項１記載の周辺装置において前記インタプリタ手段は、前記要求スクリプトの解釈段階または実行段階においてエラーが発生した場合に、エラー発生を前記Ｗｅｂサーバ手段に知らせるステップをもつことを特徴とするので、ユーザが導入したスクリプトに文法等の誤りがあった場合、ユーザは容易にスクリプトの誤りを知ることができる。
【図面の簡単な説明】
【図１】本発明の全体のブロック図
【図２】Ｗｅｂサーバ手段の動作を表すフローチャート
【図３】インタプリタ手段の第一の実施形の動作を表すフローチャート
【図４】インタプリタ手段の第二の実施形の動作を表すフローチャート
【図５】本発明を複合機に適用した場合の構成を表すブロック図
【図６】ユーザによるカスタマイズを行った画面例を表す図
【図７】ユーザによるカスタマイズを行うためのスクリプト例
【図８】エラー画面例
【図９】従来例を説明する図
【符号の説明】
１００　　周辺装置
１０３　　インタプリタ手段
１０４　　新規スクリプト受付手段
【図１】
2004046469.tif 000003
【図２】
2004046469.tif 000004
【図３】
2004046469.tif 000005
【図４】
2004046469.tif 000006
【図５】
2004046469.tif 000007
【図６】
2004046469.tif 000008
【図７】
2004046469.tif 000009
【図８】
2004046469.tif 000010
【図９】
2004046469.tif 000011