(57)【特許請求の範囲】
【請求項１】
複数の装置にネットワークで接続されたデータ処理装置であって、
データベースと、
前記複数の装置の状態または動作に関する情報を処理する少なくとも１つのウェブオブジェクトであって、前記ウェブオブジェクトが取り得る複数の状態と、前記複数の状態のうちの１つの状態から他の１つの状態に遷移するときに前記ウェブオブジェクトが実行すべきアクションと、を定めるステートマシンを含むウェブオブジェクトと、
前記ウェブオブジェクトによる処理を管理するランタイム・サポート回路と、
を備え、
前記ウェブオブジェクトは、前記ネットワークで前記データ処理装置に接続されたクライアントの要求を表すイベントの受け取りに応じて、前記ステートマシンで定められたアクションを実行し、かつ前記ステートマシンで定められた状態の遷移を行うことにより、
前記複数の装置のうちの少なくとも１つから、当該装置の状態または動作に関する情報を、前記ネットワークを介して収集し、収集した情報を前記データベースに記憶させるステップと、
前記データベースから読み出した情報を処理し、当該処理の結果の情報を前記データベースに書き込むステップと、
前記データベースに記憶された情報を用いて、前記ネットワークで接続された装置の情報に関するデータを表示するウェブページを形成し、形成したウェブページを前記クライアントの表示装置に表示させるステップと、
を実行し、
前記ランタイム・サポート回路は、前記ウェブオブジェクトに対する前記イベントの配信を管理し、前記ウェブオブジェクトにおいて１つの前記イベントの受け取りに応じたアクションの実行および状態の遷移が完了するまでは、他の前記イベントを前記ウェブオブジェクトに渡さない、
ことを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上にある複数の装置の自動的なデータ収集、モニタ、分析および計量（metric）に関する。
【０００２】
【従来の技術】
広範囲な技法が、ウェブベースの並行（concurrent）システム環境に存在する各個別テクノロジの取り扱いについて、広く知られている。例えば、ウェブクライアント（Web Client）ユーザインタフェースに焦点を合わせた技法もある。簡易ネットワーク管理プロトコル（SNMP）データに焦点を合わせた技法もある。簡易ネットワーク管理プロトコルは、ネットワークで接続された複写機、プリンタ、ファックス装置および多機能装置が、ステータスやその他のデータを共有するために使用する。さらにその他にも、インターネットを介した、またはプログラム間の通信のさまざまな方法、および計量のためのデータ分析と処理に焦点を合わせた技法もある。
【０００３】
ネットワークで接続された並行装置環境では、多くの装置によって実行されているデータ、状態およびアクションが、ほとんど常時、しばしば同時に変化する。この装置環境では、データを解釈し、ステータス情報が効率的に報告されることを保証するために、一連の秩序だった規則、ポリシー、機構が整備されることが必要である。複写機は１つ以上の備品（サプライ）を切らすかもしれず、請求書データは報告される必要があるかもしれず、操作警報は必要とされる装置修理者に関して発せられる必要があるかもしれず、ネットワーク装置の備品は、それらが少なくなると発注し、注文票が自動的に作成される必要があるかもしれず、装置のステータスはリフレッシュされる必要があるかもしれず、正確な統計に基づく情報が生成される必要があるかもしれず、および／または、多くのユーザとシステムによって使用されているデータの評価に役立つように、適切な計量（metric）が適用される必要があるかもしれない。
【０００４】
【発明が解決しようとする課題】
同時に、アプリケーションテクノロジは、たとえ、それがウェブベースであろうとも、規則または機構にほとんど統一性がないさまざまなテクノロジにまたがる必要があろう。例えば、データベースの使用についてのテクノロジおよび実践（practice）は、ウェブページ生成、リアルタイムの簡易ネットワーク管理プロトコルのデータ収集のテクノロジおよび実践、またはステートマシンの規則および実践とはかなり異なっている。従って、このようなさまざまなテクノロジを統合してアプリケーションを構築するために必要とされる専門的知識は、過度にきびしく要求されていることがありうる。
【０００５】
本発明は、ウェブベースの並行システム環境における多くのテクノロジ、規律および／または操作上の配慮に関連する複雑さの多くを克服するデータ処理装置を提供する。
【０００６】
【課題を解決するための手段】
本発明の一態様のデータ処理は、複数の装置にネットワークで接続されたデータ処理装置であって、データベースと、前記複数の装置の状態または動作に関する情報を処理する少なくとも１つのウェブオブジェクトであって、前記ウェブオブジェクトが取り得る複数の状態と、前記複数の状態のうちの１つの状態から他の１つの状態に遷移するときに前記ウェブオブジェクトが実行すべきアクションと、を定めるステートマシンを含むウェブオブジェクトと、前記ウェブオブジェクトによる処理を管理するランタイム・サポート回路と、を備え、前記ウェブオブジェクトは、前記ネットワークで前記データ処理装置に接続されたクライアントの要求を表すイベントの受け取りに応じて、前記ステートマシンで定められたアクションを実行し、かつ前記ステートマシンで定められた状態の遷移を行うことにより、前記複数の装置のうちの少なくとも１つから、当該装置の状態または動作に関する情報を、前記ネットワークを介して収集し、収集した情報を前記データベースに記憶させるステップと、前記データベースから読み出した情報を処理し、当該処理の結果の情報を前記データベースに書き込むステップと、前記データベースに記憶された情報を用いて、前記ネットワークで接続された装置の情報に関するデータを表示するウェブページを形成し、形成したウェブページを前記クライアントの表示装置に表示させるステップと、を実行し、前記ランタイム・サポート回路は、前記ウェブオブジェクトに対する前記イベントの配信を管理し、前記ウェブオブジェクトにおいて１つの前記イベントの受け取りに応じたアクションの実行および状態の遷移が完了するまでは、他の前記イベントを前記ウェブオブジェクトに渡さない、ことを特徴とする。本発明はまた、さまざまな異なったテクノロジを、個々のテクノロジのみで実現できるよりも、より簡明でより首尾一貫した方法で結びつけるシステムおよび方法を提供する。
【０００７】
本発明はまた、ウェブベースの並行システム環境におけるウェブオブジェクトを利用するシステムおよび方法を提供する。
【０００８】
本発明はまた、ステートマシンとイベント機構を使用して、１つ以上のウェブオブジェクトを自動的に作成するシステムおよび方法を提供する。本発明のある態様では、ウェブオブジェクト状態遷移が生成され、リアルタイムで遷移する。さまざまな実施例では、それらのステートマシン内でのウェブページ状態遷移およびアクションは、ユーザのインタラクションとは無関係に実行される。
【０００９】
本発明はまた、永続的ウェブオブジェクトの完全性を改良し、改良されたオンラインおよび／またはオフラインのデータ更新をウェブページに埋め込むことを可能にするシステムおよび方法を提供する。
【００１０】
本発明はまた、多くの実装を可能にするシステムおよび方法を提供する。これらの実装では、１つ以上のフロントエンドのウェブサーバまたは関連するシステムが、共通の永続的ウェブオブジェクトにあるデータの一貫性および完全性を維持しながら、共通の永続的ウェブオブジェクトを操作する。
【００１１】
本発明はまた、フロントエンドシステム間のロードバランスを取ることができるシステムおよび方法を提供する。
【００１２】
本発明はまた、共通のウェブオブジェクトの代替のビューが同時にできるシステムおよび方法を提供する。
【００１３】
本発明はまた、データの読み出しと書き込みを共有する複数のユーザの各々が、人を介してでも、あるいは自動的にでも、ウェブオブジェクトにアクセスすることができ、その際、他のユーザのデータのビューと完全性に影響を与えないシステムおよび方法を提供する。
【００１４】
本発明はまた、テンプレート駆動型（template-driven）の機構を備えたウェブオブジェクトを使用するシステムおよび方法を提供する。このテンプレート駆動型の機構によって、ウェブページを構成する個々のウェブオブジェクトの作成、動的な修正および／または永続性は大幅に簡単になる。
【００１５】
本発明はまた、テンプレート駆動型の機構を備えたウェブオブジェクトを使用するシステムおよび方法を提供する。このテンプレート駆動型の機構によって、並行性、コンテンション（contention）およびアトミシティ（atomicity）の規則は、ウェブページを構成する個々のウェブオブジェクト間に適用できる。
【００１６】
本発明はまた、オブジェクト、ステートマシン、イベントおよび状態内でのアクションを使用するウェブオブジェクトを含むシステムおよび方法を提供する。
【００１７】
本発明に従ったある態様では、ウェブベースの並行システムおよび方法は、データ収集、モニタ、分析および／または計量作成を自動化する。これは、企業のネットワークで接続された複写機、プリンタ、ファックス装置、多機能装置、および／または、その他の既知であるか、または後に開発されるネットワークで接続可能な装置についてのステータスおよびデータをアセンブルおよび表示することとは無関係に行われる。このようなステータスおよびデータを表示するウェブページは、ウェブオブジェクトを使って効率的にアセンブルされる。
【００１８】
またある態様では、本発明に従ったシステムおよび方法は、内部および／または外部のステータスと装置データを、多数のネットワークで接続された装置から集めて、設定する。これは、非同期式および／または同期式で、装置内にあるか、装置に埋め込まれるか、または装置に付随する、簡易ネットワーク管理プロトコル、拡張されたマーク付け言語（extended markup language）またはウェブサーバを含むさまざまなテクノロジを使ってなされる。前記装置データは、ネットワークデータベースに記憶できる。
【００１９】
またある態様では、前記ネットワークで接続された装置のデータが、前記ネットワークで接続された装置から集められると同時に、本発明に従ったシステムおよび方法は、基盤となっている前記ネットワークデータベースからのネットワークで接続された装置のデータを使って、図表、文字、統計、計量および／またはステータスの情報を生成する。
【００２０】
またある態様では、この情報が生成されるのと同時に、生成された情報は複数のユーザに統合（assemble）されて提示され、および／またはオンデマンド表示のためのウェブブラウザにおいてアセンブルされる。
【００２１】
本発明に従ったシステムおよび方法のある態様は、リアルタイムで並行して動作するウェブアプリケーションにおける問題、例えば、多数のテクノロジへの対応、複数のユーザ間の並行性とコンテンションの問題点の解決、およびデータ変更の並行性の解決を認識することに基づいており、それによってデータの完全性が改良、または保持される。
【００２２】
ある態様では、本発明に従ったシステムおよび方法は、各ウェブオブジェクト間の明示的な関係を含むウェブオブジェクトを使用し、これによって、ウェブオブジェクト間の通信は、イベントとウェブオブジェクトに付随する一連の固定した規則を使って成し遂げられる。これらの関係と規則の実施によって、本発明に従ったシステムおよび方法は、通常の方法で、データベースロッキングなどの、より低いレベルでより複雑な細目の取り扱いを必要とせずに作成できる。これらのビルトインされた規則は、アプリケーションの作成を簡単にする。
【００２３】
本発明に従ったシステムおよび方法のある態様では、テンプレートウェブオブジェクトの各々は、例えば、手動で、またはウェブページ生成ツールを使って、別々に作成できる。前記ウェブオブジェクトは、適切なウェブオブジェクトの状態から、ウェブページとして表示するために、ウェブブラウザにより、動的に結合され、登録（populate）される。ある態様では、ウェブオブジェクトの提示は、レイアウトとアピアランス指示とをテンプレートに置くことによって、その内容と分離しておくことができる。
【００２４】
本発明に従ったある態様では、フレームワークがウェブアプリケーションを開発するために提供される。このフレームワークは、ウェブアプリケーションそのものとは異なる。ウェブアプリケーションは、フレームワーク内で作成され、フレームワークによって実行される。本発明に従ったフレームワークは、ウェブアプリケーションの態様を制約する公式の（formal）フレームワークや規則のない、その場限りの非公式の（informal）ウェブアプリケーションを作成するための方法とは対照的でなくてはならない。本発明のフレームワークに従ったある態様では、並行するウェブベースのネットワークで接続された装置の計量表示、分析および管理を提供する。
【００２５】
公式の（formal）アプローチを提供することによって、本発明に従ったシステムおよび方法のある態様では、重要な点、例えばデッドロックと競合の条件を回避する、並行するリクエストマネージメントにおいて、ウェブアプリケーションの動作（behavior）を強化する。本発明のシステムおよび方法のある態様に従った公式のアプローチから生じるウェブアプリケーションは、より容易に理解し、メンテナンスできる。さらに、本発明のシステムおよび方法のある態様では、ウェブアプリケーションの再設計は簡単になり、ウェブアプリケーションの動作はよりよく予測できるようになる。
【００２６】
本発明の特徴および利点などは、本発明に従ったシステムおよび方法の種々の態様についての以下の詳細な説明に記載され、またはそこから明らかに理解される。
【００２７】
【発明の実施の形態】
本発明のさまざまな実施形態に従って、ウェブアプリケーションを開発するためのフレームワークが提供される。このフレームワークは、ウェブオブジェクトのルーチンまたは仮想のマシンを提供する。本発明のさまざまな実施形態に従って、ウェブオブジェクトは、オブジェクト、並行して動作するステートマシン（state machine）、イベントおよび状態内のアクションの使用を介してウェブページを構成するテンプレート駆動型の機構である。前記ウェブオブジェクトは、並行して動作するステートマシン、イベントおよび状態内のアクションのそれぞれの間の明示的な関係を定義する。前記ウェブオブジェクトは、ウェブアプリケーションのコンポーネントの永続的なステートマシンビューを提供する。
【００２８】
イベントによって、メッセージおよび／または情報をウェブオブジェクトに送ることができる。ウェブオブジェクトは、外部のソース、例えばウェブブラウザまたは他のウェブオブジェクトからイベントを受け取ることができる。さまざまな実施形態では、各ウェブブラウザはデータを含むことができ、および／または宛先を指定することができる。
【００２９】
ウェブオブジェクトの状態は、過去のイベントの履歴を提供し、ウェブオブジェクトが、新しいイベントへのそのウェブオブジェクトの応答を、そのウェブオブジェクトの過去のイベントの履歴に基づいて修正することを可能にする。従って、さまざまな実施形態では、ウェブオブジェクトは、ウェブオブジェクトに状態を変更させ、その状態に付随するアクションを実行させることができるイベントを、受け取り、送ることができる。
【００３０】
さまざまな実施形態では、ウェブオブジェクト内で定義されたアクションは、そのウェブオブジェクトによって受け取られるイベントに当該ウェブオブジェクトがどのように反応するのかを指定する。例えば、イベントは、ウェブオブジェクトに、そのウェブオブジェクト内および／または他のウェブオブジェクト内に含まれているデータを修正させることもある。その代わりに、またはそれに加えて、イベントは、そのウェブオブジェクトに状態を変更、および／またはイベントを生成させることもある。生成されたイベントは、ウェブブラウザなどの外部エンティティ、または別のウェブオブジェクトに送られることもある。例えば、状態内のウェブオブジェクトのアクションは、読み出し、書き込まれたデータを１つ以上の外部装置から集めて、そのデータをウェブブラウザに表示し、他のウェブオブジェクトに書き込み、および／または外部の装置に書き込むこともある。
【００３１】
本発明に従ったシステムおよび方法のさまざまな実施形態では、ウェブオブジェクトシステムはウェブオブジェクトの永続性のための機構を含む。この永続性機構によって、ウェブオブジェクトは、その状態を、長期にわたり、ウェブオブジェクトが受け取るいかなる要求とも無関係に維持することができる。例えば、ウェブオブジェクトの状態は、基盤となっているデータベースなどの永続的な記憶機構に記憶されてもよい。
【００３２】
本発明のさまざまな実施形態に従って、ウェブオブジェクトシステムは、イベントディスパッチャも、そのランタイム・ソフトウェアの一部として含む。イベントディスパッチャは、イベントをキューに入れ、各イベントを予測可能な方法で、その特定のイベントによって指定された宛先に送る。例えば、イベントが、ウェブブラウザからのHTTPリクエストなどの外部ソースによって生成されるときには、そのイベントは、イベントが生成される順にイベントのキューに入れられる。イベントディスパッチャは、各イベントを、イベントキューから、イベントとそのデータを受け取る指定された宛先に送る。
【００３３】
本発明に従ったシステムおよび方法のさまざまな実施形態に従って、ウェブオブジェクトシステムは、ロッキング機構も含む。このロッキング機構によって、ウェブオブジェクトが状態間の適正な遷移を正確に行い、状態内で実行されるアクションが割り込まれないことが保証される。これによって、データおよび／またはアクションが他のアクション、イベントおよび／またはウェブオブジェクトによって破損する可能性が減少する。従って、本発明のシステムおよび方法のさまざまな実施形態では、ロッキング機構によって、ウェブオブジェクトは、状態を変更し、および／またはアクションを実行している間に、他のイベントによって割り込まれることは不可能になる。ウェブオブジェクトは、その状態を変更し、および／またはそのアクションの実行を完遂した後でのみ、以後のイベントを処理できる。ウェブオブジェクトの状態変更は、従って、同一のウェブオブジェクトまたは他のウェブオブジェクトにおける他のイベントや状態の変更、およびそれらが関係するデータによって、インタリーブされたり、割り込まれたりできないように最小のものであり、全体で完結しなくてはならない。本発明に従ったシステムおよび方法のウェブオブジェクトのランタイム・コンポーネントは、ウェブオブジェクトがアトミシティ（atomicity）を別個に実装する必要がないように、当該アトミシティを保証（ensure）するために必要な細部を管理する。
【００３４】
本発明に従ったシステムおよび方法のさまざまな実施形態では、このウェブオブジェクトシステムは、例えばHTMLにコード化されたウェブページなどの、ウェブオブジェクトの１つ以上の外部表現（external representation）を提供するテンプレート作成システムまたは装置も含む。ウェブオブジェクトの外部表現は、継続的に（continuously）再生成する必要がないように、永続的でありうる。すなわち、外部表現全体が再生成されていることよりも、むしろ更新を必要とするウェブオブジェクトのみが再生成される必要がある。
【００３５】
本発明に従ったシステムおよび方法のさまざまな実施形態では、ウェブオブジェクトシステムは、個々のウェブオブジェクトの表現を結合させて、より大きな表現にすることによって、個々のウェブオブジェクトから、より大きく、より複雑な並行通信ウェブオブジェクトを作成できる。
【００３６】
本発明に付随する通信システムおよび方法は、本願明細書と共に提出され、その全体の参照により本願明細書に援用する、同時係属の米国特許出願第０９／７１８４９３号（代理人整理番号第１０６８１５号）に、より詳細に記載される。
【００３７】
図１は、本発明に従った計量およびステータスの提示システム１００の第１の実施形態の機能ブロック図を示す。図１に示されるように、計量およびステータスの提示システム１００のコンポーネントは、分散形ネットワーク１０１を介して通信できる。分散形ネットワーク１０１は、例えば、イントラネット、エキストラネット、ローカルエリアネットワーク、都市圏（metropolitan area）ネットワーク、ワイドエリアネットワーク、衛星通信ネットワーク、赤外線通信ネットワーク、インターネット、ＷＷＷ、またはその他の既知、または今後開発される分散ネットワークのいずれでもありうる。
【００３８】
計量およびステータスの提示システム１００は、少なくとも１つの遠隔装置２００を含む。さまざまな実施形態では、遠隔装置２００は、ネットワークで接続された複写機、プリンタ、ファックス装置、多機能装置、あるいはすべての既知、または今後開発されるネットワーク接続可能な装置などの装置を１つ以上含む。計量およびステータスの提示システム１００は、データ処理装置３００、ウェブオブジェクト提示作成装置４００、および少なくとも１つのウェブクライアント５００も含む。本発明のさまざまな実施形態では、遠隔装置２００についての計量および／またはステータスデータは、データ処理装置３００によって集められて処理され、それからウェブオブジェクト提示作成装置４００に送られる。ウェブオブジェクト提示作成装置４００は、データ処理装置３００によって処理され、および／またはテンプレートに含まれているデータからの表示（presentation）、例えばウェブページ、にアクセスし、および／またはそれを作成する。表示は、ウェブクライアント５００によってリクエストされると、作成される。
【００３９】
図２は、図１に示される遠隔装置２００の実施形態を示す。図２に示されるように、遠隔装置２００は、コントローラ２１０、メモリ２２０、入出力インタフェース２３０および簡易ネットワーク管理プロトコルの管理情報ベース（SNMP MIB）２４０を含む。図２に示される実施形態では、遠隔装置２００は、１つ以上のセンサ２５０、アナログ−デジタル変換器２６０、および／または予備分析回路またはルーチン２７０を含みうる。遠隔装置２００の要素は、リンク２０１によって相互接続することができる。リンク２０１は、電子データを、接続された要素２１０−２７０へ供給でき、それらからも供給できる、１つ以上の有線または無線のリンクでもありうるし、あるいは、その他の既知、または今後開発されるいかなる要素でもありうる。
【００４０】
入出力インタフェース２３０は、遠隔装置２００から分散形ネットワーク１０１を介してデータをポストし、データを分散形ネットワーク１０１に接続された遠隔装置から受け取ることができる、サーバまたはクライアントなどの、いかなる既知、または今後開発される機構でもありうる。同様に、センサ２５０は、遠隔装置２００に関係するデータを検出できる、いかなる既知、または今後開発される機構でもありうる。
【００４１】
処理中、計量およびステータスデータなどの遠隔装置に関係するデータは、コントローラ２１０によって、１つ以上のメモリ２２０、１つ以上のセンサ２５０、および／または、上述された、遠隔装置２００の処理特性から導かれるデータのタイプを提供する他のいかなるデータソースからも集められる。データは、コントローラ２１０によって、予備分析回路またはルーチン２７０によって認識可能な形式に処理され、予備分析回路またはルーチン２７０へ送られる。例えば、コントローラ２１０は、１つ以上のセンサ２５０から受け取ったアナログデータを離散的にサンプリングして集められたデータを処理し、品質値（qualitative value）とする。または、このようなアナログデータをアナログ−デジタル変換器２６０を用いてデジタル化することにより、上記処理を行ってもよい。さらに、コントローラ２１０は、その全体の参照により本願明細書に援用する米国仮特許出願第６０／１５４，０１６号に記載されているように、装置の信号を、予備分析回路またはルーチン２７０によって認識できる別々のイベントシーケンスに変換するこよによって、上記収集したデータを処理してもよい。
【００４２】
あるデータ処理が遠隔装置２００によって行われる間に、そのデータは、計量およびステータスの提示システム１００のデータ処理装置３００によって、さらに処理される。図３は、図１に示されるデータ処理装置３００の実施形態を示す。図３に示されるように、さまざまな実施形態では、データ処理装置３００は、遠隔装置２００からデータを収集するウェブオブジェクト３１０を１つ以上含む。ウェブオブジェクト３１０は、標準ネットワーク管理またはSNMP、HTTPを介してのHTML提供、またはHTTPを介しての拡張されたマーク付け言語（XML）提供などのウェブプロトコル３２０を使用して、データを分散形ネットワーク１０１から収集する。データ処理装置３００は、分散形ネットワーク１０１を介してデータを受け取り、および／または送るために使用できるネットワーク入出力インタフェース３３０も含む。データ処理装置３００の要素は、リンク３０１によって相互接続することができる。リンク３０１は、電子データを接続された要素３１０−３３０へ供給でき、それらからも供給できる、１つ以上の有線または無線のリンクでもありうるし、あるいは、その他の既知、または今後開発されるいかなる要素でもありうる。
【００４３】
ネットワーク入出力インタフェース３３０は、分散形ネットワーク１０１を介してデータが記入される遠隔装置２００についてのデータにアクセスでき、および／または分散形ネットワーク１０１を介してデータを送ることができる、サーバまたはクライアントなどの、いかなる既知、または今後開発される機構でもありうる。ウェブオブジェクト３１０の操作は、以下に、より詳細に説明される。
【００４４】
図４は、図１に示されるウェブオブジェクト提示作成装置４００の実施形態を示す。図４に示されるように、さまざまな実施形態では、ウェブオブジェクト提示作成装置４００は、１つ以上の提示されるウェブオブジェクト４１０を含み、または少なくともアクセスする。ウェブオブジェクト提示作成装置４００は、１つ以上のウェブオブジェクト４１０によって登録（populate）された１つ以上のテンプレート４２０を含む。テンプレート４２０は、分散形ネットワーク１０１を介して送ることができる、ウェブページなどの、１つ以上のウェブオブジェクト４１０の表示を作成するためにウェブサーバ４４０によって使用されうる。ウェブオブジェクト提示作成装置４００は、分散形ネットワーク１０１を介してデータを受け取り、および／または送るために使用できるネットワーク入出力インタフェース４３０を含む。ウェブオブジェクト提示作成装置４００の要素は、リンク４０１によって相互接続することができる。リンク４０１は、電子データを、接続された要素４１０−４４０へ供給でき、それらからも供給できる、１つ以上の有線または無線のリンクでもありうるし、あるいは、その他の既知、または今後開発されるいかなる要素でもありうる。ネットワーク入出力インタフェース４３０は、ウェブオブジェクト４１０についてのデータ、またはウェブオブジェクト４１０そのものにアクセスでき、分散形ネットワーク１０１を介して提示を送ることができる、サーバまたはクライアントなどの、いかなる既知、または今後開発される機構でもありうる。ウェブオブジェクト提示作成装置４００の操作は、以下に、より詳細に説明される。
【００４５】
図４に示されているウェブオブジェクト４１０は、図３に示されているウェブオブジェクト３１０と同一の要素でありうる。従って、データ処理装置３００とウェブオブジェクト提示作成装置４００が別々に示されているが、データ処理装置３００とウェブオブジェクト提示作成装置４００は、同一の装置および／またはソフトウェアで具体化できる。データ処理装置３００とウェブオブジェクト提示作成装置４００を分けるのは、説明のためだけであって、これでなければならないというものではない。
【００４６】
図５は、図１に示されるウェブクライアント５００の実施形態を示す。図５に示されているように、さまざまな実施形態では、ウェブクライアント５００は、コントローラ５１０、メモリ５２０、入出力インタフェース５３０、データ記憶装置５４０、および表示装置５５０を含む。ウェブクライアント５００の要素は、リンク５０１によって相互接続することができる。リンク５０１は、電子データを、接続された要素５１０−５５０へ供給でき、それらからも供給できる、１つ以上の有線または無線のリンクでもありうるし、あるいは、その他の既知、または今後開発されるいかなる要素でもありうる。
【００４７】
入出力インタフェース５３０は、少なくとも分散形ネットワーク１０１からデータを受け取ることができる、サーバまたはクライアントなどの、いかなる既知、または今後開発される機構でもありうる。
【００４８】
処理中、メモリ５２０は、コントローラ５１０によって実行されるウェブブラウザアプリケーションを含むこともある。ウェブブラウザからのリクエストは、分散形ネットワークを介して、入出力インタフェース５３０によって送られる。前記リクエストによって、１つ以上のウェブオブジェクト３１０および／または４１０、および／またはテンプレート４２０の表示が、ウェブクライアント５００に提供されることになる。ウェブオブジェクト３１０および／または４１０、および／またはテンプレート４２０は、ユーザに、表示装置５５０上で表示されうる。ウェブオブジェクト３１０および／または４１０、および／またはテンプレート４２０も、データ記憶装置５４０によって記憶され、後に表示されうる。コントローラ５１０は、検索されたウェブオブジェクト３１０および／または４１０、および／またはテンプレート４２０を更新するために、周期的なリクエストも生成する。従って、計量およびステータスデータなどの、遠隔装置２００に付随する現在のデータは、要求に即座に対応して、ユーザに、１つ以上のウェブオブジェクト３１０および／または４１０、および／またはテンプレートの表示として表示されうる。
【００４９】
図６は、本発明に従って計量およびステータスデータを提示する方法の実施形態を概観するフローチャートである。ステップＳ１００で始まり、制御はステップＳ２００まで続き、Ｓ２００では、計量およびステータスデータなどのデータは、１つ以上の遠隔装置から収集される。遠隔装置はネットワークで接続された装置でありうるし、データは、標準ネットワーク管理プロトコル、または所有権を主張できる、装置指定、製造業者指定のプロトコルを使って検索しうる。本発明のさまざまな実施形態では、データは、規則的または不規則な間隔で、遠隔装置からポーリングされる。代わりに、または追加として、データは、オンデマンドでポーリングしうる。次に、ステップＳ３００では、収集されたデータは、１つ以上の永続的なウェブオブジェクトに送られる。それから、制御はステップＳ４００まで続く。
【００５０】
ステップＳ４００では、送られたデータが処理される。以下に記載されるように、さまざまな実施形態では、データは１つ以上のウェブオブジェクトによって処理される。例えば、実行トータル（running total）の決定、グラフの更新、現存のスプレッドシート類の変更などのアクティビティが含まれうる。その後、ステップＳ５００では、処理されたデータが、例えば１つ以上のウェブオブジェクトに、後に検索するために記憶される。次に、ステップＳ６００では、記憶されたデータがアクセスされる。データは、自動的にアクセスされる場合もあるし、リクエストに応じて、例えば計量およびステータスデータを提示するウェブクライアントによるリクエストに応じて、アクセスされる場合もある。その後、制御はステップＳ７００まで続く。
【００５１】
ステップＳ７００では、アクセスされたデータを使って、１つ以上のテンプレートが作成され、および／または更新される。本発明のさまざまな実施形態では、テンプレートは１つ以上のウェブオブジェクトによって登録（populate）させられ、それによって、ウェブオブジェクトの表現を形成する。作成され、および／または更新されたテンプレートは、後の提示のために記憶できる。次に、ステップＳ８００では、作成され、および／または更新されたテンプレートは、アクセスされる。例えば、テンプレートは、ウェブサーバによってアクセスしうる。その後、ステップＳ９００では、１つ以上のウェブページは、テンプレートを使って作成され、および／または更新される。本発明のさまざまな実施形態では、テンプレートベースの表現は、他のテンプレートベースの表現と結び付いている。作成され、および／または更新されたウェブページは、計量およびステータスデータなどの遠隔装置からのデータの表示を定義し、１つ以上のウェブクライアントが、例えば分散形ネットワークを介して、ビューするために使用可能である。その後、制御はステップＳ１０００まで続き、そこで処理が終了する。これらの処理ステップが、逐次、実行しながら、表示される一方で、実際には、手順は、１００、２００、３００、４００および５００における各々の要素で並行に、同時に実行しうる。図７〜１０に示されるように、データの完全性は、処理を通じて維持される。
【００５２】
図７は、本発明に従ったウェブオブジェクトの模範的なウェブおよびネットワーク環境７０００を示す機能ブロック図である。これには、ネットワークで接続された複数の装置７２００、データ処理装置またはウェブオブジェクト提示作成装置７３００および複数のウェブクライアント７５００が含まれ、これらはすべて、インターネットなどのネットワーク７１００によって相互接続されている。データ処理装置またはウェブオブジェクト提示作成装置７３００は、複数のウェブオブジェクト７３１０、７３２０および７３３０を含む。各ウェブオブジェクト７３１０、７３２０および７３３０は、それ自体のテンプレート７３１２、７３２２および７３３２と、ステートマシン７３１４、７３２４および７３３４を、それぞれ有する。データ処理装置またはウェブオブジェクト提示作成装置７３００は、データベース７３４０または他のデータ記憶装置と、１つ以上のランタイム・サポート回路（runtime support circuit）、ルーチンまたは管理プログラム７３５０も含む。データ処理装置またはウェブオブジェクト提示作成装置７３００は、例えばウェブサーバなど、適切なコンピュータベースの装置であれば、どれとしても組み入れることができる。
【００５３】
ウェブクライアント７５００は、情報をネットワーク７１００から受け取り、その情報をユーザに表示できる装置であれば、どれとしても組み入れることができる。例えば、ウェブクライアント７５００は、それぞれ、モニタすなわちスクリーンディスプレイ（screen display）７５２０を含む、パーソナルコンピュータなどのワークステーション７５１０でありうる。しかし、ウェブクライアント７５００は、ハンドヘルドPDA（handheld personal digital assistant (PDA)）、セルラーまたはデジタルの携帯電話、あるいは、CDプレーヤー、DVDプレーヤーまたは電子レンジのような消費者用電気器具の埋め込み型ウェブブラウザのような他の装置のこともある。
【００５４】
処理中、１つ以上のウェブクライアント７５００が、情報についてのリクエストをネットワーク７１００を介して生成して、送信する。例えば、ワークステーション７５１０は、ウェブブラウザに表示されたハイパーリンクにアクセスできる。このリクエストはデータ処理装置またはウェブオブジェクト作成装置７３００によって受け取られ、１つ以上のウェブオブジェクト７３１０、７３２０および／または７３３０によって、ステートマシン７３１４、７３２４および／または７３３４をそれぞれ使って処理される。ステートマシン７３１４、７３２４および７３３４についての状態データは、データベース７３４０から読み出され、そこに記憶される。ウェブオブジェクト７３１０、７３２０および／または７３３０とそれらのステートマシン７３１４、７３２４および／または７３３４の操作のための規則と機構は、ランタイム・サポート回路、ルーチンまたは管理プログラム７３５０によって提供される。
【００５５】
ネットワークで接続された装置７２００からのデータは、データ処理装置またはウェブオブジェクト提示作成装置７３００へ、自動的に、あるいはデータ処理装置またはウェブオブジェクト提示作成装置７３００によって要求されたときに送られ、ステートマシン７３１４、７３２４および／または７３３４におけるウェブオブジェクト７３１０、７３２０および／または７３３０による使用のために、データベース７３４０に記憶される。ウェブオブジェクト７３１０、７３２０および／または７３３０は、テンプレート７３１２、７３２２および／または７３３２を、ステートマシン７３１４、７３２４および／または７３３４、および／またはデータベース７３４０からのデータと共に作成し、共存させる。それから、テンプレート７３１２、７３２２および／または７３３２は、HTML、XML、XHTML、PDFなどの適正なフォーマットで、あるいは、他の適当な既知、または今後開発されるフォーマットで、ウェブクライアント７５００に、個別的に、または結合して送られ、要求された情報の希望の提示を形成する。例えば、要求された情報は、スクリーンディスプレイ７５２０上に、ウェブオブジェクト７３１０、７３２０および／または７３３０の表現、または表示されるオブジェクト７５２１、７５２２および／または７５２３によって形成されるウェブページとして提示されうる。
【００５６】
図８は、図７に示されるウェブおよびネットワーク環境７０００に従った単一のウェブオブジェクト７３１０と単一のウェブクライアント７５３０を示す機能ブロック図である。ウェブクライアント７５３０による情報のリクエストは、ネットワーク７１００を介してウェブオブジェクト７３１０に送られ、イベント１として受け取られる。イベント１が受け取られるときに、ウェブオブジェクト７３１０は、規定の状態である状態１である。この規定の状態は、ウェブオブジェクト７３１０の過去の履歴を反映する。ステートマシン７３１４は、イベントの過去の履歴に基づいたイベントへのウェブオブジェクト７３１０の反応を示すイベントまたは状態のダイアグラムとして、抽象形式（abstract form）で示される。
【００５７】
ウェブオブジェクト７３１０がイベント１を受け取ると、ステートマシン７３１４はその状態内の１つ以上のアクション、アクション１などを生み出す。例えば、アクション１は表示用の遠隔装置データを受け取って操作し、データをデータベースに記憶し、または電子メールを装置イベント加入者に送信していることがある。ウェブオブジェクト７３１０がアクション１を完了させた後で、ウェブオブジェクト７３１０は、状態を状態１から状態２に変更する。
【００５８】
ランタイム・サポート回路、ルーチンまたは管理プログラム７３５０は、処理に割り込みができないように、ウェブオブジェクト７３１０がイベント１を自動的に処理することを確実にする。言い換えれば、ウェブオブジェクト７３１０は、イベント１が処理され、ウェブオブジェクト７３１０が状態１から状態２に変更するまで、他のイベントを処理することは許されない。
【００５９】
状態２では、ステートマシン７３１４は、アクション２などの１つ以上のアクション、および／またはイベント２を生成しうる。ウェブオブジェクト７３１０がアクション２を完了すると、ウェブオブジェクト７３１０は状態２から状態３に変化する。ウェブオブジェクト７３１０の過去の履歴に基づいて、さまざまなイベントが作成、処理され、さまざまなアクションが実行される。ランタイム・サポート回路、ルーチンまたは管理プログラム７３５０は、先入れ先出し方式で動作するイベントキューを作成することによって、処理を管理する。イベントキューは、イベントディスパッチャによって管理できる。イベントディスパッチャは、イベントを、キューから指定された宛先に、イベントが受け取られた順に送り、ウェブオブジェクトが、この機能を実装または再構成（reinvent）する必要がないように、保証されたイベント配信システムを提供する。ステートマシン７３１４を使って、ウェブオブジェクト７３１０は、自動的に更新され、そのため、表示されるオブジェクト７５２１として、ウェブクライアント７５３０に表示される遠隔装置データは現在のものである。
【００６０】
図９は、図７に示されるウェブおよびネットワーク環境７０００に従った複数のウェブオブジェクト７３２４と７３３４、および複数のウェブクライアント７５４０と７５５０を示す機能ブロック図である。図９に示されるウェブオブジェクトシステムの操作は、ウェブオブジェクト７３２４のイベントおよび／またはアクションがウェブオブジェクト７３３４を更新するために使用され、逆に、ウェブオブジェクト７３３４がウェブオブジェクト７３２４のイベントおよび／またはアクションを更新するために使用されることを除いては、図８に関して上述されたウェブオブジェクトシステムの操作と同一である。１つのウェブオブジェクトのステートマシンが別のウェブオブジェクトにあるデータを読み出し、または書き込むときに、コンテンションと競合（race）の条件を回避するために、ランタイム・サポート回路、ルーチンまたは管理プログラム７３５０は、イベントの処理を、ウェブオブジェクト７３２４と７３３４によって管理する。
【００６１】
また、ウェブクライアント７５４０によって生成された表示されるオブジェクト７５２２は、ウェブクライアント７５５０によって生成された表示されるオブジェクト７５２３とは異なることもある。例えば、ウェブクライアント７５４０と７５５０の各々によってリクエストされる情報は異なっていることもある。さらに、テンプレート７３２２と７３３２が、それぞれウェブオブジェクト７３２４と７３３４によって定着させられ、異なっていることもあることから、表示されるオブジェクト７５２２と７５２３は、外観と内容において異なっていることもある。
【００６２】
図１０は、本発明に従った計量およびステータスの提示システムの実施形態を示す機能ブロック図である。この実施形態は、マイクロソフト（商標）NTサーバオペレーティングシステム上、ウェブサービス機能をアプリケーションに提供するオラクル（商標）アプリケーション（Oracle Application）サーバ環境Ｂの下で、実行する。ウェブオブジェクト実行時間Eは、オラクルによって提供されるJavaサーブレットカートリッジＤ、およびオラクルデータベースＪによってサポートされるときには、Java（登録商標） サーブレット（Java Servlets）を使って実装される。ランタイムは、追加のJava（登録商標）サーブレットＨとして実装されるウェブオブジェクトを実行するために使用される。ウェブオブジェクトは、ネットワークで接続された印刷装置Iと通信し、データをそれらの装置からポーリングする。ウェブオブジェクトは、ウェブブラウザＡとの通信のためにウェブサーバＢを使いながら、ウェブブラウザAにおける表示用に、自らの表現を形成するために、テンプレートパーサＧを使用する。
【００６３】
図１１は、バッキングステートマシンを含み、単純なHTMLテキストと共存するウェブオブジェクトの模範的なウェブページの表示を示す。
【００６４】
図１２は、埋め込まれたウェブオブジェクトを含むバッキングステートマシンとサポートするステートマシンを備えたウェブオブジェクトの他の模範的なウェブページの表示を示す。
【図面の簡単な説明】
【図１】  計量およびステータスの提示システムの第１の態様を示す機能ブロック図である。
【図２】  それについての計量およびステータスデータが図１のシステムによって提示される、模範的な遠隔装置を示す機能ブロック図である。
【図３】  図１のシステムの模範的なデータ処理装置を示す機能ブロック図である。
【図４】  図１のシステムの模範的なウェブオブジェクト提示作成装置を示す機能ブロック図である。
【図５】  図１のシステムの模範的なウェブクライアントを示す機能ブロック図である。
【図６】  計量およびステータス情報を提示する方法の実施形態を略述するフローチャートである。
【図７】  自身のステートマシン、イベントおよび埋め込まれたウェブオブジェクトを備えた、複数の装置、ウェブクライアントおよびウェブオブジェクトテンプレートを含む、ウェブオブジェクトの模範的なウェブおよびネットワーク環境を示す機能ブロック図である。
【図８】  図７のウェブおよびネットワーク環境に従った単一のウェブオブジェクトと単一のウェブクライアントを示す機能ブロック図である。
【図９】  図７のウェブおよびネットワーク環境に従った複数のウェブオブジェクトと複数のウェブクライアントを示す機能ブロック図である。
【図１０】  計量およびステータスの提示システムの実施形態を示す機能ブロック図である。
【図１１】  バッキングステートマシンを含み、単純なHTMLテキストと共存するウェブオブジェクトのウェブページを提示する第１の態様を示す図である。
【図１２】  埋め込まれたウェブオブジェクトを含むバッキングステートマシンと、サポートするステートマシンを備えた、ウェブオブジェクトのウェブページを提示する別の態様を示す図である。
【符号の説明】
１０１  分散形ネットワーク、２００  遠隔装置、２０１  リンク、２１０  コントローラ、２２０  メモリ、２３０  入出力インタフェース、２４０  簡易ネットワーク管理プロトコルの管理情報ベース（SNMP MIB）、２５０  センサ、２６０  アナログ−デジタル変換器、２７０  予備分析回路またはルーチン、３００  データ処理装置、３０１  リンク、３１０  ウェブオブジェクト、３２０ウェブプロトコル、３３０  ネットワーク入出力インタフェース、４００  ウェブオブジェクト提示作成装置、４０１  リンク、４１０  ウェブオブジェクト、４２０  テンプレート、４３０  ネットワーク入出力インタフェース、４４０ウェブサーバ、５００  ウェブクライアント、５０１  リンク、５１０  コントローラ、５２０  メモリ、５３０  入出力インタフェース、５４０  データ記憶装置、５５０  表示装置、７０００  ウェブおよびネットワーク環境、７１００  ネットワーク、７２００  ネットワークで接続された装置、７３１０  ウェブオブジェクト、７３１２  テンプレート、７３１４  ステートマシン、７３２０  ウェブオブジェクト、７３２２  テンプレート、７３２４  ステートマシン、７３３０  ウェブオブジェクト、７３３２  テンプレート、７３３４  ステートマシン、７３４０  データベース、７３５０  ランタイム・サポート回路、ルーチンまたは管理プログラム、７５００  ウェブクライアント、７５１０  ワークステーション、７５２１  表示されるオブジェクト、７５２２  表示されるオブジェクト、７５２３  表示されるオブジェクト、７５３０  ウェブクライアント、７５４０  ウェブクライアント、７５５０  ウェブクライアント。
【図１】
0004750330.tif 000002
【図２】
0004750330.tif 000003
【図３】
0004750330.tif 000004
【図４】
0004750330.tif 000005
【図５】
0004750330.tif 000006
【図６】
0004750330.tif 000007
【図７】
0004750330.tif 000008
【図８】
0004750330.tif 000009
【図９】
0004750330.tif 000010
【図１０】
0004750330.tif 000011
【図１１】
0004750330.tif 000012
【図１２】
0004750330.tif 000013