JP2004530173A - マークアップ言語ドキュメントを処理するフレームワークを提供する方法およびシステム - Google Patents

マークアップ言語ドキュメントを処理するフレームワークを提供する方法およびシステム Download PDF

Info

Publication number
JP2004530173A
JP2004530173A JP2002506464A JP2002506464A JP2004530173A JP 2004530173 A JP2004530173 A JP 2004530173A JP 2002506464 A JP2002506464 A JP 2002506464A JP 2002506464 A JP2002506464 A JP 2002506464A JP 2004530173 A JP2004530173 A JP 2004530173A
Authority
JP
Japan
Prior art keywords
command
file
markup language
data
set includes
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
JP2002506464A
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 JP2004530173A publication Critical patent/JP2004530173A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本発明は、1または2以上の部分を有するマークアップ言語ファイルを処理するシステムおよび方法に向けられている。詳細には、システムは、ハイパー・テキスト・トランスファー・プロトコルを用いて、第一のマークアップ言語ファイルをダウンロードし、第一のマークアップ言語ファイルを、そのユニフォーム・リゾース・ロケーションあるいはユーザーが作動させているシステム上のローカル・ファイルの名前によって、参照する。第一のマークアップ言語ファイルは、第一のマークアップ言語ファイルの1または2以上の部分のために、パースされる。第一のマークアップ言語ファイルの各部分は、フォルダー、サブ・フォルダーおよびファイルを含み、第一のマークアップ言語ファイルの構造に従うディレクトリ構造中に保存される。

Description

【0001】
【関連する発明についての情報】
本件出願は、2001年6月15日に、「ウェブ・ベース・コラボレイティブ・データ収集システム」という発明の名称で出願され、単独発明者として、ジェフ・デイビソンの名が挙げられたアメリカ特許出願の一部継続出願であり、2000年6月26日に、「XMLエネーブル・エージェント」という発明の名称で出願され、単独発明者として、ジェフ・デイビソンの名が挙げられたアメリカ仮特許出願60/214,067の優先権を主張するものである。このアメリカ仮特許出願は、引用によって、全体として、本発明に組み込まれ、本明細書において、「XMLエージェント仮出願」と呼ばれる。また、本件出願は、2000年9月26日に、「エミリーXMLポータル」という発明の名称で出願され、単独発明者として、ジェフ・デイビソンの名が挙げられたアメリカ仮特許出願60/235,458の優先権を主張するものであり、このアメリカ仮特許出願は、引用によって、全体として、本発明に組み込まれ、本明細書において、「XMLポータル仮出願」と呼ばれる。
【0002】
【発明の背景】
本発明は、コンピュータシステムに関するものであり、とくに、サーバーからデータを集め、クライアント上で、そのデータを記憶し、処理するシステムに関するものである。
【0003】
現代社会においては、インターネットおよびワールド・ワイド・ウェブの進歩にともなって、今や、多くのビジネスが、オンライン上で、処理されている。これらのビジネスは、企業間取引き(「B2B」)・オンライン処理において、他のビジネスをかかわっている。B2Bは、異なる独立した企業間における多様な情報交換をいう。たとえば、B2Bは、ある病院から、他の病院への患者の記録を転送する場合や、価格データを、販売システムのある独立した販売代理店に転送する場合を含み得る。B2Bはまた、異なる銀行間の財務記録などのデリケートな情報を転送することも含んでいる。
【0004】
B2Bという語は、しばしば、どうにでも解釈できるように用いられる。たとえば、B2Bを、企業の内部業務と関連させて、理解することは適当でない。企業内部における内部的なワークフローは、B2Bシステムに類似しているが、企業内部においては、アドミニストレーターは、ポリシーおよびプロトコルを決定することができるので、同一組織内の処理は容易に管理することができる。これに対して、B2Bシステムは、どのように、処理がおこなわれるべきかを指示する「ボス」を有していない。
【0005】
また、B2Bは、企業と一般消費者との間の取引き(B2C)とは、明瞭に異なっている。B2Bと、B2Cとは、共通の側面を共有しているが、B2Bは、主として、禁止可能性および競合性によって、動機付けられているのに対して、B2Cは、魅力的で、かつ、大衆向けの訴えのような側面を有している。B2Bは、高い程度の標準化を要求するが、B2Cには、そのような要求はない。
【0006】
B2Bに関連する問題点は、企業による商品の電子的購入によって、明らかに例証されている。B2Bのこの「e−コマース」モデルは、一般的に、B2Bに関連する数多くの問題点と落とし穴を包含している。e−コマースのシナリオにおいては、企業(買い手)は、他の企業(供給元)から、アイテムを購入する。e−コマース取引きを完了するために必要な情報交換には、電子的な商品カタログの交換、購入注文の生成および商品配達の確認が含まれる。
【0007】
大企業が、頻繁に、かつ、定期的に、商品の購入を望んでいる例示的な場合について考えると、商品は、ほぼ等価な多様な売り手から供給される。商品は、主として、各供給元の価格および供給スケジュールによって、区別される。問題を複雑化するため、供給元の数が多く、商品の価格と供給回数が絶えず変化するものとする。
【0008】
この状況は、州政府のエージェンシーや連邦政府のエージェンシー、などの多くの現実に存在する世界的な組織や、競合的な購入プラクティスを用いる企業によって、実証されている。過去においては、この種の購入のためには、売り手のカタログを組み合わせるという骨の折れる作業が必要であった。このようなシステムでは、努力をしてさえも、しばしば、最良の価格と供給を逃し、販売が中止された商品や売り切れた商品に出くわすことになる。売り主と商品のリストを、アップ・トゥ・デートなものに維持することは困難である。
【0009】
B2B−eコマースにおいては、機械読み取り可能な電子的商品カタログを用いることによって、これらの欠陥の修正が図られる。これらの電子的カタログは、リアルタイムに、情報を、eコマース購入プログラムに提供する。これにより、部品番号、商品記述および価格などの情報が、利用可能になり、供給者により、自動的にアップ・トゥ・デートされるのとになる。
【0010】
購入注文および商品カタログのフォーマットは、B2Mシステムの潜在的なトラブル・スポットである。ほとんどの場合、購入者は、供給元に、その供給元の電子的商品カタログを、購入者のクライアント・ソフトウエアによって使用可能なフォーマットで提供することを要求する。クライアント・プログラムは、種々の供給元の間における価格、納品および他のパラメータを比較するように構成されているのが通常であるので、このことは、2以上の供給元が存在する場合に、重要なことになる。購入者は、また、購入者のクライアント・プログラムによって生成された購入注文を、供給者が認識し、正しく所有することを要求するであろう。したがって、B2B−eコマースシステムを実行する上で、優先的に解決すべき問題は、商品カタログと購入注文の互換性の問題である。ことに、異種の独立した多くの組織の間で、フォーマットおよびプロトコルについてのコンセンサスを得ることが、問題である。
【0011】
B2Bプロセスに対し、参加組織の内部業務に根本的な影響を与える標準カタログや標準購入注文などのスタンダードを強いるということは実現不可能である。B2B−eコマースシステムは、企業の個々のポリシーに、安価に重ね合わすことが可能な場合に限って、動作可能である。組織の内部業務に、ドラスティックな変化を生じさせようとするB2Bシステムは、いずれも、参加者が、注意深く作られた内部システムを、「競合的なエッジ」の一部と見るという単純な理由によって、受け入れられないという大きな危険を冒すことになる。さらに、購入者は、eコマースの採用を望む場合にも、供給元は、指示をするアドミニストレーターが不在で、eコマースのコストが見合うまで、eコマースの採用に抵抗するということもあるであろう。
【0012】
【発明の要約】
本発明は、ウェブ・ベース・サーバからデータを集めて、ウェブ・ベース・クライアントに送信し、ウェブ・ベース・クライアント上で、そのデータを記憶するシステムに向けられたものである。
【0013】
本発明の好ましい実施態様においては、イネーブラー・エージェントが、データマッピング機能を用いて、データを、第1のデータモデルから第2のデータモデルに変換するように構成されている。
【0014】
本発明の別の実施態様においては、イネーブラー・エージェントが、データ・リクエスト内に含まれたソース特定情報を参照することによって、適用すべきデータマッピング機能を決定するように構成されている。
【0015】
本発明の別の実施態様においては、イネーブラー・エージェントが、データを、構造化データフォーマットから、マークアップ言語フォーマットに変換するように構成されている。
【0016】
本発明の別の実施態様においては、イネーブラー・エージェントが、完全に、ウェブからの管理が可能に構成されている。
【0017】
本発明の別の実施態様においては、データ・コレクタが、URLのリストをポーリングして、前記URLによって指示されたデータサーバから、アップ・トゥ・デートされたデータを得るように構成されている。
【0018】
本発明の別の実施態様においては、データ・コレクタが、データサーバ上に記憶されているあらかじめ定義されたクエリーを用いて、前記データサーバ上に記憶されたデータにアクセスするように構成されている。
【0019】
本発明の別の実施態様においては、データ・コレクタが、完全に、ウェブからの管理が可能に構成されている。
【0020】
本発明の別の実施態様においては、データ・コレクタが、データを、マークアップ言語フォーマットから、構造化データフォーマットに変換するように構成されている。
【0021】
本発明の別の実施態様においては、データ・コレクタが、第2のイネーブラー・エージェントを用いて、データ・コレクタに関連するデータベースにアクセス可能なモジュール・コンポーネントによって構成されている。
【0022】
【好ましい実施態様についての詳細な説明】
好ましい実施態様につき、説明を加えるのに先立って、XML(Extensible Markup Language)と呼ばれるエマージェンシー・スタンダードの簡単なバックグラウンドに触れておくことが有用である。XMLは、ウェブ・ページが書き込まれる言語であるHTML(Hypertext Markup Language)と類似したものである。しかしながら、XMLは、どのようにタグを命名するかという点、および、どのようにデータ・コンテンツを構成することができるかという点で、HTMLよりもよりフレキシブルである。HTMLのように、XMLは、HTTP(Hypertext Transport Protocol)を用いて、ウェブサイトから得ることができる。XMLは、(人間によっては、やや読み取りやすくないが、)プログラムによって、より読み取りやすいという点で、HTMLに対して、小さな利点を有している。XMLは、主として、ウェブからデータを引き出すプログラムの構成を簡易化することができるため、ホットな話題となっている。また、XMLは、B2Bシステムの構築する際の手助けとなる数少ないスタンダードの1つである。
【0023】
e−コマース購入システムを実行するために、コミューニケーション・プロトコルとして、HTMLを用い、基礎データフォーマットとして、XMLを用いる簡易なサーバー・クライアント・アーキテクチャを構築することができる。かかるシステムの2つの基本的なコンポーネントは、XMLサーバーとXMLクライアントである。
【0024】
XMLサーバーは、供給元側に置かれ、購入者側のXMLクライアントプログラムが、機械読み取り可能な商品カタログを、リアルタイムに、取り込むことを許容する。サーバー・プログラムは、商品を、潜在的な購入者に「宣伝」する。サーバーはまた、商品のオンライン購入を可能にするコンポーネントを有していてもよい。
【0025】
XMLクライアントコンポーネントは、購入者側に置かれ、種々のXMLサーバーから、ネットワーク上で、商品カタログを取り込む。クライアント・プログラムのジョブは、供給者のリストをスキャンし、宣伝された最も有利な価格と供給オプションを決定する。クライアントはまた、電子的購入注文を、供給者に送付することによって、実際に、商品の購入をおこなうように、構成することもできる。
【0026】
これらの2つのコンポーネントは、B2B−eコマース・モデルのビルディングブロックを形成する。XMLサーバーは、XMLクライアントによって読み取られる商品カタログを提供する。XMLサーバー・プログラムは、HTMLドキュメントより、むしろ、XMLドキュメントを提供するHTMLサーバーである。XMLクライアント・プログラムは、ウェブ・ブラウザがHTMLを読み取るのと同様にして、XMLデータを読み取るプログラムであるが、特別の図的表現方式を備えている。
【0027】
XMLサーバとクライアントの関係を示す図面が、図1に示されている。供給者側のXMLサーバー110は、その企業の商品を記述した電子的商品カタログ情報を提供するサーバー・データベース112と、購入者に送信するために、このデータを処理するイネーブラー・エージェント102を備えている。購入者側のXMLクライアント・サーバー120上のデータ・コレクタ122は、この情報を受け取り、クライアント・データベース122に記憶させる。この情報が受け取られると、購入者側のクライアント120上の購入注文プログラムなどのデータベース・ツール130が、購入注文を供給者側の注文プロセッサ(図示せず)に送るなどの種々の機能のために、このデータにアクセスすることができる。
【0028】
図1においては、1つのXMLサーバーおよび1つのXMLクライアントだけが図示されているが、各XMLクライアント・プログラムは、多数のXMLサーバー・リレーションシップを有していてもよく、各XMLサーバーは、多数のXMLクライアント・リレーションシップを有していてもよい。購入者の数が供給者の数より少ない場合には、おそらくは、各サーバーのXMLクライアントの数は、数百に達し、各クライアントのXMLサーバーの数は、数千に達するであろう。
【0029】
本発明の実施態様にかかるウェブ・ベース・データ通信システムは、2つの基本的な機能ユニットを有している。第1の機能ユニットは、上述したXMLサーバー110などのサーバー側に設けられたイネーブラー・エージェント102である。第2の機能ユニットは、上述したXMLクライアント120などのクライアント側に設けられたデータ・コレクタ104である。イネーブラー・エージェント102は、サーバー・データベース112と協力して、サーバー・データベースから、標準的な機種依存フォーマットのデータを提供するように動作する。データ・コレクタ104は、クライアント・データベース122と協力して、標準的な機種依存フォーマットのデータを受け取り、クライアント・データベース122に記憶させるように動作する。データ通信システムは、一対一の環境、一対多数の環境、多数対一の環境、あるいは多数対多数の環境のいずれかの環境で、動作する。各サーバーは、データを、1または2以上のクライアントに送信する。各クライアントは、1または2以上のサーバーからデータを受け取る。
【0030】
議論を簡易化し、明確なものとするため、上述のように、B2B−eコマース・モデルのデータ収集システムのインプリメンテーションに焦点を当てて、説明を加えることとする。しかしながら、データの通信は、eコマースに限定されるものではない。このシステムは、独立したエンティティ間で、情報を伝達する必要がある他の数多くの状況をカバーするように、一般化することができる。たとえば、かかるシステムが、病院という環境で、どのように動作するかを考えられたい。
【0031】
病院は、その組織内のデータベースにアクセス可能な種々のイネーブラー・エージェントを有している。特殊な作業グループに、それに適合した種々のクライアントが設けられる。以下のシステムが実施されるであろう。
【0032】
患者サーバー。イネーブラー・エージェントは、ドクターに対し、患者の現在の健康状態を示す患者記録を提供する。一般に、イネーブラー・エージェントは、患者の状態についての情報を必要としている病院クライアント・プログラムに、データを提供する。
【0033】
ドクター・クライアント。ドクター・ポータル・ソフトウエアは、ドクターが、新たな検査と投薬のための注文を出すことを可能にする。この注文は商品の購入注文と類似しているが、この注文は、供給者側の出荷部門によるアクションではなく、病院の看護婦と技術者によるアクションを開始させる。
【0034】
アドミニストレータークライアント。病院管理ポータルは、患者の保険用紙(ドクターによって指示された検査および投薬を含む)を、保険会社に提出されることを可能にする。
【0035】
保険会社サーバー。病院および患者が使用する種々の保険会社の各々において、イネーブラー・エージェントは、病院に、保険情報を提供して、アドミニストレータークライアントの使用に供する。これにより、アドミニストレーターは、保険データを精査して、オンラインで、保険請求を提出することが可能になる。
【0036】
商品ではなく、患者に関する特別のデータカタログが用いられるという点と、システムによって、生成される注文のタイプが、購入ではなく、医療検査と処方箋に関するものである点だけが、B2Bモデルに対する大きな変更点である。その他の点では、システムは、上述したB2B−eコマース・システムと同様に動作する。
イネーブラー・エージェント
図1を参照すると、データ収集システムの第1のコンポーネントは、イネーブラー・エージェント102である。イネーブラー・エージェント102は、サーバー110上で、作動し、データ供給者によって、制御される。イネーブラー・エージェント102は、サーバー・データベース112と協同して、動作するウェブ・ベースのアプリケーションである。サーバー・データベース112は、データを、特定のデータ保存フォーマットで保存する。代表的なデータ保存フォーマットには、SQL、可変フォーマットの単層ファイル、CORBAデータベース、XMLドキュメントおよびHTMLドキュメントがある。特定のデータ保存フォーマットで保存されるとともに、データは、特定のデータモデルにしたがって、保存される。データモデルの詳細は、データ供給者の必要性と希望に応じて、決定され、本発明において、不可欠のものではない。
【0037】
図2Aおよび図2Bは、特定のデータ供給者、この場合には、自転車の供給者が、自転車のパーツを記述したデータのモデルを、どのように作るかを示した例である。データ・モデルには、商品テーブル210と、パーツ・テーブル220とが含まれている。商品テーブル210内に含まれているデータには、自転車製造業者が販売する完全に組み立てられたすべての商品のリストが含まれている。商品テーブル210には、一連の商品レコード211が含まれており、自転車製造業者が販売する個々の商品についてのデータが保存される。商品テーブル210は、テーブル中のレコードをそれぞれ、ただ一つに特定する商品キー・フィールド212を含んでいる。商品キー・フィールド212は、商品テーブル210を、サーバー・データベース内の他のテーブルに、内部的に関連づけるために用いられる。商品テーブル210はまた、モデル番号・フィールド214、ディスクリプション・フィールド216およびプライス・フィールド218を有しており、商品テーブル210内の各商品レコードを記述する種々のデータ・アイテムを含んでいる。
【0038】
パーツ・テーブル220内に含まれるデータには、自転車製造業者が販売するすべてのパーツのリストが含まれている。パーツ・テーブル220には、一連のパーツ・レコード221が含まれており、自転車製造業者が販売する個々のパーツについてのデータが保存される。パーツ・テーブル220は、パーツ・テーブル220中のレコードをそれぞれ、ただ一つに特定するパーツ・キー・フィールド222を含んでいる。パーツ・キー・フィールド222は、パーツ・テーブル220を、サーバー・データベース内の他のテーブルに、内部的に関連づけるために用いられる。パーツ・キー・フィールド222はまた、商品テーブル210の商品キーフィールド212を参照するフォーリン・キー・フィールド224を含んでいる。このフィールドは、パーツ・テーブル220内の各パーツ・レコード221を、商品テーブル210内の商品レコード211にリンクさせる。パーツ・テーブル220の残りの部分は、パーツ番号・フィールド226、パーツ・ディスクリプション・フィールド228およびプライス・フィールド229を有しており、それぞれ、パーツ・テーブル220内の各パーツ・レコード221を記述するデータを含んでいる。
【0039】
図1に戻って、イネーブラー・エージェント102は、ユーザーからのデータ・リクエストに応答して、サーバー・データベース112から、データを検索する。ユーザーは、人間でも、人間によって制御されるコンピュータ・プロセスであっても、また、自動化されたコンピュータ・プロセスであってもよい。好ましい実施態様においては、ユーザーは、クライアント120側に設けられたデータ・コレクタ104である。
【0040】
リクエストは、検索すべきデータを特定する情報を含んでいる。リクエストは、種々の方法で、伝達することができる。好ましい実施態様においては、リクエストは、データ・コレクタ104から伝達されるURLである。他の実施態様においては、リクエストは、電子メール・メッセージである。さらに他の実施態様においては、リクエストは、データ・コレクタ104によって、あるいは、他のコンピュータ・プロセスによって、伝達されるアプリケーションに特化したメッセージである。
【0041】
好ましい実施態様においては、リクエストは、あらかじめ生成されたデータベース・クエリーを特定する情報を含んでおり、クエリーはサーバー110に記憶されている。代表的なリクエストは、以下のフォームと取ったURLである。
http://(hostspec)/mle‐cgi/xml?(queryname)
このURLにおいて、(hostspec)は、そのリクエストが向けられる特定のサーバーを特定する値である。代表的な(hostspec)の値は、wwww.supplier.com.である。(hostspec)と(queryname)の間のURLの部分は、あらかじめ生成されたデータベース・クエリーが記憶されているサーバーの特定のロケーションを特定する情報である。この情報は、たとえば、あらかじめ生成されたクエリーを含むファイルあるいはディレクトリーを示すものである。
【0042】
このURLにおいて、(queryname)は、そのリクエストが呼び出そうとしている特定のデータベース・クエリーを、ただ一つに特定する値である。この(queryname)の値は、サーバー上のクエリーにマップされた任意の識別子あるいはキーワードである。代表的なマッピング・スキームは、各クエリーを別のファイルに保存し、URLの(queryname)セクションに保存されたファイルの名前を提供して、URL中のクエリーを参照する。たとえば、上述した自転車の製造業者データモデルは、価格によって分類されたパーツ・テーブルの全体を検索する“PartsByPrice”という名前のクエリーと、自転車に使用されているパーツに対応するパーツ・テーブル内のすべてのレコードを検索する“BicyclePats”という名前のクエリーを有している。
【0043】
本実施態様においては、アドミニストレーターは、一組のデータベース・クエリーをあらかじめ生成し、サーバー上に記憶する。アドミニストレーターは、種々の方法を用いて、これらのクエリーを生成する。アドミニストレーターは、マニュアルで、クエリーを書くこともできる。アドミニストレーターはまた、クエリー・デザイン・ツールを用いて、高レベルモデルから、クエリー言語で、クエリーを生成することもできる。クエリー・デザイン・ツールは、サーバー・データベースを生成するために使用される特定のサーバー・データベース・ソフトウエアに対応付けられたコンポーネントであってもよく、また、サード・パーティーあるいはスタンドアロン型のパッケージであってもよい。好ましい実施態様においては、アドミニストレーターは、イネーブラー・エージェント・ソフトウエアを伴ったウエブ・ベース・エディターを用いて、クエリーを生成する。
【0044】
一旦、クエリーが生成されると、クエリーはサーバー上に保存される。好ましい実施態様においては、クエリーは、サーバー上の別個のファイル内に保存される。これによって、イネーブラー・エージェントに、上述したように、クエリーに対応付けられたキーボードを含むURLが提供されているときに、イネーブラー・エージェントが、適当なクエリーを、速やかに、かつ、容易に捜し出すことを可能にする。クエリーはまた、他のフォーマットで、保存することもできる。たとえば、単一ファイルが、関連するクエリーのライブラリを含んでいてもよい。この例では、イネーブラー・エージェントは、ライブラリ・ファイルをパースして、リクエストにおいて指定された特定のクエリーを捜し出す。
【0045】
図3に示されるように、あらかじめ定義されたクエリーに応答して、データ・コレクターに、データを提供する方法は、URLを生成するデータ・リクエスターとともに、ステップ305を開始する。リクエスター側のマシン上のHTTPサーバーは、ステップ310において、ネットワークを通じて、URLを、供給者のサーバーに送る。供給者側のHTTPサーバーは、URLに含まれている情報に基づいて、URLが、イネーブラー・エージェントに対するリクエストであると決定し、ステップ315において、URLが、イネーブラー・エージェントに送られる。この送信は、URLを、サーバー・プラットフォーム上の特定のディスクファイルおよびディレクトリーにマップするHTTPのファンクションである。たとえば、アパッチHTTPサーバーは、アパッチ・コンフィギュレーション・ファイル内の“Alias” ディレクトリーを用いる。イネーブラー・エージェントは、ステップ320において、URLをパースし、クエリー識別子を抽出する。ステップ325において、イネーブラー・エージェントは、このクエリー識別子を用いて、クエリー識別子と関連付けられたクエリーを捜し出す。クエリーは、供給元側のサーバー上に保存されている。ステップ330において、イネーブラー・エージェントは、上述したクエリー識別子を用いて、データベースに問い合わせをする。サーバー・データベースは、ステップ335において、クエリーのコンテンツに基づいて、演算結果のセットを生成する。演算結果のセットは、クエリーのパラメターに対応するサーバー・データベースの種々のテーブルからの複数のロウからなっている。演算結果のセットは、ステップ340において、サーバー・データベースから、イネーブラー・エージェントに送り返される。この段階では、演算結果のセットは、まだ、サーバー・データベースによって用いられた構造化データ保存フォーマットによって、表わされている。イネーブラー・エージェントは、ステップ345において、構造化データ保存フォーマット化されたデータを、マークアップ言語データに変換し、マークアップ言語フォーマット化されたドキュメントを生成する。イネーブラー・エージェントは、次いで、ステップ350において、このドキュメントを、供給元サイトにあるHTTPサーバーに送る。最後に、供給元のHTTPサーバーが、ステップ355において、マークアップ言語ドキュメントを、リクエスターに発送する。
【0046】
他の好ましい実施態様においては、リクエストは、リクエストの時点で、生成されたデータベース・クエリーを有している。本実施態様にかかる代表的なリクエストは、以下のURLである。
http://(hostspec)/mle−cgi/xml?post
このURLにおいて、(hostspec)は、上述のように定義されている。このURLは、HTTP POSTコマンドを用いて、リクエストをHTTPサーバーに送る1つの方法である。これによって、HTML・インプット・ディレクティブを用いて、HTMLドキュメントに含まれた引き数(アーギュメント)を、イネーブラー・エージェントに送ることが可能になる。インプット・ディレクティブは、HTMLの標準コンポーネントであり、入力を、種々のフォームで、HTTPサーバーに送ることを可能にする。本実施態様においては、インプット・コマンドは、SQLクエリー、あるいは、XMLドキュメントに変換されるべきデータに対するリクエストを直接に指定するその他の方法を含んでいる。他の実施態様においては、引き数(アーギュメント)は、それらを、第二のURLの一部に組み込むことによって、イネーブラー・エージェントに送られる。第二のURLの例としては、次のものが挙げられる。
http://(hostspec)/mle−cgi/xml?post?(sqlstatement).
サーバーは、この付加的な情報を用いて、クエリーが適切に実行され、リクエストをしているユーザーが、サーバー・データベースにアクセスができるように、保証する。この情報が提供されないときは、リクエストは、イネーブラー・エージェントのアドミニストレーターによって構成されたデフォルト値を用いて、処理される。アドミニストレーターは、以下に説明を加えるウェブ・ベースのインターフェイスを用いて、イネーブラー・エージェントを構成することができ、あるいは、アドミニストレーターは、マニュアルで、コンフィギュレーション・ファイルを編集するようにしてもよい。
【0047】
図4を参照すると、ステップ605において、ユーザーによって生成されたクエリーに応答して、データを検索する方法が開始されるとともに、データ・リクエスターによって、クエリーが組み立てられる。次いで、ステップ610において、クエリーは、HTTP「ポスト」コマンドを供給者側のHTTPサーバーに送信することによって、サーバーに提出される。「ポスト」コマンドは、クエリーと、ユーザー名やパスワードなどのクエリーを処理するために必要な付加的なパラメータを含んでいる。ステップ615において、供給者側のHTTPサーバーは、URLをパースし、「ポスト」コマンドを、イネーブラー・エージェントに送る。イネーブラー・エージェントは、入力されたURLから、クエリーを抽出するCGIスクリプトを実行し、ステップ620において、クエリーを、供給者側のデータベースに送る。ステップ625において、サーバー・データベースは、クエリーのコンテンツに基づいて、演算結果のセットを生成する。この演算結果のセットは、クエリーのパラメターに対応するサーバー・データベースの種々のテーブルからの複数のロウからなっている。
【0048】
演算結果のセットは、ステップ630において、サーバー・データベースから、イネーブラー・エージェントに送り返される。この段階では、演算結果のセットは、まだ、サーバー・データベースによって用いられた構造化データ保存フォーマットによって、表わされている。イネーブラー・エージェントは、ステップ635において、構造化データ保存フォーマット化されたデータを、マークアップ言語データに変換し、マークアップ言語フォーマット化されたドキュメントを生成する。イネーブラー・エージェントは、次いで、ステップ640において、このドキュメントを、供給元サイトにあるHTTPサーバーに送る。最後に、供給元のHTTPサーバーが、ステップ645において、マークアップ言語ドキュメントを、リクエスターに発送する。
【0049】
マークアップ言語フォーマットがXMLである実施態様においては、イネーブラー・エージェントは、図5に示された方法を用いて、構造化データ保存フォーマット化されたデータを、XMLフォーマットに変換する。この方法を、図2Aおよび図2Bに示されたデータベースのクエリーに適用することによって生成された代表的なXMLドキュメントが、図6に示されている。イネーブラー・エージェントは、サーバー・データベースから、演算結果のセットを受け、ステップ405において、クエリー識別子タグを生成する。代表的なクエリー識別子タグ502として、上述したクエリー“BicycleParts”についてのものが示されている。ステップ410において、イネーブラー・エージェントは、演算結果のセットを調べて、処理すべき次のデータベース・レコードを得る。
【0050】
レコードが処理されて、残っていると仮定すると、イネーブラー・エージェントは、処理すべき次のレコードを選択し、ステップ415において、レコード・コンテナー・タグを生成する。レコード・コンテナー・タグには、クライアント・データベースのどのレコードかを明確に特定する値が割り当てられる。代表的なレコード・コンテナー・タグ504として、上述した “BicycleParts” クエリーによって生成された演算結果のセットの第一のレコードについてのものが示されている。レコード・コンテナー・タグ504は、図2Aおよび図2Bに示されるように、レコードのキー・フィールド222の値に対応する「1」の値を有している。
【0051】
次いで、イネーブラー・エージェントは、ステップ420において、処理されているレコードのフィールドをパースする。フィールドが処理されて、残っていると仮定すると、イネーブラー・エージェントは、処理すべき次のフィールドを選択し、ステップ425において、フィールド・エントリー・タグを生成する。フィールド・エントリー・タグには、デフォルトによって、指定されたクエリーにより照合された対応するテーブル・コラムの名前が与えられる。アドミニストレーターは、ウェブ・ベースのセットアップ・スクリーンを用いて、これらのデフォルト・タグ名を変更し、異なる名前を付与することができる。フィールド値が、フィールド・エントリー・タグに挿入された後、フィールド・エントリー・タグが閉じられる。代表的なフィールド・エントリー・タグ506として、上述した“BicycleParts” クエリーによって生成された演算結果のセットの第一のレコードの“キー”フィールドについてのものが示されている。フィールド・エントリー・タグ506は、図2Aおよび図2Bに示されるように、パーツ・テーブル220の第一のレコードのキー・コラムの値に対応して、「1」の値を有している。
【0052】
一旦、フィールド・エントリー・タグが閉じられると、制御はステップ420に戻り、次のフィールドが処理される。演算結果のセットの第一のレコードのすべてのフィールドが処理されると、イネーブラー・エージェントは、ステップ430において、レコード・コンテナー・タグのエンドを生成する。代表的なレコード・コンテナー・タグ508のエンドとして、上述したクエリー“BicycleParts”に対する演算結果のセットの第一のレコードについてのものが示されている。次いで、制御はステップ410に戻り、演算結果のセットの次のレコードが処理される。演算結果のセットのすべてのレコードの処理が完了すると、ステップ435において、最後のXMLタグが生成され、XMLドキュメントが閉じられる。代表的な終了タグとして、上述した“BicycleParts” クエリーの演算結果のセットについてのものが示されている。演算結果のセットのために、任意的に、データ・タイプ・ダイアグラムを生成することもできる。このデータ・タイプ・ダイアグラムは、演算結果のセットのレコードの各フィールド内に保存されているデータのタイプを指定するものである。表1は、“BicycleParts” クエリーについての代表的なデータ・タイプを示している。
【0053】
【表1】
Figure 2004530173
この変換方法を用いて、正しく、適格なXMLドキュメントが、データベースのフィールド名およびアドミニストレーターによってセットアップされたコンフィギュレーション・データの組み合わせから、直接に構成される。
【0054】
イネーブラー・エージェントはまた、データ収集システムのセットアップ、オペレーションおよびデバッギングを促進するために、ユーティリティ・プログラムのコレクションを有している。代表的なユーティリティ・プログラムは、HTMLフォーマットでのクエリーの結果を表示するクエリー・ビューワ、上述したあらかじめ定義されたクエリーを構成する際に、アドミニストレーターを助けるクエリー・エディターと、サーバー・データベース、ユーザーが生成したクエリーを提供するデフォルト・ログイン名、ユーザーが生成したクエリーを提供するデフォルト・パスワードおよび他のパラメーターを含むサーバーのデフォルト・サーバー名などのユーザーが基本ログインパラメーターを構成することを可能にするデータベース・パラメーター・エディターと、トラスティッド・ホストのリスト、ユーザーの一致を認証するために用いられる認証機構およびイネーブラー・エージェントが、あらかじめ定義されたクエリー、ユーザーが定義したクエリーあるいは双方のいずれを受け取るかをどうかを指定するシステムの許容動作モードのリストなどのイネーブラー・エージェントのセキュリティー・パラメーターを構成する際に、アドミニストレーターを助けるセキュリティー・パラメーター・プログラムと、イネーブラー・エージェントの動作をテストするために用いることができる単純なウェブ・ベースのXMLおよびHTMLクライアントを提供するタグ・ブラウザ・プログラムとを含んでいる。このユーティリティ・プログラムのリストは代表的なものであるが、これに限定されるものではない。特定の実施態様の特定のインプリメンテーション・パラメーターに応じて、他のユーティリティ・プログラムを提供することもできる。
【0055】
図7を参照すると、イネーブラー・エージェントの本実施態様にかかるクエリー・ビューワ・スクリーン70が、ウェブ・ベースのCGIスクリプトとして、提供されている。クエリー・ビューワ・スクリーン70は、ウェブ・ブラウザ・プログラム72の内部の第一のURL71を活動化することによって、表示される。クエリー・ビューワ・スクリーン70は、ユーザーが、HTMLフォーマットで表示されるべき特定のクエリーを選択することを可能にする。スクリーンは、問い合わせられたデータを、表形式で示し、ユーザーが、プルダウン・メニュー74を用いて、特定のクエリーを選択することを可能にする。種々のクエリーが、ユーザーが利用できるように、プルダウン・メニュー74の中に用意されている。クエリーは、図8に示されるクエリー・エディター・ツールによって、構成される。
【0056】
クエリー・ビューワ・スクリーン70は、デバッグおよび解析のために、システムを可視化する簡単な方法を提供する。このスクリーンによって表示されるテーブル76は、クエリーの演算結果から自動的に生成される。テーブル76は、クエリー結果を、ユーザーに戻されるHTMLドキュメントにフォーマットされたコンポーネントにパースすることによって、クエリー結果から生成される。テーブル76の頂部は、クエリーによって指定された種々のフィールド78を表わし、データ・コレクターによって、読み取られた種々のマークアップ言語フォーマット・タグに対応している。
【0057】
問い合わせられた情報を可視化するのに加えて、クエリー・ビューワ・スクリーン70は、クエリー・エディター・スクリーンによって、プルダウン・メニュー74から生成された種々のクエリーのリストを、ユーザーに提供する。さらに、クエリー・パラメーター・スクリーンを呼び出すボタン77を活動化することによって、クエリーのために、データベース・パラメーターを構成することもできる。ボタン79は、活動化されると、データベースに、クエリーを提出する。
【0058】
クエリー・ビューワ・スクリーン70のユーザーは、(1)プルダウン・メニュー74から、クエリーを選択し、(2)ボタン77を活動化して、値をポップアップするフォームに入れ、必要なデータベース・パラメーターを提供し、次いで、(3)ボタン79を活動化して、クエリーをデータベースに提出することによって、特定のクエリーを見ることができる。クエリー結果は、戻されて、HTMLフォーマットに自動的に変換され、クエリー・ビューワ・スクリーン70に表示される。
【0059】
図8を参照すると、イネーブラー・エージェントの本実施態様にかかるクエリー・エディター・スクリーン80は、ウェブ・ベースのCGIスクリプトとして、提供されている。クエリー・エディター・スクリーン80は、第二のURL81を活動化することによって、ウェブ・ブラウザ72内に表示される。クエリー・エディター・スクリーン80は、ユーザーが、クエリー・ビューワ・スクリーン70(図7)のプルダウン・メニュー74中の特定のアイテムに関連付けられたクエリーを構成することを可能にする。クエリー・エディター・スクリーン80は、ユーザーが、クエリーを生成し、修正変更し、デレートすることを可能にし、これらのクエリーをクエリー・ビューワ・スクリーン70(図7)のプルダウン・メニュー74中のアイテムと関連付けることを可能にする。
【0060】
クエリー・エディター・スクリーン80は、ユーザーが、SQLなどの構造化データ保存フォーマットで、クエリーを入力するテキスト・ウィンドウ82を含んでいる。クエリー・エディター・スクリーン80はまた、スクリーン80に機能性(ファンクショナリティー)を与えるボタン83のパレットを含んでいる。これらのボタンは、活動化されたときに、テキスト・ウィンドウ82のコンテンツを、長期保存のために、セーブさせるセーブ・ボタン84と、活動化されたときに、ユーザーに、テキスト・ウィンドウ82のコンテンツに関連付けられるべき識別子の入力を促し、コンテンツを長期保存のために、セーブするセーブ・アズ・ボタン85と、活動化されたときに、ユーザーに、クエリー識別子を生じさせるように促し、クエリー識別子に関連付けられたクエリーを検索し、テキスト・ウィンドウ82上に表示させるリロード・ボタン86と、進行中のオペレーションをキャンセルするキャンセル・ボタン87を含んでいる。たとえば、ユーザーが、長いクエリーを活動化し、クエリーのオペレーションを停止させたい場合には、ユーザーはキャンセル・ボタン87をクリックする。これらは、ボタン・パレット83の代表的な構成要素である。所望の機能性(ファンクショナリティー)に応じて、ボタン・パレット83に、他のボタンを含ませることもできる。
【0061】
クエリー・エディター・スクリーン80は、クエリー(クライアントや、プリビレッジを有していないユーザーには見えない)と、クエリー結果のアソシエーションを容易にする。各クエリーは、サーバー上のオウンファイル内に備わっている。このファイルは、クエリー・エディター・スクリーン80あるいは標準のテキスト・ファイル・エディターによって、修正変更することができる。
【0062】
図9を参照すると、イネーブラー・エージェントの本実施態様にかかるデータベース・パラメーター・スクリーン90は、ウェブ・ベースのCGIスクリプトとして、提供されている。データベース・パラメーター・スクリーン90は、第三のURL91を活動化することによって、ウェブ・ブラウザ72内に表示される。データベース・パラメーター・スクリーン90は、システムの種々のパラメーターを構成する上での多方面にわたるユーティリティーを提供する。このスクリーンは、ドライバー・プログラムや、タイムアウト、パスワード、セキュリティ・アイテムなどのクエリーを生成するのに必要な値を指定する中央の部分を提供する。このスクリーンはまた、現在のクエリーのデータ・ソースへのマッピングを修正変更することを容易にする。このスクリーンは、典型的には、プリビレッジを有しているユーザーによって利用される。
【0063】
データベース・パラメーター・スクリーン90は、ユーザーが、データベースのために必要なパラメーターを入力するテキスト・ボックス92を有している。用いられるべきパラメーターは、データ収集システムの生成者によって選ばれた特定のデータベース・パッケージによって決まる。
【0064】
データベース・パラメーター・スクリーン90はまた、スクリーンに機能性(ファンクショナリティー)を与えるボタン・パレット92を有している。これらのボタンには、活動化されたときに、ユーザーによる変更をデータベースに保存させるコミット・ボタン93と、活動化されたときに、クエリーを含むウィンドウをポップアップさせ、クエリーの編集を可能にするエディット・クエリー・ボタン94と、活動化されたときに、何の変更も加えることなく、データベース・パラメーター・スクリーン90を閉じるキャンセル・ボタン95とが含まれている。これらは、ボタン・パレット92の代表的な構成要素である。所望の機能性(ファンクショナリティー)に応じて、ボタン・パレット92に、他のボタンを含ませることもできる。
【0065】
イネーブラー・エージェントは、種々のサポート・ツールおよびサポート機能を含む包括的なシステムに向けられている。代表的なサポート・ツールには、ユーザーが、サード・パーティーHTTPサーバーを必要とすることなく、イネーブラー・エージェントを動作させることを可能にする組込み型HTTPサーバーと、プリビレッジを有しているユーザーが、テーブルを、サーバー・データベース上に挿入し、アップデートすることを可能にし、以下に説明を加えるエミリー・フレームワーク言語や、HTTPクライアントなどの外部ソフトウエアによって、テーブルがロードされることを可能にする標題音楽のインターフェースを提供するデータベース・インサート・アップデート・ユーティリティーと、ユーザーが、システムのための新たな機能性(ファンクショナリティー)および機能を生成することを可能にするエミリー・フレームワーク・スクリプティング言語・開発キットと、マークアップ言語ドキュメントおよびPDFファイルの形のオンライン・ドキュメンテーションで、システムをインストールし、構成し、作動させ、維持するに十分なドキュメンテーションがある。
エミリー・フレームワーク・スクリプティング言語
図12を参照すると、任意のエミリー・スクリプティング言語によって実行される典型的な方法を示すフローダイアグラムが示されている。エミリー・スクリプティング言語は、1また2以上のタグ付きの部分を有するマークアップ言語ファイルを処理するために用いることもできる。この方法は、ステップ1200において、第一のマークアップ言語ファイルを開き、ステップ1210において、第一のマークアップ言語ファイルを1または2以上の部分にパースするように構成されている。言語インタプリターは、次いで、ステップ1202において、第一のマークアップ言語ファイルの各部分を、電子メモリ内の1または2以上のオブジェクトに保存する。
【0066】
エミリー言語の一部が、CATコマンドあるいはDIRコマンドを含んでいてもよい。そのようなコマンドが、ステップ1206において、言語インタプリターによって、受け取られると、インタプリターは、1または2以上のオブジェクトを選択に供し、ステップ1208において、1または2以上の対応するフォルダーおよびスクリーン上のサブ・フォルダ内において、観察あるいは他の処理を実行する。1または2以上のフォルダーは、第一のマークアップ言語ファイルのサブ部分の配列に応じて、サブ・フォルダーを有する階層リスト内に、提供されてもよい。ここに、各フォルダーは、配列、サブ配列あるいは第一のマークアップ言語ファイルを含むオブジェクトを表わしている。
【0067】
エミリー言語は、選択を可能にし、1または2以上のオブジェクトの観察および他の処理のためにセットされたコマンド言語を有している。セットされたコマンド言語は、選択、観察および他の処理のための複数のコマンドを有している。コマンドのサブ・セットは、第一のマークアップ言語ファイルの1または2以上のフォルダー、サブ・フォルダー、部分、サブ部分を処理するための1または2以上のコマンドを含んでいてもよく、サブ・セットは、コマンドのセットのサブ・セットを含む1または2以上の実行可能なバッチ・ファイルを含んでいてもよい。1または2以上の実行可能なバッチ・ファイルは、第二のマークアップ言語ファイルに含まれていてもよく、実行可能なバッチ・ファイル中のコマンドのサブ・セットは、第二のマークアップ言語ファイル中の第一のマークアップ言語ファイルの部分を含む1または2以上のオブジェクトを含むコマンドを有していてもよい。
【0068】
言語インタプリターは、ステップ1210において、第一あるいは第二のマークアップ言語ファイル中のオブジェクトをセットあるいはアップデートするための1または2以上のSETあるいはUPDATEコマンドを受信することができる。そのようなコマンドを受信したときは、言語インタプリターは、ステップ1212において、受信したコマンドにしたがって、オブジェクトをアップデートする。
【0069】
ステップ1214において、POSTあるいはSAVEコマンドを受信したときは、マークアップ言語ファイルのそれぞれをアップデートするための前記他の処理の一部として、ステップ1216において、1または2以上のコマンドを含むコマンドのサブ・セット(これらの1または2以上のコマンドは、受信した1または2以上のコマンドに基づいて、1または2以上のオブジェクトをアップデートするためのインストラクションを含んでいる)を受信し、受信した1または2以上のコマンドにしたがって、1または2以上のオブジェクトに含まれている1または2以上の部分をアップデートし、1または2以上のオブジェクト内に含まれている部分を、アップデートされた言語ファイルのそれぞれに保存するステップを実行することができる。
【0070】
あるいは、第二のマークアップ言語ファイルを、URLによって特定されたネットワークノードに提供する前記他の処理の一部として、1または2以上のコマンド(これらの1または2以上のコマンドは、受信した1または2以上のコマンドに基づいて、1または2以上のオブジェクトをアップデートするためのインストラクションを含んでいる)を受信し、受信した1または2以上のコマンドにしたがって、1または2以上のオブジェクトに含まれている1または2以上の部分をアップデートし、第二のマークアップ言語ファイルを、URLによって特定されたネットワークノードに提供するステップを実行することもできる。
【0071】
あるいは、第一のマークアップ言語ファイルは、データ入力を受け入れる1または1以上の部分を含んでいてもよく、この場合には、前記他の処理は、前記データ入力を受信し、前記データ入力を、データ入力を受け入れる1または2以上の部分を含むオブジェクト内に保存し、前記データ入力を、前記マークアップ。ファイルに送ることによって、前記データ入力の受信および送信をおこなうように構成されている。前記データ入力の少なくとも一部は、受信ステップの後、保存ステップの前に、処理されてもよい。この代替的な処理は、たとえば、リモート・データベース上のクエリーを実行するためのSGLあるいはクエリーをリモート・データベースに送るためのSQLを受信するために、利用することもできる。
【0072】
マークアップ言語ドキュメントをパースし、ローカル・コンピュータ・システムに提供する方法は、2つのフェーズに分けられる。すなわち、マークアップ言語ドキュメントをウェブ・サーバーあるいはローカル・ファイル・システムからコピーする第一のダウンロード・フェーズと、これに続き、一旦、ダウンロードされたマークアップ言語ドキュメントがパースされ、ドキュメント・オブジェクトのさらなる操作のためのリンクされたリストとして、ローカル・コンピュータ・システムに提供される第二の分析フェーズに分けられる。この第一のフェーズは、マークアップ言語パーサー・プレゼンター・モジュールのフェーズ2が活動を始めた場合に、開始され、終了する。フェーズ2は、マークアップ言語パーサー・プレゼンター・モジュールが、各ドキュメント・オブジェクトを、ローカル・コンピュータのメモリスペース内の仮想の根、枝あるいは葉オブジェクトにマップしたときに、開始される。
【0073】
マークアップ言語パーサー・プレゼンター・モジュールは、その構文法が、代表的なコマンドライン・プロセッサーに類似する単一のコマンドを用いて、呼び出される。たとえば、マークアップ言語パーサー・プレゼンター・モジュールの機能は、以下のステートメントによって、提供される。
open“http://www.vcsy.com”
ここに、URLは、「オープン」コマンドに対する引き数として、提供される。
【0074】
マークアップ言語パーサー・プレゼンター・モジュールのある実施態様においては、マークアップ言語ドキュメント・ソースは、ハイパーテキスト・トランスポート・プロトコル(HTTP)であり、ダウンロードは、HTTPを用いて、実行され、ネットワーク上で割り当てられたURL(ユニフォーム・リゾース・ロケーター)によって、マークアップ言語ドキュメントを参照する。マークアップ言語パーサー・プレゼンター・モジュールは、ローカル・ドキュメントの処理もまた意図している。ローカル・ドキュメントは、マークアップ言語パーサー・プレゼンター・モジュールが実行しているローカル・コンピュータ・システム上に存在している。したがって、別の実施態様にかかるマークアップ言語パーサー・プレゼンター・モジュールは、ローカル・ファイル名を用いて、ローカル・システム上のドキュメントの処理を予測する。ローカル・ドキュメントの処理は、HTTPを用いて、ウェブ・サーバーから、ドキュメントをコピーすることも、URLによって、ドキュメントを参照することも要求しない。この場合には、「オープン」構文が、代わりに、提供されるべき有効なローカル・ファイルのパス名を要求する。
【0075】
open“c:?DOCS?resume.htm”
あるいは、
open“/usr/data/resume.htm”
マークアップ言語パーサー・プレゼンター・モジュールは、コマンド・ラインをパースする。マークアップ言語パーサー・プレゼンター・モジュールは、マークアップ言語ドキュメント・ソースがHTTPであるかどうかを決定する。ソース・ドキュメントが、HTTPドキュメントではない場合には、フェーズ2が続行される。ソース・マークアップ言語ドキュメントが、HTTPドキュメントである場合には、処理を再開する。HTTPリクエスト・ステータスが、転送が要求されていることを表示している場合には、マークアップ言語パーサー・プレゼンター・モジュールは、そのドキュメントに対する新たなURLを得て、もう一度し、ダウンロード・フェーズを開始させる。マークアップ言語パーサー・プレゼンター・モジュールが、転送が要求されていないと判断したときは、処理が続行される。HTTPリクエストによって、エラーが生成されたときは、マークアップ言語パーサー・プレゼンター・モジュールが打ち切られる。HTTPエラーの例には、404、URLが見つからないなどがある。一旦、ユーザーが、実行可能なURLを特定したときは、マークアップ言語パーサー・プレゼンター・モジュールの処理が、再び、開始されるが、ユーザーが、モジュールを実行した後にのみ、マークアップ言語パーサー・プレゼンター・モジュールの処理が再開される。HTTPリクエストによって、エラーが生成されないときは、処理が続行される。マークアップ言語パーサー・プレゼンター・モジュールは、ソース・ドキュメントが、HTTPドキュメントかどうかを決定する。ソース・マークアップ言語ドキュメントが、HTTPドキュメントである場合には、ドキュメントが分析フェーズに転送される前に、各相対的URLは、絶対的なURLに変換される。
【0076】
マークアップ言語パーサー・プレゼンター・モジュールの分析フェーズが開始される。分析フェーズの目標は、マークアップ・ドキュメントを処理するフレーム・ワークの機能モジュールおよびホスト処理システムにプレゼンテーションするために、仮想データ構造を生成することにある。好ましい実施態様においては、プレゼンテーションを実現するために、連結されたリスト・データ構造の使用が意図される。
【0077】
連結されたリストは、リストのデータ・エレメントを「連鎖する」ために、ポインターを用いる動的データ構造の一タイプである。リストのデータ・エレメントは、ノードと呼ばれる。連結されたリストは、リニアであってもよく、その場合には、各ノードは、直列状に、隣り合った一方のノードのみに対するポインターを含んでいる。したがって、データ・エレメントのリニア・データをトラバースするために、あたかも、一段、一段、はしごを登るように、リストの各データ・エレメントを走査することが必要である。
【0078】
ツリー構造は、連結されたリストの一タイプであり、ノードが、階層状にな並び、ルート・ノードを含んでいる。このタイプの連結されたリストを記述するために用いられるツリー・アナロジーは、分岐ノードおよび葉ノードに及んでいる。連結されたリストは、転置されたツリーのように見える。特筆すべきは、葉ノードは、他のノードおよび各ツリーに一つしかなく、他のあらゆるノードによって、ポイントされるルート・ノードに対するポインターを含んではいないことである。
【0079】
マークアップ言語パーサー・プレゼンター・モジュールの好ましい実施態様においては、ノードがソース・マークアップ・ドキュメントのオブジェクトであるツリーとしてのフレーム・ワークに対するマークアップ・ドキュメントの一対一マッピングあるいはプレゼンテーションが意図されている。結果として生じるツリーは、その葉オブジェクトとして、ソース・マークアップ・ドキュメントの複数のタグおよび複数の属性を有し、その分岐オブジェクトとして、複数の属性もしくは他の複数のタグまたは属性と複数のタグを含むソース・マークアップ・ドキュメントのタグのみを有しているであろう。最後に、ツリーのルート・オブジェクトは、他の複数の分岐オブジェクトあるいは他の複数の葉オブジェクトに対するポインターを含んでいるであろうが、後者は稀である。ルート・オブジェクトは、それによって、ドキュメントが記載されるマークアップ言語を指定するマークアップ・ドキュメント中の第一のタグから、しばしば派生する。ある実施態様においては、マークアップ言語は、ハイパーテキスト・マークアップ言語(HTML)であり、別の実施態様においては、拡張可能なマークアップ言語(XML)であるが、他のかかるマークアップ言語も、フレーム・ワークの範囲内である。
【0080】
パースされたマークアップ・ドキュメントは、HTMLフォーマットから、ノードの階層レベルに、取り出される。ノード・レベル?は、ツリーのルート・ノードを示している。ルート・ノードは、<HTML>タグから、導出される。同様に、ノード・レベル1のHEAD分岐オブジェクトは、<HEAD>タグから、導出される。ツリーの階層配列は、HTMLドキュメント中のタグの階層配列を厳密に反映している。クロージング・タグ・エレメント<HTML>は、HTMLタグである。
【0081】
マークアップ言語・ドキュメントを、結果として生じるルート・オブジェクト、分岐オブジェクトおよび葉オブジェクトにマッピングして、仮想ディレクトリ・ツリー・プレゼンテーションを作り上げるときに、マークアップ言語パーサー・プレゼンター・モジュールは、複数のルールに従う。これらのルールは、さらに、結果として生じる連結されたリスト中の同じディレクトリ・ツリー・オブジェクトに、マップされないように保証する。換言すれば、結果として生じる連結されたリスト・ノード・オブジェクトは、各マークアップ言語パーサー・プレゼンター・モジュール・ドキュメント・オブジェクトを、唯一のものとして、特定しなければならない。それは、各マークアップ言語・ドキュメントは、同じタグの複数のインスタンスを含んでいるからである。したがって、タグあるいはサブ・タグは、同じ名前の1以上のサブ・タグを含むことができる。与えられたドキュメント・タグは、多値の属性を有することがないので、逆に、属性は、つねに、唯一であることが保証されている。一つのルールは、必要があれば、インスタンス番号を用いることによって、異なるタグの同じ名前のサブ・タグが唯一性を保持するようになっている。したがって、ディレクトリ・ツリーにマップされたときに、タグは、その名前が、マークアップ言語・ドキュメント中のそのタグの逐次的な出現に関連付けられた唯一のインスタンス番号を含んでいる葉オブジェクトとして、具体化される。属性ドキュメント・オブジェクトは、同様な唯一性の要求を有している。ディレクトリ・ツリーにマップされたときに、名前付き葉オブジェクトとなる属性ドキュメント・オブジェクトは、インスタンス・葉オブジェクト・タグ・ネームに関連付けられているため、唯一性を満足する。
【0082】
マークアップ・ドキュメントをマップし、プレゼンテーションする上述の方法は、連続するマークアップ言語・ドキュメント・処理フレームワークによるさらなる処理の基礎を設ける。
【0083】
マークアップ言語・ドキュメントを処理するためのフレーム・ワークを提供するこの方法およびシステムの第二のモジュールは、マークアップ言語・コマンド・プロセッサーである。マークアップ言語・コマンド・プロセッサーの一部を形成するコマンドのグループは、アクセス・コマンド・グループである。それは、このグループ中のコマンドは、メモリ中のツリーの物理的な構造を変えるようなアクションを実行しないからである。ツリー構造を変えるように設計された関連したコマンドの第二のグループについては、後述する。
【0084】
マークアップ言語パーサー・プレゼンター・モジュールは、コマンド・プロセッサーが呼び出される前に、ドキュメントをパースし、開く。マークアップ言語パーサー・プレゼンター・モジュール・ドキュメントが、上述したマークアップ言語パーサー・プレゼンター・モジュールを用いて、所望のように、プレゼンテーションされなかった場合には、マークアップ言語・コマンド・プロセッサー方法は、ある実施態様においては、活動を一時的に停止し、メモリ中に、実行可能なツリー構造が作り上げられるまで待つ。マークアップ言語・コマンド・プロセッサーが、メモリ中の実行可能なツリー構造に出会った場合には、マークアップ言語・コマンド・プロセッサーは、インタプリターとして、動作し、Unixのようなテキスト・ベース・オペレーティング・システムのコマンド・プロセッサーな核とほぼ同様なコマンド・ラインから入力されたユーザーを処理する。
【0085】
ある実施態様においては、マークアップ言語・コマンド・プロセッサーは、処理を向上させ、より大きいユーザー・フレキシビリティを可能にする現代のコマンド処理システムにおいて、一般的なワイルドカード・キャラクター、転送記号、フィルターおよび他のコマンド・ライン機能をパースする能力を有している。注目に値する特徴は、サイクル、ループあるいは他の反復処理コマンド・インストラクションなど、コンピュータ・プログラミング制御構造の分野の当業者にとって周知の可変インダイレクションである。プログラマーによく知られたものは、DO−NEXT制御構造、FOR−WHILE制御構造およびREPEAT−UNTIL制御構造があり、これらはすべて、インデックス変数に依存し、処理を制御し、処理を終了させるものである。たとえば、プログラマー・ユーザーは、HTMLドキュメントの特異的テーブル・エレメントのコンテンツを表示したいと考えるかもしれない。これを実現したコマンド・ラインの例には、次のようなものがあり得る。
echo $html/body/$table:$I/tr:$j/td:$k”
可変インダイレクションが要求されているかどうかを決定するため、コマンド・プロセッサーは、インスタンス値を採用しているタグの名前を探索するコマンド・ラインをパースする。この場合には、ユーザーは、コマンド・プロセッサーがエコーすること、すなわち、標準出力デバイス(通常は、モニター)上に、プレゼンテーションされたHTMLドキュメントの本体の「$i」番目のテーブルの「$j」番目の行の「$k」番目の列のコンテンツを表示することを希望している。もちろん、ある反復制御構造は、(インデックス変数として作用する)変数の有効なインスタンス値による再帰的置換を制御しなければならない。したがって、置換後のコマンド・ラインは次のように見える。
【0086】
echo $html/body/Table:2/tr:3/td:2
これは、ドキュメントの2番目のテーブルの3番目の行の2番目の列を表示している。
【0087】
マークアップ言語・コマンド・プロセッサーは、有効なコマンド言語セットから、コマンドを受け入れる。マークアップ言語・コマンド・プロセッサーは、まず、通常は、コマンド・ラインをパースして、適当なコマンド構文および/またはワイルドカードが使用されているかどうかをチェックすることによって、各コマンドをデコードする。
【0088】
一旦、コマンドがデコードされると、マークアップ言語・コマンド・プロセッサーは、そのコマンドに関連付けられているあらかじめコーディングされたルートを実行することによって、そのコマンドを処理する。一般的なコマンド・ラインの取り決めに続き、所望のように、コマンドが実行されなければならない。
【0089】
アングル・ブラケット中に現われるボールド・システム指示メッセージは、特定の指示メッセージに関連付けられたコマンドによって認識可能なコマンドを、ユーザーが自由に発行することができることを表示するシステム指示メッセージ(しばしば、ホストシステムの文字セットからの単一のキャラクターにすぎない)を、ユーザーが、標準出力デバイス上で見るであろうことを意味している。これは、ホストシステムが、1以上の指示メッセージを、ユーザーに提供することができ、ユーザーが、混乱することなく、確実に、ローカル・オペレーティングシステム・コマンドを、マークアップ言語・コマンド・プロセッサー・指示メッセージに入力し、マークアップ言語・コマンド・プロセッサー・指示メッセージを、ローカル・オペレーティングシステム・コマンドに入力することができるからである。コマンド自体は、アングル・ブラケット(◇)中に現われ、ユーザーが、マークアップ言語・コマンド・プロセッサー・コマンド・セットから、有効なコマンド名を提供しなければならないことを表示し、コマンド・ライン引き数、オプション、ワイルドカードなどの前に、まず、コマンド名が、コマンド・ラインに入力されることを表示する。コマンド・ライン引き数は、スペースによって分離され、「arg2」から「arg1」を分離する垂直のバーは、「arg1」および「arg2」の一方が選択されなければならないことを意味している。ユーザーは、引き数として、「arg1」も「arg2」も提供しないと決めることができる。従来のマークアップ言語・コマンド・プロセッサー構文法の挿入句的な引き数記述エレメントは、引き数の記述を示す。括弧内のアイテムは、コマンド中の定数あるいは変数によって、(括弧を含めて、)置換されなければならない。引き数の範囲あるいはタイプは、通常は、コマンドの説明的な記述のコンテキスト中で、明確にされるであろう。最後に、省略符号が、引き数の繰り返しを示すために用いられる。省略符号が続くコマンドは、(それぞれが、256のキャラクターよりなっている)複数の引き数が、最大、1024キャラクターまで、続くことを表示している。引き数の範囲あるいはタイプは、つねに、コマンドの説明的な記述のコンテキスト中で、明確にされるであろう。
【0090】
以下は、上述した構文法のルールに適合するマークアップ言語コマンドのシステム・アクセス・グループからのコマンドの一例である。
%exec[‐force 1 −error](command)
パーセント記号は、マークアップ言語・コマンド・指示メッセージを表わしている。execは、コマンドの名前である。‐force引き数および−error引き数を含む四角の括弧は任意である。(コマンドの)挿入句的な引き数は、要求された引き数であり、この場合には、ユーザーは、引き数として、スクリプト・ファイルを含む有効なオペレーティング・システム・コマンドを、execコマンドに提供しなければならない。たとえば、オペレーティング・システムが、Unixバリアントであったときは、
%exec ?error 1s
が、マークアップ言語・コマンド・プロセッサーに、ユニックス「リスト・カレント・ディレクトリ」コマンド(1s)を実行し、例外として、その1sコマンドのエラー出力を解釈するように命じる。
【0091】
そのコマンドが、ディレクトリ構造から、指定されたルート・オブジェクトあるいは分岐オブジェクトのコンテンツを表示するように求める要求である場合には、マークアップ言語・コマンド・プロセッサーは、提供された仮想的な連結されたリスト・ツリー構造をトラバースし、そのコマンドに提供された指定された引き数に含まれ、あるいは、引き数に属しているツリー中で見出されたすべてのタグ(分岐オブジェクト)のリスティングを、標準的なディスプレイにリターンする。そのコマンドが、現在、ワーキングしている分岐オブジェクトを、ある分岐オブジェクトから別の分岐オブジェクトに変更するように求める要求である場合には、マークアップ言語・コマンド・プロセッサーは、提供された仮想的な連結されたリスト・ツリー構造をトラバースし、(ユーザーによって、引き数として、そのコマンドに提供された)要求された分岐オブジェクトを、あたかも、連結されたリストのルート・オブジェクトであるかのように、ユーザーに見えるようにする。そのコマンドが、タグ(すなわち、属性葉オブジェクトとは対照的に、マークアップ言語・ドキュメント中のタグから生成された連結されたリスト中の葉オブジェクト)のコンテンツをリストするように求める要求である場合には、マークアップ言語・コマンド・プロセッサーは、(ユーザーによって、「arg1」として、そのコマンドに提供された)要求されたタグと一致するものを探索する連結されたリストをトラバースする。一致するものが見つかったときは、マークアップ言語・コマンド・プロセッサーは、(シーク・ポジション)相対コンテンツ・ポインターを用いて、そのタグのコンテンツを特定し、標準的なディスプレイ・デバイスにリターンする。
【0092】
そのコマンドが、属性(すなわち、タグ・葉オブジェクトとは対照的に、マークアップ言語・ドキュメント中のタグから生成された葉オブジェクト)のコンテンツをリストするように求める要求である場合には、マークアップ言語・コマンド・プロセッサーは、その連結されたリストをトラバースする。
【0093】
マークアップ言語・パーサー・オープナーのホスト・インターフェイス・ファンクション・モジュールは、上述したマークアップ言語・パーサー・オープナーのモジュールの方法と協働して、ホスト・プログラミング言語が、その引き数がホスト言語の現在のファンクショナリティであるプログラムを生成することを可能にする一連の方法である。この意味において、これらの方法は、ホスト・プログラミング言語の経験を積んだプログラマーによって、使用可能な機能として、利用することができる。ホスト・インターフェイス・ファンクション・モジュールによって提供される機能は、所定のAPIファンクション・コールを用いて、実行される。
【0094】
ホスト・プログラミング言語で、コードを書き込むプログラマーが、ホスト・インターフェイス・ファンクション・モジュールを呼び出すために用いるステップが続く。まず、ホスト・インターフェイス・ファンクション・モジュールが、ホスト・プロセッシング・システムから、コマンドを受け取る。ホスト・インターフェイス・ファンクション・モジュールは、ホスト・プロセッシング・システムが、コマンドの認識に失敗したときには、何時でも、ホスト・インターフェイス・ファンクションを呼び出すファンクション・コールを、ホスト・プログラミング言語が作り出すことを可能にするコール・レベル・インターフェイスとして、実行される。このコール・レベル・インターフェイスは、パラメーターの受渡しを促進することによって、ホスト・プログラミング言語と、マークアップ言語・パーサー・オープナーのホスト・インターフェイス・ファンクション・モジュールとの間での通信を可能にするメカニズムである。すなわち、認識されたコマンドは、ホスト・インターフェイス・ファンクション・モジュールに、ホスト・インターフェイス・ファンクションのパラメーターとして、渡される。ホスト・インターフェイス・ファンクションを用いて、渡されるコマンドの種類は、マークアップ言語・パーサー・オープナー・モジュールの「オープン」コマンドだけでなく、マークアップ言語アクセス・グループあるいは葉オブジェクト・生成・修正グループからのコマンドであれば、いかなるコマンドであってもよい。
【0095】
したがって、プログラマーは、マークアップ言語・パーサー・オープナーのあらゆるファンクショナリティを、自らのホスト言語プログラムに埋め込むことができ、マークアップ言語・パーサー・オープナーの方法を呼び出す必要が生じたときに、ホスト・プロセッシング言語によって、ホスト・インターフェイス・ファンクション・モジュールに対する適当なコールを生成することができる。ホスト・プログラミング言語が、PERLやTCLなどのユニックス・プラットフォーム上のスクリプティング言語である場合には、ユーザーは、ユーザーの意のままに、ファンクショナリティを呼び出すことができるプログラムを、自由に、コンパイルし、あるいは、書き込むことができる。たとえば、視覚障害のあるユーザーが、自らのブラウザのホームページ(すなわち、ユーザーが、ブラウザを立ち上げたときには、何時でも、自動的にロードされるデフォルト・ウェブ・ページ)のバックグラウンドを、コントラストを上げるために、白に変更したいと望むことがある。これを実現するためには、ユーザーは、単に、自分自身あるいは他の誰かが書いたあらかじめコンパイルされたスクリプトあるいはあらかじめ解釈されたスクリプトを実行するだけでよい。実行中、ホスト・プロセッシング・システムは、スクリプト・コマンドを渡して、ウェブ・ページのバックグラウンドを開き、白に変えるであろう。ホスト・インターフェイス・モジュールのようなホスト・インターフェイス・メカニズムがない場合には、ユーザーは、まず、「オープン」コマンドを含み、続いて、「セット」コマンドを含む以下のように見えるであろう1または2以上の複雑なマークアップ言語・パーサー・オープナー・コマンドを、手動で発行しなければならない。
【0096】
open http://www.stockquotesgalore.com
set $html/body/^bgcolor=”white”
ホスト・インターフェイス・ファンクション・モジュールがあれば、コードのこれらの2ラインのファンクショナリティを、プログラムの初期化あるいはブラウザの立ち上げ時に、ユーザーのために、自動的に実行されるスクリプト内に、手動による介入なしに、含ませることができる。さらに、数多くのユーザーはプログラマーではなく、このファンクショナリティをを自ら実行する意欲も知識も持ち合わせていないであろう。また、ホスト・インターフェイス・ファンクション・モジュールのスクリプティング・インターフェイス能力を用いれば、サード・パーティ・ソフトウエア・ベンダーは、フリーウェアとして、オフザシェルフ・ソフトウエアにバンドルされたスクリプトを、ダウンロード可能なスクリプトとして、あるいは、ソフトウエア配布の他の考えられる態様で、書き込んで、配布することができる。
【0097】
HIFモジュールは、メモリを用いて、特定のコマンドの出力を保存する。たとえば、マークアップ言語・コマンド・プロセッサー・コマンド・セットから、特定のコマンドが呼び出され、ホスト・インターフェイス・ファンクション・モジュールによって実行される場合には、そのコマンドは、通常、ステータス・メッセージあるいはエラー・レベル・コードを、標準的な出力デバイス(通常は、モニター)に発行し、ステータス・メッセージあるいはエラー・レベル・コードは、メモリに転送される。システム・コールを作り出すホスト・プロセッシング・システム上で、実行されているスクリプト・プログラムには、しばしば、ホスト・インターフェイス・ファンクションによって、リターンされたメッセージあるいはコードの結果に基づいて、さらに、インストラクションを処理することが要求される。したがって、メッセージあるいはコードは、耐メモリ性を有していることが必要であり、スクリプトやプログラムは、ディスプレイ・デバイスから、メッセージあるいはコードにアクセスすることはできない。
【0098】
ホスト・インターフェイス・ファンクション方法は、パラメーターとして、ホスト・インターフェイス・ファンクションに渡されたコマンドが、上述した既知のコマンドに一致するかどうかを決定する。もし、一致しない場合には、ホスト・インターフェイス・ファンクション・モジュールは、あたかも、それが、ハードディスク・ドライブあるいはCDROMなどのホスト・ストレージ・システム上に記憶された外部コマンドあるいは外部プログラム(すなわち、外部で、実行可能なファイル)であるかのように、そのコマンドを実行する。外部コマンドあるいは外部プログラムの出力は、再び、メモリ中の記憶場所に転送され、それによって、ホスト・プロセッシング・システム上で、実行されているスクリプトあるいはプログラムは、さらなる処理のために、コマンド出力あるいはプログラム出力にアクセスすることができるようになる。
【0099】
ホスト・インターフェイス・ファンクション・モジュールによって、エラー・コードがリターンされた場合には、ホスト・プロセッシング言語は、エラー条件を読み、解釈し、処理する。換言すれば、エラー条件の処理は、ホストの責務であって、ホスト・インターフェイス・モジュールの責務ではない。ホスト・インターフェイス・モジュールは、特定のエラーを処理するために、とくに書かれたユーザーに提供されたホスト・プロセッシング言語ルーティンに提供する。しかしながら、ホスト・システムのユーザー・プログラマーは、リターン可能なエラーのそれぞれに対するエラー処理ルーティンの使用可能度を確保するという責務を負っている。
【0100】
マークアップ言語ドキュメントを処理するフレーム・ワークを提供する第六のモジュールは、CGIスクリプト生成モジュールである。CGIスクリプトは、ウェブ設計者が、ユーザーに提供されたデータのウェブ・サーバー上におけるリアルタイム処理を実行するために生成されるありふれたウェブ・サーバー・ソフトウエア・コンポーネントである。CGIスクリプトの出力は、スクリプトを実行しているウェブ・サーバーが、処理後に、ユーザーのブラウザに受け渡すマークアップ言語ドキュメントである。おそらく、CGIスクリプトは、フォームの処理に、最も一般的に使用される。
【0101】
CGIスクリプト生成モジュールは、ユーザー・プログラマーが、フレキシビリティを、詳述したマークアップ・ドキュメント・プロセッシング・フレーム・ワークのモジュールに組み込むことを可能にすることによって、上述のCGI処理スキームをアーギュメントする。たとえば、CGIスクリプト生成モジュールは、タグ変数に対するリファレンスを含み、マークアップ言語によってフォーマットされたドキュメントの生成を可能にする。換言すれば、CGIスクリプト生成モジュールと、別のマークアップ・ドキュメント・プロセッシング・フレーム・ワーク・モジュールとのインタラクションによって、すなわち、ローカル変数として、葉オブジェクトを表現する方法によって、HTML、XMLあるいは他のマークアップ言語ドキュメント中に、タグ変数が含まれるようにすることを可能にする。
【0102】
タグ変数が含まれるようにすることによる明らかな利点は、マークアップ・ドキュメント中に、他のドキュメントから、葉オブジェクトのコンテンツを挿入することにある。
【0103】
したがって、CGIスクリプトによって、プロセッシングから、リターンされたドキュメントは、上述したマークアップ言語・パーサー・オープナー・モジュールの呼出しによって、メモリに永続的に保持されている連結されたリスト・ツリー構造中で(おそらくは、可変の表記法および/またはインダイレクションを用いて)見出されたタグあるいは属性値に対するリファレンスを含むことができる。
【0104】
CGIスクリプト生成モジュールは、フレキシビリティを有しているため、プログラマーは、バックグラウンドの色が、ユーザーのホームページのバックグラウンドの色と一致しているマークアップ言語ドキュメントをリターンするCGIスクリプトを生成することができる。これを実現するためには、CGIスクリプトにより、次の構文法を用いて、その本体タグが、ホームページのバックグラウンドに対するリファレンスを含むドキュメントが生成される。
【0105】
BODY BGCOLOR=$HTML/BODY/^BGCOLOR
このファンクショナリティを用いることなく、CGIスクリプトを生成する場合には、リターンされたドキュメントのバックグラウンドの色を、既知の値、たとえば、白に設定し得るにとどまる。したがって、白一色の色覚異常のユーザーは、白のバックグラウンド上に、黒のレタリングのコントラストを好み、他の視覚障害のあるユーザーは、ピンクのバックグラウンドを好むかもしれない。CGIスクリプト生成モジュールは、上述のように、各ユーザーが、それぞれ、自らのブラウザ・ホームページが、好みのバックグラウンドの色に設定されていると仮定すると、いずれのユーザーをも満足させるスクリプトの生成を可能なものとする。
【0106】
その結果、たとえば、視覚障害者団体の要望に応えたいと望んでいる障害者を意識したサイトの設計者は、視覚障害のあるユーザーによって処理されたフォームが、各ユーザーの具体的なカラー・コントラストの要望に応じて、つねに、カラー・コントラストの高いドキュメントをリターンすることを保証するために、この技術を用いるであろう。
【0107】
この例は、マークアップ・ドキュメントを処理する方法に組み込まれた莫大なプログラマーのフレキシビリティの実例にすぎない。
【0108】
データ・コレクター
戻って、図1を参照すると、B2Bシステムの第二の機能ユニットは、データ・コレクター104として構成されている。データ・コレクター104は、購入者によって制御されるサーバー120で稼動するコンピュータ・プログラムとして構成されている。データ・コレクター104は、購入者の制御のもとで、クライアント・データベース122と連携して、動作する。クライアント・データベースは、特定のデータ保存フォーマットで、データを保存する。代表的なデータ保存フォーマットとしては、SQL、可変フォーマットの単層ファイル、CORBAデータベース、XMLドキュメントおよびHTMLドキュメントが挙げられる。データは、特定のデータ保存フォーマットで保存されるとともに、購入者の必要性と希望に応じて、決定された所有権を主張できるデータ・モデルにしたがって、保存される。この所有権を主張できるデータ・モデルは、上述したように、供給者によって用いられる所有権を主張できるデータ・モデルとは、典型的に異なっている。クライアント・データベース122はまた、クライアント・データベース122に保存されたデータを処理し、データをユーザーに提供するために用いられるデータベース・ツールのスーツに関連付けられている。
【0109】
図13は、特定の購入者、この場合には、自転車のディストリビューターが、どのようにして、在庫を示すデータを作るかの例を示すものである。データは、テーブル1400中に保存されている。自転車のディストリビューターは、数多くの供給者から、商品を取り寄せる。自転車のディストリビューターは、商品の供給元を特定する情報を含む供給者IDコラムを生成している。購入者のデータベース中に保存されたレコードを、供給者からのカタログデータをリンクさせるため、供給者レコード番号フィールド1420が提供される。キー・フィールド1430は、購入者のデータベース中のレコードをただ一つに特定するローカルに保存されたフィールドである。供給者パーツ番号フィールド1440は、パーツを特定するために、供給者によって用いられる供給者からの情報を含んでいる。この値はまた、供給者レコード番号フィールド1420を用いる代わりに、供給者によって提供されたデータと購入者のデータベースとの間のリンキング値としても用いられることに留意されたい。
【0110】
ディスクリプション・フィールド1450および卸売り価格フィールド1460は、購入者のデータベース内に保存されたカタログアイテムに関する付加的な情報を含んでいる。この例では、フィールド1420、1440、1450および1460はすべて、供給者のデータベースからダウンロードされたデータを含んでいる。供給者IDフィールド1410には、供給者の名前が含まれている。後述のように、この値は、供給者からダウンロードすることができ、あるいは、購入者によって、ローカルに供給される。キー・フィールド1430の値は、ローカルに決定される。図14の代表的な購入者は、その在庫注文テーブル1400に、上述した3つの供給者“Car Co.”、“Truck Co.”および“Bike Co.”からのデータをロードする。
【0111】
図1に戻ると、データ・コレクター104は、データ・リクエストをサーバー110に送信し、サーバー110から、リクエストされたデータを含む応答を受信して、リクエストされたデータをクライアント・データベース122内に保存する。
【0112】
データ・リクエストは、種々の方法で、送信することができる。好ましい実施態様においては、データ・リクエストは、データ・コレクター104によって、サーバー110に送信されたURLである。別の実施態様においては、データ・リクエストは、サーバー110に送られた電子メールメッセージあるいはデータ・コレクター104によって、あるいは、別のコンピュータ処理によって、サーバー110に送られたアプリケーションに特化したメッセージである。さらに他の実施態様においては、サーバー110が、データ・リクエストを起動し、演算結果は、ネットワークを介して、データ・コレクター104に入れられる。
【0113】
データ・リクエストは、検索されるべきデータを特定する情報を含んでいる。好ましい実施態様においては、リクエストは、あらかじめ生成され、サーバー110に保存されたデータベース・クエリーを特定する情報を含んでいる。本実施態様のあらかじめ定義されたクエリーの詳細は、イネーブラー・エージェントの項で、上述した。
【0114】
図14に戻ると、データ・サーバーからデータを検索する方法は、URLを生成するデータ・リクエスターを用いて、ステップ1510から開始される。クライアント上のHTTPサーバーは、ステップ1520において、供給者側のサーバーに、ネットワークを通じて、URLを送る。供給者は、ステップ1530において、データ演算結果のセットを送り返す。この演算結果のセットは、マークアップフォーマットの形で、送り返される。データ・コレクターは、マークアップ言語にフォーマットされた演算結果のセットを、サーバーから受け取り、ステップ1540において、演算結果のセットを、クライアント・データベースによって用いられる特定の構造化データベースフォーマットに変換する。最後のステップは、データ・コレクターが、ステップ1550において、演算結果のセットからの情報を用いて、クライアント・データベースをアップデートするステップを備えている。
【0115】
データ・コレクターは、いくつかの異なる方法で、ステップ1510のURLを生成することができる。好ましい実施態様においては、データ・コレクターは、データ・コレクターが通信する種々の供給者のリスティングを含んでいる。あるいは、データ・コレクターは、ユーザーに、URLを提供するように促す。クライアントからのリクエストを必要とすることなく、サーバーが、クライアントに演算結果のセットを送るように構成された実施態様においては、図14の方法のステップ1510および1520は省略される。
【0116】
データ・コレクターが、供給者のURLのリストを保持しているように構成された実施態様においては、スケジューリング・システムが、供給者のデータベースに問い合わせをするためのURLを自動的に提供するために使用される。URLのリストは、それぞれが、問い合わせるべきURLに対応する一連のレコードを含むデータベース・テーブルに保持されている。代表的なURL保存テーブルは図15に示されている。
【0117】
URLコラム1610は、データ・コレクターによってポーリングされるサーバーのURLを含んでいる。Sys Descrコラム1620は、サーバーについての任意の付加的情報を含んでいる。Last Polledコラム1630は、新たなデータのために、サーバーが最後にポーリングされたことについてのデータおよびその時間を含んでいる。Sys Statusコラム1640は、最後にポーリングされたときのデータ・サーバーにステータスを示すステータス・コードを含んでいる。本実施態様において、許容できるステータス・コードが、表2にリストアップされている。
【0118】
【表2】
Figure 2004530173
キー・フィールド1650は、レコードを、拡張された供給者関連のデータなどのクライアントのシステムの他のデータにリンクさせるために用いられる唯一の識別子である。典型的には、その値は、1から単調に増大する。
【0119】
URLデータが生成されると、購入者が、データのためにポーリングすることを望むURLが、テーブルに入れられる。ユーザーは、URLを直接にテーブルに供給するか、あるいは、好ましくは、ウエブ・ベースフォームあるいはCGIスクリーンを用いて、URLをURLテーブルに入れる。
【0120】
URLデータテーブルに、少なくとも1つのURLが入れられると、ポーリング・スケジュールが生成される。このスケジュールは、最小限、新たなデータのために、URLがポーリングされる速度を決定する。ポーリング・スケジュールはまた、外部プログラムを実行するなどの他の周期的な動作を実行するために、用いることができる。ポーリング・スケジュールは、データ・コレクターのアドミニストレーターによって、購入者の特定のニーズに基づいて、セットアップされる。好ましくは、このセットアップは、ウエブ・ベースのCGIスクリーンを用いて、実行される。
【0121】
ポーリング・スケジュールが定義されると、実際のURLポーリングが実行される。自動化されたプロセスは、アドミニストレーターによって定義されたパラメーターに基づいて、ポーリング・スケジュールによって、定期的にトリガーされる。ポーリング・ファンクションは、URLテーブルに保存されたURLのリストにしたがって、進められ、URLをクライアント上のHTTPサーバーに送信する。その結果、ズ14のステップ1510において、述べたように、URLが生成される。
【0122】
URLリスト中のURLによって特定されたサーバーをポーリングする方法は、図16に示されている。この方法は、データ・コレクターが、URLテーブルを開いたとき、ステップ1700において、開始される。典型的には、データ・コレクターは、ポーリング・スケジュールからのコマンドに応答して、URLテーブルを開く.あるいは、データ・コレクターは、ユーザーや、クライアント上で動作する他の処理からのコマンドに応答して、URLテーブルを開くこともできる。
【0123】
URLテーブルが開かれると、ポーリングは、URLテーブル中の項目にしたがって、進められる。ステップ1710において、処理すべきロウが残っているかどうかがチェックされる。その結果、すべてのURLがポーリングされているときは、ステップ1790において、方法は終了する。
【0124】
まだ、ポーリングすべきURLがあると場合には、方法はステップ1730に進み、URLテーブルの現在使われているロウから、URLの値が読み取られる。ステップ1730において、この値は、クライアント上のHTTPサーバーに送られ、次いで、ネットワークを通じて、供給者側のHTTPサーバーに送られる。供給者側のサーバーのステータスに応じて、表2に示されている異なった応答の1つが、ステップ1740において、サーバーから送り返される。ステップ1750において、チェックが実行され、サーバーがオンラインになっており、データが送信可能になっていることが確認される。チェックがうまくいった場合には、ステップ1770において、データの転送が開始される。もし、チェックが失敗した場合には、ステップ1760において、失敗の理由がURLテーブルに記録される。
【0125】
データの転送が開始された場合、あるいは、サーバーが利用不能で、データが送り返された場合には、ポーリングは、ステップ1780において、ポーリング時間を記録する。次いで、方法はステップ1710に戻り、次のロウの処理が開始される。クライアント側に存在するHTTPサーバーは、実際のデータ転送を処理する。HTTPサーバーを用いて、データを転送する方法は、当業者には周知であり、本発明において、重要なものではない。
【0126】
データ・コレクターが、そこからデータを収集している種々のデータ供給者をポーリングするにしたがって、入力されたデータ・ドキュメントが収集される。データ・コレクターは、入力されたデータ・ドキュメントを、送信された際のマークアップ言語フォーマットから、クライアント・データベースによって用いられる構造化データ保存フォーマットに変換する。図14のステップ1540に示されるように、この変換は、図6に示された代表的なXMLデータファイルに適用されたように、図17に示された方法の後に実行される。
【0127】
図17に示されたデータ変換方法は、ステップ1800において、開始され、データ・コレクターは、XMLデータ・ファイルを受信する。ステップ1805において、データ・コレクターは、クエリー・ロウをパースし、データ・ドキュメントのデータ供給者を特定する。ステップ1810において、データ・コレクターは、入力されたドキュメント中に含まれているデータのために、適当なターゲット・データベースを決定する。多数のターゲットが存在する場合には、データ・コレクターは、たとえば、クエリー・ロウ502に含まれている値を、クライアントに保存されているURLテーブル中に保存されている値と照合することによって、どのテーブルがそのデータを保存しているかを決定する。
【0128】
ステップ1815において、データ・コレクターは、データ・マップを特定し、種々のXMLタグのコンテンツを対応するデータベース項目に関連付けるために用いる。処理の特定の要求にしたがって、このデータ・マップは、データベース・フィールドと、単純なフィールド・タグの相関関係にあり、あるいは、大きなマルチ・テーブル・リレーショナル・データベース・システム内の1つのテーブルあるいは多数の異なったテーブル内のレコードに対し、複雑なレコード・タグの関数であってもよい。単純なシステムにおいては、データ・マップは省略され、種々のタグが、同じ名前を有するデータベース項目に直接マップされる。XMLドキュメント内に、データタイプ情報が提供されている場合には、この情報もまた、パースされ、後の使用のために、保存される。典型的には、データタイプ情報は、新たなテーブルが生成されて、入力されたデータが保存される際に、用いられる。
【0129】
最初のセットアップ情報が処理されると、データ・コレクターは、そのファイルにしたがって、進められ、ファイルに保存されたレコードおよびフィールドをアンパックする。ステップ1820において、変換されるべきレコードが残っているかが、チェックされる。その結果、すべてのレコードが変換されているときは、方法はステップ1863に進み、XMLデータ・ドキュメント内に、もはや現われないレコードを、クライアント・データベースから削除し、データベース・テーブルを閉じ、ファイルのバックアップコピーを保存するなどの必要なファイル・クリーンアップが実行される。方法は、次いで、ステップ1865において、終了する。
【0130】
変換されるべきレコードが残っている場合には、ステップ1825において、現在使われているレコード識別子が、データ・コレクターによって、読み取られる。このステップにおいては、データ・マップもチェックされ、このタグのために定義されたマッピングがあるかどうかが、チェックされる。次いで、ステップ1830において、現在使われているレコード・タグに対応するレコードのために、適当なターゲット・データベース項目が探索される。ステップ1835において、対応するレコードが見つかったか否かが、チェックされる。現在使われているレコード・タグに対応するレコードがない場合には、データ・コレクターは、ステップ1840において、データベースに、現在使われているレコード・タグを保存するための新たなレコードを生成するように指示するコマンドを、データベースに向けて、発する。
【0131】
新たなレコードが生成された場合、あるいは、対応するレコードが見つかった場合には、現在使われているレコード・タグに関連付けられたフィールド・タグのコレクションがパースされる。レコードに関連付けられたすべてのフィールド・タグがパースされると、制御が、ステップ1820に戻って、新たなレコードが処理される。パースされるべきフィールドが残っている場合には、ステップ1850において、データ・コレクターによって、フィールド・タグが読み取られる。ステップ1855において、データ・コレクターは、XMLデータ・ドキュメント中のフィールド・タグを、データベース・レコード内の適当なフィールドに移す。データ・マップが利用できる場合には、データ・コレクターは、データ・マップ内で定義されたマッピングを、フィールド・タグとデータベース・フィールドの間に、マッピングを作るために使用する。そうでない場合には、データ・コレクターは、フィールド・タグと同じ名前を有するデータベース・フィールドに対するフィールド・タグのリンキングをデフォルトする。適当なフィールドが特定されたときは、ステップ1860において、フィールド・タグの値が、データベース・フィールドに書き込まれる。次いで、制御は、ステップ1845に戻り、次のフィールド・タグが処理される。
【0132】
データ・コレクターに、他の機能を組み込むこともできる。たとえば、ある実施態様においては、データ・コレクターは、アラームシステムを有している。このアラームシステムは、データベース項目のコンテンツが変化したときに、アラームをトリガーする。アドミニストレーターは、たとえば、レコードのためのプライス・フィールドの値が変化したとき、あるいは、新たなレコードがデータベースに加えられたときに、トリガーされるアラームをセットアップすることができる。図17を参照すると、新たに保存された値が、以前の値と同じではない場合には、新たなレコード生成されるステップ1840およびフィールドの値が保存されたステップ1860において、アラームシステムが呼び出され、ならびに/または、システムから、もう使用されていないデータが削除されるステップ1803において、アラームシステムが呼び出される。
【0133】
アラームシステムは、アクション・ノティフィケーションシステムと相互に作用する(対話する)。アクション・ノティフィケーションシステムによって、アドミニストレーターは、特定のアラームがトリガーされたときに実行される1または2以上のアクションを定義することができる。たとえば、新たなレコードがデータベースに追加されたときに、電子メールメッセージが、購入者組織中の選ばれたユーザーに送られ、新たに利用可能になった商品が宣伝される。他のアクションとしては、外部プログラムの実行、HTTPポスト・オペレーションの実行、エミリー・スクリプトあるいはサード・パーティースクリプトの実行が挙げられる。
【0134】
データ・コレクターはまた、データ・コレクターのセットアップを促進し、データ・コレクターを動作させるため、ユーティリティ・プログラムを含んでいる。好ましい実施態様においては、これらのプログラムは、ウェブ・ベースのCGIスクリプトとして、実現されている。代表的なユーティリティ・プログラムとしては、ユーザーが、ポーリングされるべきURLを指定し、特定のURLから、データのためのデータ・マップを定義し、クライアント・データベースに保存されている種々のデータ項目のためのアラームをセットアップし、このアラームによって、トリガーされる通知をセットアップし、データ・コレクション・システムの他のユーザーのためのシステム・ログイン・アカウントをセットアップし、データ・コレクターを構成し、維持するために必要な他のアクティビティを実行することを可能にするスクリーンが挙げられる。所定の実施態様における特定の要求にしたがって、他のセットアップ・コンフィギュレーション・スクリーンを設けることもできる。
【0135】
上述した管理ツールに加えて、データ・コレクション・システムは、任意に、データベース操作ツールのスーツを有していてもよい。ある実施態様においては、これらのツールは、それによって、ユーザーが、クライアント・データベース上のあらかじめ定義されたクエリーをランして、ユーザーが、データベースを検索することを可能にするウェブ・ベースのサーチエンジン、それによって、ユーザーが、クライアント・データベースからのデータを表示する単純なマークアップ言語スクリーンを作ることを可能にするウェブ・ベースのスクリーン・クリエーター、それによって、データベース上で、より複雑なオペレーションを実行するために、あるいは、ダイナミック・スクリーンを生成するために、ユーザーが、スクリプティング言語内に、スクリプトを生成することを可能にするスクリプト・エディターおよび/またはそれによって、クライアント・データベースをアップデートするために、あるいは、クライアント・データベース・アイテムを、他のHTTPサーバーに送るために、ユーザーが、マークアップ言語フォームを生成することを可能にするフォーム・クリエーターを含んでいる。これらのツールは、データ・コレクション・システムの一部として、提供されても、ユーザーによって提供されるサード・パーティー・アプリケーションプログラムであってもよい。代表的なサード・パーティー・アプリケーションプログラムとしては、ASP、Cold FusionあるいはISQLが挙げられる。どのようなデータベース操作ツールを選ぶかは、当業者にとって、単なる設計上の選択にすぎず、本発明において、重要なことではない。
【0136】
ある実施態様においては、データ・コレクターはまた、使用を、権限がある人に制限し、データベースを保護するために、セキュリティ機能を備えている。これらの機能としては、管理/セキュリティ・コンソール・プログラムが挙げられる。このコンソール・プログラムは、好ましくは、選ばれた管理権を有する人だけが利用できるウェブ・ベースではないアプリケーションとして構成される。たとえば、コンソール・プログラムは、特殊なマシーン上に保有されたプログラムであっても、また、クライアントマシーン上の保護されたディレクトリー内に位置していてもよい。コンソール・プログラムはまた、ウェブ・ベースのスクリーンや、一連のスクリーンであってもよい。
【0137】
コンソール・プログラムによって、アドミニストレーターは、埋め込み型HTTPサーバー上だけでなく、データ・コレクターおよびこれに関連するツール・キットの種々のスクリーン上に、パスワードおよび許可をセットすることが可能になる。コンソール・プログラムによって、アドミニストレーターは、HTTP認証を用いることが可能になり、ポップ・アップ・ログイン・インターフェースを備えたデータ・コレクターに関連するスクリーンあるいはディレクトリーを保護することができる。コンソール・プログラムはまた、(IPアドレスあるいはネットワークによって)信用ホスト・リストをセットアップし、維持するために、ユーティリティを備えている。信用ホスト・リストは、クライアント内の種々のファイルおよびスクリーンへのアクセスが許されたホスト・マシーンのリストである。
【0138】
システム・アーキテクチャーの概要
図10を参照すると、ある実施態様においては、コンピュータ・システム1020は、複数のユーザー・ステーション1024に接続されたホスト・コンピュータ1022を備えている。ある実施態様においては、ユーザー・ステーション1024は、それぞれ、たとえば、パーソナル・コンピュータ、ポータブル・ラップトップ・コンピュータあるいは1または2以上のアプリケーション、すなわち、プログラムを保存し、独立して、実行することができるパーソネル・データ・アシスタント(“PDA”)などの適当なデータ・ターミナルを備えている。データ・ターミナルは、これらに限定されるものではない。簡単にする目的で、ユーザー・ステーション1024のいくつかが、ローカル・エリア・ネットワーク(“LAN”)1025を介して、ホスト・コンピュータ1022に接続されている。他のユーザー・ステーション1024は、公共電話交換網(“PSTN”)1028および/または無線ネットワーク1030を介して、ホスト・コンピュータ1022に遠隔接続されている。
【0139】
ある実施態様においては、ホスト・コンピュータ1022は、データ保存システム1031と連携して、動作する。ここに、データ保存システム1031は、ホスト・コンピュータ1022が容易にアクセスすることができるデータベース1032を含んでいる。
【0140】
別の実施態様においては、データベース1032が、ホスト・コンピュータ側に存在し、ホスト・コンピュータのROM、PROM、EPROMもしくは他のメモリ・チップおよび/またはホスト・コンピュータのハードディスク内に保存されていてもよい。さらに他の実施態様においては、データベース1032は、ホスト・コンピュータ1022によって、1または2以上のフロッピー・ディスク、フレキシブル・ディスク、磁気テープ、他の磁気記録メディア、CD−ROM、他の光記録メディア、パンチカード、紙穿孔テープ、孔のパターンを備えた他の物理メディアあるいはコンピュータが読み取ることができる他のメディアから、読み取られるように構成することもできる。
【0141】
他の実施態様においては、ホスト・コンピュータ1022は、上述したように、種々のメディアに保存された2以上のデータベース1032にアクセス可能に構成されている。
【0142】
図11を参照すると、ある実施態様においては、各ユーザー・ステーション1024およびホスト・コンピュータ1022(以下、総称して、「プロセッシング・ユニット」と呼ぶ)は、ジェネラル・アーキテクチャー1102によって構成されている。プロセッシング・ユニットは、インストラクション、メッセージおよびデータ、ひとまとめにして、情報を通信するバス1103あるいは他の通信機構と、バス1103に接続され、情報を処理する1または2以上のプロセッサー1104とを備えている。プロセッシング・ユニットはまた、バス1103に接続され、ダイナミックなデータおよび1または2以上のプロセッサー1104によって実行されるべきインストラクションを記憶するランダム・アクセス・メモリ(RAM)あるいは他のダイナミック・ストレージ・デバイスなどのメインメモリ1108を備えている。メインメモリ1108はまた、変数あるいは1または2以上のプロセッサー1104によって、インストラクションが実行されている間の他の中間的な情報などの一時データを記憶するために、用いてもよい。
【0143】
プロセッシング・ユニットは、さらに、バス1103に接続され、1または2以上のプロセッサー1104のためのスタティックなデータやインストラクションを記憶するリード・オンリー・メモリ(ROM)1109あるいは他のスタティック・ストレージ・デバイスを備えていてもよい。1または2以上のプロセッサー1104のためのデータやインストラクションを記憶するために、磁気記録ディスクや光記録ディスクなどのストレージ・デバイス1110が設けられて、バス1103に接続されていてもよい。
【0144】
プロセッシング・ユニットは、バス1103を介して、ユーザーに情報を表示するカソード・レイ・チューブ(CRT)などのディスプレイ・デバイス1111を備えていてもよい。ここに、ディスプレイ・デバイス1111は、CRTに限定されるものではない。アルファベット・キーなどのキーを有する入力デバイス1112が、情報および1または2以上のプロセッサー1104のために選択されたコマンドを通信するために、バス1103に接続されている。他のタイプのユーザー入力デバイスとして、1または2以上のプロセッサー1104に方向情報および選択されたコマンドを通信し、ディスプレイ1111上でのカーソルの動きを制御するマウス、トラックボール、フィンガーパッド、カーソル方向キーなどのカーソル制御デバイスを備えたデバイスを用いることもできる。
【0145】
本発明の1つの実施態様によれば、各プロセッシング・ユニットは、メインメモリ1108に含まれている1または2以上のインストラクションの1または2以上のシーケンスを実行するそれぞれの1または2以上のプロセッサー1104によって、特有のオペレーションを実行する。かかるインストラクションは、ROM1109あるいはストレージ・デバイス1110などの他のコンピュータが利用可能なメディアから、メインメモリ1108に読み出すこともできる。メインメモリ1108に含まれている一連のインストラクションを実行することによって、1または2以上のプロセッサー1104は、ここに述べた処理を実行する。別の実施態様においては、ソフトウエア・インストラクションに代えて、あるいは、ソフトウエア・インストラクションとともに、ハードウェア回路を用いて、本発明を実施することもできる。したがって、本発明の実施態様は、特定のハードウェア回路および/またはソフトウエアの組み合わせに限定されるものではない。
【0146】
本発明において、「コンピュータが利用可能なメディア」とは、情報を提供し、あるいは、1または2以上のプロセッサーによって使用することができるあらゆるメディアを指している。そのようなメディアは、不揮発性メディア、揮発性メディアおよび送信メディアなど、数多くの形を取り得るが、これらに限定されるものではない。不揮発性メディア、すなわち、電力が存在しなくても、情報を保持することができるメディアとしては、ROM1109が挙げられる。揮発性メディア、すなわち、電力が存在しないと、情報を保持することができないメディアとしては、メインメモリ1108が挙げられる。送信メディアとしては、同軸ケーブル、銅線および光ファイバーが挙げられ、これらは、バス1103を構成するワイヤを含んでいる。送信メディアはまた、搬送波、すなわち、周波数、振幅あるいは位相が変調されて、情報信号を送信可能な電磁波の形を取ることもできる。さらに、たとえば、送信メディアは、電波および赤外線通信中に生成される音波あるいは光波の形を取ることもできる。
【0147】
コンピュータが利用可能なメディアの一般的な種類としては、フロッピー・ディスク、フレキシブル・ディスク、ハードディスク、磁気テープ、他の磁気記録メディア、CD−ROM、他の光記録メディア、パンチカード、紙穿孔テープ、孔のパターンを備えた他の物理メディア、RAM,ROM、PROM(プログラム可能なリード・オンリー・メモリ)、FLASH−EPROMを含むEPROM(消去可能で、プログラム可能なリード・オンリー・メモリ)、他のメモリ。チップあるいはカートリッジ、搬送波、1または2以上のプロセッサー1104が情報を検索することができる他のメディアが挙げられる。
【0148】
種々のコンピュータが利用可能なメディアは、1または2以上のインストラクションの1または2以上のシーケンスを、実行させるために、1または2以上のプロセッサー1104に提供するために用いられてもよい。たとえば、インストラクションは、最初に、遠隔コンピュータの磁気ディスクに提供される。遠隔コンピュータは、インストラクションをダイナミック・メモリにロードし、次いで、モデムを用いて、インストラクションを、電話線を介して、送信することができる。プロセッシング・ユニットに接続されたモデムは、電話線上のインストラクションを検索し、赤外線送信機を用いて、電話線を介して、送信されたインストラクションを、対応する赤外線信号に変換することができる。バス1103に接続された赤外線検出器(図示せず)は、インストラクションを、メインメモリ1108に運ぶことができ、メインメモリ1108から、1または2以上のプロセッサー1104がインストラクションを検索し、実行することができる。メインメモリ1108によって受け取られたインストラクションは、1または2以上のプロセッサー1104によって、実行される前あるいは後に、任意に、ストレージ・デバイス1110に保存することができる。
【0149】
各プロセッシング・ユニットはまた、バス1103に接続された通信インターフェース1114を備えていてもよい。通信インターフェース1114は、ユーザー・ステーション1024のそれぞれとホスト・コンピュータ1022との間での双方向通信を提供する。それぞれのプロセッシング・ユニットの通信インターフェース1114は、インストラクション、メッセージおよびデータを含む種々のタイプの情報を表わすデータストリームを含む電気的な信号、電磁気な信号あるいは光学的な信号を送信し、受信する。
【0150】
通信リンク1115は、ユーザー・ステーション1024のそれぞれと、ホスト・コンピュータ1022をリンクさせる。通信リンク1115は、LAN1025として構成することができ、その場合には、通信インターフェース1114は、LANカードによって構成される。あるいは、通信リンク1115を、PSTN1028によって構成することもでき、その場合には、通信インターフェース1114は、統合ディジタル通信サービス網(ISDN)カードあるいはモデムによって構成される。さらに他の実施態様においては、通信リンク1115は、無線ネットワーク1030によって構成することもできる。
【0151】
プロセッシング・ユニットは、メッセージ、データおよびプログラム、すなわち、アプリケーション、コードを含むインストラクションを、それぞれの通信リンク1115および通信インターフェース1114を介して、送信し、受信することができる。受信されたプログラム・コードは、受信されたときに、1または2以上のプロセッサー1104によって処理され、および/または、後に処理するため、ストレージ・デバイス1110あるいは他の関連する不揮発性メディアに保存されてもよい。このように、プロセッシング・ユニットは、メッセージ、データおよび/またはプログラム・コードを、搬送波の形で受信することができる。
【0152】
本明細書においては、特定の実施態様を参照して、本発明につき、説明を加えた。しかしながら、本発明の広汎な精神および範囲を逸脱することなく、種々の修正および変更が可能であることはいうまでもない。たとえば、本明細書において、記載されたプロセス・フロー・ダイアグラム中に示された処理アクションの特定の順序および組み合わせは、単なる例示であると理解すべきであり、本発明は、異なった処理アクションもしくは付加的な処理アクションを用いて、または、処理アクションの異なる組み合わせもしくは順序を用いて、実施することができる。したがって、本明細書および図面は、限定的なものとしてではなく、例示的なものと理解されるべきであり、本発明は、以下の請求の範囲とそれらの均等物にしたがって、解釈される場合を除き、制限的あるいは限定的に解釈されるべきものではない。
【図面の簡単な説明】
【図1】
図1は、本発明の実施態様におけるクライアントとサーバの関係を示す図面である。
【図2】
図2Aおよび2Bは、データ・サプライアのための代表的なデータモデルを示す図面である。
【図3】
図3は、データをデータ・コレクタに提供する本発明の実施態様にかかる第一の方法のフローチャートである。
【図4】
図4は、データを、構造化データストレイジフォーマットから、マークアップ言語フォーマットに変換する本発明の実施態様にかかる方法のフローチャートである。
【図5】
図5は、図4の方法を用いて、構成した代表的なXMLデータ・ドキュメントを示す図面である。
【図6】
図6は、データをデータ・コレクタに提供する本発明の実施態様にかかる第二の方法のフローチャートである。
【図7】
図7は、本発明の実施態様にかかるクエリ・ビュアー・スクリーンを示す図面である。
【図8】
図8は、本発明の実施態様にかかるクエリ・エディター・スクリーンを示す図面である。
【図9】
図9は、本発明の実施態様にかかるパラメター・エディター・スクリーンを示す図面である。
【図10】
図10は、本発明の実施態様にかかるコンピュータシステムを示す図面である。
【図11】
図11は、本発明の実施態様にかかるプロセッシング・ユニットを示す図面である。
【図12】
図12は、任意のエミリー・スクリプティング言語を用いて、データをパースする本発明の実施態様にかかる方法を示すフローチャートである。
【図13】
図13は、本発明の実施態様にかかる購入者のための代表的なデータ・モデルを示す図面である。
【図14】
図14は、本発明の実施態様にかかるデータを収集する方法を示すフローチャートである。
【図15】
図15は、本発明の実施態様にかかる代表的なURLテーブルを示す図面である。
【図16】
図16は、本発明の実施態様にかかるデータ・ソースをポーリングする方法を示すフローチャートである。
【図17】
図17は、データを、マークアップ言語フォーマットから、構造化データストレイジフォーマットに変換する本発明の実施態様にかかる方法のフローチャートである。
【符号の説明】
70 クエリー・ビューワ・スクリーン
71 第一のURL
72 ウェブ・ブラウザ・プログラム
74 プルダウン・メニュー
76 テーブル
77 ボタン
78 フィールド
79 ボタン
80 クエリー・エディター・スクリーン
81 第二のURL
82 テキスト・ウィンドウ
83 ボタン・パレット
84 セーブ・ボタン
85 セーブ・アズ・ボタン
86 リロード・ボタン
87 キャンセル・ボタン
90 データベース・パラメーター・スクリーン
91 第三のURL
92 テキスト・ボックス
93 コミット・ボタン
94 エディット・クエリー・ボタン
95 キャンセル・ボタン
102 イネーブラー・エージェント
104 データ・コレクタ
110 XMLサーバー
112 サーバー・データベース
120 XMLクライアント・サーバー
122 データ・コレクタ
130 データベース・ツール
210 商品テーブル
211 商品レコード
212 商品キー・フィールド
214 モデル番号・フィールド
216 ディスクリプション・フィールド
218 プライス・フィールド
220 パーツ・テーブル
221 パーツ・レコード
222 パーツ・キー・フィールド
224 フォーリン・キー・フィールド
226 パーツ番号・フィールド
228 パーツ・ディスクリプション・フィールド
229 プライス・フィールド
502 クエリー識別子タグ
504 レコード・コンテナー・タグ
506 フィールド・エントリー・タグ
508 レコード・コンテナー・タグ
1020 コンピュータ・システム
1022 ホスト・コンピュータ
1024 ユーザー・ステーション
1025 ローカル・エリア・ネットワーク(“LAN”)
1028 公共電話交換網(“PSTN”)
1030 無線ネットワーク
1031 データ保存システム
1032 データベース
1102 ジェネラル・アーキテクチャー
1103 バス
1104 プロセッサー
1108 メインメモリ
1109 リード・オンリー・メモリ(ROM)
1110 ストレージ・デバイス
1111 ディスプレイ・デバイス
1112 入力デバイス
1114 通信インターフェース
1115 通信リンク
1400 テーブル
1410 供給者IDフィールド
1420 供給者レコード番号フィールド
1430 キー・フィールド
1440 供給者パーツ番号フィールド
1450 ディスクリプション・フィールド
1610 URLコラム
1620 Sys Descrコラム
1630 Last Polledコラム
1640 Sys Statusコラム
1650 キー・フィールド

Claims (27)

  1. 1または2以上の部分を有するマークアップ言語ファイルを処理する方法であって、
    ハイパー・テキスト・トランスファー・プロトコルを用いて、第一のマークアップ言語ファイルをダウンロードし、前記第一のマークアップ言語ファイルを、そのユニフォーム・リゾース・ロケーションあるいはユーザーが作動させているシステム上のローカル・ファイルの名前によって、参照し、
    前記第一のマークアップ言語ファイルの1または2以上の部分のために、前記第一のマークアップ言語ファイルをパースし、
    前記第一のマークアップ言語ファイルの各部分を、フォルダー、サブ・フォルダーおよびファイルを含み、前記第一のマークアップ言語ファイルの構造に従うディレクトリ構造中に保存することを特徴とするマークアップ言語ファイルの処理方法。
  2. 相対的なユニフォーム・リゾース・ロケーションが存在するときに、前記相対的なユニフォーム・リゾース・ロケーションを、自動的に、絶対的なユニフォーム・リゾース・ロケーションに変換することを特徴とする請求項1に記載のマークアップ言語ファイルの処理方法。
  3. 1または2以上のオブジェクトの選択、観察あるいは他の処理を可能にするコマンド言語セットを提供し、前記コマンド言語セットが、選択、観察あるいは他の処理のための複数のコマンドを含んでいることを特徴とする請求項1に記載のマークアップ言語ファイルの処理方法。
  4. 前記コマンド言語セットが、フォルダーのコンテンツをリストするコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  5. 前記コマンド言語セットが、フォルダーを変更するコマンドと、フォルダーのサブ・フォルダーを設計する構文法を含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  6. 前記コマンド言語セットが、ファイルのコンテンツをリストするコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  7. 前記コマンド言語セットが、ハイパー・テキスト・マークアップ言語タグの属性をリストするコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  8. 前記コマンド言語セットが、任意のパス・ネームのワイルドカードを用いるためのコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  9. 前記コマンド言語セットが、ファイルのディレクトリ・パス・ネームが参照されたときに、ローカル変数として、ファイルのコンテンツを処理する方法を含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  10. 前記コマンド言語セットが、ファイルのディレクトリ・パス・ネームが参照されたときに、ローカル変数として、フォルダーの属性を処理する方法を含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  11. 前記コマンド言語セットが、前記ディレクトリ構造中に、新たなフォルダーを作成するためのコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  12. 前記コマンド言語セットが、前記ディレクトリ構造中に、新たなファイルを作成するためのコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  13. 前記コマンド言語セットが、前記ディレクトリ構造中に、フォルダーをコピーするためのコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  14. 前記コマンド言語セットが、前記ディレクトリ構造中に、フォルダーを再帰的にコピーするためのコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  15. 前記コマンド言語セットが、前記ディレクトリ構造中に、ファイルをコピーするためのコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  16. 前記コマンド言語セットが、前記ディレクトリ構造中に、ファイルを再帰的にコピーするためのコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  17. 前記コマンド言語セットが、前記ディレクトリ構造中のフォルダーの名前を変えるためのコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  18. 前記コマンド言語セットが、前記ディレクトリ構造中のファイルの名前を変えるためのコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  19. 前記コマンド言語セットが、コマンドの出力のリダイレクションによって、新たなファイルを生成するためのコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  20. 前記コマンド言語セットが、ファイル値をセットするためのコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  21. 前記コマンド言語セットが、修正された第一のマークアップ言語ファイルを、ディスクに保管するためのコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  22. 前記コマンド言語セットが、修正された第一のマークアップ言語ファイルを、標準的な出力装置に出力するためのコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  23. 前記コマンド言語セットが、コマンドのセットのサブ・セットを含む1または2以上の実行可能なバッチ・ファイルを生成することを可能にするコマンドを含んでいることを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
  24. 前記ファイルの変数および属性と協働して、処理するためのローカル変数を定義するステップを備えたことを特徴とする請求項23に記載のマークアップ言語ファイルの処理方法。
  25. ループ処理を生成するためのコマンドを含んでいることを特徴とする請求項24に記載のマークアップ言語ファイルの処理方法。
  26. 前記バッチ・ファイル内の新たな特定の記憶場所にジャンプし、新たな記憶場所で、実行処理を再開するためもコマンドを含んでいることを特徴とする請求項24に記載のマークアップ言語ファイルの処理方法。
  27. タグ変数に対するリファレンスを含み、HTMLによってフォーマットされたドキュメントあるいはXMLによってフォーマットされたドキュメントを生成し、フォルダー、サブ・フォルダーあるいはファイルのコンテンツを、第二のマークアップ言語ドキュメントから、マークアップ言語ドキュメントに挿入するステップを備えたことを特徴とする請求項3に記載のマークアップ言語ファイルの処理方法。
JP2002506464A 2000-06-26 2001-06-22 マークアップ言語ドキュメントを処理するフレームワークを提供する方法およびシステム Pending JP2004530173A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US21406700P 2000-06-26 2000-06-26
US23545800P 2000-09-26 2000-09-26
US09/882,494 US7076521B2 (en) 2000-06-26 2001-06-15 Web-based collaborative data collection system
PCT/US2001/041111 WO2002001397A1 (en) 2000-06-26 2001-06-22 Method and system for providing a framework for processing markup language documents

Publications (1)

Publication Number Publication Date
JP2004530173A true JP2004530173A (ja) 2004-09-30

Family

ID=27395943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002506464A Pending JP2004530173A (ja) 2000-06-26 2001-06-22 マークアップ言語ドキュメントを処理するフレームワークを提供する方法およびシステム

Country Status (6)

Country Link
US (1) US7076521B2 (ja)
EP (1) EP1317714A4 (ja)
JP (1) JP2004530173A (ja)
AU (2) AU2001268698A1 (ja)
BR (1) BR0112351A (ja)
WO (2) WO2002001389A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009523289A (ja) * 2006-01-10 2009-06-18 アンツ.オルグ エルエルシー データベースと電子ドキュメントとの間での階層データの転送および表示

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732332B1 (en) * 2000-08-28 2004-05-04 Und Aerospace Foundation Automated web site creation system
GB2372587B (en) * 2000-12-15 2005-06-22 Hutchison Telephone Company Lt Automatic downloading for mobile computing devices
EP1225748B1 (en) * 2001-01-19 2005-12-28 Matsushita Electric Industrial Co., Ltd. Communications terminal
US7277958B2 (en) * 2001-03-12 2007-10-02 Edgestream, Inc. Re-assembly of streaming files from separate connections
US6850970B2 (en) * 2001-04-04 2005-02-01 Nktomi Corporation Approach for caching electronic products
US6882996B2 (en) * 2001-05-31 2005-04-19 International Business Machines Corporation System, method, and computer program product for reformatting non-XML data for use with internet based systems
US6947947B2 (en) * 2001-08-17 2005-09-20 Universal Business Matrix Llc Method for adding metadata to data
US7840934B2 (en) * 2001-08-29 2010-11-23 Hewlett-Packard Development Company, L.P. Method and system for integrating workflow management systems with business-to-business interaction standards
US7213039B2 (en) * 2001-09-07 2007-05-01 Extended System, Inc. Synchronizing differing data formats
US7349905B1 (en) * 2001-09-12 2008-03-25 Everdream Corporation Local client database for remote support
JP4161212B2 (ja) * 2001-09-21 2008-10-08 野路 福三 企業経営に使われる表データ生成コンピュータシステム
US7143080B2 (en) * 2001-12-27 2006-11-28 Tedesco Michael A Method, system and apparatus for separately processing database queries
US20040205619A1 (en) * 2002-02-14 2004-10-14 Twede Roger S. Method and system for chained format translation
US7599841B1 (en) * 2002-04-30 2009-10-06 Sap Ag Personnel cost planning
US7404140B2 (en) * 2003-01-31 2008-07-22 Siemens Medical Solutions Usa, Inc. System for managing form information for use by portable devices
US7774377B2 (en) * 2003-12-03 2010-08-10 The Trizetto Group, Inc. Range definition method and system
US7765226B2 (en) * 2004-01-08 2010-07-27 International Business Machines Corporation Method of generating database transaction statements based on existing queries
US7487138B2 (en) * 2004-08-25 2009-02-03 Symantec Operating Corporation System and method for chunk-based indexing of file system content
US7860897B2 (en) * 2005-09-30 2010-12-28 International Business Machines Corporation Optimized method of locating complete aggregation of patient health records in a global domain
US7683783B2 (en) * 2006-03-06 2010-03-23 Ws Packaging Group, Inc. Business portal for electronically tagging product packaging
US8869066B2 (en) 2006-07-06 2014-10-21 Addthis, Llc Generic content collection systems
US8676868B2 (en) * 2006-08-04 2014-03-18 Chacha Search, Inc Macro programming for resources
EP2074491A4 (en) * 2006-09-15 2010-06-02 Jobdiva Inc SYSTEM AND METHOD FOR AUTOMATING DATA TRANSFER FROM AN INTERNET INTERFACE TO ANOTHER
US9158600B2 (en) * 2006-09-15 2015-10-13 Jobdiva, Inc. System and method for automating the transfer of a data from a web interface to a database or another web interface
US8056092B2 (en) 2006-09-29 2011-11-08 Clearspring Technologies, Inc. Method and apparatus for widget-container hosting and generation
US20080086413A1 (en) * 2006-10-10 2008-04-10 Malloy Stephen L Systems and methods for collaborative payment strategies
US8429185B2 (en) 2007-02-12 2013-04-23 Microsoft Corporation Using structured data for online research
US7917507B2 (en) 2007-02-12 2011-03-29 Microsoft Corporation Web data usage platform
KR20080078255A (ko) * 2007-02-22 2008-08-27 삼성전자주식회사 파일 관리 방법 및 장치와 그 파일을 저장한 정보저장매체
US9009728B2 (en) 2007-03-06 2015-04-14 Addthis, Inc. Method and apparatus for widget and widget-container distribution control based on content rules
US20080222232A1 (en) * 2007-03-06 2008-09-11 Allen Stewart O Method and Apparatus for Widget and Widget-Container Platform Adaptation and Distribution
US8266274B2 (en) 2007-03-06 2012-09-11 Clearspring Technologies, Inc. Method and apparatus for data processing
US7849399B2 (en) * 2007-06-29 2010-12-07 Walter Hoffmann Method and system for tracking authorship of content in data
WO2009030568A1 (en) * 2007-09-06 2009-03-12 International Business Machines Corporation Method for providing a navigation element in an application
US8209378B2 (en) 2007-10-04 2012-06-26 Clearspring Technologies, Inc. Methods and apparatus for widget sharing between content aggregation points
US20090150907A1 (en) * 2007-12-07 2009-06-11 Microsoft Corporation Mapping between disparate data models via anonymous functions
US7991883B1 (en) 2008-12-15 2011-08-02 Adobe Systems Incorporated Server communication in a multi-tier server architecture
US8392530B1 (en) * 2008-12-18 2013-03-05 Adobe Systems Incorporated Media streaming in a multi-tier client-server architecture
US20100169132A1 (en) * 2008-12-29 2010-07-01 Tobias Hoppe-Boeken Executing a business transaction in an enterprise system using business data obtained from heterogeneous sources
US20110040875A1 (en) * 2009-08-14 2011-02-17 Martin Scholz System And Method For Inter-domain Information Transfer
US8949184B2 (en) 2010-04-26 2015-02-03 Microsoft Technology Licensing, Llc Data collector
US8516362B2 (en) * 2010-09-14 2013-08-20 Usablenet Inc. Methods for extending a document transformation server to process multiple documents from multiple sites and devices thereof
US8527431B2 (en) 2010-11-18 2013-09-03 Gaurab Bhattacharjee Management of data via cooperative method and system
WO2013106785A2 (en) 2012-01-11 2013-07-18 Bazaarvoice, Inc. Identifying and assigning metrics to influential user generated content
US20130268508A1 (en) * 2012-04-10 2013-10-10 Ebay Inc. Dynamic table framework for managing data in a high performance web service
US10403403B2 (en) 2012-09-28 2019-09-03 Cerner Innovation, Inc. Adaptive medical documentation system
US10424403B2 (en) 2013-01-28 2019-09-24 Siemens Aktiengesellschaft Adaptive medical documentation system
US10601781B2 (en) 2015-10-12 2020-03-24 Servicenow, Inc. Selective encryption delineation
US11575524B2 (en) 2015-10-12 2023-02-07 Servicenow, Inc. Selective encryption delineation
US10320761B2 (en) 2015-11-02 2019-06-11 Servicenow, Inc. Selective encryption configuration
US10318702B2 (en) 2016-01-19 2019-06-11 Ford Motor Company Multi-valued decision diagram reversible restriction
FR3062222B1 (fr) * 2017-01-25 2019-06-07 Nicolas De Pomereu D'aligre Procede pour l'acces par un equipement informatique client a un systeme de gestion de base de donnes

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2048039A1 (en) * 1991-07-19 1993-01-20 Steven Derose Data processing system and method for generating a representation for and random access rendering of electronic documents
DE4440598C1 (de) * 1994-11-14 1996-05-23 Siemens Ag Durch gesprochene Worte steuerbares Hypertext-Navigationssystem, Hypertext-Dokument für dieses Navigationssystem und Verfahren zur Erzeugung eines derartigen Dokuments
US5530852A (en) * 1994-12-20 1996-06-25 Sun Microsystems, Inc. Method for extracting profiles and topics from a first file written in a first markup language and generating files in different markup languages containing the profiles and topics for use in accessing data described by the profiles and topics
US5793966A (en) * 1995-12-01 1998-08-11 Vermeer Technologies, Inc. Computer system and computer-implemented process for creation and maintenance of online services
US5886693A (en) * 1995-10-20 1999-03-23 Araxsys, Inc. Method and apparatus for processing data across a computer network
US6546406B1 (en) * 1995-11-03 2003-04-08 Enigma Information Systems Ltd. Client-server computer system for large document retrieval on networked computer system
US6456308B1 (en) * 1996-08-08 2002-09-24 Agranat Systems, Inc. Embedded web server
US5974418A (en) 1996-10-16 1999-10-26 Blinn; Arnold Database schema independence
US6154738A (en) * 1998-03-27 2000-11-28 Call; Charles Gainor Methods and apparatus for disseminating product information via the internet using universal product codes
US6529501B1 (en) * 1998-05-29 2003-03-04 3Com Corporation Method and apparatus for internet telephony
AU2001234628A1 (en) * 2000-01-28 2001-08-07 Ibeam Broadcasting Corporation Method and system for real-time distributed data mining and analysis for networks
US6604100B1 (en) * 2000-02-09 2003-08-05 At&T Corp. Method for converting relational data into a structured document
US6785673B1 (en) * 2000-02-09 2004-08-31 At&T Corp. Method for converting relational data into XML

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009523289A (ja) * 2006-01-10 2009-06-18 アンツ.オルグ エルエルシー データベースと電子ドキュメントとの間での階層データの転送および表示
US8306990B2 (en) 2006-01-10 2012-11-06 Unz.Org Llc Transferring and displaying hierarchical data between databases and electronic documents

Also Published As

Publication number Publication date
BR0112351A (pt) 2003-10-07
EP1317714A4 (en) 2004-03-24
EP1317714A1 (en) 2003-06-11
WO2002001389A3 (en) 2003-08-28
WO2002001389A9 (en) 2003-03-06
US7076521B2 (en) 2006-07-11
WO2002001389A2 (en) 2002-01-03
US20030101238A1 (en) 2003-05-29
AU2001268698A1 (en) 2002-01-08
AU2001273625A1 (en) 2002-01-08
WO2002001397A1 (en) 2002-01-03

Similar Documents

Publication Publication Date Title
JP2004530173A (ja) マークアップ言語ドキュメントを処理するフレームワークを提供する方法およびシステム
US9405736B1 (en) Method and system for automatically downloading and storing markup language documents into a folder based data structure
TW501033B (en) Electronic shopping agent which is capable of operating with vendor sites which have disparate formats
CA2313556C (en) Generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system
US7603381B2 (en) Contextual action publishing
US6901403B1 (en) XML presentation of general-purpose data sources
US6105043A (en) Creating macro language files for executing structured query language (SQL) queries in a relational database via a network
US20020169789A1 (en) System and method for accessing, organizing, and presenting data
WO2004088479A2 (en) Online intelligent multilingual comparison-shop agents for wireless networks
US20020026441A1 (en) System and method for integrating multiple applications
US8838627B2 (en) Systems and methods for providing template based output management
US7703026B2 (en) Non-pattern based user interface in pattern based environment
US20060218164A1 (en) Document management device and document management program
US20080059429A1 (en) Integrated search processing method and device
US20080172601A1 (en) Tool for configuring available functions of an application
Jendrock The Java EE 5 Tutorial
US20090271743A1 (en) System and method for a transparent record
JP2004506251A (ja) 個別化メタブラウザ
Bornstein Net and XML
Myhill A MAP for the library portal: through the labyrinth of online information sources
EP1360607A2 (en) Web-based collaborative data collection system
Zoller et al. WEBCON: a toolkit for an automatic, data dictionary based connection of databases to the WWW
Ilapogu XML-based e-commerce shopping cart application
Hamilton SQL Server 2005 reporting essentials
Root et al. Creating Reports with SSRS