【氏名又は名称】オーセ プリンティング システムズ ゲゼルシャフト ミット ベシュレンクテル ハフツング ウント コンパニー コマンディートゲゼルシャフト
(58)【調査した分野】(Int.Cl.,DB名)
前記操作フィールドモジュールライブラリ(20)は、制御機構に基づいて、所定の制御アクションの実行が前記生産システムの現下の各状態において許容されるか否かを検査し、許容されない場合には、前記制御アクションを阻止する、請求項1から3までのいずれか1項記載の方法。
アクション要求の検査の際には、前記ブラウザー(23)の識別子、前記ユーザーの識別子、セッションの識別子、及び/又は、前記操作フィールドが実行されるウインドウの識別子を抽出し、
当該識別子に基づいて、前記アクション要求をトリガしたユーザーを識別し、
前記ユーザーに対応付けられた権限を求め、当該権限に基づいて、前記要求されたアクションを実行してよいか否かを検査する、請求項1から5までのいずれか1項記載の方法。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明の課題は、操作フィールドが比較的低い伝送速度のデータリンクを介して高い信頼性のもとで操作でき、かつ、特に複数の操作フィールドを同時に設置することが可能な、生産システムのための操作フィールドを操作する方法及び生産システムのための制御装置を提供することである。
【課題を解決するための手段】
【0009】
前記課題は、次のような生産システム、特に印刷システムのための操作フィールドを操作する方法によって解決される。当該生産システムは制御装置(2)を有しており、当該制御装置(2)はホストコンピュータ(10)を含んでおり、当該ホストコンピュータ(10)は、1つ又は複数のクライアントコンピュータ(14,15,17)とデータリンクによって接続されており、当該クライアントコンピュータ(14,15,17)上にブラウザー(23)をインストールし、実行し、
前記ホストコンピュータ(10)に、操作フィールドモジュールライブラリ(20)をインストールし、実行し、
当該操作フィールドモジュールライブラリ(20)によって、前記生産システムに対する操作フィールドを作成し、準備し、
当該操作フィールドをマークアップ言語ファイルとして、前記ホストコンピュータ(10)から、前記各ブラウザー(23)に伝送し、当該ブラウザー(23)内で、前記操作フィールドを表示するように実行し、
前記マークアップ言語ファイルを、前記ホストコンピュータ(10)にインストールされかつ当該ホストコンピュータで実行されるウェブユーザインタフェース(21)によって、前記ホストコンピュータ(10)から、前記複数のクライアントコンピュータ(14,15,17)のうちの1つに伝送し、
前記操作フィールドでユーザーが操作をすることによって、アクション要求がウェブユーザインタフェース(21)においてトリガされ、当該アクション要求によって、前記ホストコンピュータ(10)におけるアクションが要求され、
各アクション要求の際、前記ウェブユーザインタフェース(21)は、予め定めたルールにしたがって、前記アクションが許可されるか否かを検査し、前記アクションが許可されない場合に前記アクションを阻止する。有利な構成例は各従属請求項に記載されている。
【0010】
本発明による、操作フィールドを操作する方法は、生産システムのために、とりわけ印刷システムのために設けられている。この生産システムは、ホストコンピュータを含んだ制御装置を有している。このホストコンピュータは、ブラウザーが実行される1つ又は複数のクライアントコンピュータとデータリンクによって接続されている。ホストコンピュータには、操作フィールドモジュールライブラリがインストールされており、これがそこで実行されて、生産システムのための操作フィールドが形成されて準備される。この操作フィールドは、マークアップ言語ファイルとしてホストコンピュータから各ブラウザーに伝送され、ブラウザー内で当該操作フィールドの表示のために実行される。
【0011】
本発明の第1の態様によれば、操作フィールドが1つ又は複数の表示オブジェクトを有し、前記表示オブジェクトは、それぞれ操作フィールドの閉じられた要素であり、所定のパラメータ値を示すために用いられる。ホストコンピュータには、各表示オブジェクトと、表示オブジェクト内で示される値のデータソースとの間の関係を構築するための参照テーブルが設けられている。データソースの値が変更された場合には、ホストコンピュータは、その値のみを対応する表示オブジェクトに伝送する。
【0012】
対応する値が変更された場合には、全てのマークアップ言語ファイルの代わりに1つの値だけがホストコンピュータから各ブラウザーに伝送されるだけなので、操作フィールドにおいて対応する値を更新する場合、伝送すべきデータ容量は非常に少なくなる。
【0013】
マークアップ言語ファイルが、ユーザインタフェースの表示のためのブラウザー上で実行される従来の方法では、ユーザインタフェースの更新は、マークアップ言語ファイル全体の伝送によって行われていた。個別の交換が可能な複数の表示オブジェクトと、これらの表示オブジェクトと対応するデータソースとの間の関係を構築する参照テーブルとを設けることによって、データソースの値が変更された場合に、その変更値を、表示オブジェクトに対応付けることが可能となり、その際には当該変更値が伝送され、それに応じて操作フィールド内で当該変更値が更新される。
【0014】
有利には、1つの表示オブジェクトの変更は、他の表示オブジェクトにおける変更に依存することなく実施が可能である。
【0015】
1つの操作フィールドは、コンピュータの表示装置に表示される、生産システムの操作のためのユーザインタフェースである。
【0016】
本発明の第2の態様によれば、生産システム、特に印刷システムのための操作フィールドを操作する方法が提供される。この生産システムは、ホストコンピュータを含んだ制御装置を有している。このホストコンピュータは、データリンクによって1つ又は複数のクライアントコンピュータと接続されており、前記クライアントコンピュータ上ではそれぞれ1つのブラウザーがインストールされて実行可能である。ホストコンピュータでは、生産システムのための操作フィールドの形成と準備のために、1つの操作フィールドモジュールライブラリがインストールされて実行される。その際操作フィールドは、マークアップ言語ファイルとして、ホストコンピュータから各ブラウザーに伝送され、当該操作フィールドを表示するためのブラウザー内で実行される。操作フィールドに表示されるパラメータの値は、それぞれ予め定められた待機時間の経過後にのみ更新される。
【0017】
このような所定のパラメータ値の伝送のための待機時間の設定により、パラメータ値の各変更が直ちに伝送されるのではなく、所定の待機時間の経過後にのみ伝送される。パラメータの1つの値が所定の待機時間内で数度に亘って変更された場合には、待機時間内で最後に変更された値だけが伝送される。この方法は、次のような事実を基礎としている。すなわち多くのセンサ装置は、人為的な視感によって値を把握するユーザーよりも実質的に高いサンプリング周波数で値を検出することである。0.1〜0.3秒の待機時間による遅延は、ユーザーにとってほとんど認識されない。別の観点では、伝送すべき値の数は著しく減少され、そのため伝送すべきデータ容量も相応に減少する。例えばその変動が基本的に緩慢である温度などのパラメータを表示する場合には、数秒の待機時間で十分である。これにより簡単に、複数のクライアントコンピュータを、低い伝送速度のデータリンクを介して1つのホストコンピュータに、接続することが可能となり、その際には、全てのクライアントコンピュータに、更新された値が、予め定められた待機時間に応じて所望の頻度で伝送されることが保証される。これは1つ若しくは複数のクライアントコンピュータにおいて、多数の値の信頼性の高い更新を可能にさせる。
【0018】
好適には、対応する値の変更が存在する場合にのみ、所定の待機時間の経過と共に値が伝送される。
【0019】
異なるパラメータの値は、好適には、異なる待機時間で更新される。その場合迅速に変化するパラメータは、緩慢に変化するパラメータよりも相応に短い待機時間で更新される。これらの待機時間は、典型的には0.1秒から10秒の間である。
【0020】
ホストコンピュータには、好ましくは各アクティブブラウザ毎に1つのブラウザーバッファが設けられる。このブラウザーバッファ内に記憶されている、所定のパラメータに対する値は、このパラメータの変更された値によって上書きされる。これによりブラウザーバッファは、各パラメータ毎に唯一つの値だけを、詳細には対応するデータソースから最後に供給された値のみを保持する。
【0021】
参照テーブル内には、各表示オブジェクトに対して、セッションIDが記憶され得る。このセッションIDは、それぞれ、各表示オブジェクトを表示するブラウザーの1つが実行される、複数のクライアントコンピュータのうちの1つのセッションを参照する。これにより、表示オブジェクトと、セッションないし対応ブラウザーとの間の一義的な関係が構築される。
【0022】
好適には、この参照テーブルは、セッションIDによって定められているセッション内で実行されるブラウザーのうちの1つのウインドウがそのつど一義的に参照するウインドウIDを有している。そのような参照テーブルは、ブラウザーの種々異なるウインドウ(タブ)に対する表示オブジェクトの一義的な対応付けを可能にさせる。
【0023】
さらに前記参照テーブル内には、各表示オブジェクト毎に、表示オブジェクトを表示するブラウザー若しくは表示オブジェクトを表示するブラウザーのウインドウが当該表示オブジェクトを前面に表示しているか否か、及び/又は、ブラウザー内若しくはブラウザーのウインドウ内でアクティブにマーキングされるフォーカスが、当該ブラウザー若しくはブラウザーのウインドウ上に存在しているか否かが記憶され得る。これにより、参照テーブル内では、どの表示オブジェクトが、前面に表示されるか、ないしは、フォーカスを伴って表示されるかが指示され、それによってこの表示オブジェクトが、他の表示オブジェクトよりも高い優先度で更新され得る。また好適には、前面に表示される表示オブジェクトだけが、若しくは、フォーカスの存在する表示オブジェクトだけが更新され、その他の表示オブジェクトは更新されないようにすることも可能である。これによっても伝送すべきデータ量を低減させることが可能になる。
【0024】
データソースによるパラメータ値の変更の際には、その変更値が当該データソースにつながる全ての表示オブジェクトに伝送される。
【0025】
マークアップ言語ファイルは、ホストコンピュータにインストールされて実行可能なウェブユーザーインタフェースを介してホストコンピュータからクライアントコンピュータの1つに伝送される。表示オブジェクト全体でも、表示されるオブジェクトの個々の値のみでも更新が可能である表示オブジェクトの更新は、命令を用いてウェブユーザーインタフェースからクライアントコンピュータに伝送される。これらの命令は、クライアントコンピュータに存在する、マークアップ言語ファイルと共に伝送されて埋め込まれているプログラムコードによって実行される。これらの命令は、対応する表示オブジェクトの所定のグラフィックオブジェクトの表示のための指示も、表示パラメータないし表示値ないし再現すべきデータソースから捕捉された値も含み得る。前記命令もプログラムコードもスクリプト言語の要素、とりわけジャバスクリプト要素を含み得る。
【0026】
前記操作フィールドは、好ましくは生産システムにおける複数の変更を実施するように形成されていてもよい。これらの変更は、所定のパラメータ、特に生産パラメータの設定に該当し、アクション要求や制御命令、例えば生産システムの個々の要素の立ち上げ又はシャットダウンにも当て嵌まる。
【0027】
本発明の第3の態様によれば、ウェブユーザーインタフェースへのチケット問合せが、ブラウザー内で実行された操作フィールドを用いて行われ得る。このチケット問合せの際には、ウェブユーザーインタフェースは、セッションチケットを1つのブラウザーに与える権限が有るか否かと、このセッションチケットがすぐに処理可能か否かを検査され、この両方が当て嵌まる場合には、ユーザインタフェースは、チケット問合せをしたブラウザーにセッションチケットを与える。
【0028】
この方法では、最初にウェブユーザーインタフェースは、セッションチケットを付与する権限が間違いなくあるか否かを検査され、権限が間違いなくある場合にのみ、セッションチケットをブラウザーの1つに付与する。
【0029】
ウェブユーザーインタフェースが、1つのセッションチケットを付与する権限を有しているか否かは、ホストコンピュータにおけるチケットサーバーが、ホストコンピュータに接続された入力装置を用いて生産システムに変更を設定できる権限を与えられるアクセスチケットを付与するか否かに依存している。この場合ウェブユーザーインタフェースは、そのような入力装置を示している。ウェブユーザーインタフェースがセッションチケットを付与する権限を有しているか否かの検査の際には、アクセスチケットを有しているか否か、又は、チケットサーバーから受け取ることができるか否かが検査される。
【0030】
一方、生産システムがスタンバイモードであるときに、ウェブユーザーインタフェースは、セッションチケットを付与する権限を有していてもよい。それにより、ウェブユーザーインタフェースがセッションチケットを付与する権限を有しているか否かの検査の際には、生産システムが、基本設定しか設定できないスタンバイモードにあるか否かが検査される。このモードでは、基本設定を設定するブラウザーにセッションチケットを付与することが許される。この種の基本設定には一般に、操作フィールド自身に対する設定も含まれる。またこの種の基本設定には、生産機器に対する基本的な設定も含まれるが、生産過程との直接の関連性はない。
【0031】
1つのブラウザー内で実行される各マークアップ言語ファイルには、セッションIDが割り当てられ、ウェブユーザーインタフェースは、これらのセッションIDに基づいて、周期的に各ブラウザーがまだ開いているか否かと、リアクション可能か否かを検査し、セッションチケットが割り当てられているブラウザーがそれ以上応答できないか閉じられることが検出された場合には、セッションチケットをこのブラウザーから取り上げられる。これにより、ブラウザーがフリーズした際の、別のブラウザーへの遅滞のないセッションチケットの転送が可能になることが保証される。それによって生産機器へのアクセスが保証される。
【0032】
1つのクライアントコンピュータにおいて複数のウインドウを開くことができ、それらのウインドウ内でそれぞれ1つのブラウザーを実行できるのであれば、各ウインドウは、1つのウインドウIDによって識別され、セッションチケットは個々のウインドウに対応付けられ、それによって、これらのウインドウからだけで、生産システムにおける変更が、ウェブユーザーインタフェースを用いて実行可能となる。
【0033】
好適には、ウェブユーザーインタフェースは、ウインドウIDに基づいて、ウインドウがまだ開かれているか否かと、応答可能であるか否かを周期的に検査し、セッションチケットが割り当てられているウインドウがもはや応答できないか閉じられていることが検出された場合には、このウインドウからセッションチケットを取り上げる。これにより、ウインドウがフリーズした際の、遅滞のないセッションチケットの転送が可能になることが保証される。それによって生産機器へのアクセスが保証される。
【0034】
好適には、ウェブユーザーインタフェースと各ブラウザーはウェブソケットを用いて通信される。その際にはウェブユーザーインタフェースには、ウェブソケットの1つが結合され、ブラウザーには、ウェブソケットの別の1つが結合されており、それによって、ウェブユーザーインタフェースと各ブラウザーとの間で永続的な論理的データリンクが形成される。永続的な論理的データリンクが形成されることより、情報は、ウェブユーザーインタフェースと各ブラウザーとの間でたいした遅延なしで交換可能となる。
【0035】
好適には、各チケット問合せの際に、ウェブユーザーインタフェースは、セッションチケットが付与されているか否かを検査し、セッションチケットが付与されている場合には、チケット問合せが拒否され、セッションチケットが付与されていない場合には、ウェブユーザーインタフェースは、アクセスチケットを所有できるか否か又はチケットサーバーから受け取れるか否かを検査する。アクセスチケットを所有できるか若しくは受け取れる場合には、チケット問合せを出すブラウザーにセッションチケットが割り当てられ、それ以外の場合には、チケット問合せが拒絶される。
【0036】
操作フィールドにおけるユーザーの操作によって、ホストコンピュータにアクションを要求するアクション要求が、ウェブユーザーインタフェースにトリガされる。
【0037】
チケットとは、リソースへの制御されたアクセスないしは書き込まれたアクセスに対する権限を表す論理的なマーキングである。このチケットは、セッション、1つのブラウザーのウインドウ、例えばブラウザーのようなソフトウェアコンポーネント、例えば機器、装置、デバイスのようなハードウエアコンポーネントに結び付けられる。またチケットは、付与されたり、取り上げられたり、トリガされることが可能である。1つのチケットからは、1つのインスタンスのみが存在する。
【0038】
本発明の第4の態様によれば、各アクション要求において、ウェブユーザーインタフェースは、所定の規則に従って、当該アクションを許容するか否かを検査し、当該アクションが許容されない場合にはそれを阻止する。ブラウザー内で表示される操作フィールドは、簡単に意図的操作ないしコピーが可能である。なぜならマークアップ言語ファイルは、ブラウザーのユーザーから簡単にアクセスされるからである。しかしながら、各アクション要求がホストコンピュータにおいて検査されることにより、クライアントコンピュータにおける意図的操作は、アクション実行のための権限がない場合には効果がなくなる。一方、ホストコンピュータにおける操作は実質的に困難である。これにより、ブラウザーが操作フィールドの表示のために利用されるにも係わらず、高いセキュリティレベルが得られる。
【0039】
前記アクションは、ウェブユーザーインタフェースにおいて実行されるメニューアクションを含んでいてもよいし、印刷機において設定を変更できる制御アクションを含んでいてもよい。
【0040】
好適には、各アクション要求の際、ウェブユーザーインタフェースは、前記アクション要求がブラウザー内で表示された操作フィールドを介して可能であるか否かを検査し、前記アクション要求が操作フィールドを介して不可能である場合には、前記アクションを阻止する。
【0041】
操作フィールドモジュールライブラリは、制御機構に基づいて、所定の制御アクションの実行がそれぞれの生産システムの現下の状態において許容されるか否かを検査し、許容されない場合には、前記制御アクションを阻止する。
【0042】
予め定められる規則には、1つ又は複数の以下のセキュリティ規則が含まれる。すなわち、
−アクション要求の提出は、認可された人物ないし機器からのみ出されることが許される
−アクション要求の提出は、十分なアクセス権限を有している人物ないし機器からのみ許される
−アクション要求の提出は、各ブラウザーが、アクション実行に適した表示オブジェクトを表示する場合にのみ許される
−アクション要求の提出は、生産機器状態が当該要求を許容する場合にのみ許される。
【0043】
アクション要求の検査の際には、ブラウザーの識別子、ユーザーの識別子、セッションの識別子、及び/又は、操作フィールドが実行されるウインドウの識別子のうちの1つが抽出され、この識別子に基づいて、前記アクション要求をトリガしたユーザーが識別される。その際にはこのユーザーに対応付けられた権限が求められ、この権限に基づいて、要求されたアクションが実行可能であるか否かが検査される。
【0044】
ブラウザー内の操作フィールドの各初期化の際には、好ましくはそのつど一人のユーザーが記録ないし認可される。アクション要求を検査する際には、ブラウザーの識別子、ユーザーの識別子、セッションの識別子、及び/又は、操作フィールドが実行されているウインドウの識別子が抽出され、これらの識別子に基づいて、アクション問合せをトリガしたユーザーが識別される。その際には、当該ユーザーが適正に記録ないし認可されたユーザーか否かも検査される。この記録ないし認可は、ユーザーネームとパスワードによって行うことが可能である。しかしながらこれとは別の記録及び認可方法、例えば生体データに基づいた方法を適用することも可能である。
【0045】
前記操作フィールドは、それぞれ1つのそれ自体閉じられた操作フィールドの要素でかつ所定のパラメータ値の表示に用いられる1つ又は複数の表示オブジェクトを有し得る。ホストコンピュータには参照テーブルが設けられ、該参照テーブルを用いて各表示オブジェクトと、ブラウザー及び/又はウインドウ及び/又はセッションとの間の関係が形成される。この参照テーブルに基づいて、どの表示オブジェクトが各ブラウザーに表示され操作可能であるかが検査され、アクション問合せを出した表示オブジェクトが表示されないことが検出された場合には、アクションが阻止される。
【0046】
エラー通知ないし警告通知を、アクション要求を引き起こしたブラウザーに、及び/又は、その他の操作フィールドに、とりわけアクション要求を引き起こしたユーザーよりも高い権限を有するユーザーの操作フィールドに、伝送することも可能である。セキュリティ規則が守られない場合には、予め定めた人物、例えばオペレータやアドミニストレータに通知がなされることも合目的である。このことは、操作フィールドを介して行われてもよいし、他のメッセージ手段(Eメール、SMSなど)を介して行われてもよい。
【0047】
本発明の方法においては様々な態様が個別に若しくは組み合わせにおいて実施可能である。
【0048】
生産システム、特に印刷システムのための本発明による制御装置は、ホストコンピュータを有する。このホストコンピュータは、データリンクによって、それぞれ1つのブラウザーがインストールされて実行可能である1つ若しくは複数のクライアントコンピュータに接続されている。ホストコンピュータには操作フィールドモジュールライブラリがインストールされて実行可能であり、該ライブラリを用いて、生産システムのための操作フィールドが形成され準備される。この操作フィールドは、マークアップ言語ファイルとしてホストコンピュータから各ブラウザーに伝送され、ブラウザー内で操作フィールドの表示のために実行される。この制御装置は、前述の方法を実施するために構成されている。
【0049】
さらに本発明は、そのような制御装置と生産機器とを備えた生産システムにも関している。この生産機器は、有利には印刷機である。この印刷機は、特に高性能なデジタルプリンタである。この高性能デジタルプリンタは、例えば電子写真式印刷機、インクジェット式印刷機、液体トナー式印刷機として構成されていてもよい。
【0050】
液体トナー式印刷機は、印刷すべき記録担体上にトナー粒子が液体現像剤を用いて被着される印刷機である。この目的のために、液体現像剤を用いて電荷像担体の静電潜像が電気泳動により付着(着色)される。そのようにして得られたトナー画像は、転写要素を介して間接的に又は直接的に記録担体上に転写される。液体現像剤は、トナー粒子と担体液との所望の比を有する。この担体液として好適には鉱物油が用いられる。トナー粒子に静電荷を備えさせるために、液体現像剤には帯電制御剤が添加される。また付加的にさらなる添加剤が、例えば液体現像剤の所望の粘度若しくは所望の乾燥特性を得るために加えられてもよい。
【0051】
そのようなデジタルプリンタは、例えば独国特許出願公開第102010015985号明細書、独国特許出願公開第102008048256号明細書、独国特許出願公開第102009060334号明細書、独国特許出願公開第102012111791号明細書に開示されている。
【0052】
以下では本発明を図面に基づき詳細に説明する。
【発明を実施するための形態】
【0054】
デジタル印刷システムの実施例には、印刷機1と制御装置2が含まれている(
図1参照)。
【0055】
図21によれば、印刷機1として、記録担体120を印刷するためのデジタルプリンタが示されており、これは、トナー画像(印刷画像)を記録担体120に印刷する1つ又は複数の印刷機構111a〜111d及び112a〜112dを有している。記録担体120として、図示のように、シート状の記録担体120が、繰出し器6によってロール121から繰出され、第1の印刷機構111aに供給されている。定着ユニット130内では、印刷画像が記録担体120上に定着される。それに続いて記録担体120は、巻取り器7によってロール128に巻き取られる。そのような構成はロールツーロールプリンタとも称される。
【0056】
図21に示されている好適な構成によれば、シート状の記録担体120は、4つの印刷機構111a〜111dによって前面側が、そして4つの印刷機構112a〜112dによって背面側がフルカラーで印刷される(いわゆる4/4コンフィグレーション)。これのために記録担体120は、操出し器6によってロール121から繰り出され、任意の調節機構123を介して第1の印刷機構111aに供給される。調節機構123内では、記録担体120が適切な材料によって前処理若しくはコーティングされる。コーティング材(これはプライマーとも称される)として好適にはワックスや同等な化学的材料を用いることが可能である。
【0057】
この材料は、印刷用記録担体120の準備のために、及び/又は、印刷画像の被着の際の記録担体120の吸着特性に影響を与えるために、記録担体120全面に亘って被着されてもよいし、後から印刷すべき箇所のみに被着されてもよい。それにより、後で被着されるトナー粒子又は担体液体は、過度に記録担体120内に浸透しなくなるのではなく、実質的に表面に留まるようになる(カラー画質及び画像品質の改善)。
【0058】
続いて記録担体120は、まず第1の印刷機構111aの後に続く一連の印刷機構111dまで供給され、そこでは前面側のみが印刷される。印刷機構111a乃至111dの各々は、記録担体120を、通常は他の色ないし他のトナー材料、例えば電磁的に読み取り可能なMICRトナーで印刷する。
【0059】
前記記録担体120は、前面側の印刷の後、反転ユニット124内で反転され、残りの印刷機構112a乃至112dに背面側印刷のために供給される。前記反転ユニット124の領域には、前記記録担体120を背面側印刷のために準備するさらに別の調節機構(図示せず)例えば事前に印刷される前面側印刷画像(ないしは前面側全体又は背面側全体)の定着(部分定着)又はそれ以外の調節のための機構などが任意に配設されていてもよい。それによって、前面側印刷画像がさらなる転写の際に、後続の印刷機構によって機械的に損なわれることが避けられる。
【0060】
フルカラー印刷を得るために、少なくとも4つの色(それと共に少なくとも4つの印刷機構111,112)が必要とされ、具体的には、例えば基本色YMCK(黄色、マゼンタ、シアン、黒)である。また、特別色(例えばユーザー固有の色又は印刷可能な色空間を拡大するための追加原色)を有するさらなる印刷機構111,112が用いられてもよい。
【0061】
印刷機構112dの下流側(搬送方向で見て)にはレジスタユニット125が設けられており、このレジスタユニットによって、記録担体120上に印刷画像に依存することなく(特に印刷画像外に)印刷されるレジスタマークが評価される。それにより、横方向及び縦方向のレジスタマーク(1つのカラードットを形成する原色ドットは、相互に上下で若しくは局所的に非常に近接して配置されていなければならず、カラーマークないし4色マークとも称される)並びにレジスタ(前面側及び背面側は局所的に正確に一致されなければならない)が設定でき、これによって品質的に良好な印刷画像が得られる。
【0062】
レジスタユニット125の下流側には定着ユニット130が設けられており、この定着ユニット130によって記録担体120上の印刷画像が定着される。電気泳動式のデジタルプリンタでは、定着ユニット130として好適には熱乾燥器が用いられ、この熱乾燥器は担体液体を十分に蒸発させる。それによりトナー粒子のみが記録担体120上に残される。これは、熱作用のもとで生じる。その際には、トナー粒子が熱作用に起因して溶融可能な材料、例えば樹脂を含んでいる場合には、トナー粒子も記録担体120上で溶融され得る。
【0063】
定着ユニット130の下流側には、トラクション機構126が設けられており、このトラクション機構126は、当該領域内にさらなる駆動部を設けることなしに、全ての印刷機構111a〜112d及び定着ユニット130を通った記録担体120を引っ張る。なぜなら記録担体120のための摩擦駆動部によって、まだ定着していない印刷画像がこすり取られる危険性が生じるからである。
【0064】
このトラクション機構126は、記録担体120を巻取り器7に供給し、この巻取り器7は印刷された記録担体120を巻き取る。
【0065】
印刷機構111,112及び定着ユニット130のもとでは、デジタルプリンタ1のための全ての供給装置、例えば空調モジュール140、エネルギー供給源150、制御装置2(コントローラ)、液体制御ユニット171や様々な液体用保管容器172などの液体管理部170が集中的に配置されている。液体として、特に純粋な担体液、高濃度の液体現像剤(担体液に比べてトナー粒子の割合が高い)及びしょう液(液体現像剤+電荷制御剤)は、デジタルプリンタ1に供給するために必要であり、また廃棄すべき液体のための廃棄容器や洗浄液のための容器も必要である。
【0066】
デジタルプリンタ1は、構造が同じ印刷機構111,112を用いてモジュール式に構成されている。これらの印刷機構111,112は、機械的に異なっているのではなく、その中で使用される液体現像剤(トナーカラー及び種類)が異なっているだけである。
【0067】
そのような印刷機構111,112は、電子写真原理に基づいており、これは電子写真画像担体に、液体現像剤を用いて帯電したトナー粒子で着色され、そのように形成された画像が記録担体20上に転写される。
【0068】
印刷機構111,112は、実質的に電子写真ステーション、現像ステーション及び転写ステーションからなっている。
【0069】
このような高性能なデジタルプリンタは、モデル及び構成に応じて10mから30mの長さに亘って延在している。
【0070】
それ故に、多数の人々が同時にデジタルプリンタのデータを読み取り、複数の場所において操作フィールドの検証を可能にする複数の操作フィールドを設けることは合目的である。
【0071】
印刷機1は、印刷機制御部4と複数の印刷機構制御部5(バードライビングボード:BDB)とを含んだ内部制御装置を備えている(
図1参照)。印刷機構制御部5は、ラスタ処理された印刷データを対応する印刷機構に伝送する。このラスタ処理された印刷データは通常は二進の印刷データであり、そこでは各ビットが印刷ドットを表す。このビットが設定されている場合には、対応する印刷ドットが印刷される。ビットが設定されていない場合には、対応する印刷ドットは印刷されない。
【0072】
印刷機制御部4は、印刷機1のメインモジュールと用紙搬送部と一般的な制御タスクないし印刷機構3とを制御する。この印刷機制御装置4は、前処理装置及び後処理装置のためのインタフェースを有しており、特に繰り出し器6と巻き取り器7を含んでいる。ここではさらに切断装置や包み込み装置などのさらなる前処理ないし後処理装置が接続されていてもよい。
【0073】
制御装置2は、印刷サーバー8から制御装置2に伝送される印刷ジョブの処理のために用いられる。そのような印刷ジョブは、通常は印刷データとジョブチケットからなる。このジョブチケットには、印刷データをどのように処理すべきかについての指示が含まれている。制御装置2は、複数のコンピュータユニットを含んでおり、それらは内部LAN9を介して、相互に接続されている。このLANは、イーサネットやインフィニバンドとして形成されていてもよい。前記コンピュータユニットは、ホストコンピュータ10、複数のラスタコンピュータ11、複数のインタフェースコンピュータ12を含んでいる。
【0074】
ホストコンピュータ10は、印刷ジョブを受信し、印刷ジョブの一部を、印刷データをラスタ処理するための複数のラスタコンピュータ11に分配する。このホストコンピュータ10は、ここではこれらのラスタコンピュータ11の負担ができるだけ均等になるように試みる。これらのラスタコンピュータ11は、印刷データを印刷機構3の駆動制御に適するようにラスタ処理された印刷データに置き換える。ラスタ処理された印刷データは、ラスタコンピュータ11から内部LAN9を経由してインタフェースコンピュータ12に転送される。インタフェースコンピュータ12では、ラスタ処理された印刷データが一次記憶される。各インタフェースコンピュータ12は、それぞれ光導波路13を介して印刷機構制御部5の1つに接続され、光導波路13を介して、ラスタ処理された印刷データが対応する印刷機構制御部5に伝送される。
【0075】
印刷機制御部4は、制御装置2の内部LAN9の外部インタフェースに接続され、制御装置2のホストコンピュータ10から、印刷機、前処理装置、後処理装置を制御するための制御命令を受け取る。
【0076】
制御装置2の内部LAN9は、1つ以上の操作フィールドコンピュータ14及び/又は1つ以上のサービスコンピュータ15の接続のためのさらなる外部インタフェースを有していてもよい。
【0077】
さらにまた制御装置2はルータ16を有しており、該ルータ16にはWANを介してサービスコンピュータ17が接続可能である。
【0078】
印刷機操作フィールドコンピュータ18は、SPO−LAN(サービスパネルオペレータ−LAN)を経由して制御装置2のホストコンピュータ10と直接接続されている。印刷機操作フィールドコンピュータ18は、印刷データを検査し、制御するために使用される。この印刷機操作フィールドコンピュータ18は、典型的には、印刷システムにおける様々な印刷過程の経過を制御している一人のオペレータによって使用される。一方、操作フィールドコンピュータ14やサービスコンピュータ15は、印刷システム自体の連続運転を担当している複数のオペレータ又はサービス技術者によって利用されている。
【0079】
さらにこの印刷システムは、複数の操作フィールドコンピュータ14及び/又は複数のサービスコンピュータ15を有し、複数の印刷機操作フィールドコンピュータ18に接続されていてもよい。
【0080】
サービスコンピュータ15,17は、それらのアクセス権に関して、操作フィールドコンピュータ14とは異なっており、サービスコンピュータ15,17は、以下でさらに説明するように、操作フィールドコンピュータ14よりも多くの印刷システムの設定を行うことが許されている。例えば、サービスコンピュータでは、印刷システムにソフトウェアコンポーネントのインストールを実行することができるが、これは操作フィールドコンピュータ14では不可能である。
【0081】
制御装置2は、遠隔制御モジュール(PCI:電力制御インタフェース)19を有している。この遠隔制御モジュール19を用いることによって制御装置2は遠隔制御で、装置の立ち上げとシャットダウンを行うことが可能である。さらにこの遠隔制御モジュール19は、制御装置2を遠隔制御するさらなる機能を供給している。
【0082】
この印刷システムでは、複数の操作フィールドは、コンピュータ14,15,17,18に対して設けられている。
【0083】
制御装置2のホストコンピュータ10には、コンピュータディスプレイ上に印刷機のための操作フィールドを表示させ得る複数の操作フィールドモジュールを含んだ操作フィールドモジュールライブラリ20が設けられている(
図2)。前記操作フィールドモジュールは、コンピュータのディスプレイ上に表示される操作フィールドに関する制御も可能である。
【0084】
印刷機操作フィールドコンピュータ18は、SPO−LANを介して操作フィールドモジュールライブラリ20に接続されている。印刷機操作フィールドコンピュータ18には、操作フィールドを表示させ対応する制御機能を実行させるクライアントプログラムが設けられている。
【0085】
操作フィールドモジュールライブラリ20は、ウェブユーザーインタフェース21に接続されており、このウェブユーザーインタフェース21は、操作フィールドモジュールライブラリ20の操作フィールドをブラウザー内で使用できるウェブサーバーである。本実施形態では、ウェブユーザーインタフェース21は、アパッチトムキャットサーバーによって実現されているが、基本的には、他のウェブサーバーも適する。
【0086】
このウェブユーザーインタフェース21は、同じコンピュータ上に設けられたブラウザー22と直接通信することができは、その際にはウェブソケット24,25を介して通信が実施される。さらに別のコンピュータ14,15上に設けられている「外部」のブラウザー23との通信のために、ウェブユーザーインタフェース21にはそれぞれさらに別のウェブソケット24が結合されている。これらのウェブソケット24,25は、データリンクを介して当該ウェブソケット24,25の設けられたコンピュータに接続されているブラウザーに対して永続的な論理的インターネット接続を形成することのできるインタフェースを形成するソフトウェアモジュールである。ここでのデータリンクは、例えばデータネットワークである。
【0087】
ホストコンピュータ10におけるブラウザー22と、コンピュータ14,15におけるブラウザー23は、このようにして、ウェブユーザーインタフェース21から永続的に情報を得ることができ、ないしは、いつでも複数の情報や特定のメッセージを、ウェブユーザーインタフェース21に伝送することができる。ブラウザー22,23は、このことのために、それぞれ1つの対応するウェブソケット25を持っている。
【0088】
以下では、さまざまなコンピュータに設けられている個々のソフトウェアモジュールを詳細に説明する。
【0089】
ホストコンピュータ10には、既に説明した操作フィールドモジュールライブラリ20、ウェブユーザーインタフェース21、ブラウザー22の他に、オペレーティングシステム26、ファンクションコード27、ハードウエアに対するインタフェースのためのインフラストラクチャマネージャ28、ウェブユーザインターフェースデータベース29、ウェブユーザーインタフェースプラグイン30、トレースモジュール31が設けられている(
図3参照)。
【0090】
トレースモジュール31は、印刷機1及び/又は制御装置2において実行されたソフトウェアコンポーネント及び/又は他のコンピュータ8,14,15,16,17,18上で実行される「外部の」ソフトウェアコンポーネントの全てのエラープロトコルの表示のために用いられる。
【0091】
ファンクションコード27は、とりわけ印刷に係るソフトウェアルーチン、例えばホストコンピュータ10からラスタコンピュータ1への印刷データの負荷分散、ラスタコンピュータ11上での印刷データのラスタ処理のためのラスタ処理計算、ラスタ処理された印刷データのインタフェースコンピュータ12上での一次記憶(キャッシュ)などを実行するために形成されている。前記ファンクションコード27により、到来する印刷ジョブが、印刷機1において印刷され得るように処理される。
【0092】
ウェブユーザインターフェースデータバンク29は、ウェブユーザーインタフェース21を作動するための全ての永続的なデータ、例えば長期データ、ユーザーコンフィグレーションや設定のためのデータ、例えば一連のセンサのための初期化データ、以下で説明する制御構造のためのデータ、並びにウェブユーザーインタフェース21を作動するために必要となるさらなるデータなどを含んでいる。
【0093】
ウェブユーザーインタフェースプラグイン30は、対応するウェブユーザーインタフェースプラグイン30が設けられているローカルコンピュータ若しくはさらなる外部コンピュータとの通信のために用いられる。ウェブユーザーインタフェースプラグイン30には、予め定められたタスクやアプリケーションがファイルされている。
【0094】
操作フィールドモジュールライブラリ20は、複数の操作フィールドモジュールを含む。これらの操作フィールドモジュールについては以下で詳細に説明する(
図4)。
【0095】
DEエージェント(デバイスエージェント)32は、操作フィールドと印刷システムとの間の通信用のデータリンクと、操作フィールドと印刷システムとの間の結合要素とを形成する。さらに、DEエージェント32は、プリンタステータスを利用可能にするための標準化されたインタフェースを準備する。
【0096】
RMIサーバー(リモートメソッドインヴォケーションサーバー)33は、外部コンピュータから呼び出し可能であり、かつ、当該RMIサーバーが実行されているコンピュータ上で、例えばイベントのさらなる処理のために動作する。また、RMIサーバーは、こうしたリモートアクセスを可能にするもしくは容易にする複数の機能を利用できる。こうした機能は例えばアクセスチケットの設定であり、以下に詳細に説明する。
【0097】
ORSエージェント(オセ・リモートサービスエージェント)34はハードウェアデータ及びソフトウェアイベントのデータを収集し、これらのデータをホストコンピュータ10から(図示されていない)サービスセンタのコンピュータへWAN(ワイドエリアネットワーク)を介して伝送する。
【0098】
トレースエージェント35により、他のモジュールのトレースデータのマークアップもしくはロギング及びこれらのデータの処理が可能となる。
【0099】
ウェブサーバー36は、操作フィールドをコンピュータ14に表示して制御可能にするために、ホストコンピュータ10からJavaプログラミングライブラリなどのプログラミングライブラリをコンピュータ14へダウンロードできる。また、ウェブサーバー36は、コンピュータ14上の操作フィールドを初期化するために、ウェブスタート機能、例えばJavaウェブスタート機能を準備する。この実施形態では、ウェブサーバー36はアパッチトムキャットサーバーによって実現される。ただし、基本的には、他の全てのウェブサーバー、他の全てのプログラミングライブラリ及び/又は他の全てのウェブスタート機能も適する。システムパラメータマネージャ(SPマネージャ)37はモジュール間でのデータ分配に用いられる。
【0100】
SEAエージェント(サービスイベントログエージェント)38は、発生するイベントのプロトコル又はログファイルをガイドする。
【0101】
OPマスタ39は、ネットワークインタフェース、例えばパラメータを印刷機1へ伝送するため及びパラメータを印刷機1から伝送するためのSNMPゲートウェイを利用可能である。
【0102】
UICエージェント(ユーザインタフェースコントローラエージェント)40により、予め設定されたフローの制御、又は、ホストコンピュータ10に接続された印刷システムの所定の状態の設定が可能となる。例えば、これにより、印刷機1の動作準備過程が自動的に実行される。
【0103】
TRファイルコレクタ41は、トレースエージェント35の補完として、ホストコンピュータ上で動作する外部のメーカから供給されたプログラムのトレースデータを収集して処理するエージェントである。
【0104】
Ops‐PAC(Opsプリヴィリジドアクセスサービス)42は、所定の機能を実行する他のエージェント又は他のアプリケーションに特権(管理者権限)を割り当てるために用いられる。当該特権は、エージェント又はアプリケーションを所望の効果で実行するために一時的に必要となる。
【0105】
RDPエージェント(リモートダイアグノーシスプロセスエージェント)43は、内部サービスインタフェースを利用可能である。
【0106】
エラーエージェント44は、エラーの設定、収集、分配、表示及びリセットに用いられる。
【0107】
CDCエージェント45は、他の印刷機1の他の制御装置2の他のエージェントもしくはモジュールへの印刷パラメータの規格化された転送に用いられる。これらの印刷パラメータは例えば紙幅、色などである。
【0108】
ウェブユーザーインタフェース21は、複数のウェブユーザインタフェースモジュールを含む。これについて次に詳細に説明する(
図5)。
【0109】
ウェブサーバーモジュール46、例えばアパッチトムキャットは、ウェブユーザーインタフェース21の上述したウェブサーバー機能を利用可能である。ウェブサーバーモジュール46及び上述したウェブサーバー36は、ホストコンピュータ10で実行可能であるか又は実行されるウェブサーバーに統合することができる。
【0110】
ウェブサーバー46には、ウェブサーバーモジュール46の制御、特に操作フィールドを規定するデータオブジェクトに関する制御のための、規則、メソッド、機能、クラス及び/又は構造を形成するフレームワーク47が存在している。この実施形態では、フレームワーク47はGrailsフレームワークである。ただし、基本的には他のフレームワークも適する。
【0111】
ウェブサーバーモジュール46又はウェブユーザーインタフェース21の制御のプログラミングは、プログラムコード48を用いて行われる。さらに、プログラムコード48の一部であるプログラムルーチンは、必要に応じてブラウザー22,23に伝送され、伝送された当該プログラムルーチンによって、後述するように、好ましくは操作フィールドファイルにおいて、ブラウザー22,23が制御される。プログラムコード48は1つもしくは複数の(スクリプト)プログラミング言語の形態で作成される。この実施形態では、使用される(スクリプト)プログラミング言語はJava及びGroovyである。基本的には他のプログラミング言語又は他のスクリプトプログラミング言語も適する。プログラムコード48は印刷機固有のプログラム、プログラムルーチン、メソッド、機能、クラス、構造及び/又は拡張子を含む。
【0112】
外部のプラグイン49及び外部のライブラリ50は、ウェブユーザーインタフェース21のプログラミング及び/又は制御のための別の機能を供給するために用いられる。
【0113】
ウェブサーバーサービス(英語:services)51は、外部通信パートナーのウェブユーザーインタフェース21によって利用可能となる。ここで、外部の通信相手とは、ウェブユーザーインタフェース21の外部に存在してこれと通信する機器、装置、設備又はソフトウェアモジュールである。ウェブサーバーサービス51は外部の通信相手によって初期化され、ウェブユーザーインタフェース21内の機能を実行する。
【0114】
ビュー(英語:views)52を用いて、操作フィールドのユーザインタフェースでの表示のためにデータが処理される。コントロールストラクチャ(英語:controllers)53は、ウェブユーザーインタフェース21内の制御機能を引き継ぎ、表示すべきデータの内容を処理して、機能及びデータを準備する。この場合、特に、ブラウザー22,23からの問合せに対して表示すべきデータがビュー52に準備される。
【0115】
ウェブサーバーサービス51は、複数のサービス要素を含む。これにつき以下に詳細に説明する(
図6)。
【0116】
IsMaサービス(インフラストラクチャマネージャサービス)54は、プラグインを呼び出し、「外部」のシステム、例えば他のコンピュータ11,12上の他のIsMaサービス28と通信するために用いられる。
【0117】
メニューサービス55により、メニューストラクチャが形成及び管理される。例えば「外部」のシステムにメニューをダイナミックにダウンロードすることができる。
【0118】
PushHelperサービス56により、負荷分配と、制御され時間的に段階づけられた状態での「外部」のシステムへのデータの引き渡しとが可能になる。
【0119】
RMIサービス57により、ウェブユーザーインタフェース21と操作フィールドモジュールライブラリ20のRMIサーバー33との間の通信が可能となる。
【0120】
スケジューラーサービス58は、ソフトウェアイベントに応答し、時間に応じて予め計画されたタスク、例えばデータベースのデバッグを実行する。
【0121】
ブラウザー22,23は種々のブラウザー要素を含む。これについて以下に説明する(
図7)。
【0122】
(スクリプト)プログラミング言語モジュール59は、ブラウザー22,23の制御と、ウェブユーザーインタフェース21との通信の制御とに用いられる。(スクリプト)プログラミング言語モジュール59は、スクリプトプログラミング言語又はプログラミング言語用のインタープリタ又はコンパイラである。この実施形態ではJavaスクリプトがスクリプトプログラミング言語として使用される。ただし、基本的には、他の(スクリプト)プログラミング言語も適する。
【0123】
マークアップ言語モジュール60により、ブラウザー22,23に伝送されたマークアップ言語ファイルの解釈及び表示が可能となる。ここで、マークアップ言語は、上述したように、電子ドキュメントにおけるテキスト、画像及びハイパーリンクなどのディジタルコンテンツの構造化に用いられる。この実施例では、マークアップ言語は、現在のワールドワイドウェブコンソーシアムでの規格“HTML5”(英語:Hypertext Markup Language 5)にしたがって実現されている。ただし、基本的には他のマークアップ言語も適する。
【0124】
ドキュメントアクセスインタフェース61は、構造化された電子ドキュメント、例えばブラウザー22,23へ伝送されるマークアップ言語ファイルへのアクセスを可能にするインタフェースである。この場合、データ構造はツリー構造の形態で表示される。この実施形態では、ワールドワイドウェブコンソーシアムで定義されている“DOMLevel3”規格(英語:Document Object Model Level 3)に準拠したドキュメントアクセスインタフェースが用いられる。ただし、基本的には、他のドキュメントアクセスインタフェースも適する。
【0125】
設計言語モジュール62は、フォーマット化のためのテキストベースの設計言語、又は、構造化された電子ドキュメントのスタイルシートのための宣言型プログラミング言語を利用可能である。設計言語モジュール62を用いると、ブラウザー22,23に伝送されるマークアップ言語ファイルの表示がフォーマット化される。この実施形態では、設計言語は、ワールドワイドウェブコンソーシアムで定義されている“CSS3”規格(英語:Cascading Style Sheets)に準拠して実現される。ただし、基本的には、他の設計言語も適する。
【0126】
ラスタコンピュータ11は種々のソフトウェアコンポーネントを含む(
図8)。この実施形態では、こうしたソフトウェアコンポーネントは、既に上述した、オペレーティングシステム26、ファンクションコード27、インフラストラクチャマネージャ28及びウェブユーザーインタフェースプラグイン30である。
【0127】
インタフェースコンピュータ12は、種々のソフトウェアコンポーネントを含む(
図9)。この実施形態では、これらのソフトウェアコンポーネントは、上述したオペレーティングシステム26、ファンクションコード27、インフラストラクチャマネージャ28及びウェブユーザーインタフェースプラグイン30である。これらのソフトウェアコンポーネントに加えて、さらに、インタフェースコンピュータ12から印刷機構制御部5への印刷データの伝送を可能にする印刷機構制御ドライバ63も設けられている。
【0128】
印刷機制御部4は、種々のソフトウエアを含む(
図10)。これについて以下に説明する。
【0129】
メインモジュール64は印刷機制御部4の別のソフトウェアコンポーネントを制御及び監視するために用いられる。
【0130】
用紙搬送モジュール65は、印刷機1の繰出し器6及び巻取り器7及び(図示されていない)別の駆動ローラを駆動することにより、印刷機1の用紙搬送を駆動制御する。
【0131】
印刷ユニットモジュール66は、(図示されていない)センサによって、印刷能力及び/又は印刷品質に直接もしくは間接的に影響する印刷機構4の種々のパラメータ、例えば温度、空気湿分、用紙の有無などを検出する。印刷ユニットモジュール66は、検出されたパラメータを評価することにより、検出されたセンサデータから印刷機ステータスを求める。この評価は、そのつどのパラメータ値が印刷機構3の規則的な動作を定義する予め設定された値範囲内に存在するか否かを検査することにより行われる。印刷機ステータスはホストコンピュータ10へ伝送される。
【0132】
遠隔制御モジュール19は、ソフトウェアコンポーネントとして、オペレーティングシステム26及びSNMPサービス(シンプルネットワークマネジメントプロトコルサービス)67を含む(
図11)。SNMPサービス67は、遠隔制御モジュール19が制御装置2の他の装置と単純なネットワーク通信を行う際に用いられる。
【0133】
操作フィールドコンピュータ14は、ソフトウェアモジュールとして、オペレーティングシステム26、ブラウザー23及び操作フィールドユーザインタフェース68を含む(
図12)。操作フィールドユーザインタフェース68により、操作フィールドコンピュータ14上に印刷機1及び/又は制御装置2を操作するための複数の操作フィールドを表示し、このフィールド内で設定を行うことができる。操作フィールドユーザインタフェース68は、ウェブサーバー36から操作フィールドコンピュータ14へダウンロードされるJavaプログラミングライブラリとJavaウェブスタート機能とによって、上述したように初期化及び表示及び制御される。
【0134】
サービスコンピュータ15,17はソフトウェアコンポーネントとしてオペレーティングシステム26,ブラウザー23及びサービスモジュール(CoDi:コンフィグレーションアンドディアグノスティクス)69を含む(
図13)。サービスモジュール69を用いて、印刷機1及び/又は制御装置2のコンフィグレーションが変更され、印刷機1又は制御装置2からソフトウエア診断及び/又はハードウエア診断のための情報が受信される。
【0135】
この実施形態(
図1)では、種々のコンピュータ14,15,17,18,19を有しており、これらのコンピュータにより、各操作フィールドを用いて、印刷機1及び/又は制御装置2での設定タスクが行われ、印刷機1及び/又は制御装置2が監視される。特には、このために、複数の操作フィールドコンピュータ14及び/又はサービスコンピュータ15,17が制御装置2に接続される。
【0136】
ホストコンピュータ10は、接続されたコンピュータ14,15,17,18,19に対する操作フィールドを、これらのコンピュータ上で実行される操作フィールドモジュールライブラリ20を用いて形成するように構成されている。各操作フィールドはパラメータ及びコマンドのセットによって定義され、このセットがコンピュータ18,19へ伝送されて、そこで専用のクライアントプログラムにより操作フィールドへ変換される。コンピュータ14,15,17では、各コンピュータ14,15,17の操作フィールドを定義するパラメータ及びコマンドのセットが、後述する別の情報とともに、操作フィールド構造としてウェブユーザーインタフェース21から受け取られ、操作フィールドファイルへ変換される。この場合、操作フィールドファイルへの変換は、予め定められたマークアップ言語にしたがって行われる。この実施形態では、マークアップ言語としてHTML5が使用され、ドキュメントアクセスインタフェース61を用いて操作フィールドファイルへのアクセスが行われる。さらに、操作フィールドファイルは、この実施形態では、Javaスクリプトで作成されたプログラムコード48を含み、設計言語モジュール62を用いてその規則にしたがってフォーマット化される。この場合、操作フィールドファイルは、既存のデータリンクを介して、各コンピュータ14,15,17へ伝送される。
【0137】
各ブラウザー22,23は、操作フィールドファイルを解釈することができる。これにより、操作フィールドは、ユーザインタフェース(GUI:グラフィカルユーザインタフェース)に表示される。各操作フィールドは少なくとも1つの表示オブジェクトを有する。操作面の所定のパラメータ、値もしくはセクションの表示に用いられる表示オブジェクトは、操作フィールドの一部であり、それ自体では閉じた操作フィールドのエレメントである。操作フィールドの表示オブジェクトは相互に独立しており、相互に独立に伝送可能かつ更新可能である。典型的な表示オブジェクトは表示オブジェクトのタイプ、例えばリストフィールド、スイッチング面、チェックボックス、プログレスバー、値範囲などに対応するGUIエレメントである。表示オブジェクトは、所定の特性を有する、及び/又は、データソースの値、例えば、温度、スイッチ位置、テキスト、グラフィクス、リストなどを表示する。ここでの特性は、表示オブジェクトの基本特性、例えば、表示オブジェクトが読み出し専用(リードオンリ)であるか又は書き込み可能(ライタブル)であるか、又は、値特有の特性、例えば限界値、閾値などを含む。
【0138】
表示オブジェクト乃至そのタイプ及びその特性及び対応するデータソースの例として、ユーザーには制御できないチェックボックスが挙げられる。このチェックボックスは、特性としてマーク有り状態及びマーク無し状態を有し、スイッチによってデータソースに結合されている。スイッチが開放されている場合、チェックボックスはマークされず、スイッチが閉成されている場合、チェックボックスがマークされるか又は×印が入れられる。2つの状態間の切り換えはその特性(マーク有り状態及びマーク無し状態)によって行われる。別の例として、温度値が数字で表示されるテキストフィールドの形態の温度表示が挙げられる。テキストフィールドの特性には当該温度の温度閾値が格納されている。温度値が温度閾値を下回ると、設計言語モジュール62のスタイルシートに定められた黒字体で、数字が表示される。温度値が設定された温度閾値を上回ると、テキストフィールド用の設計言語モジュール62のスタイルシートにしたがって赤字体が設定され、テキストフィールドの赤字体の数字によって温度閾値の上方超過が報知される。
【0139】
(図示されていない)データソースは、データを検出するか又は伝送するように構成された装置もしくは設備、例えば、印刷機1又は制御装置2のセンサ(温度センサ、回転数センサ、光学センサなど)、スイッチングコンタクト、データベースなどである。データソースは、所定の時点で、パラメータ(温度)の値(例えば3℃)を正確に1つ伝送する。データソースは表示オブジェクトに結合されるか又はこれに対応づけられる。つまり、表示オブジェクトは、データソースの値を表示するように構成されている。
【0140】
各ブラウザー23は、コンピュータ14,15,17のいずれかにおいてセッション(英語:session)内で行われる。セッションとは、基本的に、クライアントコンピュータがサーバーコンピュータとの間に形成するコネクションを意味し、ここでの「セッション」の概念は、ブラウザー23内のクライアントコンピュータ14,15,17において、操作フィールドを定義するマークアップ言語ファイルが実行されることに関して用いられる。
【0141】
ブラウザー22もホストコンピュータ10でのセッションにおいて実行される。ここでの「セッション」の概念は、一貫して、ホストコンピュータ10のブラウザー22において操作フィールドを定義するマークアップ言語ファイルが実行されるものとして用いる。
【0142】
そのつどのセッションには、コンピュータ14,15,17のいずれかからホストコンピュータ10への最初のコネクション要求の際に、外部のプラグイン49によって、一義的なセッションID(英語:session-id)が割り当てられる。こうしたセッションIDは、ウェブユーザーインタフェース21で相応のセッションテーブルに記憶され、ホストコンピュータ10からコンピュータ14,15,17へ伝送される。セッションIDにより、ホストコンピュータ10のウェブユーザーインタフェース21とコンピュータ14,15,17のブラウザー23との間の通信が制御される。ホストコンピュータ10のセッションテーブル内には、セッションIDとともに、各ウェブソケット24のウェブソケットIDが結合されて記憶されるので、ウェブユーザーインタフェース21は、どのセッションでどのウェブソケット24を介して通信可能であるかを求めることができる。
【0143】
ブラウザーは、内部に、複数のウインドウもしくはレジスタカード(英語:tabs)による表示部を有する。ウェブユーザーインタフェース21は基本的にはセッションIDしか認識していないので、ブラウザー23のウインドウもしくはレジスタカードの操作フィールドの最初の呼び出し時には、呼び出し時に伝送されるブラウザー23のプログラムコード48により、ウェブユーザーインタフェース21でのウインドウID(英語:tab-id)の形成が開始され、ホストコンピュータ10上の後述する参照テーブル(
図14)に記憶される。ウインドウIDによってウェブユーザーインタフェース21は各ブラウザー23の各ウインドウを一義的に識別することができる。ウェブユーザーインタフェース21はウインドウIDを各コンピュータ14,15,17へ伝送するので、これらのコンピュータ14,15,17において、記憶によって、ウインドウIDをそれぞれのウインドウに持続的に割り当てることができる。ウインドウIDをいずれかのブラウザー23へこのように一義的に割り当てることについては後述する。
【0144】
各表示オブジェクトは、表示オブジェクトを一義的に識別するための一義的な表示オブジェクトIDを有する。表示オブジェクトIDは、操作フィールドモジュールライブラリ20により、ディスプレイに対して各表示オブジェクトを初期化する際、すなわち、操作フィールドを形成する際に形成され、ホストコンピュータ10の参照テーブルに記憶される。したがって、参照テーブルは、全てのブラウザー23で現在表示されている全ての表示オブジェクトを含む。
【0145】
表示オブジェクトIDは、操作フィールドを定義する操作フィールドファイルとして、確立されているデータリンクを介して、表示を行っているブラウザー23へ引き渡される。これにより、ブラウザー23は、同様にローカルなデータ構造で表示オブジェクトIDをコンピュータ14,15,17に記憶し、それぞれの表示オブジェクトに割り当てることができる。
【0146】
各データソースは、データソースIDを有しており、このデータソースIDによって、そのつどのデータソースが一義的に識別される。データソースIDは、それぞれのデータソースをインストールする際のホストコンピュータ10のコンフィグレーションとして記憶される。ただし、接続されたデータソースを求めてこれに自動的にデータソースIDを割り当てることにより、当該データソースIDを印刷機1及び/又は制御装置2の初期化時にダイナミックに形成することもできる。
【0147】
複数のコンピュータ14,15,17により、相応のデータリンクの必要帯域幅と応答時間とが増大する。したがって、コンピュータ14,15,17へのデータ伝送量、すなわち、ブラウザー23に表示される表示オブジェクト及び表示オブジェクト特性及び値の伝送量を低減し、利用可能な接続容量を個々のコンピュータ14,15,17へ分配することが所望される。
【0148】
伝送すべきデータ量を低減するために、所定の値を表示する表示オブジェクトは、表示すべき値を形成するデータソースと結合される。この結合は、表示オブジェクトに表示される値が変更される場合に、変更値だけが伝送され、値を含む表示オブジェクト全体が伝送されないように行われる。
【0149】
このために、ホストコンピュータ10には、データソースの所定の値を表示する表示オブジェクトと、ブラウザーウィンドウのセッションと、値の抽出元であるデータソースとの関係とを規定する参照テーブルが設けられ、更新される。当該参照テーブルにより、ウェブユーザーインタフェース21は、いずれの時点においても、各ブラウザー23で現在表示されている表示オブジェクト、特にデータソースの値を表示する表示オブジェクトについて知ることができる。
【0150】
参照テーブルは、入力項目として、表示オブジェクトID、セッションID、ウインドウID、ユーザーID及びデータソースIDを含む。ここで、表示された表示オブジェクトに関する情報は、ブラウザー23を利用しているユーザーのユーザーIDとともに、表示オブジェクトを表示するブラウザー23のセッションID及びウインドウIDに結合される。さらには、表示オブジェクトがこうしたデータソースに結合される場合、表示オブジェクトに結合されたデータソースが特定される。
【0151】
図14の参照テーブルは、個々の入力項目間の関係を記述するデータ構造の一実施形態である。データ構造は別様にも構成できる。特に、相互に関連する複数の部分テーブルから成るテーブルを設けてもよい。
【0152】
基本的に、印刷機1内もしくは制御装置2内のデータが複数のデータオブジェクトとして記憶される。当該複数のデータオブジェクトは相互に関連している。各データオブジェクト間の関係は関係性として記憶される。説明を簡単にするために、以下では、こうした抽象的な関係性に代えてテーブルを使用する。
【0153】
データソースの値の変更が生じると、各データソースによって、変更値及びデータソースIDを含む値変更イベントが形成され、ホストコンピュータ10へ送信される。ホストコンピュータ10は、DEエージェント32において値変更イベントを受け取り、これをRMIサーバー33へ転送する。RMIサーバー33は、値変更イベントを、ウェブユーザーインタフェース21のウェブサーバーサービス51へ転送する。ついで、ウェブサーバーサービス51は、参照テーブルから、データソースIDに結合された全ての表示オブジェクトIDと、対応するセッションID及びウインドウIDとを求める。その後、ウェブユーザーインタフェース21は、それぞれのウインドウIDと変更値を含むそれぞれの表示オブジェクトIDとを、求められたセッションのブラウザー23のみへ送信する。アドレシングされる全てのブラウザー23は、対応する表示オブジェクトの対応するウインドウにおいて変更値を表示する。値は、この場合、数字、テキスト、表示オブジェクトの特性、グラフィクスなどであってよい。
【0154】
GUI変更イベントは、ブラウザー23において、ユーザインタフェース(英語:graphical user interface, GUIと略称する)での変更を生じさせるユーザー動作、例えばメニュー呼び出し、ウェブページ呼び出し、フォーカス変更などが発生した場合につねにトリガされる。GUI変更イベントは、ブラウザー23からウェブユーザーインタフェース21へ送信され、セッションID、ウインドウID、ブラウザー23で実行される動作のタイプ、変更に関連する表示オブジェクトの表示オブジェクトID、及び、表示オブジェクトに関連する他の情報、例えば表示オブジェクトの特性などを含む。
【0155】
ウェブユーザーインタフェース21がGUI変更イベントを受信すると、インタフェース21はこれを操作フィールドモジュールライブラリ20へ転送する。操作フィールドモジュールライブラリ20は、GUI変更イベントから、各コンピュータ14,15,17へ伝送すべき表示オブジェクトと、その表示オブジェクトID及び表示オブジェクトタイプ及び特性と、これらに結合されているデータソースとを求め、これにより、ユーザインタフェースの表示を更新乃至変更する。操作フィールドモジュールライブラリ20は、これらの情報を、セッションID、ウインドウID及び他のパラメータ及びコマンドとともに、操作フィールド構造として、操作フィールドファイルを形成するウェブユーザーインタフェース21へ上述したように引き渡す。ウェブユーザーインタフェース21は、引き渡された表示オブジェクトを検査し、相応に参照テーブルを更新する。この場合、ウェブユーザーインタフェース21は、ブラウザー23のウインドウに表示されたオブジェクトを参照テーブルから除去しない。つまり、表示オブジェクトのうちブラウザー23のセッションID及びウインドウIDに対応する入力項目の全てが消去され、その後でブラウザー23のウインドウに新たに表示すべき表示オブジェクトが参照テーブルに追加されるのである。
【0156】
ウェブユーザーインタフェース21は、形成された操作フィールドファイルを、GUI変更が発生した相応のセッションのウインドウへ伝送し、受信側のブラウザー23は特性及び値を有する表示オブジェクトを表示する。例えば、ホストコンピュータ10は、メニュー呼び出しの際に、メニュー項目を含むメニューとその特性設定とを相応のブラウザー23へ伝送する。
【0157】
ブラウザー23の表示オブジェクトにおいて、ユーザーにより制御動作が行われると、つまり、値の変更又は印刷機1もしくは制御装置2へ作用する設定が行われると、相応の応答が可能となるよう、制御メッセージがウェブユーザーインタフェース21へ伝送される。
【0158】
参照テーブルのウインドウIDは、ブラウザー23が種々の操作フィールドを有する複数のウインドウを表示できるように構成されていない場合、又は、コンピュータ14,15,17上で複数回動作して複数の操作フィールドを表示できるように構成されていない場合、削除可能である。ウェブユーザーインタフェース21は、それぞれのセッションの個々の操作フィールドに対してのみ、変更値を伝送する。
【0159】
付加的に、参照テーブルは、各ブラウザー23のどのウインドウがアクティブであるか又はフォーカスを有するか、つまり、前景に表示され操作可能となるかという情報を付加的にホストコンピュータ10上に含む。ホストコンピュータ10は、このために、クライアントコンピュータ14,15,17から、どのウインドウがアクティブであるかという情報を受け取る。このことは、例えば、GUI変更もしくは制御動作が行われた制御動作又はGUI変更イベントとともにウインドウIDを伝送することにより、又は、ユーザーが各ブラウザー23のウインドウへのフォーカスを変更した場合には、ウインドウを前景に保持することにより、行われる。ウェブユーザーインタフェース21は、値変更イベントにおいて、セッション、ウインドウ、及び、値を伝送するための表示エレメントを参照テーブルから求める際に、フォーカス情報を考慮する。それぞれのデータソースに結合された、アクティブなウインドウに示された表示オブジェクトのみに、変更値が伝送される。これにより、伝送すべきデータをさらに低減できる。
【0160】
ホストコンピュータ10とこれに接続される別のコンピュータ14,15,17との間に用意される接続容量を効率的に利用するために、データは、統合された状態で、所定の時点で個々のコンピュータ14,15,17へ伝送される。
【0161】
所定の時点でのデータの伝送は、1回の伝送の後に所定時間を待機することにより実現される。つまり、1回のセッションでブラウザー23へのデータ伝送が行われるたびに、所定の待機時間が待機される。待機時間が経過しなければ、新たにデータを同じブラウザー23へ伝送できない。待機時間中に値が複数回変更された場合、この値は重ねてはブラウザー23へは伝送されず、待機時間の経過後に1回だけ伝送される。これにより、伝送すべきデータが低減される。また、待機時間により、待機時間中に他のブラウザー23に対して伝送を行えることが保証される。こうした待機時間はタイマによって形成される。
【0162】
続いて、ホストコンピュータ10上のウェブユーザーインタフェース21で実行可能な、参照テーブルの更新方法を説明する(
図15)。付加的に、この方法によれば、操作フィールド構造に表示オブジェクトが含まれる場合、ブラウザー23への伝送のために、表示オブジェクトをブラウザーバッファに格納できる。表示オブジェクトがデータソースに結合されている場合、データソースの値が読み出され、ブラウザーバッファへ入力される。
【0163】
本発明の方法は、ステップS1で開始される。ステップS2で、操作フィールドモジュールライブラリ20により操作フィールド構造がウェブユーザーインタフェース21で受信され、この構造によって、新たに形成されたいずれかのブラウザー23に新たな操作フィールドが表示される。操作フィールド構造は、操作フィールドをユーザインタフェースに表示するのに適した情報を含み、これは例えば、表示すべき表示オブジェクトの表示オブジェクトID、ブラウザー23のセッションID、ブラウザー23のウインドウID、及び、それぞれの表示オブジェクトに関連するその他の情報である。ここでのその他の情報としては、表示オブジェクトの特性、表示オブジェクトのタイプ、それぞれの表示オブジェクトに結合されたデータソースのデータソースIDなどが挙げられる。
【0164】
次のステップS3では、新たな操作フィールド構造が形成されて、参照テーブルに入力されたウインドウの表示オブジェクトの全体が、参照テーブルから除去される。このことは、これまでブラウザー23のウインドウに表示されていた表示オブジェクトが参照テーブルから消去されることを意味する。
【0165】
その後、表示オブジェクトの表示オブジェクトIDが受信された操作フィールド構造に含まれるか否かを検査するステップS4が実行される。
【0166】
ステップS4で表示オブジェクトが含まれていることが確認されると、ステップS5が実行される。ステップS5では、操作フィールド構造に含まれる第1の表示オブジェクトが、新たな表示オブジェクトとして、セッションID及びウインドウIDとともに、また表示オブジェクトとデータソースとを論理的に関連づけるデータソースIDが存在する場合にはこれとともに、参照テーブルに入力される。表示オブジェクトにデータソースが結合されていない場合には、データソースに対するフィールドに「関連するデータソース無し」を表す値すなわち“0”が入力される。
【0167】
ついで、ステップS6が実行される。ステップS6では、表示オブジェクトが、ブラウザー23のウインドウに対応するブラウザーバッファへ入力される。ブラウザーバッファは、それぞれのブラウザー23へ伝送されるデータ、例えば表示オブジェクトデータや値などのバッファリングに用いられ、セッションID及びウインドウIDを用いて正確にブラウザー23に割り当てられる。
【0168】
その後、表示オブジェクトがデータソースに結合されているか否かを検査するステップS7が実行される。
【0169】
ステップS7で表示オブジェクトがデータソースに結合されていることが確認されると、ステップS8が実行される。ステップS8では、表示オブジェクトに結合されているデータソースの値がデータソースから読み出され、続くステップS9においてブラウザーバッファへ入力される。これは、表示オブジェクトによって初回の出現時にユーザインタフェースに所定の値を表示できるようにするために用いられる。
【0170】
その後、別の表示オブジェクトが受信された操作フィールド構造に含まれているか否かを検査するステップS10が実行される。
【0171】
ステップS10で別の表示オブジェクトが含まれることが確認された場合、方法ステップは改めてステップS5へ移行し、別の表示オブジェクトが参照テーブルに入力される。
【0172】
ステップS10で別の表示オブジェクトが含まれないことが確認された場合、ステップS11で、動作を続行すべきか否かが検査される。動作を続行しなくてよい場合、ステップS12へ移行して、当該方法は終了される。動作を続行すべき場合、当該方法のフローはステップS11の実行後にステップS2へ移行する。
【0173】
ステップS4で表示オブジェクトが操作フィールド構造に受信されたことが確認されると、当該方法のフローは直接にステップS11へ移行する。
【0174】
ステップS7で表示オブジェクトがデータソースに結合されていないことが確認されると、当該方法のフローは直接にステップS10へ移行する。
【0175】
これに代えて、ウェブユーザーインタフェース21が、各ブラウザー23のウインドウの、GUI変更イベントによって伝送されるフォーカス情報を考慮することにより、つまり、ウェブユーザーインタフェース21が参照テーブル内のフォーカス情報を更新することにより、上述した参照テーブルの更新方法を拡張することもできる。このことは、例えば、ウェブユーザーインタフェース21がブラウザー23のウインドウもしくはセッションの新たに入力された表示オブジェクトに対するフォーカス情報に「真」を入力し、他の全ての表示オブジェクトに対する参照テーブルのフォーカス情報、すなわち、ブラウザー23の他の全てのウインドウの全ての表示オブジェクトに「偽」を入力することによって行われる。
【0176】
参照テーブルのフォーカス情報を更新することにより、フォーカスを有するウインドウ又は前景にあるウインドウに表示される表示オブジェクトの値のみを伝送し、フォーカスを有さないウインドウ又は背景にある表示オブジェクトの値の伝送を行わないための前提条件が、後述するように、形成される。これにより、伝送されるデータ量をさらに低減できる。
【0177】
ブラウザー23に示されている表示オブジェクトとデータソースとの関係性を特に規定した参照テーブルを更新する方法により、上記前提条件が形成される。これにより、データソースの値が変更される際に、それぞれのブラウザー23の表示を行っている表示オブジェクトへ変更値を選択的に伝送することによって、伝送すべきデータを低減することができる。
【0178】
ホストコンピュータ10上のウェブユーザーインタフェース21で実行可能な、参照テーブルによって値を現に表示オブジェクトに表示しているブラウザー23のみに変更値を選択的に伝送するよう準備する方法を、以下に説明する(
図16)。
【0179】
当該方法は、ホストコンピュータ10上で参照テーブルが上述したように保持及び更新されることを前提としている。
【0180】
当該方法は、ステップS21で開始される。ついで、ステップS22で、値変更イベントが発生したか否かが確認される。値変更イベントは、データソースの値が変更された場合につねにトリガされる。値変更イベントは、データソースからホストコンピュータ10へ伝送され、データソースIDとこのデータソースIDで参照されるデータソースの値とを含む。
【0181】
値変更イベントが発生すると、ステップS23が実行される。ステップS23では、データソースIDに基づいて、データソースの値を表示する表示オブジェクトの表示オブジェクトID全体と、この表示オブジェクトIDで参照される表示オブジェクトを表示しているブラウザー23の対応するセッションID及び対応するウインドウIDとが参照テーブルから求められる。
【0182】
その後、ステップS24において、求められた表示オブジェクトIDと値変更イベントに含まれる値とが共通のブラウザーバッファに入力される。共通のブラウザーバッファは、セッションID及びウインドウIDによって、表示オブジェクトを表示しているそれぞれのブラウザー23に割り当てられている。この場合、データソースの新たな値によって、ブラウザーバッファに存在していたデータソースの旧い値が上書きされる。これにより、ブラウザーウィンドウの所定の表示オブジェクトに対して、表示されるべき更新値のみがブラウザーバッファに記憶されることが保証される。
【0183】
その後、動作を続行すべきか否かを検査するステップS25が実行される。動作を続行しなくてよい場合、ステップS26へ移行し、当該方法は終了される。動作を続行すべき場合、当該方法のフローはステップS25の実行後にステップS22へ移行する。
【0184】
これに代えて、上述した、変更値の選択的伝送を準備する方法を拡張することもできる。この拡張は、データソースの値の変更時に、ウェブユーザーインタフェース21がウインドウの参照テーブルに予め記憶されているフォーカス情報を考慮して、フォーカスを有するウインドウ又は前景にあるウインドウ内に表示されている表示オブジェクトの値のみをそれぞれのブラウザーバッファに入力し、フォーカスを有さないウインドウ又は背景にあるウインドウ内に表示されている表示オブジェクトの値をブラウザーバッファに入力しないことにより行うことができる。これにより、伝送データ量がさらに低減される。
【0185】
参照テーブルによって実際に表示オブジェクトに値を表示しているブラウザー23のみに変更値を選択的に伝送するよう準備する方法により、ホストコンピュータ10から相応のブラウザー23へ伝送されるデータを低減することができる。
【0186】
さらに、データを統合する方法を以下に説明する(
図17)。このデータは、ホストコンピュータ10のウェブユーザーインタフェース21からいずれかのブラウザー23のウインドウへ伝送され、この伝送は予め定められた時点のみで行われる。コンピュータ14,15,17上のいずれかのブラウザー23の操作フィールドに表示される全てのウインドウに対して、当該方法はホストコンピュータ10上で実行される。
【0187】
当該方法は、上述した
図16の方法と同様に、変更値がブラウザー23の各ウインドウに割り当てられたブラウザーバッファに入力されることを前提としている。この場合、所定のパラメータの値によって、各ブラウザーバッファに存在していた同じパラメータの旧い値が上書きされる。これにより、所定のパラメータに対して更新値のみがブラウザーバッファに記憶されることが保証される。
【0188】
当該方法はステップS31で開始される。ステップS32では、セッションID及びウインドウIDによってブラウザーバッファに割り当てられたタイマが初期化される。初期化によって、タイマは、データの伝送後、新たなデータを伝送できるようになるまで待機されるべき時間部分に対応する値にセットされる。例えば、タイマには200msに対応する値がロードされる。
【0189】
ステップS33では、セッションID及びウインドウIDによってブラウザー23の各ブラウザーウィンドウに割り当てられているブラウザーバッファが伝送されるべきデータを含むか否かが検査される。
【0190】
データが含まれる場合、ブラウザーバッファからこれに対応するブラウザー23のウインドウへデータを伝送するステップS34が実行される。当該データ伝送は、次のように行われる。まず、ブラウザーバッファが他のアクセスに対して阻止される。ついで、ホストコンピュータ10がウェブソケット24,25を介してプッシュイベントを相応のブラウザー23へ送信する。さらに、ブラウザー23が、ウェブソケット24,25を介してブラウザーバッファのデータを読み出し、変更された表示オブジェクト、データ及び/又は値をブラウザーバッファに対応するウインドウに表示する。プッシュイベントは、対応するブラウザーウィンドウ用のデータをブラウザーバッファから読み出すべきことをブラウザー23に示すために用いられる。
【0191】
伝送の終了後、ステップS35において、ブラウザーバッファが空にされる。バッファが空である場合には、先行して行われた阻止が解除されて、別のアクセスが許可される。これに代えて、ブラウザーバッファを読み出しによって自動的に空にしてもよい。
【0192】
その後、ステップS36でタイマがイネーブルされ、動作しはじめる。
【0193】
続くステップS37では、例えば200msの上記時間部分の経過後にタイマによってトリガされるタイマインタラプトが待機される。ステップS37での待機は、ホストコンピュータ10で他のプロセスを並行して実行可能なように行われる。特に、タイマの動作中の他のプロセスは、対応するブラウザーバッファへの書き込みによってアクセス可能となる。
【0194】
タイマインタラプトが発生すると、動作を続行すべきか否かを検査するステップS38が実行される。動作を続行しなくてよい場合、ステップS39へ移行し、当該方法が終了される。動作を続行すべき場合、当該方法のフローはステップS38の実行後にステップS32へ移行する。
【0195】
ステップS33において、上記ブラウザーバッファにデータが含まれていないことが確認される場合、上記方法フローは直接、ステップS38の実行で継続される。
【0196】
データの伝送の後、新たにデータを伝送することが可能になる前までに待機すべき上記時間区間は、上の例では200msに設定されている。この時間区間は一般的には、10msから20sの範囲内に、特に10msから1sの範囲内にある。有利には異なるブラウザーバッファ毎に、ひいては異なるデータソース毎に、異なる長さを設定することができる。例えば、基本的に緩慢に変化し、10msの時間区間でのサンプリングが意味をなさないパラメータ、例えば温度値などもある。この場合には、例えば数秒の、殊に10sまでの時間区間で十分である。これに対して別のパラメータは、より短い時間区間でサンプリングされ、相応に頻繁に伝送されるべきである。したがってこれらの時間区間の長さは、有利には、各ブラウザーに対応付けられるデータソースによって決まり、複数のデータソースがある場合には、最短の時間区間を要するデータソースが、各ブラウザーバッファに対する時間区間を定めるのに決定的なデータソースになる。択一的には上記時間区間の長さは、ホストコンピュータ10とコンピュータ14,15,17との間の接続の利用可能な接続容量によって定めることも可能である。わずかな接続容量しか利用できない場合、上記時間区間をより長く設定して、データがあまり頻繁に伝送されないようにようにする。これに対して多くの接続容量が利用できる場合、上記時間間隔をより短く設定することができる。
【0197】
さらに上記時間区間の長さは、伝送すべきデータ量に基づいて定めることも可能である。より多くのデータを伝送すべき場合、上記伝送に対してより短い時間区間を設定する。これに対して、伝送されるべきデータがより少ない場合、より長い時間区間を設定することができる。
【0198】
時間区間の長さを設定する複数の判断基準は、上で説明したように個別に、又はこれらの判断基準のうちの複数を相互に組み合わせて使用することができる。
【0199】
上記方法では、伝送データの量に依存して値が変化する、ブラウザーバッファからのデータの伝送時間のタイムスロットパターンが、終了時に割り込みがトリガされる上記タイマの経過時間に加算されて定められ、これによってデータ伝送が新たに開始される。
【0200】
このやり方とは択一的に、所定時間の経過後に割り込みをトリガする計時機構としてのタイマを使用することも可能であり、これによって上記データ伝送が開始される。すなわち、上記タイムスロットパターンは、タイマの経過時間だけで定められるのである。ここで考慮すべきであるのは、タイマインターバルを十分に長く選択して、すべてのデータがブラウザーバッファから伝送されるようにする、ということである。
【0201】
別の選択肢としてにスケジューラを使用することができ、このスケジューラによって可能になるのは、データを伝送する際に、ブラウザー23に通知されているユーザーに基づき、上記のパラメータの伝送すべき種々異なる値の優先度、及び/又は、種々異なって実行されるブラウザー23の優先度を考慮することである。ここでこれは、このスケジューラが、優先度にしたがって最も高い優先度から最も低い優先度に上記データ伝送を制御することによって行われる。このスケジューラは、ネットワーク速度及び/又は接続されたコンピュータ14,15,17のレイテンシに関連して、使用したブラウザーバッファの充填レベルも考慮することもできるため、スケジューラは、速い接続及び/又は小さなレイテンシを有するコンピュータ14,15,17に比べて、遅い接続及び/又は大きなレイテンシを有するコンピュータ14,15,17により頻繁かつより長いデータを伝送することができる。
【0202】
ブラウザー23の1つのウインドウにおいて伝送すべきデータをまとめ、またあらかじめ定めた時点に伝送する上記方法により、ブラウザー23の複数のウインドウに、利用可能な接続容量を分割することができ、ここでこれは、ブラウザー23の1つのウインドウにデータを伝送した後、このウインドウが、別のデータ伝送を待機しなければならず、その合間にブラウザー23の別のウインドウにおいてデータを伝送できることによって行われる。
【0203】
印刷機1ないしは制御装置2が1つのユーザインタフェースだけから操作ないしは設定されることを保証するため、いわゆる「アクセスチケット」を使用する。このアクセスチケットを所有するユーザーだけが設定を行うことができる。このアクセスチケットは、ホストコンピュータ10に一度だけ存在する。
【0204】
このアクセスチケットは、RMIサーバー33によって管理される。アクセスチケットは、ウェブユーザーインタフェース21、RMIサーバー33、又は、接続されておりかつ上記操作フィールドがブラウザーにサポートされずに表示されるコンピュータ18,19に割り当てられる。このアクセスチケットは、これらのコンポーネントのうちの1つにだけ、ある時点で、割り当て可能である。
【0205】
印刷機構のような生産要素は遮断されているが、所定の制御要素がまだ動作しているスタンバイモードに印刷機1がある場合にだけ、操作フィールドを用いて制御装置2にアクセスすることができ、その際にはアクセスチケットを所有する必要はない。
【0206】
ウェブユーザーインタフェース21は、ホストコンピュータ10に接続されており、このウェブユーザーインタフェースは、アクセスチケットを所有することができ、またブラウザー23を介して印刷機1ないしは制御装置2の操作に対する機能を有する。ウェブユーザインタフェース21に接続されており、かつ、複数のセッションにおいてそれぞれ1つ又は複数の操作フィールドを表示することのできるブラウザー23は、複数存在するため、コンフリクトを回避するため、「セッションチケット」を設ける。
【0207】
このセッションチケットは、ウェブユーザーインタフェース21だけによって割り当てられ、1つのセッションにおいてコンピュータ14,15,17の1つのブラウザー23にだけ対応付けることができ、またブラウザー23が実行される各セッションに結び付けられる。
【0208】
ウェブユーザーインタフェース21は、これが1つのブラウザー23によって要求される場合にだけアクセスチケットを受け取る。ウェブユーザーインタフェース21がアクセスチケットを受け取ると、要求したブラウザー23はセッションチケットを受け取る。これにより、ウェブユーザーインタフェース21を介して印刷機1ないしは制御装置2を設定ないしは操作できる1つのブラウザー23が一意に識別される。ウェブユーザーインタフェース21がアクセスチケットを所有している場合、複数のブラウザー23のうちの1つが、セッションチケットを所有することができ、またあるブラウザー23からこのセッションチケットを取り上げて、別のブラウザー23に割り当てることができる。このようにして、種々異なるブラウザー上の操作フィールド間のコンフリクトを回避するため、下位のセッションチケット及び上位のアクセスチケットを有する階層的に構造化されたチケット管理が提供される。ウェブユーザーインタフェース21にアクセスチケットが割り当てられていることは、セッションチケットを割り当てることができるための前提である。これについての唯一の例外は、アクセスチケットが割り当てられておらず、1つのセッションチケットがだけが割り当てられているスタンバイモードに印刷機1があることである。
【0209】
ブラウザーは、このブラウザー内の複数のウインドウないしはレジスタカード(英語:tab)による表示を有し得る。このことは1つの問題になる。なぜならば、ウェブソケット24,25は、初期化の後、すなわち、操作フィールドの最初の表示の後、セッションを識別し、ひいてはブラウザー23を識別することができるが、このブラウザー23において開いている個々のウインドウを識別できないからである。この問題を解決するため、個々のウインドウにそれぞれ一意のウインドウIDを割り当てる。この場合には上記セッションチケットがこのセッションのウインドウに割り当てられる。
【0210】
以下では、ブラウザー23の1つのウインドウに一意のウインドウIDを割り当てる方法を説明する(
図18)。
【0211】
この方法は、ステップS51で始まる。ステップS52では、ユーザーが、そのブラウザー23を用いて、1つのウインドウから、ウェブユーザーインタフェース21によって生成された入口ウェブページを、操作フィールドに呼び出したか否かがチェックされる。この入口ウェブページは、ブラウザー23と、ウェブユーザーインタフェース21とを接続するために呼び出される最初のウェブページである。この入口ウェブページの呼び出しは、例えばURL(英語:uniform resource locator)又はIPアドレスの形態で、ブラウザー23のアドレス行に、あらかじめ決められたネットワークアドレスを入力することによって行われる。入口ウェブページでは、ユーザログインの形態でユーザーの認証を行うことができる。入口ウェブページのこの呼び出しにより、ウェブソケット24,25も初期化される。
【0212】
ステップS52において確認されるのは、入口ウェブページが呼び出されたことであり、この場合、ウェブユーザーインタフェース21は、呼び出されたウェブページを、すなわち、入口ウェブページを、埋め込まれたプログラムコード48を有するマークアップ言語ファイルとして送信する。このプログラムコードは、(スクリプト)プログラミング言語モジュール59によって実行される。この実施例において、この埋め込まれたプログラムコード48は、Javaコードである(ステップ53)。
【0213】
つぎにステップS54が実行される。ここではユーザーのブラウザー23が、送信された入口ウェブページを受信し、表示し、埋め込まれたプログラムコード48を実行する。
【0214】
つぎにステップS55が実行され、ここでは、上記コードがセッション内ではじめて実行されたか否かがチェックされる。これは、例えばブラウザー23内にそのために設けられたデータオブジェクトにアクセスすることによって行うことができ、このデータオブジェクトは、最初のアクセスの後にはじめて初期化される。これにより、このデータオブジェクトへの最初のアクセス時にエラーがトリガされることになり、このエラーが記録されて評価される。後続の各アクセス時にはエラーは生成されない。このデータオブジェクトは、このブラウザー23が閉じられた場合、ブラウザー23においてはじめて除去される。
【0215】
上記コードが最初に実行される場合、ステップS56が実行され、このステップでは、ユーザーが認証される。権限が付与されたすべてのユーザーには、少なくとも1つのユーザー識別子ないしはユーザーID、対応するパスワード又は例えばチップカード上に記憶されたコード、生体的特徴など別の認証手段及びユーザロールないしはユーザグループが割り当てられている。ユーザロールないしはユーザグループには、どのようなアクションがこのユーザーに許可されどのようなアクションが許可されていないかを定めるユーザー権限が付与されている。ホストコンピュータ10は、一人のユーザーへの割り当てのため、種々異なるユーザー権限を有する種々異なるユーザロール及び/又はユーザグループを保持可能である。これらの情報は、ホストコンピュータ10の1つ又は複数のユーザテーブルに記憶されている。この(これらの)ユーザテーブルには、ユーザーと、その権限と、その認証とに結び付けられている複数の情報、例えばユーザーID,ユーザー名、ユーザー識別子、パスワード、ユーザロールないしはユーザグループ、ユーザー権限が含まれている。この(これらの)ユーザテーブルには、操作フィールドモジュールライブラリ20及び/又はウェブユーザーインタフェース21がアクセス可能である。ユーザー認証は、ユーザーがブラウザー23の操作フィールドの入口ウェブページにそのユーザー識別子及び対応するパスワードを入力することによって行われる。ウェブユーザーインタフェース21は、この入力を受信し、1つ又は複数のユーザテーブルに記憶されている複数の情報に基づいてチェックする。ユーザーが、そのユーザー識別子を正しいパスワードと共に入力すると、すなわちこのユーザーが認証されると、ウェブユーザーインタフェース21は、このユーザーに、あらかじめ設定されたユーザロールを割り当て、ひいてはあらかじめ設定されたユーザー権限を割り当てる。これは、このウェブユーザーインタフェースが、上記の情報を記憶された1つ又は複数のユーザテーブルから情報を求めることによって行われる。
【0216】
つぎにステップS57が続き、ここではセッションIDが取り決められるかないしはセッションに対して一意に確定される。将来的に通信が行われる場合、このセッションIDによってセッションを、ひいてはブラウザー23を一意に識別することができる。ここでは、ユーザー名ないしはユーザーIDと結び付けてウェブユーザーインタフェース21にセッションIDを記憶する。これにより、ウェブインタフェース21は、セッションをユーザーに割り当てることができ、これによってこのセッションのユーザロールないしはユーザー権限を推定することができる。
【0217】
つぎにステップS58が続き、ここではウェブページに埋め込まれたコードにより、取り決められた上記セッションIDが読み出される。これは、一意のウインドウIDを生成するという要求と共にウェブユーザーインタフェース21に送信し、ウェブユーザーインタフェース21によって生成されたこの一意のウインドウIDを受信し、ウインドウに結び付けられた記憶領域に記憶する。この記憶領域は、例えば、ウインドウ内に開かれたウェブページにおける不可視の表示オブジェクトとすることが可能である。通信チャネルないしはウェブソケットがセッションIDによって参照される将来のすべての通信において、上記ウインドウIDが一緒に送信される。これにより、ウェブユーザーインタフェース21は、コンピュータ14,15,17上のウェブページに埋めこれまたコードと同様に、ブラウザー23のどのウインドウに対し、ないしは、どのウインドウから送信された情報であるかを識別する。ここではウインドウIDは、セッションIDに対して上で説明したのと同様に、ユーザー名ないしはユーザーIDに関連付けてウェブユーザーインタフェース21に記憶されるため、ウェブユーザーインタフェース21は、ウインドウIDを介して、セッションのウインドウのユーザーを特定し、ひいてはそのユーザロールないしはユーザー権限を特定することができる。
【0218】
つぎにステップS59が続き、ここでは動作を継続するか否かがチェックされる。動作を継続しない場合、ステップS60が続き、ここでこの方法が終了する。しかしながら動作を継続する場合、この方法フローは、ステップS59を実行した後、ステップS52に進む。
【0219】
ステップS55において上記コードがはじめて実行されたのではないことが確認された場合、この方法フローは直接ステップS58に進む。
【0220】
一意のウインドウIDをブラウザー23の1つのウインドウに割り当てる上記の方法によって保証されるのは、1つのセッションにおいてコンピュータ14,15,17に表示されるウェブページにおける1つのウインドウが、一意のウインドウIDを得ることである。この一意のウインドウIDによって可能になるのは、セッションチケットをブラウザー23の1つのウインドウに一意に割り当てることである。付加的には、どのユーザーが上記システムにおけるセッションのどのウインドウにエントリしているかについての情報を記憶することができる。
【0221】
ブラウザー23において複数のウインドウを使用する際には、1つのウインドウが閉じられるか又はもはや応答できない、すなわち、例えば埋め込まれたコードがクラッシュした場合に、上記ウインドウにセッションチケットもこの瞬間に割り当てることができるとしたら、一意のウインドウIDを有する各ウインドウがもはや存在しないことについてウェブユーザーインタフェース21に通知しなければならないという問題が発生する。
【0222】
この問題は、ウェブユーザーインタフェース21が、前に参照テーブルに記憶されている一意のウインドウIDに基づき、これらのウインドウがまだ開いており、かつ、応答可能であるか否かについてサイクリックにチェックすることによって解決される。このためにウェブユーザーインタフェース21は、すべてのセッションにおけるすべてのブラウザー23においてウェブユーザーインタフェース21に既知であるブラウザー23のすべてのウインドウの埋め込まれたプログラムコード48にそれ自体を通知する要求(Ping)を送信する。ウェブユーザーインタフェース21は、埋め込まれかつブラウザー23の各ウインドウにおいて実行されるプログラムコード48からの、ウインドウの一意のウインドウIDを有するエコーを応答として待ち受ける。一意のウインドウIDを有するこの応答が、あらかじめ設定した待ち時間後にも戻って来ない場合、ウェブユーザーインタフェース21は、この一意のウインドウIDを参照テーブルから削除する。これによって保証されるのは、閉じられているか又はもはや応答できないウインドウが参照テーブルから削除されることである。
【0223】
もはや開かれていないか又は応答できないウインドウがセッションチケットを所有する場合、ウェブユーザーインタフェース21は、引き続いてどのように振る舞うべきかを決定することができる。これには、以下で説明する複数の選択肢が存在する。すなわち、
1. いまや解放されたセッションチケットは、対応するセッションにおいてブラウザー23がアクティブでありかつ印刷機1又は制御装置2用の操作フィールドが表示されている場合、このセッションチケットを前に有していた、同じブラウザー23の別のウインドウに自動的に割り当てられる(同じユーザー、同じセッション、同じブラウザー23)。
【0224】
2. いまや解放されたセッションチケットは、対応するセッション内に別のブラウザー23がアクティブでありかつ操作フィールドが表示されている場合、このセッションチケットを前に有していた、このユーザーの別のブラウザー23に自動的に割り当てられる(同じユーザー、同じセッション、別のブラウザー23)。
【0225】
3. いまや解放されたセッションチケットは、このセッションチケットを有していたのと同じユーザーの別のブラウザー23に割り当てられ、ブラウザー23が別のセッションにおいてアクティブでありかつ操作フィールドを表示している場合、ブラウザー23は別のセッションにおいて動作する(同じユーザー、別のセッション、別のブラウザー23)。
【0226】
4. いまや解放されたセッションチケットは、場合によってはユーザー優先度にしたがって選択された別のユーザーに割り当てられる。これらのユーザーの優先度は、例えば、これらのユーザーがセッションチケットを求める問い合わせを送信した時点にしたがって設定され、最も新しい又は最も旧い問い合わせが、より高い優先度を有し得る(別のユーザー、別のセッション、別のブラウザー23)。
【0227】
5. いまや解放されたセッションチケットは、セッションチケットの新たな要求に対する待機領域ないしは待機プールにわたされ、ひいてはウェブユーザーインタフェース21に戻される。
【0228】
ただ1つのウインドウしか許可されないブラウザーを使用する場合、ウインドウIDは不要である。この場合には、ウインドウIDの代わりにセッションIDをサイクリックに監視し、もはや開いていないブラウザー又はもはや応答できないブラウザーでは、上で説明したのと同様にセッションチケットを割り当てるかないしは残しておく。
【0229】
印刷機1又は制御装置2へのアクセスは、上で説明したように、コンピュータ14,15及び17のうちの1つのコンピュータ上で実行可能なブラウザーにより、複数のデータリンクを介して、すなわち異なるコンピュータ14,15,17によって同時に、及び、異なるユーザーによってウェブユーザーインタフェース21に対して行われる。ここで注意しなければならないのは、以下に説明するセキュリティ規則が守られるようにすることであり、これらのセキュリティ規則は、クライアントコンピュータ14,15,17からホストコンピュータ10に送信されるアクション要求(英語:request)において検査される。すなわち、
・ 認証された人間ないしは装置だけからのアクション要求、
・ 十分なアクセス権を有する人間ないしは装置だけからのアクション要求、
・ 各ブラウザー23が、アクション要求の実行に対して適切な表示オブジェクトを表示する場合だけのアクション要求、
・ 印刷機状態がこれを許可する場合だけのアクション要求
において検査される。
【0230】
認証された人間ないしは装置からのアクション要求の検査とは、アクション要求を含む人間ないしは装置の識別子が、この人間及び/又は装置が前もって正常にホストコンピュータ10において認証されているか否かについてチェックされることである。このような必要な認証が行われていない場合、このアクション要求は拒否される。
【0231】
さらに上記アクション要求が、十分なアクセス権を有する人間ないしは装置だけから発せされたものであるか否かを検査することができる。ここでは、このアクション要求に記載されている人間ないしは装置が読み出され、その各ロールに格納されているアクセス権が確かめられる。これらのアクセス権を満たしていないアクション要求は拒否される。
【0232】
認証された装置及び/又は十分なアクセス権を有する装置には、例えば、サービスコンピュータ15,17が含まれる。これによって保証されるのは、安全に対してクリティカルなアクション要求は、サービスコンピュータ15,17だけから可能になり、操作フィールドコンピュータ14から発せられる安全に対してクリティカルなアクション要求は、拒否されることである。安全に対してクリティカルなアクション要求とは、印刷システムの安全性、ハードウェア及び実行可能なソフトウェアの安全性、及び/又は、そこで作業する人間の安全性を損なうアクションの要求のことである。
【0233】
安全に対してクリティカルなアクション要求をトリガする人間の認証及び/又は十分なアクセス権の有無をチェックすることによって保証されるのは、権限が付与された人間のアクション要求だけが実行されることであり、権限が付与されていない人間の安全にクリティカルなアクション要求は拒否される、ということである。
【0234】
ここでは、アクション要求が、実際に各ブラウザー23に表示される表示オブジェクトから発せされたか否かをチェックすることも可能である。上記参照テーブルには、各ブラウザーないしはセッションへの割り当てと共に表示オブジェクトが格納されている。アクション要求には表示オブジェクトIDが含まれている。この表示オブジェクトIDは、これが、対応するブラウザー23ないしは対応するセッション及びウインドウに対応付けられているか否かに関してチェックされる。対応付けられていない場合、このことが意味するのは、この表示オブジェクトが、表示されず、アクション要求の権限が与えられないことである。
【0235】
さらに、アクション要求が、目下の印刷機状態の点から可能であるか否かをチェックすることができる。印刷機状態に依存して、所定のアクションは許可され得ない。例えば、ケーシングがサービス作業のために開放されている場合、紙の搬送の開始は許可されない。
【0236】
有利には、上記の種々異なるチェックはすべて、クライアントコンピュータ14,15,17のうちの1つからホストコンピュータ10に送信される各アクション要求時に実行される。しかしながら基本的には、上記のセキュリティ規則のうちの1つ又は複数だけを検査することも可能である。チェック時に複数のセキュリティ規則のうちの1つに違反することが確認されると、対応するアクションが阻止される。
【0237】
この多段階の安全性コンセプトにより、ウェブページないしはマークアップ言語ファイルにおいて、ホストコンピュータ10のウェブユーザーインタフェース21から各ブラウザー23に送信される複数の同時の操作が阻止される。なぜならば、実行される各アクション要求において、上で説明したセキュリティ規則がチェックされるからである。例えば、各ブラウザー23のキャッシュ内に記憶されるウェブページないしはマークアップ言語ファイルのプログラムコード48における操作的な変更が識別される。なぜならばウェブユーザーインタフェース21は、各ブラウザー23に表示される表示オブジェクトについて情報をつねに得ることができ、これによってアクション要求がそもそも妥当なものであるか否かを検査できるからである。
【0238】
以下では、システム安全性についてのアクション要求をチェックする方法を説明する。この方法は、上で説明した安全コンセプトを実行するものである(
図19)。
【0239】
この方法はステップS71ではじまる。ステップS72では、ウェブユーザーインタフェース21に複数のブラウザー23のうちの1つのブラウザのアクション要求が含まれていたか否かがチェックされる。アクション要求には、例えば、印刷機1又は制御装置2に対する制御命令、1つの値を変更するための命令、データを読み出すための命令が含まれており、印刷機1,制御装置2又はウェブユーザーインタフェース21のこれらのデータには、例えば、ウェブページないしはマークアップ言語ファイルが含まれている。複数のブラウザー23のうちの1つから送信されたアクション要求には、送信したブラウザー23のセッションIDと、アクション要求を送信したウインドウに対応付けられている各セッションのウインドウIDと、アクション要求をトリガした表示オブジェクトと、命令コードと、例えば複数の値のような別のパラメータと、このアクション要求に関連するデータオブジェクト等とが含まれている。
【0240】
ウェブユーザーインタフェース21にアクション要求が含まれていた場合、続いてステップS73が実行され、ここでは、ブラウザー23のユーザーが、このアクション要求に対して認証されているか否かがチェックされる。このチェックは、上で説明した1つ又は複数のユーザテーブル及び参照テーブルを用いて行われる。参照テーブルには、複数のブラウザー23のうちの1つのブラウザの各セッションID及び各セッションのウインドウIDにユーザーIDが割り当てられており、このユーザーIDを介してブラウザー23のユーザーが参照される。このユーザーIDには、ホストコンピュータ10の1つまたは複数のユーザテーブルにおいてユーザロールが対応付けられており、各ユーザロールは、どのユーザー権限があるかを定めている。アクション要求において渡されるパラメータ、セッションID及びウインドウIDにより、ウェブユーザーインタフェース21は、参照テーブルからユーザーIDを求める。このユーザーIDに基づき、ウェブユーザーインタフェース21は、1つ又は複数のユーザテーブルからユーザロールを求め、このユーザロールを用いてユーザー権限を、すなわちこのユーザーはアクション要求に対して認証されているか否かを求める。
【0241】
認証されている場合、ステップS74が実行され、ここでは参照テーブルに基づき、表示された表示オブジェクトにより、ブラウザー23においてアクション要求の開始が可能であるか否かがチェックされる。上記参照テーブルは、ウェブユーザーインタフェース21により、上で説明したように、GUI変更イベントが発生した場合にはつねに更新される。ウェブユーザーインタフェース21は、参照テーブルを用い、ブラウザー23の各ウインドウにおいてどの表示オブジェクトが現在表示され、ひいては操作可能であるかを特定する。これにより、ウェブユーザーインタフェース21は、ブラウザー23のウインドウにおいてアクション要求の開始が可能であるか否かをチェックすることができる。
【0242】
ブラウザー23においてアクション要求の開始が可能である場合、上記方法フローは、ステップS75に進み、ここでは操作フィールドモジュールライブラリ20により、印刷機状態に関して上記アクション要求の実行が許可されるか否かがチェックされる。このチェックは、例えば、印刷機1又は制御装置2のところで作業している人間、及び/又は印刷機1又は制御装置2にとって危険な状況に結び付くアクション要求の実行を阻止するのに使用される。例えば、紙ロールを交換している場合、繰出し器6及び/又は巻取り器7は動作させてはならない。別の例は、印刷機1の内部における修理熟練工による修理であり、この際には記録担体の搬送に使用される電動モータを動作させることは、修理熟練工にとって危険になり得る。
【0243】
ステップS75において、印刷機状態に関してのアクション要求が許可されることが確認される場合、ステップS76が続き、ここではアクション要求が実行される。
【0244】
つぎにこの方法フローは、ステップS77の実行で継続され、ここではウェブユーザーインタフェース21により、上記アクション要求を与えたブラウザー23の操作フィールドないしはその表示オブジェクト及び/又は表示された値が制御されて、アクション要求の実行がユーザーに通知される。この通知は、これが操作フィールド上に表示されることによって行われる。このステップでは、例えばアクション要求の実行に関連する表示オブジェクトを表示する別のブラウザー23の操作フィールドを更新することも可能である。
【0245】
つぎにステップS78の実行が続き、ここでは動作を継続すべきか否かについてチェックされる。この動作を継続すべきでない場合、S79が続き、ここでは上記方法が終了する。しかしながらこの動作を継続すべき場合には、この方法フローは、ステップS78を実行した後、ステップS72に進む。
【0246】
ステップS72において、アクション要求が含まれていないことが確認された場合、この方法フローは直接、ステップS78に進む。
【0247】
ステップS73において、ユーザーがアクション要求に対して認証されていないか、又はステップS74において、ブラウザーにおけるアクション要求の開始ができないことが確認されるか、又はステップS75において、印刷機状態に関してアクション要求の実行が許可されないことが確認される場合、この方法フローはステップS77に進み、ここでは通知として、エラーメッセージが形成され、このエラーメッセージは、アクション要求を送信したコンピュータ14,15,17に表示のために送信される。このステップでは、例えば、アクション要求の拒否に関連する表示オブジェクトを表示する別のブラウザー23の操作フィールドも更新することもできる。
【0248】
システム安全性についてのアクション要求をチェックする上記の方法によれば、ウェブユーザーインタフェース21は、ユーザーがアクション要求に対して認証されていること、ブラウザー23におけるアクション要求の開始が、表示された複数の表示オブジェクトのうちの1つによって可能であること、またアクション要求が印刷機状態に関して許可されることをチェックする。この実施例において、チェックしたこれらすべての判断基準が当てはまる場合にのみ、送信されたアクション要求が実行される。チェックしたこれらの判断基準の1つだけでも当てはまらない場合には、アクション要求の実行は阻止される。付加的には、上記方法により、アクション要求の実行又はその阻止に関連している複数のブラウザー23の、特にこのアクション要求を開始したブラウザー23のユーザインタフェースの更新が開始される。
【0249】
高性能デジタル印刷機の開発時には、開発元の企業から提供される種々異なるソフトウェアテストツールが使用される。これらのソフトウェアテストツールの一部は開発元の企業それ自体によって作成される。これらのソフトウェアテストツールは、アクション要求を印刷機1及び/又は制御装置2に行うため、例えば複数のアクションを実行するため、又はパラメータを設定するために構成することができる。さらにパラメータ値は、例えば温度センサの温度値のようにデータソースから上記ソフトウェアテストツールによって読み出して表示することができる。一般的には、印刷機開発の所定の状態から、このソフトウェアテストツール又はその一部を印刷システムのシステムソフトウェア開発プロセスに採り入れなければならない。すなわち、これらのソフトウェアテストツールは、操作フィールドモジュールライブラリ20及び/又はサービスモジュール69に採り入れられ、これによってこれらが正しく機能することをテストできるようにする。
【0250】
この際には、システムソフトウェアへのこのような採り入れにより、種々の困難が発生するという問題がある。なぜならば、
・ 印刷システムのシステムソフトウェア及びソフトウェアテストツールは、異なる複数のプログラミング言語によってないしはプログラミング言語で作成されることが多い、
・ 印刷システムのシステムソフトウェア及びソフトウェアテストツールは、印刷システムへの異なる複数のインタフェースを使用する、
・ ソフトウェアテストツールの操作性は、例えばユーザインタフェース、コンポーネントの挙動、言語などの設計について印刷システムのシステムソフトウェアのガイドラインに適合していない、及び/又は
・ 標準化されたインタフェースが使用されないため、上で説明したセキュリティ規則を(部分的に)潜り抜ける可能性がある。
【0251】
したがって一般的には、ソフトウェアテストツールによって提供される機能を印刷システムのシステムソフトウェアに採り入れられるようにするため、ソフトウェアルーチン及び/又はユーザインタフェースを要求に適合させるかないしは要求にしたがって新たに作成しなければならないのである。
【0252】
この問題を解決するため、外部のテストメニューを取り込むための方法が提供される。ここではテストメニューが必要に応じて、印刷システムのシステムソフトウェアの実行中にも、後付けでインストールされ、変更され、ないしは適合されるか除去される。テストメニューは、開発企業の種々異なる部門のソフトウェア開発の枠内で作成されるメニューである。上記の「外部」とは、テストメニューを提供するリソースが、印刷システムのシステムソフトウェアのコンポーネントではないことを意味する。テストメニューはフレームワーク47に基づいて作成される。
【0253】
以下では、印刷システムのシステムソフトウェアにテストメニューを自動的に取り込む方法を説明する(
図20)。
【0254】
この方法はステップS91ではじまる。ステップS92では、テストメニュー記述ファイルがホストコンピュータ10に存在するか否かがチェックされる。なぜならば、例えば、テストメニュー記述ファイルは、ホストコンピュータ10で作成されているか又はホストコンピュータ10に接続されているデータ担体にコピーされているからである。こここでは、テストメニュー記述ファイルは、あらかじめ定めた記憶領域に、例えば記憶媒体のデータディレクトリに格納されている。択一的にはこの記憶領域は、ブラウザー22,23毎に、ブラウザー22,23のウインドウ毎に、1つのブラウザー22,23が実行されるセッション毎に、ユーザー毎に、及び/又はコンピュータ14,15,17毎にあらかじめ設定することができ、これは、例えば所定のブラウザーに、ブラウザーの所定のウインドウに、セッションに、ユーザーに、及び/又は、コンピュータ14,15,17に記憶媒体のデータディレクトリを割り当てることによって行われる。
【0255】
テストメニュー記述ファイルには、1つ又は複数のテストメニューの構造を記述するエントリが含まれている。これらのテストメニューエントリには、テストメニューが付随している、テストメニューID及び/又はテストメニュー名と、操作フィールドのメニューエントリの名前及び/又はIDが含まれており、すなわち、エントリポイントと、テストメニューのメニューエントリと、これに結合されたソフトウェアコンポーネント及び/又はリソースとが含まれている。テストメニューエントリは、完全なテストメニューの構造を記述する。テストメニュー記述ファイルには、1つ又は複数のテストメニュー用の記述が含まれており、すなわち、テストメニュー記述ファイルには、1つ又は複数のテストメニューエントリが含まれているのである。テストメニュー記述ファイルの構造は、フレームワーク47に定められているルール及びメソッドにしたがって、ないしは、プログラムコード48に定められているメソッド、機能、クラス、構造及び/又は拡張にしたがって構成される。
【0256】
テストメニュー記述ファイルが存在する場合、ステップS93が実行され、ここでは表示したすべてのテストメニューがメニュー構造体から除去される。このメニュー構造体は、このメニュー構造体を表す、ホストコンピュータ10におけるデータ構造体である。有利にはこのようなメニュー構造体は、エントリが互いに関係を有する1つのテーブル又は複数のテーブルに記憶される。しかしながらメニュー構造体は、例えばツリー構造などに結合されたリストとして別の適切なデータ構造体に記憶することも可能である。
【0257】
つぎにステップS94が続き、ここでは(第1の)テストメニューエントリをテストメニュー記述ファイルから読み込む。ステップS93の後、ステップS94が実行されると、テストメニュー記述ファイルからテストメニューの第1のエントリが読み込まれる。ステップS94の実行には、別のステップの実行が先行するが、これについてはさらに先で説明する。
【0258】
続いてステップS95が実行され、ここではステップS94で読み込んだテストメニューが、そのコンポーネントと共にテストメニューエントリにしたがって形成され、既存のメニュー構造体に組み込まれる。ここではテストメニューは、テストメニュー記述ファイルにおいて特定されたエントリポイントにおいて既存のメニュー構造体に加えられ、ないしはエントリポイントにおいて既存のメニュー構造体に結合される。
【0259】
つぎに上記の方法フローは、ステップS96に進み、ここでは、別のテストメニューエントリがテストメニュー記述ファイルに存在するか否かがチェックされる。別のテストメニューエントリが存在する場合、改めてステップS94が実行される。ここではステップS94においてつぎのテストメニューエントリがテストメニュー記述ファイルから読み込まれる。しかしながら別のテストメニューエントリが存在しない場合、ステップS97の実行が続き、ここでは表示が更新される。表示を更新する際には、メニュー構造体が完全に読み込まれ、操作フィールド構造体に挿入される。この操作フィールド構造体は、すでに上で説明したように、ウェブユーザーインタフェース21によって受け取られて操作フィールドファイルに変換される。これにより、メニュー構造体は、対応するブラウザー22,23に操作フィールドの表示のために送信される、あらかじめ定めたマークアップ言語の操作フィールドファイルの一部になる。
【0260】
つぎにステップS98が実行され、ここではタイマが初期化される。このタイマは、ブラウザー22,23が実行されるセッションに、また存在する場合にはブラウザー22,23の対応するウインドウに対応付けられる。上記初期化により、タイマは、テストメニュー記述ファイルが存在するか否かを新たに検査する前に待機すべき時間区間に対応する値にセットされる。この待ち時間の値は、1ミリ秒と1分との間とすることができる。例えばこのタイマには、1秒に相当する値がロードされる。
【0261】
その後、タイマがイネーブルされて時間が経過する(ステップS99)。
【0262】
これに続くステップS100では、例えば1秒の時間区間が経過した後、タイマによってトリガされるタイマ割り込みを待たれる。ステップS100におけるこの待機は、ホストコンピュータ100において、別のプロセスを並列に実行できるように行われる。
【0263】
タイマ割り込みが発生すると、ステップS101が実行され、ここでは上記の動作を継続すべきか否かがチェックされる。動作を継続しない場合、ステップS102が続き、ここではこの方法が終了する。しかしながらこの動作を継続する場合、この方法フローは、ステップS101を実行した後、ステップS92に進む。
【0264】
ステップS92において、テストメニュー記述ファイルが存在しないことが確認される場合、ステップS103の実行が続き、ここではテストメニューがブラウザー22,23に表示されたか否かがチェックされる。これは、テストメニューを表すメニュー構造体におけるエントリに基づいてチェックされる。
【0265】
テストメニューに対するこのようなエントリがメニュー構造体に存在する場合、ステップS104では、このようなエントリはすべてメニュー構造体から除去される。つぎにこの方法フローはステップS97に進む。
【0266】
しかしながらステップS103において、テストメニューが表示されないことが、すなわちテストメニューを表すエントリがメニュー構造体に存在しないことが確認された場合、続いてステップS98が実行される。
【0267】
ブラウザー22,23によって表示される操作フィールドに表示されるメニュー構造体にテストメニューを組み込む、上で説明した方法によれば、元々ソフトウェアテストツールとして開発されたソフトウェアルーチンを実行可能に、印刷システムのシステムソフトウェアにランタイムに簡単に組み込むことができる。これによってソフトウェアルーチンは、表示されたメニュー構造体を介して呼び出し可能である。これによって達成されるのは、
・ ソフトウェアルーチンの簡単かつ高速なテストにより、ソフトウェア開発が格段に容易になり、
・ 使用されるインタフェースは、特にフレームワーク47にしたがってテストメニューを作成することよって標準化され、
・ 表示されるテストメニュー及びそのメニューエントリを介して実行可能なソフトウェアコンポーネントは、上で説明したセキュリティ規則に従っているか、ないしは、これが安全に対してクリティカルなアクション要求をトリガする場合にセキュリティ規則に従わせることができ、
・ メニュー構造体の変更ないしは組み込みは、これがホストコンピュータ10において中央で行われるため、ブラウザー22,23に対してはリモートアクセスで行われ、
・ テストメニューによって使用される資源は、動的にランタイムに組み込まれ、
・ テストメニューのプログラミングが、上記テストメニューを作成するための対応するプログラミングガイドラインにしたがってパートナー企業によって行われる場合、ソフトウェアルーチンを含めてソフトウェア開発に関与するこのパートナー企業のテストメニューも簡単に組み込むことができる。
【0268】
表示すべきテストメニューが存在するか否かのチェックは、所定の時間間隔でサイクリックに行われる。ここで特に有利であるのは、作成したソフトウェアコンポーネントを、製品印刷システムに、又はテストを目的として動作される印刷システムに組み込んでテストすることができ、また印刷システムのシステムソフトウェアに後に採り入れられるソフトウェアコンポーネントの正しい動作がすでに前もってテストされる。
【0269】
上で説明した複数の実施例では、データ構造体として複数のテーブルが使用されている。これらのテーブルは例である。テーブルは、別の構造で構成することも可能であり、これらのテーブルは複数のテーブルに分割するか、複数のテーブルを共通の1つのテーブルにまとめるか、又は所定のパラメータセットを別のテーブルに記憶することが可能である。本発明にとって重要であるのは、実施例において使用したパラメータ間の互いの関係ないしはリレーションである。テーブルの代わりに別の任意のデータ構造体、例えばデータベース、リスト又は階層的なデータ構造、例えばツリー構造をこれに使用することも可能である。
【0270】
基本的には、上でブラウザー23についてないしブラウザー23に関連して説明した全ての方法ステップは、ホストコンピュータ10におけるブラウザー22についてないしはブラウザー22と共に実行することができる。
【0271】
本発明は、生産システムに対する、例えば印刷システムに対する操作フィールドを動作させる方法に関する。この生産システムは、ホストコンピュータ(10)を含む制御装置(2)を有している。ホストコンピュータ(10)は、データリンクによって1つ又は複数のクライアントコンピュータ(14,15,17)に接続されており、これらのクライアントコンピュータ上では1つのブラウザー(23)が実行される。各ブラウザー(23)には、生産システムに対する操作フィールドが表示されている。操作フィールド上で一人のユーザーが操作することにより、アクション要求がウェブユーザインタフェース(21)においてトリガされ、このアクション要求により、ホストコンピュータ(10)におけるアクションが要求される。各アクション要求の際、ウェブユーザインタフェース(21)は、あらかじめ定めたルールにしたがって、このアクションが許可されるか否かを検査し、これが許可されない場合にこのアクションが阻止される。