(57)【要約】【課題】ユーザインターフェースの定義をダイナミックに構築すること。【解決手段】ユーザインターフェースの定義をダイナミックに構築する。情報リストのためのリクエストを送り、この情報リストと共にユーザインターフェースの定義を受信する。フィルタにかけられたユーザインターフェースの定義を提供するよう、ユーザインターフェースの定義に対してフィルタスクリプトを適用する。フィルタにかけられたユーザインターフェースの定義をアプリケーションへ送り、フィルタにかけられたユーザインターフェースの定義を構築し、フィルタにかけられたユーザインターフェースの定義をディスプレイする。【選択図】図１
2008090816.tif 000002
【特許請求の範囲】
【請求項１】
ユーザインターフェースの定義をダイナミックに構築するための方法であって、
情報リストのためのリクエストを送るステップと、
前記情報リストと共に前記ユーザインターフェースの定義を受信するステップと、
前記ユーザインターフェースの定義にフィルタスクリプトを適用し、フィルタにかけられたユーザインターフェースの定義を提供するステップと、
前記フィルタにかけられたユーザインターフェースの定義をアプリケーションに送るステップと、
前記フィルタにかけられたユーザインターフェースの定義を構築するステップと、
前記フィルタにかけられたユーザインターフェースの定義をディスプレイするステップとを備えた、ユーザインターフェースの定義をダイナミックに構築するための方法。
【請求項２】
前記情報リストがデバイスリストである、請求項１記載の方法。
【請求項３】
前記リクエストを拡張可能なマークアップ言語フォーマットで記載する、請求項１記載の方法。
【請求項４】
前記フィルタスクリプトを拡張可能なマークアップ言語で記載する、請求項１記載の方法。
【請求項５】
前記ユーザインターフェースの定義に対して所定のフィルタスクリプトを適用するステップを更に含む、請求項１記載の方法。
【請求項６】
多数のユーザインターフェースの定義に対して、スタティックなあらかじめ構成したフィルタスクリプトを適用するステップを更に含む、請求項１記載の方法。
【請求項７】
ユーザインターフェースの定義のタイプに基づき、フィルタスクリプトを選択するステップを更に含む、請求項１記載の方法。
【請求項８】
前記ユーザインターフェースの定義の送信プロトコルに基づき、フィルタスクリプトを選択するステップを更に含む、請求項１記載の方法。
【請求項９】
前記ユーザインターフェースの定義のデータプロトコルに基づき、フィルタスクリプトを選択するステップを更に含む、請求項１記載の方法。
【請求項１０】
前記ユーザインターフェースに前記フィルタスクリプトを適用する前に、前記ユーザインターフェースのプレビューを発生するステップを更に含む、請求項１記載の方法。
【請求項１１】
前記フィルタスクリプトをサーバ内に埋め込む、請求項１記載の方法。
【請求項１２】
ユーザインターフェースの定義をダイナミックに構築するようになっているクライアントであって、
プロセッサと、
前記プロセッサと電子通信するメモリと、
前記プロセッサによって実行可能な命令とを備え、前記命令は、
情報リストのためのリクエストを送り、
前記情報リストと共に前記ユーザインターフェースの定義を受信し、
前記ユーザインターフェースの定義にフィルタスクリプトを適用し、フィルタにかけられたユーザインターフェースの定義を提供し、
前記フィルタにかけられたユーザインターフェースの定義をアプリケーションに送り、
前記フィルタにかけられたユーザインターフェースの定義を構築し、
前記フィルタにかけられたユーザインターフェースの定義をディスプレイするよう実行できるようになっているクライアント。
【請求項１３】
前記情報リストがデバイスリストである、請求項１２記載のクライアント。
【請求項１４】
前記リクエストを拡張可能なマークアップ言語フォーマットで記載する、請求項１２記載のクライアント。
【請求項１５】
前記フィルタスクリプトを拡張可能なマークアップ言語で記載する、請求項１２記載のクライアント。
【請求項１６】
前記ユーザインターフェースの定義に対して所定のフィルタスクリプトを適用する、請求項１２記載のクライアント。
【請求項１７】
前記ユーザインターフェースの定義のタイプに基づき、フィルタスクリプトを選択する、請求項１２記載のクライアント。
【請求項１８】
前記ユーザインターフェースの定義の伝送プロトコルに基づき、前記フィルタスクリプトを選択する、請求項１２記載のクライアント。
【請求項１９】
ユーザインターフェースの定義をダイナミックに構築するようになっているサーバであって、
プロセッサと、
前記プロセッサと電子通信するメモリと、
前記プロセッサによって実行可能な命令とを備え、前記命令は、
情報リストのためのリクエストを受信し、
前記情報リストと共に前記ユーザインターフェースの定義を構築し、
前記ユーザインターフェースの定義にフィルタスクリプトを適用し、フィルタにかけられたユーザインターフェースの定義を提供し、
前記フィルタにかけられたユーザインターフェースの定義を構築し、
前記フィルタにかけられたユーザインターフェースの定義をクライアントに送るようになっているサーバ。
【請求項２０】
ユーザインターフェースの定義をダイナミックに構築するための方法を実施するための実行可能な命令を含むコンピュータで読み取り可能な記録媒体であって、
情報リストのためのリクエストを送るステップと、
前記情報リストと共に前記ユーザインターフェースの定義を受信するステップと、
前記ユーザインターフェースの定義にフィルタスクリプトを適用し、フィルタにかけられたユーザインターフェースの定義を提供するステップと、
前記フィルタにかけられたユーザインターフェースの定義をアプリケーションに送るステップと、
前記フィルタにかけられたユーザインターフェースの定義を構築するステップと、
前記フィルタにかけられたユーザインターフェースの定義をディスプレイするステップとを含む、コンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはコンピュータおよびコンピュータに関連する技術に関し、より詳細には、本発明は、クライアント側のフィルタを用いてデバイスを制御するためのユーザインターフェースをダイナミックに構築するためのシステムおよび方法に関する。
【背景技術】
【０００２】
コンピュータおよび通信技術は急速に進歩し続けており、個人の生活の多くの点で、コンピュータと通信技術が関係している。例えば消費者により今日使用されている多くのデバイスは、デバイス内に組み込まれた小型コンピュータを有する。これら小型コンピュータはサイズおよび複雑さが異なっている。これら小型コンピュータは、１つのマイクロコントローラから全機能を備えた完全コンピュータシステムまで、複雑さが異なる。例えば小型コンピュータは、マイクロコントローラ等のワンチップコンピュータ、コントローラ等のワンボードタイプのコンピュータ、ＩＢＭ−ＰＣコンパチコンピュータ等の代表的なデスクトップコンピュータである。
【０００３】
手紙、文書、写真を含む種々のタイプのアイテムをプリントするのに、コンピュータと共にプリンタが使用されている。多数の色々な機種のプリンタが市販されており、インクジェットプリンタおよびレーザープリンタはコンピュータユーザの間でかなり共通している。インクジェットプリンタはインクの粒子を紙に直接噴射し、レーザープリンタはレーザービームを使って印刷する。
【０００４】
プリンタはある種の画像形成デバイスであり、画像形成デバイスとしては物理的プリンタ、多機能周辺機器、プリンタプール、プリンタクラスタ、ファックス装置、プロッター、スキャナ、ロジカルデバイス、電子ホワイトボード、タブレットＰＣ、コンピュータモニタ、ファイルなどを挙げることができるが、これらだけに限定されるものではない。
【０００５】
異なるタイプのコンピュータソフトウェアは、画像形成デバイスの使用を容易にする。マテリアルをプリントするのに使用されるコンピュータまたは計算デバイスは、一般にマテリアルを印刷するために必要な情報をプリンタに送るコンピュータ上で作動する１つ以上のソフトウェアを有する。コンピュータまたは計算デバイスがコンピュータネットワーク上にある場合、コンピュータネットワーク上の１つ以上のコンピュータで作動するプリントを容易にする１つ以上のソフトウェアが存在し得る。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
コンピュータはコンピュータネットワークを通してサーバと通信できる。特開２００１−１６６６４２号公報には、ユーザインターフェース（ＵＩ）をサーバからダウンロード可能に構成されている画像形成装置が開示されている。コンピュータネットワーク環境では、コンピュータをクライアントと称すことができ、サーバはプリンタのような１つ以上の画像形成デバイスを管理できる。ユーザが画像形成デバイスの制御をしたいとき、ユーザはサーバによって管理されたデバイスに関する情報をリクエストできる。ユーザは、画像形成デバイスの多くが、ユーザの望む所定の能力を有していなくても、全ての管理されているデバイスの情報を受信することがあり、操作性を低下させていた。
【課題を解決するための手段】
【０００７】
添付図面を参照し、以下の説明および特許請求の範囲から本発明の実施例が、より完全に明らかとなろう。これら図が単なる実施例だけを示し、発明の範囲を限定しないものであることを理解した上で、添付図面を使用することによって本発明の実施例を更に詳細に説明する。
【０００８】
ユーザインターフェースの定義をダイナミックに構築するための方法について開示する。情報リストのリクエストが送られ、この情報リストと共にユーザインターフェースの定義が受信される。ユーザインターフェースの定義に対してフィルタスクリプトが適用され、フィルタにかけられたユーザインターフェースの定義がアプリケーションに送られる。フィルタにかけられたユーザインターフェースの定義が構築され、フィルタにかけられたユーザインターフェースの定義がディスプレイされる。
【０００９】
一実施例では、情報リストはデバイスリストである。拡張可能なマークアップ言語フォーマットでリクエストを記載できる。一実施例では、拡張可能なマークアップ言語でフィルタスクリプトを記載し、ユーザインターフェースの定義に所定のフィルタスクリプトを適用できる。一実施例では、あらかじめ構成されたフィルタスクリプトはスタティックであり、多数のユーザインターフェースの定義に適用される。
【００１０】
一実施例では、ユーザインターフェースの定義のタイプに基づき、フィルタスクリプトを選択する。別の実施例では、ユーザインターフェースの定義の伝送プロトコルに基づき、フィルタスクリプトを選択する。別の実施例では、ユーザインターフェースの定義のデータプロトコルに基づき、フィルタスクリプトを選択する。ユーザインターフェースにフィルタスクリプトを適用する前に、ユーザインターフェースのプレビューを発生できる。フィルタスクリプトはサーバ内に埋め込むことができる。
【００１１】
ユーザインターフェースの定義をダイナミックに構築するようになっているクライアントについても開示する。このクライアントは、プロセッサおよびこのプロセッサと電子通信するメモリを含む。メモリには命令が記憶され、情報リストのためのリクエストが送られる。情報リストと共にユーザインターフェースの定義を受信し、フィルタにかけられたユーザインターフェースの定義を提供するために、ユーザインターフェースの定義にフィルタスクリプトが適用される。フィルタにかけられたユーザインターフェースの定義がアプリケーションに送られ、フィルタにかけられたユーザインターフェースの定義が構築され、フィルタにかけられたユーザインターフェースの定義がディスプレイされる。
【００１２】
ユーザインターフェースの定義をダイナミックに構築するようになっているサーバも開示する。このサーバはプロセッサと、このプロセッサと電子通信するメモリとを含む。メモリには命令が記憶される。情報リストのためのリクエストが受信される。情報リストと共にユーザインターフェースの定義が構築され、フィルタにかけられたユーザインターフェースの定義を提供するよう、ユーザインターフェースの定義にフィルタスクリプトが適用される。フィルタにかけられたユーザインターフェースの定義が構築される。このフィルタにかけられたユーザインターフェースの定義はクライアントに送られる。
【００１３】
ユーザインターフェースの定義をダイナミックに構築するための方法を実現するための実行可能な命令を含む、コンピュータが読み取り可能なメディア（記録媒体）も開示する。情報リストのためのリクエストが送られ、情報リストと共にユーザインターフェースの定義が受信される。フィルタにかけられたユーザインターフェースの定義を提供するために、ユーザインターフェースの定義にフィルタスクリプトが適用される。フィルタにかけられたユーザインターフェースの定義がアプリケーションに送られる。フィルタにかけられたユーザインターフェースの定義が構築される。このフィルタにかけられたユーザインターフェースの定義がディスプレイされる。
【発明の効果】
【００１４】
本発明は、クライアント側のフィルタによってデバイスを制御するためのユーザインターフェースをダイナミックに構築するためのシステムおよび方法を提供することができるので、ユーザの望む所定の能力を有するデバイスに対して、速やかに操作を行うことができる。
【発明を実施するための最良の形態】
【００１５】
次に、図面を参照し、本発明の種々の実施例について説明するが、同様な参照番号は同一または機能的に類似する要素を示す。本明細書に全体が説明され、図に示されている本発明の実施例は、広範な種々の異なる形にアレンジされ、デザインされる。従って、図に示されているような本発明のいくつかの実施例の以下のより詳細な説明は、請求項に記載されている発明の範囲を限定するものでなく、単に発明の実施例を示すものにすぎない。
【００１６】
用語「例」は、本明細書では専ら「例、説明として働くこと」を意味するのに使用する。「例」として本明細書に記載する実施例は、必ずしも他の実施例よりも好ましいか、または有利であると見なされるものではない。
【００１７】
本明細書に記載される実施例の機能の多くは、コンピュータソフトウェア、電子的ハードウェア又は両者の組合せで実行することができる。このハードウェアとソフトウェアの互換性を明確に示すために、種々の構成要素は、それらの機能で記載する。機能がハード又はソフトのどちらで実行されるかは、システム全体に課される特定のアプリケーション及びデザインの制約によって決まる。当業者は各特定のアプリケーションに対し、異なる方法で記載された機能を実現できるが、そのように実現することが本発明の範囲を逸脱するものであると解釈してはならない。
【００１８】
説明する機能をコンピュータソフトウェアとして実施する場合、かかるソフトウェアはメモリデバイス内に記憶され、および／またはシステムバスまたはネットワークを通して電子信号として伝送される任意のタイプのコンピュータ命令またはコンピュータで実行可能なコードを含むことができる。本明細書に記載する構成要素に関連する機能を実行するソフトウェアは、単一命令または多数の命令を含むことができ、いくつかの異なるコードセグメントにわたり、異なるプログラムの間におよびいくつかのメモリデバイスにわたって分散できる。
【００１９】
本明細書で使用するような「一実施例」、「実施例」、「複数の実施例」、「その実施例」、「所定の実施例」、「１つ以上の実施例」、「別の実施例」なる用語、および同様な用語は、特に明記しない限り、開示した発明の１つ以上の（しかしながら必ずしもすべてではない）実施例を意味する。
【００２０】
「決定すること」（およびその文法的な変形例）なる用語は、極端に広い意味で使用するものであり、この「決定すること」なる用語は広範な種々の動作を含むので、「決定」は算定すること、計算すること、処理すること、誘導すること、調査すること、ルックアップすること（例えばテーブル、データベースまたは別のデータ構造におけるルックアップ）、確認することおよび同等な用語も含むことができる。更に、「決定」なる用語は受信すること（例えば情報を受信すること）、アクセスすること（例えばメモリ内のデータへアクセスすること）および同等な用語を含むことができ、更に「決定」なる用語は、解決すること、選抜すること、選択すること、確立することなども含むことができる。
【００２１】
「〜に基づく」なる用語は、特に明記しない限り「〜にのみ基づく」ことを意味しない。換言すれば「〜に基づく」なるフレーズは「〜にのみ基づく」および「少なくとも〜に基づく」の双方を含むものである。
【００２２】
現在の研究は、レンダリングサーバを使用し、シンクライアントから直接レンダリング（プリント、ファックス、スキャンなど）をするためのシステムおよび方法を設計することに関係している。シンクライアントは、主に処理動作をレンダリングサーバに依存する計算デバイスであるかもしれない。このレンダリングサーバは、ダイレクトプリント／ファックスのための基礎となる機構として、ダイレクトプリントアプリケーションプログラミングインターフェース（ＤＰＡＰＩ）を使用できる。ダイレクトプリントアプリケーション（ＤＰ）は、ファイル及び印刷設定をプリンタドライバーを使わずに（ドライバー無し印刷）、直接プリンタに提供するアプリケーションである。
プリンタに提供されたファイルは、既にプリンタレディーフォーマット（例えば、ＰＤＦ）になっているので、プリンタドライバーで変換する必要は無い。
ＤＰＡＰＩは、カスタムＤＰアプリケーションを作るためのアプリケーションプログラミングインターフェースである。
【００２３】
クライアントはクライアント側でＤＰＡＰＩを使用するカラーデータパスユニット（ＤＰＵ）のようなダイレクトプリントアプリケーションを含むことができる。シンクライアントを有するシステムのために、レンダリングサーバ側でＤＰＡＰＩを作動させることができる。シンクライアントはいかなるプリントサービスも提供できない。シンクライアントは包括的なアプリケーションを含むことができ、そのアプリケーションのユーザインターフェース（ＵＩ）およびＵＩ応答の解読は、拡張マークアップ言語（ＸＭＬ）メッセージングを使用してレンダリングサーバによって制御される。
【００２４】
ＵＩのために、ＸＭＬメッセージングを使用する標準的な方法は、例えば名称、データ、タイプ、レンジおよびデフォルト値のようなＵＩプロパティを記述することである。シンクライアントはその後でＵＩプロパティを解読し、ＵＩの詳細をシンクライアントにレンダーすることができる（例えばオペレーティングシステム（ＯＳ）／アプリケーションから独立した）。この方法では、レンダリングサーバでのサポートがないシンクライアントまたはＵＩプロパティの固有の知識を有するシンクライアントにより受信された情報にフィルタをかける方法がないという問題が生じる。例えばシンクライアントがレンダリングサーバによって管理されているプリンタのリストのリクエストを行うと、サーバはすべてのプリンタのリストを含むＸＭＬメッセージを送るかもしれない。シンクライアントのユーザが両面プリント能力を有するプリンタにしか関心がない場合、どのプリンタが両面機能をサポートするかを決定するために、各プリンタのレンダーされたＵＩを通して分析することをユーザが要求される。ユーザがレンダリングサーバによって送られた情報のサブセットを得るためにＸＭＬメッセージで送られたＵＩプロパティをフィルタリングするシステムおよび方法が有益となり得る。
【００２５】
図１は、クライアント−サーバ環境１００の一実施例を示すブロック図である。クライアント１０２とサーバ１０４とは、ネットワーク１２８を通して通信できる。一実施例では、クライアント１０２は、デスクトップコンピュータ、ラップトップコンピュータ、ミニパソコン（ＰＣ）、メインフレームＰＣ、ハイブリッドクライアント、ファットクライアント、シンクライアントなどを含むことができる。シンクライアントは処理動作を主にサーバ１０４に依存するコンピューティングデバイスとすることができ、一実施例では、シンクライアントはパーソナルデジタルアシスタント（ＰＤＡ）、ターミナル、携帯電話などを含むことができる。
【００２６】
サーバ１０４は、デバイスＡ１０６、デバイスＢ１１０およびデバイスＣ１１４を管理し、これらと通信できる。明瞭にするために、３つのデバイスしか示していない。しかしながら、サーバ１０４は、もっと多くのデバイスを管理し、それらと通信することができる。一実施例では、デバイスＡ１０６、Ｂ１１０およびＣ１１４は、プリンタ、スキャナ、複写機、ファクシミリデバイス、ファイリングデバイス、変換デバイス、発行デバイス、電子ホワイトボード、オーディオ／ビデオレコーダ／プレイヤー、ビデオプロジェクタなどとすることができる。別の実施例では、デバイスＡ１０６、Ｂ１１０およびＣ１１４を、Ｘ線、磁気共鳴画像形成（ＭＲＩ）またはコンピュータ断層撮影（ＣＡＴ）スキャンデバイスとすることもできる。
【００２７】
デバイスＡ１０６は制御プロパティＡ１０８を含むことができる。制御プロパティＡ１０８は、デバイスＡ１０６の特定の性能能力を示すことができる。同様に、デバイスＢ１１０は制御プロパティＢ１１２を含むことができ、デバイスＣ１１４は制御プロパティＣ１１５を含むことができる。デバイスＡ１０６、Ｂ１１０およびＣ１１４は１つの制御プロパティしか有しないように示されているが、かかるデバイスはデバイスの種々の性能の能力を示すために、多数の制御プロパティも含むことができる。
【００２８】
説明のためにデバイスＡ１０６、Ｂ１１０およびＣ１１４をプリンタとする。プリントデバイスに関連する制御プロパティの一例として、プリンタが多数のコピーをプリントしたり、部数印刷をしたり、裏表印刷をする能力を示す丁合を挙げることができる。別の例としてプリンタがペーパーシートの両面にプリントすること、プリントしたものを小冊子にすること、プリントしたものを三つ折りにすること、１枚の紙に縮小された多数のページをプリントすること（Ｎ−ＵＰ）、ページを配向すること、ページにタブをつけることなどの能力を示すシートアセンブリを挙げることができる。制御プロパティの別の例としては、カラースペース、ハーフトーン、トナー節約、解像度、画像エンハンスメントなどに関してプリンタがプリントする能力を示すレンダリングを挙げることができる。別の例として、ステープリング、パンチング、折りたたみ、トリミング、カッティングなどに関するプリンタの能力を示す仕上げを挙げることができる。別の例として、プリンタのペーパーソース、ペーパーサイズ、ペーパータイプなどを示すペーパーを挙げることができる。別の例としてプリンタの出力ビンの特性、プリンタがカーボンコピー、透明コピー、定着後の挿入処理、フロント／バックカバーなどをプリントする能力を示すことができる出力を挙げることができる。
【００２９】
一実施例では、デバイスＡ１０６、Ｂ１１０およびＣ１１４は、それぞれの制御プロパティをサーバ１０４に伝送できる。サーバ１０４は、ユーザインターフェース（ＵＩ）の定義１１６を処理し、作成する能力を有するレンダリングサーバ１０４とすることができる。ＵＩ定義１１６は、ユーザが特定の計算デバイス、例えばクライアント１０２と相互対話するときに用いる手段を示すことができる。ＵＩ定義１１６は、サーバ１０４によって管理されるデバイスをユーザが制御するための手段を提供できる。このＵＩ定義１１６はデバイスリスト１３０を含むことができる。デバイスリスト１３０はデバイスＡ１０６、Ｂ１１０およびＣ１１４の識別、およびそれらのそれぞれの制御プロパティを含むことができる。別の実施例では、デバイスリスト１３０はサーバ１０４と通信しているデバイスの状態に関する情報も含むことができる。デバイスリスト１３０はデバイスに関連するジョブに関する通知も含むことができる。
【００３０】
一実施例では、ＵＩ定義１１６はネットワーク１２８を通してクライアント１０２へ伝送される。ネットワーク１２８は、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ネットワーク、ページングネットワークなどを含むことができる。クライアント１０２は、ＵＩ定義１１６からの情報のフィルタリングを容易にできるフィルタスクリプト１１８を含むことができる。クライアント１０２はＵＩ構築コンポーネント１２２を含むことができるアプリケーション１２０も含むことができる。構築コンポーネント１２２は、フィルタにかけられたＵＩ定義１２６をディスプレイ１２４にレンダリングできる。ユーザは、フィルタにかけられたＵＩ定義１２６を見るためにディスプレイ１２４にアクセスできる。一実施例では、フィルタにかけられたＵＩ定義１２６はデバイスリスト１３０を含むことができ、デバイスリスト１３０は制御プロパティＡ１０８を含むデバイスの識別、例えばデバイスＡ１０６を含むことができる。一実施例では、フィルタスクリプト１１８は情報をフィルタにかけて取り除いている可能性があるので、フィルタにかけられたＵＩ定義１２６のデバイスリスト１３０内にはデバイスＢ１１０およびＣ１１４に関する情報は含まれない。
【００３１】
図２は、ダイナミックなＵＩ定義１１６を構築するための方法２００の一実施例を示すフローチャートである。一実施例では、シンクライアントのようなクライアント１０２により方法２００を実施できる。デバイスリスト１３０のリクエストが送られる（２０２）。一実施例では、リクエストメッセージは拡張可能なマークアップ言語（ＸＭＬ）メッセージとすることができ、ＸＭＬメッセージは異なるシステム、例えばクライアント−サーバ環境にわたるデータの共用を容易にすることができる。別の実施例では、リクエストメッセージをシステム間の伝送に適した他の任意のタイプのフォーマットとすることができる。
【００３２】
所定の制御プロパティを有するすべてのデバイスのリストのリクエストを含むことができるサーバ１０４へリクエストを送ることができる（２０２）。別の実施例では、リクエストはサーバ１０４が管理する所定のデバイスのステータスのためのリクエストを含むことができる。別の実施例では、リクエストはサーバ１０４が管理する所定のデバイスによって実行されるジョブのステータスのリクエストを含むことができる。
【００３３】
デバイスリスト１３０と共に、ＵＩ定義１１６は受信される（２０４）。一実施例ではデバイスリスト１３０はサーバ１０４が管理するすべてのデバイスの識別を含むことができる。一実施例では、ＵＩ定義１１６のフォーマットはアプリケーション１２０と無関係にすることができる。換言すれば、ＵＩ定義１１６のフォーマットはアプリケーション１２０のためのＵＩのレイアウトを定義しなくてもよい。
【００３４】
一実施例では、デバイスリスト１３０を含むＵＩ定義１１６にフィルタスクリプト１１８が適用される（２０６）。一実施例では、フィルタスクリプト１１８はＸＭＬフォーマットを含むことができる。フィルタにかけられたＵＩ定義１２６をアプリケーション１２０へ送る（２０８）ことができる。このフィルタにかけられたＵＩ定義１２６を構築（２１０）し、ディスプレイ（２１２）することができる。ユーザインターフェースの定義の構築とは、例えば、フィルタにより抽出されたＵＩ定義に基づいて、抽出されたデバイスのみを利用可能なデバイスとして選択可能に表示するよう、メニュー表示を変更する処理である。一実施例では、アプリケーション１２０のＵＩ構築コンポーネント１２２は、フィルタにかけられたＵＩ定義１２６を構築する（２１０）。フィルタにかけられたＵＩ定義１２６はデバイスリスト１３０を含むことができ、所有権のあるデータフォーマット、ＸＭＬ、などのフォーマットとすることができる。一実施例では、デバイスリスト１３０は所定の制御プロパティを含むサーバ１０４によって管理されるデバイスのリストを含むことができる。フィルタにかけられたＵＩ定義１２６をユーザにディスプレイする（２１２）ことができる。ユーザはダイナミックに構築されたフィルタにかけられたＵＩ定義１２６によって、デバイスリスト１３０に含まれるデバイスを制御できる。
【００３５】
図３は、本システムおよび方法の実施例を実施できる動作環境３００の一実施例を示すブロック図である。この環境３００はサーバ３０４を含むことができ、一実施例では、サーバ３０４は多機能周辺（ＭＦＰ）サーバとすることができる。デバイス制御アプリケーション３２０は、サーバ３０４にデバイス制御のためのリクエストを提供できる。デバイス制御リクエストはユーザがサーバ３０４によって管理されているデバイス（図示せず）を制御できるようにする制御装置へのアクセスのためのリクエストを含むことができる。
【００３６】
サーバ３０４は、アプリケーション３２０へ制御プロパティを送ることができる。一実施例では、ユーザインターフェース定義１１６内に制御プロパティが含まれる。ＵＩ定義１１６および制御プロパティをＵＩ制御構築コンポーネント３２２へ伝送できる。構築コンポーネント３２２は、ＵＩ制御プロパティに基づくデバイス（図示せず）を制御するためのＵＩをレンダリングできる。これらＵＩ制御はアプリケーション３２０固有の態様でレンダリングできる。ユーザがデバイス（図示せず）を制御できるようにするＵＩ制御３０８を含むダイナミックに構成されたデバイス制御ＵＩ３１６をレンダリングできる。
【００３７】
図４はユーザインターフェースの定義１１６をフィルタにかけ、ダイナミックに構築するための方法４００の別の実施例を示すフローチャートである。一実施例では、ＵＩ制御プロパティメッセージ４０８はフィルタ４１８に送られる。４０８は、フィルタにかけられていない（フィルタリング前）ＵＩプロパティを示すものである。ＵＩ制御プロパティメッセージ４０８はＸＭＬメッセージを含むことができる。フィルタ４１８はＸＭＬフィルタとすることができる。フィルタ４１８は、多数の方法に基づいて選択できる。例えばフィルタ４１８をあらかじめ決定してもよい。別の実施例では、フィルタ４１８をユーザのアドミニストレーターによりあらかじめ構成してもよい。フィルタ４１８は、ユーザによりマニュアルでオンザフライ方式で選択することもできるし、フィルタ４１８を他の何らかの基準に基づき、オンザフライ方式で選択してもよい（オンザフライとは、テストサイクルごとに条件を変えることである）。
【００３８】
更に、フィルタ４１８をジョブセッションに対してスタティック（すなわち無変化）としてもよく、メッセージ４０８のタイプ、フォームまたはコンテントにかかわらず、各ＸＭＬメッセージ４０８に同じフィルタリングスクリプトを適用してもよい。一実施例では、メッセージ４０８のタイプに基づき、フィルタ４１８を選択できる。例えばＸＭＬメッセージ４０８は、メッセージのタイプ、例えばデバイス選択リスト、デバイス情報、デバイス能力、デバイス設定／制御、ジョブ選択、ジョブ通知など、をユニークに定めるヘッダーを含むことができる。以上述べたことは、ジョブセッション全体に亘って同じフィルタセットを使用するということである。ジョブセッション（例えば、印刷ジョブ）とは、ジョブの開始（例えば、プリンタの選択）からジョブの終了（例えば、最後のページの出力）までの全ての動作のことである。
【００３９】
別の実施例では、メッセージ４０８の伝送プロトコル、例えばユーザデータグラムプロトコル（ＵＤＰ）、伝送制御プロトコルＩＰ（ＴＣＰ／ＩＰ）、アップルトークなど、に基づきフィルタスクリプト４１８を選択できる。このフィルタスクリプト４１８は、メッセージ４０８のデータプロトコル、例えばハイパーテキスト転送プロトコル（ＨＴＴＰ）、ダイレクトインターネットメッセージカプセル化（ＤＩＭＥ）、ＸＭＬなど、に基づいて選択することもできる。このフィルタスクリプト４１８は、メッセージ４０８が送信されたポートまたは受信されたポート、送り側のインターネットプロトコル（ＩＰ）アドレス等に基づいて選択してもよい。
【００４０】
別の実施例では、メッセージ４０８のコンテントの一部の特徴に基づき、フィルタスクリプト４１８を選択できる。例えばメッセージ４０８内の一部のコンテントの不存在、例えばＸＭＬ内のノード、属性または値、に基づき選択できる。フィルタスクリプト４１８は、ある値または値の範囲に設定されているか、または設定されていないデータオブジェクトなどに基づき選択してもよい。
【００４１】
ＵＩをレンダリングするために、ＵＩ制御構築コンポーネント４２２へフィルタにかけたＵＩレンダリングメッセージ４２６を伝送してもよい。４２６は、フィルタにかけられた（フィルタリング後）ＵＩプロパティを示すものである。ＵＩ  １１６は、４２６（フィルタリング後）中の情報からダイナミックに構築されたＵＩである。一実施例では、アプリケーション１２０内に構築コンポーネント４２２を含めてもよい。この構築コンポーネント４２２はフィルタにかけられたメッセージ４２６に従い、ＵＩをレンダリングできる。次の表は、方法４００を実行する一例を示す。
【００４２】
一実施例では、デバイス選択メッセージを含むメッセージ４０８に対してフィルタリングプロセスがフィルタスクリプト４１８を適用するように、フィルタリングプロセスを設計できる。一実施例では、デバイスをプリンタとすることができる。このフィルタスクリプト４１８は所望する能力を含まないコンテント要素を含むメッセージ４０８から任意のプリンタを除くことができる。例えば所望する能力として、両面印刷能力を備えたプリンタを挙げることができる。下記の表は、デバイス選択メッセージを含むメッセージ４０８の一実施例である。このメッセージをＸＭＬフォーマットとすることができる。
【００４３】
【表１】
2008090816.tif 000003
【００４４】
フィルタスクリプト４１８に関連する基準を次のように定義できる。
【００４５】
【表２】
2008090816.tif 000004
【００４６】
「filter.duplex＿only」を含むフィルタスクリプト４１８を次のように定義できる。
【００４７】
【表３】
2008090816.tif 000005
【００４８】
「filter.duplex＿only」を含むフィルタスクリプト４１８を、上記サンプルＸＭＬメッセージに適用した後に、フィルタにかけられたメッセージ４２６を次のように定義できる。
【００４９】
【表４】
2008090816.tif 000006
【００５０】
別の実施例では、メッセージ４０８のタイプがデバイス設定を含むとき、デバイス内のステープリング能力の使用を制限するように、アドミニストレーターはフィルタスクリプト４１８を設計できる。この例では、フィルタスクリプト４１８はステープリング設定を含むコンテント要素を含むデバイス設定選択を除くことができる。次の表は、ＸＭＬフォーマットのデバイス設定メッセージの一実施例である。
【００５１】
【表５】
2008090816.tif 000007
【００５２】
フィルタ４１８の基準を次のように定めることができる。
【００５３】
【表６】
2008090816.tif 000008
【００５４】
フィルタスクリプト４１８「filter.no＿staple＿setting」を次のように定めることができる。
【００５５】
【表７】
2008090816.tif 000009
【００５６】
上記サンプルＸＭＬメッセージに対して、フィルタスクリプト４１８「filter.no＿staple＿setting」を適用した後に、フィルタにかけられたＸＭＬメッセージ４２６を次のように定義できる。
【００５７】
【表８】
2008090816.tif 000010
【００５８】
図５は、フィルタスクリプト５１８を適用するかどうかを判断するための方法５００の一実施例を示すフローチャートである。この方法５００は、ユーザがフィルタにかけられていないメッセージ５０８をプレビューし、フィルタスクリプト５１８をメッセージ５０８に適用するかどうかを判断することを容易にする。一実施例では、ユーザが多数のフィルタスクリプトを構築し、名称を定めることができる。フィルタスクリプトを変えれば、フィルタスクリプト「filter.duplex＿only」および「filter.no＿staple＿setting」の例と共に上記に説明された種々の機能を実行できる。
【００５９】
一実施例では、クライアント１０２上のアプリケーション１２０内の構築制御コンポーネント１２２へＵＩ制御プロパティ（ＸＭＬメッセージ）５０８が送られる。クライアント１０２は前に説明したようにシンクライアント１０２とすることができる。フィルタスクリプト５１８を通過させることなく、構築制御コンポーネント１２２へメッセージ５０８を送ることができる。
【００６０】
一実施例では、メッセージ５０８を受信したときに、ユーザは制御コンポーネント１２２と相互通信できる。ユーザは編集ボタンを操作することによって相互通信を開始できる。一実施例では、制御コンポーネント１２２がビューワ５３２によって、ユーザがプレビューウィンドー５３４を利用し、フィルタにかけられていないメッセージ５０８をプレビューすることを容易にするようにすることができる。一実施例では、ビューワ５３２はＸＭＬビューワとすることができ、プレビューウィンドー５３４はユーザがＸＭＬメッセージ５０８を見ることができるようにする。
【００６１】
ユーザはプレビューウィンドー５３４を利用し、メッセージ５０８を見ると共に、フィルタスクリプト５１８をメッセージ５０８に適用すべきであるかどうかを判断できる。例えばユーザはサーバ１０４が管理するプリンタのリストを含むメッセージをプレビューできる。このリストは拡張可能であり、ユーザはユーザが望む能力を有するプリンタだけを含むように、リストを簡潔になるように、フィルタスクリプトを適用したいことがある。
【００６２】
ユーザはフィルタ構築コンポーネント５３０へフィルタスクリプト５１８の名称を提供することにより、メッセージ５０８へ適用するための特定のフィルタスクリプトを指定できる。フィルタ構築コンポーネント５３０はユーザが望む特定のフィルタスクリプト５１８を発生できる。更に、ユーザは特定タイプのメッセージ５０８に関連するフィルタスクリプト５１８を適用するためのコマンドを用意することにより、どのフィルタスクリプト５１８を適用するかを決定できる。例えばメッセージ５０８のタイプが「printer settings」である場合、ユーザはこのタイプのメッセージ５０８に関連するフィルタスクリプト５１８を適用することを決定できる。別の実施例では、ユーザは所望するフィルタスクリプト５１８に関連するフィルタアクションを提供できる。フィルタ構築コンポーネント５３０内にフィルタアクションをマニュアルで入力させることができる。これとは別に、フィルタ構築コンポーネント５３０により、フィルタアクションを自動的に発生してもよい。一実施例では、フィルタ構築コンポーネント５３０はメッセージ５０８に関連したユーザが強調するノード、属性または値に応じて、自動的にフィルタアクションを発生してもよい。更に、フィルタ構築コンポーネント５３０は、ユーザが選択するダイアログボタンの組合せに応じてフィルタアクションを発生することができる。所望するフィルタスクリプト５１８が選択されると、ユーザは即座にＵＩメッセージ５０８にスクリプト５１８を適用できる。これとは別に、ユーザがその後使用するため、または一時的に使用するために、発生されたスクリプト５１８をセーブできる。
【００６３】
別の実施例では、構築コンポーネント１２２はメッセージ５０８を受信するとすぐに、フィルタにかけられたＵＩメッセージ１２６のプレビューを発生できる。構築コンポーネント５３０は、ＵＩメッセージ５０８に関連した、あらかじめ存在するフィルタスクリプト５１８を適用することにより、フィルタにかけられたメッセージ１２６のプレビューを自動的に発生できる。一実施例では、ユーザはフィルタにかけられたメッセージ１２６を見ることができ、スクリプト５１８を変更することにより、フィルタにかけられたメッセージ１２６を変更することを選択できる。ユーザは１回の使用のためにフィルタスクリプトを変更するか、またはユーザは後に使用するために変更されたフィルタスクリプトをセーブしてもよい。
【００６４】
図６は、フィルタスクリプト１１８をロードできるデバイス制御アプリケーション６２０の一実施例６００を示すブロック図である。一実施例では、ユーザは自動的にまたは手動で、フィルタスクリプト１１８を構築し、このスクリプト１１８をロードできる。一実施例において、ユーザがスクリプト１１８をマニュアルでロードする場合、ユーザはシンクライアント上のデバイス制御アプリケーション６２０を呼び出し、フィルタスクリプト１１８をアプリケーション６２０にマニュアルでロードできる。一実施例では、ユーザはロードフィルタダイアログボックス６３８を利用するロードフィルタメニュー６３６によって、スクリプト１１８をアプリケーション６２０にロードできる。次にロードフィルタメニュー６３６は、前に説明したように、メッセージをフィルタにかけるのに使用できる、ユーザが指定したフィルタ６４０を含むことができる。
【００６５】
本明細書で説明した実施例は、ＸＭＬフォーマットのＵＩメッセージを含むが、任意のフォーマット、例えばＨＴＴＰ、ＤＩＭＥ、拡張可能なアプリケーションマークアップ言語（ＸＡＭＬ）、所有権のあるデータフォーマットなど、を使用することもできる。他の実施例では、任意のデバイス制御またはオペレーション、例えばスキャニング、ファックス、アーカイブ、コピー、ファイリング、発行、変換および計算、に対してＵＩメッセージを適用できる。別の実施例では、（シンクライアントのような）クライアントにより、フィルタスクリプトをレンダリングサーバにアップロードできる。このフィルタリングプロセスはレンダリングサーバ上で実行され、フィルタにかけたメッセージはクライアントに送り戻される。
【００６６】
別の実施例では、メッセージはバリデーションのためのスキーマに関連づけできる。例えばメッセージがバリデーターによって知られていないか、または認識されていないリッチな（余分な）コンテントを含むとき、スキーマに対するバリデーションのためにリッチコンテントを除くためにメッセージに対してあらかじめフィルタをかけることができる。次に、このあらかじめフィルタにかけたメッセージをクライアントによりユーザインターフェースにレンダリングできる。
【００６７】
図７は、本明細書において実施例と共に一般に使用される主要なハードウェアコンポーネントを示すブロック図である。開示されているシステムおよび方法は、計算デバイス７０２およびプリントデバイス７２０と共に使用できる。図７には、一般に計算デバイス７０２内で使用される主要なハードウェアコンポーネントが示されている。計算デバイス７０２は一般に、入力コンポーネントすなわちデバイス７０４および／または出力コンポーネントすなわちデバイス７０６と電子的な通信を行うプロセッサ７０３を含む。プロセッサ７０３は、このプロセッサ７０３と電子通信できる入力デバイス７０４および／または出力デバイス７０６に、換言すれば、電気信号の形態で入力および／または出力できるデバイスに接続されている。デバイス７０２の実施例は、同じ物理的構造体内、または別個のハウジングまたは構造体内の入力デバイス７０４、出力デバイス７０６およびプロセッサ７０３を含むことができる。
【００６８】
計算デバイス７０２はメモリ７０８も含むことができる。メモリ７０８はプロセッサ７０３と別個のコンポーネントでもよいし、プロセッサ７０３と同じ部品内に含まれるボード実装メモリ７０８でもよい。例えばマイクロコントローラは所定の量のボード実装メモリを含むことが多い。
【００６９】
プロセッサ７０３は、通信インターフェース７１０とも電子通信する。他のデバイス７０２、プリントデバイス７２０、サーバなどと通信するために、通信インターフェース７１０を使用できる。従って、種々のデバイス７０２の通信インターフェース７１０は、計算デバイス７０２の間で信号またはメッセージを送るために互いに通信するように設計することができる。
【００７０】
計算デバイス７０２は、他の通信ポート７１２を含むこともできる。更に、計算デバイス７０２には、他のコンポーネント７１４が含まれてもよい。
【００７１】
本明細書の実施例と共に、多くの種類の異なるデバイスを使用できる。計算デバイス７０２はワンチップコンピュータ、例えばマイクロコントローラ、ワンボードタイプのコンピュータ、例えばコントローラ、代表的なデスクトップコンピュータ、例えばＩＢＭ−ＰＣコンパチコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、ユニックスベースのワークステーションなど、とすることができる。従って、図７のブロック図は、計算デバイス７０２の代表的なコンポーネントを示すにすぎず、本明細書に開示した実施例の範囲を限定するものはない。
【００７２】
計算デバイス７０２は、プリントデバイス７２０と電子通信している。プリントデバイス７２０は画像形成ジョブを送受信するデバイス、例えば多機能周辺（ＭＦＰ）デバイスまたは計算デバイスである。プリントデバイスは物理的プリンタ、多機能周辺機器、プリンタプール、プリンタクラスタ、ファックスマシン、プロッター、スキャナ、複写機、ロジカルデバイス、コンピュータのモニタ、ファイル、電子ホワイトボード、ドキュメントサーバなどを含むが、これらだけに限定されるものではない。代表的なプリントデバイス、例えば物理的プリンタ、ファックスマシン、スキャナ、多機能周辺機器または複写機は、あるタイプの計算デバイスである。この結果、デバイスは図７に関連して図示し、説明したようなプロセッサ、メモリ、通信インターフェースなども含む。プリントデバイスは、２つ以上のデバイスの単一グループまたは複数のグループ（例えばプールまたはクラスター）とすることができる。
【００７３】
図８は、本システムおよび方法を実現できる１つの可能性のある環境を示すネットワークブロック図である。本システムおよび方法はスタンドアローンコンピュータシステムでも実現できる。図８は、複数の計算デバイス８０２、１台のプリントデバイス８２０および１台のプリントサーバ８２４を含むコンピュータネットワーク８０１を示す。
【００７４】
種々の異なる技術、技法を利用して情報および信号を表示できる。例えば、これまでの説明全体で参照したデータ、命令、コマンド、情報、信号、ビット、シンボルおよびチップは、電圧、電流、電磁波、磁界または粒子、光フィールドまたは光粒子、またはこれらの組み合わせによって表示できる。
【００７５】
本明細書に開示した実施例に関連して説明した種々の説明のための論理ブロック、モジュール、回路およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェアまたはこれら双方の組み合わせとして実現できる。ハードウェアとソフトウェアのこのような相互交換可能性を明確に説明するために、種々の説明のためのコンポーネント、ブロック、モジュール、回路およびステップは、それらの機能によって記述してきた。かかる機能がハードウェアによって実現されるか、またはソフトウェアによって実現されるかは、システム全体に課される特定の用途および設計の制限に応じて決まる。当業者であれば、特定の各用途に対し、説明した機能を種々の方法で実現できるが、かかる実施の判断は本発明の範囲を逸脱するものと見なしてはならない。
【００７６】
本明細書に開示した実施例に関連して、これまで説明した種々の説明のための論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、アプリケーション特定集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレー信号（ＦＰＧＡ）または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタロジック、個別ハードウェアコンポーネントまたは本明細書に説明した機能を実行するようになっているそれらの組み合わせによって実現または実行できる。汎用プロセッサはマイクロプロセッサとすることができるが、別の例ではプロセッサを従来の任意のプロセッサ、コントローラ、マイクロコントローラまたはステートマシンとすることができる。プロセッサは計算デバイスの組み合わせ、例えばＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと組み合わせた１つ以上のマイクロプロセッサ、または任意の他のこのような構成としても実現できる。
【００７７】
本明細書に開示した実施例に関連してこれまで説明した方法およびアルゴリズムのステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュールまたはこれら２つの組み合わせにおいて直接具現化できる。ソフトウェアモジュールはＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取り外し自在なディスク、ＣＤ−ＲＯＭ、当業者に公知の任意の他の形態の記憶媒体内に常駐してもよい。プロセッサが記憶媒体との間で情報を読み出したり書き込んだりできるように、プロセッサにある種の記憶媒体が結合される。別の例では、この記憶媒体はプロセッサと一体的にできる。プロセッサと記憶媒体はＡＳＩＣ内に常駐してもよい。このＡＳＩＣは、ユーザターミナル内に常駐してもよい。別の例では、プロセッサと記憶媒体はユーザターミナル内に個別コンポーネントとして常駐できる。
【００７８】
本明細書に開示した方法は、説明した方法を達成するための１つ以上のステップまたはアクションを含む。方法のステップおよび／またはアクションは、本発明の範囲から逸脱することなく相互に交換できる。換言すれば、実施例の適正な作動のために特定の順序のステップまたはアクションが必要でなければ、本発明の範囲から逸脱することなく、特定のステップおよび／またはアクションの順序および／または使用を変えてもよい。
【００７９】
以上で、本発明の特定の実施例およびアプリケーションについて図示し、説明したが、本発明は本明細書に開示したのと同じ構成およびコンポーネントだけに限定されるものではないと理解すべきである。本発明の要旨から逸脱することなく、本明細書に開示した本発明の方法およびシステムの配列、動作および細部において、当業者に明らかとなる種々の変形および変更を行うことが可能である。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施例を実施できるクライアント−サーバ環境の一実施例を示すブロック図である。
【図２】ダイナミックなユーザインターフェース（ＵＩ）の定義を構築するための方法の一実施例を示すフローチャートである。
【図３】本発明のシステムおよび方法の実施例を実現できる動作環境の一実施例を示すブロック図である。
【図４】ユーザインターフェースの定義をフィルタにかけ、ダイナミックに構築するための方法の、別の実施例を示すフローチャートである。
【図５】フィルタスクリプトを適用すべきかどうかを判断するための方法の一実施例を示すフローチャートである。
【図６】フィルタスクリプトをロードできるデバイス制御アプリケーションの一実施例を示すブロック図である。
【図７】本明細書において、実施例と共に一般に利用される主要なハードウェアコンポーネントを示すブロック図である。
【図８】本発明のシステムおよび方法を実現できる１つの可能性のある環境を示す、ネットワークブロック図である。
【符号の説明】
【００８１】
１０２…クライアント、１０４…サーバ、１０６…デバイスＡ、１０８…制御プロパティＡ、１１０…デバイスＢ、１１２…制御プロパティＢ、１１４…デバイスＣ、１１５…制御プロパティＣ、１１６…ＵＩ定義、１１８…フィルタスクリプト、１２０…アプリケーション、１２２…ＵＩ構築コンポーネント、１２４…ディスプレイ、１２６…フィルタにかけられたＵＩ定義、１２８…ネットワーク、１３０…デバイスリスト。
【図１】
2008090816.tif 000011
【図２】
2008090816.tif 000012
【図３】
2008090816.tif 000013
【図４】
2008090816.tif 000014
【図５】
2008090816.tif 000015
【図６】
2008090816.tif 000016
【図７】
2008090816.tif 000017
【図８】
2008090816.tif 000018