JP2001516915A - インターフェース・コード・アーキテクチャ - Google Patents

インターフェース・コード・アーキテクチャ

Info

Publication number
JP2001516915A
JP2001516915A JP2000512130A JP2000512130A JP2001516915A JP 2001516915 A JP2001516915 A JP 2001516915A JP 2000512130 A JP2000512130 A JP 2000512130A JP 2000512130 A JP2000512130 A JP 2000512130A JP 2001516915 A JP2001516915 A JP 2001516915A
Authority
JP
Japan
Prior art keywords
client
screen
display
screen description
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000512130A
Other languages
English (en)
Inventor
ラムバート チュン ボブ ラム
クレイグ サイデル
ゼンゴ グアン
ジェームズ ケイ ジュニア シュウォーツ
Original Assignee
エレクトロニクス フォア イメージング インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エレクトロニクス フォア イメージング インコーポレイテッド filed Critical エレクトロニクス フォア イメージング インコーポレイテッド
Publication of JP2001516915A publication Critical patent/JP2001516915A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

(57)【要約】 サーバー・クライアント方式を用いた表示ンターフェース・システムである。サーバーは表示情報に関する必要な全情報を含み、クライアントはサーバーに接続された特定のタイプの表示を扱っている。サーバーはユーザ・インターフェース画面に関する包括的な記述を有し、同記述によりサーバーは特定の表示タイプの影響を受けずに済む。こうして、表示のタイプ毎に複数のソフトウェア・バージョンではなく、一つのソフトウェア・バージョンで複数のタイプの表示をサポートでき、ソフトウェア開発者の時間、メインテナンス、作業の経費を節約できる。クライアントが以前のユーザ表示画面又は次のユーザ表示画面を要求したり、システム・パラメータを要求したり、又はサーバーから更新をする際には、要求応答通信システムが用いられる。クライアントは一連のキー及びタグのシーケンスを通して画面情報を要求し、サーバーはユーザ表示画面のシーケンスを制御する。クライアントは画面内容に関する知識からは隔離され、何かが表示されているという事実だけに関わる。サーバーとクライアント間の通信は、クライアントがサーバーと同じマシン内の局所な場所にいてもネットワーク経由の遠隔地にいても、統一されたプロトコルにより行える。

Description

【発明の詳細な説明】
【0001】 (技術分野) 本発明は、複数の異なる表示装置に対する情報伝送に関する。より詳細には、
本発明は、表示情報をサーバーから複数の異なる表示装置へ伝送し、それによっ
て、特定の表示装置それぞれの属性をサーバーが無視できるようにするための、
包括的な情報インターフェース・アーキテクチャに関する。
【0002】 (先行技術) ユーザとの対話が必要なコンピューター・システムのアプリケーションは、
液晶表示(LCD)、発光ダイオード(LED)表示、プラズマ表示、及び 陰
極線管(CRT)のような装置を通して情報通信を行う。表示部上の図形表示を
制御するためには、表示のタイプ毎に専用ドライバが必要である。図形的表現は
、非常に複雑なグラフィック・ユーザ・インターフェース(GUI)に対する、
例えば「Self Test」というような、非常に単純な一ラインのメッセー
ジのようなものである。
【0003】 ソフトウェアの開発者は、アプリケーションが通信を行う表示部毎に、専用の
ソース・コードを作らなければならない。通常、選択した表示部上に表示可能な
表示要素の全てを画面上に表示するライブラリが生成される。ライブラリは、画
面生成要素、ボタン・ラベル、ユーザ・メッセージ、明減特性、及び 見出しの
ような情報を含んでいる。ライブラリの基盤とされるのは、画面記述の全てを含
むモジュールである。ライブラリ及び画面記述モジュールは、ソフトウェア開発
者が使用している、例えば、「C」言語プログラム言語で書かれ、一ライン、二
ライン、ないし五ラインのLCD表示又はGUI表示のような表示タイプ用にカ
スタマイズされる。二ラインLCD表示と五ラインLCD表示との差は、表示可
能な情報量にある。二ラインLCD表示では、五ラインLCD表示に比べ、ユー
ザへ表示できるテキスト量が限られる。GUI表示は、ラインに制限のあるLC
D表示よりも表示領域が広い。GUI表示は、ラインに制限のあるLCD表示な
ら複数の画面を必要とする情報でも一つの画面上に表示できる。そして、ソース
・コードは、アプリケーション・ソース・コードでコンパイルされ、最終的プロ
ダクトの一部として送られる。
【0004】 この表示画面のハード・コード化には、新しい表示装置が選ばれる毎に、新し
いソース・コードを作成し、アプリケーション・ソフトウェアにコンパイルする
ことが必要とされる。表示タイプ毎のソース・コードは、各表示装置が使われる
間はずっと、記録され維持されてなければならない。この作業は面倒で費用もか
さみ、例えば、N個の異なる表示装置を使う場合は、N個の異なるソース・コー
ドが存在することになる。
【0005】 1988年、11月22日付でボーネに発行された米国特許番号第4,787
,035号に開示されたシステムでは、構文解析テーブルをつくるために、文法
テーブルや語彙テーブルを使ってメッセージを確認するインタープリタが用いら
れている。構文解析テーブルは、意味テーブルにおいて必要とされるデータと比
較され、意味テーブルは、機能テーブルを評価し、ユーザの所望機能を実行する
ルールを実行する。これは、特に多数の目標言語を備えたシステムを構築するの
に適している。
【0006】 製品が相手先ブランド製造業者(OEM)によって使われる場合、このOEM
は通常、同じ基本アプリケーションを用いる他のOEMと、自社製品を差別化す
るために、専用の表示部とすることが必要である。OEMエンジニアは、自分の
専用表示部を作るために、アプリケーション・ソフトウェアの内部構造を知る必
要がある。このような情報を明らかにすることは、多くの場合、非常にデリケー
トな問題である。オリジナル製品を作る会社は、OEMに対し製品供給者として
の自己の価値を維持するため、このようなソフトウェアの内部構造は機密にした
がるものである。
【0007】 サポートされる全タイプの表示に用いられる単一セットの画面記述を開発者が
作成できるように、表示インターフェース・システムを提供することは有利であ
る。表示位置に関係しない、即ち表示がシステム内蔵なのか、ネットワーク経由
でアクセス可能なのかを問わない、表示インターフェース・システムを提供する
ことは更に有利である。
【0008】 (発明の概要) 本発明は、構造が一般的な故に、サポートされる表示タイプに影響されない表
示インターフェース・システムを提供する。本発明では、選択される表示タイプ
や包括的なコード・ジェネレータに対する表示の位置に左右されない包括的な言
語手法を用いる。
【0009】 本発明は、サーバー・クライアント方式を用いる。サーバーは、表示情報に関
する全ての必要情報を処理し、クライアントは、サーバーが接続される特定のタ
イプの表示部を取扱う。サーバーは、ソフトウェアの開発者がユーザ・インター
フェース画面の包括的な記述を作成するのを可能とする。包括的な画面記述によ
り、サーバーは、表示が特定のタイプであることに無関係とすることが可能とな
る。これにより、複数のバージョンのソフトウェアによって各表示タイプに対処
するのではなく、一つのバージョンのソフトウェアで多くのタイプの表示をサポ
ートできる。ソフトウェア開発者は時間、メインテナンス、作業コストの何れも
節約できる。
【0010】 要求応答の通信システムは、クライアントが、以前の又は次のユーザ表示画面
、サーバーからのシステム・パラメータ要求や更新を要求する場合に、ユーザ・
インターフェースとして機能するように用いられる。こうして、ユーザ・インタ
ーフェース機能は、サーバーからオフロードされる。クライアントは、一連のキ
ー・タグ・シーケンスを通して画面情報を要求する。ユーザ表示画面の順序付け
は、サーバーで制御される。ユーザ表示画面のコンセプトは、サーバーだけに知
らされる。クライアントに対しては、画面内容の情報機密は保護された状態であ
り、クライアントは、何かが表示されているという事実だけに関わる。 サーバーとクライアント間の通信は、統一されたプロトコルで行われる。統一
されたプロトコルと組み合わされたサーバー・クライアント方式により、クライ
アントは、同じ機器を、近くに、また、ネットワークを通じて遠方に置くことが
可能となる。
【0011】 (好適実施例の詳細な説明) 図1は、本発明の主たる二つの要素であるコンソール・アプリケーション・プ
ログラム・インターフェース(CAPI)101とインターフェース・インター
プリタ102とを示す。CAPI101によって、ソフトウェア開発者は、ユー
ザ・インターフェース画面又はユーザ・インターフェース画面の一部、まとめて
「画面」と呼ぶ、についての包括的な記述を作成できる。次にこれらの記述は、
通常のシステム実行時間の過程では、CAPI101により管理される。要求応
答通信システムは、直接のユーザ・インターフェースとして作動しているインタ
ーフェース・コード・インタープリタ102が、以前又は次の連続しているユー
ザ表示画面をCAPI101から要求する場合に用いられる。CAPI101は
、全ユーザ表示画面の順序を制御する。ユーザ表示画面のコンセプトは、CAP
I101だけに知らされる。インターフェース・コード・インタープリタ102
は、ユーザに何かが表示されていると判るだけで、表示内容は知らされない。
【0012】 図2は、本発明の能力を更に説明するために、フルシステムの実施例としてC
API201とインターフェース・コード・インタープリタ202を示す。パラ
メータ・マネージャ203は、例えば、どれだけの印刷作業がシステム上に待機
しているか、又は インターネット・プロトコル(IP)アドレスというような
、システムの全情報に対するインターフェースである。この情報は、システム・
データベース204に記憶され、パラメータ・マネージャ203によってアクセ
スされる。インターフェース・コード・インタープリタ202は、数値要求又は
数値記憶要求をCAPI201へ送信する。数値要求の場合、CAPI201は
、システム・データベース204からの適切な数値をパラメータ・マネージャ2
03に要求し、送り返された数値応答をインターフェース・コード・インタープ
リタ202へ送り返す。数値記憶要求の場合、CAPI201は、パラメータ・
マネージャ203に数値の妥当性を確認させ、次に、適切な数値をシステム・デ
ータベース204において更新する。インターフェース・コード・インタープリ
タ202は、表示コントローラ205を通してユーザと通信する。その後、表示
コントローラ205は、表示装置206を通してユーザに情報を表示する。
【0013】 図3では、本発明を、サーバーとクライアントとの関係に広げている。サーバ
ー301は、CAPI303とパラメータ・マネージャ304とを含んでいる。
クライアント302は、インターフェース・コード・インタープリタ305と表
示コントローラ306とを含んでいる。サーバー301とクライアント302と
は、CAPI303とインターフェース・コード・インタープリタ305とを使
って互いに通信する。パラメータ・マネージャ304とCAPI303とは一つ
の機能要素として結合させてもよく、ここではCAPIと呼ぶ。本発明の実施例
では、選択された動作が、クライアント(デフォルトモード)の近くで実行され
た後に、クライアントがサーバーと通信してもよく、或いは、クライアント・サ
ーバー通信が、一定のユーザの行為が直接サーバーに通信されようなダイレクト
モードで行われるようになっても、又は、全ユーザ動作が直接サーバーに通信さ
れるようなコンポーネント・レベルのイベント駆動モードで行われるようになっ
てもよい。
【0014】 図4における局所の実行例では、CAPI401、インターフェース・コード
・インタープリタ402及び表示コントローラ403を組み合わせて、統合した
ユーザ・インターフェースを提供している。 図5は、ネットワーク実行例を示している。サーバー501は、CAPI50
2を含んでいる。クライアントは、ネットワーク503を通してサーバー501
と通信する。ネットワークに接続された、1番目のクライアント505、2番目
のクライアント507、N番目のクライアント508までの任意数のクライアン
トが存在することが可能である。インターフェース・コード・インタープリタ5
04は、表示のタイプの性能に依存しており、クライアントによって異なる。ユ
ーザ・インターフェース画面に対する要求は全て、ネットワーク503を通して
クライアントからサーバー501へ送信される。
【0015】 図6では、サーバー601に局所表示装置を接続させてもよいが、その場合に
は、インターフェース・コード・インタープリタ603と表示コントローラ60
2とが必要となる。各クライアント(この場合サーバー601も)は、通常、別
のユーザと通信している。各ユーザは、サーバー601から異なる要求を受ける
。従って、各クライアントは、異なるユーザ・インターフェース画面をユーザに
対して表示させるようにしてもよい。更に、各クライアントは、異なるタイプの
表示を持っていてもよい。例えば、1番目のクライアント607はGUI表示で
あり、N番目のクライアント610は五ラインのLCD表示を持っていてもよい
。この場合、クライアントは、自分の好みの表示をサーバーへ伝える必要がある
が、伝えられるのは、通常、クライアントが起動した時又はサーバー601との
通信セッションを開始した時である。
【0016】 サーバー601は、画面の記述を内部データベースの中にスクリプト形式で記
憶する。サーバー601は、クライアントが理解できるようにそのスクリプトを
解釈し、適切なプロトコルの形に変換する。実行時にスクリプトを解釈すること
により、プログラマー又はOEMは、サーバー601のソース・コードを再びコ
ンパイルしなくても画面記述のスクリプトを作成できる。これにより、プログラ
マーやOEMを、サーバー601コードの内部構造及びコードを書いた言語(例
えばC,Ada、C++)から隔離される。
【0017】 サーバー601は、表示プロフィールの記述を内部データベースに記憶する。
クライアントは、例えば、記号列と画面とをアメリカ英語で表示するというよう
な、言語に対する要求も持っている。サーバー601は、クライアントの要求プ
ロフィールに最も近いものを探し、そのプロフィールのための方法(以下、プロ
フィール処理と言う)を返そうとする。サーバー601は、正確に適合する記号
列サイズが見つからない場合、要求に僅かに満たない文字列サイズを探そうとす
る。要求が言語に関係する場合、適合する言語が見つからなければ、例えばアメ
リカ英語のような標準言語を送り返す。サーバー601は、クライアントからの
不明なタグと不明な数値を無視する。サーバー601は、クライアントに適合す
るプロフィールを動的に作成し、上記プロフィール処理をクライアントへ返却す
る。クライアントは、そのプロフィール処理を記憶し、同処理を使って、必要な
画面及び記号列のタイプをサーバー601に伝える。先述のように、サーバー6
01上でのプロフィール処理は変化している可能性があるので、クライアントは
、各通信交渉の開始時にプロフィール処理を入手する。
【0018】 表示プロフィールの記述は、各タイプの表示の性能を示すために、ソフトウェ
ア開発者によって作成される。更に、サーバーは、過去に分からなかったクライ
アント・プロフィールの属性に合うように、追加表示プロフィールを動的に作成
する。表示装置は、二ラインのテキスト(最小)又は複数ラインのテキスト(G
UI表示の場合)を表示する能力を有していてもよい。CAPIシステムは、表
示タイプに合うように、表示出力の大きさを再調整する。CAPIは、最小の表
示(二ライン)が仮想LCD画面を構成する多重仮想LCDモデル上で作動する
。複数のLCD画面を五ラインのLCD表示上に表示してもよい。更に、ライン
の多い(最大で10)LCD画面をGUI表示上に表示してもよい。ソフトウェ
ア開発者は、複数のLCDを同時に表示する場合、論理的な関連付けがなされる
ように、仮想LCDを論理的なグループに融合させてもよい。
【0019】 図7では、融合挙動が一連のサーバーの開始画面を使って示されている。通常
の開始シーケンスにより、ユーザはサーバー名701、システム日付702、シ
ステム時刻703、開始ページを印刷する否か704、以前の画面で行われた変
更を保存するか否か705を設定する。GUI表示は、これらの全画面を表示7
06上で一つに融合し、OKボタン708とキャンセルボタン709を備えた変
更保存画面705に置き換える。画面を融合させるか否かを決めるのはクライア
ント自身である。クライアントは、実行されている表示能力については知ってい
る。サーバーは、画面を大雑把で抽象的なグループに分け、クライアントが最終
的なグループ分けを決める。二ラインのLCD707の場合、サーバー名の画面
701は、クライアントにより二ラインにされる。
【0020】 GUIとLCDとの表示の差でもたらされる別のコンセプトは、表示のタイプ
により表示される情報の量が変わることである。例えば、二ラインのLCD表示
(図8)は、仕事の名前とラスター画像処理されたバイト数とを含むラスター画
像処理(RIP)画面を表示する能力しか持たない場合がある。他方、GUI表
示(図10)では、更に、ジョブのオーナー、ポスト・スクリプトのファイルサ
イズ、RIP時間といった情報が加わる。これは変更可能内容と呼ばれている。
【0021】 変更可能内容の場合、サーバーは実行時間画面の全内容にタグを付ける。クラ
イアントは、画面に表示されている内容の部分と表示されていない内容の部分と
を選択する。実行されている表示サイズに従って内容を専用化する際は、その決
定はクライアントに任される。結果的に画面記述は雑然となる。この記述様式の
利点は、クライアントが、各画面のレイアウトと属性(例えば、フォント、サイ
ズ、色)とを決めることができる点にある。表示タイプにより出力を変えること
も可能である。
【0022】 図9では、画面の各タイプをターゲットと考えている。アイドル画面801は
、LCDの例で、現在目に見えている画面806である。ユーザがスクロールで
きる別のターゲットとして、機能メニュー・ターゲット802、RIPターゲッ
ト803、プリント・ターゲット804、警告ターゲット805等がある。LC
Dターゲットは、アイドル以外の表示情報がある場合のみ作動する。アイドル・
ターゲット表示801は、他のターゲットがアイドル状態にあることを示す。
【0023】 図10では、GUIターゲットがGUI表示905上に表示されている。RI
Pターゲット901、警告ターゲット902、機能メニュータブ・シート・ター
ゲット903、プリント・ターゲット904等の全ターゲットを見ることができ
る。何れかのターゲットがアイドル状態に入ると、アイドル状態の旨が表示され
る。LCDの場合ような要約ターゲットは必要ない。 ユーザからの入力をクライアント側で予め定めることができる。ユーザの入力
をどのレベルで中断するかについては、クライアントに任される。他方、サーバ
ーは、入力イベントがいつ起こるかを知らない。
【0024】 本発明の好適実施例では、CAPIによって、ソフトウェアの開発者が、ユー
ザ・インターフェース画面の記述を作成するために、Cプログラム言語の上位集
合である文法を使うことができる。Ada、C++、所有権が設定されているスク
リプト文法のような別の言語が、Cプログラム言語の代わりに、又はCプログラ
ム言語との組み合わせで使えることを、当事業者は容易に理解するであろう。次
にCプログラム言語をベースにした手法の例を示す。
【0025】 (1)CAPI文法(Cベース) C言語を備えたCAPI文法の構造を示すサンプル・コード・セクションを示
す。 Int ServerSetup(void) { BEGIN(asscClusterSavable) BEGIN(textPair) moText("KSERVERNAME");/*Server Name*/ moEntryText("XJ7 SERVER",NULL,10); END BEGIN(datePair) moText("KSYSTEMDATE");/*System Time*/ moEntryDate("sysdate"); END BEGIN(timePair) moText("KSYSTEMTIME");/*System Time*/ moEntryTime("systime"); END END return CHOICE_NOTHING; } BEGIN…ENDの内側のペアは、小LCD画面、即ち、仮想LCD画面を表す。BEGI
N…ENDの外側のペアは、小LCD画面のグループ又はクラスタを表す。
【0026】 ペアとクラスタは共に、アレー関数ポインターのツリーとして示されていても
よい。ペアを一つの関数として符号化してもよく、クラスタ関数は、上記対の関
数ポインターを登録するためのコードを含んでいてもよい。関数ポインターは、
アレー状態に集められるので、任意の順序で実行できる。 GUI表示のような大型表示の場合、これらの仮想LCD画面は、ダイアログ
・ボックスの中で融合する。BEGIN…ENDの内側のペアは、ダイアログボックス中
のラインを示す。外側のペアBEGIN…ENDは、ダイアログボックス自身を示す。
【0027】 (2)BEGIN…END演算子 BEGIN…ENDのペアは、Cプログラム言語中のマクロ手段により、実行される。
以下に演算子の代表的定義を示す。 #defineBEGIN(funPtr)\ begin(funPtr);\ { #defineEND(funPrt)\ }\ end(); 関数begin()は、関数ポインターをパラメーターとする。begin()の内側で
、関数ポインターは、デ・リファレンスされ呼び出される。デ・リファレンスさ
れた関数ポインターは或るタイプの開始オペレーションを実行し、その後関数ポ
インターは、end()を後のプロセスで用いるために、スタック上に押し出され る。 関数end()は、関数ポインターをスタックの外へはじき出し、コード・ブロ ックの遮断方法を示す対応最終関数を求めてテーブル照合を実行する。
【0028】 実際のコード・セクションの例を以下に示す。 BEGIN(textPair) … END BEGIN()が始まり、textPair()が呼び出される。TextPair()は、画面を クリアし、カーソルを画面の左手上のコーナーへ移動させる。次に、関数ポイン
ターtextPair()がスタック上にはじき出される。次に、END()が実行され、 関数ポインターtextPair()がスタックからはじき出される。関数end()は、 補関数を探し出すためにtextPair()のテーブル照合を実行する。関数endTextP
air()が表の中から見つけ出される。EndTextPair()が呼び出され、ユーザか
ら入力を集める。
【0029】 BEGIN…ENDのペアはネストすると、クラスタを形成する。クラスタは、BEGIN …ENDの小さいペアをまとめたグループである。GUI表示上では、クラスタは ダイアログボックスに相当する。 パラメーターとして送られる関数ポインターは、システムに柔軟性を加える。
例えば、上記例はPairsという接尾辞付きの関数がある。関数textPair()、dat
ePair()、timePair()は、pair()と呼ばれる包括的な関数を指す。これは 、特殊な必要に応じて関数を特別に作成できるというアブストラクションの例で
ある。
【0030】 (3)IF…ELSE…ENDIF演算子 演算子IF、ELSE、ENDIFを、アプリケーションに適合するよう特に定義しても よい。例えば、 #difineIF if #defineELSE else #defineENDIF /*nothing*/ 他のアプリケーションの場合、IFとELSEは、条件分岐の両方の分岐を無条件に横
断することができるように再定義されてもよい。
【0031】 (4)BREAK演算子 BREAK演算子は、最も近いENDマクロを過ぎた直後のポイントへプログラム実行
を導く。BEGINマクロとENDマクロは、シーンオペレーションの背後で行われても
よいので、こうしたオペレーションが不意に出現しようとするのを適切に遮断す
るために、BREAK演算子が開発された。
【0032】 (5)CAPI画面要素 画面要素は、接頭辞mo(malleable output)で識別できる。それらは、再構 成可能性に因んで命名されている。例えば、 BEGIN(selectPair) moText(“KPRTSTARTPG”);/*PrintStartPage*/ moEntrySelect(“PRTSTARTPG”,“KYES”,“KNO”,NULL); /*Yes,No*/ END 関数moText()は、一つの言語の重要なパラメーターを取りだし、局所化された
記号列を画面に出力する。MoEntrySelect()は選択リストを作る。最初の数値 は、デフォルト数値を取得するためのsysdictキーであり、この数値が折り返しs
ysdictに書き込まれる。他の記号列は言語キーであり、この言語キーを限定した
ものが選択リストを形成する。NULLは、変更可能な引数リスト中での終了パ
ラメーターを指定する。
【0033】 何れのプラットフォームでも、これらmo関数の機能は、書き直しができ任意の
特別調製ができる。例えば、アプリケーションにより、出力を、例えば、複数の
仮想LCDのような二つ以上の相手に向け直したり、プレイバックファイルを記
録したりしてもよい。表示要素の正確な形と外観は、クライアントのアプリケー
ションで決まる。CAPIは、要素の正確な形及び外観と選択に関するヒントと
示唆を与えるだけである。
【0034】 (6)CAPI結合要素 先の例では、関数ポインターはBEGINに引き渡される。これら関数ポインター は、結合として知られている要素のクラスである。結合はmo要素又はネストした
BEGIN…ENDのペアの挙動に影響を与える。Mo関数は、結合要素の指示を受けるよ
うに設定される。Mo関数は結合が設定した一定の状態を観察し、結合に適合しよ
うとする。
【0035】 結合の第二の目的は、暗黙の演算を実行することである。例えば、クラスタ結
合は暗黙のうちに、開始画面のグループの最後に「変更したものを保存」という
画面又は暗黙のOKボタンを置いている。 特別調製用に結合を書き直すことができる。例えば、ソフトウェア開発者が小
さな画面のLCD表示からGUI表示へ移行していれば、一連の画面に代わって
ダイアログボックスを作成するために、クラスタ結合が書き直される。ペア結合
は、二つのmo要素で構成されており、ダイアログ・ボックス内にラインを作成す
る。
【0036】 本発明の好適実施例におけるサーバー・クライアント通信プロトコルについて
、以下に説明する。 (7)プロトコルの説明 CAPIは、レイアウト詳細の全てを計算してサーバー上の全ユーザ制御を管
理するのではなく、クライアントのアプリケーション(例えば、サーバー上のL
CD表示のクライアント、又はJavaで書かれた遠隔アプリケーション)上に
、ユーザ・インターフェース(UI)インタラクションをオフロードする。クラ
イアントのアプリケーションは、この明細書に記載されているプロトコルを使っ
て、CAPIと通信する。 CAPIは、統一されたプロトコルを理解している全プラットフォーム上の遠
隔アプリケーションをサポートできる。たとえ多くの点で異なる多数の様々なU
Iアプリケーションでも、一つのプロトコルで駆動できる。
【0037】 クライアントのアプリケーションとCAPIサーバーとの間の通信を、要求応
答対話として見ることもできる。クライアントのアプリケーションが次の画面を
要求する度に、画面要求がCAPIへ送信され、CAPIは次の画面の記述を付
けて答える。クライアントは、要求の中に、現在の画面の処理を与えていなけれ
ばならない。プロトコルはクライアントのアプリケーションからCAPIへのユ
ーザ入力にも注意を払っているので、サーバーは次の要求でどの画面を送信すべ
きか追跡できる。可能な要求として、次の画面、前の画面、次メニューへの進展
、メニューからの復帰を挙げることができる。 パラメータ・マネージャからの数値は、同じ方法で扱われる。クライアントの
アプリケーションは数値要求又は数値記憶要求を送信し、CAPIは数値応答又
は数値記憶応答を折り返し送信する。
【0038】 (8)キーと数値 各テキスト記号列(局所なもの、非局所なものを問わず)、選択リストの選択
肢、画面(クラスタ又は対)には、関連キーがある。このキーは、全データと全
画面とを識別するために、CAPIで用いられる。キーは、パラメータ・マネー
ジャによって、操作され、記憶され、検索される。 各キーには、セットキー、データキーの二つの部分がある。ドット表記で表せ
ば、Sをセットキー、Dをデータキーとして、キーはS.D.という形になる。 CAPIは、文字、数字、ブーリアンという三つのタイプの値を持つ。クライ
アントは、局所化に関する情報を持ってないので、クライアントに送信される記
号列は、サーバーによって予め局所化される必要がある。例えば、選択エントリ
ーから一つを選択すると、クライアントは、サーバーにどの選択が設定されてい
るか伝えなければならない。クライアント・アプリケーションは、局所化された
選択記号列(例えばsi(Spanish))を送り返すのではなく、選択のキー(例え ばtrue)を送り返す。 数値の場合、値に関係するキーはなく、クライアントはその値を送り返す。
【0039】 (9)クライアント・プロフィール CAPIサーバーがクライアントのアプリケーションに対して画面の記述を送
り返すか又は何れかの要求に応答することができる前に、サーバーは、クライア
ントが何を表示できるか(例えばそのクライアントは二ラインのLCDか、五ラ
インのLCDか、長い記号列を表示できるJavaGUIアプリケーションか)
と、記号列及び画面を表示する際にクライアントが望む言語とを知らなければな
らない。これをクライアント・プロフィールと呼ぶ。
【0040】 クライアント・アプリケーションは、クライアント・プロフィール・ハンドシ
ェイキングを実行する際に、次のフォーマットを使用する。 From client to server: #GETPROFILE# Tag_\t_Value_\n_ Tag_\t_Value_\n_ … Tag_\t_Value From server back to client: #RETURNPROFILE#\t_Profile_Handle 例えば、タグはlangとlocalSizeであってもよい。タグlangの値は、例えばア メリカ英語、フランス語、ドイツ語のようなクライアントが表示しようとする言
語を示す。タグlocalSizeの値は、サーバーに表示サイズと、クライアントがL CDか又はGUIか否か、例えばLCD5х20、LCD2х16又はGUIか
否かを示す。
【0041】 サーバーがタグと数値を受信すると、クライアント・プロフィールに最も良く
合うものを探し出し、プロフィールの方法(以下、処理と言う)を送り返そうと
する。ぴったり合う記号列サイズが見つからなければ、要求されたものに僅かに
満たないサイズの記号列を探す。言語の場合は、システム次第であるが、Englis
hIntl又はアメリカ英語のような標準言語が送り返される。サーバーは、不明な タグ及び不明な数値を全て無視する。
【0042】 次にクライアント・アプリケーションは、プロフィール処理を保存し、画面と
記号列をサーバーに要求する場合、この処理を用いる。プロフィール処理を、ハ
ード・コード化しないこと又はそれをオフラインに記憶しないことが賢明である
。プロフィール処理は異なるサーバー・バージョンにより変化する可能性がある
ので、クライアント・アプリケーションは、全セッション毎(要求毎ではないが
)にプロフィール要求を実行すべきである。
【0043】 (10)妥当性、従属性及び伝播 妥当性は、パラメーター値がシステムの正しいオペレーションと矛盾していな
いか否かを表す。例えば、ポーリング間隔に対して負の値は無効である。ユーザ
は、時には、数個の選択肢からのみ選び他の値を無効にすることができる。 従属性は、ユーザが一定のエントリー内の値を変えることができるか否かを制
御する。現在のプロトコルでは、エントリー又はメニュー項目に関する従属性に
ついて記述する従属性リストが、クライアントに送信される。 伝播は、「連鎖反応」を起こさせる幾つかの値をユーザが変更した場合に、起
動されるトリガーである。ユーザが現在のページの値を変更した時に、変更前後
でページの中に出てくる値を変更することが、その一例である。 妥当性は、LCDのCAPIプラットフォーム上で、選択リスト、数の選択、
CAPIの内部での範囲テスト、画面記述ファイル内の幾つかのプログラムC言
語関数を使って維持される。更に、LCDプラットフォーム上では、従属性リス
トでなく制御フローの従属性が用いられる。それ故、状況が適さなければ、CA
PIは画面をスキップする。
【0044】 妥当性は、GUIプラットフォーム上におけるクライアント・アプリケーショ
ンが責任を負っている。プロトコルは可能な全選択肢(例えばmoEntrySelect) 又は各エントリーでユーザが採用できる値(例えばmoEntryNumber)の範囲のど ちらかを含んでいる。クライアント・アプリケーションは、ユーザ入力をサーバ
ーに送り返す前に、その妥当性を実証する。パラメータ・マネージャも、サーバ
ー側で入力の妥当性を実証する。 GUIアプリケーションは、一定の状況が適さない場合、妥当性リストを用い
てエントリーとタブシートを失効(グレイアウト)させる。例えば、パラレルポ
ートが使えない場合は、パラレルポート開始ページ内の全コンフィギュレーショ
ンエントリーが失効する。
【0045】 伝播は、クライアント側ではなく、サーバー側で実行される。伝播が起こると
サーバーは必ず更新値をクライアントへ送信する。クライアントは表示を新しく
することに責任がある。更新は以下の通りに行われる。 #UPDATE#_\n_ Key_\t_Value [\n_Key_\t_Value...] 注釈:選択値が#??#である場合、クライアントは選択リストを消去すべき
であることを示している。対応するキーを使うと直ちに、#UPDATE#の後に#RE
TURNOPTION#(新しい選択リスト)が続く。 現に表示されている以外の何れのキー及び値をクライアントが保存せずとも、
更新は容易に実行され、その更新は最新のページに影響を与えない。クライアン
トが新しい画面を要求すると、新しい画面の値は更新されるので、特別な手段は
必要にならない。
【0046】 クライアント・アプリケーションがキーと値を追跡する場合、クライアント・
アプリケーションはメモリに記憶した値を変更し、更新値を受信した時点で対応
表示を書き換える。 最も難しいのは、更新値が最新の画面の表示と値に影響する場合である。この
場合、ダイレクトモード又はコンポーネント・レベルのイベント駆動モードが必
要となる。
【0047】 (11)ダイレクトモード ダイレクトモードは、GUI環境の「ウィザード」に似ている。アプリケーシ
ョンは、各画面のステップ毎にユーザを案内する。ユーザは、一つの値の変更が
完了するか又は一つのメッセージを読んだ時点、NEXTボタンをクリックして
次のステップへ進むことができる。 クライアントは、一回に一ペアを受信するだけなので、伝播はダイレクトモー
ドで容易に達成される。従って、同じ画面上での伝播は起こらない。又、サーバ
ーがフローを全体で制御するので、何れの表示の要素を隠したり無効にしたりす
る必要はない。 ダイレクトモードは、#SCREENRESPOND#中の「ダイレクト」タグによって起 動される。クライアント・アプリケーションは全て、ダイレクトモードをサポー
トしなければならない。
【0048】 (12)コンポーネント・レベルのイベント駆動(CLED) 通常のCAPIクライアント・サーバー・インタラクションの間で、クライア
ントが要求を送り返すのは、ユーザが最新の画面を終了して、別の画面へ進もう
とする時だけである。これは、クライアント・アプリケーションがサーバーから
何かを期待している唯一の時でもある。 CLEDは通常の状況とは異なる。ユーザが何かを変更するか又はボタンを押
す毎に、クライアントは設定しようとしている値を送り返す。次にサーバーは更
新値を送り返す。こうした値の相互交換は、ユーザが最新の画面を終了し、値を
保存し、次の画面へ進むまで継続する。 CLEDは、#SCREENRESPOND#中のタグ「cled」で起動される。
【0049】 (13)ターゲット表示のエリア サーバーは、通常の画面表示に加えて、状況に応じ情報、警告、エラー・メッ
セージをクライアントへ送る。クライアント・アプリケーションは、これらのメ
ッセージの表示を通常の表示から識別する責任を負っている。例えば、GUIア
プリケーション上において、ユーザは通知メッセージを或るポップアップ・ダイ
アログ・ボックス上で、警告/エラー・メッセージを別のポップアップ・ダイア
ログ・ボックス上で見るようにしてもよい。LCD表示の場合、ユーザは通知メ
ッセージを求めて情報画面上にメッセージを見るためにメニューボタンを押すか
、又は警告LEDフラッシュ付きの警告画面の警告及びエラーを見るためにメニ
ューボタンを再度押す。 各表示リアをターゲットと呼ぶ。クライアント・アプリケーションはターゲッ
ト画面を各画面要求に必要なパラメーターとして供給する。こうして、次の画面
記述が意図されているターゲットをサーバーに伝える。各画面応答で、サーバー
がターゲット・タグを提供するので、クライアントは画面記述の表示場所が分か
る。通知メッセージ、警告、エラーの何れかがある場合、サーバーは二つ以上の
画面記述を送信する。画面記述は全て、特定のターゲットに向けられる。
【0050】 メッセージ・フラッシュは他の何れのターゲットとも異なる。メッセージ・フ
ラッシュの一例は「Configuring Token Ring Hardware. Wait 1min.」であ る。メッセージ・フラッシュを受信すると、クライアント・アプリケーションは
そのメッセージをユーザに表示し、サーバーはユーザが再び準備完了の合図する
のを待つ。サーバーはメッセージ・フラッシュ・ターゲットに時間切れ期間も提
供する。クライアントは、この時間切れ期間が満了する場合、別の画面要求をサ
ーバーへ送信できる。時間切れの回数次第で、クライアント・アプリケーション
は、サーバーダウンか又は接続切れが起きたと考える。
【0051】 (14)プロトコルの詳細 プロトコルのシンタックスは二つの部分から成る。第一部分はクライアント・
アプリケーションからサーバーまで(CAPI)のプロトコルで、第二部分はサ
ーバー(CAPI)からクライアントまでのプロトコルである。 注釈:_\t_は文字TABを、_\n_は文字NEWLINEを表す。 文字TABは、同じラインのトークンを示すデリミッタとして使われ、文字N
EWLINEはトークン・リストの終りを示すために使われる。文字TABは、
デバッグと読み易さのため、ラインの冒頭に導入されインデントを行う。クライ
アント・アプリケーションは、ラインの冒頭の文字TABをすべて無視する。
【0052】 (15)クライアントからサーバー(CAPI)へのプロトコル クライアントはまず、クライアント・プロフィールと他の情報をサーバー(C
API)へ送信し、要求を開始する。この情報が送信されると、画面への要求が
始まる。 #IAM#_\t_Profile_Handle_\n_ [Tag_\t_Value_\n_…Tag_\t_Value_\n_] #SCREENREQUEST#_\t_Target_Screen _\t_ScreenKey_\t_WhichScreen
【0053】 「tag-value」リストはオプションであり、特別情報をクライアントからサー バーまで転送するための場所を提供する。サーバーは不明なタグと値はすべて無
視する。 キーワード#IAM#は、一つのパラメーター、すなわちクライアント・プロフ ィール要求から入手されるプロフィール処理を要求する。 キーワード#SCREENREQUEST#は、三つのパラメーターを含む。第一パラメー ターは、例えば起動のようなクライアントの主ターゲット画面のターゲット画面
であり、第二パラメーターは最新画面の画面キーであり、第三パラメーターは画
面キーに関する以前の画面か又は次の画面に対するコマンドである。 画面要求の外に、クライアント・アプリケーションは以下のサービスも要求で
きる。 Get Parameter Value:パラメーターの最新値を入手する。
【0054】 #GETVALUE#_\n_ key[_\t_key…] Set Parameter Value:パラメーターの最新値を設定する。 #SETVALUE#[_\t_tag]_\n_ key_\t_value[_\n_key_\t_value…] #SETVALUE#の後にはオプションのタグ・フィールドがある。 これらのタグはテンプとキャンセルを含んでいる。 Get Parameter's Valid Options:パラメーターの妥当なオプションとそのデフ
ォルト値を入手する。
【0055】 #GETOPTION#_\n_ _\t_key〔_\n_key…〕 Get Parameter Information:パラメーターのタイプ、長さ、読み出し/書き込 み等を入手する。 #GETINFO#_\n_ _\t_key〔_\n_key…〕 Get Profile:サポートされている局所化と表示に最もよく一致するクライアン
ト・プロフィール処理を入手する。 #GETPROFILE#_\n_ tag_\t_value[_\n_tag_\t_value…]
【0056】 (16)サーバー(CAPI)からクライアントへのプロトコル プロトコルに関してサーバー側は、クライアント要求に対し応答する。最も一
般的な応答は#SCREENRESPOND#である。 #SCREENRESPOND#_\t_Target_Screen _\t_ScreenKey_ \n_ [Tag_\t_Value_\n_…Tag_\t_Value_\n_] …Scrren Description...
【0057】 タグにはwaitFoServer(target MesgFlashと共に使われる)、active、direct
、cledがある。 waitForServer:パラメーターの単位はミリ秒である。 パラメーター0は、サーバーが待機する必要ないことを意味する。例えばwait
ForServer60000は、サーバーの再準備完了を、時間切れ期間60000ミ リ秒=1分間に亘り待機することを意味する。 active:trueは、適用可能なら、表示リアの表示、即ちポップアップ・ダイア
ログ・ボックスを作ることを、falseは、適用可能なら、ターゲット表示エリア を隠す、即ちポップアップ・ダイアログ・ボックスを取り下げることを意味する
。 direct:trueはダイレクトモードがONであることを、falseはダイレクトモ ードがOFFであることを意味する。#SCREENRESPOND#がダイレ
クトタグを含まない場合、falseにデフォルトされる。 cled:trueはCLEDがONであることを、falseはCLEDがOFFである ことを意味する。#SCREENRESPOND#がcledタグを含まない場合、
falseにデフォルトされる。 クライアント・アプリケーションはすべてダイレクトモードをサポートしなけ
ればならない。
【0058】 CAPI画面記述には、クラスタ、ペア、moの三つの層がある。Moは、テ
キスト・ラベル、エントリー・ボックス、選択リスト、チェック・ボックス、ボ
タン等の基本要素である。ペアは二つのmoの集合であり、通常はテキスト・ラ
ベル及びエントリー要素又は表示要素である。 上記のように、CAPIはmoの表示を強制しない。クライアント・アプリケ
ーションにより、表示要素の厳密な形と外観が決定される。CAPIは要素の厳
密な形及び外観と選択に関して、ヒントと示唆を提供するだけである。このこと
はペア及びクラスタの表示に関しても言える。CAPIはグループ分けのヒント
と情報を提供するだけである。クライアント・アプリケーションは、構成要素の
実際のレイアウトができその責任も負っている。クライアント・アプリケーショ
ンは、不明なクラスタ、ペア、moを無視しスキップする。
【0059】 クラスタは、LCDプラットフォーム上の関連画面のグループ、例えばサーバ
ー・セットアップ・サブメニューの全画面、又はGUIベースのプラットフォー
ム上の単一ページ、例えばサーバー・セットアップ・ダイアログ・ボックスに対
応する。 AsscClusterは正規のクラスタ・ボックスであり、asscClusterSavableは、ユ ーザがクラスタを離脱しようとする時に、画面記憶又はボタン記憶が必要である
ことを示す。
【0060】 Cluster Block::= #BEGIN#_\t_asscCluster| asscClusterSavable_\n_ … #END#_\n_ *‘|’はシンタックス中のOR、すなわち、 #BEGIN#_ \t_ asscCluster _\n...#END#_\n_ -OR- #BEGIN#_ \t_ asscClusterSavable_\n...#END#_\n_ を表す MenuScreenは正規のメニュー又はタブシートであり、menuScreenSavableは画 面記憶又は記憶ボタンを必要とする。
【0061】 Menu Block::= #BEGIN#_\t_menuScrren| menuScrrenSavable _\n_ … #END#_\n_ MesgScrrenは、「OK」ボタンでメッセージ画面を挿入する。ユーザは、別の
画面に進む前にボタンを押す必要がある。MesgFlashScrrenは、「OK」ボタン を押さない場合の、mesgScrrenと同じである。システムはいつでもこの画面を取
り下げることができる。現在では、GUIアプリケーションは、メッセージター
ゲットエリアに向けられたメッセージブロック記述を入手する。
【0062】 Message Block::= #BEGIN#_\t_mesgFlashScrren| mesgScrren _\n_ … #END#_\n_ ペアは、LCDプラットフォーム上の画面に対応する。GUIプラットフォー
ム上で一般に、ペアはダイアログ・ボックスの一ラインである。 Pair Block::= #BEGIN#_\t_datePair|timePair|ipPair|textPair|selectPair_\n_ … #END#_\n_
【0063】 ClusterTitleは最新のクラスタに関するタイトルを設定する(LCDプラット
フォーム上に複数の画面又はGUIベース・プラットフォーム上に単一ページを
含むことができる)。 LCDの場合、MoTitleは最新の画面にだけタイトルを設定する。同じクラス タ内の他の画面のタイトルは変わらない。GUIの場合、MoTitleはメニュー画 面にだけタイトルを設定するのに使われる。
【0064】 MoNoTitleは、最新の画面にタイトルが要らない場合に用いられる。 ClusterTitleStatement::= ClusterTitle_\n_ Key_\t_TitleString_\n_ moTitleStatement::= moTitle_\n_ Key_\t_TitleString_\n_ moNoTitleStatement::= moNoTitle_\n_ MoTextはテキスト記号列を画面上に立ち上げる。 moTextStatement::= moText_\n_ Key_\t_TextString_\n_
【0065】 各エントリー(照会)とメニュー項目には、付随する従属性リストがあっても
よい。 KeySignValue::= Key==value|key!=value DependancyList::= #REQUEST#_\t_ BoolExp BoolExpr::= KeySignValue |&&BoolExpr BoolExpr| ||BoolExpr BoolExpr MoEntryは画面上の要素である。各moEntryはキーにリンクした照会である。キ
ーは、パラメータ・マネージャが操作できるデータを参照する。
【0066】 MoEntryDateStatement::= MoEntryDate_\n_ Key_\t_ValueString[_\t_DependancyList]_\n_ FormatStringKey_\t_FormatString_\n_ *FormatStringは、例えばMM/DD/YY、DD.MM.YY、YY-MM-D Dのような「MM」、「DD」、「YY」とデリミターとの組み合わせである。 ValueStringは、例えば09/01/96、01.09.96、96-09-0 1のような同じデリミターを使ったフォーマット記号列の形である。 FormatStringKeyはFormatStringのキーである。FormatStringは言語辞書か又 はパラメータ・マネージャ中の別の局所化された文字として扱われるべきである
【0067】 moEntryTimeStatement::= MoEntryTime_\n_ Key_\t_ValueString[_\t_DependancyList]_\n_ FormatStringKey_\t_FormatString_\n_ *FormatStringは、例えばhh:mm、hh.のような「hh」、「mm」と デリミターとの組み合わせである。 ValueStringは、例えば00:01、16.3009-01のような同じデリミ
ターを使ったフォーマット文字の形である。 FormatStringKeyはFormatStringのキーである。FormatStringは言語辞書か又 はパラメータ・マネージャ中の別の局所化された文字として扱われるべきである
【0068】 MoEntryIPStatement::= MoEntryIP_\n_ Key_\t_ValueString〔_\t_DependancyList〕_\n_ *ValueStringは、#.#.#.#の形で、#は例えば125.0.11.2のよ うに0から255までの数字である。
【0069】 MoEntryNumberStatement::= MoEntryNumber_\n_ Key_\t_ValueString[_\t_DependancyList]_\n_ Range *ValueString (正か、ゼロか、負の整数記号列) *各列はフォーマットのLower bound[..Higher bound[[@Step]]を含み、範囲
が多数の場合は、コンマ“,”で分離される。
【0070】 MoEntryTextStatement::= MoEntryText_\n_ Key[_\t_ValueString][_\t_DependancyList]_\n_ Maximum Length(正か、ゼロか、負の整数記号列のこと)_\n_ *ValueStringはデフォルトテキストであり、空白であってもよい。 MoEntryTextSecret(Password)Statement::= MOENTRYTEXTSECRET_\n_ Key〔_\t_ValueString〕〔_\t_DependancyList〕_\n_ Maximum Length(正か、ゼロか、負の整数記号列のこと)_\n_ *ValueStringはデフォルトテキストであり、空白であってもよい。
【0071】 MoEntrySelectStatement::= MoEntrySelect_\n_ Key〔_\t_ValueString〕〔_\t_DependancyList〕_\n_ ChoiceList *ValueStringは選択キーである。空白の場合、第一選択はデフォルト値として
用いられる。
【0072】 ChoiceList::= Key_\n_Value [_\t_key_\t_Value...] MoEntryToggleStatement::= MoEntrySelectStatementと同じ
【0073】 *moEntryToggleはmoEntrySelectに似ている。moEntrySelectは選択リスト(オ
プション・リスト/リスト・ボックス・ウィジェット)として具体化でき、moEnt
ryToggleはチェック・ボックス又はラジオ・ボックス(ラジオ・ボタン)要素と
して具体化できる。しかし、その差はヒントとしてクライアント・アプリケーシ
ョンに提供され、クライアント・アプリケーションが画面での表示方法を最終決
定する。 MoMenuItemは、メニュー画面中の後に続く画面へのリンクである。 GUIプラットフォーム上でメニューは、列/ラインのボタン又はタブシート(
プロパティシート)の二方法の何れかで具体化される。どちらを選ぶかはGUI
アプリケーションで決まる。
【0074】 MoMenuItemStatement::= MoMenuItem〔_\t_DependancyList〕_\n_ Key_\t_MenuItemString_\t_ 画面の記述に加えて、プロトコルは他の要求応答通信もカバーする。 Respond to Get Parameter Value(#GETVALUE#):パラメーターの最新値を返却す
る。 #RETUNVALUE#_\n_ Key_\t_Value[_\t_ Key_\n_ Value...] Respond to Set Parameter Value(#SETVALUE#): 値が設定されているか否かを クライアント・アプリケーションに通知する。 #SETRESPOND#_\n_ Key_Flag_Value [_\t_ Key_\t_ Flag_\n_Value...] Valueは最新の値であるので、設定要求が失敗すれば、クライアントは最新値 を示すことができる。 Flagは整数であり、0は値が設定されていることを示し、他の数字はエラー状
態であることを示す(デバッグのみを目的とする)。 サーバーは、#SETRESPOND#の前に、例えば情報、警告又はエラー・メッセージの
ような#SCREENRESPOND#を異なるターゲットへ送信してもよい。
【0075】 Respond to Get Parameter's Valid Options(#GETOPTION#): パラメーターの妥当なオプションとデフォルト値とを送り返す。オプションは
、パラメータ・マネージャにより提供される情報に基づく、設定可能な最新の値
である。
【0076】 #RETURNOPTION#_\n_key_\t_ Default_Value〔_Option...〕 [_\t_#RETURNOPTION#_\t_key_\n_ Default_Value[_\t_Option...]..
.] 注釈:送り返される第一オプションは、デフォルト値である。オプションの値
はサーバー上で作動するもの次第で変化する。各#RETURNOPTION#は、キーを一つ
だけ含む。従って、一つの#GETOPTION#要求は、二つ以上の#RETURNOPTION#応答 となる。
【0077】 Respond to Get Parameter Information (#GETINFO#): パラメーターの情報を送り返す。 #RETURNINF#_\t_ key_\n_tag_\t_value[_\t_tag_\n_value...] [_\t_ key_\t_tag_\t_value[_\t_tag_\n_value...]...] タグにはタイプ、長さ、読み、書き、ユーザタイプが含まれている。 Valueは、例えば長さ4、タイプU8、ユーザタイプ日付のような各タグに対応 する。 Respond to Get Profile(#GETPROFILE#): 最適なクライアント・プロフィール処理を送り返す。
【0078】 #RETURNPROFILE#_Profile_Handle Propagation Value Update #UPDATE# _\n key_\t_value [_\t_key_\n_value...] 注釈:選択の値が#??#である場合は、クライアントが選択リストを消去す
べきことを示す。#UPDATE#の直後には、対応するキーを有する#RETURNOPTION#(
新しい選択リスト)が続く。
【0079】 (17)コントロール・パネル・マップ・ジェネレーター コントロール・パネル・マップは全LCD画面のマップである。クライアント
は、ペアとクラスタをトラバースするパワーを有する。トラバースは、通常ユー
ザが開始する。コントロール・パネル・マップ・ジェネレーターは、ユーザが開
始するトラバースとは異なり、LCDの全画面のマップを作成するために、全リ
ンクを無条件でトラバースする。これは、ドキュメント作成に非常に役立つ。 サーバーとクライアントを組織化しているので、サーバー側での画面の変更又
は追加は、サーバー・ソフトウェアのみを更新することになる。クライアントは
サーバーに存在する画面の数を知ってはおらず、ただサーバーからの画面処理を
持つだけである。
【0080】 これらの手法が、サーバーとクライアントとの関係において様々な方法で適用
できることを、当事業者は容易に認識するであろう。例えば、クライアントのイ
ンターフェース・コード・インタープリタは、表示プロフィールの記述を内部デ
ータベースに記憶する。サーバーは、クライアントの要求に応答して、クライア
ントの包括的な画面記述を送信する。クライアントは、自分の表示タイプに合っ
た表示プロフィールを用いて、包括的な画面記述を解釈してユーザに画面を表示
する。
【0081】 本発明の包括的構造により、ソフトウェア開発者は全ての可能な表示タイプに
適合する単一のソフトウェアコードを作成できる。作業、時間、メインテナンス
の節約になる。更に、包括的構造なので、OEMは製品のソフトウェア構造を知
らなくても、ユーザ・インターフェース画面を作成できる。 本発明は、本明細書で好適実施例を参考にして述べられているが、本発明の精
神と範囲を逸脱することなく、他のアプリケーションが本明細書の述べる発明に
代わり得ることを、当事業者は容易に理解するであろう。更に、本発明は、上記
特許請求の範囲によってのみ限定されるべきである。
【図面の簡単な説明】
【図1】 本発明による、二つの主な構成要素とそのインターフェースの概略ブロック線
図である。
【図2】 本発明による、システム全体の実施例の概略ブロック線図である。
【図3】 本発明による、サーバーとクライアントの間の関係を示す概略ブロック線図で
ある。
【図4】 本発明による、局所地点での実施例を示す概略ブロック線図である。
【図5】 本発明による、サーバーとクライアントの関係を使った遠隔地間の実施例を示
す概略ブロック線図である。
【図6】 本発明による、サーバーとクライアントの関係を使った局所地点及び遠隔地間
の実施例を示す概略ブロック線図である。
【図7】 本発明による、一連の画面と、GUIとLCD環境の下でのそれに相当する通
訳とを示す概略ブロック線図である。
【図8】 本発明による、一連の二ラインLCD表示を示す概略ブロック線図である。
【図9】 本発明による、一連のLCDターゲットとそれらの表示シーケンスを示す概略
ブロック線図である。
【図10】 本発明による、GUI表示上に同時に表示されたGUIターゲットのセットを
示す概略ブロック線図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AU,BA,BB,BG,BR,CA,CN, CU,CZ,EE,GE,HR,HU,ID,IL,I S,JP,KP,KR,LC,LK,LR,LT,LV ,MG,MK,MN,MX,NO,NZ,PL,RO, SG,SI,SK,SL,TR,TT,UA,UZ,V N,YU (72)発明者 サイデル クレイグ アメリカ合衆国 カリフォルニア州 94306 パロ アルト ラグナ アベニュ ー 3503 (72)発明者 グアン ゼンゴ アメリカ合衆国 カリフォルニア州 94403 マウンテン ヴィュー ノース レングストーフ アベニュー 440−#424 ビー (72)発明者 シュウォーツ ジェームズ ケイ ジュニ ア アメリカ合衆国 コロラド州 80304 ボ ールダー パイン ストリート 2323 Fターム(参考) 5B069 BB16 CA02 KA02 5B076 DB04 DD06 DF08 【要約の続き】 じマシン内の局所な場所にいてもネットワーク経由の遠 隔地にいても、統一されたプロトコルにより行える。

Claims (56)

    【特許請求の範囲】
  1. 【請求項1】 統一されたインターフェース表現プロセスを用いて複数の異
    なる表示装置にユーザ・インターフェース画面を表示するためのプロセスであっ
    て、 包括的なユーザ・インターフェースの画面記述のリストをサーバーで作成する
    ステップと、 クライアントが関係する表示タイプを識別するステップと、 上記包括的なユーザ・インターフェースの画面記述を使ってクライアントの表
    示を更新するステップとを含み、上記クライアントとサーバーとは選択的に位置
    させることが可能なことを特徴とするユーザ・インターフェース画面表示プロセ
    ス。
  2. 【請求項2】 表示タイプのプロフィールのリストを上記サーバーで作成す
    るステップと、 上記クライアントの表示タイプのプロフィールに最も近い適切な表示タイプの
    プロフィールを上記表示タイプのプロフィールのリストから選択するステップと
    を更に含み、上記更新するステップでは、上記包括的なインターフェースの画面
    記述が上記クライアントへ、上記選択された表示タイプのプロフィールに従って
    送られることを特徴とする請求項1に記載のプロセス。
  3. 【請求項3】 サポートされる言語タイプのリストを上記サーバーで作成す
    るステップを更に含むことを特徴とする請求項1に記載のプロセス。
  4. 【請求項4】 上記クライアントの言語タイプに最も近い適切な言語タイプ
    を上記言語タイプのリストから選択するステップと、 上記選択された言語タイプに一致するよう上記包括的な画面記述を構成するス
    テップとを更に含むことを特徴とする請求項3に記載のプロセス。
  5. 【請求項5】 クライアントの画面要求に対して、適切な包括的インターフ
    ェースの画面記述を上記クライアントに送信することにより応答するステップを
    更に含むことを特徴とする請求項1に記載のプロセス。
  6. 【請求項6】 上記適切な包括的画面記述に対応するキーの値を上記クライ
    アントに送信するステップを更に含むことを特徴とする請求項5に記載のプロセ
    ス。
  7. 【請求項7】 システム・パラメータ値を求めるクライアント要求に対して
    、適切なシステム・パラメータ値を上記クライアントに送信することにより応答
    するステップを更に含むことを特徴とする請求項1に記載のプロセス。
  8. 【請求項8】 クライアントが送信した値を用いて適切なシステム・パラメ
    ータ値に更新するステップを更に含むことを特徴とする請求項1に記載のプロセ
    ス。
  9. 【請求項9】 ネットワーク経由でクライアントへ適切な包括的画面記述を
    送信することにより上記クライアントの画面要求に対して応答するステップを更
    に含むことを特徴とする請求項1に記載のプロセス。
  10. 【請求項10】 ネットワーク経由で上記クライアントへ、上記適切な包括
    的画面記述に対応するキーの値を送信するステップを更に含むことを特徴とする
    請求項9に記載のプロセス。
  11. 【請求項11】 システム・パラメータ値を求めるクライアント要求に対し
    、適切なシステム・パラメータ値をネットワーク経由で上記クライアントに送信
    することにより応答するステップを更に含むことを特徴とする請求項1に記載の
    プロセス。
  12. 【請求項12】 上記異なる表示装置の何れの上にも各画面が表示されるよ
    うな方法で、上記包括的なユーザ・インターフェース画面記述を生成することを
    特徴とする請求項1に記載のプロセス。
  13. 【請求項13】 上記クライアントにおいて表示タイプのプロフィールのリ
    ストを作成するステップと、 上記クライアントの表示タイプのプロフィールに最も近い適切な表示タイプの
    プロフィールを上記表示タイプのプロフィールのリストから選択するステップと
    、 上記包括的なインターフェース画面記述を上記サーバーから受信するステップ
    と、 上記画面記述を解釈するために上記選択された表示タイプのプロフィールを用
    いて上記画面記述をユーザに表示するステップとを更に含むことを特徴とする請
    求項1に記載のプロセス。
  14. 【請求項14】 上記包括的なインターフェース画面記述を上記サーバーか
    ら上記クライアント上に受信するステップと、 上記クライアントに付属する表示タイプの表示能力に適応するよう上記画面記
    述を結びつけることにより上記クライアント上の上記包括的なインターフェース
    画面記述をユーザに表示するステップとを更に含むことを特徴とする請求項1に
    記載のプロセス。
  15. 【請求項15】 上記包括的なインターフェース画面記述を上記サーバーか
    ら上記クライアント上に受信するステップと、 上記クライアントに付属する表示タイプの表示能力に適応する上記画面記述の
    内容を表示することにより、上記包括的なインターフェース画面記述をユーザに
    表示するステップとを更に含むことを特徴とする請求項1に記載のプロセス。
  16. 【請求項16】 上記包括的な画面記述をプロトコルの画面記述に変換する
    ステップを更に含むことを特徴とする請求項1に記載のプロセス。
  17. 【請求項17】 表示タイプのプロフィールのリストを上記サーバーで作成
    するステップと、 上記クライアントの表示タイプのプロフィールに最も近い適切な表示タイプの
    プロフィールを上記表示タイプのプロフィールのリストから選択するステップと
    を更に含み、上記更新するステップでは、上記プロトコルの画面記述が上記クラ
    イアントへ、上記選択された表示タイプのプロフィールに従って送られることを
    特徴とすることを特徴とする請求項16に記載のプロセス。
  18. 【請求項18】 上記包括的な画面記述をプロトコルの画面記述に変換する
    ステップと、 上記クライアントの言語タイプに最も近い適切な言語タイプを上記言語タイプ
    のリストから選択するステップと、 上記選択された言語タイプに一致するように上記プロトコルの画面記述を構成
    するステップとを更に含むことを特徴とする請求項3に記載のプロセス。
  19. 【請求項19】 クライアントの画面要求に対して、適切なプロトコルの画
    面記述を上記クライアントに送信することにより応答するステップを更に含むこ
    とを特徴とする請求項16に記載のプロセス。
  20. 【請求項20】 上記適切なプロトコルの画面記述に対応するキーの値を上
    記クライアントに送信するステップを更に含むことを特徴とする請求項19に記
    載のプロセス。
  21. 【請求項21】 ネットワーク経由でクライアントへ適切なプロトコルの画
    面記述を送信することにより上記クライアントの画面要求に対して応答するステ
    ップを更に含むことを特徴とする請求項16に記載のプロセス。
  22. 【請求項22】 上記適切なプロトコルの画面記述に対応するキーの値を、
    ネットワーク経由で上記クライアントへ、送信するステップを更に含むことを特
    徴とする請求項21に記載のプロセス。
  23. 【請求項23】 上記プロトコルの画面記述が、上記異なる表示装置の何れ
    の上にも各画面が表示されるような方法で生成されることを特徴とする請求項1
    6に記載のプロセス。
  24. 【請求項24】 上記クライアントにおいて表示タイプのプロフィールのリ
    ストを作成するステップと、 上記クライアントの表示タイプのプロフィールに最も近い適切な表示タイプの
    プロフィールを上記表示タイプのプロフィールのリストから選択するステップと
    、 上記プロトコルの画面記述を上記サーバーから受信するステップと、 上記画面記述を解釈するために上記選択された表示タイプのプロフィールを用
    いて上記プロトコルの画面記述をユーザに表示するステップとを更に含むことを
    特徴とする請求項16に記載のプロセス。
  25. 【請求項25】 上記クライアントの上記プロトコルの画面記述を上記サー
    バーから受信するステップと、上記クライアントに付属する表示タイプの表示能
    力に適応するよう上記画面記述を結びつけることにより上記クライアントの上記
    プロトコルの画面記述をユーザに表示するステップとを更に含むことを特徴とす
    る請求項16に記載のプロセス。
  26. 【請求項26】 上記クライアントの上記プロトコルの画面記述を上記サー
    バーから受信するステップと、上記クライアントに付属する表示タイプの表示能
    力に適応する上記画面記述の内容を表示することにより上記クライアントの上記
    プロトコルの画面記述をユーザに表示するステップとを更に含むことを特徴とす
    る請求項16に記載のプロセス。
  27. 【請求項27】 統一されたインターフェースプロトコルを用いることによ
    り複数の異なる表示装置上にユーザ・インターフェース画面を表示するための装
    置であって、 サーバー上に置かれたコンソール・アプリケーション・プログラミング・イン
    ターフェースを含み、 上記コンソール・アプリケーション・プログラミング・インターフェースが包
    括的なユーザ・インターフェース画面記述のリストと、 上記包括的なユーザ・インターフェース画面記述を使ってクライアントの表示
    を更新するためのモジュールとを含むことを特徴とするユーザ・インターフェー
    ス画面の表示装置。
  28. 【請求項28】 表示タイプのプロフィールのリストと、 上記クライアントの表示タイプのプロフィールに最も近い適切な表示タイプの
    プロフィールを上記表示タイプのプロフィールのリストから選択するためのモジ
    ュールとを更に含み、 上記更新するためのモジュールが、上記包括的なインターフェース画面記述を
    上記クライアントへ、上記選択された表示タイプのプロフィールに従って送るこ
    とを特徴とする請求項27に記載の装置。
  29. 【請求項29】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、サポートされる言語タイプのリストを更に含んでいることを
    特徴とする請求項27に記載の装置。
  30. 【請求項30】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、上記クライアントの言語タイプに最も近い適切な言語タイプ
    を上記言語タイプのリストから選択するためのモジュールと、 上記選択された言語タイプに一致するように上記包括的な画面記述を構成する
    ためのモジュールとを更に含むことを特徴とする請求項29に記載の装置。
  31. 【請求項31】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、適切な包括的な画面記述を上記クライアントに送信すること
    によってクライアントの画面要求に対して応答するためのモジュールを更に含ん
    でいることを特徴とする請求項27に記載の装置。
  32. 【請求項32】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、上記適切な包括的な画面記述に対応するキーの値を上記クラ
    イアントに送信するためのモジュールを更に含んでいることを特徴とする請求項
    31に記載の装置。
  33. 【請求項33】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、適切なシステム・パラメータ値を上記クライアントに送信す
    ることによって、システム・パラメータ値を求めるクライアント要求に対して応
    答するためのモジュールを更に含んでいることを特徴とする請求項27に記載の
    装置。
  34. 【請求項34】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、クライアントが送信した値を用いて適切なシステム・パラメ
    ータ値に更新するためのモジュールを更に含んでいることを特徴とする請求項2
    7に記載の装置。
  35. 【請求項35】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、ネットワーク経由で上記クライアントへ適切な包括的画面記
    述を送信することにより、クライアントの画面要求に対して応答するためのモジ
    ュールを更に含んでいることを特徴とする請求項27に記載の装置。
  36. 【請求項36】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、ネットワーク経由で上記クライアントへ上記適切な包括的な
    画面記述に対応するキーの値を送信するためのモジュールを更に含んでいること
    を特徴とする請求項35に記載の装置。
  37. 【請求項37】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、適切なシステム・パラメータ値をネットワーク経由で上記ク
    ライアントに送信することにより、システム・パラメータ値を求めるクライアン
    ト要求に対して応答するためのモジュールを更に含んでいることを特徴とする請
    求項27に記載の装置。
  38. 【請求項38】 上記包括的なユーザ・インターフェース画面記述が、上記
    異なる表示装置の何れの上にも各画面が表示されるように構成されることを特徴
    とする請求項27に記載の装置。
  39. 【請求項39】 上記クライアント上に置かれたインターフェース・コード
    ・インタープリタを含み、 上記インターフェース・コード・インタープリタは、 表示タイプのプロフィールのリストと、 上記クライアントの表示タイプのプロフィールに最も近い適切な表示タイ
    プのプロフィールを上記表示タイプのプロフィールのリストから選択するための
    モジュールと、 上記包括的なインターフェース画面記述を上記サーバーから受信するため
    のモジュールと、 上記画面記述を解釈するために上記選択された表示タイプのプロフィール
    を用いて上記画面記述をユーザに表示するためのモジュールとを含むことを特徴
    する請求項27に記載の装置。
  40. 【請求項40】 上記クライアント上に置かれたインターフェース・コード
    ・インタープリタを含み、 上記インターフェース・コード・インタープリタは、 上記包括的なインターフェース画面記述を上記サーバーから受信するための
    モジュールと、 上記クライアントに付属する表示タイプの表示能力に適応するよう上記画面
    記述を結びつけることにより上記クライアント上の上記包括的なインターフェー
    ス画面記述をユーザに表示するためのモジュールとを含むことを特徴とする請求
    項27に記載の装置。
  41. 【請求項41】 上記クライアント上に置かれたインターフェース・コード
    ・インタープリタを含み、 上記インターフェース・コード・インタープリタは、 上記包括的なインターフェース画面記述を上記サーバーから受信するための
    モジュールと、 上記クライアントに付属する表示タイプの表示能力に適応する上記画面記述
    の内容を表示することにより上記包括的なインターフェース画面記述をユーザに
    表示するためのモジュールとを含むことを特徴とする請求項27に記載の装置。
  42. 【請求項42】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、上記包括的な画面記述をプロトコルの画面記述に変換するた
    めのモジュールを更に含むことを特徴とする請求項27に記載の装置。
  43. 【請求項43】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、表示タイプのプロフィールのリストと、上記クライアントの
    表示タイプのプロフィールに最も近い適切な表示タイプのプロフィールを上記表
    示タイプのプロフィールのリストから選択するためのモジュールとを更に含み、
    上記更新モジュールが、上記プロトコルの画面記述を上記クライアントへ、上記
    選択された表示タイプのプロフィールに従って送ることを特徴とする請求項42
    に記載の装置。
  44. 【請求項44】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、上記包括的な画面記述をプロトコルの画面記述に変換するた
    めのモジュールと、上記クライアントの言語タイプに最も近い適切な言語タイプ
    を上記言語タイプのリストから選択するためのモジュールと、上記選択された言
    語タイプに一致するように、上記プロトコルの画面記述を構成するためのモジュ
    ールとを更に含むことを特徴とする請求項29に記載の装置。
  45. 【請求項45】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、クライアントの画面要求に対して、適切なプロトコルの画面
    記述を上記クライアントに送信することにより応答するためのモジュールとを更
    に含むことを特徴とする請求項27に記載の装置。
  46. 【請求項46】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、上記適切なプロトコルの画面記述に対応するキーの値を上記
    クライアントに送信するためのモジュールを更に含むことを特徴とする請求項4
    5に記載の装置。
  47. 【請求項47】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、ネットワーク経由でクライアントへ適切なプロトコルの画面
    記述を送信することにより上記クライアントの画面要求に対して応答するための
    モジュールを更に含むことを特徴とする請求項27に記載の装置。
  48. 【請求項48】 上記コンソール・アプリケーション・プログラミング・イ
    ンターフェースが、上記適切なプロトコルの画面記述に対応するキーの値をネッ
    トワーク経由で上記クライアントへ送信するためのモジュールを更に含むことを
    特徴とする請求項27に記載の装置。
  49. 【請求項49】 上記プロトコルの画面記述が、上記異なる表示装置の何れ
    の上にも各画面が表示されるような方法で生成されることを特徴とする請求項4
    2に記載の装置。
  50. 【請求項50】 上記クライアント上に置かれたインターフェース・コード
    ・インタープリタを含み、 上記インターフェース・コード・インタープリタは、 表示タイプのプロフィールのリストと、 上記クライアントの表示タイプのプロフィールに最も近い適切な表示タイプ
    のプロフィールを上記表示タイプのプロフィールのリストから選択するためのモ
    ジュールと、 上記プロトコルの画面記述を上記サーバーから受信するためのモジュールと
    、 上記画面記述を解釈するために上記選択された表示タイプのプロフィールを
    用いて上記プロトコルの画面記述をユーザに表示するためのモジュールとを含む
    ことを特徴とする請求項42に記載の装置。
  51. 【請求項51】 上記クライアント上に置かれたインターフェース・コード
    ・インタープリタを含み、 上記インターフェース・コード・インタープリタは、 上記プロトコルの画面記述を上記サーバーから受信するためのモジュールと
    、 上記クライアントに付属する表示タイプの表示能力に適応するよう上記画面
    記述を結びつけることにより上記クライアント上の上記プロトコルの画面記述を
    ユーザに表示するためのモジュールとを含むことを特徴とする請求項42に記載
    の装置。
  52. 【請求項52】 上記クライアント上に置かれたインターフェース・コード
    ・インタープリタを含み、 インターフェース・コード・インタープリタは、 上記包括的なプロトコルの画面記述を上記サーバーから受信するためのモジ
    ュールと、 上記クライアントに付属する表示タイプの表示能力に適応する上記画面記述
    の内容を表示することにより上記プロトコルの画面記述をユーザに表示するため
    のモジュールとを含むことを特徴とする請求項42に記載の装置。
  53. 【請求項53】 一定のユーザ動作が上記サーバーに直接通信されるような
    直接モードのオペレーションを提供するステップを更に含むことを特徴とする請
    求項1に記載のプロセス。
  54. 【請求項54】 全てのユーザ動作が上記サーバーに直接通信されるような
    コンポーネント・レベル・イベント駆動モードのオペレーションを提供するステ
    ップを更に含むことを特徴とする請求項1に記載のプロセス。
  55. 【請求項55】 一定のユーザ動作が上記サーバーに直接通信されるような
    直接モードのオペレーションが提供されることを特徴とする請求項27に記載の
    装置。
  56. 【請求項56】 全てのユーザ動作が上記サーバーに直接通信されるような
    コンポーネント・レベル・イベント駆動モードのオペレーションが提供されるこ
    とを特徴とする請求項27に記載の装置。
JP2000512130A 1997-09-18 1998-08-12 インターフェース・コード・アーキテクチャ Pending JP2001516915A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/933,126 1997-09-18
US08/933,126 US6065041A (en) 1997-09-18 1997-09-18 Interface code architecture
PCT/US1998/016790 WO1999014660A1 (en) 1997-09-18 1998-08-12 Interface code architecture

Publications (1)

Publication Number Publication Date
JP2001516915A true JP2001516915A (ja) 2001-10-02

Family

ID=25463417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000512130A Pending JP2001516915A (ja) 1997-09-18 1998-08-12 インターフェース・コード・アーキテクチャ

Country Status (7)

Country Link
US (2) US6065041A (ja)
EP (1) EP1015963A1 (ja)
JP (1) JP2001516915A (ja)
AU (1) AU743465B2 (ja)
BR (1) BR9812664A (ja)
CA (1) CA2302510A1 (ja)
WO (1) WO1999014660A1 (ja)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6065041A (en) * 1997-09-18 2000-05-16 Electronics For Imaging, Inc. Interface code architecture
US7007076B1 (en) 1998-10-23 2006-02-28 Ebay Inc. Information presentation and management in an online trading environment
US6058417A (en) * 1998-10-23 2000-05-02 Ebay Inc. Information presentation and management in an online trading environment
US6538668B1 (en) * 1999-04-09 2003-03-25 Sun Microsystems, Inc. Distributed settings control protocol
US6901435B1 (en) * 1999-06-17 2005-05-31 Bmc Software, Inc. GUI interpretation technology for client/server environment
GB9930851D0 (en) * 1999-12-24 2000-02-16 Koninkl Philips Electronics Nv Apparatus control system and method
FR2805651B1 (fr) * 2000-02-24 2002-09-13 Eastman Kodak Co Procede et dispositif pour presenter des images numeriques sur un ecran de faible definition
US7673229B1 (en) 2000-06-07 2010-03-02 Ebay Inc. Apparatus and method for generating sub-codes to a turbo-encoder
US6978315B1 (en) * 2000-07-07 2005-12-20 American Megatrends, Inc. Systems, methods, and computer program products for redirecting the display of information from a computer program to a remote display terminal
US20020111995A1 (en) * 2001-02-14 2002-08-15 Mansour Peter M. Platform-independent distributed user interface system architecture
US7155681B2 (en) * 2001-02-14 2006-12-26 Sproqit Technologies, Inc. Platform-independent distributed user interface server architecture
US20020129096A1 (en) * 2001-02-14 2002-09-12 Mansour Peter M. Platform-independent distributed user interface client architecture
JP4269532B2 (ja) * 2001-03-30 2009-05-27 ブラザー工業株式会社 データ解析プロバイダシステム、データ解析プロバイダ、データ解析方法及びデータ解析プログラム
US7146617B2 (en) 2001-09-29 2006-12-05 Siebel Systems, Inc. Method, apparatus, and system for implementing view caching in a framework to support web-based applications
US8359335B2 (en) * 2001-09-29 2013-01-22 Siebel Systems, Inc. Computing system and method to implicitly commit unsaved data for a world wide web application
US7885996B2 (en) 2001-09-29 2011-02-08 Siebel Systems, Inc. Method, apparatus, and system for implementing notifications in a framework to support web-based applications
US6907451B1 (en) * 2001-09-29 2005-06-14 Siebel Systems, Inc. Method, apparatus, and system for immediate posting of changes in a client server environment
US7385610B2 (en) * 2001-10-18 2008-06-10 Hewlett-Packard Development Company, L.P. System and method for displaying graphics
US7139713B2 (en) 2002-02-04 2006-11-21 Microsoft Corporation Systems and methods for managing interactions from multiple speech-enabled applications
US8374879B2 (en) 2002-02-04 2013-02-12 Microsoft Corporation Systems and methods for managing interactions from multiple speech-enabled applications
US7167831B2 (en) * 2002-02-04 2007-01-23 Microsoft Corporation Systems and methods for managing multiple grammars in a speech recognition system
US7188066B2 (en) * 2002-02-04 2007-03-06 Microsoft Corporation Speech controls for use with a speech system
US7603627B2 (en) * 2002-02-05 2009-10-13 Microsoft Corporation Systems and methods for creating and managing graphical user interface lists
WO2003067427A2 (en) * 2002-02-07 2003-08-14 British Telecommunications Public Limited Company Graphical user interface
US7587317B2 (en) * 2002-02-15 2009-09-08 Microsoft Corporation Word training interface
US7107594B1 (en) * 2002-06-27 2006-09-12 Siebel Systems, Inc. Method and system for providing a version-independent interface to a computer resource
US20050131837A1 (en) 2003-12-15 2005-06-16 Sanctis Jeanne D. Method, system and program product for communicating e-commerce content over-the-air to mobile devices
US20050235293A1 (en) * 2004-04-14 2005-10-20 Microsoft Corporation Methods and systems for framework layout editing operations
US8370269B2 (en) 2004-06-02 2013-02-05 Overstock.Com, Inc. System and methods for electronic commerce using personal and business networks
US8719075B2 (en) * 2004-09-23 2014-05-06 Overstock.Com, Inc. System, program product, and methods for online image handling
GB0422088D0 (en) * 2004-10-05 2004-11-03 Symbian Software Ltd Display of information on the dosplay screen of a computing device
US9118770B2 (en) * 2005-08-31 2015-08-25 Plantronics, Inc. Remote headset configuration
US7979340B2 (en) 2005-09-21 2011-07-12 Overstock.Com, Inc. System, program product, and methods for online image handling
JP2007279974A (ja) * 2006-04-05 2007-10-25 Ricoh Co Ltd 表示画面制御装置、電子機器、表示画面制御システム、表示画面制御方法、画面表示方法、表示画面制御プログラム及び画面表示プログラム
US8583480B2 (en) 2007-12-21 2013-11-12 Overstock.Com, Inc. System, program product, and methods for social network advertising and incentives for same
US8214804B2 (en) 2007-12-31 2012-07-03 Overstock.Com, Inc. System and method for assigning computer users to test groups
US8326662B1 (en) 2008-06-18 2012-12-04 Overstock.Com, Inc. Positioning E-commerce product related to graphical imputed consumer demand
US8271005B2 (en) * 2009-01-12 2012-09-18 Jlt Group, Inc. Mobile communication device and system with limited data transfer
US9747622B1 (en) 2009-03-24 2017-08-29 Overstock.Com, Inc. Point-and-shoot product lister
US8676632B1 (en) 2009-07-16 2014-03-18 Overstock.Com, Inc. Pricing and forecasting
JP4811507B2 (ja) * 2009-08-25 2011-11-09 コニカミノルタビジネステクノロジーズ株式会社 画像処理システム、画像処理装置及び情報処理装置
US9047642B2 (en) 2011-03-24 2015-06-02 Overstock.Com, Inc. Social choice engine
US10546262B2 (en) 2012-10-19 2020-01-28 Overstock.Com, Inc. Supply chain management system
US10949876B2 (en) 2012-10-29 2021-03-16 Overstock.Com, Inc. System and method for management of email marketing campaigns
US11023947B1 (en) 2013-03-15 2021-06-01 Overstock.Com, Inc. Generating product recommendations using a blend of collaborative and content-based data
US11676192B1 (en) 2013-03-15 2023-06-13 Overstock.Com, Inc. Localized sort of ranked product recommendations based on predicted user intent
US10810654B1 (en) 2013-05-06 2020-10-20 Overstock.Com, Inc. System and method of mapping product attributes between different schemas
US9483788B2 (en) 2013-06-25 2016-11-01 Overstock.Com, Inc. System and method for graphically building weighted search queries
US10929890B2 (en) 2013-08-15 2021-02-23 Overstock.Com, Inc. System and method of personalizing online marketing campaigns
US10872350B1 (en) 2013-12-06 2020-12-22 Overstock.Com, Inc. System and method for optimizing online marketing based upon relative advertisement placement
US9697370B2 (en) 2014-11-20 2017-07-04 International Business Machines Corporation Implementing and processing extent granularity authorization mechanism in CAPI adapters
US20160149909A1 (en) 2014-11-20 2016-05-26 International Business Machines Corporation Implementing block device extent granularity authorization model processing in capi adapters
US9600642B2 (en) 2014-11-20 2017-03-21 International Business Machines Corporation Implementing extent granularity authorization processing in CAPI adapters
US9600428B2 (en) 2014-11-20 2017-03-21 International Business Machines Corporation Implementing extent granularity authorization command flow processing in CAPI adapters
US9710624B2 (en) 2014-11-20 2017-07-18 International Business Machines Corporation Implementing extent granularity authorization initialization processing in CAPI adapters
US9582659B2 (en) 2014-11-20 2017-02-28 International Business Machines Corporation Implementing extent granularity authorization and deauthorization processing in CAPI adapters
US10534845B2 (en) 2016-05-11 2020-01-14 Overstock.Com, Inc. System and method for optimizing electronic document layouts
US10970769B2 (en) 2017-03-02 2021-04-06 Overstock.Com, Inc. Method and system for optimizing website searching with user pathing
US11514493B1 (en) 2019-03-25 2022-11-29 Overstock.Com, Inc. System and method for conversational commerce online
US11205179B1 (en) 2019-04-26 2021-12-21 Overstock.Com, Inc. System, method, and program product for recognizing and rejecting fraudulent purchase attempts in e-commerce
US11734368B1 (en) 2019-09-26 2023-08-22 Overstock.Com, Inc. System and method for creating a consistent personalized web experience across multiple platforms and channels
CN113206502B (zh) * 2021-06-08 2021-10-29 中铁电气化铁路运营管理有限公司 电源质量改善装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02140859A (ja) * 1988-11-22 1990-05-30 Mitsubishi Electric Corp 計算機システムにおける画面制御方式
JPH09127926A (ja) * 1995-10-31 1997-05-16 Toshiba Mach Co Ltd 表示装置
JPH09168070A (ja) * 1995-12-16 1997-06-24 Ricoh Co Ltd ファクシミリ装置
JPH10133989A (ja) * 1996-08-19 1998-05-22 Internatl Business Mach Corp <Ibm> 対話式アプリケーション実行方法及びシステム
JPH10133973A (ja) * 1996-10-31 1998-05-22 Hitachi Ltd Html情報提供方法
JPH10187732A (ja) * 1996-12-20 1998-07-21 Brother Ind Ltd 多言語対応通信システム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558418A (en) * 1981-03-30 1985-12-10 E-Systems, Inc. Leading edge estimator for navigation system
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
US4787035A (en) * 1985-10-17 1988-11-22 Westinghouse Electric Corp. Meta-interpreter
JPS62282328A (ja) * 1986-02-21 1987-12-08 Hitachi Ltd 多重画面制御方式
US5045994A (en) * 1986-09-23 1991-09-03 Bell Communications Research, Inc. Emulation process having several displayed input formats and output formats and windows for creating and testing computer systems
JPH01243162A (ja) * 1988-03-17 1989-09-27 Internatl Business Mach Corp <Ibm> プログラム供給方法
US5388252A (en) * 1990-09-07 1995-02-07 Eastman Kodak Company System for transparent monitoring of processors in a network with display of screen images at a remote station for diagnosis by technical support personnel
US5289574A (en) * 1990-09-17 1994-02-22 Hewlett-Packard Company Multiple virtual screens on an "X windows" terminal
US5327529A (en) 1990-09-24 1994-07-05 Geoworks Process of designing user's interfaces for application programs
US5649204A (en) * 1991-08-22 1997-07-15 Rec Software, Inc. Method and apparatus for consolidating software module linkage information used for starting a multi-module program
US5315711A (en) * 1991-11-01 1994-05-24 Unisys Corporation Method and apparatus for remotely and centrally controlling a plurality of host processors
US5539872A (en) * 1993-11-30 1996-07-23 At&T Corp. Automated selection of a screen display to be presented in a computer system in response to a user inquiry
AU6018294A (en) * 1993-12-02 1995-06-19 Taligent, Inc. Method and apparatus for displaying hardware dependent graphics in an object-oriented operating system
US5504920A (en) * 1994-05-16 1996-04-02 Compaq Computer Corporation Video driver system for communicating device specific primitive commands to multiple video controller types
US5715444A (en) * 1994-10-14 1998-02-03 Danish; Mohamed Sherif Method and system for executing a guided parametric search
JPH08147243A (ja) * 1994-11-21 1996-06-07 Nec Corp マルチメディアデータ通信方式
US5897635A (en) * 1995-06-07 1999-04-27 International Business Machines Corp. Single access to common user/application information
JP3535267B2 (ja) * 1995-07-03 2004-06-07 富士通株式会社 監視システムの監視状態表示装置
US5748189A (en) * 1995-09-19 1998-05-05 Sony Corp Method and apparatus for sharing input devices amongst plural independent graphic display devices
JP3720897B2 (ja) * 1996-03-01 2005-11-30 株式会社東芝 動画表示方法およびコンピュータシステム
FR2745649B1 (fr) * 1996-03-01 1998-04-30 Bull Sa Systeme de configuration de logiciels preconfigures sur des systemes ouverts en reseau dans un environnement distribue et procede mis en oeuvre par un tel systeme
US6065041A (en) * 1997-09-18 2000-05-16 Electronics For Imaging, Inc. Interface code architecture

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02140859A (ja) * 1988-11-22 1990-05-30 Mitsubishi Electric Corp 計算機システムにおける画面制御方式
JPH09127926A (ja) * 1995-10-31 1997-05-16 Toshiba Mach Co Ltd 表示装置
JPH09168070A (ja) * 1995-12-16 1997-06-24 Ricoh Co Ltd ファクシミリ装置
JPH10133989A (ja) * 1996-08-19 1998-05-22 Internatl Business Mach Corp <Ibm> 対話式アプリケーション実行方法及びシステム
JPH10133973A (ja) * 1996-10-31 1998-05-22 Hitachi Ltd Html情報提供方法
JPH10187732A (ja) * 1996-12-20 1998-07-21 Brother Ind Ltd 多言語対応通信システム

Also Published As

Publication number Publication date
EP1015963A1 (en) 2000-07-05
BR9812664A (pt) 2000-08-22
CA2302510A1 (en) 1999-03-25
WO1999014660A1 (en) 1999-03-25
US6065041A (en) 2000-05-16
US6341307B1 (en) 2002-01-22
AU9018798A (en) 1999-04-05
AU743465B2 (en) 2002-01-24

Similar Documents

Publication Publication Date Title
JP2001516915A (ja) インターフェース・コード・アーキテクチャ
KR100778160B1 (ko) 워크스테이션 상에서 프린터 인스턴스의 원격 생성
US6014702A (en) Host information access via distributed programmed objects
US5940075A (en) Method for extending the hypertext markup language (HTML) to support enterprise application data binding
US6519605B1 (en) Run-time translation of legacy emulator high level language application programming interface (EHLLAPI) calls to object-based calls
US5922044A (en) System and method for providing information to applets in a virtual machine
US6470375B1 (en) System and method for managing the execution of system management tasks
JPH0644168A (ja) コンピュータ・ネットワーク
US20170329620A1 (en) Extending Legacy Scripting Languages with Graphical References
US5953514A (en) Method and apparatus for transparent remote execution of commands
US20060129972A1 (en) Application developer and method for generating platform independent code
JP3055970B2 (ja) オブジェクト指向言語間インタフェース実現方法および装置
KR20020085873A (ko) 마크업 언어를 사용하여 클라이언트와 서버 사이에 대화형애플리케이션 데이터를 효과적으로 전송하기 위한 방법 및장치
JP2002351631A (ja) ネットワークデバイスの能力の利用を容易化するダイナミックユーザインタフェイス
US7107574B1 (en) Managing computer program configuration data
JPH1027106A (ja) ネットワークにわたる組込み型アプリケーションの伝送用システム
US6697088B1 (en) Graphical presentation system
US7069294B2 (en) Browser based multiple file upload
US20030020948A1 (en) Dynamically loaded applications in a printer
JP3392828B2 (ja) 分散処理システム、該システムにおける描画命令転送方法、及びコンピュータ読み取り可能な記憶媒体
US20050010554A1 (en) General purpose interpreter and database for accessing enterprise servers over an Internet Protocol network
US20030051012A1 (en) Method and system for online plug-and-play driver installation
US7202961B2 (en) Method for dynamically creating a printer driver
US6901435B1 (en) GUI interpretation technology for client/server environment
KR100578434B1 (ko) 확장 가능한 장치 드라이버 프로그램을 기록한 컴퓨터 판독가능 기록매체, 드라이버 플러그인 프로그램을 등록하는 방법 및 장치