JPH11514769A - 埋め込み形ウェブサーバ - Google Patents
埋め込み形ウェブサーバInfo
- Publication number
- JPH11514769A JPH11514769A JP10508187A JP50818798A JPH11514769A JP H11514769 A JPH11514769 A JP H11514769A JP 10508187 A JP10508187 A JP 10508187A JP 50818798 A JP50818798 A JP 50818798A JP H11514769 A JPH11514769 A JP H11514769A
- Authority
- JP
- Japan
- Prior art keywords
- document
- code
- application
- user interface
- graphical user
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31186—TCP-IP internet protocol
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34038—Web, http, ftp, internet, intranet server
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
(57)【要約】
埋め込み形グラフィカルユーザインターフェースは、ワールドワイドウェブ通信およびディスプレイ・パラダイムを用いる。開発環境は、HTMLコンパイラを備え、コンパイラは、HTMLに対する多数の固有の拡張を認識し処理する。HTMLコンパイラは、グラフィカルユーザインターフェースが適用されるアプリケーションのソースコード言語で出力を発生する。対応のランタイム環境は、コンパイルしたHTMLドキュメントをブラウザにサーブするサーバを備える。
Description
【発明の詳細な説明】
埋め込み形ウェブサーバ
著作権通知
本特許の開示に添付したテーブルは、著作権保護を受けるものである。著作権
者は、特許・商標庁のファイルまたは記録に示される特許文献または特許開示の
第三者によるファクシミリ複製には異議を唱えないが、それ以外の場合は著作権
によるあらゆる保護を留保するものである。
テーブル
テーブルAは、Agranat Systems,Inc.のEmWebTM製品の機能的仕様であ
り、
テーブルBは、このEmWebTM製品が使用するコンテンツのアーカイブを表すデ
ータ構造を定義するヘッダファイルのCプログラミング言語におけるソースコー
ドリストである。
上記テーブルは、以下に詳述するフィーチャを組み込んだ本発明の特定の実施
例の1例を示すために提供する。
関連出願に対する相互参照
米国特許法第35条119条(e)により主張する優先権は、現在係属中の、“EXT
ENDED LANGUAGE COMPILER AND RUN TIME SE
RVER”と題し、1996年8月8日に出願した、本発明者の仮米国特許出願番号
08/023,373に基づく。この本発明者の仮米国特許出願は、言及により本開示に含
めるものとする。1.発明の分野
本発明は、グラフィカルユーザインターフェース、即ち、情報をテキスト形態
およびグラフィカル形態の両方で提示することができるユーザインターフェース
に関する。さらに詳細には、本発明は、ソフトウェアおよびハードウェアのアプ
リケーション、デバイスおよびワールドワイドウェブ・クライアント/サーバ通
信モデルを使用する機器を制御、管理、コンフィギュレーション、診断およびモ
ニタするのに使用するGUIに関する。さらに、詳細には、本発明は、ワールド
ワイドウェブ・クライアント/サーバ通信モデルに基づいてそのようなGUIを
開発し使用するための改良した方法および装置に関する。2.関連技術
多くの近代の通信、娯楽、その他の電子デバイスは、ローカルまたはリモート
の制御、管理、コンフィギュレーション、モニタおよび診断の改良を要求し、ま
たそれから利益を受けることができた。そのようなデバイスについて、特にデバ
イスに対し書かかれたソフトウェア・アプリケーションプラグラムにより制御さ
れるのが普通である。このようなデバイスの設計は、任意のハードウェアと、こ
のアプリケーションをサポートするのに必要な動作環境ソフトウェアとを含んで
おり、そしてそのアプリケーションは、そのときには、デバイス内に埋め込まれ
るため、埋め込み形アプリケーションと呼ばれている。埋め込み形アプリケーシ
ョンプログラムは、一般には、ここではネイティブ・アプリケーションプログラ
ム言語と呼ぶC,C++等の高級プログラム言語で書かれている。また、特定の
用途に適したその他の言語も、用いることができる。アプリケーションプログラ
ムは、ユーザとは、一般にはこのアプリケーションと同じ高級言語で書かれたユ
ーザインターフェースを介して通信する。
ネイティブ・アプリケーションプログラム言語におけるアプリケーションの表
現は、アプリケーションプログラム・ソースコードとして参照する。プロセッサ
で実行することができるそれに対応した表現は、実行可能イメージとして参照す
る。
高級言語で書かれたアプリケーションが実行できるようになるまでに、それは
、コンパイルしリンクして、そのアプリケーション・ソースコードを実行可能な
イメージに変形しなければならない。コンパイラは、入力としてアプリケーショ
ン・ソースコードを含むファイルを受け取り、そして出力としてオブジェクトコ
ードと呼ぶフォーマットのファイルを発生する。最後に、1つ以上のオブジェク
トコード・ファイルをリンクさせて、その実行可能なイメージを形成する。リン
クす
ることは、オブジェクトモジュールが、アドレス、シンボルまたは機能がどこか
他のサイトで定義された関数のようなそのオブジェクトモジュールの外部に行う
参照を解決する。
ソースコードもまた、データをメモリに記憶できる配列を定義することができ
、これは、便宜上シンボリカリーと呼ばれている。このような定義された配列は
、データ構造と呼ぶが、その理由は、これらがメモリ内におけるデータの物理的
配列、即ちデータが組織される構造を表すからである。
最も一般的には、遠隔制御、管理、コンフィギュレーション、モニタおよび診
断のアプリケーションは、このアプリケーションソフトウェアと統合しそしてデ
バイスに埋め込んだ固有の所有権を主張できるユーザインターフェースを用いて
いる。頻繁に、これらのユーザインターフェースは、テキスト形態だけの情報を
提示しまた受け取る。さらに、これらは、ポータブルではなく、一般に特有のプ
ラットフォーム、即ちハードウェアとソフトウェアとの組み合わせの上で動作す
るよう設計されている。制御、管理、コンフィギュレーションおよび診断を希望
するデバイスは、メモリおよび長期記憶スペースのような、限定されたランタイ
ム・リソースしか利用可能なものとして有していない。所有権を主張できるンタ
ーフェースは、たびたび、データの提示、データ獲得、およびポータビリティに
関してそのような制限を伴って設計されているが、その理由は、それらフィーチ
ャを提供するのにかかる開発コストのためであり、またユーザインターフェース
のサイズおよびランタイム・リソース要求を最小に維持するためである。各ユー
ザインターフェースは、オペレーティング・システム、アプリケーションおよび
ハードウェアのプラットフォーム(この上でそれらの動作が実行される)に対し独
特なだけでなく、特定の遠隔制御、管理、コンフィギュレーション、モニタ、お
よび診断の機能に独特である傾向があり、かなりの時間および/またはその他の
リソースが開発にかかることになる。グラフィックス処理およびポータビリティ
は、ほとんどのアプリケーションについては高価な贅沢だと考えられている。
しかし、制御、管理、コンフィギュレーション、モニタおよび診断を必要とす
る利用可能な製品の領域が広がるにつれ、インターフェースのグラフィカルな提
示およびプラットフォームからプラットフォームへのインターフェースのポータ
ビリティのような上記の如き以前の贅沢は、贅沢の範疇から必要なものの範疇に
移った。グラフィカルに提示された情報は、テキストで提示されたものよりもよ
り迅速にしかも容易に理解される、ということは周知である。様々なプラットフ
ォームが提示する一貫したユーザインターフェースは、各々のプラットフォーム
が提示する固有の所有権を主張できるユーザインターフェースよりも理解しやす
く、使いやすい、ということも周知である。したがって、ランタイム・リソース
要求低いポータブルなGUIが非常に望ましい。
インターネット(コンピュータシステム間の通信のための1つの極めてポピュ
ラーなパブリック・ネットワーク)のますますの普及と拡大、ワールドワイドウ
ェブ通信およびプレゼンテーション・モデルの開発により、新たな情報通信パラ
ダイムが現れてきた。
ワールドワイドウェブおよびこれと同様の企業内LANのようなプライベート
・アーキテクチャは、相互接続されたドキュメント・オブジェクトの“ウェブ”
を提供している。ワールドワイドウェブ上では、それらのドキュメント・オブジ
ェクトは、グローバルなインターネット上の様々なサイトに配置されている。こ
のワールドワイドウェブは、“The World-Wide Web”,by T.Berners-Le
e,R.Cailliau,A.Louotonen,H.F.Nielsen and A.Secret,Commum ications of the ACM
,37(8),pp.76-82,August 1994、並びに、“World W
ide Web: The Information Universe”by Berners-Leet,T.,et al.,i
n Electronic Networking: Research,Applications and Policy,Vol.1
,No.2,Meckler,Westport,Conn.,Spring 1992にも記載されている。イ
ンターネット上では、ワールドワイドウェブは、ドキュメント(即ちコンテンツ)
、クライアントソフトウェア(即ちブラウザ)およびサーバソフトウェア(即ち
サーバ)の集合体であり、これらは協働して、ユーザに情報を提示しまたユーザ
から情報を受ける。ワールドワイドウェブはまた、コンテンツを通して種々のデ
ータベースおよびサービスに対しユーザを接続するのに使用される。しかし、以
下で述べることを除いて、ワールドワイドウェブは、主として、サーバを介して
ブラウザに利用可能なコンテンツ・ドキュメントに含まれたスタティック情報に
基づいている。そのような制限は、デバイスまたはアプリケーションが発生した
ダイナミック情報を提示しなければならないGUIとしては、ワールドワイドウ
ェブ・
パラダイムを役に立たなくしてしまう。
ワールドワイドウェブ通信パラダイムは、在来のクライアント−サーバ・モデ
ルに基づいている。コンテンツは、サーバがアクセス可能なドキュメント内に保
持されている。クライアントは、相互接続システムを介してドキュメントを要求
でき、そしてこのドキュメントは、次に、その相互接続システムを介してクライ
アントへサーブされる。そのクライアントソフトウェアは、必要なら、サーブさ
れたドキュメントのコンテンツを解釈する責任を負う。
“ウェブ”内のドキュメントオブジェクト・タイプ間では、ドキュメントおよ
びスクリプトである。ワールドワイドウェブ内のドキュメントは、ブラウザまた
はブラウザの拡張には知られた非限定のフォーマットにおける、テキスト、イメ
ージ、サウンドまたは提示されるべきその他の情報を含むことができる。ブラウ
ザがサーバからのドキュメントを要求したときに得られるプレゼンテーションあ
るいはそのときに実行されるその他のアクションは、ドキュメントに含まれたテ
キストにより通常決定される。そのドキュメントは、ハイパーテキストマークア
ップ言語(HTML)で書かれている。HTMLは、“HyperText Markup L
anguage Specification-2.0”,by T.Berners-Lee and D.Connolly,RF
C1866,proposed standard,November 1995,並びに、“World Wide Web &
HTML”by Douglas C.McArthur,in Dr.Dobbs Journal,December
1994,pp.18-20,22,24,26,86に記載されている。そのように記憶されるHTM
Lドキュメントは、一般的にはスタティックである。即ち、コンテンツは、ドキ
ュメントが手で変更されるとき以外は、時間で変化することはない。スクリプト
は、実行されたときに、HTMLドキュメントを発生できるプログラムである。
HTMLは、マークアップ言語と呼ばれるコンピュータ言語ファミリの内の1
つである。マークアップ言語は、デバイスと独立の方法でテキスト・ドキュメン
トを表示、印刷等する方法を記述するコンピュータ言語である。この記述は、テ
キスト型タグの形態を取り、ドキュメントテキストに対して適用すべきフォーマ
ットまたはそれに対し取るべきその他のアクションを示す。タグは、通常、マー
クアップ言語において定義された意味をもつ独特の文字ストリングである。これ
らタグについては、以下に詳述する。
HTMLは、ワールドワイドウェブに使用されているが、それは、ハイパーテ
キスト・ドキュメントを書くために設計されているためである。その正式な定義
は、HTMLドキュメントが、特定のドキュメントタイプ定義(DTD: Docum
ent Type Definition)に従う標準汎用マークアップ言語(SGML: Standa
rd Generlized Markup Language)のドキュメントである。1つのHTMLド
キュメントは、階層的な1組のマークアップ・エレメントを含み、これにおいて
、ほとんどのエレメントは、開始タグと、これに続くコンテンツと、そして終了
タグとを有する。コンテンツは、テキストと、ネストしたマークアップ・エレメ
ントとの組み合わせである。タグは、かぎ括弧(‘<’と‘>’)で囲み、ドキュ
メントがどのように構成され、ドキュメントをどのように表示し、またハイパー
テキストリンクの宛先およびラベルも示す。タイトル、ヘッダ、ボールドおよび
イタリックのようなテキスト属性、リスト、節バウンダリ、他のドキュメントま
たは同じドキュメントの他の部分へのリンク、インラインのグラフィックイメー
ジおよびその他の多くのフィーチャのような、マークアップ・エレメントのため
のタグが存在する。
ここで、HTMLの例を数行示すことにする。
Some words are<B>bold</B>,others are<I>italic</I>.Here we start
a new paragraph.<P>Here's a link to
the<A HREF="http://www.agranat.com">Agranat Systems,Inc.</A>ho
me page.
このサンプル・ドキュメントは、"HREF="によって与えられるように、別
のドキュメントへのリンクを含んでいるため、ハイパーテキスト・ドキュメント
である。また、ハイパーテキスト・ドキュメントは、同じドキュメント内の別の
箇所へのリンクを有することもある。リンクされたドキュメントは、一般に、イ
ンターネット上のどこかの場所で見つけることができる。ユーザがウェブブラウ
ザと呼ぶクライアント・プログラム(後に説明する)を用いてそのドキュメント
を見ているときには、リンクは、強調された語または句として表示される。例え
ば、ウェブブラウザを用いると、上のサンプル・ドキュメントは、ユーザのスタ
リーン上では次のように表示される。
Some words are bold,others are italic.Here we start a new paragraph
.
Here's a link to Agranat Systems,Inc. home page.
このウェブブラウザでは、例えば、強調された領域の上をマウスを用いてクリ
ックすることにより、そのリンクを選択することができる。リンクを選択すると
、関連付けられたドキュメントが表示される。したがって、強調されているAgr
anat Systems,Inc.というテキストの上をクリックすると、そのホームページ
が表示されることになる。
ブラウザを用いてイメージ、ビデオ、サウンドなどをサーバから直接に要求す
ることもできるが、サーバがブラウザにサーブする情報のプレゼンテーションを
制御するHTMLドキュメントを要求されるのが、より通常である。しかし、後
で述べる例外を除き、HTMLファイルのコンテンツはスタティックなものであ
る。すなわち、ブラウザは、ドキュメントがサーブされる時点では、コンテンツ
の受動的なスナップショットを提示できるだけである。ダイナミックな情報、す
なわち、アプリケーションまたはデバイスが生成する情報を提示するため、また
HTMLが生成したフォームに挿入されたユーザ・データからその情報を取得す
るためには、従来のワールドワイドウェブサーバは、以下で説明するコモン・ゲ
ートウェイ・インターフェース(CGI)などの“生の”インターフェースを使
用している。HTMLは、アプリケーションまたはデバイスが生成するダイナミ
ックな情報を提示するメカニズムは、CGIなどの生のインターフェースを介す
るもの以外は、備えていない。アプリケーションまたはデバイスが用いるために
ユーザからデータを取得することに関しては、標準的なHTMLは、ブラウザに
インタラクティブなフォームをサーブする便利なメカニズムを実現する1組のタ
グを提供しているが、そしてこれは、テキスト・フィールド、チェック・ボック
スおよびプルダウン・メニューを完備するものではあるが、提示されたフォーム
を処理するには、CGIを用いなければならない。フォームの処理は、遠隔制御
、管理、コンフィギュレーション、モニタおよび診断のアプリケーションにとっ
て重要である。その理由は、フォームの処理が、ワールドワイドウェブ通信モデ
ルを用いてユーザ入力にしたがってアプリケーションを構成する便利な方法だか
らである。しかし、CGIを用いてのフォーム処理は極端に複雑であり、以下で
分かるように、アプリケーションの設計者は、不慣れなインターフェースを学習
し
た上で実現することが必要となる。したがって、CGIは、新たなGUIの可能
性を急速に開発しそのプロトタイプ化をするための適切なインターフェースとは
言えない。更に、開発者は、そのユーザ・インターフェースと共に完全なアプリ
ケーションを開発するためには、ネイティブ・アプリケーション・ソースコード
言語(例えば、Cや、C++など)、HTMLおよびCGIをマスタしなければ
ならない。
スタティックコンテンツとダイナミックコンテンツとに対するワールドワイド
ウェブ通信パラダイムのモデルは、図14と図15とにそれぞれ示している。図
14に示しているように、ブラウザ1401は、サーバ1403に接続1402
を行い、サーバ1403は、スタティックコンテンツ1405を、記憶装置14
07からブラウザ1401に与える。図15に示すダイナミックコンテンツの場
合には、サーバ1403は、ブラウザ1401との接続1402の制御をCGI
1503を介してアプリケーション1501に送る。アプリケーション1501
は、ブラウザ1401との接続1402を維持しなければならないし、ダイナミ
ックコンテンツを含んでいた要求のサービスが完了すると制御をサーバ1403
に戻さなければならない。更に、ダイナミックコンテンツを含む要求をサービス
する間は、アプリケーション1501が、ブラウザ1401との接続1402を
維持し、サーバ/ブラウザ・トランスポート・プロトコルにおけるヘッダを生成
し、スタティックおよびダイナミックなコンテンツ・エレメントを全て生成し、
ユーザによって戻される任意のフォーム・データをパージングすることなどを含
む、サーバ1403が通常実行する機能を担当することになる。CGI1503
またはその他の生のインターフェースを使用すると、アプリケーション設計者が
この仕事の全てを行うことが強制されるので、フォームが提示されているアプリ
ケーション1501は、必然的に複雑になる。
ダイナミックコンテンツをブラウザに提供するために、ワールドワイドウェブ
は、何らかのサーバ側のスクリプト言語に加え、Javaやそれ以外のクライア
ント側のスクリプト言語をも含むように発展してきている。しかし、これらの言
語は、ブラウザ1401またはサーバ1403の中に備えられたインタープリタ
によって解釈されるので、そのように生成される情報の提示をスローダウンさせ
る。クライアント側のスクリプトの場合には、スクリプトは、アプリケーション
やアプリケーションに特有の情報への直接的なアクセスを全く有さない。したが
って、クライアント側のスクリプトを用いてアプリケーションに特有の情報を生
成または受信するためには、CGI1503またはそれ以外の生のインターフェ
ースを依然として用いなければならない。サーバ側のスクリプトの場合には、サ
ーバ1403は、コンテンツを、それが供給されるのと同時にパージングして、
解釈すべきスクリプトを探さなければならない。スクリプトが有するアプリケー
ションへのアクセスは、アプリケーション設計者が設計したアプリケーション・
ソフトウェア・インターフェースによってではなく、スクリプト言語の定義によ
って制限される。
サーバ側のスクリプトは、実行可能なプログラムまたはファイルに記憶された
1組のコマンドであり、これは、サーバ・プログラムによって走らせることによ
り、ウェブブラウザに戻すHTMLドキュメントを発生することができる。典型
的なスクリプト・アクションには、ファイル、データベースまたはデバイスから
情報を得るためにライブラリ・ルーチンを走らせたり、別のマシンから情報を得
る要求を開始したり、選択されたハイパーテキスト・リンクに対応するドキュメ
ントを検索したりすることが含まれる。スクリプトは、例えば、エンド・ユーザ
がウェブブラウザにおいて特定のハイパーテキスト・リンクを選択したりまたは
HTMLフォーム要求を提出したりするときに、ウェブサーバ上で走らせること
ができる。スクリプトは、通常は、Basic、Practical Extraction and Repo
rt Languagc(Perl)、Tool Control Language(Tcl)、またはUNIXオペ
レーティング・システムのシェル言語の1つなどの解釈された言語で書かれてい
るが、C言語などのプログラミング言語で書いた後に、実行可能なプログラムに
コンパイルすることもできる。Tclでのプログラミングについては、John K
.Ousterhout,"Tcl and the Tk Toolkit",Addison-Wesley,Reading,
MA,USA,1994にその詳細が記載されており、Perlに関しては、Larry
Wall and Randal L.Schwartz,"Programming Perl",O'Reilly & A
ssociates,Inc.,Sebastopol,CA,USA,1992に詳細が記載されている
。
ウェブにおけるドキュメント・オブジェクトは、それぞれが、ユニバーサル・
リソース識別子(URI)と呼ぶ識別子を有している。これらの識別子について
は、T.Berners-Lee,“Universal Resource Identifier in World Wid
e Web: A Unifying Syntax for the Expression of Names and Addresse
s of Objects on the Network as used in the World-Wide-Web,”RFC
1630,CERN,June 1994およびT.Berners-Lee,L.Masinter,and M
.McCahill,“Uniform Resource Locator(URL),”RFC 1738,CER
N,Xerox PARC,University of Minnesota,December 1994に詳細が記
載されている。URIによって、インターネット上の任意のオブジェクトを、既
に述べたHTMLドキュメント内のリンクなどのネームまたはアドレスによって
参照することが可能になる。URIには、2つのタイプがある。すなわち、ユニ
バーサル・リソース・ネーム(URN)と、ユニフォーム・リソース・ロケータ
(URL)とである。URNは、与えられたネーム空間内でネームによってオブ
ジェクトを参照する。インターネットのコミュニティは、URNのシンタクスお
よび用法をまだ完全には定義していない。URLは、ネットワーク・プロトコル
を用いてアクセス・アルゴリズムを定義することにより、オブジェクトを参照す
る。URLの例は、“http: //www.agranat.com”である。URLは、“scheme:
scheme_specific_components”というシンタクスを有しており、
schemeは、(HTML、FTPまたはGOPHERなどの)アクセス・プロト
コルを識別する。HTMLのschemeに対しては、URLは、"http://host:port/
path?search"のフォームを有しているが、ただし、hostは、そのプロトコルをサ
ポートするマシンのインターネット・ドメインネームであり、portは、(デフォ
ルトと異なる場合には)適切なサーバの送信制御プロトコル(TCP)ポートの
数であり、pathは、オブジェクトのスキームに特有のIDであり、searchは、オ
ブジェクトのコンテンツを照会するオプショナルなパラメータである。URLは
、また、ワールドワイドウェブだけではなく、プライベートなコンピュータシス
テムやネットワーク上のウェブサーバおよびブラウザによっても用いられる。
ネットワーク・ユーザにドキュメントを利用可能にすることを望んでいるサイ
ト、すなわち、ネットワークに接続されたコンピュータを有する組織は、“ウェ
ブ・サイト”と呼び、そのドキュメントへのアクセスを与えるために、“ウェブ
サーバ”プログラムを走らせなければならない。ウェブサーバ・プログラムは、
ネットワーク上のコンピュータがワールドワイドウェブまたはプライベートなウ
ェブのそれ以外の部分にドキュメントを利用可能とさせることができるコンピュ
ータ・プログラムである。ドキュメントは、多くの場合が、HTML言語でのハ
イパーテキスト・ドキュメントであるが、他のタイプのドキュメントであっても
よいし、イメージ、オーディオおよびビデオ情報であってもよい。ウェブサーバ
によって管理される情報は、サーバ上に記憶されている、または、ウェブサーバ
上のスクリプトによってダイナミックに生成されるハイパーテキスト・ドキュメ
ントを含む。ウェブサーバのソフトウェア・パッケージには、Conseil Europeen
pourla Recherche Nucleaire(CERN,the European Laboratory for P
article Physics)のサーバや、National Center for Supercomputing Appl
ication(NCSA)のサーバなど、複数が存在する。ウェブサーバは、複数の異
なるプラットフォームに対して実現されており、UNIXオペレーティング・シ
ステムを走らせるSun Sparc 11 ワークステー
WindowsTMオペレーティング環境を走らせるインテル社製ペンティアム・プロセ
ッサを備えたパーソナル・コンピュータが含まれる。
ウェブサーバはまた、コモン・ゲートウェイ・インターフェース(CGI:Com
mon Gateway Interface)と呼ぶ、外部プログラムを走らせる標準的なインター
フェースを有する。CGIに関しては、Lincoln D.Stein,“How to Set U
p And Maintain A Web Site”,Addison-Wesley,August,1995に、より
詳細な記載がある。ゲートウェイとは、入力される情報の要求を処理し、適切な
ドキュメントを返すまたはドキュメントをダイナミカルに生成するプログラムで
ある。例えば、ゲートウェイは、質問を受け取り、SQLデータベースの中で回
答を探し、サーバがその結果をクライアントに送ることができるように応答をH
TMLのページに翻訳する。ゲートウェイ・プログラムは、CまたはPerlま
たはTclなどのスクリプト言語、UNIXオペレーティング・システムのシェ
ル言語などで書かれている。CGI標準は、スクリプトまたはアプリケーション
が入力およびパラメータをどのように受け取るかを特定し、任意の出力がどのよ
うにフォーマットされサーバに返却されるかを特定する。
ネットワーク上のあるウェブ・サイトで入手可能なドキュメントにアクセスす
ることを望んでいるユーザ(典型的には、ウェブサーバが用いているマシンとは
異なるマシンを用いている)は、“ウェブブラウザ”と呼ぶクライアント・プロ
グラムを走らせなければならない。ブラウザ・プログラムによって、ユーザがウ
ェブサーバからドキュメントを検索し表示することが可能になる。普及している
ウェブブラウザをいくつか挙げると、カリフォルニア州マウンテン・ビューのネ
ットスケープ・コミュニケーション社によるNvigatorブラウザ、NCSAによ
るMosaicブラウザ、テキサス州オースチンのマイクロエレクトロニクス・アン
ド・コンピュータ・テクノロジ社によるWin Webブラウザ、ワシントン州レド
モンド
ング環境を走らせるインテル社製のペンティアム・プロセッサを備えたパーソナ
ル・コンピュータやアップル社製のマッキントッシュ・パーソナル・コンピュー
タを含む多くのプラットフォームに対して存在している。
ウェブサーバおよびウェブブラウザは、ハイパーテキスト・トランスファー・
プロトコル(HTTP)のメッセージ・プロトコルおよび背後の送信プロトコル
/インターネット・プロトコル(TCP/IP)のインターネットのデータ転送
プロトコルを用いて、通信を行う。HTTPは、T.Berners-Lee,R.T.Fi
elding,H.Frystyk Nielsenによる.“Hypertext Transfer Protocol−H
TTP/1.0”(Internet Draft Document,1995年10月14日)に開示されてお
り、これは、現在標準的なプロセスとして用いられている。この開示においては
、最新のバージョンが、RFC Z068に示されており、このRFC Z068
は、HTTP/1.1のドラフト規定である。HTTPにおいて、ウェブブラウザ
は、ウェブサーバとの接続を確立し、そして、HTTP要求メッセージを該サー
バに送信する。HTTP要求メッセージに応答して、ウェブサーバは認証チェッ
クを行い、要求された動作(アクション)を実行し、かつ、該要求された動作に
よって生じたHTMLドキュメントを含んでいるHTTP応答メッセージまたは
エラー・メッセージを返送する。返送されたHTMLドキュメントは、ウェブサ
ーバに単に格納されているファイルであるか、または、HTTP要求メッセージ
に応答して呼び出されたスクリプトを用いてダイナミックに生成されるものであ
る。例えば、ドキュメントを受け
取るために、ウェブブラウザは、HTTP要求メッセージを指定のウェブサーバ
に送信し、そのURLによってドキュメントを要求する。次に、ウェブサーバは
、そのドキュメントを検索し、該ドキュメントをHTTP応答メッセージに含ま
せて、ウェブブラウザに返送する。ドキュメントがハイパーテキスト・リンクを
有している場合は、ユーザは、検索して表示すべき新しいドキュメントを要求す
るため、リンクを再度選択する。他の例においては、データベースのサーチを要
求するためのフォームにユーザが書き入れると、ウェブブラウザは、ウェブサー
バに対して、サーチすべきデータベースのネーム、サーチ・パラメータ、および
サーチ・スクリプトのURLを含んでいるHTTP要求メッセージを送信する。
ウェブサーバは、サーチ・パラメータに関連するプログラムすなわちスクリプト
を呼び出す。プログラムは、パラメータを調査し、データベース・インターフェ
ースに対して質問を送ることにより、質問に対する応答を試みる。プログラムは
、質問の応答結果を受け取ると、ウェブブラウザに返送すべきHTMLドキュメ
ントを構築し、HTTP応答メッセージ中に該ドキュメントを含ませて、ウェブ
ブラウザに送信する。
HTTP中の要求メッセージは、サーバによって実行されるべき動作のタイプ
を示す“メソッドネーム”、ウェブサーバにおけるターゲット・オブジェクト(
ドキュメントまたはスクリプトのいずれか)を示すURL、および他の制御情報
を含んでいる。応答メッセージは、状態ライン、サーバ情報、および可能なデー
タ・コンテンツを含んでいる。Multipurpose Internet Mail Extensions(
MIME)は、ネットワーク上で転送されるメッセージのコンテンツを記述する
ための標準的な方法である。HTTP要求メッセージおよびHTTP応答メッセ
ージは、メッセージのフォーマットを示すためにMIMEラインを用いている。
MIMEは、“MIME(Multipulpose Internet Mail Extensions)”;M
echanisms for Specifying and Describing the Format of Internet Mess
age Bodies,Internet RFC1341(1992年7月)に詳細に記載されている。
HTTP/1.1プロトコルに規定されている要求メソッドは、GET,POST,
PUT,HEAD,DELETE,LINK,およびUNLNKを含んでいる。PU
T,DELETE,LINK,およびUNLINKは、殆ど共通には用いられない
。HTTP/1.1プロトコルの最終バージョ
ンにおいて規定されるよう意図されている要求メソッドは、GET,POST,P
UT,HEAD,DELETE,OPTION,およびTRACEを含んでいる。D
ELETE,PUT,OPTION,およびTRACEは、殆ど共通には用いられ
ない。全てのメソッドは、上記したHTTP/1.0およびHTTP/1.1仕様に詳
細に記載されている。
最後に、在来のワールドワイドウェブ技術を用いているデバイスまたはアプリ
ケーションは、サーバへのアクセスを有する必要がある。在来のサーバは、比較
的大きくかつリソースが豊富(リソース・リッチ)なコンピュータシステムで動
作する大きなソフトウェア・パッケージである。これらのコンピュータシステム
は、処理速度およびパワー、長期間記憶容量、短期間記憶容量、およびオペレー
ティング・システム・ファシリティにおいて、リソース・リッチである在来のサー
バは、これらリソースの長所、例えば、どのようにコンテンツ・ソース・ドキュメ
ントを記憶するかについての長所を採用している。コンテンツへの高速、便利な
アクセスに関しては、バルキーASCIIテキスト・ファイルのディレクトリ・ツ
リーに、従来は記憶される。したがって、従来のワールドワイドウェブ技術は、
比較的小さな安価でリソースが豊富ではない(リソース・プワー)デバイスまたは
アプリケーションにおいて、GUIを実行するために用いることはできない。
HTTPプロトコルを用いてコンピュータ・ネットワーク上で通信を行うウェ
ブサーバおよびウェブブラウザの組み合わせは、本明細書においては、ワールド
ワイド通信パラダイムと呼ぶ。
発明の摘要
したがって、本発明の目的は、アプリケーション、デバイスおよび機器に埋め
込んだ遠隔制御機能、管理機能、コンフィギュレーション機能、モニタ機能、診
断機能と共に使用するための改良したグラフィカルユーザインターフェースを提
供することである。
本発明の1つの面により提供するのは、ダイナミックエレメントを有するグラ
フィカルユーザインターフェースを提供する方法である。この方法は、マークア
ップ言語で書かれた少なくとも1つのテキスト・ドキュメント内に前記グラフィ
カルユーザインターフェースのエレメントを定めること、により開始する。次に
、
この方法は、前記ドキュメント内のあるロケーションに、アプリケーション・ソ
ースコードの1つのセグメントを含むコード・タグを含めること、を定める。次
に、前記テキスト・ドキュメントは、前記マークアップ言語を解釈するクライア
ントに対しサーブし、そして前記ロケーションに遭遇したときに、前記クライア
ントに対し、前記アプリケーション・ソースコード・セグメントが表す1つの命
令シーケンスを実行した結果から得た1つの文字シーケンスをサーブする。コー
ド・タグの1実施例であってこれらの使用を例示するものについて、以下で詳細
に説明する。
本発明の別の面によれば、ダイナミックエレメントを有するグラフィカルユー
ザインターフェースを提供する別の方法がある。この方法もまた、マークアップ
言語で書かれた少なくとも1つのテキスト・ドキュメント内に前記グラフィカル
ユーザインターフェースのエレメントを定める。前記ドキュメント内には、プロ
トタイプ・タグが識別したストリングを含める。前記テキスト・ドキュメントは
、プロトタイプ化(prototyping)クライアントに対しサーブし、このクライアン
トは、前記マークアップ言語を解釈するが、前記プロトタイプ・タグを認識せず
また表示しないが、前記ストリングを表示する。プロトタイプ・タグの1実施例
であってそれらの使用を例示するものについては、以下で詳細に説明する。
本発明のさらに別の面によれば、ダイナミックエレメントを有するグラフィカ
ルユーザインターフェースを提供するさらに別の方法がある。前記グラフィカル
ユーザインターフェースのエレメントは、マークアップ言語で書かれた少なくと
も1つのテキスト・ドキュメント内で定める。前記ドキュメント内のあるロケー
ションには、アプリケーション・ソースコードの1つのセグメントを含むコード
・タグを含める。また、前記ドキュメント内には、プロトタイプ・タグが識別し
たストリングを含める。前記テキスト・ドキュメントは、コンテンツ・ソースに
コンパイルし、そして前記コンテンツ・ソースは、続いて、前記テキスト・ドキ
ュメントのレプリカにデコンパイルする。前記テキスト・ドキュメントの前記レ
プリカは、前記マークアップ言語を解釈するクライアントにサーブし、そして前
記レプリカ内の前記ロケーションに遭遇したときに、前記クライアントに対し、
前記アプリケーション・ソースコード・セグメントを実行することにより発生さ
れ
た結果から得た1つの文字ストリームをサーブする。
本発明のさらに別の面は、媒体に記録したソフトウェア製品である。このソフ
トウェア製品は、マークアップ言語のドキュメントをネイティブ・アプリケーシ
ョンプログラミング言語のデータ構造にコンパイルできるマークアップ言語コン
パイラを含み、該コンパイラは、前記ネイティブ・アプリケーションプログラミ
ング言語のコンパイラによるコンパイルのためのファイルでセーブされるべきア
プリケーション・ソースコードの1つのセグメントとして、含まれるテキストを
指定する1つ以上のコード・タグを認識する。
本発明の別の面は、データのエントリのため表示されたフォームを有するグラ
フィカルユーザインターフェースを提供する方法である。この方法のステップは
、
マークアップ言語で書かれた少なくとも1つのテキスト・ドキュメント内に前
記グラフィカルユーザインターフェースのエレメントを定めるステップと、前記
ドキュメント内で、ユーザから要求されまたネイティブ・アプリケーションプロ
グラミング言語で書かれたアプリケーションが使用するデータアイテムをネーミ
ングするステップと、および前記テキスト・ドキュメントを、前記ネーミングし
たデータアイテムに関し前記ネイティブ・アプリケーションプログラミング言語
でのデータ構造定義を含むコンテンツ・ソースにコンパイルするステップと、を
含む。
本発明の別の面は、アプリケーション用のグラフィカルユーザインターフェー
スを開発するためのコンピュータをベースとする装置において実施でき、そして
該装置は、マークアップ言語で書かれたドキュメントを操作することができるエ
ディタと、前記マークアップ言語で書かれたドキュメントを表示することができ
るビューアとを備える。前記装置はさらに、ネイティブ・アプリケーション・ソ
ースコード言語のソースコード・フラグメントを含むコード・タグを認識するマ
ークアップ言語コンパイラを含み、前記コード・タグは、他の場合には前記マー
クアップ言語の1部分ではなく、また前記コンパイラは、前記ソースコード・フ
ラグメントのコピーを含む前記ドキュメントの前記ネイティブ・アプリケーショ
ン・ソースコード言語での表現を出力として発生する。
本発明の別の面によれば、アプリケーション用のグラフィカルユーザインター
フェースを開発しプロトタイプ化する方法がある。この方法は、HTMLファイ
ルにアクセスするステップと、前記HTMLの各部分をカプセル化して、その中
にソースコードを入れるステップと、カプセル化した部分をもつ前記HTMLか
らソース・モジュールを発生するステップと、サーバ用のソースコードを発生す
るステップと、前記アプリケーションをクロスコンパイルしリンクするステップ
であって、これにより前記ソースコード・モジュールと前記サーバとは実行可能
なオブジェクトコードを発生する、前記のステップと、を含む。
本発明は、この別の面によれば、コンピュータ読み取り可能媒体に固定したデ
ータ構造とすることができ、該データ構造は、互いに通信するクライアントおよ
びサーバを含むコンピュータシステムにおいて使用するためのものである。前記
データ構造は、前記アプリケーションに関連した実行可能なコード、サーバ・コ
ード、アプリケーション・コードを含むカプセル化した各部分をもつ、クロスコ
ンパイルし、記憶し、リンクしたHTMLファイルを含み、これにおいて、前記
実行可能なコードは、前記HTMLファイルをサーブしたときに走らせ、これに
より、前記アプリケーションに関連したリアルタイム・ダイナミック・データを
提供する。
図面の簡単な説明
図において、同様な要素は同様な参照番号で示す。
図1は、開発システムに関する本発明の1つの面のブロック図である。
図2は、埋め込み形システムに関する本発明の1つの面のブロック図である。
図3は、EMWEB_STRINGタグの使用を示すHTMLテキスト・フラグ
メントである。
図4は、EMWEB_STRINGタグの別の使用を示す別のHTMLテキス
ト・フラグメントである。
図5は、EMWEB_INCLUDEタグの使用を示すHTMLテキスト・フラ
グメントである。
図6は、EMWEB_INCLUDEタグの別の使用を示す別のHTMLテキ
スト・フラグメントである。
図7は、EMWEB_STRINGタグに関連したEMWEB_ITERATE
属性の使用を示すHTMLテキスト・フラグメントである。
図8は、EMWEB_INCLUDEタグに関連したEMWEB_ITERAT
E属性の使用を示すHTMLテキスト・フラグメントである。
図9は、フォーム用のHTMLソースコードと生成されたフォーム出力との間
の関係を示す、フォーム処理の一例である。
図10は、data.datアーカイブ・ファイルのヘッダを規定するデータ構造のブ
ロック図である。
図11は、ダイナミックコンテンツ処理を示す、埋め込み形システムの状態図
である。
図12は、フォーム処理を示す、埋め込み形システムの状態図である。
図13は、サスペンド/レジューム処理を示す、埋め込み形システムの状態図
である。
図14は、サーバとクライアントとの間のスタティック・コンテンツの従来例
のワールドワイドウェブ通信を示すブロック図である。
図15は、サーバとクライアントとの間のダイナミックコンテンツの従来例の
ワールドワイドウェブ通信を示すブロック図である。
詳細な説明
本発明は、参照する図面に関連して以下の詳細な説明を読めば、より十分に理
解できる。
本発明の種々の面の実施例について説明する。まず、アプリケーション開発と
グラフィカルユーザインターフェース開発が密接にリンクされているが、これら
がアプリケーションおよびGUIの在来の開発と比較して低いレベルの複雑さし
か要求しない開発環境について、説明する。第2に、アプリケーション、サーバ
、およびGUIが緊密に結合され、コンパクトでフレキシブルなオペレーティン
グ環境について、説明する。この記述するシステムにおいては、ポータビリティ
をもち、低いランタイム要求、およびユニバーサル・フロントエンドすなわちユ
ーザとの接続点としてユーザが利用可能な多種のシステムの任意のものを用いて
い
るGUIは、ユーザがすでに親しんでいるソフトウェアである。開発環境
図1は、本発明の1つの面による環境を示している。この環境の全てのものを
示しているわけではないが、図示しているものは、以下の説明で述べる。
一般的に、アプリケーション開発環境は、ソースコード・エディタ、コンパイ
ラ101、リンカ、およびアプリケーションをテストしデバッグするランタイム
環境を含んでいる。本発明による開発環境は、開発者がアプリケーションの開発
に有効であると見出す在来の開発環境のコンポーネントを含んでいる。埋め込み
形アプリケーションの場合、すなわち、デバイスまたはより大きなアプリケーシ
ョンに含まれているアプリケーションの場合には、ランタイム環境は、そのアプ
リケーションが埋め込まれているデバイスまたはアプリケーション、またはシミ
ュレーション、またはそのエミュレーションを含んでいる。
コンパイラ101は、ソースコード・エディタを用いて生成されるかあるいは
他のソースからのソースコード103を用い、そしてこれは、後で、リンクされ
て、実行可能なイメージを形成する。
上記した在来のエレメントに加えて、本発明による開発環境の実施例は、HT
MLコンパイラ107を含み、そしてこのコンパイラの出力109は、開発下の
アプリケーションのソースコード言語にある。さらに、開発環境は、HTMLエ
ディタ、クライアント・ソフトウエアすなわちブラウザと通信するためのHTT
P互換サーバ、およびHTTP互換ブラウザを含むことができる。
HTMLエディタは、アプリケーション用のGUIの外観および使い勝手を定
めるHTMLドキュメントを生成し編集するのに使用する。HTMLの知識を最
小限だけ必要とするか、または全く必要としないで、このタスクを実行するため
使用するHTMLエディタは、HTMLドキュメントに非標準のタグのエントリ
を可能にするものであることが好ましい。
以下に更に詳細に説明するように、サーバおよびブラウザは、プロトタイプG
UIをテストするために用い、このテストは、アプリケーションと完全に統合す
る前、またはアプリケーションが存在しないときに実行する。ブラウザは、サー
バとの接続できる能力が必要であり、この接続は、例えば、図14に関連して図
示し上述したように、TCP/IP等の在来の接続プロトコルを用いて行う。当
業者には明らかなように、その他のプロトコルまたは直接接続も使用可能である
。ブラウザとサーバはインターネット等のネットワークを介して接続できるが、
必ずしもそのようにする必要はない。例えば、サーバおよびクライアントは、1
つのコンピュータシステム上で走らせそして互いに接続することもできる。
アプリケーションの開発は、実質的にソフトウェア開発者に公知の従来の方法
で進行する。アプリケーションの開発は、当該アプリケーションとの間でデータ
の通信を行うソフトウェア・インターフェースの設計を含んでいるはずである。
しかし、このソフトウェア・インターフェースは、GUIではない。むしろ、そ
のインターフェースは、他のソフトウェアがアプリケーションといかに通信する
かを定めるだけである。例えば、インターフェースは、他のソフトウェアがこの
アプリケーションと通信するのに使用することができるファンクション・コール
とグローバル・シンボルとの集合体である。アプリケーションは、C、C++等
の高級言語で書かれねばならない。アプリケーションの試験は、このアプリケー
ションをコンパイルし、アプリケーションのフィーチャを働かせながら、アプリ
ケーションをソフトウェア・インターフェースを介して情報を提供または受信す
るプロトタイプ・コードとリンクすることによって、行うことができる。
一方、アプリケーションのためのGUIは、以下のように設計される。GUI
の外観および使い勝手は、HTMLエディタ、サーバおよびブラウザを使って、
少なくとも1つのHTMLドキュメントを含む1組のコンテンツ・ソース・ドキ
ュメント111(これもGUIの外観および使い勝手を定める)を作ることによ
り、開発する。GUI開発のこの面は従来通りであり、開発者がワールドワイド
ウェブ・サイトを開発しているかのように進行する。
1つ以上のHTMLドキュメント内の、アプリケーションから得たデータが表
示されるべきロケーションにおいては、著者は、特別のタグ(これについては後
述する)を含め、これにより、HTMLドキュメントは、アプリケーションソフ
トウェア・インターフェースを用いて所要のデータをアプリケーションから得る
ことができる。
コンテンツ・ソース・ドキュメント111は、従来通り、1つ以上のディレク
トリ・ツリー113の形態で蓄積する。次に、GUIを定義する内容を含むこの
ディレクトリ・ツリー113は、HTMLコンパイラ107を用いてコンパイル
することにより、ディレクトリ・ツリー内のコンテンツ・ソース・ドキュメント
を表すアプリケーション・ソースコード言語を生成する。ディレクトリ・ツリー
113内のコンテンツ・ソース・ドキュメント111から生成したソースコード・
エレメント109、HTTP互換サーバ(図示せず)およびアプリケーション・
ソースコード103は、オブジェクトコード105へコンパイルしそしてリンク
して、実行可能イメージを形成する。サーバには、完成した実行可能イメージ中
へリンクするように準備したオブジェクトコード・ライブラリの形態で供給する
。こうして形成した実行可能イメージは、ワールドワイドウェブ・コンテンツ開
発のための良く知られたツールを用いて定義したグラフィカルユーザーインター
フェースを、在来のアプリケーション開発ツールを用いて定義した制御その他の
機能と統合する。
上記の統合をうまく実行するために、本発明の記述実施例のHTMLコンパイ
ラ107、すなわちEmWebTMコンパイラ107は、HTMLへの特別な多数の
拡張を認識する。EmWebTMコンパイラ107が実現するこのHTML拡張は、
本発明の特徴を具体化するものであり、テーブルAのセクション3.2に詳細に記
述している。本発明の理解を助けるために、これらの拡張のうちのいくつかをこ
こで簡単に説明する。
EMWEB_STRINGタグは、HTMLドキュメント内のソースコードの
フラグメントをカプセル化するのに用いるHTMLの拡張である。このソースコ
ードは、ドキュメントをブラウザ(通常は他のシステム上で動作している)に対
してサーブして、EMWEB_STRINGタグのロケーションに到達したとき
に、アプリケーションに埋め込まれたシステムが実行する。このソースコードは
、文字ストリングを返し、これは、EMWEB_STRINGタグのロケーショ
ンにおいてドキュメント内にあるように挿入される。EMWEB_STRING
タグの使用例は、図3および図4に示す。
図3の例において、EMWEB_STRINGタグ301は、“C=”を用い
て、含まれたソースコードの終了305を定めるのに用いるバウンダリ文字30
3を定義する。バウンダリ文字定義の直後に、3つのファックス状態の内の1つ
を表すストリングへポインタを戻すCコードのフラグメント307がある。埋め
込み形アプリケーションによってサーブされると、この例のHTMLは、テキス
ト“NetFax State:”を生成し、この後には、シンボルGlobalFaxStateの
値に依存して、“Sending”,“Receiving”または“Idle”が続く。
図4の例は、属性EMWEB_TYPE401が定義するタイプを持つタイプ
化されたデータを出力するためのEMWEB_STRINGの使用を示している
。EmWebTMコンパイラ107は、この属性401を用いてソースコード出力ル
ーチンを生成し、そしてこのソースコード出力ルーチンは、戻されたアドレス4
03に見出されるタイプ化されたデータを、ドキュメントの適正なロケーション
でサーブするためのストリングへ変換する。
同様の機能は、HTML拡張であるEMWEB_INCLUDEタグによって
行う。このタグを用いると、情報の複数のページまたはウィンドウに共通のヘッ
ダやフッタ等のGUIの標準部分は、一度記憶する必要があるだけである。ヘッ
ダおよびフッタのファイルへの参照は、EMWEB_INCLUDEタグを使っ
て行い、このEMWEB_INCLUDEタグは、このタグが置かれている各H
TMLコンテンツ・ドキュメント内のロケーションにおいて、そのファイルを挿
入する。本発明の記述実施例においては、EMWEB_INCLUDEタグのコ
ンテンツは、コンテンツのローカル・ディレクトリ・ツリー内の相対的または絶
対的パスネームへ還元しなければならない。これは、ワールドワイドウェブ通信
パラダイムにリソースがどのように置かれるかに関するユニバーサル・リソース
・ロケータ(URL)を指定することによって、あるいは、こうしたローカルU
RLを表すストリングを戻すソースコードを含めることによって行うことができ
る。絶対的ローカルURLは、“/path/filename”の形式を取る。ここで、“/p
ass”は、ディレクトリ・ツリーの根元からファイルが位置するディレクトリへ
の完全なパスである。相対的URLは、現在の、すなわち、ベースのドキュメン
トが位置するディレクトリに相対的なファイルのロケーションを定義し、そして
“path/filename”の形式を取る。記述実施例
は、EMWEB_INCLIDEタグのローカルURLへの還元を必要とするが
、本発明はこれに限定されるものではない。代替の実施例においては、ローカル
および外部のURLが許容でき、またその他の限定を課してもよい。EMWEB
_INCLIDEタグの例は、図5および図6に示す。
図5の例においては、EMWEB_INCLIDEタグのCOMPONENT
属性501は、単にローカルURL503を定義するだけである。
図6の一層念入りな例においては、定義された条件605においてローカルU
RL603を生成するソースコードのフラグメント601は、ローカルURLを
ランタイムにおいて生成するのに使用する。
EMWEB_STRINGタグまたはEMWEB_INCLIDEタグが戻す結
果は、含めたソースコードへの反復するコールを用いて反復的に作り上げること
もできる。これは、HTMLへの更に別の拡張であるEMWEB_ITERAT
E属性を用いて行う。EMWEB_ITERATEの使用例は、図7および図8
に示す。
図7は、EMWEB_STRINGタグ703と関連して用いるEMWEB_I
TERATE属性701の例を示している。コードのフラグメント705は、N
ULLが戻されるまで反復して実行する。かくて、このHTMLは、Cソースコ
ードのフラグメントを反復して実行し、システム内の全部のトレイのトレイ・ス
テータスを表示する。
同様に、図8においては、EMWEB_INCLUDE801およびEMWE
B_ITERATE803を用いて、他のURL805からのコンテンツが表示
されるべきフィーチャのテーブルを作る。テーブルが完全であると、NULLを
戻し807、反復を終了する。
上述のHTMLへの拡張により、HTML内のソースコードのカプセル化がで
きるので、カプセル化したソースコードに所要のグローバル定義、ヘッダ・ファ
イル、外部デクラレーション等を提供するメカニズムも、EMWEB_HEAD
タグの形式で提供する。EMWEB_HEADタグは、EmWebTMコンパイラ10
7のソースコード出力に挿入されるべきソースコード・コンポーネントを、定義
された機能の外部で指定する。EMWEB_HEADタグは、HTMLファイル
・ヘッダ内に現れるのが好ましいが、しかしどこに現れるようにしてもよい。E
MWEB_HEADタグに
が生成するコードは、HTMLコンテンツ・ソース・ドキュメント内で定義され
る任意の機能またはその他のコードの前に置く。
上記の通り、GUIを構成するHTMLドキュメントをプレビューするために
、GUIは、従来のサーバおよびブラウザ(図14)を用いてプロトタイプ化で
きる。したがって、使用の間にはダイナミックコンテンツが現れるがコンパイル
済みのドキュメントには現れないロケーションにおいてページをプレビューする
ためのスタティックコンテンツを提供することは、有用である。例えば、そうで
ない場合にはEMWEB_STRINGタグのメカニズムを用いて提供されるコ
ンテンツのプロトタイプ値を含むことは、有用である。したがって、EmWebTM
コンパイラが認識するHTMLへの別の拡張は、図3に示す通り、EMWEB_
PROTO開始309および終了311のタグである。EmWebTMコンパイラは
、ドキュメントをコンパイルするとき、これらのタグおよびそれらの間の全部を
除去するが、直接にまたは従来のサーバによってHTMLドキュメントを調べる
従来のブラウザでは、それらタグは無視され、それらのタグの間のテキストは正
常に解釈される。従来のブラウザは特別のシンタクス、例えば“<”、“>”で
囲まれることに起因してタグを認識するが、ブラウザが定義を持たないタグを無
視して表示しないように設計されている。こうして、全部のEmWebTMコンパイ
ラのHTML拡張は、従来のブラウザではスキップする。かくて、図3の例にお
いては、プロトタイプ・ページは“NetFax State:Sending”を表示する。図
4はEMWEB_PROTOタグの同様の使用を示している。
ここで、図9を参照しながら、EmWebTMコンパイラによるHTMLフォーム
の取り扱いについて説明する。図9に示す通り、HTMLフォームは実質上従来
通りに定義する。このフォームで使用するネームは、EmWebTMコンパイラが生
成する出力ソースコード内で使用するシンボルネームを構成する際に使用する。
したがって、ネームはソースコード言語での有効なシンボルネームでなければな
らない。
フォーム定義のそれぞれのエレメントは、EmWebTMコンパイラによって、当
該フォームに対して定義された対応のデータ構造へ変換する。フォームデータは
、データ構造内のアイテムの値を変えることによって、アプリケーション内へお
よ
びアプリケーション外へ移動させる。
図9の例に目を転じて、図示のHTMLフォームの定義とその対応のデータ構
造との間の関係について説明する。FORMタグ内のEMWEB_NAME属性
を用いて、フォームに固有のネームを与える。フォームネームは、容易な参照お
よび固有性のために、構造ネームの一部分となる。また、フォームネームは、フ
ォームをサーブするときまたはフォームを提示するときにコールされる機能に関
する機能ネームを生成するのにも用いる。
生成された構造は、それ自体、2つの構造から成っている。第1の構造は、フ
ォームのそれぞれのダイナミックエレメントの値を保持する。第2の構造は、対
応する値のコンテンツのステータスを示すステータス・フラグを保持する。かく
て、図9の例においては、sysName INPUTおよびLogging SELECTio
nに対する値およびステータスを保持する構造が作られる。sysNameの値は文字
ストリングであるが、Loggingは列挙されたタイプである。
また、2つの関数プロトタイプも生成する。これらの関数によって実行すべき
動作は、開発者が定義しなければならない。Serve関数は、フォームをサーブす
るときにコールし、そして例えばデフォルト値を供給するの使うことができる。
Submit関数は、フォームを提出するときにコールして、例えば、データ構造内
の値を更新する。
現在、EmWebTMコンパイラは、TEXT、PASSWORD、CHECKB
OX、RADIO、IMAGE、HIDDEN、SUBMIT、RESET、S
ELECTおよびOPTIONの入力フィールドをサポートする。詳細な説明に
ついては、テーブルAのセクション3.2.5を参照されたい。更に、EmWebTMコン
パイラは、TEXT入力フィールド・データの“タイプ化(typing)”をサポート
する。すなわち、EMWEB_TYPE属性は、種々の整数、ドット状のIPア
ドレス(例えば、000.000.000.000のフォームのアドレス)、種々の他のアドレ
ス・フォーマット等を含むように、TEXT入力フィールドを定義するのに使用
する。EMWEB_TYPEの値のC言語タイプへのマッピングは、テーブルA
のセクション3.2.5.3で形成している。
EmWebTMコンパイラについて、汎用アプリケーション・ソースコード言語の
用語で説明した。EmWebTMコンパイラの現在の商用の実施例は、Cまたはその
スー
パーセット、即ちC++を汎用アプリケーション・ソースコード言語と仮定して
いる。しかしながら、説明した機能は、特定のアプリケーションの目的に便利な
任意の汎用アプリケーション・ソースコード言語に一般化できる。しかしながら
、上述のEmWebTMコンパイラおよびHTML拡張が、どのようにしてHTML
で定義したGUIとアプリケーション・ソースコードで定義したアプリケーショ
ンとを統合するかをより完全に理解するために、一般性を失わずに、汎用アプリ
ケーション・ソースコード言語をCまたはそのスーパーセットと仮定する。
EmWebTMコンパイラは、コンテンツ・アーカイブの固定的なデータを含むdat
a.datファイルと、EMWEB_STRINGタグ、EMWEB_INCLUDE
タグおよびEMWEB_HEADタグ内に定義された部分を含むアーカイブの生
成されたソースコード部分とEmWebTMコンパイラによって生成された他のソー
スコードとを含むcode.cファイルと、並びに、フォームの処理に用いるC関数の
定義を含むproto.hファイルおよびstub.cファイルとを含む、1組の出力ファイ
ルを生成する。これらのファイルの構造は、図10のデータストラクチャと関連
して説明する。
コンテンツ・アーカイブファイルdata.datは、図10に示されたヘッダ・スト
ラクチャを有する。このデータストラクチャには、オフセットテーブル即ちアー
カイブの他の部分へのポインタであるアーカイブヘッダ1001を介してアクセ
スする。例えば、圧縮されたドキュメントを含む、アーカイブに対する圧縮辞書
1003へのポインタ1001aがある。ドキュメントヘッダ1005、100
7および1009のリンクしたリストへのポインタ1001bもある。各ドキュ
メントヘッダ1005、1007および1009は、オフセットテーブル即ちド
キュメントの種々のコンポーネントへのポインタである。例えば、ドキュメント
ヘッダは、そのドキュメントが関連するURL1011へのポインタ1005a
を含む。多目的インターネットメール拡張(MIME: Multipurpose Interne
t Mail Extensions)タイプのドキュメントを与えるフイールド1013への
ポインタ1005bもある。各々後述するヘッダノード1015およびドキュメ
ントノード1017へのポインタ1005cおよび1005dもある。最後に、
ドキュメントのスタティック部分を表現する圧縮あるいは非圧縮のスタティック
データ1019のブロックへのポインタ1005eがある。
スタティックデータは、EmWebTMタグ、即ち上述しテーブルAに詳細を定義
したHTMLの拡張のどれも含まない。ドキュメント内で用いられたEmWebTM
タグに関する情報は、むしろドキュメントノード・ストラクチャ内に現れる。
ドキュメント内で用いル各EmWebTMタグは、そのドキュメントのドキュメント
ノード・ストラクチャ内で、以下のように表す。非圧縮データブロックまたは圧
縮データブロックの非圧縮のコピー内のEmWebTMタグのロケーションは、非圧
縮データに関連してオフセット1017aによって表す。タグのタイプは、タイ
プフラグ1017bによって表す。ノードには、表すタグに関連する任意の属性
を表すフラグを含ませることができる。例えば、EMWEB_STRINGタイ
プのタグに対するノードは、EMWEB_ITERATE属性を表すフラグを含
むことができる。最後に、ノードは、インデックス1017cを含む。フォーム
エレメントを定義するノード内においては、そのインデックスは、ドキュメント
内のエレメントとフォームを一意に識別するフォーム番号とエレメント番号を保
持する。EMWEB_STRINGタグを定義するノード内では、インデックス
は、そのポイントで実行されるべきソースコードのインスタンスへの参照である
。そのため、インデックスは、Cの“スイッチ”ステートメントの語句として評
価でき、この場合、“スイッチ”ステートメントの各制御されるステートメント
は、1つのEMWEB_STRINGインスタンスからの1つのソースコード・
フラグメントである。また代替的には、インデックスは、プライベート関数とし
てカプセル化したEMWEB_STRINGタグからのソースコード・フラグメ
ントテーブル内へのポインタまたはインデックスとすることができる。
以上で定義したデータ構造は、ダイナミックコンテンツを含むドキュメントを
サーブするときに制御を転送する便利な方法を提供する。ドキュメントが要求さ
れると、ドキュメントノードのリストを獲得し、HTMLソースドキュメント内
に定義されていたコード・セグメントへ制御をどのポイントで転送すべきかを決
定する。そしてそのドキュメントのスタティックエレメントを定義するデータブ
ロックを用いて、各ドキュメントノードに遭遇するまで、ドキュメントをサーブ
する。各ドキュメントに遭遇すると、制御を適当なコード・セグメントへ転送す
る。コード・セグメントが実行を完了した後、後続のスタティックコンテンツを
、
次のドキュメントノードのオフセットに遭遇するまでサーブする。
ヘッダノードは、コンテンツ言語(例えば英語、ドイツ語等)、クッキー制御
、キャッシュ制御または、ドキュメントの固有のバージョン番号を与えるeタグ
、例えばドキュメントに対して計算した30ビットのCRC値のような、そうで
ない場合には扱われないドキュメントのメタ情報の記憶を可能にする。全てのド
キュメントがこの情報を必要とするとは限らないので、この情報を各ドキュメン
トのヘッダに置かねばならないのを避けることによって、アーカイブの空間を著
しく節約することができる。したがって、ヘッダノードは、この情報を用いるド
キュメントに対してのみ記憶するだけでよい。
本発明のEmWebTMコンパイラの実施例が用いるコンテンツのアーカイブを表
すデータ構造は、テーブルBに含まれたCのソースコードによって定義する。ランタイム環境
ランタイム環境とサーバに関する本発明の種々の面は、セクション4のテーブ
ルAに詳細に定義したEmWebTMサーバにおいて実現している。
HTTPを実装した在来のブラウザに対して、EmWebTMサーバは在来のよう
に振る舞う。しかしながら、図2に示すように、EmWebTMサーバは、アプリケ
ーションと完全に統合しており、したがってそれが埋め込まれたアプリケーショ
ンおよびデバイスに関する情報に対するアクセスを有している。
ダイナミックコンテンツの表示に関するEmWebTMサーバの動作は、図11に
関連して説明する。
図11に示した動作を始める前に、1つ以上のアーカイブをサーバがロードす
る。各アーカイブがロードされたとき、ドキュメントがURLを用いて容易に位
置を見つけられるように、サーバは、アーカイブヘッダ・データ構造を用いてハ
ッシュテーブルを生成する。
まず、ブラウザが、HTTPを用いて、指定したURLにあるドキュメントを
要求する1101。EmWebTMサーバは、その要求に対し、在来の方法で肯定応
答する1103。そして、EmWebTMサーバは、アーカイブヘッダのハッシュテ
ーブルを用いて、要求されたドキュメントの位置を見つけ、そしてそのドキュメ
ント
からスタティックデータをサーブし始める1105。例えばEMWEB_STR
INGタグの表示で表されるドキュメントノードに遭遇すると、サーバは、制御
をEMWEB_STRINGタグ1107内に含められたアプリケーションのコ
ード・フラグメント1107aに渡す。このコード・フラグメントが実行を終了
し、なんらかのダイナミックデータ1109を返すと、EmWebTMサーバは、ブ
ラウザにそのダイナミックデータをサーブする1111。そして、EmWebTMサ
ーバは、ドキュメント内に残っているスタティックデータのサーブを続ける11
13。このプロセスは、全てのダイナミックエレメントを含む、全てのドキュメ
ントをサーブするまで継続する。
フォームのランタイムのサービングおよび提示について、図12に関連して説
明する。図12の概観は、フォームのサービスと提示が、ダイナミックコンテン
ツのサービングに対するものと同様の線に沿って進むことを示している。
まずブラウザは、HTTPを用いてURLを要求する1201。要求されたU
RLのコンテンツのサービス中にフォームに遭遇すると、フォームのサービスと
HTML定義のデフォルト値が正常に始まる。次に、EmWebTMサーバは、アプ
リケーション・コードをコール1203して関数を実行させ1203a、そして
これは、代替のデフォルト値をフォームを満たすべきものと置換するようにもで
きる。次に、サーブするドキュメントは、そのアプリケーションソフトウェアに
よって修正されたスタティックHTMLが定義するデフォルト値を含むようにさ
れる1207。後に、ユーザがフォームを提示するとき、ブラウザは、HTTP
を用いてURLのPOSTを実行する1209。フォームデータがEmWebTMサ
ーバにより関数へのコール1211によってアプリケーションに戻され1211
、そしてその関数は、フォーム内の戻されたデータを、アプリケーション・コー
ド内のそれに対し定義されたデータ構造内に挿入する。次に、応答1213を、
ブラウザへサーブし戻す1215。
最後に、ダイナミックコンテンツに対する要求が、アプリケーションが実行し
ている他の処理を許容できない程に止めたり遅らせたりする、拡張処理を必要と
するときがあることに注意されたい。このような問題を回避するために、EmWe
bTMサーバは、以下のようなサスペンド/レジューム・プロトコルを実装してい
る。
このサスペンド/レジューム・プロトコルは、サーバが維持し実行するスケジュ
ーラの文脈内に存在する。スケジューラは、実行されるべきスケジュールされた
サーバタスクのタスクリストを含む。
図13は、その処理が他のアプリケーションの動作と干渉すると予想される、
EMWEB_STRINGタグを含むドキュメントをブラウザが要求する場合の
状況を示す。ドキュメントに対する最初のHTTP要求1301に対し、在来の
ように肯定応答する1303。EMWEB_STRINGタグに遭遇すると、制
御をアプリケーション内の適当するソースコード・フラグメント1305bへ転
送する1305a。そこで、アプリケーションは、EmWebサーバのサスペンド
関数1307をコールし、EMWEB_STRINGタグ位置において生成され
たファンクションコールに、ダミー値1309を返す。サスペンド関数1307
のコールは、スケジューラに、タスクリストからEMWEB_STRING処理
タスクを除去させる。アプリケーションが最終的にオリジナルのファンクション
コールで要求されたダイナミックコンテンツを準備すると、アプリケーションは
EmWebTMサーバのレジューム関数1311をコールする。レジューム関数をコ
ールすると1311、EMWEB_STRINGにタスクリスト上のタスクを現
在のタスクとして処理することを要求する。EmWebTMサーバは、EMWEB_S
TRINGタグで定義された関数1305dを再度コールすること1305cに
よって応答し、このときは直ちにアプリケーションから応答を受け取り、この中
で要求したダイナミックコンテンツ1313が返される。次に、このダイナミッ
クコンテンツをブラウザにサーブする1315。
このサスペンド/レジューム機能は、分散処理環境において特に有用である。
分散処理環境の1つのプロセッサ上で埋め込み形のアプリケーションが動作して
いるとき、その分散環境内の他のプロセッサからしか得られないダイナミックコ
ンテンツが要求された場合、サスペンド/レジューム機能を用いることによって
、分散環境の通信経路を介してダイナミックコンテンツを得ることの必要性に基
づくロックアップや処理の劣化を防ぐことができる。例えば、制御または管理プ
ロセッサおよび種々の通信デバイスを含む分散システムを考えてみよう。管理プ
ロセッサ上で実行されている埋め込み形のアプリケーションは、通信デバイスの
任意のもののコンフィギュレーション・データについて問い合わせを受けること
が
ある。サスペンド/レジューム機能がなければ、そのデータを得ることは、種々
の通信デバイスの制御のため管理プロセッサが使用している通信経路を停止させ
、処理性能を劣化させてしまう。
本発明の記述した実施例は、その種々の利点を例示している。例えば、生め込
み形アプリケーションは、これでGUIをもつことができることになり、そして
このGUIは、GUIのビューを行うのに使用するもののアプリケーション・プ
ラットフォームのいずれにも独立のものとなる。例えば、GUIは、在来のブラ
ン,Apple Macintosh,WebTV box等を通して作動させることができる。ま
た、埋め込み形アプリケーション用のGUIの開発は、大幅に簡単になる。その
外観および感触の設計は、在来のHTML設計技法(在来のクライアントサーバ
・システムを使った外観および感触の直線的なプロトタイプ化、単純なHTML
拡張を使用)を使用して行う。埋め込み形アプリケーションとの統合は、開発者
が、どのような特別のインターフェースの学習あるいは開発を必要としないが、
むしろ、ある種のHTML拡張を使って、アプリケーション・ソースコードをH
TMLコンテンツ内に直接組み込む。さらに別の利点は、埋め込み形アプリケー
ション全体は、HTTP互換サーバおよびサーブすべきコンテンツとは、アプリ
ケーション・ソースコード、スタティックデータ用のデータ構造、およびダイナ
ミックデータ用のソースコードの最小限に低減させることができることである。
以上、本発明について、その特定の実施例に関連して説明した。しかし、本発
明の範囲内に入ると考えられる種々の変更が、当業者には明らかなはずである。
例えば、本発明は、HTMLをソースとするコンテンツに制限されるものではな
い。本発明の文脈の中で、任意のマークアップ言語を使用することができる。ま
た代替的には、コンテンツ・ソースは、生のテキストとすることができ、これは
、ユーザインターフェースの出力が1つ以上の自動的なソフトウェア・テキスト
フィルタによっても処理されるような状況では、特に適している。したがって、
本発明の範囲は、添付の請求の範囲の記載の適正に解釈される範囲によってのみ
、制限されることを意図している。
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 ローレンス,スコット・ディー
アメリカ合衆国マサチューセッツ州01742
−4042,コンコード,オールド・マールバ
ロ・ロード 560
Claims (1)
- 【特許請求の範囲】 1. ダイナミックエレメントを有するグラフィカルユーザインターフェース を提供する方法であって、 マークアップ言語で書かれた少なくとも1つのテキスト・ドキュメント内に前 記グラフィカルユーザインターフェースのエレメントを定めるステップと、 前記ドキュメント内のあるロケーションに、アプリケーション・ソースコード の1つのセグメントを含むコード・タグを含めるステップと、 前記マークアップ言語を解釈するクライアントに対し、前記テキスト・ドキュ メントをサーブするステップと、 前記ロケーションに遭遇したときに、前記クライアントに対し、前記アプリケ ーション・ソースコード・セグメントが表す1つの命令シーケンスを実行した結 果から得た1つの文字シーケンスをサーブするステップと、 から成るグラフィカルユーザインターフェース提供方法。 2. 請求項1記載の方法であって、さらに、 前記ドキュメント内に、アプリケーション・ソースコードの1つのセグメント を含む少なくとも1つの更なるコード・タグを含めるステップ、 を含むこと、を特徴とするグラフィカルユーザインターフェース提供方法。 3. 請求項1記載の方法であって、さらに、 前記グラフィカルユーザインターフェースを集合的に定める複数のドキュメン トを提供するステップと、および 前記テキスト・ドキュメントおよび前記複数のドキュメントを、ディレクトリ・ ツリー内のファイルとして記憶するステップと、 を含むこと、を特徴とするグラフィカルユーザインターフェース提供方法。 4. 請求項3記載の方法であって、さらに、 前記ディレクトリ・ツリーおよび該ツリー内の前記ファイルをコンパイルして 、コンテンツ・ソースを含むアーカイブにするステップと、および 前記サーブするステップの前に、コンテンツ・ソースを前記テキスト・ドキュ メントにデコンパイルするステップと、 を含むこと、を特徴とするグラフィカルユーザインターフェース提供方法。 5. ダイナミックエレメントを有するグラフィカルユーザインターフェース を提供する方法であって、 マークアップ言語で書かれた少なくとも1つのテキスト・ドキュメント内に前 記グラフィカルユーザインターフェースのエレメントを定めるステップと、 前記ドキュメント内に、プロトタイプ・タグが識別するストリングを含めるス テップと、 前記マークアップ言語を解釈するプロトタイプ化・クライアントに対し前記テ キスト・ドキュメントをサーブするが、前記プロトタイプ・タグを認識せずまた 表示しないが、前記ストリングを表示するステップと、および 前記テキスト・ドキュメントをコンテンツ・ソースにコンパイルし、前記プロ トタイプ・タグとこれが識別した前記ストリングとを省略するステップと、 から成るグラフィカルユーザインターフェース提供方法。 6. 請求項5記載の方法であって、さらに、 前記ドキュメント内のあるロケーションに、アプリケーション・ソースコード の1つのセグメントを含むコード・タグを含めるステップであって、前記プロト タイプ化クライアントは、前記コード・タグを認識せずまた表示をしない、前記 のステップ、を含み、 前記さらに含むステップは、前記アプリケーション・ソースコード・セグメン トを前記コンテンツ・ソース内に含めるステップ、を含むこと、 を特徴とするグラフィカルユーザインターフェース提供方法。 7. 請求項6記載の方法であって、さらに、 前記コンテンツ・ソースを前記テキスト・ドキュメントのレプリカにデコンパ イルするステップと、 前記レプリカをユーザ・クライアントにサーブするステップと、および 前記レプリカ内の前記ロケーションに遭遇したときに、前記ユーザ・クライア ントに対し、前記アプリケーション・ソースコード・セグメントを実行すること により発生された結果から得た1つの文字ストリームをサーブするステップと、 を含むこと、を特徴とするグラフィカルユーザインターフェース提供方法。 8. 請求項7記載の方法であって、さらに、 前記ドキュメント内に、アプリケーション・ソースコードの1つのセグメント を含む少なくとも1つの更なるコード・タグを含めるステップと、および 前記ドキュメント内に、コード・タグが識別した少なくとも1つの更なるスト リングを含めるステップと、 を含むこと、を特徴とするグラフィカルユーザインターフェース提供方法。 9. ダイナミックエレメントを有するグラフィカルユーザインターフェース を提供する方法であって、 マークアップ言語で書かれた少なくとも1つのテキスト・ドキュメント内に前 記グラフィカルユーザインターフェースのエレメントを定めるステップと、 前記ドキュメント内のあるロケーションに、アプリケーション・ソースコード の1つのセグメントを含むコード・タグを含めるステップと、 前記ドキュメント内に、プロトタイプ・タグが識別するストリングを含めるス テップと、 前記テキスト・ドキュメントをコンテンツ・ソースにコンパイルするステップ と、 前記コンテンツ・ソースを前記テキスト・ドキュメントのレプリカにデコンパ イルするステップと、 前記テキスト・ドキュメントの前記レプリカを、前記マークアップ言語を解釈 するクライアントにサーブするステップと、および 前記レプリカ内の前記ロケーションに遭遇したときに、前記クライアントに対 し、前記アプリケーション・ソースコード・セグメントを実行することにより発 生された結果から得た1つの文字ストリームをサーブするステップと、 から成るグラフィカルユーザインターフェース提供方法。 10. 請求項9記載の方法であって、さらに、 前記ドキュメント内に、アプリケーション・ソースコードの1つのセグメント を含む少なくとも1つの更なるコード・タグを含めるステップと、および 前記ドキュメント内に、コード・タグが識別した少なくとも1つの更なるスト リングを含めるステップと、 を含むこと、を特徴とするグラフィカルユーザインターフェース提供方法。 11. 媒体に記録したソフトウェア製品であって、マークアップ言語のドキュ メントをネイティブ・アプリケーションプログラミング言語のデータ構造にコン パイルできるマークアップ言語コンパイラを含み、該コンパイラは、前記ネイテ ィブ・アプリケーションプログラミング言語のコンパイラによるコンパイルのた めのファイルでセーブされるべきアプリケーション・ソースコードの1つのセグ メントとして、含まれるテキストを指定する1つ以上のコード・タグを認識する こと、を特徴とするソフトウェア製品。 12. データのエントリのため表示されたフォームを有するグラフィカルユー ザインターフェースを提供する方法であって、 マークアップ言語で書かれた少なくとも1つのテキスト・ドキュメント内に前 記グラフィカルユーザインターフェースのエレメントを定めるステップと、 前記ドキュメント内で、ユーザから要求されまたネイティブ・アプリケーショ ンプログラミング言語で書かれたアプリケーションが使用するデータアイテムを ネーミングするステップと、および 前記テキスト・ドキュメントを、前記ネーミングしたデータアイテムに関し前 記ネイティブ・アプリケーションプログラミング言語でのデータ構造定義を含む コンテンツ・ソースにコンパイルするステップと、 から成るグラフィカルユーザインターフェース提供方法。 13. 請求項12記載の方法であって、前記テキスト・ドキュメントは、開発 の間はプロトタイプ・クライアントを使ってビューを行い、使用の間はユーザ・ クライアントを使ってビューを行い、さらに、 前記プロトタイプ・クライアントおよび前記ユーザ・クライアントの両方によ るビューを行うため、前記マークアップ言語で理解されるタグ内の前記データア イテムをネーミングするステップと、および 前記コンテンツ・ソース内に、前記コンテンツ・ソースをサーブするときに前 記データアイテム用のデフォルト値を与える関数の定義を含め、また前記データ アイテムを前記ユーザ・クライアントが返すときにアプリケーション特有の動作 実行する関数の定義を含めるステップと、 を含むこと、を特徴とするグラフィカルユーザインターフェース提供方法。 14. アプリケーション用のグラフィカルユーザインターフェースを開発する ためのコンピュータをベースとする装置において、該装置が、マークアップ言語 で書かれたドキュメントを操作することができるエディタと、前記マークアップ 言語で書かれたドキュメントを表示することができるビューアとを備え、前記装 置がさらに、 ネイティブ・アプリケーション・ソースコード言語のソースコード・フラグメ ントを含むコード・タグを認識するマークアップ言語コンパイラであって、前記 コード・タグは、他の場合には前記マークアップ言語の1部分ではなく、前記コ ンパイラは、前記ソースコード・フラグメントのコピーを含む前記ドキュメント の前記ネイティブ・アプリケーション・ソースコード言語での表現を出力として 発生すること、を特徴とするコンピュータ・ベースの装置。 15. 請求項14記載の装置であって、前記マークアップ言語コンパイラは、 さらに、他の場合では前記マークアップ言語の1部分ではない開始プロトタイプ ・タグと終了プロトタイプ・タグを認識し、前記出力の表現は、前記開始プロト タイプ・タグおよび前記終了プロトタイプ・タグ並びに前記ドキュメント内のそ れらの間に現れる全てのコンテンツを省略すること、を特徴とする装置。 16. アプリケーション用のグラフィカルユーザインターフェースを開発しプ ロトタイプ化する方法であって、 HTMLファイルにアクセスするステップと、 前記HTMLの各部分をカプセル化して、その中にソースコードを入れるステ ップと、 カプセル化した部分をもつ前記HTMLからソース・モジュールを発生するス テップと、 サーバ用のソースコードを発生するステップと、 前記アプリケーションをクロスコンパイルしリンクするステップであって、こ れにより前記ソースコード・モジュールと前記サーバとは実行可能なオブジェク トコードを発生する、前記のステップと、 から成る方法。 17. 請求項16記載の方法であって、さらに、 前記オブジェクトコードを走らせるステップと、 ビューアにより要求されたときに前記のコンパイルしたカプセル化したコード を実行するステップであって、前記カプセル化したコードは前記アプリケーショ ンに関連している、前記のステップと、 を含むこと、を特徴とする方法。 18. 請求項17記載の方法であって、さらに、 前記コンパイルしたカプセル化したコードの実行により返されたデータを、前 記ビューアが表示可能なフォームに変換するステップ、 を含むこと、を特徴とする方法。 19. 請求項18記載の方法であって、さらに、 前記コンパイルしたカプセル化したコードの実行により返された前記データは 、前記アプリケーション内の変化の結果として時間中変化すること、 を特徴とする方法。 20. コンピュータ読み取り可能媒体に固定したデータ構造であって、前記デ ータ構造は、互いに通信するクライアントおよびサーバを含むコンピュータシス テムにおいて使用するためのものであり、前記データ構造が、 前記アプリケーションに関連した実行可能なコード、サーバ・コード、アプリ ケーション・コードを含むカプセル化した各部分をもつ、クロスコンパイルし、 記憶し、リンクしたHTMLファイルであって、前記実行可能なコードは、前記 HTMLファイルをサーブしたときに走らせ、これにより、前記アプリケーショ ンに関連したリアルタイム・ダイナミック・データを提供する、前記のHTML ファイル、 を含むこと、を特徴とするデータ構造。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2337396P | 1996-08-08 | 1996-08-08 | |
US60/023,373 | 1996-08-08 | ||
PCT/US1997/013817 WO1998006033A1 (en) | 1996-08-08 | 1997-08-08 | Embedded web server |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11514769A true JPH11514769A (ja) | 1999-12-14 |
Family
ID=21814714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10508187A Pending JPH11514769A (ja) | 1996-08-08 | 1997-08-08 | 埋め込み形ウェブサーバ |
Country Status (4)
Country | Link |
---|---|
US (1) | US5973696A (ja) |
EP (1) | EP0853788A1 (ja) |
JP (1) | JPH11514769A (ja) |
WO (1) | WO1998006033A1 (ja) |
Families Citing this family (240)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6088515A (en) | 1995-11-13 | 2000-07-11 | Citrix Systems Inc | Method and apparatus for making a hypermedium interactive |
US6437803B1 (en) | 1998-05-29 | 2002-08-20 | Citrix Systems, Inc. | System and method for combining local and remote windows into a single desktop environment |
US6560656B1 (en) * | 1998-02-26 | 2003-05-06 | Sun Microsystems, Inc. | Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system |
US5956487A (en) * | 1996-10-25 | 1999-09-21 | Hewlett-Packard Company | Embedding web access mechanism in an appliance for user interface functions including a web server and web browser |
US6262729B1 (en) * | 1997-04-14 | 2001-07-17 | Apple Computer, Inc. | Method and apparatus for binding user interface objects to application objects |
US6250930B1 (en) * | 1997-05-30 | 2001-06-26 | Picante Communications Corporation | Multi-functional communication and aggregation platform |
US6453334B1 (en) | 1997-06-16 | 2002-09-17 | Streamtheory, Inc. | Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching |
US5987256A (en) * | 1997-09-03 | 1999-11-16 | Enreach Technology, Inc. | System and process for object rendering on thin client platforms |
US6151625A (en) * | 1997-09-10 | 2000-11-21 | Schneider Automation Inc. | Internet web interface including programmable logic controller for controlling output devices based on status of input devices |
US20020152289A1 (en) * | 1997-09-10 | 2002-10-17 | Schneider Automation Inc. | System and method for accessing devices in a factory automation network |
GB2329490B (en) * | 1997-09-19 | 2002-06-05 | Ibm | Remote application design |
US6157936A (en) * | 1997-09-30 | 2000-12-05 | Unisys Corp. | Method for extending the hypertext markup language (HTML) to support a graphical user interface control presentation |
GB9721502D0 (en) * | 1997-10-11 | 1997-12-10 | Int Computers Ltd | Computer system for supporting a website |
US20060193278A1 (en) | 1997-10-15 | 2006-08-31 | Wolfgang Theimer | Mobile telephone for Internet applications |
US6996561B2 (en) * | 1997-12-21 | 2006-02-07 | Brassring, Llc | System and method for interactively entering data into a database |
US5999939A (en) * | 1997-12-21 | 1999-12-07 | Interactive Search, Inc. | System and method for displaying and entering interactively modified stream data into a structured form |
US6317760B1 (en) * | 1998-01-14 | 2001-11-13 | Microsoft Corporation | Extensible ordered information within a web page |
US7949779B2 (en) * | 1998-02-10 | 2011-05-24 | Level 3 Communications, Llc | Controlling subscriber information rates in a content delivery network |
US6185598B1 (en) | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US6810503B1 (en) | 1998-02-11 | 2004-10-26 | Microsoft Corporation | Method and apparatus for controlling the timing of the invocation of events within a computer runtime environment |
US6324685B1 (en) * | 1998-03-18 | 2001-11-27 | Becomm Corporation | Applet server that provides applets in various forms |
US6292185B1 (en) * | 1998-04-27 | 2001-09-18 | C.C.R., Inc. | Method and apparatus for tailoring the appearance of a graphical user interface |
JPH11353189A (ja) * | 1998-04-30 | 1999-12-24 | Fuondotto Comu Japan Kk | 手続き命令言語を使用したタグベ―スの表示言語をインプリメントするための方法及び装置 |
US6615091B1 (en) | 1998-06-26 | 2003-09-02 | Eveready Battery Company, Inc. | Control system and method therefor |
CA2246920A1 (en) * | 1998-09-10 | 2000-03-10 | Ibm Canada Limited - Ibm Canada Limitee | An activemark mechanism for a live parsing editor |
US7191393B1 (en) * | 1998-09-25 | 2007-03-13 | International Business Machines Corporation | Interface for providing different-language versions of markup-language resources |
AU1208800A (en) * | 1998-10-16 | 2000-05-08 | Softbook Press, Inc. | Storage of static data for efficient access and field upgrade |
US6313854B1 (en) * | 1998-10-16 | 2001-11-06 | International Business Machines Corporation | Display mechanism for HTML frames |
US6353853B1 (en) * | 1998-10-26 | 2002-03-05 | Triatek, Inc. | System for management of building automation systems through an HTML client program |
US6326984B1 (en) * | 1998-11-03 | 2001-12-04 | Ati International Srl | Method and apparatus for storing and displaying video image data in a video graphics system |
US7031963B1 (en) * | 1998-11-09 | 2006-04-18 | Unisys Corporation | Green ice printout sorting and delivery program |
GB2350990A (en) * | 1998-11-10 | 2000-12-13 | Ibm | Initializing graphic user interface controls with extensible markup language-formatted data |
CA2255023C (en) * | 1998-11-30 | 2004-04-13 | Siu Chung Yuen | A method and system for monitoring the execution of hybrid source code |
CA2255050C (en) * | 1998-11-30 | 2007-06-19 | Ibm Canada Limited-Ibm Canada Limitee | A method and system for debugging hybrid source code |
US6529936B1 (en) * | 1998-12-23 | 2003-03-04 | Hewlett-Packard Company | Object-oriented web server architecture suitable for various types of devices |
US6928469B1 (en) | 1998-12-29 | 2005-08-09 | Citrix Systems, Inc. | Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques |
US6216158B1 (en) * | 1999-01-25 | 2001-04-10 | 3Com Corporation | System and method using a palm sized computer to control network devices |
US6449634B1 (en) * | 1999-01-29 | 2002-09-10 | Digital Impact, Inc. | Method and system for remotely sensing the file formats processed by an E-mail client |
US6850950B1 (en) * | 1999-02-11 | 2005-02-01 | Pitney Bowes Inc. | Method facilitating data stream parsing for use with electronic commerce |
WO2000049471A1 (en) * | 1999-02-16 | 2000-08-24 | Brandt Powell Hott | Internet wide distributed data control system |
DE60007252T2 (de) | 1999-03-05 | 2004-09-16 | Amulet Technologies, LLC, Campbell | Graphischer benutzerschnittstellentreiber für eingebettete systeme |
US6880129B1 (en) * | 1999-04-29 | 2005-04-12 | Silverstream Software, Llc | Method and apparatus for using name spaces in a graphical user interface |
US7594166B1 (en) * | 1999-05-20 | 2009-09-22 | Microsoft Corporation | Dynamic web page behaviors |
US6401094B1 (en) * | 1999-05-27 | 2002-06-04 | Ma'at | System and method for presenting information in accordance with user preference |
US6901435B1 (en) * | 1999-06-17 | 2005-05-31 | Bmc Software, Inc. | GUI interpretation technology for client/server environment |
US7165243B1 (en) * | 1999-06-25 | 2007-01-16 | Sun Microsystems, Inc. | Multi-lingual tag extension mechanism |
US6356933B2 (en) | 1999-09-07 | 2002-03-12 | Citrix Systems, Inc. | Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language |
US6732330B1 (en) * | 1999-09-30 | 2004-05-04 | International Business Machines Corporation | Scripting language blocks to support multiple scripting languages in a single web page |
US6654796B1 (en) * | 1999-10-07 | 2003-11-25 | Cisco Technology, Inc. | System for managing cluster of network switches using IP address for commander switch and redirecting a managing request via forwarding an HTTP connection to an expansion switch |
US7096417B1 (en) * | 1999-10-22 | 2006-08-22 | International Business Machines Corporation | System, method and computer program product for publishing interactive web content as a statically linked web hierarchy |
US6377868B1 (en) * | 1999-10-28 | 2002-04-23 | Ecolab Inc. | Data processing system for managing chemical product usage |
AU1484201A (en) * | 1999-11-10 | 2001-06-06 | Screamingmedia Inc. | Content engine |
AU1473201A (en) | 1999-11-10 | 2001-06-06 | Global Market Insite, Inc. | Content delivery in a preferred language for a large number of languages |
AU1785101A (en) * | 1999-11-22 | 2001-06-04 | Avenue, A, Inc. | Efficient web server log processing |
US6851088B1 (en) * | 1999-12-07 | 2005-02-01 | International Business Machines Corporation | Conditional highlighting of given cells in a dynamic HTML table |
AU771220B2 (en) * | 1999-12-22 | 2004-03-18 | Canon Kabushiki Kaisha | Structures to represent poorly formed HTML documents |
AUPQ479999A0 (en) * | 1999-12-22 | 2000-02-03 | Canon Kabushiki Kaisha | Structures to represent poorly formed html documents |
KR20020063602A (ko) * | 1999-12-23 | 2002-08-03 | 사이트릭스 시스템스, 인크. | 서버기반형 액티브 문서 제어 |
US7950999B2 (en) * | 2004-09-16 | 2011-05-31 | Bally Gaming, Inc. | User interface system and method for a gaming machine |
US9235955B2 (en) * | 2000-12-22 | 2016-01-12 | Bally Gaming, Inc. | Universal game monitoring unit and system |
US6785679B1 (en) * | 2000-03-29 | 2004-08-31 | Brassring, Llc | Method and apparatus for sending and tracking resume data sent via URL |
US7757168B1 (en) * | 2000-04-07 | 2010-07-13 | Xerox Corporation | Meta-document and method of managing |
US6746371B1 (en) | 2000-04-28 | 2004-06-08 | International Business Machines Corporation | Managing fitness activity across diverse exercise machines utilizing a portable computer system |
US6601016B1 (en) * | 2000-04-28 | 2003-07-29 | International Business Machines Corporation | Monitoring fitness activity across diverse exercise machines utilizing a universally accessible server system |
US6702719B1 (en) | 2000-04-28 | 2004-03-09 | International Business Machines Corporation | Exercise machine |
EP1152330A1 (en) * | 2000-05-04 | 2001-11-07 | Carels Innovative Software, BVBA/SPRL | Process for automatically creating and controlling a set of graphical objects in a client server environment |
US6785726B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for delivering local and remote server events in a similar fashion |
US6785713B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for communicating among a network of servers utilizing a transport mechanism |
US6789112B1 (en) | 2000-05-08 | 2004-09-07 | Citrix Systems, Inc. | Method and apparatus for administering a server having a subsystem in communication with an event channel |
US6654737B1 (en) | 2000-05-23 | 2003-11-25 | Centor Software Corp. | Hypertext-based database architecture |
US7406680B1 (en) * | 2000-06-01 | 2008-07-29 | Siemens Communications, Inc. | Method for adding extensions to the grammar for ASN.1 without modifying the basic compiler and code generator |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
US6948135B1 (en) | 2000-06-21 | 2005-09-20 | Microsoft Corporation | Method and systems of providing information to computer users |
US7624356B1 (en) | 2000-06-21 | 2009-11-24 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US7085938B1 (en) * | 2000-06-27 | 2006-08-01 | General Electric Company | Protective relay with embedded web server |
US6976059B1 (en) | 2000-07-20 | 2005-12-13 | International Business Machines Corporation | System and method to provide applets using a server based virtual machine |
US6826555B2 (en) | 2000-07-24 | 2004-11-30 | Centor Software Corporation | Open format for file storage system indexing, searching and data retrieval |
US6625596B1 (en) * | 2000-07-24 | 2003-09-23 | Centor Software Corporation | Docubase indexing, searching and data retrieval |
US6934740B1 (en) | 2000-09-19 | 2005-08-23 | 3Com Corporation | Method and apparatus for sharing common data objects among multiple applications in a client device |
US6938079B1 (en) | 2000-09-19 | 2005-08-30 | 3Com Corporation | System and method for automatically configuring a client device |
US8108543B2 (en) * | 2000-09-22 | 2012-01-31 | Axeda Corporation | Retrieving data from a server |
US6851087B1 (en) | 2000-10-04 | 2005-02-01 | International Business Machines Corporation | System and method of processing computer form data |
US8678902B2 (en) | 2005-09-07 | 2014-03-25 | Bally Gaming, Inc. | System gaming |
US7801978B1 (en) | 2000-10-18 | 2010-09-21 | Citrix Systems, Inc. | Apparatus, method and computer program product for efficiently pooling connections between clients and servers |
US6968356B1 (en) * | 2000-10-19 | 2005-11-22 | International Business Machines Corporation | Method and apparatus for transferring data between a client and a host across a firewall |
US7346842B1 (en) | 2000-11-02 | 2008-03-18 | Citrix Systems, Inc. | Methods and apparatus for incorporating a partial page on a client |
US7051084B1 (en) | 2000-11-02 | 2006-05-23 | Citrix Systems, Inc. | Methods and apparatus for regenerating and transmitting a partial page |
US8831995B2 (en) | 2000-11-06 | 2014-09-09 | Numecent Holdings, Inc. | Optimized server for streamed applications |
US7062567B2 (en) | 2000-11-06 | 2006-06-13 | Endeavors Technology, Inc. | Intelligent network streaming and execution system for conventionally coded applications |
US20020087883A1 (en) * | 2000-11-06 | 2002-07-04 | Curt Wohlgemuth | Anti-piracy system for remotely served computer applications |
US6766333B1 (en) | 2000-11-08 | 2004-07-20 | Citrix Systems, Inc. | Method and apparatus for synchronizing a user interface element displayed on a client and a software application component executing on a web server |
US7139814B2 (en) * | 2000-12-01 | 2006-11-21 | Intel Corporation | Dynamic content delivery to static page in non-application capable environment |
US6687711B1 (en) | 2000-12-04 | 2004-02-03 | Centor Software Corporation | Keyword and methods for using a keyword |
AU2002233991A1 (en) * | 2000-12-06 | 2002-06-18 | American Express Travel Related Services Company, Inc. | Layout generator system and method |
US7194743B2 (en) | 2000-12-12 | 2007-03-20 | Citrix Systems, Inc. | Methods and apparatus for communicating changes between a user interface and an executing application using property paths |
US7451196B1 (en) | 2000-12-15 | 2008-11-11 | Stream Theory, Inc. | Method and system for executing a software application in a virtual environment |
US6882904B1 (en) | 2000-12-29 | 2005-04-19 | Abb Technology Ag | Communication and control network for distributed power resource units |
JP2004528626A (ja) * | 2001-02-02 | 2004-09-16 | オープンティブイ・インコーポレーテッド | インタラクティブ・テレビジョンのインタープリタ言語のコンパイルの方法および装置 |
GB2372118A (en) * | 2001-02-09 | 2002-08-14 | Amino Holdings Ltd | System commands carried in tags in markup language documents |
SE520181C2 (sv) * | 2001-02-20 | 2003-06-10 | Incordia Ab | Metod vid programkonvertering |
US20020133517A1 (en) * | 2001-03-15 | 2002-09-19 | International Business Machines Corporation | Method and apparatus for processing of internet forms |
JP3475186B2 (ja) * | 2001-03-21 | 2003-12-08 | 株式会社ニチベイ | ブラインド、ブラインド用スラット、その製造方法及びその成形加工機 |
US7174514B2 (en) | 2001-03-28 | 2007-02-06 | Siebel Systems, Inc. | Engine to present a user interface based on a logical structure, such as one for a customer relationship management system, across a web site |
US7136865B1 (en) | 2001-03-28 | 2006-11-14 | Siebel Systems, Inc. | Method and apparatus to build and manage a logical structure using templates |
US7765165B2 (en) | 2001-03-28 | 2010-07-27 | Siebel Systems, Inc. | Engine to present user interface based on a logical structure, such as one for a customer relationship management system |
US7584283B2 (en) * | 2001-03-28 | 2009-09-01 | Siebel Systems, Inc. | Method and apparatus to save and resume a session associated with a logical structure |
FR2823578B1 (fr) * | 2001-04-17 | 2003-05-23 | Schneider Automation | Procede pour visualiser graphiquement une application d'automatisme et terminal informatique pouvant mettre en oeuvre le procede |
US20030177175A1 (en) * | 2001-04-26 | 2003-09-18 | Worley Dale R. | Method and system for display of web pages |
US20020184303A1 (en) * | 2001-05-31 | 2002-12-05 | Virtaul Media, Inc. | Embedded web server capable of managing dynamic content delivery of data stream, audio stream, or video stream |
WO2002101511A2 (en) * | 2001-06-13 | 2002-12-19 | Rivar Technologies, Inc. | System and method for integrated web-based software code environment |
US7292914B2 (en) | 2001-07-10 | 2007-11-06 | Ecolab Inc. | Remote access to chemical dispense system |
US7308501B2 (en) * | 2001-07-12 | 2007-12-11 | International Business Machines Corporation | Method and apparatus for policy-based packet classification using hashing algorithm |
US7774492B2 (en) | 2001-07-26 | 2010-08-10 | Citrix Systems, Inc. | System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side net work connections |
US7505914B2 (en) * | 2001-08-06 | 2009-03-17 | Ecolab Inc. | Method and system for providing advisory information to a field service provider |
US20040249491A1 (en) * | 2001-08-06 | 2004-12-09 | Hott Brandt Powell | Internet wide distributed data control system |
US7054822B2 (en) * | 2001-08-06 | 2006-05-30 | Ecolab, Inc. | Notification of time-critical situations occurring at destination facilities |
US7253818B2 (en) * | 2001-08-07 | 2007-08-07 | Ati Technologies, Inc. | System for testing multiple devices on a single system and method thereof |
US7016418B2 (en) * | 2001-08-07 | 2006-03-21 | Ati Technologies, Inc. | Tiled memory configuration for mapping video data and method thereof |
US6828987B2 (en) * | 2001-08-07 | 2004-12-07 | Ati Technologies, Inc. | Method and apparatus for processing video and graphics data |
US7822871B2 (en) | 2001-09-28 | 2010-10-26 | Level 3 Communications, Llc | Configurable adaptive global traffic control and management |
US7860964B2 (en) | 2001-09-28 | 2010-12-28 | Level 3 Communications, Llc | Policy-based content delivery network selection |
US7373644B2 (en) | 2001-10-02 | 2008-05-13 | Level 3 Communications, Llc | Automated server replication |
US20030079027A1 (en) | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
US20030078963A1 (en) * | 2001-10-24 | 2003-04-24 | Parry Travis J. | Network system and method for automatic posting of digital images |
US7509393B2 (en) * | 2001-12-19 | 2009-03-24 | International Business Machines Corporation | Method and system for caching role-specific fragments |
US20030188021A1 (en) * | 2001-12-19 | 2003-10-02 | International Business Machines Corporation | Method and system for processing multiple fragment requests in a single message |
US7426534B2 (en) | 2001-12-19 | 2008-09-16 | International Business Machines Corporation | Method and system for caching message fragments using an expansion attribute in a fragment link tag |
US7730154B2 (en) * | 2001-12-19 | 2010-06-01 | International Business Machines Corporation | Method and system for fragment linking and fragment caching |
US7143359B2 (en) * | 2002-01-03 | 2006-11-28 | International Business Machines Corporation | Emulating advanced graphical user interface elements in a hypermedia content browser |
US7484007B2 (en) * | 2002-02-01 | 2009-01-27 | Codekko Inc. | System and method for partial data compression and data transfer |
US9167036B2 (en) | 2002-02-14 | 2015-10-20 | Level 3 Communications, Llc | Managed object replication and delivery |
DE50208702D1 (de) * | 2002-03-14 | 2006-12-28 | Siemens Schweiz Ag | Verfahren und Einrichtung zur Generierung einer Bediensicht zu einem Gebäudeleitsystem |
US8135843B2 (en) | 2002-03-22 | 2012-03-13 | Citrix Systems, Inc. | Methods and systems for providing access to an application |
US7761555B1 (en) | 2002-08-06 | 2010-07-20 | Richard Anthony Bishel | Internet/intranet-connected AC electrical box |
US20080313282A1 (en) | 2002-09-10 | 2008-12-18 | Warila Bruce W | User interface, operating system and architecture |
US8529349B2 (en) | 2004-09-16 | 2013-09-10 | Bally Gaming, Inc. | Networked gaming system communication protocols and methods |
US8992326B2 (en) | 2006-09-06 | 2015-03-31 | Bally Gaming, Inc. | Networked gaming system communication protocols and methods |
US9082260B2 (en) | 2004-09-16 | 2015-07-14 | Bally Gaming, Inc. | Networked gaming system communication protocols and methods |
US9117342B2 (en) | 2004-09-16 | 2015-08-25 | Bally Gaming, Inc. | Networked gaming system communication protocols and methods |
US8568237B2 (en) | 2004-09-16 | 2013-10-29 | Bally Gaming, Inc. | Networked gaming system communication protocols and methods |
US9053610B2 (en) | 2002-09-13 | 2015-06-09 | Bally Gaming, Inc. | Networked gaming system communication protocols and methods |
US8535158B2 (en) | 2004-09-16 | 2013-09-17 | Bally Gaming, Inc. | Networked gaming system communication protocols and methods |
US20040143368A1 (en) * | 2003-01-21 | 2004-07-22 | May Robert E. | Operating utility devices in a master-agent network environment |
US20040162850A1 (en) * | 2003-02-19 | 2004-08-19 | Sanville Katherine M. | Managing operations of a product dispense system |
US7275216B2 (en) | 2003-03-24 | 2007-09-25 | Microsoft Corporation | System and method for designing electronic forms and hierarchical schemas |
US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
US7296017B2 (en) | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US20040220817A1 (en) * | 2003-04-29 | 2004-11-04 | Katherine Sanville | Monitoring and controlling processes at a vehicle wash facility |
US20040226959A1 (en) | 2003-05-12 | 2004-11-18 | Mehus Richard J. | Methods of dispensing |
US7201290B2 (en) | 2003-05-12 | 2007-04-10 | Ecolab Inc. | Method and apparatus for mass based dispensing |
US20040230339A1 (en) * | 2003-05-12 | 2004-11-18 | Bryan Maser | Methods of managing based on measurements of actual use of product |
US6892143B2 (en) * | 2003-05-22 | 2005-05-10 | Ecolab Inc. | Controlling chemical dispense operations based on conductivity offset |
US7451392B1 (en) | 2003-06-30 | 2008-11-11 | Microsoft Corporation | Rendering an HTML electronic form by applying XSLT to XML using a solution |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
US7525902B2 (en) * | 2003-09-22 | 2009-04-28 | Anilkumar Dominic | Fault tolerant symmetric multi-computing system |
US20060252602A1 (en) * | 2003-10-14 | 2006-11-09 | Brown Michael W | Program and system for managing fitness activity across diverse exercise machines utilizing a portable computer system |
US7580990B1 (en) * | 2003-10-29 | 2009-08-25 | Cisco Technology, Inc. | Method and system for footprint minimized, HTML/HTTP-based systems for Java-based embedded device management applications |
US7092793B2 (en) * | 2003-10-31 | 2006-08-15 | Ecolab Inc | Method and system for installation and control of a utility device |
US7458019B2 (en) * | 2004-01-20 | 2008-11-25 | International Business Machines Corporation | System and method for creating and rendering client-side user interfaces via custom tags |
US8819072B1 (en) | 2004-02-02 | 2014-08-26 | Microsoft Corporation | Promoting data from structured data files |
US7457869B2 (en) * | 2004-04-06 | 2008-11-25 | Sitewatch Technologies, Llc | System and method for monitoring management |
US7774620B1 (en) | 2004-05-27 | 2010-08-10 | Microsoft Corporation | Executing applications at appropriate trust levels |
US7509584B2 (en) * | 2004-05-28 | 2009-03-24 | Sap Ag | Dynamic ECMAScript class loading |
WO2006000237A1 (en) | 2004-06-23 | 2006-01-05 | Ecolab Inc. | Method for multiple dosage of liquid products, dosing appartus and dosing system |
KR100504441B1 (ko) * | 2004-08-17 | 2005-07-28 | 엔에이치엔(주) | 영구 메일 서비스 제공 방법 및 시스템 |
US7905780B2 (en) * | 2004-09-16 | 2011-03-15 | Bally Gaming International, Inc. | User interface system and method |
US10803694B2 (en) | 2004-09-16 | 2020-10-13 | Sg Gaming, Inc. | Player gaming console, gaming machine, networked gaming system |
US9022866B2 (en) * | 2004-09-16 | 2015-05-05 | Bally Gaming, Inc. | User interface system and system-controlled bonus system |
US7692636B2 (en) | 2004-09-30 | 2010-04-06 | Microsoft Corporation | Systems and methods for handwriting to a screen |
US7240162B2 (en) | 2004-10-22 | 2007-07-03 | Stream Theory, Inc. | System and method for predictive streaming |
US8487879B2 (en) | 2004-10-29 | 2013-07-16 | Microsoft Corporation | Systems and methods for interacting with a computer through handwriting to a screen |
US20060095855A1 (en) * | 2004-11-03 | 2006-05-04 | Britt Clinton D | HMI reconfiguration method and system |
WO2006055445A2 (en) | 2004-11-13 | 2006-05-26 | Stream Theory, Inc. | Hybrid local/remote streaming |
US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
US7721190B2 (en) | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
US7904801B2 (en) | 2004-12-15 | 2011-03-08 | Microsoft Corporation | Recursive sections in electronic forms |
US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
US7725834B2 (en) | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
US7803321B2 (en) | 2005-03-18 | 2010-09-28 | Ecolab Inc. | Formulating chemical solutions based on volumetric and weight based control measurements |
EP1875364A2 (en) | 2005-03-23 | 2008-01-09 | Stream Theory, Inc. | System and method for tracking changes to files in streaming applications |
US8024523B2 (en) | 2007-11-07 | 2011-09-20 | Endeavors Technologies, Inc. | Opportunistic block transmission with time constraints |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
JP2007041702A (ja) * | 2005-08-01 | 2007-02-15 | Ricoh Co Ltd | カプセル化文書構造及びウェブサーバ機能を有する文書の作成方法 |
US8745485B2 (en) * | 2005-08-18 | 2014-06-03 | Oracle International Corporation | Extensible remote tag markup system and method |
US8678901B1 (en) | 2005-09-07 | 2014-03-25 | Bally Gaming | System gaming |
US8840462B2 (en) | 2005-09-07 | 2014-09-23 | Bally Gaming, Inc. | Tournament bonus awards and related methods |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US8261345B2 (en) | 2006-10-23 | 2012-09-04 | Endeavors Technologies, Inc. | Rule-based application access management |
US8645938B2 (en) * | 2006-11-17 | 2014-02-04 | International Business Machines Corporation | System and method for replacing code |
US8499276B2 (en) * | 2006-12-28 | 2013-07-30 | Ca, Inc. | Multi-platform graphical user interface |
US8277745B2 (en) | 2007-05-02 | 2012-10-02 | Ecolab Inc. | Interchangeable load cell assemblies |
US7711786B2 (en) * | 2007-08-06 | 2010-05-04 | Zhu Yunzhou | Systems and methods for preventing spam |
US7925694B2 (en) | 2007-10-19 | 2011-04-12 | Citrix Systems, Inc. | Systems and methods for managing cookies via HTTP content layer |
US8892738B2 (en) | 2007-11-07 | 2014-11-18 | Numecent Holdings, Inc. | Deriving component statistics for a stream enabled application |
US7694589B2 (en) | 2007-12-12 | 2010-04-13 | Ecolab Inc. | Low and empty product detection using load cell and load cell bracket |
CN101984778B (zh) | 2008-01-26 | 2014-08-13 | 思杰系统有限公司 | 用于细粒度策略驱动的cookie代理的系统和方法 |
EP2274684A4 (en) | 2008-04-04 | 2012-12-05 | Level 3 Communications Llc | HANDLING LONG TAIL CONTENT IN A CONTENT DELIVERY NETWORK (CDN) |
US9762692B2 (en) | 2008-04-04 | 2017-09-12 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US10924573B2 (en) | 2008-04-04 | 2021-02-16 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
USRE48951E1 (en) | 2015-08-05 | 2022-03-01 | Ecolab Usa Inc. | Hand hygiene compliance monitoring |
US9102509B2 (en) | 2009-09-25 | 2015-08-11 | Ecolab Inc. | Make-up dispense in a mass based dispensing system |
US9051163B2 (en) | 2009-10-06 | 2015-06-09 | Ecolab Inc. | Automatic calibration of chemical product dispense systems |
US10176270B2 (en) * | 2009-12-24 | 2019-01-08 | International Business Machines Corporation | Performance of template based javascript widgets |
US8511512B2 (en) | 2010-01-07 | 2013-08-20 | Ecolab Usa Inc. | Impact load protection for mass-based product dispensers |
WO2012050832A1 (en) * | 2010-09-28 | 2012-04-19 | Google Inc. | Systems and methods utilizing efficient video compression techniques for providing static image data |
KR20120133508A (ko) * | 2011-05-31 | 2012-12-11 | 주식회사 케이티 | 인앱 서비스 제공 시스템 및 방법 |
US8832563B2 (en) | 2011-07-27 | 2014-09-09 | General Electric Company | Automatic detection of designated controller in a distributed control system using a web client |
US9339691B2 (en) | 2012-01-05 | 2016-05-17 | Icon Health & Fitness, Inc. | System and method for controlling an exercise device |
CN102866402B (zh) | 2012-08-22 | 2014-12-10 | 深圳市福锐达科技有限公司 | 基于wifi的无线式水情探测系统及其方法 |
EP2969058B1 (en) | 2013-03-14 | 2020-05-13 | Icon Health & Fitness, Inc. | Strength training apparatus with flywheel and related methods |
US20220012346A1 (en) * | 2013-09-13 | 2022-01-13 | Vmware, Inc. | Risk assessment for managed client devices |
WO2015100429A1 (en) | 2013-12-26 | 2015-07-02 | Icon Health & Fitness, Inc. | Magnetic resistance mechanism in a cable machine |
US9749202B1 (en) * | 2014-02-13 | 2017-08-29 | Amazon Technologies, Inc. | Remote session preview management |
WO2015138339A1 (en) | 2014-03-10 | 2015-09-17 | Icon Health & Fitness, Inc. | Pressure sensor to quantify work |
US10426989B2 (en) | 2014-06-09 | 2019-10-01 | Icon Health & Fitness, Inc. | Cable system incorporated into a treadmill |
WO2015195965A1 (en) | 2014-06-20 | 2015-12-23 | Icon Health & Fitness, Inc. | Post workout massage device |
JP6378057B2 (ja) * | 2014-11-13 | 2018-08-22 | 株式会社東芝 | 接続制御装置、接続制御方法、接続制御システムおよびコンピュータプログラム |
US10391361B2 (en) | 2015-02-27 | 2019-08-27 | Icon Health & Fitness, Inc. | Simulating real-world terrain on an exercise device |
US9971572B2 (en) | 2015-10-30 | 2018-05-15 | International Business Machines Corporation | GUI-driven symbol management and code generator |
US10493349B2 (en) | 2016-03-18 | 2019-12-03 | Icon Health & Fitness, Inc. | Display on exercise device |
US10625137B2 (en) | 2016-03-18 | 2020-04-21 | Icon Health & Fitness, Inc. | Coordinated displays in an exercise device |
US10272317B2 (en) | 2016-03-18 | 2019-04-30 | Icon Health & Fitness, Inc. | Lighted pace feature in a treadmill |
US10671705B2 (en) | 2016-09-28 | 2020-06-02 | Icon Health & Fitness, Inc. | Customizing recipe recommendations |
US10838699B2 (en) | 2017-01-18 | 2020-11-17 | Oracle International Corporation | Generating data mappings for user interface screens and screen components for an application |
US10733754B2 (en) | 2017-01-18 | 2020-08-04 | Oracle International Corporation | Generating a graphical user interface model from an image |
BR112019018376B1 (pt) | 2017-03-07 | 2024-02-20 | Ecolab Usa Inc | Dispositivo, e, módulo de sinalização de dispensador |
US10963533B2 (en) | 2017-06-13 | 2021-03-30 | Paypal, Inc. | Embedded web page analytic elements |
US10529219B2 (en) | 2017-11-10 | 2020-01-07 | Ecolab Usa Inc. | Hand hygiene compliance monitoring |
US10489126B2 (en) * | 2018-02-12 | 2019-11-26 | Oracle International Corporation | Automated code generation |
WO2020132525A1 (en) | 2018-12-20 | 2020-06-25 | Ecolab Usa Inc. | Adaptive route, bi-directional network communication |
CN110286896B (zh) * | 2019-06-28 | 2023-03-31 | 百度在线网络技术(北京)有限公司 | 可视化编辑方法、装置、设备及存储介质 |
CN110728584B (zh) * | 2019-10-23 | 2023-03-21 | 泰康保险集团股份有限公司 | 信息处理方法及装置、可读存储介质和电子设备 |
US11146534B1 (en) * | 2020-04-07 | 2021-10-12 | Microsoft Technology Licensing, Llc | Implementing a client-side policy on client-side logic |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4319338A (en) * | 1979-12-12 | 1982-03-09 | Allen-Bradley Company | Industrial communications network with mastership determined by need |
US5157595A (en) * | 1985-07-19 | 1992-10-20 | El Paso Technologies, Company | Distributed logic control system and method |
US5072412A (en) * | 1987-03-25 | 1991-12-10 | Xerox Corporation | User interface with multiple workspaces for sharing display system objects |
JP2834122B2 (ja) * | 1987-07-08 | 1998-12-09 | 株式会社日立製作所 | 制御装置 |
US4937777A (en) * | 1987-10-07 | 1990-06-26 | Allen-Bradley Company, Inc. | Programmable controller with multiple task processors |
JPH01160158A (ja) * | 1987-12-17 | 1989-06-23 | Murata Mach Ltd | 遠隔地の機械制御システム |
CA2034878C (en) * | 1990-03-08 | 2002-04-02 | Craig S. Hyatt | Programmable controller communication module |
JP2661316B2 (ja) * | 1990-03-24 | 1997-10-08 | トヨタ自動車株式会社 | 複数のプログラマブルコントローラ間の並列運転による制御装置 |
US5122948A (en) * | 1990-06-28 | 1992-06-16 | Allen-Bradley Company, Inc. | Remote terminal industrial control communication system |
US5321829A (en) * | 1990-07-20 | 1994-06-14 | Icom, Inc. | Graphical interfaces for monitoring ladder logic programs |
EP0553285B1 (en) * | 1990-10-16 | 2000-03-01 | Consilium, Inc. | Object-oriented architecture for factory floor management |
JPH06266727A (ja) * | 1990-10-24 | 1994-09-22 | Osaka Gas Co Ltd | 診断表示方法及び表示装置 |
US5225974A (en) * | 1990-10-30 | 1993-07-06 | Allen-Bradley Company, Inc. | Programmable controller processor with an intelligent functional module interface |
US5297257A (en) * | 1991-04-15 | 1994-03-22 | Allen-Bradley Company, Inc. | Distributing a real-time control program to a plurality of input/output nodes |
US5613115A (en) * | 1991-12-09 | 1997-03-18 | Total Control Products, Inc. | Method for using PLC programming information to generate secondary functions such as diagnostics and operator interface |
US5623652A (en) * | 1994-07-25 | 1997-04-22 | Apple Computer, Inc. | Method and apparatus for searching for information in a network and for controlling the display of searchable information on display devices in the network |
US5598536A (en) * | 1994-08-09 | 1997-01-28 | Shiva Corporation | Apparatus and method for providing remote users with the same unique IP address upon each network access |
US5572643A (en) * | 1995-10-19 | 1996-11-05 | Judson; David H. | Web browser with dynamic display of information objects during linking |
US5625781A (en) * | 1995-10-31 | 1997-04-29 | International Business Machines Corporation | Itinerary list for interfaces |
US5768593A (en) * | 1996-03-22 | 1998-06-16 | Connectix Corporation | Dynamic cross-compilation system and method |
US5745908A (en) * | 1996-03-29 | 1998-04-28 | Systems Focus International | Method for converting a word processing file containing markup language tags and conventional computer code |
US5805442A (en) * | 1996-05-30 | 1998-09-08 | Control Technology Corporation | Distributed interface architecture for programmable industrial control systems |
-
1997
- 1997-08-08 JP JP10508187A patent/JPH11514769A/ja active Pending
- 1997-08-08 US US08/907,770 patent/US5973696A/en not_active Expired - Lifetime
- 1997-08-08 EP EP97938142A patent/EP0853788A1/en not_active Withdrawn
- 1997-08-08 WO PCT/US1997/013817 patent/WO1998006033A1/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
EP0853788A1 (en) | 1998-07-22 |
US5973696A (en) | 1999-10-26 |
WO1998006033A1 (en) | 1998-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5973696A (en) | Embedded web server | |
US6456308B1 (en) | Embedded web server | |
US7120897B2 (en) | User control objects for providing server-side code generation from a user-defined dynamic web page content file | |
US6678867B2 (en) | Method and apparatus for providing a graphical user interface for creating and editing a mapping of a first structural description to a second structural description | |
US7873668B2 (en) | Application data binding | |
JP4625198B2 (ja) | 動的ウェブページコンテンツファイルからのサーバ側コード生成 | |
US5793966A (en) | Computer system and computer-implemented process for creation and maintenance of online services | |
EP1156427B1 (en) | Postback input handling by server-side control objects | |
CA2438176C (en) | Xml-based multi-format business services design pattern | |
US6009436A (en) | Method and apparatus for mapping structured information to different structured information | |
US8447806B2 (en) | Method and apparatus for updating and synchronizing information between a client and a server | |
US6519617B1 (en) | Automated creation of an XML dialect and dynamic generation of a corresponding DTD | |
US7168034B2 (en) | Method for promoting contextual information to display pages containing hyperlinks | |
US7194683B2 (en) | Representing and managing dynamic data content for web documents | |
US20030025732A1 (en) | Method and apparatus for providing customizable graphical user interface and screen layout | |
WO2003058448A1 (en) | Web-based system and method | |
Cabeza et al. | Distributed WWW programming using (Ciao-) Prolog and the PiLLoW library | |
EP1283996A2 (en) | Method and system for reusing internet-based applications | |
JPH11507148A (ja) | コンピュータ・ファイルの遠隔編集用コンピュータ・システムおよびコンピュータによる実行処理 | |
US7107279B2 (en) | Rapid development in a distributed application environment | |
Cabeza et al. | WWW programming using computational logic systems (and the PiLLoW/CIAO library) | |
WO2001048630A2 (en) | Client-server data communication system and method for data transfer between a server and different clients | |
Libes | Writing CGI scripts in Tcl. |