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
Application number
JP10508187A
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 JPH11514769A publication Critical patent/JPH11514769A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31186TCP-IP internet protocol
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34038Web, 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つの命令シーケンスを実行した結 果から得た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 ファイル、 を含むこと、を特徴とするデータ構造。
JP10508187A 1996-08-08 1997-08-08 埋め込み形ウェブサーバ Pending JPH11514769A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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.